@namzu/sdk 6.1.0 → 6.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 (52) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  3. package/dist/agents/SupervisorAgent.js +5 -0
  4. package/dist/agents/SupervisorAgent.js.map +1 -1
  5. package/dist/agents/__tests__/supervisor-coordinator-registration.test.js +31 -0
  6. package/dist/agents/__tests__/supervisor-coordinator-registration.test.js.map +1 -1
  7. package/dist/gateway/__tests__/completion-inbox.test.js +17 -0
  8. package/dist/gateway/__tests__/completion-inbox.test.js.map +1 -1
  9. package/dist/gateway/completion-inbox.d.ts.map +1 -1
  10. package/dist/gateway/completion-inbox.js +17 -3
  11. package/dist/gateway/completion-inbox.js.map +1 -1
  12. package/dist/runtime/query/__tests__/run-survives-its-own-park.proc-test.d.ts +2 -0
  13. package/dist/runtime/query/__tests__/run-survives-its-own-park.proc-test.d.ts.map +1 -0
  14. package/dist/runtime/query/__tests__/run-survives-its-own-park.proc-test.js +122 -0
  15. package/dist/runtime/query/__tests__/run-survives-its-own-park.proc-test.js.map +1 -0
  16. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  17. package/dist/runtime/query/iteration/phases/context.js +43 -13
  18. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  19. package/dist/tools/builtins/__tests__/bash.proc-test.d.ts +2 -0
  20. package/dist/tools/builtins/__tests__/bash.proc-test.d.ts.map +1 -0
  21. package/dist/tools/builtins/__tests__/bash.proc-test.js +115 -0
  22. package/dist/tools/builtins/__tests__/bash.proc-test.js.map +1 -0
  23. package/dist/tools/builtins/__tests__/bash.test.d.ts +2 -0
  24. package/dist/tools/builtins/__tests__/bash.test.d.ts.map +1 -0
  25. package/dist/tools/builtins/__tests__/bash.test.js +65 -0
  26. package/dist/tools/builtins/__tests__/bash.test.js.map +1 -0
  27. package/dist/tools/builtins/bash.d.ts.map +1 -1
  28. package/dist/tools/builtins/bash.js +89 -17
  29. package/dist/tools/builtins/bash.js.map +1 -1
  30. package/dist/tools/coordinator/__tests__/allow-delegation.test.d.ts +2 -0
  31. package/dist/tools/coordinator/__tests__/allow-delegation.test.d.ts.map +1 -0
  32. package/dist/tools/coordinator/__tests__/allow-delegation.test.js +94 -0
  33. package/dist/tools/coordinator/__tests__/allow-delegation.test.js.map +1 -0
  34. package/dist/tools/coordinator/index.d.ts +9 -0
  35. package/dist/tools/coordinator/index.d.ts.map +1 -1
  36. package/dist/tools/coordinator/index.js +19 -2
  37. package/dist/tools/coordinator/index.js.map +1 -1
  38. package/dist/types/agent/supervisor.d.ts +27 -0
  39. package/dist/types/agent/supervisor.d.ts.map +1 -1
  40. package/package.json +3 -2
  41. package/src/agents/SupervisorAgent.ts +5 -0
  42. package/src/agents/__tests__/supervisor-coordinator-registration.test.ts +37 -0
  43. package/src/gateway/__tests__/completion-inbox.test.ts +23 -0
  44. package/src/gateway/completion-inbox.ts +17 -3
  45. package/src/runtime/query/__tests__/run-survives-its-own-park.proc-test.ts +127 -0
  46. package/src/runtime/query/iteration/phases/context.ts +41 -15
  47. package/src/tools/builtins/__tests__/bash.proc-test.ts +142 -0
  48. package/src/tools/builtins/__tests__/bash.test.ts +79 -0
  49. package/src/tools/builtins/bash.ts +100 -18
  50. package/src/tools/coordinator/__tests__/allow-delegation.test.ts +120 -0
  51. package/src/tools/coordinator/index.ts +29 -2
  52. package/src/types/agent/supervisor.ts +28 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,126 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 9d4cf61: a supervisor can decline to delegate without lying about its roster
