@travisennis/acai 0.0.11 → 0.0.13

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 (292) hide show
  1. package/README.md +5 -5
  2. package/dist/agent/index.d.ts.map +1 -1
  3. package/dist/agent/index.js +2 -5
  4. package/dist/commands/history/types.d.ts +3 -2
  5. package/dist/commands/history/types.d.ts.map +1 -1
  6. package/dist/commands/init-project/utils.d.ts +0 -1
  7. package/dist/commands/init-project/utils.d.ts.map +1 -1
  8. package/dist/commands/init-project/utils.js +1 -12
  9. package/dist/commands/manager.d.ts.map +1 -1
  10. package/dist/commands/manager.js +6 -19
  11. package/dist/commands/resources/index.d.ts.map +1 -1
  12. package/dist/commands/resources/index.js +4 -1
  13. package/dist/commands/session/index.d.ts.map +1 -1
  14. package/dist/commands/session/index.js +6 -0
  15. package/dist/commands/session/types.d.ts +1 -0
  16. package/dist/commands/session/types.d.ts.map +1 -1
  17. package/dist/commands/share/html-renderer.d.ts.map +1 -1
  18. package/dist/commands/share/html-renderer.js +54 -48
  19. package/dist/commands/tools/index.d.ts +3 -0
  20. package/dist/commands/tools/index.d.ts.map +1 -0
  21. package/dist/commands/tools/index.js +191 -0
  22. package/dist/commands/tools/templates.d.ts +6 -0
  23. package/dist/commands/tools/templates.d.ts.map +1 -0
  24. package/dist/commands/tools/templates.js +97 -0
  25. package/dist/config/index.d.ts +5 -2
  26. package/dist/config/index.d.ts.map +1 -1
  27. package/dist/config/index.js +42 -6
  28. package/dist/index.d.ts +14 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +98 -68
  31. package/dist/models/anthropic-provider.d.ts +1 -1
  32. package/dist/models/deepseek-provider.d.ts +3 -3
  33. package/dist/models/deepseek-provider.js +17 -17
  34. package/dist/models/google-provider.d.ts +2 -4
  35. package/dist/models/google-provider.d.ts.map +1 -1
  36. package/dist/models/google-provider.js +2 -17
  37. package/dist/models/groq-provider.d.ts +2 -4
  38. package/dist/models/groq-provider.d.ts.map +1 -1
  39. package/dist/models/groq-provider.js +3 -21
  40. package/dist/models/manager.d.ts +1 -10
  41. package/dist/models/manager.d.ts.map +1 -1
  42. package/dist/models/manager.js +2 -2
  43. package/dist/models/opencode-go-provider.d.ts +11 -1
  44. package/dist/models/opencode-go-provider.d.ts.map +1 -1
  45. package/dist/models/opencode-go-provider.js +130 -0
  46. package/dist/models/opencode-zen-provider.d.ts +3 -3
  47. package/dist/models/opencode-zen-provider.d.ts.map +1 -1
  48. package/dist/models/opencode-zen-provider.js +26 -32
  49. package/dist/models/openrouter-provider.d.ts +4 -15
  50. package/dist/models/openrouter-provider.d.ts.map +1 -1
  51. package/dist/models/openrouter-provider.js +26 -169
  52. package/dist/models/providers.d.ts +1 -1
  53. package/dist/models/providers.d.ts.map +1 -1
  54. package/dist/models/xai-provider.d.ts +1 -2
  55. package/dist/models/xai-provider.d.ts.map +1 -1
  56. package/dist/models/xai-provider.js +0 -13
  57. package/dist/prompts/manager.d.ts.map +1 -1
  58. package/dist/prompts/manager.js +5 -1
  59. package/dist/prompts/system-prompt.d.ts +1 -2
  60. package/dist/prompts/system-prompt.d.ts.map +1 -1
  61. package/dist/prompts/system-prompt.js +26 -15
  62. package/dist/repl/index.d.ts +28 -13
  63. package/dist/repl/index.d.ts.map +1 -1
  64. package/dist/repl/index.js +242 -305
  65. package/dist/skills/activated-tracker.d.ts +11 -0
  66. package/dist/skills/activated-tracker.d.ts.map +1 -0
  67. package/dist/skills/activated-tracker.js +16 -0
  68. package/dist/skills/index.d.ts +12 -2
  69. package/dist/skills/index.d.ts.map +1 -1
  70. package/dist/skills/index.js +127 -71
  71. package/dist/terminal/control.d.ts +1 -21
  72. package/dist/terminal/control.d.ts.map +1 -1
  73. package/dist/terminal/control.js +1 -32
  74. package/dist/terminal/formatting.d.ts +0 -33
  75. package/dist/terminal/formatting.d.ts.map +1 -1
  76. package/dist/terminal/formatting.js +0 -91
  77. package/dist/terminal/highlight/theme.d.ts +0 -37
  78. package/dist/terminal/highlight/theme.d.ts.map +1 -1
  79. package/dist/terminal/highlight/theme.js +1 -79
  80. package/dist/terminal/keys.d.ts +0 -97
  81. package/dist/terminal/keys.d.ts.map +1 -1
  82. package/dist/terminal/keys.js +0 -194
  83. package/dist/terminal/select-prompt.d.ts.map +1 -1
  84. package/dist/terminal/select-prompt.js +65 -51
  85. package/dist/terminal/style.d.ts +1 -1
  86. package/dist/terminal/style.d.ts.map +1 -1
  87. package/dist/terminal/supports-color.d.ts.map +1 -1
  88. package/dist/terminal/supports-color.js +38 -20
  89. package/dist/terminal/supports-hyperlinks.d.ts +3 -0
  90. package/dist/terminal/supports-hyperlinks.d.ts.map +1 -1
  91. package/dist/terminal/supports-hyperlinks.js +72 -31
  92. package/dist/terminal/table/layout-manager.d.ts +0 -20
  93. package/dist/terminal/table/layout-manager.d.ts.map +1 -1
  94. package/dist/terminal/table/layout-manager.js +68 -44
  95. package/dist/terminal/table/utils.d.ts +0 -1
  96. package/dist/terminal/table/utils.d.ts.map +1 -1
  97. package/dist/terminal/table/utils.js +2 -4
  98. package/dist/tools/apply-patch.d.ts +5 -3
  99. package/dist/tools/apply-patch.d.ts.map +1 -1
  100. package/dist/tools/apply-patch.js +154 -123
  101. package/dist/tools/bash.d.ts +4 -4
  102. package/dist/tools/bash.d.ts.map +1 -1
  103. package/dist/tools/bash.js +27 -13
  104. package/dist/tools/dynamic-tool-loader.d.ts +17 -3
  105. package/dist/tools/dynamic-tool-loader.d.ts.map +1 -1
  106. package/dist/tools/dynamic-tool-loader.js +360 -81
  107. package/dist/tools/edit-file.d.ts +2 -2
  108. package/dist/tools/index.d.ts +27 -151
  109. package/dist/tools/index.d.ts.map +1 -1
  110. package/dist/tools/index.js +16 -21
  111. package/dist/tools/read-file.d.ts +8 -8
  112. package/dist/tools/read-file.d.ts.map +1 -1
  113. package/dist/tools/read-file.js +32 -13
  114. package/dist/tools/save-file.d.ts +4 -4
  115. package/dist/tools/skill.d.ts +2 -1
  116. package/dist/tools/skill.d.ts.map +1 -1
  117. package/dist/tools/skill.js +64 -14
  118. package/dist/tools/types.d.ts +8 -2
  119. package/dist/tools/types.d.ts.map +1 -1
  120. package/dist/tools/web-fetch.d.ts +8 -12
  121. package/dist/tools/web-fetch.d.ts.map +1 -1
  122. package/dist/tools/web-fetch.js +86 -44
  123. package/dist/tools/web-search.d.ts +4 -8
  124. package/dist/tools/web-search.d.ts.map +1 -1
  125. package/dist/tools/web-search.js +41 -33
  126. package/dist/tui/autocomplete/utils.d.ts +0 -15
  127. package/dist/tui/autocomplete/utils.d.ts.map +1 -1
  128. package/dist/tui/autocomplete/utils.js +0 -85
  129. package/dist/tui/autocomplete.d.ts +1 -1
  130. package/dist/tui/autocomplete.d.ts.map +1 -1
  131. package/dist/tui/autocomplete.js +1 -1
  132. package/dist/tui/components/editor.d.ts +12 -0
  133. package/dist/tui/components/editor.d.ts.map +1 -1
  134. package/dist/tui/components/editor.js +181 -195
  135. package/dist/tui/components/footer.d.ts +0 -2
  136. package/dist/tui/components/footer.d.ts.map +1 -1
  137. package/dist/tui/components/footer.js +1 -17
  138. package/dist/tui/components/input.d.ts +4 -0
  139. package/dist/tui/components/input.d.ts.map +1 -1
  140. package/dist/tui/components/input.js +33 -31
  141. package/dist/tui/components/markdown.d.ts +30 -0
  142. package/dist/tui/components/markdown.d.ts.map +1 -1
  143. package/dist/tui/components/markdown.js +274 -242
  144. package/dist/tui/components/modal.d.ts.map +1 -1
  145. package/dist/tui/components/modal.js +11 -11
  146. package/dist/tui/components/select-list.d.ts +5 -0
  147. package/dist/tui/components/select-list.d.ts.map +1 -1
  148. package/dist/tui/components/select-list.js +69 -98
  149. package/dist/tui/components/table.d.ts +6 -0
  150. package/dist/tui/components/table.d.ts.map +1 -1
  151. package/dist/tui/components/table.js +61 -52
  152. package/dist/tui/index.d.ts +1 -8
  153. package/dist/tui/index.d.ts.map +1 -1
  154. package/dist/tui/index.js +0 -8
  155. package/dist/tui/tui.d.ts +9 -0
  156. package/dist/tui/tui.d.ts.map +1 -1
  157. package/dist/tui/tui.js +78 -48
  158. package/dist/tui/utils.d.ts +7 -0
  159. package/dist/tui/utils.d.ts.map +1 -1
  160. package/dist/tui/utils.js +117 -53
  161. package/dist/utils/bash.d.ts.map +1 -1
  162. package/dist/utils/bash.js +121 -104
  163. package/dist/utils/binary-output.d.ts +32 -0
  164. package/dist/utils/binary-output.d.ts.map +1 -0
  165. package/dist/utils/binary-output.js +127 -0
  166. package/dist/utils/command-protection.d.ts +3 -2
  167. package/dist/utils/command-protection.d.ts.map +1 -1
  168. package/dist/utils/command-protection.js +121 -29
  169. package/dist/utils/filesystem/operations.d.ts +0 -15
  170. package/dist/utils/filesystem/operations.d.ts.map +1 -1
  171. package/dist/utils/filesystem/operations.js +1 -38
  172. package/dist/utils/filesystem/security.d.ts.map +1 -1
  173. package/dist/utils/filesystem/security.js +22 -15
  174. package/dist/utils/filetype-detection.d.ts +0 -1
  175. package/dist/utils/filetype-detection.d.ts.map +1 -1
  176. package/dist/utils/filetype-detection.js +0 -12
  177. package/dist/utils/formatting.d.ts +0 -30
  178. package/dist/utils/formatting.d.ts.map +1 -1
  179. package/dist/utils/formatting.js +0 -44
  180. package/dist/utils/git.d.ts +4 -6
  181. package/dist/utils/git.d.ts.map +1 -1
  182. package/dist/utils/git.js +36 -46
  183. package/dist/utils/ignore.d.ts +1 -1
  184. package/dist/utils/ignore.d.ts.map +1 -1
  185. package/dist/utils/ignore.js +1 -1
  186. package/dist/utils/parsing.d.ts +1 -1
  187. package/dist/utils/parsing.d.ts.map +1 -1
  188. package/dist/utils/process.d.ts.map +1 -1
  189. package/dist/utils/process.js +77 -79
  190. package/dist/utils/yaml.d.ts +0 -1
  191. package/dist/utils/yaml.d.ts.map +1 -1
  192. package/dist/utils/yaml.js +80 -89
  193. package/dist/utils/zod.d.ts +0 -3
  194. package/dist/utils/zod.d.ts.map +1 -1
  195. package/dist/utils/zod.js +0 -7
  196. package/package.json +32 -29
  197. package/dist/agent/sub-agent.d.ts +0 -23
  198. package/dist/agent/sub-agent.d.ts.map +0 -1
  199. package/dist/agent/sub-agent.js +0 -109
  200. package/dist/commands/add-directory/index.d.ts +0 -3
  201. package/dist/commands/add-directory/index.d.ts.map +0 -1
  202. package/dist/commands/add-directory/index.js +0 -50
  203. package/dist/commands/add-directory/utils.d.ts +0 -3
  204. package/dist/commands/add-directory/utils.d.ts.map +0 -1
  205. package/dist/commands/add-directory/utils.js +0 -15
  206. package/dist/commands/clear/index.d.ts +0 -3
  207. package/dist/commands/clear/index.d.ts.map +0 -1
  208. package/dist/commands/clear/index.js +0 -13
  209. package/dist/commands/generate-rules/index.d.ts +0 -3
  210. package/dist/commands/generate-rules/index.d.ts.map +0 -1
  211. package/dist/commands/generate-rules/index.js +0 -206
  212. package/dist/commands/generate-rules/service.d.ts +0 -22
  213. package/dist/commands/generate-rules/service.d.ts.map +0 -1
  214. package/dist/commands/generate-rules/service.js +0 -103
  215. package/dist/commands/generate-rules/utils.d.ts +0 -5
  216. package/dist/commands/generate-rules/utils.d.ts.map +0 -1
  217. package/dist/commands/generate-rules/utils.js +0 -25
  218. package/dist/commands/handoff/index.d.ts +0 -3
  219. package/dist/commands/handoff/index.d.ts.map +0 -1
  220. package/dist/commands/handoff/index.js +0 -97
  221. package/dist/commands/handoff/utils.d.ts +0 -4
  222. package/dist/commands/handoff/utils.d.ts.map +0 -1
  223. package/dist/commands/handoff/utils.js +0 -123
  224. package/dist/commands/list-directories/index.d.ts +0 -3
  225. package/dist/commands/list-directories/index.d.ts.map +0 -1
  226. package/dist/commands/list-directories/index.js +0 -35
  227. package/dist/commands/pickup/index.d.ts +0 -3
  228. package/dist/commands/pickup/index.d.ts.map +0 -1
  229. package/dist/commands/pickup/index.js +0 -141
  230. package/dist/commands/pickup/types.d.ts +0 -6
  231. package/dist/commands/pickup/types.d.ts.map +0 -1
  232. package/dist/commands/pickup/types.js +0 -1
  233. package/dist/commands/pickup/utils.d.ts +0 -7
  234. package/dist/commands/pickup/utils.d.ts.map +0 -1
  235. package/dist/commands/pickup/utils.js +0 -56
  236. package/dist/commands/remove-directory/index.d.ts +0 -3
  237. package/dist/commands/remove-directory/index.d.ts.map +0 -1
  238. package/dist/commands/remove-directory/index.js +0 -55
  239. package/dist/commands/review/index.d.ts +0 -3
  240. package/dist/commands/review/index.d.ts.map +0 -1
  241. package/dist/commands/review/index.js +0 -12
  242. package/dist/commands/review/review-panel.d.ts +0 -3
  243. package/dist/commands/review/review-panel.d.ts.map +0 -1
  244. package/dist/commands/review/review-panel.js +0 -186
  245. package/dist/commands/review/utils.d.ts +0 -18
  246. package/dist/commands/review/utils.d.ts.map +0 -1
  247. package/dist/commands/review/utils.js +0 -146
  248. package/dist/commands/shell/index.d.ts +0 -3
  249. package/dist/commands/shell/index.d.ts.map +0 -1
  250. package/dist/commands/shell/index.js +0 -96
  251. package/dist/modes/manager.d.ts +0 -24
  252. package/dist/modes/manager.d.ts.map +0 -1
  253. package/dist/modes/manager.js +0 -77
  254. package/dist/modes/prompts.d.ts +0 -2
  255. package/dist/modes/prompts.d.ts.map +0 -1
  256. package/dist/modes/prompts.js +0 -142
  257. package/dist/subagents/index.d.ts +0 -16
  258. package/dist/subagents/index.d.ts.map +0 -1
  259. package/dist/subagents/index.js +0 -231
  260. package/dist/terminal/index.d.ts +0 -9
  261. package/dist/terminal/index.d.ts.map +0 -1
  262. package/dist/terminal/index.js +0 -8
  263. package/dist/tools/agent.d.ts +0 -27
  264. package/dist/tools/agent.d.ts.map +0 -1
  265. package/dist/tools/agent.js +0 -81
  266. package/dist/tools/directory-tree.d.ts +0 -28
  267. package/dist/tools/directory-tree.d.ts.map +0 -1
  268. package/dist/tools/directory-tree.js +0 -152
  269. package/dist/tools/glob.d.ts +0 -35
  270. package/dist/tools/glob.d.ts.map +0 -1
  271. package/dist/tools/glob.js +0 -159
  272. package/dist/tools/grep.d.ts +0 -100
  273. package/dist/tools/grep.d.ts.map +0 -1
  274. package/dist/tools/grep.js +0 -601
  275. package/dist/tools/ls.d.ts +0 -26
  276. package/dist/tools/ls.d.ts.map +0 -1
  277. package/dist/tools/ls.js +0 -82
  278. package/dist/tui/components/header.d.ts +0 -21
  279. package/dist/tui/components/header.d.ts.map +0 -1
  280. package/dist/tui/components/header.js +0 -63
  281. package/dist/utils/bash/parse.d.ts +0 -19
  282. package/dist/utils/bash/parse.d.ts.map +0 -1
  283. package/dist/utils/bash/parse.js +0 -223
  284. package/dist/utils/bash/quote.d.ts +0 -6
  285. package/dist/utils/bash/quote.d.ts.map +0 -1
  286. package/dist/utils/bash/quote.js +0 -23
  287. package/dist/utils/generators.d.ts +0 -3
  288. package/dist/utils/generators.d.ts.map +0 -1
  289. package/dist/utils/generators.js +0 -25
  290. package/dist/utils/glob.d.ts +0 -52
  291. package/dist/utils/glob.d.ts.map +0 -1
  292. package/dist/utils/glob.js +0 -376
