reeval 0.8.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 (326) hide show
  1. package/README.md +52 -40
  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-B72lZ6w5.js → agent-CURAwx_q.js} +6 -6
  8. package/dist/{agent-B72lZ6w5.js.map → agent-CURAwx_q.js.map} +1 -1
  9. package/dist/{agent-Cfj1wD4D.js → agent-CaS_2Sce.js} +92 -26
  10. package/dist/agent-CaS_2Sce.js.map +1 -0
  11. package/dist/{analysis-BTNnKh1w.js → analysis-Bxub9LMT.js} +4 -4
  12. package/dist/{analysis-BTNnKh1w.js.map → analysis-Bxub9LMT.js.map} +1 -1
  13. package/dist/{assemble-BbFVjHeS.js → assemble-B9Alds-z.js} +290 -30
  14. package/dist/assemble-B9Alds-z.js.map +1 -0
  15. package/dist/assemble-J5MukZFY.js +1 -0
  16. package/dist/{client-CwzU9CiW.js → assert-EUIoRdIt.js} +38 -112
  17. package/dist/assert-EUIoRdIt.js.map +1 -0
  18. package/dist/bridge/index.mjs +248 -55
  19. package/dist/{capture-BXhBfmsM.js → capture-CNb9SuU5.js} +204 -39
  20. package/dist/capture-CNb9SuU5.js.map +1 -0
  21. package/dist/capture-jquXZBKK.js +1 -0
  22. package/dist/{cli-BMjTKY-D.js → cli-D303Vj5N.js} +257 -146
  23. package/dist/cli-D303Vj5N.js.map +1 -0
  24. package/dist/{cli-spec-DSvKsOK4.js → cli-spec-BPZbQG2p.js} +38 -19
  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-JPGNzFsA.js → command-BLfT7vnQ.js} +19 -18
  31. package/dist/command-BLfT7vnQ.js.map +1 -0
  32. package/dist/{command-BK4kOgkH.js → command-BT9a37ZR.js} +381 -78
  33. package/dist/command-BT9a37ZR.js.map +1 -0
  34. package/dist/{command-BqJtFiPy.js → command-Bge8F7Ko.js} +384 -101
  35. package/dist/command-Bge8F7Ko.js.map +1 -0
  36. package/dist/command-BkFjijN2.js +1 -0
  37. package/dist/{command-BdstSEHu.js → command-CMJtHKRa.js} +14 -14
  38. package/dist/{command-BdstSEHu.js.map → command-CMJtHKRa.js.map} +1 -1
  39. package/dist/commands-1p-bIWhN.js +1 -0
  40. package/dist/{commands-B618jg3C.js → commands-BFx16WB8.js} +8 -8
  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-CvUv7DUb.js → context-C1mxXh80.js} +11 -7
  45. package/dist/context-C1mxXh80.js.map +1 -0
  46. package/dist/{db-DFbtGIYy.js → db-CdHizc4_.js} +582 -53
  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-2qns7hJ2.js → docker-7b_2SaH7.js} +35 -22
  53. package/dist/docker-7b_2SaH7.js.map +1 -0
  54. package/dist/{docker-IFRW8K5f.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-B6oYTPoR.js → doctor-BYNok4UO.js} +263 -84
  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-IUKdeayc.js → egress-C4PZTSSe.js} +147 -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/family-D2b7WD10.js +67 -0
  73. package/dist/family-D2b7WD10.js.map +1 -0
  74. package/dist/files-BAt0i00X.js +1 -0
  75. package/dist/{files-CMSUXAEg.js → files-BXUdY8tr.js} +10 -9
  76. package/dist/{files-CMSUXAEg.js.map → files-BXUdY8tr.js.map} +1 -1
  77. package/dist/files-BhyltlDB.js +1 -0
  78. package/dist/files-Bk1mC3AN.js +43 -0
  79. package/dist/files-Bk1mC3AN.js.map +1 -0
  80. package/dist/{files-B6aVVGrk.js → files-DQmHE7pb.js} +5 -5
  81. package/dist/{files-B6aVVGrk.js.map → files-DQmHE7pb.js.map} +1 -1
  82. package/dist/files-ZZPqfAo6.js +1 -0
  83. package/dist/{git-EmdFJ4DY.js → git-DfG-YJ1u.js} +2 -2
  84. package/dist/{git-EmdFJ4DY.js.map → git-DfG-YJ1u.js.map} +1 -1
  85. package/dist/harness-B8QC9u0O.js +323 -0
  86. package/dist/harness-B8QC9u0O.js.map +1 -0
  87. package/dist/harness.d.ts +19 -31
  88. package/dist/harness.js +1 -2
  89. package/dist/{header-_F0EWob3.js → header-hK-Z_Po9.js} +10 -3
  90. package/dist/{header-_F0EWob3.js.map → header-hK-Z_Po9.js.map} +1 -1
  91. package/dist/{images-CscddrJU.js → images-0On0cztu.js} +114 -45
  92. package/dist/images-0On0cztu.js.map +1 -0
  93. package/dist/index.d.ts +10 -26
  94. package/dist/index.js +6 -2108
  95. package/dist/{init-NQfIvi-0.js → init-B77Rpcqc.js} +26 -8
  96. package/dist/init-B77Rpcqc.js.map +1 -0
  97. package/dist/init-BrOWin3W.js +1 -0
  98. package/dist/{invocations-nPvrlZPj.js → invocations-DbGfBAA_.js} +4 -4
  99. package/dist/{invocations-nPvrlZPj.js.map → invocations-DbGfBAA_.js.map} +1 -1
  100. package/dist/{judge-CeYPN8P_.js → judge-DW_GDOmB.js} +11 -19
  101. package/dist/{judge-CeYPN8P_.js.map → judge-DW_GDOmB.js.map} +1 -1
  102. package/dist/judge.d.ts +2 -2
  103. package/dist/judge.js +1 -1
  104. package/dist/{live-S0qODb6o.js → live-jlfszAbb.js} +9 -20
  105. package/dist/live-jlfszAbb.js.map +1 -0
  106. package/dist/matchers-Ddmc2z7H.js +118 -0
  107. package/dist/matchers-Ddmc2z7H.js.map +1 -0
  108. package/dist/{model-DEQo3FkZ.js → model-DaVCY3rb.js} +2 -2
  109. package/dist/{model-DEQo3FkZ.js.map → model-DaVCY3rb.js.map} +1 -1
  110. package/dist/model-NM3ID0uR.js +1 -0
  111. package/dist/{model-Cl507trk.js → model-h_cDtcRr.js} +19 -18
  112. package/dist/model-h_cDtcRr.js.map +1 -0
  113. package/dist/model-nwWJvaUR.js +1 -0
  114. package/dist/{model-BndnmcLm.js → model-oqcDplJG.js} +271 -34
  115. package/dist/model-oqcDplJG.js.map +1 -0
  116. package/dist/{node-Co7EXge0.js → node-B3ydHo6t.js} +10 -47
  117. package/dist/node-B3ydHo6t.js.map +1 -0
  118. package/dist/object-CLf2-tNq.js +9 -0
  119. package/dist/object-CLf2-tNq.js.map +1 -0
  120. package/dist/{opencode-providers-ByD85Q0l.js → opencode-providers-J9colP0-.js} +96 -21
  121. package/dist/opencode-providers-J9colP0-.js.map +1 -0
  122. package/dist/options-Bh2W63dK.js +1119 -0
  123. package/dist/options-Bh2W63dK.js.map +1 -0
  124. package/dist/{pairs-DDsjgm5F.js → pairs-CnInRu-G.js} +76 -2
  125. package/dist/{pairs-DDsjgm5F.js.map → pairs-CnInRu-G.js.map} +1 -1
  126. package/dist/{patch-CGCVipPu.js → patch-Zac5aIRM.js} +6 -6
  127. package/dist/{patch-CGCVipPu.js.map → patch-Zac5aIRM.js.map} +1 -1
  128. package/dist/{plan-PPc4-6xd.js → plan-C9Cy27Ay.js} +75 -32
  129. package/dist/plan-C9Cy27Ay.js.map +1 -0
  130. package/dist/preflight-CPWpQeBI.js +1 -0
  131. package/dist/{preflight-CddycK92.js → preflight-D7iFPKeK.js} +8 -7
  132. package/dist/preflight-D7iFPKeK.js.map +1 -0
  133. package/dist/prepare-BGjePFQl.js +2 -0
  134. package/dist/{prepare-CsP-057p.js → prepare-doGxaAGR.js} +38 -30
  135. package/dist/prepare-doGxaAGR.js.map +1 -0
  136. package/dist/process-CSVO_jsc.js +119 -0
  137. package/dist/process-CSVO_jsc.js.map +1 -0
  138. package/dist/{provenance-CsX6PHDR.js → provenance-DmE9uPVt.js} +4 -4
  139. package/dist/{provenance-CsX6PHDR.js.map → provenance-DmE9uPVt.js.map} +1 -1
  140. package/dist/provider-DehR4CMN.js +1 -0
  141. package/dist/providers-gDMko8fl.js +1 -0
  142. package/dist/providers-tAOD1NQN.js +165 -0
  143. package/dist/providers-tAOD1NQN.js.map +1 -0
  144. package/dist/{query-BUcwCYsI.js → query-Bes9Kh6Y.js} +3 -3
  145. package/dist/{query-BUcwCYsI.js.map → query-Bes9Kh6Y.js.map} +1 -1
  146. package/dist/query-C_G_svLU.js +1 -0
  147. package/dist/questions-DjAwMxZ3.js +524 -0
  148. package/dist/questions-DjAwMxZ3.js.map +1 -0
  149. package/dist/{record-BRP9vZrj.js → record-BKmMvZ6O.js} +9 -1
  150. package/dist/{record-BRP9vZrj.js.map → record-BKmMvZ6O.js.map} +1 -1
  151. package/dist/remote-HDRt16ew.js +378 -0
  152. package/dist/remote-HDRt16ew.js.map +1 -0
  153. package/dist/{results-BcSHWbgB.js → results-DuauQI3Z.js} +4 -4
  154. package/dist/{results-BcSHWbgB.js.map → results-DuauQI3Z.js.map} +1 -1
  155. package/dist/{resume-DZ9AmfPv.js → resume-BRfa8E_s.js} +10 -10
  156. package/dist/{resume-DZ9AmfPv.js.map → resume-BRfa8E_s.js.map} +1 -1
  157. package/dist/{root-CvdRlRZX.js → root-DICDHCtp.js} +4 -4
  158. package/dist/{root-CvdRlRZX.js.map → root-DICDHCtp.js.map} +1 -1
  159. package/dist/{runtime-Dfb2r-cS.js → runtime-PX_oXiCS.js} +105 -11
  160. package/dist/runtime-PX_oXiCS.js.map +1 -0
  161. package/dist/sandbox-D3A8oUb7.js +70 -0
  162. package/dist/sandbox-D3A8oUb7.js.map +1 -0
  163. package/dist/sandbox.d.ts +22 -8
  164. package/dist/sandbox.js +1 -2
  165. package/dist/server-C7sg1ndo.js +1 -0
  166. package/dist/{server-Da60oe4b.js → server-XDleKaF_.js} +11 -11
  167. package/dist/server-XDleKaF_.js.map +1 -0
  168. package/dist/shared-DYpIb1BI.js +166 -0
  169. package/dist/shared-DYpIb1BI.js.map +1 -0
  170. package/dist/{source-BVOnL3sn.js → source-C8xumIWj.js} +2 -2
  171. package/dist/{source-BVOnL3sn.js.map → source-C8xumIWj.js.map} +1 -1
  172. package/dist/source-fGd0SaKP.js +1 -0
  173. package/dist/{src-TdJuDYqB.js → src-B7treWa8.js} +1597 -292
  174. package/dist/src-B7treWa8.js.map +1 -0
  175. package/dist/{src-C1E9HDWO.js → src-C7_1SqDP.js} +3 -3
  176. package/dist/{src-C1E9HDWO.js.map → src-C7_1SqDP.js.map} +1 -1
  177. package/dist/{src-DDNXsD9H.js → src-CF17Ug08.js} +5 -4
  178. package/dist/src-CF17Ug08.js.map +1 -0
  179. package/dist/{src-D_cXqmnI.js → src-CFp86GtV.js} +60 -60
  180. package/dist/src-CFp86GtV.js.map +1 -0
  181. package/dist/src-C_lPtowT.js +2 -0
  182. package/dist/src-DIL0jST0.js +368 -0
  183. package/dist/src-DIL0jST0.js.map +1 -0
  184. package/dist/src-DNnG4e4R.js +2 -0
  185. package/dist/src-DTbrY1hi.js +2 -0
  186. package/dist/src-DdyJEh2v.js +2 -0
  187. package/dist/src-Dj9PAroc.js +2 -0
  188. package/dist/src-Du8H85Qq.js +2 -0
  189. package/dist/src-DvCg0NBs.js +324 -0
  190. package/dist/src-DvCg0NBs.js.map +1 -0
  191. package/dist/{src-CxTC5kNI.js → src-DvK0EIZx.js} +8 -10
  192. package/dist/{src-CxTC5kNI.js.map → src-DvK0EIZx.js.map} +1 -1
  193. package/dist/{src-DVy58-zZ.js → src-FGXhkEkH.js} +5 -5
  194. package/dist/{src-DVy58-zZ.js.map → src-FGXhkEkH.js.map} +1 -1
  195. package/dist/src-jzagbuqH.js +2 -0
  196. package/dist/src-ofUaYbuY.js +3 -0
  197. package/dist/src-pJZOrYR9.js +1 -0
  198. package/dist/{src-D95O-Smv.js → src-u8_ixn_F.js} +15 -11
  199. package/dist/src-u8_ixn_F.js.map +1 -0
  200. package/dist/{state-B72h_jEw.js → state-C__9swoG.js} +36 -24
  201. package/dist/state-C__9swoG.js.map +1 -0
  202. package/dist/state-CeR6oz0k.js +66 -0
  203. package/dist/state-CeR6oz0k.js.map +1 -0
  204. package/dist/state-CgjQo29K.js +1 -0
  205. package/dist/studio-app/assets/index-CwQN3f_h.css +2 -0
  206. package/dist/studio-app/assets/{index-Bgr-efZm.js → index-DrQc2Yxd.js} +12 -12
  207. package/dist/studio-app/index.html +2 -2
  208. package/dist/{summary-k3mhWWXv.js → summary-BLAVLySU.js} +202 -17
  209. package/dist/summary-BLAVLySU.js.map +1 -0
  210. package/dist/{summary-CJdxaRdM.js → summary-DgyjUh_l.js} +7 -7
  211. package/dist/{summary-CJdxaRdM.js.map → summary-DgyjUh_l.js.map} +1 -1
  212. package/dist/testing.d.ts +3 -2
  213. package/dist/testing.js +3 -2
  214. package/dist/{tool-target-BU1JnSE9.js → tool-target-D2mcYlSQ.js} +14 -7
  215. package/dist/tool-target-D2mcYlSQ.js.map +1 -0
  216. package/dist/{tools-D0gF2QoV.js → tools-GCyNYSc1.js} +7 -7
  217. package/dist/tools-GCyNYSc1.js.map +1 -0
  218. package/dist/transcript-BNNANU8A.js +64 -0
  219. package/dist/transcript-BNNANU8A.js.map +1 -0
  220. package/dist/types-C5vI3g1C.js.map +1 -1
  221. package/dist/{types-_LOFdPUf.d.ts → types-g17bRAzt.d.ts} +578 -49
  222. package/dist/{usage-DDF_6tkV.js → usage-CleNKkly.js} +4 -2
  223. package/dist/{usage-DDF_6tkV.js.map → usage-CleNKkly.js.map} +1 -1
  224. package/dist/view/index.d.ts +83 -17
  225. package/dist/view/index.js +7 -6
  226. package/dist/views-BW6oCDUQ.js +2 -0
  227. package/dist/{views-DZ1YDqey.js → views-BmQF4UCI.js} +13 -8
  228. package/dist/views-BmQF4UCI.js.map +1 -0
  229. package/dist/{worker-entry-DXeyWY-m.js → worker-entry-yOchGYYv.js} +16 -225
  230. package/dist/worker-entry-yOchGYYv.js.map +1 -0
  231. package/dist/{workspace-DpXdrslo.js → workspace-CgyHEM0l.js} +7 -7
  232. package/dist/{workspace-DpXdrslo.js.map → workspace-CgyHEM0l.js.map} +1 -1
  233. package/dist/workspace-D8sSgpiy.js +1 -0
  234. package/docker/Dockerfile +7 -5
  235. package/package.json +12 -12
  236. package/dist/agent-Cfj1wD4D.js.map +0 -1
  237. package/dist/assemble-BbFVjHeS.js.map +0 -1
  238. package/dist/assemble-CXiTVyHD.js +0 -2
  239. package/dist/capture-BXhBfmsM.js.map +0 -1
  240. package/dist/capture-N7r3yeak.js +0 -2
  241. package/dist/cli-BMjTKY-D.js.map +0 -1
  242. package/dist/cli-spec-DSvKsOK4.js.map +0 -1
  243. package/dist/client-CwzU9CiW.js.map +0 -1
  244. package/dist/command-BK4kOgkH.js.map +0 -1
  245. package/dist/command-BqJtFiPy.js.map +0 -1
  246. package/dist/command-CTVGuH8y.js +0 -2
  247. package/dist/command-JPGNzFsA.js.map +0 -1
  248. package/dist/commands-B618jg3C.js.map +0 -1
  249. package/dist/commands-Duo2ur3r.js +0 -2
  250. package/dist/config-B-E0xRkf.js +0 -447
  251. package/dist/config-B-E0xRkf.js.map +0 -1
  252. package/dist/context-CvUv7DUb.js.map +0 -1
  253. package/dist/db-CnoUy-FZ.js +0 -3
  254. package/dist/db-DFbtGIYy.js.map +0 -1
  255. package/dist/debug-SEmW4w8f.js +0 -2
  256. package/dist/dist-CTzThfu_.js.map +0 -1
  257. package/dist/docker-2qns7hJ2.js.map +0 -1
  258. package/dist/docker-D6t23fZl.js +0 -2
  259. package/dist/docker-IFRW8K5f.js.map +0 -1
  260. package/dist/doctor-B6oYTPoR.js.map +0 -1
  261. package/dist/egress-IUKdeayc.js.map +0 -1
  262. package/dist/environment-DiCljXMD.js +0 -657
  263. package/dist/environment-DiCljXMD.js.map +0 -1
  264. package/dist/errors-C9w_ud7g.js.map +0 -1
  265. package/dist/errors-yDAEwmZo.js.map +0 -1
  266. package/dist/fake-instructions-CUI33I_F.js +0 -32
  267. package/dist/fake-instructions-CUI33I_F.js.map +0 -1
  268. package/dist/files-BM78_nnF.js +0 -2
  269. package/dist/files-BpYgF2z0.js +0 -2
  270. package/dist/files-YCCVaTQC.js +0 -2
  271. package/dist/harness-iqWeJQMM.js +0 -154
  272. package/dist/harness-iqWeJQMM.js.map +0 -1
  273. package/dist/images-CscddrJU.js.map +0 -1
  274. package/dist/index.js.map +0 -1
  275. package/dist/init-DBHyi92L.js +0 -2
  276. package/dist/init-NQfIvi-0.js.map +0 -1
  277. package/dist/jiti-BcJHCtrb.js +0 -46
  278. package/dist/jiti-BcJHCtrb.js.map +0 -1
  279. package/dist/live-S0qODb6o.js.map +0 -1
  280. package/dist/model-BbLGRtOs.js +0 -2
  281. package/dist/model-BndnmcLm.js.map +0 -1
  282. package/dist/model-Cl507trk.js.map +0 -1
  283. package/dist/model-DMOraCcm.js +0 -2
  284. package/dist/node-Co7EXge0.js.map +0 -1
  285. package/dist/opencode-providers-ByD85Q0l.js.map +0 -1
  286. package/dist/options-DPUlm4FI.js +0 -735
  287. package/dist/options-DPUlm4FI.js.map +0 -1
  288. package/dist/plan-PPc4-6xd.js.map +0 -1
  289. package/dist/preflight-CddycK92.js.map +0 -1
  290. package/dist/preflight-Zumy0adT.js +0 -2
  291. package/dist/prepare-CKdMoC7e.js +0 -3
  292. package/dist/prepare-CsP-057p.js.map +0 -1
  293. package/dist/provider-BDbNOQhQ.js +0 -2
  294. package/dist/providers-DkwiLKDS.js +0 -107
  295. package/dist/providers-DkwiLKDS.js.map +0 -1
  296. package/dist/providers-yXZZcPfx.js +0 -2
  297. package/dist/query-noGbekGF.js +0 -2
  298. package/dist/questions-BEPj98fZ.js +0 -234
  299. package/dist/questions-BEPj98fZ.js.map +0 -1
  300. package/dist/runtime-Dfb2r-cS.js.map +0 -1
  301. package/dist/sandbox--ZXuscAZ.js +0 -134
  302. package/dist/sandbox--ZXuscAZ.js.map +0 -1
  303. package/dist/server-Da60oe4b.js.map +0 -1
  304. package/dist/server-DiGR4JxK.js +0 -2
  305. package/dist/source-Dqu0jKwx.js +0 -2
  306. package/dist/src-BHNiP-5A.js +0 -4
  307. package/dist/src-BT4dB5CO.js +0 -2
  308. package/dist/src-BT5pwco0.js +0 -3
  309. package/dist/src-BrMbt1B2.js +0 -3
  310. package/dist/src-D13vpMh0.js +0 -3
  311. package/dist/src-D95O-Smv.js.map +0 -1
  312. package/dist/src-DDNXsD9H.js.map +0 -1
  313. package/dist/src-D_cXqmnI.js.map +0 -1
  314. package/dist/src-DdRlaiRc.js +0 -3
  315. package/dist/src-TdJuDYqB.js.map +0 -1
  316. package/dist/src-xczuQbE6.js +0 -3
  317. package/dist/state-B72h_jEw.js.map +0 -1
  318. package/dist/state-Bf_Vq_pV.js +0 -2
  319. package/dist/studio-app/assets/index-CUx6GoL5.css +0 -2
  320. package/dist/summary-k3mhWWXv.js.map +0 -1
  321. package/dist/tool-target-BU1JnSE9.js.map +0 -1
  322. package/dist/tools-D0gF2QoV.js.map +0 -1
  323. package/dist/views-DZ1YDqey.js.map +0 -1
  324. package/dist/views-Ds0GXWtX.js +0 -3
  325. package/dist/worker-entry-DXeyWY-m.js.map +0 -1
  326. package/dist/workspace-DzNL-3iO.js +0 -2
