@namzu/sdk 6.2.0 → 7.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.
- package/CHANGELOG.md +240 -0
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +5 -0
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +4 -0
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/runAgent.d.ts +19 -1
- package/dist/agents/runAgent.d.ts.map +1 -1
- package/dist/agents/runAgent.js +2 -0
- package/dist/agents/runAgent.js.map +1 -1
- package/dist/connector/mcp/__tests__/positional-arrays.test.d.ts +2 -0
- package/dist/connector/mcp/__tests__/positional-arrays.test.d.ts.map +1 -0
- package/dist/connector/mcp/__tests__/positional-arrays.test.js +142 -0
- package/dist/connector/mcp/__tests__/positional-arrays.test.js.map +1 -0
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +123 -8
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/constants/agent/index.d.ts +5 -0
- package/dist/constants/agent/index.d.ts.map +1 -1
- package/dist/constants/agent/index.js +5 -0
- package/dist/constants/agent/index.js.map +1 -1
- package/dist/constants/plugin/index.d.ts +15 -0
- package/dist/constants/plugin/index.d.ts.map +1 -1
- package/dist/constants/plugin/index.js +15 -0
- package/dist/constants/plugin/index.js.map +1 -1
- package/dist/gateway/local.d.ts +11 -0
- package/dist/gateway/local.d.ts.map +1 -1
- package/dist/gateway/local.js +27 -1
- package/dist/gateway/local.js.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +6 -0
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/provider/thinking-support.d.ts +2 -1
- package/dist/provider/thinking-support.d.ts.map +1 -1
- package/dist/provider/thinking-support.js +14 -0
- package/dist/provider/thinking-support.js.map +1 -1
- package/dist/public-runtime.d.ts +1 -1
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +9 -1
- package/dist/public-runtime.js.map +1 -1
- package/dist/runtime/query/__tests__/context.test.js +18 -0
- package/dist/runtime/query/__tests__/context.test.js.map +1 -1
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.js +118 -0
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.js.map +1 -0
- package/dist/runtime/query/__tests__/tool-timeout.test.js +34 -0
- package/dist/runtime/query/__tests__/tool-timeout.test.js.map +1 -1
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +16 -1
- package/dist/runtime/query/context.js.map +1 -1
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +11 -1
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +5 -0
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/telemetry/__tests__/model-call-span.test.js +22 -4
- package/dist/telemetry/__tests__/model-call-span.test.js.map +1 -1
- package/dist/telemetry/__tests__/span-closure.test.js +12 -5
- package/dist/telemetry/__tests__/span-closure.test.js.map +1 -1
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.d.ts +2 -0
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.d.ts.map +1 -0
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.js +193 -0
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.js.map +1 -0
- package/dist/tools/coordinator/index.d.ts +19 -0
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +82 -60
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts +66 -0
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -0
- package/dist/tools/coordinator/wait-with-idle-bound.js +78 -0
- package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -0
- package/dist/types/agent/base.d.ts +16 -0
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/gateway.d.ts +23 -0
- package/dist/types/agent/gateway.d.ts.map +1 -1
- package/dist/types/agent/lifecycle-event.d.ts +9 -1
- package/dist/types/agent/lifecycle-event.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +5 -0
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/hitl/index.d.ts +10 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/probe/registry.d.ts +6 -0
- package/dist/types/probe/registry.d.ts.map +1 -1
- package/dist/types/run/config.d.ts +25 -0
- package/dist/types/run/config.d.ts.map +1 -1
- package/dist/utils/__tests__/abort-reason.test.d.ts +2 -0
- package/dist/utils/__tests__/abort-reason.test.d.ts.map +1 -0
- package/dist/utils/__tests__/abort-reason.test.js +48 -0
- package/dist/utils/__tests__/abort-reason.test.js.map +1 -0
- package/dist/utils/abort.d.ts +26 -0
- package/dist/utils/abort.d.ts.map +1 -1
- package/dist/utils/abort.js +34 -0
- package/dist/utils/abort.js.map +1 -1
- package/dist/verification/__tests__/rule-order-and-reason.test.d.ts +2 -0
- package/dist/verification/__tests__/rule-order-and-reason.test.d.ts.map +1 -0
- package/dist/verification/__tests__/rule-order-and-reason.test.js +126 -0
- package/dist/verification/__tests__/rule-order-and-reason.test.js.map +1 -0
- package/dist/verification/gate.d.ts +17 -1
- package/dist/verification/gate.d.ts.map +1 -1
- package/dist/verification/gate.js +58 -2
- package/dist/verification/gate.js.map +1 -1
- package/dist/verification/index.d.ts +1 -1
- package/dist/verification/index.d.ts.map +1 -1
- package/dist/verification/index.js +1 -1
- package/dist/verification/index.js.map +1 -1
- package/package.json +1 -1
- package/src/agents/ReactiveAgent.ts +5 -0
- package/src/agents/SupervisorAgent.ts +4 -0
- package/src/agents/runAgent.ts +22 -1
- package/src/connector/mcp/__tests__/positional-arrays.test.ts +183 -0
- package/src/connector/mcp/adapter.ts +131 -7
- package/src/constants/agent/index.ts +5 -0
- package/src/constants/plugin/index.ts +15 -0
- package/src/gateway/local.ts +26 -1
- package/src/manager/agent/lifecycle.ts +6 -0
- package/src/provider/thinking-support.ts +19 -2
- package/src/public-runtime.ts +9 -0
- package/src/runtime/query/__tests__/context.test.ts +24 -0
- package/src/runtime/query/__tests__/effort-reaches-the-wire.test.ts +135 -0
- package/src/runtime/query/__tests__/tool-timeout.test.ts +38 -0
- package/src/runtime/query/context.ts +16 -1
- package/src/runtime/query/executor.ts +11 -1
- package/src/runtime/query/iteration/index.ts +5 -0
- package/src/telemetry/__tests__/model-call-span.test.ts +22 -5
- package/src/telemetry/__tests__/span-closure.test.ts +12 -5
- package/src/tools/coordinator/__tests__/wait-with-idle-bound.test.ts +247 -0
- package/src/tools/coordinator/index.ts +83 -63
- package/src/tools/coordinator/wait-with-idle-bound.ts +142 -0
- package/src/types/agent/base.ts +17 -0
- package/src/types/agent/gateway.ts +24 -0
- package/src/types/agent/lifecycle-event.ts +7 -0
- package/src/types/agent/task.ts +5 -0
- package/src/types/hitl/index.ts +10 -0
- package/src/types/probe/registry.ts +6 -0
- package/src/types/run/config.ts +26 -0
- package/src/utils/__tests__/abort-reason.test.ts +56 -0
- package/src/utils/abort.ts +34 -0
- package/src/verification/__tests__/rule-order-and-reason.test.ts +149 -0
- package/src/verification/gate.ts +61 -3
- package/src/verification/index.ts +1 -1
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { describeWaitTimeout, waitForTaskWithBounds } from '../wait-with-idle-bound.js';
|
|
3
|
+
/**
|
|
4
|
+
* A wall clock cannot tell a slow worker from a stuck one.
|
|
5
|
+
*
|
|
6
|
+
* The bound before this was an hour of elapsed time, and an hour has to do
|
|
7
|
+
* two incompatible jobs: be long enough for a child doing real work, and
|
|
8
|
+
* short enough to notice one that wedged. It cannot be both, so a worker
|
|
9
|
+
* stuck in minute two held the supervisor for another fifty-eight, and one
|
|
10
|
+
* making steady progress at minute fifty-nine was killed for being slow.
|
|
11
|
+
*
|
|
12
|
+
* These tests drive both clocks with a fake one, because the real bounds are
|
|
13
|
+
* measured in minutes and a test that actually waits them out is a test
|
|
14
|
+
* nobody runs.
|
|
15
|
+
*/
|
|
16
|
+
function gatewayFor(opts) {
|
|
17
|
+
let resolveWait;
|
|
18
|
+
const listeners = new Set();
|
|
19
|
+
const handle = {
|
|
20
|
+
taskId: 'tsk_1',
|
|
21
|
+
agentId: 'worker',
|
|
22
|
+
state: 'completed',
|
|
23
|
+
createdAt: 0,
|
|
24
|
+
completedAt: 1,
|
|
25
|
+
};
|
|
26
|
+
const gateway = {
|
|
27
|
+
waitForTask: () => new Promise((resolve) => {
|
|
28
|
+
resolveWait = resolve;
|
|
29
|
+
opts.settle?.(resolve);
|
|
30
|
+
}),
|
|
31
|
+
...(opts.withProgress === false
|
|
32
|
+
? {}
|
|
33
|
+
: {
|
|
34
|
+
onTaskProgress: (cb) => {
|
|
35
|
+
listeners.add(cb);
|
|
36
|
+
return () => listeners.delete(cb);
|
|
37
|
+
},
|
|
38
|
+
}),
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
gateway,
|
|
42
|
+
progress: () => {
|
|
43
|
+
for (const cb of listeners)
|
|
44
|
+
cb('tsk_1');
|
|
45
|
+
},
|
|
46
|
+
finish: () => resolveWait?.(handle),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/** A clock the test moves by hand. */
|
|
50
|
+
function fakeClock() {
|
|
51
|
+
let t = 1_000_000;
|
|
52
|
+
return {
|
|
53
|
+
now: () => t,
|
|
54
|
+
advance: (ms) => {
|
|
55
|
+
t += ms;
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
describe('a worker that is still working is not killed for being slow', () => {
|
|
60
|
+
it('keeps waiting past the idle bound while progress keeps arriving', async () => {
|
|
61
|
+
vi.useFakeTimers();
|
|
62
|
+
try {
|
|
63
|
+
const clock = fakeClock();
|
|
64
|
+
const { gateway, progress, finish } = gatewayFor({});
|
|
65
|
+
const waiting = waitForTaskWithBounds(gateway, 'tsk_1', { runMs: 60_000, idleMs: 5_000 }, clock.now);
|
|
66
|
+
// Four times the idle bound in elapsed time, but never quiet for
|
|
67
|
+
// more than half of it.
|
|
68
|
+
for (let i = 0; i < 8; i += 1) {
|
|
69
|
+
clock.advance(2_500);
|
|
70
|
+
progress();
|
|
71
|
+
await vi.advanceTimersByTimeAsync(1_000);
|
|
72
|
+
}
|
|
73
|
+
finish();
|
|
74
|
+
await vi.advanceTimersByTimeAsync(1_000);
|
|
75
|
+
expect((await waiting).kind, 'a working worker was cut off').toBe('completed');
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
vi.useRealTimers();
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe('a worker that has gone quiet is reported as quiet', () => {
|
|
83
|
+
it('fires the idle bound and says which clock it was', async () => {
|
|
84
|
+
vi.useFakeTimers();
|
|
85
|
+
try {
|
|
86
|
+
const clock = fakeClock();
|
|
87
|
+
const { gateway } = gatewayFor({});
|
|
88
|
+
const waiting = waitForTaskWithBounds(gateway, 'tsk_1', { runMs: 600_000, idleMs: 5_000 }, clock.now);
|
|
89
|
+
clock.advance(6_000);
|
|
90
|
+
await vi.advanceTimersByTimeAsync(1_100);
|
|
91
|
+
const outcome = await waiting;
|
|
92
|
+
expect(outcome.kind).toBe('timeout');
|
|
93
|
+
if (outcome.kind !== 'timeout')
|
|
94
|
+
return;
|
|
95
|
+
// The distinction is the point: "went quiet" and "ran too long"
|
|
96
|
+
// are different diagnoses and the caller acts on the message.
|
|
97
|
+
expect(outcome.cause).toBe('idle');
|
|
98
|
+
expect(outcome.idleBoundArmed).toBe(true);
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
vi.useRealTimers();
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
it('says it went quiet, and that the worker was not cancelled', () => {
|
|
105
|
+
const text = describeWaitTimeout({
|
|
106
|
+
kind: 'timeout',
|
|
107
|
+
cause: 'idle',
|
|
108
|
+
elapsedMs: 30_000,
|
|
109
|
+
idleBoundArmed: true,
|
|
110
|
+
});
|
|
111
|
+
expect(text).toContain('went quiet');
|
|
112
|
+
// A wait that ran out is a statement about the WAITER. Losing an
|
|
113
|
+
// eight-minute worker's output because a short clock expired is the
|
|
114
|
+
// bug this whole area has been unpicking.
|
|
115
|
+
expect(text).toContain('not been cancelled');
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe('the run bound still catches a worker that never stops', () => {
|
|
119
|
+
it('fires on elapsed time even while progress keeps arriving', async () => {
|
|
120
|
+
vi.useFakeTimers();
|
|
121
|
+
try {
|
|
122
|
+
const clock = fakeClock();
|
|
123
|
+
const { gateway, progress } = gatewayFor({});
|
|
124
|
+
const waiting = waitForTaskWithBounds(gateway, 'tsk_1', { runMs: 10_000, idleMs: 5_000 }, clock.now);
|
|
125
|
+
for (let i = 0; i < 6; i += 1) {
|
|
126
|
+
clock.advance(2_000);
|
|
127
|
+
progress();
|
|
128
|
+
await vi.advanceTimersByTimeAsync(1_000);
|
|
129
|
+
}
|
|
130
|
+
const outcome = await waiting;
|
|
131
|
+
expect(outcome.kind).toBe('timeout');
|
|
132
|
+
if (outcome.kind !== 'timeout')
|
|
133
|
+
return;
|
|
134
|
+
expect(outcome.cause).toBe('run');
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
vi.useRealTimers();
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
describe('a gateway that cannot see its children', () => {
|
|
142
|
+
it('is bounded by the wall clock alone, as it was before', async () => {
|
|
143
|
+
vi.useFakeTimers();
|
|
144
|
+
try {
|
|
145
|
+
const clock = fakeClock();
|
|
146
|
+
const { gateway } = gatewayFor({ withProgress: false });
|
|
147
|
+
const waiting = waitForTaskWithBounds(gateway, 'tsk_1', { runMs: 10_000, idleMs: 1_000 }, clock.now);
|
|
148
|
+
// Far past the idle bound, and it must NOT fire — there is no
|
|
149
|
+
// signal, so silence carries no information.
|
|
150
|
+
clock.advance(5_000);
|
|
151
|
+
await vi.advanceTimersByTimeAsync(1_100);
|
|
152
|
+
clock.advance(6_000);
|
|
153
|
+
await vi.advanceTimersByTimeAsync(1_100);
|
|
154
|
+
const outcome = await waiting;
|
|
155
|
+
expect(outcome.kind).toBe('timeout');
|
|
156
|
+
if (outcome.kind !== 'timeout')
|
|
157
|
+
return;
|
|
158
|
+
expect(outcome.cause).toBe('run');
|
|
159
|
+
// And the degradation is visible rather than silent.
|
|
160
|
+
expect(outcome.idleBoundArmed).toBe(false);
|
|
161
|
+
}
|
|
162
|
+
finally {
|
|
163
|
+
vi.useRealTimers();
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
it('says so, instead of implying the worker was stuck', () => {
|
|
167
|
+
const text = describeWaitTimeout({
|
|
168
|
+
kind: 'timeout',
|
|
169
|
+
cause: 'run',
|
|
170
|
+
elapsedMs: 3_600_000,
|
|
171
|
+
idleBoundArmed: false,
|
|
172
|
+
});
|
|
173
|
+
expect(text).toContain('cannot report progress');
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
describe('a completion always wins', () => {
|
|
177
|
+
it('returns the handle rather than a timeout when the task finishes first', async () => {
|
|
178
|
+
vi.useFakeTimers();
|
|
179
|
+
try {
|
|
180
|
+
const clock = fakeClock();
|
|
181
|
+
const { gateway, finish } = gatewayFor({});
|
|
182
|
+
const waiting = waitForTaskWithBounds(gateway, 'tsk_1', { runMs: 10_000, idleMs: 5_000 }, clock.now);
|
|
183
|
+
finish();
|
|
184
|
+
await vi.advanceTimersByTimeAsync(10);
|
|
185
|
+
const outcome = await waiting;
|
|
186
|
+
expect(outcome.kind).toBe('completed');
|
|
187
|
+
}
|
|
188
|
+
finally {
|
|
189
|
+
vi.useRealTimers();
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
//# sourceMappingURL=wait-with-idle-bound.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-with-idle-bound.test.js","sourceRoot":"","sources":["../../../../src/tools/coordinator/__tests__/wait-with-idle-bound.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,5 +98,24 @@ export interface CoordinatorToolsOptions {
|
|
|
98
98
|
* iteration ceiling both still apply above this.
|
|
99
99
|
*/
|
|
100
100
|
export declare const DELEGATION_TIMEOUT_MS: number;
|
|
101
|
+
/**
|
|
102
|
+
* How long a delegated worker may say nothing before the wait gives up.
|
|
103
|
+
*
|
|
104
|
+
* The hour above answers "how long is too long". It cannot also answer
|
|
105
|
+
* "how quiet is too quiet", because it has to be generous enough for a
|
|
106
|
+
* child doing real work — which makes it useless as a stall detector. A
|
|
107
|
+
* worker wedged in its second minute held the supervisor for another
|
|
108
|
+
* fifty-eight under that number alone.
|
|
109
|
+
*
|
|
110
|
+
* Five minutes of silence, because a worker between tool calls can be
|
|
111
|
+
* quiet for a while legitimately — a long model turn emits nothing until
|
|
112
|
+
* it starts streaming — and the cost of guessing low is killing a wait on
|
|
113
|
+
* a worker that was fine. Guessing high only delays a diagnosis. Set
|
|
114
|
+
* `NAMZU_DELEGATION_IDLE_MS` to change it.
|
|
115
|
+
*
|
|
116
|
+
* Only armed when the gateway can report progress at all; see
|
|
117
|
+
* `TaskGateway.onTaskProgress`.
|
|
118
|
+
*/
|
|
119
|
+
export declare const DELEGATION_IDLE_MS: number;
|
|
101
120
|
export declare function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefinition[];
|
|
102
121
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/coordinator/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,2BAA2B,CAAA;AAClF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/coordinator/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,2BAA2B,CAAA;AAClF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM/D,MAAM,MAAM,oBAAoB,GAAG,CAClC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACL,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC1B,KACG,IAAI,CAAA;AAET,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,WAAW,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,eAAe,EAAE,MAAM,EAAE,CAAA;IAEzB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb,cAAc,CAAC,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IAE9C,cAAc,CAAC,EAAE,oBAAoB,CAAA;IAErC;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IAEjC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAA;IAEpC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;CAC/B;AA+ID;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,qBAAqB,QAAiB,CAAA;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,QAAgE,CAAA;AAS/F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,EAAE,CA2vBrF"}
|
|
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { defineTool } from '../defineTool.js';
|
|
3
3
|
import { wrapUntrusted } from '../untrusted-envelope.js';
|
|
4
4
|
import { resolvePlanDependencies } from './plan-dependencies.js';
|
|
5
|
+
import { describeWaitTimeout, waitForTaskWithBounds } from './wait-with-idle-bound.js';
|
|
5
6
|
const approvePlanStepSchema = z.object({
|
|
6
7
|
description: z.string().describe('What this step does'),
|
|
7
8
|
agent_id: z
|
|
@@ -157,6 +158,32 @@ const LISTED_RESULT_LIMIT = 2_000;
|
|
|
157
158
|
* iteration ceiling both still apply above this.
|
|
158
159
|
*/
|
|
159
160
|
export const DELEGATION_TIMEOUT_MS = 60 * 60 * 1000;
|
|
161
|
+
/**
|
|
162
|
+
* How long a delegated worker may say nothing before the wait gives up.
|
|
163
|
+
*
|
|
164
|
+
* The hour above answers "how long is too long". It cannot also answer
|
|
165
|
+
* "how quiet is too quiet", because it has to be generous enough for a
|
|
166
|
+
* child doing real work — which makes it useless as a stall detector. A
|
|
167
|
+
* worker wedged in its second minute held the supervisor for another
|
|
168
|
+
* fifty-eight under that number alone.
|
|
169
|
+
*
|
|
170
|
+
* Five minutes of silence, because a worker between tool calls can be
|
|
171
|
+
* quiet for a while legitimately — a long model turn emits nothing until
|
|
172
|
+
* it starts streaming — and the cost of guessing low is killing a wait on
|
|
173
|
+
* a worker that was fine. Guessing high only delays a diagnosis. Set
|
|
174
|
+
* `NAMZU_DELEGATION_IDLE_MS` to change it.
|
|
175
|
+
*
|
|
176
|
+
* Only armed when the gateway can report progress at all; see
|
|
177
|
+
* `TaskGateway.onTaskProgress`.
|
|
178
|
+
*/
|
|
179
|
+
export const DELEGATION_IDLE_MS = readPositiveIntEnv('NAMZU_DELEGATION_IDLE_MS', 5 * 60 * 1000);
|
|
180
|
+
function readPositiveIntEnv(key, fallback) {
|
|
181
|
+
const value = process.env[key]?.trim();
|
|
182
|
+
if (!value)
|
|
183
|
+
return fallback;
|
|
184
|
+
const parsed = Number(value);
|
|
185
|
+
return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : fallback;
|
|
186
|
+
}
|
|
160
187
|
export function buildCoordinatorTools(opts) {
|
|
161
188
|
const { gateway, allowedAgentIds: agentIds, allowDelegation, taskStore, runId, getPlanManager, resumeHandler, questionParks, pendingAnswers, completionInbox,
|
|
162
189
|
// `onTaskLaunched` was the entry point for the old
|
|
@@ -256,7 +283,23 @@ export function buildCoordinatorTools(opts) {
|
|
|
256
283
|
// assistant turn, the runtime runs them together and delivers all
|
|
257
284
|
// N `tool_result`s at once. No second `tool_result` for the
|
|
258
285
|
// same `tool_use_id` — providers reject a duplicated id outright.
|
|
259
|
-
|
|
286
|
+
// Bounded by two clocks rather than one. The wait gives up on a
|
|
287
|
+
// worker that has gone quiet long before the hour is out, and says
|
|
288
|
+
// which of the two ran out — the caller acts on that difference.
|
|
289
|
+
// Giving up does NOT cancel the child: it keeps going, and its
|
|
290
|
+
// result still reaches the supervisor as a notification.
|
|
291
|
+
const outcome = await waitForTaskWithBounds(gateway, handle.taskId, {
|
|
292
|
+
runMs: DELEGATION_TIMEOUT_MS,
|
|
293
|
+
idleMs: DELEGATION_IDLE_MS,
|
|
294
|
+
});
|
|
295
|
+
if (outcome.kind === 'timeout') {
|
|
296
|
+
return {
|
|
297
|
+
success: false,
|
|
298
|
+
output: describeWaitTimeout(outcome),
|
|
299
|
+
data: { task_id: handle.taskId, agent_id, timed_out: outcome.cause },
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
const completed = outcome.handle;
|
|
260
303
|
// Whether this call is still the live path decides who delivers the
|
|
261
304
|
// result. If the executor already gave up on us — its deadline
|
|
262
305
|
// passed and the model was told "timed out, it may still be
|
|
@@ -319,52 +362,6 @@ export function buildCoordinatorTools(opts) {
|
|
|
319
362
|
};
|
|
320
363
|
},
|
|
321
364
|
});
|
|
322
|
-
const continueTask = defineTool({
|
|
323
|
-
name: 'continue_task',
|
|
324
|
-
description: "Send a follow-up message to a previously completed task and await the agent's next reply. BLOCKING: returns the agent's new output as this call's tool_result, the same shape as create_task. Only use this with a task_id from a previous create_task. To run multiple follow-ups in parallel, call this tool multiple times in a single assistant turn.",
|
|
325
|
-
inputSchema: z.object({
|
|
326
|
-
task_id: z.string().describe('Agent task ID from a previous create_task'),
|
|
327
|
-
message: z.string().describe('Follow-up instruction for the agent'),
|
|
328
|
-
}),
|
|
329
|
-
category: 'custom',
|
|
330
|
-
permissions: [],
|
|
331
|
-
readOnly: false,
|
|
332
|
-
destructive: false,
|
|
333
|
-
concurrencySafe: true,
|
|
334
|
-
// It waits on a child exactly as create_task does, so it inherits
|
|
335
|
-
// the same bound rather than the file-read default.
|
|
336
|
-
timeoutMs: DELEGATION_TIMEOUT_MS,
|
|
337
|
-
async execute({ task_id, message }, _context) {
|
|
338
|
-
await gateway.continueTask(task_id, message);
|
|
339
|
-
// Mirror create_task's blocking pattern: await the new
|
|
340
|
-
// completion and return the agent's output inline. The
|
|
341
|
-
// previous non-blocking shape ('You will receive a
|
|
342
|
-
// task-notification…') relied on a global
|
|
343
|
-
// onTaskCompleted listener that the iteration loop
|
|
344
|
-
// no longer registers (envelope path is dead).
|
|
345
|
-
const completed = await gateway.waitForTask(task_id);
|
|
346
|
-
// Same reasoning as create_task: the model already has a timeout
|
|
347
|
-
// for this call, so leaving the completion unclaimed is what sends
|
|
348
|
-
// it to the transcript as a notification.
|
|
349
|
-
if (_context.abortSignal?.aborted) {
|
|
350
|
-
return {
|
|
351
|
-
success: false,
|
|
352
|
-
output: `This wait was abandoned before task ${task_id} finished; its result will arrive separately as a task notification.`,
|
|
353
|
-
data: { task_id, abandoned: true },
|
|
354
|
-
};
|
|
355
|
-
}
|
|
356
|
-
completionInbox?.claim(task_id);
|
|
357
|
-
const success = completed.state === 'completed';
|
|
358
|
-
const resultText = completed.result?.result ??
|
|
359
|
-
completed.result?.lastError ??
|
|
360
|
-
`Task finished with state: ${completed.state}`;
|
|
361
|
-
return {
|
|
362
|
-
success,
|
|
363
|
-
output: resultText,
|
|
364
|
-
data: { task_id, state: completed.state },
|
|
365
|
-
};
|
|
366
|
-
},
|
|
367
|
-
});
|
|
368
365
|
/**
|
|
369
366
|
* Join a task already running, without sending it anything.
|
|
370
367
|
*
|
|
@@ -397,7 +394,18 @@ export function buildCoordinatorTools(opts) {
|
|
|
397
394
|
data: { task_id },
|
|
398
395
|
};
|
|
399
396
|
}
|
|
400
|
-
const
|
|
397
|
+
const outcome = await waitForTaskWithBounds(gateway, task_id, {
|
|
398
|
+
runMs: DELEGATION_TIMEOUT_MS,
|
|
399
|
+
idleMs: DELEGATION_IDLE_MS,
|
|
400
|
+
});
|
|
401
|
+
if (outcome.kind === 'timeout') {
|
|
402
|
+
return {
|
|
403
|
+
success: false,
|
|
404
|
+
output: describeWaitTimeout(outcome),
|
|
405
|
+
data: { task_id, timed_out: outcome.cause },
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
const completed = outcome.handle;
|
|
401
409
|
if (_context.abortSignal?.aborted) {
|
|
402
410
|
return {
|
|
403
411
|
success: false,
|
|
@@ -527,18 +535,32 @@ export function buildCoordinatorTools(opts) {
|
|
|
527
535
|
};
|
|
528
536
|
},
|
|
529
537
|
});
|
|
530
|
-
// `continue_task`
|
|
531
|
-
//
|
|
532
|
-
//
|
|
533
|
-
//
|
|
534
|
-
//
|
|
535
|
-
//
|
|
536
|
-
//
|
|
537
|
-
//
|
|
538
|
-
//
|
|
539
|
-
//
|
|
540
|
-
//
|
|
541
|
-
|
|
538
|
+
// `continue_task` is gone, and the reasoning is worth keeping because
|
|
539
|
+
// the obvious argument for bringing it back does not survive contact.
|
|
540
|
+
//
|
|
541
|
+
// It was dropped on the grounds that a blocking `create_task` leaves every
|
|
542
|
+
// worker terminal before a later turn learns its id, and the manager
|
|
543
|
+
// refuses `continue` on a terminal task. `background: true` reinstated that
|
|
544
|
+
// precondition — a live id is reachable now — so the question was reopened.
|
|
545
|
+
//
|
|
546
|
+
// Measured rather than assumed, and it fails on the other side. On a LIVE
|
|
547
|
+
// task the manager accepts the call and pushes onto `pendingMessages`,
|
|
548
|
+
// and NOTHING drains that queue during a run. This codebase already
|
|
549
|
+
// knows: `runtime/query/steering.ts` says in as many words that
|
|
550
|
+
// `queueMessage`/`drainMessages` were never read by the iteration loop,
|
|
551
|
+
// and `SteeringChannel` exists BECAUSE of that — it delivers guidance on a
|
|
552
|
+
// tool result instead, since a `tool_use` must be answered by a
|
|
553
|
+
// `tool_result` with the same id and there is no legal slot for a user
|
|
554
|
+
// message mid-batch.
|
|
555
|
+
//
|
|
556
|
+
// So the tool had no state it worked in: terminal tasks refuse it, live
|
|
557
|
+
// tasks accept it into a queue nobody reads. Registering it would have
|
|
558
|
+
// handed the model a call that silently does nothing — worse than the
|
|
559
|
+
// unregistered definition it replaced, because a defined-but-unreachable
|
|
560
|
+
// tool at least cannot be called.
|
|
561
|
+
//
|
|
562
|
+
// If follow-ups on a live worker are wanted, the work is a consumer for
|
|
563
|
+
// the queue or a steering channel that reaches a child, not this tool.
|
|
542
564
|
// `cancel_task` is registered again, and the reasoning that dropped it is
|
|
543
565
|
// worth keeping because it was sound at the time and is not any more.
|
|
544
566
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/coordinator/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/coordinator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { TaskGateway, TaskHandle } from '../../types/agent/gateway.js';
|
|
2
|
+
import type { TaskId } from '../../types/ids/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Waiting on a delegated worker, bounded by two different questions.
|
|
5
|
+
*
|
|
6
|
+
* A wall clock alone is the wrong instrument. It has to be long enough to
|
|
7
|
+
* serve as the outer bound for a child doing real work — an hour, here — and
|
|
8
|
+
* that is far too long to notice a child that wedged in its second minute.
|
|
9
|
+
* The same number cannot be both "how long is too long" and "how quiet is too
|
|
10
|
+
* quiet", so this keeps them apart:
|
|
11
|
+
*
|
|
12
|
+
* - the **run bound** counts elapsed time and is never refreshed. It exists
|
|
13
|
+
* for a worker that stays busy forever.
|
|
14
|
+
* - the **idle bound** counts time since the worker last did anything, and
|
|
15
|
+
* resets whenever it does. It exists for a worker that stopped.
|
|
16
|
+
*
|
|
17
|
+
* Whichever fires first ends the wait, and the result says WHICH — because
|
|
18
|
+
* "it went quiet" and "it ran too long" are different diagnoses and lead to
|
|
19
|
+
* different next moves. Telling a caller its worker timed out when the worker
|
|
20
|
+
* was making steady progress is the failure this replaces.
|
|
21
|
+
*
|
|
22
|
+
* The idle bound is only armed when the gateway can report progress.
|
|
23
|
+
* `onTaskProgress` is optional on the contract, because hosts implement
|
|
24
|
+
* `TaskGateway` and not all of them can observe their children — so a gateway
|
|
25
|
+
* without it is bounded by the wall clock alone, exactly as before. That is a
|
|
26
|
+
* real degradation and it is deliberately visible in the result rather than
|
|
27
|
+
* silent: `idleBoundArmed` says whether the quieter half was ever watching.
|
|
28
|
+
*/
|
|
29
|
+
export type WaitOutcome = {
|
|
30
|
+
readonly kind: 'completed';
|
|
31
|
+
readonly handle: TaskHandle;
|
|
32
|
+
} | {
|
|
33
|
+
readonly kind: 'timeout';
|
|
34
|
+
/** Which clock ran out. */
|
|
35
|
+
readonly cause: 'idle' | 'run';
|
|
36
|
+
readonly elapsedMs: number;
|
|
37
|
+
/** False when the gateway cannot report progress, so only the wall clock applied. */
|
|
38
|
+
readonly idleBoundArmed: boolean;
|
|
39
|
+
};
|
|
40
|
+
export interface WaitBounds {
|
|
41
|
+
/** Elapsed-time ceiling, never refreshed. */
|
|
42
|
+
readonly runMs: number;
|
|
43
|
+
/**
|
|
44
|
+
* Time-without-progress ceiling, refreshed on every progress signal.
|
|
45
|
+
*
|
|
46
|
+
* Omit to bound by the run clock alone.
|
|
47
|
+
*/
|
|
48
|
+
readonly idleMs?: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Await a task under both bounds.
|
|
52
|
+
*
|
|
53
|
+
* Note what this does NOT do: it does not cancel the worker. A wait that ran
|
|
54
|
+
* out is a statement about the waiter, not about the work — the child keeps
|
|
55
|
+
* going, its completion still reaches the inbox, and the supervisor is still
|
|
56
|
+
* told what it produced. Killing a child because a parent stopped waiting was
|
|
57
|
+
* never asked for, and losing an eight-minute worker's output because a
|
|
58
|
+
* two-minute clock expired is the exact shape of the bug this whole area has
|
|
59
|
+
* been unpicking.
|
|
60
|
+
*/
|
|
61
|
+
export declare function waitForTaskWithBounds(gateway: TaskGateway, taskId: TaskId, bounds: WaitBounds, now?: () => number): Promise<WaitOutcome>;
|
|
62
|
+
/** What to tell the model, in the words that fit what actually happened. */
|
|
63
|
+
export declare function describeWaitTimeout(outcome: Extract<WaitOutcome, {
|
|
64
|
+
kind: 'timeout';
|
|
65
|
+
}>): string;
|
|
66
|
+
//# sourceMappingURL=wait-with-idle-bound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-with-idle-bound.d.ts","sourceRoot":"","sources":["../../../src/tools/coordinator/wait-with-idle-bound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,WAAW,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAC3D;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;CAC/B,CAAA;AAEJ,MAAM,WAAW,UAAU;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,EAClB,GAAG,GAAE,MAAM,MAAiB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAsDtB;AAWD,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,GAAG,MAAM,CAQ9F"}
|