@tangle-network/agent-eval 0.59.1 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/adapters/http.d.ts +1 -1
  3. package/dist/adapters/http.js +1 -1
  4. package/dist/adapters/langchain.d.ts +1 -1
  5. package/dist/adapters/langchain.js +1 -1
  6. package/dist/adapters/otel.d.ts +5 -5
  7. package/dist/adapters/otel.js +1 -1
  8. package/dist/agent-profile-9J9hxdm2.d.ts +114 -0
  9. package/dist/benchmarks/index.d.ts +3 -3
  10. package/dist/benchmarks/index.js +2 -2
  11. package/dist/builder-eval/index.js +3 -3
  12. package/dist/campaign/index.d.ts +153 -9
  13. package/dist/campaign/index.js +229 -23
  14. package/dist/campaign/index.js.map +1 -1
  15. package/dist/{chunk-QDOSODID.js → chunk-3B7Y5AUR.js} +2 -2
  16. package/dist/{chunk-QYJT52YW.js → chunk-3BFEG2F6.js} +1 -1
  17. package/dist/chunk-3BFEG2F6.js.map +1 -0
  18. package/dist/{chunk-J4DIMSRK.js → chunk-6EKXFFGQ.js} +2 -2
  19. package/dist/{chunk-MHQPVHXU.js → chunk-6QDKWHLS.js} +2 -2
  20. package/dist/{chunk-63EPZQUZ.js → chunk-6REHLN5J.js} +2 -2
  21. package/dist/{chunk-GM476SZU.js → chunk-AIWHLG7J.js} +5 -5
  22. package/dist/{chunk-AIXHUIHG.js → chunk-B26KI423.js} +3 -3
  23. package/dist/{chunk-NCK5QLGT.js → chunk-F3SRAAZO.js} +2 -2
  24. package/dist/{chunk-N4SBKEPJ.js → chunk-GMXHLSLL.js} +107 -2
  25. package/dist/chunk-GMXHLSLL.js.map +1 -0
  26. package/dist/{chunk-VXNVVBZO.js → chunk-IHDHUN2X.js} +2 -2
  27. package/dist/{chunk-S3SDD56V.js → chunk-ITBRCT73.js} +2 -2
  28. package/dist/{chunk-OLIBRKRD.js → chunk-KX6F6NCG.js} +2 -2
  29. package/dist/{chunk-74Y2EMNH.js → chunk-OLULBECP.js} +18 -6
  30. package/dist/chunk-OLULBECP.js.map +1 -0
  31. package/dist/chunk-PQV2TKC3.js +27 -0
  32. package/dist/chunk-PQV2TKC3.js.map +1 -0
  33. package/dist/chunk-PZ5AY32C.js +10 -0
  34. package/dist/{chunk-UBPIXOC4.js → chunk-SBCB6VZY.js} +2 -2
  35. package/dist/chunk-SHTXZ4O2.js +113 -0
  36. package/dist/chunk-SHTXZ4O2.js.map +1 -0
  37. package/dist/{chunk-JB4UWIM6.js → chunk-SUGME4OT.js} +266 -15
  38. package/dist/chunk-SUGME4OT.js.map +1 -0
  39. package/dist/{chunk-YTMXBHFM.js → chunk-T375SUOZ.js} +2 -2
  40. package/dist/{chunk-PIEAE33T.js → chunk-Z4ZCBC7M.js} +2 -2
  41. package/dist/cli.js +4 -4
  42. package/dist/contract/index.d.ts +48 -16
  43. package/dist/contract/index.js +59 -19
  44. package/dist/contract/index.js.map +1 -1
  45. package/dist/{control-DjEgwWNo.d.ts → control-Bf8owbuG.d.ts} +2 -2
  46. package/dist/control.d.ts +5 -5
  47. package/dist/control.js +4 -4
  48. package/dist/{dataset-BlwAtYYf.d.ts → dataset-B2kL-fSM.d.ts} +1 -1
  49. package/dist/{errors-mje_cKOs.d.ts → errors-Dwqw-T_m.d.ts} +1 -1
  50. package/dist/{feedback-trajectory-DpUmE90J.d.ts → feedback-trajectory-8hKC5EOb.d.ts} +1 -1
  51. package/dist/governance/index.d.ts +3 -3
  52. package/dist/governance/index.js +1 -1
  53. package/dist/hosted/index.d.ts +5 -5
  54. package/dist/hosted/index.js +1 -1
  55. package/dist/{index-wlaiph9Y.d.ts → index-Bvk35ils.d.ts} +1 -1
  56. package/dist/{index-D2nT6_KT.d.ts → index-D9dwa00f.d.ts} +2 -2
  57. package/dist/index.d.ts +24 -132
  58. package/dist/index.js +23 -36
  59. package/dist/index.js.map +1 -1
  60. package/dist/{integrity-CfXjSqEv.d.ts → integrity-CJzrpUua.d.ts} +1 -1
  61. package/dist/knowledge/index.js +1 -1
  62. package/dist/{llm-client-BXVRUZyX.d.ts → llm-client-DbjLfz-K.d.ts} +1 -1
  63. package/dist/matrix/index.js +1 -1
  64. package/dist/meta-eval/index.d.ts +3 -3
  65. package/dist/meta-eval/index.js +1 -1
  66. package/dist/multishot/index.js +1 -1
  67. package/dist/openapi.json +1 -1
  68. package/dist/pipelines/index.js +4 -4
  69. package/dist/prm/index.js +1 -1
  70. package/dist/{run-improvement-loop-BhfdjrMY.d.ts → provenance-D0WeCXt1.d.ts} +208 -6
  71. package/dist/{red-team-CrC5MZYd.d.ts → red-team-DW9Ca_tj.d.ts} +1 -1
  72. package/dist/{registry-DK9kqXvb.d.ts → registry-qmbYT3Eo.d.ts} +2 -2
  73. package/dist/{release-report-DmPjIce3.d.ts → release-report-DszkgvJ3.d.ts} +3 -3
  74. package/dist/reporting.d.ts +6 -6
  75. package/dist/reporting.js +5 -5
  76. package/dist/{researcher-JP8EvnLv.d.ts → researcher-BaVsy0sW.d.ts} +4 -4
  77. package/dist/rl.d.ts +9 -9
  78. package/dist/rl.js +8 -8
  79. package/dist/{rubric-predictive-validity-B3qNa4aY.d.ts → rubric-predictive-validity-DgBHWsh7.d.ts} +1 -1
  80. package/dist/run-campaign-HXPJAUZ3.js +10 -0
  81. package/dist/{run-record-etiCMsUq.d.ts → run-record-DgUVo5pw.d.ts} +1 -1
  82. package/dist/{summary-report-DLxh4yWk.d.ts → summary-report-BQvXpvaR.d.ts} +1 -1
  83. package/dist/telemetry/file.js +1 -1
  84. package/dist/telemetry/index.js +1 -1
  85. package/dist/traces.d.ts +2 -2
  86. package/dist/traces.js +4 -4
  87. package/dist/{types-BgrxOJSf.d.ts → types-Beb6KPqZ.d.ts} +52 -4
  88. package/dist/wire/index.d.ts +3 -3
  89. package/dist/wire/index.js +4 -4
  90. package/package.json +1 -1
  91. package/dist/chunk-74Y2EMNH.js.map +0 -1
  92. package/dist/chunk-JB4UWIM6.js.map +0 -1
  93. package/dist/chunk-N4SBKEPJ.js.map +0 -1
  94. package/dist/chunk-NSBPE2FW.js +0 -17
  95. package/dist/chunk-QYJT52YW.js.map +0 -1
  96. package/dist/chunk-ZWEQJIM6.js +0 -220
  97. package/dist/chunk-ZWEQJIM6.js.map +0 -1
  98. package/dist/run-campaign-ZURVWMMI.js +0 -10
  99. /package/dist/{chunk-QDOSODID.js.map → chunk-3B7Y5AUR.js.map} +0 -0
  100. /package/dist/{chunk-J4DIMSRK.js.map → chunk-6EKXFFGQ.js.map} +0 -0
  101. /package/dist/{chunk-MHQPVHXU.js.map → chunk-6QDKWHLS.js.map} +0 -0
  102. /package/dist/{chunk-63EPZQUZ.js.map → chunk-6REHLN5J.js.map} +0 -0
  103. /package/dist/{chunk-GM476SZU.js.map → chunk-AIWHLG7J.js.map} +0 -0
  104. /package/dist/{chunk-AIXHUIHG.js.map → chunk-B26KI423.js.map} +0 -0
  105. /package/dist/{chunk-NCK5QLGT.js.map → chunk-F3SRAAZO.js.map} +0 -0
  106. /package/dist/{chunk-VXNVVBZO.js.map → chunk-IHDHUN2X.js.map} +0 -0
  107. /package/dist/{chunk-S3SDD56V.js.map → chunk-ITBRCT73.js.map} +0 -0
  108. /package/dist/{chunk-OLIBRKRD.js.map → chunk-KX6F6NCG.js.map} +0 -0
  109. /package/dist/{chunk-NSBPE2FW.js.map → chunk-PZ5AY32C.js.map} +0 -0
  110. /package/dist/{chunk-UBPIXOC4.js.map → chunk-SBCB6VZY.js.map} +0 -0
  111. /package/dist/{chunk-YTMXBHFM.js.map → chunk-T375SUOZ.js.map} +0 -0
  112. /package/dist/{chunk-PIEAE33T.js.map → chunk-Z4ZCBC7M.js.map} +0 -0
  113. /package/dist/{run-campaign-ZURVWMMI.js.map → run-campaign-HXPJAUZ3.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { C as CaptureIntegrityError } from './errors-mje_cKOs.js';
1
+ import { C as CaptureIntegrityError } from './errors-Dwqw-T_m.js';
2
2
  import { R as RawProviderSink } from './raw-provider-sink-C46HDghv.js';
3
3
  import { T as TraceStore } from './store-CKUAgsJz.js';
4
4
 
@@ -7,7 +7,7 @@ import {
7
7
  } from "../chunk-3CKU6VGU.js";
8
8
  import "../chunk-NCRFYPS3.js";
9
9
  import "../chunk-TVVP3ZZQ.js";
10
- import "../chunk-NSBPE2FW.js";
10
+ import "../chunk-PZ5AY32C.js";
11
11
  export {
12
12
  acquisitionPlansForKnowledgeGaps,
13
13
  blockingKnowledgeEval,
@@ -1,4 +1,4 @@
1
- import { A as AgentEvalError, C as CaptureIntegrityError } from './errors-mje_cKOs.js';
1
+ import { A as AgentEvalError, C as CaptureIntegrityError } from './errors-Dwqw-T_m.js';
2
2
  import { R as RawProviderSink, P as ProviderRedactor } from './raw-provider-sink-C46HDghv.js';
3
3
 
4
4
  /**
@@ -3,7 +3,7 @@ import {
3
3
  runAgentMatrix,
4
4
  summariseRows
5
5
  } from "../chunk-QWV226SL.js";
6
- import "../chunk-NSBPE2FW.js";
6
+ import "../chunk-PZ5AY32C.js";
7
7
  export {
8
8
  buildByAxis,
9
9
  runAgentMatrix,
@@ -2,9 +2,9 @@ import { T as TraceStore } from '../store-CKUAgsJz.js';
2
2
  import { R as Run } from '../schema-m0gsnbt3.js';
3
3
  import { a as OutcomeFilter, O as OutcomeStore } from '../outcome-store-D6KWmYvj.js';
4
4
  export { D as DeploymentOutcome, F as FileSystemOutcomeStore, b as FileSystemOutcomeStoreOptions, I as InMemoryOutcomeStore } from '../outcome-store-D6KWmYvj.js';
5
- export { R as RubricOutcomePair, a as RubricPredictiveValidityInput, b as RubricPredictiveValidityReport, c as RubricRanking, r as rubricPredictiveValidity } from '../rubric-predictive-validity-B3qNa4aY.js';
6
- import '../run-record-etiCMsUq.js';
7
- import '../errors-mje_cKOs.js';
5
+ export { R as RubricOutcomePair, a as RubricPredictiveValidityInput, b as RubricPredictiveValidityReport, c as RubricRanking, r as rubricPredictiveValidity } from '../rubric-predictive-validity-DgBHWsh7.js';
6
+ import '../run-record-DgUVo5pw.js';
7
+ import '../errors-Dwqw-T_m.js';
8
8
 
9
9
  /**
10
10
  * Correlation study — "does our eval score predict real-world outcomes?"
@@ -10,7 +10,7 @@ import {
10
10
  llmSpans
11
11
  } from "../chunk-47X6LRCE.js";
12
12
  import "../chunk-5BKGXME7.js";
13
- import "../chunk-NSBPE2FW.js";
13
+ import "../chunk-PZ5AY32C.js";
14
14
 
15
15
  // src/meta-eval/calibration.ts
16
16
  async function calibrationCurve(traceStore, outcomeStore, evalMetric, outcomeMetric, options = {}) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  runAgentMatrix
3
3
  } from "../chunk-QWV226SL.js";
4
- import "../chunk-NSBPE2FW.js";
4
+ import "../chunk-PZ5AY32C.js";
5
5
 
6
6
  // src/multishot/router.ts
7
7
  async function routerCompletion(req) {
package/dist/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "@tangle-network/agent-eval — wire protocol",
5
- "version": "0.59.1",
5
+ "version": "0.61.0",
6
6
  "description": "HTTP and stdio RPC interface to agent-eval. The TypeScript runtime is the source of truth; this spec is the contract that cross-language clients (Python, Rust, Go) generate from.\n\nWire-protocol version: 1.0.0. Bumps on breaking changes to request/response schemas.",
7
7
  "contact": {
8
8
  "name": "Tangle Network",
@@ -3,13 +3,13 @@ import {
3
3
  classifyFailure,
4
4
  compareToBaseline,
5
5
  computeToolUseMetrics
6
- } from "../chunk-QDOSODID.js";
6
+ } from "../chunk-3B7Y5AUR.js";
7
7
  import {
8
8
  buildTrajectory
9
9
  } from "../chunk-RZTMDUO7.js";
10
10
  import {
11
11
  interRaterReliability
12
- } from "../chunk-S3SDD56V.js";
12
+ } from "../chunk-ITBRCT73.js";
13
13
  import {
14
14
  aggregateLlm,
15
15
  argHash,
@@ -18,8 +18,8 @@ import {
18
18
  toolSpans
19
19
  } from "../chunk-47X6LRCE.js";
20
20
  import "../chunk-5BKGXME7.js";
21
- import "../chunk-QYJT52YW.js";
22
- import "../chunk-NSBPE2FW.js";
21
+ import "../chunk-3BFEG2F6.js";
22
+ import "../chunk-PZ5AY32C.js";
23
23
 
24
24
  // src/pipelines/budget-breach.ts
25
25
  async function budgetBreachView(store, options = {}) {
package/dist/prm/index.js CHANGED
@@ -9,7 +9,7 @@ import "../chunk-5BKGXME7.js";
9
9
  import {
10
10
  TraceEmitter
11
11
  } from "../chunk-TVVP3ZZQ.js";
12
- import "../chunk-NSBPE2FW.js";
12
+ import "../chunk-PZ5AY32C.js";
13
13
 
14
14
  // src/prm/builtin-rubrics.ts
15
15
  function outputLengthRubric(args = {}) {
@@ -1,7 +1,8 @@
1
- import { S as Scenario, k as CampaignResult, o as GateResult, u as Mutator, I as ImprovementDriver, G as Gate, D as DispatchFn, a as JudgeConfig, L as LabeledScenarioStore, l as CampaignTraceWriter, M as MutableSurface, q as GenerationRecord } from './types-BgrxOJSf.js';
2
- import { L as LlmClientOptions } from './llm-client-BXVRUZyX.js';
3
- import { R as RedTeamCase } from './red-team-CrC5MZYd.js';
4
- import { R as RunRecord } from './run-record-etiCMsUq.js';
1
+ import { S as Scenario, C as CampaignResult, q as GateResult, v as Mutator, I as ImprovementDriver, G as Gate, D as DispatchFn, a as JudgeConfig, L as LabeledScenarioStore, n as CampaignTraceWriter, M as MutableSurface, s as GenerationRecord, p as GateDecision } from './types-Beb6KPqZ.js';
2
+ import { L as LlmClientOptions } from './llm-client-DbjLfz-K.js';
3
+ import { R as RedTeamCase } from './red-team-DW9Ca_tj.js';
4
+ import { R as RunRecord } from './run-record-DgUVo5pw.js';
5
+ import { H as HostedClient, T as TraceSpanEvent } from './index-D9dwa00f.js';
5
6
 
6
7
  /**
7
8
  * @experimental
@@ -242,7 +243,11 @@ interface CampaignStorage {
242
243
  }
243
244
  /** Node-filesystem storage — the default. Lazily requires `node:fs` so the
244
245
  * module imports cleanly in non-Node runtimes (where the caller passes
245
- * `inMemoryCampaignStorage` instead and never constructs this). */
246
+ * `inMemoryCampaignStorage` instead and never constructs this).
247
+ *
248
+ * `createRequire(import.meta.url)` is the ESM-native lazy require — a bare
249
+ * `require` is a ReferenceError under `"type": "module"`, which is exactly
250
+ * the shape this package publishes. */
246
251
  declare function fsCampaignStorage(): CampaignStorage;
247
252
  /** In-memory storage for filesystem-less runtimes. Artifacts + trace spans
248
253
  * live in a `Map` for the duration of the run; the `CampaignResult` is
@@ -385,6 +390,14 @@ interface RunOptimizationResult<TArtifact, TScenario extends Scenario> {
385
390
  }>;
386
391
  winnerSurface: MutableSurface;
387
392
  winnerSurfaceHash: string;
393
+ /** Driver label for the promoted surface. Present when the winning
394
+ * candidate came from a `ProposedCandidate` (a reflective driver);
395
+ * absent when the winner is the baseline or a bare-surface mutator. */
396
+ winnerLabel?: string;
397
+ /** Driver rationale for the promoted surface — the "because Z" that
398
+ * motivated the winning change. Survives to `SelfImproveResult` and the
399
+ * emitted provenance record. Absent when the winner is the baseline. */
400
+ winnerRationale?: string;
388
401
  baselineCampaign: CampaignResult<TArtifact, TScenario>;
389
402
  }
