@travisennis/acai 0.0.5 → 0.0.7

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 (421) hide show
  1. package/README.md +190 -19
  2. package/bin/acai-wrapper.js +26 -0
  3. package/dist/agent/index.d.ts +132 -0
  4. package/dist/agent/index.d.ts.map +1 -0
  5. package/dist/agent/index.js +434 -0
  6. package/dist/api/exa/index.js +1 -1
  7. package/dist/cli.d.ts +4 -1
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +67 -40
  10. package/dist/commands/add-directory-command.d.ts +3 -0
  11. package/dist/commands/add-directory-command.d.ts.map +1 -0
  12. package/dist/commands/add-directory-command.js +54 -0
  13. package/dist/commands/application-log-command.d.ts +1 -1
  14. package/dist/commands/application-log-command.d.ts.map +1 -1
  15. package/dist/commands/application-log-command.js +18 -20
  16. package/dist/commands/clear-command.d.ts +1 -1
  17. package/dist/commands/clear-command.d.ts.map +1 -1
  18. package/dist/commands/clear-command.js +7 -3
  19. package/dist/commands/compact-command.d.ts.map +1 -1
  20. package/dist/commands/compact-command.js +9 -5
  21. package/dist/commands/context-command.d.ts +3 -0
  22. package/dist/commands/context-command.d.ts.map +1 -0
  23. package/dist/commands/context-command.js +124 -0
  24. package/dist/commands/copy-command.d.ts.map +1 -1
  25. package/dist/commands/copy-command.js +14 -5
  26. package/dist/commands/edit-command.d.ts +1 -1
  27. package/dist/commands/edit-command.d.ts.map +1 -1
  28. package/dist/commands/edit-command.js +21 -34
  29. package/dist/commands/edit-prompt-command.d.ts +1 -1
  30. package/dist/commands/edit-prompt-command.d.ts.map +1 -1
  31. package/dist/commands/edit-prompt-command.js +18 -15
  32. package/dist/commands/exit-command.d.ts +1 -4
  33. package/dist/commands/exit-command.d.ts.map +1 -1
  34. package/dist/commands/exit-command.js +9 -5
  35. package/dist/commands/files-command.d.ts +1 -1
  36. package/dist/commands/files-command.d.ts.map +1 -1
  37. package/dist/commands/files-command.js +20 -16
  38. package/dist/commands/generate-rules-command.d.ts +1 -1
  39. package/dist/commands/generate-rules-command.d.ts.map +1 -1
  40. package/dist/commands/generate-rules-command.js +307 -39
  41. package/dist/commands/handoff-command.d.ts +3 -0
  42. package/dist/commands/handoff-command.d.ts.map +1 -0
  43. package/dist/commands/handoff-command.js +191 -0
  44. package/dist/commands/health-command.d.ts +1 -1
  45. package/dist/commands/health-command.d.ts.map +1 -1
  46. package/dist/commands/health-command.js +49 -27
  47. package/dist/commands/help-command.d.ts +1 -1
  48. package/dist/commands/help-command.d.ts.map +1 -1
  49. package/dist/commands/help-command.js +25 -5
  50. package/dist/commands/history-command.d.ts +3 -0
  51. package/dist/commands/history-command.d.ts.map +1 -0
  52. package/dist/commands/history-command.js +458 -0
  53. package/dist/commands/init-command.d.ts +1 -1
  54. package/dist/commands/init-command.d.ts.map +1 -1
  55. package/dist/commands/init-command.js +40 -22
  56. package/dist/commands/last-log-command.d.ts +1 -1
  57. package/dist/commands/last-log-command.d.ts.map +1 -1
  58. package/dist/commands/last-log-command.js +15 -15
  59. package/dist/commands/list-directories-command.d.ts +3 -0
  60. package/dist/commands/list-directories-command.d.ts.map +1 -0
  61. package/dist/commands/list-directories-command.js +35 -0
  62. package/dist/commands/list-tools-command.d.ts.map +1 -1
  63. package/dist/commands/list-tools-command.js +61 -21
  64. package/dist/commands/manager.d.ts +9 -4
  65. package/dist/commands/manager.d.ts.map +1 -1
  66. package/dist/commands/manager.js +64 -39
  67. package/dist/commands/model-command.d.ts.map +1 -1
  68. package/dist/commands/model-command.js +201 -66
  69. package/dist/commands/paste-command.d.ts +1 -1
  70. package/dist/commands/paste-command.d.ts.map +1 -1
  71. package/dist/commands/paste-command.js +23 -9
  72. package/dist/commands/pickup-command.d.ts +3 -0
  73. package/dist/commands/pickup-command.d.ts.map +1 -0
  74. package/dist/commands/pickup-command.js +109 -0
  75. package/dist/commands/prompt-command.d.ts +19 -1
  76. package/dist/commands/prompt-command.d.ts.map +1 -1
  77. package/dist/commands/prompt-command.js +191 -98
  78. package/dist/commands/remove-directory-command.d.ts +3 -0
  79. package/dist/commands/remove-directory-command.d.ts.map +1 -0
  80. package/dist/commands/remove-directory-command.js +55 -0
  81. package/dist/commands/reset-command.d.ts +1 -1
  82. package/dist/commands/reset-command.d.ts.map +1 -1
  83. package/dist/commands/reset-command.js +8 -5
  84. package/dist/commands/rules-command.d.ts +1 -1
  85. package/dist/commands/rules-command.d.ts.map +1 -1
  86. package/dist/commands/rules-command.js +25 -22
  87. package/dist/commands/save-command.d.ts +1 -1
  88. package/dist/commands/save-command.d.ts.map +1 -1
  89. package/dist/commands/save-command.js +8 -3
  90. package/dist/commands/shell-command.d.ts.map +1 -1
  91. package/dist/commands/shell-command.js +45 -24
  92. package/dist/commands/types.d.ts +9 -7
  93. package/dist/commands/types.d.ts.map +1 -1
  94. package/dist/commands/usage-command.d.ts +1 -1
  95. package/dist/commands/usage-command.d.ts.map +1 -1
  96. package/dist/commands/usage-command.js +18 -7
  97. package/dist/config.d.ts +21 -11
  98. package/dist/config.d.ts.map +1 -1
  99. package/dist/config.js +90 -63
  100. package/dist/execution/index.d.ts +17 -2
  101. package/dist/execution/index.d.ts.map +1 -1
  102. package/dist/execution/index.js +62 -20
  103. package/dist/formatting.d.ts +127 -0
  104. package/dist/formatting.d.ts.map +1 -1
  105. package/dist/formatting.js +201 -0
  106. package/dist/index.d.ts +7 -2
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +263 -102
  109. package/dist/logger.d.ts.map +1 -1
  110. package/dist/logger.js +47 -18
  111. package/dist/mentions.d.ts +2 -1
  112. package/dist/mentions.d.ts.map +1 -1
  113. package/dist/mentions.js +16 -1
  114. package/dist/messages.d.ts +11 -0
  115. package/dist/messages.d.ts.map +1 -1
  116. package/dist/messages.js +122 -21
  117. package/dist/middleware/cache.d.ts +3 -0
  118. package/dist/middleware/cache.d.ts.map +1 -0
  119. package/dist/middleware/cache.js +53 -0
  120. package/dist/middleware/index.d.ts +1 -0
  121. package/dist/middleware/index.d.ts.map +1 -1
  122. package/dist/middleware/index.js +1 -0
  123. package/dist/models/ai-config.d.ts +4 -2
  124. package/dist/models/ai-config.d.ts.map +1 -1
  125. package/dist/models/ai-config.js +12 -2
  126. package/dist/models/anthropic-provider.d.ts.map +1 -1
  127. package/dist/models/anthropic-provider.js +3 -67
  128. package/dist/models/deepseek-provider.d.ts.map +1 -1
  129. package/dist/models/deepseek-provider.js +0 -2
  130. package/dist/models/google-provider.d.ts.map +1 -1
  131. package/dist/models/google-provider.js +0 -3
  132. package/dist/models/groq-provider.d.ts.map +1 -1
  133. package/dist/models/groq-provider.js +0 -1
  134. package/dist/models/manager.d.ts +2 -1
  135. package/dist/models/manager.d.ts.map +1 -1
  136. package/dist/models/manager.js +26 -2
  137. package/dist/models/openai-provider.d.ts.map +1 -1
  138. package/dist/models/openai-provider.js +0 -4
  139. package/dist/models/openrouter-provider.d.ts +16 -22
  140. package/dist/models/openrouter-provider.d.ts.map +1 -1
  141. package/dist/models/openrouter-provider.js +175 -236
  142. package/dist/models/providers.d.ts +4 -14
  143. package/dist/models/providers.d.ts.map +1 -1
  144. package/dist/models/providers.js +1 -57
  145. package/dist/models/xai-provider.d.ts.map +1 -1
  146. package/dist/models/xai-provider.js +0 -2
  147. package/dist/prompts.d.ts +10 -4
  148. package/dist/prompts.d.ts.map +1 -1
  149. package/dist/prompts.js +447 -70
  150. package/dist/repl/project-status-line.d.ts +3 -0
  151. package/dist/repl/project-status-line.d.ts.map +1 -0
  152. package/dist/repl/project-status-line.js +61 -0
  153. package/dist/repl/tool-call-repair.d.ts.map +1 -1
  154. package/dist/repl/tool-call-repair.js +8 -4
  155. package/dist/repl-new.d.ts +51 -0
  156. package/dist/repl-new.d.ts.map +1 -0
  157. package/dist/repl-new.js +354 -0
  158. package/dist/skills.d.ts +20 -0
  159. package/dist/skills.d.ts.map +1 -0
  160. package/dist/skills.js +192 -0
  161. package/dist/terminal/control.d.ts +55 -0
  162. package/dist/terminal/control.d.ts.map +1 -0
  163. package/dist/terminal/control.js +109 -0
  164. package/dist/terminal/default-theme.d.ts +1 -1
  165. package/dist/terminal/default-theme.d.ts.map +1 -1
  166. package/dist/terminal/default-theme.js +24 -28
  167. package/dist/terminal/formatting.d.ts +23 -25
  168. package/dist/terminal/formatting.d.ts.map +1 -1
  169. package/dist/terminal/formatting.js +35 -52
  170. package/dist/terminal/highlight/index.d.ts.map +1 -1
  171. package/dist/terminal/highlight/index.js +3 -6
  172. package/dist/terminal/highlight/theme.d.ts.map +1 -1
  173. package/dist/terminal/highlight/theme.js +2 -6
  174. package/dist/terminal/index.d.ts +2 -94
  175. package/dist/terminal/index.d.ts.map +1 -1
  176. package/dist/terminal/index.js +2 -370
  177. package/dist/terminal/markdown.js +10 -5
  178. package/dist/terminal/select-prompt.d.ts +2 -2
  179. package/dist/terminal/select-prompt.d.ts.map +1 -1
  180. package/dist/terminal/select-prompt.js +47 -39
  181. package/dist/terminal/strip-ansi.js +4 -4
  182. package/dist/terminal/table/cell.d.ts +114 -0
  183. package/dist/terminal/table/cell.d.ts.map +1 -0
  184. package/dist/terminal/table/cell.js +407 -0
  185. package/dist/terminal/table/debug.d.ts +15 -0
  186. package/dist/terminal/table/debug.d.ts.map +1 -0
  187. package/dist/terminal/table/debug.js +32 -0
  188. package/dist/terminal/table/index.d.ts +3 -0
  189. package/dist/terminal/table/index.d.ts.map +1 -0
  190. package/dist/terminal/table/index.js +2 -0
  191. package/dist/terminal/table/layout-manager.d.ts +27 -0
  192. package/dist/terminal/table/layout-manager.d.ts.map +1 -0
  193. package/dist/terminal/table/layout-manager.js +257 -0
  194. package/dist/terminal/table/table.d.ts +9 -0
  195. package/dist/terminal/table/table.d.ts.map +1 -0
  196. package/dist/terminal/table/table.js +97 -0
  197. package/dist/terminal/table/utils.d.ts +63 -0
  198. package/dist/terminal/table/utils.d.ts.map +1 -0
  199. package/dist/terminal/table/utils.js +326 -0
  200. package/dist/tokens/threshold.d.ts +20 -0
  201. package/dist/tokens/threshold.d.ts.map +1 -0
  202. package/dist/tokens/threshold.js +67 -0
  203. package/dist/tools/advanced-edit-file.d.ts +69 -0
  204. package/dist/tools/advanced-edit-file.d.ts.map +1 -0
  205. package/dist/tools/advanced-edit-file.js +285 -0
  206. package/dist/tools/agent.d.ts +16 -5
  207. package/dist/tools/agent.d.ts.map +1 -1
  208. package/dist/tools/agent.js +86 -59
  209. package/dist/tools/bash.d.ts +23 -12
  210. package/dist/tools/bash.d.ts.map +1 -1
  211. package/dist/tools/bash.js +243 -128
  212. package/dist/tools/batch.d.ts +34 -0
  213. package/dist/tools/batch.d.ts.map +1 -0
  214. package/dist/tools/batch.js +174 -0
  215. package/dist/tools/code-interpreter.d.ts +21 -9
  216. package/dist/tools/code-interpreter.d.ts.map +1 -1
  217. package/dist/tools/code-interpreter.js +151 -134
  218. package/dist/tools/delete-file.d.ts +17 -10
  219. package/dist/tools/delete-file.d.ts.map +1 -1
  220. package/dist/tools/delete-file.js +60 -97
  221. package/dist/tools/directory-tree.d.ts +17 -12
  222. package/dist/tools/directory-tree.d.ts.map +1 -1
  223. package/dist/tools/directory-tree.js +57 -48
  224. package/dist/tools/dynamic-tool-loader.d.ts +16 -10
  225. package/dist/tools/dynamic-tool-loader.d.ts.map +1 -1
  226. package/dist/tools/dynamic-tool-loader.js +122 -130
  227. package/dist/tools/dynamic-tool-parser.d.ts +1 -0
  228. package/dist/tools/dynamic-tool-parser.d.ts.map +1 -1
  229. package/dist/tools/dynamic-tool-parser.js +1 -0
  230. package/dist/tools/edit-file.d.ts +35 -15
  231. package/dist/tools/edit-file.d.ts.map +1 -1
  232. package/dist/tools/edit-file.js +127 -114
  233. package/dist/tools/glob.d.ts +36 -0
  234. package/dist/tools/glob.d.ts.map +1 -0
  235. package/dist/tools/glob.js +154 -0
  236. package/dist/tools/grep.d.ts +73 -12
  237. package/dist/tools/grep.d.ts.map +1 -1
  238. package/dist/tools/grep.js +425 -165
  239. package/dist/tools/index.d.ts +220 -126
  240. package/dist/tools/index.d.ts.map +1 -1
  241. package/dist/tools/index.js +284 -135
  242. package/dist/tools/llm-edit-fixer.d.ts +24 -0
  243. package/dist/tools/llm-edit-fixer.d.ts.map +1 -0
  244. package/dist/tools/llm-edit-fixer.js +136 -0
  245. package/dist/tools/move-file.d.ts +19 -7
  246. package/dist/tools/move-file.d.ts.map +1 -1
  247. package/dist/tools/move-file.js +48 -34
  248. package/dist/tools/read-file.d.ts +47 -9
  249. package/dist/tools/read-file.d.ts.map +1 -1
  250. package/dist/tools/read-file.js +84 -70
  251. package/dist/tools/read-multiple-files.d.ts +17 -6
  252. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  253. package/dist/tools/read-multiple-files.js +132 -72
  254. package/dist/tools/save-file.d.ts +45 -12
  255. package/dist/tools/save-file.d.ts.map +1 -1
  256. package/dist/tools/save-file.js +76 -101
  257. package/dist/tools/think.d.ts +15 -7
  258. package/dist/tools/think.d.ts.map +1 -1
  259. package/dist/tools/think.js +34 -20
  260. package/dist/tools/types.d.ts +8 -10
  261. package/dist/tools/types.d.ts.map +1 -1
  262. package/dist/tools/types.js +9 -0
  263. package/dist/tools/utils.d.ts +14 -0
  264. package/dist/tools/utils.d.ts.map +1 -0
  265. package/dist/tools/utils.js +16 -0
  266. package/dist/tools/web-fetch.d.ts +11 -4
  267. package/dist/tools/web-fetch.d.ts.map +1 -1
  268. package/dist/tools/web-fetch.js +39 -38
  269. package/dist/tools/web-search.d.ts +15 -6
  270. package/dist/tools/web-search.d.ts.map +1 -1
  271. package/dist/tools/web-search.js +64 -31
  272. package/dist/tui/autocomplete.d.ts +44 -0
  273. package/dist/tui/autocomplete.d.ts.map +1 -0
  274. package/dist/tui/autocomplete.js +466 -0
  275. package/dist/tui/components/assistant-message.d.ts +18 -0
  276. package/dist/tui/components/assistant-message.d.ts.map +1 -0
  277. package/dist/tui/components/assistant-message.js +29 -0
  278. package/dist/tui/components/box.d.ts +20 -0
  279. package/dist/tui/components/box.d.ts.map +1 -0
  280. package/dist/tui/components/box.js +81 -0
  281. package/dist/tui/components/editor.d.ts +106 -0
  282. package/dist/tui/components/editor.d.ts.map +1 -0
  283. package/dist/tui/components/editor.js +1220 -0
  284. package/dist/tui/components/footer.d.ts +12 -0
  285. package/dist/tui/components/footer.d.ts.map +1 -0
  286. package/dist/tui/components/footer.js +209 -0
  287. package/dist/tui/components/header.d.ts +21 -0
  288. package/dist/tui/components/header.d.ts.map +1 -0
  289. package/dist/tui/components/header.js +63 -0
  290. package/dist/tui/components/input.d.ts +14 -0
  291. package/dist/tui/components/input.d.ts.map +1 -0
  292. package/dist/tui/components/input.js +122 -0
  293. package/dist/tui/components/loader.d.ts +23 -0
  294. package/dist/tui/components/loader.d.ts.map +1 -0
  295. package/dist/tui/components/loader.js +45 -0
  296. package/dist/tui/components/markdown.d.ts +106 -0
  297. package/dist/tui/components/markdown.d.ts.map +1 -0
  298. package/dist/tui/components/markdown.js +586 -0
  299. package/dist/tui/components/modal.d.ts +29 -0
  300. package/dist/tui/components/modal.d.ts.map +1 -0
  301. package/dist/tui/components/modal.js +263 -0
  302. package/dist/tui/components/progress-bar.d.ts +19 -0
  303. package/dist/tui/components/progress-bar.d.ts.map +1 -0
  304. package/dist/tui/components/progress-bar.js +78 -0
  305. package/dist/tui/components/prompt-status.d.ts +17 -0
  306. package/dist/tui/components/prompt-status.d.ts.map +1 -0
  307. package/dist/tui/components/prompt-status.js +26 -0
  308. package/dist/tui/components/select-list.d.ts +48 -0
  309. package/dist/tui/components/select-list.d.ts.map +1 -0
  310. package/dist/tui/components/select-list.js +207 -0
  311. package/dist/tui/components/spacer.d.ts +16 -0
  312. package/dist/tui/components/spacer.d.ts.map +1 -0
  313. package/dist/tui/components/spacer.js +27 -0
  314. package/dist/tui/components/table.d.ts +27 -0
  315. package/dist/tui/components/table.d.ts.map +1 -0
  316. package/dist/tui/components/table.js +125 -0
  317. package/dist/tui/components/text.d.ts +26 -0
  318. package/dist/tui/components/text.d.ts.map +1 -0
  319. package/dist/tui/components/text.js +143 -0
  320. package/dist/tui/components/thinking-block.d.ts +14 -0
  321. package/dist/tui/components/thinking-block.d.ts.map +1 -0
  322. package/dist/tui/components/thinking-block.js +33 -0
  323. package/dist/tui/components/tool-execution.d.ts +21 -0
  324. package/dist/tui/components/tool-execution.d.ts.map +1 -0
  325. package/dist/tui/components/tool-execution.js +161 -0
  326. package/dist/tui/components/user-message.d.ts +9 -0
  327. package/dist/tui/components/user-message.d.ts.map +1 -0
  328. package/dist/tui/components/user-message.js +23 -0
  329. package/dist/tui/components/welcome.d.ts +6 -0
  330. package/dist/tui/components/welcome.d.ts.map +1 -0
  331. package/dist/tui/components/welcome.js +30 -0
  332. package/dist/tui/index.d.ts +18 -0
  333. package/dist/tui/index.d.ts.map +1 -0
  334. package/dist/tui/index.js +22 -0
  335. package/dist/tui/terminal.d.ts +38 -0
  336. package/dist/tui/terminal.d.ts.map +1 -0
  337. package/dist/tui/terminal.js +94 -0
  338. package/dist/tui/tui.d.ts +69 -0
  339. package/dist/tui/tui.d.ts.map +1 -0
  340. package/dist/tui/tui.js +204 -0
  341. package/dist/tui/utils.d.ts +24 -0
  342. package/dist/tui/utils.d.ts.map +1 -0
  343. package/dist/tui/utils.js +111 -0
  344. package/dist/utils/bash.d.ts +7 -0
  345. package/dist/utils/bash.d.ts.map +1 -0
  346. package/dist/{tools/bash-utils.js → utils/bash.js} +31 -12
  347. package/dist/utils/{filesystem.d.ts → filesystem/operations.d.ts} +1 -1
  348. package/dist/utils/filesystem/operations.d.ts.map +1 -0
  349. package/dist/utils/filesystem/security.d.ts +9 -0
  350. package/dist/utils/filesystem/security.d.ts.map +1 -0
  351. package/dist/{tools/filesystem-utils.js → utils/filesystem/security.js} +93 -21
  352. package/dist/utils/funcs.d.ts +6 -0
  353. package/dist/utils/funcs.d.ts.map +1 -0
  354. package/dist/utils/funcs.js +6 -0
  355. package/dist/utils/generators.d.ts +3 -0
  356. package/dist/utils/generators.d.ts.map +1 -0
  357. package/dist/utils/generators.js +25 -0
  358. package/dist/{tools/git-utils.d.ts → utils/git.d.ts} +1 -1
  359. package/dist/utils/git.d.ts.map +1 -0
  360. package/dist/{tools/git-utils.js → utils/git.js} +0 -6
  361. package/dist/utils/glob.js +1 -1
  362. package/dist/utils/iterables.d.ts +2 -0
  363. package/dist/utils/iterables.d.ts.map +1 -0
  364. package/dist/utils/iterables.js +6 -0
  365. package/dist/utils/{zod-utils.d.ts → zod.d.ts} +1 -1
  366. package/dist/utils/zod.d.ts.map +1 -0
  367. package/package.json +21 -21
  368. package/dist/conversation-analyzer.d.ts +0 -11
  369. package/dist/conversation-analyzer.d.ts.map +0 -1
  370. package/dist/conversation-analyzer.js +0 -88
  371. package/dist/repl/display-tool-messages.d.ts +0 -4
  372. package/dist/repl/display-tool-messages.d.ts.map +0 -1
  373. package/dist/repl/display-tool-messages.js +0 -55
  374. package/dist/repl/display-tool-use.d.ts +0 -14
  375. package/dist/repl/display-tool-use.d.ts.map +0 -1
  376. package/dist/repl/display-tool-use.js +0 -63
  377. package/dist/repl/get-prompt-header.d.ts +0 -8
  378. package/dist/repl/get-prompt-header.d.ts.map +0 -1
  379. package/dist/repl/get-prompt-header.js +0 -38
  380. package/dist/repl-prompt.d.ts +0 -15
  381. package/dist/repl-prompt.d.ts.map +0 -1
  382. package/dist/repl-prompt.js +0 -147
  383. package/dist/repl.d.ts +0 -31
  384. package/dist/repl.d.ts.map +0 -1
  385. package/dist/repl.js +0 -310
  386. package/dist/terminal/checkbox-prompt.d.ts +0 -36
  387. package/dist/terminal/checkbox-prompt.d.ts.map +0 -1
  388. package/dist/terminal/checkbox-prompt.js +0 -362
  389. package/dist/terminal/editor-prompt.d.ts +0 -10
  390. package/dist/terminal/editor-prompt.d.ts.map +0 -1
  391. package/dist/terminal/editor-prompt.js +0 -61
  392. package/dist/terminal/errors.d.ts +0 -19
  393. package/dist/terminal/errors.d.ts.map +0 -1
  394. package/dist/terminal/errors.js +0 -37
  395. package/dist/terminal/input-prompt.d.ts +0 -16
  396. package/dist/terminal/input-prompt.d.ts.map +0 -1
  397. package/dist/terminal/input-prompt.js +0 -181
  398. package/dist/terminal/search-prompt.d.ts +0 -20
  399. package/dist/terminal/search-prompt.d.ts.map +0 -1
  400. package/dist/terminal/search-prompt.js +0 -279
  401. package/dist/terminal/types.d.ts +0 -35
  402. package/dist/terminal/types.d.ts.map +0 -1
  403. package/dist/terminal/types.js +0 -1
  404. package/dist/tokens/manage-output.d.ts +0 -34
  405. package/dist/tokens/manage-output.d.ts.map +0 -1
  406. package/dist/tokens/manage-output.js +0 -44
  407. package/dist/tool-executor.d.ts +0 -28
  408. package/dist/tool-executor.d.ts.map +0 -1
  409. package/dist/tool-executor.js +0 -74
  410. package/dist/tools/bash-utils.d.ts +0 -7
  411. package/dist/tools/bash-utils.d.ts.map +0 -1
  412. package/dist/tools/file-editing-utils.d.ts +0 -2
  413. package/dist/tools/file-editing-utils.d.ts.map +0 -1
  414. package/dist/tools/file-editing-utils.js +0 -135
  415. package/dist/tools/filesystem-utils.d.ts +0 -7
  416. package/dist/tools/filesystem-utils.d.ts.map +0 -1
  417. package/dist/tools/git-utils.d.ts.map +0 -1
  418. package/dist/utils/filesystem.d.ts.map +0 -1
  419. package/dist/utils/zod-utils.d.ts.map +0 -1
  420. /package/dist/utils/{filesystem.js → filesystem/operations.js} +0 -0
  421. /package/dist/utils/{zod-utils.js → zod.js} +0 -0
