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
@@ -4,8 +4,8 @@
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@anthropic-ai/claude-agent-sdk": "0.3.276",
8
- "@anthropic-ai/claude-code": "2.1.276",
7
+ "@anthropic-ai/claude-agent-sdk": "0.3.281",
8
+ "@anthropic-ai/claude-code": "2.1.281",
9
9
  "@modelcontextprotocol/sdk": "1.30.0",
10
10
  "ws": "8.21.0",
11
11
  "zod": "4.4.3"
@@ -9,11 +9,11 @@ importers:
9
9
  .:
10
10
  dependencies:
11
11
  '@anthropic-ai/claude-agent-sdk':
12
- specifier: 0.3.276
13
- version: 0.3.276(@anthropic-ai/sdk@0.97.1(zod@4.4.3))(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))(zod@4.4.3)
12
+ specifier: 0.3.281
13
+ version: 0.3.281(@anthropic-ai/sdk@0.97.1(zod@4.4.3))(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))(zod@4.4.3)
14
14
  '@anthropic-ai/claude-code':
15
- specifier: 2.1.276
16
- version: 2.1.276
15
+ specifier: 2.1.281
16
+ version: 2.1.281
17
17
  '@modelcontextprotocol/sdk':
18
18
  specifier: 1.30.0
19
19
  version: 1.30.0(zod@4.4.3)
@@ -26,104 +26,104 @@ importers:
26
26
 
27
27
  packages:
28
28
 
29
- '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.276':
30
- resolution: {integrity: sha512-WdpZ7UXoIDGYeb97OWRFADqkMDLv/bB3YrRxvomqdxfRZC2RLAPLUxsBat9zVL9B5dsiJmZN8h1D0NlMe92Uzw==}
29
+ '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.281':
30
+ resolution: {integrity: sha512-wydRJU0CX7c/w1qEsgqGUJFzmlOMTvUpBkWHsj1pJFbrRFQUnIW0EWor+pDd4WiKWWihVqUhYEA+3LTmUiLZIQ==}
31
31
  cpu: [arm64]
32
32
  os: [darwin]
33
33
 
34
- '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.276':
35
- resolution: {integrity: sha512-y5J+K1q7llwYkf85OhjG71R5AqsulHzC+HpgUOrg6klO+jBKsesGGS7tsEGzsM4YJtDntr6Rylw/sH3ZmXvjhg==}
34
+ '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.281':
35
+ resolution: {integrity: sha512-yvtdCwCimbI7dcFcQ204gEX4quzZBcyW2orCh8ESlkZY/Mn480qKCjyKWGuR17vGKGePynoiS1W895rxWNfHZQ==}
36
36
  cpu: [x64]
37
37
  os: [darwin]
38
38
 
39
- '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.276':
40
- resolution: {integrity: sha512-Pb7PVWLktFCgD1cUtF61lx9riT2bh3ZSE6rq94EjaesyCnpzddlQ59/LLwLVUwGunBq9N2WayXaElOsk8+pK/g==}
39
+ '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.281':
40
+ resolution: {integrity: sha512-B5l5tnO0ymQjGSq+uZBnwLb8IdCj+gr/niKoxiUDqzfh7OPwuGyceq/g7bpzZ6VC/U7+Zsjv+Gce/VzcKVT1pA==}
41
41
  cpu: [arm64]
42
42
  os: [linux]
43
43
  libc: [musl]
44
44
 
45
- '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.276':
46
- resolution: {integrity: sha512-IaBni1kRiUKEsSRTHocVW8jqzl4KyC6ms6fr6KAJPPcjJTu2Ptpb1ohj/OfDixTc/AErrNVL0ye8ICpZ+88k7w==}
45
+ '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.281':
46
+ resolution: {integrity: sha512-PrxuObUGayjtUS6yq5Sz+dMNXn8KaK1BeIXG/PRE+85Wt9DzchoIduycIoFaXWrG0xbbzYz0AKwttNqSAeDdSA==}
47
47
  cpu: [arm64]
48
48
  os: [linux]
49
49
  libc: [glibc]
50
50
 
51
- '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.276':
52
- resolution: {integrity: sha512-OaZAlVBhAUFkivWgb5ZsJYCT08qTo9LyomaN/2jNwsvVkpurr8kXEGncsTk8sM5JyIzSSiWuR+Sfxphq071XPA==}
51
+ '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.281':
52
+ resolution: {integrity: sha512-H+TWmbIhlEvZcOGJ6S9BQBBQuizaXfDhdSjgWbP6JGTrfW+U8dm49/0I9pdjHB2VT+1zgFzIt1YkkfkvSGtOVQ==}
53
53
  cpu: [x64]
54
54
  os: [linux]
55
55
  libc: [musl]
56
56
 
57
- '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.276':
58
- resolution: {integrity: sha512-MR/HQn8xi3RGujnzgJhyVolKR7JO+BiPhBBJ0GqbIlM4huso1aIDFhYhetdGIPb4shr7R1OZzSj1QFJoJQQ8/A==}
57
+ '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.281':
58
+ resolution: {integrity: sha512-3kxVGQrn9wNeFZV0MJEXI0XOj7U8e/1wL41W2MInYVIVWJnTanuX+pPqQH2DzyVNRcw6CMP5k3eockewGptWig==}
59
59
  cpu: [x64]
60
60
  os: [linux]
61
61
  libc: [glibc]
62
62
 
63
- '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.276':
64
- resolution: {integrity: sha512-dk7lxCdvRwXVf5LAh9nQ2/MLLedfT3K1HIQsv5KBgexUE1F7JYYd5/R3eYs/qT9UQOeKrMmKq7GG9RxDDXCgjA==}
63
+ '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.281':
64
+ resolution: {integrity: sha512-ySM49+TS94VrMkIzk65RHcNKfvXKhx6YuR2mplw8BbaYpcnKL4RTAr5WVbH1JhMLjPEBaDGSP1uCLZy/YkA9gg==}
65
65
  cpu: [arm64]