8
+
9
+ `SupervisorAgentConfig` gains `allowDelegation?: boolean`, default `true`.
10
+
11
+ The roster answered WHO a run may call. Nothing answered WHETHER it may call
12
+ anyone, and the two are different questions. A host that runs one specialist by
13
+ putting its persona into the supervisor shell and its id into the roster has a
14
+ non-empty roster and must still delegate to nobody — and got the full
15
+ delegation surface, discovering the refusal only by spending a turn on it.
16
+
17
+ It cannot be derived. Comparing the roster against the executing agent fails in
18
+ exactly that arrangement, because the ids differ. And no predicate over the
19
+ roster could work: a supervisor whose roster holds one specialist and a run
20
+ that IS that specialist are indistinguishable in it. So the caller states the
21
+ fact and the SDK decides what it implies for its own tool surface — which also
22
+ means the implied list cannot go stale, the way a caller-held list of tool
23
+ names silently did when this surface went from two tools to four.
24
+
25
+ Details worth knowing:
26
+
27
+ - **`agent_task_list` stays.** A run that may not launch anything may still want
28
+ to see what is running.
29
+ - **`approve_plan` and `ask_user_question` are untouched.** They are the
30
+ human-in-the-loop surface, not delegation.
31
+ - **`allowDelegation: false` is absolute.** `runtimeToolOverrides` cannot put
32
+ the tools back: the override pass runs over the tools this flag declined to
33
+ build, and both values come from the same caller in the same call, so
34
+ "must not delegate" plus "give it `create_task`" is a contradiction rather
35
+ than extra knowledge. `agentIds: []` has always worked this way.
36
+ - **Absent and `true` are identical**, so adopting the flag cannot change a
37
+ caller that opts in explicitly.
38
+
39
+ ### Patch Changes
40
+
41
+ - 9d4cf61: cancelling a task no longer deletes a result it had already produced
42
+
43
+ `CompletionInbox.forget` cleared both the outstanding-work set and the queue of
44
+ completions waiting to be announced. The second was wrong.
45
+
46
+ A background worker finishes, its completion is queued for the next drain, and
47
+ the model — told nothing yet, and reading a tool that says it cancels a
48
+ _running_ task — cancels it. The run then reported `cancelled` over work that
49
+ had been done, and the output existed nowhere else: not announced, not
50
+ claimable, not readable through the listing.
51
+
52
+ `forget` is about pending work, and a finished result is not pending work. It
53
+ now narrows to the outstanding set. The asymmetry with `claim`, which does clear
54
+ the queue, is deliberate: there a tool has just handed the model the same
55
+ result.
56
+
57
+ - 6961d3b: a failing shell command now says what happened, and its own deadline is the one that fires
58
+
59
+ **The failure path threw away everything useful.** The host branch of `bash`
60
+ called `exec` with no `catch`, and `exec` rejects on a non-zero exit. So the two
61
+ things an agent runs a shell for most — a test run and a build — both threw, the
62
+ registry turned the throw into "the tool failed", and the stdout, stderr and
63
+ exit code that explain why were discarded. The rejection carries all three.
64
+
65
+ The sandbox branch a few lines above already reported them, so the same command
66
+ told the model two different amounts depending on where it happened to run. It
67
+ now reports the exit code, both streams, and — separately — whether the command
68
+ ran out of time, because "timed out" and "exited 1" lead to different next moves
69
+ and the model acts on the message.
70
+
71
+ A caller-owned abort still propagates as an abort rather than being reported as
72
+ a command failure.
73
+
74
+ **Two clocks, one of them undeclared.** `bash` enforces the `timeout` it is
75
+ given; the executor enforces a separate per-tool deadline, and with none
76
+ declared here it fell back to its generic default — also two minutes. The two
77
+ agreed by coincidence and diverged the moment a model asked for longer because
78
+ it knew a build was slow: it got two minutes, from a clock it had not been told
79
+ about, reported as an abandoned tool rather than as a command that ran out of
80
+ time.
81
+
82
+ The tool now declares a deadline above the ceiling its input accepts, so its own
83
+ clock is the one that fires. A request past the ceiling is **refused** rather
84
+ than silently clamped — a number the model was not told had changed is how it
85
+ learns to distrust its own arguments. The ceiling is ten minutes, overridable
86
+ with `NAMZU_BASH_MAX_TIMEOUT_MS`.
87
+
88
+ **And it now has tests.** The only builtin that runs a shell had none, which is
89
+ how the swallowed failure shipped. Thirteen cases, mutation-checked: neutralising
90
+ the failure path fails four of them.
91
+
92
+ - 06fb51b: a run no longer kills its own process while waiting, mid-turn, and report success
93
+
94
+ `namzu run` and `namzu run-stream` could not finish a turn. The first tool call
95
+ completed and the process ended: no second turn, nothing written, no terminal
96
+ event, **exit code 0**. A user asking for a two-step task was told nothing had
97
+ gone wrong while nothing had been done.
98
+
99
+ Every human-in-the-loop park went through a timer that was deliberately
100
+ `unref`'d, so a pending park-recorder could never hold a process open after the
101
+ run settled. The hazard is real and the intent was right; the scope was wrong.
102
+ That promise is **awaited during the run**, on every park, including the
103
+ automatic ones a headless run resolves instantly. An `unref`'d timer does not
104
+ keep Node's event loop alive — so once the decision resolved and the run sat out
105
+ the rest of the delay, the loop had nothing left in it that counted, and the
106
+ process exited from under the run.
107
+
108
+ The timer is cancelled now instead of unref'd. It stays ref'd while the run is
109
+ genuinely waiting on it, and is cleared the moment the decision arrives, so
110
+ nothing dangles past the run either. A park that had already begun recording is
111
+ still awaited, so the unpark cannot race it.
112
+
113
+ Measured before and after on the same command: before, three events and an
114
+ unchanged file; after, the edit applied and a terminal event.
115
+
116
+ **Why no test caught it.** A test runner holds the event loop open for the whole
117
+ file, which is exactly the prop this bug hides behind — the entire suite passed
118
+ throughout, including tests that drive real runs against a live provider. The
119
+ regression test therefore spawns a real `node` process with nothing else in it,
120
+ and lives in its own suite (`pnpm --filter @namzu/sdk test:proc`, run as its own
121
+ CI step) because the spawn competes for CPU hard enough to flake the
122
+ timing-sensitive tests beside it.
123
+
3
124
  ## 6.1.0
