@code-yeongyu/senpi 2026.7.23 → 2026.7.24

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 (825) hide show
  1. package/CHANGELOG.md +131 -6
  2. package/README.md +14 -1
  3. package/dist/cli/args.d.ts +2 -0
  4. package/dist/cli/args.d.ts.map +1 -1
  5. package/dist/cli/args.js +6 -0
  6. package/dist/cli/args.js.map +1 -1
  7. package/dist/cli/config-selector.js +1 -1
  8. package/dist/cli/config-selector.js.map +1 -1
  9. package/dist/core/agent-session-runtime.d.ts +15 -1
  10. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  11. package/dist/core/agent-session-runtime.js +12 -2
  12. package/dist/core/agent-session-runtime.js.map +1 -1
  13. package/dist/core/agent-session.d.ts +102 -4
  14. package/dist/core/agent-session.d.ts.map +1 -1
  15. package/dist/core/agent-session.js +1295 -320
  16. package/dist/core/agent-session.js.map +1 -1
  17. package/dist/core/compaction/branch-summarization.d.ts +7 -1
  18. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  19. package/dist/core/compaction/branch-summarization.js +8 -12
  20. package/dist/core/compaction/branch-summarization.js.map +1 -1
  21. package/dist/core/compaction/compaction.d.ts +22 -4
  22. package/dist/core/compaction/compaction.d.ts.map +1 -1
  23. package/dist/core/compaction/compaction.js +114 -51
  24. package/dist/core/compaction/compaction.js.map +1 -1
  25. package/dist/core/compaction/lifecycle.d.ts +69 -0
  26. package/dist/core/compaction/lifecycle.d.ts.map +1 -0
  27. package/dist/core/compaction/lifecycle.js +104 -0
  28. package/dist/core/compaction/lifecycle.js.map +1 -0
  29. package/dist/core/compaction/utils.d.ts +12 -1
  30. package/dist/core/compaction/utils.d.ts.map +1 -1
  31. package/dist/core/compaction/utils.js +22 -17
  32. package/dist/core/compaction/utils.js.map +1 -1
  33. package/dist/core/event-bus.d.ts.map +1 -1
  34. package/dist/core/event-bus.js +11 -1
  35. package/dist/core/event-bus.js.map +1 -1
  36. package/dist/core/extensions/builtin/compaction/index.d.ts +2 -1
  37. package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
  38. package/dist/core/extensions/builtin/compaction/index.js +42 -30
  39. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  40. package/dist/core/extensions/builtin/compaction/openai-remote-model.d.ts +9 -2
  41. package/dist/core/extensions/builtin/compaction/openai-remote-model.d.ts.map +1 -1
  42. package/dist/core/extensions/builtin/compaction/openai-remote-model.js +78 -28
  43. package/dist/core/extensions/builtin/compaction/openai-remote-model.js.map +1 -1
  44. package/dist/core/extensions/builtin/compaction/openai-remote-schema.d.ts +3 -1
  45. package/dist/core/extensions/builtin/compaction/openai-remote-schema.d.ts.map +1 -1
  46. package/dist/core/extensions/builtin/compaction/openai-remote-schema.js +19 -1
  47. package/dist/core/extensions/builtin/compaction/openai-remote-schema.js.map +1 -1
  48. package/dist/core/extensions/builtin/compaction/openai-remote.d.ts +20 -6
  49. package/dist/core/extensions/builtin/compaction/openai-remote.d.ts.map +1 -1
  50. package/dist/core/extensions/builtin/compaction/openai-remote.js +207 -22
  51. package/dist/core/extensions/builtin/compaction/openai-remote.js.map +1 -1
  52. package/dist/core/extensions/builtin/compaction/speculative.d.ts +4 -2
  53. package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
  54. package/dist/core/extensions/builtin/compaction/speculative.js +25 -13
  55. package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -1
  56. package/dist/core/extensions/builtin/config-reload/index.d.ts +7 -0
  57. package/dist/core/extensions/builtin/config-reload/index.d.ts.map +1 -1
  58. package/dist/core/extensions/builtin/config-reload/index.js +49 -17
  59. package/dist/core/extensions/builtin/config-reload/index.js.map +1 -1
  60. package/dist/core/extensions/builtin/hooks/index.js +1 -1
  61. package/dist/core/extensions/builtin/hooks/index.js.map +1 -1
  62. package/dist/core/extensions/builtin/hooks/lifecycle-adapter.d.ts +3 -1
  63. package/dist/core/extensions/builtin/hooks/lifecycle-adapter.d.ts.map +1 -1
  64. package/dist/core/extensions/builtin/hooks/lifecycle-adapter.js +2 -1
  65. package/dist/core/extensions/builtin/hooks/lifecycle-adapter.js.map +1 -1
  66. package/dist/core/extensions/builtin/mcp/auth/commands-auth-dispatch.d.ts +2 -1
  67. package/dist/core/extensions/builtin/mcp/auth/commands-auth-dispatch.d.ts.map +1 -1
  68. package/dist/core/extensions/builtin/mcp/auth/commands-auth-dispatch.js +5 -3
  69. package/dist/core/extensions/builtin/mcp/auth/commands-auth-dispatch.js.map +1 -1
  70. package/dist/core/extensions/builtin/mcp/auth/commands-auth.d.ts +5 -0
  71. package/dist/core/extensions/builtin/mcp/auth/commands-auth.d.ts.map +1 -1
  72. package/dist/core/extensions/builtin/mcp/auth/commands-auth.js +8 -3
  73. package/dist/core/extensions/builtin/mcp/auth/commands-auth.js.map +1 -1
  74. package/dist/core/extensions/builtin/mcp/catalog.d.ts +3 -1
  75. package/dist/core/extensions/builtin/mcp/catalog.d.ts.map +1 -1
  76. package/dist/core/extensions/builtin/mcp/catalog.js +2 -0
  77. package/dist/core/extensions/builtin/mcp/catalog.js.map +1 -1
  78. package/dist/core/extensions/builtin/mcp/commands.d.ts +1 -1
  79. package/dist/core/extensions/builtin/mcp/commands.d.ts.map +1 -1
  80. package/dist/core/extensions/builtin/mcp/commands.js +34 -39
  81. package/dist/core/extensions/builtin/mcp/commands.js.map +1 -1
  82. package/dist/core/extensions/builtin/mcp/connection-types.d.ts +2 -0
  83. package/dist/core/extensions/builtin/mcp/connection-types.d.ts.map +1 -1
  84. package/dist/core/extensions/builtin/mcp/connection-types.js.map +1 -1
  85. package/dist/core/extensions/builtin/mcp/connection.d.ts.map +1 -1
  86. package/dist/core/extensions/builtin/mcp/connection.js +3 -0
  87. package/dist/core/extensions/builtin/mcp/connection.js.map +1 -1
  88. package/dist/core/extensions/builtin/mcp/elicitation.d.ts +7 -3
  89. package/dist/core/extensions/builtin/mcp/elicitation.d.ts.map +1 -1
  90. package/dist/core/extensions/builtin/mcp/elicitation.js +5 -5
  91. package/dist/core/extensions/builtin/mcp/elicitation.js.map +1 -1
  92. package/dist/core/extensions/builtin/mcp/expose/register.d.ts.map +1 -1
  93. package/dist/core/extensions/builtin/mcp/expose/register.js +1 -0
  94. package/dist/core/extensions/builtin/mcp/expose/register.js.map +1 -1
  95. package/dist/core/extensions/builtin/mcp/expose/session.d.ts +2 -0
  96. package/dist/core/extensions/builtin/mcp/expose/session.d.ts.map +1 -1
  97. package/dist/core/extensions/builtin/mcp/expose/session.js +3 -0
  98. package/dist/core/extensions/builtin/mcp/expose/session.js.map +1 -1
  99. package/dist/core/extensions/builtin/mcp/guard/output-guard.d.ts +9 -1
  100. package/dist/core/extensions/builtin/mcp/guard/output-guard.d.ts.map +1 -1
  101. package/dist/core/extensions/builtin/mcp/guard/output-guard.js +18 -6
  102. package/dist/core/extensions/builtin/mcp/guard/output-guard.js.map +1 -1
  103. package/dist/core/extensions/builtin/mcp/index.d.ts +4 -2
  104. package/dist/core/extensions/builtin/mcp/index.d.ts.map +1 -1
  105. package/dist/core/extensions/builtin/mcp/index.js +150 -127
  106. package/dist/core/extensions/builtin/mcp/index.js.map +1 -1
  107. package/dist/core/extensions/builtin/mcp/instructions.d.ts +1 -1
  108. package/dist/core/extensions/builtin/mcp/instructions.d.ts.map +1 -1
  109. package/dist/core/extensions/builtin/mcp/instructions.js +6 -6
  110. package/dist/core/extensions/builtin/mcp/instructions.js.map +1 -1
  111. package/dist/core/extensions/builtin/mcp/prompts.d.ts +2 -0
  112. package/dist/core/extensions/builtin/mcp/prompts.d.ts.map +1 -1
  113. package/dist/core/extensions/builtin/mcp/prompts.js +9 -3
  114. package/dist/core/extensions/builtin/mcp/prompts.js.map +1 -1
  115. package/dist/core/extensions/builtin/mcp/resources.d.ts +2 -0
  116. package/dist/core/extensions/builtin/mcp/resources.d.ts.map +1 -1
  117. package/dist/core/extensions/builtin/mcp/resources.js +1 -0
  118. package/dist/core/extensions/builtin/mcp/resources.js.map +1 -1
  119. package/dist/core/extensions/builtin/mcp/service-register.d.ts.map +1 -1
  120. package/dist/core/extensions/builtin/mcp/service-register.js +1 -0
  121. package/dist/core/extensions/builtin/mcp/service-register.js.map +1 -1
  122. package/dist/core/extensions/builtin/mcp/service-types.d.ts +2 -0
  123. package/dist/core/extensions/builtin/mcp/service-types.d.ts.map +1 -1
  124. package/dist/core/extensions/builtin/mcp/service-types.js.map +1 -1
  125. package/dist/core/extensions/builtin/mcp/service.d.ts +12 -1
  126. package/dist/core/extensions/builtin/mcp/service.d.ts.map +1 -1
  127. package/dist/core/extensions/builtin/mcp/service.js +44 -2
  128. package/dist/core/extensions/builtin/mcp/service.js.map +1 -1
  129. package/dist/core/extensions/builtin/mcp/transport.d.ts +2 -0
  130. package/dist/core/extensions/builtin/mcp/transport.d.ts.map +1 -1
  131. package/dist/core/extensions/builtin/mcp/transport.js +7 -7
  132. package/dist/core/extensions/builtin/mcp/transport.js.map +1 -1
  133. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5.d.ts.map +1 -1
  134. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5.js +86 -7
  135. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5.js.map +1 -1
  136. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.d.ts +3 -0
  137. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.d.ts.map +1 -0
  138. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.js +102 -0
  139. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.js.map +1 -0
  140. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.d.ts.map +1 -1
  141. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.js +96 -6
  142. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.js.map +1 -1
  143. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  144. package/dist/core/extensions/builtin/prompt-preset/presets.js +9 -0
  145. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  146. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  147. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  148. package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
  149. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  150. package/dist/core/extensions/builtin/terminal/extension.d.ts.map +1 -1
  151. package/dist/core/extensions/builtin/terminal/extension.js +1 -0
  152. package/dist/core/extensions/builtin/terminal/extension.js.map +1 -1
  153. package/dist/core/extensions/builtin/terminal/tools/bash.d.ts +15 -3
  154. package/dist/core/extensions/builtin/terminal/tools/bash.d.ts.map +1 -1
  155. package/dist/core/extensions/builtin/terminal/tools/bash.js +30 -6
  156. package/dist/core/extensions/builtin/terminal/tools/bash.js.map +1 -1
  157. package/dist/core/extensions/builtin/terminal/tools/context.d.ts +5 -0
  158. package/dist/core/extensions/builtin/terminal/tools/context.d.ts.map +1 -1
  159. package/dist/core/extensions/builtin/terminal/tools/context.js.map +1 -1
  160. package/dist/core/extensions/runner.d.ts +14 -7
  161. package/dist/core/extensions/runner.d.ts.map +1 -1
  162. package/dist/core/extensions/runner.js +64 -37
  163. package/dist/core/extensions/runner.js.map +1 -1
  164. package/dist/core/extensions/types.d.ts +30 -3
  165. package/dist/core/extensions/types.d.ts.map +1 -1
  166. package/dist/core/extensions/types.js.map +1 -1
  167. package/dist/core/http-dispatcher.d.ts.map +1 -1
  168. package/dist/core/http-dispatcher.js +16 -0
  169. package/dist/core/http-dispatcher.js.map +1 -1
  170. package/dist/core/messages.d.ts +1 -1
  171. package/dist/core/messages.d.ts.map +1 -1
  172. package/dist/core/messages.js +10 -8
  173. package/dist/core/messages.js.map +1 -1
  174. package/dist/core/model-registry.d.ts +1 -0
  175. package/dist/core/model-registry.d.ts.map +1 -1
  176. package/dist/core/model-registry.js +3 -2
  177. package/dist/core/model-registry.js.map +1 -1
  178. package/dist/core/model-resolver.d.ts.map +1 -1
  179. package/dist/core/model-resolver.js +9 -0
  180. package/dist/core/model-resolver.js.map +1 -1
  181. package/dist/core/model-runtime.d.ts +4 -2
  182. package/dist/core/model-runtime.d.ts.map +1 -1
  183. package/dist/core/model-runtime.js +34 -18
  184. package/dist/core/model-runtime.js.map +1 -1
  185. package/dist/core/remote-catalog-provider.d.ts +1 -1
  186. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  187. package/dist/core/remote-catalog-provider.js +21 -7
  188. package/dist/core/remote-catalog-provider.js.map +1 -1
  189. package/dist/core/resolve-config-value.d.ts.map +1 -1
  190. package/dist/core/resolve-config-value.js +12 -8
  191. package/dist/core/resolve-config-value.js.map +1 -1
  192. package/dist/core/sdk.d.ts +1 -1
  193. package/dist/core/sdk.d.ts.map +1 -1
  194. package/dist/core/sdk.js +8 -3
  195. package/dist/core/sdk.js.map +1 -1
  196. package/dist/core/session-manager.d.ts +22 -3
  197. package/dist/core/session-manager.d.ts.map +1 -1
  198. package/dist/core/session-manager.js +155 -58
  199. package/dist/core/session-manager.js.map +1 -1
  200. package/dist/core/settings-manager.d.ts +1 -1
  201. package/dist/core/settings-manager.d.ts.map +1 -1
  202. package/dist/core/settings-manager.js.map +1 -1
  203. package/dist/core/system-prompt.js +1 -1
  204. package/dist/core/system-prompt.js.map +1 -1
  205. package/dist/core/tools/bash.d.ts +2 -0
  206. package/dist/core/tools/bash.d.ts.map +1 -1
  207. package/dist/core/tools/bash.js +34 -5
  208. package/dist/core/tools/bash.js.map +1 -1
  209. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  210. package/dist/core/tools/tool-definition-wrapper.js +3 -1
  211. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  212. package/dist/core/usage-totals.d.ts +19 -0
  213. package/dist/core/usage-totals.d.ts.map +1 -0
  214. package/dist/core/usage-totals.js +52 -0
  215. package/dist/core/usage-totals.js.map +1 -0
  216. package/dist/extensions/llama/client.d.ts.map +1 -1
  217. package/dist/extensions/llama/client.js +3 -1
  218. package/dist/extensions/llama/client.js.map +1 -1
  219. package/dist/extensions/llama/index.js +3 -3
  220. package/dist/extensions/llama/index.js.map +1 -1
  221. package/dist/extensions/llama/provider.d.ts.map +1 -1
  222. package/dist/extensions/llama/provider.js +1 -2
  223. package/dist/extensions/llama/provider.js.map +1 -1
  224. package/dist/index.d.ts +2 -2
  225. package/dist/index.d.ts.map +1 -1
  226. package/dist/index.js +1 -1
  227. package/dist/index.js.map +1 -1
  228. package/dist/main.d.ts.map +1 -1
  229. package/dist/main.js +37 -5
  230. package/dist/main.js.map +1 -1
  231. package/dist/modes/app-server/daemon/occupancy.d.ts +22 -0
  232. package/dist/modes/app-server/daemon/occupancy.d.ts.map +1 -0
  233. package/dist/modes/app-server/daemon/occupancy.js +67 -0
  234. package/dist/modes/app-server/daemon/occupancy.js.map +1 -0
  235. package/dist/modes/app-server/daemon/probe.d.ts +3 -3
  236. package/dist/modes/app-server/daemon/probe.d.ts.map +1 -1
  237. package/dist/modes/app-server/daemon/probe.js +33 -10
  238. package/dist/modes/app-server/daemon/probe.js.map +1 -1
  239. package/dist/modes/app-server/daemon.d.ts.map +1 -1
  240. package/dist/modes/app-server/daemon.js +58 -18
  241. package/dist/modes/app-server/daemon.js.map +1 -1
  242. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  243. package/dist/modes/interactive/components/compaction-summary-message.js +8 -1
  244. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  245. package/dist/modes/interactive/components/extension-editor.d.ts +1 -2
  246. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  247. package/dist/modes/interactive/components/extension-editor.js +16 -46
  248. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  249. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  250. package/dist/modes/interactive/components/footer.js.map +1 -1
  251. package/dist/modes/interactive/components/status-indicator.d.ts +4 -0
  252. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  253. package/dist/modes/interactive/components/status-indicator.js +13 -0
  254. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  255. package/dist/modes/interactive/external-editor.d.ts +12 -0
  256. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  257. package/dist/modes/interactive/external-editor.js +37 -0
  258. package/dist/modes/interactive/external-editor.js.map +1 -0
  259. package/dist/modes/interactive/interactive-mode.d.ts +3 -1
  260. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  261. package/dist/modes/interactive/interactive-mode.js +96 -78
  262. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  263. package/dist/modes/rpc/connection-handler.d.ts +6 -0
  264. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  265. package/dist/modes/rpc/connection-handler.js +34 -9
  266. package/dist/modes/rpc/connection-handler.js.map +1 -1
  267. package/dist/modes/rpc/multi-session-host.d.ts +15 -0
  268. package/dist/modes/rpc/multi-session-host.d.ts.map +1 -0
  269. package/dist/modes/rpc/multi-session-host.js +60 -0
  270. package/dist/modes/rpc/multi-session-host.js.map +1 -0
  271. package/dist/modes/rpc/neo-runtime-options.d.ts.map +1 -1
  272. package/dist/modes/rpc/neo-runtime-options.js +1 -0
  273. package/dist/modes/rpc/neo-runtime-options.js.map +1 -1
  274. package/dist/modes/rpc/rpc-client.d.ts +4 -0
  275. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  276. package/dist/modes/rpc/rpc-client.js +7 -0
  277. package/dist/modes/rpc/rpc-client.js.map +1 -1
  278. package/dist/modes/rpc/rpc-mode.d.ts +49 -0
  279. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  280. package/dist/modes/rpc/rpc-mode.js +49 -0
  281. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  282. package/dist/modes/rpc/rpc-types.d.ts +85 -1
  283. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  284. package/dist/modes/rpc/rpc-types.js +8 -1
  285. package/dist/modes/rpc/rpc-types.js.map +1 -1
  286. package/dist/modes/rpc/session-binding.d.ts +13 -0
  287. package/dist/modes/rpc/session-binding.d.ts.map +1 -0
  288. package/dist/modes/rpc/session-binding.js +33 -0
  289. package/dist/modes/rpc/session-binding.js.map +1 -0
  290. package/dist/modes/rpc/session-command-router.d.ts +19 -0
  291. package/dist/modes/rpc/session-command-router.d.ts.map +1 -0
  292. package/dist/modes/rpc/session-command-router.js +159 -0
  293. package/dist/modes/rpc/session-command-router.js.map +1 -0
  294. package/dist/modes/rpc/session-event-writer.d.ts +34 -0
  295. package/dist/modes/rpc/session-event-writer.d.ts.map +1 -0
  296. package/dist/modes/rpc/session-event-writer.js +92 -0
  297. package/dist/modes/rpc/session-event-writer.js.map +1 -0
  298. package/dist/modes/rpc/session-extension-ui-requests.d.ts +15 -0
  299. package/dist/modes/rpc/session-extension-ui-requests.d.ts.map +1 -0
  300. package/dist/modes/rpc/session-extension-ui-requests.js +27 -0
  301. package/dist/modes/rpc/session-extension-ui-requests.js.map +1 -0
  302. package/dist/modes/rpc/session-registry.d.ts +58 -0
  303. package/dist/modes/rpc/session-registry.d.ts.map +1 -0
  304. package/dist/modes/rpc/session-registry.js +162 -0
  305. package/dist/modes/rpc/session-registry.js.map +1 -0
  306. package/dist/utils/clipboard.d.ts.map +1 -1
  307. package/dist/utils/clipboard.js +19 -8
  308. package/dist/utils/clipboard.js.map +1 -1
  309. package/dist/utils/version-check.d.ts.map +1 -1
  310. package/dist/utils/version-check.js +3 -1
  311. package/dist/utils/version-check.js.map +1 -1
  312. package/docs/app-server-daemon.md +3 -2
  313. package/docs/compaction.md +9 -4
  314. package/docs/custom-provider.md +5 -2
  315. package/docs/environment-variables.md +88 -0
  316. package/docs/extensions.md +25 -7
  317. package/docs/index.md +1 -0
  318. package/docs/json.md +5 -1
  319. package/docs/models.md +6 -2
  320. package/docs/providers.md +12 -1
  321. package/docs/rpc.md +154 -8
  322. package/docs/sdk.md +3 -0
  323. package/docs/session-format.md +17 -3
  324. package/docs/settings.md +2 -2
  325. package/docs/usage.md +1 -14
  326. package/examples/extensions/custom-compaction.ts +4 -0
  327. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  328. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  329. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  330. package/examples/extensions/gondolin/package-lock.json +2 -2
  331. package/examples/extensions/gondolin/package.json +1 -1
  332. package/examples/extensions/handoff.ts +9 -1
  333. package/examples/extensions/sandbox/package-lock.json +2 -2
  334. package/examples/extensions/sandbox/package.json +1 -1
  335. package/examples/extensions/summarize.ts +3 -0
  336. package/examples/extensions/with-deps/package-lock.json +2 -2
  337. package/examples/extensions/with-deps/package.json +1 -1
  338. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +24 -0
  339. package/node_modules/@code-yeongyu/senpi-codemode/package.json +3 -3
  340. package/node_modules/@earendil-works/pi-agent-core/README.md +31 -12
  341. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts +4 -4
  342. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  343. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +8 -7
  344. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  345. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +10 -3
  346. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  347. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +61 -27
  348. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  349. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +11 -12
  350. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  351. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +47 -22
  352. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  353. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts +5 -1
  354. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  355. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +6 -8
  356. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  357. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +17 -5
  358. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  359. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +82 -27
  360. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  361. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts +12 -1
  362. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts.map +1 -1
  363. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js +22 -17
  364. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js.map +1 -1
  365. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts +3 -9
  366. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  367. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +118 -11
  368. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  369. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts +11 -3
  370. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts.map +1 -1
  371. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js +56 -4
  372. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js.map +1 -1
  373. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts +11 -3
  374. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts.map +1 -1
  375. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js +56 -4
  376. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js.map +1 -1
  377. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts.map +1 -1
  378. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js +2 -2
  379. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js.map +1 -1
  380. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +6 -4
  381. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  382. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +30 -14
  383. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  384. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.d.ts +27 -0
  385. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.d.ts.map +1 -0
  386. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.js +132 -0
  387. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.js.map +1 -0
  388. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit-diff.d.ts +89 -0
  389. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit-diff.d.ts.map +1 -0
  390. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit-diff.js +386 -0
  391. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit-diff.js.map +1 -0
  392. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.d.ts +19 -0
  393. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.d.ts.map +1 -0
  394. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js +95 -0
  395. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js.map +1 -0
  396. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.d.ts +4 -0
  397. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.d.ts.map +1 -0
  398. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.js +46 -0
  399. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.js.map +1 -0
  400. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/image.d.ts +3 -0
  401. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/image.d.ts.map +1 -0
  402. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/image.js +106 -0
  403. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/image.js.map +1 -0
  404. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/index.d.ts +6 -0
  405. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/index.d.ts.map +1 -0
  406. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/index.js +5 -0
  407. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/index.js.map +1 -0
  408. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.d.ts +4 -0
  409. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.d.ts.map +1 -0
  410. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.js +26 -0
  411. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.js.map +1 -0
  412. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.d.ts +34 -0
  413. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.d.ts.map +1 -0
  414. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.js +110 -0
  415. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.js.map +1 -0
  416. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/tool-context.d.ts +6 -0
  417. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/tool-context.d.ts.map +1 -0
  418. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/tool-context.js +2 -0
  419. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/tool-context.js.map +1 -0
  420. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.d.ts +11 -0
  421. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.d.ts.map +1 -0
  422. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js +31 -0
  423. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js.map +1 -0
  424. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +80 -18
  425. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  426. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  427. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts +12 -4
  428. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts.map +1 -1
  429. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js +90 -35
  430. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js.map +1 -1
  431. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.d.ts.map +1 -1
  432. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js +10 -4
  433. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js.map +1 -1
  434. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +4 -2
  435. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  436. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +5 -2
  437. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
  438. package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.d.ts +10 -0
  439. package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.d.ts.map +1 -0
  440. package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.js +17 -0
  441. package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.js.map +1 -0
  442. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +8 -2
  443. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  444. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  445. package/node_modules/@earendil-works/pi-agent-core/package.json +4 -3
  446. package/node_modules/@earendil-works/pi-ai/README.md +44 -4
  447. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  448. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +45 -27
  449. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  450. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -1
  451. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +21 -8
  452. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
  453. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  454. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +17 -10
  455. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  456. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.d.ts +17 -0
  457. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.d.ts.map +1 -0
  458. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.js +104 -0
  459. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.js.map +1 -0
  460. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts.map +1 -1
  461. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +7 -11
  462. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -1
  463. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts +4 -3
  464. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts.map +1 -1
  465. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js +17 -3
  466. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js.map +1 -1
  467. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts.map +1 -1
  468. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +7 -11
  469. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -1
  470. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts.map +1 -1
  471. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +13 -9
  472. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
  473. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  474. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +73 -47
  475. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  476. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts +7 -9
  477. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  478. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +142 -33
  479. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  480. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts +7 -0
  481. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -1
  482. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +180 -80
  483. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  484. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  485. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +37 -15
  486. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  487. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.d.ts.map +1 -1
  488. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js +8 -3
  489. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js.map +1 -1
  490. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts.map +1 -1
  491. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js +2 -4
  492. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js.map +1 -1
  493. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts +15 -0
  494. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts.map +1 -1
  495. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js +52 -6
  496. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js.map +1 -1
  497. package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.d.ts.map +1 -1
  498. package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js +3 -2
  499. package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js.map +1 -1
  500. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.d.ts +10 -0
  501. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.d.ts.map +1 -0
  502. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js +249 -0
  503. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js.map +1 -0
  504. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.d.ts +4 -0
  505. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.d.ts.map +1 -1
  506. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js +10 -0
  507. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js.map +1 -1
  508. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.d.ts.map +1 -1
  509. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.js +2 -18
  510. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.js.map +1 -1
  511. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.d.ts +13 -0
  512. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.d.ts.map +1 -0
  513. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.js +222 -0
  514. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.js.map +1 -0
  515. package/node_modules/@earendil-works/pi-ai/dist/bun-oauth.d.ts.map +1 -1
  516. package/node_modules/@earendil-works/pi-ai/dist/bun-oauth.js +4 -0
  517. package/node_modules/@earendil-works/pi-ai/dist/bun-oauth.js.map +1 -1
  518. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts.map +1 -1
  519. package/node_modules/@earendil-works/pi-ai/dist/compat.js +2 -1
  520. package/node_modules/@earendil-works/pi-ai/dist/compat.js.map +1 -1
  521. package/node_modules/@earendil-works/pi-ai/dist/context-provenance.d.ts +16 -0
  522. package/node_modules/@earendil-works/pi-ai/dist/context-provenance.d.ts.map +1 -0
  523. package/node_modules/@earendil-works/pi-ai/dist/context-provenance.js +32 -0
  524. package/node_modules/@earendil-works/pi-ai/dist/context-provenance.js.map +1 -0
  525. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts +3 -0
  526. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
  527. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +11 -3
  528. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
  529. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +15 -0
  530. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  531. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +15 -0
  532. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  533. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts +19 -2
  534. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts.map +1 -1
  535. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js +68 -3
  536. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js.map +1 -1
  537. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +5 -0
  538. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  539. package/node_modules/@earendil-works/pi-ai/dist/index.js +5 -0
  540. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  541. package/node_modules/@earendil-works/pi-ai/dist/model-catalog.d.ts +17 -0
  542. package/node_modules/@earendil-works/pi-ai/dist/model-catalog.d.ts.map +1 -0
  543. package/node_modules/@earendil-works/pi-ai/dist/model-catalog.js +4 -0
  544. package/node_modules/@earendil-works/pi-ai/dist/model-catalog.js.map +1 -0
  545. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts +2 -2
  546. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts.map +1 -1
  547. package/node_modules/@earendil-works/pi-ai/dist/model.js.map +1 -1
  548. package/node_modules/@earendil-works/pi-ai/dist/models-store.d.ts +2 -0
  549. package/node_modules/@earendil-works/pi-ai/dist/models-store.d.ts.map +1 -1
  550. package/node_modules/@earendil-works/pi-ai/dist/models-store.js.map +1 -1
  551. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +0 -6
  552. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  553. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +76 -4448
  554. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  555. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +4 -0
  556. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  557. package/node_modules/@earendil-works/pi-ai/dist/models.js +0 -53
  558. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  559. package/node_modules/@earendil-works/pi-ai/dist/node/provider-scope.d.ts +12 -0
  560. package/node_modules/@earendil-works/pi-ai/dist/node/provider-scope.d.ts.map +1 -0
  561. package/node_modules/@earendil-works/pi-ai/dist/node/provider-scope.js +34 -0
  562. package/node_modules/@earendil-works/pi-ai/dist/node/provider-scope.js.map +1 -0
  563. package/node_modules/@earendil-works/pi-ai/dist/providers/alibaba-token-plan.models.d.ts +3 -63
  564. package/node_modules/@earendil-works/pi-ai/dist/providers/alibaba-token-plan.models.d.ts.map +1 -1
  565. package/node_modules/@earendil-works/pi-ai/dist/providers/alibaba-token-plan.models.js +2 -1
  566. package/node_modules/@earendil-works/pi-ai/dist/providers/alibaba-token-plan.models.js.map +1 -1
  567. package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts +2 -0
  568. package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -1
  569. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +10 -0
  570. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -1
  571. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  572. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +3 -2
  573. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  574. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts +3 -439
  575. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
  576. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js +2 -1
  577. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js.map +1 -1
  578. package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.d.ts +3 -15
  579. package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.d.ts.map +1 -1
  580. package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.js +2 -1
  581. package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.js.map +1 -1
  582. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  583. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +30 -3
  584. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  585. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts +3 -59
  586. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts.map +1 -1
  587. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js +2 -1
  588. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js.map +1 -1
  589. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts +3 -187
  590. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
  591. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js +2 -1
  592. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js.map +1 -1
  593. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.d.ts +3 -15
  594. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.d.ts.map +1 -1
  595. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js +2 -1
  596. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js.map +1 -1
  597. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts +3 -171
  598. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
  599. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js +2 -1
  600. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
  601. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.d.ts +3 -55
  602. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -1
  603. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.js +2 -1
  604. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.js.map +1 -1
  605. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -0
  606. package/node_modules/@earendil-works/pi-ai/dist/providers/data/alibaba-token-plan.json +1 -1
  607. package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
  608. package/node_modules/@earendil-works/pi-ai/dist/providers/data/ant-ling.json +1 -1
  609. package/node_modules/@earendil-works/pi-ai/dist/providers/data/anthropic.json +1 -1
  610. package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
  611. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cerebras.json +1 -1
  612. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  613. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
  614. package/node_modules/@earendil-works/pi-ai/dist/providers/data/deepseek.json +1 -1
  615. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  616. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  617. package/node_modules/@earendil-works/pi-ai/dist/providers/data/google-vertex.json +1 -1
  618. package/node_modules/@earendil-works/pi-ai/dist/providers/data/google.json +1 -1
  619. package/node_modules/@earendil-works/pi-ai/dist/providers/data/groq.json +1 -1
  620. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  621. package/node_modules/@earendil-works/pi-ai/dist/providers/data/kimi-coding.json +1 -1
  622. package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax-cn.json +1 -1
  623. package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax.json +1 -1
  624. package/node_modules/@earendil-works/pi-ai/dist/providers/data/mistral.json +1 -1
  625. package/node_modules/@earendil-works/pi-ai/dist/providers/data/moonshotai-cn.json +1 -1
  626. package/node_modules/@earendil-works/pi-ai/dist/providers/data/moonshotai.json +1 -1
  627. package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
  628. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  629. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
  630. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  631. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  632. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  633. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -0
  634. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -0
  635. package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
  636. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  637. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xai.json +1 -1
  638. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-ams.json +1 -1
  639. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-cn.json +1 -1
  640. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-sgp.json +1 -1
  641. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi.json +1 -1
  642. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
  643. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
  644. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts +3 -11
  645. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts.map +1 -1
  646. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js +2 -1
  647. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js.map +1 -1
  648. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts +3 -67
  649. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts.map +1 -1
  650. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js +2 -1
  651. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js.map +1 -1
  652. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts +3 -115
  653. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts.map +1 -1
  654. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +2 -1
  655. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js.map +1 -1
  656. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.d.ts +3 -51
  657. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.d.ts.map +1 -1
  658. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.js +2 -1
  659. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.js.map +1 -1
  660. package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.d.ts +3 -75
  661. package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.d.ts.map +1 -1
  662. package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.js +2 -1
  663. package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.js.map +1 -1
  664. package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.d.ts +3 -31
  665. package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.d.ts.map +1 -1
  666. package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.js +2 -1
  667. package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.js.map +1 -1
  668. package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.d.ts +3 -203
  669. package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.d.ts.map +1 -1
  670. package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.js +2 -1
  671. package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.js.map +1 -1
  672. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js +2 -2
  673. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js.map +1 -1
  674. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.d.ts.map +1 -1
  675. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js +10 -2
  676. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js.map +1 -1
  677. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts +3 -19
  678. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts.map +1 -1
  679. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js +2 -1
  680. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js.map +1 -1
  681. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.d.ts +3 -15
  682. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.d.ts.map +1 -1
  683. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.js +2 -1
  684. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.js.map +1 -1
  685. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.d.ts +3 -15
  686. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.d.ts.map +1 -1
  687. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.js +2 -1
  688. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.js.map +1 -1
  689. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.d.ts +3 -123
  690. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.d.ts.map +1 -1
  691. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.js +2 -1
  692. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.js.map +1 -1
  693. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.d.ts +3 -43
  694. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.d.ts.map +1 -1
  695. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.js +2 -1
  696. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.js.map +1 -1
  697. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.d.ts +3 -43
  698. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.d.ts.map +1 -1
  699. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.js +2 -1
  700. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.js.map +1 -1
  701. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.d.ts +3 -79
  702. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.d.ts.map +1 -1
  703. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js +2 -1
  704. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js.map +1 -1
  705. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts +3 -31
  706. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts.map +1 -1
  707. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js +2 -1
  708. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js.map +1 -1
  709. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts +3 -187
  710. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts.map +1 -1
  711. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js +2 -1
  712. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js.map +1 -1
  713. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts +3 -67
  714. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts.map +1 -1
  715. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js +2 -1
  716. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js.map +1 -1
  717. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts +3 -227
  718. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts.map +1 -1
  719. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js +2 -1
  720. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js.map +1 -1
  721. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.d.ts.map +1 -1
  722. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.js +10 -2
  723. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.js.map +1 -1
  724. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.d.ts.map +1 -1
  725. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js +10 -2
  726. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js.map +1 -1
  727. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts +3 -1095
  728. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts.map +1 -1
  729. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +2 -1
  730. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js.map +1 -1
  731. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.d.ts +3 -0
  732. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.d.ts.map +1 -0
  733. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.js +15 -0
  734. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.js.map +1 -0
  735. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.models.d.ts +4 -0
  736. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.models.d.ts.map +1 -0
  737. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.models.js +6 -0
  738. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.models.js.map +1 -0
  739. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.d.ts +3 -0
  740. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.d.ts.map +1 -0
  741. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.js +15 -0
  742. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.js.map +1 -0
  743. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.models.d.ts +4 -0
  744. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.models.d.ts.map +1 -0
  745. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.models.js +6 -0
  746. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.models.js.map +1 -0
  747. package/node_modules/@earendil-works/pi-ai/dist/providers/radius-config.d.ts.map +1 -1
  748. package/node_modules/@earendil-works/pi-ai/dist/providers/radius-config.js +18 -14
  749. package/node_modules/@earendil-works/pi-ai/dist/providers/radius-config.js.map +1 -1
  750. package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.d.ts +3 -67
  751. package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.d.ts.map +1 -1
  752. package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.js +2 -1
  753. package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.js.map +1 -1
  754. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts +3 -775
  755. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  756. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +2 -1
  757. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  758. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.d.ts +3 -15
  759. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.d.ts.map +1 -1
  760. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.js +2 -1
  761. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.js.map +1 -1
  762. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts +3 -15
  763. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -1
  764. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js +2 -1
  765. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -1
  766. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts +3 -15
  767. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -1
  768. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js +2 -1
  769. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -1
  770. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts +3 -15
  771. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -1
  772. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js +2 -1
  773. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -1
  774. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.d.ts +3 -27
  775. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.d.ts.map +1 -1
  776. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.js +2 -1
  777. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.js.map +1 -1
  778. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts +3 -27
  779. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts.map +1 -1
  780. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js +2 -1
  781. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js.map +1 -1
  782. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts +3 -27
  783. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts.map +1 -1
  784. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js +2 -1
  785. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js.map +1 -1
  786. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +43 -3
  787. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  788. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  789. package/node_modules/@earendil-works/pi-ai/dist/utils/openai-codex-auth.d.ts +11 -0
  790. package/node_modules/@earendil-works/pi-ai/dist/utils/openai-codex-auth.d.ts.map +1 -0
  791. package/node_modules/@earendil-works/pi-ai/dist/utils/openai-codex-auth.js +30 -0
  792. package/node_modules/@earendil-works/pi-ai/dist/utils/openai-codex-auth.js.map +1 -0
  793. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +1 -0
  794. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  795. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +3 -0
  796. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  797. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.d.ts +16 -0
  798. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.d.ts.map +1 -0
  799. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.js +94 -0
  800. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.js.map +1 -0
  801. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts +41 -0
  802. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
  803. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +82 -0
  804. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
  805. package/node_modules/@earendil-works/pi-ai/dist/utils/text.d.ts +6 -0
  806. package/node_modules/@earendil-works/pi-ai/dist/utils/text.d.ts.map +1 -0
  807. package/node_modules/@earendil-works/pi-ai/dist/utils/text.js +10 -0
  808. package/node_modules/@earendil-works/pi-ai/dist/utils/text.js.map +1 -0
  809. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.d.ts +3 -0
  810. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.d.ts.map +1 -0
  811. package/node_modules/@earendil-works/{pi-agent-core/dist/harness/session → pi-ai/dist/utils}/uuid.js +2 -2
  812. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.js.map +1 -0
  813. package/node_modules/@earendil-works/pi-ai/package.json +11 -4
  814. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  815. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  816. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +31 -22
  817. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  818. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  819. package/node_modules/@earendil-works/pi-tui/dist/tui.js +2 -0
  820. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  821. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  822. package/package.json +7 -6
  823. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.d.ts +0 -2
  824. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.d.ts.map +0 -1
  825. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.models.d.ts","sourceRoot":"","sources":["../../src/providers/openrouter.models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter.models.d.ts","sourceRoot":"","sources":["../../src/providers/openrouter.models.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,wBAAwB,CAAuB;AAClE,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,OAAO,MAAM,EAAE,YAAY,CAC9B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // This file is auto-generated by scripts/generate-models.ts
