@namzu/sdk 1.0.0 → 1.2.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 (330) hide show
  1. package/CHANGELOG.md +253 -0
  2. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  3. package/dist/agents/ReactiveAgent.js +5 -0
  4. package/dist/agents/ReactiveAgent.js.map +1 -1
  5. package/dist/agents/SupervisorAgent.d.ts +22 -1
  6. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  7. package/dist/agents/SupervisorAgent.js +47 -14
  8. package/dist/agents/SupervisorAgent.js.map +1 -1
  9. package/dist/agents/__tests__/supervisor-ledger.test.d.ts +2 -0
  10. package/dist/agents/__tests__/supervisor-ledger.test.d.ts.map +1 -0
  11. package/dist/agents/__tests__/supervisor-ledger.test.js +131 -0
  12. package/dist/agents/__tests__/supervisor-ledger.test.js.map +1 -0
  13. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  14. package/dist/bridge/a2a/mapper.js +2 -0
  15. package/dist/bridge/a2a/mapper.js.map +1 -1
  16. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  17. package/dist/bridge/sse/mapper.js +4 -0
  18. package/dist/bridge/sse/mapper.js.map +1 -1
  19. package/dist/config/runtime.d.ts +24 -0
  20. package/dist/config/runtime.d.ts.map +1 -1
  21. package/dist/config/runtime.js +9 -0
  22. package/dist/config/runtime.js.map +1 -1
  23. package/dist/connector/builtins/webhook.test.js +17 -0
  24. package/dist/connector/builtins/webhook.test.js.map +1 -1
  25. package/dist/connector/index.d.ts +1 -0
  26. package/dist/connector/index.d.ts.map +1 -1
  27. package/dist/connector/index.js +1 -0
  28. package/dist/connector/index.js.map +1 -1
  29. package/dist/connector/mcp/client.d.ts.map +1 -1
  30. package/dist/connector/mcp/client.js +4 -0
  31. package/dist/connector/mcp/client.js.map +1 -1
  32. package/dist/connector/mcp/index.d.ts +1 -0
  33. package/dist/connector/mcp/index.d.ts.map +1 -1
  34. package/dist/connector/mcp/index.js +1 -0
  35. package/dist/connector/mcp/index.js.map +1 -1
  36. package/dist/connector/mcp/streamable-http.d.ts +22 -0
  37. package/dist/connector/mcp/streamable-http.d.ts.map +1 -0
  38. package/dist/connector/mcp/streamable-http.js +128 -0
  39. package/dist/connector/mcp/streamable-http.js.map +1 -0
  40. package/dist/connector/mcp/streamable-http.test.d.ts +2 -0
  41. package/dist/connector/mcp/streamable-http.test.d.ts.map +1 -0
  42. package/dist/connector/mcp/streamable-http.test.js +132 -0
  43. package/dist/connector/mcp/streamable-http.test.js.map +1 -0
  44. package/dist/{runtime/query → constants}/continuation.d.ts +5 -0
  45. package/dist/constants/continuation.d.ts.map +1 -0
  46. package/dist/{runtime/query → constants}/continuation.js +5 -0
  47. package/dist/constants/continuation.js.map +1 -0
  48. package/dist/constants/index.d.ts +1 -0
  49. package/dist/constants/index.d.ts.map +1 -1
  50. package/dist/constants/index.js +1 -0
  51. package/dist/constants/index.js.map +1 -1
  52. package/dist/manager/run/persistence.d.ts +11 -0
  53. package/dist/manager/run/persistence.d.ts.map +1 -1
  54. package/dist/manager/run/persistence.js +30 -1
  55. package/dist/manager/run/persistence.js.map +1 -1
  56. package/dist/persona/assembler.d.ts.map +1 -1
  57. package/dist/persona/assembler.js +18 -9
  58. package/dist/persona/assembler.js.map +1 -1
  59. package/dist/provider/capabilities.d.ts +27 -0
  60. package/dist/provider/capabilities.d.ts.map +1 -0
  61. package/dist/provider/capabilities.js +29 -0
  62. package/dist/provider/capabilities.js.map +1 -0
  63. package/dist/provider/collect.d.ts.map +1 -1
  64. package/dist/provider/collect.js +4 -1
  65. package/dist/provider/collect.js.map +1 -1
  66. package/dist/provider/index.d.ts +2 -0
  67. package/dist/provider/index.d.ts.map +1 -1
  68. package/dist/provider/index.js +1 -0
  69. package/dist/provider/index.js.map +1 -1
  70. package/dist/public-runtime.d.ts +4 -3
  71. package/dist/public-runtime.d.ts.map +1 -1
  72. package/dist/public-runtime.js +3 -3
  73. package/dist/public-runtime.js.map +1 -1
  74. package/dist/registry/tool/execute.d.ts +27 -0
  75. package/dist/registry/tool/execute.d.ts.map +1 -1
  76. package/dist/registry/tool/execute.js +124 -21
  77. package/dist/registry/tool/execute.js.map +1 -1
  78. package/dist/registry/tool/execute.test.d.ts +9 -6
  79. package/dist/registry/tool/execute.test.d.ts.map +1 -1
  80. package/dist/registry/tool/execute.test.js +72 -10
  81. package/dist/registry/tool/execute.test.js.map +1 -1
  82. package/dist/registry/toolset/catalog.test.js +62 -0
  83. package/dist/registry/toolset/catalog.test.js.map +1 -1
  84. package/dist/run/reporter.d.ts.map +1 -1
  85. package/dist/run/reporter.js +8 -0
  86. package/dist/run/reporter.js.map +1 -1
  87. package/dist/runtime/query/__tests__/capability-negotiation.test.d.ts +2 -0
  88. package/dist/runtime/query/__tests__/capability-negotiation.test.d.ts.map +1 -0
  89. package/dist/runtime/query/__tests__/capability-negotiation.test.js +184 -0
  90. package/dist/runtime/query/__tests__/capability-negotiation.test.js.map +1 -0
  91. package/dist/runtime/query/__tests__/checkpoint-store.test.d.ts +2 -0
  92. package/dist/runtime/query/__tests__/checkpoint-store.test.d.ts.map +1 -0
  93. package/dist/runtime/query/__tests__/checkpoint-store.test.js +259 -0
  94. package/dist/runtime/query/__tests__/checkpoint-store.test.js.map +1 -0
  95. package/dist/runtime/query/__tests__/checkpoint.test.js +9 -3
  96. package/dist/runtime/query/__tests__/checkpoint.test.js.map +1 -1
  97. package/dist/runtime/query/__tests__/deferred-tools.test.js +43 -5
  98. package/dist/runtime/query/__tests__/deferred-tools.test.js.map +1 -1
  99. package/dist/runtime/query/__tests__/long-document-flow.test.d.ts +2 -0
  100. package/dist/runtime/query/__tests__/long-document-flow.test.d.ts.map +1 -0
  101. package/dist/runtime/query/__tests__/long-document-flow.test.js +154 -0
  102. package/dist/runtime/query/__tests__/long-document-flow.test.js.map +1 -0
  103. package/dist/runtime/query/__tests__/orphan-task-turn-end.test.d.ts +2 -0
  104. package/dist/runtime/query/__tests__/orphan-task-turn-end.test.d.ts.map +1 -0
  105. package/dist/runtime/query/__tests__/orphan-task-turn-end.test.js +110 -0
  106. package/dist/runtime/query/__tests__/orphan-task-turn-end.test.js.map +1 -0
  107. package/dist/runtime/query/__tests__/prompt.test.js +15 -11
  108. package/dist/runtime/query/__tests__/prompt.test.js.map +1 -1
  109. package/dist/runtime/query/checkpoint.d.ts +16 -2
  110. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  111. package/dist/runtime/query/checkpoint.js +21 -7
  112. package/dist/runtime/query/checkpoint.js.map +1 -1
  113. package/dist/runtime/query/context.d.ts +7 -0
  114. package/dist/runtime/query/context.d.ts.map +1 -1
  115. package/dist/runtime/query/context.js +1 -0
  116. package/dist/runtime/query/context.js.map +1 -1
  117. package/dist/runtime/query/index.d.ts +29 -0
  118. package/dist/runtime/query/index.d.ts.map +1 -1
  119. package/dist/runtime/query/index.js +98 -8
  120. package/dist/runtime/query/index.js.map +1 -1
  121. package/dist/runtime/query/iteration/index.d.ts +3 -55
  122. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  123. package/dist/runtime/query/iteration/index.js +260 -656
  124. package/dist/runtime/query/iteration/index.js.map +1 -1
  125. package/dist/runtime/query/iteration/phases/checkpoint.d.ts.map +1 -1
  126. package/dist/runtime/query/iteration/phases/checkpoint.js +24 -2
  127. package/dist/runtime/query/iteration/phases/checkpoint.js.map +1 -1
  128. package/dist/runtime/query/iteration/phases/compaction.d.ts +8 -0
  129. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  130. package/dist/runtime/query/iteration/phases/compaction.js +84 -3
  131. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  132. package/dist/runtime/query/iteration/phases/context.d.ts +13 -2
  133. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  134. package/dist/runtime/query/iteration/phases/context.js +53 -0
  135. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  136. package/dist/runtime/query/iteration/phases/hitl-abort-race.test.d.ts +2 -0
  137. package/dist/runtime/query/iteration/phases/hitl-abort-race.test.d.ts.map +1 -0
  138. package/dist/runtime/query/iteration/phases/hitl-abort-race.test.js +73 -0
  139. package/dist/runtime/query/iteration/phases/hitl-abort-race.test.js.map +1 -0
  140. package/dist/runtime/query/iteration/phases/hitl-answer-question.test.d.ts +2 -0
  141. package/dist/runtime/query/iteration/phases/hitl-answer-question.test.d.ts.map +1 -0
  142. package/dist/runtime/query/iteration/phases/hitl-answer-question.test.js +120 -0
  143. package/dist/runtime/query/iteration/phases/hitl-answer-question.test.js.map +1 -0
  144. package/dist/runtime/query/iteration/phases/tool-review.d.ts +1 -1
  145. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  146. package/dist/runtime/query/iteration/phases/tool-review.js +7 -2
  147. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  148. package/dist/runtime/query/iteration/phases/working-memory-compaction.test.d.ts +19 -0
  149. package/dist/runtime/query/iteration/phases/working-memory-compaction.test.d.ts.map +1 -0
  150. package/dist/runtime/query/iteration/phases/working-memory-compaction.test.js +177 -0
  151. package/dist/runtime/query/iteration/phases/working-memory-compaction.test.js.map +1 -0
  152. package/dist/runtime/query/iteration/phases/working-memory.d.ts +31 -0
  153. package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -0
  154. package/dist/runtime/query/iteration/phases/working-memory.js +81 -0
  155. package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -0
  156. package/dist/runtime/query/iteration/stream-turn.d.ts +35 -0
  157. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -0
  158. package/dist/runtime/query/iteration/stream-turn.js +341 -0
  159. package/dist/runtime/query/iteration/stream-turn.js.map +1 -0
  160. package/dist/runtime/query/replay/list.d.ts +17 -1
  161. package/dist/runtime/query/replay/list.d.ts.map +1 -1
  162. package/dist/runtime/query/replay/list.js +21 -4
  163. package/dist/runtime/query/replay/list.js.map +1 -1
  164. package/dist/runtime/query/replay/prepare.d.ts +10 -0
  165. package/dist/runtime/query/replay/prepare.d.ts.map +1 -1
  166. package/dist/runtime/query/replay/prepare.js +20 -4
  167. package/dist/runtime/query/replay/prepare.js.map +1 -1
  168. package/dist/session/workspace/__tests__/shared-run.test.js +1 -1
  169. package/dist/session/workspace/__tests__/shared-run.test.js.map +1 -1
  170. package/dist/session/workspace/shared-run.js +1 -0
  171. package/dist/session/workspace/shared-run.js.map +1 -1
  172. package/dist/skills/loader.test.js +8 -8
  173. package/dist/skills/loader.test.js.map +1 -1
  174. package/dist/store/index.d.ts +1 -0
  175. package/dist/store/index.d.ts.map +1 -1
  176. package/dist/store/index.js +1 -0
  177. package/dist/store/index.js.map +1 -1
  178. package/dist/store/run/checkpoint-disk.d.ts +28 -0
  179. package/dist/store/run/checkpoint-disk.d.ts.map +1 -0
  180. package/dist/store/run/checkpoint-disk.js +55 -0
  181. package/dist/store/run/checkpoint-disk.js.map +1 -0
  182. package/dist/streaming/coalesce.test.js.map +1 -1
  183. package/dist/tools/builtins/__tests__/payload-budget.test.js +48 -0
  184. package/dist/tools/builtins/__tests__/payload-budget.test.js.map +1 -1
  185. package/dist/tools/builtins/__tests__/read-file.test.js +9 -0
  186. package/dist/tools/builtins/__tests__/read-file.test.js.map +1 -1
  187. package/dist/tools/builtins/read-file.d.ts.map +1 -1
  188. package/dist/tools/builtins/read-file.js +50 -2
  189. package/dist/tools/builtins/read-file.js.map +1 -1
  190. package/dist/tools/builtins/search-tools.d.ts.map +1 -1
  191. package/dist/tools/builtins/search-tools.js +32 -7
  192. package/dist/tools/builtins/search-tools.js.map +1 -1
  193. package/dist/tools/coordinator/__tests__/approve-plan.test.d.ts +2 -0
  194. package/dist/tools/coordinator/__tests__/approve-plan.test.d.ts.map +1 -0
  195. package/dist/tools/coordinator/__tests__/approve-plan.test.js +114 -0
  196. package/dist/tools/coordinator/__tests__/approve-plan.test.js.map +1 -0
  197. package/dist/tools/coordinator/__tests__/ask-user-question.test.d.ts +2 -0
  198. package/dist/tools/coordinator/__tests__/ask-user-question.test.d.ts.map +1 -0
  199. package/dist/tools/coordinator/__tests__/ask-user-question.test.js +309 -0
  200. package/dist/tools/coordinator/__tests__/ask-user-question.test.js.map +1 -0
  201. package/dist/tools/coordinator/index.d.ts +8 -0
  202. package/dist/tools/coordinator/index.d.ts.map +1 -1
  203. package/dist/tools/coordinator/index.js +195 -15
  204. package/dist/tools/coordinator/index.js.map +1 -1
  205. package/dist/types/agent/index.d.ts +1 -0
  206. package/dist/types/agent/index.d.ts.map +1 -1
  207. package/dist/types/agent/index.js +1 -0
  208. package/dist/types/agent/index.js.map +1 -1
  209. package/dist/types/agent/reactive.d.ts +15 -0
  210. package/dist/types/agent/reactive.d.ts.map +1 -1
  211. package/dist/types/agent/supervisor.d.ts +18 -0
  212. package/dist/types/agent/supervisor.d.ts.map +1 -1
  213. package/dist/types/agent/working-memory.d.ts +29 -0
  214. package/dist/types/agent/working-memory.d.ts.map +1 -0
  215. package/dist/types/agent/working-memory.js +2 -0
  216. package/dist/types/agent/working-memory.js.map +1 -0
  217. package/dist/types/common/index.d.ts +10 -0
  218. package/dist/types/common/index.d.ts.map +1 -1
  219. package/dist/types/common/index.js +18 -0
  220. package/dist/types/common/index.js.map +1 -1
  221. package/dist/types/common/usage-merge.test.d.ts +2 -0
  222. package/dist/types/common/usage-merge.test.d.ts.map +1 -0
  223. package/dist/types/common/usage-merge.test.js +48 -0
  224. package/dist/types/common/usage-merge.test.js.map +1 -0
  225. package/dist/types/connector/mcp.d.ts +9 -2
  226. package/dist/types/connector/mcp.d.ts.map +1 -1
  227. package/dist/types/hitl/index.d.ts +42 -0
  228. package/dist/types/hitl/index.d.ts.map +1 -1
  229. package/dist/types/hitl/index.js +11 -0
  230. package/dist/types/hitl/index.js.map +1 -1
  231. package/dist/types/provider/chat.d.ts +9 -0
  232. package/dist/types/provider/chat.d.ts.map +1 -1
  233. package/dist/types/provider/config.d.ts +18 -0
  234. package/dist/types/provider/config.d.ts.map +1 -1
  235. package/dist/types/provider/interface.d.ts +10 -0
  236. package/dist/types/provider/interface.d.ts.map +1 -1
  237. package/dist/types/run/checkpoint-store.d.ts +64 -0
  238. package/dist/types/run/checkpoint-store.d.ts.map +1 -0
  239. package/dist/types/run/checkpoint-store.js +12 -0
  240. package/dist/types/run/checkpoint-store.js.map +1 -0
  241. package/dist/types/run/config.d.ts +27 -0
  242. package/dist/types/run/config.d.ts.map +1 -1
  243. package/dist/types/run/events.d.ts +6 -0
  244. package/dist/types/run/events.d.ts.map +1 -1
  245. package/dist/types/run/events.js.map +1 -1
  246. package/dist/types/run/index.d.ts +1 -0
  247. package/dist/types/run/index.d.ts.map +1 -1
  248. package/dist/types/run/index.js +1 -0
  249. package/dist/types/run/index.js.map +1 -1
  250. package/dist/version.d.ts.map +1 -1
  251. package/dist/version.js +25 -4
  252. package/dist/version.js.map +1 -1
  253. package/package.json +1 -1
  254. package/src/agents/ReactiveAgent.ts +5 -0
  255. package/src/agents/SupervisorAgent.ts +56 -16
  256. package/src/agents/__tests__/supervisor-ledger.test.ts +185 -0
  257. package/src/bridge/a2a/mapper.ts +3 -0
  258. package/src/bridge/sse/mapper.ts +5 -0
  259. package/src/config/runtime.ts +9 -0
  260. package/src/connector/builtins/webhook.test.ts +21 -0
  261. package/src/connector/index.ts +1 -0
  262. package/src/connector/mcp/client.ts +4 -0
  263. package/src/connector/mcp/index.ts +1 -0
  264. package/src/connector/mcp/streamable-http.test.ts +169 -0
  265. package/src/connector/mcp/streamable-http.ts +152 -0
  266. package/src/{runtime/query → constants}/continuation.ts +5 -0
  267. package/src/constants/index.ts +1 -0
  268. package/src/manager/run/persistence.ts +34 -1
  269. package/src/persona/assembler.ts +18 -6
  270. package/src/provider/capabilities.ts +47 -0
  271. package/src/provider/collect.ts +4 -1
  272. package/src/provider/index.ts +5 -0
  273. package/src/public-runtime.ts +5 -0
  274. package/src/registry/tool/execute.test.ts +85 -10
  275. package/src/registry/tool/execute.ts +124 -21
  276. package/src/registry/toolset/catalog.test.ts +68 -0
  277. package/src/run/reporter.ts +9 -0
  278. package/src/runtime/query/__tests__/capability-negotiation.test.ts +248 -0
  279. package/src/runtime/query/__tests__/checkpoint-store.test.ts +322 -0
  280. package/src/runtime/query/__tests__/checkpoint.test.ts +15 -6
  281. package/src/runtime/query/__tests__/deferred-tools.test.ts +52 -5
  282. package/src/runtime/query/__tests__/long-document-flow.test.ts +180 -0
  283. package/src/runtime/query/__tests__/orphan-task-turn-end.test.ts +127 -0
  284. package/src/runtime/query/__tests__/prompt.test.ts +15 -11
  285. package/src/runtime/query/checkpoint.ts +23 -9
  286. package/src/runtime/query/context.ts +9 -0
  287. package/src/runtime/query/index.ts +148 -29
  288. package/src/runtime/query/iteration/index.ts +316 -831
  289. package/src/runtime/query/iteration/phases/checkpoint.ts +32 -2
  290. package/src/runtime/query/iteration/phases/compaction.ts +89 -3
  291. package/src/runtime/query/iteration/phases/context.ts +59 -3
  292. package/src/runtime/query/iteration/phases/hitl-abort-race.test.ts +86 -0
  293. package/src/runtime/query/iteration/phases/hitl-answer-question.test.ts +139 -0
  294. package/src/runtime/query/iteration/phases/tool-review.ts +7 -3
  295. package/src/runtime/query/iteration/phases/working-memory-compaction.test.ts +215 -0
  296. package/src/runtime/query/iteration/phases/working-memory.ts +86 -0
  297. package/src/runtime/query/iteration/stream-turn.ts +396 -0
  298. package/src/runtime/query/replay/list.ts +38 -4
  299. package/src/runtime/query/replay/prepare.ts +37 -4
  300. package/src/session/workspace/__tests__/shared-run.test.ts +1 -1
  301. package/src/session/workspace/shared-run.ts +1 -0
  302. package/src/skills/loader.test.ts +8 -8
  303. package/src/store/index.ts +1 -0
  304. package/src/store/run/checkpoint-disk.ts +67 -0
  305. package/src/streaming/coalesce.test.ts +3 -3
  306. package/src/tools/builtins/__tests__/payload-budget.test.ts +63 -0
  307. package/src/tools/builtins/__tests__/read-file.test.ts +12 -0
  308. package/src/tools/builtins/read-file.ts +50 -2
  309. package/src/tools/builtins/search-tools.ts +38 -7
  310. package/src/tools/coordinator/__tests__/approve-plan.test.ts +139 -0
  311. package/src/tools/coordinator/__tests__/ask-user-question.test.ts +370 -0
  312. package/src/tools/coordinator/index.ts +227 -17
  313. package/src/types/agent/index.ts +1 -0
  314. package/src/types/agent/reactive.ts +17 -0
  315. package/src/types/agent/supervisor.ts +20 -0
  316. package/src/types/agent/working-memory.ts +29 -0
  317. package/src/types/common/index.ts +19 -0
  318. package/src/types/common/usage-merge.test.ts +53 -0
  319. package/src/types/connector/mcp.ts +14 -2
  320. package/src/types/hitl/index.ts +52 -1
  321. package/src/types/provider/chat.ts +10 -0
  322. package/src/types/provider/config.ts +18 -0
  323. package/src/types/provider/interface.ts +11 -0
  324. package/src/types/run/checkpoint-store.ts +72 -0
  325. package/src/types/run/config.ts +30 -0
  326. package/src/types/run/events.ts +13 -0
  327. package/src/types/run/index.ts +1 -0
  328. package/src/version.ts +26 -4
  329. package/dist/runtime/query/continuation.d.ts.map +0 -1
  330. package/dist/runtime/query/continuation.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,258 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - cc6b5f3: Pluggable checkpoint persistence with cadence and growth controls.
