@namzu/sdk 7.0.0 → 9.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 (206) hide show
  1. package/CHANGELOG.md +652 -0
  2. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  3. package/dist/agents/SupervisorAgent.js +186 -163
  4. package/dist/agents/SupervisorAgent.js.map +1 -1
  5. package/dist/agents/__tests__/a-policy-nobody-can-select.test.d.ts +2 -0
  6. package/dist/agents/__tests__/a-policy-nobody-can-select.test.d.ts.map +1 -0
  7. package/dist/agents/__tests__/a-policy-nobody-can-select.test.js +177 -0
  8. package/dist/agents/__tests__/a-policy-nobody-can-select.test.js.map +1 -0
  9. package/dist/agents/__tests__/supervisor-inbox-scope.test.d.ts +2 -0
  10. package/dist/agents/__tests__/supervisor-inbox-scope.test.d.ts.map +1 -0
  11. package/dist/agents/__tests__/supervisor-inbox-scope.test.js +125 -0
  12. package/dist/agents/__tests__/supervisor-inbox-scope.test.js.map +1 -0
  13. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  14. package/dist/bridge/a2a/mapper.js +4 -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 +24 -0
  18. package/dist/bridge/sse/mapper.js.map +1 -1
  19. package/dist/contracts/api.d.ts +1 -1
  20. package/dist/contracts/api.d.ts.map +1 -1
  21. package/dist/gateway/__tests__/a-knob-nobody-can-turn.test.d.ts +2 -0
  22. package/dist/gateway/__tests__/a-knob-nobody-can-turn.test.d.ts.map +1 -0
  23. package/dist/gateway/__tests__/a-knob-nobody-can-turn.test.js +114 -0
  24. package/dist/gateway/__tests__/a-knob-nobody-can-turn.test.js.map +1 -0
  25. package/dist/gateway/__tests__/completion-inbox.test.js +292 -2
  26. package/dist/gateway/__tests__/completion-inbox.test.js.map +1 -1
  27. package/dist/gateway/completion-inbox.d.ts +94 -6
  28. package/dist/gateway/completion-inbox.d.ts.map +1 -1
  29. package/dist/gateway/completion-inbox.js +235 -15
  30. package/dist/gateway/completion-inbox.js.map +1 -1
  31. package/dist/gateway/local.d.ts.map +1 -1
  32. package/dist/gateway/local.js +19 -6
  33. package/dist/gateway/local.js.map +1 -1
  34. package/dist/manager/agent/__tests__/lifecycle.test.js +56 -0
  35. package/dist/manager/agent/__tests__/lifecycle.test.js.map +1 -1
  36. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  37. package/dist/manager/agent/lifecycle.js +62 -33
  38. package/dist/manager/agent/lifecycle.js.map +1 -1
  39. package/dist/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.d.ts +2 -0
  40. package/dist/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.d.ts.map +1 -0
  41. package/dist/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.js +73 -0
  42. package/dist/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.js.map +1 -0
  43. package/dist/manager/plan/lifecycle.d.ts +48 -0
  44. package/dist/manager/plan/lifecycle.d.ts.map +1 -1
  45. package/dist/manager/plan/lifecycle.js +56 -0
  46. package/dist/manager/plan/lifecycle.js.map +1 -1
  47. package/dist/manager/run/persistence.d.ts +8 -0
  48. package/dist/manager/run/persistence.d.ts.map +1 -1
  49. package/dist/manager/run/persistence.js +12 -0
  50. package/dist/manager/run/persistence.js.map +1 -1
  51. package/dist/run/reporter.d.ts.map +1 -1
  52. package/dist/run/reporter.js +11 -0
  53. package/dist/run/reporter.js.map +1 -1
  54. package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.d.ts +2 -0
  55. package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.d.ts.map +1 -0
  56. package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.js +142 -0
  57. package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.js.map +1 -0
  58. package/dist/runtime/query/__tests__/completion-notification.test.js +414 -32
  59. package/dist/runtime/query/__tests__/completion-notification.test.js.map +1 -1
  60. package/dist/runtime/query/__tests__/context-size-on-the-wire.test.d.ts +2 -0
  61. package/dist/runtime/query/__tests__/context-size-on-the-wire.test.d.ts.map +1 -0
  62. package/dist/runtime/query/__tests__/context-size-on-the-wire.test.js +100 -0
  63. package/dist/runtime/query/__tests__/context-size-on-the-wire.test.js.map +1 -0
  64. package/dist/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.d.ts +2 -0
  65. package/dist/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.d.ts.map +1 -0
  66. package/dist/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.js +62 -0
  67. package/dist/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.js.map +1 -0
  68. package/dist/runtime/query/events.d.ts.map +1 -1
  69. package/dist/runtime/query/events.js +5 -0
  70. package/dist/runtime/query/events.js.map +1 -1
  71. package/dist/runtime/query/guard.d.ts +28 -0
  72. package/dist/runtime/query/guard.d.ts.map +1 -1
  73. package/dist/runtime/query/guard.js +31 -0
  74. package/dist/runtime/query/guard.js.map +1 -1
  75. package/dist/runtime/query/iteration/__tests__/settle-grace.test.d.ts +2 -0
  76. package/dist/runtime/query/iteration/__tests__/settle-grace.test.d.ts.map +1 -0
  77. package/dist/runtime/query/iteration/__tests__/settle-grace.test.js +226 -0
  78. package/dist/runtime/query/iteration/__tests__/settle-grace.test.js.map +1 -0
  79. package/dist/runtime/query/iteration/index.d.ts +92 -0
  80. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  81. package/dist/runtime/query/iteration/index.js +814 -566
  82. package/dist/runtime/query/iteration/index.js.map +1 -1
  83. package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.d.ts +2 -0
  84. package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.d.ts.map +1 -0
  85. package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.js +95 -0
  86. package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.js.map +1 -0
  87. package/dist/runtime/query/iteration/phases/compaction.d.ts +34 -0
  88. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  89. package/dist/runtime/query/iteration/phases/compaction.js +61 -4
  90. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  91. package/dist/store/task/disk.d.ts.map +1 -1
  92. package/dist/store/task/disk.js +14 -0
  93. package/dist/store/task/disk.js.map +1 -1
  94. package/dist/store/task/memory.d.ts.map +1 -1
  95. package/dist/store/task/memory.js +14 -0
  96. package/dist/store/task/memory.js.map +1 -1
  97. package/dist/tools/__tests__/untrusted-envelope.test.js +16 -0
  98. package/dist/tools/__tests__/untrusted-envelope.test.js.map +1 -1
  99. package/dist/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.d.ts +2 -0
  100. package/dist/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.d.ts.map +1 -0
  101. package/dist/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.js +101 -0
  102. package/dist/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.js.map +1 -0
  103. package/dist/tools/coordinator/__tests__/completion-delivery.test.js +117 -0
  104. package/dist/tools/coordinator/__tests__/completion-delivery.test.js.map +1 -1
  105. package/dist/tools/coordinator/__tests__/task-list.test.js +57 -0
  106. package/dist/tools/coordinator/__tests__/task-list.test.js.map +1 -1
  107. package/dist/tools/coordinator/__tests__/the-plan-a-human-approves.test.d.ts +2 -0
  108. package/dist/tools/coordinator/__tests__/the-plan-a-human-approves.test.d.ts.map +1 -0
  109. package/dist/tools/coordinator/__tests__/the-plan-a-human-approves.test.js +99 -0
  110. package/dist/tools/coordinator/__tests__/the-plan-a-human-approves.test.js.map +1 -0
  111. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  112. package/dist/tools/coordinator/agent.js +17 -23
  113. package/dist/tools/coordinator/agent.js.map +1 -1
  114. package/dist/tools/coordinator/index.d.ts.map +1 -1
  115. package/dist/tools/coordinator/index.js +142 -14
  116. package/dist/tools/coordinator/index.js.map +1 -1
  117. package/dist/tools/coordinator/outcome.d.ts +60 -0
  118. package/dist/tools/coordinator/outcome.d.ts.map +1 -0
  119. package/dist/tools/coordinator/outcome.js +68 -0
  120. package/dist/tools/coordinator/outcome.js.map +1 -0
  121. package/dist/tools/untrusted-envelope.d.ts.map +1 -1
  122. package/dist/tools/untrusted-envelope.js +9 -1
  123. package/dist/tools/untrusted-envelope.js.map +1 -1
  124. package/dist/types/agent/gateway.d.ts +37 -2
  125. package/dist/types/agent/gateway.d.ts.map +1 -1
  126. package/dist/types/agent/supervisor.d.ts +38 -1
  127. package/dist/types/agent/supervisor.d.ts.map +1 -1
  128. package/dist/types/plan/index.d.ts +26 -0
  129. package/dist/types/plan/index.d.ts.map +1 -1
  130. package/dist/types/provider/interface.d.ts +35 -0
  131. package/dist/types/provider/interface.d.ts.map +1 -1
  132. package/dist/types/run/entity.d.ts +16 -0
  133. package/dist/types/run/entity.d.ts.map +1 -1
  134. package/dist/types/run/events.d.ts +92 -0
  135. package/dist/types/run/events.d.ts.map +1 -1
  136. package/dist/types/run/events.js.map +1 -1
  137. package/dist/types/run/prepare-step.d.ts +17 -2
  138. package/dist/types/run/prepare-step.d.ts.map +1 -1
  139. package/dist/types/task/index.d.ts +19 -1
  140. package/dist/types/task/index.d.ts.map +1 -1
  141. package/dist/types/task/index.js +10 -1
  142. package/dist/types/task/index.js.map +1 -1
  143. package/dist/types/verification/index.d.ts +98 -0
  144. package/dist/types/verification/index.d.ts.map +1 -1
  145. package/dist/types/verification/index.js +10 -0
  146. package/dist/types/verification/index.js.map +1 -1
  147. package/dist/verification/__tests__/argument-pattern.test.d.ts +2 -0
  148. package/dist/verification/__tests__/argument-pattern.test.d.ts.map +1 -0
  149. package/dist/verification/__tests__/argument-pattern.test.js +122 -0
  150. package/dist/verification/__tests__/argument-pattern.test.js.map +1 -0
  151. package/dist/verification/gate.d.ts.map +1 -1
  152. package/dist/verification/gate.js +44 -0
  153. package/dist/verification/gate.js.map +1 -1
  154. package/dist/verification/rules.d.ts.map +1 -1
  155. package/dist/verification/rules.js +27 -0
  156. package/dist/verification/rules.js.map +1 -1
  157. package/package.json +1 -1
  158. package/src/agents/SupervisorAgent.ts +189 -167
  159. package/src/agents/__tests__/a-policy-nobody-can-select.test.ts +202 -0
  160. package/src/agents/__tests__/supervisor-inbox-scope.test.ts +149 -0
  161. package/src/bridge/a2a/mapper.ts +4 -0
  162. package/src/bridge/sse/mapper.ts +25 -0
  163. package/src/contracts/api.ts +1 -0
  164. package/src/gateway/__tests__/a-knob-nobody-can-turn.test.ts +139 -0
  165. package/src/gateway/__tests__/completion-inbox.test.ts +348 -2
  166. package/src/gateway/completion-inbox.ts +248 -16
  167. package/src/gateway/local.ts +19 -7
  168. package/src/manager/agent/__tests__/lifecycle.test.ts +74 -0
  169. package/src/manager/agent/lifecycle.ts +72 -42
  170. package/src/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.ts +88 -0
  171. package/src/manager/plan/lifecycle.ts +61 -0
  172. package/src/manager/run/persistence.ts +12 -0
  173. package/src/run/reporter.ts +12 -0
  174. package/src/runtime/query/__tests__/completion-does-not-erase-the-answer.test.ts +163 -0
  175. package/src/runtime/query/__tests__/completion-notification.test.ts +486 -34
  176. package/src/runtime/query/__tests__/context-size-on-the-wire.test.ts +122 -0
  177. package/src/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.ts +79 -0
  178. package/src/runtime/query/events.ts +5 -0
  179. package/src/runtime/query/guard.ts +32 -0
  180. package/src/runtime/query/iteration/__tests__/settle-grace.test.ts +265 -0
  181. package/src/runtime/query/iteration/index.ts +902 -636
  182. package/src/runtime/query/iteration/phases/__tests__/compaction-declined.test.ts +124 -0
  183. package/src/runtime/query/iteration/phases/compaction.ts +83 -10
  184. package/src/store/task/disk.ts +15 -0
  185. package/src/store/task/memory.ts +15 -0
  186. package/src/tools/__tests__/untrusted-envelope.test.ts +23 -0
  187. package/src/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.ts +133 -0
  188. package/src/tools/coordinator/__tests__/completion-delivery.test.ts +147 -0
  189. package/src/tools/coordinator/__tests__/task-list.test.ts +72 -0
  190. package/src/tools/coordinator/__tests__/the-plan-a-human-approves.test.ts +121 -0
  191. package/src/tools/coordinator/agent.ts +17 -25
  192. package/src/tools/coordinator/index.ts +155 -18
  193. package/src/tools/coordinator/outcome.ts +70 -0
  194. package/src/tools/untrusted-envelope.ts +9 -1
  195. package/src/types/agent/gateway.ts +37 -2
  196. package/src/types/agent/supervisor.ts +40 -1
  197. package/src/types/plan/index.ts +29 -0
  198. package/src/types/provider/interface.ts +39 -0
  199. package/src/types/run/entity.ts +17 -0
  200. package/src/types/run/events.ts +92 -0
  201. package/src/types/run/prepare-step.ts +17 -2
  202. package/src/types/task/index.ts +22 -3
  203. package/src/types/verification/index.ts +61 -0
  204. package/src/verification/__tests__/argument-pattern.test.ts +158 -0
  205. package/src/verification/gate.ts +45 -0
  206. package/src/verification/rules.ts +28 -0
