reeval 0.6.1 → 0.7.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 +35 -311
- package/dist/{agent-BrqDHAx6.js → agent-Dhd5FJCZ.js} +4 -4
- package/dist/{agent-BrqDHAx6.js.map → agent-Dhd5FJCZ.js.map} +1 -1
- package/dist/{agent-bHgHIPVD.js → agent-gjBiZis8.js} +4 -4
- package/dist/{agent-bHgHIPVD.js.map → agent-gjBiZis8.js.map} +1 -1
- package/dist/assemble-D8sZ4Jiv.js +2 -0
- package/dist/{assemble-BB_dcnfh.js → assemble-Dd_mZYnu.js} +109 -7
- package/dist/assemble-Dd_mZYnu.js.map +1 -0
- package/dist/bridge/index.mjs +84 -9
- package/dist/bridge/package.json +3 -3
- package/dist/bridge/pnpm-lock.yaml +84 -89
- package/dist/bridge/pnpm-workspace.yaml +1 -1
- package/dist/{capture-tcMRp6ks.js → capture-CisAmy-G.js} +3 -3
- package/dist/{capture-tcMRp6ks.js.map → capture-CisAmy-G.js.map} +1 -1
- package/dist/capture-DquyqAHC.js +2 -0
- package/dist/{cli-BM-qbqO_.js → cli-r9CDqoFL.js} +139 -172
- package/dist/cli-r9CDqoFL.js.map +1 -0
- package/dist/{cli-spec-DUeyuSIQ.js → cli-spec-DOyxAMc2.js} +22 -9
- package/dist/cli-spec-DOyxAMc2.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/{matchers-Bp-OH1vj.js → client-LsfDiD-X.js} +152 -76
- package/dist/client-LsfDiD-X.js.map +1 -0
- package/dist/{command-BT9i1I5S.js → command-Cej2t3y-.js} +9 -9
- package/dist/{command-BT9i1I5S.js.map → command-Cej2t3y-.js.map} +1 -1
- package/dist/command-Cxfgghqo.js +2 -0
- package/dist/{command-DITkSzxp.js → command-D6r2pwO5.js} +10 -10
- package/dist/{command-DITkSzxp.js.map → command-D6r2pwO5.js.map} +1 -1
- package/dist/{command-BpoZJVeI.js → command-DMR69l5G.js} +12 -12
- package/dist/{command-BpoZJVeI.js.map → command-DMR69l5G.js.map} +1 -1
- package/dist/{command-DATlIXj1.js → command-l4ZFCeMh.js} +6 -6
- package/dist/{command-DATlIXj1.js.map → command-l4ZFCeMh.js.map} +1 -1
- package/dist/{commands-C0SFWd1T.js → commands-BA_NCh2h.js} +6 -6
- package/dist/{commands-C0SFWd1T.js.map → commands-BA_NCh2h.js.map} +1 -1
- package/dist/{commands-CDty3r_G.js → commands-DgOUkcSO.js} +1 -1
- package/dist/{config-Cy_vLUbw.js → config-DuQDCx0B.js} +3 -3
- package/dist/{config-Cy_vLUbw.js.map → config-DuQDCx0B.js.map} +1 -1
- package/dist/{context-loi9OCZv.js → context-CvUv7DUb.js} +3 -4
- package/dist/{context-loi9OCZv.js.map → context-CvUv7DUb.js.map} +1 -1
- package/dist/{db-iskAs8Ox.js → db-CjX7JF4o.js} +13 -25
- package/dist/{db-iskAs8Ox.js.map → db-CjX7JF4o.js.map} +1 -1
- package/dist/db-o_osRkqr.js +3 -0
- package/dist/{dist-Dmm3bnKA.js → dist-CTzThfu_.js} +3 -3
- package/dist/{dist-Dmm3bnKA.js.map → dist-CTzThfu_.js.map} +1 -1
- package/dist/{docker-B9wx9-KX.js → docker-DaUaG4XZ.js} +4 -4
- package/dist/{docker-B9wx9-KX.js.map → docker-DaUaG4XZ.js.map} +1 -1
- package/dist/{docker-Di4o89kZ.js → docker-Dnya8eo9.js} +1 -1
- package/dist/{docker-Ctnty6xd.js → docker-ZaYeKE2w.js} +2 -2
- package/dist/{docker-Ctnty6xd.js.map → docker-ZaYeKE2w.js.map} +1 -1
- package/dist/{doctor-BMUVi-gC.js → doctor-Bk6aJeec.js} +10 -10
- package/dist/{doctor-BMUVi-gC.js.map → doctor-Bk6aJeec.js.map} +1 -1
- package/dist/{egress-3bdvDu1s.js → egress-BKbyriEa.js} +13 -13
- package/dist/{egress-3bdvDu1s.js.map → egress-BKbyriEa.js.map} +1 -1
- package/dist/{files-CITwkC4O.js → files-BSMSnQMa.js} +2 -2
- package/dist/{files-CITwkC4O.js.map → files-BSMSnQMa.js.map} +1 -1
- package/dist/files-DmZGPsWK.js +2 -0
- package/dist/{files-DGhQZaXT.js → files-TNrZJQ3Y.js} +15 -4
- package/dist/{files-DGhQZaXT.js.map → files-TNrZJQ3Y.js.map} +1 -1
- package/dist/files-Tb8wY0Ze.js +2 -0
- package/dist/{git-BzyBakoB.js → git-DNGtrOg9.js} +2 -2
- package/dist/{git-BzyBakoB.js.map → git-DNGtrOg9.js.map} +1 -1
- package/dist/{harness-8-dnGNgT.js → harness-CDRaaGvR.js} +2 -2
- package/dist/{harness-8-dnGNgT.js.map → harness-CDRaaGvR.js.map} +1 -1
- package/dist/harness.d.ts +1 -1
- package/dist/harness.js +1 -1
- package/dist/{header-IE-uIvX0.js → header-BZF8Xss1.js} +2 -2
- package/dist/{header-IE-uIvX0.js.map → header-BZF8Xss1.js.map} +1 -1
- package/dist/{images-QBtOj-_q.js → images-BpwFDT1E.js} +6 -6
- package/dist/{images-QBtOj-_q.js.map → images-BpwFDT1E.js.map} +1 -1
- package/dist/index.d.ts +12 -7
- package/dist/index.js +31 -24
- package/dist/index.js.map +1 -1
- package/dist/init-1THeGfut.js +2 -0
- package/dist/{init-B47uIoHu.js → init-CBWt1rZT.js} +4 -4
- package/dist/{init-B47uIoHu.js.map → init-CBWt1rZT.js.map} +1 -1
- package/dist/{invocations-DHC946b-.js → invocations-DArYWyXN.js} +2 -2
- package/dist/{invocations-DHC946b-.js.map → invocations-DArYWyXN.js.map} +1 -1
- package/dist/judge.d.ts +1 -1
- package/dist/model-D_pF3Vcl.js +2 -0
- package/dist/{model-CtrJdFi6.js → model-DyQbu7KF.js} +113 -3
- package/dist/model-DyQbu7KF.js.map +1 -0
- package/dist/{opencode-providers-DJVocFOU.js → opencode-providers-ByD85Q0l.js} +33 -19
- package/dist/opencode-providers-ByD85Q0l.js.map +1 -0
- package/dist/{options-DVB78W8X.js → options-Ge_x32XE.js} +3 -3
- package/dist/{options-DVB78W8X.js.map → options-Ge_x32XE.js.map} +1 -1
- package/dist/{plan-Bsge1_cc.js → plan-BqBadHYj.js} +14 -7
- package/dist/plan-BqBadHYj.js.map +1 -0
- package/dist/{preflight-B5ue4TlX.js → preflight-CFtZNTLt.js} +1 -1
- package/dist/{preflight-BOstyJDX.js → preflight-CyaAZE9r.js} +3 -3
- package/dist/{preflight-BOstyJDX.js.map → preflight-CyaAZE9r.js.map} +1 -1
- package/dist/{prepare-ChIEi8hP.js → prepare-Dl7-t3fO.js} +2 -2
- package/dist/{prepare-jpXfdH-9.js → prepare-Zr1xOMUX.js} +4 -4
- package/dist/{prepare-jpXfdH-9.js.map → prepare-Zr1xOMUX.js.map} +1 -1
- package/dist/{provenance-BTJCjEPg.js → provenance-Byl2T6LJ.js} +2 -2
- package/dist/{provenance-BTJCjEPg.js.map → provenance-Byl2T6LJ.js.map} +1 -1
- package/dist/{providers-BJCxWIm4.js → providers-Cflw7Ks-.js} +3 -3
- package/dist/{providers-BJCxWIm4.js.map → providers-Cflw7Ks-.js.map} +1 -1
- package/dist/{providers-DxVIaae1.js → providers-SBMExI53.js} +1 -1
- package/dist/query-CvutWHaL.js +2 -0
- package/dist/{query-Cpe659ni.js → query-DUSLlic0.js} +2 -2
- package/dist/{query-Cpe659ni.js.map → query-DUSLlic0.js.map} +1 -1
- package/dist/results-owJR-NFm.js +52 -0
- package/dist/results-owJR-NFm.js.map +1 -0
- package/dist/resume-BL4Yw7Ld.js +406 -0
- package/dist/resume-BL4Yw7Ld.js.map +1 -0
- package/dist/sandbox.d.ts +1 -1
- package/dist/server-CNPsB0cT.js +2 -0
- package/dist/{server-CSSXF89R.js → server-yFVUxAm0.js} +6 -6
- package/dist/{server-CSSXF89R.js.map → server-yFVUxAm0.js.map} +1 -1
- package/dist/source-Cmc5SKFn.js +2 -0
- package/dist/{source-BcHShRWU.js → source-M3gS517R.js} +2 -2
- package/dist/{source-BcHShRWU.js.map → source-M3gS517R.js.map} +1 -1
- package/dist/src--L8B4WGa.js +3 -0
- package/dist/{src-BRdoxjJS.js → src-79JhW-zG.js} +15 -15
- package/dist/{src-BRdoxjJS.js.map → src-79JhW-zG.js.map} +1 -1
- package/dist/src-BLN459er.js +3 -0
- package/dist/src-Bz66jDtE.js +3 -0
- package/dist/src-CfUwg9UY.js +3 -0
- package/dist/{src-B3J1D0nL.js → src-CokPbYCb.js} +76 -60
- package/dist/src-CokPbYCb.js.map +1 -0
- package/dist/{src-a6y9cGkR.js → src-DH0jhpoi.js} +1 -1
- package/dist/{src-DyQJdvp2.js → src-DSE0FWaU.js} +5 -5
- package/dist/{src-DyQJdvp2.js.map → src-DSE0FWaU.js.map} +1 -1
- package/dist/{src-Czhg5ONv.js → src-DTcalvuF.js} +3 -3
- package/dist/{src-Czhg5ONv.js.map → src-DTcalvuF.js.map} +1 -1
- package/dist/src-DV_3QDHA.js +4 -0
- package/dist/{src-BjVw2K4H.js → src-DxFJrMUA.js} +4 -4
- package/dist/{src-BjVw2K4H.js.map → src-DxFJrMUA.js.map} +1 -1
- package/dist/{src-Dk96a9w7.js → src-IOr1rhEg.js} +6 -6
- package/dist/{src-Dk96a9w7.js.map → src-IOr1rhEg.js.map} +1 -1
- package/dist/src-Ljh2vKXm.js +3 -0
- package/dist/{src-CdwJuMBO.js → src-s-VffoYK.js} +2 -2
- package/dist/{src-CdwJuMBO.js.map → src-s-VffoYK.js.map} +1 -1
- package/dist/{state-evRYxV_q.js → state-DEj_utaE.js} +15 -15
- package/dist/{state-evRYxV_q.js.map → state-DEj_utaE.js.map} +1 -1
- package/dist/state-DkqbCVVp.js +2 -0
- package/dist/studio-app/assets/{index-WQPq5K3E.js → index-Bbl0oTxu.js} +1 -1
- package/dist/studio-app/index.html +1 -1
- package/dist/{summary-DTUCNA-v.js → summary--FBuB_sr.js} +3 -3
- package/dist/{summary-DTUCNA-v.js.map → summary--FBuB_sr.js.map} +1 -1
- package/dist/{summary-CIw18kb-.js → summary-D012KlUM.js} +5 -5
- package/dist/{summary-CIw18kb-.js.map → summary-D012KlUM.js.map} +1 -1
- package/dist/tool-target-BU1JnSE9.js +34 -0
- package/dist/tool-target-BU1JnSE9.js.map +1 -0
- package/dist/{tools-By2WuNxm.js → tools-CJHw-zCo.js} +3 -3
- package/dist/{tools-By2WuNxm.js.map → tools-CJHw-zCo.js.map} +1 -1
- package/dist/{types-C2Gl05_c.d.ts → types-BsRSknLe.d.ts} +6 -5
- package/dist/view/index.d.ts +1 -1
- package/dist/view/index.js +2 -2
- package/dist/{views-BJ0i1Iuw.js → views-jhL9Jb8A.js} +4 -4
- package/dist/{views-BJ0i1Iuw.js.map → views-jhL9Jb8A.js.map} +1 -1
- package/dist/views-yPmmoo8f.js +3 -0
- package/dist/{worker-entry-mCctDzig.js → worker-entry-OwnsrUdr.js} +72 -2
- package/dist/worker-entry-OwnsrUdr.js.map +1 -0
- package/dist/{workspace-Bl1SiRQa.js → workspace-C4_J0pqb.js} +3 -3
- package/dist/{workspace-Bl1SiRQa.js.map → workspace-C4_J0pqb.js.map} +1 -1
- package/dist/{workspace-CvAPfa8b.js → workspace-wudSz_W-.js} +1 -1
- package/package.json +11 -10
- package/dist/assemble-BB_dcnfh.js.map +0 -1
- package/dist/assemble-DcLLkwnB.js +0 -2
- package/dist/capture-EvOaSXj_.js +0 -2
- package/dist/cli-BM-qbqO_.js.map +0 -1
- package/dist/cli-spec-DUeyuSIQ.js.map +0 -1
- package/dist/command-Bn_kbh3B.js +0 -2
- package/dist/db-4nMvBFNX.js +0 -2
- package/dist/files-C_CsTMtM.js +0 -2
- package/dist/files-vgLA9tcj.js +0 -2
- package/dist/init-DIAJuCs2.js +0 -2
- package/dist/matchers-Bp-OH1vj.js.map +0 -1
- package/dist/model-C_B5JrhL.js +0 -2
- package/dist/model-CtrJdFi6.js.map +0 -1
- package/dist/opencode-providers-DJVocFOU.js.map +0 -1
- package/dist/plan-Bsge1_cc.js.map +0 -1
- package/dist/query-BtLxk32J.js +0 -2
- package/dist/results-CiJzkjNI.js +0 -37
- package/dist/results-CiJzkjNI.js.map +0 -1
- package/dist/server-CN3lGbK-.js +0 -2
- package/dist/source-CxLRUqU2.js +0 -2
- package/dist/src-B3J1D0nL.js.map +0 -1
- package/dist/src-Ba3zMSdv.js +0 -3
- package/dist/src-BpVFmHqj.js +0 -3
- package/dist/src-CJONyPRm.js +0 -3
- package/dist/src-CLO4dUg7.js +0 -3
- package/dist/src-DQCjANtm.js +0 -3
- package/dist/src-yCDQ7kpQ.js +0 -4
- package/dist/state-CeYoWFWx.js +0 -2
- package/dist/stats-BNAHlNMD.js +0 -114
- package/dist/stats-BNAHlNMD.js.map +0 -1
- package/dist/views-BEurSpHC.js +0 -3
- package/dist/worker-entry-mCctDzig.js.map +0 -1
|
@@ -3,11 +3,12 @@ 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
5
|
import { c as judgeModelName } from "./judge-7WjNdU9z.js";
|
|
6
|
-
import { d as sandboxId, s as harnessId, u as profileJudge } from "./options-
|
|
6
|
+
import { d as sandboxId, s as harnessId, u as profileJudge } from "./options-Ge_x32XE.js";
|
|
7
7
|
import { r as patchForJudge, t as collapseDependencies } from "./patch-CGCVipPu.js";
|
|
8
|
-
import {
|
|
8
|
+
import { $ as liftInterval, et as round3 } from "./model-DyQbu7KF.js";
|
|
9
9
|
import { n as promptTokens, r as sumUsage } from "./usage-DsYUqIUM.js";
|
|
10
|
-
import { a as packageVersions, r as judgeVersion, t as FINGERPRINT_SCOPE } from "./state-
|
|
10
|
+
import { a as packageVersions, r as judgeVersion, t as FINGERPRINT_SCOPE } from "./state-DEj_utaE.js";
|
|
11
|
+
import { a as previousAttempt, n as isCompletedAttempt } from "./resume-BL4Yw7Ld.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
|
};
|
|
@@ -375,10 +376,92 @@ function cellOf(entry, cell, gate, harness) {
|
|
|
375
376
|
}
|
|
376
377
|
return found;
|
|
377
378
|
}
|
|
379
|
+
async function copyRef(ref, from, out) {
|
|
380
|
+
if (!from) return ref;
|
|
381
|
+
const bytes = await readFile(join(from, ...ref.path.split("/"))).catch(() => null);
|
|
382
|
+
if (!bytes) return ref;
|
|
383
|
+
return out.add(ref.path, Buffer.from(bytes).toString("utf8"));
|
|
384
|
+
}
|
|
385
|
+
/** A completed attempt from a previous assemble of this runId, kept on resume. */
|
|
386
|
+
async function addPreviousAttempt(e, kept, seen, out, judge, previousArtifacts, sources) {
|
|
387
|
+
const cell = e.attempt?.cell ?? {
|
|
388
|
+
...UNKNOWN_CELL,
|
|
389
|
+
key: kept.cell,
|
|
390
|
+
harness: kept.cell.split("/")[0] ?? "unknown",
|
|
391
|
+
environment: kept.cell.split("/")[1] ?? "unknown",
|
|
392
|
+
sandbox: kept.cell.split("/")[2]?.replace(/#\d+$/, "") ?? "unknown"
|
|
393
|
+
};
|
|
394
|
+
if (!seen.sources.has(e.file) && sources) seen.sources.set(e.file, sources);
|
|
395
|
+
if (!seen.sources.has(e.file)) seen.sources.set(e.file, []);
|
|
396
|
+
const resolved = sources ?? seen.sources.get(e.file) ?? [];
|
|
397
|
+
const stub = {
|
|
398
|
+
id: e.id,
|
|
399
|
+
key: e.key,
|
|
400
|
+
file: e.file,
|
|
401
|
+
group: e.group,
|
|
402
|
+
name: e.name,
|
|
403
|
+
attempt: e.attempt,
|
|
404
|
+
state: "skipped",
|
|
405
|
+
durationMs: kept.durationMs,
|
|
406
|
+
errors: [],
|
|
407
|
+
formattedErrors: [],
|
|
408
|
+
meta: void 0
|
|
409
|
+
};
|
|
410
|
+
seen.add(null, cell, stub);
|
|
411
|
+
const entry = seen.entry(stub, resolved);
|
|
412
|
+
const cellRecord = cellOf(entry, cell, e.attempt?.gate ?? "all", e.attempt?.harness);
|
|
413
|
+
const files = {};
|
|
414
|
+
for (const [name, ref] of Object.entries(kept.files)) {
|
|
415
|
+
if (!ref) continue;
|
|
416
|
+
if (Array.isArray(ref)) {
|
|
417
|
+
const copied = [];
|
|
418
|
+
for (const art of ref) {
|
|
419
|
+
if (!previousArtifacts) {
|
|
420
|
+
copied.push(art);
|
|
421
|
+
continue;
|
|
422
|
+
}
|
|
423
|
+
const bytes = await readFile(join(previousArtifacts, ...art.path.split("/"))).catch(() => null);
|
|
424
|
+
copied.push(bytes ? out.addBinary(art.path, bytes) : art);
|
|
425
|
+
}
|
|
426
|
+
if (copied.length) files[name] = copied;
|
|
427
|
+
continue;
|
|
428
|
+
}
|
|
429
|
+
files[name] = await copyRef(ref, previousArtifacts, out);
|
|
430
|
+
}
|
|
431
|
+
const checks = [];
|
|
432
|
+
for (const c of kept.checks) checks.push({
|
|
433
|
+
...c,
|
|
434
|
+
log: c.log ? await copyRef(c.log, previousArtifacts, out) : c.log
|
|
435
|
+
});
|
|
436
|
+
entry.attempts.push({
|
|
437
|
+
...kept,
|
|
438
|
+
seq: null,
|
|
439
|
+
files,
|
|
440
|
+
checks
|
|
441
|
+
});
|
|
442
|
+
if (!cellRecord.fingerprint && kept.outcome !== "skipped") {
|
|
443
|
+
const parts = {
|
|
444
|
+
sources: sha256(JSON.stringify(resolved)),
|
|
445
|
+
harness: sha256(JSON.stringify(e.attempt ? withoutCaps(e.attempt.harness) : null)),
|
|
446
|
+
environment: cellRecord.environmentDigest,
|
|
447
|
+
image: kept.imageId,
|
|
448
|
+
agentCli: null,
|
|
449
|
+
judge,
|
|
450
|
+
context: sha256(JSON.stringify(kept.context))
|
|
451
|
+
};
|
|
452
|
+
cellRecord.fingerprintParts = parts;
|
|
453
|
+
cellRecord.fingerprint = fingerprintOf(parts);
|
|
454
|
+
}
|
|
455
|
+
}
|
|
378
456
|
/** 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) {
|
|
457
|
+
async function addAttempt(e, ctx, seen, out, judge, previous, previousArtifacts) {
|
|
380
458
|
const cell = e.attempt?.cell ?? UNKNOWN_CELL;
|
|
381
459
|
const n = e.attempt?.n ?? 1;
|
|
460
|
+
const kept = previousAttempt(previous, e.key);
|
|
461
|
+
if (e.state === "skipped" && kept && isCompletedAttempt(kept.outcome, kept.error)) {
|
|
462
|
+
await addPreviousAttempt(e, kept, seen, out, judge, previousArtifacts);
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
382
465
|
const record = await readRecord(join(ctx.stagingDir, "evals", recordFileName(e.key)));
|
|
383
466
|
const { outcome, error } = mergeOutcome(e, record);
|
|
384
467
|
if (!seen.sources.has(e.file)) seen.sources.set(e.file, await traceSources(ctx.config.root, e.file));
|
|
@@ -649,7 +732,26 @@ async function assembleRun(input) {
|
|
|
649
732
|
threshold: runJudge.threshold,
|
|
650
733
|
version: judgeVersion(input.es, packageVersions(input.enginePackages), judgeModel ?? "")
|
|
651
734
|
}));
|
|
652
|
-
for (const e of engine.evals) await addAttempt(e, ctx, seen, out, judge);
|
|
735
|
+
for (const e of engine.evals) await addAttempt(e, ctx, seen, out, judge, input.previous, input.previousArtifacts);
|
|
736
|
+
if (input.previous) {
|
|
737
|
+
const have = new Set([...seen.byEval.values()].flatMap((entry) => entry.attempts.map((a) => a.key)));
|
|
738
|
+
for (const entry of input.previous.evals) for (const a of entry.attempts) {
|
|
739
|
+
if (have.has(a.key) || !isCompletedAttempt(a.outcome, a.error)) continue;
|
|
740
|
+
await addPreviousAttempt({
|
|
741
|
+
id: entry.id,
|
|
742
|
+
key: a.key,
|
|
743
|
+
file: entry.file,
|
|
744
|
+
group: entry.group,
|
|
745
|
+
name: entry.name,
|
|
746
|
+
attempt: void 0,
|
|
747
|
+
state: "skipped",
|
|
748
|
+
durationMs: a.durationMs,
|
|
749
|
+
errors: [],
|
|
750
|
+
formattedErrors: [],
|
|
751
|
+
meta: void 0
|
|
752
|
+
}, a, seen, out, judge, input.previousArtifacts, entry.sources);
|
|
753
|
+
}
|
|
754
|
+
}
|
|
653
755
|
const evals = [...seen.byEval.values()];
|
|
654
756
|
rollUp(evals);
|
|
655
757
|
sequence(evals);
|
|
@@ -727,4 +829,4 @@ async function assembleRun(input) {
|
|
|
727
829
|
//#endregion
|
|
728
830
|
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
831
|
|
|
730
|
-
//# sourceMappingURL=assemble-
|
|
832
|
+
//# sourceMappingURL=assemble-Dd_mZYnu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assemble-Dd_mZYnu.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;;;;ACNA,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,IAAgE;CACzF,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;IAAE,IAAI,KAAK;IAAS,MAAM,EAAE;IAAM,OAAO,aAAa,CAAC;GAAE,CAAC;EAC7F;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;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;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,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,OAAO;GAAE,GAAG;GAAG,gBAAgB,CAAC,GAAI,KAAK,kBAAkB,IAAI,EAAE,EAAE,KAAK,CAAC,CAAE,CAAC,CAAC,KAAK;EAAE,EAAE,CAAC,CAC5F,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,
|
|
@@ -1561,7 +1620,7 @@ async function runTurn(start, turn) {
|
|
|
1561
1620
|
}
|
|
1562
1621
|
const harnessUsage = mapUsage(msg.usage ?? msg.message?.usage);
|
|
1563
1622
|
if (harnessUsage) turnUsage = addUsage(turnUsage, harnessUsage);
|
|
1564
|
-
if (typeof msg.total_cost_usd === "number") totalCostUsd =
|
|
1623
|
+
if (typeof msg.total_cost_usd === "number") totalCostUsd = msg.total_cost_usd;
|
|
1565
1624
|
if (start.responseFormat?.type === "json" && msg.structured_output !== void 0) {
|
|
1566
1625
|
const id = randomUUID();
|
|
1567
1626
|
emit({
|
|
@@ -1584,6 +1643,7 @@ async function runTurn(start, turn) {
|
|
|
1584
1643
|
emit,
|
|
1585
1644
|
usage: streamEventState.pendingStepUsage ?? harnessUsage
|
|
1586
1645
|
});
|
|
1646
|
+
if (!queryInput.answersSentMessage(msg)) continue;
|
|
1587
1647
|
queryInput.observeResult();
|
|
1588
1648
|
if (!queryInput.hasActiveUserMessages()) {
|
|
1589
1649
|
queryInput.close();
|
|
@@ -1631,6 +1691,14 @@ function createQueryInput({ initialUserMessage, userMessages, abortSignal }) {
|
|
|
1631
1691
|
let closed = false;
|
|
1632
1692
|
let observedResult = false;
|
|
1633
1693
|
const submittedMessages = /* @__PURE__ */ new Map();
|
|
1694
|
+
const initialMessageId = randomUUID();
|
|
1695
|
+
const sentMessageIds = /* @__PURE__ */ new Set([initialMessageId]);
|
|
1696
|
+
let cliEchoesMessageIds = false;
|
|
1697
|
+
const noteEcho = (ids) => {
|
|
1698
|
+
const echoed = ids.some((id) => typeof id === "string" && sentMessageIds.has(id));
|
|
1699
|
+
if (echoed) cliEchoesMessageIds = true;
|
|
1700
|
+
return echoed;
|
|
1701
|
+
};
|
|
1634
1702
|
const close = (error) => {
|
|
1635
1703
|
if (closed) return;
|
|
1636
1704
|
closed = true;
|
|
@@ -1657,6 +1725,8 @@ function createQueryInput({ initialUserMessage, userMessages, abortSignal }) {
|
|
|
1657
1725
|
handleLifecycle: (message) => {
|
|
1658
1726
|
const lifecycle = message;
|
|
1659
1727
|
if (lifecycle.command_uuid == null || lifecycle.state == null) return;
|
|
1728
|
+
noteEcho([lifecycle.command_uuid]);
|
|
1729
|
+
if (lifecycle.command_uuid === initialMessageId && (lifecycle.state === "cancelled" || lifecycle.state === "discarded")) observedResult = true;
|
|
1660
1730
|
const submitted = submittedMessages.get(lifecycle.command_uuid);
|
|
1661
1731
|
if (submitted == null) return;
|
|
1662
1732
|
if (lifecycle.state === "queued" || lifecycle.state === "started") {
|
|
@@ -1667,6 +1737,10 @@ function createQueryInput({ initialUserMessage, userMessages, abortSignal }) {
|
|
|
1667
1737
|
submittedMessages.delete(lifecycle.command_uuid);
|
|
1668
1738
|
},
|
|
1669
1739
|
hasActiveUserMessages: () => submittedMessages.size > 0 || userMessages.pendingCount > 0,
|
|
1740
|
+
answersSentMessage: (result) => {
|
|
1741
|
+
const { user_message_uuid, user_message_uuids, origin } = result;
|
|
1742
|
+
return noteEcho([user_message_uuid, ...Array.isArray(user_message_uuids) ? user_message_uuids : []]) || !cliEchoesMessageIds && origin?.kind !== "task-notification";
|
|
1743
|
+
},
|
|
1670
1744
|
observeResult: () => {
|
|
1671
1745
|
observedResult = true;
|
|
1672
1746
|
},
|
|
@@ -1685,7 +1759,7 @@ function createQueryInput({ initialUserMessage, userMessages, abortSignal }) {
|
|
|
1685
1759
|
return {
|
|
1686
1760
|
value: toUserMessage({
|
|
1687
1761
|
text: initialUserMessage,
|
|
1688
|
-
messageId:
|
|
1762
|
+
messageId: initialMessageId
|
|
1689
1763
|
}),
|
|
1690
1764
|
done: false
|
|
1691
1765
|
};
|
|
@@ -1696,6 +1770,7 @@ function createQueryInput({ initialUserMessage, userMessages, abortSignal }) {
|
|
|
1696
1770
|
done: true
|
|
1697
1771
|
};
|
|
1698
1772
|
submittedMessages.set(nextMessage.value.messageId, nextMessage.value);
|
|
1773
|
+
sentMessageIds.add(nextMessage.value.messageId);
|
|
1699
1774
|
return {
|
|
1700
1775
|
value: toUserMessage({
|
|
1701
1776
|
text: nextMessage.value.text,
|
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.
|
|
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
|
}
|