@namzu/sdk 0.6.0 → 1.0.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 (302) hide show
  1. package/CHANGELOG.md +362 -0
  2. package/dist/advisory/executor.d.ts.map +1 -1
  3. package/dist/advisory/executor.js +9 -2
  4. package/dist/advisory/executor.js.map +1 -1
  5. package/dist/advisory/executor.test.d.ts +2 -1
  6. package/dist/advisory/executor.test.d.ts.map +1 -1
  7. package/dist/advisory/executor.test.js +7 -4
  8. package/dist/advisory/executor.test.js.map +1 -1
  9. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  10. package/dist/agents/ReactiveAgent.js +2 -0
  11. package/dist/agents/ReactiveAgent.js.map +1 -1
  12. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  13. package/dist/agents/SupervisorAgent.js +7 -0
  14. package/dist/agents/SupervisorAgent.js.map +1 -1
  15. package/dist/bridge/sse/mapper.test.js +2 -2
  16. package/dist/constants/compaction/index.d.ts.map +1 -1
  17. package/dist/constants/compaction/index.js +8 -3
  18. package/dist/constants/compaction/index.js.map +1 -1
  19. package/dist/constants/sandbox/index.d.ts +21 -0
  20. package/dist/constants/sandbox/index.d.ts.map +1 -1
  21. package/dist/constants/sandbox/index.js +30 -0
  22. package/dist/constants/sandbox/index.js.map +1 -1
  23. package/dist/constants/tools/index.d.ts.map +1 -1
  24. package/dist/constants/tools/index.js +33 -2
  25. package/dist/constants/tools/index.js.map +1 -1
  26. package/dist/manager/run/persistence.d.ts.map +1 -1
  27. package/dist/manager/run/persistence.js +35 -5
  28. package/dist/manager/run/persistence.js.map +1 -1
  29. package/dist/persona/assembler.d.ts +1 -0
  30. package/dist/persona/assembler.d.ts.map +1 -1
  31. package/dist/persona/assembler.js +28 -6
  32. package/dist/persona/assembler.js.map +1 -1
  33. package/dist/provider/collect.test.js +2 -2
  34. package/dist/public-runtime.d.ts +5 -4
  35. package/dist/public-runtime.d.ts.map +1 -1
  36. package/dist/public-runtime.js +5 -4
  37. package/dist/public-runtime.js.map +1 -1
  38. package/dist/public-tools.d.ts +2 -0
  39. package/dist/public-tools.d.ts.map +1 -1
  40. package/dist/public-tools.js +2 -0
  41. package/dist/public-tools.js.map +1 -1
  42. package/dist/public-types.d.ts +3 -0
  43. package/dist/public-types.d.ts.map +1 -1
  44. package/dist/registry/index.d.ts +2 -0
  45. package/dist/registry/index.d.ts.map +1 -1
  46. package/dist/registry/index.js +1 -0
  47. package/dist/registry/index.js.map +1 -1
  48. package/dist/registry/tool/execute.d.ts.map +1 -1
  49. package/dist/registry/tool/execute.js +87 -5
  50. package/dist/registry/tool/execute.js.map +1 -1
  51. package/dist/registry/tool/execute.test.d.ts +4 -2
  52. package/dist/registry/tool/execute.test.d.ts.map +1 -1
  53. package/dist/registry/tool/execute.test.js +112 -3
  54. package/dist/registry/tool/execute.test.js.map +1 -1
  55. package/dist/registry/toolset/catalog.d.ts +42 -0
  56. package/dist/registry/toolset/catalog.d.ts.map +1 -0
  57. package/dist/registry/toolset/catalog.js +217 -0
  58. package/dist/registry/toolset/catalog.js.map +1 -0
  59. package/dist/registry/toolset/catalog.test.d.ts +2 -0
  60. package/dist/registry/toolset/catalog.test.d.ts.map +1 -0
  61. package/dist/registry/toolset/catalog.test.js +85 -0
  62. package/dist/registry/toolset/catalog.test.js.map +1 -0
  63. package/dist/runtime/query/__tests__/deferred-tools.test.d.ts +2 -0
  64. package/dist/runtime/query/__tests__/deferred-tools.test.d.ts.map +1 -0
  65. package/dist/runtime/query/__tests__/deferred-tools.test.js +147 -0
  66. package/dist/runtime/query/__tests__/deferred-tools.test.js.map +1 -0
  67. package/dist/runtime/query/__tests__/executor-concurrency.test.d.ts +2 -0
  68. package/dist/runtime/query/__tests__/executor-concurrency.test.d.ts.map +1 -0
  69. package/dist/runtime/query/__tests__/executor-concurrency.test.js +98 -0
  70. package/dist/runtime/query/__tests__/executor-concurrency.test.js.map +1 -0
  71. package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js +38 -3
  72. package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js.map +1 -1
  73. package/dist/runtime/query/__tests__/prompt.test.js +47 -2
  74. package/dist/runtime/query/__tests__/prompt.test.js.map +1 -1
  75. package/dist/runtime/query/__tests__/stream-recovery.test.d.ts +2 -0
  76. package/dist/runtime/query/__tests__/stream-recovery.test.d.ts.map +1 -0
  77. package/dist/runtime/query/__tests__/stream-recovery.test.js +126 -0
  78. package/dist/runtime/query/__tests__/stream-recovery.test.js.map +1 -0
  79. package/dist/runtime/query/continuation.d.ts +16 -0
  80. package/dist/runtime/query/continuation.d.ts.map +1 -0
  81. package/dist/runtime/query/continuation.js +16 -0
  82. package/dist/runtime/query/continuation.js.map +1 -0
  83. package/dist/runtime/query/executor.d.ts +3 -0
  84. package/dist/runtime/query/executor.d.ts.map +1 -1
  85. package/dist/runtime/query/executor.js +71 -3
  86. package/dist/runtime/query/executor.js.map +1 -1
  87. package/dist/runtime/query/index.d.ts.map +1 -1
  88. package/dist/runtime/query/index.js +19 -3
  89. package/dist/runtime/query/index.js.map +1 -1
  90. package/dist/runtime/query/iteration/index.d.ts +22 -0
  91. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  92. package/dist/runtime/query/iteration/index.js +227 -60
  93. package/dist/runtime/query/iteration/index.js.map +1 -1
  94. package/dist/runtime/query/iteration/phases/context.d.ts +10 -0
  95. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  96. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  97. package/dist/runtime/query/prompt.d.ts.map +1 -1
  98. package/dist/runtime/query/prompt.js +21 -1
  99. package/dist/runtime/query/prompt.js.map +1 -1
  100. package/dist/runtime/query/tooling.d.ts +1 -0
  101. package/dist/runtime/query/tooling.d.ts.map +1 -1
  102. package/dist/runtime/query/tooling.js +1 -0
  103. package/dist/runtime/query/tooling.js.map +1 -1
  104. package/dist/sandbox/provider/local.d.ts.map +1 -1
  105. package/dist/sandbox/provider/local.js +32 -1
  106. package/dist/sandbox/provider/local.js.map +1 -1
  107. package/dist/session/workspace/__tests__/shared-run.test.d.ts +2 -0
  108. package/dist/session/workspace/__tests__/shared-run.test.d.ts.map +1 -0
  109. package/dist/session/workspace/__tests__/shared-run.test.js +147 -0
  110. package/dist/session/workspace/__tests__/shared-run.test.js.map +1 -0
  111. package/dist/session/workspace/index.d.ts +2 -0
  112. package/dist/session/workspace/index.d.ts.map +1 -1
  113. package/dist/session/workspace/index.js +1 -0
  114. package/dist/session/workspace/index.js.map +1 -1
  115. package/dist/session/workspace/shared-run.d.ts +81 -0
  116. package/dist/session/workspace/shared-run.d.ts.map +1 -0
  117. package/dist/session/workspace/shared-run.js +251 -0
  118. package/dist/session/workspace/shared-run.js.map +1 -0
  119. package/dist/skills/loader.d.ts.map +1 -1
  120. package/dist/skills/loader.js +36 -6
  121. package/dist/skills/loader.js.map +1 -1
  122. package/dist/skills/loader.test.d.ts +2 -0
  123. package/dist/skills/loader.test.d.ts.map +1 -0
  124. package/dist/skills/loader.test.js +65 -0
  125. package/dist/skills/loader.test.js.map +1 -0
  126. package/dist/streaming/coalesce.test.js +1 -1
  127. package/dist/tools/builtins/__tests__/edit.test.d.ts +2 -0
  128. package/dist/tools/builtins/__tests__/edit.test.d.ts.map +1 -0
  129. package/dist/tools/builtins/__tests__/edit.test.js +38 -0
  130. package/dist/tools/builtins/__tests__/edit.test.js.map +1 -0
  131. package/dist/tools/builtins/__tests__/payload-budget.test.d.ts +2 -0
  132. package/dist/tools/builtins/__tests__/payload-budget.test.d.ts.map +1 -0
  133. package/dist/tools/builtins/__tests__/payload-budget.test.js +22 -0
  134. package/dist/tools/builtins/__tests__/payload-budget.test.js.map +1 -0
  135. package/dist/tools/builtins/__tests__/read-file.test.d.ts +2 -0
  136. package/dist/tools/builtins/__tests__/read-file.test.d.ts.map +1 -0
  137. package/dist/tools/builtins/__tests__/read-file.test.js +24 -0
  138. package/dist/tools/builtins/__tests__/read-file.test.js.map +1 -0
  139. package/dist/tools/builtins/__tests__/verify-outputs.test.d.ts +2 -0
  140. package/dist/tools/builtins/__tests__/verify-outputs.test.d.ts.map +1 -0
  141. package/dist/tools/builtins/__tests__/verify-outputs.test.js +52 -0
  142. package/dist/tools/builtins/__tests__/verify-outputs.test.js.map +1 -0
  143. package/dist/tools/builtins/__tests__/write-file.test.d.ts +2 -0
  144. package/dist/tools/builtins/__tests__/write-file.test.d.ts.map +1 -0
  145. package/dist/tools/builtins/__tests__/write-file.test.js +74 -0
  146. package/dist/tools/builtins/__tests__/write-file.test.js.map +1 -0
  147. package/dist/tools/builtins/bash.d.ts.map +1 -1
  148. package/dist/tools/builtins/bash.js +40 -7
  149. package/dist/tools/builtins/bash.js.map +1 -1
  150. package/dist/tools/builtins/edit.d.ts +5 -2
  151. package/dist/tools/builtins/edit.d.ts.map +1 -1
  152. package/dist/tools/builtins/edit.js +114 -18
  153. package/dist/tools/builtins/edit.js.map +1 -1
  154. package/dist/tools/builtins/index.d.ts +1 -0
  155. package/dist/tools/builtins/index.d.ts.map +1 -1
  156. package/dist/tools/builtins/index.js +13 -13
  157. package/dist/tools/builtins/index.js.map +1 -1
  158. package/dist/tools/builtins/read-file.d.ts +1 -0
  159. package/dist/tools/builtins/read-file.d.ts.map +1 -1
  160. package/dist/tools/builtins/read-file.js +23 -8
  161. package/dist/tools/builtins/read-file.js.map +1 -1
  162. package/dist/tools/builtins/search-tools.d.ts.map +1 -1
  163. package/dist/tools/builtins/search-tools.js +4 -1
  164. package/dist/tools/builtins/search-tools.js.map +1 -1
  165. package/dist/tools/builtins/verify-outputs.d.ts +5 -0
  166. package/dist/tools/builtins/verify-outputs.d.ts.map +1 -0
  167. package/dist/tools/builtins/verify-outputs.js +103 -0
  168. package/dist/tools/builtins/verify-outputs.js.map +1 -0
  169. package/dist/tools/builtins/write-file.d.ts +3 -2
  170. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  171. package/dist/tools/builtins/write-file.js +72 -12
  172. package/dist/tools/builtins/write-file.js.map +1 -1
  173. package/dist/tools/coordinator/__tests__/agent.test.d.ts +15 -0
  174. package/dist/tools/coordinator/__tests__/agent.test.d.ts.map +1 -0
  175. package/dist/tools/coordinator/__tests__/agent.test.js +142 -0
  176. package/dist/tools/coordinator/__tests__/agent.test.js.map +1 -0
  177. package/dist/tools/coordinator/__tests__/task-list.test.d.ts +13 -0
  178. package/dist/tools/coordinator/__tests__/task-list.test.d.ts.map +1 -0
  179. package/dist/tools/coordinator/__tests__/task-list.test.js +162 -0
  180. package/dist/tools/coordinator/__tests__/task-list.test.js.map +1 -0
  181. package/dist/tools/coordinator/agent.d.ts +34 -0
  182. package/dist/tools/coordinator/agent.d.ts.map +1 -0
  183. package/dist/tools/coordinator/agent.js +107 -0
  184. package/dist/tools/coordinator/agent.js.map +1 -0
  185. package/dist/tools/coordinator/index.d.ts +7 -0
  186. package/dist/tools/coordinator/index.d.ts.map +1 -1
  187. package/dist/tools/coordinator/index.js +111 -21
  188. package/dist/tools/coordinator/index.js.map +1 -1
  189. package/dist/types/agent/base.d.ts +8 -0
  190. package/dist/types/agent/base.d.ts.map +1 -1
  191. package/dist/types/agent/reactive.d.ts +23 -0
  192. package/dist/types/agent/reactive.d.ts.map +1 -1
  193. package/dist/types/agent/supervisor.d.ts +14 -0
  194. package/dist/types/agent/supervisor.d.ts.map +1 -1
  195. package/dist/types/message/index.d.ts +22 -1
  196. package/dist/types/message/index.d.ts.map +1 -1
  197. package/dist/types/message/index.js +7 -2
  198. package/dist/types/message/index.js.map +1 -1
  199. package/dist/types/provider/chat.d.ts +2 -9
  200. package/dist/types/provider/chat.d.ts.map +1 -1
  201. package/dist/types/run/events.d.ts +6 -0
  202. package/dist/types/run/events.d.ts.map +1 -1
  203. package/dist/types/run/events.js.map +1 -1
  204. package/dist/types/sandbox/index.d.ts +193 -0
  205. package/dist/types/sandbox/index.d.ts.map +1 -1
  206. package/dist/types/sandbox/index.js.map +1 -1
  207. package/dist/types/skills/index.d.ts +2 -0
  208. package/dist/types/skills/index.d.ts.map +1 -1
  209. package/dist/types/tool/index.d.ts +22 -0
  210. package/dist/types/tool/index.d.ts.map +1 -1
  211. package/dist/types/toolset/index.d.ts +71 -0
  212. package/dist/types/toolset/index.d.ts.map +1 -0
  213. package/dist/types/toolset/index.js +2 -0
  214. package/dist/types/toolset/index.js.map +1 -0
  215. package/dist/types/workspace/index.d.ts +1 -0
  216. package/dist/types/workspace/index.d.ts.map +1 -1
  217. package/dist/types/workspace/shared-run.d.ts +61 -0
  218. package/dist/types/workspace/shared-run.d.ts.map +1 -0
  219. package/dist/types/workspace/shared-run.js +2 -0
  220. package/dist/types/workspace/shared-run.js.map +1 -0
  221. package/dist/verification/index.d.ts +1 -0
  222. package/dist/verification/index.d.ts.map +1 -1
  223. package/dist/verification/index.js +1 -0
  224. package/dist/verification/index.js.map +1 -1
  225. package/dist/verification/presets.d.ts +53 -0
  226. package/dist/verification/presets.d.ts.map +1 -0
  227. package/dist/verification/presets.js +70 -0
  228. package/dist/verification/presets.js.map +1 -0
  229. package/dist/verification/presets.test.d.ts +16 -0
  230. package/dist/verification/presets.test.d.ts.map +1 -0
  231. package/dist/verification/presets.test.js +79 -0
  232. package/dist/verification/presets.test.js.map +1 -0
  233. package/package.json +3 -2
  234. package/src/advisory/executor.test.ts +7 -4
  235. package/src/advisory/executor.ts +11 -2
  236. package/src/agents/ReactiveAgent.ts +2 -0
  237. package/src/agents/SupervisorAgent.ts +7 -0
  238. package/src/bridge/sse/mapper.test.ts +2 -2
  239. package/src/constants/compaction/index.ts +8 -3
  240. package/src/constants/sandbox/index.ts +37 -0
  241. package/src/constants/tools/index.ts +33 -2
  242. package/src/manager/run/persistence.ts +34 -6
  243. package/src/persona/assembler.ts +31 -8
  244. package/src/provider/collect.test.ts +2 -2
  245. package/src/public-runtime.ts +14 -1
  246. package/src/public-tools.ts +2 -0
  247. package/src/public-types.ts +7 -0
  248. package/src/registry/index.ts +7 -0
  249. package/src/registry/tool/execute.test.ts +132 -3
  250. package/src/registry/tool/execute.ts +94 -9
  251. package/src/registry/toolset/catalog.test.ts +97 -0
  252. package/src/registry/toolset/catalog.ts +283 -0
  253. package/src/runtime/query/__tests__/deferred-tools.test.ts +183 -0
  254. package/src/runtime/query/__tests__/executor-concurrency.test.ts +122 -0
  255. package/src/runtime/query/__tests__/executor-plugin-hooks.test.ts +48 -3
  256. package/src/runtime/query/__tests__/prompt.test.ts +51 -2
  257. package/src/runtime/query/__tests__/stream-recovery.test.ts +156 -0
  258. package/src/runtime/query/continuation.ts +16 -0
  259. package/src/runtime/query/executor.ts +82 -13
  260. package/src/runtime/query/index.ts +24 -3
  261. package/src/runtime/query/iteration/index.ts +263 -68
  262. package/src/runtime/query/iteration/phases/context.ts +10 -0
  263. package/src/runtime/query/prompt.ts +17 -1
  264. package/src/runtime/query/tooling.ts +2 -0
  265. package/src/sandbox/provider/local.ts +33 -0
  266. package/src/session/workspace/__tests__/shared-run.test.ts +181 -0
  267. package/src/session/workspace/index.ts +6 -0
  268. package/src/session/workspace/shared-run.ts +316 -0
  269. package/src/skills/loader.test.ts +89 -0
  270. package/src/skills/loader.ts +37 -6
  271. package/src/streaming/coalesce.test.ts +1 -1
  272. package/src/tools/builtins/__tests__/edit.test.ts +57 -0
  273. package/src/tools/builtins/__tests__/payload-budget.test.ts +29 -0
  274. package/src/tools/builtins/__tests__/read-file.test.ts +31 -0
  275. package/src/tools/builtins/__tests__/verify-outputs.test.ts +71 -0
  276. package/src/tools/builtins/__tests__/write-file.test.ts +97 -0
  277. package/src/tools/builtins/bash.ts +48 -7
  278. package/src/tools/builtins/edit.ts +162 -27
  279. package/src/tools/builtins/index.ts +13 -13
  280. package/src/tools/builtins/read-file.ts +31 -8
  281. package/src/tools/builtins/search-tools.ts +5 -1
  282. package/src/tools/builtins/verify-outputs.ts +126 -0
  283. package/src/tools/builtins/write-file.ts +83 -14
  284. package/src/tools/coordinator/__tests__/agent.test.ts +172 -0
  285. package/src/tools/coordinator/__tests__/task-list.test.ts +182 -0
  286. package/src/tools/coordinator/agent.ts +157 -0
  287. package/src/tools/coordinator/index.ts +128 -22
  288. package/src/types/agent/base.ts +8 -0
  289. package/src/types/agent/reactive.ts +25 -0
  290. package/src/types/agent/supervisor.ts +16 -0
  291. package/src/types/message/index.ts +32 -2
  292. package/src/types/provider/chat.ts +2 -9
  293. package/src/types/run/events.ts +6 -0
  294. package/src/types/sandbox/index.ts +219 -0
  295. package/src/types/skills/index.ts +4 -0
  296. package/src/types/tool/index.ts +24 -0
  297. package/src/types/toolset/index.ts +86 -0
  298. package/src/types/workspace/index.ts +9 -0
  299. package/src/types/workspace/shared-run.ts +65 -0
  300. package/src/verification/index.ts +1 -0
  301. package/src/verification/presets.test.ts +112 -0
  302. package/src/verification/presets.ts +72 -0