@@ -1,3 +1,26 @@
1
+ import { wrapUntrusted } from '../tools/untrusted-envelope.js';
2
+ import { isTerminalAgentTaskState } from '../types/agent/task.js';
3
+ import { getRootLogger } from '../utils/logger.js';
4
+ /**
5
+ * How many unclaimed announcements may wait for an owner at once.
6
+ *
7
+ * Derived from what it has to survive rather than picked. An entry lives here
8
+ * only between a gateway announcing a task and this run saying whether the
9
+ * task is its own — one microtask, for a launch made through `create_task`.
10
+ * The number that has to fit is therefore the largest batch of launches that
11
+ * can be in flight together before any of them is claimed: one assistant turn
12
+ * of `create_task` blocks, which this codebase's own tool description
13
+ * illustrates as "fan out 8 specialists" and which a provider bounds at a few
14
+ * dozen tool_use blocks per response. 32 clears that with room, and a batch
15
+ * bigger than it is announced rather than silently truncated.
16
+ *
17
+ * The ceiling is what stops this being the retention half of the leak it
18
+ * exists beside: on a gateway shared with other runs, every foreign completion
19
+ * lands here and is never claimed, and each one holds a whole worker result —
20
+ * kilobytes at least. Bounded, the cost is 32 handles; unbounded, it is every
21
+ * result every other run on that gateway ever produced.
22
+ */
23
+ const UNOWNED_BUFFER_LIMIT = 32;
1
24
  /**
2
25
  * Completions that finished with nobody left to hear them.
3
26
  *
@@ -34,8 +57,42 @@ export class CompletionInbox {
34
57
  claimed = new Set();
35
58
  /** Launched with nothing waiting on it, and not settled yet. */
