@bitseek/claw 1.2.2 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{accounts-DKvlV3Tm.js → accounts-C3iwoWUS.js} +1 -1
- package/dist/{accounts-D5DQlttG.js → accounts-CCbfXe4Y.js} +7 -7
- package/dist/{accounts-jPPbCJns.js → accounts-ChjgDDok.js} +1 -1
- package/dist/{acp-cli-BZnPaFm3.js → acp-cli-DIikR-tj.js} +8 -8
- package/dist/{agent-scope-CiBV1K6b.js → agent-scope-DHMu2mab.js} +1 -1
- package/dist/{agents-BMaMDR6h.js → agents-BCJbDk2P.js} +4 -4
- package/dist/{agents.config-BSY7Z6IC.js → agents.config-BoNoGEQI.js} +2 -2
- package/dist/{agents.config-Bjwf3eo1.js → agents.config-DoxV5m9v.js} +1 -1
- package/dist/{api-key-rotation-j4O7qxMf.js → api-key-rotation-CuHjsofV.js} +1 -1
- package/dist/{audio-preflight-BkoTbTIH.js → audio-preflight-BClvbKMQ.js} +36 -36
- package/dist/{audio-preflight-Dd9DDvqB.js → audio-preflight-BWOdDA2n.js} +4 -4
- package/dist/{audio-transcription-runner-Bx53bUS2.js → audio-transcription-runner-DaoqvWoi.js} +1 -1
- package/dist/{audio-transcription-runner-CF_UP4C7.js → audio-transcription-runner-Dv-MCA8E.js} +22 -22
- package/dist/{audit-1YVlVmk7.js → audit-BAGbgihO.js} +29 -29
- package/dist/{auth-Co2g3d8d.js → auth-B9WdgDjZ.js} +1 -1
- package/dist/{auth-choice-BYuegxlw.js → auth-choice-CP6K5htW.js} +1 -1
- package/dist/{auth-choice-BpOvsd_n.js → auth-choice-CTCXt7WB.js} +12 -12
- package/dist/{auth-choice-BamWYpsc.js → auth-choice-FFUrxk0-.js} +14 -14
- package/dist/{auth-choice.apply-helpers-CQLQ5Tuk.js → auth-choice.apply-helpers-Dz2x-3CK.js} +1 -1
- package/dist/{auth-token-BjVRLcvi.js → auth-token-BPWVp11S.js} +1 -1
- package/dist/{banner-EymX6IpH.js → banner-V_1v329B.js} +1 -1
- package/dist/{bindings-Ck6aotGf.js → bindings-C0k4wFy7.js} +1 -1
- package/dist/{bonjour-discovery-CtUQb94i.js → bonjour-discovery-DXvZeG8M.js} +1 -1
- package/dist/{browser-cli-CaBLM5A6.js → browser-cli-BwtSgIvC.js} +12 -12
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-BGZQEHL4.js → call-B9Vrcbed.js} +10 -10
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +6027 -1405
- package/dist/{channel-account-context-C6rIxLzo.js → channel-account-context-CeGx9Aq7.js} +5 -5
- package/dist/{channel-options-bD8Nb_XT.js → channel-options-DmEaPgkZ.js} +3 -3
- package/dist/{channel-options-BbugzQSv.js → channel-options-Dsjb-V1F.js} +1 -1
- package/dist/{channel-selection-TZJgoz5h.js → channel-selection-BDdjozhi.js} +1 -1
- package/dist/{channel-web-BzKDism5.js → channel-web-mFdbEE2o.js} +18 -18
- package/dist/{channel-web-C8R11QOm.js → channel-web-wuxrfEJh.js} +1 -1
- package/dist/{channels-cli-B6ICcQiX.js → channels-cli-CCTczoJM.js} +94 -94
- package/dist/{channels-cli-DLh8uOwf.js → channels-cli-OZeQkPMG.js} +6 -6
- package/dist/{channels-status-issues-DeT1Znlx.js → channels-status-issues-Dir7g-Pc.js} +1 -1
- package/dist/{chrome-DzGCPEQK.js → chrome-2gfHr1cU.js} +4 -4
- package/dist/{chrome-C6zMSR36.js → chrome-CjTE-vWv.js} +8 -8
- package/dist/{clawbot-cli-Comysjn9.js → clawbot-cli-BMGBnmny.js} +5 -5
- package/dist/{cli-dy2BdjPZ.js → cli-YeYpjq2c.js} +1 -1
- package/dist/{cli-BT1aLbEG.js → cli-zsP2OqB6.js} +75 -75
- package/dist/{client-B91adiXh.js → client-BoUhzGrS.js} +2 -2
- package/dist/{command-registry-oV1633Vs.js → command-registry-okzYatr9.js} +9 -9
- package/dist/{commands-C6OLhl3n.js → commands-npgZubp3.js} +1 -1
- package/dist/{commands-registry-CVzTBX51.js → commands-registry-B5jHbfUL.js} +3 -3
- package/dist/{completion-cli-C9i-Dicb.js → completion-cli-BFxGdqak.js} +2 -2
- package/dist/{completion-cli-5z7Fk2X-.js → completion-cli-Dm9dt8iw.js} +12 -12
- package/dist/{config-cli-CENkfh8B.js → config-cli-CJVYN-g-.js} +7 -7
- package/dist/{config-cli-CpsK8BqN.js → config-cli-hwawfBlS.js} +1 -1
- package/dist/{config-guard-9BjlFVZx.js → config-guard-1SsvFO9G.js} +17 -17
- package/dist/{config-validation-BcxAhhcj.js → config-validation-BJ6PNk8H.js} +3 -3
- package/dist/{configure-boTkhg01.js → configure-DMwHaNHJ.js} +17 -17
- package/dist/{configure-DcXrqefi.js → configure-l-lM74c1.js} +3 -3
- package/dist/control-ui/assets/{index-DmJK8e2M.js → index-CKSSOzJL.js} +116 -116
- package/dist/control-ui/assets/{index-DmJK8e2M.js.map → index-CKSSOzJL.js.map} +1 -1
- package/dist/control-ui/assets/index-Ck63PFX9.css +1 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/{control-ui-assets-B_3g_YF0.js → control-ui-assets-DpInddpx.js} +1 -1
- package/dist/{cron-cli-C8kDGh6_.js → cron-cli-CyEcKgVG.js} +12 -12
- package/dist/{daemon-cli-RKWFtF-K.js → daemon-cli-CB9c5SXP.js} +15 -15
- package/dist/{daemon-install-DsJ0L8HP.js → daemon-install-Bqjc3wky.js} +4 -4
- package/dist/{daemon-install-helpers-CMWYg4_W.js → daemon-install-helpers-CGZBs-X3.js} +11 -11
- package/dist/{dashboard-BhAYjl6n.js → dashboard-8HFxt9IY.js} +2 -2
- package/dist/{deliver-Bn10XzRP.js → deliver-D4ugOkLr.js} +7 -7
- package/dist/{deliver-DXa06hfk.js → deliver-xY3h9X6N.js} +1 -1
- package/dist/{devices-cli-DoJBheGs.js → devices-cli-Bp8AMOPE.js} +8 -8
- package/dist/{diagnostic-DRPetA8l.js → diagnostic-phUWJbF_.js} +1 -1
- package/dist/{diagnostics-BHQgZbuI.js → diagnostics-D_AmByNE.js} +5 -5
- package/dist/{directory-cli-Brla3Idn.js → directory-cli-Bt3I30_e.js} +8 -8
- package/dist/{dns-cli-rEvE1LG9.js → dns-cli-DaTrsB61.js} +5 -5
- package/dist/{dock-BXksV3sC.js → dock-swzevZbj.js} +4 -4
- package/dist/{docs-cli-DtThi0Xf.js → docs-cli--2Qgcpvs.js} +4 -4
- package/dist/{doctor-completion-BwIgzkLP.js → doctor-completion-UEYo4_U6.js} +2 -2
- package/dist/{doctor-completion-BySkhMZY.js → doctor-completion-wHIBxn-7.js} +1 -1
- package/dist/{doctor-config-flow-18ijj3KB.js → doctor-config-flow-DKaeaH2u.js} +15 -15
- package/dist/{enable-CJ75JA5u.js → enable-xlkWJvIn.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{exec-approvals-allowlist-CGVHz3PX.js → exec-approvals-allowlist-fG-NsL-O.js} +1 -1
- package/dist/{exec-approvals-cli-DfcUJ9Sm.js → exec-approvals-cli-r7jbe_Rj.js} +16 -16
- package/dist/{exec-safe-bin-runtime-policy-D7olAQMf.js → exec-safe-bin-runtime-policy-B9kCrTY1.js} +2 -2
- package/dist/extensionAPI.js +1 -1
- package/dist/{fetch-guard-D6eclxeP.js → fetch-guard-N12H9lEe.js} +1 -1
- package/dist/{fs-safe-p5lyYI__.js → fs-safe-BGAE6eOQ.js} +24 -24
- package/dist/{gateway-cli-Dn-Yq6Tf.js → gateway-cli-BFo0WvJx.js} +70 -16
- package/dist/{gateway-cli-BVn-fVbw.js → gateway-cli-Bi6tzv7v.js} +222 -168
- package/dist/{gateway-rpc-CJVCek88.js → gateway-rpc-BHBGSN7Z.js} +1 -1
- package/dist/{health-Du4IbXAP.js → health-CDEXWvnu.js} +1 -1
- package/dist/{health-DmJq2Wph.js → health-DlFSsTw-.js} +14 -14
- package/dist/{hooks-cli-BhSZV-cM.js → hooks-cli-CMLpJr6I.js} +83 -83
- package/dist/{hooks-cli-BrT4aprv.js → hooks-cli-Deo01lF6.js} +2 -2
- package/dist/{hooks-status-ONaKEpUH.js → hooks-status-inMD7sD-.js} +1 -1
- package/dist/{image-B270IRGo.js → image-BzR2twGI.js} +5 -5
- package/dist/{image-Dd4lgi4H.js → image-DCyaYY2d.js} +1 -1
- package/dist/{plugin-sdk/image-ops-DulHE5Qc.js → image-ops-B6BeXmZU.js} +12 -12
- package/dist/index.js +85 -85
- package/dist/{inspect-C0e0Dmvg.js → inspect-BwbOLUun.js} +4 -4
- package/dist/{install-safe-path-CSqVUjL8.js → install-safe-path-DodF6oyk.js} +25 -25
- package/dist/{installs-BXOZ3DXs.js → installs-8bzJi35e.js} +9 -9
- package/dist/{ipv4-Bk-doiEE.js → ipv4-BY_PmkpX.js} +1 -1
- package/dist/{ir-BGgl4f9u.js → ir-vGBxQkIg.js} +6 -6
- package/dist/{issue-format-rk9Vpcxd.js → issue-format-B4oxePhU.js} +1 -1
- package/dist/{json-files-bJqSYqgg.js → json-files-C7p5SEie.js} +8 -8
- package/dist/{lifecycle-core-Bqse41aA.js → lifecycle-core-C5a4clqu.js} +5 -5
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{local-roots-jW0nhxVT.js → local-roots-Dcc5UeD8.js} +3 -3
- package/dist/{login-B2B75WGK.js → login-BM9p9nig.js} +3 -3
- package/dist/{login-qr-YjUycQZT.js → login-qr-CB4JWkHM.js} +6 -6
- package/dist/{logs-cli-Dyid6hUQ.js → logs-cli-DGdXLEv-.js} +9 -9
- package/dist/{manager-C9rftBaE.js → manager-X8AF3rQJ.js} +14 -14
- package/dist/{manifest-registry-B_U2pKBU.js → manifest-registry-HNrtHxxI.js} +1 -1
- package/dist/{markdown-tables-B5l_33qL.js → markdown-tables-XmfG1bwr.js} +1 -1
- package/dist/{memory-cli-o3L9NN74.js → memory-cli-87nxADqy.js} +12 -12
- package/dist/{model-FnrgCVyS.js → model-CESXYutI.js} +2 -2
- package/dist/{model-catalog-CjA5pRJF.js → model-catalog-DUHxH2xb.js} +3 -3
- package/dist/{model-picker-CMgjcqV_.js → model-picker-D705WMPf.js} +4 -4
- package/dist/{model-selection-xdfZxwgB.js → model-selection-DCo8MhsE.js} +16 -16
- package/dist/{models-BEMBo-jJ.js → models-CgguB_MH.js} +2 -2
- package/dist/{models-cli-CJCNoVhQ.js → models-cli-9x2mp4Ac.js} +85 -85
- package/dist/{models-cli-Bj5d7qpe.js → models-cli-BEb0DHSP.js} +3 -3
- package/dist/{models-config-Do1Ur_ov.js → models-config-Bgpjcu8R.js} +6 -6
- package/dist/{node-cli-DYOdgLUu.js → node-cli-DJnihsNr.js} +33 -33
- package/dist/{node-command-policy-BKUs_pS2.js → node-command-policy-BiPTB8BK.js} +1 -1
- package/dist/{node-service-6W3vqgVv.js → node-service-CfKJ5oC1.js} +1 -1
- package/dist/{nodes-cli-CQzck2kc.js → nodes-cli-4kBrEEti.js} +16 -16
- package/dist/{nodes-screen-Dptoharj.js → nodes-screen-FWjD2j3v.js} +7 -7
- package/dist/{npm-pack-install-Byr0kgft.js → npm-pack-install-CXheGnb0.js} +18 -18
- package/dist/{npm-resolution-BHQDGwrV.js → npm-resolution-DIr_TibO.js} +5 -5
- package/dist/{npm-resolution-DyqMvaHn.js → npm-resolution-T8SphiP5.js} +1 -1
- package/dist/{onboard-CUFDJWvM.js → onboard-B_MoYnrn.js} +2 -2
- package/dist/{onboard-DpLm6YX6.js → onboard-DEFQu6dU.js} +6 -6
- package/dist/{onboard-channels-i1FFoaW7.js → onboard-channels-BLZ8FdVP.js} +1 -1
- package/dist/{onboard-channels-CrxnmwMd.js → onboard-channels-BuG5-e60.js} +20 -20
- package/dist/{onboard-custom-Bow6lZPm.js → onboard-custom-HI7NPx1u.js} +3 -3
- package/dist/{onboard-custom.shared-CBRRhb95.js → onboard-custom.shared-SWx67Er2.js} +2 -2
- package/dist/{onboard-helpers-B1AEo6oL.js → onboard-helpers-Jc1-4LBc.js} +11 -11
- package/dist/{onboard-hooks-CtxRk6l_.js → onboard-hooks-DFjIpeE_.js} +4 -4
- package/dist/{onboard-remote-DmHpLoWf.js → onboard-remote-BLAyUeAO.js} +3 -3
- package/dist/{onboard-skills-DwpZY5tZ.js → onboard-skills--XkA2Jj4.js} +4 -4
- package/dist/{onboarding-Wve1--YA.js → onboarding-BQ2WB7tp.js} +13 -13
- package/dist/{onboarding-ORzDCBo6.js → onboarding-CSnr51pR.js} +3 -3
- package/dist/{onboarding.finalize-DH8INVdN.js → onboarding.finalize-BlMlIFRW.js} +6 -6
- package/dist/{onboarding.finalize-BoXDIiNp.js → onboarding.finalize-DAbr5Ar8.js} +87 -87
- package/dist/{onboarding.gateway-config-wXH6gE7c.js → onboarding.gateway-config-CMKjEPRA.js} +18 -18
- package/dist/{openai-model-default-Q7Hmy0eQ.js → openai-model-default-BTNz1OzV.js} +2 -2
- package/dist/{outbound-DlVJWa4u.js → outbound-Bf7VAx0-.js} +4 -4
- package/dist/{outbound-attachment-CZh4VjhT.js → outbound-attachment-Df5o7JIG.js} +2 -2
- package/dist/{pairing-cli-DAMLvDcA.js → pairing-cli-CA7Dxs-g.js} +9 -9
- package/dist/{pairing-labels-Cl7ROILg.js → pairing-labels-BBti3jJg.js} +1 -1
- package/dist/{pairing-store-DdZ0xMD7.js → pairing-store-DY0yrkuM.js} +3 -3
- package/dist/{path-alias-guards-DWh6tSaP.js → path-alias-guards-BNzjbOwM.js} +3 -3
- package/dist/{path-safety-COhgvniC.js → path-safety-dmCI2tpN.js} +1 -1
- package/dist/{paths-AxolTUEH.js → paths-BZfURxkW.js} +9 -9
- package/dist/{pi-embedded-DnavjoU4.js → pi-embedded-Bacc2S0h.js} +50 -22
- package/dist/{pi-embedded-DDt-4VY9.js → pi-embedded-Claxav22.js} +30 -2
- package/dist/{pi-embedded-helpers-BErNo2oq.js → pi-embedded-helpers-CMTVhLjq.js} +3 -3
- package/dist/{pi-embedded-helpers-ZTn-T7tW.js → pi-embedded-helpers-D3nc5XJW.js} +6 -6
- package/dist/{pi-model-discovery-DVhDvAnA.js → pi-model-discovery-BSytrsu4.js} +1 -1
- package/dist/{pi-tools.policy-eyXj0EY5.js → pi-tools.policy-Dwsq-Yaf.js} +5 -5
- package/dist/{plugin-auto-enable-D1WySsnE.js → plugin-auto-enable-4zXn-eVS.js} +3 -3
- package/dist/{plugin-registry-eOikaO9b.js → plugin-registry-CxFikiLF.js} +1 -1
- package/dist/{plugin-registry-CFL5j9cN.js → plugin-registry-DsZTkNKu.js} +3 -3
- package/dist/plugin-sdk/{accounts-COLYAAOx.js → accounts-4WE2wtsW.js} +1 -1
- package/dist/plugin-sdk/{accounts-BZrkOo6-.js → accounts-AbI8uETR.js} +1 -1
- package/dist/plugin-sdk/{accounts-D_pT5EjF.js → accounts-BYcizTXn.js} +3 -3
- package/dist/plugin-sdk/{active-listener-DxBXcWm_.js → active-listener-pnqLAUOh.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-DT5pxpJB.js → agent-scope-_j3fIYCK.js} +3 -3
- package/dist/plugin-sdk/{api-key-rotation-Dl6Ad7Nj.js → api-key-rotation-CYI51U_M.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-CkPj4OVY.js → audio-preflight-BTRRjPew.js} +33 -33
- package/dist/plugin-sdk/{audio-transcription-runner-BBn9jEMg.js → audio-transcription-runner-DFZS7uCO.js} +10 -10
- package/dist/plugin-sdk/{bindings-BSfhEjKN.js → bindings-CxxzC7gn.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-DAEbma-o.js → channel-activity-B3yZ-f-m.js} +3 -3
- package/dist/plugin-sdk/{channel-web-MpDUG9SU.js → channel-web-D2q54sK-.js} +23 -23
- package/dist/plugin-sdk/{chrome-Dn0G4NoF.js → chrome-oPevdeh5.js} +7 -7
- package/dist/plugin-sdk/{chunk-cvtXztAT.js → chunk-BPyPeheZ.js} +1 -1
- package/dist/plugin-sdk/{command-format-BOJz3y1v.js → command-format-DvyMEXQo.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-CZWv_JwZ.js → commands-registry-Dk8re8Lz.js} +5 -5
- package/dist/plugin-sdk/{config-DAwOhnVF.js → config-D7I2_X4P.js} +10 -10
- package/dist/plugin-sdk/{deliver-PdH-MCq8.js → deliver-NrIHn0__.js} +11 -11
- package/dist/plugin-sdk/{diagnostic-BZvj-qNu.js → diagnostic-DL3k_wRi.js} +2 -2
- package/dist/plugin-sdk/{dock-BdR3OYZn.js → dock-CjdkiLH7.js} +6 -6
- package/dist/plugin-sdk/{errors-jusxdu7M.js → errors-DFTN4h2I.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-Dary6WwJ.js → fetch-guard-BivEyA4v.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-DMCE0ej9.js → fs-safe-B256n7Ff.js} +3 -3
- package/dist/plugin-sdk/{image-B3A2l2ep.js → image-CkPzr3XN.js} +6 -6
- package/dist/{image-ops-BAMcbVMS.js → plugin-sdk/image-ops-C9GXWF3o.js} +2 -2
- package/dist/plugin-sdk/index.js +64 -64
- package/dist/plugin-sdk/{ir-BFXiJrsN.js → ir-BIm-jvIK.js} +6 -6
- package/dist/plugin-sdk/{local-roots-DssN60r6.js → local-roots-2AOXGUXW.js} +4 -4
- package/dist/plugin-sdk/{logger-Cr-x0vMf.js → logger-CNhs9eKJ.js} +1 -1
- package/dist/plugin-sdk/{login-D0ul3-6C.js → login-BcLiF9tC.js} +6 -6
- package/dist/plugin-sdk/{login-qr-XWKTFBuI.js → login-qr-GyPUodKJ.js} +9 -9
- package/dist/plugin-sdk/{manager-DGx_cF54.js → manager-DYLqNUb4.js} +10 -10
- package/dist/plugin-sdk/{markdown-tables-CsQpDNU5.js → markdown-tables-D9mmqMKi.js} +1 -1
- package/dist/plugin-sdk/{message-channel-CvNq-esz.js → message-channel-_CEZcqxE.js} +1 -1
- package/dist/plugin-sdk/{outbound-D29FHlQl.js → outbound-DdTsUaXa.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-DRHrZUOx.js → outbound-attachment--hkuIDR1.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-DpKV1B5p.js → path-alias-guards-BqUCBfUg.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-CKEUWckk.js → pi-embedded-helpers-CTfvZz83.js} +17 -17
- package/dist/plugin-sdk/{pi-model-discovery-BPeQq9XM.js → pi-model-discovery-CK3Ih_kq.js} +1 -1
- package/dist/plugin-sdk/{plugins-DF_dKXTR.js → plugins-BpHAMNJ1.js} +6 -6
- package/dist/plugin-sdk/{proxy-BfmEDoun.js → proxy-BJdRZOnJ.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-BpHIgvBk.js → proxy-fetch-jmbopGcm.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-BmmXDjtm.js → pw-ai-D0Kx7w1D.js} +13 -13
- package/dist/plugin-sdk/{qmd-manager-3hQbqkm5.js → qmd-manager-BDcutPp9.js} +8 -8
- package/dist/plugin-sdk/{query-expansion-BOGLUWB7.js → query-expansion-C_X8SyEA.js} +2 -2
- package/dist/plugin-sdk/{redact-BOuKZWXa.js → redact-DH8u23pF.js} +1 -1
- package/dist/plugin-sdk/{registry-Cv-oHUj1.js → registry-HF8_S7QO.js} +2 -2
- package/dist/plugin-sdk/{replies-CddwWBTJ.js → replies-DbjvV4gf.js} +3 -3
- package/dist/plugin-sdk/{reply-wHFXod4j.js → reply-Cs_Ks2Mr.js} +121 -93
- package/dist/plugin-sdk/{reply-prefix-DXthVxCx.js → reply-prefix-KODsMNJ-.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-D3Y4F2Le.js → resolve-outbound-target-BPT4aNiD.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-DuwYYn4a.js → resolve-route-De2B5QY_.js} +4 -4
- package/dist/plugin-sdk/{retry-BMcrIz7L.js → retry-pZ8iKytf.js} +1 -1
- package/dist/plugin-sdk/{send-D0AaWnIj.js → send-1uW-uqPf.js} +7 -7
- package/dist/plugin-sdk/{send-C5USYGq7.js → send-BoNw1Bki.js} +8 -8
- package/dist/plugin-sdk/{send-B0ztz6QC.js → send-C-Rd2stz.js} +6 -6
- package/dist/plugin-sdk/{send-DJzwu8kk.js → send-CZIN8SDx.js} +15 -15
- package/dist/plugin-sdk/{send-DEyQJTzd.js → send-wCqsQs_s.js} +10 -10
- package/dist/plugin-sdk/{session-meta-ChWvKVWj.js → session-meta-7J-uHiM_.js} +1 -1
- package/dist/plugin-sdk/{session-BA7tVDpV.js → session-ooYcB82T.js} +5 -5
- package/dist/plugin-sdk/{sessions-BXps6YzJ.js → sessions-lAIo5l8W.js} +6 -6
- package/dist/plugin-sdk/{skill-commands-B20uUsji.js → skill-commands-D1Q6hGS4.js} +5 -5
- package/dist/plugin-sdk/{skills-DXOTei42.js → skills-BWSDv2F_.js} +8 -8
- package/dist/plugin-sdk/{ssrf-Doxv9M7Q.js → ssrf-JKDwTi8i.js} +1 -1
- package/dist/plugin-sdk/{store-BZbE1V-C.js → store-BMeqzQAf.js} +2 -2
- package/dist/plugin-sdk/{subsystem-CM1s2lDT.js → subsystem-B0V8LFBA.js} +2 -2
- package/dist/plugin-sdk/{tables-BhH8EIqU.js → tables-DCSeBGBz.js} +1 -1
- package/dist/{target-errors-B1cYmIjq.js → plugin-sdk/target-errors-0u6pegQv.js} +2 -2
- package/dist/plugin-sdk/{tokens-DIE-Bf72.js → tokens-DF2_VTJy.js} +1 -1
- package/dist/plugin-sdk/{tool-images-heXfaJdb.js → tool-images-BbsgbHMZ.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-CygMSQUK.js → tool-loop-detection-JkCpGrfk.js} +2 -2
- package/dist/plugin-sdk/{utils-BcL6KGZf.js → utils-BfVxx6bk.js} +1 -1
- package/dist/plugin-sdk/web-B35hdNQ-.js +72 -0
- package/dist/plugin-sdk/{whatsapp-actions-CRean1yN.js → whatsapp-actions-tVcrGNQc.js} +25 -25
- package/dist/{plugins-CKWxMohB.js → plugins-Ce8ThYGQ.js} +2 -2
- package/dist/{plugins-cli-DrlRj_8V.js → plugins-cli-DxFh5OQi.js} +85 -85
- package/dist/{plugins-cli-Bg6sFJYH.js → plugins-cli-bHHZzKd-.js} +2 -2
- package/dist/{ports-DppAHKM-.js → ports-DXMCFRgn.js} +2 -2
- package/dist/{ports-BL-FP2jP.js → ports-wtEwdqsX.js} +1 -1
- package/dist/{program-BQ8WwHMi.js → program-DnjsZxiJ.js} +7 -7
- package/dist/{program-context-BWsBkMJn.js → program-context-36wFBslW.js} +43 -43
- package/dist/{prompt-select-styled-DbUQHcBh.js → prompt-select-styled-BkpL6eKQ.js} +4 -4
- package/dist/{prompt-select-styled-CLCyaJAG.js → prompt-select-styled-CJt-zhnt.js} +39 -39
- package/dist/{provider-auth-helpers-CKpEFImN.js → provider-auth-helpers-BFsLtU8g.js} +1 -1
- package/dist/{provider-auth-helpers-CdTLpxG1.js → provider-auth-helpers-DeJ105rb.js} +5 -5
- package/dist/{proxy-env-ClbXa7vn.js → proxy-env-DhFUQlwP.js} +1 -1
- package/dist/{push-apns-CVnc3jrx.js → push-apns-BSlKJa83.js} +1 -1
- package/dist/{push-apns-B_GGZO2Z.js → push-apns-SIM2es-Y.js} +5 -5
- package/dist/{pw-ai-D21rIJ2z.js → pw-ai-BOQE6s45.js} +15 -15
- package/dist/{pw-ai-pkfCxzhV.js → pw-ai-DGwA7iCM.js} +1 -1
- package/dist/{qmd-manager-BD6lfN35.js → qmd-manager-DVKj0i6T.js} +20 -20
- package/dist/{qr-cli-BQGJJ5hp.js → qr-cli-Z4_Y6bva.js} +1 -1
- package/dist/{query-expansion-Dl85zpSb.js → query-expansion-B9kneDbd.js} +12 -12
- package/dist/{redact-snapshot-DCGL0k2M.js → redact-snapshot-BI4Ryuhy.js} +1 -1
- package/dist/{register.agent-BxMqGoLQ.js → register.agent-C-OmdJMe.js} +7 -7
- package/dist/{register.agent-BwCayvbD.js → register.agent-Cd2LVcga.js} +100 -100
- package/dist/{register.configure-PCuADy_e.js → register.configure-CaSRlI6h.js} +7 -7
- package/dist/register.configure-DGIWBQvN.js +174 -0
- package/dist/{register.init-DWQDniBg.js → register.init-DpFUY5Ed.js} +15 -15
- package/dist/{register.maintenance-jHaU-XSR.js → register.maintenance-DAU-mVIz.js} +97 -97
- package/dist/{register.maintenance-CW5_urTq.js → register.maintenance-R4RCi4f3.js} +8 -8
- package/dist/{register.message-ByUxZi3s.js → register.message-5hKmcWaB.js} +2 -2
- package/dist/{register.message-DPlqIVvv.js → register.message-B0CI0Q4o.js} +76 -76
- package/dist/{register.onboard-BC4wpDdz.js → register.onboard-BGhXUfbX.js} +18 -18
- package/dist/{register.onboard-B-8WoYZr.js → register.onboard-Di7iClKl.js} +2 -2
- package/dist/{register.setup-CZ9a3M_O.js → register.setup-Dm_dHAB-.js} +2 -2
- package/dist/{register.setup-BQQX0yB6.js → register.setup-nlXy06aa.js} +21 -21
- package/dist/{register.start-BHASi8Um.js → register.start-Dzss99ZY.js} +17 -17
- package/dist/{register.status-health-sessions-BRJgE7jh.js → register.status-health-sessions-B4eNiGWS.js} +89 -89
- package/dist/{register.status-health-sessions-BKLWh2aq.js → register.status-health-sessions-lOM_lb6H.js} +3 -3
- package/dist/{register.subclis-DKG1KoTd.js → register.subclis-1MobNhis.js} +9 -9
- package/dist/{replies-B6SXcEs0.js → replies-k5K96_46.js} +1 -1
- package/dist/{reply-ezOUjaUp.js → reply-DQMWsIE2.js} +185 -156
- package/dist/{reply-prefix-BttpF8VB.js → reply-prefix-aBvAQX6L.js} +1 -1
- package/dist/{resolve-route-Ck23oGqS.js → resolve-route-R565qQgt.js} +2 -2
- package/dist/{rpc-9jE_1PW0.js → rpc-CMyUzpcT.js} +1 -1
- package/dist/{run-main-CGAXqlRX.js → run-main-CFGtfsPd.js} +14 -14
- package/dist/{runtime-Rd7ooKB0.js → runtime-D64ACWoX.js} +2 -2
- package/dist/{sandbox-BKa5RrBl.js → sandbox-DH9YtUfB.js} +18 -18
- package/dist/{sandbox-cli-BnpEc205.js → sandbox-cli-B1ThXy7C.js} +26 -26
- package/dist/{secrets-cli-CIxUNZyC.js → secrets-cli-BEjJ3GP-.js} +10 -10
- package/dist/{security-cli-BqOOeGxS.js → security-cli-Zma5k5BZ.js} +43 -43
- package/dist/{send-DuNBSJln.js → send-BQVNhO4Q.js} +5 -5
- package/dist/{send-SZBhACLn.js → send-CFUSH9C-.js} +8 -8
- package/dist/{send-Cua2kS5v.js → send-CabiU1-J.js} +6 -6
- package/dist/{send-ByUfPpKj.js → send-DmVTXBWW.js} +11 -11
- package/dist/{send-BntubUtK.js → send-NexNe2Wh.js} +6 -6
- package/dist/{server-Ct0J5VXf.js → server-DQ7D-B-v.js} +19 -19
- package/dist/{server-context-DWxmyV-0.js → server-context-Cr-Y4i6P.js} +12 -12
- package/dist/{server-lifecycle-B7aXKxY3.js → server-lifecycle-BVnXIEfI.js} +2 -2
- package/dist/{server-middleware-CO1brrgv.js → server-middleware-zyvA9rl9.js} +1 -1
- package/dist/{server-node-events-BHkXD38g.js → server-node-events-oa4mOmsp.js} +76 -76
- package/dist/{server-node-events-D_9Quh-1.js → server-node-events-yFZiE04b.js} +2 -2
- package/dist/{service-DqxfCr8y.js → service-BcFhE63y.js} +15 -15
- package/dist/{session-FOGqE7bj.js → session-Dl3x3d75.js} +1 -1
- package/dist/{session-meta-C-ox3bdI.js → session-meta-C6MooccR.js} +1 -1
- package/dist/{sessions-BpuJ64B0.js → sessions-sIaYsUyX.js} +15 -15
- package/dist/{shared-CgFPGTLU.js → shared-DNcLp2mA.js} +3 -3
- package/dist/{shared-BmSv3K8N.js → shared-sFrejcA4.js} +1 -1
- package/dist/{skill-commands-COl0HE54.js → skill-commands-C2_BOuyl.js} +5 -5
- package/dist/{skill-scanner-CsmM5F4F.js → skill-scanner-DYkQAh0l.js} +6 -6
- package/dist/{skills-BeFcXCoN.js → skills-BXLKd7i5.js} +3 -3
- package/dist/{skills-cli-D3ZteX5N.js → skills-cli-DrN4v5_m.js} +5 -5
- package/dist/{skills-install-B_Vda3dM.js → skills-install-CSfh8nRm.js} +6 -6
- package/dist/{skills-status-BEq0_fOn.js → skills-status-C7Q6Ezbv.js} +1 -1
- package/dist/{status-CwKeOASs.js → status-mS4bWnIW.js} +2 -2
- package/dist/{status-DjnNnvyr.js → status-rMgdZcE5.js} +25 -25
- package/dist/{status.update-HwSPC5ZX.js → status.update-D4GfnNDI.js} +2 -2
- package/dist/{store-B-nkOSsv.js → store-CRcBie8T.js} +5 -5
- package/dist/{subagent-registry-CfKMgII6.js → subagent-registry-CXBreqUP.js} +31 -2
- package/dist/{system-cli-IYwpBiC6.js → system-cli-Bscj57lL.js} +9 -9
- package/dist/{system-run-command-C3OIMtEu.js → system-run-command-Cn5yQ2rv.js} +1 -1
- package/dist/{systemd-DJ5Red-Q.js → systemd-BIfjzi-4.js} +9 -9
- package/dist/{systemd-hints-D40Qx3hg.js → systemd-hints-CgtHwBfD.js} +6 -6
- package/dist/{systemd-linger-BK6kig-o.js → systemd-linger-0Vho6LMt.js} +1 -1
- package/dist/{tables-C9_oCtRN.js → tables-C5n2nXbu.js} +1 -1
- package/dist/{tailnet-BYBKD8Kh.js → tailnet-C8NwaQEp.js} +1 -1
- package/dist/{plugin-sdk/target-errors-QZay02Cv.js → target-errors-cerGxvCB.js} +4 -4
- package/dist/{tool-images-QWbHWc0F.js → tool-images-CgSADinH.js} +1 -1
- package/dist/{tui-Dd6DhgjX.js → tui-DNT0WnU-.js} +6 -6
- package/dist/{tui-cli-C3PCazFC.js → tui-cli-DTFq2wGK.js} +33 -33
- package/dist/{update-B1Dhhu_3.js → update-Mb6BH0o9.js} +3 -3
- package/dist/{update-cli-BCH7o0oB.js → update-cli--qEz2_Eg.js} +109 -105
- package/dist/{update-cli-Dcvb1LZT.js → update-cli-Dbb1EPi2.js} +12 -8
- package/dist/{update-runner-l9K_q6Kz.js → update-runner-C9noXbfV.js} +10 -3
- package/dist/{update-runner-rrlmopJw.js → update-runner-Dj_CAfd4.js} +25 -18
- package/dist/{web-CsfqGSAa.js → web-BKrNiKsU.js} +2 -2
- package/dist/web-BQRkxG9u.js +126 -0
- package/dist/{web-BJ_nNwKp.js → web-CDHXvGxm.js} +6 -6
- package/dist/{web-C9QAX9EH.js → web-DJKitOpu.js} +1 -1
- package/dist/{webhooks-cli-BFdw7BAP.js → webhooks-cli-uXE9EOwT.js} +6 -6
- package/dist/{whatsapp-actions-CNoiLzRB.js → whatsapp-actions-DeX4x9sq.js} +19 -19
- package/dist/{with-timeout-tSH4Tex_.js → with-timeout-C-EETHnf.js} +3 -3
- package/dist/{workspace-dKMB109Q.js → workspace-1nc7aTpg.js} +1 -1
- package/dist/{workspace-CRdln__H.js → workspace-TersEUYu.js} +23 -23
- package/dist/{workspace-dirs-DcAUEsSG.js → workspace-dirs-DxTFH1r3.js} +1 -1
- package/dist/{ws-DKbBt0us.js → ws-E9v842O2.js} +2 -2
- package/dist/{wsl-yjQQ-PJd.js → wsl-Dg6XQcw5.js} +2 -2
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +21 -0
- package/extensions/googlechat/node_modules/.bin/nlc +21 -0
- package/extensions/googlechat/node_modules/.bin/node-llama-cpp +21 -0
- package/extensions/googlechat/node_modules/.bin/openclaw +2 -2
- package/extensions/googlechat/node_modules/.bin/tsc +21 -0
- package/extensions/googlechat/node_modules/.bin/tsserver +21 -0
- package/extensions/memory-core/node_modules/.bin/nlc +21 -0
- package/extensions/memory-core/node_modules/.bin/node-llama-cpp +21 -0
- package/extensions/memory-core/node_modules/.bin/openclaw +2 -2
- package/extensions/memory-core/node_modules/.bin/tsc +21 -0
- package/extensions/memory-core/node_modules/.bin/tsserver +21 -0
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +21 -0
- package/extensions/nostr/node_modules/.bin/tsc +21 -0
- package/extensions/nostr/node_modules/.bin/tsserver +21 -0
- package/package.json +2 -5
- package/dist/control-ui/assets/index-B5WC_0Be.css +0 -1
- package/dist/plugin-sdk/web-DbkpdVSZ.js +0 -72
- package/dist/register.configure-Bv4KP_MD.js +0 -174
- package/dist/web-CtrUXk94.js +0 -126
|
@@ -2,14 +2,14 @@ import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as
|
|
|
2
2
|
import { a as logVerbose, d as colorize, f as isRich, g as getResolvedLoggerSettings, h as getLogger, m as getChildLogger, p as theme, s as setVerbose } from "./globals-uLeGcRW1.js";
|
|
3
3
|
import { D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, c as ensureDir, r as clamp, y as resolveUserPath } from "./utils-CP51tiAi.js";
|
|
4
4
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-44rmAw5o.js";
|
|
5
|
-
import { $ as normalizeOptionalText, $n as registerAgentRunContext, An as resolveSessionDeliveryTarget, Ar as enqueueSystemEvent, B as consumeRestartSentinel, Bn as countActiveDescendantRuns, Br as getAcpSessionManager, Bt as runWithModelFallback, C as listAgentsForGateway, Cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Ct as handleSlackHttpRequest, D as pruneLegacyStoreKeys, Dr as stripHeartbeatToken, Dt as computeBackoff, E as loadSessionEntry, En as resolveOutboundSessionRoute, F as markGatewaySigusr1RestartHandled, Ft as createOutboundSendDeps, Gn as resolveAnnounceTargetFromKey, Gr as DEFAULT_INPUT_IMAGE_MIMES, H as formatRestartSentinelMessage, Hn as listDescendantRunsForRequester, Hr as normalizeSendPolicy, Ht as setCliSessionId, I as scheduleGatewaySigusr1Restart, It as applyVerboseOverride, J as normalizeCronJobCreate, Jn as buildOutboundSessionContext, Jr as extractFileContentFromSource, K as writeRestartSentinel, Kn as readLatestAssistantReply, Kr as DEFAULT_INPUT_MAX_REDIRECTS, Kt as applyModelOverrideToSessionEntry, L as setGatewaySigusr1RestartPolicy, Lt as parseVerboseOverride, M as deferGatewayRestartUntilIdle, N as emitGatewayRestart, Nn as resetDirectoryCache, Nt as resolveAgentDeliveryPlan, O as resolveGatewaySessionStoreTarget, Ot as sleepWithAbort, P as isGatewaySigusr1RestartExternallyAllowed, Pr as requestHeartbeatNow, Pt as resolveAgentOutboundTarget, Q as normalizeOptionalSessionKey, Qn as onAgentEvent, Qr as resolveAgentTimeoutMs, R as setPreRestartDeferralCheck, Rn as isAbortRequestText, Rt as createDefaultDeps, Sn as getTotalPendingReplies, Sr as CommandLane, T as loadCombinedSessionStoreForGateway, Tn as ensureOutboundSessionEntry, Tt as requestBodyErrorToText, Ur as resolveSendPolicy, Ut as runCliAgent, V as formatDoctorNonInteractiveHint, Vn as initSubagentRegistry, Vr as resolveAgentSessionDirs, Vt as getCliSessionId, W as summarizeRestartSentinel, Wn as runSubagentAnnounceFlow, Wr as DEFAULT_INPUT_IMAGE_MAX_BYTES, X as inferLegacyName, Xn as emitAgentEvent, Xr as normalizeMimeList, Xt as resolveAgentAvatar, Y as normalizeCronJobPatch, Yn as clearAgentRunContext, Yr as extractImageContentFromSource, Yt as resolveSessionAuthProfileOverride, Z as normalizeOptionalAgentId, Zn as getAgentRunContext, Zr as resolveInputFileLimits, _ as applyToolPolicyPipeline, _r as getTotalQueueSize, ar as resolveTtsApiKey, at as stripLegacyDeliveryFields, b as createOpenClawTools, bn as dispatchInboundMessage, br as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as resolveTtsPrefsPath, ct as getPluginToolMeta, dr as setTtsProvider, dt as loadOpenClawPlugins, en as buildSafeExternalPrompt, er as resolveUserTimezone, et as normalizePayloadToSystemText, fr as textToSpeech, ft as createPluginRuntime, g as waitForEmbeddedPiRunEnd, gt as loadProviderUsageSummary, h as getActiveEmbeddedRunCount, hr as getActiveTaskCount, i as resolveCronStyleNow, in as unbindThreadBindingsBySessionKey, ir as isTtsProviderConfigured, it as hasLegacyDeliveryHints, j as consumeGatewaySigusr1RestartAuthorization, jn as resolveOutboundChannelPlugin, jr as isSystemEventContextChanged, jt as agentCommandFromIngress, k as resolveSessionModelRef, kn as resolveOutboundTarget, lr as resolveTtsProviderOrder, lt as resolvePluginTools, m as abortEmbeddedPiRun, mr as OPENAI_TTS_VOICES, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, nn as getHookType, nr as getTtsProvider, nt as migrateLegacyCronPayload, or as resolveTtsAutoMode, ot as applyBrowserProxyPaths, p as runEmbeddedPiAgent, pr as OPENAI_TTS_MODELS, q as normalizeHttpWebhookUrl, qn as clearSessionQueues, qr as DEFAULT_INPUT_TIMEOUT_MS, qt as lookupContextTokens, rn as isExternalHookSession, rr as isTtsEnabled, rt as buildDeliveryFromLegacyPayload, sr as resolveTtsConfig, st as persistBrowserProxyFiles, tn as detectSuspiciousPatterns, tr as clearBootstrapSnapshot, tt as normalizeRequiredName, ur as setTtsEnabled, v as buildDefaultToolPolicyPipelineSteps, vr as markGatewayDraining, w as listSessionsFromStore, wt as readJsonBodyWithLimit, x as canonicalizeSpawnedByForAgent, xn as createReplyDispatcher, xr as waitForActiveTasks, xt as resolveAgentOutboundIdentity, yn as formatZonedTimestamp, yr as resetAllLanes, z as triggerOpenClawRestart, zn as stopSubagentsForRequester, zr as ACP_SESSION_IDENTITY_RENDERER_VERSION, zt as createOutboundSendDeps$1 } from "./reply-
|
|
6
|
-
import { a as resolveAgentDir, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, i as resolveAgentConfig, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
5
|
+
import { $ as normalizeOptionalText, $n as registerAgentRunContext, An as resolveSessionDeliveryTarget, Ar as enqueueSystemEvent, B as consumeRestartSentinel, Bn as countActiveDescendantRuns, Br as getAcpSessionManager, Bt as runWithModelFallback, C as listAgentsForGateway, Cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Ct as handleSlackHttpRequest, D as pruneLegacyStoreKeys, Dr as stripHeartbeatToken, Dt as computeBackoff, E as loadSessionEntry, En as resolveOutboundSessionRoute, F as markGatewaySigusr1RestartHandled, Ft as createOutboundSendDeps, Gn as resolveAnnounceTargetFromKey, Gr as DEFAULT_INPUT_IMAGE_MIMES, H as formatRestartSentinelMessage, Hn as listDescendantRunsForRequester, Hr as normalizeSendPolicy, Ht as setCliSessionId, I as scheduleGatewaySigusr1Restart, It as applyVerboseOverride, J as normalizeCronJobCreate, Jn as buildOutboundSessionContext, Jr as extractFileContentFromSource, K as writeRestartSentinel, Kn as readLatestAssistantReply, Kr as DEFAULT_INPUT_MAX_REDIRECTS, Kt as applyModelOverrideToSessionEntry, L as setGatewaySigusr1RestartPolicy, Lt as parseVerboseOverride, M as deferGatewayRestartUntilIdle, N as emitGatewayRestart, Nn as resetDirectoryCache, Nt as resolveAgentDeliveryPlan, O as resolveGatewaySessionStoreTarget, Ot as sleepWithAbort, P as isGatewaySigusr1RestartExternallyAllowed, Pr as requestHeartbeatNow, Pt as resolveAgentOutboundTarget, Q as normalizeOptionalSessionKey, Qn as onAgentEvent, Qr as resolveAgentTimeoutMs, R as setPreRestartDeferralCheck, Rn as isAbortRequestText, Rt as createDefaultDeps, Sn as getTotalPendingReplies, Sr as CommandLane, T as loadCombinedSessionStoreForGateway, Tn as ensureOutboundSessionEntry, Tt as requestBodyErrorToText, Ur as resolveSendPolicy, Ut as runCliAgent, V as formatDoctorNonInteractiveHint, Vn as initSubagentRegistry, Vr as resolveAgentSessionDirs, Vt as getCliSessionId, W as summarizeRestartSentinel, Wn as runSubagentAnnounceFlow, Wr as DEFAULT_INPUT_IMAGE_MAX_BYTES, X as inferLegacyName, Xn as emitAgentEvent, Xr as normalizeMimeList, Xt as resolveAgentAvatar, Y as normalizeCronJobPatch, Yn as clearAgentRunContext, Yr as extractImageContentFromSource, Yt as resolveSessionAuthProfileOverride, Z as normalizeOptionalAgentId, Zn as getAgentRunContext, Zr as resolveInputFileLimits, _ as applyToolPolicyPipeline, _r as getTotalQueueSize, ar as resolveTtsApiKey, at as stripLegacyDeliveryFields, b as createOpenClawTools, bn as dispatchInboundMessage, br as setCommandLaneConcurrency, cn as buildHistoryContextFromEntries, cr as resolveTtsPrefsPath, ct as getPluginToolMeta, dr as setTtsProvider, dt as loadOpenClawPlugins, en as buildSafeExternalPrompt, er as resolveUserTimezone, et as normalizePayloadToSystemText, fr as textToSpeech, ft as createPluginRuntime, g as waitForEmbeddedPiRunEnd, gt as loadProviderUsageSummary, h as getActiveEmbeddedRunCount, hr as getActiveTaskCount, i as resolveCronStyleNow, in as unbindThreadBindingsBySessionKey, ir as isTtsProviderConfigured, it as hasLegacyDeliveryHints, j as consumeGatewaySigusr1RestartAuthorization, jn as resolveOutboundChannelPlugin, jr as isSystemEventContextChanged, jt as agentCommandFromIngress, k as resolveSessionModelRef, kn as resolveOutboundTarget, lr as resolveTtsProviderOrder, lt as resolvePluginTools, m as abortEmbeddedPiRun, mr as OPENAI_TTS_VOICES, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, nn as getHookType, nr as getTtsProvider, nt as migrateLegacyCronPayload, or as resolveTtsAutoMode, ot as applyBrowserProxyPaths, p as runEmbeddedPiAgent, pr as OPENAI_TTS_MODELS, q as normalizeHttpWebhookUrl, qn as clearSessionQueues, qr as DEFAULT_INPUT_TIMEOUT_MS, qt as lookupContextTokens, rn as isExternalHookSession, rr as isTtsEnabled, rt as buildDeliveryFromLegacyPayload, sr as resolveTtsConfig, st as persistBrowserProxyFiles, tn as detectSuspiciousPatterns, tr as clearBootstrapSnapshot, tt as normalizeRequiredName, ur as setTtsEnabled, v as buildDefaultToolPolicyPipelineSteps, vr as markGatewayDraining, w as listSessionsFromStore, wt as readJsonBodyWithLimit, x as canonicalizeSpawnedByForAgent, xn as createReplyDispatcher, xr as waitForActiveTasks, xt as resolveAgentOutboundIdentity, yn as formatZonedTimestamp, yr as resetAllLanes, z as triggerOpenClawRestart, zn as stopSubagentsForRequester, zr as ACP_SESSION_IDENTITY_RENDERER_VERSION, zt as createOutboundSendDeps$1 } from "./reply-DQMWsIE2.js";
|
|
6
|
+
import { a as resolveAgentDir, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, i as resolveAgentConfig, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir } from "./agent-scope-DHMu2mab.js";
|
|
7
7
|
import { a as setConsoleSubsystemFilter, d as defaultRuntime, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger } from "./subsystem-BT74-yyS.js";
|
|
8
8
|
import { S as isCronRunSessionKey, T as parseAgentSessionKey, c as normalizeAgentId, g as normalizeAccountId$1, h as DEFAULT_ACCOUNT_ID, l as normalizeMainKey, m as toAgentStoreSessionKey, o as classifySessionKeyShape, p as toAgentRequestSessionKey, r as buildAgentMainSessionKey, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, w as isSubagentSessionKey } from "./session-key-C9z4VQtw.js";
|
|
9
|
-
import { A as isNotFoundPathError, C as openBoundaryFileSync, P as matchesSkillFilter, S as openBoundaryFile, T as sameFileIdentity, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_SOUL_FILENAME, d as ensureAgentWorkspace, h as resolveDefaultAgentWorkspaceDir, i as DEFAULT_HEARTBEAT_FILENAME, l as DEFAULT_TOOLS_FILENAME, o as DEFAULT_MEMORY_ALT_FILENAME, p as isWorkspaceOnboardingCompleted, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_MEMORY_FILENAME, t as DEFAULT_AGENTS_FILENAME, u as DEFAULT_USER_FILENAME, v as resolveWorkspaceTemplateDir, w as openVerifiedFileSync, y as resolveOpenClawPackageRoot } from "./workspace-
|
|
9
|
+
import { A as isNotFoundPathError, C as openBoundaryFileSync, P as matchesSkillFilter, S as openBoundaryFile, T as sameFileIdentity, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_SOUL_FILENAME, d as ensureAgentWorkspace, h as resolveDefaultAgentWorkspaceDir, i as DEFAULT_HEARTBEAT_FILENAME, l as DEFAULT_TOOLS_FILENAME, o as DEFAULT_MEMORY_ALT_FILENAME, p as isWorkspaceOnboardingCompleted, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_MEMORY_FILENAME, t as DEFAULT_AGENTS_FILENAME, u as DEFAULT_USER_FILENAME, v as resolveWorkspaceTemplateDir, w as openVerifiedFileSync, y as resolveOpenClawPackageRoot } from "./workspace-TersEUYu.js";
|
|
10
10
|
import { i as logWarn, t as logDebug } from "./logger-D04dg4Ex.js";
|
|
11
11
|
import { n as runExec, t as runCommandWithTimeout } from "./exec-BdDcFm8M.js";
|
|
12
|
-
import { Gt as parseConfigJson5, In as isAvatarHttpUrl, Jt as resolveConfigSnapshotHash, Kr as resolveAgentMaxConcurrent, Kt as readConfigFileSnapshot, Ln as isAvatarImageDataUrl, Mi as DEFAULT_CONTEXT_TOKENS, Mr as applyLegacyMigrations, Ni as DEFAULT_MODEL, Nr as ensureControlUiAllowedOriginsForNonLoopbackBind, Pi as DEFAULT_PROVIDER, Pn as AVATAR_MAX_BYTES, Qt as OpenClawSchema, S as resolveThinkingDefault, Ti as normalizeSecretInput, Ut as createConfigIO, Vn as looksLikeAvatarPath, Vt as migrateLegacyConfig, Wr as buildTalkConfigResponse, Wt as loadConfig, Xt as writeConfigFile, Zt as validateConfigObjectWithPlugins, _ as resolveHooksGmailModel, _n as parseDurationMs, a as getModelRefStatus, ai as upsertAuthProfile, b as resolveSubagentConfiguredModelSelection, bi as isPidAlive, g as resolveDefaultModelForAgent, h as resolveConfiguredModelRef, jr as applyMergePatch, p as resolveAllowedModelRef, qr as resolveSubagentMaxConcurrent, qt as readConfigFileSnapshotForWrite, s as isCliProvider, t as buildAllowedModelSet, tt as resolveApiKeyForProvider, u as normalizeModelSelection, ui as loadAuthProfileStoreForRuntime, vn as parseByteSize, wi as normalizeOptionalSecretInput, xt as resolveApiKeyForProfile } from "./model-selection-
|
|
12
|
+
import { Gt as parseConfigJson5, In as isAvatarHttpUrl, Jt as resolveConfigSnapshotHash, Kr as resolveAgentMaxConcurrent, Kt as readConfigFileSnapshot, Ln as isAvatarImageDataUrl, Mi as DEFAULT_CONTEXT_TOKENS, Mr as applyLegacyMigrations, Ni as DEFAULT_MODEL, Nr as ensureControlUiAllowedOriginsForNonLoopbackBind, Pi as DEFAULT_PROVIDER, Pn as AVATAR_MAX_BYTES, Qt as OpenClawSchema, S as resolveThinkingDefault, Ti as normalizeSecretInput, Ut as createConfigIO, Vn as looksLikeAvatarPath, Vt as migrateLegacyConfig, Wr as buildTalkConfigResponse, Wt as loadConfig, Xt as writeConfigFile, Zt as validateConfigObjectWithPlugins, _ as resolveHooksGmailModel, _n as parseDurationMs, a as getModelRefStatus, ai as upsertAuthProfile, b as resolveSubagentConfiguredModelSelection, bi as isPidAlive, g as resolveDefaultModelForAgent, h as resolveConfiguredModelRef, jr as applyMergePatch, p as resolveAllowedModelRef, qr as resolveSubagentMaxConcurrent, qt as readConfigFileSnapshotForWrite, s as isCliProvider, t as buildAllowedModelSet, tt as resolveApiKeyForProvider, u as normalizeModelSelection, ui as loadAuthProfileStoreForRuntime, vn as parseByteSize, wi as normalizeOptionalSecretInput, xt as resolveApiKeyForProfile } from "./model-selection-DCo8MhsE.js";
|
|
13
13
|
import "./github-copilot-token-CVsUoC9m.js";
|
|
14
14
|
import { t as formatCliCommand } from "./command-format-DBmYTAza.js";
|
|
15
15
|
import "./boolean-BgXe2hyu.js";
|
|
@@ -17,160 +17,160 @@ import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-4r1Vlroz
|
|
|
17
17
|
import "./host-env-security-BiAcoumI.js";
|
|
18
18
|
import { i as resolveRuntimeServiceVersion, r as VERSION } from "./env-vars-DM119fhK.js";
|
|
19
19
|
import { C as clearInternalHooks, E as triggerInternalHook, T as registerInternalHook, h as createEmptyPluginRegistry, t as CHANNEL_IDS, u as getActivePluginRegistry, w as createInternalHookEvent } from "./registry-CUyWRciN.js";
|
|
20
|
-
import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-
|
|
21
|
-
import "./dock-
|
|
20
|
+
import { u as isTestDefaultMemorySlotDisabled } from "./manifest-registry-HNrtHxxI.js";
|
|
21
|
+
import "./dock-swzevZbj.js";
|
|
22
22
|
import { _ as normalizeGatewayClientMode, f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-CKAn7Lf7.js";
|
|
23
|
-
import "./send-
|
|
24
|
-
import { u as registerUnhandledRejectionHandler } from "./audio-transcription-runner-
|
|
25
|
-
import { x as extractTextFromChatContent } from "./image-
|
|
26
|
-
import "./models-config-
|
|
27
|
-
import "./pi-model-discovery-
|
|
28
|
-
import "./pi-embedded-helpers-
|
|
29
|
-
import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-
|
|
23
|
+
import "./send-DmVTXBWW.js";
|
|
24
|
+
import { u as registerUnhandledRejectionHandler } from "./audio-transcription-runner-Dv-MCA8E.js";
|
|
25
|
+
import { x as extractTextFromChatContent } from "./image-BzR2twGI.js";
|
|
26
|
+
import "./models-config-Bgpjcu8R.js";
|
|
27
|
+
import "./pi-model-discovery-BSytrsu4.js";
|
|
28
|
+
import "./pi-embedded-helpers-D3nc5XJW.js";
|
|
29
|
+
import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-DH9YtUfB.js";
|
|
30
30
|
import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-zFhF8IWN.js";
|
|
31
|
-
import "./chrome-
|
|
31
|
+
import "./chrome-2gfHr1cU.js";
|
|
32
32
|
import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-OcOGSzmc.js";
|
|
33
33
|
import { t as safeEqualSecret } from "./secret-equal-D7A3Bol7.js";
|
|
34
|
-
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-
|
|
35
|
-
import { c as normalizeHostHeader, d as resolveGatewayBindHost, f as resolveGatewayListenHosts, i as isLoopbackHost, l as pickPrimaryLanIPv4, n as isLocalishHost, o as isTrustedProxyAddress, r as isLoopbackAddress, s as isValidIPv4, t as rawDataToString, u as resolveClientIp } from "./ws-
|
|
36
|
-
import { a as resolveGatewayAuth, c as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, i as isLocalDirectRequest, l as createAuthRateLimiter, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, t as assertGatewayAuthConfigured, u as normalizeRateLimitClientIp } from "./auth-
|
|
37
|
-
import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-
|
|
34
|
+
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-C8NwaQEp.js";
|
|
35
|
+
import { c as normalizeHostHeader, d as resolveGatewayBindHost, f as resolveGatewayListenHosts, i as isLoopbackHost, l as pickPrimaryLanIPv4, n as isLocalishHost, o as isTrustedProxyAddress, r as isLoopbackAddress, s as isValidIPv4, t as rawDataToString, u as resolveClientIp } from "./ws-E9v842O2.js";
|
|
36
|
+
import { a as resolveGatewayAuth, c as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, i as isLocalDirectRequest, l as createAuthRateLimiter, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, t as assertGatewayAuthConfigured, u as normalizeRateLimitClientIp } from "./auth-B9WdgDjZ.js";
|
|
37
|
+
import { l as ensureGatewayStartupAuth, u as mergeGatewayTailscaleConfig } from "./server-context-Cr-Y4i6P.js";
|
|
38
38
|
import { d as hasBinary } from "./frontmatter-f69paAeU.js";
|
|
39
|
-
import { c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-
|
|
40
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
41
|
-
import "./paths-
|
|
39
|
+
import { c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-BXLKd7i5.js";
|
|
40
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-BNzjbOwM.js";
|
|
41
|
+
import "./paths-BZfURxkW.js";
|
|
42
42
|
import { a as testRegexWithBoundedInput, i as compileSafeRegex } from "./redact-Bf_pxORb.js";
|
|
43
43
|
import { o as isErrno, r as formatErrorMessage } from "./errors-D5pCqwf4.js";
|
|
44
|
-
import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-
|
|
45
|
-
import { n as SsrFBlockedError } from "./proxy-env-
|
|
46
|
-
import { c as detectMime } from "./image-ops-
|
|
47
|
-
import "./store-
|
|
48
|
-
import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-
|
|
44
|
+
import { i as openFileWithinRoot, l as writeFileWithinRoot, s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BGAE6eOQ.js";
|
|
45
|
+
import { n as SsrFBlockedError } from "./proxy-env-DhFUQlwP.js";
|
|
46
|
+
import { c as detectMime } from "./image-ops-B6BeXmZU.js";
|
|
47
|
+
import "./store-CRcBie8T.js";
|
|
48
|
+
import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-DXMCFRgn.js";
|
|
49
49
|
import { t as movePathToTrash } from "./trash-Cq4N8bvb.js";
|
|
50
|
-
import "./server-middleware-
|
|
51
|
-
import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-
|
|
52
|
-
import { $ as resolveMainSessionKey, A as readSessionPreviewItemsFromTranscript, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, ct as cleanStaleLockFiles, d as updateSessionStore, et as resolveMainSessionKeyFromConfig, k as readSessionMessages, n as parseSessionThreadInfo, nt as snapshotSessionOrigin, o as loadSessionStore, q as mergeSessionEntry, t as extractDeliveryInfo, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-
|
|
53
|
-
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as normalizeWhatsAppTarget } from "./plugins-
|
|
54
|
-
import { i as resolveWhatsAppAccount } from "./accounts-
|
|
55
|
-
import "./accounts-
|
|
50
|
+
import "./server-middleware-zyvA9rl9.js";
|
|
51
|
+
import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-C7p5SEie.js";
|
|
52
|
+
import { $ as resolveMainSessionKey, A as readSessionPreviewItemsFromTranscript, C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, I as stripInlineDirectiveTagsForDisplay, L as stripInlineDirectiveTagsFromMessageForDisplay, M as resolveSessionTranscriptCandidates, N as stripEnvelopeFromMessage, O as cleanupArchivedSessionTranscripts, P as stripEnvelopeFromMessages, Q as resolveExplicitAgentSessionKey, R as jsonUtf8Bytes, T as archiveFileOnDisk, U as resolveSessionResetPolicy, V as evaluateSessionFreshness, X as canonicalizeMainSessionAlias, Y as setSessionRuntimeModel, Z as resolveAgentMainSessionKey, ct as cleanStaleLockFiles, d as updateSessionStore, et as resolveMainSessionKeyFromConfig, k as readSessionMessages, n as parseSessionThreadInfo, nt as snapshotSessionOrigin, o as loadSessionStore, q as mergeSessionEntry, t as extractDeliveryInfo, x as mergeDeliveryContext, y as deliveryContextFromSession } from "./sessions-sIaYsUyX.js";
|
|
53
|
+
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin, v as normalizeWhatsAppTarget } from "./plugins-Ce8ThYGQ.js";
|
|
54
|
+
import { i as resolveWhatsAppAccount } from "./accounts-CCbfXe4Y.js";
|
|
55
|
+
import "./accounts-C3iwoWUS.js";
|
|
56
56
|
import "./logging-Dn5qdhsZ.js";
|
|
57
|
-
import "./accounts-
|
|
58
|
-
import { t as buildChannelAccountBindings } from "./bindings-
|
|
59
|
-
import "./send-
|
|
57
|
+
import "./accounts-ChjgDDok.js";
|
|
58
|
+
import { t as buildChannelAccountBindings } from "./bindings-C0k4wFy7.js";
|
|
59
|
+
import "./send-BQVNhO4Q.js";
|
|
60
60
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-BJLbJUqV.js";
|
|
61
61
|
import { i as normalizeInputProvenance } from "./input-provenance-CrQfrobW.js";
|
|
62
62
|
import "./chat-envelope-D2ZROPtK.js";
|
|
63
|
-
import "./tool-images-
|
|
63
|
+
import "./tool-images-CgSADinH.js";
|
|
64
64
|
import "./tool-display-BnVcCWLz.js";
|
|
65
|
-
import { t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
66
|
-
import "./api-key-rotation-
|
|
67
|
-
import "./local-roots-
|
|
68
|
-
import { n as loadModelCatalog } from "./model-catalog-
|
|
65
|
+
import { t as fetchWithSsrFGuard } from "./fetch-guard-N12H9lEe.js";
|
|
66
|
+
import "./api-key-rotation-CuHjsofV.js";
|
|
67
|
+
import "./local-roots-Dcc5UeD8.js";
|
|
68
|
+
import { n as loadModelCatalog } from "./model-catalog-DUHxH2xb.js";
|
|
69
69
|
import "./proxy-fetch-7LT9tml2.js";
|
|
70
70
|
import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-BK5VYCE_.js";
|
|
71
|
-
import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-
|
|
72
|
-
import { r as isRestartEnabled } from "./commands-
|
|
73
|
-
import "./commands-registry-
|
|
74
|
-
import { $ as validateNodePairApproveParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsAuthSetParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeDescribeParams, Jt as revokeDeviceToken, K as validateModelsListParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodeListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeInvokeParams, Xt as summarizeDeviceTokens, Y as validateNodeEventParams, Yt as rotateDeviceToken, Z as validateNodeInvokeResultParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validatePollParams, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairListParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validateNodeRenameParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nt as validateNodePairRequestParams, o as validateAgentsCreateParams, ot as validatePushTestParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateModelsVerifyParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validateNodePairVerifyParams, s as validateAgentsDeleteParams, st as validateRequestFrame, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairRejectParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-
|
|
75
|
-
import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-
|
|
71
|
+
import { j as runGlobalGatewayStopSafely, k as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-D4ugOkLr.js";
|
|
72
|
+
import { r as isRestartEnabled } from "./commands-npgZubp3.js";
|
|
73
|
+
import "./commands-registry-B5jHbfUL.js";
|
|
74
|
+
import { $ as validateNodePairApproveParams, $t as roleScopesAllow, A as validateCronStatusParams, At as validateWizardStartParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateToolsCatalogParams, D as validateCronRemoveParams, Dt as validateWebLoginWaitParams, E as validateCronListParams, Et as validateWebLoginStartParams, F as validateDevicePairRemoveParams, G as validateModelsAuthSetParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, Ht as ensureDeviceToken, I as validateDeviceTokenRevokeParams, It as parseSessionLabel, J as validateNodeDescribeParams, Jt as revokeDeviceToken, K as validateModelsListParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as buildDeviceAuthPayload, M as validateDevicePairApproveParams, Mt as PROTOCOL_VERSION, N as validateDevicePairListParams, Nt as ErrorCodes, O as validateCronRunParams, Ot as validateWizardCancelParams, P as validateDevicePairRejectParams, Pt as errorShape, Q as validateNodeListParams, Qt as verifyDeviceToken, R as validateExecApprovalRequestParams, Rt as buildDeviceAuthPayloadV3, S as validateConfigSchemaParams, St as validateTalkModeParams, T as validateCronAddParams, Tt as validateWakeParams, U as validateExecApprovalsSetParams, Ut as getPairedDevice, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeInvokeParams, Xt as summarizeDeviceTokens, Y as validateNodeEventParams, Yt as rotateDeviceToken, Z as validateNodeInvokeResultParams, Zt as updatePairedDeviceMetadata, _ as validateChatInjectParams, _t as validateSkillsBinsParams, a as validateAgentWaitParams, at as validatePollParams, b as validateConfigGetParams, bt as validateSkillsUpdateParams, c as validateAgentsFilesGetParams, ct as validateSendParams, d as validateAgentsListParams, dt as validateSessionsListParams, et as validateNodePairListParams, f as validateAgentsUpdateParams, ft as validateSessionsPatchParams, g as validateChatHistoryParams, gt as validateSessionsUsageParams, h as validateChatAbortParams, ht as validateSessionsResolveParams, i as validateAgentParams, in as verifyDeviceSignature, it as validateNodeRenameParams, j as validateCronUpdateParams, jt as validateWizardStatusParams, k as validateCronRunsParams, kt as validateWizardNextParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsResetParams, n as formatValidationErrors, nt as validateNodePairRequestParams, o as validateAgentsCreateParams, ot as validatePushTestParams, p as validateChannelsLogoutParams, pt as validateSessionsPreviewParams, q as validateModelsVerifyParams, qt as requestDevicePairing, r as validateAgentIdentityParams, rn as normalizeDevicePublicKeyBase64Url, rt as validateNodePairVerifyParams, s as validateAgentsDeleteParams, st as validateRequestFrame, tn as deriveDeviceIdFromPublicKey, tt as validateNodePairRejectParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSkillsInstallParams, w as validateConnectParams, wt as validateUpdateRunParams, x as validateConfigPatchParams, xt as validateTalkConfigParams, y as validateConfigApplyParams, yt as validateSkillsStatusParams, z as validateExecApprovalResolveParams, zt as normalizeDeviceMetadataForAuth } from "./client-BoUhzGrS.js";
|
|
75
|
+
import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-B9Vrcbed.js";
|
|
76
76
|
import "./pairing-token-QppPqMJU.js";
|
|
77
77
|
import "./fetch-Ca92M4MR.js";
|
|
78
78
|
import "./retry-AsJdJVsE.js";
|
|
79
|
-
import { a as readChannelAllowFromStoreSync } from "./pairing-store-
|
|
79
|
+
import { a as readChannelAllowFromStoreSync } from "./pairing-store-DY0yrkuM.js";
|
|
80
80
|
import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-C23wqMXV.js";
|
|
81
|
-
import "./exec-approvals-allowlist-
|
|
82
|
-
import "./exec-safe-bin-runtime-policy-
|
|
83
|
-
import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-
|
|
84
|
-
import { a as ToolInputError } from "./target-errors-
|
|
85
|
-
import { n as resolveSystemRunCommand } from "./system-run-command-
|
|
81
|
+
import "./exec-approvals-allowlist-fG-NsL-O.js";
|
|
82
|
+
import "./exec-safe-bin-runtime-policy-B9kCrTY1.js";
|
|
83
|
+
import { _ as matchSystemRunApprovalBinding, g as buildSystemRunApprovalBinding, h as resolveSystemRunApprovalRuntimeContext, m as resolveSystemRunApprovalRequestContext, v as missingSystemRunApprovalBinding, y as toSystemRunApprovalMismatchError } from "./nodes-screen-FWjD2j3v.js";
|
|
84
|
+
import { a as ToolInputError } from "./target-errors-cerGxvCB.js";
|
|
85
|
+
import { n as resolveSystemRunCommand } from "./system-run-command-Cn5yQ2rv.js";
|
|
86
86
|
import "./diagnostic-session-state-DtDi2x-e.js";
|
|
87
|
-
import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-
|
|
88
|
-
import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-
|
|
89
|
-
import { d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send-
|
|
90
|
-
import "./model-
|
|
91
|
-
import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-
|
|
87
|
+
import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-C-EETHnf.js";
|
|
88
|
+
import { d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, m as isDiagnosticsEnabled } from "./diagnostic-phUWJbF_.js";
|
|
89
|
+
import { d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send-CFUSH9C-.js";
|
|
90
|
+
import "./model-CESXYutI.js";
|
|
91
|
+
import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-aBvAQX6L.js";
|
|
92
92
|
import "./chunk-mV8H66i-.js";
|
|
93
|
-
import "./markdown-tables-
|
|
94
|
-
import "./ir-
|
|
93
|
+
import "./markdown-tables-XmfG1bwr.js";
|
|
94
|
+
import "./ir-vGBxQkIg.js";
|
|
95
95
|
import "./render-C9RrMnL2.js";
|
|
96
|
-
import { n as resolveMessageChannelSelection } from "./channel-selection-
|
|
96
|
+
import { n as resolveMessageChannelSelection } from "./channel-selection-BDdjozhi.js";
|
|
97
97
|
import { n as normalizePollInput } from "./polls-3Iuh9z3d.js";
|
|
98
|
-
import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
99
|
-
import "./send-
|
|
100
|
-
import "./outbound-attachment-
|
|
98
|
+
import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-4zXn-eVS.js";
|
|
99
|
+
import "./send-CabiU1-J.js";
|
|
100
|
+
import "./outbound-attachment-Df5o7JIG.js";
|
|
101
101
|
import "./delivery-queue-EvfYzqtX.js";
|
|
102
|
-
import "./send-
|
|
103
|
-
import "./resolve-route-
|
|
104
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-
|
|
102
|
+
import "./send-NexNe2Wh.js";
|
|
103
|
+
import "./resolve-route-R565qQgt.js";
|
|
104
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-Dwsq-Yaf.js";
|
|
105
105
|
import { t as getChannelActivity } from "./channel-activity-C--BGtPd.js";
|
|
106
|
-
import "./tables-
|
|
106
|
+
import "./tables-C5n2nXbu.js";
|
|
107
107
|
import "./proxy-D8dYXgWo.js";
|
|
108
|
-
import "./replies-
|
|
109
|
-
import { S as registerSkillsChangeListener, _ as requestNodePairing, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, g as renamePairedNode, h as rejectNodePairing, l as refreshRemoteBinsForConnectedNodes, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion, y as verifyNodeToken } from "./skill-commands-
|
|
110
|
-
import { t as listAgentWorkspaceDirs } from "./workspace-dirs-
|
|
108
|
+
import "./replies-k5K96_46.js";
|
|
109
|
+
import { S as registerSkillsChangeListener, _ as requestNodePairing, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, g as renamePairedNode, h as rejectNodePairing, l as refreshRemoteBinsForConnectedNodes, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion, y as verifyNodeToken } from "./skill-commands-C2_BOuyl.js";
|
|
110
|
+
import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DxTFH1r3.js";
|
|
111
111
|
import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-DbjE1AVb.js";
|
|
112
|
-
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-
|
|
112
|
+
import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-Jc1-4LBc.js";
|
|
113
113
|
import "./prompt-style-sTNfJFX8.js";
|
|
114
|
-
import "./pairing-labels-
|
|
114
|
+
import "./pairing-labels-BBti3jJg.js";
|
|
115
115
|
import { n as formatTokenCount, r as formatUsd } from "./usage-format-BxjB8vcE.js";
|
|
116
|
-
import "./session-meta-
|
|
117
|
-
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-
|
|
118
|
-
import { r as resolveMemorySearchConfig } from "./manager-
|
|
119
|
-
import "./query-expansion-
|
|
116
|
+
import "./session-meta-C6MooccR.js";
|
|
117
|
+
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-87nxADqy.js";
|
|
118
|
+
import { r as resolveMemorySearchConfig } from "./manager-X8AF3rQJ.js";
|
|
119
|
+
import "./query-expansion-B9kneDbd.js";
|
|
120
120
|
import { t as formatDocsLink } from "./links-CM7pO4C5.js";
|
|
121
121
|
import { n as runCommandWithRuntime } from "./cli-utils-BKqG4ZT-.js";
|
|
122
122
|
import { t as formatHelpExamples } from "./help-format-DUJs-8Xi.js";
|
|
123
123
|
import { n as withProgress } from "./progress-86COuAnG.js";
|
|
124
|
-
import "./server-lifecycle-
|
|
124
|
+
import "./server-lifecycle-BVnXIEfI.js";
|
|
125
125
|
import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-C-R8Eo-4.js";
|
|
126
126
|
import "./constants-BJiQF5Ae.js";
|
|
127
127
|
import "./context-window-guard-BNuaId5E.js";
|
|
128
128
|
import { i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-BdDIMad6.js";
|
|
129
129
|
import { t as ensureOpenClawCliOnPath } from "./path-env-DzEqwLCq.js";
|
|
130
130
|
import "./runtime-guard-p6l4jDOj.js";
|
|
131
|
-
import { t as forceFreePortAndWait } from "./ports-
|
|
132
|
-
import { t as buildWorkspaceSkillStatus } from "./skills-status-
|
|
131
|
+
import { t as forceFreePortAndWait } from "./ports-wtEwdqsX.js";
|
|
132
|
+
import { t as buildWorkspaceSkillStatus } from "./skills-status-C7Q6Ezbv.js";
|
|
133
133
|
import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-DHq9RLRQ.js";
|
|
134
134
|
import { n as inheritOptionFromParent } from "./command-options-D4YE45pL.js";
|
|
135
135
|
import { t as WizardCancelledError } from "./prompts-iXdBMk3j.js";
|
|
136
136
|
import { t as resolveChannelDefaultAccountId } from "./helpers-D0Q6sarx.js";
|
|
137
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
138
|
-
import { t as isWithinDir } from "./path-safety-
|
|
139
|
-
import { t as assertCanonicalPathWithinBase } from "./install-safe-path-
|
|
140
|
-
import "./skill-scanner-
|
|
141
|
-
import { n as formatConfigIssueLines } from "./issue-format-
|
|
137
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BoNoGEQI.js";
|
|
138
|
+
import { t as isWithinDir } from "./path-safety-dmCI2tpN.js";
|
|
139
|
+
import { t as assertCanonicalPathWithinBase } from "./install-safe-path-DodF6oyk.js";
|
|
140
|
+
import "./skill-scanner-DYkQAh0l.js";
|
|
141
|
+
import { n as formatConfigIssueLines } from "./issue-format-B4oxePhU.js";
|
|
142
142
|
import { t as buildChannelAccountSnapshot } from "./status-yrDGXYZM.js";
|
|
143
|
-
import "./channels-status-issues-
|
|
144
|
-
import { a as buildBaseHints, i as applySensitiveHints, n as redactConfigSnapshot, o as mapSensitivePaths, r as restoreRedactedValues, s as applyDerivedTags, t as redactConfigObject } from "./redact-snapshot-
|
|
145
|
-
import "./daemon-install-helpers-
|
|
146
|
-
import "./systemd-
|
|
147
|
-
import "./service-
|
|
148
|
-
import "./lifecycle-core-
|
|
149
|
-
import "./systemd-hints-
|
|
143
|
+
import "./channels-status-issues-Dir7g-Pc.js";
|
|
144
|
+
import { a as buildBaseHints, i as applySensitiveHints, n as redactConfigSnapshot, o as mapSensitivePaths, r as restoreRedactedValues, s as applyDerivedTags, t as redactConfigObject } from "./redact-snapshot-BI4Ryuhy.js";
|
|
145
|
+
import "./daemon-install-helpers-CGZBs-X3.js";
|
|
146
|
+
import "./systemd-BIfjzi-4.js";
|
|
147
|
+
import "./service-BcFhE63y.js";
|
|
148
|
+
import "./lifecycle-core-C5a4clqu.js";
|
|
149
|
+
import "./systemd-hints-CgtHwBfD.js";
|
|
150
150
|
import { t as parsePort$1 } from "./parse-port-DEJJlpU0.js";
|
|
151
|
-
import { n as addGatewayServiceCommands } from "./daemon-cli-
|
|
152
|
-
import "./diagnostics-
|
|
151
|
+
import { n as addGatewayServiceCommands } from "./daemon-cli-CB9c5SXP.js";
|
|
152
|
+
import "./diagnostics-D_AmByNE.js";
|
|
153
153
|
import "./table-DZBPnHSy.js";
|
|
154
154
|
import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-D1fyqK-r.js";
|
|
155
|
-
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-
|
|
156
|
-
import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-
|
|
157
|
-
import { t as discoverGatewayBeacons } from "./bonjour-discovery-
|
|
158
|
-
import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-
|
|
159
|
-
import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-
|
|
160
|
-
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-
|
|
161
|
-
import { o as isBitseekBuild } from "./status.update-
|
|
162
|
-
import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-
|
|
163
|
-
import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-
|
|
164
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
165
|
-
import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-
|
|
155
|
+
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-sFrejcA4.js";
|
|
156
|
+
import { a as probeGateway, n as collectEnabledInsecureOrDangerousFlags } from "./audit-BAGbgihO.js";
|
|
157
|
+
import { t as discoverGatewayBeacons } from "./bonjour-discovery-DXvZeG8M.js";
|
|
158
|
+
import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-rMgdZcE5.js";
|
|
159
|
+
import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines, u as isCronSystemEvent } from "./health-DlFSsTw-.js";
|
|
160
|
+
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DpInddpx.js";
|
|
161
|
+
import { o as isBitseekBuild } from "./status.update-D4GfnNDI.js";
|
|
162
|
+
import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-CeGx9Aq7.js";
|
|
163
|
+
import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-D64ACWoX.js";
|
|
164
|
+
import { t as runOnboardingWizard } from "./onboarding-BQ2WB7tp.js";
|
|
165
|
+
import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-SIM2es-Y.js";
|
|
166
166
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-mNwdQcKy.js";
|
|
167
|
-
import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-
|
|
168
|
-
import "./node-service-
|
|
169
|
-
import "./shared-
|
|
170
|
-
import { d as verifyOpenAiCompatibleModel } from "./onboard-custom.shared-
|
|
171
|
-
import { n as formatInstallFailureMessage, t as installSkill } from "./skills-install-
|
|
172
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
173
|
-
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-
|
|
167
|
+
import { n as isNodeCommandAllowed, r as resolveNodeCommandAllowlist } from "./node-command-policy-BiPTB8BK.js";
|
|
168
|
+
import "./node-service-CfKJ5oC1.js";
|
|
169
|
+
import "./shared-DNcLp2mA.js";
|
|
170
|
+
import { d as verifyOpenAiCompatibleModel } from "./onboard-custom.shared-SWx67Er2.js";
|
|
171
|
+
import { n as formatInstallFailureMessage, t as installSkill } from "./skills-install-CSfh8nRm.js";
|
|
172
|
+
import { t as runGatewayUpdate } from "./update-runner-Dj_CAfd4.js";
|
|
173
|
+
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-1nc7aTpg.js";
|
|
174
174
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
175
175
|
import * as fsSync from "node:fs";
|
|
176
176
|
import fs from "node:fs";
|
|
@@ -178,7 +178,7 @@ import os from "node:os";
|
|
|
178
178
|
import path from "node:path";
|
|
179
179
|
import chalk from "chalk";
|
|
180
180
|
import { isDeepStrictEqual } from "node:util";
|
|
181
|
-
import
|
|
181
|
+
import fsPromises from "node:fs/promises";
|
|
182
182
|
import { spawn, spawnSync } from "node:child_process";
|
|
183
183
|
import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
184
184
|
import { z } from "zod";
|
|
@@ -1249,7 +1249,7 @@ function resolveCheckIntervalMs(cfg) {
|
|
|
1249
1249
|
}
|
|
1250
1250
|
async function readState(statePath) {
|
|
1251
1251
|
try {
|
|
1252
|
-
const raw = await
|
|
1252
|
+
const raw = await fsPromises.readFile(statePath, "utf-8");
|
|
1253
1253
|
const parsed = JSON.parse(raw);
|
|
1254
1254
|
return parsed && typeof parsed === "object" ? parsed : {};
|
|
1255
1255
|
} catch {
|
|
@@ -1330,7 +1330,7 @@ async function runAutoUpdateCommand(params) {
|
|
|
1330
1330
|
path.join(params.root, "dist", "index.mjs")
|
|
1331
1331
|
];
|
|
1332
1332
|
for (const candidate of candidates) try {
|
|
1333
|
-
await
|
|
1333
|
+
await fsPromises.access(candidate);
|
|
1334
1334
|
argv.push(execPath, candidate, ...baseArgs);
|
|
1335
1335
|
break;
|
|
1336
1336
|
} catch {}
|
|
@@ -4405,20 +4405,20 @@ async function drainPendingWrite(filePath) {
|
|
|
4405
4405
|
if (pending) await pending.catch(() => void 0);
|
|
4406
4406
|
}
|
|
4407
4407
|
async function pruneIfNeeded(filePath, opts) {
|
|
4408
|
-
const stat = await
|
|
4408
|
+
const stat = await fsPromises.stat(filePath).catch(() => null);
|
|
4409
4409
|
if (!stat || stat.size <= opts.maxBytes) return;
|
|
4410
|
-
const lines = (await
|
|
4410
|
+
const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
|
|
4411
4411
|
const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
|
|
4412
4412
|
const { randomBytes } = await import("node:crypto");
|
|
4413
4413
|
const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
|
|
4414
|
-
await
|
|
4415
|
-
await
|
|
4414
|
+
await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
|
|
4415
|
+
await fsPromises.rename(tmp, filePath);
|
|
4416
4416
|
}
|
|
4417
4417
|
async function appendCronRunLog(filePath, entry, opts) {
|
|
4418
4418
|
const resolved = path.resolve(filePath);
|
|
4419
4419
|
const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
|
|
4420
|
-
await
|
|
4421
|
-
await
|
|
4420
|
+
await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
|
|
4421
|
+
await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
|
|
4422
4422
|
await pruneIfNeeded(resolved, {
|
|
4423
4423
|
maxBytes: opts?.maxBytes ?? DEFAULT_CRON_RUN_LOG_MAX_BYTES,
|
|
4424
4424
|
keepLines: opts?.keepLines ?? DEFAULT_CRON_RUN_LOG_KEEP_LINES
|
|
@@ -4512,7 +4512,7 @@ function filterRunLogEntries(entries, opts) {
|
|
|
4512
4512
|
async function readCronRunLogEntriesPage(filePath, opts) {
|
|
4513
4513
|
await drainPendingWrite(filePath);
|
|
4514
4514
|
const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
|
|
4515
|
-
const raw = await
|
|
4515
|
+
const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
|
|
4516
4516
|
const statuses = normalizeRunStatuses(opts);
|
|
4517
4517
|
const deliveryStatuses = normalizeDeliveryStatuses(opts);
|
|
4518
4518
|
const query = opts?.query?.trim().toLowerCase() ?? "";
|
|
@@ -4548,7 +4548,7 @@ async function readCronRunLogEntriesPageAll(opts) {
|
|
|
4548
4548
|
const query = opts.query?.trim().toLowerCase() ?? "";
|
|
4549
4549
|
const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
|
|
4550
4550
|
const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
|
|
4551
|
-
const jsonlFiles = (await
|
|
4551
|
+
const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
|
|
4552
4552
|
if (jsonlFiles.length === 0) return {
|
|
4553
4553
|
entries: [],
|
|
4554
4554
|
total: 0,
|
|
@@ -4559,7 +4559,7 @@ async function readCronRunLogEntriesPageAll(opts) {
|
|
|
4559
4559
|
};
|
|
4560
4560
|
await Promise.all(jsonlFiles.map((f) => drainPendingWrite(f)));
|
|
4561
4561
|
const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
|
|
4562
|
-
return parseAllRunLogEntries(await
|
|
4562
|
+
return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
|
|
4563
4563
|
}))).flat(), {
|
|
4564
4564
|
statuses,
|
|
4565
4565
|
deliveryStatuses,
|
|
@@ -9767,7 +9767,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
|
|
|
9767
9767
|
}
|
|
9768
9768
|
async function resolveWorkspaceRealPath(workspaceDir) {
|
|
9769
9769
|
try {
|
|
9770
|
-
return await
|
|
9770
|
+
return await fsPromises.realpath(workspaceDir);
|
|
9771
9771
|
} catch {
|
|
9772
9772
|
return path.resolve(workspaceDir);
|
|
9773
9773
|
}
|
|
@@ -9791,7 +9791,7 @@ async function resolveAgentWorkspaceFilePath(params) {
|
|
|
9791
9791
|
}
|
|
9792
9792
|
let candidateLstat;
|
|
9793
9793
|
try {
|
|
9794
|
-
candidateLstat = await
|
|
9794
|
+
candidateLstat = await fsPromises.lstat(candidatePath);
|
|
9795
9795
|
} catch (err) {
|
|
9796
9796
|
if (isNotFoundPathError(err)) {
|
|
9797
9797
|
if (params.allowMissing) return {
|
|
@@ -9811,7 +9811,7 @@ async function resolveAgentWorkspaceFilePath(params) {
|
|
|
9811
9811
|
if (candidateLstat.isSymbolicLink()) {
|
|
9812
9812
|
let targetReal;
|
|
9813
9813
|
try {
|
|
9814
|
-
targetReal = await
|
|
9814
|
+
targetReal = await fsPromises.realpath(candidatePath);
|
|
9815
9815
|
} catch (err) {
|
|
9816
9816
|
if (isNotFoundPathError(err)) {
|
|
9817
9817
|
if (params.allowMissing) return {
|
|
@@ -9830,7 +9830,7 @@ async function resolveAgentWorkspaceFilePath(params) {
|
|
|
9830
9830
|
}
|
|
9831
9831
|
let targetStat;
|
|
9832
9832
|
try {
|
|
9833
|
-
targetStat = await
|
|
9833
|
+
targetStat = await fsPromises.stat(targetReal);
|
|
9834
9834
|
} catch (err) {
|
|
9835
9835
|
if (isNotFoundPathError(err)) {
|
|
9836
9836
|
if (params.allowMissing) return {
|
|
@@ -9877,13 +9877,13 @@ async function resolveAgentWorkspaceFilePath(params) {
|
|
|
9877
9877
|
return {
|
|
9878
9878
|
kind: "ready",
|
|
9879
9879
|
requestPath,
|
|
9880
|
-
ioPath: await
|
|
9880
|
+
ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
|
|
9881
9881
|
workspaceReal
|
|
9882
9882
|
};
|
|
9883
9883
|
}
|
|
9884
9884
|
async function statFileSafely(filePath) {
|
|
9885
9885
|
try {
|
|
9886
|
-
const [stat, lstat] = await Promise.all([
|
|
9886
|
+
const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
|
|
9887
9887
|
if (lstat.isSymbolicLink() || !stat.isFile()) return null;
|
|
9888
9888
|
if (stat.nlink > 1) return null;
|
|
9889
9889
|
if (!sameFileIdentity(stat, lstat)) return null;
|
|
@@ -9968,7 +9968,7 @@ function resolveOptionalStringParam(value) {
|
|
|
9968
9968
|
async function moveToTrashBestEffort(pathname) {
|
|
9969
9969
|
if (!pathname) return;
|
|
9970
9970
|
try {
|
|
9971
|
-
await
|
|
9971
|
+
await fsPromises.access(pathname);
|
|
9972
9972
|
} catch {
|
|
9973
9973
|
return;
|
|
9974
9974
|
}
|
|
@@ -10044,7 +10044,7 @@ const agentsHandlers = {
|
|
|
10044
10044
|
dir: workspaceDir,
|
|
10045
10045
|
ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
|
|
10046
10046
|
});
|
|
10047
|
-
await
|
|
10047
|
+
await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
|
|
10048
10048
|
await writeConfigFile(nextConfig);
|
|
10049
10049
|
const safeName = sanitizeIdentityLine(rawName);
|
|
10050
10050
|
const emoji = resolveOptionalStringParam(params.emoji);
|
|
@@ -10057,7 +10057,7 @@ const agentsHandlers = {
|
|
|
10057
10057
|
...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
|
|
10058
10058
|
""
|
|
10059
10059
|
];
|
|
10060
|
-
await
|
|
10060
|
+
await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
|
|
10061
10061
|
respond(true, {
|
|
10062
10062
|
ok: true,
|
|
10063
10063
|
agentId,
|
|
@@ -10092,9 +10092,9 @@ const agentsHandlers = {
|
|
|
10092
10092
|
});
|
|
10093
10093
|
if (avatar) {
|
|
10094
10094
|
const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
|
|
10095
|
-
await
|
|
10095
|
+
await fsPromises.mkdir(workspace, { recursive: true });
|
|
10096
10096
|
const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
|
|
10097
|
-
await
|
|
10097
|
+
await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
|
|
10098
10098
|
}
|
|
10099
10099
|
respond(true, {
|
|
10100
10100
|
ok: true,
|
|
@@ -10218,7 +10218,7 @@ const agentsHandlers = {
|
|
|
10218
10218
|
const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
|
|
10219
10219
|
if (!resolved) return;
|
|
10220
10220
|
const { agentId, workspaceDir, name } = resolved;
|
|
10221
|
-
await
|
|
10221
|
+
await fsPromises.mkdir(workspaceDir, { recursive: true });
|
|
10222
10222
|
const filePath = path.join(workspaceDir, name);
|
|
10223
10223
|
const resolvedPath = await resolveWorkspaceFilePathOrRespond({
|
|
10224
10224
|
respond,
|
|
@@ -12511,14 +12511,14 @@ function isRollingLogFile(file) {
|
|
|
12511
12511
|
return ROLLING_LOG_RE.test(path.basename(file));
|
|
12512
12512
|
}
|
|
12513
12513
|
async function resolveLogFile(file) {
|
|
12514
|
-
if (await
|
|
12514
|
+
if (await fsPromises.stat(file).catch(() => null)) return file;
|
|
12515
12515
|
if (!isRollingLogFile(file)) return file;
|
|
12516
12516
|
const dir = path.dirname(file);
|
|
12517
|
-
const entries = await
|
|
12517
|
+
const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
|
|
12518
12518
|
if (!entries) return file;
|
|
12519
12519
|
return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
|
|
12520
12520
|
const fullPath = path.join(dir, entry.name);
|
|
12521
|
-
const fileStat = await
|
|
12521
|
+
const fileStat = await fsPromises.stat(fullPath).catch(() => null);
|
|
12522
12522
|
return fileStat ? {
|
|
12523
12523
|
path: fullPath,
|
|
12524
12524
|
mtimeMs: fileStat.mtimeMs
|
|
@@ -12526,7 +12526,7 @@ async function resolveLogFile(file) {
|
|
|
12526
12526
|
}))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
|
|
12527
12527
|
}
|
|
12528
12528
|
async function readLogSlice(params) {
|
|
12529
|
-
const stat = await
|
|
12529
|
+
const stat = await fsPromises.stat(params.file).catch(() => null);
|
|
12530
12530
|
if (!stat) return {
|
|
12531
12531
|
cursor: 0,
|
|
12532
12532
|
size: 0,
|
|
@@ -12564,7 +12564,7 @@ async function readLogSlice(params) {
|
|
|
12564
12564
|
truncated,
|
|
12565
12565
|
reset
|
|
12566
12566
|
};
|
|
12567
|
-
const handle = await
|
|
12567
|
+
const handle = await fsPromises.open(params.file, "r");
|
|
12568
12568
|
try {
|
|
12569
12569
|
let prefix = "";
|
|
12570
12570
|
if (start > 0) {
|
|
@@ -13611,7 +13611,7 @@ const nodeHandlers = {
|
|
|
13611
13611
|
const p = params;
|
|
13612
13612
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
13613
13613
|
await respondUnavailableOnThrow(respond, async () => {
|
|
13614
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
13614
|
+
const { handleNodeEvent } = await import("./server-node-events-oa4mOmsp.js");
|
|
13615
13615
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
13616
13616
|
await handleNodeEvent({
|
|
13617
13617
|
deps: context.deps,
|
|
@@ -14300,6 +14300,12 @@ function isCommandNotFoundResult(result) {
|
|
|
14300
14300
|
const output = `${result.stderr}\n${result.stdout}`.toLowerCase();
|
|
14301
14301
|
return output.includes("enoent") || output.includes("command not found") || output.includes("not recognized as an internal or external command");
|
|
14302
14302
|
}
|
|
14303
|
+
function isAlreadyInstalledResult(result) {
|
|
14304
|
+
return `${result.stderr}\n${result.stdout}`.toLowerCase().includes("already installed");
|
|
14305
|
+
}
|
|
14306
|
+
function requiresForceForSuspiciousSkill(result) {
|
|
14307
|
+
return `${result.stderr}\n${result.stdout}`.toLowerCase().includes("use --force to install suspicious skills in non-interactive mode");
|
|
14308
|
+
}
|
|
14303
14309
|
async function runMarketInstallCommand(runCommand, argv, options) {
|
|
14304
14310
|
try {
|
|
14305
14311
|
return await runCommand(argv, options);
|
|
@@ -14331,11 +14337,11 @@ async function installLocalMarketSkill(params) {
|
|
|
14331
14337
|
candidatePath: sourceDir,
|
|
14332
14338
|
boundaryLabel: "market templates directory"
|
|
14333
14339
|
});
|
|
14334
|
-
if (!(await
|
|
14340
|
+
if (!(await fsPromises.stat(sourceDir)).isDirectory()) return {
|
|
14335
14341
|
ok: false,
|
|
14336
14342
|
message: `Local template "${templateDir}" is not a directory.`
|
|
14337
14343
|
};
|
|
14338
|
-
if (!(await
|
|
14344
|
+
if (!(await fsPromises.stat(sourceSkillPath)).isFile()) return {
|
|
14339
14345
|
ok: false,
|
|
14340
14346
|
message: `Local template "${templateDir}" is missing SKILL.md.`
|
|
14341
14347
|
};
|
|
@@ -14349,13 +14355,13 @@ async function installLocalMarketSkill(params) {
|
|
|
14349
14355
|
const workspaceSkillsDir = path.join(workspaceDir, "skills");
|
|
14350
14356
|
const targetDir = path.join(workspaceSkillsDir, templateDir);
|
|
14351
14357
|
try {
|
|
14352
|
-
await
|
|
14358
|
+
await fsPromises.mkdir(workspaceSkillsDir, { recursive: true });
|
|
14353
14359
|
await assertCanonicalPathWithinBase({
|
|
14354
14360
|
baseDir: workspaceSkillsDir,
|
|
14355
14361
|
candidatePath: targetDir,
|
|
14356
14362
|
boundaryLabel: "workspace skills directory"
|
|
14357
14363
|
});
|
|
14358
|
-
await
|
|
14364
|
+
await fsPromises.cp(sourceDir, targetDir, {
|
|
14359
14365
|
recursive: true,
|
|
14360
14366
|
force: true
|
|
14361
14367
|
});
|
|
@@ -14379,18 +14385,43 @@ async function installClawhubMarketSkill(params, deps) {
|
|
|
14379
14385
|
const workspaceDir = resolveUserPath(params.workspaceDir);
|
|
14380
14386
|
const timeoutMs = Math.min(Math.max(params.timeoutMs ?? 3e5, 1e3), 9e5);
|
|
14381
14387
|
const runCommand = deps?.runCommand ?? runCommandWithTimeout;
|
|
14388
|
+
const installOptions = {
|
|
14389
|
+
cwd: workspaceDir,
|
|
14390
|
+
timeoutMs
|
|
14391
|
+
};
|
|
14382
14392
|
const first = await runMarketInstallCommand(runCommand, [
|
|
14383
14393
|
"clawhub",
|
|
14384
14394
|
"install",
|
|
14385
14395
|
slug
|
|
14386
|
-
],
|
|
14387
|
-
cwd: workspaceDir,
|
|
14388
|
-
timeoutMs
|
|
14389
|
-
});
|
|
14396
|
+
], installOptions);
|
|
14390
14397
|
if (first.code === 0) return {
|
|
14391
14398
|
ok: true,
|
|
14392
14399
|
message: `Installed "${slug}" via clawhub.`
|
|
14393
14400
|
};
|
|
14401
|
+
if (isAlreadyInstalledResult(first)) return {
|
|
14402
|
+
ok: true,
|
|
14403
|
+
message: `Already installed "${slug}" via clawhub.`
|
|
14404
|
+
};
|
|
14405
|
+
if (requiresForceForSuspiciousSkill(first)) {
|
|
14406
|
+
const forced = await runMarketInstallCommand(runCommand, [
|
|
14407
|
+
"clawhub",
|
|
14408
|
+
"install",
|
|
14409
|
+
slug,
|
|
14410
|
+
"--force"
|
|
14411
|
+
], installOptions);
|
|
14412
|
+
if (forced.code === 0) return {
|
|
14413
|
+
ok: true,
|
|
14414
|
+
message: `Installed "${slug}" via clawhub --force.`
|
|
14415
|
+
};
|
|
14416
|
+
if (isAlreadyInstalledResult(forced)) return {
|
|
14417
|
+
ok: true,
|
|
14418
|
+
message: `Already installed "${slug}" via clawhub --force.`
|
|
14419
|
+
};
|
|
14420
|
+
return {
|
|
14421
|
+
ok: false,
|
|
14422
|
+
message: `ClawHub install failed: ${formatInstallFailureMessage(forced)}`
|
|
14423
|
+
};
|
|
14424
|
+
}
|
|
14394
14425
|
if (!isCommandNotFoundResult(first)) return {
|
|
14395
14426
|
ok: false,
|
|
14396
14427
|
message: `ClawHub install failed: ${formatInstallFailureMessage(first)}`
|
|
@@ -14401,14 +14432,37 @@ async function installClawhubMarketSkill(params, deps) {
|
|
|
14401
14432
|
"clawhub",
|
|
14402
14433
|
"install",
|
|
14403
14434
|
slug
|
|
14404
|
-
],
|
|
14405
|
-
cwd: workspaceDir,
|
|
14406
|
-
timeoutMs
|
|
14407
|
-
});
|
|
14435
|
+
], installOptions);
|
|
14408
14436
|
if (fallback.code === 0) return {
|
|
14409
14437
|
ok: true,
|
|
14410
14438
|
message: `Installed "${slug}" via npx clawhub.`
|
|
14411
14439
|
};
|
|
14440
|
+
if (isAlreadyInstalledResult(fallback)) return {
|
|
14441
|
+
ok: true,
|
|
14442
|
+
message: `Already installed "${slug}" via npx clawhub.`
|
|
14443
|
+
};
|
|
14444
|
+
if (requiresForceForSuspiciousSkill(fallback)) {
|
|
14445
|
+
const forcedFallback = await runMarketInstallCommand(runCommand, [
|
|
14446
|
+
"npx",
|
|
14447
|
+
"-y",
|
|
14448
|
+
"clawhub",
|
|
14449
|
+
"install",
|
|
14450
|
+
slug,
|
|
14451
|
+
"--force"
|
|
14452
|
+
], installOptions);
|
|
14453
|
+
if (forcedFallback.code === 0) return {
|
|
14454
|
+
ok: true,
|
|
14455
|
+
message: `Installed "${slug}" via npx clawhub --force.`
|
|
14456
|
+
};
|
|
14457
|
+
if (isAlreadyInstalledResult(forcedFallback)) return {
|
|
14458
|
+
ok: true,
|
|
14459
|
+
message: `Already installed "${slug}" via npx clawhub --force.`
|
|
14460
|
+
};
|
|
14461
|
+
return {
|
|
14462
|
+
ok: false,
|
|
14463
|
+
message: `ClawHub install failed: ${formatInstallFailureMessage(forcedFallback)}`
|
|
14464
|
+
};
|
|
14465
|
+
}
|
|
14412
14466
|
return {
|
|
14413
14467
|
ok: false,
|
|
14414
14468
|
message: `ClawHub install failed: ${formatInstallFailureMessage(fallback)}`
|
|
@@ -17141,7 +17195,7 @@ function normalizeAgentPayload(payload) {
|
|
|
17141
17195
|
async function startBrowserControlServerIfEnabled() {
|
|
17142
17196
|
if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
|
|
17143
17197
|
const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
|
|
17144
|
-
const mod = override ? await import(override) : await import("./server-
|
|
17198
|
+
const mod = override ? await import(override) : await import("./server-DQ7D-B-v.js");
|
|
17145
17199
|
const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
|
|
17146
17200
|
const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
|
|
17147
17201
|
if (!start) return null;
|
|
@@ -17369,7 +17423,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
|
|
|
17369
17423
|
if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
|
|
17370
17424
|
const candidate = path.join(rootReal, rel);
|
|
17371
17425
|
try {
|
|
17372
|
-
const st = await
|
|
17426
|
+
const st = await fsPromises.lstat(candidate);
|
|
17373
17427
|
if (st.isSymbolicLink()) return null;
|
|
17374
17428
|
if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
|
|
17375
17429
|
} catch {}
|
|
@@ -17406,8 +17460,8 @@ async function resolveA2uiRoot() {
|
|
|
17406
17460
|
for (const dir of candidates) try {
|
|
17407
17461
|
const indexPath = path.join(dir, "index.html");
|
|
17408
17462
|
const bundlePath = path.join(dir, "a2ui.bundle.js");
|
|
17409
|
-
await
|
|
17410
|
-
await
|
|
17463
|
+
await fsPromises.stat(indexPath);
|
|
17464
|
+
await fsPromises.stat(bundlePath);
|
|
17411
17465
|
return dir;
|
|
17412
17466
|
} catch {}
|
|
17413
17467
|
return null;
|
|
@@ -17416,7 +17470,7 @@ async function resolveA2uiRootReal() {
|
|
|
17416
17470
|
if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
|
|
17417
17471
|
if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
|
|
17418
17472
|
const root = await resolveA2uiRoot();
|
|
17419
|
-
cachedA2uiRootReal = root ? await
|
|
17473
|
+
cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
|
|
17420
17474
|
cachedA2uiResolvedAtMs = Date.now();
|
|
17421
17475
|
resolvingA2uiRoot = null;
|
|
17422
17476
|
return cachedA2uiRootReal;
|
|
@@ -17637,13 +17691,13 @@ function normalizeBasePath(rawPath) {
|
|
|
17637
17691
|
}
|
|
17638
17692
|
async function prepareCanvasRoot(rootDir) {
|
|
17639
17693
|
await ensureDir(rootDir);
|
|
17640
|
-
const rootReal = await
|
|
17694
|
+
const rootReal = await fsPromises.realpath(rootDir);
|
|
17641
17695
|
try {
|
|
17642
17696
|
const indexPath = path.join(rootReal, "index.html");
|
|
17643
|
-
await
|
|
17697
|
+
await fsPromises.stat(indexPath);
|
|
17644
17698
|
} catch {
|
|
17645
17699
|
try {
|
|
17646
|
-
await
|
|
17700
|
+
await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
|
|
17647
17701
|
} catch {}
|
|
17648
17702
|
}
|
|
17649
17703
|
return rootReal;
|
|
@@ -20650,7 +20704,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
|
|
|
20650
20704
|
}
|
|
20651
20705
|
async function readLockPayload(lockPath) {
|
|
20652
20706
|
try {
|
|
20653
|
-
const raw = await
|
|
20707
|
+
const raw = await fsPromises.readFile(lockPath, "utf8");
|
|
20654
20708
|
const parsed = JSON.parse(raw);
|
|
20655
20709
|
if (typeof parsed.pid !== "number") return null;
|
|
20656
20710
|
if (typeof parsed.createdAt !== "string") return null;
|
|
@@ -20685,11 +20739,11 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
20685
20739
|
const platform = opts.platform ?? process.platform;
|
|
20686
20740
|
const port = opts.port;
|
|
20687
20741
|
const { lockPath, configPath } = resolveGatewayLockPath(env);
|
|
20688
|
-
await
|
|
20742
|
+
await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
|
|
20689
20743
|
const startedAt = Date.now();
|
|
20690
20744
|
let lastPayload = null;
|
|
20691
20745
|
while (Date.now() - startedAt < timeoutMs) try {
|
|
20692
|
-
const handle = await
|
|
20746
|
+
const handle = await fsPromises.open(lockPath, "wx");
|
|
20693
20747
|
const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
|
|
20694
20748
|
const payload = {
|
|
20695
20749
|
pid: process.pid,
|
|
@@ -20703,7 +20757,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
20703
20757
|
configPath,
|
|
20704
20758
|
release: async () => {
|
|
20705
20759
|
await handle.close().catch(() => void 0);
|
|
20706
|
-
await
|
|
20760
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
20707
20761
|
}
|
|
20708
20762
|
};
|
|
20709
20763
|
} catch (err) {
|
|
@@ -20712,7 +20766,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
20712
20766
|
const ownerPid = lastPayload?.pid;
|
|
20713
20767
|
const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
|
|
20714
20768
|
if (ownerStatus === "dead" && ownerPid) {
|
|
20715
|
-
await
|
|
20769
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
20716
20770
|
continue;
|
|
20717
20771
|
}
|
|
20718
20772
|
if (ownerStatus !== "alive") {
|
|
@@ -20722,13 +20776,13 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
20722
20776
|
stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
|
|
20723
20777
|
}
|
|
20724
20778
|
if (!stale) try {
|
|
20725
|
-
const st = await
|
|
20779
|
+
const st = await fsPromises.stat(lockPath);
|
|
20726
20780
|
stale = Date.now() - st.mtimeMs > staleMs;
|
|
20727
20781
|
} catch {
|
|
20728
20782
|
stale = false;
|
|
20729
20783
|
}
|
|
20730
20784
|
if (stale) {
|
|
20731
|
-
await
|
|
20785
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
20732
20786
|
continue;
|
|
20733
20787
|
}
|
|
20734
20788
|
}
|
|
@@ -23038,7 +23092,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
23038
23092
|
if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
|
|
23039
23093
|
if (!minimalTestGateway) (async () => {
|
|
23040
23094
|
const { recoverPendingDeliveries } = await import("./delivery-queue-EvfYzqtX.js").then((n) => n.n);
|
|
23041
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
23095
|
+
const { deliverOutboundPayloads } = await import("./deliver-D4ugOkLr.js").then((n) => n.n);
|
|
23042
23096
|
await recoverPendingDeliveries({
|
|
23043
23097
|
deliver: deliverOutboundPayloads,
|
|
23044
23098
|
log: log.child("delivery-recovery"),
|