Spaces:
Runtime error
Runtime error
File size: 2,137 Bytes
cd8bd0a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | import { z } from "zod";
export const CliCatalogEntrySchema = z.object({
category: z.enum(["code", "agent"]),
vendor: z.string().min(1),
acpSpawnable: z.boolean(),
baseUrlSupport: z.enum(["full", "partial", "none"]),
id: z.string().min(1),
name: z.string().min(1),
icon: z.string().optional(),
image: z.string().optional(),
imageLight: z.string().optional(),
imageDark: z.string().optional(),
color: z.string().regex(/^#[0-9A-Fa-f]{6}$/),
description: z.string().min(1),
docsUrl: z.string().min(1),
configType: z.enum(["env", "custom", "guide", "custom-builder", "mitm"]),
envVars: z.record(z.string()).optional(),
modelAliases: z.array(z.string()).optional(),
settingsFile: z.string().optional(),
defaultCommand: z.string().optional(),
defaultCommands: z.array(z.string()).optional(),
defaultModels: z
.array(
z.object({
id: z.string(),
name: z.string(),
alias: z.string(),
envKey: z.string().optional(),
defaultValue: z.string().optional(),
isTopLevel: z.boolean().optional(),
})
)
.optional(),
guideSteps: z
.array(
z.object({
step: z.number().int().positive(),
title: z.string(),
desc: z.string().optional(),
value: z.string().optional(),
copyable: z.boolean().optional(),
type: z.enum(["apiKeySelector", "modelSelector"]).optional(),
})
)
.optional(),
codeBlock: z.object({ language: z.string(), code: z.string() }).optional(),
notes: z
.array(
z.object({ type: z.enum(["info", "warning", "error", "cloudCheck"]), text: z.string() })
)
.optional(),
requiresCloud: z.boolean().optional(),
modelSelectionMode: z.enum(["single", "multiple"]).optional(),
hideComboModels: z.boolean().optional(),
previewConfigMode: z.string().optional(),
});
export type CliCatalogEntry = z.infer<typeof CliCatalogEntrySchema>;
export const CliCatalogSchema = z.record(CliCatalogEntrySchema);
/** Cardinalidade obrigatória (Plano §3.1/§3.2 + D15). */
export const EXPECTED_CODE_COUNT = 19;
export const EXPECTED_AGENT_COUNT = 6;
|