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,7 +1,6 @@
1
- import { n as UsageError } from "./errors-yDAEwmZo.js";
1
+ import { n as UsageError } from "./errors-B6BSMs03.js";
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
3
  import { ASYMMETRIC_MATCHERS_OBJECT, GLOBAL_EXPECT, JestAsymmetricMatchers, JestChaiExpect, JestExtend, addCustomEqualityTesters, chai, customMatchers, getState, setState } from "@vitest/expect";
4
- import { processError } from "@vitest/utils/error";
5
4
  //#region src/engine/expect.ts
6
5
  chai.use(JestExtend);
7
6
  chai.use(JestChaiExpect);
@@ -24,56 +23,39 @@ const UNRECORDED = /* @__PURE__ */ new Set([
24
23
  "catch",
25
24
  "finally"
26
25
  ]);
27
- const MESSAGE_LIMIT = 1024;
28
- const LABEL_LIMIT = 60;
29
- const clipped = (s, limit) => s.length > limit ? `${s.slice(0, limit)}…` : s;
30
26
  const flag = (assertion, name) => chai.util.flag(assertion, name);
31
27
  const subjectOf = (value) => (typeof value === "object" || typeof value === "function") && value !== null ? value[SUBJECT] : void 0;
32
28
  /** Can't answer either way: the harness doesn't report it, or the subject isn't one it reads. */
33
29
  const isUnanswerable = (error) => error instanceof TypeError || error?.name === "HarnessCapabilityError";
34
- /** Pushes a soft failure onto the task, as `@vitest/expect` does for `expect.soft`. */
35
- function softFailure(task, error) {
36
- task.result ??= { state: "fail" };
37
- task.result.state = "fail";
38
- task.result.errors ??= [];
39
- task.result.errors.push(processError(error));
40
- }
41
30
  /** Starts a record of `matcher` called on `assertion`, in call order. */
42
31
  function begin(list, assertion, name, args) {
43
32
  const message = flag(assertion, "message");
44
- const matcher = [
45
- flag(assertion, "poll") && "poll",
46
- flag(assertion, "promise"),
47
- flag(assertion, "negate") && "not",
48
- name
49
- ].filter(Boolean).join(".");
50
33
  const entry = {
51
- label: typeof message === "string" && message ? message : void 0,
52
- labelled: typeof message === "string" && message !== "",
53
- matcher,
54
- status: void 0,
55
- soft: !!flag(assertion, "soft"),
34
+ matcher: [
35
+ flag(assertion, "poll") && "poll",
36
+ flag(assertion, "promise"),
37
+ flag(assertion, "negate") && "not",
38
+ name
39
+ ].filter(Boolean).join("."),
56
40
  args,
57
- subject: subjectOf(flag(assertion, "object"))
41
+ subject: subjectOf(flag(assertion, "object")),
42
+ ...typeof message === "string" && message ? { label: message } : {},
43
+ soft: !!flag(assertion, "soft")
58
44
  };
59
45
  list.push(entry);
60
46
  return entry;
61
47
  }
62
48
  function settle(entry, error, startedAt) {
63
49
  entry.status = error === void 0 ? "pass" : isUnanswerable(error) ? "error" : "fail";
64
- if (error !== void 0) {
65
- const message = error instanceof Error ? error.message : String(error);
66
- entry.message = clipped(message, MESSAGE_LIMIT);
67
- }
50
+ if (error !== void 0) entry.error = error;
68
51
  if (startedAt !== void 0) entry.durationMs = Math.round(performance.now() - startedAt);
69
52
  }
70
53
  /**
71
54
  * Wraps an assertion so each matcher called on it is recorded on the attempt. A soft matcher's
72
- * failure is caught here and pushed onto the task as `@vitest/expect` would, so its outcome is
73
- * known per call.
55
+ * failure is caught here and kept on its entry, which fails the attempt at its end.
74
56
  */
75
- function recording(target, list, task) {
76
- const chained = (value) => value instanceof chai.Assertion ? recording(value, list, task) : value;
57
+ function recording(target, list) {
58
+ const chained = (value) => value instanceof chai.Assertion ? recording(value, list) : value;
77
59
  const call = (fn, name, args) => {
78
60
  if (flag(target, "poll")) return Reflect.apply(fn, target, args);
79
61
  const entry = begin(list, target, name, args);
@@ -84,7 +66,7 @@ function recording(target, list, task) {
84
66
  result = Reflect.apply(fn, target, args);
85
67
  } catch (error) {
86
68
  settle(entry, error);
87
- if (entry.soft) return softFailure(task, error);
69
+ if (entry.soft) return;
88
70
  throw error;
89
71
  }
90
72
  if (!isThenable(result)) {
@@ -96,7 +78,7 @@ function recording(target, list, task) {
96
78
  return value;
97
79
  }, (error) => {
98
80
  settle(entry, error, startedAt);
99
- if (entry.soft) return softFailure(task, error);
81
+ if (entry.soft) return;
100
82
  throw error;
101
83
  });
102
84
  };
@@ -110,36 +92,8 @@ function recording(target, list, task) {
110
92
  });
111
93
  } });
112
94
  }
113
- const shown = (value) => {
114
- if (typeof value === "string") return value;
115
- if (value instanceof RegExp) return String(value);
116
- try {
117
- return JSON.stringify(value) ?? String(value);
118
- } catch {
119
- return String(value);
120
- }
121
- };
122
- /**
123
- * The attempt's matcher calls that have settled, in call order. Without a label, one is
124
- * `<matcher> <first argument>` (or what the subject names); repeats get ` #2`, ` #3`.
125
- */
126
- function attemptAssertions(task) {
127
- const seen = /* @__PURE__ */ new Map();
128
- return (recordings.get(task) ?? []).flatMap((r) => {
129
- if (r.status === void 0) return [];
130
- const named = r.args.length ? shown(r.args[0]) : shownSubject(r.subject);
131
- const base = r.label ?? clipped(named === void 0 ? r.matcher : `${r.matcher} ${named}`, LABEL_LIMIT);
132
- const n = (seen.get(base) ?? 0) + 1;
133
- seen.set(base, n);
134
- const { args: _args, subject: _subject, ...rest } = r;
135
- return [{
136
- ...rest,
137
- label: n > 1 ? `${base} #${n}` : base,
138
- status: r.status
139
- }];
140
- });
141
- }
142
- const shownSubject = (subject) => typeof subject === "string" && subject ? subject.replace(/\s+/g, " ").trim() : void 0;
95
+ /** The attempt's matcher calls that have settled, in call order. */
96
+ const rawAssertions = (task) => (recordings.get(task) ?? []).filter((r) => r.status !== void 0);
143
97
  /** An `expect` of its own for one attempt (or, without a task, the worker's). */
144
98
  function createExpect(task) {
145
99
  const list = [];
@@ -148,7 +102,7 @@ function createExpect(task) {
148
102
  const { assertionCalls } = getState(expect);
149
103
  setState({ assertionCalls: assertionCalls + 1 }, expect);
150
104
  const assertion = chai.expect(value, message);
151
- return task ? recording(assertion.withTest(task), list, task) : assertion;
105
+ return task ? recording(assertion.withTest(task), list) : assertion;
152
106
  });
153
107
  Object.assign(expect, chai.expect);
