@openclaw/whatsapp 2026.9.4 → 2026.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/assets/activity.svg +40 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{accounts-CiKHiuEe.js → .setup/accounts-D_NGDjCx.mjs} +2 -2
  4. package/dist/{action-runtime-CRZLhN3f.js → .setup/action-runtime-DZZFamfl.mjs} +3 -3
  5. package/dist/{active-listener-BEjWsCNM.js → .setup/active-listener-CDjoX9QR.mjs} +2 -2
  6. package/dist/{agent-tools-login-B-2qZPzc.js → .setup/agent-tools-login-B6MAs75N.mjs} +2 -2
  7. package/dist/{approval-handler.runtime-DGJEaoqh.js → .setup/approval-handler.runtime-C0hzmMSj.mjs} +12 -12
  8. package/dist/{approval-reactions-DSFH6Mtx.js → .setup/approval-reactions-BnXw-UZI.mjs} +13 -13
  9. package/dist/{auth-store-ZWaclAbd.js → .setup/auth-store-Dh8a3cba.mjs} +5 -5
  10. package/dist/{channel-CzEIEZqG.js → .setup/channel-CSclZYjU.mjs} +20 -29
  11. package/dist/{channel-react-action-CHeJSG9F.js → .setup/channel-react-action-1iBiEnq7.mjs} +5 -5
  12. package/dist/.setup/channel.runtime-ddGY37w8.mjs +16 -0
  13. package/dist/.setup/channel.setup-CqUl8COe.mjs +5 -0
  14. package/dist/{connection-controller-DNp6U1NN.js → .setup/connection-controller-C60mU7j7.mjs} +5 -5
  15. package/dist/{connection-controller-runtime-context-DG0tuYuw.js → .setup/connection-controller-runtime-context-hgLJoRc8.mjs} +1 -1
  16. package/dist/{directory-config-CoWFw1zn.js → .setup/directory-config-BHPoBklt.mjs} +8 -8
  17. package/dist/{group-session-key-BmVDSPr1.js → .setup/group-session-key-D22hYMdE.mjs} +5 -5
  18. package/dist/.setup/legacy-session-surface-api-B2szjq4r.mjs +2 -0
  19. package/dist/{login-6j2iP9nR.js → .setup/login-2dmd1TfE.mjs} +5 -5
  20. package/dist/{login-qr-DRFgI6k1.js → .setup/login-qr-CgKtO_ef.mjs} +6 -6
  21. package/dist/{monitor-DaIAK4fT.js → .setup/monitor-BblvzLpX.mjs} +68 -65
  22. package/dist/.setup/normalize-DdsROMMa.mjs +2 -0
  23. package/dist/{normalize-target-CugRyONv.js → .setup/normalize-target-BGra1ZnM.mjs} +8 -30
  24. package/dist/{question-reactions-bbe0Qnjn.js → .setup/question-reactions-D3Zq9Gbn.mjs} +2 -2
  25. package/dist/{resolve-outbound-target-1GqbT1uX.js → .setup/resolve-outbound-target-C2eUvsTc.mjs} +1 -1
  26. package/dist/{send-BDDGPxav.js → .setup/send-C6jDmcL9.mjs} +7 -7
  27. package/dist/{send-api-C_Zn4Ij-.js → .setup/send-api-B4DOt2RJ.mjs} +7 -7
  28. package/dist/{session.runtime-Nsqaehbd.js → .setup/session.runtime-DcJuO42v.mjs} +1 -1
  29. package/dist/{setup-finalize-CZ6fHFFU.js → .setup/setup-finalize-BYEgU0hb.mjs} +6 -6
  30. package/dist/.setup/setup-plugin-api-CXfU-7vN.mjs +3 -0
  31. package/dist/{setup-surface-CnK_PPiA.js → .setup/setup-surface-Cd3wN5HD.mjs} +4 -4
  32. package/dist/{shared-CLKLJLgY.js → .setup/shared-C9OEtKgc.mjs} +47 -50
  33. package/dist/{socket-close-B3X9uerq.js → .setup/socket-close-CCVSFufF.mjs} +4 -4
  34. package/dist/{text-runtime-DyfmcATV.js → .setup/text-runtime-CHl0iPYe.mjs} +1 -1
  35. package/dist/action-runtime-api.js +1 -1
  36. package/dist/action-runtime.runtime.js +1 -1
  37. package/dist/agent-tools-api.js +4 -4
  38. package/dist/api.js +15 -15
  39. package/dist/auth-presence.js +1 -1
  40. package/dist/channel-config-api.js +1 -1
  41. package/dist/channel-plugin-api.js +1 -1
  42. package/dist/contract-api.js +5 -5
  43. package/dist/directory-contract-api.js +1 -1
  44. package/dist/doctor-contract-api.js +2 -2
  45. package/dist/legacy-session-surface-api.js +1 -1
  46. package/dist/light-runtime-api.js +4 -4
  47. package/dist/login-qr-runtime.js +1 -1
  48. package/dist/runtime-api.js +13 -13
  49. package/dist/runtime-setter-api.js +1 -1
  50. package/dist/security-contract-api.js +1 -1
  51. package/dist/setup-entry.js +3 -2
  52. package/dist/setup-plugin-api.js +1 -1
  53. package/node_modules/audio-decode/node_modules/@thi.ng/bitstream/README.md +1 -1
  54. package/node_modules/audio-decode/node_modules/@thi.ng/bitstream/package.json +5 -5
  55. package/node_modules/audio-decode/node_modules/@thi.ng/errors/README.md +1 -1
  56. package/node_modules/audio-decode/node_modules/@thi.ng/errors/package.json +5 -5
  57. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/dist/flac-decoder.min.js +1 -1
  58. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/dist/flac-decoder.min.js.map +1 -1
  59. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/package.json +1 -1
  60. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/src/FLACDecoder.js +6 -6
  61. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/src/FLACDecoderWebWorker.js +2 -2
  62. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/dist/opus-ml-decoder.min.js +11603 -11540
  63. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/dist/opus-ml-decoder.min.js.map +1 -1
  64. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/package.json +1 -1
  65. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/src/EmscriptenWasm.js +0 -0
  66. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/types.d.ts +1 -5
  67. package/node_modules/audio-decode/node_modules/audio-type/audio-type.js +156 -2
  68. package/node_modules/audio-decode/node_modules/audio-type/package.json +23 -2
  69. package/node_modules/audio-decode/node_modules/audio-type/readme.md +40 -2
  70. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/README.md +1 -1
  71. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.min.js +3 -3
  72. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.min.js.map +1 -1
  73. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.opus-ml.min.js +0 -0
  74. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.opus-ml.min.js.map +1 -1
  75. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/package.json +8 -8
  76. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/src/OggOpusDecoder.js +1 -1
  77. package/node_modules/audio-decode/node_modules/opus-decoder/README.md +1 -1
  78. package/node_modules/audio-decode/node_modules/opus-decoder/dist/opus-decoder.min.js +3 -3
  79. package/node_modules/audio-decode/node_modules/opus-decoder/dist/opus-decoder.min.js.map +1 -1
  80. package/node_modules/audio-decode/node_modules/opus-decoder/package.json +1 -1
  81. package/node_modules/audio-decode/node_modules/opus-decoder/types.d.ts +1 -5
  82. package/node_modules/baileys/node_modules/protobufjs/README.md +24 -17
  83. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.js +124 -14
  84. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  85. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  86. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  87. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.js +63 -9
  88. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  89. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  90. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  91. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.js +133 -18
  92. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  93. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  94. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  95. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.generated.d.ts +7 -0
  96. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.js +24 -0
  97. package/node_modules/baileys/node_modules/protobufjs/ext/protojson.js +14 -4
  98. package/node_modules/baileys/node_modules/protobufjs/ext/textformat.js +8 -4
  99. package/node_modules/baileys/node_modules/protobufjs/google/protobuf/descriptor.json +20 -1
  100. package/node_modules/baileys/node_modules/protobufjs/google/protobuf/descriptor.proto +14 -1
  101. package/node_modules/baileys/node_modules/protobufjs/index.d.ts +12 -0
  102. package/node_modules/baileys/node_modules/protobufjs/package.json +1 -1
  103. package/node_modules/baileys/node_modules/protobufjs/src/decoder.js +31 -2
  104. package/node_modules/baileys/node_modules/protobufjs/src/enum.js +10 -0
  105. package/node_modules/baileys/node_modules/protobufjs/src/object.js +5 -2
  106. package/node_modules/baileys/node_modules/protobufjs/src/parse.js +9 -4
  107. package/node_modules/baileys/node_modules/protobufjs/src/reader.js +61 -7
  108. package/node_modules/baileys/node_modules/protobufjs/src/type.js +10 -0
  109. package/node_modules/baileys/node_modules/protobufjs/src/wrappers.js +5 -1
  110. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  111. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  112. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  113. package/node_modules/typebox/build/format/iri.mjs +5 -1
  114. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  115. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  116. package/node_modules/typebox/build/guard/string.mjs +16 -24
  117. package/node_modules/typebox/build/schema/build.mjs +2 -2
  118. package/node_modules/typebox/build/schema/check.mjs +1 -1
  119. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  120. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  121. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  122. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  123. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  124. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  125. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  126. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  127. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  128. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  129. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  130. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  131. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  132. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  133. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  134. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  135. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  136. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  137. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  138. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  139. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  140. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  141. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  142. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  143. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  144. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  145. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  146. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  147. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  148. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  149. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  150. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  151. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  152. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  153. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  154. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  155. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  156. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  157. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  158. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  159. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  160. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  161. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  162. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  163. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  164. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  165. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  166. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  167. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  168. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  169. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  170. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  171. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  172. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  173. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  174. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  175. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  176. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  177. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  178. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  179. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  180. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  181. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  182. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  183. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  184. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  185. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  186. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  187. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  188. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  189. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  190. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  191. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  192. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  193. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  194. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  195. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  196. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  197. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  198. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  199. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  200. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  201. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  202. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  203. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  204. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  205. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  206. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  207. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  208. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  209. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  210. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  211. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  212. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  213. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  214. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  215. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  216. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  217. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  218. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  219. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  220. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  221. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  222. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  223. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  224. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  225. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  226. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  227. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  228. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  229. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  230. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  231. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  232. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  233. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  234. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  235. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  236. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  237. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  238. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  239. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  240. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  241. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  242. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  243. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  244. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  245. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  246. package/node_modules/typebox/package.json +1 -1
  247. package/node_modules/typebox/readme.md +59 -89
  248. package/openclaw.plugin.json +11 -2
  249. package/package.json +7 -5
  250. package/dist/channel.runtime-BFiZ9WhU.js +0 -55
  251. package/dist/channel.setup-gIWoRLzt.js +0 -14
  252. package/dist/normalize-C7Hkc_vE.js +0 -2
  253. /package/dist/{account-ids-CB5SOWjc.js → .setup/account-ids-CB5SOWjc.mjs} +0 -0
  254. /package/dist/{audio-preflight.runtime-C_glQhZY.js → .setup/audio-preflight.runtime-C_glQhZY.mjs} +0 -0
  255. /package/dist/{command-policy-BIOSHySD.js → .setup/command-policy-BIOSHySD.mjs} +0 -0
  256. /package/dist/{config-schema-BYA6e_Ii.js → .setup/config-schema-BYA6e_Ii.mjs} +0 -0
  257. /package/dist/{constants-C7m81BNe.js → .setup/constants-C7m81BNe.mjs} +0 -0
  258. /package/dist/{creds-files-Drg3usj1.js → .setup/creds-files-Drg3usj1.mjs} +0 -0
  259. /package/dist/{doctor-BPb-SjdE.js → .setup/doctor-BPb-SjdE.mjs} +0 -0
  260. /package/dist/{group-config-path-BGyzT9Lg.js → .setup/group-config-path-BGyzT9Lg.mjs} +0 -0
  261. /package/dist/{group-session-contract-DDnZSsJ1.js → .setup/group-session-contract-DDnZSsJ1.mjs} +0 -0
  262. /package/dist/{reply-resolver.runtime-Ded8D58Y.js → .setup/reply-resolver.runtime-Ded8D58Y.mjs} +0 -0
  263. /package/dist/{rolldown-runtime-D7D4PA-g.js → .setup/rolldown-runtime-D7D4PA-g.mjs} +0 -0
  264. /package/dist/{runtime-BLlToOi6.js → .setup/runtime-BLlToOi6.mjs} +0 -0
  265. /package/dist/{runtime-group-policy-DeSRFXEV.js → .setup/runtime-group-policy-DeSRFXEV.mjs} +0 -0
  266. /package/dist/{security-contract-nAzD945y.js → .setup/security-contract-nAzD945y.mjs} +0 -0
  267. /package/dist/{session-contract-DMTm6Q_L.js → .setup/session-contract-DMTm6Q_L.mjs} +0 -0
  268. /package/dist/{session-errors-JuazczrA.js → .setup/session-errors-JuazczrA.mjs} +0 -0
  269. /package/dist/{targets-runtime-RBjx3pg_.js → .setup/targets-runtime-RBjx3pg_.mjs} +0 -0
