@qqbrowser/openclaw-qbot 0.0.139 → 0.0.142
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 +1 -0
- package/dist/acp-cli-BaslDuk6.js +1 -0
- package/dist/acp-cli-f5-uI85a.js +1 -0
- package/dist/active-listener-Cce5tcPa.js +1 -0
- package/dist/active-listener-D8VOdVx3.js +1 -0
- package/dist/active-listener-DeKRt_UV.js +1 -0
- package/dist/active-listener-Dle9QX40.js +1 -0
- package/dist/agent-scope-DAWJwFfl.js +1 -0
- package/dist/agent-scope-DXZc3eNT.js +1 -0
- package/dist/agents-Bpp_F5In.js +1 -0
- package/dist/agents.config-B6LRG9eP.js +1 -0
- package/dist/agents.config-DfIJAGcd.js +1 -0
- package/dist/allow-from-B6dI7oz8.js +1 -0
- package/dist/allow-from-DEeVIPKS.js +1 -0
- package/dist/api-BeG0ObSq.js +1 -0
- package/dist/api-Dx8x1KTs.js +1 -0
- package/dist/api-key-rotation-BRt-vnRV.js +1 -0
- package/dist/api-key-rotation-CCH1wYVU.js +1 -0
- package/dist/api-key-rotation-D0QU-kQ9.js +1 -0
- package/dist/api-key-rotation-Di6QgXx7.js +1 -0
- package/dist/arg-split-BOqSMBuf.js +1 -0
- package/dist/arg-split-DE5RqDHq.js +1 -0
- package/dist/audio-preflight-B5o7P9qi.js +1 -0
- package/dist/audio-preflight-CxD7VCHW.js +1 -0
- package/dist/audio-preflight-DKSCBKRb.js +1 -0
- package/dist/audio-preflight-Dpk8-Bmk.js +1 -0
- package/dist/audio-transcription-runner-Bd1OZC6K.js +1 -0
- package/dist/audio-transcription-runner-D4Bp6MM7.js +1 -0
- package/dist/audio-transcription-runner-DPwmBYQj.js +1 -0
- package/dist/audio-transcription-runner-DSr6OIz1.js +1 -0
- package/dist/audit-C7RP7G_g.js +1 -0
- package/dist/audit-jkdcAUep.js +1 -0
- package/dist/audit-membership-runtime-BpRsMj5-.js +1 -0
- package/dist/audit-membership-runtime-BsfLZNBj.js +1 -0
- package/dist/audit-membership-runtime-DRHirRmx.js +1 -0
- package/dist/audit-membership-runtime-g0dEWJTp.js +1 -0
- package/dist/audit-membership-runtime-kdyToskD.js +1 -0
- package/dist/auth-choice-B7LSoXZ_.js +1 -0
- package/dist/auth-choice-CxMH4c-u.js +1 -0
- package/dist/auth-choice-DvTApGhx.js +1 -0
- package/dist/auth-choice-EQdNd7jO.js +1 -0
- package/dist/auth-choice-options-B3WQyS7I.js +1 -0
- package/dist/auth-choice-options-Dw14noox.js +1 -0
- package/dist/auth-choice-prompt-uegl56cf.js +1 -0
- package/dist/auth-choice-prompt-xYj13czb.js +1 -0
- package/dist/auth-choice.apply-helpers-B7S-PcH_.js +1 -0
- package/dist/auth-choice.apply-helpers-gaL-oSft.js +1 -0
- package/dist/auth-profiles-T8DuH3ax.js +1 -0
- package/dist/auth-token-9OTF1FmL.js +1 -0
- package/dist/auth-token-kGltuM6S.js +1 -0
- package/dist/banner-9u45RL26.js +1 -0
- package/dist/bonjour-discovery-CFZXPega.js +1 -0
- package/dist/bonjour-discovery-CjivQOxi.js +1 -0
- package/dist/boolean-Ch3DfXPy.js +1 -0
- package/dist/boolean-D15s2V33.js +1 -0
- package/dist/boolean-DypnRoRK.js +1 -0
- package/dist/brew-COcDl8CB.js +1 -0
- package/dist/brew-DDPm_HfE.js +1 -0
- package/dist/browser-cli-DQHE2iPY.js +1 -0
- package/dist/browser-cli-Dt0ds-an.js +1 -0
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +1 -0
- package/dist/bundled/bootstrap-extra-files/handler.js +1 -0
- package/dist/bundled/command-logger/handler.js +1 -0
- package/dist/bundled/session-memory/handler.js +1 -0
- package/dist/call-B8Fb4_oh.js +1 -0
- package/dist/call-CqoMqP5b.js +1 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +1705 -2
- package/dist/channel-account-context-BMPAMZEv.js +1 -0
- package/dist/channel-account-context-DAcarnqW.js +1 -0
- package/dist/channel-activity-B04WbrrK.js +1 -0
- package/dist/channel-activity-BBrgoad1.js +1 -0
- package/dist/channel-activity-CgbOWaay.js +1 -0
- package/dist/channel-activity-YIMhOAUo.js +1 -0
- package/dist/channel-activity-YjYNzCpJ.js +1 -0
- package/dist/channel-options-CEIzjOno.js +1 -0
- package/dist/channel-options-D2syI791.js +1 -0
- package/dist/channel-selection-BBeE1TmB.js +1 -0
- package/dist/channel-selection-CbNtbAEf.js +1 -0
- package/dist/channel-web-BrElpZAc.js +1 -0
- package/dist/channel-web-CxHbET4B.js +1 -0
- package/dist/channels/plugins/actions/discord.js +1 -0
- package/dist/channels/plugins/actions/signal.js +1 -0
- package/dist/channels/plugins/actions/telegram.js +1 -0
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -0
- package/dist/channels-cli-BmAJuuRs.js +1 -0
- package/dist/channels-cli-Dgosczr6.js +1 -0
- package/dist/channels-status-issues-8eFrGKyf.js +1 -0
- package/dist/channels-status-issues-PRgOT90w.js +1 -0
- package/dist/chat-envelope-Bznn2SoS.js +1 -0
- package/dist/chat-envelope-HVpKusFc.js +1 -0
- package/dist/clack-prompter-DBPdGdqp.js +1 -0
- package/dist/clack-prompter-Dq0aY6iM.js +1 -0
- package/dist/clawbot-cli-CgS7TkEx.js +1 -0
- package/dist/clawbot-cli-DZ2K0OTk.js +1 -0
- package/dist/cleanup-utils-BWm70DoD.js +1 -0
- package/dist/cleanup-utils-D-RhEX6F.js +1 -0
- package/dist/cli-BcnoCo4z.js +1 -0
- package/dist/cli-D8T2tphD.js +1 -0
- package/dist/cli-utils-BY7dLMFy.js +1 -0
- package/dist/cli-utils-BleB1eys.js +1 -0
- package/dist/clipboard-Bk8cviBt.js +1 -0
- package/dist/clipboard-CKT_VIkG.js +1 -0
- package/dist/cmd-argv-BBT5l8AV.js +1 -0
- package/dist/cmd-argv-Bh-KpaZ0.js +1 -0
- package/dist/command-format-BbDT1tlm.js +1 -0
- package/dist/command-format-CLxIPuLR.js +1 -0
- package/dist/command-options-BpOUDl2S.js +1 -0
- package/dist/command-options-Bq5nQxz6.js +1 -0
- package/dist/command-poll-backoff-BZLHYB2k.js +1 -0
- package/dist/command-poll-backoff-Cww_r-24.js +1 -0
- package/dist/command-poll-backoff-Df6cOQrX.js +1 -0
- package/dist/command-poll-backoff-endAPdwn.js +1 -0
- package/dist/command-registry-CfuXCRwV.js +1 -0
- package/dist/command-secret-targets-BVN3kiT9.js +1 -0
- package/dist/command-secret-targets-BlN-J_fA.js +1 -0
- package/dist/commands-CGpM84iR.js +1 -0
- package/dist/commands-Dy7duWlt.js +1 -0
- package/dist/commands-registry-B1x54ukc.js +1 -0
- package/dist/commands-registry-Cpl4QnG4.js +1 -0
- package/dist/commands-registry-D40KqYOm.js +1 -0
- package/dist/commands-registry-SeddSmFK.js +1 -0
- package/dist/compact-Dg66DXx_.js +1 -0
- package/dist/completion-cli-BZi4nuQb.js +1 -0
- package/dist/completion-cli-C40TWdsv.js +1 -0
- package/dist/config-BqW5S1xL.js +1 -0
- package/dist/config-D12ZLKqh.js +1 -0
- package/dist/config-cli-1ojSLwAj.js +1 -0
- package/dist/config-cli-CBte2b1h.js +1 -0
- package/dist/config-guard-BTNXbWoO.js +1 -0
- package/dist/config-guard-sYYx9zEF.js +1 -0
- package/dist/config-validation-C1La_IZU.js +1 -0
- package/dist/config-validation-DviYxW8Y.js +1 -0
- package/dist/configure-DJrNDEpR.js +1 -0
- package/dist/configure-kod4tmZa.js +1 -0
- package/dist/connection-auth-B_Uk6Vk8.js +1 -0
- package/dist/connection-auth-C8iru0UB.js +1 -0
- package/dist/context-window-guard-7crlatf9.js +1 -0
- package/dist/context-window-guard-CPChk363.js +1 -0
- package/dist/control-ui-assets-BIa0GGDg.js +1 -0
- package/dist/control-ui-assets-CTHGGgaX.js +1 -0
- package/dist/cron-cli-Dha16Lo-.js +1 -0
- package/dist/cron-cli-QHS2pKZ_.js +1 -0
- package/dist/daemon-cli-BuXTzSnU.js +1 -0
- package/dist/daemon-cli-DOTKuS7d.js +1 -0
- package/dist/daemon-cli.js +1 -0
- package/dist/daemon-install-C30rBssi.js +1 -0
- package/dist/daemon-install-HrqlOCrc.js +1 -0
- package/dist/daemon-install-plan.shared-CfA37Ut_.js +1 -0
- package/dist/daemon-install-plan.shared-Dx3DBXCG.js +1 -0
- package/dist/daemon-runtime-DHiDbRuC.js +1 -0
- package/dist/daemon-runtime-VcpeBRJV.js +1 -0
- package/dist/dangerous-name-matching-BOmvAibz.js +1 -0
- package/dist/dangerous-name-matching-DtllRqBD.js +1 -0
- package/dist/dangerous-tools-CFRYQJ6V.js +1 -0
- package/dist/dangerous-tools-oYCu5wfC.js +1 -0
- package/dist/deliver-56mQkDw3.js +1 -0
- package/dist/deliver-BFQ4Zx9z.js +1 -0
- package/dist/deliver-BHuhHfkH.js +1 -0
- package/dist/deliver-ClBkV2eD.js +1 -0
- package/dist/delivery-queue-CKbauSFq.js +1 -0
- package/dist/delivery-queue-nkPJu0fY.js +1 -0
- package/dist/device-pairing-CTFpaTrD.js +1 -0
- package/dist/device-pairing-QTK0dod3.js +1 -0
- package/dist/devices-cli-Ckxd0k0I.js +1 -0
- package/dist/devices-cli-Db36mBHq.js +1 -0
- package/dist/diagnostic-BrE4lMIf.js +1 -0
- package/dist/diagnostic-CDxNevIQ.js +1 -0
- package/dist/diagnostic-DOzHPnht.js +1 -0
- package/dist/diagnostic-DQq4Bwrs.js +1 -0
- package/dist/diagnostics-BgbeL9KE.js +1 -0
- package/dist/diagnostics-Cdctg9K_.js +1 -0
- package/dist/directory-cli-DDTaUkjW.js +1 -0
- package/dist/directory-cli-_gTFSHMW.js +1 -0
- package/dist/dns-cli--4PwtR2Y.js +1 -0
- package/dist/dns-cli-C4DwKquN.js +1 -0
- package/dist/docs-cli-Cdw9Iz9a.js +1 -0
- package/dist/docs-cli-ClD2UyX1.js +1 -0
- package/dist/doctor-completion-BJ6steqx.js +1 -0
- package/dist/doctor-completion-DMJhfrtC.js +1 -0
- package/dist/doctor-config-flow-D4F3mz4h.js +1 -0
- package/dist/doctor-config-flow-DnOyVZhQ.js +1 -0
- package/dist/enable-BhD84GhD.js +1 -0
- package/dist/enable-Ccf9wSM8.js +1 -0
- package/dist/entry-status-CCwwKO43.js +1 -0
- package/dist/entry-status-CoXkbJcX.js +1 -0
- package/dist/entry.js +1 -0
- package/dist/env-D7wNuBx1.js +1 -0
- package/dist/env-overrides-DHtB4kK3.js +1 -0
- package/dist/env-overrides-DXJbFrwI.js +1 -0
- package/dist/errors-6SQWM9dj.js +1 -0
- package/dist/errors-Bunti32V.js +1 -0
- package/dist/exec-B3eleY5O.js +1 -0
- package/dist/exec-DHqLtFYt.js +1 -0
- package/dist/exec-approvals-BXO9Cezj.js +1 -0
- package/dist/exec-approvals-BpBNEy6i.js +1 -0
- package/dist/exec-approvals-allowlist-CE3nYh0K.js +1 -0
- package/dist/exec-approvals-allowlist-D8mN7nxV.js +1 -0
- package/dist/exec-approvals-cli-CUcuN63y.js +1 -0
- package/dist/exec-approvals-cli-CxUGD08t.js +1 -0
- package/dist/exec-safe-bin-runtime-policy-Dt0GchLp.js +1 -0
- package/dist/exec-safe-bin-runtime-policy-dcCS_Adf.js +1 -0
- package/dist/fetch-B9tORjG8.js +1 -0
- package/dist/fetch-BJT3BrkJ.js +1 -0
- package/dist/fetch-B_wRifvZ.js +1 -0
- package/dist/fetch-Bn0mWg6a.js +1 -0
- package/dist/fetch-CQaNr5J1.js +1 -0
- package/dist/fetch-Ce-scEU-.js +1 -0
- package/dist/fetch-D0rZDHKO.js +1 -0
- package/dist/fetch-DHo17YmK.js +1 -0
- package/dist/fetch-Dh-apy46.js +1 -0
- package/dist/fetch-Dikjvc5M.js +1 -0
- package/dist/fetch-DsjPfQlp.js +1 -0
- package/dist/fetch-_g8lZ8K8.js +1 -0
- package/dist/fetch-guard-BrTtJw7h.js +1 -0
- package/dist/fetch-guard-D10s0raB.js +1 -0
- package/dist/fetch-guard-DPdY0NXR.js +1 -0
- package/dist/fetch-guard-cu7DGSRF.js +1 -0
- package/dist/fetch-hy0JKSsm.js +1 -0
- package/dist/fetch-timeout-CdYxWG9w.js +1 -0
- package/dist/fetch-timeout-Cj8_oAls.js +1 -0
- package/dist/fetch-timeout-DoOI_izT.js +1 -0
- package/dist/fetch-timeout-u8g99Ax0.js +1 -0
- package/dist/format-Bn1bwJKX.js +1 -0
- package/dist/format-Ce7I7s-k.js +1 -0
- package/dist/format-duration-C8AzNqKh.js +1 -0
- package/dist/format-duration-D5AMtmHa.js +1 -0
- package/dist/format-relative-B9pSIdGe.js +1 -0
- package/dist/format-relative-DkMjYy7z.js +1 -0
- package/dist/frontmatter-BkZkwkVO.js +1 -0
- package/dist/frontmatter-C7mzDNxd.js +1 -0
- package/dist/frontmatter-CzpfPBFl.js +1 -0
- package/dist/gateway-cli-CKu0FA7D.js +1 -0
- package/dist/gateway-cli-C_s9eMlC.js +1 -0
- package/dist/gateway-install-token-BCnuZeh1.js +1 -0
- package/dist/gateway-install-token-DiDvDPJQ.js +1 -0
- package/dist/gateway-rpc-iFvDyHYd.js +1 -0
- package/dist/gateway-rpc-tEEvY0kH.js +1 -0
- package/dist/github-copilot-token-C79yeDKS.js +1 -0
- package/dist/github-copilot-token-DGYAlOmV.js +1 -0
- package/dist/github-copilot-token-DePP-lIf.js +1 -0
- package/dist/github-copilot-token-wm6mbypz.js +1 -0
- package/dist/gmail-setup-utils-CYOH3zzx.js +1 -0
- package/dist/gmail-setup-utils-S-MyEGuj.js +1 -0
- package/dist/group-access-BHKVOhrj.js +1 -0
- package/dist/group-access-D2DOYMfr.js +1 -0
- package/dist/health-BgOggK9k.js +1 -0
- package/dist/health-PaRHFItm.js +1 -0
- package/dist/health-format-B1nj3Wfn.js +1 -0
- package/dist/health-format-VBr6LEpt.js +1 -0
- package/dist/heartbeat-visibility-BQ_esv2m.js +1 -0
- package/dist/heartbeat-visibility-q74UdY8O.js +1 -0
- package/dist/help-format-B4aEI7V9.js +1 -0
- package/dist/help-format-BRbF_INg.js +1 -0
- package/dist/helpers-COz1ghcB.js +1 -0
- package/dist/helpers-Cp8gcO6u.js +1 -0
- package/dist/hooks-cli-BzyzTNBx.js +1 -0
- package/dist/hooks-cli-CsBrScq0.js +1 -0
- package/dist/hooks-status-BHt-Xvh4.js +1 -0
- package/dist/hooks-status-CRJ4J0ZW.js +1 -0
- package/dist/image-BkWwI54C.js +1 -0
- package/dist/image-CcVQg-YN.js +1 -0
- package/dist/image-Cm1RUBqD.js +1 -0
- package/dist/image-DsoO5VP5.js +1 -0
- package/dist/index.js +1 -0
- package/dist/inspect-BKV-I1UE.js +1 -0
- package/dist/inspect-z59cgmYc.js +1 -0
- package/dist/install-safe-path-C6kc_8NW.js +1 -0
- package/dist/install-safe-path-iesxijn2.js +1 -0
- package/dist/installs-BNeI_oML.js +1 -0
- package/dist/installs-C1xQLuby.js +1 -0
- package/dist/ipv4-BOuNtoGn.js +1 -0
- package/dist/ipv4-CWdaEiVH.js +1 -0
- package/dist/ir-BF0M2kGp.js +1 -0
- package/dist/ir-D8Hh84ab.js +1 -0
- package/dist/ir-DBWscfBd.js +1 -0
- package/dist/ir-Dk7OQ4bA.js +1 -0
- package/dist/is-main-DG5ueqhF.js +1 -0
- package/dist/issue-format-BT7cQEt3.js +1 -0
- package/dist/issue-format-C_lNzrKa.js +1 -0
- package/dist/kill-tree-B3g7HrAO.js +1 -0
- package/dist/lifecycle-core-D9KNCvxY.js +1 -0
- package/dist/lifecycle-core-LM5UUUB1.js +1 -0
- package/dist/line/accounts.js +1 -0
- package/dist/line/send.js +1 -0
- package/dist/line/template-messages.js +1 -0
- package/dist/links-CBnmRP9D.js +1 -0
- package/dist/links-CySwdMcF.js +1 -0
- package/dist/llm-slug-generator.js +1 -0
- package/dist/load-options-BsOW74dp.js +1 -0
- package/dist/load-options-C7dLuybp.js +1 -0
- package/dist/load-options-DV4j6Aqb.js +1 -0
- package/dist/load-options-Dwt0CeEg.js +1 -0
- package/dist/local-roots-6waH0SZ0.js +1 -0
- package/dist/logger-5W0OocJW.js +1 -0
- package/dist/logger-Bl8URnrW.js +1 -0
- package/dist/logger-DwWqfo66.js +1 -0
- package/dist/logger-kQAOe3qp.js +1 -0
- package/dist/logging-Dqe9dxSX.js +1 -0
- package/dist/logging-tYw1NbJd.js +1 -0
- package/dist/login-BOlqRyr0.js +1 -0
- package/dist/login-CkWesqf_.js +1 -0
- package/dist/login-Do_NA1Je.js +1 -0
- package/dist/login-op9S8yqv.js +1 -0
- package/dist/login-qr-B6rxvoTS.js +1 -0
- package/dist/login-qr-BGH9zmhw.js +1 -0
- package/dist/login-qr-CiENvgog.js +1 -0
- package/dist/login-qr-DsV-lxFd.js +1 -0
- package/dist/login-qr-QcDMg23y.js +1 -0
- package/dist/logs-cli-B4eUg_87.js +1 -0
- package/dist/logs-cli-BA3Aso8a.js +1 -0
- package/dist/manager-4Y9fRgdw.js +1 -0
- package/dist/manager-C2YW7Hkq.js +1 -0
- package/dist/manager-Dtd_loL8.js +1 -0
- package/dist/manager-M1GKhLUC.js +1 -0
- package/dist/memory-cli-XaxtBQm1.js +1 -0
- package/dist/memory-cli-jhzJ3as7.js +1 -0
- package/dist/model-catalog-C1kpjR75.js +1 -0
- package/dist/model-catalog-COVzoZD9.js +1 -0
- package/dist/model-param-b-B0r2cPDw.js +1 -0
- package/dist/model-param-b-BqIr5rY5.js +1 -0
- package/dist/model-picker-D3ZSpr0i.js +1 -0
- package/dist/model-picker-bZNuI66U.js +1 -0
- package/dist/model-selection-B5JsBS9D.js +1 -0
- package/dist/model-selection-BlC_rXAN.js +1 -0
- package/dist/model-selection-vfhBuN9O.js +1 -0
- package/dist/models-C_Vg3Cty.js +1 -0
- package/dist/models-cli-CDZliTXq.js +1 -0
- package/dist/models-cli-bGr8jwAb.js +1 -0
- package/dist/models-config-CdMhNxKV.js +1 -0
- package/dist/models-config-_htt7eY5.js +1 -0
- package/dist/mutable-allowlist-detectors-C4rNVag8.js +1 -0
- package/dist/mutable-allowlist-detectors-CL0qe54J.js +1 -0
- package/dist/node-cli-5lYbDZ70.js +1 -0
- package/dist/node-cli-Br04Qmqo.js +1 -0
- package/dist/node-command-policy-CejeQemH.js +1 -0
- package/dist/node-command-policy-CqXhdnHh.js +1 -0
- package/dist/node-commands-8GBOiktk.js +1 -0
- package/dist/node-commands-DdkziOTx.js +1 -0
- package/dist/node-resolve-B3BJbmQX.js +1 -0
- package/dist/node-resolve-DLZf3-1V.js +1 -0
- package/dist/node-service-BRfrNp8l.js +1 -0
- package/dist/node-service-C0bl7jcZ.js +1 -0
- package/dist/node-shell-DyOfwHrh.js +1 -0
- package/dist/nodes-cli-8By8--bW.js +1 -0
- package/dist/nodes-cli-zq41EwJN.js +1 -0
- package/dist/nodes-screen-DECgxo6A.js +1 -0
- package/dist/note-D4GAwgha.js +1 -0
- package/dist/note-Dp-d_utk.js +1 -0
- package/dist/npm-pack-install-B23L-AtF.js +1 -0
- package/dist/npm-pack-install-C0te3Oap.js +1 -0
- package/dist/npm-resolution-BnJGLwhi.js +1 -0
- package/dist/npm-resolution-DWPloph4.js +1 -0
- package/dist/oauth-env-DAamJ1oz.js +1 -0
- package/dist/oauth-env-DSLBTWb1.js +1 -0
- package/dist/oauth-tls-preflight-BSBRDIfC.js +1 -0
- package/dist/oauth-tls-preflight-ByNjbUR5.js +1 -0
- package/dist/ollama-setup-BMEKWyIE.js +1 -0
- package/dist/ollama-setup-DlwS6Gl-.js +1 -0
- package/dist/onboard-B0BNCQaO.js +1 -0
- package/dist/onboard-CjVhdaiR.js +1 -0
- package/dist/onboard-channels-BMIOddLN.js +1 -0
- package/dist/onboard-channels-CZK_7xMR.js +1 -0
- package/dist/onboard-config-B7U20YRw.js +1 -0
- package/dist/onboard-config-DS9dUv8M.js +1 -0
- package/dist/onboard-custom-B03SlEHB.js +1 -0
- package/dist/onboard-custom-Bl0y8c-g.js +1 -0
- package/dist/onboard-helpers-PGl5bVPE.js +1 -0
- package/dist/onboard-helpers-zwybUJWu.js +1 -0
- package/dist/onboard-hooks-CERzXObm.js +1 -0
- package/dist/onboard-hooks-gQ3sxBNi.js +1 -0
- package/dist/onboard-provider-auth-flags-CqbipO7D.js +1 -0
- package/dist/onboard-provider-auth-flags-Dvwzdz37.js +1 -0
- package/dist/onboard-remote-BOpIRdDu.js +1 -0
- package/dist/onboard-remote-DPU-H_2O.js +1 -0
- package/dist/onboard-search-f2tJD4hg.js +1 -0
- package/dist/onboard-search-fslKKhyg.js +1 -0
- package/dist/onboard-skills-BMAJs6ly.js +1 -0
- package/dist/onboard-skills-CMSQc2Mm.js +1 -0
- package/dist/onboarding-B6ixWwgp.js +1 -0
- package/dist/onboarding-ouEqUuUr.js +1 -0
- package/dist/onboarding.finalize-Bgat5Npc.js +1 -0
- package/dist/onboarding.finalize-DsMVlTcH.js +1 -0
- package/dist/onboarding.gateway-config-BtLDJWJ2.js +1 -0
- package/dist/onboarding.gateway-config-y3pqsL9i.js +1 -0
- package/dist/onboarding.secret-input-BsBgh8Tc.js +1 -0
- package/dist/onboarding.secret-input-kO5OzYC7.js +1 -0
- package/dist/openai-codex-model-default-DuE2_wN7.js +1 -0
- package/dist/openai-codex-model-default-yVfRw-Mm.js +1 -0
- package/dist/openai-model-default-Bl8MHPb6.js +1 -0
- package/dist/openai-model-default-DJObMvLJ.js +1 -0
- package/dist/openclaw-exec-env-BWbOu_YC.js +1 -0
- package/dist/openclaw-root-CnsBf6ZU.js +1 -0
- package/dist/openclaw-root-D_0Q6--h.js +1 -0
- package/dist/outbound-BOSIEiEY.js +1 -0
- package/dist/outbound-BtUeDLjU.js +1 -0
- package/dist/outbound-Bx2Z2aYK.js +1 -0
- package/dist/outbound-Bz8bbrMI.js +1 -0
- package/dist/outbound-attachment-B7wMxwj6.js +1 -0
- package/dist/outbound-attachment-BgAe99RM.js +1 -0
- package/dist/outbound-attachment-Dds8xirj.js +1 -0
- package/dist/outbound-attachment-DqEKghQp.js +1 -0
- package/dist/pairing-cli-Bya9M-I_.js +1 -0
- package/dist/pairing-cli-D2JEhufv.js +1 -0
- package/dist/pairing-labels-BUU_-70B.js +1 -0
- package/dist/pairing-labels-D-kzQEL2.js +1 -0
- package/dist/pairing-store-BH-FTYkn.js +1 -0
- package/dist/pairing-store-Cg2UxreQ.js +1 -0
- package/dist/pairing-token-BjYBuREl.js +1 -0
- package/dist/pairing-token-DAR7V7FJ.js +1 -0
- package/dist/parse-duration-XTjMKl8s.js +1 -0
- package/dist/parse-finite-number-DqzUM-_s.js +1 -0
- package/dist/parse-finite-number-dBmDLLKL.js +1 -0
- package/dist/parse-log-line-CsYLg7Qu.js +1 -0
- package/dist/parse-log-line-NV-cipB_.js +1 -0
- package/dist/parse-port-Bv1Y9Wk5.js +1 -0
- package/dist/parse-port-JVwkxcZ8.js +1 -0
- package/dist/parse-timeout-DWSGfCkQ.js +1 -0
- package/dist/parse-timeout-Dx4QnVzo.js +1 -0
- package/dist/path-alias-guards-kY_ZbWs-.js +1 -0
- package/dist/path-alias-guards-mvyLCPlN.js +1 -0
- package/dist/path-env-BPd1Yd-i.js +1 -0
- package/dist/path-env-emdAQejM.js +1 -0
- package/dist/path-safety-BukYK8Kd.js +1 -0
- package/dist/path-safety-DaaMJFdt.js +1 -0
- package/dist/paths-B4IRk3wi.js +1 -0
- package/dist/paths-BfjJY2VL.js +1 -0
- package/dist/paths-BjD3T_xq.js +1 -0
- package/dist/paths-BpQOWYiT.js +1 -0
- package/dist/paths-CChBdtE8.js +1 -0
- package/dist/paths-CrCoPIVK.js +1 -0
- package/dist/paths-piJASC5k.js +1 -0
- package/dist/paths-yLEk_25I.js +1 -0
- package/dist/pi-embedded-BZSn84Bh.js +1 -0
- package/dist/pi-embedded-Dsz7p3MF.js +1 -0
- package/dist/pi-model-discovery-BbD1YJNx.js +1 -0
- package/dist/pi-model-discovery-CpjYoBQf.js +1 -0
- package/dist/pi-model-discovery-DeQdHV8O.js +1 -0
- package/dist/pi-model-discovery-Dps1PPWz.js +1 -0
- package/dist/pi-tools.before-tool-call.runtime-DseAq0gm.js +1 -0
- package/dist/pi-tools.before-tool-call.runtime-KKGILAuK.js +1 -0
- package/dist/pi-tools.before-tool-call.runtime-Pck2WdIO.js +1 -0
- package/dist/pi-tools.before-tool-call.runtime-ZzMJQ1BP.js +1 -0
- package/dist/pi-tools.policy-D40r0HmD.js +1 -0
- package/dist/plugin-auto-enable-DpVL6-ES.js +1 -0
- package/dist/plugin-auto-enable-NzmNh4oU.js +1 -0
- package/dist/plugin-install-plan-BobX0y9S.js +1 -0
- package/dist/plugin-install-plan-NvDGp0d8.js +1 -0
- package/dist/plugin-registry-C6dY-Et7.js +1 -0
- package/dist/plugin-registry-CIBiHZH1.js +1 -0
- package/dist/plugin-sdk/account-id.cjs +1 -0
- package/dist/plugin-sdk/account-id.js +1 -0
- package/dist/plugin-sdk/acpx.cjs +1 -0
- package/dist/plugin-sdk/acpx.js +1 -0
- package/dist/plugin-sdk/active-listener-BApFQlQn.js +1 -0
- package/dist/plugin-sdk/active-listener-BETopzG5.cjs +1 -0
- package/dist/plugin-sdk/active-listener-BEcmvyxh.cjs +1 -0
- package/dist/plugin-sdk/active-listener-BZPPbsNy.cjs +1 -0
- package/dist/plugin-sdk/active-listener-B_Mxemq7.cjs +1 -0
- package/dist/plugin-sdk/active-listener-BgW_qfd3.js +1 -0
- package/dist/plugin-sdk/active-listener-Coet66pF.cjs +1 -0
- package/dist/plugin-sdk/active-listener-CvML9qVF.js +1 -0
- package/dist/plugin-sdk/active-listener-DuO6KMXJ.js +1 -0
- package/dist/plugin-sdk/active-listener-DymzfmOG.cjs +1 -0
- package/dist/plugin-sdk/active-listener-ILBdBHMv.js +1 -0
- package/dist/plugin-sdk/active-listener-gRRIfN1q.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-Bj1A9Slo.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-CFPNzksf.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-CXY0AyM1.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-ClIwV8yq.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-D5Nr1xl3.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-DDCwA0KM.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-DHMvXm70.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-DaFFZfk5.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-DcREl_0x.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-X-5Fb7av.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-_VfXYfHS.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-wFUVOOfM.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-B1MP5_bc.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BETx142T.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BGRLhCLc.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BNICfOY5.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BV3Cav8M.js +1 -0
- package/dist/plugin-sdk/audio-preflight-BmO72Cqr.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BpE8wFQc.js +1 -0
- package/dist/plugin-sdk/audio-preflight-CTAafaiH.js +1 -0
- package/dist/plugin-sdk/audio-preflight-D82aewIt.js +1 -0
- package/dist/plugin-sdk/audio-preflight-DmzxEaq3.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-DrSIYRnD.js +1 -0
- package/dist/plugin-sdk/audio-preflight-SZZoA2Ff.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-B54MyF1_.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-BIqM5H5q.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-BLAxZL-U.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-BVmaaA2k.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-BdY-TMcc.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-By3lSLub.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-CH5CoZrF.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-CMsp7bhn.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-ClGibmMi.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-QfEC19vE.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-g7L0m-Z5.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-pVTD93vq.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +1 -0
- package/dist/plugin-sdk/bluebubbles.cjs +1 -0
- package/dist/plugin-sdk/bluebubbles.js +1 -0
- package/dist/plugin-sdk/channel-activity-BGK-Bj2_.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-BRHvpV0C.js +1 -0
- package/dist/plugin-sdk/channel-activity-CKfWFchu.js +1 -0
- package/dist/plugin-sdk/channel-activity-CLUi31fX.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-CVOp-PL4.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-CgXnZ0GC.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-CmYpOPAn.js +1 -0
- package/dist/plugin-sdk/channel-activity-CwaMf9qT.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-D5D5tBWf.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-D7tpmatp.js +1 -0
- package/dist/plugin-sdk/channel-activity-DpxSOlXF.js +1 -0
- package/dist/plugin-sdk/channel-activity-spvDzlTl.js +1 -0
- package/dist/plugin-sdk/channel-web-4ZQVqsrt.js +1 -0
- package/dist/plugin-sdk/channel-web-9zn1Itpg.cjs +1 -0
- package/dist/plugin-sdk/channel-web-BrB00HKH.js +1 -0
- package/dist/plugin-sdk/channel-web-DN5La-Ol.cjs +1 -0
- package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +1 -0
- package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +1 -0
- package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +1 -0
- package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +1 -0
- package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +1 -0
- package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-5lStNoKW.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-C8wnXqNa.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-Cnr6PvIw.js +1 -0
- package/dist/plugin-sdk/commands-registry-CtYCWfuM.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-D2gv242l.js +1 -0
- package/dist/plugin-sdk/commands-registry-DI2vPscP.js +1 -0
- package/dist/plugin-sdk/commands-registry-DcBvmwSU.js +1 -0
- package/dist/plugin-sdk/commands-registry-DkUhCIDk.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-DsMbmie-.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-MCsWR5Vf.js +1 -0
- package/dist/plugin-sdk/commands-registry-SHZVq_qf.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-kRjFifgj.js +1 -0
- package/dist/plugin-sdk/common-B4iFXuoZ.cjs +1 -0
- package/dist/plugin-sdk/common-B6fDMl_i.js +1 -0
- package/dist/plugin-sdk/compat.cjs +1 -0
- package/dist/plugin-sdk/compat.js +1 -0
- package/dist/plugin-sdk/config-ByA2hluR.js +1 -0
- package/dist/plugin-sdk/config-rBz8C_Hi.cjs +1 -0
- package/dist/plugin-sdk/copilot-proxy.cjs +1 -0
- package/dist/plugin-sdk/copilot-proxy.js +1 -0
- package/dist/plugin-sdk/core.cjs +1 -0
- package/dist/plugin-sdk/core.js +1 -0
- package/dist/plugin-sdk/deliver-B0fB4hAV.js +1 -0
- package/dist/plugin-sdk/deliver-BOLmjIJ3.js +1 -0
- package/dist/plugin-sdk/deliver-BrfVwkYz.cjs +1 -0
- package/dist/plugin-sdk/deliver-C-tChWTI.cjs +1 -0
- package/dist/plugin-sdk/deliver-CjQPkWS-.cjs +1 -0
- package/dist/plugin-sdk/deliver-D1P0FNTu.js +1 -0
- package/dist/plugin-sdk/deliver-DCrO9mvv.cjs +1 -0
- package/dist/plugin-sdk/deliver-DQLekoj2.cjs +1 -0
- package/dist/plugin-sdk/deliver-DkfCVM78.js +1 -0
- package/dist/plugin-sdk/deliver-Dkh3lqXR.js +1 -0
- package/dist/plugin-sdk/deliver-DsFtXFyr.cjs +1 -0
- package/dist/plugin-sdk/deliver-vYe_sYOL.js +1 -0
- package/dist/plugin-sdk/device-pair.cjs +1 -0
- package/dist/plugin-sdk/device-pair.js +1 -0
- package/dist/plugin-sdk/diagnostic-8iX73nz_.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-CLUtpxAp.js +1 -0
- package/dist/plugin-sdk/diagnostic-CVS4k9hh.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-CkePwN5F.js +1 -0
- package/dist/plugin-sdk/diagnostic-Cu1PGj0E.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-D0oCfBju.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-D7A9cQYf.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-DGLX0zXU.js +1 -0
- package/dist/plugin-sdk/diagnostic-DXscFT8t.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-Efe4b81B.js +1 -0
- package/dist/plugin-sdk/diagnostic-EqHqw9xo.js +1 -0
- package/dist/plugin-sdk/diagnostic-vsjHZ_fY.js +1 -0
- package/dist/plugin-sdk/diagnostics-otel.cjs +1 -0
- package/dist/plugin-sdk/diagnostics-otel.js +1 -0
- package/dist/plugin-sdk/diffs.cjs +1 -0
- package/dist/plugin-sdk/diffs.js +1 -0
- package/dist/plugin-sdk/discord.cjs +1 -0
- package/dist/plugin-sdk/discord.js +1 -0
- package/dist/plugin-sdk/dispatch-5v3v8zzA.js +1 -0
- package/dist/plugin-sdk/dispatch-B6UbZCpL.cjs +1 -0
- package/dist/plugin-sdk/dispatch-BYlcmJ9u.js +1 -0
- package/dist/plugin-sdk/dispatch-C2YTqGlf.js +1 -0
- package/dist/plugin-sdk/dispatch-CNy3g9ma.cjs +1 -0
- package/dist/plugin-sdk/dispatch-DCSwqteL.js +1 -0
- package/dist/plugin-sdk/dispatch-DHbSBeFJ.js +1 -0
- package/dist/plugin-sdk/dispatch-DK5ub8qa.cjs +1 -0
- package/dist/plugin-sdk/dispatch-SWyfAZT0.cjs +1 -0
- package/dist/plugin-sdk/dispatch-mR2vLkGa.cjs +1 -0
- package/dist/plugin-sdk/feishu.cjs +1 -0
- package/dist/plugin-sdk/feishu.js +1 -0
- package/dist/plugin-sdk/fetch-7Iq9POda.js +1 -0
- package/dist/plugin-sdk/fetch-B1GR6-u4.js +1 -0
- package/dist/plugin-sdk/fetch-B27H-XCf.js +1 -0
- package/dist/plugin-sdk/fetch-BMYDLRWo.js +1 -0
- package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +1 -0
- package/dist/plugin-sdk/fetch-BVEVk5YF.js +1 -0
- package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +1 -0
- package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +1 -0
- package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +1 -0
- package/dist/plugin-sdk/fetch-BtZY623f.js +1 -0
- package/dist/plugin-sdk/fetch-C-HRWp5R.js +1 -0
- package/dist/plugin-sdk/fetch-C3LEMysf.js +1 -0
- package/dist/plugin-sdk/fetch-CCLWsYaQ.js +1 -0
- package/dist/plugin-sdk/fetch-CZewCAvu.cjs +1 -0
- package/dist/plugin-sdk/fetch-ClKErpni.cjs +1 -0
- package/dist/plugin-sdk/fetch-DBRI0sKI.js +1 -0
- package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +1 -0
- package/dist/plugin-sdk/fetch-DUMEaqum.cjs +1 -0
- package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +1 -0
- package/dist/plugin-sdk/fetch-J0IzopiJ.js +1 -0
- package/dist/plugin-sdk/fetch-guard-8I7EHbDM.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-CIJUkBIL.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-CY03i4gu.js +1 -0
- package/dist/plugin-sdk/fetch-guard-Cz-cgYmR.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-DB85MORy.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-DE9BslxX.js +1 -0
- package/dist/plugin-sdk/fetch-guard-DLNzldn9.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-DSvAbvSx.js +1 -0
- package/dist/plugin-sdk/fetch-guard-DXe8oqEE.js +1 -0
- package/dist/plugin-sdk/fetch-guard-DY9jpsXo.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-DbOZYxyN.js +1 -0
- package/dist/plugin-sdk/fetch-guard-_fifU0fX.js +1 -0
- package/dist/plugin-sdk/fetch-lw-aF17e.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +1 -0
- package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +1 -0
- package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +1 -0
- package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +1 -0
- package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +1 -0
- package/dist/plugin-sdk/google-gemini-cli-auth.cjs +1 -0
- package/dist/plugin-sdk/google-gemini-cli-auth.js +1 -0
- package/dist/plugin-sdk/googlechat.cjs +1 -0
- package/dist/plugin-sdk/googlechat.js +1 -0
- package/dist/plugin-sdk/image-B6HEHWlJ.js +1 -0
- package/dist/plugin-sdk/image-Bte8cr4F.js +1 -0
- package/dist/plugin-sdk/image-BxafJgQ6.cjs +1 -0
- package/dist/plugin-sdk/image-CDI5SqeR.js +1 -0
- package/dist/plugin-sdk/image-CTgwucug.cjs +1 -0
- package/dist/plugin-sdk/image-CWnsS03L.js +1 -0
- package/dist/plugin-sdk/image-CoksjGBL.cjs +1 -0
- package/dist/plugin-sdk/image-CuOIoxl2.cjs +1 -0
- package/dist/plugin-sdk/image-DJyEMzkq.cjs +1 -0
- package/dist/plugin-sdk/image-DegWnAZU.cjs +1 -0
- package/dist/plugin-sdk/image-TCSQZpr6.js +1 -0
- package/dist/plugin-sdk/image-aG-5S1vd.js +1 -0
- package/dist/plugin-sdk/imessage.cjs +1 -0
- package/dist/plugin-sdk/imessage.js +1 -0
- package/dist/plugin-sdk/index.cjs +1 -0
- package/dist/plugin-sdk/index.js +1 -0
- package/dist/plugin-sdk/ir-8rDh7div.js +1 -0
- package/dist/plugin-sdk/ir-Bh6lKGdS.js +1 -0
- package/dist/plugin-sdk/ir-C3VNqnc2.cjs +1 -0
- package/dist/plugin-sdk/ir-CZOtKajq.cjs +1 -0
- package/dist/plugin-sdk/ir-CveCWs8q.cjs +1 -0
- package/dist/plugin-sdk/ir-DAxY-7c1.cjs +1 -0
- package/dist/plugin-sdk/ir-DSuLr2UE.cjs +1 -0
- package/dist/plugin-sdk/ir-DanxCjD-.cjs +1 -0
- package/dist/plugin-sdk/ir-Dgc6qZMX.js +1 -0
- package/dist/plugin-sdk/ir-OBi5zaEW.js +1 -0
- package/dist/plugin-sdk/ir-hQ6EW92h.js +1 -0
- package/dist/plugin-sdk/ir-ynWQeZD9.js +1 -0
- package/dist/plugin-sdk/irc.cjs +1 -0
- package/dist/plugin-sdk/irc.js +1 -0
- package/dist/plugin-sdk/keyed-async-queue.cjs +1 -0
- package/dist/plugin-sdk/keyed-async-queue.js +1 -0
- package/dist/plugin-sdk/line.cjs +1 -0
- package/dist/plugin-sdk/line.js +1 -0
- package/dist/plugin-sdk/llm-task.cjs +1 -0
- package/dist/plugin-sdk/llm-task.js +1 -0
- package/dist/plugin-sdk/load-options-B9Ss5YOO.js +1 -0
- package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +1 -0
- package/dist/plugin-sdk/load-options-BXvm8HVv.js +1 -0
- package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +1 -0
- package/dist/plugin-sdk/load-options-BcSg1ODN.js +1 -0
- package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +1 -0
- package/dist/plugin-sdk/lobster.cjs +1 -0
- package/dist/plugin-sdk/lobster.js +1 -0
- package/dist/plugin-sdk/local-roots-5udQUs81.js +1 -0
- package/dist/plugin-sdk/local-roots-BmhNPIJm.cjs +1 -0
- package/dist/plugin-sdk/local-roots-C5UoE741.cjs +1 -0
- package/dist/plugin-sdk/local-roots-Ca8KoAAp.js +1 -0
- package/dist/plugin-sdk/local-roots-CeAYfmPb.cjs +1 -0
- package/dist/plugin-sdk/local-roots-Cu7YCpql.cjs +1 -0
- package/dist/plugin-sdk/local-roots-D0yN794S.js +1 -0
- package/dist/plugin-sdk/local-roots-D4i3H0UG.cjs +1 -0
- package/dist/plugin-sdk/local-roots-DGe-SRNu.js +1 -0
- package/dist/plugin-sdk/local-roots-bWA2msT0.js +1 -0
- package/dist/plugin-sdk/local-roots-tee85Q-1.js +1 -0
- package/dist/plugin-sdk/local-roots-wTkpE7go.cjs +1 -0
- package/dist/plugin-sdk/logger-6O6OsYBL.cjs +1 -0
- package/dist/plugin-sdk/logger-BlddiV_d.cjs +1 -0
- package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +1 -0
- package/dist/plugin-sdk/logger-BtrWb0dj.js +1 -0
- package/dist/plugin-sdk/logger-C210xuWx.js +1 -0
- package/dist/plugin-sdk/logger-DJGHvDbX.js +1 -0
- package/dist/plugin-sdk/logger-DPlqYkRm.cjs +1 -0
- package/dist/plugin-sdk/logger-DUYnS-W3.cjs +1 -0
- package/dist/plugin-sdk/logger-DwWqfo66.js +1 -0
- package/dist/plugin-sdk/logger-vBDTZWl3.js +1 -0
- package/dist/plugin-sdk/login-B5IwNcl4.cjs +1 -0
- package/dist/plugin-sdk/login-BIbt7ZL_.js +1 -0
- package/dist/plugin-sdk/login-CxnDKwXC.js +1 -0
- package/dist/plugin-sdk/login-D5iTWowo.cjs +1 -0
- package/dist/plugin-sdk/login-DHE1rzB1.js +1 -0
- package/dist/plugin-sdk/login-DIPBcPQc.cjs +1 -0
- package/dist/plugin-sdk/login-DtDOozuU.js +1 -0
- package/dist/plugin-sdk/login-UrWNtI80.cjs +1 -0
- package/dist/plugin-sdk/login-VviMkBU2.js +1 -0
- package/dist/plugin-sdk/login-jQwwt6C-.js +1 -0
- package/dist/plugin-sdk/login-mGjCzJzb.cjs +1 -0
- package/dist/plugin-sdk/login-pZnnpj38.cjs +1 -0
- package/dist/plugin-sdk/login-qr-BexuTIDJ.cjs +1 -0
- package/dist/plugin-sdk/login-qr-C366Qlh-.cjs +1 -0
- package/dist/plugin-sdk/login-qr-CQY4ty0o.js +1 -0
- package/dist/plugin-sdk/login-qr-CSabEb-n.cjs +1 -0
- package/dist/plugin-sdk/login-qr-CUgNKijx.js +1 -0
- package/dist/plugin-sdk/login-qr-C_LEw1Bi.js +1 -0
- package/dist/plugin-sdk/login-qr-CcPvldsG.js +1 -0
- package/dist/plugin-sdk/login-qr-CnNGKwDR.cjs +1 -0
- package/dist/plugin-sdk/login-qr-DQm50pXk.js +1 -0
- package/dist/plugin-sdk/login-qr-DayvAWkx.js +1 -0
- package/dist/plugin-sdk/login-qr-eodIsL9V.cjs +1 -0
- package/dist/plugin-sdk/login-qr-yIJE7MmY.cjs +1 -0
- package/dist/plugin-sdk/manager-932XljTT.js +1 -0
- package/dist/plugin-sdk/manager-CGHd5p2T.js +1 -0
- package/dist/plugin-sdk/manager-CbGA_JDa.js +1 -0
- package/dist/plugin-sdk/manager-CdD7HaGW.cjs +1 -0
- package/dist/plugin-sdk/manager-CmAH_a7A.cjs +1 -0
- package/dist/plugin-sdk/manager-DIS4ywpb.cjs +1 -0
- package/dist/plugin-sdk/manager-DQ2C-2IU.cjs +1 -0
- package/dist/plugin-sdk/manager-DdvFnsT7.cjs +1 -0
- package/dist/plugin-sdk/manager-DfdDglld.js +1 -0
- package/dist/plugin-sdk/manager-MR9stU_p.js +1 -0
- package/dist/plugin-sdk/manager-WwW37IUu.js +1 -0
- package/dist/plugin-sdk/manager-gE9187gu.cjs +1 -0
- package/dist/plugin-sdk/matrix.cjs +1 -0
- package/dist/plugin-sdk/matrix.js +1 -0
- package/dist/plugin-sdk/mattermost.cjs +1 -0
- package/dist/plugin-sdk/mattermost.js +1 -0
- package/dist/plugin-sdk/memory-core.cjs +1 -0
- package/dist/plugin-sdk/memory-core.js +1 -0
- package/dist/plugin-sdk/minimax-portal-auth.cjs +1 -0
- package/dist/plugin-sdk/minimax-portal-auth.js +1 -0
- package/dist/plugin-sdk/model-auth-BpS4IWDi.cjs +1 -0
- package/dist/plugin-sdk/model-auth-BwajGuoF.cjs +1 -0
- package/dist/plugin-sdk/model-auth-C1YL9HcW.js +1 -0
- package/dist/plugin-sdk/model-auth-Cc-8H6Cu.js +1 -0
- package/dist/plugin-sdk/model-auth-Cw3fuhm_.js +1 -0
- package/dist/plugin-sdk/model-auth-CycDtQl-.js +1 -0
- package/dist/plugin-sdk/model-auth-D-7xiXhK.cjs +1 -0
- package/dist/plugin-sdk/model-auth-TFUxaK0f.cjs +1 -0
- package/dist/plugin-sdk/model-selection-BADTZM9n.cjs +1 -0
- package/dist/plugin-sdk/model-selection-DUAudCtL.js +1 -0
- package/dist/plugin-sdk/msteams.cjs +1 -0
- package/dist/plugin-sdk/msteams.js +1 -0
- package/dist/plugin-sdk/nextcloud-talk.cjs +1 -0
- package/dist/plugin-sdk/nextcloud-talk.js +1 -0
- package/dist/plugin-sdk/nostr.cjs +1 -0
- package/dist/plugin-sdk/nostr.js +1 -0
- package/dist/plugin-sdk/outbound-2Lo6mZEY.js +1 -0
- package/dist/plugin-sdk/outbound-9XFlZzaF.cjs +1 -0
- package/dist/plugin-sdk/outbound-BlWsUmjQ.js +1 -0
- package/dist/plugin-sdk/outbound-Bs2rUcWZ.cjs +1 -0
- package/dist/plugin-sdk/outbound-C18nEOFP.js +1 -0
- package/dist/plugin-sdk/outbound-CW3o4Eng.cjs +1 -0
- package/dist/plugin-sdk/outbound-CzsdW5sy.js +1 -0
- package/dist/plugin-sdk/outbound-DcP22VOo.cjs +1 -0
- package/dist/plugin-sdk/outbound-QhOJAEO8.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-1pf06Oiu.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-B8-ZVX2i.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-BDwI_tn0.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-BXhbJils.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-Bgf1pCh8.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-COgf85S8.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-CfN9OvMC.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-CftilZWd.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-Cujprd6T.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-CvSHb9ci.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-DQYtdTUw.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-FqWC0WJx.cjs +1 -0
- package/dist/plugin-sdk/outbound-dTvIiFIZ.js +1 -0
- package/dist/plugin-sdk/outbound-fZ1WJGfe.cjs +1 -0
- package/dist/plugin-sdk/outbound-oHoWYWxf.js +1 -0
- package/dist/plugin-sdk/paths-BPlgbwrb.cjs +1 -0
- package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +1 -0
- package/dist/plugin-sdk/paths-BpQOWYiT.js +1 -0
- package/dist/plugin-sdk/paths-BvlJvmRS.cjs +1 -0
- package/dist/plugin-sdk/paths-CIcxeNL-.cjs +1 -0
- package/dist/plugin-sdk/paths-CXgWvWAM.js +1 -0
- package/dist/plugin-sdk/paths-Chp3zwtq.cjs +1 -0
- package/dist/plugin-sdk/paths-CnHSNSeR.js +1 -0
- package/dist/plugin-sdk/paths-Cqca1YmF.cjs +1 -0
- package/dist/plugin-sdk/paths-CtrEseGU.js +1 -0
- package/dist/plugin-sdk/paths-D55o_j8-.js +1 -0
- package/dist/plugin-sdk/paths-D90l3h_o.cjs +1 -0
- package/dist/plugin-sdk/paths-DaRoqzBQ.js +1 -0
- package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +1 -0
- package/dist/plugin-sdk/paths-DhSjTRMz.js +1 -0
- package/dist/plugin-sdk/paths-Do0djuaj.js +1 -0
- package/dist/plugin-sdk/paths-J4JUiRsa.js +1 -0
- package/dist/plugin-sdk/paths-cBAF6Bj0.js +1 -0
- package/dist/plugin-sdk/paths-piJASC5k.js +1 -0
- package/dist/plugin-sdk/paths-rO4ehkyU.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-B9boErNZ.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-BJ8wTgFH.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-Bb2vCP6M.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-Bor7jHYd.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-BrTw1qE2.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-BuEMyAsU.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-CV9NTjC4.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-D5tLf04u.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-D5xlUS2J.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-DGoPUzBj.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-DMrqvV1O.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-DoY7qnlI.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-Dqq9Vm8o.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-zCuISPPq.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-4238P8NF.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BEoqzgFe.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BGPjibRD.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BJ_amISU.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BX2r_qPT.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CGLHFxSr.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsNn_Lv8.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsiKBTHg.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CuXQQk4F.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DNatrz-3.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-PApjB0tY.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-xsXDBYNq.js +1 -0
- package/dist/plugin-sdk/polls-BuaJuIpV.cjs +1 -0
- package/dist/plugin-sdk/polls-CBAGZuJ6.js +1 -0
- package/dist/plugin-sdk/polls-CSKMbBIS.js +1 -0
- package/dist/plugin-sdk/polls-D0wY0FvT.cjs +1 -0
- package/dist/plugin-sdk/polls-PGxiE05J.js +1 -0
- package/dist/plugin-sdk/polls-yWqSCEP0.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-B765haXA.js +1 -0
- package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +1 -0
- package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +1 -0
- package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +1 -0
- package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +1 -0
- package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-Del551nu.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-B0_rvdfF.js +1 -0
- package/dist/plugin-sdk/pw-ai-BqdrA15F.js +1 -0
- package/dist/plugin-sdk/pw-ai-CDzxu5B3.js +1 -0
- package/dist/plugin-sdk/pw-ai-CJIogpwF.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-CL_gU5PJ.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-Ca4aZTaG.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-CrfYxLI8.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-DCiFlwP8.js +1 -0
- package/dist/plugin-sdk/pw-ai-DSqXNmNZ.js +1 -0
- package/dist/plugin-sdk/pw-ai-Dh55xTz1.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-DxAvipyK.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-U9nPHH-0.js +1 -0
- package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +1 -0
- package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +1 -0
- package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +1 -0
- package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +1 -0
- package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +1 -0
- package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +1 -0
- package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-CAboqtWr.js +1 -0
- package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +1 -0
- package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +1 -0
- package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +1 -0
- package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +1 -0
- package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +1 -0
- package/dist/plugin-sdk/qwen-portal-auth.cjs +1 -0
- package/dist/plugin-sdk/qwen-portal-auth.js +1 -0
- package/dist/plugin-sdk/render-6fCdtAr6.cjs +1 -0
- package/dist/plugin-sdk/render-CBsnn-2A.js +1 -0
- package/dist/plugin-sdk/render-CzHaQB0d.cjs +1 -0
- package/dist/plugin-sdk/render-DGmfCIRG.js +1 -0
- package/dist/plugin-sdk/render-DhTJXP1U.js +1 -0
- package/dist/plugin-sdk/render-Djx15dPh.js +1 -0
- package/dist/plugin-sdk/render-DxBO2Blp.cjs +1 -0
- package/dist/plugin-sdk/render-g5VlmgpF.cjs +1 -0
- package/dist/plugin-sdk/reply-0zCEbT4w.cjs +1 -0
- package/dist/plugin-sdk/reply-D-f2bbXy.js +1 -0
- package/dist/plugin-sdk/resolve-outbound-target-CrQGbaua.js +1 -0
- package/dist/plugin-sdk/resolve-outbound-target-H7Q9HcfW.js +1 -0
- package/dist/plugin-sdk/resolve-outbound-target-MS6Xpp17.cjs +1 -0
- package/dist/plugin-sdk/resolve-outbound-target-cDxjy3TL.cjs +1 -0
- package/dist/plugin-sdk/send-3VNTSIhr.js +1 -0
- package/dist/plugin-sdk/send-61GHLNYP.cjs +1 -0
- package/dist/plugin-sdk/send-6q4owAw0.js +1 -0
- package/dist/plugin-sdk/send-A2s5sPTd.js +1 -0
- package/dist/plugin-sdk/send-B2qa7CSk.js +1 -0
- package/dist/plugin-sdk/send-B3aEYvqG.cjs +1 -0
- package/dist/plugin-sdk/send-BAoqP09M.cjs +1 -0
- package/dist/plugin-sdk/send-BNBJ4CF8.js +1 -0
- package/dist/plugin-sdk/send-BTE2rI1E.js +1 -0
- package/dist/plugin-sdk/send-BlWuQHYB.js +1 -0
- package/dist/plugin-sdk/send-Bnvt7ZUE.cjs +1 -0
- package/dist/plugin-sdk/send-Bq6Mqs9G.cjs +1 -0
- package/dist/plugin-sdk/send-Bq787fi_.js +1 -0
- package/dist/plugin-sdk/send-BrAHLYBR.js +1 -0
- package/dist/plugin-sdk/send-Bt2eFBk2.js +1 -0
- package/dist/plugin-sdk/send-C4ZFbUux.js +1 -0
- package/dist/plugin-sdk/send-C4cyMW4S.cjs +1 -0
- package/dist/plugin-sdk/send-C8f5H4XV.cjs +1 -0
- package/dist/plugin-sdk/send-CDwTrbgT.cjs +1 -0
- package/dist/plugin-sdk/send-CEfs0Fsr.js +1 -0
- package/dist/plugin-sdk/send-CFuJjCNB.cjs +1 -0
- package/dist/plugin-sdk/send-CJGLeSJ8.cjs +1 -0
- package/dist/plugin-sdk/send-CL0W7jLW.js +1 -0
- package/dist/plugin-sdk/send-CLl490Gb.cjs +1 -0
- package/dist/plugin-sdk/send-CQtITZ7k.cjs +1 -0
- package/dist/plugin-sdk/send-CSGh_GVr.cjs +1 -0
- package/dist/plugin-sdk/send-CicLiXB4.js +1 -0
- package/dist/plugin-sdk/send-Cm7bEwx-.cjs +1 -0
- package/dist/plugin-sdk/send-CmO9z2-b.js +1 -0
- package/dist/plugin-sdk/send-Co_Wy2kT.cjs +1 -0
- package/dist/plugin-sdk/send-Cox_iyYB.cjs +1 -0
- package/dist/plugin-sdk/send-CuX4LcJ3.cjs +1 -0
- package/dist/plugin-sdk/send-CxMiTtxI.cjs +1 -0
- package/dist/plugin-sdk/send-CyyzWwDr.js +1 -0
- package/dist/plugin-sdk/send-D-HZnehy.cjs +1 -0
- package/dist/plugin-sdk/send-D-qD7BCb.js +1 -0
- package/dist/plugin-sdk/send-D3imkSlz.cjs +1 -0
- package/dist/plugin-sdk/send-D5UwpCoU.cjs +1 -0
- package/dist/plugin-sdk/send-D75OGJco.js +1 -0
- package/dist/plugin-sdk/send-DB4i1kUy.cjs +1 -0
- package/dist/plugin-sdk/send-DBjzdBda.cjs +1 -0
- package/dist/plugin-sdk/send-DPgRTM8s.js +1 -0
- package/dist/plugin-sdk/send-DPpBLiL4.js +1 -0
- package/dist/plugin-sdk/send-DV_afQnj.cjs +1 -0
- package/dist/plugin-sdk/send-DWuChr46.js +1 -0
- package/dist/plugin-sdk/send-DZ4szmEa.cjs +1 -0
- package/dist/plugin-sdk/send-DZr98eqE.cjs +1 -0
- package/dist/plugin-sdk/send-D_1K0zmx.cjs +1 -0
- package/dist/plugin-sdk/send-DaLB9Lca.js +1 -0
- package/dist/plugin-sdk/send-De4qiprb.js +1 -0
- package/dist/plugin-sdk/send-DeU-T5ps.js +1 -0
- package/dist/plugin-sdk/send-DtjJM0LO.js +1 -0
- package/dist/plugin-sdk/send-DvDCmTQf.js +1 -0
- package/dist/plugin-sdk/send-EvcsiFBC.cjs +1 -0
- package/dist/plugin-sdk/send-GuISe9C82.js +1 -0
- package/dist/plugin-sdk/send-IoGcE0w2.js +1 -0
- package/dist/plugin-sdk/send-JVdUTsN1.cjs +1 -0
- package/dist/plugin-sdk/send-NpNVFRmY.js +1 -0
- package/dist/plugin-sdk/send-XMOZsJcs.js +1 -0
- package/dist/plugin-sdk/send-h--iKoQE.cjs +1 -0
- package/dist/plugin-sdk/session-8BcB905y.cjs +1 -0
- package/dist/plugin-sdk/session-B2oURX5K.js +1 -0
- package/dist/plugin-sdk/session-BJhNqIOi.js +1 -0
- package/dist/plugin-sdk/session-BRgGsw96.cjs +1 -0
- package/dist/plugin-sdk/session-Be_7rXAz.js +1 -0
- package/dist/plugin-sdk/session-C66IXbE-.js +1 -0
- package/dist/plugin-sdk/session-CCYDbcyV.js +1 -0
- package/dist/plugin-sdk/session-CHu3C2m0.cjs +1 -0
- package/dist/plugin-sdk/session-DUlmK2IL.cjs +1 -0
- package/dist/plugin-sdk/session-DxTRZTnu.js +1 -0
- package/dist/plugin-sdk/session-DzhI0nj-.cjs +1 -0
- package/dist/plugin-sdk/session-WRCBgAzG.cjs +1 -0
- package/dist/plugin-sdk/sessions-DxXXAfdI.js +1 -0
- package/dist/plugin-sdk/sessions-Dz5JUL8j.cjs +1 -0
- package/dist/plugin-sdk/signal.cjs +1 -0
- package/dist/plugin-sdk/signal.js +1 -0
- package/dist/plugin-sdk/skill-commands-B4wI8ETo.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-BoTeA376.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-BwrYJu7Z.js +1 -0
- package/dist/plugin-sdk/skill-commands-BzkMuA58.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-CIAf9cWN.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-CKc7JO_c.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-Cvb6oXym.js +1 -0
- package/dist/plugin-sdk/skill-commands-DWDtyCtB.js +1 -0
- package/dist/plugin-sdk/skill-commands-Hmuw0PPK.js +1 -0
- package/dist/plugin-sdk/skill-commands-KyN0FGaC.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-KzwEqk5p.js +1 -0
- package/dist/plugin-sdk/skill-commands-Ny38ZFIC.js +1 -0
- package/dist/plugin-sdk/slack.cjs +1 -0
- package/dist/plugin-sdk/slack.js +1 -0
- package/dist/plugin-sdk/synology-chat.cjs +1 -0
- package/dist/plugin-sdk/synology-chat.js +1 -0
- package/dist/plugin-sdk/tables-BIDWwpX8.js +1 -0
- package/dist/plugin-sdk/tables-Bk8lHaPx.cjs +1 -0
- package/dist/plugin-sdk/tables-BlNIkMV8.js +1 -0
- package/dist/plugin-sdk/tables-Bp0a2WRP.cjs +1 -0
- package/dist/plugin-sdk/tables-BtVUf77b.cjs +1 -0
- package/dist/plugin-sdk/tables-C4j5Bar_.js +1 -0
- package/dist/plugin-sdk/tables-CZGtYzDC.cjs +1 -0
- package/dist/plugin-sdk/tables-CnrHab5d.cjs +1 -0
- package/dist/plugin-sdk/tables-DtslIPYw.js +1 -0
- package/dist/plugin-sdk/tables-NrdtIJGp.cjs +1 -0
- package/dist/plugin-sdk/tables-XYb3T-vE.js +1 -0
- package/dist/plugin-sdk/tables-lbv-0tl3.js +1 -0
- package/dist/plugin-sdk/target-errors-9cdJA1L2.cjs +1 -0
- package/dist/plugin-sdk/target-errors-BEkhKWCq.cjs +1 -0
- package/dist/plugin-sdk/target-errors-BZRN-lPd.js +1 -0
- package/dist/plugin-sdk/target-errors-BrwqillR.cjs +1 -0
- package/dist/plugin-sdk/target-errors-Buo5pfom.js +1 -0
- package/dist/plugin-sdk/target-errors-CFzzcffg.js +1 -0
- package/dist/plugin-sdk/target-errors-DFmK5loi.js +1 -0
- package/dist/plugin-sdk/target-errors-DXqwykNX.js +1 -0
- package/dist/plugin-sdk/target-errors-Dd6CopYF.cjs +1 -0
- package/dist/plugin-sdk/target-errors-DeNJ10ks.cjs +1 -0
- package/dist/plugin-sdk/targets-BSc11Uk8.cjs +1 -0
- package/dist/plugin-sdk/targets-BSkiizml.js +1 -0
- package/dist/plugin-sdk/targets-CBI0xqve.cjs +1 -0
- package/dist/plugin-sdk/targets-CL5fYQi7.js +1 -0
- package/dist/plugin-sdk/targets-CUZWrFrm.cjs +1 -0
- package/dist/plugin-sdk/targets-CVEYTFPQ.js +1 -0
- package/dist/plugin-sdk/targets-Co2R6K14.cjs +1 -0
- package/dist/plugin-sdk/targets-CrkJkzil.js +1 -0
- package/dist/plugin-sdk/targets-D-m7SV9x.cjs +1 -0
- package/dist/plugin-sdk/targets-D8HTxbo4.js +1 -0
- package/dist/plugin-sdk/targets-DcGNB9nk.cjs +1 -0
- package/dist/plugin-sdk/targets-Dn9gDiEw.js +1 -0
- package/dist/plugin-sdk/targets-X28mff4s.cjs +1 -0
- package/dist/plugin-sdk/targets-uycXZ8vQ.js +1 -0
- package/dist/plugin-sdk/telegram.cjs +1 -0
- package/dist/plugin-sdk/telegram.js +1 -0
- package/dist/plugin-sdk/test-utils.cjs +1 -0
- package/dist/plugin-sdk/test-utils.js +1 -0
- package/dist/plugin-sdk/tlon.cjs +1 -0
- package/dist/plugin-sdk/tlon.js +1 -0
- package/dist/plugin-sdk/tokens-AAdZjj0M.js +1 -0
- package/dist/plugin-sdk/tokens-B20KNIDD.js +1 -0
- package/dist/plugin-sdk/tokens-B8ys7Q2e.js +1 -0
- package/dist/plugin-sdk/tokens-BPc1fcZ3.js +1 -0
- package/dist/plugin-sdk/tokens-BqABmXSe.js +1 -0
- package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +1 -0
- package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +1 -0
- package/dist/plugin-sdk/tokens-CytSl1X8.cjs +1 -0
- package/dist/plugin-sdk/tokens-DgPZk2Uu.js +1 -0
- package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +1 -0
- package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +1 -0
- package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +1 -0
- package/dist/plugin-sdk/twitch.cjs +1 -0
- package/dist/plugin-sdk/twitch.js +1 -0
- package/dist/plugin-sdk/utils-BJtJR72k.js +1 -0
- package/dist/plugin-sdk/utils-PPIvU9qw.cjs +1 -0
- package/dist/plugin-sdk/voice-call.cjs +1 -0
- package/dist/plugin-sdk/voice-call.js +1 -0
- package/dist/plugin-sdk/web-B-QDcVRv.cjs +1 -0
- package/dist/plugin-sdk/web-B2PwjHsu.cjs +1 -0
- package/dist/plugin-sdk/web-BdnQzLgF.js +1 -0
- package/dist/plugin-sdk/web-C9T7tf6w.js +1 -0
- package/dist/plugin-sdk/web-CODD4ksc.cjs +1 -0
- package/dist/plugin-sdk/web-CkdCvvR-.js +1 -0
- package/dist/plugin-sdk/web-_tj8xNZE.js +1 -0
- package/dist/plugin-sdk/web-pcTha_l7.cjs +1 -0
- package/dist/plugin-sdk/weixin.cjs +1 -0
- package/dist/plugin-sdk/weixin.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-Bhz2j1uz.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-Bm2UyRYg.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-Bolz0jl5.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-CJ3LDpaG.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-CL1Gmkb0.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-D-bZRT7s.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-DSGTTE8M.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-DjQxgMpW.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-DrPBBi5t.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-DtK657CZ.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-Xwev51_N.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-m7vLtNAA.js +1 -0
- package/dist/plugin-sdk/whatsapp.cjs +1 -0
- package/dist/plugin-sdk/whatsapp.js +1 -0
- package/dist/plugin-sdk/zalo.cjs +1 -0
- package/dist/plugin-sdk/zalo.js +1 -0
- package/dist/plugin-sdk/zalouser.cjs +1 -0
- package/dist/plugin-sdk/zalouser.js +1 -0
- package/dist/plugins-CYLrFT4h.js +1 -0
- package/dist/plugins-DNlgeTTc.js +1 -0
- package/dist/plugins-cli-BbjMbzJU.js +1 -0
- package/dist/plugins-cli-BiVMAr5T.js +1 -0
- package/dist/polls-BIVz6a4F.js +1 -0
- package/dist/polls-Bh5wc9-6.js +1 -0
- package/dist/polls-C_XSFz3d.js +1 -0
- package/dist/polls-DKJOFSzJ.js +1 -0
- package/dist/ports-B0XdGTfS.js +1 -0
- package/dist/ports-BR0PLRtq.js +1 -0
- package/dist/probe-auth-BMA0yM94.js +1 -0
- package/dist/probe-auth-VI96zmTK.js +1 -0
- package/dist/profile-utils-CWmra1aY.js +1 -0
- package/dist/program-BrAZTwFr.js +1 -0
- package/dist/program-context-B9ydtPje.js +1 -0
- package/dist/program-context-CH9p6anW.js +1 -0
- package/dist/progress-LNttnI-y.js +1 -0
- package/dist/progress-d1m2sqR1.js +1 -0
- package/dist/prompt-select-styled-BeJNbzSa.js +1 -0
- package/dist/prompt-select-styled-DIOWLjl0.js +1 -0
- package/dist/prompt-style-BThRSQJR.js +1 -0
- package/dist/prompt-style-CXKekIBY.js +1 -0
- package/dist/prompts-CMzglboN.js +1 -0
- package/dist/prompts-wv-lfVrJ.js +1 -0
- package/dist/provider-auth-helpers-1lU43eTW.js +1 -0
- package/dist/provider-auth-helpers-pBVCjBj9.js +1 -0
- package/dist/provider-env-vars-D8p6Ohpj.js +1 -0
- package/dist/provider-env-vars-Dt0Q29Su.js +1 -0
- package/dist/proxy-env-BNhTHkd_.js +1 -0
- package/dist/proxy-env-DcmW_urA.js +1 -0
- package/dist/proxy-env-DrC3TIGh.js +1 -0
- package/dist/proxy-env-FJr5nlvs.js +1 -0
- package/dist/proxy-fetch-BADsUK4d.js +1 -0
- package/dist/proxy-fetch-BZ9O8Dvj.js +1 -0
- package/dist/proxy-fetch-DnjU1fEB.js +1 -0
- package/dist/proxy-fetch-gWETR3cl.js +1 -0
- package/dist/push-apns-BGUOmD5M.js +1 -0
- package/dist/push-apns-B_a2MBJ4.js +1 -0
- package/dist/pw-ai-C-Ffkwai.js +1 -0
- package/dist/pw-ai-CV1H1Vrs.js +1 -0
- package/dist/pw-ai-D_MB1lrR.js +1 -0
- package/dist/pw-ai-_l9lVice.js +1 -0
- package/dist/qmd-manager-C_e04BNg.js +1 -0
- package/dist/qmd-manager-DSQ_mDCl.js +1 -0
- package/dist/qmd-manager-DcBYbt_V.js +1 -0
- package/dist/qmd-manager-NLI0R6kp.js +1 -0
- package/dist/qr-cli-3aG6CB6K.js +1 -0
- package/dist/qr-cli-fiJxD5M4.js +1 -0
- package/dist/query-expansion-0OxEb1Io.js +1 -0
- package/dist/query-expansion-BUUx_oWg.js +1 -0
- package/dist/query-expansion-r_iXkNzt.js +1 -0
- package/dist/reaction-level-DVPHL14p.js +1 -0
- package/dist/reaction-message-id-BEEe7X3D.js +1 -0
- package/dist/read-only-account-inspect-DBwAwB3_.js +1 -0
- package/dist/redact-3_CiXMY6.js +1 -0
- package/dist/redact-CnRxK70G.js +1 -0
- package/dist/register.agent-CX78s_X9.js +1 -0
- package/dist/register.agent-DLDKQENq.js +1 -0
- package/dist/register.backup-DkFoTcuT.js +1 -0
- package/dist/register.backup-PzF5rmeU.js +1 -0
- package/dist/register.configure-BA5u9hT3.js +1 -0
- package/dist/register.configure-BhPtf3Qo.js +1 -0
- package/dist/register.maintenance-BhsBepKS.js +1 -0
- package/dist/register.maintenance-r_MzNK3-.js +1 -0
- package/dist/register.message-CTF--Z2a.js +1 -0
- package/dist/register.message-jcZ875be.js +1 -0
- package/dist/register.onboard-C3yL50_c.js +1 -0
- package/dist/register.onboard-CNwnStUk.js +1 -0
- package/dist/register.setup-BRJMzgfU.js +1 -0
- package/dist/register.setup-BvsS-zgm.js +1 -0
- package/dist/register.status-health-sessions-DVc__2pc.js +1 -0
- package/dist/register.status-health-sessions-Dqmkw820.js +1 -0
- package/dist/register.subclis-D-24j83X.js +1 -0
- package/dist/registry-BptzrW8D.js +1 -0
- package/dist/registry-hFAtCSWG.js +1 -0
- package/dist/render-BXEUPIHe.js +1 -0
- package/dist/render-CBsnn-2A.js +1 -0
- package/dist/render-D8OWO2hT.js +1 -0
- package/dist/render-DrrPmnMI.js +1 -0
- package/dist/reply-l-Y47HP4.js +1 -0
- package/dist/restart-CHXEHdSC.js +1 -0
- package/dist/rpc-B3ReBNXG.js +1 -0
- package/dist/rpc-DumDLalJ.js +1 -0
- package/dist/run-main-B_YBE_TN.js +1 -0
- package/dist/runtime-BC5Ep2pJ.js +1 -0
- package/dist/runtime-Dlg2-Omq.js +1 -0
- package/dist/runtime-guard-DFYBaYZS.js +1 -0
- package/dist/runtime-guard-DX2Ie4ri.js +1 -0
- package/dist/runtime-status-CqFBmdRd.js +1 -0
- package/dist/runtime-status-DszMjvJK.js +1 -0
- package/dist/runtime-web-tools-D8fms06-.js +1 -0
- package/dist/runtime-web-tools-bz76ZaRc.js +1 -0
- package/dist/sandbox-cli-BDorUBm-.js +1 -0
- package/dist/sandbox-cli-Bq40R5Vs.js +1 -0
- package/dist/scan-paths-C13EseXp.js +1 -0
- package/dist/scan-paths-CWtvWW40.js +1 -0
- package/dist/search-manager-Bp9x20r6.js +1 -0
- package/dist/secret-file-C7JffiM_.js +1 -0
- package/dist/secret-file-D60EFEOe.js +1 -0
- package/dist/secret-file-DuWm26jS.js +1 -0
- package/dist/secrets-cli-Bo6PC32U.js +1 -0
- package/dist/secrets-cli-CoXJv3Jp.js +1 -0
- package/dist/secure-random-D7JQgiK-.js +1 -0
- package/dist/security-cli-CgZL2KKh.js +1 -0
- package/dist/security-cli-DVOfhwAP.js +1 -0
- package/dist/send-B7sHR38c2.js +1 -0
- package/dist/send-Bx2Qr7VH.js +1 -0
- package/dist/send-C-AP01PR.js +1 -0
- package/dist/send-C1CJ-GHU.js +1 -0
- package/dist/send-C48Y9SAq.js +1 -0
- package/dist/send-CVplsJpw.js +1 -0
- package/dist/send-CW81y5Wz.js +1 -0
- package/dist/send-CYgHok1p.js +1 -0
- package/dist/send-Cgd_VJHR.js +1 -0
- package/dist/send-Chz0YMoJ.js +1 -0
- package/dist/send-D9hVVn7p2.js +1 -0
- package/dist/send-DKrzj_Ts.js +1 -0
- package/dist/send-DRLSCwCk.js +1 -0
- package/dist/send-DavpkzhH.js +1 -0
- package/dist/send-DbeEC2a3.js +1 -0
- package/dist/send-DkiKKUkt.js +1 -0
- package/dist/send-DlfVd5mL.js +1 -0
- package/dist/send-JYgM9Sm-2.js +1 -0
- package/dist/send-hZFDcGLM.js +1 -0
- package/dist/send-vthbs31u.js +1 -0
- package/dist/server-DpyBukwA.js +1 -0
- package/dist/server-IgiSKzXH.js +1 -0
- package/dist/server-node-events-CFSY_-4t.js +1 -0
- package/dist/server-node-events-ZFwmPwQ-.js +1 -0
- package/dist/service-BtB9epJk.js +1 -0
- package/dist/service-DZ9EbS15.js +1 -0
- package/dist/session-C9TDmUS7.js +1 -0
- package/dist/session-CUUGjiV3.js +1 -0
- package/dist/session-DA-i5xQ-.js +1 -0
- package/dist/session-bk3gFwO4.js +1 -0
- package/dist/session-cost-usage-BgqKixv0.js +1 -0
- package/dist/session-cost-usage-CHtVgnE8.js +1 -0
- package/dist/session-key-C7F_iqYg.js +1 -0
- package/dist/session-key-D3P0tf5P.js +1 -0
- package/dist/session-utils-8acNlxwP.js +1 -0
- package/dist/sessions-BsxT0V2m.js +1 -0
- package/dist/shared-9x5sqYRb.js +1 -0
- package/dist/shared-BKWhOp64.js +1 -0
- package/dist/shared-GesXrZzd.js +1 -0
- package/dist/skill-commands-BWW6mc6t.js +1 -0
- package/dist/skill-commands-CSF6wVPU.js +1 -0
- package/dist/skill-commands-Db232ZRp.js +1 -0
- package/dist/skill-commands-HJHHZqt6.js +1 -0
- package/dist/skill-scanner-CUUF3Fvo.js +1 -0
- package/dist/skill-scanner-CkxXNioD.js +1 -0
- package/dist/skills-CKTicUKS.js +1 -0
- package/dist/skills-DHbOKEGc.js +1 -0
- package/dist/skills-cli-9Ls94z5H.js +1 -0
- package/dist/skills-cli-BY7OhJzj.js +1 -0
- package/dist/skills-install-CIdGCXSy.js +1 -0
- package/dist/skills-install-DIdiVt9Y.js +1 -0
- package/dist/skills-status-BWIugRCz.js +1 -0
- package/dist/skills-status-DswSl5aD.js +1 -0
- package/dist/sqlite-CILF3z9U.js +1 -0
- package/dist/stagger-DmFYysrJ.js +1 -0
- package/dist/stagger-DxzgG2jd.js +1 -0
- package/dist/status-C-9fSiMn.js +1 -0
- package/dist/status-CeBGmSAz.js +1 -0
- package/dist/status-DYqPF0rB.js +1 -0
- package/dist/status-JIPeVrsc.js +1 -0
- package/dist/status.update-B_8Gumuc.js +1 -0
- package/dist/status.update-DoSzHu2F.js +1 -0
- package/dist/string-normalization-BrUPaXaM.js +1 -0
- package/dist/string-normalization-DJT5zuUF.js +1 -0
- package/dist/subsystem-BLbY429l.js +1 -0
- package/dist/subsystem-Bc2XrjUz.js +1 -0
- package/dist/subsystem-C5XF2Fy5.js +1 -0
- package/dist/system-cli-CeZfoVPN.js +1 -0
- package/dist/system-cli-DZkTYB9d.js +1 -0
- package/dist/system-run-command-BKfMiqQM.js +1 -0
- package/dist/system-run-command-DEWnZE0r.js +1 -0
- package/dist/systemd-D7odsu4K.js +1 -0
- package/dist/systemd-DbevZh65.js +1 -0
- package/dist/systemd-hints-C0DKDl35.js +1 -0
- package/dist/systemd-hints-lXpMy-kY.js +1 -0
- package/dist/systemd-linger-C2MJD6KG.js +1 -0
- package/dist/systemd-linger-cWKbFNpu.js +1 -0
- package/dist/table-CR7TFMew.js +1 -0
- package/dist/table-CY440fI1.js +1 -0
- package/dist/tables-Brc2lNcB.js +1 -0
- package/dist/tables-CrXdLc_6.js +1 -0
- package/dist/tables-Oieq7UbT.js +1 -0
- package/dist/tables-btcG3yFT.js +1 -0
- package/dist/target-errors-CRlevJJ5.js +1 -0
- package/dist/target-errors-CgWAJOam.js +1 -0
- package/dist/target-errors-CpKXh2RS.js +1 -0
- package/dist/target-errors-a35Md15n.js +1 -0
- package/dist/targets-4EaxWBal.js +1 -0
- package/dist/targets-BJTo7bqu.js +1 -0
- package/dist/targets-BYVMrXDf.js +1 -0
- package/dist/targets-Bq6rS6-Z.js +1 -0
- package/dist/targets-CL5fYQi7.js +1 -0
- package/dist/targets-fozeWOOg.js +1 -0
- package/dist/targets-m_41k_Mv.js +1 -0
- package/dist/telegram/audit.js +1 -0
- package/dist/text-format-CvrvBBre.js +1 -0
- package/dist/text-format-DEWK6oCT.js +1 -0
- package/dist/token-DnTmiyJu.js +1 -0
- package/dist/tokens-B2fq-rL6.js +1 -0
- package/dist/tokens-CL2fSjGl.js +1 -0
- package/dist/tokens-DRM8vzJx.js +1 -0
- package/dist/tokens-XGbQGn67.js +1 -0
- package/dist/tool-display-DJDtttQg.js +1 -0
- package/dist/tool-display-DjuSUUbH.js +1 -0
- package/dist/tui-B506apla.js +1 -0
- package/dist/tui-CJUkUxHb.js +1 -0
- package/dist/tui-cli-BEdGHmhc.js +1 -0
- package/dist/tui-cli-Cq_eXDAV.js +1 -0
- package/dist/types.secrets-C-5U96pc.js +1 -0
- package/dist/types.secrets-D4tbc3Wq.js +1 -0
- package/dist/update-BGrxUIyz.js +1 -0
- package/dist/update-CwTy5DPl.js +1 -0
- package/dist/update-cli-BwBMOeP0.js +1 -0
- package/dist/update-cli-YrBbmw4f.js +1 -0
- package/dist/update-runner-BvtyRBD2.js +1 -0
- package/dist/update-runner-DYamgo1V.js +1 -0
- package/dist/usage-format-BWD8FJFL.js +1 -0
- package/dist/usage-format-yPwal8Iz.js +1 -0
- package/dist/utils-CGdo13HV.js +1 -0
- package/dist/utils-D3t-vPka.js +1 -0
- package/dist/utils-R-mFyVJi.js +1 -0
- package/dist/utils-UGOV_184.js +1 -0
- package/dist/version-q3SkUw2K.js +1 -0
- package/dist/warning-filter.js +1 -0
- package/dist/web-Cq3xWCaD.js +1 -0
- package/dist/web-DwcxsgH0.js +1 -0
- package/dist/webhooks-cli-CIeyainW.js +1 -0
- package/dist/webhooks-cli-DSNAve_D.js +1 -0
- package/dist/whatsapp-actions-B6gt1KeB.js +1 -0
- package/dist/whatsapp-actions-DACoH7qd.js +1 -0
- package/dist/whatsapp-actions-iQhIeMya.js +1 -0
- package/dist/whatsapp-actions-tmjID75a.js +1 -0
- package/dist/widearea-dns-BDx7vkV2.js +1 -0
- package/dist/widearea-dns-BFjqKXu_.js +1 -0
- package/dist/windows-spawn-7oINn5ao.js +1 -0
- package/dist/windows-spawn-AB7ItGAE.js +1 -0
- package/dist/with-timeout-WveKxvFV.js +1 -0
- package/dist/with-timeout-c1CzdShT.js +1 -0
- package/dist/workspace-B0ZQeHXg.js +1 -0
- package/dist/workspace-C45T1Cxg.js +1 -0
- package/dist/workspace-dirs-A8Vib9_B.js +1 -0
- package/dist/workspace-dirs-BhF1Dzxt.js +1 -0
- package/dist/workspace-xNEpaJvu.js +1 -0
- package/dist/wsl-DHxB2Ew_.js +1 -0
- package/dist/wsl-Ok7GaSJ6.js +1 -0
- 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/@grammyjs/types/package.json +1 -1
- package/node_modules/@line/bot-sdk/dist/channel-access-token/api/channelAccessTokenClient.js +49 -3
- package/node_modules/@line/bot-sdk/dist/cjs/channel-access-token/api/channelAccessTokenClient.js +49 -3
- package/node_modules/@line/bot-sdk/dist/cjs/client.js +636 -0
- package/node_modules/@line/bot-sdk/dist/cjs/endpoints.js +7 -0
- package/node_modules/@line/bot-sdk/dist/cjs/exceptions.js +15 -1
- package/node_modules/@line/bot-sdk/dist/cjs/http-axios.js +2 -6
- package/node_modules/@line/bot-sdk/dist/cjs/http-fetch.js +5 -13
- package/node_modules/@line/bot-sdk/dist/cjs/index.js +3 -1
- package/node_modules/@line/bot-sdk/dist/cjs/insight/api/insightClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/liff/api/liffClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.factory.generated.js +66 -0
- package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.generated.js +1999 -0
- package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.js +61 -0
- package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceBlobClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiBlobClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/module/api/lineModuleClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/module-attach/api/lineModuleAttachClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/shop/api/shopClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/utils.js +10 -0
- package/node_modules/@line/bot-sdk/dist/cjs/version.js +1 -1
- package/node_modules/@line/bot-sdk/dist/client.js +636 -0
- package/node_modules/@line/bot-sdk/dist/endpoints.js +7 -0
- package/node_modules/@line/bot-sdk/dist/exceptions.js +15 -1
- package/node_modules/@line/bot-sdk/dist/http-axios.js +2 -6
- package/node_modules/@line/bot-sdk/dist/http-fetch.js +5 -13
- package/node_modules/@line/bot-sdk/dist/index.js +1 -0
- package/node_modules/@line/bot-sdk/dist/insight/api/insightClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/liff/api/liffClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/line-bot-client.factory.generated.js +63 -0
- package/node_modules/@line/bot-sdk/dist/line-bot-client.generated.js +1995 -0
- package/node_modules/@line/bot-sdk/dist/line-bot-client.js +58 -0
- package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceBlobClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiBlobClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/module/api/lineModuleClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/module-attach/api/lineModuleAttachClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/shop/api/shopClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/utils.js +9 -0
- package/node_modules/@line/bot-sdk/dist/version.js +1 -1
- package/node_modules/@line/bot-sdk/package.json +10 -7
- package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
- package/node_modules/@mariozechner/clipboard-linux-x64-gnu/package.json +25 -0
- package/node_modules/@mariozechner/clipboard-linux-x64-musl/clipboard.linux-x64-musl.node +0 -0
- package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +25 -0
- package/node_modules/@slack/bolt/dist/App.js +22 -30
- package/node_modules/@slack/bolt/dist/Assistant.js +21 -37
- package/node_modules/@slack/bolt/dist/CustomFunction.js +1 -43
- package/node_modules/@slack/bolt/dist/context/create-function-complete.js +23 -0
- package/node_modules/@slack/bolt/dist/context/create-function-fail.js +23 -0
- package/node_modules/@slack/bolt/dist/context/create-respond.js +11 -0
- package/node_modules/@slack/bolt/dist/context/create-say-stream.js +16 -0
- package/node_modules/@slack/bolt/dist/context/create-say.js +17 -0
- package/node_modules/@slack/bolt/dist/context/create-set-status.js +21 -0
- package/node_modules/@slack/bolt/dist/context/index.js +16 -0
- package/node_modules/@slack/bolt/dist/helpers.js +79 -3
- package/node_modules/@slack/bolt/dist/index.js +10 -8
- package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js +5 -1
- package/node_modules/@slack/bolt/dist/types/events/index.js +0 -4
- package/node_modules/@slack/bolt/package.json +7 -7
- package/node_modules/@smithy/config-resolver/package.json +10 -11
- package/node_modules/@smithy/core/dist-cjs/getSmithyContext.js +6 -0
- package/node_modules/@smithy/core/dist-cjs/index.js +1 -1
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +21 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +21 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +46 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/index.js +6 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/resolveAuthOptions.js +24 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/getHttpSigningMiddleware.js +19 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/httpSigningMiddleware.js +27 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/index.js +5 -0
- package/node_modules/@smithy/core/dist-cjs/normalizeProvider.js +10 -0
- package/node_modules/@smithy/core/dist-cjs/pagination/createPaginator.js +44 -0
- package/node_modules/@smithy/core/dist-cjs/request-builder/requestBuilder.js +5 -0
- package/node_modules/@smithy/core/dist-cjs/setFeature.js +14 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +17 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +38 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +15 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/index.js +6 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/noAuth.js +9 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/index.js +6 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/memoizeIdentityProvider.js +61 -0
- package/node_modules/@smithy/core/package.json +15 -16
- package/node_modules/@smithy/credential-provider-imds/package.json +9 -10
- package/node_modules/@smithy/eventstream-codec/dist-cjs/index.js +13 -0
- package/node_modules/@smithy/eventstream-codec/package.json +6 -7
- package/node_modules/@smithy/eventstream-serde-browser/package.json +7 -8
- package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +7 -8
- package/node_modules/@smithy/eventstream-serde-node/package.json +7 -8
- package/node_modules/@smithy/eventstream-serde-universal/package.json +9 -10
- package/node_modules/@smithy/fetch-http-handler/package.json +12 -13
- package/node_modules/@smithy/hash-node/package.json +6 -7
- package/node_modules/@smithy/invalid-dependency/package.json +6 -7
- package/node_modules/@smithy/middleware-content-length/package.json +7 -8
- package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +2 -2
- package/node_modules/@smithy/middleware-endpoint/package.json +13 -14
- package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +70 -29
- package/node_modules/@smithy/middleware-retry/dist-es/index.js +5 -4
- package/node_modules/@smithy/middleware-retry/dist-es/longPollMiddleware.js +15 -0
- package/node_modules/@smithy/middleware-retry/dist-es/parseRetryAfterHeader.js +49 -0
- package/node_modules/@smithy/middleware-retry/dist-es/{StandardRetryStrategy.js → retry-pre-sra-deprecated/StandardRetryStrategy.js} +1 -1
- package/node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js +13 -20
- package/node_modules/@smithy/middleware-retry/package.json +16 -16
- package/node_modules/@smithy/middleware-serde/package.json +10 -11
- package/node_modules/@smithy/middleware-stack/package.json +7 -8
- package/node_modules/@smithy/node-config-provider/package.json +8 -9
- package/node_modules/@smithy/node-http-handler/package.json +10 -11
- package/node_modules/@smithy/property-provider/package.json +6 -7
- package/node_modules/@smithy/protocol-http/package.json +6 -7
- package/node_modules/@smithy/querystring-builder/package.json +6 -7
- package/node_modules/@smithy/querystring-parser/package.json +6 -7
- package/node_modules/@smithy/service-error-classification/package.json +6 -7
- package/node_modules/@smithy/shared-ini-file-loader/package.json +7 -8
- package/node_modules/@smithy/signature-v4/dist-cjs/index.js +13 -0
- package/node_modules/@smithy/signature-v4/package.json +9 -10
- package/node_modules/@smithy/smithy-client/dist-cjs/index.js +1 -1
- package/node_modules/@smithy/smithy-client/package.json +14 -15
- package/node_modules/@smithy/types/package.json +7 -8
- package/node_modules/@smithy/url-parser/package.json +7 -8
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +8 -9
- package/node_modules/@smithy/util-defaults-mode-node/package.json +11 -12
- package/node_modules/@smithy/util-endpoints/package.json +9 -10
- package/node_modules/@smithy/util-middleware/package.json +6 -7
- package/node_modules/@smithy/util-retry/dist-cjs/index.js +123 -76
- package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +7 -4
- package/node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js +2 -2
- package/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +24 -25
- package/node_modules/@smithy/util-retry/dist-es/DefaultRetryBackoffStrategy.js +14 -0
- package/node_modules/@smithy/util-retry/dist-es/DefaultRetryToken.js +25 -0
- package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +39 -26
- package/node_modules/@smithy/util-retry/dist-es/index.js +1 -0
- package/node_modules/@smithy/util-retry/dist-es/retries-2026-config.js +18 -0
- package/node_modules/@smithy/util-retry/package.json +10 -11
- package/node_modules/@smithy/util-stream/package.json +12 -13
- package/node_modules/@snazzah/davey-linux-x64-gnu/davey.linux-x64-gnu.node +0 -0
- package/node_modules/@snazzah/davey-linux-x64-gnu/package.json +43 -0
- package/node_modules/@snazzah/davey-linux-x64-musl/davey.linux-x64-musl.node +0 -0
- package/node_modules/@snazzah/davey-linux-x64-musl/package.json +43 -0
- package/node_modules/dotenv/lib/main.js +1 -1
- package/node_modules/dotenv/package.json +1 -1
- package/node_modules/dotenv/skills/dotenv/SKILL.md +32 -52
- package/node_modules/dotenv/skills/dotenvx/SKILL.md +57 -273
- package/node_modules/grammy/out/bot.js +1 -0
- package/node_modules/grammy/out/context.js +35 -0
- package/node_modules/grammy/out/convenience/keyboard.js +30 -2
- package/node_modules/grammy/out/core/api.js +34 -0
- package/node_modules/grammy/out/filter.js +6 -2
- package/node_modules/grammy/out/web.mjs +58 -10
- package/node_modules/grammy/package.json +2 -2
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +12 -0
- package/node_modules/lru-cache/dist/commonjs/index.js +227 -130
- package/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +17 -0
- package/node_modules/lru-cache/dist/esm/index.js +227 -130
- package/node_modules/lru-cache/dist/esm/index.min.js +1 -1
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.mts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +8 -0
- package/node_modules/lru-cache/dist/esm/node/index.js +1688 -0
- package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
- package/node_modules/lru-cache/package.json +29 -9
- package/node_modules/netmask/dist/netmask.js +58 -0
- package/node_modules/netmask/dist/netmask4.js +189 -0
- package/node_modules/netmask/dist/netmask6.js +187 -0
- package/node_modules/netmask/package.json +15 -6
- package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
- package/node_modules/path-expression-matcher/lib/pem.d.cts +93 -0
- package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
- package/node_modules/path-expression-matcher/package.json +1 -1
- package/node_modules/path-expression-matcher/src/ExpressionSet.js +189 -0
- package/node_modules/path-expression-matcher/src/Matcher.js +50 -20
- package/node_modules/path-expression-matcher/src/index.js +3 -2
- package/node_modules/strnum/package.json +1 -1
- package/package.json +1 -1
- package/preset-config.json +12 -0
- package/node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js +0 -14
- package/node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js +0 -11
- package/node_modules/netmask/CREDITS.md +0 -30
- package/node_modules/netmask/lib/netmask.coffee +0 -167
- package/node_modules/netmask/lib/netmask.js +0 -208
- package/node_modules/strnum/.github/SECURITY.md +0 -5
- package/node_modules/strnum/.vscode/launch.json +0 -25
- package/node_modules/strnum/algo.stflow +0 -84
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
- /package/node_modules/@smithy/middleware-retry/dist-es/{AdaptiveRetryStrategy.js → retry-pre-sra-deprecated/AdaptiveRetryStrategy.js} +0 -0
- /package/node_modules/@smithy/middleware-retry/dist-es/{defaultRetryQuota.js → retry-pre-sra-deprecated/defaultRetryQuota.js} +0 -0
- /package/node_modules/@smithy/middleware-retry/dist-es/{delayDecider.js → retry-pre-sra-deprecated/delayDecider.js} +0 -0
- /package/node_modules/@smithy/middleware-retry/dist-es/{retryDecider.js → retry-pre-sra-deprecated/retryDecider.js} +0 -0
- /package/node_modules/@smithy/middleware-retry/dist-es/{types.js → retry-pre-sra-deprecated/types.js} +0 -0
|
@@ -208,3 +208,4 @@ Add your local tool notes here.
|
|
|
208
208
|
`)]);await lM(J.join(t,`AGENTS.md`),n),await lM(J.join(t,`SOUL.md`),r),await lM(J.join(t,`TOOLS.md`),i),await lM(J.join(t,`IDENTITY.md`),a),await lM(J.join(t,`USER.md`),o)}async function dM(e){let t=cM();e.reset&&await yu(`full`,t,u);let n=V().configPath,r=Y.existsSync(n);!e.reset&&r||(await O({gateway:{mode:`local`,bind:`loopback`},agents:{defaults:{workspace:t,skipBootstrap:!0},list:[{id:`dev`,default:!0,workspace:t,identity:{name:iM,theme:aM,emoji:oM}}]}}),await uM(t),u.log(`Dev config ready: ${rr(n)}`),u.log(`Dev workspace ready: ${rr(nr(t))}`))}const fM={launchd:[`LAUNCH_JOB_LABEL`,`LAUNCH_JOB_NAME`,`XPC_SERVICE_NAME`,`OPENCLAW_LAUNCHD_LABEL`],systemd:[`OPENCLAW_SYSTEMD_UNIT`,`INVOCATION_ID`,`SYSTEMD_EXEC_PID`,`JOURNAL_STREAM`],schtasks:[`OPENCLAW_WINDOWS_TASK_NAME`]};[...fM.launchd,...fM.systemd,...fM.schtasks];function pM(e,t){return t.some(t=>{let n=e[t];return typeof n==`string`&&n.trim().length>0})}function mM(e=process.env,t=process.platform){if(t===`darwin`)return pM(e,fM.launchd)?`launchd`:null;if(t===`linux`)return pM(e,fM.systemd)?`systemd`:null;if(t===`win32`){if(pM(e,fM.schtasks))return`schtasks`;let t=e.OPENCLAW_SERVICE_MARKER?.trim(),n=e.OPENCLAW_SERVICE_KIND?.trim();return t&&n===`gateway`?`schtasks`:null}return null}function hM(e){if(!e)return!1;let t=e.trim().toLowerCase();return t===`1`||t===`true`||t===`yes`||t===`on`}function gM(){if(hM(process.env.OPENCLAW_NO_RESPAWN))return{mode:`disabled`};let e=mM(process.env);if(e){if(e===`launchd`){let e=Zu({env:process.env,mode:`start-after-exit`,waitForPid:process.pid});return e.ok?{mode:`supervised`,detail:`launchd restart handoff pid ${e.pid??`unknown`}`}:{mode:`supervised`,detail:`launchd exit fallback (${e.detail??`restart handoff failed`})`}}if(e===`schtasks`){let e=Jl();if(!e.ok)return{mode:`failed`,detail:e.detail??`${e.method} restart failed`}}return{mode:`supervised`}}if(process.platform===`win32`)return{mode:`disabled`,detail:`win32: detached respawn unsupported without Scheduled Task markers`};try{let e=[...process.execArgv,...process.argv.slice(1)],t=hf(process.execPath,e,{env:process.env,detached:!0,stdio:`inherit`});return t.unref(),{mode:`spawned`,pid:t.pid??void 0}}catch(e){return{mode:`failed`,detail:e instanceof Error?e.message:String(e)}}}function _M(e){let t=!0;return()=>t?(t=!1,!1):(e(),!0)}const vM=d(`gateway`);async function yM(e){let t=await RA({port:e.lockPort}),n=null,r=!1,i=null,a=()=>{process.removeListener(`SIGTERM`,m),process.removeListener(`SIGINT`,h),process.removeListener(`SIGUSR1`,g)},o=t=>{a(),e.runtime.exit(t)},s=async()=>t?(await t.release(),t=null,!0):!1,c=async()=>{try{return t=await RA({port:e.lockPort}),!0}catch(e){return vM.error(`failed to reacquire gateway lock for in-process restart: ${String(e)}`),o(1),!1}},l=async()=>{let e=await s(),t=gM();if(t.mode===`spawned`||t.mode===`supervised`){let e=t.mode===`spawned`?`spawned pid ${t.pid??`unknown`}`:`supervisor restart`;vM.info(`restart mode: full process restart (${e})`),o(0);return}t.mode===`failed`?vM.warn(`full process restart failed (${t.detail??`unknown error`}); falling back to in-process restart`):vM.info(`restart mode: in-process restart (${t.detail??`OPENCLAW_NO_RESPAWN`})`),!(e&&!await c())&&(r=!1,i?.())},u=async()=>{await s(),o(0)},d=9e4,f=5e3,p=(e,t)=>{if(r){vM.info(`received ${t} during shutdown; ignoring`);return}r=!0;let i=e===`restart`;vM.info(`received ${t}; ${i?`restarting`:`shutting down`}`);let a=i?d+f:f,s=setTimeout(()=>{vM.error(`shutdown timed out; exiting without full cleanup`),o(i?1:0)},a);(async()=>{try{if(i){oo();let e=Ri(),t=po();if(t>0&&za(void 0,{mode:`compacting`}),e>0||t>0){vM.info(`draining ${e} active task(s) and ${t} active embedded run(s) before restart (timeout ${d}ms)`);let[n,r]=await Promise.all([e>0?ka(d):Promise.resolve({drained:!0}),t>0?_a(d):Promise.resolve({drained:!0})]);n.drained&&r.drained?vM.info(`all active work drained`):(vM.warn(`drain timeout reached; proceeding with restart`),za(void 0,{mode:`all`}))}}await n?.close({reason:i?`gateway restarting`:`gateway stopping`,restartExpectedMs:i?1500:null})}catch(e){vM.error(`shutdown error: ${String(e)}`)}finally{clearTimeout(s),n=null,i?await l():await u()}})()},m=()=>{vM.info(`signal SIGTERM received`),p(`stop`,`SIGTERM`)},h=()=>{vM.info(`signal SIGINT received`),p(`stop`,`SIGINT`)},g=()=>{if(vM.info(`signal SIGUSR1 received`),!Wl()&&!zl()){vM.warn(`SIGUSR1 restart ignored (not authorized; commands.restart=false or use gateway tool).`);return}Gl(),p(`restart`,`SIGUSR1`)};process.on(`SIGTERM`,m),process.on(`SIGINT`,h),process.on(`SIGUSR1`,g);try{let t=_M(()=>{Ua()}),r=!0;for(;;){t();try{n=await e.start(),r=!1}catch(e){if(r)throw e;n=null,await s();let t=e instanceof Error?e.message:String(e),i=e instanceof Error&&e.stack?`\n${e.stack}`:``;vM.error(`gateway startup failed: ${t}. Process will stay alive; fix the issue and restart.${i}`)}await new Promise(e=>{i=e})}}finally{await s(),a()}}const bM=d(`gateway`),xM=[`port`,`bind`,`token`,`auth`,`password`,`passwordFile`,`tailscale`,`wsLog`,`rawStreamPath`],SM=[`tailscaleResetOnExit`,`allowUnconfigured`,`dev`,`reset`,`force`,`verbose`,`claudeCliLogs`,`compact`,`rawStream`],CM=[`none`,`token`,`password`,`trusted-proxy`],wM=[`off`,`serve`,`funnel`];function TM(){u.error(`Warning: --password can be exposed via process listings. Prefer --password-file or OPENCLAW_GATEWAY_PASSWORD.`)}function EM(e){let t=vd(e.password),n=vd(e.passwordFile);if(t&&n)throw Error(`Use either --password or --password-file.`);return n?Vu(n,`Gateway password`):t}function DM(e,t){return e&&t.includes(e)?e:null}function OM(e){return e.map(e=>`"${e}"`).join(`|`)}function kM(e){let t=e.map(e=>`"${e}"`);return t.length===0?``:t.length===1?t[0]:t.length===2?`${t[0]} or ${t[1]}`:`${t.slice(0,-1).join(`, `)}, or ${t[t.length-1]}`}function AM(e,t){let n={...e};for(let e of xM){let r=Hu(t,e);if(e===`wsLog`){n[e]=r??n[e];continue}n[e]=n[e]??r}for(let e of SM){let r=Hu(t,e);n[e]=!!(n[e]||r)}return n}async function jM(e){let t=process.env.OPENCLAW_PROFILE?.trim().toLowerCase()===`dev`,n=!!e.dev||t;if(e.reset&&!n){u.error(`Use --reset with --dev.`),u.exit(1);return}l(!0),f(!!e.verbose),e.claudeCliLogs&&(a([`agent/claude-cli`]),process.env.OPENCLAW_CLAUDE_CLI_LOG_OUTPUT=`1`);let r=e.compact?`compact`:e.wsLog,i=r===`compact`?`compact`:r===`full`?`full`:`auto`;r!==void 0&&r!==`auto`&&r!==`compact`&&r!==`full`&&(u.error(`Invalid --ws-log (use "auto", "full", "compact")`),u.exit(1)),Kd(i),e.rawStream&&(process.env.OPENCLAW_RAW_STREAM=`1`);let o=vd(e.rawStreamPath);o&&(process.env.OPENCLAW_RAW_STREAM_PATH=o),n&&await dM({reset:!!e.reset});let s=H(),c=Qu(e.port);e.port!==void 0&&c===null&&(u.error(`Invalid port`),u.exit(1));let d=c??y(s);(!Number.isFinite(d)||d<=0)&&(u.error(`Invalid port`),u.exit(1));let m=vd(e.bind)??s.gateway?.bind??`loopback`,h=m===`loopback`||m===`lan`||m===`auto`||m===`custom`||m===`tailnet`?m:null;if(!h){u.error(`Invalid --bind (use "loopback", "lan", "tailnet", "auto", or "custom")`),u.exit(1);return}if(process.env.OPENCLAW_SERVICE_MARKER?.trim()){let e=Vl(d);e.length>0&&bM.info(`service-mode: cleared ${e.length} stale gateway pid(s) before bind on port ${d}`)}if(e.force)try{let{killed:e,waitedMs:t,escalatedToSigkill:n}=await pf(d,{timeoutMs:2e3,intervalMs:100,sigtermTimeoutMs:700});if(e.length===0)bM.info(`force: no listeners on port ${d}`);else{for(let t of e)bM.info(`force: killed pid ${t.pid}${t.command?` (${t.command})`:``} on port ${d}`);n&&bM.info(`force: escalated to SIGKILL while freeing port ${d}`),t>0&&bM.info(`force: waited ${t}ms for port ${d} to free`)}let r=await mf(d,{timeoutMs:3e3,intervalMs:150,host:h===`loopback`?`127.0.0.1`:h===`lan`?`0.0.0.0`:h===`custom`?vd(s.gateway?.customBindHost):void 0});r>0&&bM.info(`force: waited ${r}ms for port ${d} to become bindable`)}catch(e){u.error(`Force: ${String(e)}`),u.exit(1);return}if(e.token){let t=vd(e.token);t&&(process.env.OPENCLAW_GATEWAY_TOKEN=t)}let g=vd(e.auth),_=DM(g,CM);if(g&&!_){u.error(`Invalid --auth (use ${kM(CM)})`),u.exit(1);return}let b=vd(e.tailscale),x=DM(b,wM);if(b&&!x){u.error(`Invalid --tailscale (use ${kM(wM)})`),u.exit(1);return}let S;try{S=EM(e)}catch(e){u.error(e instanceof Error?e.message:String(e)),u.exit(1);return}vd(e.password)&&TM();let C=vd(e.token),w=await L().catch(()=>null),T=w?.exists??Y.existsSync(v),E=J.join(p(process.env),`logs`,`config-audit.jsonl`),D=s.gateway?.mode;if(!e.allowUnconfigured&&D!==`local`){T?(u.error(`Gateway start blocked: set gateway.mode=local (current: ${D??`unset`}) or pass --allow-unconfigured.`),u.error(`Config write audit: ${E}`)):u.error(`Missing config. Run \`${hn(`openclaw setup`)}\` or set gateway.mode=local (or pass --allow-unconfigured).`),u.exit(1);return}let O=yd(w?.parsed),k=_||S||C||g?{..._?{mode:_}:{},...C?{token:C}:{},...S?{password:S}:{}}:void 0,A=ke({authConfig:s.gateway?.auth,authOverride:k,env:process.env,tailscaleMode:x??s.gateway?.tailscale?.mode??`off`}),j=A.mode,M=A.token,N=A.password,ee=typeof M==`string`&&M.trim().length>0,te=typeof N==`string`&&N.trim().length>0,P=ee||dr(k?.token??s.gateway?.auth?.token,s.secrets?.defaults),F=te||dr(k?.password??s.gateway?.auth?.password,s.secrets?.defaults),ne=j===`token`&&P||j===`password`&&F,re=j===`token`&&!P,I=[];if(O.hasGatewayToken&&I.push(`Found "gateway.token" in config. Use "gateway.auth.token" instead.`),O.hasRemoteToken&&I.push(`"gateway.remote.token" is for remote CLI calls; it does not enable local gateway auth.`),j===`password`&&!F){u.error([`Gateway auth is set to password, but no password is configured.`,`Set gateway.auth.password (or OPENCLAW_GATEWAY_PASSWORD), or pass --password.`,...I].filter(Boolean).join(`
|
|
209
209
|
`)),u.exit(1);return}if(j===`none`&&bM.warn(`Gateway auth mode=none explicitly configured; all gateway connections are unauthenticated.`),h!==`loopback`&&!ne&&!re&&j!==`trusted-proxy`){u.error([`Refusing to bind gateway to ${h} without auth.`,`Set gateway.auth.token/password (or OPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD) or pass --token/--password.`,...I].filter(Boolean).join(`
|
|
210
210
|
`)),u.exit(1);return}let R=x||e.tailscaleResetOnExit?{...x?{mode:x}:{},...e.tailscaleResetOnExit?{resetOnExit:!0}:{}}:void 0;try{await yM({runtime:u,lockPort:d,start:async()=>await rM(d,{bind:h,auth:k,tailscale:R})})}catch(e){if(e instanceof jA||e&&typeof e==`object`&&e.name===`GatewayLockError`){let t=xd(e);u.error(`Gateway failed to start: ${t}\nIf the gateway is supervised, stop it with: ${hn(`openclaw gateway stop`)}`);try{let e=await de(d);if(e.status===`busy`)for(let t of He(e))u.error(t)}catch{}await bd(),u.exit(1);return}u.error(`Gateway failed to start: ${String(e)}`),u.exit(1)}}function MM(e){return e.option(`--port <port>`,`Port for the gateway WebSocket`).option(`--bind <mode>`,`Bind mode ("loopback"|"lan"|"tailnet"|"auto"|"custom"). Defaults to config gateway.bind (or loopback).`).option(`--token <token>`,`Shared token required in connect.params.auth.token (default: OPENCLAW_GATEWAY_TOKEN env if set)`).option(`--auth <mode>`,`Gateway auth mode (${OM(CM)})`).option(`--password <password>`,`Password for auth mode=password`).option(`--password-file <path>`,`Read gateway password from file`).option(`--tailscale <mode>`,`Tailscale exposure mode (${OM(wM)})`).option(`--tailscale-reset-on-exit`,`Reset Tailscale serve/funnel configuration on shutdown`,!1).option(`--allow-unconfigured`,`Allow gateway start without gateway.mode=local in config`,!1).option(`--dev`,`Create a dev config + workspace if missing (no BOOTSTRAP.md)`,!1).option(`--reset`,`Reset dev config + credentials + sessions + workspace (requires --dev)`,!1).option(`--force`,`Kill any existing listener on the target port before starting`,!1).option(`--verbose`,`Verbose logging to stdout/stderr`,!1).option(`--claude-cli-logs`,`Only show claude-cli logs in the console (includes stdout/stderr)`,!1).option(`--ws-log <style>`,`WebSocket log style ("auto"|"full"|"compact")`,`auto`).option(`--compact`,`Alias for "--ws-log compact"`,!1).option(`--raw-stream`,`Log raw model stream events to jsonl`,!1).option(`--raw-stream-path <path>`,`Raw stream jsonl path`).action(async(e,t)=>{await jM(AM(e,t))})}function NM(e,t){return Eu(u,e,e=>{let n=String(e);u.error(t?`${t}: ${n}`:n),u.exit(1)})}function PM(e,t=30){if(typeof e==`number`&&Number.isFinite(e))return Math.max(1,Math.floor(e));if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return Math.max(1,Math.floor(t))}return t}function FM(e,t){let n=Hu(t,`token`),r=Hu(t,`password`);return{...e,token:e.token??n,password:e.password??r}}function IM(t,n,i){let a=yl(t.totals.totalCost)??`$0.00`,o=vl(t.totals.totalTokens)??`0`,s=[r(i,e.heading,`Usage cost (${n} days)`),`${r(i,e.muted,`Total:`)} ${a} · ${o} tokens`];t.totals.missingCostEntries>0&&s.push(`${r(i,e.muted,`Missing entries:`)} ${t.totals.missingCostEntries}`);let c=t.daily.at(-1);if(c){let t=yl(c.totalCost)??`$0.00`,n=vl(c.totalTokens)??`0`;s.push(`${r(i,e.muted,`Latest day:`)} ${c.date} · ${t} · ${n} tokens`)}return s}function LM(t){let n=MM(t.command(`gateway`).description(`Run, inspect, and query the WebSocket Gateway`).addHelpText(`after`,()=>`\n${e.heading(`Examples:`)}\n${Du([[`openclaw gateway run`,`Run the gateway in the foreground.`],[`openclaw gateway status`,`Show service status and probe reachability.`],[`openclaw gateway discover`,`Find local and wide-area gateway beacons.`],[`openclaw gateway call health`,`Call a gateway RPC method directly.`]])}\n\n${e.muted(`Docs:`)} ${Tu(`/cli/gateway`,`docs.openclaw.ai/cli/gateway`)}\n`));MM(n.command(`run`).description(`Run the WebSocket Gateway (foreground)`)),ed(n,{statusDescription:`Show gateway service status + probe the Gateway`}),op(n.command(`call`).description(`Call a Gateway method`).argument(`<method>`,`Method name (health/status/system-presence/cron.*)`).option(`--params <json>`,`JSON object string for params`,`{}`).action(async(t,n,i)=>{await NM(async()=>{let a=FM(n,i),o=await Ce(),c=JSON.parse(String(n.params??`{}`)),l=await sp(t,{...a,config:o},c);if(a.json){u.log(JSON.stringify(l,null,2));return}let d=s();u.log(`${r(d,e.heading,`Gateway call`)}: ${r(d,e.muted,String(t))}`),u.log(JSON.stringify(l,null,2))},`Gateway call failed`)})),op(n.command(`usage-cost`).description(`Fetch usage cost summary from session logs`).option(`--days <days>`,`Number of days to include`,`30`).action(async(e,t)=>{await NM(async()=>{let n=FM(e,t),r=PM(e.days),i=await Ce(),a=await sp(`usage.cost`,{...n,config:i},{days:r});if(n.json){u.log(JSON.stringify(a,null,2));return}let o=s(),c=a;for(let e of IM(c,r,o))u.log(e)},`Gateway usage cost failed`)})),op(n.command(`health`).description(`Fetch Gateway health`).action(async(t,n)=>{await NM(async()=>{let i=FM(t,n),a=await Ce(),o=await sp(`health`,{...i,config:a});if(i.json){u.log(JSON.stringify(o,null,2));return}let c=s(),l=o&&typeof o==`object`?o:{},d=typeof l.durationMs==`number`?l.durationMs:null;if(u.log(r(c,e.heading,`Gateway Health`)),u.log(`${r(c,e.success,`OK`)}${d==null?``:` (${d}ms)`}`),l.channels&&typeof l.channels==`object`)for(let e of kd(l))u.log(Td(e,c))})})),n.command(`probe`).description(`Show gateway reachability + discovery + health + status summary (local + remote)`).option(`--url <url>`,`Explicit Gateway WebSocket URL (still probes localhost)`).option(`--ssh <target>`,`SSH target for remote gateway tunnel (user@host or user@host:port)`).option(`--ssh-identity <path>`,`SSH identity file path`).option(`--ssh-auto`,`Try to derive an SSH target from Bonjour discovery`,!1).option(`--token <token>`,`Gateway token (applies to all probes)`).option(`--password <password>`,`Gateway password (applies to all probes)`).option(`--timeout <ms>`,`Overall probe budget in ms`,`3000`).option(`--json`,`Output JSON`,!1).action(async(e,t)=>{await NM(async()=>{await np(FM(e,t),u)})}),n.command(`discover`).description(`Discover gateways via Bonjour (local + wide-area if configured)`).option(`--timeout <ms>`,`Per-command timeout in ms`,`2000`).option(`--json`,`Output JSON`,!1).action(async t=>{await NM(async()=>{let n=gd({configDomain:(await Ce()).discovery?.wideArea?.domain}),i=cp(t.timeout,2e3),a=[`local.`,...n?[n]:[]],o=dp(await Ou({label:`Scanning for gateways…`,indeterminate:!0,enabled:t.json!==!0,delayMs:0},async()=>await Sd({timeoutMs:i,wideAreaDomain:n}))).toSorted((e,t)=>String(e.displayName||e.instanceName).localeCompare(String(t.displayName||t.instanceName)));if(t.json){let e=o.map(e=>{let t=lp(e),n=up(e);return{...e,wsUrl:t?`ws://${t}:${n}`:null}});u.log(JSON.stringify({timeoutMs:i,domains:a,count:e.length,beacons:e},null,2));return}let c=s();if(u.log(r(c,e.heading,`Gateway Discovery`)),u.log(r(c,e.muted,`Found ${o.length} gateway(s) · domains: ${a.join(`, `)}`)),o.length!==0)for(let e of o)for(let t of fp(e,c))u.log(t)},`gateway discover failed`)})}export{LM as registerGatewayCli};
|
|
211
|
+
//# sourceMappingURL=gateway-cli-C_s9eMlC.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{Bo as e,Fo as t,Ki as n,Ni as r,Ri as i,lc as a,lo as o}from"./auth-profiles-T8DuH3ax.js";import{t as s}from"./command-format-CLxIPuLR.js";import{a as c,d as l}from"./types.secrets-D4tbc3Wq.js";import{jt as u}from"./plugins-DNlgeTTc.js";import{u as d}from"./arg-split-BOqSMBuf.js";import{h as f}from"./onboard-helpers-PGl5bVPE.js";import{f as p,n as m,t as h,u as g}from"./daemon-install-plan.shared-Dx3DBXCG.js";async function _(e){let{devMode:t,nodePath:n}=await m({env:e.env,runtime:e.runtime,devMode:e.devMode,nodePath:e.nodePath}),{programArguments:r,workingDirectory:i}=await p({port:e.port,dev:t,runtime:e.runtime,nodePath:n});await h({env:e.env,runtime:e.runtime,programArguments:r,warn:e.warn,title:`Gateway runtime`});let o=g({env:e.env,port:e.port,launchdLabel:process.platform===`darwin`?d(e.env.OPENCLAW_PROFILE):void 0}),s={...a(e.config)};return Object.assign(s,o),{programArguments:r,workingDirectory:i,environment:s}}function v(e=process.platform){return e===`win32`?`Tip: rerun from an elevated PowerShell (Start → type PowerShell → right-click → Run as administrator) or skip service install.`:`Tip: rerun \`${s(`openclaw gateway install`)}\` after fixing the error.`}function y(e,t){let n=e.gateway?.auth?.mode;if(n===`token`)return!0;if(n===`password`||n===`none`||n===`trusted-proxy`||c(e.gateway?.auth?.password,e.secrets?.defaults))return!1;let r=a(e);return!(r.OPENCLAW_GATEWAY_PASSWORD?.trim()||r.CLAWDBOT_GATEWAY_PASSWORD?.trim())}function b(){return[`gateway.auth.token and gateway.auth.password are both configured while gateway.auth.mode is unset.`,`Set ${s(`openclaw config set gateway.auth.mode token`)} or ${s(`openclaw config set gateway.auth.mode password`)}.`].join(` `)}async function x(a){let s=a.config,c=[],d=l({value:s.gateway?.auth?.token,defaults:s.secrets?.defaults}).ref,p=!!d,m=d||typeof s.gateway?.auth?.token!=`string`?void 0:s.gateway.auth.token.trim()||void 0,h=a.explicitToken?.trim()||void 0,g=n(a.env);if(r(s))return{token:void 0,tokenRefConfigured:p,unavailableReason:b(),warnings:c};let _=i({authConfig:s.gateway?.auth,tailscaleMode:s.gateway?.tailscale?.mode??`off`}),v=y(s,a.env)&&!_.allowTailscale,x=h||m||(d?void 0:g),S;if(d&&!x&&v)try{let e=(await o([d],{config:s,env:a.env})).get(u(d));if(typeof e!=`string`||e.trim().length===0)throw Error(`gateway.auth.token resolved to an empty or non-string value.`);c.push(`gateway.auth.token is SecretRef-managed; install will not persist a resolved token in service environment. Ensure the SecretRef is resolvable in the daemon runtime context.`)}catch(e){S=`gateway.auth.token SecretRef is configured but unresolved (${String(e)}).`}let C=a.autoGenerateWhenMissing??!1,w=a.persistGeneratedToken??!1;if(!x&&v&&!d&&C&&(x=f(),c.push(w?`No gateway token found. Auto-generated one and saving to config.`:`No gateway token found. Auto-generated one for this run without saving to config.`),w))try{let n=await t();if(n.exists&&!n.valid)c.push(`Warning: config file exists but is invalid; skipping token persistence.`);else{let t=n.exists?n.config:{},r=l({value:t.gateway?.auth?.token,defaults:t.secrets?.defaults}).ref,i=r||typeof t.gateway?.auth?.token!=`string`?void 0:t.gateway.auth.token.trim()||void 0;!r&&!i?await e({...t,gateway:{...t.gateway,auth:{...t.gateway?.auth,mode:t.gateway?.auth?.mode??`token`,token:x}}}):i?x=i:(x=void 0,c.push(`Warning: gateway.auth.token is SecretRef-managed; skipping plaintext token persistence.`))}}catch(e){c.push(`Warning: could not persist token to config: ${String(e)}`)}return{token:x,tokenRefConfigured:p,unavailableReason:S,warnings:c}}export{_ as n,v as r,x as t};
|
|
2
|
+
//# sourceMappingURL=gateway-install-token-BCnuZeh1.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{$a as e,Dl as t,Ja as n,Ts as r,Zs as i,nc as a,so as o}from"./model-selection-BlC_rXAN.js";import{a as s,d as c}from"./types.secrets-C-5U96pc.js";import{t as l}from"./command-format-BbDT1tlm.js";import{jt as u}from"./plugins-CYLrFT4h.js";import{h as d}from"./onboard-helpers-zwybUJWu.js";import{u as f}from"./arg-split-DE5RqDHq.js";import{f as p,n as m,t as h,u as g}from"./daemon-install-plan.shared-CfA37Ut_.js";async function _(e){let{devMode:n,nodePath:r}=await m({env:e.env,runtime:e.runtime,devMode:e.devMode,nodePath:e.nodePath}),{programArguments:i,workingDirectory:a}=await p({port:e.port,dev:n,runtime:e.runtime,nodePath:r});await h({env:e.env,runtime:e.runtime,programArguments:i,warn:e.warn,title:`Gateway runtime`});let o=g({env:e.env,port:e.port,launchdLabel:process.platform===`darwin`?f(e.env.OPENCLAW_PROFILE):void 0}),s={...t(e.config)};return Object.assign(s,o),{programArguments:i,workingDirectory:a,environment:s}}function v(e=process.platform){return e===`win32`?`Tip: rerun from an elevated PowerShell (Start → type PowerShell → right-click → Run as administrator) or skip service install.`:`Tip: rerun \`${l(`openclaw gateway install`)}\` after fixing the error.`}function y(e,n){let r=e.gateway?.auth?.mode;if(r===`token`)return!0;if(r===`password`||r===`none`||r===`trusted-proxy`||s(e.gateway?.auth?.password,e.secrets?.defaults))return!1;let i=t(e);return!(i.OPENCLAW_GATEWAY_PASSWORD?.trim()||i.CLAWDBOT_GATEWAY_PASSWORD?.trim())}function b(){return[`gateway.auth.token and gateway.auth.password are both configured while gateway.auth.mode is unset.`,`Set ${l(`openclaw config set gateway.auth.mode token`)} or ${l(`openclaw config set gateway.auth.mode password`)}.`].join(` `)}async function x(t){let s=t.config,l=[],f=c({value:s.gateway?.auth?.token,defaults:s.secrets?.defaults}).ref,p=!!f,m=f||typeof s.gateway?.auth?.token!=`string`?void 0:s.gateway.auth.token.trim()||void 0,h=t.explicitToken?.trim()||void 0,g=o(t.env);if(n(s))return{token:void 0,tokenRefConfigured:p,unavailableReason:b(),warnings:l};let _=e({authConfig:s.gateway?.auth,tailscaleMode:s.gateway?.tailscale?.mode??`off`}),v=y(s,t.env)&&!_.allowTailscale,x=h||m||(f?void 0:g),S;if(f&&!x&&v)try{let e=(await r([f],{config:s,env:t.env})).get(u(f));if(typeof e!=`string`||e.trim().length===0)throw Error(`gateway.auth.token resolved to an empty or non-string value.`);l.push(`gateway.auth.token is SecretRef-managed; install will not persist a resolved token in service environment. Ensure the SecretRef is resolvable in the daemon runtime context.`)}catch(e){S=`gateway.auth.token SecretRef is configured but unresolved (${String(e)}).`}let C=t.autoGenerateWhenMissing??!1,w=t.persistGeneratedToken??!1;if(!x&&v&&!f&&C&&(x=d(),l.push(w?`No gateway token found. Auto-generated one and saving to config.`:`No gateway token found. Auto-generated one for this run without saving to config.`),w))try{let e=await i();if(e.exists&&!e.valid)l.push(`Warning: config file exists but is invalid; skipping token persistence.`);else{let t=e.exists?e.config:{},n=c({value:t.gateway?.auth?.token,defaults:t.secrets?.defaults}).ref,r=n||typeof t.gateway?.auth?.token!=`string`?void 0:t.gateway.auth.token.trim()||void 0;!n&&!r?await a({...t,gateway:{...t.gateway,auth:{...t.gateway?.auth,mode:t.gateway?.auth?.mode??`token`,token:x}}}):r?x=r:(x=void 0,l.push(`Warning: gateway.auth.token is SecretRef-managed; skipping plaintext token persistence.`))}}catch(e){l.push(`Warning: could not persist token to config: ${String(e)}`)}return{token:x,tokenRefConfigured:p,unavailableReason:S,warnings:l}}export{_ as n,v as r,x as t};
|
|
2
|
+
//# sourceMappingURL=gateway-install-token-DiDvDPJQ.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{Si as e,xi as t}from"./model-selection-BlC_rXAN.js";import{n}from"./call-CqoMqP5b.js";import{n as r}from"./progress-LNttnI-y.js";function i(e){return e.option(`--url <url>`,`Gateway WebSocket URL (defaults to gateway.remote.url when configured)`).option(`--token <token>`,`Gateway token (if required)`).option(`--timeout <ms>`,`Timeout in ms`,`30000`).option(`--expect-final`,`Wait for final response (agent)`,!1)}async function a(i,a,o,s){let c=s?.progress??a.json!==!0;return await r({label:`Gateway ${i}`,indeterminate:!0,enabled:c},async()=>await n({url:a.url,token:a.token,method:i,params:o,expectFinal:s?.expectFinal??!!a.expectFinal,timeoutMs:Number(a.timeout??1e4),clientName:e.CLI,mode:t.CLI}))}export{a as n,i as t};
|
|
2
|
+
//# sourceMappingURL=gateway-rpc-iFvDyHYd.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{lr as e,ur as t}from"./auth-profiles-T8DuH3ax.js";import{n}from"./call-B8Fb4_oh.js";import{n as r}from"./progress-d1m2sqR1.js";function i(e){return e.option(`--url <url>`,`Gateway WebSocket URL (defaults to gateway.remote.url when configured)`).option(`--token <token>`,`Gateway token (if required)`).option(`--timeout <ms>`,`Timeout in ms`,`30000`).option(`--expect-final`,`Wait for final response (agent)`,!1)}async function a(i,a,o,s){let c=s?.progress??a.json!==!0;return await r({label:`Gateway ${i}`,indeterminate:!0,enabled:c},async()=>await n({url:a.url,token:a.token,method:i,params:o,expectFinal:s?.expectFinal??!!a.expectFinal,timeoutMs:Number(a.timeout??1e4),clientName:t.CLI,mode:e.CLI}))}export{a as n,i as t};
|
|
2
|
+
//# sourceMappingURL=gateway-rpc-tEEvY0kH.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{g as t}from"./paths-BjD3T_xq.js";import n from"node:path";import r from"node:fs";function i(e){try{if(!r.existsSync(e))return;let t=r.readFileSync(e,`utf8`);return JSON.parse(t)}catch{return}}function a(e,t){let i=n.dirname(e);r.existsSync(i)||r.mkdirSync(i,{recursive:!0,mode:448}),r.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.chmodSync(e,384)}var o=e({DEFAULT_COPILOT_API_BASE_URL:()=>d,deriveCopilotApiBaseUrlFromToken:()=>f,resolveCopilotApiToken:()=>p});const s=`https://api.github.com/copilot_internal/v2/token`;function c(e=process.env){return n.join(t(e),`credentials`,`github-copilot.token.json`)}function l(e,t=Date.now()){return e.expiresAt-t>300*1e3}function u(e){if(!e||typeof e!=`object`)throw Error(`Unexpected response from GitHub Copilot token endpoint`);let t=e,n=t.token,r=t.expires_at;if(typeof n!=`string`||n.trim().length===0)throw Error(`Copilot token response missing token`);let i;if(typeof r==`number`&&Number.isFinite(r))i=r>1e10?r:r*1e3;else if(typeof r==`string`&&r.trim().length>0){let e=Number.parseInt(r,10);if(!Number.isFinite(e))throw Error(`Copilot token response has invalid expires_at`);i=e>1e10?e:e*1e3}else throw Error(`Copilot token response missing expires_at`);return{token:n,expiresAt:i}}const d=`https://api.individual.githubcopilot.com`;function f(e){let t=e.trim();if(!t)return null;let n=t.match(/(?:^|;)\s*proxy-ep=([^;\s]+)/i)?.[1]?.trim();if(!n)return null;let r=n.replace(/^https?:\/\//,``).replace(/^proxy\./i,`api.`);return r?`https://${r}`:null}async function p(e){let t=e.env??process.env,n=e.cachePath?.trim()||c(t),r=e.loadJsonFileImpl??i,o=e.saveJsonFileImpl??a,d=r(n);if(d&&typeof d.token==`string`&&typeof d.expiresAt==`number`&&l(d))return{token:d.token,expiresAt:d.expiresAt,source:`cache:${n}`,baseUrl:f(d.token)??`https://api.individual.githubcopilot.com`};let p=await(e.fetchImpl??fetch)(s,{method:`GET`,headers:{Accept:`application/json`,Authorization:`Bearer ${e.githubToken}`}});if(!p.ok)throw Error(`Copilot token exchange failed: HTTP ${p.status}`);let m=u(await p.json()),h={token:m.token,expiresAt:m.expiresAt,updatedAt:Date.now()};return o(n,h),{token:h.token,expiresAt:h.expiresAt,source:`fetched:${s}`,baseUrl:f(h.token)??`https://api.individual.githubcopilot.com`}}export{a,i,o as n,p as r,d as t};
|
|
2
|
+
//# sourceMappingURL=github-copilot-token-C79yeDKS.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{g as t}from"./paths-B4IRk3wi.js";import n from"node:fs";import r from"node:path";function i(e){try{if(!n.existsSync(e))return;let t=n.readFileSync(e,`utf8`);return JSON.parse(t)}catch{return}}function a(e,t){let i=r.dirname(e);n.existsSync(i)||n.mkdirSync(i,{recursive:!0,mode:448}),n.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),n.chmodSync(e,384)}var o=e({DEFAULT_COPILOT_API_BASE_URL:()=>d,deriveCopilotApiBaseUrlFromToken:()=>f,resolveCopilotApiToken:()=>p});const s=`https://api.github.com/copilot_internal/v2/token`;function c(e=process.env){return r.join(t(e),`credentials`,`github-copilot.token.json`)}function l(e,t=Date.now()){return e.expiresAt-t>300*1e3}function u(e){if(!e||typeof e!=`object`)throw Error(`Unexpected response from GitHub Copilot token endpoint`);let t=e,n=t.token,r=t.expires_at;if(typeof n!=`string`||n.trim().length===0)throw Error(`Copilot token response missing token`);let i;if(typeof r==`number`&&Number.isFinite(r))i=r>1e10?r:r*1e3;else if(typeof r==`string`&&r.trim().length>0){let e=Number.parseInt(r,10);if(!Number.isFinite(e))throw Error(`Copilot token response has invalid expires_at`);i=e>1e10?e:e*1e3}else throw Error(`Copilot token response missing expires_at`);return{token:n,expiresAt:i}}const d=`https://api.individual.githubcopilot.com`;function f(e){let t=e.trim();if(!t)return null;let n=t.match(/(?:^|;)\s*proxy-ep=([^;\s]+)/i)?.[1]?.trim();if(!n)return null;let r=n.replace(/^https?:\/\//,``).replace(/^proxy\./i,`api.`);return r?`https://${r}`:null}async function p(e){let t=e.env??process.env,n=e.cachePath?.trim()||c(t),r=e.loadJsonFileImpl??i,o=e.saveJsonFileImpl??a,d=r(n);if(d&&typeof d.token==`string`&&typeof d.expiresAt==`number`&&l(d))return{token:d.token,expiresAt:d.expiresAt,source:`cache:${n}`,baseUrl:f(d.token)??`https://api.individual.githubcopilot.com`};let p=await(e.fetchImpl??fetch)(s,{method:`GET`,headers:{Accept:`application/json`,Authorization:`Bearer ${e.githubToken}`}});if(!p.ok)throw Error(`Copilot token exchange failed: HTTP ${p.status}`);let m=u(await p.json()),h={token:m.token,expiresAt:m.expiresAt,updatedAt:Date.now()};return o(n,h),{token:h.token,expiresAt:h.expiresAt,source:`fetched:${s}`,baseUrl:f(h.token)??`https://api.individual.githubcopilot.com`}}export{a,i,o as n,p as r,d as t};
|
|
2
|
+
//# sourceMappingURL=github-copilot-token-DGYAlOmV.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{c as t}from"./paths-CChBdtE8.js";import n from"node:path";import r from"node:fs";function i(e){try{if(!r.existsSync(e))return;let t=r.readFileSync(e,`utf8`);return JSON.parse(t)}catch{return}}function a(e,t){let i=n.dirname(e);r.existsSync(i)||r.mkdirSync(i,{recursive:!0,mode:448}),r.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),r.chmodSync(e,384)}var o=e({DEFAULT_COPILOT_API_BASE_URL:()=>d,deriveCopilotApiBaseUrlFromToken:()=>f,resolveCopilotApiToken:()=>p});const s=`https://api.github.com/copilot_internal/v2/token`;function c(e=process.env){return n.join(t(e),`credentials`,`github-copilot.token.json`)}function l(e,t=Date.now()){return e.expiresAt-t>300*1e3}function u(e){if(!e||typeof e!=`object`)throw Error(`Unexpected response from GitHub Copilot token endpoint`);let t=e,n=t.token,r=t.expires_at;if(typeof n!=`string`||n.trim().length===0)throw Error(`Copilot token response missing token`);let i;if(typeof r==`number`&&Number.isFinite(r))i=r>1e10?r:r*1e3;else if(typeof r==`string`&&r.trim().length>0){let e=Number.parseInt(r,10);if(!Number.isFinite(e))throw Error(`Copilot token response has invalid expires_at`);i=e>1e10?e:e*1e3}else throw Error(`Copilot token response missing expires_at`);return{token:n,expiresAt:i}}const d=`https://api.individual.githubcopilot.com`;function f(e){let t=e.trim();if(!t)return null;let n=t.match(/(?:^|;)\s*proxy-ep=([^;\s]+)/i)?.[1]?.trim();if(!n)return null;let r=n.replace(/^https?:\/\//,``).replace(/^proxy\./i,`api.`);return r?`https://${r}`:null}async function p(e){let t=e.env??process.env,n=e.cachePath?.trim()||c(t),r=e.loadJsonFileImpl??i,o=e.saveJsonFileImpl??a,d=r(n);if(d&&typeof d.token==`string`&&typeof d.expiresAt==`number`&&l(d))return{token:d.token,expiresAt:d.expiresAt,source:`cache:${n}`,baseUrl:f(d.token)??`https://api.individual.githubcopilot.com`};let p=await(e.fetchImpl??fetch)(s,{method:`GET`,headers:{Accept:`application/json`,Authorization:`Bearer ${e.githubToken}`}});if(!p.ok)throw Error(`Copilot token exchange failed: HTTP ${p.status}`);let m=u(await p.json()),h={token:m.token,expiresAt:m.expiresAt,updatedAt:Date.now()};return o(n,h),{token:h.token,expiresAt:h.expiresAt,source:`fetched:${s}`,baseUrl:f(h.token)??`https://api.individual.githubcopilot.com`}}export{a,i,o as n,p as r,d as t};
|
|
2
|
+
//# sourceMappingURL=github-copilot-token-DePP-lIf.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{c as t}from"./paths-BpQOWYiT.js";import n from"node:fs";import r from"node:path";function i(e){try{if(!n.existsSync(e))return;let t=n.readFileSync(e,`utf8`);return JSON.parse(t)}catch{return}}function a(e,t){let i=r.dirname(e);n.existsSync(i)||n.mkdirSync(i,{recursive:!0,mode:448}),n.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`,`utf8`),n.chmodSync(e,384)}var o=e({DEFAULT_COPILOT_API_BASE_URL:()=>d,deriveCopilotApiBaseUrlFromToken:()=>f,resolveCopilotApiToken:()=>p});const s=`https://api.github.com/copilot_internal/v2/token`;function c(e=process.env){return r.join(t(e),`credentials`,`github-copilot.token.json`)}function l(e,t=Date.now()){return e.expiresAt-t>300*1e3}function u(e){if(!e||typeof e!=`object`)throw Error(`Unexpected response from GitHub Copilot token endpoint`);let t=e,n=t.token,r=t.expires_at;if(typeof n!=`string`||n.trim().length===0)throw Error(`Copilot token response missing token`);let i;if(typeof r==`number`&&Number.isFinite(r))i=r>1e10?r:r*1e3;else if(typeof r==`string`&&r.trim().length>0){let e=Number.parseInt(r,10);if(!Number.isFinite(e))throw Error(`Copilot token response has invalid expires_at`);i=e>1e10?e:e*1e3}else throw Error(`Copilot token response missing expires_at`);return{token:n,expiresAt:i}}const d=`https://api.individual.githubcopilot.com`;function f(e){let t=e.trim();if(!t)return null;let n=t.match(/(?:^|;)\s*proxy-ep=([^;\s]+)/i)?.[1]?.trim();if(!n)return null;let r=n.replace(/^https?:\/\//,``).replace(/^proxy\./i,`api.`);return r?`https://${r}`:null}async function p(e){let t=e.env??process.env,n=e.cachePath?.trim()||c(t),r=e.loadJsonFileImpl??i,o=e.saveJsonFileImpl??a,d=r(n);if(d&&typeof d.token==`string`&&typeof d.expiresAt==`number`&&l(d))return{token:d.token,expiresAt:d.expiresAt,source:`cache:${n}`,baseUrl:f(d.token)??`https://api.individual.githubcopilot.com`};let p=await(e.fetchImpl??fetch)(s,{method:`GET`,headers:{Accept:`application/json`,Authorization:`Bearer ${e.githubToken}`}});if(!p.ok)throw Error(`Copilot token exchange failed: HTTP ${p.status}`);let m=u(await p.json()),h={token:m.token,expiresAt:m.expiresAt,updatedAt:Date.now()};return o(n,h),{token:h.token,expiresAt:h.expiresAt,source:`fetched:${s}`,baseUrl:f(h.token)??`https://api.individual.githubcopilot.com`}}export{a,i,o as n,p as r,d as t};
|
|
2
|
+
//# sourceMappingURL=github-copilot-token-wm6mbypz.js.map
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import{n as e,u as t}from"./paths-BjD3T_xq.js";import{v as n}from"./utils-CGdo13HV.js";import{f as r}from"./frontmatter-C7mzDNxd.js";import{t as i}from"./exec-B3eleY5O.js";import a from"node:path";import o from"node:fs";import{randomBytes as s}from"node:crypto";const c=`INBOX`,l=`gog-gmail-watch`,u=`gog-gmail-watch-push`,d=`127.0.0.1`,f=8788,p=`/gmail-pubsub`,m=2e4;function h(e=24){return s(e).toString(`hex`)}function g(e,t){let n=new Set((e??[]).map(e=>e.trim()).filter(Boolean));return n.add(t),Array.from(n)}function _(e){let t=e?.trim()||`/hooks`;return t===`/`?`/hooks`:(t.startsWith(`/`)?t:`/${t}`).replace(/\/+$/,``)}function v(e){let t=e?.trim()||`/gmail-pubsub`;return t===`/`?`/`:(t.startsWith(`/`)?t:`/${t}`).replace(/\/+$/,``)}function y(t,n=e){let r=_(t);return T(`http://127.0.0.1:${n}`,`${r}/gmail`)}function b(e,n){let r=e.hooks,i=r?.gmail,a=n.hookToken??r?.token??``;if(!a)return{ok:!1,error:`hooks.token missing (needed for gmail hook)`};let o=n.account??i?.account??``;if(!o)return{ok:!1,error:`gmail account required`};let s=n.topic??i?.topic??``;if(!s)return{ok:!1,error:`gmail topic required`};let c=n.subscription??i?.subscription??`gog-gmail-watch-push`,l=n.pushToken??i?.pushToken??``;if(!l)return{ok:!1,error:`gmail push token required`};let u=n.hookUrl??i?.hookUrl??y(r?.path,t(e)),d=n.includeBody??i?.includeBody??!0,h=n.maxBytes??i?.maxBytes,g=typeof h==`number`&&Number.isFinite(h)&&h>0?Math.floor(h):m,_=n.renewEveryMinutes??i?.renewEveryMinutes,b=typeof _==`number`&&Number.isFinite(_)&&_>0?Math.floor(_):720,x=n.serveBind??i?.serve?.bind??`127.0.0.1`,S=n.servePort??i?.serve?.port,C=typeof S==`number`&&Number.isFinite(S)&&S>0?Math.floor(S):f,w=n.servePath??i?.serve?.path,T=typeof w==`string`&&w.trim().length>0?v(w):p,E=n.tailscaleTarget??i?.tailscale?.target,D=n.tailscaleMode??i?.tailscale?.mode??`off`,O=D!==`off`&&typeof E==`string`&&E.trim().length>0?E.trim():void 0,k=v(D!==`off`&&!O?`/`:T),A=n.tailscalePath??i?.tailscale?.path,j=v(D===`off`?A??k:A??T);return{ok:!0,value:{account:o,label:n.label??i?.label??`INBOX`,topic:s,subscription:c,pushToken:l,hookToken:a,hookUrl:u,includeBody:d,maxBytes:g,renewEveryMinutes:b,serve:{bind:x,port:C,path:k},tailscale:{mode:D,path:j,target:O}}}}function x(e){return[`gmail`,`watch`,`start`,`--account`,e.account,`--label`,e.label,`--topic`,e.topic]}function S(e){let t=[`gmail`,`watch`,`serve`,`--account`,e.account,`--bind`,e.serve.bind,`--port`,String(e.serve.port),`--path`,e.serve.path,`--token`,e.pushToken,`--hook-url`,e.hookUrl,`--hook-token`,e.hookToken];return e.includeBody&&t.push(`--include-body`),e.maxBytes>0&&t.push(`--max-bytes`,String(e.maxBytes)),t}function C(e,t){return`projects/${e}/topics/${t}`}function w(e){let t=e.trim().match(/^projects\/([^/]+)\/topics\/([^/]+)$/i);return t?{projectId:t[1]??``,topicName:t[2]??``}:null}function T(e,t){let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/+$/,``)}${t.startsWith(`/`)?t:`/${t}`}`,n.toString()}let E;function D(e){let t=e.trim();return t?t.length<=800?t:`${t.slice(0,800)}…`:``}function O(e,t,n){let r=t.code??`null`,i=t.signal?`, signal=${t.signal}`:``,a=t.killed?`, killed=true`:``,o=D(t.stderr),s=D(t.stdout),c=[`${e} ${n} (code=${r}${i}${a})`];return o&&c.push(`stderr: ${o}`),s&&c.push(`stdout: ${s}`),c.join(`
|
|
2
2
|
`)}function k(e,t){return O(e,t,`failed`)}function A(e,t){return O(e,t,`exited`)}function j(e,t,n){return`${e} returned invalid JSON: ${n instanceof Error?n.message:String(n)}\n${A(e,t)}`}function M(e,t){return[e,...t].join(` `)}function N(e){let t=(process.env.PATH??``).split(a.delimiter).filter(Boolean),n=new Set,r=[];for(let i of t)for(let t of e){let e=a.join(i,t);if(!n.has(e))try{o.accessSync(e,o.constants.X_OK),r.push(e),n.add(e)}catch{}}return r}function P(e,t){let n=(process.env.PATH??``).split(a.delimiter).filter(Boolean);if(n.includes(e))return;let r=t===`prepend`?[e,...n]:[...n,e];process.env.PATH=r.join(a.delimiter)}function F(){if(r(`gcloud`))return!0;for(let e of[`/opt/homebrew/share/google-cloud-sdk/bin/gcloud`,`/usr/local/share/google-cloud-sdk/bin/gcloud`,`/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/gcloud`,`/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/gcloud`])try{return o.accessSync(e,o.constants.X_OK),P(a.dirname(e),`append`),!0}catch{}return!1}async function I(){if(E!==void 0)return E??void 0;let e=N([`python3`,`python`]);for(let t of e){let e=await i([t,`-c`,`import os, sys; print(os.path.realpath(sys.executable))`],{timeoutMs:2e3});if(e.code!==0)continue;let n=e.stdout.trim().split(/\s+/)[0];if(n)try{return o.accessSync(n,o.constants.X_OK),E=n,n}catch{}}E=null}async function L(){if(process.env.CLOUDSDK_PYTHON)return;let e=await I();if(e)return{CLOUDSDK_PYTHON:e}}async function R(e,t){return await i([`gcloud`,...e],{timeoutMs:t,env:await L()})}async function z(e,t){if(e===`gcloud`&&F()||r(e))return;if(process.platform!==`darwin`)throw Error(`${e} not installed; install it and retry`);if(!r(`brew`))throw Error(`Homebrew not installed (install brew and retry)`);let n=e===`gcloud`?await L():void 0,a=await i([`brew`,`install`,...t],{timeoutMs:6e5,env:n});if(a.code!==0)throw Error(`brew install failed for ${e}: ${a.stderr||a.stdout}`);if(!r(e))throw Error(`${e} still not available after brew install`)}async function B(){let e=await R([`auth`,`list`,`--filter`,`status:ACTIVE`,`--format`,`value(account)`],3e4);if(e.code===0&&e.stdout.trim())return;let t=await R([`auth`,`login`],6e5);if(t.code!==0)throw Error(t.stderr||`gcloud auth login failed`)}async function V(e){let t=await R(e,12e4);if(t.code!==0)throw Error(t.stderr||t.stdout||`gcloud command failed`);return t}async function H(e,t){(await R([`pubsub`,`topics`,`describe`,t,`--project`,e],3e4)).code!==0&&await V([`pubsub`,`topics`,`create`,t,`--project`,e])}async function U(e,t,n,r){if((await R([`pubsub`,`subscriptions`,`describe`,t,`--project`,e],3e4)).code===0){await V([`pubsub`,`subscriptions`,`update`,t,`--project`,e,`--push-endpoint`,r]);return}await V([`pubsub`,`subscriptions`,`create`,t,`--project`,e,`--topic`,n,`--push-endpoint`,r])}async function W(e){if(e.mode===`off`)return``;let t=[`status`,`--json`],n=M(`tailscale`,t),r=await i([`tailscale`,...t],{timeoutMs:3e4});if(r.code!==0)throw Error(k(n,r));let a;try{a=JSON.parse(r.stdout)}catch(e){throw Error(j(n,r,e),{cause:e})}let o=a.Self?.DNSName?.replace(/\.$/,``);if(!o)throw Error(`tailscale DNS name missing; run tailscale up`);let s=typeof e.target==`string`&&e.target.trim().length>0?e.target.trim():e.port?String(e.port):``;if(!s)throw Error(`tailscale target missing; set a port or target URL`);let c=v(e.path),l=[e.mode,`--bg`,`--set-path`,c,`--yes`,s],u=M(`tailscale`,l),d=await i([`tailscale`,...l],{timeoutMs:3e4});if(d.code!==0)throw Error(k(u,d));let f=`https://${o}${c}`;return e.token?`${f}?token=${e.token}`:f}async function G(){let e=K();for(let t of e)if(o.existsSync(t))try{let e=o.readFileSync(t,`utf-8`),n=J(q(JSON.parse(e)));if(!n)continue;let r=await R([`projects`,`list`,`--filter`,`projectNumber=${n}`,`--format`,`value(projectId)`],3e4);if(r.code!==0)continue;let i=r.stdout.trim().split(/\s+/)[0];if(i)return i}catch{}return null}function K(){let e=[],t=process.env.XDG_CONFIG_HOME;return t&&e.push(a.join(t,`gogcli`,`credentials.json`)),e.push(n(`~/.config/gogcli/credentials.json`)),process.platform===`darwin`&&e.push(n(`~/Library/Application Support/gogcli/credentials.json`)),e}function q(e){let t=e.installed,n=e.web,r=t?.client_id||n?.client_id||e.client_id||``;return typeof r==`string`?r:null}function J(e){return e?e.match(/^(\d+)-/)?.[1]??null:null}export{w as C,v as S,x as _,H as a,g as b,c,p as d,f,S as g,y as h,W as i,m as l,l as m,B as n,G as o,u as p,U as r,V as s,z as t,d as u,C as v,b as w,_ as x,h as y};
|
|
3
|
+
//# sourceMappingURL=gmail-setup-utils-CYOH3zzx.js.map
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import{n as e,u as t}from"./paths-B4IRk3wi.js";import{y as n}from"./utils-UGOV_184.js";import{f as r}from"./frontmatter-BkZkwkVO.js";import{t as i}from"./exec-DHqLtFYt.js";import a from"node:fs";import o from"node:path";import{randomBytes as s}from"node:crypto";const c=`INBOX`,l=`gog-gmail-watch`,u=`gog-gmail-watch-push`,d=`127.0.0.1`,f=8788,p=`/gmail-pubsub`,m=2e4;function h(e=24){return s(e).toString(`hex`)}function g(e,t){let n=new Set((e??[]).map(e=>e.trim()).filter(Boolean));return n.add(t),Array.from(n)}function _(e){let t=e?.trim()||`/hooks`;return t===`/`?`/hooks`:(t.startsWith(`/`)?t:`/${t}`).replace(/\/+$/,``)}function v(e){let t=e?.trim()||`/gmail-pubsub`;return t===`/`?`/`:(t.startsWith(`/`)?t:`/${t}`).replace(/\/+$/,``)}function y(t,n=e){let r=_(t);return T(`http://127.0.0.1:${n}`,`${r}/gmail`)}function b(e,n){let r=e.hooks,i=r?.gmail,a=n.hookToken??r?.token??``;if(!a)return{ok:!1,error:`hooks.token missing (needed for gmail hook)`};let o=n.account??i?.account??``;if(!o)return{ok:!1,error:`gmail account required`};let s=n.topic??i?.topic??``;if(!s)return{ok:!1,error:`gmail topic required`};let c=n.subscription??i?.subscription??`gog-gmail-watch-push`,l=n.pushToken??i?.pushToken??``;if(!l)return{ok:!1,error:`gmail push token required`};let u=n.hookUrl??i?.hookUrl??y(r?.path,t(e)),d=n.includeBody??i?.includeBody??!0,h=n.maxBytes??i?.maxBytes,g=typeof h==`number`&&Number.isFinite(h)&&h>0?Math.floor(h):m,_=n.renewEveryMinutes??i?.renewEveryMinutes,b=typeof _==`number`&&Number.isFinite(_)&&_>0?Math.floor(_):720,x=n.serveBind??i?.serve?.bind??`127.0.0.1`,S=n.servePort??i?.serve?.port,C=typeof S==`number`&&Number.isFinite(S)&&S>0?Math.floor(S):f,w=n.servePath??i?.serve?.path,T=typeof w==`string`&&w.trim().length>0?v(w):p,E=n.tailscaleTarget??i?.tailscale?.target,D=n.tailscaleMode??i?.tailscale?.mode??`off`,O=D!==`off`&&typeof E==`string`&&E.trim().length>0?E.trim():void 0,k=v(D!==`off`&&!O?`/`:T),A=n.tailscalePath??i?.tailscale?.path,j=v(D===`off`?A??k:A??T);return{ok:!0,value:{account:o,label:n.label??i?.label??`INBOX`,topic:s,subscription:c,pushToken:l,hookToken:a,hookUrl:u,includeBody:d,maxBytes:g,renewEveryMinutes:b,serve:{bind:x,port:C,path:k},tailscale:{mode:D,path:j,target:O}}}}function x(e){return[`gmail`,`watch`,`start`,`--account`,e.account,`--label`,e.label,`--topic`,e.topic]}function S(e){let t=[`gmail`,`watch`,`serve`,`--account`,e.account,`--bind`,e.serve.bind,`--port`,String(e.serve.port),`--path`,e.serve.path,`--token`,e.pushToken,`--hook-url`,e.hookUrl,`--hook-token`,e.hookToken];return e.includeBody&&t.push(`--include-body`),e.maxBytes>0&&t.push(`--max-bytes`,String(e.maxBytes)),t}function C(e,t){return`projects/${e}/topics/${t}`}function w(e){let t=e.trim().match(/^projects\/([^/]+)\/topics\/([^/]+)$/i);return t?{projectId:t[1]??``,topicName:t[2]??``}:null}function T(e,t){let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/+$/,``)}${t.startsWith(`/`)?t:`/${t}`}`,n.toString()}let E;function D(e){let t=e.trim();return t?t.length<=800?t:`${t.slice(0,800)}…`:``}function O(e,t,n){let r=t.code??`null`,i=t.signal?`, signal=${t.signal}`:``,a=t.killed?`, killed=true`:``,o=D(t.stderr),s=D(t.stdout),c=[`${e} ${n} (code=${r}${i}${a})`];return o&&c.push(`stderr: ${o}`),s&&c.push(`stdout: ${s}`),c.join(`
|
|
2
2
|
`)}function k(e,t){return O(e,t,`failed`)}function A(e,t){return O(e,t,`exited`)}function j(e,t,n){return`${e} returned invalid JSON: ${n instanceof Error?n.message:String(n)}\n${A(e,t)}`}function M(e,t){return[e,...t].join(` `)}function N(e){let t=(process.env.PATH??``).split(o.delimiter).filter(Boolean),n=new Set,r=[];for(let i of t)for(let t of e){let e=o.join(i,t);if(!n.has(e))try{a.accessSync(e,a.constants.X_OK),r.push(e),n.add(e)}catch{}}return r}function P(e,t){let n=(process.env.PATH??``).split(o.delimiter).filter(Boolean);if(n.includes(e))return;let r=t===`prepend`?[e,...n]:[...n,e];process.env.PATH=r.join(o.delimiter)}function F(){if(r(`gcloud`))return!0;for(let e of[`/opt/homebrew/share/google-cloud-sdk/bin/gcloud`,`/usr/local/share/google-cloud-sdk/bin/gcloud`,`/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/gcloud`,`/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/gcloud`])try{return a.accessSync(e,a.constants.X_OK),P(o.dirname(e),`append`),!0}catch{}return!1}async function I(){if(E!==void 0)return E??void 0;let e=N([`python3`,`python`]);for(let t of e){let e=await i([t,`-c`,`import os, sys; print(os.path.realpath(sys.executable))`],{timeoutMs:2e3});if(e.code!==0)continue;let n=e.stdout.trim().split(/\s+/)[0];if(n)try{return a.accessSync(n,a.constants.X_OK),E=n,n}catch{}}E=null}async function L(){if(process.env.CLOUDSDK_PYTHON)return;let e=await I();if(e)return{CLOUDSDK_PYTHON:e}}async function R(e,t){return await i([`gcloud`,...e],{timeoutMs:t,env:await L()})}async function z(e,t){if(e===`gcloud`&&F()||r(e))return;if(process.platform!==`darwin`)throw Error(`${e} not installed; install it and retry`);if(!r(`brew`))throw Error(`Homebrew not installed (install brew and retry)`);let n=e===`gcloud`?await L():void 0,a=await i([`brew`,`install`,...t],{timeoutMs:6e5,env:n});if(a.code!==0)throw Error(`brew install failed for ${e}: ${a.stderr||a.stdout}`);if(!r(e))throw Error(`${e} still not available after brew install`)}async function B(){let e=await R([`auth`,`list`,`--filter`,`status:ACTIVE`,`--format`,`value(account)`],3e4);if(e.code===0&&e.stdout.trim())return;let t=await R([`auth`,`login`],6e5);if(t.code!==0)throw Error(t.stderr||`gcloud auth login failed`)}async function V(e){let t=await R(e,12e4);if(t.code!==0)throw Error(t.stderr||t.stdout||`gcloud command failed`);return t}async function H(e,t){(await R([`pubsub`,`topics`,`describe`,t,`--project`,e],3e4)).code!==0&&await V([`pubsub`,`topics`,`create`,t,`--project`,e])}async function U(e,t,n,r){if((await R([`pubsub`,`subscriptions`,`describe`,t,`--project`,e],3e4)).code===0){await V([`pubsub`,`subscriptions`,`update`,t,`--project`,e,`--push-endpoint`,r]);return}await V([`pubsub`,`subscriptions`,`create`,t,`--project`,e,`--topic`,n,`--push-endpoint`,r])}async function W(e){if(e.mode===`off`)return``;let t=[`status`,`--json`],n=M(`tailscale`,t),r=await i([`tailscale`,...t],{timeoutMs:3e4});if(r.code!==0)throw Error(k(n,r));let a;try{a=JSON.parse(r.stdout)}catch(e){throw Error(j(n,r,e),{cause:e})}let o=a.Self?.DNSName?.replace(/\.$/,``);if(!o)throw Error(`tailscale DNS name missing; run tailscale up`);let s=typeof e.target==`string`&&e.target.trim().length>0?e.target.trim():e.port?String(e.port):``;if(!s)throw Error(`tailscale target missing; set a port or target URL`);let c=v(e.path),l=[e.mode,`--bg`,`--set-path`,c,`--yes`,s],u=M(`tailscale`,l),d=await i([`tailscale`,...l],{timeoutMs:3e4});if(d.code!==0)throw Error(k(u,d));let f=`https://${o}${c}`;return e.token?`${f}?token=${e.token}`:f}async function G(){let e=K();for(let t of e)if(a.existsSync(t))try{let e=a.readFileSync(t,`utf-8`),n=J(q(JSON.parse(e)));if(!n)continue;let r=await R([`projects`,`list`,`--filter`,`projectNumber=${n}`,`--format`,`value(projectId)`],3e4);if(r.code!==0)continue;let i=r.stdout.trim().split(/\s+/)[0];if(i)return i}catch{}return null}function K(){let e=[],t=process.env.XDG_CONFIG_HOME;return t&&e.push(o.join(t,`gogcli`,`credentials.json`)),e.push(n(`~/.config/gogcli/credentials.json`)),process.platform===`darwin`&&e.push(n(`~/Library/Application Support/gogcli/credentials.json`)),e}function q(e){let t=e.installed,n=e.web,r=t?.client_id||n?.client_id||e.client_id||``;return typeof r==`string`?r:null}function J(e){return e?e.match(/^(\d+)-/)?.[1]??null:null}export{w as C,v as S,x as _,H as a,g as b,c,p as d,f,S as g,y as h,W as i,m as l,l as m,B as n,G as o,u as p,U as r,V as s,z as t,d as u,C as v,b as w,_ as x,h as y};
|
|
3
|
+
//# sourceMappingURL=gmail-setup-utils-S-MyEGuj.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
function e(e){let t=e.configuredFallbackPolicy??`open`,n=e.missingProviderFallbackPolicy??`allowlist`;return{groupPolicy:e.providerConfigPresent?e.groupPolicy??e.defaultGroupPolicy??t:e.groupPolicy??n,providerMissingFallbackApplied:!e.providerConfigPresent&&e.groupPolicy===void 0}}function t(e){return e.channels?.defaults?.groupPolicy}const n={group:`group messages`,guild:`guild messages`,room:`room messages`,channel:`channel messages`,space:`space messages`};function r(t){return e({providerConfigPresent:t.providerConfigPresent,groupPolicy:t.groupPolicy,defaultGroupPolicy:t.defaultGroupPolicy,configuredFallbackPolicy:`open`,missingProviderFallbackPolicy:`allowlist`})}function i(t){return e({providerConfigPresent:t.providerConfigPresent,groupPolicy:t.groupPolicy,defaultGroupPolicy:t.defaultGroupPolicy,configuredFallbackPolicy:`allowlist`,missingProviderFallbackPolicy:`allowlist`})}const a=new Set;function o(e){if(!e.providerMissingFallbackApplied)return!1;let t=`${e.providerKey}:${e.accountId??`*`}`;if(a.has(t))return!1;a.add(t);let n=e.blockedLabel?.trim()||`group messages`;return e.log(`${e.providerKey}: channels.${e.providerKey} is missing; defaulting groupPolicy to "allowlist" (${n} blocked until explicitly configured).`),!0}function s(e){if(e.groupPolicy===`disabled`)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`disabled`};if(e.routeMatched&&e.routeEnabled===!1)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`route_disabled`};if(e.groupPolicy===`allowlist`){if(!e.routeAllowlistConfigured)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`empty_allowlist`};if(!e.routeMatched)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`route_not_allowlisted`}}return{allowed:!0,groupPolicy:e.groupPolicy,reason:`allowed`}}function c(e){if(e.groupPolicy===`disabled`)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`disabled`};if(e.groupPolicy===`allowlist`){if(e.requireMatchInput&&!e.hasMatchInput)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`missing_match_input`};if(!e.allowlistConfigured)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`empty_allowlist`};if(!e.allowlistMatched)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`not_allowlisted`}}return{allowed:!0,groupPolicy:e.groupPolicy,reason:`allowed`}}export{t as a,i,c as n,r as o,n as r,o as s,s as t};
|
|
2
|
+
//# sourceMappingURL=group-access-BHKVOhrj.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
function e(e){let t=e.configuredFallbackPolicy??`open`,n=e.missingProviderFallbackPolicy??`allowlist`;return{groupPolicy:e.providerConfigPresent?e.groupPolicy??e.defaultGroupPolicy??t:e.groupPolicy??n,providerMissingFallbackApplied:!e.providerConfigPresent&&e.groupPolicy===void 0}}function t(e){return e.channels?.defaults?.groupPolicy}const n={group:`group messages`,guild:`guild messages`,room:`room messages`,channel:`channel messages`,space:`space messages`};function r(t){return e({providerConfigPresent:t.providerConfigPresent,groupPolicy:t.groupPolicy,defaultGroupPolicy:t.defaultGroupPolicy,configuredFallbackPolicy:`open`,missingProviderFallbackPolicy:`allowlist`})}function i(t){return e({providerConfigPresent:t.providerConfigPresent,groupPolicy:t.groupPolicy,defaultGroupPolicy:t.defaultGroupPolicy,configuredFallbackPolicy:`allowlist`,missingProviderFallbackPolicy:`allowlist`})}const a=new Set;function o(e){if(!e.providerMissingFallbackApplied)return!1;let t=`${e.providerKey}:${e.accountId??`*`}`;if(a.has(t))return!1;a.add(t);let n=e.blockedLabel?.trim()||`group messages`;return e.log(`${e.providerKey}: channels.${e.providerKey} is missing; defaulting groupPolicy to "allowlist" (${n} blocked until explicitly configured).`),!0}function s(e){if(e.groupPolicy===`disabled`)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`disabled`};if(e.routeMatched&&e.routeEnabled===!1)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`route_disabled`};if(e.groupPolicy===`allowlist`){if(!e.routeAllowlistConfigured)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`empty_allowlist`};if(!e.routeMatched)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`route_not_allowlisted`}}return{allowed:!0,groupPolicy:e.groupPolicy,reason:`allowed`}}function c(e){if(e.groupPolicy===`disabled`)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`disabled`};if(e.groupPolicy===`allowlist`){if(e.requireMatchInput&&!e.hasMatchInput)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`missing_match_input`};if(!e.allowlistConfigured)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`empty_allowlist`};if(!e.allowlistMatched)return{allowed:!1,groupPolicy:e.groupPolicy,reason:`not_allowlisted`}}return{allowed:!0,groupPolicy:e.groupPolicy,reason:`allowed`}}export{t as a,i,c as n,r as o,n as r,o as s,s as t};
|
|
2
|
+
//# sourceMappingURL=group-access-D2DOYMfr.js.map
|
package/dist/health-BgOggK9k.js
CHANGED
|
@@ -10,3 +10,4 @@ Please relay this reminder to the user in a helpful and friendly way.`:`A schedu
|
|
|
10
10
|
Handle this reminder internally. Do not relay it to the user unless explicitly requested.`:n?`A scheduled cron event was triggered, but no event content was found. Reply HEARTBEAT_OK.`:`A scheduled cron event was triggered, but no event content was found. Handle this internally and reply HEARTBEAT_OK when nothing needs user-facing follow-up.`}function be(e){return e?.deliverToUser??!0?`An async command you ran earlier has completed. The result is shown in the system messages above. Please relay the command output to the user in a helpful way. If the command succeeded, share the relevant output. If it failed, explain what went wrong.`:`An async command you ran earlier has completed. The result is shown in the system messages above. Handle the result internally. Do not relay it to the user unless explicitly requested.`}const xe=H.toLowerCase();function Se(e){let t=e.trim();if(!t)return!1;let n=t.toLowerCase();if(!n.startsWith(xe))return!1;let r=n.slice(xe.length);return r.length===0?!0:!/[a-z0-9_]/.test(r[0])}function Ce(e){let t=e.trim().toLowerCase();return t?Se(t)||t.includes(`heartbeat poll`)||t.includes(`heartbeat wake`):!1}function we(e){return e.toLowerCase().includes(`exec finished`)}function Te(e){return e.trim()?!Ce(e)&&!we(e):!1}const q=i(`gateway/heartbeat`),Ee=`none`;function De(e){return(e.agents?.list??[]).some(e=>!!e?.heartbeat)}function Oe(e,t){let n=N(t??j(e)),r=e.agents?.list??[];return De(e)?r.some(e=>!!e?.heartbeat&&N(e?.id)===n):n===j(e)}function J(e,t){let n=e.agents?.defaults?.heartbeat;if(!t)return n;let r=M(e,t)?.heartbeat;return!n&&!r?r:{...n,...r}}function ke(e,t){let n=e.agents?.defaults?.heartbeat,r=t?M(e,t)?.heartbeat:void 0;if(!Oe(e,t))return{enabled:!1,every:`disabled`,everyMs:null,prompt:E(n?.prompt),target:n?.target??Ee,model:n?.model,ackMaxChars:Math.max(0,n?.ackMaxChars??300)};let i=n||r?{...n,...r}:void 0;return{enabled:!0,every:i?.every??n?.every??r?.every??`30m`,everyMs:Y(e,void 0,i),prompt:E(i?.prompt??n?.prompt??r?.prompt),target:i?.target??n?.target??r?.target??Ee,model:i?.model??n?.model??r?.model,ackMaxChars:Math.max(0,i?.ackMaxChars??n?.ackMaxChars??r?.ackMaxChars??300)}}function Ae(e){let t=e.agents?.list??[];if(De(e))return t.filter(e=>e?.heartbeat).map(t=>{let n=N(t.id);return{agentId:n,heartbeat:J(e,n)}}).filter(e=>e.agentId);let n=j(e);return[{agentId:n,heartbeat:J(e,n)}]}function Y(e,t,n){let r=t??n?.every??e.agents?.defaults?.heartbeat?.every??`30m`;if(!r)return null;let i=String(r).trim();if(!i)return null;let a;try{a=m(i,{defaultUnit:`m`})}catch{return null}return a<=0?null:a}function je(e,t){return E(t?.prompt??e.agents?.defaults?.heartbeat?.prompt)}function Me(e,t){return Math.max(0,t?.ackMaxChars??e.agents?.defaults?.heartbeat?.ackMaxChars??300)}function Ne(e,t,n,r){let i=e.session,a=i?.scope??`per-sender`,o=N(t??j(e)),c=a===`global`?`global`:d({cfg:e,agentId:o}),l=a===`global`?j(e):o,f=V(i?.store,{agentId:l}),p=s(f),m=p[c];if(a===`global`)return{sessionKey:c,storePath:f,store:p,entry:m};let h=r?.trim();if(h){let t=u({cfg:e,agentId:o,sessionKey:P({agentId:o,requestKey:h,mainKey:e.session?.mainKey})});if(t!==`global`&&F(t)===N(o))return{sessionKey:t,storePath:f,store:p,entry:p[t]}}let g=n?.session?.trim()??``;if(!g)return{sessionKey:c,storePath:f,store:p,entry:m};let _=g.toLowerCase();if(_===`main`||_===`global`)return{sessionKey:c,storePath:f,store:p,entry:m};let v=u({cfg:e,agentId:o,sessionKey:P({agentId:o,requestKey:g,mainKey:e.session?.mainKey})});return v!==`global`&&F(v)===N(o)?{sessionKey:v,storePath:f,store:p,entry:p[v]}:{sessionKey:c,storePath:f,store:p,entry:m}}function Pe(e){return(Array.isArray(e)?e:e?[e]:[]).filter(e=>(typeof e.text==`string`?e.text:``).trimStart().startsWith(`Reasoning:`))}async function X(e){let{storePath:t,sessionKey:n,updatedAt:r}=e;if(typeof r!=`number`)return;let i=s(t)[n];if(!i)return;let a=Math.max(i.updatedAt??0,r);i.updatedAt!==a&&await c(t,e=>{let t=e[n]??i;if(!t)return;let a=Math.max(t.updatedAt??0,r);t.updatedAt!==a&&(e[n]={...t,updatedAt:a})})}async function Z(e){let{transcriptPath:t,preHeartbeatSize:n}=e;if(!(!t||typeof n!=`number`||n<0))try{(await K.stat(t)).size>n&&await K.truncate(t,n)}catch{}}async function Fe(e){let{storePath:t,sessionKey:n,agentId:r}=e;try{let e=s(t)[n];if(!e?.sessionId)return{};let i=se(e.sessionId,e,{agentId:r,sessionsDir:G.dirname(t)});return{transcriptPath:i,preHeartbeatSize:(await K.stat(i)).size}}catch{return{}}}function Ie(e,t){let n=t?.trim();if(!n)return e;let r=RegExp(`^${o(n)}(?=$|\\s|[\\p{P}\\p{S}])\\s*`,`iu`);return e.replace(r,``)}function Le(e,t,n){let r=O(Ie(typeof e.text==`string`?e.text:``,t),{mode:`heartbeat`,maxAckChars:n}),i=!!(e.mediaUrl||(e.mediaUrls?.length??0)>0);if(r.shouldSkip&&!i)return{shouldSkip:!0,text:``,hasMedia:i};let a=r.text;return t&&a&&!a.startsWith(t)&&(a=`${t} ${a}`),{shouldSkip:!1,text:a,hasMedia:i}}function Re(e){let t=x(e);return{isExecEventReason:t===`exec-event`,isCronEventReason:t===`cron`,isWakeReason:t===`wake`||t===`hook`}}async function ze(e){let t=Re(e.reason),n=Ne(e.cfg,e.agentId,e.heartbeat,e.forcedSessionKey),r=A(n.sessionKey),i=r.some(e=>e.contextKey?.startsWith(`cron:`)),a=t.isExecEventReason||t.isCronEventReason||i,o=t.isExecEventReason||t.isCronEventReason||t.isWakeReason||i,s={...t,session:n,pendingEventEntries:r,hasTaggedCronEvents:i,shouldInspectPendingEvents:a};if(o)return s;let c=ne(e.cfg,e.agentId),l=G.join(c,te);try{if(S(await K.readFile(l,`utf-8`)))return{...s,skipReason:`empty-heartbeat-file`}}catch(e){if(oe(e,`ENOENT`))return s}return s}function Be(e,t){if(!/heartbeat\.md/i.test(e))return e;let n=`When reading HEARTBEAT.md, use workspace file ${G.join(t,te).replace(/\\/g,`/`)} (exact case). Do not read docs/heartbeat.md.`;return e.includes(n)?e:`${e}\n${n}`}function Ve(e){let t=e.preflight.pendingEventEntries,n=e.preflight.shouldInspectPendingEvents?t.map(e=>e.text):[],r=t.filter(t=>(e.preflight.isCronEventReason||t.contextKey?.startsWith(`cron:`))&&Te(t.text)).map(e=>e.text),i=n.some(we),a=r.length>0;return{prompt:Be(i?be({deliverToUser:e.canRelayToUser}):a?ye(r,{deliverToUser:e.canRelayToUser}):je(e.cfg,e.heartbeat),e.workspaceDir),hasExecCompletion:i,hasCronEvents:a}}async function He(e){let t=e.cfg??p(),n=typeof e.agentId==`string`?e.agentId.trim():``,r=n.length>0?void 0:re(e.sessionKey)?.agentId,i=N(n||r||j(t)),a=e.heartbeat??J(t,i);if(!h()||!Oe(t,i)||!Y(t,void 0,a))return{status:`skipped`,reason:`disabled`};let o=e.deps?.nowMs?.()??Date.now();if(!ve(t,a,o))return{status:`skipped`,reason:`quiet-hours`};if((e.deps?.getQueueSize??v)(w.Main)>0)return{status:`skipped`,reason:`requests-in-flight`};let c=await ze({cfg:t,agentId:i,heartbeat:a,forcedSessionKey:e.sessionKey,reason:e.reason});if(c.skipReason)return W({status:`skipped`,reason:c.skipReason,durationMs:Date.now()-o}),{status:`skipped`,reason:c.skipReason};let{entry:u,sessionKey:d,storePath:f}=c.session,m=u?.updatedAt,g=y({cfg:t,entry:u,heartbeat:a}),_=a?.accountId?.trim();g.reason===`unknown-account`?q.warn(`heartbeat: unknown accountId`,{accountId:g.accountId??_??null,target:a?.target??`none`}):_&&q.info(`heartbeat: using explicit accountId`,{accountId:g.accountId??_,target:a?.target??`none`,channel:g.channel});let x=g.channel===`none`?{showOk:!1,showAlerts:!0,useIndicator:!0}:pe({cfg:t,channel:g.channel,accountId:g.accountId}),{sender:S}=b({cfg:t,entry:u,delivery:g}),E=T(t,i,{channel:g.channel===`none`?void 0:g.channel,accountId:g.accountId}).responsePrefix,{prompt:D,hasExecCompletion:O,hasCronEvents:A}=Ve({cfg:t,heartbeat:a,preflight:c,canRelayToUser:!!(g.channel!==`none`&&g.to&&x.showAlerts),workspaceDir:ne(t,i)}),te={Body:k(D,t,o),From:S,To:S,OriginatingChannel:g.channel===`none`?void 0:g.channel,OriginatingTo:g.to,AccountId:g.accountId,MessageThreadId:g.threadId,Provider:O?`exec-event`:A?`cron-event`:`heartbeat`,SessionKey:d};if(!x.showAlerts&&!x.showOk&&!x.useIndicator)return W({status:`skipped`,reason:`alerts-disabled`,durationMs:Date.now()-o,channel:g.channel===`none`?void 0:g.channel,accountId:g.accountId}),{status:`skipped`,reason:`alerts-disabled`};let M=E?`${E} ${H}`:H,P=C({cfg:t,agentId:i,sessionKey:d}),F=!!(x.showOk&&g.channel!==`none`&&g.to),I=async()=>{if(!F||g.channel===`none`||!g.to)return!1;let n=ae(g.channel);return n?.heartbeat?.checkReady&&!(await n.heartbeat.checkReady({cfg:t,accountId:g.accountId,deps:e.deps})).ok?!1:(await ce({cfg:t,channel:g.channel,to:g.to,accountId:g.accountId,threadId:g.threadId,payloads:[{text:M}],session:P,deps:e.deps}),!0)};try{let n=await Fe({storePath:f,sessionKey:d,agentId:i}),r=a?.model?.trim()||void 0,c=a?.suppressToolErrorWarnings===!0,p=a?.lightContext===!0?`lightweight`:void 0,h=await ee(te,r?{isHeartbeat:!0,heartbeatModelOverride:r,suppressToolErrorWarnings:c,bootstrapContextMode:p}:{isHeartbeat:!0,suppressToolErrorWarnings:c,bootstrapContextMode:p},t),_=fe(h),v=a?.includeReasoning===!0?Pe(h).filter(e=>e!==_):[];if(!_||!_.text&&!_.mediaUrl&&!_.mediaUrls?.length){await X({storePath:f,sessionKey:d,updatedAt:m}),await Z(n);let t=await I();return W({status:`ok-empty`,reason:e.reason,durationMs:Date.now()-o,channel:g.channel===`none`?void 0:g.channel,accountId:g.accountId,silent:!t,indicatorType:x.useIndicator?U(`ok-empty`):void 0}),{status:`ran`,durationMs:Date.now()-o}}let y=Le(_,E,Me(t,a)),b=O&&!y.text.trim()&&_.text?.trim()?_.text.trim():null;b&&(y.text=b,y.shouldSkip=!1);let S=y.shouldSkip&&!y.hasMedia&&!O;if(S&&v.length===0){await X({storePath:f,sessionKey:d,updatedAt:m}),await Z(n);let t=await I();return W({status:`ok-token`,reason:e.reason,durationMs:Date.now()-o,channel:g.channel===`none`?void 0:g.channel,accountId:g.accountId,silent:!t,indicatorType:x.useIndicator?U(`ok-token`):void 0}),{status:`ran`,durationMs:Date.now()-o}}let C=_.mediaUrls??(_.mediaUrl?[_.mediaUrl]:[]),w=typeof u?.lastHeartbeatText==`string`?u.lastHeartbeatText:``,T=typeof u?.lastHeartbeatSentAt==`number`?u.lastHeartbeatSentAt:void 0;if(!S&&!C.length&&w.trim()&&y.text.trim()===w.trim()&&typeof T==`number`&&o-T<1440*60*1e3)return await X({storePath:f,sessionKey:d,updatedAt:m}),await Z(n),W({status:`skipped`,reason:`duplicate`,preview:y.text.slice(0,200),durationMs:Date.now()-o,hasMedia:!1,channel:g.channel===`none`?void 0:g.channel,accountId:g.accountId}),{status:`ran`,durationMs:Date.now()-o};let D=S?v.map(e=>e.text).filter(e=>!!e?.trim()).join(`
|
|
11
11
|
`):y.text;if(g.channel===`none`||!g.to)return W({status:`skipped`,reason:g.reason??`no-target`,preview:D?.slice(0,200),durationMs:Date.now()-o,hasMedia:C.length>0,accountId:g.accountId}),{status:`ran`,durationMs:Date.now()-o};if(!x.showAlerts)return await X({storePath:f,sessionKey:d,updatedAt:m}),W({status:`skipped`,reason:`alerts-disabled`,preview:D?.slice(0,200),durationMs:Date.now()-o,channel:g.channel,hasMedia:C.length>0,accountId:g.accountId,indicatorType:x.useIndicator?U(`sent`):void 0}),{status:`ran`,durationMs:Date.now()-o};let k=g.accountId,A=ae(g.channel);if(A?.heartbeat?.checkReady){let n=await A.heartbeat.checkReady({cfg:t,accountId:k,deps:e.deps});if(!n.ok)return W({status:`skipped`,reason:n.reason,preview:D?.slice(0,200),durationMs:Date.now()-o,hasMedia:C.length>0,channel:g.channel,accountId:g.accountId}),q.info(`heartbeat: channel not ready`,{channel:g.channel,reason:n.reason}),{status:`skipped`,reason:n.reason}}if(await ce({cfg:t,channel:g.channel,to:g.to,accountId:k,session:P,threadId:g.threadId,payloads:[...v,...S?[]:[{text:y.text,mediaUrls:C}]],deps:e.deps}),!S&&y.text.trim()){let e=s(f),t=e[d];t&&(e[d]={...t,lastHeartbeatText:y.text,lastHeartbeatSentAt:o},await l(f,e))}return W({status:`sent`,to:g.to,preview:D?.slice(0,200),durationMs:Date.now()-o,hasMedia:C.length>0,channel:g.channel,accountId:g.accountId,indicatorType:x.useIndicator?U(`sent`):void 0}),{status:`ran`,durationMs:Date.now()-o}}catch(e){let t=B(e);return W({status:`failed`,reason:t,durationMs:Date.now()-o,channel:g.channel===`none`?void 0:g.channel,accountId:g.accountId,indicatorType:x.useIndicator?U(`failed`):void 0}),q.error(`heartbeat failed: ${t}`,{error:t}),{status:`failed`,reason:t}}}function Ue(e){let t=e.runtime??r,n=e.runOnce??He,i={cfg:e.cfg??p(),runtime:t,agents:new Map,timer:null,stopped:!1},a=!1,o=(e,t,n)=>typeof n?.lastRunMs==`number`?n.lastRunMs+t:n&&n.intervalMs===t&&n.nextDueMs>e?n.nextDueMs:e+t,s=(e,t)=>{e.lastRunMs=t,e.nextDueMs=t+e.intervalMs},c=()=>{if(i.stopped||(i.timer&&=(clearTimeout(i.timer),null),i.agents.size===0))return;let e=Date.now(),t=1/0;for(let e of i.agents.values())e.nextDueMs<t&&(t=e.nextDueMs);if(!Number.isFinite(t))return;let n=Math.max(0,t-e);i.timer=setTimeout(()=>{i.timer=null,g({reason:`interval`,coalesceMs:0})},n),i.timer.unref?.()},l=e=>{if(i.stopped)return;let t=Date.now(),n=i.agents,r=n.size>0,s=new Map,l=[];for(let r of Ae(e)){let i=Y(e,void 0,r.heartbeat);if(!i)continue;l.push(i);let a=n.get(r.agentId),c=o(t,i,a);s.set(r.agentId,{agentId:r.agentId,heartbeat:r.heartbeat,intervalMs:i,lastRunMs:a?.lastRunMs,nextDueMs:c})}i.cfg=e,i.agents=s;let u=s.size>0;a?r!==u&&(u?q.info(`heartbeat: started`,{intervalMs:Math.min(...l)}):q.info(`heartbeat: disabled`,{enabled:!1})):(u?q.info(`heartbeat: started`,{intervalMs:Math.min(...l)}):q.info(`heartbeat: disabled`,{enabled:!1}),a=!0),c()},u=async e=>{if(i.stopped||!h()||i.agents.size===0)return{status:`skipped`,reason:`disabled`};let t=e?.reason,r=e?.agentId?N(e.agentId):void 0,a=e?.sessionKey?.trim()||void 0,o=t===`interval`,l=Date.now(),u=l,d=!1;if(a||r){let e=r??F(a),o=i.agents.get(e);if(!o)return c(),{status:`skipped`,reason:`disabled`};try{let e=await n({cfg:i.cfg,agentId:o.agentId,heartbeat:o.heartbeat,reason:t,sessionKey:a,deps:{runtime:i.runtime}});return(e.status!==`skipped`||e.reason!==`disabled`)&&s(o,u),c(),e.status===`ran`?{status:`ran`,durationMs:Date.now()-l}:e}catch(e){let t=B(e);return q.error(`heartbeat runner: targeted runOnce threw unexpectedly: ${t}`,{error:t}),s(o,u),c(),{status:`failed`,reason:t}}}for(let e of i.agents.values()){if(o&&u<e.nextDueMs)continue;let r;try{r=await n({cfg:i.cfg,agentId:e.agentId,heartbeat:e.heartbeat,reason:t,deps:{runtime:i.runtime}})}catch(t){let n=B(t);q.error(`heartbeat runner: runOnce threw unexpectedly: ${n}`,{error:n}),s(e,u);continue}if(r.status===`skipped`&&r.reason===`requests-in-flight`)return r;(r.status!==`skipped`||r.reason!==`disabled`)&&s(e,u),r.status===`ran`&&(d=!0)}return c(),d?{status:`ran`,durationMs:Date.now()-l}:{status:`skipped`,reason:o?`not-due`:`disabled`}},d=D(async e=>u({reason:e.reason,agentId:e.agentId,sessionKey:e.sessionKey}));l(i.cfg);let f=()=>{i.stopped||(i.stopped=!0,d(),i.timer&&clearTimeout(i.timer),i.timer=null)};return e.abortSignal?.addEventListener(`abort`,f,{once:!0}),{stop:f,updateConfig:l}}function We(e,n){if(!n)return e;let r=e.indexOf(`:`);if(r===-1)return e;let i=e.slice(0,r+1),a=e.slice(r+1).trimStart(),o=a.toLowerCase(),s=(e,t)=>`${i} ${t(a.slice(0,e.length))}${a.slice(e.length)}`;return o.startsWith(`failed`)?s(`failed`,t.error):o.startsWith(`ok`)?s(`ok`,t.success):o.startsWith(`linked`)?s(`linked`,t.success):o.startsWith(`configured`)?s(`configured`,t.success):o.startsWith(`not linked`)?s(`not linked`,t.warn):o.startsWith(`not configured`)?s(`not configured`,t.muted):o.startsWith(`unknown`)?s(`unknown`,t.warn):e}var Ge=e({formatHealthChannelLines:()=>$,getHealthSnapshot:()=>tt,healthCommand:()=>nt});const Ke=(...e)=>{I(process.env.OPENCLAW_DEBUG_HEALTH)&&console.warn(`[health:debug]`,...e)},qe=e=>{if(!Number.isFinite(e))return`unknown`;if(e<1e3)return`${Math.max(0,Math.round(e))}ms`;let t=[{label:`w`,size:10080*60*1e3},{label:`d`,size:1440*60*1e3},{label:`h`,size:3600*1e3},{label:`m`,size:60*1e3},{label:`s`,size:1e3}],n=Math.max(0,Math.floor(e)),r=[];for(let e of t){let t=Math.floor(n/e.size);t>0&&(r.push(`${t}${e.label}`),n-=t*e.size)}return r.length===0?`0s`:r.join(` `)},Je=(e,t)=>ke(e,t),Ye=e=>{let t=j(e),n=Array.isArray(e.agents?.list)?e.agents.list:[],r=new Set,i=[];for(let e of n){if(!e||typeof e!=`object`||typeof e.id!=`string`||!e.id.trim())continue;let t=N(e.id);!t||r.has(t)||(r.add(t),i.push({id:t,name:typeof e.name==`string`?e.name:void 0}))}return r.has(t)||i.unshift({id:t}),i.length===0&&i.push({id:t}),{defaultAgentId:t,ordered:i}},Xe=e=>{let t=s(e),n=Object.entries(t).filter(([e])=>e!==`global`&&e!==`unknown`).map(([e,t])=>({key:e,updatedAt:t?.updatedAt??0})).toSorted((e,t)=>t.updatedAt-e.updatedAt),r=n.slice(0,5).map(e=>({key:e.key,updatedAt:e.updatedAt||null,age:e.updatedAt?Date.now()-e.updatedAt:null}));return{path:e,count:n.length,recent:r}},Ze=e=>!e||typeof e!=`object`?!0:e.enabled!==!1,Q=e=>e&&typeof e==`object`?e:null,Qe=(e,t={})=>{let n=Q(e);if(!n)return null;let r=typeof n.ok==`boolean`?n.ok:void 0;if(r===void 0)return null;let i=typeof n.elapsedMs==`number`?n.elapsedMs:null,a=typeof n.status==`number`?n.status:null,o=typeof n.error==`string`?n.error:null,s=Q(n.bot),c=s&&typeof s.username==`string`?s.username:null,l=Q(n.webhook),u=l&&typeof l.url==`string`?l.url:null,d=new Set;c&&d.add(c);for(let e of t.botUsernames??[])e&&d.add(e);if(r){let e=`ok`;return d.size>0&&(e+=` (@${Array.from(d).join(`, @`)})`),i!=null&&(e+=` (${i}ms)`),u&&(e+=` - webhook ${u}`),e}let f=`failed (${a??`unknown`})`;return o&&(f+=` - ${o}`),f},$e=e=>{let t=Q(e.probe);if(!t)return null;let n=typeof t.elapsedMs==`number`?Math.round(t.elapsedMs):null,r=typeof t.ok==`boolean`?t.ok:null;if(n==null&&r!==!0)return null;let i=e.accountId||`default`,a=Q(t.bot),o=a&&typeof a.username==`string`?a.username:null;return`${o?`@${o}`:i}:${i}:${n==null?`ok`:`${n}ms`}`},et=e=>{let t=Q(e.probe);return t?(typeof t.ok==`boolean`?t.ok:null)===!1:!1},$=(e,t={})=>{let n=e.channels??{},r=e.channelOrder?.length>0?e.channelOrder:Object.keys(n),i=t.accountMode??`default`,a=[];for(let o of r){let r=n[o];if(!r)continue;let s=ae(o),c=e.channelLabels?.[o]??s?.meta.label??o,l=r.accounts??{},u=t.accountIdsByChannel?.[o],d=u&&u.length>0?u.map(e=>l[e]).filter(e=>!!e):void 0,f=i===`all`?Object.values(l):d??(r.accounts?Object.values(l):[]),p=d&&d.length>0?d[0]:r,m=f?f.map(e=>{let t=Q(e.probe),n=t?Q(t.bot):null;return n&&typeof n.username==`string`?n.username:null}).filter(e=>!!e):[],h=typeof p.linked==`boolean`?p.linked:null;if(h!==null){if(h){let e=typeof p.authAgeMs==`number`?p.authAgeMs:null,t=e==null?``:` (auth age ${Math.round(e/6e4)}m)`;a.push(`${c}: linked${t}`)}else a.push(`${c}: not linked`);continue}let g=typeof p.configured==`boolean`?p.configured:null;if(g===!1){a.push(`${c}: not configured`);continue}let _=i===`all`?f.map(e=>$e(e)).filter(e=>!!e):[],v=f.find(e=>et(e));if(v){let e=Qe(v.probe,{botUsernames:m});if(e){a.push(`${c}: ${e}`);continue}}if(_.length>0){a.push(`${c}: ok (${_.join(`, `)})`);continue}let y=Qe(p.probe,{botUsernames:m});if(y){a.push(`${c}: ${y}`);continue}if(g===!0){a.push(`${c}: configured`);continue}a.push(`${c}: unknown`)}return a};async function tt(e){let t=e?.timeoutMs,n=p(),{defaultAgentId:r,ordered:i}=Ye(n),a=ie(n),o=new Map,s=i.map(e=>{let t=V(n.session?.store,{agentId:e.id}),i=o.get(t)??Xe(t);return o.set(t,i),{agentId:e.id,name:e.name,isDefault:e.id===r,heartbeat:Je(n,e.id),sessions:i}}),c=s.find(e=>e.isDefault)??s[0],l=c?.heartbeat.everyMs?Math.round(c.heartbeat.everyMs/1e3):0,u=c?.sessions??Xe(V(n.session?.store,{agentId:r})),d=Date.now(),f=t===void 0?1e4:Math.max(50,t),m=e?.probe!==!1,h={},g=R().map(e=>e.id),_={};for(let e of R()){_[e.id]=e.meta.label??e.id;let t=e.config.listAccountIds(n),i=L({plugin:e,cfg:n,accountIds:t}),o=a.get(e.id)?.get(r)??[],s=z({accountIds:t,defaultAccountId:i,boundAccounts:o}),c=Array.from(new Set(Array.from(a.get(e.id)?.values()??[]).flatMap(e=>e))),l=Array.from(new Set([s,i,...t,...c].filter(e=>e&&e.trim())));Ke(`channel`,{id:e.id,accountIds:t,defaultAccountId:i,boundAccounts:o,preferredAccountId:s,accountIdsToProbe:l});let u={};for(let t of l){let r=e.config.resolveAccount(n,t),i=e.config.isEnabled?e.config.isEnabled(r,n):Ze(r),a=e.config.isConfigured?await e.config.isConfigured(r,n):!0,o,s=null;if(i&&a&&m&&e.status?.probeAccount)try{o=await e.status.probeAccount({account:r,timeoutMs:f,cfg:n}),s=Date.now()}catch(e){o={ok:!1,error:B(e)},s=Date.now()}let c=o&&typeof o==`object`?o:null,l=c&&typeof c.bot==`object`?c.bot:null;l?.username&&Ke(`probe.bot`,{channel:e.id,accountId:t,username:l.username});let d={accountId:t,enabled:i,configured:a};o!==void 0&&(d.probe=o),s&&(d.lastProbeAt=s);let p=e.status?.buildChannelSummary?await e.status.buildChannelSummary({account:r,cfg:n,defaultAccountId:t,snapshot:d}):void 0,h=p&&typeof p==`object`?p:{accountId:t,configured:a,probe:o,lastProbeAt:s};h.configured===void 0&&(h.configured=a),h.lastProbeAt===void 0&&s&&(h.lastProbeAt=s),h.accountId=t,u[t]=h}let d=u[s]??u[i]??u[l[0]??s]??u[Object.keys(u)[0]];d&&(h[e.id]={...d,accounts:u})}return{ok:!0,ts:Date.now(),durationMs:Date.now()-d,channels:h,channelOrder:g,channelLabels:_,heartbeatSeconds:l,defaultAgentId:r,agents:s,sessions:{path:u.path,count:u.count,recent:u.recent}}}async function nt(e,t){let r=e.config??await f(),i=await de({label:`Checking gateway health…`,indeterminate:!0,enabled:e.json!==!0},async()=>await le({method:`health`,params:e.verbose?{probe:!0}:void 0,timeoutMs:e.timeoutMs,config:r}));if(e.json)t.log(JSON.stringify(i,null,2));else{let o=I(process.env.OPENCLAW_DEBUG_HEALTH),s=n();if(e.verbose){let e=ue({config:r});t.log(a(`Gateway connection:`));for(let n of e.message.split(`
|
|
12
12
|
`))t.log(` ${n}`)}let c=Ye(r),l=i.defaultAgentId??c.defaultAgentId,u=Array.isArray(i.agents)?i.agents:[],d=c.ordered.map(e=>{let t=V(r.session?.store,{agentId:e.id});return{agentId:e.id,name:e.name,isDefault:e.id===c.defaultAgentId,heartbeat:Je(r,e.id),sessions:Xe(t)}}),f=u.length>0?u:d,p=e.verbose?f:f.filter(e=>e.agentId===l),m=ie(r);if(o){t.log(a(`[debug] local channel accounts`));for(let e of R()){let n=e.config.listAccountIds(r),i=L({plugin:e,cfg:r,accountIds:n});t.log(` ${e.id}: accounts=${n.join(`, `)||`(none)`} default=${i}`);for(let i of n){let n=e.config.resolveAccount(r,i),a=Q(n),o=a&&typeof a.tokenSource==`string`?a.tokenSource:void 0,s=e.config.isConfigured?await e.config.isConfigured(n,r):!0;t.log(` - ${i}: configured=${s}${o?` tokenSource=${o}`:``}`)}}t.log(a(`[debug] bindings map`));for(let[e,n]of m.entries()){let r=Array.from(n.entries()).map(([e,t])=>`${e}=[${t.join(`, `)}]`);t.log(` ${e}: ${r.join(` `)}`)}t.log(a(`[debug] gateway channel probes`));for(let[e,n]of Object.entries(i.channels??{})){let r=n.accounts??{},i=Object.entries(r).map(([e,t])=>{let n=Q(t.probe),r=n?Q(n.bot):null;return`${e}=${(r&&typeof r.username==`string`?r.username:null)??`(no bot)`}`});t.log(` ${e}: ${i.join(`, `)||`(none)`}`)}}let h=Object.fromEntries(R().map(e=>{let t=e.config.listAccountIds(r),n=z({accountIds:t,defaultAccountId:L({plugin:e,cfg:r,accountIds:t}),boundAccounts:m.get(e.id)?.get(l)??[]});return[e.id,[n]]})),g=(()=>{let e=p.length>0?p:f,t={};for(let[n,r]of m.entries()){let i=[];for(let t of e){let e=r.get(t.agentId)??[];for(let t of e)i.includes(t)||i.push(t)}i.length>0&&(t[n]=i)}for(let[e,n]of Object.entries(h))(!t[e]||t[e].length===0)&&(t[e]=n);return t})(),_=Object.keys(g).length>0?$(i,{accountMode:e.verbose?`all`:`default`,accountIdsByChannel:g}):$(i,{accountMode:e.verbose?`all`:`default`});for(let e of _)t.log(We(e,s));for(let e of R()){let n=i.channels?.[e.id];if(!n||n.linked!==!0||!e.status?.logSelfId)continue;let a=m.get(e.id)?.get(l)??[],o=e.config.listAccountIds(r),s=z({accountIds:o,defaultAccountId:L({plugin:e,cfg:r,accountIds:o}),boundAccounts:a}),c=e.config.resolveAccount(r,s);e.status.logSelfId({account:c,cfg:r,runtime:t,includeChannelPrefix:!0})}if(f.length>0){let e=f.map(e=>e.isDefault?`${e.agentId} (default)`:e.agentId);t.log(a(`Agents: ${e.join(`, `)}`))}let v=p.map(e=>{let t=e.heartbeat?.everyMs;return`${t?qe(t):`disabled`} (${e.agentId})`}).filter(Boolean);if(v.length>0&&t.log(a(`Heartbeat interval: ${v.join(`, `)}`)),p.length===0){if(t.log(a(`Session store: ${i.sessions.path} (${i.sessions.count} entries)`)),i.sessions.recent.length>0)for(let e of i.sessions.recent)t.log(`- ${e.key} (${e.updatedAt?`${Math.round((Date.now()-e.updatedAt)/6e4)}m ago`:`no activity`})`)}else for(let e of p)if(t.log(a(`Session store (${e.agentId}): ${e.sessions.path} (${e.sessions.count} entries)`)),e.sessions.recent.length>0)for(let n of e.sessions.recent)t.log(`- ${n.key} (${n.updatedAt?`${Math.round((Date.now()-n.updatedAt)/6e4)}m ago`:`no activity`})`)}}export{We as a,Ue as c,Ge as i,tt as n,ke as o,nt as r,He as s,$ as t};
|
|
13
|
+
//# sourceMappingURL=health-BgOggK9k.js.map
|
package/dist/health-PaRHFItm.js
CHANGED
|
@@ -10,3 +10,4 @@ Please relay this reminder to the user in a helpful and friendly way.`:`A schedu
|
|
|
10
10
|
Handle this reminder internally. Do not relay it to the user unless explicitly requested.`:n?`A scheduled cron event was triggered, but no event content was found. Reply HEARTBEAT_OK.`:`A scheduled cron event was triggered, but no event content was found. Handle this internally and reply HEARTBEAT_OK when nothing needs user-facing follow-up.`}function Se(e){return e?.deliverToUser??!0?`An async command you ran earlier has completed. The result is shown in the system messages above. Please relay the command output to the user in a helpful way. If the command succeeded, share the relevant output. If it failed, explain what went wrong.`:`An async command you ran earlier has completed. The result is shown in the system messages above. Handle the result internally. Do not relay it to the user unless explicitly requested.`}const Ce=R.toLowerCase();function we(e){let t=e.trim();if(!t)return!1;let n=t.toLowerCase();if(!n.startsWith(Ce))return!1;let r=n.slice(Ce.length);return r.length===0?!0:!/[a-z0-9_]/.test(r[0])}function Te(e){let t=e.trim().toLowerCase();return t?we(t)||t.includes(`heartbeat poll`)||t.includes(`heartbeat wake`):!1}function Ee(e){return e.toLowerCase().includes(`exec finished`)}function De(e){return e.trim()?!Te(e)&&!Ee(e):!1}const G=i(`gateway/heartbeat`),Oe=`none`;function ke(e){return(e.agents?.list??[]).some(e=>!!e?.heartbeat)}function Ae(e,t){let n=y(t??g(e)),r=e.agents?.list??[];return ke(e)?r.some(e=>!!e?.heartbeat&&y(e?.id)===n):n===g(e)}function K(e,t){let n=e.agents?.defaults?.heartbeat;if(!t)return n;let r=_(e,t)?.heartbeat;return!n&&!r?r:{...n,...r}}function je(e,t){let n=e.agents?.defaults?.heartbeat,r=t?_(e,t)?.heartbeat:void 0;if(!Ae(e,t))return{enabled:!1,every:`disabled`,everyMs:null,prompt:I(n?.prompt),target:n?.target??Oe,model:n?.model,ackMaxChars:Math.max(0,n?.ackMaxChars??300)};let i=n||r?{...n,...r}:void 0;return{enabled:!0,every:i?.every??n?.every??r?.every??`30m`,everyMs:q(e,void 0,i),prompt:I(i?.prompt??n?.prompt??r?.prompt),target:i?.target??n?.target??r?.target??Oe,model:i?.model??n?.model??r?.model,ackMaxChars:Math.max(0,i?.ackMaxChars??n?.ackMaxChars??r?.ackMaxChars??300)}}function Me(e){let t=e.agents?.list??[];if(ke(e))return t.filter(e=>e?.heartbeat).map(t=>{let n=y(t.id);return{agentId:n,heartbeat:K(e,n)}}).filter(e=>e.agentId);let n=g(e);return[{agentId:n,heartbeat:K(e,n)}]}function q(e,t,n){let r=t??n?.every??e.agents?.defaults?.heartbeat?.every??`30m`;if(!r)return null;let i=String(r).trim();if(!i)return null;let a;try{a=C(i,{defaultUnit:`m`})}catch{return null}return a<=0?null:a}function Ne(e,t){return I(t?.prompt??e.agents?.defaults?.heartbeat?.prompt)}function Pe(e,t){return Math.max(0,t?.ackMaxChars??e.agents?.defaults?.heartbeat?.ackMaxChars??300)}function Fe(e,t,n,r){let i=e.session,a=i?.scope??`per-sender`,o=y(t??g(e)),c=a===`global`?`global`:s({cfg:e,agentId:o}),l=a===`global`?g(e):o,u=L(i?.store,{agentId:l}),f=p(u),m=f[c];if(a===`global`)return{sessionKey:c,storePath:u,store:f,entry:m};let h=r?.trim();if(h){let t=d({cfg:e,agentId:o,sessionKey:b({agentId:o,requestKey:h,mainKey:e.session?.mainKey})});if(t!==`global`&&x(t)===y(o))return{sessionKey:t,storePath:u,store:f,entry:f[t]}}let _=n?.session?.trim()??``;if(!_)return{sessionKey:c,storePath:u,store:f,entry:m};let v=_.toLowerCase();if(v===`main`||v===`global`)return{sessionKey:c,storePath:u,store:f,entry:m};let S=d({cfg:e,agentId:o,sessionKey:b({agentId:o,requestKey:_,mainKey:e.session?.mainKey})});return S!==`global`&&x(S)===y(o)?{sessionKey:S,storePath:u,store:f,entry:f[S]}:{sessionKey:c,storePath:u,store:f,entry:m}}function Ie(e){return(Array.isArray(e)?e:e?[e]:[]).filter(e=>(typeof e.text==`string`?e.text:``).trimStart().startsWith(`Reasoning:`))}async function J(e){let{storePath:t,sessionKey:n,updatedAt:r}=e;if(typeof r!=`number`)return;let i=p(t)[n];if(!i)return;let a=Math.max(i.updatedAt??0,r);i.updatedAt!==a&&await l(t,e=>{let t=e[n]??i;if(!t)return;let a=Math.max(t.updatedAt??0,r);t.updatedAt!==a&&(e[n]={...t,updatedAt:a})})}async function Y(e){let{transcriptPath:t,preHeartbeatSize:n}=e;if(!(!t||typeof n!=`number`||n<0))try{(await U.stat(t)).size>n&&await U.truncate(t,n)}catch{}}async function Le(e){let{storePath:t,sessionKey:n,agentId:r}=e;try{let e=p(t)[n];if(!e?.sessionId)return{};let i=de(e.sessionId,e,{agentId:r,sessionsDir:H.dirname(t)});return{transcriptPath:i,preHeartbeatSize:(await U.stat(i)).size}}catch{return{}}}function Re(e,t){let n=t?.trim();if(!n)return e;let r=RegExp(`^${S(n)}(?=$|\\s|[\\p{P}\\p{S}])\\s*`,`iu`);return e.replace(r,``)}function ze(e,t,n){let r=F(Re(typeof e.text==`string`?e.text:``,t),{mode:`heartbeat`,maxAckChars:n}),i=!!(e.mediaUrl||(e.mediaUrls?.length??0)>0);if(r.shouldSkip&&!i)return{shouldSkip:!0,text:``,hasMedia:i};let a=r.text;return t&&a&&!a.startsWith(t)&&(a=`${t} ${a}`),{shouldSkip:!1,text:a,hasMedia:i}}function Be(e){let t=ce(e);return{isExecEventReason:t===`exec-event`,isCronEventReason:t===`cron`,isWakeReason:t===`wake`||t===`hook`}}async function Ve(e){let t=Be(e.reason),n=Fe(e.cfg,e.agentId,e.heartbeat,e.forcedSessionKey),r=P(n.sessionKey),i=r.some(e=>e.contextKey?.startsWith(`cron:`)),a=t.isExecEventReason||t.isCronEventReason||i,o=t.isExecEventReason||t.isCronEventReason||t.isWakeReason||i,s={...t,session:n,pendingEventEntries:r,hasTaggedCronEvents:i,shouldInspectPendingEvents:a};if(o)return s;let c=h(e.cfg,e.agentId),l=H.join(c,m);try{if(re(await U.readFile(l,`utf-8`)))return{...s,skipReason:`empty-heartbeat-file`}}catch(e){if(k(e,`ENOENT`))return s}return s}function He(e,t){if(!/heartbeat\.md/i.test(e))return e;let n=`When reading HEARTBEAT.md, use workspace file ${H.join(t,m).replace(/\\/g,`/`)} (exact case). Do not read docs/heartbeat.md.`;return e.includes(n)?e:`${e}\n${n}`}function Ue(e){let t=e.preflight.pendingEventEntries,n=e.preflight.shouldInspectPendingEvents?t.map(e=>e.text):[],r=t.filter(t=>(e.preflight.isCronEventReason||t.contextKey?.startsWith(`cron:`))&&De(t.text)).map(e=>e.text),i=n.some(Ee),a=r.length>0;return{prompt:He(i?Se({deliverToUser:e.canRelayToUser}):a?xe(r,{deliverToUser:e.canRelayToUser}):Ne(e.cfg,e.heartbeat),e.workspaceDir),hasExecCompletion:i,hasCronEvents:a}}async function We(e){let t=e.cfg??f(),n=typeof e.agentId==`string`?e.agentId.trim():``,r=n.length>0?void 0:v(e.sessionKey)?.agentId,i=y(n||r||g(t)),a=e.heartbeat??K(t,i);if(!ie()||!Ae(t,i)||!q(t,void 0,a))return{status:`skipped`,reason:`disabled`};let o=e.deps?.nowMs?.()??Date.now();if(!be(t,a,o))return{status:`skipped`,reason:`quiet-hours`};if((e.deps?.getQueueSize??j)(te.Main)>0)return{status:`skipped`,reason:`requests-in-flight`};let s=await Ve({cfg:t,agentId:i,heartbeat:a,forcedSessionKey:e.sessionKey,reason:e.reason});if(s.skipReason)return V({status:`skipped`,reason:s.skipReason,durationMs:Date.now()-o}),{status:`skipped`,reason:s.skipReason};let{entry:l,sessionKey:u,storePath:d}=s.session,m=l?.updatedAt,_=le({cfg:t,entry:l,heartbeat:a}),b=a?.accountId?.trim();_.reason===`unknown-account`?G.warn(`heartbeat: unknown accountId`,{accountId:_.accountId??b??null,target:a?.target??`none`}):b&&G.info(`heartbeat: using explicit accountId`,{accountId:_.accountId??b,target:a?.target??`none`,channel:_.channel});let x=_.channel===`none`?{showOk:!1,showAlerts:!0,useIndicator:!0}:ge({cfg:t,channel:_.channel,accountId:_.accountId}),{sender:S}=ue({cfg:t,entry:l,delivery:_}),C=M(t,i,{channel:_.channel===`none`?void 0:_.channel,accountId:_.accountId}).responsePrefix,{prompt:w,hasExecCompletion:T,hasCronEvents:E}=Ue({cfg:t,heartbeat:a,preflight:s,canRelayToUser:!!(_.channel!==`none`&&_.to&&x.showAlerts),workspaceDir:h(t,i)}),O={Body:ae(w,t,o),From:S,To:S,OriginatingChannel:_.channel===`none`?void 0:_.channel,OriginatingTo:_.to,AccountId:_.accountId,MessageThreadId:_.threadId,Provider:T?`exec-event`:E?`cron-event`:`heartbeat`,SessionKey:u};if(!x.showAlerts&&!x.showOk&&!x.useIndicator)return V({status:`skipped`,reason:`alerts-disabled`,durationMs:Date.now()-o,channel:_.channel===`none`?void 0:_.channel,accountId:_.accountId}),{status:`skipped`,reason:`alerts-disabled`};let k=C?`${C} ${R}`:R,N=oe({cfg:t,agentId:i,sessionKey:u}),P=!!(x.showOk&&_.channel!==`none`&&_.to),F=async()=>{if(!P||_.channel===`none`||!_.to)return!1;let n=D(_.channel);return n?.heartbeat?.checkReady&&!(await n.heartbeat.checkReady({cfg:t,accountId:_.accountId,deps:e.deps})).ok?!1:(await z({cfg:t,channel:_.channel,to:_.to,accountId:_.accountId,threadId:_.threadId,payloads:[{text:k}],session:N,deps:e.deps}),!0)};try{let n=await Le({storePath:d,sessionKey:u,agentId:i}),r=a?.model?.trim()||void 0,s=a?.suppressToolErrorWarnings===!0,f=a?.lightContext===!0?`lightweight`:void 0,h=await ee(O,r?{isHeartbeat:!0,heartbeatModelOverride:r,suppressToolErrorWarnings:s,bootstrapContextMode:f}:{isHeartbeat:!0,suppressToolErrorWarnings:s,bootstrapContextMode:f},t),g=he(h),v=a?.includeReasoning===!0?Ie(h).filter(e=>e!==g):[];if(!g||!g.text&&!g.mediaUrl&&!g.mediaUrls?.length){await J({storePath:d,sessionKey:u,updatedAt:m}),await Y(n);let t=await F();return V({status:`ok-empty`,reason:e.reason,durationMs:Date.now()-o,channel:_.channel===`none`?void 0:_.channel,accountId:_.accountId,silent:!t,indicatorType:x.useIndicator?B(`ok-empty`):void 0}),{status:`ran`,durationMs:Date.now()-o}}let y=ze(g,C,Pe(t,a)),b=T&&!y.text.trim()&&g.text?.trim()?g.text.trim():null;b&&(y.text=b,y.shouldSkip=!1);let S=y.shouldSkip&&!y.hasMedia&&!T;if(S&&v.length===0){await J({storePath:d,sessionKey:u,updatedAt:m}),await Y(n);let t=await F();return V({status:`ok-token`,reason:e.reason,durationMs:Date.now()-o,channel:_.channel===`none`?void 0:_.channel,accountId:_.accountId,silent:!t,indicatorType:x.useIndicator?B(`ok-token`):void 0}),{status:`ran`,durationMs:Date.now()-o}}let w=g.mediaUrls??(g.mediaUrl?[g.mediaUrl]:[]),E=typeof l?.lastHeartbeatText==`string`?l.lastHeartbeatText:``,k=typeof l?.lastHeartbeatSentAt==`number`?l.lastHeartbeatSentAt:void 0;if(!S&&!w.length&&E.trim()&&y.text.trim()===E.trim()&&typeof k==`number`&&o-k<1440*60*1e3)return await J({storePath:d,sessionKey:u,updatedAt:m}),await Y(n),V({status:`skipped`,reason:`duplicate`,preview:y.text.slice(0,200),durationMs:Date.now()-o,hasMedia:!1,channel:_.channel===`none`?void 0:_.channel,accountId:_.accountId}),{status:`ran`,durationMs:Date.now()-o};let A=S?v.map(e=>e.text).filter(e=>!!e?.trim()).join(`
|
|
11
11
|
`):y.text;if(_.channel===`none`||!_.to)return V({status:`skipped`,reason:_.reason??`no-target`,preview:A?.slice(0,200),durationMs:Date.now()-o,hasMedia:w.length>0,accountId:_.accountId}),{status:`ran`,durationMs:Date.now()-o};if(!x.showAlerts)return await J({storePath:d,sessionKey:u,updatedAt:m}),V({status:`skipped`,reason:`alerts-disabled`,preview:A?.slice(0,200),durationMs:Date.now()-o,channel:_.channel,hasMedia:w.length>0,accountId:_.accountId,indicatorType:x.useIndicator?B(`sent`):void 0}),{status:`ran`,durationMs:Date.now()-o};let j=_.accountId,M=D(_.channel);if(M?.heartbeat?.checkReady){let n=await M.heartbeat.checkReady({cfg:t,accountId:j,deps:e.deps});if(!n.ok)return V({status:`skipped`,reason:n.reason,preview:A?.slice(0,200),durationMs:Date.now()-o,hasMedia:w.length>0,channel:_.channel,accountId:_.accountId}),G.info(`heartbeat: channel not ready`,{channel:_.channel,reason:n.reason}),{status:`skipped`,reason:n.reason}}if(await z({cfg:t,channel:_.channel,to:_.to,accountId:j,session:N,threadId:_.threadId,payloads:[...v,...S?[]:[{text:y.text,mediaUrls:w}]],deps:e.deps}),!S&&y.text.trim()){let e=p(d),t=e[u];t&&(e[u]={...t,lastHeartbeatText:y.text,lastHeartbeatSentAt:o},await c(d,e))}return V({status:`sent`,to:_.to,preview:A?.slice(0,200),durationMs:Date.now()-o,hasMedia:w.length>0,channel:_.channel,accountId:_.accountId,indicatorType:x.useIndicator?B(`sent`):void 0}),{status:`ran`,durationMs:Date.now()-o}}catch(e){let t=A(e);return V({status:`failed`,reason:t,durationMs:Date.now()-o,channel:_.channel===`none`?void 0:_.channel,accountId:_.accountId,indicatorType:x.useIndicator?B(`failed`):void 0}),G.error(`heartbeat failed: ${t}`,{error:t}),{status:`failed`,reason:t}}}function Ge(e){let t=e.runtime??r,n=e.runOnce??We,i={cfg:e.cfg??f(),runtime:t,agents:new Map,timer:null,stopped:!1},a=!1,o=(e,t,n)=>typeof n?.lastRunMs==`number`?n.lastRunMs+t:n&&n.intervalMs===t&&n.nextDueMs>e?n.nextDueMs:e+t,s=(e,t)=>{e.lastRunMs=t,e.nextDueMs=t+e.intervalMs},c=()=>{if(i.stopped||(i.timer&&=(clearTimeout(i.timer),null),i.agents.size===0))return;let e=Date.now(),t=1/0;for(let e of i.agents.values())e.nextDueMs<t&&(t=e.nextDueMs);if(!Number.isFinite(t))return;let n=Math.max(0,t-e);i.timer=setTimeout(()=>{i.timer=null,se({reason:`interval`,coalesceMs:0})},n),i.timer.unref?.()},l=e=>{if(i.stopped)return;let t=Date.now(),n=i.agents,r=n.size>0,s=new Map,l=[];for(let r of Me(e)){let i=q(e,void 0,r.heartbeat);if(!i)continue;l.push(i);let a=n.get(r.agentId),c=o(t,i,a);s.set(r.agentId,{agentId:r.agentId,heartbeat:r.heartbeat,intervalMs:i,lastRunMs:a?.lastRunMs,nextDueMs:c})}i.cfg=e,i.agents=s;let u=s.size>0;a?r!==u&&(u?G.info(`heartbeat: started`,{intervalMs:Math.min(...l)}):G.info(`heartbeat: disabled`,{enabled:!1})):(u?G.info(`heartbeat: started`,{intervalMs:Math.min(...l)}):G.info(`heartbeat: disabled`,{enabled:!1}),a=!0),c()},u=async e=>{if(i.stopped||!ie()||i.agents.size===0)return{status:`skipped`,reason:`disabled`};let t=e?.reason,r=e?.agentId?y(e.agentId):void 0,a=e?.sessionKey?.trim()||void 0,o=t===`interval`,l=Date.now(),u=l,d=!1;if(a||r){let e=r??x(a),o=i.agents.get(e);if(!o)return c(),{status:`skipped`,reason:`disabled`};try{let e=await n({cfg:i.cfg,agentId:o.agentId,heartbeat:o.heartbeat,reason:t,sessionKey:a,deps:{runtime:i.runtime}});return(e.status!==`skipped`||e.reason!==`disabled`)&&s(o,u),c(),e.status===`ran`?{status:`ran`,durationMs:Date.now()-l}:e}catch(e){let t=A(e);return G.error(`heartbeat runner: targeted runOnce threw unexpectedly: ${t}`,{error:t}),s(o,u),c(),{status:`failed`,reason:t}}}for(let e of i.agents.values()){if(o&&u<e.nextDueMs)continue;let r;try{r=await n({cfg:i.cfg,agentId:e.agentId,heartbeat:e.heartbeat,reason:t,deps:{runtime:i.runtime}})}catch(t){let n=A(t);G.error(`heartbeat runner: runOnce threw unexpectedly: ${n}`,{error:n}),s(e,u);continue}if(r.status===`skipped`&&r.reason===`requests-in-flight`)return r;(r.status!==`skipped`||r.reason!==`disabled`)&&s(e,u),r.status===`ran`&&(d=!0)}return c(),d?{status:`ran`,durationMs:Date.now()-l}:{status:`skipped`,reason:o?`not-due`:`disabled`}},d=ne(async e=>u({reason:e.reason,agentId:e.agentId,sessionKey:e.sessionKey}));l(i.cfg);let p=()=>{i.stopped||(i.stopped=!0,d(),i.timer&&clearTimeout(i.timer),i.timer=null)};return e.abortSignal?.addEventListener(`abort`,p,{once:!0}),{stop:p,updateConfig:l}}function Ke(e,n){if(!n)return e;let r=e.indexOf(`:`);if(r===-1)return e;let i=e.slice(0,r+1),a=e.slice(r+1).trimStart(),o=a.toLowerCase(),s=(e,t)=>`${i} ${t(a.slice(0,e.length))}${a.slice(e.length)}`;return o.startsWith(`failed`)?s(`failed`,t.error):o.startsWith(`ok`)?s(`ok`,t.success):o.startsWith(`linked`)?s(`linked`,t.success):o.startsWith(`configured`)?s(`configured`,t.success):o.startsWith(`not linked`)?s(`not linked`,t.warn):o.startsWith(`not configured`)?s(`not configured`,t.muted):o.startsWith(`unknown`)?s(`unknown`,t.warn):e}var qe=e({formatHealthChannelLines:()=>Q,getHealthSnapshot:()=>nt,healthCommand:()=>$});const Je=(...e)=>{o(process.env.OPENCLAW_DEBUG_HEALTH)&&console.warn(`[health:debug]`,...e)},Ye=e=>{if(!Number.isFinite(e))return`unknown`;if(e<1e3)return`${Math.max(0,Math.round(e))}ms`;let t=[{label:`w`,size:10080*60*1e3},{label:`d`,size:1440*60*1e3},{label:`h`,size:3600*1e3},{label:`m`,size:60*1e3},{label:`s`,size:1e3}],n=Math.max(0,Math.floor(e)),r=[];for(let e of t){let t=Math.floor(n/e.size);t>0&&(r.push(`${t}${e.label}`),n-=t*e.size)}return r.length===0?`0s`:r.join(` `)},Xe=(e,t)=>je(e,t),Ze=e=>{let t=g(e),n=Array.isArray(e.agents?.list)?e.agents.list:[],r=new Set,i=[];for(let e of n){if(!e||typeof e!=`object`||typeof e.id!=`string`||!e.id.trim())continue;let t=y(e.id);!t||r.has(t)||(r.add(t),i.push({id:t,name:typeof e.name==`string`?e.name:void 0}))}return r.has(t)||i.unshift({id:t}),i.length===0&&i.push({id:t}),{defaultAgentId:t,ordered:i}},X=e=>{let t=p(e),n=Object.entries(t).filter(([e])=>e!==`global`&&e!==`unknown`).map(([e,t])=>({key:e,updatedAt:t?.updatedAt??0})).toSorted((e,t)=>t.updatedAt-e.updatedAt),r=n.slice(0,5).map(e=>({key:e.key,updatedAt:e.updatedAt||null,age:e.updatedAt?Date.now()-e.updatedAt:null}));return{path:e,count:n.length,recent:r}},Qe=e=>!e||typeof e!=`object`?!0:e.enabled!==!1,Z=e=>e&&typeof e==`object`?e:null,$e=(e,t={})=>{let n=Z(e);if(!n)return null;let r=typeof n.ok==`boolean`?n.ok:void 0;if(r===void 0)return null;let i=typeof n.elapsedMs==`number`?n.elapsedMs:null,a=typeof n.status==`number`?n.status:null,o=typeof n.error==`string`?n.error:null,s=Z(n.bot),c=s&&typeof s.username==`string`?s.username:null,l=Z(n.webhook),u=l&&typeof l.url==`string`?l.url:null,d=new Set;c&&d.add(c);for(let e of t.botUsernames??[])e&&d.add(e);if(r){let e=`ok`;return d.size>0&&(e+=` (@${Array.from(d).join(`, @`)})`),i!=null&&(e+=` (${i}ms)`),u&&(e+=` - webhook ${u}`),e}let f=`failed (${a??`unknown`})`;return o&&(f+=` - ${o}`),f},et=e=>{let t=Z(e.probe);if(!t)return null;let n=typeof t.elapsedMs==`number`?Math.round(t.elapsedMs):null,r=typeof t.ok==`boolean`?t.ok:null;if(n==null&&r!==!0)return null;let i=e.accountId||`default`,a=Z(t.bot),o=a&&typeof a.username==`string`?a.username:null;return`${o?`@${o}`:i}:${i}:${n==null?`ok`:`${n}ms`}`},tt=e=>{let t=Z(e.probe);return t?(typeof t.ok==`boolean`?t.ok:null)===!1:!1},Q=(e,t={})=>{let n=e.channels??{},r=e.channelOrder?.length>0?e.channelOrder:Object.keys(n),i=t.accountMode??`default`,a=[];for(let o of r){let r=n[o];if(!r)continue;let s=D(o),c=e.channelLabels?.[o]??s?.meta.label??o,l=r.accounts??{},u=t.accountIdsByChannel?.[o],d=u&&u.length>0?u.map(e=>l[e]).filter(e=>!!e):void 0,f=i===`all`?Object.values(l):d??(r.accounts?Object.values(l):[]),p=d&&d.length>0?d[0]:r,m=f?f.map(e=>{let t=Z(e.probe),n=t?Z(t.bot):null;return n&&typeof n.username==`string`?n.username:null}).filter(e=>!!e):[],h=typeof p.linked==`boolean`?p.linked:null;if(h!==null){if(h){let e=typeof p.authAgeMs==`number`?p.authAgeMs:null,t=e==null?``:` (auth age ${Math.round(e/6e4)}m)`;a.push(`${c}: linked${t}`)}else a.push(`${c}: not linked`);continue}let g=typeof p.configured==`boolean`?p.configured:null;if(g===!1){a.push(`${c}: not configured`);continue}let _=i===`all`?f.map(e=>et(e)).filter(e=>!!e):[],v=f.find(e=>tt(e));if(v){let e=$e(v.probe,{botUsernames:m});if(e){a.push(`${c}: ${e}`);continue}}if(_.length>0){a.push(`${c}: ok (${_.join(`, `)})`);continue}let y=$e(p.probe,{botUsernames:m});if(y){a.push(`${c}: ${y}`);continue}if(g===!0){a.push(`${c}: configured`);continue}a.push(`${c}: unknown`)}return a};async function nt(e){let t=e?.timeoutMs,n=f(),{defaultAgentId:r,ordered:i}=Ze(n),a=w(n),o=new Map,s=i.map(e=>{let t=L(n.session?.store,{agentId:e.id}),i=o.get(t)??X(t);return o.set(t,i),{agentId:e.id,name:e.name,isDefault:e.id===r,heartbeat:Xe(n,e.id),sessions:i}}),c=s.find(e=>e.isDefault)??s[0],l=c?.heartbeat.everyMs?Math.round(c.heartbeat.everyMs/1e3):0,u=c?.sessions??X(L(n.session?.store,{agentId:r})),d=Date.now(),p=t===void 0?1e4:Math.max(50,t),m=e?.probe!==!1,h={},g=E().map(e=>e.id),_={};for(let e of E()){_[e.id]=e.meta.label??e.id;let t=e.config.listAccountIds(n),i=T({plugin:e,cfg:n,accountIds:t}),o=a.get(e.id)?.get(r)??[],s=O({accountIds:t,defaultAccountId:i,boundAccounts:o}),c=Array.from(new Set(Array.from(a.get(e.id)?.values()??[]).flatMap(e=>e))),l=Array.from(new Set([s,i,...t,...c].filter(e=>e&&e.trim())));Je(`channel`,{id:e.id,accountIds:t,defaultAccountId:i,boundAccounts:o,preferredAccountId:s,accountIdsToProbe:l});let u={};for(let t of l){let r=e.config.resolveAccount(n,t),i=e.config.isEnabled?e.config.isEnabled(r,n):Qe(r),a=e.config.isConfigured?await e.config.isConfigured(r,n):!0,o,s=null;if(i&&a&&m&&e.status?.probeAccount)try{o=await e.status.probeAccount({account:r,timeoutMs:p,cfg:n}),s=Date.now()}catch(e){o={ok:!1,error:A(e)},s=Date.now()}let c=o&&typeof o==`object`?o:null,l=c&&typeof c.bot==`object`?c.bot:null;l?.username&&Je(`probe.bot`,{channel:e.id,accountId:t,username:l.username});let d={accountId:t,enabled:i,configured:a};o!==void 0&&(d.probe=o),s&&(d.lastProbeAt=s);let f=e.status?.buildChannelSummary?await e.status.buildChannelSummary({account:r,cfg:n,defaultAccountId:t,snapshot:d}):void 0,h=f&&typeof f==`object`?f:{accountId:t,configured:a,probe:o,lastProbeAt:s};h.configured===void 0&&(h.configured=a),h.lastProbeAt===void 0&&s&&(h.lastProbeAt=s),h.accountId=t,u[t]=h}let d=u[s]??u[i]??u[l[0]??s]??u[Object.keys(u)[0]];d&&(h[e.id]={...d,accounts:u})}return{ok:!0,ts:Date.now(),durationMs:Date.now()-d,channels:h,channelOrder:g,channelLabels:_,heartbeatSeconds:l,defaultAgentId:r,agents:s,sessions:{path:u.path,count:u.count,recent:u.recent}}}async function $(e,t){let r=e.config??await u(),i=await me({label:`Checking gateway health…`,indeterminate:!0,enabled:e.json!==!0},async()=>await fe({method:`health`,params:e.verbose?{probe:!0}:void 0,timeoutMs:e.timeoutMs,config:r}));if(e.json)t.log(JSON.stringify(i,null,2));else{let s=o(process.env.OPENCLAW_DEBUG_HEALTH),c=n();if(e.verbose){let e=pe({config:r});t.log(a(`Gateway connection:`));for(let n of e.message.split(`
|
|
12
12
|
`))t.log(` ${n}`)}let l=Ze(r),u=i.defaultAgentId??l.defaultAgentId,d=Array.isArray(i.agents)?i.agents:[],f=l.ordered.map(e=>{let t=L(r.session?.store,{agentId:e.id});return{agentId:e.id,name:e.name,isDefault:e.id===l.defaultAgentId,heartbeat:Xe(r,e.id),sessions:X(t)}}),p=d.length>0?d:f,m=e.verbose?p:p.filter(e=>e.agentId===u),h=w(r);if(s){t.log(a(`[debug] local channel accounts`));for(let e of E()){let n=e.config.listAccountIds(r),i=T({plugin:e,cfg:r,accountIds:n});t.log(` ${e.id}: accounts=${n.join(`, `)||`(none)`} default=${i}`);for(let i of n){let n=e.config.resolveAccount(r,i),a=Z(n),o=a&&typeof a.tokenSource==`string`?a.tokenSource:void 0,s=e.config.isConfigured?await e.config.isConfigured(n,r):!0;t.log(` - ${i}: configured=${s}${o?` tokenSource=${o}`:``}`)}}t.log(a(`[debug] bindings map`));for(let[e,n]of h.entries()){let r=Array.from(n.entries()).map(([e,t])=>`${e}=[${t.join(`, `)}]`);t.log(` ${e}: ${r.join(` `)}`)}t.log(a(`[debug] gateway channel probes`));for(let[e,n]of Object.entries(i.channels??{})){let r=n.accounts??{},i=Object.entries(r).map(([e,t])=>{let n=Z(t.probe),r=n?Z(n.bot):null;return`${e}=${(r&&typeof r.username==`string`?r.username:null)??`(no bot)`}`});t.log(` ${e}: ${i.join(`, `)||`(none)`}`)}}let g=Object.fromEntries(E().map(e=>{let t=e.config.listAccountIds(r),n=O({accountIds:t,defaultAccountId:T({plugin:e,cfg:r,accountIds:t}),boundAccounts:h.get(e.id)?.get(u)??[]});return[e.id,[n]]})),_=(()=>{let e=m.length>0?m:p,t={};for(let[n,r]of h.entries()){let i=[];for(let t of e){let e=r.get(t.agentId)??[];for(let t of e)i.includes(t)||i.push(t)}i.length>0&&(t[n]=i)}for(let[e,n]of Object.entries(g))(!t[e]||t[e].length===0)&&(t[e]=n);return t})(),v=Object.keys(_).length>0?Q(i,{accountMode:e.verbose?`all`:`default`,accountIdsByChannel:_}):Q(i,{accountMode:e.verbose?`all`:`default`});for(let e of v)t.log(Ke(e,c));for(let e of E()){let n=i.channels?.[e.id];if(!n||n.linked!==!0||!e.status?.logSelfId)continue;let a=h.get(e.id)?.get(u)??[],o=e.config.listAccountIds(r),s=O({accountIds:o,defaultAccountId:T({plugin:e,cfg:r,accountIds:o}),boundAccounts:a}),c=e.config.resolveAccount(r,s);e.status.logSelfId({account:c,cfg:r,runtime:t,includeChannelPrefix:!0})}if(p.length>0){let e=p.map(e=>e.isDefault?`${e.agentId} (default)`:e.agentId);t.log(a(`Agents: ${e.join(`, `)}`))}let y=m.map(e=>{let t=e.heartbeat?.everyMs;return`${t?Ye(t):`disabled`} (${e.agentId})`}).filter(Boolean);if(y.length>0&&t.log(a(`Heartbeat interval: ${y.join(`, `)}`)),m.length===0){if(t.log(a(`Session store: ${i.sessions.path} (${i.sessions.count} entries)`)),i.sessions.recent.length>0)for(let e of i.sessions.recent)t.log(`- ${e.key} (${e.updatedAt?`${Math.round((Date.now()-e.updatedAt)/6e4)}m ago`:`no activity`})`)}else for(let e of m)if(t.log(a(`Session store (${e.agentId}): ${e.sessions.path} (${e.sessions.count} entries)`)),e.sessions.recent.length>0)for(let n of e.sessions.recent)t.log(`- ${n.key} (${n.updatedAt?`${Math.round((Date.now()-n.updatedAt)/6e4)}m ago`:`no activity`})`)}}export{Ke as a,Ge as c,qe as i,nt as n,je as o,$ as r,We as s,Q as t};
|
|
13
|
+
//# sourceMappingURL=health-PaRHFItm.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import{A as e,O as t,k as n}from"./subsystem-BLbY429l.js";const r=(n,r)=>{let i=n.indexOf(`: `);if(i<=0)return t(r,e.muted,n);let a=n.slice(0,i),o=n.slice(i+2),s=a===`Gateway target`||a===`Config`?e.command:a===`Source`?e.muted:e.info;return`${t(r,e.muted,`${a}:`)} ${t(r,s,o)}`};function i(i,a={}){let o=a.rich??n(),s=String(i),c=i instanceof Error?i.message:s;if(!o)return`Health check failed: ${s}`;let l=c.split(`
|
|
2
2
|
`).map(e=>e.trimEnd()).filter(Boolean),u=l.findIndex(e=>e.startsWith(`Gateway target: `)),d=(u>=0?l.slice(0,u):l).map(e=>e.trim()).filter(Boolean),f=u>=0?l.slice(u):[],p=d.length>0?d.join(` `):c,m=[`${t(o,e.error.bold,`Health check failed`)}: ${p}`];for(let e of f)m.push(` ${r(e,o)}`);return m.join(`
|
|
3
3
|
`)}export{i as t};
|
|
4
|
+
//# sourceMappingURL=health-format-B1nj3Wfn.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import{A as e,O as t,k as n}from"./subsystem-C5XF2Fy5.js";const r=(n,r)=>{let i=n.indexOf(`: `);if(i<=0)return t(r,e.muted,n);let a=n.slice(0,i),o=n.slice(i+2),s=a===`Gateway target`||a===`Config`?e.command:a===`Source`?e.muted:e.info;return`${t(r,e.muted,`${a}:`)} ${t(r,s,o)}`};function i(i,a={}){let o=a.rich??n(),s=String(i),c=i instanceof Error?i.message:s;if(!o)return`Health check failed: ${s}`;let l=c.split(`
|
|
2
2
|
`).map(e=>e.trimEnd()).filter(Boolean),u=l.findIndex(e=>e.startsWith(`Gateway target: `)),d=(u>=0?l.slice(0,u):l).map(e=>e.trim()).filter(Boolean),f=u>=0?l.slice(u):[],p=d.length>0?d.join(` `):c,m=[`${t(o,e.error.bold,`Health check failed`)}: ${p}`];for(let e of f)m.push(` ${r(e,o)}`);return m.join(`
|
|
3
3
|
`)}export{i as t};
|
|
4
|
+
//# sourceMappingURL=health-format-VBr6LEpt.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
function e(e){if(e){if(!Array.isArray(e))return e;for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&(n.text||n.mediaUrl||n.mediaUrls&&n.mediaUrls.length>0))return n}}}function t(e){switch(e){case`ok-empty`:case`ok-token`:return`ok`;case`sent`:return`alert`;case`failed`:return`error`;case`skipped`:return}}let n=null;const r=new Set;function i(e){let t={ts:Date.now(),...e};n=t;for(let e of r)try{e(t)}catch{}}function a(e){return r.add(e),()=>r.delete(e)}function o(){return n}const s={showOk:!1,showAlerts:!0,useIndicator:!0};function c(e){let{cfg:t,channel:n,accountId:r}=e;if(n===`webchat`){let e=t.channels?.defaults?.heartbeat;return{showOk:e?.showOk??s.showOk,showAlerts:e?.showAlerts??s.showAlerts,useIndicator:e?.useIndicator??s.useIndicator}}let i=t.channels?.defaults?.heartbeat,a=t.channels?.[n],o=a?.heartbeat,c=(r?a?.accounts?.[r]:void 0)?.heartbeat;return{showOk:c?.showOk??o?.showOk??i?.showOk??s.showOk,showAlerts:c?.showAlerts??o?.showAlerts??i?.showAlerts??s.showAlerts,useIndicator:c?.useIndicator??o?.useIndicator??i?.useIndicator??s.useIndicator}}export{t as a,a as i,i as n,e as o,o as r,c as t};
|
|
2
|
+
//# sourceMappingURL=heartbeat-visibility-BQ_esv2m.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
function e(e){if(e){if(!Array.isArray(e))return e;for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&(n.text||n.mediaUrl||n.mediaUrls&&n.mediaUrls.length>0))return n}}}function t(e){switch(e){case`ok-empty`:case`ok-token`:return`ok`;case`sent`:return`alert`;case`failed`:return`error`;case`skipped`:return}}let n=null;const r=new Set;function i(e){let t={ts:Date.now(),...e};n=t;for(let e of r)try{e(t)}catch{}}function a(e){return r.add(e),()=>r.delete(e)}function o(){return n}const s={showOk:!1,showAlerts:!0,useIndicator:!0};function c(e){let{cfg:t,channel:n,accountId:r}=e;if(n===`webchat`){let e=t.channels?.defaults?.heartbeat;return{showOk:e?.showOk??s.showOk,showAlerts:e?.showAlerts??s.showAlerts,useIndicator:e?.useIndicator??s.useIndicator}}let i=t.channels?.defaults?.heartbeat,a=t.channels?.[n],o=a?.heartbeat,c=(r?a?.accounts?.[r]:void 0)?.heartbeat;return{showOk:c?.showOk??o?.showOk??i?.showOk??s.showOk,showAlerts:c?.showAlerts??o?.showAlerts??i?.showAlerts??s.showAlerts,useIndicator:c?.useIndicator??o?.useIndicator??i?.useIndicator??s.useIndicator}}export{t as a,a as i,i as n,e as o,o as r,c as t};
|
|
2
|
+
//# sourceMappingURL=heartbeat-visibility-q74UdY8O.js.map
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import{A as e}from"./subsystem-BLbY429l.js";function t(t,n){return` ${e.command(t)}\n ${e.muted(n)}`}function n(t,n){return n?` ${e.command(t)} ${e.muted(`# ${n}`)}`:` ${e.command(t)}`}function r(e,r=!1){let i=r?n:t;return e.map(([e,t])=>i(e,t)).join(`
|
|
2
2
|
`)}export{r as t};
|
|
3
|
+
//# sourceMappingURL=help-format-B4aEI7V9.js.map
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import{A as e}from"./subsystem-C5XF2Fy5.js";function t(t,n){return` ${e.command(t)}\n ${e.muted(n)}`}function n(t,n){return n?` ${e.command(t)} ${e.muted(`# ${n}`)}`:` ${e.command(t)}`}function r(e,r=!1){let i=r?n:t;return e.map(([e,t])=>i(e,t)).join(`
|
|
2
2
|
`)}export{r as t};
|
|
3
|
+
//# sourceMappingURL=help-format-BRbF_INg.js.map
|
package/dist/helpers-COz1ghcB.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
1
|
function e(e,t=[]){return[...t,e]}function t(e){if(!(e==null||e===``)){if(typeof e==`number`){if(!Number.isFinite(e))return;let t=Math.trunc(e);return t>0?t:void 0}if(typeof e==`string`){let t=Number.parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}}}function n(e){if(!e)return[];let t=e.args;return Array.isArray(t)?t:[]}export{t as n,n as r,e as t};
|
|
2
|
+
//# sourceMappingURL=helpers-COz1ghcB.js.map
|
package/dist/helpers-Cp8gcO6u.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
1
|
function e(e,t=[]){return[...t,e]}function t(e){if(!(e==null||e===``)){if(typeof e==`number`){if(!Number.isFinite(e))return;let t=Math.trunc(e);return t>0?t:void 0}if(typeof e==`string`){let t=Number.parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}}}function n(e){if(!e)return[];let t=e.args;return Array.isArray(t)?t:[]}export{t as n,n as r,e as t};
|
|
2
|
+
//# sourceMappingURL=helpers-Cp8gcO6u.js.map
|
|
@@ -2,3 +2,4 @@ import{A as e,p as t}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";i
|
|
|
2
2
|
`)}function Ce(t,n,r){let i=t.hooks.find(e=>e.name===n||e.hookKey===n);if(!i)return r.json?JSON.stringify({error:`not found`,hook:n},null,2):`Hook "${n}" not found. Run \`${a(`openclaw hooks list`)}\` to see available hooks.`;if(r.json)return JSON.stringify(i,null,2);let o=[],s=i.emoji??`🔗`,c=i.eligible?e.success(`✓ Ready`):i.disabled?e.warn(`⏸ Disabled`):e.error(`✗ Missing requirements`);if(o.push(`${s} ${e.heading(i.name)} ${c}`),o.push(``),o.push(i.description),o.push(``),o.push(e.heading(`Details:`)),i.managedByPlugin?o.push(`${e.muted(` Source:`)} ${i.source} (${i.pluginId??`unknown`})`):o.push(`${e.muted(` Source:`)} ${i.source}`),o.push(`${e.muted(` Path:`)} ${u(i.filePath)}`),o.push(`${e.muted(` Handler:`)} ${u(i.handlerPath)}`),i.homepage&&o.push(`${e.muted(` Homepage:`)} ${i.homepage}`),i.events.length>0&&o.push(`${e.muted(` Events:`)} ${i.events.join(`, `)}`),i.managedByPlugin&&o.push(e.muted(` Managed by plugin; enable/disable via hooks CLI not available.`)),i.requirements.bins.length>0||i.requirements.anyBins.length>0||i.requirements.env.length>0||i.requirements.config.length>0||i.requirements.os.length>0){if(o.push(``),o.push(e.heading(`Requirements:`)),i.requirements.bins.length>0){let t=i.requirements.bins.map(t=>i.missing.bins.includes(t)?e.error(`✗ ${t}`):e.success(`✓ ${t}`));o.push(`${e.muted(` Binaries:`)} ${t.join(`, `)}`)}if(i.requirements.anyBins.length>0){let t=i.missing.anyBins.length>0?e.error(`✗ (any of: ${i.requirements.anyBins.join(`, `)})`):e.success(`✓ (any of: ${i.requirements.anyBins.join(`, `)})`);o.push(`${e.muted(` Any binary:`)} ${t}`)}if(i.requirements.env.length>0){let t=i.requirements.env.map(t=>i.missing.env.includes(t)?e.error(`✗ ${t}`):e.success(`✓ ${t}`));o.push(`${e.muted(` Environment:`)} ${t.join(`, `)}`)}if(i.requirements.config.length>0){let t=i.configChecks.map(t=>t.satisfied?e.success(`✓ ${t.path}`):e.error(`✗ ${t.path}`));o.push(`${e.muted(` Config:`)} ${t.join(`, `)}`)}if(i.requirements.os.length>0){let t=i.missing.os.length>0?e.error(`✗ (${i.requirements.os.join(`, `)})`):e.success(`✓ (${i.requirements.os.join(`, `)})`);o.push(`${e.muted(` OS:`)} ${t}`)}}return o.join(`
|
|
3
3
|
`)}function we(t,n){if(n.json){let e=t.hooks.filter(e=>e.eligible),n=t.hooks.filter(e=>!e.eligible);return JSON.stringify({total:t.hooks.length,eligible:e.length,notEligible:n.length,hooks:{eligible:e.map(e=>e.name),notEligible:n.map(e=>({name:e.name,missing:e.missing}))}},null,2)}let r=t.hooks.filter(e=>e.eligible),i=t.hooks.filter(e=>!e.eligible),a=[];if(a.push(e.heading(`Hooks Status`)),a.push(``),a.push(`${e.muted(`Total hooks:`)} ${t.hooks.length}`),a.push(`${e.success(`Ready:`)} ${r.length}`),a.push(`${e.warn(`Not ready:`)} ${i.length}`),i.length>0){a.push(``),a.push(e.heading(`Hooks not ready:`));for(let e of i){let t=[];e.disabled&&t.push(`disabled`),e.missing.bins.length>0&&t.push(`bins: ${e.missing.bins.join(`, `)}`),e.missing.anyBins.length>0&&t.push(`anyBins: ${e.missing.anyBins.join(`, `)}`),e.missing.env.length>0&&t.push(`env: ${e.missing.env.join(`, `)}`),e.missing.config.length>0&&t.push(`config: ${e.missing.config.join(`, `)}`),e.missing.os.length>0&&t.push(`os: ${e.missing.os.join(`, `)}`),a.push(` ${e.emoji??`🔗`} ${e.name} - ${t.join(`; `)}`)}}return a.join(`
|
|
4
4
|
`)}async function Te(i){let a=r(),o=G(W(a),i,{requireEligible:!0});await n(K({config:a,hookName:i,enabled:!0,ensureHooksEnabled:!0})),t.log(`${e.success(`✓`)} Enabled hook: ${o.emoji??`🔗`} ${e.command(i)}`)}async function Ee(i){let a=r(),o=G(W(a),i);await n(K({config:a,hookName:i,enabled:!1})),t.log(`${e.warn(`⏸`)} Disabled hook: ${o.emoji??`🔗`} ${e.command(i)}`)}function De(a){let o=a.command(`hooks`).description(`Manage internal agent hooks`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${h(`/cli/hooks`,`docs.openclaw.ai/cli/hooks`)}\n`);o.command(`list`).description(`List all hooks`).option(`--eligible`,`Show only eligible hooks`,!1).option(`--json`,`Output as JSON`,!1).option(`-v, --verbose`,`Show more details including missing requirements`,!1).action(async e=>q(async()=>{let n=W(r());t.log($(n,e))})),o.command(`info <name>`).description(`Show detailed information about a hook`).option(`--json`,`Output as JSON`,!1).action(async(e,n)=>q(async()=>{let i=W(r());t.log(Ce(i,e,n))})),o.command(`check`).description(`Check hooks eligibility status`).option(`--json`,`Output as JSON`,!1).action(async e=>q(async()=>{let n=W(r());t.log(we(n,e))})),o.command(`enable <name>`).description(`Enable a hook`).action(async e=>q(async()=>{await Te(e)})),o.command(`disable <name>`).description(`Disable a hook`).action(async e=>q(async()=>{await Ee(e)})),o.command(`install`).description(`Install a hook pack (path, archive, or npm spec)`).argument(`<path-or-spec>`,`Path to a hook pack or npm package spec`).option(`-l, --link`,`Link a local path instead of copying`,!1).option(`--pin`,`Record npm installs as exact resolved <name>@<version>`,!1).action(async(i,a)=>{let o=l(i),s=r();if(O.existsSync(o)){if(a.link){O.statSync(o).isDirectory()||(t.error(`Linked hook paths must be directories.`),process.exit(1));let e=s.hooks?.internal?.load?.extraDirs??[],r=Array.from(new Set([...e,o])),i=await H({path:o,dryRun:!0});i.ok||(t.error(i.error),process.exit(1));let a={...s,hooks:{...s.hooks,internal:{...s.hooks?.internal,enabled:!0,load:{...s.hooks?.internal?.load,extraDirs:r}}}};a=Q(a,i.hooks),a=U(a,{hookId:i.hookPackId,source:`path`,sourcePath:o,installPath:o,version:i.version,hooks:i.hooks}),await n(a),t.log(`Linked hook path: ${u(o)}`),Y();return}let e=await H({path:o,logger:J()});e.ok||(t.error(e.error),process.exit(1));let r=Q(s,e.hooks),i=v(o)?`archive`:`path`;r=U(r,{hookId:e.hookPackId,source:i,sourcePath:o,installPath:e.targetDir,version:e.version,hooks:e.hooks}),await n(r),t.log(`Installed hooks: ${e.hooks.join(`, `)}`),Y();return}a.link&&(t.error("`--link` requires a local path."),process.exit(1)),fe(i,[`.zip`,`.tgz`,`.tar.gz`,`.tar`])&&(t.error(`Path not found: ${o}`),process.exit(1));let c=await V({spec:i,logger:J()});c.ok||(t.error(c.error),process.exit(1));let d=Q(s,c.hooks),f=E(i,!!a.pin,c.targetDir,c.version,c.npmResolution,t.log,e.warn);d=U(d,{hookId:c.hookPackId,...f,hooks:c.hooks}),await n(d),t.log(`Installed hooks: ${c.hooks.join(`, `)}`),Y()}),o.command(`update`).description(`Update installed hooks (npm installs only)`).argument(`[id]`,`Hook pack id (omit with --all)`).option(`--all`,`Update all tracked hooks`,!1).option(`--dry-run`,`Show what would change without writing`,!1).action(async(a,o)=>{let s=r(),c=s.hooks?.internal?.installs??{},l=o.all?Object.keys(c):a?[a]:[];l.length===0&&(t.error(`Provide a hook id or use --all.`),process.exit(1));let u=s,d=0;for(let n of l){let r=c[n];if(!r){t.log(e.warn(`No install record for "${n}".`));continue}if(r.source!==`npm`){t.log(e.warn(`Skipping "${n}" (source: ${r.source}).`));continue}if(!r.spec){t.log(e.warn(`Skipping "${n}" (missing npm spec).`));continue}let a;try{a=r.installPath??N(n)}catch(r){t.log(e.error(`Invalid install path for "${n}": ${String(r)}`));continue}let s=await Z(a);if(o.dryRun){let i=await V({spec:r.spec,mode:`update`,dryRun:!0,expectedHookPackId:n,expectedIntegrity:r.integrity,onIntegrityDrift:async e=>(X(n,e),!0),logger:J()});if(!i.ok){t.log(e.error(`Failed to check ${n}: ${i.error}`));continue}let a=i.version??`unknown`,o=s??`unknown`;s&&i.version&&s===i.version?t.log(`${n} is up to date (${o}).`):t.log(`Would update ${n}: ${o} → ${a}.`);continue}let l=await V({spec:r.spec,mode:`update`,expectedHookPackId:n,expectedIntegrity:r.integrity,onIntegrityDrift:async e=>(X(n,e),await i(`Continue updating "${n}" with this artifact?`)),logger:J()});if(!l.ok){t.log(e.error(`Failed to update ${n}: ${l.error}`));continue}let f=l.version??await Z(l.targetDir);u=U(u,{hookId:n,...pe({spec:r.spec,installPath:l.targetDir,version:f,resolution:l.npmResolution}),hooks:l.hooks}),d+=1;let p=s??`unknown`,m=f??`unknown`;s&&f&&s===f?t.log(`${n} already at ${p}.`):t.log(`Updated ${n}: ${p} → ${m}.`)}d>0&&(await n(u),Y())}),o.action(async()=>q(async()=>{let e=W(r());t.log($(e,{}))}))}export{De as registerHooksCli};
|
|
5
|
+
//# sourceMappingURL=hooks-cli-BzyzTNBx.js.map
|
|
@@ -2,3 +2,4 @@ import"./paths-B4IRk3wi.js";import{A as e,p as t}from"./subsystem-C5XF2Fy5.js";i
|
|
|
2
2
|
`)}function Ce(t,r,i){let a=t.hooks.find(e=>e.name===r||e.hookKey===r);if(!a)return i.json?JSON.stringify({error:`not found`,hook:r},null,2):`Hook "${r}" not found. Run \`${u(`openclaw hooks list`)}\` to see available hooks.`;if(i.json)return JSON.stringify(a,null,2);let o=[],s=a.emoji??`🔗`,c=a.eligible?e.success(`✓ Ready`):a.disabled?e.warn(`⏸ Disabled`):e.error(`✗ Missing requirements`);if(o.push(`${s} ${e.heading(a.name)} ${c}`),o.push(``),o.push(a.description),o.push(``),o.push(e.heading(`Details:`)),a.managedByPlugin?o.push(`${e.muted(` Source:`)} ${a.source} (${a.pluginId??`unknown`})`):o.push(`${e.muted(` Source:`)} ${a.source}`),o.push(`${e.muted(` Path:`)} ${n(a.filePath)}`),o.push(`${e.muted(` Handler:`)} ${n(a.handlerPath)}`),a.homepage&&o.push(`${e.muted(` Homepage:`)} ${a.homepage}`),a.events.length>0&&o.push(`${e.muted(` Events:`)} ${a.events.join(`, `)}`),a.managedByPlugin&&o.push(e.muted(` Managed by plugin; enable/disable via hooks CLI not available.`)),a.requirements.bins.length>0||a.requirements.anyBins.length>0||a.requirements.env.length>0||a.requirements.config.length>0||a.requirements.os.length>0){if(o.push(``),o.push(e.heading(`Requirements:`)),a.requirements.bins.length>0){let t=a.requirements.bins.map(t=>a.missing.bins.includes(t)?e.error(`✗ ${t}`):e.success(`✓ ${t}`));o.push(`${e.muted(` Binaries:`)} ${t.join(`, `)}`)}if(a.requirements.anyBins.length>0){let t=a.missing.anyBins.length>0?e.error(`✗ (any of: ${a.requirements.anyBins.join(`, `)})`):e.success(`✓ (any of: ${a.requirements.anyBins.join(`, `)})`);o.push(`${e.muted(` Any binary:`)} ${t}`)}if(a.requirements.env.length>0){let t=a.requirements.env.map(t=>a.missing.env.includes(t)?e.error(`✗ ${t}`):e.success(`✓ ${t}`));o.push(`${e.muted(` Environment:`)} ${t.join(`, `)}`)}if(a.requirements.config.length>0){let t=a.configChecks.map(t=>t.satisfied?e.success(`✓ ${t.path}`):e.error(`✗ ${t.path}`));o.push(`${e.muted(` Config:`)} ${t.join(`, `)}`)}if(a.requirements.os.length>0){let t=a.missing.os.length>0?e.error(`✗ (${a.requirements.os.join(`, `)})`):e.success(`✓ (${a.requirements.os.join(`, `)})`);o.push(`${e.muted(` OS:`)} ${t}`)}}return o.join(`
|
|
3
3
|
`)}function we(t,n){if(n.json){let e=t.hooks.filter(e=>e.eligible),n=t.hooks.filter(e=>!e.eligible);return JSON.stringify({total:t.hooks.length,eligible:e.length,notEligible:n.length,hooks:{eligible:e.map(e=>e.name),notEligible:n.map(e=>({name:e.name,missing:e.missing}))}},null,2)}let r=t.hooks.filter(e=>e.eligible),i=t.hooks.filter(e=>!e.eligible),a=[];if(a.push(e.heading(`Hooks Status`)),a.push(``),a.push(`${e.muted(`Total hooks:`)} ${t.hooks.length}`),a.push(`${e.success(`Ready:`)} ${r.length}`),a.push(`${e.warn(`Not ready:`)} ${i.length}`),i.length>0){a.push(``),a.push(e.heading(`Hooks not ready:`));for(let e of i){let t=[];e.disabled&&t.push(`disabled`),e.missing.bins.length>0&&t.push(`bins: ${e.missing.bins.join(`, `)}`),e.missing.anyBins.length>0&&t.push(`anyBins: ${e.missing.anyBins.join(`, `)}`),e.missing.env.length>0&&t.push(`env: ${e.missing.env.join(`, `)}`),e.missing.config.length>0&&t.push(`config: ${e.missing.config.join(`, `)}`),e.missing.os.length>0&&t.push(`os: ${e.missing.os.join(`, `)}`),a.push(` ${e.emoji??`🔗`} ${e.name} - ${t.join(`; `)}`)}}return a.join(`
|
|
4
4
|
`)}async function Te(n){let r=s(),i=G(W(r),n,{requireEligible:!0});await o(K({config:r,hookName:n,enabled:!0,ensureHooksEnabled:!0})),t.log(`${e.success(`✓`)} Enabled hook: ${i.emoji??`🔗`} ${e.command(n)}`)}async function Ee(n){let r=s(),i=G(W(r),n);await o(K({config:r,hookName:n,enabled:!1})),t.log(`${e.warn(`⏸`)} Disabled hook: ${i.emoji??`🔗`} ${e.command(n)}`)}function De(r){let c=r.command(`hooks`).description(`Manage internal agent hooks`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${h(`/cli/hooks`,`docs.openclaw.ai/cli/hooks`)}\n`);c.command(`list`).description(`List all hooks`).option(`--eligible`,`Show only eligible hooks`,!1).option(`--json`,`Output as JSON`,!1).option(`-v, --verbose`,`Show more details including missing requirements`,!1).action(async e=>q(async()=>{let n=W(s());t.log($(n,e))})),c.command(`info <name>`).description(`Show detailed information about a hook`).option(`--json`,`Output as JSON`,!1).action(async(e,n)=>q(async()=>{let r=W(s());t.log(Ce(r,e,n))})),c.command(`check`).description(`Check hooks eligibility status`).option(`--json`,`Output as JSON`,!1).action(async e=>q(async()=>{let n=W(s());t.log(we(n,e))})),c.command(`enable <name>`).description(`Enable a hook`).action(async e=>q(async()=>{await Te(e)})),c.command(`disable <name>`).description(`Disable a hook`).action(async e=>q(async()=>{await Ee(e)})),c.command(`install`).description(`Install a hook pack (path, archive, or npm spec)`).argument(`<path-or-spec>`,`Path to a hook pack or npm package spec`).option(`-l, --link`,`Link a local path instead of copying`,!1).option(`--pin`,`Record npm installs as exact resolved <name>@<version>`,!1).action(async(r,a)=>{let c=i(r),l=s();if(D.existsSync(c)){if(a.link){D.statSync(c).isDirectory()||(t.error(`Linked hook paths must be directories.`),process.exit(1));let e=l.hooks?.internal?.load?.extraDirs??[],r=Array.from(new Set([...e,c])),i=await H({path:c,dryRun:!0});i.ok||(t.error(i.error),process.exit(1));let a={...l,hooks:{...l.hooks,internal:{...l.hooks?.internal,enabled:!0,load:{...l.hooks?.internal?.load,extraDirs:r}}}};a=Q(a,i.hooks),a=U(a,{hookId:i.hookPackId,source:`path`,sourcePath:c,installPath:c,version:i.version,hooks:i.hooks}),await o(a),t.log(`Linked hook path: ${n(c)}`),Y();return}let e=await H({path:c,logger:J()});e.ok||(t.error(e.error),process.exit(1));let r=Q(l,e.hooks),i=v(c)?`archive`:`path`;r=U(r,{hookId:e.hookPackId,source:i,sourcePath:c,installPath:e.targetDir,version:e.version,hooks:e.hooks}),await o(r),t.log(`Installed hooks: ${e.hooks.join(`, `)}`),Y();return}a.link&&(t.error("`--link` requires a local path."),process.exit(1)),fe(r,[`.zip`,`.tgz`,`.tar.gz`,`.tar`])&&(t.error(`Path not found: ${c}`),process.exit(1));let u=await V({spec:r,logger:J()});u.ok||(t.error(u.error),process.exit(1));let d=Q(l,u.hooks),f=E(r,!!a.pin,u.targetDir,u.version,u.npmResolution,t.log,e.warn);d=U(d,{hookId:u.hookPackId,...f,hooks:u.hooks}),await o(d),t.log(`Installed hooks: ${u.hooks.join(`, `)}`),Y()}),c.command(`update`).description(`Update installed hooks (npm installs only)`).argument(`[id]`,`Hook pack id (omit with --all)`).option(`--all`,`Update all tracked hooks`,!1).option(`--dry-run`,`Show what would change without writing`,!1).action(async(n,r)=>{let i=s(),c=i.hooks?.internal?.installs??{},l=r.all?Object.keys(c):n?[n]:[];l.length===0&&(t.error(`Provide a hook id or use --all.`),process.exit(1));let u=i,d=0;for(let n of l){let i=c[n];if(!i){t.log(e.warn(`No install record for "${n}".`));continue}if(i.source!==`npm`){t.log(e.warn(`Skipping "${n}" (source: ${i.source}).`));continue}if(!i.spec){t.log(e.warn(`Skipping "${n}" (missing npm spec).`));continue}let o;try{o=i.installPath??N(n)}catch(r){t.log(e.error(`Invalid install path for "${n}": ${String(r)}`));continue}let s=await Z(o);if(r.dryRun){let r=await V({spec:i.spec,mode:`update`,dryRun:!0,expectedHookPackId:n,expectedIntegrity:i.integrity,onIntegrityDrift:async e=>(X(n,e),!0),logger:J()});if(!r.ok){t.log(e.error(`Failed to check ${n}: ${r.error}`));continue}let a=r.version??`unknown`,o=s??`unknown`;s&&r.version&&s===r.version?t.log(`${n} is up to date (${o}).`):t.log(`Would update ${n}: ${o} → ${a}.`);continue}let l=await V({spec:i.spec,mode:`update`,expectedHookPackId:n,expectedIntegrity:i.integrity,onIntegrityDrift:async e=>(X(n,e),await a(`Continue updating "${n}" with this artifact?`)),logger:J()});if(!l.ok){t.log(e.error(`Failed to update ${n}: ${l.error}`));continue}let f=l.version??await Z(l.targetDir);u=U(u,{hookId:n,...pe({spec:i.spec,installPath:l.targetDir,version:f,resolution:l.npmResolution}),hooks:l.hooks}),d+=1;let p=s??`unknown`,m=f??`unknown`;s&&f&&s===f?t.log(`${n} already at ${p}.`):t.log(`Updated ${n}: ${p} → ${m}.`)}d>0&&(await o(u),Y())}),c.action(async()=>q(async()=>{let e=W(s());t.log($(e,{}))}))}export{De as registerHooksCli};
|
|
5
|
+
//# sourceMappingURL=hooks-cli-CsBrScq0.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{t as e}from"./utils-CGdo13HV.js";import{f as t}from"./frontmatter-C7mzDNxd.js";import{t as n}from"./entry-status-CoXkbJcX.js";import{n as r,r as i,t as a}from"./workspace-xNEpaJvu.js";import o from"node:path";function s(e){return e.metadata?.hookKey??e.hook.name}function c(e){let t=e.metadata?.install??[];return t.length===0?[]:t.map((e,t)=>{let n=(e.id??`${e.kind}-${t}`).trim(),r=e.bins??[],i=(e.label??``).trim();return i||=e.kind===`bundled`?`Bundled with OpenClaw`:e.kind===`npm`&&e.package?`Install ${e.package} (npm)`:e.kind===`git`&&e.repository?`Install from ${e.repository}`:`Run installer`,{id:n,kind:e.kind,label:i,bins:r}})}function l(e,a,o){let l=s(e),u=i(a,l),d=e.hook.source===`openclaw-plugin`,f=d?!1:u?.enabled===!1,p=e.metadata?.always===!0,m=e.metadata?.events??[],{emoji:h,homepage:g,required:_,missing:v,requirementsSatisfied:y,configChecks:b}=n({always:p,entry:e,hasLocalBin:t,remote:o?.remote,isEnvSatisfied:e=>!!(process.env[e]||u?.env?.[e]),isConfigSatisfied:e=>r(a,e)}),x=!f&&y;return{name:e.hook.name,description:e.hook.description,source:e.hook.source,pluginId:e.hook.pluginId,filePath:e.hook.filePath,baseDir:e.hook.baseDir,handlerPath:e.hook.handlerPath,hookKey:l,emoji:h,homepage:g,events:m,always:p,disabled:f,eligible:x,managedByPlugin:d,requirements:_,missing:v,configChecks:b,install:c(e)}}function u(t,n){return{workspaceDir:t,managedHooksDir:n?.managedHooksDir??o.join(e,`hooks`),hooks:(n?.entries??a(t,n)).map(e=>l(e,n?.config,n?.eligibility))}}export{u as t};
|
|
2
|
+
//# sourceMappingURL=hooks-status-BHt-Xvh4.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{t as e}from"./utils-UGOV_184.js";import{f as t}from"./frontmatter-BkZkwkVO.js";import{t as n}from"./entry-status-CCwwKO43.js";import{n as r,r as i,t as a}from"./workspace-C45T1Cxg.js";import o from"node:path";function s(e){return e.metadata?.hookKey??e.hook.name}function c(e){let t=e.metadata?.install??[];return t.length===0?[]:t.map((e,t)=>{let n=(e.id??`${e.kind}-${t}`).trim(),r=e.bins??[],i=(e.label??``).trim();return i||=e.kind===`bundled`?`Bundled with OpenClaw`:e.kind===`npm`&&e.package?`Install ${e.package} (npm)`:e.kind===`git`&&e.repository?`Install from ${e.repository}`:`Run installer`,{id:n,kind:e.kind,label:i,bins:r}})}function l(e,a,o){let l=s(e),u=i(a,l),d=e.hook.source===`openclaw-plugin`,f=d?!1:u?.enabled===!1,p=e.metadata?.always===!0,m=e.metadata?.events??[],{emoji:h,homepage:g,required:_,missing:v,requirementsSatisfied:y,configChecks:b}=n({always:p,entry:e,hasLocalBin:t,remote:o?.remote,isEnvSatisfied:e=>!!(process.env[e]||u?.env?.[e]),isConfigSatisfied:e=>r(a,e)}),x=!f&&y;return{name:e.hook.name,description:e.hook.description,source:e.hook.source,pluginId:e.hook.pluginId,filePath:e.hook.filePath,baseDir:e.hook.baseDir,handlerPath:e.hook.handlerPath,hookKey:l,emoji:h,homepage:g,events:m,always:p,disabled:f,eligible:x,managedByPlugin:d,requirements:_,missing:v,configChecks:b,install:c(e)}}function u(t,n){return{workspaceDir:t,managedHooksDir:n?.managedHooksDir??o.join(e,`hooks`),hooks:(n?.entries??a(t,n)).map(e=>l(e,n?.config,n?.eligibility))}}export{u as t};
|
|
2
|
+
//# sourceMappingURL=hooks-status-CRJ4J0ZW.js.map
|
package/dist/image-BkWwI54C.js
CHANGED
|
@@ -9,3 +9,4 @@ import{Uc as e,cu as t,ll as n,lt as r,ol as i}from"./auth-profiles-T8DuH3ax.js"
|
|
|
9
9
|
`).trim():``}function N(e){let t=e.trim();return t?`Reasoning:\n${t.split(`
|
|
10
10
|
`).map(e=>e&&`_${e}_`).join(`
|
|
11
11
|
`)}`:``}function P(e){let t=e.trimStart();if(!t.startsWith(`<`)||!/<\s*(?:think(?:ing)?|thought|antthinking)\s*>/i.test(t)||!/<\s*\/\s*(?:think(?:ing)?|thought|antthinking)\s*>/i.test(e))return null;let n=/<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,r=!1,i=0,a=0,o=[],s=e=>{e&&o.push({type:`text`,text:e})},c=e=>{let t=e.trim();t&&o.push({type:`thinking`,thinking:t})};for(let t of e.matchAll(n)){let n=t.index??0,o=!!t[1]?.includes(`/`);if(!r&&!o){s(e.slice(i,n)),a=n+t[0].length,r=!0;continue}r&&o&&(c(e.slice(a,n)),i=n+t[0].length,r=!1)}return r||(s(e.slice(i)),!o.some(e=>e.type===`thinking`))?null:o}function F(e){if(!Array.isArray(e.content)||e.content.some(e=>e&&typeof e==`object`&&e.type===`thinking`))return;let t=[],n=!1;for(let r of e.content){if(!r||typeof r!=`object`||!(`type`in r)){t.push(r);continue}if(r.type!==`text`){t.push(r);continue}let e=P(r.text);if(!e){t.push(r);continue}n=!0;for(let n of e)if(n.type===`thinking`)t.push({type:`thinking`,thinking:n.thinking});else if(n.type===`text`){let e=n.text.trimStart();e&&t.push({type:`text`,text:e})}}n&&(e.content=t)}function I(e){if(!e)return``;let t=/<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,n=``,r=0,i=!1;for(let a of e.matchAll(t)){let t=a.index??0;i&&(n+=e.slice(r,t)),i=a[1]!==`/`,r=t+a[0].length}return n.trim()}function L(e){if(!e)return``;let t=I(e);if(t)return t;let n=/<\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,r=/<\s*\/\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,i=[...e.matchAll(n)];if(i.length===0)return``;let a=[...e.matchAll(r)],o=i[i.length-1],s=a[a.length-1];if(s&&(s.index??-1)>(o.index??-1))return t;let c=(o.index??0)+o[0].length;return e.slice(c).trim()}function R(e,t){return u(l({name:e,args:t}))}function z(e){let t=e.trim(),n=/^data:([^;,]+);base64,([a-z0-9+/=\r\n]+)$/i.exec(t);if(!n)throw Error(`Invalid data URL (expected base64 data: URL).`);let r=(n[1]??``).trim().toLowerCase();if(!r.startsWith(`image/`))throw Error(`Unsupported data URL type: ${r||`unknown`}`);let i=(n[2]??``).trim(),a=Buffer.from(i,`base64`);if(a.length===0)throw Error(`Invalid data URL: empty payload.`);return{buffer:a,mimeType:r,kind:`image`}}function B(e){let t=e.message.stopReason,n=e.message.errorMessage?.trim();if(t===`error`||t===`aborted`)throw Error(n?`Image model failed (${e.provider}/${e.model}): ${n}`:`Image model failed (${e.provider}/${e.model})`);if(n)throw Error(`Image model failed (${e.provider}/${e.model}): ${n}`);let r=j(e.message);if(r.trim())return r.trim();throw Error(`Image model returned no text (${e.provider}/${e.model}).`)}function V(e){let t=o(e?.agents?.defaults?.imageModel),n=a(e?.agents?.defaults?.imageModel);return{...t?.trim()?{primary:t.trim()}:{},...n.length>0?{fallbacks:n}:{}}}function H(e){let t=e.cfg?.models?.providers?.[e.provider]?.models??[],n=(((e.provider===`minimax`?t.find(e=>(e?.id??``).trim()===`MiniMax-VL-01`&&Array.isArray(e?.input)&&e.input.includes(`image`)):null)??t.find(e=>!!(e?.id??``).trim()&&e.input?.includes(`image`)))?.id??``).trim();return n?`${e.provider}/${n}`:null}let U=null;function W(){return U??=import(`./pi-model-discovery-runtime-B22BpT0n.js`),U}async function G(t){await c(t.cfg,t.agentDir);let{discoverAuthStorage:r,discoverModels:a}=await W(),o=r(t.agentDir),s=a(o,t.agentDir),l=e(t.provider,t.model),u=s.find(l.provider,l.model);if(!u)throw Error(`Unknown model: ${l.provider}/${l.model}`);if(!u.input?.includes(`image`))throw Error(`Model does not support images: ${t.provider}/${t.model}`);let f=n(await i({model:u,cfg:t.cfg,agentDir:t.agentDir,profileId:t.profile,preferredProfile:t.preferredProfile}),u.provider);o.setRuntimeApiKey(u.provider,f);let m=t.buffer.toString(`base64`);return p(u.provider,u.id)?{text:await g({apiKey:f,prompt:t.prompt??`Describe the image.`,imageDataUrl:`data:${t.mime??`image/jpeg`};base64,${m}`,modelBaseUrl:u.baseUrl}),model:u.id}:{text:B({message:await d(u,{messages:[{role:`user`,content:[{type:`text`,text:t.prompt??`Describe the image.`},{type:`image`,data:m,mimeType:t.mime??`image/jpeg`}],timestamp:Date.now()}]},{apiKey:f,maxTokens:t.maxTokens??512}),provider:u.provider,model:u.id}),model:u.id}}export{f as C,p as S,A as _,H as a,y as b,L as c,R as d,T as f,O as g,E as h,z as i,I as l,k as m,B as n,j as o,F as p,V as r,M as s,G as t,N as u,w as v,g as w,_ as x,v as y};
|
|
12
|
+
//# sourceMappingURL=image-BkWwI54C.js.map
|
package/dist/image-CcVQg-YN.js
CHANGED
|
@@ -10,3 +10,4 @@ import{P as e,nt as t,rt as n}from"./paths-CrCoPIVK.js";import{_ as r,c as i}fro
|
|
|
10
10
|
`).trim():``}function st(e){let t=e.trim();return t?`Reasoning:\n${t.split(`
|
|
11
11
|
`).map(e=>e&&`_${e}_`).join(`
|
|
12
12
|
`)}`:``}function ct(e){let t=e.trimStart();if(!t.startsWith(`<`)||!/<\s*(?:think(?:ing)?|thought|antthinking)\s*>/i.test(t)||!/<\s*\/\s*(?:think(?:ing)?|thought|antthinking)\s*>/i.test(e))return null;let n=/<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,r=!1,i=0,a=0,o=[],s=e=>{e&&o.push({type:`text`,text:e})},c=e=>{let t=e.trim();t&&o.push({type:`thinking`,thinking:t})};for(let t of e.matchAll(n)){let n=t.index??0,o=!!t[1]?.includes(`/`);if(!r&&!o){s(e.slice(i,n)),a=n+t[0].length,r=!0;continue}r&&o&&(c(e.slice(a,n)),i=n+t[0].length,r=!1)}return r||(s(e.slice(i)),!o.some(e=>e.type===`thinking`))?null:o}function lt(e){if(!Array.isArray(e.content)||e.content.some(e=>e&&typeof e==`object`&&e.type===`thinking`))return;let t=[],n=!1;for(let r of e.content){if(!r||typeof r!=`object`||!(`type`in r)){t.push(r);continue}if(r.type!==`text`){t.push(r);continue}let e=ct(r.text);if(!e){t.push(r);continue}n=!0;for(let n of e)if(n.type===`thinking`)t.push({type:`thinking`,thinking:n.thinking});else if(n.type===`text`){let e=n.text.trimStart();e&&t.push({type:`text`,text:e})}}n&&(e.content=t)}function ut(e){if(!e)return``;let t=/<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,n=``,r=0,i=!1;for(let a of e.matchAll(t)){let t=a.index??0;i&&(n+=e.slice(r,t)),i=a[1]!==`/`,r=t+a[0].length}return n.trim()}function dt(e){if(!e)return``;let t=ut(e);if(t)return t;let n=/<\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,r=/<\s*\/\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,i=[...e.matchAll(n)];if(i.length===0)return``;let a=[...e.matchAll(r)],o=i[i.length-1],s=a[a.length-1];if(s&&(s.index??-1)>(o.index??-1))return t;let c=(o.index??0)+o[0].length;return e.slice(c).trim()}function ft(e,t){return X(Y({name:e,args:t}))}function pt(e){let t=e.trim(),n=/^data:([^;,]+);base64,([a-z0-9+/=\r\n]+)$/i.exec(t);if(!n)throw Error(`Invalid data URL (expected base64 data: URL).`);let r=(n[1]??``).trim().toLowerCase();if(!r.startsWith(`image/`))throw Error(`Unsupported data URL type: ${r||`unknown`}`);let i=(n[2]??``).trim(),a=Buffer.from(i,`base64`);if(a.length===0)throw Error(`Invalid data URL: empty payload.`);return{buffer:a,mimeType:r,kind:`image`}}function mt(e){let t=e.message.stopReason,n=e.message.errorMessage?.trim();if(t===`error`||t===`aborted`)throw Error(n?`Image model failed (${e.provider}/${e.model}): ${n}`:`Image model failed (${e.provider}/${e.model})`);if(n)throw Error(`Image model failed (${e.provider}/${e.model}): ${n}`);let r=at(e.message);if(r.trim())return r.trim();throw Error(`Image model returned no text (${e.provider}/${e.model}).`)}function ht(e){let r=n(e?.agents?.defaults?.imageModel),i=t(e?.agents?.defaults?.imageModel);return{...r?.trim()?{primary:r.trim()}:{},...i.length>0?{fallbacks:i}:{}}}function gt(e){let t=e.cfg?.models?.providers?.[e.provider]?.models??[],n=(((e.provider===`minimax`?t.find(e=>(e?.id??``).trim()===`MiniMax-VL-01`&&Array.isArray(e?.input)&&e.input.includes(`image`)):null)??t.find(e=>!!(e?.id??``).trim()&&e.input?.includes(`image`)))?.id??``).trim();return n?`${e.provider}/${n}`:null}let $=null;function _t(){return $??=import(`./pi-model-discovery-runtime-DgunM_0h.js`),$}async function vt(e){await x(e.cfg,e.agentDir);let{discoverAuthStorage:t,discoverModels:n}=await _t(),r=t(e.agentDir),i=n(r,e.agentDir),a=te(e.provider,e.model),o=i.find(a.provider,a.model);if(!o)throw Error(`Unknown model: ${a.provider}/${a.model}`);if(!o.input?.includes(`image`))throw Error(`Model does not support images: ${e.provider}/${e.model}`);let s=ee(await re({model:o,cfg:e.cfg,agentDir:e.agentDir,profileId:e.profile,preferredProfile:e.preferredProfile}),o.provider);r.setRuntimeApiKey(o.provider,s);let c=e.buffer.toString(`base64`);return C(o.provider,o.id)?{text:await w({apiKey:s,prompt:e.prompt??`Describe the image.`,imageDataUrl:`data:${e.mime??`image/jpeg`};base64,${c}`,modelBaseUrl:o.baseUrl}),model:o.id}:{text:mt({message:await ae(o,{messages:[{role:`user`,content:[{type:`text`,text:e.prompt??`Describe the image.`},{type:`image`,data:c,mimeType:e.mime??`image/jpeg`}],timestamp:Date.now()}]},{apiKey:s,maxTokens:e.maxTokens??512}),provider:o.provider,model:o.id}),model:o.id}}export{T as C,x as D,w as E,D as S,S as T,it as _,gt as a,A as b,dt as c,ft as d,tt as f,Q as g,nt as h,pt as i,ut as l,rt as m,mt as n,at as o,lt as p,ht as r,ot as s,vt as t,st as u,et as v,C as w,E as x,Y as y};
|
|
13
|
+
//# sourceMappingURL=image-CcVQg-YN.js.map
|
package/dist/image-Cm1RUBqD.js
CHANGED
|
@@ -10,3 +10,4 @@ import{Kt as e,P as t,qt as n}from"./paths-piJASC5k.js";import{f as r,x as i}fro
|
|
|
10
10
|
`).trim():``}function st(e){let t=e.trim();return t?`Reasoning:\n${t.split(`
|
|
11
11
|
`).map(e=>e&&`_${e}_`).join(`
|
|
12
12
|
`)}`:``}function ct(e){let t=e.trimStart();if(!t.startsWith(`<`)||!/<\s*(?:think(?:ing)?|thought|antthinking)\s*>/i.test(t)||!/<\s*\/\s*(?:think(?:ing)?|thought|antthinking)\s*>/i.test(e))return null;let n=/<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,r=!1,i=0,a=0,o=[],s=e=>{e&&o.push({type:`text`,text:e})},c=e=>{let t=e.trim();t&&o.push({type:`thinking`,thinking:t})};for(let t of e.matchAll(n)){let n=t.index??0,o=!!t[1]?.includes(`/`);if(!r&&!o){s(e.slice(i,n)),a=n+t[0].length,r=!0;continue}r&&o&&(c(e.slice(a,n)),i=n+t[0].length,r=!1)}return r||(s(e.slice(i)),!o.some(e=>e.type===`thinking`))?null:o}function lt(e){if(!Array.isArray(e.content)||e.content.some(e=>e&&typeof e==`object`&&e.type===`thinking`))return;let t=[],n=!1;for(let r of e.content){if(!r||typeof r!=`object`||!(`type`in r)){t.push(r);continue}if(r.type!==`text`){t.push(r);continue}let e=ct(r.text);if(!e){t.push(r);continue}n=!0;for(let n of e)if(n.type===`thinking`)t.push({type:`thinking`,thinking:n.thinking});else if(n.type===`text`){let e=n.text.trimStart();e&&t.push({type:`text`,text:e})}}n&&(e.content=t)}function ut(e){if(!e)return``;let t=/<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,n=``,r=0,i=!1;for(let a of e.matchAll(t)){let t=a.index??0;i&&(n+=e.slice(r,t)),i=a[1]!==`/`,r=t+a[0].length}return n.trim()}function dt(e){if(!e)return``;let t=ut(e);if(t)return t;let n=/<\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,r=/<\s*\/\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,i=[...e.matchAll(n)];if(i.length===0)return``;let a=[...e.matchAll(r)],o=i[i.length-1],s=a[a.length-1];if(s&&(s.index??-1)>(o.index??-1))return t;let c=(o.index??0)+o[0].length;return e.slice(c).trim()}function ft(e,t){return Y(J({name:e,args:t}))}function pt(e){let t=e.trim(),n=/^data:([^;,]+);base64,([a-z0-9+/=\r\n]+)$/i.exec(t);if(!n)throw Error(`Invalid data URL (expected base64 data: URL).`);let r=(n[1]??``).trim().toLowerCase();if(!r.startsWith(`image/`))throw Error(`Unsupported data URL type: ${r||`unknown`}`);let i=(n[2]??``).trim(),a=Buffer.from(i,`base64`);if(a.length===0)throw Error(`Invalid data URL: empty payload.`);return{buffer:a,mimeType:r,kind:`image`}}function mt(e){let t=e.message.stopReason,n=e.message.errorMessage?.trim();if(t===`error`||t===`aborted`)throw Error(n?`Image model failed (${e.provider}/${e.model}): ${n}`:`Image model failed (${e.provider}/${e.model})`);if(n)throw Error(`Image model failed (${e.provider}/${e.model}): ${n}`);let r=at(e.message);if(r.trim())return r.trim();throw Error(`Image model returned no text (${e.provider}/${e.model}).`)}function ht(t){let r=n(t?.agents?.defaults?.imageModel),i=e(t?.agents?.defaults?.imageModel);return{...r?.trim()?{primary:r.trim()}:{},...i.length>0?{fallbacks:i}:{}}}function gt(e){let t=e.cfg?.models?.providers?.[e.provider]?.models??[],n=(((e.provider===`minimax`?t.find(e=>(e?.id??``).trim()===`MiniMax-VL-01`&&Array.isArray(e?.input)&&e.input.includes(`image`)):null)??t.find(e=>!!(e?.id??``).trim()&&e.input?.includes(`image`)))?.id??``).trim();return n?`${e.provider}/${n}`:null}let $=null;function _t(){return $??=import(`./pi-model-discovery-runtime-EjRCOaIK.js`),$}async function vt(e){await b(e.cfg,e.agentDir);let{discoverAuthStorage:t,discoverModels:n}=await _t(),r=t(e.agentDir),i=n(r,e.agentDir),a=te(e.provider,e.model),o=i.find(a.provider,a.model);if(!o)throw Error(`Unknown model: ${a.provider}/${a.model}`);if(!o.input?.includes(`image`))throw Error(`Model does not support images: ${e.provider}/${e.model}`);let s=re(await ne({model:o,cfg:e.cfg,agentDir:e.agentDir,profileId:e.profile,preferredProfile:e.preferredProfile}),o.provider);r.setRuntimeApiKey(o.provider,s);let c=e.buffer.toString(`base64`);return S(o.provider,o.id)?{text:await C({apiKey:s,prompt:e.prompt??`Describe the image.`,imageDataUrl:`data:${e.mime??`image/jpeg`};base64,${c}`,modelBaseUrl:o.baseUrl}),model:o.id}:{text:mt({message:await oe(o,{messages:[{role:`user`,content:[{type:`text`,text:e.prompt??`Describe the image.`},{type:`image`,data:c,mimeType:e.mime??`image/jpeg`}],timestamp:Date.now()}]},{apiKey:s,maxTokens:e.maxTokens??512}),provider:o.provider,model:o.id}),model:o.id}}export{w as C,b as D,C as E,E as S,x as T,it as _,gt as a,k as b,dt as c,ft as d,nt as f,Q as g,X as h,pt as i,ut as l,rt as m,mt as n,at as o,lt as p,ht as r,ot as s,vt as t,st as u,tt as v,S as w,T as x,J as y};
|
|
13
|
+
//# sourceMappingURL=image-Cm1RUBqD.js.map
|
package/dist/image-DsoO5VP5.js
CHANGED
|
@@ -9,3 +9,4 @@ import{d as e}from"./utils-UGOV_184.js";import{E as t,bn as n,k as r,l as i,lu a
|
|
|
9
9
|
`).trim():``}function N(e){let t=e.trim();return t?`Reasoning:\n${t.split(`
|
|
10
10
|
`).map(e=>e&&`_${e}_`).join(`
|
|
11
11
|
`)}`:``}function P(e){let t=e.trimStart();if(!t.startsWith(`<`)||!/<\s*(?:think(?:ing)?|thought|antthinking)\s*>/i.test(t)||!/<\s*\/\s*(?:think(?:ing)?|thought|antthinking)\s*>/i.test(e))return null;let n=/<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,r=!1,i=0,a=0,o=[],s=e=>{e&&o.push({type:`text`,text:e})},c=e=>{let t=e.trim();t&&o.push({type:`thinking`,thinking:t})};for(let t of e.matchAll(n)){let n=t.index??0,o=!!t[1]?.includes(`/`);if(!r&&!o){s(e.slice(i,n)),a=n+t[0].length,r=!0;continue}r&&o&&(c(e.slice(a,n)),i=n+t[0].length,r=!1)}return r||(s(e.slice(i)),!o.some(e=>e.type===`thinking`))?null:o}function F(e){if(!Array.isArray(e.content)||e.content.some(e=>e&&typeof e==`object`&&e.type===`thinking`))return;let t=[],n=!1;for(let r of e.content){if(!r||typeof r!=`object`||!(`type`in r)){t.push(r);continue}if(r.type!==`text`){t.push(r);continue}let e=P(r.text);if(!e){t.push(r);continue}n=!0;for(let n of e)if(n.type===`thinking`)t.push({type:`thinking`,thinking:n.thinking});else if(n.type===`text`){let e=n.text.trimStart();e&&t.push({type:`text`,text:e})}}n&&(e.content=t)}function I(e){if(!e)return``;let t=/<\s*(\/?)\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,n=``,r=0,i=!1;for(let a of e.matchAll(t)){let t=a.index??0;i&&(n+=e.slice(r,t)),i=a[1]!==`/`,r=t+a[0].length}return n.trim()}function L(e){if(!e)return``;let t=I(e);if(t)return t;let n=/<\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,r=/<\s*\/\s*(?:think(?:ing)?|thought|antthinking)\s*>/gi,i=[...e.matchAll(n)];if(i.length===0)return``;let a=[...e.matchAll(r)],o=i[i.length-1],s=a[a.length-1];if(s&&(s.index??-1)>(o.index??-1))return t;let c=(o.index??0)+o[0].length;return e.slice(c).trim()}function R(e,t){return u(l({name:e,args:t}))}function z(e){let t=e.trim(),n=/^data:([^;,]+);base64,([a-z0-9+/=\r\n]+)$/i.exec(t);if(!n)throw Error(`Invalid data URL (expected base64 data: URL).`);let r=(n[1]??``).trim().toLowerCase();if(!r.startsWith(`image/`))throw Error(`Unsupported data URL type: ${r||`unknown`}`);let i=(n[2]??``).trim(),a=Buffer.from(i,`base64`);if(a.length===0)throw Error(`Invalid data URL: empty payload.`);return{buffer:a,mimeType:r,kind:`image`}}function B(e){let t=e.message.stopReason,n=e.message.errorMessage?.trim();if(t===`error`||t===`aborted`)throw Error(n?`Image model failed (${e.provider}/${e.model}): ${n}`:`Image model failed (${e.provider}/${e.model})`);if(n)throw Error(`Image model failed (${e.provider}/${e.model}): ${n}`);let r=j(e.message);if(r.trim())return r.trim();throw Error(`Image model returned no text (${e.provider}/${e.model}).`)}function V(e){let t=s(e?.agents?.defaults?.imageModel),n=o(e?.agents?.defaults?.imageModel);return{...t?.trim()?{primary:t.trim()}:{},...n.length>0?{fallbacks:n}:{}}}function H(e){let t=e.cfg?.models?.providers?.[e.provider]?.models??[],n=(((e.provider===`minimax`?t.find(e=>(e?.id??``).trim()===`MiniMax-VL-01`&&Array.isArray(e?.input)&&e.input.includes(`image`)):null)??t.find(e=>!!(e?.id??``).trim()&&e.input?.includes(`image`)))?.id??``).trim();return n?`${e.provider}/${n}`:null}let U=null;function W(){return U??=import(`./pi-model-discovery-runtime-BDcaBqzn.js`),U}async function G(e){await c(e.cfg,e.agentDir);let{discoverAuthStorage:n,discoverModels:a}=await W(),o=n(e.agentDir),s=a(o,e.agentDir),l=i(e.provider,e.model),u=s.find(l.provider,l.model);if(!u)throw Error(`Unknown model: ${l.provider}/${l.model}`);if(!u.input?.includes(`image`))throw Error(`Model does not support images: ${e.provider}/${e.model}`);let f=r(await t({model:u,cfg:e.cfg,agentDir:e.agentDir,profileId:e.profile,preferredProfile:e.preferredProfile}),u.provider);o.setRuntimeApiKey(u.provider,f);let m=e.buffer.toString(`base64`);return p(u.provider,u.id)?{text:await g({apiKey:f,prompt:e.prompt??`Describe the image.`,imageDataUrl:`data:${e.mime??`image/jpeg`};base64,${m}`,modelBaseUrl:u.baseUrl}),model:u.id}:{text:B({message:await d(u,{messages:[{role:`user`,content:[{type:`text`,text:e.prompt??`Describe the image.`},{type:`image`,data:m,mimeType:e.mime??`image/jpeg`}],timestamp:Date.now()}]},{apiKey:f,maxTokens:e.maxTokens??512}),provider:u.provider,model:u.id}),model:u.id}}export{f as C,p as S,A as _,H as a,y as b,L as c,R as d,T as f,O as g,E as h,z as i,I as l,k as m,B as n,j as o,F as p,V as r,M as s,G as t,N as u,w as v,g as w,_ as x,v as y};
|
|
12
|
+
//# sourceMappingURL=image-DsoO5VP5.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import"./paths-B4IRk3wi.js";import{A as e,B as t,J as n,K as r,R as i,W as a,Y as o,d as s,k as c,p as l,q as u,r as d,w as f}from"./subsystem-C5XF2Fy5.js";import{T as p,l as ee,m as te,n as ne}from"./utils-UGOV_184.js";import{Dr as m,Er as h,Hn as re,Io as ie,Kn as ae,Lo as oe,Ml as se,aa as ce,ia as le,oa as ue,qs as g,ra as de,zl as fe}from"./model-selection-BlC_rXAN.js";import{Ft as pe,gt as _,t as me}from"./reply-l-Y47HP4.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import{n as he,r as v}from"./command-format-BbDT1tlm.js";import"./boolean-Ch3DfXPy.js";import{r as y,t as b}from"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import{n as x,t as S}from"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import{i as C}from"./errors-Bunti32V.js";import"./send-Cgd_VJHR.js";import"./send-hZFDcGLM.js";import{c as w}from"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import{S as T,l as E}from"./audio-transcription-runner-D4Bp6MM7.js";import"./image-DsoO5VP5.js";import"./models-config-CdMhNxKV.js";import"./tool-display-DjuSUUbH.js";import"./fetch-guard-DPdY0NXR.js";import"./api-key-rotation-BRt-vnRV.js";import"./local-roots-6waH0SZ0.js";import"./model-catalog-C1kpjR75.js";import"./proxy-fetch-BADsUK4d.js";import"./tokens-XGbQGn67.js";import"./deliver-ClBkV2eD.js";import"./commands-CGpM84iR.js";import"./commands-registry-B1x54ukc.js";import"./pairing-store-Cg2UxreQ.js";import"./fetch-Dikjvc5M.js";import"./call-CqoMqP5b.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-DOzHPnht.js";import"./send-B7sHR38c2.js";import"./pi-model-discovery-Dps1PPWz.js";import"./exec-approvals-allowlist-CE3nYh0K.js";import"./exec-safe-bin-runtime-policy-Dt0GchLp.js";import"./ir-Dk7OQ4bA.js";import"./render-D8OWO2hT.js";import"./target-errors-a35Md15n.js";import"./read-only-account-inspect-DBwAwB3_.js";import"./channel-selection-CbNtbAEf.js";import"./plugin-auto-enable-DpVL6-ES.js";import"./send-C-AP01PR.js";import"./outbound-attachment-B7wMxwj6.js";import"./delivery-queue-CKbauSFq.js";import"./send-DbeEC2a3.js";import"./channel-activity-YjYNzCpJ.js";import"./tables-Oieq7UbT.js";import"./fetch-Bn0mWg6a.js";import"./skill-commands-HJHHZqt6.js";import"./workspace-dirs-BhF1Dzxt.js";import"./pairing-token-BjYBuREl.js";import"./restart-CHXEHdSC.js";import"./runtime-web-tools-bz76ZaRc.js";import"./command-secret-targets-BVN3kiT9.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-C8iru0UB.js";import"./onboard-helpers-zwybUJWu.js";import"./prompt-style-CXKekIBY.js";import"./pairing-labels-BUU_-70B.js";import"./memory-cli-jhzJ3as7.js";import"./query-expansion-0OxEb1Io.js";import"./manager-M1GKhLUC.js";import{t as D}from"./links-CySwdMcF.js";import"./cli-utils-BY7dLMFy.js";import"./help-format-BRbF_INg.js";import"./progress-LNttnI-y.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-DECgxo6A.js";import"./system-run-command-DEWnZE0r.js";import"./runtime-BC5Ep2pJ.js";import"./stagger-DmFYysrJ.js";import{r as O,t as k}from"./channel-web-CxHbET4B.js";import"./outbound-Bz8bbrMI.js";import"./session-CUUGjiV3.js";import"./login-CkWesqf_.js";import{t as A}from"./is-main-DG5ueqhF.js";import{t as j}from"./path-env-BPd1Yd-i.js";import{t as M}from"./runtime-guard-DFYBaYZS.js";import"./ports-BR0PLRtq.js";import{i as N,n as P,o as F,s as I}from"./program-context-B9ydtPje.js";import"./plugin-registry-CIBiHZH1.js";import{n as L}from"./channel-options-CEIzjOno.js";import R from"node:process";import{fileURLToPath as ge}from"node:url";import{Command as _e,InvalidArgumentError as ve}from"commander";function ye(){let e,t=()=>(e===void 0&&(e=L()),e);return{programVersion:se,get channelOptions(){return t()},get messageChannelOptions(){return t().join(`|`)},get agentChannelOptions(){return[`last`,...t()].join(`|`)}}}const z=`All your chats, one OpenClaw.`,B={newYear:`New Year's Day: New year, new config—same old EADDRINUSE, but this time we resolve it like grown-ups.`,lunarNewYear:`Lunar New Year: May your builds be lucky, your branches prosperous, and your merge conflicts chased away with fireworks.`,christmas:`Christmas: Ho ho ho—Santa's little claw-sistant is here to ship joy, roll back chaos, and stash the keys safely.`,eid:`Eid al-Fitr: Celebration mode: queues cleared, tasks completed, and good vibes committed to main with clean history.`,diwali:`Diwali: Let the logs sparkle and the bugs flee—today we light up the terminal and ship with pride.`,easter:`Easter: I found your missing environment variable—consider it a tiny CLI egg hunt with fewer jellybeans.`,hanukkah:`Hanukkah: Eight nights, eight retries, zero shame—may your gateway stay lit and your deployments stay peaceful.`,halloween:`Halloween: Spooky season: beware haunted dependencies, cursed caches, and the ghost of node_modules past.`,thanksgiving:`Thanksgiving: Grateful for stable ports, working DNS, and a bot that reads the logs so nobody has to.`,valentines:`Valentine's Day: Roses are typed, violets are piped—I'll automate the chores so you can spend time with humans.`},V=[`Your terminal just grew claws—type something and let the bot pinch the busywork.`,`Welcome to the command line: where dreams compile and confidence segfaults.`,`I run on caffeine, JSON5, and the audacity of "it worked on my machine."`,`Gateway online—please keep hands, feet, and appendages inside the shell at all times.`,`I speak fluent bash, mild sarcasm, and aggressive tab-completion energy.`,`One CLI to rule them all, and one more restart because you changed the port.`,`If it works, it's automation; if it breaks, it's a "learning opportunity."`,`Pairing codes exist because even bots believe in consent—and good security hygiene.`,`Your .env is showing; don't worry, I'll pretend I didn't see it.`,`I'll do the boring stuff while you dramatically stare at the logs like it's cinema.`,`I'm not saying your workflow is chaotic... I'm just bringing a linter and a helmet.`,`Type the command with confidence—nature will provide the stack trace if needed.`,`I don't judge, but your missing API keys are absolutely judging you.`,`I can grep it, git blame it, and gently roast it—pick your coping mechanism.`,`Hot reload for config, cold sweat for deploys.`,`I'm the assistant your terminal demanded, not the one your sleep schedule requested.`,`I keep secrets like a vault... unless you print them in debug logs again.`,`Automation with claws: minimal fuss, maximal pinch.`,`I'm basically a Swiss Army knife, but with more opinions and fewer sharp edges.`,`If you're lost, run doctor; if you're brave, run prod; if you're wise, run tests.`,`Your task has been queued; your dignity has been deprecated.`,`I can't fix your code taste, but I can fix your build and your backlog.`,`I'm not magic—I'm just extremely persistent with retries and coping strategies.`,`It's not "failing," it's "discovering new ways to configure the same thing wrong."`,`Give me a workspace and I'll give you fewer tabs, fewer toggles, and more oxygen.`,`I read logs so you can keep pretending you don't have to.`,`If something's on fire, I can't extinguish it—but I can write a beautiful postmortem.`,`I'll refactor your busywork like it owes me money.`,`Say "stop" and I'll stop—say "ship" and we'll both learn a lesson.`,`I'm the reason your shell history looks like a hacker-movie montage.`,`I'm like tmux: confusing at first, then suddenly you can't live without me.`,`I can run local, remote, or purely on vibes—results may vary with DNS.`,`If you can describe it, I can probably automate it—or at least make it funnier.`,`Your config is valid, your assumptions are not.`,`I don't just autocomplete—I auto-commit (emotionally), then ask you to review (logically).`,`Less clicking, more shipping, fewer "where did that file go" moments.`,`Claws out, commit in—let's ship something mildly responsible.`,`I'll butter your workflow like a lobster roll: messy, delicious, effective.`,`Shell yeah—I'm here to pinch the toil and leave you the glory.`,`If it's repetitive, I'll automate it; if it's hard, I'll bring jokes and a rollback plan.`,`The only crab in your contacts you actually want to hear from. 🦞`,`WhatsApp automation without the "please accept our new privacy policy".`,`iMessage green bubble energy, but for everyone.`,`No $999 stand required.`,`We ship features faster than Apple ships calculator updates.`,`Your AI assistant, now without the $3,499 headset.`,`Ah, the fruit tree company! 🍎`,`Greetings, Professor Falken`,`I don't sleep, I just enter low-power mode and dream of clean diffs.`,`Your personal assistant, minus the passive-aggressive calendar reminders.`,`Built by lobsters, for humans. Don't question the hierarchy.`,`I've seen your commit messages. We'll work on that together.`,`More integrations than your therapist's intake form.`,`Running on your hardware, reading your logs, judging nothing (mostly).`,`The only open-source project where the mascot could eat the competition.`,`Self-hosted, self-updating, self-aware (just kidding... unless?).`,`I autocomplete your thoughts—just slower and with more API calls.`,`Somewhere between 'hello world' and 'oh god what have I built.'`,`Your .zshrc wishes it could do what I do.`,`I've read more man pages than any human should—so you don't have to.`,`Powered by open source, sustained by spite and good documentation.`,`I'm the middleware between your ambition and your attention span.`,`Finally, a use for that always-on Mac Mini under your desk.`,`Like having a senior engineer on call, except I don't bill hourly or sigh audibly.`,`Making 'I'll automate that later' happen now.`,`Your second brain, except this one actually remembers where you left things.`,`Half butler, half debugger, full crustacean.`,`I don't have opinions about tabs vs spaces. I have opinions about everything else.`,`Open source means you can see exactly how I judge your config.`,`I've survived more breaking changes than your last three relationships.`,`Runs on a Raspberry Pi. Dreams of a rack in Iceland.`,`The lobster in your shell. 🦞`,`Alexa, but with taste.`,`I'm not AI-powered, I'm AI-possessed. Big difference.`,`Deployed locally, trusted globally, debugged eternally.`,`You had me at 'openclaw gateway start.'`,B.newYear,B.lunarNewYear,B.christmas,B.eid,B.diwali,B.easter,B.hanukkah,B.halloween,B.thanksgiving,B.valentines],H=1440*60*1e3;function U(e){return{year:e.getUTCFullYear(),month:e.getUTCMonth(),day:e.getUTCDate()}}const W=(e,t)=>n=>{let r=U(n);return r.month===e&&r.day===t},G=(e,t=1)=>n=>{let r=U(n);return e.some(([e,n,i])=>{if(r.year!==e)return!1;let a=Date.UTC(e,n,i),o=Date.UTC(r.year,r.month,r.day);return o>=a&&o<a+t*H})},be=new Map([[B.newYear,W(0,1)],[B.lunarNewYear,G([[2025,0,29],[2026,1,17],[2027,1,6]],1)],[B.eid,G([[2025,2,30],[2025,2,31],[2026,2,20],[2027,2,10]],1)],[B.diwali,G([[2025,9,20],[2026,10,8],[2027,9,28]],1)],[B.easter,G([[2025,3,20],[2026,3,5],[2027,2,28]],1)],[B.hanukkah,(e=>t=>{let n=U(t),r=e.find(e=>e.year===n.year);if(!r)return!1;let i=Date.UTC(r.year,r.month,r.day),a=Date.UTC(n.year,n.month,n.day);return a>=i&&a<i+r.duration*H})([{year:2025,month:11,day:15,duration:8},{year:2026,month:11,day:5,duration:8},{year:2027,month:11,day:25,duration:8}])],[B.halloween,W(9,31)],[B.thanksgiving,e=>{let t=U(e);if(t.month!==10)return!1;let n=1+(4-new Date(Date.UTC(t.year,10,1)).getUTCDay()+7)%7+21;return t.day===n}],[B.valentines,W(1,14)],[B.christmas,W(11,25)]]);function xe(e,t){let n=be.get(e);return n?n(t):!0}function Se(e={}){if(V.length===0)return[z];let t=e.now?e.now():new Date,n=V.filter(e=>xe(e,t));return n.length>0?n:V}function Ce(e={}){if(e.mode===`off`)return``;if(e.mode===`default`)return z;let t=(e.env??process.env)?.OPENCLAW_TAGLINE_INDEX;if(t!==void 0){let e=Number.parseInt(t,10);if(!Number.isNaN(e)&&e>=0){let t=V.length>0?V:[z];return t[e%t.length]}}let n=Se(e),r=e.random??Math.random;return n[Math.floor(r()*n.length)%n.length]}let K=!1;typeof Intl<`u`&&`Segmenter`in Intl&&new Intl.Segmenter(void 0,{granularity:`grapheme`});const we=e=>e.some(e=>e===`--json`||e.startsWith(`--json=`)),Te=e=>e.some(e=>e===`--version`||e===`-V`)||o(e);function q(e){if(e===`random`||e===`default`||e===`off`)return e}function Ee(e){let t=q(e.mode);if(t)return t;try{return q(g().cli?.banner?.taglineMode)}catch{return}}function J(t,n={}){let r=n.commit??_({env:n.env,moduleUrl:import.meta.url})??`unknown`,i=Ce({...n,mode:Ee(n)}),a=n.richTty??c(),o=`🦞 OpenClaw`,l=n.columns??process.stdout.columns??120,u=`${o} ${t} (${r})`,d=i?`${u} — ${i}`:u,f=s(d)<=l;if(a){if(f)return i?`${e.heading(o)} ${e.info(t)} ${e.muted(`(${r})`)} ${e.muted(`—`)} ${e.accentDim(i)}`:`${e.heading(o)} ${e.info(t)} ${e.muted(`(${r})`)}`;let n=`${e.heading(o)} ${e.info(t)} ${e.muted(`(${r})`)}`;return i?`${n}\n${`${` `.repeat(3)}${e.accentDim(i)}`}`:n}if(f)return d;let p=u;return i?`${p}\n${`${` `.repeat(3)}${i}`}`:p}function De(e,t={}){if(K)return;let n=t.argv??process.argv;if(!process.stdout.isTTY||we(n)||Te(n))return;let r=J(e,t);process.stdout.write(`\n${r}\n\n`),K=!0}function Oe(){return K}const Y=i.join(`|`);function ke(e){let n=t(e);if(!n)throw new ve(`Invalid --log-level (use ${Y})`);return n}const X=v(),Ae=ee(X),je=new Set([...N(),...I()]),Me=[[`openclaw models --help`,`Show detailed help for the models command.`],[`openclaw channels login --verbose`,`Link personal WhatsApp Web and show QR + connection logs.`],[`openclaw message send --target +15555550123 --message "Hi" --json`,`Send via your web session and print JSON result.`],[`openclaw gateway --port 18789`,`Run the WebSocket Gateway locally.`],[`openclaw --dev gateway`,`Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.`],[`openclaw gateway --force`,`Kill anything bound to the default gateway port, then start it.`],[`openclaw gateway ...`,`Gateway control via WebSocket.`],[`openclaw agent --to +15555550123 --message "Run summary" --deliver`,`Talk directly to the agent using the Gateway; optionally send the WhatsApp reply.`],[`openclaw message send --channel telegram --target @mychat --message "Hi"`,`Send via your Telegram bot.`]];function Ne(t,n){t.name(X).description(``).version(n.programVersion).option(`--dev`,`Dev profile: isolate state under ~/.qbotclaw-dev, default gateway port 19001, and shift derived ports (browser/canvas)`).option(`--profile <name>`,`Use a named profile (isolates OPENCLAW_STATE_DIR/OPENCLAW_CONFIG_PATH under ~/.qbotclaw-<name>)`).option(`--log-level <level>`,`Global log level override for file + console (${Y})`,ke),t.option(`--no-color`,`Disable ANSI colors`,!1),t.helpOption(`-h, --help`,`Display help for command`),t.helpCommand(`help [command]`,`Display help for command`),t.configureHelp({sortSubcommands:!0,sortOptions:!0,optionTerm:t=>e.option(t.flags),subcommandTerm:n=>{let r=n.parent===t&&je.has(n.name());return e.command(r?`${n.name()} *`:n.name())}});let r=t=>{let n=t;return RegExp(`^Usage:\\s+${Ae}\\s+\\[options\\]\\s+\\[command\\]\\s*$`,`m`).test(n)&&/^Commands:/m.test(n)&&(n=n.replace(/^Commands:/m,`Commands:\n ${e.muted(`Hint: commands suffixed with * have subcommands. Run <command> --help for details.`)}`)),n.replace(/^Usage:/gm,e.heading(`Usage:`)).replace(/^Options:/gm,e.heading(`Options:`)).replace(/^Commands:/gm,e.heading(`Commands:`))};if(t.configureOutput({writeOut:e=>{process.stdout.write(r(e))},writeErr:e=>{process.stderr.write(r(e))},outputError:(t,n)=>n(e.error(t))}),u(process.argv,`-V`)||u(process.argv,`--version`)||o(process.argv)){let e=_({moduleUrl:import.meta.url});console.log(e?`OpenClaw ${n.programVersion} (${e})`:`OpenClaw ${n.programVersion}`),process.exit(0)}t.addHelpText(`beforeAll`,()=>{if(Oe())return``;let e=c();return`\n${J(n.programVersion,{richTty:e})}\n`});let i=Me.map(([t,n])=>` ${e.command(he(t,X))}\n ${e.muted(n)}`).join(`
|
|
3
3
|
`);t.addHelpText(`afterAll`,({command:n})=>{if(n!==t)return``;let r=D(`/cli`,`docs.openclaw.ai/cli`);return`\n${e.heading(`Examples:`)}\n${i}\n\n${e.muted(`Docs:`)} ${r}\n`})}function Pe(e){let t=e;for(;t.parent&&t.parent.parent;)t=t.parent;let n=t.name(),r=v();!n||n===r||(process.title=`${r}-${n}`)}const Fe=new Set([`message`,`channels`,`directory`,`agents`,`configure`,`onboard`,`status`,`health`]),Ie=new Set([`backup`,`doctor`,`completion`,`secrets`]),Z=new Set([`config set`]);let Q,$;function Le(e){let[t,n]=e;return t?!!(Ie.has(t)||t===`config`&&n===`validate`):!1}function Re(){return Q??=import(`./config-guard-sYYx9zEF.js`),Q}function ze(){return $??=import(`./plugin-registry-CIBiHZH1.js`).then(e=>e.n),$}function Be(e){let t=e;for(;t.parent;)t=t.parent;return t}function Ve(e){let t=Be(e);if(typeof t.getOptionValueSource!=`function`||t.getOptionValueSource(`logLevel`)!==`cli`)return;let n=t.opts().logLevel;return typeof n==`string`?n:void 0}function He(e,t){if(!u(t,`--json`))return!1;let n=`${e[0]??``} ${e[1]??``}`.trim();return!Z.has(n)}function Ue(e,t){e.hook(`preAction`,async(e,i)=>{Pe(i);let o=process.argv;if(n(o))return;let s=a(o,2);b(process.env.OPENCLAW_HIDE_BANNER)||s[0]===`update`||s[0]===`completion`||s[0]===`plugins`&&s[1]===`update`||De(t);let c=r(o,{includeDebug:!0});f(c);let u=Ve(i);if(u&&(process.env.OPENCLAW_LOG_LEVEL=u),c||(process.env.NODE_NO_WARNINGS??=`1`),Le(s))return;let d=He(s,o),{ensureConfigReady:p}=await Re();if(await p({runtime:l,commandPath:s,...d?{suppressDoctorStdout:!0}:{}}),Fe.has(s[0])){let{ensurePluginRegistryLoaded:e}=await ze();e()}})}function We(){let e=new _e,t=ye(),n=process.argv;return P(e,t),Ne(e,t),Ue(e,t.programVersion),F(e,t,n),e}fe({quiet:!0}),y(),j(),d(),M();const Ge=We();A({currentFile:ge(import.meta.url)})&&(E(),R.on(`uncaughtException`,e=>{console.error(`[openclaw] Uncaught exception:`,C(e)),R.exit(1)}),Ge.parseAsync(R.argv).catch(e=>{console.error(`[openclaw] CLI failed:`,C(e)),R.exit(1)}));export{de as PortInUseError,T as applyTemplate,ne as assertWebChannel,pe as createDefaultDeps,h as deriveSessionKey,le as describePortOwner,ie as ensureBinary,ce as ensurePortAvailable,me as getReplyFromConfig,ue as handlePortError,g as loadConfig,re as loadSessionStore,k as monitorWebChannel,te as normalizeE164,oe as promptYesNo,m as resolveSessionKey,w as resolveStorePath,S as runCommandWithTimeout,x as runExec,ae as saveSessionStore,p as toWhatsappJid,O as waitForever};
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
package/dist/inspect-BKV-I1UE.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{i as e,m as t,p as n,u as r}from"./arg-split-DE5RqDHq.js";import{r as i}from"./service-BtB9epJk.js";import a from"node:path";import o from"node:fs/promises";const s=[`openclaw`,`clawdbot`,`moltbot`];function c(e=process.env){let i=e.OPENCLAW_PROFILE;switch(process.platform){case`darwin`:{let e=r(i);return[`launchctl bootout gui/$UID/${e}`,`rm ~/Library/LaunchAgents/${e}.plist`]}case`linux`:{let e=n(i);return[`systemctl --user disable --now ${e}.service`,`rm ~/.config/systemd/user/${e}.service`]}case`win32`:return[`schtasks /Delete /TN "${t(i)}" /F`];default:return[]}}function l(e){let t=e.HOME?.trim()||e.USERPROFILE?.trim();if(!t)throw Error(`Missing HOME`);return t}function u(e){let t=e.toLowerCase();for(let e of s)if(t.includes(e))return e;return null}function d(t){let n=t.toLowerCase(),r=[`openclaw_service_marker`],i=[`openclaw_service_kind`],a=[e.toLowerCase()],o=r.some(e=>n.includes(e)),s=i.some(e=>n.includes(e)),c=a.some(e=>n.includes(e));return o&&s&&c&&n.includes(`gateway`)}function f(e,t){return d(t)?!0:t.toLowerCase().includes(`gateway`)?e.startsWith(`ai.openclaw.`):!1}function p(e,t){return d(t)?!0:e.startsWith(`openclaw-gateway`)?t.toLowerCase().includes(`gateway`):!1}function m(e){let n=e.trim().toLowerCase();return n?n===t().toLowerCase()||n.startsWith(`openclaw gateway`):!1}function h(e){let t=e.match(/<key>Label<\/key>\s*<string>([\s\S]*?)<\/string>/i);return t&&t[1]?.trim()||null}function g(e){return e===r()}function _(e){return e===n()}function v(e){let t=e.toLowerCase();return t.includes(`clawdbot`)||t.includes(`moltbot`)}async function y(e){try{return await o.readdir(e)}catch{return[]}}async function b(e){try{return await o.readFile(e,`utf8`)}catch{return null}}async function x(e){let t=[],n=await y(e.dir);for(let r of n){if(!r.endsWith(e.extension))continue;let n=r.slice(0,-e.extension.length);if(e.isIgnoredName(n))continue;let i=a.join(e.dir,r),o=await b(i);o!==null&&t.push({entry:r,name:n,fullPath:i,contents:o})}return t}async function S(e){let t=[],n=await x({dir:e.dir,extension:`.plist`,isIgnoredName:g});for(let{name:r,fullPath:i,contents:a}of n){let n=u(a),o=h(a)??r;if(!n){if(!(v(r)||v(o)))continue;t.push({platform:`darwin`,label:o,detail:`plist: ${i}`,scope:e.scope,marker:v(o)?`clawdbot`:`moltbot`,legacy:!0});continue}g(o)||n===`openclaw`&&f(o,a)||t.push({platform:`darwin`,label:o,detail:`plist: ${i}`,scope:e.scope,marker:n,legacy:n!==`openclaw`||v(o)})}return t}async function C(e){let t=[],n=await x({dir:e.dir,extension:`.service`,isIgnoredName:_});for(let{entry:r,name:i,fullPath:a,contents:o}of n){let n=u(o);n&&(n===`openclaw`&&p(i,o)||t.push({platform:`linux`,label:r,detail:`unit: ${a}`,scope:e.scope,marker:n,legacy:n!==`openclaw`}))}return t}function w(e){let t=[],n=null;for(let r of e.split(/\r?\n/)){let e=r.trim();if(!e){n&&=(t.push(n),null);continue}let i=e.indexOf(`:`);if(i<=0)continue;let a=e.slice(0,i).trim().toLowerCase(),o=e.slice(i+1).trim();if(o){if(a===`taskname`){n&&t.push(n),n={name:o};continue}n&&a===`task to run`&&(n.taskToRun=o)}}return n&&t.push(n),t}async function T(e,t={}){let n=[],r=new Set,o=e=>{let t=`${e.platform}:${e.label}:${e.detail}:${e.scope}`;r.has(t)||(r.add(t),n.push(e))};if(process.platform===`darwin`){try{let n=l(e),r=a.join(n,`Library`,`LaunchAgents`);for(let e of await S({dir:r,scope:`user`}))o(e);if(t.deep){for(let e of await S({dir:a.join(a.sep,`Library`,`LaunchAgents`),scope:`system`}))o(e);for(let e of await S({dir:a.join(a.sep,`Library`,`LaunchDaemons`),scope:`system`}))o(e)}}catch{return n}return n}if(process.platform===`linux`){try{let n=l(e),r=a.join(n,`.config`,`systemd`,`user`);for(let e of await C({dir:r,scope:`user`}))o(e);if(t.deep)for(let e of[`/etc/systemd/system`,`/usr/lib/systemd/system`,`/lib/systemd/system`])for(let t of await C({dir:e,scope:`system`}))o(t)}catch{return n}return n}if(process.platform===`win32`){if(!t.deep)return n;let e=await i([`/Query`,`/FO`,`LIST`,`/V`]);if(e.code!==0)return n;let r=w(e.stdout);for(let e of r){let t=e.name.trim();if(!t||m(t))continue;let n=t.toLowerCase(),r=e.taskToRun?.toLowerCase()??``,i=null;for(let e of s)if(n.includes(e)||r.includes(e)){i=e;break}i&&o({platform:`win32`,label:t,detail:e.taskToRun?`task: ${t}, run: ${e.taskToRun}`:t,scope:`system`,marker:i,legacy:i!==`openclaw`})}return n}return n}export{c as n,T as t};
|
|
2
|
+
//# sourceMappingURL=inspect-BKV-I1UE.js.map
|
package/dist/inspect-z59cgmYc.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import{i as e,m as t,p as n,u as r}from"./arg-split-BOqSMBuf.js";import{r as i}from"./service-DZ9EbS15.js";import a from"node:path";import o from"node:fs/promises";const s=[`openclaw`,`clawdbot`,`moltbot`];function c(e=process.env){let i=e.OPENCLAW_PROFILE;switch(process.platform){case`darwin`:{let e=r(i);return[`launchctl bootout gui/$UID/${e}`,`rm ~/Library/LaunchAgents/${e}.plist`]}case`linux`:{let e=n(i);return[`systemctl --user disable --now ${e}.service`,`rm ~/.config/systemd/user/${e}.service`]}case`win32`:return[`schtasks /Delete /TN "${t(i)}" /F`];default:return[]}}function l(e){let t=e.HOME?.trim()||e.USERPROFILE?.trim();if(!t)throw Error(`Missing HOME`);return t}function u(e){let t=e.toLowerCase();for(let e of s)if(t.includes(e))return e;return null}function d(t){let n=t.toLowerCase(),r=[`openclaw_service_marker`],i=[`openclaw_service_kind`],a=[e.toLowerCase()],o=r.some(e=>n.includes(e)),s=i.some(e=>n.includes(e)),c=a.some(e=>n.includes(e));return o&&s&&c&&n.includes(`gateway`)}function f(e,t){return d(t)?!0:t.toLowerCase().includes(`gateway`)?e.startsWith(`ai.openclaw.`):!1}function p(e,t){return d(t)?!0:e.startsWith(`openclaw-gateway`)?t.toLowerCase().includes(`gateway`):!1}function m(e){let n=e.trim().toLowerCase();return n?n===t().toLowerCase()||n.startsWith(`openclaw gateway`):!1}function h(e){let t=e.match(/<key>Label<\/key>\s*<string>([\s\S]*?)<\/string>/i);return t&&t[1]?.trim()||null}function g(e){return e===r()}function _(e){return e===n()}function v(e){let t=e.toLowerCase();return t.includes(`clawdbot`)||t.includes(`moltbot`)}async function y(e){try{return await o.readdir(e)}catch{return[]}}async function b(e){try{return await o.readFile(e,`utf8`)}catch{return null}}async function x(e){let t=[],n=await y(e.dir);for(let r of n){if(!r.endsWith(e.extension))continue;let n=r.slice(0,-e.extension.length);if(e.isIgnoredName(n))continue;let i=a.join(e.dir,r),o=await b(i);o!==null&&t.push({entry:r,name:n,fullPath:i,contents:o})}return t}async function S(e){let t=[],n=await x({dir:e.dir,extension:`.plist`,isIgnoredName:g});for(let{name:r,fullPath:i,contents:a}of n){let n=u(a),o=h(a)??r;if(!n){if(!(v(r)||v(o)))continue;t.push({platform:`darwin`,label:o,detail:`plist: ${i}`,scope:e.scope,marker:v(o)?`clawdbot`:`moltbot`,legacy:!0});continue}g(o)||n===`openclaw`&&f(o,a)||t.push({platform:`darwin`,label:o,detail:`plist: ${i}`,scope:e.scope,marker:n,legacy:n!==`openclaw`||v(o)})}return t}async function C(e){let t=[],n=await x({dir:e.dir,extension:`.service`,isIgnoredName:_});for(let{entry:r,name:i,fullPath:a,contents:o}of n){let n=u(o);n&&(n===`openclaw`&&p(i,o)||t.push({platform:`linux`,label:r,detail:`unit: ${a}`,scope:e.scope,marker:n,legacy:n!==`openclaw`}))}return t}function w(e){let t=[],n=null;for(let r of e.split(/\r?\n/)){let e=r.trim();if(!e){n&&=(t.push(n),null);continue}let i=e.indexOf(`:`);if(i<=0)continue;let a=e.slice(0,i).trim().toLowerCase(),o=e.slice(i+1).trim();if(o){if(a===`taskname`){n&&t.push(n),n={name:o};continue}n&&a===`task to run`&&(n.taskToRun=o)}}return n&&t.push(n),t}async function T(e,t={}){let n=[],r=new Set,o=e=>{let t=`${e.platform}:${e.label}:${e.detail}:${e.scope}`;r.has(t)||(r.add(t),n.push(e))};if(process.platform===`darwin`){try{let n=l(e),r=a.join(n,`Library`,`LaunchAgents`);for(let e of await S({dir:r,scope:`user`}))o(e);if(t.deep){for(let e of await S({dir:a.join(a.sep,`Library`,`LaunchAgents`),scope:`system`}))o(e);for(let e of await S({dir:a.join(a.sep,`Library`,`LaunchDaemons`),scope:`system`}))o(e)}}catch{return n}return n}if(process.platform===`linux`){try{let n=l(e),r=a.join(n,`.config`,`systemd`,`user`);for(let e of await C({dir:r,scope:`user`}))o(e);if(t.deep)for(let e of[`/etc/systemd/system`,`/usr/lib/systemd/system`,`/lib/systemd/system`])for(let t of await C({dir:e,scope:`system`}))o(t)}catch{return n}return n}if(process.platform===`win32`){if(!t.deep)return n;let e=await i([`/Query`,`/FO`,`LIST`,`/V`]);if(e.code!==0)return n;let r=w(e.stdout);for(let e of r){let t=e.name.trim();if(!t||m(t))continue;let n=t.toLowerCase(),r=e.taskToRun?.toLowerCase()??``,i=null;for(let e of s)if(n.includes(e)||r.includes(e)){i=e;break}i&&o({platform:`win32`,label:t,detail:e.taskToRun?`task: ${t}, run: ${e.taskToRun}`:t,scope:`system`,marker:i,legacy:i!==`openclaw`})}return n}return n}export{c as n,T as t};
|
|
2
|
+
//# sourceMappingURL=inspect-z59cgmYc.js.map
|