@tangle-network/agent-runtime 0.334.0 → 0.335.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.
Files changed (65) hide show
  1. package/dist/{activation-CVW7l4F3.js → activation-BT3VoIpg.js} +3 -3
  2. package/dist/{activation-CVW7l4F3.js.map → activation-BT3VoIpg.js.map} +1 -1
  3. package/dist/{activation-D64x9f07.d.ts → activation-DZbEj4oG.d.ts} +2 -2
  4. package/dist/agent.d.ts +1 -1
  5. package/dist/agent.js +2 -2
  6. package/dist/{bundle-DqvlwhKP.js → bundle-CMGJKcl6.js} +2 -2
  7. package/dist/{bundle-DqvlwhKP.js.map → bundle-CMGJKcl6.js.map} +1 -1
  8. package/dist/candidate-execution/index.js +5 -5
  9. package/dist/{coordination-driver-D36spfRN.js → coordination-driver-rNoFHYmZ.js} +17 -7
  10. package/dist/coordination-driver-rNoFHYmZ.js.map +1 -0
  11. package/dist/{delegate-DGPYLJLx.js → delegate-BdwThtY9.js} +2 -2
  12. package/dist/{delegate-DGPYLJLx.js.map → delegate-BdwThtY9.js.map} +1 -1
  13. package/dist/durable.d.ts +1 -1
  14. package/dist/durable.js +5 -5
  15. package/dist/{graph-CnjWiqlB.js → graph-Bph_DX-z.js} +5 -4
  16. package/dist/graph-Bph_DX-z.js.map +1 -0
  17. package/dist/{improvement-cycle-BC6GXcYl.js → improvement-cycle-Coj69usO.js} +6 -6
  18. package/dist/{improvement-cycle-BC6GXcYl.js.map → improvement-cycle-Coj69usO.js.map} +1 -1
  19. package/dist/index.d.ts +4 -4
  20. package/dist/index.js +9 -9
  21. package/dist/intelligence.d.ts +2 -2
  22. package/dist/intelligence.js +7 -7
  23. package/dist/kernel.d.ts +2 -2
  24. package/dist/kernel.js +10 -10
  25. package/dist/{loop-runner-bin-D3nU-Wp0.js → loop-runner-bin-9MtarSBu.js} +3 -3
  26. package/dist/{loop-runner-bin-D3nU-Wp0.js.map → loop-runner-bin-9MtarSBu.js.map} +1 -1
  27. package/dist/{loop-runner-bin-DpH55EFc.d.ts → loop-runner-bin-BTC2czoj.d.ts} +2 -2
  28. package/dist/loop-runner-bin.d.ts +1 -1
  29. package/dist/loop-runner-bin.js +1 -1
  30. package/dist/mcp/bin.js +26 -7
  31. package/dist/mcp/bin.js.map +1 -1
  32. package/dist/mcp/index.d.ts +2 -2
  33. package/dist/mcp/index.js +5 -5
  34. package/dist/{openai-tools-D8eHMvNr.d.ts → openai-tools-DWuf9K9X.d.ts} +2 -2
  35. package/dist/{prepare-0kTqt9qn.js → prepare-Ci9Wrle5.js} +3 -3
  36. package/dist/{prepare-0kTqt9qn.js.map → prepare-Ci9Wrle5.js.map} +1 -1
  37. package/dist/{profile-DhZvQngF.js → profile-BAwFYsOE.js} +2 -2
  38. package/dist/{profile-DhZvQngF.js.map → profile-BAwFYsOE.js.map} +1 -1
  39. package/dist/profiles.d.ts +1 -1
  40. package/dist/{protected-model-port-CFQj32Lt.js → protected-model-port-DZUkB0cr.js} +4 -4
  41. package/dist/{protected-model-port-CFQj32Lt.js.map → protected-model-port-DZUkB0cr.js.map} +1 -1
  42. package/dist/{provision-supervisor-C1FQ2uIe.js → provision-supervisor-Ced9EeHy.js} +4 -4
  43. package/dist/{provision-supervisor-C1FQ2uIe.js.map → provision-supervisor-Ced9EeHy.js.map} +1 -1
  44. package/dist/{runtime-Cff0UnPw.js → runtime-DMVBv34m.js} +9 -9
  45. package/dist/{runtime-Cff0UnPw.js.map → runtime-DMVBv34m.js.map} +1 -1
  46. package/dist/{sandbox-profile-compat-CVgQWb7T.js → sandbox-profile-compat-D_ZOL80S.js} +3 -2
  47. package/dist/sandbox-profile-compat-D_ZOL80S.js.map +1 -0
  48. package/dist/{search-executor-CFqHN4Dt.js → search-executor-BNTeMygV.js} +3 -3
  49. package/dist/{search-executor-CFqHN4Dt.js.map → search-executor-BNTeMygV.js.map} +1 -1
  50. package/dist/{server-CFIzBMYb.js → server-z7xI_ItY.js} +4 -4
  51. package/dist/{server-CFIzBMYb.js.map → server-z7xI_ItY.js.map} +1 -1
  52. package/dist/{supervise-Dl2rTArD.js → supervise-ISaRiWVe.js} +6 -4
  53. package/dist/{supervise-Dl2rTArD.js.map → supervise-ISaRiWVe.js.map} +1 -1
  54. package/dist/{supervisor-BObk9STz.js → supervisor-B-bkXttM.js} +191 -28
  55. package/dist/supervisor-B-bkXttM.js.map +1 -0
  56. package/dist/testing.d.ts +1 -1
  57. package/dist/testing.js +14 -14
  58. package/dist/tui/index.d.ts +1 -1
  59. package/dist/tui/index.js +1 -1
  60. package/dist/{types-Dkx4dbaX.d.ts → types-BO8kh52C.d.ts} +75 -4
  61. package/package.json +1 -1
  62. package/dist/coordination-driver-D36spfRN.js.map +0 -1
  63. package/dist/graph-CnjWiqlB.js.map +0 -1
  64. package/dist/sandbox-profile-compat-CVgQWb7T.js.map +0 -1
  65. package/dist/supervisor-BObk9STz.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { i as publishExclusiveDurableFile, n as assertNoSymlinkDescendant } from "./durable-file-B_eJr6Mb.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
- import { $ as isAsyncIterable$1, Ct as armDeadlineTimer, Dt as singleFlightTeardown, Et as isDeadlineAbortReason, G as chargedTokens, J as deleteBoxSafe, K as cloneSpend, L as deepFreezeCandidate, N as verifiedArtifactChunks, Ot as teardownExecutor, St as ROOT_DEADLINE_REASON, Tt as checkInIdleMs, U as addSpend, W as addTokenUsage, X as fnv1a32Hex, Y as errorMessage, Z as hasCompleteCacheBreakdown, _t as ACCEPTED_RESULT_GRACE_MS, at as sleep, c as verifyAgentCandidateWorkspaceTree, ct as throwIfAborted, dt as zeroSpend, et as mapWithConcurrency, f as verifyAgentCandidateWorkspaceArchive, ft as zeroTokenUsage, gt as withBudgetResources, ht as resourceTelemetry, it as roundBoxMinutes, j as verifyWorkspaceSnapshotArtifacts, kt as teardownSurfaces, lt as unmeteredSpend, mt as assertResources, nt as randomSuffix, o as readAgentCandidateWorkspaceArtifactFiles, ot as stringifySafe, pt as addResourceSpend, q as cloneTokenUsage, rt as randomUuid, s as verifyAgentCandidateWorkspaceArtifacts, st as throwAbort, t as assertSandboxProfileCompatibility, tt as promptCacheTokenClasses, ut as withTimeout, vt as CHILD_DEADLINE_REASON, wt as boundedChildDeadlineAt } from "./sandbox-profile-compat-CVgQWb7T.js";
3
+ import { $ as isAsyncIterable$1, Ct as armDeadlineTimer, Dt as singleFlightTeardown, Et as isDeadlineAbortReason, G as chargedTokens, J as deleteBoxSafe, K as cloneSpend, L as deepFreezeCandidate, N as verifiedArtifactChunks, Ot as teardownExecutor, St as ROOT_DEADLINE_REASON, Tt as checkInIdleMs, U as addSpend, W as addTokenUsage, X as fnv1a32Hex, Y as errorMessage, Z as hasCompleteCacheBreakdown, _t as ACCEPTED_RESULT_GRACE_MS, at as sleep, c as verifyAgentCandidateWorkspaceTree, ct as throwIfAborted, dt as zeroSpend, et as mapWithConcurrency, f as verifyAgentCandidateWorkspaceArchive, ft as zeroTokenUsage, gt as withBudgetResources, ht as resourceTelemetry, it as roundBoxMinutes, j as verifyWorkspaceSnapshotArtifacts, kt as teardownSurfaces, lt as unmeteredSpend, mt as assertResources, nt as randomSuffix, o as readAgentCandidateWorkspaceArtifactFiles, ot as stringifySafe, pt as addResourceSpend, q as cloneTokenUsage, rt as randomUuid, s as verifyAgentCandidateWorkspaceArtifacts, st as throwAbort, t as assertSandboxProfileCompatibility, tt as promptCacheTokenClasses, ut as withTimeout, vt as CHILD_DEADLINE_REASON, wt as boundedChildDeadlineAt } from "./sandbox-profile-compat-D_ZOL80S.js";
4
4
  import { runTaskQueue } from "./task-queue.js";
