@tangle-network/agent-eval 0.221.7 → 0.222.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 +146 -0
- package/dist/adapters/http.d.ts +3 -5
- package/dist/adapters/http.d.ts.map +1 -1
- package/dist/adapters/http.js +1 -2
- package/dist/{adversarial-smnADNFS.d.ts → adversarial-DnQQFqTR.d.ts} +1 -3
- package/dist/adversarial-DnQQFqTR.d.ts.map +1 -0
- package/dist/{agent-profile-CNmwfaqq.d.ts → agent-profile-CoD1Dotf.d.ts} +4 -10
- package/dist/agent-profile-CoD1Dotf.d.ts.map +1 -0
- package/dist/agent-profile-Dngk3LZ0.js +153 -0
- package/dist/agent-profile-Dngk3LZ0.js.map +1 -0
- package/dist/{agent-profile-cell-BcpFbNd5.d.ts → agent-profile-cell-3kYxUsK2.d.ts} +3 -5
- package/dist/agent-profile-cell-3kYxUsK2.d.ts.map +1 -0
- package/dist/{agent-profile-cell-B1V1gUZs.js → agent-profile-cell-CT5JYueM.js} +5 -7
- package/dist/{agent-profile-cell-B1V1gUZs.js.map → agent-profile-cell-CT5JYueM.js.map} +1 -1
- package/dist/{agreement-irr-BhAqjluA.js → agreement-irr-BTjDN0i6.js} +4 -5
- package/dist/{agreement-irr-BhAqjluA.js.map → agreement-irr-BTjDN0i6.js.map} +1 -1
- package/dist/analyst/index.d.ts +95 -159
- package/dist/analyst/index.d.ts.map +1 -1
- package/dist/analyst/index.js +28 -39
- package/dist/analyst/index.js.map +1 -1
- package/dist/{analyze-runs-DfX6dHP0.d.ts → analyze-runs-C-pP1sK9.d.ts} +7 -13
- package/dist/analyze-runs-C-pP1sK9.d.ts.map +1 -0
- package/dist/{analyze-runs-CHmsykNJ.js → analyze-runs-CTheASYV.js} +23 -32
- package/dist/{analyze-runs-CHmsykNJ.js.map → analyze-runs-CTheASYV.js.map} +1 -1
- package/dist/{attribute-vocabulary-CcXqHODT.d.ts → attribute-vocabulary-5oo8ykIx.d.ts} +2 -4
- package/dist/attribute-vocabulary-5oo8ykIx.d.ts.map +1 -0
- package/dist/authenticity/index.d.ts +0 -2
- package/dist/authenticity/index.d.ts.map +1 -1
- package/dist/authenticity/index.js +1 -2
- package/dist/{benchmark-command-Cnjfo0Zh.js → benchmark-command-jYWR2gya.js} +61 -94
- package/dist/benchmark-command-jYWR2gya.js.map +1 -0
- package/dist/benchmarks/index.d.ts +5 -15
- package/dist/benchmarks/index.d.ts.map +1 -1
- package/dist/benchmarks/index.js +27 -38
- package/dist/benchmarks/index.js.map +1 -1
- package/dist/{bounded-process-Cj9YjXbE.js → bounded-process-BZrWXIKW.js} +2 -3
- package/dist/{bounded-process-Cj9YjXbE.js.map → bounded-process-BZrWXIKW.js.map} +1 -1
- package/dist/builder-eval/index.d.ts +5 -14
- package/dist/builder-eval/index.d.ts.map +1 -1
- package/dist/builder-eval/index.js +11 -17
- package/dist/builder-eval/index.js.map +1 -1
- package/dist/{calibration-CTwxpJ-t.js → calibration-6usfVYYo.js} +4 -5
- package/dist/{calibration-CTwxpJ-t.js.map → calibration-6usfVYYo.js.map} +1 -1
- package/dist/campaign/index.d.ts +9 -9
- package/dist/campaign/index.js +15 -14
- package/dist/{campaign-uddTlFg5.js → campaign-ddr1N3yD.js} +61 -58
- package/dist/campaign-ddr1N3yD.js.map +1 -0
- package/dist/{campaign-evidence-DunzcJGv.js → campaign-evidence-DN8rWuBj.js} +20 -322
- package/dist/campaign-evidence-DN8rWuBj.js.map +1 -0
- package/dist/{canonical-Dq2hOQ8L.js → canonical-CicJlINA.js} +3 -4
- package/dist/{canonical-Dq2hOQ8L.js.map → canonical-CicJlINA.js.map} +1 -1
- package/dist/{canonical-CFpojCN5.d.ts → canonical-gLeHiqzd.d.ts} +2 -4
- package/dist/canonical-gLeHiqzd.d.ts.map +1 -0
- package/dist/{cell-spend-DEWR3nj-.js → cell-spend-zxmzg4GH.js} +3 -4
- package/dist/{cell-spend-DEWR3nj-.js.map → cell-spend-zxmzg4GH.js.map} +1 -1
- package/dist/{chat-client-BNATB3rJ.js → chat-client-CO3uB33i.js} +3 -4
- package/dist/{chat-client-BNATB3rJ.js.map → chat-client-CO3uB33i.js.map} +1 -1
- package/dist/{chat-json-call-BzWYp18J.js → chat-json-call-8yUv4LFO.js} +4 -5
- package/dist/{chat-json-call-BzWYp18J.js.map → chat-json-call-8yUv4LFO.js.map} +1 -1
- package/dist/{claim-BPVuyHuy.js → claim-Dod_mjk3.js} +5 -6
- package/dist/{claim-BPVuyHuy.js.map → claim-Dod_mjk3.js.map} +1 -1
- package/dist/cli.js +179 -23
- package/dist/cli.js.map +1 -1
- package/dist/{client-hwo3cJjR.d.ts → client-BIFwUg7I.d.ts} +6 -12
- package/dist/client-BIFwUg7I.d.ts.map +1 -0
- package/dist/{cluster-bootstrap-DEwwhl0C.js → cluster-bootstrap-SbaeM44s.js} +4 -5
- package/dist/{cluster-bootstrap-DEwwhl0C.js.map → cluster-bootstrap-SbaeM44s.js.map} +1 -1
- package/dist/completion-verifier-7KEfroqx.d.ts +168 -0
- package/dist/completion-verifier-7KEfroqx.d.ts.map +1 -0
- package/dist/{completion-verifier-asaV1nSj.js → completion-verifier-rqbMh5-4.js} +9 -160
- package/dist/completion-verifier-rqbMh5-4.js.map +1 -0
- package/dist/contract/index.d.ts +13 -13
- package/dist/contract/index.js +41 -60
- package/dist/contract/index.js.map +1 -1
- package/dist/{cost-ledger-BGZB6yY2.js → cost-ledger-CS8R3IZj.js} +10 -17
- package/dist/{cost-ledger-BGZB6yY2.js.map → cost-ledger-CS8R3IZj.js.map} +1 -1
- package/dist/{cost-ledger-C1W3ICmP.d.ts → cost-ledger-Czro9wmo.d.ts} +1 -5
- package/dist/cost-ledger-Czro9wmo.d.ts.map +1 -0
- package/dist/{dataset-DQqhOCPt.d.ts → dataset-DThC1S6G.d.ts} +1 -3
- package/dist/dataset-DThC1S6G.d.ts.map +1 -0
- package/dist/{decision-point-0nJubuoM.js → decision-point-lhMgODOR.js} +14 -18
- package/dist/{decision-point-0nJubuoM.js.map → decision-point-lhMgODOR.js.map} +1 -1
- package/dist/{deep-freeze-CurcOQg3.js → deep-freeze-CK8-2W7p.js} +2 -3
- package/dist/{deep-freeze-CurcOQg3.js.map → deep-freeze-CK8-2W7p.js.map} +1 -1
- package/dist/{default-registry-CLG5YqGS.d.ts → default-registry-B1DstPYg.d.ts} +53 -61
- package/dist/default-registry-B1DstPYg.d.ts.map +1 -0
- package/dist/{default-registry-BBTDgkDM.js → default-registry-C1tPEjZ4.js} +29 -45
- package/dist/{default-registry-BBTDgkDM.js.map → default-registry-C1tPEjZ4.js.map} +1 -1
- package/dist/{define-agent-eval-CCbT7Kfr.js → define-agent-eval-BLoP4Lf9.js} +15 -18
- package/dist/{define-agent-eval-CCbT7Kfr.js.map → define-agent-eval-BLoP4Lf9.js.map} +1 -1
- package/dist/{define-agent-eval-JKt3gMQr.d.ts → define-agent-eval-CAffiFbN.d.ts} +19 -27
- package/dist/define-agent-eval-CAffiFbN.d.ts.map +1 -0
- package/dist/{descriptive-CVNy48rR.js → descriptive-cPwITVfy.js} +30 -8
- package/dist/descriptive-cPwITVfy.js.map +1 -0
- package/dist/diagnosis/index.d.ts +5 -15
- package/dist/diagnosis/index.d.ts.map +1 -1
- package/dist/diagnosis/index.js +13 -19
- package/dist/diagnosis/index.js.map +1 -1
- package/dist/{dspy-rlm-engine-DN1p_5jx.js → dspy-rlm-engine-jDiWkul6.js} +7 -10
- package/dist/{dspy-rlm-engine-DN1p_5jx.js.map → dspy-rlm-engine-jDiWkul6.js.map} +1 -1
- package/dist/{emitter-DbMXUIVP.js → emitter-DhQ65mza.js} +3 -4
- package/dist/{emitter-DbMXUIVP.js.map → emitter-DhQ65mza.js.map} +1 -1
- package/dist/{emitter-DABYYTcH.d.ts → emitter-mAXC5PSN.d.ts} +3 -5
- package/dist/emitter-mAXC5PSN.d.ts.map +1 -0
- package/dist/{engine-dtRVeuQs.d.ts → engine-CaHaCc3W.d.ts} +10 -18
- package/dist/engine-CaHaCc3W.d.ts.map +1 -0
- package/dist/{equal-terms-DbPGcVtI.js → equal-terms-K11VHmR3.js} +3 -4
- package/dist/{equal-terms-DbPGcVtI.js.map → equal-terms-K11VHmR3.js.map} +1 -1
- package/dist/{errors-BcOs5MKW.js → errors-DeEEV9Vx.js} +2 -3
- package/dist/{errors-BcOs5MKW.js.map → errors-DeEEV9Vx.js.map} +1 -1
- package/dist/{errors-DEE6u6ot.d.ts → errors-E9I2hldP.d.ts} +1 -3
- package/dist/errors-E9I2hldP.d.ts.map +1 -0
- package/dist/{eval-campaign-DoX5vz3E.js → eval-campaign-Cgixrvf7.js} +8 -9
- package/dist/{eval-campaign-DoX5vz3E.js.map → eval-campaign-Cgixrvf7.js.map} +1 -1
- package/dist/{evaluation-wdGyZ7jV.js → evaluation-B8H3GYej.js} +4 -6
- package/dist/{evaluation-wdGyZ7jV.js.map → evaluation-B8H3GYej.js.map} +1 -1
- package/dist/{evaluation-DblGquCB.d.ts → evaluation-BPqUvZ66.d.ts} +4 -6
- package/dist/evaluation-BPqUvZ66.d.ts.map +1 -0
- package/dist/evaluation.d.ts +1 -1
- package/dist/evaluation.js +1 -2
- package/dist/{exact-types-Do63KoKn.d.ts → exact-types-D98BKpxo.d.ts} +8 -10
- package/dist/exact-types-D98BKpxo.d.ts.map +1 -0
- package/dist/{exec-CpbtOXVt.js → exec-C0_AkLUv.js} +3 -5
- package/dist/{exec-CpbtOXVt.js.map → exec-C0_AkLUv.js.map} +1 -1
- package/dist/{execution-tracks-CpgFPpS5.js → execution-tracks-DaDXYwAq.js} +2 -3
- package/dist/{execution-tracks-CpgFPpS5.js.map → execution-tracks-DaDXYwAq.js.map} +1 -1
- package/dist/experiment/index.d.ts +9 -37
- package/dist/experiment/index.d.ts.map +1 -1
- package/dist/experiment/index.js +29 -40
- package/dist/experiment/index.js.map +1 -1
- package/dist/{exporters-Dk3oEbK_.d.ts → exporters-B5Ze_RKh.d.ts} +4 -4
- package/dist/exporters-B5Ze_RKh.d.ts.map +1 -0
- package/dist/{exporters-DWvM16LE.js → exporters-ByLcILYU.js} +23 -5
- package/dist/exporters-ByLcILYU.js.map +1 -0
- package/dist/{external-optimizer-process-DEzJ2CGX.js → external-optimizer-process-BRVmaDFe.js} +5 -6
- package/dist/{external-optimizer-process-DEzJ2CGX.js.map → external-optimizer-process-BRVmaDFe.js.map} +1 -1
- package/dist/{external-optimizer-subprocess-B_ukPtRD.js → external-optimizer-subprocess-U616hV_l.js} +24 -37
- package/dist/{external-optimizer-subprocess-B_ukPtRD.js.map → external-optimizer-subprocess-U616hV_l.js.map} +1 -1
- package/dist/{extract-usage-BZLU01kR.js → extract-usage-ISFqhfDz.js} +2 -3
- package/dist/{extract-usage-BZLU01kR.js.map → extract-usage-ISFqhfDz.js.map} +1 -1
- package/dist/{failure-cluster-DN0t63Z0.d.ts → failure-cluster-DOoa7CBg.d.ts} +3 -7
- package/dist/failure-cluster-DOoa7CBg.d.ts.map +1 -0
- package/dist/{failure-taxonomy-Bx5oWqaW.js → failure-taxonomy-9eQfXKoW.js} +2 -3
- package/dist/{failure-taxonomy-Bx5oWqaW.js.map → failure-taxonomy-9eQfXKoW.js.map} +1 -1
- package/dist/{feedback-trajectory-CYVJXolG.d.ts → feedback-trajectory-SBGncrCP.d.ts} +7 -13
- package/dist/feedback-trajectory-SBGncrCP.d.ts.map +1 -0
- package/dist/{finding-composition-8n0fFgVI.js → finding-composition-DlvE1Qul.js} +4 -6
- package/dist/{finding-composition-8n0fFgVI.js.map → finding-composition-DlvE1Qul.js.map} +1 -1
- package/dist/{findings-store-Bg4sdS-e.js → findings-store-B75Dspaq.js} +11 -14
- package/dist/{findings-store-Bg4sdS-e.js.map → findings-store-B75Dspaq.js.map} +1 -1
- package/dist/fuzz.d.ts +3 -17
- package/dist/fuzz.d.ts.map +1 -1
- package/dist/fuzz.js +30 -29
- package/dist/fuzz.js.map +1 -1
- package/dist/{hf-dataset-CKxIJQba.js → hf-dataset-DPVQXW5n.js} +362 -21
- package/dist/hf-dataset-DPVQXW5n.js.map +1 -0
- package/dist/hosted/index.d.ts +2 -6
- package/dist/hosted/index.d.ts.map +1 -1
- package/dist/hosted/index.js +1 -2
- package/dist/{index-CalAsXMR.d.ts → index-B1Bm9oJA.d.ts} +3 -15
- package/dist/index-B1Bm9oJA.d.ts.map +1 -0
- package/dist/{index-CdEVr8-O.d.ts → index-B7v2QHlD.d.ts} +24 -299
- package/dist/index-B7v2QHlD.d.ts.map +1 -0
- package/dist/{index-CTIRz-AB.d.ts → index-CUjeTDPv.d.ts} +14 -36
- package/dist/index-CUjeTDPv.d.ts.map +1 -0
- package/dist/{index-CfJULcW5.d.ts → index-DAk2quYu.d.ts} +18 -38
- package/dist/index-DAk2quYu.d.ts.map +1 -0
- package/dist/{index-D7fmC-1K.d.ts → index-DUn0GNiZ.d.ts} +183 -36
- package/dist/index-DUn0GNiZ.d.ts.map +1 -0
- package/dist/{index-CHxwfW5g.d.ts → index-DwUGehqX.d.ts} +3 -9
- package/dist/index-DwUGehqX.d.ts.map +1 -0
- package/dist/{index-jnuFLxOs.d.ts → index-aDPVYBIM.d.ts} +11 -39
- package/dist/index-aDPVYBIM.d.ts.map +1 -0
- package/dist/index.d.ts +55 -188
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -195
- package/dist/index.js.map +1 -1
- package/dist/{integrity-D-s2iHiT.js → integrity-B1V6klyO.js} +12 -363
- package/dist/integrity-B1V6klyO.js.map +1 -0
- package/dist/{integrity-D9lBnv_K.d.ts → integrity-BAdVzT8u.d.ts} +4 -6
- package/dist/integrity-BAdVzT8u.d.ts.map +1 -0
- package/dist/{integrity-W4CADcFc.js → integrity-DOHt1mwU.js} +3 -4
- package/dist/{integrity-W4CADcFc.js.map → integrity-DOHt1mwU.js.map} +1 -1
- package/dist/{internal-BTK91Bqt.js → internal-v6XfOeJW.js} +6 -8
- package/dist/{internal-BTK91Bqt.js.map → internal-v6XfOeJW.js.map} +1 -1
- package/dist/{interval-Dq9gt7jx.js → interval-Bd2f4CRT.js} +6 -8
- package/dist/{interval-Dq9gt7jx.js.map → interval-Bd2f4CRT.js.map} +1 -1
- package/dist/{interval-ohuOJurX.d.ts → interval-CWyxqDpE.d.ts} +1 -5
- package/dist/interval-CWyxqDpE.d.ts.map +1 -0
- package/dist/{journal-C7om8Gum.js → journal-C1uLJi0w.js} +115 -121
- package/dist/{journal-C7om8Gum.js.map → journal-C1uLJi0w.js.map} +1 -1
- package/dist/{json-BhdsJaOQ.js → json-DtvZNAU9.js} +4 -6
- package/dist/{json-BhdsJaOQ.js.map → json-DtvZNAU9.js.map} +1 -1
- package/dist/json-recovery-DK4MDm5r.js +296 -0
- package/dist/json-recovery-DK4MDm5r.js.map +1 -0
- package/dist/{judge-calibration-BkXMIWA4.js → judge-calibration-DGqlfWW8.js} +5 -6
- package/dist/{judge-calibration-BkXMIWA4.js.map → judge-calibration-DGqlfWW8.js.map} +1 -1
- package/dist/{judge-calibration-DFtEMlde.d.ts → judge-calibration-DnrbQaXI.d.ts} +1 -3
- package/dist/judge-calibration-DnrbQaXI.d.ts.map +1 -0
- package/dist/{judge-gate-BVvmP00P.js → judge-gate-C2BCOt-M.js} +8 -12
- package/dist/{judge-gate-BVvmP00P.js.map → judge-gate-C2BCOt-M.js.map} +1 -1
- package/dist/judges-BLxg5p8E.js +20 -0
- package/dist/judges-BLxg5p8E.js.map +1 -0
- package/dist/{kind-factory-Dl0PmNQL.js → kind-factory-VKysp1ds.js} +23 -39
- package/dist/{kind-factory-Dl0PmNQL.js.map → kind-factory-VKysp1ds.js.map} +1 -1
- package/dist/ledger-core/index.d.ts +2 -2
- package/dist/ledger-core/index.js +3 -3
- package/dist/ledger-core/lock-holder.d.ts +1 -1
- package/dist/ledger-core/lock-holder.js +1 -2
- package/dist/{ledger-core-CAxUdDk0.js → ledger-core-CfT-FzPf.js} +5 -6
- package/dist/{ledger-core-CAxUdDk0.js.map → ledger-core-CfT-FzPf.js.map} +1 -1
- package/dist/{llm-client-b1ysZVIU.js → llm-client-kJ9EOqjt.js} +22 -30
- package/dist/{llm-client-b1ysZVIU.js.map → llm-client-kJ9EOqjt.js.map} +1 -1
- package/dist/{llm-judge-Cybq29bL.js → llm-judge-cgbhTKQp.js} +108 -164
- package/dist/llm-judge-cgbhTKQp.js.map +1 -0
- package/dist/{lock-holder-DaJbfpci.d.ts → lock-holder-DoxlZFkQ.d.ts} +1 -3
- package/dist/lock-holder-DoxlZFkQ.d.ts.map +1 -0
- package/dist/matrix/index.d.ts +3 -3
- package/dist/matrix/index.js +2 -2
- package/dist/{matrix-DtkZLD_3.d.ts → matrix-CBUzIZs4.d.ts} +4 -12
- package/dist/matrix-CBUzIZs4.d.ts.map +1 -0
- package/dist/{matrix-B8l-Nsxd.js → matrix-CgpX8wdm.js} +8 -13
- package/dist/matrix-CgpX8wdm.js.map +1 -0
- package/dist/{mean-BbA_JCzW.js → mean-CdDYG-us.js} +6 -9
- package/dist/{mean-BbA_JCzW.js.map → mean-CdDYG-us.js.map} +1 -1
- package/dist/meta-eval/index.d.ts +3 -3
- package/dist/meta-eval/index.js +17 -21
- package/dist/meta-eval/index.js.map +1 -1
- package/dist/{metrics-BKaPBtIG.js → metrics-DNCAUtuB.js} +2 -3
- package/dist/{metrics-BKaPBtIG.js.map → metrics-DNCAUtuB.js.map} +1 -1
- package/dist/{mint-CbdwjTPW.js → mint-D9ZysYtY.js} +7 -8
- package/dist/{mint-CbdwjTPW.js.map → mint-D9ZysYtY.js.map} +1 -1
- package/dist/{multi-layer-verifier-DEgMUk6v.d.ts → multi-layer-verifier-lM4aVN78.d.ts} +2 -4
- package/dist/multi-layer-verifier-lM4aVN78.d.ts.map +1 -0
- package/dist/{multiplicity-Sg0U7h8j.js → multiplicity-DAd4xaDC.js} +3 -4
- package/dist/{multiplicity-Sg0U7h8j.js.map → multiplicity-DAd4xaDC.js.map} +1 -1
- package/dist/{multiplicity-DIWHvysC.d.ts → multiplicity-D_SEsc5j.d.ts} +1 -3
- package/dist/multiplicity-D_SEsc5j.d.ts.map +1 -0
- package/dist/multishot/golden/index.d.ts +1 -17
- package/dist/multishot/golden/index.d.ts.map +1 -1
- package/dist/multishot/golden/index.js +10 -17
- package/dist/multishot/golden/index.js.map +1 -1
- package/dist/multishot/index.d.ts +2 -10
- package/dist/multishot/index.d.ts.map +1 -1
- package/dist/multishot/index.js +11 -18
- package/dist/multishot/index.js.map +1 -1
- package/dist/{nonnegative-number-DvdMxg_f.js → nonnegative-number-lEYbOsuh.js} +2 -3
- package/dist/{nonnegative-number-DvdMxg_f.js.map → nonnegative-number-lEYbOsuh.js.map} +1 -1
- package/dist/openapi.json +1 -1
- package/dist/{otel-spans-CdN909k1.js → otel-spans-BsGzTWIK.js} +5 -6
- package/dist/{otel-spans-CdN909k1.js.map → otel-spans-BsGzTWIK.js.map} +1 -1
- package/dist/{otlp-attributes-D9ptWaIJ.js → otlp-attributes-Boeb7gtH.js} +2 -3
- package/dist/{otlp-attributes-D9ptWaIJ.js.map → otlp-attributes-Boeb7gtH.js.map} +1 -1
- package/dist/{outcome-observations-FLmRpgYa.js → outcome-observations-D4snOtUb.js} +4 -5
- package/dist/{outcome-observations-FLmRpgYa.js.map → outcome-observations-D4snOtUb.js.map} +1 -1
- package/dist/{outcome-store-DUcMj-3D.js → outcome-store-TarrcfHG.js} +2 -3
- package/dist/{outcome-store-DUcMj-3D.js.map → outcome-store-TarrcfHG.js.map} +1 -1
- package/dist/{package-version-D7lQHt_-.js → package-version-CJl_pY9W.js} +2 -3
- package/dist/{package-version-D7lQHt_-.js.map → package-version-CJl_pY9W.js.map} +1 -1
- package/dist/{paired-arms-B2ttLc0_.js → paired-arms-D-54hO-k.js} +10 -14
- package/dist/{paired-arms-B2ttLc0_.js.map → paired-arms-D-54hO-k.js.map} +1 -1
- package/dist/{paired-binary-B_nejA44.js → paired-binary-BR0nwHOA.js} +3 -4
- package/dist/{paired-binary-B_nejA44.js.map → paired-binary-BR0nwHOA.js.map} +1 -1
- package/dist/{paired-promotion-decision-CQMJ5xGN.d.ts → paired-promotion-decision-BDnqepZ1.d.ts} +1 -5
- package/dist/paired-promotion-decision-BDnqepZ1.d.ts.map +1 -0
- package/dist/{paired-promotion-decision-D0SHb-ZL.js → paired-promotion-decision-FGvHA4p_.js} +5 -7
- package/dist/{paired-promotion-decision-D0SHb-ZL.js.map → paired-promotion-decision-FGvHA4p_.js.map} +1 -1
- package/dist/{pareto-BiBnQXAE.js → pareto-B9udAt2i.js} +28 -50
- package/dist/pareto-B9udAt2i.js.map +1 -0
- package/dist/pipelines/index.d.ts +5 -11
- package/dist/pipelines/index.d.ts.map +1 -1
- package/dist/pipelines/index.js +6 -8
- package/dist/pipelines/index.js.map +1 -1
- package/dist/{power-and-mde-CQX-0weG.js → power-and-mde-ClI6RWw4.js} +4 -5
- package/dist/{power-and-mde-CQX-0weG.js.map → power-and-mde-ClI6RWw4.js.map} +1 -1
- package/dist/{predicate-FdKmElA_.js → predicate-BYHA4MBn.js} +2 -3
- package/dist/{predicate-FdKmElA_.js.map → predicate-BYHA4MBn.js.map} +1 -1
- package/dist/{prime-bridge-transport-6feEglLf.d.ts → prime-bridge-transport-Cfqir_Im.d.ts} +1 -3
- package/dist/prime-bridge-transport-Cfqir_Im.d.ts.map +1 -0
- package/dist/{prime-bridge-transport-Z3cpKGoV.js → prime-bridge-transport-Csd5SQg7.js} +2 -3
- package/dist/{prime-bridge-transport-Z3cpKGoV.js.map → prime-bridge-transport-Csd5SQg7.js.map} +1 -1
- package/dist/{prime-protocol-BGxjfhM4.d.ts → prime-protocol-COFkxas6.d.ts} +4 -8
- package/dist/prime-protocol-COFkxas6.d.ts.map +1 -0
- package/dist/{prime-protocol-BFgGrEMP.js → prime-protocol-CrhpXRz9.js} +4 -6
- package/dist/{prime-protocol-BFgGrEMP.js.map → prime-protocol-CrhpXRz9.js.map} +1 -1
- package/dist/profile-cell.d.ts +1 -1
- package/dist/profile-cell.js +1 -2
- package/dist/{promotion-gate-CkVZHagC.d.ts → promotion-gate-CixshGI8.d.ts} +5 -11
- package/dist/promotion-gate-CixshGI8.d.ts.map +1 -0
- package/dist/{promotion-policy-6A8osGr_.js → promotion-policy-CBYeD4zi.js} +5 -6
- package/dist/{promotion-policy-6A8osGr_.js.map → promotion-policy-CBYeD4zi.js.map} +1 -1
- package/dist/{proposal-findings-DqLUWsAG.js → proposal-findings-WFQrxnfe.js} +3 -4
- package/dist/{proposal-findings-DqLUWsAG.js.map → proposal-findings-WFQrxnfe.js.map} +1 -1
- package/dist/{quantile--0yb07pD.js → quantile-CncXP-Ss.js} +2 -3
- package/dist/{quantile--0yb07pD.js.map → quantile-CncXP-Ss.js.map} +1 -1
- package/dist/{query-B_RZ36an.js → query-CGXzO9d4.js} +5 -6
- package/dist/{query-B_RZ36an.js.map → query-CGXzO9d4.js.map} +1 -1
- package/dist/{query-Cmv_U8vf.d.ts → query-UD0B08Sb.d.ts} +4 -6
- package/dist/query-UD0B08Sb.d.ts.map +1 -0
- package/dist/{random-DGEyr3zG.d.ts → random-BN150Q_X.d.ts} +1 -5
- package/dist/random-BN150Q_X.d.ts.map +1 -0
- package/dist/{random-DDDcC7YU.js → random-DrzcgC7F.js} +3 -4
- package/dist/{random-DDDcC7YU.js.map → random-DrzcgC7F.js.map} +1 -1
- package/dist/{raw-provider-sink-75w4FWBj.js → raw-provider-sink-DDLkP_eF.js} +3 -4
- package/dist/{raw-provider-sink-75w4FWBj.js.map → raw-provider-sink-DDLkP_eF.js.map} +1 -1
- package/dist/{record-id-DUgsK5qp.js → record-id-CWZXFh58.js} +2 -3
- package/dist/{record-id-DUgsK5qp.js.map → record-id-CWZXFh58.js.map} +1 -1
- package/dist/{redact-DXdlFb_U.d.ts → redact-C_wzC4c_.d.ts} +1 -3
- package/dist/redact-C_wzC4c_.d.ts.map +1 -0
- package/dist/{redact-mtkTiJVk.js → redact-D6APJS1d.js} +3 -5
- package/dist/{redact-mtkTiJVk.js.map → redact-D6APJS1d.js.map} +1 -1
- package/dist/{registry-BcdJmyoU.d.ts → registry-dhdDoAV8.d.ts} +5 -11
- package/dist/registry-dhdDoAV8.d.ts.map +1 -0
- package/dist/{release-confidence-CYIFH-fp.js → release-confidence-CTUJz5mM.js} +10 -16
- package/dist/release-confidence-CTUJz5mM.js.map +1 -0
- package/dist/{render-BhJqXoBH.js → render-pfAZ7IR4.js} +266 -33
- package/dist/render-pfAZ7IR4.js.map +1 -0
- package/dist/{reporting-html-Kvlc8oMt.js → reporting-html-DMXIjATy.js} +2 -3
- package/dist/{reporting-html-Kvlc8oMt.js.map → reporting-html-DMXIjATy.js.map} +1 -1
- package/dist/reporting.d.ts +6 -6
- package/dist/reporting.js +7 -7
- package/dist/{researcher-DKWtoMWk.d.ts → researcher-CLnNJ7Or.d.ts} +8 -12
- package/dist/researcher-CLnNJ7Or.d.ts.map +1 -0
- package/dist/{reward-nw2xZGZG.js → reward-P0VD_Aft.js} +2 -3
- package/dist/{reward-nw2xZGZG.js.map → reward-P0VD_Aft.js.map} +1 -1
- package/dist/{reward-BeUgVVC_.d.ts → reward-ST4PXNXF.d.ts} +2 -4
- package/dist/reward-ST4PXNXF.d.ts.map +1 -0
- package/dist/{reward-hacking-WTxUbtbb.d.ts → reward-hacking-C9hPVT0Q.d.ts} +4 -8
- package/dist/reward-hacking-C9hPVT0Q.d.ts.map +1 -0
- package/dist/{reward-hacking-ByuETaIb.js → reward-hacking-DZzHZlS1.js} +5 -7
- package/dist/{reward-hacking-ByuETaIb.js.map → reward-hacking-DZzHZlS1.js.map} +1 -1
- package/dist/rl.d.ts +26 -63
- package/dist/rl.d.ts.map +1 -1
- package/dist/rl.js +35 -52
- package/dist/rl.js.map +1 -1
- package/dist/{rolldown-runtime-8H4AJuhK.js → rolldown-runtime-BJohB4LM.js} +1 -2
- package/dist/rollout/index.d.ts +6 -6
- package/dist/rollout/index.js +7 -7
- package/dist/{rollout-Dd1ucT_M.js → rollout-BhkMpAJT.js} +279 -16
- package/dist/rollout-BhkMpAJT.js.map +1 -0
- package/dist/{terminal-record-CB9BFtjS.js → rollout-nodes-BHR9Q5jP.js} +351 -11
- package/dist/rollout-nodes-BHR9Q5jP.js.map +1 -0
- package/dist/{round-decimal-COrKglMh.js → round-decimal-ZmjAQPo1.js} +2 -3
- package/dist/{round-decimal-COrKglMh.js.map → round-decimal-ZmjAQPo1.js.map} +1 -1
- package/dist/{rubric-predictive-validity-Cd5SCtAf.d.ts → rubric-predictive-validity-B3RzbwOx.d.ts} +2 -8
- package/dist/rubric-predictive-validity-B3RzbwOx.d.ts.map +1 -0
- package/dist/{rubric-predictive-validity-CeKW2GQN.js → rubric-predictive-validity-CQp_M0vy.js} +3 -4
- package/dist/{rubric-predictive-validity-CeKW2GQN.js.map → rubric-predictive-validity-CQp_M0vy.js.map} +1 -1
- package/dist/{run-record-CysKLB93.js → run-record-CZy4-TnZ.js} +4 -5
- package/dist/{run-record-CysKLB93.js.map → run-record-CZy4-TnZ.js.map} +1 -1
- package/dist/{run-record-C3awiXPf.d.ts → run-record-D2BFMPGl.d.ts} +5 -7
- package/dist/run-record-D2BFMPGl.d.ts.map +1 -0
- package/dist/{run-record-DhEJgoPz.js → run-record-DEjx43cI.js} +6 -7
- package/dist/{run-record-DhEJgoPz.js.map → run-record-DEjx43cI.js.map} +1 -1
- package/dist/{sandbox-harness-BlSOu4LX.d.ts → sandbox-harness-B3Kx1fOA.d.ts} +1 -3
- package/dist/sandbox-harness-B3Kx1fOA.d.ts.map +1 -0
- package/dist/{schema-D6EVKzTB.d.ts → schema-CkIvnmLU.d.ts} +2 -43
- package/dist/schema-CkIvnmLU.d.ts.map +1 -0
- package/dist/{schema-Bt2vLFm3.js → schema-D-xu3MU_.js} +2 -3
- package/dist/{schema-Bt2vLFm3.js.map → schema-D-xu3MU_.js.map} +1 -1
- package/dist/{schema-C-ziyJD7.d.ts → schema-DkFJr3Y8.d.ts} +111 -48
- package/dist/schema-DkFJr3Y8.d.ts.map +1 -0
- package/dist/{schema-CvhfLjtZ.js → schema-YUIXT8iW.js} +37 -7
- package/dist/schema-YUIXT8iW.js.map +1 -0
- package/dist/search/index.d.ts +3 -35
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +4 -5
- package/dist/{search-kernel-CctpiDd2.d.ts → search-kernel-CBdwFZ05.d.ts} +10 -36
- package/dist/search-kernel-CBdwFZ05.d.ts.map +1 -0
- package/dist/{search-ledger-CZRqtFbW.js → search-ledger-BsVi-Ngv.js} +17 -26
- package/dist/{search-ledger-CZRqtFbW.js.map → search-ledger-BsVi-Ngv.js.map} +1 -1
- package/dist/{search-ledger-file-Bd5Tioq6.js → search-ledger-file-DTBD6X-y.js} +6 -8
- package/dist/{search-ledger-file-Bd5Tioq6.js.map → search-ledger-file-DTBD6X-y.js.map} +1 -1
- package/dist/{search-ledger-types-p2xKfiDJ.d.ts → search-ledger-types-qiYRUo_N.d.ts} +5 -9
- package/dist/search-ledger-types-qiYRUo_N.d.ts.map +1 -0
- package/dist/{search-shipper-Dn3NLsuH.js → search-shipper-pdg4viK7.js} +8 -13
- package/dist/{search-shipper-Dn3NLsuH.js.map → search-shipper-pdg4viK7.js.map} +1 -1
- package/dist/{search-summary-D4bwYnAE.js → search-summary-Ct7SrmVc.js} +6 -7
- package/dist/{search-summary-D4bwYnAE.js.map → search-summary-Ct7SrmVc.js.map} +1 -1
- package/dist/{sequential-CimQrbjv.js → sequential-B1I0tRfL.js} +6 -7
- package/dist/{sequential-CimQrbjv.js.map → sequential-B1I0tRfL.js.map} +1 -1
- package/dist/{sequential-KwGspfeR.d.ts → sequential-Bb_pdTqG.d.ts} +1 -3
- package/dist/sequential-Bb_pdTqG.d.ts.map +1 -0
- package/dist/{sequential-BVv1sjsw.js → sequential-Bjs5roiK.js} +2 -3
- package/dist/{sequential-BVv1sjsw.js.map → sequential-Bjs5roiK.js.map} +1 -1
- package/dist/{sequential-eprocess-DodI6RoF.js → sequential-eprocess-C1YLwFaz.js} +3 -4
- package/dist/{sequential-eprocess-DodI6RoF.js.map → sequential-eprocess-C1YLwFaz.js.map} +1 -1
- package/dist/{server-ChhXPCgX.js → server-DA6h3co5.js} +11 -17
- package/dist/{server-ChhXPCgX.js.map → server-DA6h3co5.js.map} +1 -1
- package/dist/{single-run-lock-Dekd8_Wv.js → single-run-lock-BGlW3OSk.js} +3 -4
- package/dist/{single-run-lock-Dekd8_Wv.js.map → single-run-lock-BGlW3OSk.js.map} +1 -1
- package/dist/{skillopt-optimization-method-sB_-yi1G.js → skillopt-optimization-method-qB1M554K.js} +38 -57
- package/dist/{skillopt-optimization-method-sB_-yi1G.js.map → skillopt-optimization-method-qB1M554K.js.map} +1 -1
- package/dist/{spans-CVngGij3.d.ts → spans-vZoW__3q.d.ts} +2 -4
- package/dist/spans-vZoW__3q.d.ts.map +1 -0
- package/dist/{statistical-heldout-BjzSOmLH.d.ts → statistical-heldout-Cei036nE.d.ts} +9 -37
- package/dist/statistical-heldout-Cei036nE.d.ts.map +1 -0
- package/dist/{statistical-heldout-Bksv92Th.js → statistical-heldout-TP6ndL0B.js} +4 -5
- package/dist/{statistical-heldout-Bksv92Th.js.map → statistical-heldout-TP6ndL0B.js.map} +1 -1
- package/dist/{steps-DlepJPwD.d.ts → steps-B8fYY_Vo.d.ts} +1 -3
- package/dist/steps-B8fYY_Vo.d.ts.map +1 -0
- package/dist/{store-B3nWRy3B.d.ts → store-CMs5wGXP.d.ts} +2 -4
- package/dist/store-CMs5wGXP.d.ts.map +1 -0
- package/dist/{store-BhNuLdJw.js → store-ZykIyQmy.js} +2 -3
- package/dist/{store-BhNuLdJw.js.map → store-ZykIyQmy.js.map} +1 -1
- package/dist/{store-otlp-CFf27E8_.js → store-otlp-DmLm65XW.js} +8 -13
- package/dist/{store-otlp-CFf27E8_.js.map → store-otlp-DmLm65XW.js.map} +1 -1
- package/dist/{store-tool-spans-DxsFwtdr.d.ts → store-tool-spans-B3i3fl0A.d.ts} +11 -29
- package/dist/store-tool-spans-B3i3fl0A.d.ts.map +1 -0
- package/dist/{store-tool-spans-BK_8FjGG.js → store-tool-spans-C2g8UYm-.js} +17 -41
- package/dist/{store-tool-spans-BK_8FjGG.js.map → store-tool-spans-C2g8UYm-.js.map} +1 -1
- package/dist/storyboard/index.d.ts +1 -5
- package/dist/storyboard/index.d.ts.map +1 -1
- package/dist/storyboard/index.js +3 -5
- package/dist/storyboard/index.js.map +1 -1
- package/dist/{summary-report-C8V49Jt3.d.ts → summary-report-0La5vejY.d.ts} +5 -13
- package/dist/summary-report-0La5vejY.d.ts.map +1 -0
- package/dist/{summary-report-DHDWxe6p.js → summary-report-CPfsrLac.js} +21 -30
- package/dist/summary-report-CPfsrLac.js.map +1 -0
- package/dist/supervisor-run/index.d.ts +30 -29
- package/dist/supervisor-run/index.d.ts.map +1 -1
- package/dist/supervisor-run/index.js +6 -7
- package/dist/{systemone-CHnqwmYg.d.ts → systemone-Cw2txK5m.d.ts} +12 -24
- package/dist/systemone-Cw2txK5m.d.ts.map +1 -0
- package/dist/{systemone-protocol-Bl2EI2KQ.d.ts → systemone-protocol-C4t7JH4Y.d.ts} +1 -3
- package/dist/systemone-protocol-C4t7JH4Y.d.ts.map +1 -0
- package/dist/systemone-protocol.d.ts +1 -1
- package/dist/systemone-protocol.js +2 -3
- package/dist/{systemone-review-cQ9acAsb.d.ts → systemone-review-BLgxt-4Q.d.ts} +8 -10
- package/dist/systemone-review-BLgxt-4Q.d.ts.map +1 -0
- package/dist/{systemone-review-DFGtIUcf.js → systemone-review-S49gsy_y.js} +5 -6
- package/dist/{systemone-review-DFGtIUcf.js.map → systemone-review-S49gsy_y.js.map} +1 -1
- package/dist/systemone.d.ts +4 -4
- package/dist/systemone.js +3 -3
- package/dist/{task-failure-attributes-BMsblaDh.js → task-failure-attributes-CC6VuIpk.js} +12 -11
- package/dist/task-failure-attributes-CC6VuIpk.js.map +1 -0
- package/dist/{tool-groups-b3oU_D88.d.ts → tool-groups-C3K-d3gd.d.ts} +3 -5
- package/dist/tool-groups-C3K-d3gd.d.ts.map +1 -0
- package/dist/{tool-waste-CkjzWmeY.d.ts → tool-waste-BFG1vwTV.d.ts} +4 -16
- package/dist/tool-waste-BFG1vwTV.d.ts.map +1 -0
- package/dist/{tool-waste-DLsjS_p-.js → tool-waste-CLJ46AbT.js} +10 -26
- package/dist/{tool-waste-DLsjS_p-.js.map → tool-waste-CLJ46AbT.js.map} +1 -1
- package/dist/trace-attributes.d.ts +1 -1
- package/dist/trace-attributes.js +1 -2
- package/dist/{trace-questions-BmT8M6UQ.d.ts → trace-questions-ej5AEJ5X.d.ts} +4 -6
- package/dist/trace-questions-ej5AEJ5X.d.ts.map +1 -0
- package/dist/trace-repair/index.d.ts +46 -92
- package/dist/trace-repair/index.d.ts.map +1 -1
- package/dist/trace-repair/index.js +32 -54
- package/dist/trace-repair/index.js.map +1 -1
- package/dist/traces.d.ts +13 -29
- package/dist/traces.d.ts.map +1 -1
- package/dist/traces.js +18 -22
- package/dist/traces.js.map +1 -1
- package/dist/{trajectory-D_7rLrvE.js → trajectory-O3GDHmev.js} +2 -3
- package/dist/{trajectory-D_7rLrvE.js.map → trajectory-O3GDHmev.js.map} +1 -1
- package/dist/trajectory-replay/index.d.ts +2 -22
- package/dist/trajectory-replay/index.d.ts.map +1 -1
- package/dist/trajectory-replay/index.js +19 -30
- package/dist/trajectory-replay/index.js.map +1 -1
- package/dist/{tree-DSqwJpL9.js → tree-DrIChF4a.js} +39 -68
- package/dist/{tree-DSqwJpL9.js.map → tree-DrIChF4a.js.map} +1 -1
- package/dist/{types-B_IFcKp5.d.ts → types-0KglnQ9o.d.ts} +3 -15
- package/dist/types-0KglnQ9o.d.ts.map +1 -0
- package/dist/{types-DZ0mYVw9.d.ts → types-0oMg7zee.d.ts} +3 -5
- package/dist/types-0oMg7zee.d.ts.map +1 -0
- package/dist/{types-CnWmj8NW.js → types-BK0blWhe.js} +3 -4
- package/dist/{types-CnWmj8NW.js.map → types-BK0blWhe.js.map} +1 -1
- package/dist/{types-CmXY0PQf.d.ts → types-C-aOqgt2.d.ts} +2 -5
- package/dist/types-C-aOqgt2.d.ts.map +1 -0
- package/dist/{types-M6eF9m-r.d.ts → types-C54Uk_a1.d.ts} +84 -24
- package/dist/types-C54Uk_a1.d.ts.map +1 -0
- package/dist/{types-BXgASBCL.js → types-DK4vNv5q.js} +2 -3
- package/dist/{types-BXgASBCL.js.map → types-DK4vNv5q.js.map} +1 -1
- package/dist/{types-6Lfdlshp.d.ts → types-DzCO-S1m.d.ts} +50 -62
- package/dist/types-DzCO-S1m.d.ts.map +1 -0
- package/dist/{verdict-BGQmxQ8A.js → verdict-C8TcdwfD.js} +3 -4
- package/dist/{verdict-BGQmxQ8A.js.map → verdict-C8TcdwfD.js.map} +1 -1
- package/dist/{verdict-C24NELtN.d.ts → verdict-D_qiBQ6_.d.ts} +1 -5
- package/dist/verdict-D_qiBQ6_.d.ts.map +1 -0
- package/dist/{verdict-cache-CL_7tePD.js → verdict-cache-BVH-fl18.js} +3 -4
- package/dist/{verdict-cache-CL_7tePD.js.map → verdict-cache-BVH-fl18.js.map} +1 -1
- package/dist/wire/index.d.ts +43 -51
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +1 -2
- package/docs/concepts.md +1 -0
- package/docs/eval-surface-map.md +15 -0
- package/docs/rollout.md +132 -6
- package/package.json +18 -18
- package/dist/adversarial-smnADNFS.d.ts.map +0 -1
- package/dist/agent-profile-CNmwfaqq.d.ts.map +0 -1
- package/dist/agent-profile-cell-BcpFbNd5.d.ts.map +0 -1
- package/dist/analyze-runs-DfX6dHP0.d.ts.map +0 -1
- package/dist/attribute-vocabulary-CcXqHODT.d.ts.map +0 -1
- package/dist/benchmark-command-Cnjfo0Zh.js.map +0 -1
- package/dist/campaign-evidence-DunzcJGv.js.map +0 -1
- package/dist/campaign-uddTlFg5.js.map +0 -1
- package/dist/canonical-CFpojCN5.d.ts.map +0 -1
- package/dist/client-hwo3cJjR.d.ts.map +0 -1
- package/dist/completion-verifier-asaV1nSj.js.map +0 -1
- package/dist/cost-ledger-C1W3ICmP.d.ts.map +0 -1
- package/dist/dataset-DQqhOCPt.d.ts.map +0 -1
- package/dist/default-registry-CLG5YqGS.d.ts.map +0 -1
- package/dist/define-agent-eval-JKt3gMQr.d.ts.map +0 -1
- package/dist/descriptive-B2iPaT9J.d.ts +0 -89
- package/dist/descriptive-B2iPaT9J.d.ts.map +0 -1
- package/dist/descriptive-CVNy48rR.js.map +0 -1
- package/dist/emitter-DABYYTcH.d.ts.map +0 -1
- package/dist/engine-dtRVeuQs.d.ts.map +0 -1
- package/dist/errors-DEE6u6ot.d.ts.map +0 -1
- package/dist/evaluation-DblGquCB.d.ts.map +0 -1
- package/dist/exact-types-Do63KoKn.d.ts.map +0 -1
- package/dist/exporters-DWvM16LE.js.map +0 -1
- package/dist/exporters-Dk3oEbK_.d.ts.map +0 -1
- package/dist/failure-cluster-DN0t63Z0.d.ts.map +0 -1
- package/dist/feedback-trajectory-CYVJXolG.d.ts.map +0 -1
- package/dist/hf-dataset-CKxIJQba.js.map +0 -1
- package/dist/index-CHxwfW5g.d.ts.map +0 -1
- package/dist/index-CTIRz-AB.d.ts.map +0 -1
- package/dist/index-CalAsXMR.d.ts.map +0 -1
- package/dist/index-CdEVr8-O.d.ts.map +0 -1
- package/dist/index-CfJULcW5.d.ts.map +0 -1
- package/dist/index-D7fmC-1K.d.ts.map +0 -1
- package/dist/index-jnuFLxOs.d.ts.map +0 -1
- package/dist/integrity-D-s2iHiT.js.map +0 -1
- package/dist/integrity-D9lBnv_K.d.ts.map +0 -1
- package/dist/interval-ohuOJurX.d.ts.map +0 -1
- package/dist/judge-calibration-DFtEMlde.d.ts.map +0 -1
- package/dist/llm-judge-Cybq29bL.js.map +0 -1
- package/dist/lock-holder-DaJbfpci.d.ts.map +0 -1
- package/dist/matrix-B8l-Nsxd.js.map +0 -1
- package/dist/matrix-DtkZLD_3.d.ts.map +0 -1
- package/dist/mint-CkzpVPdz.d.ts +0 -81
- package/dist/mint-CkzpVPdz.d.ts.map +0 -1
- package/dist/multi-layer-verifier-DEgMUk6v.d.ts.map +0 -1
- package/dist/multiplicity-DIWHvysC.d.ts.map +0 -1
- package/dist/paired-promotion-decision-CQMJ5xGN.d.ts.map +0 -1
- package/dist/pareto-BiBnQXAE.js.map +0 -1
- package/dist/prime-bridge-transport-6feEglLf.d.ts.map +0 -1
- package/dist/prime-protocol-BGxjfhM4.d.ts.map +0 -1
- package/dist/promotion-gate-CkVZHagC.d.ts.map +0 -1
- package/dist/query-Cmv_U8vf.d.ts.map +0 -1
- package/dist/random-DGEyr3zG.d.ts.map +0 -1
- package/dist/redact-DXdlFb_U.d.ts.map +0 -1
- package/dist/registry-BcdJmyoU.d.ts.map +0 -1
- package/dist/release-confidence-CYIFH-fp.js.map +0 -1
- package/dist/render-BhJqXoBH.js.map +0 -1
- package/dist/researcher-DKWtoMWk.d.ts.map +0 -1
- package/dist/reward-BeUgVVC_.d.ts.map +0 -1
- package/dist/reward-hacking-WTxUbtbb.d.ts.map +0 -1
- package/dist/rollout-Dd1ucT_M.js.map +0 -1
- package/dist/rubric-predictive-validity-Cd5SCtAf.d.ts.map +0 -1
- package/dist/run-record-C3awiXPf.d.ts.map +0 -1
- package/dist/sandbox-harness-BlSOu4LX.d.ts.map +0 -1
- package/dist/schema-C-ziyJD7.d.ts.map +0 -1
- package/dist/schema-CvhfLjtZ.js.map +0 -1
- package/dist/schema-D6EVKzTB.d.ts.map +0 -1
- package/dist/search-kernel-CctpiDd2.d.ts.map +0 -1
- package/dist/search-ledger-types-p2xKfiDJ.d.ts.map +0 -1
- package/dist/sequential-KwGspfeR.d.ts.map +0 -1
- package/dist/spans-CVngGij3.d.ts.map +0 -1
- package/dist/statistical-heldout-BjzSOmLH.d.ts.map +0 -1
- package/dist/steps-DlepJPwD.d.ts.map +0 -1
- package/dist/store-B3nWRy3B.d.ts.map +0 -1
- package/dist/store-tool-spans-DxsFwtdr.d.ts.map +0 -1
- package/dist/summary-report-C8V49Jt3.d.ts.map +0 -1
- package/dist/summary-report-DHDWxe6p.js.map +0 -1
- package/dist/systemone-CHnqwmYg.d.ts.map +0 -1
- package/dist/systemone-protocol-Bl2EI2KQ.d.ts.map +0 -1
- package/dist/systemone-review-cQ9acAsb.d.ts.map +0 -1
- package/dist/task-failure-attributes-BMsblaDh.js.map +0 -1
- package/dist/terminal-record-CB9BFtjS.js.map +0 -1
- package/dist/tool-groups-b3oU_D88.d.ts.map +0 -1
- package/dist/tool-waste-CkjzWmeY.d.ts.map +0 -1
- package/dist/trace-questions-BmT8M6UQ.d.ts.map +0 -1
- package/dist/types-6Lfdlshp.d.ts.map +0 -1
- package/dist/types-B_IFcKp5.d.ts.map +0 -1
- package/dist/types-CmXY0PQf.d.ts.map +0 -1
- package/dist/types-DZ0mYVw9.d.ts.map +0 -1
- package/dist/types-M6eF9m-r.d.ts.map +0 -1
- package/dist/verdict-C24NELtN.d.ts.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { a as assertMinted, c as assertRolloutLine, d as isTrainableSplit, h as GATE_POLICIES, m as GATE_CHECK_IDS, n as ROLLOUT_ROLES, r as ROLLOUT_SCHEMA, v as undeclaredStepPayload } from "./schema-
|
|
2
|
-
import { a as toRftItems, o as toSftRows, r as toJsonl, s as toVerifiersRolloutOutputs } from "./exporters-
|
|
1
|
+
import { a as assertMinted, c as assertRolloutLine, d as isTrainableSplit, h as GATE_POLICIES, m as GATE_CHECK_IDS, n as ROLLOUT_ROLES, r as ROLLOUT_SCHEMA, v as undeclaredStepPayload, x as licenseClassOf } from "./schema-YUIXT8iW.js";
|
|
2
|
+
import { a as toRftItems, o as toSftRows, r as toJsonl, s as toVerifiersRolloutOutputs } from "./exporters-ByLcILYU.js";
|
|
3
3
|
import { basename, dirname, join } from "node:path";
|
|
4
4
|
import { spawnSync } from "node:child_process";
|
|
5
|
-
import { appendFile, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
6
|
-
|
|
5
|
+
import { appendFile, mkdir, readFile, stat, writeFile } from "node:fs/promises";
|
|
6
|
+
import { claudeCodeRefForFile, codexRefForFile, kimiRefForFile, listReaders, opencodeSessionsInStore, piRefForFile, readerFor, toChatMessages } from "@tangle-network/harness-sessions";
|
|
7
|
+
// src/rollout/ledger.ts
|
|
7
8
|
/**
|
|
8
9
|
* Rollout-ledger file API — append-only JSONL of validated `tangle.rollout.v1`
|
|
9
10
|
* lines. Writes validate BEFORE touching disk (a bad line never lands);
|
|
@@ -49,6 +50,17 @@ async function appendRolloutLines(path, lines) {
|
|
|
49
50
|
async function readRolloutLedger(path) {
|
|
50
51
|
return readLines(path, (parsed, context) => assertMinted(parsed, context));
|
|
51
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Read under the write policy: imported and supervision rows whose positive
|
|
55
|
+
* rewards no realness screen has seen stay readable, as they were writable.
|
|
56
|
+
* Not training input until a screen mints them.
|
|
57
|
+
*/
|
|
58
|
+
async function readRolloutJournal(path) {
|
|
59
|
+
return readLines(path, (parsed, context) => {
|
|
60
|
+
assertRolloutLine(parsed, context);
|
|
61
|
+
return parsed;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
52
64
|
async function readLines(path, admit) {
|
|
53
65
|
const raw = await readFile(path, "utf8");
|
|
54
66
|
const lines = [];
|
|
@@ -66,8 +78,243 @@ async function readLines(path, admit) {
|
|
|
66
78
|
}
|
|
67
79
|
return lines;
|
|
68
80
|
}
|
|
69
|
-
|
|
70
|
-
|
|
81
|
+
// src/rollout/readers/gate-receipts.ts
|
|
82
|
+
/**
|
|
83
|
+
* `beelink-gate` receipts (`~/.local/state/beelink-gate/receipts.jsonl`) as
|
|
84
|
+
* verifiable labels: one `judge` row per gated (repo, head SHA, command), with
|
|
85
|
+
* reward 1 for exit 0 and 0 for any other recorded exit. A gate that did not
|
|
86
|
+
* run its command to a verdict — exit 75 (TEMPFAIL), a timeout, the watchdog —
|
|
87
|
+
* labels nothing and is skipped. The row carries no transcript; it labels the
|
|
88
|
+
* commit, and joins to the sessions that produced it by `task.instance_id`.
|
|
89
|
+
*/
|
|
90
|
+
const TEMPFAIL = 75;
|
|
91
|
+
async function gateReceiptRolloutLines(path, capturedAt = (/* @__PURE__ */ new Date()).toISOString()) {
|
|
92
|
+
const lines = [];
|
|
93
|
+
let skipped = 0;
|
|
94
|
+
for (const raw of (await readFile(path, "utf8")).split("\n")) {
|
|
95
|
+
if (!raw.trim()) continue;
|
|
96
|
+
let r;
|
|
97
|
+
try {
|
|
98
|
+
r = JSON.parse(raw);
|
|
99
|
+
} catch {
|
|
100
|
+
skipped += 1;
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
const { repo, sha, exit, gate_id: gateId } = r;
|
|
104
|
+
if (typeof repo !== "string" || typeof sha !== "string" || !/^[0-9a-f]{40}$/u.test(sha) || typeof exit !== "number" || exit === TEMPFAIL || r.timed_out === true || r.watchdog === true) {
|
|
105
|
+
skipped += 1;
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
const id = typeof gateId === "string" ? `beelink-gate:${gateId}` : `beelink-gate:${sha}:${r.at}`;
|
|
109
|
+
lines.push({
|
|
110
|
+
schema: ROLLOUT_SCHEMA,
|
|
111
|
+
rollout_id: id,
|
|
112
|
+
parent_rollout_id: null,
|
|
113
|
+
run_id: id,
|
|
114
|
+
experiment_id: null,
|
|
115
|
+
candidate_id: null,
|
|
116
|
+
generation: null,
|
|
117
|
+
candidate_index: null,
|
|
118
|
+
role: "judge",
|
|
119
|
+
task: {
|
|
120
|
+
suite: `beelink-gate/${repo}`,
|
|
121
|
+
instance_id: sha,
|
|
122
|
+
split: "search",
|
|
123
|
+
seed: null,
|
|
124
|
+
rep: 0
|
|
125
|
+
},
|
|
126
|
+
policy: {
|
|
127
|
+
harness: "beelink-gate",
|
|
128
|
+
harness_version: null,
|
|
129
|
+
model: null,
|
|
130
|
+
provider: null,
|
|
131
|
+
profile_commit: sha,
|
|
132
|
+
sampling: null
|
|
133
|
+
},
|
|
134
|
+
messages: [],
|
|
135
|
+
tool_defs: [],
|
|
136
|
+
outcome: {
|
|
137
|
+
reward: exit === 0 ? 1 : 0,
|
|
138
|
+
reward_source: "beelink-gate/exit",
|
|
139
|
+
verdict: {
|
|
140
|
+
exit,
|
|
141
|
+
command: r.command ?? null,
|
|
142
|
+
mode: r.mode ?? null,
|
|
143
|
+
class: r.class ?? null,
|
|
144
|
+
pr_number: r.pr_number ?? null,
|
|
145
|
+
base_sha: r.base_sha ?? null,
|
|
146
|
+
lane: r.lane ?? null,
|
|
147
|
+
host: r.host ?? null,
|
|
148
|
+
at: r.at ?? null
|
|
149
|
+
},
|
|
150
|
+
metrics: {},
|
|
151
|
+
is_completed: true,
|
|
152
|
+
is_truncated: false,
|
|
153
|
+
error: null,
|
|
154
|
+
realness_gated: false,
|
|
155
|
+
realness_screened: false
|
|
156
|
+
},
|
|
157
|
+
cost: {
|
|
158
|
+
usd: null,
|
|
159
|
+
tokens_in: null,
|
|
160
|
+
tokens_out: null,
|
|
161
|
+
tokens_reasoning: null,
|
|
162
|
+
cache_read: null,
|
|
163
|
+
cache_write: null,
|
|
164
|
+
wall_s: typeof r.ran_s === "number" ? r.ran_s : null
|
|
165
|
+
},
|
|
166
|
+
artifacts: {
|
|
167
|
+
patch_path: null,
|
|
168
|
+
run_dir: null,
|
|
169
|
+
transcript_ref: null
|
|
170
|
+
},
|
|
171
|
+
provenance: {
|
|
172
|
+
captured_at: capturedAt,
|
|
173
|
+
capture: "backfill",
|
|
174
|
+
gap: `gate receipt: verifiable label for ${repo}@${sha}; no transcript`
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
lines,
|
|
180
|
+
skipped
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
// src/rollout/readers/harness-session-lines.ts
|
|
184
|
+
/**
|
|
185
|
+
* Native harness sessions (OpenCode, Kimi, Claude Code, Codex, Pi, Factory) as
|
|
186
|
+
* `tangle.rollout.v1` rows, through @tangle-network/harness-sessions — the one
|
|
187
|
+
* reader of those stores. A session carries no task verdict, so its reward is
|
|
188
|
+
* null and `provenance.gap` says so; a later labeler supplies the reward.
|
|
189
|
+
*
|
|
190
|
+
* The producer comes from the models that answered (`servedModels`), never from
|
|
191
|
+
* the request, and the license class from that model and the harness.
|
|
192
|
+
*/
|
|
193
|
+
const REF_FOR_FILE = {
|
|
194
|
+
"claude-code": (path) => claudeCodeRefForFile(path, null),
|
|
195
|
+
codex: codexRefForFile,
|
|
196
|
+
"kimi-code": kimiRefForFile,
|
|
197
|
+
pi: piRefForFile
|
|
198
|
+
};
|
|
199
|
+
/** Session refs under a HOME or store directory, or in one session file / OpenCode store. */
|
|
200
|
+
async function harnessSessionRefs(target, options = {}) {
|
|
201
|
+
const entry = await stat(target);
|
|
202
|
+
let refs;
|
|
203
|
+
if (entry.isDirectory()) {
|
|
204
|
+
const readers = options.harness ? [readerFor(options.harness)] : listReaders();
|
|
205
|
+
refs = [];
|
|
206
|
+
const locate = options.sinceMs === void 0 ? {} : { sinceMs: options.sinceMs };
|
|
207
|
+
for (const reader of readers) refs.push(...await reader.locate(target, locate));
|
|
208
|
+
} else if (/\.db$/u.test(target)) refs = await opencodeSessionsInStore(target, null, {});
|
|
209
|
+
else {
|
|
210
|
+
const refFor = options.harness ? REF_FOR_FILE[options.harness] : void 0;
|
|
211
|
+
if (refFor === void 0) throw new Error(`${target}: pass --harness (${Object.keys(REF_FOR_FILE).join("|")}) for a file`);
|
|
212
|
+
refs = [refFor(target)];
|
|
213
|
+
}
|
|
214
|
+
return options.sinceMs === void 0 ? refs : refs.filter((ref) => ref.mtimeMs >= options.sinceMs);
|
|
215
|
+
}
|
|
216
|
+
/** The model that answered most calls, split into provider and model. */
|
|
217
|
+
function producer(session) {
|
|
218
|
+
const [top] = Object.entries(session.servedModels).sort((a, b) => b[1] - a[1]);
|
|
219
|
+
if (top === void 0) return {
|
|
220
|
+
provider: null,
|
|
221
|
+
model: null
|
|
222
|
+
};
|
|
223
|
+
const call = session.modelCalls.find((c) => c.servedModel !== null && top[0].endsWith(c.servedModel));
|
|
224
|
+
return {
|
|
225
|
+
provider: call?.provider ?? null,
|
|
226
|
+
model: call?.servedModel ?? top[0]
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
const sum = (values) => values.some((v) => v !== null) ? values.reduce((a, v) => a + (v ?? 0), 0) : null;
|
|
230
|
+
/** One normalized session as a rollout row. */
|
|
231
|
+
function harnessSessionRolloutLine(session, ref, capturedAt = (/* @__PURE__ */ new Date()).toISOString()) {
|
|
232
|
+
const { provider, model } = producer(session);
|
|
233
|
+
const id = `${session.harness}:${session.nativeSessionId}`;
|
|
234
|
+
const startedMs = session.startedAt === null ? null : Date.parse(session.startedAt);
|
|
235
|
+
const endedMs = session.endedAt === null ? null : Date.parse(session.endedAt);
|
|
236
|
+
const line = {
|
|
237
|
+
schema: ROLLOUT_SCHEMA,
|
|
238
|
+
rollout_id: id,
|
|
239
|
+
parent_rollout_id: session.parentNativeSessionId === null ? null : `${session.harness}:${session.parentNativeSessionId}`,
|
|
240
|
+
run_id: id,
|
|
241
|
+
experiment_id: null,
|
|
242
|
+
candidate_id: null,
|
|
243
|
+
generation: null,
|
|
244
|
+
candidate_index: null,
|
|
245
|
+
role: "agent",
|
|
246
|
+
task: {
|
|
247
|
+
suite: `harness/${session.harness}`,
|
|
248
|
+
instance_id: session.nativeSessionId,
|
|
249
|
+
split: "search",
|
|
250
|
+
seed: null,
|
|
251
|
+
rep: 0
|
|
252
|
+
},
|
|
253
|
+
policy: {
|
|
254
|
+
harness: session.harness,
|
|
255
|
+
harness_version: null,
|
|
256
|
+
model,
|
|
257
|
+
provider,
|
|
258
|
+
profile_commit: null,
|
|
259
|
+
sampling: null
|
|
260
|
+
},
|
|
261
|
+
messages: toChatMessages(session),
|
|
262
|
+
tool_defs: [],
|
|
263
|
+
outcome: {
|
|
264
|
+
reward: null,
|
|
265
|
+
reward_source: null,
|
|
266
|
+
verdict: null,
|
|
267
|
+
metrics: {
|
|
268
|
+
ending: session.ending.status,
|
|
269
|
+
model_calls: session.modelCalls.length,
|
|
270
|
+
tool_calls: session.toolCalls.length,
|
|
271
|
+
served_models: session.servedModels
|
|
272
|
+
},
|
|
273
|
+
is_completed: session.ending.status === "completed",
|
|
274
|
+
is_truncated: ref.truncated === true,
|
|
275
|
+
error: session.ending.error?.message ?? null,
|
|
276
|
+
realness_gated: false
|
|
277
|
+
},
|
|
278
|
+
cost: {
|
|
279
|
+
usd: sum(session.modelCalls.map((c) => c.costUsd)),
|
|
280
|
+
tokens_in: session.usage?.input ?? null,
|
|
281
|
+
tokens_out: session.usage?.output ?? null,
|
|
282
|
+
tokens_reasoning: session.usage?.reasoning ?? null,
|
|
283
|
+
cache_read: session.usage?.cacheRead ?? null,
|
|
284
|
+
cache_write: session.usage?.cacheWrite ?? null,
|
|
285
|
+
wall_s: startedMs !== null && endedMs !== null && endedMs >= startedMs ? (endedMs - startedMs) / 1e3 : null,
|
|
286
|
+
llm_call_count: session.modelCalls.length
|
|
287
|
+
},
|
|
288
|
+
artifacts: {
|
|
289
|
+
patch_path: null,
|
|
290
|
+
run_dir: session.cwd,
|
|
291
|
+
transcript_ref: ref.path
|
|
292
|
+
},
|
|
293
|
+
provenance: {
|
|
294
|
+
captured_at: capturedAt,
|
|
295
|
+
capture: "backfill",
|
|
296
|
+
gap: "imported harness session: no task verdict"
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
const license = licenseClassOf(line);
|
|
300
|
+
if (license !== null) line.policy.license_class = license;
|
|
301
|
+
return line;
|
|
302
|
+
}
|
|
303
|
+
/** Read each ref in turn; a session its reader refuses is reported, never guessed. */
|
|
304
|
+
async function* harnessSessionRolloutLines(refs, capturedAt) {
|
|
305
|
+
for (const ref of refs) try {
|
|
306
|
+
yield {
|
|
307
|
+
ref,
|
|
308
|
+
line: harnessSessionRolloutLine(await readerFor(ref.harness).read(ref), ref, capturedAt)
|
|
309
|
+
};
|
|
310
|
+
} catch (error) {
|
|
311
|
+
yield {
|
|
312
|
+
ref,
|
|
313
|
+
error: error instanceof Error ? error.message : String(error)
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// src/rollout/release/gate-report.ts
|
|
71
318
|
const FORMAT_GATE_DISPOSITION = {
|
|
72
319
|
sft: "exclude",
|
|
73
320
|
verifiers: "zero-and-flag",
|
|
@@ -192,8 +439,7 @@ function assertGateReport(report) {
|
|
|
192
439
|
if (FORMAT_GATE_DISPOSITION[format] === "exclude" && counts.emitted > 0) throw new Error(`release format "${format}" declares gated lines EXCLUDED but wrote ${counts.emitted} of them.`);
|
|
193
440
|
}
|
|
194
441
|
}
|
|
195
|
-
|
|
196
|
-
//#region src/rollout/release/card.ts
|
|
442
|
+
// src/rollout/release/card.ts
|
|
197
443
|
/**
|
|
198
444
|
* HuggingFace dataset-card (README.md) generation for a rollout-ledger release.
|
|
199
445
|
*
|
|
@@ -360,7 +606,7 @@ function buildDatasetCard(inputs) {
|
|
|
360
606
|
|
|
361
607
|
One line per agent invocation (supervisor episode, worker session, proposer shot, judge call, analyst pass) captured by the \`${ROLLOUT_SCHEMA}\` rollout ledger, labeled with improvement-loop coordinates and the official-judge reward, with the full message transcript inline.
|
|
362
608
|
|
|
363
|
-
This release contains the **trainable split only** (\`search\`). Holdout, dev, and canary splits are structurally excluded at build time, and the build additionally drops any non-trainable line as a fail-closed filter (${excluded.nonTrain} dropped here).
|
|
609
|
+
This release contains the **trainable split only** (\`search\`). Holdout, dev, and canary splits are structurally excluded at build time, and the build additionally drops any non-trainable line as a fail-closed filter (${excluded.nonTrain} dropped here). Lines with any secret or private detail (${excluded.privacy}) are dropped whole, never redacted into the release.
|
|
364
610
|
|
|
365
611
|
## Formats
|
|
366
612
|
|
|
@@ -433,8 +679,7 @@ ${scrubTable}
|
|
|
433
679
|
\`\`\`
|
|
434
680
|
`;
|
|
435
681
|
}
|
|
436
|
-
|
|
437
|
-
//#region src/rollout/release/scrub.ts
|
|
682
|
+
// src/rollout/release/scrub.ts
|
|
438
683
|
/**
|
|
439
684
|
* Deterministic scrubbing pass over rollout-ledger lines before public release.
|
|
440
685
|
*
|
|
@@ -546,8 +791,93 @@ function scrubLines(lines) {
|
|
|
546
791
|
function defaultRolloutScrubber(text) {
|
|
547
792
|
return scrubText(text, emptyScrubCounts());
|
|
548
793
|
}
|
|
549
|
-
|
|
550
|
-
|
|
794
|
+
const scrubPattern = (name) => {
|
|
795
|
+
const rule = SCRUB_RULES.find((r) => r.name === name);
|
|
796
|
+
if (!rule) throw new Error(`no scrub rule "${name}"`);
|
|
797
|
+
return rule.pattern;
|
|
798
|
+
};
|
|
799
|
+
/** Bits per character over the token's own symbols. */
|
|
800
|
+
function entropy(token) {
|
|
801
|
+
const counts = /* @__PURE__ */ new Map();
|
|
802
|
+
for (const char of token) counts.set(char, (counts.get(char) ?? 0) + 1);
|
|
803
|
+
let bits = 0;
|
|
804
|
+
for (const count of counts.values()) {
|
|
805
|
+
const p = count / token.length;
|
|
806
|
+
bits -= p * Math.log2(p);
|
|
807
|
+
}
|
|
808
|
+
return bits;
|
|
809
|
+
}
|
|
810
|
+
const ENTROPY_TOKEN = /[A-Za-z0-9+=_-]{32,}/g;
|
|
811
|
+
const NAMED = /(?:^|[-_])[a-z]{4,}(?:$|[-_])/;
|
|
812
|
+
const highEntropy = (text) => {
|
|
813
|
+
for (const [token] of text.matchAll(ENTROPY_TOKEN)) {
|
|
814
|
+
if (NAMED.test(token)) continue;
|
|
815
|
+
if (/[A-Z]/.test(token) && /[a-z]/.test(token) && /\d/.test(token) && entropy(token) > 4.3) return true;
|
|
816
|
+
}
|
|
817
|
+
return false;
|
|
818
|
+
};
|
|
819
|
+
const EMAIL = /[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)*\.[A-Za-z]{2,}/g;
|
|
820
|
+
const NOT_PERSONAL_EMAIL = /^git@|@(?:[\w-]+\.)*example\.(?:com|org|net)$/i;
|
|
821
|
+
const email = (text) => {
|
|
822
|
+
for (const [match] of text.matchAll(EMAIL)) if (!NOT_PERSONAL_EMAIL.test(match)) return true;
|
|
823
|
+
return false;
|
|
824
|
+
};
|
|
825
|
+
const PRIVACY_RULES = [
|
|
826
|
+
...[
|
|
827
|
+
"api-key",
|
|
828
|
+
"env-secret",
|
|
829
|
+
"bearer-token"
|
|
830
|
+
].map((name) => {
|
|
831
|
+
const pattern = scrubPattern(name);
|
|
832
|
+
return {
|
|
833
|
+
name,
|
|
834
|
+
hit: (text) => text.search(pattern) >= 0
|
|
835
|
+
};
|
|
836
|
+
}),
|
|
837
|
+
{
|
|
838
|
+
name: "private-key",
|
|
839
|
+
hit: (text) => /-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----/.test(text)
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
name: "high-entropy",
|
|
843
|
+
hit: highEntropy
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
name: "email",
|
|
847
|
+
hit: email
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
name: "phone",
|
|
851
|
+
hit: (text) => /(?<![\d.])(?:\+?1[ .-]?)?\(?\d{3}\)?[ .-]\d{3}[ .-]\d{4}(?![\d.])/.test(text)
|
|
852
|
+
},
|
|
853
|
+
{
|
|
854
|
+
name: "postal-address",
|
|
855
|
+
hit: (text) => /\b\d{1,6}\s+(?:[NSEW]\.?\s+)?(?:[A-Z][a-z]+\s+){1,3}(?:Street|St|Avenue|Ave|Road|Rd|Boulevard|Blvd|Lane|Ln|Drive|Dr|Court|Ct|Place|Pl|Way|Terrace|Parkway|Pkwy)\b/.test(text)
|
|
856
|
+
}
|
|
857
|
+
];
|
|
858
|
+
const PRIVACY_RULE_NAMES = [...PRIVACY_RULES.map((rule) => rule.name), "denylist"];
|
|
859
|
+
function* stringsOf(value) {
|
|
860
|
+
if (typeof value === "string") yield value;
|
|
861
|
+
else if (Array.isArray(value)) for (const item of value) yield* stringsOf(item);
|
|
862
|
+
else if (value !== null && typeof value === "object") for (const item of Object.values(value)) yield* stringsOf(item);
|
|
863
|
+
}
|
|
864
|
+
/**
|
|
865
|
+
* The first privacy rule any string in `value` hits, or `null` when clean.
|
|
866
|
+
* `denylist` holds literal terms (names, addresses, numbers) matched without
|
|
867
|
+
* case; it is supplied at run time and never committed.
|
|
868
|
+
*/
|
|
869
|
+
function privacyHit(value, denylist = []) {
|
|
870
|
+
const terms = denylist.map((term) => term.toLowerCase()).filter(Boolean);
|
|
871
|
+
for (const text of stringsOf(value)) {
|
|
872
|
+
for (const rule of PRIVACY_RULES) if (rule.hit(text)) return rule.name;
|
|
873
|
+
if (terms.length > 0) {
|
|
874
|
+
const lower = text.toLowerCase();
|
|
875
|
+
if (terms.some((term) => lower.includes(term))) return "denylist";
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
return null;
|
|
879
|
+
}
|
|
880
|
+
// src/rollout/release/hf-dataset.ts
|
|
551
881
|
/**
|
|
552
882
|
* One-command HuggingFace dataset release from rollout ledgers:
|
|
553
883
|
*
|
|
@@ -556,7 +886,8 @@ function defaultRolloutScrubber(text) {
|
|
|
556
886
|
*
|
|
557
887
|
* Pipeline per input ledger: read + validate → fail-closed filters
|
|
558
888
|
* (trainable split only; proposer sessions dropped unless
|
|
559
|
-
* --include-proposers, they contain improvement-loop harness source
|
|
889
|
+
* --include-proposers, they contain improvement-loop harness source; any line
|
|
890
|
+
* with a secret or private detail, or a `--denylist` term, dropped whole) →
|
|
560
891
|
* deterministic scrub → export the requested formats + scrub-report.json +
|
|
561
892
|
* auto-generated README.md card. Deterministic: same inputs and flags →
|
|
562
893
|
* byte-identical output dir.
|
|
@@ -573,8 +904,10 @@ async function buildHfDataset(inputs, options) {
|
|
|
573
904
|
totals: emptyScrubCounts(),
|
|
574
905
|
excluded: {
|
|
575
906
|
proposers: 0,
|
|
576
|
-
nonTrain: 0
|
|
577
|
-
|
|
907
|
+
nonTrain: 0,
|
|
908
|
+
privacy: 0
|
|
909
|
+
},
|
|
910
|
+
dropped: Object.fromEntries(PRIVACY_RULE_NAMES.map((name) => [name, 0]))
|
|
578
911
|
};
|
|
579
912
|
const kept = [];
|
|
580
913
|
let read = 0;
|
|
@@ -590,6 +923,12 @@ async function buildHfDataset(inputs, options) {
|
|
|
590
923
|
report.excluded.proposers += 1;
|
|
591
924
|
return false;
|
|
592
925
|
}
|
|
926
|
+
const hit = privacyHit(line, options.denylist);
|
|
927
|
+
if (hit !== null) {
|
|
928
|
+
report.excluded.privacy += 1;
|
|
929
|
+
report.dropped[hit] = (report.dropped[hit] ?? 0) + 1;
|
|
930
|
+
return false;
|
|
931
|
+
}
|
|
593
932
|
return true;
|
|
594
933
|
}));
|
|
595
934
|
report.files[input] = scrubbed.counts;
|
|
@@ -688,14 +1027,15 @@ function pushDataset(repo, outDir) {
|
|
|
688
1027
|
const run = spawnSync(command, args, { stdio: "inherit" });
|
|
689
1028
|
if (run.status !== 0) throw new Error(`huggingface-cli upload exited ${String(run.status)}`);
|
|
690
1029
|
}
|
|
691
|
-
const ROLLOUT_RELEASE_USAGE = "usage: agent-eval rollout-release <ledger.jsonl...> --out <dir> [--formats sft,verifiers,rft,raw] [--include-proposers] [--push <org/name>]";
|
|
1030
|
+
const ROLLOUT_RELEASE_USAGE = "usage: agent-eval rollout-release <ledger.jsonl...> --out <dir> [--formats sft,verifiers,rft,raw] [--include-proposers] [--denylist <terms.txt>] [--push <org/name>]";
|
|
692
1031
|
function parseRolloutReleaseArgs(argv) {
|
|
693
1032
|
const args = {
|
|
694
1033
|
inputs: [],
|
|
695
1034
|
out: "",
|
|
696
1035
|
formats: [...RELEASE_FORMATS],
|
|
697
1036
|
includeProposers: false,
|
|
698
|
-
push: null
|
|
1037
|
+
push: null,
|
|
1038
|
+
denylistPath: null
|
|
699
1039
|
};
|
|
700
1040
|
for (let i = 0; i < argv.length; i++) {
|
|
701
1041
|
const arg = argv[i];
|
|
@@ -705,6 +1045,7 @@ function parseRolloutReleaseArgs(argv) {
|
|
|
705
1045
|
for (const format of raw) if (!RELEASE_FORMATS.includes(format)) throw new Error(`unknown format "${format}" — expected one of ${RELEASE_FORMATS.join(",")}`);
|
|
706
1046
|
args.formats = raw;
|
|
707
1047
|
} else if (arg === "--include-proposers") args.includeProposers = true;
|
|
1048
|
+
else if (arg === "--denylist") args.denylistPath = argv[++i] ?? null;
|
|
708
1049
|
else if (arg === "--push") args.push = argv[++i] ?? null;
|
|
709
1050
|
else if (arg.startsWith("--")) throw new Error(`unknown flag "${arg}"`);
|
|
710
1051
|
else args.inputs.push(arg);
|
|
@@ -722,6 +1063,7 @@ async function runRolloutReleaseCli(argv) {
|
|
|
722
1063
|
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
|
|
723
1064
|
return 2;
|
|
724
1065
|
}
|
|
1066
|
+
if (args.denylistPath !== null) args.denylist = (await readFile(args.denylistPath, "utf8")).split("\n").map((line) => line.replace(/#.*/, "").trim()).filter(Boolean);
|
|
725
1067
|
const summary = await buildHfDataset(args.inputs, args);
|
|
726
1068
|
process.stdout.write(`${JSON.stringify({
|
|
727
1069
|
read: summary.read,
|
|
@@ -737,7 +1079,6 @@ async function runRolloutReleaseCli(argv) {
|
|
|
737
1079
|
}
|
|
738
1080
|
return 0;
|
|
739
1081
|
}
|
|
740
|
-
|
|
741
|
-
export { scrubText as a, appendRolloutLines as c, scrubLines as i, readRolloutLedger as l, runRolloutReleaseCli as n, buildDatasetCard as o, defaultRolloutScrubber as r, assertGateReport as s, buildHfDataset as t, writeRolloutLedger as u };
|
|
1082
|
+
export { writeRolloutLedger as _, privacyHit as a, buildDatasetCard as c, harnessSessionRolloutLine as d, harnessSessionRolloutLines as f, readRolloutLedger as g, readRolloutJournal as h, defaultRolloutScrubber as i, assertGateReport as l, appendRolloutLines as m, runRolloutReleaseCli as n, scrubLines as o, gateReceiptRolloutLines as p, PRIVACY_RULE_NAMES as r, scrubText as s, buildHfDataset as t, harnessSessionRefs as u };
|
|
742
1083
|
|
|
743
|
-
//# sourceMappingURL=hf-dataset-
|
|
1084
|
+
//# sourceMappingURL=hf-dataset-DPVQXW5n.js.map
|