@tangle-network/agent-eval 0.85.0 → 0.89.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 (136) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/adapters/http.d.ts +3 -3
  3. package/dist/adapters/langchain.d.ts +3 -3
  4. package/dist/adapters/otel.d.ts +6 -6
  5. package/dist/adversarial-DIVcDoI_.d.ts +88 -0
  6. package/dist/analyst/index.d.ts +11 -10
  7. package/dist/analyst/index.js +13 -8
  8. package/dist/analyst/index.js.map +1 -1
  9. package/dist/analyze-runs-DwCEkpO_.d.ts +81 -0
  10. package/dist/belief-state/index.d.ts +4 -4
  11. package/dist/belief-state/index.js +1 -1
  12. package/dist/benchmarks/index.d.ts +3 -3
  13. package/dist/campaign/index.d.ts +165 -18
  14. package/dist/campaign/index.js +289 -14
  15. package/dist/campaign/index.js.map +1 -1
  16. package/dist/chunk-45EEMHTC.js +35 -0
  17. package/dist/chunk-45EEMHTC.js.map +1 -0
  18. package/dist/{chunk-FZWAFVAA.js → chunk-4FBZZIYD.js} +2 -2
  19. package/dist/{chunk-YV7J7X5N.js → chunk-5HRORJQY.js} +22 -12
  20. package/dist/chunk-5HRORJQY.js.map +1 -0
  21. package/dist/{chunk-OTYQPHPL.js → chunk-6SOJM3VR.js} +5 -5
  22. package/dist/chunk-BOD4O7OF.js +40 -0
  23. package/dist/chunk-BOD4O7OF.js.map +1 -0
  24. package/dist/{chunk-Z7VFTS2J.js → chunk-CY6U5S3X.js} +2 -2
  25. package/dist/{chunk-VIDQF3F5.js → chunk-D3V5B42D.js} +5 -34
  26. package/dist/chunk-D3V5B42D.js.map +1 -0
  27. package/dist/{chunk-YGYXHNAQ.js → chunk-FIUKOSWI.js} +21 -8
  28. package/dist/chunk-FIUKOSWI.js.map +1 -0
  29. package/dist/{chunk-WJL2NJXN.js → chunk-GSH6QNNS.js} +2 -2
  30. package/dist/{chunk-RBNA5AZT.js → chunk-L3JOU6XM.js} +2 -2
  31. package/dist/{chunk-IDVBLYCY.js → chunk-LMZQ2Z4U.js} +56 -2
  32. package/dist/{chunk-IDVBLYCY.js.map → chunk-LMZQ2Z4U.js.map} +1 -1
  33. package/dist/{chunk-VUINJM5M.js → chunk-QAY5UIJO.js} +2 -193
  34. package/dist/chunk-QAY5UIJO.js.map +1 -0
  35. package/dist/{chunk-XQL22JDG.js → chunk-QG2OVF2D.js} +101 -7
  36. package/dist/chunk-QG2OVF2D.js.map +1 -0
  37. package/dist/chunk-REVYNR6C.js +100 -0
  38. package/dist/chunk-REVYNR6C.js.map +1 -0
  39. package/dist/{chunk-ZZ2HOPME.js → chunk-TWS7AZEY.js} +2 -2
  40. package/dist/chunk-UHMJT4T7.js +200 -0
  41. package/dist/chunk-UHMJT4T7.js.map +1 -0
  42. package/dist/chunk-UMMZHCPB.js +190 -0
  43. package/dist/chunk-UMMZHCPB.js.map +1 -0
  44. package/dist/chunk-VZSRQ272.js +149 -0
  45. package/dist/chunk-VZSRQ272.js.map +1 -0
  46. package/dist/{chunk-L5G7OUKD.js → chunk-XY4DDNEG.js} +8 -190
  47. package/dist/chunk-XY4DDNEG.js.map +1 -0
  48. package/dist/chunk-Y47J2LJ3.js +859 -0
  49. package/dist/chunk-Y47J2LJ3.js.map +1 -0
  50. package/dist/{chunk-BABOZOSN.js → chunk-ZFIBGEOL.js} +3 -3
  51. package/dist/chunk-ZFIBGEOL.js.map +1 -0
  52. package/dist/{code-agent-session-BRXmavYv.d.ts → code-agent-session-BO8nCnv3.d.ts} +1 -1
  53. package/dist/contract/index.d.ts +24 -95
  54. package/dist/contract/index.js +16 -755
  55. package/dist/contract/index.js.map +1 -1
  56. package/dist/{control-GeE8OhpN.d.ts → control-_Qb7skHX.d.ts} +2 -2
  57. package/dist/control.d.ts +5 -5
  58. package/dist/corpus-BoR-041R.d.ts +560 -0
  59. package/dist/cost-ledger-DuSqlw5B.d.ts +113 -0
  60. package/dist/counterfactual-Dwibr5IW.d.ts +85 -0
  61. package/dist/{dataset-B2kL-fSM.d.ts → dataset-BbGkaN2I.d.ts} +1 -1
  62. package/dist/{registry-DrEQ3Luj.d.ts → default-registry-zoGHUQEH.d.ts} +29 -2
  63. package/dist/diagnose.d.ts +251 -0
  64. package/dist/diagnose.js +381 -0
  65. package/dist/diagnose.js.map +1 -0
  66. package/dist/{errors-Dwqw-T_m.d.ts → errors-CzMUYo7b.d.ts} +1 -1
  67. package/dist/{feedback-trajectory-B3rErRsh.d.ts → feedback-trajectory-D9OVLrg9.d.ts} +1 -1
  68. package/dist/fuzz.d.ts +484 -0
  69. package/dist/fuzz.js +613 -0
  70. package/dist/fuzz.js.map +1 -0
  71. package/dist/governance/index.d.ts +4 -4
  72. package/dist/hosted/index.d.ts +6 -6
  73. package/dist/{index-DE3RXAXD.d.ts → index-Bx3gZ8xl.d.ts} +1 -1
  74. package/dist/index.d.ts +1073 -344
  75. package/dist/index.js +2099 -689
  76. package/dist/index.js.map +1 -1
  77. package/dist/{insight-report-3ADTfClO.d.ts → insight-report-BBwvOh6x.d.ts} +2 -2
  78. package/dist/{integrity-CJzrpUua.d.ts → integrity-VJ9A7aST.d.ts} +1 -1
  79. package/dist/{judge-calibration-DilmB3Ml.d.ts → judge-calibration-0p2QcWNE.d.ts} +1 -1
  80. package/dist/{kind-factory-CVecZZG_.d.ts → kind-factory-5b7xXXOr.d.ts} +2 -2
  81. package/dist/{llm-client-CuUg2Mn3.d.ts → llm-client-BeEcAokY.d.ts} +1 -1
  82. package/dist/matrix/index.d.ts +2 -2
  83. package/dist/meta-eval/index.d.ts +177 -3
  84. package/dist/meta-eval/index.js +260 -1
  85. package/dist/meta-eval/index.js.map +1 -1
  86. package/dist/{multi-layer-verifier-DlWCXuxL.d.ts → multi-layer-verifier-DUZXrPDA.d.ts} +7 -1
  87. package/dist/multishot/index.d.ts +25 -11
  88. package/dist/multishot/index.js +36 -7
  89. package/dist/multishot/index.js.map +1 -1
  90. package/dist/openapi.json +1 -1
  91. package/dist/pipelines/index.js +2 -2
  92. package/dist/{agent-profile-D0PBIWlV.d.ts → pre-registration-DELOEJ8v.d.ts} +144 -4
  93. package/dist/{provenance-DPpNIOJD.d.ts → provenance-LnqRT0sS.d.ts} +5 -5
  94. package/dist/{red-team-DW9Ca_tj.d.ts → red-team-BXHil6c8.d.ts} +1 -1
  95. package/dist/{release-report-hlNtD12q.d.ts → release-report-euXIV_Sk.d.ts} +3 -3
  96. package/dist/reporting.d.ts +8 -8
  97. package/dist/reporting.js +3 -3
  98. package/dist/{researcher-BLPHBbNV.d.ts → researcher-DE6Gpnb4.d.ts} +4 -4
  99. package/dist/rl.d.ts +194 -656
  100. package/dist/rl.js +236 -154
  101. package/dist/rl.js.map +1 -1
  102. package/dist/{rubric-predictive-validity-CnEl9Jc8.d.ts → rubric-predictive-validity-Cy_W-hWZ.d.ts} +1 -1
  103. package/dist/{run-campaign-4Y5V5CN3.js → run-campaign-RDGAM5KJ.js} +3 -3
  104. package/dist/{run-improvement-loop-CNqQckTj.d.ts → run-improvement-loop-5z_l5zDz.d.ts} +2 -2
  105. package/dist/{run-record-De9VarXR.d.ts → run-record-e7vj1uZQ.d.ts} +1 -1
  106. package/dist/{runtime-trajectory-BLRiaifm.d.ts → runtime-trajectory-BDgfGZSr.d.ts} +1 -1
  107. package/dist/{semantic-concept-judge-DIEgr_6v.d.ts → semantic-concept-judge-Dn8Z6KEG.d.ts} +5 -31
  108. package/dist/series-convergence-D5OWMBg6.d.ts +33 -0
  109. package/dist/{statistics-CnC1FMbx.d.ts → statistics-C7PozGrZ.d.ts} +71 -2
  110. package/dist/{summary-report-Db0dDSWP.d.ts → summary-report-DGmUucwQ.d.ts} +1 -1
  111. package/dist/traces.d.ts +58 -4
  112. package/dist/traces.js +14 -6
  113. package/dist/{types-Cu3u_x59.d.ts → types-2VVIL04s.d.ts} +2 -2
  114. package/dist/{types-D7lLRYe9.d.ts → types-BU-7W85F.d.ts} +21 -1
  115. package/dist/{types-CqPax19X.d.ts → types-mn5Aqk7x.d.ts} +1 -1
  116. package/dist/{verdict-CeEgtjyI.d.ts → verdict-C9MlYujm.d.ts} +3 -0
  117. package/dist/wire/index.d.ts +3 -3
  118. package/dist/workflow/index.d.ts +12 -11
  119. package/dist/workflow/index.js +1 -1
  120. package/package.json +36 -13
  121. package/dist/chunk-BABOZOSN.js.map +0 -1
  122. package/dist/chunk-L5G7OUKD.js.map +0 -1
  123. package/dist/chunk-SHTXZ4O2.js +0 -113
  124. package/dist/chunk-SHTXZ4O2.js.map +0 -1
  125. package/dist/chunk-VIDQF3F5.js.map +0 -1
  126. package/dist/chunk-VUINJM5M.js.map +0 -1
  127. package/dist/chunk-XQL22JDG.js.map +0 -1
  128. package/dist/chunk-YGYXHNAQ.js.map +0 -1
  129. package/dist/chunk-YV7J7X5N.js.map +0 -1
  130. /package/dist/{chunk-FZWAFVAA.js.map → chunk-4FBZZIYD.js.map} +0 -0
  131. /package/dist/{chunk-OTYQPHPL.js.map → chunk-6SOJM3VR.js.map} +0 -0
  132. /package/dist/{chunk-Z7VFTS2J.js.map → chunk-CY6U5S3X.js.map} +0 -0
  133. /package/dist/{chunk-WJL2NJXN.js.map → chunk-GSH6QNNS.js.map} +0 -0
  134. /package/dist/{chunk-RBNA5AZT.js.map → chunk-L3JOU6XM.js.map} +0 -0
  135. /package/dist/{chunk-ZZ2HOPME.js.map → chunk-TWS7AZEY.js.map} +0 -0
  136. /package/dist/{run-campaign-4Y5V5CN3.js.map → run-campaign-RDGAM5KJ.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { R as RunRecord } from './run-record-De9VarXR.js';
1
+ import { R as RunRecord } from './run-record-e7vj1uZQ.js';
2
2
  import { b as OutcomeStore } from './outcome-store-rnXLEqSn.js';
3
3
 
4
4
  /**
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runCampaign
3
- } from "./chunk-ZZ2HOPME.js";
4
- import "./chunk-IDVBLYCY.js";
3
+ } from "./chunk-TWS7AZEY.js";
4
+ import "./chunk-LMZQ2Z4U.js";
5
5
  import "./chunk-3BFEG2F6.js";
6
6
  import "./chunk-PZ5AY32C.js";
7
7
  export {
8
8
  runCampaign
9
9
  };
10
- //# sourceMappingURL=run-campaign-4Y5V5CN3.js.map
10
+ //# sourceMappingURL=run-campaign-RDGAM5KJ.js.map
@@ -1,5 +1,5 @@
1
- import { L as LlmClientOptions } from './llm-client-CuUg2Mn3.js';
2
- import { I as ImprovementDriver, S as Scenario, g as CampaignResult, k as GateResult, D as DispatchFn, a as JudgeConfig, L as LabeledScenarioStore, h as CampaignTraceWriter, m as GenerationRecord, M as MutableSurface, P as ParetoParent, G as Gate } from './types-D7lLRYe9.js';
1
+ import { L as LlmClientOptions } from './llm-client-BeEcAokY.js';
2
+ import { I as ImprovementDriver, S as Scenario, g as CampaignResult, k as GateResult, D as DispatchFn, a as JudgeConfig, L as LabeledScenarioStore, h as CampaignTraceWriter, m as GenerationRecord, M as MutableSurface, P as ParetoParent, G as Gate } from './types-BU-7W85F.js';
3
3
 
4
4
  /**
5
5
  * @experimental
@@ -1,4 +1,4 @@
1
- import { V as ValidationError } from './errors-Dwqw-T_m.js';
1
+ import { V as ValidationError } from './errors-CzMUYo7b.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 { a as RunSplitTag } from './run-record-De9VarXR.js';
1
+ import { a as RunSplitTag } from './run-record-e7vj1uZQ.js';
2
2
 
3
3
  interface RuntimeTrajectoryHookEvent {
4
4
  id: string;
@@ -1,11 +1,10 @@
1
1
  import { AxAIService } from '@ax-llm/ax';
2
- import { c as TraceAnalystKindSpec } from './kind-factory-CVecZZG_.js';
3
- import { b as AnalystRegistryOptions, a as AnalystRegistry } from './registry-DrEQ3Luj.js';
4
2
  import { z } from 'zod';
5
- import { c as AnalystFinding, A as Analyst, a as AnalystContext } from './types-Cu3u_x59.js';
3
+ import { c as AnalystFinding, A as Analyst, a as AnalystContext } from './types-2VVIL04s.js';
4
+ import { T as TraceAnalystKindSpec } from './kind-factory-5b7xXXOr.js';
6
5
  import { a as TraceAnalystSpan } from './store-C1YxJDEK.js';
7
- import { L as LlmClientOptions } from './llm-client-CuUg2Mn3.js';
8
- import { S as Severity } from './multi-layer-verifier-DlWCXuxL.js';
6
+ import { L as LlmClientOptions } from './llm-client-BeEcAokY.js';
7
+ import { S as Severity } from './multi-layer-verifier-DUZXrPDA.js';
9
8
 
10
9
  interface CreateAnalystAiConfig {
11
10
  /** OpenAI-compatible API key forwarded as `Authorization: Bearer`.
@@ -33,31 +32,6 @@ interface CreateAnalystAiConfig {
33
32
  */
34
33
  declare function createAnalystAi(config: CreateAnalystAiConfig): AxAIService;
35
34
 
36
- /**
37
- * `buildDefaultAnalystRegistry` — the canonical analyst suite, so consumers
38
- * stop hand-wiring `new AnalystRegistry()` + per-kind `createTraceAnalystKind`.
39
- *
40
- * The deterministic `behavioralAnalyst` is ALWAYS registered (it needs no
41
- * model and is model-agnostic by construction). The agentic RLM kinds are
42
- * registered only when an `ai` service is supplied — so a caller with no LLM
43
- * still gets the full behavioral/efficiency diagnosis, and the substrate's
44
- * "any model (including no model)" guarantee holds at the suite level.
45
- */
46
-
47
- interface DefaultAnalystRegistryOptions {
48
- /** Ax service for the agentic RLM kinds. Omit → only the deterministic analyst. */
49
- ai?: AxAIService;
50
- /** Model for the agentic kinds (falls back to the ai service default). */
51
- model?: string;
52
- /** Which agentic kinds to register when `ai` is present. Default = the shipped suite. */
53
- kinds?: readonly TraceAnalystKindSpec[];
54
- /** Set false to omit the deterministic behavioral analyst (default: include). */
55
- includeBehavioral?: boolean;
56
- /** Forwarded to the AnalystRegistry constructor (signal, tags, priorFindings). */
57
- registry?: AnalystRegistryOptions;
58
- }
59
- declare function buildDefaultAnalystRegistry(opts?: DefaultAnalystRegistryOptions): AnalystRegistry;
60
-
61
35
  /**
62
36
  * Typed `FindingSubject` — the canonical grammar every analyst kind emits.
63
37
  *
@@ -647,4 +621,4 @@ declare function runSemanticConceptJudge(input: SemanticConceptJudgeInput, optio
647
621
  */
648
622
  declare function createSemanticConceptJudge(options?: SemanticConceptJudgeOptions): (input: SemanticConceptJudgeInput) => Promise<SemanticConceptJudgeResult>;
649
623
 
650
- export { type ConceptFinding as A, type BehavioralMetrics as B, type CreateAnalystAiConfig as C, DEFAULT_TRACE_ANALYST_KINDS as D, type ConceptSpec as E, FAILURE_MODE_KIND_SPEC as F, type ConceptWeightStrategy as G, DEFAULT_COMPLEXITY_WEIGHTS as H, IMPROVEMENT_KIND_SPEC as I, SEMANTIC_CONCEPT_JUDGE_VERSION as J, KIND_EXPECTED_SUBJECTS as K, type SemanticConceptJudgeResult as L, type SuboptimalCode as M, type SuboptimalSignal as N, computeTraceMetrics as O, type PersistedFinding as P, createSemanticConceptJudge as Q, runSemanticConceptJudge as R, type SemanticConceptJudgeOptions as S, type SemanticConceptJudgeInput as a, type DefaultAnalystRegistryOptions as b, type DiffPolicy as c, FINDING_SUBJECT_GRAMMAR_PROMPT as d, FINDING_SUBJECT_KINDS as e, type FindingSubject as f, type FindingSubjectKind as g, FindingSubjectStringSchema as h, type FindingsDiff as i, FindingsStore as j, KNOWLEDGE_GAP_KIND_SPEC as k, KNOWLEDGE_POISONING_KIND_SPEC as l, SKILL_USAGE_ANALYST as m, SkillUsageAnalyst as n, type SkillUsageRecord as o, type SkillUsageReport as p, type SkillUsageScanConfig as q, buildDefaultAnalystRegistry as r, buildSkillUsageReport as s, createAnalystAi as t, defaultIsMaterial as u, diffFindings as v, emitSkillUsageFindings as w, parseFindingSubject as x, renderFindingSubject as y, type ConceptComplexity as z };
624
+ export { type ConceptWeightStrategy as A, type BehavioralMetrics as B, type CreateAnalystAiConfig as C, DEFAULT_TRACE_ANALYST_KINDS as D, DEFAULT_COMPLEXITY_WEIGHTS as E, FAILURE_MODE_KIND_SPEC as F, SEMANTIC_CONCEPT_JUDGE_VERSION as G, type SemanticConceptJudgeResult as H, IMPROVEMENT_KIND_SPEC as I, type SuboptimalCode as J, KIND_EXPECTED_SUBJECTS as K, type SuboptimalSignal as L, computeTraceMetrics as M, createSemanticConceptJudge as N, runSemanticConceptJudge as O, type PersistedFinding as P, type SemanticConceptJudgeOptions as S, type SemanticConceptJudgeInput as a, type DiffPolicy as b, FINDING_SUBJECT_GRAMMAR_PROMPT as c, FINDING_SUBJECT_KINDS as d, type FindingSubject as e, type FindingSubjectKind as f, FindingSubjectStringSchema as g, type FindingsDiff as h, FindingsStore as i, KNOWLEDGE_GAP_KIND_SPEC as j, KNOWLEDGE_POISONING_KIND_SPEC as k, SKILL_USAGE_ANALYST as l, SkillUsageAnalyst as m, type SkillUsageRecord as n, type SkillUsageReport as o, type SkillUsageScanConfig as p, buildSkillUsageReport as q, createAnalystAi as r, defaultIsMaterial as s, diffFindings as t, emitSkillUsageFindings as u, parseFindingSubject as v, renderFindingSubject as w, type ConceptComplexity as x, type ConceptFinding as y, type ConceptSpec as z };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Series convergence — detects whether a sequence of scalar measurements
3
+ * is stabilizing, drifting, or noisy.
4
+ *
5
+ * Lifted from ADC convergence.ts. The per-turn `ConvergenceTracker` is
6
+ * about progress *within* a single run; this module is about drift
7
+ * *across* runs (e.g. "are my nightly eval scores stabilizing?").
8
+ *
9
+ * Three signals:
10
+ * - stabilized: last K values have low variance (< epsilon) — done
11
+ * - drifting: recent trend is monotonic and beyond noise — regressing or improving
12
+ * - noisy: neither — keep iterating, but flag as untrustworthy for gating
13
+ */
14
+ interface SeriesConvergenceOptions {
15
+ /** Window size for "recent" analysis (default 5). */
16
+ window?: number;
17
+ /** Coefficient-of-variation threshold below which the window is stabilized (default 0.05 = 5%). */
18
+ stableCv?: number;
19
+ /** Minimum monotone run length to call drift (default 3). */
20
+ driftRun?: number;
21
+ }
22
+ interface SeriesConvergenceResult {
23
+ state: 'stabilized' | 'drifting-up' | 'drifting-down' | 'noisy' | 'insufficient-data';
24
+ windowMean: number;
25
+ windowCv: number;
26
+ /** Longest monotonic run at the tail of the series (positive for up, negative for down). */
27
+ tailRun: number;
28
+ /** True when n ≥ window AND windowCv ≤ stableCv. */
29
+ stable: boolean;
30
+ }
31
+ declare function analyzeSeries(values: number[], options?: SeriesConvergenceOptions): SeriesConvergenceResult;
32
+
33
+ export { type SeriesConvergenceOptions as S, type SeriesConvergenceResult as a, analyzeSeries as b };
@@ -1,4 +1,4 @@
1
- import { C as ContinuousAgreementOptions, a as ContinuousAgreement } from './judge-calibration-DilmB3Ml.js';
1
+ import { d as ContinuousAgreementOptions, C as ContinuousAgreement } from './judge-calibration-0p2QcWNE.js';
2
2
  import { J as JudgeScore } from './types-Croy5h7V.js';
3
3
 
4
4
  /** Identity: dimensions already follow "higher = better" by prompt convention
@@ -245,5 +245,74 @@ interface PairedBootstrapOptions {
245
245
  * gain is real at the confidence level. Throws on unequal sample sizes.
246
246
  */
247
247
  declare function pairedBootstrap(before: number[], after: number[], opts?: PairedBootstrapOptions): PairedBootstrapResult;
248
+ interface EProcessOptions {
249
+ /** Type-I error budget. The process decides when wealth ≥ 1/alpha
250
+ * (Ville's inequality). Default 0.05. */
251
+ alpha?: number;
252
+ /** Truncation bound on the predictable bet λ ∈ [0, maxBet]. Must satisfy
253
+ * maxBet < 1/nullMean so every wealth factor stays strictly positive.
254
+ * Default 0.5. */
255
+ maxBet?: number;
256
+ /** The null boundary m₀ for H0: E[x] ≤ m₀ on x ∈ [0,1]. Default 0.5
257
+ * (the paired-delta encoding x = (d+1)/2 maps "no effect" to 1/2).
258
+ * A pre-registered minEffect shifts this — see `sequentialPairedGate`. */
259
+ nullMean?: number;
260
+ }
261
+ interface EProcessStep {
262
+ /** Current wealth W_n — the e-value against H0 after n observations. */
263
+ wealth: number;
264
+ /** Observations consumed so far. */
265
+ n: number;
266
+ /** True from the first n where W_n ≥ 1/alpha onward (sticky). */
267
+ decided: boolean;
268
+ }
269
+ interface EProcessState extends EProcessStep {
270
+ alpha: number;
271
+ maxBet: number;
272
+ nullMean: number;
273
+ /** The decision boundary 1/alpha. */
274
+ threshold: number;
275
+ /** Observation count at the first threshold crossing; undefined until decided. */
276
+ decidedAtN?: number;
277
+ }
278
+ interface EProcess {
279
+ /** Consume one observation x ∈ [0,1]. Throws on non-finite / out-of-range
280
+ * input — a silent clamp would corrupt the type-I guarantee. */
281
+ update(x: number): EProcessStep;
282
+ state(): EProcessState;
283
+ }
284
+ /**
285
+ * Betting test-martingale for bounded observations — the e-process core of
286
+ * anytime-valid sequential testing (Waudby-Smith & Ramdas, "Estimating means
287
+ * of bounded random variables by betting", JRSS-B 2024).
288
+ *
289
+ * Observations x_i ∈ [0,1]; H0: E[x] ≤ m₀ (`nullMean`, default 1/2). Wealth
290
+ *
291
+ * W_t = Π_{i≤t} (1 + λ_i (x_i − m₀)), W_0 = 1
292
+ *
293
+ * with the truncated GROW-style plug-in bet computed from PRIOR observations:
294
+ *
295
+ * λ_i = clamp((μ̂_{i−1} − m₀) / (σ̂²_{i−1} + (μ̂_{i−1} − m₀)²), 0, maxBet)
296
+ *
297
+ * where μ̂/σ̂² are the shrunk running estimates μ̂_t = (1/2 + Σx_i)/(t+1),
298
+ * σ̂²_t = (1/4 + Σ(x_i − μ̂_i)²)/(t+1).
299
+ *
300
+ * PREDICTABILITY INVARIANT (load-bearing): λ_i is a function of x_1..x_{i−1}
301
+ * ONLY — it may never see x_i. With λ_i ≥ 0 predictable, each factor has
302
+ * E[1 + λ_i(x_i − m₀) | past] ≤ 1 under H0, so W is a nonnegative
303
+ * supermartingale and Ville's inequality gives P(∃t: W_t ≥ 1/α) ≤ α — the
304
+ * type-I guarantee holds at ANY data-dependent stopping time. λ_1 is always 0
305
+ * (no prior evidence), so the first observation never moves wealth.
306
+ *
307
+ * `decided` latches at the first crossing W_t ≥ 1/α and never un-latches;
308
+ * wealth keeps updating after the crossing (the e-process remains valid), but
309
+ * the decision time is the first crossing.
310
+ */
311
+ declare function eProcess(opts?: EProcessOptions): EProcess;
312
+ /** Tiny seedable PRNG (mulberry32) — deterministic resampling/shuffling, not
313
+ * cryptographic. Exported so e-process shuffles and bootstrap resampling
314
+ * share ONE PRNG implementation; a seed is REQUIRED (unseeded randomness in
315
+ * gate verdicts is non-reproducible by construction). */
316
+ declare function mulberry32(seed: number): () => number;
248
317
 
249
- export { type CliffsMagnitude as C, type PairedBootstrapOptions as P, type WeightedCompositeInput as W, type PairedBootstrapResult as a, benjaminiHochberg as b, type CorpusAgreementOptions as c, type CorpusAgreementPerDimension as d, type CorpusAgreementReport as e, type CorpusScoreRecord as f, type WeightedCompositeResult as g, bonferroni as h, cliffsDelta as i, cohensD as j, confidenceInterval as k, corpusInterRaterAgreement as l, corpusInterRaterAgreementFromJudgeScores as m, interRaterReliability as n, interpretCliffs as o, pairedBootstrap as p, mannWhitneyU as q, normalizeScores as r, pairedMde as s, pairedTTest as t, partialCredit as u, requiredSampleSize as v, wilcoxonSignedRank as w, weightedComposite as x, weightedMean as y };
318
+ export { partialCredit as A, requiredSampleSize as B, type CorpusAgreementReport as C, weightedComposite as D, type EProcessState as E, weightedMean as F, type PairedBootstrapOptions as P, type WeightedCompositeInput as W, type PairedBootstrapResult as a, benjaminiHochberg as b, type CliffsMagnitude as c, type CorpusAgreementOptions as d, type CorpusAgreementPerDimension as e, type CorpusScoreRecord as f, type EProcess as g, type EProcessOptions as h, type EProcessStep as i, type WeightedCompositeResult as j, bonferroni as k, cliffsDelta as l, cohensD as m, confidenceInterval as n, corpusInterRaterAgreement as o, pairedBootstrap as p, corpusInterRaterAgreementFromJudgeScores as q, eProcess as r, interRaterReliability as s, interpretCliffs as t, mannWhitneyU as u, mulberry32 as v, wilcoxonSignedRank as w, normalizeScores as x, pairedMde as y, pairedTTest as z };
@@ -1,4 +1,4 @@
1
- import { R as RunRecord } from './run-record-De9VarXR.js';
1
+ import { R as RunRecord } from './run-record-e7vj1uZQ.js';
2
2
  import { F as FailureClusterReport } from './failure-cluster-CL7IVgkJ.js';
3
3
 
4
4
  /**
package/dist/traces.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { N as NotFoundError, R as ReplayError } from './errors-Dwqw-T_m.js';
1
+ import { N as NotFoundError, R as ReplayError } from './errors-CzMUYo7b.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 { a as RunCompleteHookContext, R as RunCompleteHook } 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-CJzrpUua.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-VJ9A7aST.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';
@@ -14,7 +14,7 @@ import { A as AnalyzeTracesOptions, b as AnalyzeTracesResult } from './analyst-C
14
14
  export { a as AnalyzeTracesInput, c as AnalyzeTracesTurnSnapshot, d as analyzeTraces } from './analyst-C8HHvfJp.js';
15
15
  import { h as TraceAnalystSpanKind, i as TraceAnalystSpanStatus, T as TraceAnalysisStore, g as TraceAnalystFilters, b as DatasetOverview, Q as QueryTracesPage, l as ViewTraceResult, V as ViewSpansResult, c as SearchTraceResult, S as SearchSpanResult } from './store-C1YxJDEK.js';
16
16
  export { D as DEFAULT_TRACE_ANALYST_BUDGETS, E as ErrorCluster, d as SpanMatchRecord, e as TRACE_ANALYST_TRUNCATION_MARKER_PREFIX, f as TraceAnalystByteBudgets, a as TraceAnalystSpan, j as TraceAnalystTraceSummary, k as ViewTraceOversized } from './store-C1YxJDEK.js';
17
- import { a as RunSplitTag, b as RunTokenUsage, R as RunRecord } from './run-record-De9VarXR.js';
17
+ import { a as RunSplitTag, b as RunTokenUsage, R as RunRecord } from './run-record-e7vj1uZQ.js';
18
18
  import { AxFunction } from '@ax-llm/ax';
19
19
 
20
20
  /**
@@ -581,6 +581,52 @@ declare function traceAnalystFunctionGroup(opts: BuildTraceAnalystToolsOpts): {
581
581
  functions: AxFunction[];
582
582
  };
583
583
 
584
+ /**
585
+ * Token-usage extraction from chat-completions responses and SSE streams.
586
+ *
587
+ * `captureFetchToRawSink` records the raw provider triple but deliberately does
588
+ * not interpret token usage — cost is a per-consumer axis. Three consumers each
589
+ * re-implement the same `usage` parser on top of the captured response (the
590
+ * OpenAI `prompt_tokens`/`completion_tokens` shape, the Anthropic
591
+ * `input_tokens`/`output_tokens` shape, and the camelCase variants), plus an
592
+ * SSE accumulator that sums the per-chunk `usage` deltas. This is the one
593
+ * canonical version.
594
+ *
595
+ * Both functions return `null` (not a silent `{ input: 0, output: 0 }`) when no
596
+ * usage is present, so a caller can tell "no usage reported" from "zero tokens".
597
+ */
598
+ interface ExtractedUsage {
599
+ input: number;
600
+ output: number;
601
+ /** Cached prompt tokens, when the provider reports them. */
602
+ cached?: number;
603
+ }
604
+ /**
605
+ * Pull `{ input, output, cached? }` from a parsed chat-completions response
606
+ * body. Accepts a top-level `usage` object (the common case) or a body that IS
607
+ * the usage object. Returns null when neither an input nor an output count is
608
+ * present — callers must inspect for null rather than treat it as zero cost.
609
+ */
610
+ declare function extractUsage(body: unknown): ExtractedUsage | null;
611
+ /**
612
+ * Sum token usage across an SSE response body. Each `data:` line is parsed and
613
+ * fed to `extractUsage`; the per-chunk counts are accumulated. The `[DONE]`
614
+ * sentinel and non-JSON lines are skipped. Returns null when no chunk carried
615
+ * usage — distinguishing a usage-less stream from a genuine zero.
616
+ *
617
+ * Providers report SSE usage in two ways: a single terminal chunk with the full
618
+ * totals, or incremental per-chunk deltas. Summing is correct for the delta
619
+ * case and harmless for the terminal case (one non-null chunk ⇒ the total).
620
+ */
621
+ declare function extractUsageFromSse(text: string): ExtractedUsage | null;
622
+ /**
623
+ * Extract usage from an HTTP `Response` without consuming the caller's body:
624
+ * clones, reads the text, and tries the JSON parser first, then the SSE
625
+ * accumulator. Best-effort — returns null on any read/parse miss so a usage tee
626
+ * never takes down the underlying call.
627
+ */
628
+ declare function extractUsageFromResponse(response: Response): Promise<ExtractedUsage | null>;
629
+
584
630
  /**
585
631
  * `captureFetchToRawSink` — wrap a `fetch` so every request / response / error
586
632
  * against a provider is recorded into a `RawProviderSink` as the canonical
@@ -617,6 +663,14 @@ interface CaptureFetchOptions {
617
663
  /** When true, a sink-write failure propagates to the caller. Default false
618
664
  * — capture is best-effort so a sink failure never kills the LLM call. */
619
665
  failClosed?: boolean;
666
+ /**
667
+ * Invoked with the token usage parsed off each successful response (JSON or
668
+ * SSE), keyed by the captured context. Lets a caller fold usage → cost without
669
+ * re-cloning the response themselves. Not called when the response carries no
670
+ * usage. Best-effort: a throw here is swallowed (it never kills the LLM call)
671
+ * unless `failClosed` is set.
672
+ */
673
+ onUsage?: (usage: ExtractedUsage, ctx: CaptureFetchContext) => void;
620
674
  }
