reeval 0.9.0 → 0.10.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 (318) hide show
  1. package/README.md +42 -30
  2. package/THIRD_PARTY_NOTICES.md +218 -11
  3. package/assets/package.json +1 -1
  4. package/assets/pnpm-lock.yaml +30 -30
  5. package/dist/adapter-DWlpOtRn.js +279 -0
  6. package/dist/adapter-DWlpOtRn.js.map +1 -0
  7. package/dist/{agent-6FefIhX7.js → agent-CURAwx_q.js} +6 -6
  8. package/dist/{agent-6FefIhX7.js.map → agent-CURAwx_q.js.map} +1 -1
  9. package/dist/{agent-WSmTaesf.js → agent-CaS_2Sce.js} +46 -15
  10. package/dist/agent-CaS_2Sce.js.map +1 -0
  11. package/dist/{analysis-DlGBDjTj.js → analysis-Bxub9LMT.js} +4 -4
  12. package/dist/{analysis-DlGBDjTj.js.map → analysis-Bxub9LMT.js.map} +1 -1
  13. package/dist/{assemble-BCZzTyR7.js → assemble-B9Alds-z.js} +69 -41
  14. package/dist/assemble-B9Alds-z.js.map +1 -0
  15. package/dist/assemble-J5MukZFY.js +1 -0
  16. package/dist/{client-Bbo9SPlK.js → assert-EUIoRdIt.js} +10 -113
  17. package/dist/assert-EUIoRdIt.js.map +1 -0
  18. package/dist/bridge/index.mjs +248 -55
  19. package/dist/{capture-Bp74Z6Fr.js → capture-CNb9SuU5.js} +145 -31
  20. package/dist/capture-CNb9SuU5.js.map +1 -0
  21. package/dist/capture-jquXZBKK.js +1 -0
  22. package/dist/{cli-CVrMh_qz.js → cli-D303Vj5N.js} +133 -115
  23. package/dist/cli-D303Vj5N.js.map +1 -0
  24. package/dist/{cli-spec-CKEYa8V2.js → cli-spec-BPZbQG2p.js} +36 -17
  25. package/dist/cli-spec-BPZbQG2p.js.map +1 -0
  26. package/dist/cli.js +4 -2
  27. package/dist/cli.js.map +1 -1
  28. package/dist/client-fcwgwOAD.js +106 -0
  29. package/dist/client-fcwgwOAD.js.map +1 -0
  30. package/dist/{command-CzIFp1JQ.js → command-BLfT7vnQ.js} +18 -17
  31. package/dist/command-BLfT7vnQ.js.map +1 -0
  32. package/dist/{command-C5xFPKHM.js → command-BT9a37ZR.js} +374 -72
  33. package/dist/command-BT9a37ZR.js.map +1 -0
  34. package/dist/{command-DUT5l13I.js → command-Bge8F7Ko.js} +316 -83
  35. package/dist/command-Bge8F7Ko.js.map +1 -0
  36. package/dist/command-BkFjijN2.js +1 -0
  37. package/dist/{command-BFP0hKEb.js → command-CMJtHKRa.js} +14 -14
  38. package/dist/{command-BFP0hKEb.js.map → command-CMJtHKRa.js.map} +1 -1
  39. package/dist/commands-1p-bIWhN.js +1 -0
  40. package/dist/{commands-CLmPBrTS.js → commands-BFx16WB8.js} +7 -7
  41. package/dist/commands-BFx16WB8.js.map +1 -0
  42. package/dist/config-DEgnUiU-.js +756 -0
  43. package/dist/config-DEgnUiU-.js.map +1 -0
  44. package/dist/{context-DbSMEVKs.js → context-C1mxXh80.js} +11 -3
  45. package/dist/context-C1mxXh80.js.map +1 -0
  46. package/dist/{db-CfQFwJtq.js → db-CdHizc4_.js} +455 -36
  47. package/dist/db-CdHizc4_.js.map +1 -0
  48. package/dist/db-Dm1cRJJP.js +2 -0
  49. package/dist/debug-D7bEv_UV.js +1 -0
  50. package/dist/{dist-CTzThfu_.js → dist-B8hJImYt.js} +17 -4
  51. package/dist/dist-B8hJImYt.js.map +1 -0
  52. package/dist/{docker-CRQGQbIt.js → docker-7b_2SaH7.js} +22 -21
  53. package/dist/docker-7b_2SaH7.js.map +1 -0
  54. package/dist/{docker-DV2GNgle.js → docker-sZrNrr82.js} +3 -3
  55. package/dist/docker-sZrNrr82.js.map +1 -0
  56. package/dist/docker-yauK-9X8.js +1 -0
  57. package/dist/{doctor-DlKycx5H.js → doctor-BYNok4UO.js} +262 -83
  58. package/dist/doctor-BYNok4UO.js.map +1 -0
  59. package/dist/{duration-JsJrIWXq.js → duration-CEOQww97.js} +2 -2
  60. package/dist/{duration-JsJrIWXq.js.map → duration-CEOQww97.js.map} +1 -1
  61. package/dist/{egress-BhzNh7Yi.js → egress-C4PZTSSe.js} +146 -14
  62. package/dist/egress-C4PZTSSe.js.map +1 -0
  63. package/dist/environment-DNjRk0nU.js +1133 -0
  64. package/dist/environment-DNjRk0nU.js.map +1 -0
  65. package/dist/{errors-yDAEwmZo.js → errors-B6BSMs03.js} +2 -2
  66. package/dist/errors-B6BSMs03.js.map +1 -0
  67. package/dist/{errors-C9w_ud7g.js → errors-r025B0Zb.js} +4 -4
  68. package/dist/errors-r025B0Zb.js.map +1 -0
  69. package/dist/evaluate-C1UVL21l.d.ts +92 -0
  70. package/dist/evaluate-D4zeRGBF.js +2351 -0
  71. package/dist/evaluate-D4zeRGBF.js.map +1 -0
  72. package/dist/files-BAt0i00X.js +1 -0
  73. package/dist/{files-CSzVADHn.js → files-BXUdY8tr.js} +9 -8
  74. package/dist/{files-CSzVADHn.js.map → files-BXUdY8tr.js.map} +1 -1
  75. package/dist/files-BhyltlDB.js +1 -0
  76. package/dist/files-Bk1mC3AN.js +43 -0
  77. package/dist/files-Bk1mC3AN.js.map +1 -0
  78. package/dist/{files-DJUFg-4e.js → files-DQmHE7pb.js} +5 -5
  79. package/dist/{files-DJUFg-4e.js.map → files-DQmHE7pb.js.map} +1 -1
  80. package/dist/files-ZZPqfAo6.js +1 -0
  81. package/dist/harness-B8QC9u0O.js +323 -0
  82. package/dist/harness-B8QC9u0O.js.map +1 -0
  83. package/dist/harness.d.ts +16 -30
  84. package/dist/harness.js +1 -2
  85. package/dist/{header-CALhmafp.js → header-hK-Z_Po9.js} +2 -2
  86. package/dist/{header-CALhmafp.js.map → header-hK-Z_Po9.js.map} +1 -1
  87. package/dist/{images-BMgdpMAX.js → images-0On0cztu.js} +114 -45
  88. package/dist/images-0On0cztu.js.map +1 -0
  89. package/dist/index.d.ts +9 -37
  90. package/dist/index.js +6 -2138
  91. package/dist/{init-BIdLF0F9.js → init-B77Rpcqc.js} +26 -8
  92. package/dist/init-B77Rpcqc.js.map +1 -0
  93. package/dist/init-BrOWin3W.js +1 -0
  94. package/dist/{invocations-CLaL8AuW.js → invocations-DbGfBAA_.js} +4 -4
  95. package/dist/{invocations-CLaL8AuW.js.map → invocations-DbGfBAA_.js.map} +1 -1
  96. package/dist/{judge-CeYPN8P_.js → judge-DW_GDOmB.js} +11 -19
  97. package/dist/{judge-CeYPN8P_.js.map → judge-DW_GDOmB.js.map} +1 -1
  98. package/dist/judge.d.ts +2 -2
  99. package/dist/judge.js +1 -1
  100. package/dist/{live-S0qODb6o.js → live-jlfszAbb.js} +9 -20
  101. package/dist/live-jlfszAbb.js.map +1 -0
  102. package/dist/matchers-Ddmc2z7H.js +118 -0
  103. package/dist/matchers-Ddmc2z7H.js.map +1 -0
  104. package/dist/{model-DEQo3FkZ.js → model-DaVCY3rb.js} +2 -2
  105. package/dist/{model-DEQo3FkZ.js.map → model-DaVCY3rb.js.map} +1 -1
  106. package/dist/model-NM3ID0uR.js +1 -0
  107. package/dist/{model-B1BZoZ9b.js → model-h_cDtcRr.js} +18 -17
  108. package/dist/model-h_cDtcRr.js.map +1 -0
  109. package/dist/model-nwWJvaUR.js +1 -0
  110. package/dist/{model-BOnlAPzs.js → model-oqcDplJG.js} +111 -19
  111. package/dist/model-oqcDplJG.js.map +1 -0
  112. package/dist/{node-Co7EXge0.js → node-B3ydHo6t.js} +10 -47
  113. package/dist/node-B3ydHo6t.js.map +1 -0
  114. package/dist/object-CLf2-tNq.js +9 -0
  115. package/dist/object-CLf2-tNq.js.map +1 -0
  116. package/dist/{opencode-providers-ByD85Q0l.js → opencode-providers-J9colP0-.js} +96 -21
  117. package/dist/opencode-providers-J9colP0-.js.map +1 -0
  118. package/dist/options-Bh2W63dK.js +1119 -0
  119. package/dist/options-Bh2W63dK.js.map +1 -0
  120. package/dist/{pairs-DDsjgm5F.js → pairs-CnInRu-G.js} +76 -2
  121. package/dist/{pairs-DDsjgm5F.js.map → pairs-CnInRu-G.js.map} +1 -1
  122. package/dist/{patch-bDV8YFW0.js → patch-Zac5aIRM.js} +6 -6
  123. package/dist/{patch-bDV8YFW0.js.map → patch-Zac5aIRM.js.map} +1 -1
  124. package/dist/{plan-DUydFc_1.js → plan-C9Cy27Ay.js} +24 -9
  125. package/dist/plan-C9Cy27Ay.js.map +1 -0
  126. package/dist/preflight-CPWpQeBI.js +1 -0
  127. package/dist/{preflight-BkoSxf4C.js → preflight-D7iFPKeK.js} +8 -7
  128. package/dist/preflight-D7iFPKeK.js.map +1 -0
  129. package/dist/prepare-BGjePFQl.js +2 -0
  130. package/dist/{prepare-CUAWHebF.js → prepare-doGxaAGR.js} +38 -30
  131. package/dist/prepare-doGxaAGR.js.map +1 -0
  132. package/dist/{provenance-D7HK3vzt.js → provenance-DmE9uPVt.js} +3 -3
  133. package/dist/{provenance-D7HK3vzt.js.map → provenance-DmE9uPVt.js.map} +1 -1
  134. package/dist/provider-DehR4CMN.js +1 -0
  135. package/dist/providers-gDMko8fl.js +1 -0
  136. package/dist/providers-tAOD1NQN.js +165 -0
  137. package/dist/providers-tAOD1NQN.js.map +1 -0
  138. package/dist/{query-BjBMLa-C.js → query-Bes9Kh6Y.js} +3 -3
  139. package/dist/{query-BjBMLa-C.js.map → query-Bes9Kh6Y.js.map} +1 -1
  140. package/dist/query-C_G_svLU.js +1 -0
  141. package/dist/questions-DjAwMxZ3.js +524 -0
  142. package/dist/questions-DjAwMxZ3.js.map +1 -0
  143. package/dist/{record-BRP9vZrj.js → record-BKmMvZ6O.js} +9 -1
  144. package/dist/{record-BRP9vZrj.js.map → record-BKmMvZ6O.js.map} +1 -1
  145. package/dist/remote-HDRt16ew.js +378 -0
  146. package/dist/remote-HDRt16ew.js.map +1 -0
  147. package/dist/{results-Di7m8dQ3.js → results-DuauQI3Z.js} +4 -4
  148. package/dist/{results-Di7m8dQ3.js.map → results-DuauQI3Z.js.map} +1 -1
  149. package/dist/{resume-SUz1GskV.js → resume-BRfa8E_s.js} +10 -10
  150. package/dist/{resume-SUz1GskV.js.map → resume-BRfa8E_s.js.map} +1 -1
  151. package/dist/{root-CvdRlRZX.js → root-DICDHCtp.js} +4 -4
  152. package/dist/{root-CvdRlRZX.js.map → root-DICDHCtp.js.map} +1 -1
  153. package/dist/{runtime-DdsfnRz_.js → runtime-PX_oXiCS.js} +23 -71
  154. package/dist/runtime-PX_oXiCS.js.map +1 -0
  155. package/dist/sandbox-D3A8oUb7.js +70 -0
  156. package/dist/sandbox-D3A8oUb7.js.map +1 -0
  157. package/dist/sandbox.d.ts +19 -6
  158. package/dist/sandbox.js +1 -2
  159. package/dist/server-C7sg1ndo.js +1 -0
  160. package/dist/{server-BNnXtmS8.js → server-XDleKaF_.js} +11 -11
  161. package/dist/server-XDleKaF_.js.map +1 -0
  162. package/dist/shared-DYpIb1BI.js +166 -0
  163. package/dist/shared-DYpIb1BI.js.map +1 -0
  164. package/dist/{source-Dof0NQBm.js → source-C8xumIWj.js} +2 -2
  165. package/dist/{source-Dof0NQBm.js.map → source-C8xumIWj.js.map} +1 -1
  166. package/dist/source-fGd0SaKP.js +1 -0
  167. package/dist/{src-8rRXy4u9.js → src-B7treWa8.js} +1538 -180
  168. package/dist/src-B7treWa8.js.map +1 -0
  169. package/dist/{src-C1E9HDWO.js → src-C7_1SqDP.js} +3 -3
  170. package/dist/{src-C1E9HDWO.js.map → src-C7_1SqDP.js.map} +1 -1
  171. package/dist/{src-DDNXsD9H.js → src-CF17Ug08.js} +5 -4
  172. package/dist/src-CF17Ug08.js.map +1 -0
  173. package/dist/{src-C_4Umgh2.js → src-CFp86GtV.js} +52 -51
  174. package/dist/src-CFp86GtV.js.map +1 -0
  175. package/dist/src-C_lPtowT.js +2 -0
  176. package/dist/src-DIL0jST0.js +368 -0
  177. package/dist/src-DIL0jST0.js.map +1 -0
  178. package/dist/src-DNnG4e4R.js +2 -0
  179. package/dist/src-DTbrY1hi.js +2 -0
  180. package/dist/src-DdyJEh2v.js +2 -0
  181. package/dist/src-Dj9PAroc.js +2 -0
  182. package/dist/src-Du8H85Qq.js +2 -0
  183. package/dist/src-DvCg0NBs.js +324 -0
  184. package/dist/src-DvCg0NBs.js.map +1 -0
  185. package/dist/{src-COgE7991.js → src-DvK0EIZx.js} +5 -5
  186. package/dist/{src-COgE7991.js.map → src-DvK0EIZx.js.map} +1 -1
  187. package/dist/{src-DVy58-zZ.js → src-FGXhkEkH.js} +5 -5
  188. package/dist/{src-DVy58-zZ.js.map → src-FGXhkEkH.js.map} +1 -1
  189. package/dist/src-jzagbuqH.js +2 -0
  190. package/dist/src-ofUaYbuY.js +3 -0
  191. package/dist/src-pJZOrYR9.js +1 -0
  192. package/dist/{src-D95O-Smv.js → src-u8_ixn_F.js} +15 -11
  193. package/dist/src-u8_ixn_F.js.map +1 -0
  194. package/dist/{state-CiXyLqg0.js → state-C__9swoG.js} +35 -23
  195. package/dist/state-C__9swoG.js.map +1 -0
  196. package/dist/state-CeR6oz0k.js +66 -0
  197. package/dist/state-CeR6oz0k.js.map +1 -0
  198. package/dist/state-CgjQo29K.js +1 -0
  199. package/dist/studio-app/assets/index-CwQN3f_h.css +2 -0
  200. package/dist/studio-app/assets/{index-CROH2NB3.js → index-DrQc2Yxd.js} +11 -11
  201. package/dist/studio-app/index.html +2 -2
  202. package/dist/{summary-BTksrIxn.js → summary-BLAVLySU.js} +150 -19
  203. package/dist/summary-BLAVLySU.js.map +1 -0
  204. package/dist/{summary-2OAWF2N7.js → summary-DgyjUh_l.js} +7 -7
  205. package/dist/{summary-2OAWF2N7.js.map → summary-DgyjUh_l.js.map} +1 -1
  206. package/dist/testing.d.ts +3 -2
  207. package/dist/testing.js +3 -2
  208. package/dist/{tool-target-BU1JnSE9.js → tool-target-D2mcYlSQ.js} +14 -7
  209. package/dist/tool-target-D2mcYlSQ.js.map +1 -0
  210. package/dist/{tools-B10Uj7OI.js → tools-GCyNYSc1.js} +6 -6
  211. package/dist/tools-GCyNYSc1.js.map +1 -0
  212. package/dist/transcript-BNNANU8A.js +64 -0
  213. package/dist/transcript-BNNANU8A.js.map +1 -0
  214. package/dist/{types-D8RLfkFP.d.ts → types-g17bRAzt.d.ts} +389 -42
  215. package/dist/{usage-DDF_6tkV.js → usage-CleNKkly.js} +4 -2
  216. package/dist/{usage-DDF_6tkV.js.map → usage-CleNKkly.js.map} +1 -1
  217. package/dist/view/index.d.ts +42 -8
  218. package/dist/view/index.js +6 -6
  219. package/dist/views-BW6oCDUQ.js +2 -0
  220. package/dist/{views-Dqa5ojfZ.js → views-BmQF4UCI.js} +13 -8
  221. package/dist/views-BmQF4UCI.js.map +1 -0
  222. package/dist/{worker-entry-BAikHl9F.js → worker-entry-yOchGYYv.js} +16 -229
  223. package/dist/worker-entry-yOchGYYv.js.map +1 -0
  224. package/dist/{workspace-C-TrNIUc.js → workspace-CgyHEM0l.js} +6 -6
  225. package/dist/{workspace-C-TrNIUc.js.map → workspace-CgyHEM0l.js.map} +1 -1
  226. package/dist/workspace-D8sSgpiy.js +1 -0
  227. package/package.json +12 -12
  228. package/dist/agent-WSmTaesf.js.map +0 -1
  229. package/dist/assemble-BCZzTyR7.js.map +0 -1
  230. package/dist/assemble-C5qq5yT2.js +0 -2
  231. package/dist/capture-Bp74Z6Fr.js.map +0 -1
  232. package/dist/capture-DS-cPyuE.js +0 -2
  233. package/dist/cli-CVrMh_qz.js.map +0 -1
  234. package/dist/cli-spec-CKEYa8V2.js.map +0 -1
  235. package/dist/client-Bbo9SPlK.js.map +0 -1
  236. package/dist/command-BrmXUC-W.js +0 -2
  237. package/dist/command-C5xFPKHM.js.map +0 -1
  238. package/dist/command-CzIFp1JQ.js.map +0 -1
  239. package/dist/command-DUT5l13I.js.map +0 -1
  240. package/dist/commands-CLmPBrTS.js.map +0 -1
  241. package/dist/commands-fI3G2Wnh.js +0 -2
  242. package/dist/config-CGvBeewH.js +0 -457
  243. package/dist/config-CGvBeewH.js.map +0 -1
  244. package/dist/context-DbSMEVKs.js.map +0 -1
  245. package/dist/db-CSSFtGcN.js +0 -3
  246. package/dist/db-CfQFwJtq.js.map +0 -1
  247. package/dist/debug-SEmW4w8f.js +0 -2
  248. package/dist/dist-CTzThfu_.js.map +0 -1
  249. package/dist/docker-CRQGQbIt.js.map +0 -1
  250. package/dist/docker-DV2GNgle.js.map +0 -1
  251. package/dist/docker-Df_YOxxB.js +0 -2
  252. package/dist/doctor-DlKycx5H.js.map +0 -1
  253. package/dist/egress-BhzNh7Yi.js.map +0 -1
  254. package/dist/environment-1jE-HhO-.js +0 -657
  255. package/dist/environment-1jE-HhO-.js.map +0 -1
  256. package/dist/errors-C9w_ud7g.js.map +0 -1
  257. package/dist/errors-yDAEwmZo.js.map +0 -1
  258. package/dist/fake-instructions-CUI33I_F.js +0 -32
  259. package/dist/fake-instructions-CUI33I_F.js.map +0 -1
  260. package/dist/files-AiEKuEZe.js +0 -2
  261. package/dist/files-BM78_nnF.js +0 -2
  262. package/dist/files-BMCvfB4X.js +0 -2
  263. package/dist/harness-CeCp2GSW.js +0 -171
  264. package/dist/harness-CeCp2GSW.js.map +0 -1
  265. package/dist/images-BMgdpMAX.js.map +0 -1
  266. package/dist/index.js.map +0 -1
  267. package/dist/init-B6vegaP_.js +0 -2
  268. package/dist/init-BIdLF0F9.js.map +0 -1
  269. package/dist/jiti-BcJHCtrb.js +0 -46
  270. package/dist/jiti-BcJHCtrb.js.map +0 -1
  271. package/dist/live-S0qODb6o.js.map +0 -1
  272. package/dist/model-B1BZoZ9b.js.map +0 -1
  273. package/dist/model-BOnlAPzs.js.map +0 -1
  274. package/dist/model-DWeg5J7z.js +0 -2
  275. package/dist/model-FXko2kl7.js +0 -2
  276. package/dist/node-Co7EXge0.js.map +0 -1
  277. package/dist/opencode-providers-ByD85Q0l.js.map +0 -1
  278. package/dist/options-CKqyPGxX.js +0 -739
  279. package/dist/options-CKqyPGxX.js.map +0 -1
  280. package/dist/plan-DUydFc_1.js.map +0 -1
  281. package/dist/preflight-BkoSxf4C.js.map +0 -1
  282. package/dist/preflight-D5LW7Oqi.js +0 -2
  283. package/dist/prepare-CUAWHebF.js.map +0 -1
  284. package/dist/prepare-oji2oO8W.js +0 -3
  285. package/dist/provider-BDbNOQhQ.js +0 -2
  286. package/dist/providers-B1DzMvmH.js +0 -107
  287. package/dist/providers-B1DzMvmH.js.map +0 -1
  288. package/dist/providers-CpEfNU1F.js +0 -2
  289. package/dist/query-oPO_XrTy.js +0 -2
  290. package/dist/questions-B8by4Bbt.js +0 -234
  291. package/dist/questions-B8by4Bbt.js.map +0 -1
  292. package/dist/runtime-DdsfnRz_.js.map +0 -1
  293. package/dist/sandbox-D5v-of6d.js +0 -139
  294. package/dist/sandbox-D5v-of6d.js.map +0 -1
  295. package/dist/server-BNnXtmS8.js.map +0 -1
  296. package/dist/server-BNwoKzlm.js +0 -2
  297. package/dist/source-Bk_0ZaEY.js +0 -2
  298. package/dist/src-8rRXy4u9.js.map +0 -1
  299. package/dist/src-BGWuWp6I.js +0 -3
  300. package/dist/src-BRt0O02i.js +0 -3
  301. package/dist/src-Bx2x1ekD.js +0 -3
  302. package/dist/src-C_4Umgh2.js.map +0 -1
  303. package/dist/src-D95O-Smv.js.map +0 -1
  304. package/dist/src-DDNXsD9H.js.map +0 -1
  305. package/dist/src-DLa-ESW0.js +0 -4
  306. package/dist/src-cN0aB-WR.js +0 -3
  307. package/dist/src-cdIVjC5b.js +0 -2
  308. package/dist/src-sIsDHWYq.js +0 -3
  309. package/dist/state-Bo5zg4da.js +0 -2
  310. package/dist/state-CiXyLqg0.js.map +0 -1
  311. package/dist/studio-app/assets/index-B9MCTfuu.css +0 -2
  312. package/dist/summary-BTksrIxn.js.map +0 -1
  313. package/dist/tool-target-BU1JnSE9.js.map +0 -1
  314. package/dist/tools-B10Uj7OI.js.map +0 -1
  315. package/dist/views-Cs2Oqayd.js +0 -3
  316. package/dist/views-Dqa5ojfZ.js.map +0 -1
  317. package/dist/worker-entry-BAikHl9F.js.map +0 -1
  318. package/dist/workspace-Do_SiWBs.js +0 -2
