@bitseek/claw 1.2.2 → 1.2.6
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/{accounts-DKvlV3Tm.js → accounts-C3iwoWUS.js} +1 -1
- package/dist/{accounts-D5DQlttG.js → accounts-CCbfXe4Y.js} +7 -7
- package/dist/{accounts-jPPbCJns.js → accounts-ChjgDDok.js} +1 -1
- package/dist/{acp-cli-BZnPaFm3.js → acp-cli-DIikR-tj.js} +8 -8
- package/dist/{agent-scope-CiBV1K6b.js → agent-scope-DHMu2mab.js} +1 -1
- package/dist/{agents-BMaMDR6h.js → agents-BCJbDk2P.js} +4 -4
- package/dist/{agents.config-BSY7Z6IC.js → agents.config-BoNoGEQI.js} +2 -2
- package/dist/{agents.config-Bjwf3eo1.js → agents.config-DoxV5m9v.js} +1 -1
- package/dist/{api-key-rotation-j4O7qxMf.js → api-key-rotation-CuHjsofV.js} +1 -1
- package/dist/{audio-preflight-BkoTbTIH.js → audio-preflight-BClvbKMQ.js} +36 -36
- package/dist/{audio-preflight-Dd9DDvqB.js → audio-preflight-BWOdDA2n.js} +4 -4
- package/dist/{audio-transcription-runner-Bx53bUS2.js → audio-transcription-runner-DaoqvWoi.js} +1 -1
- package/dist/{audio-transcription-runner-CF_UP4C7.js → audio-transcription-runner-Dv-MCA8E.js} +22 -22
- package/dist/{audit-1YVlVmk7.js → audit-BAGbgihO.js} +29 -29
- package/dist/{auth-Co2g3d8d.js → auth-B9WdgDjZ.js} +1 -1
- package/dist/{auth-choice-BYuegxlw.js → auth-choice-CP6K5htW.js} +1 -1
- package/dist/{auth-choice-BpOvsd_n.js → auth-choice-CTCXt7WB.js} +12 -12
- package/dist/{auth-choice-BamWYpsc.js → auth-choice-FFUrxk0-.js} +14 -14
- package/dist/{auth-choice.apply-helpers-CQLQ5Tuk.js → auth-choice.apply-helpers-Dz2x-3CK.js} +1 -1
- package/dist/{auth-token-BjVRLcvi.js → auth-token-BPWVp11S.js} +1 -1
- package/dist/{banner-EymX6IpH.js → banner-V_1v329B.js} +1 -1
- package/dist/{bindings-Ck6aotGf.js → bindings-C0k4wFy7.js} +1 -1
- package/dist/{bonjour-discovery-CtUQb94i.js → bonjour-discovery-DXvZeG8M.js} +1 -1
- package/dist/{browser-cli-CaBLM5A6.js → browser-cli-BwtSgIvC.js} +12 -12
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-BGZQEHL4.js → call-B9Vrcbed.js} +10 -10
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +6027 -1405
- package/dist/{channel-account-context-C6rIxLzo.js → channel-account-context-CeGx9Aq7.js} +5 -5
- package/dist/{channel-options-bD8Nb_XT.js → channel-options-DmEaPgkZ.js} +3 -3
- package/dist/{channel-options-BbugzQSv.js → channel-options-Dsjb-V1F.js} +1 -1
- package/dist/{channel-selection-TZJgoz5h.js → channel-selection-BDdjozhi.js} +1 -1
- package/dist/{channel-web-BzKDism5.js → channel-web-mFdbEE2o.js} +18 -18
- package/dist/{channel-web-C8R11QOm.js → channel-web-wuxrfEJh.js} +1 -1
- package/dist/{channels-cli-B6ICcQiX.js → channels-cli-CCTczoJM.js} +94 -94
- package/dist/{channels-cli-DLh8uOwf.js → channels-cli-OZeQkPMG.js} +6 -6
- package/dist/{channels-status-issues-DeT1Znlx.js → channels-status-issues-Dir7g-Pc.js} +1 -1
- package/dist/{chrome-DzGCPEQK.js → chrome-2gfHr1cU.js} +4 -4
- package/dist/{chrome-C6zMSR36.js → chrome-CjTE-vWv.js} +8 -8
- package/dist/{clawbot-cli-Comysjn9.js → clawbot-cli-BMGBnmny.js} +5 -5
- package/dist/{cli-dy2BdjPZ.js → cli-YeYpjq2c.js} +1 -1
- package/dist/{cli-BT1aLbEG.js → cli-zsP2OqB6.js} +75 -75
- package/dist/{client-B91adiXh.js → client-BoUhzGrS.js} +2 -2
- package/dist/{command-registry-oV1633Vs.js → command-registry-okzYatr9.js} +9 -9
- package/dist/{commands-C6OLhl3n.js → commands-npgZubp3.js} +1 -1
- package/dist/{commands-registry-CVzTBX51.js → commands-registry-B5jHbfUL.js} +3 -3
- package/dist/{completion-cli-C9i-Dicb.js → completion-cli-BFxGdqak.js} +2 -2
- package/dist/{completion-cli-5z7Fk2X-.js → completion-cli-Dm9dt8iw.js} +12 -12
- package/dist/{config-cli-CENkfh8B.js → config-cli-CJVYN-g-.js} +7 -7
- package/dist/{config-cli-CpsK8BqN.js → config-cli-hwawfBlS.js} +1 -1
- package/dist/{config-guard-9BjlFVZx.js → config-guard-1SsvFO9G.js} +17 -17
- package/dist/{config-validation-BcxAhhcj.js → config-validation-BJ6PNk8H.js} +3 -3
- package/dist/{configure-boTkhg01.js → configure-DMwHaNHJ.js} +17 -17
- package/dist/{configure-DcXrqefi.js → configure-l-lM74c1.js} +3 -3
- package/dist/control-ui/assets/{index-DmJK8e2M.js → index-CKSSOzJL.js} +116 -116
- package/dist/control-ui/assets/{index-DmJK8e2M.js.map → index-CKSSOzJL.js.map} +1 -1
- package/dist/control-ui/assets/index-Ck63PFX9.css +1 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/{control-ui-assets-B_3g_YF0.js → control-ui-assets-DpInddpx.js} +1 -1
- package/dist/{cron-cli-C8kDGh6_.js → cron-cli-CyEcKgVG.js} +12 -12
- package/dist/{daemon-cli-RKWFtF-K.js → daemon-cli-CB9c5SXP.js} +15 -15
- package/dist/{daemon-install-DsJ0L8HP.js → daemon-install-Bqjc3wky.js} +4 -4
- package/dist/{daemon-install-helpers-CMWYg4_W.js → daemon-install-helpers-CGZBs-X3.js} +11 -11
- package/dist/{dashboard-BhAYjl6n.js → dashboard-8HFxt9IY.js} +2 -2
- package/dist/{deliver-Bn10XzRP.js → deliver-D4ugOkLr.js} +7 -7
- package/dist/{deliver-DXa06hfk.js → deliver-xY3h9X6N.js} +1 -1
- package/dist/{devices-cli-DoJBheGs.js → devices-cli-Bp8AMOPE.js} +8 -8
- package/dist/{diagnostic-DRPetA8l.js → diagnostic-phUWJbF_.js} +1 -1
- package/dist/{diagnostics-BHQgZbuI.js → diagnostics-D_AmByNE.js} +5 -5
- package/dist/{directory-cli-Brla3Idn.js → directory-cli-Bt3I30_e.js} +8 -8
- package/dist/{dns-cli-rEvE1LG9.js → dns-cli-DaTrsB61.js} +5 -5
- package/dist/{dock-BXksV3sC.js → dock-swzevZbj.js} +4 -4
- package/dist/{docs-cli-DtThi0Xf.js → docs-cli--2Qgcpvs.js} +4 -4
- package/dist/{doctor-completion-BwIgzkLP.js → doctor-completion-UEYo4_U6.js} +2 -2
- package/dist/{doctor-completion-BySkhMZY.js → doctor-completion-wHIBxn-7.js} +1 -1
- package/dist/{doctor-config-flow-18ijj3KB.js → doctor-config-flow-DKaeaH2u.js} +15 -15
- package/dist/{enable-CJ75JA5u.js → enable-xlkWJvIn.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{exec-approvals-allowlist-CGVHz3PX.js → exec-approvals-allowlist-fG-NsL-O.js} +1 -1
- package/dist/{exec-approvals-cli-DfcUJ9Sm.js → exec-approvals-cli-r7jbe_Rj.js} +16 -16
- package/dist/{exec-safe-bin-runtime-policy-D7olAQMf.js → exec-safe-bin-runtime-policy-B9kCrTY1.js} +2 -2
- package/dist/extensionAPI.js +1 -1
- package/dist/{fetch-guard-D6eclxeP.js → fetch-guard-N12H9lEe.js} +1 -1
- package/dist/{fs-safe-p5lyYI__.js → fs-safe-BGAE6eOQ.js} +24 -24
- package/dist/{gateway-cli-Dn-Yq6Tf.js → gateway-cli-BFo0WvJx.js} +70 -16
- package/dist/{gateway-cli-BVn-fVbw.js → gateway-cli-Bi6tzv7v.js} +222 -168
- package/dist/{gateway-rpc-CJVCek88.js → gateway-rpc-BHBGSN7Z.js} +1 -1
- package/dist/{health-Du4IbXAP.js → health-CDEXWvnu.js} +1 -1
- package/dist/{health-DmJq2Wph.js → health-DlFSsTw-.js} +14 -14
- package/dist/{hooks-cli-BhSZV-cM.js → hooks-cli-CMLpJr6I.js} +83 -83
- package/dist/{hooks-cli-BrT4aprv.js → hooks-cli-Deo01lF6.js} +2 -2
- package/dist/{hooks-status-ONaKEpUH.js → hooks-status-inMD7sD-.js} +1 -1
- package/dist/{image-B270IRGo.js → image-BzR2twGI.js} +5 -5
- package/dist/{image-Dd4lgi4H.js → image-DCyaYY2d.js} +1 -1
- package/dist/{plugin-sdk/image-ops-DulHE5Qc.js → image-ops-B6BeXmZU.js} +12 -12
- package/dist/index.js +85 -85
- package/dist/{inspect-C0e0Dmvg.js → inspect-BwbOLUun.js} +4 -4
- package/dist/{install-safe-path-CSqVUjL8.js → install-safe-path-DodF6oyk.js} +25 -25
- package/dist/{installs-BXOZ3DXs.js → installs-8bzJi35e.js} +9 -9
- package/dist/{ipv4-Bk-doiEE.js → ipv4-BY_PmkpX.js} +1 -1
- package/dist/{ir-BGgl4f9u.js → ir-vGBxQkIg.js} +6 -6
- package/dist/{issue-format-rk9Vpcxd.js → issue-format-B4oxePhU.js} +1 -1
- package/dist/{json-files-bJqSYqgg.js → json-files-C7p5SEie.js} +8 -8
- package/dist/{lifecycle-core-Bqse41aA.js → lifecycle-core-C5a4clqu.js} +5 -5
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{local-roots-jW0nhxVT.js → local-roots-Dcc5UeD8.js} +3 -3
- package/dist/{login-B2B75WGK.js → login-BM9p9nig.js} +3 -3
- package/dist/{login-qr-YjUycQZT.js → login-qr-CB4JWkHM.js} +6 -6
- package/dist/{logs-cli-Dyid6hUQ.js → logs-cli-DGdXLEv-.js} +9 -9
- package/dist/{manager-C9rftBaE.js → manager-X8AF3rQJ.js} +14 -14
- package/dist/{manifest-registry-B_U2pKBU.js → manifest-registry-HNrtHxxI.js} +1 -1
- package/dist/{markdown-tables-B5l_33qL.js → markdown-tables-XmfG1bwr.js} +1 -1
- package/dist/{memory-cli-o3L9NN74.js → memory-cli-87nxADqy.js} +12 -12
- package/dist/{model-FnrgCVyS.js → model-CESXYutI.js} +2 -2
- package/dist/{model-catalog-CjA5pRJF.js → model-catalog-DUHxH2xb.js} +3 -3
- package/dist/{model-picker-CMgjcqV_.js → model-picker-D705WMPf.js} +4 -4
- package/dist/{model-selection-xdfZxwgB.js → model-selection-DCo8MhsE.js} +16 -16
- package/dist/{models-BEMBo-jJ.js → models-CgguB_MH.js} +2 -2
- package/dist/{models-cli-CJCNoVhQ.js → models-cli-9x2mp4Ac.js} +85 -85
- package/dist/{models-cli-Bj5d7qpe.js → models-cli-BEb0DHSP.js} +3 -3
- package/dist/{models-config-Do1Ur_ov.js → models-config-Bgpjcu8R.js} +6 -6
- package/dist/{node-cli-DYOdgLUu.js → node-cli-DJnihsNr.js} +33 -33
- package/dist/{node-command-policy-BKUs_pS2.js → node-command-policy-BiPTB8BK.js} +1 -1
- package/dist/{node-service-6W3vqgVv.js → node-service-CfKJ5oC1.js} +1 -1
- package/dist/{nodes-cli-CQzck2kc.js → nodes-cli-4kBrEEti.js} +16 -16
- package/dist/{nodes-screen-Dptoharj.js → nodes-screen-FWjD2j3v.js} +7 -7
- package/dist/{npm-pack-install-Byr0kgft.js → npm-pack-install-CXheGnb0.js} +18 -18
- package/dist/{npm-resolution-BHQDGwrV.js → npm-resolution-DIr_TibO.js} +5 -5
- package/dist/{npm-resolution-DyqMvaHn.js → npm-resolution-T8SphiP5.js} +1 -1
- package/dist/{onboard-CUFDJWvM.js → onboard-B_MoYnrn.js} +2 -2
- package/dist/{onboard-DpLm6YX6.js → onboard-DEFQu6dU.js} +6 -6
- package/dist/{onboard-channels-i1FFoaW7.js → onboard-channels-BLZ8FdVP.js} +1 -1
- package/dist/{onboard-channels-CrxnmwMd.js → onboard-channels-BuG5-e60.js} +20 -20
- package/dist/{onboard-custom-Bow6lZPm.js → onboard-custom-HI7NPx1u.js} +3 -3
- package/dist/{onboard-custom.shared-CBRRhb95.js → onboard-custom.shared-SWx67Er2.js} +2 -2
- package/dist/{onboard-helpers-B1AEo6oL.js → onboard-helpers-Jc1-4LBc.js} +11 -11
- package/dist/{onboard-hooks-CtxRk6l_.js → onboard-hooks-DFjIpeE_.js} +4 -4
- package/dist/{onboard-remote-DmHpLoWf.js → onboard-remote-BLAyUeAO.js} +3 -3
- package/dist/{onboard-skills-DwpZY5tZ.js → onboard-skills--XkA2Jj4.js} +4 -4
- package/dist/{onboarding-Wve1--YA.js → onboarding-BQ2WB7tp.js} +13 -13
- package/dist/{onboarding-ORzDCBo6.js → onboarding-CSnr51pR.js} +3 -3
- package/dist/{onboarding.finalize-DH8INVdN.js → onboarding.finalize-BlMlIFRW.js} +6 -6
- package/dist/{onboarding.finalize-BoXDIiNp.js → onboarding.finalize-DAbr5Ar8.js} +87 -87
- package/dist/{onboarding.gateway-config-wXH6gE7c.js → onboarding.gateway-config-CMKjEPRA.js} +18 -18
- package/dist/{openai-model-default-Q7Hmy0eQ.js → openai-model-default-BTNz1OzV.js} +2 -2
- package/dist/{outbound-DlVJWa4u.js → outbound-Bf7VAx0-.js} +4 -4
- package/dist/{outbound-attachment-CZh4VjhT.js → outbound-attachment-Df5o7JIG.js} +2 -2
- package/dist/{pairing-cli-DAMLvDcA.js → pairing-cli-CA7Dxs-g.js} +9 -9
- package/dist/{pairing-labels-Cl7ROILg.js → pairing-labels-BBti3jJg.js} +1 -1
- package/dist/{pairing-store-DdZ0xMD7.js → pairing-store-DY0yrkuM.js} +3 -3
- package/dist/{path-alias-guards-DWh6tSaP.js → path-alias-guards-BNzjbOwM.js} +3 -3
- package/dist/{path-safety-COhgvniC.js → path-safety-dmCI2tpN.js} +1 -1
- package/dist/{paths-AxolTUEH.js → paths-BZfURxkW.js} +9 -9
- package/dist/{pi-embedded-DnavjoU4.js → pi-embedded-Bacc2S0h.js} +50 -22
- package/dist/{pi-embedded-DDt-4VY9.js → pi-embedded-Claxav22.js} +30 -2
- package/dist/{pi-embedded-helpers-BErNo2oq.js → pi-embedded-helpers-CMTVhLjq.js} +3 -3
- package/dist/{pi-embedded-helpers-ZTn-T7tW.js → pi-embedded-helpers-D3nc5XJW.js} +6 -6
- package/dist/{pi-model-discovery-DVhDvAnA.js → pi-model-discovery-BSytrsu4.js} +1 -1
- package/dist/{pi-tools.policy-eyXj0EY5.js → pi-tools.policy-Dwsq-Yaf.js} +5 -5
- package/dist/{plugin-auto-enable-D1WySsnE.js → plugin-auto-enable-4zXn-eVS.js} +3 -3
- package/dist/{plugin-registry-eOikaO9b.js → plugin-registry-CxFikiLF.js} +1 -1
- package/dist/{plugin-registry-CFL5j9cN.js → plugin-registry-DsZTkNKu.js} +3 -3
- package/dist/plugin-sdk/{accounts-COLYAAOx.js → accounts-4WE2wtsW.js} +1 -1
- package/dist/plugin-sdk/{accounts-BZrkOo6-.js → accounts-AbI8uETR.js} +1 -1
- package/dist/plugin-sdk/{accounts-D_pT5EjF.js → accounts-BYcizTXn.js} +3 -3
- package/dist/plugin-sdk/{active-listener-DxBXcWm_.js → active-listener-pnqLAUOh.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-DT5pxpJB.js → agent-scope-_j3fIYCK.js} +3 -3
- package/dist/plugin-sdk/{api-key-rotation-Dl6Ad7Nj.js → api-key-rotation-CYI51U_M.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-CkPj4OVY.js → audio-preflight-BTRRjPew.js} +33 -33
- package/dist/plugin-sdk/{audio-transcription-runner-BBn9jEMg.js → audio-transcription-runner-DFZS7uCO.js} +10 -10
- package/dist/plugin-sdk/{bindings-BSfhEjKN.js → bindings-CxxzC7gn.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-DAEbma-o.js → channel-activity-B3yZ-f-m.js} +3 -3
- package/dist/plugin-sdk/{channel-web-MpDUG9SU.js → channel-web-D2q54sK-.js} +23 -23
- package/dist/plugin-sdk/{chrome-Dn0G4NoF.js → chrome-oPevdeh5.js} +7 -7
- package/dist/plugin-sdk/{chunk-cvtXztAT.js → chunk-BPyPeheZ.js} +1 -1
- package/dist/plugin-sdk/{command-format-BOJz3y1v.js → command-format-DvyMEXQo.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-CZWv_JwZ.js → commands-registry-Dk8re8Lz.js} +5 -5
- package/dist/plugin-sdk/{config-DAwOhnVF.js → config-D7I2_X4P.js} +10 -10
- package/dist/plugin-sdk/{deliver-PdH-MCq8.js → deliver-NrIHn0__.js} +11 -11
- package/dist/plugin-sdk/{diagnostic-BZvj-qNu.js → diagnostic-DL3k_wRi.js} +2 -2
- package/dist/plugin-sdk/{dock-BdR3OYZn.js → dock-CjdkiLH7.js} +6 -6
- package/dist/plugin-sdk/{errors-jusxdu7M.js → errors-DFTN4h2I.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-Dary6WwJ.js → fetch-guard-BivEyA4v.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-DMCE0ej9.js → fs-safe-B256n7Ff.js} +3 -3
- package/dist/plugin-sdk/{image-B3A2l2ep.js → image-CkPzr3XN.js} +6 -6
- package/dist/{image-ops-BAMcbVMS.js → plugin-sdk/image-ops-C9GXWF3o.js} +2 -2
- package/dist/plugin-sdk/index.js +64 -64
- package/dist/plugin-sdk/{ir-BFXiJrsN.js → ir-BIm-jvIK.js} +6 -6
- package/dist/plugin-sdk/{local-roots-DssN60r6.js → local-roots-2AOXGUXW.js} +4 -4
- package/dist/plugin-sdk/{logger-Cr-x0vMf.js → logger-CNhs9eKJ.js} +1 -1
- package/dist/plugin-sdk/{login-D0ul3-6C.js → login-BcLiF9tC.js} +6 -6
- package/dist/plugin-sdk/{login-qr-XWKTFBuI.js → login-qr-GyPUodKJ.js} +9 -9
- package/dist/plugin-sdk/{manager-DGx_cF54.js → manager-DYLqNUb4.js} +10 -10
- package/dist/plugin-sdk/{markdown-tables-CsQpDNU5.js → markdown-tables-D9mmqMKi.js} +1 -1
- package/dist/plugin-sdk/{message-channel-CvNq-esz.js → message-channel-_CEZcqxE.js} +1 -1
- package/dist/plugin-sdk/{outbound-D29FHlQl.js → outbound-DdTsUaXa.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-DRHrZUOx.js → outbound-attachment--hkuIDR1.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-DpKV1B5p.js → path-alias-guards-BqUCBfUg.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-CKEUWckk.js → pi-embedded-helpers-CTfvZz83.js} +17 -17
- package/dist/plugin-sdk/{pi-model-discovery-BPeQq9XM.js → pi-model-discovery-CK3Ih_kq.js} +1 -1
- package/dist/plugin-sdk/{plugins-DF_dKXTR.js → plugins-BpHAMNJ1.js} +6 -6
- package/dist/plugin-sdk/{proxy-BfmEDoun.js → proxy-BJdRZOnJ.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-BpHIgvBk.js → proxy-fetch-jmbopGcm.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-BmmXDjtm.js → pw-ai-D0Kx7w1D.js} +13 -13
- package/dist/plugin-sdk/{qmd-manager-3hQbqkm5.js → qmd-manager-BDcutPp9.js} +8 -8
- package/dist/plugin-sdk/{query-expansion-BOGLUWB7.js → query-expansion-C_X8SyEA.js} +2 -2
- package/dist/plugin-sdk/{redact-BOuKZWXa.js → redact-DH8u23pF.js} +1 -1
- package/dist/plugin-sdk/{registry-Cv-oHUj1.js → registry-HF8_S7QO.js} +2 -2
- package/dist/plugin-sdk/{replies-CddwWBTJ.js → replies-DbjvV4gf.js} +3 -3
- package/dist/plugin-sdk/{reply-wHFXod4j.js → reply-Cs_Ks2Mr.js} +121 -93
- package/dist/plugin-sdk/{reply-prefix-DXthVxCx.js → reply-prefix-KODsMNJ-.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-D3Y4F2Le.js → resolve-outbound-target-BPT4aNiD.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-DuwYYn4a.js → resolve-route-De2B5QY_.js} +4 -4
- package/dist/plugin-sdk/{retry-BMcrIz7L.js → retry-pZ8iKytf.js} +1 -1
- package/dist/plugin-sdk/{send-D0AaWnIj.js → send-1uW-uqPf.js} +7 -7
- package/dist/plugin-sdk/{send-C5USYGq7.js → send-BoNw1Bki.js} +8 -8
- package/dist/plugin-sdk/{send-B0ztz6QC.js → send-C-Rd2stz.js} +6 -6
- package/dist/plugin-sdk/{send-DJzwu8kk.js → send-CZIN8SDx.js} +15 -15
- package/dist/plugin-sdk/{send-DEyQJTzd.js → send-wCqsQs_s.js} +10 -10
- package/dist/plugin-sdk/{session-meta-ChWvKVWj.js → session-meta-7J-uHiM_.js} +1 -1
- package/dist/plugin-sdk/{session-BA7tVDpV.js → session-ooYcB82T.js} +5 -5
- package/dist/plugin-sdk/{sessions-BXps6YzJ.js → sessions-lAIo5l8W.js} +6 -6
- package/dist/plugin-sdk/{skill-commands-B20uUsji.js → skill-commands-D1Q6hGS4.js} +5 -5
- package/dist/plugin-sdk/{skills-DXOTei42.js → skills-BWSDv2F_.js} +8 -8
- package/dist/plugin-sdk/{ssrf-Doxv9M7Q.js → ssrf-JKDwTi8i.js} +1 -1
- package/dist/plugin-sdk/{store-BZbE1V-C.js → store-BMeqzQAf.js} +2 -2
- package/dist/plugin-sdk/{subsystem-CM1s2lDT.js → subsystem-B0V8LFBA.js} +2 -2
- package/dist/plugin-sdk/{tables-BhH8EIqU.js → tables-DCSeBGBz.js} +1 -1
- package/dist/{target-errors-B1cYmIjq.js → plugin-sdk/target-errors-0u6pegQv.js} +2 -2
- package/dist/plugin-sdk/{tokens-DIE-Bf72.js → tokens-DF2_VTJy.js} +1 -1
- package/dist/plugin-sdk/{tool-images-heXfaJdb.js → tool-images-BbsgbHMZ.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-CygMSQUK.js → tool-loop-detection-JkCpGrfk.js} +2 -2
- package/dist/plugin-sdk/{utils-BcL6KGZf.js → utils-BfVxx6bk.js} +1 -1
- package/dist/plugin-sdk/web-B35hdNQ-.js +72 -0
- package/dist/plugin-sdk/{whatsapp-actions-CRean1yN.js → whatsapp-actions-tVcrGNQc.js} +25 -25
- package/dist/{plugins-CKWxMohB.js → plugins-Ce8ThYGQ.js} +2 -2
- package/dist/{plugins-cli-DrlRj_8V.js → plugins-cli-DxFh5OQi.js} +85 -85
- package/dist/{plugins-cli-Bg6sFJYH.js → plugins-cli-bHHZzKd-.js} +2 -2
- package/dist/{ports-DppAHKM-.js → ports-DXMCFRgn.js} +2 -2
- package/dist/{ports-BL-FP2jP.js → ports-wtEwdqsX.js} +1 -1
- package/dist/{program-BQ8WwHMi.js → program-DnjsZxiJ.js} +7 -7
- package/dist/{program-context-BWsBkMJn.js → program-context-36wFBslW.js} +43 -43
- package/dist/{prompt-select-styled-DbUQHcBh.js → prompt-select-styled-BkpL6eKQ.js} +4 -4
- package/dist/{prompt-select-styled-CLCyaJAG.js → prompt-select-styled-CJt-zhnt.js} +39 -39
- package/dist/{provider-auth-helpers-CKpEFImN.js → provider-auth-helpers-BFsLtU8g.js} +1 -1
- package/dist/{provider-auth-helpers-CdTLpxG1.js → provider-auth-helpers-DeJ105rb.js} +5 -5
- package/dist/{proxy-env-ClbXa7vn.js → proxy-env-DhFUQlwP.js} +1 -1
- package/dist/{push-apns-CVnc3jrx.js → push-apns-BSlKJa83.js} +1 -1
- package/dist/{push-apns-B_GGZO2Z.js → push-apns-SIM2es-Y.js} +5 -5
- package/dist/{pw-ai-D21rIJ2z.js → pw-ai-BOQE6s45.js} +15 -15
- package/dist/{pw-ai-pkfCxzhV.js → pw-ai-DGwA7iCM.js} +1 -1
- package/dist/{qmd-manager-BD6lfN35.js → qmd-manager-DVKj0i6T.js} +20 -20
- package/dist/{qr-cli-BQGJJ5hp.js → qr-cli-Z4_Y6bva.js} +1 -1
- package/dist/{query-expansion-Dl85zpSb.js → query-expansion-B9kneDbd.js} +12 -12
- package/dist/{redact-snapshot-DCGL0k2M.js → redact-snapshot-BI4Ryuhy.js} +1 -1
- package/dist/{register.agent-BxMqGoLQ.js → register.agent-C-OmdJMe.js} +7 -7
- package/dist/{register.agent-BwCayvbD.js → register.agent-Cd2LVcga.js} +100 -100
- package/dist/{register.configure-PCuADy_e.js → register.configure-CaSRlI6h.js} +7 -7
- package/dist/register.configure-DGIWBQvN.js +174 -0
- package/dist/{register.init-DWQDniBg.js → register.init-DpFUY5Ed.js} +15 -15
- package/dist/{register.maintenance-jHaU-XSR.js → register.maintenance-DAU-mVIz.js} +97 -97
- package/dist/{register.maintenance-CW5_urTq.js → register.maintenance-R4RCi4f3.js} +8 -8
- package/dist/{register.message-ByUxZi3s.js → register.message-5hKmcWaB.js} +2 -2
- package/dist/{register.message-DPlqIVvv.js → register.message-B0CI0Q4o.js} +76 -76
- package/dist/{register.onboard-BC4wpDdz.js → register.onboard-BGhXUfbX.js} +18 -18
- package/dist/{register.onboard-B-8WoYZr.js → register.onboard-Di7iClKl.js} +2 -2
- package/dist/{register.setup-CZ9a3M_O.js → register.setup-Dm_dHAB-.js} +2 -2
- package/dist/{register.setup-BQQX0yB6.js → register.setup-nlXy06aa.js} +21 -21
- package/dist/{register.start-BHASi8Um.js → register.start-Dzss99ZY.js} +17 -17
- package/dist/{register.status-health-sessions-BRJgE7jh.js → register.status-health-sessions-B4eNiGWS.js} +89 -89
- package/dist/{register.status-health-sessions-BKLWh2aq.js → register.status-health-sessions-lOM_lb6H.js} +3 -3
- package/dist/{register.subclis-DKG1KoTd.js → register.subclis-1MobNhis.js} +9 -9
- package/dist/{replies-B6SXcEs0.js → replies-k5K96_46.js} +1 -1
- package/dist/{reply-ezOUjaUp.js → reply-DQMWsIE2.js} +185 -156
- package/dist/{reply-prefix-BttpF8VB.js → reply-prefix-aBvAQX6L.js} +1 -1
- package/dist/{resolve-route-Ck23oGqS.js → resolve-route-R565qQgt.js} +2 -2
- package/dist/{rpc-9jE_1PW0.js → rpc-CMyUzpcT.js} +1 -1
- package/dist/{run-main-CGAXqlRX.js → run-main-CFGtfsPd.js} +14 -14
- package/dist/{runtime-Rd7ooKB0.js → runtime-D64ACWoX.js} +2 -2
- package/dist/{sandbox-BKa5RrBl.js → sandbox-DH9YtUfB.js} +18 -18
- package/dist/{sandbox-cli-BnpEc205.js → sandbox-cli-B1ThXy7C.js} +26 -26
- package/dist/{secrets-cli-CIxUNZyC.js → secrets-cli-BEjJ3GP-.js} +10 -10
- package/dist/{security-cli-BqOOeGxS.js → security-cli-Zma5k5BZ.js} +43 -43
- package/dist/{send-DuNBSJln.js → send-BQVNhO4Q.js} +5 -5
- package/dist/{send-SZBhACLn.js → send-CFUSH9C-.js} +8 -8
- package/dist/{send-Cua2kS5v.js → send-CabiU1-J.js} +6 -6
- package/dist/{send-ByUfPpKj.js → send-DmVTXBWW.js} +11 -11
- package/dist/{send-BntubUtK.js → send-NexNe2Wh.js} +6 -6
- package/dist/{server-Ct0J5VXf.js → server-DQ7D-B-v.js} +19 -19
- package/dist/{server-context-DWxmyV-0.js → server-context-Cr-Y4i6P.js} +12 -12
- package/dist/{server-lifecycle-B7aXKxY3.js → server-lifecycle-BVnXIEfI.js} +2 -2
- package/dist/{server-middleware-CO1brrgv.js → server-middleware-zyvA9rl9.js} +1 -1
- package/dist/{server-node-events-BHkXD38g.js → server-node-events-oa4mOmsp.js} +76 -76
- package/dist/{server-node-events-D_9Quh-1.js → server-node-events-yFZiE04b.js} +2 -2
- package/dist/{service-DqxfCr8y.js → service-BcFhE63y.js} +15 -15
- package/dist/{session-FOGqE7bj.js → session-Dl3x3d75.js} +1 -1
- package/dist/{session-meta-C-ox3bdI.js → session-meta-C6MooccR.js} +1 -1
- package/dist/{sessions-BpuJ64B0.js → sessions-sIaYsUyX.js} +15 -15
- package/dist/{shared-CgFPGTLU.js → shared-DNcLp2mA.js} +3 -3
- package/dist/{shared-BmSv3K8N.js → shared-sFrejcA4.js} +1 -1
- package/dist/{skill-commands-COl0HE54.js → skill-commands-C2_BOuyl.js} +5 -5
- package/dist/{skill-scanner-CsmM5F4F.js → skill-scanner-DYkQAh0l.js} +6 -6
- package/dist/{skills-BeFcXCoN.js → skills-BXLKd7i5.js} +3 -3
- package/dist/{skills-cli-D3ZteX5N.js → skills-cli-DrN4v5_m.js} +5 -5
- package/dist/{skills-install-B_Vda3dM.js → skills-install-CSfh8nRm.js} +6 -6
- package/dist/{skills-status-BEq0_fOn.js → skills-status-C7Q6Ezbv.js} +1 -1
- package/dist/{status-CwKeOASs.js → status-mS4bWnIW.js} +2 -2
- package/dist/{status-DjnNnvyr.js → status-rMgdZcE5.js} +25 -25
- package/dist/{status.update-HwSPC5ZX.js → status.update-D4GfnNDI.js} +2 -2
- package/dist/{store-B-nkOSsv.js → store-CRcBie8T.js} +5 -5
- package/dist/{subagent-registry-CfKMgII6.js → subagent-registry-CXBreqUP.js} +31 -2
- package/dist/{system-cli-IYwpBiC6.js → system-cli-Bscj57lL.js} +9 -9
- package/dist/{system-run-command-C3OIMtEu.js → system-run-command-Cn5yQ2rv.js} +1 -1
- package/dist/{systemd-DJ5Red-Q.js → systemd-BIfjzi-4.js} +9 -9
- package/dist/{systemd-hints-D40Qx3hg.js → systemd-hints-CgtHwBfD.js} +6 -6
- package/dist/{systemd-linger-BK6kig-o.js → systemd-linger-0Vho6LMt.js} +1 -1
- package/dist/{tables-C9_oCtRN.js → tables-C5n2nXbu.js} +1 -1
- package/dist/{tailnet-BYBKD8Kh.js → tailnet-C8NwaQEp.js} +1 -1
- package/dist/{plugin-sdk/target-errors-QZay02Cv.js → target-errors-cerGxvCB.js} +4 -4
- package/dist/{tool-images-QWbHWc0F.js → tool-images-CgSADinH.js} +1 -1
- package/dist/{tui-Dd6DhgjX.js → tui-DNT0WnU-.js} +6 -6
- package/dist/{tui-cli-C3PCazFC.js → tui-cli-DTFq2wGK.js} +33 -33
- package/dist/{update-B1Dhhu_3.js → update-Mb6BH0o9.js} +3 -3
- package/dist/{update-cli-BCH7o0oB.js → update-cli--qEz2_Eg.js} +109 -105
- package/dist/{update-cli-Dcvb1LZT.js → update-cli-Dbb1EPi2.js} +12 -8
- package/dist/{update-runner-l9K_q6Kz.js → update-runner-C9noXbfV.js} +10 -3
- package/dist/{update-runner-rrlmopJw.js → update-runner-Dj_CAfd4.js} +25 -18
- package/dist/{web-CsfqGSAa.js → web-BKrNiKsU.js} +2 -2
- package/dist/web-BQRkxG9u.js +126 -0
- package/dist/{web-BJ_nNwKp.js → web-CDHXvGxm.js} +6 -6
- package/dist/{web-C9QAX9EH.js → web-DJKitOpu.js} +1 -1
- package/dist/{webhooks-cli-BFdw7BAP.js → webhooks-cli-uXE9EOwT.js} +6 -6
- package/dist/{whatsapp-actions-CNoiLzRB.js → whatsapp-actions-DeX4x9sq.js} +19 -19
- package/dist/{with-timeout-tSH4Tex_.js → with-timeout-C-EETHnf.js} +3 -3
- package/dist/{workspace-dKMB109Q.js → workspace-1nc7aTpg.js} +1 -1
- package/dist/{workspace-CRdln__H.js → workspace-TersEUYu.js} +23 -23
- package/dist/{workspace-dirs-DcAUEsSG.js → workspace-dirs-DxTFH1r3.js} +1 -1
- package/dist/{ws-DKbBt0us.js → ws-E9v842O2.js} +2 -2
- package/dist/{wsl-yjQQ-PJd.js → wsl-Dg6XQcw5.js} +2 -2
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +21 -0
- package/extensions/googlechat/node_modules/.bin/nlc +21 -0
- package/extensions/googlechat/node_modules/.bin/node-llama-cpp +21 -0
- package/extensions/googlechat/node_modules/.bin/openclaw +2 -2
- package/extensions/googlechat/node_modules/.bin/tsc +21 -0
- package/extensions/googlechat/node_modules/.bin/tsserver +21 -0
- package/extensions/memory-core/node_modules/.bin/nlc +21 -0
- package/extensions/memory-core/node_modules/.bin/node-llama-cpp +21 -0
- package/extensions/memory-core/node_modules/.bin/openclaw +2 -2
- package/extensions/memory-core/node_modules/.bin/tsc +21 -0
- package/extensions/memory-core/node_modules/.bin/tsserver +21 -0
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +21 -0
- package/extensions/nostr/node_modules/.bin/tsc +21 -0
- package/extensions/nostr/node_modules/.bin/tsserver +21 -0
- package/package.json +2 -5
- package/dist/control-ui/assets/index-B5WC_0Be.css +0 -1
- package/dist/plugin-sdk/web-DbkpdVSZ.js +0 -72
- package/dist/register.configure-Bv4KP_MD.js +0 -174
- package/dist/web-CtrUXk94.js +0 -126
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import "./paths-BYr-iJJ9.js";
|
|
2
2
|
import { p as theme, t as danger } from "./globals-uLeGcRW1.js";
|
|
3
3
|
import "./utils-CP51tiAi.js";
|
|
4
|
-
import "./agent-scope-
|
|
4
|
+
import "./agent-scope-DHMu2mab.js";
|
|
5
5
|
import { d as defaultRuntime } from "./subsystem-BT74-yyS.js";
|
|
6
|
-
import "./workspace-
|
|
6
|
+
import "./workspace-TersEUYu.js";
|
|
7
7
|
import "./logger-D04dg4Ex.js";
|
|
8
8
|
import "./exec-BdDcFm8M.js";
|
|
9
|
-
import { Wt as loadConfig } from "./model-selection-
|
|
9
|
+
import { Wt as loadConfig } from "./model-selection-DCo8MhsE.js";
|
|
10
10
|
import "./github-copilot-token-CVsUoC9m.js";
|
|
11
11
|
import "./boolean-BgXe2hyu.js";
|
|
12
12
|
import "./env-4r1Vlroz.js";
|
|
13
13
|
import "./host-env-security-BiAcoumI.js";
|
|
14
14
|
import "./env-vars-DM119fhK.js";
|
|
15
15
|
import "./registry-CUyWRciN.js";
|
|
16
|
-
import "./manifest-registry-
|
|
16
|
+
import "./manifest-registry-HNrtHxxI.js";
|
|
17
17
|
import "./message-channel-CKAn7Lf7.js";
|
|
18
|
-
import { t as getChannelPlugin } from "./plugins-
|
|
19
|
-
import "./accounts-
|
|
18
|
+
import { t as getChannelPlugin } from "./plugins-Ce8ThYGQ.js";
|
|
19
|
+
import "./accounts-CCbfXe4Y.js";
|
|
20
20
|
import "./logging-Dn5qdhsZ.js";
|
|
21
|
-
import "./bindings-
|
|
22
|
-
import { n as resolveMessageChannelSelection } from "./channel-selection-
|
|
21
|
+
import "./bindings-C0k4wFy7.js";
|
|
22
|
+
import { n as resolveMessageChannelSelection } from "./channel-selection-BDdjozhi.js";
|
|
23
23
|
import { t as formatDocsLink } from "./links-CM7pO4C5.js";
|
|
24
24
|
import { t as formatHelpExamples } from "./help-format-DUJs-8Xi.js";
|
|
25
25
|
import { t as resolveChannelDefaultAccountId } from "./helpers-D0Q6sarx.js";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import "./paths-BYr-iJJ9.js";
|
|
2
2
|
import { p as theme } from "./globals-uLeGcRW1.js";
|
|
3
3
|
import "./utils-CP51tiAi.js";
|
|
4
|
-
import "./agent-scope-
|
|
4
|
+
import "./agent-scope-DHMu2mab.js";
|
|
5
5
|
import { d as defaultRuntime } from "./subsystem-BT74-yyS.js";
|
|
6
|
-
import "./workspace-
|
|
6
|
+
import "./workspace-TersEUYu.js";
|
|
7
7
|
import "./logger-D04dg4Ex.js";
|
|
8
8
|
import "./exec-BdDcFm8M.js";
|
|
9
|
-
import { Wt as loadConfig } from "./model-selection-
|
|
9
|
+
import { Wt as loadConfig } from "./model-selection-DCo8MhsE.js";
|
|
10
10
|
import "./github-copilot-token-CVsUoC9m.js";
|
|
11
11
|
import "./boolean-BgXe2hyu.js";
|
|
12
12
|
import "./env-4r1Vlroz.js";
|
|
13
13
|
import "./host-env-security-BiAcoumI.js";
|
|
14
14
|
import "./env-vars-DM119fhK.js";
|
|
15
15
|
import "./registry-CUyWRciN.js";
|
|
16
|
-
import "./manifest-registry-
|
|
17
|
-
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-
|
|
16
|
+
import "./manifest-registry-HNrtHxxI.js";
|
|
17
|
+
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-C8NwaQEp.js";
|
|
18
18
|
import { t as formatDocsLink } from "./links-CM7pO4C5.js";
|
|
19
19
|
import { t as renderTable } from "./table-DZBPnHSy.js";
|
|
20
20
|
import { n as resolveWideAreaDiscoveryDomain, t as getWideAreaZonePath } from "./widearea-dns-D1fyqK-r.js";
|
|
@@ -2,10 +2,10 @@ import { l as escapeRegExp, m as normalizeE164 } from "./utils-CP51tiAi.js";
|
|
|
2
2
|
import { g as normalizeAccountId } from "./session-key-C9z4VQtw.js";
|
|
3
3
|
import { a as getChatChannelMeta, n as CHAT_CHANNEL_ORDER, p as requireActivePluginRegistry } from "./registry-CUyWRciN.js";
|
|
4
4
|
import { t as resolveAccountEntry } from "./account-lookup-wjQQchlq.js";
|
|
5
|
-
import { C as resolveDiscordAccount, l as resolveTelegramAccount, m as resolveSlackReplyToMode, p as resolveSlackAccount, v as normalizeWhatsAppTarget } from "./plugins-
|
|
6
|
-
import { i as resolveWhatsAppAccount } from "./accounts-
|
|
7
|
-
import { r as resolveIMessageAccount } from "./accounts-
|
|
8
|
-
import { i as resolveSignalAccount } from "./accounts-
|
|
5
|
+
import { C as resolveDiscordAccount, l as resolveTelegramAccount, m as resolveSlackReplyToMode, p as resolveSlackAccount, v as normalizeWhatsAppTarget } from "./plugins-Ce8ThYGQ.js";
|
|
6
|
+
import { i as resolveWhatsAppAccount } from "./accounts-CCbfXe4Y.js";
|
|
7
|
+
import { r as resolveIMessageAccount } from "./accounts-C3iwoWUS.js";
|
|
8
|
+
import { i as resolveSignalAccount } from "./accounts-ChjgDDok.js";
|
|
9
9
|
|
|
10
10
|
//#region src/config/types.tools.ts
|
|
11
11
|
const TOOLS_BY_SENDER_KEY_TYPES = [
|
|
@@ -2,17 +2,17 @@ import "./paths-BYr-iJJ9.js";
|
|
|
2
2
|
import { f as isRich, p as theme } from "./globals-uLeGcRW1.js";
|
|
3
3
|
import "./utils-CP51tiAi.js";
|
|
4
4
|
import { d as defaultRuntime } from "./subsystem-BT74-yyS.js";
|
|
5
|
-
import "./workspace-
|
|
5
|
+
import "./workspace-TersEUYu.js";
|
|
6
6
|
import "./logger-D04dg4Ex.js";
|
|
7
7
|
import { t as runCommandWithTimeout } from "./exec-BdDcFm8M.js";
|
|
8
8
|
import { t as formatCliCommand } from "./command-format-DBmYTAza.js";
|
|
9
9
|
import "./boolean-BgXe2hyu.js";
|
|
10
10
|
import "./host-env-security-BiAcoumI.js";
|
|
11
11
|
import "./registry-CUyWRciN.js";
|
|
12
|
-
import "./manifest-registry-
|
|
12
|
+
import "./manifest-registry-HNrtHxxI.js";
|
|
13
13
|
import { d as hasBinary } from "./frontmatter-f69paAeU.js";
|
|
14
|
-
import "./skills-
|
|
15
|
-
import "./path-alias-guards-
|
|
14
|
+
import "./skills-BXLKd7i5.js";
|
|
15
|
+
import "./path-alias-guards-BNzjbOwM.js";
|
|
16
16
|
import "./redact-Bf_pxORb.js";
|
|
17
17
|
import "./errors-D5pCqwf4.js";
|
|
18
18
|
import { t as formatDocsLink } from "./links-CM7pO4C5.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { S as resolveCliName } from "./paths-BYr-iJJ9.js";
|
|
2
|
-
import { y as resolveOpenClawPackageRoot } from "./workspace-
|
|
2
|
+
import { y as resolveOpenClawPackageRoot } from "./workspace-TersEUYu.js";
|
|
3
3
|
import { t as note } from "./note-CLcV1fjx.js";
|
|
4
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
4
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Dm9dt8iw.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { spawnSync } from "node:child_process";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { S as resolveCliName } from "./paths-BnKiOk2S.js";
|
|
2
2
|
import { y as resolveOpenClawPackageRoot } from "./workspace-BHfqkuYN.js";
|
|
3
3
|
import { t as note } from "./note-BuhsMSuP.js";
|
|
4
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
4
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-BFxGdqak.js";
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, s as resolveConfigPathCandidate, t as CONFIG_PATH } from "./paths-BYr-iJJ9.js";
|
|
2
2
|
import { _ as resolveHomeDir, d as isRecord } from "./utils-CP51tiAi.js";
|
|
3
|
-
import { d as resolveDefaultAgentId } from "./agent-scope-
|
|
3
|
+
import { d as resolveDefaultAgentId } from "./agent-scope-DHMu2mab.js";
|
|
4
4
|
import { c as normalizeAgentId, g as normalizeAccountId, h as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey } from "./session-key-C9z4VQtw.js";
|
|
5
|
-
import { $n as getTrustedSafeBinDirs, Br as resolveSlackStreamingMode, Fr as formatSlackStreamModeMigrationMessage, Ir as formatSlackStreamingBooleanMigrationMessage, Kt as readConfigFileSnapshot, Qt as OpenClawSchema, Rr as resolveDiscordPreviewStreamMode, Vr as resolveTelegramPreviewStreamMode, Vt as migrateLegacyConfig, er as isTrustedSafeBinPath, nr as normalizeTrustedSafeBinDirs, pr as resolveCommandResolutionFromArgv, zr as resolveSlackNativeStreaming } from "./model-selection-
|
|
5
|
+
import { $n as getTrustedSafeBinDirs, Br as resolveSlackStreamingMode, Fr as formatSlackStreamModeMigrationMessage, Ir as formatSlackStreamingBooleanMigrationMessage, Kt as readConfigFileSnapshot, Qt as OpenClawSchema, Rr as resolveDiscordPreviewStreamMode, Vr as resolveTelegramPreviewStreamMode, Vt as migrateLegacyConfig, er as isTrustedSafeBinPath, nr as normalizeTrustedSafeBinDirs, pr as resolveCommandResolutionFromArgv, zr as resolveSlackNativeStreaming } from "./model-selection-DCo8MhsE.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-DBmYTAza.js";
|
|
7
7
|
import { l as normalizeChatChannelId } from "./registry-CUyWRciN.js";
|
|
8
|
-
import { f as parseToolsBySenderTypedKey } from "./dock-
|
|
9
|
-
import { X as canonicalizeMainSessionAlias, l as saveSessionStore } from "./sessions-
|
|
10
|
-
import { l as resolveTelegramAccount, s as listTelegramAccountIds } from "./plugins-
|
|
11
|
-
import { i as readChannelAllowFromStore } from "./pairing-store-
|
|
12
|
-
import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-
|
|
13
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
8
|
+
import { f as parseToolsBySenderTypedKey } from "./dock-swzevZbj.js";
|
|
9
|
+
import { X as canonicalizeMainSessionAlias, l as saveSessionStore } from "./sessions-sIaYsUyX.js";
|
|
10
|
+
import { l as resolveTelegramAccount, s as listTelegramAccountIds } from "./plugins-Ce8ThYGQ.js";
|
|
11
|
+
import { i as readChannelAllowFromStore } from "./pairing-store-DY0yrkuM.js";
|
|
12
|
+
import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-B9kCrTY1.js";
|
|
13
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-4zXn-eVS.js";
|
|
14
14
|
import { t as collectProviderDangerousNameMatchingScopes } from "./dangerous-name-matching-Bu_xMy4h.js";
|
|
15
15
|
import { r as shouldMoveSingleAccountChannelKey, t as fetchTelegramChatId } from "./api-CRdLvaOQ.js";
|
|
16
16
|
import { t as note } from "./note-CLcV1fjx.js";
|
|
17
|
-
import { t as isWithinDir } from "./path-safety-
|
|
18
|
-
import { n as formatConfigIssueLines } from "./issue-format-
|
|
17
|
+
import { t as isWithinDir } from "./path-safety-dmCI2tpN.js";
|
|
18
|
+
import { n as formatConfigIssueLines } from "./issue-format-B4oxePhU.js";
|
|
19
19
|
import { a as isMattermostMutableAllowEntry, c as normalizeTelegramAllowFromEntry, i as isMSTeamsMutableAllowEntry, n as isGoogleChatMutableAllowEntry, o as isSlackMutableAllowEntry, r as isIrcMutableAllowEntry, s as isNumericTelegramUserId, t as isDiscordMutableAllowEntry } from "./mutable-allowlist-detectors-D5GqtHJ_.js";
|
|
20
20
|
import fs from "node:fs";
|
|
21
21
|
import os from "node:os";
|
|
22
22
|
import path from "node:path";
|
|
23
23
|
import JSON5 from "json5";
|
|
24
|
-
import
|
|
24
|
+
import fsPromises from "node:fs/promises";
|
|
25
25
|
|
|
26
26
|
//#region src/commands/doctor-legacy-config.ts
|
|
27
27
|
function normalizeCompatibilityConfigValues(cfg) {
|
|
@@ -2109,7 +2109,7 @@ async function maybeMigrateLegacyConfig() {
|
|
|
2109
2109
|
const targetPath = resolveConfigPathCandidate(process.env, () => home);
|
|
2110
2110
|
const targetDir = path.dirname(targetPath);
|
|
2111
2111
|
try {
|
|
2112
|
-
await
|
|
2112
|
+
await fsPromises.access(targetPath);
|
|
2113
2113
|
return changes;
|
|
2114
2114
|
} catch {}
|
|
2115
2115
|
const legacyCandidates = [
|
|
@@ -2119,14 +2119,14 @@ async function maybeMigrateLegacyConfig() {
|
|
|
2119
2119
|
];
|
|
2120
2120
|
let legacyPath = null;
|
|
2121
2121
|
for (const candidate of legacyCandidates) try {
|
|
2122
|
-
await
|
|
2122
|
+
await fsPromises.access(candidate);
|
|
2123
2123
|
legacyPath = candidate;
|
|
2124
2124
|
break;
|
|
2125
2125
|
} catch {}
|
|
2126
2126
|
if (!legacyPath) return changes;
|
|
2127
|
-
await
|
|
2127
|
+
await fsPromises.mkdir(targetDir, { recursive: true });
|
|
2128
2128
|
try {
|
|
2129
|
-
await
|
|
2129
|
+
await fsPromises.copyFile(legacyPath, targetPath, fsPromises.constants.COPYFILE_EXCL);
|
|
2130
2130
|
changes.push(`Migrated legacy config: ${legacyPath} -> ${targetPath}`);
|
|
2131
2131
|
} catch {}
|
|
2132
2132
|
return changes;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { l as normalizeChatChannelId } from "./registry-CUyWRciN.js";
|
|
2
|
-
import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-
|
|
2
|
+
import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-4zXn-eVS.js";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/toggle-config.ts
|
|
5
5
|
function setPluginEnabledInConfig(config, pluginId, enabled) {
|
package/dist/entry.js
CHANGED
|
@@ -384,7 +384,7 @@ if (!isMainModule({
|
|
|
384
384
|
}
|
|
385
385
|
function tryHandleRootHelpFastPath(argv) {
|
|
386
386
|
if (!isRootHelpInvocation(argv)) return false;
|
|
387
|
-
import("./program-
|
|
387
|
+
import("./program-DnjsZxiJ.js").then(({ buildProgram }) => {
|
|
388
388
|
buildProgram().outputHelp();
|
|
389
389
|
}).catch((error) => {
|
|
390
390
|
console.error("[openclaw] Failed to display help:", error instanceof Error ? error.stack ?? error.message : error);
|
|
@@ -403,7 +403,7 @@ if (!isMainModule({
|
|
|
403
403
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
404
404
|
process$1.argv = parsed.argv;
|
|
405
405
|
}
|
|
406
|
-
if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-
|
|
406
|
+
if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-CFGtfsPd.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
407
407
|
console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
408
408
|
process$1.exitCode = 1;
|
|
409
409
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cr as unwrapKnownShellMultiplexerInvocation, Or as SAFE_BIN_PROFILES, Sr as unwrapKnownDispatchWrapperInvocation, ar as analyzeShellCommand, dr as matchAllowlist, er as isTrustedSafeBinPath, fr as resolveAllowlistCandidatePath, gr as extractShellWrapperInlineCommand, lr as splitCommandChain, pr as resolveCommandResolutionFromArgv, rr as validateSafeBinArgv, sr as isWindowsPlatform, ur as DEFAULT_SAFE_BINS, vr as isDispatchWrapperExecutable, yr as isShellWrapperExecutable } from "./model-selection-
|
|
1
|
+
import { Cr as unwrapKnownShellMultiplexerInvocation, Or as SAFE_BIN_PROFILES, Sr as unwrapKnownDispatchWrapperInvocation, ar as analyzeShellCommand, dr as matchAllowlist, er as isTrustedSafeBinPath, fr as resolveAllowlistCandidatePath, gr as extractShellWrapperInlineCommand, lr as splitCommandChain, pr as resolveCommandResolutionFromArgv, rr as validateSafeBinArgv, sr as isWindowsPlatform, ur as DEFAULT_SAFE_BINS, vr as isDispatchWrapperExecutable, yr as isShellWrapperExecutable } from "./model-selection-DCo8MhsE.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-approvals-allowlist.ts
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import "./paths-BYr-iJJ9.js";
|
|
2
2
|
import { f as isRich, p as theme } from "./globals-uLeGcRW1.js";
|
|
3
3
|
import "./utils-CP51tiAi.js";
|
|
4
|
-
import "./agent-scope-
|
|
4
|
+
import "./agent-scope-DHMu2mab.js";
|
|
5
5
|
import { d as defaultRuntime } from "./subsystem-BT74-yyS.js";
|
|
6
|
-
import "./workspace-
|
|
6
|
+
import "./workspace-TersEUYu.js";
|
|
7
7
|
import "./logger-D04dg4Ex.js";
|
|
8
8
|
import "./exec-BdDcFm8M.js";
|
|
9
|
-
import "./model-selection-
|
|
9
|
+
import "./model-selection-DCo8MhsE.js";
|
|
10
10
|
import "./github-copilot-token-CVsUoC9m.js";
|
|
11
11
|
import "./boolean-BgXe2hyu.js";
|
|
12
12
|
import "./env-4r1Vlroz.js";
|
|
13
13
|
import "./host-env-security-BiAcoumI.js";
|
|
14
14
|
import "./env-vars-DM119fhK.js";
|
|
15
15
|
import "./registry-CUyWRciN.js";
|
|
16
|
-
import "./manifest-registry-
|
|
16
|
+
import "./manifest-registry-HNrtHxxI.js";
|
|
17
17
|
import "./message-channel-CKAn7Lf7.js";
|
|
18
|
-
import "./tailnet-
|
|
19
|
-
import "./ws-
|
|
20
|
-
import "./client-
|
|
21
|
-
import "./call-
|
|
18
|
+
import "./tailnet-C8NwaQEp.js";
|
|
19
|
+
import "./ws-E9v842O2.js";
|
|
20
|
+
import "./client-BoUhzGrS.js";
|
|
21
|
+
import "./call-B9Vrcbed.js";
|
|
22
22
|
import "./pairing-token-QppPqMJU.js";
|
|
23
23
|
import { n as formatTimeAgo } from "./format-relative-BjGzUS9-.js";
|
|
24
24
|
import { c as readExecApprovalsSnapshot, p as saveExecApprovals } from "./exec-approvals-C23wqMXV.js";
|
|
25
|
-
import "./exec-approvals-allowlist-
|
|
25
|
+
import "./exec-approvals-allowlist-fG-NsL-O.js";
|
|
26
26
|
import { t as formatDocsLink } from "./links-CM7pO4C5.js";
|
|
27
27
|
import "./progress-86COuAnG.js";
|
|
28
|
-
import { n as callGatewayFromCli } from "./gateway-rpc-
|
|
29
|
-
import "./systemd-
|
|
30
|
-
import "./service-
|
|
28
|
+
import { n as callGatewayFromCli } from "./gateway-rpc-BHBGSN7Z.js";
|
|
29
|
+
import "./systemd-BIfjzi-4.js";
|
|
30
|
+
import "./service-BcFhE63y.js";
|
|
31
31
|
import { t as renderTable } from "./table-DZBPnHSy.js";
|
|
32
|
-
import { t as describeUnknownError } from "./shared-
|
|
33
|
-
import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-
|
|
32
|
+
import { t as describeUnknownError } from "./shared-sFrejcA4.js";
|
|
33
|
+
import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-CMyUzpcT.js";
|
|
34
34
|
import JSON5 from "json5";
|
|
35
|
-
import
|
|
35
|
+
import fsPromises from "node:fs/promises";
|
|
36
36
|
|
|
37
37
|
//#region src/cli/exec-approvals-cli.ts
|
|
38
38
|
async function readStdin() {
|
|
@@ -329,7 +329,7 @@ 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
335
|
file = JSON5.parse(raw);
|
package/dist/{exec-safe-bin-runtime-policy-D7olAQMf.js → exec-safe-bin-runtime-policy-B9kCrTY1.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $n as getTrustedSafeBinDirs, Ar as resolveSafeBinProfiles, kr as normalizeSafeBinProfileFixtures, nr as normalizeTrustedSafeBinDirs, tr as listWritableExplicitTrustedSafeBinDirs } from "./model-selection-
|
|
2
|
-
import { i as resolveSafeBins } from "./exec-approvals-allowlist-
|
|
1
|
+
import { $n as getTrustedSafeBinDirs, Ar as resolveSafeBinProfiles, kr as normalizeSafeBinProfileFixtures, nr as normalizeTrustedSafeBinDirs, tr as listWritableExplicitTrustedSafeBinDirs } from "./model-selection-DCo8MhsE.js";
|
|
2
|
+
import { i as resolveSafeBins } from "./exec-approvals-allowlist-fG-NsL-O.js";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-safe-bin-runtime-policy.ts
|
|
5
5
|
const INTERPRETER_LIKE_SAFE_BINS = new Set([
|
package/dist/extensionAPI.js
CHANGED
|
@@ -10,7 +10,7 @@ import "./env-zky96nK6.js";
|
|
|
10
10
|
import "./registry-BOq-EU8K.js";
|
|
11
11
|
import "./dock-L5TLZmhV.js";
|
|
12
12
|
import "./tokens-2c_yMaYC.js";
|
|
13
|
-
import { P as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-
|
|
13
|
+
import { P as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-Claxav22.js";
|
|
14
14
|
import "./plugins-BuQyooWr.js";
|
|
15
15
|
import "./accounts-DYfFud2l.js";
|
|
16
16
|
import "./bindings-Cn3Pwuys.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as logWarn } from "./logger-D04dg4Ex.js";
|
|
2
|
-
import { i as createPinnedDispatcher, n as SsrFBlockedError, r as closeDispatcher, s as resolvePinnedHostnameWithPolicy, t as hasProxyEnvConfigured } from "./proxy-env-
|
|
2
|
+
import { i as createPinnedDispatcher, n as SsrFBlockedError, r as closeDispatcher, s as resolvePinnedHostnameWithPolicy, t as hasProxyEnvConfigured } from "./proxy-env-DhFUQlwP.js";
|
|
3
3
|
import { t as bindAbortRelay } from "./fetch-timeout-DkT3EnRA.js";
|
|
4
4
|
import { EnvHttpProxyAgent } from "undici";
|
|
5
5
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { _ as expandHomePrefix } from "./paths-BYr-iJJ9.js";
|
|
2
|
-
import { A as isNotFoundPathError, M as isSymlinkOpenError, T as sameFileIdentity, j as isPathInside, k as hasNodeErrorCode } from "./workspace-
|
|
2
|
+
import { A as isNotFoundPathError, M as isSymlinkOpenError, T as sameFileIdentity, j as isPathInside, k as hasNodeErrorCode } from "./workspace-TersEUYu.js";
|
|
3
3
|
import { i as logWarn } from "./logger-D04dg4Ex.js";
|
|
4
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
4
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-BNzjbOwM.js";
|
|
5
5
|
import { constants } from "node:fs";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
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(() => {});
|