lsd-pi 1.1.2 → 1.1.3

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.
Files changed (183) hide show
  1. package/README.md +2 -1
  2. package/dist/bedrock-auth.d.ts +25 -0
  3. package/dist/bedrock-auth.js +59 -0
  4. package/dist/headless.js +8 -3
  5. package/dist/loader.js +1 -0
  6. package/dist/onboarding-llm.d.ts +37 -0
  7. package/dist/onboarding-llm.js +64 -0
  8. package/dist/onboarding.d.ts +2 -14
  9. package/dist/onboarding.js +146 -71
  10. package/dist/pi-migration.js +1 -0
  11. package/dist/resources/extensions/memory/auto-extract.js +21 -3
  12. package/dist/resources/extensions/memory/dream.js +703 -0
  13. package/dist/resources/extensions/memory/extension-manifest.json +2 -2
  14. package/dist/resources/extensions/memory/index.js +115 -8
  15. package/dist/resources/extensions/slash-commands/extension-manifest.json +10 -10
  16. package/dist/resources/extensions/slash-commands/index.js +0 -4
  17. package/dist/resources/extensions/slash-commands/plan.js +181 -45
  18. package/dist/resources/extensions/subagent/agents.js +14 -1
  19. package/dist/resources/extensions/subagent/configured-model.js +3 -2
  20. package/dist/resources/extensions/subagent/index.js +34 -28
  21. package/dist/resources/extensions/subagent/launch-helpers.js +24 -0
  22. package/dist/resources/extensions/subagent/model-resolution.js +41 -3
  23. package/dist/resources/extensions/usage/extension-manifest.json +11 -0
  24. package/dist/resources/extensions/usage/index.js +346 -0
  25. package/{src/resources/skills/create-gsd-extension → dist/resources/skills/create-lsd-extension}/SKILL.md +6 -6
  26. package/{src/resources/skills/create-gsd-extension → dist/resources/skills/create-lsd-extension}/references/custom-tools.md +1 -1
  27. package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/extension-lifecycle.md +2 -2
  28. package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/extensioncontext-reference.md +1 -1
  29. package/{src/resources/skills/create-gsd-extension → dist/resources/skills/create-lsd-extension}/references/key-rules-gotchas.md +4 -4
  30. package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/packaging-distribution.md +6 -6
  31. package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/workflows/create-extension.md +3 -3
  32. package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/workflows/debug-extension.md +5 -5
  33. package/dist/resources/skills/teams-debug/SKILL.md +5 -6
  34. package/dist/resources/skills/teams-document/SKILL.md +1 -2
  35. package/dist/resources/skills/teams-plan/SKILL.md +3 -4
  36. package/dist/resources/skills/teams-run/SKILL.md +3 -4
  37. package/dist/resources/skills/teams-verify/SKILL.md +4 -5
  38. package/dist/startup-model-validation.js +1 -0
  39. package/dist/welcome-screen.js +13 -11
  40. package/dist/wizard.js +12 -0
  41. package/package.json +1 -1
  42. package/packages/pi-ai/dist/models.generated.d.ts +688 -409
  43. package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
  44. package/packages/pi-ai/dist/models.generated.js +761 -488
  45. package/packages/pi-ai/dist/models.generated.js.map +1 -1
  46. package/packages/pi-ai/scripts/generate-models.ts +40 -18
  47. package/packages/pi-ai/src/models.generated.ts +759 -486
  48. package/packages/pi-coding-agent/dist/cli/config-selector.js +1 -1
  49. package/packages/pi-coding-agent/dist/cli/config-selector.js.map +1 -1
  50. package/packages/pi-coding-agent/dist/core/agent-session.d.ts +1 -2
  51. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  52. package/packages/pi-coding-agent/dist/core/agent-session.js +6 -30
  53. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  54. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts +6 -0
  55. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  56. package/packages/pi-coding-agent/dist/core/settings-manager.js +44 -1
  57. package/packages/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  58. package/packages/pi-coding-agent/dist/core/skill-tool.test.js +9 -5
  59. package/packages/pi-coding-agent/dist/core/skill-tool.test.js.map +1 -1
  60. package/packages/pi-coding-agent/dist/core/skills.d.ts.map +1 -1
  61. package/packages/pi-coding-agent/dist/core/skills.js +3 -2
  62. package/packages/pi-coding-agent/dist/core/skills.js.map +1 -1
  63. package/packages/pi-coding-agent/dist/index.d.ts +1 -1
  64. package/packages/pi-coding-agent/dist/index.d.ts.map +1 -1
  65. package/packages/pi-coding-agent/dist/index.js +1 -1
  66. package/packages/pi-coding-agent/dist/index.js.map +1 -1
  67. package/packages/pi-coding-agent/dist/main.js +1 -1
  68. package/packages/pi-coding-agent/dist/main.js.map +1 -1
  69. package/packages/pi-coding-agent/dist/modes/interactive/components/bash-execution.js +2 -2
  70. package/packages/pi-coding-agent/dist/modes/interactive/components/bash-execution.js.map +1 -1
  71. package/packages/pi-coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -1
  72. package/packages/pi-coding-agent/dist/modes/interactive/components/footer.js +15 -12
  73. package/packages/pi-coding-agent/dist/modes/interactive/components/footer.js.map +1 -1
  74. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +6 -0
  75. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  76. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +25 -1
  77. package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
  78. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +1 -1
  79. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  80. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.d.ts.map +1 -1
  81. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js +10 -0
  82. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js.map +1 -1
  83. package/packages/pi-coding-agent/dist/modes/interactive/controllers/extension-ui-controller.js +1 -1
  84. package/packages/pi-coding-agent/dist/modes/interactive/controllers/extension-ui-controller.js.map +1 -1
  85. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  86. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +31 -22
  87. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  88. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts +18 -5
  89. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  90. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js +139 -20
  91. package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  92. package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.d.ts.map +1 -1
  93. package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.js +4 -0
  94. package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.js.map +1 -1
  95. package/packages/pi-coding-agent/package.json +1 -1
  96. package/packages/pi-coding-agent/src/cli/config-selector.ts +1 -1
  97. package/packages/pi-coding-agent/src/core/agent-session.ts +5 -28
  98. package/packages/pi-coding-agent/src/core/settings-manager.ts +52 -1
  99. package/packages/pi-coding-agent/src/core/skill-tool.test.ts +18 -5
  100. package/packages/pi-coding-agent/src/core/skills.ts +3 -2
  101. package/packages/pi-coding-agent/src/index.ts +1 -1
  102. package/packages/pi-coding-agent/src/main.ts +1 -1
  103. package/packages/pi-coding-agent/src/modes/interactive/components/bash-execution.ts +2 -2
  104. package/packages/pi-coding-agent/src/modes/interactive/components/footer.ts +12 -13
  105. package/packages/pi-coding-agent/src/modes/interactive/components/settings-selector.ts +39 -1
  106. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +1 -1
  107. package/packages/pi-coding-agent/src/modes/interactive/controllers/chat-controller.ts +10 -0
  108. package/packages/pi-coding-agent/src/modes/interactive/controllers/extension-ui-controller.ts +1 -1
  109. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +46 -20
  110. package/packages/pi-coding-agent/src/modes/interactive/theme/theme.ts +171 -20
  111. package/packages/pi-coding-agent/src/modes/interactive/theme/themes.ts +4 -0
  112. package/packages/pi-tui/dist/components/editor.d.ts +1 -0
  113. package/packages/pi-tui/dist/components/editor.d.ts.map +1 -1
  114. package/packages/pi-tui/dist/components/editor.js +23 -0
  115. package/packages/pi-tui/dist/components/editor.js.map +1 -1
  116. package/packages/pi-tui/src/components/editor.ts +23 -0
  117. package/pkg/dist/modes/interactive/theme/theme.d.ts +18 -5
  118. package/pkg/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  119. package/pkg/dist/modes/interactive/theme/theme.js +139 -20
  120. package/pkg/dist/modes/interactive/theme/theme.js.map +1 -1
  121. package/pkg/dist/modes/interactive/theme/themes.d.ts.map +1 -1
  122. package/pkg/dist/modes/interactive/theme/themes.js +4 -0
  123. package/pkg/dist/modes/interactive/theme/themes.js.map +1 -1
  124. package/pkg/package.json +1 -1
  125. package/src/resources/extensions/memory/auto-extract.ts +23 -3
  126. package/src/resources/extensions/memory/dream.ts +814 -0
  127. package/src/resources/extensions/memory/extension-manifest.json +2 -2
  128. package/src/resources/extensions/memory/index.ts +134 -13
  129. package/src/resources/extensions/memory/tests/auto-extract.test.ts +10 -2
  130. package/src/resources/extensions/memory/tests/dream.test.ts +142 -0
  131. package/src/resources/extensions/slash-commands/extension-manifest.json +10 -10
  132. package/src/resources/extensions/slash-commands/index.ts +3 -7
  133. package/src/resources/extensions/slash-commands/plan.ts +192 -46
  134. package/src/resources/extensions/subagent/agents.ts +11 -1
  135. package/src/resources/extensions/subagent/configured-model.ts +3 -2
  136. package/src/resources/extensions/subagent/index.ts +38 -30
  137. package/src/resources/extensions/subagent/launch-helpers.ts +30 -0
  138. package/src/resources/extensions/subagent/model-resolution.ts +40 -3
  139. package/src/resources/extensions/usage/extension-manifest.json +11 -0
  140. package/src/resources/extensions/usage/index.ts +441 -0
  141. package/{dist/resources/skills/create-gsd-extension → src/resources/skills/create-lsd-extension}/SKILL.md +6 -6
  142. package/{dist/resources/skills/create-gsd-extension → src/resources/skills/create-lsd-extension}/references/custom-tools.md +1 -1
  143. package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/extension-lifecycle.md +2 -2
  144. package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/extensioncontext-reference.md +1 -1
  145. package/{dist/resources/skills/create-gsd-extension → src/resources/skills/create-lsd-extension}/references/key-rules-gotchas.md +4 -4
  146. package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/packaging-distribution.md +6 -6
  147. package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/workflows/create-extension.md +3 -3
  148. package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/workflows/debug-extension.md +5 -5
  149. package/src/resources/skills/teams-debug/SKILL.md +5 -6
  150. package/src/resources/skills/teams-document/SKILL.md +1 -2
  151. package/src/resources/skills/teams-plan/SKILL.md +3 -4
  152. package/src/resources/skills/teams-run/SKILL.md +3 -4
  153. package/src/resources/skills/teams-verify/SKILL.md +4 -5
  154. package/dist/resources/extensions/slash-commands/create-extension.js +0 -264
  155. package/dist/resources/extensions/slash-commands/create-slash-command.js +0 -208
  156. package/src/resources/extensions/slash-commands/create-extension.ts +0 -297
  157. package/src/resources/extensions/slash-commands/create-slash-command.ts +0 -234
  158. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/compaction-session-control.md +0 -0
  159. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/custom-commands.md +0 -0
  160. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/custom-rendering.md +0 -0
  161. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/custom-ui.md +0 -0
  162. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/events-reference.md +0 -0
  163. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/extensionapi-reference.md +0 -0
  164. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/mode-behavior.md +0 -0
  165. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/model-provider-management.md +0 -0
  166. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/remote-execution-overrides.md +0 -0
  167. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/state-management.md +0 -0
  168. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/references/system-prompt-modification.md +0 -0
  169. /package/dist/resources/skills/{create-gsd-extension → create-lsd-extension}/workflows/add-capability.md +0 -0
  170. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/compaction-session-control.md +0 -0
  171. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/custom-commands.md +0 -0
  172. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/custom-rendering.md +0 -0
  173. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/custom-ui.md +0 -0
  174. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/events-reference.md +0 -0
  175. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/extensionapi-reference.md +0 -0
  176. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/mode-behavior.md +0 -0
  177. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/model-provider-management.md +0 -0
  178. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/remote-execution-overrides.md +0 -0
  179. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/state-management.md +0 -0
  180. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/references/system-prompt-modification.md +0 -0
  181. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/templates/extension-skeleton.ts +0 -0
  182. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/templates/stateful-tool-skeleton.ts +0 -0
  183. /package/src/resources/skills/{create-gsd-extension → create-lsd-extension}/workflows/add-capability.md +0 -0