2
2
  // Do not edit manually - run 'npm run generate-models' to update
3
3
  import values from "./data/openrouter.json" with { type: "json" };
4
- export const OPENROUTER_MODELS = values;
4
+ import { flattenModelCatalog } from "../model-catalog.js";
5
+ export const OPENROUTER_MODELS = flattenModelCatalog("openrouter", values);
5
6
  //# sourceMappingURL=openrouter.models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.models.js","sourceRoot":"","sources":["../../src/providers/openrouter.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,wBAAwB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAGlE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAqkChC,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport values from \"./data/openrouter.json\" with { type: \"json\" };\nimport type { Model } from \"../types.ts\";\n\nexport const OPENROUTER_MODELS = values as {\n\t\"ai21/jamba-large-1.7\": Model<\"openai-completions\"> & {\n\t\tid: \"ai21/jamba-large-1.7\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"aion-labs/aion-2.0\": Model<\"openai-completions\"> & {\n\t\tid: \"aion-labs/aion-2.0\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"aion-labs/aion-3.0\": Model<\"openai-completions\"> & {\n\t\tid: \"aion-labs/aion-3.0\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"aion-labs/aion-3.0-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"aion-labs/aion-3.0-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"amazon/nova-2-lite-v1\": Model<\"openai-completions\"> & {\n\t\tid: \"amazon/nova-2-lite-v1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"amazon/nova-lite-v1\": Model<\"openai-completions\"> & {\n\t\tid: \"amazon/nova-lite-v1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"amazon/nova-micro-v1\": Model<\"openai-completions\"> & {\n\t\tid: \"amazon/nova-micro-v1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"amazon/nova-premier-v1\": Model<\"openai-completions\"> & {\n\t\tid: \"amazon/nova-premier-v1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"amazon/nova-pro-v1\": Model<\"openai-completions\"> & {\n\t\tid: \"amazon/nova-pro-v1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-3-haiku\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-3-haiku\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-fable-5\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-fable-5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-haiku-4.5\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-haiku-4.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-opus-4\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-opus-4\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-opus-4.1\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-opus-4.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-opus-4.5\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-opus-4.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-opus-4.6\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-opus-4.6\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-opus-4.7\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-opus-4.7\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-opus-4.7-fast\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-opus-4.7-fast\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-opus-4.8\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-opus-4.8\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-opus-4.8-fast\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-opus-4.8-fast\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-sonnet-4\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-sonnet-4\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-sonnet-4.5\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-sonnet-4.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-sonnet-4.6\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-sonnet-4.6\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"anthropic/claude-sonnet-5\": Model<\"openai-completions\"> & {\n\t\tid: \"anthropic/claude-sonnet-5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"arcee-ai/trinity-large-thinking\": Model<\"openai-completions\"> & {\n\t\tid: \"arcee-ai/trinity-large-thinking\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"arcee-ai/virtuoso-large\": Model<\"openai-completions\"> & {\n\t\tid: \"arcee-ai/virtuoso-large\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"auto\": Model<\"openai-completions\"> & {\n\t\tid: \"auto\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"bytedance-seed/seed-1.6\": Model<\"openai-completions\"> & {\n\t\tid: \"bytedance-seed/seed-1.6\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"bytedance-seed/seed-1.6-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"bytedance-seed/seed-1.6-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"bytedance-seed/seed-2.0-lite\": Model<\"openai-completions\"> & {\n\t\tid: \"bytedance-seed/seed-2.0-lite\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"bytedance-seed/seed-2.0-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"bytedance-seed/seed-2.0-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"cohere/command-r-08-2024\": Model<\"openai-completions\"> & {\n\t\tid: \"cohere/command-r-08-2024\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"cohere/command-r-plus-08-2024\": Model<\"openai-completions\"> & {\n\t\tid: \"cohere/command-r-plus-08-2024\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"cohere/north-mini-code:free\": Model<\"openai-completions\"> & {\n\t\tid: \"cohere/north-mini-code:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-chat\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-chat\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-chat-v3-0324\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-chat-v3-0324\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-chat-v3.1\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-chat-v3.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-r1\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-r1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-r1-0528\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-r1-0528\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-v3.1-terminus\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-v3.1-terminus\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-v3.2\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-v3.2\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-v3.2-exp\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-v3.2-exp\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-v4-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-v4-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"deepseek/deepseek-v4-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek/deepseek-v4-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-2.5-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-2.5-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-2.5-flash-lite\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-2.5-flash-lite\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-2.5-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-2.5-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-2.5-pro-preview\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-2.5-pro-preview\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-2.5-pro-preview-05-06\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-2.5-pro-preview-05-06\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-3-flash-preview\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-3-flash-preview\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-3-pro-image\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-3-pro-image\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-3.1-flash-lite\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-3.1-flash-lite\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-3.1-flash-lite-preview\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-3.1-flash-lite-preview\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-3.1-pro-preview\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-3.1-pro-preview\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-3.1-pro-preview-customtools\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-3.1-pro-preview-customtools\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-3.5-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-3.5-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-3.5-flash-lite\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-3.5-flash-lite\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemini-3.6-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemini-3.6-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemma-3-12b-it\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemma-3-12b-it\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemma-3-27b-it\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemma-3-27b-it\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemma-4-26b-a4b-it\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemma-4-26b-a4b-it\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemma-4-26b-a4b-it:free\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemma-4-26b-a4b-it:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemma-4-31b-it\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemma-4-31b-it\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"google/gemma-4-31b-it:free\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemma-4-31b-it:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"ibm-granite/granite-4.1-8b\": Model<\"openai-completions\"> & {\n\t\tid: \"ibm-granite/granite-4.1-8b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"inception/mercury-2\": Model<\"openai-completions\"> & {\n\t\tid: \"inception/mercury-2\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"inclusionai/ling-2.6-1t\": Model<\"openai-completions\"> & {\n\t\tid: \"inclusionai/ling-2.6-1t\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"inclusionai/ling-2.6-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"inclusionai/ling-2.6-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"inclusionai/ring-2.6-1t\": Model<\"openai-completions\"> & {\n\t\tid: \"inclusionai/ring-2.6-1t\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"kwaipilot/kat-coder-air-v2.5\": Model<\"openai-completions\"> & {\n\t\tid: \"kwaipilot/kat-coder-air-v2.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"kwaipilot/kat-coder-pro-v2\": Model<\"openai-completions\"> & {\n\t\tid: \"kwaipilot/kat-coder-pro-v2\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"kwaipilot/kat-coder-pro-v2.5\": Model<\"openai-completions\"> & {\n\t\tid: \"kwaipilot/kat-coder-pro-v2.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"meituan/longcat-2.0\": Model<\"openai-completions\"> & {\n\t\tid: \"meituan/longcat-2.0\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"meta-llama/llama-3.1-70b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"meta-llama/llama-3.1-70b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"meta-llama/llama-3.1-8b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"meta-llama/llama-3.1-8b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"meta-llama/llama-3.3-70b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"meta-llama/llama-3.3-70b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"meta-llama/llama-4-maverick\": Model<\"openai-completions\"> & {\n\t\tid: \"meta-llama/llama-4-maverick\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"meta-llama/llama-4-scout\": Model<\"openai-completions\"> & {\n\t\tid: \"meta-llama/llama-4-scout\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"meta/muse-spark-1.1\": Model<\"openai-completions\"> & {\n\t\tid: \"meta/muse-spark-1.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"minimax/minimax-m1\": Model<\"openai-completions\"> & {\n\t\tid: \"minimax/minimax-m1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"minimax/minimax-m2\": Model<\"openai-completions\"> & {\n\t\tid: \"minimax/minimax-m2\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"minimax/minimax-m2.1\": Model<\"openai-completions\"> & {\n\t\tid: \"minimax/minimax-m2.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"minimax/minimax-m2.5\": Model<\"openai-completions\"> & {\n\t\tid: \"minimax/minimax-m2.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"minimax/minimax-m2.7\": Model<\"openai-completions\"> & {\n\t\tid: \"minimax/minimax-m2.7\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"minimax/minimax-m3\": Model<\"openai-completions\"> & {\n\t\tid: \"minimax/minimax-m3\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/codestral-2508\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/codestral-2508\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/devstral-2512\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/devstral-2512\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/ministral-14b-2512\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/ministral-14b-2512\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/ministral-3b-2512\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/ministral-3b-2512\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/ministral-8b-2512\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/ministral-8b-2512\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-large\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-large\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-large-2407\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-large-2407\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-large-2512\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-large-2512\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-medium-3\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-medium-3\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-medium-3-5\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-medium-3-5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-medium-3.1\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-medium-3.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-nemo\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-nemo\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-saba\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-saba\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-small-2603\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-small-2603\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mistral-small-3.2-24b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mistral-small-3.2-24b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/mixtral-8x22b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/mixtral-8x22b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"mistralai/voxtral-small-24b-2507\": Model<\"openai-completions\"> & {\n\t\tid: \"mistralai/voxtral-small-24b-2507\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"moonshotai/kimi-k2\": Model<\"openai-completions\"> & {\n\t\tid: \"moonshotai/kimi-k2\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"moonshotai/kimi-k2-0905\": Model<\"openai-completions\"> & {\n\t\tid: \"moonshotai/kimi-k2-0905\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"moonshotai/kimi-k2-thinking\": Model<\"openai-completions\"> & {\n\t\tid: \"moonshotai/kimi-k2-thinking\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"moonshotai/kimi-k2.5\": Model<\"openai-completions\"> & {\n\t\tid: \"moonshotai/kimi-k2.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"moonshotai/kimi-k2.6\": Model<\"openai-completions\"> & {\n\t\tid: \"moonshotai/kimi-k2.6\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"moonshotai/kimi-k2.7-code\": Model<\"openai-completions\"> & {\n\t\tid: \"moonshotai/kimi-k2.7-code\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"moonshotai/kimi-k3\": Model<\"openai-completions\"> & {\n\t\tid: \"moonshotai/kimi-k3\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nex-agi/nex-n2-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"nex-agi/nex-n2-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nex-agi/nex-n2-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"nex-agi/nex-n2-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nvidia/nemotron-3-nano-30b-a3b\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-3-nano-30b-a3b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nvidia/nemotron-3-nano-30b-a3b:free\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-3-nano-30b-a3b:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nvidia/nemotron-3-super-120b-a12b\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-3-super-120b-a12b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nvidia/nemotron-3-super-120b-a12b:free\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-3-super-120b-a12b:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nvidia/nemotron-3-ultra-550b-a55b\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-3-ultra-550b-a55b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nvidia/nemotron-3-ultra-550b-a55b:free\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-3-ultra-550b-a55b:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nvidia/nemotron-nano-12b-v2-vl:free\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-nano-12b-v2-vl:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"nvidia/nemotron-nano-9b-v2:free\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-nano-9b-v2:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-3.5-turbo\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-3.5-turbo\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-3.5-turbo-0613\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-3.5-turbo-0613\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-3.5-turbo-16k\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-3.5-turbo-16k\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4-turbo\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4-turbo\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4-turbo-preview\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4-turbo-preview\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4.1\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4.1-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4.1-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4.1-nano\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4.1-nano\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4o\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4o\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4o-2024-05-13\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4o-2024-05-13\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4o-2024-08-06\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4o-2024-08-06\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4o-2024-11-20\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4o-2024-11-20\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4o-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4o-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-4o-mini-2024-07-18\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-4o-mini-2024-07-18\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5-codex\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5-codex\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5-nano\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5-nano\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.1\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.1-chat\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.1-chat\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.1-codex\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.1-codex\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.1-codex-max\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.1-codex-max\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.1-codex-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.1-codex-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.2\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.2\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.2-chat\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.2-chat\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.2-codex\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.2-codex\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.2-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.2-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.3-chat\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.3-chat\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.3-codex\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.3-codex\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.4\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.4\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.4-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.4-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.4-nano\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.4-nano\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.4-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.4-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.5\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.5-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.5-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.6-luna\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.6-luna\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.6-luna-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.6-luna-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.6-sol\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.6-sol\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.6-sol-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.6-sol-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.6-terra\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.6-terra\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-5.6-terra-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-5.6-terra-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-audio\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-audio\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-audio-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-audio-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-chat-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-chat-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-oss-120b\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-oss-120b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-oss-20b\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-oss-20b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-oss-20b:free\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-oss-20b:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/gpt-oss-safeguard-20b\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-oss-safeguard-20b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/o1\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/o1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/o3\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/o3\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/o3-deep-research\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/o3-deep-research\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/o3-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/o3-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/o3-mini-high\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/o3-mini-high\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/o3-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/o3-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/o4-mini\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/o4-mini\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/o4-mini-deep-research\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/o4-mini-deep-research\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openai/o4-mini-high\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/o4-mini-high\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openrouter/auto\": Model<\"openai-completions\"> & {\n\t\tid: \"openrouter/auto\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openrouter/auto-beta\": Model<\"openai-completions\"> & {\n\t\tid: \"openrouter/auto-beta\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openrouter/free\": Model<\"openai-completions\"> & {\n\t\tid: \"openrouter/free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"openrouter/fusion\": Model<\"openai-completions\"> & {\n\t\tid: \"openrouter/fusion\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"poolside/laguna-m.1\": Model<\"openai-completions\"> & {\n\t\tid: \"poolside/laguna-m.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"poolside/laguna-m.1:free\": Model<\"openai-completions\"> & {\n\t\tid: \"poolside/laguna-m.1:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"poolside/laguna-s-2.1\": Model<\"openai-completions\"> & {\n\t\tid: \"poolside/laguna-s-2.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"poolside/laguna-s-2.1:free\": Model<\"openai-completions\"> & {\n\t\tid: \"poolside/laguna-s-2.1:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"poolside/laguna-xs-2.1\": Model<\"openai-completions\"> & {\n\t\tid: \"poolside/laguna-xs-2.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"poolside/laguna-xs-2.1:free\": Model<\"openai-completions\"> & {\n\t\tid: \"poolside/laguna-xs-2.1:free\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen-2.5-72b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen-2.5-72b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen-2.5-7b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen-2.5-7b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen-plus\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen-plus\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen-plus-2025-07-28\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen-plus-2025-07-28\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen-plus-2025-07-28:thinking\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen-plus-2025-07-28:thinking\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-14b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-14b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-235b-a22b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-235b-a22b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-235b-a22b-2507\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-235b-a22b-2507\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-235b-a22b-thinking-2507\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-235b-a22b-thinking-2507\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-30b-a3b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-30b-a3b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-30b-a3b-instruct-2507\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-30b-a3b-instruct-2507\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-30b-a3b-thinking-2507\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-30b-a3b-thinking-2507\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-32b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-32b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-8b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-8b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-coder\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-coder\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-coder-30b-a3b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-coder-30b-a3b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-coder-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-coder-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-coder-next\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-coder-next\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-coder-plus\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-coder-plus\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-max\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-max\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-max-thinking\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-max-thinking\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-next-80b-a3b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-next-80b-a3b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-next-80b-a3b-thinking\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-next-80b-a3b-thinking\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-vl-235b-a22b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-vl-235b-a22b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-vl-235b-a22b-thinking\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-vl-235b-a22b-thinking\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-vl-30b-a3b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-vl-30b-a3b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-vl-30b-a3b-thinking\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-vl-30b-a3b-thinking\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-vl-32b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-vl-32b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-vl-8b-instruct\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-vl-8b-instruct\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3-vl-8b-thinking\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3-vl-8b-thinking\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.5-122b-a10b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.5-122b-a10b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.5-27b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.5-27b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.5-35b-a3b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.5-35b-a3b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.5-397b-a17b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.5-397b-a17b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.5-9b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.5-9b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.5-flash-02-23\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.5-flash-02-23\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.5-plus-02-15\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.5-plus-02-15\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.5-plus-20260420\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.5-plus-20260420\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.6-27b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.6-27b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.6-35b-a3b\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.6-35b-a3b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.6-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.6-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.6-max-preview\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.6-max-preview\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.6-plus\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.6-plus\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.7-max\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.7-max\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"qwen/qwen3.7-plus\": Model<\"openai-completions\"> & {\n\t\tid: \"qwen/qwen3.7-plus\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"rekaai/reka-edge\": Model<\"openai-completions\"> & {\n\t\tid: \"rekaai/reka-edge\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"relace/relace-search\": Model<\"openai-completions\"> & {\n\t\tid: \"relace/relace-search\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"sakana/fugu-ultra\": Model<\"openai-completions\"> & {\n\t\tid: \"sakana/fugu-ultra\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"sao10k/l3.1-euryale-70b\": Model<\"openai-completions\"> & {\n\t\tid: \"sao10k/l3.1-euryale-70b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"stepfun/step-3.5-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"stepfun/step-3.5-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"stepfun/step-3.7-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"stepfun/step-3.7-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"tencent/hy3\": Model<\"openai-completions\"> & {\n\t\tid: \"tencent/hy3\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"tencent/hy3-preview\": Model<\"openai-completions\"> & {\n\t\tid: \"tencent/hy3-preview\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"thedrummer/unslopnemo-12b\": Model<\"openai-completions\"> & {\n\t\tid: \"thedrummer/unslopnemo-12b\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"thinkingmachines/inkling\": Model<\"openai-completions\"> & {\n\t\tid: \"thinkingmachines/inkling\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"upstage/solar-pro-3\": Model<\"openai-completions\"> & {\n\t\tid: \"upstage/solar-pro-3\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"x-ai/grok-4.20\": Model<\"openai-completions\"> & {\n\t\tid: \"x-ai/grok-4.20\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"x-ai/grok-4.3\": Model<\"openai-completions\"> & {\n\t\tid: \"x-ai/grok-4.3\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"x-ai/grok-4.5\": Model<\"openai-completions\"> & {\n\t\tid: \"x-ai/grok-4.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"x-ai/grok-build-0.1\": Model<\"openai-completions\"> & {\n\t\tid: \"x-ai/grok-build-0.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"xiaomi/mimo-v2.5\": Model<\"openai-completions\"> & {\n\t\tid: \"xiaomi/mimo-v2.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"xiaomi/mimo-v2.5-pro\": Model<\"openai-completions\"> & {\n\t\tid: \"xiaomi/mimo-v2.5-pro\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-4.5\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-4.5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-4.5-air\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-4.5-air\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-4.5v\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-4.5v\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-4.6\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-4.6\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-4.6v\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-4.6v\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-4.7\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-4.7\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-4.7-flash\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-4.7-flash\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-5\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-5\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-5-turbo\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-5-turbo\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-5.1\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-5.1\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-5.2\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-5.2\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"z-ai/glm-5v-turbo\": Model<\"openai-completions\"> & {\n\t\tid: \"z-ai/glm-5v-turbo\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~anthropic/claude-fable-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~anthropic/claude-fable-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~anthropic/claude-haiku-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~anthropic/claude-haiku-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~anthropic/claude-opus-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~anthropic/claude-opus-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~anthropic/claude-sonnet-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~anthropic/claude-sonnet-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~google/gemini-flash-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~google/gemini-flash-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~google/gemini-pro-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~google/gemini-pro-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~moonshotai/kimi-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~moonshotai/kimi-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~openai/gpt-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~openai/gpt-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~openai/gpt-mini-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~openai/gpt-mini-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n\t\"~x-ai/grok-latest\": Model<\"openai-completions\"> & {\n\t\tid: \"~x-ai/grok-latest\";\n\t\tprovider: \"openrouter\";\n\t};\n};\n"]}
