@tangle-network/agent-runtime 0.232.0 → 0.233.1

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-LJ33ygpS.d.ts → activation-C8fPmjWa.d.ts} +2 -2
  2. package/dist/{activation-BXjgjus6.js → activation-D0_qcEXf.js} +2 -2
  3. package/dist/{activation-BXjgjus6.js.map → activation-D0_qcEXf.js.map} +1 -1
  4. package/dist/agent.d.ts +2 -2
  5. package/dist/agent.js +2 -2
  6. package/dist/{coordination-driver-hXWuo-1n.js → coordination-driver-BR52Rt39.js} +2 -2
  7. package/dist/{coordination-driver-hXWuo-1n.js.map → coordination-driver-BR52Rt39.js.map} +1 -1
  8. package/dist/{delegate-B8b6oHnj.js → delegate-CA-Tnr1_.js} +2 -2
  9. package/dist/{delegate-B8b6oHnj.js.map → delegate-CA-Tnr1_.js.map} +1 -1
  10. package/dist/durable.d.ts +11 -2
  11. package/dist/durable.js +6 -2
  12. package/dist/durable.js.map +1 -1
  13. package/dist/{graph-Ce7g744w.js → graph-BtMQMQin.js} +3 -3
  14. package/dist/{graph-Ce7g744w.js.map → graph-BtMQMQin.js.map} +1 -1
  15. package/dist/{improvement-cycle-CGAPVMst.js → improvement-cycle-WJJALdil.js} +3 -3
  16. package/dist/{improvement-cycle-CGAPVMst.js.map → improvement-cycle-WJJALdil.js.map} +1 -1
  17. package/dist/{index-BnEWL76W.d.ts → index-BwWBXoyq.d.ts} +17 -8
  18. package/dist/index.d.ts +6 -6
  19. package/dist/index.js +7 -7
  20. package/dist/intelligence.d.ts +3 -3
  21. package/dist/intelligence.js +3 -3
  22. package/dist/kernel.d.ts +4 -4
  23. package/dist/kernel.js +8 -8
  24. package/dist/{loop-runner-bin-Q47flacp.js → loop-runner-bin-7cS9NAmk.js} +3 -3
  25. package/dist/{loop-runner-bin-Q47flacp.js.map → loop-runner-bin-7cS9NAmk.js.map} +1 -1
  26. package/dist/{loop-runner-bin-BdobVmHx.d.ts → loop-runner-bin-DaOd42mA.d.ts} +3 -3
  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 +5 -5
  31. package/dist/mcp/index.js +4 -4
  32. package/dist/{openai-tools-Dl5AKEtq.d.ts → openai-tools-BdFqNlha.d.ts} +2 -2
  33. package/dist/profiles.d.ts +2 -2
  34. package/dist/{provision-supervisor-BXnC4uwd.js → provision-supervisor-BME3OgTk.js} +3 -3
  35. package/dist/{provision-supervisor-BXnC4uwd.js.map → provision-supervisor-BME3OgTk.js.map} +1 -1
  36. package/dist/{runtime-CcMvprwa.js → runtime-CcfA_ElB.js} +9 -8
  37. package/dist/{runtime-CcMvprwa.js.map → runtime-CcfA_ElB.js.map} +1 -1
  38. package/dist/{server-ClTO4X79.js → server-DU3nDuDb.js} +3 -3
  39. package/dist/{server-ClTO4X79.js.map → server-DU3nDuDb.js.map} +1 -1
  40. package/dist/{stream-agent-turn-nAvemLZR.d.ts → stream-agent-turn-aXpd9b_N.d.ts} +2 -2
  41. package/dist/{structural-rollout-C9z5pjxN.js → structural-rollout-YlkrevWE.js} +2 -2
  42. package/dist/{structural-rollout-C9z5pjxN.js.map → structural-rollout-YlkrevWE.js.map} +1 -1
  43. package/dist/{substrate-ijm9h_79.d.ts → substrate-B2Os0b0f.d.ts} +2 -2
  44. package/dist/{supervise-CLkM45VY.js → supervise-CAJWyXQ-.js} +3 -3
  45. package/dist/{supervise-CLkM45VY.js.map → supervise-CAJWyXQ-.js.map} +1 -1
  46. package/dist/{supervisor-BVAM5glY.js → supervisor-C2xWmESG.js} +144 -37
  47. package/dist/supervisor-C2xWmESG.js.map +1 -0
  48. package/dist/testing.d.ts +2 -2
  49. package/dist/testing.js +12 -12
  50. package/dist/tui/index.d.ts +1 -1
  51. package/dist/tui/index.js +1 -1
  52. package/dist/{types-C8Fj6hNL.d.ts → types-F5MG_7Qq.d.ts} +94 -5
  53. package/package.json +3 -3
  54. package/dist/supervisor-BVAM5glY.js.map +0 -1
package/dist/testing.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { $a as SuperviseTestOptions, $t as runGraphWithTestBrain, Ao as supervisorAgentWithTestBrain, Tn as driverAgent, Yt as RunGraphTestOptions, to as superviseWithTestBrain, wn as DriverAgentOptions, xo as SupervisorAgentTestDeps } from "./index-BnEWL76W.js";
2
- import { Dn as ToolLoopChat, En as ToolLoopCallContext } from "./stream-agent-turn-nAvemLZR.js";
1
+ import { $a as SuperviseTestOptions, $t as runGraphWithTestBrain, Ao as supervisorAgentWithTestBrain, Tn as driverAgent, Yt as RunGraphTestOptions, to as superviseWithTestBrain, wn as DriverAgentOptions, xo as SupervisorAgentTestDeps } from "./index-BwWBXoyq.js";
2
+ import { Dn as ToolLoopChat, En as ToolLoopCallContext } from "./stream-agent-turn-aXpd9b_N.js";
3
3
  import { AgentImprovementProposal, AgentProfile, AgentProfileImprovementMeasuredComparison, SandboxSizePreset } from "@tangle-network/agent-interface";
