reeval 0.9.0 → 0.11.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 (336) hide show
  1. package/README.md +99 -64
  2. package/THIRD_PARTY_NOTICES.md +288 -112
  3. package/assets/package.json +1 -1
  4. package/assets/pnpm-lock.yaml +30 -30
  5. package/dist/adapter-Bwy3QxAK.js +279 -0
  6. package/dist/adapter-Bwy3QxAK.js.map +1 -0
  7. package/dist/{agent-6FefIhX7.js → agent-D483ru7D.js} +6 -6
  8. package/dist/{agent-6FefIhX7.js.map → agent-D483ru7D.js.map} +1 -1
  9. package/dist/{agent-WSmTaesf.js → agent-DpE80WPz.js} +46 -15
  10. package/dist/agent-DpE80WPz.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-D5KGrwnJ.js +1 -0
  14. package/dist/{assemble-BCZzTyR7.js → assemble-D9GWr-HS.js} +69 -41
  15. package/dist/assemble-D9GWr-HS.js.map +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 +260 -60
  19. package/dist/{capture-Bp74Z6Fr.js → capture-BQlGHiMC.js} +146 -32
  20. package/dist/capture-BQlGHiMC.js.map +1 -0
  21. package/dist/capture-CYGLpWxR.js +1 -0
  22. package/dist/{cli-CVrMh_qz.js → cli-ClpPT8kn.js} +229 -537
  23. package/dist/cli-ClpPT8kn.js.map +1 -0
  24. package/dist/{cli-spec-CKEYa8V2.js → cli-spec-qmEnQ25_.js} +50 -22
  25. package/dist/cli-spec-qmEnQ25_.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-DUT5l13I.js → command-Bj39y-Wm.js} +329 -87
  31. package/dist/command-Bj39y-Wm.js.map +1 -0
  32. package/dist/{command-BFP0hKEb.js → command-BlM0y8jN.js} +14 -14
  33. package/dist/{command-BFP0hKEb.js.map → command-BlM0y8jN.js.map} +1 -1
  34. package/dist/command-C-cVjlny.js +1 -0
  35. package/dist/{command-CzIFp1JQ.js → command-DbAe1Rzb.js} +19 -19
  36. package/dist/command-DbAe1Rzb.js.map +1 -0
  37. package/dist/{command-C5xFPKHM.js → command-TgbzPizb.js} +378 -74
  38. package/dist/command-TgbzPizb.js.map +1 -0
  39. package/dist/commands-CthqwkAn.js +1 -0
  40. package/dist/{commands-CLmPBrTS.js → commands-YUwlyTbr.js} +14 -11
  41. package/dist/commands-YUwlyTbr.js.map +1 -0
  42. package/dist/config-DrVSEVN0.js +774 -0
  43. package/dist/config-DrVSEVN0.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/contrasts-5zsj32gk.js +101 -0
  47. package/dist/contrasts-5zsj32gk.js.map +1 -0
  48. package/dist/db-CKg5NtiW.js +2 -0
  49. package/dist/{db-CfQFwJtq.js → db-DfhipHEF.js} +467 -38
  50. package/dist/db-DfhipHEF.js.map +1 -0
  51. package/dist/debug-D7bEv_UV.js +1 -0
  52. package/dist/{dist-CTzThfu_.js → dist-CuY4ehEk.js} +95 -15
  53. package/dist/dist-CuY4ehEk.js.map +1 -0
  54. package/dist/{docker-CRQGQbIt.js → docker-D1HZDS6q.js} +22 -21
  55. package/dist/docker-D1HZDS6q.js.map +1 -0
  56. package/dist/docker-DNmMPOBb.js +1 -0
  57. package/dist/{docker-DV2GNgle.js → docker-DOvjji9I.js} +3 -3
  58. package/dist/docker-DOvjji9I.js.map +1 -0
  59. package/dist/{doctor-DlKycx5H.js → doctor-D2MbNO8L.js} +262 -84
  60. package/dist/doctor-D2MbNO8L.js.map +1 -0
  61. package/dist/{egress-BhzNh7Yi.js → egress-2-qzPvGi.js} +146 -15
  62. package/dist/egress-2-qzPvGi.js.map +1 -0
  63. package/dist/environment-Cca6a4wB.js +1132 -0
  64. package/dist/environment-Cca6a4wB.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-DKIl54Hb.js +2348 -0
  70. package/dist/evaluate-DKIl54Hb.js.map +1 -0
  71. package/dist/evaluate-DMyaGQEj.d.ts +92 -0
  72. package/dist/files-BAt0i00X.js +1 -0
  73. package/dist/{files-DJUFg-4e.js → files-BXHZFWmx.js} +5 -5
  74. package/dist/{files-DJUFg-4e.js.map → files-BXHZFWmx.js.map} +1 -1
  75. package/dist/files-Bk1mC3AN.js +43 -0
  76. package/dist/files-Bk1mC3AN.js.map +1 -0
  77. package/dist/{files-CSzVADHn.js → files-BpUYBwGu.js} +11 -10
  78. package/dist/{files-CSzVADHn.js.map → files-BpUYBwGu.js.map} +1 -1
  79. package/dist/files-Bw8lWEjg.js +1 -0
  80. package/dist/files-D6J0iSdx.js +1 -0
  81. package/dist/{git-DfG-YJ1u.js → git-Crl3b87o.js} +2 -2
  82. package/dist/{git-DfG-YJ1u.js.map → git-Crl3b87o.js.map} +1 -1
  83. package/dist/harness-CEuntrla.js +323 -0
  84. package/dist/harness-CEuntrla.js.map +1 -0
  85. package/dist/harness.d.ts +16 -30
  86. package/dist/harness.js +1 -2
  87. package/dist/{header-CALhmafp.js → header-DHQv_ZrF.js} +2 -2
  88. package/dist/{header-CALhmafp.js.map → header-DHQv_ZrF.js.map} +1 -1
  89. package/dist/{images-BMgdpMAX.js → images-Bi3aGxb9.js} +114 -45
  90. package/dist/images-Bi3aGxb9.js.map +1 -0
  91. package/dist/index.d.ts +9 -37
  92. package/dist/index.js +6 -2138
  93. package/dist/{init-BIdLF0F9.js → init-Cl3f3NBT.js} +26 -8
  94. package/dist/init-Cl3f3NBT.js.map +1 -0
  95. package/dist/init-fhOXED8F.js +1 -0
  96. package/dist/{invocations-CLaL8AuW.js → invocations-BYDPe3fV.js} +4 -4
  97. package/dist/{invocations-CLaL8AuW.js.map → invocations-BYDPe3fV.js.map} +1 -1
  98. package/dist/{judge-CeYPN8P_.js → judge-DW_GDOmB.js} +11 -19
  99. package/dist/{judge-CeYPN8P_.js.map → judge-DW_GDOmB.js.map} +1 -1
  100. package/dist/judge.d.ts +2 -2
  101. package/dist/judge.js +1 -1
  102. package/dist/{live-S0qODb6o.js → live-jlfszAbb.js} +9 -20
  103. package/dist/live-jlfszAbb.js.map +1 -0
  104. package/dist/matchers-Ddmc2z7H.js +118 -0
  105. package/dist/matchers-Ddmc2z7H.js.map +1 -0
  106. package/dist/model-CXhrziBe.js +1 -0
  107. package/dist/{model-B1BZoZ9b.js → model-D0IcOQao.js} +22 -20
  108. package/dist/model-D0IcOQao.js.map +1 -0
  109. package/dist/{model-DEQo3FkZ.js → model-DaVCY3rb.js} +2 -2
  110. package/dist/{model-DEQo3FkZ.js.map → model-DaVCY3rb.js.map} +1 -1
  111. package/dist/{model-BOnlAPzs.js → model-DaX4bNLZ.js} +123 -22
  112. package/dist/model-DaX4bNLZ.js.map +1 -0
  113. package/dist/model-_bxNrk2h.js +1 -0
  114. package/dist/{node-Co7EXge0.js → node-B3ydHo6t.js} +10 -47
  115. package/dist/node-B3ydHo6t.js.map +1 -0
  116. package/dist/object-CLf2-tNq.js +9 -0
  117. package/dist/object-CLf2-tNq.js.map +1 -0
  118. package/dist/{opencode-providers-ByD85Q0l.js → opencode-providers-J9colP0-.js} +96 -21
  119. package/dist/opencode-providers-J9colP0-.js.map +1 -0
  120. package/dist/options-C0d0AzeR.js +1118 -0
  121. package/dist/options-C0d0AzeR.js.map +1 -0
  122. package/dist/{pairs-DDsjgm5F.js → pairs-CnInRu-G.js} +76 -2
  123. package/dist/{pairs-DDsjgm5F.js.map → pairs-CnInRu-G.js.map} +1 -1
  124. package/dist/{patch-bDV8YFW0.js → patch-B1bnfhN-.js} +6 -6
  125. package/dist/{patch-bDV8YFW0.js.map → patch-B1bnfhN-.js.map} +1 -1
  126. package/dist/{plan-DUydFc_1.js → plan-DgQxp9yy.js} +34 -13
  127. package/dist/plan-DgQxp9yy.js.map +1 -0
  128. package/dist/{preflight-BkoSxf4C.js → preflight-BRzD30L5.js} +8 -7
  129. package/dist/preflight-BRzD30L5.js.map +1 -0
  130. package/dist/preflight-DlQvbySb.js +1 -0
  131. package/dist/{prepare-CUAWHebF.js → prepare-B_y-AFMv.js} +38 -30
  132. package/dist/prepare-B_y-AFMv.js.map +1 -0
  133. package/dist/prepare-DCKTLHN3.js +2 -0
  134. package/dist/{provenance-D7HK3vzt.js → provenance-DQ0AXn6c.js} +5 -5
  135. package/dist/{provenance-D7HK3vzt.js.map → provenance-DQ0AXn6c.js.map} +1 -1
  136. package/dist/provider-DehR4CMN.js +1 -0
  137. package/dist/providers-B9yTdIqF.js +1 -0
  138. package/dist/providers-DoTq1jHW.js +165 -0
  139. package/dist/providers-DoTq1jHW.js.map +1 -0
  140. package/dist/query-BO-ux7RB.js +139 -0
  141. package/dist/query-BO-ux7RB.js.map +1 -0
  142. package/dist/query-CRQfsw0e.js +1 -0
  143. package/dist/questions-C2dym2ce.js +524 -0
  144. package/dist/questions-C2dym2ce.js.map +1 -0
  145. package/dist/{record-BRP9vZrj.js → record-BKmMvZ6O.js} +9 -1
  146. package/dist/{record-BRP9vZrj.js.map → record-BKmMvZ6O.js.map} +1 -1
  147. package/dist/remote-CPPW86Q9.js +378 -0
  148. package/dist/remote-CPPW86Q9.js.map +1 -0
  149. package/dist/{results-Di7m8dQ3.js → results-BE2f-1XS.js} +6 -5
  150. package/dist/results-BE2f-1XS.js.map +1 -0
  151. package/dist/{resume-SUz1GskV.js → resume-Ca1c8vix.js} +10 -10
  152. package/dist/{resume-SUz1GskV.js.map → resume-Ca1c8vix.js.map} +1 -1
  153. package/dist/{root-CvdRlRZX.js → root-DICDHCtp.js} +4 -4
  154. package/dist/{root-CvdRlRZX.js.map → root-DICDHCtp.js.map} +1 -1
  155. package/dist/{runtime-DdsfnRz_.js → runtime-PX_oXiCS.js} +23 -71
  156. package/dist/runtime-PX_oXiCS.js.map +1 -0
  157. package/dist/sandbox-DLrsvu7U.js +70 -0
  158. package/dist/sandbox-DLrsvu7U.js.map +1 -0
  159. package/dist/sandbox.d.ts +19 -6
  160. package/dist/sandbox.js +1 -2
  161. package/dist/server-Dp8eOeK5.js +1 -0
  162. package/dist/{server-BNnXtmS8.js → server-TUY5xA_A.js} +11 -11
  163. package/dist/server-TUY5xA_A.js.map +1 -0
  164. package/dist/shared-CA61BuPJ.js +188 -0
  165. package/dist/shared-CA61BuPJ.js.map +1 -0
  166. package/dist/{source-Dof0NQBm.js → source-DJGS0a0u.js} +2 -2
  167. package/dist/{source-Dof0NQBm.js.map → source-DJGS0a0u.js.map} +1 -1
  168. package/dist/source-DdbLGR1M.js +1 -0
  169. package/dist/src-BxfCKA3_.js +2 -0
  170. package/dist/{src-C1E9HDWO.js → src-C7_1SqDP.js} +3 -3
  171. package/dist/{src-C1E9HDWO.js.map → src-C7_1SqDP.js.map} +1 -1
  172. package/dist/{src-DDNXsD9H.js → src-CF17Ug08.js} +5 -4
  173. package/dist/src-CF17Ug08.js.map +1 -0
  174. package/dist/{src-C_4Umgh2.js → src-CFp86GtV.js} +52 -51
  175. package/dist/src-CFp86GtV.js.map +1 -0
  176. package/dist/src-CLoOMVWI.js +3 -0
  177. package/dist/src-CcrQbpG8.js +2 -0
  178. package/dist/src-DCFtJRp0.js +2 -0
  179. package/dist/src-DIL0jST0.js +368 -0
  180. package/dist/src-DIL0jST0.js.map +1 -0
  181. package/dist/src-DSYYPEOj.js +2 -0
  182. package/dist/src-DYO3DdnQ.js +1 -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-WD-zgQYZ.js +2 -0
  190. package/dist/src-_oI9AePb.js +2 -0
  191. package/dist/{src-8rRXy4u9.js → src-ftu5wPSt.js} +1652 -182
  192. package/dist/src-ftu5wPSt.js.map +1 -0
  193. package/dist/src-qsKCqv7a.js +2 -0
  194. package/dist/{src-D95O-Smv.js → src-u8_ixn_F.js} +15 -11
  195. package/dist/src-u8_ixn_F.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-CiXyLqg0.js → state-DfpHox6b.js} +36 -24
  199. package/dist/state-DfpHox6b.js.map +1 -0
  200. package/dist/state-DpAxYyED.js +1 -0
  201. package/dist/studio-app/assets/index-CBkhNAv8.js +58 -0
  202. package/dist/studio-app/assets/index-CwQN3f_h.css +2 -0
  203. package/dist/studio-app/index.html +2 -2
  204. package/dist/suite-Cw_7G2RM.js +429 -0
  205. package/dist/suite-Cw_7G2RM.js.map +1 -0
  206. package/dist/suite-DamAEnNF.js +1 -0
  207. package/dist/summary-BUKfU-9l.js +611 -0
  208. package/dist/summary-BUKfU-9l.js.map +1 -0
  209. package/dist/{summary-2OAWF2N7.js → summary-Baa4rTHS.js} +7 -7
  210. package/dist/{summary-2OAWF2N7.js.map → summary-Baa4rTHS.js.map} +1 -1
  211. package/dist/testing.d.ts +3 -2
  212. package/dist/testing.js +3 -2
  213. package/dist/{tool-target-BU1JnSE9.js → tool-target-D2mcYlSQ.js} +14 -7
  214. package/dist/tool-target-D2mcYlSQ.js.map +1 -0
  215. package/dist/{tools-B10Uj7OI.js → tools-DLHgetpx.js} +6 -6
  216. package/dist/tools-DLHgetpx.js.map +1 -0
  217. package/dist/transcript-BNNANU8A.js +64 -0
  218. package/dist/transcript-BNNANU8A.js.map +1 -0
  219. package/dist/{types-D8RLfkFP.d.ts → types-BYdlwMwo.d.ts} +398 -46
  220. package/dist/{usage-DDF_6tkV.js → usage-CleNKkly.js} +4 -2
  221. package/dist/{usage-DDF_6tkV.js.map → usage-CleNKkly.js.map} +1 -1
  222. package/dist/view/index.d.ts +290 -8
  223. package/dist/view/index.js +7 -7
  224. package/dist/{views-Dqa5ojfZ.js → views-B8w2J-gD.js} +19 -24
  225. package/dist/views-B8w2J-gD.js.map +1 -0
  226. package/dist/views-DblnI3kA.js +2 -0
  227. package/dist/{worker-entry-BAikHl9F.js → worker-entry-DNnveLqx.js} +16 -229
  228. package/dist/worker-entry-DNnveLqx.js.map +1 -0
  229. package/dist/{workspace-C-TrNIUc.js → workspace-C4RA3srV.js} +7 -7
  230. package/dist/{workspace-C-TrNIUc.js.map → workspace-C4RA3srV.js.map} +1 -1
  231. package/dist/workspace-C_X0tdv6.js +1 -0
  232. package/package.json +12 -12
  233. package/dist/agent-WSmTaesf.js.map +0 -1
  234. package/dist/assemble-BCZzTyR7.js.map +0 -1
  235. package/dist/assemble-C5qq5yT2.js +0 -2
  236. package/dist/capture-Bp74Z6Fr.js.map +0 -1
  237. package/dist/capture-DS-cPyuE.js +0 -2
  238. package/dist/cli-CVrMh_qz.js.map +0 -1
  239. package/dist/cli-spec-CKEYa8V2.js.map +0 -1
  240. package/dist/client-Bbo9SPlK.js.map +0 -1
  241. package/dist/command-BrmXUC-W.js +0 -2
  242. package/dist/command-C5xFPKHM.js.map +0 -1
  243. package/dist/command-CzIFp1JQ.js.map +0 -1
  244. package/dist/command-DUT5l13I.js.map +0 -1
  245. package/dist/commands-CLmPBrTS.js.map +0 -1
  246. package/dist/commands-fI3G2Wnh.js +0 -2
  247. package/dist/config-CGvBeewH.js +0 -457
  248. package/dist/config-CGvBeewH.js.map +0 -1
  249. package/dist/context-DbSMEVKs.js.map +0 -1
  250. package/dist/db-CSSFtGcN.js +0 -3
  251. package/dist/db-CfQFwJtq.js.map +0 -1
  252. package/dist/debug-SEmW4w8f.js +0 -2
  253. package/dist/dist-CTzThfu_.js.map +0 -1
  254. package/dist/docker-CRQGQbIt.js.map +0 -1
  255. package/dist/docker-DV2GNgle.js.map +0 -1
  256. package/dist/docker-Df_YOxxB.js +0 -2
  257. package/dist/doctor-DlKycx5H.js.map +0 -1
  258. package/dist/duration-JsJrIWXq.js +0 -26
  259. package/dist/duration-JsJrIWXq.js.map +0 -1
  260. package/dist/egress-BhzNh7Yi.js.map +0 -1
  261. package/dist/env-BQqj93gu.js +0 -21
  262. package/dist/env-BQqj93gu.js.map +0 -1
  263. package/dist/environment-1jE-HhO-.js +0 -657
  264. package/dist/environment-1jE-HhO-.js.map +0 -1
  265. package/dist/errors-C9w_ud7g.js.map +0 -1
  266. package/dist/errors-yDAEwmZo.js.map +0 -1
  267. package/dist/fake-instructions-CUI33I_F.js +0 -32
  268. package/dist/fake-instructions-CUI33I_F.js.map +0 -1
  269. package/dist/family-D2b7WD10.js +0 -67
  270. package/dist/family-D2b7WD10.js.map +0 -1
  271. package/dist/files-AiEKuEZe.js +0 -2
  272. package/dist/files-BM78_nnF.js +0 -2
  273. package/dist/files-BMCvfB4X.js +0 -2
  274. package/dist/harness-CeCp2GSW.js +0 -171
  275. package/dist/harness-CeCp2GSW.js.map +0 -1
  276. package/dist/images-BMgdpMAX.js.map +0 -1
  277. package/dist/index.js.map +0 -1
  278. package/dist/init-B6vegaP_.js +0 -2
  279. package/dist/init-BIdLF0F9.js.map +0 -1
  280. package/dist/jiti-BcJHCtrb.js +0 -46
  281. package/dist/jiti-BcJHCtrb.js.map +0 -1
  282. package/dist/live-S0qODb6o.js.map +0 -1
  283. package/dist/model-B1BZoZ9b.js.map +0 -1
  284. package/dist/model-BOnlAPzs.js.map +0 -1
  285. package/dist/model-DWeg5J7z.js +0 -2
  286. package/dist/model-FXko2kl7.js +0 -2
  287. package/dist/node-Co7EXge0.js.map +0 -1
  288. package/dist/opencode-providers-ByD85Q0l.js.map +0 -1
  289. package/dist/options-CKqyPGxX.js +0 -739
  290. package/dist/options-CKqyPGxX.js.map +0 -1
  291. package/dist/plan-DUydFc_1.js.map +0 -1
  292. package/dist/preflight-BkoSxf4C.js.map +0 -1
  293. package/dist/preflight-D5LW7Oqi.js +0 -2
  294. package/dist/prepare-CUAWHebF.js.map +0 -1
  295. package/dist/prepare-oji2oO8W.js +0 -3
  296. package/dist/process-CSVO_jsc.js +0 -119
  297. package/dist/process-CSVO_jsc.js.map +0 -1
  298. package/dist/provider-BDbNOQhQ.js +0 -2
  299. package/dist/providers-B1DzMvmH.js +0 -107
  300. package/dist/providers-B1DzMvmH.js.map +0 -1
  301. package/dist/providers-CpEfNU1F.js +0 -2
  302. package/dist/query-BjBMLa-C.js +0 -91
  303. package/dist/query-BjBMLa-C.js.map +0 -1
  304. package/dist/query-oPO_XrTy.js +0 -2
  305. package/dist/questions-B8by4Bbt.js +0 -234
  306. package/dist/questions-B8by4Bbt.js.map +0 -1
  307. package/dist/results-Di7m8dQ3.js.map +0 -1
  308. package/dist/runtime-DdsfnRz_.js.map +0 -1
  309. package/dist/sandbox-D5v-of6d.js +0 -139
  310. package/dist/sandbox-D5v-of6d.js.map +0 -1
  311. package/dist/server-BNnXtmS8.js.map +0 -1
  312. package/dist/server-BNwoKzlm.js +0 -2
  313. package/dist/source-Bk_0ZaEY.js +0 -2
  314. package/dist/src-8rRXy4u9.js.map +0 -1
  315. package/dist/src-BGWuWp6I.js +0 -3
  316. package/dist/src-BRt0O02i.js +0 -3
  317. package/dist/src-Bx2x1ekD.js +0 -3
  318. package/dist/src-C_4Umgh2.js.map +0 -1
  319. package/dist/src-D95O-Smv.js.map +0 -1
  320. package/dist/src-DDNXsD9H.js.map +0 -1
  321. package/dist/src-DLa-ESW0.js +0 -4
  322. package/dist/src-cN0aB-WR.js +0 -3
  323. package/dist/src-cdIVjC5b.js +0 -2
  324. package/dist/src-sIsDHWYq.js +0 -3
  325. package/dist/state-Bo5zg4da.js +0 -2
  326. package/dist/state-CiXyLqg0.js.map +0 -1
  327. package/dist/studio-app/assets/index-B9MCTfuu.css +0 -2
  328. package/dist/studio-app/assets/index-CROH2NB3.js +0 -58
  329. package/dist/summary-BTksrIxn.js +0 -254
  330. package/dist/summary-BTksrIxn.js.map +0 -1
  331. package/dist/tool-target-BU1JnSE9.js.map +0 -1
  332. package/dist/tools-B10Uj7OI.js.map +0 -1
  333. package/dist/views-Cs2Oqayd.js +0 -3
  334. package/dist/views-Dqa5ojfZ.js.map +0 -1
  335. package/dist/worker-entry-BAikHl9F.js.map +0 -1
  336. package/dist/workspace-Do_SiWBs.js +0 -2
