@tangle-network/agent-runtime 0.319.3 → 0.319.7

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 (36) hide show
  1. package/dist/{activation-ClcJ6wO1.js → activation-CcfUmnAe.js} +2 -2
  2. package/dist/{activation-ClcJ6wO1.js.map → activation-CcfUmnAe.js.map} +1 -1
  3. package/dist/agent.js +2 -2
  4. package/dist/{coordination-driver-Culvomn2.js → coordination-driver-Dim6ig4M.js} +2 -2
  5. package/dist/{coordination-driver-Culvomn2.js.map → coordination-driver-Dim6ig4M.js.map} +1 -1
  6. package/dist/{delegate-CpMbpiIR.js → delegate-STDZnzjY.js} +2 -2
  7. package/dist/{delegate-CpMbpiIR.js.map → delegate-STDZnzjY.js.map} +1 -1
  8. package/dist/durable.js +2 -2
  9. package/dist/{graph-DnfSGUM8.js → graph-Df65qgYK.js} +4 -4
  10. package/dist/{graph-DnfSGUM8.js.map → graph-Df65qgYK.js.map} +1 -1
  11. package/dist/{improvement-cycle-xnQwUaC3.js → improvement-cycle-Bb5kkUi6.js} +18 -149
  12. package/dist/{improvement-cycle-xnQwUaC3.js.map → improvement-cycle-Bb5kkUi6.js.map} +1 -1
  13. package/dist/index.js +7 -7
  14. package/dist/intelligence.js +3 -3
  15. package/dist/kernel.js +8 -8
  16. package/dist/{loop-runner-bin-uoeGHNZA.js → loop-runner-bin-BaGWLMYN.js} +3 -3
  17. package/dist/{loop-runner-bin-uoeGHNZA.js.map → loop-runner-bin-BaGWLMYN.js.map} +1 -1
  18. package/dist/loop-runner-bin.js +1 -1
  19. package/dist/mcp/bin.js +3 -3
  20. package/dist/mcp/index.js +4 -4
  21. package/dist/{provision-supervisor-DiZTjzdp.js → provision-supervisor-CS_Negf6.js} +3 -3
  22. package/dist/{provision-supervisor-DiZTjzdp.js.map → provision-supervisor-CS_Negf6.js.map} +1 -1
  23. package/dist/{runtime-6qzuLTJ7.js → runtime-HY1z-MOb.js} +8 -8
  24. package/dist/{runtime-6qzuLTJ7.js.map → runtime-HY1z-MOb.js.map} +1 -1
  25. package/dist/{search-executor-DlaLafvy.js → search-executor-OIy7kg74.js} +2 -2
  26. package/dist/{search-executor-DlaLafvy.js.map → search-executor-OIy7kg74.js.map} +1 -1
  27. package/dist/{server-sLrmWqKw.js → server-BMG_Uted.js} +3 -3
  28. package/dist/{server-sLrmWqKw.js.map → server-BMG_Uted.js.map} +1 -1
  29. package/dist/{supervise-D4CnC-cl.js → supervise-CDn-1ThW.js} +3 -3
  30. package/dist/{supervise-D4CnC-cl.js.map → supervise-CDn-1ThW.js.map} +1 -1
  31. package/dist/{supervisor-Cqhu3xH-.js → supervisor-B_mWdKva.js} +56 -7
  32. package/dist/supervisor-B_mWdKva.js.map +1 -0
  33. package/dist/testing.js +12 -12
  34. package/dist/tui/index.js +1 -1
  35. package/package.json +3 -3
  36. package/dist/supervisor-Cqhu3xH-.js.map +0 -1
@@ -17,6 +17,7 @@ import { homedir, hostname, tmpdir } from "node:os";
17
17
  import { stripVTControlCharacters } from "node:util";
18
18
  import { ATTR, deriveHexId, isW3CSpanId, isW3CTraceId } from "@tangle-network/agent-trace-contract";
19
19
  import { REDACTION_VERSION as REDACTION_VERSION$1, redact } from "@tangle-network/agent-eval/traces";
20
+ import { clearImmediate, setImmediate } from "node:timers";
20
21
  import { z } from "zod";
