reeval 0.3.0 → 0.5.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.
Files changed (213) hide show
  1. package/THIRD_PARTY_NOTICES.md +5 -5
  2. package/assets/package.json +1 -1
  3. package/assets/pnpm-lock.yaml +36 -36
  4. package/dist/{agent-DcQAvomp.js → agent-BDPZxZo6.js} +5 -5
  5. package/dist/{agent-DcQAvomp.js.map → agent-BDPZxZo6.js.map} +1 -1
  6. package/dist/{agent-BYy0Tc6P.js → agent-Dcnbp_qS.js} +5 -5
  7. package/dist/{agent-BYy0Tc6P.js.map → agent-Dcnbp_qS.js.map} +1 -1
  8. package/dist/{analysis-CxSCt1YY.js → analysis-1fqCRQJ5.js} +4 -4
  9. package/dist/{analysis-CxSCt1YY.js.map → analysis-1fqCRQJ5.js.map} +1 -1
  10. package/dist/{assemble-h8s0hzTQ.js → assemble-Br5xWfoJ.js} +10 -10
  11. package/dist/assemble-Br5xWfoJ.js.map +1 -0
  12. package/dist/assemble-BriNtYfK.js +2 -0
  13. package/dist/{attempt-BdRQ9jKX.js → attempt-CGPV3BZY.js} +2 -2
  14. package/dist/{attempt-BdRQ9jKX.js.map → attempt-CGPV3BZY.js.map} +1 -1
  15. package/dist/bridge/index.mjs +1620 -1793
  16. package/dist/bridge/package.json +2 -2
  17. package/dist/bridge/pnpm-lock.yaml +75 -75
  18. package/dist/bridge/pnpm-workspace.yaml +1 -1
  19. package/dist/{cli-DemDdg8J.js → cli-Ben0kbJt.js} +61 -55
  20. package/dist/cli-Ben0kbJt.js.map +1 -0
  21. package/dist/{cli-spec-BxLPgNN-.js → cli-spec-DUeyuSIQ.js} +4 -3
  22. package/dist/cli-spec-DUeyuSIQ.js.map +1 -0
  23. package/dist/cli.js +2 -2
  24. package/dist/{command-y91-aNhu.js → command-BZXB7JbK.js} +26 -18
  25. package/dist/command-BZXB7JbK.js.map +1 -0
  26. package/dist/{command-pHfluVCF.js → command-CmFpqrTW.js} +8 -8
  27. package/dist/{command-pHfluVCF.js.map → command-CmFpqrTW.js.map} +1 -1
  28. package/dist/{command-CxwnRrTs.js → command-DpR1iz_b.js} +14 -13
  29. package/dist/command-DpR1iz_b.js.map +1 -0
  30. package/dist/command-pIntI3Iq.js +2 -0
  31. package/dist/{command-PEbIzJj3.js → command-zD7IIwQF.js} +14 -14
  32. package/dist/{command-PEbIzJj3.js.map → command-zD7IIwQF.js.map} +1 -1
  33. package/dist/{commands-De-SxIgY.js → commands-8xIhRt-7.js} +1 -1
  34. package/dist/{commands-DhCuEa6z.js → commands-CkfvCaoN.js} +31 -13
  35. package/dist/commands-CkfvCaoN.js.map +1 -0
  36. package/dist/{config-CqSLZkwx.js → config-kbc7kZz3.js} +10 -7
  37. package/dist/{config-CqSLZkwx.js.map → config-kbc7kZz3.js.map} +1 -1
  38. package/dist/db-BgmkqBzz.js +2 -0
  39. package/dist/{db-DA4LBwi_.js → db-DYPkngEs.js} +5 -5
  40. package/dist/db-DYPkngEs.js.map +1 -0
  41. package/dist/{dist-BSoys6pg.js → dist-D6co5uaT.js} +106 -54
  42. package/dist/dist-D6co5uaT.js.map +1 -0
  43. package/dist/{docker-DMRwn7yh.js → docker-BLqzfYMT.js} +3 -3
  44. package/dist/{docker-DMRwn7yh.js.map → docker-BLqzfYMT.js.map} +1 -1
  45. package/dist/{docker-DwG9f76x.js → docker-C4H1eSjN.js} +5 -5
  46. package/dist/{docker-DwG9f76x.js.map → docker-C4H1eSjN.js.map} +1 -1
  47. package/dist/{docker-jf52ARP7.js → docker-CJkJ4-_n.js} +1 -1
  48. package/dist/{doctor-DhvVbNKv.js → doctor-X2ba-e1Y.js} +80 -16
  49. package/dist/doctor-X2ba-e1Y.js.map +1 -0
  50. package/dist/{egress-D9vJCATi.js → egress-CRQ7wCj8.js} +11 -11
  51. package/dist/{egress-D9vJCATi.js.map → egress-CRQ7wCj8.js.map} +1 -1
  52. package/dist/{environment-ByCF9s3n.js → environment-D3sZUybY.js} +154 -17
  53. package/dist/environment-D3sZUybY.js.map +1 -0
  54. package/dist/errors-yDAEwmZo.js +15 -0
  55. package/dist/errors-yDAEwmZo.js.map +1 -0
  56. package/dist/files-BTF2wg0i.js +2 -0
  57. package/dist/{files-CfsIRN7n.js → files-CO4Y4eRS.js} +3 -3
  58. package/dist/{files-CfsIRN7n.js.map → files-CO4Y4eRS.js.map} +1 -1
  59. package/dist/files-CspMl_3t.js +2 -0
  60. package/dist/{files-DHBBIYx_.js → files-DiGDoSSw.js} +196 -12
  61. package/dist/files-DiGDoSSw.js.map +1 -0
  62. package/dist/{git-oX92_Jh-.js → git-BZlPo1Rh.js} +3 -3
  63. package/dist/{git-oX92_Jh-.js.map → git-BZlPo1Rh.js.map} +1 -1
  64. package/dist/{harness-BbMShUC-.js → harness-8-dnGNgT.js} +2 -2
  65. package/dist/{harness-BbMShUC-.js.map → harness-8-dnGNgT.js.map} +1 -1
  66. package/dist/harness.d.ts +1 -1
  67. package/dist/harness.js +1 -1
  68. package/dist/{header-sPQ9Lq2S.js → header-CTTSGpy-.js} +2 -2
  69. package/dist/{header-sPQ9Lq2S.js.map → header-CTTSGpy-.js.map} +1 -1
  70. package/dist/{images-C9Y4ijbG.js → images-CPfNRSuK.js} +6 -6
  71. package/dist/{images-C9Y4ijbG.js.map → images-CPfNRSuK.js.map} +1 -1
  72. package/dist/index.d.ts +15 -4
  73. package/dist/index.js +186 -71
  74. package/dist/index.js.map +1 -1
  75. package/dist/init-C5Kp2CVo.js +2 -0
  76. package/dist/{init-x55uF8a4.js → init-CquBKr3J.js} +6 -8
  77. package/dist/init-CquBKr3J.js.map +1 -0
  78. package/dist/{invocations-DSMfs3Dx.js → invocations-DHC946b-.js} +3 -3
  79. package/dist/{invocations-DSMfs3Dx.js.map → invocations-DHC946b-.js.map} +1 -1
  80. package/dist/{judge-D8Uf4dA9.js → judge-7WjNdU9z.js} +20 -7
  81. package/dist/judge-7WjNdU9z.js.map +1 -0
  82. package/dist/judge.d.ts +7 -4
  83. package/dist/judge.js +5 -2
  84. package/dist/judge.js.map +1 -1
  85. package/dist/{matchers-D51lM8dO.js → matchers-Bp-OH1vj.js} +7 -2
  86. package/dist/{matchers-D51lM8dO.js.map → matchers-Bp-OH1vj.js.map} +1 -1
  87. package/dist/{model-DQQQ3q_n.js → model-BAB6ScG7.js} +1 -1
  88. package/dist/model-Bip8dx2I.js +2 -0
  89. package/dist/{model-BdO79gWz.js → model-Bv8uUZ07.js} +3 -3
  90. package/dist/{model-BdO79gWz.js.map → model-Bv8uUZ07.js.map} +1 -1
  91. package/dist/{model-GFM8iOzM.js → model-CwxodD2e.js} +7 -7
  92. package/dist/model-CwxodD2e.js.map +1 -0
  93. package/dist/{model-ORtLm2UB.js → model-DGafiJdy.js} +118 -6
  94. package/dist/model-DGafiJdy.js.map +1 -0
  95. package/dist/{node-OXPxBD2N.js → node-B72WWfgg.js} +3 -2
  96. package/dist/{node-OXPxBD2N.js.map → node-B72WWfgg.js.map} +1 -1
  97. package/dist/{options-CIutEeuy.js → options-BBLwgaSz.js} +158 -78
  98. package/dist/options-BBLwgaSz.js.map +1 -0
  99. package/dist/patch-CzT5wTZr.js +118 -0
  100. package/dist/patch-CzT5wTZr.js.map +1 -0
  101. package/dist/{plan-DcHTdiJN.js → plan-4AO_VH20.js} +5 -4
  102. package/dist/{plan-DcHTdiJN.js.map → plan-4AO_VH20.js.map} +1 -1
  103. package/dist/{preflight-BQyUr_hW.js → preflight-B8XgaXdX.js} +1 -1
  104. package/dist/{preflight-vISQIiF1.js → preflight-Cl__EL9Y.js} +3 -3
  105. package/dist/{preflight-vISQIiF1.js.map → preflight-Cl__EL9Y.js.map} +1 -1
  106. package/dist/{prepare-Ca0Nxd9b.js → prepare-BgzG6f6h.js} +2 -2
  107. package/dist/{prepare-BTeAiW9Q.js → prepare-jmZNuhe5.js} +5 -5
  108. package/dist/{prepare-BTeAiW9Q.js.map → prepare-jmZNuhe5.js.map} +1 -1
  109. package/dist/{provenance-D4vo7RF6.js → provenance-rP7Unzb4.js} +3 -3
  110. package/dist/{provenance-D4vo7RF6.js.map → provenance-rP7Unzb4.js.map} +1 -1
  111. package/dist/{providers-Bjgky1u8.js → providers-Cs0GAhfO.js} +4 -4
  112. package/dist/{providers-Bjgky1u8.js.map → providers-Cs0GAhfO.js.map} +1 -1
  113. package/dist/{providers-DfVMglqP.js → providers-Dh6hQDI6.js} +1 -1
  114. package/dist/{query-D2KaStTs.js → query-BOtU7Phq.js} +3 -3
  115. package/dist/{query-D2KaStTs.js.map → query-BOtU7Phq.js.map} +1 -1
  116. package/dist/query-BjqPXDPV.js +2 -0
  117. package/dist/{questions-CzXdVVsh.js → questions-nUB6aKz_.js} +5 -5
  118. package/dist/{questions-CzXdVVsh.js.map → questions-nUB6aKz_.js.map} +1 -1
  119. package/dist/{redact-C4fL_bZP.js → redact-DJ9JCShu.js} +99 -28
  120. package/dist/redact-DJ9JCShu.js.map +1 -0
  121. package/dist/{results-BI-zTqQy.js → results-EaWTGQtw.js} +4 -4
  122. package/dist/{results-BI-zTqQy.js.map → results-EaWTGQtw.js.map} +1 -1
  123. package/dist/{sandbox-Dd-4Bx6B.js → sandbox-DsY0Xa_L.js} +3 -3
  124. package/dist/{sandbox-Dd-4Bx6B.js.map → sandbox-DsY0Xa_L.js.map} +1 -1
  125. package/dist/sandbox.d.ts +1 -1
  126. package/dist/sandbox.js +1 -1
  127. package/dist/server-D62mXUew.js +2 -0
  128. package/dist/{server-C7t8WYCR.js → server-DFCcG4kE.js} +8 -8
  129. package/dist/{server-C7t8WYCR.js.map → server-DFCcG4kE.js.map} +1 -1
  130. package/dist/source-Cr87qm1N.js +2 -0
  131. package/dist/{source-fNUCWsCW.js → source-ybqIFzmB.js} +2 -2
  132. package/dist/{source-fNUCWsCW.js.map → source-ybqIFzmB.js.map} +1 -1
  133. package/dist/{src-CEQFcAJH.js → src-B3kHPyvg.js} +1 -1
  134. package/dist/src-Bq2wa7fE.js +3 -0
  135. package/dist/{src-D3eW1e7Y.js → src-CQXA5zkO.js} +17 -18
  136. package/dist/{src-D3eW1e7Y.js.map → src-CQXA5zkO.js.map} +1 -1
  137. package/dist/{src-C91RndLw.js → src-CQzUdIZj.js} +1 -1
  138. package/dist/src-CYBvNARj.js +3 -0
  139. package/dist/{src-DWk0e7ix.js → src-Czhg5ONv.js} +54 -58
  140. package/dist/src-Czhg5ONv.js.map +1 -0
  141. package/dist/src-D2H8Rz6M.js +4 -0
  142. package/dist/{src-B1OT_Zhf.js → src-DABrrexp.js} +50 -67
  143. package/dist/src-DABrrexp.js.map +1 -0
  144. package/dist/{src-BAiYD4eC.js → src-DVWhOfrD.js} +24 -4
  145. package/dist/src-DVWhOfrD.js.map +1 -0
  146. package/dist/{src-DTlmkpJe.js → src-DygwWk6l.js} +1 -1
  147. package/dist/src-OXjUr5ng.js +3 -0
  148. package/dist/{src-DfEAlC9s.js → src-Zqi4rheD.js} +4 -4
  149. package/dist/{src-DfEAlC9s.js.map → src-Zqi4rheD.js.map} +1 -1
  150. package/dist/state-BOeZS-Wa.js +2 -0
  151. package/dist/{state-g6ij_40j.js → state-CWs2X2x8.js} +12 -12
  152. package/dist/{state-g6ij_40j.js.map → state-CWs2X2x8.js.map} +1 -1
  153. package/dist/studio-app/assets/{index-DciOL7BI.js → index-BYZWo5gl.js} +9 -9
  154. package/dist/studio-app/index.html +1 -1
  155. package/dist/{summary-gawvEpNu.js → summary-78yLjokt.js} +5 -3
  156. package/dist/summary-78yLjokt.js.map +1 -0
  157. package/dist/{summary-DjbxgCDi.js → summary-CxHRN1zB.js} +6 -6
  158. package/dist/{summary-DjbxgCDi.js.map → summary-CxHRN1zB.js.map} +1 -1
  159. package/dist/{tools-B7SoW5kU.js → tools-DCuVntbR.js} +3 -3
  160. package/dist/{tools-B7SoW5kU.js.map → tools-DCuVntbR.js.map} +1 -1
  161. package/dist/{types-C5AEPr29.d.ts → types-BUWwRisO.d.ts} +105 -24
  162. package/dist/view/index.d.ts +45 -3
  163. package/dist/view/index.js +4 -4
  164. package/dist/views-BVu2pD9u.js +3 -0
  165. package/dist/{views-CHXQfSWQ.js → views-CZDDDj2F.js} +4 -4
  166. package/dist/{views-CHXQfSWQ.js.map → views-CZDDDj2F.js.map} +1 -1
  167. package/dist/{worker-entry-B6nuDpBX.js → worker-entry-DlriWSAs.js} +5 -5
  168. package/dist/{worker-entry-B6nuDpBX.js.map → worker-entry-DlriWSAs.js.map} +1 -1
  169. package/dist/{workspace-DXV77ZqW.js → workspace-BwKzynEj.js} +1 -1
  170. package/dist/{workspace-DUUfne8b.js → workspace-oBK63kWs.js} +5 -5
  171. package/dist/{workspace-DUUfne8b.js.map → workspace-oBK63kWs.js.map} +1 -1
  172. package/package.json +13 -12
  173. package/dist/assemble-BFsyMhb-.js +0 -2
  174. package/dist/assemble-h8s0hzTQ.js.map +0 -1
  175. package/dist/cli-DemDdg8J.js.map +0 -1
  176. package/dist/cli-spec-BxLPgNN-.js.map +0 -1
  177. package/dist/command-CxwnRrTs.js.map +0 -1
  178. package/dist/command-DhgZPhsY.js +0 -2
  179. package/dist/command-y91-aNhu.js.map +0 -1
  180. package/dist/commands-DhCuEa6z.js.map +0 -1
  181. package/dist/db-DA4LBwi_.js.map +0 -1
  182. package/dist/db-DDfq7Tx_.js +0 -2
  183. package/dist/dist-BSoys6pg.js.map +0 -1
  184. package/dist/doctor-DhvVbNKv.js.map +0 -1
  185. package/dist/environment-ByCF9s3n.js.map +0 -1
  186. package/dist/errors-CSxfJ4qu.js +0 -11
  187. package/dist/errors-CSxfJ4qu.js.map +0 -1
  188. package/dist/files-B16cQ6XX.js +0 -2
  189. package/dist/files-BC5Yqir-.js +0 -2
  190. package/dist/files-DHBBIYx_.js.map +0 -1
  191. package/dist/init-DPJv7OmX.js +0 -2
  192. package/dist/init-x55uF8a4.js.map +0 -1
  193. package/dist/judge-D8Uf4dA9.js.map +0 -1
  194. package/dist/model-CNoc8t2Y.js +0 -2
  195. package/dist/model-GFM8iOzM.js.map +0 -1
  196. package/dist/model-ORtLm2UB.js.map +0 -1
  197. package/dist/options-CIutEeuy.js.map +0 -1
  198. package/dist/patch-BkKje4cp.js +0 -69
  199. package/dist/patch-BkKje4cp.js.map +0 -1
  200. package/dist/query-CWkZnV62.js +0 -2
  201. package/dist/redact-C4fL_bZP.js.map +0 -1
  202. package/dist/server-BjbgFX28.js +0 -2
  203. package/dist/source-CLE8vMNa.js +0 -2
  204. package/dist/src-B1OT_Zhf.js.map +0 -1
  205. package/dist/src-BAiYD4eC.js.map +0 -1
  206. package/dist/src-CNp0srm9.js +0 -3
  207. package/dist/src-DJsBrqo6.js +0 -4
  208. package/dist/src-DWk0e7ix.js.map +0 -1
  209. package/dist/src-DgYURuJ6.js +0 -3
  210. package/dist/src-sSPmuaAc.js +0 -3
  211. package/dist/state-Bx-pH2ON.js +0 -2
  212. package/dist/summary-gawvEpNu.js.map +0 -1
  213. package/dist/views-DDei2LHa.js +0 -3