@@ -1,7 +1,7 @@
1
- import { t as inCI } from "./env-BQqj93gu.js";
2
- import { c as stripCredentials } from "./redact-DJ9JCShu.js";
3
1
  import { l as sha256, u as slugify } from "./ids-Bp6ut7ZD.js";
4
- import { r as repoTop, t as git } from "./git-DfG-YJ1u.js";
2
+ import { v as inCI } from "./config-DrVSEVN0.js";
3
+ import { c as stripCredentials } from "./redact-DJ9JCShu.js";
4
+ import { r as repoTop, t as git } from "./git-Crl3b87o.js";
5
5
  import { hostname, userInfo } from "node:os";
6
6
  import { relative, sep } from "node:path";
7
7
  //#region src/history/provenance.ts
@@ -82,7 +82,7 @@ function runtimeInfo(versions = process.versions) {
82
82
  function runnerInfo(env = process.env) {
83
83
  if (!inCI(env)) return {
84
84
  kind: "local",
85
- hostHash: sha256(`evalsuite:${hostname()}`).slice(0, 12)
85
+ hostHash: sha256(`reeval:${hostname()}`).slice(0, 12)
86
86
  };
87
87
  if (env.GITHUB_ACTIONS) {
88
88
  const runUrl = env.GITHUB_SERVER_URL && env.GITHUB_REPOSITORY && env.GITHUB_RUN_ID ? `${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}` : null;
@@ -144,4 +144,4 @@ async function author(root, env = process.env) {
144
144
  //#endregion
145
145
  export { runtimeInfo as i, gitInfo as n, runnerInfo as r, author as t };
146
146
 
147
- //# sourceMappingURL=provenance-D7HK3vzt.js.map
147
+ //# sourceMappingURL=provenance-DQ0AXn6c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provenance-D7HK3vzt.js","names":[],"sources":["../src/history/provenance.ts"],"mappings":";;;;;;;AAQA,MAAM,OAAO,OAAO,KAAa,SAAmB;CAClD,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI;CAC7B,OAAO,EAAE,SAAS,IAAI,EAAE,OAAO,SAAS,MAAM,CAAC,CAAC,KAAK,IAAI;AAC3D;;;;;AAMA,eAAsB,QACpB,MACA,SAAmB,CAAC,GACpB,MAAM,QAAQ,KACW;CACzB,MAAM,MAAM,MAAM,KAAK,MAAM;EAAC;EAAa;EAAY;EAAM;CAAM,CAAC;CACpE,IAAI,CAAC,KAAK,OAAO;CACjB,MAAM,MAAO,MAAM,QAAQ,IAAI,KAAM;CACrC,MAAM,UAAU,OAAO,KAAK,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;CACjF,MAAM,cAAc,SAClB,KAAK,MAAM,GAAG,CAAC,CAAC,SAAS,SAAS,KAAK,QAAQ,MAAM,QAAQ,KAAK,WAAW,GAAG,CAAC;CAQnF,MAAM,SANU,MADK,IAAI,MAAM;EAAC;EAAU;EAAkB;EAAM;CAAuB,CAAC,EAAA,CACnE,OACpB,SAAS,MAAM,CAAC,CAChB,MAAM,IAAI,CAAC,CACX,OAAO,OAAO,CAAC,CACf,KAAK,UAAU;EAAE,MAAM,KAAK,MAAM,GAAG,CAAC;EAAG,MAAM,KAAK,MAAM,CAAC;CAAE,EAAE,CAAC,CAChE,QAAQ,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,CACzB,CAAC,CAAC,SAAS;CAC/B,MAAM,SACJ,IAAI,mBACJ,IAAI,mBACJ,IAAI,sBACH,MAAM,KAAK,MAAM;EAAC;EAAgB;EAAW;EAAM;CAAM,CAAC,KAC3D;CACF,MAAM,SAAS,MAAM,KAAK,MAAM;EAAC;EAAU;EAAW;CAAQ,CAAC;CAC/D,OAAO;EACL;EACA;EACA;EAEA,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,YAAa,MAAM,KAAK,MAAM;GAAC;GAAQ;GAAM;GAAgB;EAAM,CAAC,KAAM;EAC1E,SAAU,MAAM,KAAK,MAAM,CAAC,aAAa,yBAAyB,CAAC,MAAO;EAC1E,QAAQ,SAAS,iBAAiB,MAAM,IAAI;CAC9C;AACF;;;;;AAMA,SAAgB,YACd,WAA4C,QAAQ,UACrB;CAC/B,IAAI,SAAS,KAAK,OAAO;EAAE,MAAM;EAAO,SAAS,SAAS;CAAI;CAC9D,IAAI,SAAS,MAAM,OAAO;EAAE,MAAM;EAAQ,SAAS,SAAS;CAAK;CACjE,OAAO;EAAE,MAAM;EAAQ,SAAS,SAAS,QAAQ;CAAU;AAC7D;AAEA,SAAgB,WAAW,MAAM,QAAQ,KAAiB;CACxD,IAAI,CAAC,KAAK,GAAG,GACX,OAAO;EAAE,MAAM;EAAS,UAAU,OAAO,aAAa,SAAS,GAAG,CAAC,CAAC,MAAM,GAAG,EAAE;CAAE;CAEnF,IAAI,IAAI,gBAAgB;EACtB,MAAM,SACJ,IAAI,qBAAqB,IAAI,qBAAqB,IAAI,gBAClD,GAAG,IAAI,kBAAkB,GAAG,IAAI,kBAAkB,gBAAgB,IAAI,kBACtE;EACN,MAAM,UAAU,OAAO,IAAI,kBAAkB;EAE7C,MAAM,SAAS,OAAO,uBAAuB,KAAK,IAAI,cAAc,EAAE,CAAC,GAAG,EAAE;EAC5E,MAAM,KACJ,UAAU,IAAI,kBACV;GAAE,QAAQ,UAAU;GAAM,SAAS,IAAI,mBAAmB;EAAK,IAC/D;EACN,OAAO;GAAE,MAAM;GAAM,UAAU;GAAU;GAAQ,SAAS,WAAW;GAAM;EAAG;CAChF;CACA,IAAI,IAAI,WAAW;EACjB,MAAM,MAAM,OAAO,IAAI,oBAAoB;EAC3C,MAAM,KAAK,MACP;GAAE,QAAQ;GAAK,SAAS,IAAI,uCAAuC;EAAK,IACxE;EACJ,OAAO;GAAE,MAAM;GAAM,UAAU;GAAU,QAAQ,IAAI,cAAc;GAAM,SAAS;GAAM;EAAG;CAC7F;CACA,OAAO;EAAE,MAAM;EAAM,UAAU;EAAW,QAAQ;EAAM,SAAS;EAAM,IAAI;CAAK;AAClF;;AAGA,eAAsB,OAAO,MAAc,MAAM,QAAQ,KAAsB;CAC7E,IAAI,KAAK,GAAG,GAAG,OAAO;CACtB,MAAM,OAAO,MAAM,KAAK,MAAM,CAAC,UAAU,WAAW,CAAC;CACrD,MAAM,QAAQ,MAAM,KAAK,MAAM,CAAC,UAAU,YAAY,CAAC;CACvD,IAAI,OAAO;CACX,IAAI;EACF,OAAO,SAAS,CAAC,CAAC;CACpB,QAAQ,CAAC;CACT,KAAK,MAAM,aAAa;EAAC;EAAM,OAAO,MAAM,GAAG,CAAC,CAAC;EAAI;CAAI,GAAG;EAC1D,MAAM,OAAO,YAAY,QAAQ,WAAW,EAAE,IAAI;EAClD,IAAI,MAAM,OAAO;CACnB;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"provenance-DQ0AXn6c.js","names":[],"sources":["../src/history/provenance.ts"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { t as PrepareError } from "./provider-CmAYTQQs.js";
@@ -0,0 +1 @@
1
+ export { t as attemptImage, o as dockerProvider, c as podmanConfinementProblem, u as requireDocker } from "./providers-DoTq1jHW.js";
@@ -0,0 +1,165 @@
1
+ import { n as UsageError } from "./errors-B6BSMs03.js";
2
+ import { Y as dockerState, ft as engineSpec, rt as ImageBuildError, st as isTransient } from "./src-ftu5wPSt.js";
3
+ import { t as PrepareError } from "./provider-CmAYTQQs.js";
4
+ //#region src/sandbox/providers.ts
5
+ /** The key of a Docker sandbox's image: what's in it, not the limits or user it runs with. */
6
+ const dockerKey = (sandbox, harness) => {
7
+ const kind = harness.kind === "fake" ? harness.layout ?? "cursor" : harness.kind;
8
+ const { image, from, dockerfile, install } = sandbox;
9
+ return JSON.stringify({
10
+ harness: kind,
11
+ image: {
12
+ image,
13
+ from,
14
+ dockerfile,
15
+ install
16
+ }
17
+ });
18
+ };
19
+ /** How Docker's build errors class: a named cause is a resource, a network error transient. */
20
+ function classifyDocker(error) {
21
+ const message = error instanceof Error ? error.message : String(error);
22
+ if (error instanceof ImageBuildError) {
23
+ const { stage, ref, transient, cause, log } = error.failure;
24
+ return {
25
+ class: cause ? "resource" : transient ? "transient" : "config",
26
+ stage,
27
+ ref,
28
+ cause,
29
+ log,
30
+ message
31
+ };
32
+ }
33
+ return {
34
+ class: isTransient(message) ? "transient" : "config",
35
+ stage: "image",
36
+ ref: null,
37
+ cause: null,
38
+ log: null,
39
+ message
40
+ };
41
+ }
42
+ /** Why Docker (or Podman) can't run a sandbox, as the fix a user needs; null when it can. */
43
+ function dockerProblem(state, platform = process.platform, engine = "docker") {
44
+ if (state === "running") return null;
45
+ if (engine === "podman") return podmanProblem(platform);
46
+ if (state === "windows-containers") return "Docker is running Windows containers, but reeval's sandboxes are Linux containers. Switch Docker Desktop to Linux containers (its tray menu: Switch to Linux containers) and try again.";
47
+ return platform === "win32" ? "Docker is not running. Start Docker Desktop (with the WSL 2 backend and Linux containers) and try again." : "Docker is not running. Start Docker and try again.";
48
+ }
49
+ const upper = (s) => s.charAt(0).toUpperCase() + s.slice(1);
50
+ /** Podman doesn't answer: not installed, or (macOS, Windows) its machine isn't running. */
51
+ function podmanProblem(platform) {
52
+ return platform === "linux" ? "Podman isn't answering: `podman info` failed. Install Podman 4 or later (your distribution's podman package) and check `podman info` works as you, then try again." : "Podman isn't answering: `podman info` failed. Start its machine (podman machine init, then podman machine start) and try again.";
53
+ }
54
+ /** Throws a usage error unless Docker (or Podman) can run a sandbox. */
55
+ async function requireDocker(engine = "docker") {
56
+ const problem = dockerProblem(await dockerState(engine), process.platform, engine);
57
+ if (problem) throw new UsageError(problem);
58
+ }
59
+ /**
60
+ * Why Podman can't confine a sandbox as reeval needs, or null: too old for the bridge network
61
+ * rootless, or a rootless cgroup without the controllers `--cpus`, `--memory` and `--pids-limit`
62
+ * need (systemd before 252 delegates only memory and pids).
63
+ */
64
+ function podmanInfoProblem(info) {
65
+ if (Number(/^(\d+)/.exec(info.version)?.[1]) < 4) return {
66
+ problem: `Podman ${info.version} is too old for reeval's sandboxes, which need Podman 4 or later (its rootless bridge network)`,
67
+ fix: "upgrade Podman"
68
+ };
69
+ const missing = [
70
+ "cpu",
71
+ "memory",
72
+ "pids"
73
+ ].filter((c) => !(info.controllers ?? []).includes(c));
74
+ if (info.rootless && missing.length) {
75
+ const names = missing.join(", ");
76
+ return {
77
+ problem: `rootless Podman can't limit a sandbox's ${names}: your user's cgroup doesn't have the ${names} controller${missing.length === 1 ? "" : "s"}`,
78
+ fix: "delegate them with a systemd drop-in for user@.service (Delegate=cpu cpuset io memory pids), then log in again"
79
+ };
80
+ }
81
+ return null;
82
+ }
83
+ /** {@link podmanInfoProblem} for this host's Podman; null when `podman info` doesn't answer. */
84
+ async function podmanConfinementProblem() {
85
+ const { docker } = await import("./src-DYO3DdnQ.js");
86
+ const r = await docker([
87
+ "info",
88
+ "--format",
89
+ "{{json .Version.Version}} {{json .Host.Security.Rootless}} {{json .Host.CgroupControllers}}"
90
+ ], { engine: "podman" }).catch(() => null);
91
+ if (r?.exitCode !== 0) return null;
92
+ const [version, rootless, controllers] = r.stdout.toString("utf8").trim().split(/\s+/).map((v) => JSON.parse(v));
93
+ return podmanInfoProblem({
94
+ version,
95
+ rootless,
96
+ controllers
97
+ });
98
+ }
99
+ /** Docker or Podman: one image per key, each sub-image built once per provider (so once per run). */
100
+ function dockerProvider(options = {}) {
101
+ const engine = options.engine ?? "docker";
102
+ let builds;
103
+ return {
104
+ kind: engine,
105
+ async check() {
106
+ const confinement = engine === "podman" ? await podmanConfinementProblem() : null;
107
+ const problem = dockerProblem(await dockerState(engine), process.platform, engine) ?? (confinement && `${upper(confinement.problem)}: ${confinement.fix}, and try again.`);
108
+ if (!problem) return;
109
+ throw new PrepareError({
110
+ class: "config",
111
+ stage: engineSpec(engine).bin,
112
+ ref: null,
113
+ cause: null,
114
+ log: null,
115
+ usage: true,
116
+ message: problem
117
+ });
118
+ },
119
+ key: dockerKey,
120
+ async prepare(sandbox, harness, ctx) {
121
+ const { createBuilds, imageHarness, prepareImage } = await import("./prepare-DCKTLHN3.js");
122
+ builds ??= createBuilds({
123
+ retry: ctx.retry,
124
+ log: ctx.log,
125
+ refresh: options.refresh ?? "none",
126
+ engine
127
+ });
128
+ return await prepareImage(sandbox, imageHarness(harness), ctx.root, ctx.signal, builds);
129
+ },
130
+ classify: classifyDocker
131
+ };
132
+ }
133
+ /**
134
+ * The image a Docker sandbox's `prepare` returned. Handles are opaque to preflight and round-trip
135
+ * through `prepared.json`, so only the Docker provider's own type says what this one holds.
136
+ */
137
+ const attemptImage = (handle) => handle;
138
+ /** The fake sandbox is a temp directory on the host: nothing to check or prepare. */
139
+ const fakeProvider = () => ({
140
+ kind: "fake",
141
+ check: async () => {},
142
+ key: () => "fake",
143
+ prepare: async () => null,
144
+ classify: (error) => ({
145
+ class: "config",
146
+ stage: "fake",
147
+ ref: null,
148
+ cause: null,
149
+ log: null,
150
+ message: error instanceof Error ? error.message : String(error)
151
+ })
152
+ });
153
+ /** A fresh set of providers, one per run: each keeps the run's builds. */
154
+ const createProviders = (options = {}) => ({
155
+ docker: dockerProvider(options),
156
+ podman: dockerProvider({
157
+ ...options,
158
+ engine: "podman"
159
+ }),
160
+ fake: fakeProvider()
161
+ });
162
+ //#endregion
163
+ export { dockerProblem as a, podmanConfinementProblem as c, dockerKey as i, podmanInfoProblem as l, classifyDocker as n, dockerProvider as o, createProviders as r, fakeProvider as s, attemptImage as t, requireDocker as u };
164
+
165
+ //# sourceMappingURL=providers-DoTq1jHW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers-DoTq1jHW.js","names":[],"sources":["../src/sandbox/providers.ts"],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ import { n as UsageError } from "./errors-B6BSMs03.js";
2
+ import { n as clip } from "./text-gEcKjAyp.js";
3
+ //#region src/query.ts
4
+ const EXAMPLES = [
5
+ "reeval query lift",
6
+ `reeval query "SELECT eval_key, variant, points, lo, hi FROM lift WHERE within_noise = 0"`,
7
+ `reeval query "SELECT * FROM failing_attempts WHERE skill = 'house-greeting' AND model LIKE 'composer%'"`,
8
+ `reeval query "SELECT eval_key, cell_key, first_seen, flaky_runs FROM flaky_cells"`,
9
+ `reeval query "SELECT run_id, eval_key, changed FROM drift ORDER BY run_id DESC LIMIT 20"`,
10
+ `reeval query "SELECT eval_key, outcome FROM evals WHERE run_id = :run" --run last`,
11
+ `reeval query "SELECT branch, outcome, COUNT(*) AS n FROM eval_trend GROUP BY branch, outcome" --json`
12
+ ];
13
+ /**
14
+ * A text cell, clipped to 60 characters, except a `sql` column: no view or table of reeval's has
15
+ * one, so it's `sqlite_schema.sql`, a CREATE statement only useful whole.
16
+ */
17
+ const cell = (value, column) => {
18
+ if (value === null || value === void 0) return "·";
19
+ const text = typeof value === "object" ? JSON.stringify(value) : String(value);
20
+ return column === "sql" ? text : clip(text, 60);
21
+ };
22
+ const width = (text) => Math.max(...text.split("\n").map((line) => line.length));
23
+ /** Rows as an aligned table: a header, then one line per row. */
24
+ function formatRows({ columns, rows }) {
25
+ if (rows.length === 0) return "(no rows)";
26
+ const table = [columns, ...rows.map((r) => columns.map((c) => cell(r[c], c)))];
27
+ const widths = columns.map((_, i) => Math.max(...table.map((r) => width(r[i] ?? ""))));
28
+ return table.map((r) => r.map((v, i) => i === r.length - 1 ? v : v.padEnd(widths[i] ?? 0)).join(" ").trimEnd()).join("\n");
29
+ }
30
+ function formatSchema(schema, withExamples) {
31
+ const block = (type, title) => [title, ...schema.filter((o) => o.type === type).map((o) => ` ${o.name}(${o.columns.join(", ")})`)];
32
+ return [
33
+ ...block("view", "Views (the common questions; filter them with SQL):"),
34
+ "",
35
+ ...block("table", "Tables:"),
36
+ ...withExamples ? [
37
+ "",
38
+ "Examples:",
39
+ ...EXAMPLES.map((e) => ` ${e}`)
40
+ ] : []
41
+ ].join("\n");
42
+ }
43
+ /**
44
+ * Whether `sql` holds more than one statement: SQLite would run the first and ignore the rest.
45
+ * Semicolons inside quotes, identifiers and comments don't count; a trailing one is fine.
46
+ */
47
+ function statementCount(sql) {
48
+ let count = 0;
49
+ let pending = false;
50
+ for (let i = 0; i < sql.length; i++) {
51
+ const c = sql[i];
52
+ if (c === "'" || c === "\"" || c === "`") {
53
+ const end = sql.indexOf(c, i + 1);
54
+ i = end === -1 ? sql.length : end;
55
+ pending = true;
56
+ } else if (c === "-" && sql[i + 1] === "-") {
57
+ const end = sql.indexOf("\n", i);
58
+ i = end === -1 ? sql.length : end;
59
+ } else if (c === "/" && sql[i + 1] === "*") {
60
+ const end = sql.indexOf("*/", i + 2);
61
+ i = end === -1 ? sql.length : end + 1;
62
+ } else if (c === ";") {
63
+ if (pending) count++;
64
+ pending = false;
65
+ } else if (!/\s/.test(c)) pending = true;
66
+ }
67
+ return count + (pending ? 1 : 0);
68
+ }
69
+ /** Whether `sql` names the `:run` parameter (or `$run`, `@run`) outside quotes and comments. */
70
+ function usesRunParameter(sql) {
71
+ let code = "";
72
+ for (let i = 0; i < sql.length; i++) {
73
+ const c = sql[i];
74
+ let end = -1;
75
+ if (c === "'" || c === "\"" || c === "`") end = sql.indexOf(c, i + 1);
76
+ else if (c === "-" && sql[i + 1] === "-") end = sql.indexOf("\n", i);
77
+ else if (c === "/" && sql[i + 1] === "*") end = sql.indexOf("*/", i + 2) + 1;
78
+ else {
79
+ code += c;
80
+ continue;
81
+ }
82
+ code += " ";
83
+ i = end <= 0 ? sql.length : end;
84
+ }
85
+ return /[:$@]run\b/.test(code);
86
+ }
87
+ /** The run id `ref` names in history.db: `last` (or `latest`) by started_at, an id or a unique prefix. */
88
+ function resolveRunRef(db, ref) {
89
+ if (ref === "last" || ref === "latest") {
90
+ const [row] = db.query("SELECT run_id FROM runs ORDER BY started_at DESC, run_id DESC LIMIT 1").rows;
91
+ if (!row) throw new UsageError(`reeval query --run ${ref}: .reeval/history.db has no runs yet.`);
92
+ return String(row.run_id);
93
+ }
94
+ const ids = db.query("SELECT run_id FROM runs WHERE substr(run_id, 1, length(?)) = ? ORDER BY run_id", [ref, ref]).rows.map((r) => String(r.run_id));
95
+ if (ids.includes(ref)) return ref;
96
+ if (ids.length === 1) return ids[0];
97
+ throw new UsageError(ids.length > 1 ? `reeval query --run ${ref}: "${ref}" matches ${ids.length} runs; use more of the id.` : `reeval query --run ${ref}: no run "${ref}" in .reeval/history.db. Pass last, or a run id from reeval query "SELECT run_id, started_at FROM runs ORDER BY started_at DESC".`);
98
+ }
99
+ /**
100
+ * `reeval query [sql | view] [--run <id|last>] [--json] [--schema] [--rebuild]`. With no statement
101
+ * it lists the views and tables; a bare name selects everything from that view or table (with
102
+ * `--run`, that run's rows). `--run` binds `:run` in a statement and never rewrites it.
103
+ */
104
+ async function queryCommand(ctx, args) {
105
+ const { openHistoryDb } = await import("./db-CKg5NtiW.js");
106
+ const db = await openHistoryDb(ctx.config.root, ctx.config.history.dir, { rebuild: !!ctx.flags.rebuild });
107
+ try {
108
+ const { sync } = db;
109
+ ctx.err(`history.db: ${sync.runs} runs${sync.rebuilt ? ", rebuilt" : ""}${sync.added ? `, ${sync.added} read` : ""}${sync.removed ? `, ${sync.removed} removed` : ""}`);
110
+ const text = args.join(" ").trim();
111
+ const schema = db.schema();
112
+ if (!text || ctx.flags.schema) {
113
+ ctx.out(ctx.flags.json ? JSON.stringify(schema, null, 2) : formatSchema(schema, !text));
114
+ return 0;
115
+ }
116
+ let sql = text;
117
+ if (statementCount(text) > 1) throw new UsageError("reeval query runs one statement at a time; drop the extra ones after \";\".");
118
+ const run = ctx.flags.run;
119
+ if (/^[A-Za-z_]\w*$/.test(text)) {
120
+ const object = schema.find((o) => o.name === text);
121
+ if (!object) {
122
+ const names = (type) => schema.filter((o) => o.type === type).map((o) => o.name).join(", ");
123
+ throw new UsageError(`reeval query: no view or table named "${text}". Views: ${names("view")}. Tables: ${names("table")}. Run reeval query --schema for every column.`);
124
+ }
125
+ if (run !== void 0 && !object.columns.includes("run_id")) throw new UsageError(`reeval query ${text} --run: ${text} has no run_id column (it pools runs), so --run can't filter it.`);
126
+ sql = `SELECT * FROM "${text}"${run === void 0 ? "" : " WHERE run_id = :run"}`;
127
+ } else if (run === void 0 && usesRunParameter(sql)) throw new UsageError("reeval query: the statement uses :run but no --run was given: pass --run <id|last>.");
128
+ else if (run !== void 0 && !usesRunParameter(sql)) throw new UsageError(`reeval query --run ${run}: --run binds :run, which the statement doesn't use; add WHERE run_id = :run.`);
129
+ const result = run === void 0 ? db.query(sql) : db.query(sql, { run: resolveRunRef(db, run) });
130
+ ctx.out(ctx.flags.json ? JSON.stringify(result.rows, null, 2) : formatRows(result));
131
+ return 0;
132
+ } finally {
133
+ db.close();
134
+ }
135
+ }
136
+ //#endregion
137
+ export { usesRunParameter as i, queryCommand as n, statementCount as r, formatRows as t };
138
+
139
+ //# sourceMappingURL=query-BO-ux7RB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-BO-ux7RB.js","names":[],"sources":["../src/query.ts"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { n as queryCommand } from "./query-BO-ux7RB.js";