@namzu/sdk 6.2.0 → 8.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 +677 -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 +172 -158
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/__tests__/supervisor-inbox-scope.test.d.ts +2 -0
- package/dist/agents/__tests__/supervisor-inbox-scope.test.d.ts.map +1 -0
- package/dist/agents/__tests__/supervisor-inbox-scope.test.js +125 -0
- package/dist/agents/__tests__/supervisor-inbox-scope.test.js.map +1 -0
- 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/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +4 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +24 -0
- package/dist/bridge/sse/mapper.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/contracts/api.d.ts +1 -1
- package/dist/contracts/api.d.ts.map +1 -1
- package/dist/gateway/__tests__/completion-inbox.test.js +292 -2
- package/dist/gateway/__tests__/completion-inbox.test.js.map +1 -1
- package/dist/gateway/completion-inbox.d.ts +94 -6
- package/dist/gateway/completion-inbox.d.ts.map +1 -1
- package/dist/gateway/completion-inbox.js +235 -15
- package/dist/gateway/completion-inbox.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/manager/run/persistence.d.ts +8 -0
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +12 -0
- package/dist/manager/run/persistence.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/run/reporter.d.ts.map +1 -1
- package/dist/run/reporter.js +11 -0
- package/dist/run/reporter.js.map +1 -1
- package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.js +142 -0
- package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.js.map +1 -0
- package/dist/runtime/query/__tests__/completion-notification.test.js +414 -32
- package/dist/runtime/query/__tests__/completion-notification.test.js.map +1 -1
- package/dist/runtime/query/__tests__/context-size-on-the-wire.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/context-size-on-the-wire.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/context-size-on-the-wire.test.js +100 -0
- package/dist/runtime/query/__tests__/context-size-on-the-wire.test.js.map +1 -0
- 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/guard.d.ts +28 -0
- package/dist/runtime/query/guard.d.ts.map +1 -1
- package/dist/runtime/query/guard.js +31 -0
- package/dist/runtime/query/guard.js.map +1 -1
- package/dist/runtime/query/iteration/__tests__/settle-grace.test.d.ts +2 -0
- package/dist/runtime/query/iteration/__tests__/settle-grace.test.d.ts.map +1 -0
- package/dist/runtime/query/iteration/__tests__/settle-grace.test.js +226 -0
- package/dist/runtime/query/iteration/__tests__/settle-grace.test.js.map +1 -0
- package/dist/runtime/query/iteration/index.d.ts +92 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +818 -565
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.d.ts +2 -0
- package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.js +95 -0
- package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.js.map +1 -0
- package/dist/runtime/query/iteration/phases/compaction.d.ts +34 -0
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +61 -4
- package/dist/runtime/query/iteration/phases/compaction.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/__tests__/untrusted-envelope.test.js +16 -0
- package/dist/tools/__tests__/untrusted-envelope.test.js.map +1 -1
- package/dist/tools/coordinator/__tests__/completion-delivery.test.js +117 -0
- package/dist/tools/coordinator/__tests__/completion-delivery.test.js.map +1 -1
- package/dist/tools/coordinator/__tests__/task-list.test.js +57 -0
- package/dist/tools/coordinator/__tests__/task-list.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 +191 -71
- 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/tools/untrusted-envelope.d.ts.map +1 -1
- package/dist/tools/untrusted-envelope.js +9 -1
- package/dist/tools/untrusted-envelope.js.map +1 -1
- 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 +41 -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/provider/interface.d.ts +35 -0
- package/dist/types/provider/interface.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/types/run/entity.d.ts +16 -0
- package/dist/types/run/entity.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +75 -0
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/run/prepare-step.d.ts +17 -2
- package/dist/types/run/prepare-step.d.ts.map +1 -1
- package/dist/types/verification/index.d.ts +98 -0
- package/dist/types/verification/index.d.ts.map +1 -1
- package/dist/types/verification/index.js +10 -0
- package/dist/types/verification/index.js.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__/argument-pattern.test.d.ts +2 -0
- package/dist/verification/__tests__/argument-pattern.test.d.ts.map +1 -0
- package/dist/verification/__tests__/argument-pattern.test.js +122 -0
- package/dist/verification/__tests__/argument-pattern.test.js.map +1 -0
- 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 +102 -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/dist/verification/rules.d.ts.map +1 -1
- package/dist/verification/rules.js +27 -0
- package/dist/verification/rules.js.map +1 -1
- package/package.json +1 -1
- package/src/agents/ReactiveAgent.ts +5 -0
- package/src/agents/SupervisorAgent.ts +175 -162
- package/src/agents/__tests__/supervisor-inbox-scope.test.ts +149 -0
- package/src/agents/runAgent.ts +22 -1
- package/src/bridge/a2a/mapper.ts +4 -0
- package/src/bridge/sse/mapper.ts +25 -0
- 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/contracts/api.ts +1 -0
- package/src/gateway/__tests__/completion-inbox.test.ts +348 -2
- package/src/gateway/completion-inbox.ts +248 -16
- package/src/gateway/local.ts +26 -1
- package/src/manager/agent/lifecycle.ts +6 -0
- package/src/manager/run/persistence.ts +12 -0
- package/src/provider/thinking-support.ts +19 -2
- package/src/public-runtime.ts +9 -0
- package/src/run/reporter.ts +12 -0
- package/src/runtime/query/__tests__/completion-does-not-erase-the-answer.test.ts +163 -0
- package/src/runtime/query/__tests__/completion-notification.test.ts +486 -34
- package/src/runtime/query/__tests__/context-size-on-the-wire.test.ts +122 -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/guard.ts +32 -0
- package/src/runtime/query/iteration/__tests__/settle-grace.test.ts +265 -0
- package/src/runtime/query/iteration/index.ts +906 -635
- package/src/runtime/query/iteration/phases/__tests__/compaction-declined.test.ts +124 -0
- package/src/runtime/query/iteration/phases/compaction.ts +83 -10
- package/src/telemetry/__tests__/model-call-span.test.ts +22 -5
- package/src/telemetry/__tests__/span-closure.test.ts +12 -5
- package/src/tools/__tests__/untrusted-envelope.test.ts +23 -0
- package/src/tools/coordinator/__tests__/completion-delivery.test.ts +147 -0
- package/src/tools/coordinator/__tests__/task-list.test.ts +72 -0
- package/src/tools/coordinator/__tests__/wait-with-idle-bound.test.ts +247 -0
- package/src/tools/coordinator/index.ts +205 -78
- package/src/tools/coordinator/wait-with-idle-bound.ts +142 -0
- package/src/tools/untrusted-envelope.ts +9 -1
- package/src/types/agent/base.ts +17 -0
- package/src/types/agent/gateway.ts +42 -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/provider/interface.ts +39 -0
- package/src/types/run/config.ts +26 -0
- package/src/types/run/entity.ts +17 -0
- package/src/types/run/events.ts +75 -0
- package/src/types/run/prepare-step.ts +17 -2
- package/src/types/verification/index.ts +61 -0
- package/src/utils/__tests__/abort-reason.test.ts +56 -0
- package/src/utils/abort.ts +34 -0
- package/src/verification/__tests__/argument-pattern.test.ts +158 -0
- package/src/verification/__tests__/rule-order-and-reason.test.ts +149 -0
- package/src/verification/gate.ts +106 -3
- package/src/verification/index.ts +1 -1
- package/src/verification/rules.ts +28 -0
|
@@ -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,CAs2BrF"}
|
|
@@ -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
|
|
@@ -169,9 +196,61 @@ export function buildCoordinatorTools(opts) {
|
|
|
169
196
|
const cwd = opts.workingDirectory;
|
|
170
197
|
void opts.onTaskLaunched;
|
|
171
198
|
const agentIdEnum = delegateSchema(agentIds);
|
|
199
|
+
/**
|
|
200
|
+
* Whether a launch can be made with nothing waiting on it.
|
|
201
|
+
*
|
|
202
|
+
* A background launch returns a task id and promises the result "later, as
|
|
203
|
+
* a task notification". The only thing that keeps that promise is the
|
|
204
|
+
* inbox: it is what holds the run open for an outstanding worker and what
|
|
205
|
+
* puts the completion into the transcript. With no inbox the tool told the
|
|
206
|
+
* model to expect a message on a channel that does not exist — measured,
|
|
207
|
+
* and the launch itself succeeded, so nothing failed loudly either.
|
|
208
|
+
*
|
|
209
|
+
* Withheld rather than refused per call, and rather than thrown at
|
|
210
|
+
* construction. Least functionality (NIST SP 800-53 Rev. 5 CM-7: provide
|
|
211
|
+
* only mission-essential capabilities): a parameter the model is never
|
|
212
|
+
* shown costs it nothing, where a parameter it is shown and then denied
|
|
213
|
+
* costs prompt-prefix tokens plus an iteration per attempt. And a throw
|
|
214
|
+
* would break a legitimate caller — an inbox-less coordinator surface is a
|
|
215
|
+
* supported configuration whose blocking path is unaffected, pinned by a
|
|
216
|
+
* test ("runs unchanged with no inbox at all"). That is the same reasoning
|
|
217
|
+
* that made an empty roster WITHHOLD `create_task` rather than refuse to
|
|
218
|
+
* build, and it is one parameter wide here for the same reason it was one
|
|
219
|
+
* tool wide there.
|
|
220
|
+
*/
|
|
221
|
+
const canLaunchInBackground = completionInbox !== undefined;
|
|
222
|
+
const backgroundClause = canLaunchInBackground
|
|
223
|
+
? " By default this BLOCKS and returns the agent's final output as this call's tool_result; pass background: true to get a task_id back immediately and receive the result later as a task notification."
|
|
224
|
+
: " This BLOCKS and returns the agent's final output as this call's tool_result.";
|
|
225
|
+
/**
|
|
226
|
+
* What to tell the model when a wait was cut short.
|
|
227
|
+
*
|
|
228
|
+
* The worker keeps going either way — giving up on a wait is a statement
|
|
229
|
+
* about the waiter, not about the work. Where the result then turns up is
|
|
230
|
+
* NOT the same either way, and the tool said it was: it promised a task
|
|
231
|
+
* notification unconditionally, which without an inbox is a message on a
|
|
232
|
+
* channel that does not exist. A model told to expect one waits for it,
|
|
233
|
+
* and the one tool that could still reach the output is the one it was
|
|
234
|
+
* told not to use for this.
|
|
235
|
+
*/
|
|
236
|
+
const whereTheResultWillTurnUp = (taskId) => completionInbox
|
|
237
|
+
? `its result will arrive separately as a task notification (task ${taskId}).`
|
|
238
|
+
: `it is still running as task ${taskId} — call wait_for_task with that id, or find it in agent_task_list once it finishes. Nothing will announce it on its own.`;
|
|
239
|
+
/**
|
|
240
|
+
* The listing's standing advice, which depends on there being an inbox.
|
|
241
|
+
*
|
|
242
|
+
* "Do not call this to find out whether work finished" is right when a
|
|
243
|
+
* notification is coming. With no inbox an abandoned blocking launch has
|
|
244
|
+
* no announcer at all, and this listing is the only way left to reach the
|
|
245
|
+
* output — so the same sentence would send the model away from the one
|
|
246
|
+
* tool that could help it.
|
|
247
|
+
*/
|
|
248
|
+
const listingAdvice = completionInbox
|
|
249
|
+
? "Do NOT call this to find out whether work finished: a blocking create_task has already returned each worker's output, and a backgrounded one arrives as a task notification. Use it when you need to see what is still running, or to re-read the output of a task whose launch you stopped waiting for."
|
|
250
|
+
: "A blocking create_task already returns each worker's output, so do not call this in a loop to find out whether work finished. Nothing announces a completion on this configuration, so this listing and wait_for_task are how you reach the output of a task whose launch you stopped waiting for.";
|
|
172
251
|
const createTask = defineTool({
|
|
173
252
|
name: 'create_task',
|
|
174
|
-
description: `Launch a task on a specialized agent
|
|
253
|
+
description: `Launch a task on a specialized agent.${backgroundClause} Available agents: ${agentIds.join(', ')}. Prefer compact assignments; for large context, write/read shared workspace files and pass filenames or references. To launch multiple tasks in parallel, call this tool multiple times in a single assistant turn — the runtime executes every tool_use block from one response concurrently and delivers all tool_results together, so 'fan out 8 specialists' is one assistant message with 8 create_task blocks. Do not race: until a worker's result reaches you, you know nothing about it — never fabricate, summarise or predict what it will say, in any form.`,
|
|
175
254
|
inputSchema: z.object({
|
|
176
255
|
agent_id: agentIdEnum.describe('Which agent to run'),
|
|
177
256
|
prompt: z
|
|
@@ -182,10 +261,14 @@ export function buildCoordinatorTools(opts) {
|
|
|
182
261
|
.string()
|
|
183
262
|
.optional()
|
|
184
263
|
.describe('Existing planning task ID to link. If omitted, a planning task is auto-created.'),
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
264
|
+
...(canLaunchInBackground
|
|
265
|
+
? {
|
|
266
|
+
background: z
|
|
267
|
+
.boolean()
|
|
268
|
+
.optional()
|
|
269
|
+
.describe('Return immediately with a task_id instead of waiting. The result arrives later as a task notification. Use this when you have other work to do meanwhile; leave it off when the next thing you do depends on this answer.'),
|
|
270
|
+
}
|
|
271
|
+
: {}),
|
|
189
272
|
}),
|
|
190
273
|
category: 'custom',
|
|
191
274
|
permissions: [],
|
|
@@ -226,6 +309,31 @@ export function buildCoordinatorTools(opts) {
|
|
|
226
309
|
// shows up inside the turn that asked for it.
|
|
227
310
|
...(_context.parentSpan ? { parentSpan: _context.parentSpan } : {}),
|
|
228
311
|
});
|
|
312
|
+
// Whose task this is. The inbox ignores completions for anything it
|
|
313
|
+
// was not told about, because `onTaskCompleted` is a broadcast and a
|
|
314
|
+
// gateway shared between two supervisors would otherwise hand each
|
|
315
|
+
// of them the other's worker output. Said on BOTH paths: the
|
|
316
|
+
// blocking one needs it too, because the case the inbox exists for
|
|
317
|
+
// is exactly the blocking launch whose wait was abandoned.
|
|
318
|
+
completionInbox?.launched(handle.taskId);
|
|
319
|
+
// A background launch asked for with nowhere to deliver it is
|
|
320
|
+
// REFUSED, not quietly turned into a blocking one.
|
|
321
|
+
//
|
|
322
|
+
// The schema withholds the parameter and Zod strips what it does
|
|
323
|
+
// not declare, so this is unreachable through the model; it exists
|
|
324
|
+
// for a directly-constructed definition. Falling back to blocking
|
|
325
|
+
// would have been the tempting answer — the caller does get the
|
|
326
|
+
// output — but it is accepting work whose stated terms cannot be
|
|
327
|
+
// met, and the caller asked for a call that returns immediately.
|
|
328
|
+
// Naming the missing piece is the only response that tells them
|
|
329
|
+
// what to change.
|
|
330
|
+
if (background && !canLaunchInBackground) {
|
|
331
|
+
return {
|
|
332
|
+
success: false,
|
|
333
|
+
output: '',
|
|
334
|
+
error: 'background: true needs a CompletionInbox — without one there is no channel for the notification this launch promises. Pass `completionInbox` to buildCoordinatorTools and the same instance to drainQuery, or omit `background` to wait for the result inline.',
|
|
335
|
+
};
|
|
336
|
+
}
|
|
229
337
|
if (background) {
|
|
230
338
|
// Tell the inbox to hold the run open for this. Without it the
|
|
231
339
|
// supervisor could launch a worker, answer, and settle the run
|
|
@@ -256,7 +364,23 @@ export function buildCoordinatorTools(opts) {
|
|
|
256
364
|
// assistant turn, the runtime runs them together and delivers all
|
|
257
365
|
// N `tool_result`s at once. No second `tool_result` for the
|
|
258
366
|
// same `tool_use_id` — providers reject a duplicated id outright.
|
|
259
|
-
|
|
367
|
+
// Bounded by two clocks rather than one. The wait gives up on a
|
|
368
|
+
// worker that has gone quiet long before the hour is out, and says
|
|
369
|
+
// which of the two ran out — the caller acts on that difference.
|
|
370
|
+
// Giving up does NOT cancel the child: it keeps going, and its
|
|
371
|
+
// result still reaches the supervisor as a notification.
|
|
372
|
+
const outcome = await waitForTaskWithBounds(gateway, handle.taskId, {
|
|
373
|
+
runMs: DELEGATION_TIMEOUT_MS,
|
|
374
|
+
idleMs: DELEGATION_IDLE_MS,
|
|
375
|
+
});
|
|
376
|
+
if (outcome.kind === 'timeout') {
|
|
377
|
+
return {
|
|
378
|
+
success: false,
|
|
379
|
+
output: describeWaitTimeout(outcome),
|
|
380
|
+
data: { task_id: handle.taskId, agent_id, timed_out: outcome.cause },
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
const completed = outcome.handle;
|
|
260
384
|
// Whether this call is still the live path decides who delivers the
|
|
261
385
|
// result. If the executor already gave up on us — its deadline
|
|
262
386
|
// passed and the model was told "timed out, it may still be
|
|
@@ -271,7 +395,7 @@ export function buildCoordinatorTools(opts) {
|
|
|
271
395
|
if (_context.abortSignal?.aborted) {
|
|
272
396
|
return {
|
|
273
397
|
success: false,
|
|
274
|
-
output: `This wait was abandoned before ${agent_id} finished;
|
|
398
|
+
output: `This wait was abandoned before ${agent_id} finished; ${whereTheResultWillTurnUp(handle.taskId)}`,
|
|
275
399
|
data: { task_id: handle.taskId, agent_id, abandoned: true },
|
|
276
400
|
};
|
|
277
401
|
}
|
|
@@ -319,52 +443,6 @@ export function buildCoordinatorTools(opts) {
|
|
|
319
443
|
};
|
|
320
444
|
},
|
|
321
445
|
});
|
|
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
446
|
/**
|
|
369
447
|
* Join a task already running, without sending it anything.
|
|
370
448
|
*
|
|
@@ -397,11 +475,22 @@ export function buildCoordinatorTools(opts) {
|
|
|
397
475
|
data: { task_id },
|
|
398
476
|
};
|
|
399
477
|
}
|
|
400
|
-
const
|
|
478
|
+
const outcome = await waitForTaskWithBounds(gateway, task_id, {
|
|
479
|
+
runMs: DELEGATION_TIMEOUT_MS,
|
|
480
|
+
idleMs: DELEGATION_IDLE_MS,
|
|
481
|
+
});
|
|
482
|
+
if (outcome.kind === 'timeout') {
|
|
483
|
+
return {
|
|
484
|
+
success: false,
|
|
485
|
+
output: describeWaitTimeout(outcome),
|
|
486
|
+
data: { task_id, timed_out: outcome.cause },
|
|
487
|
+
};
|
|
488
|
+
}
|
|
489
|
+
const completed = outcome.handle;
|
|
401
490
|
if (_context.abortSignal?.aborted) {
|
|
402
491
|
return {
|
|
403
492
|
success: false,
|
|
404
|
-
output: `This wait was abandoned before task ${task_id} finished;
|
|
493
|
+
output: `This wait was abandoned before task ${task_id} finished; ${whereTheResultWillTurnUp(task_id)}`,
|
|
405
494
|
data: { task_id, abandoned: true },
|
|
406
495
|
};
|
|
407
496
|
}
|
|
@@ -454,7 +543,7 @@ export function buildCoordinatorTools(opts) {
|
|
|
454
543
|
});
|
|
455
544
|
const agentTaskList = defineTool({
|
|
456
545
|
name: 'agent_task_list',
|
|
457
|
-
description:
|
|
546
|
+
description: `Inspect the live state of every agent task launched on this gateway via create_task: returns each task's id, agent, state (pending/running/completed/failed/canceled), and timing. Distinct from the plan-task store's \`task_list\` (which lists planning tasks): this tool lists running/completed worker invocations. ${listingAdvice}`,
|
|
458
547
|
inputSchema: z.object({
|
|
459
548
|
state: z
|
|
460
549
|
.enum(['pending', 'running', 'completed', 'failed', 'canceled'])
|
|
@@ -510,9 +599,26 @@ export function buildCoordinatorTools(opts) {
|
|
|
510
599
|
// task had finished while withholding what it said.
|
|
511
600
|
if (i.result === undefined)
|
|
512
601
|
return head;
|
|
513
|
-
const
|
|
514
|
-
|
|
515
|
-
|
|
602
|
+
const overLimit = i.result.length > LISTED_RESULT_LIMIT;
|
|
603
|
+
// Framed exactly as the blocking `create_task` and
|
|
604
|
+
// `wait_for_task` frame the same bytes. This listing was the
|
|
605
|
+
// third way to read a delegate's output and the only one that
|
|
606
|
+
// pasted it bare — so a worker's text was material on two
|
|
607
|
+
// paths and read as the parent's own reasoning on the third,
|
|
608
|
+
// and which one a run got depended on how the model chose to
|
|
609
|
+
// fetch it.
|
|
610
|
+
const framed = wrapUntrusted({
|
|
611
|
+
kind: 'agent-result',
|
|
612
|
+
attributes: { agent: i.agent_id, task: i.task_id },
|
|
613
|
+
provenance: `This is the output of the delegated agent "${i.agent_id}", not this agent's own work.`,
|
|
614
|
+
}, overLimit ? i.result.slice(0, LISTED_RESULT_LIMIT) : i.result);
|
|
615
|
+
// After the closing tag, not inside it: this sentence is the
|
|
616
|
+
// kernel telling the model how to get the rest, and inside
|
|
617
|
+
// the envelope it has just been told the contents are not
|
|
618
|
+
// instructions addressed to it.
|
|
619
|
+
const body = overLimit
|
|
620
|
+
? `${framed}\n… truncated; call wait_for_task with "${i.task_id}" for the whole thing.`
|
|
621
|
+
: framed;
|
|
516
622
|
return `${head}\n${body
|
|
517
623
|
.split('\n')
|
|
518
624
|
.map((line) => ` ${line}`)
|
|
@@ -527,18 +633,32 @@ export function buildCoordinatorTools(opts) {
|
|
|
527
633
|
};
|
|
528
634
|
},
|
|
529
635
|
});
|
|
530
|
-
// `continue_task`
|
|
531
|
-
//
|
|
532
|
-
//
|
|
533
|
-
//
|
|
534
|
-
//
|
|
535
|
-
//
|
|
536
|
-
//
|
|
537
|
-
//
|
|
538
|
-
//
|
|
539
|
-
//
|
|
540
|
-
//
|
|
541
|
-
|
|
636
|
+
// `continue_task` is gone, and the reasoning is worth keeping because
|
|
637
|
+
// the obvious argument for bringing it back does not survive contact.
|
|
638
|
+
//
|
|
639
|
+
// It was dropped on the grounds that a blocking `create_task` leaves every
|
|
640
|
+
// worker terminal before a later turn learns its id, and the manager
|
|
641
|
+
// refuses `continue` on a terminal task. `background: true` reinstated that
|
|
642
|
+
// precondition — a live id is reachable now — so the question was reopened.
|
|
643
|
+
//
|
|
644
|
+
// Measured rather than assumed, and it fails on the other side. On a LIVE
|
|
645
|
+
// task the manager accepts the call and pushes onto `pendingMessages`,
|
|
646
|
+
// and NOTHING drains that queue during a run. This codebase already
|
|
647
|
+
// knows: `runtime/query/steering.ts` says in as many words that
|
|
648
|
+
// `queueMessage`/`drainMessages` were never read by the iteration loop,
|
|
649
|
+
// and `SteeringChannel` exists BECAUSE of that — it delivers guidance on a
|
|
650
|
+
// tool result instead, since a `tool_use` must be answered by a
|
|
651
|
+
// `tool_result` with the same id and there is no legal slot for a user
|
|
652
|
+
// message mid-batch.
|
|
653
|
+
//
|
|
654
|
+
// So the tool had no state it worked in: terminal tasks refuse it, live
|
|
655
|
+
// tasks accept it into a queue nobody reads. Registering it would have
|
|
656
|
+
// handed the model a call that silently does nothing — worse than the
|
|
657
|
+
// unregistered definition it replaced, because a defined-but-unreachable
|
|
658
|
+
// tool at least cannot be called.
|
|
659
|
+
//
|
|
660
|
+
// If follow-ups on a live worker are wanted, the work is a consumer for
|
|
661
|
+
// the queue or a steering channel that reaches a child, not this tool.
|
|
542
662
|
// `cancel_task` is registered again, and the reasoning that dropped it is
|
|
543
663
|
// worth keeping because it was sound at the time and is not any more.
|
|
544
664
|
//
|
|
@@ -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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Await a task under both bounds.
|
|
3
|
+
*
|
|
4
|
+
* Note what this does NOT do: it does not cancel the worker. A wait that ran
|
|
5
|
+
* out is a statement about the waiter, not about the work — the child keeps
|
|
6
|
+
* going, its completion still reaches the inbox, and the supervisor is still
|
|
7
|
+
* told what it produced. Killing a child because a parent stopped waiting was
|
|
8
|
+
* never asked for, and losing an eight-minute worker's output because a
|
|
9
|
+
* two-minute clock expired is the exact shape of the bug this whole area has
|
|
10
|
+
* been unpicking.
|
|
11
|
+
*/
|
|
12
|
+
export async function waitForTaskWithBounds(gateway, taskId, bounds, now = Date.now) {
|
|
13
|
+
const startedAt = now();
|
|
14
|
+
let lastProgressAt = startedAt;
|
|
15
|
+
let settled = false;
|
|
16
|
+
const detach = gateway.onTaskProgress?.((id) => {
|
|
17
|
+
if (id === taskId)
|
|
18
|
+
lastProgressAt = now();
|
|
19
|
+
});
|
|
20
|
+
const idleBoundArmed = detach !== undefined && bounds.idleMs !== undefined;
|
|
21
|
+
try {
|
|
22
|
+
const completion = gateway.waitForTask(taskId).then((handle) => ({ kind: 'completed', handle }),
|
|
23
|
+
// A gateway that rejects has answered the question; let it through
|
|
24
|
+
// rather than reporting a timeout that did not happen.
|
|
25
|
+
(err) => {
|
|
26
|
+
throw err;
|
|
27
|
+
});
|
|
28
|
+
const expiry = new Promise((resolve) => {
|
|
29
|
+
// Polled rather than scheduled, because the idle deadline MOVES: a
|
|
30
|
+
// timer armed for it would have to be cleared and rearmed on every
|
|
31
|
+
// tick of progress, and the one that slipped through would be the
|
|
32
|
+
// one that mattered. A coarse tick is enough — these bounds are
|
|
33
|
+
// minutes, and being a second late to notice silence costs nothing.
|
|
34
|
+
const tick = setInterval(() => {
|
|
35
|
+
if (settled)
|
|
36
|
+
return;
|
|
37
|
+
const elapsed = now() - startedAt;
|
|
38
|
+
if (elapsed >= bounds.runMs) {
|
|
39
|
+
clearInterval(tick);
|
|
40
|
+
resolve({ kind: 'timeout', cause: 'run', elapsedMs: elapsed, idleBoundArmed });
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (idleBoundArmed && bounds.idleMs !== undefined) {
|
|
44
|
+
const quietFor = now() - lastProgressAt;
|
|
45
|
+
if (quietFor >= bounds.idleMs) {
|
|
46
|
+
clearInterval(tick);
|
|
47
|
+
resolve({ kind: 'timeout', cause: 'idle', elapsedMs: elapsed, idleBoundArmed });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, POLL_INTERVAL_MS);
|
|
51
|
+
tick.unref?.();
|
|
52
|
+
});
|
|
53
|
+
return await Promise.race([completion, expiry]);
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
settled = true;
|
|
57
|
+
detach?.();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* How often the bounds are checked.
|
|
62
|
+
*
|
|
63
|
+
* Coarse on purpose: both bounds are measured in minutes, so a second of
|
|
64
|
+
* latency in noticing is irrelevant, and a tight interval would spend a timer
|
|
65
|
+
* wakeup per second per in-flight worker for nothing.
|
|
66
|
+
*/
|
|
67
|
+
const POLL_INTERVAL_MS = 1_000;
|
|
68
|
+
/** What to tell the model, in the words that fit what actually happened. */
|
|
69
|
+
export function describeWaitTimeout(outcome) {
|
|
70
|
+
const seconds = Math.round(outcome.elapsedMs / 1000);
|
|
71
|
+
if (outcome.cause === 'idle') {
|
|
72
|
+
return `This worker went quiet: nothing has come from it for a while, after ${seconds}s. It has not been cancelled and may still finish — its result will arrive as a task notification if it does. Check agent_task_list, or start a different approach.`;
|
|
73
|
+
}
|
|
74
|
+
return outcome.idleBoundArmed
|
|
75
|
+
? `This worker has been running for ${seconds}s without finishing, though it was still doing something. It has not been cancelled — its result will arrive as a task notification if it finishes.`
|
|
76
|
+
: `This worker has been running for ${seconds}s without finishing. This gateway cannot report progress, so there is no way to tell a busy worker from a stuck one here. It has not been cancelled — its result will arrive as a task notification if it finishes.`;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=wait-with-idle-bound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-with-idle-bound.js","sourceRoot":"","sources":["../../../src/tools/coordinator/wait-with-idle-bound.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"untrusted-envelope.d.ts","sourceRoot":"","sources":["../../src/tools/untrusted-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnE;AAMD,MAAM,WAAW,iBAAiB;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"untrusted-envelope.d.ts","sourceRoot":"","sources":["../../src/tools/untrusted-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnE;AAMD,MAAM,WAAW,iBAAiB;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAA;IACZ,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAqBlF"}
|