reeval 0.7.0 → 0.9.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/README.md +12 -12
- package/dist/{agent-Dhd5FJCZ.js → agent-6FefIhX7.js} +6 -6
- package/dist/{agent-Dhd5FJCZ.js.map → agent-6FefIhX7.js.map} +1 -1
- package/dist/{agent-gjBiZis8.js → agent-WSmTaesf.js} +52 -17
- package/dist/agent-WSmTaesf.js.map +1 -0
- package/dist/{analysis-BV3TCznv.js → analysis-DlGBDjTj.js} +4 -4
- package/dist/{analysis-BV3TCznv.js.map → analysis-DlGBDjTj.js.map} +1 -1
- package/dist/{assemble-Dd_mZYnu.js → assemble-BCZzTyR7.js} +259 -18
- package/dist/assemble-BCZzTyR7.js.map +1 -0
- package/dist/assemble-C5qq5yT2.js +2 -0
- package/dist/capture-Bp74Z6Fr.js +1257 -0
- package/dist/capture-Bp74Z6Fr.js.map +1 -0
- package/dist/capture-DS-cPyuE.js +2 -0
- package/dist/{cli-r9CDqoFL.js → cli-CVrMh_qz.js} +210 -112
- package/dist/cli-CVrMh_qz.js.map +1 -0
- package/dist/{cli-spec-DOyxAMc2.js → cli-spec-CKEYa8V2.js} +6 -5
- package/dist/cli-spec-CKEYa8V2.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/{client-LsfDiD-X.js → client-Bbo9SPlK.js} +31 -201
- package/dist/client-Bbo9SPlK.js.map +1 -0
- package/dist/{command-l4ZFCeMh.js → command-BFP0hKEb.js} +7 -7
- package/dist/{command-l4ZFCeMh.js.map → command-BFP0hKEb.js.map} +1 -1
- package/dist/command-BrmXUC-W.js +2 -0
- package/dist/{command-DMR69l5G.js → command-C5xFPKHM.js} +21 -20
- package/dist/command-C5xFPKHM.js.map +1 -0
- package/dist/{command-Cej2t3y-.js → command-CzIFp1JQ.js} +10 -10
- package/dist/{command-Cej2t3y-.js.map → command-CzIFp1JQ.js.map} +1 -1
- package/dist/{command-D6r2pwO5.js → command-DUT5l13I.js} +221 -54
- package/dist/command-DUT5l13I.js.map +1 -0
- package/dist/{commands-BA_NCh2h.js → commands-CLmPBrTS.js} +6 -6
- package/dist/{commands-BA_NCh2h.js.map → commands-CLmPBrTS.js.map} +1 -1
- package/dist/{commands-DgOUkcSO.js → commands-fI3G2Wnh.js} +1 -1
- package/dist/{config-DuQDCx0B.js → config-CGvBeewH.js} +18 -8
- package/dist/config-CGvBeewH.js.map +1 -0
- package/dist/{context-CvUv7DUb.js → context-DbSMEVKs.js} +1 -5
- package/dist/{context-CvUv7DUb.js.map → context-DbSMEVKs.js.map} +1 -1
- package/dist/{db-o_osRkqr.js → db-CSSFtGcN.js} +1 -1
- package/dist/{db-CjX7JF4o.js → db-CfQFwJtq.js} +209 -40
- package/dist/db-CfQFwJtq.js.map +1 -0
- package/dist/{docker-DaUaG4XZ.js → docker-CRQGQbIt.js} +17 -5
- package/dist/docker-CRQGQbIt.js.map +1 -0
- package/dist/{docker-ZaYeKE2w.js → docker-DV2GNgle.js} +2 -2
- package/dist/{docker-ZaYeKE2w.js.map → docker-DV2GNgle.js.map} +1 -1
- package/dist/{docker-Dnya8eo9.js → docker-Df_YOxxB.js} +1 -1
- package/dist/{doctor-Bk6aJeec.js → doctor-DlKycx5H.js} +13 -13
- package/dist/{doctor-Bk6aJeec.js.map → doctor-DlKycx5H.js.map} +1 -1
- package/dist/{egress-BKbyriEa.js → egress-BhzNh7Yi.js} +18 -10
- package/dist/egress-BhzNh7Yi.js.map +1 -0
- package/dist/{environment-DiCljXMD.js → environment-1jE-HhO-.js} +2 -2
- package/dist/{environment-DiCljXMD.js.map → environment-1jE-HhO-.js.map} +1 -1
- package/dist/fake-instructions-CUI33I_F.js +32 -0
- package/dist/fake-instructions-CUI33I_F.js.map +1 -0
- package/dist/family-D2b7WD10.js +67 -0
- package/dist/family-D2b7WD10.js.map +1 -0
- package/dist/files-AiEKuEZe.js +2 -0
- package/dist/files-BMCvfB4X.js +2 -0
- package/dist/{files-TNrZJQ3Y.js → files-CSzVADHn.js} +5 -5
- package/dist/{files-TNrZJQ3Y.js.map → files-CSzVADHn.js.map} +1 -1
- package/dist/{files-BSMSnQMa.js → files-DJUFg-4e.js} +3 -3
- package/dist/{files-BSMSnQMa.js.map → files-DJUFg-4e.js.map} +1 -1
- package/dist/{git-DNGtrOg9.js → git-DfG-YJ1u.js} +2 -2
- package/dist/{git-DNGtrOg9.js.map → git-DfG-YJ1u.js.map} +1 -1
- package/dist/{harness-CDRaaGvR.js → harness-CeCp2GSW.js} +52 -12
- package/dist/harness-CeCp2GSW.js.map +1 -0
- package/dist/harness.d.ts +26 -13
- package/dist/harness.js +1 -1
- package/dist/{header-BZF8Xss1.js → header-CALhmafp.js} +10 -3
- package/dist/{header-BZF8Xss1.js.map → header-CALhmafp.js.map} +1 -1
- package/dist/{images-BpwFDT1E.js → images-BMgdpMAX.js} +6 -6
- package/dist/{images-BpwFDT1E.js.map → images-BMgdpMAX.js.map} +1 -1
- package/dist/index.d.ts +17 -5
- package/dist/index.js +165 -67
- package/dist/index.js.map +1 -1
- package/dist/init-B6vegaP_.js +2 -0
- package/dist/{init-CBWt1rZT.js → init-BIdLF0F9.js} +4 -4
- package/dist/{init-CBWt1rZT.js.map → init-BIdLF0F9.js.map} +1 -1
- package/dist/{invocations-DArYWyXN.js → invocations-CLaL8AuW.js} +3 -3
- package/dist/{invocations-DArYWyXN.js.map → invocations-CLaL8AuW.js.map} +1 -1
- package/dist/{judge-7WjNdU9z.js → judge-CeYPN8P_.js} +2 -2
- package/dist/{judge-7WjNdU9z.js.map → judge-CeYPN8P_.js.map} +1 -1
- package/dist/judge.d.ts +5 -4
- package/dist/judge.js +4 -3
- package/dist/judge.js.map +1 -1
- package/dist/{live-DZkCtmNP.js → live-S0qODb6o.js} +2 -2
- package/dist/{live-DZkCtmNP.js.map → live-S0qODb6o.js.map} +1 -1
- package/dist/{model-Cp6NoAT3.js → model-B1BZoZ9b.js} +9 -8
- package/dist/model-B1BZoZ9b.js.map +1 -0
- package/dist/{model-DyQbu7KF.js → model-BOnlAPzs.js} +288 -38
- package/dist/model-BOnlAPzs.js.map +1 -0
- package/dist/{model-Bv8uUZ07.js → model-DEQo3FkZ.js} +6 -6
- package/dist/model-DEQo3FkZ.js.map +1 -0
- package/dist/model-DWeg5J7z.js +2 -0
- package/dist/{model-BeoRxCcJ.js → model-FXko2kl7.js} +1 -1
- package/dist/{options-Ge_x32XE.js → options-CKqyPGxX.js} +161 -34
- package/dist/options-CKqyPGxX.js.map +1 -0
- package/dist/pairs-DDsjgm5F.js +149 -0
- package/dist/pairs-DDsjgm5F.js.map +1 -0
- package/dist/{patch-CGCVipPu.js → patch-bDV8YFW0.js} +2 -2
- package/dist/{patch-CGCVipPu.js.map → patch-bDV8YFW0.js.map} +1 -1
- package/dist/{plan-BqBadHYj.js → plan-DUydFc_1.js} +69 -31
- package/dist/plan-DUydFc_1.js.map +1 -0
- package/dist/{preflight-CyaAZE9r.js → preflight-BkoSxf4C.js} +3 -3
- package/dist/{preflight-CyaAZE9r.js.map → preflight-BkoSxf4C.js.map} +1 -1
- package/dist/{preflight-CFtZNTLt.js → preflight-D5LW7Oqi.js} +1 -1
- package/dist/{prepare-Zr1xOMUX.js → prepare-CUAWHebF.js} +5 -5
- package/dist/{prepare-Zr1xOMUX.js.map → prepare-CUAWHebF.js.map} +1 -1
- package/dist/{prepare-Dl7-t3fO.js → prepare-oji2oO8W.js} +2 -2
- package/dist/process-CSVO_jsc.js +119 -0
- package/dist/process-CSVO_jsc.js.map +1 -0
- package/dist/{provenance-Byl2T6LJ.js → provenance-D7HK3vzt.js} +2 -2
- package/dist/{provenance-Byl2T6LJ.js.map → provenance-D7HK3vzt.js.map} +1 -1
- package/dist/{providers-Cflw7Ks-.js → providers-B1DzMvmH.js} +3 -3
- package/dist/{providers-Cflw7Ks-.js.map → providers-B1DzMvmH.js.map} +1 -1
- package/dist/{providers-SBMExI53.js → providers-CpEfNU1F.js} +1 -1
- package/dist/{query-DUSLlic0.js → query-BjBMLa-C.js} +2 -2
- package/dist/{query-DUSLlic0.js.map → query-BjBMLa-C.js.map} +1 -1
- package/dist/query-oPO_XrTy.js +2 -0
- package/dist/{questions-ZdT3JDyQ.js → questions-B8by4Bbt.js} +28 -119
- package/dist/questions-B8by4Bbt.js.map +1 -0
- package/dist/{record-CbuQH4l1.js → record-BRP9vZrj.js} +21 -1
- package/dist/record-BRP9vZrj.js.map +1 -0
- package/dist/{results-owJR-NFm.js → results-Di7m8dQ3.js} +4 -4
- package/dist/{results-owJR-NFm.js.map → results-Di7m8dQ3.js.map} +1 -1
- package/dist/{resume-BL4Yw7Ld.js → resume-SUz1GskV.js} +4 -4
- package/dist/{resume-BL4Yw7Ld.js.map → resume-SUz1GskV.js.map} +1 -1
- package/dist/runtime-DdsfnRz_.js +344 -0
- package/dist/runtime-DdsfnRz_.js.map +1 -0
- package/dist/{sandbox--ZXuscAZ.js → sandbox-D5v-of6d.js} +10 -5
- package/dist/sandbox-D5v-of6d.js.map +1 -0
- package/dist/sandbox.d.ts +4 -3
- package/dist/sandbox.js +1 -1
- package/dist/{server-yFVUxAm0.js → server-BNnXtmS8.js} +9 -9
- package/dist/{server-yFVUxAm0.js.map → server-BNnXtmS8.js.map} +1 -1
- package/dist/server-BNwoKzlm.js +2 -0
- package/dist/source-Bk_0ZaEY.js +2 -0
- package/dist/{source-M3gS517R.js → source-Dof0NQBm.js} +2 -2
- package/dist/{source-M3gS517R.js.map → source-Dof0NQBm.js.map} +1 -1
- package/dist/{src-79JhW-zG.js → src-8rRXy4u9.js} +71 -124
- package/dist/src-8rRXy4u9.js.map +1 -0
- package/dist/src-BGWuWp6I.js +3 -0
- package/dist/src-BRt0O02i.js +3 -0
- package/dist/src-Bx2x1ekD.js +3 -0
- package/dist/{src-s-VffoYK.js → src-C1E9HDWO.js} +5 -3
- package/dist/{src-s-VffoYK.js.map → src-C1E9HDWO.js.map} +1 -1
- package/dist/{src-IOr1rhEg.js → src-COgE7991.js} +10 -8
- package/dist/{src-IOr1rhEg.js.map → src-COgE7991.js.map} +1 -1
- package/dist/{src-CokPbYCb.js → src-C_4Umgh2.js} +23 -14
- package/dist/{src-CokPbYCb.js.map → src-C_4Umgh2.js.map} +1 -1
- package/dist/{src-DxFJrMUA.js → src-D95O-Smv.js} +12 -7
- package/dist/{src-DxFJrMUA.js.map → src-D95O-Smv.js.map} +1 -1
- package/dist/{src-DTcalvuF.js → src-DDNXsD9H.js} +28 -4
- package/dist/{src-DTcalvuF.js.map → src-DDNXsD9H.js.map} +1 -1
- package/dist/src-DLa-ESW0.js +4 -0
- package/dist/{src-DSE0FWaU.js → src-DVy58-zZ.js} +2 -2
- package/dist/{src-DSE0FWaU.js.map → src-DVy58-zZ.js.map} +1 -1
- package/dist/src-cN0aB-WR.js +3 -0
- package/dist/{src-DH0jhpoi.js → src-cdIVjC5b.js} +1 -1
- package/dist/src-sIsDHWYq.js +3 -0
- package/dist/state-Bo5zg4da.js +2 -0
- package/dist/{state-DEj_utaE.js → state-CiXyLqg0.js} +10 -10
- package/dist/{state-DEj_utaE.js.map → state-CiXyLqg0.js.map} +1 -1
- package/dist/studio-app/assets/index-B9MCTfuu.css +2 -0
- package/dist/studio-app/assets/{index-Bbl0oTxu.js → index-CROH2NB3.js} +12 -12
- package/dist/studio-app/index.html +2 -2
- package/dist/{summary-D012KlUM.js → summary-2OAWF2N7.js} +7 -7
- package/dist/{summary-D012KlUM.js.map → summary-2OAWF2N7.js.map} +1 -1
- package/dist/{summary--FBuB_sr.js → summary-BTksrIxn.js} +63 -5
- package/dist/summary-BTksrIxn.js.map +1 -0
- package/dist/testing.d.ts +14 -0
- package/dist/testing.js +2 -0
- package/dist/{tools-CJHw-zCo.js → tools-B10Uj7OI.js} +4 -4
- package/dist/tools-B10Uj7OI.js.map +1 -0
- package/dist/types-C5vI3g1C.js.map +1 -1
- package/dist/{types-BsRSknLe.d.ts → types-D8RLfkFP.d.ts} +453 -42
- package/dist/{usage-DsYUqIUM.js → usage-DDF_6tkV.js} +4 -2
- package/dist/{usage-DsYUqIUM.js.map → usage-DDF_6tkV.js.map} +1 -1
- package/dist/view/index.d.ts +60 -15
- package/dist/view/index.js +7 -6
- package/dist/views-Cs2Oqayd.js +3 -0
- package/dist/{views-jhL9Jb8A.js → views-Dqa5ojfZ.js} +4 -4
- package/dist/{views-jhL9Jb8A.js.map → views-Dqa5ojfZ.js.map} +1 -1
- package/dist/{worker-entry-OwnsrUdr.js → worker-entry-BAikHl9F.js} +9 -4
- package/dist/worker-entry-BAikHl9F.js.map +1 -0
- package/dist/{workspace-C4_J0pqb.js → workspace-C-TrNIUc.js} +4 -4
- package/dist/{workspace-C4_J0pqb.js.map → workspace-C-TrNIUc.js.map} +1 -1
- package/dist/{workspace-wudSz_W-.js → workspace-Do_SiWBs.js} +1 -1
- package/docker/Dockerfile +7 -5
- package/package.json +9 -4
- package/dist/agent-gjBiZis8.js.map +0 -1
- package/dist/assemble-D8sZ4Jiv.js +0 -2
- package/dist/assemble-Dd_mZYnu.js.map +0 -1
- package/dist/capture-CisAmy-G.js +0 -587
- package/dist/capture-CisAmy-G.js.map +0 -1
- package/dist/capture-DquyqAHC.js +0 -2
- package/dist/cli-r9CDqoFL.js.map +0 -1
- package/dist/cli-spec-DOyxAMc2.js.map +0 -1
- package/dist/client-LsfDiD-X.js.map +0 -1
- package/dist/command-Cxfgghqo.js +0 -2
- package/dist/command-D6r2pwO5.js.map +0 -1
- package/dist/command-DMR69l5G.js.map +0 -1
- package/dist/config-DuQDCx0B.js.map +0 -1
- package/dist/db-CjX7JF4o.js.map +0 -1
- package/dist/docker-DaUaG4XZ.js.map +0 -1
- package/dist/egress-BKbyriEa.js.map +0 -1
- package/dist/files-DmZGPsWK.js +0 -2
- package/dist/files-Tb8wY0Ze.js +0 -2
- package/dist/harness-CDRaaGvR.js.map +0 -1
- package/dist/init-1THeGfut.js +0 -2
- package/dist/model-Bv8uUZ07.js.map +0 -1
- package/dist/model-Cp6NoAT3.js.map +0 -1
- package/dist/model-D_pF3Vcl.js +0 -2
- package/dist/model-DyQbu7KF.js.map +0 -1
- package/dist/options-Ge_x32XE.js.map +0 -1
- package/dist/plan-BqBadHYj.js.map +0 -1
- package/dist/query-CvutWHaL.js +0 -2
- package/dist/questions-ZdT3JDyQ.js.map +0 -1
- package/dist/record-CbuQH4l1.js.map +0 -1
- package/dist/sandbox--ZXuscAZ.js.map +0 -1
- package/dist/server-CNPsB0cT.js +0 -2
- package/dist/source-Cmc5SKFn.js +0 -2
- package/dist/src--L8B4WGa.js +0 -3
- package/dist/src-79JhW-zG.js.map +0 -1
- package/dist/src-BLN459er.js +0 -3
- package/dist/src-Bz66jDtE.js +0 -3
- package/dist/src-CfUwg9UY.js +0 -3
- package/dist/src-DV_3QDHA.js +0 -4
- package/dist/src-Ljh2vKXm.js +0 -3
- package/dist/state-DkqbCVVp.js +0 -2
- package/dist/studio-app/assets/index-CUx6GoL5.css +0 -2
- package/dist/summary--FBuB_sr.js.map +0 -1
- package/dist/tools-CJHw-zCo.js.map +0 -1
- package/dist/views-yPmmoo8f.js +0 -3
- package/dist/worker-entry-OwnsrUdr.js.map +0 -1
|
@@ -1,10 +1,59 @@
|
|
|
1
1
|
import { n as UsageError } from "./errors-yDAEwmZo.js";
|
|
2
2
|
import { t as parseDuration } from "./duration-JsJrIWXq.js";
|
|
3
|
-
import { E as workspaceOf, S as sandboxOf, T as workspaceLabel, g as isMovingRef, i as applied, l as emptyEnvironment, m as isEnvironment, o as checkEgress, r as EMPTY_BASELINE, s as checkEnv, w as unbrokeredSecrets, x as plannedSecrets } from "./environment-
|
|
4
|
-
import { g as isAgentKind, i as plannedEgress, l as HARNESS_EXAMPLE, r as egressLabel } from "./egress-
|
|
5
|
-
import { a as checkModelString, i as badJudgeList } from "./judge-
|
|
6
|
-
import { c as opencodeModelError } from "./harness-
|
|
3
|
+
import { E as workspaceOf, S as sandboxOf, T as workspaceLabel, g as isMovingRef, i as applied, l as emptyEnvironment, m as isEnvironment, o as checkEgress, r as EMPTY_BASELINE, s as checkEnv, w as unbrokeredSecrets, x as plannedSecrets } from "./environment-1jE-HhO-.js";
|
|
4
|
+
import { g as isAgentKind, i as plannedEgress, l as HARNESS_EXAMPLE, r as egressLabel } from "./egress-BhzNh7Yi.js";
|
|
5
|
+
import { a as checkModelString, i as badJudgeList } from "./judge-CeYPN8P_.js";
|
|
6
|
+
import { c as opencodeModelError } from "./harness-CeCp2GSW.js";
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
8
|
+
//#region src/harness/effort.ts
|
|
9
|
+
/**
|
|
10
|
+
* The reasoning effort a harness asked for. Same user-facing name on every factory; the CLI's
|
|
11
|
+
* native flag may say thinking. Undefined when the factory left it unset. Fast is not this.
|
|
12
|
+
*/
|
|
13
|
+
function harnessEffort(h) {
|
|
14
|
+
return "effort" in h && typeof h.effort === "string" ? h.effort : void 0;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The reasoning effort a served-model label recorded, e.g. `gpt-5.6-luna[effort=medium]` →
|
|
18
|
+
* `medium`. Fast (`[fast=true]`) is not effort and is ignored.
|
|
19
|
+
*/
|
|
20
|
+
function effortFromModelLabel(model) {
|
|
21
|
+
const inner = model?.match(/\[([^\]]+)]/)?.[1];
|
|
22
|
+
if (!inner) return void 0;
|
|
23
|
+
for (const part of inner.split(",")) {
|
|
24
|
+
const eq = part.indexOf("=");
|
|
25
|
+
if (eq < 0) continue;
|
|
26
|
+
const key = part.slice(0, eq).trim();
|
|
27
|
+
if (key === "fast") continue;
|
|
28
|
+
if (/^(?:reasoning_)?effort$|^thinking$/.test(key)) {
|
|
29
|
+
const value = part.slice(eq + 1).trim();
|
|
30
|
+
if (value) return value;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** The first reasoning-effort suffix among served-model labels; undefined when none name one. */
|
|
35
|
+
function servedEffortOf(models) {
|
|
36
|
+
if (!models) return void 0;
|
|
37
|
+
for (const model of models) {
|
|
38
|
+
const effort = effortFromModelLabel(model);
|
|
39
|
+
if (effort) return effort;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/** Unique reasoning-effort suffixes among served-model labels, in first-seen order. */
|
|
43
|
+
function resolvedEffortOf(models) {
|
|
44
|
+
if (!models) return [];
|
|
45
|
+
const seen = /* @__PURE__ */ new Set();
|
|
46
|
+
const out = [];
|
|
47
|
+
for (const model of models) {
|
|
48
|
+
const effort = effortFromModelLabel(model);
|
|
49
|
+
if (effort && !seen.has(effort)) {
|
|
50
|
+
seen.add(effort);
|
|
51
|
+
out.push(effort);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
8
57
|
//#region src/options.ts
|
|
9
58
|
const KNOWN = [
|
|
10
59
|
"harness",
|
|
@@ -63,16 +112,26 @@ const COMPARE_KEYS = [
|
|
|
63
112
|
"gate",
|
|
64
113
|
"minLift",
|
|
65
114
|
"harness",
|
|
66
|
-
"questions"
|
|
115
|
+
"questions",
|
|
116
|
+
"across"
|
|
117
|
+
];
|
|
118
|
+
const QUESTION_KEYS = [
|
|
119
|
+
"question",
|
|
120
|
+
"model",
|
|
121
|
+
"across"
|
|
67
122
|
];
|
|
68
|
-
const QUESTION_KEYS = ["question", "model"];
|
|
69
123
|
const QUESTION_EXAMPLE = `questions: ['Which handles state more cleanly?']`;
|
|
70
|
-
const
|
|
124
|
+
const PAIR_FACTORS = ["environment", "harness"];
|
|
125
|
+
const ACROSS_HINT = `'environment' (vary the environment, same harness) or 'harness' (vary the harness, same environment)`;
|
|
126
|
+
const ACROSS_MEAN = " Did you mean \"across\"? It is the factor you vary: across: 'environment'.";
|
|
127
|
+
const ID = /^[A-Za-z0-9._:@+\-=[\]]+$/;
|
|
71
128
|
const sanitize = (text) => (text.split("/").at(-1) ?? text).replace(/[^A-Za-z0-9._:@-]+/g, "-");
|
|
72
129
|
function harnessId(h) {
|
|
73
130
|
if (h.id) return h.id;
|
|
74
|
-
|
|
75
|
-
|
|
131
|
+
const effort = harnessEffort(h);
|
|
132
|
+
const suffix = effort ? `[effort=${sanitize(effort)}]` : "";
|
|
133
|
+
if (h.kind === "fake") return `fake${suffix}`;
|
|
134
|
+
return `${h.model ? `${h.kind}:${sanitize(h.model)}` : h.kind}${suffix}`;
|
|
76
135
|
}
|
|
77
136
|
function installId(install) {
|
|
78
137
|
if (!install?.length) return "";
|
|
@@ -114,11 +173,15 @@ function checkQuestion(item, where) {
|
|
|
114
173
|
if (item.trim()) return item;
|
|
115
174
|
throw new UsageError(`compare.questions in ${where} is an empty string. Ask something, e.g. ${QUESTION_EXAMPLE}.`);
|
|
116
175
|
}
|
|
117
|
-
if (typeof item !== "object" || item === null || Array.isArray(item)) throw new UsageError(`compare.questions in ${where} takes strings or { question, model? } (got ${describe(item)}), e.g. ${QUESTION_EXAMPLE}.`);
|
|
176
|
+
if (typeof item !== "object" || item === null || Array.isArray(item)) throw new UsageError(`compare.questions in ${where} takes strings or { question, model?, across? } (got ${describe(item)}), e.g. ${QUESTION_EXAMPLE}.`);
|
|
118
177
|
const unknown = Object.keys(item).filter((k) => !QUESTION_KEYS.includes(k));
|
|
119
|
-
if (unknown.length)
|
|
120
|
-
|
|
178
|
+
if (unknown.length) {
|
|
179
|
+
const hint = unknown.some((k) => k === "cut" || k === "cuts") ? ACROSS_MEAN : "";
|
|
180
|
+
throw new UsageError(`compare.questions in ${where} takes { question, model?, across? } (got ${unknown.map((k) => `"${k}"`).join(", ")}).${hint}`);
|
|
181
|
+
}
|
|
182
|
+
const { question, model, across } = item;
|
|
121
183
|
if (typeof question !== "string" || !question.trim()) throw new UsageError(`compare.questions in ${where} has an entry without its question (got ${describe(question)}), e.g. { question: 'Which is cleaner?', model: 'google/gemini-3.8-flash' }.`);
|
|
184
|
+
if (across !== void 0) checkAcross(across, where, question);
|
|
122
185
|
if (model !== void 0) {
|
|
123
186
|
if (typeof model !== "string" || checkModelString(model)) throw new UsageError(`compare.questions "${question}" in ${where}: model is a 'provider/model' string, e.g. 'google/gemini-3.8-flash' (got ${describe(model)})`);
|
|
124
187
|
if (isEvaluationModel(model)) throw new UsageError(`compare.questions "${question}" in ${where} names ${model}, an evaluation model: it scores yes/no questions and can't pick between two attempts. Use a language model, e.g. 'google/gemini-3.8-flash'.`);
|
|
@@ -133,16 +196,31 @@ function checkQuestions(value, where) {
|
|
|
133
196
|
const dupe = texts.find((t, i) => texts.indexOf(t) !== i);
|
|
134
197
|
if (dupe) throw new UsageError(`compare.questions in ${where} asks "${dupe}" twice`);
|
|
135
198
|
}
|
|
199
|
+
function checkAcross(value, where, question) {
|
|
200
|
+
if (PAIR_FACTORS.includes(value)) return;
|
|
201
|
+
throw new UsageError(`compare.questions "${question}" in ${where}: across is ${ACROSS_HINT} (got ${describe(value)}). Leave it out to vary both.`);
|
|
202
|
+
}
|
|
203
|
+
function checkAcrosses(value, where) {
|
|
204
|
+
const list = Array.isArray(value) ? value : [value];
|
|
205
|
+
if (list.length === 0) throw new UsageError(`compare.across in ${where} is ${ACROSS_HINT}, or a list of those (got ${describe(value)}). Leave it out to vary both.`);
|
|
206
|
+
const seen = /* @__PURE__ */ new Set();
|
|
207
|
+
for (const item of list) {
|
|
208
|
+
if (!PAIR_FACTORS.includes(item)) throw new UsageError(`compare.across in ${where} is ${ACROSS_HINT}, or a list of those (got ${describe(item)}).`);
|
|
209
|
+
if (seen.has(item)) throw new UsageError(`compare.across in ${where} lists "${item}" twice`);
|
|
210
|
+
seen.add(item);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
136
213
|
function checkCompare(value, where) {
|
|
137
214
|
if (Array.isArray(value)) throw new UsageError(`compare must be an object in ${where}. Use compare: { baseline, variants: [...] }.`);
|
|
138
215
|
const spec = value;
|
|
139
|
-
if (typeof value !== "object" || value === null || !Array.isArray(spec.variants)) throw new UsageError(`compare takes { variants, baseline? } (got ${describe(value)}) in ${where}. Use compare: { variants: [a, b], baseline?, gate?, minLift?, harness?, questions? }.`);
|
|
216
|
+
if (typeof value !== "object" || value === null || !Array.isArray(spec.variants)) throw new UsageError(`compare takes { variants, baseline? } (got ${describe(value)}) in ${where}. Use compare: { variants: [a, b], baseline?, gate?, minLift?, harness?, questions?, across? }.`);
|
|
140
217
|
for (const key of Object.keys(value)) if (!COMPARE_KEYS.includes(key)) {
|
|
141
|
-
const hint = key === "question" ? `. Did you mean "questions"? It's a list: ${QUESTION_EXAMPLE}.` : "";
|
|
218
|
+
const hint = key === "question" ? `. Did you mean "questions"? It's a list: ${QUESTION_EXAMPLE}.` : key === "cut" || key === "cuts" ? `.${ACROSS_MEAN}` : "";
|
|
142
219
|
throw new UsageError(`Unknown compare option "${key}" in ${where}${hint}`);
|
|
143
220
|
}
|
|
144
|
-
const { baseline, variants, gate, minLift, harness, questions } = spec;
|
|
221
|
+
const { baseline, variants, gate, minLift, harness, questions, across } = spec;
|
|
145
222
|
if (questions !== void 0) checkQuestions(questions, where);
|
|
223
|
+
if (across !== void 0) checkAcrosses(across, where);
|
|
146
224
|
if (baseline !== void 0 && !isEnvironment(baseline)) throw new UsageError(`compare.baseline in ${where} must be an environment from defineEnvironment (got ${describe(baseline)}). It is the control; variants are not layered on it or on the eval's environment. Leave it out to use the eval's environment as the control.`);
|
|
147
225
|
if (gate !== void 0 && !GATES.includes(gate)) throw new UsageError(`compare.gate must be one of ${GATES.join(", ")} in ${where}`);
|
|
148
226
|
if (minLift !== void 0 && !(typeof minLift === "number" && minLift >= -1 && minLift <= 1)) throw new UsageError(`compare.minLift is points from -1 to 1 (got ${minLift}) in ${where}`);
|
|
@@ -150,11 +228,17 @@ function checkCompare(value, where) {
|
|
|
150
228
|
if (variants.length === 0) throw new UsageError(`compare has no variants in ${where}. Give at least one environment.`);
|
|
151
229
|
for (const v of variants) if (!isEnvironment(v)) throw new UsageError(`compare takes environments (got ${describe(v)}) in ${where}. Variants share the eval's prompt and checks; if a variant needs different checks, write a separate eval.`);
|
|
152
230
|
}
|
|
231
|
+
/** `compare: false` and `environment` beside `compare.baseline` are never legal options. */
|
|
232
|
+
function refuseIllegalCompare(options, where) {
|
|
233
|
+
if (options.compare === false) throw new UsageError(`compare: false can't be set in ${where}. A profile turns compare off with limit.compare: false, which runs the baseline and strips the variants. On a group or eval, omit compare or pass compare: { baseline, variants }.`);
|
|
234
|
+
const baseline = options.compare !== null && typeof options.compare === "object" && "baseline" in options.compare ? options.compare.baseline : void 0;
|
|
235
|
+
if (options.environment !== void 0 && baseline !== void 0) throw new UsageError(`environment and compare.baseline can't both be set in ${where}. compare: { baseline, variants } names every arm, so drop environment, or drop baseline to make environment the control.`);
|
|
236
|
+
}
|
|
153
237
|
/** Throws on keys that aren't options, and on values of the wrong shape, suggesting a fix. */
|
|
154
238
|
function checkOptions(options, where, allowed = KNOWN) {
|
|
155
239
|
for (const key of Object.keys(options)) {
|
|
156
240
|
if (allowed.includes(key)) continue;
|
|
157
|
-
const hint = SUGGEST[key] ? ` Did you mean "${SUGGEST[key]}"?` : "";
|
|
241
|
+
const hint = key === "pool" ? " pool is an option of evaluate.each, beside the cases: evaluate.each(cases, { pool: false })." : SUGGEST[key] ? ` Did you mean "${SUGGEST[key]}"?` : "";
|
|
158
242
|
throw new UsageError(`Unknown option "${key}" in ${where}.${hint}`);
|
|
159
243
|
}
|
|
160
244
|
const o = options;
|
|
@@ -178,10 +262,8 @@ function checkOptions(options, where, allowed = KNOWN) {
|
|
|
178
262
|
if (Array.isArray(o.environment)) throw new UsageError(`environment takes one environment, not a list (${where}). To compare environments, use compare: { baseline, variants: [a, b] }. baseline is the control; variants are not layered on it.`);
|
|
179
263
|
if (!isEnvironment(o.environment)) throw new UsageError(`environment in ${where} must come from defineEnvironment(…) (got ${describe(o.environment)})`);
|
|
180
264
|
}
|
|
181
|
-
|
|
182
|
-
if (raw.compare === false) throw new UsageError(`compare: false can't be set in ${where}. A profile turns compare off with limit.compare: false, which runs the baseline and strips the variants. On a group or eval, omit compare or pass compare: { baseline, variants }.`);
|
|
265
|
+
refuseIllegalCompare(options, where);
|
|
183
266
|
if (o.compare !== void 0) checkCompare(o.compare, where);
|
|
184
|
-
if (raw.environment !== void 0 && o.compare?.baseline !== void 0) throw new UsageError(`environment and compare.baseline can't both be set in ${where}. compare: { baseline, variants } names every arm, so drop environment, or drop baseline to make environment the control.`);
|
|
185
267
|
if (o.pin !== void 0) {
|
|
186
268
|
const bad = Array.isArray(o.pin) ? o.pin.filter((k) => !PINNABLE.includes(k)) : [o.pin];
|
|
187
269
|
if (bad.length) throw new UsageError(`pin accepts harness, runs and compare (got ${bad.map(String).join(", ")}) in ${where}`);
|
|
@@ -191,20 +273,46 @@ function checkOptions(options, where, allowed = KNOWN) {
|
|
|
191
273
|
const CAPTURE_KEYS = [
|
|
192
274
|
"viewport",
|
|
193
275
|
"timeout",
|
|
194
|
-
"browser"
|
|
276
|
+
"browser",
|
|
277
|
+
"model"
|
|
195
278
|
];
|
|
196
|
-
|
|
279
|
+
const CAPTURE_SHAPE = "{ viewport?, timeout?, browser?, model? }";
|
|
280
|
+
const CAPTURE_CALL_ONLY = /* @__PURE__ */ new Set([
|
|
281
|
+
"instructions",
|
|
282
|
+
"wait",
|
|
283
|
+
"name",
|
|
284
|
+
"path"
|
|
285
|
+
]);
|
|
286
|
+
/** Throws unless `capture` is a shallow-merge object with a viewport, timeout, browser and/or model. */
|
|
197
287
|
function checkCapture(value, where) {
|
|
198
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) throw new UsageError(`capture is {
|
|
288
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) throw new UsageError(`capture is ${CAPTURE_SHAPE} (got ${JSON.stringify(value)}) in ${where}`);
|
|
199
289
|
const o = value;
|
|
290
|
+
if (o.instructions !== void 0) throw new UsageError(`c.capture() instructions need a vision model in ${where}. instructions is call-only on the call.`);
|
|
200
291
|
const unknown = Object.keys(o).filter((k) => !CAPTURE_KEYS.includes(k));
|
|
201
|
-
if (unknown.length)
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
if (
|
|
292
|
+
if (unknown.length) {
|
|
293
|
+
const key = unknown[0] ?? "";
|
|
294
|
+
if (key === "use" || key === "fake") throw new UsageError(`Unknown capture key "${key}" in ${where}. Set capture.model. Tests pass fakeInstructions from reeval/testing as instructions.`);
|
|
295
|
+
if (CAPTURE_CALL_ONLY.has(key)) throw new UsageError(`c.capture() ${key} is call-only on the call in ${where}. Use viewport, timeout, browser, model.`);
|
|
296
|
+
throw new UsageError(`Unknown capture key "${key}" in ${where}. Use viewport, timeout, browser, model.`);
|
|
205
297
|
}
|
|
298
|
+
if (o.viewport !== void 0) checkViewport(o.viewport, where);
|
|
206
299
|
if (o.timeout !== void 0) parseDuration(o.timeout);
|
|
207
300
|
if (o.browser !== void 0 && typeof o.browser !== "boolean") throw new UsageError(`capture.browser is true or false (got ${JSON.stringify(o.browser)}) in ${where}`);
|
|
301
|
+
if (o.model !== void 0) checkCaptureModel(o.model, where);
|
|
302
|
+
}
|
|
303
|
+
function checkViewport(value, where) {
|
|
304
|
+
if (value === "full-page") return;
|
|
305
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) throw new UsageError(`capture.viewport is { width, height } or 'full-page' (got ${JSON.stringify(value)}) in ${where}`);
|
|
306
|
+
const o = value;
|
|
307
|
+
const keys = Object.keys(o);
|
|
308
|
+
if (keys.includes("fullPage")) throw new UsageError(`capture.viewport is { width, height } or 'full-page' in ${where}, not { height, fullPage }. Use viewport: 'full-page' for a tall shot.`);
|
|
309
|
+
const width = o.width;
|
|
310
|
+
const height = o.height;
|
|
311
|
+
if (keys.some((k) => k !== "width" && k !== "height") || !(Number.isInteger(width) && width > 0) || !(Number.isInteger(height) && height > 0)) throw new UsageError(`capture.viewport is { width, height } or 'full-page' (got ${JSON.stringify(value)}) in ${where}`);
|
|
312
|
+
}
|
|
313
|
+
function checkCaptureModel(value, where) {
|
|
314
|
+
if (typeof value !== "string" || !value.includes("/")) throw new UsageError(`capture.model is a 'provider/model' string, e.g. 'google/gemini-3.8-flash' (got ${JSON.stringify(value)}) in ${where}`);
|
|
315
|
+
if (isEvaluationModel(value)) throw new UsageError(`capture.model "${value}" in ${where} is an evaluation model: it scores yes/no questions and can't drive a capture. Use a language model that accepts images, e.g. 'google/gemini-3.8-flash'.`);
|
|
208
316
|
}
|
|
209
317
|
function applyHarness(inherited, value, where) {
|
|
210
318
|
if (value === void 0) return inherited;
|
|
@@ -246,14 +354,31 @@ function checkUnique(list, where) {
|
|
|
246
354
|
const seen = /* @__PURE__ */ new Set();
|
|
247
355
|
for (const item of list) {
|
|
248
356
|
const key = harnessId(item);
|
|
249
|
-
if (!ID.test(key)) throw new UsageError(`The harness id "${key}" in ${where} may only use letters, digits and . _ : @ +
|
|
357
|
+
if (!ID.test(key)) throw new UsageError(`The harness id "${key}" in ${where} may only use letters, digits and . _ : @ + - [ ] =`);
|
|
250
358
|
if (seen.has(key)) throw new UsageError(`Two harnesses in ${where} resolve to the id "${key}". Give one an id, e.g. cursor({ model: '…', id: '…' })`);
|
|
251
359
|
seen.add(key);
|
|
252
360
|
}
|
|
253
361
|
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
362
|
+
/** A question's own `across`, else the one `compare.across` names when it names exactly one. */
|
|
363
|
+
const plannedAcross = (own, compare) => {
|
|
364
|
+
if (own) return own;
|
|
365
|
+
const list = compare === void 0 ? void 0 : Array.isArray(compare) ? compare : [compare];
|
|
366
|
+
return list?.length === 1 ? list[0] : void 0;
|
|
367
|
+
};
|
|
368
|
+
const plannedQuestions = (value, compareAcross) => (value ?? []).map((q) => {
|
|
369
|
+
if (typeof q === "string") {
|
|
370
|
+
const across = plannedAcross(void 0, compareAcross);
|
|
371
|
+
return across ? {
|
|
372
|
+
question: q,
|
|
373
|
+
across
|
|
374
|
+
} : { question: q };
|
|
375
|
+
}
|
|
376
|
+
const across = plannedAcross(q.across, compareAcross);
|
|
377
|
+
return {
|
|
378
|
+
question: q.question,
|
|
379
|
+
...q.model !== void 0 ? { model: q.model } : {},
|
|
380
|
+
...across ? { across } : {}
|
|
381
|
+
};
|
|
257
382
|
});
|
|
258
383
|
function normalizeCompare(value) {
|
|
259
384
|
if (value === void 0) return void 0;
|
|
@@ -267,7 +392,7 @@ function normalizeCompare(value) {
|
|
|
267
392
|
...value.minLift !== void 0 ? { minLift: value.minLift } : {},
|
|
268
393
|
...value.harness ? { harness: value.harness.map((h) => typeof h === "string" ? h : harnessId(h)) } : {},
|
|
269
394
|
of: value.variants.length,
|
|
270
|
-
questions: plannedQuestions(value.questions)
|
|
395
|
+
questions: plannedQuestions(value.questions, value.across)
|
|
271
396
|
};
|
|
272
397
|
}
|
|
273
398
|
function applyLevel(out, options, where, egress = "own") {
|
|
@@ -597,9 +722,11 @@ function evalPlan(r, attempts, origin) {
|
|
|
597
722
|
}
|
|
598
723
|
function captureNote(c) {
|
|
599
724
|
const parts = [];
|
|
600
|
-
if (c.viewport) parts.push(
|
|
725
|
+
if (c.viewport === "full-page") parts.push("full-page");
|
|
726
|
+
else if (c.viewport) parts.push(`${c.viewport.width}×${c.viewport.height}`);
|
|
601
727
|
if (c.timeout !== void 0) parts.push(typeof c.timeout === "number" ? `${c.timeout}ms` : c.timeout);
|
|
602
728
|
if (c.browser === false) parts.push("browser false");
|
|
729
|
+
if (c.model) parts.push(`model ${c.model}`);
|
|
603
730
|
return parts.length ? `capture: ${parts.join(" · ")}` : void 0;
|
|
604
731
|
}
|
|
605
732
|
/** `--tag a --tag !b`: every entry must hold. */
|
|
@@ -607,6 +734,6 @@ function matchesTags(tags, filters) {
|
|
|
607
734
|
return filters.every((f) => f.startsWith("!") ? !tags.includes(f.slice(1)) : tags.includes(f));
|
|
608
735
|
}
|
|
609
736
|
//#endregion
|
|
610
|
-
export { evalPlan as a, levelOf as c, sandboxId as d, sandboxSetBy as f, unbrokeredError as h, checkOptions as i, matchesTags as l, unbrokered as m, cascade as n, expand as o, secretVarsIn as p, checkHarnesses as r, harnessId as s, brokeredIn as t, profileJudge as u };
|
|
737
|
+
export { resolvedEffortOf as _, evalPlan as a, levelOf as c, sandboxId as d, sandboxSetBy as f, harnessEffort as g, unbrokeredError as h, checkOptions as i, matchesTags as l, unbrokered as m, cascade as n, expand as o, secretVarsIn as p, checkHarnesses as r, harnessId as s, brokeredIn as t, profileJudge as u, servedEffortOf as v };
|
|
611
738
|
|
|
612
|
-
//# sourceMappingURL=options-
|
|
739
|
+
//# sourceMappingURL=options-CKqyPGxX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options-CKqyPGxX.js","names":["raw"],"sources":["../src/harness/effort.ts","../src/options.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { n as clip } from "./text-gEcKjAyp.js";
|
|
2
|
+
//#region src/compare/pairs.ts
|
|
3
|
+
/** The side a pair names: an arm within a harness, a harness across them. */
|
|
4
|
+
const sideName = (cut, side) => cut === "within" ? side.arm : side.harness;
|
|
5
|
+
/** Every two-element combination, in the order given. */
|
|
6
|
+
function combinations(items) {
|
|
7
|
+
const out = [];
|
|
8
|
+
for (let i = 0; i < items.length; i++) for (let j = i + 1; j < items.length; j++) out.push([items[i], items[j]]);
|
|
9
|
+
return out;
|
|
10
|
+
}
|
|
11
|
+
/** Distinct values in first-seen order. */
|
|
12
|
+
const distinct = (values) => [...new Set(values)];
|
|
13
|
+
/** Both pair kinds, in the order `pairsOf` builds them. */
|
|
14
|
+
const ALL_CUTS = ["within", "across"];
|
|
15
|
+
/**
|
|
16
|
+
* The pair kinds a question asks: `environment` varies the environment and holds the harness
|
|
17
|
+
* (`within`); `harness` varies the harness and holds the environment (`across`). Unset, both.
|
|
18
|
+
*/
|
|
19
|
+
const acrossOf = (across) => {
|
|
20
|
+
if (across === "environment") return ["within"];
|
|
21
|
+
if (across === "harness") return ["across"];
|
|
22
|
+
return ALL_CUTS;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* The pairs to judge. Within a harness, for each run, every two environments; across harnesses,
|
|
26
|
+
* for each environment and run, every two harnesses. Attempts that failed their deterministic
|
|
27
|
+
* checks are left out (they still count in the pass rate), so a pair missing a side isn't
|
|
28
|
+
* judged. The control environment comes first, then environments and harnesses in the order they
|
|
29
|
+
* first appear. `kinds` keeps one pair kind; omitted or empty, both run.
|
|
30
|
+
*/
|
|
31
|
+
function pairsOf(attempts, kinds) {
|
|
32
|
+
const eligible = attempts.filter((a) => a.checksPassed);
|
|
33
|
+
const find = (harness, arm, run) => eligible.find((a) => a.harness === harness && a.arm === arm && a.run === run);
|
|
34
|
+
const harnesses = distinct(attempts.map((a) => a.harness));
|
|
35
|
+
const arms = distinct([...attempts.filter((a) => a.control).map((a) => a.arm), ...attempts.map((a) => a.arm)]);
|
|
36
|
+
const runs = [...new Set(attempts.map((a) => a.run))].sort((x, y) => x - y);
|
|
37
|
+
const want = new Set(kinds?.length ? kinds : ALL_CUTS);
|
|
38
|
+
const pairs = [];
|
|
39
|
+
if (want.has("within")) for (const harness of harnesses) for (const run of runs) for (const [x, y] of combinations(arms)) {
|
|
40
|
+
const a = find(harness, x, run);
|
|
41
|
+
const b = find(harness, y, run);
|
|
42
|
+
if (a && b) pairs.push({
|
|
43
|
+
cut: "within",
|
|
44
|
+
harness,
|
|
45
|
+
run,
|
|
46
|
+
a,
|
|
47
|
+
b
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
if (want.has("across")) for (const arm of arms) for (const run of runs) for (const [x, y] of combinations(harnesses)) {
|
|
51
|
+
const a = find(x, arm, run);
|
|
52
|
+
const b = find(y, arm, run);
|
|
53
|
+
if (a && b) pairs.push({
|
|
54
|
+
cut: "across",
|
|
55
|
+
arm,
|
|
56
|
+
run,
|
|
57
|
+
a,
|
|
58
|
+
b
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return pairs;
|
|
62
|
+
}
|
|
63
|
+
/** Optimistic pair sides from planned attempts: every check is assumed to pass. */
|
|
64
|
+
function plannedSides(attempts) {
|
|
65
|
+
return attempts.map((a) => ({
|
|
66
|
+
harness: a.cell.harness,
|
|
67
|
+
arm: a.cell.environment,
|
|
68
|
+
run: a.n,
|
|
69
|
+
diff: "",
|
|
70
|
+
checksPassed: true,
|
|
71
|
+
control: a.cell.role === "control"
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
/** The two sides in the order the model sees them: `a` first, or `b` first when swapped. */
|
|
75
|
+
const slots = (pair, swapped) => swapped ? [pair.b, pair.a] : [pair.a, pair.b];
|
|
76
|
+
/** Maps a blinded pick (`A` is the first slot) back to the side's name. */
|
|
77
|
+
function winnerOf(pair, swapped, pick) {
|
|
78
|
+
if (pick === "tie") return "tie";
|
|
79
|
+
const [first, second] = slots(pair, swapped);
|
|
80
|
+
return sideName(pair.cut, pick === "A" ? first : second);
|
|
81
|
+
}
|
|
82
|
+
/** Distinct stored reasons, in vote order, capped at `n`. */
|
|
83
|
+
function sampleReasons(votes, n = 3) {
|
|
84
|
+
const seen = /* @__PURE__ */ new Set();
|
|
85
|
+
const out = [];
|
|
86
|
+
for (const v of votes) {
|
|
87
|
+
if (!v.reason || seen.has(v.reason)) continue;
|
|
88
|
+
seen.add(v.reason);
|
|
89
|
+
out.push(v.reason);
|
|
90
|
+
if (out.length >= n) break;
|
|
91
|
+
}
|
|
92
|
+
return out;
|
|
93
|
+
}
|
|
94
|
+
/** A stored reason: trimmed, capped, omitted when empty. */
|
|
95
|
+
function voteReason(text) {
|
|
96
|
+
const trimmed = text?.trim();
|
|
97
|
+
if (!trimmed) return void 0;
|
|
98
|
+
return clip(trimmed, 200);
|
|
99
|
+
}
|
|
100
|
+
/** The vote a pick makes, with the pair's names. */
|
|
101
|
+
function voteOf(question, pair, swapped, pick, reason) {
|
|
102
|
+
const why = voteReason(reason);
|
|
103
|
+
return {
|
|
104
|
+
question,
|
|
105
|
+
cut: pair.cut,
|
|
106
|
+
...pair.cut === "within" ? { harness: pair.harness } : { arm: pair.arm },
|
|
107
|
+
run: pair.run,
|
|
108
|
+
a: sideName(pair.cut, pair.a),
|
|
109
|
+
b: sideName(pair.cut, pair.b),
|
|
110
|
+
winner: winnerOf(pair, swapped, pick),
|
|
111
|
+
swapped,
|
|
112
|
+
...why ? { reason: why } : {}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Each side's wins over the decided votes it was in, per cut. A tie decides nothing, so it counts
|
|
117
|
+
* for neither side; both orders of a pair count, since each is its own judgement.
|
|
118
|
+
*/
|
|
119
|
+
function ratesOf(votes) {
|
|
120
|
+
const rates = /* @__PURE__ */ new Map();
|
|
121
|
+
const rate = (cut, name) => {
|
|
122
|
+
const key = `${cut}\0${name}`;
|
|
123
|
+
let found = rates.get(key);
|
|
124
|
+
if (!found) {
|
|
125
|
+
found = {
|
|
126
|
+
cut,
|
|
127
|
+
name,
|
|
128
|
+
wins: 0,
|
|
129
|
+
n: 0
|
|
130
|
+
};
|
|
131
|
+
rates.set(key, found);
|
|
132
|
+
}
|
|
133
|
+
return found;
|
|
134
|
+
};
|
|
135
|
+
for (const v of votes) {
|
|
136
|
+
if (v.winner === "tie") continue;
|
|
137
|
+
for (const name of [v.a, v.b]) {
|
|
138
|
+
const r = rate(v.cut, name);
|
|
139
|
+
r.n++;
|
|
140
|
+
if (v.winner === name) r.wins++;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
const order = ["within", "across"];
|
|
144
|
+
return [...rates.values()].sort((x, y) => order.indexOf(x.cut) - order.indexOf(y.cut));
|
|
145
|
+
}
|
|
146
|
+
//#endregion
|
|
147
|
+
export { sampleReasons as a, voteReason as c, ratesOf as i, pairsOf as n, slots as o, plannedSides as r, voteOf as s, acrossOf as t };
|
|
148
|
+
|
|
149
|
+
//# sourceMappingURL=pairs-DDsjgm5F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pairs-DDsjgm5F.js","names":[],"sources":["../src/compare/pairs.ts"],"mappings":";;;AAsCA,MAAa,YAAY,KAAiB,SACxC,QAAQ,WAAW,KAAK,MAAM,KAAK;;AAGrC,SAAS,aAAgB,OAA2B;CAClD,MAAM,MAAqB,CAAC;CAC5B,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAChC,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,IAAI,KAAK,CAAC,MAAM,IAAS,MAAM,EAAO,CAAC;CAEpF,OAAO;AACT;;AAGA,MAAM,YAAY,WAAqB,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC;;AAG1D,MAAa,WAAyB,CAAC,UAAU,QAAQ;;;;;AAMzD,MAAa,YAAY,WAAsC;CAC7D,IAAI,WAAW,eAAe,OAAO,CAAC,QAAQ;CAC9C,IAAI,WAAW,WAAW,OAAO,CAAC,QAAQ;CAC1C,OAAO;AACT;;;;;;;;AASA,SAAgB,QAAQ,UAAyB,OAAuC;CACtF,MAAM,WAAW,SAAS,QAAQ,MAAM,EAAE,YAAY;CACtD,MAAM,QAAQ,SAAiB,KAAa,QAC1C,SAAS,MAAM,MAAM,EAAE,YAAY,WAAW,EAAE,QAAQ,OAAO,EAAE,QAAQ,GAAG;CAC9E,MAAM,YAAY,SAAS,SAAS,KAAK,MAAM,EAAE,OAAO,CAAC;CACzD,MAAM,OAAO,SAAS,CACpB,GAAG,SAAS,QAAQ,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,GACrD,GAAG,SAAS,KAAK,MAAM,EAAE,GAAG,CAC9B,CAAC;CACD,MAAM,OAAO,CAAC,GAAG,IAAI,IAAI,SAAS,KAAK,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC;CAC1E,MAAM,OAAO,IAAI,IAAI,OAAO,SAAS,QAAQ,QAAQ;CACrD,MAAM,QAAgB,CAAC;CACvB,IAAI,KAAK,IAAI,QAAQ,GACnB,KAAK,MAAM,WAAW,WACpB,KAAK,MAAM,OAAO,MAChB,KAAK,MAAM,CAAC,GAAG,MAAM,aAAa,IAAI,GAAG;EACvC,MAAM,IAAI,KAAK,SAAS,GAAG,GAAG;EAC9B,MAAM,IAAI,KAAK,SAAS,GAAG,GAAG;EAC9B,IAAI,KAAK,GAAG,MAAM,KAAK;GAAE,KAAK;GAAU;GAAS;GAAK;GAAG;EAAE,CAAC;CAC9D;CAIN,IAAI,KAAK,IAAI,QAAQ,GACnB,KAAK,MAAM,OAAO,MAChB,KAAK,MAAM,OAAO,MAChB,KAAK,MAAM,CAAC,GAAG,MAAM,aAAa,SAAS,GAAG;EAC5C,MAAM,IAAI,KAAK,GAAG,KAAK,GAAG;EAC1B,MAAM,IAAI,KAAK,GAAG,KAAK,GAAG;EAC1B,IAAI,KAAK,GAAG,MAAM,KAAK;GAAE,KAAK;GAAU;GAAK;GAAK;GAAG;EAAE,CAAC;CAC1D;CAIN,OAAO;AACT;;AAGA,SAAgB,aACd,UAIe;CACf,OAAO,SAAS,KAAK,OAAO;EAC1B,SAAS,EAAE,KAAK;EAChB,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE;EACP,MAAM;EACN,cAAc;EACd,SAAS,EAAE,KAAK,SAAS;CAC3B,EAAE;AACJ;;AAGA,MAAa,SAAS,MAAY,YAChC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;AAG9C,SAAgB,SAAS,MAAY,SAAkB,MAAgC;CACrF,IAAI,SAAS,OAAO,OAAO;CAC3B,MAAM,CAAC,OAAO,UAAU,MAAM,MAAM,OAAO;CAC3C,OAAO,SAAS,KAAK,KAAK,SAAS,MAAM,QAAQ,MAAM;AACzD;;AAMA,SAAgB,cAAc,OAAmB,IAAI,GAAa;CAChE,MAAM,uBAAO,IAAI,IAAY;CAC7B,MAAM,MAAgB,CAAC;CACvB,KAAK,MAAM,KAAK,OAAO;EACrB,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,EAAE,MAAM,GAAG;EACrC,KAAK,IAAI,EAAE,MAAM;EACjB,IAAI,KAAK,EAAE,MAAM;EACjB,IAAI,IAAI,UAAU,GAAG;CACvB;CACA,OAAO;AACT;;AAGA,SAAgB,WAAW,MAA8C;CACvE,MAAM,UAAU,MAAM,KAAK;CAC3B,IAAI,CAAC,SAAS,OAAO,KAAA;CACrB,OAAO,KAAK,SAAA,GAAwB;AACtC;;AAGA,SAAgB,OACd,UACA,MACA,SACA,MACA,QACU;CACV,MAAM,MAAM,WAAW,MAAM;CAC7B,OAAO;EACL;EACA,KAAK,KAAK;EACV,GAAI,KAAK,QAAQ,WAAW,EAAE,SAAS,KAAK,QAAQ,IAAI,EAAE,KAAK,KAAK,IAAI;EACxE,KAAK,KAAK;EACV,GAAG,SAAS,KAAK,KAAK,KAAK,CAAC;EAC5B,GAAG,SAAS,KAAK,KAAK,KAAK,CAAC;EAC5B,QAAQ,SAAS,MAAM,SAAS,IAAI;EACpC;EACA,GAAI,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC;CAC/B;AACF;;;;;AAMA,SAAgB,QAAQ,OAA2C;CACjE,MAAM,wBAAQ,IAAI,IAA4C;CAC9D,MAAM,QAAQ,KAAiB,SAAiB;EAC9C,MAAM,MAAM,GAAG,IAAI,IAAI;EACvB,IAAI,QAAQ,MAAM,IAAI,GAAG;EACzB,IAAI,CAAC,OAAO;GACV,QAAQ;IAAE;IAAK;IAAM,MAAM;IAAG,GAAG;GAAE;GACnC,MAAM,IAAI,KAAK,KAAK;EACtB;EACA,OAAO;CACT;CACA,KAAK,MAAM,KAAK,OAAO;EACrB,IAAI,EAAE,WAAW,OAAO;EACxB,KAAK,MAAM,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG;GAC7B,MAAM,IAAI,KAAK,EAAE,KAAK,IAAI;GAC1B,EAAE;GACF,IAAI,EAAE,WAAW,MAAM,EAAE;EAC3B;CACF;CACA,MAAM,QAAsB,CAAC,UAAU,QAAQ;CAC/C,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,MAAM,QAAQ,EAAE,GAAG,IAAI,MAAM,QAAQ,EAAE,GAAG,CAAC;AACvF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as globFilter } from "./environment-
|
|
1
|
+
import { f as globFilter } from "./environment-1jE-HhO-.js";
|
|
2
2
|
//#region src/judge/patch.ts
|
|
3
3
|
/** Installed dependencies: one entry per directory, never one per file. */
|
|
4
4
|
const DEPENDENCY_DIR = /^(.*?(?:^|\/)(?:node_modules|\.venv|\.dart_tool|\.pub-cache|__pycache__)\/)/;
|
|
@@ -115,4 +115,4 @@ function diffPath(part) {
|
|
|
115
115
|
//#endregion
|
|
116
116
|
export { judgeDiff as n, patchForJudge as r, collapseDependencies as t };
|
|
117
117
|
|
|
118
|
-
//# sourceMappingURL=patch-
|
|
118
|
+
//# sourceMappingURL=patch-bDV8YFW0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch-
|
|
1
|
+
{"version":3,"file":"patch-bDV8YFW0.js","names":[],"sources":["../src/judge/patch.ts"],"mappings":";;;AAGA,MAAM,iBAAiB;;;;;AAKvB,MAAM,YAAY;AAClB,MAAM,WAAW;AACjB,MAAM,YAAY;;AASlB,SAAgB,qBAAwB,OAAY,QAA2C;CAC7F,OAAO,SAAS,OAAO,QAAQ,cAAc;AAC/C;AAEA,SAAS,SAAY,OAAY,QAA6B,OAA6B;CACzF,MAAM,OAAY,CAAC;CACnB,MAAM,yBAAS,IAAI,IAAoB;CACvC,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,MAAM,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG;EACvC,IAAI,KAAK,OAAO,IAAI,MAAM,OAAO,IAAI,GAAG,KAAK,KAAK,CAAC;OAC9C,KAAK,KAAK,IAAI;CACrB;CACA,OAAO;EAAE;EAAM,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY;GAAE;GAAK;EAAM,EAAE;CAAE;AAC3E;AAEA,MAAM,UAAU,GAAW,SAAiB,GAAG,EAAE,GAAG,OAAO,MAAM,IAAI,KAAK;AAE1E,MAAM,mBAAmB,SACvB,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,MAAM,QAAQ,KAAK,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,CAAC;;;;;;;AAyB7E,SAAgB,UACd,MACA,EAAE,SAAS,WAA6B,CAAC,GAC9B;CACX,MAAM,WAAW,SAAS,SAAS,WAAW,OAAO,UAAU;CAC/D,MAAM,UAAoB,CAAC;CAC3B,MAAM,QAAQ,KAAK,MAAM,QAAQ,MAAM,SAAS,EAAE,IAAI,CAAC;CACvD,KAAK,MAAM,KAAK,KAAK,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,QAAQ,KAAK,GAAG,EAAE,KAAK,iBAAiB;CAC3F,MAAM,OAAO,SAAS,QAAQ,MAAM,EAAE,MAAM,cAAc;CAC1D,MAAM,QAAQ,SAAS,KAAK,OAAO,MAAM,EAAE,MAAM,SAAS;CAC1D,MAAM,YAAY,CAChB,GAAG,MAAM,KAAK,KAAK,MAAM,GAAG,EAAE,OAAO,GAAG,EAAE,MAAM,GAChD,GAAG,CAAC,GAAG,KAAK,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,WAAW,EAAE,IAAI,IAAI,OAAO,EAAE,OAAO,MAAM,EAAE,EAAE,CAC7F;CACA,IAAI,CAAC,KAAK,OAAO,OAAO;EAAE,OAAO;EAAW,OAAO,KAAK;EAAO;CAAQ;CACvE,MAAM,QAAQ,KAAK,MAAM,MAAM,mBAAmB,CAAC,CAAC,QAAQ,SAAS,KAAK,SAAS,CAAC;CACpF,MAAM,QAAQ,MAAM,IAAI,QAAQ;CAChC,MAAM,4BAAY,IAAI,IAAoB;CAC1C,MAAM,SAAS,SAAiB,eAAe,KAAK,IAAI,CAAC,GAAG,MAAM,UAAU,KAAK,IAAI,CAAC,GAAG;CACzF,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,MAAM,QAAQ,SAAS,IAAI,IAAI,MAAM,IAAI,IAAI,KAAA;EACnD,IAAI,KAAK,UAAU,IAAI,MAAM,UAAU,IAAI,GAAG,KAAK,KAAK,CAAC;CAC3D;CACA,MAAM,MAAgB,CAAC;CACvB,MAAM,yBAAS,IAAI,IAAY;CAC/B,MAAM,QAAQ,SAAiB;EAC7B,QAAQ,KAAK,IAAI;EACjB,IAAI,KAAK,oBAAoB,KAAK,IAAI;CACxC;CACA,KAAK,MAAM,CAAC,GAAG,SAAS,MAAM,QAAQ,GAAG;EACvC,MAAM,OAAO,MAAM;EACnB,IAAI,CAAC,MAAM;GACT,IAAI,KAAK,IAAI;GACb;EACF;EACA,IAAI,CAAC,SAAS,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG;EAC1C,MAAM,MAAM,MAAM,IAAI;EACtB,IAAI,KAAK;GACP,IAAI,OAAO,IAAI,GAAG,GAAG;GACrB,OAAO,IAAI,GAAG;GACd,MAAM,MAAM,eAAe,KAAK,IAAI,IAAI,2BAA2B;GACnE,KAAK,GAAG,IAAI,IAAI,OAAO,UAAU,IAAI,GAAG,KAAK,GAAG,MAAM,EAAE,KAAK,KAAK;GAClE;EACF;EACA,IAAI,SAAS,KAAK,IAAI,GAAG;GACvB,KAAK,GAAG,KAAK,cAAc,OAAO,gBAAgB,IAAI,CAAC,CAAC,QAAQ,cAAc,GAAG;GACjF;EACF;EACA,IAAI,KAAK,SAAS,sBAAsB,GAAG;GACzC,KAAK,GAAG,KAAK,SAAS;GACtB;EACF;EACA,IAAI,UAAU,KAAK,IAAI,GAAG;GACxB,KAAK,GAAG,KAAK,YAAY;GACzB;EACF;EACA,MAAM,UAAU,KAAK,IAAI,GAAG,GAAG,gBAAgB,IAAI,CAAC,CAAC,KAAK,MAAM,EAAE,SAAS,CAAC,CAAC;EAC7E,IAAI,UAAA,KAA+B;GACjC,KAAK,GAAG,KAAK,wBAAwB,QAAQ,YAAY;GACzD;EACF;EACA,IAAI,KAAK,IAAI;CACf;CACA,OAAO;EAAE,OAAO;EAAW,OAAO,IAAI,KAAK,EAAE;EAAG;CAAQ;AAC1D;;AAGA,MAAa,iBAAiB,UAA0B,UAAU;CAAE;CAAO,OAAO,CAAC;AAAE,CAAC,CAAC,CAAC;AAMxF,SAAS,SAAS,MAA6B;CAE7C,OADe,kCAAkC,KAAK,IAC1C,CAAC,GAAG,MAAM;AACxB"}
|