@pentoshi/clai 4.12.0 → 4.13.0

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 (609) hide show
  1. package/CODE_OF_CONDUCT.md +132 -0
  2. package/CONTRIBUTING.md +101 -0
  3. package/PROVIDERS.md +149 -0
  4. package/README.md +217 -426
  5. package/SECURITY.md +33 -0
  6. package/dist/agent/compaction/summary-execution.js +19 -4
  7. package/dist/agent/compaction/summary-execution.js.map +1 -1
  8. package/dist/agent/compaction-summary.d.ts +5 -2
  9. package/dist/agent/compaction-summary.js +10 -4
  10. package/dist/agent/compaction-summary.js.map +1 -1
  11. package/dist/agent/confirm-port.d.ts +3 -5
  12. package/dist/agent/confirm-port.js +12 -6
  13. package/dist/agent/confirm-port.js.map +1 -1
  14. package/dist/agent/context/compact-with-summary.d.ts +1 -0
  15. package/dist/agent/context/compact-with-summary.js +36 -7
  16. package/dist/agent/context/compact-with-summary.js.map +1 -1
  17. package/dist/agent/context/compaction-recent-history.d.ts +12 -0
  18. package/dist/agent/context/compaction-recent-history.js +114 -0
  19. package/dist/agent/context/compaction-recent-history.js.map +1 -0
  20. package/dist/agent/context/latest-user-message.d.ts +2 -0
  21. package/dist/agent/context/latest-user-message.js +10 -0
  22. package/dist/agent/context/latest-user-message.js.map +1 -0
  23. package/dist/agent/context/user-credentials.d.ts +1 -0
  24. package/dist/agent/context/user-credentials.js +3 -0
  25. package/dist/agent/context/user-credentials.js.map +1 -1
  26. package/dist/agent/context-manager.js +6 -2
  27. package/dist/agent/context-manager.js.map +1 -1
  28. package/dist/agent/evidence/task-classification.js +2 -5
  29. package/dist/agent/evidence/task-classification.js.map +1 -1
  30. package/dist/agent/evidence/tool-budgets.js +4 -14
  31. package/dist/agent/evidence/tool-budgets.js.map +1 -1
  32. package/dist/agent/loop-guard.js +1 -5
  33. package/dist/agent/loop-guard.js.map +1 -1
  34. package/dist/agent/outcomes.js +9 -1
  35. package/dist/agent/outcomes.js.map +1 -1
  36. package/dist/agent/parser/arg-formatting.js +3 -16
  37. package/dist/agent/parser/arg-formatting.js.map +1 -1
  38. package/dist/agent/parser/bare-recognition.js +12 -6
  39. package/dist/agent/parser/bare-recognition.js.map +1 -1
  40. package/dist/agent/parser/xml-protocol.js +0 -2
  41. package/dist/agent/parser/xml-protocol.js.map +1 -1
  42. package/dist/agent/plan-implement-compact.js +2 -1
  43. package/dist/agent/plan-implement-compact.js.map +1 -1
  44. package/dist/agent/request-budget.d.ts +1 -0
  45. package/dist/agent/request-budget.js +6 -1
  46. package/dist/agent/request-budget.js.map +1 -1
  47. package/dist/agent/runner.js +2 -2
  48. package/dist/agent/runner.js.map +1 -1
  49. package/dist/agent/session-policy.d.ts +1 -0
  50. package/dist/agent/session-policy.js +1 -4
  51. package/dist/agent/session-policy.js.map +1 -1
  52. package/dist/agent/subagents/manager.d.ts +5 -1
  53. package/dist/agent/subagents/manager.js +96 -15
  54. package/dist/agent/subagents/manager.js.map +1 -1
  55. package/dist/agent/subagents/read-only-tools.js +44 -20
  56. package/dist/agent/subagents/read-only-tools.js.map +1 -1
  57. package/dist/agent/subagents/tools.d.ts +8 -1
  58. package/dist/agent/subagents/tools.js +21 -13
  59. package/dist/agent/subagents/tools.js.map +1 -1
  60. package/dist/agent/subagents/types.d.ts +8 -0
  61. package/dist/agent/subagents/worker.js +48 -7
  62. package/dist/agent/subagents/worker.js.map +1 -1
  63. package/dist/agent/task-evidence.js +2 -11
  64. package/dist/agent/task-evidence.js.map +1 -1
  65. package/dist/agent/tool-output-formatting.js +8 -2
  66. package/dist/agent/tool-output-formatting.js.map +1 -1
  67. package/dist/agent/turn/automatic-compaction-execution.js +1 -0
  68. package/dist/agent/turn/automatic-compaction-execution.js.map +1 -1
  69. package/dist/agent/turn/compaction-coordinator.js +4 -4
  70. package/dist/agent/turn/compaction-coordinator.js.map +1 -1
  71. package/dist/agent/turn/compaction-replay-selection.js +1 -0
  72. package/dist/agent/turn/compaction-replay-selection.js.map +1 -1
  73. package/dist/agent/turn/loop/run-rounds.js +11 -3
  74. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  75. package/dist/agent/turn/prompt-sections.js +4 -9
  76. package/dist/agent/turn/prompt-sections.js.map +1 -1
  77. package/dist/agent/turn/setup/turn-messages.js +2 -1
  78. package/dist/agent/turn/setup/turn-messages.js.map +1 -1
  79. package/dist/agent/turn/subagent-inbox.d.ts +5 -5
  80. package/dist/agent/turn/subagent-inbox.js +90 -11
  81. package/dist/agent/turn/subagent-inbox.js.map +1 -1
  82. package/dist/agent/turn/system-sections.d.ts +1 -0
  83. package/dist/agent/turn/system-sections.js +1 -1
  84. package/dist/agent/turn/system-sections.js.map +1 -1
  85. package/dist/agent/turn/task-autostart.js +2 -0
  86. package/dist/agent/turn/task-autostart.js.map +1 -1
  87. package/dist/agent/turn/tool-execution/authorization.js +3 -39
  88. package/dist/agent/turn/tool-execution/authorization.js.map +1 -1
  89. package/dist/agent/turn/tool-execution/single-tool.js +2 -4
  90. package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
  91. package/dist/agent/turn/tool-result-recorder.js +5 -0
  92. package/dist/agent/turn/tool-result-recorder.js.map +1 -1
  93. package/dist/agent/turn/tool-routing.d.ts +1 -1
  94. package/dist/agent/turn/tool-routing.js +11 -11
  95. package/dist/agent/turn/tool-routing.js.map +1 -1
  96. package/dist/agent/workspace-orient.js +2 -2
  97. package/dist/agent/workspace-orient.js.map +1 -1
  98. package/dist/app/adapters/agent-event-adapter.js +5 -0
  99. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  100. package/dist/app/adapters/current-store-adapter.js +2 -2
  101. package/dist/app/adapters/current-store-adapter.js.map +1 -1
  102. package/dist/app/commands/catalog.js +9 -4
  103. package/dist/app/commands/catalog.js.map +1 -1
  104. package/dist/app/commands/registry.js +1 -1
  105. package/dist/app/commands/registry.js.map +1 -1
  106. package/dist/app/controllers/session-compact-helper.js +2 -1
  107. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  108. package/dist/app/controllers/session-controller.d.ts +8 -0
  109. package/dist/app/controllers/session-controller.js +66 -12
  110. package/dist/app/controllers/session-controller.js.map +1 -1
  111. package/dist/app/controllers/session-naming.d.ts +4 -5
  112. package/dist/app/controllers/session-naming.js +38 -80
  113. package/dist/app/controllers/session-naming.js.map +1 -1
  114. package/dist/app/controllers/session-prompt-history.d.ts +4 -0
  115. package/dist/app/controllers/session-prompt-history.js +33 -0
  116. package/dist/app/controllers/session-prompt-history.js.map +1 -0
  117. package/dist/app/controllers/session-prompt-queue.d.ts +1 -0
  118. package/dist/app/controllers/session-prompt-queue.js +1 -1
  119. package/dist/app/controllers/session-prompt-queue.js.map +1 -1
  120. package/dist/app/events/artifact-output.d.ts +1 -0
  121. package/dist/app/events/artifact-output.js +32 -0
  122. package/dist/app/events/artifact-output.js.map +1 -0
  123. package/dist/app/events/event-buffer.d.ts +13 -1
  124. package/dist/app/events/event-buffer.js +92 -4
  125. package/dist/app/events/event-buffer.js.map +1 -1
  126. package/dist/app/operation-review.d.ts +7 -0
  127. package/dist/app/operation-review.js +61 -0
  128. package/dist/app/operation-review.js.map +1 -0
  129. package/dist/app/ports/confirm-port.d.ts +1 -1
  130. package/dist/app/ports/persistence-port.d.ts +2 -1
  131. package/dist/app/ports/secret-port.d.ts +2 -0
  132. package/dist/classic/app/ClassicApp.js +34 -3
  133. package/dist/classic/app/ClassicApp.js.map +1 -1
  134. package/dist/classic/app/action-handlers.js +0 -2
  135. package/dist/classic/app/action-handlers.js.map +1 -1
  136. package/dist/classic/app/app-wiring.d.ts +1 -2
  137. package/dist/classic/app/app-wiring.js +1 -8
  138. package/dist/classic/app/app-wiring.js.map +1 -1
  139. package/dist/classic/app/use-feed.js +2 -1
  140. package/dist/classic/app/use-feed.js.map +1 -1
  141. package/dist/classic/app/wiring-interactions.d.ts +0 -2
  142. package/dist/classic/app/wiring-interactions.js +5 -13
  143. package/dist/classic/app/wiring-interactions.js.map +1 -1
  144. package/dist/classic/app/wiring-types.d.ts +2 -2
  145. package/dist/classic/blocks/batch-lines.js +10 -8
  146. package/dist/classic/blocks/batch-lines.js.map +1 -1
  147. package/dist/classic/blocks/block-context.d.ts +1 -0
  148. package/dist/classic/blocks/block-context.js.map +1 -1
  149. package/dist/classic/blocks/tool-lines.js +20 -39
  150. package/dist/classic/blocks/tool-lines.js.map +1 -1
  151. package/dist/classic/bootstrap/renderer-handle.d.ts +5 -1
  152. package/dist/classic/bootstrap/renderer-handle.js.map +1 -1
  153. package/dist/classic/bootstrap/start-classic.js +12 -12
  154. package/dist/classic/bootstrap/start-classic.js.map +1 -1
  155. package/dist/classic/chrome/context-limit-editor.d.ts +7 -0
  156. package/dist/classic/chrome/context-limit-editor.js +5 -0
  157. package/dist/classic/chrome/context-limit-editor.js.map +1 -1
  158. package/dist/classic/chrome/status-rows.d.ts +4 -0
  159. package/dist/classic/chrome/status-rows.js +11 -0
  160. package/dist/classic/chrome/status-rows.js.map +1 -1
  161. package/dist/classic/feed/feed-blocks.d.ts +1 -1
  162. package/dist/classic/feed/feed-blocks.js +13 -6
  163. package/dist/classic/feed/feed-blocks.js.map +1 -1
  164. package/dist/classic/panels/confirm-panel.js +9 -3
  165. package/dist/classic/panels/confirm-panel.js.map +1 -1
  166. package/dist/classic/panels/keys-panel.js +12 -3
  167. package/dist/classic/panels/keys-panel.js.map +1 -1
  168. package/dist/classic/panels/pager-panel.js +0 -6
  169. package/dist/classic/panels/pager-panel.js.map +1 -1
  170. package/dist/classic/panels/pager-source-controller.d.ts +34 -0
  171. package/dist/classic/panels/pager-source-controller.js +209 -0
  172. package/dist/classic/panels/pager-source-controller.js.map +1 -0
  173. package/dist/classic/panels/panel-controller.d.ts +1 -5
  174. package/dist/classic/panels/panel-controller.js +44 -92
  175. package/dist/classic/panels/panel-controller.js.map +1 -1
  176. package/dist/classic/panels/panel-effect.d.ts +2 -4
  177. package/dist/classic/panels/panel-effect.js.map +1 -1
  178. package/dist/classic/panels/panel-effects.js +3 -6
  179. package/dist/classic/panels/panel-effects.js.map +1 -1
  180. package/dist/classic/panels/panel-types.d.ts +0 -2
  181. package/dist/classic/panels/picker-panel.js +1 -1
  182. package/dist/classic/panels/picker-panel.js.map +1 -1
  183. package/dist/classic/panels/secret-panel.d.ts +1 -0
  184. package/dist/classic/panels/secret-panel.js +8 -1
  185. package/dist/classic/panels/secret-panel.js.map +1 -1
  186. package/dist/commands/providers.d.ts +1 -0
  187. package/dist/commands/providers.js +1 -0
  188. package/dist/commands/providers.js.map +1 -1
  189. package/dist/commands/qoder.d.ts +8 -0
  190. package/dist/commands/qoder.js +85 -0
  191. package/dist/commands/qoder.js.map +1 -0
  192. package/dist/commands/update/installers.js +1 -0
  193. package/dist/commands/update/installers.js.map +1 -1
  194. package/dist/index.js +31 -15
  195. package/dist/index.js.map +1 -1
  196. package/dist/llm/capability/state.d.ts +1 -1
  197. package/dist/llm/capability/tool-dialect.js +1 -0
  198. package/dist/llm/capability/tool-dialect.js.map +1 -1
  199. package/dist/llm/capability/vision-patterns.js +1 -0
  200. package/dist/llm/capability/vision-patterns.js.map +1 -1
  201. package/dist/llm/catalog-facts.js +15 -8
  202. package/dist/llm/catalog-facts.js.map +1 -1
  203. package/dist/llm/codex-auth.d.ts +2 -0
  204. package/dist/llm/codex-auth.js +30 -0
  205. package/dist/llm/codex-auth.js.map +1 -1
  206. package/dist/llm/codex-config.js +18 -14
  207. package/dist/llm/codex-config.js.map +1 -1
  208. package/dist/llm/codex-models.d.ts +0 -1
  209. package/dist/llm/codex-models.js +0 -1
  210. package/dist/llm/codex-models.js.map +1 -1
  211. package/dist/llm/context-windows.js +2 -3
  212. package/dist/llm/context-windows.js.map +1 -1
  213. package/dist/llm/freebuff-run.d.ts +3 -0
  214. package/dist/llm/freebuff-run.js +9 -1
  215. package/dist/llm/freebuff-run.js.map +1 -1
  216. package/dist/llm/freebuff-session-api.d.ts +3 -1
  217. package/dist/llm/freebuff-session-api.js +14 -1
  218. package/dist/llm/freebuff-session-api.js.map +1 -1
  219. package/dist/llm/freebuff-session.d.ts +2 -0
  220. package/dist/llm/freebuff-session.js +61 -28
  221. package/dist/llm/freebuff-session.js.map +1 -1
  222. package/dist/llm/freebuff-wire.d.ts +3 -0
  223. package/dist/llm/freebuff-wire.js +82 -0
  224. package/dist/llm/freebuff-wire.js.map +1 -0
  225. package/dist/llm/freebuff.js +61 -117
  226. package/dist/llm/freebuff.js.map +1 -1
  227. package/dist/llm/provider-identity.js +5 -0
  228. package/dist/llm/provider-identity.js.map +1 -1
  229. package/dist/llm/provider-info-text.js +25 -0
  230. package/dist/llm/provider-info-text.js.map +1 -1
  231. package/dist/llm/provider-profile-layers.js +1 -1
  232. package/dist/llm/provider-profile-layers.js.map +1 -1
  233. package/dist/llm/qoder/qoder-accounts.d.ts +9 -0
  234. package/dist/llm/qoder/qoder-accounts.js +53 -0
  235. package/dist/llm/qoder/qoder-accounts.js.map +1 -0
  236. package/dist/llm/qoder/qoder-auth.d.ts +59 -0
  237. package/dist/llm/qoder/qoder-auth.js +203 -0
  238. package/dist/llm/qoder/qoder-auth.js.map +1 -0
  239. package/dist/llm/qoder/qoder-credential.d.ts +31 -0
  240. package/dist/llm/qoder/qoder-credential.js +82 -0
  241. package/dist/llm/qoder/qoder-credential.js.map +1 -0
  242. package/dist/llm/qoder/qoder-login.d.ts +28 -0
  243. package/dist/llm/qoder/qoder-login.js +153 -0
  244. package/dist/llm/qoder/qoder-login.js.map +1 -0
  245. package/dist/llm/qoder/qoder-refresh.d.ts +4 -0
  246. package/dist/llm/qoder/qoder-refresh.js +165 -0
  247. package/dist/llm/qoder/qoder-refresh.js.map +1 -0
  248. package/dist/llm/qoder/qoder-signer.d.ts +66 -0
  249. package/dist/llm/qoder/qoder-signer.js +119 -0
  250. package/dist/llm/qoder/qoder-signer.js.map +1 -0
  251. package/dist/llm/qoder/qoder.d.ts +20 -0
  252. package/dist/llm/qoder/qoder.js +441 -0
  253. package/dist/llm/qoder/qoder.js.map +1 -0
  254. package/dist/llm/qoder/signer-glue.generated.d.ts +1 -0
  255. package/dist/llm/qoder/signer-glue.generated.js +4 -0
  256. package/dist/llm/qoder/signer-glue.generated.js.map +1 -0
  257. package/dist/llm/qoder/signer-wasm.generated.d.ts +3 -0
  258. package/dist/llm/qoder/signer-wasm.generated.js +6 -0
  259. package/dist/llm/qoder/signer-wasm.generated.js.map +1 -0
  260. package/dist/llm/reasoning-capability.js +1 -0
  261. package/dist/llm/reasoning-capability.js.map +1 -1
  262. package/dist/llm/reasoning-controls.js +1 -3
  263. package/dist/llm/reasoning-controls.js.map +1 -1
  264. package/dist/llm/reasoning-errors.js +3 -1
  265. package/dist/llm/reasoning-errors.js.map +1 -1
  266. package/dist/llm/request-plan.js +18 -12
  267. package/dist/llm/request-plan.js.map +1 -1
  268. package/dist/llm/routing/attempt-complete.js +11 -4
  269. package/dist/llm/routing/attempt-complete.js.map +1 -1
  270. package/dist/llm/routing/attempt-request.d.ts +2 -1
  271. package/dist/llm/routing/attempt-request.js +37 -0
  272. package/dist/llm/routing/attempt-request.js.map +1 -1
  273. package/dist/llm/routing/attempt-stream.js +12 -4
  274. package/dist/llm/routing/attempt-stream.js.map +1 -1
  275. package/dist/llm/routing/provider-selection.js +3 -0
  276. package/dist/llm/routing/provider-selection.js.map +1 -1
  277. package/dist/llm/tool-protocol.js +6 -0
  278. package/dist/llm/tool-protocol.js.map +1 -1
  279. package/dist/llm/wire/chat-body.js +17 -0
  280. package/dist/llm/wire/chat-body.js.map +1 -1
  281. package/dist/llm/wire/reasoning-payload.d.ts +1 -1
  282. package/dist/llm/wire/reasoning-payload.js +6 -0
  283. package/dist/llm/wire/reasoning-payload.js.map +1 -1
  284. package/dist/modes/ask.js +26 -10
  285. package/dist/modes/ask.js.map +1 -1
  286. package/dist/noninteractive/readline-prompts.d.ts +2 -1
  287. package/dist/noninteractive/readline-prompts.js +34 -1
  288. package/dist/noninteractive/readline-prompts.js.map +1 -1
  289. package/dist/noninteractive/stdio-confirm-port.js +18 -6
  290. package/dist/noninteractive/stdio-confirm-port.js.map +1 -1
  291. package/dist/noninteractive/stream-blocks.d.ts +2 -4
  292. package/dist/noninteractive/stream-blocks.js +5 -5
  293. package/dist/noninteractive/stream-blocks.js.map +1 -1
  294. package/dist/noninteractive/stream-renderer.js +1 -1
  295. package/dist/noninteractive/stream-renderer.js.map +1 -1
  296. package/dist/prompts/embedded.js +2 -2
  297. package/dist/prompts/embedded.js.map +1 -1
  298. package/dist/prompts/index.d.ts +3 -1
  299. package/dist/prompts/index.js +27 -10
  300. package/dist/prompts/index.js.map +1 -1
  301. package/dist/prompts/system.agent.md +16 -16
  302. package/dist/prompts/system.ask.md +5 -3
  303. package/dist/safety/filesystem-permissions.d.ts +4 -0
  304. package/dist/safety/filesystem-permissions.js +113 -0
  305. package/dist/safety/filesystem-permissions.js.map +1 -0
  306. package/dist/safety/permission-mode.d.ts +5 -0
  307. package/dist/safety/permission-mode.js +22 -0
  308. package/dist/safety/permission-mode.js.map +1 -0
  309. package/dist/safety/shell-command-words.d.ts +11 -0
  310. package/dist/safety/shell-command-words.js +193 -0
  311. package/dist/safety/shell-command-words.js.map +1 -0
  312. package/dist/safety/shell-filesystem-effects.d.ts +14 -0
  313. package/dist/safety/shell-filesystem-effects.js +178 -0
  314. package/dist/safety/shell-filesystem-effects.js.map +1 -0
  315. package/dist/safety/shell-permission-words.d.ts +16 -0
  316. package/dist/safety/shell-permission-words.js +102 -0
  317. package/dist/safety/shell-permission-words.js.map +1 -0
  318. package/dist/safety/tool-classification.js +1 -15
  319. package/dist/safety/tool-classification.js.map +1 -1
  320. package/dist/session-runtime/binding.js +4 -1
  321. package/dist/session-runtime/binding.js.map +1 -1
  322. package/dist/session-runtime/client.js +111 -7
  323. package/dist/session-runtime/client.js.map +1 -1
  324. package/dist/session-runtime/discovery.d.ts +1 -1
  325. package/dist/session-runtime/discovery.js +2 -2
  326. package/dist/session-runtime/discovery.js.map +1 -1
  327. package/dist/session-runtime/host.d.ts +10 -2
  328. package/dist/session-runtime/host.js +206 -83
  329. package/dist/session-runtime/host.js.map +1 -1
  330. package/dist/session-runtime/input-commands.d.ts +2 -0
  331. package/dist/session-runtime/input-commands.js +11 -0
  332. package/dist/session-runtime/input-commands.js.map +1 -0
  333. package/dist/session-runtime/input-stream.d.ts +15 -0
  334. package/dist/session-runtime/input-stream.js +128 -0
  335. package/dist/session-runtime/input-stream.js.map +1 -0
  336. package/dist/session-runtime/types.d.ts +9 -0
  337. package/dist/store/config/endpoints.d.ts +2 -1
  338. package/dist/store/config/endpoints.js +4 -1
  339. package/dist/store/config/endpoints.js.map +1 -1
  340. package/dist/store/config.js +1 -0
  341. package/dist/store/config.js.map +1 -1
  342. package/dist/store/history/freshness.d.ts +9 -0
  343. package/dist/store/history/freshness.js +29 -0
  344. package/dist/store/history/freshness.js.map +1 -0
  345. package/dist/store/history/jsonl-backend.js +2 -16
  346. package/dist/store/history/jsonl-backend.js.map +1 -1
  347. package/dist/store/history/lifecycle.js +6 -2
  348. package/dist/store/history/lifecycle.js.map +1 -1
  349. package/dist/store/history/recovery.d.ts +1 -3
  350. package/dist/store/history/recovery.js +72 -111
  351. package/dist/store/history/recovery.js.map +1 -1
  352. package/dist/store/history/session-queries.js +5 -5
  353. package/dist/store/history/session-queries.js.map +1 -1
  354. package/dist/store/history-index.d.ts +5 -0
  355. package/dist/store/history-index.js +41 -9
  356. package/dist/store/history-index.js.map +1 -1
  357. package/dist/store/history.d.ts +7 -2
  358. package/dist/store/history.js +13 -7
  359. package/dist/store/history.js.map +1 -1
  360. package/dist/store/rtk-usage.d.ts +2 -0
  361. package/dist/store/rtk-usage.js +44 -0
  362. package/dist/store/rtk-usage.js.map +1 -0
  363. package/dist/store/session-model.js +0 -1
  364. package/dist/store/session-model.js.map +1 -1
  365. package/dist/store/session-prompts-format.d.ts +2 -0
  366. package/dist/store/session-prompts-format.js +29 -0
  367. package/dist/store/session-prompts-format.js.map +1 -0
  368. package/dist/store/session-prompts.d.ts +40 -0
  369. package/dist/store/session-prompts.js +213 -0
  370. package/dist/store/session-prompts.js.map +1 -0
  371. package/dist/store/subagents.d.ts +5 -1
  372. package/dist/store/subagents.js +67 -6
  373. package/dist/store/subagents.js.map +1 -1
  374. package/dist/tools/call-normalization.js +0 -3
  375. package/dist/tools/call-normalization.js.map +1 -1
  376. package/dist/tools/command-intent.d.ts +0 -1
  377. package/dist/tools/command-intent.js +3 -10
  378. package/dist/tools/command-intent.js.map +1 -1
  379. package/dist/tools/definitions/aggregate.js +0 -4
  380. package/dist/tools/definitions/aggregate.js.map +1 -1
  381. package/dist/tools/definitions/define.js +0 -3
  382. package/dist/tools/definitions/define.js.map +1 -1
  383. package/dist/tools/definitions/files.js +3 -111
  384. package/dist/tools/definitions/files.js.map +1 -1
  385. package/dist/tools/definitions/fs-read.d.ts +3 -0
  386. package/dist/tools/definitions/fs-read.js +43 -0
  387. package/dist/tools/definitions/fs-read.js.map +1 -0
  388. package/dist/tools/definitions/selection.js +0 -45
  389. package/dist/tools/definitions/selection.js.map +1 -1
  390. package/dist/tools/definitions/shell.js +6 -3
  391. package/dist/tools/definitions/shell.js.map +1 -1
  392. package/dist/tools/elevated-shell.d.ts +1 -0
  393. package/dist/tools/elevated-shell.js +2 -0
  394. package/dist/tools/elevated-shell.js.map +1 -1
  395. package/dist/tools/fs/read-budget.d.ts +8 -0
  396. package/dist/tools/fs/read-budget.js +30 -0
  397. package/dist/tools/fs/read-budget.js.map +1 -0
  398. package/dist/tools/fs/read-input.d.ts +16 -0
  399. package/dist/tools/fs/read-input.js +73 -0
  400. package/dist/tools/fs/read-input.js.map +1 -0
  401. package/dist/tools/fs/read-many.d.ts +6 -0
  402. package/dist/tools/fs/read-many.js +50 -0
  403. package/dist/tools/fs/read-many.js.map +1 -0
  404. package/dist/tools/fs/read-sections.d.ts +11 -0
  405. package/dist/tools/fs/read-sections.js +71 -0
  406. package/dist/tools/fs/read-sections.js.map +1 -0
  407. package/dist/tools/fs/read-window.d.ts +1 -1
  408. package/dist/tools/fs/read-window.js +57 -25
  409. package/dist/tools/fs/read-window.js.map +1 -1
  410. package/dist/tools/fs/read.d.ts +0 -4
  411. package/dist/tools/fs/read.js +34 -17
  412. package/dist/tools/fs/read.js.map +1 -1
  413. package/dist/tools/fs.d.ts +3 -2
  414. package/dist/tools/fs.js +23 -5
  415. package/dist/tools/fs.js.map +1 -1
  416. package/dist/tools/handlers/files-1.js +11 -35
  417. package/dist/tools/handlers/files-1.js.map +1 -1
  418. package/dist/tools/handlers/files-2.js.map +1 -1
  419. package/dist/tools/handlers/shell-1.js +26 -35
  420. package/dist/tools/handlers/shell-1.js.map +1 -1
  421. package/dist/tools/interactive-session-tools.js +1 -0
  422. package/dist/tools/interactive-session-tools.js.map +1 -1
  423. package/dist/tools/jobs/types.d.ts +4 -1
  424. package/dist/tools/jobs.js +9 -1
  425. package/dist/tools/jobs.js.map +1 -1
  426. package/dist/tools/read-only-shell.d.ts +2 -0
  427. package/dist/tools/read-only-shell.js +65 -0
  428. package/dist/tools/read-only-shell.js.map +1 -0
  429. package/dist/tools/registry.js +0 -9
  430. package/dist/tools/registry.js.map +1 -1
  431. package/dist/tools/retired-tools.js +1 -1
  432. package/dist/tools/retired-tools.js.map +1 -1
  433. package/dist/tools/rtk/rewrite.d.ts +3 -2
  434. package/dist/tools/rtk/rewrite.js +4 -5
  435. package/dist/tools/rtk/rewrite.js.map +1 -1
  436. package/dist/tools/shell/exec-attempt.js +1 -0
  437. package/dist/tools/shell/exec-attempt.js.map +1 -1
  438. package/dist/tools/shell/internals.d.ts +1 -1
  439. package/dist/tools/shell/internals.js +2 -1
  440. package/dist/tools/shell/internals.js.map +1 -1
  441. package/dist/tools/shell/spawn-argv.js +1 -1
  442. package/dist/tools/shell/spawn-argv.js.map +1 -1
  443. package/dist/tools/shell/timeout.d.ts +1 -0
  444. package/dist/tools/shell/timeout.js +2 -0
  445. package/dist/tools/shell/timeout.js.map +1 -0
  446. package/dist/tools/shell.d.ts +1 -0
  447. package/dist/tools/shell.js.map +1 -1
  448. package/dist/tools/sudo-session.d.ts +4 -5
  449. package/dist/tools/sudo-session.js +1 -0
  450. package/dist/tools/sudo-session.js.map +1 -1
  451. package/dist/tools/tool-types.d.ts +2 -4
  452. package/dist/tui-v2/app/App.js +5 -1
  453. package/dist/tui-v2/app/App.js.map +1 -1
  454. package/dist/tui-v2/bootstrap/start-tui-v2.js +0 -2
  455. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  456. package/dist/tui-v2/components/jobs/subagents-panel.js +14 -2
  457. package/dist/tui-v2/components/jobs/subagents-panel.js.map +1 -1
  458. package/dist/tui-v2/components/modal/confirm-modal.js +6 -2
  459. package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
  460. package/dist/tui-v2/components/modal/keys-modal.js +42 -6
  461. package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
  462. package/dist/tui-v2/components/modal/secret-modal.d.ts +8 -0
  463. package/dist/tui-v2/components/modal/secret-modal.js +27 -18
  464. package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
  465. package/dist/tui-v2/components/overlay/overlay-host.js +14 -3
  466. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  467. package/dist/tui-v2/components/pager/pager.js +43 -61
  468. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  469. package/dist/tui-v2/components/picker/picker.js +17 -3
  470. package/dist/tui-v2/components/picker/picker.js.map +1 -1
  471. package/dist/tui-v2/components/transcript/intro-card.js +2 -1
  472. package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
  473. package/dist/tui-v2/components/transcript/tool-card.js +21 -19
  474. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  475. package/dist/tui-v2/components/transcript/transcript-view.js +24 -21
  476. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  477. package/dist/tui-v2/components/transcript/use-transcript-selection.d.ts +1 -0
  478. package/dist/tui-v2/components/transcript/use-transcript-selection.js +12 -1
  479. package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
  480. package/dist/tui-v2/composer/composer-editor.js +1 -1
  481. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  482. package/dist/types.d.ts +17 -2
  483. package/dist/types.js +1 -0
  484. package/dist/types.js.map +1 -1
  485. package/dist/ui/mentions/expand.js +1 -1
  486. package/dist/ui-core/actions/action-id.d.ts +1 -1
  487. package/dist/ui-core/actions/action-id.js +0 -2
  488. package/dist/ui-core/actions/action-id.js.map +1 -1
  489. package/dist/ui-core/actions/format-shortcuts.js +0 -2
  490. package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
  491. package/dist/ui-core/actions/keymap.js +0 -6
  492. package/dist/ui-core/actions/keymap.js.map +1 -1
  493. package/dist/ui-core/bootstrap/composition-root.d.ts +0 -3
  494. package/dist/ui-core/bootstrap/composition-root.js +0 -8
  495. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  496. package/dist/ui-core/bootstrap/overlay-ports.js +14 -5
  497. package/dist/ui-core/bootstrap/overlay-ports.js.map +1 -1
  498. package/dist/ui-core/bootstrap/session-resume.d.ts +5 -0
  499. package/dist/ui-core/bootstrap/session-resume.js +13 -35
  500. package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
  501. package/dist/ui-core/commands/command-handlers.js +5 -2
  502. package/dist/ui-core/commands/command-handlers.js.map +1 -1
  503. package/dist/ui-core/commands/config-commands.js +5 -1
  504. package/dist/ui-core/commands/config-commands.js.map +1 -1
  505. package/dist/ui-core/commands/key-commands.js +50 -30
  506. package/dist/ui-core/commands/key-commands.js.map +1 -1
  507. package/dist/ui-core/commands/keys/auth-picker.d.ts +3 -0
  508. package/dist/ui-core/commands/keys/auth-picker.js +29 -0
  509. package/dist/ui-core/commands/keys/auth-picker.js.map +1 -0
  510. package/dist/ui-core/commands/keys/qoder.d.ts +4 -0
  511. package/dist/ui-core/commands/keys/qoder.js +194 -0
  512. package/dist/ui-core/commands/keys/qoder.js.map +1 -0
  513. package/dist/ui-core/commands/picker-commands.js +19 -1
  514. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  515. package/dist/ui-core/commands/pickers/output-pager.js +19 -8
  516. package/dist/ui-core/commands/pickers/output-pager.js.map +1 -1
  517. package/dist/ui-core/commands/pickers/search-reasoning.js +3 -4
  518. package/dist/ui-core/commands/pickers/search-reasoning.js.map +1 -1
  519. package/dist/ui-core/commands/prompt-commands.d.ts +2 -0
  520. package/dist/ui-core/commands/prompt-commands.js +10 -0
  521. package/dist/ui-core/commands/prompt-commands.js.map +1 -0
  522. package/dist/ui-core/commands/rtk-commands.js +35 -16
  523. package/dist/ui-core/commands/rtk-commands.js.map +1 -1
  524. package/dist/ui-core/commands/session-commands.js +22 -7
  525. package/dist/ui-core/commands/session-commands.js.map +1 -1
  526. package/dist/ui-core/commands/subagent-commands.js +5 -4
  527. package/dist/ui-core/commands/subagent-commands.js.map +1 -1
  528. package/dist/ui-core/composer/composer-meta.js +2 -5
  529. package/dist/ui-core/composer/composer-meta.js.map +1 -1
  530. package/dist/ui-core/controllers/overlay-controller.d.ts +13 -0
  531. package/dist/ui-core/controllers/overlay-controller.js +33 -6
  532. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  533. package/dist/ui-core/rendering/batch-sections.d.ts +1 -1
  534. package/dist/ui-core/rendering/batch-sections.js +18 -4
  535. package/dist/ui-core/rendering/batch-sections.js.map +1 -1
  536. package/dist/ui-core/rendering/duration.d.ts +2 -0
  537. package/dist/ui-core/rendering/duration.js +9 -1
  538. package/dist/ui-core/rendering/duration.js.map +1 -1
  539. package/dist/ui-core/rendering/intro-header.js +5 -6
  540. package/dist/ui-core/rendering/intro-header.js.map +1 -1
  541. package/dist/ui-core/rendering/open-tool-output.js +4 -1
  542. package/dist/ui-core/rendering/open-tool-output.js.map +1 -1
  543. package/dist/ui-core/rendering/pager-source.js +3 -0
  544. package/dist/ui-core/rendering/pager-source.js.map +1 -1
  545. package/dist/ui-core/rendering/pager-text.js +3 -0
  546. package/dist/ui-core/rendering/pager-text.js.map +1 -1
  547. package/dist/ui-core/rendering/pager-view-policy.js +4 -2
  548. package/dist/ui-core/rendering/pager-view-policy.js.map +1 -1
  549. package/dist/ui-core/rendering/session-prompts-pager-source.d.ts +3 -0
  550. package/dist/ui-core/rendering/session-prompts-pager-source.js +40 -0
  551. package/dist/ui-core/rendering/session-prompts-pager-source.js.map +1 -0
  552. package/dist/ui-core/rendering/subagent-source.d.ts +4 -3
  553. package/dist/ui-core/rendering/subagent-source.js +79 -7
  554. package/dist/ui-core/rendering/subagent-source.js.map +1 -1
  555. package/dist/ui-core/rendering/text-width.d.ts +1 -0
  556. package/dist/ui-core/rendering/text-width.js +31 -0
  557. package/dist/ui-core/rendering/text-width.js.map +1 -1
  558. package/dist/ui-core/rendering/tool-presenter.d.ts +9 -4
  559. package/dist/ui-core/rendering/tool-presenter.js +43 -91
  560. package/dist/ui-core/rendering/tool-presenter.js.map +1 -1
  561. package/dist/ui-core/rendering/usage-pager-source.js +6 -2
  562. package/dist/ui-core/rendering/usage-pager-source.js.map +1 -1
  563. package/dist/ui-core/state/transcript-store.js +7 -2
  564. package/dist/ui-core/state/transcript-store.js.map +1 -1
  565. package/dist/ui-core/state/transcript-types.d.ts +1 -1
  566. package/dist/ui-core/state/transcript-types.js +4 -2
  567. package/dist/ui-core/state/transcript-types.js.map +1 -1
  568. package/dist/version.generated.d.ts +2 -2
  569. package/dist/version.generated.js +2 -2
  570. package/package.json +6 -2
  571. package/dist/agent/turn/pentest-tools.d.ts +0 -3
  572. package/dist/agent/turn/pentest-tools.js +0 -17
  573. package/dist/agent/turn/pentest-tools.js.map +0 -1
  574. package/dist/classic/bootstrap/suspend-port.d.ts +0 -14
  575. package/dist/classic/bootstrap/suspend-port.js +0 -29
  576. package/dist/classic/bootstrap/suspend-port.js.map +0 -1
  577. package/dist/tools/capabilities.d.ts +0 -12
  578. package/dist/tools/capabilities.js +0 -225
  579. package/dist/tools/capabilities.js.map +0 -1
  580. package/dist/tools/definitions/network.d.ts +0 -2
  581. package/dist/tools/definitions/network.js +0 -17
  582. package/dist/tools/definitions/network.js.map +0 -1
  583. package/dist/tools/definitions/orchestration.d.ts +0 -2
  584. package/dist/tools/definitions/orchestration.js +0 -27
  585. package/dist/tools/definitions/orchestration.js.map +0 -1
  586. package/dist/tools/fs/search.d.ts +0 -32
  587. package/dist/tools/fs/search.js +0 -427
  588. package/dist/tools/fs/search.js.map +0 -1
  589. package/dist/tools/handlers/network-3.d.ts +0 -2
  590. package/dist/tools/handlers/network-3.js +0 -13
  591. package/dist/tools/handlers/network-3.js.map +0 -1
  592. package/dist/tools/handlers/orchestration-2.d.ts +0 -2
  593. package/dist/tools/handlers/orchestration-2.js +0 -16
  594. package/dist/tools/handlers/orchestration-2.js.map +0 -1
  595. package/dist/tools/net-ping-sweep.d.ts +0 -18
  596. package/dist/tools/net-ping-sweep.js +0 -274
  597. package/dist/tools/net-ping-sweep.js.map +0 -1
  598. package/dist/tools/wordlists.d.ts +0 -6
  599. package/dist/tools/wordlists.js +0 -390
  600. package/dist/tools/wordlists.js.map +0 -1
  601. package/dist/tui-v2/bootstrap/pager-export.d.ts +0 -7
  602. package/dist/tui-v2/bootstrap/pager-export.js +0 -19
  603. package/dist/tui-v2/bootstrap/pager-export.js.map +0 -1
  604. package/dist/ui-core/ports/pager-export-port.d.ts +0 -16
  605. package/dist/ui-core/ports/pager-export-port.js +0 -68
  606. package/dist/ui-core/ports/pager-export-port.js.map +0 -1
  607. package/dist/ui-core/rendering/fs-search-summary.d.ts +0 -11
  608. package/dist/ui-core/rendering/fs-search-summary.js +0 -65
  609. package/dist/ui-core/rendering/fs-search-summary.js.map +0 -1
