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
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { commonTool } from "@ai-sdk/harness";
|
|
3
|
+
import { createCredentialRequestTransformation, isHarnessAuthenticationEnvironment } from "@ai-sdk/harness/utils";
|
|
4
|
+
import { tool } from "@ai-sdk/provider-utils";
|
|
5
|
+
import { createACP } from "@ai-sdk/harness-acp";
|
|
6
|
+
//#region ../harness-fx/src/fx-stream.ts
|
|
7
|
+
/** fx's MCP tool name segment: bytes outside `[A-Za-z0-9_-]` become `_`. */
|
|
8
|
+
const fxMcpSegment = (value) => value ? Array.from(new TextEncoder().encode(value), fxMcpByte).join("") : "server";
|
|
9
|
+
const fxMcpByte = (byte) => byte >= 48 && byte <= 57 || byte >= 65 && byte <= 90 || byte >= 97 && byte <= 122 || byte === 45 || byte === 95 ? String.fromCharCode(byte) : "_";
|
|
10
|
+
const record = (value) => value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
11
|
+
/** The text of an ACP tool call's `content` blocks, or nothing when it has none. */
|
|
12
|
+
const contentText = (content) => {
|
|
13
|
+
if (!Array.isArray(content)) return void 0;
|
|
14
|
+
const texts = content.flatMap((block) => {
|
|
15
|
+
const inner = record(record(block).content);
|
|
16
|
+
return inner.type === "text" && typeof inner.text === "string" ? [inner.text] : [];
|
|
17
|
+
});
|
|
18
|
+
return texts.length ? texts.join("") : void 0;
|
|
19
|
+
};
|
|
20
|
+
/** A `skill` call's part with the skill's `name` from its `location`, input kept as it came. */
|
|
21
|
+
const withSkillName = (part) => {
|
|
22
|
+
const raw = part.input;
|
|
23
|
+
let input = raw;
|
|
24
|
+
if (typeof raw === "string") try {
|
|
25
|
+
input = JSON.parse(raw);
|
|
26
|
+
} catch {
|
|
27
|
+
return part;
|
|
28
|
+
}
|
|
29
|
+
const location = record(input).location;
|
|
30
|
+
const name = typeof location === "string" ? /\/([^/]+)$/.exec(location)?.[1] : void 0;
|
|
31
|
+
if (!name || record(input).name !== void 0) return part;
|
|
32
|
+
const named = {
|
|
33
|
+
...record(input),
|
|
34
|
+
name
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
...part,
|
|
38
|
+
input: typeof raw === "string" ? JSON.stringify(named) : named
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Fixes up one fx turn's parts from `@ai-sdk/harness-acp`'s bridge:
|
|
43
|
+
*
|
|
44
|
+
* - A command's output streams in its `in_progress` updates; the `completed` update's `content`
|
|
45
|
+
* is a clipped JSON summary, and its `command_result` has the exit code. A shell result
|
|
46
|
+
* becomes `{ output, exitCode }` from those.
|
|
47
|
+
* - MCP calls are renamed from fx's `mcp_<server>_<tool>` to `mcp__<server>__<tool>`, as Claude
|
|
48
|
+
* Code names them, for the servers the session was given. The longest matching server wins,
|
|
49
|
+
* since a server's name can itself contain `_`.
|
|
50
|
+
* - A `skill` call names its skill by `location` (`skill:<source>:<n>/<name>`); its input gains
|
|
51
|
+
* that `name`, which is how reeval reads which skill a load tool loaded.
|
|
52
|
+
*/
|
|
53
|
+
var FxStreamTranslator = class {
|
|
54
|
+
prefixes;
|
|
55
|
+
outputs = /* @__PURE__ */ new Map();
|
|
56
|
+
exitCodes = /* @__PURE__ */ new Map();
|
|
57
|
+
constructor(options = {}) {
|
|
58
|
+
this.prefixes = (options.mcpServers ?? []).map((name) => [`mcp_${fxMcpSegment(name)}_`, name]).sort((a, b) => b[0].length - a[0].length);
|
|
59
|
+
}
|
|
60
|
+
push(part) {
|
|
61
|
+
if (part.type === "raw") {
|
|
62
|
+
this.observe(record(part.rawValue));
|
|
63
|
+
return part;
|
|
64
|
+
}
|
|
65
|
+
if (part.type !== "tool-call" && part.type !== "tool-result" && part.type !== "tool-error" || typeof part.toolName !== "string") return part;
|
|
66
|
+
const name = part.toolName;
|
|
67
|
+
if (name === "skill") return withSkillName(part);
|
|
68
|
+
const match = this.prefixes.find(([prefix]) => name.startsWith(prefix));
|
|
69
|
+
const out = match ? {
|
|
70
|
+
...part,
|
|
71
|
+
toolName: `mcp__${match[1]}__${name.slice(match[0].length)}`
|
|
72
|
+
} : part;
|
|
73
|
+
const id = typeof part.toolCallId === "string" ? part.toolCallId : "";
|
|
74
|
+
if (out.type !== "tool-result" || out.toolName !== "bash" || !this.outputs.has(id)) return out;
|
|
75
|
+
const exitCode = this.exitCodes.get(id);
|
|
76
|
+
return {
|
|
77
|
+
...out,
|
|
78
|
+
result: {
|
|
79
|
+
output: this.outputs.get(id),
|
|
80
|
+
...exitCode === void 0 ? {} : { exitCode }
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
observe(update) {
|
|
85
|
+
const id = update.toolCallId;
|
|
86
|
+
if (typeof id !== "string" || update.sessionUpdate !== "tool_call_update") return;
|
|
87
|
+
if (update.status === "in_progress") {
|
|
88
|
+
const text = contentText(update.content);
|
|
89
|
+
if (text !== void 0) this.outputs.set(id, (this.outputs.get(id) ?? "") + text);
|
|
90
|
+
}
|
|
91
|
+
const exitCode = record(update.command_result).exit_code;
|
|
92
|
+
if (typeof exitCode === "number") {
|
|
93
|
+
this.exitCodes.set(id, exitCode);
|
|
94
|
+
if (!this.outputs.has(id)) this.outputs.set(id, "");
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region ../harness-fx/src/fx-tools.ts
|
|
100
|
+
const FX_BUILTIN_TOOLS = {
|
|
101
|
+
bash: commonTool("bash", {
|
|
102
|
+
nativeName: "shell",
|
|
103
|
+
toolUseKind: "bash",
|
|
104
|
+
inputSchema: z.looseObject({ command: z.string() })
|
|
105
|
+
}),
|
|
106
|
+
write: {
|
|
107
|
+
...tool({ inputSchema: z.looseObject({
|
|
108
|
+
path: z.string(),
|
|
109
|
+
content: z.string()
|
|
110
|
+
}) }),
|
|
111
|
+
nativeName: "write_file",
|
|
112
|
+
toolUseKind: "edit"
|
|
113
|
+
},
|
|
114
|
+
edit: {
|
|
115
|
+
...tool({ inputSchema: z.looseObject({
|
|
116
|
+
path: z.string(),
|
|
117
|
+
old_string: z.string(),
|
|
118
|
+
new_string: z.string()
|
|
119
|
+
}) }),
|
|
120
|
+
nativeName: "edit_file",
|
|
121
|
+
toolUseKind: "edit"
|
|
122
|
+
},
|
|
123
|
+
delete_file: {
|
|
124
|
+
...tool({ inputSchema: z.looseObject({ path: z.string() }) }),
|
|
125
|
+
toolUseKind: "edit"
|
|
126
|
+
},
|
|
127
|
+
read: {
|
|
128
|
+
...tool({ inputSchema: z.looseObject({ path: z.string() }) }),
|
|
129
|
+
nativeName: "read_file",
|
|
130
|
+
toolUseKind: "readonly"
|
|
131
|
+
},
|
|
132
|
+
glob: commonTool("glob", {
|
|
133
|
+
nativeName: "glob_files",
|
|
134
|
+
toolUseKind: "readonly",
|
|
135
|
+
inputSchema: z.looseObject({ pattern: z.string() })
|
|
136
|
+
}),
|
|
137
|
+
grep: commonTool("grep", {
|
|
138
|
+
nativeName: "grep_files",
|
|
139
|
+
toolUseKind: "readonly",
|
|
140
|
+
inputSchema: z.looseObject({ pattern: z.string() })
|
|
141
|
+
}),
|
|
142
|
+
webSearch: commonTool("webSearch", {
|
|
143
|
+
nativeName: "web_search",
|
|
144
|
+
toolUseKind: "readonly",
|
|
145
|
+
inputSchema: z.looseObject({ query: z.string() })
|
|
146
|
+
}),
|
|
147
|
+
webFetch: {
|
|
148
|
+
...tool({ inputSchema: z.looseObject({ url: z.string() }) }),
|
|
149
|
+
nativeName: "web_fetch",
|
|
150
|
+
toolUseKind: "readonly"
|
|
151
|
+
},
|
|
152
|
+
skill: {
|
|
153
|
+
...tool({ inputSchema: z.looseObject({ location: z.string() }) }),
|
|
154
|
+
toolUseKind: "readonly"
|
|
155
|
+
},
|
|
156
|
+
subagent: { ...tool({ inputSchema: z.looseObject({ request: z.looseObject({}) }) }) },
|
|
157
|
+
mcp_select_tool: {
|
|
158
|
+
...tool({ inputSchema: z.looseObject({ name: z.string() }) }),
|
|
159
|
+
toolUseKind: "readonly"
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
/** The fx release the bootstrap installs, checked against its published sha256s. */
|
|
163
|
+
const FX_CLI_VERSION = "0.0.14";
|
|
164
|
+
const FX_CLI_SHA256 = {
|
|
165
|
+
x86_64: "731c1914fc2d497a10583f4416f8382c192e4897d6a0b4f713d6194455a8548b",
|
|
166
|
+
aarch64: "9f5cfbac1728fffddc2d5d874d1f7fe8d34f179e1bc86fb2e67a6e75074e53f3"
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Where a model runs: Vercel AI Gateway for a gateway id (`anthropic/claude-sonnet-5`), fx's own
|
|
170
|
+
* provider, or OpenAI's Chat Completions API for a bare OpenAI id (`gpt-4.1`), as an fx
|
|
171
|
+
* configured provider. Each takes one key, sent as a bearer token.
|
|
172
|
+
*/
|
|
173
|
+
const FX_PROVIDERS = {
|
|
174
|
+
gateway: {
|
|
175
|
+
credential: "AI_GATEWAY_API_KEY",
|
|
176
|
+
url: "https://ai-gateway.vercel.sh"
|
|
177
|
+
},
|
|
178
|
+
openai: {
|
|
179
|
+
credential: "OPENAI_API_KEY",
|
|
180
|
+
url: "https://api.openai.com"
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
/** The provider a model id names: a gateway id has a `/`, an OpenAI id doesn't. */
|
|
184
|
+
const fxProviderOf = (model) => model.includes("/") ? "gateway" : "openai";
|
|
185
|
+
/** Where harness-placed skills go, under the private home `@ai-sdk/harness-acp` gives fx. */
|
|
186
|
+
const FX_HOME_SKILLS_DIR = ".fx/skills";
|
|
187
|
+
/** Headless and pinned: no self-upgrade, no sounds, no colour. */
|
|
188
|
+
const FX_QUIET_ENV = {
|
|
189
|
+
FX_AUTO_UPGRADE: "0",
|
|
190
|
+
FX_SOUND: "0",
|
|
191
|
+
NO_COLOR: "1"
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* fx's HTTP client ignores `HTTPS_PROXY`, so it can't reach the sandbox's egress gateway itself.
|
|
195
|
+
* It talks plain HTTP to this relay on localhost (fx allows `http://` there), which forwards each
|
|
196
|
+
* request with Node's `fetch`, which honours the proxy (`NODE_USE_ENV_PROXY`) and the gateway's CA.
|
|
197
|
+
*/
|
|
198
|
+
const FX_RELAY_PORT = 47823;
|
|
199
|
+
const FX_RELAY = `import { createServer } from 'node:http'
|
|
200
|
+
import { Readable } from 'node:stream'
|
|
201
|
+
import { writeFileSync } from 'node:fs'
|
|
202
|
+
const [port, upstream, ready] = process.argv.slice(2)
|
|
203
|
+
const drop = new Set(['host', 'connection', 'content-length', 'transfer-encoding', 'keep-alive'])
|
|
204
|
+
const server = createServer(async (req, res) => {
|
|
205
|
+
try {
|
|
206
|
+
const headers = Object.entries(req.headers).filter(([k]) => !drop.has(k))
|
|
207
|
+
const body = req.method === 'GET' || req.method === 'HEAD' ? undefined : Readable.toWeb(req)
|
|
208
|
+
const r = await fetch(upstream + req.url, { method: req.method, headers, body, duplex: 'half' })
|
|
209
|
+
const out = {}
|
|
210
|
+
r.headers.forEach((v, k) => { if (k !== 'content-encoding' && k !== 'content-length') out[k] = v })
|
|
211
|
+
res.writeHead(r.status, out)
|
|
212
|
+
if (r.body) Readable.fromWeb(r.body).pipe(res)
|
|
213
|
+
else res.end()
|
|
214
|
+
} catch (error) {
|
|
215
|
+
res.writeHead(502, { 'content-type': 'text/plain' })
|
|
216
|
+
res.end(String(error))
|
|
217
|
+
}
|
|
218
|
+
})
|
|
219
|
+
server.on('error', (error) => {
|
|
220
|
+
if (error.code !== 'EADDRINUSE') throw error
|
|
221
|
+
writeFileSync(ready, '')
|
|
222
|
+
process.exit(0)
|
|
223
|
+
})
|
|
224
|
+
server.listen(Number(port), '127.0.0.1', () => writeFileSync(ready, ''))
|
|
225
|
+
`;
|
|
226
|
+
/** `fx-acp`: starts the relay to the model's provider (`FX_RELAY_UPSTREAM`), waits for it, then becomes `fx acp`. */
|
|
227
|
+
const FX_LAUNCH = `#!/bin/bash
|
|
228
|
+
bin="$(dirname "$0")"
|
|
229
|
+
ready="$(mktemp -u)"
|
|
230
|
+
node "$bin/fx-relay.mjs" ${FX_RELAY_PORT} "$FX_RELAY_UPSTREAM" "$ready" >/dev/null 2>&1 &
|
|
231
|
+
for _ in $(seq 100); do [ -e "$ready" ] && break; sleep 0.05; done
|
|
232
|
+
exec "$bin/fx" acp
|
|
233
|
+
`;
|
|
234
|
+
/** Downloads the pinned release for the sandbox's arch and checks its sha256, and writes the relay. */
|
|
235
|
+
const FX_INSTALL_COMMAND = `case "$(uname -m)" in
|
|
236
|
+
x86_64|amd64) arch=x86_64 sha=${FX_CLI_SHA256.x86_64} ;;
|
|
237
|
+
aarch64|arm64) arch=aarch64 sha=${FX_CLI_SHA256.aarch64} ;;
|
|
238
|
+
*) echo "fx has no release for $(uname -m)" >&2; exit 1 ;;
|
|
239
|
+
esac
|
|
240
|
+
curl -fsSL --retry 3 -o fx.tar.gz "https://github.com/vercel-labs/fx/releases/download/v${FX_CLI_VERSION}/fx-linux-$arch.tar.gz"
|
|
241
|
+
echo "$sha fx.tar.gz" | sha256sum -c -
|
|
242
|
+
mkdir -p "$HOME/.local/bin"
|
|
243
|
+
tar -xzf fx.tar.gz -C "$HOME/.local/bin" fx
|
|
244
|
+
rm fx.tar.gz
|
|
245
|
+
cat > "$HOME/.local/bin/fx-relay.mjs" <<'FX_RELAY'
|
|
246
|
+
${FX_RELAY}FX_RELAY
|
|
247
|
+
cat > "$HOME/.local/bin/fx-acp" <<'FX_LAUNCH'
|
|
248
|
+
${FX_LAUNCH}FX_LAUNCH
|
|
249
|
+
chmod +x "$HOME/.local/bin/fx-acp"`;
|
|
250
|
+
const relayUrl = `http://127.0.0.1:${FX_RELAY_PORT}`;
|
|
251
|
+
/**
|
|
252
|
+
* fx's process env: quiet flags, the provider, the model and the relay. The same keys for every
|
|
253
|
+
* model, so the bootstrap an image bakes for one provider serves the other.
|
|
254
|
+
*/
|
|
255
|
+
function fxEnv(model) {
|
|
256
|
+
const provider = fxProviderOf(model);
|
|
257
|
+
return {
|
|
258
|
+
...FX_QUIET_ENV,
|
|
259
|
+
FX_PROVIDER: provider,
|
|
260
|
+
FX_MODEL: model,
|
|
261
|
+
FX_GATEWAY_BASE_URL: relayUrl,
|
|
262
|
+
FX_RELAY_UPSTREAM: FX_PROVIDERS[provider].url
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* fx's `settings.json`, with OpenAI's Chat Completions API as the configured provider `openai`
|
|
267
|
+
* for a bare OpenAI id; the gateway needs none.
|
|
268
|
+
*/
|
|
269
|
+
function fxSettings(model) {
|
|
270
|
+
if (fxProviderOf(model) !== "openai") return [];
|
|
271
|
+
const settings = { providers: { openai: {
|
|
272
|
+
protocol: "openai-chat-completions",
|
|
273
|
+
base_url: `${relayUrl}/v1`,
|
|
274
|
+
auth: {
|
|
275
|
+
type: "bearer",
|
|
276
|
+
env: FX_PROVIDERS.openai.credential
|
|
277
|
+
}
|
|
278
|
+
} } };
|
|
279
|
+
return [{
|
|
280
|
+
path: ".fx/settings.json",
|
|
281
|
+
content: `${JSON.stringify(settings, null, 2)}\n`
|
|
282
|
+
}];
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* fx (`fx acp`) as an AI SDK harness, on Vercel AI Gateway or OpenAI's API by the model id. Thin
|
|
286
|
+
* config over `@ai-sdk/harness-acp`: fx names its tool calls, and its ACP `PromptResponse.usage`
|
|
287
|
+
* is the turn's summed tokens, so only MCP calls need renaming ({@link FxStreamTranslator}).
|
|
288
|
+
*/
|
|
289
|
+
function createFx(settings) {
|
|
290
|
+
const provider = FX_PROVIDERS[fxProviderOf(settings.model)];
|
|
291
|
+
if (!isHarnessAuthenticationEnvironment(settings.auth) || !settings.auth[provider.credential]) throw new Error(`fx auth must be an environment object with ${provider.credential} for ${settings.model}`);
|
|
292
|
+
const mcpServers = Object.keys(settings.mcpServers ?? {});
|
|
293
|
+
const acp = createACP({
|
|
294
|
+
version: "v1",
|
|
295
|
+
harnessId: "fx",
|
|
296
|
+
builtinTools: FX_BUILTIN_TOOLS,
|
|
297
|
+
source: {
|
|
298
|
+
type: "install-command",
|
|
299
|
+
command: FX_INSTALL_COMMAND
|
|
300
|
+
},
|
|
301
|
+
executable: "fx-acp",
|
|
302
|
+
args: [],
|
|
303
|
+
auth: settings.auth,
|
|
304
|
+
env: fxEnv(settings.model),
|
|
305
|
+
credentialEnv: Object.values(FX_PROVIDERS).map((each) => each.credential),
|
|
306
|
+
credentialBrokering: ({ env, sandboxEnv, headers }) => {
|
|
307
|
+
const key = env[provider.credential];
|
|
308
|
+
const placeholder = sandboxEnv?.[provider.credential];
|
|
309
|
+
if (!key || !placeholder) return [];
|
|
310
|
+
return [createCredentialRequestTransformation({
|
|
311
|
+
matchUrl: provider.url,
|
|
312
|
+
matchHeaders: { Authorization: `Bearer ${placeholder}` },
|
|
313
|
+
transformHeaders: {
|
|
314
|
+
...headers,
|
|
315
|
+
Authorization: `Bearer ${key}`
|
|
316
|
+
}
|
|
317
|
+
})];
|
|
318
|
+
},
|
|
319
|
+
...settings.mcpServers ? { mcpServers: settings.mcpServers } : {},
|
|
320
|
+
modelMapping: {
|
|
321
|
+
type: "session-config-option",
|
|
322
|
+
path: "model"
|
|
323
|
+
},
|
|
324
|
+
permissionModeMapping: {
|
|
325
|
+
"allow-reads": {
|
|
326
|
+
type: "session-mode",
|
|
327
|
+
modeId: "ask"
|
|
328
|
+
},
|
|
329
|
+
"allow-edits": {
|
|
330
|
+
type: "session-mode",
|
|
331
|
+
modeId: "ask"
|
|
332
|
+
},
|
|
333
|
+
"allow-all": {
|
|
334
|
+
type: "session-mode",
|
|
335
|
+
modeId: "full-access"
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
skillsDirectory: FX_HOME_SKILLS_DIR,
|
|
339
|
+
authenticationFiles: () => fxSettings(settings.model)
|
|
340
|
+
});
|
|
341
|
+
return {
|
|
342
|
+
...acp,
|
|
343
|
+
doStart: async (options) => {
|
|
344
|
+
const sandbox = options.sandboxSession;
|
|
345
|
+
if (settings.requireCredentialBrokering && typeof sandbox.addRequestTransformations !== "function") throw new Error(`The sandbox can't broker ${provider.credential} (it has no request transformations), and requireCredentialBrokering is set, so the key stays out of it.`);
|
|
346
|
+
return translated(await acp.doStart(options), mcpServers);
|
|
347
|
+
}
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
/** The session, with each turn's parts through a fresh {@link FxStreamTranslator}. */
|
|
351
|
+
function translated(session, mcpServers) {
|
|
352
|
+
const turn = (run) => (options) => {
|
|
353
|
+
const translator = new FxStreamTranslator({ mcpServers });
|
|
354
|
+
return run({
|
|
355
|
+
...options,
|
|
356
|
+
emit: (part) => options.emit(translator.push(part))
|
|
357
|
+
});
|
|
358
|
+
};
|
|
359
|
+
return new Proxy(session, { get(target, key, receiver) {
|
|
360
|
+
const value = Reflect.get(target, key, receiver);
|
|
361
|
+
if (key !== "doPromptTurn" && key !== "doContinueTurn") return value;
|
|
362
|
+
return turn(value.bind(target));
|
|
363
|
+
} });
|
|
364
|
+
}
|
|
365
|
+
//#endregion
|
|
366
|
+
export { FX_PROVIDERS as a, fxEnv as c, FX_BUILTIN_TOOLS as d, FxStreamTranslator as f, FX_INSTALL_COMMAND as i, fxProviderOf as l, FX_CLI_VERSION as n, FX_QUIET_ENV as o, fxMcpSegment as p, FX_HOME_SKILLS_DIR as r, createFx as s, FX_CLI_SHA256 as t, fxSettings as u };
|
|
367
|
+
|
|
368
|
+
//# sourceMappingURL=src-DIL0jST0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-DIL0jST0.js","names":[],"sources":["../../harness-fx/src/fx-stream.ts","../../harness-fx/src/fx-tools.ts","../../harness-fx/src/fx-harness.ts"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { j as BAKED_HARNESSES, M as BASE_IMAGE, N as BRIDGE_PORT, b as CA_PATH, P as DEFAULT_IMAGE, g as DEFAULT_LIMITS, t as DOCKER_CONTEXT, E as DOCKER_EGRESS, ut as ENGINES, D as HARNESS_HOSTS, F as HARNESS_PACKAGES, rt as ImageBuildError, I as LABEL, O as PACKAGE_HOSTS, x as PROXY_PORT, n as REEVAL_BASE_ARG, it as RETRY_DELAYS, _ as ROOT_CAPABILITIES, L as SANDBOX_HOME, R as SANDBOX_ROOT, z as SANDBOX_USER, B as WORKSPACE_DIR, V as adapterVersion, C as applyTransformations, r as buildDockerfile, i as buildImage, a as buildInstallLayer, at as causeLine, o as contextFiles, s as contextHash, v as createDockerSession, k as defaultAllowedHosts, G as docker, K as dockerAvailable, q as dockerCapacity, J as dockerOk, y as dockerSandboxProvider, dt as dockerSeccompFile, Y as dockerState, c as dockerfileTag, l as dockerignoreMatcher, ft as engineSpec, ot as failureCause, u as harnessImageFor, H as harnessLabel, A as hostAllowed, U as imageFor, X as imageInfo, Z as imageTags, d as installLayerTag, f as installScript, W as isBakedHarness, Q as isRegistryDigest, st as isTransient, w as matches, pt as normalizeImageId, et as onDockerCommand, T as onEndpoint, ct as parseBuildOutput, S as placeholder, p as pruneImages, $ as removeContainerDetached, m as resolveFrom, lt as retryTransient, h as usesReevalBase } from "./src-ftu5wPSt.js";
|