@qqbrowser/openclaw-qbot 0.10.4 → 0.10.5

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 (201) hide show
  1. package/dist/{agents-uUms0egI.js → agents-6IxtknW5.js} +1 -1
  2. package/dist/{agents.config-BkB-gDby.js → agents.config-BP_dS899.js} +1 -1
  3. package/dist/{agents.config-Brf_8LyQ.js → agents.config-CQVkG48F.js} +1 -1
  4. package/dist/{auth-choice-CCPa_U3z.js → auth-choice-Baa2-mnd.js} +1 -1
  5. package/dist/{auth-choice-hlkl-WTV.js → auth-choice-Cw_bwgkr.js} +1 -1
  6. package/dist/{banner-DEPUY9RS.js → banner-CLI1ZxLT.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +1 -1
  9. package/dist/bundled/session-memory/handler.js +1 -1
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-DqUyBMZF.js → channel-options-BmkYp9PQ.js} +1 -1
  12. package/dist/{channel-options-BbvCeuF4.js → channel-options-LL0twjcr.js} +1 -1
  13. package/dist/{channel-web-B7Dzfxgr.js → channel-web-DBxLlMxt.js} +1 -1
  14. package/dist/{channel-web-DztiTFmw.js → channel-web-DCbW654e.js} +1 -1
  15. package/dist/{channels-cli-B167LkN_.js → channels-cli-BDMHUXO6.js} +1 -1
  16. package/dist/{channels-cli-DqI5sufA.js → channels-cli-BomYL9U-.js} +1 -1
  17. package/dist/{cli-5w9Cs17g.js → cli-6GYOgeyE.js} +1 -1
  18. package/dist/{cli-odx2Ou54.js → cli-DcG2OfeS.js} +1 -1
  19. package/dist/{command-registry-kuOSuxH9.js → command-registry-B-1wiWIV.js} +1 -1
  20. package/dist/{compact-DutiJiBy.js → compact-B5m4267P.js} +6 -6
  21. package/dist/{compact.runtime-Cg-ayyOY.js → compact.runtime-BIprdRVY.js} +1 -1
  22. package/dist/{compact.runtime-CPJx43fM.js → compact.runtime-Bjmb9uWf.js} +1 -1
  23. package/dist/{compact.runtime-Cr0LrigW.js → compact.runtime-CC5tXNMI.js} +1 -1
  24. package/dist/{compact.runtime-8jjZMOn5.js → compact.runtime-CbiLGd2R.js} +1 -1
  25. package/dist/{completion-cli-Dk4i8AEs.js → completion-cli-BxTvZFra.js} +1 -1
  26. package/dist/{completion-cli-Btm1nzLM.js → completion-cli-CXSmC7Nh.js} +1 -1
  27. package/dist/{config-cli-C_Ep8Cqd.js → config-cli-CutpYl0W.js} +1 -1
  28. package/dist/{config-cli-GxgWLhZj.js → config-cli-_D9OjHjN.js} +1 -1
  29. package/dist/{configure-BGXAqK0_.js → configure-B7A-Gjbn.js} +1 -1
  30. package/dist/{configure-Bf9CYm_s.js → configure-GlFIJmRr.js} +1 -1
  31. package/dist/{deps-send-whatsapp.runtime-zwmhmYbD.js → deps-send-whatsapp.runtime-0CVkFH3c.js} +1 -1
  32. package/dist/{deps-send-whatsapp.runtime-BvP4xsTU.js → deps-send-whatsapp.runtime-CF7vGOV-.js} +1 -1
  33. package/dist/{deps-send-whatsapp.runtime-B0YhL8Lo.js → deps-send-whatsapp.runtime-CZWj9whB.js} +1 -1
  34. package/dist/{deps-send-whatsapp.runtime-DM3gFV5P.js → deps-send-whatsapp.runtime-CpRUDATB.js} +1 -1
  35. package/dist/{doctor-completion-Bp4r91Mj.js → doctor-completion-C5fxcbh9.js} +1 -1
  36. package/dist/{doctor-completion-DSlo6bQA.js → doctor-completion-CjAt0IBL.js} +1 -1
  37. package/dist/entry.js +1 -1
  38. package/dist/extensionAPI.js +1 -1
  39. package/dist/{gateway-cli-xHMUWDWx.js → gateway-cli-B4--4Rdp.js} +2 -2
  40. package/dist/{gateway-cli-C_zcjGt1.js → gateway-cli-LXL-gdmD.js} +2 -2
  41. package/dist/{health-vy-C49Dw.js → health-CIBrUBhW.js} +1 -1
  42. package/dist/{health-DWAEDZ8p.js → health-dTYbHKsD.js} +1 -1
  43. package/dist/{hooks-cli-DkjR_IzY.js → hooks-cli-B8zLSVkT.js} +1 -1
  44. package/dist/{hooks-cli-B0xRT8IB.js → hooks-cli-CQiuXLiA.js} +1 -1
  45. package/dist/index.js +2 -2
  46. package/dist/llm-slug-generator.js +1 -1
  47. package/dist/{models-CYk2Mf4W.js → models-DfPjqkxA.js} +1 -1
  48. package/dist/{models-cli-DPcl8k5z.js → models-cli-Crhj5KsH.js} +1 -1
  49. package/dist/{models-cli-BS5KD1m7.js → models-cli-DIeJKv20.js} +1 -1
  50. package/dist/{npm-resolution-BRKzOuRX.js → npm-resolution-BsQW2Kgr.js} +1 -1
  51. package/dist/{npm-resolution-B4ClzLA9.js → npm-resolution-wJ9PVAU8.js} +1 -1
  52. package/dist/{onboard-DtvFX5YS.js → onboard-CkDnD6Va.js} +2 -2
  53. package/dist/{onboard-DKohpAhM.js → onboard-DbFfuUgN.js} +2 -2
  54. package/dist/{onboard-channels-CO9FE0CA.js → onboard-channels-BW1eMy7S.js} +1 -1
  55. package/dist/{onboard-channels-B1Cta60W.js → onboard-channels-C0PAtk4T.js} +1 -1
  56. package/dist/{onboarding-CSBYu9X2.js → onboarding-DVLGoQj1.js} +1 -1
  57. package/dist/{onboarding-DTE81H7h.js → onboarding-enOGIWg6.js} +1 -1
  58. package/dist/{onboarding.finalize-Bk61Ef85.js → onboarding.finalize-BDLzh4dK.js} +1 -1
  59. package/dist/{onboarding.finalize-BzZq5LCu.js → onboarding.finalize-aguVHE5H.js} +1 -1
  60. package/dist/{pi-embedded-fKs8vr_l.js → pi-embedded-Bv3QACci.js} +6 -6
  61. package/dist/{pi-embedded-CSE8iTcT.js → pi-embedded-DJGgW90C.js} +6 -6
  62. package/dist/{plugin-registry--rKSomNR.js → plugin-registry-Cb3qsabM.js} +1 -1
  63. package/dist/{plugin-registry-BLopxJhs.js → plugin-registry-DgGaQJpH.js} +1 -1
  64. package/dist/plugin-sdk/{channel-web-kLUJoIaN.js → channel-web-B69hreZ-.js} +1 -1
  65. package/dist/plugin-sdk/{channel-web-BZwnvMDD.cjs → channel-web-CGYvIoB3.cjs} +1 -1
  66. package/dist/plugin-sdk/{channel-web-BUiDMnQM.js → channel-web-Cg7FoMmy.js} +1 -1
  67. package/dist/plugin-sdk/{channel-web-Dn8Qa28U.cjs → channel-web-yRiw9cOW.cjs} +1 -1
  68. package/dist/plugin-sdk/{compact.runtime-BtnHPGWW.cjs → compact.runtime-6EUZS-nm.cjs} +1 -1
  69. package/dist/plugin-sdk/{compact.runtime-PwQ5BH89.cjs → compact.runtime-BCReDZO0.cjs} +1 -1
  70. package/dist/plugin-sdk/{compact.runtime-CcAl_7JS.cjs → compact.runtime-BV8EhsZ-.cjs} +1 -1
  71. package/dist/plugin-sdk/{compact.runtime-BDSrWIc3.js → compact.runtime-BrTHTIXo.js} +1 -1
  72. package/dist/plugin-sdk/{compact.runtime-WzRsTof6.js → compact.runtime-C-nSnIie.js} +1 -1
  73. package/dist/plugin-sdk/{compact.runtime-D6zMtomh.js → compact.runtime-C1HIq_JF.js} +1 -1
  74. package/dist/plugin-sdk/{compact.runtime-DrbWVG3U.cjs → compact.runtime-CuU_iabG.cjs} +1 -1
  75. package/dist/plugin-sdk/{compact.runtime-CB04vm0D.js → compact.runtime-D64Cnn1T.js} +1 -1
  76. package/dist/plugin-sdk/{compact.runtime-BDZgCqEH.cjs → compact.runtime-DEsDlL2e.cjs} +1 -1
  77. package/dist/plugin-sdk/{compact.runtime-D4jmyLK_.js → compact.runtime-DyyEYJhk.js} +1 -1
  78. package/dist/plugin-sdk/{compact.runtime-DiGElRVu.cjs → compact.runtime-hD-8StlH.cjs} +1 -1
  79. package/dist/plugin-sdk/{compact.runtime-DpKoN-EI.js → compact.runtime-nrAibbrs.js} +1 -1
  80. package/dist/plugin-sdk/compat.cjs +1 -1
  81. package/dist/plugin-sdk/compat.js +1 -1
  82. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-D9D9oUEf.js → deps-send-whatsapp.runtime-BHSEddX6.js} +1 -1
  83. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DAq8oj_z.cjs → deps-send-whatsapp.runtime-BIcx-YKg.cjs} +1 -1
  84. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-Du9woGpt.js → deps-send-whatsapp.runtime-BJqrGRfn.js} +1 -1
  85. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-Bu592CgI.cjs → deps-send-whatsapp.runtime-BYitkwEt.cjs} +1 -1
  86. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-CslTgnDb.cjs → deps-send-whatsapp.runtime-BZZlnkSu.cjs} +1 -1
  87. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-Ck_Odtet.cjs → deps-send-whatsapp.runtime-C8CHSY5s.cjs} +1 -1
  88. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-C8VavsCw.cjs → deps-send-whatsapp.runtime-Cc_K5nip.cjs} +1 -1
  89. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BIa0po8R.js → deps-send-whatsapp.runtime-CcxJ3x8i.js} +1 -1
  90. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-D8utCFrm.js → deps-send-whatsapp.runtime-CtGDGABW.js} +1 -1
  91. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BjCkJL25.js → deps-send-whatsapp.runtime-DKBA8CwU.js} +1 -1
  92. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-D7XufA9p.js → deps-send-whatsapp.runtime-ty7jacKq.js} +1 -1
  93. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-Bc3Bslu5.cjs → deps-send-whatsapp.runtime-uvxKpBrR.cjs} +1 -1
  94. package/dist/plugin-sdk/{dispatch-B0bRcI0M.js → dispatch-3RmgaKV0.js} +6 -6
  95. package/dist/plugin-sdk/{dispatch-CXFmGh30.cjs → dispatch-BHwyFTwz.cjs} +6 -6
  96. package/dist/plugin-sdk/{dispatch-CuIxFSWG.js → dispatch-BYn5wxRI.js} +6 -6
  97. package/dist/plugin-sdk/{dispatch-DZFfZ37w.cjs → dispatch-C-qRxvLo.cjs} +6 -6
  98. package/dist/plugin-sdk/{dispatch-CXTBtHYf.cjs → dispatch-CDF-QMLO.cjs} +6 -6
  99. package/dist/plugin-sdk/{dispatch-BzOxEE_U.cjs → dispatch-DBHCub77.cjs} +6 -6
  100. package/dist/plugin-sdk/{dispatch-DgMf2rhn.cjs → dispatch-DCFiq6TV.cjs} +6 -6
  101. package/dist/plugin-sdk/{dispatch-BHQwp2mY.js → dispatch-Dbp8KQt5.js} +6 -6
  102. package/dist/plugin-sdk/{dispatch-CsZWuLFg.js → dispatch-DpHTL-Ha.js} +6 -6
  103. package/dist/plugin-sdk/{dispatch-DXQq-1ND.js → dispatch-t6yxQhjZ.js} +6 -6
  104. package/dist/plugin-sdk/index.cjs +1 -1
  105. package/dist/plugin-sdk/index.js +1 -1
  106. package/dist/plugin-sdk/irc.cjs +1 -1
  107. package/dist/plugin-sdk/irc.js +1 -1
  108. package/dist/plugin-sdk/matrix.cjs +1 -1
  109. package/dist/plugin-sdk/matrix.js +1 -1
  110. package/dist/plugin-sdk/msteams.cjs +1 -1
  111. package/dist/plugin-sdk/msteams.js +1 -1
  112. package/dist/plugin-sdk/nextcloud-talk.cjs +1 -1
  113. package/dist/plugin-sdk/nextcloud-talk.js +1 -1
  114. package/dist/plugin-sdk/{reply-9oEGfJO1.cjs → reply-DYTWptyW.cjs} +6 -6
  115. package/dist/plugin-sdk/{reply-D_sNAum5.js → reply-nXQ3Ihgd.js} +6 -6
  116. package/dist/plugin-sdk/{slash-dispatch.runtime-D6j_HvFC.cjs → slash-dispatch.runtime-BSDBCdoz.cjs} +1 -1
  117. package/dist/plugin-sdk/{slash-dispatch.runtime-C0RwCFKq.js → slash-dispatch.runtime-Boj2xPW5.js} +1 -1
  118. package/dist/plugin-sdk/{slash-dispatch.runtime-B60yTzIf.js → slash-dispatch.runtime-C57opycX.js} +1 -1
  119. package/dist/plugin-sdk/{slash-dispatch.runtime-BERy39cs.js → slash-dispatch.runtime-C9rDQo8o.js} +1 -1
  120. package/dist/plugin-sdk/{slash-dispatch.runtime-UYaTQwVq.js → slash-dispatch.runtime-CApLdZER.js} +1 -1
  121. package/dist/plugin-sdk/{slash-dispatch.runtime-ASdOu8Cm.js → slash-dispatch.runtime-CG-zjxON.js} +1 -1
  122. package/dist/plugin-sdk/{slash-dispatch.runtime-BuF14A03.js → slash-dispatch.runtime-CTecvuIx.js} +1 -1
  123. package/dist/plugin-sdk/{slash-dispatch.runtime-_BOQ7gkd.cjs → slash-dispatch.runtime-Coe_tdLy.cjs} +1 -1
  124. package/dist/plugin-sdk/{slash-dispatch.runtime-Dg9uQHNW.cjs → slash-dispatch.runtime-CrfGJt-z.cjs} +1 -1
  125. package/dist/plugin-sdk/{slash-dispatch.runtime-30IYd84w.cjs → slash-dispatch.runtime-EgX-cRVC.cjs} +1 -1
  126. package/dist/plugin-sdk/{slash-dispatch.runtime-Dq7mPZxr.cjs → slash-dispatch.runtime-KA6_FxIE.cjs} +1 -1
  127. package/dist/plugin-sdk/{slash-dispatch.runtime-34q3H9BU.cjs → slash-dispatch.runtime-XTKieQBQ.cjs} +1 -1
  128. package/dist/plugin-sdk/{subagent-registry-runtime-D0_kdCJ8.js → subagent-registry-runtime-B1Lpdh_L.js} +1 -1
  129. package/dist/plugin-sdk/{subagent-registry-runtime-BpO-8o-v.cjs → subagent-registry-runtime-BTcxp_jJ.cjs} +1 -1
  130. package/dist/plugin-sdk/{subagent-registry-runtime-DUaC-nXH.js → subagent-registry-runtime-C1W2bBCX.js} +1 -1
  131. package/dist/plugin-sdk/{subagent-registry-runtime-B4ht4jgI.js → subagent-registry-runtime-CjDQncGB.js} +1 -1
  132. package/dist/plugin-sdk/{subagent-registry-runtime-C4MYbumf.cjs → subagent-registry-runtime-CsoVFakn.cjs} +1 -1
  133. package/dist/plugin-sdk/{subagent-registry-runtime-w7CcoTLv.cjs → subagent-registry-runtime-DRUPit2H.cjs} +1 -1
  134. package/dist/plugin-sdk/{subagent-registry-runtime-_MlLeMWw.js → subagent-registry-runtime-DTlB8Q96.js} +1 -1
  135. package/dist/plugin-sdk/{subagent-registry-runtime-DfWSD7tl.js → subagent-registry-runtime-DiwikRRl.js} +1 -1
  136. package/dist/plugin-sdk/{subagent-registry-runtime-CyYJQuSQ.cjs → subagent-registry-runtime-Dj2i9GGj.cjs} +1 -1
  137. package/dist/plugin-sdk/{subagent-registry-runtime-D_dgSTbs.cjs → subagent-registry-runtime-Djshp0MC.cjs} +1 -1
  138. package/dist/plugin-sdk/{subagent-registry-runtime-UoI3lad4.js → subagent-registry-runtime-DrbVJw2f.js} +1 -1
  139. package/dist/plugin-sdk/{subagent-registry-runtime-CKNJbYW5.cjs → subagent-registry-runtime-IVYj5ywH.cjs} +1 -1
  140. package/dist/plugin-sdk/{web-BtgZE8cK.js → web-2PAf1exP.js} +1 -1
  141. package/dist/plugin-sdk/{web-B5xIoXe1.js → web-B6Ox6Cdv.js} +1 -1
  142. package/dist/plugin-sdk/{web-BEIPWO4K.cjs → web-B7WqqsC8.cjs} +1 -1
  143. package/dist/plugin-sdk/{web-GIWXJ0Ba.js → web-BkCy5IQ7.js} +1 -1
  144. package/dist/plugin-sdk/{web-BK1ARWvO.cjs → web-CJcd3JMn.cjs} +1 -1
  145. package/dist/plugin-sdk/{web-D2JuDaoV.js → web-CjilhIQD.js} +1 -1
  146. package/dist/plugin-sdk/{web-C2CF_qbv.cjs → web-CjsJxq4D.cjs} +1 -1
  147. package/dist/plugin-sdk/{web-BZPAL5HS.cjs → web-DCAcFf5b.cjs} +1 -1
  148. package/dist/plugin-sdk/{web-BiZX-XYi.cjs → web-DtH3t5Jt.cjs} +1 -1
  149. package/dist/plugin-sdk/{web-BhnzZsyl.js → web-g-WONVYn.js} +1 -1
  150. package/dist/plugin-sdk/{web-C3K1qs0u.cjs → web-iRzx1ssK.cjs} +1 -1
  151. package/dist/plugin-sdk/{web-CYwIRzDt.js → web-ikfo8GXI.js} +1 -1
  152. package/dist/plugin-sdk/whatsapp.cjs +1 -1
  153. package/dist/plugin-sdk/whatsapp.js +1 -1
  154. package/dist/{plugins-cli-fvYI7MuY.js → plugins-cli-5B5urjU7.js} +1 -1
  155. package/dist/{plugins-cli-D7y5Vl8l.js → plugins-cli-DaxkOvPH.js} +1 -1
  156. package/dist/{program-o1R0ZIeK.js → program-DJxQx1DE.js} +2 -2
  157. package/dist/{program-context-DMLIbH2F.js → program-context-DewOK4jD.js} +1 -1
  158. package/dist/{prompt-select-styled-BghrrnfB.js → prompt-select-styled-U5YlFMbC.js} +1 -1
  159. package/dist/{prompt-select-styled-MKdHaN69.js → prompt-select-styled-VagKVjlJ.js} +1 -1
  160. package/dist/{provider-auth-helpers-B24NjgT2.js → provider-auth-helpers-BEBH5krH.js} +1 -1
  161. package/dist/{provider-auth-helpers-1c048H9l.js → provider-auth-helpers-DKQwlJ25.js} +1 -1
  162. package/dist/{push-apns-BU-NR-pG.js → push-apns-CIV5yU-C.js} +1 -1
  163. package/dist/{push-apns-CrGncT7C.js → push-apns-DOhrdJ5p.js} +1 -1
  164. package/dist/{register.agent-iVmRDz9B.js → register.agent-Q_qYfTfI.js} +1 -1
  165. package/dist/{register.agent-CQHFkB8p.js → register.agent-Zd0TARQm.js} +1 -1
  166. package/dist/{register.configure-CThul7Zy.js → register.configure-A6heJkJh.js} +1 -1
  167. package/dist/{register.configure-q-iauQUk.js → register.configure-CWTGVxwN.js} +1 -1
  168. package/dist/{register.maintenance-C47agRIL.js → register.maintenance-BiqiVyJY.js} +1 -1
  169. package/dist/{register.maintenance-BRTx_TN-.js → register.maintenance-cKlEqSE7.js} +1 -1
  170. package/dist/{register.message-DsJRw5nY.js → register.message-BRfalotn.js} +1 -1
  171. package/dist/{register.message-Dxxzi9kt.js → register.message-CXPAYgVk.js} +1 -1
  172. package/dist/{register.onboard-DcNYm0dn.js → register.onboard-CiK3r6Ar.js} +1 -1
  173. package/dist/{register.onboard-BteLZ-mA.js → register.onboard-g_3bWGn7.js} +1 -1
  174. package/dist/{register.setup-C4lAwlQe.js → register.setup-BgOqtS83.js} +1 -1
  175. package/dist/{register.setup-CeW9lN5-.js → register.setup-BoiX_qRl.js} +1 -1
  176. package/dist/{register.status-health-sessions-C-JabFZz.js → register.status-health-sessions-BIo6bs1r.js} +1 -1
  177. package/dist/{register.status-health-sessions-CZOciUK3.js → register.status-health-sessions-BrcaSoAg.js} +1 -1
  178. package/dist/{register.subclis-DHFqEK6G.js → register.subclis-BmtNNMP2.js} +1 -1
  179. package/dist/{reply-DHtpIWpD.js → reply-HrabJs88.js} +6 -6
  180. package/dist/{run-main-BKA6bL5R.js → run-main-CwKNqqKj.js} +1 -1
  181. package/dist/{server-node-events-DECiuryL.js → server-node-events-D1Pr11u8.js} +1 -1
  182. package/dist/{server-node-events-DQohZYL_.js → server-node-events-DYeHOQG_.js} +1 -1
  183. package/dist/{slash-dispatch.runtime-BltGVp6a.js → slash-dispatch.runtime-5xQBRYan.js} +1 -1
  184. package/dist/{slash-dispatch.runtime-U7BSD9SC.js → slash-dispatch.runtime-BRImHx9I.js} +1 -1
  185. package/dist/{slash-dispatch.runtime-BRh6zgqn.js → slash-dispatch.runtime-Cq5dUL-m.js} +1 -1
  186. package/dist/{slash-dispatch.runtime-BQCIIXIb.js → slash-dispatch.runtime-D_A_iMTY.js} +1 -1
  187. package/dist/{status-CUDtNIry.js → status-DiHX2LOf.js} +1 -1
  188. package/dist/{status-OB55GG25.js → status-m4GFy-Px.js} +1 -1
  189. package/dist/{subagent-registry-runtime-B9Ism-1f.js → subagent-registry-runtime-BhMKhChi.js} +1 -1
  190. package/dist/{subagent-registry-runtime-D2hsQSwB.js → subagent-registry-runtime-C36kHoT7.js} +1 -1
  191. package/dist/{subagent-registry-runtime-CO4i2ZPd.js → subagent-registry-runtime-CrUvIBql.js} +1 -1
  192. package/dist/{subagent-registry-runtime-85RFObHD.js → subagent-registry-runtime-GuXOBC1H.js} +1 -1
  193. package/dist/{update-cli-CkgaoB8p.js → update-cli-CQGioR5x.js} +1 -1
  194. package/dist/{update-cli-BlZnad_S.js → update-cli-ILZhc8_8.js} +1 -1
  195. package/dist/{update-runner-DcWJQ3bh.js → update-runner-1UCWso86.js} +1 -1
  196. package/dist/{update-runner-DWHUl78B.js → update-runner-JT7_BON6.js} +1 -1
  197. package/dist/{web-HSA7Rhwn.js → web-C1e-LYaH.js} +1 -1
  198. package/dist/{web-MgNpzMvd.js → web-DWIIpcnE.js} +1 -1
  199. package/dist/{web-B6OLwGJa.js → web-DaJ1Z41U.js} +1 -1
  200. package/dist/{web-Bam5_EjB.js → web-rxfH6rmG.js} +1 -1
  201. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import{g as e,n as t,u as n}from"./paths-B4IRk3wi.js";import{A as r,p as i}from"./subsystem-BQ1073Mu.js";import{h as a}from"./utils-D1PlBTFH.js";import{Zs as o,nc as s}from"./model-selection-B2r_LMFb.js";import{V as c}from"./reply-DHtpIWpD.js";import"./agent-scope-DW6ZDCxj.js";import{t as l}from"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import{n as u,r as d,t as f}from"./command-format-BbDT1tlm.js";import"./boolean-Ch3DfXPy.js";import"./env-BI_g1HfG.js";import"./env-overrides-C0vMeCeX.js";import"./registry-BwcVQtsI.js";import"./skills-CZ7zEDmo.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-1aNlpDX7.js";import"./logger-Bgqzq_Zu.js";import{t as p}from"./exec-BdtFni8N.js";import"./windows-spawn-B36IG4s2.js";import"./redact-DsC5EnL7.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-y2V0aFIS.js";import"./send-DyCUb7oW.js";import"./send-C6J_nLb9.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-DsYKaMCI.js";import"./image-6t162ig6.js";import"./models-config-PU32mWpc.js";import"./tool-display-DBTvIf_I.js";import"./fetch-guard-11xgsj9-.js";import"./api-key-rotation-CayDxQxo.js";import"./local-roots-ClGHF49W.js";import"./model-catalog-CXx8LKWX.js";import"./proxy-fetch-Ci8QXzzm.js";import"./tokens-xmkeRJqo.js";import"./deliver-Dg2TVF1M.js";import"./commands-FDnZnqN5.js";import"./commands-registry-BEMFeaZR.js";import"./pairing-store-mQs2yMkt.js";import"./fetch-Dikjvc5M.js";import"./call-BQAAYLj3.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-kojLym9G.js";import"./send-aEwJo2mZ2.js";import"./pi-model-discovery-DMZplc-U.js";import"./exec-approvals-allowlist-Bh3Rw-aC.js";import"./exec-safe-bin-runtime-policy-BxN1_8e_.js";import"./ir-DcrzIcfF.js";import"./render-D8OWO2hT.js";import"./target-errors-B1wrjiTA.js";import"./read-only-account-inspect-DLD1Pk6l.js";import"./channel-selection-BuH6syM3.js";import"./plugin-auto-enable-DzUZAwai.js";import"./send-HOAYSr2i.js";import"./outbound-attachment-lrGTAaR-.js";import"./delivery-queue-CKbauSFq.js";import"./send-w-vabJ4U.js";import"./channel-activity-CBKv0fto.js";import"./tables-DwrGp-F-.js";import"./fetch-D4txy8qG.js";import{r as m}from"./format-duration-D5AMtmHa.js";import"./skill-commands-BN3rmzgq.js";import"./workspace-dirs-BMGwwM6X.js";import"./pairing-token-BipkTRNW.js";import"./restart-Dal_HOce.js";import"./runtime-web-tools-BiMD0yHU.js";import"./command-secret-targets-CbrSGcvV.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-BCxq0f5b.js";import"./onboard-helpers-CKsetIvC.js";import{n as h}from"./prompt-style-DpAh867d.js";import"./pairing-labels-iZoSa-aT.js";import"./memory-cli-P0GDvKlz.js";import"./query-expansion-BNl6JMlz.js";import"./manager-DKyEk2dt.js";import{t as g}from"./links-jlebCPFf.js";import"./cli-utils-BY7dLMFy.js";import{t as _}from"./help-format-Cav62lfS.js";import"./progress-Cyn5U745.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-B1Y6pbxs.js";import"./system-run-command-B212q8f9.js";import"./runtime-Dz2qgcJk.js";import"./stagger-DmFYysrJ.js";import{m as v,p as y,u as b}from"./arg-split-DE5RqDHq.js";import{n as x}from"./cmd-argv-BBT5l8AV.js";import{r as S}from"./runtime-guard-D_eQ0X84.js";import"./program-context-DMLIbH2F.js";import"./skills-status-CId4JgRV.js";import{n as C}from"./command-options-Bq5nQxz6.js";import"./note-PBjA39mC.js";import"./install-safe-path-CHTLw9k0.js";import"./npm-pack-install-BDxOuAxr.js";import"./skill-scanner-BKP1PUAv.js";import"./installs-C7lAxbH5.js";import{n as ee}from"./issue-format-BM2kAbbw.js";import"./channels-status-issues-hU0uOU87.js";import{r as w}from"./completion-cli-Dk4i8AEs.js";import"./daemon-install-plan.shared-ChzeMJMO.js";import"./gateway-install-token-CqMSnPKA.js";import"./systemd-Dp59-Na4.js";import{n as te}from"./service-BMP0stI7.js";import"./lifecycle-core-DzTFWEGQ.js";import"./systemd-hints-CvFRwRSs.js";import{a as T,i as E,l as D,o as O,r as k}from"./daemon-cli-DkD7aRxZ.js";import"./probe-auth-CegC2fDL.js";import"./diagnostics-DxEtFsuc.js";import{n as A,t as j}from"./table-CWiulZxe.js";import"./health-DWAEDZ8p.js";import"./control-ui-assets-jM-MvEQE.js";import{d as M,g as N,h as P,i as ne,m as F,n as I,o as re,r as ie,u as ae}from"./channel-account-context-kX_5d8CX.js";import{a as L,c as R,i as oe,l as z,n as se,o as ce,r as le,s as ue,t as de}from"./update-runner-DWHUl78B.js";import{i as fe,n as pe,t as me}from"./status.update-ioEIhrgk.js";import"./logging-Gwc2HmXy.js";import"./oauth-tls-preflight-OT_XKQho.js";import{n as he,t as ge}from"./update-b4lWjF1g.js";import"./doctor-config-flow-ByHDSti4.js";import"./systemd-linger-Bjq6egQK.js";import"./health-format-BYfab3lP.js";import{n as _e,t as ve}from"./prompt-select-styled-MKdHaN69.js";import{r as B,t as ye}from"./doctor-completion-DSlo6bQA.js";import V from"node:os";import H from"node:path";import U from"node:fs/promises";import{spawn as be,spawnSync as xe}from"node:child_process";import{confirm as W,isCancel as G,spinner as Se}from"@clack/prompts";function K(e){let t=e?Number.parseInt(e,10)*1e3:void 0;return t!==void 0&&(Number.isNaN(t)||t<=0)?(i.error(`--timeout must be a positive integer (seconds)`),i.exit(1),null):t}const q=`https://github.com/openclaw/openclaw.git`,Ce=8e3,we=`openclaw`,Te=new Set([we]);function Ee(e){return ue(e,[`openclaw`,we])}function De(e){let t=e.trim();if(!t)return null;let n=t.startsWith(`v`)?t.slice(1):t;return S(n)?n:null}async function Oe(e,t){return De(e)||((await ne({tag:e,timeoutMs:t})).version??null)}async function ke(e){try{return await U.stat(H.join(e,`.git`)),!0}catch{return!1}}async function Ae(e){let t=await R(e);return!!(t&&Te.has(t))}async function je(e){try{return(await U.readdir(e)).length===0}catch{return!1}}function Me(){let e=process.env.OPENCLAW_GIT_DIR?.trim();return e?H.resolve(e):Ne()}function Ne(){return e(process.env,V.homedir)}function J(){let e=H.basename(process.execPath).toLowerCase();return e===`node`||e===`node.exe`?process.execPath:`node`}async function Y(){return await l({moduleUrl:import.meta.url,argv1:process.argv[1],cwd:process.cwd()})??process.cwd()}async function X(e){let t=e.argv.join(` `);e.progress?.onStepStart?.({name:e.name,command:t,index:0,total:0});let n=Date.now(),r=await p(e.argv,{cwd:e.cwd,timeoutMs:e.timeoutMs}),i=Date.now()-n,a=c(r.stderr,Ce);return e.progress?.onStepComplete?.({name:e.name,command:t,index:0,total:0,durationMs:i,exitCode:r.code,stderrTail:a}),{name:e.name,command:t,cwd:e.cwd??process.cwd(),durationMs:i,exitCode:r.code,stdoutTail:c(r.stdout,Ce),stderrTail:a}}async function Pe(e){if(!await a(e.dir))return await X({name:`git clone`,argv:[`git`,`clone`,q,e.dir],timeoutMs:e.timeoutMs,progress:e.progress});if(!await ke(e.dir)){if(!await je(e.dir))throw Error(`OPENCLAW_GIT_DIR points at a non-git directory: ${e.dir}. Set OPENCLAW_GIT_DIR to an empty folder or an openclaw checkout.`);return await X({name:`git clone`,argv:[`git`,`clone`,q,e.dir],cwd:e.dir,timeoutMs:e.timeoutMs,progress:e.progress})}if(!await Ae(e.dir))throw Error(`OPENCLAW_GIT_DIR does not look like a core checkout: ${e.dir}.`);return null}async function Z(e){let t=Ie();if(e.installKind===`package`){let n=await oe(t,e.root,e.timeoutMs);if(n)return n}return await le(t,e.timeoutMs)??`npm`}async function Fe(e,t){let n=H.join(e,`openclaw.mjs`);if(!await a(n))return;let o=xe(J(),[n,`completion`,`--write-state`],{cwd:e,env:process.env,encoding:`utf-8`});if(o.error){t||i.log(r.warn(`Completion cache update failed: ${String(o.error)}`));return}if(o.status!==0&&!t){let e=(o.stderr??``).toString().trim(),t=e?` (${e})`:``;i.log(r.warn(`Completion cache update failed${t}.`))}}function Ie(){return async(e,t)=>{let n=await p(e,t);return{stdout:n.stdout,stderr:n.stderr,code:n.code}}}function Le(e){let t=e.sha?e.sha.slice(0,8):null,n=e.branch&&e.branch!==`HEAD`?e.branch:null,r=e.tag;return[n??(r?`detached`:`git`),r?`tag ${r}`:null,t?`@ ${t}`:null].filter(Boolean).join(` · `)}async function Re(e){let t=K(e.timeout);if(t===null)return;let n=await Y(),a=await o(),s=a.valid?F(a.config.update?.channel):null,c=await I({root:n,timeoutMs:t??3500,fetchGit:!0,includeRegistry:!0}),l=N({configChannel:s,installKind:c.installKind,gitTag:c.git?.tag??null,gitBranch:c.git?.branch??null}),u=l.label,d=c.installKind===`git`?Le({branch:c.git?.branch??null,tag:c.git?.tag??null,sha:c.git?.sha??null}):null,f=fe(c),p=pe(c).replace(/^Update:\s*/i,``);if(e.json){i.log(JSON.stringify({update:c,channel:{value:l.channel,source:l.source,label:u,config:s},availability:f},null,2));return}let m=j(),h=[{Item:`Install`,Value:c.installKind===`git`?`git (${c.root??`unknown`})`:c.installKind===`package`?c.packageManager:`unknown`},{Item:`Channel`,Value:u},...d?[{Item:`Git`,Value:d}]:[],{Item:`Update`,Value:f.available?r.warn(`available · ${p}`):p}];i.log(r.heading(`OpenClaw update status`)),i.log(``),i.log(A({width:m,columns:[{key:`Item`,header:`Item`,minWidth:10},{key:`Value`,header:`Value`,flex:!0,minWidth:24}],rows:h}).trimEnd()),i.log(``);let g=me(c);g&&i.log(r.warn(g))}const ze={"clean check":`Working directory is clean`,"upstream check":`Upstream branch exists`,"git fetch":`Fetching latest changes`,"git rebase":`Rebasing onto target commit`,"git rev-parse @{upstream}":`Resolving upstream commit`,"git rev-list":`Enumerating candidate commits`,"git clone":`Cloning git checkout`,"preflight worktree":`Preparing preflight worktree`,"preflight cleanup":`Cleaning preflight worktree`,"deps install":`Installing dependencies`,build:`Building`,"ui:build":`Building UI assets`,"ui:build (post-doctor repair)":`Restoring missing UI assets`,"ui assets verify":`Validating UI assets`,"openclaw doctor entry":`Checking doctor entrypoint`,"openclaw doctor":`Running doctor checks`,"git rev-parse HEAD (after)":`Verifying update`,"global update":`Updating via package manager`,"global update (omit optional)":`Retrying update without optional deps`,"global install":`Installing global package`};function Be(e){return ze[e.name]??e.name}function Ve(e){if(e.status!==`error`||e.mode!==`npm`)return[];let t=[...e.steps].toReversed().find(e=>e.exitCode!==0);if(!t)return[];let n=(t.stderrTail??``).toLowerCase(),r=[];return t.name.startsWith(`global update`)&&n.includes(`eacces`)&&(r.push(`Detected permission failure (EACCES). Re-run with a writable global prefix or sudo (for system-managed Node installs).`),r.push(`Example: npm config set prefix ~/.local && npm i -g openclaw@latest`)),t.name.startsWith(`global update`)&&(n.includes(`node-gyp`)||n.includes(`prebuild`))&&(r.push(`Detected native optional dependency build failure. The updater retries with --omit=optional automatically.`),r.push(`If it still fails: npm i -g openclaw@latest --omit=optional`)),r}function He(e){if(!e)return{progress:{},stop:()=>{}};let t=null;return{progress:{onStepStart:e=>{t=Se(),t.start(r.accent(Be(e)))},onStepComplete:e=>{if(!t)return;let n=Be(e),a=r.muted(`(${m(e.durationMs)})`),o=e.exitCode===0?r.success(`✓`):r.error(`✗`);if(t.stop(`${o} ${n} ${a}`),t=null,e.exitCode!==0&&e.stderrTail){let t=e.stderrTail.split(`
