@qqbrowser/openclaw-qbot 0.0.148 → 0.10.1
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/account-lookup-CW-_CL7y.js +0 -1
- package/dist/acp-cli-BHsTg1ac.js +0 -1
- package/dist/acp-cli-D_WC9SZX.js +0 -1
- package/dist/active-listener-1MJXk3Iq.js +0 -1
- package/dist/active-listener-D8VOdVx3.js +0 -1
- package/dist/active-listener-D8uP0H5W.js +0 -1
- package/dist/active-listener-DeKRt_UV.js +0 -1
- package/dist/agent-scope-DAWJwFfl.js +0 -1
- package/dist/agent-scope-DXZc3eNT.js +0 -1
- package/dist/agents-Cd1yL8fG.js +0 -1
- package/dist/agents.config-CaRMmWS8.js +0 -1
- package/dist/agents.config-DSCcdYtv.js +0 -1
- package/dist/allow-from-B6dI7oz8.js +0 -1
- package/dist/allow-from-DEeVIPKS.js +0 -1
- package/dist/api-BeG0ObSq.js +0 -1
- package/dist/api-Dx8x1KTs.js +0 -1
- package/dist/api-key-rotation-BLt5E2Cw.js +0 -1
- package/dist/api-key-rotation-BpEL4aeX.js +0 -1
- package/dist/api-key-rotation-DayEfYpa.js +0 -1
- package/dist/api-key-rotation-Rz2ESQSA.js +0 -1
- package/dist/arg-split-BOqSMBuf.js +0 -1
- package/dist/arg-split-DE5RqDHq.js +0 -1
- package/dist/audio-preflight-8WB1LJBS.js +0 -1
- package/dist/audio-preflight-BcPHPfr_.js +0 -1
- package/dist/audio-preflight-DTO631Yb.js +0 -1
- package/dist/audio-preflight-O-0lDeKh.js +0 -1
- package/dist/audio-transcription-runner-9H9eUZ1D.js +0 -1
- package/dist/audio-transcription-runner-BIKj1CBU.js +0 -1
- package/dist/audio-transcription-runner-BwjMhAUa.js +0 -1
- package/dist/audio-transcription-runner-CQ7rq0d_.js +0 -1
- package/dist/audit-9I53EvMQ.js +0 -1
- package/dist/audit-BGsUfJzD.js +0 -1
- package/dist/audit-membership-runtime-BpRsMj5-.js +0 -1
- package/dist/audit-membership-runtime-BsfLZNBj.js +0 -1
- package/dist/audit-membership-runtime-DRHirRmx.js +0 -1
- package/dist/audit-membership-runtime-g0dEWJTp.js +0 -1
- package/dist/audit-membership-runtime-kdyToskD.js +0 -1
- package/dist/auth-choice-BmI4sIGs.js +0 -1
- package/dist/auth-choice-DDsPJF6F.js +0 -1
- package/dist/auth-choice-Dy0jIOLV.js +0 -1
- package/dist/auth-choice-MqcWuVyu.js +0 -1
- package/dist/auth-choice-options-B3WQyS7I.js +0 -1
- package/dist/auth-choice-options-Dw14noox.js +0 -1
- package/dist/auth-choice-prompt-uegl56cf.js +0 -1
- package/dist/auth-choice-prompt-xYj13czb.js +0 -1
- package/dist/auth-choice.apply-helpers-D911bYcw.js +0 -1
- package/dist/auth-choice.apply-helpers-pJ4CPZCk.js +0 -1
- package/dist/auth-profiles-C8rZRS0X.js +0 -1
- package/dist/auth-token-DZLZ3d_I.js +0 -1
- package/dist/auth-token-Dp6bxT29.js +0 -1
- package/dist/banner-CAtilyXr.js +0 -1
- package/dist/bonjour-discovery-ClTijpMw.js +0 -1
- package/dist/bonjour-discovery-DMB6yrOF.js +0 -1
- package/dist/boolean-Ch3DfXPy.js +0 -1
- package/dist/boolean-D15s2V33.js +0 -1
- package/dist/boolean-DypnRoRK.js +0 -1
- package/dist/brew-COcDl8CB.js +0 -1
- package/dist/brew-DDPm_HfE.js +0 -1
- package/dist/browser-cli-Bf-Pzjxs.js +0 -1
- package/dist/browser-cli-DkrBCfYg.js +0 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +0 -1
- package/dist/bundled/bootstrap-extra-files/handler.js +0 -1
- package/dist/bundled/command-logger/handler.js +0 -1
- package/dist/bundled/session-memory/handler.js +0 -1
- package/dist/call-BWx7hNtl.js +0 -1
- package/dist/call-JB-cGR9n.js +0 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/channel-account-context-BMPAMZEv.js +0 -1
- package/dist/channel-account-context-DAcarnqW.js +0 -1
- package/dist/channel-activity-B04WbrrK.js +0 -1
- package/dist/channel-activity-BhiLsKvM.js +0 -1
- package/dist/channel-activity-DmgWmSAG.js +0 -1
- package/dist/channel-activity-Dw6F-ehJ.js +0 -1
- package/dist/channel-activity-htoVXTET.js +0 -1
- package/dist/channel-options-CCqtIYCc.js +0 -1
- package/dist/channel-options-CKoyPq8p.js +0 -1
- package/dist/channel-selection-BPxE8JR7.js +0 -1
- package/dist/channel-selection-si1OzWyQ.js +0 -1
- package/dist/channel-web-CCSMlUux.js +0 -1
- package/dist/channel-web-CwUfYqjg.js +0 -1
- package/dist/channels/plugins/actions/discord.js +0 -1
- package/dist/channels/plugins/actions/signal.js +0 -1
- package/dist/channels/plugins/actions/telegram.js +0 -1
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +0 -1
- package/dist/channels-cli-BfgVv5jH.js +0 -1
- package/dist/channels-cli-BvGXgERj.js +0 -1
- package/dist/channels-status-issues-8eFrGKyf.js +0 -1
- package/dist/channels-status-issues-PRgOT90w.js +0 -1
- package/dist/chat-envelope-Bznn2SoS.js +0 -1
- package/dist/chat-envelope-HVpKusFc.js +0 -1
- package/dist/clack-prompter-DBPdGdqp.js +0 -1
- package/dist/clack-prompter-Dq0aY6iM.js +0 -1
- package/dist/clawbot-cli-B0iTJ-pm.js +0 -1
- package/dist/clawbot-cli-BcEtQbFY.js +0 -1
- package/dist/cleanup-utils-BWm70DoD.js +0 -1
- package/dist/cleanup-utils-D-RhEX6F.js +0 -1
- package/dist/cli-Bt--1dhL.js +0 -1
- package/dist/cli-CBg8KhmQ.js +0 -1
- package/dist/cli-utils-BY7dLMFy.js +0 -1
- package/dist/cli-utils-BleB1eys.js +0 -1
- package/dist/clipboard-Bk8cviBt.js +0 -1
- package/dist/clipboard-CKT_VIkG.js +0 -1
- package/dist/cmd-argv-BBT5l8AV.js +0 -1
- package/dist/cmd-argv-Bh-KpaZ0.js +0 -1
- package/dist/command-format-BbDT1tlm.js +0 -1
- package/dist/command-format-CLxIPuLR.js +0 -1
- package/dist/command-options-BpOUDl2S.js +0 -1
- package/dist/command-options-Bq5nQxz6.js +0 -1
- package/dist/command-poll-backoff-BZLHYB2k.js +0 -1
- package/dist/command-poll-backoff-Cww_r-24.js +0 -1
- package/dist/command-poll-backoff-Df6cOQrX.js +0 -1
- package/dist/command-poll-backoff-endAPdwn.js +0 -1
- package/dist/{command-registry-BxNiXs5w.js → command-registry-D_jtBegA.js} +1 -2
- package/dist/command-secret-targets-BEjtBf5Z.js +0 -1
- package/dist/command-secret-targets-CfXtLkLF.js +0 -1
- package/dist/commands-CGpM84iR.js +0 -1
- package/dist/commands-Dy7duWlt.js +0 -1
- package/dist/commands-registry-C5Hg7gyk.js +0 -1
- package/dist/commands-registry-DT6FDUev.js +0 -1
- package/dist/commands-registry-DlvNUkXz.js +0 -1
- package/dist/commands-registry-gvMK7Pw9.js +0 -1
- package/dist/compact-CYbPi7_-.js +0 -1
- package/dist/{completion-cli-Yg5BF97F.js → completion-cli-BVbT_aR2.js} +1 -2
- package/dist/{completion-cli-BRE0F8Tu.js → completion-cli-Bw_hBrlA.js} +1 -2
- package/dist/config-BqW5S1xL.js +0 -1
- package/dist/config-Cji73to5.js +0 -1
- package/dist/config-cli-CwW76_j_.js +0 -1
- package/dist/config-cli-F-lkPjjz.js +0 -1
- package/dist/config-guard-0_afzaJz.js +0 -1
- package/dist/config-guard-CqUJ8uaF.js +0 -1
- package/dist/config-validation-6hk_fxD8.js +0 -1
- package/dist/config-validation-BAmmD9p4.js +0 -1
- package/dist/configure--c4tTVPz.js +0 -1
- package/dist/configure-DFlnM_zh.js +0 -1
- package/dist/connection-auth-CjaeEu5D.js +0 -1
- package/dist/connection-auth-smZlFWxD.js +0 -1
- package/dist/context-window-guard-7crlatf9.js +0 -1
- package/dist/context-window-guard-CPChk363.js +0 -1
- package/dist/control-ui-assets-BIa0GGDg.js +0 -1
- package/dist/control-ui-assets-CTHGGgaX.js +0 -1
- package/dist/cron-cli-BKS4L-uW.js +0 -1
- package/dist/cron-cli-L9wLLocl.js +0 -1
- package/dist/daemon-cli-BdDHNRqp.js +0 -1
- package/dist/daemon-cli-CEHkT-54.js +0 -1
- package/dist/daemon-cli.js +0 -1
- package/dist/daemon-install-CMNtsW5o.js +0 -1
- package/dist/daemon-install-D2gMiA0p.js +0 -1
- package/dist/daemon-install-plan.shared-BkwZgIAY.js +0 -1
- package/dist/daemon-install-plan.shared-Dx3DBXCG.js +0 -1
- package/dist/daemon-runtime-DHiDbRuC.js +0 -1
- package/dist/daemon-runtime-VcpeBRJV.js +0 -1
- package/dist/dangerous-name-matching-BOmvAibz.js +0 -1
- package/dist/dangerous-name-matching-DtllRqBD.js +0 -1
- package/dist/dangerous-tools-CFRYQJ6V.js +0 -1
- package/dist/dangerous-tools-oYCu5wfC.js +0 -1
- package/dist/deliver-AM3FP5rj.js +0 -1
- package/dist/deliver-BhWhLvQO.js +0 -1
- package/dist/deliver-DUNkj4hy.js +0 -1
- package/dist/deliver-SqSusZP3.js +0 -1
- package/dist/delivery-queue-CKbauSFq.js +0 -1
- package/dist/delivery-queue-nkPJu0fY.js +0 -1
- package/dist/device-pairing-DAzYy3vX.js +0 -1
- package/dist/device-pairing-DknI3IDo.js +0 -1
- package/dist/devices-cli-BYD6Sq88.js +0 -1
- package/dist/devices-cli-Dl-0fQmR.js +0 -1
- package/dist/diagnostic-BEZszppF.js +0 -1
- package/dist/diagnostic-D1H7_8QG.js +0 -1
- package/dist/diagnostic-DtuQPRbp.js +0 -1
- package/dist/diagnostic-VBPCgF9l.js +0 -1
- package/dist/diagnostics-BgbeL9KE.js +0 -1
- package/dist/diagnostics-Cdctg9K_.js +0 -1
- package/dist/directory-cli-CpMjutQb.js +0 -1
- package/dist/directory-cli-b_l3qJI_.js +0 -1
- package/dist/dns-cli-C7L4RYOm.js +0 -1
- package/dist/dns-cli-wKg6nn6f.js +0 -1
- package/dist/docs-cli-CwW4sqbC.js +0 -1
- package/dist/docs-cli-DnLLU7eX.js +0 -1
- package/dist/{doctor-completion-II0Wb435.js → doctor-completion-C9CPhCor.js} +1 -2
- package/dist/{doctor-completion-Bu-98ocm.js → doctor-completion-DI7mGC3D.js} +1 -2
- package/dist/doctor-config-flow-BVpr8-q9.js +0 -1
- package/dist/doctor-config-flow-Dio3s4x6.js +0 -1
- package/dist/enable-CjFPAUgo.js +0 -1
- package/dist/enable-PO3qN4Lf.js +0 -1
- package/dist/entry-status-CCwwKO43.js +0 -1
- package/dist/entry-status-CoXkbJcX.js +0 -1
- package/dist/entry.js +1 -2
- package/dist/env-D7wNuBx1.js +0 -1
- package/dist/env-overrides-DHtB4kK3.js +0 -1
- package/dist/env-overrides-DXJbFrwI.js +0 -1
- package/dist/errors-6SQWM9dj.js +0 -1
- package/dist/errors-Bunti32V.js +0 -1
- package/dist/exec-B3eleY5O.js +0 -1
- package/dist/exec-DHqLtFYt.js +0 -1
- package/dist/exec-approvals-BXO9Cezj.js +0 -1
- package/dist/exec-approvals-BpBNEy6i.js +0 -1
- package/dist/exec-approvals-allowlist-B-Yf6RsU.js +0 -1
- package/dist/exec-approvals-allowlist-CGjRWREs.js +0 -1
- package/dist/exec-approvals-cli-BokGzWFo.js +0 -1
- package/dist/exec-approvals-cli-CsUGu6m3.js +0 -1
- package/dist/exec-safe-bin-runtime-policy-CRPHdPbF.js +0 -1
- package/dist/exec-safe-bin-runtime-policy-v44u39fl.js +0 -1
- package/dist/fetch-B4bz67_N.js +0 -1
- package/dist/fetch-BJT3BrkJ.js +0 -1
- package/dist/fetch-Bn0mWg6a.js +0 -1
- package/dist/fetch-Ce-scEU-.js +0 -1
- package/dist/fetch-D0rZDHKO.js +0 -1
- package/dist/fetch-D5wrJ0AX.js +0 -1
- package/dist/fetch-DBat25iG.js +0 -1
- package/dist/fetch-DHo17YmK.js +0 -1
- package/dist/fetch-Dh-apy46.js +0 -1
- package/dist/fetch-Dikjvc5M.js +0 -1
- package/dist/fetch-DsjPfQlp.js +0 -1
- package/dist/fetch-_g8lZ8K8.js +0 -1
- package/dist/fetch-guard-7BAwnP4a.js +0 -1
- package/dist/fetch-guard-DaZmvp-L.js +0 -1
- package/dist/fetch-guard-DvaNcypz.js +0 -1
- package/dist/fetch-guard-oWKGrwV4.js +0 -1
- package/dist/fetch-hy0JKSsm.js +0 -1
- package/dist/fetch-timeout-CdYxWG9w.js +0 -1
- package/dist/fetch-timeout-Cj8_oAls.js +0 -1
- package/dist/fetch-timeout-DoOI_izT.js +0 -1
- package/dist/fetch-timeout-u8g99Ax0.js +0 -1
- package/dist/format-Bn1bwJKX.js +0 -1
- package/dist/format-Ce7I7s-k.js +0 -1
- package/dist/format-duration-C8AzNqKh.js +0 -1
- package/dist/format-duration-D5AMtmHa.js +0 -1
- package/dist/format-relative-B9pSIdGe.js +0 -1
- package/dist/format-relative-DkMjYy7z.js +0 -1
- package/dist/frontmatter-BkZkwkVO.js +0 -1
- package/dist/frontmatter-C7mzDNxd.js +0 -1
- package/dist/frontmatter-CzpfPBFl.js +0 -1
- package/dist/{gateway-cli-DBjTjdhJ.js → gateway-cli-BMmU2dsG.js} +1 -2
- package/dist/{gateway-cli-B-AX4-uD.js → gateway-cli-Kp-caOwI.js} +1 -2
- package/dist/gateway-install-token-Dt7hDXoR.js +0 -1
- package/dist/gateway-install-token-cSJrfU_1.js +0 -1
- package/dist/gateway-rpc-C78PzdZR.js +0 -1
- package/dist/gateway-rpc-CecloWA1.js +0 -1
- package/dist/github-copilot-token-C79yeDKS.js +0 -1
- package/dist/github-copilot-token-DGYAlOmV.js +0 -1
- package/dist/github-copilot-token-DePP-lIf.js +0 -1
- package/dist/github-copilot-token-wm6mbypz.js +0 -1
- package/dist/gmail-setup-utils-CYOH3zzx.js +0 -1
- package/dist/gmail-setup-utils-S-MyEGuj.js +0 -1
- package/dist/group-access-BHKVOhrj.js +0 -1
- package/dist/group-access-D2DOYMfr.js +0 -1
- package/dist/health-B_-ZE5FK.js +0 -1
- package/dist/health-CIZFVJEG.js +0 -1
- package/dist/health-format-B1nj3Wfn.js +0 -1
- package/dist/health-format-VBr6LEpt.js +0 -1
- package/dist/heartbeat-visibility-BQ_esv2m.js +0 -1
- package/dist/heartbeat-visibility-q74UdY8O.js +0 -1
- package/dist/help-format-B4aEI7V9.js +0 -1
- package/dist/help-format-BRbF_INg.js +0 -1
- package/dist/helpers-COz1ghcB.js +0 -1
- package/dist/helpers-Cp8gcO6u.js +0 -1
- package/dist/hooks-cli-BoxAnC-E.js +0 -1
- package/dist/hooks-cli-CnCOjVv0.js +0 -1
- package/dist/hooks-status-BHt-Xvh4.js +0 -1
- package/dist/hooks-status-CRJ4J0ZW.js +0 -1
- package/dist/image-BBO-0uLG.js +0 -1
- package/dist/image-BP1cfEh1.js +0 -1
- package/dist/image-BVbOr9yV.js +0 -1
- package/dist/image-CcsuUB1B.js +0 -1
- package/dist/index.js +1 -2
- package/dist/inspect-BKV-I1UE.js +0 -1
- package/dist/inspect-z59cgmYc.js +0 -1
- package/dist/install-safe-path-C6kc_8NW.js +0 -1
- package/dist/install-safe-path-iesxijn2.js +0 -1
- package/dist/installs-CKzq-YqL.js +0 -1
- package/dist/installs-DzSskdtJ.js +0 -1
- package/dist/ipv4-B05QVStj.js +0 -1
- package/dist/ipv4-SeeyR-DH.js +0 -1
- package/dist/ir-B7mdG27k.js +0 -1
- package/dist/ir-BTfsA9Dd.js +0 -1
- package/dist/ir-CNTx85qV.js +0 -1
- package/dist/ir-DdjufzKF.js +0 -1
- package/dist/is-main-DG5ueqhF.js +0 -1
- package/dist/issue-format-BtMzMXtZ.js +0 -1
- package/dist/issue-format-CN9PHzXY.js +0 -1
- package/dist/kill-tree-D6nPx1_o.js +0 -1
- package/dist/lifecycle-core-B1nrgJCw.js +0 -1
- package/dist/lifecycle-core-D_LWJeD_.js +0 -1
- package/dist/line/accounts.js +0 -1
- package/dist/line/send.js +0 -1
- package/dist/line/template-messages.js +0 -1
- package/dist/links-CBnmRP9D.js +0 -1
- package/dist/links-CySwdMcF.js +0 -1
- package/dist/llm-slug-generator.js +0 -1
- package/dist/load-options-BsOW74dp.js +0 -1
- package/dist/load-options-C7dLuybp.js +0 -1
- package/dist/load-options-DV4j6Aqb.js +0 -1
- package/dist/load-options-Dwt0CeEg.js +0 -1
- package/dist/local-roots-aA-4ohTq.js +0 -1
- package/dist/logger-5W0OocJW.js +0 -1
- package/dist/logger-Bl8URnrW.js +0 -1
- package/dist/logger-DwWqfo66.js +0 -1
- package/dist/logger-kQAOe3qp.js +0 -1
- package/dist/logging-B7XHbCNn.js +0 -1
- package/dist/logging-CbMVr2MA.js +0 -1
- package/dist/login-BGLWiksP.js +0 -1
- package/dist/login-CcYeF5T_.js +0 -1
- package/dist/login-DSZdCiDx.js +0 -1
- package/dist/login-DWZzj-P1.js +0 -1
- package/dist/login-qr-BGpGVMES.js +0 -1
- package/dist/login-qr-BUdgvi3v.js +0 -1
- package/dist/login-qr-Bx8skPB-.js +0 -1
- package/dist/login-qr-DYUCmP-W.js +0 -1
- package/dist/login-qr-_79eoRb4.js +0 -1
- package/dist/logs-cli-C52caOop.js +0 -1
- package/dist/logs-cli-Ch50TE-J.js +0 -1
- package/dist/manager-CI6O4QH6.js +0 -1
- package/dist/manager-CN_rQm1L.js +0 -1
- package/dist/manager-CxZRoQkE.js +0 -1
- package/dist/manager-iFi--Fru.js +0 -1
- package/dist/memory-cli-BouV_wyL.js +0 -1
- package/dist/memory-cli-C8fBBPgv.js +0 -1
- package/dist/model-catalog-D-hkNWin.js +0 -1
- package/dist/model-catalog-mt0IcDfR.js +0 -1
- package/dist/model-param-b-B0r2cPDw.js +0 -1
- package/dist/model-param-b-BqIr5rY5.js +0 -1
- package/dist/model-picker-BB0Zdvyu.js +0 -1
- package/dist/model-picker-DeiWyW0N.js +0 -1
- package/dist/model-selection-BLbnMb5E.js +0 -1
- package/dist/model-selection-D7mdJmGK.js +0 -1
- package/dist/model-selection-DvekK9rZ.js +0 -1
- package/dist/models-BBYqej07.js +0 -1
- package/dist/models-cli-CMMhnlHo.js +0 -1
- package/dist/models-cli-CqbDyDn2.js +0 -1
- package/dist/models-config-BlQ39qlq.js +0 -1
- package/dist/models-config-DZzS67GS.js +0 -1
- package/dist/mutable-allowlist-detectors-C4rNVag8.js +0 -1
- package/dist/mutable-allowlist-detectors-CL0qe54J.js +0 -1
- package/dist/node-cli-Bzu1efMB.js +0 -1
- package/dist/node-cli-Dv-Eib4o.js +0 -1
- package/dist/node-command-policy-D9yZu9zq.js +0 -1
- package/dist/node-command-policy-DyWp3Bjz.js +0 -1
- package/dist/node-commands-8GBOiktk.js +0 -1
- package/dist/node-commands-DdkziOTx.js +0 -1
- package/dist/node-resolve-B3BJbmQX.js +0 -1
- package/dist/node-resolve-DLZf3-1V.js +0 -1
- package/dist/node-service-BRfrNp8l.js +0 -1
- package/dist/node-service-C0bl7jcZ.js +0 -1
- package/dist/node-shell-BVZylVP6.js +0 -1
- package/dist/nodes-cli-B3aNQG30.js +0 -1
- package/dist/nodes-cli-DzO6PSFw.js +0 -1
- package/dist/nodes-screen-8nRBsfID.js +0 -1
- package/dist/note-D4GAwgha.js +0 -1
- package/dist/note-Dp-d_utk.js +0 -1
- package/dist/npm-pack-install-B23L-AtF.js +0 -1
- package/dist/npm-pack-install-C0te3Oap.js +0 -1
- package/dist/npm-resolution--_-0q2ks.js +0 -1
- package/dist/npm-resolution-CBlwQq3a.js +0 -1
- package/dist/oauth-env-DAamJ1oz.js +0 -1
- package/dist/oauth-env-DSLBTWb1.js +0 -1
- package/dist/oauth-tls-preflight-BSBRDIfC.js +0 -1
- package/dist/oauth-tls-preflight-ByNjbUR5.js +0 -1
- package/dist/ollama-setup-CGuyH3Ey.js +0 -1
- package/dist/ollama-setup-LVRPefmV.js +0 -1
- package/dist/{onboard-DMmLqys5.js → onboard-DZG0HnuP.js} +1 -2
- package/dist/{onboard-C2Ofvb_A.js → onboard-DlCEww7K.js} +1 -2
- package/dist/onboard-channels-BDMtq3ex.js +0 -1
- package/dist/onboard-channels-BO3AN_eA.js +0 -1
- package/dist/onboard-config-B7U20YRw.js +0 -1
- package/dist/onboard-config-DS9dUv8M.js +0 -1
- package/dist/onboard-custom--OylwoHQ.js +0 -1
- package/dist/onboard-custom-_Df_ciX2.js +0 -1
- package/dist/onboard-helpers-D90u4wVK.js +0 -1
- package/dist/onboard-helpers-DOlI17Ac.js +0 -1
- package/dist/onboard-hooks-CERzXObm.js +0 -1
- package/dist/onboard-hooks-gQ3sxBNi.js +0 -1
- package/dist/onboard-provider-auth-flags-CqbipO7D.js +0 -1
- package/dist/onboard-provider-auth-flags-Dvwzdz37.js +0 -1
- package/dist/onboard-remote-B1-SlmUN.js +0 -1
- package/dist/onboard-remote-C7Eg49Uf.js +0 -1
- package/dist/onboard-search-f2tJD4hg.js +0 -1
- package/dist/onboard-search-fslKKhyg.js +0 -1
- package/dist/onboard-skills-DCgTr6hW.js +0 -1
- package/dist/onboard-skills-_TBzISd2.js +0 -1
- package/dist/{onboarding-C82cKKNI.js → onboarding-CxRTJCBM.js} +1 -2
- package/dist/{onboarding-M80apW9t.js → onboarding-m-m__16h.js} +1 -2
- package/dist/{onboarding.finalize-D9nrrI1J.js → onboarding.finalize-BJxMhYUa.js} +1 -2
- package/dist/{onboarding.finalize-CVvwI1Qg.js → onboarding.finalize-UiX3YmbI.js} +1 -2
- package/dist/onboarding.gateway-config-CXjzrfwL.js +0 -1
- package/dist/onboarding.gateway-config-TSq70E-S.js +0 -1
- package/dist/onboarding.secret-input-BSmFS1Px.js +0 -1
- package/dist/onboarding.secret-input-CUD0t7Pk.js +0 -1
- package/dist/openai-codex-model-default-Bx8i3bOg.js +0 -1
- package/dist/openai-codex-model-default-DuRfnfUm.js +0 -1
- package/dist/openai-model-default-Bm9b0oR0.js +0 -1
- package/dist/openai-model-default-KMCphvoO.js +0 -1
- package/dist/openclaw-exec-env-BWbOu_YC.js +0 -1
- package/dist/openclaw-root-CnsBf6ZU.js +0 -1
- package/dist/openclaw-root-D_0Q6--h.js +0 -1
- package/dist/outbound-BevYwvMh.js +0 -1
- package/dist/outbound-CqDxMWLZ.js +0 -1
- package/dist/outbound-DmwQEFu0.js +0 -1
- package/dist/outbound-attachment-9-8VNvRG.js +0 -1
- package/dist/outbound-attachment-Bah4dvuM.js +0 -1
- package/dist/outbound-attachment-CVcDBkAD.js +0 -1
- package/dist/outbound-attachment-E89zumcH.js +0 -1
- package/dist/outbound-xlG_RqEu.js +0 -1
- package/dist/pairing-cli-ByPhOBWo.js +0 -1
- package/dist/pairing-cli-CxJy8LPo.js +0 -1
- package/dist/pairing-labels-CZ-aX-up.js +0 -1
- package/dist/pairing-labels-PIuZfthz.js +0 -1
- package/dist/pairing-store-BaaVy1zB.js +0 -1
- package/dist/pairing-store-EmfFQVcs.js +0 -1
- package/dist/pairing-token-B8RdfK2y.js +0 -1
- package/dist/pairing-token-zdbQ951y.js +0 -1
- package/dist/parse-duration-XTjMKl8s.js +0 -1
- package/dist/parse-finite-number-DqzUM-_s.js +0 -1
- package/dist/parse-finite-number-dBmDLLKL.js +0 -1
- package/dist/parse-log-line-CsYLg7Qu.js +0 -1
- package/dist/parse-log-line-NV-cipB_.js +0 -1
- package/dist/parse-port-Bv1Y9Wk5.js +0 -1
- package/dist/parse-port-JVwkxcZ8.js +0 -1
- package/dist/parse-timeout-DWSGfCkQ.js +0 -1
- package/dist/parse-timeout-Dx4QnVzo.js +0 -1
- package/dist/path-alias-guards-kY_ZbWs-.js +0 -1
- package/dist/path-alias-guards-mvyLCPlN.js +0 -1
- package/dist/path-env-BPd1Yd-i.js +0 -1
- package/dist/path-env-emdAQejM.js +0 -1
- package/dist/path-safety-BukYK8Kd.js +0 -1
- package/dist/path-safety-DaaMJFdt.js +0 -1
- package/dist/paths-B4IRk3wi.js +0 -1
- package/dist/paths-BfjJY2VL.js +0 -1
- package/dist/paths-BjD3T_xq.js +0 -1
- package/dist/paths-BpQOWYiT.js +0 -1
- package/dist/paths-CChBdtE8.js +0 -1
- package/dist/paths-CrCoPIVK.js +0 -1
- package/dist/paths-piJASC5k.js +0 -1
- package/dist/paths-yLEk_25I.js +0 -1
- package/dist/pi-embedded-6yGEd2xd.js +0 -1
- package/dist/pi-embedded-X_Svd4Wi.js +0 -1
- package/dist/pi-model-discovery-BPkhPDMr.js +0 -1
- package/dist/pi-model-discovery-BonZ1N3x.js +0 -1
- package/dist/pi-model-discovery-DVKXkQTR.js +0 -1
- package/dist/pi-model-discovery-DnJkNRc-.js +0 -1
- package/dist/pi-tools.before-tool-call.runtime-2-IJ8xox.js +0 -1
- package/dist/pi-tools.before-tool-call.runtime-CNesNgq0.js +0 -1
- package/dist/pi-tools.before-tool-call.runtime-CmtITCPP.js +0 -1
- package/dist/pi-tools.before-tool-call.runtime-VUjwIYJ7.js +0 -1
- package/dist/pi-tools.policy-B6q8YOfg.js +0 -1
- package/dist/plugin-auto-enable-CTgkkJK7.js +0 -1
- package/dist/plugin-auto-enable-adba5Evb.js +0 -1
- package/dist/plugin-install-plan-BmyB3dR1.js +0 -1
- package/dist/plugin-install-plan-sIOiMBS1.js +0 -1
- package/dist/plugin-registry-CN2aCPP7.js +0 -1
- package/dist/plugin-registry-DYwEy5eM.js +0 -1
- package/dist/plugin-sdk/account-id.cjs +0 -1
- package/dist/plugin-sdk/account-id.js +0 -1
- package/dist/plugin-sdk/acpx.cjs +0 -1
- package/dist/plugin-sdk/acpx.js +0 -1
- package/dist/plugin-sdk/active-listener-B1sd5Yrr.cjs +0 -1
- package/dist/plugin-sdk/active-listener-CVvtj4nc.cjs +0 -1
- package/dist/plugin-sdk/active-listener-D0Pag-jN.js +0 -1
- package/dist/plugin-sdk/active-listener-DIzG1nGC.js +0 -1
- package/dist/plugin-sdk/active-listener-DUT4_v5r.cjs +0 -1
- package/dist/plugin-sdk/active-listener-D_Cq4Tuy.cjs +0 -1
- package/dist/plugin-sdk/active-listener-HBuXCjdG.js +0 -1
- package/dist/plugin-sdk/active-listener-V7whA3d_.js +0 -1
- package/dist/plugin-sdk/active-listener-YOWDFFGG.js +0 -1
- package/dist/plugin-sdk/active-listener-kJidH-KZ.js +0 -1
- package/dist/plugin-sdk/active-listener-kmJHqUWY.cjs +0 -1
- package/dist/plugin-sdk/active-listener-vpxSd-kW.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-BEhJdmXN.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-BcDAQISn.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-Bua813IH.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-C7_ooC3N.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-CiFfWYgL.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-CrVpqlS6.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-D-zSLAf_.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-DInDOH-A.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-DKp72Rw4.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-YRRtbk9Y.cjs +0 -1
- package/dist/plugin-sdk/api-key-rotation-tVSHRH8D.js +0 -1
- package/dist/plugin-sdk/api-key-rotation-ta953lKF.js +0 -1
- package/dist/plugin-sdk/audio-preflight-5ZbcO1qy.js +0 -1
- package/dist/plugin-sdk/audio-preflight-BrAX9j6r.js +0 -1
- package/dist/plugin-sdk/audio-preflight-C2NpU5hR.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-CtWGsCje.js +0 -1
- package/dist/plugin-sdk/audio-preflight-CwjNHDro.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-D22cCCmn.js +0 -1
- package/dist/plugin-sdk/audio-preflight-DyK2q8OQ.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-F7lfchEO.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-ItHD-3bi.js +0 -1
- package/dist/plugin-sdk/audio-preflight-QWsN9gcK.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-k7Qt2rDs.cjs +0 -1
- package/dist/plugin-sdk/audio-preflight-wcMT_iUA.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-B3bLoVvU.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-BDfW3xeJ.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-BZLASCWO.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-CiRKTRED.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-Cxs7u0B3.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-D2IxJCfd.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-DA6TwXrV.cjs +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-DZIEX1Rl.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-DZRGn6-f.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-Dc-WF6zu.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-DuBgVmcT.js +0 -1
- package/dist/plugin-sdk/audio-transcription-runner-nKI1rQ0R.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +0 -1
- package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +0 -1
- package/dist/plugin-sdk/bluebubbles.cjs +0 -1
- package/dist/plugin-sdk/bluebubbles.js +0 -1
- package/dist/plugin-sdk/channel-activity--Ax2m0qQ.js +0 -1
- package/dist/plugin-sdk/channel-activity-BCsNxxNa.js +0 -1
- package/dist/plugin-sdk/channel-activity-BUieXBdg.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-BXffAklf.js +0 -1
- package/dist/plugin-sdk/channel-activity-BlYTUiU4.js +0 -1
- package/dist/plugin-sdk/channel-activity-Bm-pvlXw.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-Bnai3H2M.js +0 -1
- package/dist/plugin-sdk/channel-activity-CC3JLAxD.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-CTmfXwYn.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-D98aY9ZF.js +0 -1
- package/dist/plugin-sdk/channel-activity-DymcGybX.cjs +0 -1
- package/dist/plugin-sdk/channel-activity-gZBQEyOK.cjs +0 -1
- package/dist/plugin-sdk/channel-web-B795Ild9.cjs +0 -1
- package/dist/plugin-sdk/channel-web-Bg8DNyeb.js +0 -1
- package/dist/plugin-sdk/channel-web-CW42ALB5.cjs +0 -1
- package/dist/plugin-sdk/channel-web-D5zxPW-x.js +0 -1
- package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +0 -1
- package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +0 -1
- package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +0 -1
- package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +0 -1
- package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +0 -1
- package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-BIGWymiv.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-Bnadsir-.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-C1Gb98lg.js +0 -1
- package/dist/plugin-sdk/commands-registry-CZcNTwNs.js +0 -1
- package/dist/plugin-sdk/commands-registry-CeJQPXIR.js +0 -1
- package/dist/plugin-sdk/commands-registry-CehvtLBA.js +0 -1
- package/dist/plugin-sdk/commands-registry-Cf8DaBmw.js +0 -1
- package/dist/plugin-sdk/commands-registry-Cfv6gDoQ.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-D734s8r7.js +0 -1
- package/dist/plugin-sdk/commands-registry-DWx89vtR.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-DviWu8J8.cjs +0 -1
- package/dist/plugin-sdk/commands-registry-wA0CkHGk.cjs +0 -1
- package/dist/plugin-sdk/common-BJ0tHoNJ.cjs +0 -1
- package/dist/plugin-sdk/common-CxLmdAIn.js +0 -1
- package/dist/plugin-sdk/compat.cjs +0 -1
- package/dist/plugin-sdk/compat.js +0 -1
- package/dist/plugin-sdk/config-C2-9m5-M.cjs +0 -1
- package/dist/plugin-sdk/config-Cx3SFBFW.js +0 -1
- package/dist/plugin-sdk/copilot-proxy.cjs +0 -1
- package/dist/plugin-sdk/copilot-proxy.js +0 -1
- package/dist/plugin-sdk/core.cjs +0 -1
- package/dist/plugin-sdk/core.js +0 -1
- package/dist/plugin-sdk/deliver--pOntbRC.cjs +0 -1
- package/dist/plugin-sdk/deliver-BLMe2eBS.js +0 -1
- package/dist/plugin-sdk/deliver-BcHzZPc2.js +0 -1
- package/dist/plugin-sdk/deliver-CSGTRHt1.js +0 -1
- package/dist/plugin-sdk/deliver-Cm8yUsWK.cjs +0 -1
- package/dist/plugin-sdk/deliver-DQDZRjZ0.js +0 -1
- package/dist/plugin-sdk/deliver-DRintVMn.js +0 -1
- package/dist/plugin-sdk/deliver-DehGdLxT.js +0 -1
- package/dist/plugin-sdk/deliver-EThzALwn.cjs +0 -1
- package/dist/plugin-sdk/deliver-d7VfVmTa.cjs +0 -1
- package/dist/plugin-sdk/deliver-rACJj8E9.cjs +0 -1
- package/dist/plugin-sdk/deliver-wteCze09.cjs +0 -1
- package/dist/plugin-sdk/device-pair.cjs +0 -1
- package/dist/plugin-sdk/device-pair.js +0 -1
- package/dist/plugin-sdk/diagnostic-BcBlExSy.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-Bmp3zWQp.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-BvrdTMl3.js +0 -1
- package/dist/plugin-sdk/diagnostic-C2jKFixS.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-CSfBcIOI.js +0 -1
- package/dist/plugin-sdk/diagnostic-CYR5dxDE.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-CdNZNyNv.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-DE5k6C1E.js +0 -1
- package/dist/plugin-sdk/diagnostic-DMpxa640.cjs +0 -1
- package/dist/plugin-sdk/diagnostic-DSgf5Z4H.js +0 -1
- package/dist/plugin-sdk/diagnostic-DbRdunVt.js +0 -1
- package/dist/plugin-sdk/diagnostic-zCrcFAbJ.js +0 -1
- package/dist/plugin-sdk/diagnostics-otel.cjs +0 -1
- package/dist/plugin-sdk/diagnostics-otel.js +0 -1
- package/dist/plugin-sdk/diffs.cjs +0 -1
- package/dist/plugin-sdk/diffs.js +0 -1
- package/dist/plugin-sdk/discord.cjs +0 -1
- package/dist/plugin-sdk/discord.js +0 -1
- package/dist/plugin-sdk/dispatch-B13B2T1k.js +0 -1
- package/dist/plugin-sdk/dispatch-BaBcLOry.js +0 -1
- package/dist/plugin-sdk/dispatch-BlOkbw2U.js +0 -1
- package/dist/plugin-sdk/dispatch-D2Km7gvG.cjs +0 -1
- package/dist/plugin-sdk/dispatch-DAaOM5c1.cjs +0 -1
- package/dist/plugin-sdk/dispatch-DYRrW05S.js +0 -1
- package/dist/plugin-sdk/dispatch-Dap2ZPC9.js +0 -1
- package/dist/plugin-sdk/dispatch-Dl0eaYcY.cjs +0 -1
- package/dist/plugin-sdk/dispatch-_tJF5hSh.cjs +0 -1
- package/dist/plugin-sdk/dispatch-cPg1rBWu.cjs +0 -1
- package/dist/plugin-sdk/feishu.cjs +0 -1
- package/dist/plugin-sdk/feishu.js +0 -1
- package/dist/plugin-sdk/fetch-7Iq9POda.js +0 -1
- package/dist/plugin-sdk/fetch-B1GR6-u4.js +0 -1
- package/dist/plugin-sdk/fetch-B27H-XCf.js +0 -1
- package/dist/plugin-sdk/fetch-BMYDLRWo.js +0 -1
- package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +0 -1
- package/dist/plugin-sdk/fetch-BVEVk5YF.js +0 -1
- package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +0 -1
- package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +0 -1
- package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +0 -1
- package/dist/plugin-sdk/fetch-BtZY623f.js +0 -1
- package/dist/plugin-sdk/fetch-C-HRWp5R.js +0 -1
- package/dist/plugin-sdk/fetch-C3LEMysf.js +0 -1
- package/dist/plugin-sdk/fetch-CCLWsYaQ.js +0 -1
- package/dist/plugin-sdk/fetch-CZewCAvu.cjs +0 -1
- package/dist/plugin-sdk/fetch-ClKErpni.cjs +0 -1
- package/dist/plugin-sdk/fetch-DBRI0sKI.js +0 -1
- package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +0 -1
- package/dist/plugin-sdk/fetch-DUMEaqum.cjs +0 -1
- package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +0 -1
- package/dist/plugin-sdk/fetch-J0IzopiJ.js +0 -1
- package/dist/plugin-sdk/fetch-guard-7tObWdgY.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-ACKeLHgB.js +0 -1
- package/dist/plugin-sdk/fetch-guard-BI5z5sCg.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-BUOtcki7.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-BZi5e63X.js +0 -1
- package/dist/plugin-sdk/fetch-guard-CVnIQ0nI.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-DKS4LY4o.js +0 -1
- package/dist/plugin-sdk/fetch-guard-DcAQBHbg.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-Dj-DlPBS.cjs +0 -1
- package/dist/plugin-sdk/fetch-guard-Dm1nAvhl.js +0 -1
- package/dist/plugin-sdk/fetch-guard-GfhPo1Fa.js +0 -1
- package/dist/plugin-sdk/fetch-guard-nFWUH1s9.js +0 -1
- package/dist/plugin-sdk/fetch-lw-aF17e.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +0 -1
- package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +0 -1
- package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +0 -1
- package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +0 -1
- package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +0 -1
- package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +0 -1
- package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +0 -1
- package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +0 -1
- package/dist/plugin-sdk/google-gemini-cli-auth.cjs +0 -1
- package/dist/plugin-sdk/google-gemini-cli-auth.js +0 -1
- package/dist/plugin-sdk/googlechat.cjs +0 -1
- package/dist/plugin-sdk/googlechat.js +0 -1
- package/dist/plugin-sdk/image-BLG2OrjE.cjs +0 -1
- package/dist/plugin-sdk/image-BPUmI-kx.cjs +0 -1
- package/dist/plugin-sdk/image-Bt_w0o87.js +0 -1
- package/dist/plugin-sdk/image-CMeyJO2-.js +0 -1
- package/dist/plugin-sdk/image-CMiT6Fvk.cjs +0 -1
- package/dist/plugin-sdk/image-CNMuTe0Z.js +0 -1
- package/dist/plugin-sdk/image-CO9zxV0G.js +0 -1
- package/dist/plugin-sdk/image-CjVyB61p.cjs +0 -1
- package/dist/plugin-sdk/image-CkWikcPf.cjs +0 -1
- package/dist/plugin-sdk/image-Dk2gzO1U.js +0 -1
- package/dist/plugin-sdk/image-Jmj-a1pv.js +0 -1
- package/dist/plugin-sdk/image-UKq4Bn2r.cjs +0 -1
- package/dist/plugin-sdk/imessage.cjs +0 -1
- package/dist/plugin-sdk/imessage.js +0 -1
- package/dist/plugin-sdk/index.cjs +0 -1
- package/dist/plugin-sdk/index.js +0 -1
- package/dist/plugin-sdk/ir-Bg_avpt0.cjs +0 -1
- package/dist/plugin-sdk/ir-BiiaNbB9.cjs +0 -1
- package/dist/plugin-sdk/ir-CYJPM1_I.cjs +0 -1
- package/dist/plugin-sdk/ir-Ca3EdqFl.js +0 -1
- package/dist/plugin-sdk/ir-Cl_S_VBR.cjs +0 -1
- package/dist/plugin-sdk/ir-Cq7b_9v8.cjs +0 -1
- package/dist/plugin-sdk/ir-DcWa7gsX.cjs +0 -1
- package/dist/plugin-sdk/ir-DdA08iXJ.js +0 -1
- package/dist/plugin-sdk/ir-DqBwrJJd.js +0 -1
- package/dist/plugin-sdk/ir-EUD0qDem.js +0 -1
- package/dist/plugin-sdk/ir-c1MS26Ci.js +0 -1
- package/dist/plugin-sdk/ir-vhCxHELh.js +0 -1
- package/dist/plugin-sdk/irc.cjs +0 -1
- package/dist/plugin-sdk/irc.js +0 -1
- package/dist/plugin-sdk/keyed-async-queue.cjs +0 -1
- package/dist/plugin-sdk/keyed-async-queue.js +0 -1
- package/dist/plugin-sdk/line.cjs +0 -1
- package/dist/plugin-sdk/line.js +0 -1
- package/dist/plugin-sdk/llm-task.cjs +0 -1
- package/dist/plugin-sdk/llm-task.js +0 -1
- package/dist/plugin-sdk/load-options-B9Ss5YOO.js +0 -1
- package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +0 -1
- package/dist/plugin-sdk/load-options-BXvm8HVv.js +0 -1
- package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +0 -1
- package/dist/plugin-sdk/load-options-BcSg1ODN.js +0 -1
- package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +0 -1
- package/dist/plugin-sdk/lobster.cjs +0 -1
- package/dist/plugin-sdk/lobster.js +0 -1
- package/dist/plugin-sdk/local-roots-2OcKjfzk.js +0 -1
- package/dist/plugin-sdk/local-roots-ByrRvVBc.cjs +0 -1
- package/dist/plugin-sdk/local-roots-CXPxvx0J.js +0 -1
- package/dist/plugin-sdk/local-roots-CzbssMW1.cjs +0 -1
- package/dist/plugin-sdk/local-roots-DIijr8mK.cjs +0 -1
- package/dist/plugin-sdk/local-roots-DRv9Y_41.cjs +0 -1
- package/dist/plugin-sdk/local-roots-DTC7BJct.js +0 -1
- package/dist/plugin-sdk/local-roots-DU8RuiRi.js +0 -1
- package/dist/plugin-sdk/local-roots-DprQ5M3b.js +0 -1
- package/dist/plugin-sdk/local-roots-GqNj3vMl.cjs +0 -1
- package/dist/plugin-sdk/local-roots-I2icTm2P.cjs +0 -1
- package/dist/plugin-sdk/local-roots-qEhx-D42.js +0 -1
- package/dist/plugin-sdk/logger-6O6OsYBL.cjs +0 -1
- package/dist/plugin-sdk/logger-BlddiV_d.cjs +0 -1
- package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +0 -1
- package/dist/plugin-sdk/logger-BtrWb0dj.js +0 -1
- package/dist/plugin-sdk/logger-C210xuWx.js +0 -1
- package/dist/plugin-sdk/logger-DJGHvDbX.js +0 -1
- package/dist/plugin-sdk/logger-DPlqYkRm.cjs +0 -1
- package/dist/plugin-sdk/logger-DUYnS-W3.cjs +0 -1
- package/dist/plugin-sdk/logger-DwWqfo66.js +0 -1
- package/dist/plugin-sdk/logger-vBDTZWl3.js +0 -1
- package/dist/plugin-sdk/login-0ui1gfZM.cjs +0 -1
- package/dist/plugin-sdk/login-B0lIdwss.cjs +0 -1
- package/dist/plugin-sdk/login-B43p990Y.cjs +0 -1
- package/dist/plugin-sdk/login-DHBcWg4R.cjs +0 -1
- package/dist/plugin-sdk/login-DUCNg4lV.js +0 -1
- package/dist/plugin-sdk/login-DqVo92p1.js +0 -1
- package/dist/plugin-sdk/login-Dt4KiLgP.js +0 -1
- package/dist/plugin-sdk/login-IVBk3GwG.cjs +0 -1
- package/dist/plugin-sdk/login-T6tSC1Xl.js +0 -1
- package/dist/plugin-sdk/login-XruRHZe5.js +0 -1
- package/dist/plugin-sdk/login-p9hWVYO6.cjs +0 -1
- package/dist/plugin-sdk/login-qr-B4wf-15u.js +0 -1
- package/dist/plugin-sdk/login-qr-BQMm3yV_.cjs +0 -1
- package/dist/plugin-sdk/login-qr-BreyhXFQ.cjs +0 -1
- package/dist/plugin-sdk/login-qr-C6RPK8ld.js +0 -1
- package/dist/plugin-sdk/login-qr-C6cQueYq.js +0 -1
- package/dist/plugin-sdk/login-qr-CxznBK7s.cjs +0 -1
- package/dist/plugin-sdk/login-qr-D0dmb3Gr.js +0 -1
- package/dist/plugin-sdk/login-qr-DWW1FC-n.cjs +0 -1
- package/dist/plugin-sdk/login-qr-DjC-P7Vy.cjs +0 -1
- package/dist/plugin-sdk/login-qr-KeBTY1Mb.js +0 -1
- package/dist/plugin-sdk/login-qr-gQsVZ8en.js +0 -1
- package/dist/plugin-sdk/login-qr-xkqmSKC8.cjs +0 -1
- package/dist/plugin-sdk/login-x9vN5UnR.js +0 -1
- package/dist/plugin-sdk/manager-B38IH03I.cjs +0 -1
- package/dist/plugin-sdk/manager-BZVFXygg.cjs +0 -1
- package/dist/plugin-sdk/manager-BuNveORY.cjs +0 -1
- package/dist/plugin-sdk/manager-C4FEmxjq.cjs +0 -1
- package/dist/plugin-sdk/manager-CHnzSMNG.js +0 -1
- package/dist/plugin-sdk/manager-CN4wiVFz.js +0 -1
- package/dist/plugin-sdk/manager-D9RwKYCX.js +0 -1
- package/dist/plugin-sdk/manager-DAmjm61U.cjs +0 -1
- package/dist/plugin-sdk/manager-DJSpJkev.js +0 -1
- package/dist/plugin-sdk/manager-EO7deQzm.js +0 -1
- package/dist/plugin-sdk/manager-vyHAgafh.cjs +0 -1
- package/dist/plugin-sdk/manager-zyDhj7B-.js +0 -1
- package/dist/plugin-sdk/matrix.cjs +0 -1
- package/dist/plugin-sdk/matrix.js +0 -1
- package/dist/plugin-sdk/mattermost.cjs +0 -1
- package/dist/plugin-sdk/mattermost.js +0 -1
- package/dist/plugin-sdk/memory-core.cjs +0 -1
- package/dist/plugin-sdk/memory-core.js +0 -1
- package/dist/plugin-sdk/minimax-portal-auth.cjs +0 -1
- package/dist/plugin-sdk/minimax-portal-auth.js +0 -1
- package/dist/plugin-sdk/model-auth-1RA9nkQH.js +0 -1
- package/dist/plugin-sdk/model-auth-Cgqd2_sP.cjs +0 -1
- package/dist/plugin-sdk/model-auth-Cp2GSJwZ.js +0 -1
- package/dist/plugin-sdk/model-auth-Lv74A-Si.cjs +0 -1
- package/dist/plugin-sdk/model-auth-RI6NYvTO.js +0 -1
- package/dist/plugin-sdk/model-auth-exDkzEDR.js +0 -1
- package/dist/plugin-sdk/model-auth-igOM3blS.cjs +0 -1
- package/dist/plugin-sdk/model-auth-sjKLUCCz.cjs +0 -1
- package/dist/plugin-sdk/model-selection-C9HlFaXF.js +0 -1
- package/dist/plugin-sdk/model-selection-DpGE9eNM.cjs +0 -1
- package/dist/plugin-sdk/msteams.cjs +0 -1
- package/dist/plugin-sdk/msteams.js +0 -1
- package/dist/plugin-sdk/nextcloud-talk.cjs +0 -1
- package/dist/plugin-sdk/nextcloud-talk.js +0 -1
- package/dist/plugin-sdk/nostr.cjs +0 -1
- package/dist/plugin-sdk/nostr.js +0 -1
- package/dist/plugin-sdk/outbound-BO0tyeUH.js +0 -1
- package/dist/plugin-sdk/outbound-BYU5HTrX.js +0 -1
- package/dist/plugin-sdk/outbound-CBVlxGRf.cjs +0 -1
- package/dist/plugin-sdk/outbound-CTyu_gZh.js +0 -1
- package/dist/plugin-sdk/outbound-CwWXHNwp.cjs +0 -1
- package/dist/plugin-sdk/outbound-CySyQcmE.js +0 -1
- package/dist/plugin-sdk/outbound-DDPxEpHH.cjs +0 -1
- package/dist/plugin-sdk/outbound-DZhl7sHt.cjs +0 -1
- package/dist/plugin-sdk/outbound-DmeUAXdA.js +0 -1
- package/dist/plugin-sdk/outbound-DvFQ_6wQ.cjs +0 -1
- package/dist/plugin-sdk/outbound-Dy87UlCV.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-5H1iYkTb.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-BAHrn3r7.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-BBJPbiLF.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-BIGvZREF.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-B_OTB3A8.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-C94-r948.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-CJatgPbm.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-CLUVyl5e.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-CTR1-VEH.js +0 -1
- package/dist/plugin-sdk/outbound-attachment-CmQ0SNgK.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-Dbja7LQF.cjs +0 -1
- package/dist/plugin-sdk/outbound-attachment-DwzJ2l3T.cjs +0 -1
- package/dist/plugin-sdk/outbound-xMr8Xsxe.js +0 -1
- package/dist/plugin-sdk/paths-BPlgbwrb.cjs +0 -1
- package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +0 -1
- package/dist/plugin-sdk/paths-BpQOWYiT.js +0 -1
- package/dist/plugin-sdk/paths-BvlJvmRS.cjs +0 -1
- package/dist/plugin-sdk/paths-CIcxeNL-.cjs +0 -1
- package/dist/plugin-sdk/paths-CXgWvWAM.js +0 -1
- package/dist/plugin-sdk/paths-Chp3zwtq.cjs +0 -1
- package/dist/plugin-sdk/paths-CnHSNSeR.js +0 -1
- package/dist/plugin-sdk/paths-Cqca1YmF.cjs +0 -1
- package/dist/plugin-sdk/paths-CtrEseGU.js +0 -1
- package/dist/plugin-sdk/paths-D55o_j8-.js +0 -1
- package/dist/plugin-sdk/paths-D90l3h_o.cjs +0 -1
- package/dist/plugin-sdk/paths-DaRoqzBQ.js +0 -1
- package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +0 -1
- package/dist/plugin-sdk/paths-DhSjTRMz.js +0 -1
- package/dist/plugin-sdk/paths-Do0djuaj.js +0 -1
- package/dist/plugin-sdk/paths-J4JUiRsa.js +0 -1
- package/dist/plugin-sdk/paths-cBAF6Bj0.js +0 -1
- package/dist/plugin-sdk/paths-piJASC5k.js +0 -1
- package/dist/plugin-sdk/paths-rO4ehkyU.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-5wc5qlmB.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-BQiHbl8F.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-BZZVGcJl.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-Ba70onAm.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-BfuqD_Rv.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-BsdlRK-w.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-CAYSx-Lw.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-CyBFRafV.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-D1WW5m-Q.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-DRYpUnOa.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-DUbDLlc7.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-DcUDwgMg.cjs +0 -1
- package/dist/plugin-sdk/pi-model-discovery-DrZsxLaJ.js +0 -1
- package/dist/plugin-sdk/pi-model-discovery-gaVoL7I2.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BWmteuHS.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BmznXclG.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BzTifHML.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CEPsGtJk.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CYleOK1-.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Ctbk1Pq8.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-D-hwiLUl.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DDuUTLh8.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DLfogXKU.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Dd-VFim_.js +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Dvmcwf-j.cjs +0 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-i-IGFbqI.js +0 -1
- package/dist/plugin-sdk/polls-BuaJuIpV.cjs +0 -1
- package/dist/plugin-sdk/polls-CBAGZuJ6.js +0 -1
- package/dist/plugin-sdk/polls-CSKMbBIS.js +0 -1
- package/dist/plugin-sdk/polls-D0wY0FvT.cjs +0 -1
- package/dist/plugin-sdk/polls-PGxiE05J.js +0 -1
- package/dist/plugin-sdk/polls-yWqSCEP0.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-B765haXA.js +0 -1
- package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +0 -1
- package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +0 -1
- package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +0 -1
- package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +0 -1
- package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +0 -1
- package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +0 -1
- package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-Del551nu.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +0 -1
- package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-B9PkuA_R.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-BMJV0Hqt.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-BRasSDsB.js +0 -1
- package/dist/plugin-sdk/pw-ai-BY57aH_o.js +0 -1
- package/dist/plugin-sdk/pw-ai-BbpImC35.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-D7d16RB-.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-DF7TX5Lc.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-DHN1pktj.js +0 -1
- package/dist/plugin-sdk/pw-ai-QzImh8G0.cjs +0 -1
- package/dist/plugin-sdk/pw-ai-V1CVJi48.js +0 -1
- package/dist/plugin-sdk/pw-ai-mvXkpTxf.js +0 -1
- package/dist/plugin-sdk/pw-ai-tdgA-KlG.js +0 -1
- package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +0 -1
- package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +0 -1
- package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +0 -1
- package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +0 -1
- package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +0 -1
- package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +0 -1
- package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +0 -1
- package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-CAboqtWr.js +0 -1
- package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +0 -1
- package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +0 -1
- package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +0 -1
- package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +0 -1
- package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +0 -1
- package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +0 -1
- package/dist/plugin-sdk/qwen-portal-auth.cjs +0 -1
- package/dist/plugin-sdk/qwen-portal-auth.js +0 -1
- package/dist/plugin-sdk/render-6fCdtAr6.cjs +0 -1
- package/dist/plugin-sdk/render-CBsnn-2A.js +0 -1
- package/dist/plugin-sdk/render-CzHaQB0d.cjs +0 -1
- package/dist/plugin-sdk/render-DGmfCIRG.js +0 -1
- package/dist/plugin-sdk/render-DhTJXP1U.js +0 -1
- package/dist/plugin-sdk/render-Djx15dPh.js +0 -1
- package/dist/plugin-sdk/render-DxBO2Blp.cjs +0 -1
- package/dist/plugin-sdk/render-g5VlmgpF.cjs +0 -1
- package/dist/plugin-sdk/reply-73PF8kN_.js +0 -1
- package/dist/plugin-sdk/reply-JD6VIW5N.cjs +0 -1
- package/dist/plugin-sdk/resolve-outbound-target-BNv_T3Bk.js +0 -1
- package/dist/plugin-sdk/resolve-outbound-target-CDM7_xfU.cjs +0 -1
- package/dist/plugin-sdk/resolve-outbound-target-CvKfootv.js +0 -1
- package/dist/plugin-sdk/resolve-outbound-target-Fq8une1d.cjs +0 -1
- package/dist/plugin-sdk/send-0TzQg7Eo.js +0 -1
- package/dist/plugin-sdk/send-AyV5r86J.js +0 -1
- package/dist/plugin-sdk/send-B-GqqrNy.js +0 -1
- package/dist/plugin-sdk/send-B03So6fs.cjs +0 -1
- package/dist/plugin-sdk/send-B0oV0qgS.js +0 -1
- package/dist/plugin-sdk/send-B31Tjl_I.cjs +0 -1
- package/dist/plugin-sdk/send-B4LTVhTd.cjs +0 -1
- package/dist/plugin-sdk/send-BGXPpAqy.cjs +0 -1
- package/dist/plugin-sdk/send-BJ957TYU.js +0 -1
- package/dist/plugin-sdk/send-BJmf3HVn.cjs +0 -1
- package/dist/plugin-sdk/send-BW3UECzm.js +0 -1
- package/dist/plugin-sdk/send-BWEZ_8nL.cjs +0 -1
- package/dist/plugin-sdk/send-BXrh73qh.cjs +0 -1
- package/dist/plugin-sdk/send-BbudHjUi.cjs +0 -1
- package/dist/plugin-sdk/send-BkjnUdWv.cjs +0 -1
- package/dist/plugin-sdk/send-BxIt-s7G.cjs +0 -1
- package/dist/plugin-sdk/send-ByKNfU2S.js +0 -1
- package/dist/plugin-sdk/send-Bz2Loz_Q.cjs +0 -1
- package/dist/plugin-sdk/send-CAreQYLU.cjs +0 -1
- package/dist/plugin-sdk/send-CGMqeSaY.cjs +0 -1
- package/dist/plugin-sdk/send-CJmor6eC.js +0 -1
- package/dist/plugin-sdk/send-CL2pl8br.cjs +0 -1
- package/dist/plugin-sdk/send-CMeGMLko.js +0 -1
- package/dist/plugin-sdk/send-CceHBxiK.js +0 -1
- package/dist/plugin-sdk/send-Cdx_KGYb.js +0 -1
- package/dist/plugin-sdk/send-Cer1bA2g.cjs +0 -1
- package/dist/plugin-sdk/send-CimU95QQ.cjs +0 -1
- package/dist/plugin-sdk/send-CoEAieJt.cjs +0 -1
- package/dist/plugin-sdk/send-Cob_bnT32.js +0 -1
- package/dist/plugin-sdk/send-Cyp5hOpt.js +0 -1
- package/dist/plugin-sdk/send-CzEFjTpi.js +0 -1
- package/dist/plugin-sdk/send-D2LjU2py.js +0 -1
- package/dist/plugin-sdk/send-D9Gbseeh.cjs +0 -1
- package/dist/plugin-sdk/send-DIjQ2vB4.js +0 -1
- package/dist/plugin-sdk/send-DJ419AIX.cjs +0 -1
- package/dist/plugin-sdk/send-DLtYxO1e.cjs +0 -1
- package/dist/plugin-sdk/send-DMk529J8.js +0 -1
- package/dist/plugin-sdk/send-DMxohaL_.cjs +0 -1
- package/dist/plugin-sdk/send-DQlKz6Bj.js +0 -1
- package/dist/plugin-sdk/send-DTUW-YBy.js +0 -1
- package/dist/plugin-sdk/send-Dc43nN-I.js +0 -1
- package/dist/plugin-sdk/send-DcRj8DUU.cjs +0 -1
- package/dist/plugin-sdk/send-DmxxJFZd.cjs +0 -1
- package/dist/plugin-sdk/send-DnwN1vBU.cjs +0 -1
- package/dist/plugin-sdk/send-DogBiU4n.cjs +0 -1
- package/dist/plugin-sdk/send-MEvv6c7w.js +0 -1
- package/dist/plugin-sdk/send-TRwokuAm.cjs +0 -1
- package/dist/plugin-sdk/send-VUSa_wkg.js +0 -1
- package/dist/plugin-sdk/send-X1b7Cj9U.cjs +0 -1
- package/dist/plugin-sdk/send-XX5rP5bI.js +0 -1
- package/dist/plugin-sdk/send-_ZGBA2sz.js +0 -1
- package/dist/plugin-sdk/send-d5RoIkxA.js +0 -1
- package/dist/plugin-sdk/send-dCbQnCLx.js +0 -1
- package/dist/plugin-sdk/send-gSV6SR6F.cjs +0 -1
- package/dist/plugin-sdk/send-pC6ctwfQ.cjs +0 -1
- package/dist/plugin-sdk/send-pq2hNOwv.cjs +0 -1
- package/dist/plugin-sdk/send-q6C-1cdJ.js +0 -1
- package/dist/plugin-sdk/send-vnIJSD5l.js +0 -1
- package/dist/plugin-sdk/send-vtYROJNd.js +0 -1
- package/dist/plugin-sdk/send-wk_Y38Eq.js +0 -1
- package/dist/plugin-sdk/session-BSLJWzVk.cjs +0 -1
- package/dist/plugin-sdk/session-BfWC0c92.js +0 -1
- package/dist/plugin-sdk/session-BjsaXe-G.js +0 -1
- package/dist/plugin-sdk/session-C20nSfk5.cjs +0 -1
- package/dist/plugin-sdk/session-CR8fsPgs.js +0 -1
- package/dist/plugin-sdk/session-CwinrWG4.cjs +0 -1
- package/dist/plugin-sdk/session-DAtRSLdw.cjs +0 -1
- package/dist/plugin-sdk/session-Djo63EGV.cjs +0 -1
- package/dist/plugin-sdk/session-EJZkCm6l.js +0 -1
- package/dist/plugin-sdk/session-UIRgeq02.cjs +0 -1
- package/dist/plugin-sdk/session-aOZKTEyZ.js +0 -1
- package/dist/plugin-sdk/session-nUw21fi0.js +0 -1
- package/dist/plugin-sdk/sessions-B06a3AKE.js +0 -1
- package/dist/plugin-sdk/sessions-BmhjMXlm.cjs +0 -1
- package/dist/plugin-sdk/signal.cjs +0 -1
- package/dist/plugin-sdk/signal.js +0 -1
- package/dist/plugin-sdk/skill-commands-2LXH0aZR.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-B4AbCkKe.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-B_xNpuH_.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-BbAfKA1R.js +0 -1
- package/dist/plugin-sdk/skill-commands-BcKIgHAP.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-C9g2UiKr.cjs +0 -1
- package/dist/plugin-sdk/skill-commands-CPZ9Jvbj.js +0 -1
- package/dist/plugin-sdk/skill-commands-CgDUjb3J.js +0 -1
- package/dist/plugin-sdk/skill-commands-D83BLBEG.js +0 -1
- package/dist/plugin-sdk/skill-commands-DI1TMUxQ.js +0 -1
- package/dist/plugin-sdk/skill-commands-DldIiKD1.js +0 -1
- package/dist/plugin-sdk/skill-commands-LCW6nWWC.cjs +0 -1
- package/dist/plugin-sdk/slack.cjs +0 -1
- package/dist/plugin-sdk/slack.js +0 -1
- package/dist/plugin-sdk/synology-chat.cjs +0 -1
- package/dist/plugin-sdk/synology-chat.js +0 -1
- package/dist/plugin-sdk/tables-BXY1ms0X.js +0 -1
- package/dist/plugin-sdk/tables-BlhpY72l.cjs +0 -1
- package/dist/plugin-sdk/tables-BltHUi44.cjs +0 -1
- package/dist/plugin-sdk/tables-Bp6t_Jkb.js +0 -1
- package/dist/plugin-sdk/tables-BszYJkqX.cjs +0 -1
- package/dist/plugin-sdk/tables-CAZJt5bp.js +0 -1
- package/dist/plugin-sdk/tables-CcuiVH-P.cjs +0 -1
- package/dist/plugin-sdk/tables-CuSMtUxt.cjs +0 -1
- package/dist/plugin-sdk/tables-DOLEnfD6.js +0 -1
- package/dist/plugin-sdk/tables-DiiF7bbj.cjs +0 -1
- package/dist/plugin-sdk/tables-aSJP6Sef.js +0 -1
- package/dist/plugin-sdk/tables-ib4GZqYB.js +0 -1
- package/dist/plugin-sdk/target-errors--anbEDnm.js +0 -1
- package/dist/plugin-sdk/target-errors-4q9SUsM_.js +0 -1
- package/dist/plugin-sdk/target-errors-BFOTHcjO.js +0 -1
- package/dist/plugin-sdk/target-errors-Bw4tI2Lc.cjs +0 -1
- package/dist/plugin-sdk/target-errors-CAgwWHUv.js +0 -1
- package/dist/plugin-sdk/target-errors-CUDKM0z-.js +0 -1
- package/dist/plugin-sdk/target-errors-DIOJ6Eun.cjs +0 -1
- package/dist/plugin-sdk/target-errors-DnZq9h4B.cjs +0 -1
- package/dist/plugin-sdk/target-errors-DwAKh8KU.cjs +0 -1
- package/dist/plugin-sdk/target-errors-QGzfLvuU.cjs +0 -1
- package/dist/plugin-sdk/targets-BSc11Uk8.cjs +0 -1
- package/dist/plugin-sdk/targets-BSkiizml.js +0 -1
- package/dist/plugin-sdk/targets-CBI0xqve.cjs +0 -1
- package/dist/plugin-sdk/targets-CL5fYQi7.js +0 -1
- package/dist/plugin-sdk/targets-CUZWrFrm.cjs +0 -1
- package/dist/plugin-sdk/targets-CVEYTFPQ.js +0 -1
- package/dist/plugin-sdk/targets-Co2R6K14.cjs +0 -1
- package/dist/plugin-sdk/targets-CrkJkzil.js +0 -1
- package/dist/plugin-sdk/targets-D-m7SV9x.cjs +0 -1
- package/dist/plugin-sdk/targets-D8HTxbo4.js +0 -1
- package/dist/plugin-sdk/targets-DcGNB9nk.cjs +0 -1
- package/dist/plugin-sdk/targets-Dn9gDiEw.js +0 -1
- package/dist/plugin-sdk/targets-X28mff4s.cjs +0 -1
- package/dist/plugin-sdk/targets-uycXZ8vQ.js +0 -1
- package/dist/plugin-sdk/telegram.cjs +0 -1
- package/dist/plugin-sdk/telegram.js +0 -1
- package/dist/plugin-sdk/test-utils.cjs +0 -1
- package/dist/plugin-sdk/test-utils.js +0 -1
- package/dist/plugin-sdk/tlon.cjs +0 -1
- package/dist/plugin-sdk/tlon.js +0 -1
- package/dist/plugin-sdk/tokens-AAdZjj0M.js +0 -1
- package/dist/plugin-sdk/tokens-B20KNIDD.js +0 -1
- package/dist/plugin-sdk/tokens-B8ys7Q2e.js +0 -1
- package/dist/plugin-sdk/tokens-BPc1fcZ3.js +0 -1
- package/dist/plugin-sdk/tokens-BqABmXSe.js +0 -1
- package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +0 -1
- package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +0 -1
- package/dist/plugin-sdk/tokens-CytSl1X8.cjs +0 -1
- package/dist/plugin-sdk/tokens-DgPZk2Uu.js +0 -1
- package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +0 -1
- package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +0 -1
- package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +0 -1
- package/dist/plugin-sdk/twitch.cjs +0 -1
- package/dist/plugin-sdk/twitch.js +0 -1
- package/dist/plugin-sdk/utils-BJtJR72k.js +0 -1
- package/dist/plugin-sdk/utils-PPIvU9qw.cjs +0 -1
- package/dist/plugin-sdk/voice-call.cjs +0 -1
- package/dist/plugin-sdk/voice-call.js +0 -1
- package/dist/plugin-sdk/web--8MBOleK.js +0 -1
- package/dist/plugin-sdk/web-B7d3p3kx.cjs +0 -1
- package/dist/plugin-sdk/web-BEuW8Yqw.js +0 -1
- package/dist/plugin-sdk/web-Bg2LIMdb.cjs +0 -1
- package/dist/plugin-sdk/web-DFDao2So.cjs +0 -1
- package/dist/plugin-sdk/web-DjbeDvyv.js +0 -1
- package/dist/plugin-sdk/web-JciOW43P.js +0 -1
- package/dist/plugin-sdk/web-vSFigMHz.cjs +0 -1
- package/dist/plugin-sdk/weixin.cjs +0 -1
- package/dist/plugin-sdk/weixin.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-B67oFfeq.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-BB0eACkf.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-BIgrB0j5.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-CFve14ju.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-CdRkPw-b.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-CtIBOGpJ.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-CwAU7FuE.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-DQ1t5QTc.cjs +0 -1
- package/dist/plugin-sdk/whatsapp-actions-DkrN4BcG.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-DnkKzVrU.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-YcBsDZ88.js +0 -1
- package/dist/plugin-sdk/whatsapp-actions-wk1U2IVU.cjs +0 -1
- package/dist/plugin-sdk/whatsapp.cjs +0 -1
- package/dist/plugin-sdk/whatsapp.js +0 -1
- package/dist/plugin-sdk/zalo.cjs +0 -1
- package/dist/plugin-sdk/zalo.js +0 -1
- package/dist/plugin-sdk/zalouser.cjs +0 -1
- package/dist/plugin-sdk/zalouser.js +0 -1
- package/dist/plugins-CYLrFT4h.js +0 -1
- package/dist/plugins-DNlgeTTc.js +0 -1
- package/dist/plugins-cli-CnXgwZzI.js +0 -1
- package/dist/plugins-cli-PVHBZeb8.js +0 -1
- package/dist/polls-BIVz6a4F.js +0 -1
- package/dist/polls-Bh5wc9-6.js +0 -1
- package/dist/polls-C_XSFz3d.js +0 -1
- package/dist/polls-DKJOFSzJ.js +0 -1
- package/dist/ports-BAaLOkJp.js +2 -0
- package/dist/ports-DDWP1p0X.js +2 -0
- package/dist/probe-auth-C5nWfMS9.js +0 -1
- package/dist/probe-auth-x4OHS_wa.js +0 -1
- package/dist/profile-utils-CWmra1aY.js +0 -1
- package/dist/{program-ppBAyCNf.js → program-D53eGuSf.js} +1 -2
- package/dist/program-context-CH9p6anW.js +0 -1
- package/dist/{program-context-BXNpM3b4.js → program-context-n-ovYq69.js} +1 -2
- package/dist/progress-LNttnI-y.js +0 -1
- package/dist/progress-d1m2sqR1.js +0 -1
- package/dist/{prompt-select-styled-947JghKF.js → prompt-select-styled-DZnefcrY.js} +1 -2
- package/dist/{prompt-select-styled-1abs2MvK.js → prompt-select-styled-DolCW-_j.js} +1 -2
- package/dist/prompt-style-BThRSQJR.js +0 -1
- package/dist/prompt-style-CXKekIBY.js +0 -1
- package/dist/prompts-CMzglboN.js +0 -1
- package/dist/prompts-wv-lfVrJ.js +0 -1
- package/dist/provider-auth-helpers-BLm2bdp5.js +0 -1
- package/dist/provider-auth-helpers-DPz0vN_c.js +0 -1
- package/dist/provider-env-vars-D8p6Ohpj.js +0 -1
- package/dist/provider-env-vars-Dt0Q29Su.js +0 -1
- package/dist/proxy-env-BNhTHkd_.js +0 -1
- package/dist/proxy-env-DcmW_urA.js +0 -1
- package/dist/proxy-env-DrC3TIGh.js +0 -1
- package/dist/proxy-env-FJr5nlvs.js +0 -1
- package/dist/proxy-fetch-BADsUK4d.js +0 -1
- package/dist/proxy-fetch-BZ9O8Dvj.js +0 -1
- package/dist/proxy-fetch-DnjU1fEB.js +0 -1
- package/dist/proxy-fetch-gWETR3cl.js +0 -1
- package/dist/push-apns-BBv62ncV.js +0 -1
- package/dist/push-apns-DIV5dBPP.js +0 -1
- package/dist/pw-ai-C0gM3d-6.js +0 -1
- package/dist/pw-ai-CQd14BQa.js +0 -1
- package/dist/pw-ai-DiQuOf4W.js +0 -1
- package/dist/pw-ai-jlhIn-aA.js +0 -1
- package/dist/qmd-manager-C_e04BNg.js +0 -1
- package/dist/qmd-manager-DSQ_mDCl.js +0 -1
- package/dist/qmd-manager-DcBYbt_V.js +0 -1
- package/dist/qmd-manager-NLI0R6kp.js +0 -1
- package/dist/qr-cli-D06YZurm.js +0 -1
- package/dist/qr-cli-ZtDsXyLO.js +0 -1
- package/dist/query-expansion-0OxEb1Io.js +0 -1
- package/dist/query-expansion-BUUx_oWg.js +0 -1
- package/dist/query-expansion-r_iXkNzt.js +0 -1
- package/dist/reaction-level-DVPHL14p.js +0 -1
- package/dist/reaction-message-id-BEEe7X3D.js +0 -1
- package/dist/read-only-account-inspect-B0cm8yrv.js +0 -1
- package/dist/redact-3_CiXMY6.js +0 -1
- package/dist/redact-CnRxK70G.js +0 -1
- package/dist/register.agent-DHOTtB8X.js +0 -1
- package/dist/register.agent-DQdoMfmw.js +0 -1
- package/dist/register.backup-BDO3V0so.js +0 -1
- package/dist/register.backup-Vh8RK6fp.js +0 -1
- package/dist/register.configure-C2N82brC.js +0 -1
- package/dist/register.configure-C6zjzaEo.js +0 -1
- package/dist/{register.maintenance-Br9uoFKo.js → register.maintenance-CStaPxaB.js} +1 -2
- package/dist/{register.maintenance-Cm3wq9bt.js → register.maintenance-aKBTd9Zp.js} +1 -2
- package/dist/register.message-DHDcOA8X.js +0 -1
- package/dist/register.message-Dh72QHKA.js +0 -1
- package/dist/{register.onboard-AjrSlfCb.js → register.onboard-Bu9gpFlA.js} +1 -2
- package/dist/{register.onboard-zCG1PNWc.js → register.onboard-DB9FWAKT.js} +1 -2
- package/dist/{register.setup-DN0y_pth.js → register.setup-CeG2ETmr.js} +1 -2
- package/dist/{register.setup-Blyl_QsK.js → register.setup-D76IRs4s.js} +1 -2
- package/dist/register.status-health-sessions-Dtpd1P2M.js +0 -1
- package/dist/register.status-health-sessions-mPGKFjIz.js +0 -1
- package/dist/{register.subclis-5Pb-uEHk.js → register.subclis-Drp2dGBe.js} +1 -2
- package/dist/registry-BptzrW8D.js +0 -1
- package/dist/registry-hFAtCSWG.js +0 -1
- package/dist/render-BXEUPIHe.js +0 -1
- package/dist/render-CBsnn-2A.js +0 -1
- package/dist/render-D8OWO2hT.js +0 -1
- package/dist/render-DrrPmnMI.js +0 -1
- package/dist/reply-DwfVhea1.js +0 -1
- package/dist/restart-BeJuoXCx.js +0 -1
- package/dist/rpc-BBdeIvn0.js +0 -1
- package/dist/rpc-f85A4Ib_.js +0 -1
- package/dist/{run-main-DGwq5DIc.js → run-main-CjwjyWA6.js} +1 -2
- package/dist/runtime-CK7gqwEF.js +0 -1
- package/dist/runtime-DYttInEE.js +0 -1
- package/dist/runtime-guard-DFYBaYZS.js +0 -1
- package/dist/runtime-guard-DX2Ie4ri.js +0 -1
- package/dist/runtime-status-CqFBmdRd.js +0 -1
- package/dist/runtime-status-DszMjvJK.js +0 -1
- package/dist/runtime-web-tools-BYhCkBV8.js +0 -1
- package/dist/runtime-web-tools-C4F6aaRh.js +0 -1
- package/dist/sandbox-cli-BR0Lsru-.js +0 -1
- package/dist/sandbox-cli-Jo5nYeug.js +0 -1
- package/dist/scan-paths-C13EseXp.js +0 -1
- package/dist/scan-paths-CWtvWW40.js +0 -1
- package/dist/search-manager-CV2YsAym.js +0 -1
- package/dist/secret-file-C7JffiM_.js +0 -1
- package/dist/secret-file-D60EFEOe.js +0 -1
- package/dist/secret-file-DuWm26jS.js +0 -1
- package/dist/secrets-cli-B8kwyZFo.js +0 -1
- package/dist/secrets-cli-BstBe0UA.js +0 -1
- package/dist/secure-random-D7JQgiK-.js +0 -1
- package/dist/security-cli-C6t8OxaE.js +0 -1
- package/dist/security-cli-Cuc8IQKB.js +0 -1
- package/dist/send--9G8eXo4.js +0 -1
- package/dist/send-4h1tQwX3.js +0 -1
- package/dist/send-7qgAI0ap.js +0 -1
- package/dist/send-AQ3CJLpI.js +0 -1
- package/dist/send-BjrfjBn9.js +0 -1
- package/dist/send-BwblpWbK.js +0 -1
- package/dist/send-C4Lm4nmt.js +0 -1
- package/dist/send-C7rOdjPO.js +0 -1
- package/dist/send-COpehmAB.js +0 -1
- package/dist/send-CWVTcDAW.js +0 -1
- package/dist/send-CciNyaWL.js +0 -1
- package/dist/send-ChILboDj.js +0 -1
- package/dist/send-CyarIb2w.js +0 -1
- package/dist/send-DiHS8tKf.js +0 -1
- package/dist/send-Dj7NBAWg.js +0 -1
- package/dist/send-DmHpf5Fz.js +0 -1
- package/dist/send-NbU9-scF2.js +0 -1
- package/dist/send-hlES-kRl2.js +0 -1
- package/dist/send-swTiQAeK2.js +0 -1
- package/dist/send-vNcod64S.js +0 -1
- package/dist/server-C-lb98FO.js +0 -1
- package/dist/server-DwSkpKgC.js +0 -1
- package/dist/server-node-events-CL0pWoMa.js +0 -1
- package/dist/server-node-events-ChPQ984b.js +0 -1
- package/dist/service-BtB9epJk.js +0 -1
- package/dist/service-DZ9EbS15.js +0 -1
- package/dist/session-BSRnpwSq.js +0 -1
- package/dist/session-CfHCnrXh.js +0 -1
- package/dist/session-JqCxWBM8.js +0 -1
- package/dist/session-bk3gFwO4.js +0 -1
- package/dist/session-cost-usage-BgqKixv0.js +0 -1
- package/dist/session-cost-usage-CHtVgnE8.js +0 -1
- package/dist/session-key-C7F_iqYg.js +0 -1
- package/dist/session-key-D3P0tf5P.js +0 -1
- package/dist/session-utils-Bpdyx2A2.js +0 -1
- package/dist/sessions-Ca6ozRCQ.js +0 -1
- package/dist/shared-9x5sqYRb.js +0 -1
- package/dist/shared-BKWhOp64.js +0 -1
- package/dist/shared-Ca5BFwta.js +0 -1
- package/dist/skill-commands-CPZcaV8-.js +0 -1
- package/dist/skill-commands-CtprBvm0.js +0 -1
- package/dist/skill-commands-DCqPy_Aa.js +0 -1
- package/dist/skill-commands-DlHVddAk.js +0 -1
- package/dist/skill-scanner-CUUF3Fvo.js +0 -1
- package/dist/skill-scanner-CkxXNioD.js +0 -1
- package/dist/skills-Bz_S4lPh.js +0 -1
- package/dist/skills-CzUpDbU-.js +0 -1
- package/dist/skills-cli-DK0QDfln.js +0 -1
- package/dist/skills-cli-DLmqhAB-.js +0 -1
- package/dist/skills-install-D3YB2C-S.js +0 -1
- package/dist/skills-install-cEcqzaX8.js +0 -1
- package/dist/skills-status-D4Y1BJYL.js +0 -1
- package/dist/skills-status-DpSboPY1.js +0 -1
- package/dist/sqlite-CILF3z9U.js +0 -1
- package/dist/stagger-DmFYysrJ.js +0 -1
- package/dist/stagger-DxzgG2jd.js +0 -1
- package/dist/status-BAat65xo.js +0 -1
- package/dist/status-BSHWBrg0.js +0 -1
- package/dist/status-o3Gfr-6l.js +0 -1
- package/dist/status-w4NsjW2R.js +0 -1
- package/dist/status.update-B_8Gumuc.js +0 -1
- package/dist/status.update-_2r0S6Re.js +0 -1
- package/dist/string-normalization-BrUPaXaM.js +0 -1
- package/dist/string-normalization-DJT5zuUF.js +0 -1
- package/dist/subsystem-BLbY429l.js +0 -1
- package/dist/subsystem-Bc2XrjUz.js +0 -1
- package/dist/subsystem-C5XF2Fy5.js +0 -1
- package/dist/system-cli-Ddixb0SQ.js +0 -1
- package/dist/system-cli-NAH97F2s.js +0 -1
- package/dist/system-run-command-DsWBVvSK.js +0 -1
- package/dist/system-run-command-E8ymBXHh.js +0 -1
- package/dist/systemd-D7odsu4K.js +0 -1
- package/dist/systemd-DbevZh65.js +0 -1
- package/dist/systemd-hints-CEQj6yrs.js +0 -1
- package/dist/systemd-hints-lXpMy-kY.js +0 -1
- package/dist/systemd-linger-C2MJD6KG.js +0 -1
- package/dist/systemd-linger-cWKbFNpu.js +0 -1
- package/dist/table-CR7TFMew.js +0 -1
- package/dist/table-CY440fI1.js +0 -1
- package/dist/tables-D6J-isob.js +0 -1
- package/dist/tables-DENKrP-W.js +0 -1
- package/dist/tables-_t5V36m9.js +0 -1
- package/dist/tables-fl9iXahm.js +0 -1
- package/dist/target-errors-CoEHv_2r.js +0 -1
- package/dist/target-errors-D6wejRd6.js +0 -1
- package/dist/target-errors-Dnkqss9y.js +0 -1
- package/dist/target-errors-sMFXKeAY.js +0 -1
- package/dist/targets-4EaxWBal.js +0 -1
- package/dist/targets-BJTo7bqu.js +0 -1
- package/dist/targets-BYVMrXDf.js +0 -1
- package/dist/targets-Bq6rS6-Z.js +0 -1
- package/dist/targets-CL5fYQi7.js +0 -1
- package/dist/targets-fozeWOOg.js +0 -1
- package/dist/targets-m_41k_Mv.js +0 -1
- package/dist/telegram/audit.js +0 -1
- package/dist/text-format-CvrvBBre.js +0 -1
- package/dist/text-format-DEWK6oCT.js +0 -1
- package/dist/token-DnTmiyJu.js +0 -1
- package/dist/tokens-B2fq-rL6.js +0 -1
- package/dist/tokens-CL2fSjGl.js +0 -1
- package/dist/tokens-DRM8vzJx.js +0 -1
- package/dist/tokens-XGbQGn67.js +0 -1
- package/dist/tool-display-DJDtttQg.js +0 -1
- package/dist/tool-display-DjuSUUbH.js +0 -1
- package/dist/tui-5Znjl2Rb.js +0 -1
- package/dist/tui-Tlww_AcE.js +0 -1
- package/dist/tui-cli-C9QPsw50.js +0 -1
- package/dist/tui-cli-FxvETbln.js +0 -1
- package/dist/types.secrets-C-5U96pc.js +0 -1
- package/dist/types.secrets-D4tbc3Wq.js +0 -1
- package/dist/update-CMneH_48.js +0 -1
- package/dist/update-D9EwPybG.js +0 -1
- package/dist/{update-cli-BQGwMpHe.js → update-cli-CL_cUjuq.js} +1 -2
- package/dist/{update-cli-C7pZTXS8.js → update-cli-DU5tRH3c.js} +1 -2
- package/dist/update-runner-DABdlxfN.js +0 -1
- package/dist/update-runner-DG-1TYYc.js +0 -1
- package/dist/usage-format-BWD8FJFL.js +0 -1
- package/dist/usage-format-yPwal8Iz.js +0 -1
- package/dist/utils-CGdo13HV.js +0 -1
- package/dist/utils-D3t-vPka.js +0 -1
- package/dist/utils-R-mFyVJi.js +0 -1
- package/dist/utils-UGOV_184.js +0 -1
- package/dist/version-q3SkUw2K.js +0 -1
- package/dist/warning-filter.js +0 -1
- package/dist/web-Dfi2WjvN.js +0 -1
- package/dist/web-u71NbOpT.js +0 -1
- package/dist/webhooks-cli-DMTzhfTv.js +0 -1
- package/dist/webhooks-cli-ICOwBPSv.js +0 -1
- package/dist/whatsapp-actions-Bdf-3-ne.js +0 -1
- package/dist/whatsapp-actions-D2qMOK3a.js +0 -1
- package/dist/whatsapp-actions-f5CsM5EM.js +0 -1
- package/dist/whatsapp-actions-t88tyNUT.js +0 -1
- package/dist/widearea-dns-BDx7vkV2.js +0 -1
- package/dist/widearea-dns-BFjqKXu_.js +0 -1
- package/dist/windows-spawn-7oINn5ao.js +0 -1
- package/dist/windows-spawn-AB7ItGAE.js +0 -1
- package/dist/with-timeout-WveKxvFV.js +0 -1
- package/dist/with-timeout-c1CzdShT.js +0 -1
- package/dist/workspace-B0ZQeHXg.js +0 -1
- package/dist/workspace-C45T1Cxg.js +0 -1
- package/dist/workspace-dirs-A8Vib9_B.js +0 -1
- package/dist/workspace-dirs-BhF1Dzxt.js +0 -1
- package/dist/workspace-xNEpaJvu.js +0 -1
- package/dist/wsl-DHxB2Ew_.js +0 -1
- package/dist/wsl-Ok7GaSJ6.js +0 -1
- package/extensions/qqbrowser-skill-control/index.js +1 -1
- package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +1 -1
- package/node_modules/@google/genai/dist/index.cjs +341 -180
- package/node_modules/@google/genai/dist/index.mjs +341 -180
- package/node_modules/@google/genai/dist/node/index.cjs +341 -180
- package/node_modules/@google/genai/dist/node/index.mjs +341 -180
- package/node_modules/@google/genai/dist/tokenizer/node.cjs +100 -0
- package/node_modules/@google/genai/dist/tokenizer/node.mjs +100 -0
- package/node_modules/@google/genai/dist/vertex_internal/index.cjs +103 -2
- package/node_modules/@google/genai/dist/vertex_internal/index.js +103 -2
- package/node_modules/@google/genai/dist/web/index.mjs +342 -180
- package/node_modules/@google/genai/package.json +1 -1
- package/node_modules/@slack/web-api/dist/instrument.js +13 -1
- package/node_modules/@slack/web-api/package.json +2 -2
- package/node_modules/@smithy/config-resolver/package.json +2 -2
- package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
- package/node_modules/@smithy/util-endpoints/dist-cjs/index.js +154 -61
- package/node_modules/@smithy/util-endpoints/dist-es/bdd/BinaryDecisionDiagram.js +15 -0
- package/node_modules/@smithy/util-endpoints/dist-es/decideEndpoint.js +41 -0
- package/node_modules/@smithy/util-endpoints/dist-es/index.js +2 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/coalesce.js +8 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/index.js +3 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/ite.js +3 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/split.js +13 -0
- package/node_modules/@smithy/util-endpoints/dist-es/lib/substring.js +1 -1
- package/node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js +4 -1
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js +20 -5
- package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js +3 -6
- package/node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js +1 -5
- package/node_modules/@smithy/util-endpoints/package.json +1 -1
- package/node_modules/discord-api-types/package.json +1 -1
- package/node_modules/discord-api-types/payloads/index.mjs +3 -0
- package/node_modules/discord-api-types/payloads/v10/index.mjs +3 -0
- package/node_modules/discord-api-types/payloads/v10/message.js +55 -2
- package/node_modules/discord-api-types/payloads/v10/user.js +2 -0
- package/node_modules/discord-api-types/payloads/v9/index.mjs +3 -0
- package/node_modules/discord-api-types/payloads/v9/message.js +55 -2
- package/node_modules/discord-api-types/payloads/v9/user.js +2 -0
- package/node_modules/discord-api-types/rest/v10/channel.js +6 -0
- package/node_modules/discord-api-types/rest/v9/channel.js +6 -0
- package/node_modules/discord-api-types/v10.mjs +3 -0
- package/node_modules/discord-api-types/v9.mjs +3 -0
- package/node_modules/undici/package.json +1 -1
- package/package.json +2 -1
- package/dist/ports-Dylc6TrH.js +0 -3
- package/dist/ports-hkqQXSus.js +0 -3
- package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/commander/LICENSE +0 -22
- package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/commander/Readme.md +0 -1157
- package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/zod/LICENSE +0 -21
- package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/zod/README.md +0 -208
- package/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/README.md +0 -3
- package/node_modules/@anthropic-ai/sdk/src/core/README.md +0 -3
- package/node_modules/@anthropic-ai/sdk/src/internal/README.md +0 -3
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer/LICENSE +0 -201
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer/README.md +0 -10
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from/LICENSE +0 -201
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from/README.md +0 -10
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8/LICENSE +0 -201
- package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8/README.md +0 -4
- package/node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer/LICENSE +0 -201
- package/node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer/README.md +0 -10
- package/node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from/LICENSE +0 -201
- package/node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from/README.md +0 -10
- package/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/LICENSE +0 -201
- package/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/README.md +0 -4
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +0 -201
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +0 -62
- package/node_modules/@buape/carbon/node_modules/@discordjs/voice/LICENSE +0 -191
- package/node_modules/@buape/carbon/node_modules/@discordjs/voice/README.md +0 -112
- package/node_modules/@buape/carbon/node_modules/discord-api-types/LICENSE +0 -21
- package/node_modules/@buape/carbon/node_modules/discord-api-types/README.md +0 -102
- package/node_modules/@buape/carbon/node_modules/ws/LICENSE +0 -20
- package/node_modules/@buape/carbon/node_modules/ws/README.md +0 -548
- package/node_modules/@line/bot-sdk/node_modules/@types/node/LICENSE +0 -21
- package/node_modules/@line/bot-sdk/node_modules/@types/node/README.md +0 -15
- package/node_modules/@line/bot-sdk/node_modules/undici-types/LICENSE +0 -21
- package/node_modules/@line/bot-sdk/node_modules/undici-types/README.md +0 -6
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
- package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
- package/node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core/LICENSE +0 -201
- package/node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core/README.md +0 -73
- package/node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources/LICENSE +0 -201
- package/node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources/README.md +0 -49
- package/node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core/LICENSE +0 -201
- package/node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core/README.md +0 -73
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/core/LICENSE +0 -201
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/core/README.md +0 -73
- package/node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core/LICENSE +0 -201
- package/node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core/README.md +0 -73
- package/node_modules/@sinclair/typebox/license +0 -25
- package/node_modules/@sinclair/typebox/readme.md +0 -1865
- package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/license +0 -9
- package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/readme.md +0 -1077
- package/node_modules/@whiskeysockets/baileys/node_modules/p-timeout/license +0 -9
- package/node_modules/@whiskeysockets/baileys/node_modules/p-timeout/readme.md +0 -192
- package/node_modules/ansi-regex/license +0 -9
- package/node_modules/ansi-regex/readme.md +0 -66
- package/node_modules/ansi-styles/license +0 -9
- package/node_modules/ansi-styles/readme.md +0 -152
- package/node_modules/atomic-sleep/readme.md +0 -58
- package/node_modules/axios/lib/adapters/README.md +0 -36
- package/node_modules/axios/lib/core/README.md +0 -8
- package/node_modules/axios/lib/env/README.md +0 -3
- package/node_modules/axios/lib/helpers/README.md +0 -7
- package/node_modules/bytes/History.md +0 -97
- package/node_modules/bytes/Readme.md +0 -152
- package/node_modules/chalk/license +0 -9
- package/node_modules/chalk/readme.md +0 -297
- package/node_modules/cli-highlight/node_modules/chalk/license +0 -9
- package/node_modules/cli-highlight/node_modules/chalk/readme.md +0 -341
- package/node_modules/cliui/node_modules/ansi-regex/license +0 -9
- package/node_modules/cliui/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/cliui/node_modules/strip-ansi/license +0 -9
- package/node_modules/cliui/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/combined-stream/License +0 -19
- package/node_modules/combined-stream/Readme.md +0 -138
- package/node_modules/commander/Readme.md +0 -1176
- package/node_modules/cookie-signature/History.md +0 -70
- package/node_modules/cookie-signature/Readme.md +0 -23
- package/node_modules/css-what/readme.md +0 -69
- package/node_modules/delayed-stream/License +0 -19
- package/node_modules/delayed-stream/Readme.md +0 -141
- package/node_modules/depd/History.md +0 -103
- package/node_modules/depd/Readme.md +0 -280
- package/node_modules/domelementtype/readme.md +0 -1
- package/node_modules/domhandler/readme.md +0 -92
- package/node_modules/domutils/readme.md +0 -31
- package/node_modules/entities/readme.md +0 -122
- package/node_modules/escalade/license +0 -9
- package/node_modules/escalade/readme.md +0 -211
- package/node_modules/escape-html/Readme.md +0 -43
- package/node_modules/express/Readme.md +0 -276
- package/node_modules/express-rate-limit/license.md +0 -20
- package/node_modules/express-rate-limit/readme.md +0 -136
- package/node_modules/extract-zip/readme.md +0 -57
- package/node_modules/fast-string-truncated-width/license +0 -21
- package/node_modules/fast-string-truncated-width/readme.md +0 -60
- package/node_modules/fast-string-width/license +0 -21
- package/node_modules/fast-string-width/readme.md +0 -45
- package/node_modules/file-type/license +0 -9
- package/node_modules/file-type/readme.md +0 -667
- package/node_modules/form-data/License +0 -19
- package/node_modules/form-data/node_modules/mime-db/HISTORY.md +0 -507
- package/node_modules/form-data/node_modules/mime-db/LICENSE +0 -23
- package/node_modules/form-data/node_modules/mime-db/README.md +0 -100
- package/node_modules/form-data/node_modules/mime-types/HISTORY.md +0 -397
- package/node_modules/form-data/node_modules/mime-types/LICENSE +0 -23
- package/node_modules/form-data/node_modules/mime-types/README.md +0 -113
- package/node_modules/gaxios/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/gaxios/node_modules/agent-base/README.md +0 -69
- package/node_modules/gaxios/node_modules/https-proxy-agent/LICENSE +0 -22
- package/node_modules/gaxios/node_modules/https-proxy-agent/README.md +0 -70
- package/node_modules/get-east-asian-width/license +0 -9
- package/node_modules/get-east-asian-width/readme.md +0 -65
- package/node_modules/get-stream/license +0 -9
- package/node_modules/get-stream/readme.md +0 -124
- package/node_modules/get-uri/node_modules/data-uri-to-buffer/LICENSE +0 -22
- package/node_modules/get-uri/node_modules/data-uri-to-buffer/README.md +0 -61
- package/node_modules/grammy/node_modules/node-fetch/LICENSE.md +0 -22
- package/node_modules/grammy/node_modules/node-fetch/README.md +0 -634
- package/node_modules/has-flag/license +0 -9
- package/node_modules/has-flag/readme.md +0 -89
- package/node_modules/htmlparser2/node_modules/entities/LICENSE +0 -11
- package/node_modules/htmlparser2/node_modules/entities/readme.md +0 -143
- package/node_modules/http-proxy-agent/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/http-proxy-agent/node_modules/agent-base/README.md +0 -69
- package/node_modules/is-fullwidth-code-point/license +0 -9
- package/node_modules/is-fullwidth-code-point/readme.md +0 -39
- package/node_modules/is-stream/license +0 -9
- package/node_modules/is-stream/readme.md +0 -60
- package/node_modules/jws/readme.md +0 -255
- package/node_modules/libsignal/native/ed25519/sha512/LICENSE.txt +0 -20
- package/node_modules/libsignal/node_modules/@types/node/LICENSE +0 -21
- package/node_modules/libsignal/node_modules/@types/node/README.md +0 -16
- package/node_modules/libsignal/node_modules/long/LICENSE +0 -202
- package/node_modules/libsignal/node_modules/long/README.md +0 -246
- package/node_modules/libsignal/node_modules/protobufjs/LICENSE +0 -39
- package/node_modules/libsignal/node_modules/protobufjs/README.md +0 -879
- package/node_modules/libsignal/node_modules/protobufjs/cli/LICENSE +0 -33
- package/node_modules/libsignal/node_modules/protobufjs/cli/README.md +0 -11
- package/node_modules/libsignal/node_modules/protobufjs/cli/lib/tsd-jsdoc/LICENSE +0 -21
- package/node_modules/libsignal/node_modules/protobufjs/cli/lib/tsd-jsdoc/README.md +0 -23
- package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/os-tmpdir/license +0 -21
- package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/os-tmpdir/readme.md +0 -32
- package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/tmp/LICENSE +0 -21
- package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/tmp/README.md +0 -314
- package/node_modules/libsignal/node_modules/protobufjs/dist/README.md +0 -31
- package/node_modules/libsignal/node_modules/protobufjs/dist/light/README.md +0 -31
- package/node_modules/libsignal/node_modules/protobufjs/dist/minimal/README.md +0 -31
- package/node_modules/libsignal/node_modules/protobufjs/ext/debug/README.md +0 -4
- package/node_modules/libsignal/node_modules/protobufjs/ext/descriptor/README.md +0 -72
- package/node_modules/libsignal/node_modules/protobufjs/google/LICENSE +0 -27
- package/node_modules/libsignal/node_modules/protobufjs/google/README.md +0 -1
- package/node_modules/lie/license.md +0 -7
- package/node_modules/linkedom/node_modules/html-escaper/LICENSE.txt +0 -19
- package/node_modules/linkedom/node_modules/html-escaper/README.md +0 -110
- package/node_modules/merge-descriptors/license +0 -11
- package/node_modules/merge-descriptors/readme.md +0 -55
- package/node_modules/ms/license.md +0 -21
- package/node_modules/ms/readme.md +0 -59
- package/node_modules/node-edge-tts/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/node-edge-tts/node_modules/agent-base/README.md +0 -69
- package/node_modules/node-edge-tts/node_modules/ansi-regex/license +0 -9
- package/node_modules/node-edge-tts/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/node-edge-tts/node_modules/cliui/LICENSE.txt +0 -14
- package/node_modules/node-edge-tts/node_modules/cliui/README.md +0 -141
- package/node_modules/node-edge-tts/node_modules/https-proxy-agent/LICENSE +0 -22
- package/node_modules/node-edge-tts/node_modules/https-proxy-agent/README.md +0 -70
- package/node_modules/node-edge-tts/node_modules/strip-ansi/license +0 -9
- package/node_modules/node-edge-tts/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/node-edge-tts/node_modules/yargs/LICENSE +0 -21
- package/node_modules/node-edge-tts/node_modules/yargs/README.md +0 -204
- package/node_modules/node-edge-tts/node_modules/yargs-parser/LICENSE.txt +0 -14
- package/node_modules/node-edge-tts/node_modules/yargs-parser/README.md +0 -518
- package/node_modules/object-assign/license +0 -21
- package/node_modules/object-assign/readme.md +0 -61
- package/node_modules/object-inspect/readme.markdown +0 -84
- package/node_modules/openai/src/_vendor/partial-json-parser/README.md +0 -3
- package/node_modules/openai/src/_vendor/zod-to-json-schema/LICENSE +0 -15
- package/node_modules/openai/src/_vendor/zod-to-json-schema/README.md +0 -3
- package/node_modules/openai/src/core/README.md +0 -3
- package/node_modules/openai/src/internal/README.md +0 -3
- package/node_modules/openai/src/internal/qs/LICENSE.md +0 -13
- package/node_modules/openai/src/internal/qs/README.md +0 -3
- package/node_modules/p-finally/license +0 -21
- package/node_modules/p-finally/readme.md +0 -47
- package/node_modules/p-queue/license +0 -9
- package/node_modules/p-queue/node_modules/eventemitter3/LICENSE +0 -21
- package/node_modules/p-queue/node_modules/eventemitter3/README.md +0 -94
- package/node_modules/p-queue/readme.md +0 -400
- package/node_modules/p-retry/license +0 -9
- package/node_modules/p-retry/readme.md +0 -148
- package/node_modules/p-timeout/license +0 -9
- package/node_modules/p-timeout/readme.md +0 -87
- package/node_modules/pac-proxy-agent/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/pac-proxy-agent/node_modules/agent-base/README.md +0 -69
- package/node_modules/pac-proxy-agent/node_modules/https-proxy-agent/LICENSE +0 -22
- package/node_modules/pac-proxy-agent/node_modules/https-proxy-agent/README.md +0 -70
- package/node_modules/pako/lib/zlib/README +0 -59
- package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/LICENSE +0 -19
- package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/README.md +0 -38
- package/node_modules/path-key/license +0 -9
- package/node_modules/path-key/readme.md +0 -61
- package/node_modules/path-to-regexp/Readme.md +0 -224
- package/node_modules/pino-std-serializers/Readme.md +0 -182
- package/node_modules/process-nextick-args/license.md +0 -19
- package/node_modules/process-nextick-args/readme.md +0 -18
- package/node_modules/proper-lockfile/node_modules/retry/License +0 -21
- package/node_modules/proper-lockfile/node_modules/retry/README.md +0 -227
- package/node_modules/protobufjs/ext/debug/README.md +0 -4
- package/node_modules/protobufjs/ext/descriptor/README.md +0 -72
- package/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE +0 -19
- package/node_modules/proxy-addr/node_modules/ipaddr.js/README.md +0 -233
- package/node_modules/proxy-agent/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/proxy-agent/node_modules/agent-base/README.md +0 -69
- package/node_modules/proxy-agent/node_modules/https-proxy-agent/LICENSE +0 -22
- package/node_modules/proxy-agent/node_modules/https-proxy-agent/README.md +0 -70
- package/node_modules/proxy-agent/node_modules/lru-cache/LICENSE +0 -15
- package/node_modules/proxy-agent/node_modules/lru-cache/README.md +0 -1117
- package/node_modules/proxy-agent/node_modules/proxy-from-env/LICENSE +0 -20
- package/node_modules/proxy-agent/node_modules/proxy-from-env/README.md +0 -131
- package/node_modules/qified/node_modules/hookified/LICENSE +0 -19
- package/node_modules/qified/node_modules/hookified/README.md +0 -1682
- package/node_modules/quick-format-unescaped/readme.md +0 -66
- package/node_modules/readable-stream/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/readable-stream/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/require-from-string/license +0 -21
- package/node_modules/require-from-string/readme.md +0 -56
- package/node_modules/retry/License +0 -21
- package/node_modules/router/node_modules/is-promise/LICENSE +0 -19
- package/node_modules/router/node_modules/is-promise/readme.md +0 -33
- package/node_modules/safe-stable-stringify/readme.md +0 -179
- package/node_modules/safer-buffer/Readme.md +0 -156
- package/node_modules/shebang-command/license +0 -9
- package/node_modules/shebang-command/readme.md +0 -34
- package/node_modules/shebang-regex/license +0 -9
- package/node_modules/shebang-regex/readme.md +0 -33
- package/node_modules/sisteransi/license +0 -21
- package/node_modules/sisteransi/readme.md +0 -113
- package/node_modules/socks-proxy-agent/node_modules/agent-base/LICENSE +0 -22
- package/node_modules/socks-proxy-agent/node_modules/agent-base/README.md +0 -69
- package/node_modules/string-width/license +0 -9
- package/node_modules/string-width/node_modules/ansi-regex/license +0 -9
- package/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/string-width/node_modules/strip-ansi/license +0 -9
- package/node_modules/string-width/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/string-width/readme.md +0 -50
- package/node_modules/string_decoder/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/string_decoder/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/strip-ansi/license +0 -9
- package/node_modules/strip-ansi/readme.md +0 -37
- package/node_modules/supports-color/license +0 -9
- package/node_modules/supports-color/readme.md +0 -76
- package/node_modules/uint8array-extras/license +0 -9
- package/node_modules/uint8array-extras/readme.md +0 -318
- package/node_modules/undici/lib/web/fetch/LICENSE +0 -21
- package/node_modules/undici/lib/web/subresource-integrity/Readme.md +0 -9
- package/node_modules/util-deprecate/History.md +0 -16
- package/node_modules/wrap-ansi/license +0 -9
- package/node_modules/wrap-ansi/node_modules/ansi-regex/license +0 -9
- package/node_modules/wrap-ansi/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/wrap-ansi/node_modules/strip-ansi/license +0 -9
- package/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/wrap-ansi/readme.md +0 -91
- package/node_modules/yoctocolors/license +0 -9
- package/node_modules/yoctocolors/readme.md +0 -138
- package/node_modules/zod-to-json-schema/changelog.md +0 -83
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import{d as e,g as t}from"./paths-B4IRk3wi.js";import{A as n,O as r,p as i}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{Gc as a,Mi as o,Ml as s,Qc as c,Si as l,Vc as u,Xc as d,Xi as f,Yi as p,Zc as m,Zi as h,cl as g,il as _,ol as v,pa as y,qs as b,sl as x,ul as S,xi as C}from"./model-selection-BLbnMb5E.js";import{i as ee}from"./agent-scope-DXZc3eNT.js";import{s as w}from"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import{t as T}from"./command-format-BbDT1tlm.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import{S as te,x as ne}from"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-CzUpDbU-.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import{i as E}from"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import{r as re}from"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import{dn as ie,g as ae}from"./call-JB-cGR9n.js";import{n as oe,t as D}from"./with-timeout-WveKxvFV.js";import{n as se,r as ce,t as le}from"./exec-approvals-allowlist-B-Yf6RsU.js";import{r as ue,t as de}from"./exec-safe-bin-runtime-policy-CRPHdPbF.js";import{t as fe}from"./connection-auth-smZlFWxD.js";import{t as pe}from"./links-CySwdMcF.js";import{t as me}from"./help-format-BRbF_INg.js";import{_ as he,c as ge,f as O,h as _e,m as ve,n as ye,o as be,p as xe,r as Se,v as Ce}from"./exec-approvals-BpBNEy6i.js";import{n as we,o as Te,t as Ee}from"./system-run-command-E8ymBXHh.js";import{_ as De,g as Oe,l as ke,v as Ae}from"./arg-split-DE5RqDHq.js";import{t as je}from"./path-env-BPd1Yd-i.js";import"./runtime-guard-DFYBaYZS.js";import"./issue-format-BtMzMXtZ.js";import{l as Me,n as Ne,p as Pe,t as Fe}from"./daemon-install-plan.shared-BkwZgIAY.js";import{r as Ie,t as Le}from"./daemon-runtime-DHiDbRuC.js";import"./systemd-D7odsu4K.js";import"./service-BtB9epJk.js";import{a as Re,f as ze,g as Be,h as Ve,i as He,m as k,r as Ue,t as We}from"./lifecycle-core-B1nrgJCw.js";import{c as Ge,l as Ke,u as qe}from"./systemd-hints-CEQj6yrs.js";import{t as Je}from"./parse-port-Bv1Y9Wk5.js";import{i as Ye,n as Xe,t as Ze}from"./node-commands-8GBOiktk.js";import{t as A}from"./node-service-BRfrNp8l.js";import j from"node:fs";import M from"node:path";import N from"node:fs/promises";import{spawn as Qe,spawnSync as $e}from"node:child_process";import P from"node:crypto";function et(){return M.join(t(),`node.json`)}function F(e){let t={version:1,nodeId:``,token:e?.token,displayName:e?.displayName,gateway:e?.gateway};return e?.version===1&&typeof e.nodeId==`string`&&(t.nodeId=e.nodeId.trim()),t.nodeId||=P.randomUUID(),t}async function I(){let e=et();try{let t=await N.readFile(e,`utf8`);return F(JSON.parse(t))}catch{return null}}async function tt(e){await o(et(),e,{mode:384})}async function nt(){let e=F(await I());return await tt(e),e}async function rt(e){let{socketPath:t,token:n,request:r}=e;if(!t||!n)return null;let i=e.timeoutMs??2e4,a=JSON.stringify(r),o=P.randomBytes(16).toString(`hex`),s=Date.now(),c=P.createHmac(`sha256`,n).update(`${o}:${s}:${a}`).digest(`hex`);return await Ce({socketPath:t,payload:JSON.stringify({type:`exec`,id:P.randomUUID(),nonce:o,ts:s,hmac:c,requestJson:a}),timeoutMs:i,accept:e=>{let t=e;if(t?.type===`exec-res`)return t.ok===!0&&t.payload?{ok:!0,payload:t.payload}:t.ok===!1&&t.error?{ok:!1,error:t.error}:null}})}const it=10*1024*1024;function at(e){return Array.isArray(e)?e.map(e=>e.trim()).filter(Boolean):[]}function ot(){let e=b().nodeHost?.browserProxy,t=at(e?.allowProfiles);return{enabled:e?.enabled!==!1,allowProfiles:t}}let L=null;async function st(){return L||(L=(async()=>{let e=b();if(!y(e.browser,e).enabled||!await h())throw Error(`browser control disabled`)})(),L)}function R(e){let{allowProfiles:t,profile:n}=e;return t.length?n?t.includes(n.trim()):!1:!0}function ct(e){let t=new Set,n=typeof e==`object`&&e?e:null;if(!n)return[];typeof n.path==`string`&&n.path.trim()&&t.add(n.path.trim()),typeof n.imagePath==`string`&&n.imagePath.trim()&&t.add(n.imagePath.trim());let r=n.download;if(r&&typeof r==`object`){let e=r.path;typeof e==`string`&&e.trim()&&t.add(e.trim())}return[...t]}async function lt(e){let t=await N.stat(e).catch(()=>null);if(!t||!t.isFile())return null;if(t.size>it)throw Error(`browser proxy file exceeds ${Math.round(it/(1024*1024))}MB`);let n=await N.readFile(e),r=await re({buffer:n,filePath:e});return{path:e,base64:n.toString(`base64`),mimeType:r}}function ut(e){if(!e)throw Error(`INVALID_REQUEST: paramsJSON required`);return JSON.parse(e)}function dt(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(1,Math.floor(e)):2e4}function ft(e){return String(e).includes(`browser proxy request timed out`)}function pt(e){return e===`/act`||e===`/navigate`||e===`/pdf`||e===`/screenshot`||e===`/snapshot`}async function mt(e){let t=e.profile?{profile:e.profile}:{};try{let n=await D(n=>e.dispatcher.dispatch({method:`GET`,path:`/`,query:t,signal:n}),750,`browser proxy status`);if(n.status>=400||!n.body||typeof n.body!=`object`)return null;let r=n.body;return{running:r.running,cdpHttp:r.cdpHttp,cdpReady:r.cdpReady,cdpUrl:r.cdpUrl}}catch{return null}}function ht(e){let t=[`browser proxy timed out for ${e.method} ${e.path} after ${e.timeoutMs}ms`,e.wsBacked?`ws-backed browser action`:`browser action`];if(e.profile&&t.push(`profile=${e.profile}`),e.status){let n=[`running=${String(e.status.running)}`,`cdpHttp=${String(e.status.cdpHttp)}`,`cdpReady=${String(e.status.cdpReady)}`];typeof e.status.cdpUrl==`string`&&e.status.cdpUrl.trim()&&n.push(`cdpUrl=${e.status.cdpUrl}`),t.push(`status(${n.join(`, `)})`)}return t.join(`; `)}async function gt(e){let t=ut(e),n=typeof t.path==`string`?t.path.trim():``;if(!n)throw Error(`INVALID_REQUEST: path required`);let r=ot();if(!r.enabled)throw Error(`UNAVAILABLE: node browser proxy disabled`);await st();let i=b(),a=y(i.browser,i),o=typeof t.profile==`string`?t.profile.trim():``,s=r.allowProfiles;if(s.length>0){if(n!==`/profiles`){if(!R({allowProfiles:s,profile:o||a.defaultProfile}))throw Error(`INVALID_REQUEST: browser profile not allowed`)}else if(o&&!R({allowProfiles:s,profile:o}))throw Error(`INVALID_REQUEST: browser profile not allowed`)}let c=typeof t.method==`string`?t.method.toUpperCase():`GET`,l=n.startsWith(`/`)?n:`/${n}`,u=t.body,d=dt(t.timeoutMs),m={};o&&(m.profile=o);let h=t.query??{};for(let[e,t]of Object.entries(h))t!=null&&(m[e]=typeof t==`string`?t:String(t));let g=p(f()),_;try{_=await D(e=>g.dispatch({method:c===`DELETE`?`DELETE`:c===`POST`?`POST`:`GET`,path:l,query:m,body:u,signal:e}),d,`browser proxy request`)}catch(e){if(!ft(e))throw e;let t=o||a.defaultProfile,n=await mt({dispatcher:g,profile:l===`/profiles`?void 0:t});throw Error(ht({method:c,path:l,profile:l===`/profiles`?void 0:t||void 0,timeoutMs:d,wsBacked:pt(l),status:n}),{cause:e})}if(_.status>=400){let e=_.body&&typeof _.body==`object`&&`error`in _.body?String(_.body.error):`HTTP ${_.status}`;throw Error(e)}let v=_.body;if(s.length>0&&l===`/profiles`){let e=typeof v==`object`&&v?v:{};e.profiles=(Array.isArray(e.profiles)?e.profiles:[]).filter(e=>{if(!e||typeof e!=`object`)return!1;let t=e.name;return typeof t==`string`&&s.includes(t)})}let x,S=ct(v);if(S.length>0){let e=await Promise.all(S.map(async e=>{try{let t=await lt(e);if(!t)throw Error(`file not found`);return t}catch(t){throw Error(`browser proxy file read failed for ${e}: ${String(t)}`,{cause:t})}}));e.length>0&&(x=e)}let C=x?{result:v,files:x}:{result:v};return JSON.stringify(C)}function _t(e){return e===`allow-once`||e===`allow-always`?e:null}function vt(e){return e?.windowsShellWrapperBlocked?`SYSTEM_RUN_DENIED: allowlist miss (Windows shell wrappers like cmd.exe /c require approval; approve once/always or run with --ask on-miss|always)`:e?.shellWrapperBlocked?`SYSTEM_RUN_DENIED: allowlist miss (shell wrappers like sh/bash/zsh -c require approval; approve once/always or run with --ask on-miss|always)`:`SYSTEM_RUN_DENIED: allowlist miss`}function yt(e){let t=e.security===`allowlist`&&e.shellWrapperInvocation,n=t&&e.isWindows&&e.cmdInvocation,r=t?!1:e.analysisOk,i=t?!1:e.allowlistSatisfied,a=e.approvalDecision!==null||e.approved===!0;if(e.security===`deny`)return{allowed:!1,eventReason:`security=deny`,errorMessage:`SYSTEM_RUN_DISABLED: security=deny`,analysisOk:r,allowlistSatisfied:i,shellWrapperBlocked:t,windowsShellWrapperBlocked:n,requiresAsk:!1,approvalDecision:e.approvalDecision,approvedByAsk:a};let o=ve({ask:e.ask,security:e.security,analysisOk:r,allowlistSatisfied:i});return o&&!a?{allowed:!1,eventReason:`approval-required`,errorMessage:`SYSTEM_RUN_DENIED: approval required`,analysisOk:r,allowlistSatisfied:i,shellWrapperBlocked:t,windowsShellWrapperBlocked:n,requiresAsk:o,approvalDecision:e.approvalDecision,approvedByAsk:a}:e.security===`allowlist`&&(!r||!i)&&!a?{allowed:!1,eventReason:`allowlist-miss`,errorMessage:vt({shellWrapperBlocked:t,windowsShellWrapperBlocked:n}),analysisOk:r,allowlistSatisfied:i,shellWrapperBlocked:t,windowsShellWrapperBlocked:n,requiresAsk:o,approvalDecision:e.approvalDecision,approvedByAsk:a}:{allowed:!0,analysisOk:r,allowlistSatisfied:i,shellWrapperBlocked:t,windowsShellWrapperBlocked:n,requiresAsk:o,approvalDecision:e.approvalDecision,approvedByAsk:a}}function bt(e){if(e.shellCommand){let t=se({command:e.shellCommand,allowlist:e.approvals.allowlist,safeBins:e.safeBins,safeBinProfiles:e.safeBinProfiles,cwd:e.cwd,env:e.env,trustedSafeBinDirs:e.trustedSafeBinDirs,skillBins:e.skillBins,autoAllowSkills:e.autoAllowSkills,platform:process.platform});return{analysisOk:t.analysisOk,allowlistMatches:t.allowlistMatches,allowlistSatisfied:e.security===`allowlist`&&t.analysisOk?t.allowlistSatisfied:!1,segments:t.segments}}let t=u({argv:e.argv,cwd:e.cwd,env:e.env}),n=le({analysis:t,allowlist:e.approvals.allowlist,safeBins:e.safeBins,safeBinProfiles:e.safeBinProfiles,cwd:e.cwd,trustedSafeBinDirs:e.trustedSafeBinDirs,skillBins:e.skillBins,autoAllowSkills:e.autoAllowSkills});return{analysisOk:t.ok,allowlistMatches:n.allowlistMatches,allowlistSatisfied:e.security===`allowlist`&&t.ok?n.allowlistSatisfied:!1,segments:t.segments}}function xt(e){if(e.security!==`allowlist`||e.policy.approvedByAsk||e.shellCommand||!e.policy.analysisOk||!e.policy.allowlistSatisfied||e.segments.length!==1)return;let t=a(e.segments[0]);return t&&t.length>0?t:null}function St(e){let t=e.plannedAllowlistArgv??e.argv;return e.security===`allowlist`&&e.isWindows&&!e.policy.approvedByAsk&&e.shellCommand&&e.policy.analysisOk&&e.policy.allowlistSatisfied&&e.segments.length===1&&e.segments[0]?.argv.length>0&&(t=e.segments[0].argv),t}function Ct(e){if(!e.truncated)return;let t=`... (truncated)`;e.stderr.trim().length>0?e.stderr=`${e.stderr}\n${t}`:e.stdout=`${e.stdout}\n${t}`}const wt=[/^(?:node|nodejs)$/,/^perl$/,/^php$/,/^python(?:\d+(?:\.\d+)*)?$/,/^ruby$/],Tt=new Set([`esno`,`jiti`,`ts-node`,`ts-node-esm`,`tsx`,`vite-node`]),Et=new Set([`add`,`audit`,`completions`,`create`,`exec`,`help`,`init`,`install`,`link`,`outdated`,`patch`,`pm`,`publish`,`remove`,`repl`,`run`,`test`,`unlink`,`update`,`upgrade`,`x`]),z=new Set(`--backend.--bunfig.--conditions.--config.--console-depth.--cwd.--define.--elide-lines.--env-file.--extension-order.--filter.--hot.--inspect.--inspect-brk.--inspect-wait.--install.--jsx-factory.--jsx-fragment.--jsx-import-source.--loader.--origin.--port.--preload.--smol.--tsconfig-override.-c.-e.-p.-r`.split(`.`)),Dt=new Set([`--cached-only`,`--cert`,`--config`,`--env-file`,`--ext`,`--harmony-import-attributes`,`--import-map`,`--inspect`,`--inspect-brk`,`--inspect-wait`,`--location`,`--log-level`,`--lock`,`--node-modules-dir`,`--no-check`,`--preload`,`--reload`,`--seed`,`--strace-ops`,`--unstable-bare-node-builtins`,`--v8-flags`,`--watch`,`--watch-exclude`,`-L`]);function B(e){return typeof e==`string`&&e.trim()||null}function Ot(e){let t=M.resolve(e),n=[],r=t;for(;;){n.unshift(r);let e=M.dirname(r);if(e===r)return n;r=e}}function kt(e){try{return j.accessSync(e,j.constants.W_OK),!0}catch{return!1}}function At(e){for(let t of Ot(e))try{if(!j.lstatSync(t).isSymbolicLink())continue;if(kt(M.dirname(t)))return!0}catch{return!0}return!1}function jt(e){return e.shellCommand===null?(e.wrapperChain?.length??0)===0:!1}function V(e){return P.createHash(`sha256`).update(j.readFileSync(e)).digest(`hex`)}function Mt(e){return e.startsWith(`.`)||e.startsWith(`/`)||e.startsWith(`\\`)||e.includes(`/`)||e.includes(`\\`)||M.extname(e).length>0}function H(e,t){if(!e)return!1;try{return j.statSync(M.resolve(t??process.cwd(),e)).isFile()}catch{return!1}}function U(e){let t=e,n=0;for(;;){let e=v(t);if(e.kind===`unwrapped`){n+=t.length-e.argv.length,t=e.argv;continue}let r=x(t);if(r.kind===`unwrapped`){n+=t.length-r.argv.length,t=r.argv;continue}return{argv:t,baseIndex:n}}}function Nt(e){if(S(e,g,{allowCombinedC:!0}).valueTokenIndex!==null)return null;let t=!1;for(let n=1;n<e.length;n+=1){let r=e[n]?.trim()??``;if(r){if(r===`-`)return null;if(!t&&r===`--`){t=!0;continue}if(!t&&r===`-s`)return null;if(!(!t&&r.startsWith(`-`)))return n}}return null}function W(e){let t=!1;for(let n=e.startIndex;n<e.argv.length;n+=1){let r=e.argv[n]?.trim()??``;if(r){if(t)return H(r,e.cwd)?n:null;if(r===`--`){t=!0;continue}if(r===`-`)return null;if(r.startsWith(`-`)){!r.includes(`=`)&&e.optionsWithValue?.has(r)&&(n+=1);continue}return H(r,e.cwd)?n:null}}return null}function Pt(e){let t=!1;for(let n=e.startIndex;n<e.argv.length;n+=1){let r=e.argv[n]?.trim()??``;if(r){if(t)return n;if(r===`--`){t=!0;continue}if(r===`-`)return null;if(r.startsWith(`-`)){!r.includes(`=`)&&e.optionsWithValue?.has(r)&&(n+=1);continue}return n}}return null}function Ft(e){let t=!1,n=[];for(let r=e.startIndex;r<e.argv.length;r+=1){let i=e.argv[r]?.trim()??``;if(i){if(t){H(i,e.cwd)&&n.push(r);continue}if(i===`--`){t=!0;continue}if(i===`-`)return[];i.startsWith(`-`)||H(i,e.cwd)&&n.push(r)}}return n}function It(e){let t=Ft({argv:e.argv,startIndex:1,cwd:e.cwd});return t.length===1?t[0]:null}function Lt(e){let t=Pt({argv:e.argv,startIndex:1,optionsWithValue:z});if(t===null)return null;let n=e.argv[t]?.trim()??``;return n===`run`?W({argv:e.argv,startIndex:t+1,cwd:e.cwd,optionsWithValue:z}):Et.has(n)||!Mt(n)?null:t}function Rt(e){return(e.argv[1]?.trim()??``)===`run`?W({argv:e.argv,startIndex:2,cwd:e.cwd,optionsWithValue:Dt}):null}function G(e){return Tt.has(e)||de(e)}function zt(e,t){let n=U(e),r=_(n.argv[0]??``);if(!r)return null;if(c.has(r)){let e=Nt(n.argv);return e===null?null:n.baseIndex+e}if(wt.some(e=>e.test(r))){let e=n.argv[1]?.trim()??``;if(e&&e!==`-`&&!e.startsWith(`-`))return n.baseIndex+1}if(r===`bun`){let e=Lt({argv:n.argv,cwd:t});if(e!==null)return n.baseIndex+e}if(r===`deno`){let e=Rt({argv:n.argv,cwd:t});if(e!==null)return n.baseIndex+e}if(!G(r))return null;let i=It({argv:n.argv,cwd:t});return i===null?null:n.baseIndex+i}function Bt(e){if(e.shellCommand!==null)return!1;let t=_(U(e.argv).argv[0]??``);return!t||c.has(t)?!1:G(t)}function K(e){let t=zt(e.argv,e.cwd);if(t===null)return Bt({argv:e.argv,shellCommand:e.shellCommand})?{ok:!1,message:`SYSTEM_RUN_DENIED: approval cannot safely bind this interpreter/runtime command`}:{ok:!0,snapshot:null};let n=e.argv[t]?.trim();if(!n)return{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires a stable script operand`};let r=M.resolve(e.cwd??process.cwd(),n),i,a;try{i=j.realpathSync(r),a=j.statSync(i)}catch{return{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires an existing script operand`}}return a.isFile()?{ok:!0,snapshot:{argvIndex:t,path:i,sha256:V(i)}}:{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires a file script operand`}}function Vt(e){let t=M.resolve(e),n,r,i,a;try{n=j.lstatSync(t),r=j.statSync(t),i=j.realpathSync(t),a=j.statSync(i)}catch{return{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires an existing canonical cwd`}}return r.isDirectory()?At(t)?{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires canonical cwd (no symlink path components)`}:n.isSymbolicLink()?{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires canonical cwd (no symlink cwd)`}:!w(r,n)||!w(r,a)||!w(n,a)?{ok:!1,message:`SYSTEM_RUN_DENIED: approval cwd identity mismatch`}:{ok:!0,snapshot:{cwd:i,stat:r}}:{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires cwd to be a directory`}}function Ht(e){let t=Vt(e.snapshot.cwd);return t.ok?w(e.snapshot.stat,t.snapshot.stat):!1}function Ut(e){let t=e.argv[e.snapshot.argvIndex]?.trim();if(!t)return!1;let n=M.resolve(e.cwd??process.cwd(),t),r;try{r=j.realpathSync(n)}catch{return!1}if(r!==e.snapshot.path)return!1;try{return V(r)===e.snapshot.sha256}catch{return!1}}function Wt(e){if(!e.approvedByAsk)return{ok:!0,argv:e.argv,argvChanged:!1,cwd:e.cwd,approvedCwdSnapshot:void 0};let t=e.cwd,n;if(t){let e=Vt(t);if(!e.ok)return e;t=e.snapshot.cwd,n=e.snapshot}if(e.argv.length===0)return{ok:!0,argv:e.argv,argvChanged:!1,cwd:t,approvedCwdSnapshot:n};let r=d(e.argv,t);if(!jt({shellCommand:e.shellCommand,wrapperChain:r?.wrapperChain}))return{ok:!0,argv:e.argv,argvChanged:!1,cwd:t,approvedCwdSnapshot:n};let i=r?.resolvedRealPath??r?.resolvedPath;if(!i)return{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires a stable executable path`};if(i===e.argv[0])return{ok:!0,argv:e.argv,argvChanged:!1,cwd:t,approvedCwdSnapshot:n};let a=[...e.argv];return a[0]=i,{ok:!0,argv:a,argvChanged:!0,cwd:t,approvedCwdSnapshot:n}}function Gt(e){let t=we({command:e.command,rawCommand:e.rawCommand});if(!t.ok)return{ok:!1,message:t.message};if(t.argv.length===0)return{ok:!1,message:`command required`};let n=Wt({approvedByAsk:!0,argv:t.argv,shellCommand:t.shellPayload,cwd:B(e.cwd)??void 0});if(!n.ok)return{ok:!1,message:n.message};let r=Ee(n.argv),i=t.previewText?.trim()&&t.previewText.trim()!==r?t.previewText.trim():null,a=K({argv:n.argv,cwd:n.cwd,shellCommand:t.shellPayload});return a.ok?{ok:!0,plan:{argv:n.argv,cwd:n.cwd??null,commandText:r,commandPreview:i,agentId:B(e.agentId),sessionKey:B(e.sessionKey),mutableFileOperand:a.snapshot??void 0}}:{ok:!1,message:a.message}}const Kt=new Set,qt=`SYSTEM_RUN_DENIED: approval cwd changed before execution`;function Jt(e){Kt.has(e)||(Kt.add(e),E(e))}function Yt(e){switch(e){case`security=deny`:case`approval-required`:case`allowlist-miss`:case`execution-plan-miss`:case`companion-unavailable`:case`permission:screenRecording`:return e;default:return`approval-required`}}async function q(e,t,n){await e.sendNodeEvent(e.client,`exec.denied`,e.buildExecEventPayload({sessionKey:t.sessionKey,runId:t.runId,host:`node`,command:t.commandText,reason:n.reason,suppressNotifyOnExit:t.suppressNotifyOnExit})),await e.sendInvokeResult({ok:!1,error:{code:`UNAVAILABLE`,message:n.message}})}async function Xt(e){let t=we({command:e.params.command,rawCommand:e.params.rawCommand});if(!t.ok)return await e.sendInvokeResult({ok:!1,error:{code:`INVALID_REQUEST`,message:t.message}}),null;if(t.argv.length===0)return await e.sendInvokeResult({ok:!1,error:{code:`INVALID_REQUEST`,message:`command required`}}),null;let n=t.shellPayload,r=t.commandText,i=e.params.systemRunPlan===void 0?null:Te(e.params.systemRunPlan);if(e.params.systemRunPlan!==void 0&&!i)return await e.sendInvokeResult({ok:!1,error:{code:`INVALID_REQUEST`,message:`systemRunPlan invalid`}}),null;let a=e.params.agentId?.trim()||void 0,o=e.params.sessionKey?.trim()||`node`,s=e.params.runId?.trim()||P.randomUUID(),c=e.params.suppressNotifyOnExit===!0,l=te({overrides:e.params.env??void 0,shellWrapper:n!==null});return{argv:t.argv,shellPayload:n,commandText:r,commandPreview:t.previewText,approvalPlan:i,agentId:a,sessionKey:o,runId:s,execution:{sessionKey:o,runId:s,commandText:r,suppressNotifyOnExit:c},approvalDecision:_t(e.params.approvalDecision),envOverrides:l,env:e.sanitizeEnv(l),cwd:e.params.cwd?.trim()||void 0,timeoutMs:e.params.timeoutMs??void 0,needsScreenRecording:e.params.needsScreenRecording===!0,approved:e.params.approved===!0,suppressNotifyOnExit:c}}async function Zt(e,t){let n=b(),r=t.agentId?ee(n,t.agentId)?.tools?.exec:void 0,i=e.resolveExecSecurity(r?.security??n.tools?.exec?.security),a=e.resolveExecAsk(r?.ask??n.tools?.exec?.ask),o=_e(t.agentId,{security:i,ask:a}),s=o.agent.security,c=o.agent.ask,l=o.agent.autoAllowSkills,{safeBins:u,safeBinProfiles:d,trustedSafeBinDirs:f}=ue({global:n.tools?.exec,local:r,onWarning:Jt}),p=l?await e.skillBins.current():[],{analysisOk:m,allowlistMatches:h,allowlistSatisfied:g,segments:_}=bt({shellCommand:t.shellPayload,argv:t.argv,approvals:o,security:s,safeBins:u,safeBinProfiles:d,trustedSafeBinDirs:f,cwd:t.cwd,env:t.env,skillBins:p,autoAllowSkills:l}),v=process.platform===`win32`,y=t.shellPayload?e.isCmdExeInvocation(_[0]?.argv??[]):e.isCmdExeInvocation(t.argv),x=yt({security:s,ask:c,analysisOk:m,allowlistSatisfied:g,approvalDecision:t.approvalDecision,approved:t.approved,isWindows:v,cmdInvocation:y,shellWrapperInvocation:t.shellPayload!==null});if(m=x.analysisOk,g=x.allowlistSatisfied,!x.allowed)return await q(e,t.execution,{reason:x.eventReason,message:x.errorMessage}),null;if(s===`allowlist`&&t.shellPayload&&!x.approvedByAsk)return await q(e,t.execution,{reason:`approval-required`,message:`SYSTEM_RUN_DENIED: approval required`}),null;let S=Wt({approvedByAsk:x.approvedByAsk,argv:t.argv,shellCommand:t.shellPayload,cwd:t.cwd});if(!S.ok)return await q(e,t.execution,{reason:`approval-required`,message:S.message}),null;let C=x.approvedByAsk?S.approvedCwdSnapshot:void 0;if(x.approvedByAsk&&S.cwd&&!C)return await q(e,t.execution,{reason:`approval-required`,message:qt}),null;let w=xt({security:s,shellCommand:t.shellPayload,policy:x,segments:_});return w===null?(await q(e,t.execution,{reason:`execution-plan-miss`,message:`SYSTEM_RUN_DENIED: execution plan mismatch`}),null):{...t,argv:S.argv,cwd:S.cwd,approvals:o,security:s,policy:x,allowlistMatches:h,analysisOk:m,allowlistSatisfied:g,segments:_,plannedAllowlistArgv:w??void 0,isWindows:v,approvedCwdSnapshot:C}}async function Qt(e,t){if(t.approvedCwdSnapshot&&!Ht({snapshot:t.approvedCwdSnapshot})){E(`security: system.run approval cwd drift blocked (runId=${t.runId})`),await q(e,t.execution,{reason:`approval-required`,message:qt});return}let n=t.approvalPlan?K({argv:t.argv,cwd:t.cwd,shellCommand:t.shellPayload}):null;if(n&&!n.ok){E(`security: system.run approval script binding blocked (runId=${t.runId})`),await q(e,t.execution,{reason:`approval-required`,message:n.message});return}if(n?.snapshot&&!t.approvalPlan?.mutableFileOperand){E(`security: system.run approval script binding missing (runId=${t.runId})`),await q(e,t.execution,{reason:`approval-required`,message:`SYSTEM_RUN_DENIED: approval missing script operand binding`});return}if(t.approvalPlan?.mutableFileOperand&&!Ut({snapshot:t.approvalPlan.mutableFileOperand,argv:t.argv,cwd:t.cwd})){E(`security: system.run approval script drift blocked (runId=${t.runId})`),await q(e,t.execution,{reason:`approval-required`,message:`SYSTEM_RUN_DENIED: approval script operand changed before execution`});return}if(e.preferMacAppExecHost){let n={command:t.plannedAllowlistArgv??t.argv,rawCommand:t.commandText||null,cwd:t.cwd??null,env:t.envOverrides??null,timeoutMs:t.timeoutMs??null,needsScreenRecording:t.needsScreenRecording,agentId:t.agentId??null,sessionKey:t.sessionKey??null,approvalDecision:t.approvalDecision},r=await e.runViaMacAppExecHost({approvals:t.approvals,request:n});if(!r){if(e.execHostEnforced||!e.execHostFallbackAllowed){await q(e,t.execution,{reason:`companion-unavailable`,message:`COMPANION_APP_UNAVAILABLE: macOS app exec host unreachable`});return}}else if(r.ok){let n=r.payload;await e.sendExecFinishedEvent({sessionKey:t.sessionKey,runId:t.runId,commandText:t.commandText,result:n,suppressNotifyOnExit:t.suppressNotifyOnExit}),await e.sendInvokeResult({ok:!0,payloadJSON:JSON.stringify(n)});return}else{await q(e,t.execution,{reason:Yt(r.error.reason),message:r.error.message});return}}if(t.policy.approvalDecision===`allow-always`&&t.security===`allowlist`&&t.policy.analysisOk){let e=ce({segments:t.segments,cwd:t.cwd,env:t.env,platform:process.platform});for(let n of e)n&&ye(t.approvals.file,t.agentId,n)}if(t.allowlistMatches.length>0){let e=new Set;for(let n of t.allowlistMatches)!n?.pattern||e.has(n.pattern)||(e.add(n.pattern),xe(t.approvals.file,t.agentId,n,t.commandText,t.segments[0]?.resolution?.resolvedPath))}if(t.needsScreenRecording){await q(e,t.execution,{reason:`permission:screenRecording`,message:`PERMISSION_MISSING: screenRecording`});return}let r=St({plannedAllowlistArgv:t.plannedAllowlistArgv,argv:t.argv,security:t.security,isWindows:t.isWindows,policy:t.policy,shellCommand:t.shellPayload,segments:t.segments}),i=await e.runCommand(r,t.cwd,t.env,t.timeoutMs);Ct(i),await e.sendExecFinishedEvent({sessionKey:t.sessionKey,runId:t.runId,commandText:t.commandText,result:i,suppressNotifyOnExit:t.suppressNotifyOnExit}),await e.sendInvokeResult({ok:!0,payloadJSON:JSON.stringify({exitCode:i.exitCode,timedOut:i.timedOut,success:i.success,stdout:i.stdout,stderr:i.stderr,error:i.error??null})})}async function $t(e){let t=await Xt(e);if(!t)return;let n=await Zt(e,t);n&&await Qt(e,n)}const en=2e5,tn={65001:`utf-8`,54936:`gb18030`,936:`gbk`,950:`big5`,932:`shift_jis`,949:`euc-kr`,1252:`windows-1252`};let J;const nn=process.env.OPENCLAW_NODE_EXEC_HOST?.trim().toLowerCase()===`app`,rn=process.env.OPENCLAW_NODE_EXEC_FALLBACK?.trim().toLowerCase()!==`0`,an=process.platform===`darwin`&&nn;function on(e){return e===`deny`||e===`allowlist`||e===`full`?e:`allowlist`}function sn(e){let t=e[0]?.trim();if(!t)return!1;let n=M.win32.basename(t).toLowerCase();return n===`cmd.exe`||n===`cmd`}function cn(e){return e===`off`||e===`on-miss`||e===`always`?e:`on-miss`}function ln(e){return ne({overrides:e,blockPathOverrides:!0})}function un(e,t){return e.length<=t?{text:e,truncated:!1}:{text:`... (truncated) ${e.slice(e.length-t)}`,truncated:!0}}function dn(e){if(!e)return null;let t=e.match(/\b(\d{3,5})\b/);if(!t?.[1])return null;let n=Number.parseInt(t[1],10);return!Number.isFinite(n)||n<=0?null:n}function fn(){if(process.platform!==`win32`)return null;if(J!==void 0)return J;try{let e=$e(`cmd.exe`,[`/d`,`/s`,`/c`,`chcp`],{windowsHide:!0,encoding:`utf8`,stdio:[`ignore`,`pipe`,`pipe`]}),t=dn(`${e.stdout??``}\n${e.stderr??``}`);J=t===null?null:tn[t]??null}catch{J=null}return J}function pn(e){let t=e.buffer.toString(`utf8`);if((e.platform??process.platform)!==`win32`)return t;let n=e.windowsEncoding??fn();if(!n||n.toLowerCase()===`utf-8`)return t;try{return new TextDecoder(n).decode(e.buffer)}catch{return t}}function mn(e){let t=e.socket?.path?.trim();return{...e,socket:t?{path:t}:void 0}}function hn(e,t){if(!t.exists)return;if(!t.hash)throw Error(`INVALID_REQUEST: exec approvals base hash unavailable; reload and retry`);let n=typeof e.baseHash==`string`?e.baseHash.trim():``;if(!n)throw Error(`INVALID_REQUEST: exec approvals base hash required; reload and retry`);if(n!==t.hash)throw Error(`INVALID_REQUEST: exec approvals changed; reload and retry`)}async function gn(e,t,n,r){return await new Promise(i=>{let a=[],o=[],s=0,c=!1,l=!1,u=!1,d=fn(),f=Qe(e[0],e.slice(1),{cwd:t,env:n,stdio:[`ignore`,`pipe`,`pipe`],windowsHide:!0}),p=(e,t)=>{if(s>=en){c=!0;return}let n=en-s,r=e.length>n?e.subarray(0,n):e;s+=r.length,t===`stdout`?a.push(r):o.push(r),e.length>n&&(c=!0)};f.stdout?.on(`data`,e=>p(e,`stdout`)),f.stderr?.on(`data`,e=>p(e,`stderr`));let m;r&&r>0&&(m=setTimeout(()=>{l=!0;try{f.kill(`SIGKILL`)}catch{}},r));let h=(e,t)=>{if(u)return;u=!0,m&&clearTimeout(m);let n=pn({buffer:Buffer.concat(a),windowsEncoding:d}),r=pn({buffer:Buffer.concat(o),windowsEncoding:d});i({exitCode:e,timedOut:l,success:e===0&&!l&&!t,stdout:n,stderr:r,error:t??null,truncated:c})};f.on(`error`,e=>{h(void 0,e.message)}),f.on(`exit`,e=>{h(e===null?void 0:e,null)})})}function _n(e){return(e?.PATH??e?.Path??process.env.PATH??process.env.Path??`/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin`).split(M.delimiter).filter(Boolean)}function vn(e,t){if(e.includes(`/`)||e.includes(`\\`))return null;let n=process.platform===`win32`?(process.env.PATHEXT??process.env.PathExt??`.EXE;.CMD;.BAT;.COM`).split(`;`).map(e=>e.toLowerCase()):[``];for(let r of _n(t))for(let t of n){let n=M.join(r,e+t);if(j.existsSync(n))return n}return null}async function yn(e,t){let n=e.bins.map(e=>e.trim()).filter(Boolean),r={};for(let e of n){let n=vn(e,t);n&&(r[e]=n)}return{bins:r}}function bn(e){if(!e.output)return e;let t=e.output.trim();if(!t)return e;let{text:n}=un(t,2e4);return{...e,output:n}}async function xn(e){let t=[e.result.stdout,e.result.stderr,e.result.error].filter(Boolean).join(`
|
|
2
2
|
`);await Dn(e.client,`exec.finished`,bn({sessionKey:e.sessionKey,runId:e.runId,host:`node`,command:e.commandText,exitCode:e.result.exitCode??void 0,timedOut:e.result.timedOut,success:e.result.success,output:t,suppressNotifyOnExit:e.suppressNotifyOnExit}))}async function Sn(e){let{approvals:t,request:n}=e;return await rt({socketPath:t.socketPath,token:t.token,request:n})}async function Y(e,t,n){await $(e,t,{ok:!0,payloadJSON:JSON.stringify(n)})}async function Cn(e,t,n){await $(e,t,{ok:!0,payloadJSON:n})}async function X(e,t,n,r){await $(e,t,{ok:!1,error:{code:n,message:r}})}async function Z(e,t,n){await X(e,t,`INVALID_REQUEST`,String(n))}async function wn(e,t,n){let r=String(e.command??``);if(r===`system.execApprovals.get`){try{Se();let n=O();await Y(t,e,{path:n.path,exists:n.exists,hash:n.hash,file:mn(n.file)})}catch(n){let r=String(n);await X(t,e,r.toLowerCase().includes(`timed out`)?`TIMEOUT`:`INVALID_REQUEST`,r)}return}if(r===`system.execApprovals.set`){try{let n=Q(e.paramsJSON);if(!n.file||typeof n.file!=`object`)throw Error(`INVALID_REQUEST: exec approvals file required`);Se();let r=O();hn(n,r),he(be({normalized:ge(n.file),current:r.file}));let i=O();await Y(t,e,{path:i.path,exists:i.exists,hash:i.hash,file:mn(i.file)})}catch(n){await Z(t,e,n)}return}if(r===`system.which`){try{let n=Q(e.paramsJSON);if(!Array.isArray(n.bins))throw Error(`INVALID_REQUEST: bins required`);await Y(t,e,await yn(n,ln(void 0)))}catch(n){await Z(t,e,n)}return}if(r===`browser.proxy`){try{await Cn(t,e,await gt(e.paramsJSON))}catch(n){await Z(t,e,n)}return}if(r===`system.run.prepare`){try{let n=Gt(Q(e.paramsJSON));if(!n.ok){await X(t,e,`INVALID_REQUEST`,n.message);return}await Y(t,e,{plan:n.plan})}catch(n){await Z(t,e,n)}return}if(r!==`system.run`){await X(t,e,`UNAVAILABLE`,`command not supported`);return}let i;try{i=Q(e.paramsJSON)}catch(n){await Z(t,e,n);return}if(!Array.isArray(i.command)||i.command.length===0){await X(t,e,`INVALID_REQUEST`,`command required`);return}await $t({client:t,params:i,skillBins:n,execHostEnforced:nn,execHostFallbackAllowed:rn,resolveExecSecurity:on,resolveExecAsk:cn,isCmdExeInvocation:sn,sanitizeEnv:ln,runCommand:gn,runViaMacAppExecHost:Sn,sendNodeEvent:Dn,buildExecEventPayload:bn,sendInvokeResult:async n=>{await $(t,e,n)},sendExecFinishedEvent:async({sessionKey:e,runId:n,commandText:r,result:i})=>{await xn({client:t,sessionKey:e,runId:n,commandText:r,result:i})},preferMacAppExecHost:an})}function Q(e){if(!e)throw Error(`INVALID_REQUEST: paramsJSON required`);return JSON.parse(e)}function Tn(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.id==`string`?t.id.trim():``,r=typeof t.nodeId==`string`?t.nodeId.trim():``,i=typeof t.command==`string`?t.command.trim():``;return!n||!r||!i?null:{id:n,nodeId:r,command:i,paramsJSON:typeof t.paramsJSON==`string`?t.paramsJSON:t.params===void 0?null:JSON.stringify(t.params),timeoutMs:typeof t.timeoutMs==`number`?t.timeoutMs:null,idempotencyKey:typeof t.idempotencyKey==`string`?t.idempotencyKey:null}}async function $(e,t,n){try{await e.request(`node.invoke.result`,En(t,n))}catch{}}function En(e,t){let n={id:e.id,nodeId:e.nodeId,ok:t.ok};return t.payload!==void 0&&(n.payload=t.payload),typeof t.payloadJSON==`string`&&(n.payloadJSON=t.payloadJSON),t.error&&(n.error=t.error),n}async function Dn(e,t,n){try{await e.request(`node.event`,{event:t,payloadJSON:n?JSON.stringify(n):null})}catch{}}const On=`/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin`;function kn(e,t){return e.includes(`/`)||e.includes(`\\`)?null:m(e,t)??null}function An(e,t){let n=[],r=new Set;for(let i of e){let e=i.trim();if(!e)continue;let a=kn(e,t);if(!a)continue;let o=`${e}\u0000${a}`;r.has(o)||(r.add(o),n.push({name:e,resolvedPath:a}))}return n.toSorted((e,t)=>e.name.localeCompare(t.name)||e.resolvedPath.localeCompare(t.resolvedPath))}var jn=class{constructor(e,t){this.bins=[],this.lastRefresh=0,this.ttlMs=9e4,this.fetch=e,this.pathEnv=t}async current(e=!1){return(e||Date.now()-this.lastRefresh>this.ttlMs)&&await this.refresh(),this.bins}async refresh(){try{this.bins=An(await this.fetch(),this.pathEnv),this.lastRefresh=Date.now()}catch{this.lastRefresh||(this.bins=[])}}};function Mn(){je({pathEnv:process.env.PATH??``});let e=process.env.PATH??``;return e.trim()?e:(process.env.PATH=On,On)}async function Nn(e){return await fe({config:(e.config.gateway?.mode===`remote`?`remote`:`local`)==`local`?Pn(e.config):e.config,env:e.env,includeLegacyEnv:!1,localTokenPrecedence:`env-first`,localPasswordPrecedence:`env-first`,remoteTokenPrecedence:`env-first`,remotePasswordPrecedence:`env-first`})}function Pn(e){if(!e.gateway?.remote?.token&&!e.gateway?.remote?.password)return e;let t=structuredClone(e);return t.gateway?.remote&&(t.gateway.remote.token=void 0,t.gateway.remote.password=void 0),t}async function Fn(e){let t=await nt(),n=e.nodeId?.trim()||t.nodeId;n!==t.nodeId&&(t.nodeId=n);let r=e.displayName?.trim()||t.displayName||await oe();t.displayName=r;let i={host:e.gatewayHost,port:e.gatewayPort,tls:e.gatewayTls??b().gateway?.tls?.enabled??!1,tlsFingerprint:e.gatewayTlsFingerprint};t.gateway=i,await tt(t);let a=b(),o=y(a.browser,a),c=a.nodeHost?.browserProxy?.enabled!==!1&&o.enabled,{token:u,password:d}=await Nn({config:a,env:process.env}),f=i.host??`127.0.0.1`,p=i.port??18789,m=`${i.tls?`wss`:`ws`}://${f}:${p}`,h=Mn();console.log(`node host PATH: ${h}`);let g=new ae({url:m,token:u||void 0,password:d||void 0,instanceId:n,clientName:l.NODE_HOST,clientDisplayName:r,clientVersion:s,platform:process.platform,mode:C.NODE,role:`node`,scopes:[],caps:[`system`,...c?[`browser`]:[]],commands:[...Ye,...Xe,...c?[Ze]:[]],pathEnv:h,permissions:void 0,deviceIdentity:ie(),tlsFingerprint:i.tlsFingerprint,onEvent:e=>{if(e.event!==`node.invoke.request`)return;let t=Tn(e.payload);t&&wn(t,g,_)},onConnectError:e=>{console.error(`node host gateway connect failed: ${e.message}`)},onClose:(e,t)=>{console.error(`node host gateway closed (${e}): ${t}`)}}),_=new jn(async()=>{let e=await g.request(`skills.bins`,{});return Array.isArray(e?.bins)?e.bins.map(e=>String(e)):[]},h);g.start(),await new Promise(()=>{})}async function In(e){let{devMode:t,nodePath:n}=await Ne({env:e.env,runtime:e.runtime,devMode:e.devMode,nodePath:e.nodePath}),{programArguments:r,workingDirectory:i}=await Pe({host:e.host,port:e.port,tls:e.tls,tlsFingerprint:e.tlsFingerprint,nodeId:e.nodeId,displayName:e.displayName,dev:t,runtime:e.runtime,nodePath:n});await Fe({env:e.env,runtime:e.runtime,programArguments:r,warn:e.warn,title:`Node daemon runtime`});let a=Me({env:e.env});return{programArguments:r,workingDirectory:i,environment:a,description:ke({version:a.OPENCLAW_SERVICE_VERSION})}}const Ln=Le;function Rn(e){return Ie(e)}function zn(){return Ke({installCommand:T(`openclaw node install`),startCommand:T(`openclaw node start`),launchAgentPlistPath:`~/Library/LaunchAgents/${Oe()}.plist`,systemdServiceName:De(),windowsTaskName:Ae()})}function Bn(e=process.env){return Ge({env:e,systemdServiceName:De(),windowsTaskName:Ae()})}function Vn(e,t){let n=e.host?.trim()||t?.gateway?.host||`127.0.0.1`,r=Je(e.port);return e.port!==void 0&&r===null?{host:n,port:null}:{host:n,port:r??t?.gateway?.port??18789}}async function Hn(t){let n=!!t.json,{stdout:r,warnings:a,emit:o,fail:s}=Ve({action:`install`,json:n});if(e(process.env)){s(`Nix mode detected; service install is disabled.`);return}let c=await I(),{host:l,port:u}=Vn(t,c);if(!Number.isFinite(u??NaN)||(u??0)<=0){s(`Invalid port`);return}let d=t.runtime?String(t.runtime):Ln;if(!Rn(d)){s(`Invalid --runtime (use "node" or "bun")`);return}let f=A(),p=!1;try{p=await f.isLoaded({env:process.env})}catch(e){s(`Node service check failed: ${String(e)}`);return}if(p&&!t.force){o({ok:!0,result:`already-installed`,message:`Node service already ${f.loadedText}.`,service:k(f,p),warnings:a.length?a:void 0}),n||(i.log(`Node service already ${f.loadedText}.`),i.log(`Reinstall with: ${T(`openclaw node install --force`)}`));return}let m=t.tlsFingerprint?.trim()||c?.gateway?.tlsFingerprint,h=!!t.tls||!!m||!!c?.gateway?.tls,{programArguments:g,workingDirectory:_,environment:v,description:y}=await In({env:process.env,host:l,port:u??18789,tls:h,tlsFingerprint:m||void 0,nodeId:t.nodeId,displayName:t.displayName,runtime:d,warn:e=>{n?a.push(e):i.log(e)}});await Be({serviceNoun:`Node`,service:f,warnings:a,emit:o,fail:s,install:async()=>{await f.install({env:process.env,stdout:r,programArguments:g,workingDirectory:_,environment:v,description:y})}})}async function Un(e={}){return await He({serviceNoun:`Node`,service:A(),opts:e,stopBeforeUninstall:!1,assertNotLoadedAfterUninstall:!1})}async function Wn(e={}){await We({serviceNoun:`Node`,service:A(),renderStartHints:zn,opts:e})}async function Gn(e={}){return await Ue({serviceNoun:`Node`,service:A(),opts:e})}async function Kn(e={}){let t=!!e.json,n=A(),[a,o,s]=await Promise.all([n.isLoaded({env:process.env}).catch(()=>!1),n.readCommand(process.env).catch(()=>null),n.readRuntime(process.env).catch(e=>({status:`unknown`,detail:String(e)}))]),c={service:{...k(n,a),command:o,runtime:s}};if(t){i.log(JSON.stringify(c,null,2));return}let{rich:l,label:u,accent:d,infoText:f,okText:p,warnText:m,errorText:h}=Re(),g=a?p(n.loadedText):m(n.notLoadedText);i.log(`${u(`Service:`)} ${d(n.label)} (${g})`),o?.programArguments?.length&&i.log(`${u(`Command:`)} ${f(o.programArguments.join(` `))}`),o?.sourcePath&&i.log(`${u(`Service file:`)} ${f(o.sourcePath)}`),o?.workingDirectory&&i.log(`${u(`Working dir:`)} ${f(o.workingDirectory)}`);let _=qe(s);if(_){let e=ze(s?.status);i.log(`${u(`Runtime:`)} ${r(l,e,_)}`)}if(!a){i.log(``);for(let e of zn())i.log(`${m(`Start with:`)} ${f(e)}`);return}let v={...process.env,...o?.environment??void 0},y={...v,OPENCLAW_LOG_PREFIX:v.OPENCLAW_LOG_PREFIX??`node`};if(s?.missingUnit){i.error(h(`Service unit not found.`));for(let e of Bn(y))i.error(h(e));return}if(s?.status===`stopped`){i.error(h(`Service is loaded but not running.`));for(let e of Bn(y))i.error(h(e))}}function qn(e,t){return Je(e)??t}function Jn(e){let t=e.command(`node`).description(`Run and manage the headless node host service`).addHelpText(`after`,()=>`\n${n.heading(`Examples:`)}\n${me([[`openclaw node run --host 127.0.0.1 --port 18789`,`Run the node host in the foreground.`],[`openclaw node status`,`Check node host service status.`],[`openclaw node install`,`Install the node host service.`],[`openclaw node restart`,`Restart the installed node host service.`]])}\n\n${n.muted(`Docs:`)} ${pe(`/cli/node`,`docs.openclaw.ai/cli/node`)}\n`);t.command(`run`).description(`Run the headless node host (foreground)`).option(`--host <host>`,`Gateway host`).option(`--port <port>`,`Gateway port`).option(`--tls`,`Use TLS for the gateway connection`,!1).option(`--tls-fingerprint <sha256>`,`Expected TLS certificate fingerprint (sha256)`).option(`--node-id <id>`,`Override node id (clears pairing token)`).option(`--display-name <name>`,`Override node display name`).action(async e=>{let t=await I();await Fn({gatewayHost:e.host?.trim()||t?.gateway?.host||`127.0.0.1`,gatewayPort:qn(e.port,t?.gateway?.port??18789),gatewayTls:!!e.tls||!!e.tlsFingerprint,gatewayTlsFingerprint:e.tlsFingerprint,nodeId:e.nodeId,displayName:e.displayName})}),t.command(`status`).description(`Show node host status`).option(`--json`,`Output JSON`,!1).action(async e=>{await Kn(e)}),t.command(`install`).description(`Install the node host service (launchd/systemd/schtasks)`).option(`--host <host>`,`Gateway host`).option(`--port <port>`,`Gateway port`).option(`--tls`,`Use TLS for the gateway connection`,!1).option(`--tls-fingerprint <sha256>`,`Expected TLS certificate fingerprint (sha256)`).option(`--node-id <id>`,`Override node id (clears pairing token)`).option(`--display-name <name>`,`Override node display name`).option(`--runtime <runtime>`,`Service runtime (node|bun). Default: node`).option(`--force`,`Reinstall/overwrite if already installed`,!1).option(`--json`,`Output JSON`,!1).action(async e=>{await Hn(e)}),t.command(`uninstall`).description(`Uninstall the node host service (launchd/systemd/schtasks)`).option(`--json`,`Output JSON`,!1).action(async e=>{await Un(e)}),t.command(`stop`).description(`Stop the node host service (launchd/systemd/schtasks)`).option(`--json`,`Output JSON`,!1).action(async e=>{await Gn(e)}),t.command(`restart`).description(`Restart the node host service (launchd/systemd/schtasks)`).option(`--json`,`Output JSON`,!1).action(async e=>{await Wn(e)})}export{Jn as registerNodeCli};
|
|
3
|
-
//# sourceMappingURL=node-cli-Bzu1efMB.js.map
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import{A as e,O as t,p as n}from"./subsystem-BLbY429l.js";import{d as r,g as i}from"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Fs as a,Gs as o,Lr as s,Ns as c,Os as l,Ps as u,Qr as d,Rr as f,Us as p,Vs as m,Ws as h,br as g,jo as _,lr as v,qs as y,ur as b,ws as x,zr as S}from"./auth-profiles-C8rZRS0X.js";import{t as C}from"./command-format-CLxIPuLR.js";import{i as ee}from"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import{s as w}from"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import{S as te,x as ne}from"./env-overrides-DHtB4kK3.js";import{t as re}from"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-Bz_S4lPh.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import{i as T}from"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import{r as ie}from"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import{n as ae,t as oe}from"./with-timeout-c1CzdShT.js";import{n as se,r as ce,t as le}from"./exec-approvals-allowlist-CGjRWREs.js";import{r as ue,t as de}from"./exec-safe-bin-runtime-policy-v44u39fl.js";import{dn as fe,g as pe}from"./call-BWx7hNtl.js";import{_ as me,g as he,l as ge,v as _e}from"./arg-split-BOqSMBuf.js";import{n as E,o as ve,t as ye}from"./system-run-command-DsWBVvSK.js";import{t as be}from"./connection-auth-CjaeEu5D.js";import{t as xe}from"./links-CBnmRP9D.js";import{t as Se}from"./help-format-B4aEI7V9.js";import{_ as Ce,c as we,f as D,h as Te,m as Ee,n as De,o as Oe,p as ke,r as Ae,v as je}from"./exec-approvals-BXO9Cezj.js";import{t as Me}from"./path-env-emdAQejM.js";import"./issue-format-CN9PHzXY.js";import{l as Ne,n as Pe,p as Fe,t as Ie}from"./daemon-install-plan.shared-Dx3DBXCG.js";import"./runtime-guard-DX2Ie4ri.js";import{r as Le,t as Re}from"./daemon-runtime-VcpeBRJV.js";import"./systemd-DbevZh65.js";import"./service-DZ9EbS15.js";import{a as ze,f as Be,g as Ve,h as He,i as Ue,m as We,r as Ge,t as Ke}from"./lifecycle-core-D_LWJeD_.js";import{c as qe,l as Je,u as Ye}from"./systemd-hints-lXpMy-kY.js";import{t as Xe}from"./parse-port-JVwkxcZ8.js";import{i as Ze,n as Qe,t as $e}from"./node-commands-DdkziOTx.js";import{t as O}from"./node-service-C0bl7jcZ.js";import{spawn as et,spawnSync as tt}from"node:child_process";import k from"node:path";import A from"node:fs";import j from"node:fs/promises";import M from"node:crypto";function nt(){return k.join(i(),`node.json`)}function N(e){let t={version:1,nodeId:``,token:e?.token,displayName:e?.displayName,gateway:e?.gateway};return e?.version===1&&typeof e.nodeId==`string`&&(t.nodeId=e.nodeId.trim()),t.nodeId||=M.randomUUID(),t}async function P(){let e=nt();try{let t=await j.readFile(e,`utf8`);return N(JSON.parse(t))}catch{return null}}async function rt(e){await g(nt(),e,{mode:384})}async function it(){let e=N(await P());return await rt(e),e}async function at(e){let{socketPath:t,token:n,request:r}=e;if(!t||!n)return null;let i=e.timeoutMs??2e4,a=JSON.stringify(r),o=M.randomBytes(16).toString(`hex`),s=Date.now(),c=M.createHmac(`sha256`,n).update(`${o}:${s}:${a}`).digest(`hex`);return await je({socketPath:t,payload:JSON.stringify({type:`exec`,id:M.randomUUID(),nonce:o,ts:s,hmac:c,requestJson:a}),timeoutMs:i,accept:e=>{let t=e;if(t?.type===`exec-res`)return t.ok===!0&&t.payload?{ok:!0,payload:t.payload}:t.ok===!1&&t.error?{ok:!1,error:t.error}:null}})}const ot=10*1024*1024;function st(e){return Array.isArray(e)?e.map(e=>e.trim()).filter(Boolean):[]}function ct(){let e=_().nodeHost?.browserProxy,t=st(e?.allowProfiles);return{enabled:e?.enabled!==!1,allowProfiles:t}}let F=null;async function lt(){return F||(F=(async()=>{let e=_();if(!d(e.browser,e).enabled||!await S())throw Error(`browser control disabled`)})(),F)}function I(e){let{allowProfiles:t,profile:n}=e;return t.length?n?t.includes(n.trim()):!1:!0}function ut(e){let t=new Set,n=typeof e==`object`&&e?e:null;if(!n)return[];typeof n.path==`string`&&n.path.trim()&&t.add(n.path.trim()),typeof n.imagePath==`string`&&n.imagePath.trim()&&t.add(n.imagePath.trim());let r=n.download;if(r&&typeof r==`object`){let e=r.path;typeof e==`string`&&e.trim()&&t.add(e.trim())}return[...t]}async function dt(e){let t=await j.stat(e).catch(()=>null);if(!t||!t.isFile())return null;if(t.size>ot)throw Error(`browser proxy file exceeds ${Math.round(ot/(1024*1024))}MB`);let n=await j.readFile(e),r=await ie({buffer:n,filePath:e});return{path:e,base64:n.toString(`base64`),mimeType:r}}function ft(e){if(!e)throw Error(`INVALID_REQUEST: paramsJSON required`);return JSON.parse(e)}function pt(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(1,Math.floor(e)):2e4}function mt(e){return String(e).includes(`browser proxy request timed out`)}function ht(e){return e===`/act`||e===`/navigate`||e===`/pdf`||e===`/screenshot`||e===`/snapshot`}async function gt(e){let t=e.profile?{profile:e.profile}:{};try{let n=await oe(n=>e.dispatcher.dispatch({method:`GET`,path:`/`,query:t,signal:n}),750,`browser proxy status`);if(n.status>=400||!n.body||typeof n.body!=`object`)return null;let r=n.body;return{running:r.running,cdpHttp:r.cdpHttp,cdpReady:r.cdpReady,cdpUrl:r.cdpUrl}}catch{return null}}function _t(e){let t=[`browser proxy timed out for ${e.method} ${e.path} after ${e.timeoutMs}ms`,e.wsBacked?`ws-backed browser action`:`browser action`];if(e.profile&&t.push(`profile=${e.profile}`),e.status){let n=[`running=${String(e.status.running)}`,`cdpHttp=${String(e.status.cdpHttp)}`,`cdpReady=${String(e.status.cdpReady)}`];typeof e.status.cdpUrl==`string`&&e.status.cdpUrl.trim()&&n.push(`cdpUrl=${e.status.cdpUrl}`),t.push(`status(${n.join(`, `)})`)}return t.join(`; `)}async function vt(e){let t=ft(e),n=typeof t.path==`string`?t.path.trim():``;if(!n)throw Error(`INVALID_REQUEST: path required`);let r=ct();if(!r.enabled)throw Error(`UNAVAILABLE: node browser proxy disabled`);await lt();let i=_(),a=d(i.browser,i),o=typeof t.profile==`string`?t.profile.trim():``,c=r.allowProfiles;if(c.length>0){if(n!==`/profiles`){if(!I({allowProfiles:c,profile:o||a.defaultProfile}))throw Error(`INVALID_REQUEST: browser profile not allowed`)}else if(o&&!I({allowProfiles:c,profile:o}))throw Error(`INVALID_REQUEST: browser profile not allowed`)}let l=typeof t.method==`string`?t.method.toUpperCase():`GET`,u=n.startsWith(`/`)?n:`/${n}`,p=t.body,m=pt(t.timeoutMs),h={};o&&(h.profile=o);let g=t.query??{};for(let[e,t]of Object.entries(g))t!=null&&(h[e]=typeof t==`string`?t:String(t));let v=s(f()),y;try{y=await oe(e=>v.dispatch({method:l===`DELETE`?`DELETE`:l===`POST`?`POST`:`GET`,path:u,query:h,body:p,signal:e}),m,`browser proxy request`)}catch(e){if(!mt(e))throw e;let t=o||a.defaultProfile,n=await gt({dispatcher:v,profile:u===`/profiles`?void 0:t});throw Error(_t({method:l,path:u,profile:u===`/profiles`?void 0:t||void 0,timeoutMs:m,wsBacked:ht(u),status:n}),{cause:e})}if(y.status>=400){let e=y.body&&typeof y.body==`object`&&`error`in y.body?String(y.body.error):`HTTP ${y.status}`;throw Error(e)}let b=y.body;if(c.length>0&&u===`/profiles`){let e=typeof b==`object`&&b?b:{};e.profiles=(Array.isArray(e.profiles)?e.profiles:[]).filter(e=>{if(!e||typeof e!=`object`)return!1;let t=e.name;return typeof t==`string`&&c.includes(t)})}let x,S=ut(b);if(S.length>0){let e=await Promise.all(S.map(async e=>{try{let t=await dt(e);if(!t)throw Error(`file not found`);return t}catch(t){throw Error(`browser proxy file read failed for ${e}: ${String(t)}`,{cause:t})}}));e.length>0&&(x=e)}let C=x?{result:b,files:x}:{result:b};return JSON.stringify(C)}function yt(e){return e===`allow-once`||e===`allow-always`?e:null}function bt(e){return e?.windowsShellWrapperBlocked?`SYSTEM_RUN_DENIED: allowlist miss (Windows shell wrappers like cmd.exe /c require approval; approve once/always or run with --ask on-miss|always)`:e?.shellWrapperBlocked?`SYSTEM_RUN_DENIED: allowlist miss (shell wrappers like sh/bash/zsh -c require approval; approve once/always or run with --ask on-miss|always)`:`SYSTEM_RUN_DENIED: allowlist miss`}function xt(e){let t=e.security===`allowlist`&&e.shellWrapperInvocation,n=t&&e.isWindows&&e.cmdInvocation,r=t?!1:e.analysisOk,i=t?!1:e.allowlistSatisfied,a=e.approvalDecision!==null||e.approved===!0;if(e.security===`deny`)return{allowed:!1,eventReason:`security=deny`,errorMessage:`SYSTEM_RUN_DISABLED: security=deny`,analysisOk:r,allowlistSatisfied:i,shellWrapperBlocked:t,windowsShellWrapperBlocked:n,requiresAsk:!1,approvalDecision:e.approvalDecision,approvedByAsk:a};let o=Ee({ask:e.ask,security:e.security,analysisOk:r,allowlistSatisfied:i});return o&&!a?{allowed:!1,eventReason:`approval-required`,errorMessage:`SYSTEM_RUN_DENIED: approval required`,analysisOk:r,allowlistSatisfied:i,shellWrapperBlocked:t,windowsShellWrapperBlocked:n,requiresAsk:o,approvalDecision:e.approvalDecision,approvedByAsk:a}:e.security===`allowlist`&&(!r||!i)&&!a?{allowed:!1,eventReason:`allowlist-miss`,errorMessage:bt({shellWrapperBlocked:t,windowsShellWrapperBlocked:n}),analysisOk:r,allowlistSatisfied:i,shellWrapperBlocked:t,windowsShellWrapperBlocked:n,requiresAsk:o,approvalDecision:e.approvalDecision,approvedByAsk:a}:{allowed:!0,analysisOk:r,allowlistSatisfied:i,shellWrapperBlocked:t,windowsShellWrapperBlocked:n,requiresAsk:o,approvalDecision:e.approvalDecision,approvedByAsk:a}}function St(e){if(e.shellCommand){let t=se({command:e.shellCommand,allowlist:e.approvals.allowlist,safeBins:e.safeBins,safeBinProfiles:e.safeBinProfiles,cwd:e.cwd,env:e.env,trustedSafeBinDirs:e.trustedSafeBinDirs,skillBins:e.skillBins,autoAllowSkills:e.autoAllowSkills,platform:process.platform});return{analysisOk:t.analysisOk,allowlistMatches:t.allowlistMatches,allowlistSatisfied:e.security===`allowlist`&&t.analysisOk?t.allowlistSatisfied:!1,segments:t.segments}}let t=x({argv:e.argv,cwd:e.cwd,env:e.env}),n=le({analysis:t,allowlist:e.approvals.allowlist,safeBins:e.safeBins,safeBinProfiles:e.safeBinProfiles,cwd:e.cwd,trustedSafeBinDirs:e.trustedSafeBinDirs,skillBins:e.skillBins,autoAllowSkills:e.autoAllowSkills});return{analysisOk:t.ok,allowlistMatches:n.allowlistMatches,allowlistSatisfied:e.security===`allowlist`&&t.ok?n.allowlistSatisfied:!1,segments:t.segments}}function Ct(e){if(e.security!==`allowlist`||e.policy.approvedByAsk||e.shellCommand||!e.policy.analysisOk||!e.policy.allowlistSatisfied||e.segments.length!==1)return;let t=l(e.segments[0]);return t&&t.length>0?t:null}function wt(e){let t=e.plannedAllowlistArgv??e.argv;return e.security===`allowlist`&&e.isWindows&&!e.policy.approvedByAsk&&e.shellCommand&&e.policy.analysisOk&&e.policy.allowlistSatisfied&&e.segments.length===1&&e.segments[0]?.argv.length>0&&(t=e.segments[0].argv),t}function Tt(e){if(!e.truncated)return;let t=`... (truncated)`;e.stderr.trim().length>0?e.stderr=`${e.stderr}\n${t}`:e.stdout=`${e.stdout}\n${t}`}const Et=[/^(?:node|nodejs)$/,/^perl$/,/^php$/,/^python(?:\d+(?:\.\d+)*)?$/,/^ruby$/],Dt=new Set([`esno`,`jiti`,`ts-node`,`ts-node-esm`,`tsx`,`vite-node`]),Ot=new Set([`add`,`audit`,`completions`,`create`,`exec`,`help`,`init`,`install`,`link`,`outdated`,`patch`,`pm`,`publish`,`remove`,`repl`,`run`,`test`,`unlink`,`update`,`upgrade`,`x`]),L=new Set(`--backend.--bunfig.--conditions.--config.--console-depth.--cwd.--define.--elide-lines.--env-file.--extension-order.--filter.--hot.--inspect.--inspect-brk.--inspect-wait.--install.--jsx-factory.--jsx-fragment.--jsx-import-source.--loader.--origin.--port.--preload.--smol.--tsconfig-override.-c.-e.-p.-r`.split(`.`)),kt=new Set([`--cached-only`,`--cert`,`--config`,`--env-file`,`--ext`,`--harmony-import-attributes`,`--import-map`,`--inspect`,`--inspect-brk`,`--inspect-wait`,`--location`,`--log-level`,`--lock`,`--node-modules-dir`,`--no-check`,`--preload`,`--reload`,`--seed`,`--strace-ops`,`--unstable-bare-node-builtins`,`--v8-flags`,`--watch`,`--watch-exclude`,`-L`]);function R(e){return typeof e==`string`&&e.trim()||null}function At(e){let t=k.resolve(e),n=[],r=t;for(;;){n.unshift(r);let e=k.dirname(r);if(e===r)return n;r=e}}function jt(e){try{return A.accessSync(e,A.constants.W_OK),!0}catch{return!1}}function Mt(e){for(let t of At(e))try{if(!A.lstatSync(t).isSymbolicLink())continue;if(jt(k.dirname(t)))return!0}catch{return!0}return!1}function Nt(e){return e.shellCommand===null?(e.wrapperChain?.length??0)===0:!1}function z(e){return M.createHash(`sha256`).update(A.readFileSync(e)).digest(`hex`)}function Pt(e){return e.startsWith(`.`)||e.startsWith(`/`)||e.startsWith(`\\`)||e.includes(`/`)||e.includes(`\\`)||k.extname(e).length>0}function B(e,t){if(!e)return!1;try{return A.statSync(k.resolve(t??process.cwd(),e)).isFile()}catch{return!1}}function V(e){let t=e,n=0;for(;;){let e=p(t);if(e.kind===`unwrapped`){n+=t.length-e.argv.length,t=e.argv;continue}let r=h(t);if(r.kind===`unwrapped`){n+=t.length-r.argv.length,t=r.argv;continue}return{argv:t,baseIndex:n}}}function Ft(e){if(y(e,o,{allowCombinedC:!0}).valueTokenIndex!==null)return null;let t=!1;for(let n=1;n<e.length;n+=1){let r=e[n]?.trim()??``;if(r){if(r===`-`)return null;if(!t&&r===`--`){t=!0;continue}if(!t&&r===`-s`)return null;if(!(!t&&r.startsWith(`-`)))return n}}return null}function H(e){let t=!1;for(let n=e.startIndex;n<e.argv.length;n+=1){let r=e.argv[n]?.trim()??``;if(r){if(t)return B(r,e.cwd)?n:null;if(r===`--`){t=!0;continue}if(r===`-`)return null;if(r.startsWith(`-`)){!r.includes(`=`)&&e.optionsWithValue?.has(r)&&(n+=1);continue}return B(r,e.cwd)?n:null}}return null}function It(e){let t=!1;for(let n=e.startIndex;n<e.argv.length;n+=1){let r=e.argv[n]?.trim()??``;if(r){if(t)return n;if(r===`--`){t=!0;continue}if(r===`-`)return null;if(r.startsWith(`-`)){!r.includes(`=`)&&e.optionsWithValue?.has(r)&&(n+=1);continue}return n}}return null}function Lt(e){let t=!1,n=[];for(let r=e.startIndex;r<e.argv.length;r+=1){let i=e.argv[r]?.trim()??``;if(i){if(t){B(i,e.cwd)&&n.push(r);continue}if(i===`--`){t=!0;continue}if(i===`-`)return[];i.startsWith(`-`)||B(i,e.cwd)&&n.push(r)}}return n}function Rt(e){let t=Lt({argv:e.argv,startIndex:1,cwd:e.cwd});return t.length===1?t[0]:null}function zt(e){let t=It({argv:e.argv,startIndex:1,optionsWithValue:L});if(t===null)return null;let n=e.argv[t]?.trim()??``;return n===`run`?H({argv:e.argv,startIndex:t+1,cwd:e.cwd,optionsWithValue:L}):Ot.has(n)||!Pt(n)?null:t}function Bt(e){return(e.argv[1]?.trim()??``)===`run`?H({argv:e.argv,startIndex:2,cwd:e.cwd,optionsWithValue:kt}):null}function U(e){return Dt.has(e)||de(e)}function Vt(e,t){let n=V(e),r=m(n.argv[0]??``);if(!r)return null;if(a.has(r)){let e=Ft(n.argv);return e===null?null:n.baseIndex+e}if(Et.some(e=>e.test(r))){let e=n.argv[1]?.trim()??``;if(e&&e!==`-`&&!e.startsWith(`-`))return n.baseIndex+1}if(r===`bun`){let e=zt({argv:n.argv,cwd:t});if(e!==null)return n.baseIndex+e}if(r===`deno`){let e=Bt({argv:n.argv,cwd:t});if(e!==null)return n.baseIndex+e}if(!U(r))return null;let i=Rt({argv:n.argv,cwd:t});return i===null?null:n.baseIndex+i}function Ht(e){if(e.shellCommand!==null)return!1;let t=m(V(e.argv).argv[0]??``);return!t||a.has(t)?!1:U(t)}function W(e){let t=Vt(e.argv,e.cwd);if(t===null)return Ht({argv:e.argv,shellCommand:e.shellCommand})?{ok:!1,message:`SYSTEM_RUN_DENIED: approval cannot safely bind this interpreter/runtime command`}:{ok:!0,snapshot:null};let n=e.argv[t]?.trim();if(!n)return{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires a stable script operand`};let r=k.resolve(e.cwd??process.cwd(),n),i,a;try{i=A.realpathSync(r),a=A.statSync(i)}catch{return{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires an existing script operand`}}return a.isFile()?{ok:!0,snapshot:{argvIndex:t,path:i,sha256:z(i)}}:{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires a file script operand`}}function G(e){let t=k.resolve(e),n,r,i,a;try{n=A.lstatSync(t),r=A.statSync(t),i=A.realpathSync(t),a=A.statSync(i)}catch{return{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires an existing canonical cwd`}}return r.isDirectory()?Mt(t)?{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires canonical cwd (no symlink path components)`}:n.isSymbolicLink()?{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires canonical cwd (no symlink cwd)`}:!w(r,n)||!w(r,a)||!w(n,a)?{ok:!1,message:`SYSTEM_RUN_DENIED: approval cwd identity mismatch`}:{ok:!0,snapshot:{cwd:i,stat:r}}:{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires cwd to be a directory`}}function Ut(e){let t=G(e.snapshot.cwd);return t.ok?w(e.snapshot.stat,t.snapshot.stat):!1}function Wt(e){let t=e.argv[e.snapshot.argvIndex]?.trim();if(!t)return!1;let n=k.resolve(e.cwd??process.cwd(),t),r;try{r=A.realpathSync(n)}catch{return!1}if(r!==e.snapshot.path)return!1;try{return z(r)===e.snapshot.sha256}catch{return!1}}function Gt(e){if(!e.approvedByAsk)return{ok:!0,argv:e.argv,argvChanged:!1,cwd:e.cwd,approvedCwdSnapshot:void 0};let t=e.cwd,n;if(t){let e=G(t);if(!e.ok)return e;t=e.snapshot.cwd,n=e.snapshot}if(e.argv.length===0)return{ok:!0,argv:e.argv,argvChanged:!1,cwd:t,approvedCwdSnapshot:n};let r=c(e.argv,t);if(!Nt({shellCommand:e.shellCommand,wrapperChain:r?.wrapperChain}))return{ok:!0,argv:e.argv,argvChanged:!1,cwd:t,approvedCwdSnapshot:n};let i=r?.resolvedRealPath??r?.resolvedPath;if(!i)return{ok:!1,message:`SYSTEM_RUN_DENIED: approval requires a stable executable path`};if(i===e.argv[0])return{ok:!0,argv:e.argv,argvChanged:!1,cwd:t,approvedCwdSnapshot:n};let a=[...e.argv];return a[0]=i,{ok:!0,argv:a,argvChanged:!0,cwd:t,approvedCwdSnapshot:n}}function Kt(e){let t=E({command:e.command,rawCommand:e.rawCommand});if(!t.ok)return{ok:!1,message:t.message};if(t.argv.length===0)return{ok:!1,message:`command required`};let n=Gt({approvedByAsk:!0,argv:t.argv,shellCommand:t.shellPayload,cwd:R(e.cwd)??void 0});if(!n.ok)return{ok:!1,message:n.message};let r=ye(n.argv),i=t.previewText?.trim()&&t.previewText.trim()!==r?t.previewText.trim():null,a=W({argv:n.argv,cwd:n.cwd,shellCommand:t.shellPayload});return a.ok?{ok:!0,plan:{argv:n.argv,cwd:n.cwd??null,commandText:r,commandPreview:i,agentId:R(e.agentId),sessionKey:R(e.sessionKey),mutableFileOperand:a.snapshot??void 0}}:{ok:!1,message:a.message}}const K=new Set,qt=`SYSTEM_RUN_DENIED: approval cwd changed before execution`;function Jt(e){K.has(e)||(K.add(e),T(e))}function Yt(e){switch(e){case`security=deny`:case`approval-required`:case`allowlist-miss`:case`execution-plan-miss`:case`companion-unavailable`:case`permission:screenRecording`:return e;default:return`approval-required`}}async function q(e,t,n){await e.sendNodeEvent(e.client,`exec.denied`,e.buildExecEventPayload({sessionKey:t.sessionKey,runId:t.runId,host:`node`,command:t.commandText,reason:n.reason,suppressNotifyOnExit:t.suppressNotifyOnExit})),await e.sendInvokeResult({ok:!1,error:{code:`UNAVAILABLE`,message:n.message}})}async function Xt(e){let t=E({command:e.params.command,rawCommand:e.params.rawCommand});if(!t.ok)return await e.sendInvokeResult({ok:!1,error:{code:`INVALID_REQUEST`,message:t.message}}),null;if(t.argv.length===0)return await e.sendInvokeResult({ok:!1,error:{code:`INVALID_REQUEST`,message:`command required`}}),null;let n=t.shellPayload,r=t.commandText,i=e.params.systemRunPlan===void 0?null:ve(e.params.systemRunPlan);if(e.params.systemRunPlan!==void 0&&!i)return await e.sendInvokeResult({ok:!1,error:{code:`INVALID_REQUEST`,message:`systemRunPlan invalid`}}),null;let a=e.params.agentId?.trim()||void 0,o=e.params.sessionKey?.trim()||`node`,s=e.params.runId?.trim()||M.randomUUID(),c=e.params.suppressNotifyOnExit===!0,l=te({overrides:e.params.env??void 0,shellWrapper:n!==null});return{argv:t.argv,shellPayload:n,commandText:r,commandPreview:t.previewText,approvalPlan:i,agentId:a,sessionKey:o,runId:s,execution:{sessionKey:o,runId:s,commandText:r,suppressNotifyOnExit:c},approvalDecision:yt(e.params.approvalDecision),envOverrides:l,env:e.sanitizeEnv(l),cwd:e.params.cwd?.trim()||void 0,timeoutMs:e.params.timeoutMs??void 0,needsScreenRecording:e.params.needsScreenRecording===!0,approved:e.params.approved===!0,suppressNotifyOnExit:c}}async function Zt(e,t){let n=_(),r=t.agentId?ee(n,t.agentId)?.tools?.exec:void 0,i=e.resolveExecSecurity(r?.security??n.tools?.exec?.security),a=e.resolveExecAsk(r?.ask??n.tools?.exec?.ask),o=Te(t.agentId,{security:i,ask:a}),s=o.agent.security,c=o.agent.ask,l=o.agent.autoAllowSkills,{safeBins:u,safeBinProfiles:d,trustedSafeBinDirs:f}=ue({global:n.tools?.exec,local:r,onWarning:Jt}),p=l?await e.skillBins.current():[],{analysisOk:m,allowlistMatches:h,allowlistSatisfied:g,segments:v}=St({shellCommand:t.shellPayload,argv:t.argv,approvals:o,security:s,safeBins:u,safeBinProfiles:d,trustedSafeBinDirs:f,cwd:t.cwd,env:t.env,skillBins:p,autoAllowSkills:l}),y=process.platform===`win32`,b=t.shellPayload?e.isCmdExeInvocation(v[0]?.argv??[]):e.isCmdExeInvocation(t.argv),x=xt({security:s,ask:c,analysisOk:m,allowlistSatisfied:g,approvalDecision:t.approvalDecision,approved:t.approved,isWindows:y,cmdInvocation:b,shellWrapperInvocation:t.shellPayload!==null});if(m=x.analysisOk,g=x.allowlistSatisfied,!x.allowed)return await q(e,t.execution,{reason:x.eventReason,message:x.errorMessage}),null;if(s===`allowlist`&&t.shellPayload&&!x.approvedByAsk)return await q(e,t.execution,{reason:`approval-required`,message:`SYSTEM_RUN_DENIED: approval required`}),null;let S=Gt({approvedByAsk:x.approvedByAsk,argv:t.argv,shellCommand:t.shellPayload,cwd:t.cwd});if(!S.ok)return await q(e,t.execution,{reason:`approval-required`,message:S.message}),null;let C=x.approvedByAsk?S.approvedCwdSnapshot:void 0;if(x.approvedByAsk&&S.cwd&&!C)return await q(e,t.execution,{reason:`approval-required`,message:qt}),null;let w=Ct({security:s,shellCommand:t.shellPayload,policy:x,segments:v});return w===null?(await q(e,t.execution,{reason:`execution-plan-miss`,message:`SYSTEM_RUN_DENIED: execution plan mismatch`}),null):{...t,argv:S.argv,cwd:S.cwd,approvals:o,security:s,policy:x,allowlistMatches:h,analysisOk:m,allowlistSatisfied:g,segments:v,plannedAllowlistArgv:w??void 0,isWindows:y,approvedCwdSnapshot:C}}async function Qt(e,t){if(t.approvedCwdSnapshot&&!Ut({snapshot:t.approvedCwdSnapshot})){T(`security: system.run approval cwd drift blocked (runId=${t.runId})`),await q(e,t.execution,{reason:`approval-required`,message:qt});return}let n=t.approvalPlan?W({argv:t.argv,cwd:t.cwd,shellCommand:t.shellPayload}):null;if(n&&!n.ok){T(`security: system.run approval script binding blocked (runId=${t.runId})`),await q(e,t.execution,{reason:`approval-required`,message:n.message});return}if(n?.snapshot&&!t.approvalPlan?.mutableFileOperand){T(`security: system.run approval script binding missing (runId=${t.runId})`),await q(e,t.execution,{reason:`approval-required`,message:`SYSTEM_RUN_DENIED: approval missing script operand binding`});return}if(t.approvalPlan?.mutableFileOperand&&!Wt({snapshot:t.approvalPlan.mutableFileOperand,argv:t.argv,cwd:t.cwd})){T(`security: system.run approval script drift blocked (runId=${t.runId})`),await q(e,t.execution,{reason:`approval-required`,message:`SYSTEM_RUN_DENIED: approval script operand changed before execution`});return}if(e.preferMacAppExecHost){let n={command:t.plannedAllowlistArgv??t.argv,rawCommand:t.commandText||null,cwd:t.cwd??null,env:t.envOverrides??null,timeoutMs:t.timeoutMs??null,needsScreenRecording:t.needsScreenRecording,agentId:t.agentId??null,sessionKey:t.sessionKey??null,approvalDecision:t.approvalDecision},r=await e.runViaMacAppExecHost({approvals:t.approvals,request:n});if(!r){if(e.execHostEnforced||!e.execHostFallbackAllowed){await q(e,t.execution,{reason:`companion-unavailable`,message:`COMPANION_APP_UNAVAILABLE: macOS app exec host unreachable`});return}}else if(r.ok){let n=r.payload;await e.sendExecFinishedEvent({sessionKey:t.sessionKey,runId:t.runId,commandText:t.commandText,result:n,suppressNotifyOnExit:t.suppressNotifyOnExit}),await e.sendInvokeResult({ok:!0,payloadJSON:JSON.stringify(n)});return}else{await q(e,t.execution,{reason:Yt(r.error.reason),message:r.error.message});return}}if(t.policy.approvalDecision===`allow-always`&&t.security===`allowlist`&&t.policy.analysisOk){let e=ce({segments:t.segments,cwd:t.cwd,env:t.env,platform:process.platform});for(let n of e)n&&De(t.approvals.file,t.agentId,n)}if(t.allowlistMatches.length>0){let e=new Set;for(let n of t.allowlistMatches)!n?.pattern||e.has(n.pattern)||(e.add(n.pattern),ke(t.approvals.file,t.agentId,n,t.commandText,t.segments[0]?.resolution?.resolvedPath))}if(t.needsScreenRecording){await q(e,t.execution,{reason:`permission:screenRecording`,message:`PERMISSION_MISSING: screenRecording`});return}let r=wt({plannedAllowlistArgv:t.plannedAllowlistArgv,argv:t.argv,security:t.security,isWindows:t.isWindows,policy:t.policy,shellCommand:t.shellPayload,segments:t.segments}),i=await e.runCommand(r,t.cwd,t.env,t.timeoutMs);Tt(i),await e.sendExecFinishedEvent({sessionKey:t.sessionKey,runId:t.runId,commandText:t.commandText,result:i,suppressNotifyOnExit:t.suppressNotifyOnExit}),await e.sendInvokeResult({ok:!0,payloadJSON:JSON.stringify({exitCode:i.exitCode,timedOut:i.timedOut,success:i.success,stdout:i.stdout,stderr:i.stderr,error:i.error??null})})}async function $t(e){let t=await Xt(e);if(!t)return;let n=await Zt(e,t);n&&await Qt(e,n)}const en=2e5,tn={65001:`utf-8`,54936:`gb18030`,936:`gbk`,950:`big5`,932:`shift_jis`,949:`euc-kr`,1252:`windows-1252`};let J;const nn=process.env.OPENCLAW_NODE_EXEC_HOST?.trim().toLowerCase()===`app`,rn=process.env.OPENCLAW_NODE_EXEC_FALLBACK?.trim().toLowerCase()!==`0`,an=process.platform===`darwin`&&nn;function on(e){return e===`deny`||e===`allowlist`||e===`full`?e:`allowlist`}function sn(e){let t=e[0]?.trim();if(!t)return!1;let n=k.win32.basename(t).toLowerCase();return n===`cmd.exe`||n===`cmd`}function cn(e){return e===`off`||e===`on-miss`||e===`always`?e:`on-miss`}function ln(e){return ne({overrides:e,blockPathOverrides:!0})}function un(e,t){return e.length<=t?{text:e,truncated:!1}:{text:`... (truncated) ${e.slice(e.length-t)}`,truncated:!0}}function dn(e){if(!e)return null;let t=e.match(/\b(\d{3,5})\b/);if(!t?.[1])return null;let n=Number.parseInt(t[1],10);return!Number.isFinite(n)||n<=0?null:n}function fn(){if(process.platform!==`win32`)return null;if(J!==void 0)return J;try{let e=tt(`cmd.exe`,[`/d`,`/s`,`/c`,`chcp`],{windowsHide:!0,encoding:`utf8`,stdio:[`ignore`,`pipe`,`pipe`]}),t=dn(`${e.stdout??``}\n${e.stderr??``}`);J=t===null?null:tn[t]??null}catch{J=null}return J}function pn(e){let t=e.buffer.toString(`utf8`);if((e.platform??process.platform)!==`win32`)return t;let n=e.windowsEncoding??fn();if(!n||n.toLowerCase()===`utf-8`)return t;try{return new TextDecoder(n).decode(e.buffer)}catch{return t}}function mn(e){let t=e.socket?.path?.trim();return{...e,socket:t?{path:t}:void 0}}function hn(e,t){if(!t.exists)return;if(!t.hash)throw Error(`INVALID_REQUEST: exec approvals base hash unavailable; reload and retry`);let n=typeof e.baseHash==`string`?e.baseHash.trim():``;if(!n)throw Error(`INVALID_REQUEST: exec approvals base hash required; reload and retry`);if(n!==t.hash)throw Error(`INVALID_REQUEST: exec approvals changed; reload and retry`)}async function gn(e,t,n,r){return await new Promise(i=>{let a=[],o=[],s=0,c=!1,l=!1,u=!1,d=fn(),f=et(e[0],e.slice(1),{cwd:t,env:n,stdio:[`ignore`,`pipe`,`pipe`],windowsHide:!0}),p=(e,t)=>{if(s>=en){c=!0;return}let n=en-s,r=e.length>n?e.subarray(0,n):e;s+=r.length,t===`stdout`?a.push(r):o.push(r),e.length>n&&(c=!0)};f.stdout?.on(`data`,e=>p(e,`stdout`)),f.stderr?.on(`data`,e=>p(e,`stderr`));let m;r&&r>0&&(m=setTimeout(()=>{l=!0;try{f.kill(`SIGKILL`)}catch{}},r));let h=(e,t)=>{if(u)return;u=!0,m&&clearTimeout(m);let n=pn({buffer:Buffer.concat(a),windowsEncoding:d}),r=pn({buffer:Buffer.concat(o),windowsEncoding:d});i({exitCode:e,timedOut:l,success:e===0&&!l&&!t,stdout:n,stderr:r,error:t??null,truncated:c})};f.on(`error`,e=>{h(void 0,e.message)}),f.on(`exit`,e=>{h(e===null?void 0:e,null)})})}function _n(e){return(e?.PATH??e?.Path??process.env.PATH??process.env.Path??`/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin`).split(k.delimiter).filter(Boolean)}function vn(e,t){if(e.includes(`/`)||e.includes(`\\`))return null;let n=process.platform===`win32`?(process.env.PATHEXT??process.env.PathExt??`.EXE;.CMD;.BAT;.COM`).split(`;`).map(e=>e.toLowerCase()):[``];for(let r of _n(t))for(let t of n){let n=k.join(r,e+t);if(A.existsSync(n))return n}return null}async function yn(e,t){let n=e.bins.map(e=>e.trim()).filter(Boolean),r={};for(let e of n){let n=vn(e,t);n&&(r[e]=n)}return{bins:r}}function bn(e){if(!e.output)return e;let t=e.output.trim();if(!t)return e;let{text:n}=un(t,2e4);return{...e,output:n}}async function xn(e){let t=[e.result.stdout,e.result.stderr,e.result.error].filter(Boolean).join(`
|
|
2
2
|
`);await Dn(e.client,`exec.finished`,bn({sessionKey:e.sessionKey,runId:e.runId,host:`node`,command:e.commandText,exitCode:e.result.exitCode??void 0,timedOut:e.result.timedOut,success:e.result.success,output:t,suppressNotifyOnExit:e.suppressNotifyOnExit}))}async function Sn(e){let{approvals:t,request:n}=e;return await at({socketPath:t.socketPath,token:t.token,request:n})}async function Y(e,t,n){await $(e,t,{ok:!0,payloadJSON:JSON.stringify(n)})}async function Cn(e,t,n){await $(e,t,{ok:!0,payloadJSON:n})}async function X(e,t,n,r){await $(e,t,{ok:!1,error:{code:n,message:r}})}async function Z(e,t,n){await X(e,t,`INVALID_REQUEST`,String(n))}async function wn(e,t,n){let r=String(e.command??``);if(r===`system.execApprovals.get`){try{Ae();let n=D();await Y(t,e,{path:n.path,exists:n.exists,hash:n.hash,file:mn(n.file)})}catch(n){let r=String(n);await X(t,e,r.toLowerCase().includes(`timed out`)?`TIMEOUT`:`INVALID_REQUEST`,r)}return}if(r===`system.execApprovals.set`){try{let n=Q(e.paramsJSON);if(!n.file||typeof n.file!=`object`)throw Error(`INVALID_REQUEST: exec approvals file required`);Ae();let r=D();hn(n,r),Ce(Oe({normalized:we(n.file),current:r.file}));let i=D();await Y(t,e,{path:i.path,exists:i.exists,hash:i.hash,file:mn(i.file)})}catch(n){await Z(t,e,n)}return}if(r===`system.which`){try{let n=Q(e.paramsJSON);if(!Array.isArray(n.bins))throw Error(`INVALID_REQUEST: bins required`);await Y(t,e,await yn(n,ln(void 0)))}catch(n){await Z(t,e,n)}return}if(r===`browser.proxy`){try{await Cn(t,e,await vt(e.paramsJSON))}catch(n){await Z(t,e,n)}return}if(r===`system.run.prepare`){try{let n=Kt(Q(e.paramsJSON));if(!n.ok){await X(t,e,`INVALID_REQUEST`,n.message);return}await Y(t,e,{plan:n.plan})}catch(n){await Z(t,e,n)}return}if(r!==`system.run`){await X(t,e,`UNAVAILABLE`,`command not supported`);return}let i;try{i=Q(e.paramsJSON)}catch(n){await Z(t,e,n);return}if(!Array.isArray(i.command)||i.command.length===0){await X(t,e,`INVALID_REQUEST`,`command required`);return}await $t({client:t,params:i,skillBins:n,execHostEnforced:nn,execHostFallbackAllowed:rn,resolveExecSecurity:on,resolveExecAsk:cn,isCmdExeInvocation:sn,sanitizeEnv:ln,runCommand:gn,runViaMacAppExecHost:Sn,sendNodeEvent:Dn,buildExecEventPayload:bn,sendInvokeResult:async n=>{await $(t,e,n)},sendExecFinishedEvent:async({sessionKey:e,runId:n,commandText:r,result:i})=>{await xn({client:t,sessionKey:e,runId:n,commandText:r,result:i})},preferMacAppExecHost:an})}function Q(e){if(!e)throw Error(`INVALID_REQUEST: paramsJSON required`);return JSON.parse(e)}function Tn(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.id==`string`?t.id.trim():``,r=typeof t.nodeId==`string`?t.nodeId.trim():``,i=typeof t.command==`string`?t.command.trim():``;return!n||!r||!i?null:{id:n,nodeId:r,command:i,paramsJSON:typeof t.paramsJSON==`string`?t.paramsJSON:t.params===void 0?null:JSON.stringify(t.params),timeoutMs:typeof t.timeoutMs==`number`?t.timeoutMs:null,idempotencyKey:typeof t.idempotencyKey==`string`?t.idempotencyKey:null}}async function $(e,t,n){try{await e.request(`node.invoke.result`,En(t,n))}catch{}}function En(e,t){let n={id:e.id,nodeId:e.nodeId,ok:t.ok};return t.payload!==void 0&&(n.payload=t.payload),typeof t.payloadJSON==`string`&&(n.payloadJSON=t.payloadJSON),t.error&&(n.error=t.error),n}async function Dn(e,t,n){try{await e.request(`node.event`,{event:t,payloadJSON:n?JSON.stringify(n):null})}catch{}}const On=`/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin`;function kn(e,t){return e.includes(`/`)||e.includes(`\\`)?null:u(e,t)??null}function An(e,t){let n=[],r=new Set;for(let i of e){let e=i.trim();if(!e)continue;let a=kn(e,t);if(!a)continue;let o=`${e}\u0000${a}`;r.has(o)||(r.add(o),n.push({name:e,resolvedPath:a}))}return n.toSorted((e,t)=>e.name.localeCompare(t.name)||e.resolvedPath.localeCompare(t.resolvedPath))}var jn=class{constructor(e,t){this.bins=[],this.lastRefresh=0,this.ttlMs=9e4,this.fetch=e,this.pathEnv=t}async current(e=!1){return(e||Date.now()-this.lastRefresh>this.ttlMs)&&await this.refresh(),this.bins}async refresh(){try{this.bins=An(await this.fetch(),this.pathEnv),this.lastRefresh=Date.now()}catch{this.lastRefresh||(this.bins=[])}}};function Mn(){Me({pathEnv:process.env.PATH??``});let e=process.env.PATH??``;return e.trim()?e:(process.env.PATH=On,On)}async function Nn(e){return await be({config:(e.config.gateway?.mode===`remote`?`remote`:`local`)==`local`?Pn(e.config):e.config,env:e.env,includeLegacyEnv:!1,localTokenPrecedence:`env-first`,localPasswordPrecedence:`env-first`,remoteTokenPrecedence:`env-first`,remotePasswordPrecedence:`env-first`})}function Pn(e){if(!e.gateway?.remote?.token&&!e.gateway?.remote?.password)return e;let t=structuredClone(e);return t.gateway?.remote&&(t.gateway.remote.token=void 0,t.gateway.remote.password=void 0),t}async function Fn(e){let t=await it(),n=e.nodeId?.trim()||t.nodeId;n!==t.nodeId&&(t.nodeId=n);let r=e.displayName?.trim()||t.displayName||await ae();t.displayName=r;let i={host:e.gatewayHost,port:e.gatewayPort,tls:e.gatewayTls??_().gateway?.tls?.enabled??!1,tlsFingerprint:e.gatewayTlsFingerprint};t.gateway=i,await rt(t);let a=_(),o=d(a.browser,a),s=a.nodeHost?.browserProxy?.enabled!==!1&&o.enabled,{token:c,password:l}=await Nn({config:a,env:process.env}),u=i.host??`127.0.0.1`,f=i.port??18789,p=`${i.tls?`wss`:`ws`}://${u}:${f}`,m=Mn();console.log(`node host PATH: ${m}`);let h=new pe({url:p,token:c||void 0,password:l||void 0,instanceId:n,clientName:b.NODE_HOST,clientDisplayName:r,clientVersion:re,platform:process.platform,mode:v.NODE,role:`node`,scopes:[],caps:[`system`,...s?[`browser`]:[]],commands:[...Ze,...Qe,...s?[$e]:[]],pathEnv:m,permissions:void 0,deviceIdentity:fe(),tlsFingerprint:i.tlsFingerprint,onEvent:e=>{if(e.event!==`node.invoke.request`)return;let t=Tn(e.payload);t&&wn(t,h,g)},onConnectError:e=>{console.error(`node host gateway connect failed: ${e.message}`)},onClose:(e,t)=>{console.error(`node host gateway closed (${e}): ${t}`)}}),g=new jn(async()=>{let e=await h.request(`skills.bins`,{});return Array.isArray(e?.bins)?e.bins.map(e=>String(e)):[]},m);h.start(),await new Promise(()=>{})}async function In(e){let{devMode:t,nodePath:n}=await Pe({env:e.env,runtime:e.runtime,devMode:e.devMode,nodePath:e.nodePath}),{programArguments:r,workingDirectory:i}=await Fe({host:e.host,port:e.port,tls:e.tls,tlsFingerprint:e.tlsFingerprint,nodeId:e.nodeId,displayName:e.displayName,dev:t,runtime:e.runtime,nodePath:n});await Ie({env:e.env,runtime:e.runtime,programArguments:r,warn:e.warn,title:`Node daemon runtime`});let a=Ne({env:e.env});return{programArguments:r,workingDirectory:i,environment:a,description:ge({version:a.OPENCLAW_SERVICE_VERSION})}}const Ln=Re;function Rn(e){return Le(e)}function zn(){return Je({installCommand:C(`openclaw node install`),startCommand:C(`openclaw node start`),launchAgentPlistPath:`~/Library/LaunchAgents/${he()}.plist`,systemdServiceName:me(),windowsTaskName:_e()})}function Bn(e=process.env){return qe({env:e,systemdServiceName:me(),windowsTaskName:_e()})}function Vn(e,t){let n=e.host?.trim()||t?.gateway?.host||`127.0.0.1`,r=Xe(e.port);return e.port!==void 0&&r===null?{host:n,port:null}:{host:n,port:r??t?.gateway?.port??18789}}async function Hn(e){let t=!!e.json,{stdout:i,warnings:a,emit:o,fail:s}=He({action:`install`,json:t});if(r(process.env)){s(`Nix mode detected; service install is disabled.`);return}let c=await P(),{host:l,port:u}=Vn(e,c);if(!Number.isFinite(u??NaN)||(u??0)<=0){s(`Invalid port`);return}let d=e.runtime?String(e.runtime):Ln;if(!Rn(d)){s(`Invalid --runtime (use "node" or "bun")`);return}let f=O(),p=!1;try{p=await f.isLoaded({env:process.env})}catch(e){s(`Node service check failed: ${String(e)}`);return}if(p&&!e.force){o({ok:!0,result:`already-installed`,message:`Node service already ${f.loadedText}.`,service:We(f,p),warnings:a.length?a:void 0}),t||(n.log(`Node service already ${f.loadedText}.`),n.log(`Reinstall with: ${C(`openclaw node install --force`)}`));return}let m=e.tlsFingerprint?.trim()||c?.gateway?.tlsFingerprint,h=!!e.tls||!!m||!!c?.gateway?.tls,{programArguments:g,workingDirectory:_,environment:v,description:y}=await In({env:process.env,host:l,port:u??18789,tls:h,tlsFingerprint:m||void 0,nodeId:e.nodeId,displayName:e.displayName,runtime:d,warn:e=>{t?a.push(e):n.log(e)}});await Ve({serviceNoun:`Node`,service:f,warnings:a,emit:o,fail:s,install:async()=>{await f.install({env:process.env,stdout:i,programArguments:g,workingDirectory:_,environment:v,description:y})}})}async function Un(e={}){return await Ue({serviceNoun:`Node`,service:O(),opts:e,stopBeforeUninstall:!1,assertNotLoadedAfterUninstall:!1})}async function Wn(e={}){await Ke({serviceNoun:`Node`,service:O(),renderStartHints:zn,opts:e})}async function Gn(e={}){return await Ge({serviceNoun:`Node`,service:O(),opts:e})}async function Kn(e={}){let r=!!e.json,i=O(),[a,o,s]=await Promise.all([i.isLoaded({env:process.env}).catch(()=>!1),i.readCommand(process.env).catch(()=>null),i.readRuntime(process.env).catch(e=>({status:`unknown`,detail:String(e)}))]),c={service:{...We(i,a),command:o,runtime:s}};if(r){n.log(JSON.stringify(c,null,2));return}let{rich:l,label:u,accent:d,infoText:f,okText:p,warnText:m,errorText:h}=ze(),g=a?p(i.loadedText):m(i.notLoadedText);n.log(`${u(`Service:`)} ${d(i.label)} (${g})`),o?.programArguments?.length&&n.log(`${u(`Command:`)} ${f(o.programArguments.join(` `))}`),o?.sourcePath&&n.log(`${u(`Service file:`)} ${f(o.sourcePath)}`),o?.workingDirectory&&n.log(`${u(`Working dir:`)} ${f(o.workingDirectory)}`);let _=Ye(s);if(_){let e=Be(s?.status);n.log(`${u(`Runtime:`)} ${t(l,e,_)}`)}if(!a){n.log(``);for(let e of zn())n.log(`${m(`Start with:`)} ${f(e)}`);return}let v={...process.env,...o?.environment??void 0},y={...v,OPENCLAW_LOG_PREFIX:v.OPENCLAW_LOG_PREFIX??`node`};if(s?.missingUnit){n.error(h(`Service unit not found.`));for(let e of Bn(y))n.error(h(e));return}if(s?.status===`stopped`){n.error(h(`Service is loaded but not running.`));for(let e of Bn(y))n.error(h(e))}}function qn(e,t){return Xe(e)??t}function Jn(t){let n=t.command(`node`).description(`Run and manage the headless node host service`).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${Se([[`openclaw node run --host 127.0.0.1 --port 18789`,`Run the node host in the foreground.`],[`openclaw node status`,`Check node host service status.`],[`openclaw node install`,`Install the node host service.`],[`openclaw node restart`,`Restart the installed node host service.`]])}\n\n${e.muted(`Docs:`)} ${xe(`/cli/node`,`docs.openclaw.ai/cli/node`)}\n`);n.command(`run`).description(`Run the headless node host (foreground)`).option(`--host <host>`,`Gateway host`).option(`--port <port>`,`Gateway port`).option(`--tls`,`Use TLS for the gateway connection`,!1).option(`--tls-fingerprint <sha256>`,`Expected TLS certificate fingerprint (sha256)`).option(`--node-id <id>`,`Override node id (clears pairing token)`).option(`--display-name <name>`,`Override node display name`).action(async e=>{let t=await P();await Fn({gatewayHost:e.host?.trim()||t?.gateway?.host||`127.0.0.1`,gatewayPort:qn(e.port,t?.gateway?.port??18789),gatewayTls:!!e.tls||!!e.tlsFingerprint,gatewayTlsFingerprint:e.tlsFingerprint,nodeId:e.nodeId,displayName:e.displayName})}),n.command(`status`).description(`Show node host status`).option(`--json`,`Output JSON`,!1).action(async e=>{await Kn(e)}),n.command(`install`).description(`Install the node host service (launchd/systemd/schtasks)`).option(`--host <host>`,`Gateway host`).option(`--port <port>`,`Gateway port`).option(`--tls`,`Use TLS for the gateway connection`,!1).option(`--tls-fingerprint <sha256>`,`Expected TLS certificate fingerprint (sha256)`).option(`--node-id <id>`,`Override node id (clears pairing token)`).option(`--display-name <name>`,`Override node display name`).option(`--runtime <runtime>`,`Service runtime (node|bun). Default: node`).option(`--force`,`Reinstall/overwrite if already installed`,!1).option(`--json`,`Output JSON`,!1).action(async e=>{await Hn(e)}),n.command(`uninstall`).description(`Uninstall the node host service (launchd/systemd/schtasks)`).option(`--json`,`Output JSON`,!1).action(async e=>{await Un(e)}),n.command(`stop`).description(`Stop the node host service (launchd/systemd/schtasks)`).option(`--json`,`Output JSON`,!1).action(async e=>{await Gn(e)}),n.command(`restart`).description(`Restart the node host service (launchd/systemd/schtasks)`).option(`--json`,`Output JSON`,!1).action(async e=>{await Wn(e)})}export{Jn as registerNodeCli};
|
|
3
|
-
//# sourceMappingURL=node-cli-Dv-Eib4o.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{sn as e}from"./call-JB-cGR9n.js";import{i as t,r as n,t as r}from"./node-commands-8GBOiktk.js";const i=[`canvas.present`,`canvas.hide`,`canvas.navigate`,`canvas.eval`,`canvas.snapshot`,`canvas.a2ui.push`,`canvas.a2ui.pushJSONL`,`canvas.a2ui.reset`],a=[`camera.list`],o=[`camera.snap`,`camera.clip`],s=[`screen.record`],c=[`location.get`],l=[...[`notifications.list`],`notifications.actions`],u=[`device.info`,`device.status`],d=[...u,`device.permissions`,`device.health`],f=[`contacts.search`],p=[`contacts.add`],m=[`calendar.events`],h=[`calendar.add`],g=[`reminders.list`],_=[`reminders.add`],v=[`photos.latest`],y=[`motion.activity`,`motion.pedometer`],b=[`sms.send`],x=[n],S=[...t,n,r],C=[...i,...a,...c,n],w=[...o,...s,...p,...h,..._,...b],T={ios:[...i,...a,...c,...u,...f,...m,...g,...v,...y,...x],android:[...i,...a,...c,...l,n,...d,...f,...m,...g,...v,...y],macos:[...i,...a,...c,...u,...f,...m,...g,...v,...y,...S],linux:[...S],windows:[...S],unknown:[...C]},E=[{id:`ios`,prefixes:[`ios`]},{id:`android`,prefixes:[`android`]},{id:`macos`,prefixes:[`mac`,`darwin`]},{id:`windows`,prefixes:[`win`]},{id:`linux`,prefixes:[`linux`]}],D=[{id:`ios`,tokens:[`iphone`,`ipad`,`ios`]},{id:`android`,tokens:[`android`]},{id:`macos`,tokens:[`mac`]},{id:`windows`,tokens:[`windows`]},{id:`linux`,tokens:[`linux`]}];function O(e){for(let t of E)if(t.prefixes.some(t=>e.startsWith(t)))return t.id}function k(e){for(let t of D)if(t.tokens.some(t=>e.includes(t)))return t.id}function A(t,n){return O(e(t))||(k(e(n))??`unknown`)}function j(e,t){let n=T[A(t?.platform,t?.deviceFamily)]??T.unknown,r=e.gateway?.nodes?.allowCommands??[],i=new Set(e.gateway?.nodes?.denyCommands??[]),a=new Set([...n,...r].map(e=>e.trim()).filter(Boolean));for(let e of i){let t=e.trim();t&&a.delete(t)}return a}function M(e){let t=e.command.trim();if(!t)return{ok:!1,reason:`command required`};if(!e.allowlist.has(t))return{ok:!1,reason:`command not allowlisted`};if(Array.isArray(e.declaredCommands)&&e.declaredCommands.length>0){if(!e.declaredCommands.includes(t))return{ok:!1,reason:`command not declared by node`}}else return{ok:!1,reason:`node did not declare commands`};return{ok:!0}}export{M as n,j as r,w as t};
|
|
2
|
-
//# sourceMappingURL=node-command-policy-D9yZu9zq.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{sn as e}from"./call-BWx7hNtl.js";import{i as t,r as n,t as r}from"./node-commands-DdkziOTx.js";const i=[`canvas.present`,`canvas.hide`,`canvas.navigate`,`canvas.eval`,`canvas.snapshot`,`canvas.a2ui.push`,`canvas.a2ui.pushJSONL`,`canvas.a2ui.reset`],a=[`camera.list`],o=[`camera.snap`,`camera.clip`],s=[`screen.record`],c=[`location.get`],l=[...[`notifications.list`],`notifications.actions`],u=[`device.info`,`device.status`],d=[...u,`device.permissions`,`device.health`],f=[`contacts.search`],p=[`contacts.add`],m=[`calendar.events`],h=[`calendar.add`],g=[`reminders.list`],_=[`reminders.add`],v=[`photos.latest`],y=[`motion.activity`,`motion.pedometer`],b=[`sms.send`],x=[n],S=[...t,n,r],C=[...i,...a,...c,n],w=[...o,...s,...p,...h,..._,...b],T={ios:[...i,...a,...c,...u,...f,...m,...g,...v,...y,...x],android:[...i,...a,...c,...l,n,...d,...f,...m,...g,...v,...y],macos:[...i,...a,...c,...u,...f,...m,...g,...v,...y,...S],linux:[...S],windows:[...S],unknown:[...C]},E=[{id:`ios`,prefixes:[`ios`]},{id:`android`,prefixes:[`android`]},{id:`macos`,prefixes:[`mac`,`darwin`]},{id:`windows`,prefixes:[`win`]},{id:`linux`,prefixes:[`linux`]}],D=[{id:`ios`,tokens:[`iphone`,`ipad`,`ios`]},{id:`android`,tokens:[`android`]},{id:`macos`,tokens:[`mac`]},{id:`windows`,tokens:[`windows`]},{id:`linux`,tokens:[`linux`]}];function O(e){for(let t of E)if(t.prefixes.some(t=>e.startsWith(t)))return t.id}function k(e){for(let t of D)if(t.tokens.some(t=>e.includes(t)))return t.id}function A(t,n){return O(e(t))||(k(e(n))??`unknown`)}function j(e,t){let n=T[A(t?.platform,t?.deviceFamily)]??T.unknown,r=e.gateway?.nodes?.allowCommands??[],i=new Set(e.gateway?.nodes?.denyCommands??[]),a=new Set([...n,...r].map(e=>e.trim()).filter(Boolean));for(let e of i){let t=e.trim();t&&a.delete(t)}return a}function M(e){let t=e.command.trim();if(!t)return{ok:!1,reason:`command required`};if(!e.allowlist.has(t))return{ok:!1,reason:`command not allowlisted`};if(Array.isArray(e.declaredCommands)&&e.declaredCommands.length>0){if(!e.declaredCommands.includes(t))return{ok:!1,reason:`command not declared by node`}}else return{ok:!1,reason:`node did not declare commands`};return{ok:!0}}export{M as n,j as r,w as t};
|
|
2
|
-
//# sourceMappingURL=node-command-policy-DyWp3Bjz.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
function e(e){return typeof e==`object`&&e?e:{}}function t(t){let n=e(t);return{pending:Array.isArray(n.pending)?n.pending:[],paired:Array.isArray(n.paired)?n.paired:[]}}function n(t){let n=e(t);return Array.isArray(n.nodes)?n.nodes:[]}function r(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+/,``).replace(/-+$/,``)}function i(e){return e.map(e=>e.displayName||e.remoteIp||e.nodeId).filter(Boolean).join(`, `)}function a(e,t){let n=t.trim();if(!n)return[];let i=r(n);return e.filter(e=>{if(e.nodeId===n||typeof e.remoteIp==`string`&&e.remoteIp===n)return!0;let t=typeof e.displayName==`string`?e.displayName:``;return!!(t&&r(t)===i||n.length>=6&&e.nodeId.startsWith(n))})}function o(e,t){let n=t.trim();if(!n)throw Error(`node required`);let r=a(e,n);if(r.length===1)return r[0]?.nodeId??``;if(r.length===0){let t=i(e);throw Error(`unknown node: ${n}${t?` (known: ${t})`:``}`)}let o=r.filter(e=>e.connected===!0),s=o.length>0?o:r;if(s.length===1)return s[0]?.nodeId??``;throw Error(`ambiguous node: ${n} (matches: ${s.map(e=>e.displayName||e.remoteIp||e.nodeId).join(`, `)})`)}function s(e,t,n={}){let r=String(t??``).trim();if(!r){if(n.allowDefault===!0&&n.pickDefaultNode){let t=n.pickDefaultNode(e);if(t)return t.nodeId}throw Error(`node required`)}return o(e,r)}function c(e,t,n={}){let r=s(e,t,n);return e.find(e=>e.nodeId===r)??{nodeId:r}}export{t as i,s as n,n as r,c as t};
|
|
2
|
-
//# sourceMappingURL=node-resolve-B3BJbmQX.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
function e(e){return typeof e==`object`&&e?e:{}}function t(t){let n=e(t);return{pending:Array.isArray(n.pending)?n.pending:[],paired:Array.isArray(n.paired)?n.paired:[]}}function n(t){let n=e(t);return Array.isArray(n.nodes)?n.nodes:[]}function r(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+/,``).replace(/-+$/,``)}function i(e){return e.map(e=>e.displayName||e.remoteIp||e.nodeId).filter(Boolean).join(`, `)}function a(e,t){let n=t.trim();if(!n)return[];let i=r(n);return e.filter(e=>{if(e.nodeId===n||typeof e.remoteIp==`string`&&e.remoteIp===n)return!0;let t=typeof e.displayName==`string`?e.displayName:``;return!!(t&&r(t)===i||n.length>=6&&e.nodeId.startsWith(n))})}function o(e,t){let n=t.trim();if(!n)throw Error(`node required`);let r=a(e,n);if(r.length===1)return r[0]?.nodeId??``;if(r.length===0){let t=i(e);throw Error(`unknown node: ${n}${t?` (known: ${t})`:``}`)}let o=r.filter(e=>e.connected===!0),s=o.length>0?o:r;if(s.length===1)return s[0]?.nodeId??``;throw Error(`ambiguous node: ${n} (matches: ${s.map(e=>e.displayName||e.remoteIp||e.nodeId).join(`, `)})`)}function s(e,t,n={}){let r=String(t??``).trim();if(!r){if(n.allowDefault===!0&&n.pickDefaultNode){let t=n.pickDefaultNode(e);if(t)return t.nodeId}throw Error(`node required`)}return o(e,r)}function c(e,t,n={}){let r=s(e,t,n);return e.find(e=>e.nodeId===r)??{nodeId:r}}export{t as i,s as n,n as r,c as t};
|
|
2
|
-
//# sourceMappingURL=node-resolve-DLZf3-1V.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{_ as e,c as t,g as n,o as r,s as i,v as a}from"./arg-split-DE5RqDHq.js";import{n as o}from"./service-BtB9epJk.js";function s(o){return{...o,OPENCLAW_LAUNCHD_LABEL:n(),OPENCLAW_SYSTEMD_UNIT:e(),OPENCLAW_WINDOWS_TASK_NAME:a(),OPENCLAW_TASK_SCRIPT_NAME:t,OPENCLAW_LOG_PREFIX:`node`,OPENCLAW_SERVICE_MARKER:i,OPENCLAW_SERVICE_KIND:r}}function c(o){return{...o,env:s(o.env),environment:{...o.environment,OPENCLAW_LAUNCHD_LABEL:n(),OPENCLAW_SYSTEMD_UNIT:e(),OPENCLAW_WINDOWS_TASK_NAME:a(),OPENCLAW_TASK_SCRIPT_NAME:t,OPENCLAW_LOG_PREFIX:`node`,OPENCLAW_SERVICE_MARKER:i,OPENCLAW_SERVICE_KIND:r}}}function l(){let e=o();return{...e,install:async t=>e.install(c(t)),uninstall:async t=>e.uninstall({...t,env:s(t.env)}),stop:async t=>e.stop({...t,env:s(t.env??{})}),restart:async t=>e.restart({...t,env:s(t.env??{})}),isLoaded:async t=>e.isLoaded({env:s(t.env??{})}),readCommand:t=>e.readCommand(s(t)),readRuntime:t=>e.readRuntime(s(t))}}export{l as t};
|
|
2
|
-
//# sourceMappingURL=node-service-BRfrNp8l.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{_ as e,c as t,g as n,o as r,s as i,v as a}from"./arg-split-BOqSMBuf.js";import{n as o}from"./service-DZ9EbS15.js";function s(o){return{...o,OPENCLAW_LAUNCHD_LABEL:n(),OPENCLAW_SYSTEMD_UNIT:e(),OPENCLAW_WINDOWS_TASK_NAME:a(),OPENCLAW_TASK_SCRIPT_NAME:t,OPENCLAW_LOG_PREFIX:`node`,OPENCLAW_SERVICE_MARKER:i,OPENCLAW_SERVICE_KIND:r}}function c(o){return{...o,env:s(o.env),environment:{...o.environment,OPENCLAW_LAUNCHD_LABEL:n(),OPENCLAW_SYSTEMD_UNIT:e(),OPENCLAW_WINDOWS_TASK_NAME:a(),OPENCLAW_TASK_SCRIPT_NAME:t,OPENCLAW_LOG_PREFIX:`node`,OPENCLAW_SERVICE_MARKER:i,OPENCLAW_SERVICE_KIND:r}}}function l(){let e=o();return{...e,install:async t=>e.install(c(t)),uninstall:async t=>e.uninstall({...t,env:s(t.env)}),stop:async t=>e.stop({...t,env:s(t.env??{})}),restart:async t=>e.restart({...t,env:s(t.env??{})}),isLoaded:async t=>e.isLoaded({env:s(t.env??{})}),readCommand:t=>e.readCommand(s(t)),readRuntime:t=>e.readRuntime(s(t))}}export{l as t};
|
|
2
|
-
//# sourceMappingURL=node-service-C0bl7jcZ.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{H as e}from"./subsystem-BLbY429l.js";import{bi as t}from"./auth-profiles-C8rZRS0X.js";import{r as n}from"./command-format-CLxIPuLR.js";import{t as r}from"./fetch-guard-DaZmvp-L.js";import{c as i,l as a,n as o,o as s,t as c}from"./system-run-command-DsWBVvSK.js";import*as l from"node:path";import u from"node:path";import d from"node:fs";import*as f from"node:fs/promises";import{randomUUID as p}from"node:crypto";function m(e){return typeof e==`object`&&e?e:{}}function h(e){return typeof e==`string`?e:void 0}function g(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function _(e){return typeof e==`boolean`?e:void 0}function v(t){let n=t.tmpDir??e();return t.tmpDir||d.mkdirSync(n,{recursive:!0,mode:448}),{tmpDir:n,id:t.id??p(),ext:t.ext.startsWith(`.`)?t.ext:`.${t.ext}`}}const y=250*1024*1024;function b(e){let t=m(e),n=h(t.format),r=h(t.base64),i=h(t.url),a=g(t.width),o=g(t.height);if(!n||!r&&!i||a===void 0||o===void 0)throw Error(`invalid camera.snap payload`);return{format:n,...r?{base64:r}:{},...i?{url:i}:{},width:a,height:o}}function x(e){let t=m(e),n=h(t.format),r=h(t.base64),i=h(t.url),a=g(t.durationMs),o=_(t.hasAudio);if(!n||!r&&!i||a===void 0||o===void 0)throw Error(`invalid camera.clip payload`);return{format:n,...r?{base64:r}:{},...i?{url:i}:{},durationMs:a,hasAudio:o}}function S(e){let{tmpDir:t,id:r,ext:i}=v({tmpDir:e.tmpDir,id:e.id,ext:e.ext}),a=e.facing?`-${e.facing}`:``,o=n();return l.join(t,`${o}-camera-${e.kind}${a}-${r}${i}`)}async function C(e,n,i){let a=new URL(n);if(a.protocol!==`https:`)throw Error(`writeUrlToFile: only https URLs are allowed, got ${a.protocol}`);let o=t(i.expectedHost);if(!o)throw Error(`writeUrlToFile: expectedHost is required`);if(t(a.hostname)!==o)throw Error(`writeUrlToFile: url host ${a.hostname} must match node host ${i.expectedHost}`);let s={allowPrivateNetwork:!0,allowedHostnames:[o],hostnameAllowlist:[o]},c=async()=>{},l=0;try{let a=await r({url:n,auditContext:`writeUrlToFile`,policy:s});c=a.release;let u=new URL(a.finalUrl);if(u.protocol!==`https:`)throw Error(`writeUrlToFile: redirect resolved to non-https URL ${a.finalUrl}`);if(t(u.hostname)!==o)throw Error(`writeUrlToFile: redirect host ${u.hostname} must match node host ${i.expectedHost}`);let d=a.response;if(!d.ok)throw Error(`failed to download ${n}: ${d.status} ${d.statusText}`);let p=d.headers.get(`content-length`),m=p?Number.parseInt(p,10):void 0;if(typeof m==`number`&&Number.isFinite(m)&&m>y)throw Error(`writeUrlToFile: content-length ${m} exceeds max ${y}`);let h=d.body;if(!h)throw Error(`failed to download ${n}: empty response body`);let g=await f.open(e,`w`),_;try{let e=h.getReader();for(;;){let{done:t,value:n}=await e.read();if(t)break;if(!(!n||n.byteLength===0)){if(l+=n.byteLength,l>y)throw Error(`writeUrlToFile: downloaded ${l} bytes, exceeds max ${y}`);await g.write(n)}}}catch(e){_=e}finally{await g.close()}if(_)throw await f.unlink(e).catch(()=>{}),_}finally{await c()}return{path:e,bytes:l}}async function w(e,t){let n=Buffer.from(t,`base64`);return await f.writeFile(e,n),{path:e,bytes:n.length}}function T(e){let t=e?.trim();if(!t)throw Error(`camera URL payload requires node remoteIp`);return t}async function E(e){if(e.payload.url){await C(e.filePath,e.payload.url,{expectedHost:T(e.expectedHost)});return}if(e.payload.base64){await w(e.filePath,e.payload.base64);return}throw Error(e.invalidPayloadMessage??`invalid camera payload`)}async function D(e){let t=S({kind:`clip`,facing:e.facing,ext:e.payload.format,tmpDir:e.tmpDir,id:e.id});return await E({filePath:t,payload:e.payload,expectedHost:e.expectedHost,invalidPayloadMessage:`invalid camera.clip payload`}),t}function O(e){let t=m(e),n=h(t.format),r=h(t.base64);if(!n||!r)throw Error(`invalid canvas.snapshot payload`);return{format:n,base64:r}}function k(e){let{tmpDir:t,id:r,ext:i}=v(e),a=n();return l.join(t,`${a}-canvas-snapshot-${r}${i}`)}function A(e){if(!Array.isArray(e)||e.length===0)return;let t={};for(let n of e){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<=0)continue;let r=n.slice(0,e).trim();r&&(t[r]=n.slice(e+1))}return Object.keys(t).length>0?t:void 0}function j(e){let t=m(e),n=h(t.format),r=h(t.base64);if(!n||!r)throw Error(`invalid screen.record payload`);return{format:n,base64:r,durationMs:typeof t.durationMs==`number`?t.durationMs:void 0,fps:typeof t.fps==`number`?t.fps:void 0,screenIndex:typeof t.screenIndex==`number`?t.screenIndex:void 0,hasAudio:typeof t.hasAudio==`boolean`?t.hasAudio:void 0}}function M(e){let{tmpDir:t,id:n,ext:r}=v(e);return l.join(t,`openclaw-screen-record-${n}${r}`)}async function N(e,t){return w(e,t)}function P(e){return typeof e==`string`?e:``}function F(e,t){let n=i(e);return!n||n===t?null:n}function I(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e,n=s(t.plan);if(n)return{plan:n};if(!t.plan||typeof t.plan!=`object`||Array.isArray(t.plan))return null;let r=t.plan,o=a(r.argv),c=i(r.rawCommand)??i(t.commandText)??i(t.cmdText);return o.length===0||!c?null:{plan:{argv:o,cwd:i(r.cwd),commandText:c,commandPreview:i(r.commandPreview),agentId:i(r.agentId),sessionKey:i(r.sessionKey)}}}function L(e){let t=(i(e.host)??``)===`node`?s(e.systemRunPlan):null,n=a(e.commandArgv),r=P(e.command),o=t?t.commandText||c(t.argv):r,l=t?F(t.commandPreview??r,o):null,u=t?{...t,commandPreview:l}:null;return{plan:u,commandArgv:u?.argv??(n.length>0?n:void 0),commandText:o,commandPreview:l,cwd:u?.cwd??i(e.cwd),agentId:u?.agentId??i(e.agentId),sessionKey:u?.sessionKey??i(e.sessionKey)}}function R(e){let t=s(e.plan??null);if(t)return{ok:!0,plan:t,argv:[...t.argv],cwd:t.cwd,agentId:t.agentId,sessionKey:t.sessionKey,commandText:t.commandText};let n=o({command:e.command,rawCommand:e.rawCommand});return n.ok?{ok:!0,plan:null,argv:n.argv,cwd:i(e.cwd),agentId:i(e.agentId),sessionKey:i(e.sessionKey),commandText:n.commandText}:{ok:!1,message:n.message,details:n.details}}function z(e){if(`PATH`in e)return`PATH`;for(let t of Object.keys(e))if(t.toUpperCase()===`PATH`)return t;return`PATH`}function B(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){if(typeof r!=`string`)continue;let e=r.trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function V(e,t){if(t.length===0)return e;let n=(e??``).split(u.delimiter).map(e=>e.trim()).filter(Boolean),r=new Set(t);return[...t,...n.filter(e=>!r.has(e))].join(u.delimiter)}function H(e,t,n){if(!Array.isArray(t)||t.length===0)return;let r=z(e);if(n?.requireExisting&&!e[r])return;let i=V(e[r],t);i&&(e[r]=i)}function U(e,t){return String(t??``).trim().toLowerCase().startsWith(`win`)?[`cmd.exe`,`/d`,`/s`,`/c`,e]:[`/bin/sh`,`-lc`,e]}export{b as _,B as a,E as b,R as c,N as d,A as f,x as g,S as h,V as i,j as l,O as m,H as n,I as o,k as p,z as r,L as s,U as t,M as u,w as v,D as y};
|
|
2
|
-
//# sourceMappingURL=node-shell-BVZylVP6.js.map
|
|
@@ -2,4 +2,3 @@ import"./paths-B4IRk3wi.js";import{A as e,k as t,p as n}from"./subsystem-C5XF2Fy
|
|
|
2
2
|
`))})}),{timeoutMs:6e4}),z(t.command(`clip`).description(`Capture a short video clip from a node camera (prints MEDIA:<path>)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--facing <front|back>`,`Camera facing`,`front`).option(`--device-id <id>`,`Camera device id (from nodes camera list)`).option(`--duration <ms|10s|1m>`,`Duration (default 3000ms; supports ms/s/m, e.g. 10s)`,`3000`).option(`--no-audio`,`Disable audio capture`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 90000)`,`90000`).action(async e=>{await W(`camera clip`,async()=>{let t=await I(e,String(e.node??``)),i=t.nodeId,a=G(String(e.facing??`front`)),s=o(String(e.duration??`3000`)),c=e.audio!==!1,l=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,u=e.deviceId?String(e.deviceId).trim():void 0,d=await L(`node.invoke`,e,V({nodeId:i,command:`camera.clip`,params:{facing:a,durationMs:Number.isFinite(s)?s:void 0,includeAudio:c,format:`mp4`,deviceId:u||void 0},timeoutMs:l})),f=ee((typeof d==`object`&&d?d:{}).payload),p=await C({payload:f,facing:a,expectedHost:t.remoteIp});if(e.json){n.log(JSON.stringify({file:{facing:a,path:p,durationMs:f.durationMs,hasAudio:f.hasAudio}},null,2));return}n.log(`MEDIA:${r(p)}`)})}),{timeoutMs:9e4})}const q=[`beginRendering`,`surfaceUpdate`,`dataModelUpdate`,`deleteSurface`,`createSurface`];function J(e){let t=`main`,n=`root`,r=`text`;return[{surfaceUpdate:{surfaceId:t,components:[{id:n,component:{Column:{children:{explicitList:[r]}}}},{id:r,component:{Text:{text:{literalString:e},usageHint:`body`}}}]}},{beginRendering:{surfaceId:t,root:n}}].map(e=>JSON.stringify(e)).join(`
|
|
3
3
|
`)}function oe(e){let t=e.split(/\r?\n/),n=[],r=!1,i=!1,a=0;if(t.forEach((e,t)=>{let o=e.trim();if(!o)return;a+=1;let s;try{s=JSON.parse(o)}catch(e){n.push(`line ${t+1}: ${String(e)}`);return}if(!s||typeof s!=`object`||Array.isArray(s)){n.push(`line ${t+1}: expected JSON object`);return}let c=s,l=q.filter(e=>e in c);if(l.length!==1){n.push(`line ${t+1}: expected exactly one action key (${q.join(`, `)})`);return}l[0]===`createSurface`?i=!0:r=!0}),a===0&&n.push(`no JSONL messages found`),r&&i&&n.push(`mixed A2UI v0.8 and v0.9 messages in one file`),n.length>0)throw Error(`Invalid A2UI JSONL:\n- ${n.join(`
|
|
4
4
|
- `)}`);return{version:i?`v0.9`:`v0.8`,messageCount:a}}async function Y(e,t,n){let r=await F(e,String(e.node??``)),i=M(e.invokeTimeout);return await L(`node.invoke`,e,V({nodeId:r,command:t,params:n,timeoutMs:typeof i==`number`?i:void 0}))}function se(e){let t=e.command(`canvas`).description(`Capture or render canvas content from a paired node`);z(t.command(`snapshot`).description(`Capture a canvas snapshot (prints MEDIA:<path>)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--format <png|jpg|jpeg>`,`Image format`,`jpg`).option(`--max-width <px>`,`Max width in px (optional)`).option(`--quality <0-1>`,`JPEG quality (optional)`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 20000)`,`20000`).action(async e=>{await W(`canvas snapshot`,async()=>{let t=String(e.format??`jpg`).trim().toLowerCase(),i=t===`jpg`||t===`jpeg`?`jpeg`:`png`;if(i!==`png`&&i!==`jpeg`)throw Error(`invalid format: ${String(e.format)} (expected png|jpg|jpeg)`);let a=e.maxWidth?Number.parseInt(String(e.maxWidth),10):void 0,o=e.quality?Number.parseFloat(String(e.quality)):void 0,s=await Y(e,`canvas.snapshot`,{format:i,maxWidth:Number.isFinite(a)?a:void 0,quality:Number.isFinite(o)?o:void 0}),c=re((typeof s==`object`&&s?s:{}).payload),l=S({ext:c.format===`jpeg`?`jpg`:c.format});if(await ae(l,c.base64),e.json){n.log(JSON.stringify({file:{path:l,format:c.format}},null,2));return}n.log(`MEDIA:${r(l)}`)})}),{timeoutMs:6e4}),z(t.command(`present`).description(`Show the canvas (optionally with a target URL/path)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--target <urlOrPath>`,`Target URL/path (optional)`).option(`--x <px>`,`Placement x coordinate`).option(`--y <px>`,`Placement y coordinate`).option(`--width <px>`,`Placement width`).option(`--height <px>`,`Placement height`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async e=>{await W(`canvas present`,async()=>{let t={x:e.x?Number.parseFloat(e.x):void 0,y:e.y?Number.parseFloat(e.y):void 0,width:e.width?Number.parseFloat(e.width):void 0,height:e.height?Number.parseFloat(e.height):void 0},r={};if(e.target&&(r.url=String(e.target)),(Number.isFinite(t.x)||Number.isFinite(t.y)||Number.isFinite(t.width)||Number.isFinite(t.height))&&(r.placement=t),await Y(e,`canvas.present`,r),!e.json){let{ok:e}=U();n.log(e(`canvas present ok`))}})})),z(t.command(`hide`).description(`Hide the canvas`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async e=>{await W(`canvas hide`,async()=>{if(await Y(e,`canvas.hide`,void 0),!e.json){let{ok:e}=U();n.log(e(`canvas hide ok`))}})})),z(t.command(`navigate`).description(`Navigate the canvas to a URL`).argument(`<url>`,`Target URL/path`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async(e,t)=>{await W(`canvas navigate`,async()=>{if(await Y(t,`canvas.navigate`,{url:e}),!t.json){let{ok:e}=U();n.log(e(`canvas navigate ok`))}})})),z(t.command(`eval`).description(`Evaluate JavaScript in the canvas`).argument(`[js]`,`JavaScript to evaluate`).option(`--js <code>`,`JavaScript to evaluate`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async(e,t)=>{await W(`canvas eval`,async()=>{let r=t.js??e;if(!r)throw Error(`missing --js or <js>`);let i=await Y(t,`canvas.eval`,{javaScript:r});if(t.json){n.log(JSON.stringify(i,null,2));return}let a=typeof i==`object`&&i?i.payload:void 0;if(a?.result)n.log(a.result);else{let{ok:e}=U();n.log(e(`canvas eval ok`))}})}));let i=t.command(`a2ui`).description(`Render A2UI content on the canvas`);z(i.command(`push`).description(`Push A2UI JSONL to the canvas`).option(`--jsonl <path>`,`Path to JSONL payload`).option(`--text <text>`,`Render a quick A2UI text payload`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async e=>{await W(`canvas a2ui push`,async()=>{let t=!!e.jsonl,r=typeof e.text==`string`;if(t===r)throw Error(`provide exactly one of --jsonl or --text`);let i=r?J(String(e.text??``)):await H.readFile(String(e.jsonl),`utf8`),{version:a,messageCount:o}=oe(i);if(a===`v0.9`)throw Error(`Detected A2UI v0.9 JSONL (createSurface). OpenClaw currently supports v0.8 only.`);if(await Y(e,`canvas.a2ui.pushJSONL`,{jsonl:i}),!e.json){let{ok:e}=U();n.log(e(`canvas a2ui push ok (v0.8, ${o} message${o===1?``:`s`})`))}})})),z(i.command(`reset`).description(`Reset A2UI renderer state`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async e=>{await W(`canvas a2ui reset`,async()=>{if(await Y(e,`canvas.a2ui.reset`,void 0),!e.json){let{ok:e}=U();n.log(e(`canvas a2ui reset ok`))}})}))}function ce(e,t){let n=e?.tools?.exec;if(!t)return n?{security:n.security,ask:n.ask,node:n.node,pathPrepend:n.pathPrepend,safeBins:n.safeBins}:void 0;let r=c(e,t)?.tools?.exec;return{security:r?.security??n?.security,ask:r?.ask??n?.ask,node:r?.node??n?.node,pathPrepend:r?.pathPrepend??n?.pathPrepend,safeBins:r?.safeBins??n?.safeBins}}async function le(e,t){try{let n=j(await L(`node.list`,e,{})).find(e=>e.nodeId===t);return typeof n?.platform==`string`?n.platform:null}catch{return null}}function ue(e){let t=ie(e);if(!t)throw Error(`invalid system.run.prepare response`);return t}function de(e,t){let n=h(t?.security)??`allowlist`,r=h(e.security);if(e.security&&!r)throw Error(`invalid --security (use deny|allowlist|full)`);let i=v(t?.ask)??_().defaults?.ask??`on-miss`,a=v(e.ask);if(e.ask&&!a)throw Error(`invalid --ask (use off|on-miss|always)`);return{security:y(n,r??n),ask:m(i,a??i)}}async function fe(e){let t=te(e.opts.env),n=M(e.opts.commandTimeout),r=M(e.opts.invokeTimeout),i=Array.isArray(e.command)?e.command:[],a;if(e.raw){a=e.raw;let t=await le(e.opts,e.nodeId);i=T(a,t??void 0)}let o=t?{...t}:void 0;return o&&x(o,e.execDefaults?.pathPrepend,{requireExisting:!0}),{prepared:ue((await L(`node.invoke`,e.opts,{nodeId:e.nodeId,command:`system.run.prepare`,params:{command:i,rawCommand:a,cwd:e.opts.cwd,agentId:e.agentId},idempotencyKey:`prepare-${l()}`}))?.payload),nodeEnv:o,timeoutMs:n,invokeTimeout:r}}async function pe(e){let t=await L(`exec.approvals.node.get`,e.opts,{nodeId:e.nodeId}),n=t&&typeof t==`object`?t.file:void 0;if(!n||typeof n!=`object`)throw Error(`exec approvals unavailable`);let r=g({file:n,agentId:e.agentId,overrides:{security:e.security,ask:e.ask}});return{approvals:r,hostSecurity:y(e.security,r.agent.security),hostAsk:m(e.ask,r.agent.ask),askFallback:r.agent.askFallback}}async function me(e){let t=!1,n=null,r=null;if(!(e.hostAsk===`always`||e.hostAsk===`on-miss`))return{approvedByAsk:t,approvalDecision:n,approvalId:r};r=crypto.randomUUID();let i=b,a=Math.max(M(e.opts.timeout)??0,i+1e4),o=await L(`exec.approval.request`,e.opts,{id:r,systemRunPlan:e.approvalPlan,cwd:e.approvalPlan.cwd,nodeId:e.nodeId,host:`node`,security:e.hostSecurity,ask:e.hostAsk,agentId:e.approvalPlan.agentId??e.agentId,resolvedPath:void 0,sessionKey:e.approvalPlan.sessionKey??void 0,timeoutMs:i},{transportTimeoutMs:a}),s=o&&typeof o==`object`?o.decision??null:null;if(s===`deny`)throw Error(`exec denied: user denied`);if(!s){if(e.askFallback===`full`)t=!0,n=`allow-once`;else if(e.askFallback!==`allowlist`)throw Error(`exec denied: approval required (approval UI not available)`)}return s===`allow-once`&&(t=!0,n=`allow-once`),s===`allow-always`&&(t=!0,n=`allow-always`),{approvedByAsk:t,approvalDecision:n,approvalId:r}}function he(e){let t={nodeId:e.nodeId,command:`system.run`,params:{command:e.approvalPlan.argv,rawCommand:e.approvalPlan.commandText,cwd:e.approvalPlan.cwd,env:e.nodeEnv,timeoutMs:e.timeoutMs,needsScreenRecording:e.needsScreenRecording},idempotencyKey:String(e.idempotencyKey??l())};return(e.approvalPlan.agentId??e.fallbackAgentId)&&(t.params.agentId=e.approvalPlan.agentId??e.fallbackAgentId),e.approvalPlan.sessionKey&&(t.params.sessionKey=e.approvalPlan.sessionKey),t.params.approved=e.approvedByAsk,e.approvalDecision&&(t.params.approvalDecision=e.approvalDecision),e.approvedByAsk&&e.approvalId&&(t.params.runId=e.approvalId),e.invokeTimeout!==void 0&&(t.timeoutMs=e.invokeTimeout),t}function ge(e){z(e.command(`invoke`).description(`Invoke a command on a paired node`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).requiredOption(`--command <command>`,`Command (e.g. canvas.eval)`).option(`--params <json>`,`JSON object string for params`,`{}`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 15000)`,`15000`).option(`--idempotency-key <key>`,`Idempotency key (optional)`).action(async e=>{await W(`invoke`,async()=>{let t=await F(e,String(e.node??``)),r=String(e.command??``).trim();if(!t||!r){let{error:e}=U();n.error(e(`--node and --command required`)),n.exit(1);return}let i=JSON.parse(String(e.params??`{}`)),a=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,o={nodeId:t,command:r,params:i,idempotencyKey:String(e.idempotencyKey??l())};typeof a==`number`&&Number.isFinite(a)&&(o.timeoutMs=a);let s=await L(`node.invoke`,e,o);n.log(JSON.stringify(s,null,2))})}),{timeoutMs:3e4}),z(e.command(`run`).description(`Run a shell command on a node (mac only)`).option(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--cwd <path>`,`Working directory`).option(`--env <key=val>`,`Environment override (repeatable)`,(e,t=[])=>[...t,e]).option(`--raw <command>`,`Run a raw shell command string (sh -lc / cmd.exe /c)`).option(`--agent <id>`,`Agent id (default: configured default agent)`).option(`--ask <mode>`,`Exec ask mode (off|on-miss|always)`).option(`--security <mode>`,`Exec security mode (deny|allowlist|full)`).option(`--command-timeout <ms>`,`Command timeout (ms)`).option(`--needs-screen-recording`,`Require screen recording permission`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 30000)`,`30000`).argument(`[command...]`,`Command and args`).action(async(e,t)=>{await W(`run`,async()=>{let r=a(),i=t.agent?.trim()||s(r),o=ce(r,i),c=typeof t.raw==`string`?t.raw.trim():``;if(c&&Array.isArray(e)&&e.length>0)throw Error(`use --raw or argv, not both`);if(!c&&(!Array.isArray(e)||e.length===0))throw Error(`command required`);let l=String(t.node??``).trim()||o?.node?.trim()||``;if(!l)throw Error(`node required (set --node or tools.exec.node)`);let u=await F(t,l),d=await fe({opts:t,command:e,raw:c,nodeId:u,agentId:i,execDefaults:o}),f=d.prepared.plan,p=de(t,o),m=await pe({opts:t,nodeId:u,agentId:i,security:p.security,ask:p.ask});if(m.hostSecurity===`deny`)throw Error(`exec denied: host=node security=deny`);let h=await me({opts:t,nodeId:u,agentId:i,approvalPlan:f,hostSecurity:m.hostSecurity,hostAsk:m.hostAsk,askFallback:m.askFallback}),g=await L(`node.invoke`,t,he({nodeId:u,approvalPlan:f,nodeEnv:d.nodeEnv,timeoutMs:d.timeoutMs,invokeTimeout:d.invokeTimeout,approvedByAsk:h.approvedByAsk,approvalDecision:h.approvalDecision,approvalId:h.approvalId,idempotencyKey:t.idempotencyKey,fallbackAgentId:i,needsScreenRecording:t.needsScreenRecording===!0}));if(t.json){n.log(JSON.stringify(g,null,2));return}let _=typeof g==`object`&&g?g.payload:void 0,v=typeof _?.stdout==`string`?_.stdout:``,y=typeof _?.stderr==`string`?_.stderr:``,b=typeof _?.exitCode==`number`?_.exitCode:null,x=_?.timedOut===!0,S=_?.success===!0;if(v&&process.stdout.write(v),y&&process.stderr.write(y),x){let{error:e}=U();n.error(e(`run timed out`)),n.exit(1);return}if(b!==null&&b!==0){let e=R(`${y}\n${v}`);if(e){let{warn:t}=U();n.error(t(e))}}if(b!==null&&b!==0&&!S){let{error:e}=U();n.error(e(`run exit ${b}`)),n.exit(1);return}})}),{timeoutMs:35e3})}function _e(e){z(e.command(`location`).description(`Fetch location from a paired node`).command(`get`).description(`Fetch the current location from a node`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--max-age <ms>`,`Use cached location newer than this (ms)`).option(`--accuracy <coarse|balanced|precise>`,`Desired accuracy (default: balanced/precise depending on node setting)`).option(`--location-timeout <ms>`,`Location fix timeout (ms)`,`10000`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 20000)`,`20000`).action(async e=>{await W(`location get`,async()=>{let t=await F(e,String(e.node??``)),r=e.maxAge?Number.parseInt(String(e.maxAge),10):void 0,i=typeof e.accuracy==`string`?e.accuracy.trim().toLowerCase():void 0,a=i===`coarse`||i===`balanced`||i===`precise`?i:void 0,o=e.locationTimeout?Number.parseInt(String(e.locationTimeout),10):void 0,s=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,c={nodeId:t,command:`location.get`,params:{maxAgeMs:Number.isFinite(r)?r:void 0,desiredAccuracy:a,timeoutMs:Number.isFinite(o)?o:void 0},idempotencyKey:l()};typeof s==`number`&&Number.isFinite(s)&&(c.timeoutMs=s);let u=await L(`node.invoke`,e,c),d=typeof u==`object`&&u?u:{},f=d.payload&&typeof d.payload==`object`?d.payload:{};if(e.json){n.log(JSON.stringify(f,null,2));return}let p=f.lat,m=f.lon,h=f.accuracyMeters;if(typeof p==`number`&&typeof m==`number`){let e=typeof h==`number`?` ±${h.toFixed(1)}m`:``;n.log(`${p},${m}${e}`);return}n.log(JSON.stringify(f))})}),{timeoutMs:3e4})}function ve(e){z(e.command(`notify`).description(`Send a local notification on a node (mac only)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--title <text>`,`Notification title`).option(`--body <text>`,`Notification body`).option(`--sound <name>`,`Notification sound`).option(`--priority <passive|active|timeSensitive>`,`Notification priority`).option(`--delivery <system|overlay|auto>`,`Delivery mode`,`system`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 15000)`,`15000`).action(async e=>{await W(`notify`,async()=>{let t=await F(e,String(e.node??``)),r=String(e.title??``).trim(),i=String(e.body??``).trim();if(!r&&!i)throw Error(`missing --title or --body`);let a=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,o={nodeId:t,command:`system.notify`,params:{title:r,body:i,sound:e.sound,priority:e.priority,delivery:e.delivery},idempotencyKey:String(e.idempotencyKey??l())};typeof a==`number`&&Number.isFinite(a)&&(o.timeoutMs=a);let s=await L(`node.invoke`,e,o);if(e.json){n.log(JSON.stringify(s,null,2));return}let{ok:c}=U();n.log(c(`notify ok`))})}))}function X(e){let{pending:t,now:n,tableWidth:r,theme:i}=e,a=t.map(e=>({Request:e.requestId,Node:e.displayName?.trim()?e.displayName.trim():e.nodeId,IP:e.remoteIp??``,Requested:typeof e.ts==`number`?u(Math.max(0,n-e.ts)):i.muted(`unknown`),Repair:e.isRepair?i.warn(`yes`):``}));return{heading:i.heading(`Pending`),table:N({width:r,columns:[{key:`Request`,header:`Request`,minWidth:8},{key:`Node`,header:`Node`,minWidth:14,flex:!0},{key:`IP`,header:`IP`,minWidth:10},{key:`Requested`,header:`Requested`,minWidth:12},{key:`Repair`,header:`Repair`,minWidth:6}],rows:a}).trimEnd()}}function ye(e){z(e.command(`pending`).description(`List pending pairing requests`).action(async e=>{await W(`pending`,async()=>{let{pending:t}=A(await L(`node.pair.list`,e,{}));if(e.json){n.log(JSON.stringify(t,null,2));return}if(t.length===0){let{muted:e}=U();n.log(e(`No pending pairing requests.`));return}let{heading:r,warn:i,muted:a}=U(),o=P(),s=X({pending:t,now:Date.now(),tableWidth:o,theme:{heading:r,warn:i,muted:a}});n.log(s.heading),n.log(s.table)})})),z(e.command(`approve`).description(`Approve a pending pairing request`).argument(`<requestId>`,`Pending request id`).action(async(e,t)=>{await W(`approve`,async()=>{let r=await L(`node.pair.approve`,t,{requestId:e});n.log(JSON.stringify(r,null,2))})})),z(e.command(`reject`).description(`Reject a pending pairing request`).argument(`<requestId>`,`Pending request id`).action(async(e,t)=>{await W(`reject`,async()=>{let r=await L(`node.pair.reject`,t,{requestId:e});n.log(JSON.stringify(r,null,2))})})),z(e.command(`rename`).description(`Rename a paired node (display name override)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).requiredOption(`--name <displayName>`,`New display name`).action(async e=>{await W(`rename`,async()=>{let t=await F(e,String(e.node??``)),r=String(e.name??``).trim();if(!t||!r){n.error(`--node and --name required`),n.exit(1);return}let i=await L(`node.rename`,e,{nodeId:t,displayName:r});if(e.json){n.log(JSON.stringify(i,null,2));return}let{ok:a}=U();n.log(a(`node rename ok: ${t} -> ${r}`))})}))}function be(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t===`sandbox`||t===`production`?t:null}function xe(e){z(e.command(`push`).description(`Send an APNs test push to an iOS node`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--title <text>`,`Push title`,`OpenClaw`).option(`--body <text>`,`Push body`).option(`--environment <sandbox|production>`,`Override APNs environment`).action(async e=>{await W(`push`,async()=>{let t=await F(e,String(e.node??``)),r=String(e.title??``).trim()||`OpenClaw`,i=String(e.body??``).trim()||`Push test for node ${t}`,a=be(e.environment);if(e.environment&&!a)throw Error(`invalid --environment (use sandbox|production)`);let o={nodeId:t,title:r,body:i};a&&(o.environment=a);let s=await L(`push.test`,e,o);if(e.json){n.log(JSON.stringify(s,null,2));return}let c=typeof s==`object`&&s?s:{},l=c.ok===!0,u=typeof c.status==`number`?c.status:0,d=typeof c.reason==`string`&&c.reason.trim().length>0?c.reason.trim():void 0,f=typeof c.environment==`string`&&c.environment.trim().length>0?c.environment.trim():`unknown`,{ok:p,error:m}=U(),h=l?p:m;n.log(h(`push.test status=${u} ok=${l} env=${f}`)),d&&n.log(`reason: ${d}`)})}),{timeoutMs:25e3})}function Se(e){z(e.command(`screen`).description(`Capture screen recordings from a paired node`).command(`record`).description(`Capture a short screen recording from a node (prints MEDIA:<path>)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--screen <index>`,`Screen index (0 = primary)`,`0`).option(`--duration <ms|10s>`,`Clip duration (ms or 10s)`,`10000`).option(`--fps <fps>`,`Frames per second`,`10`).option(`--no-audio`,`Disable microphone audio capture`).option(`--out <path>`,`Output path`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 120000)`,`120000`).action(async e=>{await W(`screen record`,async()=>{let t=await F(e,String(e.node??``)),i=o(e.duration??``),a=Number.parseInt(String(e.screen??`0`),10),s=Number.parseFloat(String(e.fps??`10`)),c=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,l=await L(`node.invoke`,e,V({nodeId:t,command:`screen.record`,params:{durationMs:Number.isFinite(i)?i:void 0,screenIndex:Number.isFinite(a)?a:void 0,fps:Number.isFinite(s)?s:void 0,format:`mp4`,includeAudio:e.audio!==!1},timeoutMs:c})),u=k((typeof l==`object`&&l?l:{}).payload),d=await D(e.out??ne({ext:u.format||`mp4`}),u.base64);if(e.json){n.log(JSON.stringify({file:{path:d.path,durationMs:u.durationMs,fps:u.fps,screenIndex:u.screenIndex,hasAudio:u.hasAudio}},null,2));return}n.log(`MEDIA:${r(d.path)}`)})}),{timeoutMs:18e4})}function Z(e){let t=e.trim();return t?t.toLowerCase().startsWith(`v`)?t:/^\d/.test(t)?`v${t}`:t:e}function Ce(e){let t=e.coreVersion?.trim()||void 0,n=e.uiVersion?.trim()||void 0;if(t||n)return{core:t,ui:n};let r=e.version?.trim();if(!r)return{core:void 0,ui:void 0};let i=e.platform?.trim().toLowerCase()??``;return i===`darwin`||i===`linux`||i===`win32`||i===`windows`?{core:r,ui:void 0}:{core:void 0,ui:r}}function Q(e){let{core:t,ui:n}=Ce(e),r=[];return t&&r.push(`core ${Z(t)}`),n&&r.push(`ui ${Z(n)}`),r.length>0?r.join(` · `):null}function we(e){if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let n=t.split(`:`).filter(Boolean);return i(n.length<=3?t:`${n.slice(0,2).join(`:`)}:…:${n.slice(-1)[0]}`)}function $(e,t){if(e==null)return;let r=typeof e==`string`?e.trim():typeof e==`number`?String(e).trim():null;if(r===null){n.error(`${t}: invalid duration value`),n.exit(1);return}if(r)try{return o(r)}catch(e){let r=e instanceof Error?e.message:String(e);n.error(`${t}: ${r}`),n.exit(1);return}}function Te(e){z(e.command(`status`).description(`List known nodes with connection status and capabilities`).option(`--connected`,`Only show connected nodes`).option(`--last-connected <duration>`,`Only show nodes connected within duration (e.g. 24h)`).action(async e=>{await W(`status`,async()=>{let t=!!e.connected,r=$(e.lastConnected,`Invalid --last-connected`),i=await L(`node.list`,e,{}),a=typeof i==`object`&&i?i:{},{ok:o,warn:s,muted:c}=U(),l=P(),d=Date.now(),f=j(i),p=r===void 0?null:new Map(A(await L(`node.pair.list`,e,{})).paired.map(e=>[e.nodeId,e])),m=f.filter(e=>{if(t&&!e.connected)return!1;if(r!==void 0){let t=p?.get(e.nodeId),n=typeof t?.lastConnectedAtMs==`number`?t.lastConnectedAtMs:typeof e.connectedAtMs==`number`?e.connectedAtMs:void 0;if(typeof n!=`number`||d-n>r)return!1}return!0});if(e.json){let e=typeof a.ts==`number`?a.ts:Date.now();n.log(JSON.stringify({...a,ts:e,nodes:m},null,2));return}let h=m.filter(e=>!!e.paired).length,g=m.filter(e=>!!e.connected).length,_=m.length===f.length?``:` (of ${f.length})`;if(n.log(`Known: ${m.length}${_} · Paired: ${h} · Connected: ${g}`),m.length===0)return;let v=m.map(e=>{let t=e.displayName?.trim()?e.displayName.trim():e.nodeId,n=B(e.permissions),r=Q(e),i=we(e.pathEnv),a=[e.deviceFamily?`device: ${e.deviceFamily}`:null,e.modelIdentifier?`hw: ${e.modelIdentifier}`:null,n?`perms: ${n}`:null,r,i?`path: ${i}`:null].filter(Boolean),l=Array.isArray(e.caps)?e.caps.map(String).filter(Boolean).toSorted().join(`, `):`?`,f=e.paired?o(`paired`):s(`unpaired`),p=e.connected?o(`connected`):c(`disconnected`),m=typeof e.connectedAtMs==`number`?` (${u(Math.max(0,d-e.connectedAtMs))})`:``;return{Node:t,ID:e.nodeId,IP:e.remoteIp??``,Detail:a.join(` · `),Status:`${f} · ${p}${m}`,Caps:l}});n.log(N({width:l,columns:[{key:`Node`,header:`Node`,minWidth:14,flex:!0},{key:`ID`,header:`ID`,minWidth:10},{key:`IP`,header:`IP`,minWidth:10},{key:`Detail`,header:`Detail`,minWidth:18,flex:!0},{key:`Status`,header:`Status`,minWidth:18},{key:`Caps`,header:`Caps`,minWidth:12,flex:!0}],rows:v}).trimEnd())})})),z(e.command(`describe`).description(`Describe a node (capabilities + supported invoke commands)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).action(async e=>{await W(`describe`,async()=>{let t=await F(e,String(e.node??``)),r=await L(`node.describe`,e,{nodeId:t});if(e.json){n.log(JSON.stringify(r,null,2));return}let i=typeof r==`object`&&r?r:{},a=typeof i.displayName==`string`?i.displayName:t,o=!!i.connected,s=!!i.paired,c=Array.isArray(i.caps)?i.caps.map(String).filter(Boolean).toSorted():null,l=Array.isArray(i.commands)?i.commands.map(String).filter(Boolean).toSorted():[],u=B(i.permissions),d=typeof i.deviceFamily==`string`?i.deviceFamily:null,f=typeof i.modelIdentifier==`string`?i.modelIdentifier:null,p=typeof i.remoteIp==`string`?i.remoteIp:null,m=typeof i.pathEnv==`string`?i.pathEnv:null,h=Q(i),{heading:g,ok:_,warn:v,muted:y}=U(),b=`${s?_(`paired`):v(`unpaired`)} · ${o?_(`connected`):y(`disconnected`)}`,x=P(),S=[{Field:`ID`,Value:t},a?{Field:`Name`,Value:a}:null,p?{Field:`IP`,Value:p}:null,d?{Field:`Device`,Value:d}:null,f?{Field:`Model`,Value:f}:null,u?{Field:`Perms`,Value:u}:null,h?{Field:`Version`,Value:h}:null,m?{Field:`PATH`,Value:m}:null,{Field:`Status`,Value:b},{Field:`Caps`,Value:c?c.join(`, `):`?`}].filter(Boolean);if(n.log(g(`Node`)),n.log(N({width:x,columns:[{key:`Field`,header:`Field`,minWidth:8},{key:`Value`,header:`Value`,minWidth:24,flex:!0}],rows:S}).trimEnd()),n.log(``),n.log(g(`Commands`)),l.length===0){n.log(y(`- (none reported)`));return}for(let e of l)n.log(`- ${e}`)})})),z(e.command(`list`).description(`List pending and paired nodes`).option(`--connected`,`Only show connected nodes`).option(`--last-connected <duration>`,`Only show nodes connected within duration (e.g. 24h)`).action(async e=>{await W(`list`,async()=>{let t=!!e.connected,r=$(e.lastConnected,`Invalid --last-connected`),{pending:i,paired:a}=A(await L(`node.pair.list`,e,{})),{heading:o,muted:s,warn:c}=U(),l=P(),d=Date.now(),f=t||r!==void 0,p=f?[]:i,m=f?new Map(j(await L(`node.list`,e,{})).map(e=>[e.nodeId,e])):null,h=a.filter(e=>{if(t&&!m?.get(e.nodeId)?.connected)return!1;if(r!==void 0){let t=m?.get(e.nodeId),n=typeof e.lastConnectedAtMs==`number`?e.lastConnectedAtMs:typeof t?.connectedAtMs==`number`?t.connectedAtMs:void 0;if(typeof n!=`number`||d-n>r)return!1}return!0}),g=f&&h.length!==a.length?` (of ${a.length})`:``;if(n.log(`Pending: ${p.length} · Paired: ${h.length}${g}`),e.json){n.log(JSON.stringify({pending:p,paired:h},null,2));return}if(p.length>0){let e=X({pending:p,now:d,tableWidth:l,theme:{heading:o,warn:c,muted:s}});n.log(``),n.log(e.heading),n.log(e.table)}if(h.length>0){let e=h.map(e=>{let t=m?.get(e.nodeId),n=typeof e.lastConnectedAtMs==`number`?e.lastConnectedAtMs:typeof t?.connectedAtMs==`number`?t.connectedAtMs:void 0;return{Node:e.displayName?.trim()?e.displayName.trim():e.nodeId,Id:e.nodeId,IP:e.remoteIp??``,LastConnect:typeof n==`number`?u(Math.max(0,d-n)):s(`unknown`)}});n.log(``),n.log(o(`Paired`)),n.log(N({width:l,columns:[{key:`Node`,header:`Node`,minWidth:14,flex:!0},{key:`Id`,header:`ID`,minWidth:10},{key:`IP`,header:`IP`,minWidth:10},{key:`LastConnect`,header:`Last Connect`,minWidth:14}],rows:e}).trimEnd())}})}))}function Ee(t){let n=t.command(`nodes`).description(`Manage gateway-owned nodes (pairing, status, invoke, and media)`).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${p([[`openclaw nodes status`,`List known nodes with live status.`],[`openclaw nodes pairing pending`,`Show pending node pairing requests.`],[`openclaw nodes run --node <id> --raw "uname -a"`,`Run a shell command on a node.`],[`openclaw nodes camera snap --node <id>`,`Capture a photo from a node camera.`]])}\n\n${e.muted(`Docs:`)} ${d(`/cli/nodes`,`docs.openclaw.ai/cli/nodes`)}\n`);Te(n),ye(n),ge(n),ve(n),xe(n),se(n),K(n),Se(n),_e(n)}export{Ee as registerNodesCli};
|
|
5
|
-
//# sourceMappingURL=nodes-cli-B3aNQG30.js.map
|
|
@@ -2,4 +2,3 @@ import{A as e,k as t,p as n}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_x
|
|
|
2
2
|
`))})}),{timeoutMs:6e4}),R(t.command(`clip`).description(`Capture a short video clip from a node camera (prints MEDIA:<path>)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--facing <front|back>`,`Camera facing`,`front`).option(`--device-id <id>`,`Camera device id (from nodes camera list)`).option(`--duration <ms|10s|1m>`,`Duration (default 3000ms; supports ms/s/m, e.g. 10s)`,`3000`).option(`--no-audio`,`Disable audio capture`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 90000)`,`90000`).action(async e=>{await U(`camera clip`,async()=>{let t=await F(e,String(e.node??``)),r=t.nodeId,i=W(String(e.facing??`front`)),a=c(String(e.duration??`3000`)),o=e.audio!==!1,l=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,u=e.deviceId?String(e.deviceId).trim():void 0,d=await I(`node.invoke`,e,B({nodeId:r,command:`camera.clip`,params:{facing:i,durationMs:Number.isFinite(a)?a:void 0,includeAudio:o,format:`mp4`,deviceId:u||void 0},timeoutMs:l})),f=_((typeof d==`object`&&d?d:{}).payload),p=await ne({payload:f,facing:i,expectedHost:t.remoteIp});if(e.json){n.log(JSON.stringify({file:{facing:i,path:p,durationMs:f.durationMs,hasAudio:f.hasAudio}},null,2));return}n.log(`MEDIA:${s(p)}`)})}),{timeoutMs:9e4})}const K=[`beginRendering`,`surfaceUpdate`,`dataModelUpdate`,`deleteSurface`,`createSurface`];function q(e){let t=`main`,n=`root`,r=`text`;return[{surfaceUpdate:{surfaceId:t,components:[{id:n,component:{Column:{children:{explicitList:[r]}}}},{id:r,component:{Text:{text:{literalString:e},usageHint:`body`}}}]}},{beginRendering:{surfaceId:t,root:n}}].map(e=>JSON.stringify(e)).join(`
|
|
3
3
|
`)}function se(e){let t=e.split(/\r?\n/),n=[],r=!1,i=!1,a=0;if(t.forEach((e,t)=>{let o=e.trim();if(!o)return;a+=1;let s;try{s=JSON.parse(o)}catch(e){n.push(`line ${t+1}: ${String(e)}`);return}if(!s||typeof s!=`object`||Array.isArray(s)){n.push(`line ${t+1}: expected JSON object`);return}let c=s,l=K.filter(e=>e in c);if(l.length!==1){n.push(`line ${t+1}: expected exactly one action key (${K.join(`, `)})`);return}l[0]===`createSurface`?i=!0:r=!0}),a===0&&n.push(`no JSONL messages found`),r&&i&&n.push(`mixed A2UI v0.8 and v0.9 messages in one file`),n.length>0)throw Error(`Invalid A2UI JSONL:\n- ${n.join(`
|
|
4
4
|
- `)}`);return{version:i?`v0.9`:`v0.8`,messageCount:a}}async function J(e,t,n){let r=await P(e,String(e.node??``)),i=T(e.invokeTimeout);return await I(`node.invoke`,e,B({nodeId:r,command:t,params:n,timeoutMs:typeof i==`number`?i:void 0}))}function ce(e){let t=e.command(`canvas`).description(`Capture or render canvas content from a paired node`);R(t.command(`snapshot`).description(`Capture a canvas snapshot (prints MEDIA:<path>)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--format <png|jpg|jpeg>`,`Image format`,`jpg`).option(`--max-width <px>`,`Max width in px (optional)`).option(`--quality <0-1>`,`JPEG quality (optional)`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 20000)`,`20000`).action(async e=>{await U(`canvas snapshot`,async()=>{let t=String(e.format??`jpg`).trim().toLowerCase(),r=t===`jpg`||t===`jpeg`?`jpeg`:`png`;if(r!==`png`&&r!==`jpeg`)throw Error(`invalid format: ${String(e.format)} (expected png|jpg|jpeg)`);let i=e.maxWidth?Number.parseInt(String(e.maxWidth),10):void 0,a=e.quality?Number.parseFloat(String(e.quality)):void 0,o=await J(e,`canvas.snapshot`,{format:r,maxWidth:Number.isFinite(i)?i:void 0,quality:Number.isFinite(a)?a:void 0}),c=b((typeof o==`object`&&o?o:{}).payload),l=ee({ext:c.format===`jpeg`?`jpg`:c.format});if(await w(l,c.base64),e.json){n.log(JSON.stringify({file:{path:l,format:c.format}},null,2));return}n.log(`MEDIA:${s(l)}`)})}),{timeoutMs:6e4}),R(t.command(`present`).description(`Show the canvas (optionally with a target URL/path)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--target <urlOrPath>`,`Target URL/path (optional)`).option(`--x <px>`,`Placement x coordinate`).option(`--y <px>`,`Placement y coordinate`).option(`--width <px>`,`Placement width`).option(`--height <px>`,`Placement height`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async e=>{await U(`canvas present`,async()=>{let t={x:e.x?Number.parseFloat(e.x):void 0,y:e.y?Number.parseFloat(e.y):void 0,width:e.width?Number.parseFloat(e.width):void 0,height:e.height?Number.parseFloat(e.height):void 0},r={};if(e.target&&(r.url=String(e.target)),(Number.isFinite(t.x)||Number.isFinite(t.y)||Number.isFinite(t.width)||Number.isFinite(t.height))&&(r.placement=t),await J(e,`canvas.present`,r),!e.json){let{ok:e}=H();n.log(e(`canvas present ok`))}})})),R(t.command(`hide`).description(`Hide the canvas`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async e=>{await U(`canvas hide`,async()=>{if(await J(e,`canvas.hide`,void 0),!e.json){let{ok:e}=H();n.log(e(`canvas hide ok`))}})})),R(t.command(`navigate`).description(`Navigate the canvas to a URL`).argument(`<url>`,`Target URL/path`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async(e,t)=>{await U(`canvas navigate`,async()=>{if(await J(t,`canvas.navigate`,{url:e}),!t.json){let{ok:e}=H();n.log(e(`canvas navigate ok`))}})})),R(t.command(`eval`).description(`Evaluate JavaScript in the canvas`).argument(`[js]`,`JavaScript to evaluate`).option(`--js <code>`,`JavaScript to evaluate`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async(e,t)=>{await U(`canvas eval`,async()=>{let r=t.js??e;if(!r)throw Error(`missing --js or <js>`);let i=await J(t,`canvas.eval`,{javaScript:r});if(t.json){n.log(JSON.stringify(i,null,2));return}let a=typeof i==`object`&&i?i.payload:void 0;if(a?.result)n.log(a.result);else{let{ok:e}=H();n.log(e(`canvas eval ok`))}})}));let r=t.command(`a2ui`).description(`Render A2UI content on the canvas`);R(r.command(`push`).description(`Push A2UI JSONL to the canvas`).option(`--jsonl <path>`,`Path to JSONL payload`).option(`--text <text>`,`Render a quick A2UI text payload`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async e=>{await U(`canvas a2ui push`,async()=>{let t=!!e.jsonl,r=typeof e.text==`string`;if(t===r)throw Error(`provide exactly one of --jsonl or --text`);let i=r?q(String(e.text??``)):await V.readFile(String(e.jsonl),`utf8`),{version:a,messageCount:o}=se(i);if(a===`v0.9`)throw Error(`Detected A2UI v0.9 JSONL (createSurface). OpenClaw currently supports v0.8 only.`);if(await J(e,`canvas.a2ui.pushJSONL`,{jsonl:i}),!e.json){let{ok:e}=H();n.log(e(`canvas a2ui push ok (v0.8, ${o} message${o===1?``:`s`})`))}})})),R(r.command(`reset`).description(`Reset A2UI renderer state`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms`).action(async e=>{await U(`canvas a2ui reset`,async()=>{if(await J(e,`canvas.a2ui.reset`,void 0),!e.json){let{ok:e}=H();n.log(e(`canvas a2ui reset ok`))}})}))}function le(e,t){let n=e?.tools?.exec;if(!t)return n?{security:n.security,ask:n.ask,node:n.node,pathPrepend:n.pathPrepend,safeBins:n.safeBins}:void 0;let r=a(e,t)?.tools?.exec;return{security:r?.security??n?.security,ask:r?.ask??n?.ask,node:r?.node??n?.node,pathPrepend:r?.pathPrepend??n?.pathPrepend,safeBins:r?.safeBins??n?.safeBins}}async function ue(e,t){try{let n=f(await I(`node.list`,e,{})).find(e=>e.nodeId===t);return typeof n?.platform==`string`?n.platform:null}catch{return null}}function de(e){let t=S(e);if(!t)throw Error(`invalid system.run.prepare response`);return t}function fe(e,t){let n=O(t?.security)??`allowlist`,r=O(e.security);if(e.security&&!r)throw Error(`invalid --security (use deny|allowlist|full)`);let i=A(t?.ask)??k().defaults?.ask??`on-miss`,a=A(e.ask);if(e.ask&&!a)throw Error(`invalid --ask (use off|on-miss|always)`);return{security:j(n,r??n),ask:D(i,a??i)}}async function pe(e){let t=g(e.opts.env),n=T(e.opts.commandTimeout),r=T(e.opts.invokeTimeout),i=Array.isArray(e.command)?e.command:[],a;if(e.raw){a=e.raw;let t=await ue(e.opts,e.nodeId);i=te(a,t??void 0)}let o=t?{...t}:void 0;return o&&x(o,e.execDefaults?.pathPrepend,{requireExisting:!0}),{prepared:de((await I(`node.invoke`,e.opts,{nodeId:e.nodeId,command:`system.run.prepare`,params:{command:i,rawCommand:a,cwd:e.opts.cwd,agentId:e.agentId},idempotencyKey:`prepare-${l()}`}))?.payload),nodeEnv:o,timeoutMs:n,invokeTimeout:r}}async function me(e){let t=await I(`exec.approvals.node.get`,e.opts,{nodeId:e.nodeId}),n=t&&typeof t==`object`?t.file:void 0;if(!n||typeof n!=`object`)throw Error(`exec approvals unavailable`);let r=ae({file:n,agentId:e.agentId,overrides:{security:e.security,ask:e.ask}});return{approvals:r,hostSecurity:j(e.security,r.agent.security),hostAsk:D(e.ask,r.agent.ask),askFallback:r.agent.askFallback}}async function he(e){let t=!1,n=null,r=null;if(!(e.hostAsk===`always`||e.hostAsk===`on-miss`))return{approvedByAsk:t,approvalDecision:n,approvalId:r};r=crypto.randomUUID();let i=oe,a=Math.max(T(e.opts.timeout)??0,i+1e4),o=await I(`exec.approval.request`,e.opts,{id:r,systemRunPlan:e.approvalPlan,cwd:e.approvalPlan.cwd,nodeId:e.nodeId,host:`node`,security:e.hostSecurity,ask:e.hostAsk,agentId:e.approvalPlan.agentId??e.agentId,resolvedPath:void 0,sessionKey:e.approvalPlan.sessionKey??void 0,timeoutMs:i},{transportTimeoutMs:a}),s=o&&typeof o==`object`?o.decision??null:null;if(s===`deny`)throw Error(`exec denied: user denied`);if(!s){if(e.askFallback===`full`)t=!0,n=`allow-once`;else if(e.askFallback!==`allowlist`)throw Error(`exec denied: approval required (approval UI not available)`)}return s===`allow-once`&&(t=!0,n=`allow-once`),s===`allow-always`&&(t=!0,n=`allow-always`),{approvedByAsk:t,approvalDecision:n,approvalId:r}}function ge(e){let t={nodeId:e.nodeId,command:`system.run`,params:{command:e.approvalPlan.argv,rawCommand:e.approvalPlan.commandText,cwd:e.approvalPlan.cwd,env:e.nodeEnv,timeoutMs:e.timeoutMs,needsScreenRecording:e.needsScreenRecording},idempotencyKey:String(e.idempotencyKey??l())};return(e.approvalPlan.agentId??e.fallbackAgentId)&&(t.params.agentId=e.approvalPlan.agentId??e.fallbackAgentId),e.approvalPlan.sessionKey&&(t.params.sessionKey=e.approvalPlan.sessionKey),t.params.approved=e.approvedByAsk,e.approvalDecision&&(t.params.approvalDecision=e.approvalDecision),e.approvedByAsk&&e.approvalId&&(t.params.runId=e.approvalId),e.invokeTimeout!==void 0&&(t.timeoutMs=e.invokeTimeout),t}function _e(e){R(e.command(`invoke`).description(`Invoke a command on a paired node`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).requiredOption(`--command <command>`,`Command (e.g. canvas.eval)`).option(`--params <json>`,`JSON object string for params`,`{}`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 15000)`,`15000`).option(`--idempotency-key <key>`,`Idempotency key (optional)`).action(async e=>{await U(`invoke`,async()=>{let t=await P(e,String(e.node??``)),r=String(e.command??``).trim();if(!t||!r){let{error:e}=H();n.error(e(`--node and --command required`)),n.exit(1);return}let i=JSON.parse(String(e.params??`{}`)),a=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,o={nodeId:t,command:r,params:i,idempotencyKey:String(e.idempotencyKey??l())};typeof a==`number`&&Number.isFinite(a)&&(o.timeoutMs=a);let s=await I(`node.invoke`,e,o);n.log(JSON.stringify(s,null,2))})}),{timeoutMs:3e4}),R(e.command(`run`).description(`Run a shell command on a node (mac only)`).option(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--cwd <path>`,`Working directory`).option(`--env <key=val>`,`Environment override (repeatable)`,(e,t=[])=>[...t,e]).option(`--raw <command>`,`Run a raw shell command string (sh -lc / cmd.exe /c)`).option(`--agent <id>`,`Agent id (default: configured default agent)`).option(`--ask <mode>`,`Exec ask mode (off|on-miss|always)`).option(`--security <mode>`,`Exec security mode (deny|allowlist|full)`).option(`--command-timeout <ms>`,`Command timeout (ms)`).option(`--needs-screen-recording`,`Require screen recording permission`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 30000)`,`30000`).argument(`[command...]`,`Command and args`).action(async(e,t)=>{await U(`run`,async()=>{let a=r(),o=t.agent?.trim()||i(a),s=le(a,o),c=typeof t.raw==`string`?t.raw.trim():``;if(c&&Array.isArray(e)&&e.length>0)throw Error(`use --raw or argv, not both`);if(!c&&(!Array.isArray(e)||e.length===0))throw Error(`command required`);let l=String(t.node??``).trim()||s?.node?.trim()||``;if(!l)throw Error(`node required (set --node or tools.exec.node)`);let u=await P(t,l),d=await pe({opts:t,command:e,raw:c,nodeId:u,agentId:o,execDefaults:s}),f=d.prepared.plan,p=fe(t,s),m=await me({opts:t,nodeId:u,agentId:o,security:p.security,ask:p.ask});if(m.hostSecurity===`deny`)throw Error(`exec denied: host=node security=deny`);let h=await he({opts:t,nodeId:u,agentId:o,approvalPlan:f,hostSecurity:m.hostSecurity,hostAsk:m.hostAsk,askFallback:m.askFallback}),g=await I(`node.invoke`,t,ge({nodeId:u,approvalPlan:f,nodeEnv:d.nodeEnv,timeoutMs:d.timeoutMs,invokeTimeout:d.invokeTimeout,approvedByAsk:h.approvedByAsk,approvalDecision:h.approvalDecision,approvalId:h.approvalId,idempotencyKey:t.idempotencyKey,fallbackAgentId:o,needsScreenRecording:t.needsScreenRecording===!0}));if(t.json){n.log(JSON.stringify(g,null,2));return}let _=typeof g==`object`&&g?g.payload:void 0,v=typeof _?.stdout==`string`?_.stdout:``,y=typeof _?.stderr==`string`?_.stderr:``,b=typeof _?.exitCode==`number`?_.exitCode:null,x=_?.timedOut===!0,S=_?.success===!0;if(v&&process.stdout.write(v),y&&process.stderr.write(y),x){let{error:e}=H();n.error(e(`run timed out`)),n.exit(1);return}if(b!==null&&b!==0){let e=L(`${y}\n${v}`);if(e){let{warn:t}=H();n.error(t(e))}}if(b!==null&&b!==0&&!S){let{error:e}=H();n.error(e(`run exit ${b}`)),n.exit(1);return}})}),{timeoutMs:35e3})}function ve(e){R(e.command(`location`).description(`Fetch location from a paired node`).command(`get`).description(`Fetch the current location from a node`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--max-age <ms>`,`Use cached location newer than this (ms)`).option(`--accuracy <coarse|balanced|precise>`,`Desired accuracy (default: balanced/precise depending on node setting)`).option(`--location-timeout <ms>`,`Location fix timeout (ms)`,`10000`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 20000)`,`20000`).action(async e=>{await U(`location get`,async()=>{let t=await P(e,String(e.node??``)),r=e.maxAge?Number.parseInt(String(e.maxAge),10):void 0,i=typeof e.accuracy==`string`?e.accuracy.trim().toLowerCase():void 0,a=i===`coarse`||i===`balanced`||i===`precise`?i:void 0,o=e.locationTimeout?Number.parseInt(String(e.locationTimeout),10):void 0,s=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,c={nodeId:t,command:`location.get`,params:{maxAgeMs:Number.isFinite(r)?r:void 0,desiredAccuracy:a,timeoutMs:Number.isFinite(o)?o:void 0},idempotencyKey:l()};typeof s==`number`&&Number.isFinite(s)&&(c.timeoutMs=s);let u=await I(`node.invoke`,e,c),d=typeof u==`object`&&u?u:{},f=d.payload&&typeof d.payload==`object`?d.payload:{};if(e.json){n.log(JSON.stringify(f,null,2));return}let p=f.lat,m=f.lon,h=f.accuracyMeters;if(typeof p==`number`&&typeof m==`number`){let e=typeof h==`number`?` ±${h.toFixed(1)}m`:``;n.log(`${p},${m}${e}`);return}n.log(JSON.stringify(f))})}),{timeoutMs:3e4})}function ye(e){R(e.command(`notify`).description(`Send a local notification on a node (mac only)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--title <text>`,`Notification title`).option(`--body <text>`,`Notification body`).option(`--sound <name>`,`Notification sound`).option(`--priority <passive|active|timeSensitive>`,`Notification priority`).option(`--delivery <system|overlay|auto>`,`Delivery mode`,`system`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 15000)`,`15000`).action(async e=>{await U(`notify`,async()=>{let t=await P(e,String(e.node??``)),r=String(e.title??``).trim(),i=String(e.body??``).trim();if(!r&&!i)throw Error(`missing --title or --body`);let a=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,o={nodeId:t,command:`system.notify`,params:{title:r,body:i,sound:e.sound,priority:e.priority,delivery:e.delivery},idempotencyKey:String(e.idempotencyKey??l())};typeof a==`number`&&Number.isFinite(a)&&(o.timeoutMs=a);let s=await I(`node.invoke`,e,o);if(e.json){n.log(JSON.stringify(s,null,2));return}let{ok:c}=H();n.log(c(`notify ok`))})}))}function Y(e){let{pending:t,now:n,tableWidth:r,theme:i}=e,a=t.map(e=>({Request:e.requestId,Node:e.displayName?.trim()?e.displayName.trim():e.nodeId,IP:e.remoteIp??``,Requested:typeof e.ts==`number`?u(Math.max(0,n-e.ts)):i.muted(`unknown`),Repair:e.isRepair?i.warn(`yes`):``}));return{heading:i.heading(`Pending`),table:M({width:r,columns:[{key:`Request`,header:`Request`,minWidth:8},{key:`Node`,header:`Node`,minWidth:14,flex:!0},{key:`IP`,header:`IP`,minWidth:10},{key:`Requested`,header:`Requested`,minWidth:12},{key:`Repair`,header:`Repair`,minWidth:6}],rows:a}).trimEnd()}}function X(e){R(e.command(`pending`).description(`List pending pairing requests`).action(async e=>{await U(`pending`,async()=>{let{pending:t}=d(await I(`node.pair.list`,e,{}));if(e.json){n.log(JSON.stringify(t,null,2));return}if(t.length===0){let{muted:e}=H();n.log(e(`No pending pairing requests.`));return}let{heading:r,warn:i,muted:a}=H(),o=N(),s=Y({pending:t,now:Date.now(),tableWidth:o,theme:{heading:r,warn:i,muted:a}});n.log(s.heading),n.log(s.table)})})),R(e.command(`approve`).description(`Approve a pending pairing request`).argument(`<requestId>`,`Pending request id`).action(async(e,t)=>{await U(`approve`,async()=>{let r=await I(`node.pair.approve`,t,{requestId:e});n.log(JSON.stringify(r,null,2))})})),R(e.command(`reject`).description(`Reject a pending pairing request`).argument(`<requestId>`,`Pending request id`).action(async(e,t)=>{await U(`reject`,async()=>{let r=await I(`node.pair.reject`,t,{requestId:e});n.log(JSON.stringify(r,null,2))})})),R(e.command(`rename`).description(`Rename a paired node (display name override)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).requiredOption(`--name <displayName>`,`New display name`).action(async e=>{await U(`rename`,async()=>{let t=await P(e,String(e.node??``)),r=String(e.name??``).trim();if(!t||!r){n.error(`--node and --name required`),n.exit(1);return}let i=await I(`node.rename`,e,{nodeId:t,displayName:r});if(e.json){n.log(JSON.stringify(i,null,2));return}let{ok:a}=H();n.log(a(`node rename ok: ${t} -> ${r}`))})}))}function be(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t===`sandbox`||t===`production`?t:null}function xe(e){R(e.command(`push`).description(`Send an APNs test push to an iOS node`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--title <text>`,`Push title`,`OpenClaw`).option(`--body <text>`,`Push body`).option(`--environment <sandbox|production>`,`Override APNs environment`).action(async e=>{await U(`push`,async()=>{let t=await P(e,String(e.node??``)),r=String(e.title??``).trim()||`OpenClaw`,i=String(e.body??``).trim()||`Push test for node ${t}`,a=be(e.environment);if(e.environment&&!a)throw Error(`invalid --environment (use sandbox|production)`);let o={nodeId:t,title:r,body:i};a&&(o.environment=a);let s=await I(`push.test`,e,o);if(e.json){n.log(JSON.stringify(s,null,2));return}let c=typeof s==`object`&&s?s:{},l=c.ok===!0,u=typeof c.status==`number`?c.status:0,d=typeof c.reason==`string`&&c.reason.trim().length>0?c.reason.trim():void 0,f=typeof c.environment==`string`&&c.environment.trim().length>0?c.environment.trim():`unknown`,{ok:p,error:m}=H(),h=l?p:m;n.log(h(`push.test status=${u} ok=${l} env=${f}`)),d&&n.log(`reason: ${d}`)})}),{timeoutMs:25e3})}function Se(e){R(e.command(`screen`).description(`Capture screen recordings from a paired node`).command(`record`).description(`Capture a short screen recording from a node (prints MEDIA:<path>)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).option(`--screen <index>`,`Screen index (0 = primary)`,`0`).option(`--duration <ms|10s>`,`Clip duration (ms or 10s)`,`10000`).option(`--fps <fps>`,`Frames per second`,`10`).option(`--no-audio`,`Disable microphone audio capture`).option(`--out <path>`,`Output path`).option(`--invoke-timeout <ms>`,`Node invoke timeout in ms (default 120000)`,`120000`).action(async e=>{await U(`screen record`,async()=>{let t=await P(e,String(e.node??``)),r=c(e.duration??``),i=Number.parseInt(String(e.screen??`0`),10),a=Number.parseFloat(String(e.fps??`10`)),o=e.invokeTimeout?Number.parseInt(String(e.invokeTimeout),10):void 0,l=await I(`node.invoke`,e,B({nodeId:t,command:`screen.record`,params:{durationMs:Number.isFinite(r)?r:void 0,screenIndex:Number.isFinite(i)?i:void 0,fps:Number.isFinite(a)?a:void 0,format:`mp4`,includeAudio:e.audio!==!1},timeoutMs:o})),u=y((typeof l==`object`&&l?l:{}).payload),d=await h(e.out??C({ext:u.format||`mp4`}),u.base64);if(e.json){n.log(JSON.stringify({file:{path:d.path,durationMs:u.durationMs,fps:u.fps,screenIndex:u.screenIndex,hasAudio:u.hasAudio}},null,2));return}n.log(`MEDIA:${s(d.path)}`)})}),{timeoutMs:18e4})}function Z(e){let t=e.trim();return t?t.toLowerCase().startsWith(`v`)?t:/^\d/.test(t)?`v${t}`:t:e}function Ce(e){let t=e.coreVersion?.trim()||void 0,n=e.uiVersion?.trim()||void 0;if(t||n)return{core:t,ui:n};let r=e.version?.trim();if(!r)return{core:void 0,ui:void 0};let i=e.platform?.trim().toLowerCase()??``;return i===`darwin`||i===`linux`||i===`win32`||i===`windows`?{core:r,ui:void 0}:{core:void 0,ui:r}}function Q(e){let{core:t,ui:n}=Ce(e),r=[];return t&&r.push(`core ${Z(t)}`),n&&r.push(`ui ${Z(n)}`),r.length>0?r.join(` · `):null}function we(e){if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let n=t.split(`:`).filter(Boolean);return o(n.length<=3?t:`${n.slice(0,2).join(`:`)}:…:${n.slice(-1)[0]}`)}function $(e,t){if(e==null)return;let r=typeof e==`string`?e.trim():typeof e==`number`?String(e).trim():null;if(r===null){n.error(`${t}: invalid duration value`),n.exit(1);return}if(r)try{return c(r)}catch(e){let r=e instanceof Error?e.message:String(e);n.error(`${t}: ${r}`),n.exit(1);return}}function Te(e){R(e.command(`status`).description(`List known nodes with connection status and capabilities`).option(`--connected`,`Only show connected nodes`).option(`--last-connected <duration>`,`Only show nodes connected within duration (e.g. 24h)`).action(async e=>{await U(`status`,async()=>{let t=!!e.connected,r=$(e.lastConnected,`Invalid --last-connected`),i=await I(`node.list`,e,{}),a=typeof i==`object`&&i?i:{},{ok:o,warn:s,muted:c}=H(),l=N(),p=Date.now(),m=f(i),h=r===void 0?null:new Map(d(await I(`node.pair.list`,e,{})).paired.map(e=>[e.nodeId,e])),g=m.filter(e=>{if(t&&!e.connected)return!1;if(r!==void 0){let t=h?.get(e.nodeId),n=typeof t?.lastConnectedAtMs==`number`?t.lastConnectedAtMs:typeof e.connectedAtMs==`number`?e.connectedAtMs:void 0;if(typeof n!=`number`||p-n>r)return!1}return!0});if(e.json){let e=typeof a.ts==`number`?a.ts:Date.now();n.log(JSON.stringify({...a,ts:e,nodes:g},null,2));return}let _=g.filter(e=>!!e.paired).length,v=g.filter(e=>!!e.connected).length,y=g.length===m.length?``:` (of ${m.length})`;if(n.log(`Known: ${g.length}${y} · Paired: ${_} · Connected: ${v}`),g.length===0)return;let b=g.map(e=>{let t=e.displayName?.trim()?e.displayName.trim():e.nodeId,n=z(e.permissions),r=Q(e),i=we(e.pathEnv),a=[e.deviceFamily?`device: ${e.deviceFamily}`:null,e.modelIdentifier?`hw: ${e.modelIdentifier}`:null,n?`perms: ${n}`:null,r,i?`path: ${i}`:null].filter(Boolean),l=Array.isArray(e.caps)?e.caps.map(String).filter(Boolean).toSorted().join(`, `):`?`,d=e.paired?o(`paired`):s(`unpaired`),f=e.connected?o(`connected`):c(`disconnected`),m=typeof e.connectedAtMs==`number`?` (${u(Math.max(0,p-e.connectedAtMs))})`:``;return{Node:t,ID:e.nodeId,IP:e.remoteIp??``,Detail:a.join(` · `),Status:`${d} · ${f}${m}`,Caps:l}});n.log(M({width:l,columns:[{key:`Node`,header:`Node`,minWidth:14,flex:!0},{key:`ID`,header:`ID`,minWidth:10},{key:`IP`,header:`IP`,minWidth:10},{key:`Detail`,header:`Detail`,minWidth:18,flex:!0},{key:`Status`,header:`Status`,minWidth:18},{key:`Caps`,header:`Caps`,minWidth:12,flex:!0}],rows:b}).trimEnd())})})),R(e.command(`describe`).description(`Describe a node (capabilities + supported invoke commands)`).requiredOption(`--node <idOrNameOrIp>`,`Node id, name, or IP`).action(async e=>{await U(`describe`,async()=>{let t=await P(e,String(e.node??``)),r=await I(`node.describe`,e,{nodeId:t});if(e.json){n.log(JSON.stringify(r,null,2));return}let i=typeof r==`object`&&r?r:{},a=typeof i.displayName==`string`?i.displayName:t,o=!!i.connected,s=!!i.paired,c=Array.isArray(i.caps)?i.caps.map(String).filter(Boolean).toSorted():null,l=Array.isArray(i.commands)?i.commands.map(String).filter(Boolean).toSorted():[],u=z(i.permissions),d=typeof i.deviceFamily==`string`?i.deviceFamily:null,f=typeof i.modelIdentifier==`string`?i.modelIdentifier:null,p=typeof i.remoteIp==`string`?i.remoteIp:null,m=typeof i.pathEnv==`string`?i.pathEnv:null,h=Q(i),{heading:g,ok:_,warn:v,muted:y}=H(),b=`${s?_(`paired`):v(`unpaired`)} · ${o?_(`connected`):y(`disconnected`)}`,x=N(),S=[{Field:`ID`,Value:t},a?{Field:`Name`,Value:a}:null,p?{Field:`IP`,Value:p}:null,d?{Field:`Device`,Value:d}:null,f?{Field:`Model`,Value:f}:null,u?{Field:`Perms`,Value:u}:null,h?{Field:`Version`,Value:h}:null,m?{Field:`PATH`,Value:m}:null,{Field:`Status`,Value:b},{Field:`Caps`,Value:c?c.join(`, `):`?`}].filter(Boolean);if(n.log(g(`Node`)),n.log(M({width:x,columns:[{key:`Field`,header:`Field`,minWidth:8},{key:`Value`,header:`Value`,minWidth:24,flex:!0}],rows:S}).trimEnd()),n.log(``),n.log(g(`Commands`)),l.length===0){n.log(y(`- (none reported)`));return}for(let e of l)n.log(`- ${e}`)})})),R(e.command(`list`).description(`List pending and paired nodes`).option(`--connected`,`Only show connected nodes`).option(`--last-connected <duration>`,`Only show nodes connected within duration (e.g. 24h)`).action(async e=>{await U(`list`,async()=>{let t=!!e.connected,r=$(e.lastConnected,`Invalid --last-connected`),{pending:i,paired:a}=d(await I(`node.pair.list`,e,{})),{heading:o,muted:s,warn:c}=H(),l=N(),p=Date.now(),m=t||r!==void 0,h=m?[]:i,g=m?new Map(f(await I(`node.list`,e,{})).map(e=>[e.nodeId,e])):null,_=a.filter(e=>{if(t&&!g?.get(e.nodeId)?.connected)return!1;if(r!==void 0){let t=g?.get(e.nodeId),n=typeof e.lastConnectedAtMs==`number`?e.lastConnectedAtMs:typeof t?.connectedAtMs==`number`?t.connectedAtMs:void 0;if(typeof n!=`number`||p-n>r)return!1}return!0}),v=m&&_.length!==a.length?` (of ${a.length})`:``;if(n.log(`Pending: ${h.length} · Paired: ${_.length}${v}`),e.json){n.log(JSON.stringify({pending:h,paired:_},null,2));return}if(h.length>0){let e=Y({pending:h,now:p,tableWidth:l,theme:{heading:o,warn:c,muted:s}});n.log(``),n.log(e.heading),n.log(e.table)}if(_.length>0){let e=_.map(e=>{let t=g?.get(e.nodeId),n=typeof e.lastConnectedAtMs==`number`?e.lastConnectedAtMs:typeof t?.connectedAtMs==`number`?t.connectedAtMs:void 0;return{Node:e.displayName?.trim()?e.displayName.trim():e.nodeId,Id:e.nodeId,IP:e.remoteIp??``,LastConnect:typeof n==`number`?u(Math.max(0,p-n)):s(`unknown`)}});n.log(``),n.log(o(`Paired`)),n.log(M({width:l,columns:[{key:`Node`,header:`Node`,minWidth:14,flex:!0},{key:`Id`,header:`ID`,minWidth:10},{key:`IP`,header:`IP`,minWidth:10},{key:`LastConnect`,header:`Last Connect`,minWidth:14}],rows:e}).trimEnd())}})}))}function Ee(t){let n=t.command(`nodes`).description(`Manage gateway-owned nodes (pairing, status, invoke, and media)`).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${ie([[`openclaw nodes status`,`List known nodes with live status.`],[`openclaw nodes pairing pending`,`Show pending node pairing requests.`],[`openclaw nodes run --node <id> --raw "uname -a"`,`Run a shell command on a node.`],[`openclaw nodes camera snap --node <id>`,`Capture a photo from a node camera.`]])}\n\n${e.muted(`Docs:`)} ${re(`/cli/nodes`,`docs.openclaw.ai/cli/nodes`)}\n`);Te(n),X(n),_e(n),ye(n),xe(n),ce(n),G(n),Se(n),ve(n)}export{Ee as registerNodesCli};
|
|
5
|
-
//# sourceMappingURL=nodes-cli-DzO6PSFw.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{H as e}from"./subsystem-C5XF2Fy5.js";import{Fa as t}from"./model-selection-BLbnMb5E.js";import{r as n}from"./command-format-BbDT1tlm.js";import{t as r}from"./fetch-guard-7BAwnP4a.js";import{c as i,l as a,n as o,o as s,t as c}from"./system-run-command-E8ymBXHh.js";import l from"node:fs";import*as u from"node:path";import d from"node:path";import*as f from"node:fs/promises";import{randomUUID as p}from"node:crypto";function m(e){if(`PATH`in e)return`PATH`;for(let t of Object.keys(e))if(t.toUpperCase()===`PATH`)return t;return`PATH`}function h(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){if(typeof r!=`string`)continue;let e=r.trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function g(e,t){if(t.length===0)return e;let n=(e??``).split(d.delimiter).map(e=>e.trim()).filter(Boolean),r=new Set(t);return[...t,...n.filter(e=>!r.has(e))].join(d.delimiter)}function _(e,t,n){if(!Array.isArray(t)||t.length===0)return;let r=m(e);if(n?.requireExisting&&!e[r])return;let i=g(e[r],t);i&&(e[r]=i)}function v(e,t){return String(t??``).trim().toLowerCase().startsWith(`win`)?[`cmd.exe`,`/d`,`/s`,`/c`,e]:[`/bin/sh`,`-lc`,e]}function y(e){return typeof e==`string`?e:``}function b(e,t){let n=i(e);return!n||n===t?null:n}function x(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e,n=s(t.plan);if(n)return{plan:n};if(!t.plan||typeof t.plan!=`object`||Array.isArray(t.plan))return null;let r=t.plan,o=a(r.argv),c=i(r.rawCommand)??i(t.commandText)??i(t.cmdText);return o.length===0||!c?null:{plan:{argv:o,cwd:i(r.cwd),commandText:c,commandPreview:i(r.commandPreview),agentId:i(r.agentId),sessionKey:i(r.sessionKey)}}}function S(e){let t=(i(e.host)??``)===`node`?s(e.systemRunPlan):null,n=a(e.commandArgv),r=y(e.command),o=t?t.commandText||c(t.argv):r,l=t?b(t.commandPreview??r,o):null,u=t?{...t,commandPreview:l}:null;return{plan:u,commandArgv:u?.argv??(n.length>0?n:void 0),commandText:o,commandPreview:l,cwd:u?.cwd??i(e.cwd),agentId:u?.agentId??i(e.agentId),sessionKey:u?.sessionKey??i(e.sessionKey)}}function C(e){let t=s(e.plan??null);if(t)return{ok:!0,plan:t,argv:[...t.argv],cwd:t.cwd,agentId:t.agentId,sessionKey:t.sessionKey,commandText:t.commandText};let n=o({command:e.command,rawCommand:e.rawCommand});return n.ok?{ok:!0,plan:null,argv:n.argv,cwd:i(e.cwd),agentId:i(e.agentId),sessionKey:i(e.sessionKey),commandText:n.commandText}:{ok:!1,message:n.message,details:n.details}}function w(e){return typeof e==`object`&&e?e:{}}function T(e){return typeof e==`string`?e:void 0}function E(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function D(e){return typeof e==`boolean`?e:void 0}function O(t){let n=t.tmpDir??e();return t.tmpDir||l.mkdirSync(n,{recursive:!0,mode:448}),{tmpDir:n,id:t.id??p(),ext:t.ext.startsWith(`.`)?t.ext:`.${t.ext}`}}const k=250*1024*1024;function A(e){let t=w(e),n=T(t.format),r=T(t.base64),i=T(t.url),a=E(t.width),o=E(t.height);if(!n||!r&&!i||a===void 0||o===void 0)throw Error(`invalid camera.snap payload`);return{format:n,...r?{base64:r}:{},...i?{url:i}:{},width:a,height:o}}function j(e){let t=w(e),n=T(t.format),r=T(t.base64),i=T(t.url),a=E(t.durationMs),o=D(t.hasAudio);if(!n||!r&&!i||a===void 0||o===void 0)throw Error(`invalid camera.clip payload`);return{format:n,...r?{base64:r}:{},...i?{url:i}:{},durationMs:a,hasAudio:o}}function M(e){let{tmpDir:t,id:r,ext:i}=O({tmpDir:e.tmpDir,id:e.id,ext:e.ext}),a=e.facing?`-${e.facing}`:``,o=n();return u.join(t,`${o}-camera-${e.kind}${a}-${r}${i}`)}async function N(e,n,i){let a=new URL(n);if(a.protocol!==`https:`)throw Error(`writeUrlToFile: only https URLs are allowed, got ${a.protocol}`);let o=t(i.expectedHost);if(!o)throw Error(`writeUrlToFile: expectedHost is required`);if(t(a.hostname)!==o)throw Error(`writeUrlToFile: url host ${a.hostname} must match node host ${i.expectedHost}`);let s={allowPrivateNetwork:!0,allowedHostnames:[o],hostnameAllowlist:[o]},c=async()=>{},l=0;try{let a=await r({url:n,auditContext:`writeUrlToFile`,policy:s});c=a.release;let u=new URL(a.finalUrl);if(u.protocol!==`https:`)throw Error(`writeUrlToFile: redirect resolved to non-https URL ${a.finalUrl}`);if(t(u.hostname)!==o)throw Error(`writeUrlToFile: redirect host ${u.hostname} must match node host ${i.expectedHost}`);let d=a.response;if(!d.ok)throw Error(`failed to download ${n}: ${d.status} ${d.statusText}`);let p=d.headers.get(`content-length`),m=p?Number.parseInt(p,10):void 0;if(typeof m==`number`&&Number.isFinite(m)&&m>k)throw Error(`writeUrlToFile: content-length ${m} exceeds max ${k}`);let h=d.body;if(!h)throw Error(`failed to download ${n}: empty response body`);let g=await f.open(e,`w`),_;try{let e=h.getReader();for(;;){let{done:t,value:n}=await e.read();if(t)break;if(!(!n||n.byteLength===0)){if(l+=n.byteLength,l>k)throw Error(`writeUrlToFile: downloaded ${l} bytes, exceeds max ${k}`);await g.write(n)}}}catch(e){_=e}finally{await g.close()}if(_)throw await f.unlink(e).catch(()=>{}),_}finally{await c()}return{path:e,bytes:l}}async function P(e,t){let n=Buffer.from(t,`base64`);return await f.writeFile(e,n),{path:e,bytes:n.length}}function F(e){let t=e?.trim();if(!t)throw Error(`camera URL payload requires node remoteIp`);return t}async function I(e){if(e.payload.url){await N(e.filePath,e.payload.url,{expectedHost:F(e.expectedHost)});return}if(e.payload.base64){await P(e.filePath,e.payload.base64);return}throw Error(e.invalidPayloadMessage??`invalid camera payload`)}async function L(e){let t=M({kind:`clip`,facing:e.facing,ext:e.payload.format,tmpDir:e.tmpDir,id:e.id});return await I({filePath:t,payload:e.payload,expectedHost:e.expectedHost,invalidPayloadMessage:`invalid camera.clip payload`}),t}function R(e){let t=w(e),n=T(t.format),r=T(t.base64);if(!n||!r)throw Error(`invalid canvas.snapshot payload`);return{format:n,base64:r}}function z(e){let{tmpDir:t,id:r,ext:i}=O(e),a=n();return u.join(t,`${a}-canvas-snapshot-${r}${i}`)}function B(e){if(!Array.isArray(e)||e.length===0)return;let t={};for(let n of e){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<=0)continue;let r=n.slice(0,e).trim();r&&(t[r]=n.slice(e+1))}return Object.keys(t).length>0?t:void 0}function V(e){let t=w(e),n=T(t.format),r=T(t.base64);if(!n||!r)throw Error(`invalid screen.record payload`);return{format:n,base64:r,durationMs:typeof t.durationMs==`number`?t.durationMs:void 0,fps:typeof t.fps==`number`?t.fps:void 0,screenIndex:typeof t.screenIndex==`number`?t.screenIndex:void 0,hasAudio:typeof t.hasAudio==`boolean`?t.hasAudio:void 0}}function H(e){let{tmpDir:t,id:n,ext:r}=O(e);return u.join(t,`openclaw-screen-record-${n}${r}`)}async function U(e,t){return P(e,t)}export{_,z as a,h as b,j as c,L as d,I as f,v as g,C as h,B as i,A as l,S as m,H as n,R as o,x as p,U as r,M as s,V as t,P as u,m as v,g as y};
|
|
2
|
-
//# sourceMappingURL=nodes-screen-8nRBsfID.js.map
|
package/dist/note-D4GAwgha.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import{d as e}from"./subsystem-C5XF2Fy5.js";import{r as t}from"./prompt-style-CXKekIBY.js";import{note as n}from"@clack/prompts";const r=/^(https?:\/\/|file:\/\/)/i,i=/^[a-zA-Z]:[\\/]/,a=/^[a-zA-Z0-9._-]+$/;function o(e){if(!e)return!1;let t=e.trim().toLowerCase();return t?t!==`0`&&t!==`false`&&t!==`off`:!1}function s(e,t){if(t<=0)return[e];let n=Array.from(e),r=[];for(let e=0;e<n.length;e+=t)r.push(n.slice(e,e+t).join(``));return r.length>0?r:[e]}function c(e){return e?r.test(e)||e.startsWith(`/`)||e.startsWith(`~/`)||e.startsWith(`./`)||e.startsWith(`../`)||i.test(e)||e.startsWith(`\\\\`)||e.includes(`/`)||e.includes(`\\`)?!0:e.includes(`_`)&&a.test(e):!1}function l(t,n){if(t.trim().length===0)return[t];let r=t.match(/^(\s*)([-*\u2022]\s+)?(.*)$/),i=r?.[1]??``,a=r?.[2]??``,o=r?.[3]??``,l=`${i}${a}`,u=`${i}${a?` `.repeat(a.length):``}`,d=Math.max(10,n-e(l)),f=Math.max(10,n-e(u)),p=o.split(/\s+/).filter(Boolean),m=[],h=``,g=l,_=d;for(let t of p){if(!h){if(e(t)>_){if(c(t)){h=t;continue}let e=s(t,_),n=e.shift()??``;m.push(g+n),g=u,_=f;for(let t of e)m.push(g+t);continue}h=t;continue}let n=`${h} ${t}`;if(e(n)<=_){h=n;continue}if(m.push(g+h),g=u,_=f,e(t)>_){if(c(t)){h=t;continue}let e=s(t,_),n=e.shift()??``;m.push(g+n);for(let t of e)m.push(g+t);h=``;continue}h=t}return(h||p.length===0)&&m.push(g+h),m}function u(e,t={}){let n=t.columns??process.stdout.columns??80,r=t.maxWidth??Math.max(40,Math.min(88,n-10));return e.split(`
|
|
2
2
|
`).flatMap(e=>l(e,r)).join(`
|
|
3
3
|
`)}function d(e,r){o(process.env.OPENCLAW_SUPPRESS_NOTES)||n(u(e),t(r))}export{d as t};
|
|
4
|
-
//# sourceMappingURL=note-D4GAwgha.js.map
|
package/dist/note-Dp-d_utk.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import{d as e}from"./subsystem-BLbY429l.js";import{r as t}from"./prompt-style-BThRSQJR.js";import{note as n}from"@clack/prompts";const r=/^(https?:\/\/|file:\/\/)/i,i=/^[a-zA-Z]:[\\/]/,a=/^[a-zA-Z0-9._-]+$/;function o(e){if(!e)return!1;let t=e.trim().toLowerCase();return t?t!==`0`&&t!==`false`&&t!==`off`:!1}function s(e,t){if(t<=0)return[e];let n=Array.from(e),r=[];for(let e=0;e<n.length;e+=t)r.push(n.slice(e,e+t).join(``));return r.length>0?r:[e]}function c(e){return e?r.test(e)||e.startsWith(`/`)||e.startsWith(`~/`)||e.startsWith(`./`)||e.startsWith(`../`)||i.test(e)||e.startsWith(`\\\\`)||e.includes(`/`)||e.includes(`\\`)?!0:e.includes(`_`)&&a.test(e):!1}function l(t,n){if(t.trim().length===0)return[t];let r=t.match(/^(\s*)([-*\u2022]\s+)?(.*)$/),i=r?.[1]??``,a=r?.[2]??``,o=r?.[3]??``,l=`${i}${a}`,u=`${i}${a?` `.repeat(a.length):``}`,d=Math.max(10,n-e(l)),f=Math.max(10,n-e(u)),p=o.split(/\s+/).filter(Boolean),m=[],h=``,g=l,_=d;for(let t of p){if(!h){if(e(t)>_){if(c(t)){h=t;continue}let e=s(t,_),n=e.shift()??``;m.push(g+n),g=u,_=f;for(let t of e)m.push(g+t);continue}h=t;continue}let n=`${h} ${t}`;if(e(n)<=_){h=n;continue}if(m.push(g+h),g=u,_=f,e(t)>_){if(c(t)){h=t;continue}let e=s(t,_),n=e.shift()??``;m.push(g+n);for(let t of e)m.push(g+t);h=``;continue}h=t}return(h||p.length===0)&&m.push(g+h),m}function u(e,t={}){let n=t.columns??process.stdout.columns??80,r=t.maxWidth??Math.max(40,Math.min(88,n-10));return e.split(`
|
|
2
2
|
`).flatMap(e=>l(e,r)).join(`
|
|
3
3
|
`)}function d(e,r){o(process.env.OPENCLAW_SUPPRESS_NOTES)||n(u(e),t(r))}export{d as t};
|
|
4
|
-
//# sourceMappingURL=note-Dp-d_utk.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{y as e}from"./utils-UGOV_184.js";import{g as t,h as n,m as r}from"./env-overrides-DXJbFrwI.js";import{t as i}from"./exec-DHqLtFYt.js";import{c as a,d as o,n as s,s as c,t as l,u}from"./install-safe-path-iesxijn2.js";import d from"node:os";import f from"node:path";import p from"node:fs/promises";function m(e){return{resolvedName:e?.name,resolvedVersion:e?.version,resolvedSpec:e?.resolvedSpec,integrity:e?.integrity,shasum:e?.shasum,resolvedAt:e?.resolvedAt}}async function h(e,t){let n=await p.mkdtemp(f.join(d.tmpdir(),e));try{return await t(n)}finally{await p.rm(n,{recursive:!0,force:!0}).catch(()=>void 0)}}async function g(t){let n=e(t);return await a(n)?u(n)?{ok:!0,path:n}:{ok:!1,error:`unsupported archive: ${n}`}:{ok:!1,error:`archive not found: ${n}`}}function _(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function v(e){let t=e.lastIndexOf(`@`);if(t<=0||t>=e.length-1)return;let n=e.slice(0,t).trim(),r=e.slice(t+1).trim();if(!(!n||!r))return`${n}@${r}`}function y(e){if(!e||typeof e!=`object`)return null;let t=e,n=_(t.name),r=_(t.version),i=_(t.id),a=(n&&r?`${n}@${r}`:void 0)??(i?v(i):void 0);return{filename:_(t.filename),metadata:{name:n,version:r,resolvedSpec:a,integrity:_(t.integrity),shasum:_(t.shasum)}}}function b(e){let t=e.trim();if(!t)return null;let n=[t],r=t.indexOf(`[`);r>0&&n.push(t.slice(r));for(let e of n){let t;try{t=JSON.parse(e)}catch{continue}let n=Array.isArray(t)?t:[t],r=null;for(let e=n.length-1;e>=0;--e){let t=y(n[e]);if(t&&(r||=t,t.filename))return t}if(r)return r}return null}function x(e){let t=e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;--e){let n=t[e]?.match(/([^\s"']+\.tgz)/);if(n?.[1])return n[1]}}async function S(e){let t=(await p.readdir(e,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isFile()&&e.name.endsWith(`.tgz`));if(t.length===0)return;if(t.length===1)return t[0]?.name;let n=await Promise.all(t.map(async t=>({name:t.name,mtimeMs:(await p.stat(f.join(e,t.name))).mtimeMs})));return n.sort((e,t)=>t.mtimeMs-e.mtimeMs),n[0]?.name}async function C(e){let t=await i([`npm`,`pack`,e.spec,`--ignore-scripts`,`--json`],{timeoutMs:Math.max(e.timeoutMs,3e5),cwd:e.cwd,env:{COREPACK_ENABLE_DOWNLOAD_PROMPT:`0`,NPM_CONFIG_IGNORE_SCRIPTS:`true`}});if(t.code!==0){let n=t.stderr.trim()||t.stdout.trim();return/E404|is not in this registry/i.test(n)?{ok:!1,error:`Package not found on npm: ${e.spec}. See https://docs.openclaw.ai/tools/plugin for installable plugins.`}:{ok:!1,error:`npm pack failed: ${n}`}}let n=b(t.stdout||``),r=n?.filename??x(t.stdout||``);if(r||=await S(e.cwd),!r)return{ok:!1,error:`npm pack produced no archive`};let o=f.isAbsolute(r)?r:f.join(e.cwd,r);if(!await a(o)){let t=await S(e.cwd);if(!t)return{ok:!1,error:`npm pack produced no archive`};o=f.join(e.cwd,t)}return{ok:!0,archivePath:o,metadata:n?.metadata??{}}}async function w(t){let n=e(t);return await a(n)?{ok:!0,resolvedPath:n,stat:await p.stat(n)}:{ok:!1,error:`path not found: ${n}`}}async function T(e){return await h(e.tempDirPrefix,async t=>{let n=f.join(t,`extract`);await p.mkdir(n,{recursive:!0}),e.logger?.info?.(`Extracting ${e.archivePath}…`);try{await c({archivePath:e.archivePath,destDir:n,timeoutMs:e.timeoutMs,logger:e.logger})}catch(e){return{ok:!1,error:`failed to extract archive: ${String(e)}`}}let r=``;try{r=await o(n)}catch(e){return{ok:!1,error:String(e)}}return await e.onExtracted(r)})}function E(e,t){return{logger:e.logger??t,mode:e.mode??`install`,dryRun:e.dryRun??!1}}function D(e,t,n=12e4){return{...E(e,t),timeoutMs:e.timeoutMs??n}}const O=`install base directory changed during install`;function k(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}async function A(e){let t=f.join(e,`package.json`),n=``;try{n=await p.readFile(t,`utf-8`)}catch{return}let r;try{let e=JSON.parse(n);if(!k(e))return;r=e}catch{return}let i=r.devDependencies;if(!k(i))return;let a=Object.entries(i).filter(([,e])=>!(typeof e==`string`?e.trim():``).startsWith(`workspace:`));a.length!==Object.keys(i).length&&(a.length===0?delete r.devDependencies:r.devDependencies=Object.fromEntries(a),await p.writeFile(t,`${JSON.stringify(r,null,2)}\n`,`utf-8`))}async function j(e){for(let t of e.candidatePaths)await l({baseDir:e.installBaseDir,candidatePath:t,boundaryLabel:`install directory`})}function M(e){return!!e&&e!==`..`&&!e.startsWith(`..${f.sep}`)}function N(e){return e instanceof Error&&e.message===O}async function P(e){let t=await p.lstat(e.installBaseDir);if(!t.isDirectory()||t.isSymbolicLink()||await p.realpath(e.installBaseDir)!==e.expectedRealPath)throw Error(O)}async function F(e){e&&await p.rm(e,{recursive:!0,force:!0}).catch(()=>void 0)}async function I(e){let t=f.resolve(e.installBaseDir),n=f.resolve(e.targetDir),r=f.relative(t,n);if(!M(r))throw Error(`invalid install target path`);let i=await p.realpath(e.installBaseDir);return{installBaseRealPath:i,canonicalTargetDir:f.join(i,r)}}async function L(e){e.logger?.info?.(`Installing to ${e.targetDir}…`);let t=f.dirname(e.targetDir);await p.mkdir(t,{recursive:!0}),await j({installBaseDir:t,candidatePaths:[e.targetDir]});let n,r;try{({installBaseRealPath:n,canonicalTargetDir:r}=await I({installBaseDir:t,targetDir:e.targetDir}))}catch(t){return{ok:!1,error:`${e.copyErrorPrefix}: ${String(t)}`}}let o=null,s=null,c=async(t,n)=>(N(n)?e.logger?.warn?.(`Install base directory changed during install; aborting staged publish.`):(await l(),o&&=(await F(o),null)),{ok:!1,error:t}),l=async()=>{s&&=(await p.rename(s,r).catch(()=>void 0),null)};try{await j({installBaseDir:n,candidatePaths:[r]}),o=await p.mkdtemp(f.join(n,`.openclaw-install-stage-`)),await p.cp(e.sourceDir,o,{recursive:!0})}catch(t){return await c(`${e.copyErrorPrefix}: ${String(t)}`,t)}try{await e.afterCopy?.(o)}catch(e){return await c(`post-copy validation failed: ${String(e)}`,e)}if(e.hasDeps){await A(o),e.logger?.info?.(e.depsLogMessage);let t=await i([`npm`,`install`,`--omit=dev`,`--omit=peer`,`--silent`,`--ignore-scripts`],{timeoutMs:Math.max(e.timeoutMs,3e5),cwd:o});if(t.code!==0)return await c(`npm install failed: ${t.stderr.trim()||t.stdout.trim()}`)}if(e.mode===`update`&&await a(r)){let i=f.join(n,`.openclaw-install-backups`);s=f.join(i,`${f.basename(r)}-${Date.now()}`);try{await p.mkdir(i,{recursive:!0}),await j({installBaseDir:n,candidatePaths:[s]}),await P({installBaseDir:t,expectedRealPath:n}),await p.rename(r,s)}catch(t){return await c(`${e.copyErrorPrefix}: ${String(t)}`,t)}}try{await P({installBaseDir:t,expectedRealPath:n}),await p.rename(o,r),o=null}catch(t){return await c(`${e.copyErrorPrefix}: ${String(t)}`,t)}if(s)try{await P({installBaseDir:t,expectedRealPath:n})}catch(t){N(t)&&e.logger?.warn?.(`Install base directory changed before backup cleanup; leaving backup in place.`),s=null}return s&&await p.rm(s,{recursive:!0,force:!0}).catch(()=>void 0),o&&await F(o),{ok:!0}}async function R(e){return L({...e,hasDeps:Object.keys(e.manifestDependencies??{}).length>0})}async function z(e){await p.mkdir(e.baseDir,{recursive:!0});let t=s({baseDir:e.baseDir,id:e.id,invalidNameMessage:e.invalidNameMessage});if(!t.ok)return{ok:!1,error:t.error};try{await l({baseDir:e.baseDir,candidatePath:t.path,boundaryLabel:e.boundaryLabel})}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}return{ok:!0,targetDir:t.path}}async function B(e){return e.mode===`install`&&await a(e.targetDir)?{ok:!1,error:e.alreadyExistsError}:{ok:!0}}async function V(e){if(!e.expectedIntegrity||!e.resolution.integrity||e.expectedIntegrity===e.resolution.integrity)return{proceed:!0};let t={expectedIntegrity:e.expectedIntegrity,actualIntegrity:e.resolution.integrity},n=e.createPayload({spec:e.spec,expectedIntegrity:t.expectedIntegrity,actualIntegrity:t.actualIntegrity,resolution:e.resolution}),r=!0;return e.onIntegrityDrift?r=await e.onIntegrityDrift(n):e.warn?.(n),{integrityDrift:t,proceed:r,payload:n}}async function H(e){let t=await V({spec:e.spec,expectedIntegrity:e.expectedIntegrity,resolution:e.resolution,createPayload:e=>({...e}),onIntegrityDrift:e.onIntegrityDrift,warn:t=>{e.warn?.(`Integrity drift detected for ${t.resolution.resolvedSpec??t.spec}: expected ${t.expectedIntegrity}, got ${t.actualIntegrity}`)}});return!t.proceed&&t.payload?{integrityDrift:t.integrityDrift,error:`aborted: npm package integrity drift detected for ${t.payload.resolution.resolvedSpec??t.payload.spec}`}:{integrityDrift:t.integrityDrift}}async function U(e){return await K({tempDirPrefix:e.tempDirPrefix,spec:e.spec,timeoutMs:e.timeoutMs,expectedIntegrity:e.expectedIntegrity,onIntegrityDrift:e.onIntegrityDrift,warn:e.warn,installFromArchive:async({archivePath:t})=>await e.installFromArchive({archivePath:t,...e.archiveInstallParams})})}function W(e){return e.ok}function G(e){if(!e.ok)return e;let t=e.installResult;return W(t)?{...t,npmResolution:e.npmResolution,...e.integrityDrift?{integrityDrift:e.integrityDrift}:{}}:t}async function K(e){return await h(e.tempDirPrefix,async i=>{let a=t(e.spec);if(!a)return{ok:!1,error:`unsupported npm spec`};let o=await C({spec:e.spec,timeoutMs:e.timeoutMs,cwd:i});if(!o.ok)return o;let s={...o.metadata,resolvedAt:new Date().toISOString()};if(s.version&&!n({spec:a,resolvedVersion:s.version}))return{ok:!1,error:r({spec:a,resolvedVersion:s.version})};let c=await H({spec:e.spec,expectedIntegrity:e.expectedIntegrity,resolution:s,onIntegrityDrift:e.onIntegrityDrift,warn:e.warn});return c.error?{ok:!1,error:c.error}:{ok:!0,installResult:await e.installFromArchive({archivePath:o.archivePath}),npmResolution:s,integrityDrift:c.integrityDrift}})}export{L as a,D as c,m as d,g as f,z as i,w as l,U as n,R as o,B as r,E as s,G as t,T as u};
|
|
2
|
-
//# sourceMappingURL=npm-pack-install-B23L-AtF.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{v as e}from"./utils-CGdo13HV.js";import{g as t,h as n,m as r}from"./env-overrides-DHtB4kK3.js";import{t as i}from"./exec-B3eleY5O.js";import{c as a,d as o,n as s,s as c,t as l,u}from"./install-safe-path-C6kc_8NW.js";import d from"node:os";import f from"node:path";import p from"node:fs/promises";function m(e){return{resolvedName:e?.name,resolvedVersion:e?.version,resolvedSpec:e?.resolvedSpec,integrity:e?.integrity,shasum:e?.shasum,resolvedAt:e?.resolvedAt}}async function h(e,t){let n=await p.mkdtemp(f.join(d.tmpdir(),e));try{return await t(n)}finally{await p.rm(n,{recursive:!0,force:!0}).catch(()=>void 0)}}async function g(t){let n=e(t);return await a(n)?u(n)?{ok:!0,path:n}:{ok:!1,error:`unsupported archive: ${n}`}:{ok:!1,error:`archive not found: ${n}`}}function _(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function v(e){let t=e.lastIndexOf(`@`);if(t<=0||t>=e.length-1)return;let n=e.slice(0,t).trim(),r=e.slice(t+1).trim();if(!(!n||!r))return`${n}@${r}`}function y(e){if(!e||typeof e!=`object`)return null;let t=e,n=_(t.name),r=_(t.version),i=_(t.id),a=(n&&r?`${n}@${r}`:void 0)??(i?v(i):void 0);return{filename:_(t.filename),metadata:{name:n,version:r,resolvedSpec:a,integrity:_(t.integrity),shasum:_(t.shasum)}}}function b(e){let t=e.trim();if(!t)return null;let n=[t],r=t.indexOf(`[`);r>0&&n.push(t.slice(r));for(let e of n){let t;try{t=JSON.parse(e)}catch{continue}let n=Array.isArray(t)?t:[t],r=null;for(let e=n.length-1;e>=0;--e){let t=y(n[e]);if(t&&(r||=t,t.filename))return t}if(r)return r}return null}function x(e){let t=e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;--e){let n=t[e]?.match(/([^\s"']+\.tgz)/);if(n?.[1])return n[1]}}async function S(e){let t=(await p.readdir(e,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isFile()&&e.name.endsWith(`.tgz`));if(t.length===0)return;if(t.length===1)return t[0]?.name;let n=await Promise.all(t.map(async t=>({name:t.name,mtimeMs:(await p.stat(f.join(e,t.name))).mtimeMs})));return n.sort((e,t)=>t.mtimeMs-e.mtimeMs),n[0]?.name}async function C(e){let t=await i([`npm`,`pack`,e.spec,`--ignore-scripts`,`--json`],{timeoutMs:Math.max(e.timeoutMs,3e5),cwd:e.cwd,env:{COREPACK_ENABLE_DOWNLOAD_PROMPT:`0`,NPM_CONFIG_IGNORE_SCRIPTS:`true`}});if(t.code!==0){let n=t.stderr.trim()||t.stdout.trim();return/E404|is not in this registry/i.test(n)?{ok:!1,error:`Package not found on npm: ${e.spec}. See https://docs.openclaw.ai/tools/plugin for installable plugins.`}:{ok:!1,error:`npm pack failed: ${n}`}}let n=b(t.stdout||``),r=n?.filename??x(t.stdout||``);if(r||=await S(e.cwd),!r)return{ok:!1,error:`npm pack produced no archive`};let o=f.isAbsolute(r)?r:f.join(e.cwd,r);if(!await a(o)){let t=await S(e.cwd);if(!t)return{ok:!1,error:`npm pack produced no archive`};o=f.join(e.cwd,t)}return{ok:!0,archivePath:o,metadata:n?.metadata??{}}}async function w(t){let n=e(t);return await a(n)?{ok:!0,resolvedPath:n,stat:await p.stat(n)}:{ok:!1,error:`path not found: ${n}`}}async function T(e){return await h(e.tempDirPrefix,async t=>{let n=f.join(t,`extract`);await p.mkdir(n,{recursive:!0}),e.logger?.info?.(`Extracting ${e.archivePath}…`);try{await c({archivePath:e.archivePath,destDir:n,timeoutMs:e.timeoutMs,logger:e.logger})}catch(e){return{ok:!1,error:`failed to extract archive: ${String(e)}`}}let r=``;try{r=await o(n)}catch(e){return{ok:!1,error:String(e)}}return await e.onExtracted(r)})}function E(e,t){return{logger:e.logger??t,mode:e.mode??`install`,dryRun:e.dryRun??!1}}function D(e,t,n=12e4){return{...E(e,t),timeoutMs:e.timeoutMs??n}}const O=`install base directory changed during install`;function k(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}async function A(e){let t=f.join(e,`package.json`),n=``;try{n=await p.readFile(t,`utf-8`)}catch{return}let r;try{let e=JSON.parse(n);if(!k(e))return;r=e}catch{return}let i=r.devDependencies;if(!k(i))return;let a=Object.entries(i).filter(([,e])=>!(typeof e==`string`?e.trim():``).startsWith(`workspace:`));a.length!==Object.keys(i).length&&(a.length===0?delete r.devDependencies:r.devDependencies=Object.fromEntries(a),await p.writeFile(t,`${JSON.stringify(r,null,2)}\n`,`utf-8`))}async function j(e){for(let t of e.candidatePaths)await l({baseDir:e.installBaseDir,candidatePath:t,boundaryLabel:`install directory`})}function M(e){return!!e&&e!==`..`&&!e.startsWith(`..${f.sep}`)}function N(e){return e instanceof Error&&e.message===O}async function P(e){let t=await p.lstat(e.installBaseDir);if(!t.isDirectory()||t.isSymbolicLink()||await p.realpath(e.installBaseDir)!==e.expectedRealPath)throw Error(O)}async function F(e){e&&await p.rm(e,{recursive:!0,force:!0}).catch(()=>void 0)}async function I(e){let t=f.resolve(e.installBaseDir),n=f.resolve(e.targetDir),r=f.relative(t,n);if(!M(r))throw Error(`invalid install target path`);let i=await p.realpath(e.installBaseDir);return{installBaseRealPath:i,canonicalTargetDir:f.join(i,r)}}async function L(e){e.logger?.info?.(`Installing to ${e.targetDir}…`);let t=f.dirname(e.targetDir);await p.mkdir(t,{recursive:!0}),await j({installBaseDir:t,candidatePaths:[e.targetDir]});let n,r;try{({installBaseRealPath:n,canonicalTargetDir:r}=await I({installBaseDir:t,targetDir:e.targetDir}))}catch(t){return{ok:!1,error:`${e.copyErrorPrefix}: ${String(t)}`}}let o=null,s=null,c=async(t,n)=>(N(n)?e.logger?.warn?.(`Install base directory changed during install; aborting staged publish.`):(await l(),o&&=(await F(o),null)),{ok:!1,error:t}),l=async()=>{s&&=(await p.rename(s,r).catch(()=>void 0),null)};try{await j({installBaseDir:n,candidatePaths:[r]}),o=await p.mkdtemp(f.join(n,`.openclaw-install-stage-`)),await p.cp(e.sourceDir,o,{recursive:!0})}catch(t){return await c(`${e.copyErrorPrefix}: ${String(t)}`,t)}try{await e.afterCopy?.(o)}catch(e){return await c(`post-copy validation failed: ${String(e)}`,e)}if(e.hasDeps){await A(o),e.logger?.info?.(e.depsLogMessage);let t=await i([`npm`,`install`,`--omit=dev`,`--omit=peer`,`--silent`,`--ignore-scripts`],{timeoutMs:Math.max(e.timeoutMs,3e5),cwd:o});if(t.code!==0)return await c(`npm install failed: ${t.stderr.trim()||t.stdout.trim()}`)}if(e.mode===`update`&&await a(r)){let i=f.join(n,`.openclaw-install-backups`);s=f.join(i,`${f.basename(r)}-${Date.now()}`);try{await p.mkdir(i,{recursive:!0}),await j({installBaseDir:n,candidatePaths:[s]}),await P({installBaseDir:t,expectedRealPath:n}),await p.rename(r,s)}catch(t){return await c(`${e.copyErrorPrefix}: ${String(t)}`,t)}}try{await P({installBaseDir:t,expectedRealPath:n}),await p.rename(o,r),o=null}catch(t){return await c(`${e.copyErrorPrefix}: ${String(t)}`,t)}if(s)try{await P({installBaseDir:t,expectedRealPath:n})}catch(t){N(t)&&e.logger?.warn?.(`Install base directory changed before backup cleanup; leaving backup in place.`),s=null}return s&&await p.rm(s,{recursive:!0,force:!0}).catch(()=>void 0),o&&await F(o),{ok:!0}}async function R(e){return L({...e,hasDeps:Object.keys(e.manifestDependencies??{}).length>0})}async function z(e){await p.mkdir(e.baseDir,{recursive:!0});let t=s({baseDir:e.baseDir,id:e.id,invalidNameMessage:e.invalidNameMessage});if(!t.ok)return{ok:!1,error:t.error};try{await l({baseDir:e.baseDir,candidatePath:t.path,boundaryLabel:e.boundaryLabel})}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}return{ok:!0,targetDir:t.path}}async function B(e){return e.mode===`install`&&await a(e.targetDir)?{ok:!1,error:e.alreadyExistsError}:{ok:!0}}async function V(e){if(!e.expectedIntegrity||!e.resolution.integrity||e.expectedIntegrity===e.resolution.integrity)return{proceed:!0};let t={expectedIntegrity:e.expectedIntegrity,actualIntegrity:e.resolution.integrity},n=e.createPayload({spec:e.spec,expectedIntegrity:t.expectedIntegrity,actualIntegrity:t.actualIntegrity,resolution:e.resolution}),r=!0;return e.onIntegrityDrift?r=await e.onIntegrityDrift(n):e.warn?.(n),{integrityDrift:t,proceed:r,payload:n}}async function H(e){let t=await V({spec:e.spec,expectedIntegrity:e.expectedIntegrity,resolution:e.resolution,createPayload:e=>({...e}),onIntegrityDrift:e.onIntegrityDrift,warn:t=>{e.warn?.(`Integrity drift detected for ${t.resolution.resolvedSpec??t.spec}: expected ${t.expectedIntegrity}, got ${t.actualIntegrity}`)}});return!t.proceed&&t.payload?{integrityDrift:t.integrityDrift,error:`aborted: npm package integrity drift detected for ${t.payload.resolution.resolvedSpec??t.payload.spec}`}:{integrityDrift:t.integrityDrift}}async function U(e){return await K({tempDirPrefix:e.tempDirPrefix,spec:e.spec,timeoutMs:e.timeoutMs,expectedIntegrity:e.expectedIntegrity,onIntegrityDrift:e.onIntegrityDrift,warn:e.warn,installFromArchive:async({archivePath:t})=>await e.installFromArchive({archivePath:t,...e.archiveInstallParams})})}function W(e){return e.ok}function G(e){if(!e.ok)return e;let t=e.installResult;return W(t)?{...t,npmResolution:e.npmResolution,...e.integrityDrift?{integrityDrift:e.integrityDrift}:{}}:t}async function K(e){return await h(e.tempDirPrefix,async i=>{let a=t(e.spec);if(!a)return{ok:!1,error:`unsupported npm spec`};let o=await C({spec:e.spec,timeoutMs:e.timeoutMs,cwd:i});if(!o.ok)return o;let s={...o.metadata,resolvedAt:new Date().toISOString()};if(s.version&&!n({spec:a,resolvedVersion:s.version}))return{ok:!1,error:r({spec:a,resolvedVersion:s.version})};let c=await H({spec:e.spec,expectedIntegrity:e.expectedIntegrity,resolution:s,onIntegrityDrift:e.onIntegrityDrift,warn:e.warn});return c.error?{ok:!1,error:c.error}:{ok:!0,installResult:await e.installFromArchive({archivePath:o.archivePath}),npmResolution:s,integrityDrift:c.integrityDrift}})}export{L as a,D as c,m as d,g as f,z as i,w as l,U as n,R as o,B as r,E as s,G as t,T as u};
|
|
2
|
-
//# sourceMappingURL=npm-pack-install-C0te3Oap.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{t as e}from"./subsystem-BLbY429l.js";import{jo as t}from"./auth-profiles-C8rZRS0X.js";import{d as n,f as r,j as i}from"./agent-scope-DAWJwFfl.js";import{c as a,l as o}from"./compact-CYbPi7_-.js";import{d as s}from"./npm-pack-install-C0te3Oap.js";import c from"node:path";const l=e(`plugins`);function u(e){let s=e?.config??t(),c=e?.workspaceDir?e.workspaceDir:n(s,r(s))??i();return{workspaceDir:c,...o({config:s,workspaceDir:c,logger:a(l)})}}function d(e,t){return e.startsWith(`.`)||e.startsWith(`~`)||c.isAbsolute(e)||t.some(t=>e.endsWith(t))}function f(e){let t=e.pin&&e.resolvedSpec?e.resolvedSpec:e.rawSpec;return e.pin?e.resolvedSpec?{recordSpec:t,pinNotice:`Pinned npm install record to ${e.resolvedSpec}.`}:{recordSpec:t,pinWarning:`Could not resolve exact npm version for --pin; storing original npm spec.`}:{recordSpec:t}}function p(e){return{source:`npm`,spec:e.spec,installPath:e.installPath,version:e.version,...s(e.resolution)}}function m(e){let t=f({rawSpec:e.rawSpec,pin:e.pin,resolvedSpec:e.resolution?.resolvedSpec});return g(t,e.log,e.warn),p({spec:t.recordSpec,installPath:e.installPath,version:e.version,resolution:e.resolution})}function h(e,t,n,r,i,a,o){return m({rawSpec:e,pin:t,installPath:n,version:r,resolution:i,log:a,warn:e=>a(o(e))})}function g(e,t,n){e.pinWarning&&n(e.pinWarning),e.pinNotice&&t(e.pinNotice)}export{u as i,h as n,d as r,p as t};
|
|
2
|
-
//# sourceMappingURL=npm-resolution--_-0q2ks.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{t as e}from"./subsystem-C5XF2Fy5.js";import{qs as t}from"./model-selection-BLbnMb5E.js";import{at as n,ot as r}from"./reply-DwfVhea1.js";import{d as i,f as a,j as o}from"./agent-scope-DXZc3eNT.js";import{d as s}from"./npm-pack-install-B23L-AtF.js";import c from"node:path";const l=e(`plugins`);function u(e){let s=e?.config??t(),c=e?.workspaceDir?e.workspaceDir:i(s,a(s))??o();return{workspaceDir:c,...r({config:s,workspaceDir:c,logger:n(l)})}}function d(e,t){return e.startsWith(`.`)||e.startsWith(`~`)||c.isAbsolute(e)||t.some(t=>e.endsWith(t))}function f(e){let t=e.pin&&e.resolvedSpec?e.resolvedSpec:e.rawSpec;return e.pin?e.resolvedSpec?{recordSpec:t,pinNotice:`Pinned npm install record to ${e.resolvedSpec}.`}:{recordSpec:t,pinWarning:`Could not resolve exact npm version for --pin; storing original npm spec.`}:{recordSpec:t}}function p(e){return{source:`npm`,spec:e.spec,installPath:e.installPath,version:e.version,...s(e.resolution)}}function m(e){let t=f({rawSpec:e.rawSpec,pin:e.pin,resolvedSpec:e.resolution?.resolvedSpec});return g(t,e.log,e.warn),p({spec:t.recordSpec,installPath:e.installPath,version:e.version,resolution:e.resolution})}function h(e,t,n,r,i,a,o){return m({rawSpec:e,pin:t,installPath:n,version:r,resolution:i,log:a,warn:e=>a(o(e))})}function g(e,t,n){e.pinWarning&&n(e.pinWarning),e.pinNotice&&t(e.pinNotice)}export{u as i,h as n,d as r,p as t};
|
|
2
|
-
//# sourceMappingURL=npm-resolution-CBlwQq3a.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{r as e}from"./wsl-DHxB2Ew_.js";function t(e){if(!e||typeof e!=`object`||!(`fallbacks`in e))return;let t=e.fallbacks;return Array.isArray(t)?t.map(e=>String(e)):void 0}function n(e,t){return{...e,agents:{...e.agents,defaults:{...e.agents?.defaults,models:t.agentModels}},models:{mode:e.models?.mode??`merge`,providers:t.providers}}}function r(e,n){let r=t(e.agents?.defaults?.model);return{...e,agents:{...e.agents,defaults:{...e.agents?.defaults,model:{...r?{fallbacks:r}:void 0,primary:n}}}}}function i(e,t){let n=s(e,t.providerId),r=t.defaultModels,i=t.defaultModelId??r[0]?.id,a=i?n.existingModels.some(e=>e.id===i):!0,o=n.existingModels.length>0?a||r.length===0?n.existingModels:[...n.existingModels,...r]:r;return c(e,{agentModels:t.agentModels,providerId:t.providerId,providerState:n,api:t.api,baseUrl:t.baseUrl,mergedModels:o,fallbackModels:r})}function a(e,t){return i(e,{agentModels:t.agentModels,providerId:t.providerId,api:t.api,baseUrl:t.baseUrl,defaultModels:[t.defaultModel],defaultModelId:t.defaultModelId??t.defaultModel.id})}function o(e,t){let n=s(e,t.providerId),r=t.catalogModels,i=n.existingModels.length>0?[...n.existingModels,...r.filter(e=>!n.existingModels.some(t=>t.id===e.id))]:r;return c(e,{agentModels:t.agentModels,providerId:t.providerId,providerState:n,api:t.api,baseUrl:t.baseUrl,mergedModels:i,fallbackModels:r})}function s(e,t){let n={...e.models?.providers},r=n[t];return{providers:n,existingProvider:r,existingModels:Array.isArray(r?.models)?r.models:[]}}function c(e,t){return t.providerState.providers[t.providerId]=l({existingProvider:t.providerState.existingProvider,api:t.api,baseUrl:t.baseUrl,mergedModels:t.mergedModels,fallbackModels:t.fallbackModels}),n(e,{agentModels:t.agentModels,providers:t.providerState.providers})}function l(e){let{apiKey:t,...n}=e.existingProvider??{},r=typeof t==`string`?t.trim():void 0;return{...n,baseUrl:e.baseUrl,api:e.api,...r?{apiKey:r}:{},models:e.mergedModels.length>0?e.mergedModels:e.fallbackModels}}function u(){return!!(process.env.SSH_CLIENT||process.env.SSH_TTY||process.env.SSH_CONNECTION||process.env.REMOTE_CONTAINERS||process.env.CODESPACES||process.platform===`linux`&&!process.env.DISPLAY&&!process.env.WAYLAND_DISPLAY&&!e())}export{i as a,a as i,r as n,o,n as r,u as t};
|
|
2
|
-
//# sourceMappingURL=oauth-env-DAamJ1oz.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{r as e}from"./wsl-Ok7GaSJ6.js";function t(e){if(!e||typeof e!=`object`||!(`fallbacks`in e))return;let t=e.fallbacks;return Array.isArray(t)?t.map(e=>String(e)):void 0}function n(e,t){return{...e,agents:{...e.agents,defaults:{...e.agents?.defaults,models:t.agentModels}},models:{mode:e.models?.mode??`merge`,providers:t.providers}}}function r(e,n){let r=t(e.agents?.defaults?.model);return{...e,agents:{...e.agents,defaults:{...e.agents?.defaults,model:{...r?{fallbacks:r}:void 0,primary:n}}}}}function i(e,t){let n=s(e,t.providerId),r=t.defaultModels,i=t.defaultModelId??r[0]?.id,a=i?n.existingModels.some(e=>e.id===i):!0,o=n.existingModels.length>0?a||r.length===0?n.existingModels:[...n.existingModels,...r]:r;return c(e,{agentModels:t.agentModels,providerId:t.providerId,providerState:n,api:t.api,baseUrl:t.baseUrl,mergedModels:o,fallbackModels:r})}function a(e,t){return i(e,{agentModels:t.agentModels,providerId:t.providerId,api:t.api,baseUrl:t.baseUrl,defaultModels:[t.defaultModel],defaultModelId:t.defaultModelId??t.defaultModel.id})}function o(e,t){let n=s(e,t.providerId),r=t.catalogModels,i=n.existingModels.length>0?[...n.existingModels,...r.filter(e=>!n.existingModels.some(t=>t.id===e.id))]:r;return c(e,{agentModels:t.agentModels,providerId:t.providerId,providerState:n,api:t.api,baseUrl:t.baseUrl,mergedModels:i,fallbackModels:r})}function s(e,t){let n={...e.models?.providers},r=n[t];return{providers:n,existingProvider:r,existingModels:Array.isArray(r?.models)?r.models:[]}}function c(e,t){return t.providerState.providers[t.providerId]=l({existingProvider:t.providerState.existingProvider,api:t.api,baseUrl:t.baseUrl,mergedModels:t.mergedModels,fallbackModels:t.fallbackModels}),n(e,{agentModels:t.agentModels,providers:t.providerState.providers})}function l(e){let{apiKey:t,...n}=e.existingProvider??{},r=typeof t==`string`?t.trim():void 0;return{...n,baseUrl:e.baseUrl,api:e.api,...r?{apiKey:r}:{},models:e.mergedModels.length>0?e.mergedModels:e.fallbackModels}}function u(){return!!(process.env.SSH_CLIENT||process.env.SSH_TTY||process.env.SSH_CONNECTION||process.env.REMOTE_CONTAINERS||process.env.CODESPACES||process.platform===`linux`&&!process.env.DISPLAY&&!process.env.WAYLAND_DISPLAY&&!e())}export{i as a,a as i,r as n,o,n as r,u as t};
|
|
2
|
-
//# sourceMappingURL=oauth-env-DSLBTWb1.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import{t as e}from"./command-format-CLxIPuLR.js";import{t}from"./note-Dp-d_utk.js";import n from"node:path";const r=new Set([`UNABLE_TO_GET_ISSUER_CERT_LOCALLY`,`UNABLE_TO_VERIFY_LEAF_SIGNATURE`,`CERT_HAS_EXPIRED`,`DEPTH_ZERO_SELF_SIGNED_CERT`,`SELF_SIGNED_CERT_IN_CHAIN`,`ERR_TLS_CERT_ALTNAME_INVALID`]),i=[/unable to get local issuer certificate/i,/unable to verify the first certificate/i,/self[- ]signed certificate/i,/certificate has expired/i];function a(e){return e&&typeof e==`object`?e:null}function o(e){let t=a(e),n=a(t?.cause),o=typeof n?.code==`string`?n.code:void 0,s=typeof n?.message==`string`?n.message:typeof t?.message==`string`?t.message:String(e);return{code:o,message:s,kind:o&&r.has(o)||i.some(e=>e.test(s))?`tls-cert`:`network`}}function s(e){let t=`${n.sep}Cellar${n.sep}`,r=e.indexOf(t);return r>0?e.slice(0,r):process.env.HOMEBREW_PREFIX?.trim()||null}function c(){let e=s(process.execPath);return e?n.join(e,`etc`,`openssl@3`,`cert.pem`):null}function l(e){let t=e.auth?.profiles;return t?Object.values(t).some(e=>e.provider===`openai-codex`&&e.mode===`oauth`):!1}function u(e){return e.deep===!0?!0:l(e.cfg)}async function d(e){let t=e?.timeoutMs??5e3,n=e?.fetchImpl??fetch;try{return await n(`https://auth.openai.com/oauth/authorize?response_type=code&client_id=openclaw-preflight&redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback&scope=openid+profile+email`,{method:`GET`,redirect:`manual`,signal:AbortSignal.timeout(t)}),{ok:!0}}catch(e){let t=o(e);return{ok:!1,kind:t.kind,code:t.code,message:t.message}}}function f(t){if(t.kind!==`tls-cert`)return[`OpenAI OAuth prerequisites check failed due to a network error before the browser flow.`,`Cause: ${t.message}`,`Verify DNS/firewall/proxy access to auth.openai.com and retry.`].join(`
|
|
2
2
|
`);let n=c(),r=[`OpenAI OAuth prerequisites check failed: Node/OpenSSL cannot validate TLS certificates.`,`Cause: ${t.code?`${t.code} (${t.message})`:t.message}`,``,`Fix (Homebrew Node/OpenSSL):`,`- ${e(`brew postinstall ca-certificates`)}`,`- ${e(`brew postinstall openssl@3`)}`];return n&&r.push(`- Verify cert bundle exists: ${n}`),r.push(`- Retry the OAuth login flow.`),r.join(`
|
|
3
3
|
`)}async function p(e){if(!u(e))return;let n=await d({timeoutMs:4e3});n.ok||n.kind!==`tls-cert`||t(f(n),`OAuth TLS prerequisites`)}export{p as n,d as r,f as t};
|
|
4
|
-
//# sourceMappingURL=oauth-tls-preflight-BSBRDIfC.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import{t as e}from"./command-format-BbDT1tlm.js";import{t}from"./note-D4GAwgha.js";import n from"node:path";const r=new Set([`UNABLE_TO_GET_ISSUER_CERT_LOCALLY`,`UNABLE_TO_VERIFY_LEAF_SIGNATURE`,`CERT_HAS_EXPIRED`,`DEPTH_ZERO_SELF_SIGNED_CERT`,`SELF_SIGNED_CERT_IN_CHAIN`,`ERR_TLS_CERT_ALTNAME_INVALID`]),i=[/unable to get local issuer certificate/i,/unable to verify the first certificate/i,/self[- ]signed certificate/i,/certificate has expired/i];function a(e){return e&&typeof e==`object`?e:null}function o(e){let t=a(e),n=a(t?.cause),o=typeof n?.code==`string`?n.code:void 0,s=typeof n?.message==`string`?n.message:typeof t?.message==`string`?t.message:String(e);return{code:o,message:s,kind:o&&r.has(o)||i.some(e=>e.test(s))?`tls-cert`:`network`}}function s(e){let t=`${n.sep}Cellar${n.sep}`,r=e.indexOf(t);return r>0?e.slice(0,r):process.env.HOMEBREW_PREFIX?.trim()||null}function c(){let e=s(process.execPath);return e?n.join(e,`etc`,`openssl@3`,`cert.pem`):null}function l(e){let t=e.auth?.profiles;return t?Object.values(t).some(e=>e.provider===`openai-codex`&&e.mode===`oauth`):!1}function u(e){return e.deep===!0?!0:l(e.cfg)}async function d(e){let t=e?.timeoutMs??5e3,n=e?.fetchImpl??fetch;try{return await n(`https://auth.openai.com/oauth/authorize?response_type=code&client_id=openclaw-preflight&redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback&scope=openid+profile+email`,{method:`GET`,redirect:`manual`,signal:AbortSignal.timeout(t)}),{ok:!0}}catch(e){let t=o(e);return{ok:!1,kind:t.kind,code:t.code,message:t.message}}}function f(t){if(t.kind!==`tls-cert`)return[`OpenAI OAuth prerequisites check failed due to a network error before the browser flow.`,`Cause: ${t.message}`,`Verify DNS/firewall/proxy access to auth.openai.com and retry.`].join(`
|
|
2
2
|
`);let n=c(),r=[`OpenAI OAuth prerequisites check failed: Node/OpenSSL cannot validate TLS certificates.`,`Cause: ${t.code?`${t.code} (${t.message})`:t.message}`,``,`Fix (Homebrew Node/OpenSSL):`,`- ${e(`brew postinstall ca-certificates`)}`,`- ${e(`brew postinstall openssl@3`)}`];return n&&r.push(`- Verify cert bundle exists: ${n}`),r.push(`- Retry the OAuth login flow.`),r.join(`
|
|
3
3
|
`)}async function p(e){if(!u(e))return;let n=await d({timeoutMs:4e3});n.ok||n.kind!==`tls-cert`||t(f(n),`OAuth TLS prerequisites`)}export{p as n,d as r,f as t};
|
|
4
|
-
//# sourceMappingURL=oauth-tls-preflight-ByNjbUR5.js.map
|
|
@@ -5,4 +5,3 @@ import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{ct as t,lt as n,ot as
|
|
|
5
5
|
`),`Ollama Cloud`),!await i.confirm({message:`Continue without cloud auth?`}))throw new c(`Ollama cloud auth could not be verified`)}let x=y===`local`||!b?p:m,S=[...x,..._.filter(e=>!x.includes(e))];await w(e.agentDir);let T=x[0]??`glm-4.7-flash`;return{config:C(e.cfg,l,S,g),defaultModelId:T}}async function E(e){let{opts:i,runtime:a}=e,s=o((i.customBaseUrl?.trim()||r).replace(/\/+$/,``)),{reachable:c,models:u}=await n(s),d=h(i.customModelId);if(!c)return a.error([`Ollama could not be reached at ${s}.`,`Download it at https://ollama.com/download`].join(`
|
|
6
6
|
`)),a.exit(1),e.nextConfig;await w();let f=await t(s,u.slice(0,50)),m=new Map(f.map(e=>[e.name,e])),_=u.map(e=>e.name),v=p,y=[...v,..._.filter(e=>!v.includes(e))],b=d??v[0],S=!1,T=new Set(_),E=g(b);E&&T.add(b),!E&&!_.includes(b)&&(S=await x(s,b,a),S&&T.add(b));let D=y,O=b;if((S||E)&&!D.includes(b)&&(D=[...D,b]),!T.has(b))if(T.size>0)O=D.find(e=>T.has(e))??Array.from(T)[0],a.log(`Ollama model ${b} was not available; using ${O} instead.`);else return a.error([`No Ollama models are available at ${s}.`,`Pull a model first, then re-run onboarding.`].join(`
|
|
7
7
|
`)),a.exit(1),e.nextConfig;let k=C(e.nextConfig,s,D,m),A=`ollama/${O}`;return a.log(`Default Ollama model: ${O}`),l(k,A)}async function D(e){let t=e.config.agents?.defaults?.model,i=typeof t==`string`?t:t?.primary;if(!i?.startsWith(`ollama/`))return;let a=e.config.models?.providers?.ollama?.baseUrl??r,o=i.slice(7);if(g(o))return;let{models:s}=await n(a);if(!s.some(e=>e.name===o)&&!await b(a,o,e.prompter))throw new c(`Failed to download selected Ollama model`)}export{T as i,D as n,d as r,E as t};
|
|
8
|
-
//# sourceMappingURL=ollama-setup-CGuyH3Ey.js.map
|