21
22
  import { Readable } from "node:stream";
22
23
  import { SDKError, generateIdempotencyKey, withRetry } from "@tangle-network/agent-core";
@@ -1971,6 +1972,7 @@ const compoundAxisLeaves = {
1971
1972
  "skills",
1972
1973
  "resourceAgents",
1973
1974
  "commands",
1975
+ "knowledge",
1974
1976
  "resourceInstructions",
1975
1977
  "resourceFailOnError"
1976
1978
  ],
@@ -12462,6 +12464,7 @@ const NATIVE_SETTLE_POLL_MS = 1e3;
12462
12464
  /** The two waits together leave a minute for Runtime to record a pending result before ten minutes. */
12463
12465
  const RETAINED_OBSERVATION_IDLE_MS = 8 * 6e4;
12464
12466
  const RETAINED_RESULT_WAIT_MS = 6e4;
12467
+ const RETAINED_OBSERVATION_BATCH_EVENTS = 1024;
12465
12468
  var RetainedReadTimeoutError = class extends Error {
12466
12469
  constructor(label, ms) {
12467
12470
  super(`retained provider ${label} did not settle within ${ms} ms`);
@@ -12598,6 +12601,7 @@ async function* streamProviderExecutor(args) {
12598
12601
  const usageEvent = usageSandboxEvent(event);
12599
12602
  if (usageEvent) yield* creditUsage(usageLedger.observe(usageEvent, args.profile.name ?? "agent"), usageEvent);
12600
12603
  yield* creditUsage(usageLedger.observe(sandboxEvent, args.profile.name ?? "agent"), sandboxEvent);
12604
+ if (source.retained && event.type === "result" && event.data.eventStreamComplete === false && event.data.usdKnown === false) sawUnknownCostReceipt = true;
12601
12605
  if (isTerminalEnvironmentEvent(event)) terminal = true;
12602
12606
  }
12603
12607
  yield* creditUsage(usageLedger.settleTurn(args.profile.name ?? "agent"));
@@ -12649,7 +12653,7 @@ async function* streamProviderExecutor(args) {
12649
12653
  box: environmentAsSandboxInstance(environment, { requireTerminalEvent: args.options.requireTerminalEvent ?? true }),
12650
12654
  signal: linked
12651
12655
  });
12652
- const deferCapture = ownerTakesCapture() && args.managerStopped();
12656
+ const deferCapture = ownerTakesCapture();
12653
12657
  let retainedWorkspace;
12654
12658
  let workspaceCaptureFailure;
12655
12659
  if (!deferCapture) {
@@ -13001,6 +13005,22 @@ async function providerExecutionSource(args, turn, signal) {
13001
13005
  const session = exactSession(environment, handle.controlRef).session;
13002
13006
  async function* events() {
13003
13007
  let observationFailure;
13008
+ let exactResult;
13009
+ let exactResultSettled = false;
13010
+ let observedFrames = 0;
13011
+ let framesAfterResult = 0;
13012
+ let observationBudgetExceeded = false;
13013
+ const readExactResult = () => {
13014
+ if (exactResult === void 0) {
13015
+ exactResult = awaitAbortable$1(Promise.resolve().then(() => handle.result()), signal);
13016
+ exactResult.then(() => {
13017
+ exactResultSettled = true;
13018
+ }, () => {
13019
+ exactResultSettled = true;
13020
+ });
13021
+ }
13022
+ return exactResult;
13023
+ };
13004
13024
  let lastReplayPosition;
13005
13025
  let sawTerminal = false;
13006
13026
  let lastObservedAt = Date.now();
@@ -13017,18 +13037,41 @@ async function providerExecutionSource(args, turn, signal) {
13017
13037
  }
13018
13038
  try {
13019
13039
  while (true) {
13040
+ if (framesAfterResult >= RETAINED_OBSERVATION_BATCH_EVENTS) {
13041
+ observationBudgetExceeded = true;
13042
+ break;
13043
+ }
13044
+ if (observedFrames > 0 && observedFrames % RETAINED_OBSERVATION_BATCH_EVENTS === 0) await awaitAbortable$1(new Promise((resolve) => setImmediate(resolve)), signal);
13020
13045
  let next;
13046
+ let wake;
13021
13047
  try {
13022
13048
  const remaining = observationIdleMs - (Date.now() - lastObservedAt);
13023
13049
  if (remaining <= 0) throw new RetainedReadTimeoutError("event stream", observationIdleMs);
13024
- next = await awaitRetainedRead(awaitAbortable$1(Promise.resolve().then(() => iterator.next()), signal), remaining, "event stream");
13050
+ const exactWake = new Promise((resolve) => {
13051
+ wake = setImmediate(() => {
13052
+ readExactResult().then(() => resolve({ kind: "exact-result" }), () => resolve({ kind: "exact-result" }));
13053
+ });
13054
+ });
13055
+ const observed = await awaitRetainedRead(Promise.race([awaitAbortable$1(Promise.resolve().then(() => iterator.next()), signal).then((value) => ({
13056
+ kind: "event",
13057
+ value
13058
+ })), exactWake]), remaining, "event stream");
13059
+ if (observed.kind === "exact-result") {
13060
+ observationFailure ??= { error: /* @__PURE__ */ new Error("retained provider stream remained open after its exact result") };
13061
+ break;
13062
+ }
13063
+ next = observed.value;
13025
13064
  } catch (error) {
13026
13065
  if (signal.aborted) throw error;
13027
13066
  observationFailure = { error };
13028
13067
  failed = true;
13029
13068
  break;
13069
+ } finally {
13070
+ if (wake !== void 0) clearImmediate(wake);
13030
13071
  }
13031
13072
  if (next.done) break;
13073
+ observedFrames += 1;
13074
+ if (exactResultSettled) framesAfterResult += 1;
13032
13075
  try {
13033
13076
  assertEventBinding(next.value, handle.controlRef);
13034
13077
  } catch (error) {
@@ -13057,11 +13100,11 @@ async function providerExecutionSource(args, turn, signal) {
13057
13100
  if (identity.cursor !== void 0) lastReplayPosition = identity.cursor;
13058
13101
  else if (eventId !== void 0) lastReplayPosition = eventId;
13059
13102
  if (isTerminalEnvironmentEvent(next.value)) sawTerminal = true;
13103
+ readExactResult();
13060
13104
  yield next.value;
13061
13105
  }
13062
13106
  } finally {
13063
- if (signal.aborted || failed) Promise.resolve().then(() => iterator?.return?.()).catch(() => void 0);
13064
- else await iterator?.return?.();
13107
+ Promise.resolve().then(() => iterator?.return?.()).catch(() => void 0);
13065
13108
  }
13066
13109
  return !failed;
13067
13110
  };
@@ -13077,10 +13120,14 @@ async function providerExecutionSource(args, turn, signal) {
13077
13120
  signal
13078
13121
  })))) observationFailure = firstFailure;
13079
13122
  }