@@ -1,8 +1,8 @@
1
- import { n as UsageError } from "./errors-yDAEwmZo.js";
2
- import { i as PACKAGE_DIR } from "./root-CvdRlRZX.js";
3
- import { d as agentFor } from "./egress-BhzNh7Yi.js";
4
- import { s as harnessId } from "./options-CKqyPGxX.js";
5
- import { t as CONFIG_FILES } from "./config-CGvBeewH.js";
1
+ import { n as UsageError } from "./errors-B6BSMs03.js";
2
+ import { s as harnessId } from "./options-Bh2W63dK.js";
3
+ import { t as CONFIG_FILES } from "./config-DEgnUiU-.js";
4
+ import { i as PACKAGE_DIR } from "./root-DICDHCtp.js";
5
+ import { d as agentFor } from "./egress-C4PZTSSe.js";
6
6
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
7
7
  import { dirname, join, relative, resolve, sep } from "node:path";
8
8
  import { createInterface } from "node:readline";
@@ -50,6 +50,18 @@ const INIT_HARNESSES = [
50
50
  label: "Codex",
51
51
  factory: "codex",
52
52
  model: "gpt-5.6-luna"
53
+ },
54
+ {
55
+ kind: "fx",
56
+ label: "fx",
57
+ factory: "fx",
58
+ model: "anthropic/claude-sonnet-5"
59
+ },
60
+ {
61
+ kind: "grok-build",
62
+ label: "Grok Build",
63
+ factory: "grokBuild",
64
+ model: "grok-4.6"
53
65
  }