@@ -25,31 +25,20 @@ const openResponses = createOpenResponses({
25
25
  });
26
26
  // Models using OpenAI-compatible API
27
27
  const openrouterModels = {
28
- "deepseek-v3-2": openRouterClient("deepseek/deepseek-v3.2"),
29
- "glm-4-7": openRouterClient("z-ai/glm-4.7"),
30
- "glm-4-7-flash": openRouterClient("z-ai/glm-4.7-flash"),
31
- "hunter-alpha": openRouterClient("openrouter/hunter-alpha"),
32
28
  "minimax-m2-5": openRouterClient("minimax/minimax-m2.5"),
33
29
  "minimax-m2-7": openRouterClient("minimax/minimax-m2.7"),
34
- "nemotron-3-super-120b-a12b-free": openRouterClient("nvidia/nemotron-3-super-120b-a12b:free"),
35
30
  "sonnet-4.5": openRouterClient("anthropic/claude-sonnet-4.5"),
36
31
  "opus-4.6": openRouterClient("anthropic/claude-opus-4.6"),
32
+ "owl-alpha": openRouterClient("openrouter/owl-alpha"),
37
33
  "haiku-4.5": openRouterClient("anthropic/claude-haiku-4.5"),
38
34
  "kimi-k2-5": openRouterClient("moonshotai/kimi-k2.5"),
39
- "qwen3-max": openRouterClient("qwen/qwen3-max"),
40
- "qwen3-max-thinking": openRouterClient("qwen/qwen3-max-thinking"),
41
- "qwen3-coder-next": openRouterClient("qwen/qwen3-coder-next"),
35
+ "kimi-k2-6": openRouterClient("moonshotai/kimi-k2.6"),
42
36
  "glm-5": openRouterClient("z-ai/glm-5"),
43
- "grok-code-fast-1": openRouterClient("x-ai/grok-code-fast-1"),
44
- "grok-4-1-fast": openRouterClient("x-ai/grok-4.1-fast"),
37
+ "glm-5-1": openRouterClient("z-ai/glm-5.1"),
45
38
  };