1
+ import{g as e,n as t,u as n}from"./paths-B4IRk3wi.js";import{A as r,p as i}from"./subsystem-BQ1073Mu.js";import{h as a}from"./utils-D1PlBTFH.js";import{Zs as o,nc as s}from"./model-selection-B2r_LMFb.js";import{V as c}from"./reply-HrabJs88.js";import"./agent-scope-DW6ZDCxj.js";import{t as l}from"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import{n as u,r as d,t as f}from"./command-format-BbDT1tlm.js";import"./boolean-Ch3DfXPy.js";import"./env-BI_g1HfG.js";import"./env-overrides-C0vMeCeX.js";import"./registry-BwcVQtsI.js";import"./skills-CZ7zEDmo.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-1aNlpDX7.js";import"./logger-Bgqzq_Zu.js";import{t as p}from"./exec-BdtFni8N.js";import"./windows-spawn-B36IG4s2.js";import"./redact-DsC5EnL7.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-y2V0aFIS.js";import"./send-DyCUb7oW.js";import"./send-C6J_nLb9.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-DsYKaMCI.js";import"./image-6t162ig6.js";import"./models-config-PU32mWpc.js";import"./tool-display-DBTvIf_I.js";import"./fetch-guard-11xgsj9-.js";import"./api-key-rotation-CayDxQxo.js";import"./local-roots-ClGHF49W.js";import"./model-catalog-CXx8LKWX.js";import"./proxy-fetch-Ci8QXzzm.js";import"./tokens-xmkeRJqo.js";import"./deliver-Dg2TVF1M.js";import"./commands-FDnZnqN5.js";import"./commands-registry-BEMFeaZR.js";import"./pairing-store-mQs2yMkt.js";import"./fetch-Dikjvc5M.js";import"./call-BQAAYLj3.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-kojLym9G.js";import"./send-aEwJo2mZ2.js";import"./pi-model-discovery-DMZplc-U.js";import"./exec-approvals-allowlist-Bh3Rw-aC.js";import"./exec-safe-bin-runtime-policy-BxN1_8e_.js";import"./ir-DcrzIcfF.js";import"./render-D8OWO2hT.js";import"./target-errors-B1wrjiTA.js";import"./read-only-account-inspect-DLD1Pk6l.js";import"./channel-selection-BuH6syM3.js";import"./plugin-auto-enable-DzUZAwai.js";import"./send-HOAYSr2i.js";import"./outbound-attachment-lrGTAaR-.js";import"./delivery-queue-CKbauSFq.js";import"./send-w-vabJ4U.js";import"./channel-activity-CBKv0fto.js";import"./tables-DwrGp-F-.js";import"./fetch-D4txy8qG.js";import{r as m}from"./format-duration-D5AMtmHa.js";import"./skill-commands-BN3rmzgq.js";import"./workspace-dirs-BMGwwM6X.js";import"./pairing-token-BipkTRNW.js";import"./restart-Dal_HOce.js";import"./runtime-web-tools-BiMD0yHU.js";import"./command-secret-targets-CbrSGcvV.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-BCxq0f5b.js";import"./onboard-helpers-CKsetIvC.js";import{n as h}from"./prompt-style-DpAh867d.js";import"./pairing-labels-iZoSa-aT.js";import"./memory-cli-P0GDvKlz.js";import"./query-expansion-BNl6JMlz.js";import"./manager-DKyEk2dt.js";import{t as g}from"./links-jlebCPFf.js";import"./cli-utils-BY7dLMFy.js";import{t as _}from"./help-format-Cav62lfS.js";import"./progress-Cyn5U745.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-B1Y6pbxs.js";import"./system-run-command-B212q8f9.js";import"./runtime-Dz2qgcJk.js";import"./stagger-DmFYysrJ.js";import{m as v,p as y,u as b}from"./arg-split-DE5RqDHq.js";import{n as x}from"./cmd-argv-BBT5l8AV.js";import{r as S}from"./runtime-guard-D_eQ0X84.js";import"./program-context-DewOK4jD.js";import"./skills-status-CId4JgRV.js";import{n as C}from"./command-options-Bq5nQxz6.js";import"./note-PBjA39mC.js";import"./install-safe-path-CHTLw9k0.js";import"./npm-pack-install-BDxOuAxr.js";import"./skill-scanner-BKP1PUAv.js";import"./installs-C7lAxbH5.js";import{n as ee}from"./issue-format-BM2kAbbw.js";import"./channels-status-issues-hU0uOU87.js";import{r as w}from"./completion-cli-BxTvZFra.js";import"./daemon-install-plan.shared-ChzeMJMO.js";import"./gateway-install-token-CqMSnPKA.js";import"./systemd-Dp59-Na4.js";import{n as te}from"./service-BMP0stI7.js";import"./lifecycle-core-DzTFWEGQ.js";import"./systemd-hints-CvFRwRSs.js";import{a as T,i as E,l as D,o as O,r as k}from"./daemon-cli-DkD7aRxZ.js";import"./probe-auth-CegC2fDL.js";import"./diagnostics-DxEtFsuc.js";import{n as A,t as j}from"./table-CWiulZxe.js";import"./health-dTYbHKsD.js";import"./control-ui-assets-jM-MvEQE.js";import{d as M,g as N,h as P,i as ne,m as F,n as I,o as re,r as ie,u as ae}from"./channel-account-context-kX_5d8CX.js";import{a as L,c as R,i as oe,l as z,n as se,o as ce,r as le,s as ue,t as de}from"./update-runner-JT7_BON6.js";import{i as fe,n as pe,t as me}from"./status.update-ioEIhrgk.js";import"./logging-Gwc2HmXy.js";import"./oauth-tls-preflight-OT_XKQho.js";import{n as he,t as ge}from"./update-b4lWjF1g.js";import"./doctor-config-flow-ByHDSti4.js";import"./systemd-linger-Bjq6egQK.js";import"./health-format-BYfab3lP.js";import{n as _e,t as ve}from"./prompt-select-styled-VagKVjlJ.js";import{r as B,t as ye}from"./doctor-completion-CjAt0IBL.js";import V from"node:os";import H from"node:path";import U from"node:fs/promises";import{spawn as be,spawnSync as xe}from"node:child_process";import{confirm as W,isCancel as G,spinner as Se}from"@clack/prompts";function K(e){let t=e?Number.parseInt(e,10)*1e3:void 0;return t!==void 0&&(Number.isNaN(t)||t<=0)?(i.error(`--timeout must be a positive integer (seconds)`),i.exit(1),null):t}const q=`https://github.com/openclaw/openclaw.git`,Ce=8e3,we=`openclaw`,Te=new Set([we]);function Ee(e){return ue(e,[`openclaw`,we])}function De(e){let t=e.trim();if(!t)return null;let n=t.startsWith(`v`)?t.slice(1):t;return S(n)?n:null}async function Oe(e,t){return De(e)||((await ne({tag:e,timeoutMs:t})).version??null)}async function ke(e){try{return await U.stat(H.join(e,`.git`)),!0}catch{return!1}}async function Ae(e){let t=await R(e);return!!(t&&Te.has(t))}async function je(e){try{return(await U.readdir(e)).length===0}catch{return!1}}function Me(){let e=process.env.OPENCLAW_GIT_DIR?.trim();return e?H.resolve(e):Ne()}function Ne(){return e(process.env,V.homedir)}function J(){let e=H.basename(process.execPath).toLowerCase();return e===`node`||e===`node.exe`?process.execPath:`node`}async function Y(){return await l({moduleUrl:import.meta.url,argv1:process.argv[1],cwd:process.cwd()})??process.cwd()}async function X(e){let t=e.argv.join(` `);e.progress?.onStepStart?.({name:e.name,command:t,index:0,total:0});let n=Date.now(),r=await p(e.argv,{cwd:e.cwd,timeoutMs:e.timeoutMs}),i=Date.now()-n,a=c(r.stderr,Ce);return e.progress?.onStepComplete?.({name:e.name,command:t,index:0,total:0,durationMs:i,exitCode:r.code,stderrTail:a}),{name:e.name,command:t,cwd:e.cwd??process.cwd(),durationMs:i,exitCode:r.code,stdoutTail:c(r.stdout,Ce),stderrTail:a}}async function Pe(e){if(!await a(e.dir))return await X({name:`git clone`,argv:[`git`,`clone`,q,e.dir],timeoutMs:e.timeoutMs,progress:e.progress});if(!await ke(e.dir)){if(!await je(e.dir))throw Error(`OPENCLAW_GIT_DIR points at a non-git directory: ${e.dir}. Set OPENCLAW_GIT_DIR to an empty folder or an openclaw checkout.`);return await X({name:`git clone`,argv:[`git`,`clone`,q,e.dir],cwd:e.dir,timeoutMs:e.timeoutMs,progress:e.progress})}if(!await Ae(e.dir))throw Error(`OPENCLAW_GIT_DIR does not look like a core checkout: ${e.dir}.`);return null}async function Z(e){let t=Ie();if(e.installKind===`package`){let n=await oe(t,e.root,e.timeoutMs);if(n)return n}return await le(t,e.timeoutMs)??`npm`}async function Fe(e,t){let n=H.join(e,`openclaw.mjs`);if(!await a(n))return;let o=xe(J(),[n,`completion`,`--write-state`],{cwd:e,env:process.env,encoding:`utf-8`});if(o.error){t||i.log(r.warn(`Completion cache update failed: ${String(o.error)}`));return}if(o.status!==0&&!t){let e=(o.stderr??``).toString().trim(),t=e?` (${e})`:``;i.log(r.warn(`Completion cache update failed${t}.`))}}function Ie(){return async(e,t)=>{let n=await p(e,t);return{stdout:n.stdout,stderr:n.stderr,code:n.code}}}function Le(e){let t=e.sha?e.sha.slice(0,8):null,n=e.branch&&e.branch!==`HEAD`?e.branch:null,r=e.tag;return[n??(r?`detached`:`git`),r?`tag ${r}`:null,t?`@ ${t}`:null].filter(Boolean).join(` · `)}async function Re(e){let t=K(e.timeout);if(t===null)return;let n=await Y(),a=await o(),s=a.valid?F(a.config.update?.channel):null,c=await I({root:n,timeoutMs:t??3500,fetchGit:!0,includeRegistry:!0}),l=N({configChannel:s,installKind:c.installKind,gitTag:c.git?.tag??null,gitBranch:c.git?.branch??null}),u=l.label,d=c.installKind===`git`?Le({branch:c.git?.branch??null,tag:c.git?.tag??null,sha:c.git?.sha??null}):null,f=fe(c),p=pe(c).replace(/^Update:\s*/i,``);if(e.json){i.log(JSON.stringify({update:c,channel:{value:l.channel,source:l.source,label:u,config:s},availability:f},null,2));return}let m=j(),h=[{Item:`Install`,Value:c.installKind===`git`?`git (${c.root??`unknown`})`:c.installKind===`package`?c.packageManager:`unknown`},{Item:`Channel`,Value:u},...d?[{Item:`Git`,Value:d}]:[],{Item:`Update`,Value:f.available?r.warn(`available · ${p}`):p}];i.log(r.heading(`OpenClaw update status`)),i.log(``),i.log(A({width:m,columns:[{key:`Item`,header:`Item`,minWidth:10},{key:`Value`,header:`Value`,flex:!0,minWidth:24}],rows:h}).trimEnd()),i.log(``);let g=me(c);g&&i.log(r.warn(g))}const ze={"clean check":`Working directory is clean`,"upstream check":`Upstream branch exists`,"git fetch":`Fetching latest changes`,"git rebase":`Rebasing onto target commit`,"git rev-parse @{upstream}":`Resolving upstream commit`,"git rev-list":`Enumerating candidate commits`,"git clone":`Cloning git checkout`,"preflight worktree":`Preparing preflight worktree`,"preflight cleanup":`Cleaning preflight worktree`,"deps install":`Installing dependencies`,build:`Building`,"ui:build":`Building UI assets`,"ui:build (post-doctor repair)":`Restoring missing UI assets`,"ui assets verify":`Validating UI assets`,"openclaw doctor entry":`Checking doctor entrypoint`,"openclaw doctor":`Running doctor checks`,"git rev-parse HEAD (after)":`Verifying update`,"global update":`Updating via package manager`,"global update (omit optional)":`Retrying update without optional deps`,"global install":`Installing global package`};function Be(e){return ze[e.name]??e.name}function Ve(e){if(e.status!==`error`||e.mode!==`npm`)return[];let t=[...e.steps].toReversed().find(e=>e.exitCode!==0);if(!t)return[];let n=(t.stderrTail??``).toLowerCase(),r=[];return t.name.startsWith(`global update`)&&n.includes(`eacces`)&&(r.push(`Detected permission failure (EACCES). Re-run with a writable global prefix or sudo (for system-managed Node installs).`),r.push(`Example: npm config set prefix ~/.local && npm i -g openclaw@latest`)),t.name.startsWith(`global update`)&&(n.includes(`node-gyp`)||n.includes(`prebuild`))&&(r.push(`Detected native optional dependency build failure. The updater retries with --omit=optional automatically.`),r.push(`If it still fails: npm i -g openclaw@latest --omit=optional`)),r}function He(e){if(!e)return{progress:{},stop:()=>{}};let t=null;return{progress:{onStepStart:e=>{t=Se(),t.start(r.accent(Be(e)))},onStepComplete:e=>{if(!t)return;let n=Be(e),a=r.muted(`(${m(e.durationMs)})`),o=e.exitCode===0?r.success(`✓`):r.error(`✗`);if(t.stop(`${o} ${n} ${a}`),t=null,e.exitCode!==0&&e.stderrTail){let t=e.stderrTail.split(`
2
2
  `).slice(-10);for(let e of t)e.trim()&&i.log(` ${r.error(e)}`)}}},stop:()=>{t&&=(t.stop(),null)}}}function Ue(e){return e===0?r.success(`✓`):e===null?r.warn(`?`):r.error(`✗`)}function We(e,t){if(t.json){i.log(JSON.stringify(e,null,2));return}let n=e.status===`ok`?r.success:e.status===`skipped`?r.warn:r.error;if(i.log(``),i.log(`${r.heading(`Update Result:`)} ${n(e.status.toUpperCase())}`),e.root&&i.log(` Root: ${r.muted(e.root)}`),e.reason&&i.log(` Reason: ${r.muted(e.reason)}`),e.before?.version||e.before?.sha){let t=e.before.version??e.before.sha?.slice(0,8)??``;i.log(` Before: ${r.muted(t)}`)}if(e.after?.version||e.after?.sha){let t=e.after.version??e.after.sha?.slice(0,8)??``;i.log(` After: ${r.muted(t)}`)}if(!t.hideSteps&&e.steps.length>0){i.log(``),i.log(r.heading(`Steps:`));for(let t of e.steps){let e=Ue(t.exitCode),n=r.muted(`(${m(t.durationMs)})`);if(i.log(` ${e} ${t.name} ${n}`),t.exitCode!==0&&t.stderrTail){let e=t.stderrTail.split(`
3
3
  `).slice(0,5);for(let t of e)t.trim()&&i.log(` ${r.error(t)}`)}}}let a=Ve(e);if(a.length>0){i.log(``),i.log(r.heading(`Recovery hints:`));for(let e of a)i.log(` - ${r.warn(e)}`)}i.log(``),i.log(`Total time: ${r.muted(m(e.durationMs))}`)}function Q(e){return e.replace(/'/g,`'\\''`)}function Ge(e){return/^[A-Za-z0-9 _\-().]+$/.test(e)}function Ke(e){let t=e.OPENCLAW_SYSTEMD_UNIT?.trim();return t?t.endsWith(`.service`)?t:`${t}.service`:`${y(e.OPENCLAW_PROFILE)}.service`}function qe(e){return e.OPENCLAW_LAUNCHD_LABEL?.trim()||b(e.OPENCLAW_PROFILE)}function Je(e){return e.OPENCLAW_WINDOWS_TASK_NAME?.trim()||v(e.OPENCLAW_PROFILE)}async function Ye(e=process.env,n=t){let r=V.tmpdir(),i=Date.now(),a=process.platform,o=``,s=``;try{if(a===`linux`){let t=Q(Ke(e));s=`openclaw-restart-${i}.sh`,o=`#!/bin/sh
4
4
  # Standalone restart script — survives parent process termination.
