wednesdayai 0.4.12-dev.729 → 0.4.12-dev.730
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/dist/{acp-cli-I7YUgqCR.js → acp-cli-BP69XOSe.js} +13 -13
- package/dist/{agent-scope-Ppgyx_kd.js → agent-scope-CxydHZjT.js} +21 -21
- package/dist/{agent-turn-enqueue-CW_401rj.js → agent-turn-enqueue-D-72TPFG.js} +5 -5
- package/dist/{agent-turn-enqueue-DoWWsxog.js → agent-turn-enqueue-DKRQcdxb.js} +6 -6
- package/dist/{agent-turn-execute-A0TURQhp.js → agent-turn-execute-Bh97uBaG.js} +194 -194
- package/dist/{agent-turn-recovery-adapter-BNI0O8Mj.js → agent-turn-recovery-adapter-DZsBJig8.js} +3 -3
- package/dist/{agent-turn-recovery-adapter-CJ4g6khf.js → agent-turn-recovery-adapter-TZIfB8s6.js} +1 -1
- package/dist/{agent-turn-runner-BVBnEVO0.js → agent-turn-runner-Bv9LuLHR.js} +2 -2
- package/dist/{agent-turn-runner-B10CqZVv.js → agent-turn-runner-Cea0N8hZ.js} +5 -5
- package/dist/{agent-turn-runner-CM3MQTJU.js → agent-turn-runner-DtRDx5nj.js} +1 -1
- package/dist/{agent-turn-runner-DzGi5c4M.js → agent-turn-runner-rlaI8UZh.js} +2 -2
- package/dist/{agents-CqGOYUmk.js → agents-CcRZaVIM.js} +20 -20
- package/dist/{agents.config-CfQTsYDc.js → agents.config-BIAN7yD0.js} +3 -3
- package/dist/{agents.config-iuJI5Qb7.js → agents.config-BR-2_pQX.js} +1 -1
- package/dist/{api-uxkyeSmH.js → api-CoJEjegK.js} +1 -1
- package/dist/{api-key-rotation-CtZSwE0N.js → api-key-rotation-BfX7mRma.js} +1 -1
- package/dist/{artifacts-BjWykx-p.js → artifacts-mmiw3Aqi.js} +1 -1
- package/dist/{audio-preflight-BYkASiuL.js → audio-preflight-BeM0QH9O.js} +38 -38
- package/dist/{audio-preflight-CLEofd1a.js → audio-preflight-CPGaMcl9.js} +6 -6
- package/dist/{audio-transcription-runner-C6aQCxFd.js → audio-transcription-runner-1caiMqoM.js} +1 -1
- package/dist/{audio-transcription-runner-0S6456vW.js → audio-transcription-runner-BQ-xozUJ.js} +26 -26
- package/dist/{audit-DdxXEcHv.js → audit-DEW5Bp17.js} +33 -33
- package/dist/{audit-D7HwuhC3.js → audit-vLZ-GPkj.js} +3 -3
- package/dist/{auth-CZ7-R3rC.js → auth-CzqOUm43.js} +4 -4
- package/dist/{auth-choice-rhHVvoEZ.js → auth-choice-BgRokiZf.js} +17 -17
- package/dist/{auth-choice-_Ngg8dJn.js → auth-choice-DG23ZlyE.js} +13 -13
- package/dist/{auth-choice-DzVb3c4S.js → auth-choice-DIu_6W5c.js} +1 -1
- package/dist/{auth-choice.apply-helpers-BMrtYUQo.js → auth-choice.apply-helpers-BuqGJPas.js} +1 -1
- package/dist/{auth-token-DFBrANaQ.js → auth-token-Die78Dee.js} +2 -2
- package/dist/{banner-BqEUBSwB.js → banner-CpVH8pYW.js} +4 -4
- package/dist/{bonjour-discovery-CojQUMEO.js → bonjour-discovery-DsPDdJ75.js} +3 -3
- package/dist/{browser-cli-BOoKWbUB.js → browser-cli-Cfne-bZg.js} +21 -21
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-journal/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +2 -2
- package/dist/{call-BGJB7J3q.js → call-5i352x9j.js} +12 -12
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-account-context-B0BYG0hd.js → channel-account-context-BRw1RtQ_.js} +7 -7
- package/dist/{channel-activity-CUFBYpfH.js → channel-activity-C08pUdDN.js} +2 -2
- package/dist/{channel-options-C3u2Sg1X.js → channel-options-BAPGXbiT.js} +3 -3
- package/dist/{channel-options-C1IIAhgv.js → channel-options-Cz9kTenL.js} +1 -1
- package/dist/{channel-selection-A64KNpWH.js → channel-selection-EeyjFzad.js} +1 -1
- package/dist/{channels-cli-YNVo_J7T.js → channels-cli-BidTgEPd.js} +123 -123
- package/dist/{channels-cli-Dz1fY7Ks.js → channels-cli-DRrzM0ls.js} +22 -22
- package/dist/{channels-status-issues-BLHnC4d_.js → channels-status-issues-Cab9ixM6.js} +1 -1
- package/dist/{chrome-93M6AryA.js → chrome-BLqsc9fh.js} +6 -6
- package/dist/{chunk-BIErRWoV.js → chunk-CyVpre5Y.js} +3 -3
- package/dist/{clack-prompter-shjXV_CK.js → clack-prompter-ThJZQZ7f.js} +5 -5
- package/dist/{clawbot-cli-Cts0cOiE.js → clawbot-cli-wZlRKczI.js} +17 -17
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/cli-BdacdmTo.js +166 -0
- package/dist/{cli-DKuWVT_o.js → cli-CmSRQF8z.js} +18 -18
- package/dist/{client-CcJEvW7d.js → client-EEggbMMG.js} +3 -3
- package/dist/{client-profiles-CDNULV1v.js → client-profiles-L4VajtTA.js} +2 -2
- package/dist/{clipboard-ueGeqjzM.js → clipboard-DHS-_ANO.js} +1 -1
- package/dist/{command-queue-g1tNC8Vs.js → command-queue-C9EZpC0r.js} +1 -1
- package/dist/{command-queue-BXX9dOOY.js → command-queue-Df8m2C14.js} +1 -1
- package/dist/{command-registry-D7a2MHeF.js → command-registry-DJ2RcG6i.js} +14 -14
- package/dist/{command-secret-targets-BX0CPQr-.js → command-secret-targets-BLUddYry.js} +4 -4
- package/dist/{commands-B4ce9Pyw.js → commands-DcCuNsWv.js} +1 -1
- package/dist/{commands-registry-CcbNhUWz.js → commands-registry-Dh2bmHYX.js} +3 -3
- package/dist/{completion-cli-Bw457ikU.js → completion-cli-CF1KcRLT.js} +16 -16
- package/dist/{completion-cli-BDOVwJNU.js → completion-cli-CSlJsSsc.js} +1 -1
- package/dist/{config-B_l7dU75.js → config-Wy1wQZjq.js} +58 -58
- package/dist/{config-cli-DdgtqEUK.js → config-cli-CeTT4CIX.js} +1 -1
- package/dist/{config-cli-BS_Dn2U3.js → config-cli-DzLfLd1l.js} +15 -15
- package/dist/{config-guard-D8pceOYu.js → config-guard-CxJY7cYj.js} +4 -4
- package/dist/{config-validation-bWS01yvf.js → config-validation-tSgClPKz.js} +4 -4
- package/dist/{configure-DyjgsBKI.js → configure-BvTYT92W.js} +3 -3
- package/dist/{configure-B3bu-lE9.js → configure-DY6FxXGJ.js} +25 -25
- package/dist/{control-ui-assets-Dz1n0dDI.js → control-ui-assets-CUNJ-wZT.js} +3 -3
- package/dist/{controller-CqvurxyG.js → controller-BSfjG3lf.js} +1 -1
- package/dist/{credentials-DcWx5UdN.js → credentials-CZpBSFEO.js} +1 -1
- package/dist/{cron-cli-stdpJx8z.js → cron-cli-CaLjTgrD.js} +16 -16
- package/dist/{daemon-cli-C2KlymGb.js → daemon-cli-kHqIPg4E.js} +19 -19
- package/dist/{daemon-install-Bb0jLWtP.js → daemon-install-D6QY6h-a.js} +11 -11
- package/dist/{daemon-install-helpers-D9sQQxjq.js → daemon-install-helpers-BpCzt6Hc.js} +13 -13
- package/dist/{deliver-DUBuu2uJ.js → deliver-CKHf6BfA.js} +11 -11
- package/dist/{deliver-C2Wz9PWj.js → deliver-iL5dyQ_w.js} +1 -1
- package/dist/{devices-cli-BhvJltFw.js → devices-cli-ysWdBZx4.js} +14 -14
- package/dist/{diagnostic-DuMnWlrO.js → diagnostic-CsiKdkkn.js} +4 -4
- package/dist/{diagnostic-C5wYymNQ.js → diagnostic-DBsNslQA.js} +1 -1
- package/dist/{diagnostics-brY1xU9j.js → diagnostics-DXe05OkI.js} +5 -5
- package/dist/{directory-cli-Brg7vqSd.js → directory-cli-Cnuwint-.js} +13 -13
- package/dist/{dm-policy-shared-yJEiBvgY.js → dm-policy-shared-BFynL_iX.js} +5 -5
- package/dist/{dns-cli-LuV21OdM.js → dns-cli-NCsBWdX6.js} +12 -12
- package/dist/{docs-cli-DjorWzOU.js → docs-cli-N_pc80nZ.js} +12 -12
- package/dist/{doctor-completion-C3mNG21F.js → doctor-completion-B1eLtCOM.js} +3 -3
- package/dist/{doctor-completion-BJHSi6k4.js → doctor-completion-B1qmR3tQ.js} +1 -1
- package/dist/{doctor-config-flow-CTSGH57H.js → doctor-config-flow-DDN0ovwf.js} +19 -19
- package/dist/{enable-Cg6VGOzr.js → enable-B1kzYvA6.js} +2 -2
- package/dist/entry.js +4 -4
- package/dist/{exec-B6VJhiff.js → exec-DtX60IXR.js} +2 -2
- package/dist/{exec-approvals-BsebcahG.js → exec-approvals-C4CZ1V0m.js} +2 -2
- package/dist/{exec-approvals-allowlist-BJCk_TPq.js → exec-approvals-allowlist-DlF01Fkm.js} +1 -1
- package/dist/{exec-approvals-cli-CpZFCJhK.js → exec-approvals-cli-DDsgcVGo.js} +26 -26
- package/dist/{exec-safe-bin-runtime-policy-DNVd_94E.js → exec-safe-bin-runtime-policy-BH45jyJz.js} +2 -2
- package/dist/{extension-relay-auth-Dicdw7Xi.js → extension-relay-auth-DeehlFvz.js} +10 -10
- package/dist/extensionAPI.js +2 -2
- package/dist/{fetch-B6tx3m8j.js → fetch-COk8GnL3.js} +5 -5
- package/dist/{fetch-guard-D9Baq9VL.js → fetch-guard-BpcmLYcl.js} +3 -3
- package/dist/{frontmatter-DTtFYkCc.js → frontmatter-pi3glMFx.js} +2 -2
- package/dist/{fs-safe-DDz2ygyq.js → fs-safe-DSWE-pxQ.js} +25 -25
- package/dist/{gateway-cli-DNzVSEgi.js → gateway-cli-BeaoqfXG.js} +41 -41
- package/dist/{gateway-cli-DCEGccnP.js → gateway-cli-yWMVCCLt.js} +222 -222
- package/dist/{gateway-rpc-c8XzfYDl.js → gateway-rpc-C2PqTIDi.js} +3 -3
- package/dist/{globals-NHZhvbUb.js → globals-DzEfsMsj.js} +11 -11
- package/dist/{gmail-setup-utils-D4Dn4Vqi.js → gmail-setup-utils-uAAzkjJP.js} +3 -3
- package/dist/{health-CohIvGFu.js → health-DDFoa_vd.js} +11 -11
- package/dist/{health-B9kSP1yr.js → health-DFxVZQP8.js} +2 -2
- package/dist/{health-format-BS-M5J8K.js → health-format-B1ElAx-F.js} +1 -1
- package/dist/{heartbeat-tick-CNXKuUx8.js → heartbeat-tick-CVUubxop.js} +2 -2
- package/dist/{help-format-Bsgr8mqL.js → help-format-aPNS9ayu.js} +1 -1
- package/dist/{helpers-BYFW2nSK.js → helpers-BNMarGmo.js} +1 -1
- package/dist/{hooks-cli-BC7PXwrl.js → hooks-cli-Il6c46Hj.js} +111 -111
- package/dist/{hooks-cli-UgeEAR7U.js → hooks-cli-WT_iEJLp.js} +19 -19
- package/dist/{hooks-status-n4KWKh1Y.js → hooks-status-xDCStRjI.js} +3 -3
- package/dist/{image-ops-BXRKcOTd.js → image-ops-CAEEQmlt.js} +11 -11
- package/dist/{incident-install-DRZu7hrx.js → incident-install-K_JM0Dou.js} +13 -13
- package/dist/index.js +22 -22
- package/dist/{inspect-C2g9LrbN.js → inspect-DNbhm85u.js} +4 -4
- package/dist/{install-safe-path-BqxzjzC-.js → install-safe-path-D7s18Vq0.js} +25 -25
- package/dist/{installs-yixcXYPn.js → installs-ttC39JR4.js} +10 -10
- package/dist/{ipv4-BcWFaVPH.js → ipv4-vPs-MXPy.js} +2 -2
- package/dist/{ir-CnD8edWb.js → ir-DkcivUQx.js} +8 -8
- package/dist/{issue-format-YjkCmJ-x.js → issue-format-C5dvpWCs.js} +1 -1
- package/dist/{lifecycle-core-BH4dnQtI.js → lifecycle-core-D4FpkyNE.js} +9 -9
- package/dist/{links-DtN6Zip4.js → links-DMJmXnBC.js} +1 -1
- package/dist/{live-repair-CbBURFc-.js → live-repair-Bz_jXKsv.js} +12 -12
- package/dist/llm-slug-generator.js +2 -2
- package/dist/{log-tail-DSgUyVuy.js → log-tail-3lDge34F.js} +7 -7
- package/dist/{logger-TMWfboh4.js → logger-BH0Ng0XL.js} +2 -2
- package/dist/{logging-DXugoHqu.js → logging-CSynrPc7.js} +1 -1
- package/dist/{logs-cli-BhvP6zOH.js → logs-cli-BpRiX5pm.js} +20 -20
- package/dist/{manager-DeJU6IQ3.js → manager-B9U2B9ZD.js} +17 -17
- package/dist/{manager-B2ZPvPP9.js → manager-CJIpzjld.js} +10 -10
- package/dist/{manager-Bw3BvR19.js → manager-DPzBUqR_.js} +1 -1
- package/dist/{markdown-tables-Cvm3FY0g.js → markdown-tables-DDn13kBS.js} +2 -2
- package/dist/{memory-cli-DWRwQYct.js → memory-cli-DhTo1Zod.js} +19 -19
- package/dist/{model-iLCMc1K1.js → model-DK1--R8G.js} +2 -2
- package/dist/{model-catalog-IZAm7vxT.js → model-catalog-Bo-Fyihc.js} +4 -4
- package/dist/{model-picker-TEQP1kqG.js → model-picker-yfyn372D.js} +4 -4
- package/dist/{models-C8nsMRLQ.js → models-DQ8P8kP3.js} +24 -24
- package/dist/{models-cli-C_tHirnw.js → models-cli-BgcR4Exx.js} +18 -18
- package/dist/{models-cli-B4xLIOFc.js → models-cli-DYWhxPkO.js} +111 -111
- package/dist/{models-config-COyV_5JN.js → models-config-DJTO7ngW.js} +7 -7
- package/dist/{node-cli-1r7DXmyR.js → node-cli-DWicnGBi.js} +3 -3
- package/dist/{node-cli-CcOYQNYG.js → node-cli-TVPaLcV6.js} +43 -43
- package/dist/{node-command-policy-DQ3xpsxF.js → node-command-policy-DXW0gACZ.js} +1 -1
- package/dist/{node-service-D4loK5LL.js → node-service-B2PMocVE.js} +1 -1
- package/dist/{nodes-cli-duW7tvW5.js → nodes-cli-D7zwQnbg.js} +26 -26
- package/dist/{nodes-screen-Cj7gGqy5.js → nodes-screen-BNh2me3N.js} +8 -8
- package/dist/{note-CzdXZOFH.js → note-CIEfvmda.js} +2 -2
- package/dist/{npm-pack-install-DC954ztS.js → npm-pack-install-DcfhfmQD.js} +23 -23
- package/dist/{npm-resolution-DjNRsPrE.js → npm-resolution-CfUBQFfN.js} +1 -1
- package/dist/{npm-resolution-7CvMNako.js → npm-resolution-D4Qm28gZ.js} +5 -5
- package/dist/{oauth-tls-preflight-D5qAcith.js → oauth-tls-preflight-S1P1M9Ik.js} +1 -1
- package/dist/{onboard-BRwdSaEZ.js → onboard-BvD9jey6.js} +2 -2
- package/dist/{onboard-DOq-9xkW.js → onboard-CBNCu0qo.js} +11 -11
- package/dist/{onboard-channels-DtFBZO3K.js → onboard-channels-Cfm1xNhD.js} +1 -1
- package/dist/{onboard-channels-RKPslaou.js → onboard-channels-F6-jE9Q4.js} +24 -24
- package/dist/{onboard-custom-B_IbBJHN.js → onboard-custom-DOGTl-wh.js} +4 -4
- package/dist/{onboard-helpers-CV2_sx_X.js → onboard-helpers-CrNbGK-_.js} +14 -14
- package/dist/{onboard-hooks-PDzAZcds.js → onboard-hooks-HF8fUNGq.js} +8 -8
- package/dist/{onboard-remote-Cc7ortQZ.js → onboard-remote-C3wAKiOr.js} +5 -5
- package/dist/{onboard-skills-D2WP55Qf.js → onboard-skills-_Y4g6XMV.js} +4 -4
- package/dist/{onboarding-CZB-jEDP.js → onboarding-D7zNU656.js} +18 -18
- package/dist/{onboarding-CUNJUHYe.js → onboarding-DAAosO4y.js} +3 -3
- package/dist/{onboarding.finalize-tQDsF0Ht.js → onboarding.finalize-DRyZQ35t.js} +23 -23
- package/dist/{onboarding.finalize-zo8Tr42K.js → onboarding.finalize-DswgDFUV.js} +119 -119
- package/dist/{onboarding.gateway-config-CcAYavIB.js → onboarding.gateway-config-B966E_Je.js} +18 -18
- package/dist/{onboarding.secret-input-hdMynEhM.js → onboarding.secret-input-rEXj_hwb.js} +1 -1
- package/dist/{openai-model-default-DgwEDHMc.js → openai-model-default-C7JSp9AY.js} +2 -2
- package/dist/{openclaw-root-CboPaWH8.js → openclaw-root-COWNwQGN.js} +2 -2
- package/dist/{operator-commands-DPTwKc1Q.js → operator-commands-Bt-GMvlt.js} +7 -7
- package/dist/{operator-commands-5zFJBNls.js → operator-commands-WclkbpNn.js} +2 -2
- package/dist/{outbound-attachment-eSRdTa0O.js → outbound-attachment-BqLrqvUz.js} +2 -2
- package/dist/{outbound-message-hooks-DCmApMZ7.js → outbound-message-hooks-BaL31mgo.js} +5 -5
- package/dist/{pairing-cli-BwAqmcbZ.js → pairing-cli--mX6NBbQ.js} +12 -12
- package/dist/{pairing-labels-Cmy5jzFo.js → pairing-labels-Cga04_F-.js} +1 -1
- package/dist/{pairing-store-C_emmXE4.js → pairing-store-baQ6verU.js} +3 -3
- package/dist/{path-alias-guards-Dn6kxDaO.js → path-alias-guards-CwFH4u4Y.js} +3 -3
- package/dist/{path-safety-BevSBibF.js → path-safety-bfKwXs6i.js} +1 -1
- package/dist/{pi-embedded-BXlLe43L.js → pi-embedded-C9hhorcY.js} +4 -4
- package/dist/{pi-embedded-w8WHdwfz.js → pi-embedded-DnsjQY9z.js} +4 -4
- package/dist/{pi-embedded-helpers-DIrkDh67.js → pi-embedded-helpers-BN8Yurrq.js} +8 -8
- package/dist/{pi-embedded-helpers-CGmQ4q3V.js → pi-embedded-helpers-CTXJgU8t.js} +1 -1
- package/dist/{pi-embedded-recovery-adapter-C-NuyPbb.js → pi-embedded-recovery-adapter-DZGloafF.js} +7 -7
- package/dist/{pi-embedded-recovery-adapter-B2XOvHxn.js → pi-embedded-recovery-adapter-bRl54qXI.js} +35 -35
- package/dist/{pi-embedded-utils-BdxZbV9G.js → pi-embedded-utils-CKNzzRk4.js} +1 -1
- package/dist/{pi-embedded-utils-CPX6p6Wq.js → pi-embedded-utils-DbCTbP_M.js} +2 -2
- package/dist/{pi-model-discovery-xwVo_Za1.js → pi-model-discovery-YsMuufO6.js} +1 -1
- package/dist/{pi-tools.policy-CeC8xqRL.js → pi-tools.policy-D4DT9S9M.js} +1 -1
- package/dist/{pid-alive-C13jc975.js → pid-alive-BkVX-P5U.js} +1 -1
- package/dist/{plugin-owned-work-recovery-adapter-CTpAqPxI.js → plugin-owned-work-recovery-adapter-qw7iAOXJ.js} +9 -9
- package/dist/{plugin-registry-B2PFGUgH.js → plugin-registry-Bb5cRSlw.js} +1 -1
- package/dist/{plugin-registry-B9UcnywB.js → plugin-registry-CctiIjXS.js} +4 -4
- package/dist/plugin-sdk/{agent-turn-execute-CvcGPIWd.js → agent-turn-execute-DLOD3wIK.js} +12 -12
- package/dist/plugin-sdk/{agent-turn-execute-Du5-PizP.js → agent-turn-execute-DiYinYcI.js} +2 -2
- package/dist/plugin-sdk/{agent-turn-runner-Dy2l1QuN.js → agent-turn-runner-BB3xBOkd.js} +3 -3
- package/dist/plugin-sdk/{agent-turn-runner-L6nWVyBs.js → agent-turn-runner-CP3CvHV_.js} +4 -4
- package/dist/plugin-sdk/{agent-turn-runner-BeIHlu2z.js → agent-turn-runner-Dz8mhXhJ.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-CVnT3CVi.js → audio-preflight-CdnIoP9g.js} +5 -5
- package/dist/plugin-sdk/{audio-transcription-runner-ff3d2MOe.js → audio-transcription-runner-ErPyMiHI.js} +1 -1
- package/dist/plugin-sdk/{chrome-D_wgFXHF.js → chrome-2r09CGaD.js} +8 -8
- package/dist/plugin-sdk/{command-detection-BRxqdaeL.js → command-detection-BHkl3aqL.js} +8 -8
- package/dist/plugin-sdk/{command-queue-CoRZcHy1.js → command-queue-BBOur699.js} +1 -1
- package/dist/plugin-sdk/{deliver-Cysu3ebt.js → deliver-0l2lZQiz.js} +3 -3
- package/dist/plugin-sdk/{deliver-BPg9MhVY.js → deliver-oSzFg9Zh.js} +1 -1
- package/dist/plugin-sdk/{diagnostic-CxHjTbyN.js → diagnostic-DQU_mY9i.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{pi-embedded-helpers-3gQz4b-b.js → pi-embedded-helpers-CNresdUf.js} +3 -3
- package/dist/plugin-sdk/{pi-embedded-utils-B49ia5m9.js → pi-embedded-utils-BEsRXBxc.js} +1 -1
- package/dist/plugin-sdk/{provider-dispatcher-B6b1Tdf0.js → provider-dispatcher-B8jJvLuR.js} +12 -12
- package/dist/plugin-sdk/{provider-dispatcher-B_iAXu2L.js → provider-dispatcher-hEp4znDa.js} +2 -2
- package/dist/plugin-sdk/{provider-image-VB9UOYSc.js → provider-image-CLWV4QQx.js} +4 -4
- package/dist/plugin-sdk/{provider-image-BKK0zQaJ.js → provider-image-WXG9I5WJ.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-Zbmk8kti.js → pw-ai-kQB2ywnc.js} +1 -1
- package/dist/plugin-sdk/{runs-BmnkOAK5.js → runs-BcvvvV1J.js} +5 -5
- package/dist/plugin-sdk/{runs-Cr3XjmfA.js → runs-DE0G2LLI.js} +3 -3
- package/dist/plugin-sdk/{send-BrY7hRBo.js → send-CAiazzHI.js} +1 -1
- package/dist/plugin-sdk/{send-BcjKhfe8.js → send-Cn7YLM0P.js} +2 -2
- package/dist/plugin-sdk/{subagent-registry-BKwSNawW.js → subagent-registry-DD2djKv0.js} +2 -2
- package/dist/plugin-sdk/{subagent-registry-CIa1HABo.js → subagent-registry-UCbHoVJ2.js} +12 -12
- package/dist/plugin-sdk/testing.js +12 -12
- package/dist/plugin-sdk/{tools-DaFWYu0p.js → tools-yY7tjcsw.js} +35 -35
- package/dist/{plugins-cli-1_-Vf-1l.js → plugins-cli-6xqfmKxn.js} +114 -114
- package/dist/{plugins-cli-DksAX0ZH.js → plugins-cli-BhFLmnOz.js} +19 -19
- package/dist/{polling-timeout-CkFkpq_s.js → polling-timeout-x98FlzJG.js} +3 -3
- package/dist/{ports-dAGF3BJj.js → ports-B3y3yrTs.js} +2 -2
- package/dist/{ports-CLSVg-y-.js → ports-BzAUXaPL.js} +3 -3
- package/dist/{program-CBA0lcpg.js → program-C9Qgghl2.js} +110 -110
- package/dist/{program-context-DT5nb3SH.js → program-context-1o3YvOVB.js} +22 -22
- package/dist/{progress-C9R_51fN.js → progress-B5oGktxz.js} +2 -2
- package/dist/{prompt-select-styled-6JwLDntm.js → prompt-select-styled-BQSHxNZN.js} +50 -50
- package/dist/{prompt-select-styled-NPt5vMpO.js → prompt-select-styled-Nu1AAYTo.js} +7 -7
- package/dist/{prompt-style-B28wDUyJ.js → prompt-style-0wL61aMk.js} +1 -1
- package/dist/{provider-auth-helpers-CEgvqik4.js → provider-auth-helpers-SxWqAhy1.js} +6 -6
- package/dist/{provider-image-g7zj1qnV.js → provider-image-BNv43756.js} +1 -1
- package/dist/{provider-image-aaxt6RAc.js → provider-image-GRI3ijiz.js} +6 -6
- package/dist/{proxy-CkTukFRT.js → proxy-ZTZCSX-m.js} +1 -1
- package/dist/{proxy-env-C4AxlnMs.js → proxy-env-CCYLPZqe.js} +1 -1
- package/dist/{proxy-fetch-1FMAlfeR.js → proxy-fetch-CZr5_YhZ.js} +1 -1
- package/dist/{push-apns-CFg1Pls0.js → push-apns-BBk7vMkD.js} +2 -2
- package/dist/{push-apns-CzI1yOz3.js → push-apns-CQyCSGes.js} +10 -10
- package/dist/{pw-ai-CdFOuZvs.js → pw-ai-DbW_Bkcx.js} +1 -1
- package/dist/{pw-ai-Dt33khMR.js → pw-ai-ge-z9mqK.js} +20 -20
- package/dist/{qmd-manager-BhetUUi5.js → qmd-manager-CUcr1mRz.js} +25 -25
- package/dist/{qr-cli-B_Pgraov.js → qr-cli-DGwCKU0G.js} +8 -8
- package/dist/{query-expansion-DMbjUCTJ.js → query-expansion-B4NP6yYt.js} +14 -14
- package/dist/{reconcile-bundled-BoVqHall.js → reconcile-bundled-4XBos81c.js} +3 -3
- package/dist/{recorder-BvsmIV06.js → recorder-B0k_MKgq.js} +4 -4
- package/dist/{recovery-adapter-B4vChz-g.js → recovery-adapter-BIlkWPdE.js} +3 -3
- package/dist/{recovery-adapter-CKVSN97E.js → recovery-adapter-Bo68TZ6b.js} +2 -2
- package/dist/{recovery-adapter-CceBubi1.js → recovery-adapter-Ch6Lpdvn.js} +3 -3
- package/dist/{recovery-adapter-mRcci7h2.js → recovery-adapter-DwNfvaLJ.js} +1 -1
- package/dist/{recovery-adapter-AyGJinhV.js → recovery-adapter-oenmjmOn.js} +7 -7
- package/dist/{recovery-prompt-DqlKavmj.js → recovery-prompt-TDeXDlMW.js} +1 -1
- package/dist/{redact-snapshot-DN2rZBNX.js → redact-snapshot-A7NLIiwR.js} +5 -5
- package/dist/{register.agent-DutRzrDw.js → register.agent-B9Hg0vf2.js} +21 -21
- package/dist/{register.agent-Bn9JYMpq.js → register.agent-D3_1aKeG.js} +124 -124
- package/dist/register.configure-4XbHAmwj.js +170 -0
- package/dist/{register.configure-xWvz_EH_.js → register.configure-DAnWVJBA.js} +22 -22
- package/dist/{register.maintenance-C-WBHuPN.js → register.maintenance-CC3S9JmF.js} +131 -131
- package/dist/{register.maintenance-CVWnFB5G.js → register.maintenance-Chb5KnZ1.js} +24 -24
- package/dist/{register.message-DeS_ZYNe.js → register.message-Bq38RXah.js} +104 -104
- package/dist/{register.message-CAfIrnM2.js → register.message-DLtovAgJ.js} +19 -19
- package/dist/{register.onboard-C0OyLZD3.js → register.onboard-4vT5Xjc4.js} +2 -2
- package/dist/{register.onboard-DD2wOgqE.js → register.onboard-BMXxAu95.js} +23 -23
- package/dist/{register.setup-BbohcO_k.js → register.setup-D2bCcb0v.js} +2 -2
- package/dist/{register.setup-CBDKdAuo.js → register.setup-fpmCv1_b.js} +28 -28
- package/dist/{register.status-health-sessions-B6c4a4og.js → register.status-health-sessions-Ds4IsnQw.js} +121 -121
- package/dist/{register.status-health-sessions-8pYJLyOn.js → register.status-health-sessions-RCBhd23C.js} +21 -21
- package/dist/{register.subclis-Cl9g9lxA.js → register.subclis-BkKWZGVK.js} +34 -34
- package/dist/{replay-DTUqQwQf.js → replay-SxJXbQMf.js} +1 -1
- package/dist/{replies-zxrU3Tlk.js → replies-CI-WAhGv.js} +4 -4
- package/dist/{reply-CBqjA8n7.js → reply-Ct_Nttkg.js} +27 -27
- package/dist/{reply-directives-C7J_kRAY.js → reply-directives-DjJmEA55.js} +2 -2
- package/dist/{reply-prefix-DQs4kcQX.js → reply-prefix-EVut-MnZ.js} +1 -1
- package/dist/{resolve-route-c5P6_dQM.js → resolve-route-B5nwCVT3.js} +5 -5
- package/dist/{rpc-DzvZPivH.js → rpc-Dg7Qb-TD.js} +3 -3
- package/dist/{run-main-D4QMp_dA.js → run-main-DFrkQ_9h.js} +123 -123
- package/dist/{runs-aQfLgwCB.js → runs-DD81n7Ms.js} +3 -3
- package/dist/{runs-DSFjMpng.js → runs-fddM4kFw.js} +7 -7
- package/dist/{runtime-Cr79MQoI.js → runtime-B9bvj6Qk.js} +4 -4
- package/dist/{runtime-config-collectors-do8FUpaL.js → runtime-config-collectors-0bUIcOaI.js} +1 -1
- package/dist/{runtime-guard-B1qwuALe.js → runtime-guard-D9TCGAy5.js} +1 -1
- package/dist/{sandbox-BWNy2kKu.js → sandbox-CTl9v7Zl.js} +19 -19
- package/dist/{sandbox-Cwa9IoDE.js → sandbox-DOTsK9wx.js} +1 -1
- package/dist/{sandbox-cli-OzJuP-NO.js → sandbox-cli-Dbco2fmj.js} +29 -29
- package/dist/{sandbox-cli-D7bBMoyk.js → sandbox-cli-Dni8o7vC.js} +2 -2
- package/dist/{secrets-cli-CuDyP904.js → secrets-cli-DF_Gm1ne.js} +18 -18
- package/dist/{security-cli-DG2tPUA1.js → security-cli-Csr_oecn.js} +4 -4
- package/dist/{security-cli-CuUjDnHc.js → security-cli-PByAeZXI.js} +46 -46
- package/dist/{send-DnUxCZe9.js → send-BgWc92i5.js} +7 -7
- package/dist/{send-2z5d8MNL.js → send-Byoa_3gu.js} +1 -1
- package/dist/{send-CCM9Q6bQ.js → send-CrP3wO_5.js} +15 -15
- package/dist/{send-D7jSVo_g.js → send-DLkrlosm.js} +6 -6
- package/dist/{send-B7qZuE28.js → send-DiY7W1su.js} +14 -14
- package/dist/{send-D20u05DD.js → send-wFJCwq2b.js} +6 -6
- package/dist/{server-DwmiIbpy.js → server-BL9VNWdw.js} +26 -26
- package/dist/{server-C7fLuSa8.js → server-CDY9yWOl.js} +4 -4
- package/dist/{server-context-DynQOaQg.js → server-context-9rNFuDom.js} +12 -12
- package/dist/{server-context-8stiwx24.js → server-context-Bj1ur5Oz.js} +2 -2
- package/dist/{server-lifecycle-BIVcQYRv.js → server-lifecycle-Bp3jx730.js} +1 -1
- package/dist/{server-lifecycle-D6K5clGz.js → server-lifecycle-DSO272t7.js} +3 -3
- package/dist/{server-middleware-v9W3NbYv.js → server-middleware-DYNp96xm.js} +1 -1
- package/dist/{server-node-events-BMt_M17o.js → server-node-events-BwK321yc.js} +104 -104
- package/dist/{server-node-events-BSBNXNIr.js → server-node-events-DgxhwOwJ.js} +19 -19
- package/dist/{service-sEfdnvlL.js → service-Bgu5Jb1v.js} +15 -15
- package/dist/{session-consumer-agents-UmHVjny8.js → session-consumer-agents-DAH-kXNx.js} +1 -1
- package/dist/{session-consumer-claim-sweep-Cj9dsF9C.js → session-consumer-claim-sweep-BSXd3X9B.js} +9 -9
- package/dist/{session-cost-usage-LPAN7gwx.js → session-cost-usage-EMOsv4X6.js} +3 -3
- package/dist/{session-key-DOZk0n1g.js → session-key-DUkQn_1S.js} +1 -1
- package/dist/{session-key-resolution-hIMY6OcY.js → session-key-resolution-CJwcMEFa.js} +5 -5
- package/dist/{session-meta-BDUMkHJb.js → session-meta-fp99Ucj0.js} +2 -2
- package/dist/{session-storage-Q7_7zqHG.js → session-storage-Cv--6bmD.js} +8 -8
- package/dist/{session-utils-DgeX06NV.js → session-utils-CqNuZUiP.js} +8 -8
- package/dist/{session-visibility-nhFy_Gw1.js → session-visibility-DDVDfSgP.js} +1 -1
- package/dist/{sessions-BxMxYroM.js → sessions-07wpEhac.js} +6 -6
- package/dist/{sessions-DZ8P5diO.js → sessions-BZDMSv9h.js} +18 -18
- package/dist/{sessions-C_jFLMEh.js → sessions-BwZJJVht.js} +6 -6
- package/dist/{sessions-claims-status-t1wpfQOP.js → sessions-claims-status-oxEV_8dP.js} +13 -13
- package/dist/{shared-CJ6JfVC4.js → shared-CMnRp0WD.js} +4 -4
- package/dist/{shared-obDhggWf.js → shared-D-BmVOFv.js} +2 -2
- package/dist/{skill-commands-B7CuemwQ.js → skill-commands-D8oby-tg.js} +7 -7
- package/dist/{skill-scanner-BxTzIAOh.js → skill-scanner-CZtMQPss.js} +7 -7
- package/dist/{skills-cli-BbHYlMC7.js → skills-cli-n5H-N1cq.js} +11 -11
- package/dist/{skills-install-DVhyMvdI.js → skills-install--byu1k9q.js} +10 -10
- package/dist/{skills-DeS5IuN9.js → skills-is3ptAyK.js} +7 -7
- package/dist/{skills-status-C7Zpodqv.js → skills-status-W21GYLbg.js} +4 -4
- package/dist/{status-B_6KFA2c.js → status-BfyTowAG.js} +38 -38
- package/dist/{status-KfElvy9J.js → status-D4HIujTf.js} +5 -5
- package/dist/{status.update-BMspb099.js → status.update-B1eq7pdk.js} +2 -2
- package/dist/{store-DJzisOaQ.js → store-DhI4pUSq.js} +7 -7
- package/dist/{subsystem-CnWdoPKw.js → subsystem-hb8IlZoK.js} +1 -1
- package/dist/{supervisor-BQDbdMGN.js → supervisor-Zyuzbqyy.js} +2 -2
- package/dist/{supervisor-recovery-adapter-N6EUk8-8.js → supervisor-recovery-adapter-DTYM-NtU.js} +9 -9
- package/dist/{system-cli-B0-oIiYA.js → system-cli-_hIBzh2q.js} +15 -15
- package/dist/{system-run-command-CM2z0iTS.js → system-run-command-s2Tv4J5i.js} +2 -2
- package/dist/{systemd-5fQ38YAS.js → systemd-T59ZX7hx.js} +11 -11
- package/dist/{systemd-hints-Bg_lvqW1.js → systemd-hints-CvSycleX.js} +9 -9
- package/dist/{systemd-linger-C20mA76T.js → systemd-linger-DO8CH_6c.js} +2 -2
- package/dist/{table-Dh1-mIyu.js → table-D3ffCcko.js} +2 -2
- package/dist/{tables-DR5pT4X-.js → tables-B4TgPkaN.js} +1 -1
- package/dist/{tailnet-CzWmlGVj.js → tailnet-WoH6OAwd.js} +1 -1
- package/dist/{tailscale-CvPUJvZS.js → tailscale-CZstSM_6.js} +2 -2
- package/dist/{task-pipeline-boot-Ce3PbnWC.js → task-pipeline-boot-KeVASmJb.js} +19 -19
- package/dist/{task-pipeline-boot-BrIBh2as.js → task-pipeline-boot-fQcIficV.js} +103 -103
- package/dist/{task-runlog-retention-Ccy6500r.js → task-runlog-retention-BL9X61tX.js} +2 -2
- package/dist/{task-runlog-retention-CKaDA84s.js → task-runlog-retention-_NAHcblu.js} +5 -5
- package/dist/{tasks-Bb8K1o9w.js → tasks-COKlHjUw.js} +13 -13
- package/dist/{tokens-ZXYKMPyD.js → tokens-Cv29oi2m.js} +1 -1
- package/dist/{tool-display-DorcgRYO.js → tool-display-C4RBYVSp.js} +1 -1
- package/dist/{tool-loop-detection-I5BtAA42.js → tool-loop-detection-HY9HSq9r.js} +2 -2
- package/dist/{trash-n9DbVlPq.js → trash-C7Ej284e.js} +3 -3
- package/dist/{tui-ryPvmZxo.js → tui-cfhCpw02.js} +9 -9
- package/dist/{tui-cli-CUysqEul.js → tui-cli-B2wBAyhp.js} +4 -4
- package/dist/{tui-cli-DWng-d8I.js → tui-cli-BWFTsmKk.js} +34 -34
- package/dist/{tui-AmM0FZrJ.js → tui-kMJhhJ7-.js} +1 -1
- package/dist/{update-DHDJZALz.js → update-DuRR-bjT.js} +3 -3
- package/dist/{update-cli-BiiWrX-b.js → update-cli-BVU7mNge.js} +141 -141
- package/dist/{update-cli-BoBS_5AA.js → update-cli-DcR4OrvV.js} +24 -24
- package/dist/{update-runner-tH30mnIz.js → update-runner-BChTTDr6.js} +18 -18
- package/dist/{update-runner-W_Tfzgw5.js → update-runner-Bv7o_DkR.js} +1 -1
- package/dist/{user-run-recording-8SPArkeP.js → user-run-recording-CXcaMyeC.js} +2 -2
- package/dist/{validation-cli-DHYbbZSf.js → validation-cli-BtMLqpQV.js} +103 -103
- package/dist/{validation-cli-lq97iRX5.js → validation-cli-DWr4aaEj.js} +19 -19
- package/dist/{web-cli-DI1nu_Wf.js → web-cli-BaKAD5an.js} +3 -3
- package/dist/{web-client-assets-OrZLUEre.js → web-client-assets-QQcA7AGj.js} +1 -1
- package/dist/{webhooks-cli-hHB0C7Z_.js → webhooks-cli-DskNYYRT.js} +13 -13
- package/dist/{widearea-dns-C8y2THbl.js → widearea-dns-B-wnhlHs.js} +1 -1
- package/dist/{with-timeout-DaYVHGfP.js → with-timeout-CQ_KubTO.js} +2 -2
- package/dist/{with-timeout-CJixlkca.js → with-timeout-CumbEUij.js} +6 -6
- package/dist/{workspace-sbrDBGDT.js → workspace-CbjGomBJ.js} +3 -3
- package/dist/{workspace-dirs-BHMnsvJx.js → workspace-dirs-DTAkF1kC.js} +1 -1
- package/dist/{ws-DIjS49am.js → ws-Bq_zwewv.js} +2 -2
- package/dist/{wsl-BJW8nTyL.js → wsl-CgXDjE09.js} +2 -2
- package/extensions/acpx/package.json +1 -1
- package/extensions/anthropic/package.json +1 -1
- package/extensions/bifrost/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/deepgram/package.json +1 -1
- package/extensions/deepinfra/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/diffs/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/dream-cycle/package.json +1 -1
- package/extensions/elevenlabs/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/gemini-search/package.json +1 -1
- package/extensions/google/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/grok-search/package.json +1 -1
- package/extensions/groq/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/kimi-search/package.json +1 -1
- package/extensions/learning-core/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +1 -1
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/mistral/package.json +1 -1
- package/extensions/moonshot/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +1 -1
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +1 -1
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/openai/package.json +1 -1
- package/extensions/openai-realtime/package.json +1 -1
- package/extensions/openrouter/package.json +1 -1
- package/extensions/perplexity-search/package.json +1 -1
- package/extensions/searxng-search/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +1 -1
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +1 -1
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zai/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +1 -1
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +1 -1
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/cli-Bao_Zkv0.js +0 -166
- package/dist/register.configure-CE9sH5t0.js +0 -170
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { zt as normalizeChatChannelId } from "./config-
|
|
2
|
-
import { o as ensurePluginAllowlisted } from "./polling-timeout-
|
|
1
|
+
import { zt as normalizeChatChannelId } from "./config-Wy1wQZjq.js";
|
|
2
|
+
import { o as ensurePluginAllowlisted } from "./polling-timeout-x98FlzJG.js";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/toggle-config.ts
|
|
5
5
|
function setPluginEnabledInConfig(config, pluginId, enabled) {
|
package/dist/entry.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Ht as isRootVersionInvocation, Rt as hasHelpOrVersion, Vt as isRootHelpInvocation } from "./globals-
|
|
2
|
+
import { Ht as isRootVersionInvocation, Rt as hasHelpOrVersion, Vt as isRootHelpInvocation } from "./globals-DzEfsMsj.js";
|
|
3
3
|
import { y as resolveRequiredHomeDir } from "./paths-BMo6kTge.js";
|
|
4
4
|
import { t as isValidProfileName } from "./profile-utils-DMZjJPo2.js";
|
|
5
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
5
|
+
import { t as createSubsystemLogger } from "./subsystem-hb8IlZoK.js";
|
|
6
6
|
import { t as parseBooleanValue } from "./boolean-C71HJEcH.js";
|
|
7
7
|
import { enableCompileCache } from "node:module";
|
|
8
8
|
import { spawn } from "node:child_process";
|
|
@@ -380,7 +380,7 @@ if (!isMainModule({
|
|
|
380
380
|
}
|
|
381
381
|
function tryHandleRootHelpFastPath(argv) {
|
|
382
382
|
if (!isRootHelpInvocation(argv)) return false;
|
|
383
|
-
import("./program-
|
|
383
|
+
import("./program-C9Qgghl2.js").then(({ buildProgram }) => {
|
|
384
384
|
buildProgram().outputHelp();
|
|
385
385
|
}).catch((error) => {
|
|
386
386
|
console.error("[openclaw] Failed to display help:", error instanceof Error ? error.stack ?? error.message : error);
|
|
@@ -399,7 +399,7 @@ if (!isMainModule({
|
|
|
399
399
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
400
400
|
process$1.argv = parsed.argv;
|
|
401
401
|
}
|
|
402
|
-
if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-
|
|
402
|
+
if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-DFrkQ_9h.js").then(({ runCli }) => runCli(process$1.argv)).then(() => flushStdio()).then(() => process$1.exit(process$1.exitCode ?? 0)).catch(async (error) => {
|
|
403
403
|
console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
404
404
|
await flushStdio();
|
|
405
405
|
process$1.exit(process$1.exitCode ?? 1);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as shouldLogVerbose, t as danger } from "./globals-
|
|
2
|
-
import { n as logError, t as logDebug } from "./logger-
|
|
1
|
+
import { c as shouldLogVerbose, t as danger } from "./globals-DzEfsMsj.js";
|
|
2
|
+
import { n as logError, t as logDebug } from "./logger-BH0Ng0XL.js";
|
|
3
3
|
import { t as resolveCommandStdio } from "./spawn-utils-CbEMbWcD.js";
|
|
4
4
|
import { execFile, spawn } from "node:child_process";
|
|
5
5
|
import process from "node:process";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _ as expandHomePrefix } from "./paths-BMo6kTge.js";
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
3
|
-
import { t as DEFAULT_AGENT_ID } from "./session-key-
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-hb8IlZoK.js";
|
|
3
|
+
import { t as DEFAULT_AGENT_ID } from "./session-key-DUkQn_1S.js";
|
|
4
4
|
import path, { basename, dirname, join } from "node:path";
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bs as resolveAllowlistCandidatePath, Fs as isWindowsPlatform, Gs as extractShellWrapperInlineCommand, Js as isShellWrapperExecutable, Ls as splitCommandChain, Ns as analyzeShellCommand, Os as isTrustedSafeBinPath, Qs as unwrapKnownShellMultiplexerInvocation, Rs as DEFAULT_SAFE_BINS, Vs as resolveCommandResolutionFromArgv, Zs as unwrapKnownDispatchWrapperInvocation, js as validateSafeBinArgv, qs as isDispatchWrapperExecutable, rc as SAFE_BIN_PROFILES, zs as matchAllowlist } from "./config-
|
|
1
|
+
import { Bs as resolveAllowlistCandidatePath, Fs as isWindowsPlatform, Gs as extractShellWrapperInlineCommand, Js as isShellWrapperExecutable, Ls as splitCommandChain, Ns as analyzeShellCommand, Os as isTrustedSafeBinPath, Qs as unwrapKnownShellMultiplexerInvocation, Rs as DEFAULT_SAFE_BINS, Vs as resolveCommandResolutionFromArgv, Zs as unwrapKnownDispatchWrapperInvocation, js as validateSafeBinArgv, qs as isDispatchWrapperExecutable, rc as SAFE_BIN_PROFILES, zs as matchAllowlist } from "./config-Wy1wQZjq.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-approvals-allowlist.ts
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { f as isRich, p as theme } from "./globals-
|
|
1
|
+
import { f as isRich, p as theme } from "./globals-DzEfsMsj.js";
|
|
2
2
|
import "./paths-BMo6kTge.js";
|
|
3
|
-
import { m as defaultRuntime } from "./subsystem-
|
|
3
|
+
import { m as defaultRuntime } from "./subsystem-hb8IlZoK.js";
|
|
4
4
|
import "./boolean-C71HJEcH.js";
|
|
5
|
-
import "./config-
|
|
5
|
+
import "./config-Wy1wQZjq.js";
|
|
6
6
|
import "./version-D_9__Xw6.js";
|
|
7
|
-
import "./agent-scope-
|
|
8
|
-
import "./logger-
|
|
9
|
-
import "./exec-
|
|
7
|
+
import "./agent-scope-CxydHZjT.js";
|
|
8
|
+
import "./logger-BH0Ng0XL.js";
|
|
9
|
+
import "./exec-DtX60IXR.js";
|
|
10
10
|
import "./github-copilot-token-DS1iTsaA.js";
|
|
11
|
-
import "./pid-alive-
|
|
12
|
-
import "./artifacts-
|
|
11
|
+
import "./pid-alive-BkVX-P5U.js";
|
|
12
|
+
import "./artifacts-mmiw3Aqi.js";
|
|
13
13
|
import "./retry-policy-FBwX2QEP.js";
|
|
14
14
|
import "./task-run-types-B6n0W8Rb.js";
|
|
15
15
|
import "./redact-dcExQ0l1.js";
|
|
16
16
|
import "./errors-DZFFjLFB.js";
|
|
17
17
|
import "./static-server-CSKym6UB.js";
|
|
18
|
-
import "./tailnet-
|
|
19
|
-
import "./ws-
|
|
20
|
-
import "./exec-approvals-allowlist-
|
|
21
|
-
import "./client-
|
|
22
|
-
import "./call-
|
|
18
|
+
import "./tailnet-WoH6OAwd.js";
|
|
19
|
+
import "./ws-Bq_zwewv.js";
|
|
20
|
+
import "./exec-approvals-allowlist-DlF01Fkm.js";
|
|
21
|
+
import "./client-EEggbMMG.js";
|
|
22
|
+
import "./call-5i352x9j.js";
|
|
23
23
|
import "./pairing-token-Wpl-xgyI.js";
|
|
24
24
|
import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
|
|
25
|
-
import { h as saveExecApprovals, l as readExecApprovalsSnapshot } from "./exec-approvals-
|
|
26
|
-
import { t as formatDocsLink } from "./links-
|
|
27
|
-
import "./progress-
|
|
28
|
-
import { n as callGatewayFromCli } from "./gateway-rpc-
|
|
29
|
-
import "./service-
|
|
30
|
-
import "./systemd-
|
|
31
|
-
import { t as renderTable } from "./table-
|
|
32
|
-
import { t as describeUnknownError } from "./shared-
|
|
33
|
-
import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-
|
|
34
|
-
import
|
|
35
|
-
import
|
|
25
|
+
import { h as saveExecApprovals, l as readExecApprovalsSnapshot } from "./exec-approvals-C4CZ1V0m.js";
|
|
26
|
+
import { t as formatDocsLink } from "./links-DMJmXnBC.js";
|
|
27
|
+
import "./progress-B5oGktxz.js";
|
|
28
|
+
import { n as callGatewayFromCli } from "./gateway-rpc-C2PqTIDi.js";
|
|
29
|
+
import "./service-Bgu5Jb1v.js";
|
|
30
|
+
import "./systemd-T59ZX7hx.js";
|
|
31
|
+
import { t as renderTable } from "./table-D3ffCcko.js";
|
|
32
|
+
import { t as describeUnknownError } from "./shared-D-BmVOFv.js";
|
|
33
|
+
import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-Dg7Qb-TD.js";
|
|
34
|
+
import json5 from "json5";
|
|
35
|
+
import fsPromises from "node:fs/promises";
|
|
36
36
|
|
|
37
37
|
//#region src/cli/exec-approvals-cli.ts
|
|
38
38
|
async function readStdin() {
|
|
@@ -329,10 +329,10 @@ function registerExecApprovalsCli(program) {
|
|
|
329
329
|
if (!opts.file && !opts.stdin) exitWithError("Provide --file or --stdin.");
|
|
330
330
|
if (opts.file && opts.stdin) exitWithError("Use either --file or --stdin (not both).");
|
|
331
331
|
const { source, nodeId, targetLabel, baseHash } = await loadWritableSnapshotTarget(opts);
|
|
332
|
-
const raw = opts.stdin ? await readStdin() : await
|
|
332
|
+
const raw = opts.stdin ? await readStdin() : await fsPromises.readFile(String(opts.file), "utf8");
|
|
333
333
|
let file;
|
|
334
334
|
try {
|
|
335
|
-
file =
|
|
335
|
+
file = json5.parse(raw);
|
|
336
336
|
} catch (err) {
|
|
337
337
|
exitWithError(`Failed to parse approvals JSON: ${String(err)}`);
|
|
338
338
|
}
|
package/dist/{exec-safe-bin-runtime-policy-DNVd_94E.js → exec-safe-bin-runtime-policy-BH45jyJz.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { As as normalizeTrustedSafeBinDirs, Ds as getTrustedSafeBinDirs, ac as resolveSafeBinProfiles, ic as normalizeSafeBinProfileFixtures, ks as listWritableExplicitTrustedSafeBinDirs } from "./config-
|
|
2
|
-
import { i as resolveSafeBins } from "./exec-approvals-allowlist-
|
|
1
|
+
import { As as normalizeTrustedSafeBinDirs, Ds as getTrustedSafeBinDirs, ac as resolveSafeBinProfiles, ic as normalizeSafeBinProfileFixtures, ks as listWritableExplicitTrustedSafeBinDirs } from "./config-Wy1wQZjq.js";
|
|
2
|
+
import { i as resolveSafeBins } from "./exec-approvals-allowlist-DlF01Fkm.js";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-safe-bin-runtime-policy.ts
|
|
5
5
|
const INTERPRETER_LIKE_SAFE_BINS = new Set([
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { X as isPathInside, Y as isNotFoundPathError, kt as resolvePreferredOpenClawTmpDir } from "./globals-
|
|
2
|
-
import { o as loadConfig } from "./config-
|
|
3
|
-
import { i as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
1
|
+
import { X as isPathInside, Y as isNotFoundPathError, kt as resolvePreferredOpenClawTmpDir } from "./globals-DzEfsMsj.js";
|
|
2
|
+
import { o as loadConfig } from "./config-Wy1wQZjq.js";
|
|
3
|
+
import { i as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-DSWE-pxQ.js";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fsPromises from "node:fs/promises";
|
|
6
6
|
import { createHmac } from "node:crypto";
|
|
7
7
|
|
|
8
8
|
//#region src/browser/constants.ts
|
|
@@ -56,28 +56,28 @@ function invalidPath(scopeLabel) {
|
|
|
56
56
|
}
|
|
57
57
|
async function resolveRealPathIfExists(targetPath) {
|
|
58
58
|
try {
|
|
59
|
-
return await
|
|
59
|
+
return await fsPromises.realpath(targetPath);
|
|
60
60
|
} catch {
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
async function resolveTrustedRootRealPath(rootDir) {
|
|
65
65
|
try {
|
|
66
|
-
const rootLstat = await
|
|
66
|
+
const rootLstat = await fsPromises.lstat(rootDir);
|
|
67
67
|
if (!rootLstat.isDirectory() || rootLstat.isSymbolicLink()) return;
|
|
68
|
-
return await
|
|
68
|
+
return await fsPromises.realpath(rootDir);
|
|
69
69
|
} catch {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
async function validateCanonicalPathWithinRoot(params) {
|
|
74
74
|
try {
|
|
75
|
-
const candidateLstat = await
|
|
75
|
+
const candidateLstat = await fsPromises.lstat(params.candidatePath);
|
|
76
76
|
if (candidateLstat.isSymbolicLink()) return "invalid";
|
|
77
77
|
if (params.expect === "directory" && !candidateLstat.isDirectory()) return "invalid";
|
|
78
78
|
if (params.expect === "file" && !candidateLstat.isFile()) return "invalid";
|
|
79
79
|
if (params.expect === "file" && candidateLstat.nlink > 1) return "invalid";
|
|
80
|
-
const candidateRealPath = await
|
|
80
|
+
const candidateRealPath = await fsPromises.realpath(params.candidatePath);
|
|
81
81
|
return isPathInside(params.rootRealPath, candidateRealPath) ? "ok" : "invalid";
|
|
82
82
|
} catch (err) {
|
|
83
83
|
return isNotFoundPathError(err) ? "not-found" : "invalid";
|
|
@@ -155,7 +155,7 @@ async function resolveCheckedPathsWithinRoot(params) {
|
|
|
155
155
|
};
|
|
156
156
|
if (!rootRealPath || !raw || !path.isAbsolute(raw)) return lexicalPathResult;
|
|
157
157
|
try {
|
|
158
|
-
const resolvedExistingPath = await
|
|
158
|
+
const resolvedExistingPath = await fsPromises.realpath(raw);
|
|
159
159
|
const relativePath = path.relative(rootRealPath, resolvedExistingPath);
|
|
160
160
|
if (!isInRoot(relativePath)) return lexicalPathResult;
|
|
161
161
|
return {
|
package/dist/extensionAPI.js
CHANGED
|
@@ -8,8 +8,8 @@ import "./github-copilot-token-Wgn3tC_h.js";
|
|
|
8
8
|
import { d as resolveSessionFilePath, g as resolveStorePath } from "./redact-CcXQzMDq.js";
|
|
9
9
|
import "./send-CLM4t8vd.js";
|
|
10
10
|
import "./send-D3HfLTBe.js";
|
|
11
|
-
import { a as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-
|
|
12
|
-
import "./agent-turn-runner-
|
|
11
|
+
import { a as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-DnsjQY9z.js";
|
|
12
|
+
import "./agent-turn-runner-rlaI8UZh.js";
|
|
13
13
|
import "./tokens-CjVVH60D.js";
|
|
14
14
|
import "./outbound-message-hooks-CS9d8TtV.js";
|
|
15
15
|
import "./diagnostic-C_dN2phb.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { kt as resolvePreferredOpenClawTmpDir } from "./globals-
|
|
1
|
+
import { kt as resolvePreferredOpenClawTmpDir } from "./globals-DzEfsMsj.js";
|
|
2
2
|
import { g as resolveStateDir } from "./paths-BMo6kTge.js";
|
|
3
|
-
import { o as loadConfig } from "./config-
|
|
4
|
-
import { u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
3
|
+
import { o as loadConfig } from "./config-Wy1wQZjq.js";
|
|
4
|
+
import { u as resolveAgentWorkspaceDir } from "./agent-scope-CxydHZjT.js";
|
|
5
5
|
import { n as redactSensitiveText } from "./redact-dcExQ0l1.js";
|
|
6
6
|
import { r as formatErrorChainMessage } from "./errors-DZFFjLFB.js";
|
|
7
|
-
import { c as detectMime, l as extensionForMime } from "./image-ops-
|
|
7
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-CAEEQmlt.js";
|
|
8
8
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-B3a7Paj1.js";
|
|
9
|
-
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
9
|
+
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BpcmLYcl.js";
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
|
|
12
12
|
//#region src/media/local-roots.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { i as logWarn, r as logInfo } from "./logger-
|
|
2
|
-
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-
|
|
1
|
+
import { i as logWarn, r as logInfo } from "./logger-BH0Ng0XL.js";
|
|
2
|
+
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-CCYLPZqe.js";
|
|
3
3
|
import { t as bindAbortRelay } from "./fetch-timeout-CWcs4Nwj.js";
|
|
4
|
-
import { t as isNpmUndiciDispatchingFetch } from "./proxy-fetch-
|
|
4
|
+
import { t as isNpmUndiciDispatchingFetch } from "./proxy-fetch-CZr5_YhZ.js";
|
|
5
5
|
import { EnvHttpProxyAgent, FormData, fetch } from "undici";
|
|
6
6
|
|
|
7
7
|
//#region src/infra/net/form-data.ts
|
|
@@ -2,7 +2,7 @@ import { t as parseBooleanValue } from "./boolean-C71HJEcH.js";
|
|
|
2
2
|
import { t as readManifestNamespace } from "./legacy-names-C_8EaGns.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs from "node:fs";
|
|
5
|
-
import
|
|
5
|
+
import json5 from "json5";
|
|
6
6
|
import YAML from "yaml";
|
|
7
7
|
|
|
8
8
|
//#region src/shared/config-eval.ts
|
|
@@ -259,7 +259,7 @@ function resolveOpenClawManifestBlock(params) {
|
|
|
259
259
|
const raw = getFrontmatterString(params.frontmatter, params.key ?? "metadata");
|
|
260
260
|
if (!raw) return;
|
|
261
261
|
try {
|
|
262
|
-
const parsed =
|
|
262
|
+
const parsed = json5.parse(raw);
|
|
263
263
|
if (!parsed || typeof parsed !== "object") return;
|
|
264
264
|
return readManifestNamespace(parsed);
|
|
265
265
|
} catch {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { J as hasNodeErrorCode, W as sameFileIdentity, X as isPathInside, Y as isNotFoundPathError, Z as isSymlinkOpenError } from "./globals-
|
|
1
|
+
import { J as hasNodeErrorCode, W as sameFileIdentity, X as isPathInside, Y as isNotFoundPathError, Z as isSymlinkOpenError } from "./globals-DzEfsMsj.js";
|
|
2
2
|
import { _ as expandHomePrefix } from "./paths-BMo6kTge.js";
|
|
3
|
-
import { i as logWarn } from "./logger-
|
|
4
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
3
|
+
import { i as logWarn } from "./logger-BH0Ng0XL.js";
|
|
4
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-CwFH4u4Y.js";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import { constants } from "node:fs";
|
|
8
|
-
import
|
|
8
|
+
import fsPromises from "node:fs/promises";
|
|
9
9
|
import { randomUUID } from "node:crypto";
|
|
10
10
|
import { pipeline } from "node:stream/promises";
|
|
11
11
|
|
|
@@ -25,19 +25,19 @@ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value +
|
|
|
25
25
|
async function expandRelativePathWithHome(relativePath) {
|
|
26
26
|
let home = process.env.HOME || process.env.USERPROFILE || os.homedir();
|
|
27
27
|
try {
|
|
28
|
-
home = await
|
|
28
|
+
home = await fsPromises.realpath(home);
|
|
29
29
|
} catch {}
|
|
30
30
|
return expandHomePrefix(relativePath, { home });
|
|
31
31
|
}
|
|
32
32
|
async function openVerifiedLocalFile(filePath, options) {
|
|
33
33
|
try {
|
|
34
|
-
if ((await
|
|
34
|
+
if ((await fsPromises.lstat(filePath)).isDirectory()) throw new SafeOpenError("not-file", "not a file");
|
|
35
35
|
} catch (err) {
|
|
36
36
|
if (err instanceof SafeOpenError) throw err;
|
|
37
37
|
}
|
|
38
38
|
let handle;
|
|
39
39
|
try {
|
|
40
|
-
handle = await
|
|
40
|
+
handle = await fsPromises.open(filePath, OPEN_READ_FLAGS);
|
|
41
41
|
} catch (err) {
|
|
42
42
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
|
|
43
43
|
if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
|
|
@@ -45,13 +45,13 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
45
45
|
throw err;
|
|
46
46
|
}
|
|
47
47
|
try {
|
|
48
|
-
const [stat, lstat] = await Promise.all([handle.stat(),
|
|
48
|
+
const [stat, lstat] = await Promise.all([handle.stat(), fsPromises.lstat(filePath)]);
|
|
49
49
|
if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
|
|
50
50
|
if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
|
|
51
51
|
if (options?.rejectHardlinks && stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
52
52
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during read");
|
|
53
|
-
const realPath = await
|
|
54
|
-
const realStat = await
|
|
53
|
+
const realPath = await fsPromises.realpath(filePath);
|
|
54
|
+
const realStat = await fsPromises.stat(realPath);
|
|
55
55
|
if (options?.rejectHardlinks && realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
56
56
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
57
57
|
return {
|
|
@@ -69,7 +69,7 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
69
69
|
async function resolvePathWithinRoot(params) {
|
|
70
70
|
let rootReal;
|
|
71
71
|
try {
|
|
72
|
-
rootReal = await
|
|
72
|
+
rootReal = await fsPromises.realpath(params.rootDir);
|
|
73
73
|
} catch (err) {
|
|
74
74
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
|
|
75
75
|
throw err;
|
|
@@ -170,7 +170,7 @@ function buildAtomicWriteTempPath(targetPath) {
|
|
|
170
170
|
return path.join(dir, `.${base}.${process.pid}.${randomUUID()}.tmp`);
|
|
171
171
|
}
|
|
172
172
|
async function writeTempFileForAtomicReplace(params) {
|
|
173
|
-
const tempHandle = await
|
|
173
|
+
const tempHandle = await fsPromises.open(params.tempPath, OPEN_WRITE_CREATE_FLAGS, params.mode);
|
|
174
174
|
try {
|
|
175
175
|
if (typeof params.data === "string") await tempHandle.writeFile(params.data, params.encoding ?? "utf8");
|
|
176
176
|
else await tempHandle.writeFile(params.data);
|
|
@@ -180,7 +180,7 @@ async function writeTempFileForAtomicReplace(params) {
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
async function verifyAtomicWriteResult(params) {
|
|
183
|
-
const rootWithSep = ensureTrailingSep(await
|
|
183
|
+
const rootWithSep = ensureTrailingSep(await fsPromises.realpath(params.rootDir));
|
|
184
184
|
const opened = await openVerifiedLocalFile(params.targetPath, { rejectHardlinks: true });
|
|
185
185
|
try {
|
|
186
186
|
if (!sameFileIdentity(opened.stat, params.expectedStat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
@@ -191,13 +191,13 @@ async function verifyAtomicWriteResult(params) {
|
|
|
191
191
|
}
|
|
192
192
|
async function resolveOpenedFileRealPathForHandle(handle, ioPath) {
|
|
193
193
|
try {
|
|
194
|
-
return await
|
|
194
|
+
return await fsPromises.realpath(ioPath);
|
|
195
195
|
} catch (err) {
|
|
196
196
|
if (!isNotFoundPathError(err)) throw err;
|
|
197
197
|
}
|
|
198
198
|
const fdCandidates = process.platform === "linux" ? [`/proc/self/fd/${handle.fd}`, `/dev/fd/${handle.fd}`] : process.platform === "win32" ? [] : [`/dev/fd/${handle.fd}`];
|
|
199
199
|
for (const fdPath of fdCandidates) try {
|
|
200
|
-
return await
|
|
200
|
+
return await fsPromises.realpath(fdPath);
|
|
201
201
|
} catch {}
|
|
202
202
|
throw new SafeOpenError("path-mismatch", "unable to resolve opened file path");
|
|
203
203
|
}
|
|
@@ -212,10 +212,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
212
212
|
} catch (err) {
|
|
213
213
|
throw new SafeOpenError("invalid-path", "path alias escape blocked", { cause: err });
|
|
214
214
|
}
|
|
215
|
-
if (params.mkdir !== false) await
|
|
215
|
+
if (params.mkdir !== false) await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
|
|
216
216
|
let ioPath = resolved;
|
|
217
217
|
try {
|
|
218
|
-
const resolvedRealPath = await
|
|
218
|
+
const resolvedRealPath = await fsPromises.realpath(resolved);
|
|
219
219
|
if (!isPathInside(rootWithSep, resolvedRealPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
220
220
|
ioPath = resolvedRealPath;
|
|
221
221
|
} catch (err) {
|
|
@@ -227,10 +227,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
227
227
|
let createdForWrite = false;
|
|
228
228
|
try {
|
|
229
229
|
try {
|
|
230
|
-
handle = await
|
|
230
|
+
handle = await fsPromises.open(ioPath, OPEN_WRITE_EXISTING_FLAGS, fileMode);
|
|
231
231
|
} catch (err) {
|
|
232
232
|
if (!isNotFoundPathError(err)) throw err;
|
|
233
|
-
handle = await
|
|
233
|
+
handle = await fsPromises.open(ioPath, OPEN_WRITE_CREATE_FLAGS, fileMode);
|
|
234
234
|
createdForWrite = true;
|
|
235
235
|
}
|
|
236
236
|
} catch (err) {
|
|
@@ -244,7 +244,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
244
244
|
if (!stat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
245
245
|
if (stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
246
246
|
try {
|
|
247
|
-
const lstat = await
|
|
247
|
+
const lstat = await fsPromises.lstat(ioPath);
|
|
248
248
|
if (lstat.isSymbolicLink() || !lstat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
249
249
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
250
250
|
} catch (err) {
|
|
@@ -252,7 +252,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
252
252
|
}
|
|
253
253
|
const realPath = await resolveOpenedFileRealPathForHandle(handle, ioPath);
|
|
254
254
|
openedRealPath = realPath;
|
|
255
|
-
const realStat = await
|
|
255
|
+
const realStat = await fsPromises.stat(realPath);
|
|
256
256
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
257
257
|
if (realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
258
258
|
if (!isPathInside(rootWithSep, realPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
@@ -267,7 +267,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
267
267
|
const cleanupCreatedPath = createdForWrite && err instanceof SafeOpenError;
|
|
268
268
|
const cleanupPath = openedRealPath ?? ioPath;
|
|
269
269
|
await handle.close().catch(() => {});
|
|
270
|
-
if (cleanupCreatedPath) await
|
|
270
|
+
if (cleanupCreatedPath) await fsPromises.rm(cleanupPath, { force: true }).catch(() => {});
|
|
271
271
|
throw err;
|
|
272
272
|
}
|
|
273
273
|
}
|
|
@@ -290,7 +290,7 @@ async function writeFileWithinRoot(params) {
|
|
|
290
290
|
encoding: params.encoding,
|
|
291
291
|
mode: targetMode || 384
|
|
292
292
|
});
|
|
293
|
-
await
|
|
293
|
+
await fsPromises.rename(tempPath, destinationPath);
|
|
294
294
|
tempPath = null;
|
|
295
295
|
try {
|
|
296
296
|
await verifyAtomicWriteResult({
|
|
@@ -303,7 +303,7 @@ async function writeFileWithinRoot(params) {
|
|
|
303
303
|
throw err;
|
|
304
304
|
}
|
|
305
305
|
} finally {
|
|
306
|
-
if (tempPath) await
|
|
306
|
+
if (tempPath) await fsPromises.rm(tempPath, { force: true }).catch(() => {});
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
async function copyFileWithinRoot(params) {
|
|
@@ -331,7 +331,7 @@ async function copyFileWithinRoot(params) {
|
|
|
331
331
|
});
|
|
332
332
|
await pipeline(sourceStream, targetStream);
|
|
333
333
|
} catch (err) {
|
|
334
|
-
if (target?.createdForWrite) await
|
|
334
|
+
if (target?.createdForWrite) await fsPromises.rm(target.openedRealPath, { force: true }).catch(() => {});
|
|
335
335
|
throw err;
|
|
336
336
|
} finally {
|
|
337
337
|
if (!sourceClosedByStream) await source.handle.close().catch(() => {});
|