@qqbrowser/openclaw-qbot 0.10.1 → 0.10.2

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 (214) hide show
  1. package/dist/{agents-Cd1yL8fG.js → agents-CCGNI0th.js} +1 -1
  2. package/dist/{agents.config-CaRMmWS8.js → agents.config-B9_IT_un.js} +1 -1
  3. package/dist/{agents.config-DSCcdYtv.js → agents.config-D8Q8p7re.js} +1 -1
  4. package/dist/{auth-choice-MqcWuVyu.js → auth-choice-DacG9sC7.js} +1 -1
  5. package/dist/{auth-choice-BmI4sIGs.js → auth-choice-EAV1bi1K.js} +1 -1
  6. package/dist/{banner-CAtilyXr.js → banner-DiQjNe9B.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-CCqtIYCc.js → channel-options-DcI5T_Su.js} +1 -1
  12. package/dist/{channel-options-CKoyPq8p.js → channel-options-llKYy0-2.js} +1 -1
  13. package/dist/{channel-web-CwUfYqjg.js → channel-web-Qr8ST6tz.js} +1 -1
  14. package/dist/{channel-web-CCSMlUux.js → channel-web-TKrgB4oQ.js} +1 -1
  15. package/dist/{channels-cli-BfgVv5jH.js → channels-cli-BtyzpSQo.js} +1 -1
  16. package/dist/{channels-cli-BvGXgERj.js → channels-cli-CrdwqyiA.js} +1 -1
  17. package/dist/{cli-Bt--1dhL.js → cli-BDzG5MP5.js} +1 -1
  18. package/dist/{cli-CBg8KhmQ.js → cli-BY5POVX1.js} +1 -1
  19. package/dist/{command-registry-D_jtBegA.js → command-registry-DtMCIKRu.js} +1 -1
  20. package/dist/{compact-CYbPi7_-.js → compact-uyQDx8pN.js} +36 -36
  21. package/dist/{compact.runtime-BQu-8DFN.js → compact.runtime-BvWn8-VF.js} +1 -1
  22. package/dist/{compact.runtime-D-fOpaU3.js → compact.runtime-CbCNReBm.js} +1 -1
  23. package/dist/{compact.runtime-owWgKVDf.js → compact.runtime-DcRVnY_G.js} +1 -1
  24. package/dist/{compact.runtime-CrzmR0tV.js → compact.runtime-dgJTRf2V.js} +1 -1
  25. package/dist/{completion-cli-Bw_hBrlA.js → completion-cli-ByNU0Lbo.js} +1 -1
  26. package/dist/{completion-cli-BVbT_aR2.js → completion-cli-DHH7Zr2u.js} +1 -1
  27. package/dist/{config-cli-CwW76_j_.js → config-cli-BeVM5uz1.js} +1 -1
  28. package/dist/{config-cli-F-lkPjjz.js → config-cli-CcE1aKR3.js} +1 -1
  29. package/dist/{configure-DFlnM_zh.js → configure-CF42Va3r.js} +1 -1
  30. package/dist/{configure--c4tTVPz.js → configure-CYw7mK89.js} +1 -1
  31. package/dist/{deps-send-whatsapp.runtime-CqISN5vF.js → deps-send-whatsapp.runtime-7SqhJmWZ.js} +1 -1
  32. package/dist/{deps-send-whatsapp.runtime-C1zG74Si.js → deps-send-whatsapp.runtime-Bocaadqa.js} +1 -1
  33. package/dist/{deps-send-whatsapp.runtime-B5GMQIFv.js → deps-send-whatsapp.runtime-CjA6T7V6.js} +1 -1
  34. package/dist/{deps-send-whatsapp.runtime-CJnSJVnN.js → deps-send-whatsapp.runtime-DTyzQeR_.js} +1 -1
  35. package/dist/{doctor-completion-DI7mGC3D.js → doctor-completion-C15UB3EM.js} +1 -1
  36. package/dist/{doctor-completion-C9CPhCor.js → doctor-completion-KLuf1f33.js} +1 -1
  37. package/dist/entry.js +1 -1
  38. package/dist/extensionAPI.js +1 -1
  39. package/dist/{gateway-cli-BMmU2dsG.js → gateway-cli-CHyybU4X.js} +2 -2
  40. package/dist/{gateway-cli-Kp-caOwI.js → gateway-cli-DV3M2tJP.js} +2 -2
  41. package/dist/{health-B_-ZE5FK.js → health-2MbtCw6U.js} +1 -1
  42. package/dist/{health-CIZFVJEG.js → health-Dmtcw9K8.js} +1 -1
  43. package/dist/{hooks-cli-BoxAnC-E.js → hooks-cli-BaoD0-6l.js} +1 -1
  44. package/dist/{hooks-cli-CnCOjVv0.js → hooks-cli-DWCe4aHR.js} +1 -1
  45. package/dist/index.js +2 -2
  46. package/dist/llm-slug-generator.js +1 -1
  47. package/dist/{models-BBYqej07.js → models-DKf-4KoV.js} +1 -1
  48. package/dist/{models-cli-CMMhnlHo.js → models-cli-Bc8cIZ0A.js} +1 -1
  49. package/dist/{models-cli-CqbDyDn2.js → models-cli-Ble64nV3.js} +1 -1
  50. package/dist/{npm-resolution-CBlwQq3a.js → npm-resolution-BzXV2s2P.js} +1 -1
  51. package/dist/{npm-resolution--_-0q2ks.js → npm-resolution-CZUqHH_2.js} +1 -1
  52. package/dist/{onboard-DZG0HnuP.js → onboard-B8dVlGVk.js} +2 -2
  53. package/dist/{onboard-DlCEww7K.js → onboard-By9pkNca.js} +2 -2
  54. package/dist/{onboard-channels-BDMtq3ex.js → onboard-channels-C5lcb7dF.js} +1 -1
  55. package/dist/{onboard-channels-BO3AN_eA.js → onboard-channels-DFB6deX0.js} +1 -1
  56. package/dist/{onboarding-m-m__16h.js → onboarding-C7vbkuBI.js} +1 -1
  57. package/dist/{onboarding-CxRTJCBM.js → onboarding-DCldCoVy.js} +1 -1
  58. package/dist/{onboarding.finalize-BJxMhYUa.js → onboarding.finalize-C-b9zSIO.js} +1 -1
  59. package/dist/{onboarding.finalize-UiX3YmbI.js → onboarding.finalize-XCttW8IU.js} +1 -1
  60. package/dist/{pi-embedded-X_Svd4Wi.js → pi-embedded-CoHiJa9Q.js} +8 -8
  61. package/dist/{pi-embedded-6yGEd2xd.js → pi-embedded-DLlQ5e_w.js} +8 -8
  62. package/dist/{plugin-registry-DYwEy5eM.js → plugin-registry-C_HKxFxs.js} +1 -1
  63. package/dist/{plugin-registry-CN2aCPP7.js → plugin-registry-DBgXa8jD.js} +1 -1
  64. package/dist/plugin-sdk/{channel-web-Bg8DNyeb.js → channel-web-CMlv9Yzv.js} +1 -1
  65. package/dist/plugin-sdk/{channel-web-B795Ild9.cjs → channel-web-D1tzaMsH.cjs} +1 -1
  66. package/dist/plugin-sdk/{channel-web-D5zxPW-x.js → channel-web-DowgDxtO.js} +1 -1
  67. package/dist/plugin-sdk/{channel-web-CW42ALB5.cjs → channel-web-VsaRZCG2.cjs} +1 -1
  68. package/dist/plugin-sdk/{compact.runtime-Cr6oI5li.js → compact.runtime-B4M-VPyN.js} +1 -1
  69. package/dist/plugin-sdk/{compact.runtime-BR00C0_i.cjs → compact.runtime-BeWqnWW5.cjs} +1 -1
  70. package/dist/plugin-sdk/{compact.runtime-DOcQzBT5.cjs → compact.runtime-BnF9vU5j.cjs} +1 -1
  71. package/dist/plugin-sdk/{compact.runtime-D-3vVYGF.js → compact.runtime-C5vcsriA.js} +1 -1
  72. package/dist/plugin-sdk/{compact.runtime-BBqQuOlJ.cjs → compact.runtime-CS04yjUP.cjs} +1 -1
  73. package/dist/plugin-sdk/{compact.runtime-CGKItjCQ.js → compact.runtime-CepgZBh6.js} +1 -1
  74. package/dist/plugin-sdk/{compact.runtime-C-sPm0kL.cjs → compact.runtime-CuGn1L3D.cjs} +1 -1
  75. package/dist/plugin-sdk/{compact.runtime-CAiT8DtI.js → compact.runtime-DNocZUm6.js} +1 -1
  76. package/dist/plugin-sdk/{compact.runtime-CmQT69OD.cjs → compact.runtime-DQRsRwKH.cjs} +1 -1
  77. package/dist/plugin-sdk/{compact.runtime-BXuXwnQ_.cjs → compact.runtime-DnWYG9Ij.cjs} +1 -1
  78. package/dist/plugin-sdk/{compact.runtime-BxzvSPrQ.js → compact.runtime-W8dIsxRV.js} +1 -1
  79. package/dist/plugin-sdk/{compact.runtime-B1fslZX1.js → compact.runtime-hS2NXspw.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-WXiE5pA7.js → deps-send-whatsapp.runtime-B5Nz8XrQ.js} +1 -1
  83. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DKoOiTZZ.cjs → deps-send-whatsapp.runtime-B5R8WAYy.cjs} +1 -1
  84. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DlO-S_iA.js → deps-send-whatsapp.runtime-B6ua6LoP.js} +1 -1
  85. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BUuj08qp.cjs → deps-send-whatsapp.runtime-BPMIzR5x.cjs} +1 -1
  86. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-iI9qWUzR.cjs → deps-send-whatsapp.runtime-Bpq7VeGO.cjs} +1 -1
  87. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-3kX5dnHC.js → deps-send-whatsapp.runtime-D3YUudyV.js} +1 -1
  88. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-Xn1KqyPS.js → deps-send-whatsapp.runtime-DFxWO5_f.js} +1 -1
  89. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-CE9LgvzJ.cjs → deps-send-whatsapp.runtime-DZ_pLOPK.cjs} +1 -1
  90. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-t0Z0IyDq.cjs → deps-send-whatsapp.runtime-DyoJd0Hw.cjs} +1 -1
  91. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-rOnSc6qE.js → deps-send-whatsapp.runtime-ZkaerhQ1.js} +1 -1
  92. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-QUlRFE48.cjs → deps-send-whatsapp.runtime-_wzNB18A.cjs} +1 -1
  93. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DKVfDIzU.js → deps-send-whatsapp.runtime-bBd46QxW.js} +1 -1
  94. package/dist/plugin-sdk/{dispatch-DAaOM5c1.cjs → dispatch-B8dzPpi1.cjs} +8 -8
  95. package/dist/plugin-sdk/{dispatch-DYRrW05S.js → dispatch-B9FQyNfe.js} +36 -36
  96. package/dist/plugin-sdk/{dispatch-Dl0eaYcY.cjs → dispatch-BB5AfYlI.cjs} +8 -8
  97. package/dist/plugin-sdk/{dispatch-_tJF5hSh.cjs → dispatch-BIaey_BU.cjs} +8 -8
  98. package/dist/plugin-sdk/{dispatch-B13B2T1k.js → dispatch-BY1FkQOr.js} +8 -8
  99. package/dist/plugin-sdk/{dispatch-cPg1rBWu.cjs → dispatch-Bybxc9Yl.cjs} +8 -8
  100. package/dist/plugin-sdk/{dispatch-BlOkbw2U.js → dispatch-CADw_Fi7.js} +8 -8
  101. package/dist/plugin-sdk/{dispatch-Dap2ZPC9.js → dispatch-CZqPeEcw.js} +8 -8
  102. package/dist/plugin-sdk/{dispatch-BaBcLOry.js → dispatch-DafB1x1O.js} +8 -8
  103. package/dist/plugin-sdk/{dispatch-D2Km7gvG.cjs → dispatch-DcyylSdu.cjs} +8 -8
  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-JD6VIW5N.cjs → reply-6D8nZUZ1.cjs} +8 -8
  115. package/dist/plugin-sdk/{reply-73PF8kN_.js → reply-gpVkJsEs.js} +8 -8
  116. package/dist/plugin-sdk/{slash-dispatch.runtime-DAgDLU__.js → slash-dispatch.runtime-2hUZv0o4.js} +1 -1
  117. package/dist/plugin-sdk/{slash-dispatch.runtime-BfheQLfD.js → slash-dispatch.runtime-B4sdtKqK.js} +1 -1
  118. package/dist/plugin-sdk/{slash-dispatch.runtime-CmVqJqfV.js → slash-dispatch.runtime-BCAWJ135.js} +1 -1
  119. package/dist/plugin-sdk/{slash-dispatch.runtime-wWa-kKvH.js → slash-dispatch.runtime-BJX-7mTD.js} +1 -1
  120. package/dist/plugin-sdk/{slash-dispatch.runtime-C6cMCwSp.js → slash-dispatch.runtime-BY3aBzxK.js} +1 -1
  121. package/dist/plugin-sdk/{slash-dispatch.runtime-BVXTmhZU.js → slash-dispatch.runtime-CHFbytW1.js} +1 -1
  122. package/dist/plugin-sdk/{slash-dispatch.runtime-BcO6NdxL.cjs → slash-dispatch.runtime-Cf-EuMPD.cjs} +1 -1
  123. package/dist/plugin-sdk/{slash-dispatch.runtime-CYmmyw9o.cjs → slash-dispatch.runtime-CukipBLa.cjs} +1 -1
  124. package/dist/plugin-sdk/{slash-dispatch.runtime-DNI9fZFo.cjs → slash-dispatch.runtime-D7JTU7km.cjs} +1 -1
  125. package/dist/plugin-sdk/{slash-dispatch.runtime-BQWrcjEG.cjs → slash-dispatch.runtime-DZq0olM2.cjs} +1 -1
  126. package/dist/plugin-sdk/{slash-dispatch.runtime-Cp5-cPgM.cjs → slash-dispatch.runtime-ILA0KH-p.cjs} +1 -1
  127. package/dist/plugin-sdk/{slash-dispatch.runtime-CD6AFEn3.cjs → slash-dispatch.runtime-_i2UiDTt.cjs} +1 -1
  128. package/dist/plugin-sdk/{subagent-registry-runtime-BINR9wKz.cjs → subagent-registry-runtime-7wfZ9Ydg.cjs} +1 -1
  129. package/dist/plugin-sdk/{subagent-registry-runtime-q6csFFiS.js → subagent-registry-runtime-B6Go3QMY.js} +1 -1
  130. package/dist/plugin-sdk/{subagent-registry-runtime-CPYQLLoh.cjs → subagent-registry-runtime-Bf71VzVF.cjs} +1 -1
  131. package/dist/plugin-sdk/{subagent-registry-runtime-DCd8DMgz.js → subagent-registry-runtime-CKlyWpvM.js} +1 -1
  132. package/dist/plugin-sdk/{subagent-registry-runtime-BfT45xXa.cjs → subagent-registry-runtime-CcyvhbJH.cjs} +1 -1
  133. package/dist/plugin-sdk/{subagent-registry-runtime-DYhr9YcP.js → subagent-registry-runtime-D4y3Fxlu.js} +1 -1
  134. package/dist/plugin-sdk/{subagent-registry-runtime-BBwsJL9B.cjs → subagent-registry-runtime-DFCUhuvT.cjs} +1 -1
  135. package/dist/plugin-sdk/{subagent-registry-runtime-CjnSOShL.js → subagent-registry-runtime-DWZUy1eI.js} +1 -1
  136. package/dist/plugin-sdk/{subagent-registry-runtime-B9uDb_ij.js → subagent-registry-runtime-DkCs3cQj.js} +1 -1
  137. package/dist/plugin-sdk/{subagent-registry-runtime-DB8YDuGj.js → subagent-registry-runtime-RrhCNI-u.js} +1 -1
  138. package/dist/plugin-sdk/{subagent-registry-runtime-iiOzLeYb.cjs → subagent-registry-runtime-S2yCcuWA.cjs} +1 -1
  139. package/dist/plugin-sdk/{subagent-registry-runtime-ClkQBnJu.cjs → subagent-registry-runtime-zTYi4rJR.cjs} +1 -1
  140. package/dist/plugin-sdk/{web-Bh78uOi8.cjs → web-C-_Bja5u.cjs} +1 -1
  141. package/dist/plugin-sdk/{web-C4ezqWIt.js → web-C7h16O4t.js} +1 -1
  142. package/dist/plugin-sdk/{web-B7d3p3kx.cjs → web-Cf2Ivjcn.cjs} +1 -1
  143. package/dist/plugin-sdk/{web-DFDao2So.cjs → web-CfvlhITy.cjs} +1 -1
  144. package/dist/plugin-sdk/{web-JciOW43P.js → web-DzgvdKmn.js} +1 -1
  145. package/dist/plugin-sdk/{web-Bg2LIMdb.cjs → web-RmaRbUK1.cjs} +1 -1
  146. package/dist/plugin-sdk/{web-SwpoHf2A.js → web-bHdImk0G.js} +1 -1
  147. package/dist/plugin-sdk/{web-DjbeDvyv.js → web-bT52Rp59.js} +1 -1
  148. package/dist/plugin-sdk/{web-vSFigMHz.cjs → web-pFlzmHcu.cjs} +1 -1
  149. package/dist/plugin-sdk/{web-BEuW8Yqw.js → web-rFQBs9b0.js} +1 -1
  150. package/dist/plugin-sdk/{web--8MBOleK.js → web-uQqWClDT.js} +1 -1
  151. package/dist/plugin-sdk/{web-BPQv-4Qv.cjs → web-wnw_PMil.cjs} +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-PVHBZeb8.js → plugins-cli-BjLj52hA.js} +1 -1
  155. package/dist/{plugins-cli-CnXgwZzI.js → plugins-cli-CwQOOOym.js} +1 -1
  156. package/dist/ports-BDZyt9rk.js +2 -0
  157. package/dist/ports-DmJX-iq9.js +2 -0
  158. package/dist/{program-D53eGuSf.js → program-RvezCMDs.js} +2 -2
  159. package/dist/{program-context-n-ovYq69.js → program-context-C4vPkfWW.js} +1 -1
  160. package/dist/{prompt-select-styled-DolCW-_j.js → prompt-select-styled-C-zw_5_b.js} +1 -1
  161. package/dist/{prompt-select-styled-DZnefcrY.js → prompt-select-styled-CoP6cSMX.js} +1 -1
  162. package/dist/{provider-auth-helpers-BLm2bdp5.js → provider-auth-helpers-DeCLF5oV.js} +1 -1
  163. package/dist/{provider-auth-helpers-DPz0vN_c.js → provider-auth-helpers-Rv3hdZ7j.js} +1 -1
  164. package/dist/{push-apns-BBv62ncV.js → push-apns-BfTKAzRZ.js} +1 -1
  165. package/dist/{push-apns-DIV5dBPP.js → push-apns-CeY33Rxc.js} +1 -1
  166. package/dist/{register.agent-DQdoMfmw.js → register.agent-CANRVL5k.js} +1 -1
  167. package/dist/{register.agent-DHOTtB8X.js → register.agent-He4UYNpV.js} +1 -1
  168. package/dist/{register.configure-C2N82brC.js → register.configure-CqsxTDtC.js} +1 -1
  169. package/dist/{register.configure-C6zjzaEo.js → register.configure-CwuLuKsv.js} +1 -1
  170. package/dist/{register.maintenance-CStaPxaB.js → register.maintenance-B5cnDjLy.js} +1 -1
  171. package/dist/{register.maintenance-aKBTd9Zp.js → register.maintenance-CHJQh81L.js} +1 -1
  172. package/dist/{register.message-DHDcOA8X.js → register.message-CEcXemHd.js} +1 -1
  173. package/dist/{register.message-Dh72QHKA.js → register.message-DoA6MALf.js} +1 -1
  174. package/dist/{register.onboard-DB9FWAKT.js → register.onboard-B01N1AYH.js} +1 -1
  175. package/dist/{register.onboard-Bu9gpFlA.js → register.onboard-B5iQpfVG.js} +1 -1
  176. package/dist/{register.setup-D76IRs4s.js → register.setup-BTKZzyRh.js} +1 -1
  177. package/dist/{register.setup-CeG2ETmr.js → register.setup-CPGByOtO.js} +1 -1
  178. package/dist/{register.status-health-sessions-mPGKFjIz.js → register.status-health-sessions-CPmSNp3F.js} +1 -1
  179. package/dist/{register.status-health-sessions-Dtpd1P2M.js → register.status-health-sessions-hrQLxH-w.js} +1 -1
  180. package/dist/{register.subclis-Drp2dGBe.js → register.subclis-CqVDIyhT.js} +1 -1
  181. package/dist/{reply-DwfVhea1.js → reply-mWIMy_ju.js} +8 -8
  182. package/dist/{run-main-CjwjyWA6.js → run-main-B2f6FBb0.js} +1 -1
  183. package/dist/{server-node-events-CL0pWoMa.js → server-node-events-BtKnElP0.js} +1 -1
  184. package/dist/{server-node-events-ChPQ984b.js → server-node-events-DnyBXZtB.js} +1 -1
  185. package/dist/{slash-dispatch.runtime-jR7ZpRLo.js → slash-dispatch.runtime-B8S9VVjy.js} +1 -1
  186. package/dist/{slash-dispatch.runtime-CHDiNcch.js → slash-dispatch.runtime-CS58xiJF.js} +1 -1
  187. package/dist/{slash-dispatch.runtime-DgsOlRbg.js → slash-dispatch.runtime-CZrxUnBW.js} +1 -1
  188. package/dist/{slash-dispatch.runtime-Bh87LG5X.js → slash-dispatch.runtime-Cq_OU6GL.js} +1 -1
  189. package/dist/{status-o3Gfr-6l.js → status-C3OhTrWE.js} +1 -1
  190. package/dist/{status-BSHWBrg0.js → status-tL-XCvJC.js} +1 -1
  191. package/dist/{subagent-registry-runtime-B8nEWxYm.js → subagent-registry-runtime-BvPAovsV.js} +1 -1
  192. package/dist/{subagent-registry-runtime-D5PhzS7u.js → subagent-registry-runtime-ClREKCLG.js} +1 -1
  193. package/dist/{subagent-registry-runtime-C6xoTyr_.js → subagent-registry-runtime-D2cjV86K.js} +1 -1
  194. package/dist/{subagent-registry-runtime-DU6-3b5M.js → subagent-registry-runtime-dcrGDOTV.js} +1 -1
  195. package/dist/{update-cli-DU5tRH3c.js → update-cli-CZsuMrHE.js} +1 -1
  196. package/dist/{update-cli-CL_cUjuq.js → update-cli-DAPHNGDM.js} +1 -1
  197. package/dist/{update-runner-DG-1TYYc.js → update-runner-DZkN4otc.js} +1 -1
  198. package/dist/{update-runner-DABdlxfN.js → update-runner-DhaHCCx3.js} +1 -1
  199. package/dist/{web-C0WkwHal.js → web-BPloShgg.js} +1 -1
  200. package/dist/{web-u71NbOpT.js → web-BbOH61Lx.js} +1 -1
  201. package/dist/{web-DPQjx48C.js → web-CMSYMAHG.js} +1 -1
  202. package/dist/{web-Dfi2WjvN.js → web-WBvnAfBv.js} +1 -1
  203. package/extensions/qqbrowser-skill-control/index.js +1 -1
  204. package/node_modules/@google/genai/dist/index.cjs +8 -8
  205. package/node_modules/@google/genai/dist/index.mjs +8 -8
  206. package/node_modules/@google/genai/dist/node/index.cjs +8 -8
  207. package/node_modules/@google/genai/dist/node/index.mjs +8 -8
  208. package/node_modules/@google/genai/dist/vertex_internal/index.cjs +1 -1
  209. package/node_modules/@google/genai/dist/vertex_internal/index.js +1 -1
  210. package/node_modules/@google/genai/dist/web/index.mjs +8 -8
  211. package/node_modules/@google/genai/package.json +1 -1
  212. package/package.json +1 -1
  213. package/dist/ports-BAaLOkJp.js +0 -2
  214. package/dist/ports-DDWP1p0X.js +0 -2
