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.
- package/README.md +99 -64
- package/THIRD_PARTY_NOTICES.md +288 -112
- package/assets/package.json +1 -1
- package/assets/pnpm-lock.yaml +30 -30
- package/dist/adapter-Bwy3QxAK.js +279 -0
- package/dist/adapter-Bwy3QxAK.js.map +1 -0
- package/dist/{agent-6FefIhX7.js → agent-D483ru7D.js} +6 -6
- package/dist/{agent-6FefIhX7.js.map → agent-D483ru7D.js.map} +1 -1
- package/dist/{agent-WSmTaesf.js → agent-DpE80WPz.js} +46 -15
- package/dist/agent-DpE80WPz.js.map +1 -0
- package/dist/{analysis-DlGBDjTj.js → analysis-Bxub9LMT.js} +4 -4
- package/dist/{analysis-DlGBDjTj.js.map → analysis-Bxub9LMT.js.map} +1 -1
- package/dist/assemble-D5KGrwnJ.js +1 -0
- package/dist/{assemble-BCZzTyR7.js → assemble-D9GWr-HS.js} +69 -41
- package/dist/assemble-D9GWr-HS.js.map +1 -0
- package/dist/{client-Bbo9SPlK.js → assert-EUIoRdIt.js} +10 -113
- package/dist/assert-EUIoRdIt.js.map +1 -0
- package/dist/bridge/index.mjs +260 -60
- package/dist/{capture-Bp74Z6Fr.js → capture-BQlGHiMC.js} +146 -32
- package/dist/capture-BQlGHiMC.js.map +1 -0
- package/dist/capture-CYGLpWxR.js +1 -0
- package/dist/{cli-CVrMh_qz.js → cli-ClpPT8kn.js} +229 -537
- package/dist/cli-ClpPT8kn.js.map +1 -0
- package/dist/{cli-spec-CKEYa8V2.js → cli-spec-qmEnQ25_.js} +50 -22
- package/dist/cli-spec-qmEnQ25_.js.map +1 -0
- package/dist/cli.js +4 -2
- package/dist/cli.js.map +1 -1
- package/dist/client-fcwgwOAD.js +106 -0
- package/dist/client-fcwgwOAD.js.map +1 -0
- package/dist/{command-DUT5l13I.js → command-Bj39y-Wm.js} +329 -87
- package/dist/command-Bj39y-Wm.js.map +1 -0
- package/dist/{command-BFP0hKEb.js → command-BlM0y8jN.js} +14 -14
- package/dist/{command-BFP0hKEb.js.map → command-BlM0y8jN.js.map} +1 -1
- package/dist/command-C-cVjlny.js +1 -0
- package/dist/{command-CzIFp1JQ.js → command-DbAe1Rzb.js} +19 -19
- package/dist/command-DbAe1Rzb.js.map +1 -0
- package/dist/{command-C5xFPKHM.js → command-TgbzPizb.js} +378 -74
- package/dist/command-TgbzPizb.js.map +1 -0
- package/dist/commands-CthqwkAn.js +1 -0
- package/dist/{commands-CLmPBrTS.js → commands-YUwlyTbr.js} +14 -11
- package/dist/commands-YUwlyTbr.js.map +1 -0
- package/dist/config-DrVSEVN0.js +774 -0
- package/dist/config-DrVSEVN0.js.map +1 -0
- package/dist/{context-DbSMEVKs.js → context-C1mxXh80.js} +11 -3
- package/dist/context-C1mxXh80.js.map +1 -0
- package/dist/contrasts-5zsj32gk.js +101 -0
- package/dist/contrasts-5zsj32gk.js.map +1 -0
- package/dist/db-CKg5NtiW.js +2 -0
- package/dist/{db-CfQFwJtq.js → db-DfhipHEF.js} +467 -38
- package/dist/db-DfhipHEF.js.map +1 -0
- package/dist/debug-D7bEv_UV.js +1 -0
- package/dist/{dist-CTzThfu_.js → dist-CuY4ehEk.js} +95 -15
- package/dist/dist-CuY4ehEk.js.map +1 -0
- package/dist/{docker-CRQGQbIt.js → docker-D1HZDS6q.js} +22 -21
- package/dist/docker-D1HZDS6q.js.map +1 -0
- package/dist/docker-DNmMPOBb.js +1 -0
- package/dist/{docker-DV2GNgle.js → docker-DOvjji9I.js} +3 -3
- package/dist/docker-DOvjji9I.js.map +1 -0
- package/dist/{doctor-DlKycx5H.js → doctor-D2MbNO8L.js} +262 -84
- package/dist/doctor-D2MbNO8L.js.map +1 -0
- package/dist/{egress-BhzNh7Yi.js → egress-2-qzPvGi.js} +146 -15
- package/dist/egress-2-qzPvGi.js.map +1 -0
- package/dist/environment-Cca6a4wB.js +1132 -0
- package/dist/environment-Cca6a4wB.js.map +1 -0
- package/dist/{errors-yDAEwmZo.js → errors-B6BSMs03.js} +2 -2
- package/dist/errors-B6BSMs03.js.map +1 -0
- package/dist/{errors-C9w_ud7g.js → errors-r025B0Zb.js} +4 -4
- package/dist/errors-r025B0Zb.js.map +1 -0
- package/dist/evaluate-DKIl54Hb.js +2348 -0
- package/dist/evaluate-DKIl54Hb.js.map +1 -0
- package/dist/evaluate-DMyaGQEj.d.ts +92 -0
- package/dist/files-BAt0i00X.js +1 -0
- package/dist/{files-DJUFg-4e.js → files-BXHZFWmx.js} +5 -5
- package/dist/{files-DJUFg-4e.js.map → files-BXHZFWmx.js.map} +1 -1
- package/dist/files-Bk1mC3AN.js +43 -0
- package/dist/files-Bk1mC3AN.js.map +1 -0
- package/dist/{files-CSzVADHn.js → files-BpUYBwGu.js} +11 -10
- package/dist/{files-CSzVADHn.js.map → files-BpUYBwGu.js.map} +1 -1
- package/dist/files-Bw8lWEjg.js +1 -0
- package/dist/files-D6J0iSdx.js +1 -0
- package/dist/{git-DfG-YJ1u.js → git-Crl3b87o.js} +2 -2
- package/dist/{git-DfG-YJ1u.js.map → git-Crl3b87o.js.map} +1 -1
- package/dist/harness-CEuntrla.js +323 -0
- package/dist/harness-CEuntrla.js.map +1 -0
- package/dist/harness.d.ts +16 -30
- package/dist/harness.js +1 -2
- package/dist/{header-CALhmafp.js → header-DHQv_ZrF.js} +2 -2
- package/dist/{header-CALhmafp.js.map → header-DHQv_ZrF.js.map} +1 -1
- package/dist/{images-BMgdpMAX.js → images-Bi3aGxb9.js} +114 -45
- package/dist/images-Bi3aGxb9.js.map +1 -0
- package/dist/index.d.ts +9 -37
- package/dist/index.js +6 -2138
- package/dist/{init-BIdLF0F9.js → init-Cl3f3NBT.js} +26 -8
- package/dist/init-Cl3f3NBT.js.map +1 -0
- package/dist/init-fhOXED8F.js +1 -0
- package/dist/{invocations-CLaL8AuW.js → invocations-BYDPe3fV.js} +4 -4
- package/dist/{invocations-CLaL8AuW.js.map → invocations-BYDPe3fV.js.map} +1 -1
- package/dist/{judge-CeYPN8P_.js → judge-DW_GDOmB.js} +11 -19
- package/dist/{judge-CeYPN8P_.js.map → judge-DW_GDOmB.js.map} +1 -1
- package/dist/judge.d.ts +2 -2
- package/dist/judge.js +1 -1
- package/dist/{live-S0qODb6o.js → live-jlfszAbb.js} +9 -20
- package/dist/live-jlfszAbb.js.map +1 -0
- package/dist/matchers-Ddmc2z7H.js +118 -0
- package/dist/matchers-Ddmc2z7H.js.map +1 -0
- package/dist/model-CXhrziBe.js +1 -0
- package/dist/{model-B1BZoZ9b.js → model-D0IcOQao.js} +22 -20
- package/dist/model-D0IcOQao.js.map +1 -0
- package/dist/{model-DEQo3FkZ.js → model-DaVCY3rb.js} +2 -2
- package/dist/{model-DEQo3FkZ.js.map → model-DaVCY3rb.js.map} +1 -1
- package/dist/{model-BOnlAPzs.js → model-DaX4bNLZ.js} +123 -22
- package/dist/model-DaX4bNLZ.js.map +1 -0
- package/dist/model-_bxNrk2h.js +1 -0
- package/dist/{node-Co7EXge0.js → node-B3ydHo6t.js} +10 -47
- package/dist/node-B3ydHo6t.js.map +1 -0
- package/dist/object-CLf2-tNq.js +9 -0
- package/dist/object-CLf2-tNq.js.map +1 -0
- package/dist/{opencode-providers-ByD85Q0l.js → opencode-providers-J9colP0-.js} +96 -21
- package/dist/opencode-providers-J9colP0-.js.map +1 -0
- package/dist/options-C0d0AzeR.js +1118 -0
- package/dist/options-C0d0AzeR.js.map +1 -0
- package/dist/{pairs-DDsjgm5F.js → pairs-CnInRu-G.js} +76 -2
- package/dist/{pairs-DDsjgm5F.js.map → pairs-CnInRu-G.js.map} +1 -1
- package/dist/{patch-bDV8YFW0.js → patch-B1bnfhN-.js} +6 -6
- package/dist/{patch-bDV8YFW0.js.map → patch-B1bnfhN-.js.map} +1 -1
- package/dist/{plan-DUydFc_1.js → plan-DgQxp9yy.js} +34 -13
- package/dist/plan-DgQxp9yy.js.map +1 -0
- package/dist/{preflight-BkoSxf4C.js → preflight-BRzD30L5.js} +8 -7
- package/dist/preflight-BRzD30L5.js.map +1 -0
- package/dist/preflight-DlQvbySb.js +1 -0
- package/dist/{prepare-CUAWHebF.js → prepare-B_y-AFMv.js} +38 -30
- package/dist/prepare-B_y-AFMv.js.map +1 -0
- package/dist/prepare-DCKTLHN3.js +2 -0
- package/dist/{provenance-D7HK3vzt.js → provenance-DQ0AXn6c.js} +5 -5
- package/dist/{provenance-D7HK3vzt.js.map → provenance-DQ0AXn6c.js.map} +1 -1
- package/dist/provider-DehR4CMN.js +1 -0
- package/dist/providers-B9yTdIqF.js +1 -0
- package/dist/providers-DoTq1jHW.js +165 -0
- package/dist/providers-DoTq1jHW.js.map +1 -0
- package/dist/query-BO-ux7RB.js +139 -0
- package/dist/query-BO-ux7RB.js.map +1 -0
- package/dist/query-CRQfsw0e.js +1 -0
- package/dist/questions-C2dym2ce.js +524 -0
- package/dist/questions-C2dym2ce.js.map +1 -0
- package/dist/{record-BRP9vZrj.js → record-BKmMvZ6O.js} +9 -1
- package/dist/{record-BRP9vZrj.js.map → record-BKmMvZ6O.js.map} +1 -1
- package/dist/remote-CPPW86Q9.js +378 -0
- package/dist/remote-CPPW86Q9.js.map +1 -0
- package/dist/{results-Di7m8dQ3.js → results-BE2f-1XS.js} +6 -5
- package/dist/results-BE2f-1XS.js.map +1 -0
- package/dist/{resume-SUz1GskV.js → resume-Ca1c8vix.js} +10 -10
- package/dist/{resume-SUz1GskV.js.map → resume-Ca1c8vix.js.map} +1 -1
- package/dist/{root-CvdRlRZX.js → root-DICDHCtp.js} +4 -4
- package/dist/{root-CvdRlRZX.js.map → root-DICDHCtp.js.map} +1 -1
- package/dist/{runtime-DdsfnRz_.js → runtime-PX_oXiCS.js} +23 -71
- package/dist/runtime-PX_oXiCS.js.map +1 -0
- package/dist/sandbox-DLrsvu7U.js +70 -0
- package/dist/sandbox-DLrsvu7U.js.map +1 -0
- package/dist/sandbox.d.ts +19 -6
- package/dist/sandbox.js +1 -2
- package/dist/server-Dp8eOeK5.js +1 -0
- package/dist/{server-BNnXtmS8.js → server-TUY5xA_A.js} +11 -11
- package/dist/server-TUY5xA_A.js.map +1 -0
- package/dist/shared-CA61BuPJ.js +188 -0
- package/dist/shared-CA61BuPJ.js.map +1 -0
- package/dist/{source-Dof0NQBm.js → source-DJGS0a0u.js} +2 -2
- package/dist/{source-Dof0NQBm.js.map → source-DJGS0a0u.js.map} +1 -1
- package/dist/source-DdbLGR1M.js +1 -0
- package/dist/src-BxfCKA3_.js +2 -0
- package/dist/{src-C1E9HDWO.js → src-C7_1SqDP.js} +3 -3
- package/dist/{src-C1E9HDWO.js.map → src-C7_1SqDP.js.map} +1 -1
- package/dist/{src-DDNXsD9H.js → src-CF17Ug08.js} +5 -4
- package/dist/src-CF17Ug08.js.map +1 -0
- package/dist/{src-C_4Umgh2.js → src-CFp86GtV.js} +52 -51
- package/dist/src-CFp86GtV.js.map +1 -0
- package/dist/src-CLoOMVWI.js +3 -0
- package/dist/src-CcrQbpG8.js +2 -0
- package/dist/src-DCFtJRp0.js +2 -0
- package/dist/src-DIL0jST0.js +368 -0
- package/dist/src-DIL0jST0.js.map +1 -0
- package/dist/src-DSYYPEOj.js +2 -0
- package/dist/src-DYO3DdnQ.js +1 -0
- package/dist/src-DvCg0NBs.js +324 -0
- package/dist/src-DvCg0NBs.js.map +1 -0
- package/dist/{src-COgE7991.js → src-DvK0EIZx.js} +5 -5
- package/dist/{src-COgE7991.js.map → src-DvK0EIZx.js.map} +1 -1
- package/dist/{src-DVy58-zZ.js → src-FGXhkEkH.js} +5 -5
- package/dist/{src-DVy58-zZ.js.map → src-FGXhkEkH.js.map} +1 -1
- package/dist/src-WD-zgQYZ.js +2 -0
- package/dist/src-_oI9AePb.js +2 -0
- package/dist/{src-8rRXy4u9.js → src-ftu5wPSt.js} +1652 -182
- package/dist/src-ftu5wPSt.js.map +1 -0
- package/dist/src-qsKCqv7a.js +2 -0
- package/dist/{src-D95O-Smv.js → src-u8_ixn_F.js} +15 -11
- package/dist/src-u8_ixn_F.js.map +1 -0
- package/dist/state-CeR6oz0k.js +66 -0
- package/dist/state-CeR6oz0k.js.map +1 -0
- package/dist/{state-CiXyLqg0.js → state-DfpHox6b.js} +36 -24
- package/dist/state-DfpHox6b.js.map +1 -0
- package/dist/state-DpAxYyED.js +1 -0
- package/dist/studio-app/assets/index-CBkhNAv8.js +58 -0
- package/dist/studio-app/assets/index-CwQN3f_h.css +2 -0
- package/dist/studio-app/index.html +2 -2
- package/dist/suite-Cw_7G2RM.js +429 -0
- package/dist/suite-Cw_7G2RM.js.map +1 -0
- package/dist/suite-DamAEnNF.js +1 -0
- package/dist/summary-BUKfU-9l.js +611 -0
- package/dist/summary-BUKfU-9l.js.map +1 -0
- package/dist/{summary-2OAWF2N7.js → summary-Baa4rTHS.js} +7 -7
- package/dist/{summary-2OAWF2N7.js.map → summary-Baa4rTHS.js.map} +1 -1
- package/dist/testing.d.ts +3 -2
- package/dist/testing.js +3 -2
- package/dist/{tool-target-BU1JnSE9.js → tool-target-D2mcYlSQ.js} +14 -7
- package/dist/tool-target-D2mcYlSQ.js.map +1 -0
- package/dist/{tools-B10Uj7OI.js → tools-DLHgetpx.js} +6 -6
- package/dist/tools-DLHgetpx.js.map +1 -0
- package/dist/transcript-BNNANU8A.js +64 -0
- package/dist/transcript-BNNANU8A.js.map +1 -0
- package/dist/{types-D8RLfkFP.d.ts → types-BYdlwMwo.d.ts} +398 -46
- package/dist/{usage-DDF_6tkV.js → usage-CleNKkly.js} +4 -2
- package/dist/{usage-DDF_6tkV.js.map → usage-CleNKkly.js.map} +1 -1
- package/dist/view/index.d.ts +290 -8
- package/dist/view/index.js +7 -7
- package/dist/{views-Dqa5ojfZ.js → views-B8w2J-gD.js} +19 -24
- package/dist/views-B8w2J-gD.js.map +1 -0
- package/dist/views-DblnI3kA.js +2 -0
- package/dist/{worker-entry-BAikHl9F.js → worker-entry-DNnveLqx.js} +16 -229
- package/dist/worker-entry-DNnveLqx.js.map +1 -0
- package/dist/{workspace-C-TrNIUc.js → workspace-C4RA3srV.js} +7 -7
- package/dist/{workspace-C-TrNIUc.js.map → workspace-C4RA3srV.js.map} +1 -1
- package/dist/workspace-C_X0tdv6.js +1 -0
- package/package.json +12 -12
- package/dist/agent-WSmTaesf.js.map +0 -1
- package/dist/assemble-BCZzTyR7.js.map +0 -1
- package/dist/assemble-C5qq5yT2.js +0 -2
- package/dist/capture-Bp74Z6Fr.js.map +0 -1
- package/dist/capture-DS-cPyuE.js +0 -2
- package/dist/cli-CVrMh_qz.js.map +0 -1
- package/dist/cli-spec-CKEYa8V2.js.map +0 -1
- package/dist/client-Bbo9SPlK.js.map +0 -1
- package/dist/command-BrmXUC-W.js +0 -2
- package/dist/command-C5xFPKHM.js.map +0 -1
- package/dist/command-CzIFp1JQ.js.map +0 -1
- package/dist/command-DUT5l13I.js.map +0 -1
- package/dist/commands-CLmPBrTS.js.map +0 -1
- package/dist/commands-fI3G2Wnh.js +0 -2
- package/dist/config-CGvBeewH.js +0 -457
- package/dist/config-CGvBeewH.js.map +0 -1
- package/dist/context-DbSMEVKs.js.map +0 -1
- package/dist/db-CSSFtGcN.js +0 -3
- package/dist/db-CfQFwJtq.js.map +0 -1
- package/dist/debug-SEmW4w8f.js +0 -2
- package/dist/dist-CTzThfu_.js.map +0 -1
- package/dist/docker-CRQGQbIt.js.map +0 -1
- package/dist/docker-DV2GNgle.js.map +0 -1
- package/dist/docker-Df_YOxxB.js +0 -2
- package/dist/doctor-DlKycx5H.js.map +0 -1
- package/dist/duration-JsJrIWXq.js +0 -26
- package/dist/duration-JsJrIWXq.js.map +0 -1
- package/dist/egress-BhzNh7Yi.js.map +0 -1
- package/dist/env-BQqj93gu.js +0 -21
- package/dist/env-BQqj93gu.js.map +0 -1
- package/dist/environment-1jE-HhO-.js +0 -657
- package/dist/environment-1jE-HhO-.js.map +0 -1
- package/dist/errors-C9w_ud7g.js.map +0 -1
- package/dist/errors-yDAEwmZo.js.map +0 -1
- package/dist/fake-instructions-CUI33I_F.js +0 -32
- package/dist/fake-instructions-CUI33I_F.js.map +0 -1
- package/dist/family-D2b7WD10.js +0 -67
- package/dist/family-D2b7WD10.js.map +0 -1
- package/dist/files-AiEKuEZe.js +0 -2
- package/dist/files-BM78_nnF.js +0 -2
- package/dist/files-BMCvfB4X.js +0 -2
- package/dist/harness-CeCp2GSW.js +0 -171
- package/dist/harness-CeCp2GSW.js.map +0 -1
- package/dist/images-BMgdpMAX.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init-B6vegaP_.js +0 -2
- package/dist/init-BIdLF0F9.js.map +0 -1
- package/dist/jiti-BcJHCtrb.js +0 -46
- package/dist/jiti-BcJHCtrb.js.map +0 -1
- package/dist/live-S0qODb6o.js.map +0 -1
- package/dist/model-B1BZoZ9b.js.map +0 -1
- package/dist/model-BOnlAPzs.js.map +0 -1
- package/dist/model-DWeg5J7z.js +0 -2
- package/dist/model-FXko2kl7.js +0 -2
- package/dist/node-Co7EXge0.js.map +0 -1
- package/dist/opencode-providers-ByD85Q0l.js.map +0 -1
- package/dist/options-CKqyPGxX.js +0 -739
- package/dist/options-CKqyPGxX.js.map +0 -1
- package/dist/plan-DUydFc_1.js.map +0 -1
- package/dist/preflight-BkoSxf4C.js.map +0 -1
- package/dist/preflight-D5LW7Oqi.js +0 -2
- package/dist/prepare-CUAWHebF.js.map +0 -1
- package/dist/prepare-oji2oO8W.js +0 -3
- package/dist/process-CSVO_jsc.js +0 -119
- package/dist/process-CSVO_jsc.js.map +0 -1
- package/dist/provider-BDbNOQhQ.js +0 -2
- package/dist/providers-B1DzMvmH.js +0 -107
- package/dist/providers-B1DzMvmH.js.map +0 -1
- package/dist/providers-CpEfNU1F.js +0 -2
- package/dist/query-BjBMLa-C.js +0 -91
- package/dist/query-BjBMLa-C.js.map +0 -1
- package/dist/query-oPO_XrTy.js +0 -2
- package/dist/questions-B8by4Bbt.js +0 -234
- package/dist/questions-B8by4Bbt.js.map +0 -1
- package/dist/results-Di7m8dQ3.js.map +0 -1
- package/dist/runtime-DdsfnRz_.js.map +0 -1
- package/dist/sandbox-D5v-of6d.js +0 -139
- package/dist/sandbox-D5v-of6d.js.map +0 -1
- package/dist/server-BNnXtmS8.js.map +0 -1
- package/dist/server-BNwoKzlm.js +0 -2
- package/dist/source-Bk_0ZaEY.js +0 -2
- package/dist/src-8rRXy4u9.js.map +0 -1
- package/dist/src-BGWuWp6I.js +0 -3
- package/dist/src-BRt0O02i.js +0 -3
- package/dist/src-Bx2x1ekD.js +0 -3
- package/dist/src-C_4Umgh2.js.map +0 -1
- package/dist/src-D95O-Smv.js.map +0 -1
- package/dist/src-DDNXsD9H.js.map +0 -1
- package/dist/src-DLa-ESW0.js +0 -4
- package/dist/src-cN0aB-WR.js +0 -3
- package/dist/src-cdIVjC5b.js +0 -2
- package/dist/src-sIsDHWYq.js +0 -3
- package/dist/state-Bo5zg4da.js +0 -2
- package/dist/state-CiXyLqg0.js.map +0 -1
- package/dist/studio-app/assets/index-B9MCTfuu.css +0 -2
- package/dist/studio-app/assets/index-CROH2NB3.js +0 -58
- package/dist/summary-BTksrIxn.js +0 -254
- package/dist/summary-BTksrIxn.js.map +0 -1
- package/dist/tool-target-BU1JnSE9.js.map +0 -1
- package/dist/tools-B10Uj7OI.js.map +0 -1
- package/dist/views-Cs2Oqayd.js +0 -3
- package/dist/views-Dqa5ojfZ.js.map +0 -1
- package/dist/worker-entry-BAikHl9F.js.map +0 -1
- package/dist/workspace-Do_SiWBs.js +0 -2
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { n as
|
|
1
|
+
import { n as UsageError } from "./errors-B6BSMs03.js";
|
|
2
|
+
import { f as sandboxId, s as harnessId } from "./options-C0d0AzeR.js";
|
|
3
|
+
import { p as environmentSandbox } from "./environment-Cca6a4wB.js";
|
|
4
|
+
import { a as fromCwd, c as relativeFile, o as newRunId } from "./ids-Bp6ut7ZD.js";
|
|
5
|
+
import { o as judgeCredentials, r as RECOMMENDED_JUDGE_MODEL } from "./judge-DW_GDOmB.js";
|
|
6
|
+
import { _ as selectProfile, a as configLabel, f as loadConfig, i as configFilesPhrase, o as configPathFor, r as badCharacterAt, s as defaultConcurrency, y as loadEnvFiles } from "./config-DrVSEVN0.js";
|
|
2
7
|
import { n as SECRET_NAME, o as redactSecrets } from "./redact-DJ9JCShu.js";
|
|
3
|
-
import { i as PACKAGE_DIR } from "./root-
|
|
4
|
-
import {
|
|
5
|
-
import { a as unenforceable, m as credentialOf } from "./egress-BhzNh7Yi.js";
|
|
6
|
-
import { a as fromCwd } from "./ids-Bp6ut7ZD.js";
|
|
7
|
-
import { s as judgeCredentials } from "./judge-CeYPN8P_.js";
|
|
8
|
-
import { d as sandboxId, s as harnessId } from "./options-CKqyPGxX.js";
|
|
9
|
-
import { a as configPathFor, i as configLabel, n as badCharacterAt, o as defaultConcurrency, r as configFilesPhrase, u as loadConfig } from "./config-CGvBeewH.js";
|
|
10
|
-
import { i as runtimeInfo } from "./provenance-D7HK3vzt.js";
|
|
8
|
+
import { i as PACKAGE_DIR } from "./root-DICDHCtp.js";
|
|
9
|
+
import { a as unenforceable, m as credentialOf } from "./egress-2-qzPvGi.js";
|
|
11
10
|
import { t as colors } from "./colors-QV9dFVhN.js";
|
|
12
|
-
import {
|
|
11
|
+
import { i as runtimeInfo } from "./provenance-DQ0AXn6c.js";
|
|
12
|
+
import { r as findEvalFiles, t as DEFAULT_EXCLUDE } from "./files-Bk1mC3AN.js";
|
|
13
|
+
import { o as missingGitignoreEntries } from "./init-Cl3f3NBT.js";
|
|
13
14
|
import { existsSync, readFileSync } from "node:fs";
|
|
14
|
-
import {
|
|
15
|
+
import { availableParallelism } from "node:os";
|
|
16
|
+
import { dirname, join, resolve } from "node:path";
|
|
15
17
|
import { execFile } from "node:child_process";
|
|
16
18
|
//#region src/doctor.ts
|
|
17
19
|
const run = (command, args, cwd) => new Promise((resolve) => {
|
|
@@ -25,25 +27,31 @@ const run = (command, args, cwd) => new Promise((resolve) => {
|
|
|
25
27
|
}));
|
|
26
28
|
});
|
|
27
29
|
function defaultDeps(env = process.env) {
|
|
28
|
-
const sandbox = () => import("./src-
|
|
30
|
+
const sandbox = () => import("./src-DYO3DdnQ.js");
|
|
29
31
|
return {
|
|
30
32
|
env,
|
|
31
33
|
runtime: runtimeInfo(),
|
|
32
34
|
nodeVersion: process.versions.node,
|
|
33
35
|
platform: process.platform,
|
|
34
|
-
dockerState: async () => (await sandbox()).dockerState(),
|
|
35
|
-
dockerCapacity: async () => (await sandbox()).dockerCapacity(),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
dockerState: async (engine) => (await sandbox()).dockerState(engine),
|
|
37
|
+
dockerCapacity: async (engine) => (await sandbox()).dockerCapacity(engine),
|
|
38
|
+
podmanConfinement: async () => (await import("./providers-B9yTdIqF.js")).podmanConfinementProblem(),
|
|
39
|
+
imageExists: async (ref, engine) => !!await (await sandbox()).imageInfo(ref, engine),
|
|
40
|
+
plannedUses: async (config) => {
|
|
41
|
+
const { plannedImageUses } = await import("./images-Bi3aGxb9.js");
|
|
42
|
+
const { stagingDir } = await import("./results-BE2f-1XS.js");
|
|
43
|
+
const profile = selectProfile(config, void 0, env);
|
|
44
|
+
const runId = newRunId(/* @__PURE__ */ new Date(), null, "doctor");
|
|
45
|
+
return plannedImageUses({
|
|
46
|
+
runId,
|
|
47
|
+
stagingDir: stagingDir(config.root, runId),
|
|
48
|
+
config,
|
|
49
|
+
tags: profile?.tags ?? [],
|
|
50
|
+
concurrency: config.concurrency ?? availableParallelism(),
|
|
51
|
+
profile
|
|
52
|
+
});
|
|
46
53
|
},
|
|
54
|
+
imageTags: async (repository, engine) => (await sandbox()).imageTags(repository, engine),
|
|
47
55
|
gitIgnored: async (root, paths) => {
|
|
48
56
|
if ((await run("git", ["rev-parse", "--git-dir"], root)).code !== 0) return null;
|
|
49
57
|
return Promise.all(paths.map(async (p) => (await run("git", [
|
|
@@ -112,10 +120,17 @@ function configuredUses(config) {
|
|
|
112
120
|
}
|
|
113
121
|
return uses;
|
|
114
122
|
}
|
|
123
|
+
const planUses = (config, deps) => deps.plannedUses(config).then((uses) => ({ uses }), (error) => ({ error: redactSecrets(error.message.split("\n")[0] ?? "") }));
|
|
124
|
+
/** The planned uses, or the config's own harnesses on its sandbox when the evals didn't load. */
|
|
125
|
+
const usesOf = (config, planned) => "uses" in planned ? planned.uses : configuredUses(config).filter((u) => !u.profile).map((u) => ({
|
|
126
|
+
id: "",
|
|
127
|
+
harness: u.harness,
|
|
128
|
+
sandbox: u.sandbox
|
|
129
|
+
}));
|
|
115
130
|
function describeConfig(config) {
|
|
116
131
|
const profiles = Object.keys(config.profiles);
|
|
117
132
|
return [
|
|
118
|
-
`harness ${config.harness.map(harnessId).join(", ")}`,
|
|
133
|
+
`harness ${config.harness.map(harnessId).join(", ")}${config.optionKeys?.includes("harness") ? "" : " (reeval's default)"}`,
|
|
119
134
|
`sandbox ${sandboxId(environmentSandbox(config.environment, config.sandbox))}`,
|
|
120
135
|
profiles.length ? `profiles ${profiles.join(", ")}` : "no profiles"
|
|
121
136
|
].join(", ");
|
|
@@ -125,8 +140,78 @@ const DOCKER_FIX = {
|
|
|
125
140
|
darwin: "start Docker Desktop (or another Docker engine, such as OrbStack or Colima)",
|
|
126
141
|
win32: "install or start Docker Desktop with the WSL 2 backend and Linux containers (https://docs.docker.com/desktop/setup/install/windows-install/)"
|
|
127
142
|
};
|
|
143
|
+
const PODMAN_FIX = {
|
|
144
|
+
linux: "install Podman 4 or later (your distribution's podman package), then check podman info works as you",
|
|
145
|
+
darwin: "start its machine: podman machine init, then podman machine start",
|
|
146
|
+
win32: "start its machine: podman machine init, then podman machine start"
|
|
147
|
+
};
|
|
148
|
+
/** The engines the config's container sandboxes run on, Docker first. */
|
|
149
|
+
const enginesOf = (config) => {
|
|
150
|
+
const used = new Set(configuredUses(config).flatMap((u) => u.sandbox.kind === "docker" ? [u.sandbox.engine ?? "docker"] : []));
|
|
151
|
+
return ["docker", "podman"].filter((e) => used.has(e));
|
|
152
|
+
};
|
|
153
|
+
/** Podman answers, is new enough, and can apply every limit; with the machine's size. */
|
|
154
|
+
async function checkPodman(deps) {
|
|
155
|
+
if (await deps.dockerState("podman") !== "running") return {
|
|
156
|
+
check: {
|
|
157
|
+
id: "podman",
|
|
158
|
+
status: "fail",
|
|
159
|
+
summary: "isn't answering (podman info failed), and the config's podman() sandboxes need it",
|
|
160
|
+
fix: PODMAN_FIX[deps.platform] ?? PODMAN_FIX.linux
|
|
161
|
+
},
|
|
162
|
+
running: false
|
|
163
|
+
};
|
|
164
|
+
const problem = await deps.podmanConfinement();
|
|
165
|
+
if (problem) return {
|
|
166
|
+
check: {
|
|
167
|
+
id: "podman",
|
|
168
|
+
status: "fail",
|
|
169
|
+
summary: problem.problem,
|
|
170
|
+
fix: problem.fix
|
|
171
|
+
},
|
|
172
|
+
running: true
|
|
173
|
+
};
|
|
174
|
+
const capacity = await deps.dockerCapacity("podman");
|
|
175
|
+
if (!capacity) return {
|
|
176
|
+
check: {
|
|
177
|
+
id: "podman",
|
|
178
|
+
status: "ok",
|
|
179
|
+
summary: "running"
|
|
180
|
+
},
|
|
181
|
+
running: true
|
|
182
|
+
};
|
|
183
|
+
const gb = capacity.memoryBytes / 1024 ** 3;
|
|
184
|
+
const summary = `running · ${capacity.cpus} CPUs, ${gb.toFixed(1)} GB memory (default concurrency ${defaultConcurrency(capacity)})`;
|
|
185
|
+
return {
|
|
186
|
+
check: gb < 4 ? {
|
|
187
|
+
id: "podman",
|
|
188
|
+
status: "warn",
|
|
189
|
+
summary: `${summary}; an attempt may use up to 4 GB`,
|
|
190
|
+
fix: "give the Podman machine more memory (podman machine set --memory), or lower podman({ memory })"
|
|
191
|
+
} : {
|
|
192
|
+
id: "podman",
|
|
193
|
+
status: "ok",
|
|
194
|
+
summary
|
|
195
|
+
},
|
|
196
|
+
running: true
|
|
197
|
+
};
|
|
198
|
+
}
|
|
128
199
|
async function checkDocker(config, deps) {
|
|
129
|
-
|
|
200
|
+
const engines = enginesOf(config);
|
|
201
|
+
if (engines.includes("podman")) {
|
|
202
|
+
const podman = await checkPodman(deps);
|
|
203
|
+
if (!engines.includes("docker")) return {
|
|
204
|
+
checks: [podman.check],
|
|
205
|
+
running: podman.running
|
|
206
|
+
};
|
|
207
|
+
const docker = await checkDockerEngine(deps);
|
|
208
|
+
return {
|
|
209
|
+
...docker,
|
|
210
|
+
checks: [...docker.checks, podman.check],
|
|
211
|
+
running: docker.running && podman.running
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
if (!engines.length) return {
|
|
130
215
|
checks: [{
|
|
131
216
|
id: "docker",
|
|
132
217
|
status: "skip",
|
|
@@ -134,6 +219,9 @@ async function checkDocker(config, deps) {
|
|
|
134
219
|
}],
|
|
135
220
|
running: false
|
|
136
221
|
};
|
|
222
|
+
return checkDockerEngine(deps);
|
|
223
|
+
}
|
|
224
|
+
async function checkDockerEngine(deps) {
|
|
137
225
|
const state = await deps.dockerState();
|
|
138
226
|
if (state === "windows-containers") return {
|
|
139
227
|
checks: [{
|
|
@@ -179,50 +267,68 @@ async function checkDocker(config, deps) {
|
|
|
179
267
|
running: true
|
|
180
268
|
};
|
|
181
269
|
}
|
|
182
|
-
/**
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
sandbox: u.sandbox
|
|
190
|
-
})));
|
|
270
|
+
/**
|
|
271
|
+
* reeval's sandbox image for each Docker harness the evals plan, as `reeval image build` resolves
|
|
272
|
+
* them: present, missing, unanswered by Docker, or left from an older reeval.
|
|
273
|
+
*/
|
|
274
|
+
async function checkImages(config, deps, planned) {
|
|
275
|
+
const { imageFor } = await import("./src-DYO3DdnQ.js");
|
|
276
|
+
const { imageTargets, reevalImages } = await import("./images-Bi3aGxb9.js");
|
|
191
277
|
const checks = [];
|
|
278
|
+
const targets = imageTargets(usesOf(config, planned ?? await planUses(config, deps)));
|
|
192
279
|
const missing = [];
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
status: "ok",
|
|
198
|
-
summary: `${ref} (${harness})`
|
|
199
|
-
});
|
|
200
|
-
else {
|
|
201
|
-
missing.push(ref);
|
|
280
|
+
const exists = async (ref, engine, what) => {
|
|
281
|
+
try {
|
|
282
|
+
return await deps.imageExists(ref, engine);
|
|
283
|
+
} catch (error) {
|
|
202
284
|
checks.push({
|
|
203
285
|
id: "image",
|
|
204
286
|
status: "fail",
|
|
205
|
-
summary: `${ref} (${
|
|
206
|
-
fix: "reeval
|
|
287
|
+
summary: `${ref} (${what}) couldn't be checked: ${error.message}`,
|
|
288
|
+
fix: `check that ${engine === "podman" ? "Podman" : "Docker"} answers (${engine} info), then run reeval doctor again`
|
|
289
|
+
});
|
|
290
|
+
return null;
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
for (const engine of ["docker", "podman"]) {
|
|
294
|
+
const own = targets.filter((t) => (t.sandbox.engine ?? "docker") === engine);
|
|
295
|
+
const on = engine === "podman" ? ", in Podman" : "";
|
|
296
|
+
for (const harness of reevalImages(own)) {
|
|
297
|
+
const ref = imageFor(harness);
|
|
298
|
+
const found = await exists(ref, engine, `${harness}${on}`);
|
|
299
|
+
if (found) checks.push({
|
|
300
|
+
id: "image",
|
|
301
|
+
status: "ok",
|
|
302
|
+
summary: `${ref} (${harness}${on})`
|
|
303
|
+
});
|
|
304
|
+
else if (found === false) {
|
|
305
|
+
missing.push(ref);
|
|
306
|
+
checks.push({
|
|
307
|
+
id: "image",
|
|
308
|
+
status: "fail",
|
|
309
|
+
summary: `${ref} (${harness}${on}) isn't built`,
|
|
310
|
+
fix: "reeval image build"
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
const [repository] = ref.split(":");
|
|
314
|
+
const prefix = `${repository}:${harness}-`;
|
|
315
|
+
const stale = (await deps.imageTags(repository, engine)).filter((tag) => tag.startsWith(prefix) && tag !== ref && !tag.startsWith(`${ref}-`));
|
|
316
|
+
if (stale.length) checks.push({
|
|
317
|
+
id: "image",
|
|
318
|
+
status: "warn",
|
|
319
|
+
summary: `${stale.join(", ")}: built by another reeval version, unused by this one`,
|
|
320
|
+
fix: `${engine} image rm ${stale.join(" ")}`
|
|
207
321
|
});
|
|
208
322
|
}
|
|
209
|
-
const [repository] = ref.split(":");
|
|
210
|
-
const prefix = `${repository}:${harness}-`;
|
|
211
|
-
const stale = (await deps.imageTags(repository)).filter((tag) => tag.startsWith(prefix) && tag !== ref && !tag.startsWith(`${ref}-`));
|
|
212
|
-
if (stale.length) checks.push({
|
|
213
|
-
id: "image",
|
|
214
|
-
status: "warn",
|
|
215
|
-
summary: `${stale.join(", ")}: built by another reeval version, unused by this one`,
|
|
216
|
-
fix: `docker image rm ${stale.join(" ")}`
|
|
217
|
-
});
|
|
218
323
|
}
|
|
219
324
|
for (const t of targets.filter((t) => t.sandbox.image)) {
|
|
220
325
|
const ref = t.sandbox.image;
|
|
221
|
-
|
|
326
|
+
const engine = t.sandbox.engine ?? "docker";
|
|
327
|
+
if (await exists(ref, engine, `${engine}({ image })`) === false) checks.push({
|
|
222
328
|
id: "image",
|
|
223
329
|
status: "fail",
|
|
224
|
-
summary: `${ref} (
|
|
225
|
-
fix:
|
|
330
|
+
summary: `${ref} (${engine}({ image })) isn't in ${engine === "podman" ? "Podman" : "Docker"}`,
|
|
331
|
+
fix: `${engine} pull ${ref}, or build it`
|
|
226
332
|
});
|
|
227
333
|
}
|
|
228
334
|
if (!checks.length) checks.push({
|
|
@@ -232,7 +338,8 @@ async function checkImages(config, deps) {
|
|
|
232
338
|
});
|
|
233
339
|
return {
|
|
234
340
|
checks,
|
|
235
|
-
missing
|
|
341
|
+
missing,
|
|
342
|
+
targets
|
|
236
343
|
};
|
|
237
344
|
}
|
|
238
345
|
/** A tiny authenticated request per key, answering only whether the key works. */
|
|
@@ -325,12 +432,20 @@ async function keyCheck(id, names, who, required, deps, online, envFile) {
|
|
|
325
432
|
...probed.status === "fail" ? { fix: `set a valid ${name} in ${envFile}` } : {}
|
|
326
433
|
};
|
|
327
434
|
}
|
|
328
|
-
/**
|
|
329
|
-
|
|
435
|
+
/**
|
|
436
|
+
* Each agent harness's key, from the environment and `.env.local` / `.env`: required for the
|
|
437
|
+
* harnesses the evals plan, a warning for a key only another profile's harness needs.
|
|
438
|
+
*/
|
|
439
|
+
async function checkKeys(config, deps, online, envFile, planned) {
|
|
330
440
|
const byKey = /* @__PURE__ */ new Map();
|
|
331
|
-
|
|
441
|
+
const uses = [...usesOf(config, planned ?? await planUses(config, deps)).map((u) => ({
|
|
442
|
+
harness: u.harness,
|
|
443
|
+
profile: void 0
|
|
444
|
+
})), ...configuredUses(config).filter((u) => u.profile)];
|
|
445
|
+
const needed = new Set(uses.flatMap((u) => u.profile ? [] : [credentialOf(u.harness)]));
|
|
446
|
+
for (const use of uses) {
|
|
332
447
|
const key = credentialOf(use.harness);
|
|
333
|
-
if (!key) continue;
|
|
448
|
+
if (!key || use.profile && needed.has(key)) continue;
|
|
334
449
|
const entry = byKey.get(key) ?? {
|
|
335
450
|
who: [],
|
|
336
451
|
required: false
|
|
@@ -358,11 +473,16 @@ async function checkJudge(config, deps, online, envFile) {
|
|
|
358
473
|
profile: name
|
|
359
474
|
}] : [];
|
|
360
475
|
})];
|
|
361
|
-
if (!models.length)
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
476
|
+
if (!models.length) {
|
|
477
|
+
const callers = await judgeCallers(config);
|
|
478
|
+
if (!callers.length) return [];
|
|
479
|
+
return [{
|
|
480
|
+
id: "judge",
|
|
481
|
+
status: "warn",
|
|
482
|
+
summary: `no judge model, and ${callers.length > 2 ? `${callers.slice(0, 2).join(", ")}, …` : callers.join(", ")} ${callers.length === 1 ? "calls" : "call"} c.judge`,
|
|
483
|
+
fix: `set judge: { model: '${RECOMMENDED_JUDGE_MODEL}' } in the config, or fakeJudge()`
|
|
484
|
+
}];
|
|
485
|
+
}
|
|
366
486
|
return Promise.all(models.map(({ model, profile }) => {
|
|
367
487
|
const label = typeof model === "string" ? model : "fakeJudge()";
|
|
368
488
|
const who = profile ? `${label} in profile ${profile}` : label;
|
|
@@ -375,6 +495,44 @@ async function checkJudge(config, deps, online, envFile) {
|
|
|
375
495
|
return keyCheck("judge", keys, who, !profile, deps, online, envFile);
|
|
376
496
|
}));
|
|
377
497
|
}
|
|
498
|
+
const JUDGE_CALL = /\.judge\s*\(/;
|
|
499
|
+
const RELATIVE_IMPORT = /\bfrom\s+['"](\.{1,2}\/[^'"]+)['"]/g;
|
|
500
|
+
/**
|
|
501
|
+
* The eval files that call `.judge(`, in their own source or a module they import by a relative
|
|
502
|
+
* path, relative to the root. Read as text, not run: a call further away isn't seen.
|
|
503
|
+
*/
|
|
504
|
+
async function judgeCallers(config) {
|
|
505
|
+
const root = config.root;
|
|
506
|
+
const files = await findEvalFiles(root, config.include, [
|
|
507
|
+
...DEFAULT_EXCLUDE,
|
|
508
|
+
"**/.reeval/**",
|
|
509
|
+
`${relativeFile(root, config.history.dir)}/**`
|
|
510
|
+
]);
|
|
511
|
+
const text = (path) => existsSync(path) ? readFileSync(path, "utf8") : "";
|
|
512
|
+
return files.filter((file) => {
|
|
513
|
+
const source = text(file);
|
|
514
|
+
if (JUDGE_CALL.test(source)) return true;
|
|
515
|
+
return [...source.matchAll(RELATIVE_IMPORT)].some(([, spec]) => JUDGE_CALL.test(text(resolve(dirname(file), spec))));
|
|
516
|
+
}).map((file) => relativeFile(root, file));
|
|
517
|
+
}
|
|
518
|
+
/** `analysis.model`'s key: a problem when `analysis.agent` makes every run need it. */
|
|
519
|
+
async function checkAnalysis(config, deps, online, envFile) {
|
|
520
|
+
const model = config.analysis.model;
|
|
521
|
+
if (model === void 0) return [];
|
|
522
|
+
if (typeof model !== "string") return [{
|
|
523
|
+
id: "analysis",
|
|
524
|
+
status: "ok",
|
|
525
|
+
summary: "fakeAnalysis() needs no key"
|
|
526
|
+
}];
|
|
527
|
+
const keys = judgeCredentials(model);
|
|
528
|
+
const who = `${model} (analysis.model)`;
|
|
529
|
+
if (!keys.length) return [{
|
|
530
|
+
id: "analysis",
|
|
531
|
+
status: "ok",
|
|
532
|
+
summary: `${who} needs no key`
|
|
533
|
+
}];
|
|
534
|
+
return [await keyCheck("analysis", keys, who, !!config.analysis.agent, deps, online, envFile)];
|
|
535
|
+
}
|
|
378
536
|
const policyText = (policy) => policy === "allow-all" ? "allow-all: the agents reach any host" : policy === "deny-all" ? "deny-all: only each harness's own hosts" : `allow ${policy.allow.join(", ") || "none"}, plus each harness's own hosts`;
|
|
379
537
|
function checkEgress(config) {
|
|
380
538
|
const checks = [];
|
|
@@ -484,10 +642,24 @@ async function checkEnvFiles(root, deps) {
|
|
|
484
642
|
/** Every check, in order; the config's checks only when it loads. */
|
|
485
643
|
async function doctor(flags, deps) {
|
|
486
644
|
const checks = [checkRuntime(deps.runtime, deps.nodeVersion)];
|
|
487
|
-
|
|
645
|
+
let configPath;
|
|
488
646
|
let config;
|
|
489
647
|
let missingImages = [];
|
|
490
|
-
|
|
648
|
+
let imageTargets = [];
|
|
649
|
+
let ambiguous;
|
|
650
|
+
try {
|
|
651
|
+
configPath = configPathFor(flags.config);
|
|
652
|
+
} catch (error) {
|
|
653
|
+
if (!(error instanceof UsageError)) throw error;
|
|
654
|
+
ambiguous = error.message;
|
|
655
|
+
}
|
|
656
|
+
if (ambiguous) checks.push({
|
|
657
|
+
id: "config",
|
|
658
|
+
status: "fail",
|
|
659
|
+
summary: ambiguous,
|
|
660
|
+
fix: "delete one of them"
|
|
661
|
+
});
|
|
662
|
+
else if (!configPath) checks.push({
|
|
491
663
|
id: "config",
|
|
492
664
|
status: "fail",
|
|
493
665
|
summary: `no ${configFilesPhrase()} here or above`,
|
|
@@ -505,20 +677,28 @@ async function doctor(flags, deps) {
|
|
|
505
677
|
id: "config",
|
|
506
678
|
status: "fail",
|
|
507
679
|
summary: redactSecrets(error.message),
|
|
508
|
-
fix: `
|
|
680
|
+
fix: `edit ${configLabel(configPath)}, then reeval run --dry-run`
|
|
509
681
|
});
|
|
510
682
|
}
|
|
511
683
|
if (config) {
|
|
512
684
|
loadEnvFiles(configPath);
|
|
513
685
|
const envFile = fromCwd(join(config.root, ".env.local")) || ".env.local";
|
|
686
|
+
const planned = await planUses(config, deps);
|
|
687
|
+
if ("error" in planned) checks.push({
|
|
688
|
+
id: "evals",
|
|
689
|
+
status: "warn",
|
|
690
|
+
summary: `didn't load, so the images and keys checked are the config's: ${planned.error}`,
|
|
691
|
+
fix: "reeval run --dry-run shows why"
|
|
692
|
+
});
|
|
514
693
|
const docker = await checkDocker(config, deps);
|
|
515
694
|
checks.push(...docker.checks);
|
|
516
695
|
if (docker.running) {
|
|
517
|
-
const images = await checkImages(config, deps);
|
|
696
|
+
const images = await checkImages(config, deps, planned);
|
|
518
697
|
checks.push(...images.checks);
|
|
519
698
|
missingImages = images.missing;
|
|
699
|
+
imageTargets = images.targets;
|
|
520
700
|
} else if (docker.checks[0]?.status === "fail") {
|
|
521
|
-
const why = docker.windowsContainers ? "Docker runs Windows containers" : "Docker isn't running
|
|
701
|
+
const why = docker.windowsContainers ? "Docker runs Windows containers" : `${docker.checks[0]?.id === "podman" ? "Podman" : "Docker"} isn't running`;
|
|
522
702
|
checks.push({
|
|
523
703
|
id: "image",
|
|
524
704
|
status: "skip",
|
|
@@ -526,8 +706,9 @@ async function doctor(flags, deps) {
|
|
|
526
706
|
});
|
|
527
707
|
}
|
|
528
708
|
const online = !!flags.online;
|
|
529
|
-
checks.push(...await checkKeys(config, deps, online, envFile));
|
|
709
|
+
checks.push(...await checkKeys(config, deps, online, envFile, planned));
|
|
530
710
|
checks.push(...await checkJudge(config, deps, online, envFile));
|
|
711
|
+
checks.push(...await checkAnalysis(config, deps, online, envFile));
|
|
531
712
|
checks.push(...checkEgress(config));
|
|
532
713
|
checks.push(await checkGitignore(config.root, deps));
|
|
533
714
|
const envFiles = await checkEnvFiles(config.root, deps);
|
|
@@ -544,7 +725,8 @@ async function doctor(flags, deps) {
|
|
|
544
725
|
checks
|
|
545
726
|
},
|
|
546
727
|
config,
|
|
547
|
-
missingImages
|
|
728
|
+
missingImages,
|
|
729
|
+
imageTargets
|
|
548
730
|
};
|
|
549
731
|
}
|
|
550
732
|
function renderReport(report, color) {
|
|
@@ -563,12 +745,12 @@ function renderReport(report, color) {
|
|
|
563
745
|
if (c.fix) lines.push(` ${" ".repeat(width)} ${dim(`fix: ${c.fix}`)}`);
|
|
564
746
|
}
|
|
565
747
|
const count = (n, word) => `${n} ${word}${n === 1 ? "" : "s"}`;
|
|
566
|
-
lines.push("", report.problems ? red(`${count(report.problems, "problem")}, ${count(report.warnings, "warning")}. Fix them and run reeval doctor again.`) : report.warnings ? yellow(`No problems, ${count(report.warnings, "warning")}.`) : green("No problems."));
|
|
748
|
+
lines.push("", report.problems ? red(`${count(report.problems, "problem")}, ${count(report.warnings, "warning")}. Fix ${report.problems === 1 ? "it" : "them"} and run reeval doctor again.`) : report.warnings ? yellow(`No problems, ${count(report.warnings, "warning")}.`) : green("No problems."));
|
|
567
749
|
return lines;
|
|
568
750
|
}
|
|
569
751
|
/** `reeval doctor`: exit 0 when nothing failed, 1 otherwise. */
|
|
570
752
|
async function doctorCommand(flags, io, deps = defaultDeps()) {
|
|
571
|
-
const { report, config, missingImages } = await doctor(flags, deps);
|
|
753
|
+
const { report, config, missingImages, imageTargets } = await doctor(flags, deps);
|
|
572
754
|
if (flags.json) {
|
|
573
755
|
io.out(JSON.stringify(report, null, 2));
|
|
574
756
|
return report.healthy ? 0 : 1;
|
|
@@ -576,12 +758,8 @@ async function doctorCommand(flags, io, deps = defaultDeps()) {
|
|
|
576
758
|
for (const line of renderReport(report, io.color)) io.out(line);
|
|
577
759
|
if (config && missingImages.length && io.confirm) {
|
|
578
760
|
if (await io.confirm(`Build ${missingImages.join(", ")} now with reeval image build? [y/N] `)) {
|
|
579
|
-
const { buildImages
|
|
580
|
-
const built = await buildImages(imageTargets
|
|
581
|
-
id: "",
|
|
582
|
-
harness: u.harness,
|
|
583
|
-
sandbox: u.sandbox
|
|
584
|
-
}))), config.root, { log: (line) => io.out(line) });
|
|
761
|
+
const { buildImages } = await import("./images-Bi3aGxb9.js");
|
|
762
|
+
const built = await buildImages(imageTargets, config.root, { log: (line) => io.out(line) });
|
|
585
763
|
for (const b of built) if (!b.ok) io.out(`✗ ${b.id}: ${b.failure.message.split("\n")[0]}`);
|
|
586
764
|
io.out(built.every((b) => b.ok) ? "Built. Run reeval doctor again to check." : "Some images failed to build; reeval image build shows why.");
|
|
587
765
|
}
|
|
@@ -591,4 +769,4 @@ async function doctorCommand(flags, io, deps = defaultDeps()) {
|
|
|
591
769
|
//#endregion
|
|
592
770
|
export { defaultDeps, doctor, doctorCommand };
|
|
593
771
|
|
|
594
|
-
//# sourceMappingURL=doctor-
|
|
772
|
+
//# sourceMappingURL=doctor-D2MbNO8L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-D2MbNO8L.js","names":[],"sources":["../src/doctor.ts"],"mappings":"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"}
|