summaryrefslogtreecommitdiffhomepage
path: root/packages/console/core/src
diff options
context:
space:
mode:
authorFrank <[email protected]>2025-12-11 23:41:04 -0500
committerFrank <[email protected]>2025-12-11 23:41:04 -0500
commit57120e69edadb5dd6a03538ee8dfb85a228d5173 (patch)
tree8778c6788bc00a45b78dd94425b47bb9c1f9a8b6 /packages/console/core/src
parent11efda3f5caae86848478cebe479cab5f5fde002 (diff)
downloadopencode-57120e69edadb5dd6a03538ee8dfb85a228d5173.tar.gz
opencode-57120e69edadb5dd6a03538ee8dfb85a228d5173.zip
Zen: sync
Diffstat (limited to 'packages/console/core/src')
-rw-r--r--packages/console/core/src/model.ts25
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)
})