@tangle-network/agent-runtime 0.338.0 → 0.339.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/dist/{activation-CsbNax2X.d.ts → activation-CJIIl_Ey.d.ts} +4 -24
- package/dist/{activation-kbkAuSmY.js → activation-CVSFxis9.js} +5 -18
- package/dist/{activation-kbkAuSmY.js.map → activation-CVSFxis9.js.map} +1 -1
- package/dist/agent.d.ts +4 -4
- package/dist/agent.js +3 -3
- package/dist/{bundle-DM60AI2B.js → bundle-DVOhBTic.js} +2 -2
- package/dist/{bundle-DM60AI2B.js.map → bundle-DVOhBTic.js.map} +1 -1
- package/dist/candidate-execution/index.d.ts +4 -63
- package/dist/candidate-execution/index.js +6 -145
- package/dist/candidate-execution/index.js.map +1 -1
- package/dist/{delegate-Se1YZKMb.js → delegate-CCWE_AkU.js} +2 -2
- package/dist/{delegate-Se1YZKMb.js.map → delegate-CCWE_AkU.js.map} +1 -1
- package/dist/{driver-control-acknowledgers-T2a1Ouay.js → driver-control-acknowledgers-C53ggdJ6.js} +12 -8
- package/dist/driver-control-acknowledgers-C53ggdJ6.js.map +1 -0
- package/dist/{durable-file-B_eJr6Mb.js → durable-file-gNI9ILAn.js} +1 -3
- package/dist/durable-file-gNI9ILAn.js.map +1 -0
- package/dist/durable.d.ts +3 -35
- package/dist/durable.js +10 -10
- package/dist/durable.js.map +1 -1
- package/dist/{graph-CY0wH838.js → graph-CI9JXKqO.js} +4 -4
- package/dist/graph-CI9JXKqO.js.map +1 -0
- package/dist/{graph-registry-By0tUj4S.js → graph-registry-BnO64cn8.js} +3 -3
- package/dist/{graph-registry-By0tUj4S.js.map → graph-registry-BnO64cn8.js.map} +1 -1
- package/dist/{improve-CWGBT13K.js → improve-BOXTLWJ3.js} +8 -35
- package/dist/improve-BOXTLWJ3.js.map +1 -0
- package/dist/{improvement-adapter-D5gwwoXQ.d.ts → improvement-adapter-HUt_-cWA.d.ts} +2 -20
- package/dist/index.d.ts +9 -206
- package/dist/index.js +91 -302
- package/dist/index.js.map +1 -1
- package/dist/intelligence.d.ts +10 -142
- package/dist/intelligence.js +7 -81
- package/dist/intelligence.js.map +1 -1
- package/dist/{jsonl-file-DBv31uPi.js → jsonl-file-C9Kde_0Z.js} +2 -2
- package/dist/{jsonl-file-DBv31uPi.js.map → jsonl-file-C9Kde_0Z.js.map} +1 -1
- package/dist/kernel.d.ts +4 -3
- package/dist/kernel.js +12 -14
- package/dist/loop-runner-CWzG1bH4.d.ts +32 -0
- package/dist/loop-runner-bin.d.ts +32 -2
- package/dist/loop-runner-bin.js +93 -1
- package/dist/loop-runner-bin.js.map +1 -0
- package/dist/loop-runner-pmPIHFVY.js +59 -0
- package/dist/loop-runner-pmPIHFVY.js.map +1 -0
- package/dist/mcp/bin.js +3 -3
- package/dist/mcp/index.d.ts +99 -418
- package/dist/mcp/index.js +121 -203
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/memory-bin.js +231 -1
- package/dist/mcp/memory-bin.js.map +1 -1
- package/dist/model-policy-CyCUwHed.js.map +1 -1
- package/dist/placement.d.ts +2 -9
- package/dist/placement.js +1 -1
- package/dist/placement.js.map +1 -1
- package/dist/platform.d.ts +188 -1
- package/dist/platform.js +129 -1
- package/dist/platform.js.map +1 -1
- package/dist/{prepare-Bt0IouPq.js → prepare-bXkvPMJA.js} +8 -160
- package/dist/prepare-bXkvPMJA.js.map +1 -0
- package/dist/{profile-Do-5xO_D.js → profile-Dpei_Sq0.js} +2 -2
- package/dist/profile-Dpei_Sq0.js.map +1 -0
- package/dist/{profile-materialization-BnoEf1co.d.ts → profile-materialization-B1wm2SPT.d.ts} +3 -5
- package/dist/profiles.d.ts +2 -2
- package/dist/profiles.js +3 -40
- package/dist/profiles.js.map +1 -1
- package/dist/{protected-model-port-DGxQ8_YM.d.ts → protected-model-port-BGgpy2r9.d.ts} +3 -29
- package/dist/protected-redaction-DFCeo4vg.js.map +1 -1
- package/dist/{provision-supervisor-0jMufp4h.js → provision-supervisor-CJ6Zz6dz.js} +6 -6
- package/dist/{provision-supervisor-0jMufp4h.js.map → provision-supervisor-CJ6Zz6dz.js.map} +1 -1
- package/dist/{run-cancellation-BoW5Sg9Y.js → run-cancellation-C9oL62sW.js} +3 -7
- package/dist/{run-cancellation-BoW5Sg9Y.js.map → run-cancellation-C9oL62sW.js.map} +1 -1
- package/dist/{runtime-D37zRSs7.js → runtime-B2fjL9Oi.js} +2531 -2889
- package/dist/runtime-B2fjL9Oi.js.map +1 -0
- package/dist/{runtime-hooks-Bj6wJHlH.d.ts → runtime-hooks-nsqxSUFL.d.ts} +2 -6
- package/dist/{sandbox-profile-compat-xSoVtdWw.js → sandbox-profile-compat-BzVBFqrz.js} +2 -4
- package/dist/sandbox-profile-compat-BzVBFqrz.js.map +1 -0
- package/dist/{search-executor-DmgUm5p7.js → search-executor-zMumiak_.js} +3 -3
- package/dist/search-executor-zMumiak_.js.map +1 -0
- package/dist/{server-DQHJszfk.js → server-_4voDNrl.js} +362 -67
- package/dist/server-_4voDNrl.js.map +1 -0
- package/dist/{structural-rollout-DAvIE8mw.js → structural-rollout-DpLCXzaL.js} +80 -80
- package/dist/structural-rollout-DpLCXzaL.js.map +1 -0
- package/dist/{substrate-B0TYNrXn.js → substrate-CGDFTSRh.js} +2 -9
- package/dist/substrate-CGDFTSRh.js.map +1 -0
- package/dist/{supervise-WuPAwfPh.js → supervise-qAwXmPtD.js} +10 -57
- package/dist/supervise-qAwXmPtD.js.map +1 -0
- package/dist/{supervisor-CPG1I9UN.js → supervisor-DHrUJhEZ.js} +179 -236
- package/dist/supervisor-DHrUJhEZ.js.map +1 -0
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +13 -13
- package/dist/testing.js.map +1 -1
- package/dist/tool-loop.d.ts +1 -1
- package/dist/{tool-server-Dqer2M4_.js → tool-server-XV4aJwoQ.js} +2 -2
- package/dist/tool-server-XV4aJwoQ.js.map +1 -0
- package/dist/top-snapshot-CbZE1JsU.js +502 -0
- package/dist/top-snapshot-CbZE1JsU.js.map +1 -0
- package/dist/tui/bin.js +711 -1
- package/dist/tui/bin.js.map +1 -1
- package/dist/tui/index.d.ts +2 -70
- package/dist/tui/index.js +3 -3
- package/dist/{types-CrNWif8-.d.ts → types-CaOXqRTq.d.ts} +713 -2096
- package/dist/workspace-store/index.d.ts +2 -27
- package/dist/workspace-store/index.js +2 -2
- package/dist/workspace-store/index.js.map +1 -1
- package/dist/{workspace-streams-BZZds1Fw.d.ts → workspace-streams-BiS4ABah.d.ts} +3 -18
- package/package.json +1 -1
- package/skills/agent-graphs/references/authoring.md +3 -2
- package/dist/coder-yhVWbdWc.js +0 -40
- package/dist/coder-yhVWbdWc.js.map +0 -1
- package/dist/delegation-status-CF4D0NZ_.js +0 -358
- package/dist/delegation-status-CF4D0NZ_.js.map +0 -1
- package/dist/driver-control-acknowledgers-T2a1Ouay.js.map +0 -1
- package/dist/durable-file-B_eJr6Mb.js.map +0 -1
- package/dist/graph-CY0wH838.js.map +0 -1
- package/dist/improve-CWGBT13K.js.map +0 -1
- package/dist/integrations-6xttbPi9.d.ts +0 -190
- package/dist/integrations-dFi-ALk7.js +0 -132
- package/dist/integrations-dFi-ALk7.js.map +0 -1
- package/dist/kb-gate-C8z2juK8.d.ts +0 -80
- package/dist/kb-gate-DpaSwXVx.js +0 -80
- package/dist/kb-gate-DpaSwXVx.js.map +0 -1
- package/dist/loop-runner-bin-CFnrAHpl.d.ts +0 -164
- package/dist/loop-runner-bin-CdPlhy9g.js +0 -246
- package/dist/loop-runner-bin-CdPlhy9g.js.map +0 -1
- package/dist/memory-server-DXQ8IxGR.js +0 -234
- package/dist/memory-server-DXQ8IxGR.js.map +0 -1
- package/dist/openai-tools-DoQ32vpe.js +0 -44
- package/dist/openai-tools-DoQ32vpe.js.map +0 -1
- package/dist/openai-tools-zh2I_uD7.d.ts +0 -24
- package/dist/prepare-Bt0IouPq.js.map +0 -1
- package/dist/profile-Do-5xO_D.js.map +0 -1
- package/dist/runtime-D37zRSs7.js.map +0 -1
- package/dist/sandbox-profile-compat-xSoVtdWw.js.map +0 -1
- package/dist/search-executor-DmgUm5p7.js.map +0 -1
- package/dist/server-DQHJszfk.js.map +0 -1
- package/dist/structural-rollout-DAvIE8mw.js.map +0 -1
- package/dist/substrate-B0TYNrXn.js.map +0 -1
- package/dist/supervise-WuPAwfPh.js.map +0 -1
- package/dist/supervisor-CPG1I9UN.js.map +0 -1
- package/dist/tool-server-Dqer2M4_.js.map +0 -1
- package/dist/top-app-C55Wa7uy.js +0 -1214
- package/dist/top-app-C55Wa7uy.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { i as publishExclusiveDurableFile, n as assertNoSymlinkDescendant } from "./durable-file-
|
|
1
|
+
import { i as publishExclusiveDurableFile, n as assertNoSymlinkDescendant } from "./durable-file-gNI9ILAn.js";
|
|
2
2
|
import { c as RetainedInteractiveAdmissionError, d as RetainedRunDispatchBindingError, f as RuntimeRunStateError, i as ConfigError, l as RetainedInteractiveBindingError, m as ValidationError$1, r as BackendTransportError, t as AgentEvalError$1, u as RetainedRunAdmissionError } from "./errors-DodWX-cb.js";
|
|
3
3
|
import { n as recordValue, t as isRecord } from "./record-value-B6bwJxLa.js";
|
|
4
|
-
import { $ as hasCompleteCacheBreakdown, At as
|
|
4
|
+
import { $ as hasCompleteCacheBreakdown, At as teardownSurfaces, Ct as ROOT_DEADLINE_REASON, Dt as isDeadlineAbortReason, Et as checkInIdleMs, G as addSpend, J as cloneSpend, K as addTokenUsage, L as deepFreezeCandidate, N as verifiedArtifactChunks, Ot as singleFlightTeardown, Q as fnv1a32Hex, Tt as boundedChildDeadlineAt, U as hasControlCharacter, V as sha256Bytes$1, W as abortError, X as deleteBoxSafe, Y as cloneTokenUsage, Z as errorMessage, _t as resourceTelemetry, at as randomUuid, bt as CHILD_DEADLINE_REASON, c as verifyAgentCandidateWorkspaceTree, ct as stringifySafe, dt as unmeteredSpend, et as isAbortError$1, ft as withTimeout, g as verifyAgentCandidateWorkspaceArchive, gt as assertResources, ht as addResourceSpend, it as randomSuffix, j as verifyWorkspaceSnapshotArtifacts, kt as teardownExecutor, lt as throwAbort, mt as zeroTokenUsage, nt as mapWithConcurrency, o as readAgentCandidateWorkspaceArtifactFiles, ot as roundBoxMinutes, pt as zeroSpend, q as chargedTokens, rt as promptCacheTokenClasses, s as verifyAgentCandidateWorkspaceArtifacts, st as sleep, t as assertSandboxProfileCompatibility, tt as isAsyncIterable$1, ut as throwIfAborted, vt as withBudgetResources, wt as armDeadlineTimer, yt as ACCEPTED_RESULT_GRACE_MS } from "./sandbox-profile-compat-BzVBFqrz.js";
|
|
5
5
|
import { runTaskQueue } from "./task-queue.js";
|
|
6
6
|
import { _ as agentHarness, a as concreteProfileModel, c as profileModelExecutionSettings, d as assertRouterAutoDeclaration, f as assertRouterAutoResponse, g as observedModelMatchesDeclared, h as observedModelHasSnapshot, l as profileProviderModel, m as mergeObservedModelIdentity, o as enforceTokenLimits, s as profileBridgeWireModel, t as assertExecutableAgentProfile, u as resolveRouterRetryPolicy } from "./model-policy-CyCUwHed.js";
|
|
7
7
|
import { t as sha256 } from "./content-digest-sBTLujlK.js";
|
|
8
8
|
import { i as notifyRuntimeHookEvent } from "./runtime-hooks-tXpAarhW.js";
|
|
9
|
-
import { a as readCommittedJsonLines, n as isNoEntError, t as appendCommittedJsonLine } from "./jsonl-file-
|
|
9
|
+
import { a as readCommittedJsonLines, n as isNoEntError, t as appendCommittedJsonLine } from "./jsonl-file-C9Kde_0Z.js";
|
|
10
10
|
import { AGENT_PROFILE_MATERIALIZATION_AXES, AgentEnvironmentCapabilitiesSchema, AgentExactRunControlRefSchema, AgentInteractiveSessionControlClaimAcknowledgementSchema, AgentInteractiveSessionControlClaimSchema, AgentInteractiveSessionPromptAcknowledgementSchema, AgentInteractiveSessionRefSchema, AgentInteractiveSessionStatusSchema, AgentInteractiveSessionStopAcknowledgementSchema, AgentNativeContextContinuationResultSchema, AgentRunCancellationAcknowledgementSchema, AgentRunCancellationRequestSchema, AgentTurnInputSchema, AgentTurnResultSchema, CanonicalStreamEventSchema, ContextTransferReceiptSchema, ContextTransferRequestSchema, InteractionAcknowledgementSchema, InteractionResponseCommandSchema, NativeContextBoundaryProofSchema, NativeContextContinuationRequestSchema, REASONING_EFFORTS, RuntimeEventEnvelopeSchema, TerminalReplayWindowSchema, TerminalSessionRefSchema, agentCandidateArtifactRefSchema, agentCandidateWorkspaceManifestMaterialSchema, agentCandidateWorkspaceSnapshotEvidenceSchema, agentInteractiveSessionControlClaimAcknowledgementMatchesRequest, agentInteractiveSessionControlClaimMatchesRef, agentInteractiveSessionPromptAcknowledgementMatchesCommand, agentInteractiveSessionRefMatchesStart, agentInteractiveSessionRunRef, agentInteractiveSessionStatusMatchesRef, agentInteractiveSessionStopAcknowledgementMatchesCommand, agentNativeContextContinuationResultMatchesRequest, agentProfileSchema, agentRunCancellationAcknowledgementMatchesRequest, agentRunCancellationRequestDigest, agentWorkspaceSnapshotRefDigest, canonicalAgentProfileDigest, canonicalCandidateDigest, canonicalWorkspaceCwd, contextTransferReceiptMatches, exactAgentInteractiveSessionStart, harnessTypeSchema, nativeContextContinuationTurnDigest, nativeReasoningControl, profileMaterializationAxes, profileMaterializationAxes as profileMaterializationAxes$1, renderInputPartsAsText, sha256DigestSchema, workspaceCheckpointRequestDigest, workspaceCheckpointResultMatchesRequest, workspaceCleanupAcknowledgementMatches, workspaceCleanupRequestDigest, workspaceForkRequestDigest, workspaceForkResultMatchesRequest } from "@tangle-network/agent-interface";
|
|
11
11
|
import { isToolSpan, toolSpansToTraceAnalysisStore } from "@tangle-network/agent-eval";
|
|
12
12
|
import { createAgentRunOutcomeTracker } from "@tangle-network/sandbox/runtime";
|
|
@@ -2886,6 +2886,8 @@ function cappedDoublingMs(consecutive, first, ceiling) {
|
|
|
2886
2886
|
const start = Math.max(0, first);
|
|
2887
2887
|
return Math.min(Math.max(start, ceiling), start * 2 ** Math.max(0, consecutive - 1));
|
|
2888
2888
|
}
|
|
2889
|
+
/** The longest hold a refusal's own reset time may ask for: a 5-hour plan window plus a margin. */
|
|
2890
|
+
const MAX_RESET_HOLD_MS = 360 * 6e4;
|
|
2889
2891
|
/** How often a refusal whose reset is beyond {@link MAX_RESET_HOLD_MS} is probed again. */
|
|
2890
2892
|
const FAR_RESET_PROBE_MS = 60 * 6e4;
|
|
2891
2893
|
/**
|
|
@@ -2907,7 +2909,7 @@ function unavailableResumeAt(text, nowMs) {
|
|
|
2907
2909
|
if (zone === void 0) return void 0;
|
|
2908
2910
|
const at = Date.parse(`${match[1]}T${match[2]}${zone.length === 5 ? `${zone.slice(0, 3)}:${zone.slice(3)}` : zone}`);
|
|
2909
2911
|
if (!Number.isFinite(at) || at <= nowMs) return void 0;
|
|
2910
|
-
return at - nowMs >
|
|
2912
|
+
return at - nowMs > MAX_RESET_HOLD_MS ? nowMs + FAR_RESET_PROBE_MS : at;
|
|
2911
2913
|
}
|
|
2912
2914
|
/**
|
|
2913
2915
|
* Spread a wait over `[ms / 2, ms]`. Every driver a Platform restart cut off fails within the same
|
|
@@ -4289,15 +4291,6 @@ const HARNESS_INVOCATIONS = {
|
|
|
4289
4291
|
/** Every local harness, in table order — the one list `AGENT_RUNTIME_LOCAL_HARNESSES` and any
|
|
4290
4292
|
* other harness enumeration reads, so adding a row above is the only edit a new harness needs. */
|
|
4291
4293
|
const LOCAL_HARNESSES = Object.keys(HARNESS_INVOCATIONS);
|
|
4292
|
-
/** The harness a caller gets when it expresses no preference. A composition-root default, not a
|
|
4293
|
-
* capability claim: one constant so the several entry points cannot drift apart. */
|
|
4294
|
-
const DEFAULT_LOCAL_HARNESS = "claude-code";
|
|
4295
|
-
/** The CLI binary a harness id runs. The two are NOT the same string (`claude-code` runs `claude`),
|
|
4296
|
-
* so anything spawning a harness — a version probe, a login check — reads it from here rather than
|
|
4297
|
-
* passing the harness id as a command. */
|
|
4298
|
-
function localHarnessExecutable(harness) {
|
|
4299
|
-
return HARNESS_INVOCATIONS[harness].command;
|
|
4300
|
-
}
|
|
4301
4294
|
/**
|
|
4302
4295
|
* Whether the harness's native control can express this reasoning effort. Admission checks read
|
|
4303
4296
|
* this so a profile the invocation would later refuse is rejected BEFORE any workspace state is
|
|
@@ -11553,7 +11546,7 @@ function toOpenInferenceLine(span) {
|
|
|
11553
11546
|
* `maxQueueSize`. Every span ends in exactly one of `written` or `dropped`: a non-2xx response, a
|
|
11554
11547
|
* network error, a timeout, an OTLP `partialSuccess.rejectedSpans` count and a full queue each count
|
|
11555
11548
|
* as drops and set `lastError`. Nothing here throws into the caller's run; `flush()` reports the
|
|
11556
|
-
* loss, the same rule
|
|
11549
|
+
* loss, the same rule `createOpenInferenceFileExporter` follows.
|
|
11557
11550
|
*/
|
|
11558
11551
|
function createOtelExporter(config) {
|
|
11559
11552
|
const resolvedEndpoint = config?.endpoint ?? (typeof process !== "undefined" ? process.env.OTEL_EXPORTER_OTLP_ENDPOINT : void 0);
|
|
@@ -13264,172 +13257,6 @@ const cliInPlaceExecutor = (spec, ctx) => {
|
|
|
13264
13257
|
});
|
|
13265
13258
|
};
|
|
13266
13259
|
//#endregion
|
|
13267
|
-
//#region src/runtime/supervise/cli-process-executor.ts
|
|
13268
|
-
/**
|
|
13269
|
-
* Spawns a subprocess (`bin` + `args`). It cannot account tokens, so it is
|
|
13270
|
-
* `budgetExempt: true`: it remains usable as a direct executor, while budgeted supervision
|
|
13271
|
-
* refuses it before process execution because the CLI exposes no usage receipt. teardown is SIGTERM → SIGKILL
|
|
13272
|
-
* with a grace window. Streaming: yields one `iteration` event on clean exit.
|
|
13273
|
-
*
|
|
13274
|
-
* Its terminal spend is `unmeteredSpend`, NOT a zero: an unmetered runtime that reports a plain
|
|
13275
|
-
* `0` is indistinguishable from one that measured zero, and every ceiling downstream then reads
|
|
13276
|
-
* as enforced while enforcing nothing.
|
|
13277
|
-
*/
|
|
13278
|
-
const cliExecutor = (spec, ctx) => {
|
|
13279
|
-
const seam = readSeam(ctx, "cli", "cli");
|
|
13280
|
-
if (!seam.bin) throw new ValidationError$1("cliExecutor: CliSeam.bin required");
|
|
13281
|
-
const traceEnv = {
|
|
13282
|
-
...workerLineage({
|
|
13283
|
-
harness: seam.bin,
|
|
13284
|
-
nodeId: ctx.node?.nodeId,
|
|
13285
|
-
label: spec.profile.name,
|
|
13286
|
-
local: true
|
|
13287
|
-
}).env,
|
|
13288
|
-
...workerTraceEnv(ctx)
|
|
13289
|
-
};
|
|
13290
|
-
const controller = linkAbort(ctx.signal);
|
|
13291
|
-
let proc;
|
|
13292
|
-
let artifact;
|
|
13293
|
-
const executionId = ctx.node?.nodeId ?? `cli-process-${randomUUID()}`;
|
|
13294
|
-
const attemptId = ctx.node?.attemptId ?? newExecutionAttemptId(executionId);
|
|
13295
|
-
return attestRuntimeOwnedExecutor({
|
|
13296
|
-
runtime: "cli",
|
|
13297
|
-
budgetExempt: true,
|
|
13298
|
-
execute(task, signal) {
|
|
13299
|
-
return streamCliLeaf({
|
|
13300
|
-
task,
|
|
13301
|
-
signal,
|
|
13302
|
-
traceEnv,
|
|
13303
|
-
seam,
|
|
13304
|
-
controller,
|
|
13305
|
-
onProc: (p) => {
|
|
13306
|
-
proc = p;
|
|
13307
|
-
},
|
|
13308
|
-
onArtifact: (a) => {
|
|
13309
|
-
artifact = a;
|
|
13310
|
-
}
|
|
13311
|
-
});
|
|
13312
|
-
},
|
|
13313
|
-
async teardown(grace) {
|
|
13314
|
-
if (!proc) {
|
|
13315
|
-
controller.abort();
|
|
13316
|
-
return { destroyed: true };
|
|
13317
|
-
}
|
|
13318
|
-
const receipt = await killWithGrace(proc, grace);
|
|
13319
|
-
controller.abort();
|
|
13320
|
-
return receipt;
|
|
13321
|
-
},
|
|
13322
|
-
resultArtifact() {
|
|
13323
|
-
if (!artifact) throw new ValidationError$1("cliExecutor: resultArtifact() read before stream drained");
|
|
13324
|
-
return artifact;
|
|
13325
|
-
}
|
|
13326
|
-
}, {
|
|
13327
|
-
effectiveProfile: spec.profile,
|
|
13328
|
-
backend: "cli",
|
|
13329
|
-
model: {
|
|
13330
|
-
status: "unknown",
|
|
13331
|
-
reason: "raw subprocess has no model identity contract"
|
|
13332
|
-
},
|
|
13333
|
-
execution: {
|
|
13334
|
-
kind: "process-attempt",
|
|
13335
|
-
id: executionId
|
|
13336
|
-
},
|
|
13337
|
-
materializer: "raw-cli-stdin",
|
|
13338
|
-
plan: {
|
|
13339
|
-
kind: "raw-cli-process",
|
|
13340
|
-
bin: seam.bin,
|
|
13341
|
-
args: seam.args ?? [],
|
|
13342
|
-
cwd: seam.cwd ?? null,
|
|
13343
|
-
envOverrides: seam.env ?? {},
|
|
13344
|
-
ambientEnvironment: "inherited"
|
|
13345
|
-
}
|
|
13346
|
-
}, {
|
|
13347
|
-
attemptId,
|
|
13348
|
-
binding: {
|
|
13349
|
-
executionId,
|
|
13350
|
-
bin: seam.bin,
|
|
13351
|
-
cwd: seam.cwd ?? null
|
|
13352
|
-
},
|
|
13353
|
-
descriptor: {
|
|
13354
|
-
kind: "cli-process",
|
|
13355
|
-
transport: "process",
|
|
13356
|
-
backend: "cli"
|
|
13357
|
-
}
|
|
13358
|
-
});
|
|
13359
|
-
};
|
|
13360
|
-
async function* streamCliLeaf(args) {
|
|
13361
|
-
const started = Date.now();
|
|
13362
|
-
const prompt = taskToPrompt$1(args.task);
|
|
13363
|
-
const proc = spawn(args.seam.bin, args.seam.args ?? [], {
|
|
13364
|
-
...args.seam.cwd ? { cwd: args.seam.cwd } : {},
|
|
13365
|
-
env: mergeTraceEnv(process.env, args.traceEnv, args.seam.env),
|
|
13366
|
-
stdio: [
|
|
13367
|
-
"pipe",
|
|
13368
|
-
"pipe",
|
|
13369
|
-
"pipe"
|
|
13370
|
-
]
|
|
13371
|
-
});
|
|
13372
|
-
args.onProc(proc);
|
|
13373
|
-
const onAbort = () => killWithGrace(proc, "brutalKill");
|
|
13374
|
-
if (args.signal.aborted || args.controller.signal.aborted) onAbort();
|
|
13375
|
-
else {
|
|
13376
|
-
args.signal.addEventListener("abort", onAbort, { once: true });
|
|
13377
|
-
args.controller.signal.addEventListener("abort", onAbort, { once: true });
|
|
13378
|
-
}
|
|
13379
|
-
let deliveryError;
|
|
13380
|
-
if (proc.stdin) {
|
|
13381
|
-
proc.stdin.on("error", (error) => {
|
|
13382
|
-
if (error.code !== "EPIPE") deliveryError ??= error;
|
|
13383
|
-
});
|
|
13384
|
-
proc.stdin.write(prompt);
|
|
13385
|
-
proc.stdin.end();
|
|
13386
|
-
}
|
|
13387
|
-
const chunks = [];
|
|
13388
|
-
const errChunks = [];
|
|
13389
|
-
if (proc.stdout) proc.stdout.on("data", (d) => chunks.push(d.toString("utf8")));
|
|
13390
|
-
if (proc.stderr) proc.stderr.on("data", (d) => errChunks.push(d.toString("utf8")));
|
|
13391
|
-
const exit = await new Promise((resolve) => {
|
|
13392
|
-
proc.once("error", (err) => resolve({
|
|
13393
|
-
code: null,
|
|
13394
|
-
error: err
|
|
13395
|
-
}));
|
|
13396
|
-
proc.once("close", (code) => resolve({ code }));
|
|
13397
|
-
});
|
|
13398
|
-
args.signal.removeEventListener("abort", onAbort);
|
|
13399
|
-
args.controller.signal.removeEventListener("abort", onAbort);
|
|
13400
|
-
if (exit.error) throw new ValidationError$1(`cliExecutor: spawn failed: ${exit.error.message}`, { cause: exit.error });
|
|
13401
|
-
if (exit.code !== 0) throw new ValidationError$1(`cliExecutor: ${args.seam.bin} exited ${exit.code}: ${errChunks.join("").slice(0, 200)}`);
|
|
13402
|
-
if (deliveryError) throw new ValidationError$1(`cliExecutor: could not deliver the task to ${args.seam.bin}: ${deliveryError.message}`, { cause: deliveryError });
|
|
13403
|
-
const out = { content: chunks.join("") };
|
|
13404
|
-
args.onArtifact({
|
|
13405
|
-
outRef: contentRef("cli", out),
|
|
13406
|
-
out,
|
|
13407
|
-
spent: unmeteredSpend(Date.now() - started)
|
|
13408
|
-
});
|
|
13409
|
-
yield { kind: "iteration" };
|
|
13410
|
-
}
|
|
13411
|
-
/** SIGTERM, then SIGKILL after `grace` ms (`'brutalKill'` = immediate SIGKILL,
|
|
13412
|
-
* `'infinity'` = await clean exit, never escalate). */
|
|
13413
|
-
function killWithGrace(proc, grace) {
|
|
13414
|
-
if (proc.pid === void 0 || proc.exitCode !== null || proc.signalCode !== null) return Promise.resolve({ destroyed: true });
|
|
13415
|
-
return new Promise((resolve) => {
|
|
13416
|
-
let clearTimer;
|
|
13417
|
-
proc.once("close", () => {
|
|
13418
|
-
clearTimer?.();
|
|
13419
|
-
resolve({ destroyed: true });
|
|
13420
|
-
});
|
|
13421
|
-
if (grace === "brutalKill") {
|
|
13422
|
-
proc.kill("SIGKILL");
|
|
13423
|
-
return;
|
|
13424
|
-
}
|
|
13425
|
-
proc.kill("SIGTERM");
|
|
13426
|
-
if (grace === "infinity") return;
|
|
13427
|
-
clearTimer = armDeadlineTimer(grace, () => {
|
|
13428
|
-
if (proc.exitCode === null && proc.signalCode === null) proc.kill("SIGKILL");
|
|
13429
|
-
}, true);
|
|
13430
|
-
});
|
|
13431
|
-
}
|
|
13432
|
-
//#endregion
|
|
13433
13260
|
//#region src/runtime/provider-placement.ts
|
|
13434
13261
|
const placementMetadataKey = "runtimeProviderPlacement";
|
|
13435
13262
|
/** Select exactly one declaration before any provider effects. Shared defaults carry infrastructure only. */
|
|
@@ -14505,6 +14332,8 @@ function normalizeWorkerSlotBound(value) {
|
|
|
14505
14332
|
if (!Number.isSafeInteger(value)) throw new ValidationError$1(`workerSlots must be a positive safe integer, or 0 or less for no bound, got ${String(value)}`);
|
|
14506
14333
|
return value;
|
|
14507
14334
|
}
|
|
14335
|
+
/** Default {@link ProviderWorkspaceRetentionPort.nativeTimeoutMs}. */
|
|
14336
|
+
const DEFAULT_NATIVE_CAPTURE_TIMEOUT_MS = 12e4;
|
|
14508
14337
|
/** At most this many stage entries are kept from a port, each a finite, non-negative number. */
|
|
14509
14338
|
const MAX_CAPTURE_STAGES = 16;
|
|
14510
14339
|
function captureStages(value) {
|
|
@@ -14744,7 +14573,7 @@ async function captureProviderWorkspaceSnapshot(port, context, scope = "environm
|
|
|
14744
14573
|
async function captureWithinSlot(port, context, scope, onGranted, parent) {
|
|
14745
14574
|
const native = scope === "native";
|
|
14746
14575
|
if (native && port.captureNative === void 0) throw new ValidationError$1("provider workspace retention: the port has no captureNative");
|
|
14747
|
-
const timeoutMs = native ? port.nativeTimeoutMs ??
|
|
14576
|
+
const timeoutMs = native ? port.nativeTimeoutMs ?? DEFAULT_NATIVE_CAPTURE_TIMEOUT_MS : port.timeoutMs;
|
|
14748
14577
|
const controlRef = context.controlRef === void 0 ? void 0 : AgentExactRunControlRefSchema.parse(context.controlRef);
|
|
14749
14578
|
if (controlRef !== void 0 && (controlRef.environmentId !== context.environment.id || controlRef.provider !== context.environment.provider || context.providerSessionId != null && controlRef.sessionId !== context.providerSessionId)) throw new Error("provider workspace retention control reference names another environment or session");
|
|
14750
14579
|
const controller = new AbortController();
|
|
@@ -18667,6 +18496,172 @@ function resolveAgentEnvironmentProvider(provider, registry) {
|
|
|
18667
18496
|
return registry.require(provider);
|
|
18668
18497
|
}
|
|
18669
18498
|
//#endregion
|
|
18499
|
+
//#region src/runtime/supervise/cli-process-executor.ts
|
|
18500
|
+
/**
|
|
18501
|
+
* Spawns a subprocess (`bin` + `args`). It cannot account tokens, so it is
|
|
18502
|
+
* `budgetExempt: true`: it remains usable as a direct executor, while budgeted supervision
|
|
18503
|
+
* refuses it before process execution because the CLI exposes no usage receipt. teardown is SIGTERM → SIGKILL
|
|
18504
|
+
* with a grace window. Streaming: yields one `iteration` event on clean exit.
|
|
18505
|
+
*
|
|
18506
|
+
* Its terminal spend is `unmeteredSpend`, NOT a zero: an unmetered runtime that reports a plain
|
|
18507
|
+
* `0` is indistinguishable from one that measured zero, and every ceiling downstream then reads
|
|
18508
|
+
* as enforced while enforcing nothing.
|
|
18509
|
+
*/
|
|
18510
|
+
const cliExecutor = (spec, ctx) => {
|
|
18511
|
+
const seam = readSeam(ctx, "cli", "cli");
|
|
18512
|
+
if (!seam.bin) throw new ValidationError$1("cliExecutor: CliSeam.bin required");
|
|
18513
|
+
const traceEnv = {
|
|
18514
|
+
...workerLineage({
|
|
18515
|
+
harness: seam.bin,
|
|
18516
|
+
nodeId: ctx.node?.nodeId,
|
|
18517
|
+
label: spec.profile.name,
|
|
18518
|
+
local: true
|
|
18519
|
+
}).env,
|
|
18520
|
+
...workerTraceEnv(ctx)
|
|
18521
|
+
};
|
|
18522
|
+
const controller = linkAbort(ctx.signal);
|
|
18523
|
+
let proc;
|
|
18524
|
+
let artifact;
|
|
18525
|
+
const executionId = ctx.node?.nodeId ?? `cli-process-${randomUUID()}`;
|
|
18526
|
+
const attemptId = ctx.node?.attemptId ?? newExecutionAttemptId(executionId);
|
|
18527
|
+
return attestRuntimeOwnedExecutor({
|
|
18528
|
+
runtime: "cli",
|
|
18529
|
+
budgetExempt: true,
|
|
18530
|
+
execute(task, signal) {
|
|
18531
|
+
return streamCliLeaf({
|
|
18532
|
+
task,
|
|
18533
|
+
signal,
|
|
18534
|
+
traceEnv,
|
|
18535
|
+
seam,
|
|
18536
|
+
controller,
|
|
18537
|
+
onProc: (p) => {
|
|
18538
|
+
proc = p;
|
|
18539
|
+
},
|
|
18540
|
+
onArtifact: (a) => {
|
|
18541
|
+
artifact = a;
|
|
18542
|
+
}
|
|
18543
|
+
});
|
|
18544
|
+
},
|
|
18545
|
+
async teardown(grace) {
|
|
18546
|
+
if (!proc) {
|
|
18547
|
+
controller.abort();
|
|
18548
|
+
return { destroyed: true };
|
|
18549
|
+
}
|
|
18550
|
+
const receipt = await killWithGrace(proc, grace);
|
|
18551
|
+
controller.abort();
|
|
18552
|
+
return receipt;
|
|
18553
|
+
},
|
|
18554
|
+
resultArtifact() {
|
|
18555
|
+
if (!artifact) throw new ValidationError$1("cliExecutor: resultArtifact() read before stream drained");
|
|
18556
|
+
return artifact;
|
|
18557
|
+
}
|
|
18558
|
+
}, {
|
|
18559
|
+
effectiveProfile: spec.profile,
|
|
18560
|
+
backend: "cli",
|
|
18561
|
+
model: {
|
|
18562
|
+
status: "unknown",
|
|
18563
|
+
reason: "raw subprocess has no model identity contract"
|
|
18564
|
+
},
|
|
18565
|
+
execution: {
|
|
18566
|
+
kind: "process-attempt",
|
|
18567
|
+
id: executionId
|
|
18568
|
+
},
|
|
18569
|
+
materializer: "raw-cli-stdin",
|
|
18570
|
+
plan: {
|
|
18571
|
+
kind: "raw-cli-process",
|
|
18572
|
+
bin: seam.bin,
|
|
18573
|
+
args: seam.args ?? [],
|
|
18574
|
+
cwd: seam.cwd ?? null,
|
|
18575
|
+
envOverrides: seam.env ?? {},
|
|
18576
|
+
ambientEnvironment: "inherited"
|
|
18577
|
+
}
|
|
18578
|
+
}, {
|
|
18579
|
+
attemptId,
|
|
18580
|
+
binding: {
|
|
18581
|
+
executionId,
|
|
18582
|
+
bin: seam.bin,
|
|
18583
|
+
cwd: seam.cwd ?? null
|
|
18584
|
+
},
|
|
18585
|
+
descriptor: {
|
|
18586
|
+
kind: "cli-process",
|
|
18587
|
+
transport: "process",
|
|
18588
|
+
backend: "cli"
|
|
18589
|
+
}
|
|
18590
|
+
});
|
|
18591
|
+
};
|
|
18592
|
+
async function* streamCliLeaf(args) {
|
|
18593
|
+
const started = Date.now();
|
|
18594
|
+
const prompt = taskToPrompt$1(args.task);
|
|
18595
|
+
const proc = spawn(args.seam.bin, args.seam.args ?? [], {
|
|
18596
|
+
...args.seam.cwd ? { cwd: args.seam.cwd } : {},
|
|
18597
|
+
env: mergeTraceEnv(process.env, args.traceEnv, args.seam.env),
|
|
18598
|
+
stdio: [
|
|
18599
|
+
"pipe",
|
|
18600
|
+
"pipe",
|
|
18601
|
+
"pipe"
|
|
18602
|
+
]
|
|
18603
|
+
});
|
|
18604
|
+
args.onProc(proc);
|
|
18605
|
+
const onAbort = () => killWithGrace(proc, "brutalKill");
|
|
18606
|
+
if (args.signal.aborted || args.controller.signal.aborted) onAbort();
|
|
18607
|
+
else {
|
|
18608
|
+
args.signal.addEventListener("abort", onAbort, { once: true });
|
|
18609
|
+
args.controller.signal.addEventListener("abort", onAbort, { once: true });
|
|
18610
|
+
}
|
|
18611
|
+
let deliveryError;
|
|
18612
|
+
if (proc.stdin) {
|
|
18613
|
+
proc.stdin.on("error", (error) => {
|
|
18614
|
+
if (error.code !== "EPIPE") deliveryError ??= error;
|
|
18615
|
+
});
|
|
18616
|
+
proc.stdin.write(prompt);
|
|
18617
|
+
proc.stdin.end();
|
|
18618
|
+
}
|
|
18619
|
+
const chunks = [];
|
|
18620
|
+
const errChunks = [];
|
|
18621
|
+
if (proc.stdout) proc.stdout.on("data", (d) => chunks.push(d.toString("utf8")));
|
|
18622
|
+
if (proc.stderr) proc.stderr.on("data", (d) => errChunks.push(d.toString("utf8")));
|
|
18623
|
+
const exit = await new Promise((resolve) => {
|
|
18624
|
+
proc.once("error", (err) => resolve({
|
|
18625
|
+
code: null,
|
|
18626
|
+
error: err
|
|
18627
|
+
}));
|
|
18628
|
+
proc.once("close", (code) => resolve({ code }));
|
|
18629
|
+
});
|
|
18630
|
+
args.signal.removeEventListener("abort", onAbort);
|
|
18631
|
+
args.controller.signal.removeEventListener("abort", onAbort);
|
|
18632
|
+
if (exit.error) throw new ValidationError$1(`cliExecutor: spawn failed: ${exit.error.message}`, { cause: exit.error });
|
|
18633
|
+
if (exit.code !== 0) throw new ValidationError$1(`cliExecutor: ${args.seam.bin} exited ${exit.code}: ${errChunks.join("").slice(0, 200)}`);
|
|
18634
|
+
if (deliveryError) throw new ValidationError$1(`cliExecutor: could not deliver the task to ${args.seam.bin}: ${deliveryError.message}`, { cause: deliveryError });
|
|
18635
|
+
const out = { content: chunks.join("") };
|
|
18636
|
+
args.onArtifact({
|
|
18637
|
+
outRef: contentRef("cli", out),
|
|
18638
|
+
out,
|
|
18639
|
+
spent: unmeteredSpend(Date.now() - started)
|
|
18640
|
+
});
|
|
18641
|
+
yield { kind: "iteration" };
|
|
18642
|
+
}
|
|
18643
|
+
/** SIGTERM, then SIGKILL after `grace` ms (`'brutalKill'` = immediate SIGKILL,
|
|
18644
|
+
* `'infinity'` = await clean exit, never escalate). */
|
|
18645
|
+
function killWithGrace(proc, grace) {
|
|
18646
|
+
if (proc.pid === void 0 || proc.exitCode !== null || proc.signalCode !== null) return Promise.resolve({ destroyed: true });
|
|
18647
|
+
return new Promise((resolve) => {
|
|
18648
|
+
let clearTimer;
|
|
18649
|
+
proc.once("close", () => {
|
|
18650
|
+
clearTimer?.();
|
|
18651
|
+
resolve({ destroyed: true });
|
|
18652
|
+
});
|
|
18653
|
+
if (grace === "brutalKill") {
|
|
18654
|
+
proc.kill("SIGKILL");
|
|
18655
|
+
return;
|
|
18656
|
+
}
|
|
18657
|
+
proc.kill("SIGTERM");
|
|
18658
|
+
if (grace === "infinity") return;
|
|
18659
|
+
clearTimer = armDeadlineTimer(grace, () => {
|
|
18660
|
+
if (proc.exitCode === null && proc.signalCode === null) proc.kill("SIGKILL");
|
|
18661
|
+
}, true);
|
|
18662
|
+
});
|
|
18663
|
+
}
|
|
18664
|
+
//#endregion
|
|
18670
18665
|
//#region src/runtime/router-http-transport.ts
|
|
18671
18666
|
/** Router HTTP attempts, response evidence, retries, and request cancellation. */
|
|
18672
18667
|
function routerRequestHeaders(cfg, opts) {
|
|
@@ -19766,7 +19761,7 @@ function forTurnEvent(message) {
|
|
|
19766
19761
|
const content = message.content;
|
|
19767
19762
|
if (typeof content !== "string") return message;
|
|
19768
19763
|
const bytes = Buffer.byteLength(content);
|
|
19769
|
-
if (bytes <=
|
|
19764
|
+
if (bytes <= TURN_CONTENT_BYTES) return message;
|
|
19770
19765
|
return {
|
|
19771
19766
|
...message,
|
|
19772
19767
|
content: Buffer.from(content).subarray(0, TURN_CONTENT_BYTES).toString("utf8"),
|
|
@@ -25468,8 +25463,6 @@ const admissionSeals = /* @__PURE__ */ new WeakMap();
|
|
|
25468
25463
|
const subtreeReaders = /* @__PURE__ */ new WeakMap();
|
|
25469
25464
|
/** Each scope's reader of its live team, for the progress its owner's lead reads mid-flight. */
|
|
25470
25465
|
const liveTeamReaders = /* @__PURE__ */ new WeakMap();
|
|
25471
|
-
/** How many of a manager's direct children its summary lists; the counts always cover all. */
|
|
25472
|
-
const SUBTREE_RESULT_LIMIT = 8;
|
|
25473
25466
|
/** @internal The bounded account of the children a scope spawned and everything below them.
|
|
25474
25467
|
* `undefined` when the scope spawned no worker. */
|
|
25475
25468
|
function subtreeSummaryOf(scope) {
|
|
@@ -25514,9 +25507,6 @@ function unconfirmedTeardownOf(child, releasing) {
|
|
|
25514
25507
|
...child.teardownDetail === void 0 ? {} : { detail: child.teardownDetail }
|
|
25515
25508
|
});
|
|
25516
25509
|
}
|
|
25517
|
-
/** Ten minutes: a manager that is alive decides within a turn or two; one that crashed, or a host
|
|
25518
|
-
* that restarted, must not leave a paid environment running until a retire pass finds it. */
|
|
25519
|
-
const DEFAULT_BUDGET_STOP_HOLD_MS = 6e5;
|
|
25520
25510
|
/**
|
|
25521
25511
|
* @internal Release every environment this scope's settled children still hold after a budget
|
|
25522
25512
|
* stop, at the join barrier: no later spawn of this scope can continue them. Each release journals
|
|
@@ -27969,20 +27959,6 @@ function overBudget(budget, spent) {
|
|
|
27969
27959
|
* here so the scope and the driver-executor agree on the seam without a circular import.
|
|
27970
27960
|
*/
|
|
27971
27961
|
const nestedScopeSeamKey = "nested-scope";
|
|
27972
|
-
//#endregion
|
|
27973
|
-
//#region src/runtime/supervise/trace-evidence.ts
|
|
27974
|
-
/**
|
|
27975
|
-
* Durable structured tool evidence for supervised workers.
|
|
27976
|
-
*
|
|
27977
|
-
* The executor-owned `TraceSource` is collected before teardown, snapshotted into the shared
|
|
27978
|
-
* content-addressed blob store, and only then referenced by a settlement. Analysis reconstructs
|
|
27979
|
-
* agent-eval's bounded `TraceAnalysisStore` from those exact bytes. Worker output is never accepted
|
|
27980
|
-
* as a substitute for tool evidence.
|
|
27981
|
-
*
|
|
27982
|
-
* @experimental
|
|
27983
|
-
*/
|
|
27984
|
-
/** Schema version for content-addressed worker tool-trace artifacts. */
|
|
27985
|
-
const WORKER_TOOL_TRACE_SCHEMA_VERSION = 1;
|
|
27986
27962
|
/** Structural guard for the official bounded trace-analysis read contract. */
|
|
27987
27963
|
function isTraceAnalysisStore(value) {
|
|
27988
27964
|
if (value === null || typeof value !== "object") return false;
|
|
@@ -30629,27 +30605,6 @@ function pickBestDelivered(delivered) {
|
|
|
30629
30605
|
* delivered (or the best delivered child carries no artifact). */
|
|
30630
30606
|
const bestDelivered = (ctx) => pickBestDelivered(ctx.delivered)?.out;
|
|
30631
30607
|
/**
|
|
30632
|
-
* Every verified distinct output, highest score first — the shape for competing hypotheses, a
|
|
30633
|
-
* Pareto front, or a recorded evaluator split (three judges 2:1 → both outputs survive, with
|
|
30634
|
-
* provenance, instead of the minority report being erased). Distinct by `outRef` (content
|
|
30635
|
-
* address), so identical outputs collapse to one entry. `undefined` when nothing delivered —
|
|
30636
|
-
* an empty collection is a no-winner, not a winner wrapping `[]`.
|
|
30637
|
-
*/
|
|
30638
|
-
const collectDelivered = (ctx) => {
|
|
30639
|
-
const seen = /* @__PURE__ */ new Set();
|
|
30640
|
-
const distinct = [...ctx.delivered].sort((a, b) => (b.score ?? 0) - (a.score ?? 0)).filter((w) => {
|
|
30641
|
-
if (w.outRef === void 0 || seen.has(w.outRef)) return false;
|
|
30642
|
-
seen.add(w.outRef);
|
|
30643
|
-
return true;
|
|
30644
|
-
}).map((w) => ({
|
|
30645
|
-
id: w.id,
|
|
30646
|
-
score: w.score,
|
|
30647
|
-
outRef: w.outRef,
|
|
30648
|
-
out: w.out
|
|
30649
|
-
}));
|
|
30650
|
-
return distinct.length > 0 ? distinct : void 0;
|
|
30651
|
-
};
|
|
30652
|
-
/**
|
|
30653
30608
|
* Run a finalizer over a settled-worker ledger under the delivered-only invariant: filter the
|
|
30654
30609
|
* ledger to structurally delivered children, materialize their outputs, and hand the finalizer a
|
|
30655
30610
|
* blob reader that throws on any ref outside that set. This is the one call site both driver arms
|
|
@@ -30698,18 +30653,6 @@ async function runFinalizer(finalizer, args) {
|
|
|
30698
30653
|
});
|
|
30699
30654
|
return await accepted(candidate) ? candidate : void 0;
|
|
30700
30655
|
}
|
|
30701
|
-
/** Keep-best finalize under the completion-oracle: return the highest-scoring DELIVERED child's
|
|
30702
|
-
* output (settled `done` AND `valid` — its deliverable check passed). Returns undefined when no
|
|
30703
|
-
* child delivered — an honest "the driver produced nothing", never a high-scoring result that
|
|
30704
|
-
* ran without passing its check (Foreman's 0/18 lesson). `valid` is the single delivery signal,
|
|
30705
|
-
* matching `defaultSelectWinner`'s valid-first rule; the oracle just doesn't fall back to an
|
|
30706
|
-
* unchecked best-effort. The same argmax as the `bestDelivered` finalizer (`pickBestDelivered`);
|
|
30707
|
-
* this direct form serves callers that hold a bare ledger + blob store. */
|
|
30708
|
-
async function finalizeBestDelivered(settled, blobs) {
|
|
30709
|
-
const best = pickBestDelivered(settled.filter((w) => w.status === "done" && w.valid === true));
|
|
30710
|
-
if (best === void 0) return void 0;
|
|
30711
|
-
return best.outRef ? await blobs.get(best.outRef) : void 0;
|
|
30712
|
-
}
|
|
30713
30656
|
//#endregion
|
|
30714
30657
|
//#region src/runtime/supervise/run-persistence.ts
|
|
30715
30658
|
/** One failed store operation revokes this controller's writes, never its retained executions. */
|
|
@@ -31835,6 +31778,6 @@ function createSupervisor() {
|
|
|
31835
31778
|
};
|
|
31836
31779
|
}
|
|
31837
31780
|
//#endregion
|
|
31838
|
-
export {
|
|
31781
|
+
export { bindScopeRetainedOwnerEnvironmentId as $, providerMessageText as $i, CONTINUATIONS_DIR as $n, providerAttemptEvidence as $r, createInPlaceCliExecutor as $t, providerVisibleProfile as A, createBudgetPool as Ai, taskToPrompt$1 as An, controlProfileMaterialization as Ar, createRouterTranscript as At, recordScopeOwnerDriverAttempt as B, mapSandboxEvent as Bi, classifyDriverFailure as Bn, sandboxProfileMaterialization as Br, startRetainedRunInEnvironment as Bt, beginScopeOwnerAttempt as C, TRACE_ROOT_SCHEMA as Ci, DEFAULT_PEER_MAIL_LIMITS as Cn, runSettledCommand as Cr, TERMINAL_DECISIONS as Ct, scopeOwnerExecutorNodeContext as D, contentAddress as Di, isPeerMailEnvelope as Dn, terminateProcessTreeAndConfirm as Dr, createCodeModeTools as Dt, restoreScopeOwnerAcceptedExecution as E, detachedSnapshot as Ei, createPeerMailbox as En, harnessInvocation as Er, codeModeModelOutput as Et, freeSlots as F, assertValidBudget as Fi, isTerminalNodeStatus as Fn, promptModelProfileMaterialization as Fr, LEAF_CONTINUATION_TASK as Ft, prepareScopeRetainedOwnerTask as G, createSandboxUsageLedger as Gi, SeatChainExhaustedError as Gn, attestRuntimeOwnedScopeOwner as Gr, openSlotGroup as Gt, prepareScopeRetainedOwnerSeatSwitch as H, terminalTextFromSandboxEvent as Hi, undispatchedCredentialExit as Hn, validateProfileMaterialization as Hr, destroyInteractiveEnvironment as Ht, queueOf as I, defaultRedactor as Ii, DriverAttemptsExhaustedError as In, promptOnlyProfileMaterialization as Ir, providerAsSandboxClient as It, beginScopeRetainedOwnerDrive as J, sumSandboxUsage as Ji, subscriptionUsageLimitSignal as Jn, finalizeRuntimeOwnedPendingExecutor as Jr, persistHarnessTranscript as Jt, scopeRetainedOwnerPriorSpend as K, extractLlmCallEvent as Ki, authoredSeatStages as Kn, authoredAgentIdentity as Kr, captureHarnessTranscript as Kt, rollingDispatch as L, defaultRedactorIdentityMaterial as Li, HarnessTurnFailedError as Ln, promptResourceProfileMaterialization as Lr, reconnectRetainedRun as Lt, settledToIteration as M, newUsageTotals as Mi, createActivityLog as Mn, fullProfileMaterialization as Mr, createAgentEnvironmentProviderRegistry as Mt, assertRecursiveReservationPolicy as N, spendFromUsageEvents as Ni, readWorkerProgress as Nn, profileMaterializationAxes$1 as Nr, resolveAgentEnvironmentProvider as Nt, coordinationMcpAlias as O, executorFailure as Oi, peerMailTools as On, assertProfileMaterialization as Or, runCodeMode as Ot, deriveNodeExecutionIdentity as P, spendFromUsageTotals as Pi, isLiveNodeStatus as Pn, promptControlProfileMaterialization as Pr, providerAsExecutor as Pt, noteScopeRetainedOwnerCoordination as Q, promptOptionsFromAgentTurnInput as Qi, verdictFromJudgeScore as Qn, newExecutionAttemptId as Qr, createWorktreeCliExecutor as Qt, meterRuntimeOwnedAccounting as R, resolveRedactor as Ri, abandonablePending as Rn, renderUnsupported as Rr, recoverRetainedRun as Rt, FileSpawnJournal as S, unavailableSignalOfFailure as Si, AUTHORITY_MARKERS as Sn, bridgeStopSignalKey as Sr, acquireSandbox as St, recordScopeOwnerMaterialization as T, detachedFrozen as Ti, claimsAuthority as Tn, LOCAL_HARNESSES as Tr, codeModeArguments as Tt, abandonScopeRetainedOwnerInvocation as U, canonicalStreamEventFromSandboxEvent as Ui, upstreamUnavailableSignal as Un, worktreeCliProfileMaterialization as Ur, environmentGone as Ut, recordScopeOwnerPause as V, mapSandboxToolEvent as Vi, summarizeDriverAttempts as Vn, unsupportedProfileDimensions as Vr, retainedCreateMaterial as Vt, consumeScopeRetainedOwnerResult as W, createSandboxTurnEventCollector as Wi, SeatChain as Wn, attestRuntimeOwnedPendingExecutor as Wr, createWorkerSlots as Wt, reconcileScopeRetainedOwnerEnvironment as X, awaitAbortable$1 as Xi, gateOnDeliverable as Xn, knownExecutionBindingReceipt as Xr, resolveHarnessTranscriptCapture as Xt, scopeRetainedOwnerTurnEnded as Y, decodeHarnessUsage as Yi, CheckUnavailableError as Yn, inheritRuntimeOwnedExecutorAttestation as Yr, readHarnessTranscript as Yt, scopeRetainedOwnerRestorePoint as Z, promptFromAgentTurnInput as Zi, mapExecutorResult as Zn, knownMaterializationReceipt as Zr, retainHarnessTranscript as Zt, attachWorker as _, retainedExecutorSeamKey as _i, sanitizeKnowledgeReadinessReport as _n, RunCancellationReason as _r, runAgentRounds as _t, runTree as a, runtimeOwnedPendingExecutorMaterialization as ai, buildRuntimeEventOtelSpans as an, isFiniteNumber as ar, materializeTreeView as at, recoverRetainedInteractiveRun as b, unavailablePauseMs as bi, createInbox as bn, signalAbortError as br, createSandboxForSpec as bt, driverExecutorFactory as c, unknownMaterializationReceipt as ci, flatOtelSpan as cn, bridgeAdmissionRefusal as cr, FileResultBlobStore as ct, createScope as d, projectSandboxOutcome as di, padSpanId as dn, createCodexRolloutStoreReader as dr, bindReusableExecutorExecutionId as dt, recordRuntimeOwnedDriveHarnessProviderEvidence as ei, WORKER_TRACE_PROPAGATION as en, admitContinuationPolicy as er, bindScopeRetainedOwnerProvider as et, replaySpawnTree as f, readSandboxOutcome as fi, padTraceId as fn, harnessUsageIsEmpty as fr, captureReusableExecutorConfig as ft, interactiveAdmissionSeamKey as g, registerRetainedExecutorPreparation as gi, sanitizeAgentRuntimeEvent as gn, sandboxSessionTraceSource as gr, createSteerableSandboxSession as gt, workerTraceAnalysisStore as h, RetainedExecutionPendingError as hi, createRuntimeStreamEventCollector as hn, decodeToolPart as hr, DEFAULT_SANDBOX_STEERING_MAX_TURNS as ht, runFinalizer as i, runtimeOwnedExecutorProviderEvidence as ii, buildLoopSpanNodes as in, failedItems as ir, loadSpawnForest as it, runtimeGraphMetadataKey as j, meterUsageEvent as ji, DEFAULT_STALL_AFTER_MS as jn, defineProfileMaterializationContract as jr, routerBrain as jt, coordinationProfileToolPrefix as k, errMessage as ki, peerMailVerbNames as kn, assertProfileMaterializes as kr, toolResultText as kt, isDriverSpec as l, executableAgentProfileSnapshot as li, generateSpanId as ln, bridgeModelRouteRefusal as lr, insideCursorNamespace as lt, parseWorkerToolTraceArtifact as m, settlementFailureCause as mi, createRuntimeEventCollector as mn, createPushTraceSource as mr, snapshotExecutorConfig as mt, createSupervisor as n, runtimeOwnedExecutorExecutionBinding as ni, readTraceContextFromEnv as nn, checkVerdictOf as nr, scopeRetainedOwnerContext as nt, createRootHandle as o, runtimeOwnedScopeOwnerRuntime as oi, createOpenInferenceFileExporter as on, priceTokens as or, InMemoryResultBlobStore as ot, isTraceAnalysisStore as p, runtimeFailureCause as pi, toOtelAttributes as pn, readCodexRolloutSession as pr, createExecutor as pt, scopeRetainedOwnerResult as q, notifySandboxEventObserver as qi, seatExecutionProfile as qn, authoredProfileDigest as qr, harnessTranscriptArtifact as qt, bestDelivered as r, runtimeOwnedExecutorMaterialization as ri, buildLoopOtelSpans as rn, createContinuationKeeper as rr, scopeRetainedOwnerJournalRoot as rt, driverChild as s, unknownExecutionBindingReceipt as si, createOtelExporter as sn, ROUTER_PRICE_SOURCE as sr, InMemorySpawnJournal as st, DEFAULT_MAX_DEPTH as t, runtimeOwnedDriveHarnessProviderEvidence as ti, createPropagatingTraceEmitter as tn, bestComposite as tr, owners as tt, withDriverExecutor as u, executableAgentSpecSnapshot as ui, loopEventToOtelSpan as un, addHarnessUsage as ur, createExecutorRegistry as ut, readWorkerInteractiveBinding as v, cappedDoublingMs as vi, sanitizeRuntimeStreamEvent as vn, linkAbort as vr, assertBoxlessPromptOptions as vt, noteScopeOwnerPlannedExecution as w, TRACE_SUMMARY_SCHEMA as wi, PEER_MAIL_WIRE_KEY as wn, runWorktreeHarness as wr, defaultSelectWinner as wt, startRetainedInteractiveRun as x, unavailableResumeAt as xi, failPendingAfter as xn, bridgeRuntimeAttachmentsKey as xr, createSandboxLineage as xt, reconnectRetainedInteractiveRun as y, jitteredMs as yi, INBOX_RECEIPT_KEY as yn, runAbortable as yr, readPromptOptions as yt, meterRuntimeOwnedProviderAttempt as z, createSandboxToolPartState as zi, causedByPartialFailure as zn, sandboxActProfileMaterialization as zr, startRetainedRun as zt };
|
|
31839
31782
|
|
|
31840
|
-
//# sourceMappingURL=supervisor-
|
|
31783
|
+
//# sourceMappingURL=supervisor-DHrUJhEZ.js.map
|