4
125
 
5
126
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"SupervisorAgent.d.ts","sourceRoot":"","sources":["../../src/agents/SupervisorAgent.ts"],"names":[],"mappings":"AAQA,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;IAalE;;;;;;;;OAQG;IACG,GAAG,CACR,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC;YAMnB,YAAY;CA+P1B"}
1
+ {"version":3,"file":"SupervisorAgent.d.ts","sourceRoot":"","sources":["../../src/agents/SupervisorAgent.ts"],"names":[],"mappings":"AAQA,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;IAalE;;;;;;;;OAQG;IACG,GAAG,CACR,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC;YAMnB,YAAY;CAoQ1B"}
@@ -149,6 +149,11 @@ export class SupervisorAgent extends AbstractAgent {
149
149
  workingDirectory: input.workingDirectory,
150
150
  runtimeContext: input.runtimeContext,
151
151
  allowedAgentIds: config.agentIds,
152
+ // The only hop between the config and the decision. Omit it and
153
+ // everything still compiles: the field is settable, documented, and
154
+ // read by nothing — which is the shape of a declaration this repo
155
+ // has had to go and delete before.
156
+ allowDelegation: config.allowDelegation,
152
157
  taskStore: input.taskStore,
153
158
  runId,
154
159
  getPlanManager: () => planManagerRef,
@@ -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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"}
@@ -66,6 +66,9 @@ async function runWith(options) {
66
66
  }, {
67
67
  provider,
68
68
  agentIds: ['worker'],
69
+ ...(options.allowDelegation !== undefined
70
+ ? { allowDelegation: options.allowDelegation }
71
+ : {}),
69
72
  agentManager: stubManager(),
70
73
  tools,
71
74
  systemPrompt: 'You coordinate.',
@@ -119,4 +122,32 @@ describe('supervisor coordinator-tool registration', () => {
119
122
  expect(describedAs('create_task')).toBe(HOST_TOOL_DESCRIPTION);
120
123
  });
121
124
  });
