@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.
Files changed (387) hide show
  1. package/dist/{_registry.generated-BdU1VGa3.js → _registry.generated-C9MbM1Fy.js} +19 -19
  2. package/dist/{_registry.generated-Bf8qni2X.js → _registry.generated-DSnauRyt.js} +19 -19
  3. package/dist/{_registry.generated-D-_FCn4Q.js → _registry.generated-DZ1cfyzT.js} +19 -19
  4. package/dist/{accounts-CssTcR6h.js → accounts-8KAezyzV.js} +1 -1
  5. package/dist/{accounts-BYKNiUu0.js → accounts-BQ5oanJ6.js} +1 -1
  6. package/dist/{accounts-ChxE0ciP.js → accounts-CQuyhE38.js} +1 -1
  7. package/dist/{accounts-DpbUcLYQ.js → accounts-CdUIj9mk.js} +1 -1
  8. package/dist/{acp-cli-DghL8yZR.js → acp-cli-Bxe4pCvz.js} +3 -3
  9. package/dist/{acp-cli-yRSo3yQL.js → acp-cli-CMZz_T9w.js} +3 -3
  10. package/dist/{agent-B2QC1FP8.js → agent-DHjDiw-k.js} +11 -11
  11. package/dist/{agent-Co3sq5s2.js → agent-MvPJ1A5X.js} +12 -12
  12. package/dist/{agent-step-DJxzAWq2.js → agent-step-CHB9sbkF.js} +3 -3
  13. package/dist/{agent-step-DJKqiQnn.js → agent-step-Dy9x8buv.js} +3 -3
  14. package/dist/{agents-BQm3s-TW.js → agents-DTZzP4wF.js} +8 -8
  15. package/dist/{agents-list-tool-CmejYv10.js → agents-list-tool-1pLS9NKF.js} +3 -3
  16. package/dist/{agents-list-tool-trVUn8pT.js → agents-list-tool-BPV2WSsw.js} +3 -3
  17. package/dist/{agents-list-tool-DXxcGJkB.js → agents-list-tool-C7EongWN.js} +3 -3
  18. package/dist/{audit-0MZKzcwy.js → audit-CXS3pynE.js} +10 -10
  19. package/dist/{audit-DY6wHn3Z.js → audit-CrzmCfeI.js} +10 -10
  20. package/dist/{auth-choice-B1fpZJvJ.js → auth-choice-BxdqpfAE.js} +4 -4
  21. package/dist/{auth-choice-Dt9hrXlp.js → auth-choice-DKXIzqjZ.js} +4 -4
  22. package/dist/{banner-qUb6N-Xd.js → banner-Dp2uCVaG.js} +1 -1
  23. package/dist/{browser-cli-CCITwRik.js → browser-cli-DDljb8IL.js} +3 -3
  24. package/dist/{browser-cli-CvJh9Moe.js → browser-cli-kmAQJRoO.js} +3 -3
  25. package/dist/{browser-tool-JKQO6aYG.js → browser-tool-BGbuJmzv.js} +7 -7
  26. package/dist/{browser-tool-hAn7wgag.js → browser-tool-cRSwYER1.js} +7 -7
  27. package/dist/{browser-tool-BfxN4JAB.js → browser-tool-y3qvMsM_.js} +7 -7
  28. package/dist/build-info.json +3 -3
  29. package/dist/bundled/boot-md/handler.js +122 -4
  30. package/dist/bundled/kg-message-sync/handler.js +1 -1
  31. package/dist/{call-BZG0zvV2.js → call-BS3V2EnC.js} +2 -2
  32. package/dist/{call-Bn_Aml_W.js → call-Bez467oJ.js} +2 -2
  33. package/dist/{call-C2sQsB08.js → call-C780LUYV.js} +2 -2
  34. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  35. package/dist/{canvas-tool-BIzKYssG.js → canvas-tool-BwQzTMpg.js} +2 -2
  36. package/dist/{canvas-tool-DfANlCA-.js → canvas-tool-CckvFKX5.js} +2 -2
  37. package/dist/{canvas-tool-Z2-VNWSu.js → canvas-tool-ElNclzUQ.js} +2 -2
  38. package/dist/{channel-options-C0qN7agO.js → channel-options-CNG5GRmK.js} +2 -2
  39. package/dist/{channel-options-DdeDxJ0I.js → channel-options-DzVpFPN4.js} +2 -2
  40. package/dist/{channel-selection-CUBF11F8.js → channel-selection-CDWPkBk0.js} +1 -1
  41. package/dist/{channel-selection-DBqVPd0O.js → channel-selection-DEiQUMg2.js} +1 -1
  42. package/dist/{channel-web-DQ-AO13r.js → channel-web-BH9V12EO.js} +137 -14
  43. package/dist/{channels-cli-Eb2U3M-b.js → channels-cli-BSdc0-2D.js} +13 -13
  44. package/dist/{channels-cli-CCddgBzs.js → channels-cli-x0hFInvg.js} +13 -13
  45. package/dist/{channels-status-issues-BsxdKon4.js → channels-status-issues-B67zClC-.js} +1 -1
  46. package/dist/{channels-status-issues-CqoA5t15.js → channels-status-issues-WzLbmbAK.js} +1 -1
  47. package/dist/{chrome-BT_QS4jj.js → chrome-B9ZEnzWM.js} +2 -2
  48. package/dist/{chrome-BBC-LLJ9.js → chrome-Cpyyyia6.js} +2 -2
  49. package/dist/{chrome-Bs1xHSfF.js → chrome-DjksiwPF.js} +2 -2
  50. package/dist/{clawbot-cli-B9GckfWS.js → clawbot-cli-Bax1oyQj.js} +1 -1
  51. package/dist/{clawbot-cli-nk6KeYBy.js → clawbot-cli-C8522D-K.js} +1 -1
  52. package/dist/cli/daemon-cli.js +1 -1
  53. package/dist/{cli-BB9pNThw.js → cli-C_TeOFXi.js} +3 -3
  54. package/dist/{cli-Cbp3rb3Q.js → cli-Cxt1Fgvs.js} +3 -3
  55. package/dist/{client-B8U0fjd9.js → client-BEt46x6T.js} +5 -5
  56. package/dist/{client-CwtZ64gn.js → client-Bd6jt3y2.js} +5 -5
  57. package/dist/{client-CGvNQTUq.js → client-CboaeoT4.js} +5 -5
  58. package/dist/{command-registry-BMjfb8zB.js → command-registry-DQByY_LN.js} +14 -14
  59. package/dist/{commands-registry-CHCl6zLH.js → commands-registry-COH65YO6.js} +2 -2
  60. package/dist/{commands-registry-DF1NeQzX.js → commands-registry-vr9s8D0U.js} +2 -2
  61. package/dist/{completion-cli-EVystkVu.js → completion-cli-BLAlhk2P.js} +1 -1
  62. package/dist/{completion-cli-BmShRM5M.js → completion-cli-C80GHzDQ.js} +2 -2
  63. package/dist/{config-DQL_3nup.js → config-B63j_7We.js} +1 -1
  64. package/dist/{config-ByZ_ygmR.js → config-BvdNn3I9.js} +1 -1
  65. package/dist/{config-Bi4Ie6Tc.js → config-CzUDtFkM.js} +1 -1
  66. package/dist/{config-cli-CzZBV4iw.js → config-cli-DNU_O6nh.js} +3 -3
  67. package/dist/{config-cli-BD-IyG77.js → config-cli-yPy5uPTD.js} +3 -3
  68. package/dist/{config-guard-BrI9ZDKr.js → config-guard-CbimEcmT.js} +3 -3
  69. package/dist/{config-guard-C-xrbJwh.js → config-guard-UM52hez4.js} +3 -3
  70. package/dist/{config-validation-B42r7HB3.js → config-validation-DaLXerV9.js} +2 -2
  71. package/dist/{config-validation-m8FDyK_H.js → config-validation-DvsOd9Y3.js} +2 -2
  72. package/dist/{configure-DFPrvYgD.js → configure-C9PyeYuG.js} +16 -16
  73. package/dist/{configure-BwdNprTt.js → configure-DWX5t2h1.js} +16 -16
  74. package/dist/{control-service-vf30qr_I.js → control-service-CSDPyvlY.js} +6 -6
  75. package/dist/{control-service-zzuQAVsD.js → control-service-CxsG6BcA.js} +6 -6
  76. package/dist/{cron-cli-PEHCpAuu.js → cron-cli-C49auVPj.js} +2 -2
  77. package/dist/{cron-cli-6fW-E4DP.js → cron-cli-DB0572I_.js} +2 -2
  78. package/dist/{cron-tool-DkYPPtTT.js → cron-tool-BTcUL0ik.js} +5 -5
  79. package/dist/{cron-tool-Co4EmKal.js → cron-tool-h30vfgcR.js} +5 -5
  80. package/dist/{cron-tool-BI65SJn8.js → cron-tool-rj75hAbS.js} +5 -5
  81. package/dist/{daemon-cli-DOuVs3il.js → daemon-cli-7PvKrdqU.js} +9 -9
  82. package/dist/{daemon-cli-C3e2euKT.js → daemon-cli-C9tdI-W9.js} +9 -9
  83. package/dist/daemon-cli.js +1 -1
  84. package/dist/daemon-install-helpers-B9PUcMAe.js +2 -0
  85. package/dist/daemon-install-helpers-DhmpzbtY.js +2 -0
  86. package/dist/{daemon-runtime-_mYoSvaE.js → daemon-runtime-BAkbFQHZ.js} +1 -1
  87. package/dist/{daemon-runtime-D-pYRgqc.js → daemon-runtime-Cv7N0HMH.js} +1 -1
  88. package/dist/{deliver-Cb_bbyuz.js → deliver-DKl0Uc7A.js} +5 -5
  89. package/dist/{deliver-BhCChRC6.js → deliver-OYBhllH9.js} +4 -4
  90. package/dist/{deliver-DD0DVsK4.js → deliver-eYgMhcEK.js} +4 -4
  91. package/dist/{deps-D4ZKC2TP.js → deps-Ac_7s6AC.js} +7 -7
  92. package/dist/{devices-cli-B0rIWU42.js → devices-cli-BozLnc9r.js} +1 -1
  93. package/dist/{devices-cli-JPxwhJpR.js → devices-cli-BxKT7P8y.js} +1 -1
  94. package/dist/{directory-cli-DVlZUXwW.js → directory-cli-D5NhoKaB.js} +4 -4
  95. package/dist/{directory-cli-Br-DCs7g.js → directory-cli-uviHehaT.js} +4 -4
  96. package/dist/{dispatcher-Bv_eWkrl.js → dispatcher-DifILnrn.js} +1 -1
  97. package/dist/{dispatcher-C5qAdIQM.js → dispatcher-tvJnqAfT.js} +1 -1
  98. package/dist/{dm-policy-shared-CtHrx3o1.js → dm-policy-shared-CGbzFKH-.js} +2 -2
  99. package/dist/{dm-policy-shared-CgFcZMX7.js → dm-policy-shared-ClMTObMZ.js} +2 -2
  100. package/dist/{dns-cli-DFcltkjF.js → dns-cli-DJ6v-oYc.js} +2 -2
  101. package/dist/{dns-cli-Dh2dPrMJ.js → dns-cli-PedGGpMl.js} +2 -2
  102. package/dist/{doctor-completion-m_z2s6D0.js → doctor-completion-BtK32dRL.js} +1 -1
  103. package/dist/doctor-completion-BweHHbOt.js +2 -0
  104. package/dist/{doctor-completion-B7Mi0CVn.js → doctor-completion-C37cDIbb.js} +1 -1
  105. package/dist/doctor-completion-DREwk0xn.js +2 -0
  106. package/dist/{doctor-config-flow-0V3KHnbi.js → doctor-config-flow-CJqOzkEC.js} +5 -5
  107. package/dist/{doctor-config-flow-HDdDVMWM.js → doctor-config-flow-gTvoZ4Eu.js} +5 -5
  108. package/dist/entry.js +1 -1
  109. package/dist/{exec-approvals-cli-Dc3jxkaE.js → exec-approvals-cli-BLo8w-pt.js} +2 -2
  110. package/dist/{exec-approvals-cli-DdOsW1aP.js → exec-approvals-cli-x5K7G9pj.js} +2 -2
  111. package/dist/extensionAPI.js +2 -2
  112. package/dist/{gateway-DnPU4Wfa.js → gateway-CGKRBIM7.js} +3 -3
  113. package/dist/{gateway-CfotaVE1.js → gateway-E3OBoZEF.js} +3 -3
  114. package/dist/{gateway-DXL6Fo1d.js → gateway-Or5mvNB5.js} +3 -3
  115. package/dist/{gateway-cli-B9Q1rReQ.js → gateway-cli-C0ynxVPL.js} +55 -49
  116. package/dist/{gateway-cli--9Dcz29q.js → gateway-cli-ukMIfnAk.js} +54 -48
  117. package/dist/{gateway-rpc-CuN-kLID.js → gateway-rpc-D14sAVpk.js} +1 -1
  118. package/dist/{gateway-rpc-ChaXLuof.js → gateway-rpc-lzZcsO3Z.js} +1 -1
  119. package/dist/{gateway-tool-ClwvZMaW.js → gateway-tool-2jP4BpLr.js} +3 -3
  120. package/dist/{gateway-tool-teQY_vBu.js → gateway-tool-D8T9_WRn.js} +3 -3
  121. package/dist/{gateway-tool-LhduxrlM.js → gateway-tool-DFGcaZzb.js} +3 -3
  122. package/dist/{github-copilot-auth-u2Ghi_4_.js → github-copilot-auth-DuRv2VTm.js} +2 -2
  123. package/dist/{github-copilot-auth-DSfVWBBa.js → github-copilot-auth-DvxNNmtP.js} +2 -2
  124. package/dist/{gmail-DWO--H-E.js → gmail--piwsuOj.js} +1 -1
  125. package/dist/{gmail-B_RgYk99.js → gmail-C9NyamR5.js} +1 -1
  126. package/dist/{health-Bxn2dtUK.js → health-BcLfTawq.js} +8 -8
  127. package/dist/{health-BpeDyvkp.js → health-C2yBZEwR.js} +8 -8
  128. package/dist/{helpers-ClsGACrR.js → helpers-Ba_g4pfz.js} +1 -1
  129. package/dist/{helpers-CBDYh3Dw.js → helpers-BpaKo1-T.js} +1 -1
  130. package/dist/{hooks-cli-jhNS7RyW.js → hooks-cli-CqTsdseA.js} +2 -2
  131. package/dist/{hooks-cli-B9d_boOR.js → hooks-cli-X7xXts0z.js} +2 -2
  132. package/dist/{image-tool-CT-EgJFK.js → image-tool-O5I4i3tN.js} +2 -2
  133. package/dist/{image-tool-BTleQ2_l.js → image-tool-OsYmJcpy.js} +2 -2
  134. package/dist/{image-tool-B-r0xDcH.js → image-tool-aGcmtHJX.js} +1 -1
  135. package/dist/index.d.ts +24 -0
  136. package/dist/index.js +10 -10
  137. package/dist/{io-Bv4JCxeO.js → io-B709DBGS.js} +1 -1
  138. package/dist/{io-DdigNnzZ.js → io-DDnUNk2G.js} +1 -1
  139. package/dist/{io-hXRmPBqb.js → io-QYIZW5MZ.js} +1 -1
  140. package/dist/{ir-DkSZRyyb.js → ir-DPQSZnjA.js} +1 -1
  141. package/dist/{ir-BqvvFuYa.js → ir-DaDOh22T.js} +1 -1
  142. package/dist/{ir-Dwlg6oEy.js → ir-DcutOMlm.js} +5 -5
  143. package/dist/{lifecycle-core-BfgPRXYL.js → lifecycle-core-Dh3h7Tlb.js} +3 -3
  144. package/dist/{lifecycle-core-B-omlUcl.js → lifecycle-core-UJgptdVt.js} +3 -3
  145. package/dist/{load-tools-tool-BptD5DUW.js → load-tools-tool-Bky4JC-t.js} +1 -1
  146. package/dist/{load-tools-tool-DIDSRIdp.js → load-tools-tool-C2Lrm9C4.js} +1 -1
  147. package/dist/{load-tools-tool-Csr-hTAU.js → load-tools-tool-DaZcox_-.js} +1 -1
  148. package/dist/{logs-cli-CGklx72q.js → logs-cli-Bs0yPnIQ.js} +2 -2
  149. package/dist/{logs-cli-jcZogQKY.js → logs-cli-BzvPy4nD.js} +2 -2
  150. package/dist/{memory-cli-sx2IwvSh.js → memory-cli-BDYduGUF.js} +2 -2
  151. package/dist/{memory-cli-BDmWEKl8.js → memory-cli-DrpR6lhi.js} +2 -2
  152. package/dist/{message-action-runner-JAATPAnj.js → message-action-runner-BXg8Ctsi.js} +11 -11
  153. package/dist/{message-action-runner-BUDWxRiQ.js → message-action-runner-CrAsG3Dx.js} +11 -11
  154. package/dist/{message-ledger-BbcFy0qQ.js → message-ledger-DGgd4vUM.js} +6 -6
  155. package/dist/{message-tool-Brnp9HRG.js → message-tool-BGUhSB3Y.js} +6 -6
  156. package/dist/{message-tool-fPtrJ1p_.js → message-tool-BInbDVz2.js} +6 -6
  157. package/dist/{message-tool-ZOaJp5tM.js → message-tool-DQlibrrl.js} +9 -9
  158. package/dist/{minion-tools-BvsLwdZe.js → minion-tools-BCra1fYt.js} +18 -18
  159. package/dist/{model-catalog-00hH7JPm.js → model-catalog-BfWqC_UB.js} +3 -3
  160. package/dist/{model-catalog-vx4MCwF8.js → model-catalog-DCCYsbaf.js} +3 -3
  161. package/dist/{model-fallback-Dh9ams7e.js → model-fallback-C7ycDOYw.js} +2 -2
  162. package/dist/{model-fallback-CJHJXrw2.js → model-fallback-DTdftKaO.js} +2 -2
  163. package/dist/{model-fallback-DX0D41-N.js → model-fallback-TYbcgazH.js} +4 -4
  164. package/dist/{model-picker-sHl8VM0R.js → model-picker-CjwNwpor.js} +2 -2
  165. package/dist/{model-picker-BkEovsQx.js → model-picker-ClyhD9BG.js} +2 -2
  166. package/dist/{models-RCXWoS9G.js → models-D2EW_om5.js} +11 -11
  167. package/dist/{models-cli-BSeAjCgu.js → models-cli-CAgRFys_.js} +2 -2
  168. package/dist/{models-cli-CirOuShr.js → models-cli-DKYv-rvG.js} +11 -11
  169. package/dist/{models-config-pgquZUp0.js → models-config-CnRjuIRl.js} +2 -2
  170. package/dist/{models-config-B96q3yNF.js → models-config-DX-B8C0A.js} +2 -2
  171. package/dist/{node-cli-DjpllZvg.js → node-cli-BKGFeJRs.js} +8 -8
  172. package/dist/{node-cli-CgjrJyxx.js → node-cli-CJWRxdTJ.js} +8 -8
  173. package/dist/{nodes-cli-5DD-jkKc.js → nodes-cli-Bc3WKxoC.js} +4 -4
  174. package/dist/{nodes-cli-CnztM2u7.js → nodes-cli-D03qk9a8.js} +4 -4
  175. package/dist/{nodes-tool-BIfxR6rk.js → nodes-tool-B8I5UMsW.js} +3 -3
  176. package/dist/{nodes-tool-CBqqDmFG.js → nodes-tool-BGghqfip.js} +2 -2
  177. package/dist/{nodes-tool-6WkcI9dF.js → nodes-tool-D7u_wry0.js} +2 -2
  178. package/dist/{nodes-utils-DjI2PdQN.js → nodes-utils-B5RhYoQp.js} +1 -1
  179. package/dist/{nodes-utils-DhqoVL3_.js → nodes-utils-BTmNL7e8.js} +1 -1
  180. package/dist/{nodes-utils-CR6jMdTB.js → nodes-utils-DYFFe7L0.js} +1 -1
  181. package/dist/{onboard-DyTUBq1o.js → onboard-DAt8o38U.js} +8 -8
  182. package/dist/{onboard-C7cMDFz3.js → onboard-DaWyekDu.js} +8 -8
  183. package/dist/{onboard-channels-CcQB_D8q.js → onboard-channels-CcKKlviz.js} +3 -3
  184. package/dist/{onboard-channels-GUpBlCTA.js → onboard-channels-DO9rIaww.js} +1 -1
  185. package/dist/{onboard-channels-iBaAMrVp.js → onboard-channels-DxD1J0Fl.js} +1 -1
  186. package/dist/{onboard-channels-2F-al2bK.js → onboard-channels-ayjCRSRI.js} +3 -3
  187. package/dist/{onboard-custom-Dqe2n_I_.js → onboard-custom-7TWHmF6f.js} +2 -2
  188. package/dist/{onboard-custom-B5uJacEi.js → onboard-custom-Cg-cT-HG.js} +2 -2
  189. package/dist/{onboard-custom-Cvtcf6sP.js → onboard-custom-D5MwdSB6.js} +1 -1
  190. package/dist/{onboard-custom-EktHuSoq.js → onboard-custom-OL4aJlDw.js} +1 -1
  191. package/dist/{onboard-helpers-A57eJV1K.js → onboard-helpers-CAp3yX6H.js} +1 -1
  192. package/dist/{onboard-helpers-Bes_gMRd.js → onboard-helpers-CM8I1XGq.js} +4 -4
  193. package/dist/{onboard-helpers-DwrQ3qel.js → onboard-helpers-DNAJADYM.js} +4 -4
  194. package/dist/{onboard-helpers-CA6gtfze.js → onboard-helpers-om1YuvHR.js} +1 -1
  195. package/dist/{onboard-remote-DnOhp1HP.js → onboard-remote-CMlqQ8bX.js} +1 -1
  196. package/dist/{onboard-remote-C3fXnENC.js → onboard-remote-DWDmMcEa.js} +1 -1
  197. package/dist/{onboard-skills-Ct7a9xVH.js → onboard-skills-C9_DyQw_.js} +1 -1
  198. package/dist/{onboard-skills-BbK6yC45.js → onboard-skills-DncoqN5T.js} +1 -1
  199. package/dist/{onboarding-DXnsoTmb.js → onboarding-BJ5pytTM.js} +12 -12
  200. package/dist/{onboarding-DwvcEVJT.js → onboarding-Dokq3dyX.js} +12 -12
  201. package/dist/{onboarding.finalize-BlT9TFXo.js → onboarding.finalize-BwJeeIxU.js} +9 -9
  202. package/dist/{onboarding.finalize-89okrd27.js → onboarding.finalize-D55VDF9y.js} +9 -9
  203. package/dist/{onboarding.gateway-config-CGHFSMrP.js → onboarding.gateway-config-DVPVoMHq.js} +2 -2
  204. package/dist/{onboarding.gateway-config-DhKoKqog.js → onboarding.gateway-config-DmZQ39JI.js} +2 -2
  205. package/dist/{outbound-send-deps-C9-r6L_H.js → outbound-send-deps-DvFxBUnK.js} +7 -7
  206. package/dist/{pairing-cli-BQuY7Uob.js → pairing-cli-90LPceco.js} +4 -4
  207. package/dist/{pairing-cli-DUBoqhsB.js → pairing-cli-B9qkawsB.js} +4 -4
  208. package/dist/{pairing-store-BL89AauO.js → pairing-store-3pNM3nTJ.js} +2 -2
  209. package/dist/{pairing-store-C4IyYFrQ.js → pairing-store-B4UGCc04.js} +2 -2
  210. package/dist/{pi-embedded-helpers-CUEZLsYj.js → pi-embedded-helpers-BCA0wEub.js} +1 -1
  211. package/dist/{pi-embedded-helpers-BTpsPx8l.js → pi-embedded-helpers-BJR_q4fK.js} +1 -1
  212. package/dist/{pi-embedded-helpers-B-f8Gc5i.js → pi-embedded-helpers-YFlRaatm.js} +5 -5
  213. package/dist/{pi-embedded-utils-CYGABqbg.js → pi-embedded-utils-CdHLPajg.js} +1 -1
  214. package/dist/{pi-embedded-utils-BkDGB6TO.js → pi-embedded-utils-Ii64VcGG.js} +1 -1
  215. package/dist/{pi-embedded-utils-ny05-1eE.js → pi-embedded-utils-gRvVnPaC.js} +1 -1
  216. package/dist/{pi-tools.policy-BX4AZUtI.js → pi-tools.policy-D5VZcVxf.js} +3 -3
  217. package/dist/{plugin-auto-enable-BjpaOj6N.js → plugin-auto-enable-CsM3OBhx.js} +1 -1
  218. package/dist/{plugin-auto-enable-BzxRsLol.js → plugin-auto-enable-DpXKJTGS.js} +1 -1
  219. package/dist/{plugin-registry-CKW-oeZs.js → plugin-registry-BV7F2_rq.js} +3 -3
  220. package/dist/{plugin-registry-BP3jYciG.js → plugin-registry-erSvX5n_.js} +3 -3
  221. package/dist/plugin-sdk/channels/discord.js +1 -1
  222. package/dist/plugin-sdk/channels/imessage.js +1 -1
  223. package/dist/plugin-sdk/channels/line.js +1 -1
  224. package/dist/plugin-sdk/channels/plugins/types.core.d.ts +3 -0
  225. package/dist/plugin-sdk/channels/signal.js +1 -1
  226. package/dist/plugin-sdk/channels/slack.js +1 -1
  227. package/dist/plugin-sdk/channels/telegram.js +1 -1
  228. package/dist/plugin-sdk/channels/whatsapp.js +127 -4
  229. package/dist/plugin-sdk/core.js +1 -1
  230. package/dist/plugin-sdk/index.js +127 -4
  231. package/dist/plugin-sdk/web/auto-reply/types.d.ts +3 -0
  232. package/dist/plugin-sdk/web/inbound/history-sync.d.ts +61 -0
  233. package/dist/plugin-sdk/web/inbound/monitor.d.ts +3 -0
  234. package/dist/{plugins-DLX5z0yZ.js → plugins-BMGDdQTP.js} +1 -1
  235. package/dist/{plugins-Bkzc_vY_.js → plugins-DZlYf88C.js} +1 -1
  236. package/dist/{plugins-cli-DN0qkZdj.js → plugins-cli--zzna96C.js} +3 -3
  237. package/dist/{plugins-cli-BRIFVX9h.js → plugins-cli-Bdk4hq3l.js} +3 -3
  238. package/dist/{plugins-pvn2g_yZ.js → plugins-j4H8PRaP.js} +1 -1
  239. package/dist/{program-CjOUePkz.js → program-BGLpZD7k.js} +7 -7
  240. package/dist/{program-context-B2TmPN2P.js → program-context-C50ILR-W.js} +42 -42
  241. package/dist/{prompt-select-styled-C2vSWt3d.js → prompt-select-styled-C0bFRF_c.js} +18 -18
  242. package/dist/{prompt-select-styled-CalTy8sh.js → prompt-select-styled-LhoSO1ZN.js} +18 -18
  243. package/dist/{push-apns-B3XjJ64y.js → push-apns-DRWUaVL5.js} +1 -1
  244. package/dist/{push-apns-BeBo3r26.js → push-apns-ZJlEaWwS.js} +1 -1
  245. package/dist/{pw-ai-Ycl5QHT2.js → pw-ai-BpkhWc4m.js} +2 -2
  246. package/dist/{pw-ai-D3NUOWYP.js → pw-ai-CvN60YT9.js} +2 -2
  247. package/dist/{pw-ai-CcD3Tm_h.js → pw-ai-idEgHRiF.js} +2 -2
  248. package/dist/{pw-session-vFs45LYs.js → pw-session-Bw6w0xav.js} +1 -1
  249. package/dist/{pw-session-DRm82Z-U.js → pw-session-D7q51yBs.js} +1 -1
  250. package/dist/{pw-session-BRnheF-M.js → pw-session-UeB1Wv5A.js} +1 -1
  251. package/dist/{qr-cli-C2oXVBRz.js → qr-cli-BZ5ur0kD.js} +2 -2
  252. package/dist/{qr-cli-D3ti85ES.js → qr-cli-CHdDXRO3.js} +2 -2
  253. package/dist/{register.agent-BOnk_Tmc.js → register.agent-DWP7LOh2.js} +7 -7
  254. package/dist/{register.agent-M2D9G--T.js → register.agent-iBxzpBzf.js} +12 -12
  255. package/dist/{register.channel-5oRZM1Kn.js → register.channel-BZpFUr7l.js} +2 -2
  256. package/dist/{register.channel-QW7oYsGi.js → register.channel-D1J5CSl3.js} +2 -2
  257. package/dist/{register.configure-D_GUdVhw.js → register.configure-DwPyV0Ea.js} +1 -1
  258. package/dist/{register.configure-Bkaw8lXD.js → register.configure-DwtGWYbf.js} +1 -1
  259. package/dist/{register.drone-PZeHL3xH.js → register.drone-CxPOs_2T.js} +1 -1
  260. package/dist/{register.drone-B4NHa1gM.js → register.drone-DhMh8NRu.js} +1 -1
  261. package/dist/{register.maintenance-BaV_S3aM.js → register.maintenance-BC-aTYfd.js} +5 -5
  262. package/dist/{register.maintenance-DotMVNOl.js → register.maintenance-DRTaHAkh.js} +5 -5
  263. package/dist/{register.message-DspK_kGM.js → register.message-CpeLiSJ1.js} +7 -7
  264. package/dist/{register.message-C2Oekp2I.js → register.message-fprB6mG0.js} +7 -7
  265. package/dist/{register.onboard-DQY1APms.js → register.onboard-BA7xPEMG.js} +1 -1
  266. package/dist/{register.onboard-DHIi_T3R.js → register.onboard-BNwvMAZc.js} +1 -1
  267. package/dist/{register.setup-C2V0XnX8.js → register.setup-BWcmdxOL.js} +4 -4
  268. package/dist/{register.setup-CwPvF6Oy.js → register.setup-CATES8vb.js} +4 -4
  269. package/dist/{register.status-health-sessions-DiUpww2L.js → register.status-health-sessions-B4WZ1ury.js} +3 -3
  270. package/dist/{register.status-health-sessions-Cb6Nnf_i.js → register.status-health-sessions-DCk4nNh8.js} +6 -6
  271. package/dist/{register.subclis-DllJrPOF.js → register.subclis-D9cIR7L0.js} +29 -29
  272. package/dist/{reply-BjNIjpcb.js → reply-h5hkbvZs.js} +28 -28
  273. package/dist/{reply-payloads-ExNDdXRC.js → reply-payloads-BNfLF9Pe.js} +6 -6
  274. package/dist/{reply-prefix-DmP0BLlF.js → reply-prefix-CWLq59FA.js} +1 -1
  275. package/dist/{reply-prefix-BdqpDvpo.js → reply-prefix-DD6iWfy_.js} +1 -1
  276. package/dist/{resolve-route-08o-RWug.js → resolve-route-B1lrkpPf.js} +2 -2
  277. package/dist/{resolve-route-Bfj0b5g1.js → resolve-route-B46Ai8ft.js} +4 -4
  278. package/dist/{routes-Dk_yuf3E.js → routes-B9WA653r.js} +4 -4
  279. package/dist/{routes-CNJhQdUH.js → routes-BaqZDUfs.js} +4 -4
  280. package/dist/{rpc-B_M2qfMC.js → rpc-BEHXDghJ.js} +1 -1
  281. package/dist/{rpc-COxh7gxW.js → rpc-zSrGnlNR.js} +1 -1
  282. package/dist/{run-main-Blf3VQzz.js → run-main-CzJtWINB.js} +19 -19
  283. package/dist/{sandbox-CBcGrsxS.js → sandbox-C2cEOngw.js} +6 -6
  284. package/dist/{sandbox-BiWgw2Ji.js → sandbox-DhosD0u8.js} +6 -6
  285. package/dist/{sandbox-cli-no3C5tgL.js → sandbox-cli-BUyhgbgy.js} +4 -4
  286. package/dist/{sandbox-cli-C2GpYDvT.js → sandbox-cli-DKl60P2E.js} +4 -4
  287. package/dist/{sdk-inspect-tool-BGZj0n-Y.js → sdk-inspect-tool-C3-Uc0DP.js} +2 -2
  288. package/dist/{sdk-inspect-tool-C0XkBwVQ.js → sdk-inspect-tool-DfoMTqF-.js} +2 -2
  289. package/dist/{sdk-inspect-tool-CbgfpOOG.js → sdk-inspect-tool-nZiAxt1K.js} +2 -2
  290. package/dist/{search-tools-tool-DvIe_0dU.js → search-tools-tool-CF1Of3dS.js} +1 -1
  291. package/dist/{search-tools-tool-Ba8yLWga.js → search-tools-tool-DPX0F9kT.js} +1 -1
  292. package/dist/{search-tools-tool-hvssjF9z.js → search-tools-tool-DTJMSRZp.js} +1 -1
  293. package/dist/{security-cli-KEVfItUw.js → security-cli-BtPVplbe.js} +4 -4
  294. package/dist/{security-cli-CpLUWle9.js → security-cli-CFAFl0yx.js} +4 -4
  295. package/dist/{send-Bb1t3RQ7.js → send-BEicgMoW.js} +4 -4
  296. package/dist/{send-BvvYDAob.js → send-BQ9Y0tHQ.js} +4 -4
  297. package/dist/{send-Cm4nKWWz.js → send-CGeCqUNa.js} +5 -5
  298. package/dist/{send-Dpc7DY8V.js → send-Cm-POcgU.js} +4 -4
  299. package/dist/{send-DpUvFGhY.js → send-CnlhaqPG.js} +6 -6
  300. package/dist/{send-sjqxhfHS.js → send-DHilh06w.js} +4 -4
  301. package/dist/{send-ClM8Lo36.js → send-DYZKwR96.js} +5 -5
  302. package/dist/{send-DBBw0mfP.js → send-DhlMiZd4.js} +5 -5
  303. package/dist/{send-CFVe9p2R.js → send-HOtU47cf.js} +5 -5
  304. package/dist/{send-B9zhjl-M.js → send-XwFpaWoS.js} +6 -6
  305. package/dist/{server-context-CY9CD_me.js → server-context-6XtLqwqw.js} +6 -6
  306. package/dist/{server-context-BV2mlOUh.js → server-context-DPprMCtr.js} +6 -6
  307. package/dist/{server-context-Lw6Buhhu.js → server-context-SOe3Qe9P.js} +6 -6
  308. package/dist/{server-methods-list-DahLX2Sj.js → server-methods-list-Pm_vpzMF.js} +1 -1
  309. package/dist/{server-methods-list-TcEC7Y9-.js → server-methods-list-jiJwdopx.js} +1 -1
  310. package/dist/{server-node-events-DICRZt72.js → server-node-events-BiHw8Aty.js} +11 -11
  311. package/dist/{server-node-events-D1umA8Dy.js → server-node-events-wq3eiORV.js} +9 -9
  312. package/dist/{session-status-tool-C6NbaIxE.js → session-status-tool-DVaFr8FF.js} +5 -5
  313. package/dist/{session-status-tool-CG-IjgmB.js → session-status-tool-DXJnzH_w.js} +7 -7
  314. package/dist/{session-status-tool-DLdy-PVh.js → session-status-tool-S7QLQ1pw.js} +6 -6
  315. package/dist/{session-utils-C6EI44nf.js → session-utils-DCcrIy-d.js} +4 -4
  316. package/dist/{sessions-9ZVRK6fD.js → sessions-Bd5feUyF.js} +5 -5
  317. package/dist/{sessions-ZoJZhwzH.js → sessions-C2bn6qPQ.js} +5 -5
  318. package/dist/{sessions-C1dBEx0F.js → sessions-DHu5H-hD.js} +3 -3
  319. package/dist/{sessions-DJOm_blu.js → sessions-DexnnkGa.js} +4 -4
  320. package/dist/{sessions-helpers-TDwLlZrz.js → sessions-helpers-D8VM7DnS.js} +3 -3
  321. package/dist/{sessions-helpers-Cy19fL3z.js → sessions-helpers-Dd8VhxwF.js} +3 -3
  322. package/dist/{sessions-helpers-x6gQVTCZ.js → sessions-helpers-NLpGY-Oa.js} +3 -3
  323. package/dist/{sessions-history-tool-BArrbHfH.js → sessions-history-tool-1JstF4yd.js} +5 -5
  324. package/dist/{sessions-history-tool-DYcpsoLT.js → sessions-history-tool-DpwjQIN0.js} +5 -5
  325. package/dist/{sessions-history-tool-DCLLydmy.js → sessions-history-tool-y7WkrrGJ.js} +5 -5
  326. package/dist/{sessions-list-tool-C_IzWs3u.js → sessions-list-tool-C7CPDatd.js} +5 -5
  327. package/dist/{sessions-list-tool-hgLnFDGq.js → sessions-list-tool-DubsboPk.js} +5 -5
  328. package/dist/{sessions-list-tool-Bfiy5YSo.js → sessions-list-tool-rT1vgOsX.js} +5 -5
  329. package/dist/{sessions-send-tool-CyXOtsjm.js → sessions-send-tool--g9m90cG.js} +5 -5
  330. package/dist/{sessions-send-tool-C8Y13Jyw.js → sessions-send-tool-D53gdymO.js} +6 -6
  331. package/dist/{sessions-send-tool-YVSIiLbQ.js → sessions-send-tool-DvMoYl8k.js} +6 -6
  332. package/dist/{sessions-spawn-tool-M-xSvOeu.js → sessions-spawn-tool-ChO1T8-h.js} +1 -1
  333. package/dist/{sessions-spawn-tool-BReQxm1p.js → sessions-spawn-tool-DVp9MKx4.js} +1 -1
  334. package/dist/{sessions-spawn-tool-BLBZSzW-.js → sessions-spawn-tool-kHtrbS95.js} +1 -1
  335. package/dist/{shared-CKbfLORV.js → shared-CpM0cqCB.js} +2 -2
  336. package/dist/{shared-7ehE2dBL.js → shared-DdXoAbHq.js} +2 -2
  337. package/dist/{skills-cli-flQHogqq.js → skills-cli-Cy-mRgqA.js} +2 -2
  338. package/dist/{skills-cli-DoP_hZ9T.js → skills-cli-dsjEhcOf.js} +2 -2
  339. package/dist/{status-DXRDTPVw.js → status-9OUW-F-m.js} +3 -3
  340. package/dist/{status-DHddyiOw.js → status-B5xOkl0l.js} +13 -13
  341. package/dist/{status-89hH0nUO.js → status-BMXpDK_S.js} +14 -14
  342. package/dist/{status-DACkUn9-.js → status-BU_dK9bN.js} +3 -3
  343. package/dist/{status.update-Dljm9ufZ.js → status.update-BJ6m7AlL.js} +1 -1
  344. package/dist/{status.update-CBGruCwG.js → status.update-Bp79y7p4.js} +1 -1
  345. package/dist/{subagent-registry-DwQ4SiN9.js → subagent-registry-BJxBeIdz.js} +29 -29
  346. package/dist/{subagents-tool-COheKZNG.js → subagents-tool-BdfXbDEw.js} +6 -6
  347. package/dist/{subagents-tool-DlPDOYAS.js → subagents-tool-C-3v1oat.js} +6 -6
  348. package/dist/{subagents-tool-8njqaQ4P.js → subagents-tool-DzGOAC1H.js} +6 -6
  349. package/dist/{system-cli-Dh0MmkCW.js → system-cli-Dt8B0b5w.js} +1 -1
  350. package/dist/{system-cli-COFjxPnX.js → system-cli-SC9BWfDC.js} +1 -1
  351. package/dist/{systemd-hints-OFfA6kZB.js → systemd-hints-B2oxs6Pd.js} +1 -1
  352. package/dist/{systemd-hints-L0GK5l_y.js → systemd-hints-DArnHnUt.js} +1 -1
  353. package/dist/{tables-Bh0hs1jh.js → tables-CyITEjTe.js} +1 -1
  354. package/dist/{tables-Bzrb_xSH.js → tables-DTdeyX5J.js} +1 -1
  355. package/dist/{targets-CJP-jE82.js → targets-Cwf3l67c.js} +1 -1
  356. package/dist/{targets-Bgpg8pHd.js → targets-cZM4GsPE.js} +2 -2
  357. package/dist/{targets--oBCiHnU.js → targets-pt8VqU7d.js} +1 -1
  358. package/dist/{tools-cli-BGR1FLgF.js → tools-cli-DCWDl-bu.js} +3 -3
  359. package/dist/{tools-cli-ajym1Tw3.js → tools-cli-DN2XCVUc.js} +3 -3
  360. package/dist/{tts-CVcoiKFC.js → tts-BckXTz88.js} +1 -1
  361. package/dist/{tts-6P9NwetO.js → tts-FKoUwGO9.js} +1 -1
  362. package/dist/{tts-BJhV6B9h.js → tts-J6-O4NNf.js} +1 -1
  363. package/dist/{tts-tool-CEkFj4J8.js → tts-tool-DgZReWAF.js} +3 -3
  364. package/dist/{tts-tool-BO2aEEZa.js → tts-tool-DyyonhOo.js} +3 -3
  365. package/dist/{tts-tool-DvkaUEhg.js → tts-tool-Iur2XkSD.js} +3 -3
  366. package/dist/{tui-D1tjllO0.js → tui-BKwhEc5K.js} +5 -5
  367. package/dist/{tui-DiIysWS0.js → tui-OmhgBX2i.js} +5 -5
  368. package/dist/{tui-cli--jbzxCng.js → tui-cli-BjDivXeO.js} +1 -1
  369. package/dist/{tui-cli-CRIZznPI.js → tui-cli-DdQUd-D7.js} +1 -1
  370. package/dist/{update-cli-Xfv3SN3f.js → update-cli-DVlj2ms_.js} +8 -8
  371. package/dist/{update-cli-D9HNxJAs.js → update-cli-TkkbEoIw.js} +8 -8
  372. package/dist/{web-BShkTXOu.js → web-BTQTUC4T.js} +11 -11
  373. package/dist/web-CoE3PKcz.js +2 -0
  374. package/dist/{web-search-KjeT_et5.js → web-search-BLii88T8.js} +4 -4
  375. package/dist/{web-search-5QiEgV2m.js → web-search-BlqgaDvo.js} +4 -4
  376. package/dist/{web-search-B6wIo5BO.js → web-search-CsglcYWp.js} +4 -4
  377. package/dist/{webhooks-cli-BpaIBTCg.js → webhooks-cli-D-Uq-LAq.js} +3 -3
  378. package/dist/{webhooks-cli-DRIzoYcZ.js → webhooks-cli-lm1_PsOT.js} +3 -3
  379. package/dist/{workspace-dirs-BATOmOcC.js → workspace-dirs-C-UiReJ3.js} +3 -3
  380. package/extensions/whatsapp/index.js +1 -0
  381. package/extensions/whatsapp/src/channel.ts +1 -0
  382. package/package.json +1 -1
  383. package/dist/daemon-install-helpers-CGXP5R7Q.js +0 -2
  384. package/dist/daemon-install-helpers-uI0hqW3a.js +0 -2
  385. package/dist/doctor-completion-BzGkd0DV.js +0 -2
  386. package/dist/doctor-completion-uMQ5e4z5.js +0 -2
  387. package/dist/web-nRdaXm2h.js +0 -2
@@ -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.20260719203321";
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 || backfillRequests >= BACKFILL_MAX_REQUESTS) return;
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
- if (importContactsEnabled || backfillMessagesEnabled) fn("messaging-history.set", historyHandler);
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-DdigNnzZ.js";
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-Bv4JCxeO.js";
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-DdigNnzZ.js";
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-Bi4Ie6Tc.js";
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-DACkUn9-.js";
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-Bv4JCxeO.js";
7
- import "./config-DQL_3nup.js";
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-DXRDTPVw.js";
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-hXRmPBqb.js";
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-Bv4JCxeO.js";
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-DdeDxJ0I.js";
9
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-DllJrPOF.js";
10
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-BMjfb8zB.js";
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-qUb6N-Xd.js";
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-C-xrbJwh.js").then((n) => n.t);
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-CKW-oeZs.js").then((n) => n.n);
118
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-BV7F2_rq.js").then((n) => n.n);
119
119
  ensurePluginRegistryLoaded();
120
120
  }
121
121
  });