@namzu/sdk 0.6.0 → 1.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 +362 -0
- package/dist/advisory/executor.d.ts.map +1 -1
- package/dist/advisory/executor.js +9 -2
- package/dist/advisory/executor.js.map +1 -1
- package/dist/advisory/executor.test.d.ts +2 -1
- package/dist/advisory/executor.test.d.ts.map +1 -1
- package/dist/advisory/executor.test.js +7 -4
- package/dist/advisory/executor.test.js.map +1 -1
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +2 -0
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +7 -0
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/bridge/sse/mapper.test.js +2 -2
- package/dist/constants/compaction/index.d.ts.map +1 -1
- package/dist/constants/compaction/index.js +8 -3
- package/dist/constants/compaction/index.js.map +1 -1
- package/dist/constants/sandbox/index.d.ts +21 -0
- package/dist/constants/sandbox/index.d.ts.map +1 -1
- package/dist/constants/sandbox/index.js +30 -0
- package/dist/constants/sandbox/index.js.map +1 -1
- package/dist/constants/tools/index.d.ts.map +1 -1
- package/dist/constants/tools/index.js +33 -2
- package/dist/constants/tools/index.js.map +1 -1
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +35 -5
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/persona/assembler.d.ts +1 -0
- package/dist/persona/assembler.d.ts.map +1 -1
- package/dist/persona/assembler.js +28 -6
- package/dist/persona/assembler.js.map +1 -1
- package/dist/provider/collect.test.js +2 -2
- package/dist/public-runtime.d.ts +5 -4
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +5 -4
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +2 -0
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +2 -0
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +3 -0
- package/dist/public-types.d.ts.map +1 -1
- package/dist/registry/index.d.ts +2 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +1 -0
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +87 -5
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/registry/tool/execute.test.d.ts +4 -2
- package/dist/registry/tool/execute.test.d.ts.map +1 -1
- package/dist/registry/tool/execute.test.js +112 -3
- package/dist/registry/tool/execute.test.js.map +1 -1
- package/dist/registry/toolset/catalog.d.ts +42 -0
- package/dist/registry/toolset/catalog.d.ts.map +1 -0
- package/dist/registry/toolset/catalog.js +217 -0
- package/dist/registry/toolset/catalog.js.map +1 -0
- package/dist/registry/toolset/catalog.test.d.ts +2 -0
- package/dist/registry/toolset/catalog.test.d.ts.map +1 -0
- package/dist/registry/toolset/catalog.test.js +85 -0
- package/dist/registry/toolset/catalog.test.js.map +1 -0
- package/dist/runtime/query/__tests__/deferred-tools.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/deferred-tools.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/deferred-tools.test.js +147 -0
- package/dist/runtime/query/__tests__/deferred-tools.test.js.map +1 -0
- package/dist/runtime/query/__tests__/executor-concurrency.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/executor-concurrency.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/executor-concurrency.test.js +98 -0
- package/dist/runtime/query/__tests__/executor-concurrency.test.js.map +1 -0
- package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js +38 -3
- package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js.map +1 -1
- package/dist/runtime/query/__tests__/prompt.test.js +47 -2
- package/dist/runtime/query/__tests__/prompt.test.js.map +1 -1
- package/dist/runtime/query/__tests__/stream-recovery.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/stream-recovery.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/stream-recovery.test.js +126 -0
- package/dist/runtime/query/__tests__/stream-recovery.test.js.map +1 -0
- package/dist/runtime/query/continuation.d.ts +16 -0
- package/dist/runtime/query/continuation.d.ts.map +1 -0
- package/dist/runtime/query/continuation.js +16 -0
- package/dist/runtime/query/continuation.js.map +1 -0
- package/dist/runtime/query/executor.d.ts +3 -0
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +71 -3
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +19 -3
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +22 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +227 -60
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +10 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/prompt.d.ts.map +1 -1
- package/dist/runtime/query/prompt.js +21 -1
- package/dist/runtime/query/prompt.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +1 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +1 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/sandbox/provider/local.d.ts.map +1 -1
- package/dist/sandbox/provider/local.js +32 -1
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/session/workspace/__tests__/shared-run.test.d.ts +2 -0
- package/dist/session/workspace/__tests__/shared-run.test.d.ts.map +1 -0
- package/dist/session/workspace/__tests__/shared-run.test.js +147 -0
- package/dist/session/workspace/__tests__/shared-run.test.js.map +1 -0
- package/dist/session/workspace/index.d.ts +2 -0
- package/dist/session/workspace/index.d.ts.map +1 -1
- package/dist/session/workspace/index.js +1 -0
- package/dist/session/workspace/index.js.map +1 -1
- package/dist/session/workspace/shared-run.d.ts +81 -0
- package/dist/session/workspace/shared-run.d.ts.map +1 -0
- package/dist/session/workspace/shared-run.js +251 -0
- package/dist/session/workspace/shared-run.js.map +1 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +36 -6
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/loader.test.d.ts +2 -0
- package/dist/skills/loader.test.d.ts.map +1 -0
- package/dist/skills/loader.test.js +65 -0
- package/dist/skills/loader.test.js.map +1 -0
- package/dist/streaming/coalesce.test.js +1 -1
- package/dist/tools/builtins/__tests__/edit.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/edit.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/edit.test.js +38 -0
- package/dist/tools/builtins/__tests__/edit.test.js.map +1 -0
- package/dist/tools/builtins/__tests__/payload-budget.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/payload-budget.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/payload-budget.test.js +22 -0
- package/dist/tools/builtins/__tests__/payload-budget.test.js.map +1 -0
- package/dist/tools/builtins/__tests__/read-file.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/read-file.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/read-file.test.js +24 -0
- package/dist/tools/builtins/__tests__/read-file.test.js.map +1 -0
- package/dist/tools/builtins/__tests__/verify-outputs.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/verify-outputs.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/verify-outputs.test.js +52 -0
- package/dist/tools/builtins/__tests__/verify-outputs.test.js.map +1 -0
- package/dist/tools/builtins/__tests__/write-file.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/write-file.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/write-file.test.js +74 -0
- package/dist/tools/builtins/__tests__/write-file.test.js.map +1 -0
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +40 -7
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/edit.d.ts +5 -2
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +114 -18
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/index.d.ts +1 -0
- package/dist/tools/builtins/index.d.ts.map +1 -1
- package/dist/tools/builtins/index.js +13 -13
- package/dist/tools/builtins/index.js.map +1 -1
- package/dist/tools/builtins/read-file.d.ts +1 -0
- package/dist/tools/builtins/read-file.d.ts.map +1 -1
- package/dist/tools/builtins/read-file.js +23 -8
- package/dist/tools/builtins/read-file.js.map +1 -1
- package/dist/tools/builtins/search-tools.d.ts.map +1 -1
- package/dist/tools/builtins/search-tools.js +4 -1
- package/dist/tools/builtins/search-tools.js.map +1 -1
- package/dist/tools/builtins/verify-outputs.d.ts +5 -0
- package/dist/tools/builtins/verify-outputs.d.ts.map +1 -0
- package/dist/tools/builtins/verify-outputs.js +103 -0
- package/dist/tools/builtins/verify-outputs.js.map +1 -0
- package/dist/tools/builtins/write-file.d.ts +3 -2
- package/dist/tools/builtins/write-file.d.ts.map +1 -1
- package/dist/tools/builtins/write-file.js +72 -12
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/coordinator/__tests__/agent.test.d.ts +15 -0
- package/dist/tools/coordinator/__tests__/agent.test.d.ts.map +1 -0
- package/dist/tools/coordinator/__tests__/agent.test.js +142 -0
- package/dist/tools/coordinator/__tests__/agent.test.js.map +1 -0
- package/dist/tools/coordinator/__tests__/task-list.test.d.ts +13 -0
- package/dist/tools/coordinator/__tests__/task-list.test.d.ts.map +1 -0
- package/dist/tools/coordinator/__tests__/task-list.test.js +162 -0
- package/dist/tools/coordinator/__tests__/task-list.test.js.map +1 -0
- package/dist/tools/coordinator/agent.d.ts +34 -0
- package/dist/tools/coordinator/agent.d.ts.map +1 -0
- package/dist/tools/coordinator/agent.js +107 -0
- package/dist/tools/coordinator/agent.js.map +1 -0
- package/dist/tools/coordinator/index.d.ts +7 -0
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +111 -21
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/types/agent/base.d.ts +8 -0
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/reactive.d.ts +23 -0
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/agent/supervisor.d.ts +14 -0
- package/dist/types/agent/supervisor.d.ts.map +1 -1
- package/dist/types/message/index.d.ts +22 -1
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +7 -2
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/provider/chat.d.ts +2 -9
- package/dist/types/provider/chat.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +6 -0
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/sandbox/index.d.ts +193 -0
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/skills/index.d.ts +2 -0
- package/dist/types/skills/index.d.ts.map +1 -1
- package/dist/types/tool/index.d.ts +22 -0
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/toolset/index.d.ts +71 -0
- package/dist/types/toolset/index.d.ts.map +1 -0
- package/dist/types/toolset/index.js +2 -0
- package/dist/types/toolset/index.js.map +1 -0
- package/dist/types/workspace/index.d.ts +1 -0
- package/dist/types/workspace/index.d.ts.map +1 -1
- package/dist/types/workspace/shared-run.d.ts +61 -0
- package/dist/types/workspace/shared-run.d.ts.map +1 -0
- package/dist/types/workspace/shared-run.js +2 -0
- package/dist/types/workspace/shared-run.js.map +1 -0
- package/dist/verification/index.d.ts +1 -0
- package/dist/verification/index.d.ts.map +1 -1
- package/dist/verification/index.js +1 -0
- package/dist/verification/index.js.map +1 -1
- package/dist/verification/presets.d.ts +53 -0
- package/dist/verification/presets.d.ts.map +1 -0
- package/dist/verification/presets.js +70 -0
- package/dist/verification/presets.js.map +1 -0
- package/dist/verification/presets.test.d.ts +16 -0
- package/dist/verification/presets.test.d.ts.map +1 -0
- package/dist/verification/presets.test.js +79 -0
- package/dist/verification/presets.test.js.map +1 -0
- package/package.json +3 -2
- package/src/advisory/executor.test.ts +7 -4
- package/src/advisory/executor.ts +11 -2
- package/src/agents/ReactiveAgent.ts +2 -0
- package/src/agents/SupervisorAgent.ts +7 -0
- package/src/bridge/sse/mapper.test.ts +2 -2
- package/src/constants/compaction/index.ts +8 -3
- package/src/constants/sandbox/index.ts +37 -0
- package/src/constants/tools/index.ts +33 -2
- package/src/manager/run/persistence.ts +34 -6
- package/src/persona/assembler.ts +31 -8
- package/src/provider/collect.test.ts +2 -2
- package/src/public-runtime.ts +14 -1
- package/src/public-tools.ts +2 -0
- package/src/public-types.ts +7 -0
- package/src/registry/index.ts +7 -0
- package/src/registry/tool/execute.test.ts +132 -3
- package/src/registry/tool/execute.ts +94 -9
- package/src/registry/toolset/catalog.test.ts +97 -0
- package/src/registry/toolset/catalog.ts +283 -0
- package/src/runtime/query/__tests__/deferred-tools.test.ts +183 -0
- package/src/runtime/query/__tests__/executor-concurrency.test.ts +122 -0
- package/src/runtime/query/__tests__/executor-plugin-hooks.test.ts +48 -3
- package/src/runtime/query/__tests__/prompt.test.ts +51 -2
- package/src/runtime/query/__tests__/stream-recovery.test.ts +156 -0
- package/src/runtime/query/continuation.ts +16 -0
- package/src/runtime/query/executor.ts +82 -13
- package/src/runtime/query/index.ts +24 -3
- package/src/runtime/query/iteration/index.ts +263 -68
- package/src/runtime/query/iteration/phases/context.ts +10 -0
- package/src/runtime/query/prompt.ts +17 -1
- package/src/runtime/query/tooling.ts +2 -0
- package/src/sandbox/provider/local.ts +33 -0
- package/src/session/workspace/__tests__/shared-run.test.ts +181 -0
- package/src/session/workspace/index.ts +6 -0
- package/src/session/workspace/shared-run.ts +316 -0
- package/src/skills/loader.test.ts +89 -0
- package/src/skills/loader.ts +37 -6
- package/src/streaming/coalesce.test.ts +1 -1
- package/src/tools/builtins/__tests__/edit.test.ts +57 -0
- package/src/tools/builtins/__tests__/payload-budget.test.ts +29 -0
- package/src/tools/builtins/__tests__/read-file.test.ts +31 -0
- package/src/tools/builtins/__tests__/verify-outputs.test.ts +71 -0
- package/src/tools/builtins/__tests__/write-file.test.ts +97 -0
- package/src/tools/builtins/bash.ts +48 -7
- package/src/tools/builtins/edit.ts +162 -27
- package/src/tools/builtins/index.ts +13 -13
- package/src/tools/builtins/read-file.ts +31 -8
- package/src/tools/builtins/search-tools.ts +5 -1
- package/src/tools/builtins/verify-outputs.ts +126 -0
- package/src/tools/builtins/write-file.ts +83 -14
- package/src/tools/coordinator/__tests__/agent.test.ts +172 -0
- package/src/tools/coordinator/__tests__/task-list.test.ts +182 -0
- package/src/tools/coordinator/agent.ts +157 -0
- package/src/tools/coordinator/index.ts +128 -22
- package/src/types/agent/base.ts +8 -0
- package/src/types/agent/reactive.ts +25 -0
- package/src/types/agent/supervisor.ts +16 -0
- package/src/types/message/index.ts +32 -2
- package/src/types/provider/chat.ts +2 -9
- package/src/types/run/events.ts +6 -0
- package/src/types/sandbox/index.ts +219 -0
- package/src/types/skills/index.ts +4 -0
- package/src/types/tool/index.ts +24 -0
- package/src/types/toolset/index.ts +86 -0
- package/src/types/workspace/index.ts +9 -0
- package/src/types/workspace/shared-run.ts +65 -0
- package/src/verification/index.ts +1 -0
- package/src/verification/presets.test.ts +112 -0
- package/src/verification/presets.ts +72 -0
|
@@ -96,6 +96,7 @@ export async function* query(params) {
|
|
|
96
96
|
params.tools.register(SearchToolsTool);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
+
const effectiveAllowedTools = withDeferredDiscoveryTool(params.tools, params.allowedTools);
|
|
99
100
|
const toolExecutor = ToolingBootstrap.init({
|
|
100
101
|
tools: params.tools,
|
|
101
102
|
runId: ctx.runId,
|
|
@@ -103,6 +104,7 @@ export async function* query(params) {
|
|
|
103
104
|
permissionMode: ctx.permissionMode,
|
|
104
105
|
env: params.runConfig.env ?? {},
|
|
105
106
|
abortSignal: ctx.abortController.signal,
|
|
107
|
+
allowedTools: effectiveAllowedTools,
|
|
106
108
|
invocationState: params.invocationState,
|
|
107
109
|
pluginManager: params.pluginManager,
|
|
108
110
|
}, ctx.activityStore, eventTranslator.emitEvent, ctx.log);
|
|
@@ -117,7 +119,7 @@ export async function* query(params) {
|
|
|
117
119
|
skills: params.skills,
|
|
118
120
|
basePrompt: params.basePrompt,
|
|
119
121
|
tools: params.tools,
|
|
120
|
-
allowedTools:
|
|
122
|
+
allowedTools: effectiveAllowedTools,
|
|
121
123
|
runtimeContext: params.runtimeContext,
|
|
122
124
|
});
|
|
123
125
|
const guard = new GuardCoordinator({
|
|
@@ -159,7 +161,7 @@ export async function* query(params) {
|
|
|
159
161
|
provider: params.provider,
|
|
160
162
|
runConfig: params.runConfig,
|
|
161
163
|
tools: params.tools,
|
|
162
|
-
allowedTools:
|
|
164
|
+
allowedTools: effectiveAllowedTools,
|
|
163
165
|
taskGateway: params.taskGateway,
|
|
164
166
|
taskStore: params.taskStore,
|
|
165
167
|
launchedTasks: params.launchedTasks,
|
|
@@ -199,7 +201,7 @@ export async function* query(params) {
|
|
|
199
201
|
skills: params.skills,
|
|
200
202
|
basePrompt: contextLevel === 'full' ? params.basePrompt : undefined,
|
|
201
203
|
tools: params.tools,
|
|
202
|
-
allowedTools:
|
|
204
|
+
allowedTools: effectiveAllowedTools,
|
|
203
205
|
runtimeContext: params.runtimeContext,
|
|
204
206
|
};
|
|
205
207
|
const segments = params.contextCache
|
|
@@ -336,4 +338,18 @@ export async function drainQuery(params, listener) {
|
|
|
336
338
|
}
|
|
337
339
|
return result.value;
|
|
338
340
|
}
|
|
341
|
+
function withDeferredDiscoveryTool(tools, allowedTools) {
|
|
342
|
+
if (!allowedTools)
|
|
343
|
+
return undefined;
|
|
344
|
+
if (allowedTools.includes(SearchToolsTool.name))
|
|
345
|
+
return allowedTools;
|
|
346
|
+
const allowedHasDeferred = allowedTools.some((name) => tools.has(name) && tools.getAvailability(name) === 'deferred');
|
|
347
|
+
if (!allowedHasDeferred)
|
|
348
|
+
return allowedTools;
|
|
349
|
+
if (!tools.has(SearchToolsTool.name))
|
|
350
|
+
return allowedTools;
|
|
351
|
+
if (tools.getAvailability(SearchToolsTool.name) !== 'active')
|
|
352
|
+
return allowedTools;
|
|
353
|
+
return [...allowedTools, SearchToolsTool.name];
|
|
354
|
+
}
|
|
339
355
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/query/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/query/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,28 @@ export declare class IterationOrchestrator {
|
|
|
37
37
|
runLoop(): AsyncGenerator<RunEvent>;
|
|
38
38
|
private hasRunningAgentTasks;
|
|
39
39
|
private waitAndInjectNotifications;
|
|
40
|
+
/**
|
|
41
|
+
* Canonical async completion delivery (ses_009-task-notification-envelope).
|
|
42
|
+
*
|
|
43
|
+
* Drains every pending task completion in one pass and emits each as
|
|
44
|
+
* a plain USER text message wrapped in the `<task-notification>`
|
|
45
|
+
* envelope the supervisor prompt expects.
|
|
46
|
+
*
|
|
47
|
+
* Why not a `tool_result` block bound to the dispatching tool_use_id:
|
|
48
|
+
* `create_task` is documented as NON-BLOCKING and returns
|
|
49
|
+
* "Task launched: …" immediately. That immediate return is already
|
|
50
|
+
* recorded as the canonical tool_result for that tool_use, so a
|
|
51
|
+
* second tool_result for the SAME tool_use_id — emitted later, after
|
|
52
|
+
* intervening assistant turns — is rejected by Anthropic with
|
|
53
|
+
* `messages.<n>.content.0: unexpected tool_use_id found in
|
|
54
|
+
* tool_result blocks` because the immediately-prior assistant
|
|
55
|
+
* message no longer carries the matching tool_use. Wrapping as a
|
|
56
|
+
* user text envelope sidesteps the pairing rule entirely.
|
|
57
|
+
*
|
|
58
|
+
* Coalescing N drops into one drain replaces the previous
|
|
59
|
+
* one-at-a-time pattern which forced a separate orchestrator
|
|
60
|
+
* iteration per completed task on wide fan-outs.
|
|
61
|
+
*/
|
|
40
62
|
private injectOneTaskNotification;
|
|
41
63
|
private requestFinalResponse;
|
|
42
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAGtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAGjE,OAAO,KAAK,EAEX,WAAW,EAEX,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAc,MAAM,6BAA6B,CAAA;AAEvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAGtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAGjE,OAAO,KAAK,EAEX,WAAW,EAEX,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAc,MAAM,6BAA6B,CAAA;AAEvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AASnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,WAAW,CAAA;IACrB,SAAS,EAAE,cAAc,CAAA;IACzB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,iCAAiC,EAAE,WAAW,CAAA;IACnE,SAAS,CAAC,EAAE,OAAO,8BAA8B,EAAE,SAAS,CAAA;IAC5D,aAAa,CAAC,EAAE,GAAG,CAClB,OAAO,6BAA6B,EAAE,MAAM,EAC5C,OAAO,qBAAqB,EAAE,gBAAgB,CAC9C,CAAA;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,uBAAuB,EAAE,QAAQ,CAAA;IACnD,gBAAgB,CAAC,EAAE,OAAO,+BAA+B,EAAE,gBAAgB,CAAA;IAC3E,aAAa,CAAC,EAAE,OAAO,8BAA8B,EAAE,sBAAsB,CAAA;CAC7E;AAsXD,qBAAa,qBAAqB;IACjC,OAAO,CAAC,GAAG,CAAkB;gBAG5B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,EACvC,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,iBAAiB,EAChC,WAAW,EAAE,WAAW;IA+BlB,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC;IAoW1C,OAAO,CAAC,oBAAoB;YAOb,0BAA0B;IAazC;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,yBAAyB;YAiDzB,oBAAoB;CA6DlC"}
|
|
@@ -6,12 +6,40 @@ import { getTracer } from '../../../telemetry/runtime-accessors.js';
|
|
|
6
6
|
import { createAssistantMessage, createUserMessage } from '../../../types/message/index.js';
|
|
7
7
|
import { toErrorMessage } from '../../../utils/error.js';
|
|
8
8
|
import { generateMessageId } from '../../../utils/id.js';
|
|
9
|
+
import { AUTO_CONTINUATION_USER_MESSAGE } from '../continuation.js';
|
|
9
10
|
import { applyLifecycleHookResults } from '../plugin-hooks.js';
|
|
10
11
|
import { runAdvisoryPhase } from './phases/advisory.js';
|
|
11
12
|
import { runIterationCheckpoint } from './phases/checkpoint.js';
|
|
12
13
|
import { runCompactionCheck } from './phases/compaction.js';
|
|
13
14
|
import { runPlanGate } from './phases/plan.js';
|
|
14
15
|
import { runToolReview } from './phases/tool-review.js';
|
|
16
|
+
/**
|
|
17
|
+
* Escape the five XML metacharacters so an interpolated value cannot
|
|
18
|
+
* break out of a tag. Used for the simple identifier fields in the
|
|
19
|
+
* `<task-notification>` envelope (taskId, agentId, status) — values
|
|
20
|
+
* here are controlled enums / opaque ids in practice, but escaping
|
|
21
|
+
* keeps the envelope robust against any future producer that lets a
|
|
22
|
+
* `<` or `&` leak in.
|
|
23
|
+
*/
|
|
24
|
+
function xmlEscape(value) {
|
|
25
|
+
return value
|
|
26
|
+
.replace(/&/g, '&')
|
|
27
|
+
.replace(/</g, '<')
|
|
28
|
+
.replace(/>/g, '>')
|
|
29
|
+
.replace(/"/g, '"')
|
|
30
|
+
.replace(/'/g, ''');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Wrap free-form worker output in a CDATA section. CDATA preserves
|
|
34
|
+
* the raw text — code, markdown angle brackets, ampersands — so the
|
|
35
|
+
* supervisor sees what the worker actually produced instead of an
|
|
36
|
+
* escape-encoded approximation. The only termination CDATA forbids
|
|
37
|
+
* is the literal `]]>` sequence; we split-and-rejoin around it to
|
|
38
|
+
* keep the section well-formed regardless of payload.
|
|
39
|
+
*/
|
|
40
|
+
function cdataWrap(value) {
|
|
41
|
+
return `<![CDATA[${value.replace(/]]>/g, ']]]]><![CDATA[>')}]]>`;
|
|
42
|
+
}
|
|
15
43
|
/**
|
|
16
44
|
* Map a provider's coarse `finishReason` plus the orchestrator's
|
|
17
45
|
* `forceFinalize` flag onto the per-message {@link MessageStopReason}
|
|
@@ -50,8 +78,11 @@ function synthesizeMessageStopReason(finishReason, forceFinalize) {
|
|
|
50
78
|
* finally-style fall-through path with `stopReason: 'refusal'`.
|
|
51
79
|
* - `tool_input_delta` with no `toolUseId` registered yet: we drop
|
|
52
80
|
* the fragment and log a warning (proxies seen to misorder events).
|
|
53
|
-
* - `chunk.error`:
|
|
54
|
-
*
|
|
81
|
+
* - `chunk.error`: when no tool input is recoverable, we surface as
|
|
82
|
+
* a thrown error after emitting the message_completed terminator so
|
|
83
|
+
* consumer cards still close. If a tool-use block was already open,
|
|
84
|
+
* we instead synthesize a tool call with runtime truncation metadata
|
|
85
|
+
* so the executor can return a model-readable retry hint.
|
|
55
86
|
*/
|
|
56
87
|
async function* streamProviderTurn(provider, params, emitEvent, drainPending, runId, iteration, forceFinalize, log) {
|
|
57
88
|
const messageId = generateMessageId();
|
|
@@ -99,6 +130,8 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
|
|
|
99
130
|
argsBuf: '',
|
|
100
131
|
started: false,
|
|
101
132
|
completed: false,
|
|
133
|
+
parsed: null,
|
|
134
|
+
inputTruncated: false,
|
|
102
135
|
};
|
|
103
136
|
toolBuckets.set(tc.index, bucket);
|
|
104
137
|
}
|
|
@@ -149,17 +182,20 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
|
|
|
149
182
|
parsed = bucket.argsBuf ? JSON.parse(bucket.argsBuf) : {};
|
|
150
183
|
}
|
|
151
184
|
catch (err) {
|
|
185
|
+
bucket.inputTruncated = true;
|
|
152
186
|
log.warn('tool input JSON parse failed at content_block_stop', {
|
|
153
187
|
runId,
|
|
154
188
|
toolUseId: endId,
|
|
155
189
|
error: err instanceof Error ? err.message : String(err),
|
|
156
190
|
});
|
|
157
191
|
}
|
|
192
|
+
bucket.parsed = parsed;
|
|
158
193
|
await emitEvent({
|
|
159
194
|
type: 'tool_input_completed',
|
|
160
195
|
runId,
|
|
161
196
|
toolUseId: endId,
|
|
162
197
|
input: parsed,
|
|
198
|
+
...(bucket.inputTruncated ? { inputTruncated: true } : {}),
|
|
163
199
|
});
|
|
164
200
|
yield* drainPending();
|
|
165
201
|
}
|
|
@@ -174,29 +210,103 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
|
|
|
174
210
|
streamError = err instanceof Error ? err.message : String(err);
|
|
175
211
|
}
|
|
176
212
|
// Flush any tool buckets the provider failed to close (no toolCallEnd
|
|
177
|
-
// arrived — defensive against providers that don't yet emit it
|
|
213
|
+
// arrived — defensive against providers that don't yet emit it, and
|
|
214
|
+
// the load-bearing path when the provider stream ends with
|
|
215
|
+
// `stop_reason: "max_tokens"` mid-`input_json_delta`. In that case
|
|
216
|
+
// Anthropic's SSE never sends `content_block_stop` for the open
|
|
217
|
+
// tool_use block: the upstream model ran out of completion tokens
|
|
218
|
+
// before it could close the JSON literal, so the buffered
|
|
219
|
+
// `argsBuf` ends with something like `"content":"…some prefix` —
|
|
220
|
+
// not parseable.
|
|
221
|
+
//
|
|
222
|
+
// Two cases coalesce here:
|
|
223
|
+
// 1. The buffer parses cleanly (the provider just forgot to emit
|
|
224
|
+
// `content_block_stop` but the args are intact) — keep parsed.
|
|
225
|
+
// 2. The buffer is truncated mid-literal — `parsed = {}` is the
|
|
226
|
+
// safe fallback so the executor's `JSON.parse(arguments)`
|
|
227
|
+
// succeeds and downstream consumers don't crash. The PRICE
|
|
228
|
+
// we used to pay was the model getting back a generic
|
|
229
|
+
// "<field> is required" Zod error and not realising its
|
|
230
|
+
// previous tool call was truncated server-side, so it would
|
|
231
|
+
// retry with the SAME long input and hit the same cutoff in
|
|
232
|
+
// a loop. Detect the truncation case and mark the tool call
|
|
233
|
+
// with runtime metadata; the executor surfaces a specific
|
|
234
|
+
// "your tool call was cut off by max_tokens — retry with
|
|
235
|
+
// shorter input or split into smaller calls" message that the
|
|
236
|
+
// model can act on.
|
|
178
237
|
for (const bucket of toolBuckets.values()) {
|
|
179
238
|
if (bucket.started && !bucket.completed) {
|
|
180
239
|
bucket.completed = true;
|
|
181
240
|
let parsed = {};
|
|
182
|
-
|
|
183
|
-
|
|
241
|
+
let truncated = false;
|
|
242
|
+
if (bucket.argsBuf) {
|
|
243
|
+
try {
|
|
244
|
+
parsed = JSON.parse(bucket.argsBuf);
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
// argsBuf had content but didn't parse — almost
|
|
248
|
+
// certainly the max_tokens-mid-literal cutoff. Mark
|
|
249
|
+
// the bucket so the executor can return a model-
|
|
250
|
+
// readable hint instead of a generic Zod error.
|
|
251
|
+
truncated = true;
|
|
252
|
+
parsed = {};
|
|
253
|
+
}
|
|
184
254
|
}
|
|
185
|
-
|
|
186
|
-
|
|
255
|
+
bucket.parsed = parsed;
|
|
256
|
+
bucket.inputTruncated = truncated;
|
|
257
|
+
if (truncated) {
|
|
258
|
+
log.warn('tool input truncated by upstream cutoff (no toolCallEnd, argsBuf unparsable)', {
|
|
259
|
+
runId,
|
|
260
|
+
toolUseId: bucket.id,
|
|
261
|
+
toolName: bucket.name,
|
|
262
|
+
bufferLength: bucket.argsBuf.length,
|
|
263
|
+
});
|
|
187
264
|
}
|
|
188
265
|
await emitEvent({
|
|
189
266
|
type: 'tool_input_completed',
|
|
190
267
|
runId,
|
|
191
268
|
toolUseId: bucket.id,
|
|
192
269
|
input: parsed,
|
|
270
|
+
...(truncated ? { inputTruncated: true } : {}),
|
|
193
271
|
});
|
|
194
272
|
yield* drainPending();
|
|
195
273
|
}
|
|
196
274
|
}
|
|
275
|
+
// `arguments` MUST be valid JSON for the executor's `JSON.parse`
|
|
276
|
+
// (`runtime/query/executor.ts:executeSingle`) to succeed. We
|
|
277
|
+
// always serialise from the bucket's `parsed` object (filled by
|
|
278
|
+
// either the `toolCallEnd` branch above or the post-stream flush
|
|
279
|
+
// loop) instead of re-emitting `argsBuf`. When the provider
|
|
280
|
+
// stream truncated mid-input, `metadata.inputTruncated` carries that
|
|
281
|
+
// state; the executor parses cleanly and returns a specific
|
|
282
|
+
// model-readable retry hint instead of the generic "Invalid JSON in
|
|
283
|
+
// tool arguments" intercept.
|
|
284
|
+
const toolCalls = [...toolBuckets.entries()]
|
|
285
|
+
.sort(([a], [b]) => a - b)
|
|
286
|
+
.map(([, b]) => ({
|
|
287
|
+
id: b.id,
|
|
288
|
+
type: 'function',
|
|
289
|
+
function: {
|
|
290
|
+
name: b.name,
|
|
291
|
+
arguments: JSON.stringify(b.parsed ?? {}),
|
|
292
|
+
},
|
|
293
|
+
...(b.inputTruncated ? { metadata: { inputTruncated: true } } : {}),
|
|
294
|
+
}));
|
|
295
|
+
const recoveredToolInputFromStreamError = streamError !== undefined && toolCalls.some((tc) => tc.id && tc.function.name);
|
|
296
|
+
const effectiveFinishReason = recoveredToolInputFromStreamError ? 'tool_calls' : finishReason;
|
|
297
|
+
if (recoveredToolInputFromStreamError) {
|
|
298
|
+
log.warn('provider stream failed after tool input; surfacing tool call to executor', {
|
|
299
|
+
runId,
|
|
300
|
+
iteration,
|
|
301
|
+
error: streamError,
|
|
302
|
+
toolCallCount: toolCalls.length,
|
|
303
|
+
});
|
|
304
|
+
}
|
|
197
305
|
const stopReason = streamError
|
|
198
|
-
?
|
|
199
|
-
|
|
306
|
+
? recoveredToolInputFromStreamError
|
|
307
|
+
? 'tool_use'
|
|
308
|
+
: 'refusal'
|
|
309
|
+
: synthesizeMessageStopReason(effectiveFinishReason, forceFinalize);
|
|
200
310
|
await emitEvent({
|
|
201
311
|
type: 'message_completed',
|
|
202
312
|
runId,
|
|
@@ -207,16 +317,9 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
|
|
|
207
317
|
content: textBuf || undefined,
|
|
208
318
|
});
|
|
209
319
|
yield* drainPending();
|
|
210
|
-
if (streamError) {
|
|
320
|
+
if (streamError && !recoveredToolInputFromStreamError) {
|
|
211
321
|
throw new Error(`Provider stream error: ${streamError}`);
|
|
212
322
|
}
|
|
213
|
-
const toolCalls = [...toolBuckets.entries()]
|
|
214
|
-
.sort(([a], [b]) => a - b)
|
|
215
|
-
.map(([, b]) => ({
|
|
216
|
-
id: b.id,
|
|
217
|
-
type: 'function',
|
|
218
|
-
function: { name: b.name, arguments: b.argsBuf },
|
|
219
|
-
}));
|
|
220
323
|
const response = {
|
|
221
324
|
id: id || messageId,
|
|
222
325
|
model: model || params.model,
|
|
@@ -225,7 +328,7 @@ async function* streamProviderTurn(provider, params, emitEvent, drainPending, ru
|
|
|
225
328
|
content: textBuf.length > 0 ? textBuf : null,
|
|
226
329
|
toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
|
|
227
330
|
},
|
|
228
|
-
finishReason,
|
|
331
|
+
finishReason: effectiveFinishReason,
|
|
229
332
|
usage,
|
|
230
333
|
};
|
|
231
334
|
return { response, messageId };
|
|
@@ -265,17 +368,19 @@ export class IterationOrchestrator {
|
|
|
265
368
|
const { runConfig, runMgr } = this.ctx;
|
|
266
369
|
const { model } = runConfig;
|
|
267
370
|
const tracer = getTracer();
|
|
371
|
+
// Worker-completion delivery used to fan out through a global
|
|
372
|
+
// onTaskCompleted listener that pushed handles onto
|
|
373
|
+
// `pendingNotifications`; the iteration loop then drained
|
|
374
|
+
// them as <task-notification> envelopes. Both `create_task`
|
|
375
|
+
// and the `Agent` tool are now blocking and return their
|
|
376
|
+
// worker output as the dispatching tool_use's canonical
|
|
377
|
+
// tool_result, so the listener path would only DUPLICATE
|
|
378
|
+
// every completion (once as tool_result, once as injected
|
|
379
|
+
// envelope user-message). Leaving the binding out closes
|
|
380
|
+
// the duplicate notification surface entirely; the dormant
|
|
381
|
+
// drain stays as a no-op until a follow-up tears it out.
|
|
268
382
|
let unsubscribeTaskListener;
|
|
269
|
-
|
|
270
|
-
unsubscribeTaskListener = this.ctx.taskGateway.onTaskCompleted((handle) => {
|
|
271
|
-
this.ctx.pendingNotifications.push(handle);
|
|
272
|
-
this.ctx.log.debug('Task completion queued for notification', {
|
|
273
|
-
taskId: handle.taskId,
|
|
274
|
-
agentId: handle.agentId,
|
|
275
|
-
state: handle.state,
|
|
276
|
-
});
|
|
277
|
-
});
|
|
278
|
-
}
|
|
383
|
+
void unsubscribeTaskListener;
|
|
279
384
|
try {
|
|
280
385
|
const planSignal = yield* runPlanGate(this.ctx);
|
|
281
386
|
if (planSignal === 'stop')
|
|
@@ -434,6 +539,42 @@ export class IterationOrchestrator {
|
|
|
434
539
|
continue;
|
|
435
540
|
}
|
|
436
541
|
const hasContent = response.message.content !== null && response.message.content.length > 0;
|
|
542
|
+
// Auto-continuation on `stop_reason: max_tokens`. The
|
|
543
|
+
// model hit its per-call output cap mid-text (NOT
|
|
544
|
+
// mid-tool-use — that path is handled separately
|
|
545
|
+
// below via `inputTruncated`). Push a synthetic
|
|
546
|
+
// "continue" user message and let the loop fire
|
|
547
|
+
// another turn. The provider receives the partial
|
|
548
|
+
// assistant content + the continue prompt and
|
|
549
|
+
// resumes from where it left off, mirroring the
|
|
550
|
+
// Claude.ai "Continue" affordance.
|
|
551
|
+
//
|
|
552
|
+
// Guards:
|
|
553
|
+
// - `hasContent` so we don't loop forever on an
|
|
554
|
+
// empty cutoff (Anthropic occasionally emits
|
|
555
|
+
// `stop_reason: max_tokens` with no content
|
|
556
|
+
// when an injected pre-fill blocks the model).
|
|
557
|
+
// - `!forceFinalize` so the forced-finalize path
|
|
558
|
+
// never auto-continues — that path is invoked
|
|
559
|
+
// specifically to extract a closing summary.
|
|
560
|
+
// - max_iterations bounds the loop in any case.
|
|
561
|
+
if (!forceFinalize && response.finishReason === 'length' && hasContent) {
|
|
562
|
+
this.ctx.log.info('LLM hit max_tokens mid-text — auto-continuing', {
|
|
563
|
+
runId: runMgr.id,
|
|
564
|
+
iteration: iterationNum,
|
|
565
|
+
completionTokens: response.usage.completionTokens,
|
|
566
|
+
});
|
|
567
|
+
runMgr.pushMessage(createUserMessage(AUTO_CONTINUATION_USER_MESSAGE));
|
|
568
|
+
await this.ctx.emitEvent({
|
|
569
|
+
type: 'iteration_completed',
|
|
570
|
+
runId: runMgr.id,
|
|
571
|
+
iteration: iterationNum,
|
|
572
|
+
hasToolCalls: false,
|
|
573
|
+
});
|
|
574
|
+
yield* this.ctx.drainPending();
|
|
575
|
+
iterSpan.end();
|
|
576
|
+
continue;
|
|
577
|
+
}
|
|
437
578
|
if (!hasContent && !forceFinalize) {
|
|
438
579
|
this.ctx.log.warn('Empty completion detected — requesting final summary', {
|
|
439
580
|
iteration: iterationNum,
|
|
@@ -516,42 +657,68 @@ export class IterationOrchestrator {
|
|
|
516
657
|
}
|
|
517
658
|
await this.injectOneTaskNotification();
|
|
518
659
|
}
|
|
660
|
+
/**
|
|
661
|
+
* Canonical async completion delivery (ses_009-task-notification-envelope).
|
|
662
|
+
*
|
|
663
|
+
* Drains every pending task completion in one pass and emits each as
|
|
664
|
+
* a plain USER text message wrapped in the `<task-notification>`
|
|
665
|
+
* envelope the supervisor prompt expects.
|
|
666
|
+
*
|
|
667
|
+
* Why not a `tool_result` block bound to the dispatching tool_use_id:
|
|
668
|
+
* `create_task` is documented as NON-BLOCKING and returns
|
|
669
|
+
* "Task launched: …" immediately. That immediate return is already
|
|
670
|
+
* recorded as the canonical tool_result for that tool_use, so a
|
|
671
|
+
* second tool_result for the SAME tool_use_id — emitted later, after
|
|
672
|
+
* intervening assistant turns — is rejected by Anthropic with
|
|
673
|
+
* `messages.<n>.content.0: unexpected tool_use_id found in
|
|
674
|
+
* tool_result blocks` because the immediately-prior assistant
|
|
675
|
+
* message no longer carries the matching tool_use. Wrapping as a
|
|
676
|
+
* user text envelope sidesteps the pairing rule entirely.
|
|
677
|
+
*
|
|
678
|
+
* Coalescing N drops into one drain replaces the previous
|
|
679
|
+
* one-at-a-time pattern which forced a separate orchestrator
|
|
680
|
+
* iteration per completed task on wide fan-outs.
|
|
681
|
+
*/
|
|
519
682
|
async injectOneTaskNotification() {
|
|
520
|
-
|
|
521
|
-
if (!handle)
|
|
683
|
+
if (this.ctx.pendingNotifications.length === 0)
|
|
522
684
|
return;
|
|
523
|
-
const
|
|
524
|
-
const
|
|
525
|
-
handle.
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
685
|
+
const handles = this.ctx.pendingNotifications.splice(0);
|
|
686
|
+
for (const handle of handles) {
|
|
687
|
+
const meta = this.ctx.launchedTasks.get(handle.taskId);
|
|
688
|
+
const resultText = handle.result?.result ??
|
|
689
|
+
handle.result?.lastError ??
|
|
690
|
+
`Task finished with state: ${handle.state}`;
|
|
691
|
+
if (meta?.planTaskId && this.ctx.taskStore) {
|
|
692
|
+
const success = handle.state === 'completed';
|
|
693
|
+
await this.ctx.taskStore.update(meta.planTaskId, {
|
|
694
|
+
status: 'completed',
|
|
695
|
+
description: success ? undefined : `Failed: ${resultText.substring(0, 200)}`,
|
|
696
|
+
});
|
|
697
|
+
}
|
|
698
|
+
this.ctx.launchedTasks.delete(handle.taskId);
|
|
699
|
+
// `remaining-tasks` = inflight workers still pending after this
|
|
700
|
+
// one drains. `launchedTasks` is the single source of truth:
|
|
701
|
+
// it holds every dispatched worker that has NOT yet been
|
|
702
|
+
// drained + delete()'d. The drain batch entries are still
|
|
703
|
+
// inside launchedTasks until each iteration's delete() above
|
|
704
|
+
// removes them, so reading the size right after that delete
|
|
705
|
+
// gives the honest count. Adding `handles.length - 1 - i`
|
|
706
|
+
// here used to double-count this same queue.
|
|
707
|
+
const remainingTasks = this.ctx.launchedTasks.size;
|
|
708
|
+
const envelope = `<task-notification>\n<task-id>${xmlEscape(handle.taskId)}</task-id>\n` +
|
|
709
|
+
`<agent-id>${xmlEscape(handle.agentId)}</agent-id>\n` +
|
|
710
|
+
`<status>${xmlEscape(handle.state)}</status>\n` +
|
|
711
|
+
`<result>${cdataWrap(resultText)}</result>\n` +
|
|
712
|
+
`<remaining-tasks>${remainingTasks}</remaining-tasks>\n</task-notification>`;
|
|
713
|
+
this.ctx.runMgr.pushMessage(createUserMessage(envelope));
|
|
714
|
+
this.ctx.log.info('Task notification injected', {
|
|
715
|
+
taskId: handle.taskId,
|
|
716
|
+
agentId: handle.agentId,
|
|
717
|
+
state: handle.state,
|
|
718
|
+
planTaskId: meta?.planTaskId,
|
|
719
|
+
remainingNotifications: remainingTasks,
|
|
532
720
|
});
|
|
533
721
|
}
|
|
534
|
-
this.ctx.launchedTasks.delete(handle.taskId);
|
|
535
|
-
const remainingTasks = this.ctx.launchedTasks.size;
|
|
536
|
-
const notification = [
|
|
537
|
-
'<task-notification>',
|
|
538
|
-
` <task-id>${handle.taskId}</task-id>`,
|
|
539
|
-
` <agent-id>${handle.agentId}</agent-id>`,
|
|
540
|
-
` <status>${handle.state}</status>`,
|
|
541
|
-
` <description>${meta?.description ?? 'agent task'}</description>`,
|
|
542
|
-
` <result>${resultText}</result>`,
|
|
543
|
-
` <remaining-tasks>${remainingTasks}</remaining-tasks>`,
|
|
544
|
-
'</task-notification>',
|
|
545
|
-
].join('\n');
|
|
546
|
-
this.ctx.runMgr.pushMessage(createUserMessage(notification));
|
|
547
|
-
this.ctx.log.info('Task notification injected', {
|
|
548
|
-
taskId: handle.taskId,
|
|
549
|
-
agentId: handle.agentId,
|
|
550
|
-
state: handle.state,
|
|
551
|
-
planTaskId: meta?.planTaskId,
|
|
552
|
-
remainingTasks,
|
|
553
|
-
remainingNotifications: this.ctx.pendingNotifications.length,
|
|
554
|
-
});
|
|
555
722
|
}
|
|
556
723
|
async requestFinalResponse(model, reason) {
|
|
557
724
|
const lastAssistant = [...this.ctx.runMgr.messages]
|