@pentoshi/clai 3.9.2 → 3.9.3

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 (331) hide show
  1. package/dist/agent/compaction-attempt.d.ts +22 -0
  2. package/dist/agent/compaction-attempt.js +69 -0
  3. package/dist/agent/compaction-attempt.js.map +1 -0
  4. package/dist/agent/compaction-summary.d.ts +27 -0
  5. package/dist/agent/compaction-summary.js +62 -0
  6. package/dist/agent/compaction-summary.js.map +1 -1
  7. package/dist/agent/context-breakdown.d.ts +2 -0
  8. package/dist/agent/context-breakdown.js +37 -0
  9. package/dist/agent/context-breakdown.js.map +1 -1
  10. package/dist/agent/context-manager.d.ts +7 -1
  11. package/dist/agent/context-manager.js +64 -15
  12. package/dist/agent/context-manager.js.map +1 -1
  13. package/dist/agent/continue-orient.d.ts +8 -0
  14. package/dist/agent/continue-orient.js +26 -3
  15. package/dist/agent/continue-orient.js.map +1 -1
  16. package/dist/agent/durable-envelope.d.ts +39 -0
  17. package/dist/agent/durable-envelope.js +195 -0
  18. package/dist/agent/durable-envelope.js.map +1 -0
  19. package/dist/agent/events.d.ts +21 -0
  20. package/dist/agent/loop-guard.d.ts +13 -5
  21. package/dist/agent/loop-guard.js +114 -1
  22. package/dist/agent/loop-guard.js.map +1 -1
  23. package/dist/agent/outcomes.d.ts +29 -0
  24. package/dist/agent/outcomes.js +118 -3
  25. package/dist/agent/outcomes.js.map +1 -1
  26. package/dist/agent/plan-decision.js +8 -3
  27. package/dist/agent/plan-decision.js.map +1 -1
  28. package/dist/agent/plan-tool.d.ts +5 -0
  29. package/dist/agent/plan-tool.js +166 -6
  30. package/dist/agent/plan-tool.js.map +1 -1
  31. package/dist/agent/reliability-policy.d.ts +11 -6
  32. package/dist/agent/reliability-policy.js +19 -13
  33. package/dist/agent/reliability-policy.js.map +1 -1
  34. package/dist/agent/request-budget.d.ts +24 -0
  35. package/dist/agent/request-budget.js +59 -0
  36. package/dist/agent/request-budget.js.map +1 -0
  37. package/dist/agent/responder-context.js +2 -2
  38. package/dist/agent/responder-context.js.map +1 -1
  39. package/dist/agent/responder-parent.d.ts +30 -0
  40. package/dist/agent/responder-parent.js +82 -0
  41. package/dist/agent/responder-parent.js.map +1 -0
  42. package/dist/agent/runner.d.ts +14 -1
  43. package/dist/agent/runner.js +759 -211
  44. package/dist/agent/runner.js.map +1 -1
  45. package/dist/agent/scope-context.d.ts +5 -0
  46. package/dist/agent/scope-context.js +7 -1
  47. package/dist/agent/scope-context.js.map +1 -1
  48. package/dist/agent/session-policy.js +1 -0
  49. package/dist/agent/session-policy.js.map +1 -1
  50. package/dist/agent/stop-summary.js +13 -7
  51. package/dist/agent/stop-summary.js.map +1 -1
  52. package/dist/agent/task-analyzer.js +7 -3
  53. package/dist/agent/task-analyzer.js.map +1 -1
  54. package/dist/agent/task-evidence.js +2 -0
  55. package/dist/agent/task-evidence.js.map +1 -1
  56. package/dist/agent/task-sync.d.ts +11 -0
  57. package/dist/agent/task-sync.js +31 -0
  58. package/dist/agent/task-sync.js.map +1 -1
  59. package/dist/agent/tool-call-parser.d.ts +6 -13
  60. package/dist/agent/tool-call-parser.js +186 -82
  61. package/dist/agent/tool-call-parser.js.map +1 -1
  62. package/dist/agent/tool-history.d.ts +8 -2
  63. package/dist/agent/tool-history.js +8 -1
  64. package/dist/agent/tool-history.js.map +1 -1
  65. package/dist/agent/turn-outcome.d.ts +4 -1
  66. package/dist/agent/turn-outcome.js +16 -2
  67. package/dist/agent/turn-outcome.js.map +1 -1
  68. package/dist/app/adapters/agent-event-adapter.js +27 -0
  69. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  70. package/dist/app/adapters/current-agent-adapter.js +1 -0
  71. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  72. package/dist/app/adapters/current-jobs-adapter.js +4 -3
  73. package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
  74. package/dist/app/adapters/current-store-adapter.js +4 -3
  75. package/dist/app/adapters/current-store-adapter.js.map +1 -1
  76. package/dist/app/adapters/current-updates-adapter.d.ts +1 -1
  77. package/dist/app/adapters/current-updates-adapter.js +34 -5
  78. package/dist/app/adapters/current-updates-adapter.js.map +1 -1
  79. package/dist/app/adapters/quiet-meta-tools.js +2 -1
  80. package/dist/app/adapters/quiet-meta-tools.js.map +1 -1
  81. package/dist/app/controllers/job-controller.d.ts +4 -3
  82. package/dist/app/controllers/job-controller.js +9 -6
  83. package/dist/app/controllers/job-controller.js.map +1 -1
  84. package/dist/app/controllers/plan-controller.js +14 -0
  85. package/dist/app/controllers/plan-controller.js.map +1 -1
  86. package/dist/app/controllers/responder-settlement.js +2 -2
  87. package/dist/app/controllers/responder-settlement.js.map +1 -1
  88. package/dist/app/controllers/session-compact-helper.d.ts +23 -1
  89. package/dist/app/controllers/session-compact-helper.js +117 -7
  90. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  91. package/dist/app/controllers/session-context-usage.d.ts +24 -0
  92. package/dist/app/controllers/session-context-usage.js +89 -0
  93. package/dist/app/controllers/session-context-usage.js.map +1 -0
  94. package/dist/app/controllers/session-controller.d.ts +17 -17
  95. package/dist/app/controllers/session-controller.js +122 -124
  96. package/dist/app/controllers/session-controller.js.map +1 -1
  97. package/dist/app/controllers/session-prompt-queue.d.ts +3 -0
  98. package/dist/app/controllers/session-prompt-queue.js +20 -1
  99. package/dist/app/controllers/session-prompt-queue.js.map +1 -1
  100. package/dist/app/controllers/session-responder.js +16 -6
  101. package/dist/app/controllers/session-responder.js.map +1 -1
  102. package/dist/app/controllers/session-turn-request.d.ts +18 -0
  103. package/dist/app/controllers/session-turn-request.js +31 -0
  104. package/dist/app/controllers/session-turn-request.js.map +1 -0
  105. package/dist/app/controllers/turn-continuation.d.ts +14 -0
  106. package/dist/app/controllers/turn-continuation.js +46 -0
  107. package/dist/app/controllers/turn-continuation.js.map +1 -0
  108. package/dist/app/events/app-event.d.ts +21 -0
  109. package/dist/app/events/app-event.js +1 -0
  110. package/dist/app/events/app-event.js.map +1 -1
  111. package/dist/app/ports/agent-port.d.ts +7 -0
  112. package/dist/app/ports/jobs-port.d.ts +4 -3
  113. package/dist/app/ports/persistence-port.d.ts +11 -0
  114. package/dist/app/ports/updates-port.d.ts +8 -0
  115. package/dist/attachments/service.js +13 -2
  116. package/dist/attachments/service.js.map +1 -1
  117. package/dist/commands/providers.js +13 -10
  118. package/dist/commands/providers.js.map +1 -1
  119. package/dist/commands/update.d.ts +4 -0
  120. package/dist/commands/update.js +14 -0
  121. package/dist/commands/update.js.map +1 -1
  122. package/dist/llm/adapters/anthropic-tools.d.ts +14 -1
  123. package/dist/llm/adapters/anthropic-tools.js +36 -5
  124. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  125. package/dist/llm/adapters/gemini-tools.d.ts +3 -1
  126. package/dist/llm/adapters/gemini-tools.js +5 -2
  127. package/dist/llm/adapters/gemini-tools.js.map +1 -1
  128. package/dist/llm/adapters/ollama-tools.js +8 -3
  129. package/dist/llm/adapters/ollama-tools.js.map +1 -1
  130. package/dist/llm/adapters/openai-tools.js +8 -1
  131. package/dist/llm/adapters/openai-tools.js.map +1 -1
  132. package/dist/llm/agentrouter.js +2 -0
  133. package/dist/llm/agentrouter.js.map +1 -1
  134. package/dist/llm/anthropic.d.ts +8 -0
  135. package/dist/llm/anthropic.js +68 -9
  136. package/dist/llm/anthropic.js.map +1 -1
  137. package/dist/llm/aws-mantle.js +60 -12
  138. package/dist/llm/aws-mantle.js.map +1 -1
  139. package/dist/llm/bynara.js +2 -0
  140. package/dist/llm/bynara.js.map +1 -1
  141. package/dist/llm/capabilities.d.ts +7 -0
  142. package/dist/llm/capabilities.js +22 -0
  143. package/dist/llm/capabilities.js.map +1 -1
  144. package/dist/llm/gemini.d.ts +3 -0
  145. package/dist/llm/gemini.js +71 -11
  146. package/dist/llm/gemini.js.map +1 -1
  147. package/dist/llm/groq.d.ts +20 -1
  148. package/dist/llm/groq.js +32 -4
  149. package/dist/llm/groq.js.map +1 -1
  150. package/dist/llm/http.d.ts +29 -0
  151. package/dist/llm/http.js +122 -29
  152. package/dist/llm/http.js.map +1 -1
  153. package/dist/llm/kimchi.js +2 -0
  154. package/dist/llm/kimchi.js.map +1 -1
  155. package/dist/llm/nvidia.js +2 -0
  156. package/dist/llm/nvidia.js.map +1 -1
  157. package/dist/llm/ollama.d.ts +5 -0
  158. package/dist/llm/ollama.js +53 -6
  159. package/dist/llm/ollama.js.map +1 -1
  160. package/dist/llm/openai.js +2 -0
  161. package/dist/llm/openai.js.map +1 -1
  162. package/dist/llm/openrouter.js +2 -0
  163. package/dist/llm/openrouter.js.map +1 -1
  164. package/dist/llm/qwen-cloud.js +2 -0
  165. package/dist/llm/qwen-cloud.js.map +1 -1
  166. package/dist/llm/router.d.ts +16 -0
  167. package/dist/llm/router.js +79 -23
  168. package/dist/llm/router.js.map +1 -1
  169. package/dist/llm/sampling.d.ts +32 -0
  170. package/dist/llm/sampling.js +48 -0
  171. package/dist/llm/sampling.js.map +1 -0
  172. package/dist/llm/stream-progress.d.ts +4 -0
  173. package/dist/llm/stream-progress.js +43 -0
  174. package/dist/llm/stream-progress.js.map +1 -0
  175. package/dist/llm/system-messages.d.ts +29 -0
  176. package/dist/llm/system-messages.js +51 -0
  177. package/dist/llm/system-messages.js.map +1 -0
  178. package/dist/llm/token-usage.d.ts +4 -1
  179. package/dist/llm/token-usage.js +56 -4
  180. package/dist/llm/token-usage.js.map +1 -1
  181. package/dist/llm/tool-protocol.js +30 -0
  182. package/dist/llm/tool-protocol.js.map +1 -1
  183. package/dist/os/process-tree.d.ts +15 -0
  184. package/dist/os/process-tree.js +77 -0
  185. package/dist/os/process-tree.js.map +1 -0
  186. package/dist/prompts/embedded.js +1 -1
  187. package/dist/prompts/embedded.js.map +1 -1
  188. package/dist/prompts/system.agent.md +13 -12
  189. package/dist/repl/prompt-line.d.ts +5 -0
  190. package/dist/repl/prompt-line.js +7 -1
  191. package/dist/repl/prompt-line.js.map +1 -1
  192. package/dist/repl.js +61 -41
  193. package/dist/repl.js.map +1 -1
  194. package/dist/safety/classifier.js +98 -44
  195. package/dist/safety/classifier.js.map +1 -1
  196. package/dist/safety/engagement-policy.d.ts +8 -0
  197. package/dist/safety/engagement-policy.js +52 -7
  198. package/dist/safety/engagement-policy.js.map +1 -1
  199. package/dist/safety/patterns.d.ts +44 -0
  200. package/dist/safety/patterns.js +168 -37
  201. package/dist/safety/patterns.js.map +1 -1
  202. package/dist/store/config.d.ts +9 -1
  203. package/dist/store/config.js +51 -1
  204. package/dist/store/config.js.map +1 -1
  205. package/dist/store/history-index.d.ts +12 -0
  206. package/dist/store/history-index.js +47 -18
  207. package/dist/store/history-index.js.map +1 -1
  208. package/dist/store/history.d.ts +5 -2
  209. package/dist/store/history.js +153 -62
  210. package/dist/store/history.js.map +1 -1
  211. package/dist/store/plan.d.ts +81 -5
  212. package/dist/store/plan.js +406 -46
  213. package/dist/store/plan.js.map +1 -1
  214. package/dist/store/redaction-cache.d.ts +12 -0
  215. package/dist/store/redaction-cache.js +51 -0
  216. package/dist/store/redaction-cache.js.map +1 -0
  217. package/dist/store/responder-settlement.d.ts +5 -1
  218. package/dist/store/responder-settlement.js +42 -30
  219. package/dist/store/responder-settlement.js.map +1 -1
  220. package/dist/store/scope.js +36 -27
  221. package/dist/store/scope.js.map +1 -1
  222. package/dist/store/task-transitions.d.ts +19 -0
  223. package/dist/store/task-transitions.js +46 -0
  224. package/dist/store/task-transitions.js.map +1 -0
  225. package/dist/tools/capabilities.js +33 -18
  226. package/dist/tools/capabilities.js.map +1 -1
  227. package/dist/tools/command-intent.d.ts +24 -0
  228. package/dist/tools/command-intent.js +158 -4
  229. package/dist/tools/command-intent.js.map +1 -1
  230. package/dist/tools/definitions.d.ts +5 -1
  231. package/dist/tools/definitions.js +162 -21
  232. package/dist/tools/definitions.js.map +1 -1
  233. package/dist/tools/fs.d.ts +16 -0
  234. package/dist/tools/fs.js +122 -46
  235. package/dist/tools/fs.js.map +1 -1
  236. package/dist/tools/image.js +1 -1
  237. package/dist/tools/image.js.map +1 -1
  238. package/dist/tools/jobs.d.ts +78 -4
  239. package/dist/tools/jobs.js +542 -115
  240. package/dist/tools/jobs.js.map +1 -1
  241. package/dist/tools/net-ping-sweep.d.ts +3 -1
  242. package/dist/tools/net-ping-sweep.js +64 -26
  243. package/dist/tools/net-ping-sweep.js.map +1 -1
  244. package/dist/tools/nmap-runner.js +5 -2
  245. package/dist/tools/nmap-runner.js.map +1 -1
  246. package/dist/tools/pdf.js +50 -7
  247. package/dist/tools/pdf.js.map +1 -1
  248. package/dist/tools/registry.js +154 -96
  249. package/dist/tools/registry.js.map +1 -1
  250. package/dist/tools/shell.d.ts +24 -2
  251. package/dist/tools/shell.js +113 -28
  252. package/dist/tools/shell.js.map +1 -1
  253. package/dist/tools/tool-types.d.ts +2 -0
  254. package/dist/tools/validate.d.ts +8 -5
  255. package/dist/tools/validate.js +177 -7
  256. package/dist/tools/validate.js.map +1 -1
  257. package/dist/tools/wordlists.js +69 -17
  258. package/dist/tools/wordlists.js.map +1 -1
  259. package/dist/tui/state.d.ts +4 -0
  260. package/dist/tui/state.js +88 -2
  261. package/dist/tui/state.js.map +1 -1
  262. package/dist/tui-v2/actions/keymap.js +3 -8
  263. package/dist/tui-v2/actions/keymap.js.map +1 -1
  264. package/dist/tui-v2/app/App.js +52 -4
  265. package/dist/tui-v2/app/App.js.map +1 -1
  266. package/dist/tui-v2/app/commands/config-commands.js +5 -2
  267. package/dist/tui-v2/app/commands/config-commands.js.map +1 -1
  268. package/dist/tui-v2/app/commands/picker-commands.js +3 -0
  269. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  270. package/dist/tui-v2/app/plan-lifecycle.d.ts +1 -1
  271. package/dist/tui-v2/app/plan-lifecycle.js +2 -1
  272. package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
  273. package/dist/tui-v2/components/composer/composer-input-box.d.ts +1 -1
  274. package/dist/tui-v2/components/composer/composer-input-box.js +12 -3
  275. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  276. package/dist/tui-v2/components/jobs/jobs-panel.js +19 -6
  277. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  278. package/dist/tui-v2/components/plan/plan-view.js +9 -6
  279. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  280. package/dist/tui-v2/components/status/status-line.d.ts +15 -0
  281. package/dist/tui-v2/components/status/status-line.js +33 -25
  282. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  283. package/dist/tui-v2/components/transcript/assistant-message.js +17 -9
  284. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  285. package/dist/tui-v2/components/transcript/compacted-row.js +49 -22
  286. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  287. package/dist/tui-v2/components/transcript/intro-card.js +3 -0
  288. package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
  289. package/dist/tui-v2/components/transcript/thinking-block.js +2 -1
  290. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  291. package/dist/tui-v2/components/transcript/transcript-view.js +27 -2
  292. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  293. package/dist/tui-v2/components/transcript/use-transcript-selection.js +57 -6
  294. package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
  295. package/dist/tui-v2/composer/composer-editor.js +12 -6
  296. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  297. package/dist/tui-v2/rendering/incremental-strip.d.ts +11 -0
  298. package/dist/tui-v2/rendering/incremental-strip.js +89 -0
  299. package/dist/tui-v2/rendering/incremental-strip.js.map +1 -0
  300. package/dist/tui-v2/rendering/plan-view.d.ts +12 -0
  301. package/dist/tui-v2/rendering/plan-view.js +71 -2
  302. package/dist/tui-v2/rendering/plan-view.js.map +1 -1
  303. package/dist/tui-v2/rendering/streaming-markdown.d.ts +25 -0
  304. package/dist/tui-v2/rendering/streaming-markdown.js +108 -0
  305. package/dist/tui-v2/rendering/streaming-markdown.js.map +1 -0
  306. package/dist/tui-v2/rendering/thinking-tail.d.ts +5 -0
  307. package/dist/tui-v2/rendering/thinking-tail.js +26 -0
  308. package/dist/tui-v2/rendering/thinking-tail.js.map +1 -0
  309. package/dist/tui-v2/state/transcript-hydrate.js +6 -2
  310. package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
  311. package/dist/tui-v2/state/transcript-reducer.js +146 -25
  312. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  313. package/dist/tui-v2/state/transcript-types.d.ts +6 -0
  314. package/dist/tui-v2/state/transcript-types.js +17 -0
  315. package/dist/tui-v2/state/transcript-types.js.map +1 -1
  316. package/dist/types.d.ts +29 -0
  317. package/dist/types.js.map +1 -1
  318. package/dist/ui/intro-header.d.ts +1 -0
  319. package/dist/ui/intro-header.js +10 -13
  320. package/dist/ui/intro-header.js.map +1 -1
  321. package/dist/ui/markdown.js +9 -2
  322. package/dist/ui/markdown.js.map +1 -1
  323. package/dist/ui/mentions.d.ts +5 -0
  324. package/dist/ui/mentions.js +66 -7
  325. package/dist/ui/mentions.js.map +1 -1
  326. package/dist/ui/thinking.d.ts +5 -1
  327. package/dist/ui/thinking.js +3 -2
  328. package/dist/ui/thinking.js.map +1 -1
  329. package/dist/version.generated.d.ts +2 -2
  330. package/dist/version.generated.js +2 -2
  331. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/tools/capabilities.ts"],"names":[],"mappings":"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"}