125
+ /**
126
+ * The one hop between `SupervisorAgentConfig.allowDelegation` and the builder
127
+ * that acts on it.
128
+ *
129
+ * These go through `SupervisorAgent` rather than calling the builder directly,
130
+ * and that is the entire point. The builder has its own unit tests, and they
131
+ * pass whether or not the supervisor actually forwards the flag — measured:
132
+ * deleting the forward left the type-check clean and all 143 coordinator and
133
+ * agent tests green, with the field settable, documented, and read by nobody.
134
+ * That is the shape of a declaration this repository has had to go and delete
135
+ * before, so it gets a test that fails when the road is cut.
136
+ */
137
+ describe('allowDelegation reaches the tool surface', () => {
138
+ it('withholds the delegation tools when the run declines to delegate', async () => {
139
+ const { names } = await runWith({ allowDelegation: false });
140
+ expect(names, 'the flag never reached buildCoordinatorTools').not.toContain('create_task');
141
+ expect(names).not.toContain('wait_for_task');
142
+ expect(names).not.toContain('cancel_task');
143
+ });
144
+ it('keeps the listing, so a non-delegating run can still see what is running', async () => {
145
+ expect((await runWith({ allowDelegation: false })).names).toContain('agent_task_list');
146
+ });
147
+ it('leaves an opting-in run exactly as it was', async () => {
148
+ const { names } = await runWith({ allowDelegation: true });
149
+ expect(names).toContain('create_task');
150
+ expect(names).toContain('agent_task_list');
151
+ });
152
+ });
122
153
  //# sourceMappingURL=supervisor-coordinator-registration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor-coordinator-registration.test.js","sourceRoot":"","sources":["../../../src/agents/__tests__/supervisor-coordinator-registration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor-coordinator-registration.test.js","sourceRoot":"","sources":["../../../src/agents/__tests__/supervisor-coordinator-registration.test.ts"],"names":[],"mappings":"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"}
@@ -154,6 +154,23 @@ describe('a launch nobody is waiting for holds the run open', () => {
154
154
  inbox.expect('tsk_1');
155
155
  expect(inbox.hasPendingWork).toBe(false);
156
156
  });