13080
- if (!sawTerminal && observationFailure === void 0) observationFailure = { error: /* @__PURE__ */ new Error("retained provider stream ended without a terminal event") };
13123
+ if (observationBudgetExceeded) {
13124
+ await readExactResult();
13125
+ throw new RetainedExecutionPendingError(/* @__PURE__ */ new Error(`retained provider observation exceeded ${RETAINED_OBSERVATION_BATCH_EVENTS} frames after its exact result`), "unobservable");
13126
+ }
13127
+ if (!sawTerminal && observationFailure === void 0) observationFailure = { error: /* @__PURE__ */ new Error("retained provider stream did not yield a terminal event") };
13081
13128
  let result;
13082
13129
  try {
13083
- result = await awaitRetainedRead(awaitAbortable$1(handle.result(), signal), resultWaitMs, "exact result");
13130
+ result = await awaitRetainedRead(readExactResult(), resultWaitMs, "exact result");
13084
13131
  } catch (error) {
13085
13132
  if (signal.aborted) throw error;
13086
13133
  if (!sawTerminal && error instanceof RetainedReadTimeoutError) throw new RetainedExecutionPendingError(new AggregateError([observationFailure?.error, error], "retained event stream had no terminal event and its exact result is unavailable", { cause: error }), "terminal-event-lost");
@@ -13096,6 +13143,8 @@ async function providerExecutionSource(args, turn, signal) {
13096
13143
  usageMode: "cumulative",
13097
13144
  ...observationFailure === void 0 ? {} : {
13098
13145
  eventStreamComplete: false,
13146
+ ...result.usage === void 0 ? { tokensKnown: false } : {},
13147
+ ...result.usage?.cost === void 0 ? { usdKnown: false } : {},
13099
13148
  eventStreamError: String(defaultRedactor(observationFailure.error instanceof Error ? observationFailure.error.message : String(observationFailure.error))).slice(0, 2048)
13100
13149
  }
13101
13150
  },
@@ -30851,4 +30900,4 @@ function isNonEmptySpend(s) {
30851
30900
  //#endregion
30852
30901
  export { environmentReader as $, runtimeOwnedScopeOwnerRuntime as $i, parseWorkerToolTraceArtifact as $n, loopEventToOtelSpan as $r, PEER_MAIL_WIRE_KEY as $t, scopeOwnerExecutorNodeContext as A, promptOnlyProfileMaterialization as Ai, resolveAgentEnvironmentProvider as An, resolveHarnessTranscriptCapture as Ar, captureReusableExecutorConfig as At, consumeScopeRetainedOwnerResult as B, authoredProfileDigest as Bi, InMemoryResultBlobStore as Bn, mergeTraceEnv as Br, createInPlaceCliExecutor as Bt, deriveNodeExecutionIdentity as C, promptFromAgentTurnInput as Ca, assertProfileMaterializes as Ci, readPromptOptions as Cn, abortError as Cr, createContinuationKeeper as Ct, recordScopeOwnerMaterialization as D, profileMaterializationAxes$1 as Di, createAgentEnvironmentProviderRegistry as Dn, harnessTranscriptArtifact as Dr, passedItems as Dt, recordScopeOwnerDriverAttempt as E, fullProfileMaterialization as Ei, LEAF_CONTINUATION_TASK as En, captureHarnessTranscript as Er, failedItems as Et, seatExecutionProfile as F, unsupportedProfileDimensions as Fi, retainedExecutorSeamKey as Fn, runCodeMode as Fr, snapshotExecutorConfig as Ft, scopeRetainedOwnerContext as G, newExecutionAttemptId as Gi, replaySpawnTree as Gn, resolveRedactor as Gr, workerTraceSeamKey as Gt, prepareScopeRetainedOwnerSeatSwitch as H, inheritRuntimeOwnedExecutorAttestation as Hi, insideCursorNamespace as Hn, traceContextToEnv as Hr, readWorkerTraceContext as Ht, abandonScopeRetainedOwnerInvocation as I, validateProfileMaterialization as Ii, unavailablePauseMs as In, priceTokens as Ir, createWorktreeCliExecutor as It, scopeRetainedOwnerResourceReader as J, runtimeOwnedDriveHarnessProviderEvidence as Ji, readCommittedJsonLines as Jn, buildRuntimeEventOtelSpans as Jr, createActivityLog as Jt, scopeRetainedOwnerJournalRoot as K, providerAttemptEvidence as Ki, isNoEntError as Kn, buildLoopOtelSpans as Kr, taskToPrompt as Kt, beginScopeRetainedOwnerDrive as L, worktreeCliProfileMaterialization as Li, unavailableSignalOfFailure as Ln, routerTokenPrice as Lr, DEFAULT_SANDBOX_STEERING_MAX_TURNS as Lt, SeatChain as M, renderProfileMaterializationIssues as Mi, decodeToolPart as Mn, contentAddress as Mr, cliWorktreeExecutor as Mt, SeatChainExhaustedError as N, renderUnsupported as Ni, sandboxSessionTraceSource as Nn, createCodeModeTools as Nr, createExecutor as Nt, recordScopeOwnerPause as O, promptControlProfileMaterialization as Oi, providerAsExecutor as On, persistHarnessTranscript as Or, verdictFromJudgeScore as Ot, authoredSeatStages as P, sandboxActProfileMaterialization as Pi, registerRetainedExecutorPreparation as Pn, describeCodeModeTools as Pr, createExecutorRegistry as Pt, SPAWN_RESOURCE_PATH_MAX_BYTES as Q, runtimeOwnedPendingExecutorMaterialization as Qi, isTraceAnalysisStore as Qn, generateSpanId as Qr, DEFAULT_PEER_MAIL_LIMITS as Qt, bindScopeRetainedOwnerEnvironmentId as R, attestRuntimeOwnedPendingExecutor as Ri, FileResultBlobStore as Rn, ROUTER_PRICE_SOURCE as Rr, createSteerableSandboxSession as Rt, createScope as S, awaitAbortable$1 as Sa, assertProfileMaterialization as Si, assertBoxlessPromptOptions as Sn, RunCancellationReason as Sr, checkVerdictOf as St, meterRuntimeOwnedProviderAttempt as T, providerMessageText as Ta, defineProfileMaterializationContract as Ti, runBrainLoop as Tn, runAbortable as Tr, expandQuestions as Tt, prepareScopeRetainedOwnerTask as U, knownExecutionBindingReceipt as Ui, loadSpawnForest as Un, defaultRedactor as Ur, workerTraceEnv as Ut, noteScopeRetainedOwnerCoordination as V, finalizeRuntimeOwnedPendingExecutor as Vi, InMemorySpawnJournal as Vn, readTraceContextFromEnv as Vr, WORKER_TRACE_PROPAGATION as Vt, reconcileScopeRetainedOwnerEnvironment as W, knownMaterializationReceipt as Wi, materializeTreeView as Wn, defaultRedactorIdentityMaterial as Wr, workerTraceHeaders as Wt, scopeRetainedOwnerResult as X, runtimeOwnedExecutorMaterialization as Xi, WORKER_TOOL_TRACE_SCHEMA_VERSION as Xn, createOtelExporter as Xr, createInbox as Xt, scopeRetainedOwnerRestorePoint as Y, runtimeOwnedExecutorExecutionBinding as Yi, writeAllBytes as Yn, createOpenInferenceFileExporter as Yr, readWorkerProgress as Yt, scopeRetainedOwnerTurnEnded as Z, runtimeOwnedExecutorProviderEvidence as Zi, captureWorkerTraceEvidence as Zn, flatOtelSpan as Zr, AUTHORITY_MARKERS as Zt, isDriverSpec as _, sandboxEventServedBackend as _a, localHarnessExecutable as _i, runAgentRounds as _n, retainedCreateMaterial as _r, CONTINUATION_FACTS as _t, collectDelivered as a, detachedSnapshot as aa, sanitizeAgentRuntimeEvent as ai, isLiveNodeStatus as an, createBudgetPool as ar, interactiveAdmissionSeamKey as at, assertRecursiveReservationPolicy as b, decodeHarnessUsage as ba, terminateProcessTreeAndConfirm as bi, SandboxEvidenceRetentionError as bn, createWorkerSlots as br, admitFinding as bt, runTree as c, assertSandboxServedModel as ca, runSettledCommand as ci, bridgeModelRouteRefusal as cn, spendFromUsageEvents as cr, reconnectRetainedInteractiveRun as ct, classifyDriverFailure as d, createSandboxUsageLedger as da, createWorktree as di, harnessUsageIsEmpty as dn, bridgeStopSignalKey as dr, freeSlots as dt, unknownExecutionBindingReceipt as ea, padSpanId as ei, claimsAuthority as en, workerTraceAnalysisStore as er, hostDirectoryReader as et, runDriverWithRetry as f, extractLlmCallEvent as fa, removeWorktree as fi, readCodexRolloutSession as fn, errMessage as fr, queueOf as ft, driverExecutorFactory as g, notifySandboxEventObserver as ga, harnessSupportsReasoningEffort as gi, isTerminalDecision as gn, startRetainedRunInEnvironment as gr, CONTINUATIONS_DIR as gt, driverChild as h, mapSandboxToolEvent as ha, harnessInvocation as hi, defaultSelectWinner as hn, startRetainedRun as hr, mapExecutorResult as ht, bestDelivered as i, detachedFrozen as ia, createRuntimeStreamEventCollector as ii, peerMailVerbNames as in, assertValidBudget as ir, providerVisibleProfile as it, settledToIteration as j, promptResourceProfileMaterialization as ji, createPushTraceSource as jn, retainHarnessTranscript as jr, cliInPlaceExecutor as jt, restoreScopeOwnerAcceptedExecution as k, promptModelProfileMaterialization as ki, providerAsSandboxClient as kn, readHarnessTranscript as kr, bindReusableExecutorExecutionId as kt, DriverAttemptsExhaustedError as l, canonicalStreamEventFromSandboxEvent as la, runWorktreeHarness as li, addHarnessUsage as ln, spendFromUsageTotals as lr, recoverRetainedInteractiveRun as lt, upstreamUnavailableSignal as m, mapSandboxEvent as ma, LOCAL_HARNESSES as mi, createSandboxForSpec as mn, recoverRetainedRun as mr, gateOnDeliverable as mt, createRootHandle as n, executableAgentProfileSnapshot as na, toOtelAttributes as ni, isPeerMailEnvelope as nn, BudgetReconcileFault as nr, coordinationMcpAlias as nt, pickBestDelivered as o, projectSandboxOutcome as oa, sanitizeKnowledgeReadinessReport as oi, isTerminalNodeStatus as on, meterUsageEvent as or, attachWorker as ot, summarizeDriverAttempts as p, isSandboxTerminalEvent as pa, DEFAULT_LOCAL_HARNESS as pi, TERMINAL_DECISIONS as pn, reconnectRetainedRun as pr, rollingDispatch as pt, scopeRetainedOwnerPriorSpend as q, recordRuntimeOwnedDriveHarnessProviderEvidence as qi, prepareJsonlAppend as qn, buildLoopSpanNodes as qr, DEFAULT_STALL_AFTER_MS as qt, createSupervisor as r, executableAgentSpecSnapshot as ra, createRuntimeEventCollector as ri, peerMailTools as rn, ReservationWaitRefused as rr, coordinationProfileToolPrefix as rt, runFinalizer as s, readSandboxOutcome as sa, sanitizeRuntimeStreamEvent as si, bridgeAdmissionRefusal as sn, newUsageTotals as sr, readWorkerInteractiveBinding as st, DEFAULT_MAX_DEPTH as t, unknownMaterializationReceipt as ta, padTraceId as ti, createPeerMailbox as tn, executorFailure as tr, resolveSpawnResourcePaths as tt, HarnessTurnFailedError as u, createSandboxToolPartState as ua, captureWorktreeDiff as ui, createCodexRolloutStoreReader as un, bridgeRuntimeAttachmentsKey as ur, startRetainedInteractiveRun as ut, withDriverExecutor as v, sandboxProgressEvents as va, parseCodexTokenUsage as vi, createSandboxLineage as vn, destroyInteractiveEnvironment as vr, CheckUnavailableError as vt, meterRuntimeOwnedAccounting as w, promptOptionsFromAgentTurnInput as wa, controlProfileMaterialization as wi, routerBrain as wn, linkAbort as wr, distillFindings as wt, beginScopeOwnerAttempt as x, abortError$1 as xa, AGENT_PROFILE_MATERIALIZATION_AXES as xi, captureBeforeDestroy as xn, openSlotGroup as xr, bestComposite as xt, SUBTREE_RESULT_LIMIT as y, sumSandboxUsage as ya, CodexExecutionDiagnosticError as yi, acquireSandbox as yn, environmentGone as yr, admitContinuationPolicy as yt, bindScopeRetainedOwnerProvider as z, attestRuntimeOwnedScopeOwner as zi, FileSpawnJournal as zn, createPropagatingTraceEmitter as zr, createRouterTranscript as zt };
30853
30902
 
30854
- //# sourceMappingURL=supervisor-Cqhu3xH-.js.map
30903
+ //# sourceMappingURL=supervisor-B_mWdKva.js.map