54
66
  ];
55
67
  const descriptorOf = (h) => ({
@@ -163,13 +175,19 @@ function gitignore(dir) {
163
175
  action: "keep",
164
176
  note: GITIGNORE.join(", ")
165
177
  };
178
+ if (existing === void 0) return {
179
+ path: ".gitignore",
180
+ action: "create",
181
+ note: ["node_modules/", ...missing].join(", "),
182
+ content: `node_modules/\n\n# reeval: scratch runs and debug data; local keys\n${missing.join("\n")}\n`
183
+ };
166
184
  const lead = existing && !existing.endsWith("\n") ? "\n" : "";
167
185
  const block = `${existing ? `${lead}\n` : ""}# reeval: scratch runs and debug data; local keys\n${missing.join("\n")}\n`;
168
186
  return {
169
187
  path: ".gitignore",
170
- action: existing === void 0 ? "create" : "update",
188
+ action: "update",
171
189
  note: missing.join(", "),
172
- content: `${existing ?? ""}${block}`
190
+ content: `${existing}${block}`
173
191
  };
174
192
  }
175
193
  function packageJson(dir, pkg, version) {
@@ -339,4 +357,4 @@ async function initCommand(flags, args, io) {
339
357
  //#endregion
340
358
  export { initCommand as a, evalSource as i, askHarness as n, missingGitignoreEntries as o, configSource as r, planInit as s, INIT_HARNESSES as t };
341
359
 
342
- //# sourceMappingURL=init-BIdLF0F9.js.map
360
+ //# sourceMappingURL=init-B77Rpcqc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-B77Rpcqc.js","names":["posix"],"sources":["../src/init.ts"],"mappings":";;;;;;;;;;AAeA,MAAa,iBAKR;CACH;EAAE,MAAM;EAAU,OAAO;EAAU,SAAS;EAAU,OAAO;CAAe;CAC5E;EAAE,MAAM;EAAe,OAAO;EAAe,SAAS;EAAc,OAAO;CAAkB;CAC7F;EACE,MAAM;EACN,OAAO;EACP,SAAS;EACT,OAAO;CACT;CACA;EAAE,MAAM;EAAY,OAAO;EAAY,SAAS;EAAY,OAAO;CAA0B;CAC7F;EAAE,MAAM;EAAS,OAAO;EAAS,SAAS;EAAS,OAAO;CAAmB;CAC7E;EAAE,MAAM;EAAM,OAAO;EAAM,SAAS;EAAM,OAAO;CAAmB;CACpE;EAAE,MAAM;EAAS,OAAO;EAAS,SAAS;EAAS,OAAO;CAAe;CACzE;EAAE,MAAM;EAAM,OAAO;EAAM,SAAS;EAAM,OAAO;CAA4B;CAC7E;EAAE,MAAM;EAAc,OAAO;EAAc,SAAS;EAAa,OAAO;CAAW;AACrF;AAIA,MAAM,gBAAgB,OACnB;CAAE,MAAM,EAAE;CAAM,OAAO,EAAE;AAAM;;AAElC,MAAM,SAAS,MAA0C,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC;;AAEnF,MAAM,UAAU,MAA0C,UAAU,aAAa,CAAC,CAAC;AAEnF,MAAM,UAAwB,CAAC,GAAG,eAAe,KAAK,MAAM,EAAE,IAAI,GAAG,MAAM;AAC3E,MAAM,iBAA6B;AACnC,MAAM,YAAY,CAAC,YAAY,OAAO;AACtC,MAAM,YAAY;AAYlB,MAAMA,WAAS,SAAiB,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;AAExD,SAAS,UAAU,QAAoB;CACrC,OAAO,eAAe,MAAM,MAAM,EAAE,SAAS,MAAM;AACrD;AAEA,SAAgB,aAAa,KAAa,QAA4B;CACpE,MAAM,OAAO,UAAU,MAAM;CAC7B,MAAM,iBAAiB,OAAO,GAAG,KAAK,QAAQ,iBAAiB;CAC/D,MAAM,YAAY,qCAAqC,UAAU;;;;;;CAMjE,MAAM,WAAW;;;;;;;;CAyBjB,OAAO,iCAAiC,IAAI;WACnC,eAAe,WAAW,IAAI;+BACV,IAAI;;EAEjC,UAAA;;;EArBa,OACT,cAAc,KAAK,QAAQ,aAAa,KAAK,MAAM,iBAAiB,MAAM,IAAI,EAAA;;;;;;;;EAQlF,SAAA;QAEI;;;;EAIJ,SAAA;MASK;;;AAGP;AAEA,SAAgB,WAAW,KAAqB;CAC9C,OAAO,qCAAqC,IAAI;;;;;;;;;;;;;;;AAelD;AAEA,MAAM,QAAQ,SAAkB,WAAW,IAAI,IAAI,aAAa,MAAM,MAAM,IAAI,KAAA;;AAGhF,SAAS,MACP,KACA,MACA,SACA,MACA,OACA,WACY;CACZ,MAAM,WAAW,KAAK,KAAK,KAAK,IAAI,CAAC;CACrC,IAAI,aAAa,KAAA,GAAW,OAAO;EAAE;EAAM,QAAQ;EAAU;EAAM;CAAQ;CAC3E,IAAI,aAAa,SACf,OAAO;EAAE;EAAM,QAAQ;EAAQ,MAAM;CAAmC;CAC1E,IAAI,CAAC,OAAO,UAAU,KAAK,GAAG,KAAK,oBAAoB;CACvD,OAAO;EAAE;EAAM,QAAQ;EAAa;EAAM;CAAQ;AACpD;;AAGA,SAAgB,wBAAwB,MAAwB;CAC9D,MAAM,QAAQ,IAAI,IAAI,KAAK,MAAM,OAAO,CAAC,CAAC,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;CACjF,OAAO,UAAU,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,QAAQ,OAAO,EAAE,CAAC,CAAC;AAClF;AAEA,SAAS,UAAU,KAAyB;CAC1C,MAAM,WAAW,KAAK,KAAK,KAAK,YAAY,CAAC;CAC7C,MAAM,UAAU,wBAAwB,YAAY,EAAE;CACtD,IAAI,CAAC,QAAQ,QAAQ,OAAO;EAAE,MAAM;EAAc,QAAQ;EAAQ,MAAM,UAAU,KAAK,IAAI;CAAE;CAC7F,IAAI,aAAa,KAAA,GAEf,OAAO;EACL,MAAM;EACN,QAAQ;EACR,MAAM,CAJS,iBAAiB,GAAG,OAIvB,CAAC,CAAC,KAAK,IAAI;EACvB,SAAS,uEAAuE,QAAQ,KAAK,IAAI,EAAE;CACrG;CAEF,MAAM,OAAO,YAAY,CAAC,SAAS,SAAS,IAAI,IAAI,OAAO;CAC3D,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,MAAM,GAAG,qDAAqD,QAAQ,KAAK,IAAI,EAAE;CACrH,OAAO;EACL,MAAM;EACN,QAAQ;EACR,MAAM,QAAQ,KAAK,IAAI;EACvB,SAAS,GAAG,WAAW;CACzB;AACF;AAEA,SAAS,YAAY,KAAa,KAAa,SAA6B;CAC1E,MAAM,OAAO,KAAK,KAAK,cAAc;CACrC,MAAM,WAAW,KAAK,IAAI;CAC1B,MAAM,QAAQ,IAAI;CAClB,IAAI,aAAa,KAAA,GAAW;EAE1B,MAAM,WAAW;GACf,OAFWA,QAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,QAAA,CAExC,YAAY,CAAC,CAAC,QAAQ,kBAAkB,GAAG,KAAK;GAC3D,SAAS;GACT,MAAM;GACN,SAAS,EAAE,MAAM,aAAa;GAC9B,iBAAiB,GAAG,MAAM,MAAM;EAClC;EACA,OAAO;GACL,MAAM;GACN,QAAQ;GACR,MAAM,8BAA8B;GACpC,SAAS,GAAG,KAAK,UAAU,UAAU,MAAM,CAAC,EAAE;EAChD;CACF;CACA,IAAI;CACJ,IAAI;EACF,WAAW,KAAK,MAAM,QAAQ;CAChC,SAAS,OAAO;EACd,MAAM,IAAI,WAAW,kCAAmC,MAAgB,SAAS;CACnF;CACA,MAAM,QAAkB,CAAC;CACzB,MAAM,UAAU,EAAE,GAAI,SAAS,QAA+C;CAC9E,IAAI,CAAC,QAAQ,MAAM;EACjB,QAAQ,OAAO;EACf,SAAS,UAAU;EACnB,MAAM,KAAK,aAAa;CAC1B;CACA,MAAM,OAAO,SAAS;CACtB,MAAM,UAAU,EAAE,GAAI,SAAS,gBAAuD;CACtF,IAAI,CAAC,OAAO,QAAQ,CAAC,QAAQ,MAAM;EACjC,QAAQ,OAAO;EACf,SAAS,kBAAkB;EAC3B,MAAM,KAAK,iBAAiB,KAAK;CACnC;CACA,IAAI,CAAC,MAAM,QACT,OAAO;EAAE,MAAM;EAAgB,QAAQ;EAAQ,MAAM,0BAA0B;CAAM;CAEvF,MAAM,SAAS,WAAW,KAAK,QAAQ,CAAC,GAAG,MAAM;CACjD,OAAO;EACL,MAAM;EACN,QAAQ;EACR,MAAM,MAAM,KAAK,IAAI;EACrB,SAAS,GAAG,KAAK,UAAU,UAAU,MAAM,MAAM,EAAE;CACrD;AACF;;AAGA,SAAgB,SAAS,SAMZ;CACX,MAAM,EAAE,KAAK,QAAQ,OAAO,KAAK,YAAY;CAC7C,MAAM,YAAsB,CAAC;CAC7B,MAAM,QAAQ,aAAa,QAAQ,MAAM,MAAM,sBAAsB,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC;CAC7F,IAAI,MAAM,UAAU,CAAC,OAAO,UAAU,KAAK,GAAG,MAAM,KAAK,IAAI,EAAE,gBAAgB;CAC/E,MAAM,OAAO,UAAU,MAAM;CAgB7B,OAAO;EAAE;EAAK,SAAA;GAdZ,MACE,KACA,oBACA,aAAa,KAAK,MAAM,GACxB,OACI,WAAW,OAAO,IAAI,EAAE,gCACxB,wCACJ,OACA,SACF;GACA,MAAM,KAAK,WAAW,WAAW,GAAG,GAAG,sCAAsC,OAAO,SAAS;GAC7F,UAAU,GAAG;GACb,YAAY,KAAK,KAAK,OAAO;EAEX;EAAG;CAAU;AACnC;;AAGA,eAAsB,WAAW,OAAiB,QAAuC;CACvF,MAAM,QAAQ;EACZ;EACA,GAAG,eAAe,KAAK,GAAG,MAAM,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG;EAC7F,KAAK,QAAQ,OAAO;CACtB;CACA,OAAO,MAAM,GAAG,MAAM,KAAK,IAAI,EAAE,GAAG;CACpC,MAAM,KAAK,gBAAgB;EAAE;EAAO,UAAU;CAAM,CAAC;CACrD,MAAM,UAAU,GAAG,OAAO,cAAc,CAAC;CACzC,IAAI;EACF,SAAS;GACP,OAAO,MAAM,aAAa;GAC1B,MAAM,OAAO,MAAM,QAAQ,KAAK;GAChC,IAAI,KAAK,MACP,MAAM,IAAI,WAAW,4DAA4D;GACnF,MAAM,SAAS,OAAO,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY;GACrD,IAAI,CAAC,QAAQ,OAAO;GACpB,MAAM,WAAW,QAAQ,OAAO,MAAM,IAAI;GAC1C,IAAI,QAAQ,KAAK,MAAM,KAAK,UAAU,OAAO;GAC7C,MAAM,SAAS,QAAQ,MACpB,MAAM,MAAM,UAAU,UAAU,CAAC,CAAC,EAAE,MAAM,YAAY,MAAM,MAC/D;GACA,IAAI,QAAQ,OAAO;GACnB,OAAO,MAAM,eAAe,QAAQ,OAAO,cAAc,QAAQ,KAAK,IAAI,EAAE,IAAI;EAClF;CACF,UAAU;EACR,GAAG,MAAM;CACX;AACF;AAEA,SAAS,eAAe,KAAgD;CACtE,KAAK,IAAI,IAAI,QAAQ,GAAG,IAAK,IAAI,QAAQ,CAAC,GAAG;EAC3C,IAAI,WAAW,KAAK,GAAG,gBAAgB,CAAC,GACtC,OAAO;GAAE,SAAS;GAAgB,MAAM;EAAc;EACxD,IAAI,WAAW,KAAK,GAAG,WAAW,CAAC,GAAG,OAAO;GAAE,SAAS;GAAQ,MAAM;EAAc;EACpF,IAAI,WAAW,KAAK,GAAG,UAAU,CAAC,GAAG,OAAO;GAAE,SAAS;GAAe,MAAM;EAAc;EAC1F,IAAI,WAAW,KAAK,GAAG,mBAAmB,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG;CACpE;CACA,OAAO;EAAE,SAAS;EAAe,MAAM;CAAa;AACtD;;AAUA,eAAsB,YAAY,OAAc,MAAgB,IAA6B;CAC3F,MAAM,WAAW,KAAK,MAAM,aAAa,KAAK,aAAa,cAAc,GAAG,MAAM,CAAC;CACnF,MAAM,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,GAAG;CAC1C,IAAI;CACJ,IAAI,MAAM,YAAY,KAAA,GAAW;EAC/B,MAAM,QAAQ,MAAM,QAAQ,YAAY;EACxC,IAAI,CAAC,QAAQ,SAAS,KAAK,GACzB,MAAM,IAAI,WAAW,4BAA4B,QAAQ,KAAK,IAAI,EAAE,QAAQ,MAAM,QAAQ,EAAE;EAE9F,SAAS;CACX,OAAO,IAAI,MAAM,KAAK,SAAS;MAC1B,IAAI,GAAG,MAAM,OAAO,SAAS,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM;MAEpE,MAAM,IAAI,WACR,gHACF;CAEF,MAAM,OAAO,SAAS;EACpB;EACA;EACA,OAAO,CAAC,CAAC,MAAM;EACf,KAAK,SAAS;EACd,SAAS,SAAS;CACpB,CAAC;CACD,MAAM,QAAQA,QAAM,SAAS,GAAG,KAAK,GAAG,CAAC,KAAK;CAC9C,IAAI,KAAK,UAAU,QACjB,MAAM,IAAI,WACR,wCAAwC,MAAM,IAAI,KAAK,UAAU,KAAK,IAAI,EAAE,uDAC9E;CAEF,MAAM,MAAM,CAAC,CAAC,MAAM;CACpB,GAAG,IAAI,iBAAiB,QAAQ,MAAM,kCAAkC,IAAI;CAC5E,MAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,QAAQ,KAAK,MAAM,EAAE,KAAK,MAAM,CAAC;CAChE,KAAK,MAAM,KAAK,KAAK,SACnB,GAAG,IAAI,KAAK,EAAE,OAAO,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM;CAErE,IAAI,CAAC,KACH,KAAK,MAAM,KAAK,KAAK,SAAS;EAC5B,IAAI,EAAE,YAAY,KAAA,GAAW;EAC7B,MAAM,OAAO,KAAK,KAAK,GAAG,EAAE,KAAK,MAAM,GAAG,CAAC;EAC3C,UAAU,QAAQ,IAAI,GAAG,EAAE,WAAW,KAAK,CAAC;EAC5C,cAAc,MAAM,EAAE,OAAO;CAC/B;CAEF,MAAM,KAAK,eAAe,GAAG;CAC7B,MAAM,OAAO,UAAU,MAAM;CAC7B,MAAM,OAAgC;EACpC,GAAI,UAAU,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,SAAS,EAAE,CAAqB;EACjE,CAAC,GAAG,SAAS,EAAE;EACf,CACE,GAAG,GAAG,KAAK,MAAM,OAAO,oBAAoB,MAC5C,+CACF;EACA,GAAI,OACC,CACC,CAAC,GAAG,GAAG,KAAK,eAAe,SAAS,KAAK,MAAM,uCAAuC,GACtF,CAAC,GAAG,GAAG,KAAK,OAAO,MAAM,KAAK,MAAM,SAAS,MAAM,IAAI,EAAE,eAAe,CAC1E,IACA,CAAC;CACP;CACA,MAAM,MAAM,KAAK,IAAI,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;CACnD,GAAG,IAAI,UAAU,KAAK,KAAK,CAAC,GAAG,OAAO,KAAK,IAAI,GAAG,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG;CAC3F,OAAO;AACT"}
@@ -0,0 +1 @@
1
+ export { a as initCommand } from "./init-B77Rpcqc.js";
@@ -1,6 +1,6 @@
1
1
  import { o as redactSecrets, s as registerSecret, t as REDACTED } from "./redact-DJ9JCShu.js";
2
- import { a as readableCliInvocation } from "./record-BRP9vZrj.js";
3
- import { n as FLAGS, t as COMMANDS } from "./cli-spec-CKEYa8V2.js";
2
+ import { a as readableCliInvocation } from "./record-BKmMvZ6O.js";
3
+ import { c as isFlagName, n as FLAGS, t as COMMANDS } from "./cli-spec-BPZbQG2p.js";
4
4
  import { existsSync, readFileSync, realpathSync, writeFileSync } from "node:fs";
5
5
  import { homedir } from "node:os";
6
6
  import { join } from "node:path";
@@ -88,7 +88,7 @@ function redactArgv(argv) {
88
88
  const eq = arg.indexOf("=");
89
89
  const head = eq === -1 ? arg : arg.slice(0, eq);
90
90
  const name = head.startsWith("--") ? head.slice(2) : shortFlag(head.slice(1));
91
- const spec = name && name in FLAGS ? FLAGS[name] : void 0;
91
+ const spec = name && isFlagName(name) ? FLAGS[name] : void 0;
92
92
  if (!spec) {
93
93
  out.push("<flag>");
94
94
  continue;
@@ -154,4 +154,4 @@ function logInvocation(root, entry) {
154
154
  //#endregion
155
155
  export { redactArgv as a, masks as i, readInvocations as n, registerEnvFileValues as o, commandOf as r, scrubber as s, logInvocation as t };
156
156
 
157
- //# sourceMappingURL=invocations-CLaL8AuW.js.map
157
+ //# sourceMappingURL=invocations-DbGfBAA_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"invocations-CLaL8AuW.js","names":[],"sources":["../src/report/scrub.ts","../src/report/invocations.ts"],"mappings":"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"}
1
+ {"version":3,"file":"invocations-DbGfBAA_.js","names":[],"sources":["../src/report/scrub.ts","../src/report/invocations.ts"],"mappings":";;;;;;;;AAcA,MAAM,YAAY,SAA6B;CAC7C,IAAI,CAAC,QAAQ,SAAS,OAAO,KAAK,SAAS,GAAG,OAAO,CAAC;CACtD,MAAM,sBAAM,IAAI,IAAI,CAAC,KAAK,QAAQ,WAAW,EAAE,CAAC,CAAC;CACjD,IAAI;EACF,IAAI,IAAI,aAAa,IAAI,CAAC;CAC5B,QAAQ,CAAC;CACT,KAAK,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,SAAS,IAAI,GAAG,IAAI,IAAI,EAAE,WAAW,MAAM,GAAG,CAAC;CAE/E,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM;AACpD;;;;;AAMA,SAAgB,UACd,MACA,MACA,OAAiC,aAAa,QAC1B;CACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,KAAA;CAC3B,IAAI;CACJ,IAAI;EACF,OAAO,KAAK,IAAI;CAClB,QAAQ;EACN;CACF;CACA,MAAM,SAAS,MAAc,EAAE,YAAY,CAAC,CAAC,QAAQ,WAAW,EAAE;CAClE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,MAAM,IAAI,CAAC,GAAG,OAAO,KAAA;CACjD,MAAM,SAAS,KAAK,QAAQ,WAAW,EAAE,CAAC,CAAC,MAAM,KAAK,QAAQ,WAAW,EAAE,CAAC,CAAC,MAAM;CACnF,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,OAAO,YAAY,CAAC,GAAG,OAAO,KAAA;CACnE,MAAM,QAAQ,KAAK,QAAQ,WAAW,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,MAAM;CACjE,OAAO,MAAM,KAAK,MAAM,MAAM,IAAI,IAAI,KAAA,IAAY;AACpD;AAEA,SAAgB,SAAS,SAIZ;CACX,MAAM,UAAU,SAAS,QAAQ,OAAO;CACxC,MAAM,QAAQ,UAAU,QAAQ,MAAM,QAAQ,IAAI,QAAQ,QAAQ,IAAI,GAAG;CACzE,MAAM,OAAO,CAAC,GAAG,SAAS,QAAQ,IAAI,GAAG,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM;CAC/F,MAAM,WAAW,MAAc,OAAiB,OAAe;EAC7D,IAAI,MAAM;EACV,KAAK,MAAM,QAAQ,OAAO,MAAM,IAAI,WAAW,MAAM,EAAE;EACvD,OAAO;CACT;CACA,MAAM,QAAQ,UACZ,QAAQ,QAAQ,cAAc,OAAO,QAAQ,GAAG,GAAG,SAAS,WAAW,GAAG,MAAM,GAAG;CACrF,MAAM,SAAY,UAAgB;EAChC,IAAI,OAAO,UAAU,UAAU,OAAO,KAAK,KAAK;EAChD,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,MAAM,IAAI,KAAK;EAChD,IAAI,SAAS,OAAO,UAAU,UAC5B,OAAO,OAAO,YAAY,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;EAEtF,OAAO;CACT;CACA,OAAO;EAAE;EAAM;EAAO,OAAO,CAAC,KAAK,GAAI,QAAQ,SAAS,CAAC,WAAW,IAAI,CAAC,CAAE;CAAE;AAC/E;;AAGA,MAAa,SAAS,SAAiB,KAAK,MAAM,QAAQ,CAAC,CAAC,SAAS;;;;;AAMrE,SAAgB,sBAAsB,UAAwB;CAC5D,KAAK,MAAM,SAAS,OAAO,OAAO,SAAS,QAAQ,CAAC,GAClD,IAAI,SAAS,MAAM,UAAU,GAAG,eAAe,KAAK;AAExD;AAEA,MAAM,aAAa,WAChB,OAAO,QAAQ,KAAK,CAAC,CAAiD,MACpE,GAAG,OAAO,WAAW,KAAK,EAAE,UAAU,MACzC,CAAC,GAAG;;;;;;AAON,SAAgB,WAAW,MAA0B;CACnD,MAAM,MAAgB,CAAC;CACvB,IAAI,WAAgD;CACpD,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACpC,MAAM,MAAM,KAAK;EACjB,IAAI,QAAQ,MAAM;GAChB,IAAI,KAAK,MAAM,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC;GACtD;EACF;EACA,IAAI,QAAQ,KAAK,GAAG,GAAG;GACrB,IAAI,KAAK,GAAG;GACZ;EACF;EACA,IAAI,IAAI,WAAW,GAAG,KAAK,QAAQ,KAAK;GACtC,MAAM,KAAK,IAAI,QAAQ,GAAG;GAC1B,MAAM,OAAO,OAAO,KAAK,MAAM,IAAI,MAAM,GAAG,EAAE;GAC9C,MAAM,OAAO,KAAK,WAAW,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,UAAU,KAAK,MAAM,CAAC,CAAC;GAC5E,MAAM,OAAO,QAAQ,WAAW,IAAI,IAAI,MAAM,QAAQ,KAAA;GACtD,IAAI,CAAC,MAAM;IACT,IAAI,KAAK,QAAQ;IACjB;GACF;GACA,IAAI,OAAO,IAAI,IAAI,KAAK,GAAG,KAAK,SAAS;QACpC;IACH,IAAI,KAAK,IAAI;IACb,IAAI,KAAK,SAAS,YAAY,IAAI,IAAI,KAAK,QAAQ;KACjD,IAAI,KAAK,SAAS;KAClB;IACF;GACF;GACA;EACF;EACA,MAAM,UAAU,WAAW;EAC3B,IAAI,SAAS;GACX,IAAI,KAAK,GAAG;GACZ,WAAW,aAAa,WAAW,QAAQ,MAAM,KAAA;GACjD;EACF;EACA,WAAW,KAAA;EACX,IAAI,KAAK,OAAO;CAClB;CACA,OAAO;AACT;;AAGA,SAAgB,UAAU,MAA+B;CACvD,MAAM,QAAQ,WAAW,IAAI,CAAC,CAAC,QAAQ,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,EAAE,WAAW,GAAG,CAAC;CACrF,OAAO,MAAM,SAAS,MAAM,KAAK,GAAG,IAAI;AAC1C;;;ACrIA,MAAa,mBAAmB,SAAiB,KAAK,MAAM,WAAW,WAAW;;AAGlF,SAAgB,gBAAgB,MAA+B;CAC7D,MAAM,OAAO,gBAAgB,IAAI;CACjC,IAAI,CAAC,WAAW,IAAI,GAAG,OAAO,CAAC;CAC/B,OAAO,aAAa,MAAM,MAAM,CAAC,CAC9B,MAAM,IAAI,CAAC,CACX,SAAS,SAAS;EACjB,IAAI,CAAC,KAAK,KAAK,GAAG,OAAO,CAAC;EAC1B,IAAI;GACF,OAAO,CAAC,sBAAsB,KAAK,MAAM,IAAI,CAAkB,CAAC;EAClE,QAAQ;GACN,OAAO,CAAC;EACV;CACF,CAAC;AACL;;;;;AAMA,SAAgB,cAAc,MAAc,OAA4B;CACtE,IAAI;EACF,IAAI,CAAC,WAAW,KAAK,MAAM,SAAS,CAAC,GAAG;EACxC,MAAM,QAAQ,SAAS;GAAE,KAAK,QAAQ;GAAK,MAAM,QAAQ;GAAG,SAAS;EAAK,CAAC;EAC3E,MAAM,QAAQ,CAAC,GAAG,gBAAgB,IAAI,GAAG,MAAM,MAAM,KAAK,CAAC,CAAC,CACzD,MAAM,GAAiB,CAAC,CACxB,KAAK,MAAM,KAAK,UAAU,CAAC,CAAC;EAC/B,cAAc,gBAAgB,IAAI,GAAG,GAAG,MAAM,KAAK,IAAI,EAAE,GAAG;CAC9D,QAAQ,CAAC;AACX"}
@@ -64,7 +64,7 @@ async function withRetries(call, policy, signal) {
64
64
  //#endregion
65
65
  //#region src/judge/index.ts
66
66
  /** The judge the docs recommend, pinned so a model update never silently moves scores. */
67
- const RECOMMENDED_JUDGE_MODEL = "typesafe-ai/jev-1.13.0";
67
+ const RECOMMENDED_JUDGE_MODEL = "typesafe-ai/jev-1.14.0";
68
68
  const DEFAULT_THRESHOLD = .8;
69
69
  const GATEWAY_KEYS = ["AI_GATEWAY_API_KEY", "VERCEL_OIDC_TOKEN"];
70
70
  /** Providers reeval calls directly, through their own AI SDK package, when their key is set. */
@@ -85,21 +85,13 @@ function judgeModelName(model) {
85
85
  const m = model;
86
86
  return m.provider && m.modelId ? `${m.provider}/${m.modelId}` : "custom";
87
87
  }
88
- /** Checks a model string's shape; returns an error message, or undefined when it's valid. */
89
- function checkModelString(model) {
88
+ /**
89
+ * Checks a model string's shape; returns an error message naming it as `what` (with where it was
90
+ * set), or undefined when it's valid.
91
+ */
92
+ function checkModelString(model, what = "The judge model", examples = [RECOMMENDED_JUDGE_MODEL, `google/${model}`]) {
90
93
  if (model.includes("/")) return void 0;
91
- return `Judge model "${model}" needs a provider prefix, e.g. "${RECOMMENDED_JUDGE_MODEL}" or "google/${model}"`;
92
- }
93
- /** The first of `include` and `files` that isn't a list of non-empty strings, with its value. */
94
- function badJudgeList(judge) {
95
- for (const key of ["include", "files"]) {
96
- const value = judge[key];
97
- if (value === void 0) continue;
98
- if (!Array.isArray(value) || value.some((p) => typeof p !== "string" || !p.trim())) return {
99
- key,
100
- got: JSON.stringify(value) ?? String(value)
101
- };
102
- }
94
+ return `${what} needs a provider prefix, e.g. ${examples.map((e) => `"${e}"`).join(" or ")} (got "${model}")`;
103
95
  }
104
96
  const providerOf = (model) => model.slice(0, model.indexOf("/"));
105
97
  /** Environment variables the judge model needs, as alternatives: any one of them is enough. */
@@ -121,7 +113,7 @@ function judgeRoute(model, env = process.env) {
121
113
  pkg: direct.pkg
122
114
  };
123
115
  if (GATEWAY_KEYS.some((k) => env[k])) return { kind: "gateway" };
124
- const options = direct ? `Set ${direct.key} to call ${direct.pkg} directly, or AI_GATEWAY_API_KEY (or VERCEL_OIDC_TOKEN) to go through the Vercel AI Gateway.` : "Set AI_GATEWAY_API_KEY (or VERCEL_OIDC_TOKEN) to go through the Vercel AI Gateway.";
116
+ const options = direct ? `Set ${direct.key} to call ${direct.pkg} directly, or AI_GATEWAY_API_KEY (or VERCEL_OIDC_TOKEN) to go through the Vercel AI Gateway, in the environment or .env.local.` : "Set AI_GATEWAY_API_KEY (or VERCEL_OIDC_TOKEN) to go through the Vercel AI Gateway, in the environment or .env.local.";
125
117
  throw new Error(`No credentials for judge model "${model}". ${options}`);
126
118
  }
127
119
  /** Transient provider errors (429, 5xx, "high demand") are retried with backoff and recorded. */
@@ -136,7 +128,7 @@ async function runJudge(question, state, options, signal, retry = JUDGE_RETRY) {
136
128
  const problem = checkModelString(model);
137
129
  if (problem) throw new Error(problem);
138
130
  }
139
- const { scoreWithModel } = await import("./model-DEQo3FkZ.js");
131
+ const { scoreWithModel } = await import("./model-DaVCY3rb.js");
140
132
  const scored = await withRetries(() => scoreWithModel(model, question, state, options.providerOptions, signal), retry, signal);
141
133
  ({score, resolvedModel} = scored.value);
142
134
  retries = scored.retries;
@@ -154,6 +146,6 @@ async function runJudge(question, state, options, signal, retry = JUDGE_RETRY) {
154
146
  };
155
147
  }
156
148
  //#endregion
157
- export { checkModelString as a, judgeModelName as c, isApiError as d, badJudgeList as i, judgeRoute as l, DIRECT_PROVIDERS as n, isFakeJudge as o, RECOMMENDED_JUDGE_MODEL as r, judgeCredentials as s, DEFAULT_THRESHOLD as t, runJudge as u };
149
+ export { isFakeJudge as a, judgeRoute as c, checkModelString as i, runJudge as l, DIRECT_PROVIDERS as n, judgeCredentials as o, RECOMMENDED_JUDGE_MODEL as r, judgeModelName as s, DEFAULT_THRESHOLD as t, isApiError as u };
158
150
 
159
- //# sourceMappingURL=judge-CeYPN8P_.js.map
151
+ //# sourceMappingURL=judge-DW_GDOmB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"judge-CeYPN8P_.js","names":["sleep"],"sources":["../src/judge/retry.ts","../src/judge/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"judge-DW_GDOmB.js","names":["sleep"],"sources":["../src/judge/retry.ts","../src/judge/index.ts"],"mappings":"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"}
package/dist/judge.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { D as ConfigJudgeOptions, K as FakeJudgeModel, Nt as Verdict, W as FakeAnalysisModel, X as FakeVote, at as JudgeArtifactRef, ct as JudgeModel, lt as JudgeOptions, n as AnalysisConfig, o as BlindPair, ot as JudgeCallOptions, q as FakeNoteInput, st as JudgeFailure, ut as JudgeState } from "./types-D8RLfkFP.js";
1
+ import { D as ConfigJudgeOptions, K as FakeJudgeModel, Lt as Verdict, W as FakeAnalysisModel, X as FakeVote, ct as JudgeCallOptions, dt as JudgeOptions, ft as JudgeState, lt as JudgeFailure, n as AnalysisConfig, o as BlindPair, q as FakeNoteInput, st as JudgeArtifactRef, ut as JudgeModel } from "./types-g17bRAzt.js";
2
2
  //#region src/judge/index.d.ts
3
3
  /** The judge the docs recommend, pinned so a model update never silently moves scores. */
4
- export declare const RECOMMENDED_JUDGE_MODEL = "typesafe-ai/jev-1.13.0";
4
+ export declare const RECOMMENDED_JUDGE_MODEL = "typesafe-ai/jev-1.14.0";
5
5
  export declare const DEFAULT_THRESHOLD = 0.8;
6
6
  //#endregion
7
7
  //#region src/judge.d.ts
package/dist/judge.js CHANGED
@@ -1,4 +1,4 @@
1
- import { r as RECOMMENDED_JUDGE_MODEL, t as DEFAULT_THRESHOLD } from "./judge-CeYPN8P_.js";
1
+ import { r as RECOMMENDED_JUDGE_MODEL, t as DEFAULT_THRESHOLD } from "./judge-DW_GDOmB.js";
2
2
  //#region src/judge.ts
3
3
  /**
4
4
  * A judge that returns `score` without calling a model, for tests and dry runs. `score` can be a
@@ -1,4 +1,5 @@
1
- import { n as fillDefaults } from "./record-BRP9vZrj.js";
1
+ import { n as isOneOf } from "./object-CLf2-tNq.js";
2
+ import { n as fillDefaults } from "./record-BKmMvZ6O.js";
2
3
  //#region src/view/live.ts
3
4
  /** The progress file's name inside the run's staging directory. */
4
5
  const LIVE_FILE = "live.json";
@@ -40,14 +41,8 @@ const orNull = (v, is) => v === null || v === void 0 || is(v);
40
41
  function readableAttempt(v) {
41
42
  if (!isObj(v)) return null;
42
43
  const { key, evalId, name, file, cell, n, status, startedAt, durationMs } = v;
43
- if (![
44
- key,
45
- evalId,
46
- name,
47
- file,
48
- cell
49
- ].every(str) || !num(n)) return null;
50
- if (!STATUSES.includes(status)) return null;
44
+ if (!str(key) || !str(evalId) || !str(name) || !str(file) || !str(cell) || !num(n)) return null;
45
+ if (!isOneOf(STATUSES, status)) return null;
51
46
  if (!orNull(startedAt, str) || !orNull(durationMs, num)) return null;
52
47
  return {
53
48
  key,
@@ -69,16 +64,10 @@ function readableLiveProgress(value) {
69
64
  if (!isObj(value) || value.schemaVersion !== 1) return null;
70
65
  fillDefaults("live-progress", value);
71
66
  const { runId, startedAt, pid, host, heartbeatAt, phase, attempts } = value;
72
- if (![
73
- runId,
74
- startedAt,
75
- host,
76
- heartbeatAt
77
- ].every(str) || !num(pid)) return null;
78
- if (!PHASES.includes(phase) || !Array.isArray(attempts)) return null;
79
- const read = attempts.map(readableAttempt);
80
- if (read.some((a) => a === null)) return null;
81
- const list = read;
67
+ if (!str(runId) || !str(startedAt) || !str(host) || !str(heartbeatAt) || !num(pid)) return null;
68
+ if (!isOneOf(PHASES, phase) || !Array.isArray(attempts)) return null;
69
+ const list = attempts.map(readableAttempt);
70
+ if (!list.every((a) => a !== null)) return null;
82
71
  return {
83
72
  schemaVersion: 1,
84
73
  runId,
@@ -95,4 +84,4 @@ function readableLiveProgress(value) {
95
84
  //#endregion
96
85
  export { liveApiPath as a, readableLiveProgress as c, isFinished as i, LIVE_FILE as n, liveCounts as o, LIVE_SCHEMA_VERSION as r, liveTranscriptPath as s, FINISHED as t };
97
86
 
98
- //# sourceMappingURL=live-S0qODb6o.js.map
87
+ //# sourceMappingURL=live-jlfszAbb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-jlfszAbb.js","names":[],"sources":["../src/view/live.ts"],"mappings":";;;;AAQA,MAAa,YAAY;AACzB,MAAa,sBAAsB;AAsDnC,MAAa,cAAc;AAC3B,MAAa,sBAAsB,OAAe,eAChD,YAAY,MAAM,sBAAsB,mBAAmB,UAAU;AAEvE,MAAa,WAAkC;CAAC;CAAQ;CAAQ;CAAe;AAAS;AACxF,MAAa,cAAc,WAAuB,SAAS,SAAS,MAAM;AAE1E,SAAgB,WAAW,UAA8D;CACvF,MAAM,SAAS,GAAG,aAChB,SAAS,QAAQ,MAAM,SAAS,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD,OAAO;EACL,MAAM,MAAM,GAAG,QAAQ;EACvB,QAAQ,MAAM,MAAM;EACpB,QAAQ,MAAM,MAAM;EACpB,SAAS,MAAM,aAAa;EAC5B,SAAS,MAAM,SAAS;EACxB,SAAS,MAAM,SAAS;CAC1B;AACF;AAEA,MAAM,WAAkC;CAAC;CAAU;CAAW,GAAG;AAAQ;AACzE,MAAM,SAA+B;CAAC;CAAW;CAAc;AAAW;AAC1E,MAAM,SAAS,MACb,OAAO,MAAM,YAAY,MAAM,QAAQ,CAAC,MAAM,QAAQ,CAAC;AACzD,MAAM,OAAO,MAA4B,OAAO,MAAM;AACtD,MAAM,OAAO,MAA4B,OAAO,MAAM,YAAY,OAAO,SAAS,CAAC;AACnF,MAAM,UAAa,GAAY,OAC7B,MAAM,QAAQ,MAAM,KAAA,KAAa,GAAG,CAAC;AAEvC,SAAS,gBAAgB,GAAgC;CACvD,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO;CACtB,MAAM,EAAE,KAAK,QAAQ,MAAM,MAAM,MAAM,GAAG,QAAQ,WAAW,eAAe;CAC5E,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO;CAC3F,IAAI,CAAC,QAAQ,UAAU,MAAM,GAAG,OAAO;CACvC,IAAI,CAAC,OAAO,WAAW,GAAG,KAAK,CAAC,OAAO,YAAY,GAAG,GAAG,OAAO;CAChE,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW,aAAa;EACxB,YAAY,cAAc;CAC5B;AACF;;;;;AAMA,SAAgB,qBAAqB,OAAqC;CACxE,IAAI,CAAC,MAAM,KAAK,KAAK,MAAM,kBAAA,GAAuC,OAAO;CACzE,aAAa,iBAAiB,KAAK;CACnC,MAAM,EAAE,OAAO,WAAW,KAAK,MAAM,aAAa,OAAO,aAAa;CACtE,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,IAAI,GAAG,GAAG,OAAO;CAC3F,IAAI,CAAC,QAAQ,QAAQ,KAAK,KAAK,CAAC,MAAM,QAAQ,QAAQ,GAAG,OAAO;CAChE,MAAM,OAAO,SAAS,IAAI,eAAe;CACzC,IAAI,CAAC,KAAK,OAAO,MAAM,MAAM,IAAI,GAAG,OAAO;CAC3C,OAAO;EACL,eAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS,KAAK;EACd,QAAQ,WAAW,IAAI;EACvB,UAAU;CACZ;AACF"}
@@ -0,0 +1,118 @@
1
+ import { t as isObjectLike } from "./object-CLf2-tNq.js";
2
+ import { a as changed, c as ran, i as calledTool, l as searched, n as calledMcp, o as edited, r as calledSkill, s as fetched } from "./assert-EUIoRdIt.js";
3
+ import { isDeepStrictEqual } from "node:util";
4
+ //#region src/matchers.ts
5
+ const matcher = (run) => run;
6
+ /** The last `lines` lines, and at most `chars` characters of them: one line can be megabytes. */
7
+ const tail = (s, lines = 20, chars = 2e3) => {
8
+ const last = s.trimEnd().split("\n").slice(-lines).join("\n");
9
+ return last.length <= chars ? last : `[… ${last.length - chars} earlier characters]${last.slice(-chars)}`;
10
+ };
11
+ const hasFiles = (value) => isObjectLike(value) && typeof value.readFile === "function";
12
+ const show = (value) => {
13
+ if (typeof value === "string") return `'${value}'`;
14
+ try {
15
+ return JSON.stringify(value) ?? String(value);
16
+ } catch {
17
+ return String(value);
18
+ }
19
+ };
20
+ const MATCHERS = {
21
+ toBe: matcher((actual, [expected]) => {
22
+ const pass = Object.is(actual, expected);
23
+ return {
24
+ pass,
25
+ message: () => pass ? `expected ${show(actual)} not to be ${show(expected)} // Object.is equality` : `expected ${show(actual)} to be ${show(expected)} // Object.is equality`
26
+ };
27
+ }),
28
+ toEqual: matcher((actual, [expected]) => {
29
+ const pass = isDeepStrictEqual(actual, expected);
30
+ return {
31
+ pass,
32
+ message: () => pass ? `expected ${show(actual)} not to deeply equal ${show(expected)}` : `expected ${show(actual)} to deeply equal ${show(expected)}`
33
+ };
34
+ }),
35
+ toBeNull: matcher((actual, _) => ({
36
+ pass: actual === null,
37
+ message: () => actual === null ? `expected ${show(actual)} not to be null` : `expected ${show(actual)} to be null`
38
+ })),
39
+ toBeTruthy: matcher((actual, _) => ({
40
+ pass: !!actual,
41
+ message: () => actual ? `expected ${show(actual)} to be falsy` : `expected ${show(actual)} to be truthy`
42
+ })),
43
+ toContain: matcher((actual, [needle]) => {
44
+ const pass = typeof actual === "string" && typeof needle === "string" ? actual.includes(needle) : Array.isArray(actual) && actual.includes(needle);
45
+ return {
46
+ pass,
47
+ message: () => pass ? `expected ${show(actual)} not to contain ${show(needle)}` : `expected ${show(actual)} to contain ${show(needle)}`
48
+ };
49
+ }),
50
+ toHaveFile: matcher(async (actual, [path, pattern]) => {
51
+ if (!hasFiles(actual)) throw new TypeError("toHaveFile() expects a turn from c.send(), or c");
52
+ const content = await actual.readFile(path);
53
+ if (content === null) return {
54
+ pass: false,
55
+ message: () => `expected file ${path} to exist`
56
+ };
57
+ if (pattern === void 0) return {
58
+ pass: true,
59
+ message: () => `expected no file at ${path}`
60
+ };
61
+ const pass = typeof pattern === "string" ? content.includes(pattern) : pattern.test(content);
62
+ return {
63
+ pass,
64
+ message: () => `expected ${path} ${pass ? "not " : ""}to match ${pattern}\n--- ${path} ---\n${tail(content)}`
65
+ };
66
+ }),
67
+ toSucceed: matcher(async (actual, _) => {
68
+ const r = await actual;
69
+ if (typeof r?.exitCode !== "number") throw new TypeError("toSucceed() expects run.exec(...)");
70
+ return {
71
+ pass: r.exitCode === 0,
72
+ message: () => r.exitCode === 0 ? "expected command to fail" : `expected command to succeed, exit code ${r.exitCode}\n--- stderr ---\n${tail(r.stderr)}\n--- stdout ---\n${tail(r.stdout)}`
73
+ };
74
+ }),
75
+ toHaveSearched: matcher((actual, [query]) => searched(actual, query)),
76
+ toHaveFetched: matcher((actual, [url]) => fetched(actual, url)),
77
+ toHaveCalledSkill: matcher((actual, [name]) => calledSkill(actual, name)),
78
+ toHaveCalledMcp: matcher((actual, [server, tool, input]) => calledMcp(actual, server, tool, input)),
79
+ toHaveCalledTool: matcher((actual, [name, input]) => calledTool(actual, name, input)),
80
+ toHaveRun: matcher((actual, [command]) => ran(actual, command)),
81
+ toHaveEdited: matcher((actual, [path]) => edited(actual, path)),
82
+ toHaveChanged: matcher((actual, [paths]) => changed(actual, paths)),
83
+ toPass: matcher((actual, _, { not }) => {
84
+ const failure = actual;
85
+ if (failure?.verdict === "error" && typeof failure.error === "string") return {
86
+ pass: not,
87
+ message: () => `judge failed for "${failure.question}" (${failure.model}): ${failure.error}`
88
+ };
89
+ const v = actual;
90
+ if (typeof v?.score !== "number") throw new TypeError("toPass() expects a c.judge() verdict");
91
+ const score = v.score.toFixed(2);
92
+ return {
93
+ pass: v.verdict === "pass",
94
+ message: () => v.verdict === "pass" ? `expected judge to fail: score ${score} ≥ ${v.threshold} for "${v.question}"` : `judge score ${score} is below ${v.threshold} for "${v.question}" (${v.model})`
95
+ };
96
+ })
97
+ };
98
+ /** Vitest/Jest already ship these; the protocol table still runs them for Python and other SDKs. */
99
+ const GENERIC_MATCHERS = /* @__PURE__ */ new Set([
100
+ "toBe",
101
+ "toEqual",
102
+ "toBeNull",
103
+ "toBeTruthy",
104
+ "toContain"
105
+ ]);
106
+ const isMatcherName = (name) => Object.hasOwn(MATCHERS, name);
107
+ /** Runs `name`'s row on arguments its signature hasn't checked, as Chai and the protocol pass them. */
108
+ const runMatcher = (name, actual, args, flags) => MATCHERS[name](actual, args, flags);
109
+ /** The table as `expect.extend` takes it: Chai passes `.not` as `this.isNot`. */
110
+ const matchers = Object.fromEntries(Object.keys(MATCHERS).map((name) => [name, function(actual, ...args) {
111
+ return runMatcher(name, actual, args, { not: !!this?.isNot });
112
+ }]));
113
+ /** Chai `expect.extend` in eval workers: reeval-specific matchers only (not Jest's toEqual, …). */
114
+ const evalMatchers = Object.fromEntries(Object.keys(matchers).filter((name) => !GENERIC_MATCHERS.has(name)).map((name) => [name, matchers[name]]));
115
+ //#endregion
116
+ export { runMatcher as i, evalMatchers as n, isMatcherName as r, MATCHERS as t };
117
+
118
+ //# sourceMappingURL=matchers-Ddmc2z7H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchers-Ddmc2z7H.js","names":[],"sources":["../src/matchers.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { l as judgeRoute } from "./judge-CeYPN8P_.js";
1
+ import { c as judgeRoute } from "./judge-DW_GDOmB.js";
2
2
  import { i as debugTrace } from "./attempt-CGPV3BZY.js";
3
3
  import { experimental_decide } from "ai";
4
4
  import { google } from "@ai-sdk/google";
@@ -41,4 +41,4 @@ async function scoreWithModel(model, question, state, providerOptions, signal) {
41
41
  //#endregion
42
42
  export { scoreWithModel };
43
43
 
44
- //# sourceMappingURL=model-DEQo3FkZ.js.map
44
+ //# sourceMappingURL=model-DaVCY3rb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-DEQo3FkZ.js","names":["decide"],"sources":["../src/judge/model.ts"],"mappings":";;;;;;AASA,eAAe,aACb,OACwB;CACxB,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,MAAM,QAAQ,WAAW,KAAK;CAC9B,IAAI,MAAM,SAAS,WAAW,OAAO;CACrC,MAAM,KAAK,MAAM,MAAM,MAAM,SAAS,SAAS,CAAC;CAChD,IAAI,MAAM,aAAa,UAAU,OAAO,OAAO,cAAc,EAAE;CAC/D,MAAM,EAAE,eAAe,MAAM,OAAO;CACpC,OAAO,WAAW,cAAc,EAAE;AACpC;AAEA,eAAsB,eACpB,OACA,UACA,OACA,iBACA,QAC+D;CAC/D,MAAM,SAAS,MAAMA,oBAAO;EAC1B,OAAO,MAAM,aAAa,KAAK;EAC/B;EACA,WAAW,EAAE,QAAQ;GAAE,MAAM;GAAW,cAAc;EAAS,EAAE;EACjE;EACA,aAAa;EAEb,YAAY;CACd,CAAC;CACD,MAAM,EAAE,SAAS,OAAO,UAAU,UAAU,qBAAqB;CACjE,WACE,SACA,qBACA;EAAE;EAAS;EAAO;EAAU;EAAU;CAAiB,GACvD,yBACF;CACA,OAAO;EAAE,OAAO,OAAO,QAAQ,OAAO;EAAa,eAAe,OAAO,UAAU;CAAQ;AAC7F"}
1
+ {"version":3,"file":"model-DaVCY3rb.js","names":["decide"],"sources":["../src/judge/model.ts"],"mappings":";;;;;;AASA,eAAe,aACb,OACwB;CACxB,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,MAAM,QAAQ,WAAW,KAAK;CAC9B,IAAI,MAAM,SAAS,WAAW,OAAO;CACrC,MAAM,KAAK,MAAM,MAAM,MAAM,SAAS,SAAS,CAAC;CAChD,IAAI,MAAM,aAAa,UAAU,OAAO,OAAO,cAAc,EAAE;CAC/D,MAAM,EAAE,eAAe,MAAM,OAAO;CACpC,OAAO,WAAW,cAAc,EAAE;AACpC;AAEA,eAAsB,eACpB,OACA,UACA,OACA,iBACA,QAC+D;CAC/D,MAAM,SAAS,MAAMA,oBAAO;EAC1B,OAAO,MAAM,aAAa,KAAK;EAC/B;EACA,WAAW,EAAE,QAAQ;GAAE,MAAM;GAAW,cAAc;EAAS,EAAE;EACjE;EACA,aAAa;EAEb,YAAY;CACd,CAAC;CACD,MAAM,EAAE,SAAS,OAAO,UAAU,UAAU,qBAAqB;CACjE,WACE,SACA,qBACA;EAAE;EAAS;EAAO;EAAU;EAAU;CAAiB,GACvD,yBACF;CACA,OAAO;EAAE,OAAO,OAAO,QAAQ,OAAO;EAAa,eAAe,OAAO,UAAU;CAAQ;AAC7F"}
@@ -0,0 +1 @@
1
+ export { t as analysisModelName, n as callAnalysisModel, r as cannedModel, i as isFake, a as providerModel, o as questionModel, s as questionModelLabel, c as resolveAnalysisModel } from "./model-h_cDtcRr.js";
@@ -1,14 +1,14 @@
1
- import { n as UsageError } from "./errors-yDAEwmZo.js";
2
- import { l as judgeRoute, o as isFakeJudge } from "./judge-CeYPN8P_.js";
3
- import { Output, generateText } from "ai";
1
+ import { n as UsageError } from "./errors-B6BSMs03.js";
2
+ import { a as isFakeJudge, c as judgeRoute } from "./judge-DW_GDOmB.js";
4
3
  import { z } from "zod";
4
+ import { Output, generateText } from "ai";
5
5
  //#region src/analysis/schema.ts
6
6
  const confidence = z.enum([
7
7
  "high",
8
8
  "medium",
9
9
  "low"
10
10
  ]);
11
- const cites = z.array(z.string()).describe("Ids from the digest: F<n>, E<n>, E<n>:L<line>, an attempt id, or <attempt id>:check<n>");
11
+ const cites = z.array(z.string()).describe("Ids from the digest: F<n>, E<n>, E<n>:L<line>, an attempt id, or <attempt id>:exec<n>");
12
12
  const claim = z.object({
13
13
  text: z.string(),
14
14
  cites,
@@ -16,14 +16,14 @@ const claim = z.object({
16
16
  quotes: z.array(z.string()).optional().describe("Exact spans copied from the cited evidence, if the claim quotes any")
17
17
  });
18
18
  const analysisSchema = z.object({
19
- tldr: z.string().describe("One sentence: what happened, how sure, why, next. No fact ids or intervals"),
19
+ tldr: z.string().describe("One sentence: what happened, how sure, why, next. No fact ids or intervals. In a study (frame study), how the arms differ"),
20
20
  whatHappened: z.array(claim),
21
- results: z.array(claim).describe("pass@1 and effort that were measured, each with its noise verdict. insufficient is not measured: never a results line"),
21
+ results: z.array(claim).describe("pass@1 and effort that were measured, each with its noise verdict. insufficient is not measured: never a results line, except effort separated at n ≥ 3 vs 3, reported as directional"),
22
22
  why: z.array(claim).describe("Causes: the thing under test, the eval itself, or reeval/infrastructure"),
23
23
  anomalies: z.array(z.object({
24
24
  text: z.string(),
25
25
  kind: z.enum([
26
- "es-bug",
26
+ "reeval-bug",
27
27
  "eval-design",
28
28
  "judge",
29
29
  "noise",
@@ -39,7 +39,7 @@ const analysisSchema = z.object({
39
39
  "docs",
40
40
  "eval",
41
41
  "judge",
42
- "es",
42
+ "reeval",
43
43
  "harness"
44
44
  ]),
45
45
  change: z.string(),
@@ -65,13 +65,14 @@ const analysisSchema = z.object({
65
65
  const SYSTEM_PROMPT = `You analyse the results of a reeval run for the engineer who wrote the evals.
66
66
  reeval runs coding agents in sandboxes. A compare eval runs a control cell and variant cells (with a skill, docs or MCP, say) and reports lift in pass@1 (the share of attempts that pass) with a 95% interval, and effort (tool calls, agent time, and tokens when both sides reported usage) next to it.
67
67
 
68
- You get a DIGEST: facts computed deterministically by reeval (ids F1...), evidence excerpts (ids E1...; transcript lines start with their line number L<n>), an attempts table (ids like r2/fix-config/control#1), the RULES reeval used for every verdict, and the CLI.
68
+ You get a DIGEST: facts computed deterministically by reeval (ids F1...), evidence excerpts (ids E1...; transcript lines start with their line number L<n>), an attempts table (ids like r2/fix-config/control#1), the RULES reeval used for every verdict, and the CLI. PROJECT INSTRUCTIONS, when present, come first: they set the question this analysis answers. Follow them within these rules.
69
69
 
70
70
  Rules:
71
- - Every claim cites at least one id from the digest: F<n>, E<n>, E<n>:L<line> for a line the evidence shows, an attempt id, or <attempt id>:check<n>. Never cite anything that isn't in the digest.
71
+ - Every claim cites at least one id from the digest: F<n>, E<n>, E<n>:L<line> for a line the evidence shows, an attempt id, or <attempt id>:exec<n> for its n-th c.exec. Never cite anything that isn't in the digest. setup, rules and cli are context, not citable.
72
+ - When the digest's frame is study, every cell is ungated (gate: 'none'): the run is a study of how its arms differ, not a failing CI gate. The TL;DR says how the arms differ (the criteria rows, and contrast facts for each pair of arms), not that attempts failed. A label in a criteria fact's neverMet or alwaysMet is the same in every arm: name those once (as never met, or met, in any arm), and never make one a why or the reason for an eval change; never suggest rewriting the task prompt to name criteria the eval deliberately leaves out.
72
73
  - Take numbers from the facts. Don't compute new statistics beyond simple ratios of cited numbers.
73
74
  - A cited judge score must be the recorded score on that attempt. Do not invent a different number.
74
- - The verdicts in the facts are final: if a lift or effort verdict says within noise, insufficient or not comparable, say so; never call it an effect. insufficient is not measured: never put it on a results line. insufficient on effort is statistical only (too few attempts); a missing token metric is omitted, not insufficient — do not treat unreportedUsage as a result. When sources or the eval fingerprint differ across the compared runs, the first line says the eval changed; that pass@1 difference is not an effect, and mixed counts such as 6/10 vs 8/9 are not a results line. A lift is an effect only when sources match. Name each factor claim's tier (controlled, pooled, observed). Check facts (kind checks) list each expect label on a variant and its control: a both-pass or both-fail check is no evidence for the variant; cite discriminates rows for which requirement separated them. Compare-question facts (kind compare-question) are annotation: win rates, ties, errors and vote reasons never change pass, fail or the exit code. Do not put them on a results line as a gate. A vote's reason is the model's wording: do not treat it as a check.
75
+ - The verdicts in the facts are final: if a lift or effort verdict says within noise, insufficient or not comparable, say so; never call it an effect. insufficient is not measured: never put it on a results line as an effect. The one exception is effort whose separated is true on a metric at n of at least 3 vs 3: every attempt on one side beat every attempt on the other, so put it under results as directional, with the ratio, the n and "no overlap, not significant". insufficient on effort is statistical only (too few attempts); a missing token metric is omitted, not insufficient — do not treat unreportedUsage as a result. When sources or the eval fingerprint differ across the compared runs, the first line says the eval changed; that pass@1 difference is not an effect, and mixed counts such as 6/10 vs 8/9 are not a results line. A lift is an effect only when sources match. Name each factor claim's tier (controlled, pooled, observed). Contrast facts (kind contrast) set two arms side by side (a against b, variant against variant too): cite them when the question is how two arms differ. Check facts (kind checks) list each expect label on a variant and its control: a both-pass or both-fail check is no evidence for the variant; cite discriminates rows for which requirement separated them. Compare-question facts (kind compare-question) are annotation: win rates, ties, errors and vote reasons never change pass, fail or the exit code. Do not put them on a results line as a gate. A vote's reason is the model's wording: do not treat it as a check.
75
76
  - Say what can't be attributed (factors that are not_measured).
76
77
  - Separate causes: the thing under test (skill, docs), the eval itself (task, checks, judge question), and reeval or infrastructure (bugs, fingerprints, harness).
77
78
  - Explain a failed judge verdict by comparing the cited output with the judge question, and say it's your reading: judges record no reason.
@@ -91,7 +92,7 @@ function defaultModel(config) {
91
92
  const judge = config.judge.model;
92
93
  if (typeof judge === "string" && !isEvaluationModel(judge)) return judge;
93
94
  }
94
- /** ` (the judge, typesafe-ai/jev-1.13.0, is an evaluation model: it scores yes/no questions and can't <task>)`, when it is one. */
95
+ /** ` (the judge, typesafe-ai/jev-1.14.0, is an evaluation model: it scores yes/no questions and can't <task>)`, when it is one. */
95
96
  function judgeAside(config, task) {
96
97
  const judge = config.judge.model;
97
98
  if (typeof judge !== "string" && !isFakeJudge(judge)) return "";
@@ -101,7 +102,7 @@ function judgeAside(config, task) {
101
102
  function analysisModelName(config, use = "analyze") {
102
103
  const model = defaultModel(config);
103
104
  if (model !== void 0) return model;
104
- throw new UsageError(`${use === "agent" ? "config.analysis.agent" : "reeval analyze"} needs a language model. Set analysis: { model: 'google/gemini-3.8-flash' } in ${config.file}${judgeAside(config, "write an analysis")}${use === "agent" ? ", or turn agent off" : ", or run reeval analyze --context to hand the digest to your own coding agent"}.`);
105
+ throw new UsageError(`${use === "agent" ? `analysis.agent in ${config.file}` : "reeval analyze"} needs a language model. Set analysis: { model: 'google/gemini-3.8-flash' } in ${config.file}${judgeAside(config, "write an analysis")}${use === "agent" ? ", or turn agent off" : ", or run reeval analyze --context to hand the digest to your own coding agent"}.`);
105
106
  }
106
107
  /** The plan's name for the model a compare question without its own is answered by; null when none. */
107
108
  function questionModelLabel(config) {
@@ -116,9 +117,9 @@ function questionModelLabel(config) {
116
117
  function questionModel(config, question, where) {
117
118
  if (question.model !== void 0) return question.model;
118
119
  const model = defaultModel(config);
119
- const fix = `give the question its own, { question: '…', model: 'google/gemini-3.8-flash' }`;
120
+ const fix = `give the question its own, { question: '…', model: 'google/gemini-3.8-flash' }, or set question: { model } on its group or eval`;
120
121
  if (model === void 0) throw new UsageError(`compare.questions "${question.question}" (${where}) needs a language model to answer it. Set analysis: { model: 'google/gemini-3.8-flash' } in ${config.file}${judgeAside(config, "pick between two attempts")}, or ${fix}.`);
121
- if (typeof model === "string" && isEvaluationModel(model)) throw new UsageError(`compare.questions "${question.question}" (${where}) would be answered by config.analysis.model "${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', or ${fix}.`);
122
+ if (typeof model === "string" && isEvaluationModel(model)) throw new UsageError(`compare.questions "${question.question}" (${where}) would be answered by analysis.model in ${config.file}, "${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', or ${fix}.`);
122
123
  return model;
123
124
  }
124
125
  /** Checks the model and its credentials before any work; throws a UsageError (exit 2). */
@@ -129,7 +130,7 @@ function resolveAnalysisModel(config, use = "analyze") {
129
130
  route: "fake",
130
131
  fake: model
131
132
  };
132
- if (isEvaluationModel(model)) throw new UsageError(`config.analysis.model "${model}" is an evaluation model: it scores yes/no questions and can't write an analysis. Use a language model, e.g. 'google/gemini-3.8-flash'.`);
133
+ if (isEvaluationModel(model)) throw new UsageError(`analysis.model in ${config.file} is "${model}", an evaluation model: it scores yes/no questions and can't write an analysis. Use a language model, e.g. 'google/gemini-3.8-flash'.`);
133
134
  try {
134
135
  return {
135
136
  name: model,
@@ -228,4 +229,4 @@ async function callAnalysisModel(model, digest, prompt, maxOutputTokens) {
228
229
  //#endregion
229
230
  export { providerModel as a, resolveAnalysisModel as c, isFake as i, SYSTEM_PROMPT as l, callAnalysisModel as n, questionModel as o, cannedModel as r, questionModelLabel as s, analysisModelName as t };
230
231
 
231
- //# sourceMappingURL=model-B1BZoZ9b.js.map
232
+ //# sourceMappingURL=model-h_cDtcRr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-h_cDtcRr.js","names":[],"sources":["../src/analysis/schema.ts","../src/analysis/model.ts"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { T as runOutcome } from "./model-oqcDplJG.js";