lonny-agent 0.2.4 → 0.2.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 (509) hide show
  1. package/.github/workflows/ci.yml +21 -0
  2. package/AGENTS.md +106 -0
  3. package/CHANGELOG.md +24 -0
  4. package/README.md +326 -326
  5. package/dist/agent/__tests__/session-restore.test.d.ts +2 -0
  6. package/dist/agent/__tests__/session-restore.test.d.ts.map +1 -0
  7. package/dist/agent/__tests__/session-restore.test.js +260 -0
  8. package/dist/agent/__tests__/session-restore.test.js.map +1 -0
  9. package/dist/agent/commands.d.ts +26 -0
  10. package/dist/agent/commands.d.ts.map +1 -0
  11. package/dist/agent/commands.js +253 -0
  12. package/dist/agent/commands.js.map +1 -0
  13. package/dist/agent/compaction.js +8 -1
  14. package/dist/agent/compaction.js.map +1 -1
  15. package/dist/agent/index.d.ts +2 -1
  16. package/dist/agent/index.d.ts.map +1 -1
  17. package/dist/agent/index.js +2 -2
  18. package/dist/agent/index.js.map +1 -1
  19. package/dist/agent/llm.d.ts +4 -0
  20. package/dist/agent/llm.d.ts.map +1 -1
  21. package/dist/agent/memory.d.ts +12 -0
  22. package/dist/agent/memory.d.ts.map +1 -0
  23. package/dist/agent/memory.js +51 -0
  24. package/dist/agent/memory.js.map +1 -0
  25. package/dist/agent/prompt-builder.d.ts +6 -1
  26. package/dist/agent/prompt-builder.d.ts.map +1 -1
  27. package/dist/agent/prompt-builder.js +100 -33
  28. package/dist/agent/prompt-builder.js.map +1 -1
  29. package/dist/agent/providers/google.d.ts.map +1 -1
  30. package/dist/agent/providers/google.js.map +1 -1
  31. package/dist/agent/providers/openai.d.ts +1 -0
  32. package/dist/agent/providers/openai.d.ts.map +1 -1
  33. package/dist/agent/providers/openai.js +59 -6
  34. package/dist/agent/providers/openai.js.map +1 -1
  35. package/dist/agent/session-chat.d.ts +3 -0
  36. package/dist/agent/session-chat.d.ts.map +1 -0
  37. package/dist/agent/session-chat.js +384 -0
  38. package/dist/agent/session-chat.js.map +1 -0
  39. package/dist/agent/session-display.d.ts +29 -0
  40. package/dist/agent/session-display.d.ts.map +1 -0
  41. package/dist/agent/session-display.js +179 -0
  42. package/dist/agent/session-display.js.map +1 -0
  43. package/dist/agent/session-persistence.d.ts +55 -0
  44. package/dist/agent/session-persistence.d.ts.map +1 -0
  45. package/dist/agent/session-persistence.js +101 -0
  46. package/dist/agent/session-persistence.js.map +1 -0
  47. package/dist/agent/session-utils.d.ts +5 -0
  48. package/dist/agent/session-utils.d.ts.map +1 -0
  49. package/dist/agent/session-utils.js +51 -0
  50. package/dist/agent/session-utils.js.map +1 -0
  51. package/dist/agent/session.d.ts +19 -17
  52. package/dist/agent/session.d.ts.map +1 -1
  53. package/dist/agent/session.js +234 -578
  54. package/dist/agent/session.js.map +1 -1
  55. package/dist/cli/index.d.ts +4 -0
  56. package/dist/cli/index.d.ts.map +1 -1
  57. package/dist/cli/index.js +67 -2
  58. package/dist/cli/index.js.map +1 -1
  59. package/dist/config/index.d.ts +2 -2
  60. package/dist/config/index.d.ts.map +1 -1
  61. package/dist/config/index.js +7 -1
  62. package/dist/config/index.js.map +1 -1
  63. package/dist/index.js +24 -3
  64. package/dist/index.js.map +1 -1
  65. package/dist/tools/__tests__/bash.test.js +169 -2
  66. package/dist/tools/__tests__/bash.test.js.map +1 -1
  67. package/dist/tools/__tests__/edit.test.js +1091 -340
  68. package/dist/tools/__tests__/edit.test.js.map +1 -1
  69. package/dist/tools/__tests__/fetch.test.js +1 -1
  70. package/dist/tools/__tests__/fetch.test.js.map +1 -1
  71. package/dist/tools/__tests__/glob.test.js +1 -1
  72. package/dist/tools/__tests__/glob.test.js.map +1 -1
  73. package/dist/tools/__tests__/grep.test.js +33 -1
  74. package/dist/tools/__tests__/grep.test.js.map +1 -1
  75. package/dist/tools/__tests__/ls.test.js +1 -1
  76. package/dist/tools/__tests__/ls.test.js.map +1 -1
  77. package/dist/tools/__tests__/read.test.js +1 -1
  78. package/dist/tools/__tests__/read.test.js.map +1 -1
  79. package/dist/tools/__tests__/registry.test.js +313 -0
  80. package/dist/tools/__tests__/registry.test.js.map +1 -1
  81. package/dist/tools/__tests__/sed.test.d.ts +2 -0
  82. package/dist/tools/__tests__/sed.test.d.ts.map +1 -0
  83. package/dist/tools/__tests__/sed.test.js +228 -0
  84. package/dist/tools/__tests__/sed.test.js.map +1 -0
  85. package/dist/tools/__tests__/write_plan.test.js +1 -1
  86. package/dist/tools/__tests__/write_plan.test.js.map +1 -1
  87. package/dist/tools/bash.d.ts.map +1 -1
  88. package/dist/tools/bash.js +711 -18
  89. package/dist/tools/bash.js.map +1 -1
  90. package/dist/tools/codebase/ast/__tests__/ast-edit-demo.d.ts +2 -0
  91. package/dist/tools/codebase/ast/__tests__/ast-edit-demo.d.ts.map +1 -0
  92. package/dist/tools/codebase/ast/__tests__/ast-edit-demo.js +7 -0
  93. package/dist/tools/codebase/ast/__tests__/ast-edit-demo.js.map +1 -0
  94. package/dist/tools/codebase/ast/__tests__/ast-edit-final.d.ts +6 -0
  95. package/dist/tools/codebase/ast/__tests__/ast-edit-final.d.ts.map +1 -0
  96. package/dist/tools/codebase/ast/__tests__/ast-edit-final.js +11 -0
  97. package/dist/tools/codebase/ast/__tests__/ast-edit-final.js.map +1 -0
  98. package/dist/tools/codebase/ast/__tests__/ast-edit-test.d.ts +2 -0
  99. package/dist/tools/codebase/ast/__tests__/ast-edit-test.d.ts.map +1 -0
  100. package/dist/tools/codebase/ast/__tests__/ast-edit-test.js +9 -0
  101. package/dist/tools/codebase/ast/__tests__/ast-edit-test.js.map +1 -0
  102. package/dist/tools/codebase/ast/__tests__/integration.test.d.ts +2 -0
  103. package/dist/tools/codebase/ast/__tests__/integration.test.d.ts.map +1 -0
  104. package/dist/tools/codebase/ast/__tests__/integration.test.js +415 -0
  105. package/dist/tools/codebase/ast/__tests__/integration.test.js.map +1 -0
  106. package/dist/tools/codebase/ast/__tests__/tree-sitter.test.d.ts +2 -0
  107. package/dist/tools/codebase/ast/__tests__/tree-sitter.test.d.ts.map +1 -0
  108. package/dist/tools/codebase/ast/__tests__/tree-sitter.test.js +414 -0
  109. package/dist/tools/codebase/ast/__tests__/tree-sitter.test.js.map +1 -0
  110. package/dist/tools/codebase/ast/adapter.d.ts +23 -0
  111. package/dist/tools/codebase/ast/adapter.d.ts.map +1 -0
  112. package/dist/tools/codebase/ast/adapter.js +11 -0
  113. package/dist/tools/codebase/ast/adapter.js.map +1 -0
  114. package/dist/tools/codebase/ast/tools.d.ts +3 -0
  115. package/dist/tools/codebase/ast/tools.d.ts.map +1 -0
  116. package/dist/tools/codebase/ast/tools.js +286 -0
  117. package/dist/tools/codebase/ast/tools.js.map +1 -0
  118. package/dist/tools/codebase/ast/tree-sitter-adapter.d.ts +3 -0
  119. package/dist/tools/codebase/ast/tree-sitter-adapter.d.ts.map +1 -0
  120. package/dist/tools/codebase/ast/tree-sitter-adapter.js +412 -0
  121. package/dist/tools/codebase/ast/tree-sitter-adapter.js.map +1 -0
  122. package/dist/tools/codebase/ast/tree-sitter-converters.d.ts +4 -0
  123. package/dist/tools/codebase/ast/tree-sitter-converters.d.ts.map +1 -0
  124. package/dist/tools/codebase/ast/tree-sitter-converters.js +447 -0
  125. package/dist/tools/codebase/ast/tree-sitter-converters.js.map +1 -0
  126. package/dist/tools/codebase/ast/types.d.ts +103 -0
  127. package/dist/tools/codebase/ast/types.d.ts.map +1 -0
  128. package/dist/tools/codebase/ast/types.js +2 -0
  129. package/dist/tools/codebase/ast/types.js.map +1 -0
  130. package/dist/tools/codebase/ast/wasm/tree-sitter-python.wasm +0 -0
  131. package/dist/tools/codebase/ast/wasm/tree-sitter-tsx.wasm +0 -0
  132. package/dist/tools/codebase/ast/wasm/tree-sitter-typescript.wasm +0 -0
  133. package/dist/tools/codebase/ast/wasm/tree-sitter.wasm +0 -0
  134. package/dist/tools/codebase/ast/wasm/web-tree-sitter.wasm +0 -0
  135. package/dist/tools/codebase/find.d.ts +3 -0
  136. package/dist/tools/codebase/find.d.ts.map +1 -0
  137. package/dist/tools/codebase/find.js +61 -0
  138. package/dist/tools/codebase/find.js.map +1 -0
  139. package/dist/tools/codebase/glob.d.ts +3 -0
  140. package/dist/tools/codebase/glob.d.ts.map +1 -0
  141. package/dist/tools/codebase/glob.js +37 -0
  142. package/dist/tools/codebase/glob.js.map +1 -0
  143. package/dist/tools/codebase/grep.d.ts +3 -0
  144. package/dist/tools/codebase/grep.d.ts.map +1 -0
  145. package/dist/tools/codebase/grep.js +169 -0
  146. package/dist/tools/codebase/grep.js.map +1 -0
  147. package/dist/tools/codebase/ls.d.ts +3 -0
  148. package/dist/tools/codebase/ls.d.ts.map +1 -0
  149. package/dist/tools/codebase/ls.js +39 -0
  150. package/dist/tools/codebase/ls.js.map +1 -0
  151. package/dist/tools/codebase/read.d.ts +10 -0
  152. package/dist/tools/codebase/read.d.ts.map +1 -0
  153. package/dist/tools/codebase/read.js +81 -0
  154. package/dist/tools/codebase/read.js.map +1 -0
  155. package/dist/tools/delete_memory.d.ts +3 -0
  156. package/dist/tools/delete_memory.d.ts.map +1 -0
  157. package/dist/tools/delete_memory.js +46 -0
  158. package/dist/tools/delete_memory.js.map +1 -0
  159. package/dist/tools/edit/diff-compute.d.ts +4 -0
  160. package/dist/tools/edit/diff-compute.d.ts.map +1 -0
  161. package/dist/tools/edit/diff-compute.js +18 -0
  162. package/dist/tools/edit/diff-compute.js.map +1 -0
  163. package/dist/tools/edit/diff-render.d.ts +18 -0
  164. package/dist/tools/edit/diff-render.d.ts.map +1 -0
  165. package/dist/tools/edit/diff-render.js +128 -0
  166. package/dist/tools/edit/diff-render.js.map +1 -0
  167. package/dist/tools/edit/edit.d.ts +4 -0
  168. package/dist/tools/edit/edit.d.ts.map +1 -0
  169. package/dist/tools/edit/edit.js +440 -0
  170. package/dist/tools/edit/edit.js.map +1 -0
  171. package/dist/tools/edit/matcher.d.ts +24 -0
  172. package/dist/tools/edit/matcher.d.ts.map +1 -0
  173. package/dist/tools/edit/matcher.js +66 -0
  174. package/dist/tools/edit/matcher.js.map +1 -0
  175. package/dist/tools/edit/parser.d.ts +10 -0
  176. package/dist/tools/edit/parser.d.ts.map +1 -0
  177. package/dist/tools/edit/parser.js +120 -0
  178. package/dist/tools/edit/parser.js.map +1 -0
  179. package/dist/tools/edit/types.d.ts +16 -0
  180. package/dist/tools/edit/types.d.ts.map +1 -0
  181. package/dist/tools/edit/types.js +2 -0
  182. package/dist/tools/edit/types.js.map +1 -0
  183. package/dist/tools/edit/write_plan.d.ts +5 -0
  184. package/dist/tools/edit/write_plan.d.ts.map +1 -0
  185. package/dist/tools/edit/write_plan.js +98 -0
  186. package/dist/tools/edit/write_plan.js.map +1 -0
  187. package/dist/tools/edit.d.ts +50 -9
  188. package/dist/tools/edit.d.ts.map +1 -1
  189. package/dist/tools/edit.js +394 -159
  190. package/dist/tools/edit.js.map +1 -1
  191. package/dist/tools/execute/bash/constants.d.ts +24 -0
  192. package/dist/tools/execute/bash/constants.d.ts.map +1 -0
  193. package/dist/tools/execute/bash/constants.js +88 -0
  194. package/dist/tools/execute/bash/constants.js.map +1 -0
  195. package/dist/tools/execute/bash/errors.d.ts +39 -0
  196. package/dist/tools/execute/bash/errors.d.ts.map +1 -0
  197. package/dist/tools/execute/bash/errors.js +249 -0
  198. package/dist/tools/execute/bash/errors.js.map +1 -0
  199. package/dist/tools/execute/bash/execution.d.ts +18 -0
  200. package/dist/tools/execute/bash/execution.d.ts.map +1 -0
  201. package/dist/tools/execute/bash/execution.js +207 -0
  202. package/dist/tools/execute/bash/execution.js.map +1 -0
  203. package/dist/tools/execute/bash/index.d.ts +3 -0
  204. package/dist/tools/execute/bash/index.d.ts.map +1 -0
  205. package/dist/tools/execute/bash/index.js +117 -0
  206. package/dist/tools/execute/bash/index.js.map +1 -0
  207. package/dist/tools/execute/bash/platform.d.ts +6 -0
  208. package/dist/tools/execute/bash/platform.d.ts.map +1 -0
  209. package/dist/tools/execute/bash/platform.js +64 -0
  210. package/dist/tools/execute/bash/platform.js.map +1 -0
  211. package/dist/tools/execute/bash/security.d.ts +12 -0
  212. package/dist/tools/execute/bash/security.d.ts.map +1 -0
  213. package/dist/tools/execute/bash/security.js +26 -0
  214. package/dist/tools/execute/bash/security.js.map +1 -0
  215. package/dist/tools/execute/bash/validation.d.ts +16 -0
  216. package/dist/tools/execute/bash/validation.d.ts.map +1 -0
  217. package/dist/tools/execute/bash/validation.js +57 -0
  218. package/dist/tools/execute/bash/validation.js.map +1 -0
  219. package/dist/tools/execute/bash.d.ts +3 -0
  220. package/dist/tools/execute/bash.d.ts.map +1 -0
  221. package/dist/tools/execute/bash.js +728 -0
  222. package/dist/tools/execute/bash.js.map +1 -0
  223. package/dist/tools/execute/git.d.ts +3 -0
  224. package/dist/tools/execute/git.d.ts.map +1 -0
  225. package/dist/tools/execute/git.js +183 -0
  226. package/dist/tools/execute/git.js.map +1 -0
  227. package/dist/tools/execute/task_complete.d.ts +7 -0
  228. package/dist/tools/execute/task_complete.d.ts.map +1 -0
  229. package/dist/tools/execute/task_complete.js +38 -0
  230. package/dist/tools/execute/task_complete.js.map +1 -0
  231. package/dist/tools/fetch.d.ts.map +1 -1
  232. package/dist/tools/fetch.js +2 -0
  233. package/dist/tools/fetch.js.map +1 -1
  234. package/dist/tools/find.d.ts.map +1 -1
  235. package/dist/tools/find.js +2 -0
  236. package/dist/tools/find.js.map +1 -1
  237. package/dist/tools/git.d.ts.map +1 -1
  238. package/dist/tools/git.js +2 -0
  239. package/dist/tools/git.js.map +1 -1
  240. package/dist/tools/glob.d.ts.map +1 -1
  241. package/dist/tools/glob.js +2 -0
  242. package/dist/tools/glob.js.map +1 -1
  243. package/dist/tools/grep.d.ts.map +1 -1
  244. package/dist/tools/grep.js +56 -30
  245. package/dist/tools/grep.js.map +1 -1
  246. package/dist/tools/install/clawhub.d.ts +26 -0
  247. package/dist/tools/install/clawhub.d.ts.map +1 -0
  248. package/dist/tools/install/clawhub.js +182 -0
  249. package/dist/tools/install/clawhub.js.map +1 -0
  250. package/dist/tools/install/constants.d.ts +5 -0
  251. package/dist/tools/install/constants.d.ts.map +1 -0
  252. package/dist/tools/install/constants.js +5 -0
  253. package/dist/tools/install/constants.js.map +1 -0
  254. package/dist/tools/install/install_skill.d.ts +3 -0
  255. package/dist/tools/install/install_skill.d.ts.map +1 -0
  256. package/dist/tools/install/install_skill.js +132 -0
  257. package/dist/tools/install/install_skill.js.map +1 -0
  258. package/dist/tools/install/npm.d.ts +8 -0
  259. package/dist/tools/install/npm.d.ts.map +1 -0
  260. package/dist/tools/install/npm.js +52 -0
  261. package/dist/tools/install/npm.js.map +1 -0
  262. package/dist/tools/install/skill-content.d.ts +9 -0
  263. package/dist/tools/install/skill-content.d.ts.map +1 -0
  264. package/dist/tools/install/skill-content.js +89 -0
  265. package/dist/tools/install/skill-content.js.map +1 -0
  266. package/dist/tools/install_skill.d.ts.map +1 -1
  267. package/dist/tools/install_skill.js +2 -0
  268. package/dist/tools/install_skill.js.map +1 -1
  269. package/dist/tools/list_memory.d.ts +3 -0
  270. package/dist/tools/list_memory.d.ts.map +1 -0
  271. package/dist/tools/list_memory.js +55 -0
  272. package/dist/tools/list_memory.js.map +1 -0
  273. package/dist/tools/ls.d.ts.map +1 -1
  274. package/dist/tools/ls.js +2 -0
  275. package/dist/tools/ls.js.map +1 -1
  276. package/dist/tools/memory/delete_memory.d.ts +3 -0
  277. package/dist/tools/memory/delete_memory.d.ts.map +1 -0
  278. package/dist/tools/memory/delete_memory.js +46 -0
  279. package/dist/tools/memory/delete_memory.js.map +1 -0
  280. package/dist/tools/memory/list_memory.d.ts +3 -0
  281. package/dist/tools/memory/list_memory.d.ts.map +1 -0
  282. package/dist/tools/memory/list_memory.js +55 -0
  283. package/dist/tools/memory/list_memory.js.map +1 -0
  284. package/dist/tools/memory/save_memory.d.ts +3 -0
  285. package/dist/tools/memory/save_memory.d.ts.map +1 -0
  286. package/dist/tools/memory/save_memory.js +45 -0
  287. package/dist/tools/memory/save_memory.js.map +1 -0
  288. package/dist/tools/read.d.ts.map +1 -1
  289. package/dist/tools/read.js +2 -0
  290. package/dist/tools/read.js.map +1 -1
  291. package/dist/tools/registry.d.ts +7 -8
  292. package/dist/tools/registry.d.ts.map +1 -1
  293. package/dist/tools/registry.js +114 -46
  294. package/dist/tools/registry.js.map +1 -1
  295. package/dist/tools/save_memory.d.ts +3 -0
  296. package/dist/tools/save_memory.d.ts.map +1 -0
  297. package/dist/tools/save_memory.js +45 -0
  298. package/dist/tools/save_memory.js.map +1 -0
  299. package/dist/tools/search.d.ts.map +1 -1
  300. package/dist/tools/search.js +2 -0
  301. package/dist/tools/search.js.map +1 -1
  302. package/dist/tools/sed.d.ts +4 -0
  303. package/dist/tools/sed.d.ts.map +1 -0
  304. package/dist/tools/sed.js +121 -0
  305. package/dist/tools/sed.js.map +1 -0
  306. package/dist/tools/tree.d.ts +12 -0
  307. package/dist/tools/tree.d.ts.map +1 -0
  308. package/dist/tools/tree.js +87 -0
  309. package/dist/tools/tree.js.map +1 -0
  310. package/dist/tools/types.d.ts +12 -0
  311. package/dist/tools/types.d.ts.map +1 -1
  312. package/dist/tools/web/fetch.d.ts +3 -0
  313. package/dist/tools/web/fetch.d.ts.map +1 -0
  314. package/dist/tools/web/fetch.js +49 -0
  315. package/dist/tools/web/fetch.js.map +1 -0
  316. package/dist/tools/web/search.d.ts +3 -0
  317. package/dist/tools/web/search.d.ts.map +1 -0
  318. package/dist/tools/web/search.js +134 -0
  319. package/dist/tools/web/search.js.map +1 -0
  320. package/dist/tools/write_plan.d.ts.map +1 -1
  321. package/dist/tools/write_plan.js +2 -0
  322. package/dist/tools/write_plan.js.map +1 -1
  323. package/dist/tui/commands.d.ts +4 -0
  324. package/dist/tui/commands.d.ts.map +1 -0
  325. package/dist/tui/commands.js +118 -0
  326. package/dist/tui/commands.js.map +1 -0
  327. package/dist/tui/components/colors.d.ts +36 -0
  328. package/dist/tui/components/colors.d.ts.map +1 -0
  329. package/dist/tui/components/colors.js +48 -0
  330. package/dist/tui/components/colors.js.map +1 -0
  331. package/dist/tui/components/header-bar.d.ts +26 -0
  332. package/dist/tui/components/header-bar.d.ts.map +1 -0
  333. package/dist/tui/components/header-bar.js +78 -0
  334. package/dist/tui/components/header-bar.js.map +1 -0
  335. package/dist/tui/components/index.d.ts +9 -0
  336. package/dist/tui/components/index.d.ts.map +1 -0
  337. package/dist/tui/components/index.js +9 -0
  338. package/dist/tui/components/index.js.map +1 -0
  339. package/dist/tui/components/landing-screen.d.ts +12 -0
  340. package/dist/tui/components/landing-screen.d.ts.map +1 -0
  341. package/dist/tui/components/landing-screen.js +53 -0
  342. package/dist/tui/components/landing-screen.js.map +1 -0
  343. package/dist/tui/components/pixel-logo.d.ts +5 -0
  344. package/dist/tui/components/pixel-logo.d.ts.map +1 -0
  345. package/dist/tui/components/pixel-logo.js +27 -0
  346. package/dist/tui/components/pixel-logo.js.map +1 -0
  347. package/dist/tui/components/plan-utils.d.ts +11 -0
  348. package/dist/tui/components/plan-utils.d.ts.map +1 -0
  349. package/dist/tui/components/plan-utils.js +62 -0
  350. package/dist/tui/components/plan-utils.js.map +1 -0
  351. package/dist/tui/components/plans-list.d.ts +18 -0
  352. package/dist/tui/components/plans-list.d.ts.map +1 -0
  353. package/dist/tui/components/plans-list.js +46 -0
  354. package/dist/tui/components/plans-list.js.map +1 -0
  355. package/dist/tui/components/rich-footer.d.ts +29 -0
  356. package/dist/tui/components/rich-footer.d.ts.map +1 -0
  357. package/dist/tui/components/rich-footer.js +124 -0
  358. package/dist/tui/components/rich-footer.js.map +1 -0
  359. package/dist/tui/components/todo-panel.d.ts +14 -0
  360. package/dist/tui/components/todo-panel.d.ts.map +1 -0
  361. package/dist/tui/components/todo-panel.js +83 -0
  362. package/dist/tui/components/todo-panel.js.map +1 -0
  363. package/dist/tui/components.d.ts.map +1 -1
  364. package/dist/tui/components.js +14 -7
  365. package/dist/tui/components.js.map +1 -1
  366. package/dist/tui/index.d.ts +2 -1
  367. package/dist/tui/index.d.ts.map +1 -1
  368. package/dist/tui/index.js +99 -505
  369. package/dist/tui/index.js.map +1 -1
  370. package/dist/tui/overlays.d.ts +28 -0
  371. package/dist/tui/overlays.d.ts.map +1 -0
  372. package/dist/tui/overlays.js +154 -0
  373. package/dist/tui/overlays.js.map +1 -0
  374. package/dist/tui/themes.d.ts +5 -0
  375. package/dist/tui/themes.d.ts.map +1 -0
  376. package/dist/tui/themes.js +38 -0
  377. package/dist/tui/themes.js.map +1 -0
  378. package/dist/web/index.d.ts.map +1 -1
  379. package/dist/web/index.js +62 -101
  380. package/dist/web/index.js.map +1 -1
  381. package/dist/web/public/app.js +5 -855
  382. package/dist/web/public/confirm.js +70 -0
  383. package/dist/web/public/index.html +121 -120
  384. package/dist/web/public/input.js +107 -0
  385. package/dist/web/public/messages.js +411 -0
  386. package/dist/web/public/sidebar.js +82 -0
  387. package/dist/web/public/state.js +72 -0
  388. package/dist/web/public/style.css +247 -70
  389. package/dist/web/public/utils.js +37 -0
  390. package/dist/web/public/websocket.js +267 -0
  391. package/dist/web/public/ws.js +19 -0
  392. package/dist/web/session-bridge.d.ts.map +1 -1
  393. package/dist/web/session-bridge.js +85 -10
  394. package/dist/web/session-bridge.js.map +1 -1
  395. package/docs/ast-tools.md +117 -0
  396. package/package.json +11 -5
  397. package/scripts/check-line-count.mjs +53 -0
  398. package/scripts/copy-ast-wasm.mjs +32 -0
  399. package/scripts/copy-native.mjs +24 -0
  400. package/scripts/copy-web.mjs +15 -0
  401. package/src/agent/__tests__/session-restore.test.ts +284 -0
  402. package/src/agent/commands.ts +274 -0
  403. package/src/agent/compaction.ts +9 -2
  404. package/src/agent/index.ts +7 -2
  405. package/src/agent/llm.ts +4 -0
  406. package/src/agent/memory.ts +60 -0
  407. package/src/agent/prompt-builder.ts +111 -33
  408. package/src/agent/providers/google.ts +0 -1
  409. package/src/agent/providers/openai.ts +79 -8
  410. package/src/agent/session-chat.ts +480 -0
  411. package/src/agent/session-display.ts +195 -0
  412. package/src/agent/session-persistence.ts +146 -0
  413. package/src/agent/session-utils.ts +54 -0
  414. package/src/agent/session.ts +269 -670
  415. package/src/cli/index.ts +73 -4
  416. package/src/config/index.ts +14 -7
  417. package/src/index.ts +30 -3
  418. package/src/tools/__tests__/bash.test.ts +188 -2
  419. package/src/tools/__tests__/edit.test.ts +1216 -356
  420. package/src/tools/__tests__/fetch.test.ts +1 -1
  421. package/src/tools/__tests__/glob.test.ts +1 -1
  422. package/src/tools/__tests__/grep.test.ts +36 -1
  423. package/src/tools/__tests__/ls.test.ts +1 -1
  424. package/src/tools/__tests__/read.test.ts +1 -1
  425. package/src/tools/__tests__/registry.test.ts +332 -0
  426. package/src/tools/__tests__/write_plan.test.ts +1 -1
  427. package/src/tools/codebase/ast/__tests__/integration.test.ts +452 -0
  428. package/src/tools/codebase/ast/__tests__/tree-sitter.test.ts +466 -0
  429. package/src/tools/codebase/ast/adapter.ts +44 -0
  430. package/src/tools/codebase/ast/tools.ts +322 -0
  431. package/src/tools/codebase/ast/tree-sitter-adapter.ts +468 -0
  432. package/src/tools/codebase/ast/tree-sitter-converters.ts +480 -0
  433. package/src/tools/codebase/ast/types.ts +102 -0
  434. package/src/tools/codebase/ast/wasm/tree-sitter-python.wasm +0 -0
  435. package/src/tools/codebase/ast/wasm/tree-sitter-tsx.wasm +0 -0
  436. package/src/tools/codebase/ast/wasm/tree-sitter-typescript.wasm +0 -0
  437. package/src/tools/codebase/ast/wasm/tree-sitter.wasm +0 -0
  438. package/src/tools/codebase/ast/wasm/web-tree-sitter.wasm +0 -0
  439. package/src/tools/{find.ts → codebase/find.ts} +4 -2
  440. package/src/tools/{glob.ts → codebase/glob.ts} +4 -2
  441. package/src/tools/{grep.ts → codebase/grep.ts} +61 -32
  442. package/src/tools/{ls.ts → codebase/ls.ts} +4 -2
  443. package/src/tools/{read.ts → codebase/read.ts} +5 -3
  444. package/src/tools/edit/diff-compute.ts +21 -0
  445. package/src/tools/edit/diff-render.ts +145 -0
  446. package/src/tools/edit/edit.ts +468 -0
  447. package/src/tools/edit/matcher.ts +70 -0
  448. package/src/tools/edit/parser.ts +131 -0
  449. package/src/tools/edit/types.ts +19 -0
  450. package/src/tools/{write_plan.ts → edit/write_plan.ts} +4 -2
  451. package/src/tools/execute/bash/constants.ts +93 -0
  452. package/src/tools/execute/bash/errors.ts +304 -0
  453. package/src/tools/execute/bash/execution.ts +211 -0
  454. package/src/tools/execute/bash/index.ts +131 -0
  455. package/src/tools/execute/bash/platform.ts +65 -0
  456. package/src/tools/execute/bash/security.ts +28 -0
  457. package/src/tools/execute/bash/validation.ts +78 -0
  458. package/src/tools/execute/git.ts +209 -0
  459. package/src/tools/execute/task_complete.ts +40 -0
  460. package/src/tools/install/clawhub.ts +222 -0
  461. package/src/tools/install/constants.ts +4 -0
  462. package/src/tools/install/install_skill.ts +150 -0
  463. package/src/tools/install/npm.ts +60 -0
  464. package/src/tools/install/skill-content.ts +108 -0
  465. package/src/tools/memory/delete_memory.ts +46 -0
  466. package/src/tools/memory/list_memory.ts +53 -0
  467. package/src/tools/memory/save_memory.ts +45 -0
  468. package/src/tools/registry.ts +121 -50
  469. package/src/tools/tree.ts +103 -0
  470. package/src/tools/types.ts +13 -0
  471. package/src/tools/{fetch.ts → web/fetch.ts} +4 -2
  472. package/src/tools/{search.ts → web/search.ts} +4 -2
  473. package/src/tui/commands.ts +135 -0
  474. package/src/tui/components/colors.ts +52 -0
  475. package/src/tui/components/header-bar.ts +88 -0
  476. package/src/tui/components/index.ts +8 -0
  477. package/src/tui/components/landing-screen.ts +67 -0
  478. package/src/tui/components/pixel-logo.ts +33 -0
  479. package/src/tui/components/plan-utils.ts +69 -0
  480. package/src/tui/components/plans-list.ts +55 -0
  481. package/src/tui/components/rich-footer.ts +146 -0
  482. package/src/tui/components/todo-panel.ts +95 -0
  483. package/src/tui/index.ts +110 -561
  484. package/src/tui/overlays.ts +203 -0
  485. package/src/tui/themes.ts +41 -0
  486. package/src/web/index.ts +66 -107
  487. package/src/web/public/app.js +5 -855
  488. package/src/web/public/confirm.js +70 -0
  489. package/src/web/public/index.html +121 -120
  490. package/src/web/public/input.js +107 -0
  491. package/src/web/public/messages.js +411 -0
  492. package/src/web/public/sidebar.js +82 -0
  493. package/src/web/public/state.js +72 -0
  494. package/src/web/public/style.css +247 -70
  495. package/src/web/public/utils.js +37 -0
  496. package/src/web/public/websocket.js +267 -0
  497. package/src/web/public/ws.js +19 -0
  498. package/src/web/session-bridge.ts +90 -12
  499. package/.claude/settings.local.json +0 -14
  500. package/.kilo/plans/1780064105789-mighty-pixel.md +0 -171
  501. package/.kilo/plans/1780293725888-quick-wizard.md +0 -62
  502. package/.lonny/plan-web-cwd-status.md +0 -38
  503. package/AGENT.md +0 -99
  504. package/src/tools/bash.ts +0 -39
  505. package/src/tools/edit.ts +0 -554
  506. package/src/tools/exec.ts +0 -348
  507. package/src/tools/git.ts +0 -76
  508. package/src/tools/install_skill.ts +0 -539
  509. package/src/tui/components.ts +0 -635
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /** Maximum output length (chars) to prevent context overflow. */
2
+ export declare const MAX_OUTPUT_LENGTH = 10000;
3
+ /** Maximum stderr length included in error messages */
4
+ export declare const MAX_ERROR_LENGTH = 2000;
5
+ /** Maximum allowed timeout (10 minutes) */
6
+ export declare const MAX_TIMEOUT = 600000;
7
+ /** Minimum allowed timeout (100ms) */
8
+ export declare const MIN_TIMEOUT = 100;
9
+ /** Default timeout (2 minutes) */
10
+ export declare const DEFAULT_TIMEOUT = 120000;
11
+ /**
12
+ * Patterns that indicate a destructive command.
13
+ * If matched, the tool will warn the user instead of executing.
14
+ */
15
+ export declare const DESTRUCTIVE_PATTERNS: {
16
+ regex: RegExp;
17
+ hint: string;
18
+ }[];
19
+ /**
20
+ * Patterns that match sensitive data (API keys, tokens, passwords, etc.)
21
+ * in command output. Matching content is replaced with "[REDACTED]".
22
+ */
23
+ export declare const SENSITIVE_PATTERNS: RegExp[];
24
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/tools/execute/bash/constants.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,QAAS,CAAA;AAEvC,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,OAAQ,CAAA;AAErC,2CAA2C;AAC3C,eAAO,MAAM,WAAW,SAAU,CAAA;AAElC,sCAAsC;AACtC,eAAO,MAAM,WAAW,MAAM,CAAA;AAE9B,kCAAkC;AAClC,eAAO,MAAM,eAAe,SAAU,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAiDjE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAkBtC,CAAA"}
@@ -0,0 +1,88 @@
1
+ /** Maximum output length (chars) to prevent context overflow. */
2
+ export const MAX_OUTPUT_LENGTH = 10_000;
3
+ /** Maximum stderr length included in error messages */
4
+ export const MAX_ERROR_LENGTH = 2_000;
5
+ /** Maximum allowed timeout (10 minutes) */
6
+ export const MAX_TIMEOUT = 600_000;
7
+ /** Minimum allowed timeout (100ms) */
8
+ export const MIN_TIMEOUT = 100;
9
+ /** Default timeout (2 minutes) */
10
+ export const DEFAULT_TIMEOUT = 120_000;
11
+ /**
12
+ * Patterns that indicate a destructive command.
13
+ * If matched, the tool will warn the user instead of executing.
14
+ */
15
+ export const DESTRUCTIVE_PATTERNS = [
16
+ // ═══════════════════════
17
+ // Unix destructive
18
+ // ═══════════════════════
19
+ { regex: /\brm\s+-(?:rf|fr)\s+\/$/i, hint: 'rm -rf / would destroy the system' },
20
+ { regex: /\brm\s+-(?:rf|fr)\s+\/\*/i, hint: 'rm -rf /* would destroy the system' },
21
+ { regex: /\brm\s+-(?:rf|fr)\s+~$/i, hint: 'rm -rf ~ would delete the home directory' },
22
+ { regex: /\b(?:mkfs|dd)\s+(?:\/dev|\\.)/i, hint: 'mkfs/dd would destroy a disk device' },
23
+ { regex: /\bchmod\s+-R\s+0{4}\b/, hint: 'chmod -R 0000 would make files inaccessible' },
24
+ {
25
+ regex: /\b(?:shutdown|reboot|halt|poweroff)\s+(?:-h|-r|-now|now)\b/i,
26
+ hint: 'shutdown/reboot would halt the system',
27
+ },
28
+ {
29
+ regex: /\b(?:killall|pkill)\s+-9\s+/i,
30
+ hint: 'killall -9 would terminate all matching processes',
31
+ },
32
+ // ═══════════════════════
33
+ // Windows destructive
34
+ // ═══════════════════════
35
+ {
36
+ regex: /\b(?:Remove-Item|rmdir|rd)\s+.*(?:-Recurse|-R)\s+.*(?:-Force|-F)\b/i,
37
+ hint: 'recursive force delete would destroy data',
38
+ },
39
+ {
40
+ regex: /\b(?:Remove-Item|rmdir|rd)\s+\w:\s*[\\/]/i,
41
+ hint: 'recursive delete on drive root would destroy data',
42
+ },
43
+ {
44
+ regex: /\b(?:del|erase)\s+.*(?:\/F|\/S)\b/i,
45
+ hint: 'force delete would destroy files irreversibly',
46
+ },
47
+ { regex: /\bformat\s+\w:\s*\/[Qq]/i, hint: 'format would destroy a drive' },
48
+ { regex: /\b(?:diskpart|clean-all)\b/i, hint: 'diskpart clean-all would destroy all partitions' },
49
+ { regex: /\bClear-Item\s+/i, hint: 'Clear-Item would delete content irreversibly' },
50
+ { regex: /\bClear-Content\s+/i, hint: 'Clear-Content would delete file content irreversibly' },
51
+ { regex: /\bRemove-ItemProperty\s+/i, hint: 'Remove-ItemProperty would delete registry keys' },
52
+ { regex: /\bRemove-Variable\s+-Force\b/i, hint: 'Remove-Variable -Force would delete variables' },
53
+ { regex: /\breg\s+delete\s+/i, hint: 'reg delete would destroy registry entries' },
54
+ { regex: /\bwmic\s+\w+\s+delete\b/i, hint: 'wmic delete would destroy system resources' },
55
+ { regex: /\b(?:cipher|sdelete)\s+\/w:/i, hint: 'secure delete would irreversibly wipe data' },
56
+ {
57
+ regex: /\[System\.IO\.Directory\]::Delete\s*\(/i,
58
+ hint: 'Directory.Delete would destroy data irreversibly',
59
+ },
60
+ {
61
+ regex: /\[System\.IO\.File\]::Delete\s*\(/i,
62
+ hint: 'File.Delete would destroy data irreversibly',
63
+ },
64
+ ];
65
+ /**
66
+ * Patterns that match sensitive data (API keys, tokens, passwords, etc.)
67
+ * in command output. Matching content is replaced with "[REDACTED]".
68
+ */
69
+ export const SENSITIVE_PATTERNS = [
70
+ // Generic API keys / tokens
71
+ /(?:api[_-]?key|apikey|token|secret|password|passwd|credential|auth[_-]?token)[=:]\s*['"]?[A-Za-z0-9_\-.]{16,}/gi,
72
+ // AWS keys
73
+ /(?:AKIA[0-9A-Z]{16}|[A-Za-z0-9+/]{40}\s*=[=]{0,2})/g,
74
+ // GitHub tokens
75
+ /gh[pousr]_[A-Za-z0-9_]{36,}/g,
76
+ // npm tokens
77
+ /npm_[A-Za-z0-9]{36,}/g,
78
+ // Slack tokens
79
+ /xox[baprs]-[A-Za-z0-9-]{24,}/g,
80
+ // SSH private key content (multi-line)
81
+ /-----BEGIN[ A-Z]+PRIVATE KEY-----[\s\S]*?-----END[ A-Z]+PRIVATE KEY-----/g,
82
+ // JWT tokens
83
+ /eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}/g,
84
+ // Generic password-like strings in env vars
85
+ /export\s+\w*(?:PASS|SECRET|TOKEN|KEY)\w*\s*=\s*['"]?\S+['"]?/gi,
86
+ /\$env:\w*(?:PASS|SECRET|TOKEN|KEY)\w*\s*=\s*['"]?\S+['"]?/gi,
87
+ ];
88
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/tools/execute/bash/constants.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEvC,uDAAuD;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAErC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAA;AAElC,sCAAsC;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;AAE9B,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAA;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACrE,0BAA0B;IAC1B,mBAAmB;IACnB,0BAA0B;IAC1B,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,mCAAmC,EAAE;IAChF,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,oCAAoC,EAAE;IAClF,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,0CAA0C,EAAE;IACtF,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,qCAAqC,EAAE;IACxF,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,6CAA6C,EAAE;IACvF;QACE,KAAK,EAAE,6DAA6D;QACpE,IAAI,EAAE,uCAAuC;KAC9C;IACD;QACE,KAAK,EAAE,8BAA8B;QACrC,IAAI,EAAE,mDAAmD;KAC1D;IACD,0BAA0B;IAC1B,sBAAsB;IACtB,0BAA0B;IAC1B;QACE,KAAK,EAAE,qEAAqE;QAC5E,IAAI,EAAE,2CAA2C;KAClD;IACD;QACE,KAAK,EAAE,2CAA2C;QAClD,IAAI,EAAE,mDAAmD;KAC1D;IACD;QACE,KAAK,EAAE,oCAAoC;QAC3C,IAAI,EAAE,+CAA+C;KACtD;IACD,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,8BAA8B,EAAE;IAC3E,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,iDAAiD,EAAE;IACjG,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,8CAA8C,EAAE;IACnF,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,sDAAsD,EAAE;IAC9F,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,gDAAgD,EAAE;IAC9F,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,+CAA+C,EAAE;IACjG,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,2CAA2C,EAAE;IAClF,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,4CAA4C,EAAE;IACzF,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,4CAA4C,EAAE;IAC7F;QACE,KAAK,EAAE,yCAAyC;QAChD,IAAI,EAAE,kDAAkD;KACzD;IACD;QACE,KAAK,EAAE,oCAAoC;QAC3C,IAAI,EAAE,6CAA6C;KACpD;CACF,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAa;IAC1C,4BAA4B;IAC5B,iHAAiH;IACjH,WAAW;IACX,qDAAqD;IACrD,gBAAgB;IAChB,8BAA8B;IAC9B,aAAa;IACb,uBAAuB;IACvB,eAAe;IACf,+BAA+B;IAC/B,uCAAuC;IACvC,2EAA2E;IAC3E,aAAa;IACb,gEAAgE;IAChE,4CAA4C;IAC5C,gEAAgE;IAChE,6DAA6D;CAC9D,CAAA"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Truncate a string to maxLength chars. If truncated, appends a warning.
3
+ * Returns the (possibly truncated) string.
4
+ */
5
+ declare function truncateOutput(s: string, maxLength: number, label: string): string;
6
+ /**
7
+ * Check if stderr contains PowerShell NativeCommandError wrapping.
8
+ * This happens when a native command (like git push) writes to stderr and
9
+ * PowerShell wraps the output in an ErrorRecord format even though the
10
+ * command exited successfully (exit code 0).
11
+ *
12
+ * Example format:
13
+ * git : Everything up-to-date
14
+ * At line:1 char:1
15
+ * + git push 2>&1
16
+ * + ~~~~~~~~~~~~~
17
+ * + CategoryInfo : NotSpecified: (...) [], RemoteException
18
+ * + FullyQualifiedErrorId : NativeCommandError
19
+ *
20
+ * Returns the extracted actual output if detected, null otherwise.
21
+ */
22
+ declare function extractPowerShellNativeOutput(stderr: string): string | null;
23
+ /**
24
+ * Check if stderr indicates common PowerShell errors and return a helpful message.
25
+ * Returns a tip string if detected, null otherwise.
26
+ */
27
+ declare function checkPowerShellError(stderr: string, command: string): string | null;
28
+ /**
29
+ * Check if stderr output indicates a "command not found" error.
30
+ * Returns a platform-appropriate suggestion if detected, null otherwise.
31
+ */
32
+ declare function checkCommandNotFound(stderr: string, command: string): string | null;
33
+ /**
34
+ * Build a helpful error message for a failed command, including
35
+ * platform-specific suggestions when applicable.
36
+ */
37
+ declare function buildErrorMsg(exitCode: number, stderr: string, command: string, timedOut: boolean, cwd?: string): string;
38
+ export { buildErrorMsg, checkCommandNotFound, checkPowerShellError, extractPowerShellNativeOutput, truncateOutput };
39
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/tools/execute/bash/errors.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,iBAAS,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuCpE;AAED;;;GAGG;AACH,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwC5E;AAED;;;GAGG;AACH,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8B5E;AAED;;;GAGG;AACH,iBAAS,aAAa,CACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAkIR;AAED,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,249 @@
1
+ import * as os from 'node:os';
2
+ import { MAX_ERROR_LENGTH } from './constants.js';
3
+ import { redactSensitive } from './security.js';
4
+ /**
5
+ * Truncate a string to maxLength chars. If truncated, appends a warning.
6
+ * Returns the (possibly truncated) string.
7
+ */
8
+ function truncateOutput(s, maxLength, label) {
9
+ if (s.length <= maxLength)
10
+ return s;
11
+ const truncated = s.slice(0, maxLength);
12
+ const warning = `\n... [${label} truncated at ${maxLength} chars, original ${s.length} chars]`;
13
+ return truncated + warning;
14
+ }
15
+ /**
16
+ * Check if stderr contains PowerShell NativeCommandError wrapping.
17
+ * This happens when a native command (like git push) writes to stderr and
18
+ * PowerShell wraps the output in an ErrorRecord format even though the
19
+ * command exited successfully (exit code 0).
20
+ *
21
+ * Example format:
22
+ * git : Everything up-to-date
23
+ * At line:1 char:1
24
+ * + git push 2>&1
25
+ * + ~~~~~~~~~~~~~
26
+ * + CategoryInfo : NotSpecified: (...) [], RemoteException
27
+ * + FullyQualifiedErrorId : NativeCommandError
28
+ *
29
+ * Returns the extracted actual output if detected, null otherwise.
30
+ */
31
+ function extractPowerShellNativeOutput(stderr) {
32
+ // Detect PowerShell ErrorRecord wrapping around native command stderr output.
33
+ // The key marker is "FullyQualifiedErrorId : NativeCommandError".
34
+ if (!/FullyQualifiedErrorId\s*:\s*NativeCommandError/i.test(stderr)) {
35
+ return null;
36
+ }
37
+ const lines = stderr.split(/\r?\n/);
38
+ const outputLines = [];
39
+ for (const line of lines) {
40
+ const trimmed = line.trim();
41
+ // Skip PowerShell error record wrapper lines:
42
+ // " + CategoryInfo : ..." (indented, with +)
43
+ // " + FullyQualifiedErrorId : ..."
44
+ // "At line:1 char:1" or Chinese garbled equivalent
45
+ // "+ command ..." (the command echo line with leading +)
46
+ // " + ~~~~~~~~~~~~~" (the caret underline)
47
+ if (/^\s*\+/.test(trimmed) ||
48
+ /^At\s+line:\d+/i.test(trimmed) ||
49
+ /^\+?\s*CategoryInfo/i.test(trimmed) ||
50
+ /^\+?\s*FullyQualifiedErrorId/i.test(trimmed)) {
51
+ continue;
52
+ }
53
+ // Skip blank lines within the error record block (but keep leading whitespace for formatting)
54
+ if (!trimmed && outputLines.length > 0) {
55
+ continue;
56
+ }
57
+ // Remove leading whitespace from the first content line (the "<command> : <message>" line)
58
+ outputLines.push(line);
59
+ }
60
+ const result = outputLines.join('\n').trim();
61
+ return result || null;
62
+ }
63
+ /**
64
+ * Check if stderr indicates common PowerShell errors and return a helpful message.
65
+ * Returns a tip string if detected, null otherwise.
66
+ */
67
+ function checkPowerShellError(stderr, command) {
68
+ const errLower = stderr.toLowerCase();
69
+ // Execution policy errors
70
+ if (/execution.?policy/i.test(errLower) || /running scripts is disabled/i.test(errLower)) {
71
+ return 'PowerShell execution policy is blocking this command. Try: `powershell -ExecutionPolicy Bypass -Command "..."`';
72
+ }
73
+ // Module not found
74
+ if (/module.*not (found|available)/i.test(errLower) ||
75
+ /could not (find|load).*module/i.test(errLower)) {
76
+ const moduleMatch = stderr.match(/module\s+['"]?(\w+)['"]?/i);
77
+ const moduleName = moduleMatch ? moduleMatch[1] : '<unknown>';
78
+ return `PowerShell module not found: "${moduleName}". Install it with: Install-Module ${moduleName} -Force`;
79
+ }
80
+ // Cmdlet not found
81
+ if (/the term '(\w+)' is not recognized/i.test(errLower)) {
82
+ const cmdMatch = stderr.match(/the term '(\w+)'/i);
83
+ const cmdName = cmdMatch ? cmdMatch[1] : command.split(/\s+/)[0] || command;
84
+ return `Cmdlet not found: "${cmdName}". This command may need a module or be installed separately.`;
85
+ }
86
+ // Access denied
87
+ if (/access is denied/i.test(errLower) ||
88
+ /permission denied/i.test(errLower) ||
89
+ /unauthorized/i.test(errLower)) {
90
+ return 'Access denied. Try running as Administrator (on Windows) or using sudo (on Unix).';
91
+ }
92
+ // Path not found
93
+ if (/cannot find (path|drive)/i.test(errLower) || /path.*does not exist/i.test(errLower)) {
94
+ return 'The specified path or drive was not found. Check that the path exists and is accessible.';
95
+ }
96
+ return null;
97
+ }
98
+ /**
99
+ * Check if stderr output indicates a "command not found" error.
100
+ * Returns a platform-appropriate suggestion if detected, null otherwise.
101
+ */
102
+ function checkCommandNotFound(stderr, command) {
103
+ const isWindows = os.platform() === 'win32';
104
+ const errLower = stderr.toLowerCase();
105
+ if (isWindows) {
106
+ // PowerShell "not recognized" patterns
107
+ if (/not recognized/.test(errLower) ||
108
+ /is not recognized/.test(errLower) ||
109
+ /找不到/.test(errLower) ||
110
+ /command not found/.test(errLower) ||
111
+ /not found/.test(errLower) ||
112
+ /neither the command nor/.test(errLower)) {
113
+ // Extract the command name that wasn't found (first word of the command)
114
+ const cmdName = command.split(/\s+/)[0] || command;
115
+ return `Command not found: "${cmdName}". It may be a Unix command not available on Windows. Use "where" to find available commands or use PowerShell-native alternatives.`;
116
+ }
117
+ }
118
+ else {
119
+ // Unix "not found" patterns
120
+ if (/not found/.test(errLower) ||
121
+ /command not found/.test(errLower) ||
122
+ /no such file/.test(errLower)) {
123
+ const cmdName = command.split(/\s+/)[0] || command;
124
+ return `Command not found: "${cmdName}". Check that it is installed, or use "which ${cmdName}" to find its location.`;
125
+ }
126
+ }
127
+ return null;
128
+ }
129
+ /**
130
+ * Build a helpful error message for a failed command, including
131
+ * platform-specific suggestions when applicable.
132
+ */
133
+ function buildErrorMsg(exitCode, stderr, command, timedOut, cwd) {
134
+ const parts = [];
135
+ if (timedOut) {
136
+ parts.push(`Command timed out (exit code ${exitCode})`);
137
+ }
138
+ else {
139
+ parts.push(`Command exited with code ${exitCode}`);
140
+ }
141
+ // Check for "command not found" first (before including full stderr)
142
+ const notFoundMsg = checkCommandNotFound(stderr, command);
143
+ if (notFoundMsg) {
144
+ parts.push(notFoundMsg);
145
+ }
146
+ // Check for common PowerShell errors
147
+ if (os.platform() === 'win32') {
148
+ const psErrMsg = checkPowerShellError(stderr, command);
149
+ if (psErrMsg) {
150
+ parts.push(psErrMsg);
151
+ }
152
+ }
153
+ // Include stderr content (truncated and redacted)
154
+ const stderrTrimmed = stderr.trim();
155
+ if (stderrTrimmed) {
156
+ const redactedStderr = redactSensitive(stderrTrimmed);
157
+ parts.push(`stderr:\n${truncateOutput(redactedStderr, MAX_ERROR_LENGTH, 'stderr')}`);
158
+ }
159
+ // Platform-specific suggestions for common mistakes
160
+ const isWindows = os.platform() === 'win32';
161
+ if (isWindows) {
162
+ // Common Windows command mistakes
163
+ if (/ls\b/.test(command) && !/ls\b/.test(command.replace(/".*"/g, ''))) {
164
+ parts.push('💡 Tip: On Windows, use `dir` instead of `ls`, or `Get-ChildItem` in PowerShell.');
165
+ }
166
+ if (/grep\b/.test(command)) {
167
+ parts.push('💡 Tip: On Windows, use `findstr` or `Select-String` instead of `grep`.');
168
+ }
169
+ if (/touch\b/.test(command)) {
170
+ parts.push('💡 Tip: On Windows, `touch` is not available. Use `New-Item` or `edit` tool to create files.');
171
+ }
172
+ if (/ps\b/.test(command)) {
173
+ parts.push('💡 Tip: On Windows, use `Get-Process` instead of `ps` for listing processes.');
174
+ }
175
+ if (/pwd\b/.test(command)) {
176
+ parts.push('💡 Tip: On Windows, use `Get-Location` or `$pwd` instead of `pwd`.');
177
+ }
178
+ if (/chmod\b/.test(command) ||
179
+ /cp\b/.test(command) ||
180
+ /mv\b/.test(command) ||
181
+ /rm\b/.test(command) ||
182
+ /mkdir\b/.test(command)) {
183
+ parts.push('💡 Tip: On Windows, use native equivalents: `copy`, `move`, `del`, `mkdir`, `icacls` instead of Unix commands.');
184
+ }
185
+ if (/cat\b/.test(command)) {
186
+ parts.push('💡 Tip: On Windows, use `type` or `Get-Content` instead of `cat`.');
187
+ }
188
+ if (/which\b/.test(command)) {
189
+ parts.push('💡 Tip: On Windows, use `where` instead of `which` to find executable locations.');
190
+ }
191
+ if (/less\b/.test(command) || /more\b/.test(command)) {
192
+ parts.push('💡 Tip: On Windows, use `more` or `Out-Host -Paging` for paging output.');
193
+ }
194
+ if (/sort\b/.test(command) && !/sort-object/i.test(command) && !/Sort-Object/i.test(command)) {
195
+ parts.push('💡 Tip: On Windows, use `Sort-Object` instead of `sort`.');
196
+ }
197
+ if (/head\b/.test(command)) {
198
+ parts.push('💡 Tip: On Windows, use `Select-Object -First` instead of `head`.');
199
+ }
200
+ if (/tail\b/.test(command)) {
201
+ parts.push('💡 Tip: On Windows, use `Get-Content -Tail` or `Select-Object -Last` instead of `tail`.');
202
+ }
203
+ if (/diff\b/.test(command) || /cmp\b/.test(command)) {
204
+ parts.push('💡 Tip: On Windows, use `Compare-Object` instead of `diff`/`cmp`.');
205
+ }
206
+ if (/curl\b/.test(command) && !/curl\b/.test(command.replace(/".*"/g, ''))) {
207
+ parts.push('💡 Tip: On Windows, use `Invoke-WebRequest` or `Invoke-RestMethod` instead of `curl`. curl is available in newer Windows builds.');
208
+ }
209
+ if (/wget\b/.test(command)) {
210
+ parts.push('💡 Tip: On Windows, use `Invoke-WebRequest` instead of `wget`.');
211
+ }
212
+ if (/env\b/.test(command)) {
213
+ parts.push('💡 Tip: On Windows, use `Get-ChildItem Env:` to list environment variables.');
214
+ }
215
+ if (/kill\b/.test(command) && !/stop-process/i.test(command)) {
216
+ parts.push('💡 Tip: On Windows, use `Stop-Process` or `taskkill` instead of `kill`.');
217
+ }
218
+ }
219
+ else {
220
+ // Unix-specific tips
221
+ if (/dir\b/.test(command)) {
222
+ parts.push('💡 Tip: On Unix, use `ls -la` instead of `dir`.');
223
+ }
224
+ if (/findstr\b/.test(command)) {
225
+ parts.push('💡 Tip: On Unix, use `grep` instead of `findstr`.');
226
+ }
227
+ if (/type\b/.test(command) && !/type\b/.test(command.replace(/".*"/g, ''))) {
228
+ parts.push('💡 Tip: On Unix, use `cat` instead of `type`.');
229
+ }
230
+ if (/where\b/.test(command)) {
231
+ parts.push('💡 Tip: On Unix, use `which` instead of `where` to find executable locations.');
232
+ }
233
+ if (/copy\b/.test(command)) {
234
+ parts.push('💡 Tip: On Unix, use `cp` instead of `copy`.');
235
+ }
236
+ if (/move\b/.test(command) || /ren\b/.test(command)) {
237
+ parts.push('💡 Tip: On Unix, use `mv` instead of `move`/`ren`.');
238
+ }
239
+ if (/del\b/.test(command)) {
240
+ parts.push('💡 Tip: On Unix, use `rm` instead of `del`.');
241
+ }
242
+ }
243
+ if (cwd) {
244
+ parts.push(`Working directory: ${cwd}`);
245
+ }
246
+ return parts.join('\n');
247
+ }
248
+ export { buildErrorMsg, checkCommandNotFound, checkPowerShellError, extractPowerShellNativeOutput, truncateOutput };
249
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/tools/execute/bash/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C;;;GAGG;AACH,SAAS,cAAc,CAAC,CAAS,EAAE,SAAiB,EAAE,KAAa;IACjE,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,UAAU,KAAK,iBAAiB,SAAS,oBAAoB,CAAC,CAAC,MAAM,SAAS,CAAA;IAC9F,OAAO,SAAS,GAAG,OAAO,CAAA;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,6BAA6B,CAAC,MAAc;IACnD,8EAA8E;IAC9E,kEAAkE;IAClE,IAAI,CAAC,iDAAiD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAE3B,8CAA8C;QAC9C,2DAA2D;QAC3D,uCAAuC;QACvC,qDAAqD;QACrD,2DAA2D;QAC3D,8CAA8C;QAC9C,IACE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YACtB,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC;YACpC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,EAC7C,CAAC;YACD,SAAQ;QACV,CAAC;QAED,8FAA8F;QAC9F,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,SAAQ;QACV,CAAC;QAED,2FAA2F;QAC3F,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC5C,OAAO,MAAM,IAAI,IAAI,CAAA;AACvB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,MAAc,EAAE,OAAe;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAErC,0BAA0B;IAC1B,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzF,OAAO,gHAAgH,CAAA;IACzH,CAAC;IAED,mBAAmB;IACnB,IACE,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/C,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC/C,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,WAAW,CAAA;QAC9D,OAAO,iCAAiC,UAAU,sCAAsC,UAAU,SAAS,CAAA;IAC7G,CAAC;IAED,mBAAmB;IACnB,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAA;QAC5E,OAAO,sBAAsB,OAAO,+DAA+D,CAAA;IACrG,CAAC;IAED,gBAAgB;IAChB,IACE,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC9B,CAAC;QACD,OAAO,mFAAmF,CAAA;IAC5F,CAAC;IAED,iBAAiB;IACjB,IAAI,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzF,OAAO,0FAA0F,CAAA;IACnG,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,MAAc,EAAE,OAAe;IAC3D,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAErC,IAAI,SAAS,EAAE,CAAC;QACd,uCAAuC;QACvC,IACE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YACpB,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1B,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxC,CAAC;YACD,yEAAyE;YACzE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAA;YAClD,OAAO,uBAAuB,OAAO,qIAAqI,CAAA;QAC5K,CAAC;IACH,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,IACE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1B,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7B,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAA;YAClD,OAAO,uBAAuB,OAAO,gDAAgD,OAAO,yBAAyB,CAAA;QACvH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,QAAgB,EAChB,MAAc,EACd,OAAe,EACf,QAAiB,EACjB,GAAY;IAEZ,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,gCAAgC,QAAQ,GAAG,CAAC,CAAA;IACzD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,qEAAqE;IACrE,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACzB,CAAC;IAED,qCAAqC;IACrC,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IACnC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,cAAc,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;QACrD,KAAK,CAAC,IAAI,CAAC,YAAY,cAAc,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtF,CAAC;IAED,oDAAoD;IACpD,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAA;IAE3C,IAAI,SAAS,EAAE,CAAC;QACd,kCAAkC;QAClC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;QAChG,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CACR,8FAA8F,CAC/F,CAAA;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAA;QAC5F,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAA;QAClF,CAAC;QACD,IACE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EACvB,CAAC;YACD,KAAK,CAAC,IAAI,CACR,gHAAgH,CACjH,CAAA;QACH,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;QAChG,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7F,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CACR,yFAAyF,CAC1F,CAAA;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3E,KAAK,CAAC,IAAI,CACR,kIAAkI,CACnI,CAAA;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAA;QAC9E,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAA;QAC3F,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;QAC/D,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAA;QAC7F,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { ChildProcess } from 'node:child_process';
2
+ interface ExecResult {
3
+ stdout: string;
4
+ stderr: string;
5
+ exitCode: number;
6
+ timedOut: boolean;
7
+ }
8
+ /**
9
+ * Kill a child process tree reliably across platforms.
10
+ * - On Windows: uses `taskkill /F /T` for force-kill of the process tree when possible.
11
+ * - On Unix: sends SIGTERM first, then SIGKILL after a grace period.
12
+ * - Handles missing pid and protects against thrown errors.
13
+ */
14
+ declare function killProcess(child: ChildProcess): NodeJS.Timeout | undefined;
15
+ declare function execCommand(command: string, timeout: number, cwd?: string): Promise<ExecResult>;
16
+ export type { ExecResult };
17
+ export { execCommand, killProcess };
18
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../../src/tools/execute/bash/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAQtD,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;GAKG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CA4DpE;AAED,iBAAS,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA4HxF;AAED,YAAY,EAAE,UAAU,EAAE,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA"}