36
59
  outstanding = new Set();
60
+ /**
61
+ * Tasks THIS run launched.
62
+ *
63
+ * `onTaskCompleted` is a broadcast and `TaskHandle` carries no run id, so
64
+ * a gateway shared between two supervisors hands every completion to both
65
+ * of their inboxes. Measured: with two inboxes on one gateway, the run
66
+ * that launched nothing drained the other run's task and would have been
67
+ * told "a task you launched has finished" — a claim that was false, over
68
+ * another run's worker output, in a transcript whose model then has to
69
+ * account for it.
70
+ *
71
+ * A shared gateway is not an abuse of the API: `SupervisorAgentConfig`
72
+ * takes one, and a host that owns a gateway naturally reuses it.
73
+ */
74
+ ours = new Set();
75
+ /**
76
+ * Announcements that arrived before anyone said whose task it was.
77
+ *
78
+ * `gateway.createTask` resolves one microtask before its caller can name
79
+ * the task, and a worker that finishes inside that window is announced
80
+ * first — `LocalTaskGateway` attaches its completion continuation before
81
+ * it returns the handle, so the ordering is guaranteed to be reachable
82
+ * rather than merely possible. Dropping an unowned announcement outright
83
+ * would therefore turn the leak fix into a LOST RESULT for exactly the
84
+ * fast completions the inbox exists to catch.
85
+ *
86
+ * So they wait here, and ownership may be claimed retroactively. What
87
+ * makes that safe rather than a second leak is the bound: on a gateway
88
+ * shared with other runs this fills with completions that will never be
89
+ * claimed, each holding a whole worker result.
90
+ */
91
+ unowned = new Map();
37
92
  arrivals = new Set();