@@ -1,55 +0,0 @@
1
- import { logger } from "../logger.js";
2
- import { isMarkdown } from "../terminal/markdown-utils.js";
3
- import style from "../terminal/style.js";
4
- export function displayToolMessages(messages, terminal) {
5
- const isError = messages[messages.length - 1]?.event === "tool-error";
6
- const indicator = isError ? style.red.bold("●") : style.blue.bold("●");
7
- const initMessage = messages.find((m) => m.event === "tool-init")?.data ?? "Tool Execution";
8
- terminal.write(`${indicator} `);
9
- terminal.writeln(initMessage);
10
- for (const msg of messages) {
11
- switch (msg.event) {
12
- case "tool-update":
13
- handleToolUpdateMessage(msg.data, terminal);
14
- break;
15
- case "tool-completion":
16
- handleToolCompletionMessage(String(msg.data), terminal);
17
- break;
18
- case "tool-error":
19
- handleToolErrorMessage(String(msg.data), terminal);
20
- break;
21
- case "tool-init":
22
- break;
23
- default:
24
- logger.debug(`Unhandled tool message event: ${msg.event}`);
25
- break;
26
- }
27
- }
28
- terminal.lineBreak();
29
- }
30
- function handleToolUpdateMessage(data, terminal) {
31
- if (data.secondary && data.secondary.length > 0) {
32
- const content = data.secondary.join("\n");
33
- if (content.trim().length !== 0) {
34
- terminal.header(`${data.primary}`);
35
- if (isMarkdown(content)) {
36
- terminal.display(content, true);
37
- }
38
- else {
39
- terminal.write(style.green(content));
40
- terminal.lineBreak();
41
- }
42
- terminal.hr();
43
- }
44
- }
45
- else {
46
- terminal.header(`${data.primary}`);
47
- }
48
- }
49
- function handleToolCompletionMessage(data, terminal) {
50
- terminal.display(`└── ${style.bold(data)}`);
51
- }
52
- function handleToolErrorMessage(data, terminal) {
53
- terminal.write("└── ");
54
- terminal.error(data);
55
- }
@@ -1,14 +0,0 @@
1
- import type { Terminal } from "../terminal/index.ts";
2
- interface MinimalStep {
3
- toolResults: Array<{
4
- toolName: string;
5
- }>;
6
- toolCalls: Array<{
7
- toolName: string;
8
- }>;
9
- }
10
- export declare function displayToolUse(result: {
11
- steps: MinimalStep[];
12
- }, terminal: Terminal): void;
13
- export {};
14
- //# sourceMappingURL=display-tool-use.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"display-tool-use.d.ts","sourceRoot":"","sources":["../../source/repl/display-tool-use.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIrD,UAAU,WAAW;IACnB,WAAW,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,EAChC,QAAQ,EAAE,QAAQ,QA0EnB"}
@@ -1,63 +0,0 @@
1
- import style from "../terminal/style.js";
2
- export function displayToolUse(result, terminal) {
3
- const toolsCalled = [];
4
- const toolColors = new Map();
5
- const styleColors = [
6
- "red",
7
- "green",
8
- "yellow",
9
- "blue",
10
- "magenta",
11
- "cyan",
12
- "white",
13
- "gray",
14
- "redBright",
15
- "greenBright",
16
- "yellowBright",
17
- "blueBright",
18
- "magentaBright",
19
- "cyanBright",
20
- "whiteBright",
21
- "blackBright",
22
- ];
23
- terminal.writeln(style.dim(`Steps: ${result.steps.length}`));
24
- for (const step of result.steps) {
25
- let currentToolCalls = [];
26
- if (step.toolResults.length > 0) {
27
- currentToolCalls = step.toolResults;
28
- }
29
- else if (step.toolCalls.length > 0) {
30
- currentToolCalls = step.toolCalls;
31
- }
32
- for (const toolCallOrResult of currentToolCalls) {
33
- const toolName = toolCallOrResult.toolName;
34
- if (!toolColors.has(toolName)) {
35
- const availableColors = styleColors.filter((color) => !Array.from(toolColors.values()).some((c) => c === style[color]));
36
- const color = availableColors.length > 0
37
- ? (availableColors[Math.floor(Math.random() * availableColors.length)] ?? "white")
38
- : "white";
39
- toolColors.set(toolName, style[color]);
40
- }
41
- toolsCalled.push(toolName);
42
- }
43
- }
44
- if (toolsCalled.length > 0) {
45
- terminal.lineBreak();
46
- terminal.writeln(style.dim("Tools:"));
47
- for (const toolCalled of toolsCalled) {
48
- const colorFn = toolColors.get(toolCalled) ?? style.white;
49
- terminal.write(`${colorFn("██")} `);
50
- }
51
- terminal.lineBreak();
52
- const uniqueTools = new Set(toolsCalled);
53
- for (const [index, toolCalled] of Array.from(uniqueTools).entries()) {
54
- const colorFn = toolColors.get(toolCalled) ?? style.white;
55
- terminal.write(colorFn(toolCalled));
56
- if (index < new Set(toolsCalled).size - 1) {
57
- terminal.write(" - ");
58
- }
59
- }
60
- terminal.lineBreak();
61
- terminal.lineBreak();
62
- }
63
- }
@@ -1,8 +0,0 @@
1
- import type { Terminal } from "../terminal/index.ts";
2
- export declare function getPromptHeader(args: {
3
- terminal: Terminal;
4
- modelId: string;
5
- contextWindow: number;
6
- currentContextWindow: number;
7
- }): Promise<void>;
8
- //# sourceMappingURL=get-prompt-header.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-prompt-header.d.ts","sourceRoot":"","sources":["../../source/repl/get-prompt-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAuCrD,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhB"}
@@ -1,38 +0,0 @@
1
- import style from "../terminal/style.js";
2
- import { getCurrentBranch, getDiffStat, getGitStatus, hasUncommittedChanges, inGitDirectory, } from "../tools/git-utils.js";
3
- async function getProjectStatusLine() {
4
- const currentDir = process.cwd().split("/").pop() || process.cwd();
5
- const branch = await getCurrentBranch();
6
- let gitStatus = "";
7
- if (branch) {
8
- const hasChanges = await hasUncommittedChanges();
9
- const asterisk = hasChanges ? "*" : "";
10
- gitStatus = ` ${style.gray(branch + asterisk)}`;
11
- }
12
- if (await inGitDirectory()) {
13
- const stats = await getDiffStat();
14
- const fileChanges = await getGitStatus();
15
- let fileStatus = "";
16
- if (fileChanges.added)
17
- fileStatus += ` +${fileChanges.added}`;
18
- if (fileChanges.modified)
19
- fileStatus += ` ~${fileChanges.modified}`;
20
- if (fileChanges.deleted)
21
- fileStatus += ` -${fileChanges.deleted}`;
22
- if (fileChanges.untracked)
23
- fileStatus += ` ?${fileChanges.untracked}`;
24
- gitStatus +=
25
- " " +
26
- `${style.dim("[")}${style.yellow(fileStatus.trim())} ` +
27
- `${style.green(`+${stats.insertions}`)} ` +
28
- `${style.red(`-${stats.deletions}`)}${style.dim("]")}`;
29
- }
30
- return `${style.blue(currentDir)}${gitStatus}`;
31
- }
32
- export async function getPromptHeader(args) {
33
- const { terminal, modelId, contextWindow, currentContextWindow } = args;
34
- terminal.hr();
35
- terminal.writeln(await getProjectStatusLine());
36
- terminal.writeln(style.dim(modelId));
37
- terminal.displayProgressBar(currentContextWindow, contextWindow);
38
- }
@@ -1,15 +0,0 @@
1
- import type { CommandManager } from "./commands/manager.ts";
2
- export declare class ReplPrompt {
3
- private keypressListener?;
4
- private rl;
5
- private history;
6
- private maxHistory;
7
- constructor({ commands, history, }: {
8
- commands: CommandManager;
9
- history: string[];
10
- });
11
- input(): Promise<string>;
12
- close(): void;
13
- [Symbol.dispose](): void;
14
- }
15
- //# sourceMappingURL=repl-prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repl-prompt.d.ts","sourceRoot":"","sources":["../source/repl-prompt.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAyD5D,qBAAa,UAAU;IAErB,OAAO,CAAC,gBAAgB,CAAC,CAAkC;IAC3D,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,UAAU,CAAM;gBAEZ,EACV,QAAQ,EACR,OAAO,GACR,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IA4F5C,KAAK;IAoBX,KAAK;IAQL,CAAC,MAAM,CAAC,OAAO,CAAC;CAGjB"}
@@ -1,147 +0,0 @@
1
- import { readdir } from "node:fs/promises";
2
- import { parse, sep } from "node:path";
3
- import { createInterface } from "node:readline/promises";
4
- import Clipboard from "@crosscopy/clipboard";
5
- import { asyncTry } from "@travisennis/stdlib/try";
6
- import { logger } from "./logger.js";
7
- const whitespaceRegex = /\s+/;
8
- async function fileSystemCompleter(line) {
9
- try {
10
- const words = line.split(" ");
11
- let last = words.at(-1);
12
- if (!last) {
13
- return [[], line];
14
- }
15
- const isAt = last.startsWith("@");
16
- if (isAt) {
17
- last = last.slice(1);
18
- }
19
- let { dir, base } = parse(last);
20
- // If dir is empty, use current directory
21
- if (!dir) {
22
- dir = ".";
23
- }
24
- let tryAttempt = await asyncTry(readdir(dir, { withFileTypes: true }));
25
- if (tryAttempt.isFailure) {
26
- tryAttempt = await asyncTry(readdir(".", { withFileTypes: true }));
27
- }
28
- let dirEntries = tryAttempt.unwrap();
29
- // for an exact match that is a directory, read the contents of the directory
30
- if (dirEntries.find((entry) => entry.name === base && entry.isDirectory())) {
31
- dir = dir === "/" || dir === sep ? `${dir}${base}` : `${dir}/${base}`;
32
- dirEntries = await readdir(dir, { withFileTypes: true });
33
- base = "";
34
- }
35
- else {
36
- dirEntries = dirEntries.filter((entry) => entry.name.startsWith(base));
37
- }
38
- const hits = dirEntries
39
- .filter((entry) => entry.isFile() || entry.isDirectory())
40
- .map((entry) => {
41
- const prefix = dir === "." ? "" : dir === sep || dir === "/" ? "" : `${dir}/`;
42
- return `${isAt ? "@" : ""}${prefix}${entry.name}${entry.isDirectory() && !entry.name.endsWith("/") ? "/" : ""}`;
43
- });
44
- return [hits, `${isAt ? "@" : ""}${last}`];
45
- }
46
- catch (_error) {
47
- logger.error(_error);
48
- return [[], line];
49
- }
50
- }
51
- export class ReplPrompt {
52
- // biome-ignore lint/suspicious/noExplicitAny: Keypress listener signature
53
- keypressListener;
54
- rl;
55
- history;
56
- maxHistory = 25;
57
- constructor({ commands, history, }) {
58
- this.history = history;
59
- this.rl = createInterface({
60
- input: process.stdin,
61
- output: process.stdout,
62
- history: this.history,
63
- historySize: this.maxHistory,
64
- completer: async (line) => {
65
- const completions = commands.getCommands();
66
- const words = line.trim().split(whitespaceRegex);
67
- const firstWord = words[0] ?? "";
68
- const rest = words.slice(1).join(" ") ?? "";
69
- const matchingCommands = completions.filter((c) => c.startsWith(firstWord));
70
- if (matchingCommands.length === 1 && rest !== "") {
71
- // Single command matched, try to get subcommands
72
- const subCompletions = await commands.getSubCommands(matchingCommands[0] ?? "");
73
- const hits = subCompletions.filter((sc) => sc.startsWith(rest) || rest === "*");
74
- if (hits.length > 0) {
75
- return [hits.map((h) => `${firstWord} ${h}`), line];
76
- }
77
- }
78
- if (matchingCommands.length > 0 &&
79
- (words.length === 1 || line.endsWith(" "))) {
80
- return [matchingCommands, line];
81
- }
82
- return fileSystemCompleter(line); // [completions, line];
83
- },
84
- });
85
- if (process.stdin.isTTY) {
86
- this.keypressListener = async (_str, key) => {
87
- // if (this.rl.closed) {
88
- // if (this.keypressListener) {
89
- // process.stdin.off("keypress", this.keypressListener);
90
- // this.keypressListener = undefined;
91
- // }
92
- // return;
93
- // }
94
- if (key?.ctrl && key.name === "v" && !key.meta && !key.shift) {
95
- try {
96
- const clipboardText = await Clipboard.getText();
97
- if (clipboardText) {
98
- const currentLine = this.rl.line;
99
- const cursorPos = this.rl.cursor;
100
- const beforeCursor = currentLine.substring(0, cursorPos);
101
- const afterCursor = currentLine.substring(cursorPos);
102
- const newLine = beforeCursor + clipboardText + afterCursor;
103
- // biome-ignore lint/suspicious/noExplicitAny: Accessing internal readline method
104
- this.rl.line = newLine;
105
- // biome-ignore lint/suspicious/noExplicitAny: Accessing internal readline method
106
- this.rl.cursor = cursorPos + clipboardText.length;
107
- // biome-ignore lint/suspicious/noExplicitAny: Accessing internal readline method
108
- this.rl._refreshLine();
109
- }
110
- }
111
- catch (error) {
112
- logger.error(`Failed to paste from clipboard: ${error.message}`);
113
- }
114
- }
115
- };
116
- process.stdin.on("keypress", this.keypressListener);
117
- }
118
- }
119
- async input() {
120
- const input = await this.rl.question("> ");
121
- // The readline interface automatically adds the input to the history.
122
- // We need to handle two things:
123
- // 1. Don't save empty lines.
124
- // 2. Enforce max history size.
125
- if (!input.trim()) {
126
- // Last entry was this empty input, so remove it.
127
- this.history.pop();
128
- }
129
- else {
130
- // A valid command was added. Trim history if needed.
131
- while (this.history.length > this.maxHistory) {
132
- this.history.shift();
133
- }
134
- }
135
- return input;
136
- }
137
- close() {
138
- if (this.keypressListener) {
139
- process.stdin.off("keypress", this.keypressListener);
140
- this.keypressListener = undefined;
141
- }
142
- this.rl.close();
143
- }
144
- [Symbol.dispose]() {
145
- this.close();
146
- }
147
- }
package/dist/repl.d.ts DELETED
@@ -1,31 +0,0 @@
1
- import type { CommandManager } from "./commands/manager.ts";
2
- import type { MessageHistory } from "./messages.ts";
3
- import type { ModelManager } from "./models/manager.js";
4
- import type { PromptManager } from "./prompts/manager.ts";
5
- import type { Terminal } from "./terminal/index.ts";
6
- import type { TokenCounter } from "./tokens/counter.ts";
7
- import type { TokenTracker } from "./tokens/tracker.ts";
8
- import type { ToolExecutor } from "./tool-executor.ts";
9
- import type { Message } from "./tools/types.ts";
10
- interface ReplOptions {
11
- messageHistory: MessageHistory;
12
- promptManager: PromptManager;
13
- modelManager: ModelManager;
14
- tokenTracker: TokenTracker;
15
- terminal: Terminal;
16
- commands: CommandManager;
17
- config: Record<PropertyKey, unknown>;
18
- tokenCounter: TokenCounter;
19
- toolEvents: Map<string, Message[]>;
20
- showLastMessage: boolean;
21
- toolExecutor?: ToolExecutor;
22
- promptHistory: string[];
23
- }
24
- export declare class Repl {
25
- private options;
26
- private showLastMessage;
27
- constructor(options: ReplOptions);
28
- run(): Promise<void>;
29
- }
30
- export {};
31
- //# sourceMappingURL=repl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../source/repl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAO1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,UAAU,WAAW;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,qBAAa,IAAI;IACf,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,eAAe,CAAU;gBAErB,OAAO,EAAE,WAAW;IAK1B,GAAG;CAwVV"}