@assemblyline-agents/runtime 2.0.0 → 3.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/LICENSE +1 -1
- package/dist/a2a-client.d.ts +22 -0
- package/dist/a2a-client.d.ts.map +1 -0
- package/dist/a2a-client.js +211 -0
- package/dist/a2a-client.js.map +1 -0
- package/dist/agent-hook-context.d.ts +6 -1
- package/dist/agent-hook-context.d.ts.map +1 -1
- package/dist/agent-hook-context.js +24 -11
- package/dist/agent-hook-context.js.map +1 -1
- package/dist/agent-hook-evaluation.d.ts +6 -1
- package/dist/agent-hook-evaluation.d.ts.map +1 -1
- package/dist/agent-hook-evaluation.js +16 -5
- package/dist/agent-hook-evaluation.js.map +1 -1
- package/dist/agent-hook-run-lifecycle.d.ts +5 -1
- package/dist/agent-hook-run-lifecycle.d.ts.map +1 -1
- package/dist/agent-hook-run-lifecycle.js +11 -13
- package/dist/agent-hook-run-lifecycle.js.map +1 -1
- package/dist/agent-surface.d.ts +32 -0
- package/dist/agent-surface.d.ts.map +1 -0
- package/dist/agent-surface.js +85 -0
- package/dist/agent-surface.js.map +1 -0
- package/dist/attachments.d.ts +5 -1
- package/dist/attachments.d.ts.map +1 -1
- package/dist/attachments.js +58 -32
- package/dist/attachments.js.map +1 -1
- package/dist/audience.d.ts +30 -0
- package/dist/audience.d.ts.map +1 -0
- package/dist/audience.js +68 -0
- package/dist/audience.js.map +1 -0
- package/dist/automation-event-match.d.ts +8 -0
- package/dist/automation-event-match.d.ts.map +1 -0
- package/dist/automation-event-match.js +25 -0
- package/dist/automation-event-match.js.map +1 -0
- package/dist/background-review-trigger.d.ts.map +1 -1
- package/dist/background-review-trigger.js +14 -16
- package/dist/background-review-trigger.js.map +1 -1
- package/dist/background-review-types.d.ts +9 -2
- package/dist/background-review-types.d.ts.map +1 -1
- package/dist/background-review-worker.js +2 -2
- package/dist/background-review-worker.js.map +1 -1
- package/dist/background-review.d.ts.map +1 -1
- package/dist/background-review.js +27 -10
- package/dist/background-review.js.map +1 -1
- package/dist/builtin-tool-executors.d.ts +47 -21
- package/dist/builtin-tool-executors.d.ts.map +1 -1
- package/dist/builtin-tool-executors.js +293 -121
- package/dist/builtin-tool-executors.js.map +1 -1
- package/dist/builtin-tools.d.ts +16 -8
- package/dist/builtin-tools.d.ts.map +1 -1
- package/dist/builtin-tools.js +309 -70
- package/dist/builtin-tools.js.map +1 -1
- package/dist/capability-catalog.d.ts +3 -2
- package/dist/capability-catalog.d.ts.map +1 -1
- package/dist/capability-catalog.js +10 -6
- package/dist/capability-catalog.js.map +1 -1
- package/dist/capability-inspection.d.ts +31 -0
- package/dist/capability-inspection.d.ts.map +1 -0
- package/dist/capability-inspection.js +58 -0
- package/dist/capability-inspection.js.map +1 -0
- package/dist/channel-http-util.d.ts.map +1 -1
- package/dist/channel-http-util.js +6 -2
- package/dist/channel-http-util.js.map +1 -1
- package/dist/channel-ingress.d.ts +16 -1
- package/dist/channel-ingress.d.ts.map +1 -1
- package/dist/channel-ingress.js +117 -7
- package/dist/channel-ingress.js.map +1 -1
- package/dist/channel.d.ts +58 -2
- package/dist/channel.d.ts.map +1 -1
- package/dist/checkpoints.d.ts +1 -1
- package/dist/checkpoints.d.ts.map +1 -1
- package/dist/checkpoints.js +6 -6
- package/dist/checkpoints.js.map +1 -1
- package/dist/child-process-env.d.ts +7 -0
- package/dist/child-process-env.d.ts.map +1 -0
- package/dist/child-process-env.js +41 -0
- package/dist/child-process-env.js.map +1 -0
- package/dist/computer-relay-protocol.d.ts.map +1 -1
- package/dist/computer-relay-protocol.js +4 -4
- package/dist/computer-relay-protocol.js.map +1 -1
- package/dist/concurrency.d.ts +1 -1
- package/dist/concurrency.js +1 -1
- package/dist/connection-auth-util.d.ts +1 -0
- package/dist/connection-auth-util.d.ts.map +1 -1
- package/dist/connection-auth-util.js +1 -1
- package/dist/connection-auth-util.js.map +1 -1
- package/dist/connection-clients.d.ts +11 -3
- package/dist/connection-clients.d.ts.map +1 -1
- package/dist/connection-clients.js +71 -8
- package/dist/connection-clients.js.map +1 -1
- package/dist/connection-event-store.d.ts +98 -0
- package/dist/connection-event-store.d.ts.map +1 -0
- package/dist/connection-event-store.js +162 -0
- package/dist/connection-event-store.js.map +1 -0
- package/dist/connection-events.d.ts +51 -0
- package/dist/connection-events.d.ts.map +1 -0
- package/dist/connection-events.js +343 -0
- package/dist/connection-events.js.map +1 -0
- package/dist/connection-stores.d.ts +3 -0
- package/dist/connection-stores.d.ts.map +1 -1
- package/dist/connection-stores.js +4 -1
- package/dist/connection-stores.js.map +1 -1
- package/dist/connection-util.d.ts +3 -2
- package/dist/connection-util.d.ts.map +1 -1
- package/dist/connection-util.js +18 -1
- package/dist/connection-util.js.map +1 -1
- package/dist/connections.d.ts +54 -5
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +342 -53
- package/dist/connections.js.map +1 -1
- package/dist/context-policy-util.d.ts.map +1 -1
- package/dist/context-policy-util.js +1 -3
- package/dist/context-policy-util.js.map +1 -1
- package/dist/conversation-context.d.ts +6 -2
- package/dist/conversation-context.d.ts.map +1 -1
- package/dist/conversation-context.js +45 -12
- package/dist/conversation-context.js.map +1 -1
- package/dist/conversation-transcript.d.ts +8 -5
- package/dist/conversation-transcript.d.ts.map +1 -1
- package/dist/conversation-transcript.js +24 -5
- package/dist/conversation-transcript.js.map +1 -1
- package/dist/conversation-turn-coalescing.d.ts +22 -0
- package/dist/conversation-turn-coalescing.d.ts.map +1 -0
- package/dist/conversation-turn-coalescing.js +121 -0
- package/dist/conversation-turn-coalescing.js.map +1 -0
- package/dist/conversation-turn-dispatch.d.ts +5 -2
- package/dist/conversation-turn-dispatch.d.ts.map +1 -1
- package/dist/conversation-turn-dispatch.js +59 -22
- package/dist/conversation-turn-dispatch.js.map +1 -1
- package/dist/default-outbound-route.d.ts +29 -0
- package/dist/default-outbound-route.d.ts.map +1 -0
- package/dist/default-outbound-route.js +105 -0
- package/dist/default-outbound-route.js.map +1 -0
- package/dist/delivery-artifacts.d.ts +2 -0
- package/dist/delivery-artifacts.d.ts.map +1 -0
- package/dist/delivery-artifacts.js +34 -0
- package/dist/delivery-artifacts.js.map +1 -0
- package/dist/delivery-files.d.ts +5 -0
- package/dist/delivery-files.d.ts.map +1 -0
- package/dist/delivery-files.js +33 -0
- package/dist/delivery-files.js.map +1 -0
- package/dist/delivery-queue.d.ts +21 -1
- package/dist/delivery-queue.d.ts.map +1 -1
- package/dist/delivery-queue.js +144 -1
- package/dist/delivery-queue.js.map +1 -1
- package/dist/delivery-send.d.ts +2 -2
- package/dist/delivery-send.d.ts.map +1 -1
- package/dist/delivery-send.js +256 -100
- package/dist/delivery-send.js.map +1 -1
- package/dist/durable-files.d.ts +37 -0
- package/dist/durable-files.d.ts.map +1 -0
- package/dist/durable-files.js +63 -0
- package/dist/durable-files.js.map +1 -0
- package/dist/harness-loop.d.ts +6 -1
- package/dist/harness-loop.d.ts.map +1 -1
- package/dist/harness-loop.js +110 -25
- package/dist/harness-loop.js.map +1 -1
- package/dist/heic-transcode-worker.d.ts +2 -0
- package/dist/heic-transcode-worker.d.ts.map +1 -0
- package/dist/heic-transcode-worker.js +59 -0
- package/dist/heic-transcode-worker.js.map +1 -0
- package/dist/heic-transcode.d.ts +18 -0
- package/dist/heic-transcode.d.ts.map +1 -0
- package/dist/heic-transcode.js +99 -0
- package/dist/heic-transcode.js.map +1 -0
- package/dist/human-input-routing.d.ts +22 -0
- package/dist/human-input-routing.d.ts.map +1 -0
- package/dist/human-input-routing.js +26 -0
- package/dist/human-input-routing.js.map +1 -0
- package/dist/in-memory-conversation-turn-store.d.ts +3 -1
- package/dist/in-memory-conversation-turn-store.d.ts.map +1 -1
- package/dist/in-memory-conversation-turn-store.js +41 -2
- package/dist/in-memory-conversation-turn-store.js.map +1 -1
- package/dist/in-memory-run-store.d.ts +8 -0
- package/dist/in-memory-run-store.d.ts.map +1 -1
- package/dist/in-memory-run-store.js +28 -5
- package/dist/in-memory-run-store.js.map +1 -1
- package/dist/in-memory-sandbox-session-store.d.ts +2 -1
- package/dist/in-memory-sandbox-session-store.d.ts.map +1 -1
- package/dist/in-memory-sandbox-session-store.js +65 -1
- package/dist/in-memory-sandbox-session-store.js.map +1 -1
- package/dist/in-memory-small-stores.d.ts +18 -1
- package/dist/in-memory-small-stores.d.ts.map +1 -1
- package/dist/in-memory-small-stores.js +107 -1
- package/dist/in-memory-small-stores.js.map +1 -1
- package/dist/in-memory-workspace-store.d.ts +40 -0
- package/dist/in-memory-workspace-store.d.ts.map +1 -0
- package/dist/in-memory-workspace-store.js +370 -0
- package/dist/in-memory-workspace-store.js.map +1 -0
- package/dist/index.d.ts +73 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +390 -258
- package/dist/index.js.map +1 -1
- package/dist/json-util.d.ts +8 -0
- package/dist/json-util.d.ts.map +1 -1
- package/dist/json-util.js +8 -0
- package/dist/json-util.js.map +1 -1
- package/dist/local-sandbox.d.ts +3 -2
- package/dist/local-sandbox.d.ts.map +1 -1
- package/dist/local-sandbox.js +69 -25
- package/dist/local-sandbox.js.map +1 -1
- package/dist/mcp-client.d.ts.map +1 -1
- package/dist/mcp-client.js +3 -2
- package/dist/mcp-client.js.map +1 -1
- package/dist/media-processor.d.ts +42 -0
- package/dist/media-processor.d.ts.map +1 -0
- package/dist/media-processor.js +2 -0
- package/dist/media-processor.js.map +1 -0
- package/dist/model-media.d.ts +13 -1
- package/dist/model-media.d.ts.map +1 -1
- package/dist/model-media.js +81 -18
- package/dist/model-media.js.map +1 -1
- package/dist/model-visible-interrupts.d.ts +10 -0
- package/dist/model-visible-interrupts.d.ts.map +1 -0
- package/dist/model-visible-interrupts.js +41 -0
- package/dist/model-visible-interrupts.js.map +1 -0
- package/dist/operator-controls.d.ts.map +1 -1
- package/dist/operator-controls.js +16 -3
- package/dist/operator-controls.js.map +1 -1
- package/dist/outbound-http-policy.d.ts +7 -0
- package/dist/outbound-http-policy.d.ts.map +1 -0
- package/dist/outbound-http-policy.js +155 -0
- package/dist/outbound-http-policy.js.map +1 -0
- package/dist/public-api.d.ts +21 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +19 -0
- package/dist/public-api.js.map +1 -0
- package/dist/replay-resume.d.ts +8 -0
- package/dist/replay-resume.d.ts.map +1 -1
- package/dist/replay-resume.js +141 -11
- package/dist/replay-resume.js.map +1 -1
- package/dist/resource-projection-util.d.ts +1 -1
- package/dist/resource-projection-util.d.ts.map +1 -1
- package/dist/resource-projection-util.js +21 -10
- package/dist/resource-projection-util.js.map +1 -1
- package/dist/resource-projection.d.ts +8 -1
- package/dist/resource-projection.d.ts.map +1 -1
- package/dist/resource-projection.js +229 -29
- package/dist/resource-projection.js.map +1 -1
- package/dist/run-heartbeat.d.ts +12 -2
- package/dist/run-heartbeat.d.ts.map +1 -1
- package/dist/run-heartbeat.js +31 -4
- package/dist/run-heartbeat.js.map +1 -1
- package/dist/run-outcome.d.ts +9 -5
- package/dist/run-outcome.d.ts.map +1 -1
- package/dist/run-outcome.js +14 -5
- package/dist/run-outcome.js.map +1 -1
- package/dist/run-recovery.d.ts +19 -3
- package/dist/run-recovery.d.ts.map +1 -1
- package/dist/run-recovery.js +205 -34
- package/dist/run-recovery.js.map +1 -1
- package/dist/run-replay.d.ts +35 -0
- package/dist/run-replay.d.ts.map +1 -0
- package/dist/run-replay.js +193 -0
- package/dist/run-replay.js.map +1 -0
- package/dist/run-result.d.ts +4 -0
- package/dist/run-result.d.ts.map +1 -0
- package/dist/run-result.js +18 -0
- package/dist/run-result.js.map +1 -0
- package/dist/run-timeline-query.d.ts +38 -0
- package/dist/run-timeline-query.d.ts.map +1 -0
- package/dist/run-timeline-query.js +99 -0
- package/dist/run-timeline-query.js.map +1 -0
- package/dist/runs-query.d.ts.map +1 -1
- package/dist/runs-query.js +11 -3
- package/dist/runs-query.js.map +1 -1
- package/dist/runtime-bundle.d.ts.map +1 -1
- package/dist/runtime-bundle.js +2 -0
- package/dist/runtime-bundle.js.map +1 -1
- package/dist/runtime-learning.d.ts +15 -13
- package/dist/runtime-learning.d.ts.map +1 -1
- package/dist/runtime-learning.js +79 -58
- package/dist/runtime-learning.js.map +1 -1
- package/dist/runtime-types.d.ts +68 -9
- package/dist/runtime-types.d.ts.map +1 -1
- package/dist/sandbox-fs.d.ts +8 -5
- package/dist/sandbox-fs.d.ts.map +1 -1
- package/dist/sandbox-fs.js +30 -31
- package/dist/sandbox-fs.js.map +1 -1
- package/dist/sandbox-handle.d.ts +25 -0
- package/dist/sandbox-handle.d.ts.map +1 -0
- package/dist/sandbox-handle.js +120 -0
- package/dist/sandbox-handle.js.map +1 -0
- package/dist/sandbox-session-identity.d.ts +14 -0
- package/dist/sandbox-session-identity.d.ts.map +1 -0
- package/dist/sandbox-session-identity.js +33 -0
- package/dist/sandbox-session-identity.js.map +1 -0
- package/dist/sandbox-session-key.d.ts.map +1 -1
- package/dist/sandbox-session-key.js +12 -9
- package/dist/sandbox-session-key.js.map +1 -1
- package/dist/sandbox-session-lifecycle.d.ts.map +1 -1
- package/dist/sandbox-session-lifecycle.js +187 -44
- package/dist/sandbox-session-lifecycle.js.map +1 -1
- package/dist/sandbox-snapshot-policy.js +3 -3
- package/dist/sandbox-snapshot-policy.js.map +1 -1
- package/dist/sandbox-state-sync.d.ts +4 -2
- package/dist/sandbox-state-sync.d.ts.map +1 -1
- package/dist/sandbox-state-sync.js +47 -15
- package/dist/sandbox-state-sync.js.map +1 -1
- package/dist/sandbox-sync-worker.d.ts +11 -2
- package/dist/sandbox-sync-worker.d.ts.map +1 -1
- package/dist/sandbox-sync-worker.js +143 -31
- package/dist/sandbox-sync-worker.js.map +1 -1
- package/dist/schedule-execution.d.ts.map +1 -1
- package/dist/schedule-execution.js +127 -23
- package/dist/schedule-execution.js.map +1 -1
- package/dist/sdk-api-client.d.ts +17 -0
- package/dist/sdk-api-client.d.ts.map +1 -0
- package/dist/sdk-api-client.js +55 -0
- package/dist/sdk-api-client.js.map +1 -0
- package/dist/security.js +2 -2
- package/dist/security.js.map +1 -1
- package/dist/self-improvement.d.ts +5 -1
- package/dist/self-improvement.d.ts.map +1 -1
- package/dist/self-improvement.js +28 -14
- package/dist/self-improvement.js.map +1 -1
- package/dist/skill-bundles.d.ts +55 -0
- package/dist/skill-bundles.d.ts.map +1 -0
- package/dist/skill-bundles.js +134 -0
- package/dist/skill-bundles.js.map +1 -0
- package/dist/source-loader.js +7 -7
- package/dist/source-loader.js.map +1 -1
- package/dist/state-store-helpers.d.ts +2 -0
- package/dist/state-store-helpers.d.ts.map +1 -1
- package/dist/state-store-helpers.js +11 -1
- package/dist/state-store-helpers.js.map +1 -1
- package/dist/state-stores.d.ts +1 -0
- package/dist/state-stores.d.ts.map +1 -1
- package/dist/state-stores.js +26 -7
- package/dist/state-stores.js.map +1 -1
- package/dist/state.d.ts +305 -5
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +41 -2
- package/dist/state.js.map +1 -1
- package/dist/storage.d.ts +47 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +158 -6
- package/dist/storage.js.map +1 -1
- package/dist/subagent-execution.d.ts +1 -1
- package/dist/subagent-execution.d.ts.map +1 -1
- package/dist/subagent-execution.js +10 -12
- package/dist/subagent-execution.js.map +1 -1
- package/dist/target-instructions.js +1 -1
- package/dist/target-instructions.js.map +1 -1
- package/dist/tool-apis.d.ts.map +1 -1
- package/dist/tool-apis.js +33 -9
- package/dist/tool-apis.js.map +1 -1
- package/dist/tool-execution.d.ts +22 -12
- package/dist/tool-execution.d.ts.map +1 -1
- package/dist/tool-execution.js +368 -238
- package/dist/tool-execution.js.map +1 -1
- package/dist/turn-media.d.ts +29 -0
- package/dist/turn-media.d.ts.map +1 -0
- package/dist/turn-media.js +233 -0
- package/dist/turn-media.js.map +1 -0
- package/dist/usage-reconciliation.d.ts +1 -1
- package/dist/usage-reconciliation.js +1 -1
- package/dist/workspace-id.d.ts +10 -0
- package/dist/workspace-id.d.ts.map +1 -0
- package/dist/workspace-id.js +55 -0
- package/dist/workspace-id.js.map +1 -0
- package/dist/workspace-manifest.d.ts +24 -0
- package/dist/workspace-manifest.d.ts.map +1 -0
- package/dist/workspace-manifest.js +111 -0
- package/dist/workspace-manifest.js.map +1 -0
- package/dist/workspace-operation-limiter.d.ts +16 -0
- package/dist/workspace-operation-limiter.d.ts.map +1 -0
- package/dist/workspace-operation-limiter.js +31 -0
- package/dist/workspace-operation-limiter.js.map +1 -0
- package/dist/workspace-operations.d.ts +145 -0
- package/dist/workspace-operations.d.ts.map +1 -0
- package/dist/workspace-operations.js +420 -0
- package/dist/workspace-operations.js.map +1 -0
- package/dist/workspace-runtime.d.ts +110 -0
- package/dist/workspace-runtime.d.ts.map +1 -0
- package/dist/workspace-runtime.js +240 -0
- package/dist/workspace-runtime.js.map +1 -0
- package/dist/workspace-search.d.ts +55 -0
- package/dist/workspace-search.d.ts.map +1 -0
- package/dist/workspace-search.js +262 -0
- package/dist/workspace-search.js.map +1 -0
- package/dist/workspace-service.d.ts +173 -0
- package/dist/workspace-service.d.ts.map +1 -0
- package/dist/workspace-service.js +619 -0
- package/dist/workspace-service.js.map +1 -0
- package/dist/workspace.d.ts +7 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +7 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +7 -4
package/dist/run-outcome.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { RunControlIntent, RunRecord, StateAdapter } from "./state.js";
|
|
|
6
6
|
* failure carries a machine-readable reason on both the run record
|
|
7
7
|
* (`terminalReason`/`terminalError`) and the `run.failed` event payload.
|
|
8
8
|
*/
|
|
9
|
-
export type RunFailureReason = "agent.hook_evaluation_failed" | "run.capability_violation" | "model.request_failed" | "run.max_iterations_exceeded" | "run.max_duration_exceeded" | "output.validation_exhausted" | "run.suspend_failed" | "run.control_failed" | "tool.execution_failed" | "connection.tool_failed" | "trigger.prepare_failed" | "trigger.model_failed" | "trigger.finalize_failed" | "run.orphaned";
|
|
9
|
+
export type RunFailureReason = "agent.hook_evaluation_failed" | "connection.unavailable" | "run.capability_violation" | "model.request_failed" | "run.max_iterations_exceeded" | "run.max_duration_exceeded" | "output.validation_exhausted" | "run.suspend_failed" | "run.control_failed" | "tool.execution_failed" | "connection.tool_failed" | "trigger.prepare_failed" | "trigger.model_failed" | "trigger.finalize_failed" | "delivery.preparation_failed" | "run.orphaned" | "run.execution_failed";
|
|
10
10
|
export interface RunFailureInput {
|
|
11
11
|
reason: RunFailureReason;
|
|
12
12
|
error: string;
|
|
@@ -35,13 +35,17 @@ export declare function logTerminalRunEvent(logger: RuntimeLogger, runId: string
|
|
|
35
35
|
}): void;
|
|
36
36
|
/**
|
|
37
37
|
* Handle an error escaping run execution. Fatal model errors (bad key,
|
|
38
|
-
* invalid request — classified by the harness) terminalize
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
38
|
+
* invalid request, exhausted quota — classified by the harness) terminalize
|
|
39
|
+
* immediately and enqueue a user-visible failure notice, since async channels
|
|
40
|
+
* would otherwise never learn the outcome; everything else stays `running` so
|
|
41
|
+
* the recovery sweep can resume from the latest continuation — but is durably
|
|
42
|
+
* evented and logged first. Callers rethrow to preserve their existing
|
|
43
|
+
* failure contract.
|
|
42
44
|
*/
|
|
43
45
|
export declare function handleRunExecutionError(deps: {
|
|
44
46
|
state: StateAdapter;
|
|
45
47
|
logger: RuntimeLogger;
|
|
48
|
+
deliveryQueueMaxAttempts: number;
|
|
49
|
+
now(): Date;
|
|
46
50
|
}, runId: string, error: unknown): Promise<void>;
|
|
47
51
|
//# sourceMappingURL=run-outcome.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-outcome.d.ts","sourceRoot":"","sources":["../src/run-outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"run-outcome.d.ts","sourceRoot":"","sources":["../src/run-outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5E;;;;GAIG;AAEH,MAAM,MAAM,gBAAgB,GACxB,8BAA8B,GAC9B,wBAAwB,GACxB,0BAA0B,GAC1B,sBAAsB,GACtB,6BAA6B,GAC7B,2BAA2B,GAC3B,6BAA6B,GAC7B,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,wBAAwB,GACxB,wBAAwB,GACxB,sBAAsB,GACtB,yBAAyB,GACzB,6BAA6B,GAC7B,cAAc,GACd,sBAAsB,CAAC;AAE3B,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,iFAAiF;AACjF,wBAAsB,OAAO,CAC3B,IAAI,EAAE;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,EAC7B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,SAAS,CAAC,CAcpB;AAED,6EAA6E;AAC7E,wBAAsB,mCAAmC,CACvD,IAAI,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAAE,EAC/E,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CA0BhC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GACxC,IAAI,CASN;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,wBAAwB,EAAE,MAAM,CAAC;IAAC,GAAG,IAAI,IAAI,CAAA;CAAE,EACnG,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
|
package/dist/run-outcome.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { modelErrorClassification } from "@assemblyline-agents/core";
|
|
2
|
+
import { enqueueRunFailureNotice } from "./delivery-queue.js";
|
|
2
3
|
/** Mark a run failed with a durable reason and append the `run.failed` event. */
|
|
3
4
|
export async function failRun(deps, runId, input) {
|
|
4
5
|
const patch = {
|
|
@@ -21,6 +22,11 @@ export async function settleCompletionBoundaryControlImpl(deps, run) {
|
|
|
21
22
|
const current = await deps.state.getRun(run.id);
|
|
22
23
|
if (!current?.controlIntent)
|
|
23
24
|
return undefined;
|
|
25
|
+
if (current.status === "cancelled") {
|
|
26
|
+
const cleared = await deps.state.updateRun(run.id, { controlIntent: undefined });
|
|
27
|
+
deps.runControlIntents.delete(run.id);
|
|
28
|
+
return cleared;
|
|
29
|
+
}
|
|
24
30
|
if (!deps.state.settleRunControl) {
|
|
25
31
|
throw new Error("The configured state adapter does not support atomic run controls.");
|
|
26
32
|
}
|
|
@@ -58,10 +64,12 @@ export function logTerminalRunEvent(logger, runId, event) {
|
|
|
58
64
|
}
|
|
59
65
|
/**
|
|
60
66
|
* Handle an error escaping run execution. Fatal model errors (bad key,
|
|
61
|
-
* invalid request — classified by the harness) terminalize
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
67
|
+
* invalid request, exhausted quota — classified by the harness) terminalize
|
|
68
|
+
* immediately and enqueue a user-visible failure notice, since async channels
|
|
69
|
+
* would otherwise never learn the outcome; everything else stays `running` so
|
|
70
|
+
* the recovery sweep can resume from the latest continuation — but is durably
|
|
71
|
+
* evented and logged first. Callers rethrow to preserve their existing
|
|
72
|
+
* failure contract.
|
|
65
73
|
*/
|
|
66
74
|
export async function handleRunExecutionError(deps, runId, error) {
|
|
67
75
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -69,7 +77,8 @@ export async function handleRunExecutionError(deps, runId, error) {
|
|
|
69
77
|
return;
|
|
70
78
|
if (modelErrorClassification(error) === "fatal") {
|
|
71
79
|
try {
|
|
72
|
-
await failRun(deps, runId, { reason: "model.request_failed", error: message });
|
|
80
|
+
const failed = await failRun(deps, runId, { reason: "model.request_failed", error: message });
|
|
81
|
+
await enqueueRunFailureNotice(deps, failed, message);
|
|
73
82
|
}
|
|
74
83
|
catch (failure) {
|
|
75
84
|
deps.logger.error("run terminalization failed", {
|
package/dist/run-outcome.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-outcome.js","sourceRoot":"","sources":["../src/run-outcome.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"run-outcome.js","sourceRoot":"","sources":["../src/run-outcome.ts"],"names":[],"mappings":"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"}
|
package/dist/run-recovery.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { RunRecord, StateAdapter } from "./index.js";
|
|
2
2
|
import type { RuntimeLogger } from "./logging.js";
|
|
3
3
|
import type { CheckpointRecord } from "./state.js";
|
|
4
|
+
import type { ConnectionAuthorizationSessionStore } from "./connections.js";
|
|
4
5
|
/**
|
|
5
6
|
* Orphaned-run recovery: a staleness-guarded sweep that repairs runs left in
|
|
6
7
|
* `created`/`running` after a crash. Live runs are protected by a heartbeat
|
|
@@ -21,6 +22,9 @@ export interface RunRecoveryHost {
|
|
|
21
22
|
runHeartbeatMs: number;
|
|
22
23
|
sandboxSyncMaxAttempts: number;
|
|
23
24
|
deliveryQueueMaxAttempts: number;
|
|
25
|
+
connectionAuthorizationSessionStore: ConnectionAuthorizationSessionStore;
|
|
26
|
+
/** Required declaration connections from `selected` with no injected client. */
|
|
27
|
+
missingRequiredConnections(selected: readonly string[]): string[];
|
|
24
28
|
/**
|
|
25
29
|
* Resume the run from its latest persisted harness continuation checkpoint.
|
|
26
30
|
* Returns undefined when no usable continuation exists (caller degrades to
|
|
@@ -80,6 +84,11 @@ export interface BackgroundWorkerOptions {
|
|
|
80
84
|
limit?: number;
|
|
81
85
|
leaseForMs?: number;
|
|
82
86
|
};
|
|
87
|
+
connectionEventWorker?: boolean | {
|
|
88
|
+
intervalMs?: number;
|
|
89
|
+
batchSize?: number;
|
|
90
|
+
leaseForMs?: number;
|
|
91
|
+
};
|
|
83
92
|
}
|
|
84
93
|
export interface BackgroundWorkersController {
|
|
85
94
|
/** Names of the workers that actually started. */
|
|
@@ -117,14 +126,21 @@ export interface BackgroundWorkerHost {
|
|
|
117
126
|
}): {
|
|
118
127
|
stop(): void;
|
|
119
128
|
} | undefined;
|
|
129
|
+
startConnectionEventWorker(options?: {
|
|
130
|
+
intervalMs?: number;
|
|
131
|
+
batchSize?: number;
|
|
132
|
+
leaseForMs?: number;
|
|
133
|
+
}): {
|
|
134
|
+
stop(): void;
|
|
135
|
+
};
|
|
120
136
|
recoverIncompleteRuns(options?: RunRecoveryOptions): Promise<RunRecord[]>;
|
|
121
137
|
agentEnabled(): Promise<boolean>;
|
|
122
138
|
}
|
|
123
139
|
/**
|
|
124
140
|
* Start every durability worker with a per-worker env kill-switch:
|
|
125
|
-
* `
|
|
126
|
-
* `
|
|
127
|
-
* `
|
|
141
|
+
* `ASSEMBLY_LINE_DELIVERY_WORKER`, `ASSEMBLY_LINE_SANDBOX_SYNC_WORKER`,
|
|
142
|
+
* `ASSEMBLY_LINE_CONVERSATION_TURN_WORKER`, `ASSEMBLY_LINE_BACKGROUND_REVIEW_WORKER`,
|
|
143
|
+
* `ASSEMBLY_LINE_RUN_RECOVERY`.
|
|
128
144
|
*/
|
|
129
145
|
export declare function startBackgroundWorkersImpl(host: BackgroundWorkerHost, options?: BackgroundWorkerOptions): BackgroundWorkersController;
|
|
130
146
|
//# sourceMappingURL=run-recovery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-recovery.d.ts","sourceRoot":"","sources":["../src/run-recovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"run-recovery.d.ts","sourceRoot":"","sources":["../src/run-recovery.ts"],"names":[],"mappings":"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"}
|
package/dist/run-recovery.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { assistantTextFromContinuation } from "@assemblyline-agents/pi";
|
|
2
|
-
import { finalDeliveryIdempotencyKey } from "./delivery-queue.js";
|
|
2
|
+
import { enqueueRunFailureNotice, finalDeliveryIdempotencyKey } from "./delivery-queue.js";
|
|
3
3
|
import { storedHarnessContinuation } from "./harness-continuation.js";
|
|
4
4
|
import { failRun } from "./run-outcome.js";
|
|
5
|
+
import { reportRecoveredSandboxSyncJob } from "./sandbox-sync-worker.js";
|
|
5
6
|
const ORPHAN_CANDIDATE_STATUSES = new Set(["created", "running"]);
|
|
6
7
|
// Suspended runs are intentionally excluded: only an explicit operator resume may reactivate them.
|
|
7
8
|
function errorMessage(error) {
|
|
@@ -32,11 +33,20 @@ export async function recoverIncompleteRunsImpl(host, options = {}) {
|
|
|
32
33
|
if (!claimed)
|
|
33
34
|
continue;
|
|
34
35
|
try {
|
|
36
|
+
// The listing is a snapshot: a run that came alive or terminalized
|
|
37
|
+
// between the listing and the claim must not be recovered.
|
|
38
|
+
const current = await state.getRun(run.id);
|
|
39
|
+
if (!current || !ORPHAN_CANDIDATE_STATUSES.has(current.status) || Date.parse(current.updatedAt) > cutoff)
|
|
40
|
+
continue;
|
|
35
41
|
// Open the next claim generation immediately: if THIS sweeper crashes
|
|
36
42
|
// mid-recovery, a later sweep computes a fresh `${id}:${updatedAt}` key
|
|
37
|
-
// instead of skipping the run forever on the burned claim.
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
// instead of skipping the run forever on the burned claim. Adapters
|
|
44
|
+
// without touchRun fall back to an empty update so the bump still lands.
|
|
45
|
+
if (state.touchRun)
|
|
46
|
+
await state.touchRun(run.id);
|
|
47
|
+
else
|
|
48
|
+
await state.updateRun(run.id, {});
|
|
49
|
+
const outcome = await recoverOrphanedRun(host, current, maxResumeAttempts);
|
|
40
50
|
if (outcome)
|
|
41
51
|
recovered.push(outcome);
|
|
42
52
|
}
|
|
@@ -48,8 +58,135 @@ export async function recoverIncompleteRunsImpl(host, options = {}) {
|
|
|
48
58
|
});
|
|
49
59
|
}
|
|
50
60
|
}
|
|
61
|
+
await recoverStuckConnectionWaits(host, cutoff, now, recovered);
|
|
51
62
|
return recovered;
|
|
52
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Older deployments may have left required-connection or authorization waits
|
|
66
|
+
* parked. Reconcile those records so an expired/missing callback session can
|
|
67
|
+
* never retain a conversation forever. If a non-OAuth connection became
|
|
68
|
+
* available, resume its continuation; otherwise terminalize the legacy wait.
|
|
69
|
+
*/
|
|
70
|
+
async function recoverStuckConnectionWaits(host, cutoff, recoveryNow, recovered) {
|
|
71
|
+
const { state } = host;
|
|
72
|
+
const cutoffIso = new Date(cutoff).toISOString();
|
|
73
|
+
const candidates = state.listRunsByStatus
|
|
74
|
+
? await state.listRunsByStatus(["waiting_for_connection"], { updatedBefore: cutoffIso })
|
|
75
|
+
: (await state.listRuns()).filter((run) => run.status === "waiting_for_connection");
|
|
76
|
+
for (const run of candidates) {
|
|
77
|
+
if (run.status !== "waiting_for_connection" || Date.parse(run.updatedAt) > cutoff)
|
|
78
|
+
continue;
|
|
79
|
+
try {
|
|
80
|
+
let current = await state.getRun(run.id);
|
|
81
|
+
if (!current || current.status !== "waiting_for_connection" || Date.parse(current.updatedAt) > cutoff)
|
|
82
|
+
continue;
|
|
83
|
+
const events = await state.listEvents(run.id);
|
|
84
|
+
// A live OAuth session has a callback resume path and human latency
|
|
85
|
+
// applies. Expired/deleted sessions do not: terminalize them so a legacy
|
|
86
|
+
// parked run cannot retain its conversation mailbox forever.
|
|
87
|
+
const authRequired = events.filter((event) => event.type === "authorization.required").length;
|
|
88
|
+
const authCompleted = events.filter((event) => event.type === "authorization.completed").length;
|
|
89
|
+
if (authRequired > authCompleted) {
|
|
90
|
+
const requiredEvents = events.filter((event) => event.type === "authorization.required");
|
|
91
|
+
const sessions = await Promise.all(requiredEvents.map(async (event) => {
|
|
92
|
+
const challenge = event.data.challenge;
|
|
93
|
+
const sessionId = challenge && typeof challenge === "object" && !Array.isArray(challenge)
|
|
94
|
+
&& typeof challenge.sessionId === "string"
|
|
95
|
+
? String(challenge.sessionId)
|
|
96
|
+
: undefined;
|
|
97
|
+
return sessionId
|
|
98
|
+
? host.connectionAuthorizationSessionStore.getSession(sessionId)
|
|
99
|
+
: undefined;
|
|
100
|
+
}));
|
|
101
|
+
const live = sessions.some((session) => session?.status === "pending" && session.expiresAt > recoveryNow.getTime());
|
|
102
|
+
if (live)
|
|
103
|
+
continue;
|
|
104
|
+
const claimed = await claimConnectionWaitRecovery(state, current, cutoff);
|
|
105
|
+
if (!claimed)
|
|
106
|
+
continue;
|
|
107
|
+
current = claimed;
|
|
108
|
+
for (const session of sessions) {
|
|
109
|
+
if (session?.status === "pending" && session.expiresAt <= recoveryNow.getTime()) {
|
|
110
|
+
await host.connectionAuthorizationSessionStore.updateSession(session.id, { status: "expired" });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const message = "Connection authorization expired before completion. Re-run the request to start a fresh authorization flow.";
|
|
114
|
+
const failed = await failRun({ state }, run.id, {
|
|
115
|
+
reason: "connection.unavailable",
|
|
116
|
+
error: message,
|
|
117
|
+
data: { recovered: true, authorizationExpired: true }
|
|
118
|
+
});
|
|
119
|
+
await enqueueRunFailureNotice(host, current, message);
|
|
120
|
+
await state.appendEvent(run.id, "run.recovered", {
|
|
121
|
+
strategy: "expired-authorization-marked-failed"
|
|
122
|
+
});
|
|
123
|
+
recovered.push(failed);
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const claimed = await claimConnectionWaitRecovery(state, current, cutoff);
|
|
127
|
+
if (!claimed)
|
|
128
|
+
continue;
|
|
129
|
+
current = claimed;
|
|
130
|
+
if (state.touchRun)
|
|
131
|
+
await state.touchRun(run.id);
|
|
132
|
+
else
|
|
133
|
+
await state.updateRun(run.id, {});
|
|
134
|
+
const missing = lastMissingConnections(events);
|
|
135
|
+
if (missing.length > 0 && host.missingRequiredConnections(missing).length === 0) {
|
|
136
|
+
try {
|
|
137
|
+
const resumed = await host.resumeRunFromContinuation(current);
|
|
138
|
+
if (resumed) {
|
|
139
|
+
await state.appendEvent(resumed.id, "run.recovered", {
|
|
140
|
+
strategy: "connections-available-resume",
|
|
141
|
+
status: resumed.status
|
|
142
|
+
});
|
|
143
|
+
recovered.push(resumed);
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
await state.appendEvent(run.id, "run.recovery_resume_failed", { error: errorMessage(error) });
|
|
149
|
+
host.logger.warn("connection-wait continuation resume failed", { runId: run.id, error: errorMessage(error) });
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const message = `Required connection${missing.length === 1 ? "" : "s"} unavailable: ${missing.join(", ") || "unknown"}. Configure the connection and re-send the request.`;
|
|
153
|
+
const failed = await failRun({ state }, run.id, {
|
|
154
|
+
reason: "connection.unavailable",
|
|
155
|
+
error: message,
|
|
156
|
+
data: { recovered: true, missingConnections: missing }
|
|
157
|
+
});
|
|
158
|
+
await enqueueRunFailureNotice(host, current, message);
|
|
159
|
+
await state.appendEvent(run.id, "run.recovered", { strategy: "connection-unavailable-marked-failed" });
|
|
160
|
+
recovered.push(failed);
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
host.logger.warn("connection-wait recovery failed for run", { runId: run.id, error: errorMessage(error) });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
async function claimConnectionWaitRecovery(state, candidate, cutoff) {
|
|
168
|
+
const claimed = await state.reserveIdempotencyKey("run:connection-recovery", `${candidate.id}:${candidate.updatedAt}`, candidate.id);
|
|
169
|
+
if (!claimed)
|
|
170
|
+
return undefined;
|
|
171
|
+
const current = await state.getRun(candidate.id);
|
|
172
|
+
if (current?.status === "waiting_for_connection"
|
|
173
|
+
&& current.updatedAt === candidate.updatedAt
|
|
174
|
+
&& Date.parse(current.updatedAt) <= cutoff) {
|
|
175
|
+
return current;
|
|
176
|
+
}
|
|
177
|
+
await state.releaseIdempotencyKey?.("run:connection-recovery", `${candidate.id}:${candidate.updatedAt}`);
|
|
178
|
+
return undefined;
|
|
179
|
+
}
|
|
180
|
+
function lastMissingConnections(events) {
|
|
181
|
+
for (let index = events.length - 1; index >= 0; index -= 1) {
|
|
182
|
+
const event = events[index];
|
|
183
|
+
if (event?.type !== "connection.required")
|
|
184
|
+
continue;
|
|
185
|
+
const list = event.data.missingConnections;
|
|
186
|
+
return Array.isArray(list) ? list.filter((value) => typeof value === "string") : [];
|
|
187
|
+
}
|
|
188
|
+
return [];
|
|
189
|
+
}
|
|
53
190
|
async function recoverOrphanedRun(host, run, maxResumeAttempts) {
|
|
54
191
|
const { state } = host;
|
|
55
192
|
const events = await state.listEvents(run.id);
|
|
@@ -120,10 +257,11 @@ async function recoverOrphanedRun(host, run, maxResumeAttempts) {
|
|
|
120
257
|
}
|
|
121
258
|
// No obligation was durably recorded. Only synthesize a fallback delivery
|
|
122
259
|
// when the model's last recorded iteration was a final answer; if it ended
|
|
123
|
-
// requesting tools
|
|
124
|
-
//
|
|
125
|
-
//
|
|
126
|
-
if
|
|
260
|
+
// requesting tools (crashed mid-loop) or in a recorded execution error
|
|
261
|
+
// (the "response" is a failed call's accounting event), there is no answer
|
|
262
|
+
// to deliver, so fall through to the failed branch instead of pushing a
|
|
263
|
+
// recovery notice as if it were the response.
|
|
264
|
+
if (lastModelOutcome(events).kind === "final") {
|
|
127
265
|
const channel = typeof run.input.channel === "string" ? run.input.channel : "local";
|
|
128
266
|
// The final answer usually still exists in the newest continuation
|
|
129
267
|
// checkpoint (pi checkpoints on the final turn too, and a transcript
|
|
@@ -152,6 +290,20 @@ async function recoverOrphanedRun(host, run, maxResumeAttempts) {
|
|
|
152
290
|
return completed;
|
|
153
291
|
}
|
|
154
292
|
}
|
|
293
|
+
// A run whose last recorded outcome is an execution error did not crash —
|
|
294
|
+
// it failed. Terminalize with the real error and tell the user the truth
|
|
295
|
+
// instead of masking it behind the generic restart notice.
|
|
296
|
+
const outcome = lastModelOutcome(events);
|
|
297
|
+
if (outcome.kind === "failed") {
|
|
298
|
+
const failed = await failRun({ state }, run.id, {
|
|
299
|
+
reason: "run.execution_failed",
|
|
300
|
+
error: outcome.error,
|
|
301
|
+
data: { recovered: true }
|
|
302
|
+
});
|
|
303
|
+
await enqueueRunFailureNotice(host, run, outcome.error);
|
|
304
|
+
await state.appendEvent(run.id, "run.recovered", { strategy: "failed-with-recorded-error" });
|
|
305
|
+
return failed;
|
|
306
|
+
}
|
|
155
307
|
const failed = await failRun({ state }, run.id, {
|
|
156
308
|
reason: "run.orphaned",
|
|
157
309
|
error: "Run orphaned: the runtime stopped before this run made durable progress.",
|
|
@@ -267,7 +419,7 @@ export function crashResumeReport(toolCalls, checkpointCreatedAt, interruptedToo
|
|
|
267
419
|
if (completedAfter.length === 0 && interruptedTools.length === 0)
|
|
268
420
|
return undefined;
|
|
269
421
|
const lines = [
|
|
270
|
-
"[
|
|
422
|
+
"[Assembly Line crash recovery] A runtime restart interrupted the previous model iteration after some tool calls had already executed. Their durable results are below — do not re-run completed side-effecting tools."
|
|
271
423
|
];
|
|
272
424
|
for (const call of completedAfter) {
|
|
273
425
|
let output;
|
|
@@ -289,19 +441,37 @@ export function crashResumeReport(toolCalls, checkpointCreatedAt, interruptedToo
|
|
|
289
441
|
return lines.join("\n");
|
|
290
442
|
}
|
|
291
443
|
/**
|
|
292
|
-
*
|
|
293
|
-
* (no pending tool calls)
|
|
294
|
-
*
|
|
444
|
+
* What the run's most recent recorded model activity means for recovery:
|
|
445
|
+
* `final` — a final answer (no pending tool calls) that may be deliverable;
|
|
446
|
+
* `failed` — the run ended in a durable execution error (a
|
|
447
|
+
* `run.execution_error`/`run.recovery_resume_failed` after the last response,
|
|
448
|
+
* or a response whose `finishReason` is "failed" — engines record the failed
|
|
449
|
+
* call's accounting event too); `none` — no usable outcome (crashed mid-tool
|
|
450
|
+
* batch or before any response). A synthetic/legacy response event without
|
|
451
|
+
* `toolCallCount` is treated as final for backward compatibility.
|
|
295
452
|
*/
|
|
296
|
-
function
|
|
453
|
+
function lastModelOutcome(events) {
|
|
297
454
|
for (let index = events.length - 1; index >= 0; index -= 1) {
|
|
298
455
|
const event = events[index];
|
|
299
|
-
if (event
|
|
456
|
+
if (!event)
|
|
300
457
|
continue;
|
|
301
|
-
|
|
302
|
-
|
|
458
|
+
if (event.type === "run.execution_error" || event.type === "run.recovery_resume_failed") {
|
|
459
|
+
return {
|
|
460
|
+
kind: "failed",
|
|
461
|
+
error: typeof event.data.error === "string" && event.data.error
|
|
462
|
+
? event.data.error
|
|
463
|
+
: "Run execution failed before a response was produced."
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
if (event.type === "model.response_completed") {
|
|
467
|
+
if (event.data.finishReason === "failed") {
|
|
468
|
+
return { kind: "failed", error: "The model call failed before a response was produced." };
|
|
469
|
+
}
|
|
470
|
+
const toolCallCount = event.data.toolCallCount;
|
|
471
|
+
return typeof toolCallCount !== "number" || toolCallCount === 0 ? { kind: "final" } : { kind: "none" };
|
|
472
|
+
}
|
|
303
473
|
}
|
|
304
|
-
return
|
|
474
|
+
return { kind: "none" };
|
|
305
475
|
}
|
|
306
476
|
/**
|
|
307
477
|
* Read the trailing assistant text from the newest continuation checkpoint.
|
|
@@ -349,19 +519,15 @@ async function recoverSandboxSyncState(host, now) {
|
|
|
349
519
|
const { state } = host;
|
|
350
520
|
const recoveredSyncJobs = await state.recoverExpiredSandboxSyncJobs(now);
|
|
351
521
|
for (const job of recoveredSyncJobs) {
|
|
352
|
-
await
|
|
353
|
-
jobId: job.id,
|
|
354
|
-
sandboxId: job.sandboxId,
|
|
355
|
-
reason: "recover-expired-lease",
|
|
356
|
-
attemptCount: job.attemptCount,
|
|
357
|
-
maxAttempts: job.maxAttempts,
|
|
358
|
-
nextAttemptAt: job.nextAttemptAt
|
|
359
|
-
});
|
|
522
|
+
await reportRecoveredSandboxSyncJob(host, job);
|
|
360
523
|
}
|
|
361
524
|
const dirtySessions = await state.listSandboxSessions?.({ dirty: true }) ?? [];
|
|
362
525
|
for (const session of dirtySessions) {
|
|
363
526
|
if (!session.runId)
|
|
364
527
|
continue;
|
|
528
|
+
if (typeof session.manifest.quarantineReason === "string" && session.state === "blocked_requires_operator") {
|
|
529
|
+
continue;
|
|
530
|
+
}
|
|
365
531
|
const jobs = await state.listSandboxSyncJobs(session.runId);
|
|
366
532
|
const hasActiveJob = jobs.some((job) => job.sandboxId === session.sandboxId &&
|
|
367
533
|
(job.id === session.syncJobId || job.status === "pending" || job.status === "running" || job.status === "failed" || job.status === "blocked_requires_operator"));
|
|
@@ -376,7 +542,7 @@ async function recoverSandboxSyncState(host, now) {
|
|
|
376
542
|
maxAttempts: host.sandboxSyncMaxAttempts,
|
|
377
543
|
manifest: {
|
|
378
544
|
...session.manifest,
|
|
379
|
-
|
|
545
|
+
sessionRecordKey: session.sessionKey
|
|
380
546
|
}
|
|
381
547
|
});
|
|
382
548
|
await state.updateSandboxSession(session.sessionKey, {
|
|
@@ -413,40 +579,45 @@ function workerOptions(option) {
|
|
|
413
579
|
}
|
|
414
580
|
/**
|
|
415
581
|
* Start every durability worker with a per-worker env kill-switch:
|
|
416
|
-
* `
|
|
417
|
-
* `
|
|
418
|
-
* `
|
|
582
|
+
* `ASSEMBLY_LINE_DELIVERY_WORKER`, `ASSEMBLY_LINE_SANDBOX_SYNC_WORKER`,
|
|
583
|
+
* `ASSEMBLY_LINE_CONVERSATION_TURN_WORKER`, `ASSEMBLY_LINE_BACKGROUND_REVIEW_WORKER`,
|
|
584
|
+
* `ASSEMBLY_LINE_RUN_RECOVERY`.
|
|
419
585
|
*/
|
|
420
586
|
export function startBackgroundWorkersImpl(host, options = {}) {
|
|
421
587
|
const started = [];
|
|
422
588
|
const stops = [];
|
|
423
|
-
if (workerEnabled(options.deliveryWorker, host.env.
|
|
589
|
+
if (workerEnabled(options.deliveryWorker, host.env.ASSEMBLY_LINE_DELIVERY_WORKER)) {
|
|
424
590
|
const worker = host.startDeliveryWorker(workerOptions(options.deliveryWorker));
|
|
425
591
|
if (worker) {
|
|
426
592
|
started.push("delivery");
|
|
427
593
|
stops.push(() => worker.stop());
|
|
428
594
|
}
|
|
429
595
|
}
|
|
430
|
-
if (workerEnabled(options.sandboxSyncWorker, host.env.
|
|
596
|
+
if (workerEnabled(options.sandboxSyncWorker, host.env.ASSEMBLY_LINE_SANDBOX_SYNC_WORKER)) {
|
|
431
597
|
const worker = host.startSandboxSyncWorker(workerOptions(options.sandboxSyncWorker));
|
|
432
598
|
if (worker) {
|
|
433
599
|
started.push("sandbox-sync");
|
|
434
600
|
stops.push(() => worker.stop());
|
|
435
601
|
}
|
|
436
602
|
}
|
|
437
|
-
if (workerEnabled(options.conversationTurnWorker, host.env.
|
|
603
|
+
if (workerEnabled(options.conversationTurnWorker, host.env.ASSEMBLY_LINE_CONVERSATION_TURN_WORKER)) {
|
|
438
604
|
const worker = host.startConversationTurnWorker(workerOptions(options.conversationTurnWorker));
|
|
439
605
|
started.push("conversation-turn");
|
|
440
606
|
stops.push(() => worker.stop());
|
|
441
607
|
}
|
|
442
|
-
if (workerEnabled(options.backgroundReviewWorker, host.env.
|
|
608
|
+
if (workerEnabled(options.backgroundReviewWorker, host.env.ASSEMBLY_LINE_BACKGROUND_REVIEW_WORKER)) {
|
|
443
609
|
const worker = host.startBackgroundReviewWorker(workerOptions(options.backgroundReviewWorker));
|
|
444
610
|
if (worker) {
|
|
445
611
|
started.push("background-review");
|
|
446
612
|
stops.push(() => worker.stop());
|
|
447
613
|
}
|
|
448
614
|
}
|
|
449
|
-
if (workerEnabled(options.
|
|
615
|
+
if (workerEnabled(options.connectionEventWorker, host.env.ASSEMBLY_LINE_CONNECTION_EVENT_WORKER)) {
|
|
616
|
+
const worker = host.startConnectionEventWorker(workerOptions(options.connectionEventWorker));
|
|
617
|
+
started.push("connection-events");
|
|
618
|
+
stops.push(() => worker.stop());
|
|
619
|
+
}
|
|
620
|
+
if (workerEnabled(options.runRecovery, host.env.ASSEMBLY_LINE_RUN_RECOVERY)) {
|
|
450
621
|
const recovery = workerOptions(options.runRecovery);
|
|
451
622
|
const intervalMs = typeof recovery.intervalMs === "number" && recovery.intervalMs > 0
|
|
452
623
|
? Math.floor(recovery.intervalMs)
|
package/dist/run-recovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-recovery.js","sourceRoot":"","sources":["../src/run-recovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-recovery.js","sourceRoot":"","sources":["../src/run-recovery.ts"],"names":[],"mappings":"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"}
|