@tangle-network/agent-runtime 0.352.1 → 0.353.3

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 (54) hide show
  1. package/dist/{activation-BidzGkUQ.d.ts → activation-CFS31SWI.d.ts} +2 -2
  2. package/dist/{activation-C6zNC2kx.js → activation-DTgC0RvI.js} +2 -2
  3. package/dist/{activation-C6zNC2kx.js.map → activation-DTgC0RvI.js.map} +1 -1
  4. package/dist/agent.d.ts +1 -1
  5. package/dist/agent.js +2 -2
  6. package/dist/{coordination-manager-B7QadgrI.js → coordination-manager-D-J0Osf4.js} +2 -2
  7. package/dist/{coordination-manager-B7QadgrI.js.map → coordination-manager-D-J0Osf4.js.map} +1 -1
  8. package/dist/{delegate-CoscoyEo.js → delegate-DfRQSGVk.js} +2 -2
  9. package/dist/{delegate-CoscoyEo.js.map → delegate-DfRQSGVk.js.map} +1 -1
  10. package/dist/durable.d.ts +1 -1
  11. package/dist/durable.js +3 -3
  12. package/dist/{graph-mojMML8e.js → graph-BtGsqcOF.js} +4 -4
  13. package/dist/{graph-mojMML8e.js.map → graph-BtGsqcOF.js.map} +1 -1
  14. package/dist/{improve-Dm5ZE8mr.js → improve-CL-Dsf63.js} +5 -5
  15. package/dist/{improve-Dm5ZE8mr.js.map → improve-CL-Dsf63.js.map} +1 -1
  16. package/dist/index.d.ts +4 -3
  17. package/dist/index.js +8 -7
  18. package/dist/index.js.map +1 -1
  19. package/dist/intelligence.d.ts +2 -2
  20. package/dist/intelligence.js +8 -7
  21. package/dist/intelligence.js.map +1 -1
  22. package/dist/kernel.d.ts +1 -1
  23. package/dist/kernel.js +9 -9
  24. package/dist/{loop-runner-5cL_vZi0.js → loop-runner-B1Xpgp2w.js} +2 -2
  25. package/dist/{loop-runner-5cL_vZi0.js.map → loop-runner-B1Xpgp2w.js.map} +1 -1
  26. package/dist/{loop-runner-DyLD-aNb.d.ts → loop-runner-D9rcTNf2.d.ts} +2 -2
  27. package/dist/loop-runner-bin.d.ts +1 -1
  28. package/dist/loop-runner-bin.js +1 -1
  29. package/dist/mcp/bin.js +3 -3
  30. package/dist/mcp/index.d.ts +1 -1
  31. package/dist/mcp/index.js +4 -4
  32. package/dist/profiles.d.ts +1 -1
  33. package/dist/{provision-supervisor-D9pO-iPl.js → provision-supervisor-CzCFHTxe.js} +3 -3
  34. package/dist/{provision-supervisor-D9pO-iPl.js.map → provision-supervisor-CzCFHTxe.js.map} +1 -1
  35. package/dist/{runtime-BJPXHWbc.js → runtime-DmdhgaTH.js} +12 -13
  36. package/dist/{runtime-BJPXHWbc.js.map → runtime-DmdhgaTH.js.map} +1 -1
  37. package/dist/{search-executor-CQEHMXoT.js → search-executor-Djo4ssci.js} +9 -8
  38. package/dist/{search-executor-CQEHMXoT.js.map → search-executor-Djo4ssci.js.map} +1 -1
  39. package/dist/{server-U9NGgudQ.js → server-DAanPY7z.js} +3 -3
  40. package/dist/{server-U9NGgudQ.js.map → server-DAanPY7z.js.map} +1 -1
  41. package/dist/{structural-rollout-wMSxE7bn.js → structural-rollout-qqsbQW8M.js} +2 -2
  42. package/dist/{structural-rollout-wMSxE7bn.js.map → structural-rollout-qqsbQW8M.js.map} +1 -1
  43. package/dist/{supervise-CNNhX0ab.js → supervise-DKwnVruI.js} +32 -62
  44. package/dist/supervise-DKwnVruI.js.map +1 -0
  45. package/dist/{supervisor-rK5Y8en6.js → supervisor-C3JhrVVU.js} +78 -212
  46. package/dist/supervisor-C3JhrVVU.js.map +1 -0
  47. package/dist/testing.d.ts +1 -1
  48. package/dist/testing.js +11 -11
  49. package/dist/tui/index.d.ts +1 -1
  50. package/dist/tui/index.js +1 -1
  51. package/dist/{types-0uzVKtFW.d.ts → types-DTHxh4X9.d.ts} +18 -57
  52. package/package.json +6 -6
  53. package/dist/supervise-CNNhX0ab.js.map +0 -1
  54. package/dist/supervisor-rK5Y8en6.js.map +0 -1
@@ -5,6 +5,8 @@ import { runTaskQueue } from "./task-queue.js";
5
5
  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-C-RGAUW4.js";
6
6
  import { B as sha256Bytes$1, H as hasControlCharacter, I as deepFreezeCandidate, M as verifyWorkspaceSnapshotArtifacts, U as nativeSystemPrompt, c as verifyAgentCandidateWorkspaceTree, g as verifiedArtifactChunks, o as readAgentCandidateWorkspaceArtifactFiles, s as verifyAgentCandidateWorkspaceArtifacts, t as assertSandboxProfileCompatibility, v as verifyAgentCandidateWorkspaceArchive } from "./sandbox-profile-compat-CXjozdWL.js";
7
7
  import { i as notifyRuntimeHookEvent } from "./runtime-hooks-CsW2pfFk.js";