157
+ it('keeps a result that already arrived, even when the task is cancelled', () => {
158
+ // The window: a worker finishes, its completion is queued for the next
159
+ // drain, and the model — told nothing yet, and reading a tool that says
160
+ // it cancels a RUNNING task — cancels it. Clearing the queue here threw
161
+ // away work that was done and output that existed nowhere else.
162
+ //
163
+ // `forget` is about pending work. A finished result is not pending work.
164
+ const { gateway, settle } = fakeGateway();
165
+ const inbox = new CompletionInbox();
166
+ inbox.attach(gateway);
167
+ inbox.expect('tsk_1');
168
+ settle(handleFor('tsk_1', 'the worker finished before the cancel landed'));
169
+ inbox.forget('tsk_1');
170
+ const drained = inbox.drain();
171
+ expect(drained.map((h) => h.taskId), 'the finished result was discarded').toEqual(['tsk_1']);
172
+ expect(drained[0]?.result?.result).toBe('the worker finished before the cancel landed');
173
+ });
157
174
  it('stops expecting a task that was cancelled', () => {
158
175
  // `expect` is only cleared by a COMPLETION, so a cancelled worker used
159
176
  // to keep the run open for the whole grace period, every time it tried
@@ -1 +1 @@
1
- {"version":3,"file":"completion-inbox.test.js","sourceRoot":"","sources":["../../../src/gateway/__tests__/completion-inbox.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion-inbox.test.js","sourceRoot":"","sources":["../../../src/gateway/__tests__/completion-inbox.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"completion-inbox.d.ts","sourceRoot":"","sources":["../../src/gateway/completion-inbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,MAAM,CAAC,CAAY;IAE3B;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,IAAI;IAcxC;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B,sEAAsE;IACtE,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BhD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM3B,8CAA8C;IAC9C,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;OAKG;IACH,KAAK,IAAI,UAAU,EAAE;IAQrB;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B,mDAAmD;IACnD,KAAK,IAAI,IAAI;CAUb;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CA8BnF"}
1
+ {"version":3,"file":"completion-inbox.d.ts","sourceRoot":"","sources":["../../src/gateway/completion-inbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,MAAM,CAAC,CAAY;IAE3B;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,IAAI;IAcxC;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B,sEAAsE;IACtE,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BhD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM3B,8CAA8C;IAC9C,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;OAKG;IACH,KAAK,IAAI,UAAU,EAAE;IAQrB;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB5B,mDAAmD;IACnD,KAAK,IAAI,IAAI;CAUb;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CA8BnF"}
@@ -148,9 +148,23 @@ export class CompletionInbox {
148
148
  */
149
149
  forget(taskId) {
150
150
  this.outstanding.delete(taskId);
151
- this.unheard.delete(taskId);
152
- // Anyone waiting should re-check rather than sit out their deadline
153
- // for a task that is no longer coming.
151
+ // `unheard` is deliberately NOT touched.
152
+ //
153
+ // The two sets mean different things. `outstanding` is pending WORK,
154
+ // and cancelling is exactly the statement that it should stop being
155
+ // waited for. `unheard` is a RESULT that already exists — the worker
156
+ // finished, the completion arrived, and it is queued for the next
157
+ // drain. Clearing it here destroyed that.
158
+ //
159
+ // The window is small and entirely reachable: nothing has told the
160
+ // model the worker finished, and `cancel_task` says it cancels a
161
+ // running task, so cancelling one that has just completed is the
162
+ // obvious move rather than a mistake. The run then reports "cancelled"
163
+ // over work that was done and output that no longer exists anywhere.
164
+ //
165
+ // Note the asymmetry with `claim`, which does clear `unheard` — and is
166
+ // right to, because there a tool has just handed the model the same
167
+ // result. This one hands over nothing.
154
168
  for (const wake of [...this.arrivals])
155
169
  wake();
156
170
  }
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run-survives-its-own-park.proc-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-survives-its-own-park.proc-test.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/__tests__/run-survives-its-own-park.proc-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,122 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ import { afterEach, describe, expect, it } from 'vitest';
7
+ /**
8
+ * A run has to survive its own waiting.
9
+ *
10
+ * Every HITL park went through a timer that was deliberately `unref`'d, so a
11
+ * pending park-recorder could never hold a process open after the run
12
+ * settled. The intent was right and the scope was wrong: the run AWAITS that
13
+ * timer, mid-turn, on every park. An unref'd timer does not keep Node's loop
14
+ * alive — so once the decision resolved and the run sat out the rest of the
15
+ * delay, the loop had nothing ref'd left in it and the process exited. Mid
16
+ * turn. Exit code 0. No terminal event, no error, and nothing done.
17
+ *
18
+ * The headless surfaces could not finish a turn at all: the first tool call
19
+ * completed and the process ended.
20
+ *
21
+ * **This test spawns a child process on purpose.** In-process it is
22
+ * unwritable — a test runner holds the event loop open for the whole file,
23
+ * which is the exact prop that hid this for as long as it was hidden. Every
24
+ * existing test passed throughout. If you are tempted to rewrite this as an
25
+ * ordinary `drainQuery` call because spawning is slow, that rewrite is the
26
+ * bug coming back.
27
+ *
28
+ * It loads the BUILT entry point, because that is what a consumer loads and
29
+ * because a child process cannot resolve TypeScript. The `test:proc` script
30
+ * therefore builds first — a stale `dist` reports a failure that has nothing
31
+ * to do with the code under test, and would report a pass just as
32
+ * confidently.
33
+ */
34
+ const workdirs = [];
35
+ afterEach(() => {
36
+ for (const dir of workdirs)
37
+ rmSync(dir, { recursive: true, force: true });
38
+ workdirs.length = 0;
39
+ });
40
+ /**
41
+ * A scripted provider and a run, in a file with no test runner under it.
42
+ *
43
+ * Two turns: one tool call, then an answer. The park happens between them,
44
+ * which is where the process used to die.
45
+ */
46
+ const SCRIPT = `
47
+ import { pathToFileURL } from 'node:url'
48
+ const sdk = await import(pathToFileURL(process.argv[2]).href)
49
+ const { ToolRegistry, drainQuery, defineTool } = sdk
50
+ const { z } = await import(pathToFileURL(process.argv[3]).href)
51
+
52
+ const ZERO = { promptTokens: 0, completionTokens: 0, totalTokens: 0, cachedTokens: 0, cacheWriteTokens: 0 }
53
+
54
+ let calls = 0
55
+ const provider = {
56
+ id: 'scripted',
57
+ name: 'Scripted',
58
+ async *chatStream() {
59
+ calls += 1
60
+ if (calls === 1) {
61
+ yield { id: 'm1', delta: { toolCalls: [{ index: 0, id: 't1', type: 'function', function: { name: 'ping', arguments: '{}' } }] } }
62
+ yield { id: 'm1', delta: {}, finishReason: 'tool_calls', usage: ZERO }
63
+ return
64
+ }
65
+ yield { id: 'm2', delta: { content: 'answered' } }
66
+ yield { id: 'm2', delta: {}, finishReason: 'stop', usage: ZERO }
67
+ },
68
+ }
69
+
70
+ const tools = new ToolRegistry()
71
+ tools.register(defineTool({
72
+ name: 'ping',
73
+ description: 'pings',
74
+ inputSchema: z.object({}),
75
+ category: 'analysis',
76
+ permissions: [],
77
+ readOnly: true,
78
+ destructive: false,
79
+ concurrencySafe: true,
80
+ async execute() { return { success: true, output: 'pong' } },
81
+ }))
82
+
83
+ let last = '(none)'
84
+ drainQuery({
85
+ provider,
86
+ tools,
87
+ agentId: 'a',
88
+ agentName: 'A',
89
+ messages: [{ role: 'user', content: 'go', timestamp: Date.now() }],
90
+ workingDirectory: process.argv[4],
91
+ runConfig: { model: 'm', timeoutMs: 20000, tokenBudget: 10000, maxIterations: 4, maxResponseTokens: 128 },
92
+ sessionId: 'ses_x', threadId: 'thd_x', projectId: 'prj_x', tenantId: 'tnt_x',
93
+ }, (e) => { last = e.type }).then(
94
+ (run) => console.log('RESULT ' + JSON.stringify({ status: run.status, stop: run.stopReason, last })),
95
+ (err) => console.log('THREW ' + (err?.message ?? err)),
96
+ )
97
+ process.on('exit', () => console.log('LAST ' + last))
98
+ `;
99
+ describe('a run outlives its own HITL park', () => {
100
+ it('finishes in a process with nothing else holding the event loop open', () => {
101
+ const dir = mkdtempSync(join(tmpdir(), 'namzu-park-'));
102
+ workdirs.push(dir);
103
+ const script = join(dir, 'run.mjs');
104
+ writeFileSync(script, SCRIPT);
105
+ // `fileURLToPath`, not `pathname` with the leading slash stripped. That
106
+ // stripping is right on Windows, where `pathname` is `/C:/…`, and wrong
107
+ // everywhere else, where it turns an absolute POSIX path into a
108
+ // relative one — which is how this passed locally and failed in CI with
109
+ // the repo root pasted in front of itself.
110
+ const sdkEntry = fileURLToPath(new URL('../../../../dist/index.js', import.meta.url));
111
+ const zodEntry = require.resolve('zod');
112
+ const out = execFileSync(process.execPath, [script, sdkEntry, zodEntry, dir], {
113
+ encoding: 'utf8',
114
+ timeout: 60_000,
115
+ });
116
+ // The run reached its own end rather than the process reaching it first.
117
+ expect(out, `the run did not complete:\n${out}`).toContain('RESULT ');
118
+ expect(out).toContain('"status":"completed"');
119
+ expect(out).toContain('"last":"run_completed"');
120
+ }, 90_000);
121
+ });
122
+ //# sourceMappingURL=run-survives-its-own-park.proc-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-survives-its-own-park.proc-test.js","sourceRoot":"","sources":["../../../../src/runtime/query/__tests__/run-survives-its-own-park.proc-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,QAAQ,GAAa,EAAE,CAAA;AAC7B,SAAS,CAAC,GAAG,EAAE;IACd,KAAK,MAAM,GAAG,IAAI,QAAQ;QAAE,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACzE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;AACpB,CAAC,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDd,CAAA;AAED,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC9E,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAA;QACtD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACnC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAE7B,wEAAwE;QACxE,wEAAwE;QACxE,gEAAgE;QAChE,wEAAwE;QACxE,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACrF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAEvC,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;YAC7E,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,MAAM;SACf,CAAC,CAAA;QAEF,yEAAyE;QACzE,MAAM,CAAC,GAAG,EAAE,8BAA8B,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACrE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAA;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAA;IAChD,CAAC,EAAE,MAAM,CAAC,CAAA;AACX,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/context.ts"],"names":[],"mappings":"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"}
@@ -40,16 +40,52 @@ export async function awaitDecisionDurably(ctx, checkpoint, request) {
40
40
  });
41
41
  }
42
42
  };
43
- const recordIfSlow = (async () => {
44
- await sleep(delay);
45
- if (settled)
46
- return;
47
- await record();
48
- })();
43
+ // The wait for "is this park slow enough to be worth writing down", and
44
+ // the reason it is a cancellable timer rather than a slept-through one.
45
+ //
46
+ // It used to `await sleep(delay)` where `sleep` created its timer and
47
+ // UNREF'D it, so a pending recorder could never hold a process open after
48
+ // the run settled. That is a real hazard and the intent was right, but the
49
+ // scope was wrong: this promise is awaited *during* the run, below, on
50
+ // every park. An unref'd timer does not keep Node's event loop alive — so
51
+ // once the decision resolved and the run sat here waiting out the rest of
52
+ // the delay, the loop had nothing ref'd left in it and the process exited.
53
+ // Mid-turn. Exit code 0. Nothing written, no error, no terminal event.
54
+ //
55
+ // That shipped, and it made the headless surfaces unable to finish a turn
56
+ // at all: the first tool call would complete and the process would end.
57
+ // Every test passed because a test runner holds the loop open for the
58
+ // whole file, which is exactly the kind of prop that hides this.
59
+ //
60
+ // Cancelling gets both properties. The timer is ref'd, so the run cannot
61
+ // be killed by its own wait; and it is cleared the moment the decision
62
+ // arrives, so nothing dangles past the run either.
63
+ let parkTimer;
64
+ // Set SYNCHRONOUSLY when the write begins, because `recorded` only turns
65
+ // true after it finishes — waiting on that instead would skip a write that
66
+ // is still in flight and let the unpark below race it.
67
+ let recording = false;
68
+ const recordIfSlow = new Promise((resolve) => {
69
+ parkTimer = setTimeout(() => {
70
+ if (settled) {
71
+ resolve();
72
+ return;
73
+ }
74
+ recording = true;
75
+ record().then(resolve, resolve);
76
+ }, delay);
77
+ });
49
78
  try {
50
79
  const decision = await decisionPromise;
51
80
  settled = true;
52
- await recordIfSlow;
81
+ // Cancel the wait rather than sitting through it. If the timer already
82
+ // fired, `recordIfSlow` is the park write and is worth awaiting so the
83
+ // unpark below cannot race it; if it has not, there is nothing to wait
84
+ // for and clearing it is what lets the turn continue immediately.
85
+ if (parkTimer !== undefined)
86
+ clearTimeout(parkTimer);
87
+ if (recording)
88
+ await recordIfSlow;
53
89
  // `pause` is not an answer — it is "I am not answering now, hold
54
90
  // this". It therefore ALWAYS gets recorded, even when it arrived too
55
91
  // fast for the slow-park timer: a host that cannot block (a
@@ -79,12 +115,6 @@ export async function awaitDecisionDurably(ctx, checkpoint, request) {
79
115
  settled = true;
80
116
  }
81
117
  }
82
- function sleep(ms) {
83
- return new Promise((resolve) => {
84
- const timer = setTimeout(resolve, ms);
85
- timer.unref?.();
86
- });
87
- }
88
118
  /**
89
119
  * Await a HITL `resumeHandler` decision, but RACE it against the run's abort
90
120
  * signal. A Stop that arrives while the run is parked on a tool-review or