@travisennis/acai 0.0.6 → 0.0.8

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 (586) hide show
  1. package/README.md +225 -39
  2. package/dist/agent/index.d.ts +30 -21
  3. package/dist/agent/index.d.ts.map +1 -1
  4. package/dist/agent/index.js +237 -198
  5. package/dist/cli.d.ts +4 -3
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +56 -18
  8. package/dist/commands/add-directory/index.d.ts +3 -0
  9. package/dist/commands/add-directory/index.d.ts.map +1 -0
  10. package/dist/commands/add-directory/index.js +50 -0
  11. package/dist/commands/add-directory/types.d.ts +6 -0
  12. package/dist/commands/add-directory/types.d.ts.map +1 -0
  13. package/dist/commands/add-directory/utils.d.ts +3 -0
  14. package/dist/commands/add-directory/utils.d.ts.map +1 -0
  15. package/dist/commands/add-directory/utils.js +15 -0
  16. package/dist/commands/clear/index.d.ts +3 -0
  17. package/dist/commands/clear/index.d.ts.map +1 -0
  18. package/dist/commands/{clear-command.js → clear/index.js} +1 -7
  19. package/dist/commands/copy/index.d.ts +3 -0
  20. package/dist/commands/copy/index.d.ts.map +1 -0
  21. package/dist/commands/copy/index.js +39 -0
  22. package/dist/commands/copy/types.d.ts +3 -0
  23. package/dist/commands/copy/types.d.ts.map +1 -0
  24. package/dist/commands/copy/types.js +1 -0
  25. package/dist/commands/copy/utils.d.ts +3 -0
  26. package/dist/commands/copy/utils.d.ts.map +1 -0
  27. package/dist/commands/copy/utils.js +22 -0
  28. package/dist/commands/exit/index.d.ts +10 -0
  29. package/dist/commands/exit/index.d.ts.map +1 -0
  30. package/dist/commands/exit/index.js +21 -0
  31. package/dist/commands/exit/types.d.ts +8 -0
  32. package/dist/commands/exit/types.d.ts.map +1 -0
  33. package/dist/commands/exit/types.js +1 -0
  34. package/dist/commands/exit/utils.d.ts +2 -0
  35. package/dist/commands/exit/utils.d.ts.map +1 -0
  36. package/dist/commands/exit/utils.js +13 -0
  37. package/dist/commands/generate-rules/index.d.ts +3 -0
  38. package/dist/commands/generate-rules/index.d.ts.map +1 -0
  39. package/dist/commands/{generate-rules-command.js → generate-rules/index.js} +65 -147
  40. package/dist/commands/generate-rules/utils.d.ts +5 -0
  41. package/dist/commands/generate-rules/utils.d.ts.map +1 -0
  42. package/dist/commands/generate-rules/utils.js +25 -0
  43. package/dist/commands/handoff/index.d.ts +3 -0
  44. package/dist/commands/handoff/index.d.ts.map +1 -0
  45. package/dist/commands/handoff/index.js +97 -0
  46. package/dist/commands/handoff/utils.d.ts +4 -0
  47. package/dist/commands/handoff/utils.d.ts.map +1 -0
  48. package/dist/commands/handoff/utils.js +123 -0
  49. package/dist/commands/health/index.d.ts +3 -0
  50. package/dist/commands/health/index.d.ts.map +1 -0
  51. package/dist/commands/health/index.js +56 -0
  52. package/dist/commands/health/utils.d.ts +15 -0
  53. package/dist/commands/health/utils.d.ts.map +1 -0
  54. package/dist/commands/health/utils.js +52 -0
  55. package/dist/commands/help/index.d.ts +3 -0
  56. package/dist/commands/help/index.d.ts.map +1 -0
  57. package/dist/commands/{help-command.js → help/index.js} +6 -14
  58. package/dist/commands/history/index.d.ts +3 -0
  59. package/dist/commands/history/index.d.ts.map +1 -0
  60. package/dist/commands/{history-command.js → history/index.js} +40 -200
  61. package/dist/commands/history/types.d.ts +11 -0
  62. package/dist/commands/history/types.d.ts.map +1 -0
  63. package/dist/commands/history/types.js +1 -0
  64. package/dist/commands/history/utils.d.ts +4 -0
  65. package/dist/commands/history/utils.d.ts.map +1 -0
  66. package/dist/commands/history/utils.js +86 -0
  67. package/dist/commands/init/index.d.ts +3 -0
  68. package/dist/commands/init/index.d.ts.map +1 -0
  69. package/dist/commands/{init-command.js → init/index.js} +17 -27
  70. package/dist/commands/init-project/index.d.ts +3 -0
  71. package/dist/commands/init-project/index.d.ts.map +1 -0
  72. package/dist/commands/init-project/index.js +51 -0
  73. package/dist/commands/init-project/utils.d.ts +9 -0
  74. package/dist/commands/init-project/utils.d.ts.map +1 -0
  75. package/dist/commands/init-project/utils.js +43 -0
  76. package/dist/commands/list-directories/index.d.ts +3 -0
  77. package/dist/commands/list-directories/index.d.ts.map +1 -0
  78. package/dist/commands/{list-directories-command.js → list-directories/index.js} +2 -15
  79. package/dist/commands/list-tools/index.d.ts +3 -0
  80. package/dist/commands/list-tools/index.d.ts.map +1 -0
  81. package/dist/commands/list-tools/index.js +89 -0
  82. package/dist/commands/manager.d.ts +2 -9
  83. package/dist/commands/manager.d.ts.map +1 -1
  84. package/dist/commands/manager.js +38 -83
  85. package/dist/commands/model/index.d.ts +3 -0
  86. package/dist/commands/model/index.d.ts.map +1 -0
  87. package/dist/commands/model/index.js +182 -0
  88. package/dist/commands/model/utils.d.ts +3 -0
  89. package/dist/commands/model/utils.d.ts.map +1 -0
  90. package/dist/commands/model/utils.js +5 -0
  91. package/dist/commands/paste/index.d.ts +3 -0
  92. package/dist/commands/paste/index.d.ts.map +1 -0
  93. package/dist/commands/paste/index.js +94 -0
  94. package/dist/commands/paste/utils.d.ts +5 -0
  95. package/dist/commands/paste/utils.d.ts.map +1 -0
  96. package/dist/commands/paste/utils.js +86 -0
  97. package/dist/commands/pickup/index.d.ts +3 -0
  98. package/dist/commands/pickup/index.d.ts.map +1 -0
  99. package/dist/commands/pickup/index.js +138 -0
  100. package/dist/commands/pickup/types.d.ts +6 -0
  101. package/dist/commands/pickup/types.d.ts.map +1 -0
  102. package/dist/commands/pickup/types.js +1 -0
  103. package/dist/commands/pickup/utils.d.ts +7 -0
  104. package/dist/commands/pickup/utils.d.ts.map +1 -0
  105. package/dist/commands/pickup/utils.js +56 -0
  106. package/dist/commands/prompt/index.d.ts +5 -0
  107. package/dist/commands/prompt/index.d.ts.map +1 -0
  108. package/dist/commands/prompt/index.js +126 -0
  109. package/dist/commands/prompt/types.d.ts +15 -0
  110. package/dist/commands/prompt/types.d.ts.map +1 -0
  111. package/dist/commands/prompt/types.js +1 -0
  112. package/dist/commands/prompt/utils.d.ts +12 -0
  113. package/dist/commands/prompt/utils.d.ts.map +1 -0
  114. package/dist/commands/prompt/utils.js +107 -0
  115. package/dist/commands/remove-directory/index.d.ts +3 -0
  116. package/dist/commands/remove-directory/index.d.ts.map +1 -0
  117. package/dist/commands/{remove-directory-command.js → remove-directory/index.js} +3 -35
  118. package/dist/commands/reset/index.d.ts +3 -0
  119. package/dist/commands/reset/index.d.ts.map +1 -0
  120. package/dist/commands/{reset-command.js → reset/index.js} +8 -11
  121. package/dist/commands/reset/types.d.ts +1 -0
  122. package/dist/commands/reset/types.d.ts.map +1 -0
  123. package/dist/commands/reset/types.js +3 -0
  124. package/dist/commands/resources/index.d.ts +3 -0
  125. package/dist/commands/resources/index.d.ts.map +1 -0
  126. package/dist/commands/resources/index.js +84 -0
  127. package/dist/commands/review/index.d.ts +3 -0
  128. package/dist/commands/review/index.d.ts.map +1 -0
  129. package/dist/commands/review/index.js +126 -0
  130. package/dist/commands/review/types.d.ts +12 -0
  131. package/dist/commands/review/types.d.ts.map +1 -0
  132. package/dist/commands/review/types.js +1 -0
  133. package/dist/commands/review/utils.d.ts +4 -0
  134. package/dist/commands/review/utils.d.ts.map +1 -0
  135. package/dist/commands/review/utils.js +87 -0
  136. package/dist/commands/save/index.d.ts +3 -0
  137. package/dist/commands/save/index.d.ts.map +1 -0
  138. package/dist/commands/{save-command.js → save/index.js} +3 -10
  139. package/dist/commands/session/index.d.ts +3 -0
  140. package/dist/commands/session/index.d.ts.map +1 -0
  141. package/dist/commands/session/index.js +197 -0
  142. package/dist/commands/session/types.d.ts +13 -0
  143. package/dist/commands/session/types.d.ts.map +1 -0
  144. package/dist/commands/session/types.js +7 -0
  145. package/dist/commands/shell/index.d.ts +3 -0
  146. package/dist/commands/shell/index.d.ts.map +1 -0
  147. package/dist/commands/{shell-command.js → shell/index.js} +4 -51
  148. package/dist/commands/types.d.ts +2 -5
  149. package/dist/commands/types.d.ts.map +1 -1
  150. package/dist/config.d.ts +36 -7
  151. package/dist/config.d.ts.map +1 -1
  152. package/dist/config.js +118 -60
  153. package/dist/dedent.d.ts.map +1 -1
  154. package/dist/dedent.js +7 -7
  155. package/dist/execution/index.d.ts +18 -2
  156. package/dist/execution/index.d.ts.map +1 -1
  157. package/dist/execution/index.js +119 -81
  158. package/dist/formatting.d.ts +46 -0
  159. package/dist/formatting.d.ts.map +1 -1
  160. package/dist/formatting.js +94 -0
  161. package/dist/index.d.ts +1 -1
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +299 -177
  164. package/dist/logger.d.ts.map +1 -1
  165. package/dist/logger.js +4 -11
  166. package/dist/mentions.d.ts.map +1 -1
  167. package/dist/mentions.js +3 -53
  168. package/dist/middleware/audit-message.d.ts +2 -2
  169. package/dist/middleware/audit-message.d.ts.map +1 -1
  170. package/dist/middleware/audit-message.js +40 -2
  171. package/dist/middleware/cache.d.ts +2 -2
  172. package/dist/middleware/cache.d.ts.map +1 -1
  173. package/dist/middleware/cache.js +111 -27
  174. package/dist/middleware/rate-limit.d.ts +2 -2
  175. package/dist/middleware/rate-limit.d.ts.map +1 -1
  176. package/dist/middleware/rate-limit.js +1 -0
  177. package/dist/models/ai-config.d.ts.map +1 -1
  178. package/dist/models/ai-config.js +46 -29
  179. package/dist/models/anthropic-provider.d.ts +14 -13
  180. package/dist/models/anthropic-provider.d.ts.map +1 -1
  181. package/dist/models/anthropic-provider.js +0 -7
  182. package/dist/models/deepseek-provider.d.ts +9 -8
  183. package/dist/models/deepseek-provider.d.ts.map +1 -1
  184. package/dist/models/deepseek-provider.js +0 -2
  185. package/dist/models/google-provider.d.ts +10 -9
  186. package/dist/models/google-provider.d.ts.map +1 -1
  187. package/dist/models/google-provider.js +0 -3
  188. package/dist/models/groq-provider.d.ts +8 -7
  189. package/dist/models/groq-provider.d.ts.map +1 -1
  190. package/dist/models/groq-provider.js +0 -1
  191. package/dist/models/manager.d.ts +7 -4
  192. package/dist/models/manager.d.ts.map +1 -1
  193. package/dist/models/manager.js +5 -25
  194. package/dist/models/openai-provider.d.ts +11 -10
  195. package/dist/models/openai-provider.d.ts.map +1 -1
  196. package/dist/models/openai-provider.js +0 -4
  197. package/dist/models/opencode-zen-provider.d.ts +23 -0
  198. package/dist/models/opencode-zen-provider.d.ts.map +1 -0
  199. package/dist/models/opencode-zen-provider.js +76 -0
  200. package/dist/models/openrouter-provider.d.ts +34 -28
  201. package/dist/models/openrouter-provider.d.ts.map +1 -1
  202. package/dist/models/openrouter-provider.js +148 -139
  203. package/dist/models/providers.d.ts +6 -16
  204. package/dist/models/providers.d.ts.map +1 -1
  205. package/dist/models/providers.js +8 -58
  206. package/dist/models/xai-provider.d.ts +9 -8
  207. package/dist/models/xai-provider.d.ts.map +1 -1
  208. package/dist/models/xai-provider.js +0 -2
  209. package/dist/prompts/manager.d.ts +1 -1
  210. package/dist/prompts/manager.d.ts.map +1 -1
  211. package/dist/prompts/manager.js +1 -1
  212. package/dist/prompts.d.ts +8 -4
  213. package/dist/prompts.d.ts.map +1 -1
  214. package/dist/prompts.js +155 -177
  215. package/dist/repl/project-status.d.ts +19 -0
  216. package/dist/repl/project-status.d.ts.map +1 -0
  217. package/dist/repl/project-status.js +78 -0
  218. package/dist/repl-new.d.ts +15 -6
  219. package/dist/repl-new.d.ts.map +1 -1
  220. package/dist/repl-new.js +266 -83
  221. package/dist/{messages.d.ts → sessions/manager.d.ts} +13 -4
  222. package/dist/sessions/manager.d.ts.map +1 -0
  223. package/dist/{messages.js → sessions/manager.js} +126 -16
  224. package/dist/skills.d.ts +16 -0
  225. package/dist/skills.d.ts.map +1 -0
  226. package/dist/skills.js +233 -0
  227. package/dist/terminal/control.d.ts +56 -0
  228. package/dist/terminal/control.d.ts.map +1 -0
  229. package/dist/terminal/control.js +111 -0
  230. package/dist/terminal/default-theme.d.ts +1 -1
  231. package/dist/terminal/default-theme.d.ts.map +1 -1
  232. package/dist/terminal/default-theme.js +24 -28
  233. package/dist/terminal/formatting.d.ts +23 -26
  234. package/dist/terminal/formatting.d.ts.map +1 -1
  235. package/dist/terminal/formatting.js +35 -53
  236. package/dist/terminal/highlight/index.d.ts.map +1 -1
  237. package/dist/terminal/highlight/index.js +3 -6
  238. package/dist/terminal/highlight/theme.d.ts.map +1 -1
  239. package/dist/terminal/highlight/theme.js +2 -6
  240. package/dist/terminal/index.d.ts +2 -101
  241. package/dist/terminal/index.d.ts.map +1 -1
  242. package/dist/terminal/index.js +2 -464
  243. package/dist/terminal/keys.d.ts +211 -0
  244. package/dist/terminal/keys.d.ts.map +1 -0
  245. package/dist/terminal/keys.js +546 -0
  246. package/dist/terminal/segmenter.d.ts +6 -0
  247. package/dist/terminal/segmenter.d.ts.map +1 -0
  248. package/dist/terminal/segmenter.js +11 -0
  249. package/dist/terminal/select-prompt.d.ts.map +1 -1
  250. package/dist/terminal/select-prompt.js +9 -21
  251. package/dist/terminal/string-width.d.ts.map +1 -1
  252. package/dist/terminal/string-width.js +40 -21
  253. package/dist/terminal/strip-ansi.d.ts.map +1 -1
  254. package/dist/terminal/strip-ansi.js +9 -15
  255. package/dist/terminal/table/cell.d.ts +114 -0
  256. package/dist/terminal/table/cell.d.ts.map +1 -0
  257. package/dist/terminal/table/cell.js +407 -0
  258. package/dist/terminal/table/debug.d.ts +15 -0
  259. package/dist/terminal/table/debug.d.ts.map +1 -0
  260. package/dist/terminal/table/debug.js +32 -0
  261. package/dist/terminal/table/index.d.ts +3 -0
  262. package/dist/terminal/table/index.d.ts.map +1 -0
  263. package/dist/terminal/table/index.js +2 -0
  264. package/dist/terminal/table/layout-manager.d.ts +27 -0
  265. package/dist/terminal/table/layout-manager.d.ts.map +1 -0
  266. package/dist/terminal/table/layout-manager.js +257 -0
  267. package/dist/terminal/table/table.d.ts +9 -0
  268. package/dist/terminal/table/table.d.ts.map +1 -0
  269. package/dist/terminal/table/table.js +97 -0
  270. package/dist/terminal/table/utils.d.ts +63 -0
  271. package/dist/terminal/table/utils.d.ts.map +1 -0
  272. package/dist/terminal/table/utils.js +326 -0
  273. package/dist/tokens/tracker.d.ts.map +1 -1
  274. package/dist/tokens/tracker.js +58 -16
  275. package/dist/tools/bash.d.ts +11 -11
  276. package/dist/tools/bash.d.ts.map +1 -1
  277. package/dist/tools/bash.js +189 -81
  278. package/dist/tools/directory-tree.d.ts +9 -13
  279. package/dist/tools/directory-tree.d.ts.map +1 -1
  280. package/dist/tools/directory-tree.js +90 -60
  281. package/dist/tools/dynamic-tool-loader.d.ts +22 -8
  282. package/dist/tools/dynamic-tool-loader.d.ts.map +1 -1
  283. package/dist/tools/dynamic-tool-loader.js +41 -46
  284. package/dist/tools/edit-file.d.ts +6 -16
  285. package/dist/tools/edit-file.d.ts.map +1 -1
  286. package/dist/tools/edit-file.js +22 -66
  287. package/dist/tools/glob.d.ts +15 -16
  288. package/dist/tools/glob.d.ts.map +1 -1
  289. package/dist/tools/glob.js +78 -109
  290. package/dist/tools/grep.d.ts +19 -22
  291. package/dist/tools/grep.d.ts.map +1 -1
  292. package/dist/tools/grep.js +61 -93
  293. package/dist/tools/index.d.ts +202 -167
  294. package/dist/tools/index.d.ts.map +1 -1
  295. package/dist/tools/index.js +17 -273
  296. package/dist/tools/ls.d.ts +26 -0
  297. package/dist/tools/ls.d.ts.map +1 -0
  298. package/dist/tools/ls.js +80 -0
  299. package/dist/tools/read-file.d.ts +15 -15
  300. package/dist/tools/read-file.d.ts.map +1 -1
  301. package/dist/tools/read-file.js +52 -76
  302. package/dist/tools/save-file.d.ts +8 -8
  303. package/dist/tools/save-file.d.ts.map +1 -1
  304. package/dist/tools/save-file.js +42 -53
  305. package/dist/tools/think.d.ts +4 -4
  306. package/dist/tools/think.d.ts.map +1 -1
  307. package/dist/tools/think.js +9 -32
  308. package/dist/tools/types.d.ts +5 -21
  309. package/dist/tools/types.d.ts.map +1 -1
  310. package/dist/tools/types.js +0 -9
  311. package/dist/tui/autocomplete/attachment-provider.d.ts +18 -0
  312. package/dist/tui/autocomplete/attachment-provider.d.ts.map +1 -0
  313. package/dist/tui/autocomplete/attachment-provider.js +159 -0
  314. package/dist/tui/autocomplete/base-provider.d.ts +17 -0
  315. package/dist/tui/autocomplete/base-provider.d.ts.map +1 -0
  316. package/dist/tui/autocomplete/base-provider.js +1 -0
  317. package/dist/tui/autocomplete/combined-provider.d.ts +20 -0
  318. package/dist/tui/autocomplete/combined-provider.d.ts.map +1 -0
  319. package/dist/tui/autocomplete/combined-provider.js +61 -0
  320. package/dist/tui/autocomplete/command-provider.d.ts +20 -0
  321. package/dist/tui/autocomplete/command-provider.d.ts.map +1 -0
  322. package/dist/tui/autocomplete/command-provider.js +90 -0
  323. package/dist/tui/autocomplete/file-search-provider.d.ts +16 -0
  324. package/dist/tui/autocomplete/file-search-provider.d.ts.map +1 -0
  325. package/dist/tui/autocomplete/file-search-provider.js +123 -0
  326. package/dist/tui/autocomplete/path-provider.d.ts +21 -0
  327. package/dist/tui/autocomplete/path-provider.d.ts.map +1 -0
  328. package/dist/tui/autocomplete/path-provider.js +164 -0
  329. package/dist/tui/autocomplete/utils.d.ts +16 -0
  330. package/dist/tui/autocomplete/utils.d.ts.map +1 -0
  331. package/dist/tui/autocomplete/utils.js +137 -0
  332. package/dist/tui/autocomplete.d.ts +12 -43
  333. package/dist/tui/autocomplete.d.ts.map +1 -1
  334. package/dist/tui/autocomplete.js +20 -465
  335. package/dist/tui/components/assistant-message.js +1 -1
  336. package/dist/tui/components/box.d.ts +20 -0
  337. package/dist/tui/components/box.d.ts.map +1 -0
  338. package/dist/tui/components/box.js +87 -0
  339. package/dist/tui/components/editor.d.ts +61 -7
  340. package/dist/tui/components/editor.d.ts.map +1 -1
  341. package/dist/tui/components/editor.js +630 -127
  342. package/dist/tui/components/footer.d.ts +19 -18
  343. package/dist/tui/components/footer.d.ts.map +1 -1
  344. package/dist/tui/components/footer.js +90 -185
  345. package/dist/tui/components/header.d.ts +21 -0
  346. package/dist/tui/components/header.d.ts.map +1 -0
  347. package/dist/tui/components/header.js +63 -0
  348. package/dist/tui/components/input.d.ts.map +1 -1
  349. package/dist/tui/components/input.js +8 -7
  350. package/dist/tui/components/loader.d.ts +6 -1
  351. package/dist/tui/components/loader.d.ts.map +1 -1
  352. package/dist/tui/components/loader.js +8 -3
  353. package/dist/tui/components/markdown.d.ts +31 -27
  354. package/dist/tui/components/markdown.d.ts.map +1 -1
  355. package/dist/tui/components/markdown.js +131 -67
  356. package/dist/tui/components/modal.d.ts +0 -11
  357. package/dist/tui/components/modal.d.ts.map +1 -1
  358. package/dist/tui/components/modal.js +9 -37
  359. package/dist/tui/components/notification.d.ts +28 -0
  360. package/dist/tui/components/notification.d.ts.map +1 -0
  361. package/dist/tui/components/notification.js +63 -0
  362. package/dist/tui/components/progress-bar.d.ts +19 -0
  363. package/dist/tui/components/progress-bar.d.ts.map +1 -0
  364. package/dist/tui/components/progress-bar.js +66 -0
  365. package/dist/tui/components/select-list.d.ts +12 -1
  366. package/dist/tui/components/select-list.d.ts.map +1 -1
  367. package/dist/tui/components/select-list.js +73 -32
  368. package/dist/tui/components/spacer.d.ts +1 -1
  369. package/dist/tui/components/spacer.d.ts.map +1 -1
  370. package/dist/tui/components/spacer.js +2 -2
  371. package/dist/tui/components/table.d.ts +27 -0
  372. package/dist/tui/components/table.d.ts.map +1 -0
  373. package/dist/tui/components/table.js +125 -0
  374. package/dist/tui/components/thinking-block.d.ts.map +1 -1
  375. package/dist/tui/components/thinking-block.js +4 -1
  376. package/dist/tui/components/tool-execution.d.ts +7 -6
  377. package/dist/tui/components/tool-execution.d.ts.map +1 -1
  378. package/dist/tui/components/tool-execution.js +81 -85
  379. package/dist/tui/components/user-message.d.ts.map +1 -1
  380. package/dist/tui/components/user-message.js +6 -4
  381. package/dist/tui/components/welcome.d.ts +8 -1
  382. package/dist/tui/components/welcome.d.ts.map +1 -1
  383. package/dist/tui/components/welcome.js +45 -6
  384. package/dist/tui/index.d.ts +12 -6
  385. package/dist/tui/index.d.ts.map +1 -1
  386. package/dist/tui/index.js +7 -3
  387. package/dist/tui/terminal.d.ts +4 -3
  388. package/dist/tui/terminal.d.ts.map +1 -1
  389. package/dist/tui/terminal.js +43 -49
  390. package/dist/tui/tui.d.ts +3 -0
  391. package/dist/tui/tui.d.ts.map +1 -1
  392. package/dist/tui/tui.js +58 -43
  393. package/dist/tui/utils.d.ts +5 -0
  394. package/dist/tui/utils.d.ts.map +1 -1
  395. package/dist/tui/utils.js +80 -1
  396. package/dist/{tools/bash-utils.d.ts → utils/bash.d.ts} +3 -3
  397. package/dist/utils/bash.d.ts.map +1 -0
  398. package/dist/{tools/bash-utils.js → utils/bash.js} +22 -11
  399. package/dist/utils/{filesystem.d.ts → filesystem/operations.d.ts} +1 -1
  400. package/dist/utils/filesystem/operations.d.ts.map +1 -0
  401. package/dist/{tools/filesystem-utils.d.ts → utils/filesystem/security.d.ts} +3 -2
  402. package/dist/utils/filesystem/security.d.ts.map +1 -0
  403. package/dist/{tools/filesystem-utils.js → utils/filesystem/security.js} +62 -4
  404. package/dist/utils/funcs.d.ts +6 -0
  405. package/dist/utils/funcs.d.ts.map +1 -0
  406. package/dist/utils/funcs.js +6 -0
  407. package/dist/{tools/git-utils.d.ts → utils/git.d.ts} +1 -1
  408. package/dist/utils/git.d.ts.map +1 -0
  409. package/dist/{tools/git-utils.js → utils/git.js} +0 -6
  410. package/dist/utils/glob.js +1 -1
  411. package/dist/utils/yaml.d.ts +11 -0
  412. package/dist/utils/yaml.d.ts.map +1 -0
  413. package/dist/utils/yaml.js +207 -0
  414. package/dist/utils/{zod-utils.d.ts → zod.d.ts} +2 -1
  415. package/dist/utils/zod.d.ts.map +1 -0
  416. package/dist/utils/zod.js +24 -0
  417. package/package.json +31 -29
  418. package/dist/agent/manual-loop.d.ts +0 -41
  419. package/dist/agent/manual-loop.d.ts.map +0 -1
  420. package/dist/agent/manual-loop.js +0 -278
  421. package/dist/api/exa/index.d.ts +0 -177
  422. package/dist/api/exa/index.d.ts.map +0 -1
  423. package/dist/api/exa/index.js +0 -439
  424. package/dist/commands/add-directory-command.d.ts +0 -3
  425. package/dist/commands/add-directory-command.d.ts.map +0 -1
  426. package/dist/commands/add-directory-command.js +0 -85
  427. package/dist/commands/application-log-command.d.ts +0 -3
  428. package/dist/commands/application-log-command.d.ts.map +0 -1
  429. package/dist/commands/application-log-command.js +0 -79
  430. package/dist/commands/clear-command.d.ts +0 -3
  431. package/dist/commands/clear-command.d.ts.map +0 -1
  432. package/dist/commands/compact-command.d.ts +0 -3
  433. package/dist/commands/compact-command.d.ts.map +0 -1
  434. package/dist/commands/compact-command.js +0 -64
  435. package/dist/commands/context-command.d.ts +0 -3
  436. package/dist/commands/context-command.d.ts.map +0 -1
  437. package/dist/commands/context-command.js +0 -183
  438. package/dist/commands/copy-command.d.ts +0 -3
  439. package/dist/commands/copy-command.d.ts.map +0 -1
  440. package/dist/commands/copy-command.js +0 -80
  441. package/dist/commands/edit-command.d.ts +0 -3
  442. package/dist/commands/edit-command.d.ts.map +0 -1
  443. package/dist/commands/edit-command.js +0 -88
  444. package/dist/commands/edit-prompt-command.d.ts +0 -3
  445. package/dist/commands/edit-prompt-command.d.ts.map +0 -1
  446. package/dist/commands/edit-prompt-command.js +0 -61
  447. package/dist/commands/exit-command.d.ts +0 -13
  448. package/dist/commands/exit-command.d.ts.map +0 -1
  449. package/dist/commands/exit-command.js +0 -46
  450. package/dist/commands/files-command.d.ts +0 -3
  451. package/dist/commands/files-command.d.ts.map +0 -1
  452. package/dist/commands/files-command.js +0 -121
  453. package/dist/commands/generate-rules-command.d.ts +0 -3
  454. package/dist/commands/generate-rules-command.d.ts.map +0 -1
  455. package/dist/commands/handoff-command.d.ts +0 -3
  456. package/dist/commands/handoff-command.d.ts.map +0 -1
  457. package/dist/commands/handoff-command.js +0 -202
  458. package/dist/commands/health-command.d.ts +0 -4
  459. package/dist/commands/health-command.d.ts.map +0 -1
  460. package/dist/commands/health-command.js +0 -213
  461. package/dist/commands/help-command.d.ts +0 -3
  462. package/dist/commands/help-command.d.ts.map +0 -1
  463. package/dist/commands/history-command.d.ts +0 -3
  464. package/dist/commands/history-command.d.ts.map +0 -1
  465. package/dist/commands/init-command.d.ts +0 -3
  466. package/dist/commands/init-command.d.ts.map +0 -1
  467. package/dist/commands/last-log-command.d.ts +0 -3
  468. package/dist/commands/last-log-command.d.ts.map +0 -1
  469. package/dist/commands/last-log-command.js +0 -98
  470. package/dist/commands/list-directories-command.d.ts +0 -3
  471. package/dist/commands/list-directories-command.d.ts.map +0 -1
  472. package/dist/commands/list-tools-command.d.ts +0 -3
  473. package/dist/commands/list-tools-command.d.ts.map +0 -1
  474. package/dist/commands/list-tools-command.js +0 -124
  475. package/dist/commands/model-command.d.ts +0 -25
  476. package/dist/commands/model-command.d.ts.map +0 -1
  477. package/dist/commands/model-command.js +0 -340
  478. package/dist/commands/paste-command.d.ts +0 -3
  479. package/dist/commands/paste-command.d.ts.map +0 -1
  480. package/dist/commands/paste-command.js +0 -277
  481. package/dist/commands/pickup-command.d.ts +0 -3
  482. package/dist/commands/pickup-command.d.ts.map +0 -1
  483. package/dist/commands/pickup-command.js +0 -161
  484. package/dist/commands/prompt-command.d.ts +0 -3
  485. package/dist/commands/prompt-command.d.ts.map +0 -1
  486. package/dist/commands/prompt-command.js +0 -280
  487. package/dist/commands/remove-directory-command.d.ts +0 -3
  488. package/dist/commands/remove-directory-command.d.ts.map +0 -1
  489. package/dist/commands/reset-command.d.ts +0 -3
  490. package/dist/commands/reset-command.d.ts.map +0 -1
  491. package/dist/commands/rules-command.d.ts +0 -3
  492. package/dist/commands/rules-command.d.ts.map +0 -1
  493. package/dist/commands/rules-command.js +0 -135
  494. package/dist/commands/save-command.d.ts +0 -3
  495. package/dist/commands/save-command.d.ts.map +0 -1
  496. package/dist/commands/shell-command.d.ts +0 -3
  497. package/dist/commands/shell-command.d.ts.map +0 -1
  498. package/dist/commands/usage-command.d.ts +0 -3
  499. package/dist/commands/usage-command.d.ts.map +0 -1
  500. package/dist/commands/usage-command.js +0 -42
  501. package/dist/messages.d.ts.map +0 -1
  502. package/dist/repl/display-tool-messages.d.ts +0 -4
  503. package/dist/repl/display-tool-messages.d.ts.map +0 -1
  504. package/dist/repl/display-tool-messages.js +0 -58
  505. package/dist/repl/display-tool-use.d.ts +0 -14
  506. package/dist/repl/display-tool-use.d.ts.map +0 -1
  507. package/dist/repl/display-tool-use.js +0 -63
  508. package/dist/repl/get-prompt-header.d.ts +0 -8
  509. package/dist/repl/get-prompt-header.d.ts.map +0 -1
  510. package/dist/repl/get-prompt-header.js +0 -9
  511. package/dist/repl/project-status-line.d.ts +0 -2
  512. package/dist/repl/project-status-line.d.ts.map +0 -1
  513. package/dist/repl/project-status-line.js +0 -31
  514. package/dist/repl/prompt.d.ts +0 -21
  515. package/dist/repl/prompt.d.ts.map +0 -1
  516. package/dist/repl/prompt.js +0 -244
  517. package/dist/repl/tool-call-repair.d.ts +0 -4
  518. package/dist/repl/tool-call-repair.d.ts.map +0 -1
  519. package/dist/repl/tool-call-repair.js +0 -54
  520. package/dist/repl.d.ts +0 -29
  521. package/dist/repl.d.ts.map +0 -1
  522. package/dist/repl.js +0 -218
  523. package/dist/terminal/checkbox-prompt.d.ts +0 -36
  524. package/dist/terminal/checkbox-prompt.d.ts.map +0 -1
  525. package/dist/terminal/checkbox-prompt.js +0 -368
  526. package/dist/terminal/editor-prompt.d.ts +0 -10
  527. package/dist/terminal/editor-prompt.d.ts.map +0 -1
  528. package/dist/terminal/editor-prompt.js +0 -61
  529. package/dist/terminal/errors.d.ts +0 -19
  530. package/dist/terminal/errors.d.ts.map +0 -1
  531. package/dist/terminal/errors.js +0 -37
  532. package/dist/terminal/input-prompt.d.ts +0 -17
  533. package/dist/terminal/input-prompt.d.ts.map +0 -1
  534. package/dist/terminal/input-prompt.js +0 -181
  535. package/dist/terminal/markdown.d.ts +0 -2
  536. package/dist/terminal/markdown.d.ts.map +0 -1
  537. package/dist/terminal/markdown.js +0 -118
  538. package/dist/terminal/search-prompt.d.ts +0 -20
  539. package/dist/terminal/search-prompt.d.ts.map +0 -1
  540. package/dist/terminal/search-prompt.js +0 -280
  541. package/dist/terminal/types.d.ts +0 -35
  542. package/dist/terminal/types.d.ts.map +0 -1
  543. package/dist/tokens/threshold.d.ts +0 -35
  544. package/dist/tokens/threshold.d.ts.map +0 -1
  545. package/dist/tokens/threshold.js +0 -85
  546. package/dist/tools/advanced-edit-file.d.ts +0 -69
  547. package/dist/tools/advanced-edit-file.d.ts.map +0 -1
  548. package/dist/tools/advanced-edit-file.js +0 -281
  549. package/dist/tools/agent.d.ts +0 -29
  550. package/dist/tools/agent.d.ts.map +0 -1
  551. package/dist/tools/agent.js +0 -103
  552. package/dist/tools/bash-utils.d.ts.map +0 -1
  553. package/dist/tools/code-interpreter.d.ts +0 -25
  554. package/dist/tools/code-interpreter.d.ts.map +0 -1
  555. package/dist/tools/code-interpreter.js +0 -167
  556. package/dist/tools/delete-file.d.ts +0 -24
  557. package/dist/tools/delete-file.d.ts.map +0 -1
  558. package/dist/tools/delete-file.js +0 -70
  559. package/dist/tools/dynamic-tool-parser.d.ts +0 -21
  560. package/dist/tools/dynamic-tool-parser.d.ts.map +0 -1
  561. package/dist/tools/dynamic-tool-parser.js +0 -22
  562. package/dist/tools/filesystem-utils.d.ts.map +0 -1
  563. package/dist/tools/git-utils.d.ts.map +0 -1
  564. package/dist/tools/llm-edit-fixer.d.ts +0 -25
  565. package/dist/tools/llm-edit-fixer.d.ts.map +0 -1
  566. package/dist/tools/llm-edit-fixer.js +0 -150
  567. package/dist/tools/move-file.d.ts +0 -26
  568. package/dist/tools/move-file.d.ts.map +0 -1
  569. package/dist/tools/move-file.js +0 -58
  570. package/dist/tools/read-multiple-files.d.ts +0 -26
  571. package/dist/tools/read-multiple-files.d.ts.map +0 -1
  572. package/dist/tools/read-multiple-files.js +0 -139
  573. package/dist/tools/web-fetch.d.ts +0 -56
  574. package/dist/tools/web-fetch.d.ts.map +0 -1
  575. package/dist/tools/web-fetch.js +0 -247
  576. package/dist/tools/web-search.d.ts +0 -23
  577. package/dist/tools/web-search.d.ts.map +0 -1
  578. package/dist/tools/web-search.js +0 -133
  579. package/dist/tui/components/prompt-status.d.ts +0 -16
  580. package/dist/tui/components/prompt-status.d.ts.map +0 -1
  581. package/dist/tui/components/prompt-status.js +0 -21
  582. package/dist/utils/filesystem.d.ts.map +0 -1
  583. package/dist/utils/zod-utils.d.ts.map +0 -1
  584. package/dist/utils/zod-utils.js +0 -7
  585. /package/dist/{terminal → commands/add-directory}/types.js +0 -0
  586. /package/dist/utils/{filesystem.js → filesystem/operations.js} +0 -0