@@ -1,20 +1,20 @@
1
- import { a as resolveWhatsAppAccount, s as resolveWhatsAppMediaMaxBytes } from "./accounts-CiKHiuEe.js";
2
- import { c as normalizeWhatsAppPayloadTextPreservingIndentation, d as listWhatsAppSendResultMessageIds, f as mergeWhatsAppAcceptedSendError, g as withWhatsAppLogicalDeliveryActivity, h as rememberWhatsAppPartialSend, l as prepareWhatsAppOutboundMedia, m as rememberWhatsAppAcceptedSend, o as normalizeWhatsAppOutboundPayload, p as normalizeWhatsAppSendResult, r as sendReactionWhatsApp, v as resolveWhatsAppReactionLevel } from "./send-BDDGPxav.js";
3
- import { i as getWhatsAppRuntime } from "./runtime-BLlToOi6.js";
4
- import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
5
- import { a as markdownToWhatsAppChunks, c as toWhatsappJid, l as toWhatsappJidWithLid, n as isSelfChatMode, o as resolveEquivalentWhatsAppDirectChatJids, r as jidToE164, s as resolveJidToE164 } from "./targets-runtime-RBjx3pg_.js";
6
- import { t as normalizeE164 } from "./text-runtime-DyfmcATV.js";
7
- import { a as cacheInboundMessageMeta, i as buildQuotedMessageOptions, n as resolveWhatsAppGroupSessionRoute, o as lookupInboundMessageMeta, r as resolveWhatsAppLegacyGroupSessionKey } from "./group-session-key-BmVDSPr1.js";
8
- import { C as getMentionIdentities, D as getSenderIdentity, E as getSelfIdentity, O as identitiesOverlap, S as getComparableIdentityValues, T as getReplyContext, g as readWebSelfId, k as resolveComparableIdentity, o as getWebAuthAgeMs, r as WhatsAppAuthUnstableError, v as readWebSelfIdentityForDecision, w as getPrimaryIdentityId } from "./auth-store-ZWaclAbd.js";
9
- import { n as resolveWhatsAppGroupsConfigPath } from "./group-config-path-BGyzT9Lg.js";
10
- import { a as waitForWaConnection, c as isWhatsAppSocketOperationTimeoutError, d as withWhatsAppSocketOperationTimeout, l as resolveWhatsAppSocketOperationTimeoutMs, r as createWaSocket, s as createWhatsAppSocketOperationTimeoutAdapter, u as resolveWhatsAppSocketTiming } from "./socket-close-B3X9uerq.js";
11
- import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.js";
12
- import { t as BufferJSON } from "./session.runtime-Nsqaehbd.js";
13
- import { _ as resolveInboundMediaMimetype, a as addWhatsAppImagePreviewFields, c as extractContextInfo, d as extractMediaKind, f as extractMentionedJids, g as projectWhatsAppInboundMessage, h as hasInboundUserContent, i as resolveWhatsAppOutboundMentions, l as extractExternalAdReplyContext, n as addWhatsAppOutboundMentionsToContent, o as describeReplyContext, p as extractText, r as mayContainWhatsAppOutboundMention, s as extractContactContext, t as createWebSendApi, u as extractLocationData } from "./send-api-C_Zn4Ij-.js";
14
- import { t as resolveWhatsAppRuntimeGroupPolicy } from "./runtime-group-policy-DeSRFXEV.js";
15
- import { c as computeBackoff, d as resolveReconnectPolicy, f as sleepWithAbort, l as newConnectionId, n as WHATSAPP_WATCHDOG_TIMEOUT_ERROR, r as WhatsAppConnectionController, s as DEFAULT_RECONNECT_POLICY, u as resolveHeartbeatSeconds } from "./connection-controller-DNp6U1NN.js";
16
- import { n as maybeResolveWhatsAppApprovalReaction } from "./approval-reactions-DSFH6Mtx.js";
17
- import { t as maybeResolveWhatsAppQuestionReaction } from "./question-reactions-bbe0Qnjn.js";
1
+ import { a as resolveWhatsAppAccount, s as resolveWhatsAppMediaMaxBytes } from "./accounts-D_NGDjCx.mjs";
2
+ import { c as normalizeWhatsAppPayloadTextPreservingIndentation, d as listWhatsAppSendResultMessageIds, f as mergeWhatsAppAcceptedSendError, g as withWhatsAppLogicalDeliveryActivity, h as rememberWhatsAppPartialSend, l as prepareWhatsAppOutboundMedia, m as rememberWhatsAppAcceptedSend, o as normalizeWhatsAppOutboundPayload, p as normalizeWhatsAppSendResult, r as sendReactionWhatsApp, v as resolveWhatsAppReactionLevel } from "./send-C6jDmcL9.mjs";
3
+ import { i as getWhatsAppRuntime } from "./runtime-BLlToOi6.mjs";
4
+ import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-hgLJoRc8.mjs";
5
+ import { a as markdownToWhatsAppChunks, c as toWhatsappJid, l as toWhatsappJidWithLid, n as isSelfChatMode, o as resolveEquivalentWhatsAppDirectChatJids, r as jidToE164, s as resolveJidToE164 } from "./targets-runtime-RBjx3pg_.mjs";
6
+ import { t as normalizeE164 } from "./text-runtime-CHl0iPYe.mjs";
7
+ import { a as cacheInboundMessageMeta, i as buildQuotedMessageOptions, n as resolveWhatsAppGroupSessionRoute, o as lookupInboundMessageMeta, r as resolveWhatsAppLegacyGroupSessionKey } from "./group-session-key-D22hYMdE.mjs";
8
+ import { C as getMentionIdentities, D as getSenderIdentity, E as getSelfIdentity, O as identitiesOverlap, S as getComparableIdentityValues, T as getReplyContext, g as readWebSelfId, k as resolveComparableIdentity, o as getWebAuthAgeMs, r as WhatsAppAuthUnstableError, v as readWebSelfIdentityForDecision, w as getPrimaryIdentityId } from "./auth-store-Dh8a3cba.mjs";
9
+ import { n as resolveWhatsAppGroupsConfigPath } from "./group-config-path-BGyzT9Lg.mjs";
10
+ import { a as waitForWaConnection, c as isWhatsAppSocketOperationTimeoutError, d as withWhatsAppSocketOperationTimeout, l as resolveWhatsAppSocketOperationTimeoutMs, r as createWaSocket, s as createWhatsAppSocketOperationTimeoutAdapter, u as resolveWhatsAppSocketTiming } from "./socket-close-CCVSFufF.mjs";
11
+ import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.mjs";
12
+ import { t as BufferJSON } from "./session.runtime-DcJuO42v.mjs";
13
+ import { _ as resolveInboundMediaMimetype, a as addWhatsAppImagePreviewFields, c as extractContextInfo, d as extractMediaKind, f as extractMentionedJids, g as projectWhatsAppInboundMessage, h as hasInboundUserContent, i as resolveWhatsAppOutboundMentions, l as extractExternalAdReplyContext, n as addWhatsAppOutboundMentionsToContent, o as describeReplyContext, p as extractText, r as mayContainWhatsAppOutboundMention, s as extractContactContext, t as createWebSendApi, u as extractLocationData } from "./send-api-B4DOt2RJ.mjs";
14
+ import { t as resolveWhatsAppRuntimeGroupPolicy } from "./runtime-group-policy-DeSRFXEV.mjs";
15
+ import { c as computeBackoff, d as resolveReconnectPolicy, f as sleepWithAbort, l as newConnectionId, n as WHATSAPP_WATCHDOG_TIMEOUT_ERROR, r as WhatsAppConnectionController, s as DEFAULT_RECONNECT_POLICY, u as resolveHeartbeatSeconds } from "./connection-controller-C60mU7j7.mjs";
16
+ import { n as maybeResolveWhatsAppApprovalReaction } from "./approval-reactions-BnXw-UZI.mjs";
17
+ import { t as maybeResolveWhatsAppQuestionReaction } from "./question-reactions-D3Zq9Gbn.mjs";
18
18
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
19
19
  import { createAckReactionHandle, createStatusReactionController, logAckFailure, removeAckReactionHandleAfterReply, shouldAckReaction } from "openclaw/plugin-sdk/channel-feedback";
