fix(mcp): accept null in list_models output schema
This commit is contained in:
@@ -18,38 +18,46 @@ export const AgentProviderEnum = z.string();
|
|||||||
|
|
||||||
export const AgentStatusEnum = z.enum(["initializing", "idle", "running", "error", "closed"]);
|
export const AgentStatusEnum = z.enum(["initializing", "idle", "running", "error", "closed"]);
|
||||||
|
|
||||||
export const ProviderModeSchema = z.object({
|
export const ProviderModeSchema = z
|
||||||
id: z.string(),
|
.object({
|
||||||
label: z.string(),
|
id: z.string(),
|
||||||
description: z.string().optional(),
|
label: z.string().nullish(),
|
||||||
icon: z.string().optional(),
|
description: z.string().nullish(),
|
||||||
colorTier: z.string().optional(),
|
icon: z.string().nullish(),
|
||||||
});
|
colorTier: z.string().nullish(),
|
||||||
|
})
|
||||||
|
.passthrough();
|
||||||
|
|
||||||
export const ProviderSummarySchema = z.object({
|
export const ProviderSummarySchema = z
|
||||||
id: z.string(),
|
.object({
|
||||||
label: z.string(),
|
id: z.string(),
|
||||||
modes: z.array(ProviderModeSchema),
|
label: z.string().nullish(),
|
||||||
});
|
modes: z.array(ProviderModeSchema).nullish(),
|
||||||
|
})
|
||||||
|
.passthrough();
|
||||||
|
|
||||||
export const AgentSelectOptionSchema = z.object({
|
export const AgentSelectOptionSchema = z
|
||||||
id: z.string(),
|
.object({
|
||||||
label: z.string(),
|
id: z.string(),
|
||||||
description: z.string().optional(),
|
label: z.string().nullish(),
|
||||||
isDefault: z.boolean().optional(),
|
description: z.string().nullish(),
|
||||||
metadata: z.record(z.unknown()).optional(),
|
isDefault: z.boolean().nullish(),
|
||||||
});
|
metadata: z.record(z.unknown()).nullish(),
|
||||||
|
})
|
||||||
|
.passthrough();
|
||||||
|
|
||||||
export const AgentModelSchema = z.object({
|
export const AgentModelSchema = z
|
||||||
provider: z.string(),
|
.object({
|
||||||
id: z.string(),
|
provider: z.string(),
|
||||||
label: z.string(),
|
id: z.string(),
|
||||||
description: z.string().optional(),
|
label: z.string().nullish(),
|
||||||
isDefault: z.boolean().optional(),
|
description: z.string().nullish(),
|
||||||
metadata: z.record(z.unknown()).optional(),
|
isDefault: z.boolean().nullish(),
|
||||||
thinkingOptions: z.array(AgentSelectOptionSchema).optional(),
|
metadata: z.record(z.unknown()).nullish(),
|
||||||
defaultThinkingOptionId: z.string().optional(),
|
thinkingOptions: z.array(AgentSelectOptionSchema).nullish(),
|
||||||
});
|
defaultThinkingOptionId: z.string().nullish(),
|
||||||
|
})
|
||||||
|
.passthrough();
|
||||||
|
|
||||||
// 30 seconds - surface friendly message before SDK tool timeout (~60s)
|
// 30 seconds - surface friendly message before SDK tool timeout (~60s)
|
||||||
export const AGENT_WAIT_TIMEOUT_MS = 30000;
|
export const AGENT_WAIT_TIMEOUT_MS = 30000;
|
||||||
|
|||||||
Reference in New Issue
Block a user