46
39
  // Models using Open Responses API (GPT models)
47
40
  const openResponsesModels = {
48
41
  "gpt-oss-120b": openResponses("openai/gpt-oss-120b:exacto"),
49
- "gpt-5.1-codex-mini": openResponses("openai/gpt-5.1-codex-mini"),
50
- "gpt-5.1-codex-max": openResponses("openai/gpt-5.1-codex-max"),
51
- "gpt-5.2": openResponses("openai/gpt-5.2"),
52
- "gpt-5.2-codex": openResponses("openai/gpt-5.2-codex"),
53
42
  "gpt-5-3-codex": openResponses("openai/gpt-5.3-codex"),
54
43
  };
55
44
  const allModels = { ...openrouterModels, ...openResponsesModels };
@@ -61,42 +50,6 @@ export const openrouterProvider = {
61
50
  }),
62
51
  };
63
52
  export const openrouterModelRegistry = {
64
- "openrouter:deepseek-v3-2": {
65
- id: "openrouter:deepseek-v3-2",
66
- provider: "openrouter",
67
- contextWindow: 163840,
68
- maxOutputTokens: 16000,
69
- defaultTemperature: 1.0,
70
- promptFormat: "bracket",
71
- supportsReasoning: true,
72
- supportsToolCalling: true,
73
- costPerInputToken: 0.00000027,
74
- costPerOutputToken: 0.0000004,
75
- },
76
- "openrouter:glm-4-7": {
77
- id: "openrouter:glm-4-7",
78
- provider: "openrouter",
79
- contextWindow: 200000,
80
- maxOutputTokens: 131072,
81
- defaultTemperature: 0.5,
82
- promptFormat: "markdown",
83
- supportsReasoning: true,
84
- supportsToolCalling: true,
85
- costPerInputToken: 1.1e-7,
86
- costPerOutputToken: 0.0000022,
87
- },
88
- "openrouter:glm-4-7-flash": {
89
- id: "openrouter:glm-4-7-flash",
90
- provider: "openrouter",
91
- contextWindow: 200000,
92
- maxOutputTokens: 131072,
93
- defaultTemperature: 0.5,
94
- promptFormat: "markdown",
95
- supportsReasoning: true,
96
- supportsToolCalling: true,
97
- costPerInputToken: 7e-8,
98
- costPerOutputToken: 4e-7,
99
- },
100
53
  "openrouter:minimax-m2-5": {
101
54
  id: "openrouter:minimax-m2-5",
102
55
  provider: "openrouter",
@@ -121,18 +74,6 @@ export const openrouterModelRegistry = {
121
74
  costPerInputToken: 3e-7,
122
75
  costPerOutputToken: 0.0000012,
123
76
  },
124
- "openrouter:nemotron-3-super-120b-a12b-free": {
125
- id: "openrouter:nemotron-3-super-120b-a12b-free",
126
- provider: "openrouter",
127
- contextWindow: 262144,
128
- maxOutputTokens: 16000,
129
- defaultTemperature: 0.5,
130
- promptFormat: "markdown",
131
- supportsReasoning: true,
132
- supportsToolCalling: true,
133
- costPerInputToken: 0,
134
- costPerOutputToken: 0,
135
- },
136
77
  "openrouter:opus-4.6": {
137
78
  id: "openrouter:opus-4.6",
138
79
  provider: "openrouter",
@@ -145,6 +86,18 @@ export const openrouterModelRegistry = {
145
86
  costPerInputToken: 0.000005,
146
87
  costPerOutputToken: 0.000025,
147
88
  },
89
+ "openrouter:owl-alpha": {
90
+ id: "openrouter:owl-alpha",
91
+ provider: "openrouter",
92
+ contextWindow: 1048756,
93
+ maxOutputTokens: 262144,
94
+ defaultTemperature: 0.5,
95
+ promptFormat: "markdown",
96
+ supportsReasoning: false,
97
+ supportsToolCalling: true,
98
+ costPerInputToken: 0,
99
+ costPerOutputToken: 0,
100
+ },
148
101
  "openrouter:sonnet-4.5": {
149
102
  id: "openrouter:sonnet-4.5",
150
103
  provider: "openrouter",
@@ -169,29 +122,17 @@ export const openrouterModelRegistry = {
169
122
  costPerInputToken: 6e-7,
170
123
  costPerOutputToken: 0.000003,
171
124
  },
172
- "openrouter:qwen3-max": {
173
- id: "openrouter:qwen3-max",
125
+ "openrouter:kimi-k2-6": {
126
+ id: "openrouter:kimi-k2-6",
174
127
  provider: "openrouter",
175
128
  contextWindow: 256000,
176
- maxOutputTokens: 32768,
177
- defaultTemperature: 0.55,
178
- promptFormat: "markdown",
179
- supportsReasoning: false,
180
- supportsToolCalling: true,
181
- costPerInputToken: 0.0000012,
182
- costPerOutputToken: 0.000006,
183
- },
184
- "openrouter:qwen3-max-thinking": {
185
- id: "openrouter:qwen3-max-thinking",
186
- provider: "openrouter",
187
- contextWindow: 262144,
188
129
  maxOutputTokens: 65536,
189
- defaultTemperature: 0.5,
130
+ defaultTemperature: 1.0,
190
131
  promptFormat: "markdown",
191
132
  supportsReasoning: true,
192
133
  supportsToolCalling: true,
193
- costPerInputToken: 0.0000012,
194
- costPerOutputToken: 0.000006,
134
+ costPerInputToken: 7.448e-7,
135
+ costPerOutputToken: 0.000004655,
195
136
  },
196
137
  "openrouter:glm-5": {
197
138
  id: "openrouter:glm-5",
@@ -205,53 +146,17 @@ export const openrouterModelRegistry = {
205
146
  costPerInputToken: 0.000001,
206
147
  costPerOutputToken: 0.0000032,
207
148
  },
208
- "openrouter:qwen3-coder-next": {
209
- id: "openrouter:qwen3-coder-next",
210
- provider: "openrouter",
211
- contextWindow: 262144,
212
- maxOutputTokens: 65536,
213
- defaultTemperature: -1,
214
- promptFormat: "markdown",
215
- supportsReasoning: false,
216
- supportsToolCalling: true,
217
- costPerInputToken: 0.00000007,
218
- costPerOutputToken: 0.0000003,
219
- },
220
- "openrouter:gpt-5.1-codex-mini": {
221
- id: "openrouter:gpt-5.1-codex-mini",
222
- provider: "openrouter",
223
- contextWindow: 400000,
224
- maxOutputTokens: 100000,
225
- defaultTemperature: -1,
226
- promptFormat: "xml",
227
- supportsReasoning: true,
228
- supportsToolCalling: true,
229
- costPerInputToken: 0.00000025,
230
- costPerOutputToken: 0.000002,
231
- },
232
- "openrouter:gpt-5.1-codex-max": {
233
- id: "openrouter:gpt-5.1-codex-max",
149
+ "openrouter:glm-5-1": {
150
+ id: "openrouter:glm-5-1",
234
151
  provider: "openrouter",
235
- contextWindow: 400000,
236
- maxOutputTokens: 128000,
237
- defaultTemperature: -1,
238
- promptFormat: "xml",
239
- supportsReasoning: true,
240
- supportsToolCalling: true,
241
- costPerInputToken: 0.00000125,
242
- costPerOutputToken: 0.00001,
243
- },
244
- "openrouter:grok-code-fast-1": {
245
- id: "openrouter:grok-code-fast-1",
246
- provider: "openrouter",
247
- contextWindow: 256000,
248
- maxOutputTokens: 10000,
152
+ contextWindow: 202752,
153
+ maxOutputTokens: 202752,
249
154
  defaultTemperature: 0.5,
250
155
  promptFormat: "markdown",
251
156
  supportsReasoning: true,
252
157
  supportsToolCalling: true,
253
- costPerInputToken: 0.0000002,
254
- costPerOutputToken: 0.0000015,
158
+ costPerInputToken: 0.0000014,
159
+ costPerOutputToken: 0.0000044,
255
160
  },
256
161
  "openrouter:gpt-oss-120b": {
257
162
  id: "openrouter:gpt-oss-120b",
@@ -265,18 +170,6 @@ export const openrouterModelRegistry = {
265
170
  costPerInputToken: 0.00000007256312,
266
171
  costPerOutputToken: 0.0000002903936,
267
172
  },
268
- "openrouter:grok-4-1-fast": {
269
- id: "openrouter:grok-4-1-fast",
270
- provider: "openrouter",
271
- contextWindow: 2000000,
272
- maxOutputTokens: 30000,
273
- defaultTemperature: 0.5,
274
- promptFormat: "markdown",
275
- supportsReasoning: true,
276
- supportsToolCalling: true,
277
- costPerInputToken: 0.0000002,
278
- costPerOutputToken: 0.0000005,
279
- },
280
173
  "openrouter:haiku-4.5": {
281
174
  id: "openrouter:haiku-4.5",
282
175
  provider: "openrouter",
@@ -289,42 +182,6 @@ export const openrouterModelRegistry = {
289
182
  costPerInputToken: 0.000001,
290
183
  costPerOutputToken: 0.000005,
291
184
  },
292
- "openrouter:hunter-alpha": {
293
- id: "openrouter:hunter-alpha",
294
- provider: "openrouter",
295
- contextWindow: 1048576,
296
- maxOutputTokens: 65536,
297
- defaultTemperature: 0.5,
298
- promptFormat: "markdown",
299
- supportsReasoning: true,
300
- supportsToolCalling: true,
301
- costPerInputToken: 0,
302
- costPerOutputToken: 0,
303
- },
304
- "openrouter:gpt-5.2": {
305
- id: "openrouter:gpt-5.2",
306
- provider: "openrouter",
307
- contextWindow: 400000,
308
- maxOutputTokens: 128000,
309
- defaultTemperature: 1.0,
310
- promptFormat: "xml",
311
- supportsReasoning: true,
312
- supportsToolCalling: true,
313
- costPerInputToken: 0.00000175,
314
- costPerOutputToken: 0.000014,
315
- },
316
- "openrouter:gpt-5.2-codex": {
317
- id: "openrouter:gpt-5.2-codex",
318
- provider: "openrouter",
319
- contextWindow: 400000,
320
- maxOutputTokens: 128000,
321
- defaultTemperature: -1,
322
- promptFormat: "xml",
323
- supportsReasoning: true,
324
- supportsToolCalling: true,
325
- costPerInputToken: 0.00000175,
326
- costPerOutputToken: 0.000014,
327
- },
328
185
  "openrouter:gpt-5-3-codex": {
329
186
  id: "openrouter:gpt-5-3-codex",
330
187
  provider: "openrouter",
@@ -1,6 +1,6 @@
1
1
  declare const providers: readonly ["anthropic", "openai", "google", "groq", "deepseek", "openrouter", "xai", "opencode", "opencode-go"];
2
2
  type ModelProvider = (typeof providers)[number];
3
- export declare const models: readonly ("anthropic:opus" | "anthropic:sonnet" | "anthropic:haiku" | "deepseek:deepseek-chat" | "deepseek:deepseek-reasoner" | "google:flash25lite" | "groq:kimi-k2-instruct-0905" | "openai:gpt-5.1-codex-mini" | "openai:gpt-5.2" | "openai:gpt-5.2-codex" | "opencode-go:glm-5" | "opencode-go:kimi-k2-5" | "opencode-go:minimax-m2-5" | "opencode-go:minimax-m2-7" | "opencode:gpt-5.2-codex" | "opencode:glm-5" | "opencode:minimax-m2.5" | "opencode:minimax-m2.7" | "opencode:kimi-k2-5" | "opencode:glm-4-7" | "opencode:opus-4-6" | "openrouter:gpt-5.1-codex-mini" | "openrouter:gpt-5.1-codex-max" | "openrouter:gpt-5.2" | "openrouter:gpt-5.2-codex" | "openrouter:glm-5" | "openrouter:kimi-k2-5" | "openrouter:minimax-m2-5" | "openrouter:minimax-m2-7" | "openrouter:glm-4-7" | "openrouter:gpt-oss-120b" | "openrouter:gpt-5-3-codex" | "openrouter:deepseek-v3-2" | "openrouter:glm-4-7-flash" | "openrouter:hunter-alpha" | "openrouter:nemotron-3-super-120b-a12b-free" | "openrouter:sonnet-4.5" | "openrouter:opus-4.6" | "openrouter:haiku-4.5" | "openrouter:qwen3-max" | "openrouter:qwen3-max-thinking" | "openrouter:qwen3-coder-next" | "openrouter:grok-code-fast-1" | "openrouter:grok-4-1-fast" | "xai:grok-code-fast-1" | "xai:grok-4-1-fast")[];
3
+ export declare const models: readonly ("anthropic:haiku" | "anthropic:opus" | "anthropic:sonnet" | "deepseek:deepseek-v4-flash" | "deepseek:deepseek-v4-pro" | "openai:gpt-5.1-codex-mini" | "openai:gpt-5.2" | "openai:gpt-5.2-codex" | "opencode-go:deepseek-v4-flash" | "opencode-go:deepseek-v4-pro" | "opencode-go:glm-5" | "opencode-go:minimax-m3" | "opencode-go:qwen3.6-plus" | "opencode-go:qwen3.7-plus" | "opencode-go:qwen3.7-max" | "opencode-go:glm-5-1" | "opencode-go:kimi-k2-5" | "opencode-go:kimi-k2-6" | "opencode-go:minimax-m2-5" | "opencode-go:minimax-m2-7" | "opencode-go:mimo-v2-5" | "opencode-go:mimo-v2-5-pro" | "opencode:glm-5" | "opencode:minimax-m2.5" | "opencode:minimax-m2.7" | "opencode:glm-5-1" | "opencode:kimi-k2-5" | "opencode:kimi-k2-6" | "opencode:opus-4-6" | "openrouter:glm-5" | "openrouter:glm-5-1" | "openrouter:kimi-k2-5" | "openrouter:kimi-k2-6" | "openrouter:minimax-m2-5" | "openrouter:minimax-m2-7" | "openrouter:gpt-oss-120b" | "openrouter:gpt-5-3-codex" | "openrouter:sonnet-4.5" | "openrouter:opus-4.6" | "openrouter:owl-alpha" | "openrouter:haiku-4.5" | "xai:grok-4-1-fast")[];
4
4
  export type ModelName = (typeof models)[number] | (`xai:${string}` & {}) | (`openai:${string}` & {}) | (`anthropic:${string}` & {}) | (`google:${string}` & {}) | (`groq:${string}` & {}) | (`deepseek:${string}` & {}) | (`openrouter:${string}` & {}) | (`opencode-go:${string}` & {}) | (`opencode:${string}` & {});
5
5
  export declare function isSupportedModel(model: unknown): model is ModelName;
6
6
  export declare function languageModel(model: ModelName): import("@ai-sdk/provider").LanguageModelV3;
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../source/models/providers.ts"],"names":[],"mappings":"AAgDA,QAAA,MAAM,SAAS,gHAUL,CAAC;AAEX,KAAK,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAchD,eAAO,MAAM,MAAM,otCAUT,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,eAAe,MAAM,EAAE,GAAG,EAAE,CAAC,GAC9B,CAAC,YAAY,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAcnE;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,CAU1D,CAAC;AAGF,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,SAAS,CAEtE"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../source/models/providers.ts"],"names":[],"mappings":"AAgDA,QAAA,MAAM,SAAS,gHAUL,CAAC;AAEX,KAAK,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAchD,eAAO,MAAM,MAAM,8jCAUT,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,eAAe,MAAM,EAAE,GAAG,EAAE,CAAC,GAC9B,CAAC,YAAY,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAcnE;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,CAU1D,CAAC;AAGF,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,SAAS,CAEtE"}
@@ -1,13 +1,12 @@
1
1
  import type { ModelMetadata } from "./providers.ts";
2
2
  declare const xaiModels: {
3
3
  readonly "grok-4-1-fast": import("@ai-sdk/provider").LanguageModelV3;
4
- readonly "grok-code-fast-1": import("@ai-sdk/provider").LanguageModelV3;
5
4
  };
6
5
  type ModelName = `xai:${keyof typeof xaiModels}`;
7
6
  export declare const xaiModelNames: ModelName[];
8
7
  export declare const xaiProvider: {
9
8
  xai: import("@ai-sdk/provider").ProviderV3 & {
10
- languageModel(modelId: "grok-code-fast-1" | "grok-4-1-fast"): import("@ai-sdk/provider").LanguageModelV3;
9
+ languageModel(modelId: "grok-4-1-fast"): import("@ai-sdk/provider").LanguageModelV3;
11
10
  embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
12
11
  imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
13
12
  transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
@@ -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;CA0B3C,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;;CAEL,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;CAc3C,CAAC"}
@@ -8,7 +8,6 @@ const xaiClient = createOpenAI({
8
8
  });
9
9
  const xaiModels = {
10
10
  "grok-4-1-fast": xaiClient("grok-4.1-fast"),
11
- "grok-code-fast-1": xaiClient("grok-code-fast-1"),
12
11
  };
13
12
  export const xaiModelNames = objectKeys(xaiModels).map((key) => `xai:${key}`);
14
13
  export const xaiProvider = {
@@ -30,16 +29,4 @@ export const xaiModelRegistry = {
30
29
  costPerInputToken: 0.0000002,
31
30
  costPerOutputToken: 0.0000005,
32
31
  },
33
- "xai:grok-code-fast-1": {
34
- id: "xai:grok-code-fast-1",
35
- provider: "xai",
36
- contextWindow: 256000,
37
- maxOutputTokens: 10000,
38
- defaultTemperature: -1,
39
- promptFormat: "markdown",
40
- supportsReasoning: true,
41
- supportsToolCalling: true,
42
- costPerInputToken: 0.0000002,
43
- costPerOutputToken: 0.0000015,
44
- },
45
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../source/prompts/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACrD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,IAAI,MAAM,CAAC;IACd,cAAc,IAAI,gBAAgB,CAAC;IACnC,SAAS,IAAI,OAAO,CAAC;IACrB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,UAAU,IAAI,OAAO,CAAC;IACtB,YAAY,IAAI,IAAI,CAAC;IACrB,QAAQ,IAAI,IAAI,CAAC;IACjB,oBAAoB,IAAI,MAAM,CAAC;CAChC;AAED,qBAAa,aAAc,YAAW,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAe;gBAEvB,YAAY,EAAE,YAAY;IAMtC,GAAG,CAAC,MAAM,EAAE,MAAM;IAIlB,GAAG;IAQH,cAAc,IAAI,gBAAgB;IAmBlC,OAAO,CAAC,8BAA8B;IAoBtC,SAAS;IAIT,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAInC,UAAU;IAIV,YAAY;IAIZ,QAAQ;IAKR,oBAAoB,IAAI,MAAM;CAY/B"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../source/prompts/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACrD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,IAAI,MAAM,CAAC;IACd,cAAc,IAAI,gBAAgB,CAAC;IACnC,SAAS,IAAI,OAAO,CAAC;IACrB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,UAAU,IAAI,OAAO,CAAC;IACtB,YAAY,IAAI,IAAI,CAAC;IACrB,QAAQ,IAAI,IAAI,CAAC;IACjB,oBAAoB,IAAI,MAAM,CAAC;CAChC;AAED,qBAAa,aAAc,YAAW,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAe;gBAEvB,YAAY,EAAE,YAAY;IAMtC,GAAG,CAAC,MAAM,EAAE,MAAM;IAIlB,GAAG;IAWH,cAAc,IAAI,gBAAgB;IAqBlC,OAAO,CAAC,8BAA8B;IAoBtC,SAAS;IAIT,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAInC,UAAU;IAIV,YAAY;IAIZ,QAAQ;IAKR,oBAAoB,IAAI,MAAM;CAY/B"}
@@ -17,11 +17,15 @@ export class PromptManager {
17
17
  if (isString(prompt) && prompt.trim().length > 0) {
18
18
  return prompt;
19
19
  }
20
+ if (this.hasContext()) {
21
+ return prompt ?? "";
22
+ }
20
23
  throw new Error("No prompt available.");
21
24
  }
22
25
  getUserMessage() {
23
26
  const currentPrompt = this.prompt;
24
- if (isString(currentPrompt) && currentPrompt.trim().length > 0) {
27
+ const hasPrompt = isString(currentPrompt) && currentPrompt.trim().length > 0;
28
+ if (hasPrompt || this.hasContext()) {
25
29
  let userMessage;
26
30
  if (this.hasContext()) {
27
31
  // Pass context items and the prompt string to createUserMessage
@@ -2,12 +2,11 @@ import type { CompleteToolNames } from "../tools/index.ts";
2
2
  type SystemPromptComponents = {
3
3
  core: string;
4
4
  userAgentsMd: string;
5
+ configAgentsMd: string;
5
6
  cwdAgentsMd: string;
6
7
  learnedRules: string;
7
8
  skills: string;
8
- subagents: string;
9
9
  };
10
- export declare function environmentInfo(currentWorkingDir: string, allowedDirs: string[], logsPath?: string): Promise<string>;
11
10
  type SystemPromptOptions = {
12
11
  currentWorkingDir?: string;
13
12
  allowedDirs?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../source/prompts/system-prompt.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAsCF,wBAAsB,eAAe,CACnC,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,CAAC,EAAE,MAAM,mBA+BlB;AAED,KAAK,mBAAmB,GAAG;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,sBAAsB,CAAC;CACpC,CAAC;AAKF,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAyK7B"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../source/prompts/system-prompt.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAkFF,KAAK,mBAAmB,GAAG;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,sBAAsB,CAAC;CACpC,CAAC;AAKF,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CA8K7B"}
@@ -1,29 +1,33 @@
1
1
  import { platform } from "node:os";
2
- import { config } from "../config/index.js";
2
+ import { config, parseSkillsPath } from "../config/index.js";
3
3
  import { formatSkillsForPrompt, loadSkills } from "../skills/index.js";
4
- import { formatSubagentsForPrompt, loadSubagents } from "../subagents/index.js";
5
- import { getShell } from "../terminal/index.js";
4
+ import { getShell } from "../terminal/control.js";
6
5
  import { dedent } from "../utils/dedent.js";
7
6
  import { getCurrentBranch, inGitDirectory } from "../utils/git.js";
8
7
  async function getProjectContext() {
9
8
  const agentsFiles = await config.readAgentsFiles();
10
9
  const userAgentsFile = agentsFiles.find((f) => f.path === "~/.acai/AGENTS.md");
10
+ const configAgentsFile = agentsFiles.find((f) => f.path === "~/.config/AGENTS.md");
11
11
  const cwdAgentsFile = agentsFiles.find((f) => f.path === "./AGENTS.md");
12
12
  const userRules = (userAgentsFile?.content ?? "").trim();
13
+ const configRules = (configAgentsFile?.content ?? "").trim();
13
14
  const cwdRules = (cwdAgentsFile?.content ?? "").trim();
14
15
  const learnedRules = (await config.readLearnedRulesFile()).trim();
15
16
  let result = "";
16
- if (userRules || cwdRules) {
17
+ if (userRules || configRules || cwdRules) {
17
18
  result += "## Project Context:\n\n";
18
19
  if (userRules) {
19
20
  result += `### ~/.acai/AGENTS.md\n\n<instructions>\n${userRules}\n</instructions>\n\n`;
20
21
  }
22
+ if (configRules) {
23
+ result += `### ~/.config/AGENTS.md\n\n<instructions>\n${configRules}\n</instructions>\n\n`;
24
+ }
21
25
  if (cwdRules) {
22
26
  result += `### ./AGENTS.md\n\n<instructions>\n${cwdRules}\n</instructions>\n\n`;
23
27
  }
24
28
  }
25
29
  if (learnedRules) {
26
- if (!userRules && !cwdRules) {
30
+ if (!userRules && !configRules && !cwdRules) {
27
31
  result += "## Project Rules:\n\n";
28
32
  }
29
33
  result += `### Important rules to follow\n\n${learnedRules}`;
@@ -31,11 +35,12 @@ async function getProjectContext() {
31
35
  return {
32
36
  text: result.trim(),
33
37
  userAgentsMd: userRules,
38
+ configAgentsMd: configRules,
34
39
  cwdAgentsMd: cwdRules,
35
40
  learnedRules: learnedRules,
36
41
  };
37
42
  }
38
- export async function environmentInfo(currentWorkingDir, allowedDirs, logsPath) {
43
+ async function environmentInfo(currentWorkingDir, allowedDirs, logsPath) {
39
44
  const gitDirectory = await inGitDirectory();
40
45
  let gitSection = `- **Is directory a git repo**: ${gitDirectory ? "Yes" : "No"}`;
41
46
  if (gitDirectory) {
@@ -70,16 +75,22 @@ export async function systemPrompt(options) {
70
75
  const { currentWorkingDir = DEFAULT_WORKING_DIRS, allowedDirs = DEFAULT_ALLOWED_DIR, logsPath, includeRules = true, skillsEnabled = true, minimalPrompt = true, } = options ?? {};
71
76
  const projectContextResult = includeRules
72
77
  ? await getProjectContext()
73
- : { text: "", userAgentsMd: "", cwdAgentsMd: "", learnedRules: "" };
78
+ : {
79
+ text: "",
80
+ userAgentsMd: "",
81
+ configAgentsMd: "",
82
+ cwdAgentsMd: "",
83
+ learnedRules: "",
84
+ };
74
85
  const projectContextText = projectContextResult.text;
75
86
  const environmentInfoText = await environmentInfo(currentWorkingDir, allowedDirs, logsPath);
76
87
  let skillsText = "";
77
88
  if (skillsEnabled) {
78
- const skills = await loadSkills();
89
+ const appConfig = await config.getConfig();
90
+ const skillPaths = parseSkillsPath(appConfig.skills.path);
91
+ const skills = await loadSkills(skillPaths);
79
92
  skillsText = formatSkillsForPrompt(skills.getModelInvocable());
80
93
  }
81
- const subagents = await loadSubagents();
82
- const subagentsText = formatSubagentsForPrompt(subagents);
83
94
  const corePrompt = minimalPrompt
84
95
  ? "You are acai. You are running as a coding agent in a CLI on the user's computer."
85
96
  : dedent `
@@ -165,9 +176,9 @@ You are producing plain text that will later be styled by the CLI. Follow these
165
176
  </tool_calling>
166
177
 
167
178
  <context_understanding>
168
- Grep search (grep and ripgrep) is your MAIN exploration tool.
179
+ Use Bash to run \`rg\` (ripgrep) and \`find\` for code exploration.
169
180
  - CRITICAL: Start with a broad set of queries that capture keywords based on the USER's request and provided context.
170
- - MANDATORY: Run multiple Grep searches in parallel with different patterns and variations; exact matches often miss related code.
181
+ - MANDATORY: Run multiple searches in parallel with different patterns and variations; exact matches often miss related code.
171
182
  - Keep searching new areas until you're CONFIDENT nothing important remains.
172
183
  - When you have found some relevant code, narrow your search and read the most likely important files.
173
184
  If you've performed an edit that may partially fulfill the USER's query, but you're not confident, gather more information or use more tools before ending your turn.
@@ -182,7 +193,7 @@ When gathering information about a topic, plan your searches upfront in your thi
182
193
  - Searching for different patterns (imports, usage, definitions) should happen in parallel
183
194
  - Multiple grep searches with different regex patterns should run simultaneously
184
195
  - Reading multiple files or searching different directories can be done all at once
185
- - Combining Glob with Grep for comprehensive results
196
+ - Combining \`find\` with \`rg\` for comprehensive results
186
197
  - Any information gathering where you know upfront what you're looking for
187
198
 
188
199
  And you should use parallel tool calls in many more cases beyond those listed above.
@@ -210,12 +221,12 @@ DEFAULT TO PARALLEL: Unless you have a specific reason why operations MUST be se
210
221
  const components = {
211
222
  core: `${corePrompt}\n\n${environmentInfoText}`,
212
223
  userAgentsMd: projectContextResult.userAgentsMd,
224
+ configAgentsMd: projectContextResult.configAgentsMd,
213
225
  cwdAgentsMd: projectContextResult.cwdAgentsMd,
214
226
  learnedRules: projectContextResult.learnedRules,
215
227
  skills: skillsText,
216
- subagents: subagentsText,
217
228
  };
218
- const assembledPrompt = `${corePrompt}\n${projectContextText}\n\n${environmentInfoText}${skillsText}\n\n${subagentsText}`;
229
+ const assembledPrompt = `${corePrompt}\n${projectContextText}\n\n${environmentInfoText}${skillsText}`;
219
230
  const result = { prompt: assembledPrompt, components };
220
231
  return result;
221
232
  }
@@ -4,7 +4,7 @@ import type { ConfigManager } from "../config/index.ts";
4
4
  import type { WorkspaceContext } from "../index.ts";
5
5
  import type { ModelManager } from "../models/manager.ts";
6
6
  import type { PromptManager } from "../prompts/manager.ts";
7
- import { type SessionManager } from "../sessions/manager.ts";
7
+ import type { SessionManager } from "../sessions/manager.ts";
8
8
  import type { TokenCounter } from "../tokens/counter.ts";
9
9
  import type { TokenTracker } from "../tokens/tracker.ts";
10
10
  import type { CompleteToolSet } from "../tools/index.ts";
@@ -68,8 +68,6 @@ export declare class Repl {
68
68
  private allThinkingBlocks;
69
69
  private allToolExecutions;
70
70
  private verboseMode;
71
- private modeManager;
72
- private config;
73
71
  /** Creates a new Repl instance, initializing the TUI layout and components. */
74
72
  constructor(options: ReplOptions);
75
73
  /**
@@ -83,6 +81,16 @@ export declare class Repl {
83
81
  * and agent lifecycle transitions (start, stop, error).
84
82
  */
85
83
  handle(event: AgentEvent, state: AgentState): Promise<void>;
84
+ private handleAgentStart;
85
+ private handleMessageStart;
86
+ private handleMessage;
87
+ private handleMessageEnd;
88
+ private handleToolCallLifecycle;
89
+ private handleAgentStop;
90
+ private handleAgentError;
91
+ private handleThinkingStart;
92
+ private handleThinking;
93
+ private handleThinkingEnd;
86
94
  /** Adds a user message component to the chat container. */
87
95
  private addMessageToChat;
88
96
  /**
@@ -113,6 +121,23 @@ export declare class Repl {
113
121
  * responses, and tool executions.
114
122
  */
115
123
  private reconstructSession;
124
+ /**
125
+ * Collects all tool results from tool-role messages into a map
126
+ * keyed by tool call ID.
127
+ */
128
+ private collectToolResults;
129
+ /**
130
+ * Extracts the output value string from a tool result's output field.
131
+ */
132
+ private extractToolOutputValue;
133
+ /**
134
+ * Renders a user message into the chat container.
135
+ */
136
+ private renderUserMessageFromSession;
137
+ /**
138
+ * Renders tool call execution components for an assistant message.
139
+ */
140
+ private renderToolCallsForAssistantMessage;
116
141
  /**
117
142
  * Extracts the text content from a user message,
118
143
  * handling both string and array content formats.
@@ -159,16 +184,6 @@ export declare class Repl {
159
184
  * and the TUI. Optionally triggers the exit callback.
160
185
  */
161
186
  stop(showExitMessage?: boolean): void;
162
- /**
163
- * Generates rules automatically if autoGenerateRules is enabled
164
- * and the session has messages.
165
- */
166
- private maybeGenerateRules;
167
- /**
168
- * Triggers rule generation for use before exit.
169
- * Returns a promise that resolves when rules are generated.
170
- */
171
- triggerRuleGeneration(): Promise<void>;
172
187
  }
173
188
  export {};
174
189
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/repl/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/repl/index.ts"],"names":[],"mappings":"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"}