@@ -11,3 +11,27 @@ export declare function looksLikeOneShotScaffolder(command: string): boolean;
11
11
  */
12
12
  export declare function looksLongRunning(command: string): boolean;
13
13
  export declare function looksLikeLongFiniteCommand(command: string): boolean;
14
+ /**
15
+ * Cost signals that make a finite command worth running as a durable job.
16
+ * The binary name alone is NOT enough: `nmap -p22 host`, `sqlmap --version`,
17
+ * and `find . -name '*.ts'` all finish in seconds and their output is needed in
18
+ * the same turn, while `nmap -p- 10.0.0.0/24`, `ffuf -w big.txt`, and
19
+ * `find / -name id_rsa` genuinely take minutes. Decisions are made from parsed
20
+ * argv (flags, port specs, target shape), never from prompt wording.
21
+ */
22
+ export declare function longFiniteCommandCost(command: string): {
23
+ reason: string | undefined;
24
+ };
25
+ export interface ShellExecBackgroundPolicy {
26
+ readonly backgroundMode: "auto" | "never" | "always";
27
+ readonly costReason: string | undefined;
28
+ readonly persistent: boolean;
29
+ readonly wantsBackground: boolean;
30
+ readonly responder: boolean;
31
+ }
32
+ /** Single ownership policy shared by pre-dispatch planning and tool runtime. */
33
+ export declare function resolveShellExecBackgroundPolicy(input: {
34
+ command: string;
35
+ background?: unknown;
36
+ responder?: unknown;
37
+ }): ShellExecBackgroundPolicy;
@@ -184,11 +184,15 @@ export function looksLongRunning(command) {
184
184
  * session-state reminders keep the job visible, and shell.tail can harvest
185
185
  * output incrementally without re-running the command.
186
186
  */
187
- const LONG_FINITE_JOB_PATTERNS = [
187
+ const LONG_FINITE_JOB_BINARIES = [
188
188
  /^(?:\S*\/)?(?:nmap|masscan)\b/i,
189
189
  /^(?:\S*\/)?(?:ffuf|feroxbuster|gobuster|dirsearch|wfuzz|nikto|nuclei|sqlmap)\b/i,
190
190
  /^(?:\S*\/)?find\s+/i,
191
191
  ];
192
+ /** True when the segment names one of the potentially expensive binaries. */
193
+ function namesFiniteJobBinary(executable) {
194
+ return LONG_FINITE_JOB_BINARIES.some((pattern) => pattern.test(executable));
195
+ }
192
196
  const ENV_OPTIONS_WITH_VALUE = new Set(["-u", "--unset", "-C", "--chdir", "-S", "--split-string"]);
193
197
  const SUDO_OPTIONS_WITH_VALUE = new Set(["-C", "--close-from", "-D", "--chdir", "-g", "--group", "-h", "--host", "-p", "--prompt", "-R", "--chroot", "-T", "--command-timeout", "-u", "--user"]);
194
198
  const TIMEOUT_OPTIONS_WITH_VALUE = new Set(["-k", "--kill-after", "-s", "--signal"]);
@@ -238,9 +242,159 @@ function unwrapFiniteCommand(segment) {
238
242
  return tokens.slice(index).join(" ");
239
243
  }
240
244
  export function looksLikeLongFiniteCommand(command) {
241
- return commandSegments(command).some((segment) => {
245
+ return Boolean(longFiniteCommandCost(command).reason);
246
+ }
247
+ /**
248
+ * Cost signals that make a finite command worth running as a durable job.
249
+ * The binary name alone is NOT enough: `nmap -p22 host`, `sqlmap --version`,
250
+ * and `find . -name '*.ts'` all finish in seconds and their output is needed in
251
+ * the same turn, while `nmap -p- 10.0.0.0/24`, `ffuf -w big.txt`, and
252
+ * `find / -name id_rsa` genuinely take minutes. Decisions are made from parsed
253
+ * argv (flags, port specs, target shape), never from prompt wording.
254
+ */
255
+ export function longFiniteCommandCost(command) {
256
+ for (const segment of commandSegments(command)) {
242
257
  const executable = unwrapFiniteCommand(segment);
243
- return LONG_FINITE_JOB_PATTERNS.some((pattern) => pattern.test(executable));
244
- });
258
+ const tokens = executable.trim().split(/\s+/).filter(Boolean);
259
+ if (tokens.length === 0)
260
+ continue;
261
+ const base = baseCommand(tokens[0]).toLowerCase();
262
+ if (!namesFiniteJobBinary(executable))
263
+ continue;
264
+ const args = tokens.slice(1);
265
+ if (args.some((token) => /^(?:--version|-V|--help|-h|-hh)$/i.test(token))) {
266
+ continue;
267
+ }
268
+ if (base === "nmap" || base === "masscan") {
269
+ const reason = nmapCostReason(args);
270
+ if (reason)
271
+ return { reason };
272
+ continue;
273
+ }
274
+ if (base === "ffuf" ||
275
+ base === "feroxbuster" ||
276
+ base === "gobuster" ||
277
+ base === "dirsearch" ||
278
+ base === "wfuzz" ||
279
+ base === "nikto" ||
280
+ base === "nuclei" ||
281
+ base === "sqlmap") {
282
+ const reason = webScannerCostReason(base, args);
283
+ if (reason)
284
+ return { reason };
285
+ continue;
286
+ }
287
+ if (base === "find") {
288
+ const reason = findCostReason(args);
289
+ if (reason)
290
+ return { reason };
291
+ continue;
292
+ }
293
+ }
294
+ return { reason: undefined };
295
+ }
296
+ /** Single ownership policy shared by pre-dispatch planning and tool runtime. */
297
+ export function resolveShellExecBackgroundPolicy(input) {
298
+ const backgroundMode = input.background === "never" || input.background === "always"
299
+ ? input.background
300
+ : "auto";
301
+ const responderPreference = typeof input.responder === "boolean" ? input.responder : undefined;
302
+ const costReason = longFiniteCommandCost(input.command).reason;
303
+ const persistent = looksLongRunning(input.command);
304
+ const wantsBackground = backgroundMode === "always"
305
+ ? true
306
+ : backgroundMode === "never"
307
+ ? false
308
+ : persistent || Boolean(costReason) || responderPreference === true;
309
+ const responder = wantsBackground &&
310
+ !persistent &&
311
+ (responderPreference ??
312
+ (backgroundMode === "auto" && Boolean(costReason)));
313
+ return {
314
+ backgroundMode,
315
+ costReason,
316
+ persistent,
317
+ wantsBackground,
318
+ responder,
319
+ };
320
+ }
321
+ function portSpecIsBroad(spec) {
322
+ if (spec === "-" || spec.includes("-"))
323
+ return true;
324
+ const parts = spec.split(",").filter(Boolean);
325
+ return parts.length > 32;
326
+ }
327
+ function nmapCostReason(args) {
328
+ let sawPortLimit = false;
329
+ for (let i = 0; i < args.length; i += 1) {
330
+ const token = args[i];
331
+ if (/^-(?:A|sV|sC|sU|sO)$/.test(token))
332
+ return `${token} scan is expensive`;
333
+ if (token === "--script" || token.startsWith("--script=")) {
334
+ return "NSE scripts are expensive";
335
+ }
336
+ if (token === "-p" || token === "--ports") {
337
+ const spec = args[i + 1] ?? "";
338
+ if (portSpecIsBroad(spec))
339
+ return `broad port spec ${spec}`;
340
+ sawPortLimit = true;
341
+ continue;
342
+ }
343
+ if (token.startsWith("-p")) {
344
+ const spec = token.slice(2);
345
+ if (spec === "" || portSpecIsBroad(spec))
346
+ return "broad port spec";
347
+ sawPortLimit = true;
348
+ continue;
349
+ }
350
+ if (token === "--top-ports") {
351
+ const n = Number(args[i + 1]);
352
+ if (!Number.isFinite(n) || n >= 100)
353
+ return "top-ports sweep";
354
+ sawPortLimit = true;
355
+ continue;
356
+ }
357
+ // A CIDR or address-range target scans many hosts.
358
+ if (!token.startsWith("-") && (token.includes("/") || /\d-\d/.test(token))) {
359
+ return `multi-host target ${token}`;
360
+ }
361
+ }
362
+ // With no port limiter at all, nmap scans its default 1000 ports.
363
+ if (!sawPortLimit)
364
+ return "default 1000-port scan";
365
+ return undefined;
366
+ }
367
+ function webScannerCostReason(base, args) {
368
+ for (let i = 0; i < args.length; i += 1) {
369
+ const token = args[i];
370
+ if (/^(?:-w|--wordlist|--wordlists)$/i.test(token) || token.startsWith("-w=")) {
371
+ return "wordlist-driven fuzzing";
372
+ }
373
+ if (/^(?:-u|--url|-r|--request)$/i.test(token) && base === "sqlmap") {
374
+ return "sqlmap against a live target";
375
+ }
376
+ if (/FUZZ/.test(token))
377
+ return "fuzz placeholder";
378
+ }
379
+ if (base === "nikto" || base === "nuclei" || base === "dirsearch") {
380
+ // These have no cheap mode once a target is supplied.
381
+ return args.some((token) => !token.startsWith("-"))
382
+ ? `${base} against a target`
383
+ : undefined;
384
+ }
385
+ return undefined;
386
+ }
387
+ const EXPENSIVE_FIND_ROOTS = /^(?:\/|~\/?|\/Users\/?$|\/home\/?$|\/var\b|\/usr\b|\/opt\b|\/etc\b|[A-Za-z]:[\\/])/;
388
+ function findCostReason(args) {
389
+ for (const token of args) {
390
+ if (/^-(?:exec|execdir|ok|okdir)$/.test(token)) {
391
+ return "find -exec runs a command per match";
392
+ }
393
+ }
394
+ const start = args.find((token) => !token.startsWith("-"));
395
+ if (start && EXPENSIVE_FIND_ROOTS.test(start)) {
396
+ return `filesystem-wide search from ${start}`;
397
+ }
398
+ return undefined;
245
399
  }
246
400
  //# sourceMappingURL=command-intent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-intent.js","sourceRoot":"","sources":["../../src/tools/command-intent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,qBAAqB,GAAa;IACtC,wEAAwE;IACxE,mDAAmD;IACnD,mCAAmC;IACnC,wBAAwB;IAExB,sBAAsB;IACtB,sCAAsC;IACtC,0CAA0C;IAE1C,sBAAsB;IACtB,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,oBAAoB;IACpB,oBAAoB;IACpB,cAAc;IACd,0EAA0E;IAC1E,+EAA+E;IAC/E,kEAAkE;IAClE,kDAAkD;IAClD,kKAAkK;IAClK,iBAAiB;IACjB,iBAAiB;IAEjB,2BAA2B;IAC3B,qBAAqB;IACrB,wBAAwB;IACxB,aAAa;IACb,oBAAoB;IAEpB,SAAS;IACT,2BAA2B;IAC3B,4BAA4B;IAC5B,0BAA0B;IAE1B,yBAAyB;IACzB,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,2BAA2B;IAC3B,cAAc;IAEd,oBAAoB;IACpB,eAAe;IACf,cAAc;IACd,iBAAiB;IAEjB,iBAAiB;IACjB,mBAAmB;IACnB,sBAAsB;IACtB,+BAA+B;IAE/B,oBAAoB;IACpB,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IAEnB,wEAAwE;IACxE,sBAAsB;IACtB,aAAa;IACb,mBAAmB;IACnB,aAAa;IACb,eAAe;IACf,oBAAoB;IACpB,kBAAkB;CACnB,CAAC;AAEF;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,4BAA4B,GAAa;IAC7C,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,oBAAoB;IACpB,mBAAmB;IACnB,qCAAqC;IACrC,0BAA0B;IAC1B,6BAA6B;IAC7B,0DAA0D;IAC1D,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IACnB,kCAAkC;IAClC,kBAAkB;IAClB,gCAAgC;IAChC,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;CACpB,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,kBAAkB,GAAwC;IAC9D,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClJ,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9G,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACtI,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;CACvE,CAAC;AAEF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc;IACpE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI;CACzD,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,KAAyB;IAC5C,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC;AAED,mFAAmF;AACnF,SAAS,mCAAmC,CAAC,OAAe;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAElE,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACxF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAE,CAAC;YAChC,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAE,CAAC;YAChC,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,UAAU;QAAE,KAAK,IAAI,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,KAAK,IAAI,CAAC,CAAC;IACX,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC5C,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,kFAAkF;AAClF,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,OAAO;SACX,KAAK,CAAC,4BAA4B,CAAC;SACnC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SACtD,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,mBAAmB,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/C,IAAI,0BAA0B,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,mCAAmC,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/D,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,wBAAwB,GAAsB;IAClD,gCAAgC;IAChC,iFAAiF;IACjF,qBAAqB;CACtB,CAAC;AAEF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACnG,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjM,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AAErF,SAAS,kBAAkB,CACzB,MAAgB,EAChB,KAAa,EACb,gBAAqC;IAErC,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;QAC7B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG;YAAE,MAAM;QACnD,KAAK,IAAI,CAAC,CAAC;QACX,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC3C,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACjE,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,uBAAuB,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAChD,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YACpD,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,0BAA0B,CAAC,CAAC;YAC1E,sDAAsD;YACtD,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM;gBAAE,KAAK,IAAI,CAAC,CAAC;YACtC,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/C,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"command-intent.js","sourceRoot":"","sources":["../../src/tools/command-intent.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  import type { ToolDefinition } from "../types.js";
2
2
  /** Plan tools dispatched specially in the runner (not in toolRegistry). */
3
3
  export declare const PLAN_TOOL_NAMES: Set<string>;
4
- /** Meta tools with no registry handler (plan + ask-mode handoff). */
4
+ /** Plan-independent Responder receipt tools dispatched by the runner. */
5
+ export declare const RESPONDER_TOOL_NAMES: Set<string>;
6
+ /** Every runner-owned meta tool that has no registry handler. */
7
+ export declare const RUNNER_META_TOOL_NAMES: Set<string>;
8
+ /** Meta tools with no registry handler (runner-owned + ask-mode handoff). */
5
9
  export declare const NON_REGISTRY_TOOL_NAMES: Set<string>;
6
10
  export declare const TOOL_DEFINITIONS: ToolDefinition[];
7
11
  export declare function getToolDefinition(name: string): ToolDefinition | undefined;
@@ -1,7 +1,33 @@
1
1
  import { registerWireNamesFor, toSnakeWireName, toWireName, } from "../llm/tool-protocol.js";
2
+ /**
3
+ * Tools whose handler actually honors `timeoutMs`. The property used to be
4
+ * injected into every schema, which cost ~45 tokens per tool on every request
5
+ * and told the model it could bound operations (fs.read, pdf.read, plan.*) that
6
+ * silently ignored it.
7
+ */
8
+ const TIMED_TOOLS = new Set([
9
+ "shell.exec",
10
+ "http.fetch",
11
+ "web.fetch",
12
+ "web.search",
13
+ "net.scan",
14
+ "net.pingSweep",
15
+ "pentest.recon",
16
+ "pentest.webDiscover",
17
+ "pentest.apiEnumerate",
18
+ "pentest.authCompare",
19
+ "pentest.scanStatus",
20
+ "pkg.install",
21
+ "tool.batch",
22
+ "tool.check",
23
+ "image.ocr",
24
+ "pdf.read",
25
+ "dns.lookup",
26
+ "whois.lookup",
27
+ "fs.search",
28
+ ]);
2
29
  function def(name, description, parameters, flags = {}) {
3
- // shell.start launches a durable process with no generic execution deadline.
4
- const timedParameters = name === "shell.start"
30
+ const timedParameters = !TIMED_TOOLS.has(name)
5
31
  ? parameters
6
32
  : {
7
33
  ...parameters,
@@ -39,9 +65,16 @@ export const PLAN_TOOL_NAMES = new Set([
39
65
  "task.read",
40
66
  "task.update",
41
67
  ]);
42
- /** Meta tools with no registry handler (plan + ask-mode handoff). */
43
- export const NON_REGISTRY_TOOL_NAMES = new Set([
68
+ /** Plan-independent Responder receipt tools dispatched by the runner. */
69
+ export const RESPONDER_TOOL_NAMES = new Set(["job.read"]);
70
+ /** Every runner-owned meta tool that has no registry handler. */
71
+ export const RUNNER_META_TOOL_NAMES = new Set([
44
72
  ...PLAN_TOOL_NAMES,
73
+ ...RESPONDER_TOOL_NAMES,
74
+ ]);
75
+ /** Meta tools with no registry handler (runner-owned + ask-mode handoff). */
76
+ export const NON_REGISTRY_TOOL_NAMES = new Set([
77
+ ...RUNNER_META_TOOL_NAMES,
45
78
  "agent.handoff",
46
79
  ]);
47
80
  export const TOOL_DEFINITIONS = [
@@ -151,6 +184,33 @@ export const TOOL_DEFINITIONS = [
151
184
  type: "integer",
152
185
  description: "Max hit lines (default 50)",
153
186
  },
187
+ maxPerFile: {
188
+ type: "integer",
189
+ description: "Max hits per file (default 20)",
190
+ },
191
+ glob: {
192
+ type: "string",
193
+ description: "Restrict to matching paths, ripgrep -g syntax (e.g. \"*.ts\", \"src/**/*.tsx\").",
194
+ },
195
+ caseInsensitive: { type: "boolean" },
196
+ fixedString: {
197
+ type: "boolean",
198
+ description: "Treat pattern as a literal string instead of a regex.",
199
+ },
200
+ context: {
201
+ type: "integer",
202
+ minimum: 0,
203
+ maximum: 10,
204
+ description: "Lines of context around each hit.",
205
+ },
206
+ filesOnly: {
207
+ type: "boolean",
208
+ description: "Return matching file paths only.",
209
+ },
210
+ hidden: {
211
+ type: "boolean",
212
+ description: "Include hidden files and directories.",
213
+ },
154
214
  },
155
215
  required: ["pattern"],
156
216
  additionalProperties: false,
@@ -207,30 +267,35 @@ export const TOOL_DEFINITIONS = [
207
267
  required: ["path"],
208
268
  additionalProperties: false,
209
269
  }, { mutates: true }),
210
- def("shell.exec", "Run a finite shell command and wait for completion. Default timeoutMs is 40000; choose a larger timeout for builds/installs/scaffolds. Known long installs get a safe automatic budget when omitted. Potentially long nmap/ffuf/find-style commands are automatically launched as durable background jobs; when a backgroundJob receipt is returned, poll shell.tail using nextOffset and shell.jobs until terminal status instead of launching a duplicate. Pass cwd instead of cd; use shell.start for persistent servers/watchers/listeners. Set responder:true ONLY for a long, self-completing scan (ffuf/nmap/gobuster and similar) you want to fire-and-forget: the Responder then tracks it, wakes you with the result, and you must NOT poll it. Leave responder off (default) for everything else and poll normally.", {
270
+ def("shell.exec", "Run a finite shell command and wait for completion. Default timeoutMs is 40000; choose a larger timeout for builds/installs/scaffolds. Known long installs get a safe automatic budget when omitted. Expensive self-completing scans/searches (broad nmap, wordlist fuzzing, filesystem-wide find) auto-launch as Responder jobs: continue other work and do not poll; their terminal result is delivered automatically. Persistent commands auto-launch as normal background jobs that require shell.tail/shell.jobs plus a readiness probe. Pass background:\"never\" to force foreground and honor timeoutMs, or background:\"always\" to force a normal pollable job. responder:true explicitly delegates a finite background job; responder:false explicitly keeps an auto-backgrounded finite job pollable. Pass cwd instead of cd; use shell.start for persistent servers/watchers/listeners.", {
211
271
  type: "object",
212
272
  properties: {
213
273
  command: { type: "string" },
214
274
  cwd: { type: "string" },
215
275
  timeoutMs: { type: "integer" },
276
+ background: {
277
+ type: "string",
278
+ enum: ["auto", "never", "always"],
279
+ description: "auto (default): background only persistent commands and commands whose arguments show real cost. never: always run in the foreground and honor timeoutMs. always: always run as a durable job.",
280
+ },
216
281
  responder: {
217
282
  type: "boolean",
218
- description: "Delegate this durable job to the Responder (fire-and-forget, auto-wake on completion). Default false: a normal background job you poll yourself.",
283
+ description: "Ownership override for a finite background job. true: Responder fire-and-continue with automatic terminal delivery (never poll). false: normal pollable job, including when cost auto-backgrounds it. Omit: costly finite commands auto-delegate; persistent commands remain normal jobs.",
284
+ },
285
+ parentTaskId: {
286
+ type: "string",
287
+ description: "Plan task id that owns this delegation (e.g. \"t3\"). Required whenever more than one task could own it; the Responder child is created under exactly this task.",
219
288
  },
220
289
  },
221
290
  required: ["command"],
222
291
  additionalProperties: false,
223
292
  }, { mutates: true }),
224
- def("shell.start", "Start a persistent server/watcher/listener as a tracked background job. Returns a stable job id and persists registry/status across turns and CLI restarts. Captured output is incrementally available while this CLI process owns the child pipes; after a restart, status is reconciled but detached output pipes cannot be reattached. Launch success does not prove readiness: use shell.tail with offset/nextOffset, shell.jobs, and an application readiness probe. Do not start duplicates; use shell.stop for cleanup. Durable background jobs have no generic execution deadline and stop only naturally, by explicit cancellation, process error, or authorization expiry. Servers do not self-complete, so leave responder off here and poll/probe as usual.", {
293
+ def("shell.start", "Start a persistent server/watcher/listener as a normal tracked background job. Returns a stable job id and persists registry/status across turns and CLI restarts. Captured output is incrementally available while this CLI process owns the child pipes; after a restart, status is reconciled but detached output pipes cannot be reattached. Launch success does not prove readiness: use shell.tail with offset/nextOffset, shell.jobs, and an application readiness probe. Do not start duplicates; use shell.stop for cleanup. Durable background jobs have no generic execution deadline and stop only naturally, by explicit cancellation, process error, or authorization expiry. Servers do not self-complete, so shell.start cannot delegate to the Responder.", {
225
294
  type: "object",
226
295
  properties: {
227
296
  command: { type: "string" },
228
297
  cwd: { type: "string" },
229
298
  name: { type: "string" },
230
- responder: {
231
- type: "boolean",
232
- description: "Delegate to the Responder (fire-and-forget, auto-wake on completion). Default false. Only useful for a job that exits on its own; leave off for long-lived servers/watchers.",
233
- },
234
299
  },
235
300
  required: ["command"],
236
301
  additionalProperties: false,
@@ -269,14 +334,39 @@ export const TOOL_DEFINITIONS = [
269
334
  required: ["tool"],
270
335
  additionalProperties: false,
271
336
  }, { mutates: true }),
272
- def("net.scan", "Port/service scan a target with nmap (confirm required for live scans).", {
337
+ def("net.scan", "Validated nmap port/service scan. Put only the IP, hostname, or CIDR in target; put a port expression such as 1-1000 in ports without a -p prefix. Use profile for scan behavior: scanType syn/tcp/udp/ping, serviceDetect boolean, scripts as an array of safe NSE names (for -sC use [\"default\"]), timing T0-T5, or topPorts. Broad/deep scans run as Responder jobs: do not poll; continue other work and wait for automatic terminal delivery.", {
273
338
  type: "object",
274
339
  properties: {
275
- target: { type: "string" },
276
- ports: { type: "string" },
340
+ target: {
341
+ type: "string",
342
+ description: "IP, hostname, or CIDR only; never append nmap flags",
343
+ },
344
+ ports: {
345
+ type: "string",
346
+ description: "Port or range expression, e.g. 443, 80,443, or 1-1000; omit -p",
347
+ },
277
348
  profile: {
278
349
  type: "object",
279
- description: "Structured nmap profile",
350
+ description: "Structured nmap options",
351
+ properties: {
352
+ scanType: {
353
+ type: "string",
354
+ enum: ["syn", "tcp", "udp", "ping"],
355
+ },
356
+ topPorts: { type: "integer", minimum: 1, maximum: 65535 },
357
+ serviceDetect: { type: "boolean" },
358
+ scripts: {
359
+ type: "array",
360
+ items: { type: "string", pattern: "^[A-Za-z0-9_-]+$" },
361
+ description: "Safe NSE script names; use [\"default\"] for nmap -sC",
362
+ },
363
+ timing: {
364
+ type: "string",
365
+ enum: ["T0", "T1", "T2", "T3", "T4", "T5"],
366
+ },
367
+ udp: { type: "boolean" },
368
+ },
369
+ additionalProperties: false,
280
370
  },
281
371
  flags: {
282
372
  type: "string",
@@ -286,6 +376,10 @@ export const TOOL_DEFINITIONS = [
286
376
  type: "boolean",
287
377
  description: "Force durable execution; deep/full profiles are durable automatically",
288
378
  },
379
+ parentTaskId: {
380
+ type: "string",
381
+ description: "Plan task id that owns this delegation (e.g. \"t3\"). Required whenever more than one task could own it; the Responder child is created under exactly this task.",
382
+ },
289
383
  },
290
384
  required: ["target"],
291
385
  additionalProperties: false,
@@ -414,6 +508,10 @@ export const TOOL_DEFINITIONS = [
414
508
  type: "boolean",
415
509
  description: "Force durable nmap execution; deep/full scans are durable automatically",
416
510
  },
511
+ parentTaskId: {
512
+ type: "string",
513
+ description: "Plan task id that owns this delegation (e.g. \"t3\"). Required whenever more than one task could own it; the Responder child is created under exactly this task.",
514
+ },
417
515
  },
418
516
  required: ["target"],
419
517
  additionalProperties: false,
@@ -650,8 +748,16 @@ export const TOOL_DEFINITIONS = [
650
748
  type: "object",
651
749
  properties: {
652
750
  path: { type: "string" },
653
- lang: { type: "string" },
654
- maxBytes: { type: "integer" },
751
+ lang: {
752
+ type: "string",
753
+ description: "tesseract language code (default eng).",
754
+ },
755
+ psm: {
756
+ type: "integer",
757
+ minimum: 0,
758
+ maximum: 13,
759
+ description: "tesseract page-segmentation mode (default 6).",
760
+ },
655
761
  },
656
762
  required: ["path"],
657
763
  additionalProperties: false,
@@ -660,13 +766,33 @@ export const TOOL_DEFINITIONS = [
660
766
  type: "object",
661
767
  properties: {
662
768
  path: { type: "string" },
663
- maxPages: { type: "integer" },
664
- maxBytes: { type: "integer" },
769
+ maxPages: {
770
+ type: "integer",
771
+ minimum: 1,
772
+ maximum: 500,
773
+ description: "Maximum pages to OCR when the PDF is scanned. OCR costs up to 120s per page, so bound this for long scans.",
774
+ },
775
+ lang: {
776
+ type: "string",
777
+ description: "tesseract language code for OCR pages (default eng).",
778
+ },
779
+ dpi: {
780
+ type: "integer",
781
+ minimum: 72,
782
+ maximum: 600,
783
+ description: "Render resolution for OCR pages (default 200).",
784
+ },
785
+ psm: {
786
+ type: "integer",
787
+ minimum: 0,
788
+ maximum: 13,
789
+ description: "tesseract page-segmentation mode (default 6).",
790
+ },
665
791
  },
666
792
  required: ["path"],
667
793
  additionalProperties: false,
668
794
  }, { readOnly: true, askMode: true }),
669
- def("plan.create", "Create or revise a durable multi-step session plan with task checklist.", {
795
+ def("plan.create", "Create the initial durable plan or revise a draft awaiting approval. If a plan is already approved/in progress, use task.add; runtime preserves it and treats proposed new tasks as append-only.", {
670
796
  type: "object",
671
797
  properties: {
672
798
  goal: {
@@ -738,7 +864,21 @@ export const TOOL_DEFINITIONS = [
738
864
  required: ["taskId"],
739
865
  additionalProperties: false,
740
866
  }, { mutates: true }),
741
- def("task.read", "Mark one delivered Responder subtask result read. Call this only after you have seen and analyzed that notification's result and are satisfied the responder subtask is finished. This is mandatory before continuing to a final response; never call it merely because a result arrived.", {
867
+ def("job.read", "Mark one delivered Responder job result read after analysis. This is plan-independent and mandatory before a final response. Identify the receipt by jobId or notificationId; reading atomically records delivery and prevents duplicate notification of the same result revision.", {
868
+ type: "object",
869
+ properties: {
870
+ jobId: {
871
+ type: "string",
872
+ description: "Canonical background job id from the delivered result",
873
+ },
874
+ notificationId: {
875
+ type: "string",
876
+ description: "Exact notification id from the delivered Responder result",
877
+ },
878
+ },
879
+ additionalProperties: false,
880
+ }, { mutates: true }),
881
+ def("task.read", "Compatibility alias for job.read using notificationId. It does not require an active plan. Call only after analyzing the delivered Responder result.", {
742
882
  type: "object",
743
883
  properties: {
744
884
  notificationId: {
@@ -831,6 +971,7 @@ export function getToolDefinitions(filter) {
831
971
  "plan.create",
832
972
  "task.add",
833
973
  "task.move",
974
+ "job.read",
834
975
  "task.read",
835
976
  "task.update",
836
977
  ]);