@@ -1,17 +1,108 @@
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
4
  //#region src/engine/expect.ts
5
5
  chai.use(JestExtend);
6
6
  chai.use(JestChaiExpect);
7
7
  chai.use(JestAsymmetricMatchers);
8
+ /**
9
+ * A value that names itself in a default label when its matcher takes no argument: `c.exec`'s
10
+ * promise names its command, a judge verdict its question.
11
+ */
12
+ const SUBJECT = Symbol.for("reeval.subject");
13
+ const recordings = /* @__PURE__ */ new WeakMap();
14
+ /** Methods on an assertion that configure it or are Chai's plumbing, not checks. */
15
+ const UNRECORDED = /* @__PURE__ */ new Set([
16
+ "withContext",
17
+ "withTest",
18
+ "assert",
19
+ "toString",
20
+ "toJSON",
21
+ "valueOf",
22
+ "then",
23
+ "catch",
24
+ "finally"
25
+ ]);
26
+ const flag = (assertion, name) => chai.util.flag(assertion, name);
27
+ const subjectOf = (value) => (typeof value === "object" || typeof value === "function") && value !== null ? value[SUBJECT] : void 0;
28
+ /** Can't answer either way: the harness doesn't report it, or the subject isn't one it reads. */
29
+ const isUnanswerable = (error) => error instanceof TypeError || error?.name === "HarnessCapabilityError";
30
+ /** Starts a record of `matcher` called on `assertion`, in call order. */
31
+ function begin(list, assertion, name, args) {
32
+ const message = flag(assertion, "message");
33
+ const entry = {
34
+ matcher: [
35
+ flag(assertion, "poll") && "poll",
36
+ flag(assertion, "promise"),
37
+ flag(assertion, "negate") && "not",
38
+ name
39
+ ].filter(Boolean).join("."),
40
+ args,
41
+ subject: subjectOf(flag(assertion, "object")),
42
+ ...typeof message === "string" && message ? { label: message } : {},
43
+ soft: !!flag(assertion, "soft")
44
+ };
45
+ list.push(entry);
46
+ return entry;
47
+ }
48
+ function settle(entry, error, startedAt) {
49
+ entry.status = error === void 0 ? "pass" : isUnanswerable(error) ? "error" : "fail";
50
+ if (error !== void 0) entry.error = error;
51
+ if (startedAt !== void 0) entry.durationMs = Math.round(performance.now() - startedAt);
52
+ }
53
+ /**
54
+ * Wraps an assertion so each matcher called on it is recorded on the attempt. A soft matcher's
55
+ * failure is caught here and kept on its entry, which fails the attempt at its end.
56
+ */
57
+ function recording(target, list) {
58
+ const chained = (value) => value instanceof chai.Assertion ? recording(value, list) : value;
59
+ const call = (fn, name, args) => {
60
+ if (flag(target, "poll")) return Reflect.apply(fn, target, args);
61
+ const entry = begin(list, target, name, args);
62
+ if (entry.soft) chai.util.flag(target, "soft", false);
63
+ const startedAt = performance.now();
64
+ let result;
65
+ try {
66
+ result = Reflect.apply(fn, target, args);
67
+ } catch (error) {
68
+ settle(entry, error);
69
+ if (entry.soft) return;
70
+ throw error;
71
+ }
72
+ if (!isThenable(result)) {
73
+ settle(entry, void 0);
74
+ return chained(result);
75
+ }
76
+ return Promise.resolve(result).then((value) => {
77
+ settle(entry, void 0, startedAt);
78
+ return value;
79
+ }, (error) => {
80
+ settle(entry, error, startedAt);
81
+ if (entry.soft) return;
82
+ throw error;
83
+ });
84
+ };
85
+ return new Proxy(target, { get(t, property) {
86
+ const value = Reflect.get(t, property);
87
+ if (typeof property === "symbol" || UNRECORDED.has(property)) return value;
88
+ if (typeof value !== "function") return chained(value);
89
+ return new Proxy(value, {
90
+ apply: (fn, _this, args) => call(fn, property, args),
91
+ get: (fn, key) => chained(Reflect.get(fn, key))
92
+ });
93
+ } });
94
+ }
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);
8
97
  /** An `expect` of its own for one attempt (or, without a task, the worker's). */