@@ -1,3 +1,3 @@
1
- import{m as e}from"./utils-7Gdj77QB.js";import{t}from"./exec-CiwCrGw3.js";import{Gt as n,Nt as r,Rt as i,Vt as a,Wt as o}from"./compact-DutiJiBy.js";import{i as s,r as c,t as l}from"./stagger-DxzgG2jd.js";import{c as u}from"./daemon-install-plan.shared-JQBIvXfN.js";import{i as d,r as f}from"./control-ui-assets-bS1XYZpI.js";import{f as p,l as m,p as h,r as g,s as _,u as v}from"./channel-account-context-DuBGrKuL.js";import y from"node:os";import b from"node:path";import x from"node:fs/promises";import{Cron as S}from"croner";const C=new Map;function w(e){return(typeof e==`string`?e.trim():``)||Intl.DateTimeFormat().resolvedOptions().timeZone}function T(e,t){let n=`${t}\u0000${e}`,r=C.get(n);if(r)return r;if(C.size>=512){let e=C.keys().next().value;e&&C.delete(e)}let i=new S(e,{timezone:t,catch:!1});return C.set(n,i),i}function E(e){let t=typeof e.expr==`string`?e.expr:e.cron;if(typeof t!=`string`)throw Error(`invalid cron schedule: expr is required`);let n=t.trim();if(n)return T(n,w(e.tz))}function D(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function O(e,t){if(e.kind===`at`){let n=e,r=typeof n.atMs==`number`&&Number.isFinite(n.atMs)&&n.atMs>0?n.atMs:typeof n.atMs==`string`?s(n.atMs):typeof n.at==`string`?s(n.at):null;return r===null?void 0:r>t?r:void 0}if(e.kind===`every`){let n=D(e.everyMs);if(n===void 0)return;let r=Math.max(1,Math.floor(n)),i=D(e.anchorMs),a=Math.max(0,Math.floor(i??t));if(t<a)return a;let o=t-a;return a+Math.max(1,Math.floor((o+r-1)/r))*r}let n=E(e);if(!n)return;let r=n.nextRun(new Date(t));if(!r)return;let i=r.getTime();if(Number.isFinite(i)){if(i<=t){let e=Math.floor(t/1e3)*1e3+1e3,r=n.nextRun(new Date(e));if(r){let e=r.getTime();if(Number.isFinite(e)&&e>t)return e}let i=new Date(t).setUTCHours(24,0,0,0),a=n.nextRun(new Date(i));if(a){let e=a.getTime();if(Number.isFinite(e)&&e>t)return e}return}return i}}function k(e,t){if(e.kind!==`cron`)return;let n=E(e);if(!n)return;let r=n.previousRuns(1,new Date(t))[0];if(!r)return;let i=r.getTime();if(Number.isFinite(i)&&!(i>=t))return i}function A(e,t){e[t]=(e[t]??0)+1}function j(e){let t=typeof e.kind==`string`?e.kind.trim().toLowerCase():``;return t===`agentturn`?(e.kind=`agentTurn`,!0):t===`systemevent`?(e.kind=`systemEvent`,!0):!1}function M(e){let t=typeof e.message==`string`?e.message.trim():``,n=typeof e.text==`string`?e.text.trim():``,r=typeof e.command==`string`?e.command.trim():``;return t?(e.payload={kind:`agentTurn`,message:t},!0):n?(e.payload={kind:`systemEvent`,text:n},!0):r?(e.payload={kind:`systemEvent`,text:r},!0):!1}function N(e,t){let n=!1,r=r=>{let i=t[r];if(typeof i==`string`&&i.trim())return;let a=e[r];typeof a==`string`&&a.trim()&&(t[r]=a.trim(),n=!0)};return r(`model`),r(`thinking`),typeof t.timeoutSeconds!=`number`&&typeof e.timeoutSeconds==`number`&&Number.isFinite(e.timeoutSeconds)&&(t.timeoutSeconds=Math.max(0,Math.floor(e.timeoutSeconds)),n=!0),typeof t.allowUnsafeExternalContent!=`boolean`&&typeof e.allowUnsafeExternalContent==`boolean`&&(t.allowUnsafeExternalContent=e.allowUnsafeExternalContent,n=!0),typeof t.deliver!=`boolean`&&typeof e.deliver==`boolean`&&(t.deliver=e.deliver,n=!0),typeof t.channel!=`string`&&typeof e.channel==`string`&&e.channel.trim()&&(t.channel=e.channel.trim(),n=!0),typeof t.to!=`string`&&typeof e.to==`string`&&e.to.trim()&&(t.to=e.to.trim(),n=!0),typeof t.bestEffortDeliver!=`boolean`&&typeof e.bestEffortDeliver==`boolean`&&(t.bestEffortDeliver=e.bestEffortDeliver,n=!0),typeof t.provider!=`string`&&typeof e.provider==`string`&&e.provider.trim()&&(t.provider=e.provider.trim(),n=!0),n}function ee(e){`model`in e&&delete e.model,`thinking`in e&&delete e.thinking,`timeoutSeconds`in e&&delete e.timeoutSeconds,`allowUnsafeExternalContent`in e&&delete e.allowUnsafeExternalContent,`message`in e&&delete e.message,`text`in e&&delete e.text,`deliver`in e&&delete e.deliver,`channel`in e&&delete e.channel,`to`in e&&delete e.to,`bestEffortDeliver`in e&&delete e.bestEffortDeliver,`provider`in e&&delete e.provider,`command`in e&&delete e.command,`timeout`in e&&delete e.timeout}function P(e){let t={},r=!1;for(let u of e){let e=new Set,d=n=>{e.has(n)||(e.add(n),A(t,n))},f=u.state;(!f||typeof f!=`object`||Array.isArray(f))&&(u.state={},r=!0);let p=typeof u.id==`string`?u.id.trim():``,m=typeof u.jobId==`string`?u.jobId.trim():``;!p&&m?(u.id=m,r=!0,d(`jobId`)):p&&u.id!==p&&(u.id=p,r=!0),`jobId`in u&&(delete u.jobId,r=!0,d(`jobId`)),typeof u.schedule==`string`&&(u.schedule={kind:`cron`,expr:u.schedule.trim()},r=!0,d(`legacyScheduleString`));let h=u.name;typeof h!=`string`||h.trim().length===0?(u.name=i({schedule:u.schedule,payload:u.payload}),r=!0):u.name=h.trim();let g=a(u.description);if(u.description!==g&&(u.description=g,r=!0),`sessionKey`in u){let e=typeof u.sessionKey==`string`?a(u.sessionKey):void 0;u.sessionKey!==e&&(u.sessionKey=e,r=!0)}typeof u.enabled!=`boolean`&&(u.enabled=!0,r=!0);let _=typeof u.wakeMode==`string`?u.wakeMode.trim().toLowerCase():``;_===`next-heartbeat`?u.wakeMode!==`next-heartbeat`&&(u.wakeMode=`next-heartbeat`,r=!0):_===`now`?u.wakeMode!==`now`&&(u.wakeMode=`now`,r=!0):(u.wakeMode=`now`,r=!0);let v=u.payload;(!v||typeof v!=`object`||Array.isArray(v))&&M(u)&&(r=!0,d(`legacyTopLevelPayloadFields`));let y=u.payload&&typeof u.payload==`object`&&!Array.isArray(u.payload)?u.payload:null;y&&(j(y)&&(r=!0,d(`legacyPayloadKind`)),y.kind||(typeof y.message==`string`&&y.message.trim()?(y.kind=`agentTurn`,r=!0,d(`legacyPayloadKind`)):typeof y.text==`string`&&y.text.trim()&&(y.kind=`systemEvent`,r=!0,d(`legacyPayloadKind`))),y.kind===`agentTurn`&&N(u,y)&&(r=!0));let b=`model`in u||`thinking`in u||`timeoutSeconds`in u||`allowUnsafeExternalContent`in u||`message`in u||`text`in u||`command`in u||`timeout`in u,x=`deliver`in u||`channel`in u||`to`in u||`bestEffortDeliver`in u||`provider`in u;if((b||x)&&(ee(u),r=!0,b&&d(`legacyTopLevelPayloadFields`),x&&d(`legacyTopLevelDeliveryFields`)),y){let e=typeof y.provider==`string`&&y.provider.trim().length>0;o(y)&&(r=!0,e&&d(`legacyPayloadProvider`))}let S=u.schedule;if(S&&typeof S==`object`&&!Array.isArray(S)){let e=S,t=typeof e.kind==`string`?e.kind.trim().toLowerCase():``;!t&&(`at`in e||`atMs`in e)&&(e.kind=`at`,r=!0);let n=typeof e.at==`string`?e.at.trim():``,i=e.atMs,a=typeof i==`number`?i:typeof i==`string`?s(i):n?s(n):null;a!==null&&(e.at=new Date(a).toISOString(),`atMs`in e&&delete e.atMs,r=!0);let o=e.everyMs,f=D(o),p=f===void 0?null:Math.floor(f);if(p!==null&&o!==p&&(e.everyMs=p,r=!0),(t===`every`||e.kind===`every`)&&p!==null){let t=e.anchorMs,n=D(t),i=n===void 0?typeof u.createdAtMs==`number`&&Number.isFinite(u.createdAtMs)?Math.max(0,Math.floor(u.createdAtMs)):typeof u.updatedAtMs==`number`&&Number.isFinite(u.updatedAtMs)?Math.max(0,Math.floor(u.updatedAtMs)):null:Math.max(0,Math.floor(n));i!==null&&t!==i&&(e.anchorMs=i,r=!0)}let m=typeof e.expr==`string`?e.expr.trim():``,h=typeof e.cron==`string`?e.cron.trim():``,g=m;if(!g&&h&&(g=h,e.expr=g,r=!0,d(`legacyScheduleCron`)),typeof e.expr==`string`&&e.expr!==g&&(e.expr=g,r=!0),`cron`in e&&(delete e.cron,r=!0,d(`legacyScheduleCron`)),(t===`cron`||e.kind===`cron`)&&g){let t=l(e.staggerMs),n=c(g),i=t??n;i===void 0?`staggerMs`in e&&(delete e.staggerMs,r=!0):e.staggerMs!==i&&(e.staggerMs=i,r=!0)}}let C=u.delivery;if(C&&typeof C==`object`&&!Array.isArray(C)){let e=C.mode;typeof e==`string`?e.trim().toLowerCase()===`deliver`&&(C.mode=`announce`,r=!0,d(`legacyDeliveryMode`)):e??(C.mode=`announce`,r=!0)}let w=u.isolation;w&&typeof w==`object`&&!Array.isArray(w)&&(delete u.isolation,r=!0);let T=y&&typeof y.kind==`string`?y.kind:``,E=typeof u.sessionTarget==`string`?u.sessionTarget.trim().toLowerCase():``;if(E===`main`||E===`isolated`)u.sessionTarget!==E&&(u.sessionTarget=E,r=!0);else{let e=T===`agentTurn`?`isolated`:`main`;u.sessionTarget!==e&&(u.sessionTarget=e,r=!0)}let O=typeof u.sessionTarget==`string`?u.sessionTarget.trim().toLowerCase():``,k=O===`isolated`||O===``&&T===`agentTurn`,P=C&&typeof C==`object`&&!Array.isArray(C),F=n({delivery:P?C:null,payload:y});k&&T===`agentTurn`?!P&&F.delivery?(u.delivery=F.delivery,r=!0):P?F.mutated&&F.delivery&&(u.delivery=F.delivery,r=!0):(u.delivery={mode:`announce`},r=!0):F.mutated&&F.delivery&&(u.delivery=F.delivery,r=!0)}return{issues:t,jobs:e,mutated:r}}async function F(e){try{let t=await x.readFile(b.join(e,`package.json`),`utf-8`),n=JSON.parse(t);return typeof n?.version==`string`?n.version:null}catch{return null}}async function I(e){try{let t=await x.readFile(b.join(e,`package.json`),`utf-8`);return JSON.parse(t)?.name?.trim()||null}catch{return null}}function L(e,t){let n=e?.trim();if(!n)return null;for(let e of t){let t=`${e}@`;if(n.startsWith(t))return n.slice(t.length)}return n}const R=`openclaw`,z=[R],B=[`--no-fund`,`--no-audit`,`--loglevel=error`],te=[`--omit=optional`,...B];async function V(e){try{return await x.realpath(e)}catch{return b.resolve(e)}}function H(){let e=process.env.BUN_INSTALL?.trim()||b.join(y.homedir(),`.bun`);return b.join(e,`install`,`global`,`node_modules`)}async function U(e,t,n){if(e===`bun`)return H();let r=await t(e===`pnpm`?[`pnpm`,`root`,`-g`]:[`npm`,`root`,`-g`],{timeoutMs:n}).catch(()=>null);return!r||r.code!==0?null:r.stdout.trim()||null}async function ne(e,t,n){let r=await U(e,t,n);return r?b.join(r,R):null}async function W(e,t,n){let r=await V(t);for(let{manager:t,argv:i}of[{manager:`npm`,argv:[`npm`,`root`,`-g`]},{manager:`pnpm`,argv:[`pnpm`,`root`,`-g`]}]){let a=await e(i,{timeoutMs:n}).catch(()=>null);if(!a||a.code!==0)continue;let o=a.stdout.trim();if(!o)continue;let s=await V(o);for(let e of z){let n=await V(b.join(s,e));if(b.resolve(n)===b.resolve(r))return t}}let i=await V(H());for(let e of z){let t=await V(b.join(i,e));if(b.resolve(t)===b.resolve(r))return`bun`}return null}async function re(t,n){for(let r of[`npm`,`pnpm`]){let i=await U(r,t,n);if(i){for(let t of z)if(await e(b.join(i,t)))return r}}let r=H();for(let t of z)if(await e(b.join(r,t)))return`bun`;return null}function G(e,t){return e===`pnpm`?[`pnpm`,`add`,`-g`,t]:e===`bun`?[`bun`,`add`,`-g`,t]:[`npm`,`i`,`-g`,t,...B]}function ie(e,t){return e===`npm`?[`npm`,`i`,`-g`,t,...te]:null}async function K(e){let t=[],n=e.globalRoot.trim(),r=e.packageName.trim();if(!n||!r)return{removed:t};let i=`.${r}-`,a=[];try{a=await x.readdir(n)}catch{return{removed:t}}for(let e of a){if(!e.startsWith(i))continue;let r=b.join(n,e);try{if(!(await x.lstat(r)).isDirectory())continue;await x.rm(r,{recursive:!0,force:!0}),t.push(e)}catch{}}return{removed:t}}const q=8e3,ae=[`cwd`,`argv1`,`process`],J=`openclaw`,oe=new Set([J]);function Y(e){if(!e)return null;let t=e.trim();return t?b.resolve(t):null}function se(e){let t=b.resolve(e),n=t.split(b.sep),r=n.lastIndexOf(`.bin`);if(r<=0||n[r-1]!==`node_modules`)return null;let i=b.basename(t),a=n.slice(0,r).join(b.sep);return b.join(a,i)}function ce(e){let t=[],n=Y(e.cwd);n&&t.push(n);let r=Y(e.argv1);if(r){t.push(b.dirname(r));let e=se(r);e&&t.push(e)}let i=Y(process.cwd());return i&&t.push(i),Array.from(new Set(t))}async function le(e,t,n){let r=await e([`git`,`-C`,t,`rev-parse`,`--abbrev-ref`,`HEAD`],{timeoutMs:n}).catch(()=>null);return!r||r.code!==0?null:r.stdout.trim()||null}async function ue(e,t,n,r=`v*`){let i=await e([`git`,`-C`,t,`tag`,`--list`,r,`--sort=-v:refname`],{timeoutMs:n}).catch(()=>null);return!i||i.code!==0?[]:i.stdout.split(`
1
+ import{m as e}from"./utils-7Gdj77QB.js";import{t}from"./exec-CiwCrGw3.js";import{Gt as n,Nt as r,Rt as i,Vt as a,Wt as o}from"./compact-B5m4267P.js";import{i as s,r as c,t as l}from"./stagger-DxzgG2jd.js";import{c as u}from"./daemon-install-plan.shared-JQBIvXfN.js";import{i as d,r as f}from"./control-ui-assets-bS1XYZpI.js";import{f as p,l as m,p as h,r as g,s as _,u as v}from"./channel-account-context-DuBGrKuL.js";import y from"node:os";import b from"node:path";import x from"node:fs/promises";import{Cron as S}from"croner";const C=new Map;function w(e){return(typeof e==`string`?e.trim():``)||Intl.DateTimeFormat().resolvedOptions().timeZone}function T(e,t){let n=`${t}\u0000${e}`,r=C.get(n);if(r)return r;if(C.size>=512){let e=C.keys().next().value;e&&C.delete(e)}let i=new S(e,{timezone:t,catch:!1});return C.set(n,i),i}function E(e){let t=typeof e.expr==`string`?e.expr:e.cron;if(typeof t!=`string`)throw Error(`invalid cron schedule: expr is required`);let n=t.trim();if(n)return T(n,w(e.tz))}function D(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function O(e,t){if(e.kind===`at`){let n=e,r=typeof n.atMs==`number`&&Number.isFinite(n.atMs)&&n.atMs>0?n.atMs:typeof n.atMs==`string`?s(n.atMs):typeof n.at==`string`?s(n.at):null;return r===null?void 0:r>t?r:void 0}if(e.kind===`every`){let n=D(e.everyMs);if(n===void 0)return;let r=Math.max(1,Math.floor(n)),i=D(e.anchorMs),a=Math.max(0,Math.floor(i??t));if(t<a)return a;let o=t-a;return a+Math.max(1,Math.floor((o+r-1)/r))*r}let n=E(e);if(!n)return;let r=n.nextRun(new Date(t));if(!r)return;let i=r.getTime();if(Number.isFinite(i)){if(i<=t){let e=Math.floor(t/1e3)*1e3+1e3,r=n.nextRun(new Date(e));if(r){let e=r.getTime();if(Number.isFinite(e)&&e>t)return e}let i=new Date(t).setUTCHours(24,0,0,0),a=n.nextRun(new Date(i));if(a){let e=a.getTime();if(Number.isFinite(e)&&e>t)return e}return}return i}}function k(e,t){if(e.kind!==`cron`)return;let n=E(e);if(!n)return;let r=n.previousRuns(1,new Date(t))[0];if(!r)return;let i=r.getTime();if(Number.isFinite(i)&&!(i>=t))return i}function A(e,t){e[t]=(e[t]??0)+1}function j(e){let t=typeof e.kind==`string`?e.kind.trim().toLowerCase():``;return t===`agentturn`?(e.kind=`agentTurn`,!0):t===`systemevent`?(e.kind=`systemEvent`,!0):!1}function M(e){let t=typeof e.message==`string`?e.message.trim():``,n=typeof e.text==`string`?e.text.trim():``,r=typeof e.command==`string`?e.command.trim():``;return t?(e.payload={kind:`agentTurn`,message:t},!0):n?(e.payload={kind:`systemEvent`,text:n},!0):r?(e.payload={kind:`systemEvent`,text:r},!0):!1}function N(e,t){let n=!1,r=r=>{let i=t[r];if(typeof i==`string`&&i.trim())return;let a=e[r];typeof a==`string`&&a.trim()&&(t[r]=a.trim(),n=!0)};return r(`model`),r(`thinking`),typeof t.timeoutSeconds!=`number`&&typeof e.timeoutSeconds==`number`&&Number.isFinite(e.timeoutSeconds)&&(t.timeoutSeconds=Math.max(0,Math.floor(e.timeoutSeconds)),n=!0),typeof t.allowUnsafeExternalContent!=`boolean`&&typeof e.allowUnsafeExternalContent==`boolean`&&(t.allowUnsafeExternalContent=e.allowUnsafeExternalContent,n=!0),typeof t.deliver!=`boolean`&&typeof e.deliver==`boolean`&&(t.deliver=e.deliver,n=!0),typeof t.channel!=`string`&&typeof e.channel==`string`&&e.channel.trim()&&(t.channel=e.channel.trim(),n=!0),typeof t.to!=`string`&&typeof e.to==`string`&&e.to.trim()&&(t.to=e.to.trim(),n=!0),typeof t.bestEffortDeliver!=`boolean`&&typeof e.bestEffortDeliver==`boolean`&&(t.bestEffortDeliver=e.bestEffortDeliver,n=!0),typeof t.provider!=`string`&&typeof e.provider==`string`&&e.provider.trim()&&(t.provider=e.provider.trim(),n=!0),n}function ee(e){`model`in e&&delete e.model,`thinking`in e&&delete e.thinking,`timeoutSeconds`in e&&delete e.timeoutSeconds,`allowUnsafeExternalContent`in e&&delete e.allowUnsafeExternalContent,`message`in e&&delete e.message,`text`in e&&delete e.text,`deliver`in e&&delete e.deliver,`channel`in e&&delete e.channel,`to`in e&&delete e.to,`bestEffortDeliver`in e&&delete e.bestEffortDeliver,`provider`in e&&delete e.provider,`command`in e&&delete e.command,`timeout`in e&&delete e.timeout}function P(e){let t={},r=!1;for(let u of e){let e=new Set,d=n=>{e.has(n)||(e.add(n),A(t,n))},f=u.state;(!f||typeof f!=`object`||Array.isArray(f))&&(u.state={},r=!0);let p=typeof u.id==`string`?u.id.trim():``,m=typeof u.jobId==`string`?u.jobId.trim():``;!p&&m?(u.id=m,r=!0,d(`jobId`)):p&&u.id!==p&&(u.id=p,r=!0),`jobId`in u&&(delete u.jobId,r=!0,d(`jobId`)),typeof u.schedule==`string`&&(u.schedule={kind:`cron`,expr:u.schedule.trim()},r=!0,d(`legacyScheduleString`));let h=u.name;typeof h!=`string`||h.trim().length===0?(u.name=i({schedule:u.schedule,payload:u.payload}),r=!0):u.name=h.trim();let g=a(u.description);if(u.description!==g&&(u.description=g,r=!0),`sessionKey`in u){let e=typeof u.sessionKey==`string`?a(u.sessionKey):void 0;u.sessionKey!==e&&(u.sessionKey=e,r=!0)}typeof u.enabled!=`boolean`&&(u.enabled=!0,r=!0);let _=typeof u.wakeMode==`string`?u.wakeMode.trim().toLowerCase():``;_===`next-heartbeat`?u.wakeMode!==`next-heartbeat`&&(u.wakeMode=`next-heartbeat`,r=!0):_===`now`?u.wakeMode!==`now`&&(u.wakeMode=`now`,r=!0):(u.wakeMode=`now`,r=!0);let v=u.payload;(!v||typeof v!=`object`||Array.isArray(v))&&M(u)&&(r=!0,d(`legacyTopLevelPayloadFields`));let y=u.payload&&typeof u.payload==`object`&&!Array.isArray(u.payload)?u.payload:null;y&&(j(y)&&(r=!0,d(`legacyPayloadKind`)),y.kind||(typeof y.message==`string`&&y.message.trim()?(y.kind=`agentTurn`,r=!0,d(`legacyPayloadKind`)):typeof y.text==`string`&&y.text.trim()&&(y.kind=`systemEvent`,r=!0,d(`legacyPayloadKind`))),y.kind===`agentTurn`&&N(u,y)&&(r=!0));let b=`model`in u||`thinking`in u||`timeoutSeconds`in u||`allowUnsafeExternalContent`in u||`message`in u||`text`in u||`command`in u||`timeout`in u,x=`deliver`in u||`channel`in u||`to`in u||`bestEffortDeliver`in u||`provider`in u;if((b||x)&&(ee(u),r=!0,b&&d(`legacyTopLevelPayloadFields`),x&&d(`legacyTopLevelDeliveryFields`)),y){let e=typeof y.provider==`string`&&y.provider.trim().length>0;o(y)&&(r=!0,e&&d(`legacyPayloadProvider`))}let S=u.schedule;if(S&&typeof S==`object`&&!Array.isArray(S)){let e=S,t=typeof e.kind==`string`?e.kind.trim().toLowerCase():``;!t&&(`at`in e||`atMs`in e)&&(e.kind=`at`,r=!0);let n=typeof e.at==`string`?e.at.trim():``,i=e.atMs,a=typeof i==`number`?i:typeof i==`string`?s(i):n?s(n):null;a!==null&&(e.at=new Date(a).toISOString(),`atMs`in e&&delete e.atMs,r=!0);let o=e.everyMs,f=D(o),p=f===void 0?null:Math.floor(f);if(p!==null&&o!==p&&(e.everyMs=p,r=!0),(t===`every`||e.kind===`every`)&&p!==null){let t=e.anchorMs,n=D(t),i=n===void 0?typeof u.createdAtMs==`number`&&Number.isFinite(u.createdAtMs)?Math.max(0,Math.floor(u.createdAtMs)):typeof u.updatedAtMs==`number`&&Number.isFinite(u.updatedAtMs)?Math.max(0,Math.floor(u.updatedAtMs)):null:Math.max(0,Math.floor(n));i!==null&&t!==i&&(e.anchorMs=i,r=!0)}let m=typeof e.expr==`string`?e.expr.trim():``,h=typeof e.cron==`string`?e.cron.trim():``,g=m;if(!g&&h&&(g=h,e.expr=g,r=!0,d(`legacyScheduleCron`)),typeof e.expr==`string`&&e.expr!==g&&(e.expr=g,r=!0),`cron`in e&&(delete e.cron,r=!0,d(`legacyScheduleCron`)),(t===`cron`||e.kind===`cron`)&&g){let t=l(e.staggerMs),n=c(g),i=t??n;i===void 0?`staggerMs`in e&&(delete e.staggerMs,r=!0):e.staggerMs!==i&&(e.staggerMs=i,r=!0)}}let C=u.delivery;if(C&&typeof C==`object`&&!Array.isArray(C)){let e=C.mode;typeof e==`string`?e.trim().toLowerCase()===`deliver`&&(C.mode=`announce`,r=!0,d(`legacyDeliveryMode`)):e??(C.mode=`announce`,r=!0)}let w=u.isolation;w&&typeof w==`object`&&!Array.isArray(w)&&(delete u.isolation,r=!0);let T=y&&typeof y.kind==`string`?y.kind:``,E=typeof u.sessionTarget==`string`?u.sessionTarget.trim().toLowerCase():``;if(E===`main`||E===`isolated`)u.sessionTarget!==E&&(u.sessionTarget=E,r=!0);else{let e=T===`agentTurn`?`isolated`:`main`;u.sessionTarget!==e&&(u.sessionTarget=e,r=!0)}let O=typeof u.sessionTarget==`string`?u.sessionTarget.trim().toLowerCase():``,k=O===`isolated`||O===``&&T===`agentTurn`,P=C&&typeof C==`object`&&!Array.isArray(C),F=n({delivery:P?C:null,payload:y});k&&T===`agentTurn`?!P&&F.delivery?(u.delivery=F.delivery,r=!0):P?F.mutated&&F.delivery&&(u.delivery=F.delivery,r=!0):(u.delivery={mode:`announce`},r=!0):F.mutated&&F.delivery&&(u.delivery=F.delivery,r=!0)}return{issues:t,jobs:e,mutated:r}}async function F(e){try{let t=await x.readFile(b.join(e,`package.json`),`utf-8`),n=JSON.parse(t);return typeof n?.version==`string`?n.version:null}catch{return null}}async function I(e){try{let t=await x.readFile(b.join(e,`package.json`),`utf-8`);return JSON.parse(t)?.name?.trim()||null}catch{return null}}function L(e,t){let n=e?.trim();if(!n)return null;for(let e of t){let t=`${e}@`;if(n.startsWith(t))return n.slice(t.length)}return n}const R=`openclaw`,z=[R],B=[`--no-fund`,`--no-audit`,`--loglevel=error`],te=[`--omit=optional`,...B];async function V(e){try{return await x.realpath(e)}catch{return b.resolve(e)}}function H(){let e=process.env.BUN_INSTALL?.trim()||b.join(y.homedir(),`.bun`);return b.join(e,`install`,`global`,`node_modules`)}async function U(e,t,n){if(e===`bun`)return H();let r=await t(e===`pnpm`?[`pnpm`,`root`,`-g`]:[`npm`,`root`,`-g`],{timeoutMs:n}).catch(()=>null);return!r||r.code!==0?null:r.stdout.trim()||null}async function ne(e,t,n){let r=await U(e,t,n);return r?b.join(r,R):null}async function W(e,t,n){let r=await V(t);for(let{manager:t,argv:i}of[{manager:`npm`,argv:[`npm`,`root`,`-g`]},{manager:`pnpm`,argv:[`pnpm`,`root`,`-g`]}]){let a=await e(i,{timeoutMs:n}).catch(()=>null);if(!a||a.code!==0)continue;let o=a.stdout.trim();if(!o)continue;let s=await V(o);for(let e of z){let n=await V(b.join(s,e));if(b.resolve(n)===b.resolve(r))return t}}let i=await V(H());for(let e of z){let t=await V(b.join(i,e));if(b.resolve(t)===b.resolve(r))return`bun`}return null}async function re(t,n){for(let r of[`npm`,`pnpm`]){let i=await U(r,t,n);if(i){for(let t of z)if(await e(b.join(i,t)))return r}}let r=H();for(let t of z)if(await e(b.join(r,t)))return`bun`;return null}function G(e,t){return e===`pnpm`?[`pnpm`,`add`,`-g`,t]:e===`bun`?[`bun`,`add`,`-g`,t]:[`npm`,`i`,`-g`,t,...B]}function ie(e,t){return e===`npm`?[`npm`,`i`,`-g`,t,...te]:null}async function K(e){let t=[],n=e.globalRoot.trim(),r=e.packageName.trim();if(!n||!r)return{removed:t};let i=`.${r}-`,a=[];try{a=await x.readdir(n)}catch{return{removed:t}}for(let e of a){if(!e.startsWith(i))continue;let r=b.join(n,e);try{if(!(await x.lstat(r)).isDirectory())continue;await x.rm(r,{recursive:!0,force:!0}),t.push(e)}catch{}}return{removed:t}}const q=8e3,ae=[`cwd`,`argv1`,`process`],J=`openclaw`,oe=new Set([J]);function Y(e){if(!e)return null;let t=e.trim();return t?b.resolve(t):null}function se(e){let t=b.resolve(e),n=t.split(b.sep),r=n.lastIndexOf(`.bin`);if(r<=0||n[r-1]!==`node_modules`)return null;let i=b.basename(t),a=n.slice(0,r).join(b.sep);return b.join(a,i)}function ce(e){let t=[],n=Y(e.cwd);n&&t.push(n);let r=Y(e.argv1);if(r){t.push(b.dirname(r));let e=se(r);e&&t.push(e)}let i=Y(process.cwd());return i&&t.push(i),Array.from(new Set(t))}async function le(e,t,n){let r=await e([`git`,`-C`,t,`rev-parse`,`--abbrev-ref`,`HEAD`],{timeoutMs:n}).catch(()=>null);return!r||r.code!==0?null:r.stdout.trim()||null}async function ue(e,t,n,r=`v*`){let i=await e([`git`,`-C`,t,`tag`,`--list`,r,`--sort=-v:refname`],{timeoutMs:n}).catch(()=>null);return!i||i.code!==0?[]:i.stdout.split(`
2
2
  `).map(e=>e.trim()).filter(Boolean)}async function de(e,t,n,r){let i=await ue(e,t,n);if(r===`beta`){let e=i.find(e=>p(e))??null,t=i.find(e=>h(e))??null;if(!e)return t;if(!t)return e;let n=g(e,t);return n!=null&&n<0?t:e}return i.find(e=>h(e))??null}async function fe(e,t,n){for(let r of t){let t=await e([`git`,`-C`,r,`rev-parse`,`--show-toplevel`],{timeoutMs:n});if(t.code===0){let e=t.stdout.trim();if(e)return e}}return null}async function pe(e){for(let t of e){let e=t;for(let t=0;t<12;t+=1){let t=b.join(e,`package.json`);try{let n=await x.readFile(t,`utf-8`),r=JSON.parse(n)?.name?.trim();if(r&&oe.has(r))return e}catch{}let n=b.dirname(e);if(n===e)break;e=n}}return null}async function X(e){return await _(e)??`npm`}async function Z(e){let{runCommand:t,name:n,argv:i,cwd:a,timeoutMs:o,env:s,progress:c,stepIndex:l,totalSteps:u}=e,d=i.join(` `),f={name:n,command:d,index:l,total:u};c?.onStepStart?.(f);let p=Date.now(),m=await t(i,{cwd:a,timeoutMs:o,env:s}),h=Date.now()-p,g=r(m.stderr,q);return c?.onStepComplete?.({...f,durationMs:h,exitCode:m.code,stderrTail:g}),{name:n,command:d,cwd:a,durationMs:h,exitCode:m.code,stdoutTail:r(m.stdout,q),stderrTail:r(m.stderr,q)}}function Q(e,t,n=[]){return e===`pnpm`?[`pnpm`,t,...n]:e===`bun`?[`bun`,`run`,t,...n]:n.length>0?[`npm`,`run`,t,`--`,...n]:[`npm`,`run`,t]}function $(e){return e===`pnpm`?[`pnpm`,`install`]:e===`bun`?[`bun`,`install`]:[`npm`,`install`]}function me(e){return L(e,[`openclaw`,J])??`latest`}async function he(e={}){let n=Date.now(),i=e.runCommand??(async(e,n)=>{let r=await t(e,n);return{stdout:r.stdout,stderr:r.stderr,code:r.code}}),a=e.timeoutMs??12e5,o=e.progress,s=[],c=ce(e),l=0,p=0,h=(e,t,n,r)=>{let s=l;return l+=1,{runCommand:i,name:e,argv:t,cwd:n,timeoutMs:a,env:r,progress:o,stepIndex:s,totalSteps:p}},g=await pe(c),_=await fe(i,c,a);if(_&&g&&b.resolve(_)!==b.resolve(g)&&(_=null),_&&!g)return{status:`error`,mode:`unknown`,root:_,reason:`not-openclaw-root`,steps:[],durationMs:Date.now()-n};if(_&&g&&b.resolve(_)===b.resolve(g)){let t=(await i([`git`,`-C`,_,`rev-parse`,`HEAD`],{cwd:_,timeoutMs:a})).stdout.trim()||null,o=await F(_),c=e.channel??`dev`,l=c===`dev`?await le(i,_,a):null,g=c===`dev`&&l!==`main`;p=c===`dev`?g?11:10:9;let v=e=>({status:`error`,mode:`git`,root:_,reason:e,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n}),S=async(e,t)=>{let n=await Z(h(e,t,_));return s.push(n),n.exitCode===0?null:v(`checkout-failed`)},C=await Z(h(`clean check`,[`git`,`-C`,_,`status`,`--porcelain`,`--`,`:!dist/control-ui/`],_));if(s.push(C),C.stdoutTail&&C.stdoutTail.trim().length>0)return{status:`skipped`,mode:`git`,root:_,reason:`dirty`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};if(c===`dev`){if(g){let e=await S(`git checkout ${m}`,[`git`,`-C`,_,`checkout`,m]);if(e)return e}let e=await Z(h(`upstream check`,[`git`,`-C`,_,`rev-parse`,`--abbrev-ref`,`--symbolic-full-name`,`@{upstream}`],_));if(s.push(e),e.exitCode!==0)return{status:`skipped`,mode:`git`,root:_,reason:`no-upstream`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let c=await Z(h(`git fetch`,[`git`,`-C`,_,`fetch`,`--all`,`--prune`,`--tags`],_));s.push(c);let l=await Z(h(`git rev-parse @{upstream}`,[`git`,`-C`,_,`rev-parse`,`@{upstream}`],_));s.push(l);let u=l.stdoutTail?.trim();if(!l.stdoutTail||!u)return{status:`error`,mode:`git`,root:_,reason:`no-upstream-sha`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let d=await Z(h(`git rev-list`,[`git`,`-C`,_,`rev-list`,`--max-count=10`,u],_));if(s.push(d),d.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`preflight-revlist-failed`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let f=(d.stdoutTail??``).split(`
3
3
  `).map(e=>e.trim()).filter(Boolean);if(f.length===0)return{status:`error`,mode:`git`,root:_,reason:`preflight-no-candidates`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let p=await X(_),v=await x.mkdtemp(b.join(y.tmpdir(),`openclaw-update-preflight-`)),C=b.join(v,`worktree`),w=await Z(h(`preflight worktree`,[`git`,`-C`,_,`worktree`,`add`,`--detach`,C,u],_));if(s.push(w),w.exitCode!==0)return await x.rm(v,{recursive:!0,force:!0}).catch(()=>{}),{status:`error`,mode:`git`,root:_,reason:`preflight-worktree-failed`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let T=null;try{for(let e of f){let t=e.slice(0,8),n=await Z(h(`preflight checkout (${t})`,[`git`,`-C`,C,`checkout`,`--detach`,e],C));if(s.push(n),n.exitCode!==0)continue;let r=await Z(h(`preflight deps install (${t})`,$(p),C));if(s.push(r),r.exitCode!==0)continue;let i=await Z(h(`preflight build (${t})`,Q(p,`build`),C));if(s.push(i),i.exitCode!==0)continue;let a=await Z(h(`preflight lint (${t})`,Q(p,`lint`),C));if(s.push(a),a.exitCode===0){T=e;break}}}finally{let e=await Z(h(`preflight cleanup`,[`git`,`-C`,_,`worktree`,`remove`,`--force`,C],_));s.push(e),await i([`git`,`-C`,_,`worktree`,`prune`],{cwd:_,timeoutMs:a}).catch(()=>null),await x.rm(v,{recursive:!0,force:!0}).catch(()=>{})}if(!T)return{status:`error`,mode:`git`,root:_,reason:`preflight-no-good-commit`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let E=await Z(h(`git rebase`,[`git`,`-C`,_,`rebase`,T],_));if(s.push(E),E.exitCode!==0){let e=await i([`git`,`-C`,_,`rebase`,`--abort`],{cwd:_,timeoutMs:a});return s.push({name:`git rebase --abort`,command:`git rebase --abort`,cwd:_,durationMs:0,exitCode:e.code,stdoutTail:r(e.stdout,q),stderrTail:r(e.stderr,q)}),{status:`error`,mode:`git`,root:_,reason:`rebase-failed`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n}}}else{let e=await Z(h(`git fetch`,[`git`,`-C`,_,`fetch`,`--all`,`--prune`,`--tags`],_));if(s.push(e),e.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`fetch-failed`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let r=await de(i,_,a,c);if(!r)return{status:`error`,mode:`git`,root:_,reason:`no-release-tag`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let l=await S(`git checkout ${r}`,[`git`,`-C`,_,`checkout`,`--detach`,r]);if(l)return l}let w=await X(_),T=await Z(h(`deps install`,$(w),_));if(s.push(T),T.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`deps-install-failed`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let E=await Z(h(`build`,Q(w,`build`),_));if(s.push(E),E.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`build-failed`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let D=await Z(h(`ui:build`,Q(w,`ui:build`),_));if(s.push(D),D.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`ui-build-failed`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let O=b.join(_,`openclaw.mjs`);if(!await x.stat(O).then(()=>!0).catch(()=>!1))return s.push({name:`openclaw doctor entry`,command:`verify ${O}`,cwd:_,durationMs:0,exitCode:1,stderrTail:`missing ${O}`}),{status:`error`,mode:`git`,root:_,reason:`doctor-entry-missing`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let k=await Z(h(`openclaw doctor`,[await u(process.execPath),O,`doctor`,`--non-interactive`,`--fix`],_,{OPENCLAW_UPDATE_IN_PROGRESS:`1`}));if(s.push(k),!(await f({root:_})).exists){let e=Q(w,`ui:build`),c=Date.now(),l=await i(e,{cwd:_,timeoutMs:a}),u={name:`ui:build (post-doctor repair)`,command:e.join(` `),cwd:_,durationMs:Date.now()-c,exitCode:l.code,stdoutTail:r(l.stdout,q),stderrTail:r(l.stderr,q)};if(s.push(u),l.code!==0)return{status:`error`,mode:`git`,root:_,reason:u.name,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n};let p=await f({root:_});if(!p.exists){let e=p.indexPath??d(_);return s.push({name:`ui assets verify`,command:`verify ${e}`,cwd:_,durationMs:0,exitCode:1,stderrTail:`missing ${e}`}),{status:`error`,mode:`git`,root:_,reason:`ui-assets-missing`,before:{sha:t,version:o},steps:s,durationMs:Date.now()-n}}}let A=s.find(e=>e.exitCode!==0),j=await Z(h(`git rev-parse HEAD (after)`,[`git`,`-C`,_,`rev-parse`,`HEAD`],_));s.push(j);let M=await F(_);return{status:A?`error`:`ok`,mode:`git`,root:_,reason:A?A.name:void 0,before:{sha:t,version:o},after:{sha:j.stdoutTail?.trim()??null,version:M},steps:s,durationMs:Date.now()-n}}if(!g)return{status:`error`,mode:`unknown`,reason:`no root (${ae.join(`,`)})`,steps:[],durationMs:Date.now()-n};let S=await F(g),C=await W(i,g,a);if(C){let t=await I(g)??J;await K({globalRoot:b.dirname(g),packageName:t});let r=e.channel??`stable`,s=`${t}@${me(e.tag??v(r))}`,c=[],l=await Z({runCommand:i,name:`global update`,argv:G(C,s),cwd:g,timeoutMs:a,progress:o,stepIndex:0,totalSteps:1});c.push(l);let u=l;if(l.exitCode!==0){let e=ie(C,s);if(e){let t=await Z({runCommand:i,name:`global update (omit optional)`,argv:e,cwd:g,timeoutMs:a,progress:o,stepIndex:0,totalSteps:1});c.push(t),u=t}}let d=await F(g);return{status:u.exitCode===0?`ok`:`error`,mode:C,root:g,reason:u.exitCode===0?void 0:u.name,before:{version:S},after:{version:d},steps:c,durationMs:Date.now()-n}}return{status:`skipped`,mode:`unknown`,root:g,reason:`not-git-install`,before:{version:S},steps:[],durationMs:Date.now()-n}}export{G as a,I as c,D as d,O as f,W as i,F as l,K as n,ne as o,k as p,re as r,L as s,he as t,P as u};
@@ -1,3 +1,3 @@
1
- import{h as e}from"./utils-D1PlBTFH.js";import{$ as t,K as n,Q as r,V as i,Y as a}from"./reply-DHtpIWpD.js";import{t as o}from"./exec-BdtFni8N.js";import{i as s,r as c,t as l}from"./stagger-DmFYysrJ.js";import{c as u}from"./daemon-install-plan.shared-ChzeMJMO.js";import{i as d,r as f}from"./control-ui-assets-jM-MvEQE.js";import{f as p,l as m,p as h,r as g,s as _,u as v}from"./channel-account-context-kX_5d8CX.js";import y from"node:os";import b from"node:path";import x from"node:fs/promises";import{Cron as S}from"croner";const C=new Map;function w(e){return(typeof e==`string`?e.trim():``)||Intl.DateTimeFormat().resolvedOptions().timeZone}function T(e,t){let n=`${t}\u0000${e}`,r=C.get(n);if(r)return r;if(C.size>=512){let e=C.keys().next().value;e&&C.delete(e)}let i=new S(e,{timezone:t,catch:!1});return C.set(n,i),i}function E(e){let t=typeof e.expr==`string`?e.expr:e.cron;if(typeof t!=`string`)throw Error(`invalid cron schedule: expr is required`);let n=t.trim();if(n)return T(n,w(e.tz))}function D(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function O(e,t){if(e.kind===`at`){let n=e,r=typeof n.atMs==`number`&&Number.isFinite(n.atMs)&&n.atMs>0?n.atMs:typeof n.atMs==`string`?s(n.atMs):typeof n.at==`string`?s(n.at):null;return r===null?void 0:r>t?r:void 0}if(e.kind===`every`){let n=D(e.everyMs);if(n===void 0)return;let r=Math.max(1,Math.floor(n)),i=D(e.anchorMs),a=Math.max(0,Math.floor(i??t));if(t<a)return a;let o=t-a;return a+Math.max(1,Math.floor((o+r-1)/r))*r}let n=E(e);if(!n)return;let r=n.nextRun(new Date(t));if(!r)return;let i=r.getTime();if(Number.isFinite(i)){if(i<=t){let e=Math.floor(t/1e3)*1e3+1e3,r=n.nextRun(new Date(e));if(r){let e=r.getTime();if(Number.isFinite(e)&&e>t)return e}let i=new Date(t).setUTCHours(24,0,0,0),a=n.nextRun(new Date(i));if(a){let e=a.getTime();if(Number.isFinite(e)&&e>t)return e}return}return i}}function k(e,t){if(e.kind!==`cron`)return;let n=E(e);if(!n)return;let r=n.previousRuns(1,new Date(t))[0];if(!r)return;let i=r.getTime();if(Number.isFinite(i)&&!(i>=t))return i}function A(e,t){e[t]=(e[t]??0)+1}function j(e){let t=typeof e.kind==`string`?e.kind.trim().toLowerCase():``;return t===`agentturn`?(e.kind=`agentTurn`,!0):t===`systemevent`?(e.kind=`systemEvent`,!0):!1}function M(e){let t=typeof e.message==`string`?e.message.trim():``,n=typeof e.text==`string`?e.text.trim():``,r=typeof e.command==`string`?e.command.trim():``;return t?(e.payload={kind:`agentTurn`,message:t},!0):n?(e.payload={kind:`systemEvent`,text:n},!0):r?(e.payload={kind:`systemEvent`,text:r},!0):!1}function N(e,t){let n=!1,r=r=>{let i=t[r];if(typeof i==`string`&&i.trim())return;let a=e[r];typeof a==`string`&&a.trim()&&(t[r]=a.trim(),n=!0)};return r(`model`),r(`thinking`),typeof t.timeoutSeconds!=`number`&&typeof e.timeoutSeconds==`number`&&Number.isFinite(e.timeoutSeconds)&&(t.timeoutSeconds=Math.max(0,Math.floor(e.timeoutSeconds)),n=!0),typeof t.allowUnsafeExternalContent!=`boolean`&&typeof e.allowUnsafeExternalContent==`boolean`&&(t.allowUnsafeExternalContent=e.allowUnsafeExternalContent,n=!0),typeof t.deliver!=`boolean`&&typeof e.deliver==`boolean`&&(t.deliver=e.deliver,n=!0),typeof t.channel!=`string`&&typeof e.channel==`string`&&e.channel.trim()&&(t.channel=e.channel.trim(),n=!0),typeof t.to!=`string`&&typeof e.to==`string`&&e.to.trim()&&(t.to=e.to.trim(),n=!0),typeof t.bestEffortDeliver!=`boolean`&&typeof e.bestEffortDeliver==`boolean`&&(t.bestEffortDeliver=e.bestEffortDeliver,n=!0),typeof t.provider!=`string`&&typeof e.provider==`string`&&e.provider.trim()&&(t.provider=e.provider.trim(),n=!0),n}function ee(e){`model`in e&&delete e.model,`thinking`in e&&delete e.thinking,`timeoutSeconds`in e&&delete e.timeoutSeconds,`allowUnsafeExternalContent`in e&&delete e.allowUnsafeExternalContent,`message`in e&&delete e.message,`text`in e&&delete e.text,`deliver`in e&&delete e.deliver,`channel`in e&&delete e.channel,`to`in e&&delete e.to,`bestEffortDeliver`in e&&delete e.bestEffortDeliver,`provider`in e&&delete e.provider,`command`in e&&delete e.command,`timeout`in e&&delete e.timeout}function P(e){let i={},o=!1;for(let u of e){let e=new Set,d=t=>{e.has(t)||(e.add(t),A(i,t))},f=u.state;(!f||typeof f!=`object`||Array.isArray(f))&&(u.state={},o=!0);let p=typeof u.id==`string`?u.id.trim():``,m=typeof u.jobId==`string`?u.jobId.trim():``;!p&&m?(u.id=m,o=!0,d(`jobId`)):p&&u.id!==p&&(u.id=p,o=!0),`jobId`in u&&(delete u.jobId,o=!0,d(`jobId`)),typeof u.schedule==`string`&&(u.schedule={kind:`cron`,expr:u.schedule.trim()},o=!0,d(`legacyScheduleString`));let h=u.name;typeof h!=`string`||h.trim().length===0?(u.name=n({schedule:u.schedule,payload:u.payload}),o=!0):u.name=h.trim();let g=a(u.description);if(u.description!==g&&(u.description=g,o=!0),`sessionKey`in u){let e=typeof u.sessionKey==`string`?a(u.sessionKey):void 0;u.sessionKey!==e&&(u.sessionKey=e,o=!0)}typeof u.enabled!=`boolean`&&(u.enabled=!0,o=!0);let _=typeof u.wakeMode==`string`?u.wakeMode.trim().toLowerCase():``;_===`next-heartbeat`?u.wakeMode!==`next-heartbeat`&&(u.wakeMode=`next-heartbeat`,o=!0):_===`now`?u.wakeMode!==`now`&&(u.wakeMode=`now`,o=!0):(u.wakeMode=`now`,o=!0);let v=u.payload;(!v||typeof v!=`object`||Array.isArray(v))&&M(u)&&(o=!0,d(`legacyTopLevelPayloadFields`));let y=u.payload&&typeof u.payload==`object`&&!Array.isArray(u.payload)?u.payload:null;y&&(j(y)&&(o=!0,d(`legacyPayloadKind`)),y.kind||(typeof y.message==`string`&&y.message.trim()?(y.kind=`agentTurn`,o=!0,d(`legacyPayloadKind`)):typeof y.text==`string`&&y.text.trim()&&(y.kind=`systemEvent`,o=!0,d(`legacyPayloadKind`))),y.kind===`agentTurn`&&N(u,y)&&(o=!0));let b=`model`in u||`thinking`in u||`timeoutSeconds`in u||`allowUnsafeExternalContent`in u||`message`in u||`text`in u||`command`in u||`timeout`in u,x=`deliver`in u||`channel`in u||`to`in u||`bestEffortDeliver`in u||`provider`in u;if((b||x)&&(ee(u),o=!0,b&&d(`legacyTopLevelPayloadFields`),x&&d(`legacyTopLevelDeliveryFields`)),y){let e=typeof y.provider==`string`&&y.provider.trim().length>0;r(y)&&(o=!0,e&&d(`legacyPayloadProvider`))}let S=u.schedule;if(S&&typeof S==`object`&&!Array.isArray(S)){let e=S,t=typeof e.kind==`string`?e.kind.trim().toLowerCase():``;!t&&(`at`in e||`atMs`in e)&&(e.kind=`at`,o=!0);let n=typeof e.at==`string`?e.at.trim():``,r=e.atMs,i=typeof r==`number`?r:typeof r==`string`?s(r):n?s(n):null;i!==null&&(e.at=new Date(i).toISOString(),`atMs`in e&&delete e.atMs,o=!0);let a=e.everyMs,f=D(a),p=f===void 0?null:Math.floor(f);if(p!==null&&a!==p&&(e.everyMs=p,o=!0),(t===`every`||e.kind===`every`)&&p!==null){let t=e.anchorMs,n=D(t),r=n===void 0?typeof u.createdAtMs==`number`&&Number.isFinite(u.createdAtMs)?Math.max(0,Math.floor(u.createdAtMs)):typeof u.updatedAtMs==`number`&&Number.isFinite(u.updatedAtMs)?Math.max(0,Math.floor(u.updatedAtMs)):null:Math.max(0,Math.floor(n));r!==null&&t!==r&&(e.anchorMs=r,o=!0)}let m=typeof e.expr==`string`?e.expr.trim():``,h=typeof e.cron==`string`?e.cron.trim():``,g=m;if(!g&&h&&(g=h,e.expr=g,o=!0,d(`legacyScheduleCron`)),typeof e.expr==`string`&&e.expr!==g&&(e.expr=g,o=!0),`cron`in e&&(delete e.cron,o=!0,d(`legacyScheduleCron`)),(t===`cron`||e.kind===`cron`)&&g){let t=l(e.staggerMs),n=c(g),r=t??n;r===void 0?`staggerMs`in e&&(delete e.staggerMs,o=!0):e.staggerMs!==r&&(e.staggerMs=r,o=!0)}}let C=u.delivery;if(C&&typeof C==`object`&&!Array.isArray(C)){let e=C.mode;typeof e==`string`?e.trim().toLowerCase()===`deliver`&&(C.mode=`announce`,o=!0,d(`legacyDeliveryMode`)):e??(C.mode=`announce`,o=!0)}let w=u.isolation;w&&typeof w==`object`&&!Array.isArray(w)&&(delete u.isolation,o=!0);let T=y&&typeof y.kind==`string`?y.kind:``,E=typeof u.sessionTarget==`string`?u.sessionTarget.trim().toLowerCase():``;if(E===`main`||E===`isolated`)u.sessionTarget!==E&&(u.sessionTarget=E,o=!0);else{let e=T===`agentTurn`?`isolated`:`main`;u.sessionTarget!==e&&(u.sessionTarget=e,o=!0)}let O=typeof u.sessionTarget==`string`?u.sessionTarget.trim().toLowerCase():``,k=O===`isolated`||O===``&&T===`agentTurn`,P=C&&typeof C==`object`&&!Array.isArray(C),F=t({delivery:P?C:null,payload:y});k&&T===`agentTurn`?!P&&F.delivery?(u.delivery=F.delivery,o=!0):P?F.mutated&&F.delivery&&(u.delivery=F.delivery,o=!0):(u.delivery={mode:`announce`},o=!0):F.mutated&&F.delivery&&(u.delivery=F.delivery,o=!0)}return{issues:i,jobs:e,mutated:o}}async function F(e){try{let t=await x.readFile(b.join(e,`package.json`),`utf-8`),n=JSON.parse(t);return typeof n?.version==`string`?n.version:null}catch{return null}}async function I(e){try{let t=await x.readFile(b.join(e,`package.json`),`utf-8`);return JSON.parse(t)?.name?.trim()||null}catch{return null}}function L(e,t){let n=e?.trim();if(!n)return null;for(let e of t){let t=`${e}@`;if(n.startsWith(t))return n.slice(t.length)}return n}const R=`openclaw`,z=[R],B=[`--no-fund`,`--no-audit`,`--loglevel=error`],te=[`--omit=optional`,...B];async function V(e){try{return await x.realpath(e)}catch{return b.resolve(e)}}function H(){let e=process.env.BUN_INSTALL?.trim()||b.join(y.homedir(),`.bun`);return b.join(e,`install`,`global`,`node_modules`)}async function U(e,t,n){if(e===`bun`)return H();let r=await t(e===`pnpm`?[`pnpm`,`root`,`-g`]:[`npm`,`root`,`-g`],{timeoutMs:n}).catch(()=>null);return!r||r.code!==0?null:r.stdout.trim()||null}async function ne(e,t,n){let r=await U(e,t,n);return r?b.join(r,R):null}async function W(e,t,n){let r=await V(t);for(let{manager:t,argv:i}of[{manager:`npm`,argv:[`npm`,`root`,`-g`]},{manager:`pnpm`,argv:[`pnpm`,`root`,`-g`]}]){let a=await e(i,{timeoutMs:n}).catch(()=>null);if(!a||a.code!==0)continue;let o=a.stdout.trim();if(!o)continue;let s=await V(o);for(let e of z){let n=await V(b.join(s,e));if(b.resolve(n)===b.resolve(r))return t}}let i=await V(H());for(let e of z){let t=await V(b.join(i,e));if(b.resolve(t)===b.resolve(r))return`bun`}return null}async function re(t,n){for(let r of[`npm`,`pnpm`]){let i=await U(r,t,n);if(i){for(let t of z)if(await e(b.join(i,t)))return r}}let r=H();for(let t of z)if(await e(b.join(r,t)))return`bun`;return null}function G(e,t){return e===`pnpm`?[`pnpm`,`add`,`-g`,t]:e===`bun`?[`bun`,`add`,`-g`,t]:[`npm`,`i`,`-g`,t,...B]}function ie(e,t){return e===`npm`?[`npm`,`i`,`-g`,t,...te]:null}async function K(e){let t=[],n=e.globalRoot.trim(),r=e.packageName.trim();if(!n||!r)return{removed:t};let i=`.${r}-`,a=[];try{a=await x.readdir(n)}catch{return{removed:t}}for(let e of a){if(!e.startsWith(i))continue;let r=b.join(n,e);try{if(!(await x.lstat(r)).isDirectory())continue;await x.rm(r,{recursive:!0,force:!0}),t.push(e)}catch{}}return{removed:t}}const q=8e3,ae=[`cwd`,`argv1`,`process`],J=`openclaw`,oe=new Set([J]);function Y(e){if(!e)return null;let t=e.trim();return t?b.resolve(t):null}function se(e){let t=b.resolve(e),n=t.split(b.sep),r=n.lastIndexOf(`.bin`);if(r<=0||n[r-1]!==`node_modules`)return null;let i=b.basename(t),a=n.slice(0,r).join(b.sep);return b.join(a,i)}function ce(e){let t=[],n=Y(e.cwd);n&&t.push(n);let r=Y(e.argv1);if(r){t.push(b.dirname(r));let e=se(r);e&&t.push(e)}let i=Y(process.cwd());return i&&t.push(i),Array.from(new Set(t))}async function le(e,t,n){let r=await e([`git`,`-C`,t,`rev-parse`,`--abbrev-ref`,`HEAD`],{timeoutMs:n}).catch(()=>null);return!r||r.code!==0?null:r.stdout.trim()||null}async function ue(e,t,n,r=`v*`){let i=await e([`git`,`-C`,t,`tag`,`--list`,r,`--sort=-v:refname`],{timeoutMs:n}).catch(()=>null);return!i||i.code!==0?[]:i.stdout.split(`
1
+ import{h as e}from"./utils-D1PlBTFH.js";import{$ as t,K as n,Q as r,V as i,Y as a}from"./reply-HrabJs88.js";import{t as o}from"./exec-BdtFni8N.js";import{i as s,r as c,t as l}from"./stagger-DmFYysrJ.js";import{c as u}from"./daemon-install-plan.shared-ChzeMJMO.js";import{i as d,r as f}from"./control-ui-assets-jM-MvEQE.js";import{f as p,l as m,p as h,r as g,s as _,u as v}from"./channel-account-context-kX_5d8CX.js";import y from"node:os";import b from"node:path";import x from"node:fs/promises";import{Cron as S}from"croner";const C=new Map;function w(e){return(typeof e==`string`?e.trim():``)||Intl.DateTimeFormat().resolvedOptions().timeZone}function T(e,t){let n=`${t}\u0000${e}`,r=C.get(n);if(r)return r;if(C.size>=512){let e=C.keys().next().value;e&&C.delete(e)}let i=new S(e,{timezone:t,catch:!1});return C.set(n,i),i}function E(e){let t=typeof e.expr==`string`?e.expr:e.cron;if(typeof t!=`string`)throw Error(`invalid cron schedule: expr is required`);let n=t.trim();if(n)return T(n,w(e.tz))}function D(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function O(e,t){if(e.kind===`at`){let n=e,r=typeof n.atMs==`number`&&Number.isFinite(n.atMs)&&n.atMs>0?n.atMs:typeof n.atMs==`string`?s(n.atMs):typeof n.at==`string`?s(n.at):null;return r===null?void 0:r>t?r:void 0}if(e.kind===`every`){let n=D(e.everyMs);if(n===void 0)return;let r=Math.max(1,Math.floor(n)),i=D(e.anchorMs),a=Math.max(0,Math.floor(i??t));if(t<a)return a;let o=t-a;return a+Math.max(1,Math.floor((o+r-1)/r))*r}let n=E(e);if(!n)return;let r=n.nextRun(new Date(t));if(!r)return;let i=r.getTime();if(Number.isFinite(i)){if(i<=t){let e=Math.floor(t/1e3)*1e3+1e3,r=n.nextRun(new Date(e));if(r){let e=r.getTime();if(Number.isFinite(e)&&e>t)return e}let i=new Date(t).setUTCHours(24,0,0,0),a=n.nextRun(new Date(i));if(a){let e=a.getTime();if(Number.isFinite(e)&&e>t)return e}return}return i}}function k(e,t){if(e.kind!==`cron`)return;let n=E(e);if(!n)return;let r=n.previousRuns(1,new Date(t))[0];if(!r)return;let i=r.getTime();if(Number.isFinite(i)&&!(i>=t))return i}function A(e,t){e[t]=(e[t]??0)+1}function j(e){let t=typeof e.kind==`string`?e.kind.trim().toLowerCase():``;return t===`agentturn`?(e.kind=`agentTurn`,!0):t===`systemevent`?(e.kind=`systemEvent`,!0):!1}function M(e){let t=typeof e.message==`string`?e.message.trim():``,n=typeof e.text==`string`?e.text.trim():``,r=typeof e.command==`string`?e.command.trim():``;return t?(e.payload={kind:`agentTurn`,message:t},!0):n?(e.payload={kind:`systemEvent`,text:n},!0):r?(e.payload={kind:`systemEvent`,text:r},!0):!1}function N(e,t){let n=!1,r=r=>{let i=t[r];if(typeof i==`string`&&i.trim())return;let a=e[r];typeof a==`string`&&a.trim()&&(t[r]=a.trim(),n=!0)};return r(`model`),r(`thinking`),typeof t.timeoutSeconds!=`number`&&typeof e.timeoutSeconds==`number`&&Number.isFinite(e.timeoutSeconds)&&(t.timeoutSeconds=Math.max(0,Math.floor(e.timeoutSeconds)),n=!0),typeof t.allowUnsafeExternalContent!=`boolean`&&typeof e.allowUnsafeExternalContent==`boolean`&&(t.allowUnsafeExternalContent=e.allowUnsafeExternalContent,n=!0),typeof t.deliver!=`boolean`&&typeof e.deliver==`boolean`&&(t.deliver=e.deliver,n=!0),typeof t.channel!=`string`&&typeof e.channel==`string`&&e.channel.trim()&&(t.channel=e.channel.trim(),n=!0),typeof t.to!=`string`&&typeof e.to==`string`&&e.to.trim()&&(t.to=e.to.trim(),n=!0),typeof t.bestEffortDeliver!=`boolean`&&typeof e.bestEffortDeliver==`boolean`&&(t.bestEffortDeliver=e.bestEffortDeliver,n=!0),typeof t.provider!=`string`&&typeof e.provider==`string`&&e.provider.trim()&&(t.provider=e.provider.trim(),n=!0),n}function ee(e){`model`in e&&delete e.model,`thinking`in e&&delete e.thinking,`timeoutSeconds`in e&&delete e.timeoutSeconds,`allowUnsafeExternalContent`in e&&delete e.allowUnsafeExternalContent,`message`in e&&delete e.message,`text`in e&&delete e.text,`deliver`in e&&delete e.deliver,`channel`in e&&delete e.channel,`to`in e&&delete e.to,`bestEffortDeliver`in e&&delete e.bestEffortDeliver,`provider`in e&&delete e.provider,`command`in e&&delete e.command,`timeout`in e&&delete e.timeout}function P(e){let i={},o=!1;for(let u of e){let e=new Set,d=t=>{e.has(t)||(e.add(t),A(i,t))},f=u.state;(!f||typeof f!=`object`||Array.isArray(f))&&(u.state={},o=!0);let p=typeof u.id==`string`?u.id.trim():``,m=typeof u.jobId==`string`?u.jobId.trim():``;!p&&m?(u.id=m,o=!0,d(`jobId`)):p&&u.id!==p&&(u.id=p,o=!0),`jobId`in u&&(delete u.jobId,o=!0,d(`jobId`)),typeof u.schedule==`string`&&(u.schedule={kind:`cron`,expr:u.schedule.trim()},o=!0,d(`legacyScheduleString`));let h=u.name;typeof h!=`string`||h.trim().length===0?(u.name=n({schedule:u.schedule,payload:u.payload}),o=!0):u.name=h.trim();let g=a(u.description);if(u.description!==g&&(u.description=g,o=!0),`sessionKey`in u){let e=typeof u.sessionKey==`string`?a(u.sessionKey):void 0;u.sessionKey!==e&&(u.sessionKey=e,o=!0)}typeof u.enabled!=`boolean`&&(u.enabled=!0,o=!0);let _=typeof u.wakeMode==`string`?u.wakeMode.trim().toLowerCase():``;_===`next-heartbeat`?u.wakeMode!==`next-heartbeat`&&(u.wakeMode=`next-heartbeat`,o=!0):_===`now`?u.wakeMode!==`now`&&(u.wakeMode=`now`,o=!0):(u.wakeMode=`now`,o=!0);let v=u.payload;(!v||typeof v!=`object`||Array.isArray(v))&&M(u)&&(o=!0,d(`legacyTopLevelPayloadFields`));let y=u.payload&&typeof u.payload==`object`&&!Array.isArray(u.payload)?u.payload:null;y&&(j(y)&&(o=!0,d(`legacyPayloadKind`)),y.kind||(typeof y.message==`string`&&y.message.trim()?(y.kind=`agentTurn`,o=!0,d(`legacyPayloadKind`)):typeof y.text==`string`&&y.text.trim()&&(y.kind=`systemEvent`,o=!0,d(`legacyPayloadKind`))),y.kind===`agentTurn`&&N(u,y)&&(o=!0));let b=`model`in u||`thinking`in u||`timeoutSeconds`in u||`allowUnsafeExternalContent`in u||`message`in u||`text`in u||`command`in u||`timeout`in u,x=`deliver`in u||`channel`in u||`to`in u||`bestEffortDeliver`in u||`provider`in u;if((b||x)&&(ee(u),o=!0,b&&d(`legacyTopLevelPayloadFields`),x&&d(`legacyTopLevelDeliveryFields`)),y){let e=typeof y.provider==`string`&&y.provider.trim().length>0;r(y)&&(o=!0,e&&d(`legacyPayloadProvider`))}let S=u.schedule;if(S&&typeof S==`object`&&!Array.isArray(S)){let e=S,t=typeof e.kind==`string`?e.kind.trim().toLowerCase():``;!t&&(`at`in e||`atMs`in e)&&(e.kind=`at`,o=!0);let n=typeof e.at==`string`?e.at.trim():``,r=e.atMs,i=typeof r==`number`?r:typeof r==`string`?s(r):n?s(n):null;i!==null&&(e.at=new Date(i).toISOString(),`atMs`in e&&delete e.atMs,o=!0);let a=e.everyMs,f=D(a),p=f===void 0?null:Math.floor(f);if(p!==null&&a!==p&&(e.everyMs=p,o=!0),(t===`every`||e.kind===`every`)&&p!==null){let t=e.anchorMs,n=D(t),r=n===void 0?typeof u.createdAtMs==`number`&&Number.isFinite(u.createdAtMs)?Math.max(0,Math.floor(u.createdAtMs)):typeof u.updatedAtMs==`number`&&Number.isFinite(u.updatedAtMs)?Math.max(0,Math.floor(u.updatedAtMs)):null:Math.max(0,Math.floor(n));r!==null&&t!==r&&(e.anchorMs=r,o=!0)}let m=typeof e.expr==`string`?e.expr.trim():``,h=typeof e.cron==`string`?e.cron.trim():``,g=m;if(!g&&h&&(g=h,e.expr=g,o=!0,d(`legacyScheduleCron`)),typeof e.expr==`string`&&e.expr!==g&&(e.expr=g,o=!0),`cron`in e&&(delete e.cron,o=!0,d(`legacyScheduleCron`)),(t===`cron`||e.kind===`cron`)&&g){let t=l(e.staggerMs),n=c(g),r=t??n;r===void 0?`staggerMs`in e&&(delete e.staggerMs,o=!0):e.staggerMs!==r&&(e.staggerMs=r,o=!0)}}let C=u.delivery;if(C&&typeof C==`object`&&!Array.isArray(C)){let e=C.mode;typeof e==`string`?e.trim().toLowerCase()===`deliver`&&(C.mode=`announce`,o=!0,d(`legacyDeliveryMode`)):e??(C.mode=`announce`,o=!0)}let w=u.isolation;w&&typeof w==`object`&&!Array.isArray(w)&&(delete u.isolation,o=!0);let T=y&&typeof y.kind==`string`?y.kind:``,E=typeof u.sessionTarget==`string`?u.sessionTarget.trim().toLowerCase():``;if(E===`main`||E===`isolated`)u.sessionTarget!==E&&(u.sessionTarget=E,o=!0);else{let e=T===`agentTurn`?`isolated`:`main`;u.sessionTarget!==e&&(u.sessionTarget=e,o=!0)}let O=typeof u.sessionTarget==`string`?u.sessionTarget.trim().toLowerCase():``,k=O===`isolated`||O===``&&T===`agentTurn`,P=C&&typeof C==`object`&&!Array.isArray(C),F=t({delivery:P?C:null,payload:y});k&&T===`agentTurn`?!P&&F.delivery?(u.delivery=F.delivery,o=!0):P?F.mutated&&F.delivery&&(u.delivery=F.delivery,o=!0):(u.delivery={mode:`announce`},o=!0):F.mutated&&F.delivery&&(u.delivery=F.delivery,o=!0)}return{issues:i,jobs:e,mutated:o}}async function F(e){try{let t=await x.readFile(b.join(e,`package.json`),`utf-8`),n=JSON.parse(t);return typeof n?.version==`string`?n.version:null}catch{return null}}async function I(e){try{let t=await x.readFile(b.join(e,`package.json`),`utf-8`);return JSON.parse(t)?.name?.trim()||null}catch{return null}}function L(e,t){let n=e?.trim();if(!n)return null;for(let e of t){let t=`${e}@`;if(n.startsWith(t))return n.slice(t.length)}return n}const R=`openclaw`,z=[R],B=[`--no-fund`,`--no-audit`,`--loglevel=error`],te=[`--omit=optional`,...B];async function V(e){try{return await x.realpath(e)}catch{return b.resolve(e)}}function H(){let e=process.env.BUN_INSTALL?.trim()||b.join(y.homedir(),`.bun`);return b.join(e,`install`,`global`,`node_modules`)}async function U(e,t,n){if(e===`bun`)return H();let r=await t(e===`pnpm`?[`pnpm`,`root`,`-g`]:[`npm`,`root`,`-g`],{timeoutMs:n}).catch(()=>null);return!r||r.code!==0?null:r.stdout.trim()||null}async function ne(e,t,n){let r=await U(e,t,n);return r?b.join(r,R):null}async function W(e,t,n){let r=await V(t);for(let{manager:t,argv:i}of[{manager:`npm`,argv:[`npm`,`root`,`-g`]},{manager:`pnpm`,argv:[`pnpm`,`root`,`-g`]}]){let a=await e(i,{timeoutMs:n}).catch(()=>null);if(!a||a.code!==0)continue;let o=a.stdout.trim();if(!o)continue;let s=await V(o);for(let e of z){let n=await V(b.join(s,e));if(b.resolve(n)===b.resolve(r))return t}}let i=await V(H());for(let e of z){let t=await V(b.join(i,e));if(b.resolve(t)===b.resolve(r))return`bun`}return null}async function re(t,n){for(let r of[`npm`,`pnpm`]){let i=await U(r,t,n);if(i){for(let t of z)if(await e(b.join(i,t)))return r}}let r=H();for(let t of z)if(await e(b.join(r,t)))return`bun`;return null}function G(e,t){return e===`pnpm`?[`pnpm`,`add`,`-g`,t]:e===`bun`?[`bun`,`add`,`-g`,t]:[`npm`,`i`,`-g`,t,...B]}function ie(e,t){return e===`npm`?[`npm`,`i`,`-g`,t,...te]:null}async function K(e){let t=[],n=e.globalRoot.trim(),r=e.packageName.trim();if(!n||!r)return{removed:t};let i=`.${r}-`,a=[];try{a=await x.readdir(n)}catch{return{removed:t}}for(let e of a){if(!e.startsWith(i))continue;let r=b.join(n,e);try{if(!(await x.lstat(r)).isDirectory())continue;await x.rm(r,{recursive:!0,force:!0}),t.push(e)}catch{}}return{removed:t}}const q=8e3,ae=[`cwd`,`argv1`,`process`],J=`openclaw`,oe=new Set([J]);function Y(e){if(!e)return null;let t=e.trim();return t?b.resolve(t):null}function se(e){let t=b.resolve(e),n=t.split(b.sep),r=n.lastIndexOf(`.bin`);if(r<=0||n[r-1]!==`node_modules`)return null;let i=b.basename(t),a=n.slice(0,r).join(b.sep);return b.join(a,i)}function ce(e){let t=[],n=Y(e.cwd);n&&t.push(n);let r=Y(e.argv1);if(r){t.push(b.dirname(r));let e=se(r);e&&t.push(e)}let i=Y(process.cwd());return i&&t.push(i),Array.from(new Set(t))}async function le(e,t,n){let r=await e([`git`,`-C`,t,`rev-parse`,`--abbrev-ref`,`HEAD`],{timeoutMs:n}).catch(()=>null);return!r||r.code!==0?null:r.stdout.trim()||null}async function ue(e,t,n,r=`v*`){let i=await e([`git`,`-C`,t,`tag`,`--list`,r,`--sort=-v:refname`],{timeoutMs:n}).catch(()=>null);return!i||i.code!==0?[]:i.stdout.split(`
2
2
  `).map(e=>e.trim()).filter(Boolean)}async function de(e,t,n,r){let i=await ue(e,t,n);if(r===`beta`){let e=i.find(e=>p(e))??null,t=i.find(e=>h(e))??null;if(!e)return t;if(!t)return e;let n=g(e,t);return n!=null&&n<0?t:e}return i.find(e=>h(e))??null}async function fe(e,t,n){for(let r of t){let t=await e([`git`,`-C`,r,`rev-parse`,`--show-toplevel`],{timeoutMs:n});if(t.code===0){let e=t.stdout.trim();if(e)return e}}return null}async function pe(e){for(let t of e){let e=t;for(let t=0;t<12;t+=1){let t=b.join(e,`package.json`);try{let n=await x.readFile(t,`utf-8`),r=JSON.parse(n)?.name?.trim();if(r&&oe.has(r))return e}catch{}let n=b.dirname(e);if(n===e)break;e=n}}return null}async function X(e){return await _(e)??`npm`}async function Z(e){let{runCommand:t,name:n,argv:r,cwd:a,timeoutMs:o,env:s,progress:c,stepIndex:l,totalSteps:u}=e,d=r.join(` `),f={name:n,command:d,index:l,total:u};c?.onStepStart?.(f);let p=Date.now(),m=await t(r,{cwd:a,timeoutMs:o,env:s}),h=Date.now()-p,g=i(m.stderr,q);return c?.onStepComplete?.({...f,durationMs:h,exitCode:m.code,stderrTail:g}),{name:n,command:d,cwd:a,durationMs:h,exitCode:m.code,stdoutTail:i(m.stdout,q),stderrTail:i(m.stderr,q)}}function Q(e,t,n=[]){return e===`pnpm`?[`pnpm`,t,...n]:e===`bun`?[`bun`,`run`,t,...n]:n.length>0?[`npm`,`run`,t,`--`,...n]:[`npm`,`run`,t]}function $(e){return e===`pnpm`?[`pnpm`,`install`]:e===`bun`?[`bun`,`install`]:[`npm`,`install`]}function me(e){return L(e,[`openclaw`,J])??`latest`}async function he(e={}){let t=Date.now(),n=e.runCommand??(async(e,t)=>{let n=await o(e,t);return{stdout:n.stdout,stderr:n.stderr,code:n.code}}),r=e.timeoutMs??12e5,a=e.progress,s=[],c=ce(e),l=0,p=0,h=(e,t,i,o)=>{let s=l;return l+=1,{runCommand:n,name:e,argv:t,cwd:i,timeoutMs:r,env:o,progress:a,stepIndex:s,totalSteps:p}},g=await pe(c),_=await fe(n,c,r);if(_&&g&&b.resolve(_)!==b.resolve(g)&&(_=null),_&&!g)return{status:`error`,mode:`unknown`,root:_,reason:`not-openclaw-root`,steps:[],durationMs:Date.now()-t};if(_&&g&&b.resolve(_)===b.resolve(g)){let a=(await n([`git`,`-C`,_,`rev-parse`,`HEAD`],{cwd:_,timeoutMs:r})).stdout.trim()||null,o=await F(_),c=e.channel??`dev`,l=c===`dev`?await le(n,_,r):null,g=c===`dev`&&l!==`main`;p=c===`dev`?g?11:10:9;let v=e=>({status:`error`,mode:`git`,root:_,reason:e,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t}),S=async(e,t)=>{let n=await Z(h(e,t,_));return s.push(n),n.exitCode===0?null:v(`checkout-failed`)},C=await Z(h(`clean check`,[`git`,`-C`,_,`status`,`--porcelain`,`--`,`:!dist/control-ui/`],_));if(s.push(C),C.stdoutTail&&C.stdoutTail.trim().length>0)return{status:`skipped`,mode:`git`,root:_,reason:`dirty`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};if(c===`dev`){if(g){let e=await S(`git checkout ${m}`,[`git`,`-C`,_,`checkout`,m]);if(e)return e}let e=await Z(h(`upstream check`,[`git`,`-C`,_,`rev-parse`,`--abbrev-ref`,`--symbolic-full-name`,`@{upstream}`],_));if(s.push(e),e.exitCode!==0)return{status:`skipped`,mode:`git`,root:_,reason:`no-upstream`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let c=await Z(h(`git fetch`,[`git`,`-C`,_,`fetch`,`--all`,`--prune`,`--tags`],_));s.push(c);let l=await Z(h(`git rev-parse @{upstream}`,[`git`,`-C`,_,`rev-parse`,`@{upstream}`],_));s.push(l);let u=l.stdoutTail?.trim();if(!l.stdoutTail||!u)return{status:`error`,mode:`git`,root:_,reason:`no-upstream-sha`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let d=await Z(h(`git rev-list`,[`git`,`-C`,_,`rev-list`,`--max-count=10`,u],_));if(s.push(d),d.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`preflight-revlist-failed`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let f=(d.stdoutTail??``).split(`
3
3
  `).map(e=>e.trim()).filter(Boolean);if(f.length===0)return{status:`error`,mode:`git`,root:_,reason:`preflight-no-candidates`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let p=await X(_),v=await x.mkdtemp(b.join(y.tmpdir(),`openclaw-update-preflight-`)),C=b.join(v,`worktree`),w=await Z(h(`preflight worktree`,[`git`,`-C`,_,`worktree`,`add`,`--detach`,C,u],_));if(s.push(w),w.exitCode!==0)return await x.rm(v,{recursive:!0,force:!0}).catch(()=>{}),{status:`error`,mode:`git`,root:_,reason:`preflight-worktree-failed`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let T=null;try{for(let e of f){let t=e.slice(0,8),n=await Z(h(`preflight checkout (${t})`,[`git`,`-C`,C,`checkout`,`--detach`,e],C));if(s.push(n),n.exitCode!==0)continue;let r=await Z(h(`preflight deps install (${t})`,$(p),C));if(s.push(r),r.exitCode!==0)continue;let i=await Z(h(`preflight build (${t})`,Q(p,`build`),C));if(s.push(i),i.exitCode!==0)continue;let a=await Z(h(`preflight lint (${t})`,Q(p,`lint`),C));if(s.push(a),a.exitCode===0){T=e;break}}}finally{let e=await Z(h(`preflight cleanup`,[`git`,`-C`,_,`worktree`,`remove`,`--force`,C],_));s.push(e),await n([`git`,`-C`,_,`worktree`,`prune`],{cwd:_,timeoutMs:r}).catch(()=>null),await x.rm(v,{recursive:!0,force:!0}).catch(()=>{})}if(!T)return{status:`error`,mode:`git`,root:_,reason:`preflight-no-good-commit`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let E=await Z(h(`git rebase`,[`git`,`-C`,_,`rebase`,T],_));if(s.push(E),E.exitCode!==0){let e=await n([`git`,`-C`,_,`rebase`,`--abort`],{cwd:_,timeoutMs:r});return s.push({name:`git rebase --abort`,command:`git rebase --abort`,cwd:_,durationMs:0,exitCode:e.code,stdoutTail:i(e.stdout,q),stderrTail:i(e.stderr,q)}),{status:`error`,mode:`git`,root:_,reason:`rebase-failed`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t}}}else{let e=await Z(h(`git fetch`,[`git`,`-C`,_,`fetch`,`--all`,`--prune`,`--tags`],_));if(s.push(e),e.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`fetch-failed`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let i=await de(n,_,r,c);if(!i)return{status:`error`,mode:`git`,root:_,reason:`no-release-tag`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let l=await S(`git checkout ${i}`,[`git`,`-C`,_,`checkout`,`--detach`,i]);if(l)return l}let w=await X(_),T=await Z(h(`deps install`,$(w),_));if(s.push(T),T.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`deps-install-failed`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let E=await Z(h(`build`,Q(w,`build`),_));if(s.push(E),E.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`build-failed`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let D=await Z(h(`ui:build`,Q(w,`ui:build`),_));if(s.push(D),D.exitCode!==0)return{status:`error`,mode:`git`,root:_,reason:`ui-build-failed`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let O=b.join(_,`openclaw.mjs`);if(!await x.stat(O).then(()=>!0).catch(()=>!1))return s.push({name:`openclaw doctor entry`,command:`verify ${O}`,cwd:_,durationMs:0,exitCode:1,stderrTail:`missing ${O}`}),{status:`error`,mode:`git`,root:_,reason:`doctor-entry-missing`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let k=await Z(h(`openclaw doctor`,[await u(process.execPath),O,`doctor`,`--non-interactive`,`--fix`],_,{OPENCLAW_UPDATE_IN_PROGRESS:`1`}));if(s.push(k),!(await f({root:_})).exists){let e=Q(w,`ui:build`),c=Date.now(),l=await n(e,{cwd:_,timeoutMs:r}),u={name:`ui:build (post-doctor repair)`,command:e.join(` `),cwd:_,durationMs:Date.now()-c,exitCode:l.code,stdoutTail:i(l.stdout,q),stderrTail:i(l.stderr,q)};if(s.push(u),l.code!==0)return{status:`error`,mode:`git`,root:_,reason:u.name,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t};let p=await f({root:_});if(!p.exists){let e=p.indexPath??d(_);return s.push({name:`ui assets verify`,command:`verify ${e}`,cwd:_,durationMs:0,exitCode:1,stderrTail:`missing ${e}`}),{status:`error`,mode:`git`,root:_,reason:`ui-assets-missing`,before:{sha:a,version:o},steps:s,durationMs:Date.now()-t}}}let A=s.find(e=>e.exitCode!==0),j=await Z(h(`git rev-parse HEAD (after)`,[`git`,`-C`,_,`rev-parse`,`HEAD`],_));s.push(j);let M=await F(_);return{status:A?`error`:`ok`,mode:`git`,root:_,reason:A?A.name:void 0,before:{sha:a,version:o},after:{sha:j.stdoutTail?.trim()??null,version:M},steps:s,durationMs:Date.now()-t}}if(!g)return{status:`error`,mode:`unknown`,reason:`no root (${ae.join(`,`)})`,steps:[],durationMs:Date.now()-t};let S=await F(g),C=await W(n,g,r);if(C){let i=await I(g)??J;await K({globalRoot:b.dirname(g),packageName:i});let o=e.channel??`stable`,s=`${i}@${me(e.tag??v(o))}`,c=[],l=await Z({runCommand:n,name:`global update`,argv:G(C,s),cwd:g,timeoutMs:r,progress:a,stepIndex:0,totalSteps:1});c.push(l);let u=l;if(l.exitCode!==0){let e=ie(C,s);if(e){let t=await Z({runCommand:n,name:`global update (omit optional)`,argv:e,cwd:g,timeoutMs:r,progress:a,stepIndex:0,totalSteps:1});c.push(t),u=t}}let d=await F(g);return{status:u.exitCode===0?`ok`:`error`,mode:C,root:g,reason:u.exitCode===0?void 0:u.name,before:{version:S},after:{version:d},steps:c,durationMs:Date.now()-t}}return{status:`skipped`,mode:`unknown`,root:g,reason:`not-git-install`,before:{version:S},steps:[],durationMs:Date.now()-t}}export{G as a,I as c,D as d,O as f,W as i,F as l,K as n,ne as o,k as p,re as r,L as s,he as t,P as u};
@@ -1,4 +1,4 @@
1
- import{Ct as e,Et as t,kt as n,s as r,wt as i}from"./paths-CAzfAyaR.js";import"./paths-BpQOWYiT.js";import{B as a,C as o,K as s,M as c,O as l,R as u,T as d,h as f,m as p,o as m,p as h,v as g}from"./logger-D0y9iaZX.js";import{Cr as _,Hr as v,Mi as y,Tr as b,Vr as x,Za as S,_r as C,br as w,gr as T,kr as E,on as D,qr as O,qs as k,rn as ee,tn as A,vr as j,yr as M}from"./model-selection-fVxVucLI.js";import{A as te,C as N,D as P,E as ne,F as re,I as F,L as I,M as ie,N as L,O as R,P as ae,S as oe,T as z,X as se,Y as ce,_ as B,a as le,b as ue,c as V,d as H,f as U,g as de,h as W,j as G,k as K,l as fe,m as pe,o as me,p as he,q as ge,s as _e,u as ve,v as ye,w as be,x as xe}from"./pi-embedded-fKs8vr_l.js";import"./github-copilot-token-wm6mbypz.js";import"./proxy-env-CRDRLawi.js";import"./send--kmUv50W.js";import{At as Se,jt as Ce,kt as we}from"./send-BJfr4Enl.js";import"./tokens-CqsthGyS.js";import"./deliver-CvBTa9OP.js";import"./diagnostic-DUhynW8p.js";import{$ as Te,et as Ee,it as De}from"./send-gpAn9pnk.js";import"./pi-model-discovery-Dz_Fa0ay.js";import"./image-C5Ue2O-K.js";import{_ as Oe}from"./audio-transcription-runner-DGxzZ2_V.js";import{i as ke}from"./fetch-KSn9iMNK.js";import"./fetch-guard-BxGdHuPZ.js";import"./api-key-rotation-sozWdoIY.js";import"./proxy-fetch-BqU71w0r.js";import{a as Ae,d as je,h as Me,m as Ne,s as Pe}from"./ir-B11ecKHp.js";import"./render-BXEUPIHe.js";import"./target-errors-DhqzKpof.js";import"./commands-registry-nuBs6Gvq.js";import"./fetch-DHo17YmK.js";import"./skill-commands-Bu6vcx7c.js";import{n as Fe}from"./channel-activity-DptjsvT5.js";import{t as Ie}from"./tables-CYq1BOKz.js";import"./send-PNypeYEX.js";import"./outbound-attachment-GzRAYH3M.js";import"./send-DcnUL5AM2.js";import"./fetch-Dk2vEN5b.js";import{r as Le}from"./active-listener-e_iZkGk8.js";import"./query-expansion--XG0a9wS.js";import"./manager-C3HmyJWw.js";import{i as Re,r as ze,t as Be}from"./outbound-BaaJG00d.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-C__1-7Gq.js";import{t as We}from"./login-DC7g4xna.js";import{randomUUID as Ge}from"node:crypto";import{DisconnectReason as Ke,downloadMediaMessage as qe,extractMessageContent as Je,getContentType as Ye,isJidGroup as Xe,normalizeMessageContent as Ze}from"@whiskeysockets/baileys";const Qe={initialMs:2e3,maxMs:3e4,factor:1.8,jitter:.25,maxAttempts:12};function $e(e,t){let n=t??e.web?.heartbeatSeconds;return typeof n==`number`&&n>0?n:60}function et(e,t){let n=e.web?.reconnect??{},r=t??{},i={...Qe,...n,...r};return i.initialMs=Math.max(250,i.initialMs),i.maxMs=Math.max(i.initialMs,i.maxMs),i.factor=m(i.factor,1.1,10),i.jitter=m(i.jitter,0,1),i.maxAttempts=Math.max(0,Math.floor(i.maxAttempts)),i}function J(){return Ge()}const Y=l(`gateway/channels/whatsapp`),X=Y.child(`inbound`),Z=Y.child(`outbound`),tt=Y.child(`heartbeat`);function nt(){return setInterval(()=>{},1e6).unref(),new Promise(()=>{})}const rt=ge({ttlMs:20*6e4,maxSize:5e3});function it(e){return rt.check(e)}const at=new Set([`FN`,`N`,`TEL`]);function ot(e){if(!e)return{phones:[]};let t=e.split(/\r?\n/),n,r,i=[];for(let e of t){let t=e.trim();if(!t)continue;let a=t.indexOf(`:`);if(a===-1)continue;let o=t.slice(0,a).toUpperCase(),s=t.slice(a+1).trim();if(!s)continue;let c=st(o);if(!c||!at.has(c))continue;let l=ct(s);if(l){if(c===`FN`&&!r){r=lt(l);continue}if(c===`N`&&!n){n=lt(l);continue}if(c===`TEL`){let e=ut(l);e&&i.push(e)}}}return{name:r??n,phones:i}}function st(e){let[t]=e.split(`;`);if(!t)return;let n=t.split(`.`);return n[n.length-1]||void 0}function ct(e){return e.replace(/\\n/gi,` `).replace(/\\,/g,`,`).replace(/\\;/g,`;`).trim()}function lt(e){return e.replace(/;/g,` `).replace(/\s+/g,` `).trim()}function ut(e){let t=e.trim();return t?t.toLowerCase().startsWith(`tel:`)?t.slice(4).trim():t:``}function Q(e){return Ze(e)}function dt(e){if(!e)return;let t=Ye(e),n=t?e[t]:void 0,r=n&&typeof n==`object`&&`contextInfo`in n?n.contextInfo:void 0;if(r)return r;let i=e.extendedTextMessage?.contextInfo??e.imageMessage?.contextInfo??e.videoMessage?.contextInfo??e.documentMessage?.contextInfo??e.audioMessage?.contextInfo??e.stickerMessage?.contextInfo??e.buttonsResponseMessage?.contextInfo??e.listResponseMessage?.contextInfo??e.templateButtonReplyMessage?.contextInfo??e.interactiveResponseMessage?.contextInfo??e.buttonsMessage?.contextInfo??e.listMessage?.contextInfo;if(i)return i;for(let t of Object.values(e)){if(!t||typeof t!=`object`||!(`contextInfo`in t))continue;let e=t.contextInfo;if(e)return e}}function ft(e){let t=Q(e);if(!t)return;let n=[t.extendedTextMessage?.contextInfo?.mentionedJid,t.extendedTextMessage?.contextInfo?.quotedMessage?.extendedTextMessage?.contextInfo?.mentionedJid,t.imageMessage?.contextInfo?.mentionedJid,t.videoMessage?.contextInfo?.mentionedJid,t.documentMessage?.contextInfo?.mentionedJid,t.audioMessage?.contextInfo?.mentionedJid,t.stickerMessage?.contextInfo?.mentionedJid,t.buttonsResponseMessage?.contextInfo?.mentionedJid,t.listResponseMessage?.contextInfo?.mentionedJid].flatMap(e=>e??[]).filter(Boolean);if(n.length!==0)return Array.from(new Set(n))}function pt(e){let t=Q(e);if(!t)return;let n=Je(t),r=[t,n&&n!==t?n:void 0];for(let e of r){if(!e)continue;if(typeof e.conversation==`string`&&e.conversation.trim())return e.conversation.trim();let t=e.extendedTextMessage?.text;if(t?.trim())return t.trim();let n=e.imageMessage?.caption??e.videoMessage?.caption??e.documentMessage?.caption;if(n?.trim())return n.trim()}let i=ht(t)??(n&&n!==t?ht(n):void 0);if(i)return i}function mt(e){let t=Q(e);if(t){if(t.imageMessage)return`<media:image>`;if(t.videoMessage)return`<media:video>`;if(t.audioMessage)return`<media:audio>`;if(t.documentMessage)return`<media:document>`;if(t.stickerMessage)return`<media:sticker>`}}function ht(e){let t=Q(e);if(!t)return;let n=t.contactMessage??void 0;if(n){let{name:e,phones:t}=gt({displayName:n.displayName,vcard:n.vcard});return _t(e,t)}let r=t.contactsArrayMessage?.contacts??void 0;if(!(!r||r.length===0))return vt(r.map(e=>gt({displayName:e.displayName,vcard:e.vcard})).map(e=>yt(e.name,e.phones)).filter(e=>!!e),r.length)}function gt(e){let t=(e.displayName??``).trim(),n=ot(e.vcard??void 0);return{name:t||n.name,phones:n.phones}}function _t(e,t){let n=yt(e,t);return n?`<contact: ${n}>`:`<contact>`}function vt(e,t){let n=e.map(e=>e.trim()).filter(Boolean);if(n.length===0)return`<contacts: ${t} ${t===1?`contact`:`contacts`}>`;let r=Math.max(t-n.length,0),i=r>0?` +${r} more`:``;return`<contacts: ${n.join(`, `)}${i}>`}function yt(e,t){let n=[e,bt(t)].filter(e=>!!e);if(n.length!==0)return n.join(`, `)}function bt(e){let t=e?.map(e=>e.trim()).filter(Boolean)??[];if(t.length===0)return;let{shown:n,remaining:r}=xt(t,t.length,1),[i]=n;if(i)return r===0?i:`${i} (+${r} more)`}function xt(e,t,n){let r=e.slice(0,n);return{shown:r,remaining:Math.max(t-r.length,0)}}function St(e){let t=Q(e);if(!t)return null;let n=t.liveLocationMessage??void 0;if(n){let e=n.degreesLatitude,t=n.degreesLongitude;if(e!=null&&t!=null){let r=Number(e),i=Number(t);if(Number.isFinite(r)&&Number.isFinite(i))return{latitude:r,longitude:i,accuracy:n.accuracyInMeters??void 0,caption:n.caption??void 0,source:`live`,isLive:!0}}}let r=t.locationMessage??void 0;if(r){let e=r.degreesLatitude,t=r.degreesLongitude;if(e!=null&&t!=null){let n=Number(e),i=Number(t);if(Number.isFinite(n)&&Number.isFinite(i)){let e=!!r.isLive;return{latitude:n,longitude:i,accuracy:r.accuracyInMeters??void 0,name:r.name??void 0,address:r.address??void 0,caption:r.comment??void 0,source:e?`live`:r.name||r.address?`place`:`pin`,isLive:e}}}}return null}function Ct(e){let t=Q(e);if(!t)return null;let n=dt(t),r=Ze(n?.quotedMessage);if(!r)return null;let i=St(r),a=i?Te(i):void 0,o=[pt(r),a].filter(Boolean).join(`
1
+ import{Ct as e,Et as t,kt as n,s as r,wt as i}from"./paths-CAzfAyaR.js";import"./paths-BpQOWYiT.js";import{B as a,C as o,K as s,M as c,O as l,R as u,T as d,h as f,m as p,o as m,p as h,v as g}from"./logger-D0y9iaZX.js";import{Cr as _,Hr as v,Mi as y,Tr as b,Vr as x,Za as S,_r as C,br as w,gr as T,kr as E,on as D,qr as O,qs as k,rn as ee,tn as A,vr as j,yr as M}from"./model-selection-fVxVucLI.js";import{A as te,C as N,D as P,E as ne,F as re,I as F,L as I,M as ie,N as L,O as R,P as ae,S as oe,T as z,X as se,Y as ce,_ as B,a as le,b as ue,c as V,d as H,f as U,g as de,h as W,j as G,k as K,l as fe,m as pe,o as me,p as he,q as ge,s as _e,u as ve,v as ye,w as be,x as xe}from"./pi-embedded-Bv3QACci.js";import"./github-copilot-token-wm6mbypz.js";import"./proxy-env-CRDRLawi.js";import"./send--kmUv50W.js";import{At as Se,jt as Ce,kt as we}from"./send-BJfr4Enl.js";import"./tokens-CqsthGyS.js";import"./deliver-CvBTa9OP.js";import"./diagnostic-DUhynW8p.js";import{$ as Te,et as Ee,it as De}from"./send-gpAn9pnk.js";import"./pi-model-discovery-Dz_Fa0ay.js";import"./image-C5Ue2O-K.js";import{_ as Oe}from"./audio-transcription-runner-DGxzZ2_V.js";import{i as ke}from"./fetch-KSn9iMNK.js";import"./fetch-guard-BxGdHuPZ.js";import"./api-key-rotation-sozWdoIY.js";import"./proxy-fetch-BqU71w0r.js";import{a as Ae,d as je,h as Me,m as Ne,s as Pe}from"./ir-B11ecKHp.js";import"./render-BXEUPIHe.js";import"./target-errors-DhqzKpof.js";import"./commands-registry-nuBs6Gvq.js";import"./fetch-DHo17YmK.js";import"./skill-commands-Bu6vcx7c.js";import{n as Fe}from"./channel-activity-DptjsvT5.js";import{t as Ie}from"./tables-CYq1BOKz.js";import"./send-PNypeYEX.js";import"./outbound-attachment-GzRAYH3M.js";import"./send-DcnUL5AM2.js";import"./fetch-Dk2vEN5b.js";import{r as Le}from"./active-listener-e_iZkGk8.js";import"./query-expansion--XG0a9wS.js";import"./manager-C3HmyJWw.js";import{i as Re,r as ze,t as Be}from"./outbound-BaaJG00d.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-C__1-7Gq.js";import{t as We}from"./login-DC7g4xna.js";import{randomUUID as Ge}from"node:crypto";import{DisconnectReason as Ke,downloadMediaMessage as qe,extractMessageContent as Je,getContentType as Ye,isJidGroup as Xe,normalizeMessageContent as Ze}from"@whiskeysockets/baileys";const Qe={initialMs:2e3,maxMs:3e4,factor:1.8,jitter:.25,maxAttempts:12};function $e(e,t){let n=t??e.web?.heartbeatSeconds;return typeof n==`number`&&n>0?n:60}function et(e,t){let n=e.web?.reconnect??{},r=t??{},i={...Qe,...n,...r};return i.initialMs=Math.max(250,i.initialMs),i.maxMs=Math.max(i.initialMs,i.maxMs),i.factor=m(i.factor,1.1,10),i.jitter=m(i.jitter,0,1),i.maxAttempts=Math.max(0,Math.floor(i.maxAttempts)),i}function J(){return Ge()}const Y=l(`gateway/channels/whatsapp`),X=Y.child(`inbound`),Z=Y.child(`outbound`),tt=Y.child(`heartbeat`);function nt(){return setInterval(()=>{},1e6).unref(),new Promise(()=>{})}const rt=ge({ttlMs:20*6e4,maxSize:5e3});function it(e){return rt.check(e)}const at=new Set([`FN`,`N`,`TEL`]);function ot(e){if(!e)return{phones:[]};let t=e.split(/\r?\n/),n,r,i=[];for(let e of t){let t=e.trim();if(!t)continue;let a=t.indexOf(`:`);if(a===-1)continue;let o=t.slice(0,a).toUpperCase(),s=t.slice(a+1).trim();if(!s)continue;let c=st(o);if(!c||!at.has(c))continue;let l=ct(s);if(l){if(c===`FN`&&!r){r=lt(l);continue}if(c===`N`&&!n){n=lt(l);continue}if(c===`TEL`){let e=ut(l);e&&i.push(e)}}}return{name:r??n,phones:i}}function st(e){let[t]=e.split(`;`);if(!t)return;let n=t.split(`.`);return n[n.length-1]||void 0}function ct(e){return e.replace(/\\n/gi,` `).replace(/\\,/g,`,`).replace(/\\;/g,`;`).trim()}function lt(e){return e.replace(/;/g,` `).replace(/\s+/g,` `).trim()}function ut(e){let t=e.trim();return t?t.toLowerCase().startsWith(`tel:`)?t.slice(4).trim():t:``}function Q(e){return Ze(e)}function dt(e){if(!e)return;let t=Ye(e),n=t?e[t]:void 0,r=n&&typeof n==`object`&&`contextInfo`in n?n.contextInfo:void 0;if(r)return r;let i=e.extendedTextMessage?.contextInfo??e.imageMessage?.contextInfo??e.videoMessage?.contextInfo??e.documentMessage?.contextInfo??e.audioMessage?.contextInfo??e.stickerMessage?.contextInfo??e.buttonsResponseMessage?.contextInfo??e.listResponseMessage?.contextInfo??e.templateButtonReplyMessage?.contextInfo??e.interactiveResponseMessage?.contextInfo??e.buttonsMessage?.contextInfo??e.listMessage?.contextInfo;if(i)return i;for(let t of Object.values(e)){if(!t||typeof t!=`object`||!(`contextInfo`in t))continue;let e=t.contextInfo;if(e)return e}}function ft(e){let t=Q(e);if(!t)return;let n=[t.extendedTextMessage?.contextInfo?.mentionedJid,t.extendedTextMessage?.contextInfo?.quotedMessage?.extendedTextMessage?.contextInfo?.mentionedJid,t.imageMessage?.contextInfo?.mentionedJid,t.videoMessage?.contextInfo?.mentionedJid,t.documentMessage?.contextInfo?.mentionedJid,t.audioMessage?.contextInfo?.mentionedJid,t.stickerMessage?.contextInfo?.mentionedJid,t.buttonsResponseMessage?.contextInfo?.mentionedJid,t.listResponseMessage?.contextInfo?.mentionedJid].flatMap(e=>e??[]).filter(Boolean);if(n.length!==0)return Array.from(new Set(n))}function pt(e){let t=Q(e);if(!t)return;let n=Je(t),r=[t,n&&n!==t?n:void 0];for(let e of r){if(!e)continue;if(typeof e.conversation==`string`&&e.conversation.trim())return e.conversation.trim();let t=e.extendedTextMessage?.text;if(t?.trim())return t.trim();let n=e.imageMessage?.caption??e.videoMessage?.caption??e.documentMessage?.caption;if(n?.trim())return n.trim()}let i=ht(t)??(n&&n!==t?ht(n):void 0);if(i)return i}function mt(e){let t=Q(e);if(t){if(t.imageMessage)return`<media:image>`;if(t.videoMessage)return`<media:video>`;if(t.audioMessage)return`<media:audio>`;if(t.documentMessage)return`<media:document>`;if(t.stickerMessage)return`<media:sticker>`}}function ht(e){let t=Q(e);if(!t)return;let n=t.contactMessage??void 0;if(n){let{name:e,phones:t}=gt({displayName:n.displayName,vcard:n.vcard});return _t(e,t)}let r=t.contactsArrayMessage?.contacts??void 0;if(!(!r||r.length===0))return vt(r.map(e=>gt({displayName:e.displayName,vcard:e.vcard})).map(e=>yt(e.name,e.phones)).filter(e=>!!e),r.length)}function gt(e){let t=(e.displayName??``).trim(),n=ot(e.vcard??void 0);return{name:t||n.name,phones:n.phones}}function _t(e,t){let n=yt(e,t);return n?`<contact: ${n}>`:`<contact>`}function vt(e,t){let n=e.map(e=>e.trim()).filter(Boolean);if(n.length===0)return`<contacts: ${t} ${t===1?`contact`:`contacts`}>`;let r=Math.max(t-n.length,0),i=r>0?` +${r} more`:``;return`<contacts: ${n.join(`, `)}${i}>`}function yt(e,t){let n=[e,bt(t)].filter(e=>!!e);if(n.length!==0)return n.join(`, `)}function bt(e){let t=e?.map(e=>e.trim()).filter(Boolean)??[];if(t.length===0)return;let{shown:n,remaining:r}=xt(t,t.length,1),[i]=n;if(i)return r===0?i:`${i} (+${r} more)`}function xt(e,t,n){let r=e.slice(0,n);return{shown:r,remaining:Math.max(t-r.length,0)}}function St(e){let t=Q(e);if(!t)return null;let n=t.liveLocationMessage??void 0;if(n){let e=n.degreesLatitude,t=n.degreesLongitude;if(e!=null&&t!=null){let r=Number(e),i=Number(t);if(Number.isFinite(r)&&Number.isFinite(i))return{latitude:r,longitude:i,accuracy:n.accuracyInMeters??void 0,caption:n.caption??void 0,source:`live`,isLive:!0}}}let r=t.locationMessage??void 0;if(r){let e=r.degreesLatitude,t=r.degreesLongitude;if(e!=null&&t!=null){let n=Number(e),i=Number(t);if(Number.isFinite(n)&&Number.isFinite(i)){let e=!!r.isLive;return{latitude:n,longitude:i,accuracy:r.accuracyInMeters??void 0,name:r.name??void 0,address:r.address??void 0,caption:r.comment??void 0,source:e?`live`:r.name||r.address?`place`:`pin`,isLive:e}}}}return null}function Ct(e){let t=Q(e);if(!t)return null;let n=dt(t),r=Ze(n?.quotedMessage);if(!r)return null;let i=St(r),a=i?Te(i):void 0,o=[pt(r),a].filter(Boolean).join(`
2
2
  `).trim();if(o||=mt(r),!o){let e=r?Ye(r):void 0;return u(`Quoted message missing extractable body${e?` (type ${e})`:``}`),null}let s=n?.participant??void 0,c=s?p(s)??s:void 0,l=c??`unknown sender`;return{id:n?.stanzaId?String(n.stanzaId):void 0,body:o,sender:l,senderJid:s,senderE164:c}}function wt(e){return Se({providerConfigPresent:e.providerConfigPresent,groupPolicy:e.groupPolicy,defaultGroupPolicy:e.defaultGroupPolicy})}async function Tt(e){let t=S(),n=T({cfg:t,accountId:e.accountId}),r=n.dmPolicy??`pairing`,i=n.allowFrom??[],a=await U({provider:`whatsapp`,accountId:n.accountId,dmPolicy:r}),o=i.length===0&&e.selfE164?[e.selfE164]:[],s=i.length>0?i:o,c=n.groupAllowFrom??(i.length>0?i:void 0),l=e.from===e.selfE164,d=n.selfChatMode??h(e.selfE164,i),p=typeof e.pairingGraceMs==`number`&&e.pairingGraceMs>0?e.pairingGraceMs:3e4,m=typeof e.connectedAtMs==`number`&&typeof e.messageTimestampMs==`number`&&e.messageTimestampMs<e.connectedAtMs-p,g=we(t),{groupPolicy:_,providerMissingFallbackApplied:v}=wt({providerConfigPresent:t.channels?.whatsapp!==void 0,groupPolicy:n.groupPolicy,defaultGroupPolicy:g});Ce({providerMissingFallbackApplied:v,providerKey:`whatsapp`,accountId:n.accountId,log:e=>u(e)});let y=f(e.from),b=typeof e.senderE164==`string`?f(e.senderE164):null,x=pe({isGroup:e.group,dmPolicy:r,groupPolicy:_,allowFrom:e.group?i:s,groupAllowFrom:c,storeAllowFrom:a,isSenderAllowed:t=>{if(t.includes(`*`))return!0;let n=new Set(t.map(e=>f(String(e))).filter(e=>!!e));return!e.group&&l?!0:e.group?!!(b&&n.has(b)):n.has(y)}});if(e.group&&x.decision!==`allow`)return x.reason===`groupPolicy=disabled`?u(`Blocked group message (groupPolicy: disabled)`):x.reason===`groupPolicy=allowlist (empty allowlist)`?u(`Blocked group message (groupPolicy: allowlist, no groupAllowFrom)`):u(`Blocked group message from ${e.senderE164??`unknown sender`} (groupPolicy: allowlist)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId};if(!e.group){if(e.isFromMe&&!l)return u(`Skipping outbound DM (fromMe); no pairing reply needed.`),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId};if(x.decision===`block`&&x.reason===`dmPolicy=disabled`)return u(`Blocked dm (dmPolicy: disabled)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId};if(x.decision===`pairing`&&!l){let t=e.from;return m?u(`Skipping pairing reply for historical DM from ${t}.`):await _e({channel:`whatsapp`,senderId:t,senderIdLine:`Your WhatsApp phone number: ${t}`,meta:{name:(e.pushName??``).trim()||void 0},upsertPairingRequest:async({id:e,meta:t})=>await De({channel:`whatsapp`,id:e,accountId:n.accountId,meta:t}),onCreated:()=>{u(`whatsapp pairing request sender=${t} name=${e.pushName??`unknown`}`)},sendPairingReply:async t=>{await e.sock.sendMessage(e.remoteJid,{text:t})},onReplyError:e=>{u(`whatsapp pairing reply failed for ${t}: ${String(e)}`)}}),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId}}if(x.decision!==`allow`)return u(`Blocked unauthorized sender ${e.from} (dmPolicy=${r})`),{allowed:!1,shouldMarkRead:!1,isSelfChat:d,resolvedAccountId:n.accountId}}return{allowed:!0,shouldMarkRead:!0,isSelfChat:d,resolvedAccountId:n.accountId}}function Et(e){return Ze(e)}function Dt(e){let t=e.imageMessage?.mimetype??e.videoMessage?.mimetype??e.documentMessage?.mimetype??e.audioMessage?.mimetype??e.stickerMessage?.mimetype??void 0;if(t)return t;if(e.audioMessage)return`audio/ogg; codecs=opus`;if(e.imageMessage)return`image/jpeg`;if(e.videoMessage)return`video/mp4`;if(e.stickerMessage)return`image/webp`}async function Ot(e,t){let n=Et(e.message);if(!n)return;let r=Dt(n),i=n.documentMessage?.fileName??void 0;if(!(!n.imageMessage&&!n.videoMessage&&!n.documentMessage&&!n.audioMessage&&!n.stickerMessage))try{return{buffer:await qe(e,`buffer`,{},{reuploadRequest:t.updateMediaMessage,logger:t.logger}),mimetype:r,fileName:i}}catch(e){u(`downloadMediaMessage failed: ${String(e)}`);return}}function kt(e){Fe({channel:`whatsapp`,accountId:e,direction:`outbound`})}function At(e){return typeof e==`object`&&e&&`key`in e?String(e.key?.id??`unknown`):`unknown`}function jt(e){return{sendMessage:async(t,n,r,i,a)=>{let o=d(t),s;if(r&&i)if(i.startsWith(`image/`))s={image:r,caption:n||void 0,mimetype:i};else if(i.startsWith(`audio/`))s={audio:r,ptt:!0,mimetype:i};else if(i.startsWith(`video/`)){let e=a?.gifPlayback;s={video:r,caption:n||void 0,mimetype:i,...e?{gifPlayback:!0}:{}}}else s={document:r,fileName:a?.fileName?.trim()||`file`,caption:n||void 0,mimetype:i};else s={text:n};let c=await e.sock.sendMessage(o,s);return kt(a?.accountId??e.defaultAccountId),{messageId:At(c)}},sendPoll:async(t,n)=>{let r=d(t),i=await e.sock.sendMessage(r,{poll:{name:n.question,values:n.options,selectableCount:n.maxSelections??1}});return kt(e.defaultAccountId),{messageId:At(i)}},sendReaction:async(t,n,r,i,a)=>{let o=d(t);await e.sock.sendMessage(o,{react:{text:r,key:{remoteJid:o,id:n,fromMe:i,participant:a?d(a):void 0}}})},sendComposingTo:async t=>{let n=d(t);await e.sock.sendPresenceUpdate(`composing`,n)}}}async function Mt(e){let t=s({module:`web-inbound`}),n=l(`gateway/channels/whatsapp`).child(`inbound`),r=await Ue(!1,e.verbose,{authDir:e.authDir});await Ve(r);let i=Date.now(),o=null,c=new Promise(e=>{o=e}),d=e=>{if(!o)return;let t=o;o=null,t(e)};try{await r.sendPresenceUpdate(`available`),a()&&u(`Sent global 'available' presence on connect`)}catch(e){u(`Failed to send 'available' presence on connect: ${String(e)}`)}let f=r.user?.id,m=f?p(f):null,h=ue({debounceMs:e.debounceMs??0,buildKey:e=>{let t=e.chatType===`group`?e.senderJid??e.senderE164??e.senderName??e.from:e.from;if(!t)return null;let n=e.chatType===`group`?e.chatId:e.from;return`${e.accountId}:${n}:${t}`},shouldDebounce:e.shouldDebounce,onFlush:async t=>{let n=t.at(-1);if(!n)return;if(t.length===1){await e.onMessage(n);return}let r=new Set;for(let e of t)for(let t of e.mentionedJids??[])r.add(t);let i=t.map(e=>e.body).filter(Boolean).join(`
3
3
  `),a={...n,body:i,mentionedJids:r.size>0?Array.from(r):void 0};await e.onMessage(a)},onError:e=>{t.error({error:String(e)},`failed handling inbound web message`),n.error(`Failed handling inbound web message: ${String(e)}`)}}),_=new Map,v=300*1e3,b=r.signalRepository?.lidMapping,x=async t=>g(t,{authDir:e.authDir,lidLookup:b}),S=async e=>{let t=_.get(e);if(t&&t.expires>Date.now())return t;try{let t=await r.groupMetadata(e),n=(await Promise.all(t.participants?.map(async e=>await x(e.id)??e.id)??[])).filter(Boolean)??[],i={subject:t.subject,participants:n,expires:Date.now()+v};return _.set(e,i),i}catch(t){return u(`Failed to fetch group metadata for ${e}: ${String(t)}`),{expires:Date.now()+v}}},C=async t=>{let n=t.key?.id??void 0,a=t.key?.remoteJid;if(!a||a.endsWith(`@status`)||a.endsWith(`@broadcast`))return null;let o=Xe(a)===!0;if(n&&it(`${e.accountId}:${a}:${n}`))return null;let s=t.key?.participant??void 0,c=o?a:await x(a);if(!c)return null;let l=o?s?await x(s):null:c,u,d;if(o){let e=await S(a);u=e.subject,d=e.participants}let f=t.messageTimestamp?Number(t.messageTimestamp)*1e3:void 0,p=await Tt({accountId:e.accountId,from:c,selfE164:m,senderE164:l,group:o,pushName:t.pushName??void 0,isFromMe:!!t.key?.fromMe,messageTimestampMs:f,connectedAtMs:i,sock:{sendMessage:(e,t)=>r.sendMessage(e,t)},remoteJid:a});return p.allowed?{id:n,remoteJid:a,group:o,participantJid:s,from:c,senderE164:l,groupSubject:u,groupParticipants:d,messageTimestampMs:f,access:p}:null},w=async t=>{let{id:n,remoteJid:i,participantJid:o,access:s}=t;if(n&&!s.isSelfChat&&e.sendReadReceipts!==!1)try{await r.readMessages([{remoteJid:i,id:n,participant:o,fromMe:!1}]),a()&&u(`Marked message ${n} as read for ${i}${o?` (participant ${o})`:``}`)}catch(e){u(`Failed to mark message ${n} read: ${String(e)}`)}else n&&s.isSelfChat&&a()&&u(`Self-chat mode: skipping read receipt for ${n}`)},T=async t=>{let n=St(t.message??void 0),i=n?Te(n):void 0,a=pt(t.message??void 0);if(i&&(a=[a,i].filter(Boolean).join(`
4
4
  `).trim()),!a&&(a=mt(t.message??void 0),!a))return null;let o=Ct(t.message),s,c,l;try{let n=await Ot(t,r);if(n){let t=(typeof e.mediaMaxMb==`number`&&e.mediaMaxMb>0?e.mediaMaxMb:50)*1024*1024;s=(await y(n.buffer,n.mimetype,`inbound`,t,n.fileName)).path,c=n.mimetype,l=n.fileName}}catch(e){u(`Inbound media download failed: ${String(e)}`)}return{body:a,location:n??void 0,replyContext:o,mediaPath:s,mediaType:c,mediaFileName:l}},E=async(e,i,a)=>{let o=i.remoteJid,s=async()=>{try{await r.sendPresenceUpdate(`composing`,o)}catch(e){u(`Presence update failed: ${String(e)}`)}},c=async e=>{await r.sendMessage(o,{text:e})},l=async e=>{await r.sendMessage(o,e)},d=i.messageTimestampMs,p=ft(e.message),g=e.pushName??void 0;t.info({from:i.from,to:m??`me`,body:a.body,mediaPath:a.mediaPath,mediaType:a.mediaType,mediaFileName:a.mediaFileName,timestamp:d},`inbound message`);let _={id:i.id,from:i.from,conversationId:i.from,to:m??`me`,accountId:i.access.resolvedAccountId,body:a.body,pushName:g,timestamp:d,chatType:i.group?`group`:`direct`,chatId:i.remoteJid,senderJid:i.participantJid,senderE164:i.senderE164??void 0,senderName:g,replyToId:a.replyContext?.id,replyToBody:a.replyContext?.body,replyToSender:a.replyContext?.sender,replyToSenderJid:a.replyContext?.senderJid,replyToSenderE164:a.replyContext?.senderE164,groupSubject:i.groupSubject,groupParticipants:i.groupParticipants,mentionedJids:p??void 0,selfJid:f,selfE164:m,fromMe:!!e.key?.fromMe,location:a.location??void 0,sendComposing:s,reply:c,sendMedia:l,mediaPath:a.mediaPath,mediaType:a.mediaType,mediaFileName:a.mediaFileName};try{Promise.resolve(h.enqueue(_)).catch(e=>{t.error({error:String(e)},`failed handling inbound web message`),n.error(`Failed handling inbound web message: ${String(e)}`)})}catch(e){t.error({error:String(e)},`failed handling inbound web message`),n.error(`Failed handling inbound web message: ${String(e)}`)}},D=async t=>{if(!(t.type!==`notify`&&t.type!==`append`))for(let n of t.messages??[]){Fe({channel:`whatsapp`,accountId:e.accountId,direction:`inbound`});let r=await C(n);if(!r||(await w(r),t.type===`append`))continue;let i=await T(n);i&&await E(n,r,i)}};r.ev.on(`messages.upsert`,D);let O=e=>{try{if(e.connection===`close`){let t=He(e.lastDisconnect?.error);d({status:t,isLoggedOut:t===Ke.loggedOut,error:e.lastDisconnect?.error})}}catch(e){t.error({error:String(e)},`connection.update handler error`),d({status:void 0,isLoggedOut:!1,error:e})}};return r.ev.on(`connection.update`,O),{close:async()=>{try{let e=r.ev,t=D,n=O;typeof e.off==`function`?(e.off(`messages.upsert`,t),e.off(`connection.update`,n)):typeof e.removeListener==`function`&&(e.removeListener(`messages.upsert`,t),e.removeListener(`connection.update`,n)),r.ws?.close()}catch(e){u(`Socket close failed: ${String(e)}`)}},onClose:c,signalClose:e=>{d(e??{status:void 0,isLoggedOut:!1,error:`closed`})},...jt({sock:{sendMessage:(e,t)=>r.sendMessage(e,t),sendPresenceUpdate:(e,t)=>r.sendPresenceUpdate(e,t)},defaultAccountId:e.accountId})}}function Nt(e,t){return{mentionRegexes:F(e,t),allowFrom:e.channels?.whatsapp?.allowFrom}}function Pt(e,t){let n=t?{authDir:t}:void 0;return{normalizedMentions:e.mentionedJids?.length?e.mentionedJids.map(e=>p(e,n)??e).filter(Boolean):[],selfE164:e.selfE164??(e.selfJid?p(e.selfJid,n):null),selfJid:e.selfJid?e.selfJid.replace(/:\\d+/,``):null}}function Ft(e,t,n){let r=e=>I(e),i=h(n.selfE164,t.allowFrom);if((e.mentionedJids?.length??0)>0&&!i)return!!(n.selfE164&&n.normalizedMentions.includes(n.selfE164)||n.selfJid&&n.normalizedMentions.includes(n.selfJid));let a=r(e.body);if(t.mentionRegexes.some(e=>e.test(a)))return!0;if(n.selfE164){let t=n.selfE164.replace(/\D/g,``);if(t){if(a.replace(/[^\d]/g,``).includes(t))return!0;let n=e.body.replace(/[\s-]/g,``);if(RegExp(`\\+?${t}`,`i`).test(n))return!0}}return!1}function It(e,t,n){let r=Pt(e,n);return{wasMentioned:Ft(e,t,r),details:{from:e.from,body:e.body,bodyClean:I(e.body),mentionedJids:e.mentionedJids??null,normalizedMentionedJids:r.normalizedMentions.length?r.normalizedMentions:null,selfJid:e.selfJid??null,selfJidBare:r.selfJid,selfE164:e.selfE164??null,resolvedSelfE164:r.selfE164}}}function Lt(e,t){let n=e.allowFrom;return(Array.isArray(n)&&n.length>0?n:t?[t]:[]).filter(e=>!!(e&&e!==`*`)).map(e=>f(e)).filter(e=>!!e)}function Rt(e){let t=new Set,n=Math.max(1,e.maxItems??100),r=e=>`combined:${e.sessionKey}:${e.combinedBody}`,i=()=>{for(;t.size>n;){let e=t.values().next().value;if(!e)break;t.delete(e)}};return{rememberText:(n,a)=>{n&&(t.add(n),a.combinedBody&&a.combinedBodySessionKey&&t.add(r({sessionKey:a.combinedBodySessionKey,combinedBody:a.combinedBody})),a.logVerboseMessage&&e.logVerbose?.(`Added to echo detection set (size now: ${t.size}): ${n.substring(0,50)}...`),i())},has:e=>t.has(e),forget:e=>{t.delete(e)},buildCombinedKey:r}}function zt(t){let n=be({agentId:t.agentId,channel:`whatsapp`,accountId:t.route.accountId,peer:{kind:t.msg.chatType===`group`?`group`:`direct`,id:t.peerId},dmScope:t.cfg.session?.dmScope,identityLinks:t.cfg.session?.identityLinks}),r=i({agentId:t.agentId,mainKey:e});return{sessionKey:n,mainSessionKey:r,lastRoutePolicy:z({sessionKey:n,mainSessionKey:r})}}async function Bt(e){let t=e.cfg.broadcast?.[e.peerId];if(!t||!Array.isArray(t)||t.length===0)return!1;let r=e.cfg.broadcast?.strategy||`parallel`;X.info(`Broadcasting message to ${t.length} agents (${r})`);let i=e.cfg.agents?.list?.map(e=>n(e.id)),a=(i?.length??0)>0,o=e.msg.chatType===`group`?e.groupHistories.get(e.groupHistoryKey)??[]:void 0,s=async t=>{let r=n(t);if(a&&!i?.includes(r))return X.warn(`Broadcast agent ${t} not found in agents.list; skipping`),!1;let s=zt({cfg:e.cfg,msg:e.msg,route:e.route,peerId:e.peerId,agentId:r}),c={...e.route,agentId:r,...s};try{return await e.processMessage(e.msg,c,e.groupHistoryKey,{groupHistory:o,suppressGroupHistoryClear:!0})}catch(e){return X.error(`Broadcast agent ${t} failed: ${q(e)}`),!1}};if(r===`sequential`)for(let e of t)await s(e);else await Promise.allSettled(t.map(s));return e.msg.chatType===`group`&&e.groupHistories.set(e.groupHistoryKey,[]),!0}function Vt(e,t,n){let r=e;for(let e of t)r=r.replace(e,` `);if(n){let e=n.replace(/\D/g,``);if(e){let t=RegExp(`\\+?${e}`,`g`);r=r.replace(t,` `)}}return r.replace(/\s+/g,` `).trim()}function Ht(e,t){let n=O({From:t,ChatType:`group`,Provider:`whatsapp`})?.id,r=e.channels?.whatsapp,i=!!(r?.groupAllowFrom?.length||r?.allowFrom?.length);return x({cfg:e,channel:`whatsapp`,groupId:n??t,hasGroupAllowFrom:i})}function Ut(e,t){let n=O({From:t,ChatType:`group`,Provider:`whatsapp`})?.id;return v({cfg:e,channel:`whatsapp`,groupId:n??t})}function Wt(e){let t=A(r(e.cfg.session?.store,{agentId:e.agentId}))[e.sessionKey],n=Ut(e.cfg,e.conversationId)?`mention`:`always`;return R(t?.groupActivation)??n}function Gt(e,t,n){for(let r of e){let e=f(r)??r;!e||t.has(e)||(t.add(e),n.push(e))}}function Kt(e,t,n,r){if(!n||!r)return;let i=f(n)??n;if(!i)return;let a=e.get(t);a||(a=new Map,e.set(t,a)),a.set(i,r)}function qt(e){let{participants:t,roster:n,fallbackE164:r}=e,i=new Set,a=[];if(t?.length&&Gt(t,i,a),n&&Gt(n.keys(),i,a),a.length===0&&r){let e=f(r)??r;e&&a.push(e)}if(a.length!==0)return a.map(e=>{let t=n?.get(e);return t?`${t} (${e})`:e}).join(`, `)}function Jt(e,t){let n=f(t.senderE164??``);return n?Lt(e,t.selfE164??void 0).includes(n):!1}function Yt(e){let t=e.msg.senderName&&e.msg.senderE164?`${e.msg.senderName} (${e.msg.senderE164})`:e.msg.senderName??e.msg.senderE164??`Unknown`;H({historyMap:e.groupHistories,historyKey:e.groupHistoryKey,limit:e.groupHistoryLimit,entry:{sender:t,body:e.msg.body,timestamp:e.msg.timestamp,id:e.msg.id,senderJid:e.msg.senderJid}})}function Xt(e,t){return e.logVerbose(t),Yt({msg:e.msg,groupHistories:e.groupHistories,groupHistoryKey:e.groupHistoryKey,groupHistoryLimit:e.groupHistoryLimit}),{shouldProcess:!1}}function Zt(e){let t=Ht(e.cfg,e.conversationId);if(t.allowlistEnabled&&!t.allowed)return e.logVerbose(`Skipping group message ${e.conversationId} (not in allowlist)`),{shouldProcess:!1};Kt(e.groupMemberNames,e.groupHistoryKey,e.msg.senderE164,e.msg.senderName);let n=Nt(e.cfg,e.agentId),r=Vt(e.msg.body,n.mentionRegexes,e.msg.selfE164),i=K(r),a=Jt(e.baseMentionConfig,e.msg),o=a&&ae(r,e.cfg);if(i.hasCommand&&!a)return Xt(e,`Ignoring /activation from non-owner in group ${e.conversationId}`);let s=It(e.msg,n,e.authDir);e.replyLogger.debug({conversationId:e.conversationId,wasMentioned:s.wasMentioned,...s.details},`group mention debug`);let c=s.wasMentioned,l=Wt({cfg:e.cfg,agentId:e.agentId,sessionKey:e.sessionKey,conversationId:e.conversationId})!==`always`,u=e.msg.selfJid?.replace(/:\\d+/,``),d=e.msg.replyToSenderJid?.replace(/:\\d+/,``),p=e.msg.selfE164?f(e.msg.selfE164):null,m=e.msg.replyToSenderE164?f(e.msg.replyToSenderE164):null,h=V({requireMention:l,canDetectMention:!0,wasMentioned:c,implicitMention:!!(u&&d&&u===d||p&&m&&p===m),shouldBypassMention:o});return e.msg.wasMentioned=h.effectiveWasMentioned,!o&&l&&h.shouldSkip?Xt(e,`Group message stored for context (no mention detected) in ${e.conversationId}: ${e.msg.body}`):{shouldProcess:!0}}function Qt(e,t){e.add(t),t.finally(()=>{e.delete(t)})}function $t(e){let t=r(e.cfg.session?.store,{agentId:e.storeAgentId}),n=D({storePath:t,sessionKey:e.sessionKey,deliveryContext:{channel:e.channel,to:e.to,accountId:e.accountId},ctx:e.ctx}).catch(n=>{e.warn({error:q(n),storePath:t,sessionKey:e.sessionKey,to:e.to},`failed updating last route`)});Qt(e.backgroundTasks,n)}function en(e){return e.chatType===`group`?e.conversationId??e.from:e.senderE164?f(e.senderE164)??e.senderE164:e.from.includes(`@`)?p(e.from)??e.from:f(e.from)??e.from}function $(e,t=400){return!e||e.length<=t?e:`${e.slice(0,t)}… (truncated ${e.length-t} chars)`}function tn(e){let t=(e instanceof Error?`${e.message}\n${e.stack??``}`:(e=>{if(e==null)return``;if(typeof e==`string`)return e;if(e instanceof Error)return`${e.message}\n${e.stack??``}`;if(typeof e==`object`)try{return JSON.stringify(e)}catch{return Object.prototype.toString.call(e)}return typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?String(e):typeof e==`symbol`?e.description??e.toString():typeof e==`function`?e.name?`[function ${e.name}]`:`[function]`:Object.prototype.toString.call(e)})(e)).toLowerCase();return t.includes(`unsupported state or unable to authenticate data`)||t.includes(`bad mac`)?t.includes(`@whiskeysockets/baileys`)||t.includes(`baileys`)||t.includes(`noise-handler`)||t.includes(`aesdecryptgcm`):!1}function nn(e){if(e.isReasoning===!0)return!0;let t=e.text;return typeof t==`string`?t.trimStart().toLowerCase().startsWith(`reasoning:`):!1}async function rn(e){let{replyResult:t,msg:n,maxMediaBytes:r,textLimit:i,replyLogger:s,connectionId:c,skipLog:l}=e,d=Date.now();if(nn(t)){Z.debug(`Suppressed reasoning payload to ${n.from}`);return}let f=e.tableMode??`code`,p=e.chunkMode??`length`,m=je(Re(Ie(t.text||``,f)),i,p),h=t.mediaUrls?.length?t.mediaUrls:t.mediaUrl?[t.mediaUrl]:[],g=async(e,t,r=3)=>{let i;for(let a=1;a<=r;a++)try{return await e()}catch(e){i=e;let s=q(e),c=a===r;if(!/closed|reset|timed\s*out|disconnect/i.test(s)||c)throw e;let l=500*a;u(`Retrying ${t} to ${n.from} after failure (${a}/${r-1}) in ${l}ms: ${s}`),await o(l)}throw i};if(h.length===0&&m.length){let e=m.length;for(let[t,r]of m.entries()){let i=Date.now();if(await g(()=>n.reply(r),`text`),!l){let r=Date.now()-i;Z.debug(`Sent chunk ${t+1}/${e} to ${n.from} (${r.toFixed(0)}ms)`)}}s.info({correlationId:n.id??J(),connectionId:c??null,to:n.from,from:n.to,text:$(t.text,240),mediaUrl:null,mediaSizeBytes:null,mediaKind:null,durationMs:Date.now()-d},`auto-reply sent (text)`);return}let _=[...m];for(let[t,i]of h.entries()){let o=t===0&&_.shift()||void 0;try{let t=await Ae(i,{maxBytes:r,localRoots:e.mediaLocalRoots});if(a()&&(u(`Web auto-reply media size: ${(t.buffer.length/(1024*1024)).toFixed(2)}MB`),u(`Web auto-reply media source: ${i} (kind ${t.kind})`)),t.kind===`image`)await g(()=>n.sendMedia({image:t.buffer,caption:o,mimetype:t.contentType}),`media:image`);else if(t.kind===`audio`)await g(()=>n.sendMedia({audio:t.buffer,ptt:!0,mimetype:t.contentType,caption:o}),`media:audio`);else if(t.kind===`video`)await g(()=>n.sendMedia({video:t.buffer,caption:o,mimetype:t.contentType}),`media:video`);else{let e=t.fileName??i.split(`/`).pop()??`file`,r=t.contentType??`application/octet-stream`;await g(()=>n.sendMedia({document:t.buffer,fileName:e,caption:o,mimetype:r}),`media:document`)}Z.info(`Sent media reply to ${n.from} (${(t.buffer.length/(1024*1024)).toFixed(2)}MB)`),s.info({correlationId:n.id??J(),connectionId:c??null,to:n.from,from:n.to,text:o??null,mediaUrl:i,mediaSizeBytes:t.buffer.length,mediaKind:t.kind,durationMs:Date.now()-d},`auto-reply sent (media)`)}catch(e){if(Z.error(`Failed sending web media to ${n.from}: ${q(e)}`),s.warn({err:e,mediaUrl:i},`failed to send web media reply`),t===0){let t=e instanceof Error?`⚠️ Media failed: ${e.message}`:`⚠️ Media failed.`,r=[_.shift()??o??``,t].filter(Boolean).join(`
@@ -1,4 +1,4 @@
1
- import{s as e}from"./paths-DBmKCtUs.js";import"./paths-CChBdtE8.js";import{a as t,b as n,d as r,m as i,t as a}from"./subsystem-hyY_8Y33.js";import{A as o,I as s,N as c,j as l}from"./workspace-Dc-i8PF7.js";import{d as u,l as d,m as f,n as p,u as m,x as h,y as g}from"./utils-HgCTSfjA.js";import{Cr as _,Hr as v,Mi as y,Tr as b,Vr as x,Ws as S,Za as C,_r as w,br as T,gr as E,in as D,kr as O,nn as ee,on as k,qr as A,vr as te,yr as j}from"./model-selection-z_2ofBma.js";import"./github-copilot-token-DePP-lIf.js";import"./boolean-DypnRoRK.js";import"./proxy-env-BWBLvN-u.js";import"./frontmatter-DWwQ2Ef1.js";import"./logger-Cb-sKDne.js";import"./send-DQ8hW1Ny.js";import{At as M,jt as N,kt as P}from"./send-CgCkmVGv.js";import{A as ne,C as re,D as ie,E as ae,F,I,J as oe,K as L,L as R,M as se,N as ce,O as z,P as le,S as B,T as ue,_ as V,a as H,b as U,c as W,d as G,f as K,g as de,h as fe,j as pe,k as me,l as he,m as ge,o as _e,p as ve,q as ye,s as be,u as xe,v as Se,w as Ce,x as we}from"./pi-embedded-CSE8iTcT.js";import"./tokens-BYXU3z3M.js";import"./deliver-BZcbGQOY.js";import"./diagnostic-IQ5DYtkj.js";import{$ as Te,et as Ee,it as De}from"./send-D7eYYLEG.js";import"./pi-model-discovery-DnHY5jfR.js";import"./image-CZ-GwwjN.js";import{_ as Oe}from"./audio-transcription-runner-BaxTmW9G.js";import{i as ke}from"./fetch-oSjgZCED.js";import"./fetch-guard-CgvEMjHW.js";import"./api-key-rotation-BUGNohXO.js";import"./proxy-fetch-BJmmcDWW.js";import{a as Ae,d as je,h as Me,m as Ne,s as Pe}from"./ir-BxkORpyH.js";import"./render-CBsnn-2A.js";import"./target-errors-TsrjEir0.js";import"./commands-registry-l38RhNf-.js";import"./fetch-_g8lZ8K8.js";import"./skill-commands-B9T6G5xv.js";import{n as Fe}from"./channel-activity-C742K4vi.js";import{t as Ie}from"./tables-176-pfPQ.js";import"./send-vk3KPAQd2.js";import"./outbound-attachment-C3faxPvJ.js";import"./send-DYm8HM55.js";import"./fetch-BBL4TFBl.js";import{r as Le}from"./active-listener-DQPZQMuf.js";import"./query-expansion-CC3GwLhd.js";import"./manager-n06Q0VsW.js";import{i as Re,r as ze,t as Be}from"./outbound-hXbY4TE7.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-D-6qlNlL.js";import{t as We}from"./login-RPiyEVdR.js";import{randomUUID as Ge}from"node:crypto";import{DisconnectReason as Ke,downloadMediaMessage as qe,extractMessageContent as Je,getContentType as Ye,isJidGroup as Xe,normalizeMessageContent as Ze}from"@whiskeysockets/baileys";const Qe={initialMs:2e3,maxMs:3e4,factor:1.8,jitter:.25,maxAttempts:12};function $e(e,t){let n=t??e.web?.heartbeatSeconds;return typeof n==`number`&&n>0?n:60}function et(e,t){let n=e.web?.reconnect??{},r=t??{},i={...Qe,...n,...r};return i.initialMs=Math.max(250,i.initialMs),i.maxMs=Math.max(i.initialMs,i.maxMs),i.factor=p(i.factor,1.1,10),i.jitter=p(i.jitter,0,1),i.maxAttempts=Math.max(0,Math.floor(i.maxAttempts)),i}function J(){return Ge()}const Y=a(`gateway/channels/whatsapp`),X=Y.child(`inbound`),Z=Y.child(`outbound`),tt=Y.child(`heartbeat`);function nt(){return setInterval(()=>{},1e6).unref(),new Promise(()=>{})}const rt=L({ttlMs:20*6e4,maxSize:5e3});function it(e){return rt.check(e)}const at=new Set([`FN`,`N`,`TEL`]);function ot(e){if(!e)return{phones:[]};let t=e.split(/\r?\n/),n,r,i=[];for(let e of t){let t=e.trim();if(!t)continue;let a=t.indexOf(`:`);if(a===-1)continue;let o=t.slice(0,a).toUpperCase(),s=t.slice(a+1).trim();if(!s)continue;let c=st(o);if(!c||!at.has(c))continue;let l=ct(s);if(l){if(c===`FN`&&!r){r=lt(l);continue}if(c===`N`&&!n){n=lt(l);continue}if(c===`TEL`){let e=ut(l);e&&i.push(e)}}}return{name:r??n,phones:i}}function st(e){let[t]=e.split(`;`);if(!t)return;let n=t.split(`.`);return n[n.length-1]||void 0}function ct(e){return e.replace(/\\n/gi,` `).replace(/\\,/g,`,`).replace(/\\;/g,`;`).trim()}function lt(e){return e.replace(/;/g,` `).replace(/\s+/g,` `).trim()}function ut(e){let t=e.trim();return t?t.toLowerCase().startsWith(`tel:`)?t.slice(4).trim():t:``}function Q(e){return Ze(e)}function dt(e){if(!e)return;let t=Ye(e),n=t?e[t]:void 0,r=n&&typeof n==`object`&&`contextInfo`in n?n.contextInfo:void 0;if(r)return r;let i=e.extendedTextMessage?.contextInfo??e.imageMessage?.contextInfo??e.videoMessage?.contextInfo??e.documentMessage?.contextInfo??e.audioMessage?.contextInfo??e.stickerMessage?.contextInfo??e.buttonsResponseMessage?.contextInfo??e.listResponseMessage?.contextInfo??e.templateButtonReplyMessage?.contextInfo??e.interactiveResponseMessage?.contextInfo??e.buttonsMessage?.contextInfo??e.listMessage?.contextInfo;if(i)return i;for(let t of Object.values(e)){if(!t||typeof t!=`object`||!(`contextInfo`in t))continue;let e=t.contextInfo;if(e)return e}}function ft(e){let t=Q(e);if(!t)return;let n=[t.extendedTextMessage?.contextInfo?.mentionedJid,t.extendedTextMessage?.contextInfo?.quotedMessage?.extendedTextMessage?.contextInfo?.mentionedJid,t.imageMessage?.contextInfo?.mentionedJid,t.videoMessage?.contextInfo?.mentionedJid,t.documentMessage?.contextInfo?.mentionedJid,t.audioMessage?.contextInfo?.mentionedJid,t.stickerMessage?.contextInfo?.mentionedJid,t.buttonsResponseMessage?.contextInfo?.mentionedJid,t.listResponseMessage?.contextInfo?.mentionedJid].flatMap(e=>e??[]).filter(Boolean);if(n.length!==0)return Array.from(new Set(n))}function pt(e){let t=Q(e);if(!t)return;let n=Je(t),r=[t,n&&n!==t?n:void 0];for(let e of r){if(!e)continue;if(typeof e.conversation==`string`&&e.conversation.trim())return e.conversation.trim();let t=e.extendedTextMessage?.text;if(t?.trim())return t.trim();let n=e.imageMessage?.caption??e.videoMessage?.caption??e.documentMessage?.caption;if(n?.trim())return n.trim()}let i=ht(t)??(n&&n!==t?ht(n):void 0);if(i)return i}function mt(e){let t=Q(e);if(t){if(t.imageMessage)return`<media:image>`;if(t.videoMessage)return`<media:video>`;if(t.audioMessage)return`<media:audio>`;if(t.documentMessage)return`<media:document>`;if(t.stickerMessage)return`<media:sticker>`}}function ht(e){let t=Q(e);if(!t)return;let n=t.contactMessage??void 0;if(n){let{name:e,phones:t}=gt({displayName:n.displayName,vcard:n.vcard});return _t(e,t)}let r=t.contactsArrayMessage?.contacts??void 0;if(!(!r||r.length===0))return vt(r.map(e=>gt({displayName:e.displayName,vcard:e.vcard})).map(e=>yt(e.name,e.phones)).filter(e=>!!e),r.length)}function gt(e){let t=(e.displayName??``).trim(),n=ot(e.vcard??void 0);return{name:t||n.name,phones:n.phones}}function _t(e,t){let n=yt(e,t);return n?`<contact: ${n}>`:`<contact>`}function vt(e,t){let n=e.map(e=>e.trim()).filter(Boolean);if(n.length===0)return`<contacts: ${t} ${t===1?`contact`:`contacts`}>`;let r=Math.max(t-n.length,0),i=r>0?` +${r} more`:``;return`<contacts: ${n.join(`, `)}${i}>`}function yt(e,t){let n=[e,bt(t)].filter(e=>!!e);if(n.length!==0)return n.join(`, `)}function bt(e){let t=e?.map(e=>e.trim()).filter(Boolean)??[];if(t.length===0)return;let{shown:n,remaining:r}=xt(t,t.length,1),[i]=n;if(i)return r===0?i:`${i} (+${r} more)`}function xt(e,t,n){let r=e.slice(0,n);return{shown:r,remaining:Math.max(t-r.length,0)}}function St(e){let t=Q(e);if(!t)return null;let n=t.liveLocationMessage??void 0;if(n){let e=n.degreesLatitude,t=n.degreesLongitude;if(e!=null&&t!=null){let r=Number(e),i=Number(t);if(Number.isFinite(r)&&Number.isFinite(i))return{latitude:r,longitude:i,accuracy:n.accuracyInMeters??void 0,caption:n.caption??void 0,source:`live`,isLive:!0}}}let r=t.locationMessage??void 0;if(r){let e=r.degreesLatitude,t=r.degreesLongitude;if(e!=null&&t!=null){let n=Number(e),i=Number(t);if(Number.isFinite(n)&&Number.isFinite(i)){let e=!!r.isLive;return{latitude:n,longitude:i,accuracy:r.accuracyInMeters??void 0,name:r.name??void 0,address:r.address??void 0,caption:r.comment??void 0,source:e?`live`:r.name||r.address?`place`:`pin`,isLive:e}}}}return null}function Ct(e){let t=Q(e);if(!t)return null;let n=dt(t),i=Ze(n?.quotedMessage);if(!i)return null;let a=St(i),o=a?Te(a):void 0,s=[pt(i),o].filter(Boolean).join(`
1
+ import{s as e}from"./paths-DBmKCtUs.js";import"./paths-CChBdtE8.js";import{a as t,b as n,d as r,m as i,t as a}from"./subsystem-hyY_8Y33.js";import{A as o,I as s,N as c,j as l}from"./workspace-Dc-i8PF7.js";import{d as u,l as d,m as f,n as p,u as m,x as h,y as g}from"./utils-HgCTSfjA.js";import{Cr as _,Hr as v,Mi as y,Tr as b,Vr as x,Ws as S,Za as C,_r as w,br as T,gr as E,in as D,kr as O,nn as ee,on as k,qr as A,vr as te,yr as j}from"./model-selection-z_2ofBma.js";import"./github-copilot-token-DePP-lIf.js";import"./boolean-DypnRoRK.js";import"./proxy-env-BWBLvN-u.js";import"./frontmatter-DWwQ2Ef1.js";import"./logger-Cb-sKDne.js";import"./send-DQ8hW1Ny.js";import{At as M,jt as N,kt as P}from"./send-CgCkmVGv.js";import{A as ne,C as re,D as ie,E as ae,F,I,J as oe,K as L,L as R,M as se,N as ce,O as z,P as le,S as B,T as ue,_ as V,a as H,b as U,c as W,d as G,f as K,g as de,h as fe,j as pe,k as me,l as he,m as ge,o as _e,p as ve,q as ye,s as be,u as xe,v as Se,w as Ce,x as we}from"./pi-embedded-DJGgW90C.js";import"./tokens-BYXU3z3M.js";import"./deliver-BZcbGQOY.js";import"./diagnostic-IQ5DYtkj.js";import{$ as Te,et as Ee,it as De}from"./send-D7eYYLEG.js";import"./pi-model-discovery-DnHY5jfR.js";import"./image-CZ-GwwjN.js";import{_ as Oe}from"./audio-transcription-runner-BaxTmW9G.js";import{i as ke}from"./fetch-oSjgZCED.js";import"./fetch-guard-CgvEMjHW.js";import"./api-key-rotation-BUGNohXO.js";import"./proxy-fetch-BJmmcDWW.js";import{a as Ae,d as je,h as Me,m as Ne,s as Pe}from"./ir-BxkORpyH.js";import"./render-CBsnn-2A.js";import"./target-errors-TsrjEir0.js";import"./commands-registry-l38RhNf-.js";import"./fetch-_g8lZ8K8.js";import"./skill-commands-B9T6G5xv.js";import{n as Fe}from"./channel-activity-C742K4vi.js";import{t as Ie}from"./tables-176-pfPQ.js";import"./send-vk3KPAQd2.js";import"./outbound-attachment-C3faxPvJ.js";import"./send-DYm8HM55.js";import"./fetch-BBL4TFBl.js";import{r as Le}from"./active-listener-DQPZQMuf.js";import"./query-expansion-CC3GwLhd.js";import"./manager-n06Q0VsW.js";import{i as Re,r as ze,t as Be}from"./outbound-hXbY4TE7.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-D-6qlNlL.js";import{t as We}from"./login-RPiyEVdR.js";import{randomUUID as Ge}from"node:crypto";import{DisconnectReason as Ke,downloadMediaMessage as qe,extractMessageContent as Je,getContentType as Ye,isJidGroup as Xe,normalizeMessageContent as Ze}from"@whiskeysockets/baileys";const Qe={initialMs:2e3,maxMs:3e4,factor:1.8,jitter:.25,maxAttempts:12};function $e(e,t){let n=t??e.web?.heartbeatSeconds;return typeof n==`number`&&n>0?n:60}function et(e,t){let n=e.web?.reconnect??{},r=t??{},i={...Qe,...n,...r};return i.initialMs=Math.max(250,i.initialMs),i.maxMs=Math.max(i.initialMs,i.maxMs),i.factor=p(i.factor,1.1,10),i.jitter=p(i.jitter,0,1),i.maxAttempts=Math.max(0,Math.floor(i.maxAttempts)),i}function J(){return Ge()}const Y=a(`gateway/channels/whatsapp`),X=Y.child(`inbound`),Z=Y.child(`outbound`),tt=Y.child(`heartbeat`);function nt(){return setInterval(()=>{},1e6).unref(),new Promise(()=>{})}const rt=L({ttlMs:20*6e4,maxSize:5e3});function it(e){return rt.check(e)}const at=new Set([`FN`,`N`,`TEL`]);function ot(e){if(!e)return{phones:[]};let t=e.split(/\r?\n/),n,r,i=[];for(let e of t){let t=e.trim();if(!t)continue;let a=t.indexOf(`:`);if(a===-1)continue;let o=t.slice(0,a).toUpperCase(),s=t.slice(a+1).trim();if(!s)continue;let c=st(o);if(!c||!at.has(c))continue;let l=ct(s);if(l){if(c===`FN`&&!r){r=lt(l);continue}if(c===`N`&&!n){n=lt(l);continue}if(c===`TEL`){let e=ut(l);e&&i.push(e)}}}return{name:r??n,phones:i}}function st(e){let[t]=e.split(`;`);if(!t)return;let n=t.split(`.`);return n[n.length-1]||void 0}function ct(e){return e.replace(/\\n/gi,` `).replace(/\\,/g,`,`).replace(/\\;/g,`;`).trim()}function lt(e){return e.replace(/;/g,` `).replace(/\s+/g,` `).trim()}function ut(e){let t=e.trim();return t?t.toLowerCase().startsWith(`tel:`)?t.slice(4).trim():t:``}function Q(e){return Ze(e)}function dt(e){if(!e)return;let t=Ye(e),n=t?e[t]:void 0,r=n&&typeof n==`object`&&`contextInfo`in n?n.contextInfo:void 0;if(r)return r;let i=e.extendedTextMessage?.contextInfo??e.imageMessage?.contextInfo??e.videoMessage?.contextInfo??e.documentMessage?.contextInfo??e.audioMessage?.contextInfo??e.stickerMessage?.contextInfo??e.buttonsResponseMessage?.contextInfo??e.listResponseMessage?.contextInfo??e.templateButtonReplyMessage?.contextInfo??e.interactiveResponseMessage?.contextInfo??e.buttonsMessage?.contextInfo??e.listMessage?.contextInfo;if(i)return i;for(let t of Object.values(e)){if(!t||typeof t!=`object`||!(`contextInfo`in t))continue;let e=t.contextInfo;if(e)return e}}function ft(e){let t=Q(e);if(!t)return;let n=[t.extendedTextMessage?.contextInfo?.mentionedJid,t.extendedTextMessage?.contextInfo?.quotedMessage?.extendedTextMessage?.contextInfo?.mentionedJid,t.imageMessage?.contextInfo?.mentionedJid,t.videoMessage?.contextInfo?.mentionedJid,t.documentMessage?.contextInfo?.mentionedJid,t.audioMessage?.contextInfo?.mentionedJid,t.stickerMessage?.contextInfo?.mentionedJid,t.buttonsResponseMessage?.contextInfo?.mentionedJid,t.listResponseMessage?.contextInfo?.mentionedJid].flatMap(e=>e??[]).filter(Boolean);if(n.length!==0)return Array.from(new Set(n))}function pt(e){let t=Q(e);if(!t)return;let n=Je(t),r=[t,n&&n!==t?n:void 0];for(let e of r){if(!e)continue;if(typeof e.conversation==`string`&&e.conversation.trim())return e.conversation.trim();let t=e.extendedTextMessage?.text;if(t?.trim())return t.trim();let n=e.imageMessage?.caption??e.videoMessage?.caption??e.documentMessage?.caption;if(n?.trim())return n.trim()}let i=ht(t)??(n&&n!==t?ht(n):void 0);if(i)return i}function mt(e){let t=Q(e);if(t){if(t.imageMessage)return`<media:image>`;if(t.videoMessage)return`<media:video>`;if(t.audioMessage)return`<media:audio>`;if(t.documentMessage)return`<media:document>`;if(t.stickerMessage)return`<media:sticker>`}}function ht(e){let t=Q(e);if(!t)return;let n=t.contactMessage??void 0;if(n){let{name:e,phones:t}=gt({displayName:n.displayName,vcard:n.vcard});return _t(e,t)}let r=t.contactsArrayMessage?.contacts??void 0;if(!(!r||r.length===0))return vt(r.map(e=>gt({displayName:e.displayName,vcard:e.vcard})).map(e=>yt(e.name,e.phones)).filter(e=>!!e),r.length)}function gt(e){let t=(e.displayName??``).trim(),n=ot(e.vcard??void 0);return{name:t||n.name,phones:n.phones}}function _t(e,t){let n=yt(e,t);return n?`<contact: ${n}>`:`<contact>`}function vt(e,t){let n=e.map(e=>e.trim()).filter(Boolean);if(n.length===0)return`<contacts: ${t} ${t===1?`contact`:`contacts`}>`;let r=Math.max(t-n.length,0),i=r>0?` +${r} more`:``;return`<contacts: ${n.join(`, `)}${i}>`}function yt(e,t){let n=[e,bt(t)].filter(e=>!!e);if(n.length!==0)return n.join(`, `)}function bt(e){let t=e?.map(e=>e.trim()).filter(Boolean)??[];if(t.length===0)return;let{shown:n,remaining:r}=xt(t,t.length,1),[i]=n;if(i)return r===0?i:`${i} (+${r} more)`}function xt(e,t,n){let r=e.slice(0,n);return{shown:r,remaining:Math.max(t-r.length,0)}}function St(e){let t=Q(e);if(!t)return null;let n=t.liveLocationMessage??void 0;if(n){let e=n.degreesLatitude,t=n.degreesLongitude;if(e!=null&&t!=null){let r=Number(e),i=Number(t);if(Number.isFinite(r)&&Number.isFinite(i))return{latitude:r,longitude:i,accuracy:n.accuracyInMeters??void 0,caption:n.caption??void 0,source:`live`,isLive:!0}}}let r=t.locationMessage??void 0;if(r){let e=r.degreesLatitude,t=r.degreesLongitude;if(e!=null&&t!=null){let n=Number(e),i=Number(t);if(Number.isFinite(n)&&Number.isFinite(i)){let e=!!r.isLive;return{latitude:n,longitude:i,accuracy:r.accuracyInMeters??void 0,name:r.name??void 0,address:r.address??void 0,caption:r.comment??void 0,source:e?`live`:r.name||r.address?`place`:`pin`,isLive:e}}}}return null}function Ct(e){let t=Q(e);if(!t)return null;let n=dt(t),i=Ze(n?.quotedMessage);if(!i)return null;let a=St(i),o=a?Te(a):void 0,s=[pt(i),o].filter(Boolean).join(`
2
2
  `).trim();if(s||=mt(i),!s){let e=i?Ye(i):void 0;return r(`Quoted message missing extractable body${e?` (type ${e})`:``}`),null}let c=n?.participant??void 0,l=c?m(c)??c:void 0,u=l??`unknown sender`;return{id:n?.stanzaId?String(n.stanzaId):void 0,body:s,sender:u,senderJid:c,senderE164:l}}function wt(e){return M({providerConfigPresent:e.providerConfigPresent,groupPolicy:e.groupPolicy,defaultGroupPolicy:e.defaultGroupPolicy})}async function Tt(e){let t=C(),n=E({cfg:t,accountId:e.accountId}),i=n.dmPolicy??`pairing`,a=n.allowFrom??[],o=await K({provider:`whatsapp`,accountId:n.accountId,dmPolicy:i}),s=a.length===0&&e.selfE164?[e.selfE164]:[],c=a.length>0?a:s,l=n.groupAllowFrom??(a.length>0?a:void 0),f=e.from===e.selfE164,p=n.selfChatMode??d(e.selfE164,a),m=typeof e.pairingGraceMs==`number`&&e.pairingGraceMs>0?e.pairingGraceMs:3e4,h=typeof e.connectedAtMs==`number`&&typeof e.messageTimestampMs==`number`&&e.messageTimestampMs<e.connectedAtMs-m,g=P(t),{groupPolicy:_,providerMissingFallbackApplied:v}=wt({providerConfigPresent:t.channels?.whatsapp!==void 0,groupPolicy:n.groupPolicy,defaultGroupPolicy:g});N({providerMissingFallbackApplied:v,providerKey:`whatsapp`,accountId:n.accountId,log:e=>r(e)});let y=u(e.from),b=typeof e.senderE164==`string`?u(e.senderE164):null,x=ge({isGroup:e.group,dmPolicy:i,groupPolicy:_,allowFrom:e.group?a:c,groupAllowFrom:l,storeAllowFrom:o,isSenderAllowed:t=>{if(t.includes(`*`))return!0;let n=new Set(t.map(e=>u(String(e))).filter(e=>!!e));return!e.group&&f?!0:e.group?!!(b&&n.has(b)):n.has(y)}});if(e.group&&x.decision!==`allow`)return x.reason===`groupPolicy=disabled`?r(`Blocked group message (groupPolicy: disabled)`):x.reason===`groupPolicy=allowlist (empty allowlist)`?r(`Blocked group message (groupPolicy: allowlist, no groupAllowFrom)`):r(`Blocked group message from ${e.senderE164??`unknown sender`} (groupPolicy: allowlist)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId};if(!e.group){if(e.isFromMe&&!f)return r(`Skipping outbound DM (fromMe); no pairing reply needed.`),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId};if(x.decision===`block`&&x.reason===`dmPolicy=disabled`)return r(`Blocked dm (dmPolicy: disabled)`),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId};if(x.decision===`pairing`&&!f){let t=e.from;return h?r(`Skipping pairing reply for historical DM from ${t}.`):await be({channel:`whatsapp`,senderId:t,senderIdLine:`Your WhatsApp phone number: ${t}`,meta:{name:(e.pushName??``).trim()||void 0},upsertPairingRequest:async({id:e,meta:t})=>await De({channel:`whatsapp`,id:e,accountId:n.accountId,meta:t}),onCreated:()=>{r(`whatsapp pairing request sender=${t} name=${e.pushName??`unknown`}`)},sendPairingReply:async t=>{await e.sock.sendMessage(e.remoteJid,{text:t})},onReplyError:e=>{r(`whatsapp pairing reply failed for ${t}: ${String(e)}`)}}),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId}}if(x.decision!==`allow`)return r(`Blocked unauthorized sender ${e.from} (dmPolicy=${i})`),{allowed:!1,shouldMarkRead:!1,isSelfChat:p,resolvedAccountId:n.accountId}}return{allowed:!0,shouldMarkRead:!0,isSelfChat:p,resolvedAccountId:n.accountId}}function Et(e){return Ze(e)}function Dt(e){let t=e.imageMessage?.mimetype??e.videoMessage?.mimetype??e.documentMessage?.mimetype??e.audioMessage?.mimetype??e.stickerMessage?.mimetype??void 0;if(t)return t;if(e.audioMessage)return`audio/ogg; codecs=opus`;if(e.imageMessage)return`image/jpeg`;if(e.videoMessage)return`video/mp4`;if(e.stickerMessage)return`image/webp`}async function Ot(e,t){let n=Et(e.message);if(!n)return;let i=Dt(n),a=n.documentMessage?.fileName??void 0;if(!(!n.imageMessage&&!n.videoMessage&&!n.documentMessage&&!n.audioMessage&&!n.stickerMessage))try{return{buffer:await qe(e,`buffer`,{},{reuploadRequest:t.updateMediaMessage,logger:t.logger}),mimetype:i,fileName:a}}catch(e){r(`downloadMediaMessage failed: ${String(e)}`);return}}function kt(e){Fe({channel:`whatsapp`,accountId:e,direction:`outbound`})}function At(e){return typeof e==`object`&&e&&`key`in e?String(e.key?.id??`unknown`):`unknown`}function jt(e){return{sendMessage:async(t,n,r,i,a)=>{let o=h(t),s;if(r&&i)if(i.startsWith(`image/`))s={image:r,caption:n||void 0,mimetype:i};else if(i.startsWith(`audio/`))s={audio:r,ptt:!0,mimetype:i};else if(i.startsWith(`video/`)){let e=a?.gifPlayback;s={video:r,caption:n||void 0,mimetype:i,...e?{gifPlayback:!0}:{}}}else s={document:r,fileName:a?.fileName?.trim()||`file`,caption:n||void 0,mimetype:i};else s={text:n};let c=await e.sock.sendMessage(o,s);return kt(a?.accountId??e.defaultAccountId),{messageId:At(c)}},sendPoll:async(t,n)=>{let r=h(t),i=await e.sock.sendMessage(r,{poll:{name:n.question,values:n.options,selectableCount:n.maxSelections??1}});return kt(e.defaultAccountId),{messageId:At(i)}},sendReaction:async(t,n,r,i,a)=>{let o=h(t);await e.sock.sendMessage(o,{react:{text:r,key:{remoteJid:o,id:n,fromMe:i,participant:a?h(a):void 0}}})},sendComposingTo:async t=>{let n=h(t);await e.sock.sendPresenceUpdate(`composing`,n)}}}async function Mt(e){let t=n({module:`web-inbound`}),o=a(`gateway/channels/whatsapp`).child(`inbound`),s=await Ue(!1,e.verbose,{authDir:e.authDir});await Ve(s);let c=Date.now(),l=null,u=new Promise(e=>{l=e}),d=e=>{if(!l)return;let t=l;l=null,t(e)};try{await s.sendPresenceUpdate(`available`),i()&&r(`Sent global 'available' presence on connect`)}catch(e){r(`Failed to send 'available' presence on connect: ${String(e)}`)}let p=s.user?.id,h=p?m(p):null,g=U({debounceMs:e.debounceMs??0,buildKey:e=>{let t=e.chatType===`group`?e.senderJid??e.senderE164??e.senderName??e.from:e.from;if(!t)return null;let n=e.chatType===`group`?e.chatId:e.from;return`${e.accountId}:${n}:${t}`},shouldDebounce:e.shouldDebounce,onFlush:async t=>{let n=t.at(-1);if(!n)return;if(t.length===1){await e.onMessage(n);return}let r=new Set;for(let e of t)for(let t of e.mentionedJids??[])r.add(t);let i=t.map(e=>e.body).filter(Boolean).join(`
3
3
  `),a={...n,body:i,mentionedJids:r.size>0?Array.from(r):void 0};await e.onMessage(a)},onError:e=>{t.error({error:String(e)},`failed handling inbound web message`),o.error(`Failed handling inbound web message: ${String(e)}`)}}),_=new Map,v=300*1e3,b=s.signalRepository?.lidMapping,x=async t=>f(t,{authDir:e.authDir,lidLookup:b}),S=async e=>{let t=_.get(e);if(t&&t.expires>Date.now())return t;try{let t=await s.groupMetadata(e),n=(await Promise.all(t.participants?.map(async e=>await x(e.id)??e.id)??[])).filter(Boolean)??[],r={subject:t.subject,participants:n,expires:Date.now()+v};return _.set(e,r),r}catch(t){return r(`Failed to fetch group metadata for ${e}: ${String(t)}`),{expires:Date.now()+v}}},C=async t=>{let n=t.key?.id??void 0,r=t.key?.remoteJid;if(!r||r.endsWith(`@status`)||r.endsWith(`@broadcast`))return null;let i=Xe(r)===!0;if(n&&it(`${e.accountId}:${r}:${n}`))return null;let a=t.key?.participant??void 0,o=i?r:await x(r);if(!o)return null;let l=i?a?await x(a):null:o,u,d;if(i){let e=await S(r);u=e.subject,d=e.participants}let f=t.messageTimestamp?Number(t.messageTimestamp)*1e3:void 0,p=await Tt({accountId:e.accountId,from:o,selfE164:h,senderE164:l,group:i,pushName:t.pushName??void 0,isFromMe:!!t.key?.fromMe,messageTimestampMs:f,connectedAtMs:c,sock:{sendMessage:(e,t)=>s.sendMessage(e,t)},remoteJid:r});return p.allowed?{id:n,remoteJid:r,group:i,participantJid:a,from:o,senderE164:l,groupSubject:u,groupParticipants:d,messageTimestampMs:f,access:p}:null},w=async t=>{let{id:n,remoteJid:a,participantJid:o,access:c}=t;if(n&&!c.isSelfChat&&e.sendReadReceipts!==!1)try{await s.readMessages([{remoteJid:a,id:n,participant:o,fromMe:!1}]),i()&&r(`Marked message ${n} as read for ${a}${o?` (participant ${o})`:``}`)}catch(e){r(`Failed to mark message ${n} read: ${String(e)}`)}else n&&c.isSelfChat&&i()&&r(`Self-chat mode: skipping read receipt for ${n}`)},T=async t=>{let n=St(t.message??void 0),i=n?Te(n):void 0,a=pt(t.message??void 0);if(i&&(a=[a,i].filter(Boolean).join(`
4
4
  `).trim()),!a&&(a=mt(t.message??void 0),!a))return null;let o=Ct(t.message),c,l,u;try{let n=await Ot(t,s);if(n){let t=(typeof e.mediaMaxMb==`number`&&e.mediaMaxMb>0?e.mediaMaxMb:50)*1024*1024;c=(await y(n.buffer,n.mimetype,`inbound`,t,n.fileName)).path,l=n.mimetype,u=n.fileName}}catch(e){r(`Inbound media download failed: ${String(e)}`)}return{body:a,location:n??void 0,replyContext:o,mediaPath:c,mediaType:l,mediaFileName:u}},E=async(e,n,i)=>{let a=n.remoteJid,c=async()=>{try{await s.sendPresenceUpdate(`composing`,a)}catch(e){r(`Presence update failed: ${String(e)}`)}},l=async e=>{await s.sendMessage(a,{text:e})},u=async e=>{await s.sendMessage(a,e)},d=n.messageTimestampMs,f=ft(e.message),m=e.pushName??void 0;t.info({from:n.from,to:h??`me`,body:i.body,mediaPath:i.mediaPath,mediaType:i.mediaType,mediaFileName:i.mediaFileName,timestamp:d},`inbound message`);let _={id:n.id,from:n.from,conversationId:n.from,to:h??`me`,accountId:n.access.resolvedAccountId,body:i.body,pushName:m,timestamp:d,chatType:n.group?`group`:`direct`,chatId:n.remoteJid,senderJid:n.participantJid,senderE164:n.senderE164??void 0,senderName:m,replyToId:i.replyContext?.id,replyToBody:i.replyContext?.body,replyToSender:i.replyContext?.sender,replyToSenderJid:i.replyContext?.senderJid,replyToSenderE164:i.replyContext?.senderE164,groupSubject:n.groupSubject,groupParticipants:n.groupParticipants,mentionedJids:f??void 0,selfJid:p,selfE164:h,fromMe:!!e.key?.fromMe,location:i.location??void 0,sendComposing:c,reply:l,sendMedia:u,mediaPath:i.mediaPath,mediaType:i.mediaType,mediaFileName:i.mediaFileName};try{Promise.resolve(g.enqueue(_)).catch(e=>{t.error({error:String(e)},`failed handling inbound web message`),o.error(`Failed handling inbound web message: ${String(e)}`)})}catch(e){t.error({error:String(e)},`failed handling inbound web message`),o.error(`Failed handling inbound web message: ${String(e)}`)}},D=async t=>{if(!(t.type!==`notify`&&t.type!==`append`))for(let n of t.messages??[]){Fe({channel:`whatsapp`,accountId:e.accountId,direction:`inbound`});let r=await C(n);if(!r||(await w(r),t.type===`append`))continue;let i=await T(n);i&&await E(n,r,i)}};s.ev.on(`messages.upsert`,D);let O=e=>{try{if(e.connection===`close`){let t=He(e.lastDisconnect?.error);d({status:t,isLoggedOut:t===Ke.loggedOut,error:e.lastDisconnect?.error})}}catch(e){t.error({error:String(e)},`connection.update handler error`),d({status:void 0,isLoggedOut:!1,error:e})}};return s.ev.on(`connection.update`,O),{close:async()=>{try{let e=s.ev,t=D,n=O;typeof e.off==`function`?(e.off(`messages.upsert`,t),e.off(`connection.update`,n)):typeof e.removeListener==`function`&&(e.removeListener(`messages.upsert`,t),e.removeListener(`connection.update`,n)),s.ws?.close()}catch(e){r(`Socket close failed: ${String(e)}`)}},onClose:u,signalClose:e=>{d(e??{status:void 0,isLoggedOut:!1,error:`closed`})},...jt({sock:{sendMessage:(e,t)=>s.sendMessage(e,t),sendPresenceUpdate:(e,t)=>s.sendPresenceUpdate(e,t)},defaultAccountId:e.accountId})}}function Nt(e,t){return{mentionRegexes:I(e,t),allowFrom:e.channels?.whatsapp?.allowFrom}}function Pt(e,t){let n=t?{authDir:t}:void 0;return{normalizedMentions:e.mentionedJids?.length?e.mentionedJids.map(e=>m(e,n)??e).filter(Boolean):[],selfE164:e.selfE164??(e.selfJid?m(e.selfJid,n):null),selfJid:e.selfJid?e.selfJid.replace(/:\\d+/,``):null}}function Ft(e,t,n){let r=e=>R(e),i=d(n.selfE164,t.allowFrom);if((e.mentionedJids?.length??0)>0&&!i)return!!(n.selfE164&&n.normalizedMentions.includes(n.selfE164)||n.selfJid&&n.normalizedMentions.includes(n.selfJid));let a=r(e.body);if(t.mentionRegexes.some(e=>e.test(a)))return!0;if(n.selfE164){let t=n.selfE164.replace(/\D/g,``);if(t){if(a.replace(/[^\d]/g,``).includes(t))return!0;let n=e.body.replace(/[\s-]/g,``);if(RegExp(`\\+?${t}`,`i`).test(n))return!0}}return!1}function It(e,t,n){let r=Pt(e,n);return{wasMentioned:Ft(e,t,r),details:{from:e.from,body:e.body,bodyClean:R(e.body),mentionedJids:e.mentionedJids??null,normalizedMentionedJids:r.normalizedMentions.length?r.normalizedMentions:null,selfJid:e.selfJid??null,selfJidBare:r.selfJid,selfE164:e.selfE164??null,resolvedSelfE164:r.selfE164}}}function Lt(e,t){let n=e.allowFrom;return(Array.isArray(n)&&n.length>0?n:t?[t]:[]).filter(e=>!!(e&&e!==`*`)).map(e=>u(e)).filter(e=>!!e)}function Rt(e){let t=new Set,n=Math.max(1,e.maxItems??100),r=e=>`combined:${e.sessionKey}:${e.combinedBody}`,i=()=>{for(;t.size>n;){let e=t.values().next().value;if(!e)break;t.delete(e)}};return{rememberText:(n,a)=>{n&&(t.add(n),a.combinedBody&&a.combinedBodySessionKey&&t.add(r({sessionKey:a.combinedBodySessionKey,combinedBody:a.combinedBody})),a.logVerboseMessage&&e.logVerbose?.(`Added to echo detection set (size now: ${t.size}): ${n.substring(0,50)}...`),i())},has:e=>t.has(e),forget:e=>{t.delete(e)},buildCombinedKey:r}}function zt(e){let t=Ce({agentId:e.agentId,channel:`whatsapp`,accountId:e.route.accountId,peer:{kind:e.msg.chatType===`group`?`group`:`direct`,id:e.peerId},dmScope:e.cfg.session?.dmScope,identityLinks:e.cfg.session?.identityLinks}),n=l({agentId:e.agentId,mainKey:o});return{sessionKey:t,mainSessionKey:n,lastRoutePolicy:ue({sessionKey:t,mainSessionKey:n})}}async function Bt(e){let t=e.cfg.broadcast?.[e.peerId];if(!t||!Array.isArray(t)||t.length===0)return!1;let n=e.cfg.broadcast?.strategy||`parallel`;X.info(`Broadcasting message to ${t.length} agents (${n})`);let r=e.cfg.agents?.list?.map(e=>s(e.id)),i=(r?.length??0)>0,a=e.msg.chatType===`group`?e.groupHistories.get(e.groupHistoryKey)??[]:void 0,o=async t=>{let n=s(t);if(i&&!r?.includes(n))return X.warn(`Broadcast agent ${t} not found in agents.list; skipping`),!1;let o=zt({cfg:e.cfg,msg:e.msg,route:e.route,peerId:e.peerId,agentId:n}),c={...e.route,agentId:n,...o};try{return await e.processMessage(e.msg,c,e.groupHistoryKey,{groupHistory:a,suppressGroupHistoryClear:!0})}catch(e){return X.error(`Broadcast agent ${t} failed: ${q(e)}`),!1}};if(n===`sequential`)for(let e of t)await o(e);else await Promise.allSettled(t.map(o));return e.msg.chatType===`group`&&e.groupHistories.set(e.groupHistoryKey,[]),!0}function Vt(e,t,n){let r=e;for(let e of t)r=r.replace(e,` `);if(n){let e=n.replace(/\D/g,``);if(e){let t=RegExp(`\\+?${e}`,`g`);r=r.replace(t,` `)}}return r.replace(/\s+/g,` `).trim()}function Ht(e,t){let n=A({From:t,ChatType:`group`,Provider:`whatsapp`})?.id,r=e.channels?.whatsapp,i=!!(r?.groupAllowFrom?.length||r?.allowFrom?.length);return x({cfg:e,channel:`whatsapp`,groupId:n??t,hasGroupAllowFrom:i})}function Ut(e,t){let n=A({From:t,ChatType:`group`,Provider:`whatsapp`})?.id;return v({cfg:e,channel:`whatsapp`,groupId:n??t})}function Wt(t){let n=ee(e(t.cfg.session?.store,{agentId:t.agentId}))[t.sessionKey],r=Ut(t.cfg,t.conversationId)?`mention`:`always`;return z(n?.groupActivation)??r}function Gt(e,t,n){for(let r of e){let e=u(r)??r;!e||t.has(e)||(t.add(e),n.push(e))}}function Kt(e,t,n,r){if(!n||!r)return;let i=u(n)??n;if(!i)return;let a=e.get(t);a||(a=new Map,e.set(t,a)),a.set(i,r)}function qt(e){let{participants:t,roster:n,fallbackE164:r}=e,i=new Set,a=[];if(t?.length&&Gt(t,i,a),n&&Gt(n.keys(),i,a),a.length===0&&r){let e=u(r)??r;e&&a.push(e)}if(a.length!==0)return a.map(e=>{let t=n?.get(e);return t?`${t} (${e})`:e}).join(`, `)}function Jt(e,t){let n=u(t.senderE164??``);return n?Lt(e,t.selfE164??void 0).includes(n):!1}function Yt(e){let t=e.msg.senderName&&e.msg.senderE164?`${e.msg.senderName} (${e.msg.senderE164})`:e.msg.senderName??e.msg.senderE164??`Unknown`;G({historyMap:e.groupHistories,historyKey:e.groupHistoryKey,limit:e.groupHistoryLimit,entry:{sender:t,body:e.msg.body,timestamp:e.msg.timestamp,id:e.msg.id,senderJid:e.msg.senderJid}})}function Xt(e,t){return e.logVerbose(t),Yt({msg:e.msg,groupHistories:e.groupHistories,groupHistoryKey:e.groupHistoryKey,groupHistoryLimit:e.groupHistoryLimit}),{shouldProcess:!1}}function Zt(e){let t=Ht(e.cfg,e.conversationId);if(t.allowlistEnabled&&!t.allowed)return e.logVerbose(`Skipping group message ${e.conversationId} (not in allowlist)`),{shouldProcess:!1};Kt(e.groupMemberNames,e.groupHistoryKey,e.msg.senderE164,e.msg.senderName);let n=Nt(e.cfg,e.agentId),r=Vt(e.msg.body,n.mentionRegexes,e.msg.selfE164),i=me(r),a=Jt(e.baseMentionConfig,e.msg),o=a&&le(r,e.cfg);if(i.hasCommand&&!a)return Xt(e,`Ignoring /activation from non-owner in group ${e.conversationId}`);let s=It(e.msg,n,e.authDir);e.replyLogger.debug({conversationId:e.conversationId,wasMentioned:s.wasMentioned,...s.details},`group mention debug`);let c=s.wasMentioned,l=Wt({cfg:e.cfg,agentId:e.agentId,sessionKey:e.sessionKey,conversationId:e.conversationId})!==`always`,d=e.msg.selfJid?.replace(/:\\d+/,``),f=e.msg.replyToSenderJid?.replace(/:\\d+/,``),p=e.msg.selfE164?u(e.msg.selfE164):null,m=e.msg.replyToSenderE164?u(e.msg.replyToSenderE164):null,h=W({requireMention:l,canDetectMention:!0,wasMentioned:c,implicitMention:!!(d&&f&&d===f||p&&m&&p===m),shouldBypassMention:o});return e.msg.wasMentioned=h.effectiveWasMentioned,!o&&l&&h.shouldSkip?Xt(e,`Group message stored for context (no mention detected) in ${e.conversationId}: ${e.msg.body}`):{shouldProcess:!0}}function Qt(e,t){e.add(t),t.finally(()=>{e.delete(t)})}function $t(t){let n=e(t.cfg.session?.store,{agentId:t.storeAgentId}),r=k({storePath:n,sessionKey:t.sessionKey,deliveryContext:{channel:t.channel,to:t.to,accountId:t.accountId},ctx:t.ctx}).catch(e=>{t.warn({error:q(e),storePath:n,sessionKey:t.sessionKey,to:t.to},`failed updating last route`)});Qt(t.backgroundTasks,r)}function en(e){return e.chatType===`group`?e.conversationId??e.from:e.senderE164?u(e.senderE164)??e.senderE164:e.from.includes(`@`)?m(e.from)??e.from:u(e.from)??e.from}function $(e,t=400){return!e||e.length<=t?e:`${e.slice(0,t)}… (truncated ${e.length-t} chars)`}function tn(e){let t=(e instanceof Error?`${e.message}\n${e.stack??``}`:(e=>{if(e==null)return``;if(typeof e==`string`)return e;if(e instanceof Error)return`${e.message}\n${e.stack??``}`;if(typeof e==`object`)try{return JSON.stringify(e)}catch{return Object.prototype.toString.call(e)}return typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?String(e):typeof e==`symbol`?e.description??e.toString():typeof e==`function`?e.name?`[function ${e.name}]`:`[function]`:Object.prototype.toString.call(e)})(e)).toLowerCase();return t.includes(`unsupported state or unable to authenticate data`)||t.includes(`bad mac`)?t.includes(`@whiskeysockets/baileys`)||t.includes(`baileys`)||t.includes(`noise-handler`)||t.includes(`aesdecryptgcm`):!1}function nn(e){if(e.isReasoning===!0)return!0;let t=e.text;return typeof t==`string`?t.trimStart().toLowerCase().startsWith(`reasoning:`):!1}async function rn(e){let{replyResult:t,msg:n,maxMediaBytes:a,textLimit:o,replyLogger:s,connectionId:c,skipLog:l}=e,u=Date.now();if(nn(t)){Z.debug(`Suppressed reasoning payload to ${n.from}`);return}let d=e.tableMode??`code`,f=e.chunkMode??`length`,p=je(Re(Ie(t.text||``,d)),o,f),m=t.mediaUrls?.length?t.mediaUrls:t.mediaUrl?[t.mediaUrl]:[],h=async(e,t,i=3)=>{let a;for(let o=1;o<=i;o++)try{return await e()}catch(e){a=e;let s=q(e),c=o===i;if(!/closed|reset|timed\s*out|disconnect/i.test(s)||c)throw e;let l=500*o;r(`Retrying ${t} to ${n.from} after failure (${o}/${i-1}) in ${l}ms: ${s}`),await g(l)}throw a};if(m.length===0&&p.length){let e=p.length;for(let[t,r]of p.entries()){let i=Date.now();if(await h(()=>n.reply(r),`text`),!l){let r=Date.now()-i;Z.debug(`Sent chunk ${t+1}/${e} to ${n.from} (${r.toFixed(0)}ms)`)}}s.info({correlationId:n.id??J(),connectionId:c??null,to:n.from,from:n.to,text:$(t.text,240),mediaUrl:null,mediaSizeBytes:null,mediaKind:null,durationMs:Date.now()-u},`auto-reply sent (text)`);return}let _=[...p];for(let[t,o]of m.entries()){let l=t===0&&_.shift()||void 0;try{let t=await Ae(o,{maxBytes:a,localRoots:e.mediaLocalRoots});if(i()&&(r(`Web auto-reply media size: ${(t.buffer.length/(1024*1024)).toFixed(2)}MB`),r(`Web auto-reply media source: ${o} (kind ${t.kind})`)),t.kind===`image`)await h(()=>n.sendMedia({image:t.buffer,caption:l,mimetype:t.contentType}),`media:image`);else if(t.kind===`audio`)await h(()=>n.sendMedia({audio:t.buffer,ptt:!0,mimetype:t.contentType,caption:l}),`media:audio`);else if(t.kind===`video`)await h(()=>n.sendMedia({video:t.buffer,caption:l,mimetype:t.contentType}),`media:video`);else{let e=t.fileName??o.split(`/`).pop()??`file`,r=t.contentType??`application/octet-stream`;await h(()=>n.sendMedia({document:t.buffer,fileName:e,caption:l,mimetype:r}),`media:document`)}Z.info(`Sent media reply to ${n.from} (${(t.buffer.length/(1024*1024)).toFixed(2)}MB)`),s.info({correlationId:n.id??J(),connectionId:c??null,to:n.from,from:n.to,text:l??null,mediaUrl:o,mediaSizeBytes:t.buffer.length,mediaKind:t.kind,durationMs:Date.now()-u},`auto-reply sent (media)`)}catch(e){if(Z.error(`Failed sending web media to ${n.from}: ${q(e)}`),s.warn({err:e,mediaUrl:o},`failed to send web media reply`),t===0){let t=e instanceof Error?`⚠️ Media failed: ${e.message}`:`⚠️ Media failed.`,r=[_.shift()??l??``,t].filter(Boolean).join(`
@@ -1 +1 @@
1
- import"./paths-B4IRk3wi.js";import"./subsystem-BQ1073Mu.js";import"./utils-D1PlBTFH.js";import"./model-selection-B2r_LMFb.js";import"./reply-DHtpIWpD.js";import"./agent-scope-DW6ZDCxj.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-BI_g1HfG.js";import"./env-overrides-C0vMeCeX.js";import"./registry-BwcVQtsI.js";import"./skills-CZ7zEDmo.js";import"./frontmatter-BkZkwkVO.js";import{J as e,K as t,Z as n,rt as r}from"./plugins-1aNlpDX7.js";import"./logger-Bgqzq_Zu.js";import"./exec-BdtFni8N.js";import"./windows-spawn-B36IG4s2.js";import"./redact-DsC5EnL7.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-y2V0aFIS.js";import"./send-DyCUb7oW.js";import"./send-C6J_nLb9.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-DsYKaMCI.js";import"./image-6t162ig6.js";import"./models-config-PU32mWpc.js";import"./tool-display-DBTvIf_I.js";import"./fetch-guard-11xgsj9-.js";import"./api-key-rotation-CayDxQxo.js";import"./local-roots-ClGHF49W.js";import"./model-catalog-CXx8LKWX.js";import"./proxy-fetch-Ci8QXzzm.js";import"./tokens-xmkeRJqo.js";import"./deliver-Dg2TVF1M.js";import"./commands-FDnZnqN5.js";import"./commands-registry-BEMFeaZR.js";import"./pairing-store-mQs2yMkt.js";import"./fetch-Dikjvc5M.js";import"./call-BQAAYLj3.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-kojLym9G.js";import"./send-aEwJo2mZ2.js";import"./pi-model-discovery-DMZplc-U.js";import"./exec-approvals-allowlist-Bh3Rw-aC.js";import"./exec-safe-bin-runtime-policy-BxN1_8e_.js";import"./ir-DcrzIcfF.js";import"./render-D8OWO2hT.js";import"./target-errors-B1wrjiTA.js";import"./read-only-account-inspect-DLD1Pk6l.js";import"./channel-selection-BuH6syM3.js";import"./plugin-auto-enable-DzUZAwai.js";import"./send-HOAYSr2i.js";import"./outbound-attachment-lrGTAaR-.js";import"./delivery-queue-CKbauSFq.js";import"./send-w-vabJ4U.js";import"./channel-activity-CBKv0fto.js";import"./tables-DwrGp-F-.js";import"./fetch-D4txy8qG.js";import"./skill-commands-BN3rmzgq.js";import"./workspace-dirs-BMGwwM6X.js";import"./pairing-token-BipkTRNW.js";import"./restart-Dal_HOce.js";import"./runtime-web-tools-BiMD0yHU.js";import"./command-secret-targets-CbrSGcvV.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-BCxq0f5b.js";import"./onboard-helpers-CKsetIvC.js";import"./prompt-style-DpAh867d.js";import"./pairing-labels-iZoSa-aT.js";import"./memory-cli-P0GDvKlz.js";import"./query-expansion-BNl6JMlz.js";import"./manager-DKyEk2dt.js";import"./links-jlebCPFf.js";import"./cli-utils-BY7dLMFy.js";import"./help-format-Cav62lfS.js";import"./progress-Cyn5U745.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-B1Y6pbxs.js";import"./system-run-command-B212q8f9.js";import"./runtime-Dz2qgcJk.js";import"./stagger-DmFYysrJ.js";import{n as i,t as a}from"./channel-web-DztiTFmw.js";import{t as o}from"./outbound-D02KD9fe.js";import{i as s,t as c}from"./session-SdGBXojs.js";import{t as l}from"./login-BdeCl-NI.js";export{t as WA_WEB_AUTH_DIR,c as createWaSocket,e as logWebSelfId,l as loginWeb,a as monitorWebChannel,i as monitorWebInbox,n as pickWebChannel,o as sendMessageWhatsApp,s as waitForWaConnection,r as webAuthExists};
1
+ import"./paths-B4IRk3wi.js";import"./subsystem-BQ1073Mu.js";import"./utils-D1PlBTFH.js";import"./model-selection-B2r_LMFb.js";import"./reply-HrabJs88.js";import"./agent-scope-DW6ZDCxj.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-BI_g1HfG.js";import"./env-overrides-C0vMeCeX.js";import"./registry-BwcVQtsI.js";import"./skills-CZ7zEDmo.js";import"./frontmatter-BkZkwkVO.js";import{J as e,K as t,Z as n,rt as r}from"./plugins-1aNlpDX7.js";import"./logger-Bgqzq_Zu.js";import"./exec-BdtFni8N.js";import"./windows-spawn-B36IG4s2.js";import"./redact-DsC5EnL7.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-y2V0aFIS.js";import"./send-DyCUb7oW.js";import"./send-C6J_nLb9.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-DsYKaMCI.js";import"./image-6t162ig6.js";import"./models-config-PU32mWpc.js";import"./tool-display-DBTvIf_I.js";import"./fetch-guard-11xgsj9-.js";import"./api-key-rotation-CayDxQxo.js";import"./local-roots-ClGHF49W.js";import"./model-catalog-CXx8LKWX.js";import"./proxy-fetch-Ci8QXzzm.js";import"./tokens-xmkeRJqo.js";import"./deliver-Dg2TVF1M.js";import"./commands-FDnZnqN5.js";import"./commands-registry-BEMFeaZR.js";import"./pairing-store-mQs2yMkt.js";import"./fetch-Dikjvc5M.js";import"./call-BQAAYLj3.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-kojLym9G.js";import"./send-aEwJo2mZ2.js";import"./pi-model-discovery-DMZplc-U.js";import"./exec-approvals-allowlist-Bh3Rw-aC.js";import"./exec-safe-bin-runtime-policy-BxN1_8e_.js";import"./ir-DcrzIcfF.js";import"./render-D8OWO2hT.js";import"./target-errors-B1wrjiTA.js";import"./read-only-account-inspect-DLD1Pk6l.js";import"./channel-selection-BuH6syM3.js";import"./plugin-auto-enable-DzUZAwai.js";import"./send-HOAYSr2i.js";import"./outbound-attachment-lrGTAaR-.js";import"./delivery-queue-CKbauSFq.js";import"./send-w-vabJ4U.js";import"./channel-activity-CBKv0fto.js";import"./tables-DwrGp-F-.js";import"./fetch-D4txy8qG.js";import"./skill-commands-BN3rmzgq.js";import"./workspace-dirs-BMGwwM6X.js";import"./pairing-token-BipkTRNW.js";import"./restart-Dal_HOce.js";import"./runtime-web-tools-BiMD0yHU.js";import"./command-secret-targets-CbrSGcvV.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-BCxq0f5b.js";import"./onboard-helpers-CKsetIvC.js";import"./prompt-style-DpAh867d.js";import"./pairing-labels-iZoSa-aT.js";import"./memory-cli-P0GDvKlz.js";import"./query-expansion-BNl6JMlz.js";import"./manager-DKyEk2dt.js";import"./links-jlebCPFf.js";import"./cli-utils-BY7dLMFy.js";import"./help-format-Cav62lfS.js";import"./progress-Cyn5U745.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-B1Y6pbxs.js";import"./system-run-command-B212q8f9.js";import"./runtime-Dz2qgcJk.js";import"./stagger-DmFYysrJ.js";import{n as i,t as a}from"./channel-web-DCbW654e.js";import{t as o}from"./outbound-D02KD9fe.js";import{i as s,t as c}from"./session-SdGBXojs.js";import{t as l}from"./login-BdeCl-NI.js";export{t as WA_WEB_AUTH_DIR,c as createWaSocket,e as logWebSelfId,l as loginWeb,a as monitorWebChannel,i as monitorWebInbox,n as pickWebChannel,o as sendMessageWhatsApp,s as waitForWaConnection,r as webAuthExists};
@@ -1 +1 @@
1
- import"./subsystem-kTFXkQM5.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import"./auth-profiles-e3SmOvON.js";import"./agent-scope-BKE4M04k.js";import"./utils-7Gdj77QB.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-R4odAlsj.js";import"./version-q3SkUw2K.js";import"./registry-Div2nEwi.js";import"./skills-Df0CxTMH.js";import"./frontmatter-C7mzDNxd.js";import{J as e,K as t,Z as n,rt as r}from"./plugins-CCU8jDti.js";import"./logger-C1GUBMt-.js";import"./exec-CiwCrGw3.js";import"./windows-spawn-Dw4dpTt2.js";import"./redact-bVcVj47r.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-DNQO70y-.js";import"./send-Cfa08ZLE.js";import"./send-DmS34-Eb.js";import"./compact-DutiJiBy.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-D5CbqIVA.js";import"./tokens-D8eWI71q.js";import"./with-timeout-c1CzdShT.js";import"./deliver-HZ99jQzl.js";import"./diagnostic-CvLTqJbq.js";import"./send-CW3hfjkM.js";import"./pi-model-discovery-cW9be_SG.js";import"./exec-approvals-allowlist-DlYH42As.js";import"./exec-safe-bin-runtime-policy-Bu9bb9U5.js";import"./model-catalog-CI2eEH9Y.js";import"./fetch-Dj-FEHSr.js";import"./audio-transcription-runner-BwviCgP5.js";import"./fetch-guard-guH8Tmju.js";import"./image-DQ_3LMNb.js";import"./tool-display-BTuQQN92.js";import"./api-key-rotation-BRm3CNd-.js";import"./proxy-fetch-ByazCl5E.js";import"./ir-CsTyrPwa.js";import"./render-DrrPmnMI.js";import"./target-errors-BRLBPboT.js";import"./commands-DOhEGWJ2.js";import"./commands-registry-CqsggloB.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-Bh1ozdi-.js";import"./sqlite-DgdOh9U-.js";import"./call-D5NJXFgu.js";import"./pi-tools.policy-CklWbQkk.js";import"./pairing-store-CmT1fSmE.js";import"./fetch-Dh-apy46.js";import"./skill-commands-qdKWuiOR.js";import"./workspace-dirs-na4G79jL.js";import"./pairing-token-YrKlxjGC.js";import"./channel-activity-CFgOyIkh.js";import"./tables-5gR6U_tC.js";import"./kill-tree-DihujQie.js";import"./runtime-web-tools-BjmhIJkd.js";import"./runtime-HwYsJOk2.js";import"./node-shell-BuPDYFhk.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-C1kkZyEb.js";import"./plugin-auto-enable-CrVJR--r.js";import"./send-DQxQrVuw.js";import"./outbound-attachment-BKku_WUf.js";import"./delivery-queue-nkPJu0fY.js";import"./send-DVv1dCwu.js";import"./system-run-command-BT2tTJg2.js";import"./fetch-EBjfhrYU.js";import"./command-secret-targets-BtkZwOzh.js";import"./connection-auth-BIApbu6I.js";import"./onboard-helpers-CvWjz0op.js";import"./prompt-style-QJckocuy.js";import"./pairing-labels-B3wRXljf.js";import"./search-manager-Co5RwgQ4.js";import"./manager-p3CCKFcv.js";import"./memory-cli-CTXmLb0V.js";import"./links-pHmQCzdF.js";import"./cli-utils-BleB1eys.js";import"./help-format-BSNXPQuE.js";import"./progress-Cy6zNuIC.js";import"./exec-approvals-BXO9Cezj.js";import{t as i}from"./outbound-DtOHlSvV.js";import{n as a,t as o}from"./channel-web-B7Dzfxgr.js";import{i as s,t as c}from"./session-qITLFUV4.js";import{t as l}from"./login-B3ufIWva.js";export{t as WA_WEB_AUTH_DIR,c as createWaSocket,e as logWebSelfId,l as loginWeb,o as monitorWebChannel,a as monitorWebInbox,n as pickWebChannel,i as sendMessageWhatsApp,s as waitForWaConnection,r as webAuthExists};
1
+ import"./subsystem-kTFXkQM5.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import"./auth-profiles-e3SmOvON.js";import"./agent-scope-BKE4M04k.js";import"./utils-7Gdj77QB.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-R4odAlsj.js";import"./version-q3SkUw2K.js";import"./registry-Div2nEwi.js";import"./skills-Df0CxTMH.js";import"./frontmatter-C7mzDNxd.js";import{J as e,K as t,Z as n,rt as r}from"./plugins-CCU8jDti.js";import"./logger-C1GUBMt-.js";import"./exec-CiwCrGw3.js";import"./windows-spawn-Dw4dpTt2.js";import"./redact-bVcVj47r.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-DNQO70y-.js";import"./send-Cfa08ZLE.js";import"./send-DmS34-Eb.js";import"./compact-B5m4267P.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-D5CbqIVA.js";import"./tokens-D8eWI71q.js";import"./with-timeout-c1CzdShT.js";import"./deliver-HZ99jQzl.js";import"./diagnostic-CvLTqJbq.js";import"./send-CW3hfjkM.js";import"./pi-model-discovery-cW9be_SG.js";import"./exec-approvals-allowlist-DlYH42As.js";import"./exec-safe-bin-runtime-policy-Bu9bb9U5.js";import"./model-catalog-CI2eEH9Y.js";import"./fetch-Dj-FEHSr.js";import"./audio-transcription-runner-BwviCgP5.js";import"./fetch-guard-guH8Tmju.js";import"./image-DQ_3LMNb.js";import"./tool-display-BTuQQN92.js";import"./api-key-rotation-BRm3CNd-.js";import"./proxy-fetch-ByazCl5E.js";import"./ir-CsTyrPwa.js";import"./render-DrrPmnMI.js";import"./target-errors-BRLBPboT.js";import"./commands-DOhEGWJ2.js";import"./commands-registry-CqsggloB.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-Bh1ozdi-.js";import"./sqlite-DgdOh9U-.js";import"./call-D5NJXFgu.js";import"./pi-tools.policy-CklWbQkk.js";import"./pairing-store-CmT1fSmE.js";import"./fetch-Dh-apy46.js";import"./skill-commands-qdKWuiOR.js";import"./workspace-dirs-na4G79jL.js";import"./pairing-token-YrKlxjGC.js";import"./channel-activity-CFgOyIkh.js";import"./tables-5gR6U_tC.js";import"./kill-tree-DihujQie.js";import"./runtime-web-tools-BjmhIJkd.js";import"./runtime-HwYsJOk2.js";import"./node-shell-BuPDYFhk.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-C1kkZyEb.js";import"./plugin-auto-enable-CrVJR--r.js";import"./send-DQxQrVuw.js";import"./outbound-attachment-BKku_WUf.js";import"./delivery-queue-nkPJu0fY.js";import"./send-DVv1dCwu.js";import"./system-run-command-BT2tTJg2.js";import"./fetch-EBjfhrYU.js";import"./command-secret-targets-BtkZwOzh.js";import"./connection-auth-BIApbu6I.js";import"./onboard-helpers-CvWjz0op.js";import"./prompt-style-QJckocuy.js";import"./pairing-labels-B3wRXljf.js";import"./search-manager-Co5RwgQ4.js";import"./manager-p3CCKFcv.js";import"./memory-cli-CTXmLb0V.js";import"./links-pHmQCzdF.js";import"./cli-utils-BleB1eys.js";import"./help-format-BSNXPQuE.js";import"./progress-Cy6zNuIC.js";import"./exec-approvals-BXO9Cezj.js";import{t as i}from"./outbound-DtOHlSvV.js";import{n as a,t as o}from"./channel-web-DBxLlMxt.js";import{i as s,t as c}from"./session-qITLFUV4.js";import{t as l}from"./login-B3ufIWva.js";export{t as WA_WEB_AUTH_DIR,c as createWaSocket,e as logWebSelfId,l as loginWeb,o as monitorWebChannel,a as monitorWebInbox,n as pickWebChannel,i as sendMessageWhatsApp,s as waitForWaConnection,r as webAuthExists};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qqbrowser/openclaw-qbot",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/openclaw/openclaw#readme",