@@ -1,8 +1,9 @@
1
- import { t as UsageError } from "./errors-CSxfJ4qu.js";
2
- import { _ as unbrokeredSecrets, a as checkEnv, b as parseDuration, c as isEnvironment, h as plannedSecrets, i as checkEgress, n as applied, u as isMovingRef, v as workspaceLabel, y as workspaceOf } from "./environment-ByCF9s3n.js";
3
- import { g as isAgentKind, i as plannedEgress, l as HARNESS_EXAMPLE, r as egressLabel } from "./egress-D9vJCATi.js";
4
- import { i as checkModelString } from "./judge-D8Uf4dA9.js";
5
- import { c as opencodeModelError } from "./harness-BbMShUC-.js";
1
+ import { n as UsageError } from "./errors-yDAEwmZo.js";
2
+ import { D as parseDuration, E as workspaceOf, S as sandboxOf, T as workspaceLabel, g as isMovingRef, i as applied, l as emptyEnvironment, m as isEnvironment, o as checkEgress, r as EMPTY_BASELINE, s as checkEnv, w as unbrokeredSecrets, x as plannedSecrets } from "./environment-D3sZUybY.js";
3
+ import { g as isAgentKind, i as plannedEgress, l as HARNESS_EXAMPLE, r as egressLabel } from "./egress-CRQ7wCj8.js";
4
+ import { a as checkModelString, i as badJudgeList } from "./judge-7WjNdU9z.js";
5
+ import { c as opencodeModelError } from "./harness-8-dnGNgT.js";
6
+ import { createHash } from "node:crypto";
6
7
  //#region src/options.ts