@@ -96,6 +96,7 @@ export async function* query(params) {
96
96
  params.tools.register(SearchToolsTool);
97
97
  }
98
98
  }
99
+ const effectiveAllowedTools = withDeferredDiscoveryTool(params.tools, params.allowedTools);
99
100
  const toolExecutor = ToolingBootstrap.init({
100
101
  tools: params.tools,
101
102
  runId: ctx.runId,
@@ -103,6 +104,7 @@ export async function* query(params) {
103
104
  permissionMode: ctx.permissionMode,
104
105
  env: params.runConfig.env ?? {},
105
106
  abortSignal: ctx.abortController.signal,
107
+ allowedTools: effectiveAllowedTools,
106
108
  invocationState: params.invocationState,
107
109
  pluginManager: params.pluginManager,
108
110
  }, ctx.activityStore, eventTranslator.emitEvent, ctx.log);
@@ -117,7 +119,7 @@ export async function* query(params) {
117
119
  skills: params.skills,
118
120
  basePrompt: params.basePrompt,
119
121
  tools: params.tools,
120
- allowedTools: params.allowedTools,
122
+ allowedTools: effectiveAllowedTools,
121
123
  runtimeContext: params.runtimeContext,
122
124
  });
123
125
  const guard = new GuardCoordinator({
@@ -159,7 +161,7 @@ export async function* query(params) {
159
161
  provider: params.provider,
160
162
  runConfig: params.runConfig,
161
163
  tools: params.tools,
162
- allowedTools: params.allowedTools,
164
+ allowedTools: effectiveAllowedTools,
163
165
  taskGateway: params.taskGateway,
164
166
  taskStore: params.taskStore,
165
167
  launchedTasks: params.launchedTasks,
@@ -199,7 +201,7 @@ export async function* query(params) {
199
201
  skills: params.skills,
200
202
  basePrompt: contextLevel === 'full' ? params.basePrompt : undefined,
201
203
  tools: params.tools,
202
- allowedTools: params.allowedTools,
204
+ allowedTools: effectiveAllowedTools,
203
205
  runtimeContext: params.runtimeContext,
204
206
  };
205
207
  const segments = params.contextCache
@@ -336,4 +338,18 @@ export async function drainQuery(params, listener) {
336
338
  }
337
339
  return result.value;
338
340
  }
341
+ function withDeferredDiscoveryTool(tools, allowedTools) {
342
+ if (!allowedTools)
343
+ return undefined;
344
+ if (allowedTools.includes(SearchToolsTool.name))
345
+ return allowedTools;
346
+ const allowedHasDeferred = allowedTools.some((name) => tools.has(name) && tools.getAvailability(name) === 'deferred');
347
+ if (!allowedHasDeferred)
348
+ return allowedTools;
349
+ if (!tools.has(SearchToolsTool.name))
350
+ return allowedTools;
351
+ if (tools.getAvailability(SearchToolsTool.name) !== 'active')
352
+ return allowedTools;
353
+ return [...allowedTools, SearchToolsTool.name];
354
+ }
339
355
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/query/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/query/index.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,28 @@ export declare class IterationOrchestrator {
37
37
  runLoop(): AsyncGenerator<RunEvent>;
38
38
  private hasRunningAgentTasks;
39
39
  private waitAndInjectNotifications;
40
+ /**
41
+ * Canonical async completion delivery (ses_009-task-notification-envelope).
42
+ *
43
+ * Drains every pending task completion in one pass and emits each as
44
+ * a plain USER text message wrapped in the `<task-notification>`
45
+ * envelope the supervisor prompt expects.
46
+ *
47
+ * Why not a `tool_result` block bound to the dispatching tool_use_id:
48
+ * `create_task` is documented as NON-BLOCKING and returns
49
+ * "Task launched: …" immediately. That immediate return is already
50
+ * recorded as the canonical tool_result for that tool_use, so a
51
+ * second tool_result for the SAME tool_use_id — emitted later, after
52
+ * intervening assistant turns — is rejected by Anthropic with
53
+ * `messages.<n>.content.0: unexpected tool_use_id found in
54
+ * tool_result blocks` because the immediately-prior assistant
55
+ * message no longer carries the matching tool_use. Wrapping as a
56
+ * user text envelope sidesteps the pairing rule entirely.
57
+ *
58
+ * Coalescing N drops into one drain replaces the previous
59
+ * one-at-a-time pattern which forced a separate orchestrator
60
+ * iteration per completed task on wide fan-outs.
61
+ */
40
62
  private injectOneTaskNotification;
41
63
  private requestFinalResponse;
42
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAGtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAGjE,OAAO,KAAK,EAEX,WAAW,EAEX,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAc,MAAM,6BAA6B,CAAA;AAEvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AASnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,WAAW,CAAA;IACrB,SAAS,EAAE,cAAc,CAAA;IACzB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,iCAAiC,EAAE,WAAW,CAAA;IACnE,SAAS,CAAC,EAAE,OAAO,8BAA8B,EAAE,SAAS,CAAA;IAC5D,aAAa,CAAC,EAAE,GAAG,CAClB,OAAO,6BAA6B,EAAE,MAAM,EAC5C,OAAO,qBAAqB,EAAE,gBAAgB,CAC9C,CAAA;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,uBAAuB,EAAE,QAAQ,CAAA;IACnD,gBAAgB,CAAC,EAAE,OAAO,+BAA+B,EAAE,gBAAgB,CAAA;IAC3E,aAAa,CAAC,EAAE,OAAO,8BAA8B,EAAE,sBAAsB,CAAA;CAC7E;AAuPD,qBAAa,qBAAqB;IACjC,OAAO,CAAC,GAAG,CAAkB;gBAG5B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,EACvC,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,iBAAiB,EAChC,WAAW,EAAE,WAAW;IA+BlB,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC;IA6T1C,OAAO,CAAC,oBAAoB;YAOb,0BAA0B;YAa3B,yBAAyB;YA2CzB,oBAAoB;CA6DlC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAGtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAGjE,OAAO,KAAK,EAEX,WAAW,EAEX,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAc,MAAM,6BAA6B,CAAA;AAEvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AASnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,WAAW,CAAA;IACrB,SAAS,EAAE,cAAc,CAAA;IACzB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,iCAAiC,EAAE,WAAW,CAAA;IACnE,SAAS,CAAC,EAAE,OAAO,8BAA8B,EAAE,SAAS,CAAA;IAC5D,aAAa,CAAC,EAAE,GAAG,CAClB,OAAO,6BAA6B,EAAE,MAAM,EAC5C,OAAO,qBAAqB,EAAE,gBAAgB,CAC9C,CAAA;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,uBAAuB,EAAE,QAAQ,CAAA;IACnD,gBAAgB,CAAC,EAAE,OAAO,+BAA+B,EAAE,gBAAgB,CAAA;IAC3E,aAAa,CAAC,EAAE,OAAO,8BAA8B,EAAE,sBAAsB,CAAA;CAC7E;AAsXD,qBAAa,qBAAqB;IACjC,OAAO,CAAC,GAAG,CAAkB;gBAG5B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,EACvC,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,iBAAiB,EAChC,WAAW,EAAE,WAAW;IA+BlB,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC;IAoW1C,OAAO,CAAC,oBAAoB;YAOb,0BAA0B;IAazC;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,yBAAyB;YAiDzB,oBAAoB;CA6DlC"}
@@ -6,12 +6,40 @@ import { getTracer } from '../../../telemetry/runtime-accessors.js';
6
6
  import { createAssistantMessage, createUserMessage } from '../../../types/message/index.js';
7
7
  import { toErrorMessage } from '../../../utils/error.js';
8
8
  import { generateMessageId } from '../../../utils/id.js';
9
+ import { AUTO_CONTINUATION_USER_MESSAGE } from '../continuation.js';
9
10
  import { applyLifecycleHookResults } from '../plugin-hooks.js';
10
11
  import { runAdvisoryPhase } from './phases/advisory.js';
11
12
  import { runIterationCheckpoint } from './phases/checkpoint.js';
12
13
  import { runCompactionCheck } from './phases/compaction.js';
13
14
  import { runPlanGate } from './phases/plan.js';
14
15
  import { runToolReview } from './phases/tool-review.js';
16
+ /**
17
+ * Escape the five XML metacharacters so an interpolated value cannot
18
+ * break out of a tag. Used for the simple identifier fields in the
19
+ * `<task-notification>` envelope (taskId, agentId, status) — values
20
+ * here are controlled enums / opaque ids in practice, but escaping
21
+ * keeps the envelope robust against any future producer that lets a
22
+ * `<` or `&` leak in.
23
+ */
24
+ function xmlEscape(value) {
25
+ return value
26
+ .replace(/&/g, '&amp;')
27
+ .replace(/</g, '&lt;')
28
+ .replace(/>/g, '&gt;')
29
+ .replace(/"/g, '&quot;')
30
+ .replace(/'/g, '&apos;');
31
+ }
32
+ /**
33
+ * Wrap free-form worker output in a CDATA section. CDATA preserves
34
+ * the raw text — code, markdown angle brackets, ampersands — so the
35
+ * supervisor sees what the worker actually produced instead of an
36
+ * escape-encoded approximation. The only termination CDATA forbids
37
+ * is the literal `]]>` sequence; we split-and-rejoin around it to
38
+ * keep the section well-formed regardless of payload.
39
+ */
40
+ function cdataWrap(value) {
41
+ return `<![CDATA[${value.replace(/]]>/g, ']]]]><![CDATA[>')}]]>`;
42
+ }
15
43
  /**
16
44
  * Map a provider's coarse `finishReason` plus the orchestrator's
17
45
  * `forceFinalize` flag onto the per-message {@link MessageStopReason}
@@ -50,8 +78,11 @@ function synthesizeMessageStopReason(finishReason, forceFinalize) {
50
78
  * finally-style fall-through path with `stopReason: 'refusal'`.
51
79
  * - `tool_input_delta` with no `toolUseId` registered yet: we drop
52
80
  * the fragment and log a warning (proxies seen to misorder events).
53
- * - `chunk.error`: we surface as a thrown error after emitting the
54
- * message_completed terminator so consumer cards still close.
81
+ * - `chunk.error`: when no tool input is recoverable, we surface as
82
+ * a thrown error after emitting the message_completed terminator so
83
+ * consumer cards still close. If a tool-use block was already open,
84
+ * we instead synthesize a tool call with runtime truncation metadata
85
+ * so the executor can return a model-readable retry hint.
55
86
  */
56
87
  async function* streamProviderTurn(provider, params, emitEvent, drainPending, runId, iteration, forceFinalize, log) {
57
88
  const messageId = generateMessageId();
@@ -99,6 +130,8 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
99
130
  argsBuf: '',
100
131
  started: false,
101
132
  completed: false,
133
+ parsed: null,
134
+ inputTruncated: false,
102
135
  };
103
136
  toolBuckets.set(tc.index, bucket);
104
137
  }
@@ -149,17 +182,20 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
149
182
  parsed = bucket.argsBuf ? JSON.parse(bucket.argsBuf) : {};
150
183
  }
151
184
  catch (err) {
185
+ bucket.inputTruncated = true;
152
186
  log.warn('tool input JSON parse failed at content_block_stop', {
153
187
  runId,
154
188
  toolUseId: endId,
155
189
  error: err instanceof Error ? err.message : String(err),
156
190
  });
157
191
  }
192
+ bucket.parsed = parsed;
158
193
  await emitEvent({
159
194
  type: 'tool_input_completed',
160
195
  runId,
161
196
  toolUseId: endId,
162
197
  input: parsed,
198
+ ...(bucket.inputTruncated ? { inputTruncated: true } : {}),
163
199
  });
164
200
  yield* drainPending();
165
201
  }
@@ -174,29 +210,103 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
174
210
  streamError = err instanceof Error ? err.message : String(err);
175
211
  }
176
212
  // Flush any tool buckets the provider failed to close (no toolCallEnd
177
- // arrived — defensive against providers that don't yet emit it).
213
+ // arrived — defensive against providers that don't yet emit it, and
214
+ // the load-bearing path when the provider stream ends with
215
+ // `stop_reason: "max_tokens"` mid-`input_json_delta`. In that case
216
+ // Anthropic's SSE never sends `content_block_stop` for the open
217
+ // tool_use block: the upstream model ran out of completion tokens
218
+ // before it could close the JSON literal, so the buffered
219
+ // `argsBuf` ends with something like `"content":"…some prefix` —
220
+ // not parseable.
221
+ //
222
+ // Two cases coalesce here:
223
+ // 1. The buffer parses cleanly (the provider just forgot to emit
224
+ // `content_block_stop` but the args are intact) — keep parsed.
225
+ // 2. The buffer is truncated mid-literal — `parsed = {}` is the
226
+ // safe fallback so the executor's `JSON.parse(arguments)`
227
+ // succeeds and downstream consumers don't crash. The PRICE
228
+ // we used to pay was the model getting back a generic
229
+ // "<field> is required" Zod error and not realising its
230
+ // previous tool call was truncated server-side, so it would
231
+ // retry with the SAME long input and hit the same cutoff in
232
+ // a loop. Detect the truncation case and mark the tool call
233
+ // with runtime metadata; the executor surfaces a specific
234
+ // "your tool call was cut off by max_tokens — retry with
235
+ // shorter input or split into smaller calls" message that the
236
+ // model can act on.
178
237
  for (const bucket of toolBuckets.values()) {
179
238
  if (bucket.started && !bucket.completed) {
180
239
  bucket.completed = true;
181
240
  let parsed = {};
182
- try {
183
- parsed = bucket.argsBuf ? JSON.parse(bucket.argsBuf) : {};
241
+ let truncated = false;
242
+ if (bucket.argsBuf) {
243
+ try {
244
+ parsed = JSON.parse(bucket.argsBuf);
245
+ }
246
+ catch {
247
+ // argsBuf had content but didn't parse — almost
248
+ // certainly the max_tokens-mid-literal cutoff. Mark
249
+ // the bucket so the executor can return a model-
250
+ // readable hint instead of a generic Zod error.
251
+ truncated = true;
252
+ parsed = {};
253
+ }
184
254
  }
185
- catch {
186
- // leave parsed = {}
255
+ bucket.parsed = parsed;
256
+ bucket.inputTruncated = truncated;
257
+ if (truncated) {
258
+ log.warn('tool input truncated by upstream cutoff (no toolCallEnd, argsBuf unparsable)', {
259
+ runId,
260
+ toolUseId: bucket.id,
261
+ toolName: bucket.name,
262
+ bufferLength: bucket.argsBuf.length,
263
+ });
187
264
  }
188
265
  await emitEvent({
189
266
  type: 'tool_input_completed',
190
267
  runId,
191
268
  toolUseId: bucket.id,
192
269
  input: parsed,
270
+ ...(truncated ? { inputTruncated: true } : {}),
193
271
  });
194
272
  yield* drainPending();
195
273
  }
196
274
  }
275
+ // `arguments` MUST be valid JSON for the executor's `JSON.parse`
276
+ // (`runtime/query/executor.ts:executeSingle`) to succeed. We
277
+ // always serialise from the bucket's `parsed` object (filled by
278
+ // either the `toolCallEnd` branch above or the post-stream flush
279
+ // loop) instead of re-emitting `argsBuf`. When the provider
280
+ // stream truncated mid-input, `metadata.inputTruncated` carries that
281
+ // state; the executor parses cleanly and returns a specific
282
+ // model-readable retry hint instead of the generic "Invalid JSON in
283
+ // tool arguments" intercept.
284
+ const toolCalls = [...toolBuckets.entries()]
285
+ .sort(([a], [b]) => a - b)
286
+ .map(([, b]) => ({
287
+ id: b.id,
288
+ type: 'function',
289
+ function: {
290
+ name: b.name,
291
+ arguments: JSON.stringify(b.parsed ?? {}),
292
+ },
293
+ ...(b.inputTruncated ? { metadata: { inputTruncated: true } } : {}),
294
+ }));
295
+ const recoveredToolInputFromStreamError = streamError !== undefined && toolCalls.some((tc) => tc.id && tc.function.name);
296
+ const effectiveFinishReason = recoveredToolInputFromStreamError ? 'tool_calls' : finishReason;
297
+ if (recoveredToolInputFromStreamError) {
298
+ log.warn('provider stream failed after tool input; surfacing tool call to executor', {
299
+ runId,
300
+ iteration,
301
+ error: streamError,
302
+ toolCallCount: toolCalls.length,
303
+ });
304
+ }
197
305
  const stopReason = streamError
198
- ? 'refusal'
199
- : synthesizeMessageStopReason(finishReason, forceFinalize);
306
+ ? recoveredToolInputFromStreamError
307
+ ? 'tool_use'
308
+ : 'refusal'
309
+ : synthesizeMessageStopReason(effectiveFinishReason, forceFinalize);
200
310
  await emitEvent({
201
311
  type: 'message_completed',
202
312
  runId,
@@ -207,16 +317,9 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
207
317
  content: textBuf || undefined,
208
318
  });
209
319
  yield* drainPending();
210
- if (streamError) {
320
+ if (streamError && !recoveredToolInputFromStreamError) {
211
321
  throw new Error(`Provider stream error: ${streamError}`);
212
322
  }
213
- const toolCalls = [...toolBuckets.entries()]
214
- .sort(([a], [b]) => a - b)
215
- .map(([, b]) => ({
216
- id: b.id,
217
- type: 'function',
218
- function: { name: b.name, arguments: b.argsBuf },
219
- }));
220
323
  const response = {
221
324
  id: id || messageId,
222
325
  model: model || params.model,
@@ -225,7 +328,7 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
225
328
  content: textBuf.length > 0 ? textBuf : null,
226
329
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
227
330
  },
228
- finishReason,
331
+ finishReason: effectiveFinishReason,
229
332
  usage,
230
333
  };
231
334
  return { response, messageId };
@@ -265,17 +368,19 @@ export class IterationOrchestrator {
265
368
  const { runConfig, runMgr } = this.ctx;
266
369
  const { model } = runConfig;
267
370
  const tracer = getTracer();
371
+ // Worker-completion delivery used to fan out through a global
372
+ // onTaskCompleted listener that pushed handles onto
373
+ // `pendingNotifications`; the iteration loop then drained
374
+ // them as <task-notification> envelopes. Both `create_task`
375
+ // and the `Agent` tool are now blocking and return their
376
+ // worker output as the dispatching tool_use's canonical
377
+ // tool_result, so the listener path would only DUPLICATE
378
+ // every completion (once as tool_result, once as injected
379
+ // envelope user-message). Leaving the binding out closes
380
+ // the duplicate notification surface entirely; the dormant
381
+ // drain stays as a no-op until a follow-up tears it out.
268
382
  let unsubscribeTaskListener;
269
- if (this.ctx.taskGateway) {
270
- unsubscribeTaskListener = this.ctx.taskGateway.onTaskCompleted((handle) => {
271
- this.ctx.pendingNotifications.push(handle);
272
- this.ctx.log.debug('Task completion queued for notification', {
273
- taskId: handle.taskId,
274
- agentId: handle.agentId,
275
- state: handle.state,
276
- });
277
- });
278
- }
383
+ void unsubscribeTaskListener;
279
384
  try {
280
385
  const planSignal = yield* runPlanGate(this.ctx);
281
386
  if (planSignal === 'stop')
@@ -434,6 +539,42 @@ export class IterationOrchestrator {
434
539
  continue;
435
540
  }
436
541
  const hasContent = response.message.content !== null && response.message.content.length > 0;
542
+ // Auto-continuation on `stop_reason: max_tokens`. The
543
+ // model hit its per-call output cap mid-text (NOT
544
+ // mid-tool-use — that path is handled separately
545
+ // below via `inputTruncated`). Push a synthetic
546
+ // "continue" user message and let the loop fire
547
+ // another turn. The provider receives the partial
548
+ // assistant content + the continue prompt and
549
+ // resumes from where it left off, mirroring the
550
+ // Claude.ai "Continue" affordance.
551
+ //
552
+ // Guards:
553
+ // - `hasContent` so we don't loop forever on an
554
+ // empty cutoff (Anthropic occasionally emits
555
+ // `stop_reason: max_tokens` with no content
556
+ // when an injected pre-fill blocks the model).
557
+ // - `!forceFinalize` so the forced-finalize path
558
+ // never auto-continues — that path is invoked
559
+ // specifically to extract a closing summary.
560
+ // - max_iterations bounds the loop in any case.
561
+ if (!forceFinalize && response.finishReason === 'length' && hasContent) {
562
+ this.ctx.log.info('LLM hit max_tokens mid-text — auto-continuing', {
563
+ runId: runMgr.id,
564
+ iteration: iterationNum,
565
+ completionTokens: response.usage.completionTokens,
566
+ });
567
+ runMgr.pushMessage(createUserMessage(AUTO_CONTINUATION_USER_MESSAGE));
568
+ await this.ctx.emitEvent({
569
+ type: 'iteration_completed',
570
+ runId: runMgr.id,
571
+ iteration: iterationNum,
572
+ hasToolCalls: false,
573
+ });
574
+ yield* this.ctx.drainPending();
575
+ iterSpan.end();
576
+ continue;
577
+ }
437
578
  if (!hasContent && !forceFinalize) {
438
579
  this.ctx.log.warn('Empty completion detected — requesting final summary', {
439
580
  iteration: iterationNum,
@@ -516,42 +657,68 @@ export class IterationOrchestrator {
516
657
  }
517
658
  await this.injectOneTaskNotification();
518
659
  }
660
+ /**
661
+ * Canonical async completion delivery (ses_009-task-notification-envelope).
662
+ *
663
+ * Drains every pending task completion in one pass and emits each as
664
+ * a plain USER text message wrapped in the `<task-notification>`
665
+ * envelope the supervisor prompt expects.
666
+ *
667
+ * Why not a `tool_result` block bound to the dispatching tool_use_id:
668
+ * `create_task` is documented as NON-BLOCKING and returns
669
+ * "Task launched: …" immediately. That immediate return is already
670
+ * recorded as the canonical tool_result for that tool_use, so a
671
+ * second tool_result for the SAME tool_use_id — emitted later, after
672
+ * intervening assistant turns — is rejected by Anthropic with
673
+ * `messages.<n>.content.0: unexpected tool_use_id found in
674
+ * tool_result blocks` because the immediately-prior assistant
675
+ * message no longer carries the matching tool_use. Wrapping as a
676
+ * user text envelope sidesteps the pairing rule entirely.
677
+ *
678
+ * Coalescing N drops into one drain replaces the previous
679
+ * one-at-a-time pattern which forced a separate orchestrator
680
+ * iteration per completed task on wide fan-outs.
681
+ */
519
682
  async injectOneTaskNotification() {
520
- const handle = this.ctx.pendingNotifications.shift();
521
- if (!handle)
683
+ if (this.ctx.pendingNotifications.length === 0)
522
684
  return;
523
- const meta = this.ctx.launchedTasks.get(handle.taskId);
524
- const resultText = handle.result?.result ??
525
- handle.result?.lastError ??
526
- `Task finished with state: ${handle.state}`;
527
- if (meta?.planTaskId && this.ctx.taskStore) {
528
- const success = handle.state === 'completed';
529
- await this.ctx.taskStore.update(meta.planTaskId, {
530
- status: 'completed',
531
- description: success ? undefined : `Failed: ${resultText.substring(0, 200)}`,
685
+ const handles = this.ctx.pendingNotifications.splice(0);
686
+ for (const handle of handles) {
687
+ const meta = this.ctx.launchedTasks.get(handle.taskId);
688
+ const resultText = handle.result?.result ??
689
+ handle.result?.lastError ??
690
+ `Task finished with state: ${handle.state}`;
691
+ if (meta?.planTaskId && this.ctx.taskStore) {
692
+ const success = handle.state === 'completed';
693
+ await this.ctx.taskStore.update(meta.planTaskId, {
694
+ status: 'completed',
695
+ description: success ? undefined : `Failed: ${resultText.substring(0, 200)}`,
696
+ });
697
+ }
698
+ this.ctx.launchedTasks.delete(handle.taskId);
699
+ // `remaining-tasks` = inflight workers still pending after this
700
+ // one drains. `launchedTasks` is the single source of truth:
701
+ // it holds every dispatched worker that has NOT yet been
702
+ // drained + delete()'d. The drain batch entries are still
703
+ // inside launchedTasks until each iteration's delete() above
704
+ // removes them, so reading the size right after that delete
705
+ // gives the honest count. Adding `handles.length - 1 - i`
706
+ // here used to double-count this same queue.
707
+ const remainingTasks = this.ctx.launchedTasks.size;
708
+ const envelope = `<task-notification>\n<task-id>${xmlEscape(handle.taskId)}</task-id>\n` +
709
+ `<agent-id>${xmlEscape(handle.agentId)}</agent-id>\n` +
710
+ `<status>${xmlEscape(handle.state)}</status>\n` +
711
+ `<result>${cdataWrap(resultText)}</result>\n` +
712
+ `<remaining-tasks>${remainingTasks}</remaining-tasks>\n</task-notification>`;
713
+ this.ctx.runMgr.pushMessage(createUserMessage(envelope));
714
+ this.ctx.log.info('Task notification injected', {
715
+ taskId: handle.taskId,
716
+ agentId: handle.agentId,
717
+ state: handle.state,
718
+ planTaskId: meta?.planTaskId,
719
+ remainingNotifications: remainingTasks,
532
720
  });
533
721
  }
534
- this.ctx.launchedTasks.delete(handle.taskId);
535
- const remainingTasks = this.ctx.launchedTasks.size;
536
- const notification = [
537
- '<task-notification>',
538
- ` <task-id>${handle.taskId}</task-id>`,
539
- ` <agent-id>${handle.agentId}</agent-id>`,
540
- ` <status>${handle.state}</status>`,
541
- ` <description>${meta?.description ?? 'agent task'}</description>`,
542
- ` <result>${resultText}</result>`,
543
- ` <remaining-tasks>${remainingTasks}</remaining-tasks>`,
544
- '</task-notification>',
545
- ].join('\n');
546
- this.ctx.runMgr.pushMessage(createUserMessage(notification));
547
- this.ctx.log.info('Task notification injected', {
548
- taskId: handle.taskId,
549
- agentId: handle.agentId,
550
- state: handle.state,
551
- planTaskId: meta?.planTaskId,
552
- remainingTasks,
553
- remainingNotifications: this.ctx.pendingNotifications.length,
554
- });
555
722
  }
556
723
  async requestFinalResponse(model, reason) {
557
724
  const lastAssistant = [...this.ctx.runMgr.messages]