@pentoshi/clai 3.9.1 → 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 (334) 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 +850 -237
  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/stream-recovery.d.ts +83 -0
  53. package/dist/agent/stream-recovery.js +270 -0
  54. package/dist/agent/stream-recovery.js.map +1 -0
  55. package/dist/agent/task-analyzer.js +7 -3
  56. package/dist/agent/task-analyzer.js.map +1 -1
  57. package/dist/agent/task-evidence.js +2 -0
  58. package/dist/agent/task-evidence.js.map +1 -1
  59. package/dist/agent/task-sync.d.ts +11 -0
  60. package/dist/agent/task-sync.js +31 -0
  61. package/dist/agent/task-sync.js.map +1 -1
  62. package/dist/agent/tool-call-parser.d.ts +6 -13
  63. package/dist/agent/tool-call-parser.js +186 -82
  64. package/dist/agent/tool-call-parser.js.map +1 -1
  65. package/dist/agent/tool-history.d.ts +8 -2
  66. package/dist/agent/tool-history.js +8 -1
  67. package/dist/agent/tool-history.js.map +1 -1
  68. package/dist/agent/turn-outcome.d.ts +4 -1
  69. package/dist/agent/turn-outcome.js +16 -2
  70. package/dist/agent/turn-outcome.js.map +1 -1
  71. package/dist/app/adapters/agent-event-adapter.js +27 -0
  72. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  73. package/dist/app/adapters/current-agent-adapter.js +1 -0
  74. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  75. package/dist/app/adapters/current-jobs-adapter.js +4 -3
  76. package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
  77. package/dist/app/adapters/current-store-adapter.js +4 -3
  78. package/dist/app/adapters/current-store-adapter.js.map +1 -1
  79. package/dist/app/adapters/current-updates-adapter.d.ts +1 -1
  80. package/dist/app/adapters/current-updates-adapter.js +34 -5
  81. package/dist/app/adapters/current-updates-adapter.js.map +1 -1
  82. package/dist/app/adapters/quiet-meta-tools.js +2 -1
  83. package/dist/app/adapters/quiet-meta-tools.js.map +1 -1
  84. package/dist/app/controllers/job-controller.d.ts +4 -3
  85. package/dist/app/controllers/job-controller.js +9 -6
  86. package/dist/app/controllers/job-controller.js.map +1 -1
  87. package/dist/app/controllers/plan-controller.js +14 -0
  88. package/dist/app/controllers/plan-controller.js.map +1 -1
  89. package/dist/app/controllers/responder-settlement.js +2 -2
  90. package/dist/app/controllers/responder-settlement.js.map +1 -1
  91. package/dist/app/controllers/session-compact-helper.d.ts +23 -1
  92. package/dist/app/controllers/session-compact-helper.js +117 -7
  93. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  94. package/dist/app/controllers/session-context-usage.d.ts +24 -0
  95. package/dist/app/controllers/session-context-usage.js +89 -0
  96. package/dist/app/controllers/session-context-usage.js.map +1 -0
  97. package/dist/app/controllers/session-controller.d.ts +18 -17
  98. package/dist/app/controllers/session-controller.js +127 -119
  99. package/dist/app/controllers/session-controller.js.map +1 -1
  100. package/dist/app/controllers/session-prompt-queue.d.ts +3 -0
  101. package/dist/app/controllers/session-prompt-queue.js +20 -1
  102. package/dist/app/controllers/session-prompt-queue.js.map +1 -1
  103. package/dist/app/controllers/session-responder.js +16 -6
  104. package/dist/app/controllers/session-responder.js.map +1 -1
  105. package/dist/app/controllers/session-turn-request.d.ts +18 -0
  106. package/dist/app/controllers/session-turn-request.js +31 -0
  107. package/dist/app/controllers/session-turn-request.js.map +1 -0
  108. package/dist/app/controllers/turn-continuation.d.ts +14 -0
  109. package/dist/app/controllers/turn-continuation.js +46 -0
  110. package/dist/app/controllers/turn-continuation.js.map +1 -0
  111. package/dist/app/events/app-event.d.ts +21 -0
  112. package/dist/app/events/app-event.js +1 -0
  113. package/dist/app/events/app-event.js.map +1 -1
  114. package/dist/app/ports/agent-port.d.ts +7 -0
  115. package/dist/app/ports/jobs-port.d.ts +4 -3
  116. package/dist/app/ports/persistence-port.d.ts +11 -0
  117. package/dist/app/ports/updates-port.d.ts +8 -0
  118. package/dist/attachments/service.js +13 -2
  119. package/dist/attachments/service.js.map +1 -1
  120. package/dist/commands/providers.js +13 -10
  121. package/dist/commands/providers.js.map +1 -1
  122. package/dist/commands/update.d.ts +4 -0
  123. package/dist/commands/update.js +14 -0
  124. package/dist/commands/update.js.map +1 -1
  125. package/dist/llm/adapters/anthropic-tools.d.ts +14 -1
  126. package/dist/llm/adapters/anthropic-tools.js +36 -5
  127. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  128. package/dist/llm/adapters/gemini-tools.d.ts +3 -1
  129. package/dist/llm/adapters/gemini-tools.js +5 -2
  130. package/dist/llm/adapters/gemini-tools.js.map +1 -1
  131. package/dist/llm/adapters/ollama-tools.js +8 -3
  132. package/dist/llm/adapters/ollama-tools.js.map +1 -1
  133. package/dist/llm/adapters/openai-tools.js +8 -1
  134. package/dist/llm/adapters/openai-tools.js.map +1 -1
  135. package/dist/llm/agentrouter.js +2 -0
  136. package/dist/llm/agentrouter.js.map +1 -1
  137. package/dist/llm/anthropic.d.ts +8 -0
  138. package/dist/llm/anthropic.js +68 -9
  139. package/dist/llm/anthropic.js.map +1 -1
  140. package/dist/llm/aws-mantle.js +60 -12
  141. package/dist/llm/aws-mantle.js.map +1 -1
  142. package/dist/llm/bynara.js +2 -0
  143. package/dist/llm/bynara.js.map +1 -1
  144. package/dist/llm/capabilities.d.ts +7 -0
  145. package/dist/llm/capabilities.js +22 -0
  146. package/dist/llm/capabilities.js.map +1 -1
  147. package/dist/llm/gemini.d.ts +3 -0
  148. package/dist/llm/gemini.js +71 -11
  149. package/dist/llm/gemini.js.map +1 -1
  150. package/dist/llm/groq.d.ts +20 -1
  151. package/dist/llm/groq.js +32 -4
  152. package/dist/llm/groq.js.map +1 -1
  153. package/dist/llm/http.d.ts +29 -0
  154. package/dist/llm/http.js +122 -29
  155. package/dist/llm/http.js.map +1 -1
  156. package/dist/llm/kimchi.js +2 -0
  157. package/dist/llm/kimchi.js.map +1 -1
  158. package/dist/llm/nvidia.js +2 -0
  159. package/dist/llm/nvidia.js.map +1 -1
  160. package/dist/llm/ollama.d.ts +5 -0
  161. package/dist/llm/ollama.js +53 -6
  162. package/dist/llm/ollama.js.map +1 -1
  163. package/dist/llm/openai.js +2 -0
  164. package/dist/llm/openai.js.map +1 -1
  165. package/dist/llm/openrouter.js +2 -0
  166. package/dist/llm/openrouter.js.map +1 -1
  167. package/dist/llm/qwen-cloud.js +2 -0
  168. package/dist/llm/qwen-cloud.js.map +1 -1
  169. package/dist/llm/router.d.ts +16 -0
  170. package/dist/llm/router.js +79 -23
  171. package/dist/llm/router.js.map +1 -1
  172. package/dist/llm/sampling.d.ts +32 -0
  173. package/dist/llm/sampling.js +48 -0
  174. package/dist/llm/sampling.js.map +1 -0
  175. package/dist/llm/stream-progress.d.ts +4 -0
  176. package/dist/llm/stream-progress.js +43 -0
  177. package/dist/llm/stream-progress.js.map +1 -0
  178. package/dist/llm/system-messages.d.ts +29 -0
  179. package/dist/llm/system-messages.js +51 -0
  180. package/dist/llm/system-messages.js.map +1 -0
  181. package/dist/llm/token-usage.d.ts +4 -1
  182. package/dist/llm/token-usage.js +56 -4
  183. package/dist/llm/token-usage.js.map +1 -1
  184. package/dist/llm/tool-protocol.js +30 -0
  185. package/dist/llm/tool-protocol.js.map +1 -1
  186. package/dist/os/process-tree.d.ts +15 -0
  187. package/dist/os/process-tree.js +77 -0
  188. package/dist/os/process-tree.js.map +1 -0
  189. package/dist/prompts/embedded.js +1 -1
  190. package/dist/prompts/embedded.js.map +1 -1
  191. package/dist/prompts/system.agent.md +13 -12
  192. package/dist/repl/prompt-line.d.ts +5 -0
  193. package/dist/repl/prompt-line.js +7 -1
  194. package/dist/repl/prompt-line.js.map +1 -1
  195. package/dist/repl.js +61 -41
  196. package/dist/repl.js.map +1 -1
  197. package/dist/safety/classifier.js +98 -44
  198. package/dist/safety/classifier.js.map +1 -1
  199. package/dist/safety/engagement-policy.d.ts +8 -0
  200. package/dist/safety/engagement-policy.js +52 -7
  201. package/dist/safety/engagement-policy.js.map +1 -1
  202. package/dist/safety/patterns.d.ts +44 -0
  203. package/dist/safety/patterns.js +168 -37
  204. package/dist/safety/patterns.js.map +1 -1
  205. package/dist/store/config.d.ts +9 -1
  206. package/dist/store/config.js +51 -1
  207. package/dist/store/config.js.map +1 -1
  208. package/dist/store/history-index.d.ts +12 -0
  209. package/dist/store/history-index.js +47 -18
  210. package/dist/store/history-index.js.map +1 -1
  211. package/dist/store/history.d.ts +5 -2
  212. package/dist/store/history.js +153 -62
  213. package/dist/store/history.js.map +1 -1
  214. package/dist/store/plan.d.ts +81 -5
  215. package/dist/store/plan.js +406 -46
  216. package/dist/store/plan.js.map +1 -1
  217. package/dist/store/redaction-cache.d.ts +12 -0
  218. package/dist/store/redaction-cache.js +51 -0
  219. package/dist/store/redaction-cache.js.map +1 -0
  220. package/dist/store/responder-settlement.d.ts +5 -1
  221. package/dist/store/responder-settlement.js +42 -30
  222. package/dist/store/responder-settlement.js.map +1 -1
  223. package/dist/store/scope.js +36 -27
  224. package/dist/store/scope.js.map +1 -1
  225. package/dist/store/task-transitions.d.ts +19 -0
  226. package/dist/store/task-transitions.js +46 -0
  227. package/dist/store/task-transitions.js.map +1 -0
  228. package/dist/tools/capabilities.js +33 -18
  229. package/dist/tools/capabilities.js.map +1 -1
  230. package/dist/tools/command-intent.d.ts +24 -0
  231. package/dist/tools/command-intent.js +158 -4
  232. package/dist/tools/command-intent.js.map +1 -1
  233. package/dist/tools/definitions.d.ts +5 -1
  234. package/dist/tools/definitions.js +162 -21
  235. package/dist/tools/definitions.js.map +1 -1
  236. package/dist/tools/fs.d.ts +16 -0
  237. package/dist/tools/fs.js +122 -46
  238. package/dist/tools/fs.js.map +1 -1
  239. package/dist/tools/image.js +1 -1
  240. package/dist/tools/image.js.map +1 -1
  241. package/dist/tools/jobs.d.ts +78 -4
  242. package/dist/tools/jobs.js +542 -115
  243. package/dist/tools/jobs.js.map +1 -1
  244. package/dist/tools/net-ping-sweep.d.ts +3 -1
  245. package/dist/tools/net-ping-sweep.js +64 -26
  246. package/dist/tools/net-ping-sweep.js.map +1 -1
  247. package/dist/tools/nmap-runner.js +5 -2
  248. package/dist/tools/nmap-runner.js.map +1 -1
  249. package/dist/tools/pdf.js +50 -7
  250. package/dist/tools/pdf.js.map +1 -1
  251. package/dist/tools/registry.js +154 -96
  252. package/dist/tools/registry.js.map +1 -1
  253. package/dist/tools/shell.d.ts +24 -2
  254. package/dist/tools/shell.js +113 -28
  255. package/dist/tools/shell.js.map +1 -1
  256. package/dist/tools/tool-types.d.ts +2 -0
  257. package/dist/tools/validate.d.ts +8 -5
  258. package/dist/tools/validate.js +177 -7
  259. package/dist/tools/validate.js.map +1 -1
  260. package/dist/tools/wordlists.js +69 -17
  261. package/dist/tools/wordlists.js.map +1 -1
  262. package/dist/tui/state.d.ts +4 -0
  263. package/dist/tui/state.js +88 -2
  264. package/dist/tui/state.js.map +1 -1
  265. package/dist/tui-v2/actions/keymap.js +3 -8
  266. package/dist/tui-v2/actions/keymap.js.map +1 -1
  267. package/dist/tui-v2/app/App.js +56 -5
  268. package/dist/tui-v2/app/App.js.map +1 -1
  269. package/dist/tui-v2/app/commands/config-commands.js +5 -2
  270. package/dist/tui-v2/app/commands/config-commands.js.map +1 -1
  271. package/dist/tui-v2/app/commands/picker-commands.js +3 -0
  272. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  273. package/dist/tui-v2/app/plan-lifecycle.d.ts +1 -1
  274. package/dist/tui-v2/app/plan-lifecycle.js +2 -1
  275. package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
  276. package/dist/tui-v2/components/composer/composer-input-box.d.ts +1 -1
  277. package/dist/tui-v2/components/composer/composer-input-box.js +12 -3
  278. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  279. package/dist/tui-v2/components/jobs/jobs-panel.js +19 -6
  280. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  281. package/dist/tui-v2/components/plan/plan-view.js +9 -6
  282. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  283. package/dist/tui-v2/components/status/status-line.d.ts +15 -0
  284. package/dist/tui-v2/components/status/status-line.js +33 -25
  285. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  286. package/dist/tui-v2/components/transcript/assistant-message.js +17 -9
  287. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  288. package/dist/tui-v2/components/transcript/compacted-row.js +49 -22
  289. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  290. package/dist/tui-v2/components/transcript/intro-card.js +3 -0
  291. package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
  292. package/dist/tui-v2/components/transcript/thinking-block.js +2 -1
  293. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  294. package/dist/tui-v2/components/transcript/transcript-view.js +27 -2
  295. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  296. package/dist/tui-v2/components/transcript/use-transcript-selection.js +57 -6
  297. package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
  298. package/dist/tui-v2/composer/composer-editor.js +20 -12
  299. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  300. package/dist/tui-v2/rendering/incremental-strip.d.ts +11 -0
  301. package/dist/tui-v2/rendering/incremental-strip.js +89 -0
  302. package/dist/tui-v2/rendering/incremental-strip.js.map +1 -0
  303. package/dist/tui-v2/rendering/plan-view.d.ts +12 -0
  304. package/dist/tui-v2/rendering/plan-view.js +71 -2
  305. package/dist/tui-v2/rendering/plan-view.js.map +1 -1
  306. package/dist/tui-v2/rendering/streaming-markdown.d.ts +25 -0
  307. package/dist/tui-v2/rendering/streaming-markdown.js +108 -0
  308. package/dist/tui-v2/rendering/streaming-markdown.js.map +1 -0
  309. package/dist/tui-v2/rendering/thinking-tail.d.ts +5 -0
  310. package/dist/tui-v2/rendering/thinking-tail.js +26 -0
  311. package/dist/tui-v2/rendering/thinking-tail.js.map +1 -0
  312. package/dist/tui-v2/state/transcript-hydrate.js +6 -2
  313. package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
  314. package/dist/tui-v2/state/transcript-reducer.js +146 -25
  315. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  316. package/dist/tui-v2/state/transcript-types.d.ts +6 -0
  317. package/dist/tui-v2/state/transcript-types.js +17 -0
  318. package/dist/tui-v2/state/transcript-types.js.map +1 -1
  319. package/dist/types.d.ts +29 -0
  320. package/dist/types.js.map +1 -1
  321. package/dist/ui/intro-header.d.ts +1 -0
  322. package/dist/ui/intro-header.js +10 -13
  323. package/dist/ui/intro-header.js.map +1 -1
  324. package/dist/ui/markdown.js +9 -2
  325. package/dist/ui/markdown.js.map +1 -1
  326. package/dist/ui/mentions.d.ts +5 -0
  327. package/dist/ui/mentions.js +66 -7
  328. package/dist/ui/mentions.js.map +1 -1
  329. package/dist/ui/thinking.d.ts +5 -1
  330. package/dist/ui/thinking.js +3 -2
  331. package/dist/ui/thinking.js.map +1 -1
  332. package/dist/version.generated.d.ts +2 -2
  333. package/dist/version.generated.js +2 -2
  334. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"task-evidence.js","sourceRoot":"","sources":["../../src/agent/task-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-evidence.js","sourceRoot":"","sources":["../../src/agent/task-evidence.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,17 @@ export declare function dependencySignature(taskId: string, state: string, block
48
48
  */
49
49
  export declare function buildMultiUpdateReminder(descriptors: readonly BatchTaskDescriptor[]): string;
50
50
  export declare function buildDependencyReminder(input: DependencyReminderInput): string;
51
+ /** Distinct task ids a message tries to open (`in_progress`) at once. */
52
+ export declare function openingTaskIds(intents: readonly TaskUpdateIntent[]): string[];
53
+ /**
54
+ * Model-facing rejection for opening several tasks in one message. Unlike the
55
+ * batch-completion hold this is not confirmable: `count(active foreground
56
+ * tasks) <= 1` is a persistence invariant, so a confirmed multi-open would only
57
+ * be demoted again on commit.
58
+ */
59
+ export declare function buildMultiOpenRejection(descriptors: readonly BatchTaskDescriptor[]): string;
60
+ /** Short, identifiable toast for a rejected multi-open. */
61
+ export declare function multiOpenToast(count: number): string;
51
62
  /** Short, identifiable toast for a batched multi-task update. */
52
63
  export declare function multiUpdateToast(count: number): string;
53
64
  /** Short, identifiable toast for opening a task before its dependencies. */
@@ -94,6 +94,37 @@ export function buildDependencyReminder(input) {
94
94
  "The transition was applied; this is not a block. Continue deliberately only if the earlier task is effectively satisfied, was left unmarked, or the work is intentionally out of order. " +
95
95
  "Otherwise return to the prerequisite before claiming this task complete. Completion still requires all declared dependencies to be done or skipped.");
96
96
  }
97
+ /** Distinct task ids a message tries to open (`in_progress`) at once. */
98
+ export function openingTaskIds(intents) {
99
+ const ids = new Set();
100
+ for (const intent of intents) {
101
+ if (intent.state === "in_progress")
102
+ ids.add(intent.taskId);
103
+ }
104
+ return [...ids];
105
+ }
106
+ /**
107
+ * Model-facing rejection for opening several tasks in one message. Unlike the
108
+ * batch-completion hold this is not confirmable: `count(active foreground
109
+ * tasks) <= 1` is a persistence invariant, so a confirmed multi-open would only
110
+ * be demoted again on commit.
111
+ */
112
+ export function buildMultiOpenRejection(descriptors) {
113
+ const shown = descriptors.slice(0, MAX_LISTED_TASKS);
114
+ const extra = descriptors.length - shown.length;
115
+ const list = shown.map(formatTaskLine).join("\n");
116
+ const overflow = extra > 0 ? `\n …and ${extra} more` : "";
117
+ const first = descriptors[0];
118
+ return (`REJECTED — one message tries to start several tasks at once:\n` +
119
+ `${list}${overflow}\n\n` +
120
+ "Nothing was changed. Exactly one foreground task may be in_progress at a time; this is enforced by the task store, not a convention, so re-issuing these calls will not apply them. " +
121
+ (first ? `Open only [${first.taskId}] now, finish and verify it, mark it done, then open the next one. ` : "") +
122
+ "Responder-owned background subtasks are exempt and advance on their own.");
123
+ }
124
+ /** Short, identifiable toast for a rejected multi-open. */
125
+ export function multiOpenToast(count) {
126
+ return `${count} tasks opened at once · rejected, one active task only`;
127
+ }
97
128
  /** Short, identifiable toast for a batched multi-task update. */
98
129
  export function multiUpdateToast(count) {
99
130
  return `${count} task updates batched · verify & sync one by one`;
@@ -1 +1 @@
1
- {"version":3,"file":"task-sync.js","sourceRoot":"","sources":["../../src/agent/task-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-sync.js","sourceRoot":"","sources":["../../src/agent/task-sync.ts"],"names":[],"mappings":"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"}
@@ -62,22 +62,14 @@ export declare function recognizeBareToolJson(text: string): {
62
62
  * multi-file fs.writeMany scaffold) silently never runs.
63
63
  */
64
64
  export declare function looksLikeTruncatedToolCall(text: string): boolean;
65
- /**
66
- * Attempt to extract usable content from a truncated fs.write / fs.append /
67
- * fs.writeMany tool call. When the model's output is cut off mid-JSON, the
68
- * tool call fails to parse — but typically a large chunk of the intended file
69
- * content is already present in the raw text. This function extracts:
70
- * - path: the target file path
71
- * - content: the partial file content (up to the truncation point)
72
- * - lastLine: the last complete line (for telling the model where to resume)
73
- *
74
- * Returns undefined if the text doesn't look like a salvageable write call.
75
- */
76
- export declare function salvageTruncatedWrite(text: string): {
65
+ export interface SalvagedWrite {
66
+ operation: "write" | "append";
77
67
  path: string;
78
68
  content: string;
79
69
  lastLine: string;
80
- } | undefined;
70
+ expectedPriorBytes?: number | undefined;
71
+ }
72
+ export declare function salvageTruncatedWrite(text: string): SalvagedWrite | undefined;
81
73
  /**
82
74
  * Salvage partial file content from a native tool call's raw argument JSON
83
75
  * (streaming cut off / finish_reason length / _parseError). Reuses the
@@ -100,6 +92,7 @@ export declare function countToolFences(text: string): number;
100
92
  * can execute a batch emitted in one turn instead of only the first call.
101
93
  */
102
94
  export declare function parseAllToolCalls(text: string): ToolCall[];
95
+ export declare function isMutatingToolName(name: string): boolean;
103
96
  /** Structural equality for two tool calls (name + canonical args JSON). */
104
97
  export declare function sameToolCall(a: ToolCall, b: ToolCall): boolean;
105
98
  /**
@@ -294,13 +294,37 @@ function parseKimiToolCall(text) {
294
294
  * balanced JSON object (bare args, not necessarily {"name","args"} wrapper).
295
295
  */
296
296
  const ID_TOOL_CALL_RE = /<tool_call:([A-Za-z0-9_-]+)>\s*([\w.-]+)\s*/gi;
297
+ /**
298
+ * Boundaries that end one id-tagged block. Argument JSON must be found before
299
+ * the first of these, so a block whose own JSON is missing or truncated can
300
+ * Never adopt the arguments of a LATER block: a `fs.delete` opener
301
+ * must not pair with the next call's `{"path":...}`.
302
+ */
303
+ const ID_BLOCK_BOUNDARY_RES = [
304
+ /<\/tool_call\b/i,
305
+ /<\/tool_calls\b/i,
306
+ /<tool_call:/i,
307
+ /<tool_call>/i,
308
+ /<tool_calls:/i,
309
+ /<\|tool_call_begin\|>/i,
310
+ /<\|tool_calls_section_end\|>/i,
311
+ ];
312
+ function boundIdTaggedBlock(after) {
313
+ let end = after.length;
314
+ for (const re of ID_BLOCK_BOUNDARY_RES) {
315
+ const match = re.exec(after);
316
+ if (match && match.index < end)
317
+ end = match.index;
318
+ }
319
+ return after.slice(0, end);
320
+ }
297
321
  function parseIdTaggedToolCall(text) {
298
322
  const match = /<tool_call:([A-Za-z0-9_-]+)>\s*([\w.-]+)\s*/i.exec(text);
299
323
  if (!match)
300
324
  return undefined;
301
325
  const name = match[2];
302
- const after = text.slice(match.index + match[0].length);
303
- const json = extractBalancedJson(after);
326
+ const block = boundIdTaggedBlock(text.slice(match.index + match[0].length));
327
+ const json = extractBalancedJson(block);
304
328
  if (json) {
305
329
  const parsed = tryJson(json);
306
330
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
@@ -312,11 +336,13 @@ function parseIdTaggedToolCall(text) {
312
336
  // Bare args object: {"query":"…"}
313
337
  return { name, args: obj };
314
338
  }
339
+ return undefined;
315
340
  }
316
- // No-args tool (e.g. net.context / sysinfo)
317
- if (/^[\s\n]*(?:<\/tool_call|$)/i.test(after) || after.trim() === "") {
318
- return { name, args: {} };
319
- }
341
+ // An unbalanced/undecodable `{` inside this block means the arguments are
342
+ // truncated. Never fall through to an empty-args call — that would run a
343
+ // mutating tool with a different meaning than the model intended.
344
+ if (block.includes("{"))
345
+ return undefined;
320
346
  return { name, args: {} };
321
347
  }
322
348
  function parseAllIdTaggedToolCalls(text) {
@@ -636,6 +662,7 @@ const TOOL_ARG_KEYS = new Set([
636
662
  "tasks",
637
663
  "taskId",
638
664
  "notificationId",
665
+ "jobId",
639
666
  "state",
640
667
  "method",
641
668
  "body",
@@ -689,8 +716,13 @@ const TOOL_ARG_KEYS = new Set([
689
716
  */
690
717
  export function inferToolFromArgs(obj) {
691
718
  const has = (key) => Object.prototype.hasOwnProperty.call(obj, key);
692
- if (has("command"))
693
- return "shell.exec";
719
+ // `command` is deliberately NOT inferred: a fenced JSON object containing a
720
+ // "command" key routinely appears in material the model quotes from a
721
+ // README, web page, or config sample. Inferring shell.exec from it turns
722
+ // fetched content into an execution path, so the caller nudges for an
723
+ // explicit re-emit instead.
724
+ if (has("command") || has("cmd"))
725
+ return undefined;
694
726
  if (has("files"))
695
727
  return "fs.writeMany";
696
728
  if (has("calls"))
@@ -711,8 +743,8 @@ export function inferToolFromArgs(obj) {
711
743
  return "tool.check";
712
744
  if (has("goal") && has("tasks"))
713
745
  return "plan.create";
714
- if (has("notificationId"))
715
- return "task.read";
746
+ if (has("notificationId") || has("jobId"))
747
+ return "job.read";
716
748
  if (has("taskId") &&
717
749
  (has("position") || has("beforeTaskId") || has("afterTaskId")))
718
750
  return "task.move";
@@ -796,24 +828,31 @@ export function recognizeBareToolJson(text) {
796
828
  const primary = tryRecognizeBareArgs(inner);
797
829
  if (primary)
798
830
  return primary;
799
- // Secondary path: scan for any fenced block embedded in the text
800
- // This catches models that prepend prose before emitting a bare-args fence,
801
- // e.g. "Let me fetch it.\n\n```web\n{\"url\":\"https://...\"}\n```"
831
+ // Secondary path: scan for a fenced block that is the model's OWN trailing
832
+ // content (the last fence in the message, with nothing but whitespace after
833
+ // it). Quoted material in the middle of an answer is never treated as a
834
+ // call, which keeps fetched README/web content out of the execution path.
802
835
  // We skip ```tool fences — those are handled by parseToolCall already.
803
836
  const embeddedFenceRe = /```([a-zA-Z]*)\s*\n?([\s\S]*?)```/g;
804
837
  let m;
838
+ let lastFence;
805
839
  while ((m = embeddedFenceRe.exec(text)) !== null) {
806
- const lang = m[1] ?? "";
807
- const body = (m[2] ?? "").trim();
808
- // Skip ```tool blocks — parseToolCall owns those.
809
- if (lang.toLowerCase() === "tool")
810
- continue;
811
- // Skip empty or multi-line JSON that spans more than a simple object.
812
- if (!body.startsWith("{") || !body.endsWith("}"))
813
- continue;
814
- const result = tryRecognizeBareArgs(body);
815
- if (result)
816
- return result;
840
+ lastFence = {
841
+ lang: m[1] ?? "",
842
+ body: (m[2] ?? "").trim(),
843
+ end: m.index + m[0].length,
844
+ };
845
+ }
846
+ if (lastFence && text.slice(lastFence.end).trim() === "") {
847
+ const lang = lastFence.lang.toLowerCase();
848
+ if (lang !== "tool") {
849
+ const body = lastFence.body;
850
+ if (body.startsWith("{") && body.endsWith("}")) {
851
+ const result = tryRecognizeBareArgs(body);
852
+ if (result)
853
+ return result;
854
+ }
855
+ }
817
856
  }
818
857
  return undefined;
819
858
  }
@@ -868,23 +907,96 @@ export function looksLikeTruncatedToolCall(text) {
868
907
  return false;
869
908
  }
870
909
  /**
871
- * Attempt to extract usable content from a truncated fs.write / fs.append /
872
- * fs.writeMany tool call. When the model's output is cut off mid-JSON, the
873
- * tool call fails to parse — but typically a large chunk of the intended file
874
- * content is already present in the raw text. This function extracts:
910
+ * Attempt to extract usable content from a truncated fs.write / fs.append
911
+ * tool call. When the model's output is cut off mid-JSON, the tool call fails
912
+ * to parse — but typically a large chunk of the intended file content is
913
+ * already present in the raw text. This function extracts:
914
+ * - operation: which mutation the model actually asked for
875
915
  * - path: the target file path
876
916
  * - content: the partial file content (up to the truncation point)
877
917
  * - lastLine: the last complete line (for telling the model where to resume)
918
+ * - expectedPriorBytes: the append precondition when the model supplied one
878
919
  *
879
- * Returns undefined if the text doesn't look like a salvageable write call.
920
+ * Returns undefined when the text does not look like an unambiguous single
921
+ * write/append call. `fs.writeMany` is never salvaged: a truncated multi-file
922
+ * payload cannot be attributed to one file safely.
880
923
  */
924
+ /**
925
+ * Single-pass JSON string unescape for salvaged (possibly truncated) content.
926
+ * Order matters: a chained `.replace` sequence turns the escaped Windows path
927
+ * `C:\\new` into `C:` + newline + `ew`. Unknown escapes are kept verbatim, and
928
+ * a trailing incomplete escape is dropped.
929
+ */
930
+ function unescapeJsonStringPrefix(raw) {
931
+ let out = "";
932
+ for (let i = 0; i < raw.length; i += 1) {
933
+ const ch = raw[i];
934
+ if (ch !== "\\") {
935
+ out += ch;
936
+ continue;
937
+ }
938
+ const next = raw[i + 1];
939
+ if (next === undefined)
940
+ break;
941
+ switch (next) {
942
+ case "n":
943
+ out += "\n";
944
+ i += 1;
945
+ break;
946
+ case "r":
947
+ out += "\r";
948
+ i += 1;
949
+ break;
950
+ case "t":
951
+ out += "\t";
952
+ i += 1;
953
+ break;
954
+ case "b":
955
+ out += "\b";
956
+ i += 1;
957
+ break;
958
+ case "f":
959
+ out += "\f";
960
+ i += 1;
961
+ break;
962
+ case '"':
963
+ out += '"';
964
+ i += 1;
965
+ break;
966
+ case "/":
967
+ out += "/";
968
+ i += 1;
969
+ break;
970
+ case "\\":
971
+ out += "\\";
972
+ i += 1;
973
+ break;
974
+ case "u": {
975
+ const hex = raw.slice(i + 2, i + 6);
976
+ if (/^[0-9a-fA-F]{4}$/.test(hex)) {
977
+ out += String.fromCharCode(Number.parseInt(hex, 16));
978
+ i += 5;
979
+ }
980
+ else {
981
+ // Truncated \uXXXX at the cut point — drop it.
982
+ i = raw.length;
983
+ }
984
+ break;
985
+ }
986
+ default:
987
+ out += `\\${next}`;
988
+ i += 1;
989
+ break;
990
+ }
991
+ }
992
+ return out;
993
+ }
881
994
  export function salvageTruncatedWrite(text) {
882
995
  // Match fs.write or fs.append: {"name":"fs.write","args":{"path":"...","content":"...
883
996
  // Also handle "fs.append" and cases where content comes before path.
884
- // Try both orderings: path before content, and content before path.
885
- // Use a simpler approach: find the tool name, then extract path and content separately.
886
- const toolNameMatch = text.match(/\{\s*"name"\s*:\s*"fs\.(?:write|append)"\s*,\s*"args"\s*:\s*\{/);
997
+ const toolNameMatch = text.match(/\{\s*"name"\s*:\s*"fs\.(write|append)"\s*,\s*"args"\s*:\s*\{/);
887
998
  if (toolNameMatch) {
999
+ const operation = toolNameMatch[1] === "append" ? "append" : "write";
888
1000
  const argsStart = text.indexOf(toolNameMatch[0]) + toolNameMatch[0].length;
889
1001
  const afterArgs = text.slice(argsStart);
890
1002
  // Extract path value
@@ -892,25 +1004,21 @@ export function salvageTruncatedWrite(text) {
892
1004
  if (!pathMatch?.[1])
893
1005
  return undefined;
894
1006
  const path = pathMatch[1];
1007
+ const priorMatch = afterArgs.match(/"expectedPriorBytes"\s*:\s*(\d{1,15})(?!\d)/);
1008
+ const expectedPriorBytes = priorMatch?.[1]
1009
+ ? Number(priorMatch[1])
1010
+ : undefined;
895
1011
  // Find where "content":" starts and extract everything after its opening quote
896
1012
  const contentKeyMatch = afterArgs.match(/"content"\s*:\s*"/);
897
1013
  if (!contentKeyMatch)
898
1014
  return undefined;
899
1015
  const contentStart = argsStart + afterArgs.indexOf(contentKeyMatch[0]) + contentKeyMatch[0].length;
900
1016
  let raw = text.slice(contentStart);
901
- // The content is JSON-encoded (escaped). Unescape what we can.
902
- // Remove any trailing incomplete escape sequence or quote.
1017
+ // The content is JSON-encoded (escaped). Unescape in one pass so a
1018
+ // literal backslash sequence is not re-interpreted.
903
1019
  raw = raw.replace(/\\?$/, "");
904
- // Unescape JSON string escapes
905
1020
  try {
906
- // Add closing quote to make it parseable, but don't rely on JSON.parse
907
- // for the whole thing since it may be truncated mid-escape.
908
- const unescaped = raw
909
- .replace(/\\n/g, "\n")
910
- .replace(/\\r/g, "\r")
911
- .replace(/\\t/g, "\t")
912
- .replace(/\\"/g, '"')
913
- .replace(/\\\\/g, "\\");
1021
+ const unescaped = unescapeJsonStringPrefix(raw);
914
1022
  // Trim to the last complete line
915
1023
  const lastNewline = unescaped.lastIndexOf("\n");
916
1024
  const content = lastNewline > 0 ? unescaped.slice(0, lastNewline + 1) : unescaped;
@@ -918,50 +1026,18 @@ export function salvageTruncatedWrite(text) {
918
1026
  return undefined; // Too little to salvage
919
1027
  const lines = content.trimEnd().split("\n");
920
1028
  const lastLine = lines[lines.length - 1]?.trim().slice(0, 80) ?? "(unknown)";
921
- return { path, content, lastLine };
1029
+ return { operation, path, content, lastLine, expectedPriorBytes };
922
1030
  }
923
1031
  catch {
924
1032
  return undefined;
925
1033
  }
926
1034
  }
927
- // Match fs.writeMany: look for the first file entry
928
- const writeManyMatch = text.match(/\{\s*"name"\s*:\s*"fs\.writeMany"\s*,\s*"args"\s*:\s*\{\s*"files"\s*:\s*\[/);
929
- if (writeManyMatch) {
930
- // Extract the first file's path and content
931
- const firstFile = text.match(/\{\s*"path"\s*:\s*"([^"]+)"\s*,\s*"content"\s*:\s*"/);
932
- if (firstFile?.[1]) {
933
- const path = firstFile[1];
934
- const contentStart = text.indexOf(firstFile[0]) + firstFile[0].length;
935
- let raw = text.slice(contentStart);
936
- // Find the end of this file's content (closing quote + })
937
- const endQuote = raw.indexOf('"}');
938
- if (endQuote > 0) {
939
- raw = raw.slice(0, endQuote);
940
- }
941
- raw = raw.replace(/\\?$/, "");
942
- try {
943
- const unescaped = raw
944
- .replace(/\\n/g, "\n")
945
- .replace(/\\r/g, "\r")
946
- .replace(/\\t/g, "\t")
947
- .replace(/\\"/g, '"')
948
- .replace(/\\\\/g, "\\");
949
- const lastNewline = unescaped.lastIndexOf("\n");
950
- const content = lastNewline > 0 ? unescaped.slice(0, lastNewline + 1) : unescaped;
951
- if (content.trim().length < 50)
952
- return undefined;
953
- const lines = content.trimEnd().split("\n");
954
- const lastLine = lines[lines.length - 1]?.trim().slice(0, 80) ?? "(unknown)";
955
- return { path, content, lastLine };
956
- }
957
- catch {
958
- return undefined;
959
- }
960
- }
961
- }
1035
+ // fs.writeMany is intentionally NOT salvaged: a truncated multi-file payload
1036
+ // is ambiguous about which files were meant to be written, and guessing the
1037
+ // first entry can silently overwrite a different file than intended.
962
1038
  return undefined;
963
1039
  }
964
- const NATIVE_WRITE_TOOLS = new Set(["fs.write", "fs.append", "fs.writeMany"]);
1040
+ const NATIVE_WRITE_TOOLS = new Set(["fs.write", "fs.append"]);
965
1041
  /**
966
1042
  * Salvage partial file content from a native tool call's raw argument JSON
967
1043
  * (streaming cut off / finish_reason length / _parseError). Reuses the
@@ -1035,17 +1111,44 @@ export function parseAllToolCalls(text) {
1035
1111
  }
1036
1112
  found.sort((a, b) => a.index - b.index);
1037
1113
  // De-duplicate calls that two different matchers picked up at (nearly) the
1038
- // same spot so a single XML call isn't executed twice.
1114
+ // same spot so a single XML call isn't executed twice. Identical MUTATING
1115
+ // calls are collapsed message-wide regardless of distance: a model that
1116
+ // repeats the same fs.append / fs.delete / shell.exec block must not double
1117
+ // its effect. Read-only duplicates keep the proximity window so a genuinely
1118
+ // repeated read still runs where the model expects it.
1039
1119
  const deduped = [];
1040
1120
  for (const entry of found) {
1121
+ const mutating = isMutatingToolName(entry.call.name);
1041
1122
  if (deduped.some((d) => sameToolCall(d.call, entry.call) &&
1042
- Math.abs(d.index - entry.index) < 64)) {
1123
+ (mutating || Math.abs(d.index - entry.index) < 64))) {
1043
1124
  continue;
1044
1125
  }
1045
1126
  deduped.push(entry);
1046
1127
  }
1047
1128
  return deduped.map((f) => f.call);
1048
1129
  }
1130
+ /**
1131
+ * Tools whose duplicate execution changes state (files, packages, processes,
1132
+ * remote resources). Duplicate identical calls to these are collapsed across
1133
+ * a whole message rather than only within a 64-character window.
1134
+ */
1135
+ const MUTATING_TOOL_NAMES = new Set([
1136
+ "fs.write",
1137
+ "fs.writeMany",
1138
+ "fs.append",
1139
+ "fs.edit",
1140
+ "fs.replaceLines",
1141
+ "fs.delete",
1142
+ "shell.exec",
1143
+ "shell.start",
1144
+ "shell.stop",
1145
+ "pkg.install",
1146
+ "http.fetch",
1147
+ "tool.batch",
1148
+ ]);
1149
+ export function isMutatingToolName(name) {
1150
+ return MUTATING_TOOL_NAMES.has(name.trim());
1151
+ }
1049
1152
  /** Structural equality for two tool calls (name + canonical args JSON). */
1050
1153
  export function sameToolCall(a, b) {
1051
1154
  if (a.name !== b.name)
@@ -1619,6 +1722,7 @@ export function narrowNmapOperationDirective() {
1619
1722
  "NARROW NMAP OPERATION (the user requested one bounded scan, not a broader pentest):",
1620
1723
  "- Call net.scan exactly once with the requested target, ports, scan type, and timing/profile semantics.",
1621
1724
  "- Do NOT call plan.create or task.update. Do NOT add WHOIS, DNS, HTTP fetching, crawling, vulnerability checks, reconnaissance, or attack-surface analysis unless the user explicitly requested them.",
1725
+ "- A delivered background result must still be acknowledged with job.read; this receipt operation does not create or require a plan.",
1622
1726
  "- If the scan needs administrator access, let net.scan open the secure password prompt. Never retry through shell.exec or place a password in command text.",
1623
1727
  "- For a background result, use only backgroundJob.id as the shell.tail id. Report the canonical job ID and current/terminal status; do not mistake the artifact filename for the ID.",
1624
1728
  "- Stop after reporting this scan's result or durable job receipt. Ask before broadening the operation.",