reeval 0.4.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_NOTICES.md +5 -5
- package/assets/package.json +1 -1
- package/assets/pnpm-lock.yaml +61 -66
- package/dist/{agent-C9dLMCM7.js → agent-BrqDHAx6.js} +5 -5
- package/dist/{agent-C9dLMCM7.js.map → agent-BrqDHAx6.js.map} +1 -1
- package/dist/{agent-M70OWyfG.js → agent-bHgHIPVD.js} +4 -4
- package/dist/{agent-M70OWyfG.js.map → agent-bHgHIPVD.js.map} +1 -1
- package/dist/{analysis-CxSCt1YY.js → analysis-BV3TCznv.js} +9 -5
- package/dist/analysis-BV3TCznv.js.map +1 -0
- package/dist/{assemble-BmVT26kf.js → assemble-BB_dcnfh.js} +41 -15
- package/dist/assemble-BB_dcnfh.js.map +1 -0
- package/dist/assemble-DcLLkwnB.js +2 -0
- package/dist/bridge/index.mjs +1 -1
- package/dist/capture-EvOaSXj_.js +2 -0
- package/dist/capture-tcMRp6ks.js +587 -0
- package/dist/capture-tcMRp6ks.js.map +1 -0
- package/dist/{cli-BdxFLEIc.js → cli-BM-qbqO_.js} +80 -56
- package/dist/cli-BM-qbqO_.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/{command-BtcBitmY.js → command-BT9i1I5S.js} +15 -14
- package/dist/command-BT9i1I5S.js.map +1 -0
- package/dist/command-Bn_kbh3B.js +2 -0
- package/dist/{command-ByqQ-v-j.js → command-BpoZJVeI.js} +14 -14
- package/dist/{command-ByqQ-v-j.js.map → command-BpoZJVeI.js.map} +1 -1
- package/dist/{command-CIsO5xdR.js → command-DATlIXj1.js} +10 -10
- package/dist/{command-CIsO5xdR.js.map → command-DATlIXj1.js.map} +1 -1
- package/dist/{command-CQiFfn-C.js → command-DITkSzxp.js} +71 -21
- package/dist/command-DITkSzxp.js.map +1 -0
- package/dist/{commands-CPrrZ2mI.js → commands-C0SFWd1T.js} +9 -7
- package/dist/commands-C0SFWd1T.js.map +1 -0
- package/dist/{commands-D3Dxgh60.js → commands-CDty3r_G.js} +1 -1
- package/dist/{config-B93Csktg.js → config-Cy_vLUbw.js} +13 -9
- package/dist/config-Cy_vLUbw.js.map +1 -0
- package/dist/db-4nMvBFNX.js +2 -0
- package/dist/{db-SpvY8l1g.js → db-iskAs8Ox.js} +13 -10
- package/dist/db-iskAs8Ox.js.map +1 -0
- package/dist/{dist-C2k9IvL3.js → dist-Dmm3bnKA.js} +4 -4
- package/dist/{dist-C2k9IvL3.js.map → dist-Dmm3bnKA.js.map} +1 -1
- package/dist/{docker-uNaAGE2C.js → docker-B9wx9-KX.js} +8 -4
- package/dist/{docker-uNaAGE2C.js.map → docker-B9wx9-KX.js.map} +1 -1
- package/dist/{docker-C2YwD_dh.js → docker-Ctnty6xd.js} +2 -2
- package/dist/{docker-C2YwD_dh.js.map → docker-Ctnty6xd.js.map} +1 -1
- package/dist/{docker-Bv1ZC6V7.js → docker-Di4o89kZ.js} +1 -1
- package/dist/{doctor-COH-levb.js → doctor-BMUVi-gC.js} +17 -16
- package/dist/doctor-BMUVi-gC.js.map +1 -0
- package/dist/duration-JsJrIWXq.js +26 -0
- package/dist/duration-JsJrIWXq.js.map +1 -0
- package/dist/{egress-C7Obb71D.js → egress-3bdvDu1s.js} +86 -24
- package/dist/{egress-C7Obb71D.js.map → egress-3bdvDu1s.js.map} +1 -1
- package/dist/{environment-lDFQY2BF.js → environment-DiCljXMD.js} +43 -40
- package/dist/environment-DiCljXMD.js.map +1 -0
- package/dist/errors-yDAEwmZo.js +15 -0
- package/dist/errors-yDAEwmZo.js.map +1 -0
- package/dist/files-BM78_nnF.js +2 -0
- package/dist/{files-CMoTBEul.js → files-CITwkC4O.js} +2 -2
- package/dist/{files-CMoTBEul.js.map → files-CITwkC4O.js.map} +1 -1
- package/dist/files-C_CsTMtM.js +2 -0
- package/dist/{files-BLlrhU4-.js → files-Ca0d6Uq3.js} +2 -2
- package/dist/{files-BLlrhU4-.js.map → files-Ca0d6Uq3.js.map} +1 -1
- package/dist/{files-BO9P6msM.js → files-DGhQZaXT.js} +92 -8
- package/dist/files-DGhQZaXT.js.map +1 -0
- package/dist/files-vgLA9tcj.js +2 -0
- package/dist/{git-LJp55bkf.js → git-BzyBakoB.js} +2 -2
- package/dist/{git-LJp55bkf.js.map → git-BzyBakoB.js.map} +1 -1
- package/dist/{harness-BbMShUC-.js → harness-8-dnGNgT.js} +2 -2
- package/dist/{harness-BbMShUC-.js.map → harness-8-dnGNgT.js.map} +1 -1
- package/dist/harness.d.ts +1 -1
- package/dist/harness.js +1 -1
- package/dist/{header-sPQ9Lq2S.js → header-IE-uIvX0.js} +2 -2
- package/dist/{header-sPQ9Lq2S.js.map → header-IE-uIvX0.js.map} +1 -1
- package/dist/{images-Pph_XJ68.js → images-QBtOj-_q.js} +6 -6
- package/dist/{images-Pph_XJ68.js.map → images-QBtOj-_q.js.map} +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.js +51 -84
- package/dist/index.js.map +1 -1
- package/dist/{init-BcYpzHXs.js → init-B47uIoHu.js} +7 -9
- package/dist/init-B47uIoHu.js.map +1 -0
- package/dist/init-DIAJuCs2.js +2 -0
- package/dist/{jiti-DWsGEgxD.js → jiti-BcJHCtrb.js} +2 -2
- package/dist/{jiti-DWsGEgxD.js.map → jiti-BcJHCtrb.js.map} +1 -1
- package/dist/{judge-D6wqgTDp.js → judge-7WjNdU9z.js} +5 -5
- package/dist/judge-7WjNdU9z.js.map +1 -0
- package/dist/judge.d.ts +1 -1
- package/dist/judge.js +1 -1
- package/dist/{matchers-DbFPZQgA.js → matchers-Bp-OH1vj.js} +2 -2
- package/dist/{matchers-DbFPZQgA.js.map → matchers-Bp-OH1vj.js.map} +1 -1
- package/dist/{model-CJ6USX6C.js → model-BeoRxCcJ.js} +1 -1
- package/dist/{model-f0wprGPm.js → model-Bv8uUZ07.js} +2 -2
- package/dist/{model-f0wprGPm.js.map → model-Bv8uUZ07.js.map} +1 -1
- package/dist/model-C_B5JrhL.js +2 -0
- package/dist/{model-DUZtNaYR.js → model-Cp6NoAT3.js} +8 -6
- package/dist/{model-DUZtNaYR.js.map → model-Cp6NoAT3.js.map} +1 -1
- package/dist/{model-ORtLm2UB.js → model-CtrJdFi6.js} +157 -7
- package/dist/model-CtrJdFi6.js.map +1 -0
- package/dist/{node-OXPxBD2N.js → node-Co7EXge0.js} +4 -3
- package/dist/{node-OXPxBD2N.js.map → node-Co7EXge0.js.map} +1 -1
- package/dist/{options-Ftb2gE01.js → options-DVB78W8X.js} +161 -58
- package/dist/options-DVB78W8X.js.map +1 -0
- package/dist/{patch-BxqggH-T.js → patch-CGCVipPu.js} +2 -2
- package/dist/{patch-BxqggH-T.js.map → patch-CGCVipPu.js.map} +1 -1
- package/dist/{paths-CBvm6pap.js → paths-BmR-7tx3.js} +7 -3
- package/dist/{paths-CBvm6pap.js.map → paths-BmR-7tx3.js.map} +1 -1
- package/dist/{plan-BkhLKrsN.js → plan-Bsge1_cc.js} +3 -3
- package/dist/{plan-BkhLKrsN.js.map → plan-Bsge1_cc.js.map} +1 -1
- package/dist/{preflight-D3cJETui.js → preflight-B5ue4TlX.js} +1 -1
- package/dist/{preflight-CuvY0o3B.js → preflight-BOstyJDX.js} +3 -3
- package/dist/{preflight-CuvY0o3B.js.map → preflight-BOstyJDX.js.map} +1 -1
- package/dist/{prepare-CVuTk5F9.js → prepare-ChIEi8hP.js} +2 -2
- package/dist/{prepare-BI9j2-H-.js → prepare-jpXfdH-9.js} +6 -5
- package/dist/prepare-jpXfdH-9.js.map +1 -0
- package/dist/{provenance-6n49wska.js → provenance-BTJCjEPg.js} +2 -2
- package/dist/{provenance-6n49wska.js.map → provenance-BTJCjEPg.js.map} +1 -1
- package/dist/{providers-BFapaM2D.js → providers-BJCxWIm4.js} +4 -4
- package/dist/{providers-BFapaM2D.js.map → providers-BJCxWIm4.js.map} +1 -1
- package/dist/{providers-Cay8pI0y.js → providers-DxVIaae1.js} +1 -1
- package/dist/query-BtLxk32J.js +2 -0
- package/dist/{query-CnstTDt8.js → query-Cpe659ni.js} +3 -3
- package/dist/{query-CnstTDt8.js.map → query-Cpe659ni.js.map} +1 -1
- package/dist/{questions-Cm321-Mo.js → questions-ZdT3JDyQ.js} +4 -4
- package/dist/{questions-Cm321-Mo.js.map → questions-ZdT3JDyQ.js.map} +1 -1
- package/dist/{results-D9GgBYw5.js → results-CiJzkjNI.js} +4 -4
- package/dist/{results-D9GgBYw5.js.map → results-CiJzkjNI.js.map} +1 -1
- package/dist/{root-Zeokqt3-.js → root-CvdRlRZX.js} +3 -3
- package/dist/{root-Zeokqt3-.js.map → root-CvdRlRZX.js.map} +1 -1
- package/dist/{sandbox-CO__l-i1.js → sandbox--ZXuscAZ.js} +4 -3
- package/dist/sandbox--ZXuscAZ.js.map +1 -0
- package/dist/sandbox.d.ts +1 -1
- package/dist/sandbox.js +1 -1
- package/dist/server-CN3lGbK-.js +2 -0
- package/dist/{server-DsmIrBzi.js → server-CSSXF89R.js} +9 -9
- package/dist/{server-DsmIrBzi.js.map → server-CSSXF89R.js.map} +1 -1
- package/dist/{source-DJ1c8jwe.js → source-BcHShRWU.js} +2 -2
- package/dist/{source-DJ1c8jwe.js.map → source-BcHShRWU.js.map} +1 -1
- package/dist/source-CxLRUqU2.js +2 -0
- package/dist/{src-B1OT_Zhf.js → src-B3J1D0nL.js} +51 -68
- package/dist/src-B3J1D0nL.js.map +1 -0
- package/dist/{src-V-iU5X9S.js → src-BRdoxjJS.js} +16 -16
- package/dist/{src-V-iU5X9S.js.map → src-BRdoxjJS.js.map} +1 -1
- package/dist/src-Ba3zMSdv.js +3 -0
- package/dist/{src-D0RdqpNb.js → src-BjVw2K4H.js} +4 -4
- package/dist/{src-D0RdqpNb.js.map → src-BjVw2K4H.js.map} +1 -1
- package/dist/src-BpVFmHqj.js +3 -0
- package/dist/src-CJONyPRm.js +3 -0
- package/dist/src-CLO4dUg7.js +3 -0
- package/dist/{src-BAiYD4eC.js → src-CdwJuMBO.js} +25 -5
- package/dist/src-CdwJuMBO.js.map +1 -0
- package/dist/{src-DWk0e7ix.js → src-Czhg5ONv.js} +54 -58
- package/dist/src-Czhg5ONv.js.map +1 -0
- package/dist/src-DQCjANtm.js +3 -0
- package/dist/{src-DfEAlC9s.js → src-Dk96a9w7.js} +4 -4
- package/dist/{src-DfEAlC9s.js.map → src-Dk96a9w7.js.map} +1 -1
- package/dist/{src-BmBFlEIe.js → src-DyQJdvp2.js} +8 -6
- package/dist/{src-BmBFlEIe.js.map → src-DyQJdvp2.js.map} +1 -1
- package/dist/{src-BC5FFzE8.js → src-a6y9cGkR.js} +1 -1
- package/dist/src-yCDQ7kpQ.js +4 -0
- package/dist/state-CeYoWFWx.js +2 -0
- package/dist/{state-DFbJrVi3.js → state-evRYxV_q.js} +17 -17
- package/dist/{state-DFbJrVi3.js.map → state-evRYxV_q.js.map} +1 -1
- package/dist/studio-app/assets/{index-B1Pf3LAT.css → index-CUx6GoL5.css} +1 -1
- package/dist/studio-app/assets/{index-BhorHbrj.js → index-WQPq5K3E.js} +9 -9
- package/dist/studio-app/index.html +2 -2
- package/dist/{summary-WR5qLj_z.js → summary-CIw18kb-.js} +6 -6
- package/dist/{summary-WR5qLj_z.js.map → summary-CIw18kb-.js.map} +1 -1
- package/dist/{summary-CEMYhzXm.js → summary-DTUCNA-v.js} +5 -3
- package/dist/summary-DTUCNA-v.js.map +1 -0
- package/dist/{tools-DN-cJcfi.js → tools-By2WuNxm.js} +3 -3
- package/dist/{tools-DN-cJcfi.js.map → tools-By2WuNxm.js.map} +1 -1
- package/dist/{types-B_CqVrOS.d.ts → types-C2Gl05_c.d.ts} +128 -13
- package/dist/types-C5vI3g1C.js.map +1 -1
- package/dist/view/index.d.ts +56 -5
- package/dist/view/index.js +5 -5
- package/dist/views-BEurSpHC.js +3 -0
- package/dist/{views-DNbUdW9d.js → views-BJ0i1Iuw.js} +4 -4
- package/dist/{views-DNbUdW9d.js.map → views-BJ0i1Iuw.js.map} +1 -1
- package/dist/{worker-entry-CJmG4hhE.js → worker-entry-mCctDzig.js} +6 -6
- package/dist/{worker-entry-CJmG4hhE.js.map → worker-entry-mCctDzig.js.map} +1 -1
- package/dist/{workspace-QtlJtRut.js → workspace-Bl1SiRQa.js} +4 -4
- package/dist/{workspace-QtlJtRut.js.map → workspace-Bl1SiRQa.js.map} +1 -1
- package/dist/{workspace-CmSp2MXO.js → workspace-CvAPfa8b.js} +1 -1
- package/package.json +7 -7
- package/dist/analysis-CxSCt1YY.js.map +0 -1
- package/dist/assemble-BmVT26kf.js.map +0 -1
- package/dist/assemble-DZiN1p_E.js +0 -2
- package/dist/cli-BdxFLEIc.js.map +0 -1
- package/dist/command-BtcBitmY.js.map +0 -1
- package/dist/command-CQiFfn-C.js.map +0 -1
- package/dist/command-DllipyoK.js +0 -2
- package/dist/commands-CPrrZ2mI.js.map +0 -1
- package/dist/config-B93Csktg.js.map +0 -1
- package/dist/db-DIE0bsNO.js +0 -2
- package/dist/db-SpvY8l1g.js.map +0 -1
- package/dist/doctor-COH-levb.js.map +0 -1
- package/dist/environment-lDFQY2BF.js.map +0 -1
- package/dist/errors-CSxfJ4qu.js +0 -11
- package/dist/errors-CSxfJ4qu.js.map +0 -1
- package/dist/files-BO9P6msM.js.map +0 -1
- package/dist/files-BRWmQJ-9.js +0 -2
- package/dist/files-BvHCFWgD.js +0 -2
- package/dist/files-Bwr8UW4b.js +0 -2
- package/dist/init-BcYpzHXs.js.map +0 -1
- package/dist/init-YS5qBRwV.js +0 -2
- package/dist/judge-D6wqgTDp.js.map +0 -1
- package/dist/model-CNoc8t2Y.js +0 -2
- package/dist/model-ORtLm2UB.js.map +0 -1
- package/dist/options-Ftb2gE01.js.map +0 -1
- package/dist/prepare-BI9j2-H-.js.map +0 -1
- package/dist/query-Br77sQYj.js +0 -2
- package/dist/sandbox-CO__l-i1.js.map +0 -1
- package/dist/server-D5Zq3I5N.js +0 -2
- package/dist/source-BgqURlel.js +0 -2
- package/dist/src-B1OT_Zhf.js.map +0 -1
- package/dist/src-BAiYD4eC.js.map +0 -1
- package/dist/src-Bi2Y3EkE.js +0 -3
- package/dist/src-C8WNyopo.js +0 -3
- package/dist/src-CYz-TreZ.js +0 -3
- package/dist/src-C_91Ln3Z.js +0 -4
- package/dist/src-DWk0e7ix.js.map +0 -1
- package/dist/src-gPJFzHcK.js +0 -3
- package/dist/src-gVzsO4_f.js +0 -3
- package/dist/state-Joc2b4qk.js +0 -2
- package/dist/summary-CEMYhzXm.js.map +0 -1
- package/dist/views-DnYbVkKg.js +0 -3
|
@@ -1,13 +1,82 @@
|
|
|
1
1
|
import { a as maskedMatch, i as findSecrets } from "./redact-DJ9JCShu.js";
|
|
2
|
-
import { t as BUILD_ID } from "./root-
|
|
3
|
-
import { t as RUN_ID } from "./paths-
|
|
2
|
+
import { t as BUILD_ID } from "./root-CvdRlRZX.js";
|
|
3
|
+
import { t as RUN_ID } from "./paths-BmR-7tx3.js";
|
|
4
4
|
import { a as fromCwd, c as relativeFile, l as sha256 } from "./ids-Bp6ut7ZD.js";
|
|
5
|
-
import { t as
|
|
5
|
+
import { r as repoTop, t as git } from "./git-BzyBakoB.js";
|
|
6
|
+
import { t as runHeader } from "./header-IE-uIvX0.js";
|
|
6
7
|
import { s as readableRecord, t as NewerSchemaError } from "./record-CbuQH4l1.js";
|
|
7
|
-
import { o as renderSummary } from "./summary-
|
|
8
|
-
import { dirname, join } from "node:path";
|
|
8
|
+
import { o as renderSummary } from "./summary-DTUCNA-v.js";
|
|
9
|
+
import { dirname, isAbsolute, join } from "node:path";
|
|
9
10
|
import { randomBytes } from "node:crypto";
|
|
10
11
|
import { link, mkdir, readFile, readdir, rename, rm, stat, unlink, writeFile } from "node:fs/promises";
|
|
12
|
+
//#region src/history/ignore.ts
|
|
13
|
+
/**
|
|
14
|
+
* Un-ignores recorded artifacts. A parent `*.log` would otherwise drop `setup.log` and
|
|
15
|
+
* `checks/<n>.log` when someone `git add`s the history folder.
|
|
16
|
+
*/
|
|
17
|
+
const HISTORY_GITIGNORE = `# Un-ignore recorded files. A parent *.log drops setup.log and checks/*.log.
|
|
18
|
+
!*.json
|
|
19
|
+
!*.jsonl
|
|
20
|
+
!*.md
|
|
21
|
+
!*.patch
|
|
22
|
+
!*.log
|
|
23
|
+
`;
|
|
24
|
+
const historyGitignorePath = (historyDir) => join(historyDir, ".gitignore");
|
|
25
|
+
/** Writes the history-folder `.gitignore` when it's missing; leaves a file that's already there. */
|
|
26
|
+
async function ensureHistoryGitignore(historyDir) {
|
|
27
|
+
const path = historyGitignorePath(historyDir);
|
|
28
|
+
try {
|
|
29
|
+
await readFile(path);
|
|
30
|
+
} catch (error) {
|
|
31
|
+
if (error.code !== "ENOENT") throw error;
|
|
32
|
+
await mkdir(historyDir, { recursive: true });
|
|
33
|
+
await writeFile(path, HISTORY_GITIGNORE);
|
|
34
|
+
}
|
|
35
|
+
return path;
|
|
36
|
+
}
|
|
37
|
+
/** `git check-ignore -v` one line: `<source>:<line>:<pattern><TAB><pathname>`. */
|
|
38
|
+
function parseCheckIgnore(line) {
|
|
39
|
+
const tab = line.indexOf(" ");
|
|
40
|
+
if (tab < 0) return null;
|
|
41
|
+
const meta = line.slice(0, tab);
|
|
42
|
+
const pathname = line.slice(tab + 1);
|
|
43
|
+
const match = meta.match(/^(.*):(\d+):(.*)$/);
|
|
44
|
+
if (!match) return null;
|
|
45
|
+
const [, source, lineNo, rule] = match;
|
|
46
|
+
if (!source || !rule) return null;
|
|
47
|
+
if (rule.startsWith("!")) return null;
|
|
48
|
+
return {
|
|
49
|
+
path: pathname,
|
|
50
|
+
rule,
|
|
51
|
+
source: `${source}:${lineNo}`
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Files among `files` that git would ignore (so `git add` of the history folder would drop them).
|
|
56
|
+
* Empty when this isn't a git repo or git can't tell.
|
|
57
|
+
*/
|
|
58
|
+
async function ignoredRecordedFiles(root, files) {
|
|
59
|
+
if (files.length === 0) return [];
|
|
60
|
+
const top = await repoTop(root);
|
|
61
|
+
if (!top) return [];
|
|
62
|
+
const r = await git(top, [
|
|
63
|
+
"check-ignore",
|
|
64
|
+
"-v",
|
|
65
|
+
"--no-index",
|
|
66
|
+
"--stdin"
|
|
67
|
+
], { input: `${files.map((f) => relativeFile(top, f)).join("\n")}\n` });
|
|
68
|
+
if (r.code !== 0) return [];
|
|
69
|
+
return r.stdout.toString("utf8").split("\n").filter(Boolean).flatMap((line) => {
|
|
70
|
+
const parsed = parseCheckIgnore(line);
|
|
71
|
+
if (!parsed) return [];
|
|
72
|
+
const abs = isAbsolute(parsed.path) ? parsed.path : join(top, parsed.path);
|
|
73
|
+
return [{
|
|
74
|
+
...parsed,
|
|
75
|
+
path: fromCwd(abs)
|
|
76
|
+
}];
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
11
80
|
//#region src/history/secret-scan.ts
|
|
12
81
|
/** Findings shown per file; the rest are counted. */
|
|
13
82
|
const SHOWN = 5;
|
|
@@ -305,7 +374,7 @@ async function writeRun(dir, record, artifacts) {
|
|
|
305
374
|
};
|
|
306
375
|
}
|
|
307
376
|
const keeps = (e, level) => level === "all" || level === "failures" && (e.outcome === "fail" || e.outcome === "infra_error");
|
|
308
|
-
const refsOf = (e) => e.attempts.flatMap((a) => [...Object.values(a.files), ...a.checks.flatMap((c) => c.log ? [c.log] : [])]);
|
|
377
|
+
const refsOf = (e) => e.attempts.flatMap((a) => [...Object.values(a.files).flatMap((v) => Array.isArray(v) ? v : v ? [v] : []), ...a.checks.flatMap((c) => c.log ? [c.log] : [])]);
|
|
309
378
|
/** Why a patch that looked like it held a secret isn't in the record. Starts with `SECRET_NOTE`. */
|
|
310
379
|
const SECRET_NOTE = "not kept: it looked like it held a secret";
|
|
311
380
|
/** Promotes a scratch run into the committed history folder. reeval never commits it. */
|
|
@@ -360,16 +429,31 @@ async function recordRun(options) {
|
|
|
360
429
|
throw new HistoryError(`Refusing to record ${runId}: ${found.length} file(s) look like they contain a secret:\n${lines.map((l) => ` ${l}`).join("\n")}\nCheck them, then pass --skip-secret-scan if these are false positives.`);
|
|
361
430
|
}
|
|
362
431
|
}
|
|
432
|
+
await ensureHistoryGitignore(options.historyDir);
|
|
363
433
|
const written = await writeRun(options.historyDir, record, files);
|
|
364
434
|
const bytes = [...files.values()].reduce((n, b) => n + b.length, encodeRecord(record).length);
|
|
435
|
+
if (!written.created) return {
|
|
436
|
+
...written,
|
|
437
|
+
files: files.size,
|
|
438
|
+
bytes,
|
|
439
|
+
droppedPatch,
|
|
440
|
+
ignored: []
|
|
441
|
+
};
|
|
442
|
+
const writtenPaths = [
|
|
443
|
+
written.recordPath,
|
|
444
|
+
historyGitignorePath(options.historyDir),
|
|
445
|
+
...[...files.keys()].map((path) => join(written.artifactDir ?? options.historyDir, ...path.split("/")))
|
|
446
|
+
];
|
|
447
|
+
const ignored = await ignoredRecordedFiles(options.root, writtenPaths);
|
|
365
448
|
return {
|
|
366
449
|
...written,
|
|
367
450
|
files: files.size,
|
|
368
451
|
bytes,
|
|
369
|
-
droppedPatch
|
|
452
|
+
droppedPatch,
|
|
453
|
+
ignored
|
|
370
454
|
};
|
|
371
455
|
}
|
|
372
456
|
//#endregion
|
|
373
457
|
export { listRuns as a, recentRecords as c, recordRun as d, runDir as f, writeRun as h, encodeRecord as i, recordFile as l, warnUnreadable as m, NewerRecordError as n, parseRecord as o, scratchDir as p, SECRET_NOTE as r, readRecord as s, HistoryError as t, recordNames as u };
|
|
374
458
|
|
|
375
|
-
//# sourceMappingURL=files-
|
|
459
|
+
//# sourceMappingURL=files-DGhQZaXT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files-DGhQZaXT.js","names":[],"sources":["../src/history/ignore.ts","../src/history/secret-scan.ts","../src/history/files.ts"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as redactSecrets } from "./redact-DJ9JCShu.js";
|
|
2
|
-
import { et as run } from "./src-
|
|
2
|
+
import { et as run } from "./src-BRdoxjJS.js";
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
//#region src/git.ts
|
|
5
5
|
/** Runs git without a shell. Never include credentials in `args`; pass them through `env`. */
|
|
@@ -41,4 +41,4 @@ async function gitText(cwd, args, options) {
|
|
|
41
41
|
//#endregion
|
|
42
42
|
export { gitText as n, repoTop as r, git as t };
|
|
43
43
|
|
|
44
|
-
//# sourceMappingURL=git-
|
|
44
|
+
//# sourceMappingURL=git-BzyBakoB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-
|
|
1
|
+
{"version":3,"file":"git-BzyBakoB.js","names":[],"sources":["../src/git.ts"],"mappings":";;;;;AASA,eAAsB,IACpB,KACA,MACA,UAAsB,CAAC,GACH;CACpB,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM;EAC/B;EACA,KAAK;GAAE,qBAAqB;GAAK,QAAQ;GAAK,GAAG,QAAQ;EAAI;EAC7D,OAAO,QAAQ;EACf,UAAU;EACV,QAAQ;CACV,CAAC;CACD,OAAO;EAAE,MAAM,EAAE;EAAU,QAAQ,EAAE;EAAQ,QAAQ,cAAc,EAAE,MAAM;CAAE;AAC/E;;;;;AAMA,eAAsB,QAAQ,MAAsC;CAClE,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,aAAa,CAAC;CACtD,OAAO,EAAE,SAAS,IAAI,QAAQ,MAAM,EAAE,OAAO,SAAS,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI;AAC1E;AAEA,IAAa,WAAb,cAA8B,MAAM;CAClC,OAAgB;AAClB;;AAGA,eAAsB,QAAQ,KAAa,MAAgB,SAAuC;CAChG,MAAM,IAAI,MAAM,IAAI,KAAK,MAAM,OAAO;CACtC,IAAI,EAAE,SAAS,GAAG,MAAM,IAAI,SAAS,OAAO,KAAK,GAAG,WAAW,EAAE,OAAO,KAAK,GAAG;CAChF,OAAO,EAAE,OAAO,SAAS,MAAM,CAAC,CAAC,KAAK;AACxC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as UsageError } from "./errors-yDAEwmZo.js";
|
|
2
2
|
import { s as resolveOpenCodeProvider } from "./opencode-providers-DJVocFOU.js";
|
|
3
3
|
//#region src/harness.ts
|
|
4
4
|
/**
|
|
@@ -128,4 +128,4 @@ const fakeHarness = (options = {}) => {
|
|
|
128
128
|
//#endregion
|
|
129
129
|
export { fakeHarness as a, opencodeModelError as c, cursor as i, pi as l, claudeCode as n, goose as o, codex as r, opencode as s, antigravity as t };
|
|
130
130
|
|
|
131
|
-
//# sourceMappingURL=harness-
|
|
131
|
+
//# sourceMappingURL=harness-8-dnGNgT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-
|
|
1
|
+
{"version":3,"file":"harness-8-dnGNgT.js","names":[],"sources":["../src/harness.ts"],"mappings":"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"}
|
package/dist/harness.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { H as FakeScriptStep, R as FakeHarnessDescriptor, T as Duration, W as GooseHarnessDescriptor, m as CodexHarnessDescriptor, ot as PiHarnessDescriptor, p as ClaudeCodeHarnessDescriptor, q as HarnessDescriptor, r as AntigravityHarnessDescriptor, rt as OpenCodeHarnessDescriptor, t as AgentHarnessDescriptor, x as CursorHarnessDescriptor } from "./types-C2Gl05_c.js";
|
|
2
2
|
//#region src/harness.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Cursor's agent through the Cursor TypeScript SDK, in the sandbox. `model` is required (the SDK
|
package/dist/harness.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as fakeHarness, c as opencodeModelError, i as cursor, l as pi, n as claudeCode, o as goose, r as codex, s as opencode, t as antigravity } from "./harness-
|
|
1
|
+
import { a as fakeHarness, c as opencodeModelError, i as cursor, l as pi, n as claudeCode, o as goose, r as codex, s as opencode, t as antigravity } from "./harness-8-dnGNgT.js";
|
|
2
2
|
export { antigravity, claudeCode, codex, cursor, fakeHarness, goose, opencode, opencodeModelError, pi };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { V as cellEffort } from "./model-CtrJdFi6.js";
|
|
2
2
|
//#region src/view/header.ts
|
|
3
3
|
/** The derived header of one run: what listings, indexes and comparisons need without the record. */
|
|
4
4
|
function runHeader(record, recorded) {
|
|
@@ -75,4 +75,4 @@ function runHeader(record, recorded) {
|
|
|
75
75
|
//#endregion
|
|
76
76
|
export { runHeader as t };
|
|
77
77
|
|
|
78
|
-
//# sourceMappingURL=header-
|
|
78
|
+
//# sourceMappingURL=header-IE-uIvX0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-
|
|
1
|
+
{"version":3,"file":"header-IE-uIvX0.js","names":[],"sources":["../src/view/header.ts"],"mappings":";;;AAIA,SAAgB,UAAU,QAAmB,UAAiC;CAC5E,OAAO;EACL,OAAO,OAAO;EACd;EACA,QAAQ,OAAO;EACf,WAAW,OAAO;EAClB,YAAY,OAAO;EACnB,QAAQ,OAAO;EACf,KAAK,OAAO,MACR;GAAE,KAAK,OAAO,IAAI;GAAK,QAAQ,OAAO,IAAI;GAAQ,OAAO,OAAO,IAAI;EAAM,IAC1E;EACJ,QAAQ,OAAO,OAAO;EACtB,IACE,OAAO,OAAO,SAAS,OACnB;GACE,UAAU,OAAO,OAAO;GACxB,QAAQ,OAAO,OAAO;GACtB,IAAI,OAAO,OAAO;EACpB,IACA;EACN,WAAW,OAAO,MAAM,UAAU,KAAK,MAAM,EAAE,EAAE;EACjD,SAAS,OAAO;EAChB,OAAO,OAAO,KAAK;EACnB,OAAO;GACL,UAAU,OAAO,MAAM,OAAO,KAAK,MAAM,EAAE,EAAE;GAC7C,WAAW,CAAC,GAAG,IAAI,IAAI,OAAO,MAAM,OAAO,SAAS,MAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAE,CAAC,CAAC;GAC5F,WAAW,OAAO,MAAM,UAAU,KAAK,MAAM,EAAE,EAAE;GACjD,cAAc,OAAO,aAAa,KAC/B,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,OAAO,QAAQ,YAAY,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,GAClE;GACA,YAAY,OAAO,MAAM,MAAM;GAC/B,aAAa,OAAO,MAAM,MAAM;GAChC,cAAc,OAAO,MAAM,MAAM;GACjC,WAAW,OAAO,MAAM,MAAM;GAC9B,kBAAkB,OAAO,MAAM;EACjC;EACA,OAAO,OAAO,MAAM,KAAK,OAAO;GAC9B,IAAI,EAAE;GACN,KAAK,EAAE;GACP,MAAM,EAAE;GACR,aAAa,EAAE;GACf,SAAS,EAAE;GACX,SAAS,EAAE;GACX,UAAU,EAAE;GACZ,OAAO,EAAE,MAAM,KAAK,OAAO;IACzB,KAAK,EAAE;IACP,MAAM,EAAE;IACR,GAAI,EAAE,YAAY,KAAA,IAAY,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;IACxD,SAAS,EAAE;IACX,OAAO,EAAE;IACT,aAAa,EAAE;IACf,mBAAmB,EAAE;IACrB,MAAM,EAAE;IACR,aAAa,EAAE;IACf,kBAAkB,EAAE;IACpB,MAAM,EAAE;IACR,MAAM,EAAE;IACR,MAAM,EAAE;IACR,YAAY,EAAE;IACd,SAAS,EAAE;IACX,UAAU,EAAE;IACZ,SAAS,EAAE;IACX,QAAQ,WAAW,GAAG,EAAE,GAAG;IAC3B,GAAI,EAAE,OACF,EACE,MAAM;KACJ,IAAI,EAAE,KAAK;KACX,QAAQ,EAAE,KAAK;KACf,IAAI,EAAE,KAAK,SAAS;KACpB,IAAI,EAAE,KAAK,SAAS;KACpB,aAAa,EAAE,KAAK;IACtB,EACF,IACA,CAAC;GACP,EAAE;EACJ,EAAE;CACJ;AACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { I as LABEL, U as imageFor, X as imageInfo, c as dockerfileTag, d as installLayerTag, h as usesEsBase, m as resolveFrom, n as REEVAL_BASE_ARG, ot as isTransient, s as contextHash, u as harnessImageFor } from "./src-
|
|
2
|
-
import { d as sandboxId } from "./options-
|
|
3
|
-
import { n as prepareAll } from "./preflight-
|
|
4
|
-
import { i as installSteps, o as projectPath, r as imageHarness } from "./prepare-
|
|
5
|
-
import { n as createProviders, r as dockerKey } from "./providers-
|
|
1
|
+
import { I as LABEL, U as imageFor, X as imageInfo, c as dockerfileTag, d as installLayerTag, h as usesEsBase, m as resolveFrom, n as REEVAL_BASE_ARG, ot as isTransient, s as contextHash, u as harnessImageFor } from "./src-BRdoxjJS.js";
|
|
2
|
+
import { d as sandboxId } from "./options-DVB78W8X.js";
|
|
3
|
+
import { n as prepareAll } from "./preflight-BOstyJDX.js";
|
|
4
|
+
import { i as installSteps, o as projectPath, r as imageHarness } from "./prepare-jpXfdH-9.js";
|
|
5
|
+
import { n as createProviders, r as dockerKey } from "./providers-BJCxWIm4.js";
|
|
6
6
|
//#region src/sandbox/images.ts
|
|
7
7
|
/** The distinct Docker sandbox and harness pairs, in first-use order, with how many evals use each. */
|
|
8
8
|
function imageTargets(uses) {
|
|
@@ -283,4 +283,4 @@ const harnessFor = (harness) => ({
|
|
|
283
283
|
//#endregion
|
|
284
284
|
export { buildImages, esImages, imagePlanLines, imageStages, imageStatusLines, imageTargets };
|
|
285
285
|
|
|
286
|
-
//# sourceMappingURL=images-
|
|
286
|
+
//# sourceMappingURL=images-QBtOj-_q.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images-
|
|
1
|
+
{"version":3,"file":"images-QBtOj-_q.js","names":[],"sources":["../src/sandbox/images.ts"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as
|
|
1
|
+
import { $ as JudgeFailure, A as EnvironmentHelpers, C as DirectoryOptions, Ct as Verdict, D as EgressRecord, Dt as AttemptRecord, E as EgressPolicy, F as EvalOptions, Ft as RunRecord, G as GroupOptions, I as ExecResult, J as HarnessEdit, K as HarnessData, M as EnvironmentSpec, N as EsConfig, O as EnvVars, Ot as CellRecord, P as EvalFn, Q as JudgeCallOptions, S as Diff, T as Duration, Tt as WebEventType, X as HistoryConfig, Y as HarnessOption, Z as HostFile, _ as CompareOptions, _t as SkillSource, a as BackgroundHandle, at as PairVote, bt as Turn, c as Capture, ct as Profile, d as Cell, f as CellRole, g as CompareCut, gt as SetupStep, h as CompareAnswer, ht as ServeHandle, i as AttemptContext, j as EnvironmentInput, k as Environment, kt as EvalEntry, l as CaptureCall, lt as ProfileDefaults, mt as SecretTemplate, nt as McpServer, pt as Secret, s as Budget, st as PinnableKey, tt as JudgeOptions, u as CaptureOptions, ut as ProfileLimit, v as CompareQuestion, wt as Viewport, xt as TurnData, y as ConfigHelpers, yt as TranscriptEvent } from "./types-C2Gl05_c.js";
|
|
2
2
|
import { Duplex } from "node:stream";
|
|
3
3
|
import { ExpectStatic, Tester } from "@vitest/expect";
|
|
4
4
|
import "@ai-sdk/harness";
|
|
@@ -59,15 +59,19 @@ export declare const DEFAULT_SKILL_EXCLUDE: readonly string[];
|
|
|
59
59
|
*/
|
|
60
60
|
export declare const DEFAULT_DIRECTORY_IGNORES: readonly string[];
|
|
61
61
|
/**
|
|
62
|
-
* What an eval runs in: skills, MCP servers, files, rules, variables, secrets and
|
|
63
|
-
* Pass a spec, or a callback that destructures the typed helpers it needs:
|
|
62
|
+
* What an eval runs in: the sandbox, skills, MCP servers, files, rules, variables, secrets and
|
|
63
|
+
* setup steps. Pass a spec, or a callback that destructures the typed helpers it needs:
|
|
64
64
|
*
|
|
65
65
|
* defineEnvironment('genkit', ({ secret, skill }) => ({
|
|
66
|
+
* sandbox: docker({ from: 'node:24-bookworm' }),
|
|
66
67
|
* env: { GOOGLE_GENAI_API_KEY: secret.fromEnv('GOOGLE_GENERATIVE_AI_API_KEY') },
|
|
67
68
|
* skills: [skill.local('../skills/genkit')],
|
|
68
69
|
* }))
|
|
69
70
|
*
|
|
70
71
|
* The callback runs once, synchronously. Relative paths resolve against the calling file.
|
|
72
|
+
* `extend` / `extendEnvironment` replace `sandbox` entirely when the child sets one; when
|
|
73
|
+
* the child omits it, the parent's sandbox is kept. A bare `defineEnvironment('plain', {})`
|
|
74
|
+
* that is not an extend uses the cascaded option sandbox, else implicit Docker.
|
|
71
75
|
*/
|
|
72
76
|
export declare function defineEnvironment(name: string, input: EnvironmentInput): Environment;
|
|
73
77
|
//#endregion
|
|
@@ -100,5 +104,5 @@ export declare class HarnessCapabilityError extends Error {
|
|
|
100
104
|
name: string;
|
|
101
105
|
}
|
|
102
106
|
//#endregion
|
|
103
|
-
export type { AttemptContext, AttemptRecord, Budget, Cell, CellRecord, CellRole, CompareAnswer, CompareCut, CompareOptions, CompareQuestion, ConfigHelpers, Diff, DirectoryOptions, Duration, EgressPolicy, EgressRecord, EnvVars, Environment, EnvironmentHelpers, EnvironmentInput, EnvironmentSpec, EsConfig, EvalEntry, EvalFn, EvalOptions, ExecResult, GroupOptions, HarnessData, HarnessEdit, HarnessOption, HistoryConfig, HostFile, JudgeCallOptions, JudgeFailure, JudgeOptions, McpServer, PairVote, PinnableKey, Profile, ProfileDefaults, ProfileLimit, RunRecord, Secret, SecretTemplate, SetupStep, SkillSource, TranscriptEvent, Turn, TurnData, Verdict, WebEventType };
|
|
107
|
+
export type { AttemptContext, AttemptRecord, BackgroundHandle, Budget, Capture, CaptureCall, CaptureOptions, Cell, CellRecord, CellRole, CompareAnswer, CompareCut, CompareOptions, CompareQuestion, ConfigHelpers, Diff, DirectoryOptions, Duration, EgressPolicy, EgressRecord, EnvVars, Environment, EnvironmentHelpers, EnvironmentInput, EnvironmentSpec, EsConfig, EvalEntry, EvalFn, EvalOptions, ExecResult, GroupOptions, HarnessData, HarnessEdit, HarnessOption, HistoryConfig, HostFile, JudgeCallOptions, JudgeFailure, JudgeOptions, McpServer, PairVote, PinnableKey, Profile, ProfileDefaults, ProfileLimit, RunRecord, Secret, SecretTemplate, ServeHandle, SetupStep, SkillSource, TranscriptEvent, Turn, TurnData, Verdict, Viewport, WebEventType };
|
|
104
108
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,78 +1,29 @@
|
|
|
1
|
-
import { n as isTimeout, t as
|
|
2
|
-
import {
|
|
1
|
+
import { n as UsageError, r as isTimeout, t as TimeoutError } from "./errors-yDAEwmZo.js";
|
|
2
|
+
import { t as parseDuration } from "./duration-JsJrIWXq.js";
|
|
3
3
|
import { t as inCI } from "./env-BQqj93gu.js";
|
|
4
4
|
import { o as redactSecrets, s as registerSecret } from "./redact-DJ9JCShu.js";
|
|
5
|
+
import { C as stepCommand, E as workspaceOf, T as workspaceLabel, _ as isSecret, b as parseGitRepo, c as defineEnvironment, d as filesOf, h as isHostFile, n as DEFAULT_SKILL_EXCLUDE, t as DEFAULT_DIRECTORY_IGNORES, v as isSecretTemplate, y as mcpHosts } from "./environment-DiCljXMD.js";
|
|
5
6
|
import { t as InfraError } from "./types-C5vI3g1C.js";
|
|
6
|
-
import { _ as layoutOf, a as unenforceable, h as expectedBlockedFor, n as allowedHosts, o as createFakeSandbox, p as brokeringFor, r as egressLabel, t as DEFAULT_EGRESS_ALLOW, v as refusedMcp } from "./egress-
|
|
7
|
+
import { _ as layoutOf, a as unenforceable, h as expectedBlockedFor, n as allowedHosts, o as createFakeSandbox, p as brokeringFor, r as egressLabel, t as DEFAULT_EGRESS_ALLOW, v as refusedMcp } from "./egress-3bdvDu1s.js";
|
|
7
8
|
import { c as relativeFile, i as evalSlug, l as sha256, n as attemptKey, r as evalId, s as recordFileName, t as attemptId } from "./ids-Bp6ut7ZD.js";
|
|
8
|
-
import { c as judgeModelName, d as isApiError, i as badJudgeList, u as runJudge } from "./judge-
|
|
9
|
-
import { S as placeholder, et as run, tt as shellQuote } from "./src-
|
|
10
|
-
import { a as evalPlan, d as sandboxId, f as
|
|
11
|
-
import { n as badCharacterAt, o as defineConfig } from "./config-
|
|
12
|
-
import { a as withLease, c as registerGroup, l as registerTest, o as collectingFile, p as expect, s as getRunContext, t as HarnessCapabilityError } from "./matchers-
|
|
9
|
+
import { c as judgeModelName, d as isApiError, i as badJudgeList, u as runJudge } from "./judge-7WjNdU9z.js";
|
|
10
|
+
import { S as placeholder, et as run, tt as shellQuote } from "./src-BRdoxjJS.js";
|
|
11
|
+
import { a as evalPlan, d as sandboxId, f as sandboxSetBy, h as unbrokeredError, i as checkOptions, l as matchesTags, m as unbrokered, n as cascade, o as expand, p as secretVarsIn, s as harnessId, t as brokeredIn } from "./options-DVB78W8X.js";
|
|
12
|
+
import { n as badCharacterAt, o as defineConfig } from "./config-Cy_vLUbw.js";
|
|
13
|
+
import { a as withLease, c as registerGroup, l as registerTest, o as collectingFile, p as expect, s as getRunContext, t as HarnessCapabilityError } from "./matchers-Bp-OH1vj.js";
|
|
13
14
|
import { a as withDebug, i as debugTrace, n as attemptDebug, r as debugLog, t as AttemptDebug } from "./attempt-CGPV3BZY.js";
|
|
14
|
-
import { t as attemptDebugDir } from "./files-
|
|
15
|
+
import { t as attemptDebugDir } from "./files-Ca0d6Uq3.js";
|
|
15
16
|
import { n as clip, r as formatDuration, t as capMiddle } from "./text-gEcKjAyp.js";
|
|
17
|
+
import { a as asCheck, i as writeCaptureSidecars, n as serveCommand, o as createChecks, t as capturePage } from "./capture-tcMRp6ks.js";
|
|
16
18
|
import { t as contextTaker } from "./context-loi9OCZv.js";
|
|
17
19
|
import { t as PrepareError } from "./provider-CmAYTQQs.js";
|
|
18
|
-
import { i as preparedWorkspace } from "./workspace-
|
|
19
|
-
import { n as judgeDiff } from "./patch-
|
|
20
|
+
import { i as preparedWorkspace } from "./workspace-Bl1SiRQa.js";
|
|
21
|
+
import { n as judgeDiff } from "./patch-CGCVipPu.js";
|
|
20
22
|
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
21
23
|
import { basename, isAbsolute, join, relative, sep } from "node:path";
|
|
22
24
|
import { setTimeout as setTimeout$1 } from "node:timers/promises";
|
|
23
25
|
import { mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
|
|
24
26
|
import { parse } from "yaml";
|
|
25
|
-
//#region src/attempt/checks.ts
|
|
26
|
-
/** Runs a check or setup step with the checks' brokered secrets swapped in (see brokerPhases). */
|
|
27
|
-
const asCheck = (a, fn) => a.phases ? a.phases.checks(fn) : fn();
|
|
28
|
-
function requireSandbox(a) {
|
|
29
|
-
if (!a.sandbox) throw new Error("No sandbox yet: call c.send() or await c.sandbox() before c.exec() or c.readFile()");
|
|
30
|
-
return a.sandbox;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Phase 4, checks: `c.exec` runs with the checks' variables and secrets, each run recorded and
|
|
34
|
-
* timed; `c.readFile` reads the sandbox as is.
|
|
35
|
-
*/
|
|
36
|
-
function createChecks(a) {
|
|
37
|
-
const checkEnv = () => a.env?.checkVars ?? {};
|
|
38
|
-
const exec = async (command) => {
|
|
39
|
-
const box = requireSandbox(a);
|
|
40
|
-
const start = performance.now();
|
|
41
|
-
a.report({
|
|
42
|
-
kind: "check-start",
|
|
43
|
-
command
|
|
44
|
-
});
|
|
45
|
-
const r = await a.timed("checksMs", () => asCheck(a, () => box.exec(command, {
|
|
46
|
-
signal: a.signal,
|
|
47
|
-
env: checkEnv()
|
|
48
|
-
})));
|
|
49
|
-
const durationMs = Math.round(performance.now() - start);
|
|
50
|
-
a.record.checks.push({
|
|
51
|
-
command,
|
|
52
|
-
...r,
|
|
53
|
-
durationMs
|
|
54
|
-
});
|
|
55
|
-
debugLog("check", `$ ${clip(command, 160)} → exit ${r.exitCode} · ${formatDuration(durationMs)}`);
|
|
56
|
-
debugTrace("check", "output", {
|
|
57
|
-
command,
|
|
58
|
-
...r,
|
|
59
|
-
durationMs
|
|
60
|
-
}, `check output: ${clip(command, 80)}`);
|
|
61
|
-
a.report({
|
|
62
|
-
kind: "check-end",
|
|
63
|
-
command,
|
|
64
|
-
exitCode: r.exitCode,
|
|
65
|
-
ms: durationMs
|
|
66
|
-
});
|
|
67
|
-
return r;
|
|
68
|
-
};
|
|
69
|
-
const readFile = (path) => requireSandbox(a).readFile(path);
|
|
70
|
-
return {
|
|
71
|
-
exec,
|
|
72
|
-
readFile
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
//#endregion
|
|
76
27
|
//#region src/attempt/debug.ts
|
|
77
28
|
/** Which config and profile the attempt runs under, and where each resolved option came from. */
|
|
78
29
|
function tracePlan(debug, spec, ctx) {
|
|
@@ -448,7 +399,12 @@ async function resolveEnvironment(environment, optionsEnv, root, where, rulesFil
|
|
|
448
399
|
};
|
|
449
400
|
let egressSet = false;
|
|
450
401
|
let workspace;
|
|
402
|
+
let sandboxSet = false;
|
|
451
403
|
for (const { spec } of environment.layers) {
|
|
404
|
+
if (spec.sandbox !== void 0) {
|
|
405
|
+
if (sandboxSet) overrides.add("sandbox");
|
|
406
|
+
sandboxSet = true;
|
|
407
|
+
}
|
|
452
408
|
if (spec.workspace !== void 0) {
|
|
453
409
|
if (workspace) overrides.add("workspace");
|
|
454
410
|
workspace = spec.workspace;
|
|
@@ -908,7 +864,7 @@ async function callMcpTool(sandbox, servers, name, tool, signal) {
|
|
|
908
864
|
//#region src/harness/index.ts
|
|
909
865
|
async function createHarness(descriptor) {
|
|
910
866
|
if (descriptor.kind === "fake") return createFakeHarness(descriptor);
|
|
911
|
-
const { createAgentHarness } = await import("./agent-
|
|
867
|
+
const { createAgentHarness } = await import("./agent-bHgHIPVD.js");
|
|
912
868
|
return createAgentHarness(descriptor);
|
|
913
869
|
}
|
|
914
870
|
/** Where each harness's agent looks for repo skills, relative to the workspace. */
|
|
@@ -935,8 +891,8 @@ async function prepareEnvironment(a, root, runId, where, signal) {
|
|
|
935
891
|
if (debug) traceEnvironment(debug, spec, env);
|
|
936
892
|
record.image = null;
|
|
937
893
|
if (spec.sandbox.kind === "docker") {
|
|
938
|
-
const { preparedFor } = await import("./preflight-
|
|
939
|
-
const { dockerProvider } = await import("./providers-
|
|
894
|
+
const { preparedFor } = await import("./preflight-B5ue4TlX.js");
|
|
895
|
+
const { dockerProvider } = await import("./providers-DxVIaae1.js");
|
|
940
896
|
signal.throwIfAborted();
|
|
941
897
|
const prepared = preparedFor(root, runId, dockerProvider(), spec.sandbox, spec.harness);
|
|
942
898
|
if (!prepared) throw new InfraError(`The sandbox image for ${where} wasn't prepared before the run started`);
|
|
@@ -1144,7 +1100,7 @@ async function createSandbox(descriptor, options) {
|
|
|
1144
1100
|
switch (descriptor.kind) {
|
|
1145
1101
|
case "fake": return await createFakeSandbox(descriptor, options.env);
|
|
1146
1102
|
case "docker": {
|
|
1147
|
-
const { createDockerSandbox } = await import("./docker-
|
|
1103
|
+
const { createDockerSandbox } = await import("./docker-Di4o89kZ.js");
|
|
1148
1104
|
return await createDockerSandbox(descriptor, options);
|
|
1149
1105
|
}
|
|
1150
1106
|
}
|
|
@@ -1157,16 +1113,13 @@ async function createSandbox(descriptor, options) {
|
|
|
1157
1113
|
//#region src/attempt/record.ts
|
|
1158
1114
|
function classify(error, signal) {
|
|
1159
1115
|
const message = error instanceof Error ? error.message : String(error);
|
|
1160
|
-
if (signal.aborted) {
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
message: "The run was cancelled"
|
|
1168
|
-
};
|
|
1169
|
-
}
|
|
1116
|
+
if (signal.aborted) return isTimeout(signal.reason) ? {
|
|
1117
|
+
kind: "timeout",
|
|
1118
|
+
message: "The eval timed out"
|
|
1119
|
+
} : {
|
|
1120
|
+
kind: "aborted",
|
|
1121
|
+
message: "The run was cancelled"
|
|
1122
|
+
};
|
|
1170
1123
|
if (error instanceof InfraError) return {
|
|
1171
1124
|
kind: "infra",
|
|
1172
1125
|
message
|
|
@@ -1231,6 +1184,7 @@ async function writeRecord(a, stagingDir, id) {
|
|
|
1231
1184
|
const { record, spec } = a;
|
|
1232
1185
|
const recordPath = join(stagingDir, "evals", recordFileName(attemptKey(id, spec.cell.key, spec.n)));
|
|
1233
1186
|
await mkdir(join(stagingDir, "evals"), { recursive: true });
|
|
1187
|
+
await writeCaptureSidecars(stagingDir, recordFileName(attemptKey(id, spec.cell.key, spec.n)), a.artifactBlobs);
|
|
1234
1188
|
const tmp = `${recordPath}.${process.pid}.tmp`;
|
|
1235
1189
|
await writeFile(tmp, redactSecrets(JSON.stringify(record, null, 2)));
|
|
1236
1190
|
await rename(tmp, recordPath);
|
|
@@ -1356,7 +1310,10 @@ function createAttempt(spec, signal, progress) {
|
|
|
1356
1310
|
},
|
|
1357
1311
|
signal,
|
|
1358
1312
|
judgeErrored: false,
|
|
1359
|
-
judgeErrors: []
|
|
1313
|
+
judgeErrors: [],
|
|
1314
|
+
captureNames: /* @__PURE__ */ new Set(),
|
|
1315
|
+
backgrounds: [],
|
|
1316
|
+
artifactBlobs: /* @__PURE__ */ new Map()
|
|
1360
1317
|
};
|
|
1361
1318
|
}
|
|
1362
1319
|
const startTimeoutMs = (harness) => parseDuration(harness.startTimeout ?? "90s");
|
|
@@ -1716,6 +1673,8 @@ async function attemptBody(spec, fn, { signal: testSignal, setMeta, progress, un
|
|
|
1716
1673
|
turns: a.turns,
|
|
1717
1674
|
exec,
|
|
1718
1675
|
readFile,
|
|
1676
|
+
serve: (command, port) => serveCommand(a, command, port),
|
|
1677
|
+
capture: (target, options) => capturePage(a, target, options),
|
|
1719
1678
|
attempt: {
|
|
1720
1679
|
id: attemptId(spec.cell.key, spec.n),
|
|
1721
1680
|
cell: spec.cell,
|
|
@@ -1751,11 +1710,12 @@ async function attemptBody(spec, fn, { signal: testSignal, setMeta, progress, un
|
|
|
1751
1710
|
if (only) throw new Error(more.length ? `${more.length + 1} judge calls failed:\n${a.judgeErrors.join("\n")}` : only);
|
|
1752
1711
|
} catch (error) {
|
|
1753
1712
|
recordFailure(a, error, timedOut());
|
|
1754
|
-
if (timedOut()) throw new
|
|
1713
|
+
if (timedOut()) throw new TimeoutError(`Eval timed out after ${spec.timeoutMs / 1e3}s`);
|
|
1755
1714
|
throw error;
|
|
1756
1715
|
} finally {
|
|
1757
1716
|
if (!a.signal.aborted) await unawaited().catch(() => {});
|
|
1758
1717
|
clock?.clear();
|
|
1718
|
+
for (const bg of a.backgrounds) await bg.kill().catch(() => {});
|
|
1759
1719
|
const { sandbox } = a;
|
|
1760
1720
|
if (sandbox && !a.signal.aborted) await takeContext(sandbox, AbortSignal.timeout(3e4));
|
|
1761
1721
|
if (sandbox) a.report({ kind: "cleanup" });
|
|
@@ -1791,6 +1751,7 @@ function configLevel(config) {
|
|
|
1791
1751
|
env: config.env,
|
|
1792
1752
|
egress: config.egress !== void 0 ? { inherited: config.egress } : {},
|
|
1793
1753
|
judge: config.judge,
|
|
1754
|
+
capture: config.capture,
|
|
1794
1755
|
timeout: void 0,
|
|
1795
1756
|
tags: [],
|
|
1796
1757
|
pin: [],
|
|
@@ -1832,14 +1793,15 @@ function planEval(declaration, ctx) {
|
|
|
1832
1793
|
if (mcp) throw new UsageError(`${where} on ${harnessId(planned.harness)}: ${mcp}`);
|
|
1833
1794
|
}
|
|
1834
1795
|
const path = ctx.file ? relativeFile(ctx.config.root, ctx.file) : null;
|
|
1835
|
-
const
|
|
1836
|
-
sandbox: resolved.sources?.sandbox ?? ctx.config.file,
|
|
1837
|
-
harness: resolved.sources?.harness ?? ctx.config.file
|
|
1838
|
-
};
|
|
1796
|
+
const harnessBy = resolved.sources?.harness ?? ctx.config.file;
|
|
1839
1797
|
const plan = evalPlan(resolvedEval, plannedAttempts, {
|
|
1840
1798
|
configFile: ctx.config.file,
|
|
1841
1799
|
file: path
|
|
1842
1800
|
});
|
|
1801
|
+
const setByOf = (planned) => ({
|
|
1802
|
+
sandbox: sandboxSetBy(planned, resolved, ctx.config.file),
|
|
1803
|
+
harness: harnessBy
|
|
1804
|
+
});
|
|
1843
1805
|
if (resolvedEval.skip) {
|
|
1844
1806
|
const [first] = expand(resolved);
|
|
1845
1807
|
if (!first) return [];
|
|
@@ -1852,7 +1814,7 @@ function planEval(declaration, ctx) {
|
|
|
1852
1814
|
label: "",
|
|
1853
1815
|
harness: first.harness,
|
|
1854
1816
|
sandbox: first.sandbox,
|
|
1855
|
-
setBy,
|
|
1817
|
+
setBy: setByOf(first),
|
|
1856
1818
|
gate: "none",
|
|
1857
1819
|
brokered: [],
|
|
1858
1820
|
secretVars: [],
|
|
@@ -1870,6 +1832,7 @@ function planEval(declaration, ctx) {
|
|
|
1870
1832
|
if (!cells.includes(planned.cell.key)) cells.push(planned.cell.key);
|
|
1871
1833
|
const workspace = workspaceOf(planned.environment.layers);
|
|
1872
1834
|
const files = filesOf(planned.environment.layers);
|
|
1835
|
+
const setBy = setByOf(planned);
|
|
1873
1836
|
const attempt = {
|
|
1874
1837
|
name,
|
|
1875
1838
|
groups,
|
|
@@ -1912,7 +1875,11 @@ function planEval(declaration, ctx) {
|
|
|
1912
1875
|
timeoutMs,
|
|
1913
1876
|
env: resolved.env,
|
|
1914
1877
|
judge: resolved.judge,
|
|
1915
|
-
|
|
1878
|
+
capture: resolved.capture,
|
|
1879
|
+
sources: {
|
|
1880
|
+
...resolved.sources,
|
|
1881
|
+
sandbox: setBy.sandbox
|
|
1882
|
+
},
|
|
1916
1883
|
notes: resolvedEval.notes
|
|
1917
1884
|
}
|
|
1918
1885
|
};
|