8
+ import * as traceContract from "@tangle-network/agent-trace-contract";
9
+ import { ATTR, OPERATION_NAME_ATTR, toW3CSpanId, toW3CTraceId } from "@tangle-network/agent-trace-contract";
8
10
  import { AGENT_PROFILE_MATERIALIZATION_AXES, AgentEnvironmentCapabilitiesSchema, AgentExactRunControlRefSchema, AgentInteractiveSessionControlClaimAcknowledgementSchema, AgentInteractiveSessionControlClaimSchema, AgentInteractiveSessionPromptAcknowledgementSchema, AgentInteractiveSessionRefSchema, AgentInteractiveSessionStatusSchema, AgentInteractiveSessionStopAcknowledgementSchema, AgentNativeContextContinuationResultSchema, AgentRunCancellationAcknowledgementSchema, AgentRunCancellationRequestSchema, AgentTurnInputSchema, AgentTurnResultSchema, 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";
9
11
  import { isToolSpan, toolSpansToTraceAnalysisStore } from "@tangle-network/agent-eval";
10
12
  import { createAgentRunOutcomeTracker } from "@tangle-network/sandbox/runtime";
@@ -23,7 +25,7 @@ import { request } from "node:http";
23
25
  import { request as request$1 } from "node:https";
24
26
  import { Readable } from "node:stream";
25
27
  import { AsyncLocalStorage } from "node:async_hooks";
26
- import { ATTR, deriveHexId, isW3CSpanId, isW3CTraceId } from "@tangle-network/agent-trace-contract";
28
+ import { decodeOtlpAttributes, msToUnixNano, otlpTraceExport, readOtlpPartialSuccess, toOtlpAttributes } from "@tangle-network/agent-trace-contract/otlp";
27
29
  import { clearImmediate, setImmediate } from "node:timers";
28
30
  // src/runtime/turn-input.ts
29
31
  /**
@@ -355,27 +357,37 @@ function readSandboxOutcome(value) {
355
357
  if (!outcome || typeof outcome !== "object") return void 0;
356
358
  return outcome;
357
359
  }
360
+ // src/runtime/supervise/flow-brain.ts
361
+ const flowOwners = /* @__PURE__ */ new WeakSet();
362
+ /** Runtime schedules this model-free brain under graph edge caps, pool, deadline and abort. */
363
+ function runtimeFlowBrain() {
364
+ const brain = async () => ({
365
+ content: null,
366
+ toolCalls: []
367
+ });
368
+ flowOwners.add(brain);
369
+ return brain;
370
+ }
371
+ /** True only for a brain `runtimeFlowBrain` minted. */
372
+ function isRuntimeFlowBrain(brain) {
373
+ return flowOwners.has(brain);
374
+ }
375
+ /** Carry the same unforgeable ownership through the built code driver and its spec copies. */
376
+ function runtimeFlowAgent(agent, brain) {
377
+ if (brain && isRuntimeFlowBrain(brain)) flowOwners.add(agent);
378
+ return agent;
379
+ }
380
+ function isRuntimeFlowAgent(agent) {
381
+ return typeof agent === "object" && agent !== null && flowOwners.has(agent);
382
+ }
358
383
  // src/runtime/supervise/executable-spec.ts
359
- /**
360
- * Parse one untrusted profile into the exact immutable value execution may consume.
361
- *
362
- * Snapshotting before schema parsing reads caller-owned fields once. Snapshotting the parsed
363
- * result prevents downstream custom code from changing any identity or authority field.
364
- */
384
+ /** Read untrusted fields once, then parse and seal the exact executable profile. */
365
385
  function executableAgentProfileSnapshot(raw, context) {
366
386
  const profile = authoredAgentProfileSnapshot(raw, context);
367
387
  assertExecutableAgentProfile(profile, context);
368
388
  return profile;
369
389
  }
370
- /**
371
- * Parse and seal a profile as authored, without requiring it to select a harness and model.
372
- *
373
- * This is the intake for a leaf whose behavior is code the caller already built: a verbatim
374
- * `AgentSpec.executor`. Such an executor receives only the task and a signal, so no registry,
375
- * harness, or backend reads the profile after intake, and there is no ambient fill to refuse. The
376
- * profile still parses and still digests into the node's identity; it is simply not obliged to
377
- * claim a model that nothing runs. A graph script node is the canonical case.
378
- */
390
+ /** Seal code-owned behavior without inventing a model: verbatim executors and owned flow drivers. */
379
391
  function authoredAgentProfileSnapshot(raw, context) {
380
392
  const input = detachedSnapshot(raw, `${context}: AgentProfile input`);
381
393
  const profile = agentProfileSchema.parse(input);
@@ -384,7 +396,7 @@ function authoredAgentProfileSnapshot(raw, context) {
384
396
  /** Snapshot an executable spec while retaining trusted callbacks by reference. */
385
397
  function executableAgentSpecSnapshot(raw, context) {
386
398
  const { profile: rawProfile, harness, execution: rawExecution, ...runtimeExtensions } = raw;
387
- const profile = raw.executor === void 0 ? executableAgentProfileSnapshot(rawProfile, context) : authoredAgentProfileSnapshot(rawProfile, context);
399
+ const profile = raw.executor === void 0 && !isRuntimeFlowAgent(runtimeExtensions.driver) ? executableAgentProfileSnapshot(rawProfile, context) : authoredAgentProfileSnapshot(rawProfile, context);
388
400
  const execution = rawExecution === void 0 ? void 0 : detachedSnapshot(rawExecution, `${context}: execution attribution`);
389
401
  return Object.freeze({
390
402
  ...runtimeExtensions,
@@ -1181,6 +1193,7 @@ const CODEX_REPRODUCIBLE_ARGS = [
1181
1193
  "--strict-config"
1182
1194
  ];
1183
1195
  const CODEX_PERMISSION_PROFILE = "agent_runtime_reproducible";
1196
+ // src/mcp/local-harness-invocation.ts
1184
1197
  /**
1185
1198
  * Default per-harness command + arg shape. `buildArgs` takes ONLY the task prompt and
1186
1199
  * emits the prompt-only invocation (no model, no system prompt) — the safe default shape
@@ -1199,16 +1212,7 @@ const HARNESS_INVOCATIONS = {
1199
1212
  command: "claude",
1200
1213
  buildArgs: (taskPrompt) => ["-p", taskPrompt],
1201
1214
  modelArgs: (model) => ["--model", model],
1202
- reasoning: {
1203
- levels: {
1204
- low: "low",
1205
- medium: "medium",
1206
- high: "high",
1207
- xhigh: "xhigh",
1208
- ultracode: "max"
1209
- },
1210
- args: (level) => ["--effort", level]
1211
- },
1215
+ reasoningArgs: (level) => ["--effort", level],
1212
1216
  permissionBypassArgs: () => ["--dangerously-skip-permissions"],
1213
1217
  profileMcp: true
1214
1218
  },
@@ -1216,18 +1220,7 @@ const HARNESS_INVOCATIONS = {
1216
1220
  command: "codex",
1217
1221
  buildArgs: (taskPrompt) => ["exec", taskPrompt],
1218
1222
  modelArgs: (model) => ["-m", model],
1219
- reasoning: {
1220
- levels: {
1221
- none: "none",
1222
- minimal: "minimal",
1223
- low: "low",
1224
- medium: "medium",
1225
- high: "high",
1226
- xhigh: "xhigh",
1227
- ultracode: "xhigh"
1228
- },
1229
- args: (level) => ["-c", `model_reasoning_effort="${level}"`]
1230
- },
1223
+ reasoningArgs: (level) => ["-c", `model_reasoning_effort="${level}"`],
1231
1224
  permissionBypassArgs: () => [
1232
1225
  "--sandbox",
1233
1226
  "workspace-write",
@@ -1241,17 +1234,7 @@ const HARNESS_INVOCATIONS = {
1241
1234
  command: "opencode",
1242
1235
  buildArgs: (taskPrompt) => ["run", taskPrompt],
1243
1236
  modelArgs: (model) => ["-m", model],
1244
- reasoning: {
1245
- levels: {
1246
- minimal: "minimal",
1247
- low: "low",
1248
- medium: "medium",
1249
- high: "high",
1250
- xhigh: "xhigh",
1251
- ultracode: "max"
1252
- },
1253
- args: (level) => ["--variant", level]
1254
- },
1237
+ reasoningArgs: (level) => ["--variant", level],
1255
1238
  permissionBypassArgs: () => ["--auto"],
1256
1239
  profileMcp: true
1257
1240
  },
@@ -1259,17 +1242,7 @@ const HARNESS_INVOCATIONS = {
1259
1242
  command: "pi",
1260
1243
  buildArgs: (taskPrompt) => ["--print", taskPrompt],
1261
1244
  modelArgs: (model) => ["--model", model],
1262
- reasoning: {
1263
- levels: {
1264
- minimal: "minimal",
1265
- low: "low",
1266
- medium: "medium",
1267
- high: "high",
1268
- xhigh: "xhigh",
1269
- ultracode: "max"
1270
- },
1271
- args: (level) => ["--thinking", level]
1272
- },
1245
+ reasoningArgs: (level) => ["--thinking", level],
1273
1246
  permissionBypassArgs: () => ["--approve"],
1274
1247
  profileMcp: true
1275
1248
  },
@@ -1286,10 +1259,11 @@ const LOCAL_HARNESSES = Object.keys(HARNESS_INVOCATIONS);
1286
1259
  /**
1287
1260
  * Whether the harness's native control can express this reasoning effort. Admission checks read
1288
1261
  * this so a profile the invocation would later refuse is rejected BEFORE any workspace state is
1289
- * created, against the same table that emits the argv.
1262
+ * created, against the same table that emits the argv. Every harness with a native control
1263
+ * expresses every rung through agent-interface's `nativeReasoningControl`.
1290
1264
  */
1291
- function harnessSupportsReasoningEffort(harness, reasoningEffort) {
1292
- return HARNESS_INVOCATIONS[harness].reasoning?.levels[reasoningEffort] !== void 0;
1265
+ function harnessSupportsReasoningEffort(harness, _reasoningEffort) {
1266
+ return HARNESS_INVOCATIONS[harness].reasoningArgs !== void 0;
1293
1267
  }
1294
1268
  /**
1295
1269
  * Whether a profile's MCP servers reach this harness on the local-harness path — the row's
@@ -1300,11 +1274,13 @@ function harnessSupportsReasoningEffort(harness, reasoningEffort) {
1300
1274
  function harnessMaterializesProfileMcp(harness) {
1301
1275
  return HARNESS_INVOCATIONS[harness].profileMcp === true;
1302
1276
  }
1303
- function harnessReasoningArgs(harness, reasoningEffort) {
1304
- const reasoning = HARNESS_INVOCATIONS[harness].reasoning;
1305
- const level = reasoning?.levels[reasoningEffort];
1306
- if (reasoning === void 0 || level === void 0) throw new Error(`harnessInvocation: ${harness} cannot express reasoning effort ${String(reasoningEffort)}`);
1307
- return reasoning.args(level);
1277
+ /** The argv for a profile effort; `null` from agent-interface means the CLI takes no flag
1278
+ * for that rung (opencode `none`). */
1279
+ function harnessReasoningArgs(harness, reasoningEffort, model) {
1280
+ const reasoningArgs = HARNESS_INVOCATIONS[harness].reasoningArgs;
1281
+ if (reasoningArgs === void 0) throw new Error(`harnessInvocation: ${harness} cannot express reasoning effort ${String(reasoningEffort)}`);
1282
+ const level = nativeReasoningControl(harness, reasoningEffort, model);
1283
+ return level === null ? [] : reasoningArgs(level);
1308
1284
  }
1309
1285
  function buildHarnessArgs(harness, taskPrompt, options = {}) {
1310
1286
  const invocation = HARNESS_INVOCATIONS[harness];
@@ -1334,7 +1310,7 @@ function harnessInvocation(harness, profile, taskPrompt, options = {}) {
1334
1310
  const model = harnessProfileModel(harness, profile);
1335
1311
  if (model) args.push(...invocation.modelArgs(model));
1336
1312
  const reasoningEffort = profile.model?.reasoningEffort;
1337
- if (reasoningEffort !== void 0) args.push(...harnessReasoningArgs(harness, reasoningEffort));
1313
+ if (reasoningEffort !== void 0) args.push(...harnessReasoningArgs(harness, reasoningEffort, model));
1338
1314
  return {
1339
1315
  command: invocation.command,
1340
1316
  args,
@@ -1578,7 +1554,7 @@ function assertCodexReproducibleInvocation(command, args) {
1578
1554
  const hasExactPrefix = expectedPrefix.every((arg, index) => args[index] === arg);
1579
1555
  const tail = args.slice(expectedPrefix.length);
1580
1556
  const validModel = tail[0] === "-m" && typeof tail[1] === "string" && tail[1].length > 0 && !tail[1].startsWith("-");
1581
- const validReasoning = tail[2] === "-c" && typeof tail[3] === "string" && /^model_reasoning_effort="(?:none|minimal|low|medium|high|xhigh)"$/.test(tail[3]);
1557
+ const validReasoning = tail[2] === "-c" && typeof tail[3] === "string" && /^model_reasoning_effort="(?:none|minimal|low|medium|high|xhigh|ultra)"$/.test(tail[3]);
1582
1558
  const nativeKeys = /* @__PURE__ */ new Set();
1583
1559
  const nativeArgs = tail.slice(4);
1584
1560
  let validNative = nativeArgs.length % 2 === 0;
@@ -8438,28 +8414,11 @@ function createRuntimeStreamEventCollector(options = {}) {
8438
8414
  * The exporter accepts both raw OtelSpan objects and LoopTraceEvents
8439
8415
  * (which get converted to OTLP spans automatically).
8440
8416
  */
8441
- /** OTel GenAI: the tool definitions offered to the model. Matches the constant agent-eval and
8442
- * traces each define locally for the same external convention (there is no shared semconv
8443
- * package to import it from). */
8444
- const TOOL_DEFINITIONS_ATTR = "gen_ai.tool.definitions";
8445
8417
  const SCOPE = {
8446
8418
  name: "@tangle-network/agent-runtime",
8447
8419
  version: "0.83.0"
8448
8420
  };
8449
8421
  /**
8450
- * Current (non-deprecated) OpenTelemetry GenAI semantic-convention keys.
8451
- * Registry: https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/
8452
- * NB: `gen_ai.system` / `gen_ai.usage.prompt_tokens` / `completion_tokens` are
8453
- * DEPRECATED — do not emit them. We use `provider.name` + `input/output_tokens`.
8454
- */
8455
- const GEN_AI = {
8456
- operation: "gen_ai.operation.name",
8457
- agentName: "gen_ai.agent.name",
8458
- conversationId: "gen_ai.conversation.id",
8459
- inputTokens: "gen_ai.usage.input_tokens",
8460
- outputTokens: "gen_ai.usage.output_tokens"
8461
- };
8462
- /**
8463
8422
  * Create an exporter that APPENDS spans to a local OpenInference-JSONL file, one complete span per
8464
8423
  * line, instead of posting them to a collector.
8465
8424
  *
@@ -8517,18 +8476,9 @@ function nanosToIso(nanos) {
8517
8476
  const ms = Number(BigInt(nanos) / 1000000n);
8518
8477
  return new Date(ms).toISOString();
8519
8478
  }
8520
- /** OTLP's key/value attribute array -> the plain object OpenInference carries. */
8521
- function attributesToObject(attributes) {
8522
- const out = {};
8523
- for (const a of attributes ?? []) {
8524
- const v = a.value;
8525
- out[a.key] = v.stringValue ?? (v.intValue !== void 0 ? Number(v.intValue) : void 0) ?? v.doubleValue ?? v.boolValue;
8526
- }
8527
- return out;
8528
- }
8529
8479
  /** One `OtelSpan` as the OpenInference JSONL line `traces` and other OpenInference tools read. */
8530
8480
  function toOpenInferenceLine(span) {
8531
- const attributes = attributesToObject(span.attributes);
8481
+ const { attributes } = decodeOtlpAttributes(span.attributes);
8532
8482
  const kind = attributes["openinference.span.kind"];
8533
8483
  const resource = {};
8534
8484
  for (const key of ["service.name", "agent.name"]) if (attributes[key] !== void 0) resource[key] = attributes[key];
@@ -8570,10 +8520,10 @@ function createOtelExporter(config) {
8570
8520
  const flushIntervalMs = config?.flushIntervalMs ?? 5e3;
8571
8521
  const maxQueueSize = Math.max(positiveInteger$1(config?.maxQueueSize, 2048), batchSize);
8572
8522
  const timeoutMs = positiveInteger$1(config?.timeoutMs, 1e4);
8573
- const resource = { attributes: toOtelAttributes({
8523
+ const resource = toOtlpAttributes({
8574
8524
  "service.name": config?.serviceName ?? "agent-runtime",
8575
8525
  ...config?.resourceAttributes ?? {}
8576
- }) };
8526
+ });
8577
8527
  const queue = [];
8578
8528
  let inFlight = 0;
8579
8529
  let written = 0;
@@ -8587,13 +8537,7 @@ function createOtelExporter(config) {
8587
8537
  lastError = reason;
8588
8538
  };
8589
8539
  async function send(batch) {
8590
- const body = { resourceSpans: [{
8591
- resource,
8592
- scopeSpans: [{
8593
- scope: SCOPE,
8594
- spans: batch
8595
- }]
8596
- }] };
8540
+ const body = otlpTraceExport(resource, SCOPE, batch);
8597
8541
  try {
8598
8542
  const response = await fetch(url, {
8599
8543
  method: "POST",
@@ -8610,9 +8554,10 @@ function createOtelExporter(config) {
8610
8554
  drop(batch.length, `HTTP ${response.status} from ${url}${detail}`);
8611
8555
  return;
8612
8556
  }
8613
- const rejected = rejectedSpans(text, batch.length);
8614
- if (rejected.count > 0) drop(rejected.count, `collector rejected ${rejected.count} spans: ${rejected.message}`);
8615
- written += batch.length - rejected.count;
8557
+ const partial = readOtlpPartialSuccess(text);
8558
+ const rejected = Math.min(partial.rejectedSpans, batch.length);
8559
+ if (rejected > 0) drop(rejected, `collector rejected ${rejected} spans: ${partial.errorMessage ?? "no message"}`);
8560
+ written += batch.length - rejected;
8616
8561
  } catch (error) {
8617
8562
  drop(batch.length, `POST ${url} failed: ${describeFetchError(error)}`);
8618
8563
  }
@@ -8672,45 +8617,6 @@ function createOtelExporter(config) {
8672
8617
  }
8673
8618
  };
8674
8619
  }
8675
- /**
8676
- * Spans a 2xx OTLP/HTTP response still refused. The spec lets a collector accept a request and
8677
- * reject part of it through `partialSuccess.rejectedSpans`; reading only the status would count
8678
- * those spans as delivered. An empty or non-JSON body is a full success.
8679
- */
8680
- function rejectedSpans(text, batchLength) {
8681
- if (!text.trim()) return {
8682
- count: 0,
8683
- message: ""
8684
- };
8685
- let parsed;
8686
- try {
8687
- parsed = JSON.parse(text);
8688
- } catch {
8689
- return {
8690
- count: 0,
8691
- message: ""
8692
- };
8693
- }
8694
- if (parsed === null || typeof parsed !== "object") return {
8695
- count: 0,
8696
- message: ""
8697
- };
8698
- const partial = parsed.partialSuccess;
8699
- if (partial === null || typeof partial !== "object") return {
8700
- count: 0,
8701
- message: ""
8702
- };
8703
- const { rejectedSpans: raw, errorMessage } = partial;
8704
- const count = typeof raw === "string" ? Number(raw) : typeof raw === "number" ? raw : 0;
8705
- if (!Number.isSafeInteger(count) || count <= 0) return {
8706
- count: 0,
8707
- message: ""
8708
- };
8709
- return {
8710
- count: Math.min(count, batchLength),
8711
- message: typeof errorMessage === "string" && errorMessage ? errorMessage : "no message"
8712
- };
8713
- }
8714
8620
  /** Node's fetch reports every socket failure as "fetch failed"; the cause names which one. */
8715
8621
  function describeFetchError(error) {
8716
8622
  if (!(error instanceof Error)) return String(error);
@@ -8733,14 +8639,14 @@ function loopEventToOtelSpan(event, traceId, parentSpanId) {
8733
8639
  for (const [k, v] of Object.entries(event.payload)) if (typeof v === "string" || typeof v === "number" || typeof v === "boolean") attrs[`loop.${k}`] = v;
8734
8640
  const ts = msToNs(event.timestamp);
8735
8641
  return {
8736
- traceId: padTraceId(traceId),
8642
+ traceId: toW3CTraceId(traceId),
8737
8643
  spanId,
8738
- parentSpanId: parentSpanId ? padSpanId(parentSpanId) : void 0,
8644
+ parentSpanId: parentSpanId ? toW3CSpanId(parentSpanId) : void 0,
8739
8645
  name: event.kind,
8740
8646
  kind: 1,
8741
8647
  startTimeUnixNano: ts,
8742
8648
  endTimeUnixNano: ts,
8743
- attributes: toOtelAttributes(attrs),
8649
+ attributes: toOtlpAttributes(attrs),
8744
8650
  status: { code: 1 }
8745
8651
  };
8746
8652
  }
@@ -8756,14 +8662,14 @@ function flatOtelSpan(name, attributes, traceId, timestampMs, parentSpanId, endT
8756
8662
  const start = msToNs(timestampMs);
8757
8663
  const end = msToNs(Math.max(timestampMs, endTimestampMs));
8758
8664
  return {
8759
- traceId: padTraceId(traceId),
8665
+ traceId: toW3CTraceId(traceId),
8760
8666
  spanId: generateSpanId(),
8761
- parentSpanId: parentSpanId ? padSpanId(parentSpanId) : void 0,
8667
+ parentSpanId: parentSpanId ? toW3CSpanId(parentSpanId) : void 0,
8762
8668
  name,
8763
8669
  kind: 1,
8764
8670
  startTimeUnixNano: start,
8765
8671
  endTimeUnixNano: end,
8766
- attributes: toOtelAttributes(attributes),
8672
+ attributes: toOtlpAttributes(attributes),
8767
8673
  status: { code: 1 }
8768
8674
  };
8769
8675
  }
@@ -8820,7 +8726,7 @@ function buildRuntimeEventOtelSpans(events, traceId, parentSpanId, options = {})
8820
8726
  if (event.costUsd !== void 0) attrs["tangle.cost.usd"] = event.costUsd;
8821
8727
  if (event.latencyMs !== void 0) attrs["tangle.latency_ms"] = event.latencyMs;
8822
8728
  if (event.finishReason !== void 0) attrs["gen_ai.response.finish_reasons"] = event.finishReason;
8823
- if (event.tools !== void 0 && event.tools.length > 0) attrs[TOOL_DEFINITIONS_ATTR] = JSON.stringify(event.tools.map((toolName) => ({
8729
+ if (event.tools !== void 0 && event.tools.length > 0) attrs[ATTR.toolDefinitions] = JSON.stringify(event.tools.map((toolName) => ({
8824
8730
  type: "function",
8825
8731
  name: toolName
8826
8732
  })));
@@ -8862,16 +8768,16 @@ function buildRuntimeEventOtelSpans(events, traceId, parentSpanId, options = {})
8862
8768
  * per-runId event array (e.g. flushed on `loop.ended`) and export the result.
8863
8769
  */
8864
8770
  function buildLoopOtelSpans(events, traceId, rootParentSpanId, redact) {
8865
- const tid = padTraceId(traceId);
8771
+ const tid = toW3CTraceId(traceId);
8866
8772
  return buildLoopSpanNodes(events, redact).map((node) => ({
8867
8773
  traceId: tid,
8868
8774
  spanId: node.spanId,
8869
- parentSpanId: node.parentSpanId ? padSpanId(node.parentSpanId) : rootParentSpanId ? padSpanId(rootParentSpanId) : void 0,
8775
+ parentSpanId: node.parentSpanId ? toW3CSpanId(node.parentSpanId) : rootParentSpanId ? toW3CSpanId(rootParentSpanId) : void 0,
8870
8776
  name: node.name,
8871
8777
  kind: 1,
8872
8778
  startTimeUnixNano: msToNs(node.startMs),
8873
8779
  endTimeUnixNano: msToNs(node.endMs),
8874
- attributes: toOtelAttributes({
8780
+ attributes: toOtlpAttributes({
8875
8781
  ...node.attrs,
8876
8782
  [ATTR.spanKind]: LOOP_SPAN_KIND[node.kind],
8877
8783
  ...node.parentSpanId === void 0 && rootParentSpanId ? { [ATTR.parentConfidence]: "explicit" } : {}
@@ -8928,8 +8834,8 @@ function buildLoopSpanNodes(events, redact) {
8928
8834
  });
8929
8835
  const sp = rec(started?.payload);
8930
8836
  const rootAttrs = {
8931
- [GEN_AI.operation]: "invoke_workflow",
8932
- [GEN_AI.conversationId]: runId,
8837
+ [OPERATION_NAME_ATTR]: "invoke_workflow",
8838
+ [ATTR.conversationId]: runId,
8933
8839
  "tangle.run.id": runId,
8934
8840
  "tangle.loop.driver": str(sp.driver) ?? "driver"
8935
8841
  };
@@ -8971,7 +8877,7 @@ function buildLoopSpanNodes(events, redact) {
8971
8877
  const id = generateSpanId();
8972
8878
  const roundIdx = num(p.roundIndex) ?? 0;
8973
8879
  const attrs = {
8974
- [GEN_AI.operation]: "invoke_workflow",
8880
+ [OPERATION_NAME_ATTR]: "invoke_workflow",
8975
8881
  "tangle.loop.round.index": roundIdx,
8976
8882
  "tangle.loop.move.kind": str(p.moveKind) ?? "unknown",
8977
8883
  "tangle.loop.move.round": roundIdx,
@@ -9016,16 +8922,16 @@ function buildLoopSpanNodes(events, redact) {
9016
8922
  const start = iterStartTs.get(idx) ?? e.timestamp;
9017
8923
  const err = strRedacted(p.error);
9018
8924
  const attrs = {
9019
- [GEN_AI.operation]: "invoke_agent",
8925
+ [OPERATION_NAME_ATTR]: "invoke_agent",
9020
8926
  "tangle.loop.iteration.index": idx
9021
8927
  };
9022
8928
  const agent = str(p.agentRunName);
9023
- if (agent) attrs[GEN_AI.agentName] = agent;
8929
+ if (agent) attrs[ATTR.agentName] = agent;
9024
8930
  const tu = rec(p.tokenUsage);
9025
8931
  const inTok = num(tu.input);
9026
- if (inTok !== void 0) attrs[GEN_AI.inputTokens] = inTok;
8932
+ if (inTok !== void 0) attrs[ATTR.inputTokens] = inTok;
9027
8933
  const outTok = num(tu.output);
9028
- if (outTok !== void 0) attrs[GEN_AI.outputTokens] = outTok;
8934
+ if (outTok !== void 0) attrs[ATTR.outputTokens] = outTok;
9029
8935
  const cost = num(p.costUsd);
9030
8936
  if (cost !== void 0) attrs["tangle.cost.usd"] = cost;
9031
8937
  const verdict = rec(p.verdict);
@@ -9073,48 +8979,8 @@ function parseHeadersFromEnv() {
9073
8979
  }
9074
8980
  return out;
9075
8981
  }
9076
- /**
9077
- * Convert a flat record into the OTLP attribute list. Non-finite numbers are DROPPED (an OTLP
9078
- * `doubleValue` of `NaN`/`Infinity` is not representable), integers ride as `intValue`. Exported so
9079
- * a producer that mints its own `OtelSpan` (the supervisor span recorder) builds attributes exactly
9080
- * the way every span in this file does, rather than re-deriving the encoding.
9081
- */
9082
- function toOtelAttributes(record) {
9083
- return Object.entries(record).flatMap(([key, value]) => {
9084
- if (typeof value === "number" && !Number.isFinite(value)) return [];
9085
- return [{
9086
- key,
9087
- value: typeof value === "number" ? Number.isInteger(value) ? { intValue: value.toString() } : { doubleValue: value } : typeof value === "boolean" ? { boolValue: value } : { stringValue: value }
9088
- }];
9089
- });
9090
- }
9091
8982
  function msToNs(ms) {
9092
- return (BigInt(Math.floor(Number.isFinite(ms) ? ms : Date.now())) * 1000000n).toString();
9093
- }
9094
- /**
9095
- * Map a caller-supplied span id onto the 16-hex OTLP encoding. An id that is already a valid W3C
9096
- * span id passes through UNCHANGED — that is what lets an inherited `PARENT_SPAN_ID`/`TRACEPARENT`
9097
- * id keep parenting the same trace. A DASHED hex id (a UUID-form id) passes through dash-stripped:
9098
- * that is the exact wire id every earlier release exported for it, so cross-version joins survive
9099
- * the strict-W3C upgrade. Anything else (a human run id) is DERIVED via the zero-dep contract's
9100
- * `deriveHexId`, the one legal derivation: the old slice-and-pad produced ids that embedded the
9101
- * raw input in the wire id and were not even valid hex (the contract's own `non-hex-id` validator
9102
- * rejected what this module exported). Exported as the ONE wire-id normalization every writer
9103
- * shares — `traceContextToEnv` builds the child's `TRACEPARENT` through these same functions, so
9104
- * a parent's exported spans and the context it hands its children always name the same trace.
9105
- */
9106
- function padSpanId(id) {
9107
- if (isW3CSpanId(id)) return id;
9108
- const dashless = id.replace(/-/g, "");
9109
- return isW3CSpanId(dashless) ? dashless : deriveHexId(id, 8);
9110
- }
9111
- /** Trace-id counterpart of {@link padSpanId}: valid W3C trace ids pass through (dash-stripped when
9112
- * UUID-form, preserving the pre-strict-W3C wire id), everything else is derived with
9113
- * `deriveHexId(id, 16)` so every process derives the SAME wire id for the same run. */
9114
- function padTraceId(id) {
9115
- if (isW3CTraceId(id)) return id;
9116
- const dashless = id.replace(/-/g, "");
9117
- return isW3CTraceId(dashless) ? dashless : deriveHexId(id, 16);
8983
+ return msToUnixNano(Number.isFinite(ms) ? ms : Date.now());
9118
8984
  }
9119
8985
  /** Mint a fresh 16-hex-character OTLP span id. Exported so a producer that must know a span's id
9120
8986
  * BEFORE the span closes (a node opened at spawn and parented by its children) uses this one
@@ -9158,7 +9024,7 @@ function parseTraceparent(value) {
9158
9024
  if (!match) return void 0;
9159
9025
  const traceId = match[1].toLowerCase();
9160
9026
  const parentSpanId = match[2].toLowerCase();
9161
- if (!isW3CTraceId(traceId) || !isW3CSpanId(parentSpanId)) return void 0;
9027
+ if (!traceContract.isW3CTraceId(traceId) || !traceContract.isW3CSpanId(parentSpanId)) return void 0;
9162
9028
  return {
9163
9029
  traceId,
9164
9030
  parentSpanId
@@ -9218,7 +9084,7 @@ function createPropagatingTraceEmitter(ctx) {
9218
9084
  * Build env vars to pass to a child subprocess so it inherits the current trace context.
9219
9085
  *
9220
9086
  * Writes BOTH conventions (see the module doc): `TRACEPARENT` carries the W3C-hex ids — mapped
9221
- * through the exporter's own `padTraceId`/`padSpanId` (dashed hex passes through dash-stripped, a
9087
+ * through agent-trace-contract's `toW3CTraceId`/`toW3CSpanId` (dashed hex passes through dash-stripped, a
9222
9088
  * human id is derived through the contract's `deriveHexId`), the SAME normalization every emitted
9223
9089
  * span uses, so both spellings and the parent's own spans all name ONE trace — and the legacy
9224
9090
  * pair carries the caller's ids verbatim. `TRACEPARENT` needs a parent span id by grammar; when
@@ -9227,7 +9093,7 @@ function createPropagatingTraceEmitter(ctx) {
9227
9093
  function traceContextToEnv(ctx) {
9228
9094
  const env = { TRACE_ID: ctx.traceId };
9229
9095
  if (ctx.parentSpanId) env.PARENT_SPAN_ID = ctx.parentSpanId;
9230
- if (ctx.parentSpanId) env.TRACEPARENT = `00-${padTraceId(ctx.traceId)}-${padSpanId(ctx.parentSpanId)}-01`;
9096
+ if (ctx.parentSpanId) env.TRACEPARENT = `00-${traceContract.toW3CTraceId(ctx.traceId)}-${traceContract.toW3CSpanId(ctx.parentSpanId)}-01`;
9231
9097
  return env;
9232
9098
  }
9233
9099
  /**
@@ -29786,6 +29652,6 @@ async function noWinner(settled, rejection) {
29786
29652
  reason: "no-result-selected"
29787
29653
  };
29788
29654
  }
29789
- export { abandonScopeRetainedOwnerInvocation as $, authoredSeatStages as $n, inheritRuntimeOwnedExecutorAttestation as $r, harnessTranscriptArtifact as $t, noteScopeOwnerPlannedExecution as A, DEFAULT_PEER_MAIL_LIMITS as An, runSettledCommand as Ar, acquireSandbox as At, deriveNodeExecutionIdentity as B, readWorkerProgress as Bn, profileMaterializationAxes$1 as Br, createAgentEnvironmentProviderRegistry as Bt, interactiveAdmissionSeamKey as C, createRuntimeStreamEventCollector as Cn, RunCancellationReason as Cr, DEFAULT_SANDBOX_STEERING_MAX_TURNS as Ct, recoverRetainedInteractiveRun as D, createInbox as Dn, bridgeRuntimeAttachmentsKey as Dr, readPromptOptions as Dt, reconnectRetainedInteractiveRun as E, INBOX_RECEIPT_KEY as En, signalAbortError as Er, assertBoxlessPromptOptions as Et, coordinationProfileToolPrefix as F, peerMailTools as Fn, assertProfileMaterialization as Fr, createCodeModeTools as Ft, meterRuntimeOwnedProviderAttempt as G, abandonablePending as Gn, sandboxProfileMaterialization as Gr, reconnectRetainedRun as Gt, queueOf as H, isTerminalNodeStatus as Hn, promptModelProfileMaterialization as Hr, providerAsExecutor as Ht, providerVisibleProfile as I, peerMailVerbNames as In, assertProfileMaterializes as Ir, runCodeMode as It, recordScopeOwnerPause as J, summarizeDriverAttempts as Jn, attestRuntimeOwnedPendingExecutor as Jr, startRetainedRunInEnvironment as Jt, recordScopeOwnerBarrenPause as K, causedByPartialFailure as Kn, unsupportedProfileDimensions as Kr, recoverRetainedRun as Kt, runtimeGraphMetadataKey as L, taskToPrompt$1 as Ln, controlProfileMaterialization as Lr, toolResultText as Lt, restoreScopeOwnerAcceptedExecution as M, claimsAuthority as Mn, LOCAL_HARNESSES as Mr, defaultSelectWinner as Mt, scopeOwnerExecutorNodeContext as N, createPeerMailbox as Nn, harnessInvocation as Nr, codeModeArguments as Nt, startRetainedInteractiveRun as O, failPendingAfter as On, bridgeStopSignalKey as Or, createSandboxForSpec as Ot, coordinationMcpAlias as P, isPeerMailEnvelope as Pn, terminateProcessTreeAndConfirm as Pr, codeModeModelOutput as Pt, resolveSpawnResourcePaths as Q, SeatChainExhaustedError as Qn, finalizeRuntimeOwnedPendingExecutor as Qr, captureHarnessTranscript as Qt, settledToIteration as R, DEFAULT_STALL_AFTER_MS as Rn, defineProfileMaterializationContract as Rr, createRouterTranscript as Rt, workerTraceAnalysisStore as S, createRuntimeEventCollector as Sn, createPushTraceSource as Sr, snapshotExecutorConfig as St, readWorkerInteractiveBinding as T, sanitizeRuntimeStreamEvent as Tn, runAbortable as Tr, runAgentRounds as Tt, rollingDispatch as U, DriverAttemptsExhaustedError as Un, renderUnsupported as Ur, LEAF_CONTINUATION_TASK as Ut, freeSlots as V, isLiveNodeStatus as Vn, promptControlProfileMaterialization as Vr, resolveAgentEnvironmentProvider as Vt, meterRuntimeOwnedAccounting as W, HarnessTurnFailedError as Wn, sandboxActProfileMaterialization as Wr, providerAsSandboxClient as Wt, scopeRetainedOwnerResourceReader as X, upstreamUnavailableSignal as Xn, authoredAgentIdentity as Xr, destroyInteractiveEnvironment as Xt, prepareScopeRetainedOwnerSeatSwitch as Y, undispatchedCredentialExit as Yn, attestRuntimeOwnedScopeOwner as Yr, retainedCreateMaterial as Yt, environmentReader as Z, SeatChain as Zn, authoredProfileDigest as Zr, environmentGone as Zt, withDriverExecutor as _, awaitAbortable$1 as _i, generateSpanId as _n, ROUTER_PRICE_SOURCE as _r, FileResultBlobStore as _t, assertRunParking as a, runtimeOwnedDriveHarnessProviderEvidence as ai, openSlotGroup as an, mapExecutorResult as ar, scopeRetainedOwnerTurnEnded as at, isTraceAnalysisStore as b, providerMessageText as bi, padTraceId as bn, harnessUsageIsEmpty as br, captureReusableExecutorConfig as bt, sleepScopeWait as c, runtimeOwnedExecutorProviderEvidence as ci, WORKER_TRACE_PROPAGATION as cn, admitContinuationPolicy as cr, noteScopeRetainedOwnerCoordination as ct, runFinalizer as d, unknownExecutionBindingReceipt as di, buildLoopOtelSpans as dn, createContinuationKeeper as dr, scopeRetainedOwnerContext as dt, knownExecutionBindingReceipt as ei, persistHarnessTranscript as en, seatExecutionProfile as er, consumeScopeRetainedOwnerResult as et, runTree as f, unknownMaterializationReceipt as fi, buildLoopSpanNodes as fn, failedItems as fr, scopeRetainedOwnerJournalRoot as ft, isDriverSpec as g, readSandboxOutcome as gi, flatOtelSpan as gn, priceTokens as gr, InMemorySpawnJournal as gt, driverExecutorFactory as h, projectSandboxOutcome as hi, createOtelExporter as hn, bridgeModelRouteRefusal as hr, InMemoryResultBlobStore as ht, RunParkedError as i, recordRuntimeOwnedDriveHarnessProviderEvidence as ii, createWorkerSlots as in, gateOnDeliverable as ir, beginScopeRetainedOwnerDrive as it, recordScopeOwnerMaterialization as j, PEER_MAIL_WIRE_KEY as jn, runWorktreeHarness as jr, TERMINAL_DECISIONS as jt, beginScopeOwnerAttempt as k, AUTHORITY_MARKERS as kn, defaultRunCommand as kr, createSandboxLineage as kt, withRunParking as l, runtimeOwnedPendingExecutorMaterialization as li, createPropagatingTraceEmitter as ln, bestComposite as lr, bindScopeRetainedOwnerEnvironmentId as lt, driverChild as m, executableAgentSpecSnapshot as mi, createOpenInferenceFileExporter as mn, bridgeAdmissionRefusal as mr, materializeTreeView as mt, createSupervisor as n, newExecutionAttemptId as ni, resolveHarnessTranscriptCapture as nn, CheckUnavailableError as nr, scopeRetainedOwnerPriorSpend as nt, bindScopeParkingDrain as o, runtimeOwnedExecutorExecutionBinding as oi, createWorktreeCliExecutor as on, verdictFromJudgeScore as or, reconcileScopeRetainedOwnerEnvironment as ot, createRootHandle as p, executableAgentProfileSnapshot as pi, buildRuntimeEventOtelSpans as pn, isFiniteNumber as pr, loadSpawnForest as pt, recordScopeOwnerDriverAttempt as q, classifyDriverFailure as qn, worktreeCliProfileMaterialization as qr, startRetainedRun as qt, assertResumeLimits as r, providerAttemptEvidence as ri, retainHarnessTranscript as rn, gateFactoryOnDeliverable as rr, scopeRetainedOwnerResult as rt, readRunParking as s, runtimeOwnedExecutorMaterialization as si, createInPlaceCliExecutor as sn, CONTINUATIONS_DIR as sr, scopeRetainedOwnerRestorePoint as st, DEFAULT_MAX_DEPTH as t, knownMaterializationReceipt as ti, readHarnessTranscript as tn, subscriptionUsageLimitSignal as tr, prepareScopeRetainedOwnerTask as tt, bestDelivered as u, runtimeOwnedScopeOwnerRuntime as ui, readTraceContextFromEnv as un, checkVerdictOf as ur, bindScopeRetainedOwnerProvider as ut, createScope as v, promptFromAgentTurnInput as vi, loopEventToOtelSpan as vn, addHarnessUsage as vr, createExecutorRegistry as vt, attachWorker as w, sanitizeKnowledgeReadinessReport as wn, linkAbort as wr, createSteerableSandboxSession as wt, parseWorkerToolTraceArtifact as x, toOtelAttributes as xn, readCodexRolloutSession as xr, createExecutor as xt, replaySpawnTree as y, promptOptionsFromAgentTurnInput as yi, padSpanId as yn, createCodexRolloutStoreReader as yr, bindReusableExecutorExecutionId as yt, assertRecursiveReservationPolicy as z, createActivityLog as zn, fullProfileMaterialization as zr, routerBrain as zt };
29655
+ export { abandonScopeRetainedOwnerInvocation as $, CheckUnavailableError as $n, newExecutionAttemptId as $r, harnessTranscriptArtifact as $t, noteScopeOwnerPlannedExecution as A, createPeerMailbox as An, harnessInvocation as Ar, acquireSandbox as At, deriveNodeExecutionIdentity as B, DriverAttemptsExhaustedError as Bn, renderUnsupported as Br, createAgentEnvironmentProviderRegistry as Bt, interactiveAdmissionSeamKey as C, INBOX_RECEIPT_KEY as Cn, signalAbortError as Cr, DEFAULT_SANDBOX_STEERING_MAX_TURNS as Ct, recoverRetainedInteractiveRun as D, DEFAULT_PEER_MAIL_LIMITS as Dn, runSettledCommand as Dr, readPromptOptions as Dt, reconnectRetainedInteractiveRun as E, AUTHORITY_MARKERS as En, defaultRunCommand as Er, assertBoxlessPromptOptions as Et, coordinationProfileToolPrefix as F, DEFAULT_STALL_AFTER_MS as Fn, defineProfileMaterializationContract as Fr, createCodeModeTools as Ft, meterRuntimeOwnedProviderAttempt as G, summarizeDriverAttempts as Gn, attestRuntimeOwnedPendingExecutor as Gr, reconnectRetainedRun as Gt, queueOf as H, abandonablePending as Hn, sandboxProfileMaterialization as Hr, providerAsExecutor as Ht, providerVisibleProfile as I, createActivityLog as In, fullProfileMaterialization as Ir, runCodeMode as It, recordScopeOwnerPause as J, SeatChain as Jn, authoredProfileDigest as Jr, startRetainedRunInEnvironment as Jt, recordScopeOwnerBarrenPause as K, undispatchedCredentialExit as Kn, attestRuntimeOwnedScopeOwner as Kr, recoverRetainedRun as Kt, runtimeGraphMetadataKey as L, readWorkerProgress as Ln, profileMaterializationAxes$1 as Lr, toolResultText as Lt, restoreScopeOwnerAcceptedExecution as M, peerMailTools as Mn, assertProfileMaterialization as Mr, defaultSelectWinner as Mt, scopeOwnerExecutorNodeContext as N, peerMailVerbNames as Nn, assertProfileMaterializes as Nr, codeModeArguments as Nt, startRetainedInteractiveRun as O, PEER_MAIL_WIRE_KEY as On, runWorktreeHarness as Or, createSandboxForSpec as Ot, coordinationMcpAlias as P, taskToPrompt$1 as Pn, controlProfileMaterialization as Pr, codeModeModelOutput as Pt, resolveSpawnResourcePaths as Q, subscriptionUsageLimitSignal as Qn, knownMaterializationReceipt as Qr, captureHarnessTranscript as Qt, settledToIteration as R, isLiveNodeStatus as Rn, promptControlProfileMaterialization as Rr, createRouterTranscript as Rt, workerTraceAnalysisStore as S, sanitizeRuntimeStreamEvent as Sn, runAbortable as Sr, snapshotExecutorConfig as St, readWorkerInteractiveBinding as T, failPendingAfter as Tn, bridgeStopSignalKey as Tr, runAgentRounds as Tt, rollingDispatch as U, causedByPartialFailure as Un, unsupportedProfileDimensions as Ur, LEAF_CONTINUATION_TASK as Ut, freeSlots as V, HarnessTurnFailedError as Vn, sandboxActProfileMaterialization as Vr, resolveAgentEnvironmentProvider as Vt, meterRuntimeOwnedAccounting as W, classifyDriverFailure as Wn, worktreeCliProfileMaterialization as Wr, providerAsSandboxClient as Wt, scopeRetainedOwnerResourceReader as X, authoredSeatStages as Xn, inheritRuntimeOwnedExecutorAttestation as Xr, destroyInteractiveEnvironment as Xt, prepareScopeRetainedOwnerSeatSwitch as Y, SeatChainExhaustedError as Yn, finalizeRuntimeOwnedPendingExecutor as Yr, retainedCreateMaterial as Yt, environmentReader as Z, seatExecutionProfile as Zn, knownExecutionBindingReceipt as Zr, environmentGone as Zt, withDriverExecutor as _, awaitAbortable$1 as _i, generateSpanId as _n, harnessUsageIsEmpty as _r, FileResultBlobStore as _t, assertRunParking as a, runtimeOwnedExecutorProviderEvidence as ai, openSlotGroup as an, admitContinuationPolicy as ar, scopeRetainedOwnerTurnEnded as at, isTraceAnalysisStore as b, providerMessageText as bi, createRuntimeStreamEventCollector as bn, RunCancellationReason as br, captureReusableExecutorConfig as bt, sleepScopeWait as c, unknownExecutionBindingReceipt as ci, WORKER_TRACE_PROPAGATION as cn, createContinuationKeeper as cr, noteScopeRetainedOwnerCoordination as ct, runFinalizer as d, executableAgentSpecSnapshot as di, buildLoopOtelSpans as dn, bridgeAdmissionRefusal as dr, scopeRetainedOwnerContext as dt, providerAttemptEvidence as ei, persistHarnessTranscript as en, gateFactoryOnDeliverable as er, consumeScopeRetainedOwnerResult as et, runTree as f, isRuntimeFlowBrain as fi, buildLoopSpanNodes as fn, bridgeModelRouteRefusal as fr, scopeRetainedOwnerJournalRoot as ft, isDriverSpec as g, readSandboxOutcome as gi, flatOtelSpan as gn, createCodexRolloutStoreReader as gr, InMemorySpawnJournal as gt, driverExecutorFactory as h, projectSandboxOutcome as hi, createOtelExporter as hn, addHarnessUsage as hr, InMemoryResultBlobStore as ht, RunParkedError as i, runtimeOwnedExecutorMaterialization as ii, createWorkerSlots as in, CONTINUATIONS_DIR as ir, beginScopeRetainedOwnerDrive as it, recordScopeOwnerMaterialization as j, isPeerMailEnvelope as jn, terminateProcessTreeAndConfirm as jr, TERMINAL_DECISIONS as jt, beginScopeOwnerAttempt as k, claimsAuthority as kn, LOCAL_HARNESSES as kr, createSandboxLineage as kt, withRunParking as l, unknownMaterializationReceipt as li, createPropagatingTraceEmitter as ln, failedItems as lr, bindScopeRetainedOwnerEnvironmentId as lt, driverChild as m, runtimeFlowBrain as mi, createOpenInferenceFileExporter as mn, ROUTER_PRICE_SOURCE as mr, materializeTreeView as mt, createSupervisor as n, runtimeOwnedDriveHarnessProviderEvidence as ni, resolveHarnessTranscriptCapture as nn, mapExecutorResult as nr, scopeRetainedOwnerPriorSpend as nt, bindScopeParkingDrain as o, runtimeOwnedPendingExecutorMaterialization as oi, createWorktreeCliExecutor as on, bestComposite as or, reconcileScopeRetainedOwnerEnvironment as ot, createRootHandle as p, runtimeFlowAgent as pi, buildRuntimeEventOtelSpans as pn, priceTokens as pr, loadSpawnForest as pt, recordScopeOwnerDriverAttempt as q, upstreamUnavailableSignal as qn, authoredAgentIdentity as qr, startRetainedRun as qt, assertResumeLimits as r, runtimeOwnedExecutorExecutionBinding as ri, retainHarnessTranscript as rn, verdictFromJudgeScore as rr, scopeRetainedOwnerResult as rt, readRunParking as s, runtimeOwnedScopeOwnerRuntime as si, createInPlaceCliExecutor as sn, checkVerdictOf as sr, scopeRetainedOwnerRestorePoint as st, DEFAULT_MAX_DEPTH as t, recordRuntimeOwnedDriveHarnessProviderEvidence as ti, readHarnessTranscript as tn, gateOnDeliverable as tr, prepareScopeRetainedOwnerTask as tt, bestDelivered as u, executableAgentProfileSnapshot as ui, readTraceContextFromEnv as un, isFiniteNumber as ur, bindScopeRetainedOwnerProvider as ut, createScope as v, promptFromAgentTurnInput as vi, loopEventToOtelSpan as vn, readCodexRolloutSession as vr, createExecutorRegistry as vt, attachWorker as w, createInbox as wn, bridgeRuntimeAttachmentsKey as wr, createSteerableSandboxSession as wt, parseWorkerToolTraceArtifact as x, sanitizeKnowledgeReadinessReport as xn, linkAbort as xr, createExecutor as xt, replaySpawnTree as y, promptOptionsFromAgentTurnInput as yi, createRuntimeEventCollector as yn, createPushTraceSource as yr, bindReusableExecutorExecutionId as yt, assertRecursiveReservationPolicy as z, isTerminalNodeStatus as zn, promptModelProfileMaterialization as zr, routerBrain as zt };
29790
29656
 
29791
- //# sourceMappingURL=supervisor-rK5Y8en6.js.map
29657
+ //# sourceMappingURL=supervisor-C3JhrVVU.js.map