@@ -1,427 +0,0 @@
1
- import { safeCwd } from "../../os/cwd.js";
2
- import { ensureReadAllowed, resolveReadPath } from "./internals.js";
3
- import { execa } from "execa";
4
- const PRUNED_DIRECTORIES = [
5
- ".git",
6
- ".hg",
7
- ".svn",
8
- "node_modules",
9
- "dist",
10
- "build",
11
- "out",
12
- "target",
13
- "coverage",
14
- ".next",
15
- ".venv",
16
- "__pycache__",
17
- ];
18
- const UNSUPPORTED_SYNTAX = /look-?(?:around|ahead|behind)|back-?reference|not supported|unsupported/i;
19
- const REGEX_SYNTAX_ERROR = /regex parse error|error parsing regex|unmatched|unbalanced|not balanced|parenthes|unterminated|trailing backslash|invalid (?:regular expression|regex|character class|repetition)|repetition (?:operator|quantifier)|nothing to repeat|brackets|\bparse error\b/i;
20
- const PCRE_UNAVAILABLE = /pcre2 is not available|pcre2 unavailable|--pcre2/i;
21
- function text(value) {
22
- if (typeof value === "string")
23
- return value;
24
- if (value === undefined || value === null)
25
- return "";
26
- if (Array.isArray(value))
27
- return value.map((entry) => text(entry)).join("\n");
28
- return String(value);
29
- }
30
- function normalizeOutcome(raw) {
31
- const spawnCode = typeof raw.code === "string" ? raw.code : "";
32
- const message = text(raw.message);
33
- return {
34
- exitCode: typeof raw.exitCode === "number" ? raw.exitCode : undefined,
35
- stdout: text(raw.stdout),
36
- stderr: text(raw.stderr),
37
- timedOut: raw.timedOut === true,
38
- unavailable: spawnCode === "ENOENT" ||
39
- (typeof raw.exitCode !== "number" && /ENOENT|not found/i.test(message)),
40
- };
41
- }
42
- async function runEngine(file, args, timeoutMs) {
43
- try {
44
- return normalizeOutcome((await execa(file, [...args], {
45
- reject: false,
46
- timeout: timeoutMs,
47
- stripFinalNewline: true,
48
- })));
49
- }
50
- catch (error) {
51
- return normalizeOutcome((error ?? {}));
52
- }
53
- }
54
- export function engineGlob(glob) {
55
- const negated = glob.startsWith("!");
56
- const body = negated ? glob.slice(1) : glob;
57
- const anchored = !body.includes("/") || body.startsWith("**/") || body.startsWith("/")
58
- ? body
59
- : `**/${body}`;
60
- return negated ? `!${anchored}` : anchored;
61
- }
62
- export function globToPathRegExp(glob) {
63
- let source = "";
64
- for (let index = 0; index < glob.length; index += 1) {
65
- const char = glob[index];
66
- if (char === "*") {
67
- if (glob[index + 1] === "*") {
68
- index += 1;
69
- if (glob[index + 1] === "/") {
70
- index += 1;
71
- source += "(?:[^/]*/)*";
72
- }
73
- else {
74
- source += ".*";
75
- }
76
- continue;
77
- }
78
- source += "[^/]*";
79
- continue;
80
- }
81
- if (char === "?") {
82
- source += "[^/]";
83
- continue;
84
- }
85
- if (char === "/") {
86
- source += "/";
87
- continue;
88
- }
89
- source += char.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
90
- }
91
- try {
92
- return new RegExp(`(?:^|/)${source}$`);
93
- }
94
- catch {
95
- return undefined;
96
- }
97
- }
98
- const GROUP_SEPARATOR = /^--$/;
99
- const HIT_LINE = /^(.+?)([:-])(\d+)\2(.*)$/;
100
- export function parseHitLine(raw) {
101
- const parsed = HIT_LINE.exec(raw);
102
- if (!parsed)
103
- return undefined;
104
- const line = Number(parsed[3]);
105
- if (!Number.isFinite(line))
106
- return undefined;
107
- return {
108
- path: parsed[1],
109
- line,
110
- match: parsed[2] === ":",
111
- text: parsed[4],
112
- };
113
- }
114
- export function parseEngineOutput(stdout, filesOnly) {
115
- const hits = [];
116
- for (const raw of stdout.split("\n")) {
117
- if (!raw.length || GROUP_SEPARATOR.test(raw))
118
- continue;
119
- if (filesOnly) {
120
- const path = raw.trim();
121
- if (path)
122
- hits.push({ path, line: 0, match: true, text: "" });
123
- continue;
124
- }
125
- const hit = parseHitLine(raw);
126
- if (hit)
127
- hits.push(hit);
128
- }
129
- return hits;
130
- }
131
- export function filterHitsByGlob(hits, glob) {
132
- if (!glob)
133
- return [...hits];
134
- const negated = glob.startsWith("!");
135
- const matcher = globToPathRegExp(negated ? glob.slice(1) : glob);
136
- if (!matcher)
137
- return [...hits];
138
- return hits.filter((hit) => matcher.test(hit.path) !== negated);
139
- }
140
- export function capHits(hits, maxMatches) {
141
- const kept = [];
142
- let matches = 0;
143
- let truncated = false;
144
- for (const hit of hits) {
145
- if (hit.match) {
146
- if (matches === maxMatches) {
147
- truncated = true;
148
- break;
149
- }
150
- matches += 1;
151
- }
152
- kept.push(hit);
153
- }
154
- while (kept.length > 0 && !kept[kept.length - 1].match)
155
- kept.pop();
156
- return { hits: kept, matches, truncated };
157
- }
158
- export function hasHits(stdout, filesOnly) {
159
- return parseEngineOutput(stdout, filesOnly).length > 0;
160
- }
161
- export function renderHit(hit, filesOnly) {
162
- if (filesOnly)
163
- return hit.path;
164
- const separator = hit.match ? ":" : "-";
165
- return `${hit.path}${separator}${hit.line}${separator}${hit.text}`;
166
- }
167
- function firstStderrLine(stderr) {
168
- return (stderr
169
- .split("\n")
170
- .map((line) => line.trim())
171
- .find((line) => line.length > 0) ?? "");
172
- }
173
- function looksLikeRegexPattern(pattern) {
174
- return /[.*+?^$|(){}\[\]\\]/.test(pattern);
175
- }
176
- function formatMatches(input) {
177
- const header = `# fs.search pattern=${JSON.stringify(input.pattern)} path=${input.resolved} hits=${input.matches}` +
178
- (input.truncated ? ` (capped at ${input.maxMatches})` : "");
179
- const notes = input.notes.map((note) => `# note: ${note}`);
180
- return {
181
- ok: true,
182
- output: [
183
- header,
184
- ...notes,
185
- "# tip: fs.read path=… offset=<line> limit=… or pattern= for a focused window",
186
- ...input.lines,
187
- ].join("\n"),
188
- exitCode: 0,
189
- ...(input.truncated ? { truncated: true } : {}),
190
- };
191
- }
192
- function formatEmpty(input) {
193
- const hints = [...input.notes];
194
- if (input.glob) {
195
- hints.push(`searched only files matching glob=${JSON.stringify(input.glob)}; retry without glob if that filter is too narrow`);
196
- }
197
- if (!input.literal && looksLikeRegexPattern(input.pattern)) {
198
- hints.push("pattern was treated as a regex; retry with fixedString=true to match it literally");
199
- }
200
- return {
201
- ok: true,
202
- output: [
203
- `# fs.search pattern=${JSON.stringify(input.pattern)} path=${input.resolved}`,
204
- "# no matches",
205
- ...hints.map((hint) => `# note: ${hint}`),
206
- ].join("\n"),
207
- exitCode: 0,
208
- };
209
- }
210
- function ripgrepArgs(input) {
211
- const args = [
212
- "--line-number",
213
- "--no-heading",
214
- "--with-filename",
215
- "--color",
216
- "never",
217
- "--max-count",
218
- String(input.maxPerFile),
219
- "--max-filesize",
220
- "1M",
221
- "--max-columns",
222
- "300",
223
- "--max-columns-preview",
224
- ];
225
- if (input.options.caseInsensitive)
226
- args.push("-i");
227
- if (input.literal)
228
- args.push("-F");
229
- else if (input.pcre)
230
- args.push("-P");
231
- if (input.options.hidden)
232
- args.push("--hidden");
233
- if (input.options.filesOnly)
234
- args.push("-l");
235
- if (input.context > 0)
236
- args.push("-C", String(input.context));
237
- if (input.options.glob)
238
- args.push("-g", engineGlob(input.options.glob));
239
- args.push("--", input.pattern, input.resolved);
240
- return args;
241
- }
242
- function grepArgs(input) {
243
- const args = ["-R", "-n", "-H", "-I", "-m", String(input.maxPerFile)];
244
- args.push(input.literal ? "-F" : "-E");
245
- if (input.options.caseInsensitive)
246
- args.push("-i");
247
- if (input.options.filesOnly)
248
- args.push("-l");
249
- if (input.context > 0)
250
- args.push("-C", String(input.context));
251
- const glob = input.options.glob;
252
- if (glob && !glob.includes("/")) {
253
- args.push(glob.startsWith("!")
254
- ? `--exclude=${glob.slice(1)}`
255
- : `--include=${glob}`);
256
- }
257
- for (const directory of PRUNED_DIRECTORIES) {
258
- args.push(`--exclude-dir=${directory}`);
259
- }
260
- args.push("--", input.pattern, input.resolved);
261
- return args;
262
- }
263
- export async function fsSearch(pattern, path = safeCwd(), options = {}) {
264
- const resolved = resolveReadPath(path);
265
- ensureReadAllowed(resolved, path, options.confirmed);
266
- const maxMatches = Math.min(200, Math.max(1, Math.floor(options.maxMatches ?? 50)));
267
- const maxPerFile = Math.min(200, Math.max(1, Math.floor(options.maxPerFile ?? 20)));
268
- const context = Math.min(10, Math.max(0, Math.floor(options.context ?? 0)));
269
- const timeoutMs = Math.min(120_000, Math.max(1_000, Math.floor(options.timeoutMs ?? 15_000)));
270
- const filesOnly = options.filesOnly === true;
271
- if (!pattern.trim()) {
272
- return {
273
- ok: false,
274
- output: 'fs.search requires a non-empty "pattern"',
275
- exitCode: 1,
276
- };
277
- }
278
- const notes = [];
279
- let literal = options.fixedString === true;
280
- const finish = (outcome, engineGlobbed) => {
281
- const parsed = filterHitsByGlob(parseEngineOutput(outcome.stdout, filesOnly), engineGlobbed ? undefined : options.glob);
282
- if (outcome.stderr.trim() && outcome.exitCode === 2 && parsed.length > 0) {
283
- notes.push(`partial results; search reported: ${firstStderrLine(outcome.stderr)}`);
284
- }
285
- if (parsed.length === 0) {
286
- return formatEmpty({
287
- pattern,
288
- resolved,
289
- glob: options.glob,
290
- literal,
291
- notes,
292
- });
293
- }
294
- const capped = capHits(parsed, maxMatches);
295
- return formatMatches({
296
- pattern,
297
- resolved,
298
- lines: capped.hits.map((hit) => renderHit(hit, filesOnly)),
299
- matches: capped.matches,
300
- truncated: capped.truncated,
301
- maxMatches,
302
- notes,
303
- });
304
- };
305
- const timeoutResult = (outcome) => {
306
- const lines = capHits(parseEngineOutput(outcome.stdout, filesOnly), maxMatches).hits.map((hit) => renderHit(hit, filesOnly));
307
- return {
308
- ok: false,
309
- output: [
310
- `fs.search timed out after ${timeoutMs}ms; narrow the search with path=, glob=, or a more specific pattern`,
311
- ...lines,
312
- ].join("\n"),
313
- exitCode: 124,
314
- };
315
- };
316
- let ripgrep = await runEngine("rg", ripgrepArgs({
317
- pattern,
318
- resolved,
319
- maxPerFile,
320
- context,
321
- literal,
322
- pcre: false,
323
- options,
324
- }), timeoutMs);
325
- if (ripgrep.timedOut)
326
- return timeoutResult(ripgrep);
327
- if (ripgrep.exitCode === 2 && !hasHits(ripgrep.stdout, filesOnly)) {
328
- if (!literal && UNSUPPORTED_SYNTAX.test(ripgrep.stderr)) {
329
- const pcre = await runEngine("rg", ripgrepArgs({
330
- pattern,
331
- resolved,
332
- maxPerFile,
333
- context,
334
- literal,
335
- pcre: true,
336
- options,
337
- }), timeoutMs);
338
- if (pcre.timedOut)
339
- return timeoutResult(pcre);
340
- if (!pcre.unavailable &&
341
- (pcre.exitCode === 0 ||
342
- pcre.exitCode === 1 ||
343
- hasHits(pcre.stdout, filesOnly))) {
344
- notes.push("pattern needed PCRE2 features; searched with rg --pcre2");
345
- ripgrep = pcre;
346
- }
347
- else if (!PCRE_UNAVAILABLE.test(pcre.stderr)) {
348
- ripgrep = pcre;
349
- }
350
- }
351
- if (!literal &&
352
- ripgrep.exitCode === 2 &&
353
- REGEX_SYNTAX_ERROR.test(ripgrep.stderr)) {
354
- const asLiteral = await runEngine("rg", ripgrepArgs({
355
- pattern,
356
- resolved,
357
- maxPerFile,
358
- context,
359
- literal: true,
360
- pcre: false,
361
- options,
362
- }), timeoutMs);
363
- if (asLiteral.timedOut)
364
- return timeoutResult(asLiteral);
365
- if (asLiteral.exitCode === 0 || asLiteral.exitCode === 1) {
366
- literal = true;
367
- notes.push(`pattern is not a valid regex (${firstStderrLine(ripgrep.stderr)}); searched it as a literal string`);
368
- ripgrep = asLiteral;
369
- }
370
- }
371
- }
372
- if (!ripgrep.unavailable &&
373
- (ripgrep.exitCode === 0 ||
374
- ripgrep.exitCode === 1 ||
375
- hasHits(ripgrep.stdout, filesOnly))) {
376
- return finish(ripgrep, true);
377
- }
378
- const ripgrepFailure = ripgrep.unavailable
379
- ? ""
380
- : firstStderrLine(ripgrep.stderr);
381
- let grep = await runEngine("grep", grepArgs({ pattern, resolved, maxPerFile, context, literal, options }), timeoutMs);
382
- if (grep.timedOut)
383
- return timeoutResult(grep);
384
- if (!literal &&
385
- grep.exitCode !== undefined &&
386
- grep.exitCode > 1 &&
387
- !hasHits(grep.stdout, filesOnly) &&
388
- REGEX_SYNTAX_ERROR.test(grep.stderr)) {
389
- const asLiteral = await runEngine("grep", grepArgs({
390
- pattern,
391
- resolved,
392
- maxPerFile,
393
- context,
394
- literal: true,
395
- options,
396
- }), timeoutMs);
397
- if (asLiteral.timedOut)
398
- return timeoutResult(asLiteral);
399
- if (asLiteral.exitCode === 0 || asLiteral.exitCode === 1) {
400
- literal = true;
401
- notes.push(`pattern is not a valid regex (${firstStderrLine(grep.stderr)}); searched it as a literal string`);
402
- grep = asLiteral;
403
- }
404
- }
405
- if (grep.unavailable) {
406
- return {
407
- ok: false,
408
- output: `fs.search failed (need ripgrep or grep on PATH)${ripgrepFailure ? `: ${ripgrepFailure}` : ""}`,
409
- exitCode: 127,
410
- };
411
- }
412
- if (grep.exitCode !== undefined &&
413
- grep.exitCode > 1 &&
414
- !hasHits(grep.stdout, filesOnly)) {
415
- const detail = firstStderrLine(grep.stderr) || ripgrepFailure;
416
- return {
417
- ok: false,
418
- output: `fs.search failed (exit ${grep.exitCode})${detail ? `: ${detail}` : ""}`,
419
- exitCode: grep.exitCode,
420
- };
421
- }
422
- if (!ripgrep.unavailable && ripgrepFailure) {
423
- notes.push(`ripgrep declined this search (${ripgrepFailure}); used grep`);
424
- }
425
- return finish(grep, false);
426
- }
427
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/tools/fs/search.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { type ToolHandler } from "../tool-types.js";
2
- export declare const toolRegistry_NETWORK_3: Record<string, ToolHandler>;
@@ -1,13 +0,0 @@
1
- import { pingSweep } from "../net-ping-sweep.js";
2
- import { optionalNumber, optionalString, requireString, } from "./args.js";
3
- export const toolRegistry_NETWORK_3 = {
4
- async "net.pingSweep"(args, options) {
5
- const target = requireString(args, "target");
6
- return pingSweep({
7
- target,
8
- method: optionalString(args, "method"),
9
- timeoutMs: optionalNumber(args, "timeoutMs"),
10
- }, { signal: options?.signal });
11
- },
12
- };
13
- //# sourceMappingURL=network-3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network-3.js","sourceRoot":"","sources":["../../../src/tools/handlers/network-3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAEL,cAAc,EAEd,cAAc,EAEd,aAAa,GAEd,MAAM,WAAW,CAAC;AAEnB,MAAM,CAAC,MAAM,sBAAsB,GAAgC;IACjE,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,SAAS,CACd;YACE,MAAM;YACN,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CACW;YAChD,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC;SAC7C,EACD,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC5B,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,2 +0,0 @@
1
- import { type ToolHandler } from "../tool-types.js";
2
- export declare const toolRegistry_ORCHESTRATION_2: Record<string, ToolHandler>;
@@ -1,16 +0,0 @@
1
- import { toolCheckHandler } from "../capabilities.js";
2
- import { wordlistFind } from "../wordlists.js";
3
- import { requireString, } from "./args.js";
4
- export const toolRegistry_ORCHESTRATION_2 = {
5
- async "tool.check"(args) {
6
- return toolCheckHandler(args);
7
- },
8
- async "wordlist.find"(args) {
9
- const expand = typeof args.expand === "boolean" ? args.expand : undefined;
10
- return wordlistFind({
11
- query: requireString(args, "query"),
12
- ...(expand !== undefined ? { expand } : {}),
13
- });
14
- },
15
- };
16
- //# sourceMappingURL=orchestration-2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestration-2.js","sourceRoot":"","sources":["../../../src/tools/handlers/orchestration-2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAML,aAAa,GAEd,MAAM,WAAW,CAAC;AAEnB,MAAM,CAAC,MAAM,4BAA4B,GAAgC;IACvE,KAAK,CAAC,YAAY,CAAC,IAAI;QACrB,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,IAAI;QACxB,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,OAAO,YAAY,CAAC;YAClB,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;YACnC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { ToolResult } from "../types.js";
2
- export interface PingSweepArgs {
3
- target: string;
4
- method?: "auto" | "nmap" | "arp" | "native" | undefined;
5
- timeoutMs?: number | undefined;
6
- }
7
- export interface ActiveDevice {
8
- ip: string;
9
- hostname?: string | undefined;
10
- mac?: string | undefined;
11
- vendor?: string | undefined;
12
- source: "nmap" | "arp-scan" | "arp" | "ip-neigh";
13
- }
14
- export declare function parseNmapPingSweep(output: string): ActiveDevice[];
15
- export declare function parseArpTable(output: string): ActiveDevice[];
16
- export declare function pingSweep(args: PingSweepArgs, options?: {
17
- signal?: AbortSignal | undefined;
18
- }): Promise<ToolResult>;