@code-yeongyu/senpi 2026.5.21-2 → 2026.5.23-2

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 (258) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +1 -1
  3. package/dist/cli/file-processor.d.ts.map +1 -1
  4. package/dist/cli/file-processor.js +2 -3
  5. package/dist/cli/file-processor.js.map +1 -1
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +3 -10
  8. package/dist/config.js.map +1 -1
  9. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  10. package/dist/core/agent-session-runtime.js +2 -1
  11. package/dist/core/agent-session-runtime.js.map +1 -1
  12. package/dist/core/agent-session-services.d.ts.map +1 -1
  13. package/dist/core/agent-session-services.js +3 -2
  14. package/dist/core/agent-session-services.js.map +1 -1
  15. package/dist/core/agent-session.d.ts +2 -0
  16. package/dist/core/agent-session.d.ts.map +1 -1
  17. package/dist/core/agent-session.js +28 -4
  18. package/dist/core/agent-session.js.map +1 -1
  19. package/dist/core/auth-storage.d.ts.map +1 -1
  20. package/dist/core/auth-storage.js +2 -1
  21. package/dist/core/auth-storage.js.map +1 -1
  22. package/dist/core/export-html/index.d.ts.map +1 -1
  23. package/dist/core/export-html/index.js +8 -7
  24. package/dist/core/export-html/index.js.map +1 -1
  25. package/dist/core/export-html/template.js +6 -3
  26. package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
  27. package/dist/core/extensions/builtin/compaction/index.js +9 -0
  28. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  29. package/dist/core/extensions/builtin/history-search/filter.d.ts +3 -0
  30. package/dist/core/extensions/builtin/history-search/filter.d.ts.map +1 -0
  31. package/dist/core/extensions/builtin/history-search/filter.js +22 -0
  32. package/dist/core/extensions/builtin/history-search/filter.js.map +1 -0
  33. package/dist/core/extensions/builtin/history-search/index.d.ts +7 -0
  34. package/dist/core/extensions/builtin/history-search/index.d.ts.map +1 -0
  35. package/dist/core/extensions/builtin/history-search/index.js +45 -0
  36. package/dist/core/extensions/builtin/history-search/index.js.map +1 -0
  37. package/dist/core/extensions/builtin/history-search/indexer.d.ts +3 -0
  38. package/dist/core/extensions/builtin/history-search/indexer.d.ts.map +1 -0
  39. package/dist/core/extensions/builtin/history-search/indexer.js +161 -0
  40. package/dist/core/extensions/builtin/history-search/indexer.js.map +1 -0
  41. package/dist/core/extensions/builtin/history-search/overlay.d.ts +30 -0
  42. package/dist/core/extensions/builtin/history-search/overlay.d.ts.map +1 -0
  43. package/dist/core/extensions/builtin/history-search/overlay.js +115 -0
  44. package/dist/core/extensions/builtin/history-search/overlay.js.map +1 -0
  45. package/dist/core/extensions/builtin/history-search/types.d.ts +8 -0
  46. package/dist/core/extensions/builtin/history-search/types.d.ts.map +1 -0
  47. package/dist/core/extensions/builtin/history-search/types.js +2 -0
  48. package/dist/core/extensions/builtin/history-search/types.js.map +1 -0
  49. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  50. package/dist/core/extensions/builtin/index.js +4 -0
  51. package/dist/core/extensions/builtin/index.js.map +1 -1
  52. package/dist/core/extensions/builtin/session-observer/index.d.ts +5 -0
  53. package/dist/core/extensions/builtin/session-observer/index.d.ts.map +1 -0
  54. package/dist/core/extensions/builtin/session-observer/index.js +36 -0
  55. package/dist/core/extensions/builtin/session-observer/index.js.map +1 -0
  56. package/dist/core/extensions/builtin/session-observer/loader.d.ts +3 -0
  57. package/dist/core/extensions/builtin/session-observer/loader.d.ts.map +1 -0
  58. package/dist/core/extensions/builtin/session-observer/loader.js +20 -0
  59. package/dist/core/extensions/builtin/session-observer/loader.js.map +1 -0
  60. package/dist/core/extensions/builtin/session-observer/overlay-format.d.ts +7 -0
  61. package/dist/core/extensions/builtin/session-observer/overlay-format.d.ts.map +1 -0
  62. package/dist/core/extensions/builtin/session-observer/overlay-format.js +30 -0
  63. package/dist/core/extensions/builtin/session-observer/overlay-format.js.map +1 -0
  64. package/dist/core/extensions/builtin/session-observer/overlay.d.ts +51 -0
  65. package/dist/core/extensions/builtin/session-observer/overlay.d.ts.map +1 -0
  66. package/dist/core/extensions/builtin/session-observer/overlay.js +239 -0
  67. package/dist/core/extensions/builtin/session-observer/overlay.js.map +1 -0
  68. package/dist/core/extensions/builtin/session-observer/scanner.d.ts +10 -0
  69. package/dist/core/extensions/builtin/session-observer/scanner.d.ts.map +1 -0
  70. package/dist/core/extensions/builtin/session-observer/scanner.js +140 -0
  71. package/dist/core/extensions/builtin/session-observer/scanner.js.map +1 -0
  72. package/dist/core/extensions/builtin/session-observer/text.d.ts +7 -0
  73. package/dist/core/extensions/builtin/session-observer/text.d.ts.map +1 -0
  74. package/dist/core/extensions/builtin/session-observer/text.js +37 -0
  75. package/dist/core/extensions/builtin/session-observer/text.js.map +1 -0
  76. package/dist/core/extensions/builtin/session-observer/transcript-entries.d.ts +7 -0
  77. package/dist/core/extensions/builtin/session-observer/transcript-entries.d.ts.map +1 -0
  78. package/dist/core/extensions/builtin/session-observer/transcript-entries.js +71 -0
  79. package/dist/core/extensions/builtin/session-observer/transcript-entries.js.map +1 -0
  80. package/dist/core/extensions/builtin/session-observer/transcript-format.d.ts +11 -0
  81. package/dist/core/extensions/builtin/session-observer/transcript-format.d.ts.map +1 -0
  82. package/dist/core/extensions/builtin/session-observer/transcript-format.js +65 -0
  83. package/dist/core/extensions/builtin/session-observer/transcript-format.js.map +1 -0
  84. package/dist/core/extensions/builtin/session-observer/transcript.d.ts +4 -0
  85. package/dist/core/extensions/builtin/session-observer/transcript.d.ts.map +1 -0
  86. package/dist/core/extensions/builtin/session-observer/transcript.js +81 -0
  87. package/dist/core/extensions/builtin/session-observer/transcript.js.map +1 -0
  88. package/dist/core/extensions/builtin/session-observer/types.d.ts +33 -0
  89. package/dist/core/extensions/builtin/session-observer/types.d.ts.map +1 -0
  90. package/dist/core/extensions/builtin/session-observer/types.js +2 -0
  91. package/dist/core/extensions/builtin/session-observer/types.js.map +1 -0
  92. package/dist/core/extensions/loader.d.ts.map +1 -1
  93. package/dist/core/extensions/loader.js +13 -30
  94. package/dist/core/extensions/loader.js.map +1 -1
  95. package/dist/core/extensions/runner.d.ts.map +1 -1
  96. package/dist/core/extensions/runner.js +1 -0
  97. package/dist/core/extensions/runner.js.map +1 -1
  98. package/dist/core/keybindings.d.ts +10 -0
  99. package/dist/core/keybindings.d.ts.map +1 -1
  100. package/dist/core/keybindings.js +3 -0
  101. package/dist/core/keybindings.js.map +1 -1
  102. package/dist/core/model-registry.d.ts.map +1 -1
  103. package/dist/core/model-registry.js +5 -1
  104. package/dist/core/model-registry.js.map +1 -1
  105. package/dist/core/package-manager.d.ts +1 -0
  106. package/dist/core/package-manager.d.ts.map +1 -1
  107. package/dist/core/package-manager.js +47 -32
  108. package/dist/core/package-manager.js.map +1 -1
  109. package/dist/core/prompt-templates.d.ts.map +1 -1
  110. package/dist/core/prompt-templates.js +6 -20
  111. package/dist/core/prompt-templates.js.map +1 -1
  112. package/dist/core/resource-loader.d.ts.map +1 -1
  113. package/dist/core/resource-loader.js +38 -31
  114. package/dist/core/resource-loader.js.map +1 -1
  115. package/dist/core/sdk.d.ts.map +1 -1
  116. package/dist/core/sdk.js +9 -4
  117. package/dist/core/sdk.js.map +1 -1
  118. package/dist/core/session-manager.d.ts.map +1 -1
  119. package/dist/core/session-manager.js +32 -24
  120. package/dist/core/session-manager.js.map +1 -1
  121. package/dist/core/settings-manager.d.ts.map +1 -1
  122. package/dist/core/settings-manager.js +6 -13
  123. package/dist/core/settings-manager.js.map +1 -1
  124. package/dist/core/skills.d.ts.map +1 -1
  125. package/dist/core/skills.js +8 -22
  126. package/dist/core/skills.js.map +1 -1
  127. package/dist/core/tools/bash.d.ts.map +1 -1
  128. package/dist/core/tools/bash.js +54 -53
  129. package/dist/core/tools/bash.js.map +1 -1
  130. package/dist/core/tools/edit-diff.d.ts +3 -1
  131. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  132. package/dist/core/tools/edit-diff.js +8 -1
  133. package/dist/core/tools/edit-diff.js.map +1 -1
  134. package/dist/core/tools/edit.d.ts +3 -1
  135. package/dist/core/tools/edit.d.ts.map +1 -1
  136. package/dist/core/tools/edit.js +44 -81
  137. package/dist/core/tools/edit.js.map +1 -1
  138. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  139. package/dist/core/tools/file-mutation-queue.js +27 -12
  140. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  141. package/dist/core/tools/find.d.ts.map +1 -1
  142. package/dist/core/tools/find.js +2 -3
  143. package/dist/core/tools/find.js.map +1 -1
  144. package/dist/core/tools/grep.d.ts.map +1 -1
  145. package/dist/core/tools/grep.js +3 -3
  146. package/dist/core/tools/grep.js.map +1 -1
  147. package/dist/core/tools/ls.d.ts.map +1 -1
  148. package/dist/core/tools/ls.js +5 -5
  149. package/dist/core/tools/ls.js.map +1 -1
  150. package/dist/core/tools/output-accumulator.d.ts +2 -0
  151. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  152. package/dist/core/tools/output-accumulator.js +9 -3
  153. package/dist/core/tools/output-accumulator.js.map +1 -1
  154. package/dist/core/tools/path-utils.d.ts +2 -0
  155. package/dist/core/tools/path-utils.d.ts.map +1 -1
  156. package/dist/core/tools/path-utils.js +39 -21
  157. package/dist/core/tools/path-utils.js.map +1 -1
  158. package/dist/core/tools/read.d.ts.map +1 -1
  159. package/dist/core/tools/read.js +9 -8
  160. package/dist/core/tools/read.js.map +1 -1
  161. package/dist/core/tools/truncate.d.ts.map +1 -1
  162. package/dist/core/tools/truncate.js +12 -2
  163. package/dist/core/tools/truncate.js.map +1 -1
  164. package/dist/core/tools/write.d.ts.map +1 -1
  165. package/dist/core/tools/write.js +20 -35
  166. package/dist/core/tools/write.js.map +1 -1
  167. package/dist/main.d.ts.map +1 -1
  168. package/dist/main.js +5 -6
  169. package/dist/main.js.map +1 -1
  170. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  171. package/dist/modes/interactive/components/config-selector.js +1 -1
  172. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  173. package/dist/modes/interactive/components/footer.d.ts +1 -0
  174. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  175. package/dist/modes/interactive/components/footer.js +87 -67
  176. package/dist/modes/interactive/components/footer.js.map +1 -1
  177. package/dist/modes/interactive/components/login-dialog.d.ts +9 -1
  178. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  179. package/dist/modes/interactive/components/login-dialog.js +29 -4
  180. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  181. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  182. package/dist/modes/interactive/interactive-mode.js +22 -4
  183. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  184. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  185. package/dist/modes/interactive/theme/theme.js +37 -28
  186. package/dist/modes/interactive/theme/theme.js.map +1 -1
  187. package/dist/utils/clipboard-native.d.ts +3 -1
  188. package/dist/utils/clipboard-native.d.ts.map +1 -1
  189. package/dist/utils/clipboard-native.js +14 -8
  190. package/dist/utils/clipboard-native.js.map +1 -1
  191. package/dist/utils/image-resize-core.d.ts +30 -0
  192. package/dist/utils/image-resize-core.d.ts.map +1 -0
  193. package/dist/utils/image-resize-core.js +124 -0
  194. package/dist/utils/image-resize-core.js.map +1 -0
  195. package/dist/utils/image-resize-worker.d.ts +2 -0
  196. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  197. package/dist/utils/image-resize-worker.js +31 -0
  198. package/dist/utils/image-resize-worker.js.map +1 -0
  199. package/dist/utils/image-resize.d.ts +7 -27
  200. package/dist/utils/image-resize.d.ts.map +1 -1
  201. package/dist/utils/image-resize.js +75 -115
  202. package/dist/utils/image-resize.js.map +1 -1
  203. package/dist/utils/paths.d.ts +16 -1
  204. package/dist/utils/paths.d.ts.map +1 -1
  205. package/dist/utils/paths.js +41 -7
  206. package/dist/utils/paths.js.map +1 -1
  207. package/docs/custom-provider.md +44 -12
  208. package/docs/models.md +8 -2
  209. package/docs/packages.md +5 -4
  210. package/docs/sdk.md +2 -0
  211. package/docs/usage.md +2 -2
  212. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  213. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  214. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  215. package/examples/extensions/sandbox/package-lock.json +2 -2
  216. package/examples/extensions/sandbox/package.json +1 -1
  217. package/examples/extensions/with-deps/package-lock.json +2 -2
  218. package/examples/extensions/with-deps/package.json +1 -1
  219. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  220. package/node_modules/@earendil-works/pi-ai/dist/cli.d.ts.map +1 -1
  221. package/node_modules/@earendil-works/pi-ai/dist/cli.js +14 -0
  222. package/node_modules/@earendil-works/pi-ai/dist/cli.js.map +1 -1
  223. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -1
  224. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  225. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  226. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +145 -225
  227. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  228. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +134 -225
  229. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  230. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  231. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +2 -1
  232. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  233. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts +27 -8
  234. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  235. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +35 -22
  236. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  237. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +10 -0
  238. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  239. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  240. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts +19 -0
  241. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts.map +1 -0
  242. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +55 -0
  243. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js.map +1 -0
  244. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts +3 -3
  245. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  246. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +45 -69
  247. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  248. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts +1 -0
  249. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts.map +1 -1
  250. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js +1 -0
  251. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js.map +1 -1
  252. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.d.ts +8 -1
  253. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.d.ts.map +1 -1
  254. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.js.map +1 -1
  255. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  256. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  257. package/npm-shrinkwrap.json +13 -13
  258. package/package.json +5 -5