390
403
  declare function runOptimization<TScenario extends Scenario, TArtifact>(opts: RunOptimizationOptions<TScenario, TArtifact>): Promise<RunOptimizationResult<TArtifact, TScenario>>;
@@ -443,8 +456,197 @@ interface RunImprovementLoopResult<TArtifact, TScenario extends Scenario> extend
443
456
  baselineOnHoldout: CampaignResult<TArtifact, TScenario>;
444
457
  winnerOnHoldout: CampaignResult<TArtifact, TScenario>;
445
458
  gateResult: Awaited<ReturnType<Gate<TArtifact, TScenario>['decide']>>;
459
+ /** Unified baseline→winner surface diff. Computed UNCONDITIONALLY (not only
460
+ * when `autoOnPromote === 'pr'`) so the diff that the gate decided on is
461
+ * always present on the result + in the emitted provenance record. Empty
462
+ * string when winner == baseline (no change to diff). */
463
+ promotedDiff: string;
446
464
  prResult?: ReturnType<typeof openAutoPr>;
447
465
  }
448
466
  declare function runImprovementLoop<TScenario extends Scenario, TArtifact>(opts: RunImprovementLoopOptions<TScenario, TArtifact>): Promise<RunImprovementLoopResult<TArtifact, TScenario>>;