621
675
  declare function captureFetchToRawSink(fetch: typeof globalThis.fetch, sink: RawProviderSink, ctx: CaptureFetchContext, opts?: CaptureFetchOptions): typeof globalThis.fetch;
622
676
 
@@ -890,4 +944,4 @@ declare function iterateRawCalls(sink: RawProviderSink, filter?: {
890
944
  spanId?: string;
891
945
  }): AsyncGenerator<ReplayCacheEntry>;
892
946
 
893
- export { AnalyzeTracesOptions, AnalyzeTracesResult, type CaptureFetchContext, type CaptureFetchOptions, DatasetOverview, type ExportableSpan, type FlattenOtlpOptions, OTEL_AGENT_EVAL_SCOPE, type OtelExportConfig, type OtelExporter, type OtlpExport, OtlpFileTraceStore, type OtlpFileTraceStoreOptions, type OtlpFlatLine, type OtlpResourceSpans, type OtlpSpan, type OtlpToRunRecordsOptions, type OtlpTraceRunRecord, type ProjectedOtlpSpan, ProviderRedactor, QueryTracesPage, RawProviderEvent, RawProviderSink, ReplayCache, type ReplayCacheEntry, ReplayCacheMissError, type ReplayCacheStats, type ReplayFetchOptions, Run, RunCompleteHook, RunCompleteHookContext, SearchSpanResult, SearchTraceResult, SpanNotFoundError, TRACE_ANALYST_ACTOR_DESCRIPTION, TRACE_ANALYST_ACTOR_DESCRIPTION_VERSION, TRACE_ANALYST_SUBAGENT_DESCRIPTION, type TraceAggregate, TraceAnalysisStore, TraceAnalystFilters, type TraceAnalystHookOptions, TraceAnalystSpanKind, TraceAnalystSpanStatus, TraceFileMissingError, type TraceInsightContext, type TraceInsightFinding, type TraceInsightPanelRole, type TraceInsightPromptInput, type TraceInsightQualityGate, type TraceInsightQuestion, type TraceInsightReadiness, type TraceInsightSuite, type TraceInsightTask, TraceNotFoundError, TraceStore, type TraceStoreSource, type TraceStoreToOtlpOptions, type TracesToOtlpResult, ViewSpansResult, ViewTraceResult, asNumber, asString, buildTraceAnalystTools, buildTraceInsightContext, buildTraceInsightPrompt, captureFetchToRawSink, convertTraceStoresToOtlp, createOtelExporter, createOtelTracingStore, createReplayFetch, defaultTraceInsightPanel, describeTraceInsightScope, domainEvidencePattern, exportRunAsOtlp, extractOtlpAttributes, firstNumberAttr, firstStringAttr, flattenOtlpExportToNdjson, inferDomainKeywords, inferOtlpKind, iterateRawCalls, otelRunCompleteHook, otlpToRunRecords, otlpToTraceRunRecords, planTraceInsightQuestions, projectOtlpFlatLine, readOtlpStatus, scoreTraceInsightReadiness, stringField, tokenizeDomainWords, traceAnalystFunctionGroup, traceAnalystOnRunComplete };
947
+ export { AnalyzeTracesOptions, AnalyzeTracesResult, type CaptureFetchContext, type CaptureFetchOptions, DatasetOverview, type ExportableSpan, type ExtractedUsage, type FlattenOtlpOptions, OTEL_AGENT_EVAL_SCOPE, type OtelExportConfig, type OtelExporter, type OtlpExport, OtlpFileTraceStore, type OtlpFileTraceStoreOptions, type OtlpFlatLine, type OtlpResourceSpans, type OtlpSpan, type OtlpToRunRecordsOptions, type OtlpTraceRunRecord, type ProjectedOtlpSpan, ProviderRedactor, QueryTracesPage, RawProviderEvent, RawProviderSink, ReplayCache, type ReplayCacheEntry, ReplayCacheMissError, type ReplayCacheStats, type ReplayFetchOptions, Run, RunCompleteHook, RunCompleteHookContext, SearchSpanResult, SearchTraceResult, SpanNotFoundError, TRACE_ANALYST_ACTOR_DESCRIPTION, TRACE_ANALYST_ACTOR_DESCRIPTION_VERSION, TRACE_ANALYST_SUBAGENT_DESCRIPTION, type TraceAggregate, TraceAnalysisStore, TraceAnalystFilters, type TraceAnalystHookOptions, TraceAnalystSpanKind, TraceAnalystSpanStatus, TraceFileMissingError, type TraceInsightContext, type TraceInsightFinding, type TraceInsightPanelRole, type TraceInsightPromptInput, type TraceInsightQualityGate, type TraceInsightQuestion, type TraceInsightReadiness, type TraceInsightSuite, type TraceInsightTask, TraceNotFoundError, TraceStore, type TraceStoreSource, type TraceStoreToOtlpOptions, type TracesToOtlpResult, ViewSpansResult, ViewTraceResult, asNumber, asString, buildTraceAnalystTools, buildTraceInsightContext, buildTraceInsightPrompt, captureFetchToRawSink, convertTraceStoresToOtlp, createOtelExporter, createOtelTracingStore, createReplayFetch, defaultTraceInsightPanel, describeTraceInsightScope, domainEvidencePattern, exportRunAsOtlp, extractOtlpAttributes, extractUsage, extractUsageFromResponse, extractUsageFromSse, firstNumberAttr, firstStringAttr, flattenOtlpExportToNdjson, inferDomainKeywords, inferOtlpKind, iterateRawCalls, otelRunCompleteHook, otlpToRunRecords, otlpToTraceRunRecords, planTraceInsightQuestions, projectOtlpFlatLine, readOtlpStatus, scoreTraceInsightReadiness, stringField, tokenizeDomainWords, traceAnalystFunctionGroup, traceAnalystOnRunComplete };
package/dist/traces.js CHANGED
@@ -15,6 +15,9 @@ import {
15
15
  describeTraceInsightScope,
16
16
  domainEvidencePattern,
17
17
  exportRunAsOtlp,
18
+ extractUsage,
19
+ extractUsageFromResponse,
20
+ extractUsageFromSse,
18
21
  flattenOtlpExportToNdjson,
19
22
  inferDomainKeywords,
20
23
  iterateRawCalls,
@@ -25,7 +28,7 @@ import {
25
28
  scoreTraceInsightReadiness,
26
29
  tokenizeDomainWords,
27
30
  traceAnalystOnRunComplete
28
- } from "./chunk-XQL22JDG.js";
31
+ } from "./chunk-QG2OVF2D.js";
29
32
  import {
30
33
  DEFAULT_REDACTION_RULES,
31
34
  REDACTION_VERSION,
@@ -52,16 +55,18 @@ import {
52
55
  isToolSpan
53
56
  } from "./chunk-5BKGXME7.js";
54
57
  import {
55
- DEFAULT_TRACE_ANALYST_BUDGETS,
56
- OtlpFileTraceStore,
57
- SpanNotFoundError,
58
58
  TRACE_ANALYST_ACTOR_DESCRIPTION,
59
59
  TRACE_ANALYST_ACTOR_DESCRIPTION_VERSION,
60
60
  TRACE_ANALYST_SUBAGENT_DESCRIPTION,
61
+ analyzeTraces
62
+ } from "./chunk-UHMJT4T7.js";
63
+ import {
64
+ DEFAULT_TRACE_ANALYST_BUDGETS,
65
+ OtlpFileTraceStore,
66
+ SpanNotFoundError,
61
67
  TRACE_ANALYST_TRUNCATION_MARKER_PREFIX,
62
68
  TraceFileMissingError,
63
69
  TraceNotFoundError,
64
- analyzeTraces,
65
70
  asNumber,
66
71
  asString,
67
72
  buildTraceAnalystTools,
@@ -73,7 +78,7 @@ import {
73
78
  readOtlpStatus,
74
79
  stringField,
75
80
  traceAnalystFunctionGroup
76
- } from "./chunk-VUINJM5M.js";
81
+ } from "./chunk-QAY5UIJO.js";
77
82
  import {
78
83
  RunIntegrityError,
79
84
  assertRunCaptured,
@@ -138,6 +143,9 @@ export {
138
143
  domainEvidencePattern,
139
144
  exportRunAsOtlp,
140
145
  extractOtlpAttributes,
146
+ extractUsage,
147
+ extractUsageFromResponse,
148
+ extractUsageFromSse,
141
149
  firstNumberAttr,
142
150
  firstStringAttr,
143
151
  flattenOtlpExportToNdjson,
@@ -1,7 +1,7 @@
1
- import { R as RunRecord } from './run-record-De9VarXR.js';
1
+ import { R as RunRecord } from './run-record-e7vj1uZQ.js';
2
2
  import { T as TraceAnalysisStore } from './store-C1YxJDEK.js';
3
3
  import { a as JudgeInput } from './types-Croy5h7V.js';
4
- import { b as LlmCallRequest, c as LlmCallResult } from './llm-client-CuUg2Mn3.js';
4
+ import { b as LlmCallRequest, c as LlmCallResult } from './llm-client-BeEcAokY.js';
5
5
 
6
6
  /**
7
7
  * ChatClient — the single LLM abstraction analysts call.
@@ -1,4 +1,4 @@
1
- import { b as RunTokenUsage } from './run-record-De9VarXR.js';
1
+ import { b as RunTokenUsage } from './run-record-e7vj1uZQ.js';
2
2
 
3
3
  /**
4
4
  * @experimental
@@ -93,10 +93,30 @@ interface JudgeConfig<TArtifact, TScenario extends Scenario = Scenario> {
93
93
  }): JudgeScore | Promise<JudgeScore>;
94
94
  appliesTo?: (scenario: TScenario) => boolean;
95
95
  }
96
+ /** The canonical judge verdict shape — one declaration, shared by campaign
97
+ * judges and the multishot judge runner (which re-exports this type).
98
+ *
99
+ * Scale is PRODUCER-DEFINED: campaign convention is [0,1]; the legacy
100
+ * multishot runner emits 0-10. Cross-scale comparison must go through
101
+ * `detectScale` (src/campaign/gates/statistical-heldout.ts, used by
102
+ * promotion-policy) — never renormalize a producer's values in place, as
103
+ * downstream thresholds (`composite >= 5` in multishot/matrix.ts, live-soak
104
+ * `>= 7` gates) key on the producer's native scale. */
96
105
  interface JudgeScore {
97
106
  dimensions: Record<string, number>;
98
107
  composite: number;
99
108
  notes: string;
109
+ /** Set when the judge itself failed (call error, unparseable output).
110
+ * `composite`/`dimensions` carry no signal — aggregators MUST exclude
111
+ * failed scores from means instead of folding them into zeros. */
112
+ failed?: true;
113
+ /** Ensemble extras (populated by `ensembleJudge`): max per-dimension
114
+ * spread across surviving judges — the inter-rater signal. */
115
+ maxDisagreement?: number;
116
+ /** Ensemble extras: judge identities whose verdict failed. */
117
+ failedJudges?: string[];
118
+ /** Ensemble extras: each surviving judge's per-dimension scores. */
119
+ perJudge?: Record<string, Record<string, number>>;
100
120
  }
101
121
  /** @experimental A tier-4 code surface — a candidate change to the agent's
102
122
  * IMPLEMENTATION, not its prompt. Produced by autoresearch (reads codebase +
@@ -1,4 +1,4 @@
1
- import { D as DefaultVerdict } from './verdict-CeEgtjyI.js';
1
+ import { D as DefaultVerdict } from './verdict-C9MlYujm.js';
2
2
 
3
3
  /**
4
4
  * @experimental
@@ -17,6 +17,9 @@
17
17
  * Minimal verdict shape — `valid` + `score` are required; `scores` +
18
18
  * `notes` are optional surface. Validators that need richer shapes
19
19
  * parameterise `Validator<Output, MyVerdict>` with their own type.
20
+ *
21
+ * Need structured extras? Extend DefaultVerdict with typed fields — never
22
+ * serialize extras into `notes`.
20
23
  */
21
24
  interface DefaultVerdict {
22
25
  /** Whether the output meets the validator's pass criteria. */
@@ -1,4 +1,4 @@
1
- import { F as FeedbackTrajectoryStore } from '../feedback-trajectory-B3rErRsh.js';
1
+ import { F as FeedbackTrajectoryStore } from '../feedback-trajectory-D9OVLrg9.js';
2
2
  import { T as TraceStore } from '../store-CKUAgsJz.js';
3
3
  import { z } from 'zod';
4
4
  import { OpenAPIObject } from 'openapi3-ts/oas31';
@@ -8,8 +8,8 @@ import { Hono } from 'hono';
8
8
  import '../control-runtime-DuFBYg7A.js';
9
9
  import '../emitter-DEZwY14K.js';
10
10
  import '../schema-m0gsnbt3.js';
11
- import '../dataset-B2kL-fSM.js';
12
- import '../errors-Dwqw-T_m.js';
11
+ import '../dataset-BbGkaN2I.js';
12
+ import '../errors-CzMUYo7b.js';
13
13
 
14
14
  declare const RubricDimensionSchema: z.ZodObject<{
15
15
  id: z.ZodString;
@@ -1,25 +1,26 @@
1
1
  import { W as WorkflowTopology } from '../harness-optimizer-EnEnQPsr.js';
2
- import { a as RunSplitTag, b as RunTokenUsage, R as RunRecord } from '../run-record-De9VarXR.js';
3
- import { c as AnalystFinding, h as AnalystSeverity, E as EvidenceRef } from '../types-Cu3u_x59.js';
4
- import { F as FailureClusterInsight } from '../insight-report-3ADTfClO.js';
5
- import { a as VerificationReport, L as LayerResult } from '../multi-layer-verifier-DlWCXuxL.js';
2
+ import { a as RunSplitTag, b as RunTokenUsage, R as RunRecord } from '../run-record-e7vj1uZQ.js';
3
+ import { c as AnalystFinding, h as AnalystSeverity, E as EvidenceRef } from '../types-2VVIL04s.js';
4
+ import { F as FailureClusterInsight } from '../insight-report-BBwvOh6x.js';
5
+ import { a as VerificationReport, L as LayerResult } from '../multi-layer-verifier-DUZXrPDA.js';
6
6
  import { F as FailureClusterReport } from '../failure-cluster-CL7IVgkJ.js';
7
7
  import { R as RedactionRule, a as RedactionReport } from '../redact-B40YG2M_.js';
8
- import { D as DatasetSplit } from '../dataset-B2kL-fSM.js';
9
- import { a as FeedbackTrajectory } from '../feedback-trajectory-B3rErRsh.js';
10
- import { a as PairedBootstrapResult } from '../statistics-CnC1FMbx.js';
8
+ import { D as DatasetSplit } from '../dataset-BbGkaN2I.js';
9
+ import { a as FeedbackTrajectory } from '../feedback-trajectory-D9OVLrg9.js';
10
+ import { a as PairedBootstrapResult } from '../statistics-C7PozGrZ.js';
11
11
  import '../pareto-E-pembql.js';
12
12
  import '../run-critic-BAIjX99r.js';
13
13
  import '../schema-m0gsnbt3.js';
14
14
  import '../store-CKUAgsJz.js';
15
- import '../errors-Dwqw-T_m.js';
15
+ import '../errors-CzMUYo7b.js';
16
16
  import '../store-C1YxJDEK.js';
17
17
  import '../types-Croy5h7V.js';
18
18
  import '@tangle-network/tcloud';
19
- import '../llm-client-CuUg2Mn3.js';
19
+ import '../llm-client-BeEcAokY.js';
20
20
  import '../raw-provider-sink-C46HDghv.js';
21
- import '../summary-report-Db0dDSWP.js';
22
- import '../judge-calibration-DilmB3Ml.js';
21
+ import '../summary-report-DGmUucwQ.js';
22
+ import '../judge-calibration-0p2QcWNE.js';
23
+ import '../verdict-C9MlYujm.js';
23
24
  import '../control-runtime-DuFBYg7A.js';
24
25
  import '../emitter-DEZwY14K.js';
25
26
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pairedBootstrap
3
- } from "../chunk-IDVBLYCY.js";
3
+ } from "../chunk-LMZQ2Z4U.js";
4
4
  import {
5
5
  DEFAULT_REDACTION_RULES,
6
6
  redactString
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/agent-eval",
3
- "version": "0.85.0",
3
+ "version": "0.89.0",
4
4
  "description": "Evaluate and improve AI agents from runs, traces, judges, and feedback. Compare candidates, cluster failures, measure lift, and gate releases.",
5
5
  "homepage": "https://github.com/tangle-network/agent-eval#readme",
6
6
  "repository": {
@@ -39,6 +39,16 @@
39
39
  "import": "./dist/rl.js",
40
40
  "default": "./dist/rl.js"
41
41
  },
42
+ "./diagnose": {
43
+ "types": "./dist/diagnose.d.ts",
44
+ "import": "./dist/diagnose.js",
45
+ "default": "./dist/diagnose.js"
46
+ },
47
+ "./fuzz": {
48
+ "types": "./dist/fuzz.d.ts",
49
+ "import": "./dist/fuzz.js",
50
+ "default": "./dist/fuzz.js"
51
+ },
42
52
  "./traces": {
43
53
  "types": "./dist/traces.d.ts",
44
54
  "import": "./dist/traces.js",
@@ -169,6 +179,19 @@
169
179
  "publishConfig": {
170
180
  "access": "public"
171
181
  },
182
+ "scripts": {
183
+ "build": "tsup && pnpm openapi",
184
+ "dev": "tsup --watch",
185
+ "prepare": "husky",
186
+ "prepublishOnly": "pnpm build",
187
+ "test": "vitest run",
188
+ "test:watch": "vitest",
189
+ "typecheck": "tsc --noEmit",
190
+ "lint": "biome check src",
191
+ "format": "biome format --write src",
192
+ "openapi": "node dist/cli.js openapi --out dist/openapi.json",
193
+ "verify:package": "node scripts/verify-package-exports.mjs"
194
+ },
172
195
  "dependencies": {
173
196
  "@asteasolutions/zod-to-openapi": "^8.5.0",
174
197
  "@ax-llm/ax": "^19.0.25",
@@ -196,6 +219,16 @@
196
219
  "typescript": "^5.7.0",
197
220
  "vitest": "^3.0.0"
198
221
  },
222
+ "pnpm": {
223
+ "minimumReleaseAge": 4320,
224
+ "minimumReleaseAgeExclude": [
225
+ "@tangle-network/sandbox"
226
+ ],
227
+ "overrides": {
228
+ "postcss@<8.5.10": "^8.5.10",
229
+ "ws@>=8.0.0 <8.20.1": "^8.20.1"
230
+ }
231
+ },
199
232
  "engines": {
200
233
  "node": ">=20"
201
234
  },
@@ -208,15 +241,5 @@
208
241
  ]
209
242
  },
210
243
  "license": "MIT",
211
- "scripts": {
212
- "build": "tsup && pnpm openapi",
213
- "dev": "tsup --watch",
214
- "test": "vitest run",
215
- "test:watch": "vitest",
216
- "typecheck": "tsc --noEmit",
217
- "lint": "biome check src",
218
- "format": "biome format --write src",
219
- "openapi": "node dist/cli.js openapi --out dist/openapi.json",
220
- "verify:package": "node scripts/verify-package-exports.mjs"
221
- }
222
- }
244
+ "packageManager": "pnpm@10.22.0"
245
+ }