@tangle-network/agent-runtime 0.133.0 → 0.133.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 (75) hide show
  1. package/dist/{activation-B4nhh8w3.js → activation-BKeGUWTV.js} +3 -3
  2. package/dist/{activation-B4nhh8w3.js.map → activation-BKeGUWTV.js.map} +1 -1
  3. package/dist/agent.d.ts +1 -1
  4. package/dist/agent.js +2 -2
  5. package/dist/{authoring-Dt5lGaM7.js → authoring-CoJWo0Ju.js} +2 -2
  6. package/dist/{authoring-Dt5lGaM7.js.map → authoring-CoJWo0Ju.js.map} +1 -1
  7. package/dist/candidate-execution/index.js +4 -4
  8. package/dist/{candidate-execution-BUhnNcyt.js → candidate-execution-gDXl7pGk.js} +4 -4
  9. package/dist/{candidate-execution-BUhnNcyt.js.map → candidate-execution-gDXl7pGk.js.map} +1 -1
  10. package/dist/{conversation-CiO00rgm.js → conversation-kPowfA_A.js} +3 -3
  11. package/dist/{conversation-CiO00rgm.js.map → conversation-kPowfA_A.js.map} +1 -1
  12. package/dist/conversation.d.ts +1 -1
  13. package/dist/conversation.js +1 -1
  14. package/dist/{environment-provider-BnioYoPQ.d.ts → environment-provider-B-w9VYcF.d.ts} +2 -2
  15. package/dist/environment-provider.d.ts +1 -1
  16. package/dist/{graph-CEFPJQRh.js → graph-B2xqnhnF.js} +3 -3
  17. package/dist/{graph-CEFPJQRh.js.map → graph-B2xqnhnF.js.map} +1 -1
  18. package/dist/{improvement-cycle-Bf9V8cj8.js → improvement-cycle-Cq5xHru1.js} +5 -5
  19. package/dist/{improvement-cycle-Bf9V8cj8.js.map → improvement-cycle-Cq5xHru1.js.map} +1 -1
  20. package/dist/{index-BzP_EK1N.d.ts → index-B7qKWyMV.d.ts} +17 -11
  21. package/dist/{index-Cw0RMLao.d.ts → index-BNz-BzLt.d.ts} +4 -4
  22. package/dist/{index-Cdf9NET5.d.ts → index-DqJa9jGF.d.ts} +2 -2
  23. package/dist/index.d.ts +8 -8
  24. package/dist/index.js +13 -13
  25. package/dist/intelligence.d.ts +4 -4
  26. package/dist/intelligence.js +5 -5
  27. package/dist/kernel.d.ts +6 -6
  28. package/dist/kernel.js +8 -8
  29. package/dist/{knowledge-Dj7e4Pg8.js → knowledge-D-ofzi3v.js} +5 -5
  30. package/dist/{knowledge-Dj7e4Pg8.js.map → knowledge-D-ofzi3v.js.map} +1 -1
  31. package/dist/knowledge.d.ts +1 -1
  32. package/dist/knowledge.js +1 -1
  33. package/dist/{loop-runner-bin-DJDMsJus.js → loop-runner-bin-BwF5A_xf.js} +3 -3
  34. package/dist/{loop-runner-bin-DJDMsJus.js.map → loop-runner-bin-BwF5A_xf.js.map} +1 -1
  35. package/dist/{loop-runner-bin-rmUSJ0jy.d.ts → loop-runner-bin-CBW9ri20.d.ts} +3 -3
  36. package/dist/loop-runner-bin.d.ts +1 -1
  37. package/dist/loop-runner-bin.js +1 -1
  38. package/dist/{materialization-BkL7gRP6.js → materialization-D2bdTfkK.js} +75 -14
  39. package/dist/materialization-D2bdTfkK.js.map +1 -0
  40. package/dist/mcp/bin.js +3 -3
  41. package/dist/mcp/index.d.ts +3 -3
  42. package/dist/mcp/index.js +4 -4
  43. package/dist/{openai-tools-MB5xyj1D.js → openai-tools-rpPRFsVG.js} +2 -2
  44. package/dist/{openai-tools-MB5xyj1D.js.map → openai-tools-rpPRFsVG.js.map} +1 -1
  45. package/dist/{prepare-DggAvkbq.js → prepare-DWH0J5z2.js} +2 -2
  46. package/dist/{prepare-DggAvkbq.js.map → prepare-DWH0J5z2.js.map} +1 -1
  47. package/dist/primeintellect/index.d.ts +1 -1
  48. package/dist/{protected-model-port-BpQeW-0j.js → protected-model-port-djV8FMXc.js} +2 -2
  49. package/dist/{protected-model-port-BpQeW-0j.js.map → protected-model-port-djV8FMXc.js.map} +1 -1
  50. package/dist/{redact-BTKr5YLO.d.ts → redact-BSD-nvTf.d.ts} +3 -3
  51. package/dist/{runtime-DtRTgm3B.js → runtime-CmTSbexZ.js} +85 -76
  52. package/dist/runtime-CmTSbexZ.js.map +1 -0
  53. package/dist/{runtime-BRErB7lm.d.ts → runtime-D-26vxJt.d.ts} +3 -3
  54. package/dist/{spawn-journal-CNg5-D9p.js → spawn-journal-BX3-4WDm.js} +183 -5
  55. package/dist/spawn-journal-BX3-4WDm.js.map +1 -0
  56. package/dist/{stream-agent-turn-B4Mvk5G-.js → stream-agent-turn-D8YHY0oO.js} +2 -2
  57. package/dist/{stream-agent-turn-B4Mvk5G-.js.map → stream-agent-turn-D8YHY0oO.js.map} +1 -1
  58. package/dist/{stream-agent-turn-By46GZlo.d.ts → stream-agent-turn-NFWCv1X1.d.ts} +2 -2
  59. package/dist/{structural-rollout-OPAUocq7.js → structural-rollout-Cy0l0bbT.js} +5 -5
  60. package/dist/{structural-rollout-OPAUocq7.js.map → structural-rollout-Cy0l0bbT.js.map} +1 -1
  61. package/dist/{supervise-Da_e1GgK.js → supervise-DZxpJGK_.js} +98 -29
  62. package/dist/supervise-DZxpJGK_.js.map +1 -0
  63. package/dist/{supervisor-BwU40H4n.js → supervisor-BpIcKHy7.js} +78 -17
  64. package/dist/supervisor-BpIcKHy7.js.map +1 -0
  65. package/dist/testing.d.ts +2 -2
  66. package/dist/testing.js +12 -12
  67. package/dist/{types-BjUQODeG.d.ts → types-DJ7k6vHE.d.ts} +30 -6
  68. package/dist/{workspace-archive-Cm3rtP4F.js → workspace-archive-DdrlLnIj.js} +2 -2
  69. package/dist/{workspace-archive-Cm3rtP4F.js.map → workspace-archive-DdrlLnIj.js.map} +1 -1
  70. package/package.json +1 -1
  71. package/dist/materialization-BkL7gRP6.js.map +0 -1
  72. package/dist/runtime-DtRTgm3B.js.map +0 -1
  73. package/dist/spawn-journal-CNg5-D9p.js.map +0 -1
  74. package/dist/supervise-Da_e1GgK.js.map +0 -1
  75. package/dist/supervisor-BwU40H4n.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { f as ValidationError, i as ConfigError, o as NotFoundError, r as BackendTransportError, t as AgentEvalError$1, u as RuntimeRunStateError } from "./errors-DRoXIc7E.js";
