@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
|
@@ -3,3 +3,4 @@ import{Ct as e,Et as t,kt as n,s as r,wt as i}from"./paths-piJASC5k.js";import".
|
|
|
3
3
|
`),a={...n,body:i,mentionedJids:r.size>0?Array.from(r):void 0};await e.onMessage(a)},onError:e=>{t.error({error:String(e)},`failed handling inbound web message`),n.error(`Failed handling inbound web message: ${String(e)}`)}}),_=new Map,v=300*1e3,y=r.signalRepository?.lidMapping,b=async t=>g(t,{authDir:e.authDir,lidLookup:y}),x=async e=>{let t=_.get(e);if(t&&t.expires>Date.now())return t;try{let t=await r.groupMetadata(e),n=(await Promise.all(t.participants?.map(async e=>await b(e.id)??e.id)??[])).filter(Boolean)??[],i={subject:t.subject,participants:n,expires:Date.now()+v};return _.set(e,i),i}catch(t){return u(`Failed to fetch group metadata for ${e}: ${String(t)}`),{expires:Date.now()+v}}},S=async t=>{let n=t.key?.id??void 0,a=t.key?.remoteJid;if(!a||a.endsWith(`@status`)||a.endsWith(`@broadcast`))return null;let o=Xe(a)===!0;if(n&&it(`${e.accountId}:${a}:${n}`))return null;let s=t.key?.participant??void 0,c=o?a:await b(a);if(!c)return null;let l=o?s?await b(s):null:c,u,d;if(o){let e=await x(a);u=e.subject,d=e.participants}let f=t.messageTimestamp?Number(t.messageTimestamp)*1e3:void 0,p=await Tt({accountId:e.accountId,from:c,selfE164:m,senderE164:l,group:o,pushName:t.pushName??void 0,isFromMe:!!t.key?.fromMe,messageTimestampMs:f,connectedAtMs:i,sock:{sendMessage:(e,t)=>r.sendMessage(e,t)},remoteJid:a});return p.allowed?{id:n,remoteJid:a,group:o,participantJid:s,from:c,senderE164:l,groupSubject:u,groupParticipants:d,messageTimestampMs:f,access:p}:null},C=async t=>{let{id:n,remoteJid:i,participantJid:o,access:s}=t;if(n&&!s.isSelfChat&&e.sendReadReceipts!==!1)try{await r.readMessages([{remoteJid:i,id:n,participant:o,fromMe:!1}]),a()&&u(`Marked message ${n} as read for ${i}${o?` (participant ${o})`:``}`)}catch(e){u(`Failed to mark message ${n} read: ${String(e)}`)}else n&&s.isSelfChat&&a()&&u(`Self-chat mode: skipping read receipt for ${n}`)},w=async t=>{let n=St(t.message??void 0),i=n?Te(n):void 0,a=pt(t.message??void 0);if(i&&(a=[a,i].filter(Boolean).join(`
|
|
4
4
|
`).trim()),!a&&(a=mt(t.message??void 0),!a))return null;let o=Ct(t.message),s,c,l;try{let n=await Ot(t,r);if(n){let t=(typeof e.mediaMaxMb==`number`&&e.mediaMaxMb>0?e.mediaMaxMb:50)*1024*1024;s=(await ne(n.buffer,n.mimetype,`inbound`,t,n.fileName)).path,c=n.mimetype,l=n.fileName}}catch(e){u(`Inbound media download failed: ${String(e)}`)}return{body:a,location:n??void 0,replyContext:o,mediaPath:s,mediaType:c,mediaFileName:l}},T=async(e,i,a)=>{let o=i.remoteJid,s=async()=>{try{await r.sendPresenceUpdate(`composing`,o)}catch(e){u(`Presence update failed: ${String(e)}`)}},c=async e=>{await r.sendMessage(o,{text:e})},l=async e=>{await r.sendMessage(o,e)},d=i.messageTimestampMs,p=ft(e.message),g=e.pushName??void 0;t.info({from:i.from,to:m??`me`,body:a.body,mediaPath:a.mediaPath,mediaType:a.mediaType,mediaFileName:a.mediaFileName,timestamp:d},`inbound message`);let _={id:i.id,from:i.from,conversationId:i.from,to:m??`me`,accountId:i.access.resolvedAccountId,body:a.body,pushName:g,timestamp:d,chatType:i.group?`group`:`direct`,chatId:i.remoteJid,senderJid:i.participantJid,senderE164:i.senderE164??void 0,senderName:g,replyToId:a.replyContext?.id,replyToBody:a.replyContext?.body,replyToSender:a.replyContext?.sender,replyToSenderJid:a.replyContext?.senderJid,replyToSenderE164:a.replyContext?.senderE164,groupSubject:i.groupSubject,groupParticipants:i.groupParticipants,mentionedJids:p??void 0,selfJid:f,selfE164:m,fromMe:!!e.key?.fromMe,location:a.location??void 0,sendComposing:s,reply:c,sendMedia:l,mediaPath:a.mediaPath,mediaType:a.mediaType,mediaFileName:a.mediaFileName};try{Promise.resolve(h.enqueue(_)).catch(e=>{t.error({error:String(e)},`failed handling inbound web message`),n.error(`Failed handling inbound web message: ${String(e)}`)})}catch(e){t.error({error:String(e)},`failed handling inbound web message`),n.error(`Failed handling inbound web message: ${String(e)}`)}},E=async t=>{if(!(t.type!==`notify`&&t.type!==`append`))for(let n of t.messages??[]){Fe({channel:`whatsapp`,accountId:e.accountId,direction:`inbound`});let r=await S(n);if(!r||(await C(r),t.type===`append`))continue;let i=await w(n);i&&await T(n,r,i)}};r.ev.on(`messages.upsert`,E);let D=e=>{try{if(e.connection===`close`){let t=He(e.lastDisconnect?.error);d({status:t,isLoggedOut:t===Ke.loggedOut,error:e.lastDisconnect?.error})}}catch(e){t.error({error:String(e)},`connection.update handler error`),d({status:void 0,isLoggedOut:!1,error:e})}};return r.ev.on(`connection.update`,D),{close:async()=>{try{let e=r.ev,t=E,n=D;typeof e.off==`function`?(e.off(`messages.upsert`,t),e.off(`connection.update`,n)):typeof e.removeListener==`function`&&(e.removeListener(`messages.upsert`,t),e.removeListener(`connection.update`,n)),r.ws?.close()}catch(e){u(`Socket close failed: ${String(e)}`)}},onClose:c,signalClose:e=>{d(e??{status:void 0,isLoggedOut:!1,error:`closed`})},...jt({sock:{sendMessage:(e,t)=>r.sendMessage(e,t),sendPresenceUpdate:(e,t)=>r.sendPresenceUpdate(e,t)},defaultAccountId:e.accountId})}}function Nt(e,t){return{mentionRegexes:W(e,t),allowFrom:e.channels?.whatsapp?.allowFrom}}function Pt(e,t){let n=t?{authDir:t}:void 0;return{normalizedMentions:e.mentionedJids?.length?e.mentionedJids.map(e=>p(e,n)??e).filter(Boolean):[],selfE164:e.selfE164??(e.selfJid?p(e.selfJid,n):null),selfJid:e.selfJid?e.selfJid.replace(/:\\d+/,``):null}}function Ft(e,t,n){let r=e=>de(e),i=h(n.selfE164,t.allowFrom);if((e.mentionedJids?.length??0)>0&&!i)return!!(n.selfE164&&n.normalizedMentions.includes(n.selfE164)||n.selfJid&&n.normalizedMentions.includes(n.selfJid));let a=r(e.body);if(t.mentionRegexes.some(e=>e.test(a)))return!0;if(n.selfE164){let t=n.selfE164.replace(/\D/g,``);if(t){if(a.replace(/[^\d]/g,``).includes(t))return!0;let n=e.body.replace(/[\s-]/g,``);if(RegExp(`\\+?${t}`,`i`).test(n))return!0}}return!1}function It(e,t,n){let r=Pt(e,n);return{wasMentioned:Ft(e,t,r),details:{from:e.from,body:e.body,bodyClean:de(e.body),mentionedJids:e.mentionedJids??null,normalizedMentionedJids:r.normalizedMentions.length?r.normalizedMentions:null,selfJid:e.selfJid??null,selfJidBare:r.selfJid,selfE164:e.selfE164??null,resolvedSelfE164:r.selfE164}}}function Lt(e,t){let n=e.allowFrom;return(Array.isArray(n)&&n.length>0?n:t?[t]:[]).filter(e=>!!(e&&e!==`*`)).map(e=>f(e)).filter(e=>!!e)}function Rt(e){let t=new Set,n=Math.max(1,e.maxItems??100),r=e=>`combined:${e.sessionKey}:${e.combinedBody}`,i=()=>{for(;t.size>n;){let e=t.values().next().value;if(!e)break;t.delete(e)}};return{rememberText:(n,a)=>{n&&(t.add(n),a.combinedBody&&a.combinedBodySessionKey&&t.add(r({sessionKey:a.combinedBodySessionKey,combinedBody:a.combinedBody})),a.logVerboseMessage&&e.logVerbose?.(`Added to echo detection set (size now: ${t.size}): ${n.substring(0,50)}...`),i())},has:e=>t.has(e),forget:e=>{t.delete(e)},buildCombinedKey:r}}function zt(t){let n=fe({agentId:t.agentId,channel:`whatsapp`,accountId:t.route.accountId,peer:{kind:t.msg.chatType===`group`?`group`:`direct`,id:t.peerId},dmScope:t.cfg.session?.dmScope,identityLinks:t.cfg.session?.identityLinks}),r=i({agentId:t.agentId,mainKey:e});return{sessionKey:n,mainSessionKey:r,lastRoutePolicy:K({sessionKey:n,mainSessionKey:r})}}async function Bt(e){let t=e.cfg.broadcast?.[e.peerId];if(!t||!Array.isArray(t)||t.length===0)return!1;let r=e.cfg.broadcast?.strategy||`parallel`;X.info(`Broadcasting message to ${t.length} agents (${r})`);let i=e.cfg.agents?.list?.map(e=>n(e.id)),a=(i?.length??0)>0,o=e.msg.chatType===`group`?e.groupHistories.get(e.groupHistoryKey)??[]:void 0,s=async t=>{let r=n(t);if(a&&!i?.includes(r))return X.warn(`Broadcast agent ${t} not found in agents.list; skipping`),!1;let s=zt({cfg:e.cfg,msg:e.msg,route:e.route,peerId:e.peerId,agentId:r}),c={...e.route,agentId:r,...s};try{return await e.processMessage(e.msg,c,e.groupHistoryKey,{groupHistory:o,suppressGroupHistoryClear:!0})}catch(e){return X.error(`Broadcast agent ${t} failed: ${q(e)}`),!1}};if(r===`sequential`)for(let e of t)await s(e);else await Promise.allSettled(t.map(s));return e.msg.chatType===`group`&&e.groupHistories.set(e.groupHistoryKey,[]),!0}function Vt(e,t,n){let r=e;for(let e of t)r=r.replace(e,` `);if(n){let e=n.replace(/\D/g,``);if(e){let t=RegExp(`\\+?${e}`,`g`);r=r.replace(t,` `)}}return r.replace(/\s+/g,` `).trim()}function Ht(e,t){let n=D({From:t,ChatType:`group`,Provider:`whatsapp`})?.id,r=e.channels?.whatsapp,i=!!(r?.groupAllowFrom?.length||r?.allowFrom?.length);return O({cfg:e,channel:`whatsapp`,groupId:n??t,hasGroupAllowFrom:i})}function Ut(e,t){let n=D({From:t,ChatType:`group`,Provider:`whatsapp`})?.id;return k({cfg:e,channel:`whatsapp`,groupId:n??t})}function Wt(e){let t=w(r(e.cfg.session?.store,{agentId:e.agentId}))[e.sessionKey],n=Ut(e.cfg,e.conversationId)?`mention`:`always`;return pe(t?.groupActivation)??n}function Gt(e,t,n){for(let r of e){let e=f(r)??r;!e||t.has(e)||(t.add(e),n.push(e))}}function Kt(e,t,n,r){if(!n||!r)return;let i=f(n)??n;if(!i)return;let a=e.get(t);a||(a=new Map,e.set(t,a)),a.set(i,r)}function qt(e){let{participants:t,roster:n,fallbackE164:r}=e,i=new Set,a=[];if(t?.length&&Gt(t,i,a),n&&Gt(n.keys(),i,a),a.length===0&&r){let e=f(r)??r;e&&a.push(e)}if(a.length!==0)return a.map(e=>{let t=n?.get(e);return t?`${t} (${e})`:e}).join(`, `)}function Jt(e,t){let n=f(t.senderE164??``);return n?Lt(e,t.selfE164??void 0).includes(n):!1}function Yt(e){let t=e.msg.senderName&&e.msg.senderE164?`${e.msg.senderName} (${e.msg.senderE164})`:e.msg.senderName??e.msg.senderE164??`Unknown`;ve({historyMap:e.groupHistories,historyKey:e.groupHistoryKey,limit:e.groupHistoryLimit,entry:{sender:t,body:e.msg.body,timestamp:e.msg.timestamp,id:e.msg.id,senderJid:e.msg.senderJid}})}function Xt(e,t){return e.logVerbose(t),Yt({msg:e.msg,groupHistories:e.groupHistories,groupHistoryKey:e.groupHistoryKey,groupHistoryLimit:e.groupHistoryLimit}),{shouldProcess:!1}}function Zt(e){let t=Ht(e.cfg,e.conversationId);if(t.allowlistEnabled&&!t.allowed)return e.logVerbose(`Skipping group message ${e.conversationId} (not in allowlist)`),{shouldProcess:!1};Kt(e.groupMemberNames,e.groupHistoryKey,e.msg.senderE164,e.msg.senderName);let n=Nt(e.cfg,e.agentId),r=Vt(e.msg.body,n.mentionRegexes,e.msg.selfE164),i=_e(r),a=Jt(e.baseMentionConfig,e.msg),o=a&&re(r,e.cfg);if(i.hasCommand&&!a)return Xt(e,`Ignoring /activation from non-owner in group ${e.conversationId}`);let s=It(e.msg,n,e.authDir);e.replyLogger.debug({conversationId:e.conversationId,wasMentioned:s.wasMentioned,...s.details},`group mention debug`);let c=s.wasMentioned,l=Wt({cfg:e.cfg,agentId:e.agentId,sessionKey:e.sessionKey,conversationId:e.conversationId})!==`always`,u=e.msg.selfJid?.replace(/:\\d+/,``),d=e.msg.replyToSenderJid?.replace(/:\\d+/,``),p=e.msg.selfE164?f(e.msg.selfE164):null,m=e.msg.replyToSenderE164?f(e.msg.replyToSenderE164):null,h=V({requireMention:l,canDetectMention:!0,wasMentioned:c,implicitMention:!!(u&&d&&u===d||p&&m&&p===m),shouldBypassMention:o});return e.msg.wasMentioned=h.effectiveWasMentioned,!o&&l&&h.shouldSkip?Xt(e,`Group message stored for context (no mention detected) in ${e.conversationId}: ${e.msg.body}`):{shouldProcess:!0}}function Qt(e,t){e.add(t),t.finally(()=>{e.delete(t)})}function $t(e){let t=r(e.cfg.session?.store,{agentId:e.storeAgentId}),n=S({storePath:t,sessionKey:e.sessionKey,deliveryContext:{channel:e.channel,to:e.to,accountId:e.accountId},ctx:e.ctx}).catch(n=>{e.warn({error:q(n),storePath:t,sessionKey:e.sessionKey,to:e.to},`failed updating last route`)});Qt(e.backgroundTasks,n)}function en(e){return e.chatType===`group`?e.conversationId??e.from:e.senderE164?f(e.senderE164)??e.senderE164:e.from.includes(`@`)?p(e.from)??e.from:f(e.from)??e.from}function $(e,t=400){return!e||e.length<=t?e:`${e.slice(0,t)}… (truncated ${e.length-t} chars)`}function tn(e){let t=(e instanceof Error?`${e.message}\n${e.stack??``}`:(e=>{if(e==null)return``;if(typeof e==`string`)return e;if(e instanceof Error)return`${e.message}\n${e.stack??``}`;if(typeof e==`object`)try{return JSON.stringify(e)}catch{return Object.prototype.toString.call(e)}return typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?String(e):typeof e==`symbol`?e.description??e.toString():typeof e==`function`?e.name?`[function ${e.name}]`:`[function]`:Object.prototype.toString.call(e)})(e)).toLowerCase();return t.includes(`unsupported state or unable to authenticate data`)||t.includes(`bad mac`)?t.includes(`@whiskeysockets/baileys`)||t.includes(`baileys`)||t.includes(`noise-handler`)||t.includes(`aesdecryptgcm`):!1}function nn(e){if(e.isReasoning===!0)return!0;let t=e.text;return typeof t==`string`?t.trimStart().toLowerCase().startsWith(`reasoning:`):!1}async function rn(e){let{replyResult:t,msg:n,maxMediaBytes:r,textLimit:i,replyLogger:s,connectionId:c,skipLog:l}=e,d=Date.now();if(nn(t)){Z.debug(`Suppressed reasoning payload to ${n.from}`);return}let f=e.tableMode??`code`,p=e.chunkMode??`length`,m=Ae(Re(Ie(t.text||``,f)),i,p),h=t.mediaUrls?.length?t.mediaUrls:t.mediaUrl?[t.mediaUrl]:[],g=async(e,t,r=3)=>{let i;for(let a=1;a<=r;a++)try{return await e()}catch(e){i=e;let s=q(e),c=a===r;if(!/closed|reset|timed\s*out|disconnect/i.test(s)||c)throw e;let l=500*a;u(`Retrying ${t} to ${n.from} after failure (${a}/${r-1}) in ${l}ms: ${s}`),await o(l)}throw i};if(h.length===0&&m.length){let e=m.length;for(let[t,r]of m.entries()){let i=Date.now();if(await g(()=>n.reply(r),`text`),!l){let r=Date.now()-i;Z.debug(`Sent chunk ${t+1}/${e} to ${n.from} (${r.toFixed(0)}ms)`)}}s.info({correlationId:n.id??J(),connectionId:c??null,to:n.from,from:n.to,text:$(t.text,240),mediaUrl:null,mediaSizeBytes:null,mediaKind:null,durationMs:Date.now()-d},`auto-reply sent (text)`);return}let _=[...m];for(let[t,i]of h.entries()){let o=t===0&&_.shift()||void 0;try{let t=await ke(i,{maxBytes:r,localRoots:e.mediaLocalRoots});if(a()&&(u(`Web auto-reply media size: ${(t.buffer.length/(1024*1024)).toFixed(2)}MB`),u(`Web auto-reply media source: ${i} (kind ${t.kind})`)),t.kind===`image`)await g(()=>n.sendMedia({image:t.buffer,caption:o,mimetype:t.contentType}),`media:image`);else if(t.kind===`audio`)await g(()=>n.sendMedia({audio:t.buffer,ptt:!0,mimetype:t.contentType,caption:o}),`media:audio`);else if(t.kind===`video`)await g(()=>n.sendMedia({video:t.buffer,caption:o,mimetype:t.contentType}),`media:video`);else{let e=t.fileName??i.split(`/`).pop()??`file`,r=t.contentType??`application/octet-stream`;await g(()=>n.sendMedia({document:t.buffer,fileName:e,caption:o,mimetype:r}),`media:document`)}Z.info(`Sent media reply to ${n.from} (${(t.buffer.length/(1024*1024)).toFixed(2)}MB)`),s.info({correlationId:n.id??J(),connectionId:c??null,to:n.from,from:n.to,text:o??null,mediaUrl:i,mediaSizeBytes:t.buffer.length,mediaKind:t.kind,durationMs:Date.now()-d},`auto-reply sent (media)`)}catch(e){if(Z.error(`Failed sending web media to ${n.from}: ${q(e)}`),s.warn({err:e,mediaUrl:i},`failed to send web media reply`),t===0){let t=e instanceof Error?`⚠️ Media failed: ${e.message}`:`⚠️ Media failed.`,r=[_.shift()??o??``,t].filter(Boolean).join(`
|
|
5
5
|
`);r&&(Z.warn(`Media skipped; sent text-only to ${n.from}`),await n.reply(r))}}}for(let e of _)await n.reply(e)}function an(e){if(!e.msg.id)return;let t=e.cfg.channels?.whatsapp?.ackReaction,n=(t?.emoji??``).trim(),r=t?.direct??!0,i=t?.group??`mentions`,a=e.msg.conversationId??e.msg.from,o=e.msg.chatType===`group`?Wt({cfg:e.cfg,agentId:e.agentId,sessionKey:e.sessionKey,conversationId:a}):null;U({emoji:n,isDirect:e.msg.chatType===`direct`,isGroup:e.msg.chatType===`group`,directEnabled:r,groupMode:i,wasMentioned:e.msg.wasMentioned===!0,groupActivated:o===`always`})&&(e.info({chatId:e.msg.chatId,messageId:e.msg.id,emoji:n},`sending ack reaction`),ze(e.msg.chatId,e.msg.id,n,{verbose:e.verbose,fromMe:!1,participant:e.msg.senderJid,accountId:e.accountId}).catch(t=>{e.warn({error:q(t),chatId:e.msg.chatId,messageId:e.msg.id},`failed to send ack reaction`),u(`WhatsApp ack reaction failed for chat ${e.msg.chatId}: ${q(t)}`)}))}function on(e){return e.replyToBody?`[Replying to ${e.replyToSender??`unknown sender`}${e.replyToId?` id:${e.replyToId}`:``}]\n${e.replyToBody}\n[/Replying]`:null}function sn(e){let{cfg:t,msg:n,agentId:r,previousTimestamp:i,envelope:a}=e,o=oe(t,r,{configured:t.channels?.whatsapp?.messagePrefix,hasAllowFrom:(t.channels?.whatsapp?.allowFrom?.length??0)>0}),s=o?`${o} `:``,c=on(n),l=`${s}${n.body}${c?`\n\n${c}`:``}`;return R({channel:`WhatsApp`,from:n.chatType===`group`?n.from:n.from?.replace(/^whatsapp:/,``),timestamp:n.timestamp,body:l,chatType:n.chatType,sender:{name:n.senderName,e164:n.senderE164,id:n.senderJid},previousTimestamp:i,envelope:a,fromMe:n.fromMe})}async function cn(e){let t=e.cfg.commands?.useAccessGroups!==!1;if(!t)return!0;let n=e.msg.chatType===`group`,r=f(n?e.msg.senderE164??``:e.msg.senderE164??e.msg.from??``);if(!r)return!1;let i=b({cfg:e.cfg,accountId:e.msg.accountId}),a=i.dmPolicy??`pairing`,o=i.groupPolicy??`allowlist`,s=i.allowFrom??[],c=i.groupAllowFrom??(s.length>0?s:void 0),l=n?[]:await we({provider:`whatsapp`,accountId:e.msg.accountId,dmPolicy:a});return P({isGroup:n,dmPolicy:a,groupPolicy:o,allowFrom:s.length>0?s:e.msg.selfE164?[e.msg.selfE164]:[],groupAllowFrom:c,storeAllowFrom:l,isSenderAllowed:e=>e.includes(`*`)?!0:e.map(e=>f(String(e))).filter(e=>!!e).includes(r),command:{useAccessGroups:t,allowTextCommands:!0,hasControlCommand:!0}}).commandAuthorized}function ln(e){let t=b({cfg:e.cfg,accountId:e.msg.accountId});return z({dmScope:e.cfg.session?.dmScope,allowFrom:t.allowFrom,normalizeEntry:e=>f(e)})}async function un(e){let t=e.msg.conversationId??e.msg.from,{storePath:n,envelopeOptions:r,previousTimestamp:i}=ue({cfg:e.cfg,agentId:e.route.agentId,sessionKey:e.route.sessionKey}),o=sn({cfg:e.cfg,msg:e.msg,agentId:e.route.agentId,previousTimestamp:i,envelope:r}),s=!1;if(e.msg.chatType===`group`){let n=e.groupHistory??e.groupHistories.get(e.groupHistoryKey)??[];n.length>0&&(o=le({entries:n.map(e=>({sender:e.sender,body:e.body,timestamp:e.timestamp})),currentMessage:o,excludeLast:!1,formatEntry:e=>R({channel:`WhatsApp`,from:t,timestamp:e.timestamp,body:e.body,chatType:`group`,senderLabel:e.sender,envelope:r})})),s=!(e.suppressGroupHistoryClear??!1)}let c=e.buildCombinedEchoKey({sessionKey:e.route.sessionKey,combinedBody:o});if(e.echoHas(c))return u(`Skipping auto-reply: detected echo for combined message`),e.echoForget(c),!1;an({cfg:e.cfg,msg:e.msg,agentId:e.route.agentId,sessionKey:e.route.sessionKey,conversationId:t,verbose:e.verbose,accountId:e.route.accountId,info:e.replyLogger.info.bind(e.replyLogger),warn:e.replyLogger.warn.bind(e.replyLogger)});let l=e.msg.id??J();e.replyLogger.info({connectionId:e.connectionId,correlationId:l,from:e.msg.chatType===`group`?t:e.msg.from,to:e.msg.to,body:$(o,240),mediaType:e.msg.mediaType??null,mediaPath:e.msg.mediaPath??null},`inbound web message`);let d=e.msg.chatType===`group`?t:e.msg.from,m=e.msg.mediaType?`, ${e.msg.mediaType}`:``;X.info(`Inbound message ${d} -> ${e.msg.to} (${e.msg.chatType}${m}, ${o.length} chars)`),a()&&X.debug(`Inbound body: ${$(o,400)}`);let h=e.msg.chatType===`group`?void 0:e.msg.senderE164?f(e.msg.senderE164):e.msg.from.includes(`@`)?p(e.msg.from):f(e.msg.from),g=e.maxMediaTextChunkLimit??Me(e.cfg,`whatsapp`),_=je(e.cfg,`whatsapp`,e.route.accountId),y=Ne({cfg:e.cfg,channel:`whatsapp`,accountId:e.route.accountId}),b=Oe(e.cfg,e.route.agentId),x=!1,S=!1,C=I(e.msg.body,e.cfg)?await cn({cfg:e.cfg,msg:e.msg}):void 0,w=e.cfg.messages?.responsePrefix,{onModelSelected:T,...E}=he({cfg:e.cfg,agentId:e.route.agentId,channel:`whatsapp`,accountId:e.route.accountId}),D=e.msg.chatType!==`group`&&!!e.msg.selfE164&&f(e.msg.from)===f(e.msg.selfE164??``),ee=E.responsePrefix??(w===void 0&&D?L(e.cfg,e.route.agentId):void 0),te=e.msg.chatType===`group`?(e.groupHistory??e.groupHistories.get(e.groupHistoryKey)??[]).map(e=>({sender:e.sender,body:e.body,timestamp:e.timestamp})):void 0,O=ae({Body:o,BodyForAgent:e.msg.body,InboundHistory:te,RawBody:e.msg.body,CommandBody:e.msg.body,From:e.msg.from,To:e.msg.to,SessionKey:e.route.sessionKey,AccountId:e.route.accountId,MessageSid:e.msg.id,ReplyToId:e.msg.replyToId,ReplyToBody:e.msg.replyToBody,ReplyToSender:e.msg.replyToSender,MediaPath:e.msg.mediaPath,MediaUrl:e.msg.mediaUrl,MediaType:e.msg.mediaType,ChatType:e.msg.chatType,ConversationLabel:e.msg.chatType===`group`?t:e.msg.from,GroupSubject:e.msg.groupSubject,GroupMembers:qt({participants:e.msg.groupParticipants,roster:e.groupMemberNames.get(e.groupHistoryKey),fallbackE164:e.msg.senderE164}),SenderName:e.msg.senderName,SenderId:e.msg.senderJid?.trim()||e.msg.senderE164,SenderE164:e.msg.senderE164,CommandAuthorized:C,WasMentioned:e.msg.wasMentioned,...e.msg.location?Ee(e.msg.location):{},Provider:`whatsapp`,Surface:`whatsapp`,OriginatingChannel:`whatsapp`,OriginatingTo:e.msg.from}),k=ln({cfg:e.cfg,msg:e.msg}),ne=!k||k===h,A=H({route:e.route,sessionKey:e.route.sessionKey});h&&A===e.route.mainSessionKey&&ne?$t({cfg:e.cfg,backgroundTasks:e.backgroundTasks,storeAgentId:e.route.agentId,sessionKey:e.route.mainSessionKey,channel:`whatsapp`,to:h,accountId:e.route.accountId,ctx:O,warn:e.replyLogger.warn.bind(e.replyLogger)}):h&&A===e.route.mainSessionKey&&k&&u(`Skipping main-session last route update for ${h} (pinned owner ${k})`);let j=v({storePath:n,sessionKey:e.route.sessionKey,ctx:O}).catch(t=>{e.replyLogger.warn({error:q(t),storePath:n,sessionKey:e.route.sessionKey},`failed updating session meta`)});Qt(e.backgroundTasks,j);let{queuedFinal:M}=await Se({ctx:O,cfg:e.cfg,replyResolver:e.replyResolver,dispatcherOptions:{...E,responsePrefix:ee,onHeartbeatStrip:()=>{x||(x=!0,u(`Stripped stray HEARTBEAT_OK token from web reply`))},deliver:async(n,r)=>{if(r.kind!==`final`)return;await rn({replyResult:n,msg:e.msg,mediaLocalRoots:b,maxMediaBytes:e.maxMediaBytes,textLimit:g,chunkMode:_,replyLogger:e.replyLogger,connectionId:e.connectionId,skipLog:!1,tableMode:y}),S=!0;let i=n.text?!0:void 0;e.rememberSentText(n.text,{combinedBody:o,combinedBodySessionKey:e.route.sessionKey,logVerboseMessage:i});let s=e.msg.chatType===`group`?t:e.msg.from??`unknown`,c=!!(n.mediaUrl||n.mediaUrls?.length);if(Z.info(`Auto-replied to ${s}${c?` (media)`:``}`),a()){let e=n.text==null?`<media>`:$(n.text,400);Z.debug(`Reply body: ${e}${c?` (media)`:``}`)}},onError:(n,r)=>{let i=r.kind===`tool`?`tool update`:r.kind===`block`?`block update`:`auto-reply`;Z.error(`Failed sending web ${i} to ${e.msg.from??t}: ${q(n)}`)},onReplyStart:e.msg.sendComposing},replyOptions:{disableBlockStreaming:!0,onModelSelected:T}});return M?(s&&e.groupHistories.set(e.groupHistoryKey,[]),S):(s&&e.groupHistories.set(e.groupHistoryKey,[]),u(`Skipping auto-reply: silent token or no text/media returned from resolver`),!1)}function dn(e){let n=async(t,n,r,i)=>un({cfg:e.cfg,msg:t,route:n,groupHistoryKey:r,groupHistories:e.groupHistories,groupMemberNames:e.groupMemberNames,connectionId:e.connectionId,verbose:e.verbose,maxMediaBytes:e.maxMediaBytes,replyResolver:e.replyResolver,replyLogger:e.replyLogger,backgroundTasks:e.backgroundTasks,rememberSentText:e.echoTracker.rememberText,echoHas:e.echoTracker.has,echoForget:e.echoTracker.forget,buildCombinedEchoKey:e.echoTracker.buildCombinedKey,groupHistory:i?.groupHistory,suppressGroupHistoryClear:i?.suppressGroupHistoryClear});return async r=>{let i=r.conversationId??r.from,a=en(r),o=ce({cfg:A(),channel:`whatsapp`,accountId:r.accountId,peer:{kind:r.chatType===`group`?`group`:`direct`,id:a}}),s=r.chatType===`group`?t({channel:`whatsapp`,accountId:o.accountId,peerKind:`group`,peerId:a}):o.sessionKey;if(r.from===r.to&&u(`📱 Same-phone mode detected (from === to: ${r.from})`),e.echoTracker.has(r.body)){u(`Skipping auto-reply: detected echo (message matches recently sent text)`),e.echoTracker.forget(r.body);return}if(r.chatType===`group`){let t={From:r.from,To:r.to,SessionKey:o.sessionKey,AccountId:o.accountId,ChatType:r.chatType,ConversationLabel:i,GroupSubject:r.groupSubject,SenderName:r.senderName,SenderId:r.senderJid?.trim()||r.senderE164,SenderE164:r.senderE164,Provider:`whatsapp`,Surface:`whatsapp`,OriginatingChannel:`whatsapp`,OriginatingTo:i};if($t({cfg:e.cfg,backgroundTasks:e.backgroundTasks,storeAgentId:o.agentId,sessionKey:o.sessionKey,channel:`whatsapp`,to:i,accountId:o.accountId,ctx:t,warn:e.replyLogger.warn.bind(e.replyLogger)}),!Zt({cfg:e.cfg,msg:r,conversationId:i,groupHistoryKey:s,agentId:o.agentId,sessionKey:o.sessionKey,baseMentionConfig:e.baseMentionConfig,authDir:e.account.authDir,groupHistories:e.groupHistories,groupHistoryLimit:e.groupHistoryLimit,groupMemberNames:e.groupMemberNames,logVerbose:u,replyLogger:e.replyLogger}).shouldProcess)return}else !r.senderE164&&a&&a.startsWith(`+`)&&(r.senderE164=f(a)??r.senderE164);await Bt({cfg:e.cfg,msg:r,peerId:a,route:o,groupHistoryKey:s,groupHistories:e.groupHistories,processMessage:n})||await n(r,o,s)}}function fn(e){return e===440}async function pn(e,t=Mt,n=!0,r=ge,i=c,a,o={}){let l=J(),d=s({module:`web-auto-reply`,runId:l}),f=s({module:`web-heartbeat`,runId:l}),p=s({module:`web-reconnect`,runId:l}),m={running:!0,connected:!1,reconnectAttempts:0,lastConnectedAt:null,lastDisconnect:null,lastMessageAt:null,lastEventAt:null,lastError:null},h=()=>{o.statusSink?.({...m,lastDisconnect:m.lastDisconnect?{...m.lastDisconnect}:null})};h();let g=A(),v=b({cfg:g,accountId:o.accountId}),y={...g,channels:{...g.channels,whatsapp:{...g.channels?.whatsapp,ackReaction:v.ackReaction,messagePrefix:v.messagePrefix,allowFrom:v.allowFrom,groupAllowFrom:v.groupAllowFrom,groupPolicy:v.groupPolicy,textChunkLimit:v.textChunkLimit,chunkMode:v.chunkMode,mediaMaxMb:v.mediaMaxMb,blockStreaming:v.blockStreaming,groups:v.groups}}},S=C(v),w=$e(y,o.heartbeatSeconds),T=et(y,o.reconnect),D=Nt(y),ee=y.channels?.whatsapp?.accounts?.[o.accountId??``]?.historyLimit??y.channels?.whatsapp?.historyLimit??y.messages?.groupChat?.historyLimit??50,te=new Map,O=new Map,k=Rt({maxItems:100,logVerbose:u}),ne=o.sleep??((e,t)=>G(e,t??a)),j=()=>a?.aborted===!0,M=a&&new Promise(e=>a.addEventListener(`abort`,()=>e(`aborted`),{once:!0})),N=process.getMaxListeners?.()??10;process.setMaxListeners&&N<50&&process.setMaxListeners(50);let P=!1,F=()=>{P=!0};process.once(`SIGINT`,F);let I=0;for(;!j();){let s=J(),c=Date.now(),l=null,g=null,b=null,C=0,A=null,N=o.messageTimeoutMs??1800*1e3,ie=o.watchdogCheckMs??60*1e3,L=new Set,ae=dn({cfg:y,verbose:e,connectionId:s,maxMediaBytes:S,groupHistoryLimit:ee,groupHistories:te,groupMemberNames:O,echoTracker:k,backgroundTasks:L,replyResolver:r??ge,replyLogger:d,baseMentionConfig:D,account:v}),R=xe({cfg:y,channel:`whatsapp`}),z=await(t??Mt)({verbose:e,accountId:v.accountId,authDir:v.authDir,mediaMaxMb:v.mediaMaxMb,sendReadReceipts:v.sendReadReceipts,debounceMs:R,shouldDebounce:e=>e.mediaPath||e.mediaType||e.location||e.replyToId||e.replyToBody?!1:!re(e.body,y),onMessage:async e=>{C+=1,b=Date.now(),m.lastMessageAt=b,m.lastEventAt=b,h(),await ae(e)}});Object.assign(m,ye()),m.lastError=null,h();let{e164:B}=x(v.authDir),oe=ce({cfg:y,channel:`whatsapp`,accountId:v.accountId});be(`WhatsApp gateway connected${B?` as ${B}`:``}.`,{sessionKey:oe.sessionKey}),Le(v.accountId,z),A=Pe(e=>{if(!tn(e))return!1;let t=q(e);return p.warn({connectionId:s,error:t},`web reconnect: unhandled rejection from WhatsApp socket; forcing reconnect`),z.signalClose?.({status:499,isLoggedOut:!1,error:e}),!0});let V=async()=>{Le(v.accountId,null),A&&=(A(),null),l&&clearInterval(l),g&&clearInterval(g),L.size>0&&(await Promise.allSettled(L),L.clear());try{await z.close()}catch(e){u(`Socket close failed: ${q(e)}`)}};if(n&&(l=setInterval(()=>{let e=_(v.authDir),t=b?Math.floor((Date.now()-b)/6e4):null,n={connectionId:s,reconnectAttempts:I,messagesHandled:C,lastMessageAt:b,authAgeMs:e,uptimeMs:Date.now()-c,...t!==null&&t>30?{minutesSinceLastMessage:t}:{}};t&&t>30?f.warn(n,`⚠️ web gateway heartbeat - no messages in 30+ minutes`):f.info(n,`web gateway heartbeat`)},w*1e3),g=setInterval(()=>{if(!b)return;let e=Date.now()-b;if(e<=N)return;let t=Math.floor(e/6e4);f.warn({connectionId:s,minutesSinceLastMessage:t,lastMessageAt:new Date(b),messagesHandled:C},`Message timeout detected - forcing reconnect`),tt.warn(`No messages received in ${t}m - restarting connection`),V().catch(e=>{u(`Close listener failed: ${q(e)}`)}),z.signalClose?.({status:499,isLoggedOut:!1,error:`watchdog-timeout`})},ie)),Y.info(`Listening for personal WhatsApp inbound messages.`),(process.stdout.isTTY||process.stderr.isTTY)&&Y.raw(`Ctrl+C to stop.`),!n){await V(),process.removeListener(`SIGINT`,F);return}let H=await Promise.race([z.onClose?.catch(e=>(p.error({error:q(e)},`listener.onClose rejected`),{status:500,isLoggedOut:!1,error:e}))??nt(),M??nt()]);if(Date.now()-c>w*1e3&&(I=0),m.reconnectAttempts=I,h(),j()||P||H===`aborted`){await V();break}let U=(typeof H==`object`&&H&&`status`in H?H.status:void 0)??`unknown`,W=typeof H==`object`&&H&&`isLoggedOut`in H&&H.isLoggedOut,G=q(H);if(m.connected=!1,m.lastEventAt=Date.now(),m.lastDisconnect={at:m.lastEventAt,status:typeof U==`number`?U:void 0,error:G,loggedOut:!!W},m.lastError=G,m.reconnectAttempts=I,h(),p.info({connectionId:s,status:U,loggedOut:W,reconnectAttempts:I,error:G},`web reconnect: connection closed`),be(`WhatsApp gateway disconnected (status ${U??`unknown`})`,{sessionKey:oe.sessionKey}),W){i.error(`WhatsApp session logged out. Run \`${E(`openclaw channels login --channel web`)}\` to relink.`),await V();break}if(fn(U)){p.warn({connectionId:s,status:U,error:G},`web reconnect: non-retryable close status; stopping monitor`),i.error(`WhatsApp Web connection closed (status ${U}: session conflict). Resolve conflicting WhatsApp Web sessions, then relink with \`${E(`openclaw channels login --channel web`)}\`. Stopping web monitoring.`),await V();break}if(I+=1,m.reconnectAttempts=I,h(),T.maxAttempts>0&&I>=T.maxAttempts){p.warn({connectionId:s,status:U,reconnectAttempts:I,maxAttempts:T.maxAttempts},`web reconnect: max attempts reached; continuing in degraded mode`),i.error(`WhatsApp Web reconnect: max attempts reached (${I}/${T.maxAttempts}). Stopping web monitoring.`),await V();break}let K=se(T,I);p.info({connectionId:s,status:U,reconnectAttempts:I,maxAttempts:T.maxAttempts||`unlimited`,delayMs:K},`web reconnect: scheduling retry`),i.error(`WhatsApp Web connection closed (status ${U}). Retry ${I}/${T.maxAttempts||`∞`} in ${Ce(K)}… (${G})`),await V();try{await ne(K,a)}catch{break}}m.running=!1,m.connected=!1,m.lastEventAt=Date.now(),h(),process.removeListener(`SIGINT`,F)}export{te as WA_WEB_AUTH_DIR,Ue as createWaSocket,ee as logWebSelfId,We as loginWeb,pn as monitorWebChannel,Mt as monitorWebInbox,T as pickWebChannel,Be as sendMessageWhatsApp,Ve as waitForWaConnection,y as webAuthExists};
|
|
6
|
+
//# sourceMappingURL=web-_tj8xNZE.js.map
|
|
@@ -3,3 +3,4 @@ require(`./paths-Bcdg3ma0.cjs`);const e=require(`./dispatch-CNy3g9ma.cjs`),t=req
|
|
|
3
3
|
`),a={...n,body:i,mentionedJids:r.size>0?Array.from(r):void 0};await t.onMessage(a)},onError:e=>{n.error({error:String(e)},`failed handling inbound web message`),o.error(`Failed handling inbound web message: ${String(e)}`)}}),v=new Map,y=300*1e3,b=s.signalRepository?.lidMapping,x=async e=>i.v(e,{authDir:t.authDir,lidLookup:b}),S=async e=>{let t=v.get(e);if(t&&t.expires>Date.now())return t;try{let t=await s.groupMetadata(e),n=(await Promise.all(t.participants?.map(async e=>await x(e.id)??e.id)??[])).filter(Boolean)??[],r={subject:t.subject,participants:n,expires:Date.now()+y};return v.set(e,r),r}catch(t){return i.R(`Failed to fetch group metadata for ${e}: ${String(t)}`),{expires:Date.now()+y}}},C=async e=>{let n=e.key?.id??void 0,r=e.key?.remoteJid;if(!r||r.endsWith(`@status`)||r.endsWith(`@broadcast`))return null;let i=(0,g.isJidGroup)(r)===!0;if(n&&E(`${t.accountId}:${r}:${n}`))return null;let a=e.key?.participant??void 0,o=i?r:await x(r);if(!o)return null;let l=i?a?await x(a):null:o,u,d;if(i){let e=await S(r);u=e.subject,d=e.participants}let f=e.messageTimestamp?Number(e.messageTimestamp)*1e3:void 0,p=await ie({accountId:t.accountId,from:o,selfE164:h,senderE164:l,group:i,pushName:e.pushName??void 0,isFromMe:!!e.key?.fromMe,messageTimestampMs:f,connectedAtMs:c,sock:{sendMessage:(e,t)=>s.sendMessage(e,t)},remoteJid:r});return p.allowed?{id:n,remoteJid:r,group:i,participantJid:a,from:o,senderE164:l,groupSubject:u,groupParticipants:d,messageTimestampMs:f,access:p}:null},ee=async e=>{let{id:n,remoteJid:r,participantJid:a,access:o}=e;if(n&&!o.isSelfChat&&t.sendReadReceipts!==!1)try{await s.readMessages([{remoteJid:r,id:n,participant:a,fromMe:!1}]),i.B()&&i.R(`Marked message ${n} as read for ${r}${a?` (participant ${a})`:``}`)}catch(e){i.R(`Failed to mark message ${n} read: ${String(e)}`)}else n&&o.isSelfChat&&i.B()&&i.R(`Self-chat mode: skipping read receipt for ${n}`)},w=async e=>{let n=ne(e.message??void 0),o=n?a.J(n):void 0,c=I(e.message??void 0);if(o&&(c=[c,o].filter(Boolean).join(`
|
|
4
4
|
`).trim()),!c&&(c=L(e.message??void 0),!c))return null;let l=W(e.message),u,d,f;try{let n=await ae(e,s);if(n){let e=(typeof t.mediaMaxMb==`number`&&t.mediaMaxMb>0?t.mediaMaxMb:50)*1024*1024;u=(await r.ci(n.buffer,n.mimetype,`inbound`,e,n.fileName)).path,d=n.mimetype,f=n.fileName}}catch(e){i.R(`Inbound media download failed: ${String(e)}`)}return{body:c,location:n??void 0,replyContext:l,mediaPath:u,mediaType:d,mediaFileName:f}},T=async(e,t,r)=>{let a=t.remoteJid,c=async()=>{try{await s.sendPresenceUpdate(`composing`,a)}catch(e){i.R(`Presence update failed: ${String(e)}`)}},l=async e=>{await s.sendMessage(a,{text:e})},u=async e=>{await s.sendMessage(a,e)},d=t.messageTimestampMs,f=F(e.message),p=e.pushName??void 0;n.info({from:t.from,to:h??`me`,body:r.body,mediaPath:r.mediaPath,mediaType:r.mediaType,mediaFileName:r.mediaFileName,timestamp:d},`inbound message`);let g={id:t.id,from:t.from,conversationId:t.from,to:h??`me`,accountId:t.access.resolvedAccountId,body:r.body,pushName:p,timestamp:d,chatType:t.group?`group`:`direct`,chatId:t.remoteJid,senderJid:t.participantJid,senderE164:t.senderE164??void 0,senderName:p,replyToId:r.replyContext?.id,replyToBody:r.replyContext?.body,replyToSender:r.replyContext?.sender,replyToSenderJid:r.replyContext?.senderJid,replyToSenderE164:r.replyContext?.senderE164,groupSubject:t.groupSubject,groupParticipants:t.groupParticipants,mentionedJids:f??void 0,selfJid:m,selfE164:h,fromMe:!!e.key?.fromMe,location:r.location??void 0,sendComposing:c,reply:l,sendMedia:u,mediaPath:r.mediaPath,mediaType:r.mediaType,mediaFileName:r.mediaFileName};try{Promise.resolve(_.enqueue(g)).catch(e=>{n.error({error:String(e)},`failed handling inbound web message`),o.error(`Failed handling inbound web message: ${String(e)}`)})}catch(e){n.error({error:String(e)},`failed handling inbound web message`),o.error(`Failed handling inbound web message: ${String(e)}`)}},D=async e=>{if(!(e.type!==`notify`&&e.type!==`append`))for(let n of e.messages??[]){l.n({channel:`whatsapp`,accountId:t.accountId,direction:`inbound`});let r=await C(n);if(!r||(await ee(r),e.type===`append`))continue;let i=await w(n);i&&await T(n,r,i)}};s.ev.on(`messages.upsert`,D);let O=e=>{try{if(e.connection===`close`){let t=p.r(e.lastDisconnect?.error);f({status:t,isLoggedOut:t===g.DisconnectReason.loggedOut,error:e.lastDisconnect?.error})}}catch(e){n.error({error:String(e)},`connection.update handler error`),f({status:void 0,isLoggedOut:!1,error:e})}};return s.ev.on(`connection.update`,O),{close:async()=>{try{let e=s.ev,t=D,n=O;typeof e.off==`function`?(e.off(`messages.upsert`,t),e.off(`connection.update`,n)):typeof e.removeListener==`function`&&(e.removeListener(`messages.upsert`,t),e.removeListener(`connection.update`,n)),s.ws?.close()}catch(e){i.R(`Socket close failed: ${String(e)}`)}},onClose:d,signalClose:e=>{f(e??{status:void 0,isLoggedOut:!1,error:`closed`})},...Y({sock:{sendMessage:(e,t)=>s.sendMessage(e,t),sendPresenceUpdate:(e,t)=>s.sendPresenceUpdate(e,t)},defaultAccountId:t.accountId})}}function X(t,n){return{mentionRegexes:e.D(t,n),allowFrom:t.channels?.whatsapp?.allowFrom}}function Z(e,t){let n=t?{authDir:t}:void 0;return{normalizedMentions:e.mentionedJids?.length?e.mentionedJids.map(e=>i.m(e,n)??e).filter(Boolean):[],selfE164:e.selfE164??(e.selfJid?i.m(e.selfJid,n):null),selfJid:e.selfJid?e.selfJid.replace(/:\\d+/,``):null}}function Q(t,n,r){let a=t=>e.O(t),o=i.p(r.selfE164,n.allowFrom);if((t.mentionedJids?.length??0)>0&&!o)return!!(r.selfE164&&r.normalizedMentions.includes(r.selfE164)||r.selfJid&&r.normalizedMentions.includes(r.selfJid));let s=a(t.body);if(n.mentionRegexes.some(e=>e.test(s)))return!0;if(r.selfE164){let e=r.selfE164.replace(/\D/g,``);if(e){if(s.replace(/[^\d]/g,``).includes(e))return!0;let n=t.body.replace(/[\s-]/g,``);if(RegExp(`\\+?${e}`,`i`).test(n))return!0}}return!1}function se(t,n,r){let i=Z(t,r);return{wasMentioned:Q(t,n,i),details:{from:t.from,body:t.body,bodyClean:e.O(t.body),mentionedJids:t.mentionedJids??null,normalizedMentionedJids:i.normalizedMentions.length?i.normalizedMentions:null,selfJid:t.selfJid??null,selfJidBare:i.selfJid,selfE164:t.selfE164??null,resolvedSelfE164:i.selfE164}}}function ce(e,t){let n=e.allowFrom;return(Array.isArray(n)&&n.length>0?n:t?[t]:[]).filter(e=>!!(e&&e!==`*`)).map(e=>i.h(e)).filter(e=>!!e)}function le(e){let t=new Set,n=Math.max(1,e.maxItems??100),r=e=>`combined:${e.sessionKey}:${e.combinedBody}`,i=()=>{for(;t.size>n;){let e=t.values().next().value;if(!e)break;t.delete(e)}};return{rememberText:(n,a)=>{n&&(t.add(n),a.combinedBody&&a.combinedBodySessionKey&&t.add(r({sessionKey:a.combinedBodySessionKey,combinedBody:a.combinedBody})),a.logVerboseMessage&&e.logVerbose?.(`Added to echo detection set (size now: ${t.size}): ${n.substring(0,50)}...`),i())},has:e=>t.has(e),forget:e=>{t.delete(e)},buildCombinedKey:r}}function ue(t){let r=e.p({agentId:t.agentId,channel:`whatsapp`,accountId:t.route.accountId,peer:{kind:t.msg.chatType===`group`?`group`:`direct`,id:t.peerId},dmScope:t.cfg.session?.dmScope,identityLinks:t.cfg.session?.identityLinks}),i=n.Dt({agentId:t.agentId,mainKey:n.Et});return{sessionKey:r,mainSessionKey:i,lastRoutePolicy:e.m({sessionKey:r,mainSessionKey:i})}}async function de(e){let t=e.cfg.broadcast?.[e.peerId];if(!t||!Array.isArray(t)||t.length===0)return!1;let r=e.cfg.broadcast?.strategy||`parallel`;S.info(`Broadcasting message to ${t.length} agents (${r})`);let i=e.cfg.agents?.list?.map(e=>n.Mt(e.id)),a=(i?.length??0)>0,o=e.msg.chatType===`group`?e.groupHistories.get(e.groupHistoryKey)??[]:void 0,s=async t=>{let r=n.Mt(t);if(a&&!i?.includes(r))return S.warn(`Broadcast agent ${t} not found in agents.list; skipping`),!1;let s=ue({cfg:e.cfg,msg:e.msg,route:e.route,peerId:e.peerId,agentId:r}),c={...e.route,agentId:r,...s};try{return await e.processMessage(e.msg,c,e.groupHistoryKey,{groupHistory:o,suppressGroupHistoryClear:!0})}catch(e){return S.error(`Broadcast agent ${t} failed: ${p.n(e)}`),!1}};if(r===`sequential`)for(let e of t)await s(e);else await Promise.allSettled(t.map(s));return e.msg.chatType===`group`&&e.groupHistories.set(e.groupHistoryKey,[]),!0}function fe(e,t,n){let r=e;for(let e of t)r=r.replace(e,` `);if(n){let e=n.replace(/\D/g,``);if(e){let t=RegExp(`\\+?${e}`,`g`);r=r.replace(t,` `)}}return r.replace(/\s+/g,` `).trim()}function pe(e,t){let n=r.Cr({From:t,ChatType:`group`,Provider:`whatsapp`})?.id,i=e.channels?.whatsapp,a=!!(i?.groupAllowFrom?.length||i?.allowFrom?.length);return r._r({cfg:e,channel:`whatsapp`,groupId:n??t,hasGroupAllowFrom:a})}function me(e,t){let n=r.Cr({From:t,ChatType:`group`,Provider:`whatsapp`})?.id;return r.vr({cfg:e,channel:`whatsapp`,groupId:n??t})}function he(t){let i=r.kt(n.s(t.cfg.session?.store,{agentId:t.agentId}))[t.sessionKey],a=me(t.cfg,t.conversationId)?`mention`:`always`;return e.i(i?.groupActivation)??a}function ge(e,t,n){for(let r of e){let e=i.h(r)??r;!e||t.has(e)||(t.add(e),n.push(e))}}function _e(e,t,n,r){if(!n||!r)return;let a=i.h(n)??n;if(!a)return;let o=e.get(t);o||(o=new Map,e.set(t,o)),o.set(a,r)}function ve(e){let{participants:t,roster:n,fallbackE164:r}=e,a=new Set,o=[];if(t?.length&&ge(t,a,o),n&&ge(n.keys(),a,o),o.length===0&&r){let e=i.h(r)??r;e&&o.push(e)}if(o.length!==0)return o.map(e=>{let t=n?.get(e);return t?`${t} (${e})`:e}).join(`, `)}function ye(e,t){let n=i.h(t.senderE164??``);return n?ce(e,t.selfE164??void 0).includes(n):!1}function be(t){let n=t.msg.senderName&&t.msg.senderE164?`${t.msg.senderName} (${t.msg.senderE164})`:t.msg.senderName??t.msg.senderE164??`Unknown`;e.f({historyMap:t.groupHistories,historyKey:t.groupHistoryKey,limit:t.groupHistoryLimit,entry:{sender:n,body:t.msg.body,timestamp:t.msg.timestamp,id:t.msg.id,senderJid:t.msg.senderJid}})}function xe(e,t){return e.logVerbose(t),be({msg:e.msg,groupHistories:e.groupHistories,groupHistoryKey:e.groupHistoryKey,groupHistoryLimit:e.groupHistoryLimit}),{shouldProcess:!1}}function Se(t){let n=pe(t.cfg,t.conversationId);if(n.allowlistEnabled&&!n.allowed)return t.logVerbose(`Skipping group message ${t.conversationId} (not in allowlist)`),{shouldProcess:!1};_e(t.groupMemberNames,t.groupHistoryKey,t.msg.senderE164,t.msg.senderName);let r=X(t.cfg,t.agentId),a=fe(t.msg.body,r.mentionRegexes,t.msg.selfE164),o=e.a(a),s=ye(t.baseMentionConfig,t.msg),c=s&&e.T(a,t.cfg);if(o.hasCommand&&!s)return xe(t,`Ignoring /activation from non-owner in group ${t.conversationId}`);let l=se(t.msg,r,t.authDir);t.replyLogger.debug({conversationId:t.conversationId,wasMentioned:l.wasMentioned,...l.details},`group mention debug`);let u=l.wasMentioned,d=he({cfg:t.cfg,agentId:t.agentId,sessionKey:t.sessionKey,conversationId:t.conversationId})!==`always`,f=t.msg.selfJid?.replace(/:\\d+/,``),p=t.msg.replyToSenderJid?.replace(/:\\d+/,``),m=t.msg.selfE164?i.h(t.msg.selfE164):null,h=t.msg.replyToSenderE164?i.h(t.msg.replyToSenderE164):null,g=e.Q({requireMention:d,canDetectMention:!0,wasMentioned:u,implicitMention:!!(f&&p&&f===p||m&&h&&m===h),shouldBypassMention:c});return t.msg.wasMentioned=g.effectiveWasMentioned,!c&&d&&g.shouldSkip?xe(t,`Group message stored for context (no mention detected) in ${t.conversationId}: ${t.msg.body}`):{shouldProcess:!0}}function Ce(e,t){e.add(t),t.finally(()=>{e.delete(t)})}function we(e){let t=n.s(e.cfg.session?.store,{agentId:e.storeAgentId}),i=r.Nt({storePath:t,sessionKey:e.sessionKey,deliveryContext:{channel:e.channel,to:e.to,accountId:e.accountId},ctx:e.ctx}).catch(n=>{e.warn({error:p.n(n),storePath:t,sessionKey:e.sessionKey,to:e.to},`failed updating last route`)});Ce(e.backgroundTasks,i)}function Te(e){return e.chatType===`group`?e.conversationId??e.from:e.senderE164?i.h(e.senderE164)??e.senderE164:e.from.includes(`@`)?i.m(e.from)??e.from:i.h(e.from)??e.from}function $(e,t=400){return!e||e.length<=t?e:`${e.slice(0,t)}… (truncated ${e.length-t} chars)`}function Ee(e){let t=(e instanceof Error?`${e.message}\n${e.stack??``}`:(e=>{if(e==null)return``;if(typeof e==`string`)return e;if(e instanceof Error)return`${e.message}\n${e.stack??``}`;if(typeof e==`object`)try{return JSON.stringify(e)}catch{return Object.prototype.toString.call(e)}return typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?String(e):typeof e==`symbol`?e.description??e.toString():typeof e==`function`?e.name?`[function ${e.name}]`:`[function]`:Object.prototype.toString.call(e)})(e)).toLowerCase();return t.includes(`unsupported state or unable to authenticate data`)||t.includes(`bad mac`)?t.includes(`@whiskeysockets/baileys`)||t.includes(`baileys`)||t.includes(`noise-handler`)||t.includes(`aesdecryptgcm`):!1}function De(e){if(e.isReasoning===!0)return!0;let t=e.text;return typeof t==`string`?t.trimStart().toLowerCase().startsWith(`reasoning:`):!1}async function Oe(e){let{replyResult:t,msg:n,maxMediaBytes:r,textLimit:a,replyLogger:o,connectionId:s,skipLog:l}=e,d=Date.now();if(De(t)){C.debug(`Suppressed reasoning payload to ${n.from}`);return}let m=e.tableMode??`code`,h=e.chunkMode??`length`,g=c.d(f.i(u.t(t.text||``,m)),a,h),_=t.mediaUrls?.length?t.mediaUrls:t.mediaUrl?[t.mediaUrl]:[],v=async(e,t,r=3)=>{let a;for(let o=1;o<=r;o++)try{return await e()}catch(e){a=e;let s=p.n(e),c=o===r;if(!/closed|reset|timed\s*out|disconnect/i.test(s)||c)throw e;let l=500*o;i.R(`Retrying ${t} to ${n.from} after failure (${o}/${r-1}) in ${l}ms: ${s}`),await i.C(l)}throw a};if(_.length===0&&g.length){let e=g.length;for(let[t,r]of g.entries()){let i=Date.now();if(await v(()=>n.reply(r),`text`),!l){let r=Date.now()-i;C.debug(`Sent chunk ${t+1}/${e} to ${n.from} (${r.toFixed(0)}ms)`)}}o.info({correlationId:n.id??b(),connectionId:s??null,to:n.from,from:n.to,text:$(t.text,240),mediaUrl:null,mediaSizeBytes:null,mediaKind:null,durationMs:Date.now()-d},`auto-reply sent (text)`);return}let y=[...g];for(let[t,a]of _.entries()){let l=t===0&&y.shift()||void 0;try{let t=await c.a(a,{maxBytes:r,localRoots:e.mediaLocalRoots});if(i.B()&&(i.R(`Web auto-reply media size: ${(t.buffer.length/(1024*1024)).toFixed(2)}MB`),i.R(`Web auto-reply media source: ${a} (kind ${t.kind})`)),t.kind===`image`)await v(()=>n.sendMedia({image:t.buffer,caption:l,mimetype:t.contentType}),`media:image`);else if(t.kind===`audio`)await v(()=>n.sendMedia({audio:t.buffer,ptt:!0,mimetype:t.contentType,caption:l}),`media:audio`);else if(t.kind===`video`)await v(()=>n.sendMedia({video:t.buffer,caption:l,mimetype:t.contentType}),`media:video`);else{let e=t.fileName??a.split(`/`).pop()??`file`,r=t.contentType??`application/octet-stream`;await v(()=>n.sendMedia({document:t.buffer,fileName:e,caption:l,mimetype:r}),`media:document`)}C.info(`Sent media reply to ${n.from} (${(t.buffer.length/(1024*1024)).toFixed(2)}MB)`),o.info({correlationId:n.id??b(),connectionId:s??null,to:n.from,from:n.to,text:l??null,mediaUrl:a,mediaSizeBytes:t.buffer.length,mediaKind:t.kind,durationMs:Date.now()-d},`auto-reply sent (media)`)}catch(e){if(C.error(`Failed sending web media to ${n.from}: ${p.n(e)}`),o.warn({err:e,mediaUrl:a},`failed to send web media reply`),t===0){let t=e instanceof Error?`⚠️ Media failed: ${e.message}`:`⚠️ Media failed.`,r=[y.shift()??l??``,t].filter(Boolean).join(`
|
|
5
5
|
`);r&&(C.warn(`Media skipped; sent text-only to ${n.from}`),await n.reply(r))}}}for(let e of y)await n.reply(e)}function ke(t){if(!t.msg.id)return;let n=t.cfg.channels?.whatsapp?.ackReaction,r=(n?.emoji??``).trim(),a=n?.direct??!0,o=n?.group??`mentions`,s=t.msg.conversationId??t.msg.from,c=t.msg.chatType===`group`?he({cfg:t.cfg,agentId:t.agentId,sessionKey:t.sessionKey,conversationId:s}):null;e.y({emoji:r,isDirect:t.msg.chatType===`direct`,isGroup:t.msg.chatType===`group`,directEnabled:a,groupMode:o,wasMentioned:t.msg.wasMentioned===!0,groupActivated:c===`always`})&&(t.info({chatId:t.msg.chatId,messageId:t.msg.id,emoji:r},`sending ack reaction`),f.r(t.msg.chatId,t.msg.id,r,{verbose:t.verbose,fromMe:!1,participant:t.msg.senderJid,accountId:t.accountId}).catch(e=>{t.warn({error:p.n(e),chatId:t.msg.chatId,messageId:t.msg.id},`failed to send ack reaction`),i.R(`WhatsApp ack reaction failed for chat ${t.msg.chatId}: ${p.n(e)}`)}))}function Ae(e){return e.replyToBody?`[Replying to ${e.replyToSender??`unknown sender`}${e.replyToId?` id:${e.replyToId}`:``}]\n${e.replyToBody}\n[/Replying]`:null}function je(t){let{cfg:n,msg:r,agentId:i,previousTimestamp:a,envelope:o}=t,s=e.Z(n,i,{configured:n.channels?.whatsapp?.messagePrefix,hasAllowFrom:(n.channels?.whatsapp?.allowFrom?.length??0)>0}),c=s?`${s} `:``,l=Ae(r),u=`${c}${r.body}${l?`\n\n${l}`:``}`;return e.w({channel:`WhatsApp`,from:r.chatType===`group`?r.from:r.from?.replace(/^whatsapp:/,``),timestamp:r.timestamp,body:u,chatType:r.chatType,sender:{name:r.senderName,e164:r.senderE164,id:r.senderJid},previousTimestamp:a,envelope:o,fromMe:r.fromMe})}async function Me(t){let n=t.cfg.commands?.useAccessGroups!==!1;if(!n)return!0;let a=t.msg.chatType===`group`,o=i.h(a?t.msg.senderE164??``:t.msg.senderE164??t.msg.from??``);if(!o)return!1;let s=r.Gn({cfg:t.cfg,accountId:t.msg.accountId}),c=s.dmPolicy??`pairing`,l=s.groupPolicy??`allowlist`,u=s.allowFrom??[],d=s.groupAllowFrom??(u.length>0?u:void 0),f=a?[]:await e.V({provider:`whatsapp`,accountId:t.msg.accountId,dmPolicy:c});return e.H({isGroup:a,dmPolicy:c,groupPolicy:l,allowFrom:u.length>0?u:t.msg.selfE164?[t.msg.selfE164]:[],groupAllowFrom:d,storeAllowFrom:f,isSenderAllowed:e=>e.includes(`*`)?!0:e.map(e=>i.h(String(e))).filter(e=>!!e).includes(o),command:{useAccessGroups:n,allowTextCommands:!0,hasControlCommand:!0}}).commandAuthorized}function Ne(t){let n=r.Gn({cfg:t.cfg,accountId:t.msg.accountId});return e.W({dmScope:t.cfg.session?.dmScope,allowFrom:n.allowFrom,normalizeEntry:e=>i.h(e)})}async function Pe(t){let n=t.msg.conversationId??t.msg.from,{storePath:o,envelopeOptions:l,previousTimestamp:u}=e.s({cfg:t.cfg,agentId:t.route.agentId,sessionKey:t.route.sessionKey}),d=je({cfg:t.cfg,msg:t.msg,agentId:t.route.agentId,previousTimestamp:u,envelope:l}),f=!1;if(t.msg.chatType===`group`){let r=t.groupHistory??t.groupHistories.get(t.groupHistoryKey)??[];r.length>0&&(d=e.d({entries:r.map(e=>({sender:e.sender,body:e.body,timestamp:e.timestamp})),currentMessage:d,excludeLast:!1,formatEntry:t=>e.w({channel:`WhatsApp`,from:n,timestamp:t.timestamp,body:t.body,chatType:`group`,senderLabel:t.sender,envelope:l})})),f=!(t.suppressGroupHistoryClear??!1)}let m=t.buildCombinedEchoKey({sessionKey:t.route.sessionKey,combinedBody:d});if(t.echoHas(m))return i.R(`Skipping auto-reply: detected echo for combined message`),t.echoForget(m),!1;ke({cfg:t.cfg,msg:t.msg,agentId:t.route.agentId,sessionKey:t.route.sessionKey,conversationId:n,verbose:t.verbose,accountId:t.route.accountId,info:t.replyLogger.info.bind(t.replyLogger),warn:t.replyLogger.warn.bind(t.replyLogger)});let h=t.msg.id??b();t.replyLogger.info({connectionId:t.connectionId,correlationId:h,from:t.msg.chatType===`group`?n:t.msg.from,to:t.msg.to,body:$(d,240),mediaType:t.msg.mediaType??null,mediaPath:t.msg.mediaPath??null},`inbound web message`);let g=t.msg.chatType===`group`?n:t.msg.from,_=t.msg.mediaType?`, ${t.msg.mediaType}`:``;S.info(`Inbound message ${g} -> ${t.msg.to} (${t.msg.chatType}${_}, ${d.length} chars)`),i.B()&&S.debug(`Inbound body: ${$(d,400)}`);let v=t.msg.chatType===`group`?void 0:t.msg.senderE164?i.h(t.msg.senderE164):t.msg.from.includes(`@`)?i.m(t.msg.from):i.h(t.msg.from),y=t.maxMediaTextChunkLimit??c.h(t.cfg,`whatsapp`),x=c.m(t.cfg,`whatsapp`,t.route.accountId),ee=c.s({cfg:t.cfg,channel:`whatsapp`,accountId:t.route.accountId}),w=s.t(t.cfg,t.route.agentId),T=!1,E=!1,D=e.E(t.msg.body,t.cfg)?await Me({cfg:t.cfg,msg:t.msg}):void 0,O=t.cfg.messages?.responsePrefix,{onModelSelected:k,...A}=e.Y({cfg:t.cfg,agentId:t.route.agentId,channel:`whatsapp`,accountId:t.route.accountId}),j=t.msg.chatType!==`group`&&!!t.msg.selfE164&&i.h(t.msg.from)===i.h(t.msg.selfE164??``),M=A.responsePrefix??(O===void 0&&j?e.X(t.cfg,t.route.agentId):void 0),N=t.msg.chatType===`group`?(t.groupHistory??t.groupHistories.get(t.groupHistoryKey)??[]).map(e=>({sender:e.sender,body:e.body,timestamp:e.timestamp})):void 0,P=e.L({Body:d,BodyForAgent:t.msg.body,InboundHistory:N,RawBody:t.msg.body,CommandBody:t.msg.body,From:t.msg.from,To:t.msg.to,SessionKey:t.route.sessionKey,AccountId:t.route.accountId,MessageSid:t.msg.id,ReplyToId:t.msg.replyToId,ReplyToBody:t.msg.replyToBody,ReplyToSender:t.msg.replyToSender,MediaPath:t.msg.mediaPath,MediaUrl:t.msg.mediaUrl,MediaType:t.msg.mediaType,ChatType:t.msg.chatType,ConversationLabel:t.msg.chatType===`group`?n:t.msg.from,GroupSubject:t.msg.groupSubject,GroupMembers:ve({participants:t.msg.groupParticipants,roster:t.groupMemberNames.get(t.groupHistoryKey),fallbackE164:t.msg.senderE164}),SenderName:t.msg.senderName,SenderId:t.msg.senderJid?.trim()||t.msg.senderE164,SenderE164:t.msg.senderE164,CommandAuthorized:D,WasMentioned:t.msg.wasMentioned,...t.msg.location?a.Y(t.msg.location):{},Provider:`whatsapp`,Surface:`whatsapp`,OriginatingChannel:`whatsapp`,OriginatingTo:t.msg.from}),F=Ne({cfg:t.cfg,msg:t.msg}),I=!F||F===v,L=e.g({route:t.route,sessionKey:t.route.sessionKey});v&&L===t.route.mainSessionKey&&I?we({cfg:t.cfg,backgroundTasks:t.backgroundTasks,storeAgentId:t.route.agentId,sessionKey:t.route.mainSessionKey,channel:`whatsapp`,to:v,accountId:t.route.accountId,ctx:P,warn:t.replyLogger.warn.bind(t.replyLogger)}):v&&L===t.route.mainSessionKey&&F&&i.R(`Skipping main-session last route update for ${v} (pinned owner ${F})`);let R=r.jt({storePath:o,sessionKey:t.route.sessionKey,ctx:P}).catch(e=>{t.replyLogger.warn({error:p.n(e),storePath:o,sessionKey:t.route.sessionKey},`failed updating session meta`)});Ce(t.backgroundTasks,R);let{queuedFinal:z}=await e.b({ctx:P,cfg:t.cfg,replyResolver:t.replyResolver,dispatcherOptions:{...A,responsePrefix:M,onHeartbeatStrip:()=>{T||(T=!0,i.R(`Stripped stray HEARTBEAT_OK token from web reply`))},deliver:async(e,r)=>{if(r.kind!==`final`)return;await Oe({replyResult:e,msg:t.msg,mediaLocalRoots:w,maxMediaBytes:t.maxMediaBytes,textLimit:y,chunkMode:x,replyLogger:t.replyLogger,connectionId:t.connectionId,skipLog:!1,tableMode:ee}),E=!0;let a=e.text?!0:void 0;t.rememberSentText(e.text,{combinedBody:d,combinedBodySessionKey:t.route.sessionKey,logVerboseMessage:a});let o=t.msg.chatType===`group`?n:t.msg.from??`unknown`,s=!!(e.mediaUrl||e.mediaUrls?.length);if(C.info(`Auto-replied to ${o}${s?` (media)`:``}`),i.B()){let t=e.text==null?`<media>`:$(e.text,400);C.debug(`Reply body: ${t}${s?` (media)`:``}`)}},onError:(e,r)=>{let i=r.kind===`tool`?`tool update`:r.kind===`block`?`block update`:`auto-reply`;C.error(`Failed sending web ${i} to ${t.msg.from??n}: ${p.n(e)}`)},onReplyStart:t.msg.sendComposing},replyOptions:{disableBlockStreaming:!0,onModelSelected:k}});return z?(f&&t.groupHistories.set(t.groupHistoryKey,[]),E):(f&&t.groupHistories.set(t.groupHistoryKey,[]),i.R(`Skipping auto-reply: silent token or no text/media returned from resolver`),!1)}function Fe(t){let a=async(e,n,r,i)=>Pe({cfg:t.cfg,msg:e,route:n,groupHistoryKey:r,groupHistories:t.groupHistories,groupMemberNames:t.groupMemberNames,connectionId:t.connectionId,verbose:t.verbose,maxMediaBytes:t.maxMediaBytes,replyResolver:t.replyResolver,replyLogger:t.replyLogger,backgroundTasks:t.backgroundTasks,rememberSentText:t.echoTracker.rememberText,echoHas:t.echoTracker.has,echoForget:t.echoTracker.forget,buildCombinedEchoKey:t.echoTracker.buildCombinedKey,groupHistory:i?.groupHistory,suppressGroupHistoryClear:i?.suppressGroupHistoryClear});return async o=>{let s=o.conversationId??o.from,c=Te(o),l=e.h({cfg:r.Oa(),channel:`whatsapp`,accountId:o.accountId,peer:{kind:o.chatType===`group`?`group`:`direct`,id:c}}),u=o.chatType===`group`?n.kt({channel:`whatsapp`,accountId:l.accountId,peerKind:`group`,peerId:c}):l.sessionKey;if(o.from===o.to&&i.R(`📱 Same-phone mode detected (from === to: ${o.from})`),t.echoTracker.has(o.body)){i.R(`Skipping auto-reply: detected echo (message matches recently sent text)`),t.echoTracker.forget(o.body);return}if(o.chatType===`group`){let e={From:o.from,To:o.to,SessionKey:l.sessionKey,AccountId:l.accountId,ChatType:o.chatType,ConversationLabel:s,GroupSubject:o.groupSubject,SenderName:o.senderName,SenderId:o.senderJid?.trim()||o.senderE164,SenderE164:o.senderE164,Provider:`whatsapp`,Surface:`whatsapp`,OriginatingChannel:`whatsapp`,OriginatingTo:s};if(we({cfg:t.cfg,backgroundTasks:t.backgroundTasks,storeAgentId:l.agentId,sessionKey:l.sessionKey,channel:`whatsapp`,to:s,accountId:l.accountId,ctx:e,warn:t.replyLogger.warn.bind(t.replyLogger)}),!Se({cfg:t.cfg,msg:o,conversationId:s,groupHistoryKey:u,agentId:l.agentId,sessionKey:l.sessionKey,baseMentionConfig:t.baseMentionConfig,authDir:t.account.authDir,groupHistories:t.groupHistories,groupHistoryLimit:t.groupHistoryLimit,groupMemberNames:t.groupMemberNames,logVerbose:i.R,replyLogger:t.replyLogger}).shouldProcess)return}else !o.senderE164&&c&&c.startsWith(`+`)&&(o.senderE164=i.h(c)??o.senderE164);await de({cfg:t.cfg,msg:o,peerId:c,route:l,groupHistoryKey:u,groupHistories:t.groupHistories,processMessage:a})||await a(o,l,u)}}function Ie(e){return e===440}async function Le(t,n=oe,a=!0,s=e.t,c=i.M,l,u={}){let f=b(),m=i.K({module:`web-auto-reply`,runId:f}),h=i.K({module:`web-heartbeat`,runId:f}),g=i.K({module:`web-reconnect`,runId:f}),_={running:!0,connected:!1,reconnectAttempts:0,lastConnectedAt:null,lastDisconnect:null,lastMessageAt:null,lastEventAt:null,lastError:null},S=()=>{u.statusSink?.({..._,lastDisconnect:_.lastDisconnect?{..._.lastDisconnect}:null})};S();let C=r.Oa(),T=r.Gn({cfg:C,accountId:u.accountId}),E={...C,channels:{...C.channels,whatsapp:{...C.channels?.whatsapp,ackReaction:T.ackReaction,messagePrefix:T.messagePrefix,allowFrom:T.allowFrom,groupAllowFrom:T.groupAllowFrom,groupPolicy:T.groupPolicy,textChunkLimit:T.textChunkLimit,chunkMode:T.chunkMode,mediaMaxMb:T.mediaMaxMb,blockStreaming:T.blockStreaming,groups:T.groups}}},D=r.Kn(T),O=v(E,u.heartbeatSeconds),k=y(E,u.reconnect),A=X(E),j=E.channels?.whatsapp?.accounts?.[u.accountId??``]?.historyLimit??E.channels?.whatsapp?.historyLimit??E.messages?.groupChat?.historyLimit??50,M=new Map,N=new Map,P=le({maxItems:100,logVerbose:i.R}),F=u.sleep??((t,n)=>e.u(t,n??l)),I=()=>l?.aborted===!0,L=l&&new Promise(e=>l.addEventListener(`abort`,()=>e(`aborted`),{once:!0})),R=process.getMaxListeners?.()??10;process.setMaxListeners&&R<50&&process.setMaxListeners(50);let z=!1,B=()=>{z=!0};process.once(`SIGINT`,B);let V=0;for(;!I();){let f=b(),v=Date.now(),y=null,C=null,R=null,H=0,U=null,te=u.messageTimeoutMs??1800*1e3,ne=u.watchdogCheckMs??60*1e3,W=new Set,re=Fe({cfg:E,verbose:t,connectionId:f,maxMediaBytes:D,groupHistoryLimit:j,groupHistories:M,groupMemberNames:N,echoTracker:P,backgroundTasks:W,replyResolver:s??e.t,replyLogger:m,baseMentionConfig:A,account:T}),ie=e.C({cfg:E,channel:`whatsapp`}),G=await(n??oe)({verbose:t,accountId:T.accountId,authDir:T.authDir,mediaMaxMb:T.mediaMaxMb,sendReadReceipts:T.sendReadReceipts,debounceMs:ie,shouldDebounce:t=>t.mediaPath||t.mediaType||t.location||t.replyToId||t.replyToBody?!1:!e.T(t.body,E),onMessage:async e=>{H+=1,R=Date.now(),_.lastMessageAt=R,_.lastEventAt=R,S(),await re(e)}});Object.assign(_,e.c()),_.lastError=null,S();let{e164:K}=r.er(T.authDir),ae=e.h({cfg:E,channel:`whatsapp`,accountId:T.accountId});e._(`WhatsApp gateway connected${K?` as ${K}`:``}.`,{sessionKey:ae.sessionKey}),d.r(T.accountId,G),U=o.f(e=>{if(!Ee(e))return!1;let t=p.n(e);return g.warn({connectionId:f,error:t},`web reconnect: unhandled rejection from WhatsApp socket; forcing reconnect`),G.signalClose?.({status:499,isLoggedOut:!1,error:e}),!0});let q=async()=>{d.r(T.accountId,null),U&&=(U(),null),y&&clearInterval(y),C&&clearInterval(C),W.size>0&&(await Promise.allSettled(W),W.clear());try{await G.close()}catch(e){i.R(`Socket close failed: ${p.n(e)}`)}};if(a&&(y=setInterval(()=>{let e=r.Jn(T.authDir),t=R?Math.floor((Date.now()-R)/6e4):null,n={connectionId:f,reconnectAttempts:V,messagesHandled:H,lastMessageAt:R,authAgeMs:e,uptimeMs:Date.now()-v,...t!==null&&t>30?{minutesSinceLastMessage:t}:{}};t&&t>30?h.warn(n,`⚠️ web gateway heartbeat - no messages in 30+ minutes`):h.info(n,`web gateway heartbeat`)},O*1e3),C=setInterval(()=>{if(!R)return;let e=Date.now()-R;if(e<=te)return;let t=Math.floor(e/6e4);h.warn({connectionId:f,minutesSinceLastMessage:t,lastMessageAt:new Date(R),messagesHandled:H},`Message timeout detected - forcing reconnect`),ee.warn(`No messages received in ${t}m - restarting connection`),q().catch(e=>{i.R(`Close listener failed: ${p.n(e)}`)}),G.signalClose?.({status:499,isLoggedOut:!1,error:`watchdog-timeout`})},ne)),x.info(`Listening for personal WhatsApp inbound messages.`),(process.stdout.isTTY||process.stderr.isTTY)&&x.raw(`Ctrl+C to stop.`),!a){await q(),process.removeListener(`SIGINT`,B);return}let J=await Promise.race([G.onClose?.catch(e=>(g.error({error:p.n(e)},`listener.onClose rejected`),{status:500,isLoggedOut:!1,error:e}))??w(),L??w()]);if(Date.now()-v>O*1e3&&(V=0),_.reconnectAttempts=V,S(),I()||z||J===`aborted`){await q();break}let Y=(typeof J==`object`&&J&&`status`in J?J.status:void 0)??`unknown`,X=typeof J==`object`&&J&&`isLoggedOut`in J&&J.isLoggedOut,Z=p.n(J);if(_.connected=!1,_.lastEventAt=Date.now(),_.lastDisconnect={at:_.lastEventAt,status:typeof Y==`number`?Y:void 0,error:Z,loggedOut:!!X},_.lastError=Z,_.reconnectAttempts=V,S(),g.info({connectionId:f,status:Y,loggedOut:X,reconnectAttempts:V,error:Z},`web reconnect: connection closed`),e._(`WhatsApp gateway disconnected (status ${Y??`unknown`})`,{sessionKey:ae.sessionKey}),X){c.error(`WhatsApp session logged out. Run \`${r.ic(`openclaw channels login --channel web`)}\` to relink.`),await q();break}if(Ie(Y)){g.warn({connectionId:f,status:Y,error:Z},`web reconnect: non-retryable close status; stopping monitor`),c.error(`WhatsApp Web connection closed (status ${Y}: session conflict). Resolve conflicting WhatsApp Web sessions, then relink with \`${r.ic(`openclaw channels login --channel web`)}\`. Stopping web monitoring.`),await q();break}if(V+=1,_.reconnectAttempts=V,S(),k.maxAttempts>0&&V>=k.maxAttempts){g.warn({connectionId:f,status:Y,reconnectAttempts:V,maxAttempts:k.maxAttempts},`web reconnect: max attempts reached; continuing in degraded mode`),c.error(`WhatsApp Web reconnect: max attempts reached (${V}/${k.maxAttempts}). Stopping web monitoring.`),await q();break}let Q=e.l(k,V);g.info({connectionId:f,status:Y,reconnectAttempts:V,maxAttempts:k.maxAttempts||`unlimited`,delayMs:Q},`web reconnect: scheduling retry`),c.error(`WhatsApp Web connection closed (status ${Y}). Retry ${V}/${k.maxAttempts||`∞`} in ${e.v(Q)}… (${Z})`),await q();try{await F(Q,l)}catch{break}}_.running=!1,_.connected=!1,_.lastEventAt=Date.now(),S(),process.removeListener(`SIGINT`,B)}exports.WA_WEB_AUTH_DIR=r.qn,exports.createWaSocket=p.t,exports.logWebSelfId=r.Yn,exports.loginWeb=m.t,exports.monitorWebChannel=Le,exports.monitorWebInbox=oe,exports.pickWebChannel=r.Qn,exports.sendMessageWhatsApp=f.t,exports.waitForWaConnection=p.i,exports.webAuthExists=r.ir;
|
|
6
|
+
//# sourceMappingURL=web-pcTha_l7.cjs.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`zod`),l=require(`node:path`);l=s(l);let u=require(`node:fs`);u=s(u);let d=require(`node:os`);d=s(d);let f=require(`node:fs/promises`);f=s(f);let p=require(`chalk`);p=s(p);let m=require(`tslog`),h=require(`json5`);h=s(h);let g=require(`node:url`);const _=/[;&|`$<>]/,v=/[\r\n]/,ee=/["']/,te=/^[A-Za-z0-9._+-]+$/;function ne(e){return e.startsWith(`.`)||e.startsWith(`~`)||e.includes(`/`)||e.includes(`\\`)?!0:/^[A-Za-z]:[\\/]/.test(e)}function y(e){if(!e)return!1;let t=e.trim();return!t||t.includes(`\0`)||v.test(t)||_.test(t)||ee.test(t)?!1:ne(t)?!0:t.startsWith(`-`)?!1:te.test(t)}const re=/^(?:[^~]|~0|~1)*$/,ie=/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$/;function ae(e){return e===`value`?!0:e.startsWith(`/`)?e.slice(1).split(`/`).every(e=>re.test(e)):!1}function oe(e){if(!ie.test(e))return{ok:!1,reason:`pattern`};for(let t of e.split(`/`))if(t===`.`||t===`..`)return{ok:!1,reason:`traversal-segment`};return{ok:!0}}function se(e){return oe(e).ok}function ce(){return[`Exec secret reference id must match /^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$/`,`and must not include "." or ".." path segments`,`(example: "vault/openai/api-key").`].join(` `)}const le=[`openai-completions`,`openai-responses`,`openai-codex-responses`,`anthropic-messages`,`google-generative-ai`,`github-copilot`,`bedrock-converse-stream`,`ollama`],ue=c.z.union([c.z.literal(`allow`),c.z.literal(`deny`)]),de=c.z.union([c.z.literal(`direct`),c.z.literal(`group`),c.z.literal(`channel`),c.z.literal(`dm`)]).optional();function fe(){return c.z.object({default:ue.optional(),rules:c.z.array(c.z.object({action:ue,match:c.z.object({channel:c.z.string().optional(),chatType:de,keyPrefix:c.z.string().optional(),rawKeyPrefix:c.z.string().optional()}).strict().optional()}).strict()).optional()}).strict().optional()}const b=c.z.registry(),x=/^[A-Z][A-Z0-9_]{0,127}$/,S=/^[a-z][a-z0-9_-]{0,63}$/,pe=/^[A-Za-z]:[\\/]/,me=/^\\\\[^\\]+\\[^\\]+/;function he(e){return l.default.isAbsolute(e)||pe.test(e)||me.test(e)}const ge=c.z.object({source:c.z.literal(`env`),provider:c.z.string().regex(S,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`),id:c.z.string().regex(x,`Env secret reference id must match /^[A-Z][A-Z0-9_]{0,127}$/ (example: "OPENAI_API_KEY").`)}).strict(),_e=c.z.object({source:c.z.literal(`file`),provider:c.z.string().regex(S,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`),id:c.z.string().refine(ae,`File secret reference id must be an absolute JSON pointer (example: "/providers/openai/apiKey"), or "value" for singleValue mode.`)}).strict(),ve=c.z.object({source:c.z.literal(`exec`),provider:c.z.string().regex(S,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`),id:c.z.string().refine(se,ce())}).strict(),ye=c.z.discriminatedUnion(`source`,[ge,_e,ve]),C=c.z.union([c.z.string(),ye]),be=c.z.object({source:c.z.literal(`env`),allowlist:c.z.array(c.z.string().regex(x)).max(256).optional()}).strict(),xe=c.z.object({source:c.z.literal(`file`),path:c.z.string().min(1),mode:c.z.union([c.z.literal(`singleValue`),c.z.literal(`json`)]).optional(),timeoutMs:c.z.number().int().positive().max(12e4).optional(),maxBytes:c.z.number().int().positive().max(20*1024*1024).optional()}).strict(),Se=c.z.object({source:c.z.literal(`exec`),command:c.z.string().min(1).refine(e=>y(e),`secrets.providers.*.command is unsafe.`).refine(e=>he(e),`secrets.providers.*.command must be an absolute path.`),args:c.z.array(c.z.string().max(1024)).max(128).optional(),timeoutMs:c.z.number().int().positive().max(12e4).optional(),noOutputTimeoutMs:c.z.number().int().positive().max(12e4).optional(),maxOutputBytes:c.z.number().int().positive().max(20*1024*1024).optional(),jsonOnly:c.z.boolean().optional(),env:c.z.record(c.z.string(),c.z.string()).optional(),passEnv:c.z.array(c.z.string().regex(x)).max(128).optional(),trustedDirs:c.z.array(c.z.string().min(1).refine(e=>he(e),`trustedDirs entries must be absolute paths.`)).max(64).optional(),allowInsecurePath:c.z.boolean().optional(),allowSymlinkCommand:c.z.boolean().optional()}).strict(),Ce=c.z.discriminatedUnion(`source`,[be,xe,Se]);c.z.object({providers:c.z.object({}).catchall(Ce).optional(),defaults:c.z.object({env:c.z.string().regex(S).optional(),file:c.z.string().regex(S).optional(),exec:c.z.string().regex(S).optional()}).strict().optional(),resolution:c.z.object({maxProviderConcurrency:c.z.number().int().positive().max(16).optional(),maxRefsPerProvider:c.z.number().int().positive().max(4096).optional(),maxBatchBytes:c.z.number().int().positive().max(5*1024*1024).optional()}).strict().optional()}).strict().optional();const we=c.z.enum(le),Te=c.z.object({supportsStore:c.z.boolean().optional(),supportsDeveloperRole:c.z.boolean().optional(),supportsReasoningEffort:c.z.boolean().optional(),supportsUsageInStreaming:c.z.boolean().optional(),supportsTools:c.z.boolean().optional(),supportsStrictMode:c.z.boolean().optional(),maxTokensField:c.z.union([c.z.literal(`max_completion_tokens`),c.z.literal(`max_tokens`)]).optional(),thinkingFormat:c.z.union([c.z.literal(`openai`),c.z.literal(`zai`),c.z.literal(`qwen`)]).optional(),requiresToolResultName:c.z.boolean().optional(),requiresAssistantAfterToolResult:c.z.boolean().optional(),requiresThinkingAsText:c.z.boolean().optional(),requiresMistralToolIds:c.z.boolean().optional(),requiresOpenAiAnthropicToolPayload:c.z.boolean().optional()}).strict().optional(),Ee=c.z.object({id:c.z.string().min(1),name:c.z.string().min(1),api:we.optional(),reasoning:c.z.boolean().optional(),input:c.z.array(c.z.union([c.z.literal(`text`),c.z.literal(`image`)])).optional(),cost:c.z.object({input:c.z.number().optional(),output:c.z.number().optional(),cacheRead:c.z.number().optional(),cacheWrite:c.z.number().optional()}).strict().optional(),contextWindow:c.z.number().positive().optional(),maxTokens:c.z.number().positive().optional(),headers:c.z.record(c.z.string(),c.z.string()).optional(),compat:Te}).strict(),De=c.z.object({baseUrl:c.z.string().min(1),apiKey:C.optional().register(b),auth:c.z.union([c.z.literal(`api-key`),c.z.literal(`aws-sdk`),c.z.literal(`oauth`),c.z.literal(`token`)]).optional(),api:we.optional(),injectNumCtxForOpenAICompat:c.z.boolean().optional(),headers:c.z.record(c.z.string(),C.register(b)).optional(),authHeader:c.z.boolean().optional(),models:c.z.array(Ee)}).strict(),Oe=c.z.object({enabled:c.z.boolean().optional(),region:c.z.string().optional(),providerFilter:c.z.array(c.z.string()).optional(),refreshInterval:c.z.number().int().nonnegative().optional(),defaultContextWindow:c.z.number().int().positive().optional(),defaultMaxTokens:c.z.number().int().positive().optional()}).strict().optional();c.z.object({mode:c.z.union([c.z.literal(`merge`),c.z.literal(`replace`)]).optional(),providers:c.z.record(c.z.string(),De).optional(),bedrockDiscovery:Oe}).strict().optional(),c.z.object({mentionPatterns:c.z.array(c.z.string()).optional(),historyLimit:c.z.number().int().positive().optional()}).strict().optional();const ke=c.z.object({historyLimit:c.z.number().int().min(0).optional()}).strict();c.z.object({name:c.z.string().optional(),theme:c.z.string().optional(),emoji:c.z.string().optional(),avatar:c.z.string().optional()}).strict().optional();const w=c.z.union([c.z.literal(`steer`),c.z.literal(`followup`),c.z.literal(`collect`),c.z.literal(`steer-backlog`),c.z.literal(`steer+backlog`),c.z.literal(`queue`),c.z.literal(`interrupt`)]),Ae=c.z.union([c.z.literal(`old`),c.z.literal(`new`),c.z.literal(`summarize`)]);c.z.union([c.z.literal(`off`),c.z.literal(`first`),c.z.literal(`all`)]),c.z.union([c.z.literal(`never`),c.z.literal(`instant`),c.z.literal(`thinking`),c.z.literal(`message`)]),c.z.enum([`open`,`disabled`,`allowlist`]),c.z.enum([`pairing`,`allowlist`,`open`,`disabled`]);const je=c.z.object({minChars:c.z.number().int().positive().optional(),maxChars:c.z.number().int().positive().optional(),idleMs:c.z.number().int().nonnegative().optional()}).strict();c.z.number().int().min(0).optional(),c.z.number().int().min(0).optional(),c.z.record(c.z.string(),ke.optional()).optional(),c.z.number().int().positive().optional(),c.z.enum([`length`,`newline`]).optional(),c.z.boolean().optional(),je.optional(),c.z.string().optional(),c.z.number().positive().optional(),c.z.object({minChars:c.z.number().int().positive().optional(),maxChars:c.z.number().int().positive().optional(),breakPreference:c.z.union([c.z.literal(`paragraph`),c.z.literal(`newline`),c.z.literal(`sentence`)]).optional()}).strict();const Me=c.z.enum([`off`,`bullets`,`code`]);c.z.object({tables:Me.optional()}).strict().optional();const Ne=c.z.enum([`elevenlabs`,`openai`,`edge`]),Pe=c.z.enum([`final`,`all`]),Fe=c.z.enum([`off`,`always`,`inbound`,`tagged`]);c.z.object({auto:Fe.optional(),enabled:c.z.boolean().optional(),mode:Pe.optional(),provider:Ne.optional(),summaryModel:c.z.string().optional(),modelOverrides:c.z.object({enabled:c.z.boolean().optional(),allowText:c.z.boolean().optional(),allowProvider:c.z.boolean().optional(),allowVoice:c.z.boolean().optional(),allowModelId:c.z.boolean().optional(),allowVoiceSettings:c.z.boolean().optional(),allowNormalization:c.z.boolean().optional(),allowSeed:c.z.boolean().optional()}).strict().optional(),elevenlabs:c.z.object({apiKey:C.optional().register(b),baseUrl:c.z.string().optional(),voiceId:c.z.string().optional(),modelId:c.z.string().optional(),seed:c.z.number().int().min(0).max(4294967295).optional(),applyTextNormalization:c.z.enum([`auto`,`on`,`off`]).optional(),languageCode:c.z.string().optional(),voiceSettings:c.z.object({stability:c.z.number().min(0).max(1).optional(),similarityBoost:c.z.number().min(0).max(1).optional(),style:c.z.number().min(0).max(1).optional(),useSpeakerBoost:c.z.boolean().optional(),speed:c.z.number().min(.5).max(2).optional()}).strict().optional()}).strict().optional(),openai:c.z.object({apiKey:C.optional().register(b),baseUrl:c.z.string().optional(),model:c.z.string().optional(),voice:c.z.string().optional(),speed:c.z.number().min(.25).max(4).optional(),instructions:c.z.string().optional()}).strict().optional(),edge:c.z.object({enabled:c.z.boolean().optional(),voice:c.z.string().optional(),lang:c.z.string().optional(),outputFormat:c.z.string().optional(),pitch:c.z.string().optional(),rate:c.z.string().optional(),volume:c.z.string().optional(),saveSubtitles:c.z.boolean().optional(),proxy:c.z.string().optional(),timeoutMs:c.z.number().int().min(1e3).max(12e4).optional()}).strict().optional(),prefsPath:c.z.string().optional(),maxTextLength:c.z.number().int().min(1).optional(),timeoutMs:c.z.number().int().min(1e3).max(12e4).optional()}).strict().optional(),c.z.object({mode:c.z.union([c.z.literal(`off`),c.z.literal(`natural`),c.z.literal(`custom`)]).optional(),minMs:c.z.number().int().nonnegative().optional(),maxMs:c.z.number().int().nonnegative().optional()}).strict();const T=c.z.object({noOutputTimeoutMs:c.z.number().int().min(1e3).optional(),noOutputTimeoutRatio:c.z.number().min(.05).max(.95).optional(),minMs:c.z.number().int().min(1e3).optional(),maxMs:c.z.number().int().min(1e3).optional()}).strict().optional();c.z.object({command:c.z.string(),args:c.z.array(c.z.string()).optional(),output:c.z.union([c.z.literal(`json`),c.z.literal(`text`),c.z.literal(`jsonl`)]).optional(),resumeOutput:c.z.union([c.z.literal(`json`),c.z.literal(`text`),c.z.literal(`jsonl`)]).optional(),input:c.z.union([c.z.literal(`arg`),c.z.literal(`stdin`)]).optional(),maxPromptArgChars:c.z.number().int().positive().optional(),env:c.z.record(c.z.string(),c.z.string()).optional(),clearEnv:c.z.array(c.z.string()).optional(),modelArg:c.z.string().optional(),modelAliases:c.z.record(c.z.string(),c.z.string()).optional(),sessionArg:c.z.string().optional(),sessionArgs:c.z.array(c.z.string()).optional(),resumeArgs:c.z.array(c.z.string()).optional(),sessionMode:c.z.union([c.z.literal(`always`),c.z.literal(`existing`),c.z.literal(`none`)]).optional(),sessionIdFields:c.z.array(c.z.string()).optional(),systemPromptArg:c.z.string().optional(),systemPromptMode:c.z.union([c.z.literal(`append`),c.z.literal(`replace`)]).optional(),systemPromptWhen:c.z.union([c.z.literal(`first`),c.z.literal(`always`),c.z.literal(`never`)]).optional(),imageArg:c.z.string().optional(),imageMode:c.z.union([c.z.literal(`repeat`),c.z.literal(`list`)]).optional(),serialize:c.z.boolean().optional(),reliability:c.z.object({watchdog:c.z.object({fresh:T,resume:T}).strict().optional()}).strict().optional()}).strict(),c.z.enum([`thread`,`top-level`]),c.z.object({attempts:c.z.number().int().min(1).optional(),minDelayMs:c.z.number().int().min(0).optional(),maxDelayMs:c.z.number().int().min(0).optional(),jitter:c.z.number().min(0).max(1).optional()}).strict().optional();const Ie=c.z.object({whatsapp:w.optional(),telegram:w.optional(),discord:w.optional(),irc:w.optional(),slack:w.optional(),mattermost:w.optional(),signal:w.optional(),imessage:w.optional(),msteams:w.optional(),webchat:w.optional()}).strict().optional(),Le=c.z.record(c.z.string(),c.z.number().int().nonnegative()).optional();c.z.object({mode:w.optional(),byChannel:Ie,debounceMs:c.z.number().int().nonnegative().optional(),debounceMsByChannel:Le,cap:c.z.number().int().positive().optional(),drop:Ae.optional()}).strict().optional(),c.z.object({debounceMs:c.z.number().int().nonnegative().optional(),byChannel:Le}).strict().optional(),c.z.object({command:c.z.array(c.z.string()).superRefine((e,t)=>{let n=e[0];y(n)||t.addIssue({code:c.z.ZodIssueCode.custom,path:[0],message:`expected safe executable name or path`})}),timeoutSeconds:c.z.number().int().positive().optional()}).strict().optional(),c.z.string().regex(/^#?[0-9a-fA-F]{6}$/,`expected hex color (RRGGBB)`),c.z.string().refine(y,`expected safe executable name or path`);const Re=fe(),ze=c.z.array(c.z.union([c.z.literal(`image`),c.z.literal(`audio`),c.z.literal(`video`)])).optional(),Be=c.z.object({mode:c.z.union([c.z.literal(`first`),c.z.literal(`all`)]).optional(),maxAttachments:c.z.number().int().positive().optional(),prefer:c.z.union([c.z.literal(`first`),c.z.literal(`last`),c.z.literal(`path`),c.z.literal(`url`)]).optional()}).strict().optional(),Ve=c.z.object({detectLanguage:c.z.boolean().optional(),punctuate:c.z.boolean().optional(),smartFormat:c.z.boolean().optional()}).strict().optional(),He=c.z.union([c.z.string(),c.z.number(),c.z.boolean()]),Ue=c.z.record(c.z.string(),c.z.record(c.z.string(),He)).optional(),We={prompt:c.z.string().optional(),timeoutSeconds:c.z.number().int().positive().optional(),language:c.z.string().optional(),providerOptions:Ue,deepgram:Ve,baseUrl:c.z.string().optional(),headers:c.z.record(c.z.string(),c.z.string()).optional()},Ge=c.z.object({provider:c.z.string().optional(),model:c.z.string().optional(),capabilities:ze,type:c.z.union([c.z.literal(`provider`),c.z.literal(`cli`)]).optional(),command:c.z.string().optional(),args:c.z.array(c.z.string()).optional(),maxChars:c.z.number().int().positive().optional(),maxBytes:c.z.number().int().positive().optional(),...We,profile:c.z.string().optional(),preferredProfile:c.z.string().optional()}).strict().optional(),E=c.z.object({enabled:c.z.boolean().optional(),scope:Re,maxBytes:c.z.number().int().positive().optional(),maxChars:c.z.number().int().positive().optional(),...We,attachments:Be,models:c.z.array(Ge).optional(),echoTranscript:c.z.boolean().optional(),echoFormat:c.z.string().optional()}).strict().optional();c.z.object({models:c.z.array(Ge).optional(),concurrency:c.z.number().int().positive().optional(),image:E.optional(),audio:E.optional(),video:E.optional()}).strict().optional();const Ke=c.z.object({type:c.z.literal(`cli`).optional(),command:c.z.string().min(1),args:c.z.array(c.z.string()).optional(),timeoutSeconds:c.z.number().int().positive().optional()}).strict();c.z.object({enabled:c.z.boolean().optional(),scope:Re,maxLinks:c.z.number().int().positive().optional(),timeoutSeconds:c.z.number().int().positive().optional(),models:c.z.array(Ke).optional()}).strict().optional();const qe=c.z.union([c.z.boolean(),c.z.literal(`auto`)]);c.z.object({native:qe.optional(),nativeSkills:qe.optional()}).strict().optional();const Je=c.z.union([c.z.string(),c.z.number()]);c.z.array(Je).optional();function Ye(e){let t=e;return typeof t.toJSONSchema==`function`?{schema:t.toJSONSchema({target:`draft-07`,unrepresentable:`any`})}:{schema:{type:`object`,additionalProperties:!0}}}function Xe(e){let t,n=!1,r=async()=>{if(!n){n=!0;try{await e.onTick()}finally{n=!1}}};return{tick:r,start:()=>{e.intervalMs<=0||t||(t=setInterval(()=>{r()},e.intervalMs))},stop:()=>{t&&(clearInterval(t),t=void 0,n=!1)},isRunning:()=>t!==void 0}}function Ze(e){let t=typeof e.maxConsecutiveFailures==`number`&&e.maxConsecutiveFailures>0?Math.floor(e.maxConsecutiveFailures):void 0,n=0,r=!1,i=()=>e.isSealed()||r?!0:e.shouldBlock?.()===!0;return{run:async a=>{if(i())return`skipped`;try{return await a(),n=0,`started`}catch(i){if(n+=1,e.onStartError?.(i),e.rethrowOnError)throw i;return t&&n>=t?(r=!0,e.onTrip?.(),`tripped`):`failed`}},reset:()=>{n=0,r=!1},isTripped:()=>r}}function Qe(e){let t=e.stop,n=e.keepaliveIntervalMs??3e3,r=Math.max(1,e.maxConsecutiveFailures??2),i=e.maxDurationMs??6e4,a=!1,o=!1,s,c=Ze({isSealed:()=>o,onStartError:e.onStartError,maxConsecutiveFailures:r,onTrip:()=>{u.stop()}}),l=async()=>{await c.run(()=>e.start())},u=Xe({intervalMs:n,onTick:l}),d=()=>{i<=0||(f(),s=setTimeout(()=>{o||(console.warn(`[typing] TTL exceeded (${i}ms), auto-stopping typing indicator`),m())},i))},f=()=>{s&&=(clearTimeout(s),void 0)},p=async()=>{o||(a=!1,c.reset(),u.stop(),f(),await l(),!c.isTripped()&&(u.start(),d()))},m=()=>{o=!0,u.stop(),f(),!(!t||a)&&(a=!0,t().catch(t=>(e.onStopError??e.onStartError)(t)))};return{onReplyStart:p,onIdle:m,onCleanup:m}}const D=`/tmp/qbotclaw`,$e=u.default.constants.W_OK|u.default.constants.X_OK;function et(e,t){return typeof e==`object`&&!!e&&`code`in e&&e.code===t}function tt(e={}){let t=e.accessSync??u.default.accessSync,n=e.chmodSync??u.default.chmodSync,r=e.lstatSync??u.default.lstatSync,i=e.mkdirSync??u.default.mkdirSync,a=e.warn??(e=>console.warn(e)),o=e.getuid??(()=>{try{return typeof process.getuid==`function`?process.getuid():void 0}catch{return}}),s=e.tmpdir??d.default.tmpdir,c=o(),f=e=>c===void 0?!0:!(typeof e.uid==`number`&&e.uid!==c||typeof e.mode==`number`&&e.mode&18),p=()=>{let e=s(),t=c===void 0?`qbotclaw`:`qbotclaw-${c}`;return l.default.join(e,t)},m=e=>e.isDirectory()&&!e.isSymbolicLink()&&f(e),h=e=>{try{return m(r(e))?(t(e,$e),`available`):`invalid`}catch(e){return et(e,`ENOENT`)?`missing`:`invalid`}},g=e=>{try{let t=r(e);return!t.isDirectory()||t.isSymbolicLink()||c!==void 0&&typeof t.uid==`number`&&t.uid!==c||typeof t.mode!=`number`||!(t.mode&18)?!1:(n(e,448),a(`[openclaw] tightened permissions on temp dir: ${e}`),h(e)===`available`)}catch{return!1}},_=()=>{let e=p(),t=h(e);if(t===`available`)return e;if(t===`invalid`){if(g(e))return e;throw Error(`Unsafe fallback OpenClaw temp dir: ${e}`)}try{i(e,{recursive:!0,mode:448}),n(e,448)}catch{throw Error(`Unable to create fallback OpenClaw temp dir: ${e}`)}if(h(e)!==`available`&&!g(e))throw Error(`Unsafe fallback OpenClaw temp dir: ${e}`);return e},v=h(D);if(v===`available`)return D;if(v===`invalid`)return g(`/tmp/qbotclaw`)?D:_();try{return t(`/tmp`,$e),i(D,{recursive:!0,mode:448}),n(D,448),h(`/tmp/qbotclaw`)!==`available`&&!g(`/tmp/qbotclaw`)?_():D}catch{return _()}}function nt(e){return{success:!1,error:{issues:[{path:[],message:e}]}}}function rt(){return{safeParse(e){return e===void 0?{success:!0,data:void 0}:!e||typeof e!=`object`||Array.isArray(e)?nt(`expected config object`):Object.keys(e).length>0?nt(`config must be empty`):{success:!0,data:e}},jsonSchema:{type:`object`,additionalProperties:!1,properties:{}}}}const it=new Set([`__proto__`,`prototype`,`constructor`]);function at(e){return it.has(e)}const O=`default`,ot=/^[a-z0-9][a-z0-9_-]{0,63}$/i,st=/[^a-z0-9_-]+/g,ct=/^-+/,lt=/-+$/,ut=new Map,k=new Map;function dt(e){return ot.test(e)?e.toLowerCase():e.toLowerCase().replace(st,`-`).replace(ct,``).replace(lt,``).slice(0,64)}function ft(e){let t=dt(e);if(!(!t||at(t)))return t}function pt(e){let t=(e??``).trim();if(!t)return O;let n=ut.get(t);if(n)return n;let r=ft(t)||`default`;return ht(ut,t,r),r}function mt(e){let t=(e??``).trim();if(!t)return;if(k.has(t))return k.get(t);let n=ft(t)||void 0;return ht(k,t,n),n}function ht(e,t,n){if(e.set(t,n),e.size<=512)return;let r=e.keys().next();r.done||e.delete(r.value)}function gt(e){let t=e;return t=t.replace(/\*\*(.+?)\*\*/g,`$1`),t=t.replace(/__(.+?)__/g,`$1`),t=t.replace(/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g,`$1`),t=t.replace(/(?<!_)_(?!_)(.+?)(?<!_)_(?!_)/g,`$1`),t=t.replace(/~~(.+?)~~/g,`$1`),t=t.replace(/^#{1,6}\s+(.+)$/gm,`$1`),t=t.replace(/^>\s?(.*)$/gm,`$1`),t=t.replace(/^[-*_]{3,}$/gm,``),t=t.replace(/`([^`]+)`/g,`$1`),t=t.replace(/\n{3,}/g,`
|
|
2
2
|
|
|
3
3
|
`),t=t.trim(),t}function _t(e){return Number.isInteger(e)&&e>0}function vt(e){if(process.platform!==`linux`)return!1;try{return u.default.readFileSync(`/proc/${e}/status`,`utf8`).match(/^State:\s+(\S)/m)?.[1]===`Z`}catch{return!1}}function yt(e){if(!_t(e))return!1;try{process.kill(e,0)}catch{return!1}return!vt(e)}function bt(e){let t=process,n=t[e];if(n)return n;let r=new Map;return t[e]=r,r}const A=bt(Symbol.for(`openclaw.fileLockHeldLocks`));function xt(e,t){let n=Math.min(e.maxTimeout,Math.max(e.minTimeout,e.minTimeout*e.factor**t)),r=e.randomize?1+Math.random():1;return Math.min(e.maxTimeout,Math.round(n*r))}async function St(e){try{let t=await f.default.readFile(e,`utf8`),n=JSON.parse(t);return typeof n.pid!=`number`||typeof n.createdAt!=`string`?null:{pid:n.pid,createdAt:n.createdAt}}catch{return null}}async function Ct(e){let t=l.default.resolve(e),n=l.default.dirname(t);await f.default.mkdir(n,{recursive:!0});try{let e=await f.default.realpath(n);return l.default.join(e,l.default.basename(t))}catch{return t}}async function wt(e,t){let n=await St(e);if(n?.pid&&!yt(n.pid))return!0;if(n?.createdAt){let e=Date.parse(n.createdAt);if(!Number.isFinite(e)||Date.now()-e>t)return!0}try{let n=await f.default.stat(e);return Date.now()-n.mtimeMs>t}catch{return!0}}async function Tt(e){let t=A.get(e);t&&(--t.count,!(t.count>0)&&(A.delete(e),await t.handle.close().catch(()=>void 0),await f.default.rm(t.lockPath,{force:!0}).catch(()=>void 0)))}async function Et(e,t){let n=await Ct(e),r=`${n}.lock`,i=A.get(n);if(i)return i.count+=1,{lockPath:r,release:()=>Tt(n)};let a=Math.max(1,t.retries.retries+1);for(let e=0;e<a;e+=1)try{let e=await f.default.open(r,`wx`);return await e.writeFile(JSON.stringify({pid:process.pid,createdAt:new Date().toISOString()},null,2),`utf8`),A.set(n,{count:1,handle:e,lockPath:r}),{lockPath:r,release:()=>Tt(n)}}catch(n){if(n.code!==`EEXIST`)throw n;if(await wt(r,t.stale)){await f.default.rm(r,{force:!0}).catch(()=>void 0);continue}if(e>=a-1)break;await new Promise(n=>setTimeout(n,xt(t.retries,e)))}throw Error(`file lock timeout for ${n}`)}async function Dt(e,t,n){let r=await Et(e,t);try{return await n()}finally{await r.release()}}function Ot(e){let t=e.dmPolicy===`allowlist`?[]:e.storeAllowFrom??[];return[...e.allowFrom??[],...t].map(e=>String(e).trim()).filter(Boolean)}function kt(e){return((Array.isArray(e.groupAllowFrom)&&e.groupAllowFrom.length>0?e.groupAllowFrom:void 0)||(e.fallbackToAllowFrom===!1?[]:e.allowFrom??[])).map(e=>String(e).trim()).filter(Boolean)}const At=new Set([`--dev`,`--no-color`]),jt=new Set([`--profile`,`--log-level`]);function Mt(e){return!e||e===`--`?!1:e.startsWith(`-`)?/^-\d+(?:\.\d+)?$/.test(e):!0}function Nt(e,t){let n=e[t];return n?At.has(n)||n.startsWith(`--profile=`)||n.startsWith(`--log-level=`)?1:jt.has(n)?Mt(e[t+1])?2:1:0:0}function Pt(e,t=2){return Ft(e,t,{skipRootOptions:!0})}function Ft(e,t,n){let r=e.slice(2),i=[];for(let e=0;e<r.length;e+=1){let a=r[e];if(a){if(a===`--`)break;if(n.skipRootOptions){let t=Nt(r,e);if(t>0){e+=t-1;continue}}if(!a.startsWith(`-`)&&(i.push(a),i.length>=t))break}}return i}function j(e){return e?.trim()||void 0}function It(e=process.env,t=d.default.homedir){let n=Lt(e,t);return n?l.default.resolve(n):void 0}function Lt(e,t){let n=j(e.OPENCLAW_HOME);if(n){if(n===`~`||n.startsWith(`~/`)||n.startsWith(`~\\`)){let r=j(e.HOME)??j(e.USERPROFILE)??Rt(t);return r?n.replace(/^~(?=$|[\\/])/,r):void 0}return n}return j(e.HOME)||j(e.USERPROFILE)||Rt(t)}function Rt(e){try{return j(e())}catch{return}}function M(e=process.env,t=d.default.homedir){return It(e,t)??l.default.resolve(process.cwd())}function zt(e,t){if(!e.startsWith(`~`))return e;let n=j(t?.home)??It(t?.env??process.env,t?.homedir??d.default.homedir);return n?e.replace(/^~(?=$|[\\/])/,n):e}function Bt(e=process.env){return e.OPENCLAW_NIX_MODE===`1`}Bt();const Vt=[`.clawdbot`,`.moldbot`,`.moltbot`],N=`.openclaw-qbot.json`,P=[`openclaw.json`,`clawdbot.json`,`moldbot.json`,`moltbot.json`];function Ht(){return M(process.env,d.default.homedir)}function F(e){return()=>M(e,d.default.homedir)}function Ut(e=Ht){return Vt.map(t=>l.default.join(e(),t))}function Wt(e=Ht){return l.default.join(e(),`.qbotclaw`)}function I(e=process.env,t=F(e)){let n=()=>M(e,t),r=e.OPENCLAW_STATE_DIR?.trim()||e.CLAWDBOT_STATE_DIR?.trim();if(r)return L(r,e,n);let i=Wt(n);if(e.OPENCLAW_TEST_FAST===`1`)return i;let a=Ut(n);return u.default.existsSync(i)?i:a.find(e=>{try{return u.default.existsSync(e)}catch{return!1}})||i}function L(e,t=process.env,n=F(t)){let r=e.trim();if(!r)return r;if(r.startsWith(`~`)){let e=zt(r,{home:M(t,n),env:t,homedir:n});return l.default.resolve(e)}return l.default.resolve(r)}I();function Gt(e=process.env,t=I(e,F(e))){let n=e.OPENCLAW_CONFIG_PATH?.trim()||e.CLAWDBOT_CONFIG_PATH?.trim();return n?L(n,e,F(e)):l.default.join(t,N)}function Kt(e=process.env,t=F(e)){return e.OPENCLAW_TEST_FAST===`1`?Gt(e,I(e,t)):Jt(e,t).find(e=>{try{return u.default.existsSync(e)}catch{return!1}})||Gt(e,I(e,t))}function qt(e=process.env,t=I(e,F(e)),n=F(e)){let r=e.OPENCLAW_CONFIG_PATH?.trim();if(r)return L(r,e,n);if(e.OPENCLAW_TEST_FAST===`1`)return l.default.join(t,N);let i=e.OPENCLAW_STATE_DIR?.trim(),a=[l.default.join(t,N),...P.map(e=>l.default.join(t,e))].find(e=>{try{return u.default.existsSync(e)}catch{return!1}});if(a)return a;if(i)return l.default.join(t,N);let o=I(e,n);return l.default.resolve(t)===l.default.resolve(o)?Kt(e,n):l.default.join(t,N)}Kt();function Jt(e=process.env,t=F(e)){let n=()=>M(e,t),r=e.OPENCLAW_CONFIG_PATH?.trim()||e.CLAWDBOT_CONFIG_PATH?.trim();if(r)return[L(r,e,n)];let i=[],a=e.OPENCLAW_STATE_DIR?.trim()||e.CLAWDBOT_STATE_DIR?.trim();if(a){let t=L(a,e,n);i.push(l.default.join(t,N)),i.push(...P.map(e=>l.default.join(t,e)))}let o=[Wt(n),...Ut(n)];for(let e of o)i.push(l.default.join(e,N)),i.push(...P.map(t=>l.default.join(e,t)));return i}function Yt(e=process.env,t=I(e,F(e))){let n=e.OPENCLAW_OAUTH_DIR?.trim();return n?L(n,e,F(e)):l.default.join(t,`credentials`)}function Xt(){let e=qt();try{if(!u.default.existsSync(e))return;let t=u.default.readFileSync(e,`utf-8`),n=h.default.parse(t)?.logging;return!n||typeof n!=`object`||Array.isArray(n)?void 0:n}catch{return}}const Zt=[`silent`,`fatal`,`error`,`warn`,`info`,`debug`,`trace`];function Qt(e){if(typeof e!=`string`)return;let t=e.trim();return Zt.includes(t)?t:void 0}function $t(e,t=`info`){return Qt(e)??t}function R(e){return{fatal:0,error:1,warn:2,info:3,debug:4,trace:5,silent:1/0}[e]}const z={cachedLogger:null,cachedSettings:null,cachedConsoleSettings:null,overrideSettings:null,invalidEnvLogLevelValue:null,consolePatched:!1,forceConsoleToStderr:!1,consoleTimestampPrefix:!1,consoleSubsystemFilter:null,resolvingConsoleSettings:!1,streamErrorHandlersInstalled:!1,rawConsole:null};function en(){let e=process.env.OPENCLAW_LOG_LEVEL,t=typeof e==`string`?e.trim():``;if(!t){z.invalidEnvLogLevelValue=null;return}let n=Qt(t);if(n)return z.invalidEnvLogLevelValue=null,n;z.invalidEnvLogLevelValue!==t&&(z.invalidEnvLogLevelValue=t,process.stderr.write(`[openclaw] Ignoring invalid OPENCLAW_LOG_LEVEL="${t}" (allowed: ${Zt.join(`|`)}).\n`))}function tn(e){let t=process.getBuiltinModule;if(typeof t!=`function`)return null;try{let n=t(`module`),r=typeof n.createRequire==`function`?n.createRequire:null;return r?r(e):null}catch{return null}}function nn(e){try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}}function B(e,t){let n=t??process.env.TZ,r=n&&nn(n)?n:Intl.DateTimeFormat().resolvedOptions().timeZone,i=new Intl.DateTimeFormat(`en`,{timeZone:r,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1,fractionalSecondDigits:3,timeZoneName:`longOffset`}),a=Object.fromEntries(i.formatToParts(e).map(e=>[e.type,e.value])),o=a.timeZoneName??`GMT`,s=o===`GMT`?`+00:00`:o.slice(3);return`${a.year}-${a.month}-${a.day}T${a.hour}:${a.minute}:${a.second}.${a.fractionalSecond}${s}`}const V=tt();l.default.join(V,`qbotclaw.log`);const H=`qbotclaw`,U=`.log`,rn=500*1024*1024,an=tn(require(`url`).pathToFileURL(__filename).href),W=new Set;function on(e=process.argv){let[t,n]=Pt(e,2);return t===`config`&&n===`validate`}function sn(e,t){e.attachTransport(e=>{if(W.has(t))try{t(e)}catch{}})}function cn(e){return process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_FILE_LOG!==`1`&&!e&&!z.overrideSettings}function ln(){let e=en();if(cn(e))return{level:`silent`,file:yn(),maxFileBytes:rn};let t=z.overrideSettings??Xt();if(!t&&!on())try{t=(an?.(`../config/config.js`))?.loadConfig?.().logging}catch{t=void 0}let n=process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_FILE_LOG!==`1`?`silent`:`info`,r=$t(t?.level,n);return{level:e??r,file:t?.file??yn(),maxFileBytes:pn(t?.maxFileBytes)}}function un(e,t){return e?e.level!==t.level||e.file!==t.file||e.maxFileBytes!==t.maxFileBytes:!0}function dn(e){let t=z.cachedSettings??ln();return z.cachedSettings||=t,t.level===`silent`?!1:R(e)<=R(t.level)}function fn(e){let t=new m.Logger({name:`openclaw`,minLevel:R(e.level),type:`hidden`});if(e.level===`silent`){for(let e of W)sn(t,e);return t}u.default.mkdirSync(l.default.dirname(e.file),{recursive:!0}),bn(e.file)&&xn(l.default.dirname(e.file));let n=mn(e.file),r=!1;t.attachTransport(t=>{try{let i=B(t.date??new Date),a=`${JSON.stringify({...t,time:i})}\n`,o=Buffer.byteLength(a,`utf8`),s=n+o;if(s>e.maxFileBytes){if(!r){r=!0;let t=JSON.stringify({time:B(new Date),level:`warn`,subsystem:`logging`,message:`log file size cap reached; suppressing writes file=${e.file} maxFileBytes=${e.maxFileBytes}`});hn(e.file,`${t}\n`),process.stderr.write(`[openclaw] log file size cap reached; suppressing writes file=${e.file} maxFileBytes=${e.maxFileBytes}\n`)}return}hn(e.file,a)&&(n=s)}catch{}});for(let e of W)sn(t,e);return t}function pn(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):rn}function mn(e){try{return u.default.statSync(e).size}catch{return 0}}function hn(e,t){try{return u.default.appendFileSync(e,t,{encoding:`utf8`}),!0}catch{return!1}}function gn(){let e=ln(),t=z.cachedLogger,n=z.cachedSettings;return(!t||un(n,e))&&(z.cachedLogger=fn(e),z.cachedSettings=e),z.cachedLogger}function _n(e,t){let n=gn(),r=t?.level?R(t.level):void 0,i=e?JSON.stringify(e):void 0;return n.getSubLogger({name:i,minLevel:r,prefix:e?[i??``]:[]})}function vn(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function yn(){let e=vn(new Date);return l.default.join(V,`${H}-${e}${U}`)}function bn(e){let t=l.default.basename(e);return t.startsWith(`${H}-`)&&t.endsWith(U)&&t.length===`${H}-YYYY-MM-DD${U}`.length}function xn(e){try{let t=u.default.readdirSync(e,{withFileTypes:!0}),n=Date.now()-864e5;for(let r of t){if(!r.isFile()||!r.name.startsWith(`${H}-`)||!r.name.endsWith(U))continue;let t=l.default.join(e,r.name);try{u.default.statSync(t).mtimeMs<n&&u.default.rmSync(t,{force:!0})}catch{}}}catch{}}const G={accent:`#FF5A2D`,accentBright:`#FF7A3D`,accentDim:`#D14A22`,info:`#FF8A5B`,success:`#2FBF71`,warn:`#FFB020`,error:`#E23D2D`,muted:`#8B7F77`},Sn=typeof process.env.FORCE_COLOR==`string`&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!==`0`,Cn=process.env.NO_COLOR&&!Sn?new p.Chalk({level:0}):p.default,K=e=>Cn.hex(e),q={accent:K(G.accent),accentBright:K(G.accentBright),accentDim:K(G.accentDim),info:K(G.info),success:K(G.success),warn:K(G.warn),error:K(G.error),muted:K(G.muted),heading:Cn.bold.hex(G.accent),command:K(G.accentBright),option:K(G.warn)};function J(){return!1}q.success,q.warn,q.info,q.error;function wn(e=process.env){return e.VITEST!==`true`||e.OPENCLAW_TEST_RUNTIME_LOG===`1`?!0:typeof console.log.mock==`object`}function Tn(){return{log:(...e)=>{wn()&&console.log(...e)},error:(...e)=>{console.error(...e)}}}({...Tn()}),typeof Intl<`u`&&`Segmenter`in Intl&&new Intl.Segmenter(void 0,{granularity:`grapheme`});const En=tn(require(`url`).pathToFileURL(__filename).href);let Dn=()=>{try{return(En?.(`../config/config.js`))?.loadConfig?.().logging}catch{return}};function On(e){return J()?`debug`:!e&&process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_CONSOLE!==`1`?`silent`:$t(e,`info`)}function kn(e){return e===`compact`||e===`json`||e===`pretty`?e:process.stdout.isTTY?`pretty`:`compact`}function An(){let e=en();if(process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_CONSOLE!==`1`&&!J()&&!e&&!z.overrideSettings)return{level:`silent`,style:kn(void 0)};let t=z.overrideSettings??Xt();if(!t)if(z.resolvingConsoleSettings)t=void 0;else{z.resolvingConsoleSettings=!0;try{t=Dn()}finally{z.resolvingConsoleSettings=!1}}return{level:e??On(t?.consoleLevel),style:kn(t?.consoleStyle)}}function jn(e,t){return e?e.level!==t.level||e.style!==t.style:!0}function Mn(){let e=An(),t=z.cachedConsoleSettings;return(!t||jn(t,e))&&(z.cachedConsoleSettings=e),z.cachedConsoleSettings}function Nn(e){let t=z.consoleSubsystemFilter;return!t||t.length===0?!0:t.some(t=>e===t||e.startsWith(`${t}/`))}function Y(e){let t=new Date;return e===`pretty`?`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`:B(t)}function Pn(e,t){return t.level===`silent`?!1:R(e)<=R(t.level)}(()=>{let e=process.getBuiltinModule;if(typeof e!=`function`)return null;try{let t=e(`util`);return typeof t.inspect==`function`?t.inspect:null}catch{return null}})();function Fn(){let e=(process.env.TERM??``).toLowerCase();return process.env.COLORTERM||process.env.TERM_PROGRAM?!0:e.length>0&&e!==`dumb`}function In(){let e=typeof process.env.FORCE_COLOR==`string`&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!==`0`;return process.env.NO_COLOR&&!e?new p.Chalk({level:0}):process.stdout.isTTY||process.stderr.isTTY||Fn()?new p.Chalk({level:1}):new p.Chalk({level:0})}const Ln=[`cyan`,`green`,`yellow`,`blue`,`magenta`,`red`],Rn={"gmail-watcher":`blue`},zn=[`gateway`,`channels`,`providers`],Bn=new Set([`telegram`,`whatsapp`,`discord`,`irc`,`googlechat`,`slack`,`signal`,`imessage`]);function Vn(e,t){let n=Rn[t];if(n)return e[n];let r=0;for(let e=0;e<t.length;e+=1)r=r*31+t.charCodeAt(e)|0;return e[Ln[Math.abs(r)%Ln.length]]}function Hn(e){let t=e.split(`/`).filter(Boolean),n=t.join(`/`)||e;for(;t.length>0&&zn.includes(t[0]);)t.shift();return t.length===0?n:Bn.has(t[0])?t[0]:t.length>2?t.slice(-2).join(`/`):t.join(`/`)}function Un(e,t){if(!t)return e;if(e.startsWith(`[`)){let n=e.indexOf(`]`);if(n>1&&e.slice(1,n).toLowerCase()===t.toLowerCase()){let t=n+1;for(;e[t]===` `;)t+=1;return e.slice(t)}}if(e.slice(0,t.length).toLowerCase()!==t.toLowerCase())return e;let n=e.slice(t.length,t.length+1);if(n!==`:`&&n!==` `)return e;let r=t.length;for(;e[r]===` `;)r+=1;for(e[r]===`:`&&(r+=1);e[r]===` `;)r+=1;return e.slice(r)}function Wn(e){let t=e.style===`json`?e.subsystem:Hn(e.subsystem);if(e.style===`json`)return JSON.stringify({time:Y(`json`),level:e.level,subsystem:t,message:e.message,...e.meta});let n=In(),r=`[${t}]`,i=Vn(n,t),a=e.level===`error`||e.level===`fatal`?n.red:e.level===`warn`?n.yellow:e.level===`debug`||e.level===`trace`?n.gray:n.cyan,o=Un(e.message,t);return`${[e.style===`pretty`?n.gray(Y(`pretty`)):z.consoleTimestampPrefix?n.gray(Y(e.style)):``,i(r)].filter(Boolean).join(` `)} ${a(o)}`}function Gn(e,t){let n=process.platform===`win32`&&process.env.GITHUB_ACTIONS===`true`?t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,`?`).replace(/[\uD800-\uDFFF]/g,`?`):t,r=z.rawConsole??console;z.forceConsoleToStderr||e===`error`||e===`fatal`?(r.error??console.error)(n):e===`warn`?(r.warn??console.warn)(n):(r.log??console.log)(n)}function Kn(e){return J()||e.level===`error`||e.level===`fatal`||!(e.subsystem===`agent/embedded`||e.subsystem.startsWith(`agent/embedded/`)||e.subsystem===`model-fallback`||e.subsystem.startsWith(`model-fallback/`))?!1:(typeof e.meta?.runId==`string`?e.meta.runId:typeof e.meta?.sessionId==`string`?e.meta.sessionId:void 0)?.startsWith(`probe-`)?!0:/(sessionId|runId)=probe-/.test(e.message)}function qn(e,t,n,r){if(t===`silent`)return;let i=e[t];typeof i==`function`&&(r&&Object.keys(r).length>0?i.call(e,r,n):i.call(e,n))}function Jn(e){let t=null,n=()=>(t||=_n({subsystem:e}),t),r=(t,r,i)=>{let a=Mn(),o=Pn(t,{level:a.level})&&Nn(e),s=dn(t);if(!o&&!s)return;let c,l=i;if(i&&Object.keys(i).length>0){let{consoleMessage:e,...t}=i;typeof e==`string`&&(c=e),l=Object.keys(t).length>0?t:void 0}if(s&&qn(n(),t,r,l),!o)return;let u=c??r;Kn({level:t,subsystem:e,message:u,meta:l})||Gn(t,Wn({level:t,subsystem:e,message:a.style===`json`?r:u,style:a.style,meta:l}))},i=t=>Pn(t,{level:Mn().level})&&Nn(e),a=e=>dn(e);return{subsystem:e,isEnabled:(e,t=`any`)=>t===`console`?i(e):t===`file`?a(e):i(e)||a(e),trace:(e,t)=>r(`trace`,e,t),debug:(e,t)=>r(`debug`,e,t),info:(e,t)=>r(`info`,e,t),warn:(e,t)=>r(`warn`,e,t),error:(e,t)=>r(`error`,e,t),fatal:(e,t)=>r(`fatal`,e,t),raw:t=>{if(a(`info`)&&qn(n(),`info`,t,{raw:!0}),i(`info`)){if(Kn({level:`info`,subsystem:e,message:t}))return;Gn(`info`,t)}},child:t=>Jn(`${e}/${t}`)}}const Yn=globalThis;Yn.__openclaw_internal_hook_handlers__??=new Map;function Xn(e){if(!e)return``;let t=e.trim();if(!t)return t;if(t.startsWith(`~`)){let e=zt(t,{home:M(process.env,d.default.homedir),env:process.env,homedir:d.default.homedir});return l.default.resolve(e)}return l.default.resolve(t)}function Zn(e=process.env,t=d.default.homedir){let n=e.OPENCLAW_STATE_DIR?.trim()||e.CLAWDBOT_STATE_DIR?.trim();if(n)return Xn(n);let r=l.default.join(M(e,t),`.qbotclaw`);try{if(u.default.existsSync(r))return r}catch{}return r}Zn();function Qn(){return{plugins:[],tools:[],hooks:[],typedHooks:[],channels:[],providers:[],gatewayHandlers:{},httpRoutes:[],cliRegistrars:[],services:[],commands:[],diagnostics:[]}}const X=Symbol.for(`openclaw.pluginRegistryState`);(()=>{let e=globalThis;return e[X]||(e[X]={registry:Qn(),key:null,version:0}),e[X]})();function Z(e,t){function n(t){let n=t.channels?.[e],r=mt(typeof n?.defaultAccount==`string`?n.defaultAccount:void 0);if(r&&i(t).some(e=>pt(e)===r))return r}function r(n){let r=n.channels?.[e]?.accounts;if(!r||typeof r!=`object`)return[];let i=Object.keys(r).filter(Boolean),a=t?.normalizeAccountId;return a?[...new Set(i.map(e=>a(e)).filter(Boolean))]:i}function i(e){let t=r(e);return t.length===0?[O]:t.toSorted((e,t)=>e.localeCompare(t))}function a(e){let t=n(e);if(t)return t;let r=i(e);return r.includes(`default`)?O:r[0]??`default`}return{listConfiguredAccountIds:r,listAccountIds:i,resolveDefaultAccountId:a}}const{listAccountIds:$n,resolveDefaultAccountId:er}=Z(`discord`),{listAccountIds:tr,resolveDefaultAccountId:nr}=Z(`imessage`);function Q(e){return(e??[]).map(e=>String(e).trim()).filter(Boolean)}function rr(){return l.default.join(Yt(),`whatsapp`,O)}rr();const{listConfiguredAccountIds:ir,listAccountIds:ar,resolveDefaultAccountId:or}=Z(`whatsapp`),{listAccountIds:sr,resolveDefaultAccountId:cr}=Z(`slack`);Object.freeze({allowFinalSymlinkForUnlink:!1,allowFinalHardlinkForUnlink:!1}),Object.freeze({allowFinalSymlinkForUnlink:!0,allowFinalHardlinkForUnlink:!0}),l.default.resolve(l.default.dirname((0,g.fileURLToPath)(require(`url`).pathToFileURL(__filename).href)),`../../docs/reference/templates`);function lr(e=process.env,t=d.default.homedir){let n=Zn(e,t),r=e.OPENCLAW_PROFILE?.trim();return r&&r.toLowerCase()!==`default`?l.default.join(n,`workspace-${r}`):l.default.join(n,`workspace`)}lr();function ur(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`}}function dr(e){let t=Array.isArray(e.allowFrom)?e.allowFrom:void 0,n=Array.isArray(e.groupAllowFrom)?e.groupAllowFrom:void 0;return{effectiveAllowFrom:Q(Ot({allowFrom:t,storeAllowFrom:Array.isArray(e.storeAllowFrom)?e.storeAllowFrom:void 0,dmPolicy:e.dmPolicy??void 0})),effectiveGroupAllowFrom:Q(kt({allowFrom:t,groupAllowFrom:n,fallbackToAllowFrom:e.groupAllowFromFallbackToAllowFrom??void 0}))}}const $={GROUP_POLICY_ALLOWED:`group_policy_allowed`,GROUP_POLICY_DISABLED:`group_policy_disabled`,GROUP_POLICY_EMPTY_ALLOWLIST:`group_policy_empty_allowlist`,GROUP_POLICY_NOT_ALLOWLISTED:`group_policy_not_allowlisted`,DM_POLICY_OPEN:`dm_policy_open`,DM_POLICY_DISABLED:`dm_policy_disabled`,DM_POLICY_ALLOWLISTED:`dm_policy_allowlisted`,DM_POLICY_PAIRING_REQUIRED:`dm_policy_pairing_required`,DM_POLICY_NOT_ALLOWLISTED:`dm_policy_not_allowlisted`};function fr(e){let t=e.dmPolicy??`pairing`,n=e.groupPolicy===`open`||e.groupPolicy===`disabled`?e.groupPolicy:`allowlist`,r=Q(e.effectiveAllowFrom),i=Q(e.effectiveGroupAllowFrom);if(e.isGroup){let t=ur({groupPolicy:n,allowlistConfigured:i.length>0,allowlistMatched:e.isSenderAllowed(i)});if(!t.allowed){if(t.reason===`disabled`)return{decision:`block`,reasonCode:$.GROUP_POLICY_DISABLED,reason:`groupPolicy=disabled`};if(t.reason===`empty_allowlist`)return{decision:`block`,reasonCode:$.GROUP_POLICY_EMPTY_ALLOWLIST,reason:`groupPolicy=allowlist (empty allowlist)`};if(t.reason===`not_allowlisted`)return{decision:`block`,reasonCode:$.GROUP_POLICY_NOT_ALLOWLISTED,reason:`groupPolicy=allowlist (not allowlisted)`}}return{decision:`allow`,reasonCode:$.GROUP_POLICY_ALLOWED,reason:`groupPolicy=${n}`}}return t===`disabled`?{decision:`block`,reasonCode:$.DM_POLICY_DISABLED,reason:`dmPolicy=disabled`}:t===`open`?{decision:`allow`,reasonCode:$.DM_POLICY_OPEN,reason:`dmPolicy=open`}:e.isSenderAllowed(r)?{decision:`allow`,reasonCode:$.DM_POLICY_ALLOWLISTED,reason:`dmPolicy=${t} (allowlisted)`}:t===`pairing`?{decision:`pairing`,reasonCode:$.DM_POLICY_PAIRING_REQUIRED,reason:`dmPolicy=pairing (not allowlisted)`}:{decision:`block`,reasonCode:$.DM_POLICY_NOT_ALLOWLISTED,reason:`dmPolicy=${t} (not allowlisted)`}}function pr(e){let{effectiveAllowFrom:t,effectiveGroupAllowFrom:n}=dr({allowFrom:e.allowFrom,groupAllowFrom:e.groupAllowFrom,storeAllowFrom:e.storeAllowFrom,dmPolicy:e.dmPolicy,groupAllowFromFallbackToAllowFrom:e.groupAllowFromFallbackToAllowFrom});return{...fr({isGroup:e.isGroup,dmPolicy:e.dmPolicy,groupPolicy:e.groupPolicy,effectiveAllowFrom:t,effectiveGroupAllowFrom:n,isSenderAllowed:e.isSenderAllowed}),effectiveAllowFrom:t,effectiveGroupAllowFrom:n}}function mr(e){return e.isGroup?`allowed`:e.dmPolicy===`disabled`?`disabled`:e.dmPolicy!==`open`&&!e.senderAllowedForCommands?`unauthorized`:`allowed`}async function hr(e){return gr({...e,shouldComputeCommandAuthorized:e.runtime.shouldComputeCommandAuthorized,resolveCommandAuthorizedFromAuthorizers:e.runtime.resolveCommandAuthorizedFromAuthorizers})}async function gr(e){let t=e.shouldComputeCommandAuthorized(e.rawBody,e.cfg),n=!e.isGroup&&e.dmPolicy!==`allowlist`&&(e.dmPolicy!==`open`||t)?await e.readAllowFromStore().catch(()=>[]):[],r=pr({isGroup:e.isGroup,dmPolicy:e.dmPolicy,groupPolicy:`allowlist`,allowFrom:e.configuredAllowFrom,groupAllowFrom:e.configuredGroupAllowFrom??[],storeAllowFrom:n,isSenderAllowed:t=>e.isSenderAllowed(e.senderId,t)}),i=r.effectiveAllowFrom,a=r.effectiveGroupAllowFrom,o=e.cfg.commands?.useAccessGroups!==!1,s=e.isSenderAllowed(e.senderId,e.isGroup?a:i),c=e.isSenderAllowed(e.senderId,i),l=e.isSenderAllowed(e.senderId,a);return{shouldComputeAuth:t,effectiveAllowFrom:i,effectiveGroupAllowFrom:a,senderAllowedForCommands:s,commandAuthorized:t?e.resolveCommandAuthorizedFromAuthorizers({useAccessGroups:o,authorizers:[{configured:i.length>0,allowed:c},{configured:a.length>0,allowed:l}]}):void 0}}exports.DEFAULT_ACCOUNT_ID=O,exports.buildChannelConfigSchema=Ye,exports.createTypingCallbacks=Qe,exports.emptyPluginConfigSchema=rt,exports.normalizeAccountId=pt,exports.resolveDirectDmAuthorizationOutcome=mr,exports.resolvePreferredOpenClawTmpDir=tt,exports.resolveSenderCommandAuthorizationWithRuntime=hr,exports.stripMarkdown=gt,exports.withFileLock=Dt;
|
|
4
|
+
//# sourceMappingURL=weixin.cjs.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import{z as e}from"zod";import t from"node:path";import n from"node:fs";import r from"node:os";import i from"node:fs/promises";import a,{Chalk as o}from"chalk";import{Logger as s}from"tslog";import c from"json5";import{fileURLToPath as l}from"node:url";const u=/[;&|`$<>]/,d=/[\r\n]/,f=/["']/,p=/^[A-Za-z0-9._+-]+$/;function m(e){return e.startsWith(`.`)||e.startsWith(`~`)||e.includes(`/`)||e.includes(`\\`)?!0:/^[A-Za-z]:[\\/]/.test(e)}function h(e){if(!e)return!1;let t=e.trim();return!t||t.includes(`\0`)||d.test(t)||u.test(t)||f.test(t)?!1:m(t)?!0:t.startsWith(`-`)?!1:p.test(t)}const g=/^(?:[^~]|~0|~1)*$/,_=/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$/;function v(e){return e===`value`?!0:e.startsWith(`/`)?e.slice(1).split(`/`).every(e=>g.test(e)):!1}function ee(e){if(!_.test(e))return{ok:!1,reason:`pattern`};for(let t of e.split(`/`))if(t===`.`||t===`..`)return{ok:!1,reason:`traversal-segment`};return{ok:!0}}function te(e){return ee(e).ok}function ne(){return[`Exec secret reference id must match /^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$/`,`and must not include "." or ".." path segments`,`(example: "vault/openai/api-key").`].join(` `)}const re=[`openai-completions`,`openai-responses`,`openai-codex-responses`,`anthropic-messages`,`google-generative-ai`,`github-copilot`,`bedrock-converse-stream`,`ollama`],ie=e.union([e.literal(`allow`),e.literal(`deny`)]),ae=e.union([e.literal(`direct`),e.literal(`group`),e.literal(`channel`),e.literal(`dm`)]).optional();function oe(){return e.object({default:ie.optional(),rules:e.array(e.object({action:ie,match:e.object({channel:e.string().optional(),chatType:ae,keyPrefix:e.string().optional(),rawKeyPrefix:e.string().optional()}).strict().optional()}).strict()).optional()}).strict().optional()}const y=e.registry(),b=/^[A-Z][A-Z0-9_]{0,127}$/,x=/^[a-z][a-z0-9_-]{0,63}$/,se=/^[A-Za-z]:[\\/]/,ce=/^\\\\[^\\]+\\[^\\]+/;function le(e){return t.isAbsolute(e)||se.test(e)||ce.test(e)}const ue=e.object({source:e.literal(`env`),provider:e.string().regex(x,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`),id:e.string().regex(b,`Env secret reference id must match /^[A-Z][A-Z0-9_]{0,127}$/ (example: "OPENAI_API_KEY").`)}).strict(),de=e.object({source:e.literal(`file`),provider:e.string().regex(x,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`),id:e.string().refine(v,`File secret reference id must be an absolute JSON pointer (example: "/providers/openai/apiKey"), or "value" for singleValue mode.`)}).strict(),fe=e.object({source:e.literal(`exec`),provider:e.string().regex(x,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`),id:e.string().refine(te,ne())}).strict(),pe=e.discriminatedUnion(`source`,[ue,de,fe]),S=e.union([e.string(),pe]),me=e.object({source:e.literal(`env`),allowlist:e.array(e.string().regex(b)).max(256).optional()}).strict(),he=e.object({source:e.literal(`file`),path:e.string().min(1),mode:e.union([e.literal(`singleValue`),e.literal(`json`)]).optional(),timeoutMs:e.number().int().positive().max(12e4).optional(),maxBytes:e.number().int().positive().max(20*1024*1024).optional()}).strict(),ge=e.object({source:e.literal(`exec`),command:e.string().min(1).refine(e=>h(e),`secrets.providers.*.command is unsafe.`).refine(e=>le(e),`secrets.providers.*.command must be an absolute path.`),args:e.array(e.string().max(1024)).max(128).optional(),timeoutMs:e.number().int().positive().max(12e4).optional(),noOutputTimeoutMs:e.number().int().positive().max(12e4).optional(),maxOutputBytes:e.number().int().positive().max(20*1024*1024).optional(),jsonOnly:e.boolean().optional(),env:e.record(e.string(),e.string()).optional(),passEnv:e.array(e.string().regex(b)).max(128).optional(),trustedDirs:e.array(e.string().min(1).refine(e=>le(e),`trustedDirs entries must be absolute paths.`)).max(64).optional(),allowInsecurePath:e.boolean().optional(),allowSymlinkCommand:e.boolean().optional()}).strict(),_e=e.discriminatedUnion(`source`,[me,he,ge]);e.object({providers:e.object({}).catchall(_e).optional(),defaults:e.object({env:e.string().regex(x).optional(),file:e.string().regex(x).optional(),exec:e.string().regex(x).optional()}).strict().optional(),resolution:e.object({maxProviderConcurrency:e.number().int().positive().max(16).optional(),maxRefsPerProvider:e.number().int().positive().max(4096).optional(),maxBatchBytes:e.number().int().positive().max(5*1024*1024).optional()}).strict().optional()}).strict().optional();const ve=e.enum(re),ye=e.object({supportsStore:e.boolean().optional(),supportsDeveloperRole:e.boolean().optional(),supportsReasoningEffort:e.boolean().optional(),supportsUsageInStreaming:e.boolean().optional(),supportsTools:e.boolean().optional(),supportsStrictMode:e.boolean().optional(),maxTokensField:e.union([e.literal(`max_completion_tokens`),e.literal(`max_tokens`)]).optional(),thinkingFormat:e.union([e.literal(`openai`),e.literal(`zai`),e.literal(`qwen`)]).optional(),requiresToolResultName:e.boolean().optional(),requiresAssistantAfterToolResult:e.boolean().optional(),requiresThinkingAsText:e.boolean().optional(),requiresMistralToolIds:e.boolean().optional(),requiresOpenAiAnthropicToolPayload:e.boolean().optional()}).strict().optional(),be=e.object({id:e.string().min(1),name:e.string().min(1),api:ve.optional(),reasoning:e.boolean().optional(),input:e.array(e.union([e.literal(`text`),e.literal(`image`)])).optional(),cost:e.object({input:e.number().optional(),output:e.number().optional(),cacheRead:e.number().optional(),cacheWrite:e.number().optional()}).strict().optional(),contextWindow:e.number().positive().optional(),maxTokens:e.number().positive().optional(),headers:e.record(e.string(),e.string()).optional(),compat:ye}).strict(),xe=e.object({baseUrl:e.string().min(1),apiKey:S.optional().register(y),auth:e.union([e.literal(`api-key`),e.literal(`aws-sdk`),e.literal(`oauth`),e.literal(`token`)]).optional(),api:ve.optional(),injectNumCtxForOpenAICompat:e.boolean().optional(),headers:e.record(e.string(),S.register(y)).optional(),authHeader:e.boolean().optional(),models:e.array(be)}).strict(),Se=e.object({enabled:e.boolean().optional(),region:e.string().optional(),providerFilter:e.array(e.string()).optional(),refreshInterval:e.number().int().nonnegative().optional(),defaultContextWindow:e.number().int().positive().optional(),defaultMaxTokens:e.number().int().positive().optional()}).strict().optional();e.object({mode:e.union([e.literal(`merge`),e.literal(`replace`)]).optional(),providers:e.record(e.string(),xe).optional(),bedrockDiscovery:Se}).strict().optional(),e.object({mentionPatterns:e.array(e.string()).optional(),historyLimit:e.number().int().positive().optional()}).strict().optional();const Ce=e.object({historyLimit:e.number().int().min(0).optional()}).strict();e.object({name:e.string().optional(),theme:e.string().optional(),emoji:e.string().optional(),avatar:e.string().optional()}).strict().optional();const C=e.union([e.literal(`steer`),e.literal(`followup`),e.literal(`collect`),e.literal(`steer-backlog`),e.literal(`steer+backlog`),e.literal(`queue`),e.literal(`interrupt`)]),we=e.union([e.literal(`old`),e.literal(`new`),e.literal(`summarize`)]);e.union([e.literal(`off`),e.literal(`first`),e.literal(`all`)]),e.union([e.literal(`never`),e.literal(`instant`),e.literal(`thinking`),e.literal(`message`)]),e.enum([`open`,`disabled`,`allowlist`]),e.enum([`pairing`,`allowlist`,`open`,`disabled`]);const Te=e.object({minChars:e.number().int().positive().optional(),maxChars:e.number().int().positive().optional(),idleMs:e.number().int().nonnegative().optional()}).strict();e.number().int().min(0).optional(),e.number().int().min(0).optional(),e.record(e.string(),Ce.optional()).optional(),e.number().int().positive().optional(),e.enum([`length`,`newline`]).optional(),e.boolean().optional(),Te.optional(),e.string().optional(),e.number().positive().optional(),e.object({minChars:e.number().int().positive().optional(),maxChars:e.number().int().positive().optional(),breakPreference:e.union([e.literal(`paragraph`),e.literal(`newline`),e.literal(`sentence`)]).optional()}).strict();const Ee=e.enum([`off`,`bullets`,`code`]);e.object({tables:Ee.optional()}).strict().optional();const De=e.enum([`elevenlabs`,`openai`,`edge`]),Oe=e.enum([`final`,`all`]),ke=e.enum([`off`,`always`,`inbound`,`tagged`]);e.object({auto:ke.optional(),enabled:e.boolean().optional(),mode:Oe.optional(),provider:De.optional(),summaryModel:e.string().optional(),modelOverrides:e.object({enabled:e.boolean().optional(),allowText:e.boolean().optional(),allowProvider:e.boolean().optional(),allowVoice:e.boolean().optional(),allowModelId:e.boolean().optional(),allowVoiceSettings:e.boolean().optional(),allowNormalization:e.boolean().optional(),allowSeed:e.boolean().optional()}).strict().optional(),elevenlabs:e.object({apiKey:S.optional().register(y),baseUrl:e.string().optional(),voiceId:e.string().optional(),modelId:e.string().optional(),seed:e.number().int().min(0).max(4294967295).optional(),applyTextNormalization:e.enum([`auto`,`on`,`off`]).optional(),languageCode:e.string().optional(),voiceSettings:e.object({stability:e.number().min(0).max(1).optional(),similarityBoost:e.number().min(0).max(1).optional(),style:e.number().min(0).max(1).optional(),useSpeakerBoost:e.boolean().optional(),speed:e.number().min(.5).max(2).optional()}).strict().optional()}).strict().optional(),openai:e.object({apiKey:S.optional().register(y),baseUrl:e.string().optional(),model:e.string().optional(),voice:e.string().optional(),speed:e.number().min(.25).max(4).optional(),instructions:e.string().optional()}).strict().optional(),edge:e.object({enabled:e.boolean().optional(),voice:e.string().optional(),lang:e.string().optional(),outputFormat:e.string().optional(),pitch:e.string().optional(),rate:e.string().optional(),volume:e.string().optional(),saveSubtitles:e.boolean().optional(),proxy:e.string().optional(),timeoutMs:e.number().int().min(1e3).max(12e4).optional()}).strict().optional(),prefsPath:e.string().optional(),maxTextLength:e.number().int().min(1).optional(),timeoutMs:e.number().int().min(1e3).max(12e4).optional()}).strict().optional(),e.object({mode:e.union([e.literal(`off`),e.literal(`natural`),e.literal(`custom`)]).optional(),minMs:e.number().int().nonnegative().optional(),maxMs:e.number().int().nonnegative().optional()}).strict();const Ae=e.object({noOutputTimeoutMs:e.number().int().min(1e3).optional(),noOutputTimeoutRatio:e.number().min(.05).max(.95).optional(),minMs:e.number().int().min(1e3).optional(),maxMs:e.number().int().min(1e3).optional()}).strict().optional();e.object({command:e.string(),args:e.array(e.string()).optional(),output:e.union([e.literal(`json`),e.literal(`text`),e.literal(`jsonl`)]).optional(),resumeOutput:e.union([e.literal(`json`),e.literal(`text`),e.literal(`jsonl`)]).optional(),input:e.union([e.literal(`arg`),e.literal(`stdin`)]).optional(),maxPromptArgChars:e.number().int().positive().optional(),env:e.record(e.string(),e.string()).optional(),clearEnv:e.array(e.string()).optional(),modelArg:e.string().optional(),modelAliases:e.record(e.string(),e.string()).optional(),sessionArg:e.string().optional(),sessionArgs:e.array(e.string()).optional(),resumeArgs:e.array(e.string()).optional(),sessionMode:e.union([e.literal(`always`),e.literal(`existing`),e.literal(`none`)]).optional(),sessionIdFields:e.array(e.string()).optional(),systemPromptArg:e.string().optional(),systemPromptMode:e.union([e.literal(`append`),e.literal(`replace`)]).optional(),systemPromptWhen:e.union([e.literal(`first`),e.literal(`always`),e.literal(`never`)]).optional(),imageArg:e.string().optional(),imageMode:e.union([e.literal(`repeat`),e.literal(`list`)]).optional(),serialize:e.boolean().optional(),reliability:e.object({watchdog:e.object({fresh:Ae,resume:Ae}).strict().optional()}).strict().optional()}).strict(),e.enum([`thread`,`top-level`]),e.object({attempts:e.number().int().min(1).optional(),minDelayMs:e.number().int().min(0).optional(),maxDelayMs:e.number().int().min(0).optional(),jitter:e.number().min(0).max(1).optional()}).strict().optional();const je=e.object({whatsapp:C.optional(),telegram:C.optional(),discord:C.optional(),irc:C.optional(),slack:C.optional(),mattermost:C.optional(),signal:C.optional(),imessage:C.optional(),msteams:C.optional(),webchat:C.optional()}).strict().optional(),Me=e.record(e.string(),e.number().int().nonnegative()).optional();e.object({mode:C.optional(),byChannel:je,debounceMs:e.number().int().nonnegative().optional(),debounceMsByChannel:Me,cap:e.number().int().positive().optional(),drop:we.optional()}).strict().optional(),e.object({debounceMs:e.number().int().nonnegative().optional(),byChannel:Me}).strict().optional(),e.object({command:e.array(e.string()).superRefine((t,n)=>{let r=t[0];h(r)||n.addIssue({code:e.ZodIssueCode.custom,path:[0],message:`expected safe executable name or path`})}),timeoutSeconds:e.number().int().positive().optional()}).strict().optional(),e.string().regex(/^#?[0-9a-fA-F]{6}$/,`expected hex color (RRGGBB)`),e.string().refine(h,`expected safe executable name or path`);const Ne=oe(),Pe=e.array(e.union([e.literal(`image`),e.literal(`audio`),e.literal(`video`)])).optional(),Fe=e.object({mode:e.union([e.literal(`first`),e.literal(`all`)]).optional(),maxAttachments:e.number().int().positive().optional(),prefer:e.union([e.literal(`first`),e.literal(`last`),e.literal(`path`),e.literal(`url`)]).optional()}).strict().optional(),Ie=e.object({detectLanguage:e.boolean().optional(),punctuate:e.boolean().optional(),smartFormat:e.boolean().optional()}).strict().optional(),Le=e.union([e.string(),e.number(),e.boolean()]),Re=e.record(e.string(),e.record(e.string(),Le)).optional(),ze={prompt:e.string().optional(),timeoutSeconds:e.number().int().positive().optional(),language:e.string().optional(),providerOptions:Re,deepgram:Ie,baseUrl:e.string().optional(),headers:e.record(e.string(),e.string()).optional()},Be=e.object({provider:e.string().optional(),model:e.string().optional(),capabilities:Pe,type:e.union([e.literal(`provider`),e.literal(`cli`)]).optional(),command:e.string().optional(),args:e.array(e.string()).optional(),maxChars:e.number().int().positive().optional(),maxBytes:e.number().int().positive().optional(),...ze,profile:e.string().optional(),preferredProfile:e.string().optional()}).strict().optional(),w=e.object({enabled:e.boolean().optional(),scope:Ne,maxBytes:e.number().int().positive().optional(),maxChars:e.number().int().positive().optional(),...ze,attachments:Fe,models:e.array(Be).optional(),echoTranscript:e.boolean().optional(),echoFormat:e.string().optional()}).strict().optional();e.object({models:e.array(Be).optional(),concurrency:e.number().int().positive().optional(),image:w.optional(),audio:w.optional(),video:w.optional()}).strict().optional();const Ve=e.object({type:e.literal(`cli`).optional(),command:e.string().min(1),args:e.array(e.string()).optional(),timeoutSeconds:e.number().int().positive().optional()}).strict();e.object({enabled:e.boolean().optional(),scope:Ne,maxLinks:e.number().int().positive().optional(),timeoutSeconds:e.number().int().positive().optional(),models:e.array(Ve).optional()}).strict().optional();const T=e.union([e.boolean(),e.literal(`auto`)]);e.object({native:T.optional(),nativeSkills:T.optional()}).strict().optional();const He=e.union([e.string(),e.number()]);e.array(He).optional();function Ue(e){let t=e;return typeof t.toJSONSchema==`function`?{schema:t.toJSONSchema({target:`draft-07`,unrepresentable:`any`})}:{schema:{type:`object`,additionalProperties:!0}}}function We(e){let t,n=!1,r=async()=>{if(!n){n=!0;try{await e.onTick()}finally{n=!1}}};return{tick:r,start:()=>{e.intervalMs<=0||t||(t=setInterval(()=>{r()},e.intervalMs))},stop:()=>{t&&(clearInterval(t),t=void 0,n=!1)},isRunning:()=>t!==void 0}}function Ge(e){let t=typeof e.maxConsecutiveFailures==`number`&&e.maxConsecutiveFailures>0?Math.floor(e.maxConsecutiveFailures):void 0,n=0,r=!1,i=()=>e.isSealed()||r?!0:e.shouldBlock?.()===!0;return{run:async a=>{if(i())return`skipped`;try{return await a(),n=0,`started`}catch(i){if(n+=1,e.onStartError?.(i),e.rethrowOnError)throw i;return t&&n>=t?(r=!0,e.onTrip?.(),`tripped`):`failed`}},reset:()=>{n=0,r=!1},isTripped:()=>r}}function Ke(e){let t=e.stop,n=e.keepaliveIntervalMs??3e3,r=Math.max(1,e.maxConsecutiveFailures??2),i=e.maxDurationMs??6e4,a=!1,o=!1,s,c=Ge({isSealed:()=>o,onStartError:e.onStartError,maxConsecutiveFailures:r,onTrip:()=>{u.stop()}}),l=async()=>{await c.run(()=>e.start())},u=We({intervalMs:n,onTick:l}),d=()=>{i<=0||(f(),s=setTimeout(()=>{o||(console.warn(`[typing] TTL exceeded (${i}ms), auto-stopping typing indicator`),m())},i))},f=()=>{s&&=(clearTimeout(s),void 0)},p=async()=>{o||(a=!1,c.reset(),u.stop(),f(),await l(),!c.isTripped()&&(u.start(),d()))},m=()=>{o=!0,u.stop(),f(),!(!t||a)&&(a=!0,t().catch(t=>(e.onStopError??e.onStartError)(t)))};return{onReplyStart:p,onIdle:m,onCleanup:m}}const E=`/tmp/qbotclaw`,qe=n.constants.W_OK|n.constants.X_OK;function Je(e,t){return typeof e==`object`&&!!e&&`code`in e&&e.code===t}function Ye(e={}){let i=e.accessSync??n.accessSync,a=e.chmodSync??n.chmodSync,o=e.lstatSync??n.lstatSync,s=e.mkdirSync??n.mkdirSync,c=e.warn??(e=>console.warn(e)),l=e.getuid??(()=>{try{return typeof process.getuid==`function`?process.getuid():void 0}catch{return}}),u=e.tmpdir??r.tmpdir,d=l(),f=e=>d===void 0?!0:!(typeof e.uid==`number`&&e.uid!==d||typeof e.mode==`number`&&e.mode&18),p=()=>{let e=u(),n=d===void 0?`qbotclaw`:`qbotclaw-${d}`;return t.join(e,n)},m=e=>e.isDirectory()&&!e.isSymbolicLink()&&f(e),h=e=>{try{return m(o(e))?(i(e,qe),`available`):`invalid`}catch(e){return Je(e,`ENOENT`)?`missing`:`invalid`}},g=e=>{try{let t=o(e);return!t.isDirectory()||t.isSymbolicLink()||d!==void 0&&typeof t.uid==`number`&&t.uid!==d||typeof t.mode!=`number`||!(t.mode&18)?!1:(a(e,448),c(`[openclaw] tightened permissions on temp dir: ${e}`),h(e)===`available`)}catch{return!1}},_=()=>{let e=p(),t=h(e);if(t===`available`)return e;if(t===`invalid`){if(g(e))return e;throw Error(`Unsafe fallback OpenClaw temp dir: ${e}`)}try{s(e,{recursive:!0,mode:448}),a(e,448)}catch{throw Error(`Unable to create fallback OpenClaw temp dir: ${e}`)}if(h(e)!==`available`&&!g(e))throw Error(`Unsafe fallback OpenClaw temp dir: ${e}`);return e},v=h(E);if(v===`available`)return E;if(v===`invalid`)return g(`/tmp/qbotclaw`)?E:_();try{return i(`/tmp`,qe),s(E,{recursive:!0,mode:448}),a(E,448),h(`/tmp/qbotclaw`)!==`available`&&!g(`/tmp/qbotclaw`)?_():E}catch{return _()}}function Xe(e){return{success:!1,error:{issues:[{path:[],message:e}]}}}function Ze(){return{safeParse(e){return e===void 0?{success:!0,data:void 0}:!e||typeof e!=`object`||Array.isArray(e)?Xe(`expected config object`):Object.keys(e).length>0?Xe(`config must be empty`):{success:!0,data:e}},jsonSchema:{type:`object`,additionalProperties:!1,properties:{}}}}const Qe=new Set([`__proto__`,`prototype`,`constructor`]);function $e(e){return Qe.has(e)}const D=`default`,et=/^[a-z0-9][a-z0-9_-]{0,63}$/i,tt=/[^a-z0-9_-]+/g,nt=/^-+/,rt=/-+$/,it=new Map,O=new Map;function at(e){return et.test(e)?e.toLowerCase():e.toLowerCase().replace(tt,`-`).replace(nt,``).replace(rt,``).slice(0,64)}function ot(e){let t=at(e);if(!(!t||$e(t)))return t}function st(e){let t=(e??``).trim();if(!t)return D;let n=it.get(t);if(n)return n;let r=ot(t)||`default`;return lt(it,t,r),r}function ct(e){let t=(e??``).trim();if(!t)return;if(O.has(t))return O.get(t);let n=ot(t)||void 0;return lt(O,t,n),n}function lt(e,t,n){if(e.set(t,n),e.size<=512)return;let r=e.keys().next();r.done||e.delete(r.value)}function ut(e){let t=e;return t=t.replace(/\*\*(.+?)\*\*/g,`$1`),t=t.replace(/__(.+?)__/g,`$1`),t=t.replace(/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g,`$1`),t=t.replace(/(?<!_)_(?!_)(.+?)(?<!_)_(?!_)/g,`$1`),t=t.replace(/~~(.+?)~~/g,`$1`),t=t.replace(/^#{1,6}\s+(.+)$/gm,`$1`),t=t.replace(/^>\s?(.*)$/gm,`$1`),t=t.replace(/^[-*_]{3,}$/gm,``),t=t.replace(/`([^`]+)`/g,`$1`),t=t.replace(/\n{3,}/g,`
|
|
2
2
|
|
|
3
3
|
`),t=t.trim(),t}function dt(e){return Number.isInteger(e)&&e>0}function ft(e){if(process.platform!==`linux`)return!1;try{return n.readFileSync(`/proc/${e}/status`,`utf8`).match(/^State:\s+(\S)/m)?.[1]===`Z`}catch{return!1}}function pt(e){if(!dt(e))return!1;try{process.kill(e,0)}catch{return!1}return!ft(e)}function mt(e){let t=process,n=t[e];if(n)return n;let r=new Map;return t[e]=r,r}const k=mt(Symbol.for(`openclaw.fileLockHeldLocks`));function ht(e,t){let n=Math.min(e.maxTimeout,Math.max(e.minTimeout,e.minTimeout*e.factor**t)),r=e.randomize?1+Math.random():1;return Math.min(e.maxTimeout,Math.round(n*r))}async function gt(e){try{let t=await i.readFile(e,`utf8`),n=JSON.parse(t);return typeof n.pid!=`number`||typeof n.createdAt!=`string`?null:{pid:n.pid,createdAt:n.createdAt}}catch{return null}}async function _t(e){let n=t.resolve(e),r=t.dirname(n);await i.mkdir(r,{recursive:!0});try{let e=await i.realpath(r);return t.join(e,t.basename(n))}catch{return n}}async function vt(e,t){let n=await gt(e);if(n?.pid&&!pt(n.pid))return!0;if(n?.createdAt){let e=Date.parse(n.createdAt);if(!Number.isFinite(e)||Date.now()-e>t)return!0}try{let n=await i.stat(e);return Date.now()-n.mtimeMs>t}catch{return!0}}async function yt(e){let t=k.get(e);t&&(--t.count,!(t.count>0)&&(k.delete(e),await t.handle.close().catch(()=>void 0),await i.rm(t.lockPath,{force:!0}).catch(()=>void 0)))}async function bt(e,t){let n=await _t(e),r=`${n}.lock`,a=k.get(n);if(a)return a.count+=1,{lockPath:r,release:()=>yt(n)};let o=Math.max(1,t.retries.retries+1);for(let e=0;e<o;e+=1)try{let e=await i.open(r,`wx`);return await e.writeFile(JSON.stringify({pid:process.pid,createdAt:new Date().toISOString()},null,2),`utf8`),k.set(n,{count:1,handle:e,lockPath:r}),{lockPath:r,release:()=>yt(n)}}catch(n){if(n.code!==`EEXIST`)throw n;if(await vt(r,t.stale)){await i.rm(r,{force:!0}).catch(()=>void 0);continue}if(e>=o-1)break;await new Promise(n=>setTimeout(n,ht(t.retries,e)))}throw Error(`file lock timeout for ${n}`)}async function xt(e,t,n){let r=await bt(e,t);try{return await n()}finally{await r.release()}}function St(e){let t=e.dmPolicy===`allowlist`?[]:e.storeAllowFrom??[];return[...e.allowFrom??[],...t].map(e=>String(e).trim()).filter(Boolean)}function Ct(e){return((Array.isArray(e.groupAllowFrom)&&e.groupAllowFrom.length>0?e.groupAllowFrom:void 0)||(e.fallbackToAllowFrom===!1?[]:e.allowFrom??[])).map(e=>String(e).trim()).filter(Boolean)}const wt=new Set([`--dev`,`--no-color`]),Tt=new Set([`--profile`,`--log-level`]);function Et(e){return!e||e===`--`?!1:e.startsWith(`-`)?/^-\d+(?:\.\d+)?$/.test(e):!0}function Dt(e,t){let n=e[t];return n?wt.has(n)||n.startsWith(`--profile=`)||n.startsWith(`--log-level=`)?1:Tt.has(n)?Et(e[t+1])?2:1:0:0}function Ot(e,t=2){return kt(e,t,{skipRootOptions:!0})}function kt(e,t,n){let r=e.slice(2),i=[];for(let e=0;e<r.length;e+=1){let a=r[e];if(a){if(a===`--`)break;if(n.skipRootOptions){let t=Dt(r,e);if(t>0){e+=t-1;continue}}if(!a.startsWith(`-`)&&(i.push(a),i.length>=t))break}}return i}function A(e){return e?.trim()||void 0}function At(e=process.env,n=r.homedir){let i=jt(e,n);return i?t.resolve(i):void 0}function jt(e,t){let n=A(e.OPENCLAW_HOME);if(n){if(n===`~`||n.startsWith(`~/`)||n.startsWith(`~\\`)){let r=A(e.HOME)??A(e.USERPROFILE)??Mt(t);return r?n.replace(/^~(?=$|[\\/])/,r):void 0}return n}return A(e.HOME)||A(e.USERPROFILE)||Mt(t)}function Mt(e){try{return A(e())}catch{return}}function j(e=process.env,n=r.homedir){return At(e,n)??t.resolve(process.cwd())}function Nt(e,t){if(!e.startsWith(`~`))return e;let n=A(t?.home)??At(t?.env??process.env,t?.homedir??r.homedir);return n?e.replace(/^~(?=$|[\\/])/,n):e}function Pt(e=process.env){return e.OPENCLAW_NIX_MODE===`1`}Pt();const Ft=[`.clawdbot`,`.moldbot`,`.moltbot`],M=`.openclaw-qbot.json`,N=[`openclaw.json`,`clawdbot.json`,`moldbot.json`,`moltbot.json`];function It(){return j(process.env,r.homedir)}function P(e){return()=>j(e,r.homedir)}function F(e=It){return Ft.map(n=>t.join(e(),n))}function Lt(e=It){return t.join(e(),`.qbotclaw`)}function I(e=process.env,t=P(e)){let r=()=>j(e,t),i=e.OPENCLAW_STATE_DIR?.trim()||e.CLAWDBOT_STATE_DIR?.trim();if(i)return L(i,e,r);let a=Lt(r);if(e.OPENCLAW_TEST_FAST===`1`)return a;let o=F(r);return n.existsSync(a)?a:o.find(e=>{try{return n.existsSync(e)}catch{return!1}})||a}function L(e,n=process.env,r=P(n)){let i=e.trim();if(!i)return i;if(i.startsWith(`~`)){let e=Nt(i,{home:j(n,r),env:n,homedir:r});return t.resolve(e)}return t.resolve(i)}I();function Rt(e=process.env,n=I(e,P(e))){let r=e.OPENCLAW_CONFIG_PATH?.trim()||e.CLAWDBOT_CONFIG_PATH?.trim();return r?L(r,e,P(e)):t.join(n,M)}function zt(e=process.env,t=P(e)){return e.OPENCLAW_TEST_FAST===`1`?Rt(e,I(e,t)):Vt(e,t).find(e=>{try{return n.existsSync(e)}catch{return!1}})||Rt(e,I(e,t))}function Bt(e=process.env,r=I(e,P(e)),i=P(e)){let a=e.OPENCLAW_CONFIG_PATH?.trim();if(a)return L(a,e,i);if(e.OPENCLAW_TEST_FAST===`1`)return t.join(r,M);let o=e.OPENCLAW_STATE_DIR?.trim(),s=[t.join(r,M),...N.map(e=>t.join(r,e))].find(e=>{try{return n.existsSync(e)}catch{return!1}});if(s)return s;if(o)return t.join(r,M);let c=I(e,i);return t.resolve(r)===t.resolve(c)?zt(e,i):t.join(r,M)}zt();function Vt(e=process.env,n=P(e)){let r=()=>j(e,n),i=e.OPENCLAW_CONFIG_PATH?.trim()||e.CLAWDBOT_CONFIG_PATH?.trim();if(i)return[L(i,e,r)];let a=[],o=e.OPENCLAW_STATE_DIR?.trim()||e.CLAWDBOT_STATE_DIR?.trim();if(o){let n=L(o,e,r);a.push(t.join(n,M)),a.push(...N.map(e=>t.join(n,e)))}let s=[Lt(r),...F(r)];for(let e of s)a.push(t.join(e,M)),a.push(...N.map(n=>t.join(e,n)));return a}function Ht(e=process.env,n=I(e,P(e))){let r=e.OPENCLAW_OAUTH_DIR?.trim();return r?L(r,e,P(e)):t.join(n,`credentials`)}function Ut(){let e=Bt();try{if(!n.existsSync(e))return;let t=n.readFileSync(e,`utf-8`),r=c.parse(t)?.logging;return!r||typeof r!=`object`||Array.isArray(r)?void 0:r}catch{return}}const Wt=[`silent`,`fatal`,`error`,`warn`,`info`,`debug`,`trace`];function Gt(e){if(typeof e!=`string`)return;let t=e.trim();return Wt.includes(t)?t:void 0}function Kt(e,t=`info`){return Gt(e)??t}function R(e){return{fatal:0,error:1,warn:2,info:3,debug:4,trace:5,silent:1/0}[e]}const z={cachedLogger:null,cachedSettings:null,cachedConsoleSettings:null,overrideSettings:null,invalidEnvLogLevelValue:null,consolePatched:!1,forceConsoleToStderr:!1,consoleTimestampPrefix:!1,consoleSubsystemFilter:null,resolvingConsoleSettings:!1,streamErrorHandlersInstalled:!1,rawConsole:null};function qt(){let e=process.env.OPENCLAW_LOG_LEVEL,t=typeof e==`string`?e.trim():``;if(!t){z.invalidEnvLogLevelValue=null;return}let n=Gt(t);if(n)return z.invalidEnvLogLevelValue=null,n;z.invalidEnvLogLevelValue!==t&&(z.invalidEnvLogLevelValue=t,process.stderr.write(`[openclaw] Ignoring invalid OPENCLAW_LOG_LEVEL="${t}" (allowed: ${Wt.join(`|`)}).\n`))}function Jt(e){let t=process.getBuiltinModule;if(typeof t!=`function`)return null;try{let n=t(`module`),r=typeof n.createRequire==`function`?n.createRequire:null;return r?r(e):null}catch{return null}}function Yt(e){try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}}function B(e,t){let n=t??process.env.TZ,r=n&&Yt(n)?n:Intl.DateTimeFormat().resolvedOptions().timeZone,i=new Intl.DateTimeFormat(`en`,{timeZone:r,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1,fractionalSecondDigits:3,timeZoneName:`longOffset`}),a=Object.fromEntries(i.formatToParts(e).map(e=>[e.type,e.value])),o=a.timeZoneName??`GMT`,s=o===`GMT`?`+00:00`:o.slice(3);return`${a.year}-${a.month}-${a.day}T${a.hour}:${a.minute}:${a.second}.${a.fractionalSecond}${s}`}const Xt=Ye();t.join(Xt,`qbotclaw.log`);const V=`qbotclaw`,H=`.log`,Zt=500*1024*1024,Qt=Jt(import.meta.url),U=new Set;function $t(e=process.argv){let[t,n]=Ot(e,2);return t===`config`&&n===`validate`}function en(e,t){e.attachTransport(e=>{if(U.has(t))try{t(e)}catch{}})}function tn(e){return process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_FILE_LOG!==`1`&&!e&&!z.overrideSettings}function nn(){let e=qt();if(tn(e))return{level:`silent`,file:pn(),maxFileBytes:Zt};let t=z.overrideSettings??Ut();if(!t&&!$t())try{t=(Qt?.(`../config/config.js`))?.loadConfig?.().logging}catch{t=void 0}let n=process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_FILE_LOG!==`1`?`silent`:`info`,r=Kt(t?.level,n);return{level:e??r,file:t?.file??pn(),maxFileBytes:sn(t?.maxFileBytes)}}function rn(e,t){return e?e.level!==t.level||e.file!==t.file||e.maxFileBytes!==t.maxFileBytes:!0}function an(e){let t=z.cachedSettings??nn();return z.cachedSettings||=t,t.level===`silent`?!1:R(e)<=R(t.level)}function on(e){let r=new s({name:`openclaw`,minLevel:R(e.level),type:`hidden`});if(e.level===`silent`){for(let e of U)en(r,e);return r}n.mkdirSync(t.dirname(e.file),{recursive:!0}),mn(e.file)&&hn(t.dirname(e.file));let i=cn(e.file),a=!1;r.attachTransport(t=>{try{let n=B(t.date??new Date),r=`${JSON.stringify({...t,time:n})}\n`,o=Buffer.byteLength(r,`utf8`),s=i+o;if(s>e.maxFileBytes){if(!a){a=!0;let t=JSON.stringify({time:B(new Date),level:`warn`,subsystem:`logging`,message:`log file size cap reached; suppressing writes file=${e.file} maxFileBytes=${e.maxFileBytes}`});ln(e.file,`${t}\n`),process.stderr.write(`[openclaw] log file size cap reached; suppressing writes file=${e.file} maxFileBytes=${e.maxFileBytes}\n`)}return}ln(e.file,r)&&(i=s)}catch{}});for(let e of U)en(r,e);return r}function sn(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):Zt}function cn(e){try{return n.statSync(e).size}catch{return 0}}function ln(e,t){try{return n.appendFileSync(e,t,{encoding:`utf8`}),!0}catch{return!1}}function un(){let e=nn(),t=z.cachedLogger,n=z.cachedSettings;return(!t||rn(n,e))&&(z.cachedLogger=on(e),z.cachedSettings=e),z.cachedLogger}function dn(e,t){let n=un(),r=t?.level?R(t.level):void 0,i=e?JSON.stringify(e):void 0;return n.getSubLogger({name:i,minLevel:r,prefix:e?[i??``]:[]})}function fn(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function pn(){let e=fn(new Date);return t.join(Xt,`${V}-${e}${H}`)}function mn(e){let n=t.basename(e);return n.startsWith(`${V}-`)&&n.endsWith(H)&&n.length===`${V}-YYYY-MM-DD${H}`.length}function hn(e){try{let r=n.readdirSync(e,{withFileTypes:!0}),i=Date.now()-864e5;for(let a of r){if(!a.isFile()||!a.name.startsWith(`${V}-`)||!a.name.endsWith(H))continue;let r=t.join(e,a.name);try{n.statSync(r).mtimeMs<i&&n.rmSync(r,{force:!0})}catch{}}}catch{}}const W={accent:`#FF5A2D`,accentBright:`#FF7A3D`,accentDim:`#D14A22`,info:`#FF8A5B`,success:`#2FBF71`,warn:`#FFB020`,error:`#E23D2D`,muted:`#8B7F77`},gn=typeof process.env.FORCE_COLOR==`string`&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!==`0`,_n=process.env.NO_COLOR&&!gn?new o({level:0}):a,G=e=>_n.hex(e),K={accent:G(W.accent),accentBright:G(W.accentBright),accentDim:G(W.accentDim),info:G(W.info),success:G(W.success),warn:G(W.warn),error:G(W.error),muted:G(W.muted),heading:_n.bold.hex(W.accent),command:G(W.accentBright),option:G(W.warn)};function q(){return!1}K.success,K.warn,K.info,K.error;function vn(e=process.env){return e.VITEST!==`true`||e.OPENCLAW_TEST_RUNTIME_LOG===`1`?!0:typeof console.log.mock==`object`}function yn(){return{log:(...e)=>{vn()&&console.log(...e)},error:(...e)=>{console.error(...e)}}}({...yn()}),typeof Intl<`u`&&`Segmenter`in Intl&&new Intl.Segmenter(void 0,{granularity:`grapheme`});const bn=Jt(import.meta.url);let xn=()=>{try{return(bn?.(`../config/config.js`))?.loadConfig?.().logging}catch{return}};function Sn(e){return q()?`debug`:!e&&process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_CONSOLE!==`1`?`silent`:Kt(e,`info`)}function Cn(e){return e===`compact`||e===`json`||e===`pretty`?e:process.stdout.isTTY?`pretty`:`compact`}function wn(){let e=qt();if(process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_CONSOLE!==`1`&&!q()&&!e&&!z.overrideSettings)return{level:`silent`,style:Cn(void 0)};let t=z.overrideSettings??Ut();if(!t)if(z.resolvingConsoleSettings)t=void 0;else{z.resolvingConsoleSettings=!0;try{t=xn()}finally{z.resolvingConsoleSettings=!1}}return{level:e??Sn(t?.consoleLevel),style:Cn(t?.consoleStyle)}}function Tn(e,t){return e?e.level!==t.level||e.style!==t.style:!0}function En(){let e=wn(),t=z.cachedConsoleSettings;return(!t||Tn(t,e))&&(z.cachedConsoleSettings=e),z.cachedConsoleSettings}function Dn(e){let t=z.consoleSubsystemFilter;return!t||t.length===0?!0:t.some(t=>e===t||e.startsWith(`${t}/`))}function J(e){let t=new Date;return e===`pretty`?`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`:B(t)}function Y(e,t){return t.level===`silent`?!1:R(e)<=R(t.level)}(()=>{let e=process.getBuiltinModule;if(typeof e!=`function`)return null;try{let t=e(`util`);return typeof t.inspect==`function`?t.inspect:null}catch{return null}})();function On(){let e=(process.env.TERM??``).toLowerCase();return process.env.COLORTERM||process.env.TERM_PROGRAM?!0:e.length>0&&e!==`dumb`}function kn(){let e=typeof process.env.FORCE_COLOR==`string`&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!==`0`;return process.env.NO_COLOR&&!e?new o({level:0}):process.stdout.isTTY||process.stderr.isTTY||On()?new o({level:1}):new o({level:0})}const An=[`cyan`,`green`,`yellow`,`blue`,`magenta`,`red`],jn={"gmail-watcher":`blue`},Mn=[`gateway`,`channels`,`providers`],Nn=new Set([`telegram`,`whatsapp`,`discord`,`irc`,`googlechat`,`slack`,`signal`,`imessage`]);function Pn(e,t){let n=jn[t];if(n)return e[n];let r=0;for(let e=0;e<t.length;e+=1)r=r*31+t.charCodeAt(e)|0;return e[An[Math.abs(r)%An.length]]}function Fn(e){let t=e.split(`/`).filter(Boolean),n=t.join(`/`)||e;for(;t.length>0&&Mn.includes(t[0]);)t.shift();return t.length===0?n:Nn.has(t[0])?t[0]:t.length>2?t.slice(-2).join(`/`):t.join(`/`)}function In(e,t){if(!t)return e;if(e.startsWith(`[`)){let n=e.indexOf(`]`);if(n>1&&e.slice(1,n).toLowerCase()===t.toLowerCase()){let t=n+1;for(;e[t]===` `;)t+=1;return e.slice(t)}}if(e.slice(0,t.length).toLowerCase()!==t.toLowerCase())return e;let n=e.slice(t.length,t.length+1);if(n!==`:`&&n!==` `)return e;let r=t.length;for(;e[r]===` `;)r+=1;for(e[r]===`:`&&(r+=1);e[r]===` `;)r+=1;return e.slice(r)}function Ln(e){let t=e.style===`json`?e.subsystem:Fn(e.subsystem);if(e.style===`json`)return JSON.stringify({time:J(`json`),level:e.level,subsystem:t,message:e.message,...e.meta});let n=kn(),r=`[${t}]`,i=Pn(n,t),a=e.level===`error`||e.level===`fatal`?n.red:e.level===`warn`?n.yellow:e.level===`debug`||e.level===`trace`?n.gray:n.cyan,o=In(e.message,t);return`${[e.style===`pretty`?n.gray(J(`pretty`)):z.consoleTimestampPrefix?n.gray(J(e.style)):``,i(r)].filter(Boolean).join(` `)} ${a(o)}`}function Rn(e,t){let n=process.platform===`win32`&&process.env.GITHUB_ACTIONS===`true`?t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,`?`).replace(/[\uD800-\uDFFF]/g,`?`):t,r=z.rawConsole??console;z.forceConsoleToStderr||e===`error`||e===`fatal`?(r.error??console.error)(n):e===`warn`?(r.warn??console.warn)(n):(r.log??console.log)(n)}function zn(e){return q()||e.level===`error`||e.level===`fatal`||!(e.subsystem===`agent/embedded`||e.subsystem.startsWith(`agent/embedded/`)||e.subsystem===`model-fallback`||e.subsystem.startsWith(`model-fallback/`))?!1:(typeof e.meta?.runId==`string`?e.meta.runId:typeof e.meta?.sessionId==`string`?e.meta.sessionId:void 0)?.startsWith(`probe-`)?!0:/(sessionId|runId)=probe-/.test(e.message)}function Bn(e,t,n,r){if(t===`silent`)return;let i=e[t];typeof i==`function`&&(r&&Object.keys(r).length>0?i.call(e,r,n):i.call(e,n))}function Vn(e){let t=null,n=()=>(t||=dn({subsystem:e}),t),r=(t,r,i)=>{let a=En(),o=Y(t,{level:a.level})&&Dn(e),s=an(t);if(!o&&!s)return;let c,l=i;if(i&&Object.keys(i).length>0){let{consoleMessage:e,...t}=i;typeof e==`string`&&(c=e),l=Object.keys(t).length>0?t:void 0}if(s&&Bn(n(),t,r,l),!o)return;let u=c??r;zn({level:t,subsystem:e,message:u,meta:l})||Rn(t,Ln({level:t,subsystem:e,message:a.style===`json`?r:u,style:a.style,meta:l}))},i=t=>Y(t,{level:En().level})&&Dn(e),a=e=>an(e);return{subsystem:e,isEnabled:(e,t=`any`)=>t===`console`?i(e):t===`file`?a(e):i(e)||a(e),trace:(e,t)=>r(`trace`,e,t),debug:(e,t)=>r(`debug`,e,t),info:(e,t)=>r(`info`,e,t),warn:(e,t)=>r(`warn`,e,t),error:(e,t)=>r(`error`,e,t),fatal:(e,t)=>r(`fatal`,e,t),raw:t=>{if(a(`info`)&&Bn(n(),`info`,t,{raw:!0}),i(`info`)){if(zn({level:`info`,subsystem:e,message:t}))return;Rn(`info`,t)}},child:t=>Vn(`${e}/${t}`)}}const Hn=globalThis;Hn.__openclaw_internal_hook_handlers__??=new Map;function Un(e){if(!e)return``;let n=e.trim();if(!n)return n;if(n.startsWith(`~`)){let e=Nt(n,{home:j(process.env,r.homedir),env:process.env,homedir:r.homedir});return t.resolve(e)}return t.resolve(n)}function Wn(e=process.env,i=r.homedir){let a=e.OPENCLAW_STATE_DIR?.trim()||e.CLAWDBOT_STATE_DIR?.trim();if(a)return Un(a);let o=t.join(j(e,i),`.qbotclaw`);try{if(n.existsSync(o))return o}catch{}return o}Wn();function Gn(){return{plugins:[],tools:[],hooks:[],typedHooks:[],channels:[],providers:[],gatewayHandlers:{},httpRoutes:[],cliRegistrars:[],services:[],commands:[],diagnostics:[]}}const X=Symbol.for(`openclaw.pluginRegistryState`);(()=>{let e=globalThis;return e[X]||(e[X]={registry:Gn(),key:null,version:0}),e[X]})();function Z(e,t){function n(t){let n=t.channels?.[e],r=ct(typeof n?.defaultAccount==`string`?n.defaultAccount:void 0);if(r&&i(t).some(e=>st(e)===r))return r}function r(n){let r=n.channels?.[e]?.accounts;if(!r||typeof r!=`object`)return[];let i=Object.keys(r).filter(Boolean),a=t?.normalizeAccountId;return a?[...new Set(i.map(e=>a(e)).filter(Boolean))]:i}function i(e){let t=r(e);return t.length===0?[D]:t.toSorted((e,t)=>e.localeCompare(t))}function a(e){let t=n(e);if(t)return t;let r=i(e);return r.includes(`default`)?D:r[0]??`default`}return{listConfiguredAccountIds:r,listAccountIds:i,resolveDefaultAccountId:a}}const{listAccountIds:Kn,resolveDefaultAccountId:qn}=Z(`discord`),{listAccountIds:Jn,resolveDefaultAccountId:Yn}=Z(`imessage`);function Q(e){return(e??[]).map(e=>String(e).trim()).filter(Boolean)}function Xn(){return t.join(Ht(),`whatsapp`,D)}Xn();const{listConfiguredAccountIds:Zn,listAccountIds:Qn,resolveDefaultAccountId:$n}=Z(`whatsapp`),{listAccountIds:er,resolveDefaultAccountId:tr}=Z(`slack`);Object.freeze({allowFinalSymlinkForUnlink:!1,allowFinalHardlinkForUnlink:!1}),Object.freeze({allowFinalSymlinkForUnlink:!0,allowFinalHardlinkForUnlink:!0}),t.resolve(t.dirname(l(import.meta.url)),`../../docs/reference/templates`);function nr(e=process.env,n=r.homedir){let i=Wn(e,n),a=e.OPENCLAW_PROFILE?.trim();return a&&a.toLowerCase()!==`default`?t.join(i,`workspace-${a}`):t.join(i,`workspace`)}nr();function rr(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`}}function ir(e){let t=Array.isArray(e.allowFrom)?e.allowFrom:void 0,n=Array.isArray(e.groupAllowFrom)?e.groupAllowFrom:void 0;return{effectiveAllowFrom:Q(St({allowFrom:t,storeAllowFrom:Array.isArray(e.storeAllowFrom)?e.storeAllowFrom:void 0,dmPolicy:e.dmPolicy??void 0})),effectiveGroupAllowFrom:Q(Ct({allowFrom:t,groupAllowFrom:n,fallbackToAllowFrom:e.groupAllowFromFallbackToAllowFrom??void 0}))}}const $={GROUP_POLICY_ALLOWED:`group_policy_allowed`,GROUP_POLICY_DISABLED:`group_policy_disabled`,GROUP_POLICY_EMPTY_ALLOWLIST:`group_policy_empty_allowlist`,GROUP_POLICY_NOT_ALLOWLISTED:`group_policy_not_allowlisted`,DM_POLICY_OPEN:`dm_policy_open`,DM_POLICY_DISABLED:`dm_policy_disabled`,DM_POLICY_ALLOWLISTED:`dm_policy_allowlisted`,DM_POLICY_PAIRING_REQUIRED:`dm_policy_pairing_required`,DM_POLICY_NOT_ALLOWLISTED:`dm_policy_not_allowlisted`};function ar(e){let t=e.dmPolicy??`pairing`,n=e.groupPolicy===`open`||e.groupPolicy===`disabled`?e.groupPolicy:`allowlist`,r=Q(e.effectiveAllowFrom),i=Q(e.effectiveGroupAllowFrom);if(e.isGroup){let t=rr({groupPolicy:n,allowlistConfigured:i.length>0,allowlistMatched:e.isSenderAllowed(i)});if(!t.allowed){if(t.reason===`disabled`)return{decision:`block`,reasonCode:$.GROUP_POLICY_DISABLED,reason:`groupPolicy=disabled`};if(t.reason===`empty_allowlist`)return{decision:`block`,reasonCode:$.GROUP_POLICY_EMPTY_ALLOWLIST,reason:`groupPolicy=allowlist (empty allowlist)`};if(t.reason===`not_allowlisted`)return{decision:`block`,reasonCode:$.GROUP_POLICY_NOT_ALLOWLISTED,reason:`groupPolicy=allowlist (not allowlisted)`}}return{decision:`allow`,reasonCode:$.GROUP_POLICY_ALLOWED,reason:`groupPolicy=${n}`}}return t===`disabled`?{decision:`block`,reasonCode:$.DM_POLICY_DISABLED,reason:`dmPolicy=disabled`}:t===`open`?{decision:`allow`,reasonCode:$.DM_POLICY_OPEN,reason:`dmPolicy=open`}:e.isSenderAllowed(r)?{decision:`allow`,reasonCode:$.DM_POLICY_ALLOWLISTED,reason:`dmPolicy=${t} (allowlisted)`}:t===`pairing`?{decision:`pairing`,reasonCode:$.DM_POLICY_PAIRING_REQUIRED,reason:`dmPolicy=pairing (not allowlisted)`}:{decision:`block`,reasonCode:$.DM_POLICY_NOT_ALLOWLISTED,reason:`dmPolicy=${t} (not allowlisted)`}}function or(e){let{effectiveAllowFrom:t,effectiveGroupAllowFrom:n}=ir({allowFrom:e.allowFrom,groupAllowFrom:e.groupAllowFrom,storeAllowFrom:e.storeAllowFrom,dmPolicy:e.dmPolicy,groupAllowFromFallbackToAllowFrom:e.groupAllowFromFallbackToAllowFrom});return{...ar({isGroup:e.isGroup,dmPolicy:e.dmPolicy,groupPolicy:e.groupPolicy,effectiveAllowFrom:t,effectiveGroupAllowFrom:n,isSenderAllowed:e.isSenderAllowed}),effectiveAllowFrom:t,effectiveGroupAllowFrom:n}}function sr(e){return e.isGroup?`allowed`:e.dmPolicy===`disabled`?`disabled`:e.dmPolicy!==`open`&&!e.senderAllowedForCommands?`unauthorized`:`allowed`}async function cr(e){return lr({...e,shouldComputeCommandAuthorized:e.runtime.shouldComputeCommandAuthorized,resolveCommandAuthorizedFromAuthorizers:e.runtime.resolveCommandAuthorizedFromAuthorizers})}async function lr(e){let t=e.shouldComputeCommandAuthorized(e.rawBody,e.cfg),n=!e.isGroup&&e.dmPolicy!==`allowlist`&&(e.dmPolicy!==`open`||t)?await e.readAllowFromStore().catch(()=>[]):[],r=or({isGroup:e.isGroup,dmPolicy:e.dmPolicy,groupPolicy:`allowlist`,allowFrom:e.configuredAllowFrom,groupAllowFrom:e.configuredGroupAllowFrom??[],storeAllowFrom:n,isSenderAllowed:t=>e.isSenderAllowed(e.senderId,t)}),i=r.effectiveAllowFrom,a=r.effectiveGroupAllowFrom,o=e.cfg.commands?.useAccessGroups!==!1,s=e.isSenderAllowed(e.senderId,e.isGroup?a:i),c=e.isSenderAllowed(e.senderId,i),l=e.isSenderAllowed(e.senderId,a);return{shouldComputeAuth:t,effectiveAllowFrom:i,effectiveGroupAllowFrom:a,senderAllowedForCommands:s,commandAuthorized:t?e.resolveCommandAuthorizedFromAuthorizers({useAccessGroups:o,authorizers:[{configured:i.length>0,allowed:c},{configured:a.length>0,allowed:l}]}):void 0}}export{D as DEFAULT_ACCOUNT_ID,Ue as buildChannelConfigSchema,Ke as createTypingCallbacks,Ze as emptyPluginConfigSchema,st as normalizeAccountId,sr as resolveDirectDmAuthorizationOutcome,Ye as resolvePreferredOpenClawTmpDir,cr as resolveSenderCommandAuthorizationWithRuntime,ut as stripMarkdown,xt as withFileLock};
|
|
4
|
+
//# sourceMappingURL=weixin.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
require(`./paths-BvlJvmRS.cjs`),require(`./paths-BPlgbwrb.cjs`);const e=require(`./config-rBz8C_Hi.cjs`);require(`./github-copilot-token-TMkfxxD2.cjs`),require(`./logger-Bm93ZKOk.cjs`),require(`./proxy-env-Bcl14j2_.cjs`),require(`./fetch-guard-DY9jpsXo.cjs`),require(`./local-roots-wTkpE7go.cjs`),require(`./ir-DAxY-7c1.cjs`),require(`./render-CzHaQB0d.cjs`),require(`./tables-Bp0a2WRP.cjs`);const t=require(`./target-errors-Dd6CopYF.cjs`),n=require(`./resolve-outbound-target-cDxjy3TL.cjs`),r=require(`./outbound-Bs2rUcWZ.cjs`);function i(r){let i=e.Ha({cfg:r.cfg,accountId:r.accountId}),a=n.t({to:r.chatJid,allowFrom:i.allowFrom??[],mode:`implicit`});if(!a.ok)throw new t.i(`WhatsApp ${r.actionLabel} blocked: chatJid "${r.chatJid}" is not in the configured allowFrom list for account "${i.accountId}".`);return{to:a.to,accountId:i.accountId}}async function a(e,n){let a=t.h(e,`action`,{required:!0}),o=t.o(n.channels?.whatsapp?.actions);if(a===`react`){if(!o(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let a=t.h(e,`chatJid`,{required:!0}),s=t.h(e,`messageId`,{required:!0}),{emoji:c,remove:l,isEmpty:u}=t.f(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),d=t.h(e,`participant`),f=t.h(e,`accountId`),p=e.fromMe,m=typeof p==`boolean`?p:void 0,h=i({cfg:n,chatJid:a,accountId:f,actionLabel:`reaction`}),g=l?``:c;return await r.r(h.to,s,g,{verbose:!1,fromMe:m,participant:d??void 0,accountId:h.accountId}),!l&&!u?t.l({ok:!0,added:c}):t.l({ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${a}`)}exports.handleWhatsAppAction=a;
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-Bhz2j1uz.cjs.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
require(`./paths-Bcdg3ma0.cjs`),require(`./paths-CIcxeNL-.cjs`),require(`./utils-PPIvU9qw.cjs`);const e=require(`./model-auth-BwajGuoF.cjs`),t=require(`./target-errors-9cdJA1L2.cjs`);require(`./proxy-env-D48qBPAr.cjs`),require(`./github-copilot-token-C1O2cBqk.cjs`),require(`./fetch-guard-DLNzldn9.cjs`),require(`./local-roots-D4i3H0UG.cjs`),require(`./ir-DSuLr2UE.cjs`),require(`./render-g5VlmgpF.cjs`),require(`./tables-Bk8lHaPx.cjs`);const n=require(`./outbound-9XFlZzaF.cjs`);function r(n){let r=n.to?.trim()??``,i=(n.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(t=>e.rc(t)).filter(e=>!!e);if(r){let n=e.rc(r);return n&&(e.nc(n)||a||o.length===0||o.includes(n))?{ok:!0,to:n}:{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}function i(n){let i=e.zs({cfg:n.cfg,accountId:n.accountId}),a=r({to:n.chatJid,allowFrom:i.allowFrom??[],mode:`implicit`});if(!a.ok)throw new t.i(`WhatsApp ${n.actionLabel} blocked: chatJid "${n.chatJid}" is not in the configured allowFrom list for account "${i.accountId}".`);return{to:a.to,accountId:i.accountId}}async function a(e,r){let a=t.h(e,`action`,{required:!0}),o=t.o(r.channels?.whatsapp?.actions);if(a===`react`){if(!o(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let a=t.h(e,`chatJid`,{required:!0}),s=t.h(e,`messageId`,{required:!0}),{emoji:c,remove:l,isEmpty:u}=t.f(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),d=t.h(e,`participant`),f=t.h(e,`accountId`),p=e.fromMe,m=typeof p==`boolean`?p:void 0,h=i({cfg:r,chatJid:a,accountId:f,actionLabel:`reaction`}),g=l?``:c;return await n.r(h.to,s,g,{verbose:!1,fromMe:m,participant:d??void 0,accountId:h.accountId}),!l&&!u?t.l({ok:!0,added:c}):t.l({ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${a}`)}exports.handleWhatsAppAction=a;
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-Bm2UyRYg.cjs.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import"./paths-Do0djuaj.js";import{Hn as e,ir as t,rr as n}from"./model-auth-CycDtQl-.js";import"./logger-DJGHvDbX.js";import"./paths-CtrEseGU.js";import"./proxy-env-MEjSyzTr.js";import"./github-copilot-token-vKAKX6iE.js";import"./fetch-guard-_fifU0fX.js";import"./local-roots-D0yN794S.js";import"./ir-Dgc6qZMX.js";import"./render-DhTJXP1U.js";import{f as r,h as i,i as a,l as o,n as s,o as c}from"./target-errors-BZRN-lPd.js";import"./tables-BlNIkMV8.js";import{r as l}from"./outbound-CzsdW5sy.js";function u(e){let r=e.to?.trim()??``,i=(e.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(e=>t(e)).filter(e=>!!e);if(r){let e=t(r);return e&&(n(e)||a||o.length===0||o.includes(e))?{ok:!0,to:e}:{ok:!1,error:s(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:s(`WhatsApp`,`<E.164|group JID>`)}}function d(t){let n=e({cfg:t.cfg,accountId:t.accountId}),r=u({to:t.chatJid,allowFrom:n.allowFrom??[],mode:`implicit`});if(!r.ok)throw new a(`WhatsApp ${t.actionLabel} blocked: chatJid "${t.chatJid}" is not in the configured allowFrom list for account "${n.accountId}".`);return{to:r.to,accountId:n.accountId}}async function f(e,t){let n=i(e,`action`,{required:!0}),a=c(t.channels?.whatsapp?.actions);if(n===`react`){if(!a(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let n=i(e,`chatJid`,{required:!0}),s=i(e,`messageId`,{required:!0}),{emoji:c,remove:u,isEmpty:f}=r(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),p=i(e,`participant`),m=i(e,`accountId`),h=e.fromMe,g=typeof h==`boolean`?h:void 0,_=d({cfg:t,chatJid:n,accountId:m,actionLabel:`reaction`}),v=u?``:c;return await l(_.to,s,v,{verbose:!1,fromMe:g,participant:p??void 0,accountId:_.accountId}),o(!u&&!f?{ok:!0,added:c}:{ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${n}`)}export{f as handleWhatsAppAction};
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-Bolz0jl5.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import"./paths-J4JUiRsa.js";import{Va as e}from"./config-ByA2hluR.js";import"./paths-DaRoqzBQ.js";import"./github-copilot-token-C1hiDugd.js";import"./logger-BtrWb0dj.js";import"./proxy-env-t6hcaFqC.js";import"./fetch-guard-DbOZYxyN.js";import"./local-roots-5udQUs81.js";import"./ir-Bh6lKGdS.js";import"./render-DGmfCIRG.js";import"./tables-DtslIPYw.js";import{f as t,h as n,i as r,l as i,o as a}from"./target-errors-DFmK5loi.js";import{t as o}from"./resolve-outbound-target-CrQGbaua.js";import{r as s}from"./outbound-dTvIiFIZ.js";function c(t){let n=e({cfg:t.cfg,accountId:t.accountId}),i=o({to:t.chatJid,allowFrom:n.allowFrom??[],mode:`implicit`});if(!i.ok)throw new r(`WhatsApp ${t.actionLabel} blocked: chatJid "${t.chatJid}" is not in the configured allowFrom list for account "${n.accountId}".`);return{to:i.to,accountId:n.accountId}}async function l(e,r){let o=n(e,`action`,{required:!0}),l=a(r.channels?.whatsapp?.actions);if(o===`react`){if(!l(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let a=n(e,`chatJid`,{required:!0}),o=n(e,`messageId`,{required:!0}),{emoji:u,remove:d,isEmpty:f}=t(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),p=n(e,`participant`),m=n(e,`accountId`),h=e.fromMe,g=typeof h==`boolean`?h:void 0,_=c({cfg:r,chatJid:a,accountId:m,actionLabel:`reaction`}),v=d?``:u;return await s(_.to,o,v,{verbose:!1,fromMe:g,participant:p??void 0,accountId:_.accountId}),i(!d&&!f?{ok:!0,added:u}:{ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${o}`)}export{l as handleWhatsAppAction};
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-CJ3LDpaG.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import"./paths-D55o_j8-.js";import{Wn as e,ar as t,or as n}from"./model-auth-Cc-8H6Cu.js";import"./logger-C210xuWx.js";import"./paths-DhSjTRMz.js";import"./proxy-env-BlrHtJWH.js";import"./github-copilot-token-ylX_gawo.js";import"./fetch-guard-DE9BslxX.js";import"./local-roots-bWA2msT0.js";import"./ir-hQ6EW92h.js";import"./render-DhTJXP1U.js";import{f as r,h as i,i as a,l as o,n as s,o as c}from"./target-errors-Buo5pfom.js";import"./tables-lbv-0tl3.js";import{r as l}from"./outbound-oHoWYWxf.js";function u(e){let r=e.to?.trim()??``,i=(e.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(e=>n(e)).filter(e=>!!e);if(r){let e=n(r);return e&&(t(e)||a||o.length===0||o.includes(e))?{ok:!0,to:e}:{ok:!1,error:s(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:s(`WhatsApp`,`<E.164|group JID>`)}}function d(t){let n=e({cfg:t.cfg,accountId:t.accountId}),r=u({to:t.chatJid,allowFrom:n.allowFrom??[],mode:`implicit`});if(!r.ok)throw new a(`WhatsApp ${t.actionLabel} blocked: chatJid "${t.chatJid}" is not in the configured allowFrom list for account "${n.accountId}".`);return{to:r.to,accountId:n.accountId}}async function f(e,t){let n=i(e,`action`,{required:!0}),a=c(t.channels?.whatsapp?.actions);if(n===`react`){if(!a(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let n=i(e,`chatJid`,{required:!0}),s=i(e,`messageId`,{required:!0}),{emoji:c,remove:u,isEmpty:f}=r(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),p=i(e,`participant`),m=i(e,`accountId`),h=e.fromMe,g=typeof h==`boolean`?h:void 0,_=d({cfg:t,chatJid:n,accountId:m,actionLabel:`reaction`}),v=u?``:c;return await l(_.to,s,v,{verbose:!1,fromMe:g,participant:p??void 0,accountId:_.accountId}),o(!u&&!f?{ok:!0,added:c}:{ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${n}`)}export{f as handleWhatsAppAction};
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-CL1Gmkb0.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import"./paths-cBAF6Bj0.js";import{ws as e}from"./sessions-DxXXAfdI.js";import"./logger-vBDTZWl3.js";import"./paths-CnHSNSeR.js";import"./proxy-env-B765haXA.js";import{f as t,l as n,o as r,r as i,t as a}from"./common-B6fDMl_i.js";import{t as o}from"./resolve-outbound-target-H7Q9HcfW.js";import"./github-copilot-token-N8vnLZPw.js";import"./fetch-guard-CY03i4gu.js";import"./local-roots-tee85Q-1.js";import"./ir-OBi5zaEW.js";import"./render-CBsnn-2A.js";import"./tables-BIDWwpX8.js";import{r as s}from"./outbound-C18nEOFP.js";function c(t){let n=e({cfg:t.cfg,accountId:t.accountId}),r=o({to:t.chatJid,allowFrom:n.allowFrom??[],mode:`implicit`});if(!r.ok)throw new a(`WhatsApp ${t.actionLabel} blocked: chatJid "${t.chatJid}" is not in the configured allowFrom list for account "${n.accountId}".`);return{to:r.to,accountId:n.accountId}}async function l(e,a){let o=t(e,`action`,{required:!0}),l=i(a.channels?.whatsapp?.actions);if(o===`react`){if(!l(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let i=t(e,`chatJid`,{required:!0}),o=t(e,`messageId`,{required:!0}),{emoji:u,remove:d,isEmpty:f}=n(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),p=t(e,`participant`),m=t(e,`accountId`),h=e.fromMe,g=typeof h==`boolean`?h:void 0,_=c({cfg:a,chatJid:i,accountId:m,actionLabel:`reaction`}),v=d?``:u;return await s(_.to,o,v,{verbose:!1,fromMe:g,participant:p??void 0,accountId:_.accountId}),r(!d&&!f?{ok:!0,added:u}:{ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${o}`)}export{l as handleWhatsAppAction};
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-D-bZRT7s.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
require(`./paths-Bcdg3ma0.cjs`),require(`./paths-Dd7r1qlB.cjs`);const e=require(`./model-auth-D-7xiXhK.cjs`);require(`./logger-6O6OsYBL.cjs`),require(`./proxy-env-k93igu7v.cjs`),require(`./github-copilot-token-BHdMLLqf.cjs`),require(`./fetch-guard-8I7EHbDM.cjs`),require(`./local-roots-CeAYfmPb.cjs`),require(`./ir-DanxCjD-.cjs`),require(`./render-DxBO2Blp.cjs`);const t=require(`./target-errors-BEkhKWCq.cjs`);require(`./tables-NrdtIJGp.cjs`);const n=require(`./outbound-fZ1WJGfe.cjs`);function r(n){let r=n.to?.trim()??``,i=(n.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(t=>e.sr(t)).filter(e=>!!e);if(r){let n=e.sr(r);return n&&(e.or(n)||a||o.length===0||o.includes(n))?{ok:!0,to:n}:{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}function i(n){let i=e.Gn({cfg:n.cfg,accountId:n.accountId}),a=r({to:n.chatJid,allowFrom:i.allowFrom??[],mode:`implicit`});if(!a.ok)throw new t.i(`WhatsApp ${n.actionLabel} blocked: chatJid "${n.chatJid}" is not in the configured allowFrom list for account "${i.accountId}".`);return{to:a.to,accountId:i.accountId}}async function a(e,r){let a=t.h(e,`action`,{required:!0}),o=t.o(r.channels?.whatsapp?.actions);if(a===`react`){if(!o(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let a=t.h(e,`chatJid`,{required:!0}),s=t.h(e,`messageId`,{required:!0}),{emoji:c,remove:l,isEmpty:u}=t.f(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),d=t.h(e,`participant`),f=t.h(e,`accountId`),p=e.fromMe,m=typeof p==`boolean`?p:void 0,h=i({cfg:r,chatJid:a,accountId:f,actionLabel:`reaction`}),g=l?``:c;return await n.r(h.to,s,g,{verbose:!1,fromMe:m,participant:d??void 0,accountId:h.accountId}),!l&&!u?t.l({ok:!0,added:c}):t.l({ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${a}`)}exports.handleWhatsAppAction=a;
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-DSGTTE8M.cjs.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
require(`./paths-BvlJvmRS.cjs`),require(`./paths-Chp3zwtq.cjs`),require(`./logger-BlddiV_d.cjs`);const e=require(`./model-auth-BpS4IWDi.cjs`);require(`./proxy-env-DWw9TnOj.cjs`),require(`./github-copilot-token-DoHgkI2r.cjs`),require(`./fetch-guard-Cz-cgYmR.cjs`),require(`./local-roots-C5UoE741.cjs`),require(`./ir-CZOtKajq.cjs`),require(`./render-DxBO2Blp.cjs`);const t=require(`./target-errors-BrwqillR.cjs`);require(`./tables-CZGtYzDC.cjs`);const n=require(`./outbound-DcP22VOo.cjs`);function r(n){let r=n.to?.trim()??``,i=(n.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(t=>e.qs(t)).filter(e=>!!e);if(r){let n=e.qs(r);return n&&(e.Ks(n)||a||o.length===0||o.includes(n))?{ok:!0,to:n}:{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}function i(n){let i=e.js({cfg:n.cfg,accountId:n.accountId}),a=r({to:n.chatJid,allowFrom:i.allowFrom??[],mode:`implicit`});if(!a.ok)throw new t.i(`WhatsApp ${n.actionLabel} blocked: chatJid "${n.chatJid}" is not in the configured allowFrom list for account "${i.accountId}".`);return{to:a.to,accountId:i.accountId}}async function a(e,r){let a=t.h(e,`action`,{required:!0}),o=t.o(r.channels?.whatsapp?.actions);if(a===`react`){if(!o(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let a=t.h(e,`chatJid`,{required:!0}),s=t.h(e,`messageId`,{required:!0}),{emoji:c,remove:l,isEmpty:u}=t.f(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),d=t.h(e,`participant`),f=t.h(e,`accountId`),p=e.fromMe,m=typeof p==`boolean`?p:void 0,h=i({cfg:r,chatJid:a,accountId:f,actionLabel:`reaction`}),g=l?``:c;return await n.r(h.to,s,g,{verbose:!1,fromMe:m,participant:d??void 0,accountId:h.accountId}),!l&&!u?t.l({ok:!0,added:c}):t.l({ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${a}`)}exports.handleWhatsAppAction=a;
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-DjQxgMpW.cjs.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
require(`./paths-Bcdg3ma0.cjs`),require(`./paths-Cqca1YmF.cjs`);const e=require(`./model-auth-TFUxaK0f.cjs`);require(`./logger-DPlqYkRm.cjs`),require(`./proxy-env-a590sPAz.cjs`),require(`./github-copilot-token-CCrgp2py.cjs`),require(`./fetch-guard-DB85MORy.cjs`),require(`./local-roots-BmhNPIJm.cjs`),require(`./ir-CveCWs8q.cjs`),require(`./render-DxBO2Blp.cjs`);const t=require(`./target-errors-DeNJ10ks.cjs`);require(`./tables-BtVUf77b.cjs`);const n=require(`./outbound-QhOJAEO8.cjs`);function r(n){let r=n.to?.trim()??``,i=(n.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(t=>e.ar(t)).filter(e=>!!e);if(r){let n=e.ar(r);return n&&(e.ir(n)||a||o.length===0||o.includes(n))?{ok:!0,to:n}:{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}function i(n){let i=e.Un({cfg:n.cfg,accountId:n.accountId}),a=r({to:n.chatJid,allowFrom:i.allowFrom??[],mode:`implicit`});if(!a.ok)throw new t.i(`WhatsApp ${n.actionLabel} blocked: chatJid "${n.chatJid}" is not in the configured allowFrom list for account "${i.accountId}".`);return{to:a.to,accountId:i.accountId}}async function a(e,r){let a=t.h(e,`action`,{required:!0}),o=t.o(r.channels?.whatsapp?.actions);if(a===`react`){if(!o(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let a=t.h(e,`chatJid`,{required:!0}),s=t.h(e,`messageId`,{required:!0}),{emoji:c,remove:l,isEmpty:u}=t.f(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),d=t.h(e,`participant`),f=t.h(e,`accountId`),p=e.fromMe,m=typeof p==`boolean`?p:void 0,h=i({cfg:r,chatJid:a,accountId:f,actionLabel:`reaction`}),g=l?``:c;return await n.r(h.to,s,g,{verbose:!1,fromMe:m,participant:d??void 0,accountId:h.accountId}),!l&&!u?t.l({ok:!0,added:c}):t.l({ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${a}`)}exports.handleWhatsAppAction=a;
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-DrPBBi5t.cjs.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
require(`./paths-Bcdg3ma0.cjs`),require(`./paths-D90l3h_o.cjs`);const e=require(`./sessions-Dz5JUL8j.cjs`);require(`./logger-DUYnS-W3.cjs`),require(`./proxy-env-DQoJjkWE.cjs`);const t=require(`./common-B4iFXuoZ.cjs`),n=require(`./resolve-outbound-target-MS6Xpp17.cjs`);require(`./github-copilot-token-zskwAEpd.cjs`),require(`./fetch-guard-CIJUkBIL.cjs`),require(`./local-roots-Cu7YCpql.cjs`),require(`./ir-C3VNqnc2.cjs`),require(`./render-6fCdtAr6.cjs`),require(`./tables-CnrHab5d.cjs`);const r=require(`./outbound-CW3o4Eng.cjs`);function i(r){let i=e.Os({cfg:r.cfg,accountId:r.accountId}),a=n.t({to:r.chatJid,allowFrom:i.allowFrom??[],mode:`implicit`});if(!a.ok)throw new t.t(`WhatsApp ${r.actionLabel} blocked: chatJid "${r.chatJid}" is not in the configured allowFrom list for account "${i.accountId}".`);return{to:a.to,accountId:i.accountId}}async function a(e,n){let a=t.f(e,`action`,{required:!0}),o=t.r(n.channels?.whatsapp?.actions);if(a===`react`){if(!o(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let a=t.f(e,`chatJid`,{required:!0}),s=t.f(e,`messageId`,{required:!0}),{emoji:c,remove:l,isEmpty:u}=t.l(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),d=t.f(e,`participant`),f=t.f(e,`accountId`),p=e.fromMe,m=typeof p==`boolean`?p:void 0,h=i({cfg:n,chatJid:a,accountId:f,actionLabel:`reaction`}),g=l?``:c;return await r.r(h.to,s,g,{verbose:!1,fromMe:m,participant:d??void 0,accountId:h.accountId}),!l&&!u?t.o({ok:!0,added:c}):t.o({ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${a}`)}exports.handleWhatsAppAction=a;
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-DtK657CZ.cjs.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import"./paths-CXgWvWAM.js";import"./utils-BJtJR72k.js";import"./paths-rO4ehkyU.js";import{$s as e,Fs as t,Qs as n}from"./model-auth-Cw3fuhm_.js";import{f as r,h as i,i as a,l as o,n as s,o as c}from"./target-errors-DXqwykNX.js";import"./proxy-env-m9eG3uZN.js";import"./github-copilot-token-C8j8_NjX.js";import"./fetch-guard-DXe8oqEE.js";import"./local-roots-Ca8KoAAp.js";import"./ir-8rDh7div.js";import"./render-Djx15dPh.js";import"./tables-XYb3T-vE.js";import{r as l}from"./outbound-BlWsUmjQ.js";function u(t){let r=t.to?.trim()??``,i=(t.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(t=>e(t)).filter(e=>!!e);if(r){let t=e(r);return t&&(n(t)||a||o.length===0||o.includes(t))?{ok:!0,to:t}:{ok:!1,error:s(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:s(`WhatsApp`,`<E.164|group JID>`)}}function d(e){let n=t({cfg:e.cfg,accountId:e.accountId}),r=u({to:e.chatJid,allowFrom:n.allowFrom??[],mode:`implicit`});if(!r.ok)throw new a(`WhatsApp ${e.actionLabel} blocked: chatJid "${e.chatJid}" is not in the configured allowFrom list for account "${n.accountId}".`);return{to:r.to,accountId:n.accountId}}async function f(e,t){let n=i(e,`action`,{required:!0}),a=c(t.channels?.whatsapp?.actions);if(n===`react`){if(!a(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let n=i(e,`chatJid`,{required:!0}),s=i(e,`messageId`,{required:!0}),{emoji:c,remove:u,isEmpty:f}=r(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),p=i(e,`participant`),m=i(e,`accountId`),h=e.fromMe,g=typeof h==`boolean`?h:void 0,_=d({cfg:t,chatJid:n,accountId:m,actionLabel:`reaction`}),v=u?``:c;return await l(_.to,s,v,{verbose:!1,fromMe:g,participant:p??void 0,accountId:_.accountId}),o(!u&&!f?{ok:!0,added:c}:{ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${n}`)}export{f as handleWhatsAppAction};
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-Xwev51_N.js.map
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
import"./paths-piJASC5k.js";import"./paths-BpQOWYiT.js";import"./logger-DwWqfo66.js";import{Ds as e,Hs as t,Us as n}from"./model-auth-C1YL9HcW.js";import"./proxy-env-DGzNnnJh.js";import"./github-copilot-token-Bt4PduRB.js";import"./fetch-guard-DSvAbvSx.js";import"./local-roots-DGe-SRNu.js";import"./ir-ynWQeZD9.js";import"./render-DhTJXP1U.js";import{f as r,h as i,i as a,l as o,n as s,o as c}from"./target-errors-CFzzcffg.js";import"./tables-C4j5Bar_.js";import{r as l}from"./outbound-2Lo6mZEY.js";function u(e){let r=e.to?.trim()??``,i=(e.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(e=>n(e)).filter(e=>!!e);if(r){let e=n(r);return e&&(t(e)||a||o.length===0||o.includes(e))?{ok:!0,to:e}:{ok:!1,error:s(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:s(`WhatsApp`,`<E.164|group JID>`)}}function d(t){let n=e({cfg:t.cfg,accountId:t.accountId}),r=u({to:t.chatJid,allowFrom:n.allowFrom??[],mode:`implicit`});if(!r.ok)throw new a(`WhatsApp ${t.actionLabel} blocked: chatJid "${t.chatJid}" is not in the configured allowFrom list for account "${n.accountId}".`);return{to:r.to,accountId:n.accountId}}async function f(e,t){let n=i(e,`action`,{required:!0}),a=c(t.channels?.whatsapp?.actions);if(n===`react`){if(!a(`reactions`))throw Error(`WhatsApp reactions are disabled.`);let n=i(e,`chatJid`,{required:!0}),s=i(e,`messageId`,{required:!0}),{emoji:c,remove:u,isEmpty:f}=r(e,{removeErrorMessage:`Emoji is required to remove a WhatsApp reaction.`}),p=i(e,`participant`),m=i(e,`accountId`),h=e.fromMe,g=typeof h==`boolean`?h:void 0,_=d({cfg:t,chatJid:n,accountId:m,actionLabel:`reaction`}),v=u?``:c;return await l(_.to,s,v,{verbose:!1,fromMe:g,participant:p??void 0,accountId:_.accountId}),o(!u&&!f?{ok:!0,added:c}:{ok:!0,removed:!0})}throw Error(`Unsupported WhatsApp action: ${n}`)}export{f as handleWhatsAppAction};
|
|
2
|
+
//# sourceMappingURL=whatsapp-actions-m7vLtNAA.js.map
|
|
@@ -2,3 +2,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
|
|
|
2
2
|
`),e.title),r}function R(e){let t=D(e);if(t.length===0)return{entries:[]};let n=[];for(let e of t){if(e===`*`){n.push(`*`);continue}let t=r.h(e);if(!t)return{entries:[],invalidEntry:e};n.push(t)}return{entries:O(n,r.h)}}async function z(e,t,n,i){let a=e.channels?.whatsapp?.dmPolicy??`pairing`,o=e.channels?.whatsapp?.allowFrom??[],c=o.length>0?o.join(`, `):`unset`;if(i?.forceAllowlist)return await L({cfg:e,prompter:n,existingAllowFrom:o,title:`WhatsApp allowlist`,messageLines:[`Allowlist mode enabled.`]});if(await n.note(["WhatsApp direct chats are gated by `channels.whatsapp.dmPolicy` + `channels.whatsapp.allowFrom`.",`- pairing (default): unknown senders get a pairing code; owner approves`,`- allowlist: unknown senders are blocked`,`- open: public inbound DMs (requires allowFrom to include "*")`,`- disabled: ignore WhatsApp DMs`,``,`Current: dmPolicy=${a}, allowFrom=${c}`,`Docs: ${s.r(`/whatsapp`,`whatsapp`)}`].join(`
|
|
3
3
|
`),`WhatsApp DM access`),await n.select({message:`WhatsApp phone setup`,options:[{value:`personal`,label:`This is my personal phone number`},{value:`separate`,label:`Separate phone just for OpenClaw`}]})===`personal`)return await L({cfg:e,prompter:n,existingAllowFrom:o,title:`WhatsApp personal phone`,messageLines:[`Personal phone mode enabled.`,`- dmPolicy set to allowlist (pairing skipped)`]});let l=await n.select({message:`WhatsApp DM policy`,options:[{value:`pairing`,label:`Pairing (recommended)`},{value:`allowlist`,label:`Allowlist only (block unknown senders)`},{value:`open`,label:`Open (public inbound DMs)`},{value:`disabled`,label:`Disabled (ignore WhatsApp DMs)`}]}),u=P(e,!1);if(u=M(u,l),l===`open`){let e=O([`*`,...o],r.h);return u=N(u,e.length>0?e:[`*`]),u}if(l===`disabled`)return u;let d=o.length>0?[{value:`keep`,label:`Keep current allowFrom`},{value:`unset`,label:`Unset allowFrom (use pairing approvals only)`},{value:`list`,label:`Set allowFrom to specific numbers`}]:[{value:`unset`,label:`Unset allowFrom (default)`},{value:`list`,label:`Set allowFrom to specific numbers`}],f=await n.select({message:`WhatsApp allowFrom (optional pre-allowlist)`,options:d.map(e=>({value:e.value,label:e.label}))});if(f!==`keep`)if(f===`unset`)u=N(u,void 0);else{let e=await n.text({message:`Allowed sender numbers (comma-separated, E.164)`,placeholder:`+15555550123, +447700900123`,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;let n=R(t);if(n.entries.length===0&&!n.invalidEntry)return`Required`;if(n.invalidEntry)return`Invalid number: ${n.invalidEntry}`}}),t=R(String(e));u=N(u,t.entries)}return u}const B={channel:j,getStatus:async({cfg:e,accountOverrides:t})=>{let r=n.Ds(e),i=k({accountId:t.whatsapp,defaultAccountId:r}),a=await F(e,i);return{channel:j,configured:a,statusLines:[`WhatsApp (${i===`default`?`default`:i}): ${a?`linked`:`not linked`}`],selectionHint:a?`linked`:`not linked`,quickstartScore:a?5:4}},configure:async({cfg:e,runtime:t,prompter:r,options:i,accountOverrides:a,shouldPromptAccountIds:o,forceAllowFrom:c})=>{let u=await A({cfg:e,prompter:r,label:`WhatsApp`,accountOverride:a.whatsapp,shouldPromptAccountIds:!!(o||i?.promptWhatsAppAccountId),listAccountIds:n.Es,defaultAccountId:n.Ds(e)}),d=e;u!==`default`&&(d={...d,channels:{...d.channels,whatsapp:{...d.channels?.whatsapp,accounts:{...d.channels?.whatsapp?.accounts,[u]:{...d.channels?.whatsapp?.accounts?.[u],enabled:d.channels?.whatsapp?.accounts?.[u]?.enabled??!0}}}}});let f=await F(d,u),{authDir:p}=n.ks({cfg:d,accountId:u});if(f||await r.note([`Scan the QR with WhatsApp on your phone.`,`Credentials are stored under ${p}/ for future runs.`,`Docs: ${s.r(`/whatsapp`,`whatsapp`)}`].join(`
|
|
4
4
|
`),`WhatsApp linking`),await r.confirm({message:f?`WhatsApp already linked. Re-link now?`:`Link WhatsApp now (QR)?`,initialValue:!f}))try{await l.t(!1,void 0,t,u)}catch(e){t.error(`WhatsApp login failed: ${String(e)}`),await r.note(`Docs: ${s.r(`/whatsapp`,`whatsapp`)}`,`WhatsApp help`)}else f||await r.note(`Run \`${n.mc(`openclaw channels login`)}\` later to link WhatsApp.`,`WhatsApp`);return d=await z(d,t,r,{forceAllowlist:c}),{cfg:d,accountId:u}},onAccountRecorded:(e,t)=>{t?.onWhatsAppAccountId?.(e)}};function V(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function H(e){let t=[];for(let n of e.accounts){let r=e.readAccount(n);if(!r||r.enabled===!1)continue;let i=V(r.accountId)??`default`;e.collectIssues({account:r,accountId:i,issues:t})}return t}function U(e){return r.f(e)?{accountId:e.accountId,enabled:e.enabled,linked:e.linked,connected:e.connected,running:e.running,reconnectAttempts:e.reconnectAttempts,lastError:e.lastError}:null}function W(e){return H({accounts:e,readAccount:U,collectIssues:({account:e,accountId:t,issues:r})=>{let i=e.linked===!0,a=e.running===!0,o=e.connected===!0,s=typeof e.reconnectAttempts==`number`?e.reconnectAttempts:null,c=V(e.lastError);if(!i){r.push({channel:`whatsapp`,accountId:t,kind:`auth`,message:`Not linked (no WhatsApp Web session).`,fix:`Run: ${n.mc(`openclaw channels login`)} (scan QR on the gateway host).`});return}a&&!o&&r.push({channel:`whatsapp`,accountId:t,kind:`runtime`,message:`Linked but disconnected${s==null?``:` (reconnectAttempts=${s})`}${c?`: ${c}`:`.`}`,fix:`Run: ${n.mc(`openclaw doctor`)} (or restart the gateway). If it persists, relink via channels login and check logs.`})}})}exports.DEFAULT_ACCOUNT_ID=t.Rt,exports.WhatsAppConfigSchema=n.rt,exports.applyAccountNameToChannelSection=g,exports.buildChannelConfigSchema=y,exports.collectWhatsAppStatusIssues=W,exports.createActionGate=i.r,exports.emptyPluginConfigSchema=p,exports.formatPairingApproveHint=n.pc,exports.formatWhatsAppConfigAllowFromEntries=n.gs,exports.getChatChannelMeta=n.Gs,exports.listWhatsAppAccountIds=n.Es,exports.listWhatsAppDirectoryGroupsFromConfig=n.Wo,exports.listWhatsAppDirectoryPeersFromConfig=n.Go,exports.looksLikeWhatsAppTargetId=n.xs,exports.migrateBaseNameToDefaultAccount=_,exports.normalizeAccountId=t.zt,exports.normalizeE164=r.h,exports.normalizeWhatsAppMessagingTarget=n.Ss,exports.readStringParam=i.f,exports.resolveAllowlistProviderRuntimeGroupPolicy=o.Pt,exports.resolveDefaultGroupPolicy=o.Ft,exports.resolveDefaultWhatsAppAccountId=n.Ds,exports.resolveWhatsAppAccount=n.Os,exports.resolveWhatsAppConfigAllowFrom=n.vs,exports.resolveWhatsAppConfigDefaultTo=n.ys,exports.resolveWhatsAppGroupIntroHint=n.Fo,exports.resolveWhatsAppGroupRequireMention=n.Lo,exports.resolveWhatsAppGroupToolPolicy=n.Ro,exports.resolveWhatsAppHeartbeatRecipients=c.r,exports.resolveWhatsAppMentionStripPatterns=n.Io,exports.resolveWhatsAppOutboundTarget=a.t,exports.whatsappOnboardingAdapter=B;
|
|
5
|
+
//# sourceMappingURL=whatsapp.cjs.map
|
|
@@ -2,3 +2,4 @@ import{Rt as e,zt as t}from"./paths-cBAF6Bj0.js";import{Bo as n,Cs as r,Mo as i,
|
|
|
2
2
|
`),e.title),r}function Q(e){let t=H(e);if(t.length===0)return{entries:[]};let n=[];for(let e of t){if(e===`*`){n.push(`*`);continue}let t=b(e);if(!t)return{entries:[],invalidEntry:e};n.push(t)}return{entries:U(n,b)}}async function ce(e,t,n,r){let i=e.channels?.whatsapp?.dmPolicy??`pairing`,a=e.channels?.whatsapp?.allowFrom??[],o=a.length>0?a.join(`, `):`unset`;if(r?.forceAllowlist)return await Z({cfg:e,prompter:n,existingAllowFrom:a,title:`WhatsApp allowlist`,messageLines:[`Allowlist mode enabled.`]});if(await n.note(["WhatsApp direct chats are gated by `channels.whatsapp.dmPolicy` + `channels.whatsapp.allowFrom`.",`- pairing (default): unknown senders get a pairing code; owner approves`,`- allowlist: unknown senders are blocked`,`- open: public inbound DMs (requires allowFrom to include "*")`,`- disabled: ignore WhatsApp DMs`,``,`Current: dmPolicy=${i}, allowFrom=${o}`,`Docs: ${w(`/whatsapp`,`whatsapp`)}`].join(`
|
|
3
3
|
`),`WhatsApp DM access`),await n.select({message:`WhatsApp phone setup`,options:[{value:`personal`,label:`This is my personal phone number`},{value:`separate`,label:`Separate phone just for OpenClaw`}]})===`personal`)return await Z({cfg:e,prompter:n,existingAllowFrom:a,title:`WhatsApp personal phone`,messageLines:[`Personal phone mode enabled.`,`- dmPolicy set to allowlist (pairing skipped)`]});let s=await n.select({message:`WhatsApp DM policy`,options:[{value:`pairing`,label:`Pairing (recommended)`},{value:`allowlist`,label:`Allowlist only (block unknown senders)`},{value:`open`,label:`Open (public inbound DMs)`},{value:`disabled`,label:`Disabled (ignore WhatsApp DMs)`}]}),c=Y(e,!1);if(c=q(c,s),s===`open`){let e=U([`*`,...a],b);return c=J(c,e.length>0?e:[`*`]),c}if(s===`disabled`)return c;let l=a.length>0?[{value:`keep`,label:`Keep current allowFrom`},{value:`unset`,label:`Unset allowFrom (use pairing approvals only)`},{value:`list`,label:`Set allowFrom to specific numbers`}]:[{value:`unset`,label:`Unset allowFrom (default)`},{value:`list`,label:`Set allowFrom to specific numbers`}],u=await n.select({message:`WhatsApp allowFrom (optional pre-allowlist)`,options:l.map(e=>({value:e.value,label:e.label}))});if(u!==`keep`)if(u===`unset`)c=J(c,void 0);else{let e=await n.text({message:`Allowed sender numbers (comma-separated, E.164)`,placeholder:`+15555550123, +447700900123`,validate:e=>{let t=String(e??``).trim();if(!t)return`Required`;let n=Q(t);if(n.entries.length===0&&!n.invalidEntry)return`Required`;if(n.invalidEntry)return`Invalid number: ${n.invalidEntry}`}}),t=Q(String(e));c=J(c,t.entries)}return c}const le={channel:K,getStatus:async({cfg:e,accountOverrides:t})=>{let n=r(e),i=W({accountId:t.whatsapp,defaultAccountId:n}),a=await X(e,i);return{channel:K,configured:a,statusLines:[`WhatsApp (${i===`default`?`default`:i}): ${a?`linked`:`not linked`}`],selectionHint:a?`linked`:`not linked`,quickstartScore:a?5:4}},configure:async({cfg:e,runtime:t,prompter:n,options:i,accountOverrides:a,shouldPromptAccountIds:o,forceAllowFrom:l})=>{let u=await G({cfg:e,prompter:n,label:`WhatsApp`,accountOverride:a.whatsapp,shouldPromptAccountIds:!!(o||i?.promptWhatsAppAccountId),listAccountIds:s,defaultAccountId:r(e)}),d=e;u!==`default`&&(d={...d,channels:{...d.channels,whatsapp:{...d.channels?.whatsapp,accounts:{...d.channels?.whatsapp?.accounts,[u]:{...d.channels?.whatsapp?.accounts?.[u],enabled:d.channels?.whatsapp?.accounts?.[u]?.enabled??!0}}}}});let f=await X(d,u),{authDir:p}=c({cfg:d,accountId:u});if(f||await n.note([`Scan the QR with WhatsApp on your phone.`,`Credentials are stored under ${p}/ for future runs.`,`Docs: ${w(`/whatsapp`,`whatsapp`)}`].join(`
|
|
4
4
|
`),`WhatsApp linking`),await n.confirm({message:f?`WhatsApp already linked. Re-link now?`:`Link WhatsApp now (QR)?`,initialValue:!f}))try{await T(!1,void 0,t,u)}catch(e){t.error(`WhatsApp login failed: ${String(e)}`),await n.note(`Docs: ${w(`/whatsapp`,`whatsapp`)}`,`WhatsApp help`)}else f||await n.note(`Run \`${_(`openclaw channels login`)}\` later to link WhatsApp.`,`WhatsApp`);return d=await ce(d,t,n,{forceAllowlist:l}),{cfg:d,accountId:u}},onAccountRecorded:(e,t)=>{t?.onWhatsAppAccountId?.(e)}};function $(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function ue(e){let t=[];for(let n of e.accounts){let r=e.readAccount(n);if(!r||r.enabled===!1)continue;let i=$(r.accountId)??`default`;e.collectIssues({account:r,accountId:i,issues:t})}return t}function de(e){return v(e)?{accountId:e.accountId,enabled:e.enabled,linked:e.linked,connected:e.connected,running:e.running,reconnectAttempts:e.reconnectAttempts,lastError:e.lastError}:null}function fe(e){return ue({accounts:e,readAccount:de,collectIssues:({account:e,accountId:t,issues:n})=>{let r=e.linked===!0,i=e.running===!0,a=e.connected===!0,o=typeof e.reconnectAttempts==`number`?e.reconnectAttempts:null,s=$(e.lastError);if(!r){n.push({channel:`whatsapp`,accountId:t,kind:`auth`,message:`Not linked (no WhatsApp Web session).`,fix:`Run: ${_(`openclaw channels login`)} (scan QR on the gateway host).`});return}i&&!a&&n.push({channel:`whatsapp`,accountId:t,kind:`runtime`,message:`Linked but disconnected${o==null?``:` (reconnectAttempts=${o})`}${s?`: ${s}`:`.`}`,fix:`Run: ${_(`openclaw doctor`)} (or restart the gateway). If it persists, relink via channels login and check logs.`})}})}export{e as DEFAULT_ACCOUNT_ID,g as WhatsAppConfigSchema,M as applyAccountNameToChannelSection,F as buildChannelConfigSchema,fe as collectWhatsAppStatusIssues,S as createActionGate,k as emptyPluginConfigSchema,ee as formatPairingApproveHint,f as formatWhatsAppConfigAllowFromEntries,u as getChatChannelMeta,s as listWhatsAppAccountIds,n as listWhatsAppDirectoryGroupsFromConfig,l as listWhatsAppDirectoryPeersFromConfig,d as looksLikeWhatsAppTargetId,N as migrateBaseNameToDefaultAccount,t as normalizeAccountId,b as normalizeE164,te as normalizeWhatsAppMessagingTarget,x as readStringParam,ie as resolveAllowlistProviderRuntimeGroupPolicy,re as resolveDefaultGroupPolicy,r as resolveDefaultWhatsAppAccountId,ne as resolveWhatsAppAccount,h as resolveWhatsAppConfigAllowFrom,p as resolveWhatsAppConfigDefaultTo,m as resolveWhatsAppGroupIntroHint,a as resolveWhatsAppGroupRequireMention,o as resolveWhatsAppGroupToolPolicy,ae as resolveWhatsAppHeartbeatRecipients,i as resolveWhatsAppMentionStripPatterns,C as resolveWhatsAppOutboundTarget,le as whatsappOnboardingAdapter};
|
|
5
|
+
//# sourceMappingURL=whatsapp.js.map
|