@@ -9,7 +9,17 @@ import { Resource } from "@opencode-ai/console-resource"
99
1010export namespace ZenData {
1111 const FormatSchema = z . enum ( [ "anthropic" , "google" , "openai" , "oa-compat" ] )
12+ const TrialSchema = z . object ( {
13+ provider : z . string ( ) ,
14+ limits : z . array (
15+ z . object ( {
16+ limit : z . number ( ) ,
17+ client : z . enum ( [ "cli" , "desktop" ] ) . optional ( ) ,
18+ } ) ,
19+ ) ,
20+ } )
1221 export type Format = z . infer < typeof FormatSchema >
22+ export type Trial = z . infer < typeof TrialSchema >
1323
1424 const ModelCostSchema = z . object ( {
1525 input : z . number ( ) ,
@@ -26,12 +36,7 @@ export namespace ZenData {
2636 allowAnonymous : z . boolean ( ) . optional ( ) ,
2737 byokProvider : z . enum ( [ "openai" , "anthropic" , "google" ] ) . optional ( ) ,
2838 stickyProvider : z . boolean ( ) . optional ( ) ,
29- trial : z
30- . object ( {
31- limit : z . number ( ) ,
32- provider : z . string ( ) ,
33- } )
34- . optional ( ) ,
39+ trial : TrialSchema . optional ( ) ,
3540 rateLimit : z . number ( ) . optional ( ) ,
3641 fallbackProvider : z . string ( ) . optional ( ) ,
3742 providers : z . array (
@@ -53,7 +58,7 @@ export namespace ZenData {
5358 } )
5459
5560 const ModelsSchema = z . object ( {
56- models : z . record ( z . string ( ) , ModelSchema ) ,
61+ models : z . record ( z . string ( ) , z . union ( [ ModelSchema , z . array ( ModelSchema . extend ( { formatFilter : FormatSchema } ) ) ] ) ) ,
5762 providers : z . record ( z . string ( ) , ProviderSchema ) ,
5863 } )
5964
@@ -63,7 +68,11 @@ export namespace ZenData {
6368
6469 export const list = fn ( z . void ( ) , ( ) => {
6570 const json = JSON . parse (
66- Resource . ZEN_MODELS1 . value + Resource . ZEN_MODELS2 . value + Resource . ZEN_MODELS3 . value + Resource . ZEN_MODELS4 . value ,
71+ Resource . ZEN_MODELS1 . value +
72+ Resource . ZEN_MODELS2 . value +
73+ Resource . ZEN_MODELS3 . value +
74+ Resource . ZEN_MODELS4 . value +
75+ Resource . ZEN_MODELS5 . value ,
6776 )
6877 return ModelsSchema . parse ( json )
6978 } )
0 commit comments