20
20
  import { bindIngressLifecycleToReplyOptions, createChannelIngressMonitor, createChannelMessageReplyPipeline, createMessageReceiptFromOutboundResults, listMessageReceiptPlatformIds, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-outbound";
@@ -25,16 +25,16 @@ import { resolveMarkdownTableMode as resolveMarkdownTableMode$1 } from "openclaw
25
25
  import { createSubsystemLogger as createSubsystemLogger$1, defaultRuntime, formatDurationPrecise, getChildLogger as getChildLogger$1, logVerbose, logVerbose as logVerbose$1, registerUnhandledRejectionHandler, shouldLogVerbose, shouldLogVerbose as shouldLogVerbose$1, warn } from "openclaw/plugin-sdk/runtime-env";
26
26
  import { registerChannelRuntimeContext } from "openclaw/plugin-sdk/channel-runtime-context";
27
27
  import { recordChannelActivity } from "openclaw/plugin-sdk/channel-activity-runtime";
28
- import { buildChannelInboundEventContext, createChannelPartialDeliveryError, filterChannelInboundQuoteContext, formatInboundEnvelope, formatInboundEnvelope as formatInboundEnvelope$1, formatInboundMediaUnavailableText, formatLocationText, formatMediaPlaceholderText, hasVisibleInboundReplyDispatch, isChannelPartialDeliveryError, readAgentRunTerminalOutcome, resolveInboundSessionEnvelopeContext, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent, shouldDebounceTextInbound, toInboundMediaFactsWithMetadata, toLocationContext } from "openclaw/plugin-sdk/channel-inbound";
28
+ import { buildChannelInboundEventContext, createChannelPartialDeliveryError, filterChannelInboundQuoteContext, formatInboundEnvelope, formatInboundEnvelope as formatInboundEnvelope$1, formatInboundMediaUnavailableText, formatLocationText, formatMediaPlaceholderText, hasVisibleInboundReplyDispatch, isChannelPartialDeliveryError, readAgentRunTerminalOutcome, resolveGroupThreadConfig, resolveInboundSessionEnvelopeContext, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent, runGroupThread, shouldDebounceTextInbound, toInboundMediaFactsWithMetadata, toLocationContext } from "openclaw/plugin-sdk/channel-inbound";
29
29
  import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/media-runtime";
30
30
  import { isReasoningReplyPayload, resolveSendableOutboundReplyParts, resolveTextChunksWithFallback, sendMediaWithLeadingCaption } from "openclaw/plugin-sdk/reply-payload";
31
31
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
32
32
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
33
33
  import { DisconnectReason, downloadMediaMessage, isHostedLidUser, isHostedPnUser, isJidGroup, isJidGroup as isJidGroup$1, jidDecode, jidEncode, jidNormalizedUser, normalizeMessageContent as normalizeMessageContent$1 } from "baileys";
34
- import { resolveChannelGroupPolicy, resolveChannelGroupRequireMention } from "openclaw/plugin-sdk/channel-policy";
35
- import { DEFAULT_ACCOUNT_ID, DEFAULT_MAIN_KEY, buildAgentMainSessionKey, buildAgentSessionKey, buildGroupHistoryKey, deriveLastRoutePolicy, normalizeAccountId, normalizeAgentId, resolveAgentRoute, resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
34
+ import { DEFAULT_ACCOUNT_ID, DEFAULT_MAIN_KEY, buildAgentMainSessionKey, buildAgentSessionKey, buildGroupHistoryKey, deriveLastRoutePolicy, normalizeAccountId, resolveAgentRoute, resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
36
35
  import { asDateTimestampMs, parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
37
36
  import { filterSupplementalContextItems, resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
37
+ import { resolveChannelGroupPolicy, resolveChannelGroupRequireMention } from "openclaw/plugin-sdk/channel-policy";
38
38
  import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
39
39
  import { createHash } from "node:crypto";
40
40
  import { resolveDefaultGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
@@ -2275,50 +2275,49 @@ function buildBroadcastRouteKeys(params) {
2275
2275
  };
2276
2276
  }
2277
2277
  async function maybeBroadcastMessage(params) {
2278
- const broadcastAgents = params.cfg.broadcast?.[params.peerId];
2279
- if (!broadcastAgents || !Array.isArray(broadcastAgents)) return false;
2280
- if (broadcastAgents.length === 0) return false;
2281
- const strategy = params.cfg.broadcast?.strategy || "parallel";
2282
- whatsappInboundLog.info(`Broadcasting message to ${broadcastAgents.length} agents (${strategy})`);
2283
- const agentIds = params.cfg.agents?.list?.map((agent) => normalizeAgentId(agent.id));
2284
- const hasKnownAgents = (agentIds?.length ?? 0) > 0;
2278
+ const group = resolveGroupThreadConfig({
2279
+ cfg: params.cfg,
2280
+ channel: "whatsapp",
2281
+ peerId: params.peerId
2282
+ });
2283
+ if (!group) return false;
2284
+ whatsappInboundLog.info(`Broadcasting message to ${group.agents.length} agents (${group.strategy})`);
2285
2285
  const isGroupConversation = requireWhatsAppInboundAdmission(params.msg).conversation.kind === "group";
2286
- const groupHistorySnapshot = isGroupConversation ? params.groupHistories.get(params.groupHistoryKey) ?? [] : void 0;
2287
- const processForAgent = async (agentId) => {
2288
- const normalizedAgentId = normalizeAgentId(agentId);
2289
- if (hasKnownAgents && !agentIds?.includes(normalizedAgentId)) {
2290
- whatsappInboundLog.warn(`Broadcast agent ${agentId} not found in agents.list; skipping`);
2291
- return false;
2292
- }
2293
- const routeKeys = buildBroadcastRouteKeys({
2294
- cfg: params.cfg,
2295
- msg: params.msg,
2296
- route: params.route,
2297
- peerId: params.peerId,
2298
- agentId: normalizedAgentId
2299
- });
2300
- const baseAgentRoute = {
2301
- ...params.route,
2302
- agentId: normalizedAgentId,
2303
- ...routeKeys
2304
- };
2305
- const agentRoute = isGroupConversation ? resolveWhatsAppGroupSessionRoute(baseAgentRoute) : baseAgentRoute;
2306
- try {
2307
- const opts = {
2308
- groupHistory: groupHistorySnapshot,
2309
- suppressGroupHistoryClear: true
2286
+ const groupHistorySnapshot = isGroupConversation ? [...params.groupHistories.get(params.groupHistoryKey) ?? []] : void 0;
2287
+ await runGroupThread({
2288
+ cfg: params.cfg,
2289
+ group,
2290
+ channel: "whatsapp",
2291
+ accountId: params.route.accountId,
2292
+ peerId: params.peerId,
2293
+ messageId: params.msg.event.id,
2294
+ text: [params.msg.payload.body, params.preflightAudioTranscript].filter(Boolean).join("\n"),
2295
+ onError: (err, turn) => {
2296
+ whatsappInboundLog.error(`Broadcast agent ${turn.agentId} failed: ${formatError(err)}`);
2297
+ },
2298
+ runTurn: async (turn) => {
2299
+ const routeKeys = buildBroadcastRouteKeys({
2300
+ cfg: params.cfg,
2301
+ msg: params.msg,
2302
+ route: params.route,
2303
+ peerId: params.peerId,
2304
+ agentId: turn.agentId
2305
+ });
2306
+ const baseAgentRoute = {
2307
+ ...params.route,
2308
+ agentId: turn.agentId,
2309
+ ...routeKeys
2310
2310
  };
2311
- if (params.preflightAudioTranscript !== void 0) opts.preflightAudioTranscript = params.preflightAudioTranscript;
2312
- if (params.ackAlreadySent === true) opts.ackAlreadySent = true;
2313
- if (params.ackReaction !== void 0) opts.ackReaction = params.ackReaction;
2314
- return await params.processMessage(params.msg, agentRoute, params.groupHistoryKey, opts);
2315
- } catch (err) {
2316
- whatsappInboundLog.error(`Broadcast agent ${agentId} failed: ${formatError(err)}`);
2317
- return false;
2311
+ const agentRoute = isGroupConversation ? resolveWhatsAppGroupSessionRoute(baseAgentRoute) : baseAgentRoute;
2312
+ return params.processMessage(params.msg, agentRoute, params.groupHistoryKey, {
2313
+ groupHistory: turn.round === 1 ? groupHistorySnapshot : [],
2314
+ suppressGroupHistoryClear: true,
2315
+ ...params.preflightAudioTranscript !== void 0 ? { preflightAudioTranscript: params.preflightAudioTranscript } : {},
2316
+ ...params.ackAlreadySent === true || turn.round > 1 ? { ackAlreadySent: true } : {},
2317
+ ...params.ackReaction !== void 0 && turn.round === 1 ? { ackReaction: params.ackReaction } : {}
2318
+ });
2318
2319
  }
2319
- };
2320
- if (strategy === "sequential") for (const agentId of broadcastAgents) await processForAgent(agentId);
2321
- else await Promise.allSettled(broadcastAgents.map(processForAgent));
2320
+ });
2322
2321
  if (isGroupConversation) params.groupHistories.set(params.groupHistoryKey, []);
2323
2322
  return true;
2324
2323
  }
@@ -3689,7 +3688,7 @@ async function processMessage(params) {
3689
3688
  let audioTranscript = params.preflightAudioTranscript ?? void 0;
3690
3689
  const hasAudioBody = (params.msg.payload.media?.kind === "audio" || params.msg.payload.media?.type?.startsWith("audio/") === true) && !params.msg.payload.body.trim();
3691
3690
  if (params.preflightAudioTranscript === void 0 && hasAudioBody && params.msg.payload.media?.path) try {
3692
- const { transcribeFirstAudio } = await import("./audio-preflight.runtime-C_glQhZY.js");
3691
+ const { transcribeFirstAudio } = await import("./audio-preflight.runtime-C_glQhZY.mjs");
3693
3692
  audioTranscript = await transcribeFirstAudio({
3694
3693
  ctx: {
3695
3694
  media: [{
@@ -4089,7 +4088,7 @@ function createWebOnMessageHandler(params) {
4089
4088
  const transcribeAudioOnce = async () => {
4090
4089
  if (preflightAudioTranscript !== void 0 || !hasAudioBody || !msg.payload.media?.path) return;
4091
4090
  try {
4092
- const { transcribeFirstAudio } = await import("./audio-preflight.runtime-C_glQhZY.js");
4091
+ const { transcribeFirstAudio } = await import("./audio-preflight.runtime-C_glQhZY.mjs");
4093
4092
  preflightAudioTranscript = await transcribeFirstAudio({
4094
4093
  ctx: {
4095
4094
  media: [{
@@ -4224,7 +4223,11 @@ function createWebOnMessageHandler(params) {
4224
4223
  recordAcceptedConfiguredGroupRoute = null;
4225
4224
  }
4226
4225
  await runAudioPreflightOnce();
4227
- const hasBroadcastTargets = !configuredRoute.bindingResolution && Array.isArray(cfg.broadcast?.[peerId]) && cfg.broadcast[peerId].length > 0;
4226
+ const hasBroadcastTargets = !configuredRoute.bindingResolution && resolveGroupThreadConfig({
4227
+ cfg,
4228
+ channel: "whatsapp",
4229
+ peerId
4230
+ }) !== void 0;
4228
4231
  if (hasBroadcastTargets && statusReactionController) await clearPreDispatchReaction();
4229
4232
  if (hasBroadcastTargets && !canRunEarlyAudioPreflight) await transcribeAudioOnce();
4230
4233
  if (!configuredRoute.bindingResolution && await maybeBroadcastMessage({
@@ -4254,7 +4257,7 @@ function createWebOnMessageHandler(params) {
4254
4257
  function isNonRetryableWebCloseStatus(statusCode) {
4255
4258
  return statusCode === 440;
4256
4259
  }
4257
- const loadReplyResolverRuntime = createLazyRuntimeModule(() => import("./reply-resolver.runtime-Ded8D58Y.js"));
4260
+ const loadReplyResolverRuntime = createLazyRuntimeModule(() => import("./reply-resolver.runtime-Ded8D58Y.mjs"));
4258
4261
  function resolveWebMonitorConfigSnapshot(params) {
4259
4262
  const account = resolveWhatsAppAccount({
4260
4263
  cfg: params.cfg,
@@ -0,0 +1,2 @@
1
+ import "./normalize-target-BGra1ZnM.mjs";
2
+ export {};
@@ -30,39 +30,20 @@ function isWhatsAppNewsletterJid(value) {
30
30
  return WHATSAPP_NEWSLETTER_JID_RE.test(candidate);
31
31
  }
32
32
  function isWhatsAppUserTarget(value) {
33
- const candidate = stripWhatsAppTargetPrefixes(value);
34
- return WHATSAPP_USER_JID_RE.test(candidate) || WHATSAPP_LEGACY_USER_JID_RE.test(candidate) || WHATSAPP_LID_RE.test(candidate);
33
+ return extractUserJidPhone(stripWhatsAppTargetPrefixes(value)) !== null;
35
34
  }
36
35
  function extractUserJidPhone(jid) {
37
- const userMatch = jid.match(WHATSAPP_USER_JID_RE);
38
- if (userMatch) {
39
- const phone = userMatch[1];
40
- return phone ? phone : null;
41
- }
42
- const legacyUserMatch = jid.match(WHATSAPP_LEGACY_USER_JID_RE);
43
- if (legacyUserMatch) {
44
- const phone = legacyUserMatch[1];
45
- return phone ? phone : null;
46
- }
47
- const lidMatch = jid.match(WHATSAPP_LID_RE);
48
- if (lidMatch) {
49
- const phone = lidMatch[1];
50
- return phone ? phone : null;
51
- }
52
- return null;
36
+ return (jid.match(WHATSAPP_USER_JID_RE) ?? jid.match(WHATSAPP_LEGACY_USER_JID_RE) ?? jid.match(WHATSAPP_LID_RE))?.[1] ?? null;
53
37
  }
54
38
  function normalizeWhatsAppTarget(value) {
55
39
  const candidate = stripWhatsAppTargetPrefixes(value);
56
40
  if (!candidate) return null;
57
41
  const groupJid = normalizeWhatsAppGroupJid(candidate);
58
42
  if (groupJid) return groupJid;
59
- if (isWhatsAppNewsletterJid(candidate)) {
60
- const match = candidate.match(WHATSAPP_NEWSLETTER_JID_RE);
61
- return match ? `${match[1]}@newsletter` : null;
62
- }
63
- if (isWhatsAppUserTarget(candidate)) {
64
- const phone = extractUserJidPhone(candidate);
65
- if (!phone) return null;
43
+ const newsletterMatch = candidate.match(WHATSAPP_NEWSLETTER_JID_RE);
44
+ if (newsletterMatch) return `${newsletterMatch[1]}@newsletter`;
45
+ const phone = extractUserJidPhone(candidate);
46
+ if (phone) {
66
47
  const normalized = normalizeE164(phone);
67
48
  return normalized.length > 1 ? normalized : null;
68
49
  }
@@ -72,9 +53,7 @@ function normalizeWhatsAppTarget(value) {
72
53
  return normalized.length > 1 ? normalized : null;
73
54
  }
74
55
  function normalizeWhatsAppMessagingTarget(raw) {
75
- const trimmed = raw.trim();
76
- if (!trimmed) return;
77
- return normalizeWhatsAppTarget(trimmed) ?? void 0;
56
+ return normalizeWhatsAppTarget(raw) ?? void 0;
78
57
  }
79
58
  function normalizeWhatsAppAllowFromEntries(allowFrom) {
80
59
  return uniqueStrings(formatNormalizedAllowFromEntries({
@@ -90,8 +69,7 @@ function normalizeWhatsAppAllowFromEntry(entry) {
90
69
  }
91
70
  function looksLikeWhatsAppTargetId(raw) {
92
71
  const trimmed = raw.trim();
93
- if (!trimmed) return false;
94
- return /^whatsapp:/i.test(trimmed) || isWhatsAppGroupJid(trimmed) || isWhatsAppNewsletterJid(trimmed) || isWhatsAppUserTarget(trimmed) || normalizeWhatsAppTarget(trimmed) !== null;
72
+ return /^whatsapp:/i.test(trimmed) || normalizeWhatsAppTarget(trimmed) !== null;
95
73
  }
96
74
  //#endregion
97
75
  export { normalizeWhatsAppAllowFromEntries as a, normalizeWhatsAppTarget as c, looksLikeWhatsAppTargetId as i, isWhatsAppNewsletterJid as n, normalizeWhatsAppAllowFromEntry as o, isWhatsAppUserTarget as r, normalizeWhatsAppMessagingTarget as s, isWhatsAppGroupJid as t };
@@ -1,5 +1,5 @@
1
- import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { a as resolveWhatsAppAccount } from "./accounts-CiKHiuEe.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
+ import { a as resolveWhatsAppAccount } from "./accounts-D_NGDjCx.mjs";
3
3
  import { createQuestionReactionTargetStore, questionGatewayRuntime } from "openclaw/plugin-sdk/question-gateway-runtime";
4
4
  //#region extensions/whatsapp/src/question-reactions.ts
5
5
  var question_reactions_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { c as normalizeWhatsAppTarget, n as isWhatsAppNewsletterJid, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.js";
1
+ import { c as normalizeWhatsAppTarget, n as isWhatsAppNewsletterJid, t as isWhatsAppGroupJid } from "./normalize-target-BGra1ZnM.mjs";
2
2
  import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { missingTargetError } from "openclaw/plugin-sdk/channel-feedback";
4
4
  //#region extensions/whatsapp/src/resolve-outbound-target.ts
@@ -1,10 +1,10 @@
1
- import { a as resolveWhatsAppAccount, c as resolveMergedWhatsAppAccountConfig, s as resolveWhatsAppMediaMaxBytes } from "./accounts-CiKHiuEe.js";
2
- import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.js";
3
- import { n as isWhatsAppNewsletterJid } from "./normalize-target-CugRyONv.js";
4
- import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
5
- import "./normalize-C7Hkc_vE.js";
6
- import { a as markdownToWhatsAppChunks, c as toWhatsappJid } from "./targets-runtime-RBjx3pg_.js";
7
- import { a as stripToolCallXmlTags, i as sanitizeAssistantVisibleTextWithProfile, r as sanitizeAssistantVisibleText } from "./text-runtime-DyfmcATV.js";
1
+ import { a as resolveWhatsAppAccount, c as resolveMergedWhatsAppAccountConfig, s as resolveWhatsAppMediaMaxBytes } from "./accounts-D_NGDjCx.mjs";
2
+ import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.mjs";
3
+ import { n as isWhatsAppNewsletterJid } from "./normalize-target-BGra1ZnM.mjs";
4
+ import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-hgLJoRc8.mjs";
5
+ import "./normalize-DdsROMMa.mjs";
6
+ import { a as markdownToWhatsAppChunks, c as toWhatsappJid } from "./targets-runtime-RBjx3pg_.mjs";
7
+ import { a as stripToolCallXmlTags, i as sanitizeAssistantVisibleTextWithProfile, r as sanitizeAssistantVisibleText } from "./text-runtime-CHl0iPYe.mjs";
8
8
  import path from "node:path";
9
9
  import { normalizeStringEntries, normalizeUniqueStringEntries, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
10
10
  import { resolveReactionLevel } from "openclaw/plugin-sdk/status-helpers";
@@ -1,10 +1,10 @@
1
- import { n as isWhatsAppNewsletterJid } from "./normalize-target-CugRyONv.js";
2
- import { _ as resolveWhatsAppDocumentFileName, f as mergeWhatsAppAcceptedSendError, m as rememberWhatsAppAcceptedSend, p as normalizeWhatsAppSendResult, u as combineWhatsAppSendResults } from "./send-BDDGPxav.js";
3
- import "./normalize-C7Hkc_vE.js";
4
- import { c as toWhatsappJid, l as toWhatsappJidWithLid, r as jidToE164 } from "./targets-runtime-RBjx3pg_.js";
5
- import "./text-runtime-DyfmcATV.js";
6
- import { i as buildQuotedMessageOptions } from "./group-session-key-BmVDSPr1.js";
7
- import { k as resolveComparableIdentity } from "./auth-store-ZWaclAbd.js";
1
+ import { n as isWhatsAppNewsletterJid } from "./normalize-target-BGra1ZnM.mjs";
2
+ import { _ as resolveWhatsAppDocumentFileName, f as mergeWhatsAppAcceptedSendError, m as rememberWhatsAppAcceptedSend, p as normalizeWhatsAppSendResult, u as combineWhatsAppSendResults } from "./send-C6jDmcL9.mjs";
3
+ import "./normalize-DdsROMMa.mjs";
4
+ import { c as toWhatsappJid, l as toWhatsappJidWithLid, r as jidToE164 } from "./targets-runtime-RBjx3pg_.mjs";
5
+ import "./text-runtime-CHl0iPYe.mjs";
6
+ import { i as buildQuotedMessageOptions } from "./group-session-key-D22hYMdE.mjs";
7
+ import { k as resolveComparableIdentity } from "./auth-store-Dh8a3cba.mjs";
8
8
  import { isRecord, normalizeLowercaseStringOrEmpty, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
10
10
  import { formatLocationText } from "openclaw/plugin-sdk/channel-inbound";
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
2
  import { BufferJSON, DEFAULT_CONNECTION_CONFIG, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "baileys";
3
3
  //#region extensions/whatsapp/src/session.runtime.ts
4
4
  var session_runtime_exports = /* @__PURE__ */ __exportAll({
@@ -1,8 +1,8 @@
1
- import { a as resolveWhatsAppAccount, o as resolveWhatsAppAuthDir } from "./accounts-CiKHiuEe.js";
2
- import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.js";
3
- import { r as hasWebCredsSync } from "./creds-files-Drg3usj1.js";
4
- import { a as normalizeWhatsAppAllowFromEntries, o as normalizeWhatsAppAllowFromEntry } from "./normalize-target-CugRyONv.js";
5
- import { r as whatsappSetupAdapter } from "./shared-CLKLJLgY.js";
1
+ import { a as resolveWhatsAppAccount, o as resolveWhatsAppAuthDir } from "./accounts-D_NGDjCx.mjs";
2
+ import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.mjs";
3
+ import { r as hasWebCredsSync } from "./creds-files-Drg3usj1.mjs";
4
+ import { a as normalizeWhatsAppAllowFromEntries, o as normalizeWhatsAppAllowFromEntry } from "./normalize-target-BGra1ZnM.mjs";
5
+ import { n as whatsappSetupAdapter } from "./shared-C9OEtKgc.mjs";
6
6
  import { formatCliCommand, formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
7
7
  import { DEFAULT_ACCOUNT_ID, createSetupTranslator, splitSetupEntries } from "openclaw/plugin-sdk/setup";
8
8
  //#region extensions/whatsapp/src/setup-finalize.ts
@@ -296,7 +296,7 @@ async function finalizeWhatsAppSetup(params) {
296
296
  };
297
297
  let loginWeb;
298
298
  try {
299
- ({loginWeb} = await import("./login-6j2iP9nR.js").then((n) => n.n));
299
+ ({loginWeb} = await import("./login-2dmd1TfE.mjs").then((n) => n.n));
300
300
  } catch (error) {
301
301
  await reportLoginFailure(error);
302
302
  }
@@ -0,0 +1,3 @@
1
+ import { t as whatsappSetupPlugin } from "./channel.setup-CqUl8COe.mjs";
2
+ import "../setup-plugin-api.js";
3
+ export { whatsappSetupPlugin };
@@ -1,6 +1,6 @@
1
- import { o as resolveWhatsAppAuthDir } from "./accounts-CiKHiuEe.js";
2
- import { t as listAccountIds } from "./account-ids-CB5SOWjc.js";
3
- import { a as formatWhatsAppWebAuthStatusState, h as readWebAuthState } from "./auth-store-ZWaclAbd.js";
1
+ import { o as resolveWhatsAppAuthDir } from "./accounts-D_NGDjCx.mjs";
2
+ import { t as listAccountIds } from "./account-ids-CB5SOWjc.mjs";
3
+ import { a as formatWhatsAppWebAuthStatusState, h as readWebAuthState } from "./auth-store-Dh8a3cba.mjs";
4
4
  import { DEFAULT_ACCOUNT_ID, createSetupTranslator, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup";
5
5
  //#region extensions/whatsapp/src/setup-surface.ts
6
6
  const t = createSetupTranslator();
@@ -36,7 +36,7 @@ const whatsappSetupWizard = {
36
36
  },
37
37
  resolveShouldPromptAccountIds: ({ shouldPromptAccountIds }) => shouldPromptAccountIds,
38
38
  credentials: [],
39
- finalize: async (params) => await (await import("./setup-finalize-CZ6fHFFU.js")).finalizeWhatsAppSetup(params),
39
+ finalize: async (params) => await (await import("./setup-finalize-BYEgU0hb.mjs")).finalizeWhatsAppSetup(params),
40
40
  disable: (cfg) => setSetupChannelEnabled(cfg, channel, false),
41
41
  onAccountRecorded: (accountId, options) => {
42
42
  options?.onAccountId?.(channel, accountId);
@@ -1,33 +1,33 @@
1
- import { a as resolveWhatsAppAccount, n as hasAnyWhatsAppAuth } from "./accounts-CiKHiuEe.js";
2
- import { r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.js";
3
- import { a as normalizeWhatsAppAllowFromEntries } from "./normalize-target-CugRyONv.js";
4
- import { t as WhatsAppChannelConfigSchema } from "./config-schema-BYA6e_Ii.js";
5
- import { n as whatsappDoctor } from "./doctor-BPb-SjdE.js";
6
- import { t as resolveWhatsAppConfigPath } from "./group-config-path-BGyzT9Lg.js";
7
- import { t as resolveLegacyGroupSessionKey } from "./group-session-contract-DDnZSsJ1.js";
8
- import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-nAzD945y.js";
9
- import { n as deriveLegacySessionChatType, r as isLegacyGroupSessionKey, t as canonicalizeLegacySessionKey } from "./session-contract-DMTm6Q_L.js";
1
+ import { a as resolveWhatsAppAccount, n as hasAnyWhatsAppAuth } from "./accounts-D_NGDjCx.mjs";
2
+ import { r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.mjs";
3
+ import { a as normalizeWhatsAppAllowFromEntries } from "./normalize-target-BGra1ZnM.mjs";
4
+ import { t as WhatsAppChannelConfigSchema } from "./config-schema-BYA6e_Ii.mjs";
5
+ import { n as whatsappDoctor } from "./doctor-BPb-SjdE.mjs";
6
+ import { t as resolveWhatsAppConfigPath } from "./group-config-path-BGyzT9Lg.mjs";
7
+ import { t as resolveLegacyGroupSessionKey } from "./group-session-contract-DDnZSsJ1.mjs";
8
+ import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-nAzD945y.mjs";
9
+ import { n as deriveLegacySessionChatType, r as isLegacyGroupSessionKey, t as canonicalizeLegacySessionKey } from "./session-contract-DMTm6Q_L.mjs";
10
10
  import { normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  import { normalizeE164 } from "openclaw/plugin-sdk/account-resolution";
12
12
  import { createChannelPluginBase } from "openclaw/plugin-sdk/core";
13
13
  import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
14
14
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
15
- import { buildChannelGroupsScopeTree, collectOpenGroupPolicyRouteAllowlistWarnings, createAllowlistProviderGroupPolicyWarningCollector, createConditionalWarningCollector, resolveScopeRequireMention, resolveScopeToolsPolicy } from "openclaw/plugin-sdk/channel-policy";
16
- import { defineChannelSetupContract } from "openclaw/plugin-sdk/channel-setup";
17
- import { createPatchedAccountSetupAdapter } from "openclaw/plugin-sdk/setup";
18
15
  import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
19
16
  import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter, createScopedDmSecurityResolver } from "openclaw/plugin-sdk/channel-config-helpers";
20
- import { createDelegatedSetupWizardProxy, setSetupChannelEnabled as setSetupChannelEnabled$1 } from "openclaw/plugin-sdk/setup-runtime";
17
+ import { buildChannelGroupsScopeTree, collectOpenGroupPolicyRouteAllowlistWarnings, createAllowlistProviderGroupPolicyWarningCollector, createConditionalWarningCollector, resolveScopeRequireMention, resolveScopeToolsPolicy } from "openclaw/plugin-sdk/channel-policy";
18
+ import { createDelegatedSetupWizardProxy, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup-runtime";
21
19
  import { readChannelAllowFromStore } from "openclaw/plugin-sdk/channel-pairing";
20
+ import { defineChannelSetupContract } from "openclaw/plugin-sdk/channel-setup";
21
+ import { createPatchedAccountSetupAdapter } from "openclaw/plugin-sdk/setup";
22
22
  //#region extensions/whatsapp/src/channel-runtime-loader.ts
23
- const loadWhatsAppAuthStore = createLazyRuntimeModule(() => import("./auth-store-ZWaclAbd.js").then((n) => n.i));
23
+ const loadWhatsAppAuthStore = createLazyRuntimeModule(() => import("./auth-store-Dh8a3cba.mjs").then((n) => n.i));
24
24
  async function readWhatsAppAccountLinkState(authDir) {
25
25
  const state = await (await loadWhatsAppAuthStore()).readWebAuthState(authDir);
26
26
  return state === "unstable" ? "unknown" : state;
27
27
  }
28
28
  const loadWhatsAppChannelRuntime = createLazyRuntimeModule(async () => {
29
29
  await loadWhatsAppAuthStore();
30
- return await import("./channel.runtime-BFiZ9WhU.js");
30
+ return await import("./channel.runtime-ddGY37w8.mjs");
31
31
  });
32
32
  //#endregion
33
33
  //#region extensions/whatsapp/src/config-accessors.ts
@@ -53,24 +53,6 @@ function resolveWhatsAppGroupToolPolicy(params) {
53
53
  messageProvider: "whatsapp"
54
54
  });
55
55
  }
56
- const whatsappSetupAdapter = {
57
- ...createPatchedAccountSetupAdapter({
58
- channelKey: "whatsapp",
59
- alwaysUseAccounts: true,
60
- buildPatch: (input) => input.authDir ? { authDir: input.authDir } : {}
61
- }),
62
- singleAccountKeysToMove: ["authDir"]
63
- };
64
- const whatsappSetupContract = defineChannelSetupContract({
65
- fields: { authDir: {
66
- kind: "string",
67
- cli: {
68
- flags: "--auth-dir <path>",
69
- description: "WhatsApp auth directory override"
70
- }
71
- } },
72
- legacyAdapter: whatsappSetupAdapter
73
- });
74
56
  //#endregion
75
57
  //#region extensions/whatsapp/src/security-fix.ts
76
58
  function applyGroupAllowFromFromStore(params) {
@@ -112,11 +94,29 @@ async function applyWhatsAppSecurityConfigFixes(params) {
112
94
  changes
113
95
  };
114
96
  }
97
+ const whatsappSetupAdapter = {
98
+ ...createPatchedAccountSetupAdapter({
99
+ channelKey: "whatsapp",
100
+ alwaysUseAccounts: true,
101
+ buildPatch: (input) => input.authDir ? { authDir: input.authDir } : {}
102
+ }),
103
+ singleAccountKeysToMove: ["authDir"]
104
+ };
105
+ const whatsappSetupContract = defineChannelSetupContract({
106
+ fields: { authDir: {
107
+ kind: "string",
108
+ cli: {
109
+ flags: "--auth-dir <path>",
110
+ description: "WhatsApp auth directory override"
111
+ }
112
+ } },
113
+ legacyAdapter: whatsappSetupAdapter
114
+ });
115
115
  //#endregion
116
116
  //#region extensions/whatsapp/src/shared.ts
117
117
  const WHATSAPP_CHANNEL = "whatsapp";
118
118
  async function loadWhatsAppSetupSurface() {
119
- return await import("./setup-surface-CnK_PPiA.js");
119
+ return await import("./setup-surface-Cd3wN5HD.mjs");
120
120
  }
121
121
  const whatsappSetupWizardProxy = createWhatsAppSetupWizardProxy(async () => (await loadWhatsAppSetupSurface()).whatsappSetupWizard);
122
122
  const whatsappConfigAdapter = createScopedChannelConfigAdapter({
@@ -153,13 +153,13 @@ function createWhatsAppSetupWizardProxy(loadWizard) {
153
153
  resolveShouldPromptAccountIds: (params) => params.shouldPromptAccountIds,
154
154
  credentials: [],
155
155
  delegateFinalize: true,
156
- disable: (cfg) => setSetupChannelEnabled$1(cfg, WHATSAPP_CHANNEL, false),
156
+ disable: (cfg) => setSetupChannelEnabled(cfg, WHATSAPP_CHANNEL, false),
157
157
  onAccountRecorded: (accountId, options) => {
158
158
  options?.onAccountId?.(WHATSAPP_CHANNEL, accountId);
159
159
  }
160
160
  });
161
161
  }
162
- function createWhatsAppPluginBase(params) {
162
+ function createWhatsAppPluginBase() {
163
163
  const collectWhatsAppSecurityWarnings = createAllowlistProviderGroupPolicyWarningCollector({
164
164
  providerConfigPresent: (cfg) => cfg.channels?.whatsapp !== void 0,
165
165
  resolveGroupPolicy: ({ account }) => account.groupPolicy,
@@ -204,7 +204,7 @@ function createWhatsAppPluginBase(params) {
204
204
  const collectWhatsAppOpenGroupFindings = createConditionalWarningCollector.findings({
205
205
  collectWarnings: collectWhatsAppSecurityWarnings,
206
206
  checkId: "channels.whatsapp.groups.open",
207
- severity: "critical",
207
+ severity: "warn",
208
208
  title: "WhatsApp security warning"
209
209
  });
210
210
  const base = createChannelPluginBase({
@@ -222,7 +222,7 @@ function createWhatsAppPluginBase(params) {
222
222
  forceAccountBinding: true,
223
223
  preferSessionLookupForAnnounceTarget: true
224
224
  },
225
- setupWizard: params.setupWizard,
225
+ setupWizard: whatsappSetupWizardProxy,
226
226
  capabilities: {
227
227
  chatTypes: [
228
228
  "direct",
@@ -255,8 +255,8 @@ function createWhatsAppPluginBase(params) {
255
255
  ...whatsappConfigAdapter,
256
256
  isEnabled: (account) => account.enabled,
257
257
  disabledReason: () => "disabled",
258
- isConfigured: params.isConfigured,
259
- isLinked: params.isLinked,
258
+ isConfigured: (account) => Boolean(account.authDir),
259
+ isLinked: async (account) => await readWhatsAppAccountLinkState(account.authDir),
260
260
  hasPersistedAuthState: ({ cfg }) => hasAnyWhatsAppAuth(cfg),
261
261
  unconfiguredReason: () => "not configured",
262
262
  unlinkedReason: () => "not linked",
@@ -275,16 +275,15 @@ function createWhatsAppPluginBase(params) {
275
275
  collectWarnings: collectWhatsAppOpenGroupFindings
276
276
  },
277
277
  doctor: whatsappDoctor,
278
- setupContract: params.setupContract,
279
- groups: params.groups
278
+ setupContract: whatsappSetupContract,
279
+ groups: {
280
+ resolveRequireMention: resolveWhatsAppGroupRequireMention,
281
+ resolveToolPolicy: resolveWhatsAppGroupToolPolicy
282
+ }
280
283
  });
281
284
  return {
282
285
  ...base,
283
- setupWizard: base.setupWizard,
284
286
  capabilities: base.capabilities,
285
- reload: base.reload,
286
- gatewayMethodDescriptors: base.gatewayMethodDescriptors,
287
- configSchema: base.configSchema,
288
287
  config: base.config,
289
288
  messaging: {
290
289
  defaultMarkdownTableMode: "bullets",
@@ -299,10 +298,8 @@ function createWhatsAppPluginBase(params) {
299
298
  secrets: {
300
299
  unsupportedSecretRefSurfacePatterns,
301
300
  collectUnsupportedSecretRefConfigCandidates
302
- },
303
- security: base.security,
304
- groups: base.groups
301
+ }
305
302
  };
306
303
  }
307
304
  //#endregion
308
- export { resolveWhatsAppGroupRequireMention as a, loadWhatsAppChannelRuntime as c, whatsappSetupContract as i, readWhatsAppAccountLinkState as l, whatsappSetupWizardProxy as n, resolveWhatsAppGroupToolPolicy as o, whatsappSetupAdapter as r, formatWhatsAppConfigAllowFromEntries as s, createWhatsAppPluginBase as t };
305
+ export { formatWhatsAppConfigAllowFromEntries as a, resolveWhatsAppGroupToolPolicy as i, whatsappSetupAdapter as n, loadWhatsAppChannelRuntime as o, resolveWhatsAppGroupRequireMention as r, createWhatsAppPluginBase as t };
@@ -1,7 +1,7 @@
1
- import { c as resolveWebCredsPath, s as resolveWebCredsBackupPath, t as assertWebCredsPathRegularFileOrMissing } from "./creds-files-Drg3usj1.js";
2
- import { A as enqueueCredsSave, M as waitForCredsSaveQueueWithTimeout, N as writeCredsJsonAtomically, P as writeWebCredsRawAtomically, b as restoreCredsFromBackupIfNeeded, u as readCredsJsonRaw, y as resolveDefaultWebAuthDir } from "./auth-store-ZWaclAbd.js";
3
- import { n as getStatusCode } from "./session-errors-JuazczrA.js";
4
- import { a as makeWASocket, i as makeCacheableSignalKeyStore, n as createBaileysSignalRepository, r as fetchLatestBaileysVersion, s as useMultiFileAuthState } from "./session.runtime-Nsqaehbd.js";
1
+ import { c as resolveWebCredsPath, s as resolveWebCredsBackupPath, t as assertWebCredsPathRegularFileOrMissing } from "./creds-files-Drg3usj1.mjs";
2
+ import { A as enqueueCredsSave, M as waitForCredsSaveQueueWithTimeout, N as writeCredsJsonAtomically, P as writeWebCredsRawAtomically, b as restoreCredsFromBackupIfNeeded, u as readCredsJsonRaw, y as resolveDefaultWebAuthDir } from "./auth-store-Dh8a3cba.mjs";
3
+ import { n as getStatusCode } from "./session-errors-JuazczrA.mjs";
4
+ import { a as makeWASocket, i as makeCacheableSignalKeyStore, n as createBaileysSignalRepository, r as fetchLatestBaileysVersion, s as useMultiFileAuthState } from "./session.runtime-DcJuO42v.mjs";
5
5
  import { VERSION, formatCliCommand } from "openclaw/plugin-sdk/cli-runtime";
6
6
  import { toErrorObject } from "openclaw/plugin-sdk/error-runtime";
7
7
  import { danger, getChildLogger, success, toPinoLikeLogger } from "openclaw/plugin-sdk/runtime-env";
@@ -1,4 +1,4 @@
1
- import "./targets-runtime-RBjx3pg_.js";
1
+ import "./targets-runtime-RBjx3pg_.mjs";
2
2
  import { sanitizeAssistantVisibleText, sanitizeAssistantVisibleTextWithProfile, stripToolCallXmlTags } from "openclaw/plugin-sdk/text-chunking";
3
3
  import { normalizeE164, resolveUserPath as resolveUserPath$1 } from "openclaw/plugin-sdk/text-utility-runtime";
4
4
  export { stripToolCallXmlTags as a, sanitizeAssistantVisibleTextWithProfile as i, resolveUserPath$1 as n, sanitizeAssistantVisibleText as r, normalizeE164 as t };
@@ -1,2 +1,2 @@
1
- import { t as handleWhatsAppAction } from "./action-runtime-CRZLhN3f.js";
1
+ import { t as handleWhatsAppAction } from "./.setup/action-runtime-DZZFamfl.mjs";
2
2
  export { handleWhatsAppAction };
@@ -1,2 +1,2 @@
1
- import { t as handleWhatsAppAction } from "./action-runtime-CRZLhN3f.js";
1
+ import { t as handleWhatsAppAction } from "./.setup/action-runtime-DZZFamfl.mjs";
2
2
  export { handleWhatsAppAction };
@@ -1,7 +1,7 @@
1
- import { a as resolveWhatsAppAccount } from "./accounts-CiKHiuEe.js";
2
- import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
3
- import { s as resolveJidToE164 } from "./targets-runtime-RBjx3pg_.js";
4
- import { n as registerWhatsAppLoginTool } from "./agent-tools-login-B-2qZPzc.js";
1
+ import { a as resolveWhatsAppAccount } from "./.setup/accounts-D_NGDjCx.mjs";
2
+ import { r as getWhatsAppConnectionController } from "./.setup/connection-controller-runtime-context-hgLJoRc8.mjs";
3
+ import { s as resolveJidToE164 } from "./.setup/targets-runtime-RBjx3pg_.mjs";
4
+ import { n as registerWhatsAppLoginTool } from "./.setup/agent-tools-login-B6MAs75N.mjs";
5
5
  import { createActionGate, stringEnum } from "openclaw/plugin-sdk/channel-actions";
6
6
  import path from "node:path";
7
7
  import { resolveOAuthDir } from "openclaw/plugin-sdk/state-paths";