5
5
  import { a as readCommittedJsonLines, n as isNoEntError, t as appendCommittedJsonLine } from "./jsonl-file-DBv31uPi.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";
@@ -3890,6 +3890,9 @@ var RetainedExecutionPendingError = class extends Error {
3890
3890
  if (credentialRefused) credentialAdmissionRefusals.add(this);
3891
3891
  }
3892
3892
  };
3893
+ /** The instruction a keyed continuation runs in the held session: the node's task is unchanged,
3894
+ * and its conversation and workspace are where the budget stop left them. */
3895
+ const BUDGET_CONTINUATION_TASK = "Your previous turn reached its budget and stopped. Your manager gave you more budget to continue the same task in the same session: your conversation so far and the files in your workspace are where you left them. Continue from where you stopped. Do not start over.";
3893
3896
  /** The execution id of a leaf's later invocation, derived from its `execution-input` sequence so
3894
3897
  * a recovery derives the same one. A first invocation keeps the node id. */
3895
3898
  function leafContinuationExecutionId(nodeId, inputSeq) {
@@ -5309,7 +5312,8 @@ const HARNESS_INVOCATIONS = {
5309
5312
  "workspace-write",
5310
5313
  "-c",
5311
5314
  "approval_policy=\"never\""
5312
- ]
5315
+ ],
5316
+ fullAccessArgs: () => ["--dangerously-bypass-approvals-and-sandbox"]
5313
5317
  },