1
+ {"version":3,"file":"openrouter.models.js","sourceRoot":"","sources":["../../src/providers/openrouter.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,wBAAwB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAqB,MAAM,qBAAqB,CAAC;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAC7B,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport values from \"./data/openrouter.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const OPENROUTER_MODELS: ModelCatalog<typeof values, \"openrouter\"> =\n\tflattenModelCatalog(\"openrouter\", values);\n"]}
@@ -0,0 +1,3 @@
1
+ import { type Provider } from "../models.ts";
2
+ export declare function qwenTokenPlanCnProvider(): Provider<"openai-completions">;
3
+ //# sourceMappingURL=qwen-token-plan-cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-token-plan-cn.d.ts","sourceRoot":"","sources":["../../src/providers/qwen-token-plan-cn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,uBAAuB,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CASxE"}
@@ -0,0 +1,15 @@
1
+ import { openAICompletionsApi } from "../api/openai-completions.lazy.js";
2
+ import { envApiKeyAuth } from "../auth/helpers.js";
3
+ import { createProvider } from "../models.js";
4
+ import { QWEN_TOKEN_PLAN_CN_MODELS } from "./qwen-token-plan-cn.models.js";
5
+ export function qwenTokenPlanCnProvider() {
6
+ return createProvider({
7
+ id: "qwen-token-plan-cn",
8
+ name: "Qwen Token Plan CN",
9
+ baseUrl: "https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
10
+ auth: { apiKey: envApiKeyAuth("Qwen Token Plan CN API key", ["QWEN_TOKEN_PLAN_CN_API_KEY"]) },
11
+ models: Object.values(QWEN_TOKEN_PLAN_CN_MODELS),
12
+ api: openAICompletionsApi(),
13
+ });
14
+ }
15
+ //# sourceMappingURL=qwen-token-plan-cn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-token-plan-cn.js","sourceRoot":"","sources":["../../src/providers/qwen-token-plan-cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,UAAU,uBAAuB;IACtC,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,oEAAoE;QAC7E,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,4BAA4B,EAAE,CAAC,4BAA4B,CAAC,CAAC,EAAE;QAC7F,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC;QAChD,GAAG,EAAE,oBAAoB,EAAE;KAC3B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { openAICompletionsApi } from \"../api/openai-completions.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { QWEN_TOKEN_PLAN_CN_MODELS } from \"./qwen-token-plan-cn.models.ts\";\n\nexport function qwenTokenPlanCnProvider(): Provider<\"openai-completions\"> {\n\treturn createProvider({\n\t\tid: \"qwen-token-plan-cn\",\n\t\tname: \"Qwen Token Plan CN\",\n\t\tbaseUrl: \"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Qwen Token Plan CN API key\", [\"QWEN_TOKEN_PLAN_CN_API_KEY\"]) },\n\t\tmodels: Object.values(QWEN_TOKEN_PLAN_CN_MODELS),\n\t\tapi: openAICompletionsApi(),\n\t});\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import values from "./data/qwen-token-plan-cn.json";
2
+ import { type ModelCatalog } from "../model-catalog.ts";
3
+ export declare const QWEN_TOKEN_PLAN_CN_MODELS: ModelCatalog<typeof values, "qwen-token-plan-cn">;
4
+ //# sourceMappingURL=qwen-token-plan-cn.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-token-plan-cn.models.d.ts","sourceRoot":"","sources":["../../src/providers/qwen-token-plan-cn.models.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,gCAAgC,CAAuB;AAC1E,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,yBAAyB,EAAE,YAAY,CAAC,OAAO,MAAM,EAAE,oBAAoB,CACtC,CAAC"}
@@ -0,0 +1,6 @@
1
+ // This file is auto-generated by scripts/generate-models.ts
2
+ // Do not edit manually - run 'npm run generate-models' to update
3
+ import values from "./data/qwen-token-plan-cn.json" with { type: "json" };
4
+ import { flattenModelCatalog } from "../model-catalog.js";
5
+ export const QWEN_TOKEN_PLAN_CN_MODELS = flattenModelCatalog("qwen-token-plan-cn", values);
6
+ //# sourceMappingURL=qwen-token-plan-cn.models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-token-plan-cn.models.js","sourceRoot":"","sources":["../../src/providers/qwen-token-plan-cn.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,gCAAgC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAqB,MAAM,qBAAqB,CAAC;AAE7E,MAAM,CAAC,MAAM,yBAAyB,GACrC,mBAAmB,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport values from \"./data/qwen-token-plan-cn.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const QWEN_TOKEN_PLAN_CN_MODELS: ModelCatalog<typeof values, \"qwen-token-plan-cn\"> =\n\tflattenModelCatalog(\"qwen-token-plan-cn\", values);\n"]}
@@ -0,0 +1,3 @@
1
+ import { type Provider } from "../models.ts";
2
+ export declare function qwenTokenPlanProvider(): Provider<"openai-completions">;
3
+ //# sourceMappingURL=qwen-token-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-token-plan.d.ts","sourceRoot":"","sources":["../../src/providers/qwen-token-plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,qBAAqB,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAStE"}
@@ -0,0 +1,15 @@
1
+ import { openAICompletionsApi } from "../api/openai-completions.lazy.js";
2
+ import { envApiKeyAuth } from "../auth/helpers.js";
3
+ import { createProvider } from "../models.js";
4
+ import { QWEN_TOKEN_PLAN_MODELS } from "./qwen-token-plan.models.js";
5
+ export function qwenTokenPlanProvider() {
6
+ return createProvider({
7
+ id: "qwen-token-plan",
8
+ name: "Qwen Token Plan",
9
+ baseUrl: "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
10
+ auth: { apiKey: envApiKeyAuth("Qwen Token Plan API key", ["QWEN_TOKEN_PLAN_API_KEY"]) },
11
+ models: Object.values(QWEN_TOKEN_PLAN_MODELS),
12
+ api: openAICompletionsApi(),
13
+ });
14
+ }
15
+ //# sourceMappingURL=qwen-token-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-token-plan.js","sourceRoot":"","sources":["../../src/providers/qwen-token-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,UAAU,qBAAqB;IACpC,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,wEAAwE;QACjF,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,yBAAyB,EAAE,CAAC,yBAAyB,CAAC,CAAC,EAAE;QACvF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;QAC7C,GAAG,EAAE,oBAAoB,EAAE;KAC3B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { openAICompletionsApi } from \"../api/openai-completions.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { QWEN_TOKEN_PLAN_MODELS } from \"./qwen-token-plan.models.ts\";\n\nexport function qwenTokenPlanProvider(): Provider<\"openai-completions\"> {\n\treturn createProvider({\n\t\tid: \"qwen-token-plan\",\n\t\tname: \"Qwen Token Plan\",\n\t\tbaseUrl: \"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Qwen Token Plan API key\", [\"QWEN_TOKEN_PLAN_API_KEY\"]) },\n\t\tmodels: Object.values(QWEN_TOKEN_PLAN_MODELS),\n\t\tapi: openAICompletionsApi(),\n\t});\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import values from "./data/qwen-token-plan.json";
2
+ import { type ModelCatalog } from "../model-catalog.ts";
3
+ export declare const QWEN_TOKEN_PLAN_MODELS: ModelCatalog<typeof values, "qwen-token-plan">;
4
+ //# sourceMappingURL=qwen-token-plan.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-token-plan.models.d.ts","sourceRoot":"","sources":["../../src/providers/qwen-token-plan.models.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,6BAA6B,CAAuB;AACvE,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,OAAO,MAAM,EAAE,iBAAiB,CACnC,CAAC"}
@@ -0,0 +1,6 @@
1
+ // This file is auto-generated by scripts/generate-models.ts
2
+ // Do not edit manually - run 'npm run generate-models' to update
3
+ import values from "./data/qwen-token-plan.json" with { type: "json" };
4
+ import { flattenModelCatalog } from "../model-catalog.js";
5
+ export const QWEN_TOKEN_PLAN_MODELS = flattenModelCatalog("qwen-token-plan", values);
6
+ //# sourceMappingURL=qwen-token-plan.models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-token-plan.models.js","sourceRoot":"","sources":["../../src/providers/qwen-token-plan.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,6BAA6B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAqB,MAAM,qBAAqB,CAAC;AAE7E,MAAM,CAAC,MAAM,sBAAsB,GAClC,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport values from \"./data/qwen-token-plan.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const QWEN_TOKEN_PLAN_MODELS: ModelCatalog<typeof values, \"qwen-token-plan\"> =\n\tflattenModelCatalog(\"qwen-token-plan\", values);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"radius-config.d.ts","sourceRoot":"","sources":["../../src/providers/radius-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE3D,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,KAAK,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAC5B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG;IACrD,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACpC,CAAC;AA2BF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,mBAAmB,GAAG,SAAS,CAElH;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAOjH;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAGnH;AAOD,wBAAsB,uBAAuB,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAY9B"}
1
+ {"version":3,"file":"radius-config.d.ts","sourceRoot":"","sources":["../../src/providers/radius-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE3D,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,KAAK,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAC5B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG;IACrD,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACpC,CAAC;AA4BF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,mBAAmB,GAAG,SAAS,CAElH;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAOjH;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,CAGnH;AAOD,wBAAsB,uBAAuB,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAY9B"}
@@ -1,23 +1,27 @@
1
1
  export const DEFAULT_RADIUS_GATEWAY = "https://radius.pi.dev";
2
- function isRecord(value) {
3
- return typeof value === "object" && value !== null && !Array.isArray(value);
4
- }
5
2
  function isRadiusGatewayModel(value) {
6
- return (isRecord(value) &&
7
- typeof value.id === "string" &&
8
- typeof value.name === "string" &&
9
- typeof value.reasoning === "boolean" &&
10
- Array.isArray(value.input) &&
11
- isRecord(value.cost) &&
12
- typeof value.contextWindow === "number" &&
13
- typeof value.maxTokens === "number");
3
+ if (typeof value !== "object" || value === null || Array.isArray(value))
4
+ return false;
5
+ const model = value;
6
+ return (typeof model.id === "string" &&
7
+ typeof model.name === "string" &&
8
+ typeof model.reasoning === "boolean" &&
9
+ Array.isArray(model.input) &&
10
+ typeof model.cost === "object" &&
11
+ model.cost !== null &&
12
+ !Array.isArray(model.cost) &&
13
+ typeof model.contextWindow === "number" &&
14
+ typeof model.maxTokens === "number");
14
15
  }
15
16
  function sanitizeRadiusGatewayConfig(config) {
16
- if (!isRecord(config) || typeof config.baseUrl !== "string" || !Array.isArray(config.models))
17
+ if (typeof config !== "object" || config === null || Array.isArray(config))
18
+ return undefined;
19
+ const { baseUrl, models } = config;
20
+ if (typeof baseUrl !== "string" || !Array.isArray(models))
17
21
  return undefined;
18
22
  return {
19
- baseUrl: config.baseUrl,
20
- models: config.models.filter(isRadiusGatewayModel).map((model) => ({ ...model })),
23
+ baseUrl,
24
+ models: models.filter(isRadiusGatewayModel).map((model) => ({ ...model })),
21
25
  };
22
26
  }
23
27
  export function normalizeRadiusGatewayUrl(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"radius-config.js","sourceRoot":"","sources":["../../src/providers/radius-config.ts"],"names":[],"mappings":"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","sourcesContent":["import type { OAuthCredential } from \"../auth/types.ts\";\nimport type { Model, ThinkingLevelMap } from \"../types.ts\";\n\nexport const DEFAULT_RADIUS_GATEWAY = \"https://radius.pi.dev\";\n\nexport type RadiusGatewayModel = {\n\tid: string;\n\tname: string;\n\treasoning: boolean;\n\tthinkingLevelMap?: ThinkingLevelMap;\n\tinput: (\"text\" | \"image\")[];\n\tcost: Model<\"pi-messages\">[\"cost\"];\n\tcontextWindow: number;\n\tmaxTokens: number;\n};\n\nexport type RadiusGatewayConfig = {\n\tbaseUrl: string;\n\tmodels: RadiusGatewayModel[];\n};\n\nexport type RadiusOAuthCredential = OAuthCredential & {\n\tgatewayConfig?: RadiusGatewayConfig;\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction isRadiusGatewayModel(value: unknown): value is RadiusGatewayModel {\n\treturn (\n\t\tisRecord(value) &&\n\t\ttypeof value.id === \"string\" &&\n\t\ttypeof value.name === \"string\" &&\n\t\ttypeof value.reasoning === \"boolean\" &&\n\t\tArray.isArray(value.input) &&\n\t\tisRecord(value.cost) &&\n\t\ttypeof value.contextWindow === \"number\" &&\n\t\ttypeof value.maxTokens === \"number\"\n\t);\n}\n\nfunction sanitizeRadiusGatewayConfig(config: unknown): RadiusGatewayConfig | undefined {\n\tif (!isRecord(config) || typeof config.baseUrl !== \"string\" || !Array.isArray(config.models)) return undefined;\n\treturn {\n\t\tbaseUrl: config.baseUrl,\n\t\tmodels: config.models.filter(isRadiusGatewayModel).map((model) => ({ ...model })),\n\t};\n}\n\nexport function normalizeRadiusGatewayUrl(value: string): string {\n\tconst withScheme = /^https?:\\/\\//iu.test(value) ? value : `https://${value}`;\n\treturn withScheme.replace(/\\/+$/u, \"\");\n}\n\nexport function getRadiusCredentialConfig(credential: OAuthCredential | undefined): RadiusGatewayConfig | undefined {\n\treturn sanitizeRadiusGatewayConfig((credential as RadiusOAuthCredential | undefined)?.gatewayConfig);\n}\n\nexport function getRadiusModelsFromConfig(providerId: string, config: RadiusGatewayConfig): Model<\"pi-messages\">[] {\n\treturn config.models.map((model) => ({\n\t\t...model,\n\t\tapi: \"pi-messages\",\n\t\tprovider: providerId,\n\t\tbaseUrl: config.baseUrl,\n\t}));\n}\n\nexport function getRadiusModels(providerId: string, credential: OAuthCredential | undefined): Model<\"pi-messages\">[] {\n\tconst config = getRadiusCredentialConfig(credential);\n\treturn config ? getRadiusModelsFromConfig(providerId, config) : [];\n}\n\nfunction truncateHttpBody(body: string): string {\n\tconst trimmed = body.trim();\n\treturn trimmed.length > 512 ? `${trimmed.slice(0, 512)}…` : trimmed;\n}\n\nexport async function loadRadiusGatewayConfig(\n\tgateway: string,\n\tapiKey?: string,\n\tsignal?: AbortSignal,\n): Promise<RadiusGatewayConfig> {\n\tconst headers: Record<string, string> = { accept: \"application/json\" };\n\tif (apiKey) headers.authorization = `Bearer ${apiKey}`;\n\tconst response = await fetch(new URL(\"/v1/config\", gateway), { headers, signal });\n\tif (!response.ok) {\n\t\tthrow new Error(\n\t\t\t`Could not load Radius config from ${gateway}: ${response.status}: ${truncateHttpBody(await response.text())}`,\n\t\t);\n\t}\n\tconst config = sanitizeRadiusGatewayConfig(await response.json());\n\tif (!config) throw new Error(`Invalid Radius config from ${gateway}`);\n\treturn config;\n}\n"]}
1
+ {"version":3,"file":"radius-config.js","sourceRoot":"","sources":["../../src/providers/radius-config.ts"],"names":[],"mappings":"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","sourcesContent":["import type { OAuthCredential } from \"../auth/types.ts\";\nimport type { Model, ThinkingLevelMap } from \"../types.ts\";\n\nexport const DEFAULT_RADIUS_GATEWAY = \"https://radius.pi.dev\";\n\nexport type RadiusGatewayModel = {\n\tid: string;\n\tname: string;\n\treasoning: boolean;\n\tthinkingLevelMap?: ThinkingLevelMap;\n\tinput: (\"text\" | \"image\")[];\n\tcost: Model<\"pi-messages\">[\"cost\"];\n\tcontextWindow: number;\n\tmaxTokens: number;\n};\n\nexport type RadiusGatewayConfig = {\n\tbaseUrl: string;\n\tmodels: RadiusGatewayModel[];\n};\n\nexport type RadiusOAuthCredential = OAuthCredential & {\n\tgatewayConfig?: RadiusGatewayConfig;\n};\n\nfunction isRadiusGatewayModel(value: unknown): value is RadiusGatewayModel {\n\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) return false;\n\tconst model = value as Partial<RadiusGatewayModel>;\n\treturn (\n\t\ttypeof model.id === \"string\" &&\n\t\ttypeof model.name === \"string\" &&\n\t\ttypeof model.reasoning === \"boolean\" &&\n\t\tArray.isArray(model.input) &&\n\t\ttypeof model.cost === \"object\" &&\n\t\tmodel.cost !== null &&\n\t\t!Array.isArray(model.cost) &&\n\t\ttypeof model.contextWindow === \"number\" &&\n\t\ttypeof model.maxTokens === \"number\"\n\t);\n}\n\nfunction sanitizeRadiusGatewayConfig(config: unknown): RadiusGatewayConfig | undefined {\n\tif (typeof config !== \"object\" || config === null || Array.isArray(config)) return undefined;\n\tconst { baseUrl, models } = config as Partial<RadiusGatewayConfig>;\n\tif (typeof baseUrl !== \"string\" || !Array.isArray(models)) return undefined;\n\treturn {\n\t\tbaseUrl,\n\t\tmodels: models.filter(isRadiusGatewayModel).map((model) => ({ ...model })),\n\t};\n}\n\nexport function normalizeRadiusGatewayUrl(value: string): string {\n\tconst withScheme = /^https?:\\/\\//iu.test(value) ? value : `https://${value}`;\n\treturn withScheme.replace(/\\/+$/u, \"\");\n}\n\nexport function getRadiusCredentialConfig(credential: OAuthCredential | undefined): RadiusGatewayConfig | undefined {\n\treturn sanitizeRadiusGatewayConfig((credential as RadiusOAuthCredential | undefined)?.gatewayConfig);\n}\n\nexport function getRadiusModelsFromConfig(providerId: string, config: RadiusGatewayConfig): Model<\"pi-messages\">[] {\n\treturn config.models.map((model) => ({\n\t\t...model,\n\t\tapi: \"pi-messages\",\n\t\tprovider: providerId,\n\t\tbaseUrl: config.baseUrl,\n\t}));\n}\n\nexport function getRadiusModels(providerId: string, credential: OAuthCredential | undefined): Model<\"pi-messages\">[] {\n\tconst config = getRadiusCredentialConfig(credential);\n\treturn config ? getRadiusModelsFromConfig(providerId, config) : [];\n}\n\nfunction truncateHttpBody(body: string): string {\n\tconst trimmed = body.trim();\n\treturn trimmed.length > 512 ? `${trimmed.slice(0, 512)}…` : trimmed;\n}\n\nexport async function loadRadiusGatewayConfig(\n\tgateway: string,\n\tapiKey?: string,\n\tsignal?: AbortSignal,\n): Promise<RadiusGatewayConfig> {\n\tconst headers: Record<string, string> = { accept: \"application/json\" };\n\tif (apiKey) headers.authorization = `Bearer ${apiKey}`;\n\tconst response = await fetch(new URL(\"/v1/config\", gateway), { headers, signal });\n\tif (!response.ok) {\n\t\tthrow new Error(\n\t\t\t`Could not load Radius config from ${gateway}: ${response.status}: ${truncateHttpBody(await response.text())}`,\n\t\t);\n\t}\n\tconst config = sanitizeRadiusGatewayConfig(await response.json());\n\tif (!config) throw new Error(`Invalid Radius config from ${gateway}`);\n\treturn config;\n}\n"]}
@@ -1,68 +1,4 @@
1
- import type { Model } from "../types.ts";
2
- export declare const TOGETHER_MODELS: {
3
- "MiniMaxAI/MiniMax-M2.7": Model<"openai-completions"> & {
4
- id: "MiniMaxAI/MiniMax-M2.7";
5
- provider: "together";
6
- };
7
- "MiniMaxAI/MiniMax-M3": Model<"openai-completions"> & {
8
- id: "MiniMaxAI/MiniMax-M3";
9
- provider: "together";
10
- };
11
- "Qwen/Qwen2.5-7B-Instruct-Turbo": Model<"openai-completions"> & {
12
- id: "Qwen/Qwen2.5-7B-Instruct-Turbo";
13
- provider: "together";
14
- };
15
- "Qwen/Qwen3.5-9B": Model<"openai-completions"> & {
16
- id: "Qwen/Qwen3.5-9B";
17
- provider: "together";
18
- };
19
- "Qwen/Qwen3.6-Plus": Model<"openai-completions"> & {
20
- id: "Qwen/Qwen3.6-Plus";
21
- provider: "together";
22
- };
23
- "Qwen/Qwen3.7-Max": Model<"openai-completions"> & {
24
- id: "Qwen/Qwen3.7-Max";
25
- provider: "together";
26
- };
27
- "deepseek-ai/DeepSeek-V4-Pro": Model<"openai-completions"> & {
28
- id: "deepseek-ai/DeepSeek-V4-Pro";
29
- provider: "together";
30
- };
31
- "google/gemma-4-31B-it": Model<"openai-completions"> & {
32
- id: "google/gemma-4-31B-it";
33
- provider: "together";
34
- };
35
- "meta-llama/Llama-3.3-70B-Instruct-Turbo": Model<"openai-completions"> & {
36
- id: "meta-llama/Llama-3.3-70B-Instruct-Turbo";
37
- provider: "together";
38
- };
39
- "moonshotai/Kimi-K2.6": Model<"openai-completions"> & {
40
- id: "moonshotai/Kimi-K2.6";
41
- provider: "together";
42
- };
43
- "moonshotai/Kimi-K2.7-Code": Model<"openai-completions"> & {
44
- id: "moonshotai/Kimi-K2.7-Code";
45
- provider: "together";
46
- };
47
- "nvidia/nemotron-3-ultra-550b-a55b": Model<"openai-completions"> & {
48
- id: "nvidia/nemotron-3-ultra-550b-a55b";
49
- provider: "together";
50
- };
51
- "openai/gpt-oss-120b": Model<"openai-completions"> & {
52
- id: "openai/gpt-oss-120b";
53
- provider: "together";
54
- };
55
- "openai/gpt-oss-20b": Model<"openai-completions"> & {
56
- id: "openai/gpt-oss-20b";
57
- provider: "together";
58
- };
59
- "thinkingmachines/Inkling": Model<"openai-completions"> & {
60
- id: "thinkingmachines/Inkling";
61
- provider: "together";
62
- };
63
- "zai-org/GLM-5.2": Model<"openai-completions"> & {
64
- id: "zai-org/GLM-5.2";
65
- provider: "together";
66
- };
67
- };
1
+ import values from "./data/together.json";
2
+ import { type ModelCatalog } from "../model-catalog.ts";
3
+ export declare const TOGETHER_MODELS: ModelCatalog<typeof values, "together">;
68
4
  //# sourceMappingURL=together.models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"together.models.d.ts","sourceRoot":"","sources":["../../src/providers/together.models.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,eAAO,MAAM,eAAe,EAAa;IACxC,wBAAwB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QACvD,EAAE,EAAE,wBAAwB,CAAC;QAC7B,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,sBAAsB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QACrD,EAAE,EAAE,sBAAsB,CAAC;QAC3B,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,gCAAgC,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QAC/D,EAAE,EAAE,gCAAgC,CAAC;QACrC,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QAChD,EAAE,EAAE,iBAAiB,CAAC;QACtB,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QAClD,EAAE,EAAE,mBAAmB,CAAC;QACxB,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,kBAAkB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QACjD,EAAE,EAAE,kBAAkB,CAAC;QACvB,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,6BAA6B,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QAC5D,EAAE,EAAE,6BAA6B,CAAC;QAClC,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,uBAAuB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QACtD,EAAE,EAAE,uBAAuB,CAAC;QAC5B,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,yCAAyC,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QACxE,EAAE,EAAE,yCAAyC,CAAC;QAC9C,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,sBAAsB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QACrD,EAAE,EAAE,sBAAsB,CAAC;QAC3B,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,2BAA2B,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QAC1D,EAAE,EAAE,2BAA2B,CAAC;QAChC,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,mCAAmC,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QAClE,EAAE,EAAE,mCAAmC,CAAC;QACxC,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,qBAAqB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QACpD,EAAE,EAAE,qBAAqB,CAAC;QAC1B,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QACnD,EAAE,EAAE,oBAAoB,CAAC;QACzB,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,0BAA0B,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QACzD,EAAE,EAAE,0BAA0B,CAAC;QAC/B,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;IACF,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG;QAChD,EAAE,EAAE,iBAAiB,CAAC;QACtB,QAAQ,EAAE,UAAU,CAAC;KACrB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"together.models.d.ts","sourceRoot":"","sources":["../../src/providers/together.models.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,sBAAsB,CAAuB;AAChE,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,OAAO,MAAM,EAAE,UAAU,CAC5B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // This file is auto-generated by scripts/generate-models.ts
2
2
  // Do not edit manually - run 'npm run generate-models' to update
3
3
  import values from "./data/together.json" with { type: "json" };
4
- export const TOGETHER_MODELS = values;
4
+ import { flattenModelCatalog } from "../model-catalog.js";
5
+ export const TOGETHER_MODELS = flattenModelCatalog("together", values);
5
6
  //# sourceMappingURL=together.models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"together.models.js","sourceRoot":"","sources":["../../src/providers/together.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,sBAAsB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAGhE,MAAM,CAAC,MAAM,eAAe,GAAG,MAiE9B,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport values from \"./data/together.json\" with { type: \"json\" };\nimport type { Model } from \"../types.ts\";\n\nexport const TOGETHER_MODELS = values as {\n\t\"MiniMaxAI/MiniMax-M2.7\": Model<\"openai-completions\"> & {\n\t\tid: \"MiniMaxAI/MiniMax-M2.7\";\n\t\tprovider: \"together\";\n\t};\n\t\"MiniMaxAI/MiniMax-M3\": Model<\"openai-completions\"> & {\n\t\tid: \"MiniMaxAI/MiniMax-M3\";\n\t\tprovider: \"together\";\n\t};\n\t\"Qwen/Qwen2.5-7B-Instruct-Turbo\": Model<\"openai-completions\"> & {\n\t\tid: \"Qwen/Qwen2.5-7B-Instruct-Turbo\";\n\t\tprovider: \"together\";\n\t};\n\t\"Qwen/Qwen3.5-9B\": Model<\"openai-completions\"> & {\n\t\tid: \"Qwen/Qwen3.5-9B\";\n\t\tprovider: \"together\";\n\t};\n\t\"Qwen/Qwen3.6-Plus\": Model<\"openai-completions\"> & {\n\t\tid: \"Qwen/Qwen3.6-Plus\";\n\t\tprovider: \"together\";\n\t};\n\t\"Qwen/Qwen3.7-Max\": Model<\"openai-completions\"> & {\n\t\tid: \"Qwen/Qwen3.7-Max\";\n\t\tprovider: \"together\";\n\t};\n\t\"deepseek-ai/DeepSeek-V4-Pro\": Model<\"openai-completions\"> & {\n\t\tid: \"deepseek-ai/DeepSeek-V4-Pro\";\n\t\tprovider: \"together\";\n\t};\n\t\"google/gemma-4-31B-it\": Model<\"openai-completions\"> & {\n\t\tid: \"google/gemma-4-31B-it\";\n\t\tprovider: \"together\";\n\t};\n\t\"meta-llama/Llama-3.3-70B-Instruct-Turbo\": Model<\"openai-completions\"> & {\n\t\tid: \"meta-llama/Llama-3.3-70B-Instruct-Turbo\";\n\t\tprovider: \"together\";\n\t};\n\t\"moonshotai/Kimi-K2.6\": Model<\"openai-completions\"> & {\n\t\tid: \"moonshotai/Kimi-K2.6\";\n\t\tprovider: \"together\";\n\t};\n\t\"moonshotai/Kimi-K2.7-Code\": Model<\"openai-completions\"> & {\n\t\tid: \"moonshotai/Kimi-K2.7-Code\";\n\t\tprovider: \"together\";\n\t};\n\t\"nvidia/nemotron-3-ultra-550b-a55b\": Model<\"openai-completions\"> & {\n\t\tid: \"nvidia/nemotron-3-ultra-550b-a55b\";\n\t\tprovider: \"together\";\n\t};\n\t\"openai/gpt-oss-120b\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-oss-120b\";\n\t\tprovider: \"together\";\n\t};\n\t\"openai/gpt-oss-20b\": Model<\"openai-completions\"> & {\n\t\tid: \"openai/gpt-oss-20b\";\n\t\tprovider: \"together\";\n\t};\n\t\"thinkingmachines/Inkling\": Model<\"openai-completions\"> & {\n\t\tid: \"thinkingmachines/Inkling\";\n\t\tprovider: \"together\";\n\t};\n\t\"zai-org/GLM-5.2\": Model<\"openai-completions\"> & {\n\t\tid: \"zai-org/GLM-5.2\";\n\t\tprovider: \"together\";\n\t};\n};\n"]}
1
+ {"version":3,"file":"together.models.js","sourceRoot":"","sources":["../../src/providers/together.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,sBAAsB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAqB,MAAM,qBAAqB,CAAC;AAE7E,MAAM,CAAC,MAAM,eAAe,GAC3B,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport values from \"./data/together.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const TOGETHER_MODELS: ModelCatalog<typeof values, \"together\"> =\n\tflattenModelCatalog(\"together\", values);\n"]}