@yuf1011/openclaw 2026.3.1 → 2026.3.2
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-DmPvlCpt.js → accounts-1yld8BY0.js} +1 -1
- package/dist/{accounts-UyfWuXKC.js → accounts-Bgjrmxdu.js} +1 -1
- package/dist/{accounts-9Q07LhiR.js → accounts-Bj4Z7jBB.js} +7 -7
- package/dist/{acp-cli-nchqxQfx.js → acp-cli-CmC_BH_F.js} +9 -9
- package/dist/{agent-scope-CaXaKovT.js → agent-scope-B33Scyaw.js} +17 -17
- package/dist/{agents-Bp-on4Ol.js → agents-C1kcu676.js} +14 -14
- package/dist/{agents.config-FcpuK_oH.js → agents.config-bWKr_efI.js} +2 -2
- package/dist/{audio-preflight-HamJvwTU.js → audio-preflight-DrlqJTSX.js} +36 -36
- package/dist/{audio-preflight-O-Z_sN2r.js → audio-preflight-DwqzIQik.js} +4 -4
- package/dist/{audit-BNH972H2.js → audit-BJB-Xpuo.js} +23 -23
- package/dist/{auth-DHBdjHjv.js → auth-D3lXwd01.js} +1 -1
- package/dist/{auth-choice-C9nuVlg2.js → auth-choice-CLaOH6QA.js} +11 -11
- package/dist/{auth-choice-DcdZx6iq.js → auth-choice-DvgigM9u.js} +12 -12
- package/dist/{auth-choice.apply-helpers-CLLeqgyP.js → auth-choice.apply-helpers-DAtOrGrN.js} +1 -1
- package/dist/{auth-profiles-qnck2ozy.js → auth-profiles-D3FyYUSG.js} +16 -16
- package/dist/{auth-token-D7uxXxRA.js → auth-token-5Yewb0K8.js} +1 -1
- package/dist/{banner-KQwBaYzV.js → banner-BBj7LBMv.js} +1 -1
- package/dist/{bindings-vuIL-APZ.js → bindings-CWyuSfs6.js} +1 -1
- package/dist/{bonjour-discovery-BTitpiD_.js → bonjour-discovery-BZKMSZbv.js} +1 -1
- package/dist/{browser-cli-mVm8SiTf.js → browser-cli-Dae28dnV.js} +13 -13
- 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-C-oZgsJl.js → call-BZSWeS2x.js} +10 -10
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-account-context-BJEFFNm5.js → channel-account-context-CvN7490K.js} +5 -5
- package/dist/{channel-options-C16VfUrO.js → channel-options-C-f-M1qF.js} +3 -3
- package/dist/{channel-selection-D7I4uyOc.js → channel-selection-DYEAZFR_.js} +1 -1
- package/dist/{channel-web-B1GNR2Dq.js → channel-web-DZsn-oXm.js} +18 -18
- package/dist/{channels-cli-CoYoUIpQ.js → channels-cli-D4rNipxg.js} +94 -94
- package/dist/{channels-status-issues-BDFtJFM3.js → channels-status-issues-BU67pzdy.js} +1 -1
- package/dist/{chrome-BO_XI6hR.js → chrome-CmcvtOeC.js} +4 -4
- package/dist/{chrome-C9dZ_OUB.js → chrome-rCogzAbu.js} +9 -9
- package/dist/{clawbot-cli-DvFI6yxU.js → clawbot-cli-z2dtXuJD.js} +5 -5
- package/dist/cli-CRcQGL-0.js +156 -0
- package/dist/{client-BBiFerkj.js → client-CdetOJti.js} +2 -2
- package/dist/{command-registry-CA18iTa1.js → command-registry-DpWSR6vE.js} +11 -11
- package/dist/{commands-CPLAkZQx.js → commands-DvATdC6x.js} +1 -1
- package/dist/{commands-registry-C9Mi0U--.js → commands-registry-CxF5UuEv.js} +3 -3
- package/dist/{completion-cli-f2rJo_UJ.js → completion-cli-8XhBe_hV.js} +13 -13
- package/dist/{config-cli-D3Kk9KK5.js → config-cli-KR_BJlS_.js} +6 -6
- package/dist/{config-guard-DOLjY0Fe.js → config-guard-CCUlwUmY.js} +2 -2
- package/dist/{config-validation-krJ4BOp0.js → config-validation-DM5GZr_k.js} +2 -2
- package/dist/{configure-BJLfFfRf.js → configure-Cijg4qS_.js} +17 -17
- package/dist/{control-ui-assets-DwsjxukL.js → control-ui-assets-D3JoK4hu.js} +1 -1
- package/dist/{cron-cli-C35CLkzi.js → cron-cli-D9M9O2W6.js} +13 -13
- package/dist/{daemon-cli-YUZ4wWO5.js → daemon-cli-CV7F4tGh.js} +14 -14
- package/dist/{daemon-install-CvpZhhVu.js → daemon-install-DoY06atb.js} +4 -4
- package/dist/{daemon-install-helpers-2MdByqYP.js → daemon-install-helpers-BbDloeys.js} +9 -9
- package/dist/{deliver-B7mNw8Vu.js → deliver-CZEKwM5v.js} +7 -7
- package/dist/{deliver-D1fs1S3v.js → deliver-vfoVGjjK.js} +1 -1
- package/dist/{devices-cli-D62t6AOQ.js → devices-cli-DO3kZZY9.js} +9 -9
- package/dist/{diagnostic-CJIq8gp_.js → diagnostic-Bc4KUKvc.js} +1 -1
- package/dist/{diagnostics-B_N_47d8.js → diagnostics-Cwm6yj6S.js} +5 -5
- package/dist/{directory-cli-gpg8jejU.js → directory-cli-CxHr8BB9.js} +8 -8
- package/dist/{dns-cli-AJOUY2RK.js → dns-cli-D4tVpUzw.js} +5 -5
- package/dist/{dock-BYLdmpt5.js → dock-SjEhga7i.js} +4 -4
- package/dist/{docs-cli-B8nNTRqk.js → docs-cli-Dfg5DloZ.js} +4 -4
- package/dist/{doctor-completion-C8_UEBvL.js → doctor-completion-Cx1hTz2p.js} +2 -2
- package/dist/{doctor-config-flow-BoMU70Ko.js → doctor-config-flow-AkAVT_nE.js} +14 -14
- package/dist/{enable-BIW6JnCC.js → enable-D8_8_z2E.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{exec-approvals-allowlist-CklJrJwI.js → exec-approvals-allowlist-CjjR0Lj9.js} +1 -1
- package/dist/{exec-approvals-cli-tXCzQbvW.js → exec-approvals-cli-DzUDeKvk.js} +17 -17
- package/dist/{exec-safe-bin-runtime-policy-BCQlhcV7.js → exec-safe-bin-runtime-policy-BQ4FXdVM.js} +2 -2
- package/dist/{fetch-guard-qBXlHXD_.js → fetch-guard-Cm1MSHHV.js} +1 -1
- package/dist/{fs-safe-Dr8G7a6P.js → fs-safe-CCDIEBbt.js} +16 -16
- package/dist/{gateway-cli-Bl2PLo3y.js → gateway-cli-CZD2FTCR.js} +154 -154
- package/dist/{gateway-rpc-BTAI1-VC.js → gateway-rpc-D_B_ulqD.js} +1 -1
- package/dist/{gemini-auth-DLd8nbvG.js → gemini-auth-i82BVqPg.js} +1 -1
- package/dist/{health-C2cEnW7K.js → health-BayXWmty.js} +13 -13
- package/dist/{hooks-cli-D8BwaEoO.js → hooks-cli-BPDlubbK.js} +90 -90
- package/dist/{hooks-status-Bk97nvaD.js → hooks-status-0v40xw4Q.js} +1 -1
- package/dist/{image-CEFy-HTg.js → image-dzsBaMmN.js} +1 -1
- package/dist/{plugin-sdk/image-ops-CVCbKZRn.js → image-ops-Z3_QkQPj.js} +2 -2
- package/dist/{image-QYMqJ_Cu.js → image-w5Vu5G__.js} +5 -5
- package/dist/{inspect-CmMfTMbw.js → inspect-Br6JEUTm.js} +4 -4
- package/dist/{install-safe-path-DXJW8Vo3.js → install-safe-path-DGYbxO86.js} +19 -19
- package/dist/{installs-Dn2iXOnd.js → installs-Bg1jGMwd.js} +10 -10
- package/dist/{ipv4-CrhBNcyo.js → ipv4-BBc3Sa_a.js} +1 -1
- package/dist/{ir-DYUcUO1t.js → ir-Dhd5EWHO.js} +6 -6
- package/dist/{lifecycle-core-CkOjXGl1.js → lifecycle-core-DrcOD7_e.js} +5 -5
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{local-roots-iKHeLTM9.js → local-roots-Cyat99dT.js} +3 -3
- package/dist/{login-BdEIPD3M.js → login-CbEdSE8o.js} +3 -3
- package/dist/{login-qr-BCrD2_fy.js → login-qr-DK2E0Fk5.js} +6 -6
- package/dist/{logs-cli-BUI8frD6.js → logs-cli-DX5sTx_Z.js} +10 -10
- package/dist/{manager-SsdELHU2.js → manager-DdwvQQ2A.js} +14 -14
- package/dist/{manifest-registry-YC37UceR.js → manifest-registry-DRMtnPEQ.js} +1 -1
- package/dist/{markdown-tables-BvxYO6Nz.js → markdown-tables-DhrZVWff.js} +1 -1
- package/dist/{memory-cli-DPD3Jnkc.js → memory-cli-CdB1ptzd.js} +12 -12
- package/dist/{model-2aL8NZKc.js → model-AKh96s7h.js} +2 -2
- package/dist/{model-catalog-BL39Jul_.js → model-catalog-el1FVV5q.js} +3 -3
- package/dist/{model-picker-wenGgGVr.js → model-picker-BzzwN4eR.js} +4 -4
- package/dist/{models-BGvQqrQE.js → models-CyBxXuv1.js} +17 -17
- package/dist/{models-cli-fQ4IbjQs.js → models-cli-q5yywUVm.js} +80 -80
- package/dist/{models-config-1JCLlVs8.js → models-config-CGGxd1w2.js} +6 -6
- package/dist/{net-CWUwrVfz.js → net-C63UEjlQ.js} +2 -2
- package/dist/{node-cli-DHw9Zenb.js → node-cli-DeauKipI.js} +36 -36
- package/dist/{node-service-sJ_Rmbk7.js → node-service-CVNXtZeJ.js} +1 -1
- package/dist/{nodes-cli-BgDJY7us.js → nodes-cli-QVwX4ULT.js} +15 -15
- package/dist/{nodes-screen-BV63eC7o.js → nodes-screen-CHgcakcH.js} +5 -5
- package/dist/{npm-pack-install-C2E_zBU6.js → npm-pack-install-ChrCCIJD.js} +16 -16
- package/dist/{npm-resolution-B6xDbagk.js → npm-resolution-CvPKK0T0.js} +3 -3
- package/dist/{onboard-BBEWORGd.js → onboard-G39xAbGJ.js} +6 -6
- package/dist/{onboard-channels-DwWwZbhS.js → onboard-channels-BfGGowDI.js} +20 -20
- package/dist/{onboard-custom-CFuF05H2.js → onboard-custom-D_J_UV_B.js} +4 -4
- package/dist/{onboard-helpers-BnUKgDFe.js → onboard-helpers-CzMlu78H.js} +10 -10
- package/dist/{onboard-hooks-Te3_nPpe.js → onboard-hooks-gniWP7px.js} +4 -4
- package/dist/{onboard-remote-BgO_SWWa.js → onboard-remote-BpvvuHBw.js} +3 -3
- package/dist/{onboard-skills-CbTLB4cs.js → onboard-skills-CTY-DPhb.js} +4 -4
- package/dist/{onboarding-1PceVUnc.js → onboarding-BVt6sz-b.js} +13 -13
- package/dist/{onboarding.finalize-B4cr4Txq.js → onboarding.finalize-UFHE8pEj.js} +89 -89
- package/dist/{onboarding.gateway-config-BwYXTzcK.js → onboarding.gateway-config-1awD8XGu.js} +18 -18
- package/dist/{openai-model-default-CUxaHKMh.js → openai-model-default-Dy_e_lUy.js} +2 -2
- package/dist/{openclaw-root-DW-p-saf.js → openclaw-root-Cw_9FXUV.js} +8 -8
- package/dist/{plugin-sdk/outbound-attachment-BXtgutRQ.js → outbound-attachment-DmkmJ2Lc.js} +2 -2
- package/dist/{outbound-DXu6wxmi.js → outbound-m3MjDRvf.js} +4 -4
- package/dist/{pairing-cli-tFQQnCAT.js → pairing-cli-GoI4I4if.js} +9 -9
- package/dist/{pairing-labels-rAuS5aeV.js → pairing-labels-ZYWr_HV3.js} +1 -1
- package/dist/{pairing-store-_x0NQEfq.js → pairing-store-C49WkfCi.js} +2 -2
- package/dist/{pairing-token-PHk3tBUz.js → pairing-token-CtND5y_8.js} +7 -7
- package/dist/{path-alias-guards-z2hGNiIs.js → path-alias-guards-DEakBSGU.js} +3 -3
- package/dist/{path-safety-DBBDWKy1.js → path-safety-DeVxBPre.js} +1 -1
- package/dist/{paths-rIq72jC_.js → paths-BVyklYXR.js} +9 -9
- package/dist/{pi-embedded-fLS3EStS.js → pi-embedded-BCr5zWiT.js} +21 -21
- package/dist/{pi-embedded-helpers-BUce0Iqb.js → pi-embedded-helpers-BYXUXgYn.js} +6 -6
- package/dist/{pi-embedded-helpers-C_cbk2KW.js → pi-embedded-helpers-Dv3HZWfJ.js} +4 -4
- package/dist/{pi-model-discovery-BvGj4Ik8.js → pi-model-discovery-iNwnGd3m.js} +1 -1
- package/dist/{pi-tools.policy-oE4ZdHFF.js → pi-tools.policy-B5HqMPIq.js} +5 -5
- package/dist/{plugin-auto-enable-B2Kx-xH3.js → plugin-auto-enable-gT66Wggm.js} +3 -3
- package/dist/{plugin-registry-Cct_UdcP.js → plugin-registry-w2gqdvm-.js} +3 -3
- package/dist/plugin-sdk/{accounts-DFBfxw6M.js → accounts-DCDKnmrW.js} +1 -1
- package/dist/plugin-sdk/{accounts-WdYXo32T.js → accounts-DcjX_Olt.js} +1 -1
- package/dist/plugin-sdk/{accounts-CK8zoDbM.js → accounts-wG7sdxrI.js} +2 -2
- package/dist/plugin-sdk/{active-listener-PQ_Tmkac.js → active-listener-CZu4-ue_.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-Mc1svPAJ.js → agent-scope-wi2hKUar.js} +1 -1
- package/dist/plugin-sdk/{api-key-rotation-0R4c0BKy.js → api-key-rotation-C50AZ4HQ.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-DeKzW6t7.js → audio-preflight-CWobJe2m.js} +29 -29
- package/dist/plugin-sdk/{bindings-Doyw0dbC.js → bindings-B2InXUgN.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-WTkBRQhD.js → channel-activity-DhlOJslm.js} +3 -3
- package/dist/plugin-sdk/{channel-web-O8qsWnj-.js → channel-web-b5Y6qjaX.js} +21 -21
- package/dist/plugin-sdk/{chrome-DBhifTKw.js → chrome-BE2vPym_.js} +6 -6
- package/dist/plugin-sdk/{chunk-1puCfOZX.js → chunk-BKXLkSr_.js} +1 -1
- package/dist/plugin-sdk/{command-format-Bf4OYMmN.js → command-format-D4smYdZ1.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-Bv5URQN-.js → commands-registry-CRAjZbMZ.js} +4 -4
- package/dist/plugin-sdk/{config-CCVvq2-2.js → config-CuVxnKd5.js} +8 -8
- package/dist/plugin-sdk/{deliver-Du8jMk_2.js → deliver-C-QqkAxt.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-8HfhvtLS.js → diagnostic-DF5kk6Ha.js} +2 -2
- package/dist/plugin-sdk/{dock-1qTnXc22.js → dock-B6o_YOXU.js} +5 -5
- package/dist/plugin-sdk/{errors-D6sYxFmI.js → errors--NHuiZti.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-CfkACfHH.js → fetch-guard-IzK0s4EP.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-DOZJUWUV.js → fs-safe-DCNfFQXN.js} +2 -2
- package/dist/plugin-sdk/{image-p3JhFE-q.js → image-Ckh39rIc.js} +6 -6
- package/dist/{image-ops-toDXWGMw.js → plugin-sdk/image-ops-c8-5iEn1.js} +12 -12
- package/dist/plugin-sdk/index.js +58 -58
- package/dist/plugin-sdk/{ir-EtEIlzCl.js → ir-KJ8B3heg.js} +5 -5
- package/dist/plugin-sdk/{local-roots-DcjujrLt.js → local-roots-oFw9xB3W.js} +4 -4
- package/dist/plugin-sdk/{login-CaiyG7fL.js → login-BpSGWRAn.js} +6 -6
- package/dist/plugin-sdk/{login-qr-qR_0F2uz.js → login-qr-BcEHe2l6.js} +6 -6
- package/dist/plugin-sdk/{manager-DHHJPm4z.js → manager-Mk7Al8tR.js} +9 -9
- package/dist/plugin-sdk/{markdown-tables-DfInfLzW.js → markdown-tables-CgoIgjwH.js} +1 -1
- package/dist/plugin-sdk/{message-channel-CTmZmMGO.js → message-channel-B_avrhM-.js} +1 -1
- package/dist/plugin-sdk/{outbound-Csej8W-L.js → outbound-5ejc0abd.js} +6 -6
- package/dist/{outbound-attachment-Bi7QWVn5.js → plugin-sdk/outbound-attachment-DJZwfefq.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-mPZl8VD3.js → path-alias-guards-dQJhySnm.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-C9JVi9wk.js → pi-embedded-helpers-ChvwOu5y.js} +16 -16
- package/dist/plugin-sdk/{pi-model-discovery-BS3RfvIw.js → pi-model-discovery-DgYhmlNG.js} +1 -1
- package/dist/plugin-sdk/{plugins-kAeBKYoU.js → plugins-43A_vro3.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-DczkhBlG.js → pw-ai-B_Eskool.js} +10 -10
- package/dist/plugin-sdk/{qmd-manager-QzGHpfme.js → qmd-manager-D8hOneSc.js} +4 -4
- package/dist/plugin-sdk/{query-expansion-asHSnsMm.js → query-expansion-Dy2RqhGj.js} +2 -2
- package/dist/plugin-sdk/{redact-Bd2SiHkr.js → redact-C1cyUA71.js} +1 -1
- package/dist/plugin-sdk/{replies-FfnAJgf7.js → replies-CnQaxnV4.js} +3 -3
- package/dist/plugin-sdk/{reply-COGOw5Ek.js → reply-BwE-soc9.js} +86 -86
- package/dist/plugin-sdk/{reply-prefix-CrfFpZVa.js → reply-prefix-DCQtho4T.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-BVT4EVrH.js → resolve-outbound-target-Dq9I2GaW.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-CXAS6e8J.js → resolve-route-CJvtv5t9.js} +3 -3
- package/dist/plugin-sdk/{retry-9m7s9V95.js → retry-C-lOGVgE.js} +1 -1
- package/dist/plugin-sdk/{runner-C6ylai6Z.js → runner-DsccFtkb.js} +9 -9
- package/dist/plugin-sdk/{send-CxsVHVAX.js → send-2gyvX72Q.js} +12 -12
- package/dist/plugin-sdk/{send-D_ho4big.js → send-BMhePV_4.js} +10 -10
- package/dist/plugin-sdk/{send-alW6jFu1.js → send-BeYIngcm.js} +6 -6
- package/dist/plugin-sdk/{send-BnfdAJbL.js → send-BlEAcyDg.js} +8 -8
- package/dist/plugin-sdk/{send-CSOzYSNF.js → send-DeNtjymi.js} +7 -7
- package/dist/plugin-sdk/{session-Bqv8qF6e.js → session-D2AiJJYy.js} +4 -4
- package/dist/plugin-sdk/{sessions-BuxRaCyw.js → sessions-zmPjX-cD.js} +5 -5
- package/dist/plugin-sdk/{skill-commands-BpaJj_N6.js → skill-commands-BTNdJ6Cr.js} +4 -4
- package/dist/plugin-sdk/{skills-BFujt10E.js → skills-BkGa5_yy.js} +7 -7
- package/dist/plugin-sdk/{ssrf-Q9AqFBuw.js → ssrf-B_Q2k5gm.js} +1 -1
- package/dist/plugin-sdk/{store-BKCEQ-Gy.js → store-DlIx0Ljh.js} +2 -2
- package/dist/plugin-sdk/{subsystem-Dv9ZY_DW.js → subsystem-D7KkLxSJ.js} +2 -2
- package/dist/plugin-sdk/{tables-CiLC1-xu.js → tables-BbXRskgD.js} +1 -1
- package/dist/plugin-sdk/{target-errors-D28xCQm8.js → target-errors-BvPFqIjq.js} +2 -2
- package/dist/plugin-sdk/{tokens-V3CP7Ge2.js → tokens-CVvkQM_V.js} +1 -1
- package/dist/plugin-sdk/{tool-images-Cog7Gmdl.js → tool-images-aK1slaVl.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-DG_vuYxb.js → tool-loop-detection-BP9LIuuY.js} +1 -1
- package/dist/plugin-sdk/web-CH6ZZsT2.js +67 -0
- package/dist/plugin-sdk/{whatsapp-actions-WLB-KfIA.js → whatsapp-actions-ChLODgBj.js} +22 -22
- package/dist/{plugins-CiBXm-v1.js → plugins-Cb8JznN4.js} +2 -2
- package/dist/{plugins-cli-BGpk_mxe.js → plugins-cli-BQAyU_if.js} +86 -86
- package/dist/{ports-Z6QFaVRW.js → ports-4J8-_4SF.js} +2 -2
- package/dist/{ports-DMnEiLQa.js → ports-Ds33lE1B.js} +1 -1
- package/dist/{program-Aj-MXGpl.js → program-D5ThaA_K.js} +84 -84
- package/dist/{prompt-select-styled-g85rM8c_.js → prompt-select-styled-B1xopDJb.js} +39 -39
- package/dist/{provider-auth-helpers-JeXDbyPW.js → provider-auth-helpers-C-Vm3aEA.js} +5 -5
- package/dist/{push-apns-BsK6rZMS.js → push-apns-C0YjpY9N.js} +5 -5
- package/dist/{pw-ai-CoN0pihK.js → pw-ai-DloIDud2.js} +16 -16
- package/dist/{pw-ai-BDzqpsq_.js → pw-ai-PpF146vO.js} +1 -1
- package/dist/{qmd-manager-D8eAzrZY.js → qmd-manager-Du0tEQ-8.js} +19 -19
- package/dist/{qr-cli-ovb8Q1J9.js → qr-cli-DJ6LqChA.js} +1 -1
- package/dist/{query-expansion-B3FVYwN6.js → query-expansion-CwyL4z9j.js} +12 -12
- package/dist/{redact-snapshot-zDjp0HRV.js → redact-snapshot-W7mO-kGu.js} +1 -1
- package/dist/{register.agent-Bcd3jYoI.js → register.agent-CdV5WCcn.js} +96 -96
- package/dist/register.configure-265nQbq2.js +162 -0
- package/dist/{register.maintenance-DE9PWWja.js → register.maintenance-_pksRHI5.js} +97 -97
- package/dist/{register.message-CNcokMYT.js → register.message-BIuzvBK0.js} +77 -77
- package/dist/{register.onboard-lN_aaVOZ.js → register.onboard-DEl8fY1G.js} +19 -19
- package/dist/{register.setup-B6EaaMq4.js → register.setup-Ig_gGvdF.js} +22 -22
- package/dist/{register.status-health-sessions-CboXR8WN.js → register.status-health-sessions-DdHiFiQ8.js} +89 -89
- package/dist/{register.subclis-BkGATlmp.js → register.subclis-FZKDXxxL.js} +31 -31
- package/dist/{replies-COLVQezU.js → replies-BAqKfdVk.js} +1 -1
- package/dist/{reply-prefix-BLgL5eLu.js → reply-prefix-Q23IMgrt.js} +1 -1
- package/dist/{resolve-route-B0u78v_W.js → resolve-route-DvJmdJ7B.js} +2 -2
- package/dist/{rpc-BWpHds0n.js → rpc-u34pBflj.js} +1 -1
- package/dist/{run-main-dqrwXIoU.js → run-main-CAQXzgkK.js} +94 -94
- package/dist/{runner-DcvLsEbZ.js → runner-C9RTcw_0.js} +21 -21
- package/dist/{runner-CsGs9PzD.js → runner-Q4wBIACO.js} +1 -1
- package/dist/{runtime-x5BqK1kr.js → runtime-CnfENRVM.js} +2 -2
- package/dist/{sandbox-B-wAH3en.js → sandbox-BCxHjLQS.js} +22 -22
- package/dist/{sandbox-cli-CegfJFAq.js → sandbox-cli-DnMnYrDy.js} +26 -26
- package/dist/{secrets-cli-CAIsSLya.js → secrets-cli-Bj6VgalW.js} +11 -11
- package/dist/{security-cli-DESlyONm.js → security-cli-DctG0oZz.js} +43 -43
- package/dist/{send-sEXu0p87.js → send-CVj6uOGI.js} +7 -7
- package/dist/{send-CgATYx8D.js → send-DE17gd7F.js} +6 -6
- package/dist/{send-DZ9JXWaZ.js → send-oJraTp-6.js} +6 -6
- package/dist/{send-DY7qzDta.js → send-snKm1H4E.js} +13 -13
- package/dist/{send-OJbtfeWf.js → send-zp5AuaHE.js} +5 -5
- package/dist/{server-C9NDdRkP.js → server-CRa1oZfY.js} +19 -19
- package/dist/{server-context-YevsHXaf.js → server-context-RDkXuB9P.js} +13 -13
- package/dist/{server-lifecycle-BVWplIzw.js → server-lifecycle-CQk8mryT.js} +2 -2
- package/dist/{server-middleware-DJQVLZmo.js → server-middleware-DSIQAJZd.js} +1 -1
- package/dist/{server-node-events-DH8c0jEn.js → server-node-events-DqzBAn3Q.js} +77 -77
- package/dist/{service-oBfCq-qK.js → service-B0CzjIz2.js} +15 -15
- package/dist/{session-C8fYTfkG.js → session-Crum9mSn.js} +1 -1
- package/dist/{session-utils-Bt_Cx0zH.js → session-utils-dd1SrJKT.js} +6 -6
- package/dist/{sessions-DWdz1xc4.js → sessions-9J-stFWk.js} +4 -4
- package/dist/{sessions-IKxRT_G9.js → sessions-aGmwHv0g.js} +14 -14
- package/dist/{shared-Q1aRCgme.js → shared-5VPKZal4.js} +1 -1
- package/dist/{shared-BqFzJLjd.js → shared-CnARKvCa.js} +2 -2
- package/dist/{skill-commands-KdMeqg8g.js → skill-commands-B4-CgHlk.js} +5 -5
- package/dist/{skill-scanner-YaxFgz1o.js → skill-scanner-DW9hSz_J.js} +5 -5
- package/dist/{skills-DjfCNN-j.js → skills-BkqPPXlw.js} +3 -3
- package/dist/{skills-cli-6EDVmjHz.js → skills-cli-DPSjkS2r.js} +5 -5
- package/dist/{skills-install-CdZGnrOv.js → skills-install-m034GRjq.js} +5 -5
- package/dist/{skills-status-DZfbtXdy.js → skills-status--02_4mXJ.js} +1 -1
- package/dist/{ssrf-6Hb9TNxM.js → ssrf-DQPhGAdC.js} +1 -1
- package/dist/{status-CN8vEkdO.js → status-DA7gKGeU.js} +25 -25
- package/dist/{status.update-B0a3iQjj.js → status.update-DEPhS3kj.js} +2 -2
- package/dist/{store-DVxkLZrN.js → store-BnsBHp0V.js} +5 -5
- package/dist/{subagent-registry-CY8NG6Io.js → subagent-registry-CrbLe3Kg.js} +153 -153
- package/dist/{system-cli-CWbpLljA.js → system-cli-DwVWo2kb.js} +10 -10
- package/dist/{system-run-command-h3aZvaIL.js → system-run-command-BD_JuCLP.js} +1 -1
- package/dist/{systemd-DpV5A3Tl.js → systemd-B48mxZjg.js} +9 -9
- package/dist/{systemd-hints-OqRJ_OnZ.js → systemd-hints-CupZgKik.js} +6 -6
- package/dist/{systemd-linger-vRX-cxeO.js → systemd-linger-663aGc_T.js} +1 -1
- package/dist/{tables-CsW7naec.js → tables-CuPXwWh2.js} +1 -1
- package/dist/{tailnet-D3oqrI3q.js → tailnet-DRVktntg.js} +1 -1
- package/dist/{target-errors-yilhMKWi.js → target-errors-D4aLwsCU.js} +4 -4
- package/dist/{tool-images-Bo0IcPMG.js → tool-images-0PIXjd8w.js} +1 -1
- package/dist/{tui-2gCoYUUs.js → tui-14zIh3zr.js} +6 -6
- package/dist/{tui-cli-BNY2WcIM.js → tui-cli-BjHx8K12.js} +34 -34
- package/dist/{update-NahlryOD.js → update-VaL_prKP.js} +3 -3
- package/dist/{update-cli-By_RMYHj.js → update-cli-ZVB5K666.js} +106 -106
- package/dist/{update-runner-BoksUWgy.js → update-runner-sefNoN9G.js} +15 -15
- package/dist/web-BsX8l9H1.js +116 -0
- package/dist/{web-3ZvmLaE3.js → web-Ch0JHP2x.js} +6 -6
- package/dist/{webhooks-cli-C3a8VMoI.js → webhooks-cli-BUVjs-bx.js} +6 -6
- package/dist/{whatsapp-actions-D69bEFbN.js → whatsapp-actions-D-q8r2i5.js} +19 -19
- package/dist/{with-timeout-DOYJYBpu.js → with-timeout-ChQUbgyO.js} +3 -3
- package/dist/{workspace-BhsnAjlE.js → workspace-B-5q5HFZ.js} +1 -1
- package/dist/{workspace-dirs-BC9tU92n.js → workspace-dirs-Mb8gX4pT.js} +1 -1
- package/dist/{wsl-Din03sl7.js → wsl-D9-kubbW.js} +2 -2
- package/package.json +1 -1
- package/dist/cli-BfrcQXmk.js +0 -156
- package/dist/plugin-sdk/web-DPBNX3_v.js +0 -67
- package/dist/register.configure-15nzK_2U.js +0 -162
- package/dist/web-BTc3UuX6.js +0 -116
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-CIQTys4Q.js";
|
|
2
|
-
import { n as callGateway } from "./call-
|
|
2
|
+
import { n as callGateway } from "./call-BZSWeS2x.js";
|
|
3
3
|
import { n as withProgress } from "./progress-bvyZjsUc.js";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/gateway-rpc.ts
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { Dt as isRich, Ot as theme, Z as escapeRegExp, _t as info, r as isTruthyEnvValue, s as createSubsystemLogger, v as defaultRuntime } from "./entry.js";
|
|
3
|
-
import { it as parseDurationMs, j as loadConfig } from "./auth-profiles-
|
|
4
|
-
import { d as resolveDefaultAgentId, i as resolveAgentConfig, u as resolveAgentWorkspaceDir, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-
|
|
3
|
+
import { it as parseDurationMs, j as loadConfig } from "./auth-profiles-D3FyYUSG.js";
|
|
4
|
+
import { d as resolveDefaultAgentId, i as resolveAgentConfig, u as resolveAgentWorkspaceDir, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-B33Scyaw.js";
|
|
5
5
|
import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as normalizeAgentId } from "./session-key-qmb11-mH.js";
|
|
6
|
-
import { $ as resolveAgentMainSessionKey, Q as canonicalizeMainSessionAlias, c as loadSessionStore, h as updateSessionStore, p as saveSessionStore } from "./sessions-
|
|
7
|
-
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-
|
|
8
|
-
import { a as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-
|
|
9
|
-
import { Ar as isHeartbeatContentEffectivelyEmpty, Dr as CommandLane, Fn as setHeartbeatWakeHandler, In as resolveHeartbeatReasonKind, Mn as peekSystemEventEntries, Mr as stripHeartbeatToken, Or as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Pn as requestHeartbeatNow, _t as resolveHeartbeatSenderContext, ar as resolveUserTimezone, at as appendCronStyleCurrentTimeLine, gt as resolveHeartbeatDeliveryTarget, jr as resolveHeartbeatPrompt$1, kr as DEFAULT_HEARTBEAT_EVERY, rt as getReplyFromConfig, sn as buildOutboundSessionContext, xr as getQueueSize } from "./subagent-registry-
|
|
6
|
+
import { $ as resolveAgentMainSessionKey, Q as canonicalizeMainSessionAlias, c as loadSessionStore, h as updateSessionStore, p as saveSessionStore } from "./sessions-aGmwHv0g.js";
|
|
7
|
+
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-Cb8JznN4.js";
|
|
8
|
+
import { a as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-CWyuSfs6.js";
|
|
9
|
+
import { Ar as isHeartbeatContentEffectivelyEmpty, Dr as CommandLane, Fn as setHeartbeatWakeHandler, In as resolveHeartbeatReasonKind, Mn as peekSystemEventEntries, Mr as stripHeartbeatToken, Or as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Pn as requestHeartbeatNow, _t as resolveHeartbeatSenderContext, ar as resolveUserTimezone, at as appendCronStyleCurrentTimeLine, gt as resolveHeartbeatDeliveryTarget, jr as resolveHeartbeatPrompt$1, kr as DEFAULT_HEARTBEAT_EVERY, rt as getReplyFromConfig, sn as buildOutboundSessionContext, xr as getQueueSize } from "./subagent-registry-CrbLe3Kg.js";
|
|
10
10
|
import { l as resolveStorePath, r as resolveSessionFilePath } from "./paths-4nKmwJd-.js";
|
|
11
|
-
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-
|
|
11
|
+
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BZSWeS2x.js";
|
|
12
12
|
import { t as HEARTBEAT_TOKEN } from "./tokens-DytUXmpb.js";
|
|
13
|
-
import { t as deliverOutboundPayloads } from "./deliver-
|
|
13
|
+
import { t as deliverOutboundPayloads } from "./deliver-CZEKwM5v.js";
|
|
14
14
|
import { i as hasErrnoCode, n as formatErrorMessage } from "./errors-Cu3BYw29.js";
|
|
15
|
-
import { o as resolveEffectiveMessagesConfig } from "./reply-prefix-
|
|
15
|
+
import { o as resolveEffectiveMessagesConfig } from "./reply-prefix-Q23IMgrt.js";
|
|
16
16
|
import { n as withProgress } from "./progress-bvyZjsUc.js";
|
|
17
17
|
import { a as resolveIndicatorType, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-CyUGZxub.js";
|
|
18
18
|
import { t as resolveChannelDefaultAccountId } from "./helpers-BgzIw8DX.js";
|
|
19
19
|
import path from "node:path";
|
|
20
|
-
import
|
|
20
|
+
import fs from "node:fs/promises";
|
|
21
21
|
|
|
22
22
|
//#region src/infra/heartbeat-active-hours.ts
|
|
23
23
|
const ACTIVE_HOURS_TIME_PATTERN = /^(?:([01]\d|2[0-3]):([0-5]\d)|24:00)$/;
|
|
@@ -311,7 +311,7 @@ async function pruneHeartbeatTranscript(params) {
|
|
|
311
311
|
const { transcriptPath, preHeartbeatSize } = params;
|
|
312
312
|
if (!transcriptPath || typeof preHeartbeatSize !== "number" || preHeartbeatSize < 0) return;
|
|
313
313
|
try {
|
|
314
|
-
if ((await
|
|
314
|
+
if ((await fs.stat(transcriptPath)).size > preHeartbeatSize) await fs.truncate(transcriptPath, preHeartbeatSize);
|
|
315
315
|
} catch {}
|
|
316
316
|
}
|
|
317
317
|
/**
|
|
@@ -329,7 +329,7 @@ async function captureTranscriptState(params) {
|
|
|
329
329
|
});
|
|
330
330
|
return {
|
|
331
331
|
transcriptPath,
|
|
332
|
-
preHeartbeatSize: (await
|
|
332
|
+
preHeartbeatSize: (await fs.stat(transcriptPath)).size
|
|
333
333
|
};
|
|
334
334
|
} catch {
|
|
335
335
|
return {};
|
|
@@ -386,7 +386,7 @@ async function resolveHeartbeatPreflight(params) {
|
|
|
386
386
|
const workspaceDir = resolveAgentWorkspaceDir(params.cfg, params.agentId);
|
|
387
387
|
const heartbeatFilePath = path.join(workspaceDir, DEFAULT_HEARTBEAT_FILENAME);
|
|
388
388
|
try {
|
|
389
|
-
if (isHeartbeatContentEffectivelyEmpty(await
|
|
389
|
+
if (isHeartbeatContentEffectivelyEmpty(await fs.readFile(heartbeatFilePath, "utf-8"))) return {
|
|
390
390
|
...basePreflight,
|
|
391
391
|
skipReason: "empty-heartbeat-file"
|
|
392
392
|
};
|
|
@@ -1,125 +1,125 @@
|
|
|
1
1
|
import { Ot as theme, W as CONFIG_DIR, st as resolveUserPath, ut as shortenHomePath, v as defaultRuntime } from "./entry.js";
|
|
2
|
-
import { L as writeConfigFile, j as loadConfig } from "./auth-profiles-
|
|
2
|
+
import { L as writeConfigFile, j as loadConfig } from "./auth-profiles-D3FyYUSG.js";
|
|
3
3
|
import { t as formatCliCommand } from "./command-format-BYm_a0tW.js";
|
|
4
|
-
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
5
|
-
import "./openclaw-root-
|
|
4
|
+
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-B33Scyaw.js";
|
|
5
|
+
import "./openclaw-root-Cw_9FXUV.js";
|
|
6
6
|
import "./exec-BhaMholX.js";
|
|
7
7
|
import "./github-copilot-token-DKRiM6oj.js";
|
|
8
8
|
import "./host-env-security-BM8ktVlo.js";
|
|
9
9
|
import "./version-CFqP9tDG.js";
|
|
10
10
|
import "./env-vars-kURZgejA.js";
|
|
11
11
|
import { a as isPathInsideWithRealpath, i as isPathInside, n as MANIFEST_KEY } from "./legacy-names-PPcHwaHH.js";
|
|
12
|
-
import "./manifest-registry-
|
|
13
|
-
import "./dock-
|
|
14
|
-
import "./model-
|
|
15
|
-
import "./pi-model-discovery-
|
|
12
|
+
import "./manifest-registry-DRMtnPEQ.js";
|
|
13
|
+
import "./dock-SjEhga7i.js";
|
|
14
|
+
import "./model-AKh96s7h.js";
|
|
15
|
+
import "./pi-model-discovery-iNwnGd3m.js";
|
|
16
16
|
import "./frontmatter-CA3PbX1f.js";
|
|
17
|
-
import { S as validateRegistryNpmSpec } from "./skills-
|
|
18
|
-
import "./path-alias-guards-
|
|
17
|
+
import { S as validateRegistryNpmSpec } from "./skills-BkqPPXlw.js";
|
|
18
|
+
import "./path-alias-guards-DEakBSGU.js";
|
|
19
19
|
import "./message-channel-CIQTys4Q.js";
|
|
20
|
-
import "./sessions-
|
|
21
|
-
import "./plugins-
|
|
22
|
-
import "./accounts-
|
|
23
|
-
import "./accounts-
|
|
24
|
-
import "./accounts-
|
|
25
|
-
import "./bindings-
|
|
20
|
+
import "./sessions-aGmwHv0g.js";
|
|
21
|
+
import "./plugins-Cb8JznN4.js";
|
|
22
|
+
import "./accounts-Bj4Z7jBB.js";
|
|
23
|
+
import "./accounts-Bgjrmxdu.js";
|
|
24
|
+
import "./accounts-1yld8BY0.js";
|
|
25
|
+
import "./bindings-CWyuSfs6.js";
|
|
26
26
|
import "./logging-CFvkxgcX.js";
|
|
27
|
-
import "./send-
|
|
28
|
-
import "./send-
|
|
29
|
-
import "./subagent-registry-
|
|
27
|
+
import "./send-zp5AuaHE.js";
|
|
28
|
+
import "./send-snKm1H4E.js";
|
|
29
|
+
import "./subagent-registry-CrbLe3Kg.js";
|
|
30
30
|
import "./paths-4nKmwJd-.js";
|
|
31
31
|
import "./chat-envelope-BHg8VU61.js";
|
|
32
|
-
import "./client-
|
|
33
|
-
import "./call-
|
|
34
|
-
import "./pairing-token-
|
|
35
|
-
import "./net-
|
|
36
|
-
import "./tailnet-
|
|
32
|
+
import "./client-CdetOJti.js";
|
|
33
|
+
import "./call-BZSWeS2x.js";
|
|
34
|
+
import "./pairing-token-CtND5y_8.js";
|
|
35
|
+
import "./net-C63UEjlQ.js";
|
|
36
|
+
import "./tailnet-DRVktntg.js";
|
|
37
37
|
import "./tokens-DytUXmpb.js";
|
|
38
|
-
import "./with-timeout-
|
|
39
|
-
import "./deliver-
|
|
40
|
-
import "./diagnostic-
|
|
38
|
+
import "./with-timeout-ChQUbgyO.js";
|
|
39
|
+
import "./deliver-CZEKwM5v.js";
|
|
40
|
+
import "./diagnostic-Bc4KUKvc.js";
|
|
41
41
|
import "./diagnostic-session-state-Cw3EMvZy.js";
|
|
42
|
-
import "./send-
|
|
43
|
-
import "./image-ops-
|
|
44
|
-
import "./pi-embedded-helpers-
|
|
45
|
-
import "./sandbox-
|
|
42
|
+
import "./send-CVj6uOGI.js";
|
|
43
|
+
import "./image-ops-Z3_QkQPj.js";
|
|
44
|
+
import "./pi-embedded-helpers-BYXUXgYn.js";
|
|
45
|
+
import "./sandbox-BCxHjLQS.js";
|
|
46
46
|
import "./tool-catalog-DABanDxl.js";
|
|
47
|
-
import "./chrome-
|
|
47
|
+
import "./chrome-CmcvtOeC.js";
|
|
48
48
|
import { l as promptYesNo } from "./tailscale-Cz0j5H8x.js";
|
|
49
|
-
import "./auth-
|
|
50
|
-
import "./server-context-
|
|
51
|
-
import "./paths-
|
|
49
|
+
import "./auth-D3lXwd01.js";
|
|
50
|
+
import "./server-context-RDkXuB9P.js";
|
|
51
|
+
import "./paths-BVyklYXR.js";
|
|
52
52
|
import "./redact-Dcypez3H.js";
|
|
53
53
|
import "./errors-Cu3BYw29.js";
|
|
54
|
-
import "./fs-safe-
|
|
55
|
-
import "./ssrf-
|
|
56
|
-
import "./store-
|
|
57
|
-
import "./ports-
|
|
54
|
+
import "./fs-safe-CCDIEBbt.js";
|
|
55
|
+
import "./ssrf-DQPhGAdC.js";
|
|
56
|
+
import "./store-BnsBHp0V.js";
|
|
57
|
+
import "./ports-4J8-_4SF.js";
|
|
58
58
|
import "./trash-C8oZT55U.js";
|
|
59
|
-
import "./server-middleware-
|
|
60
|
-
import "./tool-images-
|
|
59
|
+
import "./server-middleware-DSIQAJZd.js";
|
|
60
|
+
import "./tool-images-0PIXjd8w.js";
|
|
61
61
|
import "./thinking-DW6CKWyf.js";
|
|
62
|
-
import "./models-config-
|
|
63
|
-
import "./exec-approvals-allowlist-
|
|
64
|
-
import "./exec-safe-bin-runtime-policy-
|
|
65
|
-
import "./reply-prefix-
|
|
66
|
-
import "./memory-cli-
|
|
67
|
-
import "./manager-
|
|
68
|
-
import "./gemini-auth-
|
|
69
|
-
import "./fetch-guard-
|
|
70
|
-
import "./query-expansion-
|
|
62
|
+
import "./models-config-CGGxd1w2.js";
|
|
63
|
+
import "./exec-approvals-allowlist-CjjR0Lj9.js";
|
|
64
|
+
import "./exec-safe-bin-runtime-policy-BQ4FXdVM.js";
|
|
65
|
+
import "./reply-prefix-Q23IMgrt.js";
|
|
66
|
+
import "./memory-cli-CdB1ptzd.js";
|
|
67
|
+
import "./manager-DdwvQQ2A.js";
|
|
68
|
+
import "./gemini-auth-i82BVqPg.js";
|
|
69
|
+
import "./fetch-guard-Cm1MSHHV.js";
|
|
70
|
+
import "./query-expansion-CwyL4z9j.js";
|
|
71
71
|
import "./retry-DRMxSLyf.js";
|
|
72
|
-
import "./target-errors-
|
|
73
|
-
import "./local-roots-
|
|
72
|
+
import "./target-errors-D4aLwsCU.js";
|
|
73
|
+
import "./local-roots-Cyat99dT.js";
|
|
74
74
|
import "./chunk-C1ApS_WL.js";
|
|
75
|
-
import "./markdown-tables-
|
|
76
|
-
import "./ir-
|
|
75
|
+
import "./markdown-tables-DhrZVWff.js";
|
|
76
|
+
import "./ir-Dhd5EWHO.js";
|
|
77
77
|
import "./render-C1H8wE-4.js";
|
|
78
|
-
import "./commands-
|
|
79
|
-
import "./commands-registry-
|
|
80
|
-
import "./image-
|
|
78
|
+
import "./commands-DvATdC6x.js";
|
|
79
|
+
import "./commands-registry-CxF5UuEv.js";
|
|
80
|
+
import "./image-w5Vu5G__.js";
|
|
81
81
|
import "./tool-display-DvjkoW7B.js";
|
|
82
|
-
import "./runner-
|
|
83
|
-
import "./model-catalog-
|
|
82
|
+
import "./runner-C9RTcw_0.js";
|
|
83
|
+
import "./model-catalog-el1FVV5q.js";
|
|
84
84
|
import "./fetch-CgA7FwwB.js";
|
|
85
|
-
import "./pairing-store-
|
|
85
|
+
import "./pairing-store-C49WkfCi.js";
|
|
86
86
|
import "./exec-approvals-DJC4eXS0.js";
|
|
87
|
-
import "./nodes-screen-
|
|
88
|
-
import "./system-run-command-
|
|
89
|
-
import "./session-utils-
|
|
87
|
+
import "./nodes-screen-CHgcakcH.js";
|
|
88
|
+
import "./system-run-command-BD_JuCLP.js";
|
|
89
|
+
import "./session-utils-dd1SrJKT.js";
|
|
90
90
|
import "./session-cost-usage-D-OIYYal.js";
|
|
91
|
-
import "./skill-commands-
|
|
92
|
-
import "./workspace-dirs-
|
|
91
|
+
import "./skill-commands-B4-CgHlk.js";
|
|
92
|
+
import "./workspace-dirs-Mb8gX4pT.js";
|
|
93
93
|
import "./channel-activity-CmnAG-Z9.js";
|
|
94
|
-
import "./tables-
|
|
95
|
-
import "./server-lifecycle-
|
|
94
|
+
import "./tables-CuPXwWh2.js";
|
|
95
|
+
import "./server-lifecycle-CQk8mryT.js";
|
|
96
96
|
import "./stagger-wClkZ9EC.js";
|
|
97
|
-
import "./channel-selection-
|
|
98
|
-
import "./plugin-auto-enable-
|
|
99
|
-
import "./send-
|
|
100
|
-
import "./outbound-attachment-
|
|
97
|
+
import "./channel-selection-DYEAZFR_.js";
|
|
98
|
+
import "./plugin-auto-enable-gT66Wggm.js";
|
|
99
|
+
import "./send-DE17gd7F.js";
|
|
100
|
+
import "./outbound-attachment-DmkmJ2Lc.js";
|
|
101
101
|
import "./delivery-queue-CpA_Z7vE.js";
|
|
102
|
-
import "./send-
|
|
103
|
-
import "./resolve-route-
|
|
104
|
-
import "./pi-tools.policy-
|
|
102
|
+
import "./send-oJraTp-6.js";
|
|
103
|
+
import "./resolve-route-DvJmdJ7B.js";
|
|
104
|
+
import "./pi-tools.policy-B5HqMPIq.js";
|
|
105
105
|
import "./proxy-C-FYeH9g.js";
|
|
106
106
|
import { t as formatDocsLink } from "./links-yQMT2QcX.js";
|
|
107
107
|
import "./cli-utils-CKDCmKAq.js";
|
|
108
108
|
import "./help-format-Du-bXlH0.js";
|
|
109
109
|
import "./progress-bvyZjsUc.js";
|
|
110
|
-
import "./replies-
|
|
111
|
-
import "./onboard-helpers-
|
|
110
|
+
import "./replies-BAqKfdVk.js";
|
|
111
|
+
import "./onboard-helpers-CzMlu78H.js";
|
|
112
112
|
import "./prompt-style-wsroINzm.js";
|
|
113
|
-
import "./pairing-labels-
|
|
114
|
-
import { c as resolveArchiveKind, i as unscopedPackageName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-
|
|
115
|
-
import { a as resolveTimedInstallModeOptions, c as resolveArchiveSourcePath, i as resolveInstallModeOptions, n as installFromNpmSpecArchiveWithInstaller, o as resolveExistingInstallPath, r as installPackageDir, s as withExtractedArchiveRoot, t as finalizeNpmSpecArchiveInstall } from "./npm-pack-install-
|
|
113
|
+
import "./pairing-labels-ZYWr_HV3.js";
|
|
114
|
+
import { c as resolveArchiveKind, i as unscopedPackageName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-DGYbxO86.js";
|
|
115
|
+
import { a as resolveTimedInstallModeOptions, c as resolveArchiveSourcePath, i as resolveInstallModeOptions, n as installFromNpmSpecArchiveWithInstaller, o as resolveExistingInstallPath, r as installPackageDir, s as withExtractedArchiveRoot, t as finalizeNpmSpecArchiveInstall } from "./npm-pack-install-ChrCCIJD.js";
|
|
116
116
|
import { t as renderTable } from "./table-D7QRfQ5S.js";
|
|
117
|
-
import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-
|
|
118
|
-
import { t as buildWorkspaceHookStatus } from "./hooks-status-
|
|
119
|
-
import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport, t as buildNpmInstallRecordFields } from "./npm-resolution-
|
|
117
|
+
import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-B-5q5HFZ.js";
|
|
118
|
+
import { t as buildWorkspaceHookStatus } from "./hooks-status-0v40xw4Q.js";
|
|
119
|
+
import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport, t as buildNpmInstallRecordFields } from "./npm-resolution-CvPKK0T0.js";
|
|
120
120
|
import path from "node:path";
|
|
121
121
|
import fs from "node:fs";
|
|
122
|
-
import
|
|
122
|
+
import fs$1 from "node:fs/promises";
|
|
123
123
|
|
|
124
124
|
//#region src/hooks/install.ts
|
|
125
125
|
const defaultLogger = {};
|
|
@@ -150,7 +150,7 @@ async function ensureOpenClawHooks(manifest) {
|
|
|
150
150
|
}
|
|
151
151
|
async function resolveInstallTargetDir(id, hooksDir) {
|
|
152
152
|
const baseHooksDir = hooksDir ? resolveUserPath(hooksDir) : path.join(CONFIG_DIR, "hooks");
|
|
153
|
-
await
|
|
153
|
+
await fs$1.mkdir(baseHooksDir, { recursive: true });
|
|
154
154
|
const targetDirResult = resolveSafeInstallDir({
|
|
155
155
|
baseDir: baseHooksDir,
|
|
156
156
|
id,
|
|
@@ -168,7 +168,7 @@ async function resolveInstallTargetDir(id, hooksDir) {
|
|
|
168
168
|
async function resolveHookNameFromDir(hookDir) {
|
|
169
169
|
const hookMdPath = path.join(hookDir, "HOOK.md");
|
|
170
170
|
if (!await fileExists(hookMdPath)) throw new Error(`HOOK.md missing in ${hookDir}`);
|
|
171
|
-
return parseFrontmatter(await
|
|
171
|
+
return parseFrontmatter(await fs$1.readFile(hookMdPath, "utf-8")).name || path.basename(hookDir);
|
|
172
172
|
}
|
|
173
173
|
async function validateHookDir(hookDir) {
|
|
174
174
|
if (!await fileExists(path.join(hookDir, "HOOK.md"))) throw new Error(`HOOK.md missing in ${hookDir}`);
|
|
@@ -301,24 +301,24 @@ async function installHookFromDir(params) {
|
|
|
301
301
|
let backupDir = null;
|
|
302
302
|
if (mode === "update" && await fileExists(targetDir)) {
|
|
303
303
|
backupDir = `${targetDir}.backup-${Date.now()}`;
|
|
304
|
-
await
|
|
304
|
+
await fs$1.rename(targetDir, backupDir);
|
|
305
305
|
}
|
|
306
306
|
try {
|
|
307
|
-
await
|
|
307
|
+
await fs$1.cp(params.hookDir, targetDir, { recursive: true });
|
|
308
308
|
} catch (err) {
|
|
309
309
|
if (backupDir) {
|
|
310
|
-
await
|
|
310
|
+
await fs$1.rm(targetDir, {
|
|
311
311
|
recursive: true,
|
|
312
312
|
force: true
|
|
313
313
|
}).catch(() => void 0);
|
|
314
|
-
await
|
|
314
|
+
await fs$1.rename(backupDir, targetDir).catch(() => void 0);
|
|
315
315
|
}
|
|
316
316
|
return {
|
|
317
317
|
ok: false,
|
|
318
318
|
error: `failed to copy hook: ${String(err)}`
|
|
319
319
|
};
|
|
320
320
|
}
|
|
321
|
-
if (backupDir) await
|
|
321
|
+
if (backupDir) await fs$1.rm(backupDir, {
|
|
322
322
|
recursive: true,
|
|
323
323
|
force: true
|
|
324
324
|
}).catch(() => void 0);
|
|
@@ -548,7 +548,7 @@ function logIntegrityDriftWarning(hookId, drift) {
|
|
|
548
548
|
}
|
|
549
549
|
async function readInstalledPackageVersion(dir) {
|
|
550
550
|
try {
|
|
551
|
-
const raw = await
|
|
551
|
+
const raw = await fs$1.readFile(path.join(dir, "package.json"), "utf-8");
|
|
552
552
|
const parsed = JSON.parse(raw);
|
|
553
553
|
return typeof parsed.version === "string" ? parsed.version : void 0;
|
|
554
554
|
} catch {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { W as CONFIG_DIR } from "./entry.js";
|
|
2
2
|
import { t as evaluateEntryRequirementsForCurrentPlatform } from "./entry-status-pq_GhKtO.js";
|
|
3
3
|
import { d as hasBinary } from "./frontmatter-CA3PbX1f.js";
|
|
4
|
-
import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-
|
|
4
|
+
import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B-5q5HFZ.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
|
|
7
7
|
//#region src/hooks/hooks-status.ts
|
|
@@ -3,7 +3,7 @@ import { h as resolveAgentModelPrimaryValue, m as resolveAgentModelFallbackValue
|
|
|
3
3
|
import { M as isRecord, V as shortenHomeInString } from "./subsystem-A5aAh1zO.js";
|
|
4
4
|
import { C as getApiKeyForModel, Dn as normalizeSecretInput, R as loadConfig, Sn as resolveOpenClawAgentDir, T as requireApiKey, _ as normalizeProviders, b as resolveImplicitProviders, v as resolveImplicitBedrockProvider, y as resolveImplicitCopilotProvider } from "./model-selection-DQGp0FRf.js";
|
|
5
5
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-C77P6PHW.js";
|
|
6
|
-
import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-
|
|
6
|
+
import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-Dv3HZWfJ.js";
|
|
7
7
|
import { n as redactToolDetail } from "./redact-CCJhkLdQ.js";
|
|
8
8
|
import fs from "node:fs/promises";
|
|
9
9
|
import path from "node:path";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import path from "node:path";
|
|
1
|
+
import { n as runExec } from "./exec-BhaMholX.js";
|
|
3
2
|
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import { fileTypeFromBuffer } from "file-type";
|
|
6
6
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { $ as isRecord } from "./entry.js";
|
|
3
|
-
import { Ur as requireApiKey, Vr as getApiKeyForModel, si as normalizeSecretInput } from "./auth-profiles-
|
|
4
|
-
import { M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue } from "./agent-scope-
|
|
5
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
6
|
-
import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-
|
|
7
|
-
import { t as ensureOpenClawModelsJson } from "./models-config-
|
|
3
|
+
import { Ur as requireApiKey, Vr as getApiKeyForModel, si as normalizeSecretInput } from "./auth-profiles-D3FyYUSG.js";
|
|
4
|
+
import { M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue } from "./agent-scope-B33Scyaw.js";
|
|
5
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-iNwnGd3m.js";
|
|
6
|
+
import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-BYXUXgYn.js";
|
|
7
|
+
import { t as ensureOpenClawModelsJson } from "./models-config-CGGxd1w2.js";
|
|
8
8
|
import { r as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DvjkoW7B.js";
|
|
9
9
|
import { complete } from "@mariozechner/pi-ai";
|
|
10
10
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, n as GATEWAY_SERVICE_KIND, p as resolveGatewayWindowsTaskName, r as GATEWAY_SERVICE_MARKER } from "./constants-B6D1y3V2.js";
|
|
2
|
-
import { n as execSchtasks } from "./service-
|
|
2
|
+
import { n as execSchtasks } from "./service-B0CzjIz2.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fs from "node:fs/promises";
|
|
5
5
|
|
|
6
6
|
//#region src/daemon/inspect.ts
|
|
7
7
|
const EXTRA_MARKERS = [
|
|
@@ -76,14 +76,14 @@ function isLegacyLabel(label) {
|
|
|
76
76
|
}
|
|
77
77
|
async function readDirEntries(dir) {
|
|
78
78
|
try {
|
|
79
|
-
return await
|
|
79
|
+
return await fs.readdir(dir);
|
|
80
80
|
} catch {
|
|
81
81
|
return [];
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
async function readUtf8File(filePath) {
|
|
85
85
|
try {
|
|
86
|
-
return await
|
|
86
|
+
return await fs.readFile(filePath, "utf8");
|
|
87
87
|
} catch {
|
|
88
88
|
return null;
|
|
89
89
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as isNotFoundPathError, f as isPathInside, p as isSymlinkOpenError } from "./openclaw-root-
|
|
2
|
-
import { n as resolveSafeBaseDir } from "./path-safety-
|
|
1
|
+
import { d as isNotFoundPathError, f as isPathInside, p as isSymlinkOpenError } from "./openclaw-root-Cw_9FXUV.js";
|
|
2
|
+
import { n as resolveSafeBaseDir } from "./path-safety-DeVxBPre.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { constants } from "node:fs";
|
|
5
|
-
import
|
|
5
|
+
import fs$1 from "node:fs/promises";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
import { pipeline } from "node:stream/promises";
|
|
8
8
|
import { Readable, Transform } from "node:stream";
|
|
@@ -79,9 +79,9 @@ function resolveArchiveKind(filePath) {
|
|
|
79
79
|
async function resolvePackedRootDir(extractDir) {
|
|
80
80
|
const direct = path.join(extractDir, "package");
|
|
81
81
|
try {
|
|
82
|
-
if ((await
|
|
82
|
+
if ((await fs$1.stat(direct)).isDirectory()) return direct;
|
|
83
83
|
} catch {}
|
|
84
|
-
const dirs = (await
|
|
84
|
+
const dirs = (await fs$1.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
|
|
85
85
|
if (dirs.length !== 1) throw new Error(`unexpected archive layout (dirs: ${dirs.join(", ")})`);
|
|
86
86
|
const onlyDir = dirs[0];
|
|
87
87
|
if (!onlyDir) throw new Error("unexpected archive layout (no package dir found)");
|
|
@@ -151,10 +151,10 @@ function symlinkTraversalError(originalPath) {
|
|
|
151
151
|
return new ArchiveSecurityError("destination-symlink-traversal", `${ERROR_ARCHIVE_ENTRY_TRAVERSES_SYMLINK}: ${originalPath}`);
|
|
152
152
|
}
|
|
153
153
|
async function assertDestinationDirReady(destDir) {
|
|
154
|
-
const stat = await
|
|
154
|
+
const stat = await fs$1.lstat(destDir);
|
|
155
155
|
if (stat.isSymbolicLink()) throw new ArchiveSecurityError("destination-symlink", "archive destination is a symlink");
|
|
156
156
|
if (!stat.isDirectory()) throw new ArchiveSecurityError("destination-not-directory", "archive destination is not a directory");
|
|
157
|
-
return await
|
|
157
|
+
return await fs$1.realpath(destDir);
|
|
158
158
|
}
|
|
159
159
|
async function assertNoSymlinkTraversal(params) {
|
|
160
160
|
const parts = params.relPath.split("/").filter(Boolean);
|
|
@@ -163,7 +163,7 @@ async function assertNoSymlinkTraversal(params) {
|
|
|
163
163
|
current = path.join(current, part);
|
|
164
164
|
let stat;
|
|
165
165
|
try {
|
|
166
|
-
stat = await
|
|
166
|
+
stat = await fs$1.lstat(current);
|
|
167
167
|
} catch (err) {
|
|
168
168
|
if (isNotFoundPathError(err)) continue;
|
|
169
169
|
throw err;
|
|
@@ -174,7 +174,7 @@ async function assertNoSymlinkTraversal(params) {
|
|
|
174
174
|
async function assertResolvedInsideDestination(params) {
|
|
175
175
|
let resolved;
|
|
176
176
|
try {
|
|
177
|
-
resolved = await
|
|
177
|
+
resolved = await fs$1.realpath(params.targetPath);
|
|
178
178
|
} catch (err) {
|
|
179
179
|
if (isNotFoundPathError(err)) return;
|
|
180
180
|
throw err;
|
|
@@ -183,7 +183,7 @@ async function assertResolvedInsideDestination(params) {
|
|
|
183
183
|
}
|
|
184
184
|
async function openZipOutputFile(outPath, originalPath) {
|
|
185
185
|
try {
|
|
186
|
-
return await
|
|
186
|
+
return await fs$1.open(outPath, OPEN_WRITE_FLAGS, 438);
|
|
187
187
|
} catch (err) {
|
|
188
188
|
if (isSymlinkOpenError(err)) throw symlinkTraversalError(originalPath);
|
|
189
189
|
throw err;
|
|
@@ -192,12 +192,12 @@ async function openZipOutputFile(outPath, originalPath) {
|
|
|
192
192
|
async function cleanupPartialRegularFile(filePath) {
|
|
193
193
|
let stat;
|
|
194
194
|
try {
|
|
195
|
-
stat = await
|
|
195
|
+
stat = await fs$1.lstat(filePath);
|
|
196
196
|
} catch (err) {
|
|
197
197
|
if (isNotFoundPathError(err)) return;
|
|
198
198
|
throw err;
|
|
199
199
|
}
|
|
200
|
-
if (stat.isFile()) await
|
|
200
|
+
if (stat.isFile()) await fs$1.unlink(filePath).catch(() => void 0);
|
|
201
201
|
}
|
|
202
202
|
async function readZipEntryStream(entry) {
|
|
203
203
|
if (typeof entry.nodeStream === "function") return entry.nodeStream();
|
|
@@ -225,7 +225,7 @@ async function prepareZipOutputPath(params) {
|
|
|
225
225
|
originalPath: params.originalPath
|
|
226
226
|
});
|
|
227
227
|
if (params.isDirectory) {
|
|
228
|
-
await
|
|
228
|
+
await fs$1.mkdir(params.outPath, { recursive: true });
|
|
229
229
|
await assertResolvedInsideDestination({
|
|
230
230
|
destinationRealDir: params.destinationRealDir,
|
|
231
231
|
targetPath: params.outPath,
|
|
@@ -234,7 +234,7 @@ async function prepareZipOutputPath(params) {
|
|
|
234
234
|
return;
|
|
235
235
|
}
|
|
236
236
|
const parentDir = path.dirname(params.outPath);
|
|
237
|
-
await
|
|
237
|
+
await fs$1.mkdir(parentDir, { recursive: true });
|
|
238
238
|
await assertResolvedInsideDestination({
|
|
239
239
|
destinationRealDir: params.destinationRealDir,
|
|
240
240
|
targetPath: parentDir,
|
|
@@ -254,14 +254,14 @@ async function writeZipFileEntry(params) {
|
|
|
254
254
|
}
|
|
255
255
|
if (typeof params.entry.unixPermissions === "number") {
|
|
256
256
|
const mode = params.entry.unixPermissions & 511;
|
|
257
|
-
if (mode !== 0) await
|
|
257
|
+
if (mode !== 0) await fs$1.chmod(params.outPath, mode).catch(() => void 0);
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
async function extractZip(params) {
|
|
261
261
|
const limits = resolveExtractLimits(params.limits);
|
|
262
262
|
const destinationRealDir = await assertDestinationDirReady(params.destDir);
|
|
263
|
-
if ((await
|
|
264
|
-
const buffer = await
|
|
263
|
+
if ((await fs$1.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
|
|
264
|
+
const buffer = await fs$1.readFile(params.archivePath);
|
|
265
265
|
const zip = await JSZip.loadAsync(buffer);
|
|
266
266
|
const entries = Object.values(zip.files);
|
|
267
267
|
const strip = Math.max(0, Math.floor(params.stripComponents ?? 0));
|
|
@@ -346,14 +346,14 @@ async function extractArchive(params) {
|
|
|
346
346
|
}
|
|
347
347
|
async function fileExists(filePath) {
|
|
348
348
|
try {
|
|
349
|
-
await
|
|
349
|
+
await fs$1.stat(filePath);
|
|
350
350
|
return true;
|
|
351
351
|
} catch {
|
|
352
352
|
return false;
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
355
|
async function readJsonFile(filePath) {
|
|
356
|
-
const raw = await
|
|
356
|
+
const raw = await fs$1.readFile(filePath, "utf-8");
|
|
357
357
|
return JSON.parse(raw);
|
|
358
358
|
}
|
|
359
359
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { W as CONFIG_DIR, st as resolveUserPath } from "./entry.js";
|
|
2
2
|
import { i as isPathInside, n as MANIFEST_KEY, r as extensionUsesSkippedScannerPath } from "./legacy-names-PPcHwaHH.js";
|
|
3
|
-
import { o as loadPluginManifest } from "./manifest-registry-
|
|
4
|
-
import { S as validateRegistryNpmSpec } from "./skills-
|
|
5
|
-
import { c as resolveArchiveKind, i as unscopedPackageName, n as safeDirName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-
|
|
6
|
-
import { a as resolveTimedInstallModeOptions, c as resolveArchiveSourcePath, i as resolveInstallModeOptions, n as installFromNpmSpecArchiveWithInstaller, o as resolveExistingInstallPath, r as installPackageDir, s as withExtractedArchiveRoot, t as finalizeNpmSpecArchiveInstall } from "./npm-pack-install-
|
|
7
|
-
import { t as scanDirectoryWithSummary } from "./skill-scanner-
|
|
3
|
+
import { o as loadPluginManifest } from "./manifest-registry-DRMtnPEQ.js";
|
|
4
|
+
import { S as validateRegistryNpmSpec } from "./skills-BkqPPXlw.js";
|
|
5
|
+
import { c as resolveArchiveKind, i as unscopedPackageName, n as safeDirName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-DGYbxO86.js";
|
|
6
|
+
import { a as resolveTimedInstallModeOptions, c as resolveArchiveSourcePath, i as resolveInstallModeOptions, n as installFromNpmSpecArchiveWithInstaller, o as resolveExistingInstallPath, r as installPackageDir, s as withExtractedArchiveRoot, t as finalizeNpmSpecArchiveInstall } from "./npm-pack-install-ChrCCIJD.js";
|
|
7
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner-DW9hSz_J.js";
|
|
8
8
|
import path from "node:path";
|
|
9
|
-
import
|
|
9
|
+
import fs from "node:fs/promises";
|
|
10
10
|
|
|
11
11
|
//#region src/plugins/install.ts
|
|
12
12
|
const defaultLogger = {};
|
|
@@ -109,7 +109,7 @@ async function installPluginFromPackageDir(params) {
|
|
|
109
109
|
logger.warn?.(`Plugin "${pluginId}" code safety scan failed (${String(err)}). Installation continues; run "openclaw security audit --deep" after install.`);
|
|
110
110
|
}
|
|
111
111
|
const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
|
|
112
|
-
await
|
|
112
|
+
await fs.mkdir(extensionsDir, { recursive: true });
|
|
113
113
|
const targetDirResult = resolveSafeInstallDir({
|
|
114
114
|
baseDir: extensionsDir,
|
|
115
115
|
id: pluginId,
|
|
@@ -193,7 +193,7 @@ async function installPluginFromDir(params) {
|
|
|
193
193
|
ok: false,
|
|
194
194
|
error: `directory not found: ${dirPath}`
|
|
195
195
|
};
|
|
196
|
-
if (!(await
|
|
196
|
+
if (!(await fs.stat(dirPath)).isDirectory()) return {
|
|
197
197
|
ok: false,
|
|
198
198
|
error: `not a directory: ${dirPath}`
|
|
199
199
|
};
|
|
@@ -215,7 +215,7 @@ async function installPluginFromFile(params) {
|
|
|
215
215
|
error: `file not found: ${filePath}`
|
|
216
216
|
};
|
|
217
217
|
const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
|
|
218
|
-
await
|
|
218
|
+
await fs.mkdir(extensionsDir, { recursive: true });
|
|
219
219
|
const pluginId = path.basename(filePath, path.extname(filePath)) || "plugin";
|
|
220
220
|
const pluginIdError = validatePluginId(pluginId);
|
|
221
221
|
if (pluginIdError) return {
|
|
@@ -229,7 +229,7 @@ async function installPluginFromFile(params) {
|
|
|
229
229
|
};
|
|
230
230
|
if (dryRun) return buildFileInstallResult(pluginId, targetFile);
|
|
231
231
|
logger.info?.(`Installing to ${targetFile}…`);
|
|
232
|
-
await
|
|
232
|
+
await fs.copyFile(filePath, targetFile);
|
|
233
233
|
return buildFileInstallResult(pluginId, targetFile);
|
|
234
234
|
}
|
|
235
235
|
async function installPluginFromNpmSpec(params) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { lt as isCanonicalDottedDecimalIPv4, pt as isIpv6Address, vt as parseCanonicalIpAddress } from "./auth-profiles-
|
|
1
|
+
import { lt as isCanonicalDottedDecimalIPv4, pt as isIpv6Address, vt as parseCanonicalIpAddress } from "./auth-profiles-D3FyYUSG.js";
|
|
2
2
|
import { o as getTailnetHostname } from "./tailscale-Cz0j5H8x.js";
|
|
3
3
|
|
|
4
4
|
//#region src/gateway/gateway-config-prompts.shared.ts
|