4
4
  //#region src/testing/index.d.ts
5
5
  /** A proposal produced by Runtime's opaque profile-improvement path. */
package/dist/testing.js CHANGED
@@ -1,14 +1,14 @@
1
- import { f as verifyAgentImprovementProposal } from "./improvement-cycle-CGAPVMst.js";
1
+ import { f as verifyAgentImprovementProposal } from "./improvement-cycle-WJJALdil.js";
2
2
  import { o as canonicalCandidateDigest$1, u as immutableCandidateValue } from "./protected-redaction-wGo44k2K.js";
3
3
  import { M as parseExactAgentProfile, w as applyExactAgentProfileDiff } from "./prepare-Dc30WRB0.js";
4
- import { p as supervisorAgentWithTestBrain, r as superviseWithTestBrain } from "./supervise-CLkM45VY.js";
5
- import { r as driverAgent } from "./coordination-driver-hXWuo-1n.js";
6
- import { i as runGraphWithTestBrain } from "./graph-Ce7g744w.js";
4
+ import { p as supervisorAgentWithTestBrain, r as superviseWithTestBrain } from "./supervise-CAJWyXQ-.js";
5
+ import { r as driverAgent } from "./coordination-driver-BR52Rt39.js";
6
+ import { i as runGraphWithTestBrain } from "./graph-BtMQMQin.js";
7
7
  import { SANDBOX_SIZE_PRESET_NAMES } from "@tangle-network/agent-interface";
8
8
  //#region src/testing/fixtures/agent-improvement-proposal.json