467
+ declare function defaultRenderDiff(winnerSurface: MutableSurface, baselineSurface: MutableSurface): string;
468
+
469
+ /**
470
+ * @experimental
471
+ *
472
+ * Loop provenance — the durable, queryable record of WHAT a self-improvement
473
+ * loop did and WHY, plus the OTel spans that let an OTLP collector pivot from
474
+ * an eval-run to the underlying candidate→cell→gate→promote chain.
475
+ *
476
+ * Two artifacts, one source of truth:
477
+ *
478
+ * 1. `LoopProvenanceRecord` — a structured JSON record capturing every
479
+ * candidate (surfaceHash + label + rationale), its measured composite,
480
+ * the gate decision + reasons + delta, the held-out lift, the explicit
481
+ * baseline→candidate diff, and BACKEND PROVENANCE (the
482
+ * `assertRealBackend` verdict + worker call count + model). This is the
483
+ * ingestable audit artifact: the +lift recomputes from it, the "because
484
+ * Z" rationale survives in it, and a stub backend is detectable from it.
485
+ *
486
+ * 2. `loopProvenanceSpans()` — the same chain emitted as OTLP-ingestable
487
+ * `TraceSpanEvent`s, pivoted on the substrate's standard
488
+ * `tangle.runId` / `tangle.scenarioId` / `tangle.cellId` /
489
+ * `tangle.generation` attributes (the same pivots `/adapters/otel`
490
+ * reads). The hosted `/v1/ingest/traces` endpoint receives the FULL loop,
491
+ * not just the `cost.*` spans `runCampaign` already emits per cell.
492
+ *
493
+ * The record is built from the substrate's own loop result + the per-call
494
+ * `RunRecord`s the worker emitted — no new measurement, no recomputation that
495
+ * could drift from what the gate actually saw.
496
+ */
497
+
498
+ /** Stable sha256 (full hex) of a surface's effective text. Code surfaces hash
499
+ * their worktree+base identity since the content lives in git. Distinct from
500
+ * `surfaceHash` (16-char content fingerprint used as a loop identity key);
501
+ * this is the byte-identical-verifiable content hash the provenance record +
502
+ * `RunRecord.promptHash` carry. */
503
+ declare function surfaceContentHash(surface: MutableSurface): string;
504
+ interface LoopProvenanceCandidate {
505
+ /** Generation index this candidate was proposed in. */
506
+ generation: number;
507
+ /** 16-char loop-identity fingerprint (matches `GenerationCandidate.surfaceHash`). */
508
+ surfaceHash: string;
509
+ /** Full sha256 content hash — byte-identical-verifiable. */
510
+ contentHash: string;
511
+ /** Driver label, when the driver returned a `ProposedCandidate`. */
512
+ label?: string;
513
+ /** Driver rationale — the "because Z". When the driver returned a bare
514
+ * surface (blind mutator) this is absent. */
515
+ rationale?: string;
516
+ /** Mean composite this candidate scored on the search split. */
517
+ composite: number;
518
+ /** Whether this candidate was promoted out of its generation. */
519
+ promoted: boolean;
520
+ }
521
+ interface LoopProvenanceBackend {
522
+ /** `assertRealBackend`-grade verdict over the worker call records. */
523
+ verdict: 'real' | 'mixed' | 'stub';
524
+ /** Number of worker LLM calls captured (the audit's "worker call count"). */
525
+ workerCallCount: number;
526
+ /** Distinct model ids observed across worker calls. */
527
+ models: string[];
528
+ totalInputTokens: number;
529
+ totalOutputTokens: number;
530
+ totalCostUsd: number;
531
+ }
532
+ /**
533
+ * The durable provenance record. Aligns to the hosted `EvalRunEvent` path but
534
+ * ADDS the rationale + the explicit baseline→candidate diff (both omitted from
535
+ * the bare hosted event) + backend provenance.
536
+ */
537
+ interface LoopProvenanceRecord {
538
+ schema: 'tangle.loop-provenance.v1';
539
+ runId: string;
540
+ runDir: string;
541
+ timestamp: string;
542
+ /** Baseline + winner surface content hashes — distinguishable, byte-verifiable. */
543
+ baselineContentHash: string;
544
+ winnerContentHash: string;
545
+ /** Driver label/rationale for the promoted change. Absent ⇒ winner == baseline. */
546
+ winnerLabel?: string;
547
+ winnerRationale?: string;
548
+ /** The explicit baseline→winner unified diff the gate decided on. */
549
+ diff: string;
550
+ /** Every candidate across every generation, each carrying its rationale. */
551
+ candidates: LoopProvenanceCandidate[];
552
+ /** The gate verdict — decision + reasons + contributing gates + delta. */
553
+ gate: {
554
+ decision: GateDecision;
555
+ reasons: string[];
556
+ delta?: number;
557
+ contributingGates: Array<{
558
+ name: string;
559
+ passed: boolean;
560
+ }>;
561
+ };
562
+ /** baseline-on-holdout composite mean. */
563
+ baselineHoldoutComposite: number;
564
+ /** winner-on-holdout composite mean. */
565
+ winnerHoldoutComposite: number;
566
+ /** winnerHoldout - baselineHoldout — RECOMPUTABLE from this record. */
567
+ heldOutLift: number;
568
+ /** Backend provenance: stub-vs-real verdict + worker call count + models. */
569
+ backend: LoopProvenanceBackend;
570
+ totalCostUsd: number;
571
+ totalDurationMs: number;
572
+ }
573
+ interface BuildLoopProvenanceArgs<TArtifact, TScenario extends Scenario> {
574
+ runId: string;
575
+ runDir: string;
576
+ timestamp: string;
577
+ baselineSurface: MutableSurface;
578
+ winnerSurface: MutableSurface;
579
+ winnerLabel?: string;
580
+ winnerRationale?: string;
581
+ diff: string;
582
+ /** Per-generation candidate records straight off the loop result. */
583
+ generations: Array<{
584
+ generationIndex: number;
585
+ candidates: Array<{
586
+ surfaceHash: string;
587
+ composite: number;
588
+ label?: string;
589
+ rationale?: string;
590
+ }>;
591
+ promoted: string[];
592
+ /** Surfaces measured this generation, keyed positionally to candidates so
593
+ * the content hash can be computed from the real surface text. */
594
+ surfaces: Array<{
595
+ surfaceHash: string;
596
+ surface: MutableSurface;
597
+ }>;
598
+ }>;
599
+ gate: GateResult;
600
+ baselineOnHoldout: CampaignResult<TArtifact, TScenario>;
601
+ winnerOnHoldout: CampaignResult<TArtifact, TScenario>;
602
+ /** Worker call records — the source for backend provenance. */
603
+ workerRecords: ReadonlyArray<RunRecord>;
604
+ totalCostUsd: number;
605
+ totalDurationMs: number;
606
+ }
607
+ /** Build the durable provenance record from a completed loop result. */
608
+ declare function buildLoopProvenanceRecord<TArtifact, TScenario extends Scenario>(args: BuildLoopProvenanceArgs<TArtifact, TScenario>): LoopProvenanceRecord;
609
+ /**
610
+ * Build the loop's OTLP-ingestable spans from a provenance record. One root
611
+ * span per loop (`tangle.runId`), one span per generation, one span per
612
+ * candidate (carrying its surfaceHash + label), and one span for the gate
613
+ * decision (carrying reasons + delta + lift). Candidate + gate spans pivot on
614
+ * the same `tangle.runId` / `tangle.generation` attributes `/adapters/otel`
615
+ * reads, so the hosted collector reconstructs the full tree.
616
+ *
617
+ * Times are synthesized monotonically off a single base so the span tree is
618
+ * orderable; the substrate does not retain per-candidate wall-clock starts.
619
+ */
620
+ declare function loopProvenanceSpans(record: LoopProvenanceRecord, opts?: {
621
+ baseTimeMs?: number;
622
+ }): TraceSpanEvent[];
623
+ /** Canonical durable paths under the run dir. */
624
+ declare function provenanceRecordPath(runDir: string): string;
625
+ declare function provenanceSpansPath(runDir: string): string;
626
+ interface EmitLoopProvenanceResult {
627
+ record: LoopProvenanceRecord;
628
+ spans: TraceSpanEvent[];
629
+ /** Absolute paths the record + spans were written to, when storage persists. */
630
+ recordPath: string;
631
+ spansPath: string;
632
+ }
633
+ interface EmitLoopProvenanceArgs<TArtifact, TScenario extends Scenario> extends BuildLoopProvenanceArgs<TArtifact, TScenario> {
634
+ /** Storage the record + spans are written through. */
635
+ storage: CampaignStorage;
636
+ /** When set, the spans are also shipped to the hosted `/v1/ingest/traces`
637
+ * endpoint so the collector receives the full loop, not just `cost.*`. */
638
+ hostedClient?: HostedClient;
639
+ }
640
+ /**
641
+ * Build the provenance record + OTel spans and persist them durably under the
642
+ * run dir (and ship spans to a hosted collector when one is wired). Returns
643
+ * both artifacts so the caller can assert on / re-derive from them.
644
+ *
645
+ * Fail-loud: the durable write throws on storage failure (a swallowed write is
646
+ * exactly the "emitted but lost" failure this closes). The hosted span ship is
647
+ * the one best-effort leg — its failure is logged, not thrown, so an offline
648
+ * collector never fails the loop (the durable artifact is the source of truth).
649
+ */
650
+ declare function emitLoopProvenance<TArtifact, TScenario extends Scenario>(args: EmitLoopProvenanceArgs<TArtifact, TScenario>): Promise<EmitLoopProvenanceResult>;
449
651
 