9
98
  function createExpect(task) {
99
+ const list = [];
100
+ if (task) recordings.set(task, list);
10
101
  const expect = ((value, message) => {
11
102
  const { assertionCalls } = getState(expect);
12
103
  setState({ assertionCalls: assertionCalls + 1 }, expect);
13
104
  const assertion = chai.expect(value, message);
14
- return task ? assertion.withTest(task) : assertion;
105
+ return task ? recording(assertion.withTest(task), list) : assertion;
15
106
  });
16
107
  Object.assign(expect, chai.expect);
17
108
  Object.assign(expect, globalThis[ASYMMETRIC_MATCHERS_OBJECT]);
@@ -29,7 +120,7 @@ function createExpect(task) {
29
120
  expect.extend = (matchers) => chai.expect.extend(expect, matchers);
30
121
  expect.addEqualityTesters = (testers) => addCustomEqualityTesters(testers);
31
122
  expect.soft = (value, message) => expect(value, message).withContext({ soft: true });
32
- expect.poll = createPoll(expect);
123
+ expect.poll = createPoll(expect, task && list);
33
124
  expect.unreachable = (message) => {
34
125
  chai.assert.fail(`expected${message ? ` "${message}" ` : " "}not to be reached`);
35
126
  };
@@ -55,7 +146,7 @@ function createExpect(task) {
55
146
  * `expect.poll(fn).matcher()`: calls `fn` and the matcher until the matcher passes, every
56
147
  * `interval` ms, for at most `timeout` ms, then fails with the last error.
57
148
  */
58
- function createPoll(expect) {
149
+ function createPoll(expect, list) {
59
150
  return (fn, options = {}) => {
60
151
  const { interval = 50, timeout = 1e3, message } = options;
61
152
  const assertion = expect(null, message);
@@ -65,15 +156,20 @@ function createPoll(expect) {
65
156
  if (typeof matcher !== "function") return matcher instanceof chai.Assertion ? proxy : matcher;
66
157
  return (...args) => {
67
158
  const location = /* @__PURE__ */ new Error("expect.poll");
159
+ const entry = list && begin(list, assertion, String(key), args);
160
+ const startedAt = performance.now();
68
161
  return (async () => {
69
162
  const deadline = Date.now() + timeout;
70
163
  const signal = AbortSignal.timeout(timeout);
71
164
  for (;;) try {
72
165
  chai.util.flag(assertion, "object", await fn({ signal }));
73
- return await Reflect.apply(matcher, assertion, args);
166
+ const result = await Reflect.apply(matcher, assertion, args);
167
+ if (entry) settle(entry, void 0, startedAt);
168
+ return result;
74
169
  } catch (error) {
75
170
  if (Date.now() + interval >= deadline) {
76
171
  if (error instanceof Error && location.stack) error.stack = location.stack.replace(location.message, error.message);
172
+ if (entry) settle(entry, error, startedAt);
77
173
  throw error;
78
174
  }
79
175
  await new Promise((resolve) => setTimeout(resolve, interval));
@@ -84,10 +180,8 @@ function createPoll(expect) {
84
180
  return proxy;
85
181
  };
86
182
  }
87
- /** The failure `expect.assertions`, `expect.hasAssertions` or `expect.soft` left on an attempt. */
88
- function attemptExpectError(expect, task) {
89
- const [soft] = task.result?.errors ?? [];
90
- 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) {
91
185
  const state = expect.getState();
92
186
  if (state.expectedAssertionsNumber !== null && state.expectedAssertionsNumber !== state.assertionCalls) return state.expectedAssertionsNumberErrorGen();
93
187
  if (state.isExpectingAssertions && state.assertionCalls === 0) return state.isExpectingAssertionsError;
@@ -197,6 +291,6 @@ const registerGroup = (name, mode, body) => active().registerGroup(name, mode, b
197
291
  const getRunContext = () => active().getRunContext();
198
292
  const collectingFile = () => active().collectingFile();
199
293
  //#endregion
200
- export { useEngine as a, expect as c, withAttemptExpect as d, registerTest as i, extendExpect as l, getRunContext as n, attemptExpectError as o, registerGroup as r, createExpect as s, collectingFile as t, unawaitedError 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 };
201
295
 
202
- //# sourceMappingURL=runtime-Dfb2r-cS.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 { A as DockerSandboxDescriptor, bt as SandboxDescriptor, q as FakeSandboxDescriptor } from "./types-_LOFdPUf.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:
@@ -20,13 +24,23 @@ export type DockerOptions = Omit<DockerSandboxDescriptor, 'kind' | 'dockerfile'>
20
24
  * needs either belongs in the environment's `setup`.
21
25
  *
22
26
  * 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. `root: true`
24
- * opts an eval into root; `capabilities` adds specific ones back.
27
+ * capability dropped, `no-new-privileges`, and `memory`, `cpus` and `pids` limits, with `swap`
28
+ * (as much as `memory` by default) on top of `memory`. `root: true` opts an eval into root;
29
+ * `capabilities` adds specific ones back.
25
30
  */
26
31
  export declare function docker(options?: DockerOptions): DockerSandboxDescriptor;
27
32
  /**
28
- * A temp directory on the host with no isolation. For tests and the fake harness only. `dir` may
29
- * 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)`.
30
44
  */
31
45
  export declare const fakeSandbox: ({ dir, ...options }?: Omit<FakeSandboxDescriptor, 'kind' | 'dir'> & {
32
46
  dir?: string | URL;
@@ -37,5 +51,5 @@ export declare const fakeSandbox: ({ dir, ...options }?: Omit<FakeSandboxDescrip
37
51
  dir?: string | undefined;
38
52
  };
39
53
  //#endregion
40
- export type { DockerSandboxDescriptor, FakeSandboxDescriptor, SandboxDescriptor };
54
+ export type { DockerOptions, DockerSandboxDescriptor, FakeSandboxDescriptor, SandboxDescriptor };
41
55
  //# sourceMappingURL=sandbox.d.ts.map
package/dist/sandbox.js CHANGED
@@ -1,2 +1 @@
1
- import { n as fakeSandbox, t as docker } from "./sandbox--ZXuscAZ.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-BTNnKh1w.js";
7
- import { v as indexFiles } from "./model-BndnmcLm.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-CMSUXAEg.js";
11
- import { n as resolveFile, t as listHeaders } from "./source-BVOnL3sn.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-CXiTVyHD.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-YCCVaTQC.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-Da60oe4b.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":"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"}
@@ -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":";;;;AAQA,MAAa,iBAAiB,EAAE,OAAO,CAAC,CAAC,MAAM,MAAM,mBAAmB;AAIxE,MAAa,kBAAwC,EAAE,WACrD,EAAE,MAAM;CACN,EAAE,OAAO;CACT,EAAE,OAAO;CACT,EAAE,QAAQ;CACV,EAAE,KAAK;CACP,EAAE,MAAM,eAAe;CACvB,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe;AACtC,CAAC,CACH;AACA,EAAE,eAAe,IAAI,iBAAiB,EAAE,aAAa,kBAAkB,CAAC;AAGxE,MAAM,WAAW;AAEjB,MAAa,iBAAiB,EAC3B,MAAM,CACL,EAAE,OAAO,CAAC,CAAC,SAAS,GAEpB,EACG,gBAAgB,CAAC,EAAE,OAAO,GAAG,EAAE,KAAK;CAAC;CAAM;CAAK;CAAK;AAAG,CAAC,CAAC,CAAC,CAAC,CAC5D,MAAM,EAAE,MAAM,QAAQ,CAAC,CAAC,CACxB,KAAK,EAAE,SAAS,SAAS,OAAO,CAAC,CACtC,CAAC,CAAC,CACD,SAAS,kEAAkE;;AAG9E,SAAgB,gBAAgB,OAAoC;CAClE,IAAI;EACF,cAAc,KAAiB;EAC/B;CACF,SAAS,OAAO;EACd,OAAQ,MAAgB;CAC1B;AACF;AASA,MAAa,OAAO,UAA2B,KAAK,UAAU,KAAK;;AAGnE,SAAgB,QAAQ,OAAgB,MAAuC;CAC7E,IAAI,KAAK;CACT,KAAK,MAAM,OAAO,MAAM,KAAM,KAAyD;CACvF,OAAO;AACT;;;;;AAMA,SAAgB,WAAW,QAA0B,QAA2B,CAAC,GAAU;CACzF,MAAM,QAAQ,UAAiB;EAC7B,IAAI,MAAM,SAAS,uBAAuB,MAAM,KAAK,WAAW,GAAG,OAAO;EAC1E,MAAM,KAAK,MAAM,QAAQ,OAAO,MAAM,KAAK,EAAE,CAAC;EAC9C,OAAO,OAAO,KAAK,MAAM,SAAS;CACpC;CACA,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACvD;;AAKA,SAAgB,UAAU,MAAsC;CAC9D,OAAO,KACJ,KAAK,KAAK,MACT,OAAO,QAAQ,WACX,IAAI,IAAI,KACR,qBAAqB,KAAK,OAAO,GAAG,CAAC,IACnC,GAAG,IAAI,MAAM,KAAK,OAAO,GAAG,MAC5B,IAAI,KAAK,UAAU,OAAO,GAAG,CAAC,EAAE,EACxC,CAAC,CACA,KAAK,EAAE;AACZ;AAEA,MAAM,WAAmC;CACvC,QAAQ;CACR,QAAQ;CACR,KAAK;CACL,SAAS;CACT,QAAQ;CACR,OAAO;CACP,QAAQ;AACV;;AAGA,SAAgB,MAAM,QAAoC;CACxD,MAAM,SAAS,OAAO,KAAK,MAAO,OAAO,MAAM,WAAW,IAAI,EAAE,KAAK,OAAO,CAAC,CAAE;CAC/E,IAAI,OAAO,SAAS,GAAG,OAAO,OAAO,KAAK,EAAE;CAC5C,OAAO,GAAG,OAAO,SAAS,IAAI,YAAY,KAAK,OAAO,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,OAAO,GAAG,EAAE;AAClG;;;;;;AAOA,SAAgB,eAAe,MAAc,OAAc,OAAwB;CACjF,QAAQ,cAAc,KAAK;CAC3B,MAAM,OAAO,UAAU,MAAM,IAAI;CACjC,MAAM,KAAK,OAAO,GAAG,KAAK,KAAK,KAAK,OAAO;CAC3C,IAAI,MAAM,SAAS,qBAAqB,OAAO,GAAG,GAAG,uBAAuB,MAAM,KAAK,GAAG;CAC1F,MAAM,IAAI,QAAQ,OAAO,MAAM,IAAI;CACnC,IAAI,MAAM,SAAS,iBAAiB,OAAO,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE;CAC1F,MAAM,WAAW,MAAM,SAAS,iBAAiB,SAAS,MAAM,YAAY,KAAA;CAC5E,IAAI,YAAY,MAAM,KAAA,GAAW,OAAO,GAAG,GAAG,0BAA0B;CACxE,IAAI,UAAU,OAAO,GAAG,GAAG,WAAW,SAAS,QAAQ,IAAI,CAAC,EAAE;CAE9D,OAAO,GAAG,KADO,iBAAiB,KAAK,MAAM,OAAO,IAAI,IAAI,MAAM,YAAY,KAAK,MAAM,UACjE,QAAQ,IAAI,CAAC,EAAE;AACzC;;;;;;;AAQA,SAAgB,cAAc,OAAqB;CACjD,IAAI,MAAM,SAAS,mBAAmB,EAAE,YAAY,UAAU,CAAC,MAAM,OAAO,QAAQ,OAAO;CAC3F,MAAM,SAAS,WAA6B,KAAK,IAAI,GAAG,OAAO,KAAK,MAAM,EAAE,KAAK,MAAM,CAAC;CACxF,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,CAC7B,QAAQ,WAAW,OAAO,SAAS,CAAC,CAAC,CACrC,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM;CAC5D,IAAI,CAAC,QAAQ,MAAM,IAAI,MAAM,GAAG,OAAO;CACvC,MAAM,QAAQ,KAAK,MAAM,MAAM,EAAE,SAAS,mBAAmB,KAAM,KAAK;CACxE,OAAO,cAAc;EAAE,GAAG;EAAO,MAAM,CAAC,GAAG,MAAM,MAAM,GAAG,MAAM,IAAI;CAAE,CAAU;AAClF;;;;;;;AAQA,SAAgB,YACd,QACA,OACA,MACA,QACoB;CACpB,MAAM,SAAS,OAAO,UAAU,KAAK;CACrC,IAAI,OAAO,SAAS,OAAO,KAAA;CAC3B,MAAM,EAAE,WAAW,OAAO;CAC1B,MAAM,QAAQ,cACZ,OAAO,MAAM,MAAM,EAAE,SAAS,mBAAmB,KAAM,OAAO,EAChE;CACA,MAAM,QAAQ,UAAU,MAAM,IAAI;CAClC,MAAM,IAAI,QAAQ,OAAO,MAAM,IAAI;CACnC,IAAI,MAAM,SAAS,mBAAmB,aAAa,OACjD,OAAO,GAAG,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,OAAoB,EAAE,QAAQ,IAAI,CAAC,EAAE;CAEnF,IAAI,MAAM,SAAS,iBACjB,OAAO,GAAG,QAAQ,GAAG,KAAK,KAAK,UAAU,KAAK,kCAAkC,IAAI,CAAC,EAAE;CAEzF,IAAI,MAAM,SAAS,qBAAqB;EACtC,MAAM,OAAO,QAAQ,MAAM,KAAK,IAAc,OAAO,CAA4B,CAAC;EAClF,MAAM,OAAO,OAAO,mBAAmB,KAAK,MAAM;EAClD,OAAO,GAAG,QAAQ,GAAG,KAAK,KAAK,UAAU,KAAK,uBAAuB,MAAM,KAAK,GAAG,GAAG;CACxF;CACA,OAAO,GAAG,KAAK,KAAK,eAAe,IAAI,OAAO,KAAK;AACrD;;;;;AAMA,SAAgB,QACd,QACA,OACA,SACA,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,MAA+D,CAAC,GAClE;CACpB,MAAM,SAAS,OAAO,UAAU,KAAK;CACrC,IAAI,OAAO,SAAS,OAAO,KAAA;CAC3B,MAAM,SAAS,OAAO,MAAM,OAAO,QAAQ,MAAM,CAAC,KAAK,SAAS,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;CAClF,OAAO,OAAO,SAAS,QAAQ,WAAW,QAAQ,KAAK,GAAG,KAAK,IAAI,KAAA;AACrE;;;;;AAMA,SAAgB,QAAQ,KAAa,MAA6C;CAChF,IAAI;CACJ,KAAK,MAAM,aAAa,MAAM;EAC5B,MAAM,WACJ,UAAU,YAAY,MAAM,IAAI,YAAY,IAAI,IAAI,aAAa,KAAK,SAAS;EACjF,IAAI,CAAC,QAAQ,WAAW,KAAK,UAAU,OAAO;GAAE,KAAK;GAAW;EAAS;CAC3E;CACA,MAAM,UAAU,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC;CACnE,OAAO,QAAQ,KAAK,YAAY,UAAU,KAAK,MAAM,KAAA;AACvD;;AAGA,SAAS,aAAa,GAAW,GAAmB;CAClD,MAAM,IAAI,MAAM,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG,MACjD,MAAM,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG,MAAO,MAAM,IAAI,IAAI,MAAM,IAAI,IAAI,CAAE,CAChF;CACA,MAAM,MAAM,GAAW,MAAc,EAAE,EAAE,GAAG;CAC5C,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,QAAQ,KAC7B,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,QAAQ,KAAK;EAClC,MAAM,OAAO,EAAE,IAAI,OAAO,EAAE,IAAI,KAAK,IAAI;EACzC,IAAI,OAAO,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI;EAC/E,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,IAAI,OAAO,EAAE,IAAI,MAAM,EAAE,IAAI,OAAO,EAAE,IAAI,IAChE,OAAO,KAAK,IAAI,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;EAE3C,EAAG,EAAE,CAAc,KAAK;CAC3B;CAEF,OAAO,GAAG,EAAE,QAAQ,EAAE,MAAM;AAC9B"}
@@ -1,4 +1,4 @@
1
- import { a as listRuns, f as runDir, l as recordFile, p as scratchDir } from "./files-CMSUXAEg.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-BVOnL3sn.js.map
40
+ //# sourceMappingURL=source-C8xumIWj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-BVOnL3sn.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";