154
108
  Object.assign(expect, globalThis[ASYMMETRIC_MATCHERS_OBJECT]);
@@ -226,10 +180,8 @@ function createPoll(expect, list) {
226
180
  return proxy;
227
181
  };
228
182
  }
229
- /** The failure `expect.assertions`, `expect.hasAssertions` or `expect.soft` left on an attempt. */
230
- function attemptExpectError(expect, task) {
231
- const [soft] = task.result?.errors ?? [];
232
- if (soft) return Object.assign(/* @__PURE__ */ new Error(), soft);
183
+ /** The failure `expect.assertions` or `expect.hasAssertions` left on an attempt. */
184
+ function attemptExpectError(expect) {
233
185
  const state = expect.getState();
234
186
  if (state.expectedAssertionsNumber !== null && state.expectedAssertionsNumber !== state.assertionCalls) return state.expectedAssertionsNumberErrorGen();
235
187
  if (state.isExpectingAssertions && state.assertionCalls === 0) return state.isExpectingAssertionsError;
@@ -339,6 +291,6 @@ const registerGroup = (name, mode, body) => active().registerGroup(name, mode, b
339
291
  const getRunContext = () => active().getRunContext();
340
292
  const collectingFile = () => active().collectingFile();
341
293
  //#endregion
342
- export { useEngine as a, attemptExpectError as c, extendExpect as d, unawaitedError as f, registerTest as i, createExpect as l, getRunContext as n, SUBJECT as o, withAttemptExpect as p, registerGroup as r, attemptAssertions as s, collectingFile as t, expect as u };
294
+ export { useEngine as a, createExpect as c, isUnanswerable as d, rawAssertions as f, registerTest as i, expect as l, withAttemptExpect as m, getRunContext as n, SUBJECT as o, unawaitedError as p, registerGroup as r, attemptExpectError as s, collectingFile as t, extendExpect as u };
343
295
 
344
- //# sourceMappingURL=runtime-DdsfnRz_.js.map
296
+ //# sourceMappingURL=runtime-PX_oXiCS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-PX_oXiCS.js","names":[],"sources":["../src/engine/expect.ts","../src/engine/runtime.ts"],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { n as UsageError } from "./errors-B6BSMs03.js";
2
+ import { O as toPath, R as checkDockerOptions, a as callerDir } from "./environment-DNjRk0nU.js";
3
+ import { existsSync, statSync } from "node:fs";
4
+ import { isAbsolute, resolve } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ //#region src/sandbox.ts
7
+ /**
8
+ * One local Docker container per attempt. By default it's the image `reeval image build` makes. One
9
+ * base at most:
10
+ *
11
+ * - `image`: another image that already has the harness baked in, used as is.
12
+ * - `from`: a Debian or Ubuntu based toolchain image (e.g. `python:3.12-slim`); reeval bakes Node and
13
+ * the harness on top on first use.
14
+ * - `dockerfile`: your Dockerfile, built with `docker build` from its directory. Start it
15
+ * `ARG REEVAL_BASE` / `FROM ${REEVAL_BASE}` to layer on reeval's sandbox image; from any other Debian or
16
+ * Ubuntu base, reeval bakes Node and the harness on top, as for `from`.
17
+ *
18
+ * `install` bakes shell commands onto the base in one cached layer (not with `dockerfile`: put
19
+ * them in it). They run as root from `/`, in order, and never see secrets or the workspace; what
20
+ * needs either belongs in the environment's `setup`.
21
+ *
22
+ * At run time the agent, setup steps and checks run as the unprivileged `reeval` user with every
23
+ * capability dropped, `no-new-privileges`, and `memory`, `cpus` and `pids` limits, with `swap`
24
+ * (as much as `memory` by default) on top of `memory`. `root: true` opts an eval into root;
25
+ * `capabilities` adds specific ones back.
26
+ */
27
+ function docker(options = {}) {
28
+ return containerSandbox(options, "docker");
29
+ }
30
+ /**
31
+ * {@link docker}, on Podman: the same options, images, egress gateway and records, with containers
32
+ * run by the `podman` CLI (rootless works). Every container is on Podman's bridge network with
33
+ * Docker's default seccomp profile, so it's confined as on Docker, and a restricted egress policy
34
+ * leaves it no route out. `from` and Dockerfile `FROM` names Podman can't resolve need their
35
+ * registry: `docker.io/library/python:3.12-slim`.
36
+ */
37
+ function podman(options = {}) {
38
+ return containerSandbox(options, "podman");
39
+ }
40
+ function containerSandbox(options, engine) {
41
+ if (typeof options !== "object" || options === null || Array.isArray(options)) throw new UsageError(`${engine}() takes an options object (got ${JSON.stringify(options)})`);
42
+ checkDockerOptions(options, engine);
43
+ const { dockerfile, ...rest } = options;
44
+ const descriptor = {
45
+ kind: "docker",
46
+ ...engine === "podman" ? { engine } : {},
47
+ ...structuredClone(rest)
48
+ };
49
+ if (dockerfile !== void 0) {
50
+ const path = dockerfile instanceof URL ? fileURLToPath(dockerfile) : dockerfile;
51
+ const full = isAbsolute(path) ? path : resolve(callerDir() ?? process.cwd(), path);
52
+ if (!existsSync(full) || !statSync(full).isFile()) throw new UsageError(`${engine}({ dockerfile: ${JSON.stringify(path)} }): ${full} doesn't exist. Paths are relative to the file that calls ${engine}().`);
53
+ descriptor.dockerfile = full;
54
+ }
55
+ return descriptor;
56
+ }
57
+ /**
58
+ * A temp directory on the host with no isolation. For tests and the fake harness only. A relative
59
+ * `dir` resolves against the file that calls `fakeSandbox()`; it may also be absolute or a `file:`
60
+ * URL, such as `new URL('./sandboxes', import.meta.url)`.
61
+ */
62
+ const fakeSandbox = ({ dir, ...options } = {}) => ({
63
+ kind: "fake",
64
+ ...options,
65
+ ...dir !== void 0 && { dir: toPath(dir, callerDir() ?? process.cwd()) }
66
+ });
67
+ //#endregion
68
+ export { fakeSandbox as n, podman as r, docker as t };
69
+
70
+ //# sourceMappingURL=sandbox-D3A8oUb7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-D3A8oUb7.js","names":[],"sources":["../src/sandbox.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,SAAgB,OAAO,UAAyB,CAAC,GAA4B;CAC3E,OAAO,iBAAiB,SAAS,QAAQ;AAC3C;;;;;;;;AASA,SAAgB,OAAO,UAAyB,CAAC,GAA4B;CAC3E,OAAO,iBAAiB,SAAS,QAAQ;AAC3C;AAEA,SAAS,iBACP,SACA,QACyB;CACzB,IAAI,OAAO,YAAY,YAAY,YAAY,QAAQ,MAAM,QAAQ,OAAO,GAC1E,MAAM,IAAI,WAAW,GAAG,OAAO,kCAAkC,KAAK,UAAU,OAAO,EAAE,EAAE;CAE7F,mBAAmB,SAAS,MAAM;CAClC,MAAM,EAAE,YAAY,GAAG,SAAS;CAChC,MAAM,aAAsC;EAC1C,MAAM;EACN,GAAI,WAAW,WAAW,EAAE,OAAO,IAAI,CAAC;EACxC,GAAG,gBAAgB,IAAI;CACzB;CACA,IAAI,eAAe,KAAA,GAAW;EAC5B,MAAM,OAAO,sBAAsB,MAAM,cAAc,UAAU,IAAI;EACrE,MAAM,OAAO,WAAW,IAAI,IAAI,OAAO,QAAQ,UAAU,KAAK,QAAQ,IAAI,GAAG,IAAI;EACjF,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,GAC9C,MAAM,IAAI,WACR,GAAG,OAAO,iBAAiB,KAAK,UAAU,IAAI,EAAE,OAAO,KAAK,4DAA4D,OAAO,IACjI;EAEF,WAAW,aAAa;CAC1B;CACA,OAAO;AACT;;;;;;AAOA,MAAa,eAAe,EAC1B,KACA,GAAG,YACqE,CAAC,OACxE;CACC,MAAM;CACN,GAAG;CACH,GAAI,QAAQ,KAAA,KAAa,EAAE,KAAK,OAAO,KAAK,UAAU,KAAK,QAAQ,IAAI,CAAC,EAAE;AAC5E"}
package/dist/sandbox.d.ts CHANGED
@@ -1,9 +1,13 @@
1
- import { J as FakeSandboxDescriptor, j as DockerSandboxDescriptor, xt as SandboxDescriptor } from "./types-D8RLfkFP.js";
2
- //#region src/sandbox.d.ts
3
- export type DockerOptions = Omit<DockerSandboxDescriptor, 'kind' | 'dockerfile'> & {
1
+ import { J as FakeSandboxDescriptor, Tt as SandboxDescriptor, j as DockerSandboxDescriptor } from "./types-g17bRAzt.js";
2
+ import { z } from "zod";
3
+ //#region src/contract/docker.d.ts
4
+ /** `docker()`'s (and `podman()`'s) argument, as users write it. */
5
+ type DockerOptions = Omit<DockerSandboxDescriptor, 'kind' | 'engine' | 'dockerfile'> & {
4
6
  /** Relative to the file that calls `docker()`, or an absolute path or `URL`. */
5
7
  dockerfile?: string | URL;
6
8
  };
9
+ //#endregion
10
+ //#region src/sandbox.d.ts
7
11
  /**
8
12
  * One local Docker container per attempt. By default it's the image `reeval image build` makes. One
9
13
  * base at most:
@@ -26,8 +30,17 @@ export type DockerOptions = Omit<DockerSandboxDescriptor, 'kind' | 'dockerfile'>
26
30
  */
27
31
  export declare function docker(options?: DockerOptions): DockerSandboxDescriptor;
28
32
  /**
29
- * A temp directory on the host with no isolation. For tests and the fake harness only. `dir` may
30
- * be a `file:` URL, such as `new URL('./sandboxes', import.meta.url)`.
33
+ * {@link docker}, on Podman: the same options, images, egress gateway and records, with containers
34
+ * run by the `podman` CLI (rootless works). Every container is on Podman's bridge network with
35
+ * Docker's default seccomp profile, so it's confined as on Docker, and a restricted egress policy
36
+ * leaves it no route out. `from` and Dockerfile `FROM` names Podman can't resolve need their
37
+ * registry: `docker.io/library/python:3.12-slim`.
38
+ */
39
+ export declare function podman(options?: DockerOptions): DockerSandboxDescriptor;
40
+ /**
41
+ * A temp directory on the host with no isolation. For tests and the fake harness only. A relative
42
+ * `dir` resolves against the file that calls `fakeSandbox()`; it may also be absolute or a `file:`
43
+ * URL, such as `new URL('./sandboxes', import.meta.url)`.
31
44
  */
32
45
  export declare const fakeSandbox: ({ dir, ...options }?: Omit<FakeSandboxDescriptor, 'kind' | 'dir'> & {
33
46
  dir?: string | URL;
@@ -38,5 +51,5 @@ export declare const fakeSandbox: ({ dir, ...options }?: Omit<FakeSandboxDescrip
38
51
  dir?: string | undefined;
39
52
  };
40
53
  //#endregion
41
- export type { DockerSandboxDescriptor, FakeSandboxDescriptor, SandboxDescriptor };
54
+ export type { DockerOptions, DockerSandboxDescriptor, FakeSandboxDescriptor, SandboxDescriptor };
42
55
  //# sourceMappingURL=sandbox.d.ts.map
package/dist/sandbox.js CHANGED
@@ -1,2 +1 @@
1
- import { n as fakeSandbox, t as docker } from "./sandbox-D5v-of6d.js";
2
- export { docker, fakeSandbox };
1
+ export { t as docker, n as fakeSandbox, r as podman } from "./sandbox-D3A8oUb7.js";
@@ -0,0 +1 @@
1
+ export { n as allowedHosts } from "./server-XDleKaF_.js";
@@ -1,14 +1,14 @@
1
- import { o as redactSecrets } from "./redact-DJ9JCShu.js";
2
1
  import { a as parseDataPath, r as artifactType, t as RUN_ID } from "./paths-BmR-7tx3.js";
3
2
  import { s as recordFileName } from "./ids-Bp6ut7ZD.js";
3
+ import { o as redactSecrets } from "./redact-DJ9JCShu.js";
4
4
  import { l as parseDebugLog, u as parseNdjson } from "./debug-D24NOQH1.js";
5
5
  import { i as parseAttemptKey, t as attemptDebugDir } from "./files-Ca0d6Uq3.js";
6
- import { o as sortAnalyses } from "./analysis-DlGBDjTj.js";
7
- import { v as indexFiles } from "./model-BOnlAPzs.js";
8
- import { o as readableDebugRequest } from "./record-BRP9vZrj.js";
9
- import { c as readableLiveProgress, i as isFinished, n as LIVE_FILE } from "./live-S0qODb6o.js";
10
- import { l as recordFile, p as scratchDir } from "./files-CSzVADHn.js";
11
- import { n as resolveFile, t as listHeaders } from "./source-Dof0NQBm.js";
6
+ import { o as sortAnalyses } from "./analysis-Bxub9LMT.js";
7
+ import { y as indexFiles } from "./model-oqcDplJG.js";
8
+ import { o as readableDebugRequest } from "./record-BKmMvZ6O.js";
9
+ import { c as readableLiveProgress, i as isFinished, n as LIVE_FILE } from "./live-jlfszAbb.js";
10
+ import { l as recordFile, p as scratchDir } from "./files-BXUdY8tr.js";
11
+ import { n as resolveFile, t as listHeaders } from "./source-C8xumIWj.js";
12
12
  import { createReadStream, existsSync } from "node:fs";
13
13
  import { hostname } from "node:os";
14
14
  import { extname, join, resolve, sep } from "node:path";
@@ -75,7 +75,7 @@ async function liveTranscript(source, runId, key) {
75
75
  const [realBase, real] = await Promise.all([realpath(base), realpath(join(base, "evals", recordFileName(key)))]);
76
76
  if (!real.startsWith(realBase + sep)) return null;
77
77
  const record = JSON.parse(await readFile(real, "utf8"));
78
- const { transcriptLines } = await import("./assemble-C5qq5yT2.js");
78
+ const { transcriptLines } = await import("./assemble-J5MukZFY.js");
79
79
  return redactSecrets(transcriptLines(record));
80
80
  } catch {
81
81
  return null;
@@ -282,7 +282,7 @@ function createStudioApp(options) {
282
282
  if (target.kind === "studio") {
283
283
  const info = {
284
284
  mode: "live",
285
- es: options.es,
285
+ reeval: options.reeval,
286
286
  project: options.project,
287
287
  generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
288
288
  features: {
@@ -300,7 +300,7 @@ function createStudioApp(options) {
300
300
  return c.json(body, 200, noStore);
301
301
  }
302
302
  if (target.kind === "analysis") {
303
- const { listAnalyses, listNotes } = await import("./files-AiEKuEZe.js");
303
+ const { listAnalyses, listNotes } = await import("./files-BhyltlDB.js");
304
304
  const entries = await listAnalyses(source.root, [source.historyDir], target.runId, true);
305
305
  const notes = await listNotes(source.root, target.runId);
306
306
  const index = {
@@ -349,4 +349,4 @@ async function serveApp(c, dir, path) {
349
349
  //#endregion
350
350
  export { watchLive as a, newToken as i, allowedHosts as n, createStudioApp as r, COOKIE as t };
351
351
 
352
- //# sourceMappingURL=server-BNnXtmS8.js.map
352
+ //# sourceMappingURL=server-XDleKaF_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-XDleKaF_.js","names":[],"sources":["../src/studio/live.ts","../src/studio/server.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;AAwBA,MAAa,eAAe,SAAiB,KAAK,MAAM,WAAW,SAAS;;AAK5E,SAAS,OAAO,UAAiC;CAC/C,IAAI,SAAS,SAAS,SAAS,GAAG,OAAO;CACzC,IAAI;EACF,QAAQ,KAAK,SAAS,KAAK,CAAC;EAC5B,OAAO;CACT,SAAS,OAAO;EACd,OAAQ,MAAgC,SAAS;CACnD;AACF;AAEA,eAAe,aAAa,MAAc,OAA6C;CACrF,MAAM,OAAO,MAAM,SAAS,KAAK,YAAY,IAAI,GAAG,OAAO,SAAS,GAAG,MAAM,CAAC,CAAC,YAAY,IAAI;CAC/F,IAAI,SAAS,MAAM,OAAO;CAC1B,IAAI;EACF,MAAM,WAAW,qBAAqB,KAAK,MAAM,IAAI,CAAC;EACtD,OAAO,UAAU,UAAU,QAAQ,WAAW;CAChD,QAAQ;EACN,OAAO;CACT;AACF;AAEA,MAAM,UAAU,QAAsB,UACpC,CAAC,OAAO,YAAY,WAAW,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,QAAQ,WAAW,WAAW,KAAK,KAAK,CAAC,CAAC;;;;;AAM/F,eAAsB,SACpB,QACA,UAAuB,CAAC,GACJ;CACpB,IAAI,CAAC,OAAO,SAAS,OAAO,CAAC;CAC7B,MAAM,MAAM,QAAQ,OAAO,KAAK,IAAI;CACpC,MAAM,UAAU,QAAQ,WAAA;CACxB,MAAM,QAAQ,MAAM,QAAQ,YAAY,OAAO,IAAI,CAAC,CAAC,CAAC,YAAsB,CAAC,CAAC;CAC9E,MAAM,OAAkB,CAAC;CACzB,KAAK,MAAM,SAAS,MACjB,QAAQ,MAAM,OAAO,KAAK,CAAC,CAAC,CAAC,CAC7B,KAAK,CAAC,CACN,QAAQ,GAAG;EACZ,MAAM,WAAW,MAAM,aAAa,OAAO,MAAM,KAAK;EACtD,IAAI,CAAC,YAAY,OAAO,QAAQ,KAAK,GAAG;EACxC,MAAM,QAAQ,MAAM,KAAK,MAAM,SAAS,WAAW,IAAI;EACvD,MAAM,EAAE,eAAe,GAAG,KAAK,IAAI,MAAM,KAAK,aAAa,MAAM,GAAG,QAAQ;EAC5E,KAAK,KAAK;GAAE,GAAG;GAAK,OAAO,SAAS,OAAO,QAAQ,IAAI,YAAY,SAAS;EAAM,CAAC;CACrF;CACA,OAAO;AACT;;;;;AAMA,eAAsB,eACpB,QACA,OACA,KACwB;CACxB,IAAI,CAAC,OAAO,WAAW,CAAC,OAAO,KAAK,KAAK,GAAG,OAAO;CAEnD,MAAM,WAAU,MADO,aAAa,OAAO,MAAM,KAAK,EAAA,EAC5B,SAAS,MAAM,MAAM,EAAE,QAAQ,GAAG;CAC5D,IAAI,CAAC,WAAW,CAAC,WAAW,QAAQ,MAAM,GAAG,OAAO;CACpD,MAAM,OAAO,KAAK,YAAY,OAAO,IAAI,GAAG,KAAK;CACjD,IAAI;EACF,MAAM,CAAC,UAAU,QAAQ,MAAM,QAAQ,IAAI,CACzC,SAAS,IAAI,GACb,SAAS,KAAK,MAAM,SAAS,eAAe,GAAG,CAAC,CAAC,CACnD,CAAC;EACD,IAAI,CAAC,KAAK,WAAW,WAAW,GAAG,GAAG,OAAO;EAC7C,MAAM,SAAS,KAAK,MAAM,MAAM,SAAS,MAAM,MAAM,CAAC;EACtD,MAAM,EAAE,oBAAoB,MAAM,OAAO;EACzC,OAAO,cAAc,gBAAgB,MAAM,CAAC;CAC9C,QAAQ;EACN,OAAO;CACT;AACF;;AAGA,SAAgB,UAAU,QAAsB,UAAqC,SAAS,KAAK;CACjG,IAAI,YAAY;CAChB,IAAI,OAAO;CACX,MAAM,QAAQ,YAAY;EACxB,IAAI,MAAM;EACV,OAAO;EACP,IAAI;GACF,MAAM,OAAO,MAAM,SAAS,MAAM;GAClC,MAAM,OAAO,KAAK,UAAU,IAAI;GAChC,IAAI,SAAS,WAAW;IACtB,MAAM,QAAQ,cAAc;IAC5B,YAAY;IACZ,IAAI,CAAC,OAAO,SAAS,IAAI;GAC3B;EACF,UAAU;GACR,OAAO;EACT;CACF;CACA,MAAW;CACX,MAAM,OAAO,kBAAkB,KAAK,MAAM,GAAG,MAAM;CACnD,KAAK,MAAM;CACX,aAAa,cAAc,IAAI;AACjC;;;ACvGA,MAAa,SAAS;AAoBtB,MAAa,iBAAiB,YAAY,EAAE,CAAC,CAAC,SAAS,WAAW;;AAGlE,SAAgB,aAAa,MAAc,MAAwB;CACjE,MAAM,wBAAQ,IAAI,IAAI;EAAC;EAAa;EAAa;CAAO,CAAC;CACzD,MAAM,IAAI,KAAK,SAAS,GAAG,KAAK,CAAC,KAAK,WAAW,GAAG,IAAI,IAAI,KAAK,KAAK,IAAI;CAC1E,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,SAAS,GAAG,KAAK,GAAG,MAAM;AACnD;AAEA,MAAM,YAAoC;CACxC,SAAS;CACT,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,SAAS;AACX;AAEA,MAAM,UAAU;CACd;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,IAAI;AAEX,MAAM,aAAa,GAAW,MAAc;CAC1C,MAAM,IAAI,OAAO,KAAK,CAAC;CACvB,MAAM,IAAI,OAAO,KAAK,CAAC;CACvB,OAAO,EAAE,WAAW,EAAE,UAAU,gBAAgB,GAAG,CAAC;AACtD;;AAGA,SAAS,YAAY,KAA4B;CAC/C,IAAI;CACJ,IAAI;EACF,OAAO,mBAAmB,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ;CACjD,QAAQ;EACN,OAAO;CACT;CACA,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,OAAO;CACvD,OAAO,KAAK,QAAQ,QAAQ,EAAE;AAChC;AAEA,eAAe,SACb,GACA,MACA,SACmB;CACnB,MAAM,OAAO,MAAM,KAAK,IAAI;CAC5B,MAAM,OAAO,MAAM,KAAK,KAAK,SAAS,EAAE,EAAE,GAAG,KAAK,MAAM,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;CACnF,MAAM,SAAS;EAAE,GAAG;EAAS,MAAM;EAAM,kBAAkB,OAAO,KAAK,IAAI;CAAE;CAC7E,IAAI,EAAE,IAAI,OAAO,eAAe,MAAM,MAAM,OAAO,EAAE,KAAK,MAAM,KAAK,EAAE,MAAM,KAAK,CAAC;CACnF,IAAI,EAAE,IAAI,WAAW,QAAQ,OAAO,EAAE,KAAK,MAAM,KAAK,MAAM;CAC5D,MAAM,OAAO,SAAS,MAAM,iBAAiB,IAAI,CAAC;CAClD,OAAO,EAAE,KAAK,MAAM,KAAK,MAAM;AACjC;;AAGA,SAAgB,gBAAgB,SAA8B;CAC5D,MAAM,EAAE,QAAQ,OAAO,UAAU;CACjC,MAAM,aAAa,QAAQ,mBAAmB;CAC9C,IAAI,UAAU;CACd,MAAM,MAAM,IAAI,KAAK;CAErB,IAAI,IAAI,KAAK,OAAO,GAAG,SAAS;EAC9B,EAAE,OAAO,mBAAmB,aAAa;EACzC,EAAE,OAAO,0BAA0B,SAAS;EAC5C,EAAE,OAAO,gCAAgC,aAAa;EACtD,IAAI,EAAE,IAAI,WAAW,SAAS,EAAE,IAAI,WAAW,QAC7C,OAAO,EAAE,KAAK,sBAAsB,KAAK,EAAE,OAAO,YAAY,CAAC;EAEjE,MAAM,OAAO,EAAE,IAAI,OAAO,MAAM,KAAK;EACrC,IAAI,MAAM,UAAU,CAAC,MAAM,SAAS,IAAI,GAAG,OAAO,EAAE,KAAK,gBAAgB,GAAG;EAC5E,MAAM,SAAS,EAAE,IAAI,OAAO,QAAQ;EACpC,IAAI,UAAU,MAAM,UAAU,CAAC,MAAM,MAAM,MAAM,WAAW,UAAU,GAAG,GACvE,OAAO,EAAE,KAAK,yCAAyC,GAAG;EAE5D,IAAI,UAAU,MAAM,OAAO,KAAK;EAChC,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,GAAG;EAC7B,MAAM,UAAU,IAAI,aAAa,IAAI,OAAO;EAC5C,IAAI,YAAY,MAAM;GACpB,IAAI,CAAC,UAAU,SAAS,KAAK,GAAG,OAAO,EAAE,KAAK,sBAAsB,GAAG;GACvE,UAAU,GAAG,QAAQ,OAAO;IAAE,UAAU;IAAM,UAAU;IAAU,MAAM;GAAI,CAAC;GAC7E,IAAI,aAAa,OAAO,OAAO;GAC/B,OAAO,EAAE,SAAS,GAAG,IAAI,WAAW,IAAI,SAAS,IAAI,QAAQ,GAAG;EAClE;EACA,MAAM,SAAS,UAAU,GAAG,MAAM;EAClC,IAAI,CAAC,UAAU,CAAC,UAAU,QAAQ,KAAK,GACrC,OAAO,EAAE,KACP,sFACA,GACF;EAEF,OAAO,KAAK;CACd,CAAC;CAED,IAAI,IAAI,gBAAgB,MAAM;EAC5B,IAAI,CAAC,QAAQ,WAAW,OAAO,EAAE,KAAK,wBAAwB,GAAG;EACjE,IAAI,WAAW,YAAY,OAAO,EAAE,KAAK,yBAAyB,GAAG;EACrE,MAAM,YAAY,QAAQ;EAC1B;EACA,OAAO,UAAU,GAAG,OAAO,WAAW;GACpC,IAAI,KAAK;GACT,MAAM,cAAc,WAAW,UAAU;IACvC,MAAM,OAAO,MAAM,SAAS,iBAAiB,KAAK,UAAU,EAAE,MAAM,MAAM,KAAK,CAAC,IAAI;IACpF,OAAY,SAAS;KAAE,OAAO,MAAM;KAAM;KAAM,IAAI,OAAO,EAAE,EAAE;IAAE,CAAC;GACpE,CAAC;GACD,MAAM,SAAS,IAAI,SAAe,YAAY,OAAO,QAAQ,OAAO,CAAC;GACrE,MAAM,OAAO,SAAS;IAAE,OAAO;IAAS,MAAM;IAAM,IAAI,OAAO,EAAE;GAAE,CAAC;GACpE,MAAM,OAAO,kBAAkB,KAAK,OAAO,SAAS;IAAE,OAAO;IAAQ,MAAM;GAAK,CAAC,GAAG,IAAM;GAC1F,MAAM;GACN,cAAc,IAAI;GAClB,YAAY;GACZ;EACF,CAAC;CACH,CAAC;CAGD,IAAI,IAAI,aAAa,OAAO,MAAM;EAChC,MAAM,QAAmB,EAAE,MAAM,MAAM,SAAS,MAAM,EAAE;EACxD,OAAO,EAAE,KAAK,OAAO,KAAK,EAAE,iBAAiB,WAAW,CAAC;CAC3D,CAAC;CACD,IAAI,IAAI,+BAA+B,OAAO,MAAM;EAClD,MAAM,OAAO,MAAM,eAAe,QAAQ,EAAE,IAAI,MAAM,OAAO,GAAG,EAAE,IAAI,MAAM,SAAS,KAAK,EAAE;EAC5F,IAAI,SAAS,MAAM,OAAO,EAAE,KAAK,sCAAsC,GAAG;EAC1E,OAAO,EAAE,KAAK,MAAM,KAAK;GACvB,iBAAiB;GACjB,gBAAgB;GAChB,2BAA2B;EAC7B,CAAC;CACH,CAAC;CAGD,MAAM,YAAY,OAAe,QAA4B;EAC3D,MAAM,UAAU,MAAM,gBAAgB,GAAG,IAAI;EAC7C,IAAI,CAAC,OAAO,KAAK,KAAK,KAAK,CAAC,SAAS,OAAO;EAC5C,OAAO,gBAAgB,OAAO,MAAM,OAAO,QAAQ,QAAQ,QAAQ,MAAM,QAAQ,CAAC;CACpF;CACA,MAAM,YAAY,SAAiB,SAAS,MAAM,MAAM,CAAC,CAAC,YAAY,IAAI;CAC1E,IAAI,IAAI,qBAAqB,OAAO,MAAM;EACxC,MAAM,MAAM,SAAS,EAAE,IAAI,MAAM,OAAO,GAAG,EAAE,IAAI,MAAM,SAAS,CAAC;EACjE,MAAM,MAAM,OAAQ,MAAM,SAAS,KAAK,KAAA,WAAc,CAAC;EAEvD,IAAI,CAAC,OAAO,QAAQ,MAAM,OAAO,EAAE,KAAK,MAAM,KAAK,EAAE,iBAAiB,WAAW,CAAC;EAClF,MAAM,OAAkB;GACtB,OAAO,cAAc,GAAG;GACxB,UAAU,YAA2B,MAAM,SAAS,KAAK,KAAA,iBAAkB,CAAC,KAAM,EAAE,CAAC,CAAC,IACpF,oBACF;GACA,QAAQ,MAAM,KAAK,KAAK,KAAA,cAAe,CAAC,CAAC,CAAC,YAAY,IAAI,EAAA,EAAI,OAAO,KAAK;EAC5E;EACA,OAAO,EAAE,KAAK,MAAM,KAAK,EAAE,iBAAiB,WAAW,CAAC;CAC1D,CAAC;CACD,IAAI,IAAI,2BAA2B,OAAO,MAAM;EAC9C,MAAM,MAAM,SAAS,EAAE,IAAI,MAAM,OAAO,GAAG,EAAE,IAAI,MAAM,SAAS,CAAC;EACjE,MAAM,OAAO,OAAO,KAAK,KAAA,cAAe;EACxC,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,YAAY,IAAI,EAAA,EAAI,OAAO,GACzD,OAAO,EAAE,KAAK,6BAA6B,GAAG;EAEhD,OAAO,SAAS,GAAG,MAAM;GACvB,iBAAiB;GACjB,gBAAgB;GAChB,2BAA2B;EAC7B,CAAC;CACH,CAAC;CAED,IAAI,IAAI,KAAK,OAAO,MAAM;EACxB,MAAM,OAAO,YAAY,EAAE,IAAI,GAAG;EAClC,IAAI,SAAS,MAAM,OAAO,EAAE,KAAK,YAAY,GAAG;EAChD,MAAM,SAAS,cAAc,IAAI;EACjC,IAAI,QAAQ;GACV,MAAM,UAAU,EAAE,iBAAiB,WAAW;GAC9C,IAAI,OAAO,SAAS,UAAU;IAC5B,MAAM,OAAmB;KACvB,MAAM;KACN,QAAQ,QAAQ;KAChB,SAAS,QAAQ;KACjB,8BAAa,IAAI,KAAK,EAAA,CAAE,YAAY;KACpC,UAAU;MACR,MAAM,CAAC,CAAC,QAAQ;MAChB,SAAS,OAAO;MAChB,WAAW;MACX,OAAO;KACT;IACF;IACA,OAAO,EAAE,KAAK,MAAM,KAAK,OAAO;GAClC;GACA,IAAI,OAAO,SAAS,cAAc,OAAO,SAAS,SAAS;IAEzD,MAAM,OADQ,WAAW,MAAM,YAAY,MAAM,CAChC,CAAC,CAAC,IAAI,IAAI;IAC3B,IAAI,SAAS,KAAA,GAAW,OAAO,EAAE,KAAK,CAAC,GAAG,KAAK,OAAO;IACtD,OAAO,EAAE,KAAK,MAAM,KAAK,OAAO;GAClC;GACA,IAAI,OAAO,SAAS,YAAY;IAC9B,MAAM,EAAE,cAAc,cAAc,MAAM,OAAO;IACjD,MAAM,UAAU,MAAM,aAAa,OAAO,MAAM,CAAC,OAAO,UAAU,GAAG,OAAO,OAAO,IAAI;IACvF,MAAM,QAAQ,MAAM,UAAU,OAAO,MAAM,OAAO,KAAK;IACvD,MAAM,QAAuB;KAC3B,OAAO,OAAO;KACd,SAAS,aAAa,OAAO;KAC7B,GAAI,MAAM,SAAS,EAAE,MAAM,IAAI,CAAC;IAClC;IACA,OAAO,EAAE,KAAK,OAAO,KAAK,OAAO;GACnC;GACA,MAAM,OAAO,MAAM,YAAY,QAAQ,MAAM;GAC7C,IAAI,CAAC,MAAM,OAAO,EAAE,KAAK,aAAa,GAAG;GACzC,IAAI,OAAO,SAAS,UAClB,OAAO,SAAS,GAAG,MAAM;IAAE,GAAG;IAAS,gBAAgB,UAAU;GAAmB,CAAC;GAEvF,OAAO,SAAS,GAAG,MAAM;IACvB,GAAG;IACH,gBAAgB,aAAa,IAAI;IACjC,2BAA2B;GAC7B,CAAC;EACH;EACA,IAAI,KAAK,WAAW,OAAO,KAAK,KAAK,WAAW,MAAM,GAAG,OAAO,EAAE,KAAK,aAAa,GAAG;EACvF,OAAO,SAAS,GAAG,QAAQ,QAAQ,IAAI;CACzC,CAAC;CAED,OAAO;AACT;AAEA,MAAM,WAAW;AAEjB,eAAe,SAAS,GAAY,KAAa,MAAiC;CAChF,MAAM,SAAS,QAAQ,GAAG;CAC1B,MAAM,OAAO,SAAS,KAAK,eAAe;CAC1C,IAAI,CAAC,SAAS,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,OAAO,EAAE,KAAK,aAAa,GAAG;CAC/E,MAAM,OAAO,KAAK,QAAQ,GAAG,KAAK,MAAM,GAAG,CAAC;CAC5C,IAAI,CAAC,KAAK,WAAW,SAAS,GAAG,GAAG,OAAO,EAAE,KAAK,aAAa,GAAG;CAClE,IAAI;EACF,IAAI,EAAE,MAAM,KAAK,IAAI,EAAA,CAAG,OAAO,GAAG,OAAO,EAAE,KAAK,aAAa,GAAG;CAClE,QAAQ;EACN,OAAO,EAAE,KAAK,aAAa,GAAG;CAChC;CACA,MAAM,SAAS,KAAK,WAAW,SAAS;CACxC,OAAO,SAAS,GAAG,MAAM;EACvB,gBAAgB,UAAU,QAAQ,IAAI,MAAM;EAC5C,iBAAiB,SAAS,wCAAwC;EAClE,GAAI,SAAS,eAAe,EAAE,2BAA2B,QAAQ,IAAI,CAAC;CACxE,CAAC;AACH"}
@@ -0,0 +1,166 @@
1
+ import { t as parseDuration } from "./duration-CEOQww97.js";
2
+ import { z } from "zod";
3
+ //#region src/contract/shared.ts
4
+ /** A string with something other than whitespace in it. */
5
+ const nonEmpty = () => z.string().regex(/\S/, "must not be empty");
6
+ const jsonValueSchema = z.lazy(() => z.union([
7
+ z.string(),
8
+ z.number(),
9
+ z.boolean(),
10
+ z.null(),
11
+ z.array(jsonValueSchema),
12
+ z.record(z.string(), jsonValueSchema)
13
+ ]));
14
+ z.globalRegistry.add(jsonValueSchema, { description: "Any JSON value." });
15
+ const DURATION = /^(?=.*[1-9])\d+(\.\d+)?(ms|s|m|h)$/;
16
+ const durationSchema = z.union([z.number().positive(), z.templateLiteral([z.number(), z.enum([
17
+ "ms",
18
+ "s",
19
+ "m",
20
+ "h"
21
+ ])]).check(z.regex(DURATION)).meta({ pattern: DURATION.source })]).describe("More than zero: `90s`, `15m`, `1h`, or a number of milliseconds.");
22
+ /** `parseDuration`'s sentence for a value that isn't a duration, or undefined when it is one. */
23
+ function durationProblem(value) {
24
+ try {
25
+ parseDuration(value);
26
+ return;
27
+ } catch (error) {
28
+ return error.message;
29
+ }
30
+ }
31
+ const got = (value) => JSON.stringify(value);
32
+ /** The part of `value` an issue's path points at. */
33
+ function valueAt(value, path) {
34
+ let at = value;
35
+ for (const key of path) at = at?.[key];
36
+ return at;
37
+ }
38
+ /**
39
+ * The issue a refusal explains: an unknown key at the top first, then the issue whose path starts
40
+ * at the earliest key in `order` (the order the hand-written checks ran in), then Zod's order.
41
+ */
42
+ function firstIssue(issues, order = []) {
43
+ const rank = (issue) => {
44
+ if (issue.code === "unrecognized_keys" && issue.path.length === 0) return -1;
45
+ const at = order.indexOf(String(issue.path[0]));
46
+ return at === -1 ? order.length : at;
47
+ };
48
+ return [...issues].sort((a, b) => rank(a) - rank(b))[0];
49
+ }
50
+ /** An issue's path as it reads in code: `files["a.txt"]`, `tools[0].ok`. */
51
+ function fieldPath(path) {
52
+ return path.map((key, i) => typeof key === "number" ? `[${key}]` : /^[A-Za-z_$][\w$]*$/.test(String(key)) ? `${i ? "." : ""}${String(key)}` : `[${JSON.stringify(String(key))}]`).join("");
53
+ }
54
+ const EXPECTED = {
55
+ string: "a string",
56
+ number: "a number",
57
+ int: "a whole number",
58
+ boolean: "true or false",
59
+ object: "an object",
60
+ array: "a list",
61
+ record: "an object"
62
+ };
63
+ /** `'a', 'b' or 'c'`, or `one of …` for a list of values. */
64
+ function oneOf(values) {
65
+ const quoted = values.map((v) => typeof v === "string" ? `'${v}'` : String(v));
66
+ if (quoted.length < 2) return quoted.join("");
67
+ return `${quoted.length > 2 ? "one of " : ""}${quoted.slice(0, -1).join(", ")} or ${quoted.at(-1)}`;
68
+ }
69
+ /**
70
+ * The sentence for an issue no hand-written one covers, naming the field as `call({ field })`
71
+ * (or bare, without a `call`):
72
+ * an unknown key, a value of the wrong type, or Zod's own words for anything else.
73
+ */
74
+ function genericProblem(call, issue, value) {
75
+ issue = closestBranch(issue);
76
+ const path = fieldPath(issue.path);
77
+ const at = call ? `${call}({ ${path} })` : path;
78
+ if (issue.code === "unrecognized_keys") return `${at} has an unknown key "${issue.keys[0]}"`;
79
+ const v = valueAt(value, issue.path);
80
+ if (issue.code === "invalid_value") return `${at} is ${oneOf(issue.values)} (got ${got(v)})`;
81
+ const expected = issue.code === "invalid_type" ? EXPECTED[issue.expected] : void 0;
82
+ if (expected && v === void 0) return `${at} is missing: it must be ${expected}`;
83
+ if (expected) return `${at} must be ${expected} (got ${got(v)})`;
84
+ return `${at}${/^(must|needs) /.test(issue.message) ? ` ${issue.message}` : `: ${issue.message}`} (got ${got(v)})`;
85
+ }
86
+ /**
87
+ * For a union that matched no form, the issue in the form that got furthest (its issue sits
88
+ * deepest, then fewest issues), with the union's path in front: a capture missing its `file`
89
+ * names `file`, not the whole union, and an unknown key in that form comes first. The union's own
90
+ * issue when every form failed at its root.
91
+ */
92
+ function closestBranch(issue) {
93
+ if (issue.code !== "invalid_union" || !("errors" in issue) || !issue.errors.length) return issue;
94
+ const depth = (branch) => Math.max(...branch.map((i) => i.path.length));
95
+ const [best] = [...issue.errors].filter((branch) => branch.length > 0).sort((a, b) => depth(b) - depth(a) || a.length - b.length);
96
+ if (!best || depth(best) === 0) return issue;
97
+ const inner = best.find((i) => i.code === "unrecognized_keys") ?? best[0];
98
+ return closestBranch({
99
+ ...inner,
100
+ path: [...issue.path, ...inner.path]
101
+ });
102
+ }
103
+ /**
104
+ * reeval's sentence for what `schema` refuses in data a runner in another language sent, naming
105
+ * the field by its path in `what` ("The declaration tree", "The attempt request"), or undefined.
106
+ * An unknown key comes first, since it's usually a typo of a missing one; `keysAt` gives the keys
107
+ * the object holding it takes, for "Did you mean".
108
+ */
109
+ function dataProblem(schema, value, what, keysAt) {
110
+ const result = schema.safeParse(value);
111
+ if (result.success) return void 0;
112
+ const { issues } = result.error;
113
+ const issue = closestBranch(issues.find((i) => i.code === "unrecognized_keys") ?? issues[0]);
114
+ const field = fieldPath(issue.path);
115
+ const v = valueAt(value, issue.path);
116
+ if (issue.code === "invalid_union" && "options" in issue) return `${what}'s ${field} is ${oneOf(issue.options)} (got ${got(v)})`;
117
+ if (issue.code === "invalid_union") return `${field ? `${what}'s ${field}` : what} matches none of its forms (got ${got(v)})`;
118
+ if (issue.code === "unrecognized_keys") {
119
+ const near = closest(issue.keys[0], keysAt(v));
120
+ const hint = near ? `. Did you mean "${near}"?` : "";
121
+ return `${field ? `${what}'s ${field}` : what} has an unknown key "${issue.keys[0]}"${hint}`;
122
+ }
123
+ return `${what}'s ${genericProblem("", issue, value)}`;
124
+ }
125
+ /**
126
+ * reeval's sentence for what `schema` refuses in `value`, or undefined when it's accepted. Issues
127
+ * under a key in `skip` are left to a later check that names where the value was set.
128
+ */
129
+ function refusal(schema, value, explain, { order = [], skip = [] } = {}) {
130
+ const result = schema.safeParse(value);
131
+ if (result.success) return void 0;
132
+ const issues = result.error.issues.filter((i) => !skip.includes(String(i.path[0])));
133
+ return issues.length ? explain(firstIssue(issues, order), value) : void 0;
134
+ }
135
+ /**
136
+ * The closest of `keys` to an unknown `key`, for "Did you mean", when it's a likely typo: one or
137
+ * two edits away, or the same letters in another case.
138
+ */
139
+ function closest(key, keys) {
140
+ let best;
141
+ for (const candidate of keys) {
142
+ const distance = candidate.toLowerCase() === key.toLowerCase() ? 0 : editDistance(key, candidate);
143
+ if (!best || distance < best.distance) best = {
144
+ key: candidate,
145
+ distance
146
+ };
147
+ }
148
+ const allowed = Math.min(2, Math.max(1, Math.floor(key.length / 3)));
149
+ return best && best.distance <= allowed ? best.key : void 0;
150
+ }
151
+ /** Edits from `a` to `b`: insertions, deletions, substitutions and swaps of neighbours. */
152
+ function editDistance(a, b) {
153
+ const d = Array.from({ length: a.length + 1 }, (_, i) => Array.from({ length: b.length + 1 }, (_, j) => i === 0 ? j : j === 0 ? i : 0));
154
+ const at = (i, j) => d[i]?.[j];
155
+ for (let i = 1; i <= a.length; i++) for (let j = 1; j <= b.length; j++) {
156
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
157
+ let best = Math.min(at(i - 1, j) + 1, at(i, j - 1) + 1, at(i - 1, j - 1) + cost);
158
+ if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) best = Math.min(best, at(i - 2, j - 2) + 1);
159
+ d[i][j] = best;
160
+ }
161
+ return at(a.length, b.length);
162
+ }
163
+ //#endregion
164
+ export { fieldPath as a, jsonValueSchema as c, refusal as d, valueAt as f, durationSchema as i, nonEmpty as l, dataProblem as n, genericProblem as o, durationProblem as r, got as s, closest as t, oneOf as u };
165
+
166
+ //# sourceMappingURL=shared-DYpIb1BI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-DYpIb1BI.js","names":[],"sources":["../src/contract/shared.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as listRuns, f as runDir, l as recordFile, p as scratchDir } from "./files-CSzVADHn.js";
1
+ import { a as listRuns, f as runDir, l as recordFile, p as scratchDir } from "./files-BXUdY8tr.js";
2
2
  import { join, sep } from "node:path";
3
3
  import { realpath, stat } from "node:fs/promises";
4
4
  //#region src/studio/source.ts
@@ -37,4 +37,4 @@ async function resolveFile(source, target) {
37
37
  //#endregion
38
38
  export { resolveFile as n, listHeaders as t };
39
39
 
40
- //# sourceMappingURL=source-Dof0NQBm.js.map
40
+ //# sourceMappingURL=source-C8xumIWj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-Dof0NQBm.js","names":[],"sources":["../src/studio/source.ts"],"mappings":";;;;;AAcA,eAAsB,YAAY,QAA+C;CAC/E,MAAM,OAAO,MAAM,SAAS,OAAO,MAAM,OAAO,YAAY,IAAI;CAChE,IAAI,CAAC,OAAO,SAAS,OAAO;CAC5B,MAAM,MAAM,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,KAAK,CAAC;CAC5C,MAAM,UAAU,MAAM,SAAS,OAAO,MAAM,WAAW,OAAO,IAAI,GAAG,KAAK;CAC1E,OAAO,CAAC,GAAG,MAAM,GAAG,QAAQ,QAAQ,MAAM,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MACrE,EAAE,QAAQ,EAAE,QAAQ,KAAK,CAC3B;AACF;AAEA,MAAM,UAAU,WACd,OAAO,UAAU,CAAC,OAAO,YAAY,WAAW,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,UAAU;AAEpF,eAAe,OAAO,MAAc,MAAsC;CACxE,IAAI;EACF,MAAM,CAAC,UAAU,QAAQ,MAAM,QAAQ,IAAI,CAAC,SAAS,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC;EAC3E,IAAI,CAAC,KAAK,WAAW,WAAW,GAAG,GAAG,OAAO;EAC7C,QAAQ,MAAM,KAAK,IAAI,EAAA,CAAG,OAAO,IAAI,OAAO;CAC9C,QAAQ;EACN,OAAO;CACT;AACF;;;;;AAMA,eAAsB,YACpB,QACA,QACwB;CACxB,KAAK,MAAM,OAAO,OAAO,MAAM,GAAG;EAChC,MAAM,SAAS,MAAM,OAAO,KAAK,WAAW,KAAK,OAAO,KAAK,CAAC;EAC9D,IAAI,CAAC,QAAQ;EACb,IAAI,OAAO,SAAS,UAAU,OAAO;EACrC,MAAM,YAAY,OAAO,KAAK,OAAO,KAAK;EAC1C,OAAO,OAAO,WAAW,KAAK,WAAW,GAAG,OAAO,QAAQ,CAAC;CAC9D;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"source-C8xumIWj.js","names":[],"sources":["../src/studio/source.ts"],"mappings":";;;;;AAcA,eAAsB,YAAY,QAA+C;CAC/E,MAAM,OAAO,MAAM,SAAS,OAAO,MAAM,OAAO,YAAY,IAAI;CAChE,IAAI,CAAC,OAAO,SAAS,OAAO;CAC5B,MAAM,MAAM,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,KAAK,CAAC;CAC5C,MAAM,UAAU,MAAM,SAAS,OAAO,MAAM,WAAW,OAAO,IAAI,GAAG,KAAK;CAC1E,OAAO,CAAC,GAAG,MAAM,GAAG,QAAQ,QAAQ,MAAM,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MACrE,EAAE,QAAQ,EAAE,QAAQ,KAAK,CAC3B;AACF;AAEA,MAAM,UAAU,WACd,OAAO,UAAU,CAAC,OAAO,YAAY,WAAW,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,UAAU;AAEpF,eAAe,OAAO,MAAc,MAAsC;CACxE,IAAI;EACF,MAAM,CAAC,UAAU,QAAQ,MAAM,QAAQ,IAAI,CAAC,SAAS,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC;EAC3E,IAAI,CAAC,KAAK,WAAW,WAAW,GAAG,GAAG,OAAO;EAC7C,QAAQ,MAAM,KAAK,IAAI,EAAA,CAAG,OAAO,IAAI,OAAO;CAC9C,QAAQ;EACN,OAAO;CACT;AACF;;;;;AAMA,eAAsB,YACpB,QACA,QACwB;CACxB,KAAK,MAAM,OAAO,OAAO,MAAM,GAAG;EAChC,MAAM,SAAS,MAAM,OAAO,KAAK,WAAW,KAAK,OAAO,KAAK,CAAC;EAC9D,IAAI,CAAC,QAAQ;EACb,IAAI,OAAO,SAAS,UAAU,OAAO;EACrC,MAAM,YAAY,OAAO,KAAK,OAAO,KAAK;EAC1C,OAAO,OAAO,WAAW,KAAK,WAAW,GAAG,OAAO,QAAQ,CAAC;CAC9D;CACA,OAAO;AACT"}
@@ -0,0 +1 @@
1
+ export { t as listHeaders } from "./source-C8xumIWj.js";