66
66
  os: [win32]
67
67
 
68
- '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.276':
69
- resolution: {integrity: sha512-CKPz5K94qpVHdP0hmSugntpiTshHrPFs4RtQYcFvP4PVltZv/wtth090Rff21XJna3Lxt4Lb5ce3tMqTnDRu9Q==}
68
+ '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.281':
69
+ resolution: {integrity: sha512-hbnymWj9O31K0VMd/VOpMTZ0CNT3BkwgGGe84zHdAP6MDxmoZvqyS94UEaLQit3xmozCxfkfGns7/WgWH1Q6Sg==}
70
70
  cpu: [x64]
71
71
  os: [win32]
72
72
 
73
- '@anthropic-ai/claude-agent-sdk@0.3.276':
74
- resolution: {integrity: sha512-Dic43v4uuGLhibPAArWy3RSfq3zHdn+4Oh2AI2/18a5tlbNKkvChEpazyp8c+grUJvzxkzt0jETCa1wrADbkyw==}
73
+ '@anthropic-ai/claude-agent-sdk@0.3.281':
74
+ resolution: {integrity: sha512-JTbluTKmY3wKQPIXzeCTvz/K0FElTuQU5Y7ueLgUOBrHcks8cHlGugEgIRezffhc13WzBAqYtaY15tJ+Bfunzg==}
75
75
  engines: {node: '>=18.0.0'}
76
76
  peerDependencies:
77
77
  '@anthropic-ai/sdk': '>=0.93.0'
78
78
  '@modelcontextprotocol/sdk': ^1.29.0
79
79
  zod: ^4.0.0
80
80
 
81
- '@anthropic-ai/claude-code-darwin-arm64@2.1.276':
82
- resolution: {integrity: sha512-JchRlXfYFrHGjm7fTZpWzlDvaP67SSO2yx2yFQSxt/T57mC6ickpApiuvS5jHCia6qjwzgjuzWSkemfLYaxB7w==}
81
+ '@anthropic-ai/claude-code-darwin-arm64@2.1.281':
82
+ resolution: {integrity: sha512-rEI/YGBDX4YTfdq5w1B86NicoLgpFHGp4IrKM6sDrmUemruePSXF7ybICthHClIsRY8a/Kp7PQ6UJah1VWTbSA==}
83
83
  cpu: [arm64]
84
84
  os: [darwin]
85
85
 
86
- '@anthropic-ai/claude-code-darwin-x64@2.1.276':
87
- resolution: {integrity: sha512-7LBOcz1A5cqbQ9z363R5YjnsNvZCDAztV8/zOXM3i0PM7nHDrG3blYoZPDal54uPiovGCPVsa+bEuj+kbSZPYA==}
86
+ '@anthropic-ai/claude-code-darwin-x64@2.1.281':
87
+ resolution: {integrity: sha512-nGJBmWAMlyHAlf0i/vwBzjvTfEC86KcGZT4VNlpInL03jufnBztZr8+ILcXcwg5h94McpmvI/tu8lgHJtHKLVQ==}
88
88
  cpu: [x64]
89
89
  os: [darwin]
90
90
 
91
- '@anthropic-ai/claude-code-linux-arm64-musl@2.1.276':
92
- resolution: {integrity: sha512-eKm/iIwLNdc8VtY00ETzDaLQN8tt1u7cf38b+Y/tCCfZWz8vT5EnQkJatpkm94Yq2m5iRXjcILmN2hHWZ53s0Q==}
91
+ '@anthropic-ai/claude-code-linux-arm64-musl@2.1.281':
92
+ resolution: {integrity: sha512-prPxIRpyi75pnUOVugK4hSW6i1FONp9XMUuVSOmt/OSEZuurVqySj8UBjGM8RdDwZGuaK4F0dd3h8iylZIuE0g==}
93
93
  cpu: [arm64]
94
94
  os: [linux]
95
95
  libc: [musl]
96
96
 