@@ -1,26 +1,20 @@
1
- import { createOpenRouter } from "@openrouter/ai-sdk-provider";
1
+ // import { createOpenAI } from "@ai-sdk/openai";
2
+ import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
2
3
  import { objectKeys } from "@travisennis/stdlib/object";
3
4
  import { customProvider } from "ai";
4
- // const openRouterClient = createOpenAICompatible({
5
- // name: "openrouter",
6
- // apiKey: process.env["OPENROUTER_API_KEY"] ?? "",
7
- // // biome-ignore lint/style/useNamingConvention: third-party controlled
8
- // baseURL: "https://openrouter.ai/api/v1",
9
- // headers: {
10
- // "HTTP-Referer": "https://github.com/travisennis/acai-ts",
11
- // "X-Title": "acai",
12
- // },
13
- // });
14
- const openRouterClient = createOpenRouter({
5
+ const openRouterClient = createOpenAICompatible({
6
+ name: "openrouter",
15
7
  apiKey: process.env["OPENROUTER_API_KEY"] ?? "",
8
+ // biome-ignore lint/style/useNamingConvention: third-party controlled
9
+ baseURL: "https://openrouter.ai/api/v1",
16
10
  headers: {
17
11
  "HTTP-Referer": "https://github.com/travisennis/acai-ts",
18
12
  "X-Title": "acai",
19
13
  },
20
14
  });
21
- // const openRouterResponseClient = createOpenAI({
15
+ // const openRouterClient = createOpenAI({
22
16
  // // biome-ignore lint/style/useNamingConvention: third-party controlled
23
- // baseURL: "https://openrouter.ai/api/alpha",
17
+ // baseURL: "https://openrouter.ai/api/v1",
24
18
  // name: "openrouter",
25
19
  // apiKey: process.env["OPENROUTER_API_KEY"] ?? "",
26
20
  // headers: {
@@ -29,69 +23,33 @@ const openRouterClient = createOpenRouter({
29
23
  // },
30
24
  // });
31
25
  const openrouterModels = {
32
- "deepseek-v3-1": openRouterClient("deepseek/deepseek-v3.1-terminus:exacto", {
33
- usage: { include: true },
34
- }),
35
- "deepseek-r1": openRouterClient("deepseek/deepseek-r1-0528", {
36
- usage: { include: true },
37
- }),
38
- "gemini-flash25": openRouterClient("google/gemini-2.5-flash", {
39
- usage: { include: true },
40
- }),
41
- "gemini-pro25": openRouterClient("google/gemini-2.5-pro", {
42
- usage: { include: true },
43
- }),
44
- "sonnet-4.5": openRouterClient("anthropic/claude-sonnet-4.5", {
45
- usage: { include: true },
46
- }),
47
- "opus-4.1": openRouterClient("anthropic/claude-opus-4.1", {
48
- usage: { include: true },
49
- }),
50
- "haiku-4.5": openRouterClient("anthropic/claude-haiku-4.5", {
51
- usage: { include: true },
52
- }),
53
- "kimi-k2": openRouterClient("moonshotai/kimi-k2-0905:exacto", {
54
- usage: { include: true },
55
- }),
56
- "kimi-k2-thinking": openRouterClient("moonshotai/kimi-k2-thinking", {
57
- usage: { include: true },
58
- }),
59
- "devstral-medium": openRouterClient("mistralai/devstral-medium", {
60
- usage: { include: true },
61
- }),
62
- "qwen3-coder": openRouterClient("qwen/qwen3-coder:exacto", {
63
- usage: { include: true },
64
- }),
65
- "qwen3-coder-plus": openRouterClient("qwen/qwen3-coder-plus", {
66
- usage: { include: true },
67
- }),
68
- "qwen3-max": openRouterClient("qwen/qwen3-max", {
69
- usage: { include: true },
70
- }),
71
- "glm-4.6": openRouterClient("z-ai/glm-4.6:exacto", {
72
- usage: { include: true },
73
- }),
74
- "gpt-5": openRouterClient("openai/gpt-5", {
75
- usage: { include: true },
76
- }),
77
- "gpt-5-mini": openRouterClient("openai/gpt-5-mini", {
78
- usage: { include: true },
79
- }),
80
- "gpt-oss-120b": openRouterClient("openai/gpt-oss-120b:exacto", {
81
- usage: { include: true },
82
- }),
83
- "grok-code-fast-1": openRouterClient("x-ai/grok-code-fast-1", {
84
- usage: { include: true },
85
- }),
86
- "grok-4-fast": openRouterClient("x-ai/grok-4-fast", {
87
- usage: { include: true },
88
- }),
89
- "gpt-5-codex": openRouterClient("openai/gpt-5-codex", {
90
- usage: { include: true },
91
- }),
92
- "minimax-m2": openRouterClient("minimax/minimax-m2", {
93
- usage: { include: true },
94
- }),
26
+ "claude-3-5-sonnet": openRouterClient("anthropic/claude-3.5-sonnet"),
27
+ "deepseek-v3-2": openRouterClient("deepseek/deepseek-v3.2"),
28
+ "gemini-3-pro": openRouterClient("google/gemini-3-pro-preview"),
29
+ "glm-4-7": openRouterClient("z-ai/glm-4.7"),
30
+ "kat-coder-pro-free": openRouterClient("kwaipilot/kat-coder-pro:free"),
31
+ "minimax-m2-1": openRouterClient("minimax/minimax-m2.1"),
32
+ "sonnet-4.5": openRouterClient("anthropic/claude-sonnet-4.5"),
33
+ "opus-4.5": openRouterClient("anthropic/claude-opus-4.5"),
34
+ "haiku-4.5": openRouterClient("anthropic/claude-haiku-4.5"),
35
+ "kimi-k2": openRouterClient("moonshotai/kimi-k2-0905:exacto"),
36
+ "kimi-k2-thinking": openRouterClient("moonshotai/kimi-k2-thinking"),
37
+ "devstral-medium": openRouterClient("mistralai/devstral-medium"),
38
+ "devstral-2512-free": openRouterClient("mistralai/devstral-2512:free"),
39
+ "qwen3-coder": openRouterClient("qwen/qwen3-coder:exacto"),
40
+ "qwen3-coder-plus": openRouterClient("qwen/qwen3-coder-plus"),
41
+ "qwen3-max": openRouterClient("qwen/qwen3-max"),
42
+ "glm-4.6": openRouterClient("z-ai/glm-4.6:exacto"),
43
+ "gpt-oss-120b": openRouterClient("openai/gpt-oss-120b:exacto"),
44
+ "grok-code-fast-1": openRouterClient("x-ai/grok-code-fast-1"),
45
+ "grok-4-fast": openRouterClient("x-ai/grok-4-fast"),
46
+ "gpt-5.1": openRouterClient("openai/gpt-5.1"),
47
+ "gpt-5.1-codex": openRouterClient("openai/gpt-5.1-codex"),
48
+ "gpt-5.1-codex-mini": openRouterClient("openai/gpt-5.1-codex-mini"),
49
+ "gpt-5.1-codex-max": openRouterClient("openai/gpt-5.1-codex-max"),
50
+ "gpt-5.2": openRouterClient("openai/gpt-5.2"),
51
+ "minimax-m2": openRouterClient("minimax/minimax-m2"),
52
+ "gemini-3-flash-preview": openRouterClient("google/gemini-3-flash-preview"),
95
53
  };
96
54
  export const openrouterModelNames = objectKeys(openrouterModels).map((key) => `openrouter:${key}`);
97
55
  export const openrouterProvider = {
@@ -101,70 +59,89 @@ export const openrouterProvider = {
101
59
  }),
102
60
  };
103
61
  export const openrouterModelRegistry = {
104
- "openrouter:deepseek-r1": {
105
- id: "openrouter:deepseek-r1",
62
+ "openrouter:claude-3-5-sonnet": {
63
+ id: "openrouter:claude-3-5-sonnet",
106
64
  provider: "openrouter",
107
- contextWindow: 128000,
108
- maxOutputTokens: 32768,
109
- defaultTemperature: 0.6,
110
- promptFormat: "bracket",
111
- supportsReasoning: true,
65
+ contextWindow: 200000,
66
+ maxOutputTokens: 8192,
67
+ defaultTemperature: 0.5,
68
+ promptFormat: "markdown",
69
+ supportsReasoning: false,
112
70
  supportsToolCalling: true,
113
- costPerInputToken: 0, // Assuming free tier or unknown cost
114
- costPerOutputToken: 0, // Assuming free tier or unknown cost
115
- category: "balanced",
71
+ costPerInputToken: 0.000006,
72
+ costPerOutputToken: 0.00003,
116
73
  },
117
- "openrouter:deepseek-v3-1": {
118
- id: "openrouter:deepseek-v3-1",
74
+ "openrouter:deepseek-v3-2": {
75
+ id: "openrouter:deepseek-v3-2",
119
76
  provider: "openrouter",
120
77
  contextWindow: 163840,
121
- maxOutputTokens: 8000,
122
- defaultTemperature: 0.3,
78
+ maxOutputTokens: 16000,
79
+ defaultTemperature: 1.0,
123
80
  promptFormat: "bracket",
124
81
  supportsReasoning: true,
125
82
  supportsToolCalling: true,
126
- costPerInputToken: 0.0000002,
127
- costPerOutputToken: 0.0000008,
128
- category: "balanced",
83
+ costPerInputToken: 0.00000027,
84
+ costPerOutputToken: 0.0000004,
129
85
  },
130
- "openrouter:gemini-flash25": {
131
- id: "openrouter:gemini-flash25",
86
+ "openrouter:gemini-3-pro": {
87
+ id: "openrouter:gemini-3-pro",
132
88
  provider: "openrouter",
133
- contextWindow: 1000000,
134
- maxOutputTokens: 66000,
89
+ contextWindow: 1048576,
90
+ maxOutputTokens: 65536,
135
91
  defaultTemperature: 0.5,
136
92
  promptFormat: "markdown",
137
93
  supportsReasoning: true,
138
94
  supportsToolCalling: true,
139
- costPerInputToken: 0,
140
- costPerOutputToken: 0,
141
- category: "fast",
95
+ costPerInputToken: 0.000002,
96
+ costPerOutputToken: 0.000012,
142
97
  },
143
- "openrouter:gemini-pro25": {
144
- id: "openrouter:gemini-pro25",
98
+ "openrouter:glm-4-7": {
99
+ id: "openrouter:glm-4-7",
145
100
  provider: "openrouter",
146
- contextWindow: 1000000,
147
- maxOutputTokens: 64000,
101
+ contextWindow: 200000,
102
+ maxOutputTokens: 131072,
148
103
  defaultTemperature: 0.5,
149
104
  promptFormat: "markdown",
150
105
  supportsReasoning: true,
151
106
  supportsToolCalling: true,
107
+ costPerInputToken: 1.1e-7,
108
+ costPerOutputToken: 0.0000022,
109
+ },
110
+ "openrouter:kat-coder-pro-free": {
111
+ id: "openrouter:kat-coder-pro-free",
112
+ provider: "openrouter",
113
+ contextWindow: 256000,
114
+ maxOutputTokens: 32768,
115
+ defaultTemperature: -1,
116
+ promptFormat: "markdown",
117
+ supportsReasoning: false,
118
+ supportsToolCalling: true,
152
119
  costPerInputToken: 0,
153
120
  costPerOutputToken: 0,
154
- category: "powerful",
155
121
  },
156
- "openrouter:opus-4.1": {
157
- id: "openrouter:opus-4.1",
122
+ "openrouter:minimax-m2-1": {
123
+ id: "openrouter:minimax-m2-1",
124
+ provider: "openrouter",
125
+ contextWindow: 204800,
126
+ maxOutputTokens: 131072,
127
+ defaultTemperature: 0.5,
128
+ promptFormat: "markdown",
129
+ supportsReasoning: true,
130
+ supportsToolCalling: true,
131
+ costPerInputToken: 3e-7,
132
+ costPerOutputToken: 0.0000012,
133
+ },
134
+ "openrouter:opus-4.5": {
135
+ id: "openrouter:opus-4.5",
158
136
  provider: "openrouter",
159
137
  contextWindow: 200000,
160
138
  maxOutputTokens: 32000,
161
- defaultTemperature: 0.5,
139
+ defaultTemperature: 1.0,
162
140
  promptFormat: "markdown",
163
141
  supportsReasoning: true,
164
142
  supportsToolCalling: true,
165
- costPerInputToken: 0.000015,
166
- costPerOutputToken: 0.000075,
167
- category: "powerful",
143
+ costPerInputToken: 0.000005,
144
+ costPerOutputToken: 0.000025,
168
145
  },
169
146
  "openrouter:sonnet-4.5": {
170
147
  id: "openrouter:sonnet-4.5",
@@ -177,7 +154,6 @@ export const openrouterModelRegistry = {
177
154
  supportsToolCalling: true,
178
155
  costPerInputToken: 0.000003,
179
156
  costPerOutputToken: 0.000015,
180
- category: "powerful",
181
157
  },
182
158
  "openrouter:kimi-k2": {
183
159
  id: "openrouter:kimi-k2",
@@ -190,7 +166,6 @@ export const openrouterModelRegistry = {
190
166
  supportsToolCalling: true,
191
167
  costPerInputToken: 0.0000006,
192
168
  costPerOutputToken: 0.0000025,
193
- category: "balanced",
194
169
  },
195
170
  "openrouter:kimi-k2-thinking": {
196
171
  id: "openrouter:kimi-k2-thinking",
@@ -203,7 +178,6 @@ export const openrouterModelRegistry = {
203
178
  supportsToolCalling: true,
204
179
  costPerInputToken: 0.0000006,
205
180
  costPerOutputToken: 0.0000025,
206
- category: "powerful",
207
181
  },
208
182
  "openrouter:devstral-medium": {
209
183
  id: "openrouter:devstral-medium",
@@ -216,7 +190,18 @@ export const openrouterModelRegistry = {
216
190
  supportsToolCalling: true,
217
191
  costPerInputToken: 0.0000004,
218
192
  costPerOutputToken: 0.000002,
219
- category: "balanced",
193
+ },
194
+ "openrouter:devstral-2512-free": {
195
+ id: "openrouter:devstral-2512-free",
196
+ provider: "openrouter",
197
+ contextWindow: 262144,
198
+ maxOutputTokens: 32768,
199
+ defaultTemperature: 0.3,
200
+ promptFormat: "markdown",
201
+ supportsReasoning: false,
202
+ supportsToolCalling: true,
203
+ costPerInputToken: 0,
204
+ costPerOutputToken: 0,
220
205
  },
221
206
  "openrouter:qwen3-coder": {
222
207
  id: "openrouter:qwen3-coder",
@@ -229,7 +214,6 @@ export const openrouterModelRegistry = {
229
214
  supportsToolCalling: true,
230
215
  costPerInputToken: 0.0000004,
231
216
  costPerOutputToken: 0.000002,
232
- category: "balanced",
233
217
  },
234
218
  "openrouter:qwen3-coder-plus": {
235
219
  id: "openrouter:qwen3-coder-plus",
@@ -242,7 +226,6 @@ export const openrouterModelRegistry = {
242
226
  supportsToolCalling: true,
243
227
  costPerInputToken: 0.000001,
244
228
  costPerOutputToken: 0.000005,
245
- category: "powerful",
246
229
  },
247
230
  "openrouter:qwen3-max": {
248
231
  id: "openrouter:qwen3-max",
@@ -255,7 +238,6 @@ export const openrouterModelRegistry = {
255
238
  supportsToolCalling: true,
256
239
  costPerInputToken: 0.0000012,
257
240
  costPerOutputToken: 0.000006,
258
- category: "powerful",
259
241
  },
260
242
  "openrouter:glm-4.6": {
261
243
  id: "openrouter:glm-4.6",
@@ -268,10 +250,9 @@ export const openrouterModelRegistry = {
268
250
  supportsToolCalling: true,
269
251
  costPerInputToken: 0.0000006,
270
252
  costPerOutputToken: 0.0000022,
271
- category: "balanced",
272
253
  },
273
- "openrouter:gpt-5": {
274
- id: "openrouter:gpt-5",
254
+ "openrouter:gpt-5.1": {
255
+ id: "openrouter:gpt-5.1",
275
256
  provider: "openrouter",
276
257
  contextWindow: 400000,
277
258
  maxOutputTokens: 128000,
@@ -281,10 +262,9 @@ export const openrouterModelRegistry = {
281
262
  supportsToolCalling: true,
282
263
  costPerInputToken: 0.00000125,
283
264
  costPerOutputToken: 0.00001,
284
- category: "powerful",
285
265
  },
286
- "openrouter:gpt-5-codex": {
287
- id: "openrouter:gpt-5-codex",
266
+ "openrouter:gpt-5.1-codex": {
267
+ id: "openrouter:gpt-5.1-codex",
288
268
  provider: "openrouter",
289
269
  contextWindow: 400000,
290
270
  maxOutputTokens: 128000,
@@ -294,20 +274,30 @@ export const openrouterModelRegistry = {
294
274
  supportsToolCalling: true,
295
275
  costPerInputToken: 0.00000125,
296
276
  costPerOutputToken: 0.00001,
297
- category: "powerful",
298
277
  },
299
- "openrouter:gpt-5-mini": {
300
- id: "openrouter:gpt-5-mini",
278
+ "openrouter:gpt-5.1-codex-mini": {
279
+ id: "openrouter:gpt-5.1-codex-mini",
301
280
  provider: "openrouter",
302
- contextWindow: 200000,
303
- maxOutputTokens: 64000,
304
- defaultTemperature: 1.0,
281
+ contextWindow: 400000,
282
+ maxOutputTokens: 100000,
283
+ defaultTemperature: -1,
305
284
  promptFormat: "xml",
306
285
  supportsReasoning: true,
307
286
  supportsToolCalling: true,
308
- costPerInputToken: 0.00000015,
309
- costPerOutputToken: 0.0000006,
310
- category: "balanced",
287
+ costPerInputToken: 0.00000025,
288
+ costPerOutputToken: 0.000002,
289
+ },
290
+ "openrouter:gpt-5.1-codex-max": {
291
+ id: "openrouter:gpt-5.1-codex-max",
292
+ provider: "openrouter",
293
+ contextWindow: 400000,
294
+ maxOutputTokens: 128000,
295
+ defaultTemperature: -1,
296
+ promptFormat: "xml",
297
+ supportsReasoning: true,
298
+ supportsToolCalling: true,
299
+ costPerInputToken: 0.00000125,
300
+ costPerOutputToken: 0.00001,
311
301
  },
312
302
  "openrouter:grok-code-fast-1": {
313
303
  id: "openrouter:grok-code-fast-1",
@@ -320,7 +310,6 @@ export const openrouterModelRegistry = {
320
310
  supportsToolCalling: true,
321
311
  costPerInputToken: 0.0000002,
322
312
  costPerOutputToken: 0.0000015,
323
- category: "fast",
324
313
  },
325
314
  "openrouter:gpt-oss-120b": {
326
315
  id: "openrouter:gpt-oss-120b",
@@ -333,7 +322,6 @@ export const openrouterModelRegistry = {
333
322
  supportsToolCalling: true,
334
323
  costPerInputToken: 0.00000007256312,
335
324
  costPerOutputToken: 0.0000002903936,
336
- category: "fast",
337
325
  },
338
326
  "openrouter:grok-4-fast": {
339
327
  id: "openrouter:grok-4-fast",
@@ -346,7 +334,6 @@ export const openrouterModelRegistry = {
346
334
  supportsToolCalling: true,
347
335
  costPerInputToken: 0.0000002,
348
336
  costPerOutputToken: 0.0000005,
349
- category: "fast",
350
337
  },
351
338
  "openrouter:haiku-4.5": {
352
339
  id: "openrouter:haiku-4.5",
@@ -359,7 +346,18 @@ export const openrouterModelRegistry = {
359
346
  supportsToolCalling: true,
360
347
  costPerInputToken: 0.000001,
361
348
  costPerOutputToken: 0.000005,
362
- category: "fast",
349
+ },
350
+ "openrouter:gpt-5.2": {
351
+ id: "openrouter:gpt-5.2",
352
+ provider: "openrouter",
353
+ contextWindow: 400000,
354
+ maxOutputTokens: 128000,
355
+ defaultTemperature: 1.0,
356
+ promptFormat: "xml",
357
+ supportsReasoning: true,
358
+ supportsToolCalling: true,
359
+ costPerInputToken: 0.00000175,
360
+ costPerOutputToken: 0.000014,
363
361
  },
364
362
  "openrouter:minimax-m2": {
365
363
  id: "openrouter:minimax-m2",
@@ -372,6 +370,17 @@ export const openrouterModelRegistry = {
372
370
  supportsToolCalling: true,
373
371
  costPerInputToken: 0.00000015,
374
372
  costPerOutputToken: 0.00000045,
375
- category: "balanced",
373
+ },
374
+ "openrouter:gemini-3-flash-preview": {
375
+ id: "openrouter:gemini-3-flash-preview",
376
+ provider: "openrouter",
377
+ contextWindow: 1048576,
378
+ maxOutputTokens: 65535,
379
+ defaultTemperature: 0.5,
380
+ promptFormat: "markdown",
381
+ supportsReasoning: true,
382
+ supportsToolCalling: true,
383
+ costPerInputToken: 0.0000005,
384
+ costPerOutputToken: 0.000003,
376
385
  },
377
386
  };
@@ -1,9 +1,9 @@
1
- export declare const providers: readonly ["anthropic", "openai", "google", "groq", "deepseek", "openrouter", "xai"];
2
- export type ModelProvider = (typeof providers)[number];
3
- export declare const models: readonly ("anthropic:opus" | "anthropic:sonnet" | "anthropic:sonnet37" | "anthropic:sonnet37-token-efficient-tools" | "anthropic:sonnet37-128k" | "anthropic:sonnet35" | "anthropic:haiku" | "deepseek:deepseek-chat" | "deepseek:deepseek-reasoner" | "google:flash25lite" | "google:pro25" | "google:flash25" | "groq:kimi-k2-instruct-0905" | "openai:gpt-4.1" | "openai:o3" | "openai:o4-mini" | "openai:codex-mini" | "openrouter:gpt-5-codex" | "openrouter:gpt-5-mini" | "openrouter:gpt-5" | "openrouter:deepseek-v3-1" | "openrouter:deepseek-r1" | "openrouter:gemini-flash25" | "openrouter:gemini-pro25" | "openrouter:sonnet-4.5" | "openrouter:opus-4.1" | "openrouter:haiku-4.5" | "openrouter:kimi-k2" | "openrouter:kimi-k2-thinking" | "openrouter:devstral-medium" | "openrouter:qwen3-coder" | "openrouter:qwen3-coder-plus" | "openrouter:qwen3-max" | "openrouter:glm-4.6" | "openrouter:gpt-oss-120b" | "openrouter:grok-code-fast-1" | "openrouter:grok-4-fast" | "openrouter:minimax-m2" | "xai:grok3" | "xai:grok3-mini")[];
4
- export type ModelName = (typeof models)[number] | (`xai:${string}` & {}) | (`openai:${string}` & {}) | (`anthropic:${string}` & {}) | (`google:${string}` & {}) | (`groq:${string}` & {}) | (`deepseek:${string}` & {}) | (`openrouter:${string}` & {});
1
+ declare const providers: readonly ["anthropic", "openai", "google", "groq", "deepseek", "openrouter", "xai", "opencode"];
2
+ type ModelProvider = (typeof providers)[number];
3
+ export declare const models: readonly ("anthropic:opus" | "anthropic:sonnet" | "anthropic:sonnet37" | "anthropic:sonnet37-token-efficient-tools" | "anthropic:sonnet37-128k" | "anthropic:sonnet35" | "anthropic:haiku" | "deepseek:deepseek-chat" | "deepseek:deepseek-reasoner" | "google:flash25lite" | "google:pro25" | "google:flash25" | "groq:kimi-k2-instruct-0905" | "openai:gpt-4.1" | "openai:o3" | "openai:o4-mini" | "openai:codex-mini" | "opencode:glm-4-7" | "opencode:minimax-m2-1" | "opencode:opus-4-5" | "openrouter:gemini-3-flash-preview" | "openrouter:gpt-5.1" | "openrouter:gpt-5.1-codex-mini" | "openrouter:gpt-5.1-codex" | "openrouter:gpt-5.1-codex-max" | "openrouter:gpt-5.2" | "openrouter:glm-4-7" | "openrouter:minimax-m2-1" | "openrouter:claude-3-5-sonnet" | "openrouter:deepseek-v3-2" | "openrouter:gemini-3-pro" | "openrouter:kat-coder-pro-free" | "openrouter:sonnet-4.5" | "openrouter:opus-4.5" | "openrouter:haiku-4.5" | "openrouter:kimi-k2" | "openrouter:kimi-k2-thinking" | "openrouter:devstral-medium" | "openrouter:devstral-2512-free" | "openrouter:qwen3-coder" | "openrouter:qwen3-coder-plus" | "openrouter:qwen3-max" | "openrouter:glm-4.6" | "openrouter:gpt-oss-120b" | "openrouter:grok-code-fast-1" | "openrouter:grok-4-fast" | "openrouter:minimax-m2" | "xai:grok3" | "xai:grok3-mini")[];
4
+ export type ModelName = (typeof models)[number] | (`xai:${string}` & {}) | (`openai:${string}` & {}) | (`anthropic:${string}` & {}) | (`google:${string}` & {}) | (`groq:${string}` & {}) | (`deepseek:${string}` & {}) | (`openrouter:${string}` & {}) | (`opencode:${string}` & {});
5
5
  export declare function isSupportedModel(model: unknown): model is ModelName;
6
- export declare function languageModel(model: ModelName): import("@ai-sdk/provider").LanguageModelV2;
6
+ export declare function languageModel(model: ModelName): import("@ai-sdk/provider").LanguageModelV3;
7
7
  export interface ModelMetadata<T = ModelName> {
8
8
  id: T;
9
9
  provider: ModelProvider;
@@ -15,18 +15,8 @@ export interface ModelMetadata<T = ModelName> {
15
15
  maxOutputTokens: number;
16
16
  defaultTemperature: number;
17
17
  promptFormat: "xml" | "markdown" | "bracket";
18
- category: "fast" | "balanced" | "powerful";
19
18
  }
20
19
  export declare const modelRegistry: Record<ModelName, ModelMetadata>;
21
- export declare function getModelsByProvider(): Record<ModelProvider, ModelMetadata[]>;
22
- export declare function getModelsById(): Record<ModelName, string>;
23
- export declare function getModelInfo(modelName: ModelName): ModelMetadata | undefined;
24
- export declare function getModelsByCategory(category: "fast" | "balanced" | "powerful"): ModelMetadata[];
25
- export declare function formatModelInfo(model: ModelMetadata): string;
26
20
  export declare function isValidModel(modelName: string): modelName is ModelName;
27
- export declare function getRecommendedModels(options: {
28
- requiresTools?: boolean;
29
- requiresReasoning?: boolean;
30
- speedPriority?: boolean;
31
- }): ModelName[];
21
+ export {};
32
22
  //# sourceMappingURL=providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../source/models/providers.ts"],"names":[],"mappings":"AAsCA,eAAO,MAAM,SAAS,qFAQZ,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAYvD,eAAO,MAAM,MAAM,u/BAQT,CAAC;AAEX,MAAM,MAAM,SAAS,GACjB,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,GACvB,CAAC,OAAO,MAAM,EAAE,GAAG,EAAE,CAAC,GACtB,CAAC,UAAU,MAAM,EAAE,GAAG,EAAE,CAAC,GACzB,CAAC,aAAa,MAAM,EAAE,GAAG,EAAE,CAAC,GAC5B,CAAC,UAAU,MAAM,EAAE,GAAG,EAAE,CAAC,GACzB,CAAC,QAAQ,MAAM,EAAE,GAAG,EAAE,CAAC,GACvB,CAAC,YAAY,MAAM,EAAE,GAAG,EAAE,CAAC,GAC3B,CAAC,cAAc,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAElC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAYnE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,8CAE7C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,SAAS;IAC1C,EAAE,EAAE,CAAC,CAAC;IACN,QAAQ,EAAE,aAAa,CAAC;IAGxB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;CAC5C;AAGD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAQ1D,CAAC;AAGF,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,CAAC,CAgB5E;AAED,wBAAgB,aAAa,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CASzD;AAGD,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAE5E;AAGD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,GACzC,aAAa,EAAE,CAIjB;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE5D;AAGD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,SAAS,CAEtE;AAGD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,SAAS,EAAE,CAkBd"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../source/models/providers.ts"],"names":[],"mappings":"AA2CA,QAAA,MAAM,SAAS,iGASL,CAAC;AAEX,KAAK,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAahD,eAAO,MAAM,MAAM,qwCAST,CAAC;AAEX,MAAM,MAAM,SAAS,GACjB,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,GACvB,CAAC,OAAO,MAAM,EAAE,GAAG,EAAE,CAAC,GACtB,CAAC,UAAU,MAAM,EAAE,GAAG,EAAE,CAAC,GACzB,CAAC,aAAa,MAAM,EAAE,GAAG,EAAE,CAAC,GAC5B,CAAC,UAAU,MAAM,EAAE,GAAG,EAAE,CAAC,GACzB,CAAC,QAAQ,MAAM,EAAE,GAAG,EAAE,CAAC,GACvB,CAAC,YAAY,MAAM,EAAE,GAAG,EAAE,CAAC,GAC3B,CAAC,cAAc,MAAM,EAAE,GAAG,EAAE,CAAC,GAC7B,CAAC,YAAY,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAanE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,8CAE7C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,SAAS;IAC1C,EAAE,EAAE,CAAC,CAAC;IACN,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;CAC9C;AAGD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAS1D,CAAC;AAGF,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,SAAS,CAEtE"}
@@ -5,9 +5,10 @@ import { deepseekModelNames, deepseekModelRegistry, deepseekProvider, } from "./
5
5
  import { googleModelNames, googleModelRegistry, googleProvider, } from "./google-provider.js";
6
6
  import { groqModelNames, groqModelRegistry, groqProvider, } from "./groq-provider.js";
7
7
  import { openaiModelNames, openaiModelRegistry, openaiProvider, } from "./openai-provider.js";
8
+ import { opencodeZenModelNames, opencodeZenModelRegistry, opencodeZenProvider, } from "./opencode-zen-provider.js";
8
9
  import { openrouterModelNames, openrouterModelRegistry, openrouterProvider, } from "./openrouter-provider.js";
9
10
  import { xaiModelNames, xaiModelRegistry, xaiProvider, } from "./xai-provider.js";
10
- export const providers = [
11
+ const providers = [
11
12
  "anthropic",
12
13
  "openai",
13
14
  "google",
@@ -15,6 +16,7 @@ export const providers = [
15
16
  "deepseek",
16
17
  "openrouter",
17
18
  "xai",
19
+ "opencode",
18
20
  ];
19
21
  const registry = createProviderRegistry({
20
22
  ...anthropicProvider,
@@ -24,6 +26,7 @@ const registry = createProviderRegistry({
24
26
  ...openaiProvider,
25
27
  ...openrouterProvider,
26
28
  ...xaiProvider,
29
+ ...opencodeZenProvider,
27
30
  });
28
31
  export const models = [
29
32
  ...anthropicModelNames,
@@ -33,6 +36,7 @@ export const models = [
33
36
  ...deepseekModelNames,
34
37
  ...openrouterModelNames,
35
38
  ...xaiModelNames,
39
+ ...opencodeZenModelNames,
36
40
  ];
37
41
  export function isSupportedModel(model) {
38
42
  return (models.includes(model) ||
@@ -43,7 +47,8 @@ export function isSupportedModel(model) {
43
47
  model.startsWith("google:") ||
44
48
  model.startsWith("groq:") ||
45
49
  model.startsWith("xai:") ||
46
- model.startsWith("deepseek:"))));
50
+ model.startsWith("deepseek:") ||
51
+ model.startsWith("opencode:"))));
47
52
  }
48
53
  export function languageModel(model) {
49
54
  return registry.languageModel(model);
@@ -57,64 +62,9 @@ export const modelRegistry = {
57
62
  ...deepseekModelRegistry,
58
63
  ...openrouterModelRegistry,
59
64
  ...xaiModelRegistry,
65
+ ...opencodeZenModelRegistry,
60
66
  };
61
- // Get available models grouped by provider
62
- export function getModelsByProvider() {
63
- const result = {
64
- anthropic: [],
65
- openai: [],
66
- google: [],
67
- groq: [],
68
- deepseek: [],
69
- openrouter: [],
70
- xai: [],
71
- };
72
- for (const model of Object.values(modelRegistry)) {
73
- result[model.provider].push(model);
74
- }
75
- return result;
76
- }
77
- export function getModelsById() {
78
- const result = new Map();
79
- for (const name of models) {
80
- const langModel = registry.languageModel(name);
81
- result.set(name, langModel.modelId);
82
- }
83
- return Object.fromEntries(result);
84
- }
85
- // Get detailed information about a specific model
86
- export function getModelInfo(modelName) {
87
- return modelRegistry[modelName];
88
- }
89
- // Get models by category
90
- export function getModelsByCategory(category) {
91
- return Object.values(modelRegistry).filter((model) => model.category === category);
92
- }
93
- // Format model information for display
94
- export function formatModelInfo(model) {
95
- return `${model.id} [${model.category}] - Tools: ${model.supportsToolCalling ? "✓" : "✗"}, Reasoning: ${model.supportsReasoning ? "✓" : "✗"}`;
96
- }
97
67
  // Check if a model name is valid
98
68
  export function isValidModel(modelName) {
99
69
  return modelName in modelRegistry;
100
70
  }
101
- // Get recommended models based on task requirements
102
- export function getRecommendedModels(options) {
103
- return Object.values(modelRegistry)
104
- .filter((model) => {
105
- if (options.requiresTools && !model.supportsToolCalling) {
106
- return false;
107
- }
108
- if (options.requiresReasoning && !model.supportsReasoning) {
109
- return false;
110
- }
111
- return true;
112
- })
113
- .sort((a, b) => {
114
- if (options.speedPriority) {
115
- return a.category === "fast" ? -1 : 1;
116
- }
117
- return b.contextWindow - a.contextWindow;
118
- })
119
- .map((model) => model.id);
120
- }
@@ -1,17 +1,18 @@
1
1
  import type { ModelMetadata } from "./providers.ts";
2
2
  declare const xaiModels: {
3
- readonly grok3: import("@ai-sdk/provider").LanguageModelV2;
4
- readonly "grok3-mini": import("@ai-sdk/provider").LanguageModelV2;
3
+ readonly grok3: import("@ai-sdk/provider").LanguageModelV3;
4
+ readonly "grok3-mini": import("@ai-sdk/provider").LanguageModelV3;
5
5
  };
6
6
  type ModelName = `xai:${keyof typeof xaiModels}`;
7
7
  export declare const xaiModelNames: ModelName[];
8
8
  export declare const xaiProvider: {
9
- xai: import("@ai-sdk/provider").ProviderV2 & {
10
- languageModel(modelId: "grok3" | "grok3-mini"): import("@ai-sdk/provider").LanguageModelV2;
11
- textEmbeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV2<string>;
12
- imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV2;
13
- transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV2;
14
- speechModel(modelId: string): import("@ai-sdk/provider").SpeechModelV2;
9
+ xai: import("@ai-sdk/provider").ProviderV3 & {
10
+ languageModel(modelId: "grok3" | "grok3-mini"): import("@ai-sdk/provider").LanguageModelV3;
11
+ embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
12
+ imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
13
+ transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
14
+ rerankingModel(modelId: string): import("@ai-sdk/provider").RerankingModelV3;
15
+ speechModel(modelId: string): import("@ai-sdk/provider").SpeechModelV3;
15
16
  };
16
17
  };
17
18
  export declare const xaiModelRegistry: {
@@ -1 +1 @@
1
- {"version":3,"file":"xai-provider.d.ts","sourceRoot":"","sources":["../../source/models/xai-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQpD,QAAA,MAAM,SAAS;;;CAGL,CAAC;AAEX,KAAK,SAAS,GAAG,OAAO,MAAM,OAAO,SAAS,EAAE,CAAC;AAEjD,eAAO,MAAM,aAAa,EAAE,SAAS,EAEpC,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;CAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE;KAC5B,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;CA4B3C,CAAC"}
1
+ {"version":3,"file":"xai-provider.d.ts","sourceRoot":"","sources":["../../source/models/xai-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQpD,QAAA,MAAM,SAAS;;;CAGL,CAAC;AAEX,KAAK,SAAS,GAAG,OAAO,MAAM,OAAO,SAAS,EAAE,CAAC;AAEjD,eAAO,MAAM,aAAa,EAAE,SAAS,EAEpC,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;CAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE;KAC5B,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;CA0B3C,CAAC"}
@@ -29,7 +29,6 @@ export const xaiModelRegistry = {
29
29
  supportsToolCalling: true,
30
30
  costPerInputToken: 0.000003, // Placeholder, check official pricing
31
31
  costPerOutputToken: 0.000015, // Placeholder, check official pricing
32
- category: "balanced",
33
32
  },
34
33
  "xai:grok3-mini": {
35
34
  id: "xai:grok3-mini",
@@ -42,6 +41,5 @@ export const xaiModelRegistry = {
42
41
  supportsToolCalling: true,
43
42
  costPerInputToken: 0.0000003, // Placeholder, check official pricing
44
43
  costPerOutputToken: 0.0000005, // Placeholder, check official pricing
45
- category: "fast", // Or "fast" depending on performance
46
44
  },
47
45
  };