2
2
  import { t as detachedSnapshot } from "./snapshot-DY6VGliG.js";
3
- import { b as workerTraceAnalysisStore, d as writeAllBytes, i as InMemorySpawnJournal, l as parseCommittedJsonLines, n as FileSpawnJournal, r as InMemoryResultBlobStore, t as FileResultBlobStore, u as prepareJsonlAppend, x as contentAddress, y as parseWorkerToolTraceArtifact } from "./spawn-journal-CNg5-D9p.js";
3
+ import { S as contentAddress, b as parseWorkerToolTraceArtifact, d as prepareJsonlAppend, f as writeAllBytes, i as InMemorySpawnJournal, n as FileSpawnJournal, r as InMemoryResultBlobStore, t as FileResultBlobStore, u as parseCommittedJsonLines, x as workerTraceAnalysisStore } from "./spawn-journal-BX3-4WDm.js";
4
4
  import { a as concreteProfileModel, d as harnessRunsAgent, n as assertModelAllowed, r as assertProfileModelsAllowed, s as profileModelExecutionSettings, t as assertExecutableAgentProfile, u as agentHarness } from "./model-policy-Bv1DU2fw.js";
5
- import { _ as runtimeOwnedScopeOwnerRuntime, d as recordRuntimeOwnedDriveHarnessModel, g as runtimeOwnedPendingExecutorMaterialization, h as runtimeOwnedExecutorMaterialization, i as attestRuntimeOwnedScopeOwner, m as runtimeOwnedExecutorExecutionBinding, p as runtimeOwnedDriveHarnessModels, s as inheritRuntimeOwnedExecutorAttestation } from "./materialization-BkL7gRP6.js";
6
- import { A as bindReusableExecutorExecutionId, Bt as assertProfileMaterialization, D as assertValidBudget, E as teardownExecutor, F as snapshotExecutorConfig, Gt as promptControlProfileMaterialization, Ht as defineProfileMaterializationContract, Kt as promptModelProfileMaterialization, L as WORKER_TRACE_PROPAGATION, N as createExecutor, P as createExecutorRegistry, Qt as worktreeCliProfileMaterialization, S as freeSlots, St as toOtelAttributes, T as DEFAULT_SUCCESSFUL_SHUTDOWN_MS, Ut as fullProfileMaterialization, Vt as controlProfileMaterialization, Wt as profileMaterializationAxes$1, X as createInbox, a as pickBestDelivered, c as driverChild, d as deriveNodeExecutionIdentity, f as recordScopeOwnerMaterialization, ft as buildLoopSpanNodes, ht as createOtelExporter, it as runBrainLoop, j as captureReusableExecutorConfig, k as spendFromUsageEvents, l as withDriverExecutor, n as createSupervisor, o as runFinalizer, p as scopeOwnerExecutorNodeContext, r as bestDelivered, rt as routerBrain, s as runTree, vt as generateSpanId } from "./supervisor-BwU40H4n.js";
5
+ import { _ as runtimeOwnedExecutorExecutionBinding, b as runtimeOwnedPendingExecutorMaterialization, d as recordRuntimeOwnedDriveHarnessProviderEvidence, g as runtimeOwnedDriveHarnessProviderEvidence, i as attestRuntimeOwnedScopeOwner, s as inheritRuntimeOwnedExecutorAttestation, v as runtimeOwnedExecutorMaterialization, x as runtimeOwnedScopeOwnerRuntime, y as runtimeOwnedExecutorProviderEvidence } from "./materialization-D2bdTfkK.js";
6
+ import { A as spendFromUsageEvents, C as freeSlots, D as teardownExecutor, E as DEFAULT_SUCCESSFUL_SHUTDOWN_MS, F as createExecutorRegistry, Gt as fullProfileMaterialization, Ht as assertProfileMaterialization, I as snapshotExecutorConfig, Jt as promptModelProfileMaterialization, Kt as profileMaterializationAxes$1, M as captureReusableExecutorConfig, O as assertValidBudget, P as createExecutor, R as WORKER_TRACE_PROPAGATION, Ut as controlProfileMaterialization, Wt as defineProfileMaterializationContract, Z as createInbox, _t as createOtelExporter, a as pickBestDelivered, at as runBrainLoop, bt as generateSpanId, c as driverChild, d as deriveNodeExecutionIdentity, en as worktreeCliProfileMaterialization, f as meterRuntimeOwnedProviderAttempt, it as routerBrain, j as bindReusableExecutorExecutionId, l as withDriverExecutor, m as scopeOwnerExecutorNodeContext, mt as buildLoopSpanNodes, n as createSupervisor, o as runFinalizer, p as recordScopeOwnerMaterialization, qt as promptControlProfileMaterialization, r as bestDelivered, s as runTree, wt as toOtelAttributes } from "./supervisor-BpIcKHy7.js";
7
7
  import { t as composeRuntimeHooks } from "./runtime-hooks-C7iJOWm3.js";
