@tangle-network/agent-eval 0.94.0 → 0.95.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.
- package/CHANGELOG.md +15 -0
- package/README.md +44 -30
- package/dist/action-policy.d.ts +24 -0
- package/dist/action-policy.d.ts.map +1 -0
- package/dist/action-policy.test.d.ts +2 -0
- package/dist/action-policy.test.d.ts.map +1 -0
- package/dist/active-learning.d.ts +41 -0
- package/dist/active-learning.d.ts.map +1 -0
- package/dist/adapters/http.d.ts +15 -21
- package/dist/adapters/http.d.ts.map +1 -0
- package/dist/adapters/http.js.map +1 -1
- package/dist/adapters/langchain.d.ts +7 -13
- package/dist/adapters/langchain.d.ts.map +1 -0
- package/dist/adapters/otel.d.ts +13 -24
- package/dist/adapters/otel.d.ts.map +1 -0
- package/dist/agent-profile-cell.d.ts +101 -0
- package/dist/agent-profile-cell.d.ts.map +1 -0
- package/dist/agent-profile.d.ts +27 -0
- package/dist/agent-profile.d.ts.map +1 -0
- package/dist/agent-profile.test.d.ts +2 -0
- package/dist/agent-profile.test.d.ts.map +1 -0
- package/dist/analyst/adapters.d.ts +62 -0
- package/dist/analyst/adapters.d.ts.map +1 -0
- package/dist/analyst/analyst.test.d.ts +2 -0
- package/dist/analyst/analyst.test.d.ts.map +1 -0
- package/dist/analyst/ax-service.d.ts +27 -0
- package/dist/analyst/ax-service.d.ts.map +1 -0
- package/dist/analyst/behavioral-analyst.d.ts +28 -0
- package/dist/analyst/behavioral-analyst.d.ts.map +1 -0
- package/dist/analyst/chat-client.d.ts +91 -0
- package/dist/analyst/chat-client.d.ts.map +1 -0
- package/dist/analyst/default-registry.d.ts +27 -0
- package/dist/analyst/default-registry.d.ts.map +1 -0
- package/dist/analyst/default-registry.test.d.ts +2 -0
- package/dist/analyst/default-registry.test.d.ts.map +1 -0
- package/dist/analyst/finding-signature.d.ts +48 -0
- package/dist/analyst/finding-signature.d.ts.map +1 -0
- package/dist/analyst/finding-subject.d.ts +146 -0
- package/dist/analyst/finding-subject.d.ts.map +1 -0
- package/dist/analyst/finding-subject.test.d.ts +2 -0
- package/dist/analyst/finding-subject.test.d.ts.map +1 -0
- package/dist/analyst/findings-store.d.ts +75 -0
- package/dist/analyst/findings-store.d.ts.map +1 -0
- package/dist/analyst/index.d.ts +28 -256
- package/dist/analyst/index.d.ts.map +1 -0
- package/dist/analyst/index.js +5 -65
- package/dist/analyst/index.js.map +1 -1
- package/dist/{kind-factory-0BhLSI27.d.ts → analyst/kind-factory.d.ts} +11 -63
- package/dist/analyst/kind-factory.d.ts.map +1 -0
- package/dist/analyst/kinds/failure-mode.d.ts +19 -0
- package/dist/analyst/kinds/failure-mode.d.ts.map +1 -0
- package/dist/analyst/kinds/improvement.d.ts +23 -0
- package/dist/analyst/kinds/improvement.d.ts.map +1 -0
- package/dist/analyst/kinds/index.d.ts +22 -0
- package/dist/analyst/kinds/index.d.ts.map +1 -0
- package/dist/analyst/kinds/kinds.test.d.ts +2 -0
- package/dist/analyst/kinds/kinds.test.d.ts.map +1 -0
- package/dist/analyst/kinds/knowledge-gap.d.ts +28 -0
- package/dist/analyst/kinds/knowledge-gap.d.ts.map +1 -0
- package/dist/analyst/kinds/knowledge-poisoning.d.ts +22 -0
- package/dist/analyst/kinds/knowledge-poisoning.d.ts.map +1 -0
- package/dist/analyst/kinds/skill-usage.d.ts +84 -0
- package/dist/analyst/kinds/skill-usage.d.ts.map +1 -0
- package/dist/analyst/kinds/skill-usage.test.d.ts +2 -0
- package/dist/analyst/kinds/skill-usage.test.d.ts.map +1 -0
- package/dist/analyst/parse-tolerant.d.ts +26 -0
- package/dist/analyst/parse-tolerant.d.ts.map +1 -0
- package/dist/analyst/parse-tolerant.test.d.ts +2 -0
- package/dist/analyst/parse-tolerant.test.d.ts.map +1 -0
- package/dist/analyst/registry.budget.test.d.ts +2 -0
- package/dist/analyst/registry.budget.test.d.ts.map +1 -0
- package/dist/{default-registry-6dhErQbs.d.ts → analyst/registry.d.ts} +8 -37
- package/dist/analyst/registry.d.ts.map +1 -0
- package/dist/analyst/steer-firewall.d.ts +35 -0
- package/dist/analyst/steer-firewall.d.ts.map +1 -0
- package/dist/analyst/steer-firewall.test.d.ts +2 -0
- package/dist/analyst/steer-firewall.test.d.ts.map +1 -0
- package/dist/analyst/structure-findings.d.ts +37 -0
- package/dist/analyst/structure-findings.d.ts.map +1 -0
- package/dist/analyst/structure-findings.test.d.ts +2 -0
- package/dist/analyst/structure-findings.test.d.ts.map +1 -0
- package/dist/analyst/tool-groups.d.ts +34 -0
- package/dist/analyst/tool-groups.d.ts.map +1 -0
- package/dist/{types-Ce17tDlG.d.ts → analyst/types.d.ts} +19 -112
- package/dist/analyst/types.d.ts.map +1 -0
- package/dist/anti-slop.d.ts +59 -0
- package/dist/anti-slop.d.ts.map +1 -0
- package/dist/artifact-validator.d.ts +74 -0
- package/dist/artifact-validator.d.ts.map +1 -0
- package/dist/attestation.d.ts +63 -0
- package/dist/attestation.d.ts.map +1 -0
- package/dist/attestation.test.d.ts +2 -0
- package/dist/attestation.test.d.ts.map +1 -0
- package/dist/authenticity/index.d.ts +15 -16
- package/dist/authenticity/index.d.ts.map +1 -0
- package/dist/authenticity/index.test.d.ts +2 -0
- package/dist/authenticity/index.test.d.ts.map +1 -0
- package/dist/auto-pr.d.ts +120 -0
- package/dist/auto-pr.d.ts.map +1 -0
- package/dist/{baseline-Bbid3WoO.d.ts → baseline.d.ts} +8 -44
- package/dist/baseline.d.ts.map +1 -0
- package/dist/behavior-dsl.d.ts +73 -0
- package/dist/behavior-dsl.d.ts.map +1 -0
- package/dist/belief-state/calibration.d.ts +10 -0
- package/dist/belief-state/calibration.d.ts.map +1 -0
- package/dist/belief-state/calibration.test.d.ts +2 -0
- package/dist/belief-state/calibration.test.d.ts.map +1 -0
- package/dist/belief-state/code-agent-corpus.d.ts +66 -0
- package/dist/belief-state/code-agent-corpus.d.ts.map +1 -0
- package/dist/belief-state/code-agent-corpus.test.d.ts +2 -0
- package/dist/belief-state/code-agent-corpus.test.d.ts.map +1 -0
- package/dist/belief-state/code-agent-evidence.d.ts +22 -0
- package/dist/belief-state/code-agent-evidence.d.ts.map +1 -0
- package/dist/belief-state/code-agent-evidence.test.d.ts +2 -0
- package/dist/belief-state/code-agent-evidence.test.d.ts.map +1 -0
- package/dist/belief-state/extract.d.ts +7 -0
- package/dist/belief-state/extract.d.ts.map +1 -0
- package/dist/belief-state/extract.test.d.ts +2 -0
- package/dist/belief-state/extract.test.d.ts.map +1 -0
- package/dist/belief-state/index.d.ts +14 -604
- package/dist/belief-state/index.d.ts.map +1 -0
- package/dist/belief-state/ope.d.ts +17 -0
- package/dist/belief-state/ope.d.ts.map +1 -0
- package/dist/belief-state/ope.test.d.ts +2 -0
- package/dist/belief-state/ope.test.d.ts.map +1 -0
- package/dist/belief-state/phase0-measurement.d.ts +55 -0
- package/dist/belief-state/phase0-measurement.d.ts.map +1 -0
- package/dist/belief-state/report.d.ts +17 -0
- package/dist/belief-state/report.d.ts.map +1 -0
- package/dist/belief-state/report.test.d.ts +2 -0
- package/dist/belief-state/report.test.d.ts.map +1 -0
- package/dist/belief-state/research-evidence.d.ts +23 -0
- package/dist/belief-state/research-evidence.d.ts.map +1 -0
- package/dist/belief-state/research-evidence.test.d.ts +2 -0
- package/dist/belief-state/research-evidence.test.d.ts.map +1 -0
- package/dist/belief-state/runtime-benchmark-corpus.d.ts +32 -0
- package/dist/belief-state/runtime-benchmark-corpus.d.ts.map +1 -0
- package/dist/belief-state/runtime-hooks.d.ts +87 -0
- package/dist/belief-state/runtime-hooks.d.ts.map +1 -0
- package/dist/belief-state/runtime-hooks.test.d.ts +2 -0
- package/dist/belief-state/runtime-hooks.test.d.ts.map +1 -0
- package/dist/belief-state/selective.d.ts +15 -0
- package/dist/belief-state/selective.d.ts.map +1 -0
- package/dist/belief-state/selective.test.d.ts +2 -0
- package/dist/belief-state/selective.test.d.ts.map +1 -0
- package/dist/belief-state/shadow-probe.d.ts +80 -0
- package/dist/belief-state/shadow-probe.d.ts.map +1 -0
- package/dist/belief-state/shadow-probe.test.d.ts +2 -0
- package/dist/belief-state/shadow-probe.test.d.ts.map +1 -0
- package/dist/belief-state/types.d.ts +195 -0
- package/dist/belief-state/types.d.ts.map +1 -0
- package/dist/belief-state/types.test.d.ts +2 -0
- package/dist/belief-state/types.test.d.ts.map +1 -0
- package/dist/benchmark.d.ts +14 -0
- package/dist/benchmark.d.ts.map +1 -0
- package/dist/benchmarks/index.d.ts +23 -4
- package/dist/benchmarks/index.d.ts.map +1 -0
- package/dist/benchmarks/routing/dataset.d.ts +34 -0
- package/dist/benchmarks/routing/dataset.d.ts.map +1 -0
- package/dist/benchmarks/routing/index.d.ts +34 -0
- package/dist/benchmarks/routing/index.d.ts.map +1 -0
- package/dist/benchmarks/types.d.ts +49 -0
- package/dist/benchmarks/types.d.ts.map +1 -0
- package/dist/bisector.d.ts +81 -0
- package/dist/bisector.d.ts.map +1 -0
- package/dist/budget-guard.d.ts +31 -0
- package/dist/budget-guard.d.ts.map +1 -0
- package/dist/builder-eval/builder-session.d.ts +111 -0
- package/dist/builder-eval/builder-session.d.ts.map +1 -0
- package/dist/builder-eval/correlation.d.ts +32 -0
- package/dist/builder-eval/correlation.d.ts.map +1 -0
- package/dist/builder-eval/index.d.ts +5 -250
- package/dist/builder-eval/index.d.ts.map +1 -0
- package/dist/builder-eval/project-registry.d.ts +51 -0
- package/dist/builder-eval/project-registry.d.ts.map +1 -0
- package/dist/builder-eval/three-layer-eval.d.ts +55 -0
- package/dist/builder-eval/three-layer-eval.d.ts.map +1 -0
- package/dist/campaign/analyst-surface.d.ts +108 -0
- package/dist/campaign/analyst-surface.d.ts.map +1 -0
- package/dist/campaign/analyst-surface.test.d.ts +2 -0
- package/dist/campaign/analyst-surface.test.d.ts.map +1 -0
- package/dist/campaign/auto-pr.d.ts +46 -0
- package/dist/campaign/auto-pr.d.ts.map +1 -0
- package/dist/campaign/distillation/agreement-judge.d.ts +69 -0
- package/dist/campaign/distillation/agreement-judge.d.ts.map +1 -0
- package/dist/campaign/distillation/cli.d.ts +35 -0
- package/dist/campaign/distillation/cli.d.ts.map +1 -0
- package/dist/campaign/distillation/distillation.test.d.ts +2 -0
- package/dist/campaign/distillation/distillation.test.d.ts.map +1 -0
- package/dist/campaign/distillation/gold-scenarios.d.ts +54 -0
- package/dist/campaign/distillation/gold-scenarios.d.ts.map +1 -0
- package/dist/campaign/distillation/run-distillation.d.ts +119 -0
- package/dist/campaign/distillation/run-distillation.d.ts.map +1 -0
- package/dist/campaign/gates/compose.d.ts +12 -0
- package/dist/campaign/gates/compose.d.ts.map +1 -0
- package/dist/campaign/gates/default-production-gate.d.ts +58 -0
- package/dist/campaign/gates/default-production-gate.d.ts.map +1 -0
- package/dist/campaign/gates/heldout-gate.d.ts +12 -0
- package/dist/campaign/gates/heldout-gate.d.ts.map +1 -0
- package/dist/campaign/gates/promotion-policy.d.ts +125 -0
- package/dist/campaign/gates/promotion-policy.d.ts.map +1 -0
- package/dist/campaign/gates/promotion-policy.test.d.ts +2 -0
- package/dist/campaign/gates/promotion-policy.test.d.ts.map +1 -0
- package/dist/campaign/gates/sequential.d.ts +146 -0
- package/dist/campaign/gates/sequential.d.ts.map +1 -0
- package/dist/campaign/gates/sequential.test.d.ts +2 -0
- package/dist/campaign/gates/sequential.test.d.ts.map +1 -0
- package/dist/campaign/gates/statistical-heldout.d.ts +99 -0
- package/dist/campaign/gates/statistical-heldout.d.ts.map +1 -0
- package/dist/campaign/gates/statistical-heldout.test.d.ts +2 -0
- package/dist/campaign/gates/statistical-heldout.test.d.ts.map +1 -0
- package/dist/campaign/index.d.ts +38 -1341
- package/dist/campaign/index.d.ts.map +1 -0
- package/dist/campaign/index.js +1863 -1316
- package/dist/campaign/index.js.map +1 -1
- package/dist/campaign/labeled-store/fs-adapter.d.ts +59 -0
- package/dist/campaign/labeled-store/fs-adapter.d.ts.map +1 -0
- package/dist/campaign/presets/compare-proposers.d.ts +146 -0
- package/dist/campaign/presets/compare-proposers.d.ts.map +1 -0
- package/dist/campaign/presets/playback.d.ts +120 -0
- package/dist/campaign/presets/playback.d.ts.map +1 -0
- package/dist/campaign/presets/playback.test.d.ts +2 -0
- package/dist/campaign/presets/playback.test.d.ts.map +1 -0
- package/dist/campaign/presets/run-eval.d.ts +14 -0
- package/dist/campaign/presets/run-eval.d.ts.map +1 -0
- package/dist/campaign/presets/run-improvement-loop.d.ts +63 -0
- package/dist/campaign/presets/run-improvement-loop.d.ts.map +1 -0
- package/dist/campaign/presets/run-improvement-loop.test.d.ts +2 -0
- package/dist/campaign/presets/run-improvement-loop.test.d.ts.map +1 -0
- package/dist/campaign/presets/run-optimization.d.ts +92 -0
- package/dist/campaign/presets/run-optimization.d.ts.map +1 -0
- package/dist/campaign/presets/run-profile-matrix.d.ts +151 -0
- package/dist/campaign/presets/run-profile-matrix.d.ts.map +1 -0
- package/dist/campaign/presets/run-skill-opt.d.ts +96 -0
- package/dist/campaign/presets/run-skill-opt.d.ts.map +1 -0
- package/dist/campaign/proposers/_findings-text.d.ts +22 -0
- package/dist/campaign/proposers/_findings-text.d.ts.map +1 -0
- package/dist/campaign/proposers/ace.d.ts +33 -0
- package/dist/campaign/proposers/ace.d.ts.map +1 -0
- package/dist/campaign/proposers/ace.test.d.ts +2 -0
- package/dist/campaign/proposers/ace.test.d.ts.map +1 -0
- package/dist/campaign/proposers/analysis-edit.d.ts +32 -0
- package/dist/campaign/proposers/analysis-edit.d.ts.map +1 -0
- package/dist/campaign/proposers/evolutionary.d.ts +20 -0
- package/dist/campaign/proposers/evolutionary.d.ts.map +1 -0
- package/dist/campaign/proposers/fapo.d.ts +120 -0
- package/dist/campaign/proposers/fapo.d.ts.map +1 -0
- package/dist/campaign/proposers/gepa.d.ts +86 -0
- package/dist/campaign/proposers/gepa.d.ts.map +1 -0
- package/dist/campaign/proposers/halo.d.ts +44 -0
- package/dist/campaign/proposers/halo.d.ts.map +1 -0
- package/dist/campaign/proposers/halo.test.d.ts +2 -0
- package/dist/campaign/proposers/halo.test.d.ts.map +1 -0
- package/dist/campaign/proposers/memory.d.ts +47 -0
- package/dist/campaign/proposers/memory.d.ts.map +1 -0
- package/dist/campaign/proposers/memory.test.d.ts +2 -0
- package/dist/campaign/proposers/memory.test.d.ts.map +1 -0
- package/dist/campaign/proposers/skill-opt.d.ts +88 -0
- package/dist/campaign/proposers/skill-opt.d.ts.map +1 -0
- package/dist/campaign/proposers/trace-analyst.d.ts +48 -0
- package/dist/campaign/proposers/trace-analyst.d.ts.map +1 -0
- package/dist/campaign/proposers/trace-analyst.test.d.ts +2 -0
- package/dist/campaign/proposers/trace-analyst.test.d.ts.map +1 -0
- package/dist/campaign/provenance.d.ts +185 -0
- package/dist/campaign/provenance.d.ts.map +1 -0
- package/dist/campaign/run-campaign.d.ts +90 -0
- package/dist/campaign/run-campaign.d.ts.map +1 -0
- package/dist/campaign/score-utils.d.ts +26 -0
- package/dist/campaign/score-utils.d.ts.map +1 -0
- package/dist/campaign/skill-patch.d.ts +62 -0
- package/dist/campaign/skill-patch.d.ts.map +1 -0
- package/dist/campaign/storage.d.ts +38 -0
- package/dist/campaign/storage.d.ts.map +1 -0
- package/dist/{types-BU-7W85F.d.ts → campaign/types.d.ts} +98 -99
- package/dist/campaign/types.d.ts.map +1 -0
- package/dist/campaign/worktree/index.d.ts +53 -0
- package/dist/campaign/worktree/index.d.ts.map +1 -0
- package/dist/canary.d.ts +101 -0
- package/dist/canary.d.ts.map +1 -0
- package/dist/causal-attribution.d.ts +45 -0
- package/dist/causal-attribution.d.ts.map +1 -0
- package/dist/{chunk-2K6UUZ7P.js → chunk-2T4EZACH.js} +1 -1
- package/dist/chunk-2T4EZACH.js.map +1 -0
- package/dist/{chunk-CTBHKLEU.js → chunk-77T4STFI.js} +59 -86
- package/dist/chunk-77T4STFI.js.map +1 -0
- package/dist/{chunk-EGPMSBEZ.js → chunk-7QTQKIDD.js} +178 -177
- package/dist/chunk-7QTQKIDD.js.map +1 -0
- package/dist/{chunk-MIFZUPEK.js → chunk-AQ5WQAIV.js} +21 -6
- package/dist/chunk-AQ5WQAIV.js.map +1 -0
- package/dist/chunk-DJWX3GVS.js +81 -0
- package/dist/chunk-DJWX3GVS.js.map +1 -0
- package/dist/{chunk-S6OZEZQK.js → chunk-HMA63UEO.js} +37 -9
- package/dist/{chunk-S6OZEZQK.js.map → chunk-HMA63UEO.js.map} +1 -1
- package/dist/{chunk-TBDR6PAI.js → chunk-IZCEK2HR.js} +2 -2
- package/dist/{chunk-SD2YFWQQ.js → chunk-KKWJD5E6.js} +20 -20
- package/dist/chunk-KKWJD5E6.js.map +1 -0
- package/dist/{chunk-KWRRMR3J.js → chunk-LO6IOIJ2.js} +10 -10
- package/dist/chunk-LO6IOIJ2.js.map +1 -0
- package/dist/{chunk-E4GH6USR.js → chunk-NZEQVRH5.js} +2 -2
- package/dist/chunk-NZEQVRH5.js.map +1 -0
- package/dist/{chunk-MPQWFX6Y.js → chunk-PSWWQXHF.js} +13 -88
- package/dist/chunk-PSWWQXHF.js.map +1 -0
- package/dist/{chunk-Q5LIB7BC.js → chunk-S4SYLDFX.js} +2 -2
- package/dist/chunk-S4SYLDFX.js.map +1 -0
- package/dist/{chunk-KW53MSA5.js → chunk-X74V6ESX.js} +2 -2
- package/dist/{chunk-QMUEXQJS.js → chunk-YBIGNSCZ.js} +81 -4
- package/dist/chunk-YBIGNSCZ.js.map +1 -0
- package/dist/{chunk-2KNZHH3P.js → chunk-Z6L6YSU6.js} +2 -2
- package/dist/ci-gate.d.ts +44 -0
- package/dist/ci-gate.d.ts.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/client.d.ts +77 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.test.d.ts +2 -0
- package/dist/client.test.d.ts.map +1 -0
- package/dist/command-runner.d.ts +74 -0
- package/dist/command-runner.d.ts.map +1 -0
- package/dist/command-runner.test.d.ts +2 -0
- package/dist/command-runner.test.d.ts.map +1 -0
- package/dist/completion-verifier.d.ts +147 -0
- package/dist/completion-verifier.d.ts.map +1 -0
- package/dist/completion-verifier.test.d.ts +9 -0
- package/dist/completion-verifier.test.d.ts.map +1 -0
- package/dist/concurrency.d.ts +23 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/contamination-guard.d.ts +81 -0
- package/dist/contamination-guard.d.ts.map +1 -0
- package/dist/{analyze-runs-B6Ljo_dI.d.ts → contract/analyze-runs.d.ts} +9 -10
- package/dist/contract/analyze-runs.d.ts.map +1 -0
- package/dist/contract/define-agent-eval.d.ts +52 -0
- package/dist/contract/define-agent-eval.d.ts.map +1 -0
- package/dist/contract/diff.d.ts +114 -0
- package/dist/contract/diff.d.ts.map +1 -0
- package/dist/contract/index.d.ts +106 -640
- package/dist/contract/index.d.ts.map +1 -0
- package/dist/contract/index.js +127 -17
- package/dist/contract/index.js.map +1 -1
- package/dist/{insight-report-DWl3z9tl.d.ts → contract/insight-report.d.ts} +16 -19
- package/dist/contract/insight-report.d.ts.map +1 -0
- package/dist/contract/insight-types-fwd.d.ts +7 -0
- package/dist/contract/insight-types-fwd.d.ts.map +1 -0
- package/dist/contract/intake/agent-trace.d.ts +97 -0
- package/dist/contract/intake/agent-trace.d.ts.map +1 -0
- package/dist/{code-agent-session-BO8nCnv3.d.ts → contract/intake/code-agent-session.d.ts} +15 -17
- package/dist/contract/intake/code-agent-session.d.ts.map +1 -0
- package/dist/contract/intake/feedback-table.d.ts +87 -0
- package/dist/contract/intake/feedback-table.d.ts.map +1 -0
- package/dist/contract/intake/index.d.ts +22 -0
- package/dist/contract/intake/index.d.ts.map +1 -0
- package/dist/contract/intake/otel-spans.d.ts +33 -0
- package/dist/contract/intake/otel-spans.d.ts.map +1 -0
- package/dist/contract/self-improve.d.ts +284 -0
- package/dist/contract/self-improve.d.ts.map +1 -0
- package/dist/{control-runtime-Acf9CGhw.d.ts → control-runtime.d.ts} +23 -26
- package/dist/control-runtime.d.ts.map +1 -0
- package/dist/control-runtime.test.d.ts +2 -0
- package/dist/control-runtime.test.d.ts.map +1 -0
- package/dist/control.d.ts +11 -9
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +2 -2
- package/dist/convergence.d.ts +29 -0
- package/dist/convergence.d.ts.map +1 -0
- package/dist/{cost-ledger-DuSqlw5B.d.ts → cost-ledger.d.ts} +10 -11
- package/dist/cost-ledger.d.ts.map +1 -0
- package/dist/cost-ledger.test.d.ts +2 -0
- package/dist/cost-ledger.test.d.ts.map +1 -0
- package/dist/cost-report.d.ts +43 -0
- package/dist/cost-report.d.ts.map +1 -0
- package/dist/cost-report.test.d.ts +2 -0
- package/dist/cost-report.test.d.ts.map +1 -0
- package/dist/cost-tracker.d.ts +76 -0
- package/dist/cost-tracker.d.ts.map +1 -0
- package/dist/{counterfactual-DlOz8PBx.d.ts → counterfactual.d.ts} +12 -13
- package/dist/counterfactual.d.ts.map +1 -0
- package/dist/cross-trace-diff.d.ts +56 -0
- package/dist/cross-trace-diff.d.ts.map +1 -0
- package/dist/{dataset-BbGkaN2I.d.ts → dataset.d.ts} +11 -14
- package/dist/dataset.d.ts.map +1 -0
- package/dist/deploy-gate-layer.d.ts +125 -0
- package/dist/deploy-gate-layer.d.ts.map +1 -0
- package/dist/deploy-gate-layer.test.d.ts +2 -0
- package/dist/deploy-gate-layer.test.d.ts.map +1 -0
- package/dist/description-length-gate.d.ts +119 -0
- package/dist/description-length-gate.d.ts.map +1 -0
- package/dist/detectors/edge.test.d.ts +2 -0
- package/dist/detectors/edge.test.d.ts.map +1 -0
- package/dist/detectors/index.d.ts +81 -0
- package/dist/detectors/index.d.ts.map +1 -0
- package/dist/detectors/index.test.d.ts +2 -0
- package/dist/detectors/index.test.d.ts.map +1 -0
- package/dist/diagnose/causal-sweep.d.ts +100 -0
- package/dist/diagnose/causal-sweep.d.ts.map +1 -0
- package/dist/diagnose/index.d.ts +36 -0
- package/dist/diagnose/index.d.ts.map +1 -0
- package/dist/diagnose/remediation.d.ts +68 -0
- package/dist/diagnose/remediation.d.ts.map +1 -0
- package/dist/diagnose/repair.d.ts +77 -0
- package/dist/diagnose/repair.d.ts.map +1 -0
- package/dist/diagnose.d.ts +1 -251
- package/dist/diagnose.js +1 -1
- package/dist/discover-personas.d.ts +35 -0
- package/dist/discover-personas.d.ts.map +1 -0
- package/dist/driver.d.ts +95 -0
- package/dist/driver.d.ts.map +1 -0
- package/dist/driver.test.d.ts +8 -0
- package/dist/driver.test.d.ts.map +1 -0
- package/dist/dual-agent-bench.d.ts +81 -0
- package/dist/dual-agent-bench.d.ts.map +1 -0
- package/dist/error-count-extractor.d.ts +47 -0
- package/dist/error-count-extractor.d.ts.map +1 -0
- package/dist/error-count-extractor.test.d.ts +2 -0
- package/dist/error-count-extractor.test.d.ts.map +1 -0
- package/dist/{errors-CzMUYo7b.d.ts → errors.d.ts} +10 -11
- package/dist/errors.d.ts.map +1 -0
- package/dist/{researcher-B0C2_fVO.d.ts → eval-campaign.d.ts} +34 -156
- package/dist/eval-campaign.d.ts.map +1 -0
- package/dist/eval-campaign.test.d.ts +2 -0
- package/dist/eval-campaign.test.d.ts.map +1 -0
- package/dist/eval-tools.d.ts +55 -0
- package/dist/eval-tools.d.ts.map +1 -0
- package/dist/eval-trace-store.d.ts +107 -0
- package/dist/eval-trace-store.d.ts.map +1 -0
- package/dist/eval-trace-store.test.d.ts +2 -0
- package/dist/eval-trace-store.test.d.ts.map +1 -0
- package/dist/executor.d.ts +38 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.test.d.ts +10 -0
- package/dist/executor.test.d.ts.map +1 -0
- package/dist/experiment-tracker.d.ts +178 -0
- package/dist/experiment-tracker.d.ts.map +1 -0
- package/dist/experiment-tracker.test.d.ts +2 -0
- package/dist/experiment-tracker.test.d.ts.map +1 -0
- package/dist/failure-taxonomy.d.ts +38 -0
- package/dist/failure-taxonomy.d.ts.map +1 -0
- package/dist/{feedback-trajectory-BxY0cKfs.d.ts → feedback-trajectory.d.ts} +36 -38
- package/dist/feedback-trajectory.d.ts.map +1 -0
- package/dist/feedback-trajectory.test.d.ts +2 -0
- package/dist/feedback-trajectory.test.d.ts.map +1 -0
- package/dist/flow-layer.d.ts +90 -0
- package/dist/flow-layer.d.ts.map +1 -0
- package/dist/flow-layer.test.d.ts +2 -0
- package/dist/flow-layer.test.d.ts.map +1 -0
- package/dist/fuzz/capsule.d.ts +46 -0
- package/dist/fuzz/capsule.d.ts.map +1 -0
- package/dist/fuzz/cube.d.ts +36 -0
- package/dist/fuzz/cube.d.ts.map +1 -0
- package/dist/fuzz/explorer-cost.test.d.ts +2 -0
- package/dist/fuzz/explorer-cost.test.d.ts.map +1 -0
- package/dist/fuzz/explorer.d.ts +64 -0
- package/dist/fuzz/explorer.d.ts.map +1 -0
- package/dist/fuzz/fuzz-agent.d.ts +16 -0
- package/dist/fuzz/fuzz-agent.d.ts.map +1 -0
- package/dist/fuzz/fuzz-agent.test.d.ts +2 -0
- package/dist/fuzz/fuzz-agent.test.d.ts.map +1 -0
- package/dist/fuzz/gates.d.ts +33 -0
- package/dist/fuzz/gates.d.ts.map +1 -0
- package/dist/fuzz/index.d.ts +26 -0
- package/dist/fuzz/index.d.ts.map +1 -0
- package/dist/fuzz/policies.d.ts +28 -0
- package/dist/fuzz/policies.d.ts.map +1 -0
- package/dist/fuzz/tools.d.ts +20 -0
- package/dist/fuzz/tools.d.ts.map +1 -0
- package/dist/fuzz/types.d.ts +307 -0
- package/dist/fuzz/types.d.ts.map +1 -0
- package/dist/fuzz.d.ts +1 -547
- package/dist/golden-matcher.d.ts +71 -0
- package/dist/golden-matcher.d.ts.map +1 -0
- package/dist/governance/eu-ai-act.d.ts +37 -0
- package/dist/governance/eu-ai-act.d.ts.map +1 -0
- package/dist/governance/index.d.ts +5 -135
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/nist-ai-rmf.d.ts +15 -0
- package/dist/governance/nist-ai-rmf.d.ts.map +1 -0
- package/dist/governance/soc2.d.ts +12 -0
- package/dist/governance/soc2.d.ts.map +1 -0
- package/dist/governance/types.d.ts +66 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/harness-optimizer.d.ts +82 -0
- package/dist/harness-optimizer.d.ts.map +1 -0
- package/dist/held-out-gate.d.ts +135 -0
- package/dist/held-out-gate.d.ts.map +1 -0
- package/dist/hosted/client.d.ts +73 -0
- package/dist/hosted/client.d.ts.map +1 -0
- package/dist/hosted/from-env.test.d.ts +8 -0
- package/dist/hosted/from-env.test.d.ts.map +1 -0
- package/dist/hosted/index.d.ts +10 -238
- package/dist/hosted/index.d.ts.map +1 -0
- package/dist/hosted/types.d.ts +159 -0
- package/dist/hosted/types.d.ts.map +1 -0
- package/dist/index.d.ts +277 -5665
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +66 -31
- package/dist/index.js.map +1 -1
- package/dist/integrity/backend-integrity.d.ts +71 -0
- package/dist/integrity/backend-integrity.d.ts.map +1 -0
- package/dist/integrity/preflight.d.ts +72 -0
- package/dist/integrity/preflight.d.ts.map +1 -0
- package/dist/integrity/preflight.test.d.ts +2 -0
- package/dist/integrity/preflight.test.d.ts.map +1 -0
- package/dist/integrity/single-backend.d.ts +67 -0
- package/dist/integrity/single-backend.d.ts.map +1 -0
- package/dist/intent-match-judge.d.ts +69 -0
- package/dist/intent-match-judge.d.ts.map +1 -0
- package/dist/intent-match-judge.test.d.ts +2 -0
- package/dist/intent-match-judge.test.d.ts.map +1 -0
- package/dist/{judge-calibration-0p2QcWNE.d.ts → judge-calibration.d.ts} +16 -17
- package/dist/judge-calibration.d.ts.map +1 -0
- package/dist/judge-ensemble.d.ts +66 -0
- package/dist/judge-ensemble.d.ts.map +1 -0
- package/dist/judge-ensemble.test.d.ts +8 -0
- package/dist/judge-ensemble.test.d.ts.map +1 -0
- package/dist/judge-families.d.ts +38 -0
- package/dist/judge-families.d.ts.map +1 -0
- package/dist/judge-panel.d.ts +65 -0
- package/dist/judge-panel.d.ts.map +1 -0
- package/dist/judge-retry.d.ts +70 -0
- package/dist/judge-retry.d.ts.map +1 -0
- package/dist/judge-runner.d.ts +36 -0
- package/dist/judge-runner.d.ts.map +1 -0
- package/dist/judge-runner.test.d.ts +2 -0
- package/dist/judge-runner.test.d.ts.map +1 -0
- package/dist/judges.d.ts +74 -0
- package/dist/judges.d.ts.map +1 -0
- package/dist/keyword-coverage-judge.d.ts +89 -0
- package/dist/keyword-coverage-judge.d.ts.map +1 -0
- package/dist/keyword-coverage-judge.test.d.ts +2 -0
- package/dist/keyword-coverage-judge.test.d.ts.map +1 -0
- package/dist/knowledge/index.d.ts +3 -103
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/readiness.d.ts +26 -0
- package/dist/knowledge/readiness.d.ts.map +1 -0
- package/dist/knowledge/types.d.ts +75 -0
- package/dist/knowledge/types.d.ts.map +1 -0
- package/dist/live-proof.d.ts +62 -0
- package/dist/live-proof.d.ts.map +1 -0
- package/dist/{llm-client-Bj7g0rqu.d.ts → llm-client.d.ts} +21 -23
- package/dist/llm-client.d.ts.map +1 -0
- package/dist/llm-client.test.d.ts +2 -0
- package/dist/llm-client.test.d.ts.map +1 -0
- package/dist/locked-jsonl-appender.d.ts +19 -0
- package/dist/locked-jsonl-appender.d.ts.map +1 -0
- package/dist/matrix/aggregation.d.ts +16 -0
- package/dist/matrix/aggregation.d.ts.map +1 -0
- package/dist/matrix/index.d.ts +12 -30
- package/dist/matrix/index.d.ts.map +1 -0
- package/dist/matrix/runner.d.ts +15 -0
- package/dist/matrix/runner.d.ts.map +1 -0
- package/dist/{types-mn5Aqk7x.d.ts → matrix/types.d.ts} +11 -15
- package/dist/matrix/types.d.ts.map +1 -0
- package/dist/meta-eval/calibration.d.ts +47 -0
- package/dist/meta-eval/calibration.d.ts.map +1 -0
- package/dist/meta-eval/correlation-study.d.ts +53 -0
- package/dist/meta-eval/correlation-study.d.ts.map +1 -0
- package/dist/meta-eval/index.d.ts +6 -181
- package/dist/meta-eval/index.d.ts.map +1 -0
- package/dist/{outcome-store-rnXLEqSn.d.ts → meta-eval/outcome-store.d.ts} +7 -8
- package/dist/meta-eval/outcome-store.d.ts.map +1 -0
- package/dist/{rubric-predictive-validity-Cy_W-hWZ.d.ts → meta-eval/rubric-predictive-validity.d.ts} +8 -11
- package/dist/meta-eval/rubric-predictive-validity.d.ts.map +1 -0
- package/dist/meta-eval/sentinel.d.ts +169 -0
- package/dist/meta-eval/sentinel.d.ts.map +1 -0
- package/dist/metrics.d.ts +63 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/model-seats.d.ts +71 -0
- package/dist/model-seats.d.ts.map +1 -0
- package/dist/model-seats.test.d.ts +2 -0
- package/dist/model-seats.test.d.ts.map +1 -0
- package/dist/muffled-gate-scanner.d.ts +102 -0
- package/dist/muffled-gate-scanner.d.ts.map +1 -0
- package/dist/{multi-layer-verifier-DUZXrPDA.d.ts → multi-layer-verifier.d.ts} +12 -15
- package/dist/multi-layer-verifier.d.ts.map +1 -0
- package/dist/multi-layer-verifier.test.d.ts +2 -0
- package/dist/multi-layer-verifier.test.d.ts.map +1 -0
- package/dist/multi-toolchain-layer.d.ts +80 -0
- package/dist/multi-toolchain-layer.d.ts.map +1 -0
- package/dist/multi-toolchain-layer.test.d.ts +2 -0
- package/dist/multi-toolchain-layer.test.d.ts.map +1 -0
- package/dist/multishot/default-tools.d.ts +34 -0
- package/dist/multishot/default-tools.d.ts.map +1 -0
- package/dist/multishot/index.d.ts +7 -290
- package/dist/multishot/index.d.ts.map +1 -0
- package/dist/multishot/index.js.map +1 -1
- package/dist/multishot/judges.d.ts +32 -0
- package/dist/multishot/judges.d.ts.map +1 -0
- package/dist/multishot/matrix.d.ts +107 -0
- package/dist/multishot/matrix.d.ts.map +1 -0
- package/dist/multishot/multishot.d.ts +23 -0
- package/dist/multishot/multishot.d.ts.map +1 -0
- package/dist/multishot/router.d.ts +37 -0
- package/dist/multishot/router.d.ts.map +1 -0
- package/dist/multishot/types.d.ts +60 -0
- package/dist/multishot/types.d.ts.map +1 -0
- package/dist/observability.d.ts +71 -0
- package/dist/observability.d.ts.map +1 -0
- package/dist/openapi.json +1 -1
- package/dist/oracle.d.ts +55 -0
- package/dist/oracle.d.ts.map +1 -0
- package/dist/orthogonality.d.ts +35 -0
- package/dist/orthogonality.d.ts.map +1 -0
- package/dist/otel-pipeline.d.ts +31 -0
- package/dist/otel-pipeline.d.ts.map +1 -0
- package/dist/paraphrase.d.ts +107 -0
- package/dist/paraphrase.d.ts.map +1 -0
- package/dist/{pareto-E-pembql.d.ts → pareto.d.ts} +9 -10
- package/dist/pareto.d.ts.map +1 -0
- package/dist/partition-held-out.d.ts +70 -0
- package/dist/partition-held-out.d.ts.map +1 -0
- package/dist/partition-held-out.test.d.ts +2 -0
- package/dist/partition-held-out.test.d.ts.map +1 -0
- package/dist/perf/index.d.ts +13 -119
- package/dist/perf/index.d.ts.map +1 -0
- package/dist/perf/integrity.d.ts +30 -0
- package/dist/perf/integrity.d.ts.map +1 -0
- package/dist/perf/journey.d.ts +45 -0
- package/dist/perf/journey.d.ts.map +1 -0
- package/dist/perf/ratchet.d.ts +47 -0
- package/dist/perf/ratchet.d.ts.map +1 -0
- package/dist/pipelines/budget-breach.d.ts +31 -0
- package/dist/pipelines/budget-breach.d.ts.map +1 -0
- package/dist/pipelines/budget-breach.test.d.ts +2 -0
- package/dist/pipelines/budget-breach.test.d.ts.map +1 -0
- package/dist/pipelines/failure-cluster.d.ts +38 -0
- package/dist/pipelines/failure-cluster.d.ts.map +1 -0
- package/dist/pipelines/failure-cluster.test.d.ts +2 -0
- package/dist/pipelines/failure-cluster.test.d.ts.map +1 -0
- package/dist/pipelines/first-divergence.d.ts +26 -0
- package/dist/pipelines/first-divergence.d.ts.map +1 -0
- package/dist/pipelines/first-divergence.test.d.ts +2 -0
- package/dist/pipelines/first-divergence.test.d.ts.map +1 -0
- package/dist/pipelines/index.d.ts +8 -173
- package/dist/pipelines/index.d.ts.map +1 -0
- package/dist/pipelines/judge-agreement.d.ts +26 -0
- package/dist/pipelines/judge-agreement.d.ts.map +1 -0
- package/dist/pipelines/judge-agreement.test.d.ts +2 -0
- package/dist/pipelines/judge-agreement.test.d.ts.map +1 -0
- package/dist/pipelines/regression.d.ts +23 -0
- package/dist/pipelines/regression.d.ts.map +1 -0
- package/dist/pipelines/regression.test.d.ts +2 -0
- package/dist/pipelines/regression.test.d.ts.map +1 -0
- package/dist/pipelines/stuck-loop.d.ts +32 -0
- package/dist/pipelines/stuck-loop.d.ts.map +1 -0
- package/dist/pipelines/stuck-loop.test.d.ts +2 -0
- package/dist/pipelines/stuck-loop.test.d.ts.map +1 -0
- package/dist/pipelines/tool-waste.d.ts +34 -0
- package/dist/pipelines/tool-waste.d.ts.map +1 -0
- package/dist/pipelines/tool-waste.test.d.ts +2 -0
- package/dist/pipelines/tool-waste.test.d.ts.map +1 -0
- package/dist/playbook.d.ts +16 -0
- package/dist/playbook.d.ts.map +1 -0
- package/dist/pr-review-benchmark.d.ts +88 -0
- package/dist/pr-review-benchmark.d.ts.map +1 -0
- package/dist/pr-review-benchmark.test.d.ts +2 -0
- package/dist/pr-review-benchmark.test.d.ts.map +1 -0
- package/dist/pre-registration.d.ts +125 -0
- package/dist/pre-registration.d.ts.map +1 -0
- package/dist/prm/builtin-rubrics.d.ts +33 -0
- package/dist/prm/builtin-rubrics.d.ts.map +1 -0
- package/dist/prm/index.d.ts +5 -104
- package/dist/prm/index.d.ts.map +1 -0
- package/dist/prm/inference.d.ts +29 -0
- package/dist/prm/inference.d.ts.map +1 -0
- package/dist/prm/inference.test.d.ts +2 -0
- package/dist/prm/inference.test.d.ts.map +1 -0
- package/dist/{rubric-Cc6UHvUb.d.ts → prm/rubric.d.ts} +10 -13
- package/dist/prm/rubric.d.ts.map +1 -0
- package/dist/prm/training-export.d.ts +38 -0
- package/dist/prm/training-export.d.ts.map +1 -0
- package/dist/produced-state.d.ts +63 -0
- package/dist/produced-state.d.ts.map +1 -0
- package/dist/produced-state.test.d.ts +8 -0
- package/dist/produced-state.test.d.ts.map +1 -0
- package/dist/profile/baselines.d.ts +37 -0
- package/dist/profile/baselines.d.ts.map +1 -0
- package/dist/profile/index.d.ts +105 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/promotion-gate.d.ts +93 -0
- package/dist/promotion-gate.d.ts.map +1 -0
- package/dist/prompt-registry.d.ts +41 -0
- package/dist/prompt-registry.d.ts.map +1 -0
- package/dist/propose-review-control.d.ts +49 -0
- package/dist/propose-review-control.d.ts.map +1 -0
- package/dist/propose-review-control.test.d.ts +2 -0
- package/dist/propose-review-control.test.d.ts.map +1 -0
- package/dist/propose-review.d.ts +155 -0
- package/dist/propose-review.d.ts.map +1 -0
- package/dist/{red-team-BWdoyleI.d.ts → red-team.d.ts} +14 -16
- package/dist/red-team.d.ts.map +1 -0
- package/dist/reference-replay-steering.d.ts +11 -0
- package/dist/reference-replay-steering.d.ts.map +1 -0
- package/dist/reference-replay.d.ts +176 -0
- package/dist/reference-replay.d.ts.map +1 -0
- package/dist/reflective-mutation.d.ts +79 -0
- package/dist/reflective-mutation.d.ts.map +1 -0
- package/dist/registry.d.ts +31 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/release-confidence.d.ts +128 -0
- package/dist/release-confidence.d.ts.map +1 -0
- package/dist/release-report.d.ts +11 -0
- package/dist/release-report.d.ts.map +1 -0
- package/dist/replay.d.ts +120 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/reporter.d.ts +14 -0
- package/dist/reporter.d.ts.map +1 -0
- package/dist/reporting.d.ts +15 -15
- package/dist/reporting.d.ts.map +1 -0
- package/dist/researcher.d.ts +140 -0
- package/dist/researcher.d.ts.map +1 -0
- package/dist/reviewer.d.ts +118 -0
- package/dist/reviewer.d.ts.map +1 -0
- package/dist/reviewer.test.d.ts +2 -0
- package/dist/reviewer.test.d.ts.map +1 -0
- package/dist/reward-model-export.d.ts +60 -0
- package/dist/reward-model-export.d.ts.map +1 -0
- package/dist/rl/active-curriculum.d.ts +110 -0
- package/dist/rl/active-curriculum.d.ts.map +1 -0
- package/dist/rl/adaptation-eval.d.ts +109 -0
- package/dist/rl/adaptation-eval.d.ts.map +1 -0
- package/dist/{adversarial-DIVcDoI_.d.ts → rl/adversarial.d.ts} +6 -7
- package/dist/rl/adversarial.d.ts.map +1 -0
- package/dist/rl/compute-curves.d.ts +127 -0
- package/dist/rl/compute-curves.d.ts.map +1 -0
- package/dist/rl/contamination.d.ts +117 -0
- package/dist/rl/contamination.d.ts.map +1 -0
- package/dist/rl/corpus.d.ts +55 -0
- package/dist/rl/corpus.d.ts.map +1 -0
- package/dist/rl/corpus.test.d.ts +2 -0
- package/dist/rl/corpus.test.d.ts.map +1 -0
- package/dist/rl/dataset.d.ts +102 -0
- package/dist/rl/dataset.d.ts.map +1 -0
- package/dist/rl/dataset.test.d.ts +2 -0
- package/dist/rl/dataset.test.d.ts.map +1 -0
- package/dist/rl/exporters.d.ts +141 -0
- package/dist/rl/exporters.d.ts.map +1 -0
- package/dist/rl/index.d.ts +49 -0
- package/dist/rl/index.d.ts.map +1 -0
- package/dist/{off-policy-DiwuKKg7.d.ts → rl/off-policy.d.ts} +8 -9
- package/dist/rl/off-policy.d.ts.map +1 -0
- package/dist/rl/predictive-validity-researcher.d.ts +69 -0
- package/dist/rl/predictive-validity-researcher.d.ts.map +1 -0
- package/dist/rl/preferences.d.ts +141 -0
- package/dist/rl/preferences.d.ts.map +1 -0
- package/dist/rl/process-reward.d.ts +122 -0
- package/dist/rl/process-reward.d.ts.map +1 -0
- package/dist/rl/reward-hacking.d.ts +104 -0
- package/dist/rl/reward-hacking.d.ts.map +1 -0
- package/dist/rl/rl-campaign.d.ts +85 -0
- package/dist/rl/rl-campaign.d.ts.map +1 -0
- package/dist/rl/run-record-adapters.d.ts +56 -0
- package/dist/rl/run-record-adapters.d.ts.map +1 -0
- package/dist/rl/sim-fidelity.d.ts +166 -0
- package/dist/rl/sim-fidelity.d.ts.map +1 -0
- package/dist/rl/sim-fidelity.test.d.ts +2 -0
- package/dist/rl/sim-fidelity.test.d.ts.map +1 -0
- package/dist/rl/tournament.d.ts +115 -0
- package/dist/rl/tournament.d.ts.map +1 -0
- package/dist/rl/verifiable-reward.d.ts +124 -0
- package/dist/rl/verifiable-reward.d.ts.map +1 -0
- package/dist/rl.d.ts +1 -1192
- package/dist/rl.js +612 -612
- package/dist/rl.js.map +1 -1
- package/dist/{run-campaign-7WNXMDSN.js → run-campaign-WXY7KI67.js} +2 -2
- package/dist/run-critic.d.ts +23 -0
- package/dist/run-critic.d.ts.map +1 -0
- package/dist/run-evidence.d.ts +32 -0
- package/dist/run-evidence.d.ts.map +1 -0
- package/dist/{run-record-e7vj1uZQ.d.ts → run-record.d.ts} +16 -122
- package/dist/run-record.d.ts.map +1 -0
- package/dist/run-record.test.d.ts +2 -0
- package/dist/run-record.test.d.ts.map +1 -0
- package/dist/run-score.d.ts +31 -0
- package/dist/run-score.d.ts.map +1 -0
- package/dist/runtime-trajectory.d.ts +47 -0
- package/dist/runtime-trajectory.d.ts.map +1 -0
- package/dist/{test-graded-scenario-DeODGLra.d.ts → sandbox-harness.d.ts} +15 -60
- package/dist/sandbox-harness.d.ts.map +1 -0
- package/dist/sandbox-harness.test.d.ts +2 -0
- package/dist/sandbox-harness.test.d.ts.map +1 -0
- package/dist/sandbox-pool.d.ts +74 -0
- package/dist/sandbox-pool.d.ts.map +1 -0
- package/dist/sandbox-pool.test.d.ts +2 -0
- package/dist/sandbox-pool.test.d.ts.map +1 -0
- package/dist/scorecard.d.ts +133 -0
- package/dist/scorecard.d.ts.map +1 -0
- package/dist/scorecard.test.d.ts +2 -0
- package/dist/scorecard.test.d.ts.map +1 -0
- package/dist/self-play.d.ts +69 -0
- package/dist/self-play.d.ts.map +1 -0
- package/dist/semantic-concept-judge.d.ts +135 -0
- package/dist/semantic-concept-judge.d.ts.map +1 -0
- package/dist/semantic-concept-judge.test.d.ts +2 -0
- package/dist/semantic-concept-judge.test.d.ts.map +1 -0
- package/dist/{sequential-5iSVfzl2.d.ts → sequential.d.ts} +9 -10
- package/dist/sequential.d.ts.map +1 -0
- package/dist/{series-convergence-D5OWMBg6.d.ts → series-convergence.d.ts} +4 -5
- package/dist/series-convergence.d.ts.map +1 -0
- package/dist/slo.d.ts +48 -0
- package/dist/slo.d.ts.map +1 -0
- package/dist/state-continuity.d.ts +47 -0
- package/dist/state-continuity.d.ts.map +1 -0
- package/dist/{statistics-CCJpTGOS.d.ts → statistics.d.ts} +46 -48
- package/dist/statistics.d.ts.map +1 -0
- package/dist/statistics.test.d.ts +2 -0
- package/dist/statistics.test.d.ts.map +1 -0
- package/dist/steering-optimizer.d.ts +58 -0
- package/dist/steering-optimizer.d.ts.map +1 -0
- package/dist/steering.d.ts +24 -0
- package/dist/steering.d.ts.map +1 -0
- package/dist/storyboard/code-edit.d.ts +64 -0
- package/dist/storyboard/code-edit.d.ts.map +1 -0
- package/dist/storyboard/code-edit.test.d.ts +2 -0
- package/dist/storyboard/code-edit.test.d.ts.map +1 -0
- package/dist/storyboard/index.d.ts +16 -81
- package/dist/storyboard/index.d.ts.map +1 -0
- package/dist/storyboard/index.test.d.ts +2 -0
- package/dist/storyboard/index.test.d.ts.map +1 -0
- package/dist/{summary-report-BDOFevaT.d.ts → summary-report.d.ts} +23 -160
- package/dist/summary-report.d.ts.map +1 -0
- package/dist/telemetry/client.d.ts +35 -0
- package/dist/telemetry/client.d.ts.map +1 -0
- package/dist/telemetry/index.d.ts +17 -35
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/schema.d.ts +61 -0
- package/dist/telemetry/schema.d.ts.map +1 -0
- package/dist/telemetry/sink-fetch.d.ts +39 -0
- package/dist/telemetry/sink-fetch.d.ts.map +1 -0
- package/dist/telemetry/{file.d.ts → sink-file.d.ts} +5 -7
- package/dist/telemetry/sink-file.d.ts.map +1 -0
- package/dist/test-graded-scenario.d.ts +42 -0
- package/dist/test-graded-scenario.d.ts.map +1 -0
- package/dist/testing.d.ts +5 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +8 -0
- package/dist/testing.js.map +1 -0
- package/dist/tool-use-metrics.d.ts +35 -0
- package/dist/tool-use-metrics.d.ts.map +1 -0
- package/dist/trace/capture-fetch.d.ts +48 -0
- package/dist/trace/capture-fetch.d.ts.map +1 -0
- package/dist/trace/capture-fetch.test.d.ts +2 -0
- package/dist/trace/capture-fetch.test.d.ts.map +1 -0
- package/dist/{emitter-C2rqGH_l.d.ts → trace/emitter.d.ts} +9 -12
- package/dist/trace/emitter.d.ts.map +1 -0
- package/dist/trace/extract-usage.d.ts +46 -0
- package/dist/trace/extract-usage.d.ts.map +1 -0
- package/dist/trace/extract-usage.test.d.ts +2 -0
- package/dist/trace/extract-usage.test.d.ts.map +1 -0
- package/dist/trace/index.d.ts +15 -0
- package/dist/trace/index.d.ts.map +1 -0
- package/dist/{integrity-D2t12mMw.d.ts → trace/integrity.d.ts} +11 -14
- package/dist/trace/integrity.d.ts.map +1 -0
- package/dist/trace/otel-bridge.d.ts +29 -0
- package/dist/trace/otel-bridge.d.ts.map +1 -0
- package/dist/trace/otel-export.d.ts +52 -0
- package/dist/trace/otel-export.d.ts.map +1 -0
- package/dist/trace/otel.d.ts +57 -0
- package/dist/trace/otel.d.ts.map +1 -0
- package/dist/trace/otlp-attributes.d.ts +17 -0
- package/dist/trace/otlp-attributes.d.ts.map +1 -0
- package/dist/trace/query.d.ts +29 -0
- package/dist/trace/query.d.ts.map +1 -0
- package/dist/trace/query.test.d.ts +2 -0
- package/dist/trace/query.test.d.ts.map +1 -0
- package/dist/{raw-provider-sink-C46HDghv.d.ts → trace/raw-provider-sink.d.ts} +13 -14
- package/dist/trace/raw-provider-sink.d.ts.map +1 -0
- package/dist/{redact-B40YG2M_.d.ts → trace/redact.d.ts} +7 -8
- package/dist/trace/redact.d.ts.map +1 -0
- package/dist/{schema-m0gsnbt3.d.ts → trace/schema.d.ts} +29 -30
- package/dist/trace/schema.d.ts.map +1 -0
- package/dist/trace/store-to-otlp.d.ts +72 -0
- package/dist/trace/store-to-otlp.d.ts.map +1 -0
- package/dist/trace/store-to-otlp.test.d.ts +2 -0
- package/dist/trace/store-to-otlp.test.d.ts.map +1 -0
- package/dist/{store-BcFXE6LG.d.ts → trace/store.d.ts} +21 -12
- package/dist/trace/store.d.ts.map +1 -0
- package/dist/trace/store.test.d.ts +2 -0
- package/dist/trace/store.test.d.ts.map +1 -0
- package/dist/{analyst-C8HHvfJp.d.ts → trace-analyst/analyst.d.ts} +12 -14
- package/dist/trace-analyst/analyst.d.ts.map +1 -0
- package/dist/trace-analyst/analyst.test.d.ts +2 -0
- package/dist/trace-analyst/analyst.test.d.ts.map +1 -0
- package/dist/trace-analyst/behavioral-metrics.d.ts +40 -0
- package/dist/trace-analyst/behavioral-metrics.d.ts.map +1 -0
- package/dist/trace-analyst/behavioral-metrics.test.d.ts +2 -0
- package/dist/trace-analyst/behavioral-metrics.test.d.ts.map +1 -0
- package/dist/trace-analyst/hook.d.ts +55 -0
- package/dist/trace-analyst/hook.d.ts.map +1 -0
- package/dist/trace-analyst/index.d.ts +18 -0
- package/dist/trace-analyst/index.d.ts.map +1 -0
- package/dist/trace-analyst/insights.d.ts +71 -0
- package/dist/trace-analyst/insights.d.ts.map +1 -0
- package/dist/trace-analyst/insights.test.d.ts +2 -0
- package/dist/trace-analyst/insights.test.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-flatten.d.ts +42 -0
- package/dist/trace-analyst/otlp-flatten.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-span.d.ts +85 -0
- package/dist/trace-analyst/otlp-span.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-span.test.d.ts +2 -0
- package/dist/trace-analyst/otlp-span.test.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-to-run-records.d.ts +115 -0
- package/dist/trace-analyst/otlp-to-run-records.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-to-run-records.test.d.ts +2 -0
- package/dist/trace-analyst/otlp-to-run-records.test.d.ts.map +1 -0
- package/dist/trace-analyst/otlp-to-run-records.timestamps.test.d.ts +2 -0
- package/dist/trace-analyst/otlp-to-run-records.timestamps.test.d.ts.map +1 -0
- package/dist/trace-analyst/prompts.d.ts +6 -0
- package/dist/trace-analyst/prompts.d.ts.map +1 -0
- package/dist/trace-analyst/store-otlp.d.ts +126 -0
- package/dist/trace-analyst/store-otlp.d.ts.map +1 -0
- package/dist/trace-analyst/store-otlp.test.d.ts +8 -0
- package/dist/trace-analyst/store-otlp.test.d.ts.map +1 -0
- package/dist/trace-analyst/store-otlp.timestamps.test.d.ts +2 -0
- package/dist/trace-analyst/store-otlp.timestamps.test.d.ts.map +1 -0
- package/dist/trace-analyst/store.d.ts +63 -0
- package/dist/trace-analyst/store.d.ts.map +1 -0
- package/dist/trace-analyst/tools.d.ts +44 -0
- package/dist/trace-analyst/tools.d.ts.map +1 -0
- package/dist/trace-analyst/tools.test.d.ts +10 -0
- package/dist/trace-analyst/tools.test.d.ts.map +1 -0
- package/dist/{store-C1YxJDEK.d.ts → trace-analyst/types.d.ts} +18 -74
- package/dist/trace-analyst/types.d.ts.map +1 -0
- package/dist/trace-contracts.d.ts +180 -0
- package/dist/trace-contracts.d.ts.map +1 -0
- package/dist/traced-analyst.d.ts +26 -0
- package/dist/traced-analyst.d.ts.map +1 -0
- package/dist/traced-judges.d.ts +27 -0
- package/dist/traced-judges.d.ts.map +1 -0
- package/dist/traces.d.ts +4 -960
- package/dist/traces.d.ts.map +1 -0
- package/dist/traces.js +41 -11
- package/dist/{trajectory-2TkpSEVh.d.ts → trajectory.d.ts} +8 -9
- package/dist/trajectory.d.ts.map +1 -0
- package/dist/{types-C7DGg5ex.d.ts → types.d.ts} +31 -33
- package/dist/types.d.ts.map +1 -0
- package/dist/ui-finding.d.ts +104 -0
- package/dist/ui-finding.d.ts.map +1 -0
- package/dist/verdict-cache.d.ts +78 -0
- package/dist/verdict-cache.d.ts.map +1 -0
- package/dist/verdict-cache.test.d.ts +2 -0
- package/dist/verdict-cache.test.d.ts.map +1 -0
- package/dist/{verdict-C9MlYujm.d.ts → verdict.d.ts} +2 -3
- package/dist/verdict.d.ts.map +1 -0
- package/dist/visual-diff.d.ts +32 -0
- package/dist/visual-diff.d.ts.map +1 -0
- package/dist/wire/handlers.d.ts +54 -0
- package/dist/wire/handlers.d.ts.map +1 -0
- package/dist/wire/index.d.ts +13 -570
- package/dist/wire/index.d.ts.map +1 -0
- package/dist/wire/openapi.d.ts +3 -0
- package/dist/wire/openapi.d.ts.map +1 -0
- package/dist/wire/rpc.d.ts +21 -0
- package/dist/wire/rpc.d.ts.map +1 -0
- package/dist/wire/rubrics.d.ts +34 -0
- package/dist/wire/rubrics.d.ts.map +1 -0
- package/dist/wire/schemas.d.ts +410 -0
- package/dist/wire/schemas.d.ts.map +1 -0
- package/dist/wire/server.d.ts +60 -0
- package/dist/wire/server.d.ts.map +1 -0
- package/dist/workflow/event-schema.d.ts +5 -0
- package/dist/workflow/event-schema.d.ts.map +1 -0
- package/dist/workflow/feedback-pack.d.ts +99 -0
- package/dist/workflow/feedback-pack.d.ts.map +1 -0
- package/dist/workflow/index.d.ts +22 -495
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +1 -1
- package/dist/workflow/intelligence-export.d.ts +62 -0
- package/dist/workflow/intelligence-export.d.ts.map +1 -0
- package/dist/workflow/partner-report.d.ts +49 -0
- package/dist/workflow/partner-report.d.ts.map +1 -0
- package/dist/workflow/phase-graph.d.ts +43 -0
- package/dist/workflow/phase-graph.d.ts.map +1 -0
- package/dist/workflow/promotion-gate.d.ts +61 -0
- package/dist/workflow/promotion-gate.d.ts.map +1 -0
- package/dist/workflow/run-record.d.ts +12 -0
- package/dist/workflow/run-record.d.ts.map +1 -0
- package/dist/workflow/runtime-adapter.d.ts +20 -0
- package/dist/workflow/runtime-adapter.d.ts.map +1 -0
- package/dist/workflow/sanitize.d.ts +21 -0
- package/dist/workflow/sanitize.d.ts.map +1 -0
- package/dist/workflow/schema.d.ts +5 -0
- package/dist/workflow/schema.d.ts.map +1 -0
- package/dist/workflow/summary.d.ts +43 -0
- package/dist/workflow/summary.d.ts.map +1 -0
- package/dist/workflow/trace-event-fields.d.ts +6 -0
- package/dist/workflow/trace-event-fields.d.ts.map +1 -0
- package/dist/workflow/trajectory.d.ts +15 -0
- package/dist/workflow/trajectory.d.ts.map +1 -0
- package/dist/workflow/types.d.ts +68 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workspace-inspector.d.ts +67 -0
- package/dist/workspace-inspector.d.ts.map +1 -0
- package/dist/wrangler-deploy-runner.test.d.ts +2 -0
- package/dist/wrangler-deploy-runner.test.d.ts.map +1 -0
- package/docs/campaign-proposers.md +170 -0
- package/docs/concepts.md +8 -4
- package/docs/customer-journeys.md +15 -13
- package/docs/design/loop-taxonomy.md +34 -66
- package/docs/distributed-driver.md +14 -14
- package/docs/feature-guide.md +1 -1
- package/docs/hosted-ingest-spec.md +2 -3
- package/docs/multi-shot-optimization.md +8 -8
- package/docs/product-eval-adoption.md +1 -1
- package/docs/self-improvement-map.md +33 -29
- package/package.json +9 -15
- package/dist/calibration-BPmzuVPk.d.ts +0 -101
- package/dist/chunk-2K6UUZ7P.js.map +0 -1
- package/dist/chunk-CTBHKLEU.js.map +0 -1
- package/dist/chunk-E4GH6USR.js.map +0 -1
- package/dist/chunk-EGPMSBEZ.js.map +0 -1
- package/dist/chunk-KWRRMR3J.js.map +0 -1
- package/dist/chunk-MIFZUPEK.js.map +0 -1
- package/dist/chunk-MPQWFX6Y.js.map +0 -1
- package/dist/chunk-Q5LIB7BC.js.map +0 -1
- package/dist/chunk-QMUEXQJS.js.map +0 -1
- package/dist/chunk-SD2YFWQQ.js.map +0 -1
- package/dist/control-D6qwHXIR.d.ts +0 -259
- package/dist/corpus-B8A4BDR3.d.ts +0 -560
- package/dist/failure-cluster-DH9Flgcf.d.ts +0 -76
- package/dist/harness-optimizer-mOl9XX_O.d.ts +0 -106
- package/dist/index-Bx3gZ8xl.d.ts +0 -159
- package/dist/pre-registration-mAnCugl9.d.ts +0 -523
- package/dist/provenance-P-bCL2Fo.d.ts +0 -441
- package/dist/query-B7GGjRox.d.ts +0 -32
- package/dist/release-report-BEbWmVYj.d.ts +0 -233
- package/dist/run-critic-CmMf05uV.d.ts +0 -56
- package/dist/run-improvement-loop-DBahB8Ax.d.ts +0 -427
- package/dist/runtime-trajectory-BDgfGZSr.d.ts +0 -49
- package/dist/semantic-concept-judge-B9MgmBnM.d.ts +0 -624
- package/dist/sink-fetch-B1Yg4Til.d.ts +0 -101
- package/docs/design/external-agent-wedge.md +0 -89
- package/docs/design/phase-d-rfc.md +0 -125
- package/docs/design/phase4-consumer-migration.md +0 -70
- package/docs/design/primitives-integration-spec.md +0 -393
- package/docs/design/product-self-improvement-loop.md +0 -146
- package/docs/design/self-improvement-engine.md +0 -140
- package/docs/design/self-improvement-protocol.md +0 -223
- package/docs/design/self-improvement-roadmap.md +0 -106
- package/docs/design/substrate-gaps.md +0 -118
- package/docs/phase-b-pairing-kit.md +0 -188
- package/docs/phase-b-runbook.md +0 -176
- package/docs/pilot/README.md +0 -62
- package/docs/pilot/customer-checklist.md +0 -90
- package/docs/pilot/integration-foreign-stack.md +0 -296
- package/docs/pilot/integration-tangle-stack.md +0 -248
- package/docs/pilot/one-pager.md +0 -161
- package/docs/pilot/sample-insight-report.json +0 -172
- package/docs/quickstart-external.md +0 -229
- package/docs/research/belief-state-agent-eval-roadmap.md +0 -593
- package/docs/research/research-roadmap.md +0 -205
- package/docs/specs/driver-honest-spec.md +0 -251
- package/docs/specs/hermes-self-improvement-audit.md +0 -93
- package/docs/specs/profile-versioning.md +0 -291
- package/docs/three-package-architecture.md +0 -168
- /package/dist/{chunk-TBDR6PAI.js.map → chunk-IZCEK2HR.js.map} +0 -0
- /package/dist/{chunk-KW53MSA5.js.map → chunk-X74V6ESX.js.map} +0 -0
- /package/dist/{chunk-2KNZHH3P.js.map → chunk-Z6L6YSU6.js.map} +0 -0
- /package/dist/{run-campaign-7WNXMDSN.js.map → run-campaign-WXY7KI67.js.map} +0 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `OtlpFileTraceStore` — read-only OTLP-JSONL trace store for the
|
|
3
|
+
* trace-analyst.
|
|
4
|
+
*
|
|
5
|
+
* Wire shape. Each line of the input file is one OTLP-shaped span. The
|
|
6
|
+
* store understands flattened OTLP JSONL plus the OpenInference vocab.
|
|
7
|
+
* We project upstream's full
|
|
8
|
+
* span shape down to `TraceAnalystSpan` lazily — full materialisation
|
|
9
|
+
* only happens for the spans the agent actually requests.
|
|
10
|
+
*
|
|
11
|
+
* Indexing. On first read the store builds an in-memory index keyed
|
|
12
|
+
* by `trace_id` carrying:
|
|
13
|
+
* - byte offsets + lengths for each span line (for surgical reads
|
|
14
|
+
* without re-parsing the whole file)
|
|
15
|
+
* - a `TraceAnalystTraceSummary` rollup
|
|
16
|
+
* - sets of services / agents / models / tools / has_errors
|
|
17
|
+
* - byte size of the trace's JSONL slab
|
|
18
|
+
*
|
|
19
|
+
* Memory bound. The index keeps span metadata only — names, kinds,
|
|
20
|
+
* offsets, status. Attribute payloads stay on disk until requested.
|
|
21
|
+
* For a 50MB JSONL with 50k spans, the index is ~5MB.
|
|
22
|
+
*
|
|
23
|
+
* Concurrency. The store builds the index once on first read and
|
|
24
|
+
* caches it. Subsequent reads reuse the index. The file is opened on
|
|
25
|
+
* each read; we never hold a long-lived FD.
|
|
26
|
+
*/
|
|
27
|
+
import { NotFoundError } from '../errors';
|
|
28
|
+
import { type TraceAnalysisStore } from './store';
|
|
29
|
+
import { type DatasetOverview, type QueryTracesPage, type SearchSpanResult, type SearchTraceResult, type TraceAnalystFilters, type ViewSpansResult, type ViewTraceResult } from './types';
|
|
30
|
+
export interface OtlpFileTraceStoreOptions {
|
|
31
|
+
/** Path to the OTLP-JSONL file. */
|
|
32
|
+
path: string;
|
|
33
|
+
/** Override the discovery (`viewTrace`) per-attribute byte cap. */
|
|
34
|
+
perAttributeViewBudget?: number;
|
|
35
|
+
/** Override the surgical (`viewSpans`) per-attribute byte cap. */
|
|
36
|
+
perAttributeSpanBudget?: number;
|
|
37
|
+
/** Override the per-call ceiling that triggers oversized summaries. */
|
|
38
|
+
perCallByteCeiling?: number;
|
|
39
|
+
/** Override the per-match text budget. */
|
|
40
|
+
perMatchTextBudget?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Hard ceiling on the trace file size in bytes. The store reads the
|
|
43
|
+
* whole file into one Buffer and indexes it in memory, so an
|
|
44
|
+
* unbounded file OOMs the process. Above this size the store fails
|
|
45
|
+
* loud with `TraceFileTooLargeError` instead of degrading silently.
|
|
46
|
+
* Default 256 MiB.
|
|
47
|
+
*/
|
|
48
|
+
maxFileBytes?: number;
|
|
49
|
+
}
|
|
50
|
+
/** Default ceiling for {@link OtlpFileTraceStoreOptions.maxFileBytes}. */
|
|
51
|
+
export declare const DEFAULT_MAX_TRACE_FILE_BYTES: number;
|
|
52
|
+
export declare class OtlpFileTraceStore implements TraceAnalysisStore {
|
|
53
|
+
private readonly path;
|
|
54
|
+
private readonly perAttributeViewBudget;
|
|
55
|
+
private readonly perAttributeSpanBudget;
|
|
56
|
+
private readonly perCallByteCeiling;
|
|
57
|
+
private readonly perMatchTextBudget;
|
|
58
|
+
private readonly maxFileBytes;
|
|
59
|
+
private indexPromise?;
|
|
60
|
+
/** Cached UTF-8 buffer of the file. We pin it once because every
|
|
61
|
+
* read needs slice access and re-reading on each call balloons the
|
|
62
|
+
* syscall count. */
|
|
63
|
+
private bufferPromise?;
|
|
64
|
+
constructor(opts: OtlpFileTraceStoreOptions);
|
|
65
|
+
getOverview(filters?: TraceAnalystFilters): Promise<DatasetOverview>;
|
|
66
|
+
queryTraces(opts: {
|
|
67
|
+
filters?: TraceAnalystFilters;
|
|
68
|
+
limit: number;
|
|
69
|
+
offset?: number;
|
|
70
|
+
}): Promise<QueryTracesPage>;
|
|
71
|
+
countTraces(filters?: TraceAnalystFilters): Promise<number>;
|
|
72
|
+
viewTrace(opts: {
|
|
73
|
+
trace_id: string;
|
|
74
|
+
per_attribute_byte_cap?: number;
|
|
75
|
+
}): Promise<ViewTraceResult>;
|
|
76
|
+
viewSpans(opts: {
|
|
77
|
+
trace_id: string;
|
|
78
|
+
span_ids: readonly string[];
|
|
79
|
+
per_attribute_byte_cap?: number;
|
|
80
|
+
}): Promise<ViewSpansResult>;
|
|
81
|
+
searchTrace(opts: {
|
|
82
|
+
trace_id: string;
|
|
83
|
+
regex_pattern: string;
|
|
84
|
+
max_matches?: number;
|
|
85
|
+
}): Promise<SearchTraceResult>;
|
|
86
|
+
searchSpan(opts: {
|
|
87
|
+
trace_id: string;
|
|
88
|
+
span_id: string;
|
|
89
|
+
regex_pattern: string;
|
|
90
|
+
max_matches?: number;
|
|
91
|
+
}): Promise<SearchSpanResult>;
|
|
92
|
+
/** Force the index to materialise. Useful to amortise startup cost
|
|
93
|
+
* before the first agent call. */
|
|
94
|
+
ensureIndexed(): Promise<void>;
|
|
95
|
+
private buffer;
|
|
96
|
+
/** Stat-then-read so an oversized file fails loud BEFORE we allocate a
|
|
97
|
+
* multi-hundred-MB Buffer and OOM the process. A missing file surfaces
|
|
98
|
+
* as TraceFileMissingError; any other stat/read error propagates. */
|
|
99
|
+
private readGuarded;
|
|
100
|
+
private index;
|
|
101
|
+
private buildIndex;
|
|
102
|
+
private matchedTraces;
|
|
103
|
+
private toSummary;
|
|
104
|
+
private projectSpan;
|
|
105
|
+
private buildOversizedSummary;
|
|
106
|
+
private scanSpanForMatches;
|
|
107
|
+
}
|
|
108
|
+
export declare class TraceFileMissingError extends NotFoundError {
|
|
109
|
+
constructor(path: string);
|
|
110
|
+
}
|
|
111
|
+
export declare class TraceFileTooLargeError extends Error {
|
|
112
|
+
readonly path: string;
|
|
113
|
+
readonly size_bytes: number;
|
|
114
|
+
readonly max_bytes: number;
|
|
115
|
+
constructor(path: string, size_bytes: number, max_bytes: number);
|
|
116
|
+
}
|
|
117
|
+
export declare class TraceNotFoundError extends NotFoundError {
|
|
118
|
+
readonly trace_id: string;
|
|
119
|
+
constructor(trace_id: string);
|
|
120
|
+
}
|
|
121
|
+
export declare class SpanNotFoundError extends NotFoundError {
|
|
122
|
+
readonly trace_id: string;
|
|
123
|
+
readonly span_id: string;
|
|
124
|
+
constructor(trace_id: string, span_id: string);
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=store-otlp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-otlp.d.ts","sourceRoot":"","sources":["../../src/trace-analyst/store-otlp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-otlp.test.d.ts","sourceRoot":"","sources":["../../src/trace-analyst/store-otlp.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-otlp.timestamps.test.d.ts","sourceRoot":"","sources":["../../src/trace-analyst/store-otlp.timestamps.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `TraceAnalysisStore` — read-side interface the trace-analyst calls
|
|
3
|
+
* through. Six operations, all bounded:
|
|
4
|
+
*
|
|
5
|
+
* - `getOverview(filters?)` — dataset rollup + sample trace ids.
|
|
6
|
+
* - `queryTraces(filters?, limit, offset)` — paginated summaries.
|
|
7
|
+
* - `countTraces(filters?)` — cheap count without materialisation.
|
|
8
|
+
* - `viewTrace(trace_id, perAttrCap)` — full span list, oversized → summary.
|
|
9
|
+
* - `viewSpans(trace_id, span_ids, perAttrCap)` — surgical span fetch.
|
|
10
|
+
* - `searchTrace(trace_id, regex, max_matches)` — bounded regex hits.
|
|
11
|
+
* - `searchSpan(trace_id, span_id, regex, max_matches)` — single-span search.
|
|
12
|
+
*
|
|
13
|
+
* Multiple implementations ship in the core (`OtlpFileTraceStore`).
|
|
14
|
+
* Downstream callers can supply their own — e.g. a DuckDB-backed
|
|
15
|
+
* adapter or an in-memory adapter for tests — by implementing this
|
|
16
|
+
* interface.
|
|
17
|
+
*
|
|
18
|
+
* Filters compose with AND semantics. Empty/undefined fields impose
|
|
19
|
+
* no constraint. `regex_pattern` is the only opt-in raw-bytes scan —
|
|
20
|
+
* implementations may skip it via `count`/`overview` when not set.
|
|
21
|
+
*/
|
|
22
|
+
import type { DatasetOverview, QueryTracesPage, SearchSpanResult, SearchTraceResult, TraceAnalystFilters, ViewSpansResult, ViewTraceResult } from './types';
|
|
23
|
+
export interface TraceAnalysisStore {
|
|
24
|
+
getOverview(filters?: TraceAnalystFilters): Promise<DatasetOverview>;
|
|
25
|
+
queryTraces(opts: {
|
|
26
|
+
filters?: TraceAnalystFilters;
|
|
27
|
+
limit: number;
|
|
28
|
+
offset?: number;
|
|
29
|
+
}): Promise<QueryTracesPage>;
|
|
30
|
+
countTraces(filters?: TraceAnalystFilters): Promise<number>;
|
|
31
|
+
viewTrace(opts: {
|
|
32
|
+
trace_id: string;
|
|
33
|
+
/** Override per-attribute byte cap. Defaults to discovery budget. */
|
|
34
|
+
per_attribute_byte_cap?: number;
|
|
35
|
+
}): Promise<ViewTraceResult>;
|
|
36
|
+
viewSpans(opts: {
|
|
37
|
+
trace_id: string;
|
|
38
|
+
span_ids: readonly string[];
|
|
39
|
+
/** Override per-attribute byte cap. Defaults to surgical budget. */
|
|
40
|
+
per_attribute_byte_cap?: number;
|
|
41
|
+
}): Promise<ViewSpansResult>;
|
|
42
|
+
searchTrace(opts: {
|
|
43
|
+
trace_id: string;
|
|
44
|
+
regex_pattern: string;
|
|
45
|
+
/** Hard cap on matches returned. Default 50. */
|
|
46
|
+
max_matches?: number;
|
|
47
|
+
}): Promise<SearchTraceResult>;
|
|
48
|
+
searchSpan(opts: {
|
|
49
|
+
trace_id: string;
|
|
50
|
+
span_id: string;
|
|
51
|
+
regex_pattern: string;
|
|
52
|
+
max_matches?: number;
|
|
53
|
+
}): Promise<SearchSpanResult>;
|
|
54
|
+
}
|
|
55
|
+
/** Compile a regex with the same anchoring + flags semantics across
|
|
56
|
+
* implementations. Throws on invalid pattern — callers should surface
|
|
57
|
+
* that to the agent so it can refine instead of looping. */
|
|
58
|
+
export declare function compileSearchRegex(pattern: string): RegExp;
|
|
59
|
+
/** Truncate string payload deterministically for tool responses.
|
|
60
|
+
* Marker is parseable so downstream consumers can detect truncation
|
|
61
|
+
* and decide whether to fetch surgically. */
|
|
62
|
+
export declare function truncateForBudget(value: string, byteCap: number): string;
|
|
63
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/trace-analyst/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAEpE,WAAW,CAAC,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,mBAAmB,CAAA;QAC7B,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAE5B,WAAW,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAE3D,SAAS,CAAC,IAAI,EAAE;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,qEAAqE;QACrE,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAChC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAE5B,SAAS,CAAC,IAAI,EAAE;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;QAC3B,oEAAoE;QACpE,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAChC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAE5B,WAAW,CAAC,IAAI,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,aAAa,EAAE,MAAM,CAAA;QACrB,gDAAgD;QAChD,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAE9B,UAAU,CAAC,IAAI,EAAE;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC9B;AAED;;6DAE6D;AAC7D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED;;8CAE8C;AAC9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAexE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trace-analyst tool surface — six namespaced AxFunctions the analyst
|
|
3
|
+
* agent calls from generated JS code via `traces.<name>(...)`.
|
|
4
|
+
*
|
|
5
|
+
* Discovery → narrow → deep-read protocol. Tool names + ordering
|
|
6
|
+
* support RLM discovery:
|
|
7
|
+
*
|
|
8
|
+
* 1. `getDatasetOverview` (cheap) — first call, sizes the dataset
|
|
9
|
+
* 2. `queryTraces` — paginated summaries with `raw_jsonl_bytes`
|
|
10
|
+
* 3. `countTraces` — cheap pre-flight before regex
|
|
11
|
+
* 4. `viewTrace` — full span list, oversized → summary
|
|
12
|
+
* 5. `viewSpans` — surgical 16KB-cap reads
|
|
13
|
+
* 6. `searchTrace` / `searchSpan` — bounded regex hits
|
|
14
|
+
*
|
|
15
|
+
* Failure mode. Tool handlers throw on bad input (invalid trace ids,
|
|
16
|
+
* out-of-range pagination, malformed regex). Ax converts thrown errors
|
|
17
|
+
* into actor-visible `[ERROR]` strings so the analyst can adjust on
|
|
18
|
+
* the next turn instead of looping.
|
|
19
|
+
*/
|
|
20
|
+
import type { AxFunction } from '@ax-llm/ax';
|
|
21
|
+
import type { TraceAnalysisStore } from './store';
|
|
22
|
+
interface BuildTraceAnalystToolsOpts {
|
|
23
|
+
store: TraceAnalysisStore;
|
|
24
|
+
/** Override the default sample-trace-id slot count (20). Mostly for tests. */
|
|
25
|
+
sampleTraceLimit?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Build the trace-analyst function set. Pass the result into
|
|
29
|
+
* `agent(...).functions.local`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildTraceAnalystTools(opts: BuildTraceAnalystToolsOpts): AxFunction[];
|
|
32
|
+
/**
|
|
33
|
+
* Convenience: same shape as `buildTraceAnalystTools` but returns the
|
|
34
|
+
* grouped form expected when registering trace tools alongside other
|
|
35
|
+
* agent function modules. */
|
|
36
|
+
export declare function traceAnalystFunctionGroup(opts: BuildTraceAnalystToolsOpts): {
|
|
37
|
+
namespace: string;
|
|
38
|
+
title: string;
|
|
39
|
+
selectionCriteria: string;
|
|
40
|
+
description: string;
|
|
41
|
+
functions: AxFunction[];
|
|
42
|
+
};
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/trace-analyst/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAKjD,UAAU,0BAA0B;IAClC,KAAK,EAAE,kBAAkB,CAAA;IACzB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAMD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,UAAU,EAAE,CAyIrF;AAED;;;6BAG6B;AAC7B,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,0BAA0B,GAAG;IAC3E,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,UAAU,EAAE,CAAA;CACxB,CAUA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for the AxFunction adapter layer in `tools.ts`. We don't run
|
|
3
|
+
* a full agent here — we exercise the runtime guards on bad inputs
|
|
4
|
+
* and confirm the namespace + function-set shape is what AxAgent
|
|
5
|
+
* expects.
|
|
6
|
+
*
|
|
7
|
+
* Each test names the regression it would catch.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=tools.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.test.d.ts","sourceRoot":"","sources":["../../src/trace-analyst/tools.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
* `ViewTraceOversized`.
|
|
14
14
|
*/
|
|
15
15
|
/** OTLP span kind (subset we actually use). */
|
|
16
|
-
type TraceAnalystSpanKind = 'AGENT' | 'LLM' | 'TOOL' | 'CHAIN' | 'GUARDRAIL' | 'SPAN' | 'UNKNOWN';
|
|
17
|
-
type TraceAnalystSpanStatus = 'OK' | 'ERROR' | 'UNSET';
|
|
16
|
+
export type TraceAnalystSpanKind = 'AGENT' | 'LLM' | 'TOOL' | 'CHAIN' | 'GUARDRAIL' | 'SPAN' | 'UNKNOWN';
|
|
17
|
+
export type TraceAnalystSpanStatus = 'OK' | 'ERROR' | 'UNSET';
|
|
18
18
|
/** Subset of OTLP span fields the analyst exposes to the agent. The
|
|
19
19
|
* store's job is to project upstream's full span shape down to this
|
|
20
20
|
* view — the analyst never sees vendor extensions directly. */
|
|
21
|
-
interface TraceAnalystSpan {
|
|
21
|
+
export interface TraceAnalystSpan {
|
|
22
22
|
trace_id: string;
|
|
23
23
|
span_id: string;
|
|
24
24
|
parent_span_id: string | null;
|
|
@@ -37,7 +37,7 @@ interface TraceAnalystSpan {
|
|
|
37
37
|
* callers must respect the per-attribute byte cap. */
|
|
38
38
|
attributes: Record<string, unknown>;
|
|
39
39
|
}
|
|
40
|
-
interface TraceAnalystTraceSummary {
|
|
40
|
+
export interface TraceAnalystTraceSummary {
|
|
41
41
|
trace_id: string;
|
|
42
42
|
service_name: string | null;
|
|
43
43
|
agent_name: string | null;
|
|
@@ -50,7 +50,7 @@ interface TraceAnalystTraceSummary {
|
|
|
50
50
|
models: string[];
|
|
51
51
|
tools: string[];
|
|
52
52
|
}
|
|
53
|
-
interface TraceAnalystFilters {
|
|
53
|
+
export interface TraceAnalystFilters {
|
|
54
54
|
/** Restrict to traces that contain at least one error span. */
|
|
55
55
|
has_errors?: boolean;
|
|
56
56
|
/** Match if any span's `service.name` is in this list. */
|
|
@@ -74,7 +74,7 @@ interface TraceAnalystFilters {
|
|
|
74
74
|
* paths, durations) out of the span `status_message` so semantically identical
|
|
75
75
|
* failures collapse into one cluster. An analyst that accounts for every
|
|
76
76
|
* cluster has, by construction, covered every distinct failure mode. */
|
|
77
|
-
interface ErrorCluster {
|
|
77
|
+
export interface ErrorCluster {
|
|
78
78
|
/** Normalized status_message — the cluster key. */
|
|
79
79
|
signature: string;
|
|
80
80
|
/** A verbatim, un-normalized exemplar message (for exact-string citation). */
|
|
@@ -92,7 +92,7 @@ interface ErrorCluster {
|
|
|
92
92
|
/** Real span ids carrying this signature (capped). */
|
|
93
93
|
exemplar_span_ids: string[];
|
|
94
94
|
}
|
|
95
|
-
interface DatasetOverview {
|
|
95
|
+
export interface DatasetOverview {
|
|
96
96
|
total_traces: number;
|
|
97
97
|
raw_jsonl_bytes: number;
|
|
98
98
|
services: string[];
|
|
@@ -115,7 +115,7 @@ interface DatasetOverview {
|
|
|
115
115
|
latest: string;
|
|
116
116
|
} | null;
|
|
117
117
|
}
|
|
118
|
-
interface QueryTracesPage {
|
|
118
|
+
export interface QueryTracesPage {
|
|
119
119
|
traces: TraceAnalystTraceSummary[];
|
|
120
120
|
total: number;
|
|
121
121
|
has_more: boolean;
|
|
@@ -123,12 +123,12 @@ interface QueryTracesPage {
|
|
|
123
123
|
/** Full-trace view. When the response would exceed the per-call byte
|
|
124
124
|
* budget, `oversized` is populated INSTEAD of `spans` so the agent
|
|
125
125
|
* knows to switch to `searchTrace` / `viewSpans`. */
|
|
126
|
-
interface ViewTraceResult {
|
|
126
|
+
export interface ViewTraceResult {
|
|
127
127
|
trace_id: string;
|
|
128
128
|
spans?: TraceAnalystSpan[];
|
|
129
129
|
oversized?: ViewTraceOversized;
|
|
130
130
|
}
|
|
131
|
-
interface ViewTraceOversized {
|
|
131
|
+
export interface ViewTraceOversized {
|
|
132
132
|
span_count: number;
|
|
133
133
|
/** Names with their counts, sorted desc. Capped at 20 entries. */
|
|
134
134
|
top_span_names: Array<[string, number]>;
|
|
@@ -136,7 +136,7 @@ interface ViewTraceOversized {
|
|
|
136
136
|
span_response_bytes_max: number;
|
|
137
137
|
error_span_count: number;
|
|
138
138
|
}
|
|
139
|
-
interface ViewSpansResult {
|
|
139
|
+
export interface ViewSpansResult {
|
|
140
140
|
trace_id: string;
|
|
141
141
|
spans: TraceAnalystSpan[];
|
|
142
142
|
/** Number of requested span ids that were not found in the trace. */
|
|
@@ -144,7 +144,7 @@ interface ViewSpansResult {
|
|
|
144
144
|
/** Number of attribute fields truncated to fit the per-attribute cap. */
|
|
145
145
|
truncated_attribute_count: number;
|
|
146
146
|
}
|
|
147
|
-
interface SpanMatchRecord {
|
|
147
|
+
export interface SpanMatchRecord {
|
|
148
148
|
trace_id: string;
|
|
149
149
|
span_id: string;
|
|
150
150
|
span_name: string;
|
|
@@ -157,13 +157,13 @@ interface SpanMatchRecord {
|
|
|
157
157
|
context_after: string;
|
|
158
158
|
match_offset: number;
|
|
159
159
|
}
|
|
160
|
-
interface SearchTraceResult {
|
|
160
|
+
export interface SearchTraceResult {
|
|
161
161
|
trace_id: string;
|
|
162
162
|
hits: SpanMatchRecord[];
|
|
163
163
|
total_matches: number;
|
|
164
164
|
has_more: boolean;
|
|
165
165
|
}
|
|
166
|
-
interface SearchSpanResult {
|
|
166
|
+
export interface SearchSpanResult {
|
|
167
167
|
trace_id: string;
|
|
168
168
|
span_id: string;
|
|
169
169
|
hits: SpanMatchRecord[];
|
|
@@ -171,7 +171,7 @@ interface SearchSpanResult {
|
|
|
171
171
|
has_more: boolean;
|
|
172
172
|
}
|
|
173
173
|
/** Tunable byte budgets for bounded RLM tool output. */
|
|
174
|
-
interface TraceAnalystByteBudgets {
|
|
174
|
+
export interface TraceAnalystByteBudgets {
|
|
175
175
|
/** Max bytes any single tool response may emit. Hard ceiling enforced
|
|
176
176
|
* by the store; oversized → summary. Default 150_000. */
|
|
177
177
|
perCallByteCeiling: number;
|
|
@@ -185,64 +185,8 @@ interface TraceAnalystByteBudgets {
|
|
|
185
185
|
* context window. Default 1024. */
|
|
186
186
|
perMatchTextBudget: number;
|
|
187
187
|
}
|
|
188
|
-
declare const DEFAULT_TRACE_ANALYST_BUDGETS: TraceAnalystByteBudgets;
|
|
188
|
+
export declare const DEFAULT_TRACE_ANALYST_BUDGETS: TraceAnalystByteBudgets;
|
|
189
189
|
/** Marker substituted in place of truncated string payloads. Callers
|
|
190
190
|
* parsing tool output can detect it deterministically. */
|
|
191
|
-
declare const TRACE_ANALYST_TRUNCATION_MARKER_PREFIX = "[trace-analyst truncated:";
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* `TraceAnalysisStore` — read-side interface the trace-analyst calls
|
|
195
|
-
* through. Six operations, all bounded:
|
|
196
|
-
*
|
|
197
|
-
* - `getOverview(filters?)` — dataset rollup + sample trace ids.
|
|
198
|
-
* - `queryTraces(filters?, limit, offset)` — paginated summaries.
|
|
199
|
-
* - `countTraces(filters?)` — cheap count without materialisation.
|
|
200
|
-
* - `viewTrace(trace_id, perAttrCap)` — full span list, oversized → summary.
|
|
201
|
-
* - `viewSpans(trace_id, span_ids, perAttrCap)` — surgical span fetch.
|
|
202
|
-
* - `searchTrace(trace_id, regex, max_matches)` — bounded regex hits.
|
|
203
|
-
* - `searchSpan(trace_id, span_id, regex, max_matches)` — single-span search.
|
|
204
|
-
*
|
|
205
|
-
* Multiple implementations ship in the core (`OtlpFileTraceStore`).
|
|
206
|
-
* Downstream callers can supply their own — e.g. a DuckDB-backed
|
|
207
|
-
* adapter or an in-memory adapter for tests — by implementing this
|
|
208
|
-
* interface.
|
|
209
|
-
*
|
|
210
|
-
* Filters compose with AND semantics. Empty/undefined fields impose
|
|
211
|
-
* no constraint. `regex_pattern` is the only opt-in raw-bytes scan —
|
|
212
|
-
* implementations may skip it via `count`/`overview` when not set.
|
|
213
|
-
*/
|
|
214
|
-
|
|
215
|
-
interface TraceAnalysisStore {
|
|
216
|
-
getOverview(filters?: TraceAnalystFilters): Promise<DatasetOverview>;
|
|
217
|
-
queryTraces(opts: {
|
|
218
|
-
filters?: TraceAnalystFilters;
|
|
219
|
-
limit: number;
|
|
220
|
-
offset?: number;
|
|
221
|
-
}): Promise<QueryTracesPage>;
|
|
222
|
-
countTraces(filters?: TraceAnalystFilters): Promise<number>;
|
|
223
|
-
viewTrace(opts: {
|
|
224
|
-
trace_id: string;
|
|
225
|
-
/** Override per-attribute byte cap. Defaults to discovery budget. */
|
|
226
|
-
per_attribute_byte_cap?: number;
|
|
227
|
-
}): Promise<ViewTraceResult>;
|
|
228
|
-
viewSpans(opts: {
|
|
229
|
-
trace_id: string;
|
|
230
|
-
span_ids: readonly string[];
|
|
231
|
-
/** Override per-attribute byte cap. Defaults to surgical budget. */
|
|
232
|
-
per_attribute_byte_cap?: number;
|
|
233
|
-
}): Promise<ViewSpansResult>;
|
|
234
|
-
searchTrace(opts: {
|
|
235
|
-
trace_id: string;
|
|
236
|
-
regex_pattern: string;
|
|
237
|
-
/** Hard cap on matches returned. Default 50. */
|
|
238
|
-
max_matches?: number;
|
|
239
|
-
}): Promise<SearchTraceResult>;
|
|
240
|
-
searchSpan(opts: {
|
|
241
|
-
trace_id: string;
|
|
242
|
-
span_id: string;
|
|
243
|
-
regex_pattern: string;
|
|
244
|
-
max_matches?: number;
|
|
245
|
-
}): Promise<SearchSpanResult>;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
export { DEFAULT_TRACE_ANALYST_BUDGETS as D, type ErrorCluster as E, type QueryTracesPage as Q, type SearchSpanResult as S, type TraceAnalysisStore as T, type ViewSpansResult as V, type TraceAnalystSpan as a, type DatasetOverview as b, type SearchTraceResult as c, type SpanMatchRecord as d, TRACE_ANALYST_TRUNCATION_MARKER_PREFIX as e, type TraceAnalystByteBudgets as f, type TraceAnalystFilters as g, type TraceAnalystSpanKind as h, type TraceAnalystSpanStatus as i, type TraceAnalystTraceSummary as j, type ViewTraceOversized as k, type ViewTraceResult as l };
|
|
191
|
+
export declare const TRACE_ANALYST_TRUNCATION_MARKER_PREFIX = "[trace-analyst truncated:";
|
|
192
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/trace-analyst/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trace contracts — finite-trace temporal assertions over span sequences.
|
|
3
|
+
*
|
|
4
|
+
* Five LTLf operators over one ordered span sequence — `always(p)`,
|
|
5
|
+
* `never(p)`, `eventually(p)`, `precedes(a, b)`, `neverUnless(p, prior)` —
|
|
6
|
+
* deterministic and judge-free. No nesting: each rule is one operator over
|
|
7
|
+
* flat `SpanPredicate`s; compose richer checks with multiple rules.
|
|
8
|
+
*
|
|
9
|
+
* A built `TraceContract` is a serializable plain object (RegExp matchers
|
|
10
|
+
* are normalized to `SerializedRegex`), so ONE contract definition is
|
|
11
|
+
* dual-use:
|
|
12
|
+
*
|
|
13
|
+
* - recorded eval traces — `evaluateTraceContract(contract, await
|
|
14
|
+
* store.spans({ runId }))`, or via the behavior DSL:
|
|
15
|
+
* `expectAgent(store, runId).toSatisfyContract(contract)`.
|
|
16
|
+
* - the production OTLP stream — `ExportableSpan`s flattened by
|
|
17
|
+
* `trace/otel-bridge` satisfy `ContractSpan` structurally. A production
|
|
18
|
+
* monitor implements `OtelExporter`, buffers `exportSpan` payloads per
|
|
19
|
+
* trace, and runs `checkTraceContracts(buffer, contracts)` on flush:
|
|
20
|
+
*
|
|
21
|
+
* const buffer: ContractSpan[] = []
|
|
22
|
+
* const monitor: OtelExporter = {
|
|
23
|
+
* exportSpan: (s) => { buffer.push(s) },
|
|
24
|
+
* flush: async () => {
|
|
25
|
+
* const { allValid, verdicts } = checkTraceContracts(buffer, contracts)
|
|
26
|
+
* if (!allValid) alert(verdicts)
|
|
27
|
+
* },
|
|
28
|
+
* shutdown: async () => {},
|
|
29
|
+
* }
|
|
30
|
+
* const store = createOtelTracingStore(inner, monitor, runId)
|
|
31
|
+
*
|
|
32
|
+
* `custom` predicate functions are the one non-serializable escape hatch:
|
|
33
|
+
* the builder stamps `requiresCustom: true` (which DOES survive JSON) so a
|
|
34
|
+
* deserialized contract that lost its function fails loud at evaluation
|
|
35
|
+
* instead of silently weakening.
|
|
36
|
+
*
|
|
37
|
+
* Naming: the root barrel exports ci-gate's threshold-contract
|
|
38
|
+
* `evaluateContract`, so the evaluators here are `evaluateTraceContract` /
|
|
39
|
+
* `checkTraceContracts`.
|
|
40
|
+
*/
|
|
41
|
+
import type { JudgeConfig, Scenario } from './campaign/types';
|
|
42
|
+
import type { DefaultVerdict } from './verdict';
|
|
43
|
+
/**
|
|
44
|
+
* Minimal structural span the checker reads. Both the eval-side `Span`
|
|
45
|
+
* (trace/schema) and the OTLP-flattened `ExportableSpan` (trace/otel-export)
|
|
46
|
+
* satisfy it; any other producer only needs these fields.
|
|
47
|
+
*/
|
|
48
|
+
export interface ContractSpan {
|
|
49
|
+
spanId?: string;
|
|
50
|
+
name?: string;
|
|
51
|
+
kind?: string;
|
|
52
|
+
startedAt?: number;
|
|
53
|
+
status?: string;
|
|
54
|
+
error?: string;
|
|
55
|
+
/** Typed field on eval-side ToolSpans; OTLP flattenings drop it (see
|
|
56
|
+
* `tool` matching order in {@link matchSpan}). */
|
|
57
|
+
toolName?: string;
|
|
58
|
+
attributes?: Record<string, unknown>;
|
|
59
|
+
}
|
|
60
|
+
/** JSON-safe RegExp form — what the builder normalizes RegExp matchers to. */
|
|
61
|
+
export interface SerializedRegex {
|
|
62
|
+
$regex: string;
|
|
63
|
+
flags: string;
|
|
64
|
+
}
|
|
65
|
+
export type TextMatcher = string | RegExp | SerializedRegex;
|
|
66
|
+
/**
|
|
67
|
+
* Proposition over one span. All specified fields must match (AND).
|
|
68
|
+
* At least one field is required — an empty predicate would match every
|
|
69
|
+
* span and is rejected.
|
|
70
|
+
*
|
|
71
|
+
* `tool` resolution order covers both span shapes: `span.toolName` (typed
|
|
72
|
+
* ToolSpan) → `attributes['tool.name']` / `attributes['toolName']`
|
|
73
|
+
* (OTLP-flat attribute conventions) → `span.name` when `kind === 'tool'`
|
|
74
|
+
* (otel-bridge's `ExportableSpan`, which drops `toolName`).
|
|
75
|
+
*
|
|
76
|
+
* `attr` values match by strict equality, or regex-test when the value is a
|
|
77
|
+
* RegExp/SerializedRegex and the attribute is a string. Structured attribute
|
|
78
|
+
* values need `custom`.
|
|
79
|
+
*/
|
|
80
|
+
export interface SpanPredicate {
|
|
81
|
+
name?: TextMatcher;
|
|
82
|
+
tool?: TextMatcher;
|
|
83
|
+
attr?: Record<string, unknown>;
|
|
84
|
+
custom?: (span: ContractSpan) => boolean;
|
|
85
|
+
/** Stamped by the builder when `custom` is present. Survives JSON while
|
|
86
|
+
* the function does not, so evaluation of a deserialized contract throws
|
|
87
|
+
* instead of silently dropping the check. */
|
|
88
|
+
requiresCustom?: true;
|
|
89
|
+
}
|
|
90
|
+
export type ContractRuleKind = 'always' | 'never' | 'eventually' | 'precedes' | 'neverUnless';
|
|
91
|
+
export interface ContractRule {
|
|
92
|
+
kind: ContractRuleKind;
|
|
93
|
+
/** Unique within the contract — keys the per-rule score. */
|
|
94
|
+
label: string;
|
|
95
|
+
/** Subject predicate for always / never / eventually / neverUnless. */
|
|
96
|
+
p?: SpanPredicate;
|
|
97
|
+
/** precedes: the required precondition. */
|
|
98
|
+
a?: SpanPredicate;
|
|
99
|
+
/** precedes: the guarded match — every b-match needs an earlier a-match. */
|
|
100
|
+
b?: SpanPredicate;
|
|
101
|
+
/** neverUnless: the authorizing earlier match. */
|
|
102
|
+
prior?: SpanPredicate;
|
|
103
|
+
}
|
|
104
|
+
/** Serializable plain object — `traceContract(name)....build()` output. */
|
|
105
|
+
export interface TraceContract {
|
|
106
|
+
name: string;
|
|
107
|
+
rules: ContractRule[];
|
|
108
|
+
}
|
|
109
|
+
export interface ContractViolation {
|
|
110
|
+
rule: string;
|
|
111
|
+
spanId?: string;
|
|
112
|
+
detail: string;
|
|
113
|
+
}
|
|
114
|
+
export interface ContractVerdict extends DefaultVerdict {
|
|
115
|
+
/** Contract name — keys this verdict in multi-contract reports. */
|
|
116
|
+
contract: string;
|
|
117
|
+
valid: boolean;
|
|
118
|
+
/** Fraction of rules passing, in [0, 1]. */
|
|
119
|
+
score: number;
|
|
120
|
+
/** Per-rule 0|1 keyed by rule label. */
|
|
121
|
+
scores: Record<string, number>;
|
|
122
|
+
violations: ContractViolation[];
|
|
123
|
+
}
|
|
124
|
+
export interface ContractCheckResult {
|
|
125
|
+
verdicts: ContractVerdict[];
|
|
126
|
+
allValid: boolean;
|
|
127
|
+
}
|
|
128
|
+
/** Test one span against one predicate. All specified fields must match. */
|
|
129
|
+
export declare function matchSpan(span: ContractSpan, predicate: SpanPredicate): boolean;
|
|
130
|
+
export declare class TraceContractBuilder {
|
|
131
|
+
private readonly name;
|
|
132
|
+
private readonly rules;
|
|
133
|
+
constructor(name: string);
|
|
134
|
+
/** Every span in the trace must satisfy `p`. */
|
|
135
|
+
always(p: SpanPredicate, label?: string): this;
|
|
136
|
+
/** No span in the trace may satisfy `p`. */
|
|
137
|
+
never(p: SpanPredicate, label?: string): this;
|
|
138
|
+
/** At least one span in the trace must satisfy `p`. */
|
|
139
|
+
eventually(p: SpanPredicate, label?: string): this;
|
|
140
|
+
/** Every `b`-match must have a strictly earlier `a`-match. */
|
|
141
|
+
precedes(a: SpanPredicate, b: SpanPredicate, label?: string): this;
|
|
142
|
+
/** Every `p`-match is a violation unless a strictly earlier `prior`-match exists. */
|
|
143
|
+
neverUnless(p: SpanPredicate, prior: SpanPredicate, label?: string): this;
|
|
144
|
+
build(): TraceContract;
|
|
145
|
+
private add;
|
|
146
|
+
}
|
|
147
|
+
export declare function traceContract(name: string): TraceContractBuilder;
|
|
148
|
+
/**
|
|
149
|
+
* Evaluate one contract over a span sequence. Pure and synchronous — works
|
|
150
|
+
* on `Span[]` from a TraceStore, `ExportableSpan[]` from the otel-bridge
|
|
151
|
+
* flattening, or any array satisfying `ContractSpan`.
|
|
152
|
+
*/
|
|
153
|
+
export declare function evaluateTraceContract(contract: TraceContract, spans: readonly ContractSpan[]): ContractVerdict;
|
|
154
|
+
/**
|
|
155
|
+
* Evaluate many contracts over one span sequence. Throws on an empty
|
|
156
|
+
* contract list — `allValid: true` over zero contracts is a silent pass.
|
|
157
|
+
*/
|
|
158
|
+
export declare function checkTraceContracts(spans: readonly ContractSpan[], contracts: readonly TraceContract[]): ContractCheckResult;
|
|
159
|
+
export interface ContractJudgeOptions<TArtifact, TScenario extends Scenario = Scenario> {
|
|
160
|
+
/**
|
|
161
|
+
* Project the span sequence out of a cell's artifact. `JudgeConfig.score`
|
|
162
|
+
* receives only `{ artifact, scenario, signal }` (src/campaign/types.ts) —
|
|
163
|
+
* spans are NOT reachable generically — so the consumer supplies this
|
|
164
|
+
* explicit extraction (e.g. dispatch writes spans into the artifact, or
|
|
165
|
+
* closes over a per-cell TraceStore read).
|
|
166
|
+
*/
|
|
167
|
+
spans: (input: {
|
|
168
|
+
artifact: TArtifact;
|
|
169
|
+
scenario: TScenario;
|
|
170
|
+
}) => readonly ContractSpan[];
|
|
171
|
+
/** Judge name in campaign reports. Default 'trace-contracts'. */
|
|
172
|
+
name?: string;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Adapt trace contracts to a campaign `JudgeConfig`. One judge dimension per
|
|
176
|
+
* contract (key = contract name, value = its rule-pass fraction); composite
|
|
177
|
+
* is the mean across contracts. Deterministic — no LLM call.
|
|
178
|
+
*/
|
|
179
|
+
export declare function contractJudge<TArtifact, TScenario extends Scenario = Scenario>(contracts: readonly TraceContract[], opts: ContractJudgeOptions<TArtifact, TScenario>): JudgeConfig<TArtifact, TScenario>;
|
|
180
|
+
//# sourceMappingURL=trace-contracts.d.ts.map
|