@assemblyline-agents/runtime 6.1.5 → 7.1.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/README.md +6 -0
- package/dist/background-review.d.ts.map +1 -1
- package/dist/background-review.js +10 -1
- package/dist/background-review.js.map +1 -1
- package/dist/background-subagents.d.ts +9 -11
- package/dist/background-subagents.d.ts.map +1 -1
- package/dist/background-subagents.js +67 -126
- package/dist/background-subagents.js.map +1 -1
- package/dist/background-work-summary.d.ts +21 -0
- package/dist/background-work-summary.d.ts.map +1 -0
- package/dist/background-work-summary.js +94 -0
- package/dist/background-work-summary.js.map +1 -0
- package/dist/background-work-tool.d.ts +7 -0
- package/dist/background-work-tool.d.ts.map +1 -0
- package/dist/background-work-tool.js +73 -0
- package/dist/background-work-tool.js.map +1 -0
- package/dist/builtin-tool-executors.d.ts.map +1 -1
- package/dist/builtin-tool-executors.js +4 -0
- package/dist/builtin-tool-executors.js.map +1 -1
- package/dist/builtin-tools.d.ts +1 -1
- package/dist/builtin-tools.d.ts.map +1 -1
- package/dist/builtin-tools.js +6 -0
- package/dist/builtin-tools.js.map +1 -1
- package/dist/channel.d.ts +3 -1
- package/dist/channel.d.ts.map +1 -1
- package/dist/connection-wait-recovery.d.ts +5 -0
- package/dist/connection-wait-recovery.d.ts.map +1 -0
- package/dist/connection-wait-recovery.js +106 -0
- package/dist/connection-wait-recovery.js.map +1 -0
- package/dist/conversation-turn-dispatch.d.ts.map +1 -1
- package/dist/conversation-turn-dispatch.js +2 -1
- package/dist/conversation-turn-dispatch.js.map +1 -1
- package/dist/delivery-queue.d.ts.map +1 -1
- package/dist/delivery-queue.js +2 -0
- package/dist/delivery-queue.js.map +1 -1
- package/dist/delivery-send.d.ts.map +1 -1
- package/dist/delivery-send.js +8 -6
- package/dist/delivery-send.js.map +1 -1
- package/dist/harness-execution-context.d.ts +2 -0
- package/dist/harness-execution-context.d.ts.map +1 -1
- package/dist/harness-execution-context.js +29 -3
- package/dist/harness-execution-context.js.map +1 -1
- package/dist/harness-tool-execution.d.ts.map +1 -1
- package/dist/harness-tool-execution.js +45 -72
- package/dist/harness-tool-execution.js.map +1 -1
- package/dist/harness-turn-execution.d.ts.map +1 -1
- package/dist/harness-turn-execution.js +8 -1
- package/dist/harness-turn-execution.js.map +1 -1
- package/dist/in-memory-run-store.d.ts +5 -0
- package/dist/in-memory-run-store.d.ts.map +1 -1
- package/dist/in-memory-run-store.js +34 -82
- package/dist/in-memory-run-store.js.map +1 -1
- package/dist/in-memory-run-transactions.d.ts +14 -0
- package/dist/in-memory-run-transactions.d.ts.map +1 -0
- package/dist/in-memory-run-transactions.js +163 -0
- package/dist/in-memory-run-transactions.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/operator-controls.d.ts.map +1 -1
- package/dist/operator-controls.js +10 -21
- package/dist/operator-controls.js.map +1 -1
- package/dist/read-tool-result.d.ts +3 -0
- package/dist/read-tool-result.d.ts.map +1 -0
- package/dist/read-tool-result.js +25 -0
- package/dist/read-tool-result.js.map +1 -0
- package/dist/replay-resume-authorization.d.ts.map +1 -1
- package/dist/replay-resume-authorization.js +4 -14
- package/dist/replay-resume-authorization.js.map +1 -1
- package/dist/replay-resume-connection.d.ts.map +1 -1
- package/dist/replay-resume-connection.js +3 -1
- package/dist/replay-resume-connection.js.map +1 -1
- package/dist/replay-resume-controls.d.ts.map +1 -1
- package/dist/replay-resume-controls.js +43 -27
- package/dist/replay-resume-controls.js.map +1 -1
- package/dist/replay-resume-recovery.d.ts.map +1 -1
- package/dist/replay-resume-recovery.js +5 -1
- package/dist/replay-resume-recovery.js.map +1 -1
- package/dist/replay-resume-shared.d.ts +3 -4
- package/dist/replay-resume-shared.d.ts.map +1 -1
- package/dist/replay-resume-shared.js +4 -13
- package/dist/replay-resume-shared.js.map +1 -1
- package/dist/replay-resume-types.d.ts +3 -1
- package/dist/replay-resume-types.d.ts.map +1 -1
- package/dist/run-command-settlement.d.ts +6 -0
- package/dist/run-command-settlement.d.ts.map +1 -0
- package/dist/run-command-settlement.js +35 -0
- package/dist/run-command-settlement.js.map +1 -0
- package/dist/run-commands.d.ts +16 -0
- package/dist/run-commands.d.ts.map +1 -0
- package/dist/run-commands.js +195 -0
- package/dist/run-commands.js.map +1 -0
- package/dist/run-execution-host.d.ts +1 -0
- package/dist/run-execution-host.d.ts.map +1 -1
- package/dist/run-execution-lease.d.ts +15 -0
- package/dist/run-execution-lease.d.ts.map +1 -0
- package/dist/run-execution-lease.js +160 -0
- package/dist/run-execution-lease.js.map +1 -0
- package/dist/run-execution.d.ts.map +1 -1
- package/dist/run-execution.js +2 -0
- package/dist/run-execution.js.map +1 -1
- package/dist/run-heartbeat.d.ts.map +1 -1
- package/dist/run-heartbeat.js +25 -0
- package/dist/run-heartbeat.js.map +1 -1
- package/dist/run-initialization.d.ts.map +1 -1
- package/dist/run-initialization.js +7 -0
- package/dist/run-initialization.js.map +1 -1
- package/dist/run-outcome.d.ts.map +1 -1
- package/dist/run-outcome.js +5 -7
- package/dist/run-outcome.js.map +1 -1
- package/dist/run-recovery.d.ts +2 -2
- package/dist/run-recovery.d.ts.map +1 -1
- package/dist/run-recovery.js +73 -212
- package/dist/run-recovery.js.map +1 -1
- package/dist/run-stream.d.ts.map +1 -1
- package/dist/run-stream.js +9 -3
- package/dist/run-stream.js.map +1 -1
- package/dist/run-tree-cancellation.d.ts +9 -0
- package/dist/run-tree-cancellation.d.ts.map +1 -0
- package/dist/run-tree-cancellation.js +166 -0
- package/dist/run-tree-cancellation.js.map +1 -0
- package/dist/run-tree.d.ts +9 -0
- package/dist/run-tree.d.ts.map +1 -0
- package/dist/run-tree.js +37 -0
- package/dist/run-tree.js.map +1 -0
- package/dist/runtime-engine-base.d.ts +1 -0
- package/dist/runtime-engine-base.d.ts.map +1 -1
- package/dist/runtime-engine-base.js +11 -1
- package/dist/runtime-engine-base.js.map +1 -1
- package/dist/runtime-engine-capabilities.d.ts.map +1 -1
- package/dist/runtime-engine-capabilities.js +5 -2
- package/dist/runtime-engine-capabilities.js.map +1 -1
- package/dist/runtime-engine-config.d.ts.map +1 -1
- package/dist/runtime-engine-config.js +3 -2
- package/dist/runtime-engine-config.js.map +1 -1
- package/dist/runtime-engine-operations.d.ts +12 -2
- package/dist/runtime-engine-operations.d.ts.map +1 -1
- package/dist/runtime-engine-operations.js +52 -5
- package/dist/runtime-engine-operations.js.map +1 -1
- package/dist/runtime-engine-run.d.ts.map +1 -1
- package/dist/runtime-engine-run.js +3 -0
- package/dist/runtime-engine-run.js.map +1 -1
- package/dist/runtime-types.d.ts +7 -1
- package/dist/runtime-types.d.ts.map +1 -1
- package/dist/state/run-lifecycle.d.ts +111 -0
- package/dist/state/run-lifecycle.d.ts.map +1 -0
- package/dist/state/run-lifecycle.js +70 -0
- package/dist/state/run-lifecycle.js.map +1 -0
- package/dist/state/run-state.d.ts +1 -0
- package/dist/state/run-state.d.ts.map +1 -1
- package/dist/state/run-state.js.map +1 -1
- package/dist/state/store-contracts.d.ts +3 -0
- package/dist/state/store-contracts.d.ts.map +1 -1
- package/dist/state/store-contracts.js +1 -1
- package/dist/state/store-contracts.js.map +1 -1
- package/dist/state/task-budget.d.ts +39 -0
- package/dist/state/task-budget.d.ts.map +1 -0
- package/dist/state/task-budget.js +2 -0
- package/dist/state/task-budget.js.map +1 -0
- package/dist/state-stores.d.ts.map +1 -1
- package/dist/state-stores.js +1 -0
- package/dist/state-stores.js.map +1 -1
- package/dist/state.d.ts +2 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +2 -0
- package/dist/state.js.map +1 -1
- package/dist/storage.d.ts +3 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +6 -0
- package/dist/storage.js.map +1 -1
- package/dist/subagent-background-resume.d.ts +2 -2
- package/dist/subagent-background-resume.d.ts.map +1 -1
- package/dist/subagent-background-resume.js +11 -41
- package/dist/subagent-background-resume.js.map +1 -1
- package/dist/subagent-delegate-tool.d.ts +1 -1
- package/dist/subagent-delegate-tool.d.ts.map +1 -1
- package/dist/subagent-delegate-tool.js +20 -4
- package/dist/subagent-delegate-tool.js.map +1 -1
- package/dist/subagent-execution.d.ts +3 -1
- package/dist/subagent-execution.d.ts.map +1 -1
- package/dist/subagent-execution.js +61 -21
- package/dist/subagent-execution.js.map +1 -1
- package/dist/subagent-settlement.d.ts +1 -1
- package/dist/subagent-settlement.d.ts.map +1 -1
- package/dist/subagent-settlement.js +67 -43
- package/dist/subagent-settlement.js.map +1 -1
- package/dist/task-budget-accounting.d.ts +13 -0
- package/dist/task-budget-accounting.d.ts.map +1 -0
- package/dist/task-budget-accounting.js +35 -0
- package/dist/task-budget-accounting.js.map +1 -0
- package/dist/task-budget-config.d.ts +5 -0
- package/dist/task-budget-config.d.ts.map +1 -0
- package/dist/task-budget-config.js +55 -0
- package/dist/task-budget-config.js.map +1 -0
- package/dist/task-budget-harness.d.ts +5 -0
- package/dist/task-budget-harness.d.ts.map +1 -0
- package/dist/task-budget-harness.js +44 -0
- package/dist/task-budget-harness.js.map +1 -0
- package/dist/task-budget.d.ts +14 -0
- package/dist/task-budget.d.ts.map +1 -0
- package/dist/task-budget.js +212 -0
- package/dist/task-budget.js.map +1 -0
- package/dist/task-deadline.d.ts +4 -0
- package/dist/task-deadline.d.ts.map +1 -0
- package/dist/task-deadline.js +36 -0
- package/dist/task-deadline.js.map +1 -0
- package/dist/tool-execution-host.d.ts +4 -2
- package/dist/tool-execution-host.d.ts.map +1 -1
- package/dist/tool-execution.d.ts.map +1 -1
- package/dist/tool-execution.js +24 -9
- package/dist/tool-execution.js.map +1 -1
- package/dist/tool-result-output.d.ts +14 -0
- package/dist/tool-result-output.d.ts.map +1 -0
- package/dist/tool-result-output.js +66 -0
- package/dist/tool-result-output.js.map +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -14,6 +14,12 @@ host may explicitly select direct
|
|
|
14
14
|
execution only for reviewed code in its trusted computing base. Framework
|
|
15
15
|
built-ins, connections, and trusted host stubs remain direct.
|
|
16
16
|
|
|
17
|
+
Oversized model-facing tool results are retained privately in the blob store.
|
|
18
|
+
The runtime returns a bounded preview with a `read_tool_result` reference;
|
|
19
|
+
agents page through the complete projection without rerunning tools. Fields
|
|
20
|
+
hidden by an authored `toModelOutput` remain hidden. See
|
|
21
|
+
[tool-result retrieval](../../docs/developers/agent-stack/tools.md#retrieving-oversized-results).
|
|
22
|
+
|
|
17
23
|
The runtime owns a just-in-time credential broker. Each connection receives
|
|
18
24
|
only its declared configuration and a credential accessor that rejects
|
|
19
25
|
unrelated names. Credential use and host-side source-to-sink transfers emit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-review.d.ts","sourceRoot":"","sources":["../src/background-review.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"background-review.d.ts","sourceRoot":"","sources":["../src/background-review.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AA6SzE,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,oBAAoB,EAC1B,GAAG,EAAE,yBAAyB,GAC7B,OAAO,CAAC,SAAS,CAAC,CAsEpB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { runTaskBudgetHarness } from "./task-budget-harness.js";
|
|
2
|
+
import { settleRunCancellationAfterExecution } from "./run-tree-cancellation.js";
|
|
1
3
|
import { redactedToolInput, safeJson } from "./json-util.js";
|
|
2
4
|
const REVIEW_SYSTEM_PROMPT = `You are the agent's background learning reviewer.
|
|
3
5
|
Review the supplied evidence and preserve only reusable, evidence-backed improvements.
|
|
@@ -320,7 +322,10 @@ export async function executeBackgroundReview(host, job) {
|
|
|
320
322
|
captureContent: false
|
|
321
323
|
};
|
|
322
324
|
try {
|
|
323
|
-
const result = await harness
|
|
325
|
+
const result = await runTaskBudgetHarness(host.state, harness, { kind: "message", message: evidence.prompt, recentHistory: [] }, context);
|
|
326
|
+
const current = await host.state.getRun(reviewRun.id);
|
|
327
|
+
if (current?.status === "cancelled")
|
|
328
|
+
return current;
|
|
324
329
|
reviewRun = await host.state.updateRun(reviewRun.id, { status: "completed" });
|
|
325
330
|
const toolCalls = await host.state.listToolCalls(reviewRun.id);
|
|
326
331
|
await host.state.appendEvent(reviewRun.id, "run.completed", {
|
|
@@ -334,12 +339,16 @@ export async function executeBackgroundReview(host, job) {
|
|
|
334
339
|
}
|
|
335
340
|
catch (error) {
|
|
336
341
|
const message = error instanceof Error ? error.message : String(error);
|
|
342
|
+
const current = await host.state.getRun(reviewRun.id);
|
|
343
|
+
if (current?.status === "cancelled")
|
|
344
|
+
return current;
|
|
337
345
|
reviewRun = await host.state.updateRun(reviewRun.id, { status: "failed", terminalReason: "background_review_failed", terminalError: message });
|
|
338
346
|
await host.state.appendEvent(reviewRun.id, "run.failed", { reason: "background_review_failed", error: message });
|
|
339
347
|
throw Object.assign(new Error(message), { reviewRunId: reviewRun.id });
|
|
340
348
|
}
|
|
341
349
|
finally {
|
|
342
350
|
clearInterval(heartbeat);
|
|
351
|
+
await settleRunCancellationAfterExecution(host.state, reviewRun.id);
|
|
343
352
|
}
|
|
344
353
|
}
|
|
345
354
|
//# sourceMappingURL=background-review.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-review.js","sourceRoot":"","sources":["../src/background-review.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"background-review.js","sourceRoot":"","sources":["../src/background-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
import type { JsonObject } from "@assemblyline-agents/core";
|
|
2
1
|
import type { EnqueueConversationTurnInput } from "./conversation-turn-dispatch.js";
|
|
3
2
|
import type { RuntimeLogger } from "./logging.js";
|
|
4
3
|
import type { RunTimeline } from "./runtime-types.js";
|
|
5
|
-
import type { ResolvedStateAdapter, RunRecord
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
agent: string;
|
|
9
|
-
status: RunStatus;
|
|
10
|
-
task: string;
|
|
11
|
-
createdAt: string;
|
|
12
|
-
updatedAt: string;
|
|
13
|
-
}
|
|
4
|
+
import type { ResolvedStateAdapter, RunRecord } from "./state.js";
|
|
5
|
+
import { type BackgroundWorkSummary } from "./background-work-summary.js";
|
|
6
|
+
export type { BackgroundWorkSummary } from "./background-work-summary.js";
|
|
14
7
|
export interface BackgroundSubagentHost {
|
|
15
8
|
state: ResolvedStateAdapter;
|
|
16
9
|
logger: RuntimeLogger;
|
|
17
|
-
|
|
10
|
+
acceptingWork(): Promise<boolean>;
|
|
11
|
+
concurrency?: number;
|
|
18
12
|
/** Execute a queued child to its end; execution settles the child itself. */
|
|
19
13
|
execute(childRunId: string): Promise<RunTimeline>;
|
|
20
14
|
/** Settle a child that ended without an executor observing it (a cancel of queued work). */
|
|
@@ -32,12 +26,16 @@ export declare class BackgroundSubagentCoordinator {
|
|
|
32
26
|
private readonly host;
|
|
33
27
|
private drainPromise;
|
|
34
28
|
private drainRequested;
|
|
29
|
+
private stopped;
|
|
30
|
+
private readonly inFlight;
|
|
35
31
|
constructor(host: BackgroundSubagentHost);
|
|
36
32
|
requestDrain(): void;
|
|
37
33
|
startWorker(intervalMs?: number): {
|
|
38
34
|
stop(): void;
|
|
39
35
|
};
|
|
40
36
|
listForRoot(root: RunRecord, includeTerminal?: boolean): Promise<BackgroundWorkSummary[]>;
|
|
37
|
+
get active(): boolean;
|
|
38
|
+
onIdle(): Promise<void>;
|
|
41
39
|
getForRoot(root: RunRecord, runId: string): Promise<RunRecord>;
|
|
42
40
|
cancelForRoot(root: RunRecord, runId: string): Promise<BackgroundWorkSummary>;
|
|
43
41
|
/** Queue the root completion turn for a settled background child. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-subagents.d.ts","sourceRoot":"","sources":["../src/background-subagents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"background-subagents.d.ts","sourceRoot":"","sources":["../src/background-subagents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAEpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAa,MAAM,YAAY,CAAC;AAK7E,OAAO,EAAsC,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC9G,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAK1E,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,4FAA4F;IAC5F,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChF;AAED;;;;;GAKG;AACH,qBAAa,6BAA6B;IAM5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;gBAEhC,IAAI,EAAE,sBAAsB;IAKzD,YAAY,IAAI,IAAI;IAYpB,WAAW,CAAC,UAAU,SAAQ,GAAG;QAAE,IAAI,IAAI,IAAI,CAAA;KAAE;IAQ3C,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAO7F,IAAI,MAAM,IAAI,OAAO,CAA6D;IAE5E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAS9D,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASnF,qEAAqE;IAC/D,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAa7C,KAAK;YA2BL,UAAU;CAczB"}
|
|
@@ -1,102 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { recoverRunCancellations } from "./run-tree-cancellation.js";
|
|
2
|
+
import { recoverTaskBudgets } from "./task-budget.js";
|
|
3
|
+
import { isJsonObject } from "./json-util.js";
|
|
4
|
+
import { DEFAULT_BACKGROUND_CONCURRENCY } from "./state/run-lifecycle.js";
|
|
5
|
+
import { hasLiveRunLease, scheduleRunCommand } from "./run-commands.js";
|
|
6
|
+
import { outsideRunExecution } from "./run-execution-lease.js";
|
|
5
7
|
import { subagentSettlementKey } from "./subagent-settlement.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"running",
|
|
9
|
-
"waiting_for_approval",
|
|
10
|
-
"waiting_for_input",
|
|
11
|
-
"waiting_for_connection",
|
|
12
|
-
"suspended"
|
|
13
|
-
];
|
|
14
|
-
const ACTIVE_STATUSES = new Set(ACTIVE_STATUS_LIST);
|
|
8
|
+
import { completionTurn, originFor, summary } from "./background-work-summary.js";
|
|
9
|
+
const ACTIVE_STATUS_LIST = ["created", "running", "waiting_for_approval", "waiting_for_input", "waiting_for_connection", "suspended"];
|
|
15
10
|
const TERMINAL_STATUS_LIST = ["completed", "failed", "cancelled"];
|
|
16
|
-
function originFor(run) {
|
|
17
|
-
const value = run.input.background;
|
|
18
|
-
if (!isJsonObject(value))
|
|
19
|
-
return undefined;
|
|
20
|
-
const conversationId = typeof value.conversationId === "string" ? value.conversationId : undefined;
|
|
21
|
-
const channel = typeof value.channel === "string" ? value.channel : undefined;
|
|
22
|
-
const eventId = typeof value.eventId === "string" ? value.eventId : undefined;
|
|
23
|
-
return conversationId && channel && eventId ? { conversationId, channel, eventId } : undefined;
|
|
24
|
-
}
|
|
25
|
-
function taskPreview(run) {
|
|
26
|
-
const task = isJsonObject(run.input.task) && typeof run.input.task.task === "string"
|
|
27
|
-
? run.input.task.task
|
|
28
|
-
: JSON.stringify(run.input.task ?? {});
|
|
29
|
-
return previewString(task, 240);
|
|
30
|
-
}
|
|
31
|
-
function summary(run) {
|
|
32
|
-
return {
|
|
33
|
-
runId: run.id,
|
|
34
|
-
agent: typeof run.input.subagent === "string" ? run.input.subagent : "subagent",
|
|
35
|
-
status: run.status,
|
|
36
|
-
task: taskPreview(run),
|
|
37
|
-
createdAt: run.createdAt,
|
|
38
|
-
updatedAt: run.updatedAt
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
function completionResponse(timeline) {
|
|
42
|
-
if (timeline.run.terminalReason === "subagent.handoff_failed") {
|
|
43
|
-
return `The artifact handoff failed after an automatic retry: ${timeline.run.terminalError ?? "unknown handoff error"}`;
|
|
44
|
-
}
|
|
45
|
-
const completed = [...timeline.events].reverse().find((event) => event.type === "run.completed");
|
|
46
|
-
if (timeline.run.status === "completed" && completed && typeof completed.data.response === "string") {
|
|
47
|
-
return completed.data.response;
|
|
48
|
-
}
|
|
49
|
-
if (timeline.run.status === "cancelled")
|
|
50
|
-
return "The work was cancelled before it finished.";
|
|
51
|
-
// A failure report without a recovery path invites the root agent to
|
|
52
|
-
// re-delegate the whole task, which discards a finished workspace and pays
|
|
53
|
-
// for the work twice.
|
|
54
|
-
if (timeline.run.terminalError) {
|
|
55
|
-
return `The work failed: ${timeline.run.terminalError}\n\n${subagentRecoveryHint(timeline)}`;
|
|
56
|
-
}
|
|
57
|
-
return `The work ended with status ${timeline.run.status}.\n\n${subagentRecoveryHint(timeline)}`;
|
|
58
|
-
}
|
|
59
|
-
function completionTurn(timeline) {
|
|
60
|
-
const run = timeline.run;
|
|
61
|
-
const origin = originFor(run);
|
|
62
|
-
if (!origin)
|
|
63
|
-
return undefined;
|
|
64
|
-
const agent = typeof run.input.subagent === "string" ? run.input.subagent : "worker";
|
|
65
|
-
const receipt = run.status === "completed" ? readySubagentHandoff(timeline.events) : undefined;
|
|
66
|
-
const handoffSummary = receipt ? backgroundHandoffSummary(receipt) : undefined;
|
|
67
|
-
const turn = {
|
|
68
|
-
eventId: `background-subagent:${subagentSettlementKey(timeline)}`,
|
|
69
|
-
channel: origin.channel,
|
|
70
|
-
conversationId: origin.conversationId,
|
|
71
|
-
message: [
|
|
72
|
-
`Background work ${run.id} from ${agent} finished with status ${run.status}.`,
|
|
73
|
-
`Result:\n${previewString(completionResponse(timeline), 24_000)}`,
|
|
74
|
-
...(handoffSummary ? [handoffSummary] : []),
|
|
75
|
-
"Use the current conversation history when deciding what to tell the user. Respond in your own voice and never mention subagents, internal orchestration, or this completion message. Do not imply other background work is finished if it is still active."
|
|
76
|
-
].join("\n\n")
|
|
77
|
-
};
|
|
78
|
-
if (typeof run.input.userId === "string")
|
|
79
|
-
turn.userId = run.input.userId;
|
|
80
|
-
if (isJsonObject(run.input.principal))
|
|
81
|
-
turn.principal = run.input.principal;
|
|
82
|
-
if (isJsonObject(run.input.initiator))
|
|
83
|
-
turn.initiator = run.input.initiator;
|
|
84
|
-
const audience = normalizeAgentAudience(run.input.audience);
|
|
85
|
-
if (audience)
|
|
86
|
-
turn.audience = audience;
|
|
87
|
-
if (isJsonObject(run.input.delivery))
|
|
88
|
-
turn.delivery = run.input.delivery;
|
|
89
|
-
turn.metadata = {
|
|
90
|
-
...(isJsonObject(run.input.metadata) ? run.input.metadata : {}),
|
|
91
|
-
assemblyLine: {
|
|
92
|
-
kind: "background_subagent_completion",
|
|
93
|
-
sourceRunId: run.id,
|
|
94
|
-
parentRunId: typeof run.input.parentRunId === "string" ? run.input.parentRunId : null,
|
|
95
|
-
...(receipt ? { handoff: publicSubagentHandoff(receipt) } : {})
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
return turn;
|
|
99
|
-
}
|
|
100
11
|
/**
|
|
101
12
|
* Drives queued background children and turns their settled outcomes into
|
|
102
13
|
* root completion turns. Settlement (subagent-settlement.ts) is the only
|
|
@@ -107,38 +18,47 @@ export class BackgroundSubagentCoordinator {
|
|
|
107
18
|
host;
|
|
108
19
|
drainPromise;
|
|
109
20
|
drainRequested = false;
|
|
21
|
+
stopped = false;
|
|
22
|
+
inFlight = new Map();
|
|
110
23
|
constructor(host) {
|
|
111
24
|
this.host = host;
|
|
25
|
+
const concurrency = host.concurrency ?? DEFAULT_BACKGROUND_CONCURRENCY;
|
|
26
|
+
if (!Number.isInteger(concurrency) || concurrency < 1)
|
|
27
|
+
throw new Error("maxConcurrentBackgroundRuns must be a positive integer.");
|
|
112
28
|
}
|
|
113
29
|
requestDrain() {
|
|
30
|
+
if (this.stopped)
|
|
31
|
+
return;
|
|
114
32
|
this.drainRequested = true;
|
|
115
33
|
if (this.drainPromise)
|
|
116
34
|
return;
|
|
117
|
-
this.drainPromise = this.drain().
|
|
35
|
+
this.drainPromise = outsideRunExecution(() => this.drain()).catch(error => {
|
|
36
|
+
this.host.logger.warn("background dispatch failed", { error: String(error) });
|
|
37
|
+
}).finally(() => {
|
|
118
38
|
this.drainPromise = undefined;
|
|
119
39
|
if (this.drainRequested)
|
|
120
40
|
this.requestDrain();
|
|
121
41
|
});
|
|
122
42
|
}
|
|
123
43
|
startWorker(intervalMs = 1_000) {
|
|
44
|
+
this.stopped = false;
|
|
124
45
|
this.requestDrain();
|
|
125
46
|
const timer = setInterval(() => this.requestDrain(), Math.max(100, intervalMs));
|
|
126
47
|
timer.unref?.();
|
|
127
|
-
return { stop: () => clearInterval(timer) };
|
|
48
|
+
return { stop: () => { this.stopped = true; this.drainRequested = false; clearInterval(timer); } };
|
|
128
49
|
}
|
|
129
50
|
async listForRoot(root, includeTerminal = false) {
|
|
130
51
|
const conversationId = typeof root.input.conversationId === "string" ? root.input.conversationId : root.id;
|
|
131
52
|
const statuses = includeTerminal ? [...ACTIVE_STATUS_LIST, ...TERMINAL_STATUS_LIST] : ACTIVE_STATUS_LIST;
|
|
132
|
-
const runs = this.host.state.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
.map(summary);
|
|
53
|
+
const runs = await this.host.state.queryRuns({ statuses, conversationId });
|
|
54
|
+
return runs.map(summary);
|
|
55
|
+
}
|
|
56
|
+
get active() { return Boolean(this.drainPromise || this.inFlight.size); }
|
|
57
|
+
async onIdle() {
|
|
58
|
+
do {
|
|
59
|
+
await this.drainPromise;
|
|
60
|
+
await Promise.all(this.inFlight.values());
|
|
61
|
+
} while (this.drainPromise || this.inFlight.size);
|
|
142
62
|
}
|
|
143
63
|
async getForRoot(root, runId) {
|
|
144
64
|
const candidate = await this.host.state.getRun(runId);
|
|
@@ -173,29 +93,50 @@ export class BackgroundSubagentCoordinator {
|
|
|
173
93
|
async drain() {
|
|
174
94
|
do {
|
|
175
95
|
this.drainRequested = false;
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
96
|
+
await recoverTaskBudgets(this.host.state);
|
|
97
|
+
await recoverRunCancellations(this.host.state);
|
|
98
|
+
if (this.stopped || !(await this.host.acceptingWork()))
|
|
99
|
+
return;
|
|
100
|
+
const pending = await this.host.state.queryRuns({ background: true, pendingCommands: true });
|
|
101
|
+
for (const run of pending)
|
|
102
|
+
await scheduleRunCommand(this.host.state, run.id);
|
|
103
|
+
const candidates = [
|
|
104
|
+
...await this.host.state.queryRuns({ statuses: ["created"], background: true, leaseAvailable: true }),
|
|
105
|
+
...await this.host.state.queryRuns({ statuses: [...TERMINAL_STATUS_LIST, "waiting_for_approval", "waiting_for_input", "waiting_for_connection"], background: true, pendingNotification: true, leaseAvailable: true })
|
|
106
|
+
].sort((a, b) => a.updatedAt.localeCompare(b.updatedAt) || a.id.localeCompare(b.id));
|
|
107
|
+
for (const candidate of candidates) {
|
|
108
|
+
if (this.stopped || this.inFlight.size >= (this.host.concurrency ?? DEFAULT_BACKGROUND_CONCURRENCY))
|
|
109
|
+
break;
|
|
110
|
+
if (this.inFlight.has(candidate.id) || hasLiveRunLease(candidate))
|
|
111
|
+
continue;
|
|
112
|
+
if (!(await this.host.acceptingWork()))
|
|
113
|
+
break;
|
|
114
|
+
// A scan only fills free slots. Awaiting these tasks here would hold
|
|
115
|
+
// later arrivals behind the slowest member of this batch.
|
|
116
|
+
const task = this.executeOne(candidate).finally(() => {
|
|
117
|
+
this.inFlight.delete(candidate.id);
|
|
118
|
+
this.requestDrain();
|
|
119
|
+
});
|
|
120
|
+
this.inFlight.set(candidate.id, task);
|
|
121
|
+
}
|
|
122
|
+
} while (this.drainRequested && !this.stopped);
|
|
181
123
|
}
|
|
182
124
|
async executeOne(candidate) {
|
|
183
125
|
try {
|
|
184
|
-
|
|
185
|
-
const claimed = await this.host.state.reserveIdempotencyKey("background-subagent:execute", `${candidate.id}:${candidate.updatedAt}`, candidate.id);
|
|
186
|
-
if (!claimed)
|
|
187
|
-
return;
|
|
188
|
-
const current = await this.host.state.getRun(candidate.id);
|
|
189
|
-
if (!current || current.status !== "created")
|
|
190
|
-
return;
|
|
126
|
+
if (candidate.status === "created")
|
|
191
127
|
await this.host.execute(candidate.id);
|
|
192
|
-
|
|
128
|
+
else
|
|
129
|
+
await this.host.settle(candidate.id);
|
|
130
|
+
await scheduleRunCommand(this.host.state, candidate.id);
|
|
193
131
|
}
|
|
194
132
|
catch (error) {
|
|
195
|
-
this.host.
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
133
|
+
await this.host.state.transactRun(candidate.id, ({ run }) => {
|
|
134
|
+
if (!run.lifecycle)
|
|
135
|
+
return;
|
|
136
|
+
const failures = (run.lifecycle.dispatchFailures ?? 0) + 1;
|
|
137
|
+
return { patch: { lifecycle: { ...run.lifecycle, dispatchFailures: failures, dispatchAfter: new Date(Date.now() + Math.min(60_000, 1000 * 2 ** Math.min(failures - 1, 6))).toISOString() } } };
|
|
138
|
+
}).catch(() => undefined);
|
|
139
|
+
this.host.logger.warn("background subagent execution failed", { runId: candidate.id, error: error instanceof Error ? error.message : String(error) });
|
|
199
140
|
}
|
|
200
141
|
}
|
|
201
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-subagents.js","sourceRoot":"","sources":["../src/background-subagents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"background-subagents.js","sourceRoot":"","sources":["../src/background-subagents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { JsonObject } from "@assemblyline-agents/core";
|
|
2
|
+
import type { ChannelTurn } from "./channel.js";
|
|
3
|
+
import type { RunTimeline } from "./runtime-types.js";
|
|
4
|
+
import type { RunRecord, RunStatus } from "./state.js";
|
|
5
|
+
export interface BackgroundWorkSummary extends JsonObject {
|
|
6
|
+
runId: string;
|
|
7
|
+
agent: string;
|
|
8
|
+
status: RunStatus;
|
|
9
|
+
task: string;
|
|
10
|
+
createdAt: string;
|
|
11
|
+
updatedAt: string;
|
|
12
|
+
}
|
|
13
|
+
export interface BackgroundOrigin {
|
|
14
|
+
conversationId: string;
|
|
15
|
+
channel: string;
|
|
16
|
+
eventId: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function originFor(run: RunRecord): BackgroundOrigin | undefined;
|
|
19
|
+
export declare function summary(run: RunRecord): BackgroundWorkSummary;
|
|
20
|
+
export declare function completionTurn(timeline: RunTimeline): ChannelTurn | undefined;
|
|
21
|
+
//# sourceMappingURL=background-work-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-work-summary.d.ts","sourceRoot":"","sources":["../src/background-work-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAKvD,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAOtE;AAUD,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,qBAAqB,CAS7D;AA4BD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAsC7E"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { normalizeAgentAudience } from "./audience.js";
|
|
2
|
+
import { isJsonObject, previewString, redactedToolInput } from "./json-util.js";
|
|
3
|
+
import { backgroundHandoffSummary, publicSubagentHandoff, readySubagentHandoff } from "./subagent-handoff.js";
|
|
4
|
+
import { subagentRecoveryHint } from "./subagent-execution.js";
|
|
5
|
+
import { subagentSettlementKey } from "./subagent-settlement.js";
|
|
6
|
+
export function originFor(run) {
|
|
7
|
+
const value = run.input.background;
|
|
8
|
+
if (!isJsonObject(value))
|
|
9
|
+
return undefined;
|
|
10
|
+
const conversationId = typeof value.conversationId === "string" ? value.conversationId : undefined;
|
|
11
|
+
const channel = typeof value.channel === "string" ? value.channel : undefined;
|
|
12
|
+
const eventId = typeof value.eventId === "string" ? value.eventId : undefined;
|
|
13
|
+
return conversationId && channel && eventId ? { conversationId, channel, eventId } : undefined;
|
|
14
|
+
}
|
|
15
|
+
function taskPreview(run) {
|
|
16
|
+
const task = isJsonObject(run.input.task) && typeof run.input.task.task === "string"
|
|
17
|
+
? run.input.task.task
|
|
18
|
+
: JSON.stringify(run.input.task ?? {});
|
|
19
|
+
return previewString(task, 240);
|
|
20
|
+
}
|
|
21
|
+
export function summary(run) {
|
|
22
|
+
return {
|
|
23
|
+
runId: run.id,
|
|
24
|
+
agent: typeof run.input.subagent === "string" ? run.input.subagent : "subagent",
|
|
25
|
+
status: run.status,
|
|
26
|
+
task: taskPreview(run),
|
|
27
|
+
createdAt: run.createdAt,
|
|
28
|
+
updatedAt: run.updatedAt
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function completionResponse(timeline) {
|
|
32
|
+
if (timeline.run.status.startsWith("waiting_for_")) {
|
|
33
|
+
const pending = [...timeline.toolCalls].reverse().find((call) => call.status === "waiting_for_approval");
|
|
34
|
+
return `The work needs attention. Pending action: ${pending?.id ?? "connection authorization"}. ${pending ? JSON.stringify(redactedToolInput(pending.input)) : "Inspect the run's connection request."}`;
|
|
35
|
+
}
|
|
36
|
+
if (timeline.run.terminalReason === "subagent.handoff_failed") {
|
|
37
|
+
return `The artifact handoff failed after an automatic retry: ${timeline.run.terminalError ?? "unknown handoff error"}`;
|
|
38
|
+
}
|
|
39
|
+
const completed = [...timeline.events].reverse().find((event) => event.type === "run.completed");
|
|
40
|
+
if (timeline.run.status === "completed" && completed && typeof completed.data.response === "string") {
|
|
41
|
+
return completed.data.response;
|
|
42
|
+
}
|
|
43
|
+
if (timeline.run.status === "cancelled")
|
|
44
|
+
return "The work was cancelled before it finished.";
|
|
45
|
+
// A failure report without a recovery path invites the root agent to
|
|
46
|
+
// re-delegate the whole task, which discards a finished workspace and pays
|
|
47
|
+
// for the work twice.
|
|
48
|
+
if (timeline.run.terminalError) {
|
|
49
|
+
return `The work failed: ${timeline.run.terminalError}\n\n${subagentRecoveryHint(timeline)}`;
|
|
50
|
+
}
|
|
51
|
+
return `The work ended with status ${timeline.run.status}.\n\n${subagentRecoveryHint(timeline)}`;
|
|
52
|
+
}
|
|
53
|
+
export function completionTurn(timeline) {
|
|
54
|
+
const run = timeline.run;
|
|
55
|
+
const origin = originFor(run);
|
|
56
|
+
if (!origin)
|
|
57
|
+
return undefined;
|
|
58
|
+
const agent = typeof run.input.subagent === "string" ? run.input.subagent : "worker";
|
|
59
|
+
const receipt = run.status === "completed" ? readySubagentHandoff(timeline.events) : undefined;
|
|
60
|
+
const handoffSummary = receipt ? backgroundHandoffSummary(receipt) : undefined;
|
|
61
|
+
const turn = {
|
|
62
|
+
eventId: `background-subagent:${subagentSettlementKey(timeline)}`,
|
|
63
|
+
channel: origin.channel,
|
|
64
|
+
conversationId: origin.conversationId,
|
|
65
|
+
message: [
|
|
66
|
+
`Background work ${run.id} from ${agent} ${run.status.startsWith("waiting_for_") ? "needs attention" : "finished"} with status ${run.status}.`,
|
|
67
|
+
`Result:\n${previewString(completionResponse(timeline), 24_000)}`,
|
|
68
|
+
...(handoffSummary ? [handoffSummary] : []),
|
|
69
|
+
"Use the current conversation history when deciding what to tell the user. Respond in your own voice and never mention subagents, internal orchestration, or this completion message. Do not imply other background work is finished if it is still active."
|
|
70
|
+
].join("\n\n")
|
|
71
|
+
};
|
|
72
|
+
if (typeof run.input.userId === "string")
|
|
73
|
+
turn.userId = run.input.userId;
|
|
74
|
+
if (isJsonObject(run.input.principal))
|
|
75
|
+
turn.principal = run.input.principal;
|
|
76
|
+
if (isJsonObject(run.input.initiator))
|
|
77
|
+
turn.initiator = run.input.initiator;
|
|
78
|
+
const audience = normalizeAgentAudience(run.input.audience);
|
|
79
|
+
if (audience)
|
|
80
|
+
turn.audience = audience;
|
|
81
|
+
if (isJsonObject(run.input.delivery))
|
|
82
|
+
turn.delivery = run.input.delivery;
|
|
83
|
+
turn.metadata = {
|
|
84
|
+
...(isJsonObject(run.input.metadata) ? run.input.metadata : {}),
|
|
85
|
+
assemblyLine: {
|
|
86
|
+
kind: run.status.startsWith("waiting_for_") ? "background_subagent_attention" : "background_subagent_completion",
|
|
87
|
+
sourceRunId: run.id,
|
|
88
|
+
parentRunId: typeof run.input.parentRunId === "string" ? run.input.parentRunId : null,
|
|
89
|
+
...(receipt ? { handoff: publicSubagentHandoff(receipt) } : {})
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
return turn;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=background-work-summary.js.map
|