38
93
  detach;
94
+ /** Kept for {@link launched}: the source of truth about a task's state. */
95
+ gateway;
39
96
  /**
40
97
  * Start listening.
41
98
  *
@@ -47,7 +104,16 @@ export class CompletionInbox {
47
104
  attach(gateway) {
48
105
  if (this.detach)
49
106
  return this.detach;
107
+ this.gateway = gateway;
50
108
  this.detach = gateway.onTaskCompleted((handle) => {
109
+ // Not known to be ours — either another run's worker on a shared
110
+ // gateway, or ours announced before the launch could be recorded.
111
+ // The two are indistinguishable here, so it waits rather than
112
+ // being delivered or dropped. See {@link unowned}.
113
+ if (!this.ours.has(handle.taskId)) {
114
+ this.hold(handle);
115
+ return;
116
+ }
51
117
  // A completion claimed before it was announced — a tool that
52
118
  // finished its wait faster than the listener ran — is already
53
119
  // delivered. Nothing to queue.
@@ -60,16 +126,85 @@ export class CompletionInbox {
60
126
  });
61
127
  return this.detach;
62
128
  }
129
+ /**
130
+ * Park an announcement nobody has claimed yet, evicting the oldest if the
131
+ * buffer is full.
132
+ *
133
+ * An eviction is logged at WARN, and that is not decoration. If the entry
134
+ * turned out to be ours, its completion has just been dropped — the
135
+ * original defect, wearing the cap as a disguise — and the only evidence
136
+ * would otherwise be an absence, which is precisely the shape of failure
137
+ * this whole session has been closing. A reader who sees this line knows
138
+ * where to look.
139
+ */
140
+ hold(handle) {
141
+ if (this.unowned.size >= UNOWNED_BUFFER_LIMIT && !this.unowned.has(handle.taskId)) {
142
+ const oldest = this.unowned.keys().next();
143
+ if (!oldest.done) {
144
+ this.unowned.delete(oldest.value);
145
+ getRootLogger()
146
+ .child({ component: 'CompletionInbox' })
147
+ .warn("Unclaimed completion buffer is full — dropped the oldest. If that task was this run's, its result is now unreachable; raise UNOWNED_BUFFER_LIMIT or launch fewer tasks per turn.", { dropped: oldest.value, limit: UNOWNED_BUFFER_LIMIT });
148
+ }
149
+ }
150
+ this.unowned.set(handle.taskId, handle);
151
+ }
152
+ /**
153
+ * Say that this run launched the task.
154
+ *
155
+ * Required before anything about the task can reach this inbox — see
156
+ * {@link ours}. Every launch says it, whether or not something is waiting
157
+ * on the result, because the case the inbox exists for is precisely the
158
+ * one where the waiter gave up.
159
+ *
160
+ * **The late-announcement branches are not defensive.**
161
+ * `gateway.createTask` resolves one microtask before its caller can say
162
+ * who owns the task, and a worker that finishes inside that window is
163
+ * announced first — the same ordering that used to leave a permanent
164
+ * pending flag. Without recovery the ownership check would turn that race
165
+ * from a stale flag into a lost result.
166
+ *
167
+ * There are two, and the second is the safety net for the first. The
168
+ * buffer ({@link unowned}) needs nothing from the gateway beyond the
169
+ * announcement it already made. Asking `getTask` covers the case the
170
+ * buffer cannot — an announcement evicted under load — but it rests on a
171
+ * gateway still knowing about a task it has just settled, which is a
172
+ * property of the implementations here rather than of the `TaskGateway`
173
+ * contract, and `getTask`'s own docs now say so.
174
+ */
175
+ launched(taskId) {
176
+ if (this.ours.has(taskId))
177
+ return;
178
+ this.ours.add(taskId);
179
+ if (this.claimed.has(taskId) || this.unheard.has(taskId))
180
+ return;
181
+ const parked = this.unowned.get(taskId);
182
+ if (parked) {
183
+ this.unowned.delete(taskId);
184
+ this.unheard.set(taskId, parked);
185
+ for (const wake of [...this.arrivals])
186
+ wake();
187
+ return;
188
+ }
189
+ const settled = this.gateway?.getTask(taskId);
190
+ if (!settled || !isTerminalAgentTaskState(settled.state))
191
+ return;
192
+ this.unheard.set(taskId, settled);
193
+ for (const wake of [...this.arrivals])
194
+ wake();
195
+ }
63
196
  /**
64
197
  * Say that a task was launched with nothing waiting on it.
65
198
  *
66
- * Without this the inbox can only see completions that have already
67
- * happened, and a run whose supervisor launched a background worker and
68
- * then answered would settle while the worker was still going — throwing
69
- * away the very result the launch existed to produce. Knowing a task is
70
- * outstanding is what lets the loop hold the run open for it.
199
+ * {@link launched} plus the statement that no call will deliver the
200
+ * result. Without the second half the inbox can only see completions that
201
+ * have already happened, and a run whose supervisor launched a background
202
+ * worker and then answered would settle while the worker was still going
203
+ * throwing away the very result the launch existed to produce. Knowing a
204
+ * task is outstanding is what lets the loop hold the run open for it.
71
205
  */
