@guadskill/openclaw-proxy 2026.2.9 → 2026.2.11
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-x7cMEV1E.js → accounts-Dx4aJi3x.js} +7 -7
- package/dist/{acp-cli-0GGdXLLK.js → acp-cli-B0GEswoT.js} +4 -4
- package/dist/{acp-cli-D1H6dacV.js → acp-cli-OHiTwyKP.js} +4 -4
- package/dist/{agent-2SW8ZCfI.js → agent-CVUy1Thi.js} +10 -10
- package/dist/{agent-DU-T91C5.js → agent-D-ZY5Ay1.js} +10 -10
- package/dist/{agent-scope-DiPc4_Q2.js → agent-scope-Bxl1Ieu_.js} +1 -1
- package/dist/{agent-scope-BUn6DjX7.js → agent-scope-C7vPz4km.js} +1 -1
- package/dist/{agent-scope-CjgJmjE6.js → agent-scope-DUR7NPNo.js} +1 -1
- package/dist/{agent-scope--25ynMc2.js → agent-scope-QnsNO5IK.js} +11 -11
- package/dist/{archive-D0z3LZDK.js → archive-1r-XD_by.js} +9 -9
- package/dist/{audit-CqsOSGgc.js → audit-DJRS7Nza.js} +8 -8
- package/dist/{audit-CLbFGfQc.js → audit-Dnyfbisl.js} +16 -16
- package/dist/{auth-health-6CQOjiY2.js → auth-health-CE7uy9mo.js} +1 -1
- package/dist/{auth-health-BA7lqVxs.js → auth-health-ov3toXHm.js} +1 -1
- package/dist/{auth-profiles-Dg1lg7TZ.js → auth-profiles-kZZY0kCW.js} +1 -1
- package/dist/build-info.json +2 -2
- package/dist/bundled/boot-md/handler.js +9 -9
- package/dist/bundled/session-memory/handler.js +9 -9
- package/dist/{call-DfFtEDcF.js → call-BUcaYa5a.js} +8 -8
- package/dist/{call-BRBaanei.js → call-D_Z9T8iV.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-DxeLpgAW.js → channel-options-P2xeFf1J.js} +5 -5
- package/dist/{channel-options-lyL-8lwT.js → channel-options-oOUobhHQ.js} +3 -3
- package/dist/{channel-selection-KB-Du2K8.js → channel-selection-CmhD8GeJ.js} +1 -1
- package/dist/{channel-selection-Cm-kszg3.js → channel-selection-Dc2O9U87.js} +1 -1
- package/dist/{channels-cli-CwCvT3wp.js → channels-cli-BYZOMEVn.js} +25 -25
- package/dist/{channels-cli-D8NQgCvh.js → channels-cli-C-TQm_--.js} +36 -36
- package/dist/{channels-status-issues-CtDHK5Hb.js → channels-status-issues-CZVE---T.js} +1 -1
- package/dist/{channels-status-issues-D4zjQ5gR.js → channels-status-issues-CftEAWF4.js} +1 -1
- package/dist/{chrome-y0SuEptk.js → chrome-No6wyyAY.js} +2 -2
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-BhOaKx0R.js → cli-98b8BoLE.js} +25 -25
- package/dist/{cli-BdLB0dU9.js → cli-9Gs7jI45.js} +21 -21
- package/dist/{command-options-BsaSCNbW.js → command-options-DFbsypaU.js} +3 -3
- package/dist/{commands-D1Vz_pbj.js → commands-DoVIOYAz.js} +3 -3
- package/dist/{completion-cli-B8UeXoAi.js → completion-cli-BkcNcF2W.js} +27 -27
- package/dist/{completion-cli-DSp3IYfG.js → completion-cli-DzFGiqKN.js} +13 -13
- package/dist/{config-BiUz0L4n.js → config-C_ZMbYir.js} +2 -2
- package/dist/{config-DBR-pg8M.js → config-DFgdMueL.js} +2 -2
- package/dist/{config-Cq5jWpQW.js → config-NtjUezp5.js} +2 -2
- package/dist/{config-guard-BIEzm1Di.js → config-guard-GXJBeXgt.js} +34 -34
- package/dist/{config-JotyqXJB.js → config-yg3MNzIZ.js} +2 -2
- package/dist/{configure-CupQ7QSD.js → configure-Cn-9vqSs.js} +10 -10
- package/dist/{configure-Cec4HsdK.js → configure-Mwbu9bfG.js} +8 -8
- package/dist/{control-service-CH6Bbr0T.js → control-service-CzkpRVn7.js} +4 -4
- package/dist/{control-service-YHi9oKDx.js → control-service-_2M8iCv6.js} +1 -1
- package/dist/{cron-cli-DQ37nGTc.js → cron-cli-Bkwkuduu.js} +7 -7
- package/dist/{cron-cli-BPtSqQjc.js → cron-cli-sBpc08kN.js} +6 -6
- package/dist/{daemon-cli-BwvNtNCH.js → daemon-cli-BQFZUZXG.js} +7 -7
- package/dist/{daemon-cli-ByQDMi6B.js → daemon-cli-D7bFcRv4.js} +11 -11
- package/dist/{daemon-runtime-Dg88Ac7J.js → daemon-runtime-DLtjWz00.js} +10 -10
- package/dist/{daemon-runtime-LePuvITk.js → daemon-runtime-q4XITAGg.js} +1 -1
- package/dist/{deliver-BpcYe8zG.js → deliver-BFZRT50l.js} +7 -7
- package/dist/{deliver-Dpg3LSwN.js → deliver-BRCyIScz.js} +5 -5
- package/dist/{deliver-D4rMk52D.js → deliver-CR0uQwr7.js} +3 -3
- package/dist/{deliver-C9Vwdw7k.js → deliver-D_PB5CG5.js} +2 -2
- package/dist/{deps-DWlD7Lyt.js → deps-BBw98Cve.js} +2 -2
- package/dist/{deps-qtgH7RGM.js → deps-Dlhl7sML.js} +2 -2
- package/dist/{devices-cli-CcGB1MVD.js → devices-cli-3aLFbDvW.js} +4 -4
- package/dist/{devices-cli-p9SUggMY.js → devices-cli-Dn5X9lnL.js} +4 -4
- package/dist/{directory-cli-CixpfARf.js → directory-cli-Cc06wNL1.js} +5 -5
- package/dist/{directory-cli-CgKDzRjU.js → directory-cli-Dj48rao9.js} +6 -6
- package/dist/{dispatcher-DsTwmVoy.js → dispatcher-DLLOC08H.js} +1 -1
- package/dist/{dns-cli-y3RAyaeD.js → dns-cli-CugZCOE9.js} +3 -3
- package/dist/{dns-cli--ew6Hcon.js → dns-cli-kXKz4kmo.js} +3 -3
- package/dist/{docs-cli-BPPPY68C.js → docs-cli-BUeU34DD.js} +1 -1
- package/dist/{docs-cli-B8ZWuZdG.js → docs-cli-DPM7sbYQ.js} +1 -1
- package/dist/{doctor-CqYHOc7o.js → doctor-D_er5eUz.js} +18 -18
- package/dist/{doctor--sUBhPRM.js → doctor-iSnCqUEi.js} +33 -33
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-AoKQ4upV.js → exec-approvals-cli-DTdAAPIs.js} +11 -11
- package/dist/{exec-approvals-cli-C2XQFrdV.js → exec-approvals-cli-DyvEEBBB.js} +6 -6
- package/dist/extensionAPI.js +16 -16
- package/dist/{gateway-cli-FFlyXx90.js → gateway-cli-BUHCHKE6.js} +116 -116
- package/dist/{gateway-cli-x9uFfaiq.js → gateway-cli-DfFbLb7d.js} +43 -43
- package/dist/{gateway-rpc-CpSS8vbu.js → gateway-rpc-CUNihWum.js} +1 -1
- package/dist/{gateway-rpc-BUee5Dv6.js → gateway-rpc-ftABAYn5.js} +1 -1
- package/dist/{github-copilot-auth-C9U7LmQC.js → github-copilot-auth-DbUZnSyk.js} +5 -5
- package/dist/{github-copilot-auth-DhRqdPvp.js → github-copilot-auth-TxtjXx5m.js} +5 -5
- package/dist/{gmail-setup-utils-DwjED-x8.js → gmail-setup-utils-CBKE602c.js} +1 -1
- package/dist/{gmail-setup-utils-BElJpBPG.js → gmail-setup-utils-DFeZNixL.js} +1 -1
- package/dist/{health-format-xY8AE8iJ.js → health-format-BSrJdaJW.js} +10 -9
- package/dist/{health-format-BB0NTRxV.js → health-format-fowslicT.js} +12 -11
- package/dist/{hooks-cli-LD-Df2Bi.js → hooks-cli-BoczEJfK.js} +23 -23
- package/dist/{hooks-cli-D0QnfArE.js → hooks-cli-DoLBB8PN.js} +49 -49
- package/dist/{hooks-status-DzV884al.js → hooks-status-Dbj4IlQS.js} +1 -1
- package/dist/{hooks-status-B-1h3DT9.js → hooks-status-Dr9j7oSo.js} +1 -1
- package/dist/{image-C19aQZmj.js → image-BNNazXqI.js} +3 -3
- package/dist/{image-zzNMmsKZ.js → image-CE9CeS1j.js} +3 -3
- package/dist/{image-D1s2KO45.js → image-CY3Qb62D.js} +8 -8
- package/dist/{image-A6XShsr8.js → image-Crv76CGv.js} +3 -3
- package/dist/index.js +44 -44
- package/dist/{installs-lwst-G4F.js → installs-CJqCIvn4.js} +18 -18
- package/dist/llm-slug-generator.js +9 -9
- package/dist/{loader-t5G-bNh2.js → loader-BNGc0TMW.js} +115 -115
- package/dist/{login-qr-dW3zLPde.js → login-qr-BJHBXw2B.js} +1 -1
- package/dist/{login-qr-fi3WTytg.js → login-qr-BoEpQD7W.js} +2 -2
- package/dist/{login-qr-zHjaf-a-.js → login-qr-CojPlIrx.js} +1 -1
- package/dist/{login-qr-zBlKORpc.js → login-qr-O0Sg-Lht.js} +1 -1
- package/dist/{logs-cli-CNG1ybOs.js → logs-cli-BkQZaLP1.js} +5 -5
- package/dist/{logs-cli-BrwNjHyP.js → logs-cli-DbqvSWfV.js} +5 -5
- package/dist/{manager-BG8ogneZ.js → manager-BLQprOme.js} +3 -3
- package/dist/{manager-D1OOirj8.js → manager-DBEZGESO.js} +2 -2
- package/dist/{manager-CdFcVnZR.js → manager-DLK8bAAA.js} +15 -15
- package/dist/{manager-Bctrvc9j.js → manager-DQXILjKz.js} +2 -2
- package/dist/{model-auth-DisTMlNO.js → model-auth-B3m7mkvr.js} +1 -1
- package/dist/{model-selection-GZFHUD7x.js → model-selection-9N1nn0U_.js} +1 -1
- package/dist/{model-selection-Dcc6YSVW.js → model-selection-BqJ7D4pt.js} +1 -1
- package/dist/{models-cli-B2zLu81b.js → models-cli-DKJ429Km.js} +23 -23
- package/dist/{models-cli-DAT-ArET.js → models-cli-tBSLfpEB.js} +30 -30
- package/dist/{node-cli-ClBB_NxA.js → node-cli-az-8UhFP.js} +20 -20
- package/dist/{node-cli-etrHRm1x.js → node-cli-xTfEqY2t.js} +7 -7
- package/dist/{node-service-BDoNNRp-.js → node-service-CkPOvRv0.js} +1 -1
- package/dist/{nodes-cli-BaBGaJqV.js → nodes-cli-DfTrE8mE.js} +8 -8
- package/dist/{nodes-cli-CGt1ECiI.js → nodes-cli-U9s_odmo.js} +5 -5
- package/dist/{nodes-screen-DGlNPbk4.js → nodes-screen-DufGlxX3.js} +2 -2
- package/dist/{onboard-channels-CCcLnNq7.js → onboard-channels-B12vl_Fz.js} +5 -5
- package/dist/{onboard-channels-BTsEmF84.js → onboard-channels-Bi5gN7Cg.js} +4 -4
- package/dist/{onboard-skills-DTqkozry.js → onboard-skills-Cli5aapW.js} +9 -9
- package/dist/{onboard-skills-COOhVMtI.js → onboard-skills-bQdrzd5W.js} +8 -8
- package/dist/{onboarding-B_hfq1-Z.js → onboarding-KdG_ApLH.js} +20 -20
- package/dist/{openclaw-root-93W6UrUK.js → openclaw-root-BTW4x2Wd.js} +1 -1
- package/dist/{openclaw-root-9ILYSmJ9.js → openclaw-root-zKi4apQH.js} +3 -3
- package/dist/{pairing-cli-IMM6zTxT.js → pairing-cli-ByfGNmaZ.js} +7 -7
- package/dist/{pairing-cli-A-97MaNg.js → pairing-cli-C_IQMrN0.js} +6 -6
- package/dist/{pairing-labels-Bb4yiJHg.js → pairing-labels-B6MQ_Hha.js} +1 -1
- package/dist/{pairing-labels-DP5H8gf6.js → pairing-labels-B6ViJi8r.js} +1 -1
- package/dist/{pairing-store-DnhpK1SH.js → pairing-store-Cc67v-m7.js} +1 -1
- package/dist/{pairing-store-DiCaUGXP.js → pairing-store-DKhgYwjg.js} +1 -1
- package/dist/{paths-fJtAVDc0.js → paths-BifbScbU.js} +1 -1
- package/dist/{pi-embedded-DQydpubI.js → pi-embedded-DPQwlpO6.js} +15 -15
- package/dist/{pi-embedded-helpers-BJ-cu3iK.js → pi-embedded-helpers-DBsbz1Wq.js} +4 -4
- package/dist/{pi-embedded-helpers-4Lpm0TfW.js → pi-embedded-helpers-DwhRDCwp.js} +2 -2
- package/dist/{pi-embedded-helpers-B8LSSkHe.js → pi-embedded-helpers-Z2gqd4I2.js} +3 -3
- package/dist/{pi-embedded-helpers-DadKWPQE.js → pi-embedded-helpers-n7o6YJmY.js} +6 -6
- package/dist/{pi-tools.policy-DLLm-j7M.js → pi-tools.policy-CiKYFXrw.js} +3 -3
- package/dist/{plugin-auto-enable-B78nMu3L.js → plugin-auto-enable-CTA5rOU5.js} +1 -1
- package/dist/{plugin-auto-enable-Arz-7wiT.js → plugin-auto-enable-CrzdP1Nz.js} +2 -2
- package/dist/{plugins-CRUvG4uT.js → plugins-CO1rgH0r.js} +1 -1
- package/dist/{plugins-cli-CjpTlFhI.js → plugins-cli-BKilQedx.js} +22 -22
- package/dist/{plugins-cli-DrQ1Deuw.js → plugins-cli-CkZgCEVA.js} +30 -30
- package/dist/{plugins-U0QQZWlW.js → plugins-ia9SOGpI.js} +1 -1
- package/dist/{ports-BcNVanDX.js → ports-DbnuiZZO.js} +1 -1
- package/dist/{program-CDSRl7eR.js → program-CFqsq13P.js} +58 -58
- package/dist/{pw-ai-Bpd-iaBB.js → pw-ai-BOyUF0Kj.js} +4 -4
- package/dist/{qmd-manager-DZhFcVTt.js → qmd-manager-BM5DP4s8.js} +1 -1
- package/dist/{qmd-manager-CjTG-nW_.js → qmd-manager-BRXyEw0a.js} +19 -19
- package/dist/{qmd-manager-qe1SLQy3.js → qmd-manager-CWFe938c.js} +1 -1
- package/dist/{qmd-manager-D4W1VfWC.js → qmd-manager-h50GTfkl.js} +2 -2
- package/dist/{register.subclis-COUZSGkI.js → register.subclis-CYsvBF5c.js} +28 -28
- package/dist/{reply-CcYZSt6t.js → reply-CH7VZ1jT.js} +28 -28
- package/dist/{routes-CnhRELg3.js → routes-BUDqG0bE.js} +17 -17
- package/dist/{routes-Sj0W9JUC.js → routes-dtswuSI-.js} +1 -1
- package/dist/{rpc-wf5KzhJ_.js → rpc-BeN1YXM7.js} +1 -1
- package/dist/{rpc-BlzExEft.js → rpc-CUy4VHNF.js} +1 -1
- package/dist/{run-main-CadL0LaU.js → run-main-Couc_fdJ.js} +60 -60
- package/dist/{sandbox-CXXC0AOA.js → sandbox-D889a-F8.js} +21 -21
- package/dist/{sandbox-cli-B-c6pLqW.js → sandbox-cli-BNvoe8W3.js} +10 -10
- package/dist/{sandbox-cli-CEQpi4Wb.js → sandbox-cli-DACJb2g8.js} +7 -7
- package/dist/{sandbox-BR9JVXBT.js → sandbox-nFkFFEb7.js} +5 -5
- package/dist/{security-cli-MV9q0KXT.js → security-cli-DvqT9LWk.js} +11 -11
- package/dist/{security-cli-CxnkY7T2.js → security-cli-m_PAeVLY.js} +21 -21
- package/dist/{server-context-B0LbMz_e.js → server-context-qxpb5Ln6.js} +4 -4
- package/dist/{server-node-events-ClBp_ky8.js → server-node-events-Cb6KgBy9.js} +23 -23
- package/dist/{server-node-events-DZQVhZjc.js → server-node-events-Cz7z8PCq.js} +27 -27
- package/dist/{service-DQwKxszE.js → service-CJ_9zG2c.js} +15 -15
- package/dist/{service-audit-D6Jk8jFU.js → service-audit-CURwIRFh.js} +13 -13
- package/dist/{service-audit-JR0RZ8xC.js → service-audit-DtmRGU4O.js} +1 -1
- package/dist/{shared-C_dY3J1K.js → shared-BFnl2Cjh.js} +1 -1
- package/dist/{shared-DN6M8u_S.js → shared-CXK7Zt_F.js} +1 -1
- package/dist/{skill-scanner-C_fQzVDu.js → skill-scanner-BT7PBklM.js} +5 -5
- package/dist/{skills-C1QRKLvh.js → skills-Cgy3X3tK.js} +1 -1
- package/dist/{skills-cli-DDTkkerI.js → skills-cli-B2zxU_2n.js} +5 -5
- package/dist/{skills-cli-DbqgzF80.js → skills-cli-Bg8bkl9E.js} +5 -5
- package/dist/{skills-status-GulhEBnV.js → skills-status-8m5p33dD.js} +1 -1
- package/dist/{skills-status-C_QDsl6j.js → skills-status-BA2DOmHk.js} +1 -1
- package/dist/{skills-CwXLq-nk.js → skills-w-kwwPb2.js} +1 -1
- package/dist/{sqlite-DODNHWJb.js → sqlite-DmufeXxk.js} +8 -8
- package/dist/{status-Y2KMsWuk.js → status-BX5HXftW.js} +3 -3
- package/dist/{status-CErwIaup.js → status-CHFPyXak.js} +31 -31
- package/dist/{status-CtFS7XRr.js → status-CTMeUEYd.js} +3 -3
- package/dist/{system-cli-C0JWELUD.js → system-cli-BzCBKn-l.js} +5 -5
- package/dist/{system-cli-BVweBOhJ.js → system-cli-C886Ufmu.js} +5 -5
- package/dist/{systemd-aL_mEluy.js → systemd-D8TmVYdf.js} +5 -5
- package/dist/{systemd-linger-CEPF4JN6.js → systemd-linger-C57Dz7hA.js} +1 -1
- package/dist/{tui-B9ggfGhy.js → tui-B8ryM4-q.js} +5 -5
- package/dist/{tui-C_gTxPke.js → tui-DMtfTPeq.js} +5 -5
- package/dist/{tui-cli-Zj_x6Bvj.js → tui-cli-BBTZ6Uea.js} +14 -14
- package/dist/{tui-cli-CYc8ZHxI.js → tui-cli-CainEme8.js} +11 -11
- package/dist/{tui-formatters-C1oQXn1l.js → tui-formatters-6nR_zzUg.js} +3 -3
- package/dist/{tui-formatters-CCOWLfCX.js → tui-formatters-Cmrdmcx8.js} +3 -3
- package/dist/{update-C-9KsS1m.js → update-DkJ6rvG7.js} +3 -3
- package/dist/{update-cli-ClAzvLLE.js → update-cli-C72mF9AM.js} +34 -34
- package/dist/{update-cli-Cyh2BgJf.js → update-cli-MVVbpgcz.js} +53 -53
- package/dist/{update-runner-BT3WGHmf.js → update-runner-CsWAyRQf.js} +6 -6
- package/dist/{update-runner-Br_pa9Xw.js → update-runner-CztlHuQ9.js} +25 -25
- package/dist/{webhooks-cli-Ch9h1RT2.js → webhooks-cli-BH_Y2RXv.js} +5 -5
- package/dist/{webhooks-cli-DBWL77uP.js → webhooks-cli-DZaS4YoE.js} +5 -5
- package/dist/{wsl-CtSDIi51.js → wsl-C-eVEqs4.js} +3 -3
- package/package.json +1 -1
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/index-BeKTXH1m.js +0 -7601
- package/dist/control-ui/assets/index-BeKTXH1m.js.map +0 -1
- package/dist/control-ui/assets/index-DWhx-9JL.css +0 -1
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/favicon.svg +0 -22
- package/dist/control-ui/index.html +0 -17
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
import { k as theme, p as defaultRuntime } from "./entry.js";
|
|
2
|
-
import "./auth-profiles-
|
|
2
|
+
import "./auth-profiles-kZZY0kCW.js";
|
|
3
3
|
import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
|
|
4
4
|
import { t as CONFIG_DIR, v as resolveUserPath, x as shortenHomePath } from "./utils-Bx1WKTCk.js";
|
|
5
5
|
import { t as runCommandWithTimeout } from "./exec-B8JKbXKW.js";
|
|
6
|
-
import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope
|
|
6
|
+
import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-QnsNO5IK.js";
|
|
7
7
|
import "./github-copilot-token-SLWintYd.js";
|
|
8
8
|
import "./pi-model-discovery-DzEIEgHL.js";
|
|
9
|
-
import { c as writeConfigFile, i as loadConfig } from "./config-
|
|
9
|
+
import { c as writeConfigFile, i as loadConfig } from "./config-DFgdMueL.js";
|
|
10
10
|
import { a as MANIFEST_KEY } from "./manifest-registry-C_FL6H2P.js";
|
|
11
|
-
import "./server-context-
|
|
12
|
-
import "./chrome-
|
|
13
|
-
import "./control-service-
|
|
11
|
+
import "./server-context-qxpb5Ln6.js";
|
|
12
|
+
import "./chrome-No6wyyAY.js";
|
|
13
|
+
import "./control-service-CzkpRVn7.js";
|
|
14
14
|
import "./client-BCOZgvlo.js";
|
|
15
|
-
import "./call-
|
|
15
|
+
import "./call-BUcaYa5a.js";
|
|
16
16
|
import "./message-channel-BlgPSDAh.js";
|
|
17
17
|
import { t as formatDocsLink } from "./links-CSYf2PwL.js";
|
|
18
|
-
import "./plugins-
|
|
18
|
+
import "./plugins-CO1rgH0r.js";
|
|
19
19
|
import "./logging-CfEk_PnX.js";
|
|
20
|
-
import "./accounts-
|
|
21
|
-
import "./loader-
|
|
20
|
+
import "./accounts-Dx4aJi3x.js";
|
|
21
|
+
import "./loader-BNGc0TMW.js";
|
|
22
22
|
import "./progress-Da1ehW-x.js";
|
|
23
23
|
import "./prompt-style-Dc0C5HC9.js";
|
|
24
|
-
import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-
|
|
25
|
-
import "./manager-
|
|
24
|
+
import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-1r-XD_by.js";
|
|
25
|
+
import "./manager-DLK8bAAA.js";
|
|
26
26
|
import "./paths-C27OFaz1.js";
|
|
27
|
-
import "./sqlite-
|
|
28
|
-
import "./routes-
|
|
29
|
-
import "./pi-embedded-helpers-
|
|
30
|
-
import "./deliver-
|
|
31
|
-
import "./sandbox-
|
|
32
|
-
import "./tui-formatters-
|
|
33
|
-
import "./wsl-
|
|
34
|
-
import "./skills-
|
|
35
|
-
import "./image-
|
|
27
|
+
import "./sqlite-DmufeXxk.js";
|
|
28
|
+
import "./routes-BUDqG0bE.js";
|
|
29
|
+
import "./pi-embedded-helpers-n7o6YJmY.js";
|
|
30
|
+
import "./deliver-BFZRT50l.js";
|
|
31
|
+
import "./sandbox-D889a-F8.js";
|
|
32
|
+
import "./tui-formatters-Cmrdmcx8.js";
|
|
33
|
+
import "./wsl-C-eVEqs4.js";
|
|
34
|
+
import "./skills-w-kwwPb2.js";
|
|
35
|
+
import "./image-CY3Qb62D.js";
|
|
36
36
|
import "./redact-BHmk44DI.js";
|
|
37
37
|
import "./tool-display-Ds0HgmMB.js";
|
|
38
|
-
import "./channel-selection-
|
|
38
|
+
import "./channel-selection-Dc2O9U87.js";
|
|
39
39
|
import "./session-cost-usage-LOtSLoh7.js";
|
|
40
|
-
import "./commands-
|
|
41
|
-
import "./pairing-store-
|
|
42
|
-
import "./login-qr-
|
|
43
|
-
import "./pairing-labels-
|
|
40
|
+
import "./commands-DoVIOYAz.js";
|
|
41
|
+
import "./pairing-store-DKhgYwjg.js";
|
|
42
|
+
import "./login-qr-BoEpQD7W.js";
|
|
43
|
+
import "./pairing-labels-B6ViJi8r.js";
|
|
44
44
|
import { t as renderTable } from "./table--JAk2fhT.js";
|
|
45
|
-
import { a as parseFrontmatter, n as loadWorkspaceHookEntries, t as buildWorkspaceHookStatus } from "./hooks-status-
|
|
46
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
45
|
+
import { a as parseFrontmatter, n as loadWorkspaceHookEntries, t as buildWorkspaceHookStatus } from "./hooks-status-Dr9j7oSo.js";
|
|
46
|
+
import { t as buildPluginStatusReport } from "./status-BX5HXftW.js";
|
|
47
47
|
import path from "node:path";
|
|
48
48
|
import os from "node:os";
|
|
49
49
|
import fs from "node:fs";
|
|
50
|
-
import
|
|
50
|
+
import fsPromises from "node:fs/promises";
|
|
51
51
|
|
|
52
52
|
//#region src/hooks/install.ts
|
|
53
53
|
const defaultLogger = {};
|
|
@@ -99,7 +99,7 @@ async function ensureOpenClawHooks(manifest) {
|
|
|
99
99
|
async function resolveHookNameFromDir(hookDir) {
|
|
100
100
|
const hookMdPath = path.join(hookDir, "HOOK.md");
|
|
101
101
|
if (!await fileExists(hookMdPath)) throw new Error(`HOOK.md missing in ${hookDir}`);
|
|
102
|
-
return parseFrontmatter(await
|
|
102
|
+
return parseFrontmatter(await fsPromises.readFile(hookMdPath, "utf-8")).name || path.basename(hookDir);
|
|
103
103
|
}
|
|
104
104
|
async function validateHookDir(hookDir) {
|
|
105
105
|
if (!await fileExists(path.join(hookDir, "HOOK.md"))) throw new Error(`HOOK.md missing in ${hookDir}`);
|
|
@@ -150,7 +150,7 @@ async function installHookPackageFromDir(params) {
|
|
|
150
150
|
error: `hook pack id mismatch: expected ${params.expectedHookPackId}, got ${hookPackId}`
|
|
151
151
|
};
|
|
152
152
|
const hooksDir = params.hooksDir ? resolveUserPath(params.hooksDir) : path.join(CONFIG_DIR, "hooks");
|
|
153
|
-
await
|
|
153
|
+
await fsPromises.mkdir(hooksDir, { recursive: true });
|
|
154
154
|
const targetDirResult = resolveSafeInstallDir(hooksDir, hookPackId);
|
|
155
155
|
if (!targetDirResult.ok) return {
|
|
156
156
|
ok: false,
|
|
@@ -179,17 +179,17 @@ async function installHookPackageFromDir(params) {
|
|
|
179
179
|
let backupDir = null;
|
|
180
180
|
if (mode === "update" && await fileExists(targetDir)) {
|
|
181
181
|
backupDir = `${targetDir}.backup-${Date.now()}`;
|
|
182
|
-
await
|
|
182
|
+
await fsPromises.rename(targetDir, backupDir);
|
|
183
183
|
}
|
|
184
184
|
try {
|
|
185
|
-
await
|
|
185
|
+
await fsPromises.cp(params.packageDir, targetDir, { recursive: true });
|
|
186
186
|
} catch (err) {
|
|
187
187
|
if (backupDir) {
|
|
188
|
-
await
|
|
188
|
+
await fsPromises.rm(targetDir, {
|
|
189
189
|
recursive: true,
|
|
190
190
|
force: true
|
|
191
191
|
}).catch(() => void 0);
|
|
192
|
-
await
|
|
192
|
+
await fsPromises.rename(backupDir, targetDir).catch(() => void 0);
|
|
193
193
|
}
|
|
194
194
|
return {
|
|
195
195
|
ok: false,
|
|
@@ -210,11 +210,11 @@ async function installHookPackageFromDir(params) {
|
|
|
210
210
|
});
|
|
211
211
|
if (npmRes.code !== 0) {
|
|
212
212
|
if (backupDir) {
|
|
213
|
-
await
|
|
213
|
+
await fsPromises.rm(targetDir, {
|
|
214
214
|
recursive: true,
|
|
215
215
|
force: true
|
|
216
216
|
}).catch(() => void 0);
|
|
217
|
-
await
|
|
217
|
+
await fsPromises.rename(backupDir, targetDir).catch(() => void 0);
|
|
218
218
|
}
|
|
219
219
|
return {
|
|
220
220
|
ok: false,
|
|
@@ -222,7 +222,7 @@ async function installHookPackageFromDir(params) {
|
|
|
222
222
|
};
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
-
if (backupDir) await
|
|
225
|
+
if (backupDir) await fsPromises.rm(backupDir, {
|
|
226
226
|
recursive: true,
|
|
227
227
|
force: true
|
|
228
228
|
}).catch(() => void 0);
|
|
@@ -250,7 +250,7 @@ async function installHookFromDir(params) {
|
|
|
250
250
|
error: `hook id mismatch: expected ${params.expectedHookPackId}, got ${hookName}`
|
|
251
251
|
};
|
|
252
252
|
const hooksDir = params.hooksDir ? resolveUserPath(params.hooksDir) : path.join(CONFIG_DIR, "hooks");
|
|
253
|
-
await
|
|
253
|
+
await fsPromises.mkdir(hooksDir, { recursive: true });
|
|
254
254
|
const targetDirResult = resolveSafeInstallDir(hooksDir, hookName);
|
|
255
255
|
if (!targetDirResult.ok) return {
|
|
256
256
|
ok: false,
|
|
@@ -271,24 +271,24 @@ async function installHookFromDir(params) {
|
|
|
271
271
|
let backupDir = null;
|
|
272
272
|
if (mode === "update" && await fileExists(targetDir)) {
|
|
273
273
|
backupDir = `${targetDir}.backup-${Date.now()}`;
|
|
274
|
-
await
|
|
274
|
+
await fsPromises.rename(targetDir, backupDir);
|
|
275
275
|
}
|
|
276
276
|
try {
|
|
277
|
-
await
|
|
277
|
+
await fsPromises.cp(params.hookDir, targetDir, { recursive: true });
|
|
278
278
|
} catch (err) {
|
|
279
279
|
if (backupDir) {
|
|
280
|
-
await
|
|
280
|
+
await fsPromises.rm(targetDir, {
|
|
281
281
|
recursive: true,
|
|
282
282
|
force: true
|
|
283
283
|
}).catch(() => void 0);
|
|
284
|
-
await
|
|
284
|
+
await fsPromises.rename(backupDir, targetDir).catch(() => void 0);
|
|
285
285
|
}
|
|
286
286
|
return {
|
|
287
287
|
ok: false,
|
|
288
288
|
error: `failed to copy hook: ${String(err)}`
|
|
289
289
|
};
|
|
290
290
|
}
|
|
291
|
-
if (backupDir) await
|
|
291
|
+
if (backupDir) await fsPromises.rm(backupDir, {
|
|
292
292
|
recursive: true,
|
|
293
293
|
force: true
|
|
294
294
|
}).catch(() => void 0);
|
|
@@ -311,9 +311,9 @@ async function installHooksFromArchive(params) {
|
|
|
311
311
|
ok: false,
|
|
312
312
|
error: `unsupported archive: ${archivePath}`
|
|
313
313
|
};
|
|
314
|
-
const tmpDir = await
|
|
314
|
+
const tmpDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-hook-"));
|
|
315
315
|
const extractDir = path.join(tmpDir, "extract");
|
|
316
|
-
await
|
|
316
|
+
await fsPromises.mkdir(extractDir, { recursive: true });
|
|
317
317
|
logger.info?.(`Extracting ${archivePath}…`);
|
|
318
318
|
try {
|
|
319
319
|
await extractArchive({
|
|
@@ -366,7 +366,7 @@ async function installHooksFromNpmSpec(params) {
|
|
|
366
366
|
ok: false,
|
|
367
367
|
error: "missing npm spec"
|
|
368
368
|
};
|
|
369
|
-
const tmpDir = await
|
|
369
|
+
const tmpDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-hook-pack-"));
|
|
370
370
|
logger.info?.(`Downloading ${spec}…`);
|
|
371
371
|
const res = await runCommandWithTimeout([
|
|
372
372
|
"npm",
|
|
@@ -402,7 +402,7 @@ async function installHooksFromPath(params) {
|
|
|
402
402
|
ok: false,
|
|
403
403
|
error: `path not found: ${resolved}`
|
|
404
404
|
};
|
|
405
|
-
if ((await
|
|
405
|
+
if ((await fsPromises.stat(resolved)).isDirectory()) {
|
|
406
406
|
if (await fileExists(path.join(resolved, "package.json"))) return await installHookPackageFromDir({
|
|
407
407
|
packageDir: resolved,
|
|
408
408
|
hooksDir: params.hooksDir,
|
|
@@ -505,7 +505,7 @@ function formatHookMissingSummary(hook) {
|
|
|
505
505
|
}
|
|
506
506
|
async function readInstalledPackageVersion(dir) {
|
|
507
507
|
try {
|
|
508
|
-
const raw = await
|
|
508
|
+
const raw = await fsPromises.readFile(path.join(dir, "package.json"), "utf-8");
|
|
509
509
|
const parsed = JSON.parse(raw);
|
|
510
510
|
return typeof parsed.version === "string" ? parsed.version : void 0;
|
|
511
511
|
} catch {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as CONFIG_DIR, y as resolveUserPath } from "./utils-DMuwyz_q.js";
|
|
2
2
|
import { t as parseBooleanValue } from "./boolean-BgXe2hyu.js";
|
|
3
3
|
import { a as MANIFEST_KEY, i as LEGACY_MANIFEST_KEYS } from "./manifest-registry-BMwHTztn.js";
|
|
4
|
-
import { v as parseFrontmatterBlock } from "./skills-
|
|
4
|
+
import { v as parseFrontmatterBlock } from "./skills-Cgy3X3tK.js";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import fs from "node:fs";
|
|
7
7
|
import path from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as parseBooleanValue } from "./entry.js";
|
|
2
2
|
import { t as CONFIG_DIR, v as resolveUserPath } from "./utils-Bx1WKTCk.js";
|
|
3
3
|
import { a as MANIFEST_KEY, i as LEGACY_MANIFEST_KEYS } from "./manifest-registry-C_FL6H2P.js";
|
|
4
|
-
import { v as parseFrontmatterBlock } from "./skills-
|
|
4
|
+
import { v as parseFrontmatterBlock } from "./skills-w-kwwPb2.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs";
|
|
7
7
|
import JSON5 from "json5";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { j as isRecord, z as shortenHomeInString } from "./exec-BfU1Ka_V.js";
|
|
3
|
-
import { B as resolveOpenClawAgentDir, V as normalizeSecretInput, _ as getApiKeyForModel, g as resolveImplicitProviders, h as resolveImplicitCopilotProvider, m as resolveImplicitBedrockProvider, p as normalizeProviders, y as requireApiKey } from "./model-selection-
|
|
4
|
-
import { V as sanitizeUserFacingText } from "./pi-embedded-helpers-
|
|
5
|
-
import { t as loadConfig } from "./config-
|
|
3
|
+
import { B as resolveOpenClawAgentDir, V as normalizeSecretInput, _ as getApiKeyForModel, g as resolveImplicitProviders, h as resolveImplicitCopilotProvider, m as resolveImplicitBedrockProvider, p as normalizeProviders, y as requireApiKey } from "./model-selection-BqJ7D4pt.js";
|
|
4
|
+
import { V as sanitizeUserFacingText } from "./pi-embedded-helpers-DBsbz1Wq.js";
|
|
5
|
+
import { t as loadConfig } from "./config-NtjUezp5.js";
|
|
6
6
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-EhM2JAQo.js";
|
|
7
7
|
import { n as redactToolDetail } from "./redact-BrXLgslJ.js";
|
|
8
8
|
import path from "node:path";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { f as isRecord } from "./utils-DMuwyz_q.js";
|
|
3
|
-
import { j as sanitizeUserFacingText } from "./pi-embedded-helpers-
|
|
4
|
-
import { C as resolveImplicitBedrockProvider, L as getApiKeyForModel, S as normalizeProviders, St as normalizeSecretInput, T as resolveImplicitProviders, bt as resolveOpenClawAgentDir, w as resolveImplicitCopilotProvider, z as requireApiKey } from "./model-selection-
|
|
5
|
-
import { i as loadConfig } from "./config-
|
|
3
|
+
import { j as sanitizeUserFacingText } from "./pi-embedded-helpers-DwhRDCwp.js";
|
|
4
|
+
import { C as resolveImplicitBedrockProvider, L as getApiKeyForModel, S as normalizeProviders, St as normalizeSecretInput, T as resolveImplicitProviders, bt as resolveOpenClawAgentDir, w as resolveImplicitCopilotProvider, z as requireApiKey } from "./model-selection-9N1nn0U_.js";
|
|
5
|
+
import { i as loadConfig } from "./config-yg3MNzIZ.js";
|
|
6
6
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CV2V1HHz.js";
|
|
7
7
|
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-BZ1-Xio6.js";
|
|
8
8
|
import path from "node:path";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { G as resolveImplicitBedrockProvider, K as resolveImplicitCopilotProvider, S as resolveOpenClawAgentDir, W as normalizeProviders, at as getApiKeyForModel, pt as normalizeSecretInput, q as resolveImplicitProviders, st as requireApiKey } from "./auth-profiles-
|
|
2
|
+
import { G as resolveImplicitBedrockProvider, K as resolveImplicitCopilotProvider, S as resolveOpenClawAgentDir, W as normalizeProviders, at as getApiKeyForModel, pt as normalizeSecretInput, q as resolveImplicitProviders, st as requireApiKey } from "./auth-profiles-kZZY0kCW.js";
|
|
3
3
|
import { d as isRecord } from "./utils-Bx1WKTCk.js";
|
|
4
4
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DzEIEgHL.js";
|
|
5
|
-
import { i as loadConfig } from "./config-
|
|
6
|
-
import { k as sanitizeUserFacingText } from "./pi-embedded-helpers-
|
|
5
|
+
import { i as loadConfig } from "./config-DFgdMueL.js";
|
|
6
|
+
import { k as sanitizeUserFacingText } from "./pi-embedded-helpers-n7o6YJmY.js";
|
|
7
7
|
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-Ds0HgmMB.js";
|
|
8
8
|
import path from "node:path";
|
|
9
|
-
import
|
|
9
|
+
import fsPromises from "node:fs/promises";
|
|
10
10
|
import { complete } from "@mariozechner/pi-ai";
|
|
11
11
|
|
|
12
12
|
//#region src/agents/models-config.ts
|
|
@@ -49,7 +49,7 @@ function mergeProviders(params) {
|
|
|
49
49
|
}
|
|
50
50
|
async function readJson(pathname) {
|
|
51
51
|
try {
|
|
52
|
-
const raw = await
|
|
52
|
+
const raw = await fsPromises.readFile(pathname, "utf8");
|
|
53
53
|
return JSON.parse(raw);
|
|
54
54
|
} catch {
|
|
55
55
|
return null;
|
|
@@ -94,7 +94,7 @@ async function ensureOpenClawModelsJson(config, agentDirOverride) {
|
|
|
94
94
|
});
|
|
95
95
|
const next = `${JSON.stringify({ providers: normalizedProviders }, null, 2)}\n`;
|
|
96
96
|
try {
|
|
97
|
-
existingRaw = await
|
|
97
|
+
existingRaw = await fsPromises.readFile(targetPath, "utf8");
|
|
98
98
|
} catch {
|
|
99
99
|
existingRaw = "";
|
|
100
100
|
}
|
|
@@ -102,11 +102,11 @@ async function ensureOpenClawModelsJson(config, agentDirOverride) {
|
|
|
102
102
|
agentDir,
|
|
103
103
|
wrote: false
|
|
104
104
|
};
|
|
105
|
-
await
|
|
105
|
+
await fsPromises.mkdir(agentDir, {
|
|
106
106
|
recursive: true,
|
|
107
107
|
mode: 448
|
|
108
108
|
});
|
|
109
|
-
await
|
|
109
|
+
await fsPromises.writeFile(targetPath, next, { mode: 384 });
|
|
110
110
|
return {
|
|
111
111
|
agentDir,
|
|
112
112
|
wrote: true
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { _ as shortenHomeInString, l as isRecord } from "./utils-BXXjCjKW.js";
|
|
3
|
-
import { V as sanitizeUserFacingText } from "./pi-embedded-helpers-
|
|
4
|
-
import { A as normalizeProviders, M as resolveImplicitCopilotProvider, N as resolveImplicitProviders, R as normalizeSecretInput, _ as resolveOpenClawAgentDir, j as resolveImplicitBedrockProvider, r as requireApiKey, t as getApiKeyForModel } from "./model-auth-
|
|
5
|
-
import { t as loadConfig } from "./config-
|
|
3
|
+
import { V as sanitizeUserFacingText } from "./pi-embedded-helpers-Z2gqd4I2.js";
|
|
4
|
+
import { A as normalizeProviders, M as resolveImplicitCopilotProvider, N as resolveImplicitProviders, R as normalizeSecretInput, _ as resolveOpenClawAgentDir, j as resolveImplicitBedrockProvider, r as requireApiKey, t as getApiKeyForModel } from "./model-auth-B3m7mkvr.js";
|
|
5
|
+
import { t as loadConfig } from "./config-C_ZMbYir.js";
|
|
6
6
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DzFOAbQt.js";
|
|
7
7
|
import { n as redactToolDetail } from "./redact-BRmQPYDR.js";
|
|
8
8
|
import fs from "node:fs/promises";
|
package/dist/index.js
CHANGED
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
import { g as resolveStateDir, i as isNixMode, m as resolveOAuthDir, o as resolveConfigPath, r as STATE_DIR, u as resolveGatewayPort } from "./paths-DVBShlw6.js";
|
|
3
3
|
import { D as info, E as danger, I as colorize, L as isRich, M as setVerbose, R as theme, S as normalizeChatChannelId, c as defaultRuntime, h as DEFAULT_CHAT_CHANNEL, l as restoreTerminalState, r as enableConsoleCapture, s as visibleWidth, v as getChatChannelMeta } from "./subsystem-DPnkvS73.js";
|
|
4
4
|
import { S as shortenHomePath, T as toWhatsappJid, _ as resolveHomeDir, h as normalizeE164, n as assertWebChannel, x as shortenHomeInString, y as resolveUserPath } from "./utils-DMuwyz_q.js";
|
|
5
|
-
import "./pi-embedded-helpers-
|
|
6
|
-
import { Ct as formatControlUiSshHint, D as runMessageAction, Et as moveToTrash, Ft as waitForGatewayReachable, I as CHANNEL_MESSAGE_ACTION_NAMES, Mt as resolveControlUiLinks, Ot as openUrl, P as formatTargetDisplay, St as ensureWorkspaceAndSessions, Tt as handleReset, Ur as applyTemplate, an as registerMemoryCli, at as CHANNEL_TARGETS_DESCRIPTION, fn as waitForever, ht as resolveCommitHash, jt as randomToken, on as runMemoryStatus, ot as CHANNEL_TARGET_DESCRIPTION, sn as monitorWebChannel, t as getReplyFromConfig, un as installUnhandledRejectionHandler, vt as DEFAULT_WORKSPACE, xr as lookupContextTokens, xt as detectBrowserOpenSupport, yt as applyWizardMetadata } from "./reply-
|
|
5
|
+
import "./pi-embedded-helpers-DwhRDCwp.js";
|
|
6
|
+
import { Ct as formatControlUiSshHint, D as runMessageAction, Et as moveToTrash, Ft as waitForGatewayReachable, I as CHANNEL_MESSAGE_ACTION_NAMES, Mt as resolveControlUiLinks, Ot as openUrl, P as formatTargetDisplay, St as ensureWorkspaceAndSessions, Tt as handleReset, Ur as applyTemplate, an as registerMemoryCli, at as CHANNEL_TARGETS_DESCRIPTION, fn as waitForever, ht as resolveCommitHash, jt as randomToken, on as runMemoryStatus, ot as CHANNEL_TARGET_DESCRIPTION, sn as monitorWebChannel, t as getReplyFromConfig, un as installUnhandledRejectionHandler, vt as DEFAULT_WORKSPACE, xr as lookupContextTokens, xt as detectBrowserOpenSupport, yt as applyWizardMetadata } from "./reply-CH7VZ1jT.js";
|
|
7
7
|
import { l as normalizeAgentId, n as DEFAULT_AGENT_ID, t as DEFAULT_ACCOUNT_ID } from "./session-key-CUWZSMYQ.js";
|
|
8
8
|
import { n as runExec, t as runCommandWithTimeout } from "./exec-DFOtZbI0.js";
|
|
9
|
-
import { c as resolveDefaultAgentId, f as DEFAULT_AGENT_WORKSPACE_DIR, h as DEFAULT_IDENTITY_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, w as resolveDefaultAgentWorkspaceDir, x as ensureAgentWorkspace } from "./agent-scope-
|
|
10
|
-
import { Dt as DEFAULT_MODEL, Et as DEFAULT_CONTEXT_TOKENS, H as resolveEnvApiKey, Ot as DEFAULT_PROVIDER, St as normalizeSecretInput, at as resolveApiKeyForProfile, d as resolveConfiguredModelRef, et as resolveAuthProfileOrder, ht as ensureAuthProfileStore, mt as upsertAuthProfile, s as normalizeProviderId, vt as resolveAuthStorePath, xt as normalizeOptionalSecretInput } from "./model-selection-
|
|
9
|
+
import { c as resolveDefaultAgentId, f as DEFAULT_AGENT_WORKSPACE_DIR, h as DEFAULT_IDENTITY_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, w as resolveDefaultAgentWorkspaceDir, x as ensureAgentWorkspace } from "./agent-scope-C7vPz4km.js";
|
|
10
|
+
import { Dt as DEFAULT_MODEL, Et as DEFAULT_CONTEXT_TOKENS, H as resolveEnvApiKey, Ot as DEFAULT_PROVIDER, St as normalizeSecretInput, at as resolveApiKeyForProfile, d as resolveConfiguredModelRef, et as resolveAuthProfileOrder, ht as ensureAuthProfileStore, mt as upsertAuthProfile, s as normalizeProviderId, vt as resolveAuthStorePath, xt as normalizeOptionalSecretInput } from "./model-selection-9N1nn0U_.js";
|
|
11
11
|
import "./github-copilot-token-BW-SEg7E.js";
|
|
12
12
|
import { n as replaceCliName, r as resolveCliName, t as formatCliCommand } from "./command-format-ChfKqObn.js";
|
|
13
13
|
import { t as parseBooleanValue } from "./boolean-BgXe2hyu.js";
|
|
14
14
|
import { r as normalizeEnv, t as isTruthyEnvValue } from "./env-B5YXooWp.js";
|
|
15
|
-
import { M as loadDotEnv, c as writeConfigFile, h as parseDurationMs, i as loadConfig, j as VERSION, o as readConfigFileSnapshot, r as createConfigIO } from "./config-
|
|
15
|
+
import { M as loadDotEnv, c as writeConfigFile, h as parseDurationMs, i as loadConfig, j as VERSION, o as readConfigFileSnapshot, r as createConfigIO } from "./config-yg3MNzIZ.js";
|
|
16
16
|
import "./manifest-registry-BMwHTztn.js";
|
|
17
|
-
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-
|
|
18
|
-
import { D as resolveSessionKey, E as deriveSessionKey, d as loadSessionStore, m as saveSessionStore } from "./sandbox-
|
|
19
|
-
import "./image-
|
|
17
|
+
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-ia9SOGpI.js";
|
|
18
|
+
import { D as resolveSessionKey, E as deriveSessionKey, d as loadSessionStore, m as saveSessionStore } from "./sandbox-nFkFFEb7.js";
|
|
19
|
+
import "./image-CE9CeS1j.js";
|
|
20
20
|
import "./pi-model-discovery-CV2V1HHz.js";
|
|
21
21
|
import { c as describePortOwner, l as ensurePortAvailable, s as PortInUseError, u as handlePortError } from "./chrome-BKkyn8EY.js";
|
|
22
|
-
import "./skills-
|
|
23
|
-
import "./routes-
|
|
22
|
+
import "./skills-Cgy3X3tK.js";
|
|
23
|
+
import "./routes-dtswuSI-.js";
|
|
24
24
|
import { r as formatUncaughtError } from "./errors-B0eT3jVv.js";
|
|
25
25
|
import { n as movePathToTrash } from "./server-context-DBGqh1ik.js";
|
|
26
26
|
import { h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES } from "./message-channel-CHRYQtAM.js";
|
|
@@ -29,67 +29,67 @@ import "./accounts-DJIm5oPq.js";
|
|
|
29
29
|
import { a as resolveSessionTranscriptsDirForAgent, i as resolveSessionTranscriptsDir, o as resolveStorePath } from "./paths-CLkhFRsq.js";
|
|
30
30
|
import "./redact-DAKeu7PA.js";
|
|
31
31
|
import "./tool-display-BZ1-Xio6.js";
|
|
32
|
-
import "./deliver-
|
|
33
|
-
import "./dispatcher-
|
|
34
|
-
import "./manager-
|
|
32
|
+
import "./deliver-BRCyIScz.js";
|
|
33
|
+
import "./dispatcher-DLLOC08H.js";
|
|
34
|
+
import "./manager-DQXILjKz.js";
|
|
35
35
|
import "./sqlite-cSdsHVEw.js";
|
|
36
|
-
import "./tui-formatters-
|
|
36
|
+
import "./tui-formatters-6nR_zzUg.js";
|
|
37
37
|
import "./client-56cv8SiG.js";
|
|
38
|
-
import { i as randomIdempotencyKey, n as callGateway } from "./call-
|
|
38
|
+
import { i as randomIdempotencyKey, n as callGateway } from "./call-D_Z9T8iV.js";
|
|
39
39
|
import { n as formatTimeAgo } from "./format-relative-Db7eqEu8.js";
|
|
40
|
-
import "./login-qr-
|
|
41
|
-
import "./pairing-store-
|
|
40
|
+
import "./login-qr-CojPlIrx.js";
|
|
41
|
+
import "./pairing-store-Cc67v-m7.js";
|
|
42
42
|
import { t as formatDocsLink } from "./links-BPnP7NBH.js";
|
|
43
43
|
import { n as runCommandWithRuntime } from "./cli-utils-BrEIqBi3.js";
|
|
44
44
|
import { n as withProgress } from "./progress-L0AJ2h6x.js";
|
|
45
|
-
import "./pi-tools.policy-
|
|
45
|
+
import "./pi-tools.policy-CiKYFXrw.js";
|
|
46
46
|
import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CHcfaV8X.js";
|
|
47
|
-
import "./pairing-labels-
|
|
47
|
+
import "./pairing-labels-B6MQ_Hha.js";
|
|
48
48
|
import "./session-cost-usage-j9RNOPvV.js";
|
|
49
|
-
import "./control-service-
|
|
50
|
-
import "./channel-selection-
|
|
51
|
-
import { t as createDefaultDeps } from "./deps-
|
|
49
|
+
import "./control-service-_2M8iCv6.js";
|
|
50
|
+
import "./channel-selection-CmhD8GeJ.js";
|
|
51
|
+
import { t as createDefaultDeps } from "./deps-Dlhl7sML.js";
|
|
52
52
|
import { l as ensureBinary, u as promptYesNo } from "./tailscale-CAxaFrEP.js";
|
|
53
53
|
import { t as isMainModule } from "./is-main-iERzpHyZ.js";
|
|
54
54
|
import { t as ensureOpenClawCliOnPath } from "./path-env-IQpWNtKc.js";
|
|
55
|
-
import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-
|
|
56
|
-
import { a as buildAgentSummaries, c as loadAgentIdentity, f as parseIdentityMarkdown, i as applyAgentConfig, l as pruneAgentConfig, n as statusCommand, o as findAgentEntryIndex, s as listAgentEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-
|
|
55
|
+
import { a as gatewayInstallErrorHint, g as assertSupportedRuntime, i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-q4XITAGg.js";
|
|
56
|
+
import { a as buildAgentSummaries, c as loadAgentIdentity, f as parseIdentityMarkdown, i as applyAgentConfig, l as pruneAgentConfig, n as statusCommand, o as findAgentEntryIndex, s as listAgentEntries, t as runOnboardingWizard, u as identityHasValues } from "./onboarding-KdG_ApLH.js";
|
|
57
57
|
import { t as resolveChannelDefaultAccountId } from "./helpers-BNHVKXjR.js";
|
|
58
58
|
import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CXcMKWSI.js";
|
|
59
59
|
import "./note-CNcI64MY.js";
|
|
60
60
|
import { t as WizardCancelledError } from "./prompts-CMFALzCp.js";
|
|
61
61
|
import { t as createClackPrompter } from "./clack-prompter-S0qXMAox.js";
|
|
62
|
-
import { d as warnIfModelConfigLooksOff, f as applyAuthChoice, g as promptAuthChoiceGrouped, h as applyGoogleGeminiModelDefault, m as upsertSharedEnvVar, p as applyOpenAIConfig } from "./onboard-skills-
|
|
63
|
-
import { $ as setMinimaxApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyVeniceConfig, L as applyVercelAiGatewayConfig, N as applyTogetherConfig, Q as setKimiCodingApiKey, U as applyZaiConfig, V as applyXiaomiConfig, X as setCloudflareAiGatewayConfig, Y as setAnthropicApiKey, Z as setGeminiApiKey, _t as validateAnthropicSetupToken, at as setTogetherApiKey, ct as setXaiApiKey, et as setMoonshotApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, gt as buildTokenProfileId, it as setSyntheticApiKey, j as applySyntheticConfig, k as applyQianfanConfig, lt as setXiaomiApiKey, m as applyMinimaxApiConfig, nt as setOpenrouterApiKey, ot as setVeniceApiKey, rt as setQianfanApiKey, st as setVercelAiGatewayApiKey, tt as setOpencodeZenApiKey, ut as setZaiApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXaiConfig } from "./github-copilot-auth-
|
|
64
|
-
import { n as setupChannels } from "./onboard-channels-
|
|
65
|
-
import "./plugin-auto-enable-
|
|
62
|
+
import { d as warnIfModelConfigLooksOff, f as applyAuthChoice, g as promptAuthChoiceGrouped, h as applyGoogleGeminiModelDefault, m as upsertSharedEnvVar, p as applyOpenAIConfig } from "./onboard-skills-bQdrzd5W.js";
|
|
63
|
+
import { $ as setMinimaxApiKey, C as applyMoonshotConfig, D as applyOpenrouterConfig, F as applyVeniceConfig, L as applyVercelAiGatewayConfig, N as applyTogetherConfig, Q as setKimiCodingApiKey, U as applyZaiConfig, V as applyXiaomiConfig, X as setCloudflareAiGatewayConfig, Y as setAnthropicApiKey, Z as setGeminiApiKey, _t as validateAnthropicSetupToken, at as setTogetherApiKey, ct as setXaiApiKey, et as setMoonshotApiKey, f as applyOpencodeZenConfig, g as applyMinimaxConfig, gt as buildTokenProfileId, it as setSyntheticApiKey, j as applySyntheticConfig, k as applyQianfanConfig, lt as setXiaomiApiKey, m as applyMinimaxApiConfig, nt as setOpenrouterApiKey, ot as setVeniceApiKey, rt as setQianfanApiKey, st as setVercelAiGatewayApiKey, tt as setOpencodeZenApiKey, ut as setZaiApiKey, v as applyAuthProfileConfig, w as applyMoonshotConfigCn, x as applyKimiCodeConfig, y as applyCloudflareAiGatewayConfig, z as applyXaiConfig } from "./github-copilot-auth-DbUZnSyk.js";
|
|
64
|
+
import { n as setupChannels } from "./onboard-channels-Bi5gN7Cg.js";
|
|
65
|
+
import "./plugin-auto-enable-CTA5rOU5.js";
|
|
66
66
|
import "./archive-CCWYT_Aq.js";
|
|
67
67
|
import "./skill-scanner-BRoRPexZ.js";
|
|
68
68
|
import "./installs-D7yfde04.js";
|
|
69
|
-
import { l as healthCommand } from "./health-format-
|
|
70
|
-
import "./update-runner-
|
|
69
|
+
import { l as healthCommand } from "./health-format-BSrJdaJW.js";
|
|
70
|
+
import "./update-runner-CsWAyRQf.js";
|
|
71
71
|
import "./auth-BpUy1iRX.js";
|
|
72
|
-
import "./audit-
|
|
72
|
+
import "./audit-DJRS7Nza.js";
|
|
73
73
|
import { t as renderTable } from "./table-BwcmzWVS.js";
|
|
74
|
-
import "./skills-status-
|
|
74
|
+
import "./skills-status-8m5p33dD.js";
|
|
75
75
|
import { t as resolveGatewayService } from "./service-gVhgRoT3.js";
|
|
76
76
|
import { r as isSystemdUserServiceAvailable } from "./systemd-BBNP9bBm.js";
|
|
77
|
-
import "./service-audit-
|
|
77
|
+
import "./service-audit-DtmRGU4O.js";
|
|
78
78
|
import "./node-service-D-Vn9yxc.js";
|
|
79
|
-
import "./channels-status-issues-
|
|
80
|
-
import { c as registerSubCliCommands, d as getPositiveIntFlagValue, f as getVerboseFlag, l as getCommandPath, m as hasHelpOrVersion, p as hasFlag, u as getFlagValue } from "./completion-cli-
|
|
81
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
79
|
+
import "./channels-status-issues-CZVE---T.js";
|
|
80
|
+
import { c as registerSubCliCommands, d as getPositiveIntFlagValue, f as getVerboseFlag, l as getCommandPath, m as hasHelpOrVersion, p as hasFlag, u as getFlagValue } from "./completion-cli-BkcNcF2W.js";
|
|
81
|
+
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-ftABAYn5.js";
|
|
82
82
|
import { t as formatHelpExamples } from "./help-format-BJ7LtzwC.js";
|
|
83
|
-
import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-
|
|
84
|
-
import { i as hasExplicitOptions, n as resolveCliChannelOptions, r as ensurePluginRegistryLoaded } from "./channel-options-
|
|
83
|
+
import { a as createOutboundSendDeps, n as resolveSessionKeyForRequest, t as agentCommand } from "./agent-CVUy1Thi.js";
|
|
84
|
+
import { i as hasExplicitOptions, n as resolveCliChannelOptions, r as ensurePluginRegistryLoaded } from "./channel-options-P2xeFf1J.js";
|
|
85
85
|
import { n as parsePositiveIntOrUndefined, t as collectOption } from "./helpers-CdNw2RUq.js";
|
|
86
|
-
import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-
|
|
86
|
+
import { i as CONFIGURE_WIZARD_SECTIONS, n as configureCommand, r as configureCommandWithSections } from "./configure-Mwbu9bfG.js";
|
|
87
87
|
import { n as ensureSystemdUserLingerNonInteractive } from "./systemd-linger-Cg55REe7.js";
|
|
88
88
|
import "./widearea-dns-BlEx7SXC.js";
|
|
89
|
-
import "./auth-health-
|
|
90
|
-
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-
|
|
91
|
-
import "./hooks-status-
|
|
92
|
-
import "./tui-
|
|
89
|
+
import "./auth-health-CE7uy9mo.js";
|
|
90
|
+
import { n as loadAndMaybeMigrateDoctorConfig, t as doctorCommand } from "./doctor-D_er5eUz.js";
|
|
91
|
+
import "./hooks-status-Dbj4IlQS.js";
|
|
92
|
+
import "./tui-DMtfTPeq.js";
|
|
93
93
|
import process$1 from "node:process";
|
|
94
94
|
import { fileURLToPath } from "node:url";
|
|
95
95
|
import fs from "node:fs";
|
|
@@ -2833,7 +2833,7 @@ async function loadValidConfig() {
|
|
|
2833
2833
|
}
|
|
2834
2834
|
function registerConfigCli(program) {
|
|
2835
2835
|
const cmd = program.command("config").description("Config helpers (get/set/unset). Run without subcommand for the wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.openclaw.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
|
|
2836
|
-
const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-
|
|
2836
|
+
const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections } = await import("./configure-Mwbu9bfG.js").then((n) => n.t);
|
|
2837
2837
|
const sections = Array.isArray(opts.section) ? opts.section.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean) : [];
|
|
2838
2838
|
if (sections.length === 0) {
|
|
2839
2839
|
await configureCommand(defaultRuntime);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as CONFIG_DIR, v as resolveUserPath } from "./utils-Bx1WKTCk.js";
|
|
2
2
|
import { t as runCommandWithTimeout } from "./exec-B8JKbXKW.js";
|
|
3
3
|
import { a as MANIFEST_KEY } from "./manifest-registry-C_FL6H2P.js";
|
|
4
|
-
import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-
|
|
5
|
-
import { t as scanDirectoryWithSummary } from "./skill-scanner-
|
|
4
|
+
import { a as resolvePackedRootDir, i as resolveArchiveKind, n as fileExists, r as readJsonFile, t as extractArchive } from "./archive-1r-XD_by.js";
|
|
5
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner-BT7PBklM.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import os from "node:os";
|
|
8
|
-
import
|
|
8
|
+
import fsPromises from "node:fs/promises";
|
|
9
9
|
|
|
10
10
|
//#region src/plugins/install.ts
|
|
11
11
|
const defaultLogger = {};
|
|
@@ -126,7 +126,7 @@ async function installPluginFromPackageDir(params) {
|
|
|
126
126
|
logger.warn?.(`Plugin "${pluginId}" code safety scan failed (${String(err)}). Installation continues; run "openclaw security audit --deep" after install.`);
|
|
127
127
|
}
|
|
128
128
|
const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
|
|
129
|
-
await
|
|
129
|
+
await fsPromises.mkdir(extensionsDir, { recursive: true });
|
|
130
130
|
const targetDirResult = resolveSafeInstallDir(extensionsDir, pluginId);
|
|
131
131
|
if (!targetDirResult.ok) return {
|
|
132
132
|
ok: false,
|
|
@@ -149,17 +149,17 @@ async function installPluginFromPackageDir(params) {
|
|
|
149
149
|
let backupDir = null;
|
|
150
150
|
if (mode === "update" && await fileExists(targetDir)) {
|
|
151
151
|
backupDir = `${targetDir}.backup-${Date.now()}`;
|
|
152
|
-
await
|
|
152
|
+
await fsPromises.rename(targetDir, backupDir);
|
|
153
153
|
}
|
|
154
154
|
try {
|
|
155
|
-
await
|
|
155
|
+
await fsPromises.cp(params.packageDir, targetDir, { recursive: true });
|
|
156
156
|
} catch (err) {
|
|
157
157
|
if (backupDir) {
|
|
158
|
-
await
|
|
158
|
+
await fsPromises.rm(targetDir, {
|
|
159
159
|
recursive: true,
|
|
160
160
|
force: true
|
|
161
161
|
}).catch(() => void 0);
|
|
162
|
-
await
|
|
162
|
+
await fsPromises.rename(backupDir, targetDir).catch(() => void 0);
|
|
163
163
|
}
|
|
164
164
|
return {
|
|
165
165
|
ok: false,
|
|
@@ -188,11 +188,11 @@ async function installPluginFromPackageDir(params) {
|
|
|
188
188
|
});
|
|
189
189
|
if (npmRes.code !== 0) {
|
|
190
190
|
if (backupDir) {
|
|
191
|
-
await
|
|
191
|
+
await fsPromises.rm(targetDir, {
|
|
192
192
|
recursive: true,
|
|
193
193
|
force: true
|
|
194
194
|
}).catch(() => void 0);
|
|
195
|
-
await
|
|
195
|
+
await fsPromises.rename(backupDir, targetDir).catch(() => void 0);
|
|
196
196
|
}
|
|
197
197
|
return {
|
|
198
198
|
ok: false,
|
|
@@ -200,7 +200,7 @@ async function installPluginFromPackageDir(params) {
|
|
|
200
200
|
};
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
|
-
if (backupDir) await
|
|
203
|
+
if (backupDir) await fsPromises.rm(backupDir, {
|
|
204
204
|
recursive: true,
|
|
205
205
|
force: true
|
|
206
206
|
}).catch(() => void 0);
|
|
@@ -226,9 +226,9 @@ async function installPluginFromArchive(params) {
|
|
|
226
226
|
ok: false,
|
|
227
227
|
error: `unsupported archive: ${archivePath}`
|
|
228
228
|
};
|
|
229
|
-
const tmpDir = await
|
|
229
|
+
const tmpDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-plugin-"));
|
|
230
230
|
const extractDir = path.join(tmpDir, "extract");
|
|
231
|
-
await
|
|
231
|
+
await fsPromises.mkdir(extractDir, { recursive: true });
|
|
232
232
|
logger.info?.(`Extracting ${archivePath}…`);
|
|
233
233
|
try {
|
|
234
234
|
await extractArchive({
|
|
@@ -268,7 +268,7 @@ async function installPluginFromDir(params) {
|
|
|
268
268
|
ok: false,
|
|
269
269
|
error: `directory not found: ${dirPath}`
|
|
270
270
|
};
|
|
271
|
-
if (!(await
|
|
271
|
+
if (!(await fsPromises.stat(dirPath)).isDirectory()) return {
|
|
272
272
|
ok: false,
|
|
273
273
|
error: `not a directory: ${dirPath}`
|
|
274
274
|
};
|
|
@@ -292,7 +292,7 @@ async function installPluginFromFile(params) {
|
|
|
292
292
|
error: `file not found: ${filePath}`
|
|
293
293
|
};
|
|
294
294
|
const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
|
|
295
|
-
await
|
|
295
|
+
await fsPromises.mkdir(extensionsDir, { recursive: true });
|
|
296
296
|
const pluginId = path.basename(filePath, path.extname(filePath)) || "plugin";
|
|
297
297
|
const pluginIdError = validatePluginId(pluginId);
|
|
298
298
|
if (pluginIdError) return {
|
|
@@ -313,7 +313,7 @@ async function installPluginFromFile(params) {
|
|
|
313
313
|
extensions: [path.basename(targetFile)]
|
|
314
314
|
};
|
|
315
315
|
logger.info?.(`Installing to ${targetFile}…`);
|
|
316
|
-
await
|
|
316
|
+
await fsPromises.copyFile(filePath, targetFile);
|
|
317
317
|
return {
|
|
318
318
|
ok: true,
|
|
319
319
|
pluginId,
|
|
@@ -334,7 +334,7 @@ async function installPluginFromNpmSpec(params) {
|
|
|
334
334
|
ok: false,
|
|
335
335
|
error: "missing npm spec"
|
|
336
336
|
};
|
|
337
|
-
const tmpDir = await
|
|
337
|
+
const tmpDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-npm-pack-"));
|
|
338
338
|
logger.info?.(`Downloading ${spec}…`);
|
|
339
339
|
const res = await runCommandWithTimeout([
|
|
340
340
|
"npm",
|
|
@@ -370,7 +370,7 @@ async function installPluginFromPath(params) {
|
|
|
370
370
|
ok: false,
|
|
371
371
|
error: `path not found: ${resolved}`
|
|
372
372
|
};
|
|
373
|
-
if ((await
|
|
373
|
+
if ((await fsPromises.stat(resolved)).isDirectory()) return await installPluginFromDir({
|
|
374
374
|
dirPath: resolved,
|
|
375
375
|
extensionsDir: params.extensionsDir,
|
|
376
376
|
timeoutMs: params.timeoutMs,
|