@earendil-works/pi-ai 0.80.2 → 0.80.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/api/anthropic-messages.d.ts.map +1 -1
- package/dist/api/anthropic-messages.js +13 -4
- package/dist/api/anthropic-messages.js.map +1 -1
- package/dist/api/azure-openai-responses.d.ts.map +1 -1
- package/dist/api/azure-openai-responses.js +14 -18
- package/dist/api/azure-openai-responses.js.map +1 -1
- package/dist/api/bedrock-converse-stream.d.ts.map +1 -1
- package/dist/api/bedrock-converse-stream.js +21 -9
- package/dist/api/bedrock-converse-stream.js.map +1 -1
- package/dist/api/google-generative-ai.d.ts.map +1 -1
- package/dist/api/google-generative-ai.js +4 -2
- package/dist/api/google-generative-ai.js.map +1 -1
- package/dist/api/google-vertex.d.ts.map +1 -1
- package/dist/api/google-vertex.js +4 -2
- package/dist/api/google-vertex.js.map +1 -1
- package/dist/api/mistral-conversations.d.ts.map +1 -1
- package/dist/api/mistral-conversations.js +1 -1
- package/dist/api/mistral-conversations.js.map +1 -1
- package/dist/api/openai-codex-responses.d.ts.map +1 -1
- package/dist/api/openai-codex-responses.js +62 -42
- package/dist/api/openai-codex-responses.js.map +1 -1
- package/dist/api/openai-completions.d.ts.map +1 -1
- package/dist/api/openai-completions.js +12 -5
- package/dist/api/openai-completions.js.map +1 -1
- package/dist/api/openai-responses-shared.d.ts.map +1 -1
- package/dist/api/openai-responses-shared.js +153 -176
- package/dist/api/openai-responses-shared.js.map +1 -1
- package/dist/api/openai-responses.d.ts.map +1 -1
- package/dist/api/openai-responses.js +6 -16
- package/dist/api/openai-responses.js.map +1 -1
- package/dist/api/openrouter-images.d.ts.map +1 -1
- package/dist/api/openrouter-images.js +2 -1
- package/dist/api/openrouter-images.js.map +1 -1
- package/dist/api/simple-options.d.ts +3 -2
- package/dist/api/simple-options.d.ts.map +1 -1
- package/dist/api/simple-options.js +11 -2
- package/dist/api/simple-options.js.map +1 -1
- package/dist/api/transform-messages.d.ts.map +1 -1
- package/dist/api/transform-messages.js +4 -1
- package/dist/api/transform-messages.js.map +1 -1
- package/dist/image-models.generated.d.ts +34 -19
- package/dist/image-models.generated.d.ts.map +1 -1
- package/dist/image-models.generated.js +60 -45
- package/dist/image-models.generated.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/models.generated.d.ts +1754 -498
- package/dist/models.generated.d.ts.map +1 -1
- package/dist/providers/amazon-bedrock.models.d.ts +157 -0
- package/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
- package/dist/providers/amazon-bedrock.models.js +166 -12
- package/dist/providers/amazon-bedrock.models.js.map +1 -1
- package/dist/providers/anthropic.models.d.ts +6 -190
- package/dist/providers/anthropic.models.d.ts.map +1 -1
- package/dist/providers/anthropic.models.js +21 -207
- package/dist/providers/anthropic.models.js.map +1 -1
- package/dist/providers/azure-openai-responses.models.d.ts +84 -0
- package/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
- package/dist/providers/azure-openai-responses.models.js +72 -0
- package/dist/providers/azure-openai-responses.models.js.map +1 -1
- package/dist/providers/cerebras.models.d.ts +21 -0
- package/dist/providers/cerebras.models.d.ts.map +1 -1
- package/dist/providers/cerebras.models.js +18 -0
- package/dist/providers/cerebras.models.js.map +1 -1
- package/dist/providers/cloudflare-ai-gateway.models.d.ts +21 -0
- package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
- package/dist/providers/cloudflare-ai-gateway.models.js +18 -0
- package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
- package/dist/providers/fireworks.models.d.ts +28 -0
- package/dist/providers/fireworks.models.d.ts.map +1 -1
- package/dist/providers/fireworks.models.js +21 -2
- package/dist/providers/fireworks.models.js.map +1 -1
- package/dist/providers/github-copilot.models.d.ts +82 -0
- package/dist/providers/github-copilot.models.d.ts.map +1 -1
- package/dist/providers/github-copilot.models.js +62 -5
- package/dist/providers/github-copilot.models.js.map +1 -1
- package/dist/providers/groq.models.d.ts.map +1 -1
- package/dist/providers/groq.models.js +1 -1
- package/dist/providers/groq.models.js.map +1 -1
- package/dist/providers/huggingface.models.d.ts +100 -0
- package/dist/providers/huggingface.models.d.ts.map +1 -1
- package/dist/providers/huggingface.models.js +90 -0
- package/dist/providers/huggingface.models.js.map +1 -1
- package/dist/providers/minimax-cn.models.d.ts.map +1 -1
- package/dist/providers/minimax-cn.models.js +4 -4
- package/dist/providers/minimax-cn.models.js.map +1 -1
- package/dist/providers/minimax.models.d.ts.map +1 -1
- package/dist/providers/minimax.models.js +4 -4
- package/dist/providers/minimax.models.js.map +1 -1
- package/dist/providers/mistral.models.d.ts +1 -1
- package/dist/providers/mistral.models.d.ts.map +1 -1
- package/dist/providers/mistral.models.js +4 -4
- package/dist/providers/mistral.models.js.map +1 -1
- package/dist/providers/nvidia.models.d.ts +29 -1
- package/dist/providers/nvidia.models.d.ts.map +1 -1
- package/dist/providers/nvidia.models.js +23 -4
- package/dist/providers/nvidia.models.js.map +1 -1
- package/dist/providers/openai-codex.models.d.ts +63 -0
- package/dist/providers/openai-codex.models.d.ts.map +1 -1
- package/dist/providers/openai-codex.models.js +54 -0
- package/dist/providers/openai-codex.models.js.map +1 -1
- package/dist/providers/openai.models.d.ts +84 -0
- package/dist/providers/openai.models.d.ts.map +1 -1
- package/dist/providers/openai.models.js +72 -0
- package/dist/providers/openai.models.js.map +1 -1
- package/dist/providers/opencode-go.models.d.ts.map +1 -1
- package/dist/providers/opencode-go.models.js +6 -6
- package/dist/providers/opencode-go.models.js.map +1 -1
- package/dist/providers/opencode.models.d.ts +132 -0
- package/dist/providers/opencode.models.d.ts.map +1 -1
- package/dist/providers/opencode.models.js +111 -2
- package/dist/providers/opencode.models.js.map +1 -1
- package/dist/providers/openrouter.models.d.ts +358 -55
- package/dist/providers/openrouter.models.d.ts.map +1 -1
- package/dist/providers/openrouter.models.js +395 -138
- package/dist/providers/openrouter.models.js.map +1 -1
- package/dist/providers/together.models.d.ts +31 -0
- package/dist/providers/together.models.d.ts.map +1 -1
- package/dist/providers/together.models.js +21 -2
- package/dist/providers/together.models.js.map +1 -1
- package/dist/providers/vercel-ai-gateway.models.d.ts +446 -36
- package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
- package/dist/providers/vercel-ai-gateway.models.js +477 -80
- package/dist/providers/vercel-ai-gateway.models.js.map +1 -1
- package/dist/providers/xai.models.d.ts +22 -0
- package/dist/providers/xai.models.d.ts.map +1 -1
- package/dist/providers/xai.models.js +18 -0
- package/dist/providers/xai.models.js.map +1 -1
- package/dist/providers/xiaomi-token-plan-ams.models.d.ts +0 -42
- package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -1
- package/dist/providers/xiaomi-token-plan-ams.models.js +9 -45
- package/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -1
- package/dist/providers/xiaomi-token-plan-cn.models.d.ts +0 -42
- package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -1
- package/dist/providers/xiaomi-token-plan-cn.models.js +9 -45
- package/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -1
- package/dist/providers/xiaomi-token-plan-sgp.models.d.ts +0 -42
- package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -1
- package/dist/providers/xiaomi-token-plan-sgp.models.js +9 -45
- package/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -1
- package/dist/providers/xiaomi.models.d.ts.map +1 -1
- package/dist/providers/xiaomi.models.js +15 -15
- package/dist/providers/xiaomi.models.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/error-body.d.ts +25 -0
- package/dist/utils/error-body.d.ts.map +1 -0
- package/dist/utils/error-body.js +109 -0
- package/dist/utils/error-body.js.map +1 -0
- package/dist/utils/estimate.d.ts +17 -0
- package/dist/utils/estimate.d.ts.map +1 -0
- package/dist/utils/estimate.js +95 -0
- package/dist/utils/estimate.js.map +1 -0
- package/dist/utils/oauth/device-code.d.ts +2 -0
- package/dist/utils/oauth/device-code.d.ts.map +1 -1
- package/dist/utils/oauth/device-code.js +15 -2
- package/dist/utils/oauth/device-code.js.map +1 -1
- package/dist/utils/oauth/github-copilot.d.ts.map +1 -1
- package/dist/utils/oauth/github-copilot.js +3 -2
- package/dist/utils/oauth/github-copilot.js.map +1 -1
- package/dist/utils/overflow.d.ts +1 -0
- package/dist/utils/overflow.d.ts.map +1 -1
- package/dist/utils/overflow.js +3 -0
- package/dist/utils/overflow.js.map +1 -1
- package/dist/utils/retry.d.ts +12 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +90 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +9 -21
- package/dist/utils/validation.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,6 +21,30 @@ export declare const OPENCODE_MODELS: {
|
|
|
21
21
|
contextWindow: number;
|
|
22
22
|
maxTokens: number;
|
|
23
23
|
};
|
|
24
|
+
readonly "claude-fable-5": {
|
|
25
|
+
id: string;
|
|
26
|
+
name: string;
|
|
27
|
+
api: "anthropic-messages";
|
|
28
|
+
provider: string;
|
|
29
|
+
baseUrl: string;
|
|
30
|
+
compat: {
|
|
31
|
+
forceAdaptiveThinking: true;
|
|
32
|
+
};
|
|
33
|
+
reasoning: true;
|
|
34
|
+
thinkingLevelMap: {
|
|
35
|
+
off: null;
|
|
36
|
+
xhigh: string;
|
|
37
|
+
};
|
|
38
|
+
input: ("image" | "text")[];
|
|
39
|
+
cost: {
|
|
40
|
+
input: number;
|
|
41
|
+
output: number;
|
|
42
|
+
cacheRead: number;
|
|
43
|
+
cacheWrite: number;
|
|
44
|
+
};
|
|
45
|
+
contextWindow: number;
|
|
46
|
+
maxTokens: number;
|
|
47
|
+
};
|
|
24
48
|
readonly "claude-haiku-4-5": {
|
|
25
49
|
id: string;
|
|
26
50
|
name: string;
|
|
@@ -197,6 +221,26 @@ export declare const OPENCODE_MODELS: {
|
|
|
197
221
|
contextWindow: number;
|
|
198
222
|
maxTokens: number;
|
|
199
223
|
};
|
|
224
|
+
readonly "claude-sonnet-5": {
|
|
225
|
+
id: string;
|
|
226
|
+
name: string;
|
|
227
|
+
api: "anthropic-messages";
|
|
228
|
+
provider: string;
|
|
229
|
+
baseUrl: string;
|
|
230
|
+
compat: {
|
|
231
|
+
forceAdaptiveThinking: true;
|
|
232
|
+
};
|
|
233
|
+
reasoning: true;
|
|
234
|
+
input: ("image" | "text")[];
|
|
235
|
+
cost: {
|
|
236
|
+
input: number;
|
|
237
|
+
output: number;
|
|
238
|
+
cacheRead: number;
|
|
239
|
+
cacheWrite: number;
|
|
240
|
+
};
|
|
241
|
+
contextWindow: number;
|
|
242
|
+
maxTokens: number;
|
|
243
|
+
};
|
|
200
244
|
readonly "deepseek-v4-flash": {
|
|
201
245
|
id: string;
|
|
202
246
|
name: string;
|
|
@@ -750,6 +794,28 @@ export declare const OPENCODE_MODELS: {
|
|
|
750
794
|
contextWindow: number;
|
|
751
795
|
maxTokens: number;
|
|
752
796
|
};
|
|
797
|
+
readonly "grok-4.5": {
|
|
798
|
+
id: string;
|
|
799
|
+
name: string;
|
|
800
|
+
api: "openai-completions";
|
|
801
|
+
provider: string;
|
|
802
|
+
baseUrl: string;
|
|
803
|
+
compat: {
|
|
804
|
+
supportsStore: false;
|
|
805
|
+
supportsDeveloperRole: false;
|
|
806
|
+
maxTokensField: "max_tokens";
|
|
807
|
+
};
|
|
808
|
+
reasoning: true;
|
|
809
|
+
input: ("image" | "text")[];
|
|
810
|
+
cost: {
|
|
811
|
+
input: number;
|
|
812
|
+
output: number;
|
|
813
|
+
cacheRead: number;
|
|
814
|
+
cacheWrite: number;
|
|
815
|
+
};
|
|
816
|
+
contextWindow: number;
|
|
817
|
+
maxTokens: number;
|
|
818
|
+
};
|
|
753
819
|
readonly "grok-build-0.1": {
|
|
754
820
|
id: string;
|
|
755
821
|
name: string;
|
|
@@ -779,6 +845,28 @@ export declare const OPENCODE_MODELS: {
|
|
|
779
845
|
contextWindow: number;
|
|
780
846
|
maxTokens: number;
|
|
781
847
|
};
|
|
848
|
+
readonly "hy3-free": {
|
|
849
|
+
id: string;
|
|
850
|
+
name: string;
|
|
851
|
+
api: "openai-completions";
|
|
852
|
+
provider: string;
|
|
853
|
+
baseUrl: string;
|
|
854
|
+
compat: {
|
|
855
|
+
supportsStore: false;
|
|
856
|
+
supportsDeveloperRole: false;
|
|
857
|
+
maxTokensField: "max_tokens";
|
|
858
|
+
};
|
|
859
|
+
reasoning: true;
|
|
860
|
+
input: "text"[];
|
|
861
|
+
cost: {
|
|
862
|
+
input: number;
|
|
863
|
+
output: number;
|
|
864
|
+
cacheRead: number;
|
|
865
|
+
cacheWrite: number;
|
|
866
|
+
};
|
|
867
|
+
contextWindow: number;
|
|
868
|
+
maxTokens: number;
|
|
869
|
+
};
|
|
782
870
|
readonly "kimi-k2.5": {
|
|
783
871
|
id: string;
|
|
784
872
|
name: string;
|
|
@@ -827,6 +915,28 @@ export declare const OPENCODE_MODELS: {
|
|
|
827
915
|
contextWindow: number;
|
|
828
916
|
maxTokens: number;
|
|
829
917
|
};
|
|
918
|
+
readonly "kimi-k2.7-code": {
|
|
919
|
+
id: string;
|
|
920
|
+
name: string;
|
|
921
|
+
api: "openai-completions";
|
|
922
|
+
provider: string;
|
|
923
|
+
baseUrl: string;
|
|
924
|
+
compat: {
|
|
925
|
+
supportsStore: false;
|
|
926
|
+
supportsDeveloperRole: false;
|
|
927
|
+
maxTokensField: "max_tokens";
|
|
928
|
+
};
|
|
929
|
+
reasoning: true;
|
|
930
|
+
input: ("image" | "text")[];
|
|
931
|
+
cost: {
|
|
932
|
+
input: number;
|
|
933
|
+
output: number;
|
|
934
|
+
cacheRead: number;
|
|
935
|
+
cacheWrite: number;
|
|
936
|
+
};
|
|
937
|
+
contextWindow: number;
|
|
938
|
+
maxTokens: number;
|
|
939
|
+
};
|
|
830
940
|
readonly "mimo-v2.5-free": {
|
|
831
941
|
id: string;
|
|
832
942
|
name: string;
|
|
@@ -894,6 +1004,28 @@ export declare const OPENCODE_MODELS: {
|
|
|
894
1004
|
contextWindow: number;
|
|
895
1005
|
maxTokens: number;
|
|
896
1006
|
};
|
|
1007
|
+
readonly "minimax-m3": {
|
|
1008
|
+
id: string;
|
|
1009
|
+
name: string;
|
|
1010
|
+
api: "openai-completions";
|
|
1011
|
+
provider: string;
|
|
1012
|
+
baseUrl: string;
|
|
1013
|
+
compat: {
|
|
1014
|
+
supportsStore: false;
|
|
1015
|
+
supportsDeveloperRole: false;
|
|
1016
|
+
maxTokensField: "max_tokens";
|
|
1017
|
+
};
|
|
1018
|
+
reasoning: true;
|
|
1019
|
+
input: ("image" | "text")[];
|
|
1020
|
+
cost: {
|
|
1021
|
+
input: number;
|
|
1022
|
+
output: number;
|
|
1023
|
+
cacheRead: number;
|
|
1024
|
+
cacheWrite: number;
|
|
1025
|
+
};
|
|
1026
|
+
contextWindow: number;
|
|
1027
|
+
maxTokens: number;
|
|
1028
|
+
};
|
|
897
1029
|
readonly "nemotron-3-ultra-free": {
|
|
898
1030
|
id: string;
|
|
899
1031
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.models.d.ts","sourceRoot":"","sources":["../../src/providers/opencode.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2yBlB,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const OPENCODE_MODELS = {\n\t\"big-pickle\": {\n\t\tid: \"big-pickle\",\n\t\tname: \"Big Pickle\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"claude-haiku-4-5\": {\n\t\tid: \"claude-haiku-4-5\",\n\t\tname: \"Claude Haiku 4.5\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-1\": {\n\t\tid: \"claude-opus-4-1\",\n\t\tname: \"Claude Opus 4.1\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 15,\n\t\t\toutput: 75,\n\t\t\tcacheRead: 1.5,\n\t\t\tcacheWrite: 18.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-5\": {\n\t\tid: \"claude-opus-4-5\",\n\t\tname: \"Claude Opus 4.5\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-6\": {\n\t\tid: \"claude-opus-4-6\",\n\t\tname: \"Claude Opus 4.6\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-7\": {\n\t\tid: \"claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true,\"supportsTemperature\":false},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-8\": {\n\t\tid: \"claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true,\"supportsTemperature\":false},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-4\": {\n\t\tid: \"claude-sonnet-4\",\n\t\tname: \"Claude Sonnet 4\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-4-5\": {\n\t\tid: \"claude-sonnet-4-5\",\n\t\tname: \"Claude Sonnet 4.5\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-4-6\": {\n\t\tid: \"claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"deepseek-v4-flash\": {\n\t\tid: \"deepseek-v4-flash\",\n\t\tname: \"DeepSeek V4 Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false,\"requiresReasoningContentOnAssistantMessages\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"minimal\":null,\"low\":null,\"medium\":null,\"high\":\"high\",\"xhigh\":\"max\"},\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.28,\n\t\t\tcacheRead: 0.028,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 384000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"deepseek-v4-flash-free\": {\n\t\tid: \"deepseek-v4-flash-free\",\n\t\tname: \"DeepSeek V4 Flash Free\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"requiresReasoningContentOnAssistantMessages\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"minimal\":null,\"low\":null,\"medium\":null,\"high\":\"high\",\"xhigh\":\"max\"},\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"deepseek-v4-pro\": {\n\t\tid: \"deepseek-v4-pro\",\n\t\tname: \"DeepSeek V4 Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false,\"requiresReasoningContentOnAssistantMessages\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"minimal\":null,\"low\":null,\"medium\":null,\"high\":\"high\",\"xhigh\":\"max\"},\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.74,\n\t\t\toutput: 3.84,\n\t\t\tcacheRead: 0.145,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 384000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"gemini-3-flash\": {\n\t\tid: \"gemini-3-flash\",\n\t\tname: \"Gemini 3 Flash\",\n\t\tapi: \"google-generative-ai\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0.05,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-generative-ai\">,\n\t\"gemini-3.1-pro\": {\n\t\tid: \"gemini-3.1-pro\",\n\t\tname: \"Gemini 3.1 Pro Preview\",\n\t\tapi: \"google-generative-ai\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":\"LOW\",\"medium\":null,\"high\":\"HIGH\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 12,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-generative-ai\">,\n\t\"gemini-3.5-flash\": {\n\t\tid: \"gemini-3.5-flash\",\n\t\tname: \"Gemini 3.5 Flash\",\n\t\tapi: \"google-generative-ai\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.5,\n\t\t\toutput: 9,\n\t\t\tcacheRead: 0.15,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-generative-ai\">,\n\t\"glm-5\": {\n\t\tid: \"glm-5\",\n\t\tname: \"GLM-5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 3.2,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"glm-5.1\": {\n\t\tid: \"glm-5.1\",\n\t\tname: \"GLM-5.1\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.4,\n\t\t\toutput: 4.4,\n\t\t\tcacheRead: 0.26,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"glm-5.2\": {\n\t\tid: \"glm-5.2\",\n\t\tname: \"GLM-5.2\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.4,\n\t\t\toutput: 4.4,\n\t\t\tcacheRead: 0.26,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"gpt-5\": {\n\t\tid: \"gpt-5\",\n\t\tname: \"GPT-5\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.07,\n\t\t\toutput: 8.5,\n\t\t\tcacheRead: 0.107,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5-codex\": {\n\t\tid: \"gpt-5-codex\",\n\t\tname: \"GPT-5 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.07,\n\t\t\toutput: 8.5,\n\t\t\tcacheRead: 0.107,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5-nano\": {\n\t\tid: \"gpt-5-nano\",\n\t\tname: \"GPT-5 Nano\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.05,\n\t\t\toutput: 0.4,\n\t\t\tcacheRead: 0.005,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.1\": {\n\t\tid: \"gpt-5.1\",\n\t\tname: \"GPT-5.1\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.07,\n\t\t\toutput: 8.5,\n\t\t\tcacheRead: 0.107,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.1-codex\": {\n\t\tid: \"gpt-5.1-codex\",\n\t\tname: \"GPT-5.1 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.07,\n\t\t\toutput: 8.5,\n\t\t\tcacheRead: 0.107,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.1-codex-max\": {\n\t\tid: \"gpt-5.1-codex-max\",\n\t\tname: \"GPT-5.1 Codex Max\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.25,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.125,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.1-codex-mini\": {\n\t\tid: \"gpt-5.1-codex-mini\",\n\t\tname: \"GPT-5.1 Codex Mini\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 2,\n\t\t\tcacheRead: 0.025,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.2\": {\n\t\tid: \"gpt-5.2\",\n\t\tname: \"GPT-5.2\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.75,\n\t\t\toutput: 14,\n\t\t\tcacheRead: 0.175,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.2-codex\": {\n\t\tid: \"gpt-5.2-codex\",\n\t\tname: \"GPT-5.2 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.75,\n\t\t\toutput: 14,\n\t\t\tcacheRead: 0.175,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.3-codex\": {\n\t\tid: \"gpt-5.3-codex\",\n\t\tname: \"GPT-5.3 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.75,\n\t\t\toutput: 14,\n\t\t\tcacheRead: 0.175,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4\": {\n\t\tid: \"gpt-5.4\",\n\t\tname: \"GPT-5.4\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2.5,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.25,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 272000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4-mini\": {\n\t\tid: \"gpt-5.4-mini\",\n\t\tname: \"GPT-5.4 Mini\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.75,\n\t\t\toutput: 4.5,\n\t\t\tcacheRead: 0.075,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4-nano\": {\n\t\tid: \"gpt-5.4-nano\",\n\t\tname: \"GPT-5.4 Nano\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 1.25,\n\t\t\tcacheRead: 0.02,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4-pro\": {\n\t\tid: \"gpt-5.4-pro\",\n\t\tname: \"GPT-5.4 Pro\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 30,\n\t\t\toutput: 180,\n\t\t\tcacheRead: 30,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1050000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.5\": {\n\t\tid: \"gpt-5.5\",\n\t\tname: \"GPT-5.5\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 30,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1050000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.5-pro\": {\n\t\tid: \"gpt-5.5-pro\",\n\t\tname: \"GPT-5.5 Pro\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\",\"minimal\":null,\"low\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 30,\n\t\t\toutput: 180,\n\t\t\tcacheRead: 30,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1050000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"grok-build-0.1\": {\n\t\tid: \"grok-build-0.1\",\n\t\tname: \"Grok Build 0.1\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":null,\"medium\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 2,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 256000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"kimi-k2.5\": {\n\t\tid: \"kimi-k2.5\",\n\t\tname: \"Kimi K2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0.08,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"kimi-k2.6\": {\n\t\tid: \"kimi-k2.6\",\n\t\tname: \"Kimi K2.6\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"thinkingFormat\":\"deepseek\",\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.95,\n\t\t\toutput: 4,\n\t\t\tcacheRead: 0.16,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-free\": {\n\t\tid: \"mimo-v2.5-free\",\n\t\tname: \"MiMo V2.5 Free\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"minimax-m2.5\": {\n\t\tid: \"minimax-m2.5\",\n\t\tname: \"MiniMax M2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0.06,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"minimax-m2.7\": {\n\t\tid: \"minimax-m2.7\",\n\t\tname: \"MiniMax M2.7\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0.06,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"nemotron-3-ultra-free\": {\n\t\tid: \"nemotron-3-ultra-free\",\n\t\tname: \"Nemotron 3 Ultra Free\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"north-mini-code-free\": {\n\t\tid: \"north-mini-code-free\",\n\t\tname: \"North Mini Code Free\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"qwen3.5-plus\": {\n\t\tid: \"qwen3.5-plus\",\n\t\tname: \"Qwen3.5 Plus\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0.02,\n\t\t\tcacheWrite: 0.25,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"qwen3.6-plus\": {\n\t\tid: \"qwen3.6-plus\",\n\t\tname: \"Qwen3.6 Plus\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0.05,\n\t\t\tcacheWrite: 0.625,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"anthropic-messages\">,\n} as const;\n"]}
|
|
1
|
+
{"version":3,"file":"opencode.models.d.ts","sourceRoot":"","sources":["../../src/providers/opencode.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAw5BlB,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const OPENCODE_MODELS = {\n\t\"big-pickle\": {\n\t\tid: \"big-pickle\",\n\t\tname: \"Big Pickle\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"claude-fable-5\": {\n\t\tid: \"claude-fable-5\",\n\t\tname: \"Claude Fable 5\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 10,\n\t\t\toutput: 50,\n\t\t\tcacheRead: 1,\n\t\t\tcacheWrite: 12.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-haiku-4-5\": {\n\t\tid: \"claude-haiku-4-5\",\n\t\tname: \"Claude Haiku 4.5\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-1\": {\n\t\tid: \"claude-opus-4-1\",\n\t\tname: \"Claude Opus 4.1\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 15,\n\t\t\toutput: 75,\n\t\t\tcacheRead: 1.5,\n\t\t\tcacheWrite: 18.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-5\": {\n\t\tid: \"claude-opus-4-5\",\n\t\tname: \"Claude Opus 4.5\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-6\": {\n\t\tid: \"claude-opus-4-6\",\n\t\tname: \"Claude Opus 4.6\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-7\": {\n\t\tid: \"claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true,\"supportsTemperature\":false},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-opus-4-8\": {\n\t\tid: \"claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true,\"supportsTemperature\":false},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-4\": {\n\t\tid: \"claude-sonnet-4\",\n\t\tname: \"Claude Sonnet 4\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-4-5\": {\n\t\tid: \"claude-sonnet-4-5\",\n\t\tname: \"Claude Sonnet 4.5\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-4-6\": {\n\t\tid: \"claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"claude-sonnet-5\": {\n\t\tid: \"claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\tcompat: {\"forceAdaptiveThinking\":true},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"deepseek-v4-flash\": {\n\t\tid: \"deepseek-v4-flash\",\n\t\tname: \"DeepSeek V4 Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false,\"requiresReasoningContentOnAssistantMessages\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"minimal\":null,\"low\":null,\"medium\":null,\"high\":\"high\",\"xhigh\":\"max\"},\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.28,\n\t\t\tcacheRead: 0.028,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 384000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"deepseek-v4-flash-free\": {\n\t\tid: \"deepseek-v4-flash-free\",\n\t\tname: \"DeepSeek V4 Flash Free\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"requiresReasoningContentOnAssistantMessages\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"minimal\":null,\"low\":null,\"medium\":null,\"high\":\"high\",\"xhigh\":\"max\"},\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"deepseek-v4-pro\": {\n\t\tid: \"deepseek-v4-pro\",\n\t\tname: \"DeepSeek V4 Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false,\"requiresReasoningContentOnAssistantMessages\":true},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"minimal\":null,\"low\":null,\"medium\":null,\"high\":\"high\",\"xhigh\":\"max\"},\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.74,\n\t\t\toutput: 3.84,\n\t\t\tcacheRead: 0.145,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 384000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"gemini-3-flash\": {\n\t\tid: \"gemini-3-flash\",\n\t\tname: \"Gemini 3 Flash\",\n\t\tapi: \"google-generative-ai\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0.05,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-generative-ai\">,\n\t\"gemini-3.1-pro\": {\n\t\tid: \"gemini-3.1-pro\",\n\t\tname: \"Gemini 3.1 Pro Preview\",\n\t\tapi: \"google-generative-ai\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":\"LOW\",\"medium\":null,\"high\":\"HIGH\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 12,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-generative-ai\">,\n\t\"gemini-3.5-flash\": {\n\t\tid: \"gemini-3.5-flash\",\n\t\tname: \"Gemini 3.5 Flash\",\n\t\tapi: \"google-generative-ai\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.5,\n\t\t\toutput: 9,\n\t\t\tcacheRead: 0.15,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-generative-ai\">,\n\t\"glm-5\": {\n\t\tid: \"glm-5\",\n\t\tname: \"GLM-5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 3.2,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"glm-5.1\": {\n\t\tid: \"glm-5.1\",\n\t\tname: \"GLM-5.1\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.4,\n\t\t\toutput: 4.4,\n\t\t\tcacheRead: 0.26,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"glm-5.2\": {\n\t\tid: \"glm-5.2\",\n\t\tname: \"GLM-5.2\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.4,\n\t\t\toutput: 4.4,\n\t\t\tcacheRead: 0.26,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"gpt-5\": {\n\t\tid: \"gpt-5\",\n\t\tname: \"GPT-5\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.07,\n\t\t\toutput: 8.5,\n\t\t\tcacheRead: 0.107,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5-codex\": {\n\t\tid: \"gpt-5-codex\",\n\t\tname: \"GPT-5 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.07,\n\t\t\toutput: 8.5,\n\t\t\tcacheRead: 0.107,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5-nano\": {\n\t\tid: \"gpt-5-nano\",\n\t\tname: \"GPT-5 Nano\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.05,\n\t\t\toutput: 0.4,\n\t\t\tcacheRead: 0.005,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.1\": {\n\t\tid: \"gpt-5.1\",\n\t\tname: \"GPT-5.1\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.07,\n\t\t\toutput: 8.5,\n\t\t\tcacheRead: 0.107,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.1-codex\": {\n\t\tid: \"gpt-5.1-codex\",\n\t\tname: \"GPT-5.1 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.07,\n\t\t\toutput: 8.5,\n\t\t\tcacheRead: 0.107,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.1-codex-max\": {\n\t\tid: \"gpt-5.1-codex-max\",\n\t\tname: \"GPT-5.1 Codex Max\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.25,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.125,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.1-codex-mini\": {\n\t\tid: \"gpt-5.1-codex-mini\",\n\t\tname: \"GPT-5.1 Codex Mini\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 2,\n\t\t\tcacheRead: 0.025,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.2\": {\n\t\tid: \"gpt-5.2\",\n\t\tname: \"GPT-5.2\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.75,\n\t\t\toutput: 14,\n\t\t\tcacheRead: 0.175,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.2-codex\": {\n\t\tid: \"gpt-5.2-codex\",\n\t\tname: \"GPT-5.2 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.75,\n\t\t\toutput: 14,\n\t\t\tcacheRead: 0.175,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.3-codex\": {\n\t\tid: \"gpt-5.3-codex\",\n\t\tname: \"GPT-5.3 Codex\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.75,\n\t\t\toutput: 14,\n\t\t\tcacheRead: 0.175,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4\": {\n\t\tid: \"gpt-5.4\",\n\t\tname: \"GPT-5.4\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2.5,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.25,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 272000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4-mini\": {\n\t\tid: \"gpt-5.4-mini\",\n\t\tname: \"GPT-5.4 Mini\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.75,\n\t\t\toutput: 4.5,\n\t\t\tcacheRead: 0.075,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4-nano\": {\n\t\tid: \"gpt-5.4-nano\",\n\t\tname: \"GPT-5.4 Nano\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 1.25,\n\t\t\tcacheRead: 0.02,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 400000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.4-pro\": {\n\t\tid: \"gpt-5.4-pro\",\n\t\tname: \"GPT-5.4 Pro\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 30,\n\t\t\toutput: 180,\n\t\t\tcacheRead: 30,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1050000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.5\": {\n\t\tid: \"gpt-5.5\",\n\t\tname: \"GPT-5.5\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 30,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1050000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"gpt-5.5-pro\": {\n\t\tid: \"gpt-5.5-pro\",\n\t\tname: \"GPT-5.5 Pro\",\n\t\tapi: \"openai-responses\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\",\"minimal\":null,\"low\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 30,\n\t\t\toutput: 180,\n\t\t\tcacheRead: 30,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1050000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-responses\">,\n\t\"grok-4.5\": {\n\t\tid: \"grok-4.5\",\n\t\tname: \"Grok 4.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 6,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 500000,\n\t\tmaxTokens: 500000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"grok-build-0.1\": {\n\t\tid: \"grok-build-0.1\",\n\t\tname: \"Grok Build 0.1\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":null,\"medium\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 2,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 256000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"hy3-free\": {\n\t\tid: \"hy3-free\",\n\t\tname: \"Hy3 Free\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"kimi-k2.5\": {\n\t\tid: \"kimi-k2.5\",\n\t\tname: \"Kimi K2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0.08,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"kimi-k2.6\": {\n\t\tid: \"kimi-k2.6\",\n\t\tname: \"Kimi K2.6\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"thinkingFormat\":\"deepseek\",\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.95,\n\t\t\toutput: 4,\n\t\t\tcacheRead: 0.16,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"kimi-k2.7-code\": {\n\t\tid: \"kimi-k2.7-code\",\n\t\tname: \"Kimi K2.7 Code\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.95,\n\t\t\toutput: 4,\n\t\t\tcacheRead: 0.19,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 262144,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-free\": {\n\t\tid: \"mimo-v2.5-free\",\n\t\tname: \"MiMo V2.5 Free\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"minimax-m2.5\": {\n\t\tid: \"minimax-m2.5\",\n\t\tname: \"MiniMax-M2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0.06,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"minimax-m2.7\": {\n\t\tid: \"minimax-m2.7\",\n\t\tname: \"MiniMax-M2.7\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\",\"supportsLongCacheRetention\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0.06,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"minimax-m3\": {\n\t\tid: \"minimax-m3\",\n\t\tname: \"MiniMax-M3\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0.06,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 512000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"nemotron-3-ultra-free\": {\n\t\tid: \"nemotron-3-ultra-free\",\n\t\tname: \"Nemotron 3 Ultra Free\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"north-mini-code-free\": {\n\t\tid: \"north-mini-code-free\",\n\t\tname: \"North Mini Code Free\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"maxTokensField\":\"max_tokens\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"qwen3.5-plus\": {\n\t\tid: \"qwen3.5-plus\",\n\t\tname: \"Qwen3.5 Plus\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0.02,\n\t\t\tcacheWrite: 0.25,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"qwen3.6-plus\": {\n\t\tid: \"qwen3.6-plus\",\n\t\tname: \"Qwen3.6 Plus\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"opencode\",\n\t\tbaseUrl: \"https://opencode.ai/zen\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0.05,\n\t\t\tcacheWrite: 0.625,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"anthropic-messages\">,\n} as const;\n"]}
|
|
@@ -19,6 +19,25 @@ export const OPENCODE_MODELS = {
|
|
|
19
19
|
contextWindow: 200000,
|
|
20
20
|
maxTokens: 32000,
|
|
21
21
|
},
|
|
22
|
+
"claude-fable-5": {
|
|
23
|
+
id: "claude-fable-5",
|
|
24
|
+
name: "Claude Fable 5",
|
|
25
|
+
api: "anthropic-messages",
|
|
26
|
+
provider: "opencode",
|
|
27
|
+
baseUrl: "https://opencode.ai/zen",
|
|
28
|
+
compat: { "forceAdaptiveThinking": true },
|
|
29
|
+
reasoning: true,
|
|
30
|
+
thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
|
|
31
|
+
input: ["text", "image"],
|
|
32
|
+
cost: {
|
|
33
|
+
input: 10,
|
|
34
|
+
output: 50,
|
|
35
|
+
cacheRead: 1,
|
|
36
|
+
cacheWrite: 12.5,
|
|
37
|
+
},
|
|
38
|
+
contextWindow: 1000000,
|
|
39
|
+
maxTokens: 128000,
|
|
40
|
+
},
|
|
22
41
|
"claude-haiku-4-5": {
|
|
23
42
|
id: "claude-haiku-4-5",
|
|
24
43
|
name: "Claude Haiku 4.5",
|
|
@@ -179,6 +198,24 @@ export const OPENCODE_MODELS = {
|
|
|
179
198
|
contextWindow: 1000000,
|
|
180
199
|
maxTokens: 64000,
|
|
181
200
|
},
|
|
201
|
+
"claude-sonnet-5": {
|
|
202
|
+
id: "claude-sonnet-5",
|
|
203
|
+
name: "Claude Sonnet 5",
|
|
204
|
+
api: "anthropic-messages",
|
|
205
|
+
provider: "opencode",
|
|
206
|
+
baseUrl: "https://opencode.ai/zen",
|
|
207
|
+
compat: { "forceAdaptiveThinking": true },
|
|
208
|
+
reasoning: true,
|
|
209
|
+
input: ["text", "image"],
|
|
210
|
+
cost: {
|
|
211
|
+
input: 2,
|
|
212
|
+
output: 10,
|
|
213
|
+
cacheRead: 0.2,
|
|
214
|
+
cacheWrite: 2.5,
|
|
215
|
+
},
|
|
216
|
+
contextWindow: 1000000,
|
|
217
|
+
maxTokens: 128000,
|
|
218
|
+
},
|
|
182
219
|
"deepseek-v4-flash": {
|
|
183
220
|
id: "deepseek-v4-flash",
|
|
184
221
|
name: "DeepSeek V4 Flash",
|
|
@@ -632,6 +669,24 @@ export const OPENCODE_MODELS = {
|
|
|
632
669
|
contextWindow: 1050000,
|
|
633
670
|
maxTokens: 128000,
|
|
634
671
|
},
|
|
672
|
+
"grok-4.5": {
|
|
673
|
+
id: "grok-4.5",
|
|
674
|
+
name: "Grok 4.5",
|
|
675
|
+
api: "openai-completions",
|
|
676
|
+
provider: "opencode",
|
|
677
|
+
baseUrl: "https://opencode.ai/zen/v1",
|
|
678
|
+
compat: { "supportsStore": false, "supportsDeveloperRole": false, "maxTokensField": "max_tokens" },
|
|
679
|
+
reasoning: true,
|
|
680
|
+
input: ["text", "image"],
|
|
681
|
+
cost: {
|
|
682
|
+
input: 2,
|
|
683
|
+
output: 6,
|
|
684
|
+
cacheRead: 0.5,
|
|
685
|
+
cacheWrite: 0,
|
|
686
|
+
},
|
|
687
|
+
contextWindow: 500000,
|
|
688
|
+
maxTokens: 500000,
|
|
689
|
+
},
|
|
635
690
|
"grok-build-0.1": {
|
|
636
691
|
id: "grok-build-0.1",
|
|
637
692
|
name: "Grok Build 0.1",
|
|
@@ -651,6 +706,24 @@ export const OPENCODE_MODELS = {
|
|
|
651
706
|
contextWindow: 256000,
|
|
652
707
|
maxTokens: 256000,
|
|
653
708
|
},
|
|
709
|
+
"hy3-free": {
|
|
710
|
+
id: "hy3-free",
|
|
711
|
+
name: "Hy3 Free",
|
|
712
|
+
api: "openai-completions",
|
|
713
|
+
provider: "opencode",
|
|
714
|
+
baseUrl: "https://opencode.ai/zen/v1",
|
|
715
|
+
compat: { "supportsStore": false, "supportsDeveloperRole": false, "maxTokensField": "max_tokens" },
|
|
716
|
+
reasoning: true,
|
|
717
|
+
input: ["text"],
|
|
718
|
+
cost: {
|
|
719
|
+
input: 0,
|
|
720
|
+
output: 0,
|
|
721
|
+
cacheRead: 0,
|
|
722
|
+
cacheWrite: 0,
|
|
723
|
+
},
|
|
724
|
+
contextWindow: 256000,
|
|
725
|
+
maxTokens: 64000,
|
|
726
|
+
},
|
|
654
727
|
"kimi-k2.5": {
|
|
655
728
|
id: "kimi-k2.5",
|
|
656
729
|
name: "Kimi K2.5",
|
|
@@ -687,6 +760,24 @@ export const OPENCODE_MODELS = {
|
|
|
687
760
|
contextWindow: 262144,
|
|
688
761
|
maxTokens: 65536,
|
|
689
762
|
},
|
|
763
|
+
"kimi-k2.7-code": {
|
|
764
|
+
id: "kimi-k2.7-code",
|
|
765
|
+
name: "Kimi K2.7 Code",
|
|
766
|
+
api: "openai-completions",
|
|
767
|
+
provider: "opencode",
|
|
768
|
+
baseUrl: "https://opencode.ai/zen/v1",
|
|
769
|
+
compat: { "supportsStore": false, "supportsDeveloperRole": false, "maxTokensField": "max_tokens" },
|
|
770
|
+
reasoning: true,
|
|
771
|
+
input: ["text", "image"],
|
|
772
|
+
cost: {
|
|
773
|
+
input: 0.95,
|
|
774
|
+
output: 4,
|
|
775
|
+
cacheRead: 0.19,
|
|
776
|
+
cacheWrite: 0,
|
|
777
|
+
},
|
|
778
|
+
contextWindow: 262144,
|
|
779
|
+
maxTokens: 262144,
|
|
780
|
+
},
|
|
690
781
|
"mimo-v2.5-free": {
|
|
691
782
|
id: "mimo-v2.5-free",
|
|
692
783
|
name: "MiMo V2.5 Free",
|
|
@@ -707,7 +798,7 @@ export const OPENCODE_MODELS = {
|
|
|
707
798
|
},
|
|
708
799
|
"minimax-m2.5": {
|
|
709
800
|
id: "minimax-m2.5",
|
|
710
|
-
name: "MiniMax
|
|
801
|
+
name: "MiniMax-M2.5",
|
|
711
802
|
api: "openai-completions",
|
|
712
803
|
provider: "opencode",
|
|
713
804
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
@@ -725,7 +816,7 @@ export const OPENCODE_MODELS = {
|
|
|
725
816
|
},
|
|
726
817
|
"minimax-m2.7": {
|
|
727
818
|
id: "minimax-m2.7",
|
|
728
|
-
name: "MiniMax
|
|
819
|
+
name: "MiniMax-M2.7",
|
|
729
820
|
api: "openai-completions",
|
|
730
821
|
provider: "opencode",
|
|
731
822
|
baseUrl: "https://opencode.ai/zen/v1",
|
|
@@ -741,6 +832,24 @@ export const OPENCODE_MODELS = {
|
|
|
741
832
|
contextWindow: 204800,
|
|
742
833
|
maxTokens: 131072,
|
|
743
834
|
},
|
|
835
|
+
"minimax-m3": {
|
|
836
|
+
id: "minimax-m3",
|
|
837
|
+
name: "MiniMax-M3",
|
|
838
|
+
api: "openai-completions",
|
|
839
|
+
provider: "opencode",
|
|
840
|
+
baseUrl: "https://opencode.ai/zen/v1",
|
|
841
|
+
compat: { "supportsStore": false, "supportsDeveloperRole": false, "maxTokensField": "max_tokens" },
|
|
842
|
+
reasoning: true,
|
|
843
|
+
input: ["text", "image"],
|
|
844
|
+
cost: {
|
|
845
|
+
input: 0.3,
|
|
846
|
+
output: 1.2,
|
|
847
|
+
cacheRead: 0.06,
|
|
848
|
+
cacheWrite: 0,
|
|
849
|
+
},
|
|
850
|
+
contextWindow: 512000,
|
|
851
|
+
maxTokens: 128000,
|
|
852
|
+
},
|
|
744
853
|
"nemotron-3-ultra-free": {
|
|
745
854
|
id: "nemotron-3-ultra-free",
|
|
746
855
|
name: "Nemotron 3 Ultra Free",
|