@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
@@ -67,10 +67,14 @@ function findLastEnabledIndex(choices) {
67
67
  }
68
68
  return choices.length - 1;
69
69
  }
70
- function render(choices, pointerIndex, pageStart, pageSize, prompt, typed) {
70
+ function render(choices, pointerIndex, pageStart, pageSize, prompt, typed, totalChoices) {
71
71
  const visible = choices.slice(pageStart, pageStart + pageSize);
72
72
  const lines = [];
73
- lines.push(`${prompt}${typed ? ` (search: ${typed})` : ""}`);
73
+ const searchInfo = typed ? ` (search: ${typed})` : "";
74
+ const filterInfo = typed && choices.length !== totalChoices
75
+ ? ` [${choices.length}/${totalChoices}]`
76
+ : "";
77
+ lines.push(`${prompt}${searchInfo}${filterInfo}`);
74
78
  for (let i = 0; i < visible.length; i++) {
75
79
  const actualIndex = pageStart + i;
76
80
  const ch = visible[i];
@@ -110,13 +114,20 @@ export async function select({ message = "Select", choices, initial = 0, pageSiz
110
114
  if (!stdin.isTTY)
111
115
  throw new Error("TTY required");
112
116
  let searchBuffer = "";
113
- let searchTimer = null;
114
- const resetSearchBuffer = () => {
117
+ const searchTimer = null;
118
+ let filteredChoices = [...normalized];
119
+ const clearSearchBuffer = () => {
120
+ searchBuffer = "";
121
+ filteredChoices = [...normalized];
122
+ // Reset pointer to first enabled choice when clearing search
123
+ pointer = findFirstEnabledIndex(filteredChoices);
124
+ pageStart = updatePageStart(pointer, pageSize, filteredChoices.length);
125
+ renderToScreen();
126
+ };
127
+ const resetSearchTimer = () => {
115
128
  if (searchTimer)
116
129
  clearTimeout(searchTimer);
117
- searchTimer = setTimeout(() => {
118
- searchBuffer = "";
119
- }, 800);
130
+ // Don't auto-clear the search buffer - let user clear it explicitly
120
131
  };
121
132
  let previousOutputLines = 0;
122
133
  function clearPreviousOutput(lineCount) {
@@ -129,30 +140,26 @@ export async function select({ message = "Select", choices, initial = 0, pageSiz
129
140
  stdout.write(ANSI.moveToStart);
130
141
  stdout.write(ANSI.clearFromCursor);
131
142
  clearPreviousOutput(previousOutputLines);
132
- const out = render(normalized, pointer, pageStart, pageSize, message, searchBuffer);
143
+ const out = render(filteredChoices, pointer, pageStart, pageSize, message, searchBuffer, normalized.length);
133
144
  previousOutputLines = out.split("\n").length;
134
145
  stdout.write(`${out}\n`);
135
146
  }
136
147
  function move(delta) {
137
- pointer = findNextEnabledIndex(normalized, pointer, delta);
138
- pageStart = updatePageStart(pointer, pageSize, normalized.length);
148
+ pointer = findNextEnabledIndex(filteredChoices, pointer, delta);
149
+ pageStart = updatePageStart(pointer, pageSize, filteredChoices.length);
139
150
  renderToScreen();
140
151
  }
141
- function jumpToIndexStartingWith(prefix) {
142
- const start = (pointer + 1) % normalized.length;
143
- const lowerPref = prefix.toLowerCase();
144
- for (let i = 0; i < normalized.length; i++) {
145
- const idx = (start + i) % normalized.length;
146
- if (normalized[idx].disabled)
147
- continue;
148
- if (normalized[idx].name.toLowerCase().startsWith(lowerPref)) {
149
- pointer = idx;
150
- pageStart = updatePageStart(pointer, pageSize, normalized.length);
151
- renderToScreen();
152
- return true;
153
- }
152
+ function filterChoices(search) {
153
+ if (!search) {
154
+ filteredChoices = [...normalized];
154
155
  }
155
- return false;
156
+ else {
157
+ const lowerSearch = search.toLowerCase();
158
+ filteredChoices = normalized.filter((choice) => choice.name.toLowerCase().includes(lowerSearch));
159
+ }
160
+ // Reset pointer to first enabled choice
161
+ pointer = findFirstEnabledIndex(filteredChoices);
162
+ pageStart = updatePageStart(pointer, pageSize, filteredChoices.length);
156
163
  }
157
164
  return new Promise((resolve, reject) => {
158
165
  let resolved = false;
@@ -192,7 +199,7 @@ export async function select({ message = "Select", choices, initial = 0, pageSiz
192
199
  }
193
200
  if (key === Keys.enter || key === Keys.newline) {
194
201
  cleanup();
195
- const chosen = normalized[pointer];
202
+ const chosen = filteredChoices[pointer];
196
203
  stdout.write("\n");
197
204
  resolve(chosen.value);
198
205
  return;
@@ -206,35 +213,34 @@ export async function select({ message = "Select", choices, initial = 0, pageSiz
206
213
  return;
207
214
  }
208
215
  if (key === Keys.home || key === Keys.homeAlt) {
209
- pointer = findFirstEnabledIndex(normalized);
210
- pageStart = updatePageStart(pointer, pageSize, normalized.length);
216
+ pointer = findFirstEnabledIndex(filteredChoices);
217
+ pageStart = updatePageStart(pointer, pageSize, filteredChoices.length);
211
218
  renderToScreen();
212
219
  return;
213
220
  }
214
221
  if (key === Keys.end || key === Keys.endAlt) {
215
- pointer = findLastEnabledIndex(normalized);
216
- pageStart = updatePageStart(pointer, pageSize, normalized.length);
222
+ pointer = findLastEnabledIndex(filteredChoices);
223
+ pageStart = updatePageStart(pointer, pageSize, filteredChoices.length);
217
224
  renderToScreen();
218
225
  return;
219
226
  }
220
227
  if (key === Keys.backspace || key === Keys.backspaceAlt) {
221
228
  if (searchBuffer.length > 0) {
222
229
  searchBuffer = searchBuffer.slice(0, -1);
223
- if (searchBuffer.length === 0)
224
- resetSearchBuffer();
225
- renderToScreen();
230
+ if (searchBuffer.length === 0) {
231
+ clearSearchBuffer();
232
+ }
233
+ else {
234
+ filterChoices(searchBuffer);
235
+ renderToScreen();
236
+ }
226
237
  }
227
238
  return;
228
239
  }
229
240
  if (key && key >= " " && key <= "~") {
230
241
  searchBuffer += key;
231
- resetSearchBuffer();
232
- const found = jumpToIndexStartingWith(searchBuffer);
233
- if (!found) {
234
- searchBuffer = key;
235
- resetSearchBuffer();
236
- jumpToIndexStartingWith(searchBuffer);
237
- }
242
+ resetSearchTimer();
243
+ filterChoices(searchBuffer);
238
244
  renderToScreen();
239
245
  return;
240
246
  }
@@ -244,6 +250,8 @@ export async function select({ message = "Select", choices, initial = 0, pageSiz
244
250
  stdin.resume();
245
251
  stdin.setEncoding("utf8");
246
252
  stdout.write(ANSI.hideCursor);
253
+ // Reset previous output lines counter to ensure clean start
254
+ previousOutputLines = 0;
247
255
  renderToScreen();
248
256
  stdin.on("data", onData);
249
257
  const exitHandler = () => {
@@ -1,11 +1,11 @@
1
1
  // Inline from sindresorhus/strip-ansi v7.1.0
2
2
  const ansiRegex = ({ onlyFirst = false } = {}) => {
3
- // Valid string terminator sequences are BEL, ESC\, and 0x9c
4
- const St = "(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)";
3
+ // Valid string terminator sequences are BEL, ESC\\, and 0x9c
4
+ const St = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
5
5
  // OSC sequences only: ESC ] ... ST (non-greedy until the first ST)
6
- const osc = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${St})`;
6
+ const osc = `(?:\\u001B\\][\\s\\S]*?${St})`;
7
7
  // CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte
8
- const csi = "[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=&gt;~]";
8
+ const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
9
9
  const pattern = `${osc}|${csi}`;
10
10
  return new RegExp(pattern, onlyFirst ? undefined : "g");
11
11
  };
@@ -0,0 +1,114 @@
1
+ import { type CellOptions, type CharName, type HorizontalAlignment, type TableInstanceOptions, type VerticalAlignment } from "./utils.ts";
2
+ export declare class Cell {
3
+ options: CellOptions;
4
+ content: string;
5
+ colSpan: number;
6
+ rowSpan: number;
7
+ x: number | null;
8
+ y: number | null;
9
+ chars: Record<CharName, string>;
10
+ truncate: string;
11
+ paddingLeft: number;
12
+ paddingRight: number;
13
+ head: string[];
14
+ border: string[];
15
+ fixedWidth: number | null;
16
+ lines: string[];
17
+ desiredWidth: number;
18
+ desiredHeight: number;
19
+ widths: number[];
20
+ heights: number[];
21
+ width: number;
22
+ height: number;
23
+ hAlign: HorizontalAlignment;
24
+ vAlign: VerticalAlignment;
25
+ drawRight: boolean;
26
+ cells: Cell[][] | null;
27
+ /**
28
+ * A representation of a cell within the table.
29
+ * Implementations must have `init` and `draw` methods,
30
+ * as well as `colSpan`, `rowSpan`, `desiredHeight` and `desiredWidth` properties.
31
+ */
32
+ constructor(options: CellOptions | string | number | boolean | bigint);
33
+ setOptions(options: CellOptions | string | number | boolean | bigint): void;
34
+ mergeTableOptions(tableOptions: TableInstanceOptions, cells: Cell[][]): void;
35
+ computeLines(tableOptions: TableInstanceOptions): string[];
36
+ wrapLines(computedLines: string[]): string[];
37
+ /**
38
+ * Initializes the Cells data structure.
39
+ *
40
+ * @param tableOptions - A fully populated set of tableOptions.
41
+ * In addition to the standard default values, tableOptions must have fully populated the
42
+ * `colWidths` and `rowWidths` arrays. Those arrays must have lengths equal to the number
43
+ * of columns or rows (respectively) in this table, and each array item must be a Number.
44
+ */
45
+ init(tableOptions: TableInstanceOptions): void;
46
+ /**
47
+ * Draws the given line of the cell.
48
+ * This default implementation defers to methods `drawTop`, `drawBottom`, `drawLine` and `drawEmpty`.
49
+ * @param lineNum - can be `top`, `bottom` or a numerical line number.
50
+ * @param spanningCell - will be a number if being called from a RowSpanCell, and will represent how
51
+ * many rows below it's being called from. Otherwise it's undefined.
52
+ * @returns {String} The representation of this line.
53
+ */
54
+ draw(lineNum: "top" | "bottom" | number, spanningCell?: number): string;
55
+ /**
56
+ * Renders the top line of the cell.
57
+ * @param drawRight - true if this method should render the right edge of the cell.
58
+ * @returns {String}
59
+ */
60
+ drawTop(drawRight: boolean): string;
61
+ _topLeftChar(offset: number): string;
62
+ wrapWithStyleColors(styleProperty: "head" | "border", content: string): string;
63
+ /**
64
+ * Renders a line of text.
65
+ * @param lineNum - Which line of text to render. This is not necessarily the line within the cell.
66
+ * There may be top-padding above the first line of text.
67
+ * @param drawRight - true if this method should render the right edge of the cell.
68
+ * @param forceTruncationSymbol - `true` if the rendered text should end with the truncation symbol even
69
+ * if the text fits. This is used when the cell is vertically truncated. If `false` the text should
70
+ * only include the truncation symbol if the text will not fit horizontally within the cell width.
71
+ * @param spanningCell - a number of if being called from a RowSpanCell. (how many rows below). otherwise undefined.
72
+ * @returns {String}
73
+ */
74
+ drawLine(lineNum: number, drawRight: boolean, forceTruncationSymbol: boolean, spanningCell?: number): string;
75
+ stylizeLine(left: string, content: string, right: string): string;
76
+ /**
77
+ * Renders the bottom line of the cell.
78
+ * @param drawRight - true if this method should render the right edge of the cell.
79
+ * @returns {String}
80
+ */
81
+ drawBottom(drawRight: boolean): string;
82
+ /**
83
+ * Renders a blank line of text within the cell. Used for top and/or bottom padding.
84
+ * @param drawRight - true if this method should render the right edge of the cell.
85
+ * @param spanningCell - a number of if being called from a RowSpanCell. (how many rows below). otherwise undefined.
86
+ * @returns {String}
87
+ */
88
+ drawEmpty(drawRight: boolean, spanningCell?: number): string;
89
+ }
90
+ export declare class ColSpanCell {
91
+ x: number | null;
92
+ y: number | null;
93
+ colSpan: number;
94
+ draw(lineNum: "top" | "bottom" | number): string;
95
+ init(): void;
96
+ mergeTableOptions(): void;
97
+ }
98
+ export declare class RowSpanCell {
99
+ originalCell: Cell;
100
+ x: number | null;
101
+ y: number | null;
102
+ colSpan: number;
103
+ cellOffset: number;
104
+ offset: number;
105
+ /**
106
+ * A placeholder Cell for a Cell that spans multiple rows.
107
+ * It delegates rendering to the original cell, but adds the appropriate offset.
108
+ */
109
+ constructor(originalCell: Cell);
110
+ init(tableOptions: TableInstanceOptions): void;
111
+ draw(lineNum: "top" | "bottom" | number): string;
112
+ mergeTableOptions(): void;
113
+ }
114
+ //# sourceMappingURL=cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell.d.ts","sourceRoot":"","sources":["../../../source/terminal/table/cell.ts"],"names":[],"mappings":"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"}