5314
5318
  opencode: {
5315
5319
  command: "opencode",
@@ -5399,7 +5403,10 @@ const CODEX_REPRODUCIBLE_ARGS = [
5399
5403
  function buildHarnessArgs(harness, taskPrompt, options = {}) {
5400
5404
  const invocation = HARNESS_INVOCATIONS[harness];
5401
5405
  const args = invocation.buildArgs(taskPrompt);
5402
- if (options.dangerouslySkipPermissions && !options.codexReproducible) args.push(...invocation.permissionBypassArgs?.() ?? []);
5406
+ if (options.dangerouslySkipPermissions && !options.codexReproducible) {
5407
+ const bypass = options.fullAccess ? invocation.fullAccessArgs ?? invocation.permissionBypassArgs : invocation.permissionBypassArgs;
5408
+ args.push(...bypass?.() ?? []);
5409
+ }
5403
5410
  if (options.codexReproducible) {
5404
5411
  if (harness !== "codex") throw new Error("harnessInvocation: codexReproducible requires the Codex harness");
5405
5412
  args.push(...CODEX_REPRODUCIBLE_ARGS);
@@ -6660,6 +6667,8 @@ async function runInPlaceHarness(opts) {
6660
6667
  applied,
6661
6668
  resourceInstructions,
6662
6669
  dangerouslySkipPermissions: true,
6670
+ fullAccess: true,
6671
+ ...opts.env ? { env: opts.env } : {},
6663
6672
  ...opts.harnessTimeoutMs !== void 0 ? { harnessTimeoutMs: opts.harnessTimeoutMs } : {},
6664
6673
  ...opts.signal ? { signal: opts.signal } : {},
6665
6674
  runHarness,
@@ -6690,6 +6699,13 @@ function applyProfilePlan(plan, workspacePath, context) {
6690
6699
  if (applied.unsupported.length > 0) throw new Error(`${context}: applied profile unexpectedly retained unsupported rows`);
6691
6700
  return applied;
6692
6701
  }
6702
+ /** `process.env` with the caller's per-run overrides applied; `undefined` removes a variable. */
6703
+ function callerEnv(overrides) {
6704
+ const env = { ...process.env };
6705
+ for (const [name, value] of Object.entries(overrides ?? {})) if (value === void 0) delete env[name];
6706
+ else env[name] = value;
6707
+ return env;
6708
+ }
6693
6709
  /**
6694
6710
  * The ONE profile-to-process step both placements share: §1.5 prompt/model delivery through
6695
6711
  * `harnessInvocation`, the materializer's flags and environment, and the `runLocalHarness` spawn
@@ -6700,6 +6716,7 @@ async function spawnProfiledHarness(args) {
6700
6716
  const invocationProfile = profileWithResourceInstructions(args.profile, args.resourceInstructions);
6701
6717
  const { command, args: invocationArgs } = harnessInvocation(args.harness, invocationProfile, args.taskPrompt, {
6702
6718
  dangerouslySkipPermissions: args.dangerouslySkipPermissions,
6719
+ ...args.fullAccess ? { fullAccess: true } : {},
6703
6720
  ...args.codexReproducible ? { codexReproducible: true } : {}
6704
6721
  });
6705
6722
  const harnessResult = await args.runHarness({
@@ -6711,7 +6728,7 @@ async function spawnProfiledHarness(args) {
6711
6728
  args: [...invocationArgs, ...args.applied.flags.map(publicPlanString)]
6712
6729
  },
6713
6730
  env: {
6714
- ...process.env,
6731
+ ...callerEnv(args.env),
6715
6732
  ...resolvePublicPlanEnv(args.applied.env)
6716
6733
  },
6717
6734
  ...args.codexReproducible ? { codexReproducible: true } : {},
@@ -12350,6 +12367,7 @@ function createProviderExecutor(provider, profile, ctx, options, placement) {
12350
12367
  else managerStop.addEventListener("abort", cancel, { once: true });
12351
12368
  };
12352
12369
  let destroyed = false;
12370
+ let holdingForContinuation = false;
12353
12371
  let workspaceEnvironmentId;
12354
12372
  let workspaceSnapshot;
12355
12373
  let workspaceProvenance;
@@ -12912,7 +12930,10 @@ function createProviderExecutor(provider, profile, ctx, options, placement) {
12912
12930
  complete: workspaceCoverageComplete,
12913
12931
  incompleteReason: workspaceIncompleteReason
12914
12932
  }),
12915
- destroyEnvironment
12933
+ destroyEnvironment,
12934
+ onHeld: () => {
12935
+ holdingForContinuation = true;
12936
+ }
12916
12937
  });
12917
12938
  const refusal = ended.unavailable;
12918
12939
  const continueInvocation = invocation.retention?.continueInvocation;
@@ -12977,6 +12998,10 @@ function createProviderExecutor(provider, profile, ctx, options, placement) {
12977
12998
  },
12978
12999
  async teardown(_grace) {
12979
13000
  controller.abort();
13001
+ if (holdingForContinuation) return {
13002
+ destroyed: false,
13003
+ detail: "environment held for a keyed continuation after a budget stop"
13004
+ };
12980
13005
  if (pending && cancelledExplicitly()) stopNativeExecution();
12981
13006
  if (options.workspaceRetention !== void 0 && workspaceRunActive) return {
12982
13007
  destroyed: false,
@@ -12997,9 +13022,27 @@ function createProviderExecutor(provider, profile, ctx, options, placement) {
12997
13022
  return [{
12998
13023
  provider: provider.name,
12999
13024
  environmentId,
13000
- ...preserved ? { keptFor: "evidence" } : {}
13025
+ ...preserved ? { keptFor: "evidence" } : holdingForContinuation ? { keptFor: "continuation" } : {}
13001
13026
  }];
13002
13027
  },
13028
+ heldForContinuation() {
13029
+ const held = environment;
13030
+ if (!holdingForContinuation || held === void 0 || destroyed) return void 0;
13031
+ return {
13032
+ provider: provider.name,
13033
+ environmentId: held.id,
13034
+ release: async (signal) => {
13035
+ if (!holdingForContinuation) return { destroyed: true };
13036
+ holdingForContinuation = false;
13037
+ return await destroyEnvironment(signal);
13038
+ },
13039
+ handOver: () => {
13040
+ holdingForContinuation = false;
13041
+ environment = void 0;
13042
+ destroyed = true;
13043
+ }
13044
+ };
13045
+ },
13003
13046
  releaseRetained: withoutRunningHarness(async (signal) => {
13004
13047
  controller.abort();
13005
13048
  if (!pending) return [];
@@ -13384,7 +13427,9 @@ async function* streamProviderExecutor(args) {
13384
13427
  } finally {
13385
13428
  await stopEndedHarness();
13386
13429
  if (!finalCopyTaken) await args.finishNativeMirror(environment, failed ? "failed" : settled !== void 0 ? "settled" : "interrupted");
13387
- if ((!source.retained || settled !== void 0 && !failed) && !(source.retained && args.retention?.preserveEnvironment) && !(unavailable !== void 0 && !failed) && (args.options.destroyOnSettle ?? true)) {
13430
+ const held = source.retained && settled !== void 0 && !failed && unavailable === void 0 && args.retention?.preserveEnvironment !== true && args.retention?.holdOnSettle?.(settled.spent) === true;
13431
+ if (held) args.onHeld();
13432
+ if ((!source.retained || settled !== void 0 && !failed) && !(source.retained && args.retention?.preserveEnvironment) && !(unavailable !== void 0 && !failed) && !held && (args.options.destroyOnSettle ?? true)) {
13388
13433
  const cleanup = await args.destroyEnvironment();
13389
13434
  if (!cleanup.destroyed) {
13390
13435
  const error = new Error(cleanup.detail ?? "provider environment teardown was not confirmed");
@@ -21839,6 +21884,7 @@ function createInPlaceCliExecutor(options) {
21839
21884
  taskPrompt,
21840
21885
  ...options.harnessTimeoutMs !== void 0 ? { harnessTimeoutMs: options.harnessTimeoutMs } : {},
21841
21886
  ...linked ? { signal: linked } : {},
21887
+ ...options.env ? { env: options.env } : {},
21842
21888
  ...options.runHarness ? { runHarness: options.runHarness } : {}
21843
21889
  });
21844
21890
  const spent = {
@@ -25822,7 +25868,7 @@ async function prepareInterruptedExecutors(opts, events, signal, now, parentId =
25822
25868
  if (!prepared) continue;
25823
25869
  }
25824
25870
  const priorMaterialization = [...owned].reverse().find((event) => event.kind === "materialized" || event.kind === "seat-materialized")?.receipt;
25825
- const continuation = latestInput !== void 0 && inputs.length > 1 && node.ownedTreeRoot === void 0 ? await leafContinuation(node, owned, latestInput, opts) : void 0;
25871
+ const continuation = latestInput !== void 0 && inputs.length > 1 && node.ownedTreeRoot === void 0 ? await leafContinuation(node, owned, latestInput, opts) : latestInput !== void 0 && node.continues !== void 0 && admissions.length === 0 && node.ownedTreeRoot === void 0 ? heldContinuation(node, events, latestInput) : void 0;
25826
25872
  recoveries.push({
25827
25873
  ...detachedSnapshot({
25828
25874
  spawned: node,
@@ -25888,6 +25934,23 @@ async function leafContinuation(node, owned, latestInput, opts) {
25888
25934
  priorSpent: priorResult.spent
25889
25935
  };
25890
25936
  }
25937
+ /**
25938
+ * A node that continues a budget-stopped node's held environment, recovered before its own first
25939
+ * admission: it runs in the environment and session of its predecessor's last environment
25940
+ * admission, so the recovery neither creates a second environment nor leaves the held one behind.
25941
+ */
25942
+ function heldContinuation(node, events, latestInput) {
25943
+ const continues = node.continues;
25944
+ const priorSession = [...events].reverse().flatMap((event) => event.id === continues.ofWorker && event.kind === "execution-admitted" && event.admission.phase === "environment" ? [event.admission] : [])[0];
25945
+ if (priorSession === void 0 || priorSession.environmentId !== continues.environmentId) throw new RuntimeRunStateError(`cannot recover '${node.id}': '${continues.ofWorker}' has no admission for the environment it continues`);
25946
+ return {
25947
+ task: BUDGET_CONTINUATION_TASK,
25948
+ inputSeq: latestInput.seq,
25949
+ executionId: node.id,
25950
+ priorSession,
25951
+ priorSpent: zeroSpend()
25952
+ };
25953
+ }
25891
25954
  async function assertRecordedResult(node, result, events, opts) {
25892
25955
  const before = events.slice(0, events.indexOf(result));
25893
25956
  const receipt = [...before].reverse().find((event) => event.kind === "materialized" || event.kind === "seat-materialized")?.receipt;
@@ -28005,6 +28068,7 @@ const pauseRecorders = /* @__PURE__ */ new WeakMap();
28005
28068
  const driverAttemptRecorders = /* @__PURE__ */ new WeakMap();
28006
28069
  const recoveryStarters = /* @__PURE__ */ new WeakMap();
28007
28070
  const retainedReleasers = /* @__PURE__ */ new WeakMap();
28071
+ const heldReleasers = /* @__PURE__ */ new WeakMap();
28008
28072
  const childDrains = /* @__PURE__ */ new WeakMap();
28009
28073
  const retainedSlotClosers = /* @__PURE__ */ new WeakMap();
28010
28074
  const teardownRetriers = /* @__PURE__ */ new WeakMap();
@@ -28071,6 +28135,17 @@ function unconfirmedTeardownOf(child, releasing) {
28071
28135
  ...child.teardownDetail === void 0 ? {} : { detail: child.teardownDetail }
28072
28136
  });
28073
28137
  }
28138
+ /** Ten minutes: a manager that is alive decides within a turn or two; one that crashed, or a host
28139
+ * that restarted, must not leave a paid environment running until a retire pass finds it. */
28140
+ const DEFAULT_BUDGET_STOP_HOLD_MS = 6e5;
28141
+ /**
28142
+ * @internal Release every environment this scope's settled children still hold after a budget
28143
+ * stop, at the join barrier: no later spawn of this scope can continue them. Each release journals
28144
+ * an `environment-teardown` with `heldRelease: 'scope-join'`. Never rejects.
28145
+ */
28146
+ async function releaseHeldEnvironments(scope) {
28147
+ await heldReleasers.get(scope)?.();
28148
+ }
28074
28149
  /** @internal Admit original children before the parent acts; do not wait for their results. */
28075
28150
  async function startScopeRecoveries(scope) {
28076
28151
  const start = recoveryStarters.get(scope);
@@ -28259,6 +28334,7 @@ function makeNestedScopeSeam(args, workerSlots, childSlot, childNodeId, childBud
28259
28334
  ownerBudget: nestedBudget
28260
28335
  } : {},
28261
28336
  ...args.deadlineCheckIn === void 0 ? {} : { deadlineCheckIn: args.deadlineCheckIn },
28337
+ ...args.budgetStopHoldMs === void 0 ? {} : { budgetStopHoldMs: args.budgetStopHoldMs },
28262
28338
  signal,
28263
28339
  ...restored ? { resumeFrom: restored.resumeFrom } : {},
28264
28340
  ...args.now ? { now: args.now } : {},
@@ -28377,6 +28453,7 @@ function createScope(args) {
28377
28453
  const task = detachedSnapshot(rawTask, "scope.spawn task");
28378
28454
  const opts = detachedSnapshot(rawOpts, "scope.spawn options");
28379
28455
  let prior;
28456
+ let continuing;
28380
28457
  let prepared;
28381
28458
  const prepare = () => {
28382
28459
  const agent = typeof agentOrFactory === "function" ? agentOrFactory() : agentOrFactory;
@@ -28410,14 +28487,28 @@ function createScope(args) {
28410
28487
  ok: false,
28411
28488
  reason: "duplicate-key"
28412
28489
  };
28413
- if (existing?.state === "done") return {
28414
- ok: true,
28415
- handle: existing.settled.handle,
28416
- prior: {
28417
- state: "completed",
28418
- settled: existing.settled
28419
- }
28420
- };
28490
+ if (existing?.state === "done") {
28491
+ const from = children.get(existing.id);
28492
+ const admission = opts.continueHeld === true && existing.settled.budgetViolation !== void 0 ? from?.held !== void 0 ? from.readEnvironmentAdmission?.() : void 0 : void 0;
28493
+ if (from?.held === void 0 || admission === void 0) return {
28494
+ ok: true,
28495
+ handle: existing.settled.handle,
28496
+ prior: {
28497
+ state: "completed",
28498
+ settled: existing.settled
28499
+ }
28500
+ };
28501
+ continuing = {
28502
+ from,
28503
+ admission,
28504
+ held: from.held
28505
+ };
28506
+ prior = {
28507
+ state: "continued",
28508
+ priorId: existing.id,
28509
+ environmentId: from.held.continuation.environmentId
28510
+ };
28511
+ }
28421
28512
  if (existing?.state === "down") prior = {
28422
28513
  state: "retried",
28423
28514
  priorId: existing.id,
@@ -28479,6 +28570,7 @@ function createScope(args) {
28479
28570
  try {
28480
28571
  const ordinal = recovery?.spawned.seq ?? spawnOrdinal++;
28481
28572
  const id = recovery?.spawned.id ?? `${args.parentId}:s${ordinal}`;
28573
+ const successorOf = opts.successorOf ?? continuing?.from.id;
28482
28574
  args.pool.attribute(reservation.ticket, {
28483
28575
  childId: id,
28484
28576
  stage: "admitted"
@@ -28590,6 +28682,8 @@ function createScope(args) {
28590
28682
  at: new Date(now()).toISOString()
28591
28683
  });
28592
28684
  });
28685
+ const holdMs = args.budgetStopHoldMs ?? 6e5;
28686
+ const holdOnSettle = opts.key !== void 0 && holdMs > 0 ? (spent) => overBudget(opts.budget, spent) || childDeadlineAtMs !== void 0 && now() > childDeadlineAtMs : void 0;
28593
28687
  const retainedContext = (continuing) => ({
28594
28688
  ...continuing === void 0 ? {} : {
28595
28689
  executionId: continuing.executionId,
@@ -28597,6 +28691,7 @@ function createScope(args) {
28597
28691
  ...continuing.priorSpent === void 0 ? {} : { priorSpent: continuing.priorSpent }
28598
28692
  },
28599
28693
  admissions,
28694
+ ...holdOnSettle === void 0 ? {} : { holdOnSettle },
28600
28695
  ...markRecoveryReady && continuing === void 0 ? { onReady: markRecoveryReady } : {},
28601
28696
  onAdmission,
28602
28697
  onResult,
@@ -28654,11 +28749,14 @@ function createScope(args) {
28654
28749
  },
28655
28750
  seams: {
28656
28751
  ...args.seams,
28657
- [retainedExecutorSeamKey]: retainedContext(recovery?.continuation === void 0 ? void 0 : {
28752
+ [retainedExecutorSeamKey]: retainedContext(recovery?.continuation !== void 0 ? {
28658
28753
  executionId: recovery.continuation.executionId,
28659
28754
  priorSession: recovery.continuation.priorSession,
28660
28755
  priorSpent: recovery.continuation.priorSpent
28661
- }),
28756
+ } : continuing !== void 0 ? {
28757
+ executionId: id,
28758
+ priorSession: continuing.admission
28759
+ } : void 0),
28662
28760
  [nestedScopeSeamKey]: makeNestedScopeSeam(args, workerSlots, permit, id, opts.budget, childDeadlineAtMs, deferredOwner),
28663
28761
  ...workerTrace ? { [workerTraceSeamKey]: workerTrace } : {},
28664
28762
  ...interactiveBindingDir ? { [interactiveAdmissionSeamKey]: (admission) => Promise.resolve(writeWorkerInteractiveAdmission(interactiveBindingDir, id, admission, now)).then(() => void 0) } : {}
@@ -28730,7 +28828,11 @@ function createScope(args) {
28730
28828
  ...nestedTeardownScopes.has(executor) ? { readNestedScope: nestedTeardownScopes.get(executor) } : {},
28731
28829
  ...executor.harnessTranscript ? { readTranscriptAtRelease: () => persistHarnessTranscript(readHarnessTranscript(executor), args.blobs) } : {},
28732
28830
  teardownAttempts: 0,
28733
- abortChild: (reason) => controller.abort(reason)
28831
+ abortChild: (reason) => controller.abort(reason),
28832
+ readEnvironmentAdmission: () => {
28833
+ const admission = admissions.find((record) => record.phase === "environment");
28834
+ return admission?.phase === "environment" ? admission : void 0;
28835
+ }
28734
28836
  };
28735
28837
  const recordCancellation = () => {
28736
28838
  if (!live.executorDone && live.acceptedResult === void 0 && executor.resultAccepted?.() !== true && controller.signal.reason instanceof RunCancellationReason) live.cancellationReason = controller.signal.reason;
@@ -28753,7 +28855,11 @@ function createScope(args) {
28753
28855
  label: opts.label,
28754
28856
  ...opts.key !== void 0 ? { key: opts.key } : {},
28755
28857
  ...opts.assignmentId === void 0 ? {} : { assignmentId: opts.assignmentId },
28756
- ...opts.successorOf === void 0 ? {} : { successorOf: opts.successorOf },
28858
+ ...successorOf === void 0 ? {} : { successorOf },
28859
+ ...continuing === void 0 ? {} : { continues: {
28860
+ ofWorker: continuing.from.id,
28861
+ environmentId: continuing.admission.environmentId
28862
+ } },
28757
28863
  budget: opts.budget,
28758
28864
  runtime: executor.runtime,
28759
28865
  ...ownedTreeRoot === void 0 ? {} : { ownedTreeRoot },
@@ -28901,7 +29007,7 @@ function createScope(args) {
28901
29007
  label: opts.label,
28902
29008
  ...opts.assignmentId === void 0 ? {} : { assignmentId: opts.assignmentId },
28903
29009
  ...opts.key === void 0 ? {} : { key: opts.key },
28904
- ...opts.successorOf === void 0 ? {} : { successorOf: opts.successorOf },
29010
+ ...successorOf === void 0 ? {} : { successorOf },
28905
29011
  runtime: executor.runtime,
28906
29012
  ...identity ? { identity } : {},
28907
29013
  agent: authoredAgentIdentity(spec.profile, identity?.profileDigest),
@@ -28911,7 +29017,13 @@ function createScope(args) {
28911
29017
  startedAt
28912
29018
  }
28913
29019
  }, { signal: args.signal });
28914
- const childRun = runChild(live, executor, controller, recovery?.continuation?.task ?? task, opts, args.pool, reservation.ticket, args.blobs, now, args.journal, args.root, () => progressSeq++, materializationCommitted, {
29020
+ if (continuing !== void 0) {
29021
+ continuing.held.clearCeiling?.();
29022
+ continuing.held.continuation.handOver();
29023
+ continuing.from.held = void 0;
29024
+ continuing.from.cleanupConfirmed = true;
29025
+ }
29026
+ const childRun = runChild(live, executor, controller, recovery?.continuation?.task ?? (continuing === void 0 ? task : "Your previous turn reached its budget and stopped. Your manager gave you more budget to continue the same task in the same session: your conversation so far and the files in your workspace are where you left them. Continue from where you stopped. Do not start over."), opts, args.pool, reservation.ticket, args.blobs, now, args.journal, args.root, () => progressSeq++, materializationCommitted, {
28915
29027
  complete: async () => pendingEvidence?.complete(),
28916
29028
  fail: async () => pendingEvidence?.fail()
28917
29029
  }, childDeadlineAtMs, recovery !== void 0, closeRetainedWrites, budgetGranted, permit.ready, recovery?.continuation?.priorSpent, startedAt);
@@ -28942,6 +29054,11 @@ function createScope(args) {
28942
29054
  };
28943
29055
  }
28944
29056
  live.resolved = resolution;
29057
+ if (live.held !== void 0) if (resolution.kind === "done") {
29058
+ const timer = setTimeout(() => void releaseHeld(live, "hold-ceiling"), holdMs);
29059
+ timer.unref?.();
29060
+ live.held.clearCeiling = () => clearTimeout(timer);
29061
+ } else await releaseHeld(live, "scope-join");
28945
29062
  return resolution;
28946
29063
  }).finally(() => {
28947
29064
  permit.release();
@@ -28963,6 +29080,32 @@ function createScope(args) {
28963
29080
  throw err;
28964
29081
  }
28965
29082
  }
29083
+ const heldReleases = /* @__PURE__ */ new Set();
29084
+ /** Release the environment a settled child holds after a budget stop, once, and journal why. */
29085
+ function releaseHeld(child, reason) {
29086
+ const held = child.held;
29087
+ if (held === void 0) return Promise.resolve(false);
29088
+ child.held = void 0;
29089
+ held.clearCeiling?.();
29090
+ const release = (async () => {
29091
+ const answer = await held.continuation.release().catch((error) => ({
29092
+ destroyed: false,
29093
+ detail: errMessage(error)
29094
+ }));
29095
+ if (answer.destroyed) child.cleanupConfirmed = true;
29096
+ else if (answer.detail !== void 0) child.teardownDetail = answer.detail;
29097
+ await appendEnvironmentTeardown(args.journal, args.root, child.id, {
29098
+ provider: held.continuation.provider,
29099
+ environmentId: held.continuation.environmentId,
29100
+ destroyed: answer.destroyed,
29101
+ ...answer.detail === void 0 ? {} : { detail: answer.detail }
29102
+ }, new Date(now()).toISOString(), reason).catch(() => void 0);
29103
+ return true;
29104
+ })();
29105
+ heldReleases.add(release);
29106
+ release.finally(() => heldReleases.delete(release));
29107
+ return release;
29108
+ }
28966
29109
  async function commitSettlement(child, settlement, seq) {
28967
29110
  const pending = finalizeSettlement(child, settlement, seq, args, now).then((delivered) => {
28968
29111
  if (child.key !== void 0) recordKeyedSettlement(child.key, delivered);
@@ -29145,6 +29288,10 @@ function createScope(args) {
29145
29288
  next,
29146
29289
  nextResolved,
29147
29290
  send,
29291
+ releaseHeld: (nodeId, reason) => {
29292
+ const child = children.get(nodeId);
29293
+ return child === void 0 ? Promise.resolve(false) : releaseHeld(child, reason);
29294
+ },
29148
29295
  progress,
29149
29296
  observeTree: () => {
29150
29297
  const view = makeTreeView(args.parentId, children);
@@ -29209,6 +29356,10 @@ function createScope(args) {
29209
29356
  admissionSeals.set(scope, () => {
29210
29357
  admissionClosed = true;
29211
29358
  });
29359
+ heldReleasers.set(scope, async () => {
29360
+ await Promise.all([...children.values()].map((child) => releaseHeld(child, "scope-join")));
29361
+ await Promise.allSettled([...heldReleases]);
29362
+ });
29212
29363
  subtreeReaders.set(scope, () => summarizeTeam(children.values()));
29213
29364
  liveTeamReaders.set(scope, () => readLiveTeam(children.values(), ownerTurns, ownerLastTurnAt));
29214
29365
  runtimeOwnedProviderMeters.set(scope, async (spend, providerModel, detail, accountingOnly, alreadySpent) => meterInternal(spend, detail, providerModel, accountingOnly, true, alreadySpent));
@@ -29799,7 +29950,7 @@ async function appendReconciledFloor(journal, root, subject, settlement, settled
29799
29950
  }
29800
29951
  /** A release receipt has the same per-child sequence discipline: outside the cursor namespace and
29801
29952
  * monotonic per node, so a run released in two processes keeps its receipts ordered. */
29802
- async function appendEnvironmentTeardown(journal, root, id, receipt, at) {
29953
+ async function appendEnvironmentTeardown(journal, root, id, receipt, at, heldRelease) {
29803
29954
  const seq = await nextPerNodeSeq(journal, root, "environment-teardown", id);
29804
29955
  await journal.appendEvent(root, {
29805
29956
  kind: "environment-teardown",
@@ -29808,10 +29959,15 @@ async function appendEnvironmentTeardown(journal, root, id, receipt, at) {
29808
29959
  environmentId: receipt.environmentId,
29809
29960
  destroyed: receipt.destroyed,
29810
29961
  ...receipt.detail === void 0 ? {} : { detail: receipt.detail },
29962
+ ...heldRelease === void 0 ? {} : { heldRelease },
29811
29963
  seq,
29812
29964
  at
29813
29965
  });
29814
29966
  }
29967
+ /** Whether a settled spend exceeds the budget it was given, by the channels the pool reconciles. */
29968
+ function overBudget(budget, spent) {
29969
+ return chargedTokens(spent.tokens) > budget.maxTokens || spent.iterations > budget.maxIterations || budget.maxUsd !== void 0 && spent.usdKnown !== false && spent.usd > budget.maxUsd;
29970
+ }
29815
29971
  async function nextPerNodeSeq(journal, root, kind, id) {
29816
29972
  return (await journal.loadTree(root) ?? []).reduce((max, event) => event.kind === kind && event.id === id ? Math.max(max, event.seq) : max, -1) + 1;
29817
29973
  }
@@ -30004,6 +30160,7 @@ async function runChild(live, executor, childAbort, task, opts, pool, ticket, bl
30004
30160
  if (teardownStarted) return;
30005
30161
  teardownStarted = true;
30006
30162
  try {
30163
+ await executor.heldForContinuation?.()?.release();
30007
30164
  await teardownExecutor(executor, grace, deadlineAtMs, now, live.askTeardown);
30008
30165
  live.cleanupConfirmed = true;
30009
30166
  } catch (error) {
@@ -30110,7 +30267,9 @@ async function runChild(live, executor, childAbort, task, opts, pool, ticket, bl
30110
30267
  outRef
30111
30268
  };
30112
30269
  }
30113
- await teardownOnce(opts.shutdown ?? 5e3);
30270
+ const held = executor.heldForContinuation?.();
30271
+ if (held !== void 0 && live.budgetViolation !== void 0) live.held = { continuation: held };
30272
+ else await teardownOnce(opts.shutdown ?? 5e3);
30114
30273
  return {
30115
30274
  kind: "done",
30116
30275
  out: artifact.out,
@@ -30869,6 +31028,7 @@ function withDriverExecutor(base) {
30869
31028
  async function closeNestedScope(scope, controller, reason) {
30870
31029
  if (!controller.signal.aborted) controller.abort(reason);
30871
31030
  for (;;) if (await scope.next() === null) break;
31031
+ await releaseHeldEnvironments(scope);
30872
31032
  const view = scope.view;
30873
31033
  if (view.inFlight > 0) throw new ValidationError$1(`driverExecutor: nested cleanup left ${view.inFlight} running nodes`);
30874
31034
  }
@@ -31362,7 +31522,7 @@ function describeRejection(error) {
31362
31522
  function createSupervisor() {
31363
31523
  let attached;
31364
31524
  async function run(root, task, opts) {
31365
- const { budget, rootIdentity, rootSegment, rootMaterialization, runId, journal: journalStore, blobs: blobStore, executors: executorRegistry, recoverExecutor, maxDepth, workerSlots, reservationPolicy, deadlineCheckIn, maxRestarts, withinMs, childSettleGraceMs, teardownConfirmMs, resume, retainedAtSettlement: requestedRetainedAtSettlement, ownerWorkspaceRetention, now: suppliedNow, signal, hooks, workerTrace, workerTraceUnpropagated, interactiveBindingDir } = opts;
31525
+ const { budget, rootIdentity, rootSegment, rootMaterialization, runId, journal: journalStore, blobs: blobStore, executors: executorRegistry, recoverExecutor, maxDepth, workerSlots, reservationPolicy, deadlineCheckIn, budgetStopHoldMs, maxRestarts, withinMs, childSettleGraceMs, teardownConfirmMs, resume, retainedAtSettlement: requestedRetainedAtSettlement, ownerWorkspaceRetention, now: suppliedNow, signal, hooks, workerTrace, workerTraceUnpropagated, interactiveBindingDir } = opts;
31366
31526
  const input = detachedSnapshot({
31367
31527
  task,
31368
31528
  options: {
@@ -31510,6 +31670,7 @@ function createSupervisor() {
31510
31670
  ownerBudget: opts.budget
31511
31671
  } : {},
31512
31672
  ...deadlineCheckIn === void 0 ? {} : { deadlineCheckIn },
31673
+ ...budgetStopHoldMs === void 0 ? {} : { budgetStopHoldMs },
31513
31674
  signal: controller.signal,
31514
31675
  now,
31515
31676
  hooks: opts.hooks,
@@ -31576,7 +31737,9 @@ function createSupervisor() {
31576
31737
  clearAcceptedGrace?.();
31577
31738
  const settleGraceMs = !controller.signal.aborted ? boundedSettleGrace(opts.childSettleGraceMs, rootDeadlineAtMs, now) : 0;
31578
31739
  try {
31579
- teardownUnconfirmed = await drainLiveChildren(openScope, controller, settleGraceMs);
31740
+ await drainLiveChildren(openScope, controller, settleGraceMs);
31741
+ await releaseHeldEnvironments(openScope);
31742
+ teardownUnconfirmed = unconfirmedTeardowns(openScope);
31580
31743
  await settleManagerWork(openScope);
31581
31744
  if (!persistence.failed && retainedAtSettlement === "release") teardownUnconfirmed = await releaseRetainedEnvironments(openScope);
31582
31745
  const confirmWindowMs = opts.teardownConfirmMs ?? DEFAULT_TEARDOWN_CONFIRM_MS;
@@ -32148,6 +32311,6 @@ function isNonEmptySpend(s) {
32148
32311
  return s.iterations > 0 || s.tokens.input > 0 || s.tokens.output > 0 || s.usd > 0 || s.ms > 0 || s.tokensKnown === false || s.usdKnown === false || Object.values(s.resources ?? {}).some((resource) => resource.amount > 0 || !resource.known);
32149
32312
  }
32150
32313
  //#endregion
32151
- export { readWorkerInteractiveBinding as $, FileSpawnJournal as $i, persistHarnessTranscript as $n, renderProfileMaterializationIssues as $r, admitContinuationPolicy as $t, bindScopeRetainedOwnerProvider as A, awaitAbortable$1 as Ai, providerAsExecutor as An, runWorktreeHarness as Ar, AUTHORITY_MARKERS as At, scopeRetainedOwnerRestorePoint as B, canonicalStreamEventFromSandboxEvent as Bi, startRetainedRun as Bn, CodexExecutionDiagnosticError as Br, DriverAttemptsExhaustedError as Bt, recordScopeOwnerPause as C, spendFromUsageTotals as Ca, unknownExecutionBindingReceipt as Ci, captureBeforeDestroy as Cn, toOtelAttributes as Cr, workerTraceHeaders as Ct, abandonScopeRetainedOwnerInvocation as D, promptFromAgentTurnInput as Da, projectSandboxOutcome as Di, runBrainLoop as Dn, sanitizeKnowledgeReadinessReport as Dr, createActivityLog as Dt, settledToIteration as E, resolveRedactor as Ea, executableAgentSpecSnapshot as Ei, routerBrain as En, sanitizeAgentRuntimeEvent as Er, DEFAULT_STALL_AFTER_MS as Et, reconcileScopeRetainedOwnerEnvironment as F, unavailablePauseMs as Fi, sandboxSessionTraceSource as Fn, LOCAL_HARNESSES as Fr, isPeerMailEnvelope as Ft, hostDirectoryReader as G, mapSandboxEvent as Gi, createWorkerSlots as Gn, controlProfileMaterialization as Gr, upstreamUnavailableSignal as Gt, scopeRetainedOwnerTurnEnded as H, createSandboxUsageLedger as Hi, retainedCreateMaterial as Hn, AGENT_PROFILE_MATERIALIZATION_AXES as Hr, classifyDriverFailure as Ht, scopeRetainedOwnerContext as I, unavailableSignalOfFailure as Ii, bridgeRuntimeAttachmentsKey as In, harnessInvocation as Ir, peerMailTools as It, coordinationProfileToolPrefix as J, sandboxEventServedBackend as Ji, abortError as Jn, profileMaterializationAxes$1 as Jr, authoredSeatStages as Jt, resolveSpawnResourcePaths as K, mapSandboxToolEvent as Ki, openSlotGroup as Kn, defineProfileMaterializationContract as Kr, SeatChain as Kt, scopeRetainedOwnerJournalRoot as L, TRACE_ROOT_SCHEMA as Li, bridgeStopSignalKey as Ln, harnessSupportsReasoningEffort as Lr, peerMailVerbNames as Lt, noteScopeRetainedOwnerCoordination as M, settlementFailureCause as Mi, resolveAgentEnvironmentProvider as Mn, createWorktree as Mr, PEER_MAIL_WIRE_KEY as Mt, prepareScopeRetainedOwnerSeatSwitch as N, registerRetainedExecutorPreparation as Ni, createPushTraceSource as Nn, removeWorktree as Nr, claimsAuthority as Nt, beginScopeRetainedOwnerDrive as O, promptOptionsFromAgentTurnInput as Oa, readSandboxOutcome as Oi, LEAF_CONTINUATION_TASK as On, sanitizeRuntimeStreamEvent as Or, readWorkerProgress as Ot, prepareScopeRetainedOwnerTask as P, retainedExecutorSeamKey as Pi, decodeToolPart as Pn, DEFAULT_LOCAL_HARNESS as Pr, createPeerMailbox as Pt, attachWorker as Q, FileResultBlobStore as Qi, harnessTranscriptArtifact as Qn, promptResourceProfileMaterialization as Qr, CheckUnavailableError as Qt, scopeRetainedOwnerPriorSpend as R, TRACE_SUMMARY_SCHEMA as Ri, reconnectRetainedRun as Rn, localHarnessExecutable as Rr, isLiveNodeStatus as Rt, recordScopeOwnerMaterialization as S, spendFromUsageEvents as Sa, runtimeOwnedScopeOwnerRuntime as Si, SandboxEvidenceRetentionError as Sn, padTraceId as Sr, workerTraceEnv as St, scopeOwnerExecutorNodeContext as T, defaultRedactorIdentityMaterial as Ta, executableAgentProfileSnapshot as Ti, readPromptOptions as Tn, createRuntimeStreamEventCollector as Tr, taskToPrompt as Tt, SPAWN_RESOURCE_PATH_MAX_BYTES as U, extractLlmCallEvent as Ui, destroyInteractiveEnvironment as Un, assertProfileMaterialization as Ur, runDriverWithRetry as Ut, scopeRetainedOwnerResult as V, createSandboxToolPartState as Vi, startRetainedRunInEnvironment as Vn, terminateProcessTreeAndConfirm as Vr, HarnessTurnFailedError as Vt, environmentReader as W, isSandboxTerminalEvent as Wi, environmentGone as Wn, assertProfileMaterializes as Wr, summarizeDriverAttempts as Wt, runtimeGraphMetadataKey as X, sumSandboxUsage as Xi, runAbortable as Xn, promptModelProfileMaterialization as Xr, CONTINUATIONS_DIR as Xt, providerVisibleProfile as Y, sandboxProgressEvents as Yi, linkAbort as Yn, promptControlProfileMaterialization as Yr, seatExecutionProfile as Yt, interactiveAdmissionSeamKey as Z, decodeHarnessUsage as Zi, captureHarnessTranscript as Zn, promptOnlyProfileMaterialization as Zr, CONTINUATION_FACTS as Zt, deriveNodeExecutionIdentity as _, ReservationWaitRefused as _a, runtimeOwnedDriveHarnessProviderEvidence as _i, defaultSelectWinner as _n, createOtelExporter as _r, createSteerableSandboxSession as _t, collectDelivered as a, replaySpawnTree as aa, worktreeCliProfileMaterialization as ai, expandQuestions as an, runCodeMode as ar, rollingDispatch as at, noteScopeOwnerPlannedExecution as b, meterUsageEvent as ba, runtimeOwnedExecutorProviderEvidence as bi, createSandboxLineage as bn, loopEventToOtelSpan as br, WORKER_TRACE_PROPAGATION as bt, runTree as c, isTraceAnalysisStore as ca, authoredAgentIdentity as ci, verdictFromJudgeScore as cn, ROUTER_PRICE_SOURCE as cr, bindReusableExecutorExecutionId as ct, isDriverSpec as d, contentAddress as da, inheritRuntimeOwnedExecutorAttestation as di, addHarnessUsage as dn, readTraceContextFromEnv as dr, cliWorktreeExecutor as dt, InMemoryResultBlobStore as ea, renderUnsupported as ei, admitFinding as en, readHarnessTranscript as er, reconnectRetainedInteractiveRun as et, withDriverExecutor as f, detachedFrozen as fa, knownExecutionBindingReceipt as fi, createCodexRolloutStoreReader as fn, traceContextToEnv as fr, createExecutor as ft, createScope as g, BudgetReconcileFault as ga, recordRuntimeOwnedDriveHarnessProviderEvidence as gi, createSandboxForSpec as gn, createOpenInferenceFileExporter as gr, DEFAULT_SANDBOX_STEERING_MAX_TURNS as gt, beginScopeOwnerAttempt as h, errMessage as ha, providerAttemptEvidence as hi, TERMINAL_DECISIONS as hn, buildRuntimeEventOtelSpans as hr, createWorktreeCliExecutor as ht, bestDelivered as i, materializeTreeView as ia, validateProfileMaterialization as ii, distillFindings as in, describeCodeModeTools as ir, queueOf as it, consumeScopeRetainedOwnerResult as j, runtimeFailureCause as ji, providerAsSandboxClient as jn, captureWorktreeDiff as jr, DEFAULT_PEER_MAIL_LIMITS as jt, bindScopeRetainedOwnerEnvironmentId as k, providerMessageText as ka, abortError$1 as ki, createAgentEnvironmentProviderRegistry as kn, runSettledCommand as kr, createInbox as kt, driverChild as l, parseWorkerToolTraceArtifact as la, authoredProfileDigest as li, bridgeAdmissionRefusal as ln, createPropagatingTraceEmitter as lr, captureReusableExecutorConfig as lt, assertRecursiveReservationPolicy as m, executorFailure as ma, newExecutionAttemptId as mi, readCodexRolloutSession as mn, buildLoopSpanNodes as mr, snapshotExecutorConfig as mt, createRootHandle as n, insideCursorNamespace as na, sandboxProfileMaterialization as ni, checkVerdictOf as nn, retainHarnessTranscript as nr, startRetainedInteractiveRun as nt, pickBestDelivered as o, WORKER_TOOL_TRACE_SCHEMA_VERSION as oa, attestRuntimeOwnedPendingExecutor as oi, failedItems as on, priceTokens as or, gateOnDeliverable as ot, SUBTREE_RESULT_LIMIT as p, detachedSnapshot as pa, knownMaterializationReceipt as pi, harnessUsageIsEmpty as pn, buildLoopOtelSpans as pr, createExecutorRegistry as pt, coordinationMcpAlias as q, notifySandboxEventObserver as qi, RunCancellationReason as qn, fullProfileMaterialization as qr, SeatChainExhaustedError as qt, createSupervisor as r, loadSpawnForest as ra, unsupportedProfileDimensions as ri, createContinuationKeeper as rn, createCodeModeTools as rr, freeSlots as rt, runFinalizer as s, captureWorkerTraceEvidence as sa, attestRuntimeOwnedScopeOwner as si, passedItems as sn, routerTokenPrice as sr, mapExecutorResult as st, DEFAULT_MAX_DEPTH as t, InMemorySpawnJournal as ta, sandboxActProfileMaterialization as ti, bestComposite as tn, resolveHarnessTranscriptCapture as tr, recoverRetainedInteractiveRun as tt, driverExecutorFactory as u, workerTraceAnalysisStore as ua, finalizeRuntimeOwnedPendingExecutor as ui, bridgeModelRouteRefusal as un, mergeTraceEnv as ur, cliInPlaceExecutor as ut, meterRuntimeOwnedAccounting as v, assertValidBudget as va, runtimeOwnedExecutorExecutionBinding as vi, isTerminalDecision as vn, flatOtelSpan as vr, createRouterTranscript as vt, restoreScopeOwnerAcceptedExecution as w, defaultRedactor as wa, unknownMaterializationReceipt as wi, assertBoxlessPromptOptions as wn, createRuntimeEventCollector as wr, workerTraceSeamKey as wt, recordScopeOwnerDriverAttempt as x, newUsageTotals as xa, runtimeOwnedPendingExecutorMaterialization as xi, acquireSandbox as xn, padSpanId as xr, readWorkerTraceContext as xt, meterRuntimeOwnedProviderAttempt as y, createBudgetPool as ya, runtimeOwnedExecutorMaterialization as yi, runAgentRounds as yn, generateSpanId as yr, createInPlaceCliExecutor as yt, scopeRetainedOwnerResourceReader as z, assertSandboxServedModel as zi, recoverRetainedRun as zn, parseCodexTokenUsage as zr, isTerminalNodeStatus as zt };
32314
+ export { attachWorker as $, decodeHarnessUsage as $i, captureHarnessTranscript as $n, promptOnlyProfileMaterialization as $r, CONTINUATION_FACTS as $t, bindScopeRetainedOwnerEnvironmentId as A, promptOptionsFromAgentTurnInput as Aa, readSandboxOutcome as Ai, LEAF_CONTINUATION_TASK as An, sanitizeRuntimeStreamEvent as Ar, createInbox as At, scopeRetainedOwnerResourceReader as B, TRACE_SUMMARY_SCHEMA as Bi, reconnectRetainedRun as Bn, localHarnessExecutable as Br, isTerminalNodeStatus as Bt, recordScopeOwnerMaterialization as C, newUsageTotals as Ca, runtimeOwnedPendingExecutorMaterialization as Ci, acquireSandbox as Cn, padSpanId as Cr, workerTraceEnv as Ct, settledToIteration as D, defaultRedactorIdentityMaterial as Da, executableAgentProfileSnapshot as Di, readPromptOptions as Dn, createRuntimeStreamEventCollector as Dr, DEFAULT_STALL_AFTER_MS as Dt, scopeOwnerExecutorNodeContext as E, defaultRedactor as Ea, unknownMaterializationReceipt as Ei, assertBoxlessPromptOptions as En, createRuntimeEventCollector as Er, taskToPrompt as Et, prepareScopeRetainedOwnerTask as F, registerRetainedExecutorPreparation as Fi, createPushTraceSource as Fn, removeWorktree as Fr, createPeerMailbox as Ft, environmentReader as G, extractLlmCallEvent as Gi, destroyInteractiveEnvironment as Gn, assertProfileMaterialization as Gr, summarizeDriverAttempts as Gt, scopeRetainedOwnerResult as H, canonicalStreamEventFromSandboxEvent as Hi, startRetainedRun as Hn, CodexExecutionDiagnosticError as Hr, HarnessTurnFailedError as Ht, reconcileScopeRetainedOwnerEnvironment as I, retainedExecutorSeamKey as Ii, decodeToolPart as In, DEFAULT_LOCAL_HARNESS as Ir, isPeerMailEnvelope as It, coordinationMcpAlias as J, mapSandboxToolEvent as Ji, openSlotGroup as Jn, defineProfileMaterializationContract as Jr, SeatChainExhaustedError as Jt, hostDirectoryReader as K, isSandboxTerminalEvent as Ki, environmentGone as Kn, assertProfileMaterializes as Kr, upstreamUnavailableSignal as Kt, scopeRetainedOwnerContext as L, unavailablePauseMs as Li, sandboxSessionTraceSource as Ln, LOCAL_HARNESSES as Lr, peerMailTools as Lt, consumeScopeRetainedOwnerResult as M, awaitAbortable$1 as Mi, providerAsExecutor as Mn, runWorktreeHarness as Mr, DEFAULT_PEER_MAIL_LIMITS as Mt, noteScopeRetainedOwnerCoordination as N, runtimeFailureCause as Ni, providerAsSandboxClient as Nn, captureWorktreeDiff as Nr, PEER_MAIL_WIRE_KEY as Nt, abandonScopeRetainedOwnerInvocation as O, resolveRedactor as Oa, executableAgentSpecSnapshot as Oi, routerBrain as On, sanitizeAgentRuntimeEvent as Or, createActivityLog as Ot, prepareScopeRetainedOwnerSeatSwitch as P, settlementFailureCause as Pi, resolveAgentEnvironmentProvider as Pn, createWorktree as Pr, claimsAuthority as Pt, interactiveAdmissionSeamKey as Q, sumSandboxUsage as Qi, runAbortable as Qn, promptModelProfileMaterialization as Qr, CONTINUATIONS_DIR as Qt, scopeRetainedOwnerJournalRoot as R, unavailableSignalOfFailure as Ri, bridgeRuntimeAttachmentsKey as Rn, harnessInvocation as Rr, peerMailVerbNames as Rt, recordScopeOwnerDriverAttempt as S, meterUsageEvent as Sa, runtimeOwnedExecutorProviderEvidence as Si, createSandboxLineage as Sn, loopEventToOtelSpan as Sr, readWorkerTraceContext as St, restoreScopeOwnerAcceptedExecution as T, spendFromUsageTotals as Ta, unknownExecutionBindingReceipt as Ti, captureBeforeDestroy as Tn, toOtelAttributes as Tr, workerTraceSeamKey as Tt, scopeRetainedOwnerTurnEnded as U, createSandboxToolPartState as Ui, startRetainedRunInEnvironment as Un, terminateProcessTreeAndConfirm as Ur, classifyDriverFailure as Ut, scopeRetainedOwnerRestorePoint as V, assertSandboxServedModel as Vi, recoverRetainedRun as Vn, parseCodexTokenUsage as Vr, DriverAttemptsExhaustedError as Vt, SPAWN_RESOURCE_PATH_MAX_BYTES as W, createSandboxUsageLedger as Wi, retainedCreateMaterial as Wn, AGENT_PROFILE_MATERIALIZATION_AXES as Wr, runDriverWithRetry as Wt, providerVisibleProfile as X, sandboxEventServedBackend as Xi, abortError as Xn, profileMaterializationAxes$1 as Xr, seatExecutionProfile as Xt, coordinationProfileToolPrefix as Y, notifySandboxEventObserver as Yi, RunCancellationReason as Yn, fullProfileMaterialization as Yr, authoredSeatStages as Yt, runtimeGraphMetadataKey as Z, sandboxProgressEvents as Zi, linkAbort as Zn, promptControlProfileMaterialization as Zr, subscriptionUsageLimitSignal as Zt, createScope as _, errMessage as _a, providerAttemptEvidence as _i, TERMINAL_DECISIONS as _n, buildRuntimeEventOtelSpans as _r, DEFAULT_SANDBOX_STEERING_MAX_TURNS as _t, collectDelivered as a, loadSpawnForest as aa, unsupportedProfileDimensions as ai, createContinuationKeeper as an, createCodeModeTools as ar, queueOf as at, meterRuntimeOwnedProviderAttempt as b, assertValidBudget as ba, runtimeOwnedExecutorExecutionBinding as bi, isTerminalDecision as bn, flatOtelSpan as br, createInPlaceCliExecutor as bt, runTree as c, WORKER_TOOL_TRACE_SCHEMA_VERSION as ca, attestRuntimeOwnedPendingExecutor as ci, failedItems as cn, priceTokens as cr, mapExecutorResult as ct, isDriverSpec as d, parseWorkerToolTraceArtifact as da, authoredProfileDigest as di, bridgeAdmissionRefusal as dn, createPropagatingTraceEmitter as dr, cliInPlaceExecutor as dt, FileResultBlobStore as ea, promptResourceProfileMaterialization as ei, CheckUnavailableError as en, harnessTranscriptArtifact as er, readWorkerInteractiveBinding as et, withDriverExecutor as f, workerTraceAnalysisStore as fa, finalizeRuntimeOwnedPendingExecutor as fi, bridgeModelRouteRefusal as fn, mergeTraceEnv as fr, cliWorktreeExecutor as ft, beginScopeOwnerAttempt as g, executorFailure as ga, newExecutionAttemptId as gi, readCodexRolloutSession as gn, buildLoopSpanNodes as gr, createWorktreeCliExecutor as gt, assertRecursiveReservationPolicy as h, detachedSnapshot as ha, knownMaterializationReceipt as hi, harnessUsageIsEmpty as hn, buildLoopOtelSpans as hr, snapshotExecutorConfig as ht, bestDelivered as i, insideCursorNamespace as ia, sandboxProfileMaterialization as ii, checkVerdictOf as in, retainHarnessTranscript as ir, freeSlots as it, bindScopeRetainedOwnerProvider as j, providerMessageText as ja, abortError$1 as ji, createAgentEnvironmentProviderRegistry as jn, runSettledCommand as jr, AUTHORITY_MARKERS as jt, beginScopeRetainedOwnerDrive as k, promptFromAgentTurnInput as ka, projectSandboxOutcome as ki, runBrainLoop as kn, sanitizeKnowledgeReadinessReport as kr, readWorkerProgress as kt, driverChild as l, captureWorkerTraceEvidence as la, attestRuntimeOwnedScopeOwner as li, passedItems as ln, routerTokenPrice as lr, bindReusableExecutorExecutionId as lt, SUBTREE_RESULT_LIMIT as m, detachedFrozen as ma, knownExecutionBindingReceipt as mi, createCodexRolloutStoreReader as mn, traceContextToEnv as mr, createExecutorRegistry as mt, createRootHandle as n, InMemoryResultBlobStore as na, renderUnsupported as ni, admitFinding as nn, readHarnessTranscript as nr, recoverRetainedInteractiveRun as nt, pickBestDelivered as o, materializeTreeView as oa, validateProfileMaterialization as oi, distillFindings as on, describeCodeModeTools as or, rollingDispatch as ot, DEFAULT_BUDGET_STOP_HOLD_MS as p, contentAddress as pa, inheritRuntimeOwnedExecutorAttestation as pi, addHarnessUsage as pn, readTraceContextFromEnv as pr, createExecutor as pt, resolveSpawnResourcePaths as q, mapSandboxEvent as qi, createWorkerSlots as qn, controlProfileMaterialization as qr, SeatChain as qt, createSupervisor as r, InMemorySpawnJournal as ra, sandboxActProfileMaterialization as ri, bestComposite as rn, resolveHarnessTranscriptCapture as rr, startRetainedInteractiveRun as rt, runFinalizer as s, replaySpawnTree as sa, worktreeCliProfileMaterialization as si, expandQuestions as sn, runCodeMode as sr, gateOnDeliverable as st, DEFAULT_MAX_DEPTH as t, FileSpawnJournal as ta, renderProfileMaterializationIssues as ti, admitContinuationPolicy as tn, persistHarnessTranscript as tr, reconnectRetainedInteractiveRun as tt, driverExecutorFactory as u, isTraceAnalysisStore as ua, authoredAgentIdentity as ui, verdictFromJudgeScore as un, ROUTER_PRICE_SOURCE as ur, captureReusableExecutorConfig as ut, deriveNodeExecutionIdentity as v, BudgetReconcileFault as va, recordRuntimeOwnedDriveHarnessProviderEvidence as vi, createSandboxForSpec as vn, createOpenInferenceFileExporter as vr, createSteerableSandboxSession as vt, recordScopeOwnerPause as w, spendFromUsageEvents as wa, runtimeOwnedScopeOwnerRuntime as wi, SandboxEvidenceRetentionError as wn, padTraceId as wr, workerTraceHeaders as wt, noteScopeOwnerPlannedExecution as x, createBudgetPool as xa, runtimeOwnedExecutorMaterialization as xi, runAgentRounds as xn, generateSpanId as xr, WORKER_TRACE_PROPAGATION as xt, meterRuntimeOwnedAccounting as y, ReservationWaitRefused as ya, runtimeOwnedDriveHarnessProviderEvidence as yi, defaultSelectWinner as yn, createOtelExporter as yr, createRouterTranscript as yt, scopeRetainedOwnerPriorSpend as z, TRACE_ROOT_SCHEMA as zi, bridgeStopSignalKey as zn, harnessSupportsReasoningEffort as zr, isLiveNodeStatus as zt };
32152
32315
 
32153
- //# sourceMappingURL=supervisor-BObk9STz.js.map
32316
+ //# sourceMappingURL=supervisor-B-bkXttM.js.map