450
- export { type CampaignStorage as C, type DefaultProductionGateOptions as D, type EvolutionaryDriverOptions as E, type GepaDriverConstraints as G, type HeldOutGateOptions as H, type OpenAutoPrOptions as O, type RunCampaignOptions as R, type GepaDriverOptions as a, type OpenAutoPrResult as b, type RunEvalOptions as c, type RunImprovementLoopOptions as d, type RunImprovementLoopResult as e, type RunOptimizationOptions as f, type RunOptimizationResult as g, composeGate as h, countSentenceEdits as i, defaultProductionGate as j, evolutionaryDriver as k, extractH2Sections as l, fsCampaignStorage as m, gepaDriver as n, heldOutGate as o, inMemoryCampaignStorage as p, openAutoPr as q, runCampaign as r, runEval as s, runImprovementLoop as t, runOptimization as u, surfaceHash as v };
652
+ export { provenanceSpansPath as A, type BuildLoopProvenanceArgs as B, type CampaignStorage as C, type DefaultProductionGateOptions as D, type EmitLoopProvenanceArgs as E, runCampaign as F, type GepaDriverConstraints as G, type HeldOutGateOptions as H, runEval as I, runImprovementLoop as J, runOptimization as K, type LoopProvenanceBackend as L, surfaceContentHash as M, surfaceHash as N, type OpenAutoPrOptions as O, type RunCampaignOptions as R, type EmitLoopProvenanceResult as a, type EvolutionaryDriverOptions as b, type GepaDriverOptions as c, type LoopProvenanceCandidate as d, type LoopProvenanceRecord as e, type OpenAutoPrResult as f, type RunEvalOptions as g, type RunImprovementLoopOptions as h, type RunImprovementLoopResult as i, type RunOptimizationOptions as j, type RunOptimizationResult as k, buildLoopProvenanceRecord as l, composeGate as m, countSentenceEdits as n, defaultProductionGate as o, defaultRenderDiff as p, emitLoopProvenance as q, evolutionaryDriver as r, extractH2Sections as s, fsCampaignStorage as t, gepaDriver as u, heldOutGate as v, inMemoryCampaignStorage as w, loopProvenanceSpans as x, openAutoPr as y, provenanceRecordPath as z };
@@ -1,4 +1,4 @@
1
- import { a as DatasetScenario, b as Dataset } from './dataset-BlwAtYYf.js';
1
+ import { a as DatasetScenario, b as Dataset } from './dataset-B2kL-fSM.js';
2
2
  import { T as TraceStore } from './store-CKUAgsJz.js';
