@qqbrowser/openclaw-qbot 0.0.88 → 0.0.89
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/{agents-Dxk5oWw_.js → agents-BBYlUP5T.js} +1 -1
- package/dist/{agents.config-CXoN8qvY.js → agents.config-CoZtnyKH.js} +1 -1
- package/dist/{agents.config-D6kg-4Ct.js → agents.config-Dyqz-Sk-.js} +1 -1
- package/dist/{auth-choice-COKpi33u.js → auth-choice-CVvPBerD.js} +1 -1
- package/dist/{auth-choice-K5eGX1sj.js → auth-choice-DSNX3Hdu.js} +1 -1
- package/dist/{banner-DsZegXc3.js → banner-C4Bgn_Gf.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-BU9Qf5Cq.js → channel-options-9lP0IBR0.js} +1 -1
- package/dist/{channel-options-C-h17ZYO.js → channel-options-C9PHeVlU.js} +1 -1
- package/dist/{channel-web-DmmMXUdc.js → channel-web-DhNCVKla.js} +1 -1
- package/dist/{channel-web-C2Z4xKq3.js → channel-web-NeSGV-e7.js} +1 -1
- package/dist/{channels-cli-WBY_CB2-.js → channels-cli-CWu-PrIl.js} +1 -1
- package/dist/{channels-cli-DM6DIc_P.js → channels-cli-DHD8V6-q.js} +1 -1
- package/dist/{cli-DXZKyKLK.js → cli-BWE7sLVx.js} +1 -1
- package/dist/{cli-RLbxgNsy.js → cli-DF5ZcuuX.js} +1 -1
- package/dist/{command-registry-CIBlcDrG.js → command-registry-DIOnYWDt.js} +1 -1
- package/dist/{compact-BfHim3cA.js → compact-DgbuvsDF.js} +6 -6
- package/dist/{compact.runtime-C_urV0W5.js → compact.runtime-B5zaMKSa.js} +1 -1
- package/dist/{compact.runtime-eUr8DtWw.js → compact.runtime-B6qfwW6l.js} +1 -1
- package/dist/{compact.runtime-DtLl0dZ5.js → compact.runtime-BofMQvNu.js} +1 -1
- package/dist/{compact.runtime-BpYpUiXf.js → compact.runtime-C-OsuZNM.js} +1 -1
- package/dist/{completion-cli-BYf6ef-t.js → completion-cli-CckNzelT.js} +1 -1
- package/dist/{completion-cli-Dsi5-gGE.js → completion-cli-F60ntV7X.js} +1 -1
- package/dist/{config-cli-GwzrxUR-.js → config-cli-1Ut82gjz.js} +1 -1
- package/dist/{config-cli-IpFnLniP.js → config-cli-BVtPmTcO.js} +1 -1
- package/dist/{configure-Cx7WvgVM.js → configure-3Kgwf3gj.js} +1 -1
- package/dist/{configure-DIVEkxxF.js → configure-Bpy51qkb.js} +1 -1
- package/dist/{deps-send-whatsapp.runtime-CdAcLrxO.js → deps-send-whatsapp.runtime-CI4UsY0E.js} +1 -1
- package/dist/{deps-send-whatsapp.runtime-Dj_dh7mb.js → deps-send-whatsapp.runtime-CJbg_i22.js} +1 -1
- package/dist/{deps-send-whatsapp.runtime-DJOAewju.js → deps-send-whatsapp.runtime-CPhSRgv3.js} +1 -1
- package/dist/{deps-send-whatsapp.runtime-BfuHSQxE.js → deps-send-whatsapp.runtime-DLRNnLUS.js} +1 -1
- package/dist/{doctor-completion-BcvWFszV.js → doctor-completion-CucfTzWR.js} +1 -1
- package/dist/{doctor-completion-CQMvGm9I.js → doctor-completion-D76qqYqG.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-CBK9IHgW.js → gateway-cli-BKWQlBHk.js} +2 -2
- package/dist/{gateway-cli-BUcUT6It.js → gateway-cli-DtqcCdL7.js} +2 -2
- package/dist/{health-CiTej6rM.js → health-BXDoFh4Q.js} +1 -1
- package/dist/{health-Pqtl8jCk.js → health-xCl2atiY.js} +1 -1
- package/dist/{hooks-cli-C6nsAzQh.js → hooks-cli-B2j44Nvk.js} +1 -1
- package/dist/{hooks-cli-BR-m9Vxi.js → hooks-cli-DT0Hmbz-.js} +1 -1
- package/dist/index.js +2 -2
- package/dist/llm-slug-generator.js +1 -1
- package/dist/{models-CxaUXLzo.js → models-DhX1F_Pj.js} +1 -1
- package/dist/{models-cli-DuamSrQA.js → models-cli-B-kAey2t.js} +1 -1
- package/dist/{models-cli-DM55mW-t.js → models-cli-B53yy1mw.js} +1 -1
- package/dist/{npm-resolution-CKwFeFIB.js → npm-resolution-BIifLd1f.js} +1 -1
- package/dist/{npm-resolution-9bO0TPQF.js → npm-resolution-C2Ow0mqR.js} +1 -1
- package/dist/{onboard-BU0gG29k.js → onboard-D9IefEER.js} +2 -2
- package/dist/{onboard-channels-CsKyM82H.js → onboard-channels-B8JZHEaQ.js} +1 -1
- package/dist/{onboard-channels-BK5KINY9.js → onboard-channels-ByD6UdVu.js} +1 -1
- package/dist/{onboard-BlGJhhEF.js → onboard-qMIhLeRM.js} +2 -2
- package/dist/{onboarding-CM_9Fyo2.js → onboarding-CddGtlY5.js} +1 -1
- package/dist/{onboarding-Kz5K9mKB.js → onboarding-CgqsAteJ.js} +1 -1
- package/dist/{onboarding.finalize-DstFPCVD.js → onboarding.finalize-BgCWB7kF.js} +1 -1
- package/dist/{onboarding.finalize-C96gv5GP.js → onboarding.finalize-CkHWKgcF.js} +1 -1
- package/dist/{pi-embedded-BHryO0s2.js → pi-embedded-C6L57IhI.js} +6 -6
- package/dist/{pi-embedded-D_03X4gB.js → pi-embedded-CN25rQwp.js} +6 -6
- package/dist/{plugin-registry-DyreKTxc.js → plugin-registry-Cido8VxT.js} +1 -1
- package/dist/{plugin-registry-Dsb86j5r.js → plugin-registry-CpPyaWT0.js} +1 -1
- package/dist/plugin-sdk/{channel-web-BDO73YAY.js → channel-web-DgBEXyWx.js} +1 -1
- package/dist/plugin-sdk/{channel-web-C0hljM9U.js → channel-web-T7e1VB_g.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-B-jUdCSu.js → compact.runtime-B0qhTLAN.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-iEjcWTOi.js → compact.runtime-C5aI5KIg.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-BspLSIc1.js → compact.runtime-Da9JL-Re.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-CMWw2lwa.js → compact.runtime-DuWXCPO4.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-HnqzVAl7.js → compact.runtime-F35snTaz.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-C2keFFLA.js → compact.runtime-kL8PhhSi.js} +1 -1
- package/dist/plugin-sdk/compat.js +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BRm24Qy-.js → deps-send-whatsapp.runtime-BWVV9ImJ.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-Bw9eegUO.js → deps-send-whatsapp.runtime-BdOLZ0P3.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DdS9G3TR.js → deps-send-whatsapp.runtime-DMD-mrgL.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-ClvlojBM.js → deps-send-whatsapp.runtime-DNaHPuYl.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DjAB5JP0.js → deps-send-whatsapp.runtime-DkmDJ3eX.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-yd5qmNGP.js → deps-send-whatsapp.runtime-nRQWODTL.js} +1 -1
- package/dist/plugin-sdk/{dispatch-BtGxkC47.js → dispatch--4Vuy9oL.js} +6 -6
- package/dist/plugin-sdk/{dispatch-BO5EIrCx.js → dispatch-DPafUBvi.js} +6 -6
- package/dist/plugin-sdk/{dispatch-DABpoSJj.js → dispatch-DzdnDix3.js} +6 -6
- package/dist/plugin-sdk/{dispatch-DfBUhUa2.js → dispatch-_3aPMKVc.js} +6 -6
- package/dist/plugin-sdk/{dispatch-BFVL83hy.js → dispatch-v8f5j6tA.js} +6 -6
- package/dist/plugin-sdk/index.js +1 -1
- package/dist/plugin-sdk/irc.js +1 -1
- package/dist/plugin-sdk/matrix.js +1 -1
- package/dist/plugin-sdk/msteams.js +1 -1
- package/dist/plugin-sdk/nextcloud-talk.js +1 -1
- package/dist/plugin-sdk/{reply-0QJVop5g.js → reply-FZOMaPdT.js} +6 -6
- package/dist/plugin-sdk/{slash-dispatch.runtime-I6_T20Yd.js → slash-dispatch.runtime-CV3coyWo.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-BwEZoF7O.js → slash-dispatch.runtime-CYrhiT19.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-W9VRo3lf.js → slash-dispatch.runtime-CkVpd9xh.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-CaemgmaW.js → slash-dispatch.runtime-CzBVRyba.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-B4nePbcc.js → slash-dispatch.runtime-DjGJDpWI.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-ByQEhvcx.js → slash-dispatch.runtime-WIHCc0nP.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-pjzgZyiw.js → subagent-registry-runtime-4o_8yfyB.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-ikSo08Bh.js → subagent-registry-runtime-BJxZkq6N.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-BPHOIYnR.js → subagent-registry-runtime-BRl0zIp-.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-C2TUyWmj.js → subagent-registry-runtime-C-2UF0IM.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-Co3rxlYB.js → subagent-registry-runtime-bCP-yDZd.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-Wu14xqj_.js → subagent-registry-runtime-lM2A6bas.js} +1 -1
- package/dist/plugin-sdk/{web-Bgl0ILbD.js → web--MzzmLKe.js} +1 -1
- package/dist/plugin-sdk/{web-BzRQSS8R.js → web-BoQezxCE.js} +1 -1
- package/dist/plugin-sdk/{web-CK9n5ZfK.js → web-CgFT-LB5.js} +1 -1
- package/dist/plugin-sdk/{web-3TYyfPQG.js → web-CskfGkR8.js} +1 -1
- package/dist/plugin-sdk/{web-WIpdyZZQ.js → web-KZ3WEX08.js} +1 -1
- package/dist/plugin-sdk/{web-BCOXLnUB.js → web-sUKMDnvE.js} +1 -1
- package/dist/plugin-sdk/whatsapp.js +1 -1
- package/dist/{plugins-cli-B_m-0xTz.js → plugins-cli-7Rom2MRn.js} +1 -1
- package/dist/{plugins-cli-fpI_fBTE.js → plugins-cli-ULYhpcRr.js} +1 -1
- package/dist/{program-B52FJo5X.js → program-C8M8kVC0.js} +2 -2
- package/dist/{program-context-9FmjmgRi.js → program-context-DNheupaq.js} +1 -1
- package/dist/{prompt-select-styled-7bpPt2PG.js → prompt-select-styled-BfSAWDfm.js} +1 -1
- package/dist/{prompt-select-styled-bL9scez3.js → prompt-select-styled-Qtie1Z5m.js} +1 -1
- package/dist/{provider-auth-helpers-CatlYQ1x.js → provider-auth-helpers-PSez6fyE.js} +1 -1
- package/dist/{provider-auth-helpers-DgQEZQZm.js → provider-auth-helpers-fIKVMJmj.js} +1 -1
- package/dist/{push-apns-Bc0uTUFe.js → push-apns-CZ3x5b7S.js} +1 -1
- package/dist/{push-apns-Dq1z7GKZ.js → push-apns-D4QwEU4o.js} +1 -1
- package/dist/{register.agent-Cjvn_JC_.js → register.agent-CQCSZoM3.js} +1 -1
- package/dist/{register.agent-DZ68nNV_.js → register.agent-CkdmFMol.js} +1 -1
- package/dist/{register.configure-DAq-OZQ_.js → register.configure-CY7jH_t-.js} +1 -1
- package/dist/{register.configure-DNeVIlZk.js → register.configure-jvsFtsEY.js} +1 -1
- package/dist/{register.maintenance-Cx5TbFUH.js → register.maintenance-Cn2-JBxc.js} +1 -1
- package/dist/{register.maintenance-BGD-EdYb.js → register.maintenance-DbdyMqnN.js} +1 -1
- package/dist/{register.message-BVBF2xBA.js → register.message-8Pxm1wyr.js} +1 -1
- package/dist/{register.message-BahjRagK.js → register.message-DxNX0-7A.js} +1 -1
- package/dist/{register.onboard-BYsU9URi.js → register.onboard-BeuVHdxu.js} +1 -1
- package/dist/{register.onboard-CsUvw9JY.js → register.onboard-D9LNxSOp.js} +1 -1
- package/dist/{register.setup-DUGQ3LjU.js → register.setup-AyriKZAD.js} +1 -1
- package/dist/{register.setup-Czz8kiz8.js → register.setup-D6sjApkR.js} +1 -1
- package/dist/{register.status-health-sessions-DwQDXdjY.js → register.status-health-sessions-C3YEi9ej.js} +1 -1
- package/dist/{register.status-health-sessions-C-6pt1vC.js → register.status-health-sessions-DLibm4n2.js} +1 -1
- package/dist/{register.subclis-nr-J0DsM.js → register.subclis-DMwBX73g.js} +1 -1
- package/dist/{reply-Bv0w_dst.js → reply-JaJmymld.js} +6 -6
- package/dist/{run-main-C9SR6tqO.js → run-main-BtJ9Rvkf.js} +1 -1
- package/dist/{server-node-events-DBU3p4Am.js → server-node-events-B1xc0xHC.js} +1 -1
- package/dist/{server-node-events-duTsLOu5.js → server-node-events-DkYb_tMY.js} +1 -1
- package/dist/{slash-dispatch.runtime-BKW0b-z4.js → slash-dispatch.runtime-5FhvH4vs.js} +1 -1
- package/dist/{slash-dispatch.runtime-Dllhj5El.js → slash-dispatch.runtime-8bdhjt7e.js} +1 -1
- package/dist/{slash-dispatch.runtime-BykVo525.js → slash-dispatch.runtime-BSGNAoT3.js} +1 -1
- package/dist/{slash-dispatch.runtime-CwKA-3Mz.js → slash-dispatch.runtime-DzFzghS8.js} +1 -1
- package/dist/{status-BUdDRE9f.js → status-Ln-hRgxh.js} +1 -1
- package/dist/{status-QCEyD_DK.js → status-XJoKJIPd.js} +1 -1
- package/dist/{subagent-registry-runtime-ANqbVbfo.js → subagent-registry-runtime-CMgr0_UE.js} +1 -1
- package/dist/{subagent-registry-runtime-CWrWUjll.js → subagent-registry-runtime-DA3RtD85.js} +1 -1
- package/dist/{subagent-registry-runtime-CA_UwsAM.js → subagent-registry-runtime-DDF1mHS2.js} +1 -1
- package/dist/{subagent-registry-runtime-DjLSmsYn.js → subagent-registry-runtime-DTliYOy2.js} +1 -1
- package/dist/{update-cli-2Prf30Co.js → update-cli-DhZZ9nIA.js} +1 -1
- package/dist/{update-cli-BZ7xaJXP.js → update-cli-T5qjfgGh.js} +1 -1
- package/dist/{update-runner-Dmea_7oZ.js → update-runner-C6Z9RGJ6.js} +1 -1
- package/dist/{update-runner-CzyTP7xB.js → update-runner-DThdoQ9_.js} +1 -1
- package/dist/{web-BYWPQTzp.js → web-BinddLZf.js} +1 -1
- package/dist/{web-B90WZv9Y.js → web-CWJIsRZO.js} +1 -1
- package/dist/{web-DTS3rwm1.js → web-D995jmBq.js} +1 -1
- package/dist/{web-BvZz642s.js → web-F5nE_LwQ.js} +1 -1
- package/package.json +1 -1
package/dist/plugin-sdk/{slash-dispatch.runtime-I6_T20Yd.js → slash-dispatch.runtime-CV3coyWo.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-CSbOOCsu.js";import{Vo as e}from"./config-B-UcenbQ.js";import{St as t,X as n,j as r,m as i,p as a,wt as o}from"./dispatch-
|
|
1
|
+
import"./paths-CSbOOCsu.js";import{Vo as e}from"./config-B-UcenbQ.js";import{St as t,X as n,j as r,m as i,p as a,wt as o}from"./dispatch-DzdnDix3.js";import"./paths-BZu7pylC.js";import"./github-copilot-token-CZKe5l5K.js";import"./logger-C9qBS3pT.js";import"./proxy-env-CPkJIzpH.js";import"./send-Cm3DUp7B.js";import"./fetch-DBRI0sKI.js";import"./channel-activity-BmtBYQiY.js";import"./fetch-guard-DFkrvefb.js";import"./local-roots-CJmQubXD.js";import{d as s,i as c}from"./ir-CtV16xaT.js";import"./render-DGmfCIRG.js";import"./tables-BSCz74OW.js";import"./send-BZLHNxgv.js";import"./target-errors-IUyUVvTY.js";import"./send-DEXJLpyz.js";import"./deliver-C_gmqump.js";import"./diagnostic-BjNsv_MZ.js";import"./pi-model-discovery-KbgCHo1f.js";import"./audio-transcription-runner-CDEClJ7w.js";import"./image-Bkivxhr_.js";import"./api-key-rotation-C2RTMqbG.js";import"./proxy-fetch-zQZYbMVb.js";import"./tokens-BzJXWHOV.js";import"./commands-registry-DueC2CXY.js";import"./send-NZQ7cj5i.js";import"./outbound-attachment-Diu_o1ga.js";import"./send-_fKv95OZ.js";import"./sqlite-9K32c8mU.js";import"./fetch-DMcdYoAa.js";import"./skill-commands-B06QVSkm.js";import"./manager-DDgXS0Q8.js";export{r as createReplyPrefixOptions,i as deliverSlackSlashReplies,n as dispatchReplyWithDispatcher,o as finalizeInboundContext,a as recordInboundSessionMetaSafe,t as resolveAgentRoute,s as resolveChunkMode,e as resolveConversationLabel,c as resolveMarkdownTableMode};
|
package/dist/plugin-sdk/{slash-dispatch.runtime-BwEZoF7O.js → slash-dispatch.runtime-CYrhiT19.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-CB5IsdXc.js";import{wo as e}from"./sessions-vCe4wPa1.js";import"./logger-CMRRf9cz.js";import"./paths-DhHYGQZt.js";import"./proxy-env-C-8R9SbI.js";import"./send-Dw9KZtdY.js";import"./common-CKZ-UdaB.js";import"./send-B6HPDK7K.js";import{E as t,J as n,K as r,_ as i,d as a,f as o}from"./reply-
|
|
1
|
+
import"./paths-CB5IsdXc.js";import{wo as e}from"./sessions-vCe4wPa1.js";import"./logger-CMRRf9cz.js";import"./paths-DhHYGQZt.js";import"./proxy-env-C-8R9SbI.js";import"./send-Dw9KZtdY.js";import"./common-CKZ-UdaB.js";import"./send-B6HPDK7K.js";import{E as t,J as n,K as r,_ as i,d as a,f as o}from"./reply-FZOMaPdT.js";import"./github-copilot-token-C1rb4n4g.js";import"./send-bO2luPtA.js";import"./tokens-B_ctrNLr.js";import"./audio-transcription-runner-CZeLqyn8.js";import"./image-DCRZu6B9.js";import"./fetch-guard-CeY6FLmB.js";import"./api-key-rotation-C1Zn1KSQ.js";import"./local-roots-mIwSmMlz.js";import"./proxy-fetch-Z4EVQXTq.js";import"./deliver-BzC2TfhO.js";import"./commands-registry-BRHbSR-Q.js";import"./pi-model-discovery-DFcVdEXI.js";import{m as s,s as c}from"./ir-CmAyPA_x.js";import"./render-Djx15dPh.js";import"./diagnostic-BygIW7fL.js";import"./send-CuDJ-nVd.js";import"./outbound-attachment-vo_FJhnQ.js";import"./fetch-DmxjtY1D.js";import"./send-BPtLy3DR2.js";import"./sqlite-Dc2ZB7Ip.js";import"./channel-activity-CYknJxeB.js";import"./tables-BaKxrCzf.js";import"./fetch-C1uUpK5t.js";import"./skill-commands-DnImLYRw.js";import"./manager-Dnvt2fsN.js";export{i as createReplyPrefixOptions,o as deliverSlackSlashReplies,t as dispatchReplyWithDispatcher,n as finalizeInboundContext,a as recordInboundSessionMetaSafe,r as resolveAgentRoute,s as resolveChunkMode,e as resolveConversationLabel,c as resolveMarkdownTableMode};
|
package/dist/plugin-sdk/{slash-dispatch.runtime-W9VRo3lf.js → slash-dispatch.runtime-CkVpd9xh.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as e,L as t,Y as n,d as r,u as i,v as a}from"./dispatch-
|
|
1
|
+
import{F as e,L as t,Y as n,d as r,u as i,v as a}from"./dispatch-v8f5j6tA.js";import"./send-Bb-c2Wfw.js";import"./paths-DJeQBg0P.js";import{vr as o}from"./model-auth-dsGPdWPW.js";import"./logger-DeJtHfIZ.js";import"./paths-BAheUa28.js";import"./proxy-env-B8lWNmLK.js";import"./github-copilot-token-Be6rNfqm.js";import"./send-B1GxVX6l.js";import"./fetch-guard-PzaEpcQ7.js";import"./send-CwkiYqPX.js";import"./deliver-BxZhcYJx.js";import"./diagnostic-BwtamUsr.js";import"./pi-model-discovery-CqWtTmQH.js";import"./audio-transcription-runner-aZJ9cNlA.js";import"./image-DD04cXIg.js";import"./api-key-rotation-CsGG9jhG.js";import"./local-roots-DUN2ttYv.js";import"./proxy-fetch--DcTyl5K.js";import"./tokens-_Nmie3Ug.js";import"./commands-registry-Dw8t__8o.js";import{m as s,s as c}from"./ir-DLYol2vv.js";import"./render-CC0AV0OP.js";import"./target-errors-BTSekDWl.js";import"./send-V3uD9QA4.js";import"./outbound-attachment-nlK2LbIg.js";import"./fetch-rIayI79w.js";import"./send-CRV-DPpI.js";import"./sqlite-DnpnF8rT.js";import"./channel-activity-Bco4vhqQ.js";import"./tables-CsIFrUA3.js";import"./fetch-B0zJKaR8.js";import"./skill-commands-BGdnhkBW.js";import"./manager-Bpp6SEQN.js";export{n as createReplyPrefixOptions,r as deliverSlackSlashReplies,a as dispatchReplyWithDispatcher,t as finalizeInboundContext,i as recordInboundSessionMetaSafe,e as resolveAgentRoute,s as resolveChunkMode,o as resolveConversationLabel,c as resolveMarkdownTableMode};
|
package/dist/plugin-sdk/{slash-dispatch.runtime-CaemgmaW.js → slash-dispatch.runtime-CzBVRyba.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{J as e,L as t,d as n,u as r,y as i,z as a}from"./dispatch-
|
|
1
|
+
import{J as e,L as t,d as n,u as r,y as i,z as a}from"./dispatch-_3aPMKVc.js";import"./paths-BMI3JiOI.js";import{hr as o}from"./model-auth-BbZAgf5F.js";import"./logger-D7NYTfYR.js";import"./paths-DumT91r9.js";import"./proxy-env-Bz2Z8zYd.js";import"./github-copilot-token-B-n-jIjX.js";import"./send-CbKUBgfD.js";import"./send-BRcOy7d-.js";import"./send-wZQahIxo.js";import"./deliver-BOhWRuAc.js";import"./diagnostic-DVLBFxSl.js";import"./pi-model-discovery-DPml1ezH.js";import"./audio-transcription-runner-DnUZA3zd.js";import"./image-YjdiaYzj.js";import"./fetch-guard-Ddmjnr9q.js";import"./api-key-rotation-D5VrjOf1.js";import"./local-roots-D2BFeJX5.js";import"./proxy-fetch-nA0PxLDm.js";import"./tokens-CSkDa5HP.js";import"./commands-registry-BmTuvGJF.js";import{m as s,s as c}from"./ir-lBa1tN3e.js";import"./render-CC0AV0OP.js";import"./target-errors-D2mtlQc6.js";import"./send-DISaNhwJ.js";import"./outbound-attachment-C-WNUYRe.js";import"./fetch-C-3ngqxG.js";import"./send-B6p34YOy.js";import"./sqlite-C8QKImip.js";import"./channel-activity-CGpLziCG.js";import"./tables-7iwXnKB3.js";import"./fetch-D36SsL31.js";import"./skill-commands-Bv_AgJSD.js";import"./manager-BAawai7j.js";export{e as createReplyPrefixOptions,n as deliverSlackSlashReplies,i as dispatchReplyWithDispatcher,a as finalizeInboundContext,r as recordInboundSessionMetaSafe,t as resolveAgentRoute,s as resolveChunkMode,o as resolveConversationLabel,c as resolveMarkdownTableMode};
|
package/dist/plugin-sdk/{slash-dispatch.runtime-B4nePbcc.js → slash-dispatch.runtime-DjGJDpWI.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-DHIowy7j.js";import"./paths-Ilv7GN3y.js";import"./logger-Bzsdb9ed.js";import{fn as e}from"./model-auth-m6awkcmr.js";import"./proxy-env-CjA5va0Q.js";import"./send-CJGwOpaf.js";import"./send-DfKN3gPU.js";import{F as t,L as n,f as r,p as i,q as a,y as o}from"./dispatch-
|
|
1
|
+
import"./paths-DHIowy7j.js";import"./paths-Ilv7GN3y.js";import"./logger-Bzsdb9ed.js";import{fn as e}from"./model-auth-m6awkcmr.js";import"./proxy-env-CjA5va0Q.js";import"./send-CJGwOpaf.js";import"./send-DfKN3gPU.js";import{F as t,L as n,f as r,p as i,q as a,y as o}from"./dispatch-DPafUBvi.js";import"./tokens-D-G23Eih.js";import"./deliver-Cr9WnblM.js";import"./github-copilot-token-DjID6pAD.js";import"./fetch-guard-Ch-GE1q6.js";import"./send-Jtkjjoez.js";import"./local-roots-cD4rtFUT.js";import{d as s,i as c}from"./ir-C9bnqCN4.js";import"./diagnostic-D_z4RTdJ.js";import"./pi-model-discovery-BoCQComb.js";import"./audio-transcription-runner-C-1wfN5V.js";import"./image-CswbRypx.js";import"./api-key-rotation-ByGrFLLf.js";import"./proxy-fetch-DLkHTNrK.js";import"./commands-registry-sdEAg35R.js";import"./render-CC0AV0OP.js";import"./target-errors-CBtuprlS.js";import"./send-DUpWCxkR.js";import"./outbound-attachment-nHeYVKR0.js";import"./fetch-p43DsBwY.js";import"./send-BvX-weT-.js";import"./sqlite-nOhwJUyO.js";import"./channel-activity-CrUKMrr9.js";import"./tables-tvhhES0m.js";import"./fetch-p-KNjCrj.js";import"./skill-commands-D3NahROf.js";import"./manager-B6qIRY7W.js";export{a as createReplyPrefixOptions,i as deliverSlackSlashReplies,o as dispatchReplyWithDispatcher,n as finalizeInboundContext,r as recordInboundSessionMetaSafe,t as resolveAgentRoute,s as resolveChunkMode,e as resolveConversationLabel,c as resolveMarkdownTableMode};
|
package/dist/plugin-sdk/{slash-dispatch.runtime-ByQEhvcx.js → slash-dispatch.runtime-WIHCc0nP.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-Ck_GIp7q.js";import"./utils-CfTrvEp0.js";import"./paths-D_Oppcui.js";import{Wn as e}from"./model-auth-BJBZCtjT.js";import"./target-errors-BOqeJ_3F.js";import{V as t,Y as n,f as r,p as i,x as a,z as o}from"./dispatch
|
|
1
|
+
import"./paths-Ck_GIp7q.js";import"./utils-CfTrvEp0.js";import"./paths-D_Oppcui.js";import{Wn as e}from"./model-auth-BJBZCtjT.js";import"./target-errors-BOqeJ_3F.js";import{V as t,Y as n,f as r,p as i,x as a,z as o}from"./dispatch--4Vuy9oL.js";import"./send-CO2UHcEv.js";import"./send-DE5nZ2st.js";import"./proxy-env-BnKSJOGR.js";import"./github-copilot-token-DmcuLuc7.js";import"./send-BUrpCp2y.js";import"./fetch-guard-BSsJgDhB.js";import"./deliver-VMHoHBzn.js";import"./diagnostic-DVzH_MLb.js";import"./pi-model-discovery-Db7ABtcq.js";import"./audio-transcription-runner-DhJf4m1B.js";import"./image-D2kjZFi6.js";import"./api-key-rotation-CDbYWBVm.js";import"./local-roots-BH5tSQLl.js";import"./proxy-fetch-o_y6bhRh.js";import"./tokens-Bh7fgb-2.js";import"./commands-registry-CqcYbN0q.js";import{m as s,s as c}from"./ir-BtYOx2uz.js";import"./render-DhTJXP1U.js";import"./send-B31irjnU.js";import"./outbound-attachment-Fq-8ay7E.js";import"./fetch-p43DsBwY.js";import"./send-ITDY5IkL.js";import"./sqlite-DcxSH4wB.js";import"./channel-activity-Dka0S6Hm.js";import"./tables-B-mnbiT0.js";import"./fetch-BmdDzZ-O.js";import"./skill-commands-B75FKFYa.js";import"./manager-uBkiNkiS.js";export{n as createReplyPrefixOptions,i as deliverSlackSlashReplies,a as dispatchReplyWithDispatcher,t as finalizeInboundContext,r as recordInboundSessionMetaSafe,o as resolveAgentRoute,s as resolveChunkMode,e as resolveConversationLabel,c as resolveMarkdownTableMode};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s}from"./dispatch-
|
|
1
|
+
import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s}from"./dispatch-_3aPMKVc.js";import"./paths-BMI3JiOI.js";import"./model-auth-BbZAgf5F.js";import"./logger-D7NYTfYR.js";import"./paths-DumT91r9.js";import"./proxy-env-Bz2Z8zYd.js";import"./github-copilot-token-B-n-jIjX.js";import"./send-CbKUBgfD.js";import"./send-BRcOy7d-.js";import"./send-wZQahIxo.js";import"./deliver-BOhWRuAc.js";import"./diagnostic-DVLBFxSl.js";import"./pi-model-discovery-DPml1ezH.js";import"./audio-transcription-runner-DnUZA3zd.js";import"./image-YjdiaYzj.js";import"./fetch-guard-Ddmjnr9q.js";import"./api-key-rotation-D5VrjOf1.js";import"./local-roots-D2BFeJX5.js";import"./proxy-fetch-nA0PxLDm.js";import"./tokens-CSkDa5HP.js";import"./commands-registry-BmTuvGJF.js";import"./ir-lBa1tN3e.js";import"./render-CC0AV0OP.js";import"./target-errors-D2mtlQc6.js";import"./send-DISaNhwJ.js";import"./outbound-attachment-C-WNUYRe.js";import"./fetch-C-3ngqxG.js";import"./send-B6p34YOy.js";import"./sqlite-C8QKImip.js";import"./channel-activity-CGpLziCG.js";import"./tables-7iwXnKB3.js";import"./fetch-D36SsL31.js";import"./skill-commands-Bv_AgJSD.js";import"./manager-BAawai7j.js";export{i as countActiveDescendantRuns,o as countPendingDescendantRuns,n as countPendingDescendantRunsExcludingRun,e as isSubagentSessionRunActive,a as listSubagentRunsForRequester,s as replaceSubagentRunAfterSteer,t as resolveRequesterForChildSession,r as shouldIgnorePostCompletionAnnounceForSession};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-CB5IsdXc.js";import"./sessions-vCe4wPa1.js";import"./logger-CMRRf9cz.js";import"./paths-DhHYGQZt.js";import"./proxy-env-C-8R9SbI.js";import"./send-Dw9KZtdY.js";import"./common-CKZ-UdaB.js";import"./send-B6HPDK7K.js";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s}from"./reply-
|
|
1
|
+
import"./paths-CB5IsdXc.js";import"./sessions-vCe4wPa1.js";import"./logger-CMRRf9cz.js";import"./paths-DhHYGQZt.js";import"./proxy-env-C-8R9SbI.js";import"./send-Dw9KZtdY.js";import"./common-CKZ-UdaB.js";import"./send-B6HPDK7K.js";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s}from"./reply-FZOMaPdT.js";import"./github-copilot-token-C1rb4n4g.js";import"./send-bO2luPtA.js";import"./tokens-B_ctrNLr.js";import"./audio-transcription-runner-CZeLqyn8.js";import"./image-DCRZu6B9.js";import"./fetch-guard-CeY6FLmB.js";import"./api-key-rotation-C1Zn1KSQ.js";import"./local-roots-mIwSmMlz.js";import"./proxy-fetch-Z4EVQXTq.js";import"./deliver-BzC2TfhO.js";import"./commands-registry-BRHbSR-Q.js";import"./pi-model-discovery-DFcVdEXI.js";import"./ir-CmAyPA_x.js";import"./render-Djx15dPh.js";import"./diagnostic-BygIW7fL.js";import"./send-CuDJ-nVd.js";import"./outbound-attachment-vo_FJhnQ.js";import"./fetch-DmxjtY1D.js";import"./send-BPtLy3DR2.js";import"./sqlite-Dc2ZB7Ip.js";import"./channel-activity-CYknJxeB.js";import"./tables-BaKxrCzf.js";import"./fetch-C1uUpK5t.js";import"./skill-commands-DnImLYRw.js";import"./manager-Dnvt2fsN.js";export{i as countActiveDescendantRuns,o as countPendingDescendantRuns,n as countPendingDescendantRunsExcludingRun,e as isSubagentSessionRunActive,a as listSubagentRunsForRequester,s as replaceSubagentRunAfterSteer,t as resolveRequesterForChildSession,r as shouldIgnorePostCompletionAnnounceForSession};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s}from"./dispatch-
|
|
1
|
+
import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s}from"./dispatch-v8f5j6tA.js";import"./send-Bb-c2Wfw.js";import"./paths-DJeQBg0P.js";import"./model-auth-dsGPdWPW.js";import"./logger-DeJtHfIZ.js";import"./paths-BAheUa28.js";import"./proxy-env-B8lWNmLK.js";import"./github-copilot-token-Be6rNfqm.js";import"./send-B1GxVX6l.js";import"./fetch-guard-PzaEpcQ7.js";import"./send-CwkiYqPX.js";import"./deliver-BxZhcYJx.js";import"./diagnostic-BwtamUsr.js";import"./pi-model-discovery-CqWtTmQH.js";import"./audio-transcription-runner-aZJ9cNlA.js";import"./image-DD04cXIg.js";import"./api-key-rotation-CsGG9jhG.js";import"./local-roots-DUN2ttYv.js";import"./proxy-fetch--DcTyl5K.js";import"./tokens-_Nmie3Ug.js";import"./commands-registry-Dw8t__8o.js";import"./ir-DLYol2vv.js";import"./render-CC0AV0OP.js";import"./target-errors-BTSekDWl.js";import"./send-V3uD9QA4.js";import"./outbound-attachment-nlK2LbIg.js";import"./fetch-rIayI79w.js";import"./send-CRV-DPpI.js";import"./sqlite-DnpnF8rT.js";import"./channel-activity-Bco4vhqQ.js";import"./tables-CsIFrUA3.js";import"./fetch-B0zJKaR8.js";import"./skill-commands-BGdnhkBW.js";import"./manager-Bpp6SEQN.js";export{i as countActiveDescendantRuns,o as countPendingDescendantRuns,n as countPendingDescendantRunsExcludingRun,e as isSubagentSessionRunActive,a as listSubagentRunsForRequester,s as replaceSubagentRunAfterSteer,t as resolveRequesterForChildSession,r as shouldIgnorePostCompletionAnnounceForSession};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-Ck_GIp7q.js";import"./utils-CfTrvEp0.js";import"./paths-D_Oppcui.js";import"./model-auth-BJBZCtjT.js";import"./target-errors-BOqeJ_3F.js";import{a as e,c as t,d as n,i as r,l as i,o as a,s as o,u as s}from"./dispatch
|
|
1
|
+
import"./paths-Ck_GIp7q.js";import"./utils-CfTrvEp0.js";import"./paths-D_Oppcui.js";import"./model-auth-BJBZCtjT.js";import"./target-errors-BOqeJ_3F.js";import{a as e,c as t,d as n,i as r,l as i,o as a,s as o,u as s}from"./dispatch--4Vuy9oL.js";import"./send-CO2UHcEv.js";import"./send-DE5nZ2st.js";import"./proxy-env-BnKSJOGR.js";import"./github-copilot-token-DmcuLuc7.js";import"./send-BUrpCp2y.js";import"./fetch-guard-BSsJgDhB.js";import"./deliver-VMHoHBzn.js";import"./diagnostic-DVzH_MLb.js";import"./pi-model-discovery-Db7ABtcq.js";import"./audio-transcription-runner-DhJf4m1B.js";import"./image-D2kjZFi6.js";import"./api-key-rotation-CDbYWBVm.js";import"./local-roots-BH5tSQLl.js";import"./proxy-fetch-o_y6bhRh.js";import"./tokens-Bh7fgb-2.js";import"./commands-registry-CqcYbN0q.js";import"./ir-BtYOx2uz.js";import"./render-DhTJXP1U.js";import"./send-B31irjnU.js";import"./outbound-attachment-Fq-8ay7E.js";import"./fetch-p43DsBwY.js";import"./send-ITDY5IkL.js";import"./sqlite-DcxSH4wB.js";import"./channel-activity-Dka0S6Hm.js";import"./tables-B-mnbiT0.js";import"./fetch-BmdDzZ-O.js";import"./skill-commands-B75FKFYa.js";import"./manager-uBkiNkiS.js";export{r as countActiveDescendantRuns,e as countPendingDescendantRuns,a as countPendingDescendantRunsExcludingRun,o as isSubagentSessionRunActive,t as listSubagentRunsForRequester,i as replaceSubagentRunAfterSteer,s as resolveRequesterForChildSession,n as shouldIgnorePostCompletionAnnounceForSession};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-CSbOOCsu.js";import"./config-B-UcenbQ.js";import{a as e,c as t,d as n,i as r,l as i,o as a,s as o,u as s}from"./dispatch-
|
|
1
|
+
import"./paths-CSbOOCsu.js";import"./config-B-UcenbQ.js";import{a as e,c as t,d as n,i as r,l as i,o as a,s as o,u as s}from"./dispatch-DzdnDix3.js";import"./paths-BZu7pylC.js";import"./github-copilot-token-CZKe5l5K.js";import"./logger-C9qBS3pT.js";import"./proxy-env-CPkJIzpH.js";import"./send-Cm3DUp7B.js";import"./fetch-DBRI0sKI.js";import"./channel-activity-BmtBYQiY.js";import"./fetch-guard-DFkrvefb.js";import"./local-roots-CJmQubXD.js";import"./ir-CtV16xaT.js";import"./render-DGmfCIRG.js";import"./tables-BSCz74OW.js";import"./send-BZLHNxgv.js";import"./target-errors-IUyUVvTY.js";import"./send-DEXJLpyz.js";import"./deliver-C_gmqump.js";import"./diagnostic-BjNsv_MZ.js";import"./pi-model-discovery-KbgCHo1f.js";import"./audio-transcription-runner-CDEClJ7w.js";import"./image-Bkivxhr_.js";import"./api-key-rotation-C2RTMqbG.js";import"./proxy-fetch-zQZYbMVb.js";import"./tokens-BzJXWHOV.js";import"./commands-registry-DueC2CXY.js";import"./send-NZQ7cj5i.js";import"./outbound-attachment-Diu_o1ga.js";import"./send-_fKv95OZ.js";import"./sqlite-9K32c8mU.js";import"./fetch-DMcdYoAa.js";import"./skill-commands-B06QVSkm.js";import"./manager-DDgXS0Q8.js";export{r as countActiveDescendantRuns,e as countPendingDescendantRuns,a as countPendingDescendantRunsExcludingRun,o as isSubagentSessionRunActive,t as listSubagentRunsForRequester,i as replaceSubagentRunAfterSteer,s as resolveRequesterForChildSession,n as shouldIgnorePostCompletionAnnounceForSession};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-DHIowy7j.js";import"./paths-Ilv7GN3y.js";import"./logger-Bzsdb9ed.js";import"./model-auth-m6awkcmr.js";import"./proxy-env-CjA5va0Q.js";import"./send-CJGwOpaf.js";import"./send-DfKN3gPU.js";import{a as e,c as t,d as n,i as r,l as i,o as a,s as o,u as s}from"./dispatch-
|
|
1
|
+
import"./paths-DHIowy7j.js";import"./paths-Ilv7GN3y.js";import"./logger-Bzsdb9ed.js";import"./model-auth-m6awkcmr.js";import"./proxy-env-CjA5va0Q.js";import"./send-CJGwOpaf.js";import"./send-DfKN3gPU.js";import{a as e,c as t,d as n,i as r,l as i,o as a,s as o,u as s}from"./dispatch-DPafUBvi.js";import"./tokens-D-G23Eih.js";import"./deliver-Cr9WnblM.js";import"./github-copilot-token-DjID6pAD.js";import"./fetch-guard-Ch-GE1q6.js";import"./send-Jtkjjoez.js";import"./local-roots-cD4rtFUT.js";import"./ir-C9bnqCN4.js";import"./diagnostic-D_z4RTdJ.js";import"./pi-model-discovery-BoCQComb.js";import"./audio-transcription-runner-C-1wfN5V.js";import"./image-CswbRypx.js";import"./api-key-rotation-ByGrFLLf.js";import"./proxy-fetch-DLkHTNrK.js";import"./commands-registry-sdEAg35R.js";import"./render-CC0AV0OP.js";import"./target-errors-CBtuprlS.js";import"./send-DUpWCxkR.js";import"./outbound-attachment-nHeYVKR0.js";import"./fetch-p43DsBwY.js";import"./send-BvX-weT-.js";import"./sqlite-nOhwJUyO.js";import"./channel-activity-CrUKMrr9.js";import"./tables-tvhhES0m.js";import"./fetch-p-KNjCrj.js";import"./skill-commands-D3NahROf.js";import"./manager-B6qIRY7W.js";export{r as countActiveDescendantRuns,e as countPendingDescendantRuns,a as countPendingDescendantRunsExcludingRun,o as isSubagentSessionRunActive,t as listSubagentRunsForRequester,i as replaceSubagentRunAfterSteer,s as resolveRequesterForChildSession,n as shouldIgnorePostCompletionAnnounceForSession};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,B as t,C as n,E as r,F as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,R as m,S as h,T as g,U as _,W as v,X as y,Y as b,_ as x,b as S,f as C,g as ee,h as te,j as ne,k as w,m as re,p as ie,t as ae,v as oe,w as se,x as T,z as ce}from"./dispatch-
|
|
1
|
+
import{A as e,B as t,C as n,E as r,F as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,R as m,S as h,T as g,U as _,W as v,X as y,Y as b,_ as x,b as S,f as C,g as ee,h as te,j as ne,k as w,m as re,p as ie,t as ae,v as oe,w as se,x as T,z as ce}from"./dispatch-_3aPMKVc.js";import{Dt as E,Et as D,Mt as O,kt as k,s as A}from"./paths-BMI3JiOI.js";import{$n as j,At as M,Bn as N,Et as le,Hn as ue,Ot as P,Sa as F,Un as de,Vn as fe,Wn as I,Yn as pe,_r as L,dr as me,fr as R,qn as z,rc as he,ri as B}from"./model-auth-BbZAgf5F.js";import{B as V,C as H,K as U,M as ge,O as _e,R as W,T as G,h as K,m as q,o as ve,p as ye,v as be}from"./logger-D7NYTfYR.js";import"./paths-DumT91r9.js";import"./proxy-env-Bz2Z8zYd.js";import"./github-copilot-token-B-n-jIjX.js";import"./send-CbKUBgfD.js";import{Mt as xe,Nt as Se,jt as Ce}from"./send-BRcOy7d-.js";import{X as we,Y as Te,tt as Ee}from"./send-wZQahIxo.js";import"./deliver-BOhWRuAc.js";import"./diagnostic-DVLBFxSl.js";import"./pi-model-discovery-DPml1ezH.js";import{f as De}from"./audio-transcription-runner-DnUZA3zd.js";import"./image-YjdiaYzj.js";import"./fetch-guard-Ddmjnr9q.js";import"./api-key-rotation-D5VrjOf1.js";import{t as Oe}from"./local-roots-D2BFeJX5.js";import"./proxy-fetch-nA0PxLDm.js";import"./tokens-CSkDa5HP.js";import"./commands-registry-BmTuvGJF.js";import{a as ke,d as Ae,h as je,m as Me,s as Ne}from"./ir-lBa1tN3e.js";import"./render-CC0AV0OP.js";import"./target-errors-D2mtlQc6.js";import"./send-DISaNhwJ.js";import"./outbound-attachment-C-WNUYRe.js";import"./fetch-C-3ngqxG.js";import"./send-B6p34YOy.js";import"./sqlite-C8QKImip.js";import{n as Pe}from"./channel-activity-CGpLziCG.js";import{t as Fe}from"./tables-7iwXnKB3.js";import"./fetch-D36SsL31.js";import"./skill-commands-Bv_AgJSD.js";import{r as Ie}from"./active-listener-CEYsm9E5.js";import"./manager-BAawai7j.js";import{i as Le,r as Re,t as ze}from"./outbound-CHDzLqOk.js";import{i as Be,n as J,r as Ve,t as He}from"./session-9CASLgGs.js";import{t as Ue}from"./login-DFQHdh0f.js";import{randomUUID as We}from"node:crypto";import{DisconnectReason as Ge,downloadMediaMessage as Ke,extractMessageContent as qe,getContentType as Je,isJidGroup as Ye,normalizeMessageContent as Xe}from"@whiskeysockets/baileys";const Ze={initialMs:2e3,maxMs:3e4,factor:1.8,jitter:.25,maxAttempts:12};function Qe(e,t){let n=t??e.web?.heartbeatSeconds;return typeof n==`number`&&n>0?n:60}function $e(e,t){let n=e.web?.reconnect??{},r=t??{},i={...Ze,...n,...r};return i.initialMs=Math.max(250,i.initialMs),i.maxMs=Math.max(i.initialMs,i.maxMs),i.factor=ve(i.factor,1.1,10),i.jitter=ve(i.jitter,0,1),i.maxAttempts=Math.max(0,Math.floor(i.maxAttempts)),i}function Y(){return We()}const X=_e(`gateway/channels/whatsapp`),Z=X.child(`inbound`),Q=X.child(`outbound`),et=X.child(`heartbeat`);function tt(){return setInterval(()=>{},1e6).unref(),new Promise(()=>{})}const nt=e({ttlMs:20*6e4,maxSize:5e3});function rt(e){return nt.check(e)}const it=new Set([`FN`,`N`,`TEL`]);function at(e){if(!e)return{phones:[]};let t=e.split(/\r?\n/),n,r,i=[];for(let e of t){let t=e.trim();if(!t)continue;let a=t.indexOf(`:`);if(a===-1)continue;let o=t.slice(0,a).toUpperCase(),s=t.slice(a+1).trim();if(!s)continue;let c=ot(o);if(!c||!it.has(c))continue;let l=st(s);if(l){if(c===`FN`&&!r){r=ct(l);continue}if(c===`N`&&!n){n=ct(l);continue}if(c===`TEL`){let e=lt(l);e&&i.push(e)}}}return{name:r??n,phones:i}}function ot(e){let[t]=e.split(`;`);if(!t)return;let n=t.split(`.`);return n[n.length-1]||void 0}function st(e){return e.replace(/\\n/gi,` `).replace(/\\,/g,`,`).replace(/\\;/g,`;`).trim()}function ct(e){return e.replace(/;/g,` `).replace(/\s+/g,` `).trim()}function lt(e){let t=e.trim();return t?t.toLowerCase().startsWith(`tel:`)?t.slice(4).trim():t:``}function $(e){return Xe(e)}function ut(e){if(!e)return;let t=Je(e),n=t?e[t]:void 0,r=n&&typeof n==`object`&&`contextInfo`in n?n.contextInfo:void 0;if(r)return r;let i=e.extendedTextMessage?.contextInfo??e.imageMessage?.contextInfo??e.videoMessage?.contextInfo??e.documentMessage?.contextInfo??e.audioMessage?.contextInfo??e.stickerMessage?.contextInfo??e.buttonsResponseMessage?.contextInfo??e.listResponseMessage?.contextInfo??e.templateButtonReplyMessage?.contextInfo??e.interactiveResponseMessage?.contextInfo??e.buttonsMessage?.contextInfo??e.listMessage?.contextInfo;if(i)return i;for(let t of Object.values(e)){if(!t||typeof t!=`object`||!(`contextInfo`in t))continue;let e=t.contextInfo;if(e)return e}}function dt(e){let t=$(e);if(!t)return;let n=[t.extendedTextMessage?.contextInfo?.mentionedJid,t.extendedTextMessage?.contextInfo?.quotedMessage?.extendedTextMessage?.contextInfo?.mentionedJid,t.imageMessage?.contextInfo?.mentionedJid,t.videoMessage?.contextInfo?.mentionedJid,t.documentMessage?.contextInfo?.mentionedJid,t.audioMessage?.contextInfo?.mentionedJid,t.stickerMessage?.contextInfo?.mentionedJid,t.buttonsResponseMessage?.contextInfo?.mentionedJid,t.listResponseMessage?.contextInfo?.mentionedJid].flatMap(e=>e??[]).filter(Boolean);if(n.length!==0)return Array.from(new Set(n))}function ft(e){let t=$(e);if(!t)return;let n=qe(t),r=[t,n&&n!==t?n:void 0];for(let e of r){if(!e)continue;if(typeof e.conversation==`string`&&e.conversation.trim())return e.conversation.trim();let t=e.extendedTextMessage?.text;if(t?.trim())return t.trim();let n=e.imageMessage?.caption??e.videoMessage?.caption??e.documentMessage?.caption;if(n?.trim())return n.trim()}let i=mt(t)??(n&&n!==t?mt(n):void 0);if(i)return i}function pt(e){let t=$(e);if(t){if(t.imageMessage)return`<media:image>`;if(t.videoMessage)return`<media:video>`;if(t.audioMessage)return`<media:audio>`;if(t.documentMessage)return`<media:document>`;if(t.stickerMessage)return`<media:sticker>`}}function mt(e){let t=$(e);if(!t)return;let n=t.contactMessage??void 0;if(n){let{name:e,phones:t}=ht({displayName:n.displayName,vcard:n.vcard});return gt(e,t)}let r=t.contactsArrayMessage?.contacts??void 0;if(!(!r||r.length===0))return _t(r.map(e=>ht({displayName:e.displayName,vcard:e.vcard})).map(e=>vt(e.name,e.phones)).filter(e=>!!e),r.length)}function ht(e){let t=(e.displayName??``).trim(),n=at(e.vcard??void 0);return{name:t||n.name,phones:n.phones}}function gt(e,t){let n=vt(e,t);return n?`<contact: ${n}>`:`<contact>`}function _t(e,t){let n=e.map(e=>e.trim()).filter(Boolean);if(n.length===0)return`<contacts: ${t} ${t===1?`contact`:`contacts`}>`;let r=Math.max(t-n.length,0),i=r>0?` +${r} more`:``;return`<contacts: ${n.join(`, `)}${i}>`}function vt(e,t){let n=[e,yt(t)].filter(e=>!!e);if(n.length!==0)return n.join(`, `)}function yt(e){let t=e?.map(e=>e.trim()).filter(Boolean)??[];if(t.length===0)return;let{shown:n,remaining:r}=bt(t,t.length,1),[i]=n;if(i)return r===0?i:`${i} (+${r} more)`}function bt(e,t,n){let r=e.slice(0,n);return{shown:r,remaining:Math.max(t-r.length,0)}}function xt(e){let t=$(e);if(!t)return null;let n=t.liveLocationMessage??void 0;if(n){let e=n.degreesLatitude,t=n.degreesLongitude;if(e!=null&&t!=null){let r=Number(e),i=Number(t);if(Number.isFinite(r)&&Number.isFinite(i))return{latitude:r,longitude:i,accuracy:n.accuracyInMeters??void 0,caption:n.caption??void 0,source:`live`,isLive:!0}}}let r=t.locationMessage??void 0;if(r){let e=r.degreesLatitude,t=r.degreesLongitude;if(e!=null&&t!=null){let n=Number(e),i=Number(t);if(Number.isFinite(n)&&Number.isFinite(i)){let e=!!r.isLive;return{latitude:n,longitude:i,accuracy:r.accuracyInMeters??void 0,name:r.name??void 0,address:r.address??void 0,caption:r.comment??void 0,source:e?`live`:r.name||r.address?`place`:`pin`,isLive:e}}}}return null}function St(e){let t=$(e);if(!t)return null;let n=ut(t),r=Xe(n?.quotedMessage);if(!r)return null;let i=xt(r),a=i?Te(i):void 0,o=[ft(r),a].filter(Boolean).join(`
|
|
2
2
|
`).trim();if(o||=pt(r),!o){let e=r?Je(r):void 0;return W(`Quoted message missing extractable body${e?` (type ${e})`:``}`),null}let s=n?.participant??void 0,c=s?q(s)??s:void 0,l=c??`unknown sender`;return{id:n?.stanzaId?String(n.stanzaId):void 0,body:o,sender:l,senderJid:s,senderE164:c}}function Ct(e){return xe({providerConfigPresent:e.providerConfigPresent,groupPolicy:e.groupPolicy,defaultGroupPolicy:e.defaultGroupPolicy})}async function wt(e){let n=F(),r=N({cfg:n,accountId:e.accountId}),i=r.dmPolicy??`pairing`,o=r.allowFrom??[],s=await a({provider:`whatsapp`,accountId:r.accountId,dmPolicy:i}),c=o.length===0&&e.selfE164?[e.selfE164]:[],l=o.length>0?o:c,u=r.groupAllowFrom??(o.length>0?o:void 0),d=e.from===e.selfE164,f=r.selfChatMode??ye(e.selfE164,o),p=typeof e.pairingGraceMs==`number`&&e.pairingGraceMs>0?e.pairingGraceMs:3e4,m=typeof e.connectedAtMs==`number`&&typeof e.messageTimestampMs==`number`&&e.messageTimestampMs<e.connectedAtMs-p,h=Ce(n),{groupPolicy:g,providerMissingFallbackApplied:_}=Ct({providerConfigPresent:n.channels?.whatsapp!==void 0,groupPolicy:r.groupPolicy,defaultGroupPolicy:h});Se({providerMissingFallbackApplied:_,providerKey:`whatsapp`,accountId:r.accountId,log:e=>W(e)});let y=K(e.from),b=typeof e.senderE164==`string`?K(e.senderE164):null,x=v({isGroup:e.group,dmPolicy:i,groupPolicy:g,allowFrom:e.group?o:l,groupAllowFrom:u,storeAllowFrom:s,isSenderAllowed:t=>{if(t.includes(`*`))return!0;let n=new Set(t.map(e=>K(String(e))).filter(e=>!!e));return!e.group&&d?!0:e.group?!!(b&&n.has(b)):n.has(y)}});if(e.group&&x.decision!==`allow`)return x.reason===`groupPolicy=disabled`?W(`Blocked group message (groupPolicy: disabled)`):x.reason===`groupPolicy=allowlist (empty allowlist)`?W(`Blocked group message (groupPolicy: allowlist, no groupAllowFrom)`):W(`Blocked group message from ${e.senderE164??`unknown sender`} (groupPolicy: allowlist)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:f,resolvedAccountId:r.accountId};if(!e.group){if(e.isFromMe&&!d)return W(`Skipping outbound DM (fromMe); no pairing reply needed.`),{allowed:!1,shouldMarkRead:!1,isSelfChat:f,resolvedAccountId:r.accountId};if(x.decision===`block`&&x.reason===`dmPolicy=disabled`)return W(`Blocked dm (dmPolicy: disabled)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:f,resolvedAccountId:r.accountId};if(x.decision===`pairing`&&!d){let n=e.from;return m?W(`Skipping pairing reply for historical DM from ${n}.`):await t({channel:`whatsapp`,senderId:n,senderIdLine:`Your WhatsApp phone number: ${n}`,meta:{name:(e.pushName??``).trim()||void 0},upsertPairingRequest:async({id:e,meta:t})=>await Ee({channel:`whatsapp`,id:e,accountId:r.accountId,meta:t}),onCreated:()=>{W(`whatsapp pairing request sender=${n} name=${e.pushName??`unknown`}`)},sendPairingReply:async t=>{await e.sock.sendMessage(e.remoteJid,{text:t})},onReplyError:e=>{W(`whatsapp pairing reply failed for ${n}: ${String(e)}`)}}),{allowed:!1,shouldMarkRead:!1,isSelfChat:f,resolvedAccountId:r.accountId}}if(x.decision!==`allow`)return W(`Blocked unauthorized sender ${e.from} (dmPolicy=${i})`),{allowed:!1,shouldMarkRead:!1,isSelfChat:f,resolvedAccountId:r.accountId}}return{allowed:!0,shouldMarkRead:!0,isSelfChat:f,resolvedAccountId:r.accountId}}function Tt(e){return Xe(e)}function Et(e){let t=e.imageMessage?.mimetype??e.videoMessage?.mimetype??e.documentMessage?.mimetype??e.audioMessage?.mimetype??e.stickerMessage?.mimetype??void 0;if(t)return t;if(e.audioMessage)return`audio/ogg; codecs=opus`;if(e.imageMessage)return`image/jpeg`;if(e.videoMessage)return`video/mp4`;if(e.stickerMessage)return`image/webp`}async function Dt(e,t){let n=Tt(e.message);if(!n)return;let r=Et(n),i=n.documentMessage?.fileName??void 0;if(!(!n.imageMessage&&!n.videoMessage&&!n.documentMessage&&!n.audioMessage&&!n.stickerMessage))try{return{buffer:await Ke(e,`buffer`,{},{reuploadRequest:t.updateMediaMessage,logger:t.logger}),mimetype:r,fileName:i}}catch(e){W(`downloadMediaMessage failed: ${String(e)}`);return}}function Ot(e){Pe({channel:`whatsapp`,accountId:e,direction:`outbound`})}function kt(e){return typeof e==`object`&&e&&`key`in e?String(e.key?.id??`unknown`):`unknown`}function At(e){return{sendMessage:async(t,n,r,i,a)=>{let o=G(t),s;if(r&&i)if(i.startsWith(`image/`))s={image:r,caption:n||void 0,mimetype:i};else if(i.startsWith(`audio/`))s={audio:r,ptt:!0,mimetype:i};else if(i.startsWith(`video/`)){let e=a?.gifPlayback;s={video:r,caption:n||void 0,mimetype:i,...e?{gifPlayback:!0}:{}}}else s={document:r,fileName:a?.fileName?.trim()||`file`,caption:n||void 0,mimetype:i};else s={text:n};let c=await e.sock.sendMessage(o,s);return Ot(a?.accountId??e.defaultAccountId),{messageId:kt(c)}},sendPoll:async(t,n)=>{let r=G(t),i=await e.sock.sendMessage(r,{poll:{name:n.question,values:n.options,selectableCount:n.maxSelections??1}});return Ot(e.defaultAccountId),{messageId:kt(i)}},sendReaction:async(t,n,r,i,a)=>{let o=G(t);await e.sock.sendMessage(o,{react:{text:r,key:{remoteJid:o,id:n,fromMe:i,participant:a?G(a):void 0}}})},sendComposingTo:async t=>{let n=G(t);await e.sock.sendPresenceUpdate(`composing`,n)}}}async function jt(e){let t=U({module:`web-inbound`}),n=_e(`gateway/channels/whatsapp`).child(`inbound`),r=await He(!1,e.verbose,{authDir:e.authDir});await Be(r);let i=Date.now(),a=null,o=new Promise(e=>{a=e}),s=e=>{if(!a)return;let t=a;a=null,t(e)};try{await r.sendPresenceUpdate(`available`),V()&&W(`Sent global 'available' presence on connect`)}catch(e){W(`Failed to send 'available' presence on connect: ${String(e)}`)}let c=r.user?.id,l=c?q(c):null,u=S({debounceMs:e.debounceMs??0,buildKey:e=>{let t=e.chatType===`group`?e.senderJid??e.senderE164??e.senderName??e.from:e.from;if(!t)return null;let n=e.chatType===`group`?e.chatId:e.from;return`${e.accountId}:${n}:${t}`},shouldDebounce:e.shouldDebounce,onFlush:async t=>{let n=t.at(-1);if(!n)return;if(t.length===1){await e.onMessage(n);return}let r=new Set;for(let e of t)for(let t of e.mentionedJids??[])r.add(t);let i=t.map(e=>e.body).filter(Boolean).join(`
|
|
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)}`)}}),d=new Map,f=300*1e3,p=r.signalRepository?.lidMapping,m=async t=>be(t,{authDir:e.authDir,lidLookup:p}),h=async e=>{let t=d.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 m(e.id)??e.id)??[])).filter(Boolean)??[],i={subject:t.subject,participants:n,expires:Date.now()+f};return d.set(e,i),i}catch(t){return W(`Failed to fetch group metadata for ${e}: ${String(t)}`),{expires:Date.now()+f}}},g=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=Ye(a)===!0;if(n&&rt(`${e.accountId}:${a}:${n}`))return null;let s=t.key?.participant??void 0,c=o?a:await m(a);if(!c)return null;let u=o?s?await m(s):null:c,d,f;if(o){let e=await h(a);d=e.subject,f=e.participants}let p=t.messageTimestamp?Number(t.messageTimestamp)*1e3:void 0,g=await wt({accountId:e.accountId,from:c,selfE164:l,senderE164:u,group:o,pushName:t.pushName??void 0,isFromMe:!!t.key?.fromMe,messageTimestampMs:p,connectedAtMs:i,sock:{sendMessage:(e,t)=>r.sendMessage(e,t)},remoteJid:a});return g.allowed?{id:n,remoteJid:a,group:o,participantJid:s,from:c,senderE164:u,groupSubject:d,groupParticipants:f,messageTimestampMs:p,access:g}:null},_=async t=>{let{id:n,remoteJid:i,participantJid:a,access:o}=t;if(n&&!o.isSelfChat&&e.sendReadReceipts!==!1)try{await r.readMessages([{remoteJid:i,id:n,participant:a,fromMe:!1}]),V()&&W(`Marked message ${n} as read for ${i}${a?` (participant ${a})`:``}`)}catch(e){W(`Failed to mark message ${n} read: ${String(e)}`)}else n&&o.isSelfChat&&V()&&W(`Self-chat mode: skipping read receipt for ${n}`)},v=async t=>{let n=xt(t.message??void 0),i=n?Te(n):void 0,a=ft(t.message??void 0);if(i&&(a=[a,i].filter(Boolean).join(`
|
|
4
4
|
`).trim()),!a&&(a=pt(t.message??void 0),!a))return null;let o=St(t.message),s,c,l;try{let n=await Dt(t,r);if(n){let t=(typeof e.mediaMaxMb==`number`&&e.mediaMaxMb>0?e.mediaMaxMb:50)*1024*1024;s=(await B(n.buffer,n.mimetype,`inbound`,t,n.fileName)).path,c=n.mimetype,l=n.fileName}}catch(e){W(`Inbound media download failed: ${String(e)}`)}return{body:a,location:n??void 0,replyContext:o,mediaPath:s,mediaType:c,mediaFileName:l}},y=async(e,i,a)=>{let o=i.remoteJid,s=async()=>{try{await r.sendPresenceUpdate(`composing`,o)}catch(e){W(`Presence update failed: ${String(e)}`)}},d=async e=>{await r.sendMessage(o,{text:e})},f=async e=>{await r.sendMessage(o,e)},p=i.messageTimestampMs,m=dt(e.message),h=e.pushName??void 0;t.info({from:i.from,to:l??`me`,body:a.body,mediaPath:a.mediaPath,mediaType:a.mediaType,mediaFileName:a.mediaFileName,timestamp:p},`inbound message`);let g={id:i.id,from:i.from,conversationId:i.from,to:l??`me`,accountId:i.access.resolvedAccountId,body:a.body,pushName:h,timestamp:p,chatType:i.group?`group`:`direct`,chatId:i.remoteJid,senderJid:i.participantJid,senderE164:i.senderE164??void 0,senderName:h,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:m??void 0,selfJid:c,selfE164:l,fromMe:!!e.key?.fromMe,location:a.location??void 0,sendComposing:s,reply:d,sendMedia:f,mediaPath:a.mediaPath,mediaType:a.mediaType,mediaFileName:a.mediaFileName};try{Promise.resolve(u.enqueue(g)).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)}`)}},b=async t=>{if(!(t.type!==`notify`&&t.type!==`append`))for(let n of t.messages??[]){Pe({channel:`whatsapp`,accountId:e.accountId,direction:`inbound`});let r=await g(n);if(!r||(await _(r),t.type===`append`))continue;let i=await v(n);i&&await y(n,r,i)}};r.ev.on(`messages.upsert`,b);let x=e=>{try{if(e.connection===`close`){let t=Ve(e.lastDisconnect?.error);s({status:t,isLoggedOut:t===Ge.loggedOut,error:e.lastDisconnect?.error})}}catch(e){t.error({error:String(e)},`connection.update handler error`),s({status:void 0,isLoggedOut:!1,error:e})}};return r.ev.on(`connection.update`,x),{close:async()=>{try{let e=r.ev,t=b,n=x;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){W(`Socket close failed: ${String(e)}`)}},onClose:o,signalClose:e=>{s(e??{status:void 0,isLoggedOut:!1,error:`closed`})},...At({sock:{sendMessage:(e,t)=>r.sendMessage(e,t),sendPresenceUpdate:(e,t)=>r.sendPresenceUpdate(e,t)},defaultAccountId:e.accountId})}}function Mt(e,t){return{mentionRegexes:g(e,t),allowFrom:e.channels?.whatsapp?.allowFrom}}function Nt(e,t){let n=t?{authDir:t}:void 0;return{normalizedMentions:e.mentionedJids?.length?e.mentionedJids.map(e=>q(e,n)??e).filter(Boolean):[],selfE164:e.selfE164??(e.selfJid?q(e.selfJid,n):null),selfJid:e.selfJid?e.selfJid.replace(/:\\d+/,``):null}}function Pt(e,t,n){let i=e=>r(e),a=ye(n.selfE164,t.allowFrom);if((e.mentionedJids?.length??0)>0&&!a)return!!(n.selfE164&&n.normalizedMentions.includes(n.selfE164)||n.selfJid&&n.normalizedMentions.includes(n.selfJid));let o=i(e.body);if(t.mentionRegexes.some(e=>e.test(o)))return!0;if(n.selfE164){let t=n.selfE164.replace(/\D/g,``);if(t){if(o.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 Ft(e,t,n){let i=Nt(e,n);return{wasMentioned:Pt(e,t,i),details:{from:e.from,body:e.body,bodyClean:r(e.body),mentionedJids:e.mentionedJids??null,normalizedMentionedJids:i.normalizedMentions.length?i.normalizedMentions:null,selfJid:e.selfJid??null,selfJidBare:i.selfJid,selfE164:e.selfE164??null,resolvedSelfE164:i.selfE164}}}function It(e,t){let n=e.allowFrom;return(Array.isArray(n)&&n.length>0?n:t?[t]:[]).filter(e=>!!(e&&e!==`*`)).map(e=>K(e)).filter(e=>!!e)}function Lt(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 Rt(e){let t=i({agentId:e.agentId,channel:`whatsapp`,accountId:e.route.accountId,peer:{kind:e.msg.chatType===`group`?`group`:`direct`,id:e.peerId},dmScope:e.cfg.session?.dmScope,identityLinks:e.cfg.session?.identityLinks}),n=E({agentId:e.agentId,mainKey:D});return{sessionKey:t,mainSessionKey:n,lastRoutePolicy:o({sessionKey:t,mainSessionKey:n})}}async function zt(e){let t=e.cfg.broadcast?.[e.peerId];if(!t||!Array.isArray(t)||t.length===0)return!1;let n=e.cfg.broadcast?.strategy||`parallel`;Z.info(`Broadcasting message to ${t.length} agents (${n})`);let r=e.cfg.agents?.list?.map(e=>O(e.id)),i=(r?.length??0)>0,a=e.msg.chatType===`group`?e.groupHistories.get(e.groupHistoryKey)??[]:void 0,o=async t=>{let n=O(t);if(i&&!r?.includes(n))return Z.warn(`Broadcast agent ${t} not found in agents.list; skipping`),!1;let o=Rt({cfg:e.cfg,msg:e.msg,route:e.route,peerId:e.peerId,agentId:n}),s={...e.route,agentId:n,...o};try{return await e.processMessage(e.msg,s,e.groupHistoryKey,{groupHistory:a,suppressGroupHistoryClear:!0})}catch(e){return Z.error(`Broadcast agent ${t} failed: ${J(e)}`),!1}};if(n===`sequential`)for(let e of t)await o(e);else await Promise.allSettled(t.map(o));return e.msg.chatType===`group`&&e.groupHistories.set(e.groupHistoryKey,[]),!0}function Bt(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 Vt(e,t){let n=L({From:t,ChatType:`group`,Provider:`whatsapp`})?.id,r=e.channels?.whatsapp,i=!!(r?.groupAllowFrom?.length||r?.allowFrom?.length);return me({cfg:e,channel:`whatsapp`,groupId:n??t,hasGroupAllowFrom:i})}function Ht(e,t){let n=L({From:t,ChatType:`group`,Provider:`whatsapp`})?.id;return R({cfg:e,channel:`whatsapp`,groupId:n??t})}function Ut(e){let t=le(A(e.cfg.session?.store,{agentId:e.agentId}))[e.sessionKey],n=Ht(e.cfg,e.conversationId)?`mention`:`always`;return ne(t?.groupActivation)??n}function Wt(e,t,n){for(let r of e){let e=K(r)??r;!e||t.has(e)||(t.add(e),n.push(e))}}function Gt(e,t,n,r){if(!n||!r)return;let i=K(n)??n;if(!i)return;let a=e.get(t);a||(a=new Map,e.set(t,a)),a.set(i,r)}function Kt(e){let{participants:t,roster:n,fallbackE164:r}=e,i=new Set,a=[];if(t?.length&&Wt(t,i,a),n&&Wt(n.keys(),i,a),a.length===0&&r){let e=K(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 qt(e,t){let n=K(t.senderE164??``);return n?It(e,t.selfE164??void 0).includes(n):!1}function Jt(e){let t=e.msg.senderName&&e.msg.senderE164?`${e.msg.senderName} (${e.msg.senderE164})`:e.msg.senderName??e.msg.senderE164??`Unknown`;ee({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 Yt(e,t){return e.logVerbose(t),Jt({msg:e.msg,groupHistories:e.groupHistories,groupHistoryKey:e.groupHistoryKey,groupHistoryLimit:e.groupHistoryLimit}),{shouldProcess:!1}}function Xt(e){let t=Vt(e.cfg,e.conversationId);if(t.allowlistEnabled&&!t.allowed)return e.logVerbose(`Skipping group message ${e.conversationId} (not in allowlist)`),{shouldProcess:!1};Gt(e.groupMemberNames,e.groupHistoryKey,e.msg.senderE164,e.msg.senderName);let r=Mt(e.cfg,e.agentId),i=Bt(e.msg.body,r.mentionRegexes,e.msg.selfE164),a=u(i),o=qt(e.baseMentionConfig,e.msg),s=o&&n(i,e.cfg);if(a.hasCommand&&!o)return Yt(e,`Ignoring /activation from non-owner in group ${e.conversationId}`);let c=Ft(e.msg,r,e.authDir);e.replyLogger.debug({conversationId:e.conversationId,wasMentioned:c.wasMentioned,...c.details},`group mention debug`);let l=c.wasMentioned,d=Ut({cfg:e.cfg,agentId:e.agentId,sessionKey:e.sessionKey,conversationId:e.conversationId})!==`always`,f=e.msg.selfJid?.replace(/:\\d+/,``),p=e.msg.replyToSenderJid?.replace(/:\\d+/,``),m=e.msg.selfE164?K(e.msg.selfE164):null,h=e.msg.replyToSenderE164?K(e.msg.replyToSenderE164):null,g=re({requireMention:d,canDetectMention:!0,wasMentioned:l,implicitMention:!!(f&&p&&f===p||m&&h&&m===h),shouldBypassMention:s});return e.msg.wasMentioned=g.effectiveWasMentioned,!s&&d&&g.shouldSkip?Yt(e,`Group message stored for context (no mention detected) in ${e.conversationId}: ${e.msg.body}`):{shouldProcess:!0}}function Zt(e,t){e.add(t),t.finally(()=>{e.delete(t)})}function Qt(e){let t=A(e.cfg.session?.store,{agentId:e.storeAgentId}),n=M({storePath:t,sessionKey:e.sessionKey,deliveryContext:{channel:e.channel,to:e.to,accountId:e.accountId},ctx:e.ctx}).catch(n=>{e.warn({error:J(n),storePath:t,sessionKey:e.sessionKey,to:e.to},`failed updating last route`)});Zt(e.backgroundTasks,n)}function $t(e){return e.chatType===`group`?e.conversationId??e.from:e.senderE164?K(e.senderE164)??e.senderE164:e.from.includes(`@`)?q(e.from)??e.from:K(e.from)??e.from}function en(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:a,connectionId:o,skipLog:s}=e,c=Date.now();if(nn(t)){Q.debug(`Suppressed reasoning payload to ${n.from}`);return}let l=e.tableMode??`code`,u=e.chunkMode??`length`,d=Ae(Le(Fe(t.text||``,l)),i,u),f=t.mediaUrls?.length?t.mediaUrls:t.mediaUrl?[t.mediaUrl]:[],p=async(e,t,r=3)=>{let i;for(let a=1;a<=r;a++)try{return await e()}catch(e){i=e;let o=J(e),s=a===r;if(!/closed|reset|timed\s*out|disconnect/i.test(o)||s)throw e;let c=500*a;W(`Retrying ${t} to ${n.from} after failure (${a}/${r-1}) in ${c}ms: ${o}`),await H(c)}throw i};if(f.length===0&&d.length){let e=d.length;for(let[t,r]of d.entries()){let i=Date.now();if(await p(()=>n.reply(r),`text`),!s){let r=Date.now()-i;Q.debug(`Sent chunk ${t+1}/${e} to ${n.from} (${r.toFixed(0)}ms)`)}}a.info({correlationId:n.id??Y(),connectionId:o??null,to:n.from,from:n.to,text:en(t.text,240),mediaUrl:null,mediaSizeBytes:null,mediaKind:null,durationMs:Date.now()-c},`auto-reply sent (text)`);return}let m=[...d];for(let[t,i]of f.entries()){let s=t===0&&m.shift()||void 0;try{let t=await ke(i,{maxBytes:r,localRoots:e.mediaLocalRoots});if(V()&&(W(`Web auto-reply media size: ${(t.buffer.length/(1024*1024)).toFixed(2)}MB`),W(`Web auto-reply media source: ${i} (kind ${t.kind})`)),t.kind===`image`)await p(()=>n.sendMedia({image:t.buffer,caption:s,mimetype:t.contentType}),`media:image`);else if(t.kind===`audio`)await p(()=>n.sendMedia({audio:t.buffer,ptt:!0,mimetype:t.contentType,caption:s}),`media:audio`);else if(t.kind===`video`)await p(()=>n.sendMedia({video:t.buffer,caption:s,mimetype:t.contentType}),`media:video`);else{let e=t.fileName??i.split(`/`).pop()??`file`,r=t.contentType??`application/octet-stream`;await p(()=>n.sendMedia({document:t.buffer,fileName:e,caption:s,mimetype:r}),`media:document`)}Q.info(`Sent media reply to ${n.from} (${(t.buffer.length/(1024*1024)).toFixed(2)}MB)`),a.info({correlationId:n.id??Y(),connectionId:o??null,to:n.from,from:n.to,text:s??null,mediaUrl:i,mediaSizeBytes:t.buffer.length,mediaKind:t.kind,durationMs:Date.now()-c},`auto-reply sent (media)`)}catch(e){if(Q.error(`Failed sending web media to ${n.from}: ${J(e)}`),a.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=[m.shift()??s??``,t].filter(Boolean).join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-CSbOOCsu.js";import{Qa as e,Xa as t,so as n,to as r}from"./config-B-UcenbQ.js";import"./dispatch-
|
|
1
|
+
import"./paths-CSbOOCsu.js";import{Qa as e,Xa as t,so as n,to as r}from"./config-B-UcenbQ.js";import"./dispatch-DzdnDix3.js";import"./paths-BZu7pylC.js";import"./github-copilot-token-CZKe5l5K.js";import"./logger-C9qBS3pT.js";import"./proxy-env-CPkJIzpH.js";import"./send-Cm3DUp7B.js";import"./fetch-DBRI0sKI.js";import"./channel-activity-BmtBYQiY.js";import"./fetch-guard-DFkrvefb.js";import"./local-roots-CJmQubXD.js";import"./ir-CtV16xaT.js";import"./render-DGmfCIRG.js";import"./tables-BSCz74OW.js";import"./send-BZLHNxgv.js";import"./target-errors-IUyUVvTY.js";import"./send-DEXJLpyz.js";import"./deliver-C_gmqump.js";import"./diagnostic-BjNsv_MZ.js";import"./pi-model-discovery-KbgCHo1f.js";import"./audio-transcription-runner-CDEClJ7w.js";import"./image-Bkivxhr_.js";import"./api-key-rotation-C2RTMqbG.js";import"./proxy-fetch-zQZYbMVb.js";import"./tokens-BzJXWHOV.js";import"./commands-registry-DueC2CXY.js";import"./send-NZQ7cj5i.js";import"./outbound-attachment-Diu_o1ga.js";import"./send-_fKv95OZ.js";import"./sqlite-9K32c8mU.js";import"./fetch-DMcdYoAa.js";import"./skill-commands-B06QVSkm.js";import"./manager-DDgXS0Q8.js";import{n as i,t as a}from"./channel-web-T7e1VB_g.js";import{t as o}from"./outbound-RGOrt1pb.js";import{i as s,t as c}from"./session-DfMpA14O.js";import{t as l}from"./login-CnJL85zg.js";export{t as WA_WEB_AUTH_DIR,c as createWaSocket,e as logWebSelfId,l as loginWeb,a as monitorWebChannel,i as monitorWebInbox,r as pickWebChannel,o as sendMessageWhatsApp,s as waitForWaConnection,n as webAuthExists};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{gt as e,ht as t,s as n,vt as r,xt as i}from"./paths-Ck_GIp7q.js";import{B as a,K as o,M as s,O as c,R as l,d as u,l as d,m as f,n as p,u as m,x as h,y as g}from"./utils-CfTrvEp0.js";import"./paths-D_Oppcui.js";import{Ct as _,Dr as v,Gs as y,Hn as b,Hs as x,Kn as S,Ks as C,Tt as w,Ui as T,Us as E,Vn as D,Ws as O,Ys as k,Zs as A,cc as j,tc as M,xt as N}from"./model-auth-BJBZCtjT.js";import"./target-errors-BOqeJ_3F.js";import{A as ee,B as te,C as ne,D as re,E as P,F as ie,G as ae,I as oe,K as F,L as I,M as se,N as L,O as R,P as ce,R as z,S as le,T as ue,U as B,V,W as H,X as U,Y as W,Z as G,_ as K,b as de,g as fe,h as pe,j as me,m as he,q as ge,r as _e,v as ve,w as ye,y as be,z as xe}from"./dispatch
|
|
1
|
+
import{gt as e,ht as t,s as n,vt as r,xt as i}from"./paths-Ck_GIp7q.js";import{B as a,K as o,M as s,O as c,R as l,d as u,l as d,m as f,n as p,u as m,x as h,y as g}from"./utils-CfTrvEp0.js";import"./paths-D_Oppcui.js";import{Ct as _,Dr as v,Gs as y,Hn as b,Hs as x,Kn as S,Ks as C,Tt as w,Ui as T,Us as E,Vn as D,Ws as O,Ys as k,Zs as A,cc as j,tc as M,xt as N}from"./model-auth-BJBZCtjT.js";import"./target-errors-BOqeJ_3F.js";import{A as ee,B as te,C as ne,D as re,E as P,F as ie,G as ae,I as oe,K as F,L as I,M as se,N as L,O as R,P as ce,R as z,S as le,T as ue,U as B,V,W as H,X as U,Y as W,Z as G,_ as K,b as de,g as fe,h as pe,j as me,m as he,q as ge,r as _e,v as ve,w as ye,y as be,z as xe}from"./dispatch--4Vuy9oL.js";import{$ as Se,ct as Ce,lt as we}from"./send-CO2UHcEv.js";import{Mt as Te,Nt as Ee,Pt as De}from"./send-DE5nZ2st.js";import"./proxy-env-BnKSJOGR.js";import"./github-copilot-token-DmcuLuc7.js";import"./send-BUrpCp2y.js";import"./fetch-guard-BSsJgDhB.js";import"./deliver-VMHoHBzn.js";import"./diagnostic-DVzH_MLb.js";import"./pi-model-discovery-Db7ABtcq.js";import{f as Oe}from"./audio-transcription-runner-DhJf4m1B.js";import"./image-D2kjZFi6.js";import"./api-key-rotation-CDbYWBVm.js";import{t as ke}from"./local-roots-BH5tSQLl.js";import"./proxy-fetch-o_y6bhRh.js";import"./tokens-Bh7fgb-2.js";import"./commands-registry-CqcYbN0q.js";import{a as Ae,d as je,h as Me,m as Ne,s as Pe}from"./ir-BtYOx2uz.js";import"./render-DhTJXP1U.js";import"./send-B31irjnU.js";import"./outbound-attachment-Fq-8ay7E.js";import"./fetch-p43DsBwY.js";import"./send-ITDY5IkL.js";import"./sqlite-DcxSH4wB.js";import{n as Fe}from"./channel-activity-Dka0S6Hm.js";import{t as Ie}from"./tables-B-mnbiT0.js";import"./fetch-BmdDzZ-O.js";import"./skill-commands-B75FKFYa.js";import{r as Le}from"./active-listener-DyTvu9gc.js";import"./manager-uBkiNkiS.js";import{i as Re,r as ze,t as Be}from"./outbound-NPBHGutj.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-qFBaqGPJ.js";import{t as We}from"./login-JSBmsJlB.js";import{randomUUID as Ge}from"node:crypto";import{DisconnectReason as Ke,downloadMediaMessage as qe,extractMessageContent as Je,getContentType as Ye,isJidGroup as Xe,normalizeMessageContent as Ze}from"@whiskeysockets/baileys";const Qe={initialMs:2e3,maxMs:3e4,factor:1.8,jitter:.25,maxAttempts:12};function $e(e,t){let n=t??e.web?.heartbeatSeconds;return typeof n==`number`&&n>0?n:60}function et(e,t){let n=e.web?.reconnect??{},r=t??{},i={...Qe,...n,...r};return i.initialMs=Math.max(250,i.initialMs),i.maxMs=Math.max(i.initialMs,i.maxMs),i.factor=p(i.factor,1.1,10),i.jitter=p(i.jitter,0,1),i.maxAttempts=Math.max(0,Math.floor(i.maxAttempts)),i}function J(){return Ge()}const Y=c(`gateway/channels/whatsapp`),X=Y.child(`inbound`),Z=Y.child(`outbound`),tt=Y.child(`heartbeat`);function nt(){return setInterval(()=>{},1e6).unref(),new Promise(()=>{})}const rt=se({ttlMs:20*6e4,maxSize:5e3});function it(e){return rt.check(e)}const at=new Set([`FN`,`N`,`TEL`]);function ot(e){if(!e)return{phones:[]};let t=e.split(/\r?\n/),n,r,i=[];for(let e of t){let t=e.trim();if(!t)continue;let a=t.indexOf(`:`);if(a===-1)continue;let o=t.slice(0,a).toUpperCase(),s=t.slice(a+1).trim();if(!s)continue;let c=st(o);if(!c||!at.has(c))continue;let l=ct(s);if(l){if(c===`FN`&&!r){r=lt(l);continue}if(c===`N`&&!n){n=lt(l);continue}if(c===`TEL`){let e=ut(l);e&&i.push(e)}}}return{name:r??n,phones:i}}function st(e){let[t]=e.split(`;`);if(!t)return;let n=t.split(`.`);return n[n.length-1]||void 0}function ct(e){return e.replace(/\\n/gi,` `).replace(/\\,/g,`,`).replace(/\\;/g,`;`).trim()}function lt(e){return e.replace(/;/g,` `).replace(/\s+/g,` `).trim()}function ut(e){let t=e.trim();return t?t.toLowerCase().startsWith(`tel:`)?t.slice(4).trim():t:``}function Q(e){return Ze(e)}function dt(e){if(!e)return;let t=Ye(e),n=t?e[t]:void 0,r=n&&typeof n==`object`&&`contextInfo`in n?n.contextInfo:void 0;if(r)return r;let i=e.extendedTextMessage?.contextInfo??e.imageMessage?.contextInfo??e.videoMessage?.contextInfo??e.documentMessage?.contextInfo??e.audioMessage?.contextInfo??e.stickerMessage?.contextInfo??e.buttonsResponseMessage?.contextInfo??e.listResponseMessage?.contextInfo??e.templateButtonReplyMessage?.contextInfo??e.interactiveResponseMessage?.contextInfo??e.buttonsMessage?.contextInfo??e.listMessage?.contextInfo;if(i)return i;for(let t of Object.values(e)){if(!t||typeof t!=`object`||!(`contextInfo`in t))continue;let e=t.contextInfo;if(e)return e}}function ft(e){let t=Q(e);if(!t)return;let n=[t.extendedTextMessage?.contextInfo?.mentionedJid,t.extendedTextMessage?.contextInfo?.quotedMessage?.extendedTextMessage?.contextInfo?.mentionedJid,t.imageMessage?.contextInfo?.mentionedJid,t.videoMessage?.contextInfo?.mentionedJid,t.documentMessage?.contextInfo?.mentionedJid,t.audioMessage?.contextInfo?.mentionedJid,t.stickerMessage?.contextInfo?.mentionedJid,t.buttonsResponseMessage?.contextInfo?.mentionedJid,t.listResponseMessage?.contextInfo?.mentionedJid].flatMap(e=>e??[]).filter(Boolean);if(n.length!==0)return Array.from(new Set(n))}function pt(e){let t=Q(e);if(!t)return;let n=Je(t),r=[t,n&&n!==t?n:void 0];for(let e of r){if(!e)continue;if(typeof e.conversation==`string`&&e.conversation.trim())return e.conversation.trim();let t=e.extendedTextMessage?.text;if(t?.trim())return t.trim();let n=e.imageMessage?.caption??e.videoMessage?.caption??e.documentMessage?.caption;if(n?.trim())return n.trim()}let i=ht(t)??(n&&n!==t?ht(n):void 0);if(i)return i}function mt(e){let t=Q(e);if(t){if(t.imageMessage)return`<media:image>`;if(t.videoMessage)return`<media:video>`;if(t.audioMessage)return`<media:audio>`;if(t.documentMessage)return`<media:document>`;if(t.stickerMessage)return`<media:sticker>`}}function ht(e){let t=Q(e);if(!t)return;let n=t.contactMessage??void 0;if(n){let{name:e,phones:t}=gt({displayName:n.displayName,vcard:n.vcard});return _t(e,t)}let r=t.contactsArrayMessage?.contacts??void 0;if(!(!r||r.length===0))return vt(r.map(e=>gt({displayName:e.displayName,vcard:e.vcard})).map(e=>yt(e.name,e.phones)).filter(e=>!!e),r.length)}function gt(e){let t=(e.displayName??``).trim(),n=ot(e.vcard??void 0);return{name:t||n.name,phones:n.phones}}function _t(e,t){let n=yt(e,t);return n?`<contact: ${n}>`:`<contact>`}function vt(e,t){let n=e.map(e=>e.trim()).filter(Boolean);if(n.length===0)return`<contacts: ${t} ${t===1?`contact`:`contacts`}>`;let r=Math.max(t-n.length,0),i=r>0?` +${r} more`:``;return`<contacts: ${n.join(`, `)}${i}>`}function yt(e,t){let n=[e,bt(t)].filter(e=>!!e);if(n.length!==0)return n.join(`, `)}function bt(e){let t=e?.map(e=>e.trim()).filter(Boolean)??[];if(t.length===0)return;let{shown:n,remaining:r}=xt(t,t.length,1),[i]=n;if(i)return r===0?i:`${i} (+${r} more)`}function xt(e,t,n){let r=e.slice(0,n);return{shown:r,remaining:Math.max(t-r.length,0)}}function St(e){let t=Q(e);if(!t)return null;let n=t.liveLocationMessage??void 0;if(n){let e=n.degreesLatitude,t=n.degreesLongitude;if(e!=null&&t!=null){let r=Number(e),i=Number(t);if(Number.isFinite(r)&&Number.isFinite(i))return{latitude:r,longitude:i,accuracy:n.accuracyInMeters??void 0,caption:n.caption??void 0,source:`live`,isLive:!0}}}let r=t.locationMessage??void 0;if(r){let e=r.degreesLatitude,t=r.degreesLongitude;if(e!=null&&t!=null){let n=Number(e),i=Number(t);if(Number.isFinite(n)&&Number.isFinite(i)){let e=!!r.isLive;return{latitude:n,longitude:i,accuracy:r.accuracyInMeters??void 0,name:r.name??void 0,address:r.address??void 0,caption:r.comment??void 0,source:e?`live`:r.name||r.address?`place`:`pin`,isLive:e}}}}return null}function Ct(e){let t=Q(e);if(!t)return null;let n=dt(t),r=Ze(n?.quotedMessage);if(!r)return null;let i=St(r),a=i?Ce(i):void 0,o=[pt(r),a].filter(Boolean).join(`
|
|
2
2
|
`).trim();if(o||=mt(r),!o){let e=r?Ye(r):void 0;return l(`Quoted message missing extractable body${e?` (type ${e})`:``}`),null}let s=n?.participant??void 0,c=s?m(s)??s:void 0,u=c??`unknown sender`;return{id:n?.stanzaId?String(n.stanzaId):void 0,body:o,sender:u,senderJid:s,senderE164:c}}function wt(e){return Ee({providerConfigPresent:e.providerConfigPresent,groupPolicy:e.groupPolicy,defaultGroupPolicy:e.defaultGroupPolicy})}async function Tt(e){let t=T(),n=x({cfg:t,accountId:e.accountId}),r=n.dmPolicy??`pairing`,i=n.allowFrom??[],a=await B({provider:`whatsapp`,accountId:n.accountId,dmPolicy:r}),o=i.length===0&&e.selfE164?[e.selfE164]:[],s=i.length>0?i:o,c=n.groupAllowFrom??(i.length>0?i:void 0),f=e.from===e.selfE164,p=n.selfChatMode??d(e.selfE164,i),m=typeof e.pairingGraceMs==`number`&&e.pairingGraceMs>0?e.pairingGraceMs:3e4,h=typeof e.connectedAtMs==`number`&&typeof e.messageTimestampMs==`number`&&e.messageTimestampMs<e.connectedAtMs-m,g=Te(t),{groupPolicy:_,providerMissingFallbackApplied:v}=wt({providerConfigPresent:t.channels?.whatsapp!==void 0,groupPolicy:n.groupPolicy,defaultGroupPolicy:g});De({providerMissingFallbackApplied:v,providerKey:`whatsapp`,accountId:n.accountId,log:e=>l(e)});let y=u(e.from),b=typeof e.senderE164==`string`?u(e.senderE164):null,S=ae({isGroup:e.group,dmPolicy:r,groupPolicy:_,allowFrom:e.group?i:s,groupAllowFrom:c,storeAllowFrom:a,isSenderAllowed:t=>{if(t.includes(`*`))return!0;let n=new Set(t.map(e=>u(String(e))).filter(e=>!!e));return!e.group&&f?!0:e.group?!!(b&&n.has(b)):n.has(y)}});if(e.group&&S.decision!==`allow`)return S.reason===`groupPolicy=disabled`?l(`Blocked group message (groupPolicy: disabled)`):S.reason===`groupPolicy=allowlist (empty allowlist)`?l(`Blocked group message (groupPolicy: allowlist, no groupAllowFrom)`):l(`Blocked group message from ${e.senderE164??`unknown sender`} (groupPolicy: allowlist)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId};if(!e.group){if(e.isFromMe&&!f)return l(`Skipping outbound DM (fromMe); no pairing reply needed.`),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId};if(S.decision===`block`&&S.reason===`dmPolicy=disabled`)return l(`Blocked dm (dmPolicy: disabled)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId};if(S.decision===`pairing`&&!f){let t=e.from;return h?l(`Skipping pairing reply for historical DM from ${t}.`):await ge({channel:`whatsapp`,senderId:t,senderIdLine:`Your WhatsApp phone number: ${t}`,meta:{name:(e.pushName??``).trim()||void 0},upsertPairingRequest:async({id:e,meta:t})=>await Se({channel:`whatsapp`,id:e,accountId:n.accountId,meta:t}),onCreated:()=>{l(`whatsapp pairing request sender=${t} name=${e.pushName??`unknown`}`)},sendPairingReply:async t=>{await e.sock.sendMessage(e.remoteJid,{text:t})},onReplyError:e=>{l(`whatsapp pairing reply failed for ${t}: ${String(e)}`)}}),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId}}if(S.decision!==`allow`)return l(`Blocked unauthorized sender ${e.from} (dmPolicy=${r})`),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId}}return{allowed:!0,shouldMarkRead:!0,isSelfChat:p,resolvedAccountId:n.accountId}}function Et(e){return Ze(e)}function Dt(e){let t=e.imageMessage?.mimetype??e.videoMessage?.mimetype??e.documentMessage?.mimetype??e.audioMessage?.mimetype??e.stickerMessage?.mimetype??void 0;if(t)return t;if(e.audioMessage)return`audio/ogg; codecs=opus`;if(e.imageMessage)return`image/jpeg`;if(e.videoMessage)return`video/mp4`;if(e.stickerMessage)return`image/webp`}async function Ot(e,t){let n=Et(e.message);if(!n)return;let r=Dt(n),i=n.documentMessage?.fileName??void 0;if(!(!n.imageMessage&&!n.videoMessage&&!n.documentMessage&&!n.audioMessage&&!n.stickerMessage))try{return{buffer:await qe(e,`buffer`,{},{reuploadRequest:t.updateMediaMessage,logger:t.logger}),mimetype:r,fileName:i}}catch(e){l(`downloadMediaMessage failed: ${String(e)}`);return}}function kt(e){Fe({channel:`whatsapp`,accountId:e,direction:`outbound`})}function At(e){return typeof e==`object`&&e&&`key`in e?String(e.key?.id??`unknown`):`unknown`}function jt(e){return{sendMessage:async(t,n,r,i,a)=>{let o=h(t),s;if(r&&i)if(i.startsWith(`image/`))s={image:r,caption:n||void 0,mimetype:i};else if(i.startsWith(`audio/`))s={audio:r,ptt:!0,mimetype:i};else if(i.startsWith(`video/`)){let e=a?.gifPlayback;s={video:r,caption:n||void 0,mimetype:i,...e?{gifPlayback:!0}:{}}}else s={document:r,fileName:a?.fileName?.trim()||`file`,caption:n||void 0,mimetype:i};else s={text:n};let c=await e.sock.sendMessage(o,s);return kt(a?.accountId??e.defaultAccountId),{messageId:At(c)}},sendPoll:async(t,n)=>{let r=h(t),i=await e.sock.sendMessage(r,{poll:{name:n.question,values:n.options,selectableCount:n.maxSelections??1}});return kt(e.defaultAccountId),{messageId:At(i)}},sendReaction:async(t,n,r,i,a)=>{let o=h(t);await e.sock.sendMessage(o,{react:{text:r,key:{remoteJid:o,id:n,fromMe:i,participant:a?h(a):void 0}}})},sendComposingTo:async t=>{let n=h(t);await e.sock.sendPresenceUpdate(`composing`,n)}}}async function Mt(e){let t=o({module:`web-inbound`}),n=c(`gateway/channels/whatsapp`).child(`inbound`),r=await Ue(!1,e.verbose,{authDir:e.authDir});await Ve(r);let i=Date.now(),s=null,u=new Promise(e=>{s=e}),d=e=>{if(!s)return;let t=s;s=null,t(e)};try{await r.sendPresenceUpdate(`available`),a()&&l(`Sent global 'available' presence on connect`)}catch(e){l(`Failed to send 'available' presence on connect: ${String(e)}`)}let p=r.user?.id,h=p?m(p):null,g=le({debounceMs:e.debounceMs??0,buildKey:e=>{let t=e.chatType===`group`?e.senderJid??e.senderE164??e.senderName??e.from:e.from;if(!t)return null;let n=e.chatType===`group`?e.chatId:e.from;return`${e.accountId}:${n}:${t}`},shouldDebounce:e.shouldDebounce,onFlush:async t=>{let n=t.at(-1);if(!n)return;if(t.length===1){await e.onMessage(n);return}let r=new Set;for(let e of t)for(let t of e.mentionedJids??[])r.add(t);let i=t.map(e=>e.body).filter(Boolean).join(`
|
|
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,y=300*1e3,b=r.signalRepository?.lidMapping,x=async t=>f(t,{authDir:e.authDir,lidLookup:b}),S=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 x(e.id)??e.id)??[])).filter(Boolean)??[],i={subject:t.subject,participants:n,expires:Date.now()+y};return _.set(e,i),i}catch(t){return l(`Failed to fetch group metadata for ${e}: ${String(t)}`),{expires:Date.now()+y}}},C=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 x(a);if(!c)return null;let l=o?s?await x(s):null:c,u,d;if(o){let e=await S(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:h,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},w=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()&&l(`Marked message ${n} as read for ${i}${o?` (participant ${o})`:``}`)}catch(e){l(`Failed to mark message ${n} read: ${String(e)}`)}else n&&s.isSelfChat&&a()&&l(`Self-chat mode: skipping read receipt for ${n}`)},T=async t=>{let n=St(t.message??void 0),i=n?Ce(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,u;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 v(n.buffer,n.mimetype,`inbound`,t,n.fileName)).path,c=n.mimetype,u=n.fileName}}catch(e){l(`Inbound media download failed: ${String(e)}`)}return{body:a,location:n??void 0,replyContext:o,mediaPath:s,mediaType:c,mediaFileName:u}},E=async(e,i,a)=>{let o=i.remoteJid,s=async()=>{try{await r.sendPresenceUpdate(`composing`,o)}catch(e){l(`Presence update failed: ${String(e)}`)}},c=async e=>{await r.sendMessage(o,{text:e})},u=async e=>{await r.sendMessage(o,e)},d=i.messageTimestampMs,f=ft(e.message),m=e.pushName??void 0;t.info({from:i.from,to:h??`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:h??`me`,accountId:i.access.resolvedAccountId,body:a.body,pushName:m,timestamp:d,chatType:i.group?`group`:`direct`,chatId:i.remoteJid,senderJid:i.participantJid,senderE164:i.senderE164??void 0,senderName:m,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:f??void 0,selfJid:p,selfE164:h,fromMe:!!e.key?.fromMe,location:a.location??void 0,sendComposing:s,reply:c,sendMedia:u,mediaPath:a.mediaPath,mediaType:a.mediaType,mediaFileName:a.mediaFileName};try{Promise.resolve(g.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)}`)}},D=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 C(n);if(!r||(await w(r),t.type===`append`))continue;let i=await T(n);i&&await E(n,r,i)}};r.ev.on(`messages.upsert`,D);let O=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`,O),{close:async()=>{try{let e=r.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)),r.ws?.close()}catch(e){l(`Socket close failed: ${String(e)}`)}},onClose:u,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:re(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=>m(e,n)??e).filter(Boolean):[],selfE164:e.selfE164??(e.selfJid?m(e.selfJid,n):null),selfJid:e.selfJid?e.selfJid.replace(/:\\d+/,``):null}}function Ft(e,t,n){let r=e=>R(e),i=d(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:R(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=>u(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(n){let r=I({agentId:n.agentId,channel:`whatsapp`,accountId:n.route.accountId,peer:{kind:n.msg.chatType===`group`?`group`:`direct`,id:n.peerId},dmScope:n.cfg.session?.dmScope,identityLinks:n.cfg.session?.identityLinks}),i=e({agentId:n.agentId,mainKey:t});return{sessionKey:r,mainSessionKey:i,lastRoutePolicy:z({sessionKey:r,mainSessionKey:i})}}async function Bt(e){let t=e.cfg.broadcast?.[e.peerId];if(!t||!Array.isArray(t)||t.length===0)return!1;let n=e.cfg.broadcast?.strategy||`parallel`;X.info(`Broadcasting message to ${t.length} agents (${n})`);let r=e.cfg.agents?.list?.map(e=>i(e.id)),a=(r?.length??0)>0,o=e.msg.chatType===`group`?e.groupHistories.get(e.groupHistoryKey)??[]:void 0,s=async t=>{let n=i(t);if(a&&!r?.includes(n))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:n}),c={...e.route,agentId:n,...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(n===`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=S({From:t,ChatType:`group`,Provider:`whatsapp`})?.id,r=e.channels?.whatsapp,i=!!(r?.groupAllowFrom?.length||r?.allowFrom?.length);return D({cfg:e,channel:`whatsapp`,groupId:n??t,hasGroupAllowFrom:i})}function Ut(e,t){let n=S({From:t,ChatType:`group`,Provider:`whatsapp`})?.id;return b({cfg:e,channel:`whatsapp`,groupId:n??t})}function Wt(e){let t=N(n(e.cfg.session?.store,{agentId:e.agentId}))[e.sessionKey],r=Ut(e.cfg,e.conversationId)?`mention`:`always`;return L(t?.groupActivation)??r}function Gt(e,t,n){for(let r of e){let e=u(r)??r;!e||t.has(e)||(t.add(e),n.push(e))}}function Kt(e,t,n,r){if(!n||!r)return;let i=u(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=u(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=u(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=ce(r),a=Jt(e.baseMentionConfig,e.msg),o=a&&ue(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`,d=e.msg.selfJid?.replace(/:\\d+/,``),f=e.msg.replyToSenderJid?.replace(/:\\d+/,``),p=e.msg.selfE164?u(e.msg.selfE164):null,m=e.msg.replyToSenderE164?u(e.msg.replyToSenderE164):null,h=fe({requireMention:l,canDetectMention:!0,wasMentioned:c,implicitMention:!!(d&&f&&d===f||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=n(e.cfg.session?.store,{agentId:e.storeAgentId}),r=w({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,r)}function en(e){return e.chatType===`group`?e.conversationId??e.from:e.senderE164?u(e.senderE164)??e.senderE164:e.from.includes(`@`)?m(e.from)??e.from:u(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:o,connectionId:s,skipLog:c}=e,u=Date.now();if(nn(t)){Z.debug(`Suppressed reasoning payload to ${n.from}`);return}let d=e.tableMode??`code`,f=e.chunkMode??`length`,p=je(Re(Ie(t.text||``,d)),i,f),m=t.mediaUrls?.length?t.mediaUrls:t.mediaUrl?[t.mediaUrl]:[],h=async(e,t,r=3)=>{let i;for(let a=1;a<=r;a++)try{return await e()}catch(e){i=e;let o=q(e),s=a===r;if(!/closed|reset|timed\s*out|disconnect/i.test(o)||s)throw e;let c=500*a;l(`Retrying ${t} to ${n.from} after failure (${a}/${r-1}) in ${c}ms: ${o}`),await g(c)}throw i};if(m.length===0&&p.length){let e=p.length;for(let[t,r]of p.entries()){let i=Date.now();if(await h(()=>n.reply(r),`text`),!c){let r=Date.now()-i;Z.debug(`Sent chunk ${t+1}/${e} to ${n.from} (${r.toFixed(0)}ms)`)}}o.info({correlationId:n.id??J(),connectionId:s??null,to:n.from,from:n.to,text:$(t.text,240),mediaUrl:null,mediaSizeBytes:null,mediaKind:null,durationMs:Date.now()-u},`auto-reply sent (text)`);return}let _=[...p];for(let[t,i]of m.entries()){let c=t===0&&_.shift()||void 0;try{let t=await Ae(i,{maxBytes:r,localRoots:e.mediaLocalRoots});if(a()&&(l(`Web auto-reply media size: ${(t.buffer.length/(1024*1024)).toFixed(2)}MB`),l(`Web auto-reply media source: ${i} (kind ${t.kind})`)),t.kind===`image`)await h(()=>n.sendMedia({image:t.buffer,caption:c,mimetype:t.contentType}),`media:image`);else if(t.kind===`audio`)await h(()=>n.sendMedia({audio:t.buffer,ptt:!0,mimetype:t.contentType,caption:c}),`media:audio`);else if(t.kind===`video`)await h(()=>n.sendMedia({video:t.buffer,caption:c,mimetype:t.contentType}),`media:video`);else{let e=t.fileName??i.split(`/`).pop()??`file`,r=t.contentType??`application/octet-stream`;await h(()=>n.sendMedia({document:t.buffer,fileName:e,caption:c,mimetype:r}),`media:document`)}Z.info(`Sent media reply to ${n.from} (${(t.buffer.length/(1024*1024)).toFixed(2)}MB)`),o.info({correlationId:n.id??J(),connectionId:s??null,to:n.from,from:n.to,text:c??null,mediaUrl:i,mediaSizeBytes:t.buffer.length,mediaKind:t.kind,durationMs:Date.now()-u},`auto-reply sent (media)`)}catch(e){if(Z.error(`Failed sending web media to ${n.from}: ${q(e)}`),o.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()??c??``,t].filter(Boolean).join(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,F as r,H as i,I as a,L as o,M as s,N as c,O as l,P as u,Q as d,R as f,S as p,T as m,U as h,V as g,W as _,X as v,Y as y,Z as b,_ as x,b as ee,f as te,g as S,h as ne,j as re,k as ie,m as ae,p as oe,t as se,w as ce,x as le,y as ue,z as C}from"./dispatch-
|
|
1
|
+
import{A as e,C as t,D as n,F as r,H as i,I as a,L as o,M as s,N as c,O as l,P as u,Q as d,R as f,S as p,T as m,U as h,V as g,W as _,X as v,Y as y,Z as b,_ as x,b as ee,f as te,g as S,h as ne,j as re,k as ie,m as ae,p as oe,t as se,w as ce,x as le,y as ue,z as C}from"./dispatch-v8f5j6tA.js";import{Mt as w,Nt as T,jt as E}from"./send-Bb-c2Wfw.js";import{Dt as D,Et as O,Mt as k,kt as A,s as j}from"./paths-DJeQBg0P.js";import{At as de,Ea as M,Et as N,Gn as fe,Hn as P,Kn as pe,Ot as F,Un as me,Wn as he,Yn as I,Zn as ge,br as L,hr as R,mr as z,oi as B,sc as _e,tr as V}from"./model-auth-dsGPdWPW.js";import{B as H,C as ve,K as U,M as ye,O as be,R as W,T as G,h as K,m as q,o as xe,p as Se,v as Ce}from"./logger-DeJtHfIZ.js";import"./paths-BAheUa28.js";import"./proxy-env-B8lWNmLK.js";import"./github-copilot-token-Be6rNfqm.js";import"./send-B1GxVX6l.js";import"./fetch-guard-PzaEpcQ7.js";import{X as we,Y as Te,tt as Ee}from"./send-CwkiYqPX.js";import"./deliver-BxZhcYJx.js";import"./diagnostic-BwtamUsr.js";import"./pi-model-discovery-CqWtTmQH.js";import{f as De}from"./audio-transcription-runner-aZJ9cNlA.js";import"./image-DD04cXIg.js";import"./api-key-rotation-CsGG9jhG.js";import{t as Oe}from"./local-roots-DUN2ttYv.js";import"./proxy-fetch--DcTyl5K.js";import"./tokens-_Nmie3Ug.js";import"./commands-registry-Dw8t__8o.js";import{a as ke,d as Ae,h as je,m as Me,s as Ne}from"./ir-DLYol2vv.js";import"./render-CC0AV0OP.js";import"./target-errors-BTSekDWl.js";import"./send-V3uD9QA4.js";import"./outbound-attachment-nlK2LbIg.js";import"./fetch-rIayI79w.js";import"./send-CRV-DPpI.js";import"./sqlite-DnpnF8rT.js";import{n as Pe}from"./channel-activity-Bco4vhqQ.js";import{t as Fe}from"./tables-CsIFrUA3.js";import"./fetch-B0zJKaR8.js";import"./skill-commands-BGdnhkBW.js";import{r as Ie}from"./active-listener-pDll9dbF.js";import"./manager-Bpp6SEQN.js";import{i as Le,r as Re,t as ze}from"./outbound-Dx62hg78.js";import{i as Be,n as J,r as Ve,t as He}from"./session-GTab5xF7.js";import{t as Ue}from"./login-hW9p9jux.js";import{randomUUID as We}from"node:crypto";import{DisconnectReason as Ge,downloadMediaMessage as Ke,extractMessageContent as qe,getContentType as Je,isJidGroup as Ye,normalizeMessageContent as Xe}from"@whiskeysockets/baileys";const Ze={initialMs:2e3,maxMs:3e4,factor:1.8,jitter:.25,maxAttempts:12};function Qe(e,t){let n=t??e.web?.heartbeatSeconds;return typeof n==`number`&&n>0?n:60}function $e(e,t){let n=e.web?.reconnect??{},r=t??{},i={...Ze,...n,...r};return i.initialMs=Math.max(250,i.initialMs),i.maxMs=Math.max(i.initialMs,i.maxMs),i.factor=xe(i.factor,1.1,10),i.jitter=xe(i.jitter,0,1),i.maxAttempts=Math.max(0,Math.floor(i.maxAttempts)),i}function Y(){return We()}const X=be(`gateway/channels/whatsapp`),Z=X.child(`inbound`),Q=X.child(`outbound`),et=X.child(`heartbeat`);function tt(){return setInterval(()=>{},1e6).unref(),new Promise(()=>{})}const nt=f({ttlMs:20*6e4,maxSize:5e3});function rt(e){return nt.check(e)}const it=new Set([`FN`,`N`,`TEL`]);function at(e){if(!e)return{phones:[]};let t=e.split(/\r?\n/),n,r,i=[];for(let e of t){let t=e.trim();if(!t)continue;let a=t.indexOf(`:`);if(a===-1)continue;let o=t.slice(0,a).toUpperCase(),s=t.slice(a+1).trim();if(!s)continue;let c=ot(o);if(!c||!it.has(c))continue;let l=st(s);if(l){if(c===`FN`&&!r){r=ct(l);continue}if(c===`N`&&!n){n=ct(l);continue}if(c===`TEL`){let e=lt(l);e&&i.push(e)}}}return{name:r??n,phones:i}}function ot(e){let[t]=e.split(`;`);if(!t)return;let n=t.split(`.`);return n[n.length-1]||void 0}function st(e){return e.replace(/\\n/gi,` `).replace(/\\,/g,`,`).replace(/\\;/g,`;`).trim()}function ct(e){return e.replace(/;/g,` `).replace(/\s+/g,` `).trim()}function lt(e){let t=e.trim();return t?t.toLowerCase().startsWith(`tel:`)?t.slice(4).trim():t:``}function $(e){return Xe(e)}function ut(e){if(!e)return;let t=Je(e),n=t?e[t]:void 0,r=n&&typeof n==`object`&&`contextInfo`in n?n.contextInfo:void 0;if(r)return r;let i=e.extendedTextMessage?.contextInfo??e.imageMessage?.contextInfo??e.videoMessage?.contextInfo??e.documentMessage?.contextInfo??e.audioMessage?.contextInfo??e.stickerMessage?.contextInfo??e.buttonsResponseMessage?.contextInfo??e.listResponseMessage?.contextInfo??e.templateButtonReplyMessage?.contextInfo??e.interactiveResponseMessage?.contextInfo??e.buttonsMessage?.contextInfo??e.listMessage?.contextInfo;if(i)return i;for(let t of Object.values(e)){if(!t||typeof t!=`object`||!(`contextInfo`in t))continue;let e=t.contextInfo;if(e)return e}}function dt(e){let t=$(e);if(!t)return;let n=[t.extendedTextMessage?.contextInfo?.mentionedJid,t.extendedTextMessage?.contextInfo?.quotedMessage?.extendedTextMessage?.contextInfo?.mentionedJid,t.imageMessage?.contextInfo?.mentionedJid,t.videoMessage?.contextInfo?.mentionedJid,t.documentMessage?.contextInfo?.mentionedJid,t.audioMessage?.contextInfo?.mentionedJid,t.stickerMessage?.contextInfo?.mentionedJid,t.buttonsResponseMessage?.contextInfo?.mentionedJid,t.listResponseMessage?.contextInfo?.mentionedJid].flatMap(e=>e??[]).filter(Boolean);if(n.length!==0)return Array.from(new Set(n))}function ft(e){let t=$(e);if(!t)return;let n=qe(t),r=[t,n&&n!==t?n:void 0];for(let e of r){if(!e)continue;if(typeof e.conversation==`string`&&e.conversation.trim())return e.conversation.trim();let t=e.extendedTextMessage?.text;if(t?.trim())return t.trim();let n=e.imageMessage?.caption??e.videoMessage?.caption??e.documentMessage?.caption;if(n?.trim())return n.trim()}let i=mt(t)??(n&&n!==t?mt(n):void 0);if(i)return i}function pt(e){let t=$(e);if(t){if(t.imageMessage)return`<media:image>`;if(t.videoMessage)return`<media:video>`;if(t.audioMessage)return`<media:audio>`;if(t.documentMessage)return`<media:document>`;if(t.stickerMessage)return`<media:sticker>`}}function mt(e){let t=$(e);if(!t)return;let n=t.contactMessage??void 0;if(n){let{name:e,phones:t}=ht({displayName:n.displayName,vcard:n.vcard});return gt(e,t)}let r=t.contactsArrayMessage?.contacts??void 0;if(!(!r||r.length===0))return _t(r.map(e=>ht({displayName:e.displayName,vcard:e.vcard})).map(e=>vt(e.name,e.phones)).filter(e=>!!e),r.length)}function ht(e){let t=(e.displayName??``).trim(),n=at(e.vcard??void 0);return{name:t||n.name,phones:n.phones}}function gt(e,t){let n=vt(e,t);return n?`<contact: ${n}>`:`<contact>`}function _t(e,t){let n=e.map(e=>e.trim()).filter(Boolean);if(n.length===0)return`<contacts: ${t} ${t===1?`contact`:`contacts`}>`;let r=Math.max(t-n.length,0),i=r>0?` +${r} more`:``;return`<contacts: ${n.join(`, `)}${i}>`}function vt(e,t){let n=[e,yt(t)].filter(e=>!!e);if(n.length!==0)return n.join(`, `)}function yt(e){let t=e?.map(e=>e.trim()).filter(Boolean)??[];if(t.length===0)return;let{shown:n,remaining:r}=bt(t,t.length,1),[i]=n;if(i)return r===0?i:`${i} (+${r} more)`}function bt(e,t,n){let r=e.slice(0,n);return{shown:r,remaining:Math.max(t-r.length,0)}}function xt(e){let t=$(e);if(!t)return null;let n=t.liveLocationMessage??void 0;if(n){let e=n.degreesLatitude,t=n.degreesLongitude;if(e!=null&&t!=null){let r=Number(e),i=Number(t);if(Number.isFinite(r)&&Number.isFinite(i))return{latitude:r,longitude:i,accuracy:n.accuracyInMeters??void 0,caption:n.caption??void 0,source:`live`,isLive:!0}}}let r=t.locationMessage??void 0;if(r){let e=r.degreesLatitude,t=r.degreesLongitude;if(e!=null&&t!=null){let n=Number(e),i=Number(t);if(Number.isFinite(n)&&Number.isFinite(i)){let e=!!r.isLive;return{latitude:n,longitude:i,accuracy:r.accuracyInMeters??void 0,name:r.name??void 0,address:r.address??void 0,caption:r.comment??void 0,source:e?`live`:r.name||r.address?`place`:`pin`,isLive:e}}}}return null}function St(e){let t=$(e);if(!t)return null;let n=ut(t),r=Xe(n?.quotedMessage);if(!r)return null;let i=xt(r),a=i?Te(i):void 0,o=[ft(r),a].filter(Boolean).join(`
|
|
2
2
|
`).trim();if(o||=pt(r),!o){let e=r?Je(r):void 0;return W(`Quoted message missing extractable body${e?` (type ${e})`:``}`),null}let s=n?.participant??void 0,c=s?q(s)??s:void 0,l=c??`unknown sender`;return{id:n?.stanzaId?String(n.stanzaId):void 0,body:o,sender:l,senderJid:s,senderE164:c}}function Ct(e){return w({providerConfigPresent:e.providerConfigPresent,groupPolicy:e.groupPolicy,defaultGroupPolicy:e.defaultGroupPolicy})}async function wt(e){let t=M(),n=P({cfg:t,accountId:e.accountId}),r=n.dmPolicy??`pairing`,i=n.allowFrom??[],a=await g({provider:`whatsapp`,accountId:n.accountId,dmPolicy:r}),o=i.length===0&&e.selfE164?[e.selfE164]:[],s=i.length>0?i:o,c=n.groupAllowFrom??(i.length>0?i:void 0),l=e.from===e.selfE164,u=n.selfChatMode??Se(e.selfE164,i),d=typeof e.pairingGraceMs==`number`&&e.pairingGraceMs>0?e.pairingGraceMs:3e4,f=typeof e.connectedAtMs==`number`&&typeof e.messageTimestampMs==`number`&&e.messageTimestampMs<e.connectedAtMs-d,p=E(t),{groupPolicy:m,providerMissingFallbackApplied:_}=Ct({providerConfigPresent:t.channels?.whatsapp!==void 0,groupPolicy:n.groupPolicy,defaultGroupPolicy:p});T({providerMissingFallbackApplied:_,providerKey:`whatsapp`,accountId:n.accountId,log:e=>W(e)});let v=K(e.from),y=typeof e.senderE164==`string`?K(e.senderE164):null,b=h({isGroup:e.group,dmPolicy:r,groupPolicy:m,allowFrom:e.group?i:s,groupAllowFrom:c,storeAllowFrom:a,isSenderAllowed:t=>{if(t.includes(`*`))return!0;let n=new Set(t.map(e=>K(String(e))).filter(e=>!!e));return!e.group&&l?!0:e.group?!!(y&&n.has(y)):n.has(v)}});if(e.group&&b.decision!==`allow`)return b.reason===`groupPolicy=disabled`?W(`Blocked group message (groupPolicy: disabled)`):b.reason===`groupPolicy=allowlist (empty allowlist)`?W(`Blocked group message (groupPolicy: allowlist, no groupAllowFrom)`):W(`Blocked group message from ${e.senderE164??`unknown sender`} (groupPolicy: allowlist)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:u,resolvedAccountId:n.accountId};if(!e.group){if(e.isFromMe&&!l)return W(`Skipping outbound DM (fromMe); no pairing reply needed.`),{allowed:!1,shouldMarkRead:!1,isSelfChat:u,resolvedAccountId:n.accountId};if(b.decision===`block`&&b.reason===`dmPolicy=disabled`)return W(`Blocked dm (dmPolicy: disabled)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:u,resolvedAccountId:n.accountId};if(b.decision===`pairing`&&!l){let t=e.from;return f?W(`Skipping pairing reply for historical DM from ${t}.`):await C({channel:`whatsapp`,senderId:t,senderIdLine:`Your WhatsApp phone number: ${t}`,meta:{name:(e.pushName??``).trim()||void 0},upsertPairingRequest:async({id:e,meta:t})=>await Ee({channel:`whatsapp`,id:e,accountId:n.accountId,meta:t}),onCreated:()=>{W(`whatsapp pairing request sender=${t} name=${e.pushName??`unknown`}`)},sendPairingReply:async t=>{await e.sock.sendMessage(e.remoteJid,{text:t})},onReplyError:e=>{W(`whatsapp pairing reply failed for ${t}: ${String(e)}`)}}),{allowed:!1,shouldMarkRead:!1,isSelfChat:u,resolvedAccountId:n.accountId}}if(b.decision!==`allow`)return W(`Blocked unauthorized sender ${e.from} (dmPolicy=${r})`),{allowed:!1,shouldMarkRead:!1,isSelfChat:u,resolvedAccountId:n.accountId}}return{allowed:!0,shouldMarkRead:!0,isSelfChat:u,resolvedAccountId:n.accountId}}function Tt(e){return Xe(e)}function Et(e){let t=e.imageMessage?.mimetype??e.videoMessage?.mimetype??e.documentMessage?.mimetype??e.audioMessage?.mimetype??e.stickerMessage?.mimetype??void 0;if(t)return t;if(e.audioMessage)return`audio/ogg; codecs=opus`;if(e.imageMessage)return`image/jpeg`;if(e.videoMessage)return`video/mp4`;if(e.stickerMessage)return`image/webp`}async function Dt(e,t){let n=Tt(e.message);if(!n)return;let r=Et(n),i=n.documentMessage?.fileName??void 0;if(!(!n.imageMessage&&!n.videoMessage&&!n.documentMessage&&!n.audioMessage&&!n.stickerMessage))try{return{buffer:await Ke(e,`buffer`,{},{reuploadRequest:t.updateMediaMessage,logger:t.logger}),mimetype:r,fileName:i}}catch(e){W(`downloadMediaMessage failed: ${String(e)}`);return}}function Ot(e){Pe({channel:`whatsapp`,accountId:e,direction:`outbound`})}function kt(e){return typeof e==`object`&&e&&`key`in e?String(e.key?.id??`unknown`):`unknown`}function At(e){return{sendMessage:async(t,n,r,i,a)=>{let o=G(t),s;if(r&&i)if(i.startsWith(`image/`))s={image:r,caption:n||void 0,mimetype:i};else if(i.startsWith(`audio/`))s={audio:r,ptt:!0,mimetype:i};else if(i.startsWith(`video/`)){let e=a?.gifPlayback;s={video:r,caption:n||void 0,mimetype:i,...e?{gifPlayback:!0}:{}}}else s={document:r,fileName:a?.fileName?.trim()||`file`,caption:n||void 0,mimetype:i};else s={text:n};let c=await e.sock.sendMessage(o,s);return Ot(a?.accountId??e.defaultAccountId),{messageId:kt(c)}},sendPoll:async(t,n)=>{let r=G(t),i=await e.sock.sendMessage(r,{poll:{name:n.question,values:n.options,selectableCount:n.maxSelections??1}});return Ot(e.defaultAccountId),{messageId:kt(i)}},sendReaction:async(t,n,r,i,a)=>{let o=G(t);await e.sock.sendMessage(o,{react:{text:r,key:{remoteJid:o,id:n,fromMe:i,participant:a?G(a):void 0}}})},sendComposingTo:async t=>{let n=G(t);await e.sock.sendPresenceUpdate(`composing`,n)}}}async function jt(e){let t=U({module:`web-inbound`}),n=be(`gateway/channels/whatsapp`).child(`inbound`),r=await He(!1,e.verbose,{authDir:e.authDir});await Be(r);let i=Date.now(),a=null,o=new Promise(e=>{a=e}),s=e=>{if(!a)return;let t=a;a=null,t(e)};try{await r.sendPresenceUpdate(`available`),H()&&W(`Sent global 'available' presence on connect`)}catch(e){W(`Failed to send 'available' presence on connect: ${String(e)}`)}let c=r.user?.id,l=c?q(c):null,u=ue({debounceMs:e.debounceMs??0,buildKey:e=>{let t=e.chatType===`group`?e.senderJid??e.senderE164??e.senderName??e.from:e.from;if(!t)return null;let n=e.chatType===`group`?e.chatId:e.from;return`${e.accountId}:${n}:${t}`},shouldDebounce:e.shouldDebounce,onFlush:async t=>{let n=t.at(-1);if(!n)return;if(t.length===1){await e.onMessage(n);return}let r=new Set;for(let e of t)for(let t of e.mentionedJids??[])r.add(t);let i=t.map(e=>e.body).filter(Boolean).join(`
|
|
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)}`)}}),d=new Map,f=300*1e3,p=r.signalRepository?.lidMapping,m=async t=>Ce(t,{authDir:e.authDir,lidLookup:p}),h=async e=>{let t=d.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 m(e.id)??e.id)??[])).filter(Boolean)??[],i={subject:t.subject,participants:n,expires:Date.now()+f};return d.set(e,i),i}catch(t){return W(`Failed to fetch group metadata for ${e}: ${String(t)}`),{expires:Date.now()+f}}},g=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=Ye(a)===!0;if(n&&rt(`${e.accountId}:${a}:${n}`))return null;let s=t.key?.participant??void 0,c=o?a:await m(a);if(!c)return null;let u=o?s?await m(s):null:c,d,f;if(o){let e=await h(a);d=e.subject,f=e.participants}let p=t.messageTimestamp?Number(t.messageTimestamp)*1e3:void 0,g=await wt({accountId:e.accountId,from:c,selfE164:l,senderE164:u,group:o,pushName:t.pushName??void 0,isFromMe:!!t.key?.fromMe,messageTimestampMs:p,connectedAtMs:i,sock:{sendMessage:(e,t)=>r.sendMessage(e,t)},remoteJid:a});return g.allowed?{id:n,remoteJid:a,group:o,participantJid:s,from:c,senderE164:u,groupSubject:d,groupParticipants:f,messageTimestampMs:p,access:g}:null},_=async t=>{let{id:n,remoteJid:i,participantJid:a,access:o}=t;if(n&&!o.isSelfChat&&e.sendReadReceipts!==!1)try{await r.readMessages([{remoteJid:i,id:n,participant:a,fromMe:!1}]),H()&&W(`Marked message ${n} as read for ${i}${a?` (participant ${a})`:``}`)}catch(e){W(`Failed to mark message ${n} read: ${String(e)}`)}else n&&o.isSelfChat&&H()&&W(`Self-chat mode: skipping read receipt for ${n}`)},v=async t=>{let n=xt(t.message??void 0),i=n?Te(n):void 0,a=ft(t.message??void 0);if(i&&(a=[a,i].filter(Boolean).join(`
|
|
4
4
|
`).trim()),!a&&(a=pt(t.message??void 0),!a))return null;let o=St(t.message),s,c,l;try{let n=await Dt(t,r);if(n){let t=(typeof e.mediaMaxMb==`number`&&e.mediaMaxMb>0?e.mediaMaxMb:50)*1024*1024;s=(await B(n.buffer,n.mimetype,`inbound`,t,n.fileName)).path,c=n.mimetype,l=n.fileName}}catch(e){W(`Inbound media download failed: ${String(e)}`)}return{body:a,location:n??void 0,replyContext:o,mediaPath:s,mediaType:c,mediaFileName:l}},y=async(e,i,a)=>{let o=i.remoteJid,s=async()=>{try{await r.sendPresenceUpdate(`composing`,o)}catch(e){W(`Presence update failed: ${String(e)}`)}},d=async e=>{await r.sendMessage(o,{text:e})},f=async e=>{await r.sendMessage(o,e)},p=i.messageTimestampMs,m=dt(e.message),h=e.pushName??void 0;t.info({from:i.from,to:l??`me`,body:a.body,mediaPath:a.mediaPath,mediaType:a.mediaType,mediaFileName:a.mediaFileName,timestamp:p},`inbound message`);let g={id:i.id,from:i.from,conversationId:i.from,to:l??`me`,accountId:i.access.resolvedAccountId,body:a.body,pushName:h,timestamp:p,chatType:i.group?`group`:`direct`,chatId:i.remoteJid,senderJid:i.participantJid,senderE164:i.senderE164??void 0,senderName:h,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:m??void 0,selfJid:c,selfE164:l,fromMe:!!e.key?.fromMe,location:a.location??void 0,sendComposing:s,reply:d,sendMedia:f,mediaPath:a.mediaPath,mediaType:a.mediaType,mediaFileName:a.mediaFileName};try{Promise.resolve(u.enqueue(g)).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)}`)}},b=async t=>{if(!(t.type!==`notify`&&t.type!==`append`))for(let n of t.messages??[]){Pe({channel:`whatsapp`,accountId:e.accountId,direction:`inbound`});let r=await g(n);if(!r||(await _(r),t.type===`append`))continue;let i=await v(n);i&&await y(n,r,i)}};r.ev.on(`messages.upsert`,b);let x=e=>{try{if(e.connection===`close`){let t=Ve(e.lastDisconnect?.error);s({status:t,isLoggedOut:t===Ge.loggedOut,error:e.lastDisconnect?.error})}}catch(e){t.error({error:String(e)},`connection.update handler error`),s({status:void 0,isLoggedOut:!1,error:e})}};return r.ev.on(`connection.update`,x),{close:async()=>{try{let e=r.ev,t=b,n=x;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){W(`Socket close failed: ${String(e)}`)}},onClose:o,signalClose:e=>{s(e??{status:void 0,isLoggedOut:!1,error:`closed`})},...At({sock:{sendMessage:(e,t)=>r.sendMessage(e,t),sendPresenceUpdate:(e,t)=>r.sendPresenceUpdate(e,t)},defaultAccountId:e.accountId})}}function Mt(e,t){return{mentionRegexes:ce(e,t),allowFrom:e.channels?.whatsapp?.allowFrom}}function Nt(e,t){let n=t?{authDir:t}:void 0;return{normalizedMentions:e.mentionedJids?.length?e.mentionedJids.map(e=>q(e,n)??e).filter(Boolean):[],selfE164:e.selfE164??(e.selfJid?q(e.selfJid,n):null),selfJid:e.selfJid?e.selfJid.replace(/:\\d+/,``):null}}function Pt(e,t,n){let r=e=>m(e),i=Se(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 Ft(e,t,n){let r=Nt(e,n);return{wasMentioned:Pt(e,t,r),details:{from:e.from,body:e.body,bodyClean:m(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 It(e,t){let n=e.allowFrom;return(Array.isArray(n)&&n.length>0?n:t?[t]:[]).filter(e=>!!(e&&e!==`*`)).map(e=>K(e)).filter(e=>!!e)}function Lt(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 Rt(e){let t=c({agentId:e.agentId,channel:`whatsapp`,accountId:e.route.accountId,peer:{kind:e.msg.chatType===`group`?`group`:`direct`,id:e.peerId},dmScope:e.cfg.session?.dmScope,identityLinks:e.cfg.session?.identityLinks}),n=D({agentId:e.agentId,mainKey:O});return{sessionKey:t,mainSessionKey:n,lastRoutePolicy:u({sessionKey:t,mainSessionKey:n})}}async function zt(e){let t=e.cfg.broadcast?.[e.peerId];if(!t||!Array.isArray(t)||t.length===0)return!1;let n=e.cfg.broadcast?.strategy||`parallel`;Z.info(`Broadcasting message to ${t.length} agents (${n})`);let r=e.cfg.agents?.list?.map(e=>k(e.id)),i=(r?.length??0)>0,a=e.msg.chatType===`group`?e.groupHistories.get(e.groupHistoryKey)??[]:void 0,o=async t=>{let n=k(t);if(i&&!r?.includes(n))return Z.warn(`Broadcast agent ${t} not found in agents.list; skipping`),!1;let o=Rt({cfg:e.cfg,msg:e.msg,route:e.route,peerId:e.peerId,agentId:n}),s={...e.route,agentId:n,...o};try{return await e.processMessage(e.msg,s,e.groupHistoryKey,{groupHistory:a,suppressGroupHistoryClear:!0})}catch(e){return Z.error(`Broadcast agent ${t} failed: ${J(e)}`),!1}};if(n===`sequential`)for(let e of t)await o(e);else await Promise.allSettled(t.map(o));return e.msg.chatType===`group`&&e.groupHistories.set(e.groupHistoryKey,[]),!0}function Bt(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 Vt(e,t){let n=L({From:t,ChatType:`group`,Provider:`whatsapp`})?.id,r=e.channels?.whatsapp,i=!!(r?.groupAllowFrom?.length||r?.allowFrom?.length);return z({cfg:e,channel:`whatsapp`,groupId:n??t,hasGroupAllowFrom:i})}function Ht(e,t){let n=L({From:t,ChatType:`group`,Provider:`whatsapp`})?.id;return R({cfg:e,channel:`whatsapp`,groupId:n??t})}function Ut(e){let t=N(j(e.cfg.session?.store,{agentId:e.agentId}))[e.sessionKey],n=Ht(e.cfg,e.conversationId)?`mention`:`always`;return ie(t?.groupActivation)??n}function Wt(e,t,n){for(let r of e){let e=K(r)??r;!e||t.has(e)||(t.add(e),n.push(e))}}function Gt(e,t,n,r){if(!n||!r)return;let i=K(n)??n;if(!i)return;let a=e.get(t);a||(a=new Map,e.set(t,a)),a.set(i,r)}function Kt(e){let{participants:t,roster:n,fallbackE164:r}=e,i=new Set,a=[];if(t?.length&&Wt(t,i,a),n&&Wt(n.keys(),i,a),a.length===0&&r){let e=K(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 qt(e,t){let n=K(t.senderE164??``);return n?It(e,t.selfE164??void 0).includes(n):!1}function Jt(e){let t=e.msg.senderName&&e.msg.senderE164?`${e.msg.senderName} (${e.msg.senderE164})`:e.msg.senderName??e.msg.senderE164??`Unknown`;ne({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 Yt(e,t){return e.logVerbose(t),Jt({msg:e.msg,groupHistories:e.groupHistories,groupHistoryKey:e.groupHistoryKey,groupHistoryLimit:e.groupHistoryLimit}),{shouldProcess:!1}}function Xt(t){let n=Vt(t.cfg,t.conversationId);if(n.allowlistEnabled&&!n.allowed)return t.logVerbose(`Skipping group message ${t.conversationId} (not in allowlist)`),{shouldProcess:!1};Gt(t.groupMemberNames,t.groupHistoryKey,t.msg.senderE164,t.msg.senderName);let r=Mt(t.cfg,t.agentId),i=Bt(t.msg.body,r.mentionRegexes,t.msg.selfE164),a=e(i),o=qt(t.baseMentionConfig,t.msg),s=o&&p(i,t.cfg);if(a.hasCommand&&!o)return Yt(t,`Ignoring /activation from non-owner in group ${t.conversationId}`);let c=Ft(t.msg,r,t.authDir);t.replyLogger.debug({conversationId:t.conversationId,wasMentioned:c.wasMentioned,...c.details},`group mention debug`);let l=c.wasMentioned,u=Ut({cfg:t.cfg,agentId:t.agentId,sessionKey:t.sessionKey,conversationId:t.conversationId})!==`always`,f=t.msg.selfJid?.replace(/:\\d+/,``),m=t.msg.replyToSenderJid?.replace(/:\\d+/,``),h=t.msg.selfE164?K(t.msg.selfE164):null,g=t.msg.replyToSenderE164?K(t.msg.replyToSenderE164):null,_=d({requireMention:u,canDetectMention:!0,wasMentioned:l,implicitMention:!!(f&&m&&f===m||h&&g&&h===g),shouldBypassMention:s});return t.msg.wasMentioned=_.effectiveWasMentioned,!s&&u&&_.shouldSkip?Yt(t,`Group message stored for context (no mention detected) in ${t.conversationId}: ${t.msg.body}`):{shouldProcess:!0}}function Zt(e,t){e.add(t),t.finally(()=>{e.delete(t)})}function Qt(e){let t=j(e.cfg.session?.store,{agentId:e.storeAgentId}),n=de({storePath:t,sessionKey:e.sessionKey,deliveryContext:{channel:e.channel,to:e.to,accountId:e.accountId},ctx:e.ctx}).catch(n=>{e.warn({error:J(n),storePath:t,sessionKey:e.sessionKey,to:e.to},`failed updating last route`)});Zt(e.backgroundTasks,n)}function $t(e){return e.chatType===`group`?e.conversationId??e.from:e.senderE164?K(e.senderE164)??e.senderE164:e.from.includes(`@`)?q(e.from)??e.from:K(e.from)??e.from}function en(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:a,connectionId:o,skipLog:s}=e,c=Date.now();if(nn(t)){Q.debug(`Suppressed reasoning payload to ${n.from}`);return}let l=e.tableMode??`code`,u=e.chunkMode??`length`,d=Ae(Le(Fe(t.text||``,l)),i,u),f=t.mediaUrls?.length?t.mediaUrls:t.mediaUrl?[t.mediaUrl]:[],p=async(e,t,r=3)=>{let i;for(let a=1;a<=r;a++)try{return await e()}catch(e){i=e;let o=J(e),s=a===r;if(!/closed|reset|timed\s*out|disconnect/i.test(o)||s)throw e;let c=500*a;W(`Retrying ${t} to ${n.from} after failure (${a}/${r-1}) in ${c}ms: ${o}`),await ve(c)}throw i};if(f.length===0&&d.length){let e=d.length;for(let[t,r]of d.entries()){let i=Date.now();if(await p(()=>n.reply(r),`text`),!s){let r=Date.now()-i;Q.debug(`Sent chunk ${t+1}/${e} to ${n.from} (${r.toFixed(0)}ms)`)}}a.info({correlationId:n.id??Y(),connectionId:o??null,to:n.from,from:n.to,text:en(t.text,240),mediaUrl:null,mediaSizeBytes:null,mediaKind:null,durationMs:Date.now()-c},`auto-reply sent (text)`);return}let m=[...d];for(let[t,i]of f.entries()){let s=t===0&&m.shift()||void 0;try{let t=await ke(i,{maxBytes:r,localRoots:e.mediaLocalRoots});if(H()&&(W(`Web auto-reply media size: ${(t.buffer.length/(1024*1024)).toFixed(2)}MB`),W(`Web auto-reply media source: ${i} (kind ${t.kind})`)),t.kind===`image`)await p(()=>n.sendMedia({image:t.buffer,caption:s,mimetype:t.contentType}),`media:image`);else if(t.kind===`audio`)await p(()=>n.sendMedia({audio:t.buffer,ptt:!0,mimetype:t.contentType,caption:s}),`media:audio`);else if(t.kind===`video`)await p(()=>n.sendMedia({video:t.buffer,caption:s,mimetype:t.contentType}),`media:video`);else{let e=t.fileName??i.split(`/`).pop()??`file`,r=t.contentType??`application/octet-stream`;await p(()=>n.sendMedia({document:t.buffer,fileName:e,caption:s,mimetype:r}),`media:document`)}Q.info(`Sent media reply to ${n.from} (${(t.buffer.length/(1024*1024)).toFixed(2)}MB)`),a.info({correlationId:n.id??Y(),connectionId:o??null,to:n.from,from:n.to,text:s??null,mediaUrl:i,mediaSizeBytes:t.buffer.length,mediaKind:t.kind,durationMs:Date.now()-c},`auto-reply sent (media)`)}catch(e){if(Q.error(`Failed sending web media to ${n.from}: ${J(e)}`),a.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=[m.shift()??s??``,t].filter(Boolean).join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-CB5IsdXc.js";import{Gs as e,Is as t,Ps as n,zs as r}from"./sessions-vCe4wPa1.js";import"./logger-CMRRf9cz.js";import"./paths-DhHYGQZt.js";import"./proxy-env-C-8R9SbI.js";import"./send-Dw9KZtdY.js";import"./common-CKZ-UdaB.js";import"./send-B6HPDK7K.js";import"./reply-
|
|
1
|
+
import"./paths-CB5IsdXc.js";import{Gs as e,Is as t,Ps as n,zs as r}from"./sessions-vCe4wPa1.js";import"./logger-CMRRf9cz.js";import"./paths-DhHYGQZt.js";import"./proxy-env-C-8R9SbI.js";import"./send-Dw9KZtdY.js";import"./common-CKZ-UdaB.js";import"./send-B6HPDK7K.js";import"./reply-FZOMaPdT.js";import"./github-copilot-token-C1rb4n4g.js";import"./send-bO2luPtA.js";import{n as i,t as a}from"./channel-web-DgBEXyWx.js";import"./tokens-B_ctrNLr.js";import"./audio-transcription-runner-CZeLqyn8.js";import"./image-DCRZu6B9.js";import"./fetch-guard-CeY6FLmB.js";import"./api-key-rotation-C1Zn1KSQ.js";import"./local-roots-mIwSmMlz.js";import"./proxy-fetch-Z4EVQXTq.js";import"./deliver-BzC2TfhO.js";import"./commands-registry-BRHbSR-Q.js";import"./pi-model-discovery-DFcVdEXI.js";import"./ir-CmAyPA_x.js";import"./render-Djx15dPh.js";import"./diagnostic-BygIW7fL.js";import"./send-CuDJ-nVd.js";import"./outbound-attachment-vo_FJhnQ.js";import"./fetch-DmxjtY1D.js";import"./send-BPtLy3DR2.js";import"./sqlite-Dc2ZB7Ip.js";import"./channel-activity-CYknJxeB.js";import"./tables-BaKxrCzf.js";import"./fetch-C1uUpK5t.js";import"./skill-commands-DnImLYRw.js";import"./manager-Dnvt2fsN.js";import{t as o}from"./outbound-BkJMbfAc.js";import{i as s,t as c}from"./session-D_RY5hZ0.js";import{t as l}from"./login-CX_oCPm4.js";export{n as WA_WEB_AUTH_DIR,c as createWaSocket,t as logWebSelfId,l as loginWeb,a as monitorWebChannel,i as monitorWebInbox,r as pickWebChannel,o as sendMessageWhatsApp,s as waitForWaConnection,e as webAuthExists};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Ct as e,Et as t,kt as n,s as r,wt as i}from"./paths-DHIowy7j.js";import"./paths-Ilv7GN3y.js";import{B as a,C as o,K as s,M as c,O as l,R as u,T as d,h as f,m as p,o as m,p as h,v as g}from"./logger-Bzsdb9ed.js";import{At as _,Et as v,Fs as y,Is as b,Ls as x,Ot as S,Ps as C,Rs as w,Us as ee,Vs as T,Zs as E,bi as D,er as te,mc as O,pc as k,pn as A,qs as j}from"./model-auth-m6awkcmr.js";import"./proxy-env-CjA5va0Q.js";import"./send-CJGwOpaf.js";import{Ft as M,Nt as N,Pt as P}from"./send-DfKN3gPU.js";import{A as ne,B as F,C as re,D as ie,E as ae,F as oe,I,J as L,L as se,M as ce,N as le,O as R,P as z,S as B,U as V,V as H,Y as U,Z as W,_ as G,b as K,ct as ue,g as de,h as fe,it as pe,j as me,k as he,lt as ge,m as _e,q as ve,r as ye,st as be,v as xe,w as Se,x as Ce,z as we}from"./dispatch-
|
|
1
|
+
import{Ct as e,Et as t,kt as n,s as r,wt as i}from"./paths-DHIowy7j.js";import"./paths-Ilv7GN3y.js";import{B as a,C as o,K as s,M as c,O as l,R as u,T as d,h as f,m as p,o as m,p as h,v as g}from"./logger-Bzsdb9ed.js";import{At as _,Et as v,Fs as y,Is as b,Ls as x,Ot as S,Ps as C,Rs as w,Us as ee,Vs as T,Zs as E,bi as D,er as te,mc as O,pc as k,pn as A,qs as j}from"./model-auth-m6awkcmr.js";import"./proxy-env-CjA5va0Q.js";import"./send-CJGwOpaf.js";import{Ft as M,Nt as N,Pt as P}from"./send-DfKN3gPU.js";import{A as ne,B as F,C as re,D as ie,E as ae,F as oe,I,J as L,L as se,M as ce,N as le,O as R,P as z,S as B,U as V,V as H,Y as U,Z as W,_ as G,b as K,ct as ue,g as de,h as fe,it as pe,j as me,k as he,lt as ge,m as _e,q as ve,r as ye,st as be,v as xe,w as Se,x as Ce,z as we}from"./dispatch-DPafUBvi.js";import"./tokens-D-G23Eih.js";import"./deliver-Cr9WnblM.js";import"./github-copilot-token-DjID6pAD.js";import"./fetch-guard-Ch-GE1q6.js";import{X as Te,Y as Ee,tt as De}from"./send-Jtkjjoez.js";import{t as Oe}from"./local-roots-cD4rtFUT.js";import{_ as ke,c as Ae,d as je,f as Me,i as Ne}from"./ir-C9bnqCN4.js";import"./diagnostic-D_z4RTdJ.js";import"./pi-model-discovery-BoCQComb.js";import{f as Pe}from"./audio-transcription-runner-C-1wfN5V.js";import"./image-CswbRypx.js";import"./api-key-rotation-ByGrFLLf.js";import"./proxy-fetch-DLkHTNrK.js";import"./commands-registry-sdEAg35R.js";import"./render-CC0AV0OP.js";import"./target-errors-CBtuprlS.js";import"./send-DUpWCxkR.js";import"./outbound-attachment-nHeYVKR0.js";import"./fetch-p43DsBwY.js";import"./send-BvX-weT-.js";import"./sqlite-nOhwJUyO.js";import{n as Fe}from"./channel-activity-CrUKMrr9.js";import{t as Ie}from"./tables-tvhhES0m.js";import"./fetch-p-KNjCrj.js";import"./skill-commands-D3NahROf.js";import{r as Le}from"./active-listener-BGJlSTPM.js";import"./manager-B6qIRY7W.js";import{i as Re,r as ze,t as Be}from"./outbound-nE9g9HWI.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-DbpGSWIV.js";import{t as We}from"./login-TBUuvDlG.js";import{randomUUID as Ge}from"node:crypto";import{DisconnectReason as Ke,downloadMediaMessage as qe,extractMessageContent as Je,getContentType as Ye,isJidGroup as Xe,normalizeMessageContent as Ze}from"@whiskeysockets/baileys";const Qe={initialMs:2e3,maxMs:3e4,factor:1.8,jitter:.25,maxAttempts:12};function $e(e,t){let n=t??e.web?.heartbeatSeconds;return typeof n==`number`&&n>0?n:60}function et(e,t){let n=e.web?.reconnect??{},r=t??{},i={...Qe,...n,...r};return i.initialMs=Math.max(250,i.initialMs),i.maxMs=Math.max(i.initialMs,i.maxMs),i.factor=m(i.factor,1.1,10),i.jitter=m(i.jitter,0,1),i.maxAttempts=Math.max(0,Math.floor(i.maxAttempts)),i}function J(){return Ge()}const Y=l(`gateway/channels/whatsapp`),X=Y.child(`inbound`),Z=Y.child(`outbound`),tt=Y.child(`heartbeat`);function nt(){return setInterval(()=>{},1e6).unref(),new Promise(()=>{})}const rt=R({ttlMs:20*6e4,maxSize:5e3});function it(e){return rt.check(e)}const at=new Set([`FN`,`N`,`TEL`]);function ot(e){if(!e)return{phones:[]};let t=e.split(/\r?\n/),n,r,i=[];for(let e of t){let t=e.trim();if(!t)continue;let a=t.indexOf(`:`);if(a===-1)continue;let o=t.slice(0,a).toUpperCase(),s=t.slice(a+1).trim();if(!s)continue;let c=st(o);if(!c||!at.has(c))continue;let l=ct(s);if(l){if(c===`FN`&&!r){r=lt(l);continue}if(c===`N`&&!n){n=lt(l);continue}if(c===`TEL`){let e=ut(l);e&&i.push(e)}}}return{name:r??n,phones:i}}function st(e){let[t]=e.split(`;`);if(!t)return;let n=t.split(`.`);return n[n.length-1]||void 0}function ct(e){return e.replace(/\\n/gi,` `).replace(/\\,/g,`,`).replace(/\\;/g,`;`).trim()}function lt(e){return e.replace(/;/g,` `).replace(/\s+/g,` `).trim()}function ut(e){let t=e.trim();return t?t.toLowerCase().startsWith(`tel:`)?t.slice(4).trim():t:``}function Q(e){return Ze(e)}function dt(e){if(!e)return;let t=Ye(e),n=t?e[t]:void 0,r=n&&typeof n==`object`&&`contextInfo`in n?n.contextInfo:void 0;if(r)return r;let i=e.extendedTextMessage?.contextInfo??e.imageMessage?.contextInfo??e.videoMessage?.contextInfo??e.documentMessage?.contextInfo??e.audioMessage?.contextInfo??e.stickerMessage?.contextInfo??e.buttonsResponseMessage?.contextInfo??e.listResponseMessage?.contextInfo??e.templateButtonReplyMessage?.contextInfo??e.interactiveResponseMessage?.contextInfo??e.buttonsMessage?.contextInfo??e.listMessage?.contextInfo;if(i)return i;for(let t of Object.values(e)){if(!t||typeof t!=`object`||!(`contextInfo`in t))continue;let e=t.contextInfo;if(e)return e}}function ft(e){let t=Q(e);if(!t)return;let n=[t.extendedTextMessage?.contextInfo?.mentionedJid,t.extendedTextMessage?.contextInfo?.quotedMessage?.extendedTextMessage?.contextInfo?.mentionedJid,t.imageMessage?.contextInfo?.mentionedJid,t.videoMessage?.contextInfo?.mentionedJid,t.documentMessage?.contextInfo?.mentionedJid,t.audioMessage?.contextInfo?.mentionedJid,t.stickerMessage?.contextInfo?.mentionedJid,t.buttonsResponseMessage?.contextInfo?.mentionedJid,t.listResponseMessage?.contextInfo?.mentionedJid].flatMap(e=>e??[]).filter(Boolean);if(n.length!==0)return Array.from(new Set(n))}function pt(e){let t=Q(e);if(!t)return;let n=Je(t),r=[t,n&&n!==t?n:void 0];for(let e of r){if(!e)continue;if(typeof e.conversation==`string`&&e.conversation.trim())return e.conversation.trim();let t=e.extendedTextMessage?.text;if(t?.trim())return t.trim();let n=e.imageMessage?.caption??e.videoMessage?.caption??e.documentMessage?.caption;if(n?.trim())return n.trim()}let i=ht(t)??(n&&n!==t?ht(n):void 0);if(i)return i}function mt(e){let t=Q(e);if(t){if(t.imageMessage)return`<media:image>`;if(t.videoMessage)return`<media:video>`;if(t.audioMessage)return`<media:audio>`;if(t.documentMessage)return`<media:document>`;if(t.stickerMessage)return`<media:sticker>`}}function ht(e){let t=Q(e);if(!t)return;let n=t.contactMessage??void 0;if(n){let{name:e,phones:t}=gt({displayName:n.displayName,vcard:n.vcard});return _t(e,t)}let r=t.contactsArrayMessage?.contacts??void 0;if(!(!r||r.length===0))return vt(r.map(e=>gt({displayName:e.displayName,vcard:e.vcard})).map(e=>yt(e.name,e.phones)).filter(e=>!!e),r.length)}function gt(e){let t=(e.displayName??``).trim(),n=ot(e.vcard??void 0);return{name:t||n.name,phones:n.phones}}function _t(e,t){let n=yt(e,t);return n?`<contact: ${n}>`:`<contact>`}function vt(e,t){let n=e.map(e=>e.trim()).filter(Boolean);if(n.length===0)return`<contacts: ${t} ${t===1?`contact`:`contacts`}>`;let r=Math.max(t-n.length,0),i=r>0?` +${r} more`:``;return`<contacts: ${n.join(`, `)}${i}>`}function yt(e,t){let n=[e,bt(t)].filter(e=>!!e);if(n.length!==0)return n.join(`, `)}function bt(e){let t=e?.map(e=>e.trim()).filter(Boolean)??[];if(t.length===0)return;let{shown:n,remaining:r}=xt(t,t.length,1),[i]=n;if(i)return r===0?i:`${i} (+${r} more)`}function xt(e,t,n){let r=e.slice(0,n);return{shown:r,remaining:Math.max(t-r.length,0)}}function St(e){let t=Q(e);if(!t)return null;let n=t.liveLocationMessage??void 0;if(n){let e=n.degreesLatitude,t=n.degreesLongitude;if(e!=null&&t!=null){let r=Number(e),i=Number(t);if(Number.isFinite(r)&&Number.isFinite(i))return{latitude:r,longitude:i,accuracy:n.accuracyInMeters??void 0,caption:n.caption??void 0,source:`live`,isLive:!0}}}let r=t.locationMessage??void 0;if(r){let e=r.degreesLatitude,t=r.degreesLongitude;if(e!=null&&t!=null){let n=Number(e),i=Number(t);if(Number.isFinite(n)&&Number.isFinite(i)){let e=!!r.isLive;return{latitude:n,longitude:i,accuracy:r.accuracyInMeters??void 0,name:r.name??void 0,address:r.address??void 0,caption:r.comment??void 0,source:e?`live`:r.name||r.address?`place`:`pin`,isLive:e}}}}return null}function Ct(e){let t=Q(e);if(!t)return null;let n=dt(t),r=Ze(n?.quotedMessage);if(!r)return null;let i=St(r),a=i?Ee(i):void 0,o=[pt(r),a].filter(Boolean).join(`
|
|
2
2
|
`).trim();if(o||=mt(r),!o){let e=r?Ye(r):void 0;return u(`Quoted message missing extractable body${e?` (type ${e})`:``}`),null}let s=n?.participant??void 0,c=s?p(s)??s:void 0,l=c??`unknown sender`;return{id:n?.stanzaId?String(n.stanzaId):void 0,body:o,sender:l,senderJid:s,senderE164:c}}function wt(e){return P({providerConfigPresent:e.providerConfigPresent,groupPolicy:e.groupPolicy,defaultGroupPolicy:e.defaultGroupPolicy})}async function Tt(e){let t=D(),n=C({cfg:t,accountId:e.accountId}),r=n.dmPolicy??`pairing`,i=n.allowFrom??[],a=await we({provider:`whatsapp`,accountId:n.accountId,dmPolicy:r}),o=i.length===0&&e.selfE164?[e.selfE164]:[],s=i.length>0?i:o,c=n.groupAllowFrom??(i.length>0?i:void 0),l=e.from===e.selfE164,d=n.selfChatMode??h(e.selfE164,i),p=typeof e.pairingGraceMs==`number`&&e.pairingGraceMs>0?e.pairingGraceMs:3e4,m=typeof e.connectedAtMs==`number`&&typeof e.messageTimestampMs==`number`&&e.messageTimestampMs<e.connectedAtMs-p,g=N(t),{groupPolicy:_,providerMissingFallbackApplied:v}=wt({providerConfigPresent:t.channels?.whatsapp!==void 0,groupPolicy:n.groupPolicy,defaultGroupPolicy:g});M({providerMissingFallbackApplied:v,providerKey:`whatsapp`,accountId:n.accountId,log:e=>u(e)});let y=f(e.from),b=typeof e.senderE164==`string`?f(e.senderE164):null,x=H({isGroup:e.group,dmPolicy:r,groupPolicy:_,allowFrom:e.group?i:s,groupAllowFrom:c,storeAllowFrom:a,isSenderAllowed:t=>{if(t.includes(`*`))return!0;let n=new Set(t.map(e=>f(String(e))).filter(e=>!!e));return!e.group&&l?!0:e.group?!!(b&&n.has(b)):n.has(y)}});if(e.group&&x.decision!==`allow`)return x.reason===`groupPolicy=disabled`?u(`Blocked group message (groupPolicy: disabled)`):x.reason===`groupPolicy=allowlist (empty allowlist)`?u(`Blocked group message (groupPolicy: allowlist, no groupAllowFrom)`):u(`Blocked group message from ${e.senderE164??`unknown sender`} (groupPolicy: allowlist)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId};if(!e.group){if(e.isFromMe&&!l)return u(`Skipping outbound DM (fromMe); no pairing reply needed.`),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId};if(x.decision===`block`&&x.reason===`dmPolicy=disabled`)return u(`Blocked dm (dmPolicy: disabled)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId};if(x.decision===`pairing`&&!l){let t=e.from;return m?u(`Skipping pairing reply for historical DM from ${t}.`):await de({channel:`whatsapp`,senderId:t,senderIdLine:`Your WhatsApp phone number: ${t}`,meta:{name:(e.pushName??``).trim()||void 0},upsertPairingRequest:async({id:e,meta:t})=>await De({channel:`whatsapp`,id:e,accountId:n.accountId,meta:t}),onCreated:()=>{u(`whatsapp pairing request sender=${t} name=${e.pushName??`unknown`}`)},sendPairingReply:async t=>{await e.sock.sendMessage(e.remoteJid,{text:t})},onReplyError:e=>{u(`whatsapp pairing reply failed for ${t}: ${String(e)}`)}}),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId}}if(x.decision!==`allow`)return u(`Blocked unauthorized sender ${e.from} (dmPolicy=${r})`),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId}}return{allowed:!0,shouldMarkRead:!0,isSelfChat:d,resolvedAccountId:n.accountId}}function Et(e){return Ze(e)}function Dt(e){let t=e.imageMessage?.mimetype??e.videoMessage?.mimetype??e.documentMessage?.mimetype??e.audioMessage?.mimetype??e.stickerMessage?.mimetype??void 0;if(t)return t;if(e.audioMessage)return`audio/ogg; codecs=opus`;if(e.imageMessage)return`image/jpeg`;if(e.videoMessage)return`video/mp4`;if(e.stickerMessage)return`image/webp`}async function Ot(e,t){let n=Et(e.message);if(!n)return;let r=Dt(n),i=n.documentMessage?.fileName??void 0;if(!(!n.imageMessage&&!n.videoMessage&&!n.documentMessage&&!n.audioMessage&&!n.stickerMessage))try{return{buffer:await qe(e,`buffer`,{},{reuploadRequest:t.updateMediaMessage,logger:t.logger}),mimetype:r,fileName:i}}catch(e){u(`downloadMediaMessage failed: ${String(e)}`);return}}function kt(e){Fe({channel:`whatsapp`,accountId:e,direction:`outbound`})}function At(e){return typeof e==`object`&&e&&`key`in e?String(e.key?.id??`unknown`):`unknown`}function jt(e){return{sendMessage:async(t,n,r,i,a)=>{let o=d(t),s;if(r&&i)if(i.startsWith(`image/`))s={image:r,caption:n||void 0,mimetype:i};else if(i.startsWith(`audio/`))s={audio:r,ptt:!0,mimetype:i};else if(i.startsWith(`video/`)){let e=a?.gifPlayback;s={video:r,caption:n||void 0,mimetype:i,...e?{gifPlayback:!0}:{}}}else s={document:r,fileName:a?.fileName?.trim()||`file`,caption:n||void 0,mimetype:i};else s={text:n};let c=await e.sock.sendMessage(o,s);return kt(a?.accountId??e.defaultAccountId),{messageId:At(c)}},sendPoll:async(t,n)=>{let r=d(t),i=await e.sock.sendMessage(r,{poll:{name:n.question,values:n.options,selectableCount:n.maxSelections??1}});return kt(e.defaultAccountId),{messageId:At(i)}},sendReaction:async(t,n,r,i,a)=>{let o=d(t);await e.sock.sendMessage(o,{react:{text:r,key:{remoteJid:o,id:n,fromMe:i,participant:a?d(a):void 0}}})},sendComposingTo:async t=>{let n=d(t);await e.sock.sendPresenceUpdate(`composing`,n)}}}async function Mt(e){let t=s({module:`web-inbound`}),n=l(`gateway/channels/whatsapp`).child(`inbound`),r=await Ue(!1,e.verbose,{authDir:e.authDir});await Ve(r);let i=Date.now(),o=null,c=new Promise(e=>{o=e}),d=e=>{if(!o)return;let t=o;o=null,t(e)};try{await r.sendPresenceUpdate(`available`),a()&&u(`Sent global 'available' presence on connect`)}catch(e){u(`Failed to send 'available' presence on connect: ${String(e)}`)}let f=r.user?.id,m=f?p(f):null,h=K({debounceMs:e.debounceMs??0,buildKey:e=>{let t=e.chatType===`group`?e.senderJid??e.senderE164??e.senderName??e.from:e.from;if(!t)return null;let n=e.chatType===`group`?e.chatId:e.from;return`${e.accountId}:${n}:${t}`},shouldDebounce:e.shouldDebounce,onFlush:async t=>{let n=t.at(-1);if(!n)return;if(t.length===1){await e.onMessage(n);return}let r=new Set;for(let e of t)for(let t of e.mentionedJids??[])r.add(t);let i=t.map(e=>e.body).filter(Boolean).join(`
|
|
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?Ee(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 te(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}},ee=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)}`)}},T=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 ee(n,r,i)}};r.ev.on(`messages.upsert`,T);let E=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`,E),{close:async()=>{try{let e=r.ev,t=T,n=E;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:ue(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=>ge(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:ge(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=le({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:z({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=A({From:t,ChatType:`group`,Provider:`whatsapp`})?.id,r=e.channels?.whatsapp,i=!!(r?.groupAllowFrom?.length||r?.allowFrom?.length);return k({cfg:e,channel:`whatsapp`,groupId:n??t,hasGroupAllowFrom:i})}function Ut(e,t){let n=A({From:t,ChatType:`group`,Provider:`whatsapp`})?.id;return O({cfg:e,channel:`whatsapp`,groupId:n??t})}function Wt(e){let t=v(r(e.cfg.session?.store,{agentId:e.agentId}))[e.sessionKey],n=Ut(e.cfg,e.conversationId)?`mention`:`always`;return he(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`;be({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=ne(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=W({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=_({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(`
|