@tangle-network/agent-eval 0.216.0 → 0.216.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/dist/adapters/http.d.ts +3 -3
- package/dist/{agent-profile-CIA2Atnt.d.ts → agent-profile-VFcQncbW.d.ts} +5 -5
- package/dist/{agent-profile-CIA2Atnt.d.ts.map → agent-profile-VFcQncbW.d.ts.map} +1 -1
- package/dist/{agent-profile-cell-BYc0bxsL.js → agent-profile-cell-BK8mlqlq.js} +3 -3
- package/dist/{agent-profile-cell-BYc0bxsL.js.map → agent-profile-cell-BK8mlqlq.js.map} +1 -1
- package/dist/{agreement-irr-DsTURxdr.js → agreement-irr-BEWLIF3_.js} +3 -3
- package/dist/{agreement-irr-DsTURxdr.js.map → agreement-irr-BEWLIF3_.js.map} +1 -1
- package/dist/analyst/index.d.ts +14 -14
- package/dist/analyst/index.d.ts.map +1 -1
- package/dist/analyst/index.js +15 -15
- package/dist/{analyze-runs-3xpby3p2.js → analyze-runs-C84irm4i.js} +608 -604
- package/dist/analyze-runs-C84irm4i.js.map +1 -0
- package/dist/{analyze-runs-CSDAh8A7.d.ts → analyze-runs-D68fd-su.d.ts} +17 -15
- package/dist/analyze-runs-D68fd-su.d.ts.map +1 -0
- package/dist/{baseline-Dm8966du.js → baseline-Udi_PLuT.js} +5 -5
- package/dist/{baseline-Dm8966du.js.map → baseline-Udi_PLuT.js.map} +1 -1
- package/dist/{benchmark-BywPeAUo.js → benchmark-CXmVVHH2.js} +2 -2
- package/dist/{benchmark-BywPeAUo.js.map → benchmark-CXmVVHH2.js.map} +1 -1
- package/dist/{benchmark-command-CByl9dxG.js → benchmark-command-By0vh8q7.js} +62 -45
- package/dist/benchmark-command-By0vh8q7.js.map +1 -0
- package/dist/benchmarks/index.d.ts +5 -5
- package/dist/benchmarks/index.js +3 -3
- package/dist/builder-eval/index.js +2 -2
- package/dist/campaign/index.d.ts +7 -7
- package/dist/campaign/index.js +13 -13
- package/dist/{campaign-BQ-Jujuj.js → campaign-BudZ70zo.js} +245 -247
- package/dist/campaign-BudZ70zo.js.map +1 -0
- package/dist/{campaign-evidence-OcUciD-N.js → campaign-evidence-Clrn4hBV.js} +8 -8
- package/dist/campaign-evidence-Clrn4hBV.js.map +1 -0
- package/dist/{canonical-BsZVgBhW.js → canonical-B2RqLofv.js} +2 -2
- package/dist/{canonical-BsZVgBhW.js.map → canonical-B2RqLofv.js.map} +1 -1
- package/dist/{chat-client-DthPOYGd.js → chat-client-l-MVDlDk.js} +2 -2
- package/dist/{chat-client-DthPOYGd.js.map → chat-client-l-MVDlDk.js.map} +1 -1
- package/dist/{chat-json-call-BrKsyspg.js → chat-json-call-puMArmtW.js} +2 -2
- package/dist/{chat-json-call-BrKsyspg.js.map → chat-json-call-puMArmtW.js.map} +1 -1
- package/dist/{claim-BXcZw-jo.js → claim-q4HQhK1G.js} +4 -4
- package/dist/claim-q4HQhK1G.js.map +1 -0
- package/dist/cli.js +9 -9
- package/dist/cli.js.map +1 -1
- package/dist/{cluster-bootstrap-B3JywQQn.js → cluster-bootstrap-qcUWYFl-.js} +3 -3
- package/dist/{cluster-bootstrap-B3JywQQn.js.map → cluster-bootstrap-qcUWYFl-.js.map} +1 -1
- package/dist/contract/index.d.ts +11 -11
- package/dist/contract/index.js +1022 -1078
- package/dist/contract/index.js.map +1 -1
- package/dist/{cost-ledger-D2FnJPBF.js → cost-ledger-BP8V4kUQ.js} +835 -816
- package/dist/cost-ledger-BP8V4kUQ.js.map +1 -0
- package/dist/{cost-ledger-CO7UyEcQ.d.ts → cost-ledger-Jk62OBfF.d.ts} +12 -47
- package/dist/cost-ledger-Jk62OBfF.d.ts.map +1 -0
- package/dist/{counterfactual-DtMWvn7D.js → counterfactual-Dn3veueY.js} +2 -2
- package/dist/{counterfactual-DtMWvn7D.js.map → counterfactual-Dn3veueY.js.map} +1 -1
- package/dist/{default-registry-Cn1LQ2Ve.js → default-registry-COhk9g36.js} +5 -5
- package/dist/{default-registry-Cn1LQ2Ve.js.map → default-registry-COhk9g36.js.map} +1 -1
- package/dist/{default-registry-BrWh62zf.d.ts → default-registry-DzHiGruW.d.ts} +6 -6
- package/dist/{default-registry-BrWh62zf.d.ts.map → default-registry-DzHiGruW.d.ts.map} +1 -1
- package/dist/{define-agent-eval-Ch3MWX6k.js → define-agent-eval-CNTPzIkp.js} +10 -10
- package/dist/define-agent-eval-CNTPzIkp.js.map +1 -0
- package/dist/{define-agent-eval-CEWkX5wZ.d.ts → define-agent-eval-WSck0CZJ.d.ts} +8 -8
- package/dist/{define-agent-eval-CEWkX5wZ.d.ts.map → define-agent-eval-WSck0CZJ.d.ts.map} +1 -1
- package/dist/{descriptive-CnU8Yq29.js → descriptive-DboxPZrG.js} +2 -2
- package/dist/{descriptive-CnU8Yq29.js.map → descriptive-DboxPZrG.js.map} +1 -1
- package/dist/diagnosis/index.d.ts +3 -3
- package/dist/diagnosis/index.js +4 -4
- package/dist/{dspy-rlm-engine-D-KX_e64.js → dspy-rlm-engine-LRCu61m5.js} +3 -3
- package/dist/{dspy-rlm-engine-D-KX_e64.js.map → dspy-rlm-engine-LRCu61m5.js.map} +1 -1
- package/dist/{effect-sizes-DiH8MGOH.js → effect-sizes-BhzEpXMc.js} +2 -2
- package/dist/{effect-sizes-DiH8MGOH.js.map → effect-sizes-BhzEpXMc.js.map} +1 -1
- package/dist/{engine-C_zNWfM8.d.ts → engine-3A_4jOlI.d.ts} +5 -5
- package/dist/{engine-C_zNWfM8.d.ts.map → engine-3A_4jOlI.d.ts.map} +1 -1
- package/dist/{equal-terms-Blx9Zk5I.js → equal-terms-BtdXayCJ.js} +2 -2
- package/dist/{equal-terms-Blx9Zk5I.js.map → equal-terms-BtdXayCJ.js.map} +1 -1
- package/dist/{errors-Dngq5h35.js → errors-DVZiqS7K.js} +6 -2
- package/dist/{errors-Dngq5h35.js.map → errors-DVZiqS7K.js.map} +1 -1
- package/dist/{eval-campaign-4byTtqrf.js → eval-campaign-90jeaCAI.js} +6 -6
- package/dist/{eval-campaign-4byTtqrf.js.map → eval-campaign-90jeaCAI.js.map} +1 -1
- package/dist/{evaluation-Cn2dRZIz.d.ts → evaluation-6Yoi74gM.d.ts} +4 -4
- package/dist/{evaluation-Cn2dRZIz.d.ts.map → evaluation-6Yoi74gM.d.ts.map} +1 -1
- package/dist/evaluation.d.ts +1 -1
- package/dist/evaluation.js +1 -1
- package/dist/{exact-types-CD0lf5Qd.d.ts → exact-types-ClugMJfI.d.ts} +2 -2
- package/dist/{exact-types-CD0lf5Qd.d.ts.map → exact-types-ClugMJfI.d.ts.map} +1 -1
- package/dist/experiment/index.d.ts +404 -3
- package/dist/experiment/index.d.ts.map +1 -1
- package/dist/experiment/index.js +313 -19
- package/dist/experiment/index.js.map +1 -1
- package/dist/{external-optimizer-process-nnsY5D_4.js → external-optimizer-process-BjMGUuds.js} +3 -3
- package/dist/{external-optimizer-process-nnsY5D_4.js.map → external-optimizer-process-BjMGUuds.js.map} +1 -1
- package/dist/{external-optimizer-subprocess-DcerlZSG.js → external-optimizer-subprocess-BqW0hHcI.js} +548 -548
- package/dist/external-optimizer-subprocess-BqW0hHcI.js.map +1 -0
- package/dist/{feedback-trajectory-DkaDj0dj.d.ts → feedback-trajectory-C4EG0nNH.d.ts} +5 -8
- package/dist/feedback-trajectory-C4EG0nNH.d.ts.map +1 -0
- package/dist/fuzz.d.ts +1 -1
- package/dist/fuzz.js +3 -3
- package/dist/hosted/index.js +1 -1
- package/dist/{index-CPJJr98o.d.ts → index-BFRO6chs.d.ts} +3 -2
- package/dist/index-BFRO6chs.d.ts.map +1 -0
- package/dist/{index-Ch9VxCpK.d.ts → index-BO41eGj5.d.ts} +2 -2
- package/dist/{index-Ch9VxCpK.d.ts.map → index-BO41eGj5.d.ts.map} +1 -1
- package/dist/{index-NvGBiO8H.d.ts → index-CyszSg4O.d.ts} +165 -162
- package/dist/index-CyszSg4O.d.ts.map +1 -0
- package/dist/{index-DlH0Y9gI.d.ts → index-DPcngtwt.d.ts} +30 -17
- package/dist/index-DPcngtwt.d.ts.map +1 -0
- package/dist/{index-oQ4aHziK.d.ts → index-DV-jSzxF.d.ts} +8 -8
- package/dist/{index-oQ4aHziK.d.ts.map → index-DV-jSzxF.d.ts.map} +1 -1
- package/dist/index.d.ts +1969 -1871
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +161 -201
- package/dist/index.js.map +1 -1
- package/dist/{integrity-BvnVARVl.js → integrity-BXOsAb3i.js} +2 -2
- package/dist/{integrity-BvnVARVl.js.map → integrity-BXOsAb3i.js.map} +1 -1
- package/dist/{integrity-CCAxGVK6.d.ts → integrity-DAMEDFaC.d.ts} +2 -2
- package/dist/{integrity-CCAxGVK6.d.ts.map → integrity-DAMEDFaC.d.ts.map} +1 -1
- package/dist/{integrity-BV1ZDf42.js → integrity-dLiDe2kD.js} +2 -5
- package/dist/integrity-dLiDe2kD.js.map +1 -0
- package/dist/{internal-CRHwS9iz.js → internal-Epl-YBZW.js} +3 -3
- package/dist/{internal-CRHwS9iz.js.map → internal-Epl-YBZW.js.map} +1 -1
- package/dist/interval-CELpye1n.js +219 -0
- package/dist/interval-CELpye1n.js.map +1 -0
- package/dist/interval-ohuOJurX.d.ts +47 -0
- package/dist/interval-ohuOJurX.d.ts.map +1 -0
- package/dist/{journal-DvKCvjty.js → journal-DfRz9kps.js} +2 -2
- package/dist/{journal-DvKCvjty.js.map → journal-DfRz9kps.js.map} +1 -1
- package/dist/{judge-calibration-N44V04Se.js → judge-calibration-BpCy5XQl.js} +3 -3
- package/dist/{judge-calibration-N44V04Se.js.map → judge-calibration-BpCy5XQl.js.map} +1 -1
- package/dist/{judge-gate-DNcUrRFA.d.ts → judge-gate-CE7CQAgt.d.ts} +3 -3
- package/dist/{judge-gate-DNcUrRFA.d.ts.map → judge-gate-CE7CQAgt.d.ts.map} +1 -1
- package/dist/{judge-gate-B1qYnkpi.js → judge-gate-iY9s4L44.js} +3 -3
- package/dist/judge-gate-iY9s4L44.js.map +1 -0
- package/dist/{kind-factory-CbZ-6tvu.js → kind-factory-BobI5Jy3.js} +4 -4
- package/dist/{kind-factory-CbZ-6tvu.js.map → kind-factory-BobI5Jy3.js.map} +1 -1
- package/dist/ledger-core/index.js +3 -3
- package/dist/{ledger-core-B2hahzrt.js → ledger-core-Gq7yp8lP.js} +4 -4
- package/dist/{ledger-core-B2hahzrt.js.map → ledger-core-Gq7yp8lP.js.map} +1 -1
- package/dist/{llm-client-DQveoxSM.js → llm-client-CyBAoYiX.js} +192 -219
- package/dist/llm-client-CyBAoYiX.js.map +1 -0
- package/dist/{llm-judge-PXV7Xljl.js → llm-judge-CG12SQJq.js} +499 -921
- package/dist/llm-judge-CG12SQJq.js.map +1 -0
- package/dist/matrix/index.d.ts +2 -2
- package/dist/matrix/index.js +1 -1
- package/dist/{matrix-CHMiebFx.d.ts → matrix-DSrSxjjy.d.ts} +4 -4
- package/dist/{matrix-CHMiebFx.d.ts.map → matrix-DSrSxjjy.d.ts.map} +1 -1
- package/dist/{matrix-_BV9-Lk5.js → matrix-Dm0BQW7U.js} +7 -11
- package/dist/matrix-Dm0BQW7U.js.map +1 -0
- package/dist/{paired-tests-jbwPdSz5.js → mean-DHoMiudD.js} +11 -5
- package/dist/mean-DHoMiudD.js.map +1 -0
- package/dist/meta-eval/index.d.ts +3 -3
- package/dist/meta-eval/index.js +9 -9
- package/dist/meta-eval/index.js.map +1 -1
- package/dist/mint-DNU8QPG4.d.ts +81 -0
- package/dist/mint-DNU8QPG4.d.ts.map +1 -0
- package/dist/{mint-Csor1BLJ.js → mint-QaD5cA0u.js} +3 -3
- package/dist/{mint-Csor1BLJ.js.map → mint-QaD5cA0u.js.map} +1 -1
- package/dist/{multiplicity-D9cjmStq.js → multiplicity-DQUFcbW4.js} +2 -2
- package/dist/{multiplicity-D9cjmStq.js.map → multiplicity-DQUFcbW4.js.map} +1 -1
- package/dist/multishot/golden/index.d.ts +1 -1
- package/dist/multishot/golden/index.d.ts.map +1 -1
- package/dist/multishot/golden/index.js +3 -6
- package/dist/multishot/golden/index.js.map +1 -1
- package/dist/multishot/index.d.ts +2 -2
- package/dist/multishot/index.js +1 -1
- package/dist/nonnegative-number-DvdMxg_f.js +9 -0
- package/dist/nonnegative-number-DvdMxg_f.js.map +1 -0
- package/dist/openapi.json +1 -1
- package/dist/{otel-spans-C8YIJWy1.js → otel-spans-B9tUXRHF.js} +3 -3
- package/dist/{otel-spans-C8YIJWy1.js.map → otel-spans-B9tUXRHF.js.map} +1 -1
- package/dist/{paired-arms-DzKn0TfY.js → paired-arms-CwMGJsrS.js} +5 -5
- package/dist/{paired-arms-DzKn0TfY.js.map → paired-arms-CwMGJsrS.js.map} +1 -1
- package/dist/{paired-binary-Q36bhn2R.js → paired-binary-CvpFHfKZ.js} +2 -2
- package/dist/{paired-binary-Q36bhn2R.js.map → paired-binary-CvpFHfKZ.js.map} +1 -1
- package/dist/{paired-promotion-decision-BN6IQTiu.js → paired-promotion-decision-DsAPYGCm.js} +3 -3
- package/dist/{paired-promotion-decision-BN6IQTiu.js.map → paired-promotion-decision-DsAPYGCm.js.map} +1 -1
- package/dist/{search-kernel-BztlERLv.js → pareto-Cm6ndrWN.js} +883 -861
- package/dist/pareto-Cm6ndrWN.js.map +1 -0
- package/dist/pipelines/index.d.ts +2 -2
- package/dist/pipelines/index.js +3 -3
- package/dist/{power-and-mde-fK5Qocwo.js → power-and-mde-Hj2ubb4B.js} +2 -2
- package/dist/{power-and-mde-fK5Qocwo.js.map → power-and-mde-Hj2ubb4B.js.map} +1 -1
- package/dist/predicate-FdKmElA_.js +38 -0
- package/dist/predicate-FdKmElA_.js.map +1 -0
- package/dist/{prime-protocol-DcAK9pC8.js → prime-protocol-CHKgA3a6.js} +2 -2
- package/dist/{prime-protocol-DcAK9pC8.js.map → prime-protocol-CHKgA3a6.js.map} +1 -1
- package/dist/{prime-protocol-CEE4BR9N.d.ts → prime-protocol-HiB9HX7E.d.ts} +3 -3
- package/dist/{prime-protocol-CEE4BR9N.d.ts.map → prime-protocol-HiB9HX7E.d.ts.map} +1 -1
- package/dist/{produced-state-ZCtDBxAE.js → produced-state-BsDmnwxc.js} +8 -8
- package/dist/{produced-state-ZCtDBxAE.js.map → produced-state-BsDmnwxc.js.map} +1 -1
- package/dist/profile-cell.js +1 -1
- package/dist/{release-confidence-BK2QCB5M.d.ts → promotion-gate-BawrdPYr.d.ts} +102 -102
- package/dist/promotion-gate-BawrdPYr.d.ts.map +1 -0
- package/dist/{promotion-policy-CWW35UWq.js → promotion-policy-KO57gbyV.js} +4 -4
- package/dist/{promotion-policy-CWW35UWq.js.map → promotion-policy-KO57gbyV.js.map} +1 -1
- package/dist/{proposal-findings-BZiMTzAF.js → proposal-findings-CY1xKn_a.js} +2 -2
- package/dist/{proposal-findings-BZiMTzAF.js.map → proposal-findings-CY1xKn_a.js.map} +1 -1
- package/dist/{query-B1D1qp2Z.js → query-BUCZCK7F.js} +3 -3
- package/dist/{query-B1D1qp2Z.js.map → query-BUCZCK7F.js.map} +1 -1
- package/dist/{random-Dn5fPWkt.js → random-ByUSnV9w.js} +2 -2
- package/dist/{random-Dn5fPWkt.js.map → random-ByUSnV9w.js.map} +1 -1
- package/dist/{raw-provider-sink-rB2DYxr6.js → raw-provider-sink-DoHz4JNG.js} +2 -2
- package/dist/{raw-provider-sink-rB2DYxr6.js.map → raw-provider-sink-DoHz4JNG.js.map} +1 -1
- package/dist/{redact-Dk1ZdJEm.js → redact-B5xXKqQ3.js} +97 -98
- package/dist/redact-B5xXKqQ3.js.map +1 -0
- package/dist/{redact-Cveoq6fJ.d.ts → redact-mtCCcT8z.d.ts} +4 -20
- package/dist/redact-mtCCcT8z.d.ts.map +1 -0
- package/dist/{registry-JYfPxcVz.d.ts → registry-D7_hm2fK.d.ts} +5 -5
- package/dist/{registry-JYfPxcVz.d.ts.map → registry-D7_hm2fK.d.ts.map} +1 -1
- package/dist/{release-confidence-Dbe9AS_X.js → release-confidence-CpuP65S5.js} +5 -5
- package/dist/{release-confidence-Dbe9AS_X.js.map → release-confidence-CpuP65S5.js.map} +1 -1
- package/dist/{report-command-y8H6RSX8.js → report-command-SC9nqb4M.js} +106 -171
- package/dist/report-command-SC9nqb4M.js.map +1 -0
- package/dist/reporting-html-Kvlc8oMt.js +100 -0
- package/dist/reporting-html-Kvlc8oMt.js.map +1 -0
- package/dist/reporting.d.ts +3 -3
- package/dist/reporting.js +6 -6
- package/dist/{researcher-f6mZhh58.d.ts → researcher-CEcfku-T.d.ts} +5 -5
- package/dist/{researcher-f6mZhh58.d.ts.map → researcher-CEcfku-T.d.ts.map} +1 -1
- package/dist/reward-CpCmAM8L.d.ts +78 -0
- package/dist/reward-CpCmAM8L.d.ts.map +1 -0
- package/dist/{reward-hacking-BFcQgkux.js → reward-hacking-E0d-WVcP.js} +2 -2
- package/dist/{reward-hacking-BFcQgkux.js.map → reward-hacking-E0d-WVcP.js.map} +1 -1
- package/dist/{reward-hacking-DHA7c1l8.d.ts → reward-hacking-RVdZ6Kkt.d.ts} +2 -2
- package/dist/{reward-hacking-DHA7c1l8.d.ts.map → reward-hacking-RVdZ6Kkt.d.ts.map} +1 -1
- package/dist/rl.d.ts +8 -8
- package/dist/rl.js +14 -14
- package/dist/rollout/index.d.ts +3 -2
- package/dist/rollout/index.js +2 -2
- package/dist/{rollout-D9bKKBnZ.js → rollout-DZV1t2Wg.js} +2 -2
- package/dist/{rollout-D9bKKBnZ.js.map → rollout-DZV1t2Wg.js.map} +1 -1
- package/dist/round-decimal-COrKglMh.js +10 -0
- package/dist/round-decimal-COrKglMh.js.map +1 -0
- package/dist/{rubric-predictive-validity-2SgHxoa5.d.ts → rubric-predictive-validity-C03EC7ZE.d.ts} +2 -2
- package/dist/{rubric-predictive-validity-2SgHxoa5.d.ts.map → rubric-predictive-validity-C03EC7ZE.d.ts.map} +1 -1
- package/dist/{rubric-predictive-validity-BsgkBfT0.js → rubric-predictive-validity-DaFW70y9.js} +3 -3
- package/dist/{rubric-predictive-validity-BsgkBfT0.js.map → rubric-predictive-validity-DaFW70y9.js.map} +1 -1
- package/dist/{run-record-DlTZ_lqe.js → run-record-Boc5IUTp.js} +4 -4
- package/dist/{run-record-DlTZ_lqe.js.map → run-record-Boc5IUTp.js.map} +1 -1
- package/dist/{run-record-D1Hw-Jml.d.ts → run-record-C1E24G2A.d.ts} +2 -2
- package/dist/{run-record-D1Hw-Jml.d.ts.map → run-record-C1E24G2A.d.ts.map} +1 -1
- package/dist/{run-record-ES07wfz9.js → run-record-C5e7FjhJ.js} +3 -5
- package/dist/run-record-C5e7FjhJ.js.map +1 -0
- package/dist/search/index.d.ts +46 -32
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +3 -3
- package/dist/{search-kernel-CpcKH5Ih.d.ts → search-kernel-DyNEa6IU.d.ts} +14 -10
- package/dist/search-kernel-DyNEa6IU.d.ts.map +1 -0
- package/dist/{search-ledger-d7V8o9Lk.js → search-ledger-CVUGLDZp.js} +189 -199
- package/dist/search-ledger-CVUGLDZp.js.map +1 -0
- package/dist/{search-ledger-file-BqOo-bVo.js → search-ledger-file-DDQUgvCg.js} +4 -4
- package/dist/{search-ledger-file-BqOo-bVo.js.map → search-ledger-file-DDQUgvCg.js.map} +1 -1
- package/dist/search-ledger-types-p2xKfiDJ.d.ts.map +1 -1
- package/dist/{search-shipper-er4pK5_Y.js → search-shipper-BOSD46qv.js} +3 -3
- package/dist/{search-shipper-er4pK5_Y.js.map → search-shipper-BOSD46qv.js.map} +1 -1
- package/dist/{search-summary-CBvz3u_S.js → search-summary-BQCSWf1g.js} +5 -5
- package/dist/{search-summary-CBvz3u_S.js.map → search-summary-BQCSWf1g.js.map} +1 -1
- package/dist/{semantic-concept-judge-zQBG9hHU.js → semantic-concept-judge-BQF8te0T.js} +12 -14
- package/dist/semantic-concept-judge-BQF8te0T.js.map +1 -0
- package/dist/{sequential-D-1PPCmM.js → sequential-Bf_pbE50.js} +5 -5
- package/dist/{sequential-D-1PPCmM.js.map → sequential-Bf_pbE50.js.map} +1 -1
- package/dist/{sequential-eprocess-D1jKoihe.js → sequential-eprocess-DM_qENCl.js} +2 -2
- package/dist/{sequential-eprocess-D1jKoihe.js.map → sequential-eprocess-DM_qENCl.js.map} +1 -1
- package/dist/{server-DbcC7xMl.js → server-e9oWO_bN.js} +4 -4
- package/dist/{server-DbcC7xMl.js.map → server-e9oWO_bN.js.map} +1 -1
- package/dist/{single-run-lock-fVu3MZWH.js → single-run-lock-CV9Eyd_q.js} +2 -2
- package/dist/{single-run-lock-fVu3MZWH.js.map → single-run-lock-CV9Eyd_q.js.map} +1 -1
- package/dist/{skillopt-optimization-method-CCtzralq.js → skillopt-optimization-method-BiwA8nfX.js} +427 -12
- package/dist/skillopt-optimization-method-BiwA8nfX.js.map +1 -0
- package/dist/{spans-D9_ehFuk.d.ts → spans-BHAUXMGN.d.ts} +2 -2
- package/dist/{spans-D9_ehFuk.d.ts.map → spans-BHAUXMGN.d.ts.map} +1 -1
- package/dist/{statistical-heldout-1Gbmex7v.js → statistical-heldout-42NlCNDe.js} +3 -3
- package/dist/{statistical-heldout-1Gbmex7v.js.map → statistical-heldout-42NlCNDe.js.map} +1 -1
- package/dist/{statistical-heldout-BeR4bOdg.d.ts → statistical-heldout-CYpGaoDH.d.ts} +3 -3
- package/dist/{statistical-heldout-BeR4bOdg.d.ts.map → statistical-heldout-CYpGaoDH.d.ts.map} +1 -1
- package/dist/{store-otlp-DtB4Slsr.js → store-otlp-DJ9dtA5x.js} +135 -132
- package/dist/store-otlp-DJ9dtA5x.js.map +1 -0
- package/dist/{store-tool-spans-fZIigrpP.js → store-tool-spans-CIX5arAG.js} +7 -7
- package/dist/{store-tool-spans-fZIigrpP.js.map → store-tool-spans-CIX5arAG.js.map} +1 -1
- package/dist/{store-tool-spans-DR1SrCLK.d.ts → store-tool-spans-DdCSPa7C.d.ts} +162 -161
- package/dist/store-tool-spans-DdCSPa7C.d.ts.map +1 -0
- package/dist/storyboard/index.d.ts.map +1 -1
- package/dist/storyboard/index.js +20 -3
- package/dist/storyboard/index.js.map +1 -1
- package/dist/{student-t-BQeKJx2N.js → student-t-DVPW7CdL.js} +2 -2
- package/dist/{student-t-BQeKJx2N.js.map → student-t-DVPW7CdL.js.map} +1 -1
- package/dist/{summary-report-DtdRucM0.js → summary-report-V_JACR4Y.js} +526 -614
- package/dist/summary-report-V_JACR4Y.js.map +1 -0
- package/dist/{summary-report-C-CtItCN.d.ts → summary-report-bdFDXq0b.d.ts} +10 -5
- package/dist/summary-report-bdFDXq0b.d.ts.map +1 -0
- package/dist/supervisor-run/index.d.ts +153 -149
- package/dist/supervisor-run/index.d.ts.map +1 -1
- package/dist/supervisor-run/index.js +65 -3
- package/dist/supervisor-run/index.js.map +1 -1
- package/dist/{systemone-CpTLAlqb.d.ts → systemone-BomhHr2c.d.ts} +6 -6
- package/dist/{systemone-CpTLAlqb.d.ts.map → systemone-BomhHr2c.d.ts.map} +1 -1
- package/dist/systemone-protocol.js +1 -1
- package/dist/{systemone-review-B_yo1xsd.d.ts → systemone-review-CUVcQJu6.d.ts} +2 -2
- package/dist/{systemone-review-B_yo1xsd.d.ts.map → systemone-review-CUVcQJu6.d.ts.map} +1 -1
- package/dist/{systemone-review-BZWfrtq1.js → systemone-review-D7sXwsqq.js} +2 -2
- package/dist/{systemone-review-BZWfrtq1.js.map → systemone-review-D7sXwsqq.js.map} +1 -1
- package/dist/systemone.d.ts +3 -3
- package/dist/systemone.js +4 -4
- package/dist/{task-failure-attributes-DngaLdE4.js → task-failure-attributes-hEmASjix.js} +2 -2
- package/dist/{task-failure-attributes-DngaLdE4.js.map → task-failure-attributes-hEmASjix.js.map} +1 -1
- package/dist/{terminal-record-BHocwFw1.js → terminal-record-DZyQZ3pz.js} +14 -10
- package/dist/terminal-record-DZyQZ3pz.js.map +1 -0
- package/dist/{tool-groups-mcxOXVlb.d.ts → tool-groups-C3NEcdCM.d.ts} +3 -3
- package/dist/tool-groups-C3NEcdCM.d.ts.map +1 -0
- package/dist/{tool-waste-Wi4g6Ekb.d.ts → tool-waste-BKgvd-TP.d.ts} +30 -30
- package/dist/tool-waste-BKgvd-TP.d.ts.map +1 -0
- package/dist/{tool-waste-D52PqU9Q.js → tool-waste-BlesqTqW.js} +4 -4
- package/dist/{tool-waste-D52PqU9Q.js.map → tool-waste-BlesqTqW.js.map} +1 -1
- package/dist/{trace-questions-DG7nqLQ7.d.ts → trace-questions-CM2CAocU.d.ts} +4 -4
- package/dist/{trace-questions-DG7nqLQ7.d.ts.map → trace-questions-CM2CAocU.d.ts.map} +1 -1
- package/dist/trace-repair/index.d.ts +3 -3
- package/dist/trace-repair/index.d.ts.map +1 -1
- package/dist/trace-repair/index.js +7 -13
- package/dist/trace-repair/index.js.map +1 -1
- package/dist/traces.d.ts +76 -58
- package/dist/traces.d.ts.map +1 -1
- package/dist/traces.js +9 -9
- package/dist/trajectory-replay/index.js +3 -3
- package/dist/{tree-rXLW3M_4.js → tree-C1XYeXvy.js} +2277 -2339
- package/dist/tree-C1XYeXvy.js.map +1 -0
- package/dist/{types-DBZ7keha.d.ts → types-C02qtnG8.d.ts} +4 -46
- package/dist/types-C02qtnG8.d.ts.map +1 -0
- package/dist/{types-oKRhQAde.d.ts → types-C1tnkEgM.d.ts} +4 -4
- package/dist/{types-oKRhQAde.d.ts.map → types-C1tnkEgM.d.ts.map} +1 -1
- package/dist/{types-CfZMIzB_.d.ts → types-Cbe2fWBa.d.ts} +3 -3
- package/dist/{types-CfZMIzB_.d.ts.map → types-Cbe2fWBa.d.ts.map} +1 -1
- package/dist/{types-B4C5nFw6.d.ts → types-Cq8mSbq8.d.ts} +78 -72
- package/dist/types-Cq8mSbq8.d.ts.map +1 -0
- package/dist/{verdict-DhPoXApk.js → verdict-Dl0tiT1X.js} +2 -2
- package/dist/{verdict-DhPoXApk.js.map → verdict-Dl0tiT1X.js.map} +1 -1
- package/dist/{verdict-cache-BQEsVy9n.js → verdict-cache-Bm8EKL2s.js} +2 -2
- package/dist/{verdict-cache-BQEsVy9n.js.map → verdict-cache-Bm8EKL2s.js.map} +1 -1
- package/dist/wire/index.d.ts +3 -3
- package/dist/wire/index.js +1 -1
- package/docs/design/mlbenchmarks-book-review.md +1 -1
- package/docs/design/mlbenchmarks-review/probes.mts +23 -31
- package/docs/experiment.md +1 -1
- package/package.json +1 -1
- package/dist/analyze-runs-3xpby3p2.js.map +0 -1
- package/dist/analyze-runs-CSDAh8A7.d.ts.map +0 -1
- package/dist/ast-DJ6Bc7ab.js +0 -558
- package/dist/ast-DJ6Bc7ab.js.map +0 -1
- package/dist/ast-hI-vjW6J.d.ts +0 -457
- package/dist/ast-hI-vjW6J.d.ts.map +0 -1
- package/dist/benchmark-command-CByl9dxG.js.map +0 -1
- package/dist/campaign-BQ-Jujuj.js.map +0 -1
- package/dist/campaign-evidence-OcUciD-N.js.map +0 -1
- package/dist/claim-BXcZw-jo.js.map +0 -1
- package/dist/cost-ledger-CO7UyEcQ.d.ts.map +0 -1
- package/dist/cost-ledger-D2FnJPBF.js.map +0 -1
- package/dist/define-agent-eval-Ch3MWX6k.js.map +0 -1
- package/dist/external-optimizer-subprocess-DcerlZSG.js.map +0 -1
- package/dist/feedback-trajectory-DkaDj0dj.d.ts.map +0 -1
- package/dist/index-CPJJr98o.d.ts.map +0 -1
- package/dist/index-DlH0Y9gI.d.ts.map +0 -1
- package/dist/index-NvGBiO8H.d.ts.map +0 -1
- package/dist/integrity-BV1ZDf42.js.map +0 -1
- package/dist/judge-gate-B1qYnkpi.js.map +0 -1
- package/dist/llm-client-DQveoxSM.js.map +0 -1
- package/dist/llm-judge-PXV7Xljl.js.map +0 -1
- package/dist/matrix-_BV9-Lk5.js.map +0 -1
- package/dist/mint-DCGoBYhB.d.ts +0 -155
- package/dist/mint-DCGoBYhB.d.ts.map +0 -1
- package/dist/paired-tests-jbwPdSz5.js.map +0 -1
- package/dist/redact-Cveoq6fJ.d.ts.map +0 -1
- package/dist/redact-Dk1ZdJEm.js.map +0 -1
- package/dist/release-confidence-BK2QCB5M.d.ts.map +0 -1
- package/dist/report-command-y8H6RSX8.js.map +0 -1
- package/dist/run-record-ES07wfz9.js.map +0 -1
- package/dist/search-kernel-BztlERLv.js.map +0 -1
- package/dist/search-kernel-CpcKH5Ih.d.ts.map +0 -1
- package/dist/search-ledger-d7V8o9Lk.js.map +0 -1
- package/dist/semantic-concept-judge-zQBG9hHU.js.map +0 -1
- package/dist/skillopt-optimization-method-CCtzralq.js.map +0 -1
- package/dist/store-otlp-DtB4Slsr.js.map +0 -1
- package/dist/store-tool-spans-DR1SrCLK.d.ts.map +0 -1
- package/dist/summary-report-C-CtItCN.d.ts.map +0 -1
- package/dist/summary-report-DtdRucM0.js.map +0 -1
- package/dist/terminal-record-BHocwFw1.js.map +0 -1
- package/dist/tool-groups-mcxOXVlb.d.ts.map +0 -1
- package/dist/tool-waste-Wi4g6Ekb.d.ts.map +0 -1
- package/dist/tree-rXLW3M_4.js.map +0 -1
- package/dist/types-B4C5nFw6.d.ts.map +0 -1
- package/dist/types-DBZ7keha.d.ts.map +0 -1
|
@@ -1,149 +1,13 @@
|
|
|
1
|
+
import { a as CostLedgerHandle } from "./cost-ledger-Jk62OBfF.js";
|
|
1
2
|
import { r as CaptureIntegrityError } from "./errors-DEE6u6ot.js";
|
|
2
|
-
import { c as CostLedgerHandle } from "./cost-ledger-CO7UyEcQ.js";
|
|
3
3
|
import { C as ToolSpan } from "./schema-2g7trUwH.js";
|
|
4
|
-
import { d as RunTokenUsage } from "./run-record-
|
|
5
|
-
import { $ as DatasetOverview, J as SpanSourceReader, X as TraceAnalysisStore, Z as TraceAnalysisStoreContext, a as AnalystFinding, ct as TraceAnalystSpan, ft as ViewSpansResult, m as AnalystUsageReceipt, mt as ViewTraceResult, nt as SearchSpanResult, rt as SearchTraceResult, st as TraceAnalystFilters, tt as QueryTracesPage } from "./types-
|
|
6
|
-
import {
|
|
4
|
+
import { d as RunTokenUsage } from "./run-record-C1E24G2A.js";
|
|
5
|
+
import { $ as DatasetOverview, J as SpanSourceReader, X as TraceAnalysisStore, Z as TraceAnalysisStoreContext, a as AnalystFinding, ct as TraceAnalystSpan, ft as ViewSpansResult, m as AnalystUsageReceipt, mt as ViewTraceResult, nt as SearchSpanResult, rt as SearchTraceResult, st as TraceAnalystFilters, tt as QueryTracesPage } from "./types-C1tnkEgM.js";
|
|
6
|
+
import { X as RawProviderSink, q as ProviderRedactor } from "./types-C02qtnG8.js";
|
|
7
7
|
import { i as SearchArtifactRef } from "./search-ledger-types-p2xKfiDJ.js";
|
|
8
8
|
import { s as TraceStore } from "./store-C4avFjIi.js";
|
|
9
|
-
import { a as TraceAnalystLimits, i as TraceAnalysisEngineResult, n as TraceAnalysisEngine } from "./engine-
|
|
10
|
-
import { t as TraceToolGroupName } from "./tool-groups-
|
|
11
|
-
//#region src/trace/extract-usage.d.ts
|
|
12
|
-
type ExtractedUsage = RunTokenUsage;
|
|
13
|
-
type SseUsageMode = 'cumulative' | 'delta';
|
|
14
|
-
interface ExtractUsageFromSseOptions {
|
|
15
|
-
/** Provider usage events are cumulative snapshots unless explicitly marked as deltas. */
|
|
16
|
-
mode?: SseUsageMode;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Pull `{ input, output, cached?, cacheWrite? }` from a parsed response
|
|
20
|
-
* body. Accepts a top-level `usage` object (the common case) or a body that IS
|
|
21
|
-
* the usage object. Returns null only when none of those categories is present.
|
|
22
|
-
*/
|
|
23
|
-
declare function extractUsage(body: unknown): ExtractedUsage | null;
|
|
24
|
-
/**
|
|
25
|
-
* Extract token usage from a complete SSE response body using the shared SSE
|
|
26
|
-
* frame parser. Cumulative snapshots are the fail-safe default because summing
|
|
27
|
-
* them inflates billing; callers with explicit delta events opt into `mode: 'delta'`.
|
|
28
|
-
*/
|
|
29
|
-
declare function extractUsageFromSse(text: string, options?: ExtractUsageFromSseOptions): ExtractedUsage | null;
|
|
30
|
-
/**
|
|
31
|
-
* Extract usage from an HTTP `Response` without consuming the caller's body:
|
|
32
|
-
* clones, reads the text, and tries the JSON parser first, then the SSE
|
|
33
|
-
* accumulator. Best-effort — returns null on any read/parse miss so a usage tee
|
|
34
|
-
* never takes down the underlying call.
|
|
35
|
-
*/
|
|
36
|
-
declare function extractUsageFromResponse(response: Response, sseOptions?: ExtractUsageFromSseOptions): Promise<ExtractedUsage | null>;
|
|
37
|
-
//#endregion
|
|
38
|
-
//#region src/trace/capture-fetch.d.ts
|
|
39
|
-
interface CaptureFetchContext {
|
|
40
|
-
/** Logical run id stamped on every captured event. Required — without it
|
|
41
|
-
* the raw events can't be paired with their parent `Run`. */
|
|
42
|
-
runId: string;
|
|
43
|
-
/** Optional logical span id (enables span-level sink filtering). */
|
|
44
|
-
spanId?: string;
|
|
45
|
-
/** Resolved base URL (normalised, no trailing slash). Used for the event's
|
|
46
|
-
* `baseUrl` and for endpoint-path extraction. */
|
|
47
|
-
baseUrl: string;
|
|
48
|
-
/** Model id the caller intends to invoke. Stamped on every event. */
|
|
49
|
-
model: string;
|
|
50
|
-
/** Provider override. When omitted, `providerFromBaseUrl(baseUrl)`. */
|
|
51
|
-
provider?: string;
|
|
52
|
-
}
|
|
53
|
-
interface CaptureFetchOptions {
|
|
54
|
-
/** Override the capture-time redactor. Default `defaultProviderRedactor`. */
|
|
55
|
-
redactor?: ProviderRedactor;
|
|
56
|
-
/** Cap on captured response-body bytes; beyond it the body is truncated and
|
|
57
|
-
* `body_truncated` is added to `redactedFields`. Default 2 MiB. */
|
|
58
|
-
responseBodyByteCap?: number;
|
|
59
|
-
/** When true, a sink-write failure propagates to the caller. Default false
|
|
60
|
-
* — capture is best-effort so a sink failure never kills the LLM call. */
|
|
61
|
-
failClosed?: boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Invoked with the token usage parsed off each successful response (JSON or
|
|
64
|
-
* SSE), keyed by the captured context. Lets a caller fold usage → cost without
|
|
65
|
-
* re-cloning the response themselves. Not called when the response carries no
|
|
66
|
-
* usage. Best-effort: a throw here is swallowed (it never kills the LLM call)
|
|
67
|
-
* unless `failClosed` is set.
|
|
68
|
-
*/
|
|
69
|
-
onUsage?: (usage: ExtractedUsage, ctx: CaptureFetchContext) => void;
|
|
70
|
-
/** How repeated SSE usage events should be reconciled. Default `cumulative`. */
|
|
71
|
-
sseUsageMode?: SseUsageMode;
|
|
72
|
-
}
|
|
73
|
-
declare function captureFetchToRawSink(fetch: typeof globalThis.fetch, sink: RawProviderSink, ctx: CaptureFetchContext, opts?: CaptureFetchOptions): typeof globalThis.fetch;
|
|
74
|
-
//#endregion
|
|
75
|
-
//#region src/trace/otel.d.ts
|
|
76
|
-
declare const OTEL_AGENT_EVAL_SCOPE: {
|
|
77
|
-
name: string;
|
|
78
|
-
version: string;
|
|
79
|
-
};
|
|
80
|
-
interface OtlpSpan {
|
|
81
|
-
traceId: string;
|
|
82
|
-
spanId: string;
|
|
83
|
-
parentSpanId?: string;
|
|
84
|
-
name: string;
|
|
85
|
-
kind: number;
|
|
86
|
-
startTimeUnixNano: string;
|
|
87
|
-
endTimeUnixNano: string;
|
|
88
|
-
attributes: Array<{
|
|
89
|
-
key: string;
|
|
90
|
-
value: {
|
|
91
|
-
stringValue?: string;
|
|
92
|
-
intValue?: string;
|
|
93
|
-
doubleValue?: number;
|
|
94
|
-
boolValue?: boolean;
|
|
95
|
-
};
|
|
96
|
-
}>;
|
|
97
|
-
events?: Array<{
|
|
98
|
-
timeUnixNano: string;
|
|
99
|
-
name: string;
|
|
100
|
-
attributes?: OtlpSpan['attributes'];
|
|
101
|
-
}>;
|
|
102
|
-
status?: {
|
|
103
|
-
code: number;
|
|
104
|
-
message?: string;
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
interface OtlpResourceSpans {
|
|
108
|
-
resource: {
|
|
109
|
-
attributes: OtlpSpan['attributes'];
|
|
110
|
-
};
|
|
111
|
-
scopeSpans: Array<{
|
|
112
|
-
scope: typeof OTEL_AGENT_EVAL_SCOPE;
|
|
113
|
-
spans: OtlpSpan[];
|
|
114
|
-
}>;
|
|
115
|
-
}
|
|
116
|
-
interface OtlpExport {
|
|
117
|
-
resourceSpans: OtlpResourceSpans[];
|
|
118
|
-
}
|
|
119
|
-
/** Export a single run's spans + events in OTLP/JSON. */
|
|
120
|
-
declare function exportRunAsOtlp(store: TraceStore, runId: string, resourceAttrs?: Record<string, string | number | boolean>): Promise<OtlpExport>;
|
|
121
|
-
//#endregion
|
|
122
|
-
//#region src/trace/otlp-flat.d.ts
|
|
123
|
-
type OtlpStatusCode = 'STATUS_CODE_OK' | 'STATUS_CODE_ERROR' | 'STATUS_CODE_UNSET';
|
|
124
|
-
interface OtlpFlatLine {
|
|
125
|
-
trace_id: string;
|
|
126
|
-
span_id: string;
|
|
127
|
-
parent_span_id: string | null;
|
|
128
|
-
name: string;
|
|
129
|
-
kind: string;
|
|
130
|
-
start_time: string;
|
|
131
|
-
end_time: string;
|
|
132
|
-
status: {
|
|
133
|
-
code: OtlpStatusCode;
|
|
134
|
-
message?: string;
|
|
135
|
-
};
|
|
136
|
-
resource: {
|
|
137
|
-
attributes: Record<string, unknown>;
|
|
138
|
-
};
|
|
139
|
-
attributes: Record<string, unknown>;
|
|
140
|
-
events?: Array<{
|
|
141
|
-
name: string;
|
|
142
|
-
timeUnixNano?: string;
|
|
143
|
-
attributes?: Record<string, unknown>;
|
|
144
|
-
}>;
|
|
145
|
-
}
|
|
146
|
-
//#endregion
|
|
9
|
+
import { a as TraceAnalystLimits, i as TraceAnalysisEngineResult, n as TraceAnalysisEngine } from "./engine-3A_4jOlI.js";
|
|
10
|
+
import { t as TraceToolGroupName } from "./tool-groups-C3NEcdCM.js";
|
|
147
11
|
//#region src/trace-analyst/analyst.d.ts
|
|
148
12
|
interface AnalyzeTracesInput {
|
|
149
13
|
question: string;
|
|
@@ -300,7 +164,54 @@ declare function scoreTraceInsightReadiness(context: TraceInsightContext): Trace
|
|
|
300
164
|
declare function defaultTraceInsightPanel(): TraceInsightPanelRole[];
|
|
301
165
|
declare function buildTraceInsightPrompt(input: TraceInsightPromptInput): string;
|
|
302
166
|
//#endregion
|
|
303
|
-
//#region src/trace
|
|
167
|
+
//#region src/trace/otel.d.ts
|
|
168
|
+
declare const OTEL_AGENT_EVAL_SCOPE: {
|
|
169
|
+
name: string;
|
|
170
|
+
version: string;
|
|
171
|
+
};
|
|
172
|
+
interface OtlpSpan {
|
|
173
|
+
traceId: string;
|
|
174
|
+
spanId: string;
|
|
175
|
+
parentSpanId?: string;
|
|
176
|
+
name: string;
|
|
177
|
+
kind: number;
|
|
178
|
+
startTimeUnixNano: string;
|
|
179
|
+
endTimeUnixNano: string;
|
|
180
|
+
attributes: Array<{
|
|
181
|
+
key: string;
|
|
182
|
+
value: {
|
|
183
|
+
stringValue?: string;
|
|
184
|
+
intValue?: string;
|
|
185
|
+
doubleValue?: number;
|
|
186
|
+
boolValue?: boolean;
|
|
187
|
+
};
|
|
188
|
+
}>;
|
|
189
|
+
events?: Array<{
|
|
190
|
+
timeUnixNano: string;
|
|
191
|
+
name: string;
|
|
192
|
+
attributes?: OtlpSpan['attributes'];
|
|
193
|
+
}>;
|
|
194
|
+
status?: {
|
|
195
|
+
code: number;
|
|
196
|
+
message?: string;
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
interface OtlpResourceSpans {
|
|
200
|
+
resource: {
|
|
201
|
+
attributes: OtlpSpan['attributes'];
|
|
202
|
+
};
|
|
203
|
+
scopeSpans: Array<{
|
|
204
|
+
scope: typeof OTEL_AGENT_EVAL_SCOPE;
|
|
205
|
+
spans: OtlpSpan[];
|
|
206
|
+
}>;
|
|
207
|
+
}
|
|
208
|
+
interface OtlpExport {
|
|
209
|
+
resourceSpans: OtlpResourceSpans[];
|
|
210
|
+
}
|
|
211
|
+
/** Export a single run's spans + events in OTLP/JSON. */
|
|
212
|
+
declare function exportRunAsOtlp(store: TraceStore, runId: string, resourceAttrs?: Record<string, string | number | boolean>): Promise<OtlpExport>;
|
|
213
|
+
//#endregion
|
|
214
|
+
//#region src/trace-analyst/store-otlp-buffered.d.ts
|
|
304
215
|
interface ToolSpansToTraceAnalysisStoreOptions {
|
|
305
216
|
/** Authorized original-record lookup, exposed only when supplied. */
|
|
306
217
|
sourceReader?: SpanSourceReader;
|
|
@@ -313,21 +224,6 @@ interface ToolSpansToTraceAnalysisStoreOptions {
|
|
|
313
224
|
/** Override the per-match text budget. */
|
|
314
225
|
perMatchTextBudget?: number;
|
|
315
226
|
}
|
|
316
|
-
/** Budgets and authorized source access shared by canonical span-record stores. */
|
|
317
|
-
type SpanRecordsToTraceAnalysisStoreOptions = ToolSpansToTraceAnalysisStoreOptions;
|
|
318
|
-
type BufferedTraceStoreOptions = ToolSpansToTraceAnalysisStoreOptions;
|
|
319
|
-
interface OtlpFileTraceStoreOptions extends BufferedTraceStoreOptions {
|
|
320
|
-
/** Path to the OTLP-JSONL file. */
|
|
321
|
-
path: string;
|
|
322
|
-
/**
|
|
323
|
-
* Hard ceiling on the trace file size in bytes. The store reads the
|
|
324
|
-
* whole file into one Buffer and indexes it in memory, so an
|
|
325
|
-
* unbounded file OOMs the process. Above this size the store fails
|
|
326
|
-
* loud with `TraceFileTooLargeError` instead of degrading silently.
|
|
327
|
-
* Default 256 MiB.
|
|
328
|
-
*/
|
|
329
|
-
maxFileBytes?: number;
|
|
330
|
-
}
|
|
331
227
|
declare abstract class BufferedTraceStore implements TraceAnalysisStore {
|
|
332
228
|
readonly readSpanSource?: SpanSourceReader;
|
|
333
229
|
private readonly perAttributeViewBudget;
|
|
@@ -338,7 +234,7 @@ declare abstract class BufferedTraceStore implements TraceAnalysisStore {
|
|
|
338
234
|
private indexTask?;
|
|
339
235
|
private bufferValue?;
|
|
340
236
|
private bufferTask?;
|
|
341
|
-
constructor(opts:
|
|
237
|
+
constructor(opts: ToolSpansToTraceAnalysisStoreOptions);
|
|
342
238
|
hasTrace(trace_id: string, context?: TraceAnalysisStoreContext): Promise<boolean>;
|
|
343
239
|
hasSpans(opts: {
|
|
344
240
|
trace_id: string;
|
|
@@ -386,6 +282,22 @@ declare abstract class BufferedTraceStore implements TraceAnalysisStore {
|
|
|
386
282
|
private buildOversizedSummary;
|
|
387
283
|
private scanSpanForMatches;
|
|
388
284
|
}
|
|
285
|
+
//#endregion
|
|
286
|
+
//#region src/trace-analyst/store-otlp.d.ts
|
|
287
|
+
interface OtlpFileTraceStoreOptions extends ToolSpansToTraceAnalysisStoreOptions {
|
|
288
|
+
/** Path to the OTLP-JSONL file. */
|
|
289
|
+
path: string;
|
|
290
|
+
/**
|
|
291
|
+
* Hard ceiling on the trace file size in bytes. The store reads the
|
|
292
|
+
* whole file into one Buffer and indexes it in memory, so an
|
|
293
|
+
* unbounded file OOMs the process. Above this size the store fails
|
|
294
|
+
* loud with `TraceFileTooLargeError` instead of degrading silently.
|
|
295
|
+
* Default 256 MiB.
|
|
296
|
+
*/
|
|
297
|
+
maxFileBytes?: number;
|
|
298
|
+
}
|
|
299
|
+
/** Budgets and authorized source access shared by canonical span-record stores. */
|
|
300
|
+
type SpanRecordsToTraceAnalysisStoreOptions = ToolSpansToTraceAnalysisStoreOptions;
|
|
389
301
|
declare class OtlpFileTraceStore extends BufferedTraceStore {
|
|
390
302
|
private readonly path;
|
|
391
303
|
private readonly maxFileBytes;
|
|
@@ -404,6 +316,95 @@ declare function spanRecordsToTraceAnalysisStore(records: readonly TraceAnalystS
|
|
|
404
316
|
/** Build the bounded trace store directly from OpenInference JSONL text. */
|
|
405
317
|
declare function otlpTextToTraceAnalysisStore(text: string, opts?: ToolSpansToTraceAnalysisStoreOptions): TraceAnalysisStore;
|
|
406
318
|
//#endregion
|
|
319
|
+
//#region src/trace/extract-usage.d.ts
|
|
320
|
+
type ExtractedUsage = RunTokenUsage;
|
|
321
|
+
type SseUsageMode = 'cumulative' | 'delta';
|
|
322
|
+
interface ExtractUsageFromSseOptions {
|
|
323
|
+
/** Provider usage events are cumulative snapshots unless explicitly marked as deltas. */
|
|
324
|
+
mode?: SseUsageMode;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Pull `{ input, output, cached?, cacheWrite? }` from a parsed response
|
|
328
|
+
* body. Accepts a top-level `usage` object (the common case) or a body that IS
|
|
329
|
+
* the usage object. Returns null only when none of those categories is present.
|
|
330
|
+
*/
|
|
331
|
+
declare function extractUsage(body: unknown): ExtractedUsage | null;
|
|
332
|
+
/**
|
|
333
|
+
* Extract token usage from a complete SSE response body using the shared SSE
|
|
334
|
+
* frame parser. Cumulative snapshots are the fail-safe default because summing
|
|
335
|
+
* them inflates billing; callers with explicit delta events opt into `mode: 'delta'`.
|
|
336
|
+
*/
|
|
337
|
+
declare function extractUsageFromSse(text: string, options?: ExtractUsageFromSseOptions): ExtractedUsage | null;
|
|
338
|
+
/**
|
|
339
|
+
* Extract usage from an HTTP `Response` without consuming the caller's body:
|
|
340
|
+
* clones, reads the text, and tries the JSON parser first, then the SSE
|
|
341
|
+
* accumulator. Best-effort — returns null on any read/parse miss so a usage tee
|
|
342
|
+
* never takes down the underlying call.
|
|
343
|
+
*/
|
|
344
|
+
declare function extractUsageFromResponse(response: Response, sseOptions?: ExtractUsageFromSseOptions): Promise<ExtractedUsage | null>;
|
|
345
|
+
//#endregion
|
|
346
|
+
//#region src/trace/otlp-flat.d.ts
|
|
347
|
+
type OtlpStatusCode = 'STATUS_CODE_OK' | 'STATUS_CODE_ERROR' | 'STATUS_CODE_UNSET';
|
|
348
|
+
interface OtlpFlatLine {
|
|
349
|
+
trace_id: string;
|
|
350
|
+
span_id: string;
|
|
351
|
+
parent_span_id: string | null;
|
|
352
|
+
name: string;
|
|
353
|
+
kind: string;
|
|
354
|
+
start_time: string;
|
|
355
|
+
end_time: string;
|
|
356
|
+
status: {
|
|
357
|
+
code: OtlpStatusCode;
|
|
358
|
+
message?: string;
|
|
359
|
+
};
|
|
360
|
+
resource: {
|
|
361
|
+
attributes: Record<string, unknown>;
|
|
362
|
+
};
|
|
363
|
+
attributes: Record<string, unknown>;
|
|
364
|
+
events?: Array<{
|
|
365
|
+
name: string;
|
|
366
|
+
timeUnixNano?: string;
|
|
367
|
+
attributes?: Record<string, unknown>;
|
|
368
|
+
}>;
|
|
369
|
+
}
|
|
370
|
+
//#endregion
|
|
371
|
+
//#region src/trace/capture-fetch.d.ts
|
|
372
|
+
interface CaptureFetchContext {
|
|
373
|
+
/** Logical run id stamped on every captured event. Required — without it
|
|
374
|
+
* the raw events can't be paired with their parent `Run`. */
|
|
375
|
+
runId: string;
|
|
376
|
+
/** Optional logical span id (enables span-level sink filtering). */
|
|
377
|
+
spanId?: string;
|
|
378
|
+
/** Resolved base URL (normalised, no trailing slash). Used for the event's
|
|
379
|
+
* `baseUrl` and for endpoint-path extraction. */
|
|
380
|
+
baseUrl: string;
|
|
381
|
+
/** Model id the caller intends to invoke. Stamped on every event. */
|
|
382
|
+
model: string;
|
|
383
|
+
/** Provider override. When omitted, `providerFromBaseUrl(baseUrl)`. */
|
|
384
|
+
provider?: string;
|
|
385
|
+
}
|
|
386
|
+
interface CaptureFetchOptions {
|
|
387
|
+
/** Override the capture-time redactor. Default `defaultProviderRedactor`. */
|
|
388
|
+
redactor?: ProviderRedactor;
|
|
389
|
+
/** Cap on captured response-body bytes; beyond it the body is truncated and
|
|
390
|
+
* `body_truncated` is added to `redactedFields`. Default 2 MiB. */
|
|
391
|
+
responseBodyByteCap?: number;
|
|
392
|
+
/** When true, a sink-write failure propagates to the caller. Default false
|
|
393
|
+
* — capture is best-effort so a sink failure never kills the LLM call. */
|
|
394
|
+
failClosed?: boolean;
|
|
395
|
+
/**
|
|
396
|
+
* Invoked with the token usage parsed off each successful response (JSON or
|
|
397
|
+
* SSE), keyed by the captured context. Lets a caller fold usage → cost without
|
|
398
|
+
* re-cloning the response themselves. Not called when the response carries no
|
|
399
|
+
* usage. Best-effort: a throw here is swallowed (it never kills the LLM call)
|
|
400
|
+
* unless `failClosed` is set.
|
|
401
|
+
*/
|
|
402
|
+
onUsage?: (usage: ExtractedUsage, ctx: CaptureFetchContext) => void;
|
|
403
|
+
/** How repeated SSE usage events should be reconciled. Default `cumulative`. */
|
|
404
|
+
sseUsageMode?: SseUsageMode;
|
|
405
|
+
}
|
|
406
|
+
declare function captureFetchToRawSink(fetch: typeof globalThis.fetch, sink: RawProviderSink, ctx: CaptureFetchContext, opts?: CaptureFetchOptions): typeof globalThis.fetch;
|
|
407
|
+
//#endregion
|
|
407
408
|
//#region src/trace-analyst/store-tool-spans.d.ts
|
|
408
409
|
/** Missing tool spans cannot distinguish a tool-free run from broken capture. */
|
|
409
410
|
declare class ToolTraceMissingError extends CaptureIntegrityError {
|
|
@@ -415,5 +416,5 @@ declare class ToolTraceMissingError extends CaptureIntegrityError {
|
|
|
415
416
|
*/
|
|
416
417
|
declare function toolSpansToTraceAnalysisStore(spans: readonly ToolSpan[] | null | undefined, options?: ToolSpansToTraceAnalysisStoreOptions): TraceAnalysisStore;
|
|
417
418
|
//#endregion
|
|
418
|
-
export {
|
|
419
|
-
//# sourceMappingURL=store-tool-spans-
|
|
419
|
+
export { TraceInsightQualityGate as A, inferDomainKeywords as B, exportRunAsOtlp as C, TraceInsightFinding as D, TraceInsightEvidence as E, buildTraceInsightContext as F, scoreTraceInsightReadiness as G, isTraceInsightAttribution as H, buildTraceInsightPrompt as I, AnalyzeTracesOptions as J, tokenizeDomainWords as K, defaultTraceInsightPanel as L, TraceInsightReadiness as M, TraceInsightSuite as N, TraceInsightPanelRole as O, TraceInsightTask as P, describeTraceInsightScope as R, OtlpSpan as S, TraceInsightContext as T, isTraceInsightEvidence as U, isTraceInsightArtifact as V, planTraceInsightQuestions as W, analyzeTraces as X, AnalyzeTracesResult as Y, spanRecordsToTraceAnalysisStore as _, captureFetchToRawSink as a, OtlpExport as b, ExtractedUsage as c, extractUsageFromResponse as d, extractUsageFromSse as f, otlpTextToTraceAnalysisStore as g, SpanRecordsToTraceAnalysisStoreOptions as h, CaptureFetchOptions as i, TraceInsightQuestion as j, TraceInsightPromptInput as k, SseUsageMode as l, OtlpFileTraceStoreOptions as m, toolSpansToTraceAnalysisStore as n, OtlpFlatLine as o, OtlpFileTraceStore as p, AnalyzeTracesInput as q, CaptureFetchContext as r, ExtractUsageFromSseOptions as s, ToolTraceMissingError as t, extractUsage as u, ToolSpansToTraceAnalysisStoreOptions as v, TraceInsightAttribution as w, OtlpResourceSpans as x, OTEL_AGENT_EVAL_SCOPE as y, domainEvidencePattern as z };
|
|
420
|
+
//# sourceMappingURL=store-tool-spans-DdCSPa7C.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-tool-spans-DdCSPa7C.d.ts","names":[],"sources":["../src/trace-analyst/analyst.ts","../src/trace-analyst/insights.ts","../src/trace/otel.ts","../src/trace-analyst/store-otlp-buffered.ts","../src/trace-analyst/store-otlp.ts","../src/trace/extract-usage.ts","../src/trace/otlp-flat.ts","../src/trace/capture-fetch.ts","../src/trace-analyst/store-tool-spans.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/storyboard/code-edit.ts","../../src/storyboard/index.ts"],"mappings":";;;iBAuBiB;;EAEf;EACA;EACA;;EAEA;;;EAGA;EACA;EACA;EACA;EACA;;;wBA6Dc,iBAAiB,MAAM,OAAO;;wBAwB9B,iBAAiB,gBAAgB,SAAS;;;wBAS1C,uBACd,YAAY,YACZ,gBAAgB,SACf;EAAQ,OAAO;EAAO,MAAM;;;;;wBAgBf,kBAAkB,MAAM;iBAiBvB;;EAEf;;EAEA;;EAEA;;;;;;;;;wBAUc,wBACd,iBAAiB,kBAAkB,YACnC,OAAM;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/storyboard/code-edit.ts","../../src/storyboard/index.ts"],"mappings":";;;iBAuBiB;;EAEf;EACA;EACA;;EAEA;;;EAGA;EACA;EACA;EACA;EACA;;;wBA6Dc,iBAAiB,MAAM,OAAO;;wBAwB9B,iBAAiB,gBAAgB,SAAS;;;wBAS1C,uBACd,YAAY,YACZ,gBAAgB,SACf;EAAQ,OAAO;EAAO,MAAM;;;;;wBAgBf,kBAAkB,MAAM;iBAiBvB;;EAEf;;EAEA;;EAEA;;;;;;;;;wBAUc,wBACd,iBAAiB,kBAAkB,YACnC,OAAM;;;;YChKI;;;YAmBA;EACN;EAAoB;EAAa;;EACjC;EAAiB;EAAc;EAAiB;;EAChD;EAAc;EAAc;;EAC5B;EAAc;EAAc;;EAC5B;EAAkB;EAAiB;;EAEnC;EACA;EACA;EACA;EACA;EACA;;EAEA;EAAe;;EACf;;iBAEW;EACf,MAAM;;EAEN;;EAEA;;EAEA,QAAQ;;EAER;;EAEA;EACA;EACA;;iBAGe;;EAEf;;;;;;;;;;wBAiTc,uBACd,gBAAgB,QAChB,OAAM,gBACL;YA8CS;iBAiBK;EACf,WAAW;EACX;EACA;;EAEA,QAAQ;EACR;EACA;;iBAGe;EACf;EACA;EACA,QAAQ;;iBAGO;;EAEf;;EAEA;;;;;;;wBAkCc,kBACd,iBAAiB,iBACjB,OAAM,iBACL;;wBAoJa,yBAAyB,YAAY;iBAwBpC;;EAEf;;;;;;;;;wBAUc,qBAAqB,YAAY,YAAY,OAAM"}
|
package/dist/storyboard/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { t as escapeHtml } from "../reporting-html-Kvlc8oMt.js";
|
|
1
2
|
//#region src/storyboard/code-edit.ts
|
|
2
3
|
const EDIT_TOOLS = /(edit|write|patch|apply|str_replace|create.*file|save|insert|update.*file|multi_edit)/i;
|
|
3
4
|
function languageOf(path) {
|
|
@@ -227,6 +228,25 @@ function renderCodeAnimationHtml(source, opts = {}) {
|
|
|
227
228
|
}
|
|
228
229
|
//#endregion
|
|
229
230
|
//#region src/storyboard/index.ts
|
|
231
|
+
/**
|
|
232
|
+
* Storyboard — compile a raw agent trace into a small set of meaningful scenes,
|
|
233
|
+
* then render them as a shareable, watchable replay.
|
|
234
|
+
*
|
|
235
|
+
* Span[] → SemanticEvent[] → Storyboard{scenes} → { markdown | html }
|
|
236
|
+
*
|
|
237
|
+
* The trace is the source of truth; the storyboard is the IR; markdown/html
|
|
238
|
+
* (and, in a consumer package, Remotion/MP4) are compiled targets. Everything
|
|
239
|
+
* here is PURE — same spans in, same bytes out (no clock/random) — so a run's
|
|
240
|
+
* replay is deterministic and diffable.
|
|
241
|
+
*
|
|
242
|
+
* Crucially, every scene carries a modality-typed VISUAL extracted from the
|
|
243
|
+
* span — a browser/computer screenshot, a code diff, a terminal command +
|
|
244
|
+
* output, file content, an API request/response, or reasoning prose — so no
|
|
245
|
+
* matter what the agent did, the replay SHOWS it, not just narrates it. The
|
|
246
|
+
* reducer is rules-based; an LLM pass can refine titles/summaries later, but
|
|
247
|
+
* the structure + visuals do not depend on one. Renderers that need a browser
|
|
248
|
+
* (Remotion, React) live in consumers; this module only emits strings.
|
|
249
|
+
*/
|
|
230
250
|
function str(v) {
|
|
231
251
|
return typeof v === "string" && v.length > 0 ? v : void 0;
|
|
232
252
|
}
|
|
@@ -648,9 +668,6 @@ function mmss(ms) {
|
|
|
648
668
|
function truncate(s, max) {
|
|
649
669
|
return s.length <= max ? s : `${s.slice(0, Math.max(0, max - 1))}…`;
|
|
650
670
|
}
|
|
651
|
-
function escapeHtml(s) {
|
|
652
|
-
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
653
|
-
}
|
|
654
671
|
/** A short modality tag for the markdown shot list. */
|
|
655
672
|
function visualMarkdown(v) {
|
|
656
673
|
switch (v.type) {
|