@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,181 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Standalone input prompt (inquirer-like)
4
- * - TypeScript version
5
- */
6
- import * as readline from "node:readline";
7
- import { isAbortError, isCancelError, PromptAbortError, PromptCancelError, } from "./errors.js";
8
- import style from "./style.js";
9
- /**
10
- * Enhanced input validation with built-in and custom validation
11
- */
12
- function validateInput(input, options) {
13
- const { validate, required, minLength, maxLength, default: defaultValue, } = options;
14
- // Handle empty input
15
- const trimmedInput = input.trim();
16
- if (!trimmedInput && !defaultValue) {
17
- if (required) {
18
- return "Input is required";
19
- }
20
- return true; // Allow empty if not required
21
- }
22
- // Use default value if input is empty
23
- const finalInput = trimmedInput || defaultValue || "";
24
- // Length validations
25
- if (minLength && finalInput.length < minLength) {
26
- return `Input must be at least ${minLength} characters`;
27
- }
28
- if (maxLength && finalInput.length > maxLength) {
29
- return `Input must be at most ${maxLength} characters`;
30
- }
31
- // Custom validation
32
- if (validate) {
33
- return validate(finalInput);
34
- }
35
- return true;
36
- }
37
- /**
38
- * Create a managed readline interface with proper cleanup
39
- */
40
- function createReadlineInterface() {
41
- const rl = readline.createInterface({
42
- input: process.stdin,
43
- output: process.stdout,
44
- terminal: true,
45
- });
46
- let cleanedUp = false;
47
- const cleanup = () => {
48
- if (cleanedUp)
49
- return;
50
- cleanedUp = true;
51
- rl.close();
52
- };
53
- return { rl, cleanup };
54
- }
55
- /**
56
- * Non-blocking question wrapper using Promise
57
- */
58
- function askQuestion(rl, prompt) {
59
- return new Promise((resolve) => {
60
- rl.question(prompt, resolve);
61
- });
62
- }
63
- /**
64
- * Main prompt function with retry logic for validation
65
- */
66
- async function promptWithRetry(rl, prompt, options) {
67
- const { validate, required, minLength, maxLength, default: defaultValue, } = options;
68
- while (true) {
69
- try {
70
- const answer = await askQuestion(rl, prompt);
71
- const validationResult = validateInput(answer, {
72
- validate,
73
- required,
74
- minLength,
75
- maxLength,
76
- default: defaultValue,
77
- });
78
- if (validationResult === true) {
79
- // Determine final answer
80
- let finalAnswer = answer.trim();
81
- if (!finalAnswer && defaultValue !== undefined) {
82
- finalAnswer = defaultValue;
83
- }
84
- return finalAnswer;
85
- }
86
- // Show validation error and retry
87
- console.log(style.red(validationResult));
88
- }
89
- catch (error) {
90
- if (isAbortError(error) || isCancelError(error)) {
91
- throw error;
92
- }
93
- // Handle other errors appropriately
94
- throw new Error("Failed to read input", { cause: error });
95
- }
96
- }
97
- }
98
- export async function input({ message = "Enter value", default: defaultValue, validate, required = false, minLength, maxLength, signal, } = {}) {
99
- if (!process.stdin.isTTY) {
100
- throw new Error("TTY required");
101
- }
102
- const { rl, cleanup } = createReadlineInterface();
103
- let cleanupCalled = false;
104
- const ensureCleanup = () => {
105
- if (!cleanupCalled) {
106
- cleanupCalled = true;
107
- cleanup();
108
- }
109
- };
110
- try {
111
- return await new Promise((resolve, reject) => {
112
- const prompt = defaultValue
113
- ? `${message} (${defaultValue}): `
114
- : `${message}: `;
115
- // Handle abort signal
116
- if (signal) {
117
- signal.addEventListener("abort", () => {
118
- ensureCleanup();
119
- reject(new PromptAbortError());
120
- });
121
- }
122
- // Handle SIGINT (Ctrl+C)
123
- rl.on("SIGINT", () => {
124
- ensureCleanup();
125
- reject(new PromptCancelError());
126
- });
127
- // Start the prompt process
128
- promptWithRetry(rl, prompt, {
129
- message,
130
- default: defaultValue,
131
- validate,
132
- required,
133
- minLength,
134
- maxLength,
135
- signal,
136
- })
137
- .then((result) => {
138
- ensureCleanup();
139
- resolve(result);
140
- })
141
- .catch((error) => {
142
- ensureCleanup();
143
- reject(error);
144
- });
145
- });
146
- }
147
- catch (error) {
148
- ensureCleanup();
149
- throw error;
150
- }
151
- }
152
- // Quick test when run directly
153
- if (import.meta.url === `file://${process.argv[1]}`) {
154
- (async () => {
155
- try {
156
- const name = await input({
157
- message: "What is your name",
158
- default: "Anonymous",
159
- validate: (txt) => (txt.length < 2 ? "Name too short" : true),
160
- required: true,
161
- minLength: 2,
162
- });
163
- console.log("Hello,", name);
164
- process.exit(0);
165
- }
166
- catch (err) {
167
- if (isCancelError(err)) {
168
- console.error("Cancelled");
169
- process.exit(2);
170
- }
171
- else if (isAbortError(err)) {
172
- console.error("Aborted");
173
- process.exit(3);
174
- }
175
- else {
176
- console.error(err);
177
- process.exit(1);
178
- }
179
- }
180
- })();
181
- }
@@ -1,20 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Standalone search prompt (inquirer-like)
4
- * - TypeScript version
5
- */
6
- interface ChoiceObject<T = unknown> {
7
- name: string;
8
- value: T;
9
- disabled?: boolean;
10
- }
11
- export type Choice<T = unknown> = string | ChoiceObject<T>;
12
- export interface SearchOptions<T = unknown> {
13
- message?: string;
14
- source: (input: string) => Promise<Choice<T>[]>;
15
- pageSize?: number;
16
- signal?: AbortSignal;
17
- }
18
- export declare function search<T = unknown>({ message, source, pageSize, signal, }: SearchOptions<T>): Promise<T>;
19
- export {};
20
- //# sourceMappingURL=search-prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-prompt.d.ts","sourceRoot":"","sources":["../../source/terminal/search-prompt.ts"],"names":[],"mappings":";AACA;;;GAGG;AAQH,UAAU,YAAY,CAAC,CAAC,GAAG,OAAO;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAQ3D,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AA8CD,wBAAsB,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,EACxC,OAAkB,EAClB,MAAM,EACN,QAAY,EACZ,MAAM,GACP,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAsO/B"}
@@ -1,279 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Standalone search prompt (inquirer-like)
4
- * - TypeScript version
5
- */
6
- // ANSI helpers
7
- const ESC = "\x1b[";
8
- const hideCursor = () => process.stdout.write(`${ESC}?25l`);
9
- const showCursor = () => process.stdout.write(`${ESC}?25h`);
10
- const clearLine = () => process.stdout.write("\x1b[2K\r");
11
- function normalizeChoice(choice) {
12
- if (typeof choice === "string") {
13
- return { name: choice, value: choice, disabled: false };
14
- }
15
- const { name, value, disabled = false } = choice;
16
- return { name, value, disabled };
17
- }
18
- function render(choices, pointerIndex, pageStart, pageSize, prompt, searchInput) {
19
- const visible = choices.slice(pageStart, pageStart + pageSize);
20
- const lines = [];
21
- lines.push(`${prompt}${searchInput ? ` (search: ${searchInput})` : ""}`);
22
- for (let i = 0; i < visible.length; i++) {
23
- const actualIndex = pageStart + i;
24
- const ch = visible[i];
25
- const prefix = actualIndex === pointerIndex ? "›" : " ";
26
- if (ch.disabled) {
27
- lines.push(` ${prefix} ${ch.name} (disabled)`);
28
- }
29
- else if (actualIndex === pointerIndex) {
30
- lines.push(`\x1b[36m ${prefix} ${ch.name}\x1b[0m`);
31
- }
32
- else {
33
- lines.push(` ${prefix} ${ch.name}`);
34
- }
35
- }
36
- if (choices.length > pageSize) {
37
- const pageCount = Math.ceil(choices.length / pageSize);
38
- const currentPage = Math.ceil(pageStart / pageSize) + 1;
39
- lines.push(`\x1b[2mPage ${currentPage}/${pageCount}\x1b[0m`);
40
- }
41
- return lines.join("\n");
42
- }
43
- export async function search({ message = "Search", source, pageSize = 7, signal, }) {
44
- const stdin = process.stdin;
45
- const stdout = process.stdout;
46
- if (!stdin.isTTY)
47
- throw new Error("TTY required");
48
- stdin.setRawMode(true);
49
- stdin.resume();
50
- stdin.setEncoding("utf8");
51
- let searchInput = "";
52
- let choices = [];
53
- let pointer = 0;
54
- let pageStart = 0;
55
- let lastSourceCall = null;
56
- let previousOutputLines = 0;
57
- function renderToScreen() {
58
- clearLine();
59
- // Move cursor to beginning of line
60
- stdout.write("\x1b[0G");
61
- stdout.write("\x1b[0J"); // clear from cursor to end of screen
62
- // Clear previous output by moving up and clearing lines
63
- for (let i = 0; i < previousOutputLines; i++) {
64
- stdout.write("\x1b[1A"); // Move up one line
65
- stdout.write("\x1b[2K"); // Clear the entire line
66
- }
67
- const out = render(choices, pointer, pageStart, pageSize, message, searchInput);
68
- // Count lines in current output
69
- previousOutputLines = out.split("\n").length;
70
- stdout.write(`${out}\n`);
71
- }
72
- function move(delta) {
73
- const len = choices.length;
74
- if (len === 0)
75
- return;
76
- let newIndex = pointer;
77
- do {
78
- newIndex = (newIndex + delta + len) % len;
79
- } while (choices[newIndex]?.disabled && newIndex !== pointer);
80
- pointer = newIndex;
81
- // Update pageStart to snap to page boundaries
82
- const currentPage = Math.floor(pointer / pageSize);
83
- pageStart = currentPage * pageSize;
84
- // Ensure pageStart is within bounds
85
- pageStart = Math.max(0, Math.min(pageStart, choices.length - pageSize));
86
- renderToScreen();
87
- }
88
- async function updateChoices(input) {
89
- // Cancel previous source call if still in progress
90
- if (lastSourceCall) {
91
- // We can't actually cancel the promise, but we can ignore its result
92
- lastSourceCall.catch(() => { });
93
- }
94
- const sourcePromise = source(input);
95
- lastSourceCall = sourcePromise.then(() => { });
96
- try {
97
- const newChoices = await sourcePromise;
98
- choices = newChoices.map(normalizeChoice);
99
- // Reset pointer to first selectable choice
100
- pointer = 0;
101
- if (choices.length > 0) {
102
- for (let i = 0; i < choices.length; i++) {
103
- if (!choices[i].disabled) {
104
- pointer = i;
105
- break;
106
- }
107
- }
108
- }
109
- pageStart = 0;
110
- renderToScreen();
111
- }
112
- catch (_error) {
113
- // Handle source errors gracefully
114
- choices = [];
115
- pointer = 0;
116
- pageStart = 0;
117
- renderToScreen();
118
- }
119
- }
120
- return new Promise((resolve, reject) => {
121
- let resolved = false;
122
- function cleanup() {
123
- if (resolved)
124
- return;
125
- resolved = true;
126
- stdin.setRawMode(false);
127
- stdin.pause();
128
- stdin.removeListener("data", onData);
129
- showCursor();
130
- }
131
- // Handle abort signal
132
- if (signal) {
133
- signal.addEventListener("abort", () => {
134
- cleanup();
135
- const err = new Error("AbortError");
136
- err.name = "AbortError";
137
- reject(err);
138
- });
139
- }
140
- function onData(key) {
141
- if (key === "\u0003") {
142
- cleanup();
143
- stdout.write("\n");
144
- const err = new Error("Cancelled");
145
- err.isCanceled = true;
146
- reject(err);
147
- return;
148
- }
149
- if (key === "\r" || key === "\n") {
150
- if (choices.length === 0) {
151
- // No choices available, just return
152
- cleanup();
153
- stdout.write("\n");
154
- const err = new Error("No choices available");
155
- err.isCanceled = true;
156
- reject(err);
157
- return;
158
- }
159
- const chosen = choices[pointer];
160
- if (chosen && !chosen.disabled) {
161
- cleanup();
162
- stdout.write("\n");
163
- resolve(chosen.value);
164
- return;
165
- }
166
- return;
167
- }
168
- if (key === "\x1b[A") {
169
- move(-1);
170
- return;
171
- }
172
- if (key === "\x1b[B") {
173
- move(1);
174
- return;
175
- }
176
- if (key === "\x1b[H" || key === "\x1b[1~") {
177
- if (choices.length > 0) {
178
- for (let i = 0; i < choices.length; i++) {
179
- if (!choices[i].disabled) {
180
- pointer = i;
181
- break;
182
- }
183
- }
184
- // Update pageStart to snap to page boundaries
185
- const currentPage = Math.floor(pointer / pageSize);
186
- pageStart = currentPage * pageSize;
187
- pageStart = Math.max(0, Math.min(pageStart, choices.length - pageSize));
188
- renderToScreen();
189
- }
190
- return;
191
- }
192
- if (key === "\x1b[F" || key === "\x1b[4~") {
193
- if (choices.length > 0) {
194
- for (let i = choices.length - 1; i >= 0; i--) {
195
- if (!choices[i].disabled) {
196
- pointer = i;
197
- break;
198
- }
199
- }
200
- // Update pageStart to snap to page boundaries
201
- const currentPage = Math.floor(pointer / pageSize);
202
- pageStart = currentPage * pageSize;
203
- pageStart = Math.max(0, Math.min(pageStart, choices.length - pageSize));
204
- renderToScreen();
205
- }
206
- return;
207
- }
208
- if (key === "\x7f" || key === "\b") {
209
- if (searchInput.length > 0) {
210
- searchInput = searchInput.slice(0, -1);
211
- updateChoices(searchInput);
212
- }
213
- return;
214
- }
215
- if (key && key >= " " && key <= "~") {
216
- searchInput += key;
217
- updateChoices(searchInput);
218
- return;
219
- }
220
- }
221
- hideCursor();
222
- // Initial render with empty search
223
- updateChoices("");
224
- stdin.on("data", onData);
225
- process.on("exit", () => {
226
- if (!resolved) {
227
- cleanup();
228
- stdout.write("\n");
229
- }
230
- });
231
- });
232
- }
233
- // Quick test when run directly
234
- if (import.meta.url === `file://${process.argv[1]}`) {
235
- (async () => {
236
- try {
237
- const res = await search({
238
- message: "Search for fruit",
239
- source: async (input) => {
240
- // Simulate async search
241
- await new Promise((resolve) => setTimeout(resolve, 100));
242
- const fruits = [
243
- "Apple",
244
- "Banana",
245
- "Cherry",
246
- "Date",
247
- "Elderberry",
248
- "Fig",
249
- "Grapes",
250
- "Honeydew",
251
- "Orange",
252
- ];
253
- if (!input) {
254
- return fruits.slice(0, 5);
255
- }
256
- return fruits
257
- .filter((fruit) => fruit.toLowerCase().includes(input.toLowerCase()))
258
- .slice(0, 10);
259
- },
260
- pageSize: 5,
261
- });
262
- console.log("You selected:", res);
263
- process.exit(0);
264
- }
265
- catch (err) {
266
- if (err &&
267
- typeof err === "object" &&
268
- "isCanceled" in err &&
269
- err.isCanceled) {
270
- console.error("Canceled");
271
- process.exit(2);
272
- }
273
- else {
274
- console.error(err);
275
- process.exit(1);
276
- }
277
- }
278
- })();
279
- }
@@ -1,35 +0,0 @@
1
- /**
2
- * Terminal theme options
3
- */
4
- type TerminalTheme = "dark" | "light" | "system";
5
- /**
6
- * Terminal configuration
7
- */
8
- export interface TerminalConfig {
9
- /**
10
- * Terminal color theme
11
- */
12
- theme: TerminalTheme;
13
- /**
14
- * Whether to use colors in output
15
- */
16
- useColors: boolean;
17
- /**
18
- * Whether to show progress indicators
19
- */
20
- showProgressIndicators: boolean;
21
- /**
22
- * Whether to enable syntax highlighting for code
23
- */
24
- codeHighlighting: boolean;
25
- /**
26
- * Maximum terminal height (rows)
27
- */
28
- maxHeight?: number | undefined;
29
- /**
30
- * Maximum terminal width (columns)
31
- */
32
- maxWidth?: number | undefined;
33
- }
34
- export {};
35
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../source/terminal/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,KAAK,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,34 +0,0 @@
1
- import type { TokenCounter } from "./counter.ts";
2
- /**
3
- * Interface for options when managing output
4
- */
5
- interface ManageOutputOptions {
6
- tokenCounter: TokenCounter;
7
- threshold?: number;
8
- truncate?: boolean;
9
- }
10
- /**
11
- * Interface for the result of managing output
12
- */
13
- interface TruncatedOutput {
14
- content: string;
15
- tokenCount: number;
16
- truncated: true;
17
- warning: string;
18
- }
19
- interface Output {
20
- content: string;
21
- tokenCount: number;
22
- truncated: false;
23
- warning?: string;
24
- }
25
- type ManagedOutput = Output | TruncatedOutput;
26
- /**
27
- * Manages output by counting tokens and optionally truncating if over threshold.
28
- * @param input - The input string to manage
29
- * @param options - Configuration for management
30
- * @returns Managed output details
31
- */
32
- export declare function manageOutput(input: string, options: ManageOutputOptions): ManagedOutput;
33
- export {};
34
- //# sourceMappingURL=manage-output.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manage-output.d.ts","sourceRoot":"","sources":["../../source/tokens/manage-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;GAEG;AACH,UAAU,mBAAmB;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,MAAM;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,aAAa,GAAG,MAAM,GAAG,eAAe,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,GAC3B,aAAa,CA2Cf"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Manages output by counting tokens and optionally truncating if over threshold.
3
- * @param input - The input string to manage
4
- * @param options - Configuration for management
5
- * @returns Managed output details
6
- */
7
- export function manageOutput(input, options) {
8
- const { threshold = 8000, truncate = true } = options;
9
- if (!input) {
10
- return { content: input, tokenCount: 0, truncated: false };
11
- }
12
- let tokenCount;
13
- try {
14
- tokenCount = options.tokenCounter.count(input);
15
- }
16
- catch (error) {
17
- console.warn(`Token counting failed: ${error}. Using fallback.`);
18
- // Fallback: Rough estimate (4 chars ~1 token)
19
- tokenCount = Math.ceil(input.length / 4);
20
- }
21
- if (tokenCount <= threshold) {
22
- return { content: input, tokenCount, truncated: false };
23
- }
24
- const _exceededBy = tokenCount - threshold;
25
- let truncatedContent = input;
26
- let truncated = false;
27
- if (truncate) {
28
- // Simple truncation: Cut to approx threshold tokens, add ellipsis
29
- // For better UX, could be smarter (e.g., by lines for grep, preserve JSON)
30
- // But keep general for now
31
- const targetLength = threshold * 4; // Rough char estimate
32
- truncatedContent = `${input.slice(0, targetLength)}\n\n[Output truncated at ~${threshold} tokens (${_exceededBy} tokens omitted)]`;
33
- truncated = true;
34
- }
35
- const warning = truncated
36
- ? `Warning: Output exceeds token threshold (${threshold}). Tokens: ${tokenCount}. ${truncate ? "Truncated." : "Full output returned—consider summarizing."}`
37
- : undefined;
38
- return {
39
- content: truncatedContent,
40
- tokenCount,
41
- truncated,
42
- warning,
43
- };
44
- }
@@ -1,28 +0,0 @@
1
- interface AskContext {
2
- toolName: string;
3
- toolCallId: string;
4
- message: string;
5
- choices: {
6
- accept: string;
7
- acceptAll: string;
8
- reject: string;
9
- };
10
- }
11
- export type AskResponse = {
12
- result: "accept" | "accept-all";
13
- reason?: string;
14
- } | {
15
- result: "reject";
16
- reason: string;
17
- };
18
- export declare class ToolExecutor {
19
- private autoAcceptAll;
20
- private autoAcceptMap;
21
- constructor(autoAcceptAll: boolean);
22
- autoAccept(toolName: string): boolean;
23
- ask(ctx: AskContext, { abortSignal }: {
24
- abortSignal?: AbortSignal;
25
- }): Promise<AskResponse>;
26
- }
27
- export {};
28
- //# sourceMappingURL=tool-executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../source/tool-executor.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,aAAa,CAA8B;gBAEvC,aAAa,EAAE,OAAO;IAIlC,UAAU,CAAC,QAAQ,EAAE,MAAM;IAIrB,GAAG,CACP,GAAG,EAAE,UAAU,EACf,EAAE,WAAW,EAAE,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GAC7C,OAAO,CAAC,WAAW,CAAC;CAgExB"}