97
- '@anthropic-ai/claude-code-linux-arm64@2.1.276':
98
- resolution: {integrity: sha512-/wzWD8U5mGmSoeiB99gGfvVuj/7/p7nh/zZACTuuPEwvo/CfMMvW/ZxBB6LG8w0nz6B//UOIx3ryKdGCENAPOA==}
97
+ '@anthropic-ai/claude-code-linux-arm64@2.1.281':
98
+ resolution: {integrity: sha512-xY37iXJ+v6izc2yArEUD8T3d7S45GIztzsSW+fWv8KB63buuO1qhN6Eqzq2yR3RqWBMjwiRL/BbkLB8FZWBsXw==}
99
99
  cpu: [arm64]
100
100
  os: [linux]
101
101
  libc: [glibc]
102
102
 
103
- '@anthropic-ai/claude-code-linux-x64-musl@2.1.276':
104
- resolution: {integrity: sha512-1y66zgPpIWV14fn75veSXCCNpJB92+dlM2jSt5hvlB15LH6wk2JHTD8H7ogRCYPrMtBOkdz3yfH/fxSeD4UP1w==}
103
+ '@anthropic-ai/claude-code-linux-x64-musl@2.1.281':
104
+ resolution: {integrity: sha512-4eiBWD03AyGuuvMN7xyMFKhrToSaVi79Vi0R+K79gS7+XeSn2O8Oc7U44I3gX9ziqHsN82Puk2Ju2QAhLxKoYQ==}
105
105
  cpu: [x64]
106
106
  os: [linux]
107
107
  libc: [musl]
108
108
 
109
- '@anthropic-ai/claude-code-linux-x64@2.1.276':
110
- resolution: {integrity: sha512-xFhD9UyIVKWLEQjcFg1ynSmYPpiXSdyN9+9rtrM0aIVnSqFP15Hd5/owEf7N6JrHtAXijfxDC0usXFxAOJQ1vA==}
109
+ '@anthropic-ai/claude-code-linux-x64@2.1.281':
110
+ resolution: {integrity: sha512-Z7ld7AE2AtvghO0qlNFBGD8S2w+nPVUk8uq4UprAUKJr6HHavXm605iGhbzSOTgXu3F/y540JHVUW9ON87w4IQ==}
111
111
  cpu: [x64]
112
112
  os: [linux]
113
113
  libc: [glibc]
114
114
 
115
- '@anthropic-ai/claude-code-win32-arm64@2.1.276':
116
- resolution: {integrity: sha512-QGbJPUb6uhngwPCKociJUArJfqSV6gW55qcZLiu7RJQIUK4LHApntAIO6NdJ/du4YiuHsty/5Hy2zAzekXk+mQ==}
115
+ '@anthropic-ai/claude-code-win32-arm64@2.1.281':
116
+ resolution: {integrity: sha512-mPY+B6CSUVIFPvJld+BEaMYHE1/qdReoy73+gyXitI+rTmTUvnL5Aa21eXbox714naQZct8Ym2vgQS/yLQdq0Q==}
117
117
  cpu: [arm64]
118
118
  os: [win32]
119
119
 
120
- '@anthropic-ai/claude-code-win32-x64@2.1.276':
121
- resolution: {integrity: sha512-5LtGQOG70zw7svIs7rRN8hutS8vXmn6FrXZk5hmt1Tsr18ycbesxD1YgJydgyzy99HRqOTkFMXQCWZOUsY8xpg==}
120
+ '@anthropic-ai/claude-code-win32-x64@2.1.281':
121
+ resolution: {integrity: sha512-IP2nJlr02d9BRQCTf2ErZD78pemjcQ3h0tg16AY+e8i5+42FGZELUdB1wzf4066QJQvpU7BgFpSt0KiHq3SQZA==}
122
122
  cpu: [x64]
123
123
  os: [win32]
124
124
 
125
- '@anthropic-ai/claude-code@2.1.276':
126
- resolution: {integrity: sha512-xgVXCbFdqOhSAcMTSC61gjL1jCQuoAA4TNU1I7Dmf/yuYcDxHf796r6LaB3Jswm1floKnP1V+/zfphtDlPdlkg==}
125
+ '@anthropic-ai/claude-code@2.1.281':
126
+ resolution: {integrity: sha512-sldhFsGqOnGA8pfOMLjyc+Sc331VkZ1TsP1sdpvMeVFYBikC5x53miTCsnTiE6Bio74IYPn7BIzTNbHcRp5fXQ==}
127
127
  engines: {node: '>=22.0.0'}
128
128
  hasBin: true
129
129
 
@@ -540,79 +540,79 @@ packages:
540
540
 
541
541
  snapshots:
542
542
 
543
- '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.276':
543
+ '@anthropic-ai/claude-agent-sdk-darwin-arm64@0.3.281':
544
544
  optional: true
545
545
 
546
- '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.276':
546
+ '@anthropic-ai/claude-agent-sdk-darwin-x64@0.3.281':
547
547
  optional: true
548
548
 
549
- '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.276':
549
+ '@anthropic-ai/claude-agent-sdk-linux-arm64-musl@0.3.281':
550
550
  optional: true
551
551
 
552
- '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.276':
552
+ '@anthropic-ai/claude-agent-sdk-linux-arm64@0.3.281':
553
553
  optional: true
554
554
 
555
- '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.276':
555
+ '@anthropic-ai/claude-agent-sdk-linux-x64-musl@0.3.281':
556
556
  optional: true
557
557
 
558
- '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.276':
558
+ '@anthropic-ai/claude-agent-sdk-linux-x64@0.3.281':
559
559
  optional: true
560
560
 
561
- '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.276':
561
+ '@anthropic-ai/claude-agent-sdk-win32-arm64@0.3.281':
562
562
  optional: true
563
563
 
564
- '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.276':
564
+ '@anthropic-ai/claude-agent-sdk-win32-x64@0.3.281':
565
565
  optional: true
566
566
 
567
- '@anthropic-ai/claude-agent-sdk@0.3.276(@anthropic-ai/sdk@0.97.1(zod@4.4.3))(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))(zod@4.4.3)':
567
+ '@anthropic-ai/claude-agent-sdk@0.3.281(@anthropic-ai/sdk@0.97.1(zod@4.4.3))(@modelcontextprotocol/sdk@1.30.0(zod@4.4.3))(zod@4.4.3)':
568
568
  dependencies:
569
569
  '@anthropic-ai/sdk': 0.97.1(zod@4.4.3)
570
570
  '@modelcontextprotocol/sdk': 1.30.0(zod@4.4.3)
571
571
  zod: 4.4.3
572
572
  optionalDependencies:
573
- '@anthropic-ai/claude-agent-sdk-darwin-arm64': 0.3.276
574
- '@anthropic-ai/claude-agent-sdk-darwin-x64': 0.3.276
575
- '@anthropic-ai/claude-agent-sdk-linux-arm64': 0.3.276
576
- '@anthropic-ai/claude-agent-sdk-linux-arm64-musl': 0.3.276
577
- '@anthropic-ai/claude-agent-sdk-linux-x64': 0.3.276
578
- '@anthropic-ai/claude-agent-sdk-linux-x64-musl': 0.3.276
579
- '@anthropic-ai/claude-agent-sdk-win32-arm64': 0.3.276
580
- '@anthropic-ai/claude-agent-sdk-win32-x64': 0.3.276
581
-
582
- '@anthropic-ai/claude-code-darwin-arm64@2.1.276':
573
+ '@anthropic-ai/claude-agent-sdk-darwin-arm64': 0.3.281
574
+ '@anthropic-ai/claude-agent-sdk-darwin-x64': 0.3.281
575
+ '@anthropic-ai/claude-agent-sdk-linux-arm64': 0.3.281
576
+ '@anthropic-ai/claude-agent-sdk-linux-arm64-musl': 0.3.281
577
+ '@anthropic-ai/claude-agent-sdk-linux-x64': 0.3.281
578
+ '@anthropic-ai/claude-agent-sdk-linux-x64-musl': 0.3.281
579
+ '@anthropic-ai/claude-agent-sdk-win32-arm64': 0.3.281
580
+ '@anthropic-ai/claude-agent-sdk-win32-x64': 0.3.281
581
+
582
+ '@anthropic-ai/claude-code-darwin-arm64@2.1.281':
583
583
  optional: true
584
584
 
585
- '@anthropic-ai/claude-code-darwin-x64@2.1.276':
585
+ '@anthropic-ai/claude-code-darwin-x64@2.1.281':
586
586
  optional: true
587
587
 
588
- '@anthropic-ai/claude-code-linux-arm64-musl@2.1.276':
588
+ '@anthropic-ai/claude-code-linux-arm64-musl@2.1.281':
589
589
  optional: true
590
590
 
591
- '@anthropic-ai/claude-code-linux-arm64@2.1.276':
591
+ '@anthropic-ai/claude-code-linux-arm64@2.1.281':
592
592
  optional: true
593
593
 
594
- '@anthropic-ai/claude-code-linux-x64-musl@2.1.276':
594
+ '@anthropic-ai/claude-code-linux-x64-musl@2.1.281':
595
595
  optional: true
596
596
 
597
- '@anthropic-ai/claude-code-linux-x64@2.1.276':
597
+ '@anthropic-ai/claude-code-linux-x64@2.1.281':
598
598
  optional: true
599
599
 
600
- '@anthropic-ai/claude-code-win32-arm64@2.1.276':
600
+ '@anthropic-ai/claude-code-win32-arm64@2.1.281':
601
601
  optional: true
602
602
 
603
- '@anthropic-ai/claude-code-win32-x64@2.1.276':
603
+ '@anthropic-ai/claude-code-win32-x64@2.1.281':
604
604
  optional: true
605
605
 
606
- '@anthropic-ai/claude-code@2.1.276':
606
+ '@anthropic-ai/claude-code@2.1.281':
607
607
  optionalDependencies:
608
- '@anthropic-ai/claude-code-darwin-arm64': 2.1.276
609
- '@anthropic-ai/claude-code-darwin-x64': 2.1.276
610
- '@anthropic-ai/claude-code-linux-arm64': 2.1.276
611
- '@anthropic-ai/claude-code-linux-arm64-musl': 2.1.276
612
- '@anthropic-ai/claude-code-linux-x64': 2.1.276
613
- '@anthropic-ai/claude-code-linux-x64-musl': 2.1.276
614
- '@anthropic-ai/claude-code-win32-arm64': 2.1.276
615
- '@anthropic-ai/claude-code-win32-x64': 2.1.276
608
+ '@anthropic-ai/claude-code-darwin-arm64': 2.1.281
609
+ '@anthropic-ai/claude-code-darwin-x64': 2.1.281
610
+ '@anthropic-ai/claude-code-linux-arm64': 2.1.281
611
+ '@anthropic-ai/claude-code-linux-arm64-musl': 2.1.281
612
+ '@anthropic-ai/claude-code-linux-x64': 2.1.281
613
+ '@anthropic-ai/claude-code-linux-x64-musl': 2.1.281
614
+ '@anthropic-ai/claude-code-win32-arm64': 2.1.281
615
+ '@anthropic-ai/claude-code-win32-x64': 2.1.281
616
616
 
617
617
  '@anthropic-ai/sdk@0.97.1(zod@4.4.3)':
618
618
  dependencies:
@@ -1,2 +1,2 @@
1
1
  allowBuilds:
2
- '@anthropic-ai/claude-code@2.1.276': true
2
+ '@anthropic-ai/claude-code@2.1.281': true
@@ -1,25 +1,25 @@
1
- import { t as UsageError } from "./errors-CSxfJ4qu.js";
2
- import { b as parseDuration, v as workspaceLabel } from "./environment-ByCF9s3n.js";
1
+ import { n as UsageError } from "./errors-yDAEwmZo.js";
2
+ import { D as parseDuration, T as workspaceLabel, u as environmentSandbox } from "./environment-D3sZUybY.js";
3
3
  import { n as loadEnvFiles, t as inCI } from "./env-BQqj93gu.js";
4
- import { a as registerSecret, i as redactSecrets } from "./redact-C4fL_bZP.js";
4
+ import { o as redactSecrets, s as registerSecret } from "./redact-DJ9JCShu.js";
5
5
  import { o as PACKAGE_VERSION } from "./root-Zeokqt3-.js";
6
6
  import { a as fromCwd, i as evalSlug, n as attemptKey, o as newRunId } from "./ids-Bp6ut7ZD.js";
7
- import { I as LABEL, X as imageInfo } from "./src-D3eW1e7Y.js";
8
- import { d as sandboxId, s as harnessId } from "./options-CIutEeuy.js";
9
- import { c as hostCapacity, d as missingCredentials, f as resolveConcurrency, i as configPathFor, l as loadConfig, p as selectProfile, r as configLabel, s as findConfig, u as malformedCredentials } from "./config-CqSLZkwx.js";
7
+ import { I as LABEL, X as imageInfo } from "./src-CQXA5zkO.js";
8
+ import { d as sandboxId, s as harnessId } from "./options-BBLwgaSz.js";
9
+ import { c as hostCapacity, d as missingCredentials, f as resolveConcurrency, i as configPathFor, l as loadConfig, p as selectProfile, r as configLabel, s as findConfig, u as malformedCredentials } from "./config-kbc7kZz3.js";
10
10
  import { s as debugTime } from "./debug-D24NOQH1.js";
11
11
  import { i as sandboxWarningLine, n as clip, r as formatDuration } from "./text-gEcKjAyp.js";
12
12
  import { t as PrepareError } from "./provider-CmAYTQQs.js";
13
- import { I as effortLabel, S as runOutcome, g as hasUngatedCells, j as cellContrast, m as formatUsage, y as isUngatedMiss } from "./model-ORtLm2UB.js";
13
+ import { A as cellJudgeRates, F as judgeRatesLabel, M as collapsedJudgeLabel, R as cellContrast, S as runOutcome, U as effortLabel, g as hasUngatedCells, j as cellUsage, m as formatUsage, y as isUngatedMiss } from "./model-DGafiJdy.js";
14
14
  import { n as LIVE_FILE, o as liveCounts } from "./live-DZkCtmNP.js";
15
- import { a as liftLabel, i as gateLabel, n as answersLabel } from "./summary-gawvEpNu.js";
16
- import { n as FLAGS, o as helpText, r as GLOBAL, t as COMMANDS } from "./cli-spec-BxLPgNN-.js";
17
- import { i as runtimeInfo, n as gitInfo, r as runnerInfo, t as author } from "./provenance-D4vo7RF6.js";
15
+ import { a as liftLabel, i as gateLabel, n as answersLabel } from "./summary-78yLjokt.js";
16
+ import { n as FLAGS, o as helpText, r as GLOBAL, t as COMMANDS } from "./cli-spec-DUeyuSIQ.js";
17
+ import { i as runtimeInfo, n as gitInfo, r as runnerInfo, t as author } from "./provenance-rP7Unzb4.js";
18
18
  import { t as budgetMarker } from "./budget-DBUrH4jX.js";
19
- import { n as prepareAll, o as writePrepared, r as prepareTargets, t as RunStopError } from "./preflight-vISQIiF1.js";
20
- import { r as imageHarness } from "./prepare-BTeAiW9Q.js";
21
- import { n as createProviders } from "./providers-Bjgky1u8.js";
22
- import { a as redactArgv, r as commandOf, t as logInvocation } from "./invocations-DSMfs3Dx.js";
19
+ import { n as prepareAll, o as writePrepared, r as prepareTargets, t as RunStopError } from "./preflight-Cl__EL9Y.js";
20
+ import { r as imageHarness } from "./prepare-jmZNuhe5.js";
21
+ import { n as createProviders } from "./providers-Cs0GAhfO.js";
22
+ import { a as redactArgv, r as commandOf, t as logInvocation } from "./invocations-DHC946b-.js";
23
23
  import { n as stripAnsi, t as colors } from "./colors-QV9dFVhN.js";
24
24
  import { existsSync, mkdirSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
25
25
  import { hostname } from "node:os";
@@ -515,10 +515,12 @@ function evalColumns(c, e) {
515
515
  }
516
516
  if (attemptOutcome(attempt) === "cancelled") return c.yellow("cancelled");
517
517
  const cols = [formatDuration(attempt.durationMs).padStart(7)];
518
- const scores = attempt.judgements.map((j) => j.score);
519
- if (scores.length) cols.push(`judge ${Math.min(...scores).toFixed(2)}`);
518
+ const judges = collapsedJudgeLabel(attempt.judgements);
519
+ if (judges) cols.push(judges);
520
520
  const turns = attempt.turns.length;
521
521
  cols.push(`${turns} turn${turns === 1 ? "" : "s"}`);
522
+ const tokens = formatUsage(attempt.usage);
523
+ if (tokens) cols.push(tokens);
522
524
  return c.dim(cols.join(" "));
523
525
  }
524
526
  /** Pass rate per cell for evals with several attempts; with compare, each cell's role and lift. */
@@ -538,7 +540,11 @@ function cellRows(c, e, indent) {
538
540
  note = ` ${below ? c.red(`${text} ✗`) : text}`;
539
541
  } else if (compare && cell.gate === "none" && cell.fail > 0) note = ` ${c.dim("not gated")}`;
540
542
  if (cell.gate !== "all" && cell.gate !== "none") note += ` ${c.dim(`gate ${gateLabel(cell.gate)}`)}`;
541
- const rows = [`${indent}${c.dim(cell.key.padEnd(width))}${role} ${counts} ${pct(cell.passRate)}${note}${infra}`];
543
+ const tokens = formatUsage(cellUsage(e, cell.key));
544
+ const usage = tokens ? ` ${c.dim(tokens)}` : "";
545
+ const rows = [`${indent}${c.dim(cell.key.padEnd(width))}${role} ${counts} ${pct(cell.passRate)}${note}${infra}${usage}`];
546
+ const rates = judgeRatesLabel(cellJudgeRates(e, cell.key));
547
+ if (rates) rows.push(`${indent} ${c.dim(rates)}`);
542
548
  const effort = cellContrast(e, cell.key);
543
549
  if (effort) rows.push(`${indent} ${c.dim(`effort: ${effortLabel(effort)}`)}`);
544
550
  if (cell.overrides.length) rows.push(`${indent} ${c.dim(`overrides: ${cell.overrides.join(", ")}`)}`);
@@ -1188,7 +1194,7 @@ async function run(argv) {
1188
1194
  return values.help ? EXIT.ok : EXIT.usage;
1189
1195
  }
1190
1196
  if (command === "init") {
1191
- const { initCommand } = await import("./init-DPJv7OmX.js");
1197
+ const { initCommand } = await import("./init-C5Kp2CVo.js");
1192
1198
  return initCommand(values, filters, {
1193
1199
  out: (s) => console.log(s),
1194
1200
  input: process.stdin,
@@ -1197,7 +1203,7 @@ async function run(argv) {
1197
1203
  });
1198
1204
  }
1199
1205
  if (command === "doctor") {
1200
- const { doctorCommand } = await import("./doctor-DhvVbNKv.js");
1206
+ const { doctorCommand } = await import("./doctor-X2ba-e1Y.js");
1201
1207
  return doctorCommand(values, {
1202
1208
  out: (s) => console.log(s),
1203
1209
  color: !!process.stdout.isTTY && !process.env.NO_COLOR,
@@ -1205,7 +1211,7 @@ async function run(argv) {
1205
1211
  });
1206
1212
  }
1207
1213
  if (command === "report") {
1208
- const { reportCommand } = await import("./command-CxwnRrTs.js");
1214
+ const { reportCommand } = await import("./command-DpR1iz_b.js");
1209
1215
  return reportCommand(values, filters, {
1210
1216
  out: (s) => console.log(s),
1211
1217
  err: (s) => console.error(dim(s)),
@@ -1220,7 +1226,7 @@ async function run(argv) {
1220
1226
  }
1221
1227
  if (command === "studio") {
1222
1228
  const config = await loadConfig(configPath, "studio");
1223
- const { studioCommand } = await import("./command-pHfluVCF.js");
1229
+ const { studioCommand } = await import("./command-CmFpqrTW.js");
1224
1230
  return studioCommand({
1225
1231
  config,
1226
1232
  flags: values,
@@ -1231,7 +1237,7 @@ async function run(argv) {
1231
1237
  if (command === "mcp") {
1232
1238
  if (!values.http) console.log = console.info = console.debug = console.error;
1233
1239
  const config = await loadConfig(configPath, "mcp");
1234
- const { mcpCommand } = await import("./command-PEbIzJj3.js");
1240
+ const { mcpCommand } = await import("./command-zD7IIwQF.js");
1235
1241
  return mcpCommand({
1236
1242
  config,
1237
1243
  flags: values,
@@ -1240,7 +1246,7 @@ async function run(argv) {
1240
1246
  }
1241
1247
  if (command in HISTORY_COMMANDS) {
1242
1248
  const config = await loadConfig(configPath, command);
1243
- const commands = await import("./commands-De-SxIgY.js");
1249
+ const commands = await import("./commands-8xIhRt-7.js");
1244
1250
  const ctx = {
1245
1251
  config,
1246
1252
  flags: values,
@@ -1253,7 +1259,7 @@ async function run(argv) {
1253
1259
  case "compare": return commands.compareCommand(ctx, filters);
1254
1260
  case "checkout": return commands.checkoutCommand(ctx, filters);
1255
1261
  case "query": {
1256
- const { queryCommand } = await import("./query-CWkZnV62.js");
1262
+ const { queryCommand } = await import("./query-BjqPXDPV.js");
1257
1263
  return queryCommand({
1258
1264
  ...ctx,
1259
1265
  err: (s) => console.error(dim(s))
@@ -1261,7 +1267,7 @@ async function run(argv) {
1261
1267
  }
1262
1268
  case "analyze": {
1263
1269
  loadEnvFiles(configPath);
1264
- const { analyzeCommand } = await import("./command-DhgZPhsY.js");
1270
+ const { analyzeCommand } = await import("./command-pIntI3Iq.js");
1265
1271
  return analyzeCommand({
1266
1272
  ...ctx,
1267
1273
  err: (s) => console.error(dim(s))
@@ -1300,8 +1306,8 @@ async function cleanCommand(flags, configPath) {
1300
1306
  const where = fromCwd(debugRoot(config.root)) || ".";
1301
1307
  console.log(runs.length ? `Removed debug data for ${runs.length} run${runs.length === 1 ? "" : "s"} (${formatBytes(bytes)}) from ${where}` : `No debug data to remove in ${where}`);
1302
1308
  if (flags.images) {
1303
- const { pruneImages } = await import("./src-C91RndLw.js");
1304
- const { requireDocker } = await import("./providers-DfVMglqP.js");
1309
+ const { pruneImages } = await import("./src-CQzUdIZj.js");
1310
+ const { requireDocker } = await import("./providers-Dh6hQDI6.js");
1305
1311
  await requireDocker();
1306
1312
  const removed = await pruneImages();
1307
1313
  console.log(removed ? `Removed ${removed} image${removed === 1 ? "" : "s"} reeval built that nothing uses` : "No leftover images to remove");
@@ -1319,7 +1325,7 @@ function verbosityOf(flags) {
1319
1325
  * does. Without a config, just reeval's image.
1320
1326
  */
1321
1327
  async function imageBuildCommand(flags, configPath, filters) {
1322
- const { buildImages, imagePlanLines, imageTargets } = await import("./images-C9Y4ijbG.js");
1328
+ const { buildImages, imagePlanLines, imageTargets } = await import("./images-CPfNRSuK.js");
1323
1329
  const { docker } = await import("./sandbox.js");
1324
1330
  let root = process.cwd();
1325
1331
  const { fakeHarness } = await import("./harness.js");
@@ -1335,7 +1341,7 @@ async function imageBuildCommand(flags, configPath, filters) {
1335
1341
  "dry-run": true
1336
1342
  }, configPath));
1337
1343
  root = config.root;
1338
- const { runEngine } = await import("./node-OXPxBD2N.js");
1344
+ const { runEngine } = await import("./node-B72WWfgg.js");
1339
1345
  let planned = [];
1340
1346
  await runEngine({
1341
1347
  run: JSON.parse(JSON.stringify({
@@ -1406,7 +1412,7 @@ async function runCommand(flags, configPath, filters) {
1406
1412
  const setup = await prepareRun(flags, configPath);
1407
1413
  const ctx = await startRun(setup);
1408
1414
  invocation.runId = ctx.runId;
1409
- const { engineVersions } = await import("./node-OXPxBD2N.js");
1415
+ const { engineVersions } = await import("./node-B72WWfgg.js");
1410
1416
  const renderer = createRenderer({
1411
1417
  out: setup.json ? { write: () => true } : process.stdout,
1412
1418
  output: setup.output,
@@ -1428,14 +1434,14 @@ async function runCommand(flags, configPath, filters) {
1428
1434
  const { engineRun, plan, sandboxVersions, budgetReached, live, notes, questions } = executed;
1429
1435
  invocation.unhandledErrors = engineRun.unhandledErrors;
1430
1436
  if ((interrupted || engineRun.cancelled) && plan?.sandboxes.some((s) => s.kind === "docker")) {
1431
- const { removeRunContainers } = await import("./docker-jf52ARP7.js");
1437
+ const { removeRunContainers } = await import("./docker-CJkJ4-_n.js");
1432
1438
  await removeRunContainers(ctx.runId);
1433
1439
  }
1434
1440
  if (notes) {
1435
1441
  const cancelled = interrupted || engineRun.cancelled;
1436
1442
  const written = await notes.finish(cancelled);
1437
1443
  if (!cancelled && written.length) {
1438
- const { notesLine } = await import("./agent-BYy0Tc6P.js");
1444
+ const { notesLine } = await import("./agent-Dcnbp_qS.js");
1439
1445
  const text = notesLine(ctx.config.root, ctx.runId, written);
1440
1446
  renderer.onEvent({
1441
1447
  type: "notice",
@@ -1452,8 +1458,8 @@ async function runCommand(flags, configPath, filters) {
1452
1458
  }
1453
1459
  const stopped = interrupted || engineRun.cancelled;
1454
1460
  const answers = questions && !stopped ? await questions.settle() : void 0;
1455
- const { lockfiles } = await import("./state-Bx-pH2ON.js");
1456
- const { writeScratchRun } = await import("./results-BI-zTqQy.js");
1461
+ const { lockfiles } = await import("./state-BOeZS-Wa.js");
1462
+ const { writeScratchRun } = await import("./results-EaWTGQtw.js");
1457
1463
  const run = await writeScratchRun({
1458
1464
  ctx,
1459
1465
  author: ctx.author,
@@ -1476,8 +1482,8 @@ async function runCommand(flags, configPath, filters) {
1476
1482
  }, () => live?.stop());
1477
1483
  const { record } = run;
1478
1484
  if (notes && !stopped) {
1479
- const { summarizeRun } = await import("./agent-BYy0Tc6P.js");
1480
- const { resolveAnalysisModel } = await import("./model-DQQQ3q_n.js");
1485
+ const { summarizeRun } = await import("./agent-Dcnbp_qS.js");
1486
+ const { resolveAnalysisModel } = await import("./model-BAB6ScG7.js");
1481
1487
  const model = resolveAnalysisModel(ctx.config, "agent");
1482
1488
  const { level, text } = await summarizeRun(ctx.config, record.runId, model);
1483
1489
  renderer.onEvent({
@@ -1504,7 +1510,7 @@ async function runCommand(flags, configPath, filters) {
1504
1510
  const { config } = ctx;
1505
1511
  const mode = setup.record;
1506
1512
  if ((flags.record || mode === "always" || mode === "ci" && inCI()) && record.status !== "interrupted") {
1507
- const { record: recordCmd } = await import("./commands-De-SxIgY.js");
1513
+ const { record: recordCmd } = await import("./commands-8xIhRt-7.js");
1508
1514
  const allow = record.status === "budget" ? { "allow-incomplete": true } : {};
1509
1515
  console.log(await recordCmd(config, record.runId, {
1510
1516
  ...flags,
@@ -1539,10 +1545,10 @@ async function prepareRun(flags, configPath) {
1539
1545
  runs = Number(flags.runs);
1540
1546
  if (!(Number.isInteger(runs) && runs >= 1)) throw new UsageError(`--runs must be a whole number of at least 1 (got ${flags.runs})`);
1541
1547
  }
1542
- const sandboxes = [config.sandbox, ...profile?.defaults.sandbox ? [profile.defaults.sandbox] : []];
1548
+ const sandboxes = [environmentSandbox(config.environment, config.sandbox), ...profile?.defaults.environment ? [environmentSandbox(profile.defaults.environment, config.sandbox)] : []];
1543
1549
  const concurrency = await resolveConcurrency(config, flags.concurrency, async () => {
1544
1550
  if (!sandboxes.some((s) => s.kind === "docker")) return hostCapacity();
1545
- const { dockerCapacity } = await import("./src-C91RndLw.js");
1551
+ const { dockerCapacity } = await import("./src-CQzUdIZj.js");
1546
1552
  return await dockerCapacity() ?? hostCapacity();
1547
1553
  });
1548
1554
  return {
@@ -1567,11 +1573,11 @@ async function prepareRun(flags, configPath) {
1567
1573
  async function startRun({ config, profile, runs, tags, concurrency, verbosity, configFile }) {
1568
1574
  const startedAt = /* @__PURE__ */ new Date();
1569
1575
  const git = await gitInfo(config.root, [config.history.dir]);
1570
- const { worktreePatch } = await import("./state-Bx-pH2ON.js");
1576
+ const { worktreePatch } = await import("./state-BOeZS-Wa.js");
1571
1577
  const patch = git?.dirty ? await worktreePatch(config.root, [config.history.dir]) : null;
1572
1578
  const who = await author(config.root);
1573
- const { stagingDir, sweepStaging } = await import("./results-BI-zTqQy.js");
1574
- const { scratchDir } = await import("./files-BC5Yqir-.js");
1579
+ const { stagingDir, sweepStaging } = await import("./results-EaWTGQtw.js");
1580
+ const { scratchDir } = await import("./files-BTF2wg0i.js");
1575
1581
  const scratch = scratchDir(config.root);
1576
1582
  const stamps = new Set([scratch, config.history.dir].flatMap((dir) => existsSync(dir) ? readdirSync(dir).map((name) => name.slice(0, 16)) : []));
1577
1583
  let runId = newRunId(startedAt, git?.sha ?? null, who);
@@ -1608,8 +1614,8 @@ function unmatchedFilter(config, parts) {
1608
1614
  */
1609
1615
  async function executeRun(ctx, setup, filters, renderer) {
1610
1616
  const { runId, stagingDir, config, runs, tags, concurrency, profile, verbosity, configFile } = ctx;
1611
- const { runEngine } = await import("./node-OXPxBD2N.js");
1612
- const { buildPlan, checkAttemptBudget, planDocument, planLine, planTable } = await import("./plan-DcHTdiJN.js");
1617
+ const { runEngine } = await import("./node-B72WWfgg.js");
1618
+ const { buildPlan, checkAttemptBudget, planDocument, planLine, planTable } = await import("./plan-4AO_VH20.js");
1613
1619
  let plan;
1614
1620
  let sandboxVersions = { images: [] };
1615
1621
  let preflightStop;
@@ -1624,7 +1630,7 @@ async function executeRun(ctx, setup, filters, renderer) {
1624
1630
  if (matched === 0) throw noMatch(config, filters, tags);
1625
1631
  toRun = planned;
1626
1632
  for (const p of planned) for (const name of p.attempt.secretVars) registerSecret(process.env[name]);
1627
- const models = planned.some((p) => !p.attempt.plan.skip && p.attempt.plan.questions?.length) ? await import("./model-DQQQ3q_n.js") : void 0;
1633
+ const models = planned.some((p) => !p.attempt.plan.skip && p.attempt.plan.questions?.length) ? await import("./model-BAB6ScG7.js") : void 0;
1628
1634
  plan = await buildPlan({
1629
1635
  planned,
1630
1636
  profile,
@@ -1634,7 +1640,7 @@ async function executeRun(ctx, setup, filters, renderer) {
1634
1640
  historyDir: config.history.dir,
1635
1641
  questionModel: models?.questionModelLabel(config) ?? null
1636
1642
  });
1637
- const { imageStages, imageTargets } = await import("./images-C9Y4ijbG.js");
1643
+ const { imageStages, imageTargets } = await import("./images-CPfNRSuK.js");
1638
1644
  const targets = imageTargets(planned.filter((p) => !p.attempt.plan.skip).map((p) => ({
1639
1645
  id: p.id,
1640
1646
  harness: p.attempt.harness,
@@ -1655,8 +1661,8 @@ async function executeRun(ctx, setup, filters, renderer) {
1655
1661
  if (setup.dryRun) {
1656
1662
  const todos = excluded.filter((e) => e.mode === "todo").map((e) => e.id);
1657
1663
  lines.push(...planTable(plan, todos));
1658
- const { imageStatusLines } = await import("./images-C9Y4ijbG.js");
1659
- const { dockerAvailable } = await import("./src-C91RndLw.js");
1664
+ const { imageStatusLines } = await import("./images-CPfNRSuK.js");
1665
+ const { dockerAvailable } = await import("./src-CQzUdIZj.js");
1660
1666
  if (targets.length && await dockerAvailable()) lines.push(...await imageStatusLines(targets, config.root));
1661
1667
  else if (targets.length) lines.push("images not checked: Docker is not running");
1662
1668
  }
@@ -1670,7 +1676,7 @@ async function executeRun(ctx, setup, filters, renderer) {
1670
1676
  });
1671
1677
  if (setup.dryRun) return false;
1672
1678
  checkAttemptBudget(plan, setup.force, config.file);
1673
- const analysis = config.analysis.agent ? await import("./model-DQQQ3q_n.js") : null;
1679
+ const analysis = config.analysis.agent ? await import("./model-BAB6ScG7.js") : null;
1674
1680
  analysis?.analysisModelName(config, "agent");
1675
1681
  const questionModels = /* @__PURE__ */ new Set();
1676
1682
  const asked = [];
@@ -1699,7 +1705,7 @@ async function executeRun(ctx, setup, filters, renderer) {
1699
1705
  });
1700
1706
  if (malformed.length) throw new UsageError(`Credentials with whitespace or a line break in them: ${malformed.join(", ")}. A key copied from a wrapped terminal line picks these up; set it again as one line.`);
1701
1707
  if (analysis) {
1702
- const { startNotes } = await import("./agent-BYy0Tc6P.js");
1708
+ const { startNotes } = await import("./agent-Dcnbp_qS.js");
1703
1709
  notes = startNotes({
1704
1710
  config,
1705
1711
  model: analysis.resolveAnalysisModel(config, "agent"),
@@ -1715,7 +1721,7 @@ async function executeRun(ctx, setup, filters, renderer) {
1715
1721
  });
1716
1722
  }
1717
1723
  if (asked.length) {
1718
- const { questionRunner } = await import("./questions-CzXdVVsh.js");
1724
+ const { questionRunner } = await import("./questions-nUB6aKz_.js");
1719
1725
  questions = questionRunner({
1720
1726
  evals: asked,
1721
1727
  stagingDir,
@@ -1732,7 +1738,7 @@ async function executeRun(ctx, setup, filters, renderer) {
1732
1738
  }
1733
1739
  });
1734
1740
  }
1735
- const { prepareWorkspaces, workspaceKey } = await import("./workspace-DXV77ZqW.js");
1741
+ const { prepareWorkspaces, workspaceKey } = await import("./workspace-BwKzynEj.js");
1736
1742
  const live = planned.filter((p) => !p.attempt.plan.skip);
1737
1743
  const outcomes = await prepareWorkspaces(live.flatMap(({ attempt: a }) => a.workspace ? [{
1738
1744
  workspace: a.workspace,
@@ -1888,9 +1894,9 @@ async function executeRun(ctx, setup, filters, renderer) {
1888
1894
  throw error;
1889
1895
  } finally {
1890
1896
  clearTimeout(budgetTimer);
1891
- const { removePrepared } = await import("./preflight-BQyUr_hW.js");
1897
+ const { removePrepared } = await import("./preflight-B8XgaXdX.js");
1892
1898
  removePrepared(config.root, runId);
1893
- const { removePreparedWorkspaces } = await import("./workspace-DXV77ZqW.js");
1899
+ const { removePreparedWorkspaces } = await import("./workspace-BwKzynEj.js");
1894
1900
  removePreparedWorkspaces(config.root, runId);
1895
1901
  }
1896
1902
  if (preflightStop) throw preflightStop;
@@ -1973,4 +1979,4 @@ run(process.argv.slice(2)).finally(() => {
1973
1979
  //#endregion
1974
1980
  export {};
1975
1981
 
1976
- //# sourceMappingURL=cli-DemDdg8J.js.map
1982
+ //# sourceMappingURL=cli-Ben0kbJt.js.map