@code-yeongyu/senpi 2026.7.10-2 → 2026.7.11

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 (230) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +3 -1
  3. package/dist/core/extensions/builtin/bash-timeout/timeout.js +2 -2
  4. package/dist/core/extensions/builtin/bash-timeout/timeout.js.map +1 -1
  5. package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
  6. package/dist/core/extensions/builtin/compaction/index.js +10 -1
  7. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  8. package/dist/core/extensions/builtin/goal/store.d.ts.map +1 -1
  9. package/dist/core/extensions/builtin/goal/store.js +88 -3
  10. package/dist/core/extensions/builtin/goal/store.js.map +1 -1
  11. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.d.ts +3 -0
  12. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.d.ts.map +1 -0
  13. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js +83 -0
  14. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js.map +1 -0
  15. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  16. package/dist/core/extensions/builtin/prompt-preset/presets.js +6 -0
  17. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  18. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  19. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  20. package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
  21. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  22. package/dist/core/extensions/builtin/terminal/notify.d.ts +3 -3
  23. package/dist/core/extensions/builtin/terminal/notify.d.ts.map +1 -1
  24. package/dist/core/extensions/builtin/terminal/notify.js +7 -4
  25. package/dist/core/extensions/builtin/terminal/notify.js.map +1 -1
  26. package/dist/core/extensions/builtin/terminal/runtime-session.d.ts +5 -3
  27. package/dist/core/extensions/builtin/terminal/runtime-session.d.ts.map +1 -1
  28. package/dist/core/extensions/builtin/terminal/runtime-session.js +32 -16
  29. package/dist/core/extensions/builtin/terminal/runtime-session.js.map +1 -1
  30. package/dist/core/extensions/builtin/terminal/tools/bash-output.d.ts +1 -1
  31. package/dist/core/extensions/builtin/terminal/tools/bash-output.d.ts.map +1 -1
  32. package/dist/core/extensions/builtin/terminal/tools/bash-output.js +10 -4
  33. package/dist/core/extensions/builtin/terminal/tools/bash-output.js.map +1 -1
  34. package/dist/core/extensions/builtin/todotools/tools/todowrite.d.ts.map +1 -1
  35. package/dist/core/extensions/builtin/todotools/tools/todowrite.js +5 -8
  36. package/dist/core/extensions/builtin/todotools/tools/todowrite.js.map +1 -1
  37. package/dist/core/extensions/runner.d.ts +1 -0
  38. package/dist/core/extensions/runner.d.ts.map +1 -1
  39. package/dist/core/extensions/runner.js +5 -0
  40. package/dist/core/extensions/runner.js.map +1 -1
  41. package/dist/core/extensions/types.d.ts +3 -1
  42. package/dist/core/extensions/types.d.ts.map +1 -1
  43. package/dist/core/extensions/types.js.map +1 -1
  44. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  45. package/dist/core/extensions/wrapper.js +22 -3
  46. package/dist/core/extensions/wrapper.js.map +1 -1
  47. package/dist/core/keybindings.d.ts +8 -3
  48. package/dist/core/keybindings.d.ts.map +1 -1
  49. package/dist/core/keybindings.js +7 -3
  50. package/dist/core/keybindings.js.map +1 -1
  51. package/dist/core/model-registry.d.ts.map +1 -1
  52. package/dist/core/model-registry.js +2 -0
  53. package/dist/core/model-registry.js.map +1 -1
  54. package/dist/index.d.ts +1 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/modes/interactive/components/custom-editor.js +1 -1
  59. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  60. package/dist/modes/interactive/components/login-dialog.d.ts +4 -0
  61. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  62. package/dist/modes/interactive/components/login-dialog.js +9 -2
  63. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  64. package/dist/modes/interactive/components/tool-execution-fallback.d.ts +6 -0
  65. package/dist/modes/interactive/components/tool-execution-fallback.d.ts.map +1 -0
  66. package/dist/modes/interactive/components/tool-execution-fallback.js +40 -0
  67. package/dist/modes/interactive/components/tool-execution-fallback.js.map +1 -0
  68. package/dist/modes/interactive/components/tool-execution-images.d.ts +23 -0
  69. package/dist/modes/interactive/components/tool-execution-images.d.ts.map +1 -0
  70. package/dist/modes/interactive/components/tool-execution-images.js +104 -0
  71. package/dist/modes/interactive/components/tool-execution-images.js.map +1 -0
  72. package/dist/modes/interactive/components/tool-execution-renderer.d.ts +28 -0
  73. package/dist/modes/interactive/components/tool-execution-renderer.d.ts.map +1 -0
  74. package/dist/modes/interactive/components/tool-execution-renderer.js +135 -0
  75. package/dist/modes/interactive/components/tool-execution-renderer.js.map +1 -0
  76. package/dist/modes/interactive/components/tool-execution-types.d.ts +23 -0
  77. package/dist/modes/interactive/components/tool-execution-types.d.ts.map +1 -0
  78. package/dist/modes/interactive/components/tool-execution-types.js +2 -0
  79. package/dist/modes/interactive/components/tool-execution-types.js.map +1 -0
  80. package/dist/modes/interactive/components/tool-execution.d.ts +13 -39
  81. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  82. package/dist/modes/interactive/components/tool-execution.js +51 -294
  83. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  84. package/dist/modes/interactive/components/tool-renderer-boundary.d.ts +17 -0
  85. package/dist/modes/interactive/components/tool-renderer-boundary.d.ts.map +1 -0
  86. package/dist/modes/interactive/components/tool-renderer-boundary.js +75 -0
  87. package/dist/modes/interactive/components/tool-renderer-boundary.js.map +1 -0
  88. package/dist/modes/interactive/components/tree-selector.d.ts +5 -0
  89. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  90. package/dist/modes/interactive/components/tree-selector.js +50 -17
  91. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  92. package/dist/modes/interactive/interactive-mode.d.ts +1 -2
  93. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  94. package/dist/modes/interactive/interactive-mode.js +44 -40
  95. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  96. package/dist/utils/clipboard-native.d.ts +1 -0
  97. package/dist/utils/clipboard-native.d.ts.map +1 -1
  98. package/dist/utils/clipboard-native.js.map +1 -1
  99. package/dist/utils/clipboard.d.ts +2 -0
  100. package/dist/utils/clipboard.d.ts.map +1 -1
  101. package/dist/utils/clipboard.js +13 -0
  102. package/dist/utils/clipboard.js.map +1 -1
  103. package/docs/extensions.md +139 -0
  104. package/docs/keybindings.md +1 -0
  105. package/docs/providers.md +3 -0
  106. package/docs/quickstart.md +1 -1
  107. package/docs/settings.md +1 -1
  108. package/docs/usage.md +1 -0
  109. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +3 -0
  110. package/node_modules/@code-yeongyu/senpi-codemode/package.json +3 -3
  111. package/node_modules/@code-yeongyu/senpi-codemode/src/bridge/protocol.ts +7 -7
  112. package/node_modules/@code-yeongyu/senpi-codemode/src/completion/tool-bridge.ts +3 -0
  113. package/node_modules/@code-yeongyu/senpi-codemode/src/extension/session-manager.ts +69 -8
  114. package/node_modules/@code-yeongyu/senpi-codemode/src/index.ts +39 -13
  115. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/context-manager.ts +191 -148
  116. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/inline-worker-entry.js +23 -0
  117. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/inline-worker.ts +4 -175
  118. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/kernel-contract.ts +38 -0
  119. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/run-queue.ts +82 -0
  120. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/worker-core.js +7 -3
  121. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/worker-host.ts +117 -0
  122. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/kernel-contract.ts +32 -0
  123. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/kernel.ts +231 -199
  124. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/process.ts +119 -0
  125. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/transport.ts +237 -0
  126. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-contract.ts +22 -0
  127. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-kernel.ts +214 -189
  128. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-process.ts +174 -0
  129. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-queue.ts +100 -0
  130. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-run.ts +98 -0
  131. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-handler.ts +205 -0
  132. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +208 -203
  133. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +215 -25
  134. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +1 -0
  135. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +2 -0
  136. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  137. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +2 -0
  138. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  139. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  140. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  141. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  142. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +82 -32
  143. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  144. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  145. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +4 -1
  146. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  147. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  148. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +5 -2
  149. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  150. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts +3 -1
  151. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -1
  152. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +29 -0
  153. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  154. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  155. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +7 -3
  156. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  157. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts.map +1 -1
  158. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +8 -3
  159. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js.map +1 -1
  160. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts.map +1 -1
  161. package/node_modules/@earendil-works/pi-ai/dist/compat.js +2 -1
  162. package/node_modules/@earendil-works/pi-ai/dist/compat.js.map +1 -1
  163. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +270 -21
  164. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  165. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  166. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +5 -1
  167. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  168. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts +17 -0
  169. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
  170. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js +17 -0
  171. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js.map +1 -1
  172. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.d.ts.map +1 -1
  173. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js +9 -6
  174. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js.map +1 -1
  175. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts +92 -0
  176. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts.map +1 -1
  177. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +59 -1
  178. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js.map +1 -1
  179. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts +18 -0
  180. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts.map +1 -1
  181. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js +6 -0
  182. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js.map +1 -1
  183. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts +38 -0
  184. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts.map +1 -1
  185. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js +24 -0
  186. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js.map +1 -1
  187. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts +66 -0
  188. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts.map +1 -1
  189. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js +55 -1
  190. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js.map +1 -1
  191. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts +5 -21
  192. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts.map +1 -1
  193. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +48 -65
  194. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js.map +1 -1
  195. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts +34 -0
  196. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  197. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +37 -3
  198. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  199. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +15 -1
  200. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  201. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  202. package/node_modules/@earendil-works/pi-ai/dist/utils/deferred-tools.d.ts +9 -0
  203. package/node_modules/@earendil-works/pi-ai/dist/utils/deferred-tools.d.ts.map +1 -0
  204. package/node_modules/@earendil-works/pi-ai/dist/utils/deferred-tools.js +36 -0
  205. package/node_modules/@earendil-works/pi-ai/dist/utils/deferred-tools.js.map +1 -0
  206. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.d.ts.map +1 -1
  207. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.js +18 -5
  208. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.js.map +1 -1
  209. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  210. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  211. package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts.map +1 -1
  212. package/node_modules/@earendil-works/pi-tui/dist/components/image.js +2 -1
  213. package/node_modules/@earendil-works/pi-tui/dist/components/image.js.map +1 -1
  214. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +2 -1
  215. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  216. package/node_modules/@earendil-works/pi-tui/dist/index.js +2 -1
  217. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  218. package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts.map +1 -1
  219. package/node_modules/@earendil-works/pi-tui/dist/keys.js +6 -5
  220. package/node_modules/@earendil-works/pi-tui/dist/keys.js.map +1 -1
  221. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +0 -1
  222. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  223. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +0 -9
  224. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  225. package/node_modules/@earendil-works/pi-tui/dist/terminal-text.d.ts +4 -0
  226. package/node_modules/@earendil-works/pi-tui/dist/terminal-text.d.ts.map +1 -0
  227. package/node_modules/@earendil-works/pi-tui/dist/terminal-text.js +18 -0
  228. package/node_modules/@earendil-works/pi-tui/dist/terminal-text.js.map +1 -0
  229. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  230. package/package.json +6 -6