9
9
  var agent_improvement_proposal_default = {
10
10
  changedSurfaces: ["prompt"],
11
- digest: "sha256:201a9a98fbdc078d03c35314e4e03f34abaa36d7db394a11c4b1110bd036521c",
11
+ digest: "sha256:fcda921d124e3a3c3ffd35d6c762f2863dcc29960b7098b9ca889a4a3842b79d",
12
12
  evaluation: {
13
13
  "decision": {
14
14
  "contributingChecks": [
@@ -4579,7 +4579,7 @@ var agent_improvement_proposal_default = {
4579
4579
  ],
4580
4580
  "metadata": {
4581
4581
  "fixture": "agent-improvement-proposal",
4582
- "runtimeVersion": "0.232.0"
4582
+ "runtimeVersion": "0.233.1"
4583
4583
  },
4584
4584
  "objectives": [
4585
4585
  {
@@ -4690,8 +4690,8 @@ var agent_improvement_proposal_default = {
4690
4690
  "baselineContentHash": "sha256:5c21ee53e513fc604cb09754e21c392b24a424da0ef37dbf8f1ee4a8a0b08f09",
4691
4691
  "candidateContentHash": "sha256:60fcbb1c728194bd51d7d19cb732d1c3f1881dce7e0a6266b41c8b98cfd65693",
4692
4692
  "kind": "agent-eval-loop",
4693
- "recordDigest": "sha256:d26f696c1a140606d4e75b1ade7a03f08ce13f4fc4fdfe0527d2fbb4717e438d",
4694
- "runId": "agent-runtime-0.232.0-proposal-fixture",
4693
+ "recordDigest": "sha256:b13fd55539afd15bdff24e2b258fb8793d103a629511f433758c32eeedc68182",
4694
+ "runId": "agent-runtime-0.233.1-proposal-fixture",
4695
4695
  "schema": "agent-candidate-experiment"
4696
4696
  }
4697
4697
  },
@@ -4714,13 +4714,13 @@ var agent_improvement_proposal_default = {
4714
4714
  }],
4715
4715
  kind: "agent-improvement-proposal",
4716
4716
  proposedAt: "2026-07-10T01:00:00.000Z",
4717
- runId: "agent-runtime-0.232.0-proposal-fixture"
4717
+ runId: "agent-runtime-0.233.1-proposal-fixture"
4718
4718
  };
4719
4719
  //#endregion
4720
4720
  //#region src/testing/fixtures/agent-profile-improvement-proposal.json
4721
4721
  var agent_profile_improvement_proposal_default = {
4722
4722
  changedSurfaces: ["prompt", "skills"],
4723
- digest: "sha256:702dc1a85ce46804d67de7fd179bd69f6af0027dca7b6a99c46ab7f159bf7f5f",
4723
+ digest: "sha256:820acd9c859c559efd8d38971a9b54772e4198d96f4cba32a094cf9859476699",
4724
4724
  evaluation: {
4725
4725
  "decision": {
4726
4726
  "contributingChecks": [
@@ -6354,7 +6354,7 @@ var agent_profile_improvement_proposal_default = {
6354
6354
  ],
6355
6355
  "metadata": {
6356
6356
  "fixture": "agent-profile-improvement-proposal",
6357
- "runtimeVersion": "0.232.0"
6357
+ "runtimeVersion": "0.233.1"
6358
6358
  },
6359
6359
  "objectives": [
6360
6360
  {
@@ -6465,7 +6465,7 @@ var agent_profile_improvement_proposal_default = {
6465
6465
  "baselineContentHash": "sha256:21c495a37c418c10bde64fbaa188beddeed31f1f051ea60a6a6582a9ee0db704",
6466
6466
  "candidateContentHash": "sha256:103f77bc8481601eef1ad5fe6ba84a40dffabc3a44f421f8c8559121edab84e9",
6467
6467
  "kind": "agent-eval-loop",
6468
- "recordDigest": "sha256:6a55eeeef02f261ce41fa35063839ec37d0b64815dae2517e9d92c75dd2585ce",
6468
+ "recordDigest": "sha256:e8e375b262bf2dbaa895afcf863ffb4ffe09c383988a66aa08e09c017d949809",
6469
6469
  "runId": "profile-improvement-1",
6470
6470
  "schema": "agent-profile-improvement-experiment"
6471
6471
  }
@@ -1,4 +1,4 @@
1
- import { Ct as ProvisionedSupervisor, St as ProvisionSupervisorRequest, Tt as provisionSupervisor, wt as SupervisorCleanupReceipt, xt as ProvisionSupervisorConnection } from "../index-BnEWL76W.js";
1
+ import { Ct as ProvisionedSupervisor, St as ProvisionSupervisorRequest, Tt as provisionSupervisor, wt as SupervisorCleanupReceipt, xt as ProvisionSupervisorConnection } from "../index-BwWBXoyq.js";
2
2
  //#region src/tui/top-app.d.ts
3
3
  /**
4
4
  * The interactive side of the supervisor-run TUI: a keypress/mouse loop over the frames
package/dist/tui/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { t as provisionSupervisor } from "../provision-supervisor-BXnC4uwd.js";
1
+ import { t as provisionSupervisor } from "../provision-supervisor-BME3OgTk.js";
2
2
  import { a as renderTopFrameWithLayout, i as renderTopFrame, n as runTopApp, r as loadTopSnapshot, t as renderTopOnce } from "../top-app-CMMd8DgR.js";
3
3
  export { loadTopSnapshot, provisionSupervisor, renderTopFrame, renderTopFrameWithLayout, renderTopOnce, runTopApp };
@@ -3510,6 +3510,13 @@ type Settled<Out> = {
3510
3510
  providerModel?: ProviderModelExecutionEvidence;
3511
3511
  /** Present when the spend reconciled for this child exceeded its reservation. */
3512
3512
  budgetViolation?: BudgetViolation;
3513
+ /** Present only when this child's provider execution was RETAINED (see
3514
+ * `RetainedExecutionState`); absent on an ordinary down. `'pending'` on the settlement the
3515
+ * driver receives at the reconcile; `'released'` on the replayed settlement of a node the
3516
+ * release sweep closed. The driver and every replay reader see the fact the journal
3517
+ * states, so a reader never splits this population on `reason` text — which is identical
3518
+ * on every one of these children. */
3519
+ retainedExecution?: RetainedExecutionState;
3513
3520
  /** Epoch ms parsed from the durable settlement/cancellation record when available. */
3514
3521
  settledAt?: number;
3515
3522
  seq: number;
@@ -3750,6 +3757,11 @@ interface NodeSnapshot {
3750
3757
  readonly trace?: WorkerTraceEvidence;
3751
3758
  /** Present once a settled node's measured spend exceeded its reservation. */
3752
3759
  readonly budgetViolation?: BudgetViolation;
3760
+ /** Present on a retained child: `'pending'` while its cursor slot is open, `'released'` once
3761
+ * the release sweep closed it. The live view (`makeTreeView`) and the journal view
3762
+ * (`materializeTreeView`) state the same fact, so a settle record's `tree` answers the
3763
+ * retained-vs-down question without the observer journal. */
3764
+ readonly retainedExecution?: RetainedExecutionState;
3753
3765
  }
3754
3766
  /** The live tree — what `scope.view` / `RootHandle.view()` materialize for a viewer. */
3755
3767
  interface TreeView {
@@ -3850,6 +3862,17 @@ type SpawnEvent = {
3850
3862
  harnessTranscript?: HarnessTranscriptEvidence;
3851
3863
  /** Present when the reconciled spend exceeded the reservation, on either status. */
3852
3864
  budgetViolation?: BudgetViolation;
3865
+ /** Written only by the release sweep, on the same tree, after every `environment-teardown`
3866
+ * receipt for the node reads `destroyed: true` and the executor's own teardown confirmed.
3867
+ * `spent` is this node's child-work component of the reconcile the pool committed — for
3868
+ * a leaf the streamed floor itself, for a recursive executor its `accounting().reported`
3869
+ * split with the remainder on its `metered` records — never the reservation ceiling.
3870
+ * `reason`/`infra`/`trace`/`harnessTranscript`/`outRef`/`providerModel` are the
3871
+ * settlement the driver received, verbatim; `seq` is the cursor seq stamped on that
3872
+ * delivery, so replay yields it at the position the driver saw it; `at` is the settlement
3873
+ * instant, and the release instant is on the receipt immediately before it. Typed so a
3874
+ * `'pending'` can never be journaled: the journal states that as `reconciled`. */
3875
+ retainedExecution?: Extract<RetainedExecutionState, 'released'>;
3853
3876
  seq: number;
3854
3877
  at: string;
3855
3878
  } | {
@@ -3866,6 +3889,9 @@ type SpawnEvent = {
3866
3889
  harnessTranscript?: HarnessTranscriptEvidence;
3867
3890
  outRef?: string;
3868
3891
  budgetViolation?: BudgetViolation;
3892
+ /** As on `settled`: a retained child that was cancelled settles `cancelled`, and the one
3893
+ * builder writes whichever kind the settlement had. */
3894
+ retainedExecution?: Extract<RetainedExecutionState, 'released'>;
3869
3895
  seq: number;
3870
3896
  at: string;
3871
3897
  } | {
@@ -3969,7 +3995,9 @@ type SpawnEvent = {
3969
3995
  * observed, while its cursor slot stays OPEN so a resume can recover the execution. It stands
3970
3996
  * in for the `settled` record an open node cannot carry: cost readers and a restored pool
3971
3997
  * charge this floor for the node instead of its declared ceiling, and a later `settled` or
3972
- * `cancelled` record for the same node supersedes it. A driver's own inference travels on its
3998
+ * `cancelled` record for the same node supersedes it. That record has two writers: a
3999
+ * resumed process's recovered settlement, or the release sweep's terminal record marked
4000
+ * `retainedExecution: 'released'`. A driver's own inference travels on its
3973
4001
  * `metered` record as on every other path, so `reconciled + metered` is what the pool
3974
4002
  * committed. Its `seq` lives outside the cursor-uniqueness namespace. */
3975
4003
  kind: 'reconciled';
@@ -4002,7 +4030,11 @@ type SpawnEvent = {
4002
4030
  * the environment its executor kept for recovery could never be recovered; this is the
4003
4031
  * receipt of the supervisor's release, one per environment, naming the provider's own id
4004
4032
  * so a fleet listing can be reconciled against it. A `destroyed: false` receipt carries why
4005
- * in `detail`, and the node is then also journaled as `teardown-unconfirmed`.
4033
+ * in `detail`, and the node is then also journaled as `teardown-unconfirmed`. When every
4034
+ * receipt for a node is `destroyed: true` and the executor confirms teardown, the node's
4035
+ * terminal `settled`/`cancelled` record with `retainedExecution: 'released'` follows on
4036
+ * the same tree and closes the cursor slot; a `destroyed: false` receipt or an unconfirmed
4037
+ * teardown leaves the slot open because the environment may still exist.
4006
4038
  * Informational: replay, `materializeTreeView`, and cost readers skip it, and its `seq` is
4007
4039
  * per node, outside the cursor-uniqueness namespace. */
4008
4040
  kind: 'environment-teardown';
@@ -4154,7 +4186,11 @@ interface SupervisorOpts {
4154
4186
  * - `'release'`: the run will not be resumed, so nothing would ever reconcile or release those
4155
4187
  * environments. The join barrier releases each one and journals an `environment-teardown`
4156
4188
  * receipt per environment. Measured 2026-09-11: four settled runs held 18 of a 60-slot
4157
- * Sandbox fleet for 19 to 37 hours without it.
4189
+ * Sandbox fleet for 19 to 37 hours without it. It then closes each released child's cursor
4190
+ * slot with a terminal record marked `retainedExecution: 'released'`, so `spendGaps` names
4191
+ * it `unreported` (a floor) rather than `never-settled` (a ceiling) and
4192
+ * `fleetYield.releasedUnrecovered` counts it; a refused release leaves the slot open and
4193
+ * the node in `teardownUnconfirmed`.
4158
4194
  * - `'keep'`: a later process may resume this run, so the environments stay for its recovery.
4159
4195
  *
4160
4196
  * Default: `'keep'` when `resume` is true (a durable run a later process may continue), else
@@ -4260,6 +4296,53 @@ interface SpendGap {
4260
4296
  readonly kind: 'never-settled' | 'unreported';
4261
4297
  readonly channels: ReadonlyArray<SpendChannel>;
4262
4298
  }
4299
+ /**
4300
+ * The recorded fate of a child whose provider execution was RETAINED: admitted durably, with no
4301
+ * accepted terminal result when local observation stopped (the `RetainedExecutionPendingError`
4302
+ * path). Not a failure classification — the child is `down` either way.
4303
+ *
4304
+ * - `'pending'`: the reservation was reconciled at a floor, the cursor slot is open, and the
4305
+ * environment is kept so a resume can reconcile the paid execution. Only ever on the in-memory
4306
+ * `Settled` and the first `agent.child` payload; the journal states it as the `reconciled`
4307
+ * record and replay never yields it. For an executor without `releaseRetained` it means only
4308
+ * that nothing could be released.
4309
+ * - `'released'`: root settlement under `retainedAtSettlement: 'release'` destroyed the
4310
+ * environment (executor-confirmed) before any process recovered the execution; this is the
4311
+ * node's terminal record. The pool's own admission fault, if the reconcile raised one, is not
4312
+ * on this record.
4313
+ *
4314
+ * Absent = an ordinary child. The live `Settled` a driver branched on carried `'pending'` where
4315
+ * replay yields `'released'` for the same seq, so a resume-aware driver must not branch on the
4316
+ * two values. No `'recovered'` value exists yet: a live-adopted recovery settles on the ordinary
4317
+ * path and the recorded-result path writes no marker.
4318
+ */
4319
+ type RetainedExecutionState = 'pending' | 'released';
4320
+ /**
4321
+ * How this run's spawned CHILDREN ended, counted by node id off the complete journal FOREST at
4322
+ * root settlement — after the join barrier and the release sweep, so the terminal records the
4323
+ * sweep wrote are included, and forest-wide so a director's grandchildren count (the population
4324
+ * the observer projection shows). Invariant: `spawned === done + down + cancelled + neverSettled`.
4325
+ * Distinct from a no-winner's `downCount`, the breaker's tally of ordinary down settlements: a
4326
+ * released record is the driver's earlier down re-stated, so the breaker skips it and
4327
+ * `downCount` never includes a retained child, while `down` here does. `spendGaps` stays
4328
+ * root-tree scoped, so on a nested run the two disagree by design.
4329
+ */
4330
+ interface FleetYield {
4331
+ /** Every `spawned` record with a parent; the run root and an owned tree's re-rooted owner copy
4332
+ * are exempt. */
4333
+ readonly spawned: number;
4334
+ readonly done: number;
4335
+ /** `settled` records with `status: 'down'`, released records included. */
4336
+ readonly down: number;
4337
+ readonly cancelled: number;
4338
+ /** Spawned with no terminal record: a crash-orphaned child, a refused release, or a retained
4339
+ * executor with nothing to release. Named after `SpendGap`'s `never-settled`. */
4340
+ readonly neverSettled: number;
4341
+ /** Terminal records marked `retainedExecution: 'released'` — a subset of `down + cancelled`.
4342
+ * A nested manager whose OWN retained execution was released counts here beside the
4343
+ * grandchildren it released, because its execution was destroyed unrecovered too. */
4344
+ readonly releasedUnrecovered: number;
4345
+ }
4263
4346
  /**
4264
4347
  * One channel on which a settled reservation's measured spend exceeded what it reserved.
4265
4348
  * `tokens` is in the pool's charged unit (`chargedTokens`), `usd` is measured dollars, and a
@@ -4312,6 +4395,8 @@ type SupervisedResult<Out> = {
4312
4395
  /** The journaled nodes whose usage accounting is incomplete — the named gaps behind a
4313
4396
  * `false` `tokensKnown`/`usdKnown` on `spentTotal`. Present exactly when non-empty. */
4314
4397
  spendGaps?: ReadonlyArray<SpendGap>;
4398
+ /** How the fleet ended, see `FleetYield`. Always present: zeros are facts. */
4399
+ fleetYield: FleetYield;
4315
4400
  /** Where `spentTotal` went: `driverInference` = the drivers' own chat turns (metered via
4316
4401
  * `Scope.meter`); `childWork` = every spawned child's reconciled spend (the journal sum).
4317
4402
  * `driverInference + childWork === spentTotal` on `iterations`/`tokens`/`usd`; the
@@ -4357,6 +4442,8 @@ type SupervisedResult<Out> = {
4357
4442
  /** The journaled nodes whose usage accounting is incomplete — the named gaps behind a
4358
4443
  * `false` `tokensKnown`/`usdKnown` on `spentTotal`. Present exactly when non-empty. */
4359
4444
  spendGaps?: ReadonlyArray<SpendGap>;
4445
+ /** How the fleet ended, see `FleetYield`. Always present: zeros are facts. */
4446
+ fleetYield: FleetYield;
4360
4447
  /** Never present on a lifecycle arm — the discriminant, not prose, is what makes
4361
4448
  * `if (r.reason === 'driver-failed') r.error.message` compile and every other arm refuse it. */
4362
4449
  error?: never;
@@ -4404,6 +4491,8 @@ type SupervisedResult<Out> = {
4404
4491
  /** The journaled nodes whose usage accounting is incomplete — the named gaps behind a
4405
4492
  * `false` `tokensKnown`/`usdKnown` on `spentTotal`. Present exactly when non-empty. */
4406
4493
  spendGaps?: ReadonlyArray<SpendGap>;
4494
+ /** How the fleet ended, see `FleetYield`. Always present: zeros are facts. */
4495
+ fleetYield: FleetYield;
4407
4496
  /** The driver's own rejection, carried across the typed no-winner boundary so the failure is
4408
4497
  * recoverable by the caller. A non-`Error` rejection is normalized, never dropped. */
4409
4498
  error: NoWinnerError;
@@ -4453,5 +4542,5 @@ interface WidenGate<Out> {
4453
4542
  readonly judgeExempt?: boolean;
4454
4543
  }
4455
4544
  //#endregion
4456
- export { Spend as $, NativeContextContinuationHandle as $n, LoopTokenUsage as $r, RuntimeStreamEventSummary as $t, NodeSnapshot as A, BackendErrorDetail as Ai, ExecutorProgress as An, ReservationHolder as Ar, EvalRunsExportConfig as At, RootHandle as B, RuntimeStreamEvent as Bi, RetainedInteractiveStartMaterial as Bn, Iteration as Br, buildLoopSpanNodes as Bt, ExecutorToolCall as C, AgentKnowledgeProvider as Ci, TraceSource as Cn, StartRetainedRunInEnvironmentOptions as Cr, TraceContext as Ct, NoWinnerError as D, AgentTaskRunResult as Di, ActivityLog as Dn, BudgetReadout as Dr, traceContextToEnv as Dt, MaterializedModelIdentity as E, AgentTaskContext as Ei, sandboxSessionTraceSource as En, BudgetPoolRestore as Er, readTraceContextFromEnv as Et, ResourceLimit as F, RunAgentTaskOptions as Fi, ReconnectRetainedInteractiveRunOptions as Fn, spendFromUsageEvents as Fr, OtelExportConfig as Ft, Runtime as G, HarnessTranscriptFile as Gn, LoopIterationStartedPayload as Gr, generateSpanId as Gt, RootProviderModelEvidence as H, HarnessTranscriptArtifact as Hn, LoopEndedPayload as Hr, createOpenInferenceFileExporter as Ht, ResourceSpend as I, RunAgentTaskStreamOptions as Ii, RecoverRetainedInteractiveRunOptions as In, AgentRunSpec as Ir, OtelExporter as It, SpawnEvent as J, ReadableEnvironment as Jn, LoopPlanPayload as Jr, padTraceId as Jt, Scope as K, HarnessTranscriptUnavailable as Kn, LoopLineageOptions as Kr, loopEventToOtelSpan as Kt, ResultBlobStore as L, RuntimeCanonicalStreamEvent as Li, RetainedInteractiveAdmissionHook as Ln, DefaultVerdict$1 as Lr, OtelSpan as Lt, ProfileMaterializationReceipt as M, OpenAIChatResponseFormat as Mi, WorkerProgress as Mn, ReservationStage as Mr, INTELLIGENCE_WIRE_VERSION as Mt, ProviderModelAttemptEvidence as N, OpenAIChatTool as Ni, createActivityLog as Nn, ReservationTicket as Nr, LoopSpanNode as Nt, NodeExecutionIdentity as O, AgentTaskSpec as Oi, ActivityNote as On, BudgetReconcileFault as Or, EvalRunEvent as Ot, ProviderModelExecutionEvidence as P, OpenAIChatToolChoice as Pi, readWorkerProgress as Pn, createBudgetPool as Pr, OtelAttribute as Pt, SpawnRejection as Q, NativeContextContinuationExecution as Qn, LoopTeardownFailedPayload as Qr, RuntimeStreamEventSink as Qt, ResumedKeyState as R, RuntimeSession as Ri, RetainedInteractiveEnvironmentInput as Rn, Driver as Rr, RuntimeEventOtelOptions as Rt, ExecutorTeardownWarning as S, AgentExecutionBackend as Si, ToolStepInput as Sn, RetainedRunTurnInput as Sr, workerTraceSeamKey as St, MaterializedExecutionIdentity as T, AgentRuntimeEventSink as Ti, decodeToolPart as Tn, BudgetPool as Tr, mergeTraceEnv as Tt, RootSignal as U, HarnessTranscriptCapture as Un, LoopIterationDispatchPayload as Ur, createOtelExporter as Ut, RootMaterialization as V, StartRetainedInteractiveRunOptions as Vn, LoopDecisionPayload as Vr, buildRuntimeEventOtelSpans as Vt, RootStreamReceipt as W, HarnessTranscriptEvidence as Wn, LoopIterationEndedPayload as Wr, exportEvalRuns as Wt, SpawnOpts as X, harnessTranscriptArtifact as Xn, LoopSandboxPlacement as Xr, RuntimeEventCollector as Xt, SpawnJournal as Y, captureHarnessTranscript as Yn, LoopResult as Yr, toOtelAttributes as Yt, SpawnPrior as Z, persistHarnessTranscript as Zn, LoopStartedPayload as Zr, RuntimeStreamEventCollector as Zt, ExecutorMaterialization as _, RuntimeRunStatus as _i, timerAt as _n, RetainedRunHandle as _r, WorkerTraceResolver as _t, BudgetOverspend as a, OutputAdapter as ai, sanitizeAgentRuntimeEvent as an, RetainedInteractiveAdmission as ar, SupervisorOpts as at, ExecutorRegistry as b, AgentBackendContext as bi, SessionMessageLike as bn, RetainedRunSnapshot as br, workerTraceEnv as bt, EnvironmentTeardownReceipt as c, SelectionReceipt as ci, PendingWait as cn, RetainedInteractiveStartedAdmission as cr, UnconfirmedTeardown as ct, ExecutorAccounting as d, RuntimeRunCompleteInput as di, WaitProbeRegistry as dn, RetainedRunCancelOptions as dr, WaitOpts as dt, LoopTraceEmitter as ei, RuntimeTelemetryOptions as en, NativeContextContinuationInput as er, SpendChannel as et, ExecutorCancellation as f, RuntimeRunCost as fi, WaitRejection as fn, RetainedRunCancellation as fr, WidenGate as ft, ExecutorFactory as g, RuntimeRunRow as gi, pollFor as gn, RetainedRunEventOptions as gr, WorkerTraceUnavailableReason as gt, ExecutorExecutionBinding as h, RuntimeRunPersistenceAdapter as hi, isWaitOutcome as hn, RetainedRunEnvironmentAdmission as hr, WorkerTraceEvidence as ht, Budget as i, MountRecorder as ii, createRuntimeStreamEventCollector as in, RecoverRetainedRunResult as ir, Supervisor as it, NodeStatus as j, KnowledgeReadinessDecision as ji, ScopeProgressInput as jn, ReservationRejection as jr, EvalRunsExportResult as jt, NodeId as k, AgentTaskStatus as ki, DEFAULT_STALL_AFTER_MS as kn, LeakedReservation as kr, EvalRunGeneration as kt, ExecutionBindingReceipt as l, ValidationCtx as li, WaitOutcome as ln, RetainedRunAdmission as lr, UnknownMaterializationReason as lt, ExecutorContext as m, RuntimeRunOptions as mi, createWaitProbes as mn, RetainedRunEffect as mr, WorkerInteractiveUnavailableReason as mt, AgentExecutionRef as n, LoopWinner as ni, SanitizedKnowledgeRequirement as nn, RecoverRetainedRunIntentOptions as nr, SteerableRootHandle as nt, BudgetViolation as o, RunProvenance as oi, sanitizeKnowledgeReadinessReport as on, RetainedInteractiveEnvironmentAdmission as or, TokenUsageProvenance as ot, ExecutorCancellationRequest as p, RuntimeRunHandle as pi, WaitSpec as pn, RetainedRunDispatchedAdmission as pr, WorkerInteractiveSession as pt, Settled as q, HarnessTranscriptUnavailableReason as qn, LoopPlanDescription as qr, padSpanId as qt, AgentSpec as r, MountManifestEntry as ri, createRuntimeEventCollector as rn, RecoverRetainedRunOptions as rr, SupervisedResult as rt, DefaultVerdict as s, SandboxClient as si, sanitizeRuntimeStreamEvent as sn, RetainedInteractiveIntentAdmission as sr, TreeView as st, Agent as t, LoopTraceEvent as ti, SanitizedKnowledgeReadinessReport as tn, ReconnectRetainedRunOptions as tr, SpendGap as tt, Executor as u, Validator as ui, WaitProbe as un, RetainedRunAdmissionHook as ur, UsageEvent as ut, ExecutorNodeContext as v, startRuntimeRun as vi, validateWaitSpec as vn, RetainedRunIntentAdmission as vr, WorkerTraceSeamCarrier as vt, Handle as w, AgentRuntimeEvent as wi, createPushTraceSource as wn, StartRetainedRunOptions as wr, createPropagatingTraceEmitter as wt, ExecutorResult as x, AgentBackendInput as xi, SessionTraceBox as xn, RetainedRunStartMaterial as xr, workerTraceHeaders as xt, ExecutorProgressEvent as y, AgentAdapter as yi, waitUntil as yn, RetainedRunReplayPoint as yr, readWorkerTraceContext as yt, ResumedWork as z, RuntimeSessionStore as zi, RetainedInteractiveRunHandle as zn, ExecCtx as zr, buildLoopOtelSpans as zt };
4457
- //# sourceMappingURL=types-C8Fj6hNL.d.ts.map
4545
+ export { SpawnPrior as $, persistHarnessTranscript as $n, LoopStartedPayload as $r, RuntimeStreamEventCollector as $t, NodeId as A, AgentTaskSpec as Ai, ActivityNote as An, BudgetReconcileFault as Ar, EvalRunEvent as At, ResumedWork as B, RuntimeSession as Bi, RetainedInteractiveEnvironmentInput as Bn, Driver as Br, RuntimeEventOtelOptions as Bt, ExecutorToolCall as C, AgentBackendInput as Ci, SessionTraceBox as Cn, RetainedRunStartMaterial as Cr, workerTraceHeaders as Ct, MaterializedModelIdentity as D, AgentRuntimeEventSink as Di, decodeToolPart as Dn, BudgetPool as Dr, mergeTraceEnv as Dt, MaterializedExecutionIdentity as E, AgentRuntimeEvent as Ei, createPushTraceSource as En, StartRetainedRunOptions as Er, createPropagatingTraceEmitter as Et, ProviderModelExecutionEvidence as F, OpenAIChatTool as Fi, createActivityLog as Fn, ReservationTicket as Fr, LoopSpanNode as Ft, RootSignal as G, HarnessTranscriptCapture as Gn, LoopIterationDispatchPayload as Gr, createOtelExporter as Gt, RootHandle as H, RuntimeStreamEvent as Hi, RetainedInteractiveStartMaterial as Hn, Iteration as Hr, buildLoopSpanNodes as Ht, ResourceLimit as I, OpenAIChatToolChoice as Ii, readWorkerProgress as In, createBudgetPool as Ir, OtelAttribute as It, Scope as J, HarnessTranscriptUnavailable as Jn, LoopLineageOptions as Jr, loopEventToOtelSpan as Jt, RootStreamReceipt as K, HarnessTranscriptEvidence as Kn, LoopIterationEndedPayload as Kr, exportEvalRuns as Kt, ResourceSpend as L, RunAgentTaskOptions as Li, ReconnectRetainedInteractiveRunOptions as Ln, spendFromUsageEvents as Lr, OtelExportConfig as Lt, NodeStatus as M, BackendErrorDetail as Mi, ExecutorProgress as Mn, ReservationHolder as Mr, EvalRunsExportConfig as Mt, ProfileMaterializationReceipt as N, KnowledgeReadinessDecision as Ni, ScopeProgressInput as Nn, ReservationRejection as Nr, EvalRunsExportResult as Nt, NoWinnerError as O, AgentTaskContext as Oi, sandboxSessionTraceSource as On, BudgetPoolRestore as Or, readTraceContextFromEnv as Ot, ProviderModelAttemptEvidence as P, OpenAIChatResponseFormat as Pi, WorkerProgress as Pn, ReservationStage as Pr, INTELLIGENCE_WIRE_VERSION as Pt, SpawnOpts as Q, harnessTranscriptArtifact as Qn, LoopSandboxPlacement as Qr, RuntimeEventCollector as Qt, ResultBlobStore as R, RunAgentTaskStreamOptions as Ri, RecoverRetainedInteractiveRunOptions as Rn, AgentRunSpec as Rr, OtelExporter as Rt, ExecutorTeardownWarning as S, AgentBackendContext as Si, SessionMessageLike as Sn, RetainedRunSnapshot as Sr, workerTraceEnv as St, Handle as T, AgentKnowledgeProvider as Ti, TraceSource as Tn, StartRetainedRunInEnvironmentOptions as Tr, TraceContext as Tt, RootMaterialization as U, StartRetainedInteractiveRunOptions as Un, LoopDecisionPayload as Ur, buildRuntimeEventOtelSpans as Ut, RetainedExecutionState as V, RuntimeSessionStore as Vi, RetainedInteractiveRunHandle as Vn, ExecCtx as Vr, buildLoopOtelSpans as Vt, RootProviderModelEvidence as W, HarnessTranscriptArtifact as Wn, LoopEndedPayload as Wr, createOpenInferenceFileExporter as Wt, SpawnEvent as X, ReadableEnvironment as Xn, LoopPlanPayload as Xr, padTraceId as Xt, Settled as Y, HarnessTranscriptUnavailableReason as Yn, LoopPlanDescription as Yr, padSpanId as Yt, SpawnJournal as Z, captureHarnessTranscript as Zn, LoopResult as Zr, toOtelAttributes as Zt, ExecutorMaterialization as _, RuntimeRunPersistenceAdapter as _i, isWaitOutcome as _n, RetainedRunEnvironmentAdmission as _r, WorkerTraceEvidence as _t, BudgetOverspend as a, MountManifestEntry as ai, createRuntimeEventCollector as an, RecoverRetainedRunOptions as ar, SupervisedResult as at, ExecutorRegistry as b, startRuntimeRun as bi, validateWaitSpec as bn, RetainedRunIntentAdmission as br, WorkerTraceSeamCarrier as bt, EnvironmentTeardownReceipt as c, RunProvenance as ci, sanitizeKnowledgeReadinessReport as cn, RetainedInteractiveEnvironmentAdmission as cr, TokenUsageProvenance as ct, ExecutorAccounting as d, ValidationCtx as di, WaitOutcome as dn, RetainedRunAdmission as dr, UnknownMaterializationReason as dt, LoopTeardownFailedPayload as ei, RuntimeStreamEventSink as en, NativeContextContinuationExecution as er, SpawnRejection as et, ExecutorCancellation as f, Validator as fi, WaitProbe as fn, RetainedRunAdmissionHook as fr, UsageEvent as ft, ExecutorFactory as g, RuntimeRunOptions as gi, createWaitProbes as gn, RetainedRunEffect as gr, WorkerInteractiveUnavailableReason as gt, ExecutorExecutionBinding as h, RuntimeRunHandle as hi, WaitSpec as hn, RetainedRunDispatchedAdmission as hr, WorkerInteractiveSession as ht, Budget as i, LoopWinner as ii, SanitizedKnowledgeRequirement as in, RecoverRetainedRunIntentOptions as ir, SteerableRootHandle as it, NodeSnapshot as j, AgentTaskStatus as ji, DEFAULT_STALL_AFTER_MS as jn, LeakedReservation as jr, EvalRunGeneration as jt, NodeExecutionIdentity as k, AgentTaskRunResult as ki, ActivityLog as kn, BudgetReadout as kr, traceContextToEnv as kt, ExecutionBindingReceipt as l, SandboxClient as li, sanitizeRuntimeStreamEvent as ln, RetainedInteractiveIntentAdmission as lr, TreeView as lt, ExecutorContext as m, RuntimeRunCost as mi, WaitRejection as mn, RetainedRunCancellation as mr, WidenGate as mt, AgentExecutionRef as n, LoopTraceEmitter as ni, RuntimeTelemetryOptions as nn, NativeContextContinuationInput as nr, SpendChannel as nt, BudgetViolation as o, MountRecorder as oi, createRuntimeStreamEventCollector as on, RecoverRetainedRunResult as or, Supervisor as ot, ExecutorCancellationRequest as p, RuntimeRunCompleteInput as pi, WaitProbeRegistry as pn, RetainedRunCancelOptions as pr, WaitOpts as pt, Runtime as q, HarnessTranscriptFile as qn, LoopIterationStartedPayload as qr, generateSpanId as qt, AgentSpec as r, LoopTraceEvent as ri, SanitizedKnowledgeReadinessReport as rn, ReconnectRetainedRunOptions as rr, SpendGap as rt, DefaultVerdict as s, OutputAdapter as si, sanitizeAgentRuntimeEvent as sn, RetainedInteractiveAdmission as sr, SupervisorOpts as st, Agent as t, LoopTokenUsage as ti, RuntimeStreamEventSummary as tn, NativeContextContinuationHandle as tr, Spend as tt, Executor as u, SelectionReceipt as ui, PendingWait as un, RetainedInteractiveStartedAdmission as ur, UnconfirmedTeardown as ut, ExecutorNodeContext as v, RuntimeRunRow as vi, pollFor as vn, RetainedRunEventOptions as vr, WorkerTraceUnavailableReason as vt, FleetYield as w, AgentExecutionBackend as wi, ToolStepInput as wn, RetainedRunTurnInput as wr, workerTraceSeamKey as wt, ExecutorResult as x, AgentAdapter as xi, waitUntil as xn, RetainedRunReplayPoint as xr, readWorkerTraceContext as xt, ExecutorProgressEvent as y, RuntimeRunStatus as yi, timerAt as yn, RetainedRunHandle as yr, WorkerTraceResolver as yt, ResumedKeyState as z, RuntimeCanonicalStreamEvent as zi, RetainedInteractiveAdmissionHook as zn, DefaultVerdict$1 as zr, OtelSpan as zt };
4546
+ //# sourceMappingURL=types-F5MG_7Qq.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/agent-runtime",
3
- "version": "0.232.0",
3
+ "version": "0.233.1",
4
4
  "description": "Shared task-lifecycle skeleton for agents: a recursive loop kernel for chat turns, one-shot tasks, and multi-attempt loops, with trace capture and eval-gated self-improvement. Domain behavior lives in adapters; scoring and ship-gates in @tangle-network/agent-eval.",
5
5
  "homepage": "https://github.com/tangle-network/agent-runtime#readme",
6
6
  "repository": {
@@ -100,7 +100,7 @@
100
100
  "@modelcontextprotocol/sdk": "1.30.0",
101
101
  "@tangle-network/agent-eval": "0.182.0",
102
102
  "@tangle-network/agent-interface": "^2.6.0",
103
- "@tangle-network/sandbox": ">=0.36.4 <0.41.0",
103
+ "@tangle-network/sandbox": ">=0.36.4 <0.42.0",
104
104
  "@types/node": "26.4.0",
105
105
  "@types/tar-stream": "3.1.4",
106
106
  "miniflare": "4.20260722.0",
@@ -123,7 +123,7 @@
123
123
  "peerDependencies": {
124
124
  "@tangle-network/agent-eval": ">=0.182.0 <0.183.0",
125
125
  "@tangle-network/agent-interface": "^2.6.0",
126
- "@tangle-network/sandbox": ">=0.36.4 <0.41.0"
126
+ "@tangle-network/sandbox": ">=0.36.4 <0.42.0"
127
127
  },
128
128
  "dependencies": {
129
129
  "@tangle-network/agent-core": ">=0.9.6 <0.10.0",