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