8
8
  import { t as createStdioToolServer } from "./tool-server-VvSK1K3X.js";
9
9
  import { n as UI_LENSES } from "./substrate-B0TYNrXn.js";
@@ -2715,6 +2715,20 @@ function progressStop(tracker, rule, coord, scope, now, stallAfterMs) {
2715
2715
  });
2716
2716
  return tracker.evaluate(rule, scope, stallAfterMs !== void 0 ? { stallAfterMs } : void 0);
2717
2717
  }
2718
+ function providerAttemptEvidence$1(model) {
2719
+ const attempts = Object.freeze([Object.freeze({ observations: Object.freeze(model === void 0 ? [] : [model]) })]);
2720
+ const models = Object.freeze(model === void 0 ? [] : [model]);
2721
+ return Object.freeze(model === void 0 ? {
2722
+ status: "unknown",
2723
+ attempts,
2724
+ models,
2725
+ reason: "provider-model-missing"
2726
+ } : {
2727
+ status: "known",
2728
+ attempts,
2729
+ models
2730
+ });
2731
+ }
2718
2732
  /**
2719
2733
  * Build the intelligent recursive driver. Its `act` is the LLM tool-loop; spawn it as a
2720
2734
  * `driverChild` (`driver-executor.ts`) to run it inside a nested scope, recursively.
@@ -2808,7 +2822,8 @@ function driverAgent(opts) {
2808
2822
  try {
2809
2823
  res = await opts.brain(messages, tools, callContext);
2810
2824
  } catch (error) {
2811
- await scope.meter({
2825
+ opts.onProviderModel?.(void 0);
2826
+ await meterRuntimeOwnedProviderAttempt(scope, {
2812
2827
  iterations: 0,
2813
2828
  tokens: {
2814
2829
  input: 0,
@@ -2818,7 +2833,7 @@ function driverAgent(opts) {
2818
2833
  usd: 0,
2819
2834
  usdKnown: false,
2820
2835
  ms: 0
2821
- }, {
2836
+ }, providerAttemptEvidence$1(void 0), {
2822
2837
  driver: opts.name,
2823
2838
  inferenceFailed: true,
2824
2839
  call,
@@ -2841,7 +2856,7 @@ function driverAgent(opts) {
2841
2856
  }
2842
2857
  const trustedCost = res.costProvenance === "provider-receipt" || res.costProvenance === "billing-receipt";
2843
2858
  const cacheUsage = driverPromptCacheUsage(res.usage?.input, res.promptCache);
2844
- const turnSpend = {
2859
+ await meterRuntimeOwnedProviderAttempt(scope, {
2845
2860
  iterations: 0,
2846
2861
  tokens: {
2847
2862
  input: res.usage?.input ?? 0,
@@ -2852,8 +2867,7 @@ function driverAgent(opts) {
2852
2867
  usd: trustedCost ? res.costUsd ?? 0 : 0,
2853
2868
  ...trustedCost && res.costUsd !== void 0 ? {} : { usdKnown: false },
2854
2869
  ms: 0
2855
- };
2856
- await scope.meter(turnSpend, {
2870
+ }, providerAttemptEvidence$1(res.model), {
2857
2871
  driver: opts.name,
2858
2872
  call,
2859
2873
  callId: callContext.callId,
@@ -5744,8 +5758,27 @@ function driveHarnessFromBackend(backend, executionId, now = Date.now) {
5744
5758
  let completed = false;
5745
5759
  let started = false;
5746
5760
  let terminalAccountingCaptured = false;
5747
- let settledOutput;
5748
5761
  let pendingUsage = [];
5762
+ let meteredProviderAttempts = 0;
5763
+ const providerEvidenceForNextMeter = () => {
5764
+ const attempt = runtimeOwnedExecutorProviderEvidence(executor)?.attempts[meteredProviderAttempts++];
5765
+ if (attempt === void 0) return providerAttemptEvidence(void 0);
5766
+ const observations = Object.freeze([...attempt.observations]);
5767
+ const models = Object.freeze([...new Set(observations)]);
5768
+ return Object.freeze(attempt.identityConflict === true || observations.length === 0 ? {
5769
+ status: "unknown",
5770
+ attempts: Object.freeze([Object.freeze({
5771
+ observations,
5772
+ ...attempt.identityConflict === true ? { identityConflict: true } : {}
5773
+ })]),
5774
+ models,
5775
+ reason: attempt.identityConflict === true ? "provider-model-conflict" : "provider-model-missing"
5776
+ } : {
5777
+ status: "known",
5778
+ attempts: Object.freeze([Object.freeze({ observations })]),
5779
+ models
5780
+ });
5781
+ };
5749
5782
  let teardownStarted = false;
5750
5783
  const deadlineAtMs = scope.budget.deadlineMs || void 0;
5751
5784
  const teardownOnce = async (grace) => {
@@ -5753,11 +5786,16 @@ function driveHarnessFromBackend(backend, executionId, now = Date.now) {
5753
5786
  teardownStarted = true;
5754
5787
  await teardownExecutor(executor, grace, deadlineAtMs, now);
5755
5788
  };
5756
- const meterPending = async () => {
5789
+ const meterPending = async (forceUnknown = false) => {
5757
5790
  if (pendingUsage.length === 0) return;
5758
5791
  const batch = pendingUsage;
5759
5792
  pendingUsage = [];
5760
- await scope.meter(spendFromUsageEvents(batch), {
5793
+ const measured = spendFromUsageEvents(batch);
5794
+ await meterRuntimeOwnedProviderAttempt(scope, forceUnknown ? {
5795
+ ...measured,
5796
+ tokensKnown: false,
5797
+ usdKnown: false
5798
+ } : measured, providerEvidenceForNextMeter(), {
5761
5799
  role: "driver",
5762
5800
  runtime: executor.runtime
5763
5801
  });
@@ -5816,9 +5854,8 @@ function driveHarnessFromBackend(backend, executionId, now = Date.now) {
5816
5854
  else pendingUsage.push(event);
5817
5855
  await meterPending();
5818
5856
  const artifact = executor.resultArtifact();
5819
- settledOutput = artifact.out;
5820
5857
  terminalAccountingCaptured = true;
5821
- if (artifact.spent.tokensKnown === false || artifact.spent.usdKnown === false) await scope.meter({
5858
+ if (artifact.spent.tokensKnown === false || artifact.spent.usdKnown === false) await meterRuntimeOwnedProviderAttempt(scope, {
5822
5859
  iterations: 0,
5823
5860
  tokens: {
5824
5861
  input: 0,
@@ -5828,24 +5865,22 @@ function driveHarnessFromBackend(backend, executionId, now = Date.now) {
5828
5865
  usd: 0,
5829
5866
  ...artifact.spent.usdKnown === false ? { usdKnown: false } : {},
5830
5867
  ms: 0
5831
- }, {
5868
+ }, providerEvidenceForNextMeter(), {
5832
5869
  role: "driver",
5833
5870
  runtime: executor.runtime,
5834
5871
  telemetry: "unknown"
5835
5872
  });
5836
5873
  } else {
5837
5874
  const artifact = await run;
5838
- settledOutput = artifact.out;
5839
5875
  terminalAccountingCaptured = true;
5840
- await scope.meter({
5876
+ await meterRuntimeOwnedProviderAttempt(scope, {
5841
5877
  ...artifact.spent,
5842
5878
  iterations: 0
5843
- }, {
5879
+ }, providerEvidenceForNextMeter(), {
5844
5880
  role: "driver",
5845
5881
  runtime: executor.runtime
5846
5882
  });
5847
5883
  }
5848
- recordRuntimeOwnedDriveHarnessModel(drive, extractExecutorModel(settledOutput));
5849
5884
  if (pending !== void 0) {
5850
5885
  const acknowledged = runtimeOwnedExecutorMaterialization(executor);
5851
5886
  const acknowledgedBinding = runtimeOwnedExecutorExecutionBinding(executor);
@@ -5857,8 +5892,9 @@ function driveHarnessFromBackend(backend, executionId, now = Date.now) {
5857
5892
  failed = true;
5858
5893
  failure = error;
5859
5894
  } finally {
5895
+ recordRuntimeOwnedDriveHarnessProviderEvidence(drive, runtimeOwnedExecutorProviderEvidence(executor));
5860
5896
  try {
5861
- await meterPending();
5897
+ await meterPending(failed && started && !terminalAccountingCaptured);
5862
5898
  } catch (error) {
5863
5899
  if (!failed) {
5864
5900
  failed = true;
@@ -5866,7 +5902,25 @@ function driveHarnessFromBackend(backend, executionId, now = Date.now) {
5866
5902
  }
5867
5903
  }
5868
5904
  if (failed && started && !terminalAccountingCaptured) try {
5869
- await scope.meter({
5905
+ for (;;) {
5906
+ if ((runtimeOwnedExecutorProviderEvidence(executor)?.attempts.length ?? 0) <= meteredProviderAttempts) break;
5907
+ await meterRuntimeOwnedProviderAttempt(scope, {
5908
+ iterations: 0,
5909
+ tokens: {
5910
+ input: 0,
5911
+ output: 0
5912
+ },
5913
+ tokensKnown: false,
5914
+ usd: 0,
5915
+ usdKnown: false,
5916
+ ms: 0
5917
+ }, providerEvidenceForNextMeter(), {
5918
+ role: "driver",
5919
+ runtime: executor.runtime,
5920
+ telemetry: "unknown-after-failure"
5921
+ });
5922
+ }
5923
+ if (meteredProviderAttempts === 0) await meterRuntimeOwnedProviderAttempt(scope, {
5870
5924
  iterations: 0,
5871
5925
  tokens: {
5872
5926
  input: 0,
@@ -5876,7 +5930,7 @@ function driveHarnessFromBackend(backend, executionId, now = Date.now) {
5876
5930
  usd: 0,
5877
5931
  usdKnown: false,
5878
5932
  ms: 0
5879
- }, {
5933
+ }, providerEvidenceForNextMeter(), {
5880
5934
  role: "driver",
5881
5935
  runtime: executor.runtime,
5882
5936
  telemetry: "unknown-after-failure"
@@ -5904,14 +5958,23 @@ function driveHarnessFromBackend(backend, executionId, now = Date.now) {
5904
5958
  };
5905
5959
  return attestRuntimeOwnedScopeOwner(drive, "cli");
5906
5960
  }
5907
- function extractExecutorModel(value) {
5908
- if (!value || typeof value !== "object" || Array.isArray(value)) return void 0;
5909
- const model = value.model;
5910
- return typeof model === "string" && model.length > 0 ? model : void 0;
5911
- }
5912
5961
  function isAsyncIterable(value) {
5913
5962
  return value !== null && typeof value === "object" && Symbol.asyncIterator in value && typeof value[Symbol.asyncIterator] === "function";
5914
5963
  }
5964
+ function providerAttemptEvidence(model) {
5965
+ const attempts = Object.freeze([Object.freeze({ observations: Object.freeze(model === void 0 ? [] : [model]) })]);
5966
+ const models = Object.freeze(model === void 0 ? [] : [model]);
5967
+ return Object.freeze(model === void 0 ? {
5968
+ status: "unknown",
5969
+ attempts,
5970
+ models,
5971
+ reason: "provider-model-missing"
5972
+ } : {
5973
+ status: "known",
5974
+ attempts,
5975
+ models
5976
+ });
5977
+ }
5915
5978
  /** Resolve one option that may be given as a value OR as a name into `opts.registry`. Both failure
5916
5979
  * modes name the option, the requested name, and the table it was looked up in — a typo must not
5917
5980
  * degrade into a silently unconfigured run (which for `deliverable` means "no run can ever
@@ -6394,10 +6457,10 @@ function superviseInternal(profile, task, opts, testBrain) {
6394
6457
  });
6395
6458
  const settle = async () => {
6396
6459
  const result = await run;
6397
- const observed = rootProviderModels.length > 0 ? rootProviderModels : rootDriveHarness === void 0 ? [] : runtimeOwnedDriveHarnessModels(rootDriveHarness) ?? [];
6460
+ const rootProviderModel = ctx.resume === true ? rootProviderModelEvidence([]) : rootProviderModels.length > 0 ? rootProviderModelEvidence(rootProviderModels) : rootDriveHarness === void 0 ? rootProviderModelEvidence([]) : rootProviderModelEvidenceFromExecution(runtimeOwnedDriveHarnessProviderEvidence(rootDriveHarness));
6398
6461
  return {
6399
6462
  ...result,
6400
- rootProviderModel: rootProviderModelEvidence(observed)
6463
+ rootProviderModel
6401
6464
  };
6402
6465
  };
6403
6466
  if (!recorder) return settle();
@@ -6413,18 +6476,24 @@ function superviseInternal(profile, task, opts, testBrain) {
6413
6476
  return start();
6414
6477
  }
6415
6478
  function rootProviderModelEvidence(observations) {
6479
+ const attempts = Object.freeze(observations.map((model) => Object.freeze({ observations: Object.freeze(model === void 0 ? [] : [model]) })));
6416
6480
  const models = [...new Set(observations.filter((model) => model !== void 0))];
6417
6481
  if (observations.length === 0 || observations.some((model) => model === void 0)) return Object.freeze({
6418
6482
  status: "unknown",
6483
+ attempts,
6419
6484
  models: Object.freeze(models),
6420
6485
  reason: "provider-model-missing"
6421
6486
  });
6422
6487
  return Object.freeze({
6423
6488
  status: "known",
6489
+ attempts,
6424
6490
  models: Object.freeze(models)
6425
6491
  });
6426
6492
  }
6493
+ function rootProviderModelEvidenceFromExecution(evidence) {
6494
+ return evidence ?? rootProviderModelEvidence([]);
6495
+ }
6427
6496
  //#endregion
6428
6497
  export { DELEGATION_TRACE_MAX_BYTES as $, DELEGATION_HISTORY_INPUT_SCHEMA as A, defaultToolDetectors as At, DELEGATE_FEEDBACK_INPUT_SCHEMA as B, createMcpServer as C, plateauLength as Ct, createDelegationStatusHandler as D, createCoordinationTools as Dt, DELEGATION_STATUS_TOOL_NAME as E, canonicalFindingEvent as Et, DELEGATE_UI_AUDIT_INPUT_SCHEMA as F, createSupervisorSpanRecorder as Ft, DELEGATE_INPUT_SCHEMA as G, createDelegateFeedbackHandler as H, DELEGATE_UI_AUDIT_TOOL_NAME as I, gateOnDeliverable as It, validateDelegateArgs as J, DELEGATE_TOOL_NAME as K, createDelegateUiAuditHandler as L, mapExecutorResult as Lt, createDelegationHistoryHandler as M, createFileRunContext as Mt, validateDelegationHistoryArgs as N, createInMemoryRunContext as Nt, validateDelegationStatusArgs as O, normalizeAnalyzeOnSettle as Ot, DELEGATE_UI_AUDIT_DESCRIPTION as P, FileCoordinationLog as Pt, hashIdempotencyInput as Q, validateDelegateUiAuditArgs as R, createInProcessTransport as S, bestSoFar as St, DELEGATION_STATUS_INPUT_SCHEMA as T, DEFAULT_AWAIT_EVENT_TIMEOUT_MS as Tt, validateDelegateFeedbackArgs as U, DELEGATE_FEEDBACK_TOOL_NAME as V, DELEGATE_DESCRIPTION as W, delegate as X, defaultDelegateBudget as Y, DelegationTaskQueue as Z, promptHandle as _, noProgressFor as _t, assertCoordinationBinding as a, DelegationPersistenceError as at, classifyDriverFailure as b, anytimeReport as bt, supervisorAgentWithTestBrain as c, InMemoryDelegationStore as ct, delegatesWorkerBriefPrompt as d, driverAgent as dt, DELEGATION_TRACE_MAX_SPANS as et, dumbContinuationFailPrompt as f, finalizeBestDelivered as ft, naiveContinuationPrompt as g, createProgressTracker as gt, kernelPromptRegistry as h, anyOf as ht, workerFromBackend as i, createDelegationTraceCollector as it, DELEGATION_HISTORY_TOOL_NAME as j, watchTrace as jt, DELEGATION_HISTORY_DESCRIPTION as k, createEventBus as kt, analyzesFindingsReportPrompt as l, InMemoryFeedbackStore as lt, formatPromptHandle as m, allWorkersStalled as mt, supervise as n, capDelegationTrace as nt, resolveSupervisorProfile as o, DelegationStateCorruptError as ot, dumbContinuationPassPrompt as p, allOf as pt, createDelegateHandler as q, superviseWithTestBrain as r, composeLoopTraceEmitters as rt, supervisorAgent as s, FileDelegationStore as st, DEFAULT_AUTHORED_PROFILE_SECURITY_POLICY as t, buildDelegationTraceSpans as tt, createPromptRegistry as u, eventToSnapshot as ut, supervisorPolicyPrompt as v, plateau as vt, DELEGATION_STATUS_DESCRIPTION as w, renderAnytimeTable as wt, serveCoordinationMcp as x, areaUnderCurve as xt, DriverAttemptsExhaustedError as y, sampleFromSettled as yt, DELEGATE_FEEDBACK_DESCRIPTION as z };
6429
6498
 
6430
- //# sourceMappingURL=supervise-Da_e1GgK.js.map
6499
+ //# sourceMappingURL=supervise-DZxpJGK_.js.map