@bitseek/claw 1.2.6 → 1.2.8
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-CCbfXe4Y.js → accounts-D5DQlttG.js} +7 -7
- package/dist/{accounts-C3iwoWUS.js → accounts-DKvlV3Tm.js} +1 -1
- package/dist/{accounts-ChjgDDok.js → accounts-jPPbCJns.js} +1 -1
- package/dist/{acp-cli-DIikR-tj.js → acp-cli-BZnPaFm3.js} +8 -8
- package/dist/{agent-scope-DHMu2mab.js → agent-scope-CiBV1K6b.js} +1 -1
- package/dist/{agents.config-BoNoGEQI.js → agents.config-DQBEXhzA.js} +2 -2
- package/dist/{api-key-rotation-CuHjsofV.js → api-key-rotation-j4O7qxMf.js} +1 -1
- package/dist/{audio-preflight-BClvbKMQ.js → audio-preflight-BkoTbTIH.js} +36 -36
- package/dist/{audio-transcription-runner-Dv-MCA8E.js → audio-transcription-runner-CF_UP4C7.js} +22 -22
- package/dist/{audit-BAGbgihO.js → audit-1YVlVmk7.js} +29 -29
- package/dist/{auth-B9WdgDjZ.js → auth-Co2g3d8d.js} +1 -1
- package/dist/{auth-choice-FFUrxk0-.js → auth-choice-BamWYpsc.js} +14 -14
- package/dist/{auth-choice-CTCXt7WB.js → auth-choice-CdsMUqKA.js} +12 -12
- package/dist/{auth-choice.apply-helpers-Dz2x-3CK.js → auth-choice.apply-helpers-CQLQ5Tuk.js} +1 -1
- package/dist/{auth-token-BPWVp11S.js → auth-token-BjVRLcvi.js} +1 -1
- package/dist/{bindings-C0k4wFy7.js → bindings-Ck6aotGf.js} +1 -1
- package/dist/{bonjour-discovery-DXvZeG8M.js → bonjour-discovery-CtUQb94i.js} +1 -1
- package/dist/{browser-cli-BwtSgIvC.js → browser-cli-CaBLM5A6.js} +12 -12
- package/dist/build-info.json +3 -3
- package/dist/{call-B9Vrcbed.js → call-BGZQEHL4.js} +10 -10
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-account-context-CeGx9Aq7.js → channel-account-context-C6rIxLzo.js} +5 -5
- package/dist/{channel-options-DmEaPgkZ.js → channel-options-Bnnem_wD.js} +3 -3
- package/dist/{channel-selection-BDdjozhi.js → channel-selection-TZJgoz5h.js} +1 -1
- package/dist/{channel-web-mFdbEE2o.js → channel-web-KY6EP9HT.js} +18 -18
- package/dist/{channels-cli-CCTczoJM.js → channels-cli-tJkvzsqO.js} +94 -94
- package/dist/{channels-status-issues-Dir7g-Pc.js → channels-status-issues-DeT1Znlx.js} +1 -1
- package/dist/{chrome-2gfHr1cU.js → chrome-DzGCPEQK.js} +4 -4
- package/dist/{clawbot-cli-BMGBnmny.js → clawbot-cli-Comysjn9.js} +5 -5
- package/dist/{cli-zsP2OqB6.js → cli-DOS1lPNs.js} +75 -75
- package/dist/{client-BoUhzGrS.js → client-B91adiXh.js} +2 -2
- package/dist/{command-registry-okzYatr9.js → command-registry-Keal8P25.js} +5 -5
- package/dist/{commands-npgZubp3.js → commands-C6OLhl3n.js} +1 -1
- package/dist/{commands-registry-B5jHbfUL.js → commands-registry-CVzTBX51.js} +3 -3
- package/dist/{completion-cli-BFxGdqak.js → completion-cli-BWcHEWr6.js} +2 -2
- package/dist/{completion-cli-Dm9dt8iw.js → completion-cli-B_pSnPVY.js} +12 -12
- package/dist/{config-cli-CJVYN-g-.js → config-cli-DZpbwWvz.js} +7 -7
- package/dist/{config-guard-1SsvFO9G.js → config-guard-9BjlFVZx.js} +17 -17
- package/dist/{config-validation-BJ6PNk8H.js → config-validation-BcxAhhcj.js} +3 -3
- package/dist/{configure-DMwHaNHJ.js → configure-CLMtWGiL.js} +17 -17
- package/dist/control-ui/assets/{index-CKSSOzJL.js → index-puDi2eTY.js} +2 -2
- package/dist/control-ui/assets/index-puDi2eTY.js.map +1 -0
- package/dist/control-ui/brand.png +0 -0
- package/dist/control-ui/index.html +4 -5
- package/dist/{control-ui-assets-DpInddpx.js → control-ui-assets-B_3g_YF0.js} +1 -1
- package/dist/{cron-cli-CyEcKgVG.js → cron-cli-C8kDGh6_.js} +12 -12
- package/dist/{daemon-cli-CB9c5SXP.js → daemon-cli-RKWFtF-K.js} +15 -15
- package/dist/{daemon-install-Bqjc3wky.js → daemon-install-DsJ0L8HP.js} +4 -4
- package/dist/{daemon-install-helpers-CGZBs-X3.js → daemon-install-helpers-CMWYg4_W.js} +11 -11
- package/dist/{dashboard-8HFxt9IY.js → dashboard-BhAYjl6n.js} +2 -2
- package/dist/{deliver-D4ugOkLr.js → deliver-Bn10XzRP.js} +7 -7
- package/dist/{devices-cli-Bp8AMOPE.js → devices-cli-DoJBheGs.js} +8 -8
- package/dist/{diagnostic-phUWJbF_.js → diagnostic-DRPetA8l.js} +1 -1
- package/dist/{diagnostics-D_AmByNE.js → diagnostics-BHQgZbuI.js} +5 -5
- package/dist/{directory-cli-Bt3I30_e.js → directory-cli-Brla3Idn.js} +8 -8
- package/dist/{dns-cli-DaTrsB61.js → dns-cli-rEvE1LG9.js} +5 -5
- package/dist/{dock-swzevZbj.js → dock-BXksV3sC.js} +4 -4
- package/dist/{docs-cli--2Qgcpvs.js → docs-cli-DtThi0Xf.js} +4 -4
- package/dist/{doctor-completion-wHIBxn-7.js → doctor-completion-leOuoRMt.js} +1 -1
- package/dist/{doctor-completion-UEYo4_U6.js → doctor-completion-sKCaOE5l.js} +2 -2
- package/dist/{doctor-config-flow-DKaeaH2u.js → doctor-config-flow-18ijj3KB.js} +15 -15
- package/dist/{enable-xlkWJvIn.js → enable-CJ75JA5u.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{exec-approvals-allowlist-fG-NsL-O.js → exec-approvals-allowlist-CGVHz3PX.js} +1 -1
- package/dist/{exec-approvals-cli-r7jbe_Rj.js → exec-approvals-cli-DfcUJ9Sm.js} +16 -16
- package/dist/{exec-safe-bin-runtime-policy-B9kCrTY1.js → exec-safe-bin-runtime-policy-D7olAQMf.js} +2 -2
- package/dist/{fetch-guard-N12H9lEe.js → fetch-guard-D6eclxeP.js} +1 -1
- package/dist/{fs-safe-BGAE6eOQ.js → fs-safe-p5lyYI__.js} +24 -24
- package/dist/{gateway-cli-BFo0WvJx.js → gateway-cli-BlVNebTw.js} +15 -5
- package/dist/{gateway-cli-Bi6tzv7v.js → gateway-cli-jL3MSRHB.js} +174 -164
- package/dist/{gateway-rpc-BHBGSN7Z.js → gateway-rpc-CJVCek88.js} +1 -1
- package/dist/{health-DlFSsTw-.js → health-Du8dO3vn.js} +14 -14
- package/dist/{hooks-cli-CMLpJr6I.js → hooks-cli-DUIQuGjr.js} +83 -83
- package/dist/{hooks-status-inMD7sD-.js → hooks-status-ONaKEpUH.js} +1 -1
- package/dist/{image-BzR2twGI.js → image-B270IRGo.js} +5 -5
- package/dist/{image-ops-B6BeXmZU.js → image-ops-BAMcbVMS.js} +10 -10
- package/dist/index.js +85 -85
- package/dist/{inspect-BwbOLUun.js → inspect-C0e0Dmvg.js} +4 -4
- package/dist/{install-safe-path-DodF6oyk.js → install-safe-path-CSqVUjL8.js} +25 -25
- package/dist/{installs-8bzJi35e.js → installs-BXOZ3DXs.js} +9 -9
- package/dist/{ipv4-BY_PmkpX.js → ipv4-Bk-doiEE.js} +1 -1
- package/dist/{ir-vGBxQkIg.js → ir-BGgl4f9u.js} +6 -6
- package/dist/{issue-format-B4oxePhU.js → issue-format-rk9Vpcxd.js} +1 -1
- package/dist/{json-files-C7p5SEie.js → json-files-bJqSYqgg.js} +8 -8
- package/dist/{lifecycle-core-C5a4clqu.js → lifecycle-core-Bqse41aA.js} +5 -5
- package/dist/{local-roots-Dcc5UeD8.js → local-roots-jW0nhxVT.js} +3 -3
- package/dist/{login-BM9p9nig.js → login-B2B75WGK.js} +3 -3
- package/dist/{login-qr-CB4JWkHM.js → login-qr-YjUycQZT.js} +6 -6
- package/dist/{logs-cli-DGdXLEv-.js → logs-cli-Dyid6hUQ.js} +9 -9
- package/dist/{manager-X8AF3rQJ.js → manager-C9rftBaE.js} +14 -14
- package/dist/{manifest-registry-HNrtHxxI.js → manifest-registry-B_U2pKBU.js} +1 -1
- package/dist/{markdown-tables-XmfG1bwr.js → markdown-tables-B5l_33qL.js} +1 -1
- package/dist/{memory-cli-87nxADqy.js → memory-cli-o3L9NN74.js} +12 -12
- package/dist/{model-CESXYutI.js → model-FnrgCVyS.js} +2 -2
- package/dist/{model-catalog-DUHxH2xb.js → model-catalog-CjA5pRJF.js} +3 -3
- package/dist/{model-picker-D705WMPf.js → model-picker-CMgjcqV_.js} +4 -4
- package/dist/{model-selection-DCo8MhsE.js → model-selection-xdfZxwgB.js} +16 -16
- package/dist/{models-cli-9x2mp4Ac.js → models-cli-CHUbcM_y.js} +85 -85
- package/dist/{models-config-Bgpjcu8R.js → models-config-Do1Ur_ov.js} +6 -6
- package/dist/{node-cli-DJnihsNr.js → node-cli-DYOdgLUu.js} +33 -33
- package/dist/{node-command-policy-BiPTB8BK.js → node-command-policy-BKUs_pS2.js} +1 -1
- package/dist/{node-service-CfKJ5oC1.js → node-service-6W3vqgVv.js} +1 -1
- package/dist/{nodes-cli-4kBrEEti.js → nodes-cli-CQzck2kc.js} +16 -16
- package/dist/{nodes-screen-FWjD2j3v.js → nodes-screen-Dptoharj.js} +7 -7
- package/dist/{npm-pack-install-CXheGnb0.js → npm-pack-install-Byr0kgft.js} +18 -18
- package/dist/{npm-resolution-DIr_TibO.js → npm-resolution-Dv7nYiaP.js} +5 -5
- package/dist/{onboard-B_MoYnrn.js → onboard-BCcjGKBR.js} +1 -1
- package/dist/{onboard-DEFQu6dU.js → onboard-KHObANUh.js} +6 -6
- package/dist/{onboard-channels-BuG5-e60.js → onboard-channels-CRpmgX82.js} +20 -20
- package/dist/{onboard-custom-HI7NPx1u.js → onboard-custom-Bow6lZPm.js} +3 -3
- package/dist/{onboard-custom.shared-SWx67Er2.js → onboard-custom.shared-CBRRhb95.js} +2 -2
- package/dist/{onboard-helpers-Jc1-4LBc.js → onboard-helpers-B1AEo6oL.js} +11 -11
- package/dist/{onboard-hooks-DFjIpeE_.js → onboard-hooks-CtxRk6l_.js} +4 -4
- package/dist/{onboard-remote-BLAyUeAO.js → onboard-remote-DmHpLoWf.js} +3 -3
- package/dist/{onboard-skills--XkA2Jj4.js → onboard-skills-DwpZY5tZ.js} +4 -4
- package/dist/{onboarding-CSnr51pR.js → onboarding-BTXvw1Ro.js} +1 -1
- package/dist/{onboarding-BQ2WB7tp.js → onboarding-DQNTd5J7.js} +13 -13
- package/dist/{onboarding.finalize-DAbr5Ar8.js → onboarding.finalize-CHYENeNO.js} +87 -87
- package/dist/{onboarding.finalize-BlMlIFRW.js → onboarding.finalize-D0qfP3rB.js} +4 -4
- package/dist/{onboarding.gateway-config-CMKjEPRA.js → onboarding.gateway-config-wXH6gE7c.js} +18 -18
- package/dist/{openai-model-default-BTNz1OzV.js → openai-model-default-Q7Hmy0eQ.js} +2 -2
- package/dist/{outbound-Bf7VAx0-.js → outbound-DlVJWa4u.js} +4 -4
- package/dist/{outbound-attachment-Df5o7JIG.js → outbound-attachment-CZh4VjhT.js} +2 -2
- package/dist/{pairing-cli-CA7Dxs-g.js → pairing-cli-DAMLvDcA.js} +9 -9
- package/dist/{pairing-labels-BBti3jJg.js → pairing-labels-Cl7ROILg.js} +1 -1
- package/dist/{pairing-store-DY0yrkuM.js → pairing-store-DdZ0xMD7.js} +3 -3
- package/dist/{path-alias-guards-BNzjbOwM.js → path-alias-guards-DWh6tSaP.js} +3 -3
- package/dist/{path-safety-dmCI2tpN.js → path-safety-COhgvniC.js} +1 -1
- package/dist/{paths-BZfURxkW.js → paths-AxolTUEH.js} +9 -9
- package/dist/{pi-embedded-helpers-D3nc5XJW.js → pi-embedded-helpers-ZTn-T7tW.js} +6 -6
- package/dist/{pi-model-discovery-BSytrsu4.js → pi-model-discovery-DVhDvAnA.js} +1 -1
- package/dist/{pi-tools.policy-Dwsq-Yaf.js → pi-tools.policy-eyXj0EY5.js} +5 -5
- package/dist/{plugin-auto-enable-4zXn-eVS.js → plugin-auto-enable-D1WySsnE.js} +3 -3
- package/dist/{plugin-registry-DsZTkNKu.js → plugin-registry-TOEmbMc4.js} +3 -3
- package/dist/{plugins-Ce8ThYGQ.js → plugins-CKWxMohB.js} +2 -2
- package/dist/{plugins-cli-DxFh5OQi.js → plugins-cli-Clo_uyvq.js} +85 -85
- package/dist/{ports-wtEwdqsX.js → ports-BL-FP2jP.js} +1 -1
- package/dist/{ports-DXMCFRgn.js → ports-DppAHKM-.js} +2 -2
- package/dist/{program-DnjsZxiJ.js → program-BI6W1Gll.js} +2 -2
- package/dist/{program-context-36wFBslW.js → program-context-D2D7wH7Q.js} +43 -43
- package/dist/{prompt-select-styled-CJt-zhnt.js → prompt-select-styled-CdBJ0FWT.js} +39 -39
- package/dist/{prompt-select-styled-BkpL6eKQ.js → prompt-select-styled-FGF3Su20.js} +1 -1
- package/dist/{provider-auth-helpers-DeJ105rb.js → provider-auth-helpers-D_akOb8A.js} +5 -5
- package/dist/{proxy-env-DhFUQlwP.js → proxy-env-ClbXa7vn.js} +1 -1
- package/dist/{push-apns-SIM2es-Y.js → push-apns-DvNRo3EQ.js} +5 -5
- package/dist/{pw-ai-BOQE6s45.js → pw-ai-D21rIJ2z.js} +15 -15
- package/dist/{qmd-manager-DVKj0i6T.js → qmd-manager-BD6lfN35.js} +20 -20
- package/dist/{qr-cli-Z4_Y6bva.js → qr-cli-BQGJJ5hp.js} +1 -1
- package/dist/{query-expansion-B9kneDbd.js → query-expansion-Dl85zpSb.js} +12 -12
- package/dist/{redact-snapshot-BI4Ryuhy.js → redact-snapshot-DCGL0k2M.js} +1 -1
- package/dist/{register.agent-Cd2LVcga.js → register.agent-DowGjvNc.js} +100 -100
- package/dist/register.configure-BZLa_c3k.js +174 -0
- package/dist/{register.init-BiLKNwSu.js → register.init-B1pIa3ys.js} +5 -88
- package/dist/{register.init-DpFUY5Ed.js → register.init-BrturXsS.js} +20 -103
- package/dist/{register.maintenance-DAU-mVIz.js → register.maintenance-DTx6vUDv.js} +97 -97
- package/dist/{register.maintenance-R4RCi4f3.js → register.maintenance-f8NCHf6u.js} +5 -5
- package/dist/{register.message-B0CI0Q4o.js → register.message-DE-eKss6.js} +76 -76
- package/dist/{register.onboard-BGhXUfbX.js → register.onboard-DmymXZNT.js} +18 -18
- package/dist/{register.onboard-Di7iClKl.js → register.onboard-tT7keiju.js} +2 -2
- package/dist/{register.setup-nlXy06aa.js → register.setup-D9AvFexw.js} +21 -21
- package/dist/{register.setup-Dm_dHAB-.js → register.setup-DjHaiqnA.js} +2 -2
- package/dist/{register.start-Dzss99ZY.js → register.start-BHASi8Um.js} +17 -17
- package/dist/{register.status-health-sessions-B4eNiGWS.js → register.status-health-sessions-Cbva8fTK.js} +89 -89
- package/dist/{register.subclis-1MobNhis.js → register.subclis-pmPhNoRB.js} +3 -3
- package/dist/{replies-k5K96_46.js → replies-B6SXcEs0.js} +1 -1
- package/dist/{reply-DQMWsIE2.js → reply-D8Yu6-Ie.js} +156 -156
- package/dist/{reply-prefix-aBvAQX6L.js → reply-prefix-BttpF8VB.js} +1 -1
- package/dist/{resolve-route-R565qQgt.js → resolve-route-Ck23oGqS.js} +2 -2
- package/dist/{rpc-CMyUzpcT.js → rpc-9jE_1PW0.js} +1 -1
- package/dist/{run-main-CFGtfsPd.js → run-main-D5C2p24j.js} +3 -3
- package/dist/{runtime-D64ACWoX.js → runtime-Rd7ooKB0.js} +2 -2
- package/dist/{sandbox-DH9YtUfB.js → sandbox-BKa5RrBl.js} +18 -18
- package/dist/{sandbox-cli-B1ThXy7C.js → sandbox-cli-BnpEc205.js} +26 -26
- package/dist/{secrets-cli-BEjJ3GP-.js → secrets-cli-CIxUNZyC.js} +10 -10
- package/dist/{security-cli-Zma5k5BZ.js → security-cli-BqOOeGxS.js} +43 -43
- package/dist/{send-NexNe2Wh.js → send-BntubUtK.js} +6 -6
- package/dist/{send-DmVTXBWW.js → send-ByUfPpKj.js} +11 -11
- package/dist/{send-CabiU1-J.js → send-Cua2kS5v.js} +6 -6
- package/dist/{send-BQVNhO4Q.js → send-DuNBSJln.js} +5 -5
- package/dist/{send-CFUSH9C-.js → send-SZBhACLn.js} +8 -8
- package/dist/{server-DQ7D-B-v.js → server-Ct0J5VXf.js} +19 -19
- package/dist/{server-context-Cr-Y4i6P.js → server-context-DWxmyV-0.js} +12 -12
- package/dist/{server-lifecycle-BVnXIEfI.js → server-lifecycle-B7aXKxY3.js} +2 -2
- package/dist/{server-middleware-zyvA9rl9.js → server-middleware-CO1brrgv.js} +1 -1
- package/dist/{server-node-events-oa4mOmsp.js → server-node-events-nakjzVDn.js} +76 -76
- package/dist/{service-BcFhE63y.js → service-DqxfCr8y.js} +15 -15
- package/dist/{session-Dl3x3d75.js → session-FOGqE7bj.js} +1 -1
- package/dist/{session-meta-C6MooccR.js → session-meta-C-ox3bdI.js} +1 -1
- package/dist/{sessions-sIaYsUyX.js → sessions-BpuJ64B0.js} +15 -15
- package/dist/{shared-sFrejcA4.js → shared-BmSv3K8N.js} +1 -1
- package/dist/{shared-DNcLp2mA.js → shared-CgFPGTLU.js} +3 -3
- package/dist/{skill-commands-C2_BOuyl.js → skill-commands-COl0HE54.js} +5 -5
- package/dist/{skill-scanner-DYkQAh0l.js → skill-scanner-CsmM5F4F.js} +6 -6
- package/dist/{skills-BXLKd7i5.js → skills-BeFcXCoN.js} +3 -3
- package/dist/{skills-cli-DrN4v5_m.js → skills-cli-D3ZteX5N.js} +5 -5
- package/dist/{skills-install-CSfh8nRm.js → skills-install-B_Vda3dM.js} +6 -6
- package/dist/{skills-status-C7Q6Ezbv.js → skills-status-BEq0_fOn.js} +1 -1
- package/dist/{status-rMgdZcE5.js → status-CQYA6EJN.js} +25 -25
- package/dist/{status.update-D4GfnNDI.js → status.update-HwSPC5ZX.js} +2 -2
- package/dist/{store-CRcBie8T.js → store-B-nkOSsv.js} +5 -5
- package/dist/{system-cli-Bscj57lL.js → system-cli-IYwpBiC6.js} +9 -9
- package/dist/{system-run-command-Cn5yQ2rv.js → system-run-command-C3OIMtEu.js} +1 -1
- package/dist/{systemd-BIfjzi-4.js → systemd-DJ5Red-Q.js} +9 -9
- package/dist/{systemd-hints-CgtHwBfD.js → systemd-hints-D40Qx3hg.js} +6 -6
- package/dist/{systemd-linger-0Vho6LMt.js → systemd-linger-BK6kig-o.js} +1 -1
- package/dist/{tables-C5n2nXbu.js → tables-C9_oCtRN.js} +1 -1
- package/dist/{tailnet-C8NwaQEp.js → tailnet-BYBKD8Kh.js} +1 -1
- package/dist/{target-errors-cerGxvCB.js → target-errors-B1cYmIjq.js} +4 -4
- package/dist/{tool-images-CgSADinH.js → tool-images-QWbHWc0F.js} +1 -1
- package/dist/{tui-DNT0WnU-.js → tui-Dd6DhgjX.js} +6 -6
- package/dist/{tui-cli-DTFq2wGK.js → tui-cli-C3PCazFC.js} +33 -33
- package/dist/{update-Mb6BH0o9.js → update-B1Dhhu_3.js} +3 -3
- package/dist/{update-cli-Dbb1EPi2.js → update-cli-C2EagLTi.js} +5 -5
- package/dist/{update-cli--qEz2_Eg.js → update-cli-DiT2fFEK.js} +105 -105
- package/dist/{update-runner-Dj_CAfd4.js → update-runner-DO6RodZW.js} +16 -16
- package/dist/web-DbdjX4Hg.js +126 -0
- package/dist/{webhooks-cli-uXE9EOwT.js → webhooks-cli-BFdw7BAP.js} +6 -6
- package/dist/{whatsapp-actions-DeX4x9sq.js → whatsapp-actions-CNoiLzRB.js} +19 -19
- package/dist/{with-timeout-C-EETHnf.js → with-timeout-tSH4Tex_.js} +3 -3
- package/dist/{workspace-TersEUYu.js → workspace-CRdln__H.js} +23 -23
- package/dist/{workspace-1nc7aTpg.js → workspace-dKMB109Q.js} +1 -1
- package/dist/{workspace-dirs-DxTFH1r3.js → workspace-dirs-DcAUEsSG.js} +1 -1
- package/dist/{ws-E9v842O2.js → ws-DKbBt0us.js} +2 -2
- package/dist/{wsl-Dg6XQcw5.js → wsl-yjQQ-PJd.js} +2 -2
- package/package.json +1 -1
- package/dist/control-ui/assets/index-CKSSOzJL.js.map +0 -1
- package/dist/register.configure-DGIWBQvN.js +0 -174
- package/dist/web-BQRkxG9u.js +0 -126
package/dist/index.js
CHANGED
|
@@ -3,133 +3,133 @@ import { S as resolveCliName, b as BITSEEK_CLI_NAME$1, x as replaceCliName } fro
|
|
|
3
3
|
import { D as tryParseLogLevel, F as hasHelpOrVersion, I as hasRootVersionAlias, N as getVerboseFlag, P as hasFlag, f as isRich, j as getCommandPathWithRootOptions, p as theme, s as setVerbose, w as ALLOWED_LOG_LEVELS } from "./globals-uLeGcRW1.js";
|
|
4
4
|
import { T as toWhatsappJid, l as escapeRegExp, m as normalizeE164, n as assertWebChannel } from "./utils-CP51tiAi.js";
|
|
5
5
|
import "./thinking-44rmAw5o.js";
|
|
6
|
-
import { Rt as createDefaultDeps, bt as resolveCommitHash, t as getReplyFromConfig } from "./reply-
|
|
7
|
-
import "./agent-scope-
|
|
6
|
+
import { Rt as createDefaultDeps, bt as resolveCommitHash, t as getReplyFromConfig } from "./reply-D8Yu6-Ie.js";
|
|
7
|
+
import "./agent-scope-CiBV1K6b.js";
|
|
8
8
|
import { d as defaultRuntime, l as visibleWidth, r as enableConsoleCapture } from "./subsystem-BT74-yyS.js";
|
|
9
|
-
import "./workspace-
|
|
9
|
+
import "./workspace-CRdln__H.js";
|
|
10
10
|
import "./logger-D04dg4Ex.js";
|
|
11
11
|
import { n as runExec, t as runCommandWithTimeout } from "./exec-BdDcFm8M.js";
|
|
12
|
-
import { Qr as loadDotEnv, Wt as loadConfig } from "./model-selection-
|
|
12
|
+
import { Qr as loadDotEnv, Wt as loadConfig } from "./model-selection-xdfZxwgB.js";
|
|
13
13
|
import "./github-copilot-token-CVsUoC9m.js";
|
|
14
14
|
import "./boolean-BgXe2hyu.js";
|
|
15
15
|
import { r as normalizeEnv, t as isTruthyEnvValue } from "./env-4r1Vlroz.js";
|
|
16
16
|
import "./host-env-security-BiAcoumI.js";
|
|
17
17
|
import { r as VERSION } from "./env-vars-DM119fhK.js";
|
|
18
18
|
import "./registry-CUyWRciN.js";
|
|
19
|
-
import "./manifest-registry-
|
|
20
|
-
import "./dock-
|
|
19
|
+
import "./manifest-registry-B_U2pKBU.js";
|
|
20
|
+
import "./dock-BXksV3sC.js";
|
|
21
21
|
import "./message-channel-CKAn7Lf7.js";
|
|
22
|
-
import "./send-
|
|
23
|
-
import { l as installUnhandledRejectionHandler, v as applyTemplate } from "./audio-transcription-runner-
|
|
24
|
-
import "./image-
|
|
25
|
-
import "./models-config-
|
|
26
|
-
import "./pi-model-discovery-
|
|
27
|
-
import "./pi-embedded-helpers-
|
|
28
|
-
import "./sandbox-
|
|
22
|
+
import "./send-ByUfPpKj.js";
|
|
23
|
+
import { l as installUnhandledRejectionHandler, v as applyTemplate } from "./audio-transcription-runner-CF_UP4C7.js";
|
|
24
|
+
import "./image-B270IRGo.js";
|
|
25
|
+
import "./models-config-Do1Ur_ov.js";
|
|
26
|
+
import "./pi-model-discovery-DVhDvAnA.js";
|
|
27
|
+
import "./pi-embedded-helpers-ZTn-T7tW.js";
|
|
28
|
+
import "./sandbox-BKa5RrBl.js";
|
|
29
29
|
import "./tool-catalog-zFhF8IWN.js";
|
|
30
|
-
import "./chrome-
|
|
30
|
+
import "./chrome-DzGCPEQK.js";
|
|
31
31
|
import { l as ensureBinary, u as promptYesNo } from "./tailscale-OcOGSzmc.js";
|
|
32
|
-
import "./tailnet-
|
|
33
|
-
import "./ws-
|
|
34
|
-
import "./auth-
|
|
35
|
-
import "./server-context-
|
|
32
|
+
import "./tailnet-BYBKD8Kh.js";
|
|
33
|
+
import "./ws-DKbBt0us.js";
|
|
34
|
+
import "./auth-Co2g3d8d.js";
|
|
35
|
+
import "./server-context-DWxmyV-0.js";
|
|
36
36
|
import "./frontmatter-f69paAeU.js";
|
|
37
|
-
import "./skills-
|
|
38
|
-
import "./path-alias-guards-
|
|
39
|
-
import "./paths-
|
|
37
|
+
import "./skills-BeFcXCoN.js";
|
|
38
|
+
import "./path-alias-guards-DWh6tSaP.js";
|
|
39
|
+
import "./paths-AxolTUEH.js";
|
|
40
40
|
import "./redact-Bf_pxORb.js";
|
|
41
41
|
import { i as formatUncaughtError } from "./errors-D5pCqwf4.js";
|
|
42
|
-
import "./fs-safe-
|
|
43
|
-
import "./proxy-env-
|
|
44
|
-
import "./image-ops-
|
|
45
|
-
import "./store-
|
|
46
|
-
import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-
|
|
42
|
+
import "./fs-safe-p5lyYI__.js";
|
|
43
|
+
import "./proxy-env-ClbXa7vn.js";
|
|
44
|
+
import "./image-ops-BAMcbVMS.js";
|
|
45
|
+
import "./store-B-nkOSsv.js";
|
|
46
|
+
import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-DppAHKM-.js";
|
|
47
47
|
import "./trash-Cq4N8bvb.js";
|
|
48
|
-
import "./server-middleware-
|
|
49
|
-
import { B as resolveSessionKey, l as saveSessionStore, o as loadSessionStore, z as deriveSessionKey } from "./sessions-
|
|
50
|
-
import "./plugins-
|
|
51
|
-
import "./accounts-
|
|
52
|
-
import "./accounts-
|
|
48
|
+
import "./server-middleware-CO1brrgv.js";
|
|
49
|
+
import { B as resolveSessionKey, l as saveSessionStore, o as loadSessionStore, z as deriveSessionKey } from "./sessions-BpuJ64B0.js";
|
|
50
|
+
import "./plugins-CKWxMohB.js";
|
|
51
|
+
import "./accounts-D5DQlttG.js";
|
|
52
|
+
import "./accounts-DKvlV3Tm.js";
|
|
53
53
|
import "./logging-Dn5qdhsZ.js";
|
|
54
|
-
import "./accounts-
|
|
55
|
-
import "./bindings-
|
|
56
|
-
import "./send-
|
|
54
|
+
import "./accounts-jPPbCJns.js";
|
|
55
|
+
import "./bindings-Ck6aotGf.js";
|
|
56
|
+
import "./send-DuNBSJln.js";
|
|
57
57
|
import { c as resolveStorePath } from "./paths-BJLbJUqV.js";
|
|
58
58
|
import "./chat-envelope-D2ZROPtK.js";
|
|
59
|
-
import "./tool-images-
|
|
59
|
+
import "./tool-images-QWbHWc0F.js";
|
|
60
60
|
import "./tool-display-BnVcCWLz.js";
|
|
61
|
-
import "./fetch-guard-
|
|
62
|
-
import "./api-key-rotation-
|
|
63
|
-
import "./local-roots-
|
|
64
|
-
import "./model-catalog-
|
|
61
|
+
import "./fetch-guard-D6eclxeP.js";
|
|
62
|
+
import "./api-key-rotation-j4O7qxMf.js";
|
|
63
|
+
import "./local-roots-jW0nhxVT.js";
|
|
64
|
+
import "./model-catalog-CjA5pRJF.js";
|
|
65
65
|
import "./proxy-fetch-7LT9tml2.js";
|
|
66
66
|
import "./tokens-BK5VYCE_.js";
|
|
67
|
-
import "./deliver-
|
|
68
|
-
import "./commands-
|
|
69
|
-
import "./commands-registry-
|
|
70
|
-
import "./client-
|
|
71
|
-
import "./call-
|
|
67
|
+
import "./deliver-Bn10XzRP.js";
|
|
68
|
+
import "./commands-C6OLhl3n.js";
|
|
69
|
+
import "./commands-registry-CVzTBX51.js";
|
|
70
|
+
import "./client-B91adiXh.js";
|
|
71
|
+
import "./call-BGZQEHL4.js";
|
|
72
72
|
import "./pairing-token-QppPqMJU.js";
|
|
73
73
|
import "./fetch-Ca92M4MR.js";
|
|
74
74
|
import "./retry-AsJdJVsE.js";
|
|
75
|
-
import "./pairing-store-
|
|
75
|
+
import "./pairing-store-DdZ0xMD7.js";
|
|
76
76
|
import "./exec-approvals-C23wqMXV.js";
|
|
77
|
-
import "./exec-approvals-allowlist-
|
|
78
|
-
import "./exec-safe-bin-runtime-policy-
|
|
79
|
-
import "./nodes-screen-
|
|
80
|
-
import "./target-errors-
|
|
81
|
-
import "./system-run-command-
|
|
77
|
+
import "./exec-approvals-allowlist-CGVHz3PX.js";
|
|
78
|
+
import "./exec-safe-bin-runtime-policy-D7olAQMf.js";
|
|
79
|
+
import "./nodes-screen-Dptoharj.js";
|
|
80
|
+
import "./target-errors-B1cYmIjq.js";
|
|
81
|
+
import "./system-run-command-C3OIMtEu.js";
|
|
82
82
|
import "./diagnostic-session-state-DtDi2x-e.js";
|
|
83
|
-
import "./with-timeout-
|
|
84
|
-
import "./diagnostic-
|
|
85
|
-
import "./send-
|
|
86
|
-
import "./model-
|
|
87
|
-
import "./reply-prefix-
|
|
83
|
+
import "./with-timeout-tSH4Tex_.js";
|
|
84
|
+
import "./diagnostic-DRPetA8l.js";
|
|
85
|
+
import "./send-SZBhACLn.js";
|
|
86
|
+
import "./model-FnrgCVyS.js";
|
|
87
|
+
import "./reply-prefix-BttpF8VB.js";
|
|
88
88
|
import "./chunk-mV8H66i-.js";
|
|
89
|
-
import "./markdown-tables-
|
|
90
|
-
import "./ir-
|
|
89
|
+
import "./markdown-tables-B5l_33qL.js";
|
|
90
|
+
import "./ir-BGgl4f9u.js";
|
|
91
91
|
import "./render-C9RrMnL2.js";
|
|
92
|
-
import "./channel-selection-
|
|
93
|
-
import "./plugin-auto-enable-
|
|
94
|
-
import "./send-
|
|
95
|
-
import "./outbound-attachment-
|
|
92
|
+
import "./channel-selection-TZJgoz5h.js";
|
|
93
|
+
import "./plugin-auto-enable-D1WySsnE.js";
|
|
94
|
+
import "./send-Cua2kS5v.js";
|
|
95
|
+
import "./outbound-attachment-CZh4VjhT.js";
|
|
96
96
|
import "./delivery-queue-EvfYzqtX.js";
|
|
97
|
-
import "./send-
|
|
98
|
-
import "./resolve-route-
|
|
99
|
-
import "./pi-tools.policy-
|
|
97
|
+
import "./send-BntubUtK.js";
|
|
98
|
+
import "./resolve-route-Ck23oGqS.js";
|
|
99
|
+
import "./pi-tools.policy-eyXj0EY5.js";
|
|
100
100
|
import "./channel-activity-C--BGtPd.js";
|
|
101
|
-
import "./tables-
|
|
101
|
+
import "./tables-C9_oCtRN.js";
|
|
102
102
|
import "./proxy-D8dYXgWo.js";
|
|
103
|
-
import "./replies-
|
|
104
|
-
import "./skill-commands-
|
|
105
|
-
import "./workspace-dirs-
|
|
103
|
+
import "./replies-B6SXcEs0.js";
|
|
104
|
+
import "./skill-commands-COl0HE54.js";
|
|
105
|
+
import "./workspace-dirs-DcAUEsSG.js";
|
|
106
106
|
import "./session-cost-usage-DbjE1AVb.js";
|
|
107
|
-
import "./onboard-helpers-
|
|
107
|
+
import "./onboard-helpers-B1AEo6oL.js";
|
|
108
108
|
import "./prompt-style-sTNfJFX8.js";
|
|
109
|
-
import "./pairing-labels-
|
|
110
|
-
import "./session-meta-
|
|
111
|
-
import "./memory-cli-
|
|
112
|
-
import "./manager-
|
|
113
|
-
import "./query-expansion-
|
|
109
|
+
import "./pairing-labels-Cl7ROILg.js";
|
|
110
|
+
import "./session-meta-C-ox3bdI.js";
|
|
111
|
+
import "./memory-cli-o3L9NN74.js";
|
|
112
|
+
import "./manager-C9rftBaE.js";
|
|
113
|
+
import "./query-expansion-Dl85zpSb.js";
|
|
114
114
|
import { t as formatDocsLink } from "./links-CM7pO4C5.js";
|
|
115
115
|
import "./cli-utils-BKqG4ZT-.js";
|
|
116
116
|
import "./help-format-DUJs-8Xi.js";
|
|
117
117
|
import "./progress-86COuAnG.js";
|
|
118
|
-
import "./server-lifecycle-
|
|
118
|
+
import "./server-lifecycle-B7aXKxY3.js";
|
|
119
119
|
import "./stagger-C-R8Eo-4.js";
|
|
120
120
|
import "./constants-BJiQF5Ae.js";
|
|
121
121
|
import "./context-window-guard-BNuaId5E.js";
|
|
122
|
-
import { r as waitForever, t as monitorWebChannel } from "./channel-web-
|
|
123
|
-
import "./outbound-
|
|
124
|
-
import "./session-
|
|
125
|
-
import "./login-
|
|
122
|
+
import { r as waitForever, t as monitorWebChannel } from "./channel-web-KY6EP9HT.js";
|
|
123
|
+
import "./outbound-DlVJWa4u.js";
|
|
124
|
+
import "./session-FOGqE7bj.js";
|
|
125
|
+
import "./login-B2B75WGK.js";
|
|
126
126
|
import { t as isMainModule } from "./is-main-Dha5s7-d.js";
|
|
127
127
|
import { t as ensureOpenClawCliOnPath } from "./path-env-DzEqwLCq.js";
|
|
128
128
|
import { t as assertSupportedRuntime } from "./runtime-guard-p6l4jDOj.js";
|
|
129
|
-
import "./ports-
|
|
130
|
-
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-
|
|
131
|
-
import "./plugin-registry-
|
|
132
|
-
import { n as resolveCliChannelOptions } from "./channel-options-
|
|
129
|
+
import "./ports-BL-FP2jP.js";
|
|
130
|
+
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-D2D7wH7Q.js";
|
|
131
|
+
import "./plugin-registry-TOEmbMc4.js";
|
|
132
|
+
import { n as resolveCliChannelOptions } from "./channel-options-Bnnem_wD.js";
|
|
133
133
|
import process$1 from "node:process";
|
|
134
134
|
import { fileURLToPath } from "node:url";
|
|
135
135
|
import { Command, InvalidArgumentError } from "commander";
|
|
@@ -594,11 +594,11 @@ function shouldBypassConfigGuard(commandPath) {
|
|
|
594
594
|
return false;
|
|
595
595
|
}
|
|
596
596
|
function loadConfigGuardModule() {
|
|
597
|
-
configGuardModulePromise ??= import("./config-guard-
|
|
597
|
+
configGuardModulePromise ??= import("./config-guard-9BjlFVZx.js");
|
|
598
598
|
return configGuardModulePromise;
|
|
599
599
|
}
|
|
600
600
|
function loadPluginRegistryModule() {
|
|
601
|
-
pluginRegistryModulePromise ??= import("./plugin-registry-
|
|
601
|
+
pluginRegistryModulePromise ??= import("./plugin-registry-TOEmbMc4.js").then((n) => n.n);
|
|
602
602
|
return pluginRegistryModulePromise;
|
|
603
603
|
}
|
|
604
604
|
function getRootCommand(command) {
|
|
@@ -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-DywKPp3i.js";
|
|
2
|
-
import { n as execSchtasks } from "./service-
|
|
2
|
+
import { n as execSchtasks } from "./service-DqxfCr8y.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 { A as isNotFoundPathError, j as isPathInside } from "./workspace-
|
|
2
|
-
import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
3
|
-
import { n as resolveSafeBaseDir } from "./path-safety-
|
|
1
|
+
import { A as isNotFoundPathError, j as isPathInside } from "./workspace-CRdln__H.js";
|
|
2
|
+
import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-p5lyYI__.js";
|
|
3
|
+
import { n as resolveSafeBaseDir } from "./path-safety-COhgvniC.js";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fs 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";
|
|
@@ -78,9 +78,9 @@ function resolveArchiveKind(filePath) {
|
|
|
78
78
|
async function resolvePackedRootDir(extractDir) {
|
|
79
79
|
const direct = path.join(extractDir, "package");
|
|
80
80
|
try {
|
|
81
|
-
if ((await
|
|
81
|
+
if ((await fs.stat(direct)).isDirectory()) return direct;
|
|
82
82
|
} catch {}
|
|
83
|
-
const dirs = (await
|
|
83
|
+
const dirs = (await fs.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
|
|
84
84
|
if (dirs.length !== 1) throw new Error(`unexpected archive layout (dirs: ${dirs.join(", ")})`);
|
|
85
85
|
const onlyDir = dirs[0];
|
|
86
86
|
if (!onlyDir) throw new Error("unexpected archive layout (no package dir found)");
|
|
@@ -150,10 +150,10 @@ function symlinkTraversalError(originalPath) {
|
|
|
150
150
|
return new ArchiveSecurityError("destination-symlink-traversal", `${ERROR_ARCHIVE_ENTRY_TRAVERSES_SYMLINK}: ${originalPath}`);
|
|
151
151
|
}
|
|
152
152
|
async function assertDestinationDirReady(destDir) {
|
|
153
|
-
const stat = await
|
|
153
|
+
const stat = await fs.lstat(destDir);
|
|
154
154
|
if (stat.isSymbolicLink()) throw new ArchiveSecurityError("destination-symlink", "archive destination is a symlink");
|
|
155
155
|
if (!stat.isDirectory()) throw new ArchiveSecurityError("destination-not-directory", "archive destination is not a directory");
|
|
156
|
-
return await
|
|
156
|
+
return await fs.realpath(destDir);
|
|
157
157
|
}
|
|
158
158
|
async function assertNoSymlinkTraversal(params) {
|
|
159
159
|
const parts = params.relPath.split("/").filter(Boolean);
|
|
@@ -162,7 +162,7 @@ async function assertNoSymlinkTraversal(params) {
|
|
|
162
162
|
current = path.join(current, part);
|
|
163
163
|
let stat;
|
|
164
164
|
try {
|
|
165
|
-
stat = await
|
|
165
|
+
stat = await fs.lstat(current);
|
|
166
166
|
} catch (err) {
|
|
167
167
|
if (isNotFoundPathError(err)) continue;
|
|
168
168
|
throw err;
|
|
@@ -173,7 +173,7 @@ async function assertNoSymlinkTraversal(params) {
|
|
|
173
173
|
async function assertResolvedInsideDestination(params) {
|
|
174
174
|
let resolved;
|
|
175
175
|
try {
|
|
176
|
-
resolved = await
|
|
176
|
+
resolved = await fs.realpath(params.targetPath);
|
|
177
177
|
} catch (err) {
|
|
178
178
|
if (isNotFoundPathError(err)) return;
|
|
179
179
|
throw err;
|
|
@@ -196,12 +196,12 @@ async function openZipOutputFile(params) {
|
|
|
196
196
|
async function cleanupPartialRegularFile(filePath) {
|
|
197
197
|
let stat;
|
|
198
198
|
try {
|
|
199
|
-
stat = await
|
|
199
|
+
stat = await fs.lstat(filePath);
|
|
200
200
|
} catch (err) {
|
|
201
201
|
if (isNotFoundPathError(err)) return;
|
|
202
202
|
throw err;
|
|
203
203
|
}
|
|
204
|
-
if (stat.isFile()) await
|
|
204
|
+
if (stat.isFile()) await fs.unlink(filePath).catch(() => void 0);
|
|
205
205
|
}
|
|
206
206
|
async function readZipEntryStream(entry) {
|
|
207
207
|
if (typeof entry.nodeStream === "function") return entry.nodeStream();
|
|
@@ -229,7 +229,7 @@ async function prepareZipOutputPath(params) {
|
|
|
229
229
|
originalPath: params.originalPath
|
|
230
230
|
});
|
|
231
231
|
if (params.isDirectory) {
|
|
232
|
-
await
|
|
232
|
+
await fs.mkdir(params.outPath, { recursive: true });
|
|
233
233
|
await assertResolvedInsideDestination({
|
|
234
234
|
destinationRealDir: params.destinationRealDir,
|
|
235
235
|
targetPath: params.outPath,
|
|
@@ -238,7 +238,7 @@ async function prepareZipOutputPath(params) {
|
|
|
238
238
|
return;
|
|
239
239
|
}
|
|
240
240
|
const parentDir = path.dirname(params.outPath);
|
|
241
|
-
await
|
|
241
|
+
await fs.mkdir(parentDir, { recursive: true });
|
|
242
242
|
await assertResolvedInsideDestination({
|
|
243
243
|
destinationRealDir: params.destinationRealDir,
|
|
244
244
|
targetPath: parentDir,
|
|
@@ -261,7 +261,7 @@ async function writeZipFileEntry(params) {
|
|
|
261
261
|
try {
|
|
262
262
|
await pipeline(readable, createExtractBudgetTransform({ onChunkBytes: params.budget.addBytes }), writable);
|
|
263
263
|
} catch (err) {
|
|
264
|
-
if (opened.createdForWrite) await
|
|
264
|
+
if (opened.createdForWrite) await fs.rm(opened.openedRealPath, { force: true }).catch(() => void 0);
|
|
265
265
|
else await cleanupPartialRegularFile(opened.openedRealPath).catch(() => void 0);
|
|
266
266
|
throw err;
|
|
267
267
|
} finally {
|
|
@@ -269,14 +269,14 @@ async function writeZipFileEntry(params) {
|
|
|
269
269
|
}
|
|
270
270
|
if (typeof params.entry.unixPermissions === "number") {
|
|
271
271
|
const mode = params.entry.unixPermissions & 511;
|
|
272
|
-
if (mode !== 0) await
|
|
272
|
+
if (mode !== 0) await fs.chmod(opened.openedRealPath, mode).catch(() => void 0);
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
async function extractZip(params) {
|
|
276
276
|
const limits = resolveExtractLimits(params.limits);
|
|
277
277
|
const destinationRealDir = await assertDestinationDirReady(params.destDir);
|
|
278
|
-
if ((await
|
|
279
|
-
const buffer = await
|
|
278
|
+
if ((await fs.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
|
|
279
|
+
const buffer = await fs.readFile(params.archivePath);
|
|
280
280
|
const zip = await JSZip.loadAsync(buffer);
|
|
281
281
|
const entries = Object.values(zip.files);
|
|
282
282
|
const strip = Math.max(0, Math.floor(params.stripComponents ?? 0));
|
|
@@ -349,7 +349,7 @@ async function extractArchive(params) {
|
|
|
349
349
|
const label = kind === "zip" ? "extract zip" : "extract tar";
|
|
350
350
|
if (kind === "tar") {
|
|
351
351
|
const limits = resolveExtractLimits(params.limits);
|
|
352
|
-
if ((await
|
|
352
|
+
if ((await fs.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
|
|
353
353
|
const checkTarEntrySafety = createTarEntrySafetyChecker({
|
|
354
354
|
rootDir: params.destDir,
|
|
355
355
|
stripComponents: params.stripComponents,
|
|
@@ -382,14 +382,14 @@ async function extractArchive(params) {
|
|
|
382
382
|
}
|
|
383
383
|
async function fileExists(filePath) {
|
|
384
384
|
try {
|
|
385
|
-
await
|
|
385
|
+
await fs.stat(filePath);
|
|
386
386
|
return true;
|
|
387
387
|
} catch {
|
|
388
388
|
return false;
|
|
389
389
|
}
|
|
390
390
|
}
|
|
391
391
|
async function readJsonFile(filePath) {
|
|
392
|
-
const raw = await
|
|
392
|
+
const raw = await fs.readFile(filePath, "utf-8");
|
|
393
393
|
return JSON.parse(raw);
|
|
394
394
|
}
|
|
395
395
|
|
|
@@ -433,13 +433,13 @@ async function assertCanonicalPathWithinBase(params) {
|
|
|
433
433
|
const baseDir = path.resolve(params.baseDir);
|
|
434
434
|
const candidatePath = path.resolve(params.candidatePath);
|
|
435
435
|
if (!isPathInside(baseDir, candidatePath)) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
|
|
436
|
-
const baseLstat = await
|
|
436
|
+
const baseLstat = await fs.lstat(baseDir);
|
|
437
437
|
if (!baseLstat.isDirectory() || baseLstat.isSymbolicLink()) throw new Error(`Invalid ${params.boundaryLabel}: base directory must be a real directory`);
|
|
438
|
-
const baseRealPath = await
|
|
438
|
+
const baseRealPath = await fs.realpath(baseDir);
|
|
439
439
|
const validateDirectory = async (dirPath) => {
|
|
440
|
-
const dirLstat = await
|
|
440
|
+
const dirLstat = await fs.lstat(dirPath);
|
|
441
441
|
if (!dirLstat.isDirectory() || dirLstat.isSymbolicLink()) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
|
|
442
|
-
if (!isPathInside(baseRealPath, await
|
|
442
|
+
if (!isPathInside(baseRealPath, await fs.realpath(dirPath))) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
|
|
443
443
|
};
|
|
444
444
|
try {
|
|
445
445
|
await validateDirectory(candidatePath);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as CONFIG_DIR, y as resolveUserPath } from "./utils-CP51tiAi.js";
|
|
2
2
|
import { i as isPathInside, r as extensionUsesSkippedScannerPath } from "./legacy-names-BYUgjYSw.js";
|
|
3
|
-
import { o as loadPluginManifest, s as resolvePackageExtensionEntries } from "./manifest-registry-
|
|
4
|
-
import { S as validateRegistryNpmSpec } from "./skills-
|
|
5
|
-
import { c as writeFileFromPathWithinRoot } from "./fs-safe-
|
|
6
|
-
import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-
|
|
7
|
-
import { a as installPackageDir, c as resolveTimedInstallModeOptions, d as buildNpmResolutionFields, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-
|
|
8
|
-
import { t as scanDirectoryWithSummary } from "./skill-scanner-
|
|
3
|
+
import { o as loadPluginManifest, s as resolvePackageExtensionEntries } from "./manifest-registry-B_U2pKBU.js";
|
|
4
|
+
import { S as validateRegistryNpmSpec } from "./skills-BeFcXCoN.js";
|
|
5
|
+
import { c as writeFileFromPathWithinRoot } from "./fs-safe-p5lyYI__.js";
|
|
6
|
+
import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-CSqVUjL8.js";
|
|
7
|
+
import { a as installPackageDir, c as resolveTimedInstallModeOptions, d as buildNpmResolutionFields, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-Byr0kgft.js";
|
|
8
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner-CsmM5F4F.js";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import
|
|
10
|
+
import fs from "node:fs/promises";
|
|
11
11
|
|
|
12
12
|
//#region src/plugins/install.ts
|
|
13
13
|
const MISSING_EXTENSIONS_ERROR = "package.json missing openclaw.extensions; update the plugin package to include openclaw.extensions (for example [\"./dist/index.js\"]). See https://docs.openclaw.ai/help/troubleshooting#plugin-install-fails-with-missing-openclaw-extensions";
|
|
@@ -237,7 +237,7 @@ async function installPluginFromDir(params) {
|
|
|
237
237
|
ok: false,
|
|
238
238
|
error: `directory not found: ${dirPath}`
|
|
239
239
|
};
|
|
240
|
-
if (!(await
|
|
240
|
+
if (!(await fs.stat(dirPath)).isDirectory()) return {
|
|
241
241
|
ok: false,
|
|
242
242
|
error: `not a directory: ${dirPath}`
|
|
243
243
|
};
|
|
@@ -254,7 +254,7 @@ async function installPluginFromFile(params) {
|
|
|
254
254
|
error: `file not found: ${filePath}`
|
|
255
255
|
};
|
|
256
256
|
const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
|
|
257
|
-
await
|
|
257
|
+
await fs.mkdir(extensionsDir, { recursive: true });
|
|
258
258
|
const pluginId = path.basename(filePath, path.extname(filePath)) || "plugin";
|
|
259
259
|
const pluginIdError = validatePluginId(pluginId);
|
|
260
260
|
if (pluginIdError) return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { En as isIpv6Address, Mn as parseCanonicalIpAddress, Sn as isCanonicalDottedDecimalIPv4 } from "./model-selection-
|
|
1
|
+
import { En as isIpv6Address, Mn as parseCanonicalIpAddress, Sn as isCanonicalDottedDecimalIPv4 } from "./model-selection-xdfZxwgB.js";
|
|
2
2
|
import { o as getTailnetHostname } from "./tailscale-OcOGSzmc.js";
|
|
3
3
|
|
|
4
4
|
//#region src/gateway/gateway-config-prompts.shared.ts
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { a as logVerbose, c as shouldLogVerbose } from "./globals-uLeGcRW1.js";
|
|
2
2
|
import { y as resolveUserPath } from "./utils-CP51tiAi.js";
|
|
3
|
-
import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-
|
|
4
|
-
import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-
|
|
5
|
-
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-
|
|
3
|
+
import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-p5lyYI__.js";
|
|
4
|
+
import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-BAMcbVMS.js";
|
|
5
|
+
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-jW0nhxVT.js";
|
|
6
6
|
import { a as chunkText } from "./chunk-mV8H66i-.js";
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
import path from "node:path";
|
|
9
|
-
import
|
|
9
|
+
import fs from "node:fs/promises";
|
|
10
10
|
import MarkdownIt from "markdown-it";
|
|
11
11
|
|
|
12
12
|
//#region src/web/media.ts
|
|
@@ -37,7 +37,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
37
37
|
const roots = localRoots ?? getDefaultLocalRoots();
|
|
38
38
|
let resolved;
|
|
39
39
|
try {
|
|
40
|
-
resolved = await
|
|
40
|
+
resolved = await fs.realpath(mediaPath);
|
|
41
41
|
} catch {
|
|
42
42
|
resolved = path.resolve(mediaPath);
|
|
43
43
|
}
|
|
@@ -54,7 +54,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
54
54
|
for (const root of roots) {
|
|
55
55
|
let resolvedRoot;
|
|
56
56
|
try {
|
|
57
|
-
resolvedRoot = await
|
|
57
|
+
resolvedRoot = await fs.realpath(root);
|
|
58
58
|
} catch {
|
|
59
59
|
resolvedRoot = path.resolve(root);
|
|
60
60
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
|
|
5
5
|
//#region src/infra/json-files.ts
|
|
6
6
|
async function readJsonFile(filePath) {
|
|
7
7
|
try {
|
|
8
|
-
const raw = await
|
|
8
|
+
const raw = await fs.readFile(filePath, "utf8");
|
|
9
9
|
return JSON.parse(raw);
|
|
10
10
|
} catch {
|
|
11
11
|
return null;
|
|
@@ -23,19 +23,19 @@ async function writeTextAtomic(filePath, content, options) {
|
|
|
23
23
|
const payload = options?.appendTrailingNewline && !content.endsWith("\n") ? `${content}\n` : content;
|
|
24
24
|
const mkdirOptions = { recursive: true };
|
|
25
25
|
if (typeof options?.ensureDirMode === "number") mkdirOptions.mode = options.ensureDirMode;
|
|
26
|
-
await
|
|
26
|
+
await fs.mkdir(path.dirname(filePath), mkdirOptions);
|
|
27
27
|
const tmp = `${filePath}.${randomUUID()}.tmp`;
|
|
28
28
|
try {
|
|
29
|
-
await
|
|
29
|
+
await fs.writeFile(tmp, payload, "utf8");
|
|
30
30
|
try {
|
|
31
|
-
await
|
|
31
|
+
await fs.chmod(tmp, mode);
|
|
32
32
|
} catch {}
|
|
33
|
-
await
|
|
33
|
+
await fs.rename(tmp, filePath);
|
|
34
34
|
try {
|
|
35
|
-
await
|
|
35
|
+
await fs.chmod(filePath, mode);
|
|
36
36
|
} catch {}
|
|
37
37
|
} finally {
|
|
38
|
-
await
|
|
38
|
+
await fs.rm(tmp, { force: true }).catch(() => void 0);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
function createAsyncLock() {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { d as resolveIsNixMode } from "./paths-BYr-iJJ9.js";
|
|
2
2
|
import { d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme } from "./globals-uLeGcRW1.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-BT74-yyS.js";
|
|
4
|
-
import { Wt as loadConfig } from "./model-selection-
|
|
4
|
+
import { Wt as loadConfig } from "./model-selection-xdfZxwgB.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-DBmYTAza.js";
|
|
6
6
|
import { t as resolveGatewayCredentialsFromConfig } from "./credentials-PRol0Tvd.js";
|
|
7
|
-
import { t as isWSL } from "./wsl-
|
|
7
|
+
import { t as isWSL } from "./wsl-yjQQ-PJd.js";
|
|
8
8
|
import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, p as resolveGatewayWindowsTaskName } from "./constants-DywKPp3i.js";
|
|
9
|
-
import { r as isSystemdUserServiceAvailable } from "./systemd-
|
|
10
|
-
import { s as resolveGatewayLogPaths } from "./service-
|
|
11
|
-
import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-
|
|
9
|
+
import { r as isSystemdUserServiceAvailable } from "./systemd-DJ5Red-Q.js";
|
|
10
|
+
import { s as resolveGatewayLogPaths } from "./service-DqxfCr8y.js";
|
|
11
|
+
import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-D40Qx3hg.js";
|
|
12
12
|
import { t as parsePort } from "./parse-port-DEJJlpU0.js";
|
|
13
13
|
import { Writable } from "node:stream";
|
|
14
14
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-BYr-iJJ9.js";
|
|
2
2
|
import { k as resolvePreferredOpenClawTmpDir } from "./globals-uLeGcRW1.js";
|
|
3
|
-
import { u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
4
|
-
import { c as detectMime, l as extensionForMime } from "./image-ops-
|
|
5
|
-
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
3
|
+
import { u as resolveAgentWorkspaceDir } from "./agent-scope-CiBV1K6b.js";
|
|
4
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-BAMcbVMS.js";
|
|
5
|
+
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-D6eclxeP.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
8
8
|
//#region src/media/read-response-with-limit.ts
|
|
@@ -2,10 +2,10 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { l as success, n as info, t as danger } from "./globals-uLeGcRW1.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-BT74-yyS.js";
|
|
4
4
|
import { r as logInfo } from "./logger-D04dg4Ex.js";
|
|
5
|
-
import { Wt as loadConfig } from "./model-selection-
|
|
5
|
+
import { Wt as loadConfig } from "./model-selection-xdfZxwgB.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-DBmYTAza.js";
|
|
7
|
-
import { i as resolveWhatsAppAccount, l as logoutWeb } from "./accounts-
|
|
8
|
-
import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-
|
|
7
|
+
import { i as resolveWhatsAppAccount, l as logoutWeb } from "./accounts-D5DQlttG.js";
|
|
8
|
+
import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-FOGqE7bj.js";
|
|
9
9
|
import { DisconnectReason } from "@whiskeysockets/baileys";
|
|
10
10
|
|
|
11
11
|
//#region src/web/login.ts
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import "./paths-BYr-iJJ9.js";
|
|
2
2
|
import { l as success, n as info, t as danger } from "./globals-uLeGcRW1.js";
|
|
3
3
|
import "./utils-CP51tiAi.js";
|
|
4
|
-
import "./agent-scope-
|
|
4
|
+
import "./agent-scope-CiBV1K6b.js";
|
|
5
5
|
import { d as defaultRuntime } from "./subsystem-BT74-yyS.js";
|
|
6
|
-
import "./workspace-
|
|
6
|
+
import "./workspace-CRdln__H.js";
|
|
7
7
|
import { r as logInfo } from "./logger-D04dg4Ex.js";
|
|
8
8
|
import "./exec-BdDcFm8M.js";
|
|
9
|
-
import { Wt as loadConfig } from "./model-selection-
|
|
9
|
+
import { Wt as loadConfig } from "./model-selection-xdfZxwgB.js";
|
|
10
10
|
import "./github-copilot-token-CVsUoC9m.js";
|
|
11
11
|
import "./boolean-BgXe2hyu.js";
|
|
12
12
|
import "./env-4r1Vlroz.js";
|
|
13
13
|
import "./host-env-security-BiAcoumI.js";
|
|
14
14
|
import "./env-vars-DM119fhK.js";
|
|
15
15
|
import "./registry-CUyWRciN.js";
|
|
16
|
-
import "./manifest-registry-
|
|
17
|
-
import { _ as webAuthExists, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId } from "./accounts-
|
|
16
|
+
import "./manifest-registry-B_U2pKBU.js";
|
|
17
|
+
import { _ as webAuthExists, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId } from "./accounts-D5DQlttG.js";
|
|
18
18
|
import "./logging-Dn5qdhsZ.js";
|
|
19
|
-
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-
|
|
19
|
+
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-FOGqE7bj.js";
|
|
20
20
|
import { randomUUID } from "node:crypto";
|
|
21
21
|
import { DisconnectReason } from "@whiskeysockets/baileys";
|
|
22
22
|
import QRCodeModule from "qrcode-terminal/vendor/QRCode/index.js";
|