72
206
  expect(taskId) {
207
+ this.launched(taskId);
73
208
  if (this.claimed.has(taskId))
74
209
  return;
75
210
  this.outstanding.add(taskId);
@@ -122,6 +257,16 @@ export class CompletionInbox {
122
257
  get hasUnheard() {
123
258
  return this.unheard.size > 0;
124
259
  }
260
+ /**
261
+ * Tasks this run launched that are still running.
262
+ *
263
+ * Read when a run ends, so it can say which work it walked away from.
264
+ * Nothing here is cancelled by being read — the ids are a statement, and
265
+ * what to do about them is the host's call.
266
+ */
267
+ get outstandingTaskIds() {
268
+ return [...this.outstanding];
269
+ }
125
270
  /**
126
271
  * Take every unheard completion, leaving the inbox empty.
127
272
  *
@@ -133,8 +278,22 @@ export class CompletionInbox {
133
278
  return [];
134
279
  const handles = [...this.unheard.values()];
135
280
  this.unheard.clear();
136
- for (const handle of handles)
281
+ for (const handle of handles) {
137
282
  this.claimed.add(handle.taskId);
283
+ // A delivered result is not pending WORK, and `outstanding` can
284
+ // still be holding this id — the listener clears it, but only if
285
+ // the announcement came AFTER the launching tool said `expect`.
286
+ // The other order is reachable: `expect` runs one microtask after
287
+ // `gateway.createTask` resolves, and the gateway's own completion
288
+ // callback can win that race for a task that finished fast. Then
289
+ // `expect` re-adds an id the listener had nothing to remove, and
290
+ // nothing else ever takes it off — so `hasPendingWork` stayed true
291
+ // for the rest of the run and every attempt to settle paid the
292
+ // full grace period waiting for a result already in the transcript.
293
+ //
294
+ // Symmetric with `claim`, which clears it for the same reason.
295
+ this.outstanding.delete(handle.taskId);
296
+ }
138
297
  return handles;
139
298
  }
140
299
  /**
@@ -168,12 +327,25 @@ export class CompletionInbox {
168
327
  for (const wake of [...this.arrivals])
169
328
  wake();
170
329
  }
171
- /** Stop listening. Safe to call more than once. */
330
+ /**
331
+ * Stop listening. Safe to call more than once.
332
+ *
333
+ * A run that ends without this leaves its listener on the gateway
334
+ * forever. On a gateway the host reuses that is measurable — three
335
+ * sequential runs left three live subscriptions, each still holding its
336
+ * run's handles — and the listener set only grows. Ownership stops a
337
+ * retained listener from DELIVERING another run's work; closing is what
338
+ * stops it existing.
339
+ */
172
340
  close() {
173
341
  this.detach?.();
174
342
  this.detach = undefined;
343
+ this.gateway = undefined;
175
344
  this.unheard.clear();
176
345
  this.outstanding.clear();
346
+ this.ours.clear();
347
+ this.claimed.clear();
348
+ this.unowned.clear();
177
349
  // Release anyone still waiting. A closed inbox would otherwise hold
178
350
  // them to their own deadline for a completion that can no longer come.
179
351
  for (const wake of [...this.arrivals])
@@ -183,6 +355,28 @@ export class CompletionInbox {
183
355
  }
184
356
  /** How much of a worker's output rides in the notification itself. */
185
357
  const NOTIFICATION_OUTPUT_LIMIT = 4_000;
358
+ const NOTIFICATION_DELIMITER = /task-notification/gi;
359
+ /**
360
+ * Defang this file's own delimiter inside a worker's text.
361
+ *
362
+ * Without it a worker whose output contains `</task-notification>` closes the
363
+ * block early, and everything it wrote after that sits OUTSIDE the boundary —
364
+ * reading as ordinary transcript rather than as a delegate's material.
365
+ * Measured before the fix: two closing tags in one notification, with
366
+ * attacker-controlled text between them.
367
+ *
368
+ * The replacement swaps the hyphen for an underscore rather than appending a
369
+ * suffix, for the reason `neutralizeEnvelopeDelimiter` records: a replacement
370
+ * that still CONTAINS the token is found again by a second pass or by any
371
+ * looser matcher downstream. `task_notification` shares no substring with the
372
+ * real delimiter while staying legible.
373
+ *
374
+ * The nested `<namzu-untrusted>` block defangs its own delimiter; these two
375
+ * patterns are disjoint, so the order they run in does not matter.
376
+ */
377
+ function neutralizeNotificationDelimiter(content) {
378
+ return content.replace(NOTIFICATION_DELIMITER, 'task_notification');
379
+ }
186
380
  /**
187
381
  * The message a supervisor reads when a worker it stopped waiting for
188
382
  * finishes.
@@ -200,20 +394,46 @@ export function formatCompletionNotification(handles) {
200
394
  const blocks = handles.map((handle) => {
201
395
  const durationMs = handle.completedAt ? handle.completedAt - handle.createdAt : undefined;
202
396
  const output = handle.result?.result ?? handle.result?.lastError ?? '';
203
- const truncated = output.length > NOTIFICATION_OUTPUT_LIMIT
204
- ? // `wait_for_task`, not `agent_task_list` the listing takes only a
205
- // state filter, so an instruction to call it "with task_id" named
206
- // a parameter that does not exist and could not be followed. On an
207
- // already-finished task the wait returns immediately.
208
- `${output.slice(0, NOTIFICATION_OUTPUT_LIMIT)}\n… truncated. Call wait_for_task with task_id "${handle.taskId}" for the full output.`
209
- : output;
397
+ const overLimit = output.length > NOTIFICATION_OUTPUT_LIMIT;
398
+ const shown = overLimit ? output.slice(0, NOTIFICATION_OUTPUT_LIMIT) : output;
399
+ // Framed for the same reason the blocking `create_task` frames its
400
+ // return value, and this path is the one that had nothing. A delegated
401
+ // worker is the component most likely to have consumed material nobody
402
+ // in this run authored it was told to read and report, and it ran
403
+ // `read`, `grep`, `fetch` over whatever it found — and its text lands
404
+ // in a parent that typically holds the broader tool grant. The same
405
+ // bytes were being wrapped on one path and pasted bare on this one.
406
+ //
407
+ // The metadata above stays OUTSIDE the envelope: the task id, the agent
408
+ // and the state are this kernel's own statements, and framing them as
409
+ // untrusted material would tell the model to discount the only part of
410
+ // the message it can rely on.
411
+ const body = shown.length > 0
412
+ ? wrapUntrusted({
413
+ kind: 'agent-result',
414
+ attributes: { agent: handle.agentId, task: handle.taskId },
415
+ provenance: `This is the output of the delegated agent "${handle.agentId}", not this agent's own work.`,
416
+ }, neutralizeNotificationDelimiter(shown))
417
+ : '(the task produced no output)';
210
418
  const lines = [
211
419
  `task_id: ${handle.taskId}`,
212
420
  `agent: ${handle.agentId}`,
213
421
  `state: ${handle.state}`,
214
422
  ...(durationMs !== undefined ? [`duration_ms: ${durationMs}`] : []),
215
423
  '',
216
- truncated.length > 0 ? truncated : '(the task produced no output)',
424
+ body,
425
+ // Outside the envelope, deliberately: this sentence is an
426
+ // instruction from the kernel about how to get the rest, and inside
427
+ // the envelope the model has just been told not to treat the
428
+ // contents as instructions.
429
+ //
430
+ // `wait_for_task`, not `agent_task_list` — the listing takes only a
431
+ // state filter, so an instruction to call it "with task_id" named a
432
+ // parameter that does not exist and could not be followed. On an
433
+ // already-finished task the wait returns immediately.
434
+ ...(overLimit
435
+ ? [`… truncated. Call wait_for_task with task_id "${handle.taskId}" for the full output.`]
436
+ : []),
217
437
  ];
218
438
  return `<task-notification>\n${lines.join('\n')}\n</task-notification>`;
219
439
  });
@@ -1 +1 @@
1
- {"version":3,"file":"completion-inbox.js","sourceRoot":"","sources":["../../src/gateway/completion-inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion-inbox.js","sourceRoot":"","sources":["../../src/gateway/completion-inbox.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/gateway/local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EACX,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAI9D,qBAAa,gBAAiB,YAAW,WAAW;IACnD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,cAAc,CAAyB;IAE/C,OAAO,CAAC,WAAW,CAAC,CAA2E;IAE/F,OAAO,CAAC,mBAAmB,CAA+C;IAE1E;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc,CAAqC;IAE3D,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsC;gBAGvE,YAAY,EAAE,oBAAoB,EAClC,WAAW,EAAE,gBAAgB,EAC7B,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,WAAW,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,sBAAsB,GAAG,gBAAgB,CAAC,EACvF,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;KAAE;IAWpD,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsEjE;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kBAAkB;IA0BpB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAShD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAK/C;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrC,SAAS,IAAI,UAAU,EAAE;IAgBzB;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAO9D,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;CAMnE"}
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/gateway/local.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EACX,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAI9D,qBAAa,gBAAiB,YAAW,WAAW;IACnD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,cAAc,CAAyB;IAE/C,OAAO,CAAC,WAAW,CAAC,CAA2E;IAE/F,OAAO,CAAC,mBAAmB,CAA+C;IAE1E;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc,CAAqC;IAE3D,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsC;gBAGvE,YAAY,EAAE,oBAAoB,EAClC,WAAW,EAAE,gBAAgB,EAC7B,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,WAAW,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,sBAAsB,GAAG,gBAAgB,CAAC,EACvF,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;KAAE;IAWpD,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAqFjE;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kBAAkB;IA0BpB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAShD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAK/C;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrC,SAAS,IAAI,UAAU,EAAE;IAgBzB;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAO9D,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;CAMnE"}
@@ -1,3 +1,4 @@
1
+ import { taskFailed } from '../tools/coordinator/outcome.js';
1
2
  import { createUserMessage } from '../types/message/index.js';
2
3
  import { toErrorMessage } from '../utils/error.js';
3
4
  import { getRootLogger } from '../utils/logger.js';
@@ -50,10 +51,25 @@ export class LocalTaskGateway {
50
51
  tenantId: this.taskContext.tenantId,
51
52
  projectId: this.taskContext.projectId,
52
53
  parentActor: this.taskContext.parentActor,
53
- // Hang the child run off the span the caller supplied, so a
54
+ // The caller's overrides, plus the span the caller supplied so a
54
55
  // delegated run joins the trace it belongs to instead of
55
56
  // starting its own root.
56
- ...(options.parentSpan ? { configOverrides: { parentSpan: options.parentSpan } } : {}),
57
+ //
58
+ // `options.configOverrides` used to be dropped here: this built
59
+ // a fresh object from `parentSpan` and never looked at the
60
+ // field, so a caller pinning a child to a cheaper model got the
61
+ // agent's default and no sign anything had been ignored. The
62
+ // dedicated `parentSpan` option is applied last because it is
63
+ // the specific field for that job — a caller who sets both is
64
+ // saying the same thing twice, and the named one is the answer.
65
+ ...(options.configOverrides || options.parentSpan
66
+ ? {
67
+ configOverrides: {
68
+ ...options.configOverrides,
69
+ ...(options.parentSpan ? { parentSpan: options.parentSpan } : {}),
70
+ },
71
+ }
72
+ : {}),
57
73
  },
58
74
  // The budget tracker is SHARED on purpose and must not be cloned.
59
75
  // `AgentManager.spawn` debits it (`remaining -= allocatedTokens`)
@@ -118,7 +134,7 @@ export class LocalTaskGateway {
118
134
  applySiblingPolicy(finished) {
119
135
  if (this.siblingFailurePolicy !== 'cancel-siblings')
120
136
  return;
121
- if (!hasFailed(finished))
137
+ if (!taskFailed(finished))
122
138
  return;
123
139
  const cancelled = [];
124
140
  for (const taskId of this.trackedTaskIds) {
@@ -217,9 +233,6 @@ export class LocalTaskGateway {
217
233
  * would therefore miss the ordinary case — an agent that tried and could
218
234
  * not — and catch only the exceptional one.
219
235
  */
220
- function hasFailed(handle) {
221
- return handle.state === 'failed' || handle.result?.status === 'failed';
222
- }
223
236
  function toHandle(task) {
224
237
  return {
225
238
  taskId: task.taskId,
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/gateway/local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/gateway/local.ts"],"names":[],"mappings":"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"}
@@ -543,4 +543,60 @@ describe('LocalTaskGateway — what a failed child means for its siblings', () =
543
543
  releaseSlow();
544
544
  });
545
545
  });
546
+ describe('a concurrent fan-out shares one budget', () => {
547
+ /**
548
+ * Siblings launched from one assistant turn were each allocated a fraction
549
+ * of the SAME undebited number.
550
+ *
551
+ * The allocation is read at the top of `sendMessage`; the debit lands
552
+ * after `await provisionSpawn`, which is the only critical section. So N
553
+ * siblings all enter, all read an untouched `remaining`, and each takes
554
+ * its fraction of it. `create_task`'s own description instructs exactly
555
+ * this shape: "'fan out 8 specialists' is one assistant message with 8
556
+ * create_task blocks."
557
+ *
558
+ * **The children must not be allowed to finish.** A child that settles
559
+ * refunds its unspent budget, and the refund restores the tracker to a
560
+ * plausible number — so a test that measures after settle sees a healthy
561
+ * total and reports nothing. The over-commitment is real and transient,
562
+ * and transient is enough: every allocation decision taken during the
563
+ * window reads a tracker that is already wrong.
564
+ *
565
+ * The first version of this test did settle its children, passed, and
566
+ * would have certified the bug as fixed.
567
+ */
568
+ it('never allocates more than the parent has, while the children are still running', async () => {
569
+ // What each child was actually HANDED. Asserting on the tracker was the
570
+ // first attempt and it measured the wrong thing twice over: a settled
571
+ // child refunds, which restores a plausible number, and the harm is not
572
+ // the bookkeeping anyway — it is that four children each believe they
573
+ // may spend half a pool that only has one half to give.
574
+ const allocations = [];
575
+ let release;
576
+ const held = new Promise((resolve) => {
577
+ release = resolve;
578
+ });
579
+ // The harness's own manager, because a hand-built one here silently
580
+ // fails to provision and the children never run — which looks exactly
581
+ // like a passing test.
582
+ const harness = await buildHarness(makeAgent('child-1', async (_input, config) => {
583
+ allocations.push(config.tokenBudget);
584
+ await held;
585
+ return successResult();
586
+ }));
587
+ // ONE tracker, shared, as a real parent's context is.
588
+ const shared = { total: 100_000, remaining: 100_000 };
589
+ const context = {
590
+ ...buildContext(harness.parentSession.id, harness.projectId, harness.threadId),
591
+ budgetTracker: shared,
592
+ };
593
+ await Promise.allSettled(Array.from({ length: 4 }, () => harness.manager.sendMessage(buildOptions('child-1', harness.parentSession.id, harness.projectId), context)));
594
+ // Let the children record what they were handed before any settles.
595
+ await new Promise((r) => setTimeout(r, 20));
596
+ const handedOut = allocations.reduce((a, b) => a + b, 0);
597
+ release?.();
598
+ expect(allocations.length, 'every sibling should have started').toBe(4);
599
+ expect(handedOut, `four siblings were handed ${allocations.join(' + ')} from a pool of ${shared.total}`).toBeLessThanOrEqual(shared.total);
600
+ });
601
+ });
546
602
  //# sourceMappingURL=lifecycle.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.test.js","sourceRoot":"","sources":["../../../../src/manager/agent/__tests__/lifecycle.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.test.js","sourceRoot":"","sources":["../../../../src/manager/agent/__tests__/lifecycle.test.ts"],"names":[],"mappings":"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"}