diff options
| author | Frank <[email protected]> | 2025-12-11 23:41:04 -0500 |
|---|---|---|
| committer | Frank <[email protected]> | 2025-12-11 23:41:04 -0500 |
| commit | 57120e69edadb5dd6a03538ee8dfb85a228d5173 (patch) | |
| tree | 8778c6788bc00a45b78dd94425b47bb9c1f9a8b6 /packages/console/core/src | |
| parent | 11efda3f5caae86848478cebe479cab5f5fde002 (diff) | |
| download | opencode-57120e69edadb5dd6a03538ee8dfb85a228d5173.tar.gz opencode-57120e69edadb5dd6a03538ee8dfb85a228d5173.zip | |
Zen: sync
Diffstat (limited to 'packages/console/core/src')
| -rw-r--r-- | packages/console/core/src/model.ts | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/packages/console/core/src/model.ts b/packages/console/core/src/model.ts index 47ba3e9d8..55d6c895c 100644 --- a/packages/console/core/src/model.ts +++ b/packages/console/core/src/model.ts @@ -9,7 +9,17 @@ import { Resource } from "@opencode-ai/console-resource" export namespace ZenData { const FormatSchema = z.enum(["anthropic", "google", "openai", "oa-compat"]) + const TrialSchema = z.object({ + provider: z.string(), + limits: z.array( + z.object({ + limit: z.number(), + client: z.enum(["cli", "desktop"]).optional(), + }), + ), + }) export type Format = z.infer<typeof FormatSchema> + export type Trial = z.infer<typeof TrialSchema> const ModelCostSchema = z.object({ input: z.number(), @@ -26,12 +36,7 @@ export namespace ZenData { allowAnonymous: z.boolean().optional(), byokProvider: z.enum(["openai", "anthropic", "google"]).optional(), stickyProvider: z.boolean().optional(), - trial: z - .object({ - limit: z.number(), - provider: z.string(), - }) - .optional(), + trial: TrialSchema.optional(), rateLimit: z.number().optional(), fallbackProvider: z.string().optional(), providers: z.array( @@ -53,7 +58,7 @@ export namespace ZenData { }) const ModelsSchema = z.object({ - models: z.record(z.string(), ModelSchema), + models: z.record(z.string(), z.union([ModelSchema, z.array(ModelSchema.extend({ formatFilter: FormatSchema }))])), providers: z.record(z.string(), ProviderSchema), }) @@ -63,7 +68,11 @@ export namespace ZenData { export const list = fn(z.void(), () => { const json = JSON.parse( - Resource.ZEN_MODELS1.value + Resource.ZEN_MODELS2.value + Resource.ZEN_MODELS3.value + Resource.ZEN_MODELS4.value, + Resource.ZEN_MODELS1.value + + Resource.ZEN_MODELS2.value + + Resource.ZEN_MODELS3.value + + Resource.ZEN_MODELS4.value + + Resource.ZEN_MODELS5.value, ) return ModelsSchema.parse(json) }) |