7
8
  const KNOWN = [
8
9
  "harness",
@@ -60,10 +61,10 @@ const COMPARE_KEYS = [
60
61
  "gate",
61
62
  "minLift",
62
63
  "harness",
63
- "question"
64
+ "questions"
64
65
  ];
65
66
  const QUESTION_KEYS = ["question", "model"];
66
- const QUESTION_EXAMPLE = `question: 'Which handles state more cleanly?'`;
67
+ const QUESTION_EXAMPLE = `questions: ['Which handles state more cleanly?']`;
67
68
  const ID = /^[A-Za-z0-9._:@+-]+$/;
68
69
  const sanitize = (text) => (text.split("/").at(-1) ?? text).replace(/[^A-Za-z0-9._:@-]+/g, "-");
69
70
  function harnessId(h) {
@@ -71,19 +72,27 @@ function harnessId(h) {
71
72
  if (h.kind === "fake") return "fake";
72
73
  return h.model ? `${h.kind}:${sanitize(h.model)}` : h.kind;
73
74
  }
75
+ function installId(install) {
76
+ if (!install?.length) return "";
77
+ const key = JSON.stringify(install.map((step) => typeof step === "string" ? step : {
78
+ run: step.run,
79
+ timeout: step.timeout
80
+ }));
81
+ return `+${createHash("sha256").update(key).digest("hex").slice(0, 8)}`;
82
+ }
74
83
  function sandboxId(s) {
75
84
  if (s.id) return s.id;
76
85
  if (s.kind === "fake") return "fake";
86
+ const install = s.kind === "docker" ? installId(s.install) : "";
77
87
  if (s.dockerfile) {
78
88
  const [file = "", dir = ""] = s.dockerfile.split(/[\\/]/).reverse();
79
- return `docker:${sanitize(file === "Dockerfile" ? dir || file : file)}`;
89
+ return `docker:${sanitize(file === "Dockerfile" ? dir || file : file)}${install}`;
80
90
  }
81
91
  const image = s.image ?? s.from;
82
- return image ? `docker:${sanitize(image)}` : "docker";
92
+ return image ? `docker:${sanitize(image)}${install}` : `docker${install}`;
83
93
  }
84
94
  const cellKey = (harness, environment, sandbox) => `${harness}/${environment}/${sandbox}`;
85
95
  const isHarness = (v) => v?.kind === "fake" || isAgentKind(v?.kind);
86
- const isSandbox = (v) => v?.kind === "docker" || v?.kind === "fake";
87
96
  function checkMaxConcurrent(value, where) {
88
97
  if (value === void 0 || Number.isInteger(value) && value >= 1) return;
89
98
  throw new UsageError(`maxConcurrent must be a whole number of at least 1 (got ${String(value)}) for ${where}`);
@@ -101,34 +110,38 @@ const isEvaluationModel = (model) => model.startsWith("typesafe-ai/");
101
110
  function checkQuestion(item, where) {
102
111
  if (typeof item === "string") {
103
112
  if (item.trim()) return item;
104
- throw new UsageError(`compare.question in ${where} is an empty string. Ask something, e.g. ${QUESTION_EXAMPLE}.`);
113
+ throw new UsageError(`compare.questions in ${where} is an empty string. Ask something, e.g. ${QUESTION_EXAMPLE}.`);
105
114
  }
106
- if (typeof item !== "object" || item === null || Array.isArray(item)) throw new UsageError(`compare.question in ${where} takes strings or { question, model? } (got ${describe(item)}), e.g. ${QUESTION_EXAMPLE}.`);
115
+ if (typeof item !== "object" || item === null || Array.isArray(item)) throw new UsageError(`compare.questions in ${where} takes strings or { question, model? } (got ${describe(item)}), e.g. ${QUESTION_EXAMPLE}.`);
107
116
  const unknown = Object.keys(item).filter((k) => !QUESTION_KEYS.includes(k));
108
- if (unknown.length) throw new UsageError(`compare.question in ${where} takes { question, model? } (got ${unknown.map((k) => `"${k}"`).join(", ")}).`);
117
+ if (unknown.length) throw new UsageError(`compare.questions in ${where} takes { question, model? } (got ${unknown.map((k) => `"${k}"`).join(", ")}).`);
109
118
  const { question, model } = item;
110
- if (typeof question !== "string" || !question.trim()) throw new UsageError(`compare.question in ${where} has an entry without its question (got ${describe(question)}), e.g. { question: 'Which is cleaner?', model: 'google/gemini-3.8-flash' }.`);
119
+ if (typeof question !== "string" || !question.trim()) throw new UsageError(`compare.questions in ${where} has an entry without its question (got ${describe(question)}), e.g. { question: 'Which is cleaner?', model: 'google/gemini-3.8-flash' }.`);
111
120
  if (model !== void 0) {
112
- if (typeof model !== "string" || checkModelString(model)) throw new UsageError(`compare.question "${question}" in ${where}: model is a 'provider/model' string, e.g. 'google/gemini-3.8-flash' (got ${describe(model)})`);
113
- if (isEvaluationModel(model)) throw new UsageError(`compare.question "${question}" in ${where} names ${model}, an evaluation model: it scores yes/no questions and can't pick between two attempts. Use a language model, e.g. 'google/gemini-3.8-flash'.`);
121
+ if (typeof model !== "string" || checkModelString(model)) throw new UsageError(`compare.questions "${question}" in ${where}: model is a 'provider/model' string, e.g. 'google/gemini-3.8-flash' (got ${describe(model)})`);
122
+ if (isEvaluationModel(model)) throw new UsageError(`compare.questions "${question}" in ${where} names ${model}, an evaluation model: it scores yes/no questions and can't pick between two attempts. Use a language model, e.g. 'google/gemini-3.8-flash'.`);
114
123
  }
115
124
  return question;
116
125
  }
117
126
  function checkQuestions(value, where) {
118
- const list = Array.isArray(value) ? value : [value];
119
- if (list.length === 0) throw new UsageError(`compare.question in ${where} is an empty list. Ask at least one, e.g. ${QUESTION_EXAMPLE}, or leave question out.`);
127
+ if (!Array.isArray(value)) throw new UsageError(`compare.questions in ${where} is a list (got ${describe(value)}), e.g. ${QUESTION_EXAMPLE}.`);
128
+ const list = value;
129
+ if (list.length === 0) throw new UsageError(`compare.questions in ${where} is an empty list. Ask at least one, e.g. ${QUESTION_EXAMPLE}, or leave questions out.`);
120
130
  const texts = list.map((item) => checkQuestion(item, where));
121
131
  const dupe = texts.find((t, i) => texts.indexOf(t) !== i);
122
- if (dupe) throw new UsageError(`compare.question in ${where} asks "${dupe}" twice`);
132
+ if (dupe) throw new UsageError(`compare.questions in ${where} asks "${dupe}" twice`);
123
133
  }
124
134
  function checkCompare(value, where) {
125
135
  if (Array.isArray(value)) throw new UsageError(`compare must be an object in ${where}. Use compare: { baseline, variants: [...] }.`);
126
136
  const spec = value;
127
- if (typeof value !== "object" || value === null || !Array.isArray(spec.variants)) throw new UsageError(`compare takes { baseline, variants } (got ${describe(value)}) in ${where}. Use compare: { baseline, variants: [a, b], gate?, minLift?, harness? }.`);
128
- for (const key of Object.keys(value)) if (!COMPARE_KEYS.includes(key)) throw new UsageError(`Unknown compare option "${key}" in ${where}${key === "questions" ? ". Did you mean \"question\"?" : ""}`);
129
- const { baseline, variants, gate, minLift, harness, question } = spec;
130
- if (question !== void 0) checkQuestions(question, where);
131
- if (!isEnvironment(baseline)) throw new UsageError(`compare.baseline in ${where} must be an environment from defineEnvironment (got ${describe(baseline)}). It is the control; variants are not layered on it or on the eval's environment.`);
137
+ if (typeof value !== "object" || value === null || !Array.isArray(spec.variants)) throw new UsageError(`compare takes { variants, baseline? } (got ${describe(value)}) in ${where}. Use compare: { variants: [a, b], baseline?, gate?, minLift?, harness?, questions? }.`);
138
+ for (const key of Object.keys(value)) if (!COMPARE_KEYS.includes(key)) {
139
+ const hint = key === "question" ? `. Did you mean "questions"? It's a list: ${QUESTION_EXAMPLE}.` : "";
140
+ throw new UsageError(`Unknown compare option "${key}" in ${where}${hint}`);
141
+ }
142
+ const { baseline, variants, gate, minLift, harness, questions } = spec;
143
+ if (questions !== void 0) checkQuestions(questions, where);
144
+ if (baseline !== void 0 && !isEnvironment(baseline)) throw new UsageError(`compare.baseline in ${where} must be an environment from defineEnvironment (got ${describe(baseline)}). It is the control; variants are not layered on it or on the eval's environment. Leave it out to use the eval's environment as the control.`);
132
145
  if (gate !== void 0 && !GATES.includes(gate)) throw new UsageError(`compare.gate must be one of ${GATES.join(", ")} in ${where}`);
133
146
  if (minLift !== void 0 && !(typeof minLift === "number" && minLift >= -1 && minLift <= 1)) throw new UsageError(`compare.minLift is points from -1 to 1 (got ${minLift}) in ${where}`);
134
147
  if (harness !== void 0 && !Array.isArray(harness)) throw new UsageError(`compare.harness must be a list of harness ids in ${where}`);
@@ -151,19 +164,22 @@ function checkOptions(options, where, allowed = KNOWN) {
151
164
  checkMaxConcurrent(o.judge?.maxConcurrent, `judge in ${where}`);
152
165
  const threshold = o.judge?.threshold;
153
166
  if (threshold !== void 0 && !(typeof threshold === "number" && threshold >= 0 && threshold <= 1)) throw new UsageError(`judge.threshold must be between 0 and 1 (got ${String(threshold)}) in ${where}`);
167
+ const badList = o.judge && badJudgeList(o.judge);
168
+ if (badList) throw new UsageError(`judge.${badList.key} must be a list of non-empty strings (got ${badList.got}) in ${where}`);
169
+ if (o.sandbox !== void 0) {
170
+ const kind = o.sandbox.kind;
171
+ if (kind !== "docker" && kind !== "fake") throw new UsageError(`sandbox in ${where} must come from docker() or fakeSandbox() (got ${describe(o.sandbox)})`);
172
+ const max = o.sandbox.maxConcurrent;
173
+ if (max !== void 0 && !(Number.isInteger(max) && max >= 1)) throw new UsageError(`sandbox.maxConcurrent in ${where} must be a whole number of at least 1 (got ${String(max)})`);
174
+ }
154
175
  if (o.environment !== void 0) {
155
176
  if (Array.isArray(o.environment)) throw new UsageError(`environment takes one environment, not a list (${where}). To compare environments, use compare: { baseline, variants: [a, b] }. baseline is the control; variants are not layered on it.`);
156
177
  if (!isEnvironment(o.environment)) throw new UsageError(`environment in ${where} must come from defineEnvironment(…) (got ${describe(o.environment)})`);
157
178
  }
158
- if (o.sandbox !== void 0) {
159
- if (Array.isArray(o.sandbox)) throw new UsageError(`sandbox takes one sandbox, not a list (${where}). Different toolchains need different checks, so write a separate eval per sandbox.`);
160
- if (!isSandbox(o.sandbox)) throw new UsageError(`sandbox in ${where} must be like docker() (got ${describe(o.sandbox)})`);
161
- checkMaxConcurrent(o.sandbox.maxConcurrent, `sandbox in ${where}`);
162
- }
163
179
  const raw = options;
164
180
  if (raw.compare === false) throw new UsageError(`compare: false can't be set in ${where}. A profile turns compare off with limit.compare: false, which runs the baseline and strips the variants. On a group or eval, omit compare or pass compare: { baseline, variants }.`);
165
181
  if (o.compare !== void 0) checkCompare(o.compare, where);
166
- if (raw.environment !== void 0 && raw.compare !== void 0) throw new UsageError(`environment and compare can't both be set in ${where}. compare: { baseline, variants } names every arm, so drop environment.`);
182
+ if (raw.environment !== void 0 && o.compare?.baseline !== void 0) throw new UsageError(`environment and compare.baseline can't both be set in ${where}. compare: { baseline, variants } names every arm, so drop environment, or drop baseline to make environment the control.`);
167
183
  if (o.pin !== void 0) {
168
184
  const bad = Array.isArray(o.pin) ? o.pin.filter((k) => !PINNABLE.includes(k)) : [o.pin];
169
185
  if (bad.length) throw new UsageError(`pin accepts harness, runs and compare (got ${bad.map(String).join(", ")}) in ${where}`);
@@ -214,20 +230,23 @@ function checkUnique(list, where) {
214
230
  seen.add(key);
215
231
  }
216
232
  }
217
- const plannedQuestions = (value) => (value === void 0 ? [] : Array.isArray(value) ? value : [value]).map((q) => typeof q === "string" ? { question: q } : {
233
+ const plannedQuestions = (value) => (value ?? []).map((q) => typeof q === "string" ? { question: q } : {
218
234
  question: q.question,
219
235
  ...q.model !== void 0 ? { model: q.model } : {}
220
236
  });
221
237
  function normalizeCompare(value) {
222
238
  if (value === void 0) return void 0;
223
239
  return {
224
- baseline: value.baseline,
240
+ ...value.baseline ? { baseline: value.baseline } : {
241
+ baseline: emptyEnvironment(EMPTY_BASELINE),
242
+ from: "empty"
243
+ },
225
244
  variants: value.variants,
226
245
  gate: value.gate ?? "variants",
227
246
  ...value.minLift !== void 0 ? { minLift: value.minLift } : {},
228
247
  ...value.harness ? { harness: value.harness.map((h) => typeof h === "string" ? h : harnessId(h)) } : {},
229
248
  of: value.variants.length,
230
- questions: plannedQuestions(value.question)
249
+ questions: plannedQuestions(value.questions)
231
250
  };
232
251
  }
233
252
  function applyLevel(out, options, where, egress = "own") {
@@ -273,12 +292,17 @@ function cascade(base, levels, where, options = {}) {
273
292
  judge: profileJudge(profile)
274
293
  }, `profiles.${profile.name}.defaults`, "inherited");
275
294
  for (const { options: own, where: at } of levels) applyLevel(out, own, at);
295
+ if (out.compare?.from && out.environment) out.compare = {
296
+ ...out.compare,
297
+ baseline: out.environment,
298
+ from: "environment"
299
+ };
276
300
  checkUnique(out.harness, where);
277
301
  if (profile?.defaults.harness !== void 0 && levels.some((l) => l.options.harness)) notes.push("harness set by the eval");
278
302
  const ids = out.harness.map(harnessId);
279
303
  const missing = (out.compare?.harness)?.filter((id) => !ids.includes(id)) ?? [];
280
304
  if (missing.length) throw new UsageError(`compare.harness lists ${missing.join(", ")}, which ${where} doesn't run (it runs ${ids.join(", ")}).`);
281
- for (const v of out.compare?.variants ?? []) if (v.name === out.compare?.baseline.name) throw new UsageError(`compare in ${where} lists ${v.name}, which is the baseline. List only the other environments.`);
305
+ for (const v of out.compare?.variants ?? []) if (v.name === out.compare?.baseline.name) throw new UsageError(out.compare.from === "empty" ? `compare in ${where} lists a variant named ${v.name}, the name of the empty control a compare without a baseline or environment runs. Rename the variant, or set compare.baseline.` : out.compare.from === "environment" ? `compare in ${where} lists ${v.name}, which is the control: compare has no baseline, so the eval's environment is. List only the other environments.` : `compare in ${where} lists ${v.name}, which is the baseline. List only the other environments.`);
282
306
  const names = out.compare?.variants.map((v) => v.name) ?? [];
283
307
  const dupe = names.find((n, i) => names.indexOf(n) !== i);
284
308
  if (dupe) throw new UsageError(`compare in ${where} lists two variants named ${dupe}`);
@@ -331,50 +355,90 @@ function cascade(base, levels, where, options = {}) {
331
355
  ...skip ? { skip } : {}
332
356
  };
333
357
  }
358
+ /**
359
+ * The sandbox an attempt runs in: the resolved environment's (including an `.extend()`
360
+ * parent's), else the first variant's when this is an omitted-baseline empty control, else
361
+ * the cascaded option (`defineConfig` / profile defaults / group / eval), else implicit Docker.
362
+ * A named environment is a total override: the config environment's sandbox is not inherited.
363
+ */
364
+ const attemptSandbox = (resolved, env) => {
365
+ const own = env.layers.findLast((l) => l.spec.sandbox)?.spec.sandbox;
366
+ if (own) return own;
367
+ const variant = resolved.compare?.from === "empty" && env.name === "baseline" ? resolved.compare.variants[0] : void 0;
368
+ return sandboxOf(variant?.layers ?? [], resolved.sandbox);
369
+ };
370
+ /**
371
+ * Which level set this attempt's sandbox: the cascade source of the environment that named one
372
+ * (an `.extend()` child still names that environment), else the first variant when this is an
373
+ * omitted-baseline empty control, else the cascaded `sandbox` option, else the config (implicit
374
+ * Docker).
375
+ */
376
+ function sandboxSetBy(planned, resolved, configFile) {
377
+ if (!planned.environment.layers.some((l) => l.spec.sandbox)) {
378
+ if (resolved.compare?.from === "empty" && planned.cell.role === "control" && resolved.compare.variants[0]?.layers.some((l) => l.spec.sandbox)) return resolved.sources?.compare ?? configFile;
379
+ return resolved.sources?.sandbox ?? configFile;
380
+ }
381
+ if (resolved.compare) {
382
+ if (planned.cell.role === "control") {
383
+ if (resolved.compare.from === "environment") return resolved.sources?.environment ?? configFile;
384
+ if (resolved.compare.from === "empty") return configFile;
385
+ return resolved.sources?.compare ?? configFile;
386
+ }
387
+ return resolved.sources?.compare ?? configFile;
388
+ }
389
+ return resolved.sources?.environment ?? configFile;
390
+ }
334
391
  /** Per harness: the control, then each variant it compares on; then run numbers. */
335
392
  function expand(resolved) {
336
393
  const { compare } = resolved;
337
- const sandbox = sandboxId(resolved.sandbox);
338
394
  const control = applied(compare ? compare.baseline : resolved.environment);
339
395
  const policy = resolved.gate ?? "all";
340
396
  const gateIf = (gated) => gated ? policy : "none";
341
397
  const attempts = [];
342
398
  for (const harness of resolved.harness) {
343
399
  const hid = harnessId(harness);
344
- const cells = [{
345
- env: control,
346
- cell: {
347
- key: cellKey(hid, control.name, sandbox),
348
- harness: hid,
349
- environment: control.name,
400
+ const cells = [(() => {
401
+ const sandbox = attemptSandbox(resolved, control);
402
+ const sid = sandboxId(sandbox);
403
+ return {
404
+ env: control,
350
405
  sandbox,
351
- role: "control"
352
- },
353
- gate: gateIf(!compare || compare.gate === "all")
354
- }];
406
+ cell: {
407
+ key: cellKey(hid, control.name, sid),
408
+ harness: hid,
409
+ environment: control.name,
410
+ sandbox: sid,
411
+ role: "control"
412
+ },
413
+ gate: gateIf(!compare || compare.gate === "all")
414
+ };
415
+ })()];
355
416
  if (compare && (!compare.harness || compare.harness.includes(hid))) for (const v of compare.variants) {
356
417
  const env = applied(v);
418
+ const sandbox = attemptSandbox(resolved, env);
419
+ const sid = sandboxId(sandbox);
357
420
  cells.push({
358
421
  env,
422
+ sandbox,
359
423
  cell: {
360
- key: cellKey(hid, env.name, sandbox),
424
+ key: cellKey(hid, env.name, sid),
361
425
  harness: hid,
362
426
  environment: env.name,
363
- sandbox,
427
+ sandbox: sid,
364
428
  role: "variant",
365
429
  variant: v.name
366
430
  },
367
431
  gate: gateIf(compare.gate !== "none")
368
432
  });
369
433
  }
370
- for (const { env, cell, gate } of cells) {
434
+ for (const { env, sandbox, cell, gate } of cells) {
371
435
  const axes = [resolved.harness.length > 1 ? hid : "", compare ? cell.role === "control" ? "control" : env.name : ""].filter(Boolean);
372
436
  for (let n = 1; n <= resolved.runs; n++) {
373
437
  const label = [axes.join(" · "), resolved.runs > 1 ? `#${n}` : ""].filter(Boolean).join(" ");
374
438
  attempts.push({
375
439
  cell,
376
440
  harness,
377
- sandbox: resolved.sandbox,
441
+ sandbox,
378
442
  environment: env,
379
443
  egress: plannedEgress(resolved.egress, harness, resolved.env, env.layers),
380
444
  gate,
@@ -426,33 +490,46 @@ const unbrokeredWarning = (s) => s.checksOnly ? `${s.label} reaches the checks (
426
490
  const unbrokeredError = (s, where, configFile) => `${s.label} in ${where} isn't brokered, and secrets.unbrokered is 'error' in ${configFile}. To broker it, ${brokerHint(s)}.`;
427
491
  const levelOf = (where) => where.startsWith("evaluate(") ? "eval" : where.startsWith("group(") ? "group" : where.startsWith("profiles.") ? "profile" : "config";
428
492
  /**
429
- * A warning per privilege the eval's Docker sandbox adds, naming the level that set it: the
430
- * config when no profile, group or eval did.
493
+ * A warning per privilege an attempt's Docker sandbox adds, naming the level that set the
494
+ * environment which owns that sandbox: the config when no profile, group or eval did.
431
495
  */
432
- function sandboxWarnings(resolved, origin) {
433
- const { sandbox } = resolved;
434
- if (sandbox.kind !== "docker") return [];
435
- const where = resolved.sources?.sandbox ?? origin.configFile;
436
- const level = levelOf(where);
437
- const file = level === "eval" || level === "group" ? origin.file : null;
496
+ function sandboxWarnings(attempts, resolved, origin) {
438
497
  const out = [];
439
- if (sandbox.root) out.push({
440
- kind: "root",
441
- level,
442
- where,
443
- file,
444
- message: `running as root in the sandbox: ${where} (docker({ root: true }))`
445
- });
446
- if (sandbox.capabilities?.length) {
447
- const list = sandbox.capabilities.map((c) => `'${c}'`).join(", ");
448
- out.push({
449
- kind: "capabilities",
450
- level,
451
- where,
452
- file,
453
- capabilities: [...sandbox.capabilities],
454
- message: `extra capabilities in the sandbox: ${where} (docker({ capabilities: [${list}] }))`
455
- });
498
+ const seen = /* @__PURE__ */ new Set();
499
+ for (const a of attempts) {
500
+ if (a.sandbox.kind !== "docker") continue;
501
+ const where = sandboxSetBy(a, resolved, origin.configFile);
502
+ const level = levelOf(where);
503
+ const file = level === "eval" || level === "group" ? origin.file : null;
504
+ if (a.sandbox.root) {
505
+ const message = `running as root in the sandbox: ${where} (docker({ root: true }))`;
506
+ const key = `${file}\0${message}`;
507
+ if (!seen.has(key)) {
508
+ seen.add(key);
509
+ out.push({
510
+ kind: "root",
511
+ level,
512
+ where,
513
+ file,
514
+ message
515
+ });
516
+ }
517
+ }
518
+ if (a.sandbox.capabilities?.length) {
519
+ const message = `extra capabilities in the sandbox: ${where} (docker({ capabilities: [${a.sandbox.capabilities.map((c) => `'${c}'`).join(", ")}] }))`;
520
+ const key = `${file}\0${message}`;
521
+ if (!seen.has(key)) {
522
+ seen.add(key);
523
+ out.push({
524
+ kind: "capabilities",
525
+ level,
526
+ where,
527
+ file,
528
+ capabilities: [...a.sandbox.capabilities],
529
+ message
530
+ });
531
+ }
532
+ }
456
533
  }
457
534
  return out;
458
535
  }
@@ -465,7 +542,10 @@ function evalPlan(r, attempts, origin) {
465
542
  run: resolved.compare.variants.length,
466
543
  of: resolved.compare.of
467
544
  } : null,
468
- ...resolved.compare ? { compare: { baseline: resolved.compare.baseline.name } } : {},
545
+ ...resolved.compare ? { compare: {
546
+ baseline: resolved.compare.baseline.name,
547
+ ...resolved.compare.from ? { from: resolved.compare.from } : {}
548
+ } } : {},
469
549
  ...!skip && resolved.compare?.questions.length ? { questions: resolved.compare.questions } : {},
470
550
  runs: resolved.runs,
471
551
  ...resolved.gate !== void 0 ? { gate: resolved.gate } : {},
@@ -473,7 +553,7 @@ function evalPlan(r, attempts, origin) {
473
553
  notes,
474
554
  ...skip ? { skip } : {},
475
555
  warnings: [...environmentWarnings(attempts), ...unbrokered(r.resolved.env, attempts).filter(reachesSandbox).map(unbrokeredWarning)],
476
- sandboxWarnings: skip ? [] : sandboxWarnings(resolved, origin),
556
+ sandboxWarnings: skip ? [] : sandboxWarnings(attempts, resolved, origin),
477
557
  brokered: [...new Set(attempts.flatMap((a) => brokeredIn(r.resolved.env, a)))],
478
558
  egress: [...new Set(attempts.map((a) => egressLabel(a.egress)).filter(Boolean))],
479
559
  workspaces: [...new Set(attempts.flatMap((a) => {
@@ -487,6 +567,6 @@ function matchesTags(tags, filters) {
487
567
  return filters.every((f) => f.startsWith("!") ? !tags.includes(f.slice(1)) : tags.includes(f));
488
568
  }
489
569
  //#endregion
490
- export { evalPlan as a, levelOf as c, sandboxId as d, secretVarsIn as f, checkOptions as i, matchesTags as l, unbrokeredError as m, cascade as n, expand as o, unbrokered as p, checkHarnesses as r, harnessId as s, brokeredIn as t, profileJudge as u };
570
+ export { evalPlan as a, levelOf as c, sandboxId as d, sandboxSetBy as f, unbrokeredError as h, checkOptions as i, matchesTags as l, unbrokered as m, cascade as n, expand as o, secretVarsIn as p, checkHarnesses as r, harnessId as s, brokeredIn as t, profileJudge as u };
491
571
 
492
- //# sourceMappingURL=options-CIutEeuy.js.map
572
+ //# sourceMappingURL=options-BBLwgaSz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options-BBLwgaSz.js","names":[],"sources":["../src/options.ts"],"mappings":";;;;;;;AAkDA,MAAM,QAAQ;CACZ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,UAAkC;CACtC,WAAW;CACX,WAAW;CACX,cAAc;CACd,UAAU;CACV,UAAU;CACV,QAAQ;CACR,SAAS;CACT,YAAY;CACZ,QAAQ;CACR,SAAS;CACT,MAAM;CACN,SAAS;CACT,eAAe;CACf,KAAK;CACL,MAAM;CACN,UAAU;CACV,WAAW;AACb;;AAGA,SAAgB,UAAU,OAAgB,OAAqB;CAC7D,IAAI,UAAU,OAAO;CACrB,MAAM,OAAQ,OAAkC;CAEhD,KADa,OAAO,UAAU,YAAY,UAAU,OAAO,OAAO,KAAK,KAAK,IAAI,CAAC,EAAA,CACxE,WAAW,KAAK,OAAO,SAAS,YAAY,OAAO,KAAK,QAAQ,GAAG;CAC5E,MAAM,IAAI,WACR,8HAA8H,KAAK,UAAU,KAAK,EAAE,OAAO,OAC7J;AACF;AACA,MAAM,WAA0B;CAAC;CAAW;CAAQ;AAAS;AAC7D,MAAM,QAAuB;CAAC;CAAY;CAAO;AAAM;AACvD,MAAM,eAAe;CAAC;CAAY;CAAY;CAAQ;CAAW;CAAW;AAAW;AACvF,MAAM,gBAAgB,CAAC,YAAY,OAAO;AAC1C,MAAM,mBAAmB;AAEzB,MAAM,KAAK;AAEX,MAAM,YAAY,UACf,KAAK,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAA,CAAM,QAAQ,uBAAuB,GAAG;AAErE,SAAgB,UAAU,GAA8B;CACtD,IAAI,EAAE,IAAI,OAAO,EAAE;CACnB,IAAI,EAAE,SAAS,QAAQ,OAAO;CAC9B,OAAO,EAAE,QAAQ,GAAG,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,MAAM,EAAE;AACxD;AAEA,SAAS,UAAU,SAAqD;CACtE,IAAI,CAAC,SAAS,QAAQ,OAAO;CAC7B,MAAM,MAAM,KAAK,UACf,QAAQ,KAAK,SACX,OAAO,SAAS,WAAW,OAAO;EAAE,KAAK,KAAK;EAAK,SAAS,KAAK;CAAQ,CAC3E,CACF;CACA,OAAO,IAAI,WAAW,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;AACtE;AAEA,SAAgB,UAAU,GAA8B;CACtD,IAAI,EAAE,IAAI,OAAO,EAAE;CACnB,IAAI,EAAE,SAAS,QAAQ,OAAO;CAC9B,MAAM,UAAU,EAAE,SAAS,WAAW,UAAU,EAAE,OAAO,IAAI;CAC7D,IAAI,EAAE,YAAY;EAChB,MAAM,CAAC,OAAO,IAAI,MAAM,MAAM,EAAE,WAAW,MAAM,OAAO,CAAC,CAAC,QAAQ;EAClE,OAAO,UAAU,SAAS,SAAS,eAAe,OAAO,OAAO,IAAI,IAAI;CAC1E;CACA,MAAM,QAAQ,EAAE,SAAS,EAAE;CAC3B,OAAO,QAAQ,UAAU,SAAS,KAAK,IAAI,YAAY,SAAS;AAClE;AAEA,MAAa,WAAW,SAAiB,aAAqB,YAC5D,GAAG,QAAQ,GAAG,YAAY,GAAG;AAE/B,MAAM,aAAa,MAChB,GAAyB,SAAS,UAAU,YAAa,GAAyB,IAAI;AAEzF,SAAS,mBAAmB,OAAgB,OAAqB;CAC/D,IAAI,UAAU,KAAA,KAAc,OAAO,UAAU,KAAK,KAAM,SAAoB,GAAI;CAChF,MAAM,IAAI,WACR,2DAA2D,OAAO,KAAK,EAAE,QAAQ,OACnF;AACF;AAEA,MAAM,YAAY,UAAmB;CACnC,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,aAAa,MAAM;CACpD,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM;EAC/C,MAAM,OAAO,OAAO,KAAK,KAAK;EAC9B,OAAO,KAAK,SAAS,kBAAkB,KAAK,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM;CAClF;CACA,OAAO,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK;AAC9C;;AAGA,MAAM,qBAAqB,UAAkB,MAAM,WAAW,cAAc;AAE5E,SAAS,cAAc,MAAe,OAAuB;CAC3D,IAAI,OAAO,SAAS,UAAU;EAC5B,IAAI,KAAK,KAAK,GAAG,OAAO;EACxB,MAAM,IAAI,WACR,wBAAwB,MAAM,2CAA2C,iBAAiB,EAC5F;CACF;CACA,IAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,MAAM,QAAQ,IAAI,GACjE,MAAM,IAAI,WACR,wBAAwB,MAAM,8CAA8C,SAAS,IAAI,EAAE,UAAU,iBAAiB,EACxH;CAEF,MAAM,UAAU,OAAO,KAAK,IAAI,CAAC,CAAC,QAAQ,MAAM,CAAC,cAAc,SAAS,CAAC,CAAC;CAC1E,IAAI,QAAQ,QACV,MAAM,IAAI,WACR,wBAAwB,MAAM,mCAAmC,QAAQ,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,GAC3G;CAEF,MAAM,EAAE,UAAU,UAAU;CAC5B,IAAI,OAAO,aAAa,YAAY,CAAC,SAAS,KAAK,GACjD,MAAM,IAAI,WACR,wBAAwB,MAAM,0CAA0C,SAAS,QAAQ,EAAE,6EAC7F;CAEF,IAAI,UAAU,KAAA,GAAW;EACvB,IAAI,OAAO,UAAU,YAAY,iBAAiB,KAAK,GACrD,MAAM,IAAI,WACR,sBAAsB,SAAS,OAAO,MAAM,4EAA4E,SAAS,KAAK,EAAE,EAC1I;EAEF,IAAI,kBAAkB,KAAK,GACzB,MAAM,IAAI,WACR,sBAAsB,SAAS,OAAO,MAAM,SAAS,MAAM,6IAC7D;CAEJ;CACA,OAAO;AACT;AAEA,SAAS,eAAe,OAAgB,OAAqB;CAC3D,IAAI,CAAC,MAAM,QAAQ,KAAK,GACtB,MAAM,IAAI,WACR,wBAAwB,MAAM,kBAAkB,SAAS,KAAK,EAAE,UAAU,iBAAiB,EAC7F;CAEF,MAAM,OAAkB;CACxB,IAAI,KAAK,WAAW,GAClB,MAAM,IAAI,WACR,wBAAwB,MAAM,4CAA4C,iBAAiB,0BAC7F;CAEF,MAAM,QAAQ,KAAK,KAAK,SAAS,cAAc,MAAM,KAAK,CAAC;CAC3D,MAAM,OAAO,MAAM,MAAM,GAAG,MAAM,MAAM,QAAQ,CAAC,MAAM,CAAC;CACxD,IAAI,MAAM,MAAM,IAAI,WAAW,wBAAwB,MAAM,SAAS,KAAK,QAAQ;AACrF;AAEA,SAAS,aAAa,OAAgB,OAAqB;CACzD,IAAI,MAAM,QAAQ,KAAK,GACrB,MAAM,IAAI,WACR,gCAAgC,MAAM,8CACxC;CAEF,MAAM,OAAO;CACb,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,QAAQ,GAC7E,MAAM,IAAI,WACR,8CAA8C,SAAS,KAAK,EAAE,OAAO,MAAM,uFAC7E;CAEF,KAAK,MAAM,OAAO,OAAO,KAAK,KAAK,GACjC,IAAI,CAAC,aAAa,SAAS,GAAG,GAAG;EAC/B,MAAM,OACJ,QAAQ,aAAa,4CAA4C,iBAAiB,KAAK;EACzF,MAAM,IAAI,WAAW,2BAA2B,IAAI,OAAO,QAAQ,MAAM;CAC3E;CAEF,MAAM,EAAE,UAAU,UAAU,MAAM,SAAS,SAAS,cAAc;CAQlE,IAAI,cAAc,KAAA,GAAW,eAAe,WAAW,KAAK;CAC5D,IAAI,aAAa,KAAA,KAAa,CAAC,cAAc,QAAQ,GACnD,MAAM,IAAI,WACR,uBAAuB,MAAM,sDAAsD,SAAS,QAAQ,EAAE,8IACxG;CAEF,IAAI,SAAS,KAAA,KAAa,CAAC,MAAM,SAAS,IAAmB,GAC3D,MAAM,IAAI,WAAW,+BAA+B,MAAM,KAAK,IAAI,EAAE,MAAM,OAAO;CAEpF,IAAI,YAAY,KAAA,KAAa,EAAE,OAAO,YAAY,YAAY,WAAW,MAAM,WAAW,IACxF,MAAM,IAAI,WAAW,+CAA+C,QAAQ,OAAO,OAAO;CAE5F,IAAI,YAAY,KAAA,KAAa,CAAC,MAAM,QAAQ,OAAO,GACjD,MAAM,IAAI,WAAW,oDAAoD,OAAO;CAElF,IAAI,SAAS,WAAW,GACtB,MAAM,IAAI,WAAW,8BAA8B,MAAM,iCAAiC;CAE5F,KAAK,MAAM,KAAK,UACd,IAAI,CAAC,cAAc,CAAC,GAClB,MAAM,IAAI,WACR,mCAAmC,SAAS,CAAC,EAAE,OAAO,MAAM,2GAC9D;AAGN;;AAGA,SAAgB,aAAa,SAAiB,OAAe,UAAU,OAAa;CAClF,KAAK,MAAM,OAAO,OAAO,KAAK,OAAO,GAAG;EACtC,IAAI,QAAQ,SAAS,GAAG,GAAG;EAC3B,MAAM,OAAO,QAAQ,OAAO,kBAAkB,QAAQ,KAAK,MAAM;EACjE,MAAM,IAAI,WAAW,mBAAmB,IAAI,OAAO,MAAM,GAAG,MAAM;CACpE;CACA,MAAM,IAAI;CACV,IAAI,EAAE,SAAS,KAAA,KAAa,EAAE,OAAO,UAAU,EAAE,IAAI,KAAK,EAAE,QAAQ,IAClE,MAAM,IAAI,WAAW,kDAAkD,EAAE,KAAK,OAAO,OAAO;CAE9F,IAAI,EAAE,SAAS,KAAA,GAAW,UAAU,EAAE,MAAM,KAAK;CACjD,IACE,EAAE,SAAS,KAAA,MACV,CAAC,MAAM,QAAQ,EAAE,IAAI,KAAK,EAAE,KAAK,MAAM,MAAM,OAAO,MAAM,QAAQ,IAEnE,MAAM,IAAI,WAAW,qCAAqC,OAAO;CAEnE,IAAI,EAAE,QAAQ,KAAA,GAAW,SAAS,EAAE,KAAK,OAAO,UAAU;CAC1D,IAAI,EAAE,WAAW,KAAA,GAAW,YAAY,EAAE,QAAQ,OAAO,UAAU;CACnE,mBAAmB,EAAE,OAAO,eAAe,YAAY,OAAO;CAC9D,MAAM,YAAY,EAAE,OAAO;CAC3B,IACE,cAAc,KAAA,KACd,EAAE,OAAO,cAAc,YAAY,aAAa,KAAK,aAAa,IAElE,MAAM,IAAI,WACR,gDAAgD,OAAO,SAAS,EAAE,OAAO,OAC3E;CAEF,MAAM,UAAU,EAAE,SAAS,aAAa,EAAE,KAAK;CAC/C,IAAI,SACF,MAAM,IAAI,WACR,SAAS,QAAQ,IAAI,4CAA4C,QAAQ,IAAI,OAAO,OACtF;CAEF,IAAI,EAAE,YAAY,KAAA,GAAW;EAC3B,MAAM,OAAQ,EAAE,QAA8B;EAC9C,IAAI,SAAS,YAAY,SAAS,QAChC,MAAM,IAAI,WACR,cAAc,MAAM,iDAAiD,SAAS,EAAE,OAAO,EAAE,EAC3F;EAEF,MAAM,MAAM,EAAE,QAAQ;EACtB,IAAI,QAAQ,KAAA,KAAa,EAAE,OAAO,UAAU,GAAG,KAAK,OAAO,IACzD,MAAM,IAAI,WACR,4BAA4B,MAAM,6CAA6C,OAAO,GAAG,EAAE,EAC7F;CAEJ;CACA,IAAI,EAAE,gBAAgB,KAAA,GAAW;EAC/B,IAAI,MAAM,QAAQ,EAAE,WAAW,GAC7B,MAAM,IAAI,WACR,kDAAkD,MAAM,kIAC1D;EAEF,IAAI,CAAC,cAAc,EAAE,WAAW,GAC9B,MAAM,IAAI,WACR,kBAAkB,MAAM,4CAA4C,SAAS,EAAE,WAAW,EAAE,EAC9F;CAEJ;CACA,MAAM,MAAM;CACZ,IAAI,IAAI,YAAY,OAClB,MAAM,IAAI,WACR,kCAAkC,MAAM,oLAC1C;CAEF,IAAI,EAAE,YAAY,KAAA,GAAW,aAAa,EAAE,SAAS,KAAK;CAC1D,IAAI,IAAI,gBAAgB,KAAA,KAAa,EAAE,SAAS,aAAa,KAAA,GAC3D,MAAM,IAAI,WACR,yDAAyD,MAAM,0HACjE;CAEF,IAAI,EAAE,QAAQ,KAAA,GAAW;EACvB,MAAM,MAAM,MAAM,QAAQ,EAAE,GAAG,IAAI,EAAE,IAAI,QAAQ,MAAM,CAAC,SAAS,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG;EACtF,IAAI,IAAI,QACN,MAAM,IAAI,WACR,8CAA8C,IAAI,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,OAClF;CAEJ;AACF;AAEA,SAAS,aACP,WACA,OACA,OACqB;CACrB,IAAI,UAAU,KAAA,GAAW,OAAO;CAChC,MAAM,OACJ,OAAO,UAAU,aACb,MAAM,SAAS,IACf,cAAc,KAAK,IACjB,YAAY,WAAW,OAAO,KAAK,IACnC;CACR,MAAM,OAAO,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;CAC/C,IAAI,KAAK,WAAW,GAClB,MAAM,IAAI,WACR,+BAA+B,MAAM,qCAAqC,iBAC5E;CAEF,eAAe,MAAM,KAAK;CAC1B,OAAO;AACT;AAEA,MAAM,iBAAiB,MACrB,OAAO,MAAM,YACb,MAAM,QACN,CAAC,MAAM,QAAQ,CAAC,KAChB,EAAE,UAAU,OACX,SAAS,KAAK,UAAU;;AAG3B,SAAS,YACP,WACA,MACA,OACqB;CACrB,IAAI,SAAS,QAAQ,UAAU,MAC7B,MAAM,IAAI,WAAW,mDAAmD,OAAO;CAEjF,IAAI,SAAS,MAAM,OAAO,CAAC,GAAG,WAAW,GAAI,MAAM,QAAQ,KAAK,GAAG,IAAI,KAAK,MAAM,CAAC,KAAK,GAAG,CAAE;CAC7F,MAAM,MAAM,MAAM,QAAQ,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC,KAAK,IAAI;CAC7D,MAAM,OAAO,UAAU,IAAI,SAAS;CACpC,MAAM,UAAU,IAAI,QAAQ,OAAO,OAAO,OAAO,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;CAC/E,IAAI,QAAQ,QACV,MAAM,IAAI,WACR,mBAAmB,QAAQ,KAAK,OAAO,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,QAAQ,MAAM,0CAA0C,KAAK,KAAK,IAAI,EAAE,EAChJ;CAEF,OAAO,UAAU,QAAQ,MAAM,IAAI,SAAS,UAAU,CAAC,CAAC,CAAC;AAC3D;;AAGA,SAAgB,eAAe,MAAiB,OAAqB;CACnE,KAAK,MAAM,QAAQ,MAAM;EACvB,IAAI,CAAC,UAAU,IAAI,GACjB,MAAM,IAAI,WACR,cAAc,MAAM,gBAAgB,gBAAgB,QAAQ,SAAS,IAAI,EAAE,EAC7E;EAEF,IAAK,KAA2B,SAAS,YAAY;GACnD,MAAM,MAAM,mBAAoB,KAA6B,KAAK;GAClE,IAAI,KAAK,MAAM,IAAI,WAAW,iBAAiB,MAAM,IAAI,KAAK;EAChE;EACA,mBAAoB,KAA2B,eAAe,cAAc,OAAO;EACnF,MAAM,EAAE,iBAAiB;EACzB,IAAI,iBAAiB,KAAA,GACnB,IAAI;GACF,cAAc,YAAY;EAC5B,SAAS,OAAO;GACd,MAAM,IAAI,WAAW,8BAA8B,MAAM,IAAK,MAAgB,SAAS;EACzF;CAEJ;AACF;AAEA,SAAS,YAAY,MAA2B,OAAe;CAC7D,MAAM,uBAAO,IAAI,IAAY;CAC7B,KAAK,MAAM,QAAQ,MAAM;EACvB,MAAM,MAAM,UAAU,IAAI;EAC1B,IAAI,CAAC,GAAG,KAAK,GAAG,GACd,MAAM,IAAI,WACR,mBAAmB,IAAI,OAAO,MAAM,8CACtC;EAEF,IAAI,KAAK,IAAI,GAAG,GACd,MAAM,IAAI,WACR,oBAAoB,MAAM,sBAAsB,IAAI,wDACtD;EAEF,KAAK,IAAI,GAAG;CACd;AACF;AAoBA,MAAM,oBAAoB,WACvB,SAAS,CAAC,EAAA,CAAG,KAAK,MACjB,OAAO,MAAM,WACT,EAAE,UAAU,EAAE,IACd;CAAE,UAAU,EAAE;CAAU,GAAI,EAAE,UAAU,KAAA,IAAY,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAAG,CACnF;AAqBF,SAAS,iBAAiB,OAA8D;CACtF,IAAI,UAAU,KAAA,GAAW,OAAO,KAAA;CAChC,OAAO;EAEL,GAAI,MAAM,WACN,EAAE,UAAU,MAAM,SAAS,IAC3B;GAAE,UAAU,iBAAiB,cAAc;GAAG,MAAM;EAAiB;EACzE,UAAU,MAAM;EAChB,MAAM,MAAM,QAAQ;EACpB,GAAI,MAAM,YAAY,KAAA,IAAY,EAAE,SAAS,MAAM,QAAQ,IAAI,CAAC;EAChE,GAAI,MAAM,UACN,EAAE,SAAS,MAAM,QAAQ,KAAK,MAAO,OAAO,MAAM,WAAW,IAAI,UAAU,CAAC,CAAE,EAAE,IAChF,CAAC;EACL,IAAI,MAAM,SAAS;EACnB,WAAW,iBAAiB,MAAM,SAAS;CAC7C;AACF;AAEA,SAAS,WACP,KACA,SACA,OACA,SAA8B,OACxB;CACN,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,GAC/C,IAAI,UAAU,KAAA,GAAW,IAAI,UAAU;EAAE,GAAG,IAAI;GAAU,MAAM;CAAM;CAExE,IAAI,QAAQ,WAAW,KAAA,GAAW,IAAI,OAAO,UAAU,QAAQ;CAC/D,IAAI,UAAU,aAAa,IAAI,SAAS,QAAQ,SAAS,KAAK;CAC9D,IAAI,QAAQ,YAAY,KAAA,GAAW,IAAI,UAAU,QAAQ;CACzD,IAAI,QAAQ,gBAAgB,KAAA,GAAW,IAAI,cAAc,QAAQ;CACjE,IAAI,QAAQ,YAAY,KAAA,GAAW,IAAI,UAAU,iBAAiB,QAAQ,OAAO;CACjF,IAAI,QAAQ,SAAS,KAAA,GAAW,IAAI,OAAO,QAAQ;CACnD,IAAI,QAAQ,SAAS,KAAA,GAAW,IAAI,OAAO,QAAQ;CACnD,IAAI,QAAQ,YAAY,KAAA,GAAW,IAAI,UAAU,QAAQ;CACzD,OAAO,OAAO,IAAI,KAAK,QAAQ,GAAG;CAClC,OAAO,OAAO,IAAI,OAAO,QAAQ,KAAK;CACtC,KAAK,MAAM,OAAO,QAAQ,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,GAAG,GAAG,IAAI,KAAK,KAAK,GAAG;CACpF,KAAK,MAAM,OAAO,QAAQ,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,GAAG,IAAI,IAAI,KAAK,GAAG;AACnF;;AAGA,MAAa,gBAAgB,aAAkD;CAC7E,GAAG,QAAQ;CACX,GAAG,QAAQ,SAAS;AACtB;;;;;AAcA,SAAgB,QACd,MACA,QACA,OACA,UAA+D,CAAC,GAClD;CACd,MAAM,MAAgB;EACpB,GAAG;EACH,KAAK,EAAE,GAAG,KAAK,IAAI;EACnB,QAAQ,EAAE,GAAG,KAAK,OAAO;EACzB,OAAO,EAAE,GAAG,KAAK,MAAM;EACvB,MAAM,CAAC,GAAG,KAAK,IAAI;EACnB,KAAK,CAAC,GAAG,KAAK,GAAG;CACnB;CACA,MAAM,EAAE,YAAY;CACpB,MAAM,QAAkB,CAAC;CACzB,IAAI,SACF,WACE,KACA;EAAE,GAAG,QAAQ;EAAU,OAAO,aAAa,OAAO;CAAE,GACpD,YAAY,QAAQ,KAAK,YACzB,WACF;CAEF,KAAK,MAAM,EAAE,SAAS,KAAK,OAAO,QAAQ,QAAQ,WAAW,KAAK,KAAK,EAAE;CACzE,IAAI,IAAI,SAAS,QAAQ,IAAI,aAC3B,IAAI,UAAU;EAAE,GAAG,IAAI;EAAS,UAAU,IAAI;EAAa,MAAM;CAAc;CAEjF,YAAY,IAAI,SAAS,KAAK;CAC9B,IAAI,SAAS,SAAS,YAAY,KAAA,KAAa,OAAO,MAAM,MAAM,EAAE,QAAQ,OAAO,GACjF,MAAM,KAAK,yBAAyB;CAEtC,MAAM,MAAM,IAAI,QAAQ,IAAI,SAAS;CAErC,MAAM,WADQ,IAAI,SAAS,QAAA,EACJ,QAAQ,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC,KAAK,CAAC;CAC7D,IAAI,QAAQ,QACV,MAAM,IAAI,WACR,yBAAyB,QAAQ,KAAK,IAAI,EAAE,UAAU,MAAM,wBAAwB,IAAI,KAAK,IAAI,EAAE,GACrG;CAEF,KAAK,MAAM,KAAK,IAAI,SAAS,YAAY,CAAC,GACxC,IAAI,EAAE,SAAS,IAAI,SAAS,SAAS,MACnC,MAAM,IAAI,WACR,IAAI,QAAQ,SAAS,UACjB,cAAc,MAAM,yBAAyB,EAAE,KAAK,kIACpD,IAAI,QAAQ,SAAS,gBACnB,cAAc,MAAM,SAAS,EAAE,KAAK,oHACpC,cAAc,MAAM,SAAS,EAAE,KAAK,2DAC5C;CAGJ,MAAM,QAAQ,IAAI,SAAS,SAAS,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC;CAC3D,MAAM,OAAO,MAAM,MAAM,GAAG,MAAM,MAAM,QAAQ,CAAC,MAAM,CAAC;CACxD,IAAI,MAAM,MAAM,IAAI,WAAW,cAAc,MAAM,4BAA4B,MAAM;CAErF,IAAI;CACJ,MAAM,QAAQ,SAAS;CACvB,IAAI,WAAW,OAAO;EACpB,MAAM,MAAM,WAAW,QAAQ;EAC/B,MAAM,UAAU,QAAqB,IAAI,IAAI,SAAS,GAAG;EAEzD,IACE,MAAM,SAAS,KAAA,KACf,QAAQ,SAAS,KAAA,KACjB,CAAC,OAAO,MAAM,KACd,IAAI,OAAO,MAAM,MACjB;GACA,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;GACtD,IAAI,OAAO,MAAM;EACnB;EACA,IAAI,MAAM,WAAW,CAAC,OAAO,SAAS,GAAG;GACvC,MAAM,OAAO,IAAI,QAAQ,QAAQ,MAAM,MAAM,SAAS,SAAS,UAAU,CAAC,CAAC,CAAC;GAC5E,IAAI,KAAK,WAAW,GAClB,OAAO,oBAAoB,IAAI,UAAU,MAAM,QAAQ,KAAK,IAAI,KAAK;QAChE,IAAI,KAAK,SAAS,IAAI,QAAQ,QAAQ;IAC3C,MAAM,KAAK,aAAa,IAAI,QAAQ,OAAO,KAAK,KAAK,OAAO,IAAI,IAAI,EAAE;IACtE,IAAI,UAAU;GAChB;EACF;EACA,IAAI,IAAI,WAAW,MAAM,YAAY,KAAA,KAAa,CAAC,OAAO,SAAS,GAAG;GACpE,IAAI,MAAM,YAAY,OAAO;IAC3B,MAAM,KAAK,gBAAgB,IAAI,EAAE;IACjC,IAAI,UAAU;KAAE,GAAG,IAAI;KAAS,UAAU,CAAC;IAAE;GAC/C,OAAO,IAAI,IAAI,QAAQ,SAAS,SAAS,MAAM,QAAQ,aAAa;IAClE,MAAM,KACJ,YAAY,IAAI,QAAQ,SAAS,OAAO,KAAK,MAAM,QAAQ,YAAY,IAAI,IAAI,EACjF;IACA,IAAI,UAAU;KACZ,GAAG,IAAI;KACP,UAAU,IAAI,QAAQ,SAAS,MAAM,GAAG,MAAM,QAAQ,WAAW;IACnE;GACF;GAEA,IAAI,IAAI,QAAQ,SAAS,WAAW,KAAK,IAAI,QAAQ,UAAU,QAAQ;IACrE,MAAM,KAAK,kBAAkB,IAAI,EAAE;IACnC,IAAI,UAAU;KAAE,GAAG,IAAI;KAAS,WAAW,CAAC;IAAE;GAChD;EACF;EACA,MAAM,OAAO,IAAI,IAAI,QAAQ,MAC3B,MAAM,YAAY,MAAM,YAAY,KAAA,KAAa,IAAI,UAAU,MAAM,OAAO,KAAA,CAC9E;EACA,IAAI,KAAK,QAAQ,MAAM,KAAK,WAAW,KAAK,KAAK,IAAI,GAAG;CAC1D;CACA,IAAI,QAAQ,SAAS,KAAA,GAAW,IAAI,OAAO,QAAQ;CACnD,OAAO;EAAE,UAAU;EAAK;EAAO,GAAI,OAAO,EAAE,KAAK,IAAI,CAAC;CAAG;AAC3D;;;;;;;AAoBA,MAAa,kBAAkB,UAAoB,QAA+C;CAChG,MAAM,MAAM,IAAI,OAAO,UAAU,MAAM,EAAE,KAAK,OAAO,CAAC,EAAE,KAAK;CAC7D,IAAI,KAAK,OAAO;CAGhB,MAAM,UACJ,SAAS,SAAS,SAAS,WAAW,IAAI,SAAA,aACtC,SAAS,QAAQ,SAAS,KAC1B,KAAA;CACN,OAAO,UAAU,SAAS,UAAU,CAAC,GAAG,SAAS,OAAO;AAC1D;;;;;;;AAQA,SAAgB,aACd,SACA,UACA,YACQ;CACR,IAAI,CAAC,QAAQ,YAAY,OAAO,MAAM,MAAM,EAAE,KAAK,OAAO,GAAG;EAC3D,IACE,SAAS,SAAS,SAAS,WAC3B,QAAQ,KAAK,SAAS,aACtB,SAAS,QAAQ,SAAS,EAAE,EAAE,OAAO,MAAM,MAAM,EAAE,KAAK,OAAO,GAE/D,OAAO,SAAS,SAAS,WAAW;EAEtC,OAAO,SAAS,SAAS,WAAW;CACtC;CACA,IAAI,SAAS,SAAS;EACpB,IAAI,QAAQ,KAAK,SAAS,WAAW;GACnC,IAAI,SAAS,QAAQ,SAAS,eAC5B,OAAO,SAAS,SAAS,eAAe;GAE1C,IAAI,SAAS,QAAQ,SAAS,SAAS,OAAO;GAC9C,OAAO,SAAS,SAAS,WAAW;EACtC;EACA,OAAO,SAAS,SAAS,WAAW;CACtC;CACA,OAAO,SAAS,SAAS,eAAe;AAC1C;;AAGA,SAAgB,OAAO,UAAsC;CAC3D,MAAM,EAAE,YAAY;CAGpB,MAAM,UAAU,QAAQ,UAAU,QAAQ,WAAW,SAAS,WAAW;CACzE,MAAM,SAAS,SAAS,QAAQ;CAChC,MAAM,UAAU,UAA8B,QAAQ,SAAS;CAC/D,MAAM,WAA6B,CAAC;CACpC,KAAK,MAAM,WAAW,SAAS,SAAS;EACtC,MAAM,MAAM,UAAU,OAAO;EAC7B,MAAM,QAKD,QACI;GACL,MAAM,UAAU,eAAe,UAAU,OAAO;GAChD,MAAM,MAAM,UAAU,OAAO;GAC7B,OAAO;IACL,KAAK;IACL;IACA,MAAM;KACJ,KAAK,QAAQ,KAAK,QAAQ,MAAM,GAAG;KACnC,SAAS;KACT,aAAa,QAAQ;KACrB,SAAS;KACT,MAAM;IACR;IACA,MAAM,OAAO,CAAC,WAAW,QAAQ,SAAS,KAAK;GACjD;EACF,EAAA,CAAG,CACL;EACA,IAAI,YAAY,CAAC,QAAQ,WAAW,QAAQ,QAAQ,SAAS,GAAG,IAC9D,KAAK,MAAM,KAAK,QAAQ,UAAU;GAChC,MAAM,MAAM,QAAQ,CAAC;GACrB,MAAM,UAAU,eAAe,UAAU,GAAG;GAC5C,MAAM,MAAM,UAAU,OAAO;GAC7B,MAAM,KAAK;IACT;IACA;IACA,MAAM;KACJ,KAAK,QAAQ,KAAK,IAAI,MAAM,GAAG;KAC/B,SAAS;KACT,aAAa,IAAI;KACjB,SAAS;KACT,MAAM;KACN,SAAS,EAAE;IACb;IACA,MAAM,OAAO,QAAQ,SAAS,MAAM;GACtC,CAAC;EACH;EAEF,KAAK,MAAM,EAAE,KAAK,SAAS,MAAM,UAAU,OAAO;GAChD,MAAM,OAAO,CACX,SAAS,QAAQ,SAAS,IAAI,MAAM,IACpC,UAAW,KAAK,SAAS,YAAY,YAAY,IAAI,OAAQ,EAC/D,CAAC,CAAC,OAAO,OAAO;GAChB,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,MAAM,KAAK;IACvC,MAAM,QAAQ,CAAC,KAAK,KAAK,KAAK,GAAG,SAAS,OAAO,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;IAC3F,SAAS,KAAK;KACZ;KACA;KACA;KACA,aAAa;KACb,QAAQ,cAAc,SAAS,QAAQ,SAAS,SAAS,KAAK,IAAI,MAAM;KACxE;KACA,GAAI,KAAK,SAAS,aAAa,SAAS,YAAY,KAAA,IAChD,EAAE,SAAS,QAAQ,QAAQ,IAC3B,CAAC;KACL;KACA;IACF,CAAC;GACH;EACF;CACF;CACA,OAAO;AACT;;AAGA,SAAgB,oBAAoB,UAAsC;CACxE,MAAM,sBAAM,IAAI,IAAY;CAC5B,KAAK,MAAM,KAAK,UAAU;EACxB,MAAM,YAAY,YAAY,EAAE,YAAY,MAAM;EAClD,IAAI,aAAa,YAAY,UAAU,GAAG,GAAG;GAC3C,MAAM,MAAM,UAAU,MAAM,eAAe,UAAU,IAAI,KAAK;GAC9D,IAAI,IACF,iBAAiB,UAAU,KAAK,SAAS,IAAI,sGAC/C;EACF;EACA,KAAK,MAAM,SAAS,EAAE,YAAY,QAChC,KAAK,MAAM,KAAK,MAAM,KAAK,UAAU,CAAC,GAAG;GACvC,IAAI,EAAE,WAAW,SAAS,YAAY,EAAE,GAAG,GAAG;IAC5C,MAAM,MAAM,EAAE,MAAM,eAAe,EAAE,IAAI,KAAK;IAC9C,IAAI,IACF,aAAa,EAAE,KAAK,SAAS,IAAI,sGACnC;GACF;GACA,IAAI,EAAE,WAAW,cAAc,CAAC,EAAE,SAChC,IAAI,IACF,kBAAkB,EAAE,GAAG,6GACzB;EAEJ;CAEJ;CACA,OAAO,CAAC,GAAG,GAAG;AAChB;;AAGA,SAAgB,WAAW,KAAc,UAAgD;CACvF,MAAM,sBAAM,IAAI,IAA8B;CAC9C,KAAK,MAAM,KAAK,UAAU;EACxB,IAAI,EAAE,QAAQ,SAAS,UAAU;EACjC,KAAK,MAAM,KAAK,kBAAkB,KAAK,EAAE,YAAY,MAAM,GAAG,IAAI,IAAI,EAAE,OAAO,CAAC;CAClF;CACA,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC;AACzB;;AAGA,MAAM,kBAAkB,MAAwB,CAAC,EAAE,YAAY,QAAQ,QAAQ,IAAI,EAAE,KAAK;;AAG1F,MAAa,cAAc,KAAc,YAAsC,CAC7E,GAAG,IAAI,IACL,eAAe,KAAK,QAAQ,YAAY,MAAM,CAAC,CAAC,SAAS,MACvD,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC,CACtD,CACF,CACF;;AAGA,MAAa,gBAAgB,KAAc,YAAsC,CAC/E,GAAG,IAAI,IAAI,eAAe,KAAK,QAAQ,YAAY,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE,IAAI,CAAC,CAC/E;AAEA,MAAM,cAAc,MAClB,yBAAyB,KAAK,EAAE,KAAK,IACjC,6GACA,oDAAoD,EAAE,KAAK;AAEjE,MAAa,qBAAqB,MAChC,EAAE,aACE,GAAG,EAAE,MAAM,+HAA+H,WAAW,CAAC,EAAE,KACxJ,GAAG,EAAE,MAAM,8EAA8E,WAAW,CAAC,EAAE;AAE7G,MAAa,mBAAmB,GAAqB,OAAe,eAClE,GAAG,EAAE,MAAM,MAAM,MAAM,wDAAwD,WAAW,kBAAkB,WAAW,CAAC,EAAE;AAE5H,MAAa,WAAW,UACtB,MAAM,WAAW,WAAW,IACxB,SACA,MAAM,WAAW,QAAQ,IACvB,UACA,MAAM,WAAW,WAAW,IAC1B,YACA;;;;;AAMV,SAAgB,gBACd,UACA,UACA,QACkB;CAClB,MAAM,MAAwB,CAAC;CAC/B,MAAM,uBAAO,IAAI,IAAY;CAC7B,KAAK,MAAM,KAAK,UAAU;EACxB,IAAI,EAAE,QAAQ,SAAS,UAAU;EACjC,MAAM,QAAQ,aAAa,GAAG,UAAU,OAAO,UAAU;EACzD,MAAM,QAAQ,QAAQ,KAAK;EAC3B,MAAM,OAAO,UAAU,UAAU,UAAU,UAAU,OAAO,OAAO;EACnE,IAAI,EAAE,QAAQ,MAAM;GAClB,MAAM,UAAU,mCAAmC,MAAM;GACzD,MAAM,MAAM,GAAG,KAAK,IAAI;GACxB,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG;IAClB,KAAK,IAAI,GAAG;IACZ,IAAI,KAAK;KAAE,MAAM;KAAQ;KAAO;KAAO;KAAM;IAAQ,CAAC;GACxD;EACF;EACA,IAAI,EAAE,QAAQ,cAAc,QAAQ;GAElC,MAAM,UAAU,sCAAsC,MAAM,4BAD/C,EAAE,QAAQ,aAAa,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAC6B,EAAE;GAC7F,MAAM,MAAM,GAAG,KAAK,IAAI;GACxB,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG;IAClB,KAAK,IAAI,GAAG;IACZ,IAAI,KAAK;KACP,MAAM;KACN;KACA;KACA;KACA,cAAc,CAAC,GAAG,EAAE,QAAQ,YAAY;KACxC;IACF,CAAC;GACH;EACF;CACF;CACA,OAAO;AACT;;AAGA,SAAgB,SACd,GACA,UACA,QACU;CACV,MAAM,EAAE,UAAU,OAAO,SAAS;CAClC,OAAO;EACL,WAAW,OAAO,IAAI,SAAS,QAAQ;EACvC,UAAU,SAAS,UACf;GAAE,KAAK,SAAS,QAAQ,SAAS;GAAQ,IAAI,SAAS,QAAQ;EAAG,IACjE;EACJ,GAAI,SAAS,UACT,EACE,SAAS;GACP,UAAU,SAAS,QAAQ,SAAS;GACpC,GAAI,SAAS,QAAQ,OAAO,EAAE,MAAM,SAAS,QAAQ,KAAK,IAAI,CAAC;EACjE,EACF,IACA,CAAC;EACL,GAAI,CAAC,QAAQ,SAAS,SAAS,UAAU,SACrC,EAAE,WAAW,SAAS,QAAQ,UAAU,IACxC,CAAC;EACL,MAAM,SAAS;EACf,GAAI,SAAS,SAAS,KAAA,IAAY,EAAE,MAAM,SAAS,KAAK,IAAI,CAAC;EAC7D,UAAU,OAAO,IAAI,SAAS;EAC9B;EACA,GAAI,OAAO,EAAE,KAAK,IAAI,CAAC;EACvB,UAAU,CACR,GAAG,oBAAoB,QAAQ,GAC/B,GAAG,WAAW,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,IAAI,iBAAiB,CACtF;EACA,iBAAiB,OAAO,CAAC,IAAI,gBAAgB,UAAU,UAAU,MAAM;EACvE,UAAU,CAAC,GAAG,IAAI,IAAI,SAAS,SAAS,MAAM,WAAW,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7E,QAAQ,CAAC,GAAG,IAAI,IAAI,SAAS,KAAK,MAAM,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC;EAC/E,YAAY,CACV,GAAG,IAAI,IACL,SAAS,SAAS,MAAM;GACtB,MAAM,IAAI,YAAY,EAAE,YAAY,MAAM;GAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;EACpC,CAAC,CACH,CACF;CACF;AACF;;AAGA,SAAgB,YAAY,MAAgB,SAA4B;CACtE,OAAO,QAAQ,OAAO,MAAO,EAAE,WAAW,GAAG,IAAI,CAAC,KAAK,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAE;AACjG"}
@@ -0,0 +1,118 @@
1
+ import { f as globFilter } from "./environment-D3sZUybY.js";
2
+ //#region src/judge/patch.ts
3
+ /** Installed dependencies: one entry per directory, never one per file. */
4
+ const DEPENDENCY_DIR = /^(.*?(?:^|\/)(?:node_modules|\.venv|\.dart_tool|\.pub-cache|__pycache__)\/)/;
5
+ /**
6
+ * Build output: `dist/` and `.next/` at any depth; `build/` and `out/` at the top of the
7
+ * workspace only, since a nested one can be source.
8
+ */
9
+ const BUILD_DIR = /^((?:.*?\/)?(?:dist|\.next)\/|(?:build|out)\/)/;
10
+ const LOCKFILE = /(?:^|\/)(?:package-lock\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lockb?)$/;
11
+ const GENERATED = /\.(?:map|tsbuildinfo)$/;
12
+ /** Replaces every file under a dependency directory with one `{ dir, count }` entry. */
13
+ function collapseDependencies(items, pathOf) {
14
+ return collapse(items, pathOf, DEPENDENCY_DIR);
15
+ }
16
+ function collapse(items, pathOf, dirOf) {
17
+ const kept = [];
18
+ const counts = /* @__PURE__ */ new Map();
19
+ for (const item of items) {
20
+ const dir = dirOf.exec(pathOf(item))?.[1];
21
+ if (dir) counts.set(dir, (counts.get(dir) ?? 0) + 1);
22
+ else kept.push(item);
23
+ }
24
+ return {
25
+ kept,
26
+ dirs: [...counts].map(([dir, count]) => ({
27
+ dir,
28
+ count
29
+ }))
30
+ };
31
+ }
32
+ const plural = (n, word) => `${n} ${word}${n === 1 ? "" : "s"}`;
33
+ const changedLineList = (part) => part.split("\n").filter((l) => /^[+-]/.test(l) && !/^(\+\+\+|---) /.test(l));
34
+ /**
35
+ * The diff text and changed files the judge can actually grade. Source files are kept whole;
36
+ * dependencies, build output, lockfiles, binaries, source maps, build info and minified files are
37
+ * each replaced by a marker naming them (a directory by one marker with its file count), and paths
38
+ * `include` leaves out are gone. `git apply` skips the marker lines.
39
+ */
40
+ function judgeDiff(diff, { include, inFull } = {}) {
41
+ const included = include?.length ? globFilter(include) : () => true;
42
+ const dropped = [];
43
+ const files = diff.files.filter((f) => included(f.path));
44
+ for (const f of diff.files) if (!included(f.path)) dropped.push(`${f.path}: not in include`);
45
+ const deps = collapse(files, (f) => f.path, DEPENDENCY_DIR);
46
+ const built = collapse(deps.kept, (f) => f.path, BUILD_DIR);
47
+ const fileLines = [...built.kept.map((f) => `${f.status} ${f.path}`), ...[...deps.dirs, ...built.dirs].map((d) => `changed ${d.dir} (${plural(d.count, "file")})`)];
48
+ if (!diff.patch) return {
49
+ files: fileLines,
50
+ patch: diff.patch,
51
+ dropped
52
+ };
53
+ const parts = diff.patch.split(/(?=^diff --git )/m).filter((part) => part.length > 0);
54
+ const paths = parts.map(diffPath);
55
+ const dirCounts = /* @__PURE__ */ new Map();
56
+ const dirOf = (path) => DEPENDENCY_DIR.exec(path)?.[1] ?? BUILD_DIR.exec(path)?.[1];
57
+ for (const path of paths) {
58
+ const dir = path && included(path) ? dirOf(path) : void 0;
59
+ if (dir) dirCounts.set(dir, (dirCounts.get(dir) ?? 0) + 1);
60
+ }
61
+ const out = [];
62
+ const marked = /* @__PURE__ */ new Set();
63
+ const drop = (what) => {
64
+ dropped.push(what);
65
+ out.push(`[reeval: dropped ${what}]\n`);
66
+ };
67
+ for (const [i, part] of parts.entries()) {
68
+ const path = paths[i];
69
+ if (!path) {
70
+ out.push(part);
71
+ continue;
72
+ }
73
+ if (!included(path) || inFull?.has(path)) continue;
74
+ const dir = dirOf(path);
75
+ if (dir) {
76
+ if (marked.has(dir)) continue;
77
+ marked.add(dir);
78
+ const why = DEPENDENCY_DIR.test(path) ? "installed dependencies" : "build output";
79
+ drop(`${dir} (${plural(dirCounts.get(dir) ?? 0, "file")}): ${why}`);
80
+ continue;
81
+ }
82
+ if (LOCKFILE.test(path)) {
83
+ drop(`${path}: lockfile, ${plural(changedLineList(part).length, "changed line")}`);
84
+ continue;
85
+ }
86
+ if (part.includes("\nGIT binary patch\n")) {
87
+ drop(`${path}: binary`);
88
+ continue;
89
+ }
90
+ if (GENERATED.test(path)) {
91
+ drop(`${path}: generated`);
92
+ continue;
93
+ }
94
+ const longest = Math.max(0, ...changedLineList(part).map((l) => l.length - 1));
95
+ if (longest > 1e3) {
96
+ drop(`${path}: minified, a line of ${longest} characters`);
97
+ continue;
98
+ }
99
+ out.push(part);
100
+ }
101
+ return {
102
+ files: fileLines,
103
+ patch: out.join(""),
104
+ dropped
105
+ };
106
+ }
107
+ /** `judgeDiff`'s diff text alone, for a patch without its file list. */
108
+ const patchForJudge = (patch) => judgeDiff({
109
+ patch,
110
+ files: []
111
+ }).patch;
112
+ function diffPath(part) {
113
+ return /^(?:diff --git a\/.+ b\/(.+))$/m.exec(part)?.[1] ?? null;
114
+ }
115
+ //#endregion
116
+ export { judgeDiff as n, patchForJudge as r, collapseDependencies as t };
117
+
118
+ //# sourceMappingURL=patch-CzT5wTZr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch-CzT5wTZr.js","names":[],"sources":["../src/judge/patch.ts"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { t as UsageError } from "./errors-CSxfJ4qu.js";
1
+ import { n as UsageError } from "./errors-yDAEwmZo.js";
2
2
  import { n as clip, r as formatDuration } from "./text-gEcKjAyp.js";
3
- import { f as scratchDir, s as recentRecords } from "./files-DHBBIYx_.js";
3
+ import { c as recentRecords, p as scratchDir } from "./files-DiGDoSSw.js";
4
4
  //#region src/plan.ts
5
5
  /** With no history for a harness, an attempt is assumed to take this long (the fake agent: 1s). */
6
6
  const DEFAULT_ATTEMPT_MS = 18e4;
@@ -210,7 +210,8 @@ function planDocument(plan, planned, excluded, images) {
210
210
  repo: attempt.workspace.repo,
211
211
  ref: attempt.workspace.ref ?? null,
212
212
  path: attempt.workspace.path ?? null
213
- } }
213
+ } },
214
+ ...attempt.files && { files: attempt.files }
214
215
  });
215
216
  }
216
217
  const { attempts, duration } = plan.budget;
@@ -250,4 +251,4 @@ function checkAttemptBudget(plan, force, configFile) {
250
251
  //#endregion
251
252
  export { buildPlan, checkAttemptBudget, planDocument, planLine, planTable };
252
253
 
253
- //# sourceMappingURL=plan-DcHTdiJN.js.map
254
+ //# sourceMappingURL=plan-4AO_VH20.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-DcHTdiJN.js","names":[],"sources":["../src/plan.ts"],"mappings":"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"}
1
+ {"version":3,"file":"plan-4AO_VH20.js","names":[],"sources":["../src/plan.ts"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { a as removePrepared, i as preparedFor } from "./preflight-vISQIiF1.js";
1
+ import { a as removePrepared, i as preparedFor } from "./preflight-Cl__EL9Y.js";
2
2
  export { preparedFor, removePrepared };