reeval 0.6.3 → 0.8.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 +265 -0
- package/THIRD_PARTY_NOTICES.md +5 -5
- package/assets/package.json +1 -1
- package/assets/pnpm-lock.yaml +30 -307
- package/dist/{agent-DKuFnZPM.js → agent-B72lZ6w5.js} +6 -6
- package/dist/{agent-DKuFnZPM.js.map → agent-B72lZ6w5.js.map} +1 -1
- package/dist/{agent-oirN_8IS.js → agent-Cfj1wD4D.js} +5 -5
- package/dist/{agent-oirN_8IS.js.map → agent-Cfj1wD4D.js.map} +1 -1
- package/dist/{analysis-BV3TCznv.js → analysis-BTNnKh1w.js} +4 -4
- package/dist/{analysis-BV3TCznv.js.map → analysis-BTNnKh1w.js.map} +1 -1
- package/dist/{assemble-DYCDgbTq.js → assemble-BbFVjHeS.js} +125 -14
- package/dist/assemble-BbFVjHeS.js.map +1 -0
- package/dist/assemble-CXiTVyHD.js +2 -0
- package/dist/bridge/index.mjs +66 -7
- package/dist/bridge/package.json +3 -3
- package/dist/bridge/pnpm-lock.yaml +84 -89
- package/dist/capture-BXhBfmsM.js +1206 -0
- package/dist/capture-BXhBfmsM.js.map +1 -0
- package/dist/capture-N7r3yeak.js +2 -0
- package/dist/{cli-BIhzl_v_.js → cli-BMjTKY-D.js} +151 -193
- package/dist/cli-BMjTKY-D.js.map +1 -0
- package/dist/{cli-spec-DUeyuSIQ.js → cli-spec-DSvKsOK4.js} +25 -11
- package/dist/cli-spec-DSvKsOK4.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/client-CwzU9CiW.js +256 -0
- package/dist/client-CwzU9CiW.js.map +1 -0
- package/dist/{command-B8tcwUJk.js → command-BK4kOgkH.js} +15 -15
- package/dist/{command-B8tcwUJk.js.map → command-BK4kOgkH.js.map} +1 -1
- package/dist/{command-fJpZK205.js → command-BdstSEHu.js} +7 -7
- package/dist/{command-fJpZK205.js.map → command-BdstSEHu.js.map} +1 -1
- package/dist/{command-DuJBqcwu.js → command-BqJtFiPy.js} +153 -36
- package/dist/command-BqJtFiPy.js.map +1 -0
- package/dist/command-CTVGuH8y.js +2 -0
- package/dist/{command-KoOJ0ntD.js → command-JPGNzFsA.js} +9 -9
- package/dist/{command-KoOJ0ntD.js.map → command-JPGNzFsA.js.map} +1 -1
- package/dist/{commands-CHdTfPB6.js → commands-B618jg3C.js} +6 -6
- package/dist/{commands-CHdTfPB6.js.map → commands-B618jg3C.js.map} +1 -1
- package/dist/{commands-DE604ldB.js → commands-Duo2ur3r.js} +1 -1
- package/dist/{config-7-gXOgQf.js → config-B-E0xRkf.js} +4 -4
- package/dist/{config-7-gXOgQf.js.map → config-B-E0xRkf.js.map} +1 -1
- package/dist/db-CnoUy-FZ.js +3 -0
- package/dist/{db-DvkzBhM6.js → db-DFbtGIYy.js} +84 -37
- package/dist/db-DFbtGIYy.js.map +1 -0
- package/dist/{dist-DsZNsoD3.js → dist-CTzThfu_.js} +3 -3
- package/dist/{dist-DsZNsoD3.js.map → dist-CTzThfu_.js.map} +1 -1
- package/dist/{docker-BBOMThRi.js → docker-2qns7hJ2.js} +4 -4
- package/dist/{docker-BBOMThRi.js.map → docker-2qns7hJ2.js.map} +1 -1
- package/dist/{docker-CiNVc7di.js → docker-D6t23fZl.js} +1 -1
- package/dist/{docker-CzFiN2AZ.js → docker-IFRW8K5f.js} +2 -2
- package/dist/{docker-CzFiN2AZ.js.map → docker-IFRW8K5f.js.map} +1 -1
- package/dist/{doctor-C06kYs2r.js → doctor-B6oYTPoR.js} +11 -11
- package/dist/{doctor-C06kYs2r.js.map → doctor-B6oYTPoR.js.map} +1 -1
- package/dist/{egress-De64jpeQ.js → egress-IUKdeayc.js} +17 -10
- package/dist/egress-IUKdeayc.js.map +1 -0
- package/dist/fake-instructions-CUI33I_F.js +32 -0
- package/dist/fake-instructions-CUI33I_F.js.map +1 -0
- package/dist/{files-BqIF7iu4.js → files-B6aVVGrk.js} +3 -3
- package/dist/{files-BqIF7iu4.js.map → files-B6aVVGrk.js.map} +1 -1
- package/dist/files-BpYgF2z0.js +2 -0
- package/dist/{files-Cq99wif-.js → files-CMSUXAEg.js} +16 -5
- package/dist/{files-Cq99wif-.js.map → files-CMSUXAEg.js.map} +1 -1
- package/dist/files-YCCVaTQC.js +2 -0
- package/dist/{git-Dnl-kXgD.js → git-EmdFJ4DY.js} +2 -2
- package/dist/{git-Dnl-kXgD.js.map → git-EmdFJ4DY.js.map} +1 -1
- package/dist/{harness-3QUEWx8G.js → harness-iqWeJQMM.js} +35 -12
- package/dist/harness-iqWeJQMM.js.map +1 -0
- package/dist/harness.d.ts +22 -11
- package/dist/harness.js +1 -1
- package/dist/{header-IE-uIvX0.js → header-_F0EWob3.js} +2 -2
- package/dist/{header-IE-uIvX0.js.map → header-_F0EWob3.js.map} +1 -1
- package/dist/{images-B8Mp_VXZ.js → images-CscddrJU.js} +6 -6
- package/dist/{images-B8Mp_VXZ.js.map → images-CscddrJU.js.map} +1 -1
- package/dist/index.d.ts +13 -8
- package/dist/index.js +99 -24
- package/dist/index.js.map +1 -1
- package/dist/init-DBHyi92L.js +2 -0
- package/dist/{init-B8mw86E6.js → init-NQfIvi-0.js} +4 -4
- package/dist/{init-B8mw86E6.js.map → init-NQfIvi-0.js.map} +1 -1
- package/dist/{invocations-DHC946b-.js → invocations-nPvrlZPj.js} +3 -3
- package/dist/{invocations-DHC946b-.js.map → invocations-nPvrlZPj.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-BbLGRtOs.js +2 -0
- package/dist/{model-CtrJdFi6.js → model-BndnmcLm.js} +241 -26
- package/dist/model-BndnmcLm.js.map +1 -0
- package/dist/{model-Cp6NoAT3.js → model-Cl507trk.js} +8 -7
- package/dist/model-Cl507trk.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-BeoRxCcJ.js → model-DMOraCcm.js} +1 -1
- package/dist/{opencode-providers-DjlA5fuC.js → opencode-providers-ByD85Q0l.js} +21 -7
- package/dist/{opencode-providers-DjlA5fuC.js.map → opencode-providers-ByD85Q0l.js.map} +1 -1
- package/dist/{options-CWYB613o.js → options-DPUlm4FI.js} +152 -29
- package/dist/options-DPUlm4FI.js.map +1 -0
- package/dist/pairs-DDsjgm5F.js +149 -0
- package/dist/pairs-DDsjgm5F.js.map +1 -0
- package/dist/{plan-CsPE24pp.js → plan-PPc4-6xd.js} +35 -18
- package/dist/plan-PPc4-6xd.js.map +1 -0
- package/dist/{preflight-r0DgibQV.js → preflight-CddycK92.js} +3 -3
- package/dist/{preflight-r0DgibQV.js.map → preflight-CddycK92.js.map} +1 -1
- package/dist/{preflight-DKZjb7ZH.js → preflight-Zumy0adT.js} +1 -1
- package/dist/{prepare-DOkvAa9D.js → prepare-CKdMoC7e.js} +2 -2
- package/dist/{prepare-CTLg3nuk.js → prepare-CsP-057p.js} +4 -4
- package/dist/{prepare-CTLg3nuk.js.map → prepare-CsP-057p.js.map} +1 -1
- package/dist/{provenance--cVNo80L.js → provenance-CsX6PHDR.js} +2 -2
- package/dist/{provenance--cVNo80L.js.map → provenance-CsX6PHDR.js.map} +1 -1
- package/dist/{providers-DNLQzVnc.js → providers-DkwiLKDS.js} +3 -3
- package/dist/{providers-DNLQzVnc.js.map → providers-DkwiLKDS.js.map} +1 -1
- package/dist/{providers-B2cSfewm.js → providers-yXZZcPfx.js} +1 -1
- package/dist/{query-DTtIZaua.js → query-BUcwCYsI.js} +2 -2
- package/dist/{query-DTtIZaua.js.map → query-BUcwCYsI.js.map} +1 -1
- package/dist/query-noGbekGF.js +2 -0
- package/dist/{questions-ZdT3JDyQ.js → questions-BEPj98fZ.js} +27 -118
- package/dist/questions-BEPj98fZ.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-BcSHWbgB.js +52 -0
- package/dist/results-BcSHWbgB.js.map +1 -0
- package/dist/resume-DZ9AmfPv.js +406 -0
- package/dist/resume-DZ9AmfPv.js.map +1 -0
- package/dist/{matchers-Bp-OH1vj.js → runtime-Dfb2r-cS.js} +2 -179
- package/dist/runtime-Dfb2r-cS.js.map +1 -0
- package/dist/sandbox.d.ts +1 -1
- package/dist/{server-BFlKK2j6.js → server-Da60oe4b.js} +9 -9
- package/dist/{server-BFlKK2j6.js.map → server-Da60oe4b.js.map} +1 -1
- package/dist/server-DiGR4JxK.js +2 -0
- package/dist/{source-B2ASbTdc.js → source-BVOnL3sn.js} +2 -2
- package/dist/{source-B2ASbTdc.js.map → source-BVOnL3sn.js.map} +1 -1
- package/dist/source-Dqu0jKwx.js +2 -0
- package/dist/src-BHNiP-5A.js +4 -0
- package/dist/{src-CDiGyoDt.js → src-BT4dB5CO.js} +1 -1
- package/dist/src-BT5pwco0.js +3 -0
- package/dist/src-BrMbt1B2.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-CqsERnCZ.js → src-CxTC5kNI.js} +10 -6
- package/dist/{src-CqsERnCZ.js.map → src-CxTC5kNI.js.map} +1 -1
- package/dist/src-D13vpMh0.js +3 -0
- 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-CVoCJjEe.js → src-DDNXsD9H.js} +29 -5
- package/dist/{src-CVoCJjEe.js.map → src-DDNXsD9H.js.map} +1 -1
- 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-BHFNhTTQ.js → src-D_cXqmnI.js} +59 -49
- package/dist/{src-BHFNhTTQ.js.map → src-D_cXqmnI.js.map} +1 -1
- package/dist/src-DdRlaiRc.js +3 -0
- package/dist/{src-zOeHvrzR.js → src-TdJuDYqB.js} +13 -13
- package/dist/{src-zOeHvrzR.js.map → src-TdJuDYqB.js.map} +1 -1
- package/dist/src-xczuQbE6.js +3 -0
- package/dist/{state-DBKcUJ2u.js → state-B72h_jEw.js} +14 -14
- package/dist/{state-DBKcUJ2u.js.map → state-B72h_jEw.js.map} +1 -1
- package/dist/state-Bf_Vq_pV.js +2 -0
- package/dist/studio-app/assets/{index-WQPq5K3E.js → index-Bgr-efZm.js} +9 -9
- package/dist/studio-app/index.html +1 -1
- package/dist/{summary-BBABbon9.js → summary-CJdxaRdM.js} +7 -7
- package/dist/{summary-BBABbon9.js.map → summary-CJdxaRdM.js.map} +1 -1
- package/dist/{summary-CahgSiVt.js → summary-k3mhWWXv.js} +8 -4
- package/dist/summary-k3mhWWXv.js.map +1 -0
- package/dist/testing.d.ts +14 -0
- package/dist/testing.js +2 -0
- package/dist/tool-target-BU1JnSE9.js +34 -0
- package/dist/tool-target-BU1JnSE9.js.map +1 -0
- package/dist/{tools-53YHomyk.js → tools-D0gF2QoV.js} +3 -3
- package/dist/{tools-53YHomyk.js.map → tools-D0gF2QoV.js.map} +1 -1
- package/dist/{types-CoAfC-_k.d.ts → types-_LOFdPUf.d.ts} +266 -36
- 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 +19 -6
- package/dist/view/index.js +6 -6
- package/dist/{views-Drl2OXuj.js → views-DZ1YDqey.js} +4 -4
- package/dist/{views-Drl2OXuj.js.map → views-DZ1YDqey.js.map} +1 -1
- package/dist/views-Ds0GXWtX.js +3 -0
- package/dist/{worker-entry-mCctDzig.js → worker-entry-DXeyWY-m.js} +73 -2
- package/dist/worker-entry-DXeyWY-m.js.map +1 -0
- package/dist/{workspace-BT4jd04k.js → workspace-DpXdrslo.js} +3 -3
- package/dist/{workspace-BT4jd04k.js.map → workspace-DpXdrslo.js.map} +1 -1
- package/dist/{workspace-U6M1gKzo.js → workspace-DzNL-3iO.js} +1 -1
- package/package.json +14 -8
- package/dist/assemble-DYCDgbTq.js.map +0 -1
- package/dist/assemble-DykFydSU.js +0 -2
- 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-BIhzl_v_.js.map +0 -1
- package/dist/cli-spec-DUeyuSIQ.js.map +0 -1
- package/dist/command-CwuwuKJD.js +0 -2
- package/dist/command-DuJBqcwu.js.map +0 -1
- package/dist/db-BVE1kZ2w.js +0 -2
- package/dist/db-DvkzBhM6.js.map +0 -1
- package/dist/egress-De64jpeQ.js.map +0 -1
- package/dist/files-Cs8tbYQY.js +0 -2
- package/dist/files-wUtoO5aA.js +0 -2
- package/dist/harness-3QUEWx8G.js.map +0 -1
- package/dist/init-DDEpamaf.js +0 -2
- package/dist/matchers-Bp-OH1vj.js.map +0 -1
- package/dist/model-Bv8uUZ07.js.map +0 -1
- package/dist/model-C_B5JrhL.js +0 -2
- package/dist/model-Cp6NoAT3.js.map +0 -1
- package/dist/model-CtrJdFi6.js.map +0 -1
- package/dist/options-CWYB613o.js.map +0 -1
- package/dist/plan-CsPE24pp.js.map +0 -1
- package/dist/query-BWc_5Lhe.js +0 -2
- package/dist/questions-ZdT3JDyQ.js.map +0 -1
- package/dist/record-CbuQH4l1.js.map +0 -1
- package/dist/results-CrFs7_In.js +0 -37
- package/dist/results-CrFs7_In.js.map +0 -1
- package/dist/server-HRUHVcHc.js +0 -2
- package/dist/source-Co7h89WK.js +0 -2
- package/dist/src-BE19tji4.js +0 -3
- package/dist/src-Bo8GFUXg.js +0 -3
- package/dist/src-BoziVhKa.js +0 -3
- package/dist/src-CFxHPwQA.js +0 -3
- package/dist/src-CPkDaNxp.js +0 -3
- package/dist/src-D-go5-qz.js +0 -4
- package/dist/state-BaHjYXr1.js +0 -2
- package/dist/stats-BNAHlNMD.js +0 -114
- package/dist/stats-BNAHlNMD.js.map +0 -1
- package/dist/summary-CahgSiVt.js.map +0 -1
- package/dist/views-BhGinAz_.js +0 -3
- package/dist/worker-entry-mCctDzig.js.map +0 -1
|
@@ -2,12 +2,13 @@ import { r as isTimeout } from "./errors-yDAEwmZo.js";
|
|
|
2
2
|
import { o as redactSecrets } from "./redact-DJ9JCShu.js";
|
|
3
3
|
import { u as environmentSandbox } from "./environment-DiCljXMD.js";
|
|
4
4
|
import { i as evalSlug, l as sha256, n as attemptKey, s as recordFileName, t as attemptId } from "./ids-Bp6ut7ZD.js";
|
|
5
|
-
import { c as judgeModelName } from "./judge-
|
|
6
|
-
import { d as sandboxId, s as harnessId, u as profileJudge } from "./options-
|
|
5
|
+
import { c as judgeModelName } from "./judge-CeYPN8P_.js";
|
|
6
|
+
import { _ as resolvedEffortOf, d as sandboxId, g as harnessEffort, s as harnessId, u as profileJudge, v as servedEffortOf } from "./options-DPUlm4FI.js";
|
|
7
|
+
import { n as promptTokens, r as sumUsage } from "./usage-DDF_6tkV.js";
|
|
7
8
|
import { r as patchForJudge, t as collapseDependencies } from "./patch-CGCVipPu.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { a as
|
|
9
|
+
import { nt as liftInterval, rt as round3 } from "./model-BndnmcLm.js";
|
|
10
|
+
import { a as packageVersions, r as judgeVersion, t as FINGERPRINT_SCOPE } from "./state-B72h_jEw.js";
|
|
11
|
+
import { a as previousAttempt, n as isCompletedAttempt } from "./resume-DZ9AmfPv.js";
|
|
11
12
|
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
12
13
|
import { readFile, stat } from "node:fs/promises";
|
|
13
14
|
//#region src/history/sources.ts
|
|
@@ -98,7 +99,7 @@ function capText(text, cap = OUTPUT_CAP) {
|
|
|
98
99
|
const readRecord = async (path) => JSON.parse(await readFile(path, "utf8").catch(() => "null"));
|
|
99
100
|
/** The engine and the worker's record can disagree, e.g. when a timeout fails the eval first. */
|
|
100
101
|
function mergeOutcome(e, record) {
|
|
101
|
-
if (e.state === "skipped" && record
|
|
102
|
+
if (e.state === "skipped" && record) return {
|
|
102
103
|
outcome: record.outcome,
|
|
103
104
|
error: record.error
|
|
104
105
|
};
|
|
@@ -300,7 +301,8 @@ var Seen = class {
|
|
|
300
301
|
this.harnesses.set(cell.harness, {
|
|
301
302
|
id: cell.harness,
|
|
302
303
|
kind: h.kind,
|
|
303
|
-
model: harnessModel(h)
|
|
304
|
+
model: harnessModel(h),
|
|
305
|
+
effort: harnessEffort(h) ?? null
|
|
304
306
|
});
|
|
305
307
|
}
|
|
306
308
|
const resolved = this.resolvedHarnesses.get(cell.harness) ?? /* @__PURE__ */ new Set();
|
|
@@ -361,6 +363,7 @@ function cellOf(entry, cell, gate, harness) {
|
|
|
361
363
|
environmentDigest: null,
|
|
362
364
|
harnessKind: harness?.kind ?? "unknown",
|
|
363
365
|
model: harness ? harnessModel(harness) : null,
|
|
366
|
+
effort: harness ? harnessEffort(harness) ?? null : null,
|
|
364
367
|
gate,
|
|
365
368
|
overrides: [],
|
|
366
369
|
runs: 0,
|
|
@@ -375,10 +378,92 @@ function cellOf(entry, cell, gate, harness) {
|
|
|
375
378
|
}
|
|
376
379
|
return found;
|
|
377
380
|
}
|
|
381
|
+
async function copyRef(ref, from, out) {
|
|
382
|
+
if (!from) return ref;
|
|
383
|
+
const bytes = await readFile(join(from, ...ref.path.split("/"))).catch(() => null);
|
|
384
|
+
if (!bytes) return ref;
|
|
385
|
+
return out.add(ref.path, Buffer.from(bytes).toString("utf8"));
|
|
386
|
+
}
|
|
387
|
+
/** A completed attempt from a previous assemble of this runId, kept on resume. */
|
|
388
|
+
async function addPreviousAttempt(e, kept, seen, out, judge, previousArtifacts, sources) {
|
|
389
|
+
const cell = e.attempt?.cell ?? {
|
|
390
|
+
...UNKNOWN_CELL,
|
|
391
|
+
key: kept.cell,
|
|
392
|
+
harness: kept.cell.split("/")[0] ?? "unknown",
|
|
393
|
+
environment: kept.cell.split("/")[1] ?? "unknown",
|
|
394
|
+
sandbox: kept.cell.split("/")[2]?.replace(/#\d+$/, "") ?? "unknown"
|
|
395
|
+
};
|
|
396
|
+
if (!seen.sources.has(e.file) && sources) seen.sources.set(e.file, sources);
|
|
397
|
+
if (!seen.sources.has(e.file)) seen.sources.set(e.file, []);
|
|
398
|
+
const resolved = sources ?? seen.sources.get(e.file) ?? [];
|
|
399
|
+
const stub = {
|
|
400
|
+
id: e.id,
|
|
401
|
+
key: e.key,
|
|
402
|
+
file: e.file,
|
|
403
|
+
group: e.group,
|
|
404
|
+
name: e.name,
|
|
405
|
+
attempt: e.attempt,
|
|
406
|
+
state: "skipped",
|
|
407
|
+
durationMs: kept.durationMs,
|
|
408
|
+
errors: [],
|
|
409
|
+
formattedErrors: [],
|
|
410
|
+
meta: void 0
|
|
411
|
+
};
|
|
412
|
+
seen.add(null, cell, stub);
|
|
413
|
+
const entry = seen.entry(stub, resolved);
|
|
414
|
+
const cellRecord = cellOf(entry, cell, e.attempt?.gate ?? "all", e.attempt?.harness);
|
|
415
|
+
const files = {};
|
|
416
|
+
for (const [name, ref] of Object.entries(kept.files)) {
|
|
417
|
+
if (!ref) continue;
|
|
418
|
+
if (Array.isArray(ref)) {
|
|
419
|
+
const copied = [];
|
|
420
|
+
for (const art of ref) {
|
|
421
|
+
if (!previousArtifacts) {
|
|
422
|
+
copied.push(art);
|
|
423
|
+
continue;
|
|
424
|
+
}
|
|
425
|
+
const bytes = await readFile(join(previousArtifacts, ...art.path.split("/"))).catch(() => null);
|
|
426
|
+
copied.push(bytes ? out.addBinary(art.path, bytes) : art);
|
|
427
|
+
}
|
|
428
|
+
if (copied.length) files[name] = copied;
|
|
429
|
+
continue;
|
|
430
|
+
}
|
|
431
|
+
files[name] = await copyRef(ref, previousArtifacts, out);
|
|
432
|
+
}
|
|
433
|
+
const checks = [];
|
|
434
|
+
for (const c of kept.checks) checks.push({
|
|
435
|
+
...c,
|
|
436
|
+
log: c.log ? await copyRef(c.log, previousArtifacts, out) : c.log
|
|
437
|
+
});
|
|
438
|
+
entry.attempts.push({
|
|
439
|
+
...kept,
|
|
440
|
+
seq: null,
|
|
441
|
+
files,
|
|
442
|
+
checks
|
|
443
|
+
});
|
|
444
|
+
if (!cellRecord.fingerprint && kept.outcome !== "skipped") {
|
|
445
|
+
const parts = {
|
|
446
|
+
sources: sha256(JSON.stringify(resolved)),
|
|
447
|
+
harness: sha256(JSON.stringify(e.attempt ? withoutCaps(e.attempt.harness) : null)),
|
|
448
|
+
environment: cellRecord.environmentDigest,
|
|
449
|
+
image: kept.imageId,
|
|
450
|
+
agentCli: null,
|
|
451
|
+
judge,
|
|
452
|
+
context: sha256(JSON.stringify(kept.context))
|
|
453
|
+
};
|
|
454
|
+
cellRecord.fingerprintParts = parts;
|
|
455
|
+
cellRecord.fingerprint = fingerprintOf(parts);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
378
458
|
/** Reads one attempt's worker record, files its artifacts and adds it to its eval and cell. */
|
|
379
|
-
async function addAttempt(e, ctx, seen, out, judge) {
|
|
459
|
+
async function addAttempt(e, ctx, seen, out, judge, previous, previousArtifacts) {
|
|
380
460
|
const cell = e.attempt?.cell ?? UNKNOWN_CELL;
|
|
381
461
|
const n = e.attempt?.n ?? 1;
|
|
462
|
+
const kept = previousAttempt(previous, e.key);
|
|
463
|
+
if (e.state === "skipped" && kept && isCompletedAttempt(kept.outcome, kept.error)) {
|
|
464
|
+
await addPreviousAttempt(e, kept, seen, out, judge, previousArtifacts);
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
382
467
|
const record = await readRecord(join(ctx.stagingDir, "evals", recordFileName(e.key)));
|
|
383
468
|
const { outcome, error } = mergeOutcome(e, record);
|
|
384
469
|
if (!seen.sources.has(e.file)) seen.sources.set(e.file, await traceSources(ctx.config.root, e.file));
|
|
@@ -420,6 +505,8 @@ async function addAttempt(e, ctx, seen, out, judge) {
|
|
|
420
505
|
context,
|
|
421
506
|
egress: record?.egress ?? null,
|
|
422
507
|
servedModels: record?.servedModels ?? null,
|
|
508
|
+
effort: e.attempt ? harnessEffort(e.attempt.harness) ?? null : null,
|
|
509
|
+
servedEffort: servedEffortOf([...record?.servedModels ?? [], ...(record?.turns ?? []).map((t) => t.model)]) ?? null,
|
|
423
510
|
outcome,
|
|
424
511
|
error,
|
|
425
512
|
durationMs: e.durationMs,
|
|
@@ -473,6 +560,7 @@ async function attemptEvidence(record, dir, out, stagingRecord) {
|
|
|
473
560
|
text: t.text.length > TURN_TEXT_LIMIT ? `${t.text.slice(0, TURN_TEXT_LIMIT)}… [reeval: truncated ${t.text.length} characters; the whole message is the turn's last text event in transcript.jsonl]` : t.text
|
|
474
561
|
})),
|
|
475
562
|
usage: sumUsage((record?.turns ?? []).map((t) => t.usage)),
|
|
563
|
+
...record?.captureUse ? { captureUse: record.captureUse } : {},
|
|
476
564
|
timings: record?.timings ?? {
|
|
477
565
|
setupMs: 0,
|
|
478
566
|
agentMs: 0,
|
|
@@ -610,10 +698,14 @@ function stackOf(input, seen, judgeModel, threshold) {
|
|
|
610
698
|
arch: process.arch,
|
|
611
699
|
images: [...seen.images.values()].sort(byName((i) => i.ref)),
|
|
612
700
|
packages,
|
|
613
|
-
harnesses: [...seen.harnesses.values()].map((h) =>
|
|
614
|
-
...h
|
|
615
|
-
|
|
616
|
-
|
|
701
|
+
harnesses: [...seen.harnesses.values()].map((h) => {
|
|
702
|
+
const resolvedModels = [...seen.resolvedHarnesses.get(h.id) ?? []].sort();
|
|
703
|
+
return {
|
|
704
|
+
...h,
|
|
705
|
+
resolvedModels,
|
|
706
|
+
resolvedEffort: resolvedEffortOf(resolvedModels)
|
|
707
|
+
};
|
|
708
|
+
}).sort(byName((h) => h.id)),
|
|
617
709
|
judge: {
|
|
618
710
|
model: judgeModel,
|
|
619
711
|
resolvedModels: [...seen.resolvedJudges].sort(),
|
|
@@ -649,7 +741,26 @@ async function assembleRun(input) {
|
|
|
649
741
|
threshold: runJudge.threshold,
|
|
650
742
|
version: judgeVersion(input.es, packageVersions(input.enginePackages), judgeModel ?? "")
|
|
651
743
|
}));
|
|
652
|
-
for (const e of engine.evals) await addAttempt(e, ctx, seen, out, judge);
|
|
744
|
+
for (const e of engine.evals) await addAttempt(e, ctx, seen, out, judge, input.previous, input.previousArtifacts);
|
|
745
|
+
if (input.previous) {
|
|
746
|
+
const have = new Set([...seen.byEval.values()].flatMap((entry) => entry.attempts.map((a) => a.key)));
|
|
747
|
+
for (const entry of input.previous.evals) for (const a of entry.attempts) {
|
|
748
|
+
if (have.has(a.key) || !isCompletedAttempt(a.outcome, a.error)) continue;
|
|
749
|
+
await addPreviousAttempt({
|
|
750
|
+
id: entry.id,
|
|
751
|
+
key: a.key,
|
|
752
|
+
file: entry.file,
|
|
753
|
+
group: entry.group,
|
|
754
|
+
name: entry.name,
|
|
755
|
+
attempt: void 0,
|
|
756
|
+
state: "skipped",
|
|
757
|
+
durationMs: a.durationMs,
|
|
758
|
+
errors: [],
|
|
759
|
+
formattedErrors: [],
|
|
760
|
+
meta: void 0
|
|
761
|
+
}, a, seen, out, judge, input.previousArtifacts, entry.sources);
|
|
762
|
+
}
|
|
763
|
+
}
|
|
653
764
|
const evals = [...seen.byEval.values()];
|
|
654
765
|
rollUp(evals);
|
|
655
766
|
sequence(evals);
|
|
@@ -727,4 +838,4 @@ async function assembleRun(input) {
|
|
|
727
838
|
//#endregion
|
|
728
839
|
export { fingerprintOf as a, transcriptLines as c, cellOutcome as i, worstOutcome as l, assembleRun as n, judgementKey as o, capText as r, mergeOutcome as s, OUTPUT_CAP as t };
|
|
729
840
|
|
|
730
|
-
//# sourceMappingURL=assemble-
|
|
841
|
+
//# sourceMappingURL=assemble-BbFVjHeS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assemble-BbFVjHeS.js","names":[],"sources":["../src/history/sources.ts","../src/history/assemble.ts"],"mappings":";;;;;;;;;;;;;;;AASA,MAAM,YAAY;AAElB,MAAM,cAAc,SAAiB;CAEnC,OAAO;EACL;EACA,GAHS,gBAAgB,KAAK,IAGzB,IAAI,CAAC,KAAK,QAAQ,iBAAiB,KAAK,GAAG,KAAK,QAAQ,iBAAiB,MAAM,CAAC,IAAI,CAAC;EAC1F,GAAG,KAAK;EACR,GAAG,KAAK;EACR,GAAG,KAAK;EACR,GAAG,KAAK;EACR,KAAK,MAAM,UAAU;EACrB,KAAK,MAAM,UAAU;CACvB;AACF;AAEA,eAAe,OAAO,MAAgC;CACpD,QAAQ,MAAM,KAAK,IAAI,CAAC,CAAC,YAAY,IAAI,EAAA,EAAI,OAAO,KAAK;AAC3D;AAEA,eAAe,cAAc,MAAc,WAA2C;CACpF,MAAM,OAAO,UAAU,WAAW,GAAG,IAAI,YAAY,QAAQ,QAAQ,IAAI,GAAG,SAAS;CACrF,KAAK,MAAM,aAAa,WAAW,IAAI,GAAG,IAAI,MAAM,OAAO,SAAS,GAAG,OAAO;CAC9E,OAAO;AACT;;;;;;AAOA,eAAsB,aAAa,MAAc,MAAiC;CAChF,MAAM,uBAAO,IAAI,IAAoB;CACrC,MAAM,QAAQ,CAAC,QAAQ,MAAM,IAAI,CAAC;CAClC,OAAO,MAAM,QAAQ;EACnB,MAAM,OAAO,MAAM,MAAM;EACzB,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,SAAS,cAAc,GAAG;EAChE,MAAM,QAAQ,MAAM,SAAS,IAAI,CAAC,CAAC,YAAY,IAAI;EACnD,IAAI,CAAC,OAAO;EACZ,KAAK,IAAI,MAAM;GAAE,MAAM,SAAS,MAAM,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;GAAG,QAAQ,OAAO,KAAK;EAAE,CAAC;EACzF,KAAK,MAAM,SAAS,MAAM,SAAS,MAAM,CAAC,CAAC,SAAS,SAAS,GAAG;GAC9D,MAAM,QAAQ,MAAM,cAAc,MAAM,MAAM,EAAY;GAC1D,IAAI,SAAS,CAAC,KAAK,IAAI,KAAK,GAAG,MAAM,KAAK,KAAK;EACjD;CACF;CACA,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,MAAO,EAAE,OAAO,EAAE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,IAAI,CAAE;AAC3F;;;;ACLA,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;;AAGzB,SAAS,UAAU,YAA0D;CAC3E,MAAM,QAAQ,YAAY,MAAM,MAAM,EAAE,SAAS,OAAO;CACxD,IAAI,OAAO,SAAS,SAAS,OAAO;CACpC,MAAM,UAAU,MAAM,QAAQ,KAAK;CACnC,OAAO,QAAQ,SAAS,mBAAmB,GAAG,QAAQ,MAAM,GAAG,gBAAgB,EAAE,KAAK;AACxF;;AAGA,SAAS,OAAO,UAAiC;CAC/C,MAAM,QAAQ,SAAS,SAAS,KAAK,MAAM,EAAE,KAAK,CAAC;CACnD,IAAI,CAAC,OACH,OAAO;EAAE,aAAa;EAAM,cAAc;EAAM,OAAO;EAAM,QAAQ;CAAa;CAEpF,OAAO;EACL,aAAa,aAAa,KAAK;EAC/B,cAAc,MAAM;EACpB;EACA,QAAQ;CACV;AACF;;AAGA,MAAa,aAAa;AAC1B,MAAM,OAAO;AACb,MAAM,OAAO;;AAuCb,SAAgB,QAAQ,MAAc,MAAM,YAAoB;CAC9D,IAAI,KAAK,UAAU,KAAK,OAAO;CAC/B,MAAM,UAAU,KAAK,SAAS,OAAO;CACrC,OAAO,GAAG,KAAK,MAAM,GAAG,IAAI,EAAE,uBAAuB,QAAQ,MAAM,KAAK,OAAO,sBAAsB,OAAO,IAAI,EAAE,KAAK,KAAK,MAAM,MAAK;AACzI;AAEA,MAAM,aAAa,OAAO,SACxB,KAAK,MAAM,MAAM,SAAS,MAAM,MAAM,CAAC,CAAC,YAAY,MAAM,CAAC;;AAK7D,SAAgB,aAAa,GAAe,QAAmC;CAE7E,IAAI,EAAE,UAAU,aAAa,QAAQ,OAAO;EAAE,SAAS,OAAO;EAAS,OAAO,OAAO;CAAM;CAC3F,IAAI,EAAE,UAAU,WAAW,OAAO;EAAE,SAAS;EAAW,OAAO;CAAK;CACpE,IAAI,EAAE,UAAU,UAAU,OAAO;EAAE,SAAS;EAAQ,OAAO;CAAK;CAChE,MAAM,UAAU,EAAE,OAAO,MAAM;CAG/B,MAAM,QACJ,QAAQ,UACP,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,IAC5B;EAAE,MAAM;EAAoB;CAAQ,IACpC;EAAE,MAAM;EAAsB;CAAQ;CAC5C,OAAO;EAAE,SAAS,QAAQ,YAAY,gBAAgB,gBAAgB;EAAQ;CAAM;AACtF;;AAGA,SAAgB,aAAa,UAA8B;CACzD,IAAI,SAAS,SAAS,MAAM,GAAG,OAAO;CACtC,IAAI,SAAS,SAAS,aAAa,GAAG,OAAO;CAC7C,IAAI,SAAS,SAAS,KAAK,SAAS,OAAO,MAAM,MAAM,SAAS,GAAG,OAAO;CAC1E,OAAO,SAAS,SAAS,SAAS;AACpC;AAEA,MAAM,cAAc,aAAwB;CAC1C,MAAM,OAAO,SAAS,QAAQ,MAAM,MAAM,MAAM,CAAC,CAAC;CAClD,MAAM,UAAU,OAAO,SAAS,QAAQ,MAAM,MAAM,MAAM,CAAC,CAAC;CAC5D,OAAO,UAAU,OAAO,UAAU;AACpC;;;AAIA,MAAM,eAA6E,EACjF,eAAe,GACf,cAAc,IACd,GAAG,WACI;AAET,MAAM,gBAAgB,MAA0B,EAAE,SAAS,SAAS,OAAQ,EAAE,SAAS;;AAGvF,MAAa,iBAAiB,UAA4B,OAAO,KAAK,UAAU,KAAK,CAAC;;AAGtF,MAAa,gBAAgB,OAAe,aAC1C,GAAG,MAAM,GAAG,OAAO,QAAQ,CAAC,CAAC,MAAM,GAAG,EAAE;;AAG1C,IAAM,YAAN,MAAgB;CACd,wBAAiB,IAAI,IAAwB;CAE7C,IAAI,MAAc,SAA0B;EAC1C,MAAM,QAAQ,OAAO,KAAK,cAAc,OAAO,CAAC;EAChD,KAAK,MAAM,IAAI,MAAM,KAAK;EAC1B,OAAO;GAAE;GAAM,QAAQ,OAAO,KAAK;GAAG,OAAO,MAAM;EAAO;CAC5D;;CAGA,UAAU,MAAc,SAA8B;EACpD,MAAM,QAAQ,OAAO,KAAK,OAAO;EACjC,KAAK,MAAM,IAAI,MAAM,KAAK;EAC1B,OAAO;GAAE;GAAM,QAAQ,OAAO,KAAK;GAAG,OAAO,MAAM;EAAO;CAC5D;CAEA,KAAK,MAAc,OAAyB;EAC1C,OAAO,KAAK,IAAI,MAAM,GAAG,KAAK,UAAU,OAAO,MAAM,CAAC,EAAE,GAAG;CAC7D;AACF;AAEA,MAAM,SAAS,WAAmB,eAChC,IAAI,KAAK,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,CAAC,YAAY;;AAG3D,SAAgB,gBAAgB,QAA4B;CAC1D,MAAM,QAAkB,CAAC;CACzB,OAAO,MAAM,SAAS,MAAM,UAAU;EACpC,MAAM,KACJ,KAAK,UAAU;GACb,IAAI,KAAK;GACT,MAAM;GACN,MAAM;GACN,MAAM;GACN,MAAM,KAAK;EACb,CAAC,CACH;EACA,KAAK,MAAM,SAAS,KAAK,YAAY;GACnC,IAAI,MAAM,SAAS,QAAQ;IACzB,MAAM,MACJ,OAAO,MAAM,WAAW,WAAW,MAAM,SAAS,KAAK,UAAU,MAAM,QAAQ,MAAM,CAAC;IACxF,IAAI,QAAQ,KAAA,KAAa,IAAI,SAAA,QAAqB;KAChD,MAAM,KAAK,KAAK,UAAU;MAAE,MAAM;MAAO,GAAG;MAAO,QAAQ,QAAQ,GAAG;KAAE,CAAC,CAAC;KAC1E;IACF;GACF;GACA,MAAM,KAAK,KAAK,UAAU;IAAE,MAAM;IAAO,GAAG;GAAM,CAAC,CAAC;EACtD;EACA,MAAM,KACJ,KAAK,UAAU;GACb,IAAI,MAAM,KAAK,WAAW,KAAK,UAAU;GACzC,MAAM,KAAK;GACX,MAAM;GACN,MAAM;GACN,QAAQ,KAAK;GACb,YAAY,KAAK;EACnB,CAAC,CACH;CACF,CAAC;CACD,OAAO,GAAG,MAAM,KAAK,IAAI,EAAE;AAC7B;;AAGA,SAAS,SAAS,QAAmC;CACnD,IAAI,CAAC,OAAO,MAAM,MAAM,MAAM,EAAE,GAAG,GAAG,OAAO;CAI7C,OAAO,GAHO,OAAO,MAAM,SAAS,MAAM,WACvC,KAAK,OAAO,CAAC,EAAA,CAAG,KAAK,SAAS,KAAK,UAAU;EAAE,MAAM;EAAO,GAAI;CAAgB,CAAC,CAAC,CAEvE,CAAC,CAAC,KAAK,IAAI,EAAE;AAC7B;AAEA,SAAS,SAAS,QAA+C;CAC/D,MAAM,SAAS,OAAO,MAAM,SAAS,MAAM,EAAE,UAAU;CACvD,MAAM,SAAS,SAAiB,OAAO,QAAQ,MAAM,EAAE,SAAS,IAAI,CAAC,CAAC;CACtE,MAAM,OAAO,SAAuB;EAClC,MAAM,IAAI,MAAM,IAAI;EACpB,OAAO,MAAM,KAAK,OAAO,MAAM,MAAM,MAAM,EAAE,YAAY,SAAS,IAAI,CAAC,IAAI,OAAO;CACpF;CACA,MAAM,cAAc,OAAO,QACxB,GAAG,MAAM,KAAK,EAAE,SAAS,cAAe,EAAE,cAAc,IAAK,IAC9D,CACF;CACA,OAAO;EACL,OAAO,MAAM,MAAM;EACnB,WAAW,MAAM,WAAW;EAC5B,aAAa,IAAI,YAAY;EAC7B,YAAY,IAAI,WAAW;EAC3B;CACF;AACF;AAEA,MAAM,SAAS,OAAe,SAAiB;CAC7C,MAAM,OAAO,QAAQ,IAAI;CACzB,OAAO,OAAO,MAAM,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK;AACrE;AAEA,MAAM,YAAY,MAChB,KAAK,EAAE,QAAQ,SAAS,EAAE,SAAS,IAAI,MAAM,UAAU,EAAE,MAAM,IAAI,MAAM,UAAU,EAAE,MAAM;;AAG7F,SAAS,aAAa,OAAuB;CAC3C,OAAO,cAAc,KAAK,CAAC,CACxB,MAAM,mBAAmB,CAAC,CAC1B,KAAK,SAAS,QAAQ,IAAI,CAAC,CAAC,CAC5B,KAAK,EAAE;AACZ;AAEA,SAAS,aAAa,OAAoD;CACxE,MAAM,EAAE,MAAM,SAAS,qBAAqB,QAAQ,MAAM,EAAE,IAAI;CAChE,OAAO,CAAC,GAAG,MAAM,GAAG,KAAK,KAAK,OAAO;EAAE,MAAM,EAAE;EAAK,QAAQ;EAAkB,OAAO,EAAE;CAAM,EAAE,CAAC;AAClG;;AAGA,SAAS,YAAY,QAAoB,MAAqB,UAAkB;CAC9E,QAAQ,OAAO,eAAe,CAAC,EAAA,CAAG,KAAK,UAAU;EAC/C,IAAI,SAAS,QAAQ,MAAM,MAAM,SAAS,MAAM,OAAO;EACvD,OAAO;GAAE,GAAG;GAAO,OAAO;IAAE,GAAG,MAAM;IAAO,MAAM;KAAE,MAAM;KAAU,QAAQ,OAAO,IAAI;IAAE;GAAE;EAAE;CAC/F,CAAC;AACH;;AAGA,IAAM,OAAN,MAAW;CACT,0BAAmB,IAAI,IAAsB;CAC7C,yBAAkB,IAAI,IAAuB;CAC7C,2BAAoB,IAAI,IAAyB;CACjD,iCAA0B,IAAI,IAAY;CAC1C,yBAAkB,IAAI,IAAqC;CAC3D,+BAAwB,IAAI,IAA+B;CAC3D,4BAAqB,IAAI,IAGvB;CACF,oCAA6B,IAAI,IAAyB;;CAE1D;CAEA,YAAY,SAA0B;EACpC,KAAK,UAAU,IAAI,IAAI,QAAQ,OAAO,KAAK,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;CACzE;CAEA,IAAI,QAA2B,MAAY,GAAqB;EAC9D,KAAK,MAAM,KAAK,QAAQ,WAAW,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,UAAU,CAAC;EACpF,KAAK,MAAM,KAAK,QAAQ,cAAc,CAAC,GACrC,IAAI,EAAE,eAAe,KAAK,eAAe,IAAI,EAAE,aAAa;EAE9D,IAAI,QAAQ,OAAO;GACjB,MAAM,cAAc,KAAK,QAAQ,IAAI,OAAO,MAAM,EAAE,KAAK,CAAC;GAC1D,KAAK,OAAO,IAAI,OAAO,MAAM,IAAI;IAAE,GAAG,OAAO;IAAO;GAAY,CAAC;EACnE;EACA,IAAI,QAAQ,eAAe,OAAO,YAAY,SAAA,KAAyB;GACrE,MAAM,MAAM,GAAG,OAAO,YAAY,KAAK,IAAI,OAAO,YAAY;GAC9D,KAAK,aAAa,IAAI,KAAK,OAAO,WAAW;EAC/C;EACA,IAAI,EAAE,SAAS;GACb,MAAM,IAAI,EAAE,QAAQ;GACpB,KAAK,UAAU,IAAI,KAAK,SAAS;IAC/B,IAAI,KAAK;IACT,MAAM,EAAE;IACR,OAAO,aAAa,CAAC;IACrB,QAAQ,cAAc,CAAC,KAAK;GAC9B,CAAC;EACH;EACA,MAAM,WAAW,KAAK,kBAAkB,IAAI,KAAK,OAAO,qBAAK,IAAI,IAAY;EAC7E,KAAK,MAAM,KAAK,QAAQ,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,SAAS,IAAI,EAAE,KAAK;EACtE,KAAK,kBAAkB,IAAI,KAAK,SAAS,QAAQ;CACnD;CAEA,MAAM,GAAe,SAA8B;EACjD,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,EAAE;EAChC,IAAI,CAAC,OAAO;GACV,MAAM,MAAM,EAAE;GACd,QAAQ;IACN,IAAI,EAAE;IACN;IACA,MAAM,SAAS,GAAG;IAClB,MAAM,EAAE;IACR,OAAO,EAAE;IACT,MAAM,EAAE;IACR,MAAM,EAAE,SAAS,QAAQ,CAAC;IAC1B,GAAI,EAAE,SAAS,KAAK,UAAU,EAAE,SAAS,EAAE,QAAQ,KAAK,QAAQ,IAAI,CAAC;IACrE,aAAa;IACb;IACA,SAAS;IACT,MAAM,EAAE,SAAS;IACjB,UAAU;IACV,OAAO,CAAC;IACR,UAAU,CAAC;GACb;GACA,KAAK,OAAO,IAAI,EAAE,IAAI,KAAK;EAC7B;EACA,OAAO;CACT;AACF;AAEA,MAAM,eAAqB;CACzB,KAAK;CACL,SAAS;CACT,aAAa;CACb,SAAS;CACT,MAAM;AACR;;AAGA,MAAM,2BAAW,IAAI,QAA4B;AAEjD,MAAM,cAAgC;CACpC,SAAS;CACT,SAAS;CACT,aAAa;CACb,OAAO;CACP,UAAU;CACV,OAAO;CACP,SAAS;AACX;AAEA,SAAS,OACP,OACA,MACA,MACA,SACY;CACZ,IAAI,QAAQ,MAAM,MAAM,MAAM,MAAM,EAAE,QAAQ,KAAK,GAAG;CACtD,IAAI,CAAC,OAAO;EACV,QAAQ;GACN,GAAG;GACH,aAAa;GACb,kBAAkB;GAClB,mBAAmB;GACnB,aAAa,SAAS,QAAQ;GAC9B,OAAO,UAAU,aAAa,OAAO,IAAI;GACzC,QAAQ,UAAW,cAAc,OAAO,KAAK,OAAQ;GACrD;GACA,WAAW,CAAC;GACZ,MAAM;GACN,MAAM;GACN,MAAM;GACN,YAAY;GACZ,SAAS;GACT,UAAU;GACV,SAAS;EACX;EACA,MAAM,MAAM,KAAK,KAAK;CACxB;CACA,OAAO;AACT;AAKA,eAAe,QACb,KACA,MACA,KACkB;CAClB,IAAI,CAAC,MAAM,OAAO;CAClB,MAAM,QAAQ,MAAM,SAAS,KAAK,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI;CACjF,IAAI,CAAC,OAAO,OAAO;CACnB,OAAO,IAAI,IAAI,IAAI,MAAM,OAAO,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC;AAC9D;;AAGA,eAAe,mBACb,GACA,MACA,MACA,KACA,OACA,mBACA,SACe;CACf,MAAM,OAAO,EAAE,SAAS,QAAQ;EAC9B,GAAG;EACH,KAAK,KAAK;EACV,SAAS,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,MAAM;EACpC,aAAa,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,MAAM;EACxC,SAAS,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,QAAQ,SAAS,EAAE,KAAK;CAC5D;CACA,IAAI,CAAC,KAAK,QAAQ,IAAI,EAAE,IAAI,KAAK,SAAS,KAAK,QAAQ,IAAI,EAAE,MAAM,OAAO;CAC1E,IAAI,CAAC,KAAK,QAAQ,IAAI,EAAE,IAAI,GAC1B,KAAK,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAC;CAE7B,MAAM,WAAW,WAAW,KAAK,QAAQ,IAAI,EAAE,IAAI,KAAK,CAAC;CACzD,MAAM,OAAmB;EACvB,IAAI,EAAE;EACN,KAAK,EAAE;EACP,MAAM,EAAE;EACR,OAAO,EAAE;EACT,MAAM,EAAE;EACR,SAAS,EAAE;EACX,OAAO;EACP,YAAY,KAAK;EACjB,QAAQ,CAAC;EACT,iBAAiB,CAAC;EAClB,MAAM,KAAA;CACR;CACA,KAAK,IAAI,MAAM,MAAM,IAAI;CACzB,MAAM,QAAQ,KAAK,MAAM,MAAM,QAAQ;CACvC,MAAM,aAAa,OAAO,OAAO,MAAM,EAAE,SAAS,QAAQ,OAAO,EAAE,SAAS,OAAO;CACnF,MAAM,QAAsB,CAAC;CAC7B,KAAK,MAAM,CAAC,MAAM,QAAQ,OAAO,QAAQ,KAAK,KAAK,GAEhD;EACD,IAAI,CAAC,KAAK;EACV,IAAI,MAAM,QAAQ,GAAG,GAAG;GACtB,MAAM,SAAS,CAAC;GAChB,KAAK,MAAM,OAAO,KAAK;IACrB,IAAI,CAAC,mBAAmB;KACtB,OAAO,KAAK,GAAG;KACf;IACF;IACA,MAAM,QAAQ,MAAM,SAAS,KAAK,mBAAmB,GAAG,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YACtE,IACR;IACA,OAAO,KAAK,QAAQ,IAAI,UAAU,IAAI,MAAM,KAAK,IAAI,GAAG;GAC1D;GACA,IAAI,OAAO,QAAQ,MAAM,QAAQ;GACjC;EACF;EACA,MAAM,QAAS,MAAM,QAAQ,KAAK,mBAAmB,GAAG;CAC1D;CACA,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,KAAK,KAAK,QACnB,OAAO,KAAK;EACV,GAAG;EACH,KAAK,EAAE,MAAM,MAAM,QAAQ,EAAE,KAAK,mBAAmB,GAAG,IAAI,EAAE;CAChE,CAAC;CAEH,MAAM,SAAS,KAAK;EAClB,GAAG;EACH,KAAK;EACL;EACA;CACF,CAAC;CACD,IAAI,CAAC,WAAW,eAAe,KAAK,YAAY,WAAW;EACzD,MAAM,QAA0B;GAC9B,SAAS,OAAO,KAAK,UAAU,QAAQ,CAAC;GACxC,SAAS,OAAO,KAAK,UAAU,EAAE,UAAU,YAAY,EAAE,QAAQ,OAAO,IAAI,IAAI,CAAC;GACjF,aAAa,WAAW;GACxB,OAAO,KAAK;GACZ,UAAU;GACV;GACA,SAAS,OAAO,KAAK,UAAU,KAAK,OAAO,CAAC;EAC9C;EACA,WAAW,mBAAmB;EAC9B,WAAW,cAAc,cAAc,KAAK;CAC9C;AACF;;AAGA,eAAe,WACb,GACA,KACA,MACA,KACA,OACA,UACA,mBACe;CACf,MAAM,OAAO,EAAE,SAAS,QAAQ;CAChC,MAAM,IAAI,EAAE,SAAS,KAAK;CAC1B,MAAM,OAAO,gBAAgB,UAAU,EAAE,GAAG;CAC5C,IAAI,EAAE,UAAU,aAAa,QAAQ,mBAAmB,KAAK,SAAS,KAAK,KAAK,GAAG;EACjF,MAAM,mBAAmB,GAAG,MAAM,MAAM,KAAK,OAAO,iBAAiB;EACrE;CACF;CACA,MAAM,SAAS,MAAM,WAAW,KAAK,IAAI,YAAY,SAAS,eAAe,EAAE,GAAG,CAAC,CAAC;CACpF,MAAM,EAAE,SAAS,UAAU,aAAa,GAAG,MAAM;CACjD,IAAI,CAAC,KAAK,QAAQ,IAAI,EAAE,IAAI,GAC1B,KAAK,QAAQ,IAAI,EAAE,MAAM,MAAM,aAAa,IAAI,OAAO,MAAM,EAAE,IAAI,CAAC;CAEtE,MAAM,UAAU,KAAK,QAAQ,IAAI,EAAE,IAAI,KAAK,CAAC;CAC7C,MAAM,UAAU,QAAQ,WAAW,CAAC;CACpC,KAAK,IAAI,QAAQ,MAAM,CAAC;CACxB,MAAM,QAAQ,KAAK,MAAM,GAAG,OAAO;CACnC,MAAM,aAAa,OAAO,OAAO,MAAM,EAAE,SAAS,QAAQ,OAAO,EAAE,SAAS,OAAO;CACnF,IAAI,EAAE,SAAS,YAAY,KAAA,GAAW,SAAS,IAAI,YAAY,EAAE,QAAQ,OAAO;CAChF,IAAI,QAAQ,aAAa,UAAU,UAAU,WAAW,UAAU,WAAW,GAC3E,WAAW,YAAY,CAAC,GAAG,OAAO,YAAY,SAAS;CAEzD,MAAM,cAAc,QAAQ;CAC5B,IAAI,eAAe,YAAY,SAAA,KAC7B,WAAW,oBAAoB,YAAY;CAG7C,IAAI,CAAC,WAAW,eAAe,QAAQ;EACrC,MAAM,QAA0B;GAC9B,SAAS,OAAO,KAAK,UAAU,OAAO,CAAC;GACvC,SAAS,OAAO,KAAK,UAAU,EAAE,UAAU,YAAY,EAAE,QAAQ,OAAO,IAAI,IAAI,CAAC;GACjF,aAAa,aAAa,UAAU;GACpC,OAAO,QAAQ,OAAO,MAAM;GAC5B,UAAU,QAAQ,OAAO,YAAY;GACrC;GACA,SAAS,OAAO,KAAK,UAAU,OAAO,CAAC;EACzC;EACA,WAAW,mBAAmB;EAC9B,WAAW,cAAc,cAAc,KAAK;CAC9C;CACA,MAAM,SAAS,KAAK;EAClB,KAAK,WAAW,MAAM,KAAK,KAAK,KAAK,CAAC;EACtC,IAAI,UAAU,KAAK,KAAK,CAAC;EACzB,MAAM,KAAK;EACX;EACA,KAAK;EACL,WAAW,QAAQ,aAAa;EAChC,SAAS,QAAQ,OAAO,MAAM;EAC9B,KAAK,QAAQ,OAAO;GAAE,MAAM,CAAC;GAAG,SAAS,CAAC;GAAG,UAAU,CAAC;EAAE;EAC1D;EACA,QAAQ,QAAQ,UAAU;EAC1B,cAAc,QAAQ,gBAAgB;EACtC,QAAQ,EAAE,UAAW,cAAc,EAAE,QAAQ,OAAO,KAAK,OAAQ;EACjE,cACE,eAAe,CACb,GAAI,QAAQ,gBAAgB,CAAC,GAC7B,IAAI,QAAQ,SAAS,CAAC,EAAA,CAAG,KAAK,MAAM,EAAE,KAAK,CAC7C,CAAC,KAAK;EACR;EACA;EACA,YAAY,EAAE;EACd,GAAI,MAAM,gBACR,QACA,GAAG,MAAM,KAAK,GAAG,SAAS,KAAK,GAAG,EAAE,GAAG,KACvC,KACA,KAAK,IAAI,YAAY,SAAS,eAAe,EAAE,GAAG,CAAC,CACrD;CACF,CAAC;AACH;;AAGA,eAAe,gBACb,QACA,KACA,KACA,eAcA;CACA,MAAM,QAAsB,CAAC;CAC7B,IAAI,QAAQ,OAAO,QAAQ;EACzB,MAAM,MAAM,OAAO,MAChB,KACE,MACC,KAAK,EAAE,IAAI,IAAI,EAAE,aAAa,OAAO,cAAc,QAAQ,EAAE,WAAW,SAAS,EAAE,WAAW,MAAM,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,SAAS,IAAI,KAAK,CAAC,EAAE,SAAS,KAAK,MACxK,CAAC,CACA,KAAK,IAAI;EACZ,MAAM,WAAW,IAAI,IAAI,GAAG,IAAI,aAAa,GAAG;CAClD;CACA,IAAI,UAAU,OAAO,MAAM,SAAS,GAAG;EACrC,MAAM,aAAa,IAAI,IAAI,GAAG,IAAI,oBAAoB,gBAAgB,MAAM,CAAC;EAC7E,MAAM,MAAM,SAAS,MAAM;EAC3B,IAAI,KAAK,MAAM,gBAAgB,IAAI,IAAI,GAAG,IAAI,wBAAwB,GAAG;CAC3E;CACA,MAAM,QAAQ,QAAQ,OAAO,aAAa,OAAO,KAAK,KAAK,IAAI;CAC/D,IAAI,UAAU,MAAM,MAAM,OAAO,IAAI,IAAI,GAAG,IAAI,cAAc,KAAK;CACnE,IAAI,QAAQ,aAAa,QACvB,MAAM,aAAa,IAAI,KAAK,GAAG,IAAI,oBAAoB,YAAY,QAAQ,OAAO,YAAY,CAAC;CAEjG,IAAI,QAAQ,WAAW,UAAU,eAAe;EAC9C,MAAM,UAAU,cAAc,QAAQ,WAAW,YAAY;EAC7D,MAAM,YAAY,CAAC;EACnB,KAAK,MAAM,OAAO,OAAO,WAAW;GAClC,MAAM,MAAM,MAAM,SAAS,KAAK,SAAS,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI;GAC7E,IAAI,CAAC,KAAK;GACV,UAAU,KAAK;IACb,GAAG,IAAI,UAAU,GAAG,IAAI,aAAa,IAAI,KAAK,OAAO,GAAG;IACxD,MAAM,IAAI;IACV,WAAW,IAAI;IACf,SAAS,IAAI;GACf,CAAC;EACH;EACA,IAAI,UAAU,QAAQ,MAAM,YAAY;CAC1C;CACA,MAAM,cAAiC,QAAQ,cAAc,CAAC,EAAA,CAAG,KAAK,GAAG,OAAO;EAC9E,GAAG;EACH,KAAK,aAAa,GAAG,EAAE,QAAQ;CACjC,EAAE;CACF,OAAO;EACL,QAAQ,QAAQ,SAAS,CAAC,EAAA,CAAG,KAAK,OAAO;GACvC,QAAQ,EAAE;GACV,QAAQ,EAAE;GACV,WAAW,EAAE;GACb,YAAY,EAAE;GACd,OAAO,EAAE,SAAS;GAClB,OAAO,EAAE,SAAS;GAClB,YAAY,EAAE,cAAc,CAAC;GAC7B,OAAO,UAAU,EAAE,UAAU;GAC7B,MACE,EAAE,KAAK,SAAS,kBACZ,GAAG,EAAE,KAAK,MAAM,GAAG,eAAe,EAAE,uBAAuB,EAAE,KAAK,OAAO,qFACzE,EAAE;EACV,EAAE;EACF,OAAO,UAAU,QAAQ,SAAS,CAAC,EAAA,CAAG,KAAK,MAAM,EAAE,KAAK,CAAC;EACzD,GAAI,QAAQ,aAAa,EAAE,YAAY,OAAO,WAAW,IAAI,CAAC;EAC9D,SAAS,QAAQ,WAAW;GAAE,SAAS;GAAG,SAAS;GAAG,QAAQ;GAAG,UAAU;GAAG,SAAS;EAAE;EACzF,UAAU,SACN,SAAS,MAAM,IACf;GAAE,OAAO;GAAG,WAAW;GAAG,aAAa;GAAG,YAAY;GAAG,aAAa;EAAE;EAC5E;EACA,GAAI,QAAQ,cAAc,SAAS,EAAE,cAAc,OAAO,aAAa,IAAI,CAAC;EAC5E,SAAS,QAAQ,UAAU,CAAC,EAAA,CAAG,KAAK,GAAG,OAAO;GAC5C,SAAS,EAAE;GACX,UAAU,EAAE;GACZ,YAAY,EAAE;GACd,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,IAAI,EAAE,OAAO,SAAS,CAAC,CAAC;EACxD,EAAE;EACF,cAAc,aAAa,QAAQ,MAAM,SAAS,CAAC,CAAC;EACpD;CACF;AACF;;AAGA,SAAS,OAAO,SAAqB,SAAuC;CAC1E,IAAI,QAAQ,aAAa,QAAQ,QAAQ,aAAa,MAAM,OAAO,KAAA;CACnE,MAAM,UAAU,SAAS,IAAI,OAAO;CACpC,MAAM,IAAI;EAAE,MAAM,QAAQ;EAAM,SAAS,QAAQ,OAAO,QAAQ;CAAK;CACrE,MAAM,IAAI;EAAE,MAAM,QAAQ;EAAM,SAAS,QAAQ,OAAO,QAAQ;CAAK;CACrE,MAAM,EAAE,QAAQ,KAAK,SAAS,aAC5B;EAAE,MAAM,EAAE;EAAM,GAAG,EAAE;CAAQ,GAC7B;EAAE,MAAM,EAAE;EAAM,GAAG,EAAE;CAAQ,CAC/B;CACA,OAAO;EACL,IAAI,QAAQ;EACZ,SAAS;EACT,SAAS;EACT,QAAQ,OAAO,MAAM;EACrB,UAAU;GAAE,IAAI,OAAO,GAAG;GAAG,IAAI,OAAO,IAAI;GAAG,OAAO;GAAM,QAAQ;EAAkB;EACtF,aAAa,MAAM,KAAK,OAAO;EAC/B,GAAI,YAAY,KAAA,IAAY,EAAE,QAAQ,IAAI,CAAC;CAC7C;AACF;;;;;AAMA,SAAgB,YAAY,UAAqB,MAAyB;CACxE,IAAI,SAAS,QAAQ,OAAO,aAAa,QAAQ;CACjD,MAAM,WAAW,SAAS,QAAQ,IAAI,KAAK;CAC3C,MAAM,OAAO,WAAW,QAAQ;CAChC,IAAI,SAAS,MAAM,OAAO,aAAa,QAAQ;CAC/C,OAAO,QAAQ,WAAW,SAAS;AACrC;;AAGA,SAAS,OAAO,OAA0B;CACxC,KAAK,MAAM,SAAS,OAAO;EACzB,KAAK,MAAM,KAAK,MAAM,OAAO;GAC3B,MAAM,WAAW,MAAM,SAAS,QAAQ,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,OAAO;GACpF,EAAE,OAAO,SAAS;GAClB,EAAE,OAAO,SAAS,QAAQ,MAAM,MAAM,MAAM,CAAC,CAAC;GAC9C,EAAE,OAAO,SAAS,QAAQ,MAAM,MAAM,MAAM,CAAC,CAAC;GAC9C,EAAE,aAAa,SAAS,QAAQ,MAAM,MAAM,aAAa,CAAC,CAAC;GAC3D,EAAE,UAAU,SAAS,QAAQ,MAAM,MAAM,SAAS,CAAC,CAAC;GACpD,EAAE,WAAW,WAAW,QAAQ;GAChC,EAAE,UAAU,YAAY,UAAU,EAAE,IAAI;EAC1C;EACA,KAAK,MAAM,KAAK,MAAM,OAAO;GAC3B,IAAI,EAAE,SAAS,WAAW;GAC1B,MAAM,UAAU,MAAM,MAAM,MACzB,MAAM,EAAE,SAAS,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,OAC5E;GACA,MAAM,OAAO,WAAW,OAAO,SAAS,CAAC;GACzC,IAAI,CAAC,MAAM;GACX,EAAE,OAAO;GACT,IAAI,KAAK,YAAY,KAAA,KAAa,KAAK,SAAS,KAAK,KAAK,WAAW,EAAE,YAAY,QACjF,EAAE,UAAU;EAEhB;EACA,MAAM,UAAU,aACd,MAAM,MAAM,KAAK,MAAO,EAAE,SAAS,UAAU,EAAE,YAAY,SAAS,SAAS,EAAE,OAAQ,CACzF;EACA,MAAM,QAAQ,IAAI,IAAI,MAAM,MAAM,QAAQ,MAAM,EAAE,SAAS,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,CAAC;EACpF,MAAM,WAAW,WACf,MAAM,SAAS,QAAQ,MAAM,MAAM,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,OAAO,CACtE;EACA,MAAM,cAAc,OAClB,KAAK,UAAU,MAAM,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CACtE;CACF;AACF;;AAGA,SAAS,SAAS,OAA0B;CAa1C,MAXG,SAAS,MAAM,EAAE,QAAQ,CAAC,CAC1B,QAAQ,MAAM,EAAE,cAAc,IAAI,CAAC,CACnC,MAAM,GAAG,MACP,EAAE,YAAwB,EAAE,YACzB,KACC,EAAE,YAAwB,EAAE,YAC3B,IACA,EAAE,MAAM,EAAE,MACR,KACA,CAEN,CAAC,CAAC,SAAS,GAAG,MAAM;EACxB,EAAE,MAAM,IAAI;CACd,CAAC;AACH;;AAGA,SAAS,SAAS,OAAsB,KAAgC;CACtE,MAAM,MAAM,MAAM;CAClB,IAAI,CAAC,KAAK,OAAO,OAAO;CACxB,MAAM,QAAQ,MAAM;CACpB,MAAM,QAAQ;EAAE,GAAG;EAAK,UAAU,QAAQ,OAAO,KAAK,IAAI;CAAK;CAC/D,IAAI,CAAC,OAAO,MAAM,oBAAoB;MACjC,IAAI,MAAM,SAAA,SACb,MAAM,oBAAoB,sBAAsB,MAAM,OAAO;MACxD;EAEL,IAAI,MAAM,IAAI,kBAAkB,KAAK;EACrC,MAAM,gBAAgB;GAAE,MAAM;GAAkB,QAAQ,OAAO,KAAK;GAAG,OAAO,MAAM;EAAO;CAC7F;CACA,OAAO;AACT;AAEA,MAAM,UACA,SACH,GAAM,MACL,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI;AAEjD,SAAS,QACP,OACA,MACA,YACA,WACO;CACP,MAAM,WAAW,gBAAgB,MAAM,cAAc;CACrD,OAAO;EACL,IAAI,MAAM;EACV,MAAM,QAAQ,SAAS;EACvB,SAAS,MAAM;EACf,UAAU,MAAM;EAChB,IAAI,QAAQ;EACZ,MAAM,QAAQ;EACd,QAAQ,CAAC,GAAG,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,MAAM,EAAE,GAAG,CAAC;EAC3D;EACA,WAAW,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,CAAC,CACpC,KAAK,MAAM;GACV,MAAM,iBAAiB,CAAC,GAAI,KAAK,kBAAkB,IAAI,EAAE,EAAE,KAAK,CAAC,CAAE,CAAC,CAAC,KAAK;GAC1E,OAAO;IACL,GAAG;IACH;IACA,gBAAgB,iBAAiB,cAAc;GACjD;EACF,CAAC,CAAC,CACD,KAAK,QAAQ,MAAM,EAAE,EAAE,CAAC;EAC3B,OAAO;GACL,OAAO;GACP,gBAAgB,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC,KAAK;GAC9C;GACA,SAAS,aAAa,MAAM,IAAI,UAAU,cAAc,EAAE;EAC5D;EACA,SAAS,CAAC,GAAG,KAAK,SAAS,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,MAAM,EAAE,IAAI,CAAC;EAC/D,kBAAkB;CACpB;AACF;AAEA,eAAsB,YAAY,OAA6C;CAC7E,MAAM,EAAE,KAAK,WAAW;CACxB,MAAM,EAAE,QAAQ,OAAO,YAAY;CACnC,MAAM,MAAM,IAAI,UAAU;CAC1B,MAAM,WAAW;EAAE,GAAG,OAAO;EAAO,GAAI,WAAW,aAAa,OAAO;CAAG;CAC1E,MAAM,aAAa,SAAS,UAAU,KAAA,IAAY,OAAO,eAAe,SAAS,KAAK;CACtF,MAAM,aAAa,OACjB,KAAK,UAAU;EACb,SAAS,OAAO;EAChB,SAAS,OAAO,QAAQ,IAAI,WAAW;EACvC,SAAS,YAAY,OAAO,OAAO;EACnC,aAAa,OAAO,eAAe;EACnC,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,OAAO,YAAY,OAAO,KAAK;EAC/B,WAAW,OAAO;CACpB,CAAC,CACH;CACA,MAAM,OAAO,IAAI,KAAK,MAAM,OAAO;CACnC,MAAM,QAAQ,OACZ,KAAK,UAAU;EACb,OAAO;EACP,WAAW,SAAS;EACpB,SAAS,aAAa,MAAM,IAAI,gBAAgB,MAAM,cAAc,GAAG,cAAc,EAAE;CACzF,CAAC,CACH;CACA,KAAK,MAAM,KAAK,OAAO,OACrB,MAAM,WAAW,GAAG,KAAK,MAAM,KAAK,OAAO,MAAM,UAAU,MAAM,iBAAiB;CACpF,IAAI,MAAM,UAAU;EAClB,MAAM,OAAO,IAAI,IACf,CAAC,GAAG,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,UAAU,MAAM,SAAS,KAAK,MAAM,EAAE,GAAG,CAAC,CAC/E;EACA,KAAK,MAAM,SAAS,MAAM,SAAS,OACjC,KAAK,MAAM,KAAK,MAAM,UAAU;GAC9B,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,GAAG;GAchE,MAAM,mBAAmB;IAZvB,IAAI,MAAM;IACV,KAAK,EAAE;IACP,MAAM,MAAM;IACZ,OAAO,MAAM;IACb,MAAM,MAAM;IACZ,SAAS,KAAA;IACT,OAAO;IACP,YAAY,EAAE;IACd,QAAQ,CAAC;IACT,iBAAiB,CAAC;IAClB,MAAM,KAAA;GAEoB,GAAG,GAAG,MAAM,KAAK,OAAO,MAAM,mBAAmB,MAAM,OAAO;EAC5F;CAEJ;CACA,MAAM,QAAQ,CAAC,GAAG,KAAK,OAAO,OAAO,CAAC;CACtC,OAAO,KAAK;CACZ,SAAS,KAAK;CACd,KAAK,MAAM,KAAK,OAAO;EACrB,MAAM,UAAU,MAAM,SAAS,IAAI,EAAE,EAAE;EACvC,IAAI,SAAS,QAAQ,EAAE,UAAU;CACnC;CAEA,MAAM,WAAW,MAAM,SAAS,MAAM,EAAE,QAAQ;CAChD,MAAM,SAAS,MAAe,SAAS,QAAQ,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CACtE,MAAM,WAAW,MACd,SAAS,MACR,EAAE,SAAS,QAAQ,MAAM,EAAE,MAAM,MAAM,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,SAAS,MAAM,CACjF,CAAC,CACA,QAAQ,MAAM,EAAE,YAAY,MAAM,CAAC,CAAC;CACvC,MAAM,OAAO,SACX,SAAS,KAAA,IAAY,KAAA,IAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS;CAkE9D,OAAO;EAAE,QAAA;GAhEP,MAAM;GACN,eAAA;GACA;GACA,QAAQ,MAAM,cAAc,gBAAgB,MAAM,gBAAgB,WAAW;GAC7E,WAAW,MAAM,UAAU,YAAY;GACvC,SAAS,MAAM,QAAQ,YAAY;GACnC,YAAY,MAAM,QAAQ,QAAQ,IAAI,MAAM,UAAU,QAAQ;GAC9D,QAAQ,MAAM;GACd,KAAK,SAAS,OAAO,GAAG;GACxB,QAAQ,MAAM;GACd,cAAc,EAAE,WAAW,MAAM,UAAU;GAC3C,OAAO,QAAQ,OAAO,MAAM,YAAY,SAAS,SAAS;GAC1D,cAAc,CAAC,GAAG,KAAK,aAAa,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,MAAM,EAAE,IAAI,CAAC;GACxE,SAAS,UACL;IACE,MAAM,QAAQ;IACd,QAAQ,QAAQ;IAChB,UAAU,KAAK,MACb,KAAK,UAAU;KACb,SAAS,IAAI,QAAQ,SAAS,OAAO;KACrC,aAAa,QAAQ,SAAS,aAAa;KAC3C,SACE,QAAQ,SAAS,eACjB,UAAU,mBAAmB,QAAQ,SAAS,aAAa,OAAO,OAAO,CAAC;KAC5E,MAAM,QAAQ,SAAS;KACvB,SAAS,QAAQ,SAAS;KAC1B,KAAK,QAAQ,SAAS,OAAO,OAAO,KAAK,QAAQ,SAAS,GAAG,CAAC,CAAC,KAAK;IACtE,CAAC,CACH;IACA,OAAO,QAAQ;GACjB,IACA;GACJ,MAAM;IACJ,OAAO,MAAM,KAAK;IAClB,OAAO,MAAM,KAAK;IAClB,UAAU,MAAM,KAAK;IACrB,YAAY,KAAK,MAAM,MAAM,KAAK,UAAU;IAC5C,iBAAiB,MAAM,KAAK;GAC9B;GACA,QAAQ,OAAO,KAAK,MAAM,KAAK,MAAM,CAAC,CAAC,SAAS,MAAM,KAAK,SAAS;GACpE,QAAQ;IACN,SAAS,UAAU,OAAO,OAAO;IACjC,aAAa,OAAO,aAAa,QAAQ;IACzC,MAAM,OAAO;IACb;IACA,WAAW,SAAS;IACpB,WAAW,OAAO;IAClB,aAAa,MAAM,IAAI;IACvB;GACF;GACA,MAAM,OAAO,QAAQ;GACrB,WAAW;GACX,WAAW,EAAE,SAAS,EAAE;GACxB,SAAS;IACP,OAAO,MAAM;IACb,UAAU,SAAS;IACnB,MAAM,MAAM,MAAM;IAClB,MAAM,MAAM,MAAM;IAClB;IACA,YAAY,MAAM,aAAa;IAC/B,SAAS,MAAM,SAAS;GAC1B;GACA;EAEY;EAAG,WAAW,IAAI;CAAM;AACxC"}
|
package/dist/bridge/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Modified by Invertase with patches/@ai-sdk__harness-claude-code@1.0.
|
|
1
|
+
// Modified by Invertase with patches/@ai-sdk__harness-claude-code@1.0.152.patch; see THIRD_PARTY_NOTICES.md.
|
|
2
2
|
import { appendFile, mkdir, writeFile } from "node:fs/promises";
|
|
3
3
|
import { existsSync, readFileSync } from "node:fs";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
@@ -6,6 +6,7 @@ import { argv, env, pid, stdout } from "node:process";
|
|
|
6
6
|
import { WebSocketServer } from "ws";
|
|
7
7
|
import * as claudeAgentSdk from "@anthropic-ai/claude-agent-sdk";
|
|
8
8
|
import * as mcpServerModule from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
|
+
import { isDeepStrictEqual } from "node:util";
|
|
9
10
|
import { z } from "zod/v4";
|
|
10
11
|
//#region ../harness/dist/bridge/index.js
|
|
11
12
|
const DEBUG_LEVEL_WEIGHT = {
|
|
@@ -633,7 +634,8 @@ function createClaudeStreamEventState() {
|
|
|
633
634
|
pendingStepUsage: void 0,
|
|
634
635
|
pendingResponseUsage: void 0,
|
|
635
636
|
stepOpen: false,
|
|
636
|
-
|
|
637
|
+
mcpToolCalls: /* @__PURE__ */ new Map(),
|
|
638
|
+
mcpHandlerCalls: /* @__PURE__ */ new Map(),
|
|
637
639
|
externalMcpToolUseIds: /* @__PURE__ */ new Set(),
|
|
638
640
|
structuredOutputToolUseIds: /* @__PURE__ */ new Set(),
|
|
639
641
|
observedTerminalError: void 0
|
|
@@ -693,7 +695,7 @@ function createEmitStreamEvent({ state, emit, emitWarning, emitTerminalError, on
|
|
|
693
695
|
});
|
|
694
696
|
return;
|
|
695
697
|
}
|
|
696
|
-
if (type === "tool_progress" || type === "system" && msg.subtype != null && RAW_TASK_MESSAGE_SUBTYPES.has(msg.subtype)) {
|
|
698
|
+
if (type === "tool_progress" || type === "rate_limit_event" || type === "system" && msg.subtype != null && RAW_TASK_MESSAGE_SUBTYPES.has(msg.subtype)) {
|
|
697
699
|
emit({
|
|
698
700
|
type: "raw",
|
|
699
701
|
rawValue: msg
|
|
@@ -730,7 +732,10 @@ function createEmitStreamEvent({ state, emit, emitWarning, emitTerminalError, on
|
|
|
730
732
|
}
|
|
731
733
|
if (block.name.startsWith(HOST_TOOL_PREFIX)) {
|
|
732
734
|
state.pendingStepToolUseIds.add(block.id);
|
|
733
|
-
state.
|
|
735
|
+
state.mcpToolCalls.set(block.id, {
|
|
736
|
+
toolName: block.name.slice(20),
|
|
737
|
+
input: block.input ?? {}
|
|
738
|
+
});
|
|
734
739
|
opensStep = true;
|
|
735
740
|
continue;
|
|
736
741
|
}
|
|
@@ -768,9 +773,37 @@ function createEmitStreamEvent({ state, emit, emitWarning, emitTerminalError, on
|
|
|
768
773
|
const toolUseResult = messageContent.filter((block) => block.type === "tool_result").length === 1 ? msg.tool_use_result : void 0;
|
|
769
774
|
for (const block of messageContent) if (block.type === "tool_result" && typeof block.tool_use_id === "string") {
|
|
770
775
|
if (state.structuredOutputToolUseIds.delete(block.tool_use_id)) continue;
|
|
771
|
-
|
|
772
|
-
|
|
776
|
+
const mcpToolCall = state.mcpToolCalls.get(block.tool_use_id);
|
|
777
|
+
if (mcpToolCall != null) {
|
|
778
|
+
const handlerReportedCall = takeMcpHandlerCall({
|
|
779
|
+
state,
|
|
780
|
+
toolCallId: block.tool_use_id,
|
|
781
|
+
toolCall: mcpToolCall
|
|
782
|
+
});
|
|
783
|
+
state.mcpToolCalls.delete(block.tool_use_id);
|
|
773
784
|
state.pendingStepToolUseIds.delete(block.tool_use_id);
|
|
785
|
+
if (handlerReportedCall) continue;
|
|
786
|
+
const isError = !!block.is_error;
|
|
787
|
+
const result = toolUseResult !== void 0 ? toolUseResult : resolveToolResult({
|
|
788
|
+
toolName: mcpToolCall.toolName,
|
|
789
|
+
dynamic: false,
|
|
790
|
+
isError,
|
|
791
|
+
rawContent: block.content
|
|
792
|
+
});
|
|
793
|
+
emit({
|
|
794
|
+
type: "tool-call",
|
|
795
|
+
toolCallId: block.tool_use_id,
|
|
796
|
+
toolName: mcpToolCall.toolName,
|
|
797
|
+
input: JSON.stringify(mcpToolCall.input),
|
|
798
|
+
providerExecuted: true
|
|
799
|
+
});
|
|
800
|
+
emit({
|
|
801
|
+
type: "tool-result",
|
|
802
|
+
toolCallId: block.tool_use_id,
|
|
803
|
+
toolName: mcpToolCall.toolName,
|
|
804
|
+
result,
|
|
805
|
+
isError
|
|
806
|
+
});
|
|
774
807
|
continue;
|
|
775
808
|
}
|
|
776
809
|
state.approvalRequestedToolUseIds.delete(block.tool_use_id);
|
|
@@ -802,6 +835,20 @@ function createEmitStreamEvent({ state, emit, emitWarning, emitTerminalError, on
|
|
|
802
835
|
}
|
|
803
836
|
};
|
|
804
837
|
}
|
|
838
|
+
function takeMcpHandlerCall({ state, toolCallId, toolCall }) {
|
|
839
|
+
if (state.mcpHandlerCalls.delete(toolCallId)) return true;
|
|
840
|
+
for (const [handlerCallId, handlerCall] of state.mcpHandlerCalls) if (handlerCall.toolName === toolCall.toolName && isDeepStrictEqual(handlerCall.input, toolCall.input)) {
|
|
841
|
+
state.mcpHandlerCalls.delete(handlerCallId);
|
|
842
|
+
return true;
|
|
843
|
+
}
|
|
844
|
+
const matchingHandlerCallIds = Array.from(state.mcpHandlerCalls).filter(([, handlerCall]) => handlerCall.toolName === toolCall.toolName).map(([handlerCallId]) => handlerCallId);
|
|
845
|
+
const matchingToolCallCount = Array.from(state.mcpToolCalls.values()).filter((pendingCall) => pendingCall.toolName === toolCall.toolName).length;
|
|
846
|
+
if (matchingHandlerCallIds.length > 0 && matchingHandlerCallIds.length === matchingToolCallCount) {
|
|
847
|
+
state.mcpHandlerCalls.delete(matchingHandlerCallIds[0]);
|
|
848
|
+
return true;
|
|
849
|
+
}
|
|
850
|
+
return false;
|
|
851
|
+
}
|
|
805
852
|
function finishApprovalStep({ state, emit, approvalId }) {
|
|
806
853
|
state.stepOpen = true;
|
|
807
854
|
state.pendingStepToolUseIds.delete(approvalId);
|
|
@@ -1415,6 +1462,10 @@ async function runTurn(start, turn) {
|
|
|
1415
1462
|
const [input, extra] = handlerArgs;
|
|
1416
1463
|
const metadataToolCallId = extra._meta?.["claudecode/toolUseId"];
|
|
1417
1464
|
const toolCallId = typeof metadataToolCallId === "string" ? metadataToolCallId : randomUUID();
|
|
1465
|
+
streamEventState.mcpHandlerCalls.set(toolCallId, {
|
|
1466
|
+
toolName: tool.name,
|
|
1467
|
+
input
|
|
1468
|
+
});
|
|
1418
1469
|
emit({
|
|
1419
1470
|
type: "tool-call",
|
|
1420
1471
|
toolCallId,
|
|
@@ -1444,7 +1495,15 @@ async function runTurn(start, turn) {
|
|
|
1444
1495
|
instance: server
|
|
1445
1496
|
};
|
|
1446
1497
|
}
|
|
1447
|
-
const compaction = createCompactionLatch((event) =>
|
|
1498
|
+
const compaction = createCompactionLatch((event) => {
|
|
1499
|
+
const hasOpenStep = streamEventState.stepOpen;
|
|
1500
|
+
emit(event);
|
|
1501
|
+
if (!hasOpenStep) emitFinishStep({
|
|
1502
|
+
state: streamEventState,
|
|
1503
|
+
emit,
|
|
1504
|
+
usage: void 0
|
|
1505
|
+
});
|
|
1506
|
+
});
|
|
1448
1507
|
const queryInput = createQueryInput({
|
|
1449
1508
|
initialUserMessage: start.prompt,
|
|
1450
1509
|
userMessages: turn.experimental_userMessages,
|
package/dist/bridge/package.json
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
8
|
-
"@anthropic-ai/claude-code": "2.1.
|
|
9
|
-
"@modelcontextprotocol/sdk": "1.32.
|
|
7
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.290",
|
|
8
|
+
"@anthropic-ai/claude-code": "2.1.290",
|
|
9
|
+
"@modelcontextprotocol/sdk": "1.32.1",
|
|
10
10
|
"ws": "8.21.0",
|
|
11
11
|
"zod": "4.4.3"
|
|
12
12
|
}
|