3
3
 
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { b as LlmCallRequest, c as LlmCallResult } from './llm-client-BXVRUZyX.js';
2
- import { R as RunRecord } from './run-record-etiCMsUq.js';
1
+ import { b as LlmCallRequest, c as LlmCallResult } from './llm-client-DbjLfz-K.js';
2
+ import { R as RunRecord } from './run-record-DgUVo5pw.js';
3
3
  import { T as TraceAnalysisStore } from './store-jzKpMl16.js';
4
4
  import { J as JudgeInput } from './types-DhqpAi_z.js';
5
5
 
@@ -1,8 +1,8 @@
1
1
  import { C as ContinuousAgreementOptions, a as ContinuousAgreement } from './judge-calibration-DilmB3Ml.js';
2
2
  import { a as JudgeScore } from './types-DhqpAi_z.js';
3
- import { D as DatasetSplit, c as DatasetManifest, a as DatasetScenario } from './dataset-BlwAtYYf.js';
4
- import { m as GateDecision } from './summary-report-DLxh4yWk.js';
5
- import { R as RunRecord, a as RunSplitTag } from './run-record-etiCMsUq.js';
3
+ import { D as DatasetSplit, c as DatasetManifest, a as DatasetScenario } from './dataset-B2kL-fSM.js';
4
+ import { m as GateDecision } from './summary-report-BQvXpvaR.js';
5
+ import { R as RunRecord, a as RunSplitTag } from './run-record-DgUVo5pw.js';
6
6
 
