mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 11:34:59 +00:00
refactor(config): share agent model schema
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import {
|
import {
|
||||||
HeartbeatSchema,
|
HeartbeatSchema,
|
||||||
|
AgentModelSchema,
|
||||||
MemorySearchSchema,
|
MemorySearchSchema,
|
||||||
SandboxBrowserSchema,
|
SandboxBrowserSchema,
|
||||||
SandboxDockerSchema,
|
SandboxDockerSchema,
|
||||||
@@ -160,17 +161,7 @@ export const AgentDefaultsSchema = z
|
|||||||
"Maximum number of active children a single agent session can spawn (default: 5).",
|
"Maximum number of active children a single agent session can spawn (default: 5).",
|
||||||
),
|
),
|
||||||
archiveAfterMinutes: z.number().int().positive().optional(),
|
archiveAfterMinutes: z.number().int().positive().optional(),
|
||||||
model: z
|
model: AgentModelSchema.optional(),
|
||||||
.union([
|
|
||||||
z.string(),
|
|
||||||
z
|
|
||||||
.object({
|
|
||||||
primary: z.string().optional(),
|
|
||||||
fallbacks: z.array(z.string()).optional(),
|
|
||||||
})
|
|
||||||
.strict(),
|
|
||||||
])
|
|
||||||
.optional(),
|
|
||||||
thinking: z.string().optional(),
|
thinking: z.string().optional(),
|
||||||
})
|
})
|
||||||
.strict()
|
.strict()
|
||||||
|
|||||||
11
src/config/zod-schema.agent-model.ts
Normal file
11
src/config/zod-schema.agent-model.ts
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import { z } from "zod";
|
||||||
|
|
||||||
|
export const AgentModelSchema = z.union([
|
||||||
|
z.string(),
|
||||||
|
z
|
||||||
|
.object({
|
||||||
|
primary: z.string().optional(),
|
||||||
|
fallbacks: z.array(z.string()).optional(),
|
||||||
|
})
|
||||||
|
.strict(),
|
||||||
|
]);
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { parseDurationMs } from "../cli/parse-duration.js";
|
import { parseDurationMs } from "../cli/parse-duration.js";
|
||||||
|
import { AgentModelSchema } from "./zod-schema.agent-model.js";
|
||||||
import {
|
import {
|
||||||
GroupChatSchema,
|
GroupChatSchema,
|
||||||
HumanDelaySchema,
|
HumanDelaySchema,
|
||||||
@@ -450,15 +451,7 @@ export const MemorySearchSchema = z
|
|||||||
})
|
})
|
||||||
.strict()
|
.strict()
|
||||||
.optional();
|
.optional();
|
||||||
export const AgentModelSchema = z.union([
|
export { AgentModelSchema };
|
||||||
z.string(),
|
|
||||||
z
|
|
||||||
.object({
|
|
||||||
primary: z.string().optional(),
|
|
||||||
fallbacks: z.array(z.string()).optional(),
|
|
||||||
})
|
|
||||||
.strict(),
|
|
||||||
]);
|
|
||||||
export const AgentEntrySchema = z
|
export const AgentEntrySchema = z
|
||||||
.object({
|
.object({
|
||||||
id: z.string(),
|
id: z.string(),
|
||||||
|
|||||||
Reference in New Issue
Block a user