@@ -107,6 +107,23 @@ export const MODELS = {
107
107
  contextWindow: 200000,
108
108
  maxTokens: 8192,
109
109
  } satisfies Model<"bedrock-converse-stream">,
110
+ "anthropic.claude-3-5-sonnet-20240620-v1:0": {
111
+ id: "anthropic.claude-3-5-sonnet-20240620-v1:0",
112
+ name: "Claude Sonnet 3.5",
113
+ api: "bedrock-converse-stream",
114
+ provider: "amazon-bedrock",
115
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
116
+ reasoning: false,
117
+ input: ["text", "image"],
118
+ cost: {
119
+ input: 3,
120
+ output: 15,
121
+ cacheRead: 0.3,
122
+ cacheWrite: 3.75,
123
+ },
124
+ contextWindow: 200000,
125
+ maxTokens: 8192,
126
+ } satisfies Model<"bedrock-converse-stream">,
110
127
  "anthropic.claude-3-5-sonnet-20241022-v2:0": {
111
128
  id: "anthropic.claude-3-5-sonnet-20241022-v2:0",
112
129
  name: "Claude Sonnet 3.5 v2",
@@ -141,6 +158,23 @@ export const MODELS = {
141
158
  contextWindow: 200000,
142
159
  maxTokens: 8192,
143
160
  } satisfies Model<"bedrock-converse-stream">,
161
+ "anthropic.claude-3-haiku-20240307-v1:0": {
162
+ id: "anthropic.claude-3-haiku-20240307-v1:0",
163
+ name: "Claude Haiku 3",
164
+ api: "bedrock-converse-stream",
165
+ provider: "amazon-bedrock",
166
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
167
+ reasoning: false,
168
+ input: ["text", "image"],
169
+ cost: {
170
+ input: 0.25,
171
+ output: 1.25,
172
+ cacheRead: 0,
173
+ cacheWrite: 0,
174
+ },
175
+ contextWindow: 200000,
176
+ maxTokens: 4096,
177
+ } satisfies Model<"bedrock-converse-stream">,
144
178
  "anthropic.claude-haiku-4-5-20251001-v1:0": {
145
179
  id: "anthropic.claude-haiku-4-5-20251001-v1:0",
146
180
  name: "Claude Haiku 4.5",
@@ -770,23 +804,6 @@ export const MODELS = {
770
804
  contextWindow: 204800,
771
805
  maxTokens: 131072,
772
806
  } satisfies Model<"bedrock-converse-stream">,
773
- "minimax.minimax-m2.5": {
774
- id: "minimax.minimax-m2.5",
775
- name: "MiniMax M2.5",
776
- api: "bedrock-converse-stream",
777
- provider: "amazon-bedrock",
778
- baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
779
- reasoning: true,
780
- input: ["text"],
781
- cost: {
782
- input: 0.3,
783
- output: 1.2,
784
- cacheRead: 0,
785
- cacheWrite: 0,
786
- },
787
- contextWindow: 196608,
788
- maxTokens: 98304,
789
- } satisfies Model<"bedrock-converse-stream">,
790
807
  "mistral.devstral-2-123b": {
791
808
  id: "mistral.devstral-2-123b",
792
809
  name: "Devstral 2 123B",
@@ -1025,23 +1042,6 @@ export const MODELS = {
1025
1042
  contextWindow: 128000,
1026
1043
  maxTokens: 4096,
1027
1044
  } satisfies Model<"bedrock-converse-stream">,
1028
- "nvidia.nemotron-super-3-120b": {
1029
- id: "nvidia.nemotron-super-3-120b",
1030
- name: "NVIDIA Nemotron 3 Super 120B A12B",
1031
- api: "bedrock-converse-stream",
1032
- provider: "amazon-bedrock",
1033
- baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1034
- reasoning: true,
1035
- input: ["text"],
1036
- cost: {
1037
- input: 0.15,
1038
- output: 0.65,
1039
- cacheRead: 0,
1040
- cacheWrite: 0,
1041
- },
1042
- contextWindow: 262144,
1043
- maxTokens: 131072,
1044
- } satisfies Model<"bedrock-converse-stream">,
1045
1045
  "openai.gpt-oss-120b-1:0": {
1046
1046
  id: "openai.gpt-oss-120b-1:0",
1047
1047
  name: "gpt-oss-120b",
@@ -1416,23 +1416,6 @@ export const MODELS = {
1416
1416
  contextWindow: 200000,
1417
1417
  maxTokens: 131072,
1418
1418
  } satisfies Model<"bedrock-converse-stream">,
1419
- "zai.glm-5": {
1420
- id: "zai.glm-5",
1421
- name: "GLM-5",
1422
- api: "bedrock-converse-stream",
1423
- provider: "amazon-bedrock",
1424
- baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1425
- reasoning: true,
1426
- input: ["text"],
1427
- cost: {
1428
- input: 1,
1429
- output: 3.2,
1430
- cacheRead: 0,
1431
- cacheWrite: 0,
1432
- },
1433
- contextWindow: 202752,
1434
- maxTokens: 101376,
1435
- } satisfies Model<"bedrock-converse-stream">,
1436
1419
  },
1437
1420
  "anthropic": {
1438
1421
  "claude-3-5-haiku-20241022": {
@@ -1469,6 +1452,23 @@ export const MODELS = {
1469
1452
  contextWindow: 200000,
1470
1453
  maxTokens: 8192,
1471
1454
  } satisfies Model<"anthropic-messages">,
1455
+ "claude-3-5-sonnet-20240620": {
1456
+ id: "claude-3-5-sonnet-20240620",
1457
+ name: "Claude Sonnet 3.5",
1458
+ api: "anthropic-messages",
1459
+ provider: "anthropic",
1460
+ baseUrl: "https://api.anthropic.com",
1461
+ reasoning: false,
1462
+ input: ["text", "image"],
1463
+ cost: {
1464
+ input: 3,
1465
+ output: 15,
1466
+ cacheRead: 0.3,
1467
+ cacheWrite: 3.75,
1468
+ },
1469
+ contextWindow: 200000,
1470
+ maxTokens: 8192,
1471
+ } satisfies Model<"anthropic-messages">,
1472
1472
  "claude-3-5-sonnet-20241022": {
1473
1473
  id: "claude-3-5-sonnet-20241022",
1474
1474
  name: "Claude Sonnet 3.5 v2",
@@ -1520,6 +1520,57 @@ export const MODELS = {
1520
1520
  contextWindow: 200000,
1521
1521
  maxTokens: 64000,
1522
1522
  } satisfies Model<"anthropic-messages">,
1523
+ "claude-3-haiku-20240307": {
1524
+ id: "claude-3-haiku-20240307",
1525
+ name: "Claude Haiku 3",
1526
+ api: "anthropic-messages",
1527
+ provider: "anthropic",
1528
+ baseUrl: "https://api.anthropic.com",
1529
+ reasoning: false,
1530
+ input: ["text", "image"],
1531
+ cost: {
1532
+ input: 0.25,
1533
+ output: 1.25,
1534
+ cacheRead: 0.03,
1535
+ cacheWrite: 0.3,
1536
+ },
1537
+ contextWindow: 200000,
1538
+ maxTokens: 4096,
1539
+ } satisfies Model<"anthropic-messages">,
1540
+ "claude-3-opus-20240229": {
1541
+ id: "claude-3-opus-20240229",
1542
+ name: "Claude Opus 3",
1543
+ api: "anthropic-messages",
1544
+ provider: "anthropic",
1545
+ baseUrl: "https://api.anthropic.com",
1546
+ reasoning: false,
1547
+ input: ["text", "image"],
1548
+ cost: {
1549
+ input: 15,
1550
+ output: 75,
1551
+ cacheRead: 1.5,
1552
+ cacheWrite: 18.75,
1553
+ },
1554
+ contextWindow: 200000,
1555
+ maxTokens: 4096,
1556
+ } satisfies Model<"anthropic-messages">,
1557
+ "claude-3-sonnet-20240229": {
1558
+ id: "claude-3-sonnet-20240229",
1559
+ name: "Claude Sonnet 3",
1560
+ api: "anthropic-messages",
1561
+ provider: "anthropic",
1562
+ baseUrl: "https://api.anthropic.com",
1563
+ reasoning: false,
1564
+ input: ["text", "image"],
1565
+ cost: {
1566
+ input: 3,
1567
+ output: 15,
1568
+ cacheRead: 0.3,
1569
+ cacheWrite: 0.3,
1570
+ },
1571
+ contextWindow: 200000,
1572
+ maxTokens: 4096,
1573
+ } satisfies Model<"anthropic-messages">,
1523
1574
  "claude-haiku-4-5": {
1524
1575
  id: "claude-haiku-4-5",
1525
1576
  name: "Claude Haiku 4.5 (latest)",
@@ -1777,6 +1828,40 @@ export const MODELS = {
1777
1828
  contextWindow: 200000,
1778
1829
  maxTokens: 100000,
1779
1830
  } satisfies Model<"azure-openai-responses">,
1831
+ "gpt-4": {
1832
+ id: "gpt-4",
1833
+ name: "GPT-4",
1834
+ api: "azure-openai-responses",
1835
+ provider: "azure-openai-responses",
1836
+ baseUrl: "",
1837
+ reasoning: false,
1838
+ input: ["text"],
1839
+ cost: {
1840
+ input: 30,
1841
+ output: 60,
1842
+ cacheRead: 0,
1843
+ cacheWrite: 0,
1844
+ },
1845
+ contextWindow: 8192,
1846
+ maxTokens: 8192,
1847
+ } satisfies Model<"azure-openai-responses">,
1848
+ "gpt-4-turbo": {
1849
+ id: "gpt-4-turbo",
1850
+ name: "GPT-4 Turbo",
1851
+ api: "azure-openai-responses",
1852
+ provider: "azure-openai-responses",
1853
+ baseUrl: "",
1854
+ reasoning: false,
1855
+ input: ["text", "image"],
1856
+ cost: {
1857
+ input: 10,
1858
+ output: 30,
1859
+ cacheRead: 0,
1860
+ cacheWrite: 0,
1861
+ },
1862
+ contextWindow: 128000,
1863
+ maxTokens: 4096,
1864
+ } satisfies Model<"azure-openai-responses">,
1780
1865
  "gpt-4.1": {
1781
1866
  id: "gpt-4.1",
1782
1867
  name: "GPT-4.1",
@@ -1828,6 +1913,91 @@ export const MODELS = {
1828
1913
  contextWindow: 1047576,
1829
1914
  maxTokens: 32768,
1830
1915
  } satisfies Model<"azure-openai-responses">,
1916
+ "gpt-4o": {
1917
+ id: "gpt-4o",
1918
+ name: "GPT-4o",
1919
+ api: "azure-openai-responses",
1920
+ provider: "azure-openai-responses",
1921
+ baseUrl: "",
1922
+ reasoning: false,
1923
+ input: ["text", "image"],
1924
+ cost: {
1925
+ input: 2.5,
1926
+ output: 10,
1927
+ cacheRead: 1.25,
1928
+ cacheWrite: 0,
1929
+ },
1930
+ contextWindow: 128000,
1931
+ maxTokens: 16384,
1932
+ } satisfies Model<"azure-openai-responses">,
1933
+ "gpt-4o-2024-05-13": {
1934
+ id: "gpt-4o-2024-05-13",
1935
+ name: "GPT-4o (2024-05-13)",
1936
+ api: "azure-openai-responses",
1937
+ provider: "azure-openai-responses",
1938
+ baseUrl: "",
1939
+ reasoning: false,
1940
+ input: ["text", "image"],
1941
+ cost: {
1942
+ input: 5,
1943
+ output: 15,
1944
+ cacheRead: 0,
1945
+ cacheWrite: 0,
1946
+ },
1947
+ contextWindow: 128000,
1948
+ maxTokens: 4096,
1949
+ } satisfies Model<"azure-openai-responses">,
1950
+ "gpt-4o-2024-08-06": {
1951
+ id: "gpt-4o-2024-08-06",
1952
+ name: "GPT-4o (2024-08-06)",
1953
+ api: "azure-openai-responses",
1954
+ provider: "azure-openai-responses",
1955
+ baseUrl: "",
1956
+ reasoning: false,
1957
+ input: ["text", "image"],
1958
+ cost: {
1959
+ input: 2.5,
1960
+ output: 10,
1961
+ cacheRead: 1.25,
1962
+ cacheWrite: 0,
1963
+ },
1964
+ contextWindow: 128000,
1965
+ maxTokens: 16384,
1966
+ } satisfies Model<"azure-openai-responses">,
1967
+ "gpt-4o-2024-11-20": {
1968
+ id: "gpt-4o-2024-11-20",
1969
+ name: "GPT-4o (2024-11-20)",
1970
+ api: "azure-openai-responses",
1971
+ provider: "azure-openai-responses",
1972
+ baseUrl: "",
1973
+ reasoning: false,
1974
+ input: ["text", "image"],
1975
+ cost: {
1976
+ input: 2.5,
1977
+ output: 10,
1978
+ cacheRead: 1.25,
1979
+ cacheWrite: 0,
1980
+ },
1981
+ contextWindow: 128000,
1982
+ maxTokens: 16384,
1983
+ } satisfies Model<"azure-openai-responses">,
1984
+ "gpt-4o-mini": {
1985
+ id: "gpt-4o-mini",
1986
+ name: "GPT-4o mini",
1987
+ api: "azure-openai-responses",
1988
+ provider: "azure-openai-responses",
1989
+ baseUrl: "",
1990
+ reasoning: false,
1991
+ input: ["text", "image"],
1992
+ cost: {
1993
+ input: 0.15,
1994
+ output: 0.6,
1995
+ cacheRead: 0.08,
1996
+ cacheWrite: 0,
1997
+ },
1998
+ contextWindow: 128000,
1999
+ maxTokens: 16384,
2000
+ } satisfies Model<"azure-openai-responses">,
1831
2001
  "gpt-5": {
1832
2002
  id: "gpt-5",
1833
2003
  name: "GPT-5",
@@ -2083,23 +2253,6 @@ export const MODELS = {
2083
2253
  contextWindow: 400000,
2084
2254
  maxTokens: 128000,
2085
2255
  } satisfies Model<"azure-openai-responses">,
2086
- "gpt-5.3-chat-latest": {
2087
- id: "gpt-5.3-chat-latest",
2088
- name: "GPT-5.3 Chat (latest)",
2089
- api: "azure-openai-responses",
2090
- provider: "azure-openai-responses",
2091
- baseUrl: "",
2092
- reasoning: false,
2093
- input: ["text", "image"],
2094
- cost: {
2095
- input: 1.75,
2096
- output: 14,
2097
- cacheRead: 0.175,
2098
- cacheWrite: 0,
2099
- },
2100
- contextWindow: 128000,
2101
- maxTokens: 16384,
2102
- } satisfies Model<"azure-openai-responses">,
2103
2256
  "gpt-5.3-codex": {
2104
2257
  id: "gpt-5.3-codex",
2105
2258
  name: "GPT-5.3 Codex",
@@ -2613,6 +2766,25 @@ export const MODELS = {
2613
2766
  contextWindow: 128000,
2614
2767
  maxTokens: 16384,
2615
2768
  } satisfies Model<"openai-completions">,
2769
+ "gpt-4o": {
2770
+ id: "gpt-4o",
2771
+ name: "GPT-4o",
2772
+ api: "openai-completions",
2773
+ provider: "github-copilot",
2774
+ baseUrl: "https://api.individual.githubcopilot.com",
2775
+ headers: {"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},
2776
+ compat: {"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false},
2777
+ reasoning: false,
2778
+ input: ["text", "image"],
2779
+ cost: {
2780
+ input: 0,
2781
+ output: 0,
2782
+ cacheRead: 0,
2783
+ cacheWrite: 0,
2784
+ },
2785
+ contextWindow: 128000,
2786
+ maxTokens: 4096,
2787
+ } satisfies Model<"openai-completions">,
2616
2788
  "gpt-5": {
2617
2789
  id: "gpt-5",
2618
2790
  name: "GPT-5",
@@ -2832,7 +3004,58 @@ export const MODELS = {
2832
3004
  } satisfies Model<"openai-completions">,
2833
3005
  },
2834
3006
  "google": {
2835
- "gemini-2.0-flash": {
3007
+ "gemini-1.5-flash": {
3008
+ id: "gemini-1.5-flash",
3009
+ name: "Gemini 1.5 Flash",
3010
+ api: "google-generative-ai",
3011
+ provider: "google",
3012
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta",
3013
+ reasoning: false,
3014
+ input: ["text", "image"],
3015
+ cost: {
3016
+ input: 0.075,
3017
+ output: 0.3,
3018
+ cacheRead: 0.01875,
3019
+ cacheWrite: 0,
3020
+ },
3021
+ contextWindow: 1000000,
3022
+ maxTokens: 8192,
3023
+ } satisfies Model<"google-generative-ai">,
3024
+ "gemini-1.5-flash-8b": {
3025
+ id: "gemini-1.5-flash-8b",
3026
+ name: "Gemini 1.5 Flash-8B",
3027
+ api: "google-generative-ai",
3028
+ provider: "google",
3029
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta",
3030
+ reasoning: false,
3031
+ input: ["text", "image"],
3032
+ cost: {
3033
+ input: 0.0375,
3034
+ output: 0.15,
3035
+ cacheRead: 0.01,
3036
+ cacheWrite: 0,
3037
+ },
3038
+ contextWindow: 1000000,
3039
+ maxTokens: 8192,
3040
+ } satisfies Model<"google-generative-ai">,
3041
+ "gemini-1.5-pro": {
3042
+ id: "gemini-1.5-pro",
3043
+ name: "Gemini 1.5 Pro",
3044
+ api: "google-generative-ai",
3045
+ provider: "google",
3046
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta",
3047
+ reasoning: false,
3048
+ input: ["text", "image"],
3049
+ cost: {
3050
+ input: 1.25,
3051
+ output: 5,
3052
+ cacheRead: 0.3125,
3053
+ cacheWrite: 0,
3054
+ },
3055
+ contextWindow: 1000000,
3056
+ maxTokens: 8192,
3057
+ } satisfies Model<"google-generative-ai">,
3058
+ "gemini-2.0-flash": {
2836
3059
  id: "gemini-2.0-flash",
2837
3060
  name: "Gemini 2.0 Flash",
2838
3061
  api: "google-generative-ai",
@@ -3189,23 +3412,6 @@ export const MODELS = {
3189
3412
  contextWindow: 131072,
3190
3413
  maxTokens: 65536,
3191
3414
  } satisfies Model<"google-generative-ai">,
3192
- "gemma-3-27b-it": {
3193
- id: "gemma-3-27b-it",
3194
- name: "Gemma 3 27B",
3195
- api: "google-generative-ai",
3196
- provider: "google",
3197
- baseUrl: "https://generativelanguage.googleapis.com/v1beta",
3198
- reasoning: false,
3199
- input: ["text", "image"],
3200
- cost: {
3201
- input: 0,
3202
- output: 0,
3203
- cacheRead: 0,
3204
- cacheWrite: 0,
3205
- },
3206
- contextWindow: 131072,
3207
- maxTokens: 8192,
3208
- } satisfies Model<"google-generative-ai">,
3209
3415
  },
3210
3416
  "google-antigravity": {
3211
3417
  "claude-opus-4-5-thinking": {
@@ -3467,6 +3673,57 @@ export const MODELS = {
3467
3673
  } satisfies Model<"google-gemini-cli">,
3468
3674
  },
3469
3675
  "google-vertex": {
3676
+ "gemini-1.5-flash": {
3677
+ id: "gemini-1.5-flash",
3678
+ name: "Gemini 1.5 Flash (Vertex)",
3679
+ api: "google-vertex",
3680
+ provider: "google-vertex",
3681
+ baseUrl: "https://{location}-aiplatform.googleapis.com",
3682
+ reasoning: false,
3683
+ input: ["text", "image"],
3684
+ cost: {
3685
+ input: 0.075,
3686
+ output: 0.3,
3687
+ cacheRead: 0.01875,
3688
+ cacheWrite: 0,
3689
+ },
3690
+ contextWindow: 1000000,
3691
+ maxTokens: 8192,
3692
+ } satisfies Model<"google-vertex">,
3693
+ "gemini-1.5-flash-8b": {
3694
+ id: "gemini-1.5-flash-8b",
3695
+ name: "Gemini 1.5 Flash-8B (Vertex)",
3696
+ api: "google-vertex",
3697
+ provider: "google-vertex",
3698
+ baseUrl: "https://{location}-aiplatform.googleapis.com",
3699
+ reasoning: false,
3700
+ input: ["text", "image"],
3701
+ cost: {
3702
+ input: 0.0375,
3703
+ output: 0.15,
3704
+ cacheRead: 0.01,
3705
+ cacheWrite: 0,
3706
+ },
3707
+ contextWindow: 1000000,
3708
+ maxTokens: 8192,
3709
+ } satisfies Model<"google-vertex">,
3710
+ "gemini-1.5-pro": {
3711
+ id: "gemini-1.5-pro",
3712
+ name: "Gemini 1.5 Pro (Vertex)",
3713
+ api: "google-vertex",
3714
+ provider: "google-vertex",
3715
+ baseUrl: "https://{location}-aiplatform.googleapis.com",
3716
+ reasoning: false,
3717
+ input: ["text", "image"],
3718
+ cost: {
3719
+ input: 1.25,
3720
+ output: 5,
3721
+ cacheRead: 0.3125,
3722
+ cacheWrite: 0,
3723
+ },
3724
+ contextWindow: 1000000,
3725
+ maxTokens: 8192,
3726
+ } satisfies Model<"google-vertex">,
3470
3727
  "gemini-2.0-flash": {
3471
3728
  id: "gemini-2.0-flash",
3472
3729
  name: "Gemini 2.0 Flash (Vertex)",
@@ -3656,40 +3913,6 @@ export const MODELS = {
3656
3913
  contextWindow: 8192,
3657
3914
  maxTokens: 8192,
3658
3915
  } satisfies Model<"openai-completions">,
3659
- "groq/compound": {
3660
- id: "groq/compound",
3661
- name: "Compound",
3662
- api: "openai-completions",
3663
- provider: "groq",
3664
- baseUrl: "https://api.groq.com/openai/v1",
3665
- reasoning: true,
3666
- input: ["text"],
3667
- cost: {
3668
- input: 0,
3669
- output: 0,
3670
- cacheRead: 0,
3671
- cacheWrite: 0,
3672
- },
3673
- contextWindow: 131072,
3674
- maxTokens: 8192,
3675
- } satisfies Model<"openai-completions">,
3676
- "groq/compound-mini": {
3677
- id: "groq/compound-mini",
3678
- name: "Compound Mini",
3679
- api: "openai-completions",
3680
- provider: "groq",
3681
- baseUrl: "https://api.groq.com/openai/v1",
3682
- reasoning: true,
3683
- input: ["text"],
3684
- cost: {
3685
- input: 0,
3686
- output: 0,
3687
- cacheRead: 0,
3688
- cacheWrite: 0,
3689
- },
3690
- contextWindow: 131072,
3691
- maxTokens: 8192,
3692
- } satisfies Model<"openai-completions">,
3693
3916
  "llama-3.1-8b-instant": {
3694
3917
  id: "llama-3.1-8b-instant",
3695
3918
  name: "Llama 3.1 8B Instant",
@@ -3877,23 +4100,6 @@ export const MODELS = {
3877
4100
  contextWindow: 131072,
3878
4101
  maxTokens: 65536,
3879
4102
  } satisfies Model<"openai-completions">,
3880
- "openai/gpt-oss-safeguard-20b": {
3881
- id: "openai/gpt-oss-safeguard-20b",
3882
- name: "Safety GPT OSS 20B",
3883
- api: "openai-completions",
3884
- provider: "groq",
3885
- baseUrl: "https://api.groq.com/openai/v1",
3886
- reasoning: true,
3887
- input: ["text"],
3888
- cost: {
3889
- input: 0.075,
3890
- output: 0.3,
3891
- cacheRead: 0.037,
3892
- cacheWrite: 0,
3893
- },
3894
- contextWindow: 131072,
3895
- maxTokens: 65536,
3896
- } satisfies Model<"openai-completions">,
3897
4103
  "qwen-qwq-32b": {
3898
4104
  id: "qwen-qwq-32b",
3899
4105
  name: "Qwen QwQ 32B",
@@ -3926,7 +4132,7 @@ export const MODELS = {
3926
4132
  cacheWrite: 0,
3927
4133
  },
3928
4134
  contextWindow: 131072,
3929
- maxTokens: 40960,
4135
+ maxTokens: 16384,
3930
4136
  } satisfies Model<"openai-completions">,
3931
4137
  },
3932
4138
  "huggingface": {
@@ -4823,39 +5029,22 @@ export const MODELS = {
4823
5029
  contextWindow: 128000,
4824
5030
  maxTokens: 16384,
4825
5031
  } satisfies Model<"mistral-conversations">,
4826
- "mistral-small-2603": {
4827
- id: "mistral-small-2603",
4828
- name: "Mistral Small 4",
4829
- api: "mistral-conversations",
4830
- provider: "mistral",
4831
- baseUrl: "https://api.mistral.ai",
4832
- reasoning: true,
4833
- input: ["text", "image"],
4834
- cost: {
4835
- input: 0.15,
4836
- output: 0.6,
4837
- cacheRead: 0,
4838
- cacheWrite: 0,
4839
- },
4840
- contextWindow: 256000,
4841
- maxTokens: 256000,
4842
- } satisfies Model<"mistral-conversations">,
4843
5032
  "mistral-small-latest": {
4844
5033
  id: "mistral-small-latest",
4845
5034
  name: "Mistral Small (latest)",
4846
5035
  api: "mistral-conversations",
4847
5036
  provider: "mistral",
4848
5037
  baseUrl: "https://api.mistral.ai",
4849
- reasoning: true,
5038
+ reasoning: false,
4850
5039
  input: ["text", "image"],
4851
5040
  cost: {
4852
- input: 0.15,
4853
- output: 0.6,
5041
+ input: 0.1,
5042
+ output: 0.3,
4854
5043
  cacheRead: 0,
4855
5044
  cacheWrite: 0,
4856
5045
  },
4857
- contextWindow: 256000,
4858
- maxTokens: 256000,
5046
+ contextWindow: 128000,
5047
+ maxTokens: 16384,
4859
5048
  } satisfies Model<"mistral-conversations">,
4860
5049
  "open-mistral-7b": {
4861
5050
  id: "open-mistral-7b",
@@ -4940,77 +5129,196 @@ export const MODELS = {
4940
5129
  cacheWrite: 0,
4941
5130
  },
4942
5131
  contextWindow: 128000,
4943
- maxTokens: 128000,
4944
- } satisfies Model<"mistral-conversations">,
4945
- },
4946
- "openai": {
4947
- "codex-mini-latest": {
4948
- id: "codex-mini-latest",
4949
- name: "Codex Mini",
5132
+ maxTokens: 128000,
5133
+ } satisfies Model<"mistral-conversations">,
5134
+ },
5135
+ "openai": {
5136
+ "codex-mini-latest": {
5137
+ id: "codex-mini-latest",
5138
+ name: "Codex Mini",
5139
+ api: "openai-responses",
5140
+ provider: "openai",
5141
+ baseUrl: "https://api.openai.com/v1",
5142
+ reasoning: true,
5143
+ input: ["text"],
5144
+ cost: {
5145
+ input: 1.5,
5146
+ output: 6,
5147
+ cacheRead: 0.375,
5148
+ cacheWrite: 0,
5149
+ },
5150
+ contextWindow: 200000,
5151
+ maxTokens: 100000,
5152
+ } satisfies Model<"openai-responses">,
5153
+ "gpt-4": {
5154
+ id: "gpt-4",
5155
+ name: "GPT-4",
5156
+ api: "openai-responses",
5157
+ provider: "openai",
5158
+ baseUrl: "https://api.openai.com/v1",
5159
+ reasoning: false,
5160
+ input: ["text"],
5161
+ cost: {
5162
+ input: 30,
5163
+ output: 60,
5164
+ cacheRead: 0,
5165
+ cacheWrite: 0,
5166
+ },
5167
+ contextWindow: 8192,
5168
+ maxTokens: 8192,
5169
+ } satisfies Model<"openai-responses">,
5170
+ "gpt-4-turbo": {
5171
+ id: "gpt-4-turbo",
5172
+ name: "GPT-4 Turbo",
5173
+ api: "openai-responses",
5174
+ provider: "openai",
5175
+ baseUrl: "https://api.openai.com/v1",
5176
+ reasoning: false,
5177
+ input: ["text", "image"],
5178
+ cost: {
5179
+ input: 10,
5180
+ output: 30,
5181
+ cacheRead: 0,
5182
+ cacheWrite: 0,
5183
+ },
5184
+ contextWindow: 128000,
5185
+ maxTokens: 4096,
5186
+ } satisfies Model<"openai-responses">,
5187
+ "gpt-4.1": {
5188
+ id: "gpt-4.1",
5189
+ name: "GPT-4.1",
5190
+ api: "openai-responses",
5191
+ provider: "openai",
5192
+ baseUrl: "https://api.openai.com/v1",
5193
+ reasoning: false,
5194
+ input: ["text", "image"],
5195
+ cost: {
5196
+ input: 2,
5197
+ output: 8,
5198
+ cacheRead: 0.5,
5199
+ cacheWrite: 0,
5200
+ },
5201
+ contextWindow: 1047576,
5202
+ maxTokens: 32768,
5203
+ } satisfies Model<"openai-responses">,
5204
+ "gpt-4.1-mini": {
5205
+ id: "gpt-4.1-mini",
5206
+ name: "GPT-4.1 mini",
5207
+ api: "openai-responses",
5208
+ provider: "openai",
5209
+ baseUrl: "https://api.openai.com/v1",
5210
+ reasoning: false,
5211
+ input: ["text", "image"],
5212
+ cost: {
5213
+ input: 0.4,
5214
+ output: 1.6,
5215
+ cacheRead: 0.1,
5216
+ cacheWrite: 0,
5217
+ },
5218
+ contextWindow: 1047576,
5219
+ maxTokens: 32768,
5220
+ } satisfies Model<"openai-responses">,
5221
+ "gpt-4.1-nano": {
5222
+ id: "gpt-4.1-nano",
5223
+ name: "GPT-4.1 nano",
5224
+ api: "openai-responses",
5225
+ provider: "openai",
5226
+ baseUrl: "https://api.openai.com/v1",
5227
+ reasoning: false,
5228
+ input: ["text", "image"],
5229
+ cost: {
5230
+ input: 0.1,
5231
+ output: 0.4,
5232
+ cacheRead: 0.03,
5233
+ cacheWrite: 0,
5234
+ },
5235
+ contextWindow: 1047576,
5236
+ maxTokens: 32768,
5237
+ } satisfies Model<"openai-responses">,
5238
+ "gpt-4o": {
5239
+ id: "gpt-4o",
5240
+ name: "GPT-4o",
5241
+ api: "openai-responses",
5242
+ provider: "openai",
5243
+ baseUrl: "https://api.openai.com/v1",
5244
+ reasoning: false,
5245
+ input: ["text", "image"],
5246
+ cost: {
5247
+ input: 2.5,
5248
+ output: 10,
5249
+ cacheRead: 1.25,
5250
+ cacheWrite: 0,
5251
+ },
5252
+ contextWindow: 128000,
5253
+ maxTokens: 16384,
5254
+ } satisfies Model<"openai-responses">,
5255
+ "gpt-4o-2024-05-13": {
5256
+ id: "gpt-4o-2024-05-13",
5257
+ name: "GPT-4o (2024-05-13)",
4950
5258
  api: "openai-responses",
4951
5259
  provider: "openai",
4952
5260
  baseUrl: "https://api.openai.com/v1",
4953
- reasoning: true,
4954
- input: ["text"],
5261
+ reasoning: false,
5262
+ input: ["text", "image"],
4955
5263
  cost: {
4956
- input: 1.5,
4957
- output: 6,
4958
- cacheRead: 0.375,
5264
+ input: 5,
5265
+ output: 15,
5266
+ cacheRead: 0,
4959
5267
  cacheWrite: 0,
4960
5268
  },
4961
- contextWindow: 200000,
4962
- maxTokens: 100000,
5269
+ contextWindow: 128000,
5270
+ maxTokens: 4096,
4963
5271
  } satisfies Model<"openai-responses">,
4964
- "gpt-4.1": {
4965
- id: "gpt-4.1",
4966
- name: "GPT-4.1",
5272
+ "gpt-4o-2024-08-06": {
5273
+ id: "gpt-4o-2024-08-06",
5274
+ name: "GPT-4o (2024-08-06)",
4967
5275
  api: "openai-responses",
4968
5276
  provider: "openai",
4969
5277
  baseUrl: "https://api.openai.com/v1",
4970
5278
  reasoning: false,
4971
5279
  input: ["text", "image"],
4972
5280
  cost: {
4973
- input: 2,
4974
- output: 8,
4975
- cacheRead: 0.5,
5281
+ input: 2.5,
5282
+ output: 10,
5283
+ cacheRead: 1.25,
4976
5284
  cacheWrite: 0,
4977
5285
  },
4978
- contextWindow: 1047576,
4979
- maxTokens: 32768,
5286
+ contextWindow: 128000,
5287
+ maxTokens: 16384,
4980
5288
  } satisfies Model<"openai-responses">,
4981
- "gpt-4.1-mini": {
4982
- id: "gpt-4.1-mini",
4983
- name: "GPT-4.1 mini",
5289
+ "gpt-4o-2024-11-20": {
5290
+ id: "gpt-4o-2024-11-20",
5291
+ name: "GPT-4o (2024-11-20)",
4984
5292
  api: "openai-responses",
4985
5293
  provider: "openai",
4986
5294
  baseUrl: "https://api.openai.com/v1",
4987
5295
  reasoning: false,
4988
5296
  input: ["text", "image"],
4989
5297
  cost: {
4990
- input: 0.4,
4991
- output: 1.6,
4992
- cacheRead: 0.1,
5298
+ input: 2.5,
5299
+ output: 10,
5300
+ cacheRead: 1.25,
4993
5301
  cacheWrite: 0,
4994
5302
  },
4995
- contextWindow: 1047576,
4996
- maxTokens: 32768,
5303
+ contextWindow: 128000,
5304
+ maxTokens: 16384,
4997
5305
  } satisfies Model<"openai-responses">,
4998
- "gpt-4.1-nano": {
4999
- id: "gpt-4.1-nano",
5000
- name: "GPT-4.1 nano",
5306
+ "gpt-4o-mini": {
5307
+ id: "gpt-4o-mini",
5308
+ name: "GPT-4o mini",
5001
5309
  api: "openai-responses",
5002
5310
  provider: "openai",
5003
5311
  baseUrl: "https://api.openai.com/v1",
5004
5312
  reasoning: false,
5005
5313
  input: ["text", "image"],
5006
5314
  cost: {
5007
- input: 0.1,
5008
- output: 0.4,
5009
- cacheRead: 0.03,
5315
+ input: 0.15,
5316
+ output: 0.6,
5317
+ cacheRead: 0.08,
5010
5318
  cacheWrite: 0,
5011
5319
  },
5012
- contextWindow: 1047576,
5013
- maxTokens: 32768,
5320
+ contextWindow: 128000,
5321
+ maxTokens: 16384,
5014
5322
  } satisfies Model<"openai-responses">,
5015
5323
  "gpt-5": {
5016
5324
  id: "gpt-5",
@@ -5267,23 +5575,6 @@ export const MODELS = {
5267
5575
  contextWindow: 400000,
5268
5576
  maxTokens: 128000,
5269
5577
  } satisfies Model<"openai-responses">,
5270
- "gpt-5.3-chat-latest": {
5271
- id: "gpt-5.3-chat-latest",
5272
- name: "GPT-5.3 Chat (latest)",
5273
- api: "openai-responses",
5274
- provider: "openai",
5275
- baseUrl: "https://api.openai.com/v1",
5276
- reasoning: false,
5277
- input: ["text", "image"],
5278
- cost: {
5279
- input: 1.75,
5280
- output: 14,
5281
- cacheRead: 0.175,
5282
- cacheWrite: 0,
5283
- },
5284
- contextWindow: 128000,
5285
- maxTokens: 16384,
5286
- } satisfies Model<"openai-responses">,
5287
5578
  "gpt-5.3-codex": {
5288
5579
  id: "gpt-5.3-codex",
5289
5580
  name: "GPT-5.3 Codex",
@@ -6206,23 +6497,6 @@ export const MODELS = {
6206
6497
  contextWindow: 1000000,
6207
6498
  maxTokens: 128000,
6208
6499
  } satisfies Model<"openai-completions">,
6209
- "qwen3.6-plus-free": {
6210
- id: "qwen3.6-plus-free",
6211
- name: "Qwen3.6 Plus Free",
6212
- api: "openai-completions",
6213
- provider: "opencode",
6214
- baseUrl: "https://opencode.ai/zen/v1",
6215
- reasoning: true,
6216
- input: ["text"],
6217
- cost: {
6218
- input: 0,
6219
- output: 0,
6220
- cacheRead: 0,
6221
- cacheWrite: 0,
6222
- },
6223
- contextWindow: 1048576,
6224
- maxTokens: 64000,
6225
- } satisfies Model<"openai-completions">,
6226
6500
  },
6227
6501
  "opencode-go": {
6228
6502
  "glm-5": {
@@ -6431,6 +6705,23 @@ export const MODELS = {
6431
6705
  contextWindow: 300000,
6432
6706
  maxTokens: 5120,
6433
6707
  } satisfies Model<"openai-completions">,
6708
+ "anthropic/claude-3-haiku": {
6709
+ id: "anthropic/claude-3-haiku",
6710
+ name: "Anthropic: Claude 3 Haiku",
6711
+ api: "openai-completions",
6712
+ provider: "openrouter",
6713
+ baseUrl: "https://openrouter.ai/api/v1",
6714
+ reasoning: false,
6715
+ input: ["text", "image"],
6716
+ cost: {
6717
+ input: 0.25,
6718
+ output: 1.25,
6719
+ cacheRead: 0.03,
6720
+ cacheWrite: 0.3,
6721
+ },
6722
+ contextWindow: 200000,
6723
+ maxTokens: 4096,
6724
+ } satisfies Model<"openai-completions">,
6434
6725
  "anthropic/claude-3.5-haiku": {
6435
6726
  id: "anthropic/claude-3.5-haiku",
6436
6727
  name: "Anthropic: Claude 3.5 Haiku",
@@ -7162,6 +7453,23 @@ export const MODELS = {
7162
7453
  contextWindow: 1048576,
7163
7454
  maxTokens: 65536,
7164
7455
  } satisfies Model<"openai-completions">,
7456
+ "google/gemini-3-pro-preview": {
7457
+ id: "google/gemini-3-pro-preview",
7458
+ name: "Google: Gemini 3 Pro Preview",
7459
+ api: "openai-completions",
7460
+ provider: "openrouter",
7461
+ baseUrl: "https://openrouter.ai/api/v1",
7462
+ reasoning: true,
7463
+ input: ["text", "image"],
7464
+ cost: {
7465
+ input: 2,
7466
+ output: 12,
7467
+ cacheRead: 0.19999999999999998,
7468
+ cacheWrite: 0.375,
7469
+ },
7470
+ contextWindow: 1048576,
7471
+ maxTokens: 65536,
7472
+ } satisfies Model<"openai-completions">,
7165
7473
  "google/gemini-3.1-flash-lite-preview": {
7166
7474
  id: "google/gemini-3.1-flash-lite-preview",
7167
7475
  name: "Google: Gemini 3.1 Flash Lite Preview",
@@ -7264,22 +7572,22 @@ export const MODELS = {
7264
7572
  contextWindow: 128000,
7265
7573
  maxTokens: 32000,
7266
7574
  } satisfies Model<"openai-completions">,
7267
- "kwaipilot/kat-coder-pro-v2": {
7268
- id: "kwaipilot/kat-coder-pro-v2",
7269
- name: "Kwaipilot: KAT-Coder-Pro V2",
7575
+ "kwaipilot/kat-coder-pro": {
7576
+ id: "kwaipilot/kat-coder-pro",
7577
+ name: "Kwaipilot: KAT-Coder-Pro V1",
7270
7578
  api: "openai-completions",
7271
7579
  provider: "openrouter",
7272
7580
  baseUrl: "https://openrouter.ai/api/v1",
7273
7581
  reasoning: false,
7274
7582
  input: ["text"],
7275
7583
  cost: {
7276
- input: 0.3,
7277
- output: 1.2,
7278
- cacheRead: 0.06,
7584
+ input: 0.207,
7585
+ output: 0.828,
7586
+ cacheRead: 0.0414,
7279
7587
  cacheWrite: 0,
7280
7588
  },
7281
7589
  contextWindow: 256000,
7282
- maxTokens: 80000,
7590
+ maxTokens: 128000,
7283
7591
  } satisfies Model<"openai-completions">,
7284
7592
  "meituan/longcat-flash-chat": {
7285
7593
  id: "meituan/longcat-flash-chat",
@@ -7477,9 +7785,9 @@ export const MODELS = {
7477
7785
  reasoning: true,
7478
7786
  input: ["text"],
7479
7787
  cost: {
7480
- input: 0.16,
7481
- output: 1.1,
7482
- cacheRead: 0.08,
7788
+ input: 0.19999999999999998,
7789
+ output: 1.17,
7790
+ cacheRead: 0.09999999999999999,
7483
7791
  cacheWrite: 0,
7484
7792
  },
7485
7793
  contextWindow: 196608,
@@ -7808,6 +8116,23 @@ export const MODELS = {
7808
8116
  contextWindow: 262144,
7809
8117
  maxTokens: 4096,
7810
8118
  } satisfies Model<"openai-completions">,
8119
+ "mistralai/mistral-small-3.1-24b-instruct:free": {
8120
+ id: "mistralai/mistral-small-3.1-24b-instruct:free",
8121
+ name: "Mistral: Mistral Small 3.1 24B (free)",
8122
+ api: "openai-completions",
8123
+ provider: "openrouter",
8124
+ baseUrl: "https://openrouter.ai/api/v1",
8125
+ reasoning: false,
8126
+ input: ["text", "image"],
8127
+ cost: {
8128
+ input: 0,
8129
+ output: 0,
8130
+ cacheRead: 0,
8131
+ cacheWrite: 0,
8132
+ },
8133
+ contextWindow: 128000,
8134
+ maxTokens: 4096,
8135
+ } satisfies Model<"openai-completions">,
7811
8136
  "mistralai/mistral-small-3.2-24b-instruct": {
7812
8137
  id: "mistralai/mistral-small-3.2-24b-instruct",
7813
8138
  name: "Mistral: Mistral Small 3.2 24B",
@@ -7919,13 +8244,13 @@ export const MODELS = {
7919
8244
  reasoning: false,
7920
8245
  input: ["text"],
7921
8246
  cost: {
7922
- input: 0.5700000000000001,
7923
- output: 2.3,
8247
+ input: 0.55,
8248
+ output: 2.2,
7924
8249
  cacheRead: 0,
7925
8250
  cacheWrite: 0,
7926
8251
  },
7927
- contextWindow: 131072,
7928
- maxTokens: 131072,
8252
+ contextWindow: 131000,
8253
+ maxTokens: 4096,
7929
8254
  } satisfies Model<"openai-completions">,
7930
8255
  "moonshotai/kimi-k2-0905": {
7931
8256
  id: "moonshotai/kimi-k2-0905",
@@ -7987,8 +8312,8 @@ export const MODELS = {
7987
8312
  reasoning: false,
7988
8313
  input: ["text"],
7989
8314
  cost: {
7990
- input: 0.135,
7991
- output: 0.5,
8315
+ input: 0.27,
8316
+ output: 1,
7992
8317
  cacheRead: 0,
7993
8318
  cacheWrite: 0,
7994
8319
  },
@@ -8074,7 +8399,7 @@ export const MODELS = {
8074
8399
  cost: {
8075
8400
  input: 0.09999999999999999,
8076
8401
  output: 0.5,
8077
- cacheRead: 0.09999999999999999,
8402
+ cacheRead: 0.04,
8078
8403
  cacheWrite: 0,
8079
8404
  },
8080
8405
  contextWindow: 262144,
@@ -8148,6 +8473,57 @@ export const MODELS = {
8148
8473
  contextWindow: 128000,
8149
8474
  maxTokens: 4096,
8150
8475
  } satisfies Model<"openai-completions">,
8476
+ "openai/gpt-3.5-turbo": {
8477
+ id: "openai/gpt-3.5-turbo",
8478
+ name: "OpenAI: GPT-3.5 Turbo",
8479
+ api: "openai-completions",
8480
+ provider: "openrouter",
8481
+ baseUrl: "https://openrouter.ai/api/v1",
8482
+ reasoning: false,
8483
+ input: ["text"],
8484
+ cost: {
8485
+ input: 0.5,
8486
+ output: 1.5,
8487
+ cacheRead: 0,
8488
+ cacheWrite: 0,
8489
+ },
8490
+ contextWindow: 16385,
8491
+ maxTokens: 4096,
8492
+ } satisfies Model<"openai-completions">,
8493
+ "openai/gpt-3.5-turbo-0613": {
8494
+ id: "openai/gpt-3.5-turbo-0613",
8495
+ name: "OpenAI: GPT-3.5 Turbo (older v0613)",
8496
+ api: "openai-completions",
8497
+ provider: "openrouter",
8498
+ baseUrl: "https://openrouter.ai/api/v1",
8499
+ reasoning: false,
8500
+ input: ["text"],
8501
+ cost: {
8502
+ input: 1,
8503
+ output: 2,
8504
+ cacheRead: 0,
8505
+ cacheWrite: 0,
8506
+ },
8507
+ contextWindow: 4095,
8508
+ maxTokens: 4096,
8509
+ } satisfies Model<"openai-completions">,
8510
+ "openai/gpt-3.5-turbo-16k": {
8511
+ id: "openai/gpt-3.5-turbo-16k",
8512
+ name: "OpenAI: GPT-3.5 Turbo 16k",
8513
+ api: "openai-completions",
8514
+ provider: "openrouter",
8515
+ baseUrl: "https://openrouter.ai/api/v1",
8516
+ reasoning: false,
8517
+ input: ["text"],
8518
+ cost: {
8519
+ input: 3,
8520
+ output: 4,
8521
+ cacheRead: 0,
8522
+ cacheWrite: 0,
8523
+ },
8524
+ contextWindow: 16385,
8525
+ maxTokens: 4096,
8526
+ } satisfies Model<"openai-completions">,
8151
8527
  "openai/gpt-4": {
8152
8528
  id: "openai/gpt-4",
8153
8529
  name: "OpenAI: GPT-4",
@@ -8199,6 +8575,40 @@ export const MODELS = {
8199
8575
  contextWindow: 128000,
8200
8576
  maxTokens: 4096,
8201
8577
  } satisfies Model<"openai-completions">,
8578
+ "openai/gpt-4-turbo": {
8579
+ id: "openai/gpt-4-turbo",
8580
+ name: "OpenAI: GPT-4 Turbo",
8581
+ api: "openai-completions",
8582
+ provider: "openrouter",
8583
+ baseUrl: "https://openrouter.ai/api/v1",
8584
+ reasoning: false,
8585
+ input: ["text", "image"],
8586
+ cost: {
8587
+ input: 10,
8588
+ output: 30,
8589
+ cacheRead: 0,
8590
+ cacheWrite: 0,
8591
+ },
8592
+ contextWindow: 128000,
8593
+ maxTokens: 4096,
8594
+ } satisfies Model<"openai-completions">,
8595
+ "openai/gpt-4-turbo-preview": {
8596
+ id: "openai/gpt-4-turbo-preview",
8597
+ name: "OpenAI: GPT-4 Turbo Preview",
8598
+ api: "openai-completions",
8599
+ provider: "openrouter",
8600
+ baseUrl: "https://openrouter.ai/api/v1",
8601
+ reasoning: false,
8602
+ input: ["text"],
8603
+ cost: {
8604
+ input: 10,
8605
+ output: 30,
8606
+ cacheRead: 0,
8607
+ cacheWrite: 0,
8608
+ },
8609
+ contextWindow: 128000,
8610
+ maxTokens: 4096,
8611
+ } satisfies Model<"openai-completions">,
8202
8612
  "openai/gpt-4.1": {
8203
8613
  id: "openai/gpt-4.1",
8204
8614
  name: "OpenAI: GPT-4.1",
@@ -8744,55 +9154,21 @@ export const MODELS = {
8744
9154
  maxTokens: 128000,
8745
9155
  } satisfies Model<"openai-completions">,
8746
9156
  "openai/gpt-5.4-pro": {
8747
- id: "openai/gpt-5.4-pro",
8748
- name: "OpenAI: GPT-5.4 Pro",
8749
- api: "openai-completions",
8750
- provider: "openrouter",
8751
- baseUrl: "https://openrouter.ai/api/v1",
8752
- reasoning: true,
8753
- input: ["text", "image"],
8754
- cost: {
8755
- input: 30,
8756
- output: 180,
8757
- cacheRead: 0,
8758
- cacheWrite: 0,
8759
- },
8760
- contextWindow: 1050000,
8761
- maxTokens: 128000,
8762
- } satisfies Model<"openai-completions">,
8763
- "openai/gpt-audio": {
8764
- id: "openai/gpt-audio",
8765
- name: "OpenAI: GPT Audio",
8766
- api: "openai-completions",
8767
- provider: "openrouter",
8768
- baseUrl: "https://openrouter.ai/api/v1",
8769
- reasoning: false,
8770
- input: ["text"],
8771
- cost: {
8772
- input: 2.5,
8773
- output: 10,
8774
- cacheRead: 0,
8775
- cacheWrite: 0,
8776
- },
8777
- contextWindow: 128000,
8778
- maxTokens: 16384,
8779
- } satisfies Model<"openai-completions">,
8780
- "openai/gpt-audio-mini": {
8781
- id: "openai/gpt-audio-mini",
8782
- name: "OpenAI: GPT Audio Mini",
9157
+ id: "openai/gpt-5.4-pro",
9158
+ name: "OpenAI: GPT-5.4 Pro",
8783
9159
  api: "openai-completions",
8784
9160
  provider: "openrouter",
8785
9161
  baseUrl: "https://openrouter.ai/api/v1",
8786
- reasoning: false,
8787
- input: ["text"],
9162
+ reasoning: true,
9163
+ input: ["text", "image"],
8788
9164
  cost: {
8789
- input: 0.6,
8790
- output: 2.4,
9165
+ input: 30,
9166
+ output: 180,
8791
9167
  cacheRead: 0,
8792
9168
  cacheWrite: 0,
8793
9169
  },
8794
- contextWindow: 128000,
8795
- maxTokens: 16384,
9170
+ contextWindow: 1050000,
9171
+ maxTokens: 128000,
8796
9172
  } satisfies Model<"openai-completions">,
8797
9173
  "openai/gpt-oss-120b": {
8798
9174
  id: "openai/gpt-oss-120b",
@@ -9115,7 +9491,7 @@ export const MODELS = {
9115
9491
  cacheWrite: 0,
9116
9492
  },
9117
9493
  contextWindow: 32768,
9118
- maxTokens: 32768,
9494
+ maxTokens: 4096,
9119
9495
  } satisfies Model<"openai-completions">,
9120
9496
  "qwen/qwen-max": {
9121
9497
  id: "qwen/qwen-max",
@@ -9355,6 +9731,23 @@ export const MODELS = {
9355
9731
  contextWindow: 40960,
9356
9732
  maxTokens: 40960,
9357
9733
  } satisfies Model<"openai-completions">,
9734
+ "qwen/qwen3-4b:free": {
9735
+ id: "qwen/qwen3-4b:free",
9736
+ name: "Qwen: Qwen3 4B (free)",
9737
+ api: "openai-completions",
9738
+ provider: "openrouter",
9739
+ baseUrl: "https://openrouter.ai/api/v1",
9740
+ reasoning: true,
9741
+ input: ["text"],
9742
+ cost: {
9743
+ input: 0,
9744
+ output: 0,
9745
+ cacheRead: 0,
9746
+ cacheWrite: 0,
9747
+ },
9748
+ contextWindow: 40960,
9749
+ maxTokens: 4096,
9750
+ } satisfies Model<"openai-completions">,
9358
9751
  "qwen/qwen3-8b": {
9359
9752
  id: "qwen/qwen3-8b",
9360
9753
  name: "Qwen: Qwen3 8B",
@@ -9761,7 +10154,7 @@ export const MODELS = {
9761
10154
  cacheWrite: 0,
9762
10155
  },
9763
10156
  contextWindow: 256000,
9764
- maxTokens: 65536,
10157
+ maxTokens: 4096,
9765
10158
  } satisfies Model<"openai-completions">,
9766
10159
  "qwen/qwen3.5-flash-02-23": {
9767
10160
  id: "qwen/qwen3.5-flash-02-23",
@@ -9797,23 +10190,6 @@ export const MODELS = {
9797
10190
  contextWindow: 1000000,
9798
10191
  maxTokens: 65536,
9799
10192
  } satisfies Model<"openai-completions">,
9800
- "qwen/qwen3.6-plus-preview:free": {
9801
- id: "qwen/qwen3.6-plus-preview:free",
9802
- name: "Qwen: Qwen3.6 Plus Preview (free)",
9803
- api: "openai-completions",
9804
- provider: "openrouter",
9805
- baseUrl: "https://openrouter.ai/api/v1",
9806
- reasoning: true,
9807
- input: ["text"],
9808
- cost: {
9809
- input: 0,
9810
- output: 0,
9811
- cacheRead: 0,
9812
- cacheWrite: 0,
9813
- },
9814
- contextWindow: 1000000,
9815
- maxTokens: 32000,
9816
- } satisfies Model<"openai-completions">,
9817
10193
  "qwen/qwq-32b": {
9818
10194
  id: "qwen/qwq-32b",
9819
10195
  name: "Qwen: QwQ 32B",
@@ -9831,23 +10207,6 @@ export const MODELS = {
9831
10207
  contextWindow: 131072,
9832
10208
  maxTokens: 131072,
9833
10209
  } satisfies Model<"openai-completions">,
9834
- "reka/reka-edge": {
9835
- id: "reka/reka-edge",
9836
- name: "Reka Edge",
9837
- api: "openai-completions",
9838
- provider: "openrouter",
9839
- baseUrl: "https://openrouter.ai/api/v1",
9840
- reasoning: false,
9841
- input: ["text", "image"],
9842
- cost: {
9843
- input: 0.09999999999999999,
9844
- output: 0.09999999999999999,
9845
- cacheRead: 0,
9846
- cacheWrite: 0,
9847
- },
9848
- contextWindow: 16384,
9849
- maxTokens: 16384,
9850
- } satisfies Model<"openai-completions">,
9851
10210
  "relace/relace-search": {
9852
10211
  id: "relace/relace-search",
9853
10212
  name: "Relace: Relace Search",
@@ -9910,11 +10269,11 @@ export const MODELS = {
9910
10269
  cost: {
9911
10270
  input: 0.09999999999999999,
9912
10271
  output: 0.3,
9913
- cacheRead: 0,
10272
+ cacheRead: 0.02,
9914
10273
  cacheWrite: 0,
9915
10274
  },
9916
- contextWindow: 262144,
9917
- maxTokens: 65536,
10275
+ contextWindow: 256000,
10276
+ maxTokens: 256000,
9918
10277
  } satisfies Model<"openai-completions">,
9919
10278
  "stepfun/step-3.5-flash:free": {
9920
10279
  id: "stepfun/step-3.5-flash:free",
@@ -10120,23 +10479,6 @@ export const MODELS = {
10120
10479
  contextWindow: 2000000,
10121
10480
  maxTokens: 30000,
10122
10481
  } satisfies Model<"openai-completions">,
10123
- "x-ai/grok-4.20": {
10124
- id: "x-ai/grok-4.20",
10125
- name: "xAI: Grok 4.20",
10126
- api: "openai-completions",
10127
- provider: "openrouter",
10128
- baseUrl: "https://openrouter.ai/api/v1",
10129
- reasoning: true,
10130
- input: ["text", "image"],
10131
- cost: {
10132
- input: 2,
10133
- output: 6,
10134
- cacheRead: 0.19999999999999998,
10135
- cacheWrite: 0,
10136
- },
10137
- contextWindow: 2000000,
10138
- maxTokens: 4096,
10139
- } satisfies Model<"openai-completions">,
10140
10482
  "x-ai/grok-4.20-beta": {
10141
10483
  id: "x-ai/grok-4.20-beta",
10142
10484
  name: "xAI: Grok 4.20 Beta",
@@ -10401,9 +10743,9 @@ export const MODELS = {
10401
10743
  reasoning: true,
10402
10744
  input: ["text"],
10403
10745
  cost: {
10404
- input: 1.2,
10405
- output: 4,
10406
- cacheRead: 0.24,
10746
+ input: 0.96,
10747
+ output: 3.1999999999999997,
10748
+ cacheRead: 0.192,
10407
10749
  cacheWrite: 0,
10408
10750
  },
10409
10751
  contextWindow: 202752,
@@ -10437,12 +10779,12 @@ export const MODELS = {
10437
10779
  reasoning: false,
10438
10780
  input: ["text"],
10439
10781
  cost: {
10440
- input: 0.22,
10441
- output: 0.88,
10442
- cacheRead: 0.11,
10782
+ input: 0.071,
10783
+ output: 0.463,
10784
+ cacheRead: 0,
10443
10785
  cacheWrite: 0,
10444
10786
  },
10445
- contextWindow: 32768,
10787
+ contextWindow: 40960,
10446
10788
  maxTokens: 16384,
10447
10789
  } satisfies Model<"anthropic-messages">,
10448
10790
  "alibaba/qwen-3-30b": {
@@ -10471,13 +10813,13 @@ export const MODELS = {
10471
10813
  reasoning: true,
10472
10814
  input: ["text"],
10473
10815
  cost: {
10474
- input: 0.16,
10475
- output: 0.64,
10476
- cacheRead: 0,
10816
+ input: 0.29,
10817
+ output: 0.59,
10818
+ cacheRead: 0.145,
10477
10819
  cacheWrite: 0,
10478
10820
  },
10479
- contextWindow: 128000,
10480
- maxTokens: 8192,
10821
+ contextWindow: 131072,
10822
+ maxTokens: 40960,
10481
10823
  } satisfies Model<"anthropic-messages">,
10482
10824
  "alibaba/qwen3-235b-a22b-thinking": {
10483
10825
  id: "alibaba/qwen3-235b-a22b-thinking",
@@ -10505,13 +10847,13 @@ export const MODELS = {
10505
10847
  reasoning: false,
10506
10848
  input: ["text"],
10507
10849
  cost: {
10508
- input: 1.5,
10509
- output: 7.5,
10510
- cacheRead: 0.3,
10850
+ input: 0.39999999999999997,
10851
+ output: 1.5999999999999999,
10852
+ cacheRead: 0.022,
10511
10853
  cacheWrite: 0,
10512
10854
  },
10513
10855
  contextWindow: 262144,
10514
- maxTokens: 65536,
10856
+ maxTokens: 66536,
10515
10857
  } satisfies Model<"anthropic-messages">,
10516
10858
  "alibaba/qwen3-coder-30b-a3b": {
10517
10859
  id: "alibaba/qwen3-coder-30b-a3b",
@@ -10666,6 +11008,23 @@ export const MODELS = {
10666
11008
  contextWindow: 1000000,
10667
11009
  maxTokens: 64000,
10668
11010
  } satisfies Model<"anthropic-messages">,
11011
+ "anthropic/claude-3-haiku": {
11012
+ id: "anthropic/claude-3-haiku",
11013
+ name: "Claude 3 Haiku",
11014
+ api: "anthropic-messages",
11015
+ provider: "vercel-ai-gateway",
11016
+ baseUrl: "https://ai-gateway.vercel.sh",
11017
+ reasoning: false,
11018
+ input: ["text", "image"],
11019
+ cost: {
11020
+ input: 0.25,
11021
+ output: 1.25,
11022
+ cacheRead: 0.03,
11023
+ cacheWrite: 0.3,
11024
+ },
11025
+ contextWindow: 200000,
11026
+ maxTokens: 4096,
11027
+ } satisfies Model<"anthropic-messages">,
10669
11028
  "anthropic/claude-3.5-haiku": {
10670
11029
  id: "anthropic/claude-3.5-haiku",
10671
11030
  name: "Claude 3.5 Haiku",
@@ -10964,13 +11323,13 @@ export const MODELS = {
10964
11323
  reasoning: true,
10965
11324
  input: ["text"],
10966
11325
  cost: {
10967
- input: 0.56,
10968
- output: 1.68,
10969
- cacheRead: 0.28,
11326
+ input: 0.5,
11327
+ output: 1.5,
11328
+ cacheRead: 0,
10970
11329
  cacheWrite: 0,
10971
11330
  },
10972
11331
  contextWindow: 163840,
10973
- maxTokens: 8192,
11332
+ maxTokens: 16384,
10974
11333
  } satisfies Model<"anthropic-messages">,
10975
11334
  "deepseek/deepseek-v3.1-terminus": {
10976
11335
  id: "deepseek/deepseek-v3.1-terminus",
@@ -11210,23 +11569,6 @@ export const MODELS = {
11210
11569
  contextWindow: 32000,
11211
11570
  maxTokens: 16384,
11212
11571
  } satisfies Model<"anthropic-messages">,
11213
- "kwaipilot/kat-coder-pro-v2": {
11214
- id: "kwaipilot/kat-coder-pro-v2",
11215
- name: "Kat Coder Pro V2",
11216
- api: "anthropic-messages",
11217
- provider: "vercel-ai-gateway",
11218
- baseUrl: "https://ai-gateway.vercel.sh",
11219
- reasoning: true,
11220
- input: ["text"],
11221
- cost: {
11222
- input: 0.3,
11223
- output: 1.2,
11224
- cacheRead: 0.06,
11225
- cacheWrite: 0,
11226
- },
11227
- contextWindow: 256000,
11228
- maxTokens: 256000,
11229
- } satisfies Model<"anthropic-messages">,
11230
11572
  "meituan/longcat-flash-chat": {
11231
11573
  id: "meituan/longcat-flash-chat",
11232
11574
  name: "LongCat Flash Chat",
@@ -11242,7 +11584,7 @@ export const MODELS = {
11242
11584
  cacheWrite: 0,
11243
11585
  },
11244
11586
  contextWindow: 128000,
11245
- maxTokens: 8192,
11587
+ maxTokens: 100000,
11246
11588
  } satisfies Model<"anthropic-messages">,
11247
11589
  "meituan/longcat-flash-thinking": {
11248
11590
  id: "meituan/longcat-flash-thinking",
@@ -11287,13 +11629,13 @@ export const MODELS = {
11287
11629
  reasoning: false,
11288
11630
  input: ["text"],
11289
11631
  cost: {
11290
- input: 0.22,
11291
- output: 0.22,
11292
- cacheRead: 0,
11632
+ input: 0.09999999999999999,
11633
+ output: 0.09999999999999999,
11634
+ cacheRead: 0.09999999999999999,
11293
11635
  cacheWrite: 0,
11294
11636
  },
11295
11637
  contextWindow: 128000,
11296
- maxTokens: 8192,
11638
+ maxTokens: 16384,
11297
11639
  } satisfies Model<"anthropic-messages">,
11298
11640
  "meta/llama-3.2-11b": {
11299
11641
  id: "meta/llama-3.2-11b",
@@ -11355,12 +11697,12 @@ export const MODELS = {
11355
11697
  reasoning: false,
11356
11698
  input: ["text", "image"],
11357
11699
  cost: {
11358
- input: 0.35,
11359
- output: 1.15,
11700
+ input: 0.24,
11701
+ output: 0.9700000000000001,
11360
11702
  cacheRead: 0,
11361
11703
  cacheWrite: 0,
11362
11704
  },
11363
- contextWindow: 524288,
11705
+ contextWindow: 128000,
11364
11706
  maxTokens: 8192,
11365
11707
  } satisfies Model<"anthropic-messages">,
11366
11708
  "meta/llama-4-scout": {
@@ -11805,6 +12147,23 @@ export const MODELS = {
11805
12147
  contextWindow: 131072,
11806
12148
  maxTokens: 131072,
11807
12149
  } satisfies Model<"anthropic-messages">,
12150
+ "openai/gpt-4-turbo": {
12151
+ id: "openai/gpt-4-turbo",
12152
+ name: "GPT-4 Turbo",
12153
+ api: "anthropic-messages",
12154
+ provider: "vercel-ai-gateway",
12155
+ baseUrl: "https://ai-gateway.vercel.sh",
12156
+ reasoning: false,
12157
+ input: ["text", "image"],
12158
+ cost: {
12159
+ input: 10,
12160
+ output: 30,
12161
+ cacheRead: 0,
12162
+ cacheWrite: 0,
12163
+ },
12164
+ contextWindow: 128000,
12165
+ maxTokens: 4096,
12166
+ } satisfies Model<"anthropic-messages">,
11808
12167
  "openai/gpt-4.1": {
11809
12168
  id: "openai/gpt-4.1",
11810
12169
  name: "GPT-4.1",
@@ -12247,23 +12606,6 @@ export const MODELS = {
12247
12606
  contextWindow: 1050000,
12248
12607
  maxTokens: 128000,
12249
12608
  } satisfies Model<"anthropic-messages">,
12250
- "openai/gpt-oss-120b": {
12251
- id: "openai/gpt-oss-120b",
12252
- name: "gpt-oss-120b",
12253
- api: "anthropic-messages",
12254
- provider: "vercel-ai-gateway",
12255
- baseUrl: "https://ai-gateway.vercel.sh",
12256
- reasoning: true,
12257
- input: ["text"],
12258
- cost: {
12259
- input: 0.15,
12260
- output: 0.6,
12261
- cacheRead: 0,
12262
- cacheWrite: 0,
12263
- },
12264
- contextWindow: 128000,
12265
- maxTokens: 8192,
12266
- } satisfies Model<"anthropic-messages">,
12267
12609
  "openai/gpt-oss-20b": {
12268
12610
  id: "openai/gpt-oss-20b",
12269
12611
  name: "gpt-oss-20b",
@@ -12409,8 +12751,8 @@ export const MODELS = {
12409
12751
  reasoning: false,
12410
12752
  input: ["text", "image"],
12411
12753
  cost: {
12412
- input: 0,
12413
- output: 0,
12754
+ input: 1,
12755
+ output: 1,
12414
12756
  cacheRead: 0,
12415
12757
  cacheWrite: 0,
12416
12758
  },
@@ -12426,8 +12768,8 @@ export const MODELS = {
12426
12768
  reasoning: false,
12427
12769
  input: ["text", "image"],
12428
12770
  cost: {
12429
- input: 0,
12430
- output: 0,
12771
+ input: 3,
12772
+ output: 15,
12431
12773
  cacheRead: 0,
12432
12774
  cacheWrite: 0,
12433
12775
  },
@@ -12621,23 +12963,6 @@ export const MODELS = {
12621
12963
  contextWindow: 2000000,
12622
12964
  maxTokens: 30000,
12623
12965
  } satisfies Model<"anthropic-messages">,
12624
- "xai/grok-4.20-multi-agent": {
12625
- id: "xai/grok-4.20-multi-agent",
12626
- name: "Grok 4.20 Multi-Agent",
12627
- api: "anthropic-messages",
12628
- provider: "vercel-ai-gateway",
12629
- baseUrl: "https://ai-gateway.vercel.sh",
12630
- reasoning: true,
12631
- input: ["text"],
12632
- cost: {
12633
- input: 2,
12634
- output: 6,
12635
- cacheRead: 0.19999999999999998,
12636
- cacheWrite: 0,
12637
- },
12638
- contextWindow: 2000000,
12639
- maxTokens: 2000000,
12640
- } satisfies Model<"anthropic-messages">,
12641
12966
  "xai/grok-4.20-multi-agent-beta": {
12642
12967
  id: "xai/grok-4.20-multi-agent-beta",
12643
12968
  name: "Grok 4.20 Multi Agent Beta",
@@ -12655,23 +12980,6 @@ export const MODELS = {
12655
12980
  contextWindow: 2000000,
12656
12981
  maxTokens: 2000000,
12657
12982
  } satisfies Model<"anthropic-messages">,
12658
- "xai/grok-4.20-non-reasoning": {
12659
- id: "xai/grok-4.20-non-reasoning",
12660
- name: "Grok 4.20 Non-Reasoning",
12661
- api: "anthropic-messages",
12662
- provider: "vercel-ai-gateway",
12663
- baseUrl: "https://ai-gateway.vercel.sh",
12664
- reasoning: false,
12665
- input: ["text", "image"],
12666
- cost: {
12667
- input: 2,
12668
- output: 6,
12669
- cacheRead: 0.19999999999999998,
12670
- cacheWrite: 0,
12671
- },
12672
- contextWindow: 2000000,
12673
- maxTokens: 2000000,
12674
- } satisfies Model<"anthropic-messages">,
12675
12983
  "xai/grok-4.20-non-reasoning-beta": {
12676
12984
  id: "xai/grok-4.20-non-reasoning-beta",
12677
12985
  name: "Grok 4.20 Beta Non-Reasoning",
@@ -12689,23 +12997,6 @@ export const MODELS = {
12689
12997
  contextWindow: 2000000,
12690
12998
  maxTokens: 2000000,
12691
12999
  } satisfies Model<"anthropic-messages">,
12692
- "xai/grok-4.20-reasoning": {
12693
- id: "xai/grok-4.20-reasoning",
12694
- name: "Grok 4.20 Reasoning",
12695
- api: "anthropic-messages",
12696
- provider: "vercel-ai-gateway",
12697
- baseUrl: "https://ai-gateway.vercel.sh",
12698
- reasoning: true,
12699
- input: ["text", "image"],
12700
- cost: {
12701
- input: 2,
12702
- output: 6,
12703
- cacheRead: 0.19999999999999998,
12704
- cacheWrite: 0,
12705
- },
12706
- contextWindow: 2000000,
12707
- maxTokens: 2000000,
12708
- } satisfies Model<"anthropic-messages">,
12709
13000
  "xai/grok-4.20-reasoning-beta": {
12710
13001
  id: "xai/grok-4.20-reasoning-beta",
12711
13002
  name: "Grok 4.20 Beta Reasoning",
@@ -12749,9 +13040,9 @@ export const MODELS = {
12749
13040
  reasoning: true,
12750
13041
  input: ["text"],
12751
13042
  cost: {
12752
- input: 0.09,
12753
- output: 0.29,
12754
- cacheRead: 0.045,
13043
+ input: 0.09999999999999999,
13044
+ output: 0.3,
13045
+ cacheRead: 0.02,
12755
13046
  cacheWrite: 0,
12756
13047
  },
12757
13048
  contextWindow: 262144,
@@ -12887,7 +13178,7 @@ export const MODELS = {
12887
13178
  cost: {
12888
13179
  input: 0.6,
12889
13180
  output: 2.2,
12890
- cacheRead: 0.11,
13181
+ cacheRead: 0,
12891
13182
  cacheWrite: 0,
12892
13183
  },
12893
13184
  contextWindow: 200000,
@@ -13517,24 +13808,6 @@ export const MODELS = {
13517
13808
  contextWindow: 200000,
13518
13809
  maxTokens: 131072,
13519
13810
  } satisfies Model<"openai-completions">,
13520
- "glm-4.7-flashx": {
13521
- id: "glm-4.7-flashx",
13522
- name: "GLM-4.7-FlashX",
13523
- api: "openai-completions",
13524
- provider: "zai",
13525
- baseUrl: "https://api.z.ai/api/coding/paas/v4",
13526
- compat: {"supportsDeveloperRole":false,"thinkingFormat":"zai"},
13527
- reasoning: true,
13528
- input: ["text"],
13529
- cost: {
13530
- input: 0.07,
13531
- output: 0.4,
13532
- cacheRead: 0.01,
13533
- cacheWrite: 0,
13534
- },
13535
- contextWindow: 200000,
13536
- maxTokens: 131072,
13537
- } satisfies Model<"openai-completions">,
13538
13811
  "glm-5": {
13539
13812
  id: "glm-5",
13540
13813
  name: "GLM-5",