8
+
9
+ Iteration checkpoints now flow through a new `CheckpointStore` interface
10
+ (`types/run/checkpoint-store.ts`) keyed by the full run scope
11
+ (`tenantId`/`projectId`/`sessionId`/`runId`) instead of a filesystem
12
+ path, so hosts can persist mid-turn resume state in a shared backend
13
+ (e.g. Postgres) that survives machine loss:
14
+
15
+ - `QueryParams.checkpointStore?` injects a store per run (mirrors the
16
+ existing `pathBuilder?` override); the disk layout under the run's
17
+ output directory remains the default via the new exported
18
+ `DiskCheckpointStore` conformance adapter over `RunDiskStore`.
19
+ - `RunPersistenceConfig.checkpointStore?` +
20
+ `RunPersistence.getCheckpointStore()`/`getRunScope()` expose the same
21
+ seam to embedded callers.
22
+ - The replay entry points (`listCheckpoints`, `prepareReplayState`)
23
+ accept an optional `checkpointStore` + `scope` pair; their
24
+ disk-addressed `baseDir` inputs are unchanged.
25
+ - `CheckpointManager` now takes `(store: CheckpointStore, scope:
26
+ CheckpointRunScope)` — a breaking constructor change for direct
27
+ constructions; the query pipeline threads it automatically.
28
+
29
+ Growth control on the run config, byte-identical by default:
30
+
31
+ - `AgentRunConfig.checkpointEvery?` (default 1 = every tool-call
32
+ iteration, today's behavior) checkpoints iterations 1, 1+N, 1+2N, …
33
+ and skips the HITL `iteration_checkpoint` park on off-cadence
34
+ iterations.
35
+ - `AgentRunConfig.pruneKeepLast?` (default undefined = never prune)
36
+ prunes the run's checkpoint set down to the newest N after each
37
+ iteration-checkpoint create.
38
+
39
+ - f1f000c: Provider capability negotiation — degradation is now loud, not silent.
40
+
41
+ `LLMProvider` gains an optional `readonly capabilities?:
42
+ ProviderCapabilities` (with a new `supportsVision?` flag on the type)
43
+ declaring what the DRIVER actually does with a request. Providers that
44
+ declare nothing resolve to the exported
45
+ `PERMISSIVE_PROVIDER_CAPABILITIES` constant (assume everything works —
46
+ exactly the previous behavior), so third-party providers are
47
+ unaffected. `resolveProviderCapabilities(provider)` performs the
48
+ per-field permissive merge.
49
+
50
+ `query()` consults the resolved capabilities before tooling bootstrap:
51
+
52
+ - Tools registered against a `supportsTools: false` driver → a loud
53
+ `log.warn`, a new `capability_warning` run event, and every tool
54
+ surface stripped (no `<available_tools>` prompt section, no `tools`
55
+ request param) so the model is never told about tools it cannot
56
+ call.
57
+ - Image attachments on user messages against a `supportsVision: false`
58
+ driver → `log.warn` + a `capability_warning` run event so the host
59
+ can surface that the images never reach the model.
60
+ - New `QueryParams.strictCapabilities?: boolean` (default `false`)
61
+ throws on either mismatch instead of degrading.
62
+
63
+ `RunEvent` gains the additive `capability_warning` variant
64
+ (`capability: 'tools' | 'vision'`, `providerId`, `message`); the
65
+ SSE/A2A bridges intentionally do not map it to a wire event yet.
66
+
67
+ ### Patch Changes
68
+
69
+ - 30c755d: Remove the dead task-notification busy-wait that could hang a run for minutes.
70
+
71
+ When the model ended its turn while the task gateway still listed a running
72
+ agent task, the iteration loop polled an internal `pendingNotifications`
73
+ queue every 250ms for up to `runConfig.timeoutMs` (120s default) — but
74
+ nothing has pushed onto that queue since the `onTaskCompleted` listener was
75
+ removed: every dispatch tool (`create_task`, `continue_task`, `Agent`) is
76
+ blocking and already returns the worker's output as the dispatching
77
+ tool_use's canonical `tool_result`. The wait always injected nothing, then
78
+ re-invoked the model with an unchanged conversation, so runs with an orphaned
79
+ task (an interrupted tool execution, a cancel race) sporadically stalled for
80
+ multiples of the timeout before finishing with the answer they already had.
81
+
82
+ The superseded `<task-notification>` envelope path is now fully torn out
83
+ (`waitAndInjectNotifications`, `injectOneTaskNotification`, the
84
+ `pendingNotifications` queue and its XML/CDATA helpers). End-of-turn
85
+ semantics with orphan running tasks are explicit: the run ends normally
86
+ (`end_turn`) and a warning is logged that the orphans have no delivery path.
87
+ Runs without orphan tasks are byte-identical.
88
+
89
+ ## 1.1.0
90
+
91
+ ### Minor Changes
92
+
93
+ - ac85934: Add a model-authored `ask_user_question` HITL surface to the coordinator
94
+ toolset. `HITLDecisionRequest` gains a `user_question` variant carrying
95
+ `UserQuestionData` (questionId = the asking `tool_use_id`, question text,
96
+ optional header, 2-4 model-authored options, multiSelect, allowFreeText),
97
+ and `HITLResumeDecision` gains `answer_question` (selectedOptionIds,
98
+ optional freeText, optional questionId echo as a misdirection guard).
99
+ The tool registers only when `buildCoordinatorTools` receives BOTH a
100
+ `resumeHandler` and a `runId` (SupervisorAgent threads its configured
101
+ `resumeHandler` through automatically), parks the run through the same
102
+ ResumeHandler channel as plan approvals, and returns the user's answer
103
+ verbatim as the tool result — selections quote question and labels,
104
+ free text is rendered "in their own words", and an empty/misdirected/
105
+ mismatched answer yields an explicit "the user did not answer" sentinel
106
+ instead of fabricated consent. The tool is deliberately NOT
107
+ concurrency-safe so multiple questions in one assistant turn park
108
+ strictly one at a time against host run-keyed park registries.
109
+ Headless callers degrade safely: `autoApproveHandler` answers
110
+ `user_question` with the no-selection sentinel ("No user is available
111
+ to answer. Proceed using your best judgment."), so runs without an
112
+ interactive ResumeHandler never deadlock and never invent a choice.
113
+ Existing ResumeHandler implementations compile unchanged (additive
114
+ union widening); bare plan-approval and tool-review flows are
115
+ byte-identical.
116
+ - 9df35d1: Make a Stop abort the IN-FLIGHT model turn, not only between turns.
117
+
118
+ `ChatCompletionParams` gains an optional `signal?: AbortSignal`. The query
119
+ runtime threads the run's abort signal into every provider call (the streaming
120
+ turn and the forced-final summary) and now drives the provider stream through a
121
+ MANUAL iterator that RACES each `next()` against the abort — so a cancellation
122
+ tears the turn down within a tick even if a transport buffers or ignores the
123
+ signal, with the abort propagating out of the generator so the run settles as
124
+ `cancelled`. The stream consumer cleans up on every exit (removes the abort
125
+ listener, calls `iterator.return()`), and the natural-completion break
126
+ re-checks the signal so a Stop that lands exactly as the turn finishes is
127
+ recorded as cancelled rather than a normal end-of-turn.
128
+
129
+ Every provider now honours the signal at the transport: Anthropic
130
+ (`messages.create({ signal })`), OpenAI (`create(..., { signal })`), Bedrock
131
+ (`send(..., { abortSignal })`), OpenRouter + HTTP (compose with the request
132
+ timeout via `AbortSignal.any`), Ollama (the returned iterator's `.abort()`),
133
+ and LM Studio (`respond(..., { signal })` → the SDK's websocket cancel) — each
134
+ plus a cheap per-chunk `signal.throwIfAborted()` for promptness.
135
+
136
+ Fully additive and inert when unset: a never-aborted signal is behaviourally
137
+ identical to omitting it, so existing callers and uncancelled runs are
138
+ byte-identical.
139
+
140
+ - 6c09394: Add an optional feedback channel to plan approvals: `HITLResumeDecision`'s
141
+ `approve_plan` variant now carries `feedback?: string`, the plan-approval
142
+ resume handler forwards it as `PlanApprovalResponse.feedback`, and the
143
+ coordinator `approve_plan` tool embeds approve-with-edits feedback in the
144
+ model-visible tool result so the supervisor applies the user's edits
145
+ atomically with the approval. Bare approvals are byte-identical to before;
146
+ existing resume handlers compile and behave unchanged.
147
+ - 8c07556: Tool-loading economics: honor prompt caching in the Anthropic provider and
148
+ make deferred-tool discovery ranked and bounded.
149
+
150
+ `@namzu/anthropic`:
151
+
152
+ - `cacheControl` on `ChatCompletionParams` is now honored (it was silently
153
+ dropped; `cache_read_input_tokens` was always 0). The provider emits up to
154
+ three `cache_control: {type:'ephemeral'}` breakpoints per request: the
155
+ tools-array tail, the last `'cache'`-tagged system block, and the last
156
+ message block (render order tools → system → messages).
157
+ - System messages are sent as a block array preserving `SystemMessage.cacheHint`
158
+ segment boundaries instead of being joined into one string. The OAuth
159
+ Claude Code identity block stays first.
160
+ - `toolChoice: 'none'` now maps to Anthropic's first-class
161
+ `tool_choice: {type:'none'}` instead of `{type:'auto'}`, and `tool_choice`
162
+ is only sent alongside a `tools` param.
163
+ - `parallelToolCalls: false` now maps to `disable_parallel_tool_use: true`
164
+ on the `tool_choice` (previously unmapped).
165
+
166
+ `@namzu/sdk`:
167
+
168
+ - The runtime keeps the tools param byte-stable on forced-final iterations
169
+ (resource-limit finalization) and forbids tool use via `toolChoice: 'none'`
170
+ instead of omitting `tools` — omitting busted the whole prompt-cache prefix
171
+ and risked a 400 with `tool_use`/`tool_result` blocks in history.
172
+ - `ToolRegistry.toPromptSection()` lists active tools name-only (their
173
+ descriptions and schemas already ride the runtime tools param every
174
+ request) and gives deferred tools a first-sentence hint (≤100 chars) so the
175
+ model can discover what a deferred name does before searching.
176
+ - `ToolRegistry.searchDeferred()` is now a ranked weighted search (exact
177
+ name 12, name substring 8, description 5, argument names 3 — the
178
+ `ToolCatalog.searchTools` weights) with generic CRUD verbs (`list`,
179
+ `read`, `create`, `update`, `get`, `find`, `delete`, `search`) added to the
180
+ stop-token set. `search_tools` activates only the top-5 ranked matches and
181
+ reports up to 5 near-misses as name+hint WITHOUT activating them, so a
182
+ retrieval miss becomes a cheap re-query instead of a dead end. The
183
+ `search_tools` input wire shape (`{query}`) is unchanged.
184
+
185
+ ### Patch Changes
186
+
187
+ - 999e4be: Context-management correctness fixes (Vandal round-3 architecture audit).
188
+
189
+ - **Compaction no longer orphans tool pairs.** `runCompactionCheck` now snaps
190
+ the recent-window boundary through `findSafeTrimIndex` (previously wired only
191
+ to the unused `ConversationManager` strategy classes), so a compaction cut can
192
+ never leave a `tool_result` at the head of the recent window whose `tool_use`
193
+ was summarized away. That orphan otherwise makes the provider reject the very
194
+ next turn with a 400 — compaction killing the long run it exists to keep alive.
195
+ - **Resume preserves the compaction summary + working-memory slot.** The
196
+ checkpoint-restore path used to drop EVERY system message, silently losing the
197
+ `[COMPACTED CONTEXT]` block (the only record of the older history a pass
198
+ deleted) on `resumeFromCheckpoint`. It now re-pushes the fresh static/dynamic
199
+ floor but preserves the compaction summary and the pinned working-memory slot.
200
+ - **Within-turn usage is merged, not last-write-wins.** `mergeTokenUsage`
201
+ (per-field high-water mark) replaces `usage = chunk.usage` in `collect()` and
202
+ the iteration stream reducer, so a late usage frame that omits input/cache
203
+ tokens no longer zeroes the counts captured earlier in the stream.
204
+ - **HITL parks are cancellable.** `awaitDecisionOrAbort` races the tool-review
205
+ and iteration-checkpoint `resumeHandler` parks against the run's abort signal,
206
+ so a Stop that arrives while parked resolves the park as `abort` instead of
207
+ hanging until the host answers. Degrades to a plain await when no controller
208
+ is wired; fails closed to `abort` if the handler rejects.
209
+
210
+ All changes are internal correctness fixes; the provider/message wire contract
211
+ is unchanged and existing consumers stay behaviourally identical outside the
212
+ buggy edge cases above.
213
+
214
+ - 42f577e: Recreate shared run workspace manifest directories before atomic writes.
215
+ - 9a0c5ee: Plan-rejection guidance now follows the user's feedback instead of baking in
216
+ an unconditional revise loop. The old output told the supervisor to "revise
217
+ your plan ... and call approve_plan again" even when the feedback explicitly
218
+ asked it to stop, so a rejection meant to halt kept generating new plans.
219
+ The output now instructs: follow the feedback — revise and re-submit only if
220
+ changes were requested; acknowledge and end the turn if asked to stop; ask
221
+ the user how to proceed when no feedback was given.
222
+ - 0d1fb7b: Harden file intake and ACI readiness failure handling.
223
+
224
+ The built-in read tool now guides Office and PDF packages through
225
+ extractor tooling instead of treating binary document containers as
226
+ UTF-8 text. The ACI Standby Pool backend now deletes a claimed
227
+ container group when IP or worker readiness polling fails before a
228
+ Sandbox handle is returned.
229
+
230
+ - 2c5dd7a: The supervisor's task ledger no longer fabricates success for workers that
231
+ produced no result. Previously, when a task handle had no `result`, the
232
+ synthesized entry took its status from `handle.state` (cast to a terminal
233
+ type) — so a handle reporting `state: 'completed'` but carrying no result was
234
+ counted toward `completedTasks`. The supervisor then reported "workers done"
235
+ with empty outputs when the workers never actually produced anything.
236
+
237
+ An absent result is now always synthesized as a terminal `'failed'`, so it can
238
+ never count as a completed task. Handles that carry a real `result` are
239
+ preserved verbatim, so genuine workers are unaffected. The synthesis and tally
240
+ are extracted into `synthesizeTaskResults` / `countCompletedTasks` and covered
241
+ by unit tests.
242
+
243
+ - 271e6cf: Accept plain-text `approve_plan` step lists and normalize them into canonical
244
+ step objects before execution. This keeps plan approval cards resilient when a
245
+ provider emits numbered prose instead of an array-shaped argument.
246
+ - b776acf: Make the package-version read bundle-safe. `version.ts` read `../package.json`
247
+ via `createRequire(import.meta.url)` at module-init with no guard. esbuild leaves
248
+ `createRequire` calls as runtime requires and collapses the dist tree into a
249
+ single file, so in a bundle `../package.json` no longer resolves and the read
250
+ threw at import time — crashing the whole process on any code path that touches
251
+ the SDK runtime (`Cannot find module '../package.json'`). Wrap the read in
252
+ try/catch with a `0.0.0` fallback, mirroring the CLI's existing
253
+ `readPackageVersion`. Unbundled behaviour is unchanged (real version is read);
254
+ a bundled build degrades the cosmetic version string instead of crashing.
255
+
3
256
  ## 1.0.0
4
257
 
5
258
  ### Major Changes
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveAgent.d.ts","sourceRoot":"","sources":["../../src/agents/ReactiveAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,qBAAa,aAAc,SAAQ,aAAa,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IACzF,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAS;gBAEvB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,CAAC;IAa5D,GAAG,CACR,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,mBAAmB,CAAC;IA4EhB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
1
+ {"version":3,"file":"ReactiveAgent.d.ts","sourceRoot":"","sources":["../../src/agents/ReactiveAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,qBAAa,aAAc,SAAQ,aAAa,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IACzF,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAS;gBAEvB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,CAAC;IAa5D,GAAG,CACR,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,mBAAmB,CAAC;IAiFhB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
@@ -28,6 +28,11 @@ export class ReactiveAgent extends AbstractAgent {
28
28
  tools: config.tools,
29
29
  ...(config.verificationGate ? { verificationGate: config.verificationGate } : {}),
30
30
  ...(config.sandboxProvider ? { sandboxProvider: config.sandboxProvider } : {}),
31
+ // Working-memory / compaction seam (optional; absent => unchanged run path).
32
+ ...(config.compactionConfig ? { compactionConfig: config.compactionConfig } : {}),
33
+ ...(config.workingMemoryProvider
34
+ ? { workingMemoryProvider: config.workingMemoryProvider }
35
+ : {}),
31
36
  runConfig: {
32
37
  model: config.model,
33
38
  tokenBudget: config.tokenBudget,
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveAgent.js","sourceRoot":"","sources":["../../src/agents/ReactiveAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactiveAgent.js","sourceRoot":"","sources":["../../src/agents/ReactiveAgent.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,27 @@
1
- import type { AgentInput, AgentMetadata, SupervisorAgentConfig, SupervisorAgentResult } from '../types/agent/index.js';
1
+ import type { TaskHandle } from '../types/agent/gateway.js';
2
+ import type { AgentInput, AgentMetadata, AgentTaskResult, SupervisorAgentConfig, SupervisorAgentResult } from '../types/agent/index.js';
3
+ import type { RunId } from '../types/ids/index.js';
2
4
  import type { RunEventListener } from '../types/run/index.js';
3
5
  import { AbstractAgent } from './AbstractAgent.js';
6
+ /**
7
+ * Build the authoritative per-task ledger from the gateway's task handles.
8
+ *
9
+ * A handle carries a `result` only when its worker actually produced one. A
10
+ * handle with NO result never produced a verifiable outcome, so it MUST NOT be
11
+ * synthesized as a success: the synthesized status is always the terminal
12
+ * `'failed'`, regardless of the handle's reported `state` (which may itself be
13
+ * `'completed'`).
14
+ *
15
+ * The earlier implementation cast `handle.state` onto the synthesized result's
16
+ * status, letting a worker that ended without a result count toward
17
+ * `completedTasks`. That produced fabricated "done" workers with empty outputs
18
+ * (cowork task 02c5cf2b): the supervisor reported "3 workers done, 40KB
19
+ * reports" when the workers never started. Real workers (those with a present
20
+ * `result`) are unaffected — their `result` is preserved verbatim.
21
+ */
22
+ export declare function synthesizeTaskResults(taskHandles: readonly TaskHandle[], runId: RunId, now?: number): AgentTaskResult[];
23
+ /** Count only the task results that genuinely completed. */
24
+ export declare function countCompletedTasks(taskResults: readonly AgentTaskResult[]): number;
4
25
  export declare class SupervisorAgent extends AbstractAgent<SupervisorAgentConfig, SupervisorAgentResult> {
5
26
  readonly type: "supervisor";
6
27
  constructor(metadata: Omit<AgentMetadata, 'type' | 'capabilities'>);
@@ -1 +1 @@
1
- {"version":3,"file":"SupervisorAgent.d.ts","sourceRoot":"","sources":["../../src/agents/SupervisorAgent.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,yBAAyB,CAAA;AAIhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,qBAAa,eAAgB,SAAQ,aAAa,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAC/F,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAS;gBAEzB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,CAAC;IAa5D,GAAG,CACR,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC;CAyKjC"}
1
+ {"version":3,"file":"SupervisorAgent.d.ts","sourceRoot":"","sources":["../../src/agents/SupervisorAgent.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,KAAK,EACX,UAAU,EACV,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAW,KAAK,EAAU,MAAM,uBAAuB,CAAA;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACpC,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,KAAK,EAAE,KAAK,EACZ,GAAG,GAAE,MAAmB,GACtB,eAAe,EAAE,CAcnB;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAEnF;AAED,qBAAa,eAAgB,SAAQ,aAAa,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAC/F,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAS;gBAEzB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,CAAC;IAa5D,GAAG,CACR,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC;CAuKjC"}
@@ -6,6 +6,41 @@ import { buildCoordinatorTools } from '../tools/coordinator/index.js';
6
6
  import { deriveChildState } from '../types/invocation/index.js';
7
7
  import { ZERO_COST } from '../utils/cost.js';
8
8
  import { AbstractAgent } from './AbstractAgent.js';
9
+ /**
10
+ * Build the authoritative per-task ledger from the gateway's task handles.
11
+ *
12
+ * A handle carries a `result` only when its worker actually produced one. A
13
+ * handle with NO result never produced a verifiable outcome, so it MUST NOT be
14
+ * synthesized as a success: the synthesized status is always the terminal
15
+ * `'failed'`, regardless of the handle's reported `state` (which may itself be
16
+ * `'completed'`).
17
+ *
18
+ * The earlier implementation cast `handle.state` onto the synthesized result's
19
+ * status, letting a worker that ended without a result count toward
20
+ * `completedTasks`. That produced fabricated "done" workers with empty outputs
21
+ * (cowork task 02c5cf2b): the supervisor reported "3 workers done, 40KB
22
+ * reports" when the workers never started. Real workers (those with a present
23
+ * `result`) are unaffected — their `result` is preserved verbatim.
24
+ */
25
+ export function synthesizeTaskResults(taskHandles, runId, now = Date.now()) {
26
+ return taskHandles.map((handle, index) => ({
27
+ agentId: handle.agentId,
28
+ result: handle.result ?? {
29
+ runId,
30
+ status: 'failed',
31
+ usage: { ...EMPTY_TOKEN_USAGE },
32
+ cost: { ...ZERO_COST },
33
+ iterations: 0,
34
+ durationMs: now - handle.createdAt,
35
+ messages: [],
36
+ },
37
+ taskIndex: index,
38
+ }));
39
+ }
40
+ /** Count only the task results that genuinely completed. */
41
+ export function countCompletedTasks(taskResults) {
42
+ return taskResults.filter((t) => t.result.status === 'completed').length;
43
+ }
9
44
  export class SupervisorAgent extends AbstractAgent {
10
45
  type = 'supervisor';
11
46
  constructor(metadata) {
@@ -84,6 +119,10 @@ export class SupervisorAgent extends AbstractAgent {
84
119
  onTaskLaunched: (agentTaskId, meta) => {
85
120
  launchedTasks.set(agentTaskId, meta);
86
121
  },
122
+ // With a resume handler present the coordinator surface gains
123
+ // ask_user_question — the model can park the run on a question
124
+ // routed through the same HITL channel as plan approvals.
125
+ ...(config.resumeHandler ? { resumeHandler: config.resumeHandler } : {}),
87
126
  });
88
127
  const tools = new ToolRegistry();
89
128
  if (config.tools) {
@@ -138,22 +177,16 @@ export class SupervisorAgent extends AbstractAgent {
138
177
  ...(config.resumeHandler ? { resumeHandler: config.resumeHandler } : {}),
139
178
  ...(config.verificationGate ? { verificationGate: config.verificationGate } : {}),
140
179
  ...(config.sandboxProvider ? { sandboxProvider: config.sandboxProvider } : {}),
180
+ // Working-memory / compaction seam (optional; absent => unchanged
181
+ // run path, byte-identical for every existing consumer).
182
+ ...(config.compactionConfig ? { compactionConfig: config.compactionConfig } : {}),
183
+ ...(config.workingMemoryProvider
184
+ ? { workingMemoryProvider: config.workingMemoryProvider }
185
+ : {}),
141
186
  }, listener);
142
187
  const taskHandles = gateway.listTasks();
143
- const taskResults = taskHandles.map((handle, index) => ({
144
- agentId: handle.agentId,
145
- result: handle.result ?? {
146
- runId,
147
- status: handle.state,
148
- usage: { ...EMPTY_TOKEN_USAGE },
149
- cost: { ...ZERO_COST },
150
- iterations: 0,
151
- durationMs: Date.now() - handle.createdAt,
152
- messages: [],
153
- },
154
- taskIndex: index,
155
- }));
156
- const completedTasks = taskResults.filter((t) => t.result.status === 'completed').length;
188
+ const taskResults = synthesizeTaskResults(taskHandles, runId);
189
+ const completedTasks = countCompletedTasks(taskResults);
157
190
  return {
158
191
  runId: run.id,
159
192
  status: run.status === 'completed' ? 'completed' : 'failed',
@@ -1 +1 @@
1
- {"version":3,"file":"SupervisorAgent.js","sourceRoot":"","sources":["../../src/agents/SupervisorAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SupervisorAgent.js","sourceRoot":"","sources":["../../src/agents/SupervisorAgent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=supervisor-ledger.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervisor-ledger.test.d.ts","sourceRoot":"","sources":["../../../src/agents/__tests__/supervisor-ledger.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,131 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { countCompletedTasks, synthesizeTaskResults } from '../SupervisorAgent.js';
3
+ const RUN_ID = 'run-supervisor';
4
+ const NOW = 1_000_000;
5
+ function at(results, index) {
6
+ const entry = results[index];
7
+ if (!entry) {
8
+ throw new Error(`expected a task result at index ${index}, got ${results.length} results`);
9
+ }
10
+ return entry;
11
+ }
12
+ function handle(overrides) {
13
+ return {
14
+ taskId: 'task-1',
15
+ agentId: 'worker-1',
16
+ createdAt: NOW - 5_000,
17
+ ...overrides,
18
+ };
19
+ }
20
+ function completedResult() {
21
+ return {
22
+ runId: 'run-worker',
23
+ status: 'completed',
24
+ usage: {
25
+ promptTokens: 10,
26
+ completionTokens: 20,
27
+ totalTokens: 30,
28
+ cachedTokens: 0,
29
+ cacheWriteTokens: 0,
30
+ },
31
+ cost: {
32
+ inputCostPer1M: 0,
33
+ outputCostPer1M: 0,
34
+ totalCost: 0,
35
+ cacheDiscount: 0,
36
+ },
37
+ iterations: 3,
38
+ durationMs: 4_200,
39
+ messages: [],
40
+ result: 'real worker output',
41
+ };
42
+ }
43
+ describe('supervisor ledger truthfulness', () => {
44
+ describe('synthesizeTaskResults', () => {
45
+ it('synthesizes a FAILED result when a handle has no result, regardless of state', () => {
46
+ // A worker that ended with no result is NOT a success even when the
47
+ // handle reports a terminal 'completed' state — this is the exact
48
+ // fabrication that made the supervisor claim "3 workers done" with
49
+ // empty outputs (cowork task 02c5cf2b).
50
+ const results = synthesizeTaskResults([handle({ state: 'completed', result: undefined })], RUN_ID, NOW);
51
+ expect(results).toHaveLength(1);
52
+ expect(at(results, 0).result.status).toBe('failed');
53
+ expect(at(results, 0).result.status).not.toBe('completed');
54
+ expect(at(results, 0).result.runId).toBe(RUN_ID);
55
+ expect(at(results, 0).result.durationMs).toBe(NOW - (NOW - 5_000));
56
+ });
57
+ it('synthesizes a FAILED result for a genuinely failed handle', () => {
58
+ const results = synthesizeTaskResults([handle({ state: 'failed', result: undefined })], RUN_ID, NOW);
59
+ expect(at(results, 0).result.status).toBe('failed');
60
+ });
61
+ it('synthesizes a FAILED result for a canceled handle with no result', () => {
62
+ const results = synthesizeTaskResults([handle({ state: 'canceled', result: undefined })], RUN_ID, NOW);
63
+ expect(at(results, 0).result.status).toBe('failed');
64
+ });
65
+ it('preserves a present completed result verbatim (real workers unaffected)', () => {
66
+ const real = completedResult();
67
+ const results = synthesizeTaskResults([handle({ state: 'completed', result: real })], RUN_ID, NOW);
68
+ expect(at(results, 0).result).toBe(real);
69
+ expect(at(results, 0).result.status).toBe('completed');
70
+ expect(at(results, 0).result.result).toBe('real worker output');
71
+ });
72
+ it('preserves a present failed result verbatim', () => {
73
+ const failed = { ...completedResult(), status: 'failed' };
74
+ const results = synthesizeTaskResults([handle({ state: 'failed', result: failed })], RUN_ID, NOW);
75
+ expect(at(results, 0).result).toBe(failed);
76
+ expect(at(results, 0).result.status).toBe('failed');
77
+ });
78
+ });
79
+ describe('countCompletedTasks', () => {
80
+ it('excludes an absent-result handle from completedTasks', () => {
81
+ const taskResults = synthesizeTaskResults([
82
+ handle({
83
+ taskId: 'task-a',
84
+ agentId: 'a',
85
+ state: 'completed',
86
+ result: undefined,
87
+ }),
88
+ handle({
89
+ taskId: 'task-b',
90
+ agentId: 'b',
91
+ state: 'completed',
92
+ result: completedResult(),
93
+ }),
94
+ ], RUN_ID, NOW);
95
+ // Two handles, both with handle.state === 'completed', but only the
96
+ // one that actually produced a result counts.
97
+ expect(taskResults).toHaveLength(2);
98
+ expect(countCompletedTasks(taskResults)).toBe(1);
99
+ });
100
+ it('counts every present completed result', () => {
101
+ const taskResults = synthesizeTaskResults([
102
+ handle({
103
+ taskId: 'task-a',
104
+ agentId: 'a',
105
+ state: 'completed',
106
+ result: completedResult(),
107
+ }),
108
+ handle({
109
+ taskId: 'task-b',
110
+ agentId: 'b',
111
+ state: 'completed',
112
+ result: completedResult(),
113
+ }),
114
+ ], RUN_ID, NOW);
115
+ expect(countCompletedTasks(taskResults)).toBe(2);
116
+ });
117
+ it('reports zero completed when no worker produced a result', () => {
118
+ const taskResults = synthesizeTaskResults([
119
+ handle({
120
+ taskId: 'task-a',
121
+ agentId: 'a',
122
+ state: 'completed',
123
+ result: undefined,
124
+ }),
125
+ handle({ taskId: 'task-b', agentId: 'b', state: 'running', result: undefined }),
126
+ ], RUN_ID, NOW);
127
+ expect(countCompletedTasks(taskResults)).toBe(0);
128
+ });
129
+ });
130
+ });
131
+ //# sourceMappingURL=supervisor-ledger.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervisor-ledger.test.js","sourceRoot":"","sources":["../../../src/agents/__tests__/supervisor-ledger.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAI7C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAElF,MAAM,MAAM,GAAG,gBAAyB,CAAA;AACxC,MAAM,GAAG,GAAG,SAAS,CAAA;AAErB,SAAS,EAAE,CAAC,OAA0B,EAAE,KAAa;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,SAAS,OAAO,CAAC,MAAM,UAAU,CAAC,CAAA;IAC3F,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;AAED,SAAS,MAAM,CAAC,SAA0D;IACzE,OAAO;QACN,MAAM,EAAE,QAAkB;QAC1B,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,GAAG,GAAG,KAAK;QACtB,GAAG,SAAS;KACZ,CAAA;AACF,CAAC;AAED,SAAS,eAAe;IACvB,OAAO;QACN,KAAK,EAAE,YAAqB;QAC5B,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE;YACN,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;SACnB;QACD,IAAI,EAAE;YACL,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;YAClB,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC;SAChB;QACD,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,oBAAoB;KAC5B,CAAA;AACF,CAAC;AAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC/C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;YACvF,oEAAoE;YACpE,kEAAkE;YAClE,mEAAmE;YACnE,wCAAwC;YACxC,MAAM,OAAO,GAAG,qBAAqB,CACpC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EACnD,MAAM,EACN,GAAG,CACH,CAAA;YAED,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC1D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAChD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACpE,MAAM,OAAO,GAAG,qBAAqB,CACpC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAChD,MAAM,EACN,GAAG,CACH,CAAA;YAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC3E,MAAM,OAAO,GAAG,qBAAqB,CACpC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAClD,MAAM,EACN,GAAG,CACH,CAAA;YAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YAClF,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;YAC9B,MAAM,OAAO,GAAG,qBAAqB,CACpC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAC9C,MAAM,EACN,GAAG,CACH,CAAA;YAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACtD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACrD,MAAM,MAAM,GAAoB,EAAE,GAAG,eAAe,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;YAC1E,MAAM,OAAO,GAAG,qBAAqB,CACpC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAC7C,MAAM,EACN,GAAG,CACH,CAAA;YAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC/D,MAAM,WAAW,GAAG,qBAAqB,CACxC;gBACC,MAAM,CAAC;oBACN,MAAM,EAAE,QAAkB;oBAC1B,OAAO,EAAE,GAAG;oBACZ,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAS;iBACjB,CAAC;gBACF,MAAM,CAAC;oBACN,MAAM,EAAE,QAAkB;oBAC1B,OAAO,EAAE,GAAG;oBACZ,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,eAAe,EAAE;iBACzB,CAAC;aACF,EACD,MAAM,EACN,GAAG,CACH,CAAA;YAED,oEAAoE;YACpE,8CAA8C;YAC9C,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAChD,MAAM,WAAW,GAAG,qBAAqB,CACxC;gBACC,MAAM,CAAC;oBACN,MAAM,EAAE,QAAkB;oBAC1B,OAAO,EAAE,GAAG;oBACZ,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,eAAe,EAAE;iBACzB,CAAC;gBACF,MAAM,CAAC;oBACN,MAAM,EAAE,QAAkB;oBAC1B,OAAO,EAAE,GAAG;oBACZ,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,eAAe,EAAE;iBACzB,CAAC;aACF,EACD,MAAM,EACN,GAAG,CACH,CAAA;YAED,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YAClE,MAAM,WAAW,GAAG,qBAAqB,CACxC;gBACC,MAAM,CAAC;oBACN,MAAM,EAAE,QAAkB;oBAC1B,OAAO,EAAE,GAAG;oBACZ,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAS;iBACjB,CAAC;gBACF,MAAM,CAAC,EAAE,MAAM,EAAE,QAAkB,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;aACzF,EACD,MAAM,EACN,GAAG,CACH,CAAA;YAED,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/bridge/a2a/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EAGd,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAgLzD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAO3F;AAED,uCAAuC;AACvC,eAAO,MAAM,oBAAoB,yBAAmB,CAAA"}
1
+ {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/bridge/a2a/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EAGd,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAmLzD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAO3F;AAED,uCAAuC;AACvC,eAAO,MAAM,oBAAoB,yBAAmB,CAAA"}
@@ -30,6 +30,8 @@ const MAPPING = {
30
30
  role: 'agent',
31
31
  parts: [{ kind: 'text', text: e.error }],
32
32
  }),
33
+ // Capability degradation is host-facing diagnostics, not A2A task state.
34
+ capability_warning: null,
33
35
  iteration_started: (e, ctx) => statusEvent(e.runId, 'running', false, ctx, {
34
36
  role: 'agent',
35
37
  parts: [{ kind: 'text', text: `Iteration ${e.iteration} started` }],
@@ -1 +1 @@
1
- {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/bridge/a2a/mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/bridge/a2a/mapper.ts"],"names":[],"mappings":"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"}