@@ -1792,6 +1792,7 @@ export const MODELS = {
1792
1792
  api: "anthropic-messages",
1793
1793
  provider: "anthropic",
1794
1794
  baseUrl: "https://api.anthropic.com",
1795
+ compat: { "forceAdaptiveThinking": true },
1795
1796
  reasoning: true,
1796
1797
  thinkingLevelMap: { "xhigh": "max" },
1797
1798
  input: ["text", "image"],
@@ -1810,6 +1811,7 @@ export const MODELS = {
1810
1811
  api: "anthropic-messages",
1811
1812
  provider: "anthropic",
1812
1813
  baseUrl: "https://api.anthropic.com",
1814
+ compat: { "forceAdaptiveThinking": true },
1813
1815
  reasoning: true,
1814
1816
  thinkingLevelMap: { "xhigh": "xhigh" },
1815
1817
  input: ["text", "image"],
@@ -1896,6 +1898,7 @@ export const MODELS = {
1896
1898
  api: "anthropic-messages",
1897
1899
  provider: "anthropic",
1898
1900
  baseUrl: "https://api.anthropic.com",
1901
+ compat: { "forceAdaptiveThinking": true },
1899
1902
  reasoning: true,
1900
1903
  input: ["text", "image"],
1901
1904
  cost: {
@@ -2895,6 +2898,7 @@ export const MODELS = {
2895
2898
  api: "anthropic-messages",
2896
2899
  provider: "cloudflare-ai-gateway",
2897
2900
  baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",
2901
+ compat: { "forceAdaptiveThinking": true },
2898
2902
  reasoning: true,
2899
2903
  thinkingLevelMap: { "xhigh": "max" },
2900
2904
  input: ["text", "image"],
@@ -2913,6 +2917,7 @@ export const MODELS = {
2913
2917
  api: "anthropic-messages",
2914
2918
  provider: "cloudflare-ai-gateway",
2915
2919
  baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",
2920
+ compat: { "forceAdaptiveThinking": true },
2916
2921
  reasoning: true,
2917
2922
  thinkingLevelMap: { "xhigh": "xhigh" },
2918
2923
  input: ["text", "image"],
@@ -2965,6 +2970,7 @@ export const MODELS = {
2965
2970
  api: "anthropic-messages",
2966
2971
  provider: "cloudflare-ai-gateway",
2967
2972
  baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",
2973
+ compat: { "forceAdaptiveThinking": true },
2968
2974
  reasoning: true,
2969
2975
  input: ["text", "image"],
2970
2976
  cost: {
@@ -3587,42 +3593,6 @@ export const MODELS = {
3587
3593
  },
3588
3594
  },
3589
3595
  "fireworks": {
3590
- "accounts/fireworks/models/deepseek-v3p1": {
3591
- id: "accounts/fireworks/models/deepseek-v3p1",
3592
- name: "DeepSeek V3.1",
3593
- api: "anthropic-messages",
3594
- provider: "fireworks",
3595
- baseUrl: "https://api.fireworks.ai/inference",
3596
- compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3597
- reasoning: true,
3598
- input: ["text"],
3599
- cost: {
3600
- input: 0.56,
3601
- output: 1.68,
3602
- cacheRead: 0,
3603
- cacheWrite: 0,
3604
- },
3605
- contextWindow: 163840,
3606
- maxTokens: 163840,
3607
- },
3608
- "accounts/fireworks/models/deepseek-v3p2": {
3609
- id: "accounts/fireworks/models/deepseek-v3p2",
3610
- name: "DeepSeek V3.2",
3611
- api: "anthropic-messages",
3612
- provider: "fireworks",
3613
- baseUrl: "https://api.fireworks.ai/inference",
3614
- compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3615
- reasoning: true,
3616
- input: ["text"],
3617
- cost: {
3618
- input: 0.56,
3619
- output: 1.68,
3620
- cacheRead: 0.28,
3621
- cacheWrite: 0,
3622
- },
3623
- contextWindow: 160000,
3624
- maxTokens: 160000,
3625
- },
3626
3596
  "accounts/fireworks/models/deepseek-v4-flash": {
3627
3597
  id: "accounts/fireworks/models/deepseek-v4-flash",
3628
3598
  name: "DeepSeek V4 Flash",
@@ -3653,84 +3623,12 @@ export const MODELS = {
3653
3623
  cost: {
3654
3624
  input: 1.74,
3655
3625
  output: 3.48,
3656
- cacheRead: 0.15,
3626
+ cacheRead: 0.145,
3657
3627
  cacheWrite: 0,
3658
3628
  },
3659
3629
  contextWindow: 1000000,
3660
3630
  maxTokens: 384000,
3661
3631
  },
3662
- "accounts/fireworks/models/glm-4p5": {
3663
- id: "accounts/fireworks/models/glm-4p5",
3664
- name: "GLM 4.5",
3665
- api: "anthropic-messages",
3666
- provider: "fireworks",
3667
- baseUrl: "https://api.fireworks.ai/inference",
3668
- compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3669
- reasoning: true,
3670
- input: ["text"],
3671
- cost: {
3672
- input: 0.55,
3673
- output: 2.19,
3674
- cacheRead: 0,
3675
- cacheWrite: 0,
3676
- },
3677
- contextWindow: 131072,
3678
- maxTokens: 131072,
3679
- },
3680
- "accounts/fireworks/models/glm-4p5-air": {
3681
- id: "accounts/fireworks/models/glm-4p5-air",
3682
- name: "GLM 4.5 Air",
3683
- api: "anthropic-messages",
3684
- provider: "fireworks",
3685
- baseUrl: "https://api.fireworks.ai/inference",
3686
- compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3687
- reasoning: true,
3688
- input: ["text"],
3689
- cost: {
3690
- input: 0.22,
3691
- output: 0.88,
3692
- cacheRead: 0,
3693
- cacheWrite: 0,
3694
- },
3695
- contextWindow: 131072,
3696
- maxTokens: 131072,
3697
- },
3698
- "accounts/fireworks/models/glm-4p7": {
3699
- id: "accounts/fireworks/models/glm-4p7",
3700
- name: "GLM 4.7",
3701
- api: "anthropic-messages",
3702
- provider: "fireworks",
3703
- baseUrl: "https://api.fireworks.ai/inference",
3704
- compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3705
- reasoning: true,
3706
- input: ["text"],
3707
- cost: {
3708
- input: 0.6,
3709
- output: 2.2,
3710
- cacheRead: 0.3,
3711
- cacheWrite: 0,
3712
- },
3713
- contextWindow: 198000,
3714
- maxTokens: 198000,
3715
- },
3716
- "accounts/fireworks/models/glm-5": {
3717
- id: "accounts/fireworks/models/glm-5",
3718
- name: "GLM 5",
3719
- api: "anthropic-messages",
3720
- provider: "fireworks",
3721
- baseUrl: "https://api.fireworks.ai/inference",
3722
- compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3723
- reasoning: true,
3724
- input: ["text"],
3725
- cost: {
3726
- input: 1,
3727
- output: 3.2,
3728
- cacheRead: 0.5,
3729
- cacheWrite: 0,
3730
- },
3731
- contextWindow: 202752,
3732
- maxTokens: 131072,
3733
- },
3734
3632
  "accounts/fireworks/models/glm-5p1": {
3735
3633
  id: "accounts/fireworks/models/glm-5p1",
3736
3634
  name: "GLM 5.1",
@@ -3761,7 +3659,7 @@ export const MODELS = {
3761
3659
  cost: {
3762
3660
  input: 0.15,
3763
3661
  output: 0.6,
3764
- cacheRead: 0,
3662
+ cacheRead: 0.015,
3765
3663
  cacheWrite: 0,
3766
3664
  },
3767
3665
  contextWindow: 131072,
@@ -3777,50 +3675,14 @@ export const MODELS = {
3777
3675
  reasoning: true,
3778
3676
  input: ["text"],
3779
3677
  cost: {
3780
- input: 0.05,
3781
- output: 0.2,
3782
- cacheRead: 0,
3678
+ input: 0.07,
3679
+ output: 0.3,
3680
+ cacheRead: 0.035,
3783
3681
  cacheWrite: 0,
3784
3682
  },
3785
3683
  contextWindow: 131072,
3786
3684
  maxTokens: 32768,
3787
3685
  },
3788
- "accounts/fireworks/models/kimi-k2-instruct": {
3789
- id: "accounts/fireworks/models/kimi-k2-instruct",
3790
- name: "Kimi K2 Instruct",
3791
- api: "anthropic-messages",
3792
- provider: "fireworks",
3793
- baseUrl: "https://api.fireworks.ai/inference",
3794
- compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3795
- reasoning: false,
3796
- input: ["text"],
3797
- cost: {
3798
- input: 1,
3799
- output: 3,
3800
- cacheRead: 0,
3801
- cacheWrite: 0,
3802
- },
3803
- contextWindow: 128000,
3804
- maxTokens: 16384,
3805
- },
3806
- "accounts/fireworks/models/kimi-k2-thinking": {
3807
- id: "accounts/fireworks/models/kimi-k2-thinking",
3808
- name: "Kimi K2 Thinking",
3809
- api: "anthropic-messages",
3810
- provider: "fireworks",
3811
- baseUrl: "https://api.fireworks.ai/inference",
3812
- compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3813
- reasoning: true,
3814
- input: ["text"],
3815
- cost: {
3816
- input: 0.6,
3817
- output: 2.5,
3818
- cacheRead: 0.3,
3819
- cacheWrite: 0,
3820
- },
3821
- contextWindow: 256000,
3822
- maxTokens: 256000,
3823
- },
3824
3686
  "accounts/fireworks/models/kimi-k2p5": {
3825
3687
  id: "accounts/fireworks/models/kimi-k2p5",
3826
3688
  name: "Kimi K2.5",
@@ -3857,24 +3719,6 @@ export const MODELS = {
3857
3719
  contextWindow: 262000,
3858
3720
  maxTokens: 262000,
3859
3721
  },
3860
- "accounts/fireworks/models/minimax-m2p1": {
3861
- id: "accounts/fireworks/models/minimax-m2p1",
3862
- name: "MiniMax-M2.1",
3863
- api: "anthropic-messages",
3864
- provider: "fireworks",
3865
- baseUrl: "https://api.fireworks.ai/inference",
3866
- compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3867
- reasoning: true,
3868
- input: ["text"],
3869
- cost: {
3870
- input: 0.3,
3871
- output: 1.2,
3872
- cacheRead: 0.03,
3873
- cacheWrite: 0,
3874
- },
3875
- contextWindow: 200000,
3876
- maxTokens: 200000,
3877
- },
3878
3722
  "accounts/fireworks/models/minimax-m2p5": {
3879
3723
  id: "accounts/fireworks/models/minimax-m2p5",
3880
3724
  name: "MiniMax-M2.5",
@@ -3905,7 +3749,7 @@ export const MODELS = {
3905
3749
  cost: {
3906
3750
  input: 0.3,
3907
3751
  output: 1.2,
3908
- cacheRead: 0.03,
3752
+ cacheRead: 0.06,
3909
3753
  cacheWrite: 0,
3910
3754
  },
3911
3755
  contextWindow: 196608,
@@ -3929,9 +3773,27 @@ export const MODELS = {
3929
3773
  contextWindow: 128000,
3930
3774
  maxTokens: 8192,
3931
3775
  },
3932
- "accounts/fireworks/routers/kimi-k2p5-turbo": {
3933
- id: "accounts/fireworks/routers/kimi-k2p5-turbo",
3934
- name: "Kimi K2.5 Turbo",
3776
+ "accounts/fireworks/routers/glm-5p1-fast": {
3777
+ id: "accounts/fireworks/routers/glm-5p1-fast",
3778
+ name: "GLM 5.1 Fast",
3779
+ api: "anthropic-messages",
3780
+ provider: "fireworks",
3781
+ baseUrl: "https://api.fireworks.ai/inference",
3782
+ compat: { "sendSessionAffinityHeaders": true, "supportsEagerToolInputStreaming": false, "supportsCacheControlOnTools": false, "supportsLongCacheRetention": false },
3783
+ reasoning: true,
3784
+ input: ["text"],
3785
+ cost: {
3786
+ input: 2.8,
3787
+ output: 8.8,
3788
+ cacheRead: 0.52,
3789
+ cacheWrite: 0,
3790
+ },
3791
+ contextWindow: 202800,
3792
+ maxTokens: 131072,
3793
+ },
3794
+ "accounts/fireworks/routers/kimi-k2p6-turbo": {
3795
+ id: "accounts/fireworks/routers/kimi-k2p6-turbo",
3796
+ name: "Kimi K2.6 Turbo",
3935
3797
  api: "anthropic-messages",
3936
3798
  provider: "fireworks",
3937
3799
  baseUrl: "https://api.fireworks.ai/inference",
@@ -3939,13 +3801,13 @@ export const MODELS = {
3939
3801
  reasoning: true,
3940
3802
  input: ["text", "image"],
3941
3803
  cost: {
3942
- input: 0,
3943
- output: 0,
3944
- cacheRead: 0,
3804
+ input: 2,
3805
+ output: 8,
3806
+ cacheRead: 0.3,
3945
3807
  cacheWrite: 0,
3946
3808
  },
3947
- contextWindow: 256000,
3948
- maxTokens: 256000,
3809
+ contextWindow: 262000,
3810
+ maxTokens: 262000,
3949
3811
  },
3950
3812
  },
3951
3813
  "github-copilot": {
@@ -3993,6 +3855,7 @@ export const MODELS = {
3993
3855
  provider: "github-copilot",
3994
3856
  baseUrl: "https://api.individual.githubcopilot.com",
3995
3857
  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" },
3858
+ compat: { "forceAdaptiveThinking": true },
3996
3859
  reasoning: true,
3997
3860
  thinkingLevelMap: { "xhigh": "max" },
3998
3861
  input: ["text", "image"],
@@ -4012,6 +3875,7 @@ export const MODELS = {
4012
3875
  provider: "github-copilot",
4013
3876
  baseUrl: "https://api.individual.githubcopilot.com",
4014
3877
  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" },
3878
+ compat: { "forceAdaptiveThinking": true },
4015
3879
  reasoning: true,
4016
3880
  thinkingLevelMap: { "xhigh": "xhigh" },
4017
3881
  input: ["text", "image"],
@@ -4050,6 +3914,7 @@ export const MODELS = {
4050
3914
  provider: "github-copilot",
4051
3915
  baseUrl: "https://api.individual.githubcopilot.com",
4052
3916
  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" },
3917
+ compat: { "forceAdaptiveThinking": true },
4053
3918
  reasoning: true,
4054
3919
  input: ["text", "image"],
4055
3920
  cost: {
@@ -4118,6 +3983,25 @@ export const MODELS = {
4118
3983
  contextWindow: 128000,
4119
3984
  maxTokens: 64000,
4120
3985
  },
3986
+ "gemini-3.5-flash": {
3987
+ id: "gemini-3.5-flash",
3988
+ name: "Gemini 3.5 Flash",
3989
+ api: "openai-completions",
3990
+ provider: "github-copilot",
3991
+ baseUrl: "https://api.individual.githubcopilot.com",
3992
+ 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" },
3993
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
3994
+ reasoning: true,
3995
+ input: ["text", "image"],
3996
+ cost: {
3997
+ input: 0,
3998
+ output: 0,
3999
+ cacheRead: 0,
4000
+ cacheWrite: 0,
4001
+ },
4002
+ contextWindow: 128000,
4003
+ maxTokens: 64000,
4004
+ },
4121
4005
  "gpt-4.1": {
4122
4006
  id: "gpt-4.1",
4123
4007
  name: "GPT-4.1",
@@ -7295,6 +7179,7 @@ export const MODELS = {
7295
7179
  api: "anthropic-messages",
7296
7180
  provider: "opencode",
7297
7181
  baseUrl: "https://opencode.ai/zen",
7182
+ compat: { "forceAdaptiveThinking": true },
7298
7183
  reasoning: true,
7299
7184
  thinkingLevelMap: { "xhigh": "max" },
7300
7185
  input: ["text", "image"],
@@ -7313,6 +7198,7 @@ export const MODELS = {
7313
7198
  api: "anthropic-messages",
7314
7199
  provider: "opencode",
7315
7200
  baseUrl: "https://opencode.ai/zen",
7201
+ compat: { "forceAdaptiveThinking": true },
7316
7202
  reasoning: true,
7317
7203
  thinkingLevelMap: { "xhigh": "xhigh" },
7318
7204
  input: ["text", "image"],
@@ -7365,6 +7251,7 @@ export const MODELS = {
7365
7251
  api: "anthropic-messages",
7366
7252
  provider: "opencode",
7367
7253
  baseUrl: "https://opencode.ai/zen",
7254
+ compat: { "forceAdaptiveThinking": true },
7368
7255
  reasoning: true,
7369
7256
  input: ["text", "image"],
7370
7257
  cost: {
@@ -7907,23 +7794,6 @@ export const MODELS = {
7907
7794
  contextWindow: 262144,
7908
7795
  maxTokens: 65536,
7909
7796
  },
7910
- "qwen3.6-plus-free": {
7911
- id: "qwen3.6-plus-free",
7912
- name: "Qwen3.6 Plus Free",
7913
- api: "anthropic-messages",
7914
- provider: "opencode",
7915
- baseUrl: "https://opencode.ai/zen",
7916
- reasoning: true,
7917
- input: ["text", "image"],
7918
- cost: {
7919
- input: 0,
7920
- output: 0,
7921
- cacheRead: 0,
7922
- cacheWrite: 0,
7923
- },
7924
- contextWindow: 262144,
7925
- maxTokens: 65536,
7926
- },
7927
7797
  },
7928
7798
  "opencode-go": {
7929
7799
  "deepseek-v4-flash": {
@@ -8482,23 +8352,6 @@ export const MODELS = {
8482
8352
  contextWindow: 1000000,
8483
8353
  maxTokens: 128000,
8484
8354
  },
8485
- "arcee-ai/trinity-large-preview": {
8486
- id: "arcee-ai/trinity-large-preview",
8487
- name: "Arcee AI: Trinity Large Preview",
8488
- api: "openai-completions",
8489
- provider: "openrouter",
8490
- baseUrl: "https://openrouter.ai/api/v1",
8491
- reasoning: false,
8492
- input: ["text"],
8493
- cost: {
8494
- input: 0.15,
8495
- output: 0.44999999999999996,
8496
- cacheRead: 0,
8497
- cacheWrite: 0,
8498
- },
8499
- contextWindow: 131000,
8500
- maxTokens: 4096,
8501
- },
8502
8355
  "arcee-ai/trinity-large-thinking": {
8503
8356
  id: "arcee-ai/trinity-large-thinking",
8504
8357
  name: "Arcee AI: Trinity Large Thinking",
@@ -8884,13 +8737,13 @@ export const MODELS = {
8884
8737
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8885
8738
  input: ["text"],
8886
8739
  cost: {
8887
- input: 0.112,
8888
- output: 0.224,
8889
- cacheRead: 0.022,
8740
+ input: 0.09999999999999999,
8741
+ output: 0.19999999999999998,
8742
+ cacheRead: 0.02,
8890
8743
  cacheWrite: 0,
8891
8744
  },
8892
8745
  contextWindow: 1048576,
8893
- maxTokens: 4096,
8746
+ maxTokens: 16384,
8894
8747
  },
8895
8748
  "deepseek/deepseek-v4-flash:free": {
8896
8749
  id: "deepseek/deepseek-v4-flash:free",
@@ -11831,7 +11684,7 @@ export const MODELS = {
11831
11684
  cacheWrite: 0,
11832
11685
  },
11833
11686
  contextWindow: 262144,
11834
- maxTokens: 65536,
11687
+ maxTokens: 262144,
11835
11688
  },
11836
11689
  "qwen/qwen3.5-27b": {
11837
11690
  id: "qwen/qwen3.5-27b",
@@ -11961,13 +11814,13 @@ export const MODELS = {
11961
11814
  reasoning: true,
11962
11815
  input: ["text", "image"],
11963
11816
  cost: {
11964
- input: 0.32,
11817
+ input: 0.3,
11965
11818
  output: 3.1999999999999997,
11966
11819
  cacheRead: 0,
11967
11820
  cacheWrite: 0,
11968
11821
  },
11969
11822
  contextWindow: 262144,
11970
- maxTokens: 81920,
11823
+ maxTokens: 262144,
11971
11824
  },
11972
11825
  "qwen/qwen3.6-35b-a3b": {
11973
11826
  id: "qwen/qwen3.6-35b-a3b",
@@ -11978,13 +11831,13 @@ export const MODELS = {
11978
11831
  reasoning: true,
11979
11832
  input: ["text", "image"],
11980
11833
  cost: {
11981
- input: 0.149,
11834
+ input: 0.15,
11982
11835
  output: 1,
11983
11836
  cacheRead: 0,
11984
11837
  cacheWrite: 0,
11985
11838
  },
11986
11839
  contextWindow: 262144,
11987
- maxTokens: 4096,
11840
+ maxTokens: 262140,
11988
11841
  },
11989
11842
  "qwen/qwen3.6-flash": {
11990
11843
  id: "qwen/qwen3.6-flash",
@@ -12037,6 +11890,23 @@ export const MODELS = {
12037
11890
  contextWindow: 1000000,
12038
11891
  maxTokens: 65536,
12039
11892
  },
11893
+ "qwen/qwen3.7-max": {
11894
+ id: "qwen/qwen3.7-max",
11895
+ name: "Qwen: Qwen3.7 Max",
11896
+ api: "openai-completions",
11897
+ provider: "openrouter",
11898
+ baseUrl: "https://openrouter.ai/api/v1",
11899
+ reasoning: true,
11900
+ input: ["text"],
11901
+ cost: {
11902
+ input: 2.5,
11903
+ output: 7.5,
11904
+ cacheRead: 0,
11905
+ cacheWrite: 3.125,
11906
+ },
11907
+ contextWindow: 1000000,
11908
+ maxTokens: 65536,
11909
+ },
12040
11910
  "rekaai/reka-edge": {
12041
11911
  id: "rekaai/reka-edge",
12042
11912
  name: "Reka Edge",
@@ -12522,13 +12392,13 @@ export const MODELS = {
12522
12392
  reasoning: true,
12523
12393
  input: ["text"],
12524
12394
  cost: {
12525
- input: 0,
12526
- output: 0,
12527
- cacheRead: 0,
12395
+ input: 0.98,
12396
+ output: 3.08,
12397
+ cacheRead: 0.182,
12528
12398
  cacheWrite: 0,
12529
12399
  },
12530
- contextWindow: 202800,
12531
- maxTokens: 202800,
12400
+ contextWindow: 202752,
12401
+ maxTokens: 4096,
12532
12402
  },
12533
12403
  "z-ai/glm-5v-turbo": {
12534
12404
  id: "z-ai/glm-5v-turbo",
@@ -12817,6 +12687,25 @@ export const MODELS = {
12817
12687
  contextWindow: 1000000,
12818
12688
  maxTokens: 500000,
12819
12689
  },
12690
+ "Qwen/Qwen3.7-Max": {
12691
+ id: "Qwen/Qwen3.7-Max",
12692
+ name: "Qwen3.7 Max",
12693
+ api: "openai-completions",
12694
+ provider: "together",
12695
+ baseUrl: "https://api.together.ai/v1",
12696
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
12697
+ reasoning: true,
12698
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
12699
+ input: ["text"],
12700
+ cost: {
12701
+ input: 2.5,
12702
+ output: 7.5,
12703
+ cacheRead: 0,
12704
+ cacheWrite: 0,
12705
+ },
12706
+ contextWindow: 1000000,
12707
+ maxTokens: 500000,
12708
+ },
12820
12709
  "deepseek-ai/DeepSeek-V3": {
12821
12710
  id: "deepseek-ai/DeepSeek-V3",
12822
12711
  name: "DeepSeek V3",
@@ -13313,6 +13202,23 @@ export const MODELS = {
13313
13202
  contextWindow: 1000000,
13314
13203
  maxTokens: 64000,
13315
13204
  },
13205
+ "alibaba/qwen3.7-max": {
13206
+ id: "alibaba/qwen3.7-max",
13207
+ name: "Qwen 3.7 Max",
13208
+ api: "anthropic-messages",
13209
+ provider: "vercel-ai-gateway",
13210
+ baseUrl: "https://ai-gateway.vercel.sh",
13211
+ reasoning: true,
13212
+ input: ["text", "image"],
13213
+ cost: {
13214
+ input: 1.25,
13215
+ output: 3.75,
13216
+ cacheRead: 0.25,
13217
+ cacheWrite: 1.5625,
13218
+ },
13219
+ contextWindow: 991000,
13220
+ maxTokens: 64000,
13221
+ },
13316
13222
  "anthropic/claude-3-haiku": {
13317
13223
  id: "anthropic/claude-3-haiku",
13318
13224
  name: "Claude 3 Haiku",
@@ -13421,6 +13327,7 @@ export const MODELS = {
13421
13327
  api: "anthropic-messages",
13422
13328
  provider: "vercel-ai-gateway",
13423
13329
  baseUrl: "https://ai-gateway.vercel.sh",
13330
+ compat: { "forceAdaptiveThinking": true },
13424
13331
  reasoning: true,
13425
13332
  thinkingLevelMap: { "xhigh": "max" },
13426
13333
  input: ["text", "image"],
@@ -13439,6 +13346,7 @@ export const MODELS = {
13439
13346
  api: "anthropic-messages",
13440
13347
  provider: "vercel-ai-gateway",
13441
13348
  baseUrl: "https://ai-gateway.vercel.sh",
13349
+ compat: { "forceAdaptiveThinking": true },
13442
13350
  reasoning: true,
13443
13351
  thinkingLevelMap: { "xhigh": "xhigh" },
13444
13352
  input: ["text", "image"],
@@ -13491,6 +13399,7 @@ export const MODELS = {
13491
13399
  api: "anthropic-messages",
13492
13400
  provider: "vercel-ai-gateway",
13493
13401
  baseUrl: "https://ai-gateway.vercel.sh",
13402
+ compat: { "forceAdaptiveThinking": true },
13494
13403
  reasoning: true,
13495
13404
  input: ["text", "image"],
13496
13405
  cost: {
@@ -14201,7 +14110,7 @@ export const MODELS = {
14201
14110
  },
14202
14111
  "minimax/minimax-m2.7": {
14203
14112
  id: "minimax/minimax-m2.7",
14204
- name: "Minimax M2.7",
14113
+ name: "MiniMax M2.7",
14205
14114
  api: "anthropic-messages",
14206
14115
  provider: "vercel-ai-gateway",
14207
14116
  baseUrl: "https://ai-gateway.vercel.sh",