@@ -1,4 +1,4 @@
1
- import{A as e,p as t}from"./subsystem-BLbY429l.js";import{g as n,n as r,u as i}from"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Bo as a,Fo as o}from"./auth-profiles-C8rZRS0X.js";import{n as s,r as c,t as l}from"./command-format-CLxIPuLR.js";import"./agent-scope-DAWJwFfl.js";import{m as u}from"./utils-CGdo13HV.js";import{t as d}from"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-Bz_S4lPh.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import{t as f}from"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-vNcod64S.js";import"./send-CyarIb2w.js";import{Nt as p}from"./compact-CYbPi7_-.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-DZzS67GS.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import"./deliver-SqSusZP3.js";import"./diagnostic-D1H7_8QG.js";import"./send-Dj7NBAWg.js";import"./pi-model-discovery-BPkhPDMr.js";import"./exec-approvals-allowlist-CGjRWREs.js";import"./exec-safe-bin-runtime-policy-v44u39fl.js";import"./model-catalog-mt0IcDfR.js";import"./fetch-B4bz67_N.js";import"./audio-transcription-runner-BIKj1CBU.js";import"./fetch-guard-DaZmvp-L.js";import"./image-BVbOr9yV.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-BpEL4aeX.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-DdjufzKF.js";import"./render-DrrPmnMI.js";import"./target-errors-D6wejRd6.js";import"./commands-Dy7duWlt.js";import"./commands-registry-DT6FDUev.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-Bpdyx2A2.js";import"./sqlite-CILF3z9U.js";import"./call-BWx7hNtl.js";import"./pi-tools.policy-B6q8YOfg.js";import"./pairing-store-BaaVy1zB.js";import"./fetch-Dh-apy46.js";import"./skill-commands-DCqPy_Aa.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-zdbQ951y.js";import"./channel-activity-BhiLsKvM.js";import"./tables-DENKrP-W.js";import{m,p as h,u as g}from"./arg-split-BOqSMBuf.js";import"./kill-tree-D6nPx1_o.js";import{n as _}from"./cmd-argv-Bh-KpaZ0.js";import"./runtime-web-tools-BYhCkBV8.js";import"./runtime-CK7gqwEF.js";import"./node-shell-BVZylVP6.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-BPxE8JR7.js";import"./plugin-auto-enable-adba5Evb.js";import"./send-ChILboDj.js";import"./outbound-attachment-CVcDBkAD.js";import"./delivery-queue-nkPJu0fY.js";import"./send-COpehmAB.js";import"./system-run-command-DsWBVvSK.js";import"./fetch-Ce-scEU-.js";import{r as v}from"./format-duration-C8AzNqKh.js";import"./command-secret-targets-BEjtBf5Z.js";import"./connection-auth-CjaeEu5D.js";import"./onboard-helpers-DOlI17Ac.js";import{n as y}from"./prompt-style-BThRSQJR.js";import"./pairing-labels-CZ-aX-up.js";import"./search-manager-CV2YsAym.js";import"./manager-CxZRoQkE.js";import"./memory-cli-C8fBBPgv.js";import{t as b}from"./links-CBnmRP9D.js";import"./cli-utils-BleB1eys.js";import{t as x}from"./help-format-B4aEI7V9.js";import"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import"./skills-status-DpSboPY1.js";import{n as S}from"./command-options-BpOUDl2S.js";import"./note-Dp-d_utk.js";import"./install-safe-path-C6kc_8NW.js";import"./npm-pack-install-C0te3Oap.js";import"./skill-scanner-CkxXNioD.js";import"./installs-CKzq-YqL.js";import{n as ee}from"./issue-format-CN9PHzXY.js";import"./channels-status-issues-8eFrGKyf.js";import{r as C}from"./completion-cli-BVbT_aR2.js";import"./register.subclis-Drp2dGBe.js";import"./command-registry-D_jtBegA.js";import"./program-context-CH9p6anW.js";import"./daemon-install-plan.shared-Dx3DBXCG.js";import{r as w}from"./runtime-guard-DX2Ie4ri.js";import"./gateway-install-token-cSJrfU_1.js";import"./systemd-DbevZh65.js";import{n as te}from"./service-DZ9EbS15.js";import"./lifecycle-core-D_LWJeD_.js";import"./systemd-hints-lXpMy-kY.js";import{a as T,i as E,l as D,o as O,r as k}from"./daemon-cli-CEHkT-54.js";import"./probe-auth-C5nWfMS9.js";import"./diagnostics-Cdctg9K_.js";import{n as A,t as j}from"./table-CR7TFMew.js";import"./health-CIZFVJEG.js";import"./control-ui-assets-CTHGGgaX.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-DAcarnqW.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-DABdlxfN.js";import{i as fe,n as pe,t as me}from"./status.update-B_8Gumuc.js";import"./logging-B7XHbCNn.js";import"./oauth-tls-preflight-BSBRDIfC.js";import{n as he,t as ge}from"./update-CMneH_48.js";import"./doctor-config-flow-Dio3s4x6.js";import"./systemd-linger-cWKbFNpu.js";import"./health-format-B1nj3Wfn.js";import{n as _e,t as ve}from"./prompt-select-styled-DZnefcrY.js";import{r as B,t as ye}from"./doctor-completion-DI7mGC3D.js";import{spawn as be,spawnSync as xe}from"node:child_process";import V from"node:os";import H from"node:path";import U from"node:fs/promises";import{confirm as W,isCancel as G,spinner as Se}from"@clack/prompts";function K(e){let n=e?Number.parseInt(e,10)*1e3:void 0;return n!==void 0&&(Number.isNaN(n)||n<=0)?(t.error(`--timeout must be a positive integer (seconds)`),t.exit(1),null):n}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 w(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 n(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 d({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 f(e.argv,{cwd:e.cwd,timeoutMs:e.timeoutMs}),i=Date.now()-n,a=p(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:p(r.stdout,Ce),stderrTail:a}}async function Pe(e){if(!await u(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(n,r){let i=H.join(n,`openclaw.mjs`);if(!await u(i))return;let a=xe(J(),[i,`completion`,`--write-state`],{cwd:n,env:process.env,encoding:`utf-8`});if(a.error){r||t.log(e.warn(`Completion cache update failed: ${String(a.error)}`));return}if(a.status!==0&&!r){let n=(a.stderr??``).toString().trim(),r=n?` (${n})`:``;t.log(e.warn(`Completion cache update failed${r}.`))}}function Ie(){return async(e,t)=>{let n=await f(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(n){let r=K(n.timeout);if(r===null)return;let i=await Y(),a=await o(),s=a.valid?F(a.config.update?.channel):null,c=await I({root:i,timeoutMs:r??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(n.json){t.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?e.warn(`available · ${p}`):p}];t.log(e.heading(`OpenClaw update status`)),t.log(``),t.log(A({width:m,columns:[{key:`Item`,header:`Item`,minWidth:10},{key:`Value`,header:`Value`,flex:!0,minWidth:24}],rows:h}).trimEnd()),t.log(``);let g=me(c);g&&t.log(e.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(n){if(!n)return{progress:{},stop:()=>{}};let r=null;return{progress:{onStepStart:t=>{r=Se(),r.start(e.accent(Be(t)))},onStepComplete:n=>{if(!r)return;let i=Be(n),a=e.muted(`(${v(n.durationMs)})`),o=n.exitCode===0?e.success(`✓`):e.error(`✗`);if(r.stop(`${o} ${i} ${a}`),r=null,n.exitCode!==0&&n.stderrTail){let r=n.stderrTail.split(`
1
+ import{A as e,p as t}from"./subsystem-BLbY429l.js";import{g as n,n as r,u as i}from"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Bo as a,Fo as o}from"./auth-profiles-C8rZRS0X.js";import{n as s,r as c,t as l}from"./command-format-CLxIPuLR.js";import"./agent-scope-DAWJwFfl.js";import{m as u}from"./utils-CGdo13HV.js";import{t as d}from"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-Bz_S4lPh.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import{t as f}from"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-vNcod64S.js";import"./send-CyarIb2w.js";import{Nt as p}from"./compact-uyQDx8pN.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-DZzS67GS.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import"./deliver-SqSusZP3.js";import"./diagnostic-D1H7_8QG.js";import"./send-Dj7NBAWg.js";import"./pi-model-discovery-BPkhPDMr.js";import"./exec-approvals-allowlist-CGjRWREs.js";import"./exec-safe-bin-runtime-policy-v44u39fl.js";import"./model-catalog-mt0IcDfR.js";import"./fetch-B4bz67_N.js";import"./audio-transcription-runner-BIKj1CBU.js";import"./fetch-guard-DaZmvp-L.js";import"./image-BVbOr9yV.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-BpEL4aeX.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-DdjufzKF.js";import"./render-DrrPmnMI.js";import"./target-errors-D6wejRd6.js";import"./commands-Dy7duWlt.js";import"./commands-registry-DT6FDUev.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-Bpdyx2A2.js";import"./sqlite-CILF3z9U.js";import"./call-BWx7hNtl.js";import"./pi-tools.policy-B6q8YOfg.js";import"./pairing-store-BaaVy1zB.js";import"./fetch-Dh-apy46.js";import"./skill-commands-DCqPy_Aa.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-zdbQ951y.js";import"./channel-activity-BhiLsKvM.js";import"./tables-DENKrP-W.js";import{m,p as h,u as g}from"./arg-split-BOqSMBuf.js";import"./kill-tree-D6nPx1_o.js";import{n as _}from"./cmd-argv-Bh-KpaZ0.js";import"./runtime-web-tools-BYhCkBV8.js";import"./runtime-CK7gqwEF.js";import"./node-shell-BVZylVP6.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-BPxE8JR7.js";import"./plugin-auto-enable-adba5Evb.js";import"./send-ChILboDj.js";import"./outbound-attachment-CVcDBkAD.js";import"./delivery-queue-nkPJu0fY.js";import"./send-COpehmAB.js";import"./system-run-command-DsWBVvSK.js";import"./fetch-Ce-scEU-.js";import{r as v}from"./format-duration-C8AzNqKh.js";import"./command-secret-targets-BEjtBf5Z.js";import"./connection-auth-CjaeEu5D.js";import"./onboard-helpers-DOlI17Ac.js";import{n as y}from"./prompt-style-BThRSQJR.js";import"./pairing-labels-CZ-aX-up.js";import"./search-manager-CV2YsAym.js";import"./manager-CxZRoQkE.js";import"./memory-cli-C8fBBPgv.js";import{t as b}from"./links-CBnmRP9D.js";import"./cli-utils-BleB1eys.js";import{t as x}from"./help-format-B4aEI7V9.js";import"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import"./skills-status-DpSboPY1.js";import{n as S}from"./command-options-BpOUDl2S.js";import"./note-Dp-d_utk.js";import"./install-safe-path-C6kc_8NW.js";import"./npm-pack-install-C0te3Oap.js";import"./skill-scanner-CkxXNioD.js";import"./installs-CKzq-YqL.js";import{n as ee}from"./issue-format-CN9PHzXY.js";import"./channels-status-issues-8eFrGKyf.js";import{r as C}from"./completion-cli-DHH7Zr2u.js";import"./register.subclis-CqVDIyhT.js";import"./command-registry-DtMCIKRu.js";import"./program-context-CH9p6anW.js";import"./daemon-install-plan.shared-Dx3DBXCG.js";import{r as w}from"./runtime-guard-DX2Ie4ri.js";import"./gateway-install-token-cSJrfU_1.js";import"./systemd-DbevZh65.js";import{n as te}from"./service-DZ9EbS15.js";import"./lifecycle-core-D_LWJeD_.js";import"./systemd-hints-lXpMy-kY.js";import{a as T,i as E,l as D,o as O,r as k}from"./daemon-cli-CEHkT-54.js";import"./probe-auth-C5nWfMS9.js";import"./diagnostics-Cdctg9K_.js";import{n as A,t as j}from"./table-CR7TFMew.js";import"./health-Dmtcw9K8.js";import"./control-ui-assets-CTHGGgaX.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-DAcarnqW.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-DhaHCCx3.js";import{i as fe,n as pe,t as me}from"./status.update-B_8Gumuc.js";import"./logging-B7XHbCNn.js";import"./oauth-tls-preflight-BSBRDIfC.js";import{n as he,t as ge}from"./update-CMneH_48.js";import"./doctor-config-flow-Dio3s4x6.js";import"./systemd-linger-cWKbFNpu.js";import"./health-format-B1nj3Wfn.js";import{n as _e,t as ve}from"./prompt-select-styled-CoP6cSMX.js";import{r as B,t as ye}from"./doctor-completion-C15UB3EM.js";import{spawn as be,spawnSync as xe}from"node:child_process";import V from"node:os";import H from"node:path";import U from"node:fs/promises";import{confirm as W,isCancel as G,spinner as Se}from"@clack/prompts";function K(e){let n=e?Number.parseInt(e,10)*1e3:void 0;return n!==void 0&&(Number.isNaN(n)||n<=0)?(t.error(`--timeout must be a positive integer (seconds)`),t.exit(1),null):n}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 w(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 n(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 d({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 f(e.argv,{cwd:e.cwd,timeoutMs:e.timeoutMs}),i=Date.now()-n,a=p(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:p(r.stdout,Ce),stderrTail:a}}async function Pe(e){if(!await u(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(n,r){let i=H.join(n,`openclaw.mjs`);if(!await u(i))return;let a=xe(J(),[i,`completion`,`--write-state`],{cwd:n,env:process.env,encoding:`utf-8`});if(a.error){r||t.log(e.warn(`Completion cache update failed: ${String(a.error)}`));return}if(a.status!==0&&!r){let n=(a.stderr??``).toString().trim(),r=n?` (${n})`:``;t.log(e.warn(`Completion cache update failed${r}.`))}}function Ie(){return async(e,t)=>{let n=await f(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(n){let r=K(n.timeout);if(r===null)return;let i=await Y(),a=await o(),s=a.valid?F(a.config.update?.channel):null,c=await I({root:i,timeoutMs:r??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(n.json){t.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?e.warn(`available · ${p}`):p}];t.log(e.heading(`OpenClaw update status`)),t.log(``),t.log(A({width:m,columns:[{key:`Item`,header:`Item`,minWidth:10},{key:`Value`,header:`Value`,flex:!0,minWidth:24}],rows:h}).trimEnd()),t.log(``);let g=me(c);g&&t.log(e.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(n){if(!n)return{progress:{},stop:()=>{}};let r=null;return{progress:{onStepStart:t=>{r=Se(),r.start(e.accent(Be(t)))},onStepComplete:n=>{if(!r)return;let i=Be(n),a=e.muted(`(${v(n.durationMs)})`),o=n.exitCode===0?e.success(`✓`):e.error(`✗`);if(r.stop(`${o} ${i} ${a}`),r=null,n.exitCode!==0&&n.stderrTail){let r=n.stderrTail.split(`
2
2
  `).slice(-10);for(let n of r)n.trim()&&t.log(` ${e.error(n)}`)}}},stop:()=>{r&&=(r.stop(),null)}}}function Ue(t){return t===0?e.success(`✓`):t===null?e.warn(`?`):e.error(`✗`)}function We(n,r){if(r.json){t.log(JSON.stringify(n,null,2));return}let i=n.status===`ok`?e.success:n.status===`skipped`?e.warn:e.error;if(t.log(``),t.log(`${e.heading(`Update Result:`)} ${i(n.status.toUpperCase())}`),n.root&&t.log(` Root: ${e.muted(n.root)}`),n.reason&&t.log(` Reason: ${e.muted(n.reason)}`),n.before?.version||n.before?.sha){let r=n.before.version??n.before.sha?.slice(0,8)??``;t.log(` Before: ${e.muted(r)}`)}if(n.after?.version||n.after?.sha){let r=n.after.version??n.after.sha?.slice(0,8)??``;t.log(` After: ${e.muted(r)}`)}if(!r.hideSteps&&n.steps.length>0){t.log(``),t.log(e.heading(`Steps:`));for(let r of n.steps){let n=Ue(r.exitCode),i=e.muted(`(${v(r.durationMs)})`);if(t.log(` ${n} ${r.name} ${i}`),r.exitCode!==0&&r.stderrTail){let n=r.stderrTail.split(`
3
3
  `).slice(0,5);for(let r of n)r.trim()&&t.log(` ${e.error(r)}`)}}}let a=Ve(n);if(a.length>0){t.log(``),t.log(e.heading(`Recovery hints:`));for(let n of a)t.log(` - ${e.warn(n)}`)}t.log(``),t.log(`Total time: ${e.muted(v(n.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`:`${h(e.OPENCLAW_PROFILE)}.service`}function qe(e){return e.OPENCLAW_LAUNCHD_LABEL?.trim()||g(e.OPENCLAW_PROFILE)}function Je(e){return e.OPENCLAW_WINDOWS_TASK_NAME?.trim()||m(e.OPENCLAW_PROFILE)}async function Ye(e=process.env,t=r){let n=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{h as e}from"./utils-UGOV_184.js";import{$ as t,K as n,Q as r,V as i,Y as a}from"./reply-DwfVhea1.js";import{t as o}from"./exec-DHqLtFYt.js";import{i as s,r as c,t as l}from"./stagger-DmFYysrJ.js";import{c as u}from"./daemon-install-plan.shared-BkwZgIAY.js";import{i as d,r as f}from"./control-ui-assets-BIa0GGDg.js";import{f as p,l as m,p as h,r as g,s as _,u as v}from"./channel-account-context-BMPAMZEv.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-UGOV_184.js";import{$ as t,K as n,Q as r,V as i,Y as a}from"./reply-mWIMy_ju.js";import{t as o}from"./exec-DHqLtFYt.js";import{i as s,r as c,t as l}from"./stagger-DmFYysrJ.js";import{c as u}from"./daemon-install-plan.shared-BkwZgIAY.js";import{i as d,r as f}from"./control-ui-assets-BIa0GGDg.js";import{f as p,l as m,p as h,r as g,s as _,u as v}from"./channel-account-context-BMPAMZEv.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,3 +1,3 @@
1
- import{m as e}from"./utils-CGdo13HV.js";import{t}from"./exec-B3eleY5O.js";import{Gt as n,Nt as r,Rt as i,Vt as a,Wt as o}from"./compact-CYbPi7_-.js";import{i as s,r as c,t as l}from"./stagger-DxzgG2jd.js";import{c as u}from"./daemon-install-plan.shared-Dx3DBXCG.js";import{i as d,r as f}from"./control-ui-assets-CTHGGgaX.js";import{f as p,l as m,p as h,r as g,s as _,u as v}from"./channel-account-context-DAcarnqW.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-CGdo13HV.js";import{t}from"./exec-B3eleY5O.js";import{Gt as n,Nt as r,Rt as i,Vt as a,Wt as o}from"./compact-uyQDx8pN.js";import{i as s,r as c,t as l}from"./stagger-DxzgG2jd.js";import{c as u}from"./daemon-install-plan.shared-Dx3DBXCG.js";import{i as d,r as f}from"./control-ui-assets-CTHGGgaX.js";import{f as p,l as m,p as h,r as g,s as _,u as v}from"./channel-account-context-DAcarnqW.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 +1 @@
1
- import"./paths-B4IRk3wi.js";import"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import"./model-selection-BLbnMb5E.js";import"./reply-DwfVhea1.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-CzUpDbU-.js";import"./frontmatter-BkZkwkVO.js";import{J as e,K as t,Z as n,rt as r}from"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./send-C7rOdjPO.js";import"./send-BwblpWbK.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-BwjMhAUa.js";import"./image-BP1cfEh1.js";import"./models-config-BlQ39qlq.js";import"./tool-display-DjuSUUbH.js";import"./fetch-guard-7BAwnP4a.js";import"./api-key-rotation-Rz2ESQSA.js";import"./local-roots-aA-4ohTq.js";import"./model-catalog-D-hkNWin.js";import"./proxy-fetch-BADsUK4d.js";import"./tokens-XGbQGn67.js";import"./deliver-DUNkj4hy.js";import"./commands-CGpM84iR.js";import"./commands-registry-DlvNUkXz.js";import"./pairing-store-EmfFQVcs.js";import"./fetch-Dikjvc5M.js";import"./call-JB-cGR9n.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-BEZszppF.js";import"./send-NbU9-scF2.js";import"./pi-model-discovery-DnJkNRc-.js";import"./exec-approvals-allowlist-B-Yf6RsU.js";import"./exec-safe-bin-runtime-policy-CRPHdPbF.js";import"./ir-CNTx85qV.js";import"./render-D8OWO2hT.js";import"./target-errors-CoEHv_2r.js";import"./read-only-account-inspect-B0cm8yrv.js";import"./channel-selection-si1OzWyQ.js";import"./plugin-auto-enable-CTgkkJK7.js";import"./send-DmHpf5Fz.js";import"./outbound-attachment-9-8VNvRG.js";import"./delivery-queue-CKbauSFq.js";import"./send-AQ3CJLpI.js";import"./channel-activity-Dw6F-ehJ.js";import"./tables-fl9iXahm.js";import"./fetch-Bn0mWg6a.js";import"./skill-commands-DlHVddAk.js";import"./workspace-dirs-BhF1Dzxt.js";import"./pairing-token-B8RdfK2y.js";import"./restart-BeJuoXCx.js";import"./runtime-web-tools-C4F6aaRh.js";import"./command-secret-targets-CfXtLkLF.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-smZlFWxD.js";import"./onboard-helpers-D90u4wVK.js";import"./prompt-style-CXKekIBY.js";import"./pairing-labels-PIuZfthz.js";import"./memory-cli-BouV_wyL.js";import"./query-expansion-0OxEb1Io.js";import"./manager-CI6O4QH6.js";import"./links-CySwdMcF.js";import"./cli-utils-BY7dLMFy.js";import"./help-format-BRbF_INg.js";import"./progress-LNttnI-y.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-8nRBsfID.js";import"./system-run-command-E8ymBXHh.js";import"./runtime-DYttInEE.js";import"./stagger-DmFYysrJ.js";import{n as i,t as a}from"./channel-web-CCSMlUux.js";import{t as o}from"./outbound-BevYwvMh.js";import{i as s,t as c}from"./session-BSRnpwSq.js";import{t as l}from"./login-DSZdCiDx.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-C5XF2Fy5.js";import"./utils-UGOV_184.js";import"./model-selection-BLbnMb5E.js";import"./reply-mWIMy_ju.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-CzUpDbU-.js";import"./frontmatter-BkZkwkVO.js";import{J as e,K as t,Z as n,rt as r}from"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./send-C7rOdjPO.js";import"./send-BwblpWbK.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-BwjMhAUa.js";import"./image-BP1cfEh1.js";import"./models-config-BlQ39qlq.js";import"./tool-display-DjuSUUbH.js";import"./fetch-guard-7BAwnP4a.js";import"./api-key-rotation-Rz2ESQSA.js";import"./local-roots-aA-4ohTq.js";import"./model-catalog-D-hkNWin.js";import"./proxy-fetch-BADsUK4d.js";import"./tokens-XGbQGn67.js";import"./deliver-DUNkj4hy.js";import"./commands-CGpM84iR.js";import"./commands-registry-DlvNUkXz.js";import"./pairing-store-EmfFQVcs.js";import"./fetch-Dikjvc5M.js";import"./call-JB-cGR9n.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-BEZszppF.js";import"./send-NbU9-scF2.js";import"./pi-model-discovery-DnJkNRc-.js";import"./exec-approvals-allowlist-B-Yf6RsU.js";import"./exec-safe-bin-runtime-policy-CRPHdPbF.js";import"./ir-CNTx85qV.js";import"./render-D8OWO2hT.js";import"./target-errors-CoEHv_2r.js";import"./read-only-account-inspect-B0cm8yrv.js";import"./channel-selection-si1OzWyQ.js";import"./plugin-auto-enable-CTgkkJK7.js";import"./send-DmHpf5Fz.js";import"./outbound-attachment-9-8VNvRG.js";import"./delivery-queue-CKbauSFq.js";import"./send-AQ3CJLpI.js";import"./channel-activity-Dw6F-ehJ.js";import"./tables-fl9iXahm.js";import"./fetch-Bn0mWg6a.js";import"./skill-commands-DlHVddAk.js";import"./workspace-dirs-BhF1Dzxt.js";import"./pairing-token-B8RdfK2y.js";import"./restart-BeJuoXCx.js";import"./runtime-web-tools-C4F6aaRh.js";import"./command-secret-targets-CfXtLkLF.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-smZlFWxD.js";import"./onboard-helpers-D90u4wVK.js";import"./prompt-style-CXKekIBY.js";import"./pairing-labels-PIuZfthz.js";import"./memory-cli-BouV_wyL.js";import"./query-expansion-0OxEb1Io.js";import"./manager-CI6O4QH6.js";import"./links-CySwdMcF.js";import"./cli-utils-BY7dLMFy.js";import"./help-format-BRbF_INg.js";import"./progress-LNttnI-y.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-8nRBsfID.js";import"./system-run-command-E8ymBXHh.js";import"./runtime-DYttInEE.js";import"./stagger-DmFYysrJ.js";import{n as i,t as a}from"./channel-web-TKrgB4oQ.js";import{t as o}from"./outbound-BevYwvMh.js";import{i as s,t as c}from"./session-BSRnpwSq.js";import{t as l}from"./login-DSZdCiDx.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,4 +1,4 @@
1
- import{s as e}from"./paths-CrCoPIVK.js";import"./paths-CChBdtE8.js";import{a as t,b as n,d as r,m as i,t as a}from"./subsystem-Bc2XrjUz.js";import{A as o,I as s,N as c,j as l}from"./workspace-B0ZQeHXg.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-D3t-vPka.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-D7mdJmGK.js";import"./github-copilot-token-DePP-lIf.js";import"./boolean-DypnRoRK.js";import"./proxy-env-DcmW_urA.js";import"./frontmatter-CzpfPBFl.js";import"./logger-5W0OocJW.js";import"./send-4h1tQwX3.js";import{At as M,jt as N,kt as P}from"./send-CciNyaWL.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-X_Svd4Wi.js";import"./tokens-CL2fSjGl.js";import"./deliver-BhWhLvQO.js";import"./diagnostic-VBPCgF9l.js";import{$ as Te,et as Ee,it as De}from"./send--9G8eXo4.js";import"./pi-model-discovery-BonZ1N3x.js";import"./image-BBO-0uLG.js";import{_ as Oe}from"./audio-transcription-runner-9H9eUZ1D.js";import{i as ke}from"./fetch-DBat25iG.js";import"./fetch-guard-DvaNcypz.js";import"./api-key-rotation-DayEfYpa.js";import"./proxy-fetch-BZ9O8Dvj.js";import{a as Ae,d as je,h as Me,m as Ne,s as Pe}from"./ir-BTfsA9Dd.js";import"./render-CBsnn-2A.js";import"./target-errors-Dnkqss9y.js";import"./commands-registry-C5Hg7gyk.js";import"./fetch-_g8lZ8K8.js";import"./skill-commands-CtprBvm0.js";import{n as Fe}from"./channel-activity-htoVXTET.js";import{t as Ie}from"./tables-_t5V36m9.js";import"./send-hlES-kRl2.js";import"./outbound-attachment-E89zumcH.js";import"./send-7qgAI0ap.js";import"./fetch-BJT3BrkJ.js";import{r as Le}from"./active-listener-D8uP0H5W.js";import"./query-expansion-BUUx_oWg.js";import"./manager-CN_rQm1L.js";import{i as Re,r as ze,t as Be}from"./outbound-xlG_RqEu.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-CfHCnrXh.js";import{t as We}from"./login-BGLWiksP.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-CrCoPIVK.js";import"./paths-CChBdtE8.js";import{a as t,b as n,d as r,m as i,t as a}from"./subsystem-Bc2XrjUz.js";import{A as o,I as s,N as c,j as l}from"./workspace-B0ZQeHXg.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-D3t-vPka.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-D7mdJmGK.js";import"./github-copilot-token-DePP-lIf.js";import"./boolean-DypnRoRK.js";import"./proxy-env-DcmW_urA.js";import"./frontmatter-CzpfPBFl.js";import"./logger-5W0OocJW.js";import"./send-4h1tQwX3.js";import{At as M,jt as N,kt as P}from"./send-CciNyaWL.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-CoHiJa9Q.js";import"./tokens-CL2fSjGl.js";import"./deliver-BhWhLvQO.js";import"./diagnostic-VBPCgF9l.js";import{$ as Te,et as Ee,it as De}from"./send--9G8eXo4.js";import"./pi-model-discovery-BonZ1N3x.js";import"./image-BBO-0uLG.js";import{_ as Oe}from"./audio-transcription-runner-9H9eUZ1D.js";import{i as ke}from"./fetch-DBat25iG.js";import"./fetch-guard-DvaNcypz.js";import"./api-key-rotation-DayEfYpa.js";import"./proxy-fetch-BZ9O8Dvj.js";import{a as Ae,d as je,h as Me,m as Ne,s as Pe}from"./ir-BTfsA9Dd.js";import"./render-CBsnn-2A.js";import"./target-errors-Dnkqss9y.js";import"./commands-registry-C5Hg7gyk.js";import"./fetch-_g8lZ8K8.js";import"./skill-commands-CtprBvm0.js";import{n as Fe}from"./channel-activity-htoVXTET.js";import{t as Ie}from"./tables-_t5V36m9.js";import"./send-hlES-kRl2.js";import"./outbound-attachment-E89zumcH.js";import"./send-7qgAI0ap.js";import"./fetch-BJT3BrkJ.js";import{r as Le}from"./active-listener-D8uP0H5W.js";import"./query-expansion-BUUx_oWg.js";import"./manager-CN_rQm1L.js";import{i as Re,r as ze,t as Be}from"./outbound-xlG_RqEu.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-CfHCnrXh.js";import{t as We}from"./login-BGLWiksP.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"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import"./auth-profiles-C8rZRS0X.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-Bz_S4lPh.js";import"./frontmatter-C7mzDNxd.js";import{J as e,K as t,Z as n,rt as r}from"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-vNcod64S.js";import"./send-CyarIb2w.js";import"./compact-CYbPi7_-.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-DZzS67GS.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import"./deliver-SqSusZP3.js";import"./diagnostic-D1H7_8QG.js";import"./send-Dj7NBAWg.js";import"./pi-model-discovery-BPkhPDMr.js";import"./exec-approvals-allowlist-CGjRWREs.js";import"./exec-safe-bin-runtime-policy-v44u39fl.js";import"./model-catalog-mt0IcDfR.js";import"./fetch-B4bz67_N.js";import"./audio-transcription-runner-BIKj1CBU.js";import"./fetch-guard-DaZmvp-L.js";import"./image-BVbOr9yV.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-BpEL4aeX.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-DdjufzKF.js";import"./render-DrrPmnMI.js";import"./target-errors-D6wejRd6.js";import"./commands-Dy7duWlt.js";import"./commands-registry-DT6FDUev.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-Bpdyx2A2.js";import"./sqlite-CILF3z9U.js";import"./call-BWx7hNtl.js";import"./pi-tools.policy-B6q8YOfg.js";import"./pairing-store-BaaVy1zB.js";import"./fetch-Dh-apy46.js";import"./skill-commands-DCqPy_Aa.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-zdbQ951y.js";import"./channel-activity-BhiLsKvM.js";import"./tables-DENKrP-W.js";import"./kill-tree-D6nPx1_o.js";import"./runtime-web-tools-BYhCkBV8.js";import"./runtime-CK7gqwEF.js";import"./node-shell-BVZylVP6.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-BPxE8JR7.js";import"./plugin-auto-enable-adba5Evb.js";import"./send-ChILboDj.js";import"./outbound-attachment-CVcDBkAD.js";import"./delivery-queue-nkPJu0fY.js";import"./send-COpehmAB.js";import"./system-run-command-DsWBVvSK.js";import"./fetch-Ce-scEU-.js";import"./command-secret-targets-BEjtBf5Z.js";import"./connection-auth-CjaeEu5D.js";import"./onboard-helpers-DOlI17Ac.js";import"./prompt-style-BThRSQJR.js";import"./pairing-labels-CZ-aX-up.js";import"./search-manager-CV2YsAym.js";import"./manager-CxZRoQkE.js";import"./memory-cli-C8fBBPgv.js";import"./links-CBnmRP9D.js";import"./cli-utils-BleB1eys.js";import"./help-format-B4aEI7V9.js";import"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import{t as i}from"./outbound-CqDxMWLZ.js";import{n as a,t as o}from"./channel-web-CwUfYqjg.js";import{i as s,t as c}from"./session-bk3gFwO4.js";import{t as l}from"./login-CcYeF5T_.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-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import"./auth-profiles-C8rZRS0X.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-Bz_S4lPh.js";import"./frontmatter-C7mzDNxd.js";import{J as e,K as t,Z as n,rt as r}from"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-vNcod64S.js";import"./send-CyarIb2w.js";import"./compact-uyQDx8pN.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-DZzS67GS.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import"./deliver-SqSusZP3.js";import"./diagnostic-D1H7_8QG.js";import"./send-Dj7NBAWg.js";import"./pi-model-discovery-BPkhPDMr.js";import"./exec-approvals-allowlist-CGjRWREs.js";import"./exec-safe-bin-runtime-policy-v44u39fl.js";import"./model-catalog-mt0IcDfR.js";import"./fetch-B4bz67_N.js";import"./audio-transcription-runner-BIKj1CBU.js";import"./fetch-guard-DaZmvp-L.js";import"./image-BVbOr9yV.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-BpEL4aeX.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-DdjufzKF.js";import"./render-DrrPmnMI.js";import"./target-errors-D6wejRd6.js";import"./commands-Dy7duWlt.js";import"./commands-registry-DT6FDUev.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-Bpdyx2A2.js";import"./sqlite-CILF3z9U.js";import"./call-BWx7hNtl.js";import"./pi-tools.policy-B6q8YOfg.js";import"./pairing-store-BaaVy1zB.js";import"./fetch-Dh-apy46.js";import"./skill-commands-DCqPy_Aa.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-zdbQ951y.js";import"./channel-activity-BhiLsKvM.js";import"./tables-DENKrP-W.js";import"./kill-tree-D6nPx1_o.js";import"./runtime-web-tools-BYhCkBV8.js";import"./runtime-CK7gqwEF.js";import"./node-shell-BVZylVP6.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-BPxE8JR7.js";import"./plugin-auto-enable-adba5Evb.js";import"./send-ChILboDj.js";import"./outbound-attachment-CVcDBkAD.js";import"./delivery-queue-nkPJu0fY.js";import"./send-COpehmAB.js";import"./system-run-command-DsWBVvSK.js";import"./fetch-Ce-scEU-.js";import"./command-secret-targets-BEjtBf5Z.js";import"./connection-auth-CjaeEu5D.js";import"./onboard-helpers-DOlI17Ac.js";import"./prompt-style-BThRSQJR.js";import"./pairing-labels-CZ-aX-up.js";import"./search-manager-CV2YsAym.js";import"./manager-CxZRoQkE.js";import"./memory-cli-C8fBBPgv.js";import"./links-CBnmRP9D.js";import"./cli-utils-BleB1eys.js";import"./help-format-B4aEI7V9.js";import"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import{t as i}from"./outbound-CqDxMWLZ.js";import{n as a,t as o}from"./channel-web-Qr8ST6tz.js";import{i as s,t as c}from"./session-bk3gFwO4.js";import{t as l}from"./login-CcYeF5T_.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,4 +1,4 @@
1
- import{Ct as e,Et as t,kt as n,s as r,wt as i}from"./paths-piJASC5k.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-DwWqfo66.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-DvekK9rZ.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-6yGEd2xd.js";import"./github-copilot-token-wm6mbypz.js";import"./proxy-env-BNhTHkd_.js";import"./send-DiHS8tKf.js";import{At as Se,jt as Ce,kt as we}from"./send-BjrfjBn9.js";import"./tokens-B2fq-rL6.js";import"./deliver-AM3FP5rj.js";import"./diagnostic-DtuQPRbp.js";import{$ as Te,et as Ee,it as De}from"./send-C4Lm4nmt.js";import"./pi-model-discovery-DVKXkQTR.js";import"./image-CcsuUB1B.js";import{_ as Oe}from"./audio-transcription-runner-CQ7rq0d_.js";import{i as ke}from"./fetch-D5wrJ0AX.js";import"./fetch-guard-oWKGrwV4.js";import"./api-key-rotation-BLt5E2Cw.js";import"./proxy-fetch-DnjU1fEB.js";import{a as Ae,d as je,h as Me,m as Ne,s as Pe}from"./ir-B7mdG27k.js";import"./render-BXEUPIHe.js";import"./target-errors-sMFXKeAY.js";import"./commands-registry-gvMK7Pw9.js";import"./fetch-DHo17YmK.js";import"./skill-commands-CPZcaV8-.js";import{n as Fe}from"./channel-activity-DmgWmSAG.js";import{t as Ie}from"./tables-D6J-isob.js";import"./send-CWVTcDAW.js";import"./outbound-attachment-Bah4dvuM.js";import"./send-swTiQAeK2.js";import"./fetch-hy0JKSsm.js";import{r as Le}from"./active-listener-1MJXk3Iq.js";import"./query-expansion-r_iXkNzt.js";import"./manager-iFi--Fru.js";import{i as Re,r as ze,t as Be}from"./outbound-DmwQEFu0.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-JqCxWBM8.js";import{t as We}from"./login-DWZzj-P1.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-piJASC5k.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-DwWqfo66.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-DvekK9rZ.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-DLlQ5e_w.js";import"./github-copilot-token-wm6mbypz.js";import"./proxy-env-BNhTHkd_.js";import"./send-DiHS8tKf.js";import{At as Se,jt as Ce,kt as we}from"./send-BjrfjBn9.js";import"./tokens-B2fq-rL6.js";import"./deliver-AM3FP5rj.js";import"./diagnostic-DtuQPRbp.js";import{$ as Te,et as Ee,it as De}from"./send-C4Lm4nmt.js";import"./pi-model-discovery-DVKXkQTR.js";import"./image-CcsuUB1B.js";import{_ as Oe}from"./audio-transcription-runner-CQ7rq0d_.js";import{i as ke}from"./fetch-D5wrJ0AX.js";import"./fetch-guard-oWKGrwV4.js";import"./api-key-rotation-BLt5E2Cw.js";import"./proxy-fetch-DnjU1fEB.js";import{a as Ae,d as je,h as Me,m as Ne,s as Pe}from"./ir-B7mdG27k.js";import"./render-BXEUPIHe.js";import"./target-errors-sMFXKeAY.js";import"./commands-registry-gvMK7Pw9.js";import"./fetch-DHo17YmK.js";import"./skill-commands-CPZcaV8-.js";import{n as Fe}from"./channel-activity-DmgWmSAG.js";import{t as Ie}from"./tables-D6J-isob.js";import"./send-CWVTcDAW.js";import"./outbound-attachment-Bah4dvuM.js";import"./send-swTiQAeK2.js";import"./fetch-hy0JKSsm.js";import{r as Le}from"./active-listener-1MJXk3Iq.js";import"./query-expansion-r_iXkNzt.js";import"./manager-iFi--Fru.js";import{i as Re,r as ze,t as Be}from"./outbound-DmwQEFu0.js";import{i as Ve,n as q,r as He,t as Ue}from"./session-JqCxWBM8.js";import{t as We}from"./login-DWZzj-P1.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 +1 @@
1
- import{spawn as f}from"node:child_process";import{existsSync as d}from"node:fs";import{homedir as w}from"node:os";import a from"node:path";const o="[qqbrowser-skill-control]";function u(r){const i=w(),g=a.join(i,".qbotclaw","python","bin","qqbrowser-skill");if(r.logger.info(`${o} \u89E3\u6790\u53EF\u6267\u884C\u6587\u4EF6\u8DEF\u5F84: ${g} (platform=${process.platform})`),!d(g))throw new Error(`qqbrowser-skill \u53EF\u6267\u884C\u6587\u4EF6\u4E0D\u5B58\u5728: ${g}\uFF0C\u8BF7\u786E\u8BA4\u662F\u5426\u5DF2\u6B63\u786E\u5B89\u88C5`);return r.logger.info(`${o} \u2713 \u627E\u5230\u53EF\u6267\u884C\u6587\u4EF6: ${g}`),g}function q(){const r=a.join(w(),".qbotclaw","python","bin"),i=process.env.PATH??"";return i.split(":").includes(r)?i:`${r}:${i}`}const p={id:"qqbrowser-skill-control",name:"QQBrowser Skill Control",description:"\u7BA1\u7406 qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B\u7684\u751F\u547D\u5468\u671F\uFF0C\u81EA\u52A8\u542F\u52A8\u548C\u5173\u95ED\u6D4F\u89C8\u5668\u81EA\u52A8\u5316\u670D\u52A1\u3002",register(r){const i=r.pluginConfig??{},g=i.enabled!==!1,$=i.wsPort??8765;if(r.logger.info(`${o} \u63D2\u4EF6\u6CE8\u518C\u4E2D\uFF0C\u914D\u7F6E: ${JSON.stringify({enabled:g,wsPort:$})}`),!g){r.logger.info(`${o} \u63D2\u4EF6\u5DF2\u7981\u7528\uFF0C\u8DF3\u8FC7\u542F\u52A8`);return}let s=null;r.registerService({id:"qqbrowser-skill-control",start:async()=>{r.logger.info(`${o} \u6B63\u5728\u542F\u52A8 qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B...`);try{const l=u(r),n=["serve","--daemon","--from-qbotclaw",`--ws-port=${$}`],c=q();r.logger.info(`${o} \u6267\u884C\u547D\u4EE4: ${l} ${n.join(" ")}`),r.logger.info(`${o} \u589E\u5F3A\u540E\u7684 PATH: ${c}`),s=f(l,n,{env:{...process.env,PATH:c},windowsHide:!0,stdio:["pipe","pipe","pipe"],detached:!1}),s.stdout?.on("data",e=>{r.logger.info(`${o} ${e.toString().trim()}`)}),s.stderr?.on("data",e=>{r.logger.error(`${o} ${e.toString().trim()}`)}),s.on("exit",(e,t)=>{e!==0&&e!==null?r.logger.error(`${o} \u8FDB\u7A0B\u5F02\u5E38\u9000\u51FA code=${e} signal=${t}`):r.logger.info(`${o} \u8FDB\u7A0B\u9000\u51FA code=${e} signal=${t}`),s=null}),s.on("error",e=>{r.logger.error(`${o} \u8FDB\u7A0B\u542F\u52A8\u5931\u8D25: ${e.message}`),s=null}),r.logger.info(`${o} qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B\u5DF2\u542F\u52A8 (pid=${s.pid}, ws_port=${$})`)}catch(l){const n=l;r.logger.error(`${o} \u542F\u52A8 qqbrowser-skill \u5931\u8D25: ${n.message}`),r.logger.error(`${o} \u9519\u8BEF\u5806\u6808: ${n.stack}`),s=null}},stop:async()=>{r.logger.info(`${o} \u6B63\u5728\u5173\u95ED qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B...`);try{const l=u(r);r.logger.info(`${o} \u6267\u884C\u505C\u6B62\u547D\u4EE4: ${l} stop`),await new Promise(n=>{const c=f(l,["stop","--force"],{env:{...process.env,PATH:q()},stdio:["pipe","pipe","pipe"]}),e=setTimeout(()=>{r.logger.warn(`${o} qqbrowser-skill stop \u547D\u4EE4\u6267\u884C\u8D85\u65F6(10s)`),c.kill("SIGKILL"),n()},1e4);c.stdout?.on("data",t=>{r.logger.info(`${o} [stop] ${t.toString().trim()}`)}),c.stderr?.on("data",t=>{r.logger.error(`${o} [stop] ${t.toString().trim()}`)}),c.on("exit",t=>{clearTimeout(e),r.logger.info(`${o} qqbrowser-skill stop \u547D\u4EE4\u6267\u884C\u5B8C\u6BD5 (code=${t})`),n()}),c.on("error",t=>{clearTimeout(e),r.logger.error(`${o} qqbrowser-skill stop \u547D\u4EE4\u6267\u884C\u5931\u8D25: ${t.message}`),n()})})}catch(l){const n=l;r.logger.error(`${o} \u6267\u884C qqbrowser-skill stop \u5931\u8D25: ${n.message}`)}s=null,r.logger.info(`${o} qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B\u5DF2\u5173\u95ED`)}})}};var h=p;export{h as default};
1
+ import{spawn as a}from"node:child_process";import{existsSync as u}from"node:fs";import{homedir as w}from"node:os";import f from"node:path";const o="[qqbrowser-skill-control]";function p(r){const g=w(),s=process.platform==="win32"?f.join(g,".qbotclaw","python","Scripts","qqbrowser-skill.exe"):f.join(g,".qbotclaw","python","bin","qqbrowser-skill");if(r.logger.info(`${o} \u89E3\u6790\u53EF\u6267\u884C\u6587\u4EF6\u8DEF\u5F84: ${s} (platform=${process.platform})`),!u(s))throw new Error(`qqbrowser-skill \u53EF\u6267\u884C\u6587\u4EF6\u4E0D\u5B58\u5728: ${s}\uFF0C\u8BF7\u786E\u8BA4\u662F\u5426\u5DF2\u6B63\u786E\u5B89\u88C5`);return r.logger.info(`${o} \u2713 \u627E\u5230\u53EF\u6267\u884C\u6587\u4EF6: ${s}`),s}function q(){const r=process.platform==="win32",g=r?f.join(w(),".qbotclaw","python","Scripts"):f.join(w(),".qbotclaw","python","bin"),$=process.env.PATH??"",s=r?";":":";return $.split(s).includes(g)?$:`${g}${s}${$}`}const d={id:"qqbrowser-skill-control",name:"QQBrowser Skill Control",description:"\u7BA1\u7406 qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B\u7684\u751F\u547D\u5468\u671F\uFF0C\u81EA\u52A8\u542F\u52A8\u548C\u5173\u95ED\u6D4F\u89C8\u5668\u81EA\u52A8\u5316\u670D\u52A1\u3002",register(r){const g=r.pluginConfig??{},$=g.enabled!==!1,s=g.wsPort??8765;if(r.logger.info(`${o} \u63D2\u4EF6\u6CE8\u518C\u4E2D\uFF0C\u914D\u7F6E: ${JSON.stringify({enabled:$,wsPort:s})}`),!$){r.logger.info(`${o} \u63D2\u4EF6\u5DF2\u7981\u7528\uFF0C\u8DF3\u8FC7\u542F\u52A8`);return}let t=null;r.registerService({id:"qqbrowser-skill-control",start:async()=>{r.logger.info(`${o} \u6B63\u5728\u542F\u52A8 qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B...`);try{const i=p(r),n=["serve","--daemon","--from-qbotclaw",`--ws-port=${s}`],c=q();r.logger.info(`${o} \u6267\u884C\u547D\u4EE4: ${i} ${n.join(" ")}`),r.logger.info(`${o} \u589E\u5F3A\u540E\u7684 PATH: ${c}`),t=a(i,n,{env:{...process.env,PATH:c},windowsHide:!0,stdio:["pipe","pipe","pipe"],detached:!1}),t.stdout?.on("data",e=>{r.logger.info(`${o} ${e.toString().trim()}`)}),t.stderr?.on("data",e=>{r.logger.error(`${o} ${e.toString().trim()}`)}),t.on("exit",(e,l)=>{e!==0&&e!==null?r.logger.error(`${o} \u8FDB\u7A0B\u5F02\u5E38\u9000\u51FA code=${e} signal=${l}`):r.logger.info(`${o} \u8FDB\u7A0B\u9000\u51FA code=${e} signal=${l}`),t=null}),t.on("error",e=>{r.logger.error(`${o} \u8FDB\u7A0B\u542F\u52A8\u5931\u8D25: ${e.message}`),t=null}),r.logger.info(`${o} qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B\u5DF2\u542F\u52A8 (pid=${t.pid}, ws_port=${s})`)}catch(i){const n=i;r.logger.error(`${o} \u542F\u52A8 qqbrowser-skill \u5931\u8D25: ${n.message}`),r.logger.error(`${o} \u9519\u8BEF\u5806\u6808: ${n.stack}`),t=null}},stop:async()=>{r.logger.info(`${o} \u6B63\u5728\u5173\u95ED qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B...`);try{const i=p(r);r.logger.info(`${o} \u6267\u884C\u505C\u6B62\u547D\u4EE4: ${i} stop`),await new Promise(n=>{const c=a(i,["stop","--force"],{env:{...process.env,PATH:q()},stdio:["pipe","pipe","pipe"]}),e=setTimeout(()=>{r.logger.warn(`${o} qqbrowser-skill stop \u547D\u4EE4\u6267\u884C\u8D85\u65F6(10s)`),c.kill("SIGKILL"),n()},1e4);c.stdout?.on("data",l=>{r.logger.info(`${o} [stop] ${l.toString().trim()}`)}),c.stderr?.on("data",l=>{r.logger.error(`${o} [stop] ${l.toString().trim()}`)}),c.on("exit",l=>{clearTimeout(e),r.logger.info(`${o} qqbrowser-skill stop \u547D\u4EE4\u6267\u884C\u5B8C\u6BD5 (code=${l})`),n()}),c.on("error",l=>{clearTimeout(e),r.logger.error(`${o} qqbrowser-skill stop \u547D\u4EE4\u6267\u884C\u5931\u8D25: ${l.message}`),n()})})}catch(i){const n=i;r.logger.error(`${o} \u6267\u884C qqbrowser-skill stop \u5931\u8D25: ${n.message}`)}t=null,r.logger.info(`${o} qqbrowser-skill \u5B88\u62A4\u8FDB\u7A0B\u5DF2\u5173\u95ED`)}})}};var k=d;export{k as default};
@@ -7544,7 +7544,7 @@ const CONTENT_TYPE_HEADER = 'Content-Type';
7544
7544
  const SERVER_TIMEOUT_HEADER = 'X-Server-Timeout';
7545
7545
  const USER_AGENT_HEADER = 'User-Agent';
7546
7546
  const GOOGLE_API_CLIENT_HEADER = 'x-goog-api-client';
7547
- const SDK_VERSION = '1.50.0'; // x-release-please-version
7547
+ const SDK_VERSION = '1.50.1'; // x-release-please-version
7548
7548
  const LIBRARY_LABEL = `google-genai-sdk/${SDK_VERSION}`;
7549
7549
  const VERTEX_AI_API_DEFAULT_VERSION = 'v1beta1';
7550
7550
  const GOOGLE_AI_API_DEFAULT_VERSION = 'v1beta';
@@ -9967,13 +9967,6 @@ class BaseWebhooks extends APIResource {
9967
9967
  const { api_version = this._client.apiVersion, webhook_id } = params, body = __rest(params, ["api_version", "webhook_id"]);
9968
9968
  return this._client.post(path `/${api_version}/webhooks`, Object.assign({ query: { webhook_id }, body }, options));
9969
9969
  }
9970
- /**
9971
- * Gets a specific Webhook.
9972
- */
9973
- retrieve(id, params = {}, options) {
9974
- const { api_version = this._client.apiVersion } = params !== null && params !== void 0 ? params : {};
9975
- return this._client.get(path `/${api_version}/webhooks/${id}`, options);
9976
- }
9977
9970
  /**
9978
9971
  * Updates an existing Webhook.
9979
9972
  */
@@ -9995,6 +9988,13 @@ class BaseWebhooks extends APIResource {
9995
9988
  const { api_version = this._client.apiVersion } = params !== null && params !== void 0 ? params : {};
9996
9989
  return this._client.delete(path `/${api_version}/webhooks/${id}`, options);
9997
9990
  }
9991
+ /**
9992
+ * Gets a specific Webhook.
9993
+ */
9994
+ get(id, params = {}, options) {
9995
+ const { api_version = this._client.apiVersion } = params !== null && params !== void 0 ? params : {};
9996
+ return this._client.get(path `/${api_version}/webhooks/${id}`, options);
9997
+ }
9998
9998
  /**
9999
9999
  * Sends a ping event to a Webhook.
10000
10000
  */
@@ -7542,7 +7542,7 @@ const CONTENT_TYPE_HEADER = 'Content-Type';
7542
7542
  const SERVER_TIMEOUT_HEADER = 'X-Server-Timeout';
7543
7543
  const USER_AGENT_HEADER = 'User-Agent';
7544
7544
  const GOOGLE_API_CLIENT_HEADER = 'x-goog-api-client';
7545
- const SDK_VERSION = '1.50.0'; // x-release-please-version
7545
+ const SDK_VERSION = '1.50.1'; // x-release-please-version
7546
7546
  const LIBRARY_LABEL = `google-genai-sdk/${SDK_VERSION}`;
7547
7547
  const VERTEX_AI_API_DEFAULT_VERSION = 'v1beta1';
7548
7548
  const GOOGLE_AI_API_DEFAULT_VERSION = 'v1beta';
@@ -9965,13 +9965,6 @@ class BaseWebhooks extends APIResource {
9965
9965
  const { api_version = this._client.apiVersion, webhook_id } = params, body = __rest(params, ["api_version", "webhook_id"]);
9966
9966
  return this._client.post(path `/${api_version}/webhooks`, Object.assign({ query: { webhook_id }, body }, options));
9967
9967
  }
9968
- /**
9969
- * Gets a specific Webhook.
9970
- */
9971
- retrieve(id, params = {}, options) {
9972
- const { api_version = this._client.apiVersion } = params !== null && params !== void 0 ? params : {};
9973
- return this._client.get(path `/${api_version}/webhooks/${id}`, options);
9974
- }
9975
9968
  /**
9976
9969
  * Updates an existing Webhook.
9977
9970
  */
@@ -9993,6 +9986,13 @@ class BaseWebhooks extends APIResource {
9993
9986
  const { api_version = this._client.apiVersion } = params !== null && params !== void 0 ? params : {};
9994
9987
  return this._client.delete(path `/${api_version}/webhooks/${id}`, options);
9995
9988
  }
9989
+ /**
9990
+ * Gets a specific Webhook.
9991
+ */
9992
+ get(id, params = {}, options) {
9993
+ const { api_version = this._client.apiVersion } = params !== null && params !== void 0 ? params : {};
9994
+ return this._client.get(path `/${api_version}/webhooks/${id}`, options);
9995
+ }
9996
9996
  /**
9997
9997
  * Sends a ping event to a Webhook.
9998
9998
  */