7
7
  /**
8
8
  * Release confidence gate.
@@ -1,14 +1,14 @@
1
- export { R as RubricOutcomePair, a as RubricPredictiveValidityInput, b as RubricPredictiveValidityReport, c as RubricRanking, r as rubricPredictiveValidity } from './rubric-predictive-validity-B3qNa4aY.js';
2
- export { B as BootstrapOptions, a as BootstrapResult, J as JudgeReplayGateArgs, P as PairedBootstrapOptions, b as PairedBootstrapResult, R as ReleaseConfidenceAxis, c as ReleaseConfidenceAxisName, d as ReleaseConfidenceInput, e as ReleaseConfidenceIssue, f as ReleaseConfidenceMetrics, g as ReleaseConfidenceScorecard, h as ReleaseConfidenceStatus, i as ReleaseConfidenceThresholds, j as ReleaseTraceEvidence, k as RenderReleaseReportOptions, V as Verdict, l as assertReleaseConfidence, m as benjaminiHochberg, n as bootstrapCi, o as evaluateReleaseConfidence, p as judgeReplayGate, q as pairedBootstrap, r as renderReleaseReport, w as wilcoxonSignedRank } from './release-report-DmPjIce3.js';
1
+ export { R as RubricOutcomePair, a as RubricPredictiveValidityInput, b as RubricPredictiveValidityReport, c as RubricRanking, r as rubricPredictiveValidity } from './rubric-predictive-validity-DgBHWsh7.js';
2
+ export { B as BootstrapOptions, a as BootstrapResult, J as JudgeReplayGateArgs, P as PairedBootstrapOptions, b as PairedBootstrapResult, R as ReleaseConfidenceAxis, c as ReleaseConfidenceAxisName, d as ReleaseConfidenceInput, e as ReleaseConfidenceIssue, f as ReleaseConfidenceMetrics, g as ReleaseConfidenceScorecard, h as ReleaseConfidenceStatus, i as ReleaseConfidenceThresholds, j as ReleaseTraceEvidence, k as RenderReleaseReportOptions, V as Verdict, l as assertReleaseConfidence, m as benjaminiHochberg, n as bootstrapCi, o as evaluateReleaseConfidence, p as judgeReplayGate, q as pairedBootstrap, r as renderReleaseReport, w as wilcoxonSignedRank } from './release-report-DszkgvJ3.js';
3
3
  export { I as InterimReleaseConfidence, a as InterimReleaseConfidenceInput, P as PairedEvalueOptions, b as PairedEvalueSequence, c as PairedEvalueStep, S as SequentialDecision, e as evaluateInterimReleaseConfidence, p as pairedEvalueSequence } from './sequential-5iSVfzl2.js';
4
- export { G as GainDistributionBin, a as GainDistributionFigureSpec, b as GainDistributionOptions, P as ParetoFigureSpec, c as ParetoPoint, R as RESEARCH_REPORT_HARD_PAIR_FLOOR, d as ResearchReport, e as ResearchReportCandidate, f as ResearchReportDecision, g as ResearchReportMethodology, h as ResearchReportOptions, i as ResearchReportRecommendation, S as SummaryTable, j as SummaryTableOptions, k as SummaryTableRow, l as gainHistogram, p as paretoChart, r as researchReport, s as summaryTable } from './summary-report-DLxh4yWk.js';
5
- import './run-record-etiCMsUq.js';
6
- import './errors-mje_cKOs.js';
4
+ export { G as GainDistributionBin, a as GainDistributionFigureSpec, b as GainDistributionOptions, P as ParetoFigureSpec, c as ParetoPoint, R as RESEARCH_REPORT_HARD_PAIR_FLOOR, d as ResearchReport, e as ResearchReportCandidate, f as ResearchReportDecision, g as ResearchReportMethodology, h as ResearchReportOptions, i as ResearchReportRecommendation, S as SummaryTable, j as SummaryTableOptions, k as SummaryTableRow, l as gainHistogram, p as paretoChart, r as researchReport, s as summaryTable } from './summary-report-BQvXpvaR.js';
5
+ import './run-record-DgUVo5pw.js';
6
+ import './errors-Dwqw-T_m.js';
7
7
  import './schema-m0gsnbt3.js';
8
8
  import './outcome-store-D6KWmYvj.js';
9
9
  import './judge-calibration-DilmB3Ml.js';
10
10
  import './types-DhqpAi_z.js';
11
11
  import '@tangle-network/tcloud';
12
- import './dataset-BlwAtYYf.js';
12
+ import './dataset-B2kL-fSM.js';
13
13
  import './failure-cluster-CL7IVgkJ.js';
14
14
  import './store-CKUAgsJz.js';
package/dist/reporting.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  evaluateReleaseConfidence,
5
5
  judgeReplayGate,
6
6
  renderReleaseReport
7
- } from "./chunk-AIXHUIHG.js";
7
+ } from "./chunk-B26KI423.js";
8
8
  import {
9
9
  rubricPredictiveValidity
10
10
  } from "./chunk-YRZ4M5GS.js";
@@ -18,15 +18,15 @@ import {
18
18
  paretoChart,
19
19
  researchReport,
20
20
  summaryTable
21
- } from "./chunk-OLIBRKRD.js";
21
+ } from "./chunk-KX6F6NCG.js";
22
22
  import {
23
23
  benjaminiHochberg,
24
24
  pairedBootstrap,
25
25
  wilcoxonSignedRank
26
- } from "./chunk-S3SDD56V.js";
26
+ } from "./chunk-ITBRCT73.js";
27
27
  import "./chunk-VSMTAMNK.js";
28
- import "./chunk-QYJT52YW.js";
29
- import "./chunk-NSBPE2FW.js";
28
+ import "./chunk-3BFEG2F6.js";
29
+ import "./chunk-PZ5AY32C.js";
30
30
  export {
31
31
  RESEARCH_REPORT_HARD_PAIR_FLOOR,
32
32
  assertReleaseConfidence,
@@ -1,8 +1,8 @@
1
- import { a as RunSplitTag, b as RunTokenUsage, c as RunJudgeMetadata, J as JudgeScoresRecord, A as AgentProfileCell, d as AgentProfileCellInput, R as RunRecord } from './run-record-etiCMsUq.js';
2
- import { L as LlmClientOptions, a as LlmRouteRequirements } from './llm-client-BXVRUZyX.js';
3
- import { h as ResearchReportOptions, d as ResearchReport, m as GateDecision } from './summary-report-DLxh4yWk.js';
1
+ import { a as RunSplitTag, b as RunTokenUsage, c as RunJudgeMetadata, J as JudgeScoresRecord, A as AgentProfileCell, d as AgentProfileCellInput, R as RunRecord } from './run-record-DgUVo5pw.js';
2
+ import { L as LlmClientOptions, a as LlmRouteRequirements } from './llm-client-DbjLfz-K.js';
3
+ import { h as ResearchReportOptions, d as ResearchReport, m as GateDecision } from './summary-report-BQvXpvaR.js';
4
4
  import { T as TraceEmitter, R as RunCompleteHook } from './emitter-DEZwY14K.js';
5
- import { R as RunIntegrityExpectations, a as RunIntegrityReport } from './integrity-CfXjSqEv.js';
5
+ import { R as RunIntegrityExpectations, a as RunIntegrityReport } from './integrity-CJzrpUua.js';
6
6
  import { R as RawProviderSink } from './raw-provider-sink-C46HDghv.js';
7
7
  import { F as FailureClass } from './schema-m0gsnbt3.js';
8
8
  import { T as TraceStore } from './store-CKUAgsJz.js';
package/dist/rl.d.ts CHANGED
@@ -1,20 +1,20 @@
1
- import { R as RunRecord, a as RunSplitTag } from './run-record-etiCMsUq.js';
2
- import { k as CampaignResult } from './types-BgrxOJSf.js';
3
- import { V as VerificationReport, R as Researcher, F as FailureMode, S as SteeringChange, E as ExperimentPlan, a as ExperimentResult, b as EvalCampaignResult, c as EvalCampaignOptions } from './researcher-JP8EvnLv.js';
4
- export { r as runEvalCampaign } from './researcher-JP8EvnLv.js';
1
+ import { R as RunRecord, a as RunSplitTag } from './run-record-DgUVo5pw.js';
2
+ import { C as CampaignResult } from './types-Beb6KPqZ.js';
3
+ import { V as VerificationReport, R as Researcher, F as FailureMode, S as SteeringChange, E as ExperimentPlan, a as ExperimentResult, b as EvalCampaignResult, c as EvalCampaignOptions } from './researcher-BaVsy0sW.js';
4
+ export { r as runEvalCampaign } from './researcher-BaVsy0sW.js';
5
5
  import { S as Span } from './schema-m0gsnbt3.js';
6
6
  import { T as TraceStore } from './store-CKUAgsJz.js';
7
7
  import { O as OutcomeStore } from './outcome-store-D6KWmYvj.js';
8
8
  export { D as DeploymentOutcome, F as FileSystemOutcomeStore, b as FileSystemOutcomeStoreOptions, I as InMemoryOutcomeStore } from './outcome-store-D6KWmYvj.js';
9
- import { b as RubricPredictiveValidityReport } from './rubric-predictive-validity-B3qNa4aY.js';
9
+ import { b as RubricPredictiveValidityReport } from './rubric-predictive-validity-DgBHWsh7.js';
10
10
  import { I as InterimReleaseConfidence } from './sequential-5iSVfzl2.js';
11
- import './errors-mje_cKOs.js';
12
- import './llm-client-BXVRUZyX.js';
11
+ import './errors-Dwqw-T_m.js';
12
+ import './llm-client-DbjLfz-K.js';
13
13
  import './raw-provider-sink-C46HDghv.js';
14
- import './summary-report-DLxh4yWk.js';
14
+ import './summary-report-BQvXpvaR.js';
15
15
  import './failure-cluster-CL7IVgkJ.js';
16
16
  import './emitter-DEZwY14K.js';
17
- import './integrity-CfXjSqEv.js';
17
+ import './integrity-CJzrpUua.js';
18
18
 
19
19
  /**
20
20
  * Test-time compute scaling curves.
package/dist/rl.js CHANGED
@@ -10,28 +10,28 @@ import {
10
10
  } from "./chunk-3RF76KTD.js";
11
11
  import {
12
12
  runEvalCampaign
13
- } from "./chunk-GM476SZU.js";
14
- import "./chunk-NCK5QLGT.js";
13
+ } from "./chunk-AIWHLG7J.js";
14
+ import "./chunk-F3SRAAZO.js";
15
15
  import {
16
16
  rubricPredictiveValidity
17
17
  } from "./chunk-YRZ4M5GS.js";
18
18
  import {
19
19
  evaluateInterimReleaseConfidence
20
20
  } from "./chunk-MAZ26DC7.js";
21
- import "./chunk-OLIBRKRD.js";
21
+ import "./chunk-KX6F6NCG.js";
22
22
  import {
23
23
  benjaminiHochberg,
24
24
  wilcoxonSignedRank
25
- } from "./chunk-S3SDD56V.js";
26
- import "./chunk-UBPIXOC4.js";
25
+ } from "./chunk-ITBRCT73.js";
26
+ import "./chunk-SBCB6VZY.js";
27
27
  import "./chunk-TVVP3ZZQ.js";
28
28
  import "./chunk-VSMTAMNK.js";
29
- import "./chunk-VXNVVBZO.js";
29
+ import "./chunk-IHDHUN2X.js";
30
30
  import "./chunk-PC4UYEBM.js";
31
31
  import {
32
32
  ValidationError
33
- } from "./chunk-QYJT52YW.js";
34
- import "./chunk-NSBPE2FW.js";
33
+ } from "./chunk-3BFEG2F6.js";
34
+ import "./chunk-PZ5AY32C.js";
35
35
 
36
36
  // src/rl/compute-curves.ts
37
37
  async function runComputeCurve(opts) {
@@ -1,4 +1,4 @@
1
- import { R as RunRecord } from './run-record-etiCMsUq.js';
1
+ import { R as RunRecord } from './run-record-DgUVo5pw.js';
2
2
  import { O as OutcomeStore } from './outcome-store-D6KWmYvj.js';
3
3
 
4
4
  /**
@@ -0,0 +1,10 @@
1
+ import {
2
+ runCampaign
3
+ } from "./chunk-OLULBECP.js";
4
+ import "./chunk-ITBRCT73.js";
5
+ import "./chunk-3BFEG2F6.js";
6
+ import "./chunk-PZ5AY32C.js";
7
+ export {
8
+ runCampaign
9
+ };
10
+ //# sourceMappingURL=run-campaign-HXPJAUZ3.js.map
@@ -1,4 +1,4 @@
1
- import { V as ValidationError } from './errors-mje_cKOs.js';
1
+ import { V as ValidationError } from './errors-Dwqw-T_m.js';
2
2
  import { F as FailureClass } from './schema-m0gsnbt3.js';
3
3
 
4
4
  type AgentProfileCellSchemaVersion = 'agent-profile-cell/v1';
@@ -1,4 +1,4 @@
1
- import { R as RunRecord } from './run-record-etiCMsUq.js';
1
+ import { R as RunRecord } from './run-record-DgUVo5pw.js';
2
2
  import { F as FailureClusterReport } from './failure-cluster-CL7IVgkJ.js';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "../chunk-NSBPE2FW.js";
1
+ import "../chunk-PZ5AY32C.js";
2
2
 
3
3
  // src/telemetry/sink-file.ts
4
4
  import * as fs from "fs";
@@ -1,4 +1,4 @@
1
- import "../chunk-NSBPE2FW.js";
1
+ import "../chunk-PZ5AY32C.js";
2
2
 
3
3
  // src/telemetry/schema.ts
4
4
  var TELEMETRY_SCHEMA_VERSION = 1;
package/dist/traces.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { N as NotFoundError, R as ReplayError } from './errors-mje_cKOs.js';
1
+ import { N as NotFoundError, R as ReplayError } from './errors-Dwqw-T_m.js';
2
2
  import { P as ProviderRedactor, R as RawProviderSink, d as RawProviderEvent } from './raw-provider-sink-C46HDghv.js';
3
3
  export { F as FileSystemRawProviderSink, a as FileSystemRawProviderSinkOptions, I as InMemoryRawProviderSink, b as InMemoryRawProviderSinkOptions, N as NoopRawProviderSink, c as RawProviderDirection, e as RawProviderSinkFilter, f as defaultProviderRedactor, p as providerFromBaseUrl } from './raw-provider-sink-C46HDghv.js';
4
4
  import { R as RunCompleteHook, a as RunCompleteHookContext } from './emitter-DEZwY14K.js';
5
5
  export { S as SpanHandle, T as TraceEmitter, b as TraceEmitterOptions, l as llmSpanFromProvider } from './emitter-DEZwY14K.js';
6
- export { b as RunIntegrityError, R as RunIntegrityExpectations, c as RunIntegrityIssue, d as RunIntegrityIssueCode, a as RunIntegrityReport, e as assertRunCaptured, t as throwIfRunIncomplete } from './integrity-CfXjSqEv.js';
6
+ export { b as RunIntegrityError, R as RunIntegrityExpectations, c as RunIntegrityIssue, d as RunIntegrityIssueCode, a as RunIntegrityReport, e as assertRunCaptured, t as throwIfRunIncomplete } from './integrity-CJzrpUua.js';
7
7
  import { T as TraceStore } from './store-CKUAgsJz.js';
8
8
  export { E as EventFilter, F as FileSystemTraceStore, a as FileSystemTraceStoreOptions, I as InMemoryTraceStore, R as RunFilter, S as SpanFilter } from './store-CKUAgsJz.js';
9
9
  export { a as aggregateLlm, b as argHash, g as groupBy, j as judgeSpans, l as llmSpans, r as runFailureClass, c as runsForScenario, t as toolSpans } from './query-CqTxMwDw.js';
package/dist/traces.js CHANGED
@@ -34,7 +34,7 @@ import {
34
34
  tokenizeDomainWords,
35
35
  traceAnalystFunctionGroup,
36
36
  traceAnalystOnRunComplete
37
- } from "./chunk-PIEAE33T.js";
37
+ } from "./chunk-Z4ZCBC7M.js";
38
38
  import {
39
39
  DEFAULT_REDACTION_RULES,
40
40
  REDACTION_VERSION,
@@ -64,7 +64,7 @@ import {
64
64
  RunIntegrityError,
65
65
  assertRunCaptured,
66
66
  throwIfRunIncomplete
67
- } from "./chunk-UBPIXOC4.js";
67
+ } from "./chunk-SBCB6VZY.js";
68
68
  import {
69
69
  TraceEmitter,
70
70
  llmSpanFromProvider
@@ -77,8 +77,8 @@ import {
77
77
  defaultProviderRedactor,
78
78
  providerFromBaseUrl
79
79
  } from "./chunk-PC4UYEBM.js";
80
- import "./chunk-QYJT52YW.js";
81
- import "./chunk-NSBPE2FW.js";
80
+ import "./chunk-3BFEG2F6.js";
81
+ import "./chunk-PZ5AY32C.js";
82
82
  export {
83
83
  DEFAULT_REDACTION_RULES,
84
84
  DEFAULT_TRACE_ANALYST_BUDGETS,