@nikolasp98/minion 2026.7.19-dev.20260719203321 → 2026.7.19-dev.20260720032847
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/{_registry.generated-BdU1VGa3.js → _registry.generated-C9MbM1Fy.js} +19 -19
- package/dist/{_registry.generated-Bf8qni2X.js → _registry.generated-DSnauRyt.js} +19 -19
- package/dist/{_registry.generated-D-_FCn4Q.js → _registry.generated-DZ1cfyzT.js} +19 -19
- package/dist/{accounts-CssTcR6h.js → accounts-8KAezyzV.js} +1 -1
- package/dist/{accounts-BYKNiUu0.js → accounts-BQ5oanJ6.js} +1 -1
- package/dist/{accounts-ChxE0ciP.js → accounts-CQuyhE38.js} +1 -1
- package/dist/{accounts-DpbUcLYQ.js → accounts-CdUIj9mk.js} +1 -1
- package/dist/{acp-cli-DghL8yZR.js → acp-cli-Bxe4pCvz.js} +3 -3
- package/dist/{acp-cli-yRSo3yQL.js → acp-cli-CMZz_T9w.js} +3 -3
- package/dist/{agent-B2QC1FP8.js → agent-DHjDiw-k.js} +11 -11
- package/dist/{agent-Co3sq5s2.js → agent-MvPJ1A5X.js} +12 -12
- package/dist/{agent-step-DJxzAWq2.js → agent-step-CHB9sbkF.js} +3 -3
- package/dist/{agent-step-DJKqiQnn.js → agent-step-Dy9x8buv.js} +3 -3
- package/dist/{agents-BQm3s-TW.js → agents-DTZzP4wF.js} +8 -8
- package/dist/{agents-list-tool-CmejYv10.js → agents-list-tool-1pLS9NKF.js} +3 -3
- package/dist/{agents-list-tool-trVUn8pT.js → agents-list-tool-BPV2WSsw.js} +3 -3
- package/dist/{agents-list-tool-DXxcGJkB.js → agents-list-tool-C7EongWN.js} +3 -3
- package/dist/{audit-0MZKzcwy.js → audit-CXS3pynE.js} +10 -10
- package/dist/{audit-DY6wHn3Z.js → audit-CrzmCfeI.js} +10 -10
- package/dist/{auth-choice-B1fpZJvJ.js → auth-choice-BxdqpfAE.js} +4 -4
- package/dist/{auth-choice-Dt9hrXlp.js → auth-choice-DKXIzqjZ.js} +4 -4
- package/dist/{banner-qUb6N-Xd.js → banner-Dp2uCVaG.js} +1 -1
- package/dist/{browser-cli-CCITwRik.js → browser-cli-DDljb8IL.js} +3 -3
- package/dist/{browser-cli-CvJh9Moe.js → browser-cli-kmAQJRoO.js} +3 -3
- package/dist/{browser-tool-JKQO6aYG.js → browser-tool-BGbuJmzv.js} +7 -7
- package/dist/{browser-tool-hAn7wgag.js → browser-tool-cRSwYER1.js} +7 -7
- package/dist/{browser-tool-BfxN4JAB.js → browser-tool-y3qvMsM_.js} +7 -7
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +122 -4
- package/dist/bundled/kg-message-sync/handler.js +1 -1
- package/dist/{call-BZG0zvV2.js → call-BS3V2EnC.js} +2 -2
- package/dist/{call-Bn_Aml_W.js → call-Bez467oJ.js} +2 -2
- package/dist/{call-C2sQsB08.js → call-C780LUYV.js} +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{canvas-tool-BIzKYssG.js → canvas-tool-BwQzTMpg.js} +2 -2
- package/dist/{canvas-tool-DfANlCA-.js → canvas-tool-CckvFKX5.js} +2 -2
- package/dist/{canvas-tool-Z2-VNWSu.js → canvas-tool-ElNclzUQ.js} +2 -2
- package/dist/{channel-options-C0qN7agO.js → channel-options-CNG5GRmK.js} +2 -2
- package/dist/{channel-options-DdeDxJ0I.js → channel-options-DzVpFPN4.js} +2 -2
- package/dist/{channel-selection-CUBF11F8.js → channel-selection-CDWPkBk0.js} +1 -1
- package/dist/{channel-selection-DBqVPd0O.js → channel-selection-DEiQUMg2.js} +1 -1
- package/dist/{channel-web-DQ-AO13r.js → channel-web-BH9V12EO.js} +137 -14
- package/dist/{channels-cli-Eb2U3M-b.js → channels-cli-BSdc0-2D.js} +13 -13
- package/dist/{channels-cli-CCddgBzs.js → channels-cli-x0hFInvg.js} +13 -13
- package/dist/{channels-status-issues-BsxdKon4.js → channels-status-issues-B67zClC-.js} +1 -1
- package/dist/{channels-status-issues-CqoA5t15.js → channels-status-issues-WzLbmbAK.js} +1 -1
- package/dist/{chrome-BT_QS4jj.js → chrome-B9ZEnzWM.js} +2 -2
- package/dist/{chrome-BBC-LLJ9.js → chrome-Cpyyyia6.js} +2 -2
- package/dist/{chrome-Bs1xHSfF.js → chrome-DjksiwPF.js} +2 -2
- package/dist/{clawbot-cli-B9GckfWS.js → clawbot-cli-Bax1oyQj.js} +1 -1
- package/dist/{clawbot-cli-nk6KeYBy.js → clawbot-cli-C8522D-K.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-BB9pNThw.js → cli-C_TeOFXi.js} +3 -3
- package/dist/{cli-Cbp3rb3Q.js → cli-Cxt1Fgvs.js} +3 -3
- package/dist/{client-B8U0fjd9.js → client-BEt46x6T.js} +5 -5
- package/dist/{client-CwtZ64gn.js → client-Bd6jt3y2.js} +5 -5
- package/dist/{client-CGvNQTUq.js → client-CboaeoT4.js} +5 -5
- package/dist/{command-registry-BMjfb8zB.js → command-registry-DQByY_LN.js} +14 -14
- package/dist/{commands-registry-CHCl6zLH.js → commands-registry-COH65YO6.js} +2 -2
- package/dist/{commands-registry-DF1NeQzX.js → commands-registry-vr9s8D0U.js} +2 -2
- package/dist/{completion-cli-EVystkVu.js → completion-cli-BLAlhk2P.js} +1 -1
- package/dist/{completion-cli-BmShRM5M.js → completion-cli-C80GHzDQ.js} +2 -2
- package/dist/{config-DQL_3nup.js → config-B63j_7We.js} +1 -1
- package/dist/{config-ByZ_ygmR.js → config-BvdNn3I9.js} +1 -1
- package/dist/{config-Bi4Ie6Tc.js → config-CzUDtFkM.js} +1 -1
- package/dist/{config-cli-CzZBV4iw.js → config-cli-DNU_O6nh.js} +3 -3
- package/dist/{config-cli-BD-IyG77.js → config-cli-yPy5uPTD.js} +3 -3
- package/dist/{config-guard-BrI9ZDKr.js → config-guard-CbimEcmT.js} +3 -3
- package/dist/{config-guard-C-xrbJwh.js → config-guard-UM52hez4.js} +3 -3
- package/dist/{config-validation-B42r7HB3.js → config-validation-DaLXerV9.js} +2 -2
- package/dist/{config-validation-m8FDyK_H.js → config-validation-DvsOd9Y3.js} +2 -2
- package/dist/{configure-DFPrvYgD.js → configure-C9PyeYuG.js} +16 -16
- package/dist/{configure-BwdNprTt.js → configure-DWX5t2h1.js} +16 -16
- package/dist/{control-service-vf30qr_I.js → control-service-CSDPyvlY.js} +6 -6
- package/dist/{control-service-zzuQAVsD.js → control-service-CxsG6BcA.js} +6 -6
- package/dist/{cron-cli-PEHCpAuu.js → cron-cli-C49auVPj.js} +2 -2
- package/dist/{cron-cli-6fW-E4DP.js → cron-cli-DB0572I_.js} +2 -2
- package/dist/{cron-tool-DkYPPtTT.js → cron-tool-BTcUL0ik.js} +5 -5
- package/dist/{cron-tool-Co4EmKal.js → cron-tool-h30vfgcR.js} +5 -5
- package/dist/{cron-tool-BI65SJn8.js → cron-tool-rj75hAbS.js} +5 -5
- package/dist/{daemon-cli-DOuVs3il.js → daemon-cli-7PvKrdqU.js} +9 -9
- package/dist/{daemon-cli-C3e2euKT.js → daemon-cli-C9tdI-W9.js} +9 -9
- package/dist/daemon-cli.js +1 -1
- package/dist/daemon-install-helpers-B9PUcMAe.js +2 -0
- package/dist/daemon-install-helpers-DhmpzbtY.js +2 -0
- package/dist/{daemon-runtime-_mYoSvaE.js → daemon-runtime-BAkbFQHZ.js} +1 -1
- package/dist/{daemon-runtime-D-pYRgqc.js → daemon-runtime-Cv7N0HMH.js} +1 -1
- package/dist/{deliver-Cb_bbyuz.js → deliver-DKl0Uc7A.js} +5 -5
- package/dist/{deliver-BhCChRC6.js → deliver-OYBhllH9.js} +4 -4
- package/dist/{deliver-DD0DVsK4.js → deliver-eYgMhcEK.js} +4 -4
- package/dist/{deps-D4ZKC2TP.js → deps-Ac_7s6AC.js} +7 -7
- package/dist/{devices-cli-B0rIWU42.js → devices-cli-BozLnc9r.js} +1 -1
- package/dist/{devices-cli-JPxwhJpR.js → devices-cli-BxKT7P8y.js} +1 -1
- package/dist/{directory-cli-DVlZUXwW.js → directory-cli-D5NhoKaB.js} +4 -4
- package/dist/{directory-cli-Br-DCs7g.js → directory-cli-uviHehaT.js} +4 -4
- package/dist/{dispatcher-Bv_eWkrl.js → dispatcher-DifILnrn.js} +1 -1
- package/dist/{dispatcher-C5qAdIQM.js → dispatcher-tvJnqAfT.js} +1 -1
- package/dist/{dm-policy-shared-CtHrx3o1.js → dm-policy-shared-CGbzFKH-.js} +2 -2
- package/dist/{dm-policy-shared-CgFcZMX7.js → dm-policy-shared-ClMTObMZ.js} +2 -2
- package/dist/{dns-cli-DFcltkjF.js → dns-cli-DJ6v-oYc.js} +2 -2
- package/dist/{dns-cli-Dh2dPrMJ.js → dns-cli-PedGGpMl.js} +2 -2
- package/dist/{doctor-completion-m_z2s6D0.js → doctor-completion-BtK32dRL.js} +1 -1
- package/dist/doctor-completion-BweHHbOt.js +2 -0
- package/dist/{doctor-completion-B7Mi0CVn.js → doctor-completion-C37cDIbb.js} +1 -1
- package/dist/doctor-completion-DREwk0xn.js +2 -0
- package/dist/{doctor-config-flow-0V3KHnbi.js → doctor-config-flow-CJqOzkEC.js} +5 -5
- package/dist/{doctor-config-flow-HDdDVMWM.js → doctor-config-flow-gTvoZ4Eu.js} +5 -5
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-Dc3jxkaE.js → exec-approvals-cli-BLo8w-pt.js} +2 -2
- package/dist/{exec-approvals-cli-DdOsW1aP.js → exec-approvals-cli-x5K7G9pj.js} +2 -2
- package/dist/extensionAPI.js +2 -2
- package/dist/{gateway-DnPU4Wfa.js → gateway-CGKRBIM7.js} +3 -3
- package/dist/{gateway-CfotaVE1.js → gateway-E3OBoZEF.js} +3 -3
- package/dist/{gateway-DXL6Fo1d.js → gateway-Or5mvNB5.js} +3 -3
- package/dist/{gateway-cli-B9Q1rReQ.js → gateway-cli-C0ynxVPL.js} +55 -49
- package/dist/{gateway-cli--9Dcz29q.js → gateway-cli-ukMIfnAk.js} +54 -48
- package/dist/{gateway-rpc-CuN-kLID.js → gateway-rpc-D14sAVpk.js} +1 -1
- package/dist/{gateway-rpc-ChaXLuof.js → gateway-rpc-lzZcsO3Z.js} +1 -1
- package/dist/{gateway-tool-ClwvZMaW.js → gateway-tool-2jP4BpLr.js} +3 -3
- package/dist/{gateway-tool-teQY_vBu.js → gateway-tool-D8T9_WRn.js} +3 -3
- package/dist/{gateway-tool-LhduxrlM.js → gateway-tool-DFGcaZzb.js} +3 -3
- package/dist/{github-copilot-auth-u2Ghi_4_.js → github-copilot-auth-DuRv2VTm.js} +2 -2
- package/dist/{github-copilot-auth-DSfVWBBa.js → github-copilot-auth-DvxNNmtP.js} +2 -2
- package/dist/{gmail-DWO--H-E.js → gmail--piwsuOj.js} +1 -1
- package/dist/{gmail-B_RgYk99.js → gmail-C9NyamR5.js} +1 -1
- package/dist/{health-Bxn2dtUK.js → health-BcLfTawq.js} +8 -8
- package/dist/{health-BpeDyvkp.js → health-C2yBZEwR.js} +8 -8
- package/dist/{helpers-ClsGACrR.js → helpers-Ba_g4pfz.js} +1 -1
- package/dist/{helpers-CBDYh3Dw.js → helpers-BpaKo1-T.js} +1 -1
- package/dist/{hooks-cli-jhNS7RyW.js → hooks-cli-CqTsdseA.js} +2 -2
- package/dist/{hooks-cli-B9d_boOR.js → hooks-cli-X7xXts0z.js} +2 -2
- package/dist/{image-tool-CT-EgJFK.js → image-tool-O5I4i3tN.js} +2 -2
- package/dist/{image-tool-BTleQ2_l.js → image-tool-OsYmJcpy.js} +2 -2
- package/dist/{image-tool-B-r0xDcH.js → image-tool-aGcmtHJX.js} +1 -1
- package/dist/index.d.ts +24 -0
- package/dist/index.js +10 -10
- package/dist/{io-Bv4JCxeO.js → io-B709DBGS.js} +1 -1
- package/dist/{io-DdigNnzZ.js → io-DDnUNk2G.js} +1 -1
- package/dist/{io-hXRmPBqb.js → io-QYIZW5MZ.js} +1 -1
- package/dist/{ir-DkSZRyyb.js → ir-DPQSZnjA.js} +1 -1
- package/dist/{ir-BqvvFuYa.js → ir-DaDOh22T.js} +1 -1
- package/dist/{ir-Dwlg6oEy.js → ir-DcutOMlm.js} +5 -5
- package/dist/{lifecycle-core-BfgPRXYL.js → lifecycle-core-Dh3h7Tlb.js} +3 -3
- package/dist/{lifecycle-core-B-omlUcl.js → lifecycle-core-UJgptdVt.js} +3 -3
- package/dist/{load-tools-tool-BptD5DUW.js → load-tools-tool-Bky4JC-t.js} +1 -1
- package/dist/{load-tools-tool-DIDSRIdp.js → load-tools-tool-C2Lrm9C4.js} +1 -1
- package/dist/{load-tools-tool-Csr-hTAU.js → load-tools-tool-DaZcox_-.js} +1 -1
- package/dist/{logs-cli-CGklx72q.js → logs-cli-Bs0yPnIQ.js} +2 -2
- package/dist/{logs-cli-jcZogQKY.js → logs-cli-BzvPy4nD.js} +2 -2
- package/dist/{memory-cli-sx2IwvSh.js → memory-cli-BDYduGUF.js} +2 -2
- package/dist/{memory-cli-BDmWEKl8.js → memory-cli-DrpR6lhi.js} +2 -2
- package/dist/{message-action-runner-JAATPAnj.js → message-action-runner-BXg8Ctsi.js} +11 -11
- package/dist/{message-action-runner-BUDWxRiQ.js → message-action-runner-CrAsG3Dx.js} +11 -11
- package/dist/{message-ledger-BbcFy0qQ.js → message-ledger-DGgd4vUM.js} +6 -6
- package/dist/{message-tool-Brnp9HRG.js → message-tool-BGUhSB3Y.js} +6 -6
- package/dist/{message-tool-fPtrJ1p_.js → message-tool-BInbDVz2.js} +6 -6
- package/dist/{message-tool-ZOaJp5tM.js → message-tool-DQlibrrl.js} +9 -9
- package/dist/{minion-tools-BvsLwdZe.js → minion-tools-BCra1fYt.js} +18 -18
- package/dist/{model-catalog-00hH7JPm.js → model-catalog-BfWqC_UB.js} +3 -3
- package/dist/{model-catalog-vx4MCwF8.js → model-catalog-DCCYsbaf.js} +3 -3
- package/dist/{model-fallback-Dh9ams7e.js → model-fallback-C7ycDOYw.js} +2 -2
- package/dist/{model-fallback-CJHJXrw2.js → model-fallback-DTdftKaO.js} +2 -2
- package/dist/{model-fallback-DX0D41-N.js → model-fallback-TYbcgazH.js} +4 -4
- package/dist/{model-picker-sHl8VM0R.js → model-picker-CjwNwpor.js} +2 -2
- package/dist/{model-picker-BkEovsQx.js → model-picker-ClyhD9BG.js} +2 -2
- package/dist/{models-RCXWoS9G.js → models-D2EW_om5.js} +11 -11
- package/dist/{models-cli-BSeAjCgu.js → models-cli-CAgRFys_.js} +2 -2
- package/dist/{models-cli-CirOuShr.js → models-cli-DKYv-rvG.js} +11 -11
- package/dist/{models-config-pgquZUp0.js → models-config-CnRjuIRl.js} +2 -2
- package/dist/{models-config-B96q3yNF.js → models-config-DX-B8C0A.js} +2 -2
- package/dist/{node-cli-DjpllZvg.js → node-cli-BKGFeJRs.js} +8 -8
- package/dist/{node-cli-CgjrJyxx.js → node-cli-CJWRxdTJ.js} +8 -8
- package/dist/{nodes-cli-5DD-jkKc.js → nodes-cli-Bc3WKxoC.js} +4 -4
- package/dist/{nodes-cli-CnztM2u7.js → nodes-cli-D03qk9a8.js} +4 -4
- package/dist/{nodes-tool-BIfxR6rk.js → nodes-tool-B8I5UMsW.js} +3 -3
- package/dist/{nodes-tool-CBqqDmFG.js → nodes-tool-BGghqfip.js} +2 -2
- package/dist/{nodes-tool-6WkcI9dF.js → nodes-tool-D7u_wry0.js} +2 -2
- package/dist/{nodes-utils-DjI2PdQN.js → nodes-utils-B5RhYoQp.js} +1 -1
- package/dist/{nodes-utils-DhqoVL3_.js → nodes-utils-BTmNL7e8.js} +1 -1
- package/dist/{nodes-utils-CR6jMdTB.js → nodes-utils-DYFFe7L0.js} +1 -1
- package/dist/{onboard-DyTUBq1o.js → onboard-DAt8o38U.js} +8 -8
- package/dist/{onboard-C7cMDFz3.js → onboard-DaWyekDu.js} +8 -8
- package/dist/{onboard-channels-CcQB_D8q.js → onboard-channels-CcKKlviz.js} +3 -3
- package/dist/{onboard-channels-GUpBlCTA.js → onboard-channels-DO9rIaww.js} +1 -1
- package/dist/{onboard-channels-iBaAMrVp.js → onboard-channels-DxD1J0Fl.js} +1 -1
- package/dist/{onboard-channels-2F-al2bK.js → onboard-channels-ayjCRSRI.js} +3 -3
- package/dist/{onboard-custom-Dqe2n_I_.js → onboard-custom-7TWHmF6f.js} +2 -2
- package/dist/{onboard-custom-B5uJacEi.js → onboard-custom-Cg-cT-HG.js} +2 -2
- package/dist/{onboard-custom-Cvtcf6sP.js → onboard-custom-D5MwdSB6.js} +1 -1
- package/dist/{onboard-custom-EktHuSoq.js → onboard-custom-OL4aJlDw.js} +1 -1
- package/dist/{onboard-helpers-A57eJV1K.js → onboard-helpers-CAp3yX6H.js} +1 -1
- package/dist/{onboard-helpers-Bes_gMRd.js → onboard-helpers-CM8I1XGq.js} +4 -4
- package/dist/{onboard-helpers-DwrQ3qel.js → onboard-helpers-DNAJADYM.js} +4 -4
- package/dist/{onboard-helpers-CA6gtfze.js → onboard-helpers-om1YuvHR.js} +1 -1
- package/dist/{onboard-remote-DnOhp1HP.js → onboard-remote-CMlqQ8bX.js} +1 -1
- package/dist/{onboard-remote-C3fXnENC.js → onboard-remote-DWDmMcEa.js} +1 -1
- package/dist/{onboard-skills-Ct7a9xVH.js → onboard-skills-C9_DyQw_.js} +1 -1
- package/dist/{onboard-skills-BbK6yC45.js → onboard-skills-DncoqN5T.js} +1 -1
- package/dist/{onboarding-DXnsoTmb.js → onboarding-BJ5pytTM.js} +12 -12
- package/dist/{onboarding-DwvcEVJT.js → onboarding-Dokq3dyX.js} +12 -12
- package/dist/{onboarding.finalize-BlT9TFXo.js → onboarding.finalize-BwJeeIxU.js} +9 -9
- package/dist/{onboarding.finalize-89okrd27.js → onboarding.finalize-D55VDF9y.js} +9 -9
- package/dist/{onboarding.gateway-config-CGHFSMrP.js → onboarding.gateway-config-DVPVoMHq.js} +2 -2
- package/dist/{onboarding.gateway-config-DhKoKqog.js → onboarding.gateway-config-DmZQ39JI.js} +2 -2
- package/dist/{outbound-send-deps-C9-r6L_H.js → outbound-send-deps-DvFxBUnK.js} +7 -7
- package/dist/{pairing-cli-BQuY7Uob.js → pairing-cli-90LPceco.js} +4 -4
- package/dist/{pairing-cli-DUBoqhsB.js → pairing-cli-B9qkawsB.js} +4 -4
- package/dist/{pairing-store-BL89AauO.js → pairing-store-3pNM3nTJ.js} +2 -2
- package/dist/{pairing-store-C4IyYFrQ.js → pairing-store-B4UGCc04.js} +2 -2
- package/dist/{pi-embedded-helpers-CUEZLsYj.js → pi-embedded-helpers-BCA0wEub.js} +1 -1
- package/dist/{pi-embedded-helpers-BTpsPx8l.js → pi-embedded-helpers-BJR_q4fK.js} +1 -1
- package/dist/{pi-embedded-helpers-B-f8Gc5i.js → pi-embedded-helpers-YFlRaatm.js} +5 -5
- package/dist/{pi-embedded-utils-CYGABqbg.js → pi-embedded-utils-CdHLPajg.js} +1 -1
- package/dist/{pi-embedded-utils-BkDGB6TO.js → pi-embedded-utils-Ii64VcGG.js} +1 -1
- package/dist/{pi-embedded-utils-ny05-1eE.js → pi-embedded-utils-gRvVnPaC.js} +1 -1
- package/dist/{pi-tools.policy-BX4AZUtI.js → pi-tools.policy-D5VZcVxf.js} +3 -3
- package/dist/{plugin-auto-enable-BjpaOj6N.js → plugin-auto-enable-CsM3OBhx.js} +1 -1
- package/dist/{plugin-auto-enable-BzxRsLol.js → plugin-auto-enable-DpXKJTGS.js} +1 -1
- package/dist/{plugin-registry-CKW-oeZs.js → plugin-registry-BV7F2_rq.js} +3 -3
- package/dist/{plugin-registry-BP3jYciG.js → plugin-registry-erSvX5n_.js} +3 -3
- package/dist/plugin-sdk/channels/discord.js +1 -1
- package/dist/plugin-sdk/channels/imessage.js +1 -1
- package/dist/plugin-sdk/channels/line.js +1 -1
- package/dist/plugin-sdk/channels/plugins/types.core.d.ts +3 -0
- package/dist/plugin-sdk/channels/signal.js +1 -1
- package/dist/plugin-sdk/channels/slack.js +1 -1
- package/dist/plugin-sdk/channels/telegram.js +1 -1
- package/dist/plugin-sdk/channels/whatsapp.js +127 -4
- package/dist/plugin-sdk/core.js +1 -1
- package/dist/plugin-sdk/index.js +127 -4
- package/dist/plugin-sdk/web/auto-reply/types.d.ts +3 -0
- package/dist/plugin-sdk/web/inbound/history-sync.d.ts +61 -0
- package/dist/plugin-sdk/web/inbound/monitor.d.ts +3 -0
- package/dist/{plugins-DLX5z0yZ.js → plugins-BMGDdQTP.js} +1 -1
- package/dist/{plugins-Bkzc_vY_.js → plugins-DZlYf88C.js} +1 -1
- package/dist/{plugins-cli-DN0qkZdj.js → plugins-cli--zzna96C.js} +3 -3
- package/dist/{plugins-cli-BRIFVX9h.js → plugins-cli-Bdk4hq3l.js} +3 -3
- package/dist/{plugins-pvn2g_yZ.js → plugins-j4H8PRaP.js} +1 -1
- package/dist/{program-CjOUePkz.js → program-BGLpZD7k.js} +7 -7
- package/dist/{program-context-B2TmPN2P.js → program-context-C50ILR-W.js} +42 -42
- package/dist/{prompt-select-styled-C2vSWt3d.js → prompt-select-styled-C0bFRF_c.js} +18 -18
- package/dist/{prompt-select-styled-CalTy8sh.js → prompt-select-styled-LhoSO1ZN.js} +18 -18
- package/dist/{push-apns-B3XjJ64y.js → push-apns-DRWUaVL5.js} +1 -1
- package/dist/{push-apns-BeBo3r26.js → push-apns-ZJlEaWwS.js} +1 -1
- package/dist/{pw-ai-Ycl5QHT2.js → pw-ai-BpkhWc4m.js} +2 -2
- package/dist/{pw-ai-D3NUOWYP.js → pw-ai-CvN60YT9.js} +2 -2
- package/dist/{pw-ai-CcD3Tm_h.js → pw-ai-idEgHRiF.js} +2 -2
- package/dist/{pw-session-vFs45LYs.js → pw-session-Bw6w0xav.js} +1 -1
- package/dist/{pw-session-DRm82Z-U.js → pw-session-D7q51yBs.js} +1 -1
- package/dist/{pw-session-BRnheF-M.js → pw-session-UeB1Wv5A.js} +1 -1
- package/dist/{qr-cli-C2oXVBRz.js → qr-cli-BZ5ur0kD.js} +2 -2
- package/dist/{qr-cli-D3ti85ES.js → qr-cli-CHdDXRO3.js} +2 -2
- package/dist/{register.agent-BOnk_Tmc.js → register.agent-DWP7LOh2.js} +7 -7
- package/dist/{register.agent-M2D9G--T.js → register.agent-iBxzpBzf.js} +12 -12
- package/dist/{register.channel-5oRZM1Kn.js → register.channel-BZpFUr7l.js} +2 -2
- package/dist/{register.channel-QW7oYsGi.js → register.channel-D1J5CSl3.js} +2 -2
- package/dist/{register.configure-D_GUdVhw.js → register.configure-DwPyV0Ea.js} +1 -1
- package/dist/{register.configure-Bkaw8lXD.js → register.configure-DwtGWYbf.js} +1 -1
- package/dist/{register.drone-PZeHL3xH.js → register.drone-CxPOs_2T.js} +1 -1
- package/dist/{register.drone-B4NHa1gM.js → register.drone-DhMh8NRu.js} +1 -1
- package/dist/{register.maintenance-BaV_S3aM.js → register.maintenance-BC-aTYfd.js} +5 -5
- package/dist/{register.maintenance-DotMVNOl.js → register.maintenance-DRTaHAkh.js} +5 -5
- package/dist/{register.message-DspK_kGM.js → register.message-CpeLiSJ1.js} +7 -7
- package/dist/{register.message-C2Oekp2I.js → register.message-fprB6mG0.js} +7 -7
- package/dist/{register.onboard-DQY1APms.js → register.onboard-BA7xPEMG.js} +1 -1
- package/dist/{register.onboard-DHIi_T3R.js → register.onboard-BNwvMAZc.js} +1 -1
- package/dist/{register.setup-C2V0XnX8.js → register.setup-BWcmdxOL.js} +4 -4
- package/dist/{register.setup-CwPvF6Oy.js → register.setup-CATES8vb.js} +4 -4
- package/dist/{register.status-health-sessions-DiUpww2L.js → register.status-health-sessions-B4WZ1ury.js} +3 -3
- package/dist/{register.status-health-sessions-Cb6Nnf_i.js → register.status-health-sessions-DCk4nNh8.js} +6 -6
- package/dist/{register.subclis-DllJrPOF.js → register.subclis-D9cIR7L0.js} +29 -29
- package/dist/{reply-BjNIjpcb.js → reply-h5hkbvZs.js} +28 -28
- package/dist/{reply-payloads-ExNDdXRC.js → reply-payloads-BNfLF9Pe.js} +6 -6
- package/dist/{reply-prefix-DmP0BLlF.js → reply-prefix-CWLq59FA.js} +1 -1
- package/dist/{reply-prefix-BdqpDvpo.js → reply-prefix-DD6iWfy_.js} +1 -1
- package/dist/{resolve-route-08o-RWug.js → resolve-route-B1lrkpPf.js} +2 -2
- package/dist/{resolve-route-Bfj0b5g1.js → resolve-route-B46Ai8ft.js} +4 -4
- package/dist/{routes-Dk_yuf3E.js → routes-B9WA653r.js} +4 -4
- package/dist/{routes-CNJhQdUH.js → routes-BaqZDUfs.js} +4 -4
- package/dist/{rpc-B_M2qfMC.js → rpc-BEHXDghJ.js} +1 -1
- package/dist/{rpc-COxh7gxW.js → rpc-zSrGnlNR.js} +1 -1
- package/dist/{run-main-Blf3VQzz.js → run-main-CzJtWINB.js} +19 -19
- package/dist/{sandbox-CBcGrsxS.js → sandbox-C2cEOngw.js} +6 -6
- package/dist/{sandbox-BiWgw2Ji.js → sandbox-DhosD0u8.js} +6 -6
- package/dist/{sandbox-cli-no3C5tgL.js → sandbox-cli-BUyhgbgy.js} +4 -4
- package/dist/{sandbox-cli-C2GpYDvT.js → sandbox-cli-DKl60P2E.js} +4 -4
- package/dist/{sdk-inspect-tool-BGZj0n-Y.js → sdk-inspect-tool-C3-Uc0DP.js} +2 -2
- package/dist/{sdk-inspect-tool-C0XkBwVQ.js → sdk-inspect-tool-DfoMTqF-.js} +2 -2
- package/dist/{sdk-inspect-tool-CbgfpOOG.js → sdk-inspect-tool-nZiAxt1K.js} +2 -2
- package/dist/{search-tools-tool-DvIe_0dU.js → search-tools-tool-CF1Of3dS.js} +1 -1
- package/dist/{search-tools-tool-Ba8yLWga.js → search-tools-tool-DPX0F9kT.js} +1 -1
- package/dist/{search-tools-tool-hvssjF9z.js → search-tools-tool-DTJMSRZp.js} +1 -1
- package/dist/{security-cli-KEVfItUw.js → security-cli-BtPVplbe.js} +4 -4
- package/dist/{security-cli-CpLUWle9.js → security-cli-CFAFl0yx.js} +4 -4
- package/dist/{send-Bb1t3RQ7.js → send-BEicgMoW.js} +4 -4
- package/dist/{send-BvvYDAob.js → send-BQ9Y0tHQ.js} +4 -4
- package/dist/{send-Cm4nKWWz.js → send-CGeCqUNa.js} +5 -5
- package/dist/{send-Dpc7DY8V.js → send-Cm-POcgU.js} +4 -4
- package/dist/{send-DpUvFGhY.js → send-CnlhaqPG.js} +6 -6
- package/dist/{send-sjqxhfHS.js → send-DHilh06w.js} +4 -4
- package/dist/{send-ClM8Lo36.js → send-DYZKwR96.js} +5 -5
- package/dist/{send-DBBw0mfP.js → send-DhlMiZd4.js} +5 -5
- package/dist/{send-CFVe9p2R.js → send-HOtU47cf.js} +5 -5
- package/dist/{send-B9zhjl-M.js → send-XwFpaWoS.js} +6 -6
- package/dist/{server-context-CY9CD_me.js → server-context-6XtLqwqw.js} +6 -6
- package/dist/{server-context-BV2mlOUh.js → server-context-DPprMCtr.js} +6 -6
- package/dist/{server-context-Lw6Buhhu.js → server-context-SOe3Qe9P.js} +6 -6
- package/dist/{server-methods-list-DahLX2Sj.js → server-methods-list-Pm_vpzMF.js} +1 -1
- package/dist/{server-methods-list-TcEC7Y9-.js → server-methods-list-jiJwdopx.js} +1 -1
- package/dist/{server-node-events-DICRZt72.js → server-node-events-BiHw8Aty.js} +11 -11
- package/dist/{server-node-events-D1umA8Dy.js → server-node-events-wq3eiORV.js} +9 -9
- package/dist/{session-status-tool-C6NbaIxE.js → session-status-tool-DVaFr8FF.js} +5 -5
- package/dist/{session-status-tool-CG-IjgmB.js → session-status-tool-DXJnzH_w.js} +7 -7
- package/dist/{session-status-tool-DLdy-PVh.js → session-status-tool-S7QLQ1pw.js} +6 -6
- package/dist/{session-utils-C6EI44nf.js → session-utils-DCcrIy-d.js} +4 -4
- package/dist/{sessions-9ZVRK6fD.js → sessions-Bd5feUyF.js} +5 -5
- package/dist/{sessions-ZoJZhwzH.js → sessions-C2bn6qPQ.js} +5 -5
- package/dist/{sessions-C1dBEx0F.js → sessions-DHu5H-hD.js} +3 -3
- package/dist/{sessions-DJOm_blu.js → sessions-DexnnkGa.js} +4 -4
- package/dist/{sessions-helpers-TDwLlZrz.js → sessions-helpers-D8VM7DnS.js} +3 -3
- package/dist/{sessions-helpers-Cy19fL3z.js → sessions-helpers-Dd8VhxwF.js} +3 -3
- package/dist/{sessions-helpers-x6gQVTCZ.js → sessions-helpers-NLpGY-Oa.js} +3 -3
- package/dist/{sessions-history-tool-BArrbHfH.js → sessions-history-tool-1JstF4yd.js} +5 -5
- package/dist/{sessions-history-tool-DYcpsoLT.js → sessions-history-tool-DpwjQIN0.js} +5 -5
- package/dist/{sessions-history-tool-DCLLydmy.js → sessions-history-tool-y7WkrrGJ.js} +5 -5
- package/dist/{sessions-list-tool-C_IzWs3u.js → sessions-list-tool-C7CPDatd.js} +5 -5
- package/dist/{sessions-list-tool-hgLnFDGq.js → sessions-list-tool-DubsboPk.js} +5 -5
- package/dist/{sessions-list-tool-Bfiy5YSo.js → sessions-list-tool-rT1vgOsX.js} +5 -5
- package/dist/{sessions-send-tool-CyXOtsjm.js → sessions-send-tool--g9m90cG.js} +5 -5
- package/dist/{sessions-send-tool-C8Y13Jyw.js → sessions-send-tool-D53gdymO.js} +6 -6
- package/dist/{sessions-send-tool-YVSIiLbQ.js → sessions-send-tool-DvMoYl8k.js} +6 -6
- package/dist/{sessions-spawn-tool-M-xSvOeu.js → sessions-spawn-tool-ChO1T8-h.js} +1 -1
- package/dist/{sessions-spawn-tool-BReQxm1p.js → sessions-spawn-tool-DVp9MKx4.js} +1 -1
- package/dist/{sessions-spawn-tool-BLBZSzW-.js → sessions-spawn-tool-kHtrbS95.js} +1 -1
- package/dist/{shared-CKbfLORV.js → shared-CpM0cqCB.js} +2 -2
- package/dist/{shared-7ehE2dBL.js → shared-DdXoAbHq.js} +2 -2
- package/dist/{skills-cli-flQHogqq.js → skills-cli-Cy-mRgqA.js} +2 -2
- package/dist/{skills-cli-DoP_hZ9T.js → skills-cli-dsjEhcOf.js} +2 -2
- package/dist/{status-DXRDTPVw.js → status-9OUW-F-m.js} +3 -3
- package/dist/{status-DHddyiOw.js → status-B5xOkl0l.js} +13 -13
- package/dist/{status-89hH0nUO.js → status-BMXpDK_S.js} +14 -14
- package/dist/{status-DACkUn9-.js → status-BU_dK9bN.js} +3 -3
- package/dist/{status.update-Dljm9ufZ.js → status.update-BJ6m7AlL.js} +1 -1
- package/dist/{status.update-CBGruCwG.js → status.update-Bp79y7p4.js} +1 -1
- package/dist/{subagent-registry-DwQ4SiN9.js → subagent-registry-BJxBeIdz.js} +29 -29
- package/dist/{subagents-tool-COheKZNG.js → subagents-tool-BdfXbDEw.js} +6 -6
- package/dist/{subagents-tool-DlPDOYAS.js → subagents-tool-C-3v1oat.js} +6 -6
- package/dist/{subagents-tool-8njqaQ4P.js → subagents-tool-DzGOAC1H.js} +6 -6
- package/dist/{system-cli-Dh0MmkCW.js → system-cli-Dt8B0b5w.js} +1 -1
- package/dist/{system-cli-COFjxPnX.js → system-cli-SC9BWfDC.js} +1 -1
- package/dist/{systemd-hints-OFfA6kZB.js → systemd-hints-B2oxs6Pd.js} +1 -1
- package/dist/{systemd-hints-L0GK5l_y.js → systemd-hints-DArnHnUt.js} +1 -1
- package/dist/{tables-Bh0hs1jh.js → tables-CyITEjTe.js} +1 -1
- package/dist/{tables-Bzrb_xSH.js → tables-DTdeyX5J.js} +1 -1
- package/dist/{targets-CJP-jE82.js → targets-Cwf3l67c.js} +1 -1
- package/dist/{targets-Bgpg8pHd.js → targets-cZM4GsPE.js} +2 -2
- package/dist/{targets--oBCiHnU.js → targets-pt8VqU7d.js} +1 -1
- package/dist/{tools-cli-BGR1FLgF.js → tools-cli-DCWDl-bu.js} +3 -3
- package/dist/{tools-cli-ajym1Tw3.js → tools-cli-DN2XCVUc.js} +3 -3
- package/dist/{tts-CVcoiKFC.js → tts-BckXTz88.js} +1 -1
- package/dist/{tts-6P9NwetO.js → tts-FKoUwGO9.js} +1 -1
- package/dist/{tts-BJhV6B9h.js → tts-J6-O4NNf.js} +1 -1
- package/dist/{tts-tool-CEkFj4J8.js → tts-tool-DgZReWAF.js} +3 -3
- package/dist/{tts-tool-BO2aEEZa.js → tts-tool-DyyonhOo.js} +3 -3
- package/dist/{tts-tool-DvkaUEhg.js → tts-tool-Iur2XkSD.js} +3 -3
- package/dist/{tui-D1tjllO0.js → tui-BKwhEc5K.js} +5 -5
- package/dist/{tui-DiIysWS0.js → tui-OmhgBX2i.js} +5 -5
- package/dist/{tui-cli--jbzxCng.js → tui-cli-BjDivXeO.js} +1 -1
- package/dist/{tui-cli-CRIZznPI.js → tui-cli-DdQUd-D7.js} +1 -1
- package/dist/{update-cli-Xfv3SN3f.js → update-cli-DVlj2ms_.js} +8 -8
- package/dist/{update-cli-D9HNxJAs.js → update-cli-TkkbEoIw.js} +8 -8
- package/dist/{web-BShkTXOu.js → web-BTQTUC4T.js} +11 -11
- package/dist/web-CoE3PKcz.js +2 -0
- package/dist/{web-search-KjeT_et5.js → web-search-BLii88T8.js} +4 -4
- package/dist/{web-search-5QiEgV2m.js → web-search-BlqgaDvo.js} +4 -4
- package/dist/{web-search-B6wIo5BO.js → web-search-CsglcYWp.js} +4 -4
- package/dist/{webhooks-cli-BpaIBTCg.js → webhooks-cli-D-Uq-LAq.js} +3 -3
- package/dist/{webhooks-cli-DRIzoYcZ.js → webhooks-cli-lm1_PsOT.js} +3 -3
- package/dist/{workspace-dirs-BATOmOcC.js → workspace-dirs-C-UiReJ3.js} +3 -3
- package/extensions/whatsapp/index.js +1 -0
- package/extensions/whatsapp/src/channel.ts +1 -0
- package/package.json +1 -1
- package/dist/daemon-install-helpers-CGXP5R7Q.js +0 -2
- package/dist/daemon-install-helpers-uI0hqW3a.js +0 -2
- package/dist/doctor-completion-BzGkd0DV.js +0 -2
- package/dist/doctor-completion-uMQ5e4z5.js +0 -2
- package/dist/web-nRdaXm2h.js +0 -2
package/dist/plugin-sdk/index.js
CHANGED
|
@@ -7430,7 +7430,7 @@ var init_shell_env = __esmMin((() => {
|
|
|
7430
7430
|
//#region src/version.ts
|
|
7431
7431
|
var VERSION;
|
|
7432
7432
|
var init_version$1 = __esmMin((() => {
|
|
7433
|
-
VERSION = "2026.7.19-dev.
|
|
7433
|
+
VERSION = "2026.7.19-dev.20260720032847";
|
|
7434
7434
|
}));
|
|
7435
7435
|
//#endregion
|
|
7436
7436
|
//#region src/config/agent-dirs.ts
|
|
@@ -135687,6 +135687,90 @@ function historyMessageToLedgerRow(msg, ctx) {
|
|
|
135687
135687
|
};
|
|
135688
135688
|
}
|
|
135689
135689
|
//#endregion
|
|
135690
|
+
//#region src/web/inbound/history-sync.ts
|
|
135691
|
+
/**
|
|
135692
|
+
* WhatsApp history-sync progress: a pure reducer over the two Baileys events
|
|
135693
|
+
* that carry it (`messaging-history.set` chunks and `messaging-history.status`
|
|
135694
|
+
* milestones), plus our own on-demand backfill paginator counters.
|
|
135695
|
+
*
|
|
135696
|
+
* Pure on purpose: the socket wiring in ./monitor.ts is untestable, the phase
|
|
135697
|
+
* logic is where every trap lives (see the notes on each rule below).
|
|
135698
|
+
*/
|
|
135699
|
+
/** proto.HistorySync.HistorySyncType (baileys 7.0.0-rc11). */
|
|
135700
|
+
const HISTORY_SYNC_TYPE = {
|
|
135701
|
+
INITIAL_BOOTSTRAP: 0,
|
|
135702
|
+
INITIAL_STATUS_V3: 1,
|
|
135703
|
+
FULL: 2,
|
|
135704
|
+
RECENT: 3,
|
|
135705
|
+
PUSH_NAME: 4,
|
|
135706
|
+
NON_BLOCKING_DATA: 5,
|
|
135707
|
+
ON_DEMAND: 6
|
|
135708
|
+
};
|
|
135709
|
+
function initialHistorySync(now = Date.now()) {
|
|
135710
|
+
return {
|
|
135711
|
+
phase: "idle",
|
|
135712
|
+
progress: null,
|
|
135713
|
+
explicit: false,
|
|
135714
|
+
messages: 0,
|
|
135715
|
+
chats: 0,
|
|
135716
|
+
startedAt: null,
|
|
135717
|
+
updatedAt: now
|
|
135718
|
+
};
|
|
135719
|
+
}
|
|
135720
|
+
function phaseForSyncType(syncType) {
|
|
135721
|
+
switch (syncType) {
|
|
135722
|
+
case HISTORY_SYNC_TYPE.INITIAL_BOOTSTRAP:
|
|
135723
|
+
case HISTORY_SYNC_TYPE.INITIAL_STATUS_V3: return "bootstrap";
|
|
135724
|
+
case HISTORY_SYNC_TYPE.RECENT: return "recent";
|
|
135725
|
+
case HISTORY_SYNC_TYPE.FULL: return "full";
|
|
135726
|
+
case HISTORY_SYNC_TYPE.ON_DEMAND: return "on-demand";
|
|
135727
|
+
default: return null;
|
|
135728
|
+
}
|
|
135729
|
+
}
|
|
135730
|
+
function reduceHistorySync(state, event, now = Date.now()) {
|
|
135731
|
+
const next = {
|
|
135732
|
+
...state,
|
|
135733
|
+
updatedAt: now
|
|
135734
|
+
};
|
|
135735
|
+
if (event.kind === "chunk") {
|
|
135736
|
+
next.messages += event.messages ?? 0;
|
|
135737
|
+
next.chats += event.chats ?? 0;
|
|
135738
|
+
if (next.startedAt == null) next.startedAt = now;
|
|
135739
|
+
if (event.progress != null) next.progress = event.progress;
|
|
135740
|
+
const phase = phaseForSyncType(event.syncType);
|
|
135741
|
+
if (phase) next.phase = phase;
|
|
135742
|
+
else if (state.phase === "stalled" || state.phase === "idle") next.phase = "recent";
|
|
135743
|
+
if (state.phase === "stalled" || state.phase === "complete") next.explicit = false;
|
|
135744
|
+
return next;
|
|
135745
|
+
}
|
|
135746
|
+
if (event.kind === "status") {
|
|
135747
|
+
next.explicit = event.explicit;
|
|
135748
|
+
if (event.status === "paused") {
|
|
135749
|
+
next.phase = "stalled";
|
|
135750
|
+
return next;
|
|
135751
|
+
}
|
|
135752
|
+
if (event.syncType === HISTORY_SYNC_TYPE.INITIAL_BOOTSTRAP) {
|
|
135753
|
+
next.phase = "bootstrap";
|
|
135754
|
+
return next;
|
|
135755
|
+
}
|
|
135756
|
+
next.phase = "complete";
|
|
135757
|
+
if (event.explicit) next.progress = 100;
|
|
135758
|
+
return next;
|
|
135759
|
+
}
|
|
135760
|
+
next.backfill = {
|
|
135761
|
+
requests: event.requests,
|
|
135762
|
+
cap: event.cap,
|
|
135763
|
+
complete: event.complete
|
|
135764
|
+
};
|
|
135765
|
+
if (event.complete) {
|
|
135766
|
+
if (state.phase === "on-demand") {
|
|
135767
|
+
next.phase = "complete";
|
|
135768
|
+
next.explicit = false;
|
|
135769
|
+
}
|
|
135770
|
+
} else if (state.phase === "idle" || state.phase === "complete") next.phase = "on-demand";
|
|
135771
|
+
return next;
|
|
135772
|
+
}
|
|
135773
|
+
//#endregion
|
|
135690
135774
|
//#region src/web/inbound/media.ts
|
|
135691
135775
|
init_globals();
|
|
135692
135776
|
function unwrapMessage(message) {
|
|
@@ -136218,6 +136302,17 @@ async function monitorWebInbox(options) {
|
|
|
136218
136302
|
let lastCursorTs = Number.POSITIVE_INFINITY;
|
|
136219
136303
|
const BACKFILL_BATCH = 50;
|
|
136220
136304
|
const BACKFILL_MAX_REQUESTS = 60;
|
|
136305
|
+
let historySync = initialHistorySync();
|
|
136306
|
+
const pushHistorySync = (event) => {
|
|
136307
|
+
historySync = reduceHistorySync(historySync, event);
|
|
136308
|
+
options.onHistorySync?.(historySync);
|
|
136309
|
+
};
|
|
136310
|
+
const pushBackfillStatus = (complete) => pushHistorySync({
|
|
136311
|
+
kind: "backfill",
|
|
136312
|
+
requests: backfillRequests,
|
|
136313
|
+
cap: BACKFILL_MAX_REQUESTS,
|
|
136314
|
+
complete
|
|
136315
|
+
});
|
|
136221
136316
|
const recordHistoryMessages = (messages) => {
|
|
136222
136317
|
if (!messages?.length) return;
|
|
136223
136318
|
let recorded = 0;
|
|
@@ -136240,7 +136335,11 @@ async function monitorWebInbox(options) {
|
|
|
136240
136335
|
backfillTimer = setTimeout(() => void backfillTick(), delayMs);
|
|
136241
136336
|
};
|
|
136242
136337
|
const backfillTick = async () => {
|
|
136243
|
-
if (!backfillMessagesEnabled
|
|
136338
|
+
if (!backfillMessagesEnabled) return;
|
|
136339
|
+
if (backfillRequests >= BACKFILL_MAX_REQUESTS) {
|
|
136340
|
+
pushBackfillStatus(true);
|
|
136341
|
+
return;
|
|
136342
|
+
}
|
|
136244
136343
|
if (!backfillOldest) {
|
|
136245
136344
|
scheduleBackfillTick(6e3);
|
|
136246
136345
|
return;
|
|
@@ -136248,11 +136347,13 @@ async function monitorWebInbox(options) {
|
|
|
136248
136347
|
if (backfillOldest.ts >= lastCursorTs) {
|
|
136249
136348
|
if (++backfillStableRounds >= 2) {
|
|
136250
136349
|
inboundConsoleLog.info(`WhatsApp history backfill complete (account ${options.accountId}, ${backfillRequests} requests)`);
|
|
136350
|
+
pushBackfillStatus(true);
|
|
136251
136351
|
return;
|
|
136252
136352
|
}
|
|
136253
136353
|
} else backfillStableRounds = 0;
|
|
136254
136354
|
lastCursorTs = backfillOldest.ts;
|
|
136255
136355
|
backfillRequests += 1;
|
|
136356
|
+
pushBackfillStatus(false);
|
|
136256
136357
|
try {
|
|
136257
136358
|
await sock.fetchMessageHistory(BACKFILL_BATCH, backfillOldest.key, backfillOldest.ts);
|
|
136258
136359
|
} catch (err) {
|
|
@@ -136261,16 +136362,32 @@ async function monitorWebInbox(options) {
|
|
|
136261
136362
|
scheduleBackfillTick(4e3);
|
|
136262
136363
|
};
|
|
136263
136364
|
const handleHistorySet = (h) => {
|
|
136365
|
+
pushHistorySync({
|
|
136366
|
+
kind: "chunk",
|
|
136367
|
+
syncType: h.syncType,
|
|
136368
|
+
progress: h.progress,
|
|
136369
|
+
messages: h.messages?.length ?? 0,
|
|
136370
|
+
chats: h.chats?.length ?? 0
|
|
136371
|
+
});
|
|
136264
136372
|
if (importContactsEnabled) runImport("history", {
|
|
136265
136373
|
chats: h.chats,
|
|
136266
136374
|
contacts: h.contacts
|
|
136267
136375
|
});
|
|
136268
136376
|
if (backfillMessagesEnabled) recordHistoryMessages(h.messages);
|
|
136269
136377
|
};
|
|
136378
|
+
const handleHistoryStatus = (s) => {
|
|
136379
|
+
pushHistorySync({
|
|
136380
|
+
kind: "status",
|
|
136381
|
+
syncType: Number(s.syncType),
|
|
136382
|
+
status: s.status,
|
|
136383
|
+
explicit: s.explicit
|
|
136384
|
+
});
|
|
136385
|
+
};
|
|
136270
136386
|
const handleContactsUpsert = (contacts) => runImport("contacts", { contacts });
|
|
136271
136387
|
const handleChatsUpsert = (chats) => runImport("chats", { chats });
|
|
136388
|
+
sock.ev.on("messaging-history.set", handleHistorySet);
|
|
136389
|
+
sock.ev.on("messaging-history.status", handleHistoryStatus);
|
|
136272
136390
|
if (importContactsEnabled || backfillMessagesEnabled) {
|
|
136273
|
-
sock.ev.on("messaging-history.set", handleHistorySet);
|
|
136274
136391
|
if (importContactsEnabled) {
|
|
136275
136392
|
sock.ev.on("contacts.upsert", handleContactsUpsert);
|
|
136276
136393
|
sock.ev.on("chats.upsert", handleChatsUpsert);
|
|
@@ -136294,10 +136411,12 @@ async function monitorWebInbox(options) {
|
|
|
136294
136411
|
const messagesUpsertHandler = handleMessagesUpsert;
|
|
136295
136412
|
const connectionUpdateHandler = handleConnectionUpdate;
|
|
136296
136413
|
const historyHandler = handleHistorySet;
|
|
136414
|
+
const historyStatusHandler = handleHistoryStatus;
|
|
136297
136415
|
const contactsHandler = handleContactsUpsert;
|
|
136298
136416
|
const chatsHandler = handleChatsUpsert;
|
|
136299
136417
|
const offImport = (fn) => {
|
|
136300
|
-
|
|
136418
|
+
fn("messaging-history.set", historyHandler);
|
|
136419
|
+
fn("messaging-history.status", historyStatusHandler);
|
|
136301
136420
|
if (importContactsEnabled) {
|
|
136302
136421
|
fn("contacts.upsert", contactsHandler);
|
|
136303
136422
|
fn("chats.upsert", chatsHandler);
|
|
@@ -138369,6 +138488,10 @@ async function monitorWebChannel(verbose, listenerFactory = monitorWebInbox, kee
|
|
|
138369
138488
|
markOnline: account.markOnline,
|
|
138370
138489
|
debounceMs: inboundDebounceMs,
|
|
138371
138490
|
shouldDebounce,
|
|
138491
|
+
onHistorySync: (historySync) => {
|
|
138492
|
+
status.historySync = historySync;
|
|
138493
|
+
emitStatus();
|
|
138494
|
+
},
|
|
138372
138495
|
onMessage: async (msg) => {
|
|
138373
138496
|
handledMessages += 1;
|
|
138374
138497
|
lastMessageAt = Date.now();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { monitorWebInbox } from "../inbound.js";
|
|
2
|
+
import type { HistorySyncState } from "../inbound/history-sync.js";
|
|
2
3
|
import type { ReconnectPolicy } from "../reconnect.js";
|
|
3
4
|
export type WebInboundMsg = Parameters<typeof monitorWebInbox>[0]["onMessage"] extends (msg: infer M) => unknown ? M : never;
|
|
4
5
|
export type WebChannelStatus = {
|
|
@@ -15,6 +16,8 @@ export type WebChannelStatus = {
|
|
|
15
16
|
lastMessageAt?: number | null;
|
|
16
17
|
lastEventAt?: number | null;
|
|
17
18
|
lastError?: string | null;
|
|
19
|
+
/** WhatsApp history-sync progress for this connection (absent = never reported). */
|
|
20
|
+
historySync?: HistorySyncState;
|
|
18
21
|
};
|
|
19
22
|
export type WebMonitorTuning = {
|
|
20
23
|
reconnect?: Partial<ReconnectPolicy>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WhatsApp history-sync progress: a pure reducer over the two Baileys events
|
|
3
|
+
* that carry it (`messaging-history.set` chunks and `messaging-history.status`
|
|
4
|
+
* milestones), plus our own on-demand backfill paginator counters.
|
|
5
|
+
*
|
|
6
|
+
* Pure on purpose: the socket wiring in ./monitor.ts is untestable, the phase
|
|
7
|
+
* logic is where every trap lives (see the notes on each rule below).
|
|
8
|
+
*/
|
|
9
|
+
/** proto.HistorySync.HistorySyncType (baileys 7.0.0-rc11). */
|
|
10
|
+
export declare const HISTORY_SYNC_TYPE: {
|
|
11
|
+
readonly INITIAL_BOOTSTRAP: 0;
|
|
12
|
+
readonly INITIAL_STATUS_V3: 1;
|
|
13
|
+
readonly FULL: 2;
|
|
14
|
+
readonly RECENT: 3;
|
|
15
|
+
readonly PUSH_NAME: 4;
|
|
16
|
+
readonly NON_BLOCKING_DATA: 5;
|
|
17
|
+
readonly ON_DEMAND: 6;
|
|
18
|
+
};
|
|
19
|
+
export type HistorySyncPhase = "idle" | "bootstrap" | "recent" | "full" | "on-demand" | "complete" | "stalled";
|
|
20
|
+
export type HistorySyncState = {
|
|
21
|
+
phase: HistorySyncPhase;
|
|
22
|
+
/** 0-100, or null when unknown → the UI must render indeterminate, never a fake fill. */
|
|
23
|
+
progress: number | null;
|
|
24
|
+
/** false = the completion/stall was inferred from silence, not reported by the server. */
|
|
25
|
+
explicit: boolean;
|
|
26
|
+
/** Cumulative for this gateway session (state is per-connection; WhatsApp does not replay history). */
|
|
27
|
+
messages: number;
|
|
28
|
+
chats: number;
|
|
29
|
+
backfill?: {
|
|
30
|
+
requests: number;
|
|
31
|
+
cap: number;
|
|
32
|
+
complete: boolean;
|
|
33
|
+
};
|
|
34
|
+
startedAt: number | null;
|
|
35
|
+
updatedAt: number;
|
|
36
|
+
};
|
|
37
|
+
export type HistorySyncEvent =
|
|
38
|
+
/** `messaging-history.set` — a chunk landed. */
|
|
39
|
+
{
|
|
40
|
+
kind: "chunk";
|
|
41
|
+
syncType?: number | null;
|
|
42
|
+
progress?: number | null;
|
|
43
|
+
messages?: number;
|
|
44
|
+
chats?: number;
|
|
45
|
+
}
|
|
46
|
+
/** `messaging-history.status` — a milestone (or a 120s stall). */
|
|
47
|
+
| {
|
|
48
|
+
kind: "status";
|
|
49
|
+
syncType: number;
|
|
50
|
+
status: "complete" | "paused";
|
|
51
|
+
explicit: boolean;
|
|
52
|
+
}
|
|
53
|
+
/** Our own fetchMessageHistory paginator. */
|
|
54
|
+
| {
|
|
55
|
+
kind: "backfill";
|
|
56
|
+
requests: number;
|
|
57
|
+
cap: number;
|
|
58
|
+
complete: boolean;
|
|
59
|
+
};
|
|
60
|
+
export declare function initialHistorySync(now?: number): HistorySyncState;
|
|
61
|
+
export declare function reduceHistorySync(state: HistorySyncState, event: HistorySyncEvent, now?: number): HistorySyncState;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type HistorySyncState } from "./history-sync.js";
|
|
1
2
|
import type { WebInboundMessage, WebListenerCloseReason } from "./types.js";
|
|
2
3
|
export declare function monitorWebInbox(options: {
|
|
3
4
|
verbose: boolean;
|
|
@@ -14,6 +15,8 @@ export declare function monitorWebInbox(options: {
|
|
|
14
15
|
debounceMs?: number;
|
|
15
16
|
/** Optional debounce gating predicate. */
|
|
16
17
|
shouldDebounce?: (msg: WebInboundMessage) => boolean;
|
|
18
|
+
/** Called on every history-sync milestone/chunk with the latest snapshot. */
|
|
19
|
+
onHistorySync?: (state: HistorySyncState) => void;
|
|
17
20
|
}): Promise<{
|
|
18
21
|
readonly sendMessage: (to: string, text: string, mediaBuffer?: Buffer, mediaType?: string, sendOptions?: import("../active-listener.ts").ActiveWebSendOptions) => Promise<{
|
|
19
22
|
messageId: string;
|
|
@@ -6,7 +6,7 @@ import "./runtime-Da615Z-K.js";
|
|
|
6
6
|
import { c as normalizeAccountId, l as normalizeAgentId, t as DEFAULT_ACCOUNT_ID } from "./session-key-BcXqsG0l.js";
|
|
7
7
|
import { u as resolveDefaultAgentId } from "./agent-scope-C31m2EYG.js";
|
|
8
8
|
import { t as isTruthyEnvValue } from "./env-IZo5oHSI.js";
|
|
9
|
-
import { i as loadConfig } from "./io-
|
|
9
|
+
import { i as loadConfig } from "./io-DDnUNk2G.js";
|
|
10
10
|
import "./logging-_oKeHe0e.js";
|
|
11
11
|
import fs from "node:fs";
|
|
12
12
|
import path from "node:path";
|
|
@@ -6,7 +6,7 @@ import "./runtime-Da615Z-K.js";
|
|
|
6
6
|
import { n as isTruthyEnvValue } from "./entry.js";
|
|
7
7
|
import { c as normalizeAgentId, s as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-DK3D9dkE.js";
|
|
8
8
|
import { u as resolveDefaultAgentId } from "./agent-scope-Bg7gbuMz.js";
|
|
9
|
-
import { i as loadConfig } from "./io-
|
|
9
|
+
import { i as loadConfig } from "./io-B709DBGS.js";
|
|
10
10
|
import "./logging-CyBpyZLp.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import fs from "node:fs";
|
|
@@ -2,15 +2,15 @@ import { v as resolveStateDir } from "./paths-CoM-oAkW.js";
|
|
|
2
2
|
import { C as shortenHomePath, S as shortenHomeInString, _ as resolveConfigDir, b as resolveUserPath } from "./utils-FhRSYjMj.js";
|
|
3
3
|
import { r as theme } from "./theme-CDbj88LB.js";
|
|
4
4
|
import { t as defaultRuntime } from "./runtime-Da615Z-K.js";
|
|
5
|
-
import { i as loadConfig, l as writeConfigFile } from "./io-
|
|
5
|
+
import { i as loadConfig, l as writeConfigFile } from "./io-DDnUNk2G.js";
|
|
6
6
|
import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-BhQtdshS.js";
|
|
7
|
-
import "./config-
|
|
7
|
+
import "./config-CzUDtFkM.js";
|
|
8
8
|
import { d as promptYesNo } from "./tailscale-ElLAPnGH.js";
|
|
9
9
|
import { t as formatDocsLink } from "./links-XaZTa0pi.js";
|
|
10
10
|
import { c as resolveArchiveKind } from "./install-safe-path-Exhg8YNu.js";
|
|
11
11
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-4MZCqIYC.js";
|
|
12
12
|
import { t as renderTable } from "./table-DhL6PA7F.js";
|
|
13
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
13
|
+
import { t as buildPluginStatusReport } from "./status-BU_dK9bN.js";
|
|
14
14
|
import { n as updateNpmInstalledPlugins } from "./update-BwKC0Los.js";
|
|
15
15
|
import fs from "node:fs";
|
|
16
16
|
import os from "node:os";
|
|
@@ -3,14 +3,14 @@ import { g as resolveUserPath, m as resolveConfigDir, v as shortenHomeInString,
|
|
|
3
3
|
import { r as theme } from "./theme-CDbj88LB.js";
|
|
4
4
|
import { t as defaultRuntime } from "./runtime-Da615Z-K.js";
|
|
5
5
|
import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-ByjgBm6U.js";
|
|
6
|
-
import { i as loadConfig, l as writeConfigFile } from "./io-
|
|
7
|
-
import "./config-
|
|
6
|
+
import { i as loadConfig, l as writeConfigFile } from "./io-B709DBGS.js";
|
|
7
|
+
import "./config-B63j_7We.js";
|
|
8
8
|
import { u as promptYesNo } from "./tailscale-DdVOGsI9.js";
|
|
9
9
|
import { t as formatDocsLink } from "./links-snWstk4Z.js";
|
|
10
10
|
import { c as resolveArchiveKind } from "./install-safe-path-Cm0MRa5U.js";
|
|
11
11
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-WGfBNsiV.js";
|
|
12
12
|
import { t as renderTable } from "./table-BvCO-EDN.js";
|
|
13
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
13
|
+
import { t as buildPluginStatusReport } from "./status-9OUW-F-m.js";
|
|
14
14
|
import { n as updateNpmInstalledPlugins } from "./update-9t5S0PsI.js";
|
|
15
15
|
import os from "node:os";
|
|
16
16
|
import path from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A as normalizeE164, N as resolveUserPath, d as normalizeChatChannelId, l as normalizeAnyChannelId, lt as resolveOAuthDir, p as requireActivePluginRegistry, s as CHAT_CHANNEL_ORDER, t as createSubsystemLogger } from "./subsystem-DRI1a_Xn.js";
|
|
2
2
|
import { F as normalizeAccountId, I as normalizeAgentId, k as DEFAULT_ACCOUNT_ID, l as resolveDefaultAgentId } from "./agent-scope-Cpl7TgWW.js";
|
|
3
3
|
import { rt as isTruthyEnvValue } from "./model-selection-DwJwoDl4.js";
|
|
4
|
-
import "./io-
|
|
4
|
+
import "./io-QYIZW5MZ.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs";
|
|
7
7
|
import "node:fs/promises";
|
|
@@ -3,14 +3,14 @@ import { n as isRich, r as theme } from "./theme-CDbj88LB.js";
|
|
|
3
3
|
import { t as defaultRuntime } from "./runtime-Da615Z-K.js";
|
|
4
4
|
import { d as getVerboseFlag, n as isTruthyEnvValue, p as hasHelpOrVersion, s as getCommandPath } from "./entry.js";
|
|
5
5
|
import { n as replaceCliName, r as resolveCliName } from "./command-format-CDJ_UHKO.js";
|
|
6
|
-
import { S as VERSION } from "./io-
|
|
6
|
+
import { S as VERSION } from "./io-B709DBGS.js";
|
|
7
7
|
import { t as formatDocsLink } from "./links-snWstk4Z.js";
|
|
8
|
-
import { n as resolveCliChannelOptions } from "./channel-options-
|
|
9
|
-
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-
|
|
10
|
-
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-
|
|
8
|
+
import { n as resolveCliChannelOptions } from "./channel-options-DzVpFPN4.js";
|
|
9
|
+
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-D9cIR7L0.js";
|
|
10
|
+
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-DQByY_LN.js";
|
|
11
11
|
import { r as setProgramContext } from "./program-context-BM_Ldisp.js";
|
|
12
12
|
import "./ports-0vV_tzNp.js";
|
|
13
|
-
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-
|
|
13
|
+
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-Dp2uCVaG.js";
|
|
14
14
|
import { Command } from "commander";
|
|
15
15
|
//#region src/cli/program/context.ts
|
|
16
16
|
function createProgramContext() {
|
|
@@ -109,13 +109,13 @@ function registerPreActionHooks(program, programVersion) {
|
|
|
109
109
|
setVerbose(verbose);
|
|
110
110
|
if (!verbose) process.env.NODE_NO_WARNINGS ??= "1";
|
|
111
111
|
if (commandPath[0] === "doctor" || commandPath[0] === "completion") return;
|
|
112
|
-
const { ensureConfigReady } = await import("./config-guard-
|
|
112
|
+
const { ensureConfigReady } = await import("./config-guard-UM52hez4.js").then((n) => n.t);
|
|
113
113
|
await ensureConfigReady({
|
|
114
114
|
runtime: defaultRuntime,
|
|
115
115
|
commandPath
|
|
116
116
|
});
|
|
117
117
|
if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
|
|
118
|
-
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-
|
|
118
|
+
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-BV7F2_rq.js").then((n) => n.n);
|
|
119
119
|
ensurePluginRegistryLoaded();
|
|
120
120
|
}
|
|
121
121
|
});
|