@@ -189,6 +189,7 @@ export const OPENROUTER_MODELS = {
189
189
  baseUrl: "https://openrouter.ai/api/v1",
190
190
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
191
191
  reasoning: true,
192
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "max": "max" },
192
193
  input: ["text", "image"],
193
194
  cost: {
194
195
  input: 10,
@@ -458,24 +459,6 @@ export const OPENROUTER_MODELS = {
458
459
  contextWindow: 262144,
459
460
  maxTokens: 80000,
460
461
  },
461
- "arcee-ai/trinity-mini": {
462
- id: "arcee-ai/trinity-mini",
463
- name: "Arcee AI: Trinity Mini",
464
- api: "openai-completions",
465
- provider: "openrouter",
466
- baseUrl: "https://openrouter.ai/api/v1",
467
- compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
468
- reasoning: true,
469
- input: ["text"],
470
- cost: {
471
- input: 0.045,
472
- output: 0.15,
473
- cacheRead: 0,
474
- cacheWrite: 0,
475
- },
476
- contextWindow: 131072,
477
- maxTokens: 131072,
478
- },
479
462
  "arcee-ai/virtuoso-large": {
480
463
  id: "arcee-ai/virtuoso-large",
481
464
  name: "Arcee AI: Virtuoso Large",
@@ -653,7 +636,7 @@ export const OPENROUTER_MODELS = {
653
636
  cacheRead: 0,
654
637
  cacheWrite: 0,
655
638
  },
656
- contextWindow: 131072,
639
+ contextWindow: 128000,
657
640
  maxTokens: 16000,
658
641
  },
659
642
  "deepseek/deepseek-chat-v3-0324": {
@@ -707,7 +690,7 @@ export const OPENROUTER_MODELS = {
707
690
  cacheRead: 0,
708
691
  cacheWrite: 0,
709
692
  },
710
- contextWindow: 163840,
693
+ contextWindow: 64000,
711
694
  maxTokens: 16000,
712
695
  },
713
696
  "deepseek/deepseek-r1-0528": {
@@ -756,12 +739,12 @@ export const OPENROUTER_MODELS = {
756
739
  reasoning: true,
757
740
  input: ["text"],
758
741
  cost: {
759
- input: 0.2288,
760
- output: 0.3432,
761
- cacheRead: 0.02288,
742
+ input: 0.2145,
743
+ output: 0.32175,
744
+ cacheRead: 0.02145,
762
745
  cacheWrite: 0,
763
746
  },
764
- contextWindow: 131072,
747
+ contextWindow: 128000,
765
748
  maxTokens: 64000,
766
749
  },
767
750
  "deepseek/deepseek-v3.2-exp": {
@@ -793,13 +776,13 @@ export const OPENROUTER_MODELS = {
793
776
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "max": null, "xhigh": "xhigh" },
794
777
  input: ["text"],
795
778
  cost: {
796
- input: 0.09,
797
- output: 0.18,
798
- cacheRead: 0.018,
779
+ input: 0.077,
780
+ output: 0.154,
781
+ cacheRead: 0.0154,
799
782
  cacheWrite: 0,
800
783
  },
801
- contextWindow: 1048576,
802
- maxTokens: 65536,
784
+ contextWindow: 1024000,
785
+ maxTokens: 384000,
803
786
  },
804
787
  "deepseek/deepseek-v4-pro": {
805
788
  id: "deepseek/deepseek-v4-pro",
@@ -1015,7 +998,7 @@ export const OPENROUTER_MODELS = {
1015
998
  cacheRead: 0.2,
1016
999
  cacheWrite: 0.375,
1017
1000
  },
1018
- contextWindow: 1048756,
1001
+ contextWindow: 1048576,
1019
1002
  maxTokens: 65536,
1020
1003
  },
1021
1004
  "google/gemini-3.5-flash": {
@@ -1105,7 +1088,7 @@ export const OPENROUTER_MODELS = {
1105
1088
  cacheRead: 0,
1106
1089
  cacheWrite: 0,
1107
1090
  },
1108
- contextWindow: 262144,
1091
+ contextWindow: 131072,
1109
1092
  maxTokens: 32768,
1110
1093
  },
1111
1094
  "google/gemma-4-31b-it": {
@@ -1340,7 +1323,7 @@ export const OPENROUTER_MODELS = {
1340
1323
  cacheRead: 0,
1341
1324
  cacheWrite: 0,
1342
1325
  },
1343
- contextWindow: 131072,
1326
+ contextWindow: 65536,
1344
1327
  maxTokens: 4096,
1345
1328
  },
1346
1329
  "meta-llama/llama-4-maverick": {
@@ -1376,7 +1359,7 @@ export const OPENROUTER_MODELS = {
1376
1359
  cacheRead: 0,
1377
1360
  cacheWrite: 0,
1378
1361
  },
1379
- contextWindow: 10000000,
1362
+ contextWindow: 327680,
1380
1363
  maxTokens: 16384,
1381
1364
  },
1382
1365
  "minimax/minimax-m1": {
@@ -1448,7 +1431,7 @@ export const OPENROUTER_MODELS = {
1448
1431
  cacheRead: 0.05,
1449
1432
  cacheWrite: 0,
1450
1433
  },
1451
- contextWindow: 204800,
1434
+ contextWindow: 196608,
1452
1435
  maxTokens: 196608,
1453
1436
  },
1454
1437
  "minimax/minimax-m2.7": {
@@ -1466,7 +1449,7 @@ export const OPENROUTER_MODELS = {
1466
1449
  cacheRead: 0,
1467
1450
  cacheWrite: 0,
1468
1451
  },
1469
- contextWindow: 204800,
1452
+ contextWindow: 196608,
1470
1453
  maxTokens: 196608,
1471
1454
  },
1472
1455
  "minimax/minimax-m3": {
@@ -1484,7 +1467,7 @@ export const OPENROUTER_MODELS = {
1484
1467
  cacheRead: 0.06,
1485
1468
  cacheWrite: 0,
1486
1469
  },
1487
- contextWindow: 1048576,
1470
+ contextWindow: 1000000,
1488
1471
  maxTokens: 131072,
1489
1472
  },
1490
1473
  "mistralai/codestral-2508": {
@@ -1862,7 +1845,7 @@ export const OPENROUTER_MODELS = {
1862
1845
  cacheRead: 0.07,
1863
1846
  cacheWrite: 0,
1864
1847
  },
1865
- contextWindow: 262144,
1848
+ contextWindow: 256000,
1866
1849
  maxTokens: 4096,
1867
1850
  },
1868
1851
  "moonshotai/kimi-k2.6": {
@@ -1894,8 +1877,8 @@ export const OPENROUTER_MODELS = {
1894
1877
  input: ["text", "image"],
1895
1878
  cost: {
1896
1879
  input: 0.72,
1897
- output: 3.49,
1898
- cacheRead: 0.159,
1880
+ output: 3.5,
1881
+ cacheRead: 0.15,
1899
1882
  cacheWrite: 0,
1900
1883
  },
1901
1884
  contextWindow: 262144,
@@ -2024,7 +2007,7 @@ export const OPENROUTER_MODELS = {
2024
2007
  cacheRead: 0,
2025
2008
  cacheWrite: 0,
2026
2009
  },
2027
- contextWindow: 1000000,
2010
+ contextWindow: 262144,
2028
2011
  maxTokens: 4096,
2029
2012
  },
2030
2013
  "nvidia/nemotron-3-super-120b-a12b:free": {
@@ -2042,7 +2025,7 @@ export const OPENROUTER_MODELS = {
2042
2025
  cacheRead: 0,
2043
2026
  cacheWrite: 0,
2044
2027
  },
2045
- contextWindow: 1000000,
2028
+ contextWindow: 262144,
2046
2029
  maxTokens: 262144,
2047
2030
  },
2048
2031
  "nvidia/nemotron-3-ultra-550b-a55b": {
@@ -2060,7 +2043,7 @@ export const OPENROUTER_MODELS = {
2060
2043
  cacheRead: 0.1,
2061
2044
  cacheWrite: 0,
2062
2045
  },
2063
- contextWindow: 1000000,
2046
+ contextWindow: 262144,
2064
2047
  maxTokens: 16384,
2065
2048
  },
2066
2049
  "nvidia/nemotron-3-ultra-550b-a55b:free": {
@@ -3356,7 +3339,7 @@ export const OPENROUTER_MODELS = {
3356
3339
  cacheRead: 0,
3357
3340
  cacheWrite: 0,
3358
3341
  },
3359
- contextWindow: 131072,
3342
+ contextWindow: 32768,
3360
3343
  maxTokens: 16384,
3361
3344
  },
3362
3345
  "qwen/qwen-2.5-7b-instruct": {
@@ -3374,7 +3357,7 @@ export const OPENROUTER_MODELS = {
3374
3357
  cacheRead: 0,
3375
3358
  cacheWrite: 0,
3376
3359
  },
3377
- contextWindow: 131072,
3360
+ contextWindow: 32768,
3378
3361
  maxTokens: 32768,
3379
3362
  },
3380
3363
  "qwen/qwen-plus": {
@@ -3446,7 +3429,7 @@ export const OPENROUTER_MODELS = {
3446
3429
  cacheRead: 0,
3447
3430
  cacheWrite: 0,
3448
3431
  },
3449
- contextWindow: 131702,
3432
+ contextWindow: 40960,
3450
3433
  maxTokens: 40960,
3451
3434
  },
3452
3435
  "qwen/qwen3-235b-a22b": {
@@ -3500,7 +3483,7 @@ export const OPENROUTER_MODELS = {
3500
3483
  cacheRead: 0,
3501
3484
  cacheWrite: 0,
3502
3485
  },
3503
- contextWindow: 262144,
3486
+ contextWindow: 131072,
3504
3487
  maxTokens: 4096,
3505
3488
  },
3506
3489
  "qwen/qwen3-30b-a3b": {
@@ -3518,7 +3501,7 @@ export const OPENROUTER_MODELS = {
3518
3501
  cacheRead: 0,
3519
3502
  cacheWrite: 0,
3520
3503
  },
3521
- contextWindow: 131072,
3504
+ contextWindow: 40960,
3522
3505
  maxTokens: 16384,
3523
3506
  },
3524
3507
  "qwen/qwen3-30b-a3b-instruct-2507": {
@@ -3536,7 +3519,7 @@ export const OPENROUTER_MODELS = {
3536
3519
  cacheRead: 0,
3537
3520
  cacheWrite: 0,
3538
3521
  },
3539
- contextWindow: 131072,
3522
+ contextWindow: 128000,
3540
3523
  maxTokens: 32000,
3541
3524
  },
3542
3525
  "qwen/qwen3-30b-a3b-thinking-2507": {
@@ -3554,7 +3537,7 @@ export const OPENROUTER_MODELS = {
3554
3537
  cacheRead: 0,
3555
3538
  cacheWrite: 0,
3556
3539
  },
3557
- contextWindow: 131072,
3540
+ contextWindow: 81920,
3558
3541
  maxTokens: 32768,
3559
3542
  },
3560
3543
  "qwen/qwen3-32b": {
@@ -3572,7 +3555,7 @@ export const OPENROUTER_MODELS = {
3572
3555
  cacheRead: 0,
3573
3556
  cacheWrite: 0,
3574
3557
  },
3575
- contextWindow: 131072,
3558
+ contextWindow: 40960,
3576
3559
  maxTokens: 16384,
3577
3560
  },
3578
3561
  "qwen/qwen3-8b": {
@@ -3608,7 +3591,7 @@ export const OPENROUTER_MODELS = {
3608
3591
  cacheRead: 0,
3609
3592
  cacheWrite: 0,
3610
3593
  },
3611
- contextWindow: 1048576,
3594
+ contextWindow: 262144,
3612
3595
  maxTokens: 65536,
3613
3596
  },
3614
3597
  "qwen/qwen3-coder-30b-a3b-instruct": {
@@ -3698,7 +3681,7 @@ export const OPENROUTER_MODELS = {
3698
3681
  cacheRead: 0,
3699
3682
  cacheWrite: 0,
3700
3683
  },
3701
- contextWindow: 1048576,
3684
+ contextWindow: 262000,
3702
3685
  maxTokens: 262000,
3703
3686
  },
3704
3687
  "qwen/qwen3-max": {
@@ -3788,7 +3771,7 @@ export const OPENROUTER_MODELS = {
3788
3771
  cacheRead: 0,
3789
3772
  cacheWrite: 0,
3790
3773
  },
3791
- contextWindow: 262144,
3774
+ contextWindow: 131072,
3792
3775
  maxTokens: 32768,
3793
3776
  },
3794
3777
  "qwen/qwen3-vl-235b-a22b-instruct": {
@@ -3842,7 +3825,7 @@ export const OPENROUTER_MODELS = {
3842
3825
  cacheRead: 0,
3843
3826
  cacheWrite: 0,
3844
3827
  },
3845
- contextWindow: 262144,
3828
+ contextWindow: 131072,
3846
3829
  maxTokens: 32768,
3847
3830
  },
3848
3831
  "qwen/qwen3-vl-30b-a3b-thinking": {
@@ -3878,7 +3861,7 @@ export const OPENROUTER_MODELS = {
3878
3861
  cacheRead: 0,
3879
3862
  cacheWrite: 0,
3880
3863
  },
3881
- contextWindow: 262144,
3864
+ contextWindow: 131072,
3882
3865
  maxTokens: 32768,
3883
3866
  },
3884
3867
  "qwen/qwen3-vl-8b-instruct": {
@@ -3896,7 +3879,7 @@ export const OPENROUTER_MODELS = {
3896
3879
  cacheRead: 0,
3897
3880
  cacheWrite: 0,
3898
3881
  },
3899
- contextWindow: 256000,
3882
+ contextWindow: 131072,
3900
3883
  maxTokens: 32768,
3901
3884
  },
3902
3885
  "qwen/qwen3-vl-8b-thinking": {
@@ -3914,7 +3897,7 @@ export const OPENROUTER_MODELS = {
3914
3897
  cacheRead: 0,
3915
3898
  cacheWrite: 0,
3916
3899
  },
3917
- contextWindow: 256000,
3900
+ contextWindow: 131072,
3918
3901
  maxTokens: 32768,
3919
3902
  },
3920
3903
  "qwen/qwen3.5-122b-a10b": {
@@ -3986,7 +3969,7 @@ export const OPENROUTER_MODELS = {
3986
3969
  cacheRead: 0.111,
3987
3970
  cacheWrite: 0,
3988
3971
  },
3989
- contextWindow: 256000,
3972
+ contextWindow: 131072,
3990
3973
  maxTokens: 4096,
3991
3974
  },
3992
3975
  "qwen/qwen3.5-9b": {
@@ -4076,7 +4059,7 @@ export const OPENROUTER_MODELS = {
4076
4059
  cacheRead: 0.15,
4077
4060
  cacheWrite: 0,
4078
4061
  },
4079
- contextWindow: 262144,
4062
+ contextWindow: 262140,
4080
4063
  maxTokens: 262140,
4081
4064
  },
4082
4065
  "qwen/qwen3.6-35b-a3b": {
@@ -4472,7 +4455,7 @@ export const OPENROUTER_MODELS = {
4472
4455
  cacheRead: 0.028,
4473
4456
  cacheWrite: 0,
4474
4457
  },
4475
- contextWindow: 1048576,
4458
+ contextWindow: 32000,
4476
4459
  maxTokens: 4096,
4477
4460
  },
4478
4461
  "xiaomi/mimo-v2.5-pro": {
@@ -4670,7 +4653,7 @@ export const OPENROUTER_MODELS = {
4670
4653
  cacheRead: 0.1794,
4671
4654
  cacheWrite: 0,
4672
4655
  },
4673
- contextWindow: 202752,
4656
+ contextWindow: 200000,
4674
4657
  maxTokens: 128000,
4675
4658
  },
4676
4659
  "z-ai/glm-5.2": {
@@ -4684,12 +4667,12 @@ export const OPENROUTER_MODELS = {
4684
4667
  thinkingLevelMap: { "xhigh": "xhigh" },
4685
4668
  input: ["text"],
4686
4669
  cost: {
4687
- input: 0.49,
4688
- output: 1.54,
4689
- cacheRead: 0.091,
4670
+ input: 0.35,
4671
+ output: 1.1,
4672
+ cacheRead: 0.065,
4690
4673
  cacheWrite: 0,
4691
4674
  },
4692
- contextWindow: 1048576,
4675
+ contextWindow: 1024000,
4693
4676
  maxTokens: 128000,
4694
4677
  },
4695
4678
  "z-ai/glm-5v-turbo": {