@openclaw/whatsapp 2026.7.2-beta.5 → 2026.7.2-beta.7

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 (1589) hide show
  1. package/dist/{action-runtime-B2bNDUwE.js → action-runtime-BzfDFPbH.js} +1 -1
  2. package/dist/action-runtime-api.js +1 -1
  3. package/dist/action-runtime.runtime.js +1 -1
  4. package/dist/{agent-tools-login-DfyToBpG.js → agent-tools-login-DE9MU98T.js} +1 -1
  5. package/dist/api.js +4 -4
  6. package/dist/{approval-handler.runtime-CmtqgLSQ.js → approval-handler.runtime-DrA59QSA.js} +1 -1
  7. package/dist/{channel-DcWBc3Hb.js → channel-Dg62olhy.js} +28 -27
  8. package/dist/channel-config-api.js +1 -1
  9. package/dist/channel-plugin-api.js +1 -1
  10. package/dist/{channel-react-action-DUIkjl6w.js → channel-react-action-J_YtyMGX.js} +2 -2
  11. package/dist/{channel.runtime-Q5fJ2I2b.js → channel.runtime-BP0xNmLi.js} +2 -2
  12. package/dist/{channel.setup-C_1u6HN6.js → channel.setup-pMwNVkCA.js} +3 -2
  13. package/dist/{config-schema-DARep0Nn.js → config-schema-BQP5YCeK.js} +8 -0
  14. package/dist/light-runtime-api.js +1 -1
  15. package/dist/{monitor-B7phZF9w.js → monitor-CfkaUSL2.js} +1132 -830
  16. package/dist/runtime-api.js +5 -5
  17. package/dist/{send-BTXJAyK4.js → send-D37ddk22.js} +11 -6
  18. package/dist/{send-api-BY_AkSiB.js → send-api-7wk6eQyW.js} +12 -7
  19. package/dist/{setup-finalize-C-m-vCl9.js → setup-finalize-BZucx24W.js} +1 -1
  20. package/dist/setup-plugin-api.js +1 -1
  21. package/dist/{setup-surface-BjvUbR6M.js → setup-surface-BkVcd769.js} +1 -1
  22. package/dist/{shared-UcAwtJaq.js → shared-CAxd15bp.js} +16 -52
  23. package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/index.js +20 -21
  24. package/node_modules/{p-queue → baileys/node_modules/p-queue}/package.json +1 -1
  25. package/node_modules/baileys/node_modules/protobufjs/README.md +440 -0
  26. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/dist/light/protobuf.js +3150 -1915
  27. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.js.map +1 -0
  28. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js +8 -0
  29. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -0
  30. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/dist/minimal/protobuf.js +1968 -1203
  31. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -0
  32. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js +8 -0
  33. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -0
  34. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/dist/protobuf.js +3326 -1961
  35. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.js.map +1 -0
  36. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js +8 -0
  37. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js.map +1 -0
  38. package/node_modules/baileys/node_modules/protobufjs/ext/README.md +70 -0
  39. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor/README.md +5 -0
  40. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor/index.d.ts +2 -0
  41. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor/index.js +2 -0
  42. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.d.ts +87 -0
  43. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.generated.d.ts +417 -0
  44. package/node_modules/{protobufjs/ext/descriptor/index.js → baileys/node_modules/protobufjs/ext/descriptor.js} +379 -209
  45. package/node_modules/baileys/node_modules/protobufjs/ext/protojson.LICENSE +201 -0
  46. package/node_modules/baileys/node_modules/protobufjs/ext/protojson.d.ts +20 -0
  47. package/node_modules/baileys/node_modules/protobufjs/ext/protojson.generated.d.ts +49 -0
  48. package/node_modules/baileys/node_modules/protobufjs/ext/protojson.js +951 -0
  49. package/node_modules/baileys/node_modules/protobufjs/ext/textformat.d.ts +19 -0
  50. package/node_modules/baileys/node_modules/protobufjs/ext/textformat.generated.d.ts +33 -0
  51. package/node_modules/baileys/node_modules/protobufjs/ext/textformat.js +1276 -0
  52. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/api/annotations.json +3 -1
  53. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/api/http.json +2 -1
  54. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/protobuf/api.json +12 -6
  55. package/node_modules/baileys/node_modules/protobufjs/google/protobuf/compiler/plugin.json +126 -0
  56. package/node_modules/baileys/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +47 -0
  57. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/protobuf/descriptor.json +170 -87
  58. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/protobuf/descriptor.proto +0 -8
  59. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/protobuf/source_context.json +2 -1
  60. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/protobuf/type.json +14 -7
  61. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/index.d.ts +1073 -702
  62. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/package.json +25 -51
  63. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/common.js +14 -8
  64. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/converter.js +85 -51
  65. package/node_modules/baileys/node_modules/protobufjs/src/decoder.js +279 -0
  66. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/encoder.js +27 -7
  67. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/enum.js +18 -5
  68. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/field.js +71 -19
  69. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/index-light.js +29 -29
  70. package/node_modules/baileys/node_modules/protobufjs/src/index-minimal.js +35 -0
  71. package/node_modules/baileys/node_modules/protobufjs/src/index.js +12 -0
  72. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/mapfield.js +26 -8
  73. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/message.js +5 -11
  74. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/method.js +30 -7
  75. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/namespace.js +26 -10
  76. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/object.js +41 -31
  77. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/oneof.js +12 -1
  78. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/parse.js +166 -47
  79. package/node_modules/baileys/node_modules/protobufjs/src/reader.js +788 -0
  80. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/reader_buffer.js +31 -5
  81. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/root.js +16 -4
  82. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/rpc/service.js +18 -5
  83. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/service.js +15 -2
  84. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/tokenize.js +6 -1
  85. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/type.js +80 -36
  86. package/node_modules/baileys/node_modules/protobufjs/src/typescript.js +25 -0
  87. package/node_modules/{@protobufjs/aspromise/index.d.ts → baileys/node_modules/protobufjs/src/util/aspromise.d.ts} +13 -13
  88. package/node_modules/{@protobufjs/aspromise/index.js → baileys/node_modules/protobufjs/src/util/aspromise.js} +52 -52
  89. package/node_modules/{@protobufjs/base64/index.d.ts → baileys/node_modules/protobufjs/src/util/base64.d.ts} +32 -32
  90. package/node_modules/{@protobufjs/base64/index.js → baileys/node_modules/protobufjs/src/util/base64.js} +146 -139
  91. package/node_modules/{@protobufjs/codegen/index.d.ts → baileys/node_modules/protobufjs/src/util/codegen.d.ts} +31 -31
  92. package/node_modules/{@protobufjs/codegen/index.js → baileys/node_modules/protobufjs/src/util/codegen.js} +118 -112
  93. package/node_modules/{@protobufjs/eventemitter/index.d.ts → baileys/node_modules/protobufjs/src/util/eventemitter.d.ts} +45 -45
  94. package/node_modules/{@protobufjs/eventemitter/index.js → baileys/node_modules/protobufjs/src/util/eventemitter.js} +86 -86
  95. package/node_modules/{@protobufjs/fetch/index.d.ts → baileys/node_modules/protobufjs/src/util/fetch.d.ts} +56 -56
  96. package/node_modules/{@protobufjs/fetch/index.js → baileys/node_modules/protobufjs/src/util/fetch.js} +112 -112
  97. package/node_modules/{@protobufjs/float/index.js → baileys/node_modules/protobufjs/src/util/float.js} +335 -335
  98. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/util/longbits.js +10 -6
  99. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/util/minimal.js +71 -51
  100. package/node_modules/{@protobufjs/path/index.d.ts → baileys/node_modules/protobufjs/src/util/path.d.ts} +22 -22
  101. package/node_modules/{@protobufjs/path/index.js → baileys/node_modules/protobufjs/src/util/path.js} +100 -65
  102. package/node_modules/{@protobufjs/pool/index.d.ts → baileys/node_modules/protobufjs/src/util/pool.d.ts} +32 -32
  103. package/node_modules/{@protobufjs/pool/index.js → baileys/node_modules/protobufjs/src/util/pool.js} +48 -48
  104. package/node_modules/{@protobufjs/utf8/index.d.ts → baileys/node_modules/protobufjs/src/util/utf8.d.ts} +24 -24
  105. package/node_modules/baileys/node_modules/protobufjs/src/util/utf8.js +190 -0
  106. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/util.js +51 -17
  107. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/verifier.js +19 -14
  108. package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/wrappers.js +2 -3
  109. package/node_modules/baileys/node_modules/protobufjs/src/writer.js +700 -0
  110. package/node_modules/baileys/node_modules/protobufjs/src/writer_buffer.js +100 -0
  111. package/node_modules/baileys/node_modules/protobufjs/tsconfig.json +6 -0
  112. package/openclaw.plugin.json +8 -0
  113. package/package.json +5 -5
  114. package/node_modules/@protobufjs/aspromise/LICENSE +0 -26
  115. package/node_modules/@protobufjs/aspromise/README.md +0 -13
  116. package/node_modules/@protobufjs/aspromise/package.json +0 -21
  117. package/node_modules/@protobufjs/aspromise/tests/index.js +0 -130
  118. package/node_modules/@protobufjs/base64/LICENSE +0 -26
  119. package/node_modules/@protobufjs/base64/README.md +0 -19
  120. package/node_modules/@protobufjs/base64/package.json +0 -21
  121. package/node_modules/@protobufjs/base64/tests/index.js +0 -46
  122. package/node_modules/@protobufjs/codegen/LICENSE +0 -26
  123. package/node_modules/@protobufjs/codegen/README.md +0 -49
  124. package/node_modules/@protobufjs/codegen/package.json +0 -13
  125. package/node_modules/@protobufjs/codegen/tests/index.js +0 -13
  126. package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +0 -8
  127. package/node_modules/@protobufjs/eventemitter/LICENSE +0 -26
  128. package/node_modules/@protobufjs/eventemitter/README.md +0 -22
  129. package/node_modules/@protobufjs/eventemitter/package.json +0 -21
  130. package/node_modules/@protobufjs/eventemitter/tests/index.js +0 -83
  131. package/node_modules/@protobufjs/fetch/CHANGELOG.md +0 -8
  132. package/node_modules/@protobufjs/fetch/LICENSE +0 -26
  133. package/node_modules/@protobufjs/fetch/README.md +0 -13
  134. package/node_modules/@protobufjs/fetch/package.json +0 -27
  135. package/node_modules/@protobufjs/fetch/tests/data/file.txt +0 -1
  136. package/node_modules/@protobufjs/fetch/tests/index.js +0 -158
  137. package/node_modules/@protobufjs/fetch/util/fs.js +0 -11
  138. package/node_modules/@protobufjs/float/LICENSE +0 -26
  139. package/node_modules/@protobufjs/float/README.md +0 -102
  140. package/node_modules/@protobufjs/float/bench/index.js +0 -87
  141. package/node_modules/@protobufjs/float/bench/suite.js +0 -46
  142. package/node_modules/@protobufjs/float/package.json +0 -26
  143. package/node_modules/@protobufjs/float/tests/index.js +0 -100
  144. package/node_modules/@protobufjs/path/LICENSE +0 -26
  145. package/node_modules/@protobufjs/path/README.md +0 -19
  146. package/node_modules/@protobufjs/path/package.json +0 -21
  147. package/node_modules/@protobufjs/path/tests/index.js +0 -60
  148. package/node_modules/@protobufjs/pool/.npmignore +0 -3
  149. package/node_modules/@protobufjs/pool/LICENSE +0 -26
  150. package/node_modules/@protobufjs/pool/README.md +0 -13
  151. package/node_modules/@protobufjs/pool/package.json +0 -21
  152. package/node_modules/@protobufjs/pool/tests/index.js +0 -33
  153. package/node_modules/@protobufjs/utf8/CHANGELOG.md +0 -8
  154. package/node_modules/@protobufjs/utf8/LICENSE +0 -26
  155. package/node_modules/@protobufjs/utf8/README.md +0 -20
  156. package/node_modules/@protobufjs/utf8/index.js +0 -115
  157. package/node_modules/@protobufjs/utf8/package.json +0 -21
  158. package/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +0 -207
  159. package/node_modules/@protobufjs/utf8/tests/data/utf8.txt +0 -216
  160. package/node_modules/@protobufjs/utf8/tests/index.js +0 -79
  161. package/node_modules/@types/node/LICENSE +0 -21
  162. package/node_modules/@types/node/README.md +0 -15
  163. package/node_modules/@types/node/assert/strict.d.ts +0 -68
  164. package/node_modules/@types/node/assert.d.ts +0 -1077
  165. package/node_modules/@types/node/async_hooks.d.ts +0 -711
  166. package/node_modules/@types/node/buffer.buffer.d.ts +0 -466
  167. package/node_modules/@types/node/buffer.d.ts +0 -1799
  168. package/node_modules/@types/node/child_process.d.ts +0 -1362
  169. package/node_modules/@types/node/cluster.d.ts +0 -432
  170. package/node_modules/@types/node/console.d.ts +0 -93
  171. package/node_modules/@types/node/constants.d.ts +0 -14
  172. package/node_modules/@types/node/crypto.d.ts +0 -3954
  173. package/node_modules/@types/node/dgram.d.ts +0 -537
  174. package/node_modules/@types/node/diagnostics_channel.d.ts +0 -794
  175. package/node_modules/@types/node/dns/promises.d.ts +0 -497
  176. package/node_modules/@types/node/dns.d.ts +0 -876
  177. package/node_modules/@types/node/domain.d.ts +0 -150
  178. package/node_modules/@types/node/events.d.ts +0 -1008
  179. package/node_modules/@types/node/ffi.d.ts +0 -486
  180. package/node_modules/@types/node/fs/promises.d.ts +0 -1481
  181. package/node_modules/@types/node/fs.d.ts +0 -4786
  182. package/node_modules/@types/node/globals.d.ts +0 -150
  183. package/node_modules/@types/node/globals.typedarray.d.ts +0 -101
  184. package/node_modules/@types/node/http.d.ts +0 -2172
  185. package/node_modules/@types/node/http2.d.ts +0 -2489
  186. package/node_modules/@types/node/https.d.ts +0 -400
  187. package/node_modules/@types/node/index.d.ts +0 -115
  188. package/node_modules/@types/node/inspector/promises.d.ts +0 -35
  189. package/node_modules/@types/node/inspector.d.ts +0 -264
  190. package/node_modules/@types/node/inspector.generated.d.ts +0 -4406
  191. package/node_modules/@types/node/module.d.ts +0 -726
  192. package/node_modules/@types/node/net.d.ts +0 -970
  193. package/node_modules/@types/node/os.d.ts +0 -498
  194. package/node_modules/@types/node/package.json +0 -155
  195. package/node_modules/@types/node/path/posix.d.ts +0 -8
  196. package/node_modules/@types/node/path/win32.d.ts +0 -8
  197. package/node_modules/@types/node/path.d.ts +0 -178
  198. package/node_modules/@types/node/perf_hooks.d.ts +0 -604
  199. package/node_modules/@types/node/process.d.ts +0 -2217
  200. package/node_modules/@types/node/punycode.d.ts +0 -89
  201. package/node_modules/@types/node/querystring.d.ts +0 -139
  202. package/node_modules/@types/node/quic.d.ts +0 -978
  203. package/node_modules/@types/node/readline/promises.d.ts +0 -158
  204. package/node_modules/@types/node/readline.d.ts +0 -508
  205. package/node_modules/@types/node/repl.d.ts +0 -420
  206. package/node_modules/@types/node/sea.d.ts +0 -47
  207. package/node_modules/@types/node/sqlite.d.ts +0 -1123
  208. package/node_modules/@types/node/stream/consumers.d.ts +0 -114
  209. package/node_modules/@types/node/stream/iter.d.ts +0 -451
  210. package/node_modules/@types/node/stream/promises.d.ts +0 -211
  211. package/node_modules/@types/node/stream/web.d.ts +0 -300
  212. package/node_modules/@types/node/stream.d.ts +0 -1806
  213. package/node_modules/@types/node/string_decoder.d.ts +0 -27
  214. package/node_modules/@types/node/test/reporters.d.ts +0 -59
  215. package/node_modules/@types/node/test.d.ts +0 -2389
  216. package/node_modules/@types/node/timers/promises.d.ts +0 -93
  217. package/node_modules/@types/node/timers.d.ts +0 -149
  218. package/node_modules/@types/node/tls.d.ts +0 -1193
  219. package/node_modules/@types/node/trace_events.d.ts +0 -103
  220. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
  221. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
  222. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
  223. package/node_modules/@types/node/ts5.6/index.d.ts +0 -117
  224. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
  225. package/node_modules/@types/node/ts5.7/index.d.ts +0 -117
  226. package/node_modules/@types/node/tty.d.ts +0 -225
  227. package/node_modules/@types/node/url.d.ts +0 -556
  228. package/node_modules/@types/node/util/types.d.ts +0 -558
  229. package/node_modules/@types/node/util.d.ts +0 -1677
  230. package/node_modules/@types/node/v8.d.ts +0 -1062
  231. package/node_modules/@types/node/vm.d.ts +0 -1136
  232. package/node_modules/@types/node/wasi.d.ts +0 -131
  233. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
  234. package/node_modules/@types/node/web-globals/blob.d.ts +0 -23
  235. package/node_modules/@types/node/web-globals/console.d.ts +0 -9
  236. package/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
  237. package/node_modules/@types/node/web-globals/domexception.d.ts +0 -83
  238. package/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
  239. package/node_modules/@types/node/web-globals/events.d.ts +0 -106
  240. package/node_modules/@types/node/web-globals/fetch.d.ts +0 -69
  241. package/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
  242. package/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
  243. package/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
  244. package/node_modules/@types/node/web-globals/performance.d.ts +0 -45
  245. package/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  246. package/node_modules/@types/node/web-globals/streams.d.ts +0 -115
  247. package/node_modules/@types/node/web-globals/timers.d.ts +0 -44
  248. package/node_modules/@types/node/web-globals/url.d.ts +0 -24
  249. package/node_modules/@types/node/worker_threads.d.ts +0 -669
  250. package/node_modules/@types/node/zlib/iter.d.ts +0 -131
  251. package/node_modules/@types/node/zlib.d.ts +0 -589
  252. package/node_modules/protobufjs/README.md +0 -727
  253. package/node_modules/protobufjs/dist/light/protobuf.js.map +0 -1
  254. package/node_modules/protobufjs/dist/light/protobuf.min.js +0 -8
  255. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +0 -1
  256. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +0 -1
  257. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +0 -8
  258. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +0 -1
  259. package/node_modules/protobufjs/dist/protobuf.js.map +0 -1
  260. package/node_modules/protobufjs/dist/protobuf.min.js +0 -8
  261. package/node_modules/protobufjs/dist/protobuf.min.js.map +0 -1
  262. package/node_modules/protobufjs/ext/descriptor/README.md +0 -72
  263. package/node_modules/protobufjs/ext/descriptor/index.d.ts +0 -195
  264. package/node_modules/protobufjs/ext/descriptor/test.js +0 -54
  265. package/node_modules/protobufjs/scripts/postinstall.js +0 -32
  266. package/node_modules/protobufjs/src/decoder.js +0 -135
  267. package/node_modules/protobufjs/src/index-minimal.js +0 -36
  268. package/node_modules/protobufjs/src/index.js +0 -12
  269. package/node_modules/protobufjs/src/reader.js +0 -426
  270. package/node_modules/protobufjs/src/typescript.jsdoc +0 -15
  271. package/node_modules/protobufjs/src/writer.js +0 -467
  272. package/node_modules/protobufjs/src/writer_buffer.js +0 -85
  273. package/node_modules/protobufjs/tsconfig.json +0 -8
  274. package/node_modules/undici-types/LICENSE +0 -21
  275. package/node_modules/undici-types/README.md +0 -6
  276. package/node_modules/undici-types/agent.d.ts +0 -30
  277. package/node_modules/undici-types/api.d.ts +0 -43
  278. package/node_modules/undici-types/balanced-pool.d.ts +0 -30
  279. package/node_modules/undici-types/cache-interceptor.d.ts +0 -179
  280. package/node_modules/undici-types/cache.d.ts +0 -36
  281. package/node_modules/undici-types/client-stats.d.ts +0 -15
  282. package/node_modules/undici-types/client.d.ts +0 -129
  283. package/node_modules/undici-types/connector.d.ts +0 -36
  284. package/node_modules/undici-types/content-type.d.ts +0 -21
  285. package/node_modules/undici-types/cookies.d.ts +0 -30
  286. package/node_modules/undici-types/diagnostics-channel.d.ts +0 -74
  287. package/node_modules/undici-types/dispatcher.d.ts +0 -253
  288. package/node_modules/undici-types/dispatcher1-wrapper.d.ts +0 -7
  289. package/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -22
  290. package/node_modules/undici-types/errors.d.ts +0 -177
  291. package/node_modules/undici-types/eventsource.d.ts +0 -66
  292. package/node_modules/undici-types/fetch.d.ts +0 -231
  293. package/node_modules/undici-types/formdata.d.ts +0 -108
  294. package/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  295. package/node_modules/undici-types/global-origin.d.ts +0 -7
  296. package/node_modules/undici-types/h2c-client.d.ts +0 -73
  297. package/node_modules/undici-types/handlers.d.ts +0 -14
  298. package/node_modules/undici-types/header.d.ts +0 -165
  299. package/node_modules/undici-types/index.d.ts +0 -93
  300. package/node_modules/undici-types/interceptors.d.ts +0 -80
  301. package/node_modules/undici-types/mock-agent.d.ts +0 -68
  302. package/node_modules/undici-types/mock-call-history.d.ts +0 -111
  303. package/node_modules/undici-types/mock-client.d.ts +0 -27
  304. package/node_modules/undici-types/mock-errors.d.ts +0 -12
  305. package/node_modules/undici-types/mock-interceptor.d.ts +0 -94
  306. package/node_modules/undici-types/mock-pool.d.ts +0 -27
  307. package/node_modules/undici-types/package.json +0 -55
  308. package/node_modules/undici-types/patch.d.ts +0 -29
  309. package/node_modules/undici-types/pool-stats.d.ts +0 -19
  310. package/node_modules/undici-types/pool.d.ts +0 -39
  311. package/node_modules/undici-types/proxy-agent.d.ts +0 -29
  312. package/node_modules/undici-types/readable.d.ts +0 -68
  313. package/node_modules/undici-types/retry-agent.d.ts +0 -8
  314. package/node_modules/undici-types/retry-handler.d.ts +0 -125
  315. package/node_modules/undici-types/round-robin-pool.d.ts +0 -39
  316. package/node_modules/undici-types/snapshot-agent.d.ts +0 -113
  317. package/node_modules/undici-types/socks5-proxy-agent.d.ts +0 -25
  318. package/node_modules/undici-types/util.d.ts +0 -18
  319. package/node_modules/undici-types/utility.d.ts +0 -7
  320. package/node_modules/undici-types/webidl.d.ts +0 -346
  321. package/node_modules/undici-types/websocket.d.ts +0 -188
  322. /package/node_modules/{@eshaz → audio-decode/node_modules/@eshaz}/web-worker/LICENSE +0 -0
  323. /package/node_modules/{@eshaz → audio-decode/node_modules/@eshaz}/web-worker/README.md +0 -0
  324. /package/node_modules/{@eshaz → audio-decode/node_modules/@eshaz}/web-worker/browser.js +0 -0
  325. /package/node_modules/{@eshaz → audio-decode/node_modules/@eshaz}/web-worker/cjs/browser.js +0 -0
  326. /package/node_modules/{@eshaz → audio-decode/node_modules/@eshaz}/web-worker/cjs/node.js +0 -0
  327. /package/node_modules/{@eshaz → audio-decode/node_modules/@eshaz}/web-worker/index.d.ts +0 -0
  328. /package/node_modules/{@eshaz → audio-decode/node_modules/@eshaz}/web-worker/node.js +0 -0
  329. /package/node_modules/{@eshaz → audio-decode/node_modules/@eshaz}/web-worker/package.json +0 -0
  330. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/LICENSE +0 -0
  331. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/README.md +0 -0
  332. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/index.d.ts +0 -0
  333. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/index.js +0 -0
  334. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/input.d.ts +0 -0
  335. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/input.js +0 -0
  336. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/output.d.ts +0 -0
  337. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/output.js +0 -0
  338. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/package.json +0 -0
  339. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/simple.d.ts +0 -0
  340. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/bitstream/simple.js +0 -0
  341. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/LICENSE +0 -0
  342. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/README.md +0 -0
  343. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/assert.d.ts +0 -0
  344. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/assert.js +0 -0
  345. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/deferror.d.ts +0 -0
  346. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/deferror.js +0 -0
  347. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/ensure.d.ts +0 -0
  348. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/ensure.js +0 -0
  349. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/illegal-arguments.d.ts +0 -0
  350. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/illegal-arguments.js +0 -0
  351. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/illegal-arity.d.ts +0 -0
  352. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/illegal-arity.js +0 -0
  353. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/illegal-state.d.ts +0 -0
  354. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/illegal-state.js +0 -0
  355. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/index.d.ts +0 -0
  356. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/index.js +0 -0
  357. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/io.d.ts +0 -0
  358. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/io.js +0 -0
  359. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/out-of-bounds.d.ts +0 -0
  360. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/out-of-bounds.js +0 -0
  361. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/package.json +0 -0
  362. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/unsupported.d.ts +0 -0
  363. /package/node_modules/{@thi.ng → audio-decode/node_modules/@thi.ng}/errors/unsupported.js +0 -0
  364. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/index.js +0 -0
  365. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/package.json +0 -0
  366. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/src/WASMAudioDecoderCommon.js +0 -0
  367. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/src/WASMAudioDecoderWorker.js +0 -0
  368. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/src/puff/README +0 -0
  369. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/src/puff/build_puff.js +0 -0
  370. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/src/puff/puff.c +0 -0
  371. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/src/puff/puff.h +0 -0
  372. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/src/utilities.js +0 -0
  373. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/common/types.d.ts +0 -0
  374. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/flac/README.md +0 -0
  375. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/flac/dist/flac-decoder.min.js +0 -0
  376. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/flac/dist/flac-decoder.min.js.map +0 -0
  377. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/flac/index.js +0 -0
  378. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/flac/package.json +0 -0
  379. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/flac/src/EmscriptenWasm.js +0 -0
  380. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/flac/src/FLACDecoder.js +0 -0
  381. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/flac/src/FLACDecoderWebWorker.js +0 -0
  382. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/flac/types.d.ts +0 -0
  383. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/ogg-vorbis/README.md +0 -0
  384. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/ogg-vorbis/dist/ogg-vorbis-decoder.min.js +0 -0
  385. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/ogg-vorbis/dist/ogg-vorbis-decoder.min.js.map +0 -0
  386. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/ogg-vorbis/index.js +0 -0
  387. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/ogg-vorbis/package.json +0 -0
  388. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/ogg-vorbis/src/EmscriptenWasm.js +0 -0
  389. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/ogg-vorbis/src/OggVorbisDecoder.js +0 -0
  390. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/ogg-vorbis/src/OggVorbisDecoderWebWorker.js +0 -0
  391. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/ogg-vorbis/types.d.ts +0 -0
  392. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/opus-ml/README.md +0 -0
  393. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/opus-ml/dist/opus-ml-decoder.min.js +0 -0
  394. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/opus-ml/dist/opus-ml-decoder.min.js.map +0 -0
  395. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/opus-ml/index.js +0 -0
  396. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/opus-ml/package.json +0 -0
  397. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/opus-ml/src/EmscriptenWasm.js +0 -0
  398. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/opus-ml/src/OpusMLDecoder.js +0 -0
  399. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/opus-ml/src/OpusMLDecoderWebWorker.js +0 -0
  400. /package/node_modules/{@wasm-audio-decoders → audio-decode/node_modules/@wasm-audio-decoders}/opus-ml/types.d.ts +0 -0
  401. /package/node_modules/{audio-buffer → audio-decode/node_modules/audio-buffer}/.eslintrc.json +0 -0
  402. /package/node_modules/{audio-buffer → audio-decode/node_modules/audio-buffer}/.github/workflows/node.js.yml +0 -0
  403. /package/node_modules/{audio-buffer → audio-decode/node_modules/audio-buffer}/.travis.yml +0 -0
  404. /package/node_modules/{audio-buffer → audio-decode/node_modules/audio-buffer}/LICENSE +0 -0
  405. /package/node_modules/{audio-buffer → audio-decode/node_modules/audio-buffer}/index.js +0 -0
  406. /package/node_modules/{audio-buffer → audio-decode/node_modules/audio-buffer}/package.json +0 -0
  407. /package/node_modules/{audio-buffer → audio-decode/node_modules/audio-buffer}/readme.md +0 -0
  408. /package/node_modules/{audio-type → audio-decode/node_modules/audio-type}/audio-type.js +0 -0
  409. /package/node_modules/{audio-type → audio-decode/node_modules/audio-type}/license +0 -0
  410. /package/node_modules/{audio-type → audio-decode/node_modules/audio-type}/package.json +0 -0
  411. /package/node_modules/{audio-type → audio-decode/node_modules/audio-type}/readme.md +0 -0
  412. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/.github/FUNDING.yml +0 -0
  413. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/.prettierignore +0 -0
  414. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/LICENSE +0 -0
  415. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/README.md +0 -0
  416. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/index.d.ts +0 -0
  417. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/index.js +0 -0
  418. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/package.json +0 -0
  419. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/CodecParser.js +0 -0
  420. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/CodecFrame.js +0 -0
  421. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/CodecHeader.js +0 -0
  422. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/HeaderCache.js +0 -0
  423. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/Parser.js +0 -0
  424. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/aac/AACFrame.js +0 -0
  425. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/aac/AACHeader.js +0 -0
  426. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/aac/AACParser.js +0 -0
  427. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/flac/FLACFrame.js +0 -0
  428. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/flac/FLACHeader.js +0 -0
  429. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/flac/FLACParser.js +0 -0
  430. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/mpeg/MPEGFrame.js +0 -0
  431. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/mpeg/MPEGHeader.js +0 -0
  432. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/mpeg/MPEGParser.js +0 -0
  433. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/opus/OpusFrame.js +0 -0
  434. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/opus/OpusHeader.js +0 -0
  435. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/opus/OpusParser.js +0 -0
  436. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/vorbis/VorbisFrame.js +0 -0
  437. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/vorbis/VorbisHeader.js +0 -0
  438. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/codecs/vorbis/VorbisParser.js +0 -0
  439. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/constants.js +0 -0
  440. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/containers/Frame.js +0 -0
  441. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/containers/ogg/OggPage.js +0 -0
  442. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/containers/ogg/OggPageHeader.js +0 -0
  443. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/containers/ogg/OggParser.js +0 -0
  444. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/globals.js +0 -0
  445. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/metadata/ID3v2.js +0 -0
  446. /package/node_modules/{codec-parser → audio-decode/node_modules/codec-parser}/src/utilities.js +0 -0
  447. /package/node_modules/{mpg123-decoder → audio-decode/node_modules/mpg123-decoder}/README.md +0 -0
  448. /package/node_modules/{mpg123-decoder → audio-decode/node_modules/mpg123-decoder}/dist/mpg123-decoder.min.js +0 -0
  449. /package/node_modules/{mpg123-decoder → audio-decode/node_modules/mpg123-decoder}/dist/mpg123-decoder.min.js.map +0 -0
  450. /package/node_modules/{mpg123-decoder → audio-decode/node_modules/mpg123-decoder}/index.js +0 -0
  451. /package/node_modules/{mpg123-decoder → audio-decode/node_modules/mpg123-decoder}/package.json +0 -0
  452. /package/node_modules/{mpg123-decoder → audio-decode/node_modules/mpg123-decoder}/src/EmscriptenWasm.js +0 -0
  453. /package/node_modules/{mpg123-decoder → audio-decode/node_modules/mpg123-decoder}/src/MPEGDecoder.js +0 -0
  454. /package/node_modules/{mpg123-decoder → audio-decode/node_modules/mpg123-decoder}/src/MPEGDecoderWebWorker.js +0 -0
  455. /package/node_modules/{mpg123-decoder → audio-decode/node_modules/mpg123-decoder}/types.d.ts +0 -0
  456. /package/node_modules/{node-wav → audio-decode/node_modules/node-wav}/README.md +0 -0
  457. /package/node_modules/{node-wav → audio-decode/node_modules/node-wav}/file.wav +0 -0
  458. /package/node_modules/{node-wav → audio-decode/node_modules/node-wav}/index.js +0 -0
  459. /package/node_modules/{node-wav → audio-decode/node_modules/node-wav}/package.json +0 -0
  460. /package/node_modules/{node-wav → audio-decode/node_modules/node-wav}/tests/file1.wav +0 -0
  461. /package/node_modules/{node-wav → audio-decode/node_modules/node-wav}/tests/test.js +0 -0
  462. /package/node_modules/{node-wav → audio-decode/node_modules/node-wav}/x.js +0 -0
  463. /package/node_modules/{node-wav → audio-decode/node_modules/node-wav}/x.json +0 -0
  464. /package/node_modules/{node-wav → audio-decode/node_modules/node-wav}/x.js~ +0 -0
  465. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/README.md +0 -0
  466. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/dist/ogg-opus-decoder.min.js +0 -0
  467. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/dist/ogg-opus-decoder.min.js.map +0 -0
  468. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/dist/ogg-opus-decoder.opus-ml.min.js +0 -0
  469. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/dist/ogg-opus-decoder.opus-ml.min.js.map +0 -0
  470. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/index.js +0 -0
  471. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/package.json +0 -0
  472. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/src/OggOpusDecoder.js +0 -0
  473. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/src/OggOpusDecoderWebWorker.js +0 -0
  474. /package/node_modules/{ogg-opus-decoder → audio-decode/node_modules/ogg-opus-decoder}/types.d.ts +0 -0
  475. /package/node_modules/{opus-decoder → audio-decode/node_modules/opus-decoder}/README.md +0 -0
  476. /package/node_modules/{opus-decoder → audio-decode/node_modules/opus-decoder}/dist/opus-decoder.min.js +0 -0
  477. /package/node_modules/{opus-decoder → audio-decode/node_modules/opus-decoder}/dist/opus-decoder.min.js.map +0 -0
  478. /package/node_modules/{opus-decoder → audio-decode/node_modules/opus-decoder}/index.js +0 -0
  479. /package/node_modules/{opus-decoder → audio-decode/node_modules/opus-decoder}/package.json +0 -0
  480. /package/node_modules/{opus-decoder → audio-decode/node_modules/opus-decoder}/src/EmscriptenWasm.js +0 -0
  481. /package/node_modules/{opus-decoder → audio-decode/node_modules/opus-decoder}/src/OpusDecoder.js +0 -0
  482. /package/node_modules/{opus-decoder → audio-decode/node_modules/opus-decoder}/src/OpusDecoderWebWorker.js +0 -0
  483. /package/node_modules/{opus-decoder → audio-decode/node_modules/opus-decoder}/types.d.ts +0 -0
  484. /package/node_modules/{qoa-format → audio-decode/node_modules/qoa-format}/LICENSE.md +0 -0
  485. /package/node_modules/{qoa-format → audio-decode/node_modules/qoa-format}/README.md +0 -0
  486. /package/node_modules/{qoa-format → audio-decode/node_modules/qoa-format}/decode.js +0 -0
  487. /package/node_modules/{qoa-format → audio-decode/node_modules/qoa-format}/encode.js +0 -0
  488. /package/node_modules/{qoa-format → audio-decode/node_modules/qoa-format}/index.js +0 -0
  489. /package/node_modules/{qoa-format → audio-decode/node_modules/qoa-format}/lib/common.js +0 -0
  490. /package/node_modules/{qoa-format → audio-decode/node_modules/qoa-format}/package.json +0 -0
  491. /package/node_modules/{simple-yenc → audio-decode/node_modules/simple-yenc}/.github/FUNDING.yml +0 -0
  492. /package/node_modules/{simple-yenc → audio-decode/node_modules/simple-yenc}/.prettierignore +0 -0
  493. /package/node_modules/{simple-yenc → audio-decode/node_modules/simple-yenc}/LICENSE +0 -0
  494. /package/node_modules/{simple-yenc → audio-decode/node_modules/simple-yenc}/README.md +0 -0
  495. /package/node_modules/{simple-yenc → audio-decode/node_modules/simple-yenc}/dist/esm.js +0 -0
  496. /package/node_modules/{simple-yenc → audio-decode/node_modules/simple-yenc}/dist/index.js +0 -0
  497. /package/node_modules/{simple-yenc → audio-decode/node_modules/simple-yenc}/package.json +0 -0
  498. /package/node_modules/{simple-yenc → audio-decode/node_modules/simple-yenc}/rollup.config.js +0 -0
  499. /package/node_modules/{simple-yenc → audio-decode/node_modules/simple-yenc}/src/simple-yenc.js +0 -0
  500. /package/node_modules/{@borewit → baileys/node_modules/@borewit}/text-codec/LICENSE.txt +0 -0
  501. /package/node_modules/{@borewit → baileys/node_modules/@borewit}/text-codec/README.md +0 -0
  502. /package/node_modules/{@borewit → baileys/node_modules/@borewit}/text-codec/lib/index.d.ts +0 -0
  503. /package/node_modules/{@borewit → baileys/node_modules/@borewit}/text-codec/lib/index.js +0 -0
  504. /package/node_modules/{@borewit → baileys/node_modules/@borewit}/text-codec/package.json +0 -0
  505. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/memory/LICENSE +0 -0
  506. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/memory/README.md +0 -0
  507. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/memory/dist/index.cjs +0 -0
  508. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/memory/dist/index.d.cts +0 -0
  509. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/memory/dist/index.d.mts +0 -0
  510. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/memory/dist/index.mjs +0 -0
  511. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/memory/package.json +0 -0
  512. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/node-cache/LICENSE +0 -0
  513. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/node-cache/README.md +0 -0
  514. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/node-cache/dist/index.cjs +0 -0
  515. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/node-cache/dist/index.d.cts +0 -0
  516. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/node-cache/dist/index.d.ts +0 -0
  517. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/node-cache/dist/index.js +0 -0
  518. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/node-cache/package.json +0 -0
  519. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/utils/LICENSE +0 -0
  520. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/utils/README.md +0 -0
  521. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/utils/dist/index.cjs +0 -0
  522. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/utils/dist/index.d.cts +0 -0
  523. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/utils/dist/index.d.mts +0 -0
  524. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/utils/dist/index.mjs +0 -0
  525. /package/node_modules/{@cacheable → baileys/node_modules/@cacheable}/utils/package.json +0 -0
  526. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/boom/LICENSE.md +0 -0
  527. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/boom/README.md +0 -0
  528. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/boom/lib/index.d.ts +0 -0
  529. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/boom/lib/index.js +0 -0
  530. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/boom/package.json +0 -0
  531. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/LICENSE.md +0 -0
  532. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/README.md +0 -0
  533. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/applyToDefaults.js +0 -0
  534. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/assert.js +0 -0
  535. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/bench.js +0 -0
  536. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/block.js +0 -0
  537. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/clone.js +0 -0
  538. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/contain.js +0 -0
  539. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/deepEqual.js +0 -0
  540. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/error.js +0 -0
  541. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/escapeHeaderAttribute.js +0 -0
  542. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/escapeHtml.js +0 -0
  543. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/escapeJson.js +0 -0
  544. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/escapeRegex.js +0 -0
  545. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/flatten.js +0 -0
  546. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/ignore.js +0 -0
  547. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/index.d.ts +0 -0
  548. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/index.js +0 -0
  549. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/intersect.js +0 -0
  550. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/isPromise.js +0 -0
  551. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/merge.js +0 -0
  552. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/once.js +0 -0
  553. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/reach.js +0 -0
  554. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/reachTemplate.js +0 -0
  555. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/stringify.js +0 -0
  556. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/types.js +0 -0
  557. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/utils.js +0 -0
  558. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/lib/wait.js +0 -0
  559. /package/node_modules/{@hapi → baileys/node_modules/@hapi}/hoek/package.json +0 -0
  560. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/bigmap/LICENSE +0 -0
  561. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/bigmap/README.md +0 -0
  562. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/bigmap/dist/index.cjs +0 -0
  563. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/bigmap/dist/index.d.cts +0 -0
  564. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/bigmap/dist/index.d.ts +0 -0
  565. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/bigmap/dist/index.js +0 -0
  566. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/bigmap/package.json +0 -0
  567. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/serialize/LICENSE +0 -0
  568. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/serialize/README.md +0 -0
  569. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/serialize/dist/index.cjs +0 -0
  570. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/serialize/dist/index.d.cts +0 -0
  571. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/serialize/dist/index.d.ts +0 -0
  572. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/serialize/dist/index.js +0 -0
  573. /package/node_modules/{@keyv → baileys/node_modules/@keyv}/serialize/package.json +0 -0
  574. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/.github/dependabot.yml +0 -0
  575. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/.github/workflows/ci.yml +0 -0
  576. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/.github/workflows/publish-release.yml +0 -0
  577. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/LICENSE +0 -0
  578. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/README.md +0 -0
  579. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/benchmarks/basic.js +0 -0
  580. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/eslint.config.js +0 -0
  581. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/index.d.ts +0 -0
  582. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/index.js +0 -0
  583. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/index.test-d.ts +0 -0
  584. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/package.json +0 -0
  585. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/scripts/sync-version.mjs +0 -0
  586. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/test/actual-redact-comparison.test.js +0 -0
  587. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/test/index.test.js +0 -0
  588. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/test/integration.test.js +0 -0
  589. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/test/multiple-wildcards.test.js +0 -0
  590. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/test/prototype-pollution.test.js +0 -0
  591. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/test/selective-clone.test.js +0 -0
  592. /package/node_modules/{@pinojs → baileys/node_modules/@pinojs}/redact/tsconfig.json +0 -0
  593. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/LICENSE +0 -0
  594. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/README.md +0 -0
  595. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/lib/GzipHandler.d.ts +0 -0
  596. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/lib/GzipHandler.js +0 -0
  597. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/lib/ZipHandler.d.ts +0 -0
  598. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/lib/ZipHandler.js +0 -0
  599. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/lib/ZipToken.d.ts +0 -0
  600. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/lib/ZipToken.js +0 -0
  601. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/lib/index.d.ts +0 -0
  602. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/lib/index.js +0 -0
  603. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/inflate/package.json +0 -0
  604. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/token/README.md +0 -0
  605. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/token/index.d.ts +0 -0
  606. /package/node_modules/{@tokenizer → baileys/node_modules/@tokenizer}/token/package.json +0 -0
  607. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/LICENSE +0 -0
  608. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/README.md +0 -0
  609. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/es6/Mutex.js +0 -0
  610. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/es6/MutexInterface.js +0 -0
  611. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/es6/Semaphore.js +0 -0
  612. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/es6/SemaphoreInterface.js +0 -0
  613. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/es6/errors.js +0 -0
  614. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/es6/index.js +0 -0
  615. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/es6/tryAcquire.js +0 -0
  616. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/es6/withTimeout.js +0 -0
  617. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/index.mjs +0 -0
  618. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/Mutex.d.ts +0 -0
  619. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/Mutex.js +0 -0
  620. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/MutexInterface.d.ts +0 -0
  621. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/MutexInterface.js +0 -0
  622. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/Semaphore.d.ts +0 -0
  623. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/Semaphore.js +0 -0
  624. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/SemaphoreInterface.d.ts +0 -0
  625. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/SemaphoreInterface.js +0 -0
  626. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/errors.d.ts +0 -0
  627. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/errors.js +0 -0
  628. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/index.d.ts +0 -0
  629. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/index.js +0 -0
  630. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/tryAcquire.d.ts +0 -0
  631. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/tryAcquire.js +0 -0
  632. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/withTimeout.d.ts +0 -0
  633. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/lib/withTimeout.js +0 -0
  634. /package/node_modules/{async-mutex → baileys/node_modules/async-mutex}/package.json +0 -0
  635. /package/node_modules/{atomic-sleep → baileys/node_modules/atomic-sleep}/.travis.yml +0 -0
  636. /package/node_modules/{atomic-sleep → baileys/node_modules/atomic-sleep}/LICENSE +0 -0
  637. /package/node_modules/{atomic-sleep → baileys/node_modules/atomic-sleep}/index.js +0 -0
  638. /package/node_modules/{atomic-sleep → baileys/node_modules/atomic-sleep}/package.json +0 -0
  639. /package/node_modules/{atomic-sleep → baileys/node_modules/atomic-sleep}/readme.md +0 -0
  640. /package/node_modules/{atomic-sleep → baileys/node_modules/atomic-sleep}/test.js +0 -0
  641. /package/node_modules/{cacheable → baileys/node_modules/cacheable}/LICENSE +0 -0
  642. /package/node_modules/{cacheable → baileys/node_modules/cacheable}/README.md +0 -0
  643. /package/node_modules/{cacheable → baileys/node_modules/cacheable}/dist/index.cjs +0 -0
  644. /package/node_modules/{cacheable → baileys/node_modules/cacheable}/dist/index.d.cts +0 -0
  645. /package/node_modules/{cacheable → baileys/node_modules/cacheable}/dist/index.d.mts +0 -0
  646. /package/node_modules/{cacheable → baileys/node_modules/cacheable}/dist/index.mjs +0 -0
  647. /package/node_modules/{cacheable → baileys/node_modules/cacheable}/package.json +0 -0
  648. /package/node_modules/{content-type → baileys/node_modules/content-type}/LICENSE +0 -0
  649. /package/node_modules/{content-type → baileys/node_modules/content-type}/README.md +0 -0
  650. /package/node_modules/{content-type → baileys/node_modules/content-type}/dist/index.d.ts +0 -0
  651. /package/node_modules/{content-type → baileys/node_modules/content-type}/dist/index.js +0 -0
  652. /package/node_modules/{content-type → baileys/node_modules/content-type}/dist/index.js.map +0 -0
  653. /package/node_modules/{content-type → baileys/node_modules/content-type}/package.json +0 -0
  654. /package/node_modules/{curve25519-js → baileys/node_modules/curve25519-js}/.prettierrc +0 -0
  655. /package/node_modules/{curve25519-js → baileys/node_modules/curve25519-js}/LICENSE +0 -0
  656. /package/node_modules/{curve25519-js → baileys/node_modules/curve25519-js}/README.md +0 -0
  657. /package/node_modules/{curve25519-js → baileys/node_modules/curve25519-js}/lib/index.d.ts +0 -0
  658. /package/node_modules/{curve25519-js → baileys/node_modules/curve25519-js}/lib/index.js +0 -0
  659. /package/node_modules/{curve25519-js → baileys/node_modules/curve25519-js}/package.json +0 -0
  660. /package/node_modules/{curve25519-js → baileys/node_modules/curve25519-js}/tsconfig.json +0 -0
  661. /package/node_modules/{curve25519-js → baileys/node_modules/curve25519-js}/tslint.json +0 -0
  662. /package/node_modules/{debug → baileys/node_modules/debug}/LICENSE +0 -0
  663. /package/node_modules/{debug → baileys/node_modules/debug}/README.md +0 -0
  664. /package/node_modules/{debug → baileys/node_modules/debug}/package.json +0 -0
  665. /package/node_modules/{debug → baileys/node_modules/debug}/src/browser.js +0 -0
  666. /package/node_modules/{debug → baileys/node_modules/debug}/src/common.js +0 -0
  667. /package/node_modules/{debug → baileys/node_modules/debug}/src/index.js +0 -0
  668. /package/node_modules/{debug → baileys/node_modules/debug}/src/node.js +0 -0
  669. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/LICENSE +0 -0
  670. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/README.md +0 -0
  671. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/dist/eventemitter3.esm.js +0 -0
  672. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/dist/eventemitter3.esm.min.js +0 -0
  673. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/dist/eventemitter3.esm.min.js.map +0 -0
  674. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/dist/eventemitter3.umd.js +0 -0
  675. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/dist/eventemitter3.umd.min.js +0 -0
  676. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/dist/eventemitter3.umd.min.js.map +0 -0
  677. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/index.d.ts +0 -0
  678. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/index.js +0 -0
  679. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/index.mjs +0 -0
  680. /package/node_modules/{eventemitter3 → baileys/node_modules/eventemitter3}/package.json +0 -0
  681. /package/node_modules/{file-type → baileys/node_modules/file-type}/license +0 -0
  682. /package/node_modules/{file-type → baileys/node_modules/file-type}/package.json +0 -0
  683. /package/node_modules/{file-type → baileys/node_modules/file-type}/readme.md +0 -0
  684. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/detectors/asf.js +0 -0
  685. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/detectors/ebml.js +0 -0
  686. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/detectors/png.js +0 -0
  687. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/detectors/zip.js +0 -0
  688. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/index.d.ts +0 -0
  689. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/index.js +0 -0
  690. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/index.test-d.ts +0 -0
  691. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/parser.js +0 -0
  692. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/supported.js +0 -0
  693. /package/node_modules/{file-type → baileys/node_modules/file-type}/source/tokens.js +0 -0
  694. /package/node_modules/{hashery → baileys/node_modules/hashery}/LICENSE +0 -0
  695. /package/node_modules/{hashery → baileys/node_modules/hashery}/README.md +0 -0
  696. /package/node_modules/{hashery → baileys/node_modules/hashery}/dist/browser/index.global.js +0 -0
  697. /package/node_modules/{hashery → baileys/node_modules/hashery}/dist/browser/index.global.js.map +0 -0
  698. /package/node_modules/{hashery → baileys/node_modules/hashery}/dist/browser/index.js +0 -0
  699. /package/node_modules/{hashery → baileys/node_modules/hashery}/dist/browser/index.js.map +0 -0
  700. /package/node_modules/{hashery → baileys/node_modules/hashery}/dist/node/index.cjs +0 -0
  701. /package/node_modules/{hashery → baileys/node_modules/hashery}/dist/node/index.d.cts +0 -0
  702. /package/node_modules/{hashery → baileys/node_modules/hashery}/dist/node/index.d.ts +0 -0
  703. /package/node_modules/{hashery → baileys/node_modules/hashery}/dist/node/index.js +0 -0
  704. /package/node_modules/{hashery → baileys/node_modules/hashery}/package.json +0 -0
  705. /package/node_modules/{hookified → baileys/node_modules/hookified}/LICENSE +0 -0
  706. /package/node_modules/{hookified → baileys/node_modules/hookified}/README.md +0 -0
  707. /package/node_modules/{hookified → baileys/node_modules/hookified}/dist/browser/index.global.js +0 -0
  708. /package/node_modules/{hookified → baileys/node_modules/hookified}/dist/browser/index.global.js.map +0 -0
  709. /package/node_modules/{hookified → baileys/node_modules/hookified}/dist/browser/index.js +0 -0
  710. /package/node_modules/{hookified → baileys/node_modules/hookified}/dist/browser/index.js.map +0 -0
  711. /package/node_modules/{hookified → baileys/node_modules/hookified}/dist/node/index.cjs +0 -0
  712. /package/node_modules/{hookified → baileys/node_modules/hookified}/dist/node/index.d.cts +0 -0
  713. /package/node_modules/{hookified → baileys/node_modules/hookified}/dist/node/index.d.ts +0 -0
  714. /package/node_modules/{hookified → baileys/node_modules/hookified}/dist/node/index.js +0 -0
  715. /package/node_modules/{hookified → baileys/node_modules/hookified}/package.json +0 -0
  716. /package/node_modules/{ieee754 → baileys/node_modules/ieee754}/LICENSE +0 -0
  717. /package/node_modules/{ieee754 → baileys/node_modules/ieee754}/README.md +0 -0
  718. /package/node_modules/{ieee754 → baileys/node_modules/ieee754}/index.d.ts +0 -0
  719. /package/node_modules/{ieee754 → baileys/node_modules/ieee754}/index.js +0 -0
  720. /package/node_modules/{ieee754 → baileys/node_modules/ieee754}/package.json +0 -0
  721. /package/node_modules/{keyv → baileys/node_modules/keyv}/LICENSE +0 -0
  722. /package/node_modules/{keyv → baileys/node_modules/keyv}/README.md +0 -0
  723. /package/node_modules/{keyv → baileys/node_modules/keyv}/dist/index.cjs +0 -0
  724. /package/node_modules/{keyv → baileys/node_modules/keyv}/dist/index.d.cts +0 -0
  725. /package/node_modules/{keyv → baileys/node_modules/keyv}/dist/index.d.ts +0 -0
  726. /package/node_modules/{keyv → baileys/node_modules/keyv}/dist/index.js +0 -0
  727. /package/node_modules/{keyv → baileys/node_modules/keyv}/package.json +0 -0
  728. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/LICENSE +0 -0
  729. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/README.md +0 -0
  730. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/index.d.ts +0 -0
  731. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/index.js +0 -0
  732. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/package.json +0 -0
  733. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/.eslintrc.json +0 -0
  734. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/WhisperTextProtocol.js +0 -0
  735. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/base_key_type.js +0 -0
  736. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/chain_type.js +0 -0
  737. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/crypto.d.ts +0 -0
  738. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/crypto.js +0 -0
  739. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/curve.d.ts +0 -0
  740. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/curve.js +0 -0
  741. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/errors.js +0 -0
  742. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/keyhelper.js +0 -0
  743. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/numeric_fingerprint.js +0 -0
  744. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/protobufs.js +0 -0
  745. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/protocol_address.js +0 -0
  746. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/queue_job.js +0 -0
  747. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/session_builder.js +0 -0
  748. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/session_cipher.js +0 -0
  749. /package/node_modules/{libsignal → baileys/node_modules/libsignal}/src/session_record.js +0 -0
  750. /package/node_modules/{long → baileys/node_modules/long}/LICENSE +0 -0
  751. /package/node_modules/{long → baileys/node_modules/long}/README.md +0 -0
  752. /package/node_modules/{long → baileys/node_modules/long}/index.d.ts +0 -0
  753. /package/node_modules/{long → baileys/node_modules/long}/index.js +0 -0
  754. /package/node_modules/{long → baileys/node_modules/long}/package.json +0 -0
  755. /package/node_modules/{long → baileys/node_modules/long}/types.d.ts +0 -0
  756. /package/node_modules/{long → baileys/node_modules/long}/umd/index.d.ts +0 -0
  757. /package/node_modules/{long → baileys/node_modules/long}/umd/index.js +0 -0
  758. /package/node_modules/{long → baileys/node_modules/long}/umd/package.json +0 -0
  759. /package/node_modules/{long → baileys/node_modules/long}/umd/types.d.ts +0 -0
  760. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/LICENSE.md +0 -0
  761. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/README.md +0 -0
  762. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +0 -0
  763. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/diagnostics-channel-browser.js.map +0 -0
  764. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/diagnostics-channel.d.ts +0 -0
  765. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/diagnostics-channel.js +0 -0
  766. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/index.d.ts +0 -0
  767. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/index.d.ts.map +0 -0
  768. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/index.js +0 -0
  769. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/index.js.map +0 -0
  770. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/index.min.js +0 -0
  771. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/index.min.js.map +0 -0
  772. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/perf.d.ts +0 -0
  773. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/perf.d.ts.map +0 -0
  774. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/perf.js +0 -0
  775. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/browser/perf.js.map +0 -0
  776. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/diagnostics-channel-cjs.cjs.map +0 -0
  777. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/diagnostics-channel-cjs.d.cts.map +0 -0
  778. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/diagnostics-channel.d.ts +0 -0
  779. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/diagnostics-channel.js +0 -0
  780. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/index.d.ts +0 -0
  781. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/index.d.ts.map +0 -0
  782. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/index.js +0 -0
  783. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/index.js.map +0 -0
  784. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/index.min.js +0 -0
  785. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/index.min.js.map +0 -0
  786. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/diagnostics-channel-node.d.ts.map +0 -0
  787. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/diagnostics-channel-node.js.map +0 -0
  788. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/diagnostics-channel.d.ts +0 -0
  789. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/diagnostics-channel.js +0 -0
  790. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/index.d.ts +0 -0
  791. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/index.d.ts.map +0 -0
  792. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/index.js +0 -0
  793. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/index.js.map +0 -0
  794. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/index.min.js +0 -0
  795. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/index.min.js.map +0 -0
  796. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/perf.d.ts +0 -0
  797. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/perf.d.ts.map +0 -0
  798. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/perf.js +0 -0
  799. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/node/perf.js.map +0 -0
  800. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/package.json +0 -0
  801. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/perf.d.ts +0 -0
  802. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/perf.d.ts.map +0 -0
  803. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/perf.js +0 -0
  804. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/commonjs/perf.js.map +0 -0
  805. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/diagnostics-channel-browser.d.ts.map +0 -0
  806. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/diagnostics-channel-browser.js.map +0 -0
  807. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/diagnostics-channel.d.ts +0 -0
  808. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/diagnostics-channel.js +0 -0
  809. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/index.d.ts +0 -0
  810. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/index.d.ts.map +0 -0
  811. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/index.js +0 -0
  812. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/index.js.map +0 -0
  813. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/index.min.js +0 -0
  814. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/index.min.js.map +0 -0
  815. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/perf.d.ts +0 -0
  816. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/perf.d.ts.map +0 -0
  817. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/perf.js +0 -0
  818. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/browser/perf.js.map +0 -0
  819. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/diagnostics-channel-esm.d.mts.map +0 -0
  820. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/diagnostics-channel-esm.mjs.map +0 -0
  821. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/diagnostics-channel.d.ts +0 -0
  822. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/diagnostics-channel.js +0 -0
  823. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/index.d.ts +0 -0
  824. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/index.d.ts.map +0 -0
  825. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/index.js +0 -0
  826. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/index.js.map +0 -0
  827. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/index.min.js +0 -0
  828. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/index.min.js.map +0 -0
  829. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/diagnostics-channel-node.d.ts.map +0 -0
  830. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/diagnostics-channel-node.js.map +0 -0
  831. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/diagnostics-channel.d.ts +0 -0
  832. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/diagnostics-channel.js +0 -0
  833. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/index.d.ts +0 -0
  834. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/index.d.ts.map +0 -0
  835. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/index.js +0 -0
  836. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/index.js.map +0 -0
  837. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/index.min.js +0 -0
  838. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/index.min.js.map +0 -0
  839. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/perf.d.ts +0 -0
  840. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/perf.d.ts.map +0 -0
  841. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/perf.js +0 -0
  842. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/node/perf.js.map +0 -0
  843. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/package.json +0 -0
  844. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/perf.d.ts +0 -0
  845. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/perf.d.ts.map +0 -0
  846. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/perf.js +0 -0
  847. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/dist/esm/perf.js.map +0 -0
  848. /package/node_modules/{lru-cache → baileys/node_modules/lru-cache}/package.json +0 -0
  849. /package/node_modules/{media-typer → baileys/node_modules/media-typer}/LICENSE +0 -0
  850. /package/node_modules/{media-typer → baileys/node_modules/media-typer}/README.md +0 -0
  851. /package/node_modules/{media-typer → baileys/node_modules/media-typer}/dist/index.d.ts +0 -0
  852. /package/node_modules/{media-typer → baileys/node_modules/media-typer}/dist/index.js +0 -0
  853. /package/node_modules/{media-typer → baileys/node_modules/media-typer}/dist/index.js.map +0 -0
  854. /package/node_modules/{media-typer → baileys/node_modules/media-typer}/package.json +0 -0
  855. /package/node_modules/{ms → baileys/node_modules/ms}/index.js +0 -0
  856. /package/node_modules/{ms → baileys/node_modules/ms}/license.md +0 -0
  857. /package/node_modules/{ms → baileys/node_modules/ms}/package.json +0 -0
  858. /package/node_modules/{ms → baileys/node_modules/ms}/readme.md +0 -0
  859. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/LICENSE.txt +0 -0
  860. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/README.md +0 -0
  861. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ParseError.d.ts +0 -0
  862. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ParseError.js +0 -0
  863. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ParserFactory.d.ts +0 -0
  864. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ParserFactory.js +0 -0
  865. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/aiff/AiffLoader.d.ts +0 -0
  866. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/aiff/AiffLoader.js +0 -0
  867. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/aiff/AiffParser.d.ts +0 -0
  868. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/aiff/AiffParser.js +0 -0
  869. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/aiff/AiffTagMap.d.ts +0 -0
  870. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/aiff/AiffTagMap.js +0 -0
  871. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/aiff/AiffToken.d.ts +0 -0
  872. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/aiff/AiffToken.js +0 -0
  873. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/apev2/APEv2Parser.d.ts +0 -0
  874. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/apev2/APEv2Parser.js +0 -0
  875. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/apev2/APEv2TagMapper.d.ts +0 -0
  876. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/apev2/APEv2TagMapper.js +0 -0
  877. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/apev2/APEv2Token.d.ts +0 -0
  878. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/apev2/APEv2Token.js +0 -0
  879. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/apev2/Apev2Loader.d.ts +0 -0
  880. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/apev2/Apev2Loader.js +0 -0
  881. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfGuid.d.ts +0 -0
  882. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfGuid.js +0 -0
  883. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfLoader.d.ts +0 -0
  884. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfLoader.js +0 -0
  885. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfObject.d.ts +0 -0
  886. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfObject.js +0 -0
  887. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfParser.d.ts +0 -0
  888. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfParser.js +0 -0
  889. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfTagMapper.d.ts +0 -0
  890. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfTagMapper.js +0 -0
  891. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfUtil.d.ts +0 -0
  892. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/asf/AsfUtil.js +0 -0
  893. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/BasicParser.d.ts +0 -0
  894. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/BasicParser.js +0 -0
  895. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/CaseInsensitiveTagMap.d.ts +0 -0
  896. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/CaseInsensitiveTagMap.js +0 -0
  897. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/CombinedTagMapper.d.ts +0 -0
  898. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/CombinedTagMapper.js +0 -0
  899. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/FourCC.d.ts +0 -0
  900. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/FourCC.js +0 -0
  901. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/GenericTagMapper.d.ts +0 -0
  902. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/GenericTagMapper.js +0 -0
  903. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/GenericTagTypes.d.ts +0 -0
  904. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/GenericTagTypes.js +0 -0
  905. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/MetadataCollector.d.ts +0 -0
  906. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/MetadataCollector.js +0 -0
  907. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/Util.d.ts +0 -0
  908. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/common/Util.js +0 -0
  909. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/core.d.ts +0 -0
  910. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/core.js +0 -0
  911. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsdiff/DsdiffLoader.d.ts +0 -0
  912. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsdiff/DsdiffLoader.js +0 -0
  913. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsdiff/DsdiffParser.d.ts +0 -0
  914. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsdiff/DsdiffParser.js +0 -0
  915. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsdiff/DsdiffToken.d.ts +0 -0
  916. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsdiff/DsdiffToken.js +0 -0
  917. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsf/DsfChunk.d.ts +0 -0
  918. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsf/DsfChunk.js +0 -0
  919. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsf/DsfLoader.d.ts +0 -0
  920. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsf/DsfLoader.js +0 -0
  921. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsf/DsfParser.d.ts +0 -0
  922. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/dsf/DsfParser.js +0 -0
  923. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ebml/EbmlIterator.d.ts +0 -0
  924. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ebml/EbmlIterator.js +0 -0
  925. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ebml/types.d.ts +0 -0
  926. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ebml/types.js +0 -0
  927. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/flac/FlacLoader.d.ts +0 -0
  928. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/flac/FlacLoader.js +0 -0
  929. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/flac/FlacParser.d.ts +0 -0
  930. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/flac/FlacParser.js +0 -0
  931. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/flac/FlacToken.d.ts +0 -0
  932. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/flac/FlacToken.js +0 -0
  933. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v1/ID3v1Parser.d.ts +0 -0
  934. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v1/ID3v1Parser.js +0 -0
  935. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v1/ID3v1TagMap.d.ts +0 -0
  936. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v1/ID3v1TagMap.js +0 -0
  937. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/AbstractID3Parser.d.ts +0 -0
  938. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/AbstractID3Parser.js +0 -0
  939. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/FrameHeader.d.ts +0 -0
  940. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/FrameHeader.js +0 -0
  941. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/FrameParser.d.ts +0 -0
  942. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/FrameParser.js +0 -0
  943. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v22TagMapper.d.ts +0 -0
  944. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v22TagMapper.js +0 -0
  945. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v24TagMapper.d.ts +0 -0
  946. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v24TagMapper.js +0 -0
  947. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v2ChapterToken.d.ts +0 -0
  948. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v2ChapterToken.js +0 -0
  949. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v2Parser.d.ts +0 -0
  950. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v2Parser.js +0 -0
  951. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v2Token.d.ts +0 -0
  952. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/id3v2/ID3v2Token.js +0 -0
  953. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/iff/index.d.ts +0 -0
  954. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/iff/index.js +0 -0
  955. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/index.d.ts +0 -0
  956. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/index.js +0 -0
  957. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/lrc/LyricsParser.d.ts +0 -0
  958. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/lrc/LyricsParser.js +0 -0
  959. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/lyrics3/Lyrics3.d.ts +0 -0
  960. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/lyrics3/Lyrics3.js +0 -0
  961. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/MatroskaDtd.d.ts +0 -0
  962. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/MatroskaDtd.js +0 -0
  963. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/MatroskaLoader.d.ts +0 -0
  964. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/MatroskaLoader.js +0 -0
  965. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/MatroskaParser.d.ts +0 -0
  966. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/MatroskaParser.js +0 -0
  967. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/MatroskaTagMapper.d.ts +0 -0
  968. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/MatroskaTagMapper.js +0 -0
  969. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/types.d.ts +0 -0
  970. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/matroska/types.js +0 -0
  971. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/Atom.d.ts +0 -0
  972. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/Atom.js +0 -0
  973. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/AtomToken.d.ts +0 -0
  974. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/AtomToken.js +0 -0
  975. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/MP4Parser.d.ts +0 -0
  976. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/MP4Parser.js +0 -0
  977. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/MP4TagMapper.d.ts +0 -0
  978. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/MP4TagMapper.js +0 -0
  979. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/Mp4Loader.d.ts +0 -0
  980. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mp4/Mp4Loader.js +0 -0
  981. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/ExtendedLameHeader.d.ts +0 -0
  982. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/ExtendedLameHeader.js +0 -0
  983. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/MpegLoader.d.ts +0 -0
  984. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/MpegLoader.js +0 -0
  985. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/MpegParser.d.ts +0 -0
  986. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/MpegParser.js +0 -0
  987. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/ReplayGainDataFormat.d.ts +0 -0
  988. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/ReplayGainDataFormat.js +0 -0
  989. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/XingTag.d.ts +0 -0
  990. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/mpeg/XingTag.js +0 -0
  991. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/MusepackConentError.d.ts +0 -0
  992. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/MusepackConentError.js +0 -0
  993. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/MusepackLoader.d.ts +0 -0
  994. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/MusepackLoader.js +0 -0
  995. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/MusepackParser.d.ts +0 -0
  996. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/MusepackParser.js +0 -0
  997. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv7/BitReader.d.ts +0 -0
  998. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv7/BitReader.js +0 -0
  999. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv7/MpcSv7Parser.d.ts +0 -0
  1000. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv7/MpcSv7Parser.js +0 -0
  1001. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv7/StreamVersion7.d.ts +0 -0
  1002. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv7/StreamVersion7.js +0 -0
  1003. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv8/MpcSv8Parser.d.ts +0 -0
  1004. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv8/MpcSv8Parser.js +0 -0
  1005. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv8/StreamVersion8.d.ts +0 -0
  1006. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/musepack/sv8/StreamVersion8.js +0 -0
  1007. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/OggLoader.d.ts +0 -0
  1008. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/OggLoader.js +0 -0
  1009. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/OggParser.d.ts +0 -0
  1010. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/OggParser.js +0 -0
  1011. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/OggToken.d.ts +0 -0
  1012. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/OggToken.js +0 -0
  1013. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/flac/FlacStream.d.ts +0 -0
  1014. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/flac/FlacStream.js +0 -0
  1015. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/opus/Opus.d.ts +0 -0
  1016. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/opus/Opus.js +0 -0
  1017. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/opus/OpusStream.d.ts +0 -0
  1018. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/opus/OpusStream.js +0 -0
  1019. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/speex/Speex.d.ts +0 -0
  1020. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/speex/Speex.js +0 -0
  1021. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/speex/SpeexStream.d.ts +0 -0
  1022. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/speex/SpeexStream.js +0 -0
  1023. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/theora/Theora.d.ts +0 -0
  1024. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/theora/Theora.js +0 -0
  1025. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/theora/TheoraStream.d.ts +0 -0
  1026. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/theora/TheoraStream.js +0 -0
  1027. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/vorbis/Vorbis.d.ts +0 -0
  1028. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/vorbis/Vorbis.js +0 -0
  1029. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/vorbis/VorbisDecoder.d.ts +0 -0
  1030. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/vorbis/VorbisDecoder.js +0 -0
  1031. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/vorbis/VorbisStream.d.ts +0 -0
  1032. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/vorbis/VorbisStream.js +0 -0
  1033. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/vorbis/VorbisTagMapper.d.ts +0 -0
  1034. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/ogg/vorbis/VorbisTagMapper.js +0 -0
  1035. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/riff/RiffChunk.d.ts +0 -0
  1036. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/riff/RiffChunk.js +0 -0
  1037. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/riff/RiffInfoTagMap.d.ts +0 -0
  1038. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/riff/RiffInfoTagMap.js +0 -0
  1039. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/type.d.ts +0 -0
  1040. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/type.js +0 -0
  1041. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wav/BwfChunk.d.ts +0 -0
  1042. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wav/BwfChunk.js +0 -0
  1043. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wav/WaveChunk.d.ts +0 -0
  1044. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wav/WaveChunk.js +0 -0
  1045. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wav/WaveLoader.d.ts +0 -0
  1046. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wav/WaveLoader.js +0 -0
  1047. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wav/WaveParser.d.ts +0 -0
  1048. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wav/WaveParser.js +0 -0
  1049. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wavpack/WavPackLoader.d.ts +0 -0
  1050. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wavpack/WavPackLoader.js +0 -0
  1051. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wavpack/WavPackParser.d.ts +0 -0
  1052. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wavpack/WavPackParser.js +0 -0
  1053. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wavpack/WavPackToken.d.ts +0 -0
  1054. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/lib/wavpack/WavPackToken.js +0 -0
  1055. /package/node_modules/{music-metadata → baileys/node_modules/music-metadata}/package.json +0 -0
  1056. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/.github/dependabot.yml +0 -0
  1057. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/.github/workflows/ci.yml +0 -0
  1058. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/LICENSE +0 -0
  1059. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/README.md +0 -0
  1060. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/index.js +0 -0
  1061. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/package.json +0 -0
  1062. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/test/base.test.js +0 -0
  1063. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/test/event-emitter-leak.test.js +0 -0
  1064. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/test/fixtures/beforeExit.js +0 -0
  1065. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/test/fixtures/close.js +0 -0
  1066. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/test/fixtures/gc-not-close.js +0 -0
  1067. /package/node_modules/{on-exit-leak-free → baileys/node_modules/on-exit-leak-free}/test/fixtures/unregister.js +0 -0
  1068. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/index.d.ts +0 -0
  1069. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/lower-bound.d.ts +0 -0
  1070. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/lower-bound.js +0 -0
  1071. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/options.d.ts +0 -0
  1072. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/options.js +0 -0
  1073. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/priority-queue.d.ts +0 -0
  1074. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/priority-queue.js +0 -0
  1075. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/queue.d.ts +0 -0
  1076. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/dist/queue.js +0 -0
  1077. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/license +0 -0
  1078. /package/node_modules/{p-queue → baileys/node_modules/p-queue}/readme.md +0 -0
  1079. /package/node_modules/{p-timeout → baileys/node_modules/p-timeout}/index.d.ts +0 -0
  1080. /package/node_modules/{p-timeout → baileys/node_modules/p-timeout}/index.js +0 -0
  1081. /package/node_modules/{p-timeout → baileys/node_modules/p-timeout}/license +0 -0
  1082. /package/node_modules/{p-timeout → baileys/node_modules/p-timeout}/package.json +0 -0
  1083. /package/node_modules/{p-timeout → baileys/node_modules/p-timeout}/readme.md +0 -0
  1084. /package/node_modules/{pino → baileys/node_modules/pino}/.eslintignore +0 -0
  1085. /package/node_modules/{pino → baileys/node_modules/pino}/.eslintrc +0 -0
  1086. /package/node_modules/{pino → baileys/node_modules/pino}/.github/dependabot.yml +0 -0
  1087. /package/node_modules/{pino → baileys/node_modules/pino}/.github/workflows/bench.yml +0 -0
  1088. /package/node_modules/{pino → baileys/node_modules/pino}/.github/workflows/ci.yml +0 -0
  1089. /package/node_modules/{pino → baileys/node_modules/pino}/.github/workflows/lock-threads.yml +0 -0
  1090. /package/node_modules/{pino → baileys/node_modules/pino}/.github/workflows/publish-release.yml +0 -0
  1091. /package/node_modules/{pino → baileys/node_modules/pino}/.github/workflows/target-main.yml +0 -0
  1092. /package/node_modules/{pino → baileys/node_modules/pino}/.nojekyll +0 -0
  1093. /package/node_modules/{pino → baileys/node_modules/pino}/.prettierignore +0 -0
  1094. /package/node_modules/{pino → baileys/node_modules/pino}/.taprc.yaml +0 -0
  1095. /package/node_modules/{pino → baileys/node_modules/pino}/CNAME +0 -0
  1096. /package/node_modules/{pino → baileys/node_modules/pino}/CONTRIBUTING.md +0 -0
  1097. /package/node_modules/{pino → baileys/node_modules/pino}/LICENSE +0 -0
  1098. /package/node_modules/{pino → baileys/node_modules/pino}/README.md +0 -0
  1099. /package/node_modules/{pino → baileys/node_modules/pino}/SECURITY.md +0 -0
  1100. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/basic.bench.js +0 -0
  1101. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/child-child.bench.js +0 -0
  1102. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/child-creation.bench.js +0 -0
  1103. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/child.bench.js +0 -0
  1104. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/deep-object.bench.js +0 -0
  1105. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/formatters.bench.js +0 -0
  1106. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/internal/custom-levels.js +0 -0
  1107. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/internal/just-pino-heavy.bench.js +0 -0
  1108. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/internal/just-pino.bench.js +0 -0
  1109. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/internal/parent-vs-child.bench.js +0 -0
  1110. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/internal/redact.bench.js +0 -0
  1111. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/long-string.bench.js +0 -0
  1112. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/multi-arg.bench.js +0 -0
  1113. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/multistream.js +0 -0
  1114. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/object.bench.js +0 -0
  1115. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/utils/generate-benchmark-doc.js +0 -0
  1116. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/utils/runbench.js +0 -0
  1117. /package/node_modules/{pino → baileys/node_modules/pino}/benchmarks/utils/wrap-log-level.js +0 -0
  1118. /package/node_modules/{pino → baileys/node_modules/pino}/bin.js +0 -0
  1119. /package/node_modules/{pino → baileys/node_modules/pino}/browser.js +0 -0
  1120. /package/node_modules/{pino → baileys/node_modules/pino}/build/sync-version.js +0 -0
  1121. /package/node_modules/{pino → baileys/node_modules/pino}/docs/api.md +0 -0
  1122. /package/node_modules/{pino → baileys/node_modules/pino}/docs/asynchronous.md +0 -0
  1123. /package/node_modules/{pino → baileys/node_modules/pino}/docs/benchmarks.md +0 -0
  1124. /package/node_modules/{pino → baileys/node_modules/pino}/docs/browser.md +0 -0
  1125. /package/node_modules/{pino → baileys/node_modules/pino}/docs/bundling.md +0 -0
  1126. /package/node_modules/{pino → baileys/node_modules/pino}/docs/child-loggers.md +0 -0
  1127. /package/node_modules/{pino → baileys/node_modules/pino}/docs/diagnostics.md +0 -0
  1128. /package/node_modules/{pino → baileys/node_modules/pino}/docs/ecosystem.md +0 -0
  1129. /package/node_modules/{pino → baileys/node_modules/pino}/docs/help.md +0 -0
  1130. /package/node_modules/{pino → baileys/node_modules/pino}/docs/lts.md +0 -0
  1131. /package/node_modules/{pino → baileys/node_modules/pino}/docs/pretty.md +0 -0
  1132. /package/node_modules/{pino → baileys/node_modules/pino}/docs/redaction.md +0 -0
  1133. /package/node_modules/{pino → baileys/node_modules/pino}/docs/transports.md +0 -0
  1134. /package/node_modules/{pino → baileys/node_modules/pino}/docs/web.md +0 -0
  1135. /package/node_modules/{pino → baileys/node_modules/pino}/docsify/sidebar.md +0 -0
  1136. /package/node_modules/{pino → baileys/node_modules/pino}/examples/basic.js +0 -0
  1137. /package/node_modules/{pino → baileys/node_modules/pino}/examples/transport.js +0 -0
  1138. /package/node_modules/{pino → baileys/node_modules/pino}/favicon-16x16.png +0 -0
  1139. /package/node_modules/{pino → baileys/node_modules/pino}/favicon-32x32.png +0 -0
  1140. /package/node_modules/{pino → baileys/node_modules/pino}/favicon.ico +0 -0
  1141. /package/node_modules/{pino → baileys/node_modules/pino}/file.js +0 -0
  1142. /package/node_modules/{pino → baileys/node_modules/pino}/inc-version.sh +0 -0
  1143. /package/node_modules/{pino → baileys/node_modules/pino}/index.html +0 -0
  1144. /package/node_modules/{pino → baileys/node_modules/pino}/lib/caller.js +0 -0
  1145. /package/node_modules/{pino → baileys/node_modules/pino}/lib/constants.js +0 -0
  1146. /package/node_modules/{pino → baileys/node_modules/pino}/lib/deprecations.js +0 -0
  1147. /package/node_modules/{pino → baileys/node_modules/pino}/lib/levels.js +0 -0
  1148. /package/node_modules/{pino → baileys/node_modules/pino}/lib/meta.js +0 -0
  1149. /package/node_modules/{pino → baileys/node_modules/pino}/lib/multistream.js +0 -0
  1150. /package/node_modules/{pino → baileys/node_modules/pino}/lib/proto.js +0 -0
  1151. /package/node_modules/{pino → baileys/node_modules/pino}/lib/redaction.js +0 -0
  1152. /package/node_modules/{pino → baileys/node_modules/pino}/lib/symbols.js +0 -0
  1153. /package/node_modules/{pino → baileys/node_modules/pino}/lib/time.js +0 -0
  1154. /package/node_modules/{pino → baileys/node_modules/pino}/lib/tools.js +0 -0
  1155. /package/node_modules/{pino → baileys/node_modules/pino}/lib/transport-stream.js +0 -0
  1156. /package/node_modules/{pino → baileys/node_modules/pino}/lib/transport.js +0 -0
  1157. /package/node_modules/{pino → baileys/node_modules/pino}/lib/worker.js +0 -0
  1158. /package/node_modules/{pino → baileys/node_modules/pino}/package.json +0 -0
  1159. /package/node_modules/{pino → baileys/node_modules/pino}/pino-banner.png +0 -0
  1160. /package/node_modules/{pino → baileys/node_modules/pino}/pino-logo-hire.png +0 -0
  1161. /package/node_modules/{pino → baileys/node_modules/pino}/pino-tree.png +0 -0
  1162. /package/node_modules/{pino → baileys/node_modules/pino}/pino.d.ts +0 -0
  1163. /package/node_modules/{pino → baileys/node_modules/pino}/pino.js +0 -0
  1164. /package/node_modules/{pino → baileys/node_modules/pino}/pretty-demo.png +0 -0
  1165. /package/node_modules/{pino → baileys/node_modules/pino}/test/basic.test.js +0 -0
  1166. /package/node_modules/{pino → baileys/node_modules/pino}/test/broken-pipe.test.js +0 -0
  1167. /package/node_modules/{pino → baileys/node_modules/pino}/test/browser-child.test.js +0 -0
  1168. /package/node_modules/{pino → baileys/node_modules/pino}/test/browser-disabled.test.js +0 -0
  1169. /package/node_modules/{pino → baileys/node_modules/pino}/test/browser-early-console-freeze.test.js +0 -0
  1170. /package/node_modules/{pino → baileys/node_modules/pino}/test/browser-is-level-enabled.test.js +0 -0
  1171. /package/node_modules/{pino → baileys/node_modules/pino}/test/browser-levels.test.js +0 -0
  1172. /package/node_modules/{pino → baileys/node_modules/pino}/test/browser-serializers.test.js +0 -0
  1173. /package/node_modules/{pino → baileys/node_modules/pino}/test/browser-timestamp.test.js +0 -0
  1174. /package/node_modules/{pino → baileys/node_modules/pino}/test/browser-transmit.test.js +0 -0
  1175. /package/node_modules/{pino → baileys/node_modules/pino}/test/browser.test.js +0 -0
  1176. /package/node_modules/{pino → baileys/node_modules/pino}/test/complex-objects.test.js +0 -0
  1177. /package/node_modules/{pino → baileys/node_modules/pino}/test/crlf.test.js +0 -0
  1178. /package/node_modules/{pino → baileys/node_modules/pino}/test/custom-levels.test.js +0 -0
  1179. /package/node_modules/{pino → baileys/node_modules/pino}/test/diagnostics.test.js +0 -0
  1180. /package/node_modules/{pino → baileys/node_modules/pino}/test/error.test.js +0 -0
  1181. /package/node_modules/{pino → baileys/node_modules/pino}/test/errorKey.test.js +0 -0
  1182. /package/node_modules/{pino → baileys/node_modules/pino}/test/escaping.test.js +0 -0
  1183. /package/node_modules/{pino → baileys/node_modules/pino}/test/esm/esm.mjs +0 -0
  1184. /package/node_modules/{pino → baileys/node_modules/pino}/test/esm/index.test.js +0 -0
  1185. /package/node_modules/{pino → baileys/node_modules/pino}/test/esm/named-exports.mjs +0 -0
  1186. /package/node_modules/{pino → baileys/node_modules/pino}/test/exit.test.js +0 -0
  1187. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/broken-pipe/basic.js +0 -0
  1188. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/broken-pipe/destination.js +0 -0
  1189. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/broken-pipe/syncfalse.js +0 -0
  1190. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/console-transport.js +0 -0
  1191. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/crashing-transport.js +0 -0
  1192. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/default-exit.js +0 -0
  1193. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/destination-exit.js +0 -0
  1194. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/index.js +0 -0
  1195. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/14-files.js +0 -0
  1196. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/2-files.js +0 -0
  1197. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file1.js +0 -0
  1198. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file10.js +0 -0
  1199. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file11.js +0 -0
  1200. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file12.js +0 -0
  1201. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file13.js +0 -0
  1202. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file14.js +0 -0
  1203. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file2.js +0 -0
  1204. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file3.js +0 -0
  1205. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file4.js +0 -0
  1206. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file5.js +0 -0
  1207. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file6.js +0 -0
  1208. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file7.js +0 -0
  1209. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file8.js +0 -0
  1210. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/eval/node_modules/file9.js +0 -0
  1211. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/noop-transport.js +0 -0
  1212. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/pretty/null-prototype.js +0 -0
  1213. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/stdout-hack-protection.js +0 -0
  1214. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/syncfalse-child.js +0 -0
  1215. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/syncfalse-exit.js +0 -0
  1216. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/syncfalse-flush-exit.js +0 -0
  1217. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/syncfalse.js +0 -0
  1218. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/syntax-error-esm.mjs +0 -0
  1219. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/to-file-transport-with-transform.js +0 -0
  1220. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/to-file-transport.js +0 -0
  1221. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/to-file-transport.mjs +0 -0
  1222. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport/index.js +0 -0
  1223. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport/package.json +0 -0
  1224. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-exit-immediately-with-async-dest.js +0 -0
  1225. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-exit-immediately.js +0 -0
  1226. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-exit-on-ready.js +0 -0
  1227. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-main.js +0 -0
  1228. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-many-lines.js +0 -0
  1229. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-string-stdout.js +0 -0
  1230. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-transform.js +0 -0
  1231. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-uses-pino-config.js +0 -0
  1232. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-with-on-exit.js +0 -0
  1233. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-worker-data.js +0 -0
  1234. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-worker.js +0 -0
  1235. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/transport-wrong-export-type.js +0 -0
  1236. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/ts/to-file-transport-with-transform.ts +0 -0
  1237. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/ts/to-file-transport.ts +0 -0
  1238. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/ts/transpile.cjs +0 -0
  1239. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +0 -0
  1240. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/ts/transport-exit-immediately.ts +0 -0
  1241. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/ts/transport-exit-on-ready.ts +0 -0
  1242. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/ts/transport-main.ts +0 -0
  1243. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/ts/transport-string-stdout.ts +0 -0
  1244. /package/node_modules/{pino → baileys/node_modules/pino}/test/fixtures/ts/transport-worker.ts +0 -0
  1245. /package/node_modules/{pino → baileys/node_modules/pino}/test/formatters.test.js +0 -0
  1246. /package/node_modules/{pino → baileys/node_modules/pino}/test/helper.d.ts +0 -0
  1247. /package/node_modules/{pino → baileys/node_modules/pino}/test/helper.js +0 -0
  1248. /package/node_modules/{pino → baileys/node_modules/pino}/test/hooks.test.js +0 -0
  1249. /package/node_modules/{pino → baileys/node_modules/pino}/test/http.test.js +0 -0
  1250. /package/node_modules/{pino → baileys/node_modules/pino}/test/internals/version.test.js +0 -0
  1251. /package/node_modules/{pino → baileys/node_modules/pino}/test/is-level-enabled.test.js +0 -0
  1252. /package/node_modules/{pino → baileys/node_modules/pino}/test/jest/basic.spec.js +0 -0
  1253. /package/node_modules/{pino → baileys/node_modules/pino}/test/levels.test.js +0 -0
  1254. /package/node_modules/{pino → baileys/node_modules/pino}/test/metadata.test.js +0 -0
  1255. /package/node_modules/{pino → baileys/node_modules/pino}/test/mixin-merge-strategy.test.js +0 -0
  1256. /package/node_modules/{pino → baileys/node_modules/pino}/test/mixin.test.js +0 -0
  1257. /package/node_modules/{pino → baileys/node_modules/pino}/test/multistream.test.js +0 -0
  1258. /package/node_modules/{pino → baileys/node_modules/pino}/test/pkg/index.js +0 -0
  1259. /package/node_modules/{pino → baileys/node_modules/pino}/test/pkg/pkg.config.json +0 -0
  1260. /package/node_modules/{pino → baileys/node_modules/pino}/test/pkg/pkg.test.js +0 -0
  1261. /package/node_modules/{pino → baileys/node_modules/pino}/test/redact.test.js +0 -0
  1262. /package/node_modules/{pino → baileys/node_modules/pino}/test/serializers.test.js +0 -0
  1263. /package/node_modules/{pino → baileys/node_modules/pino}/test/sinon-child-logger.test.js +0 -0
  1264. /package/node_modules/{pino → baileys/node_modules/pino}/test/stdout-protection.test.js +0 -0
  1265. /package/node_modules/{pino → baileys/node_modules/pino}/test/syncfalse.test.js +0 -0
  1266. /package/node_modules/{pino → baileys/node_modules/pino}/test/timestamp-nano.test.js +0 -0
  1267. /package/node_modules/{pino → baileys/node_modules/pino}/test/timestamp.test.js +0 -0
  1268. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/big.test.js +0 -0
  1269. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/bundlers-support.test.js +0 -0
  1270. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/caller.test.js +0 -0
  1271. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/core.test.js +0 -0
  1272. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/core.test.ts +0 -0
  1273. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/core.transpiled.test.ts +0 -0
  1274. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/crash.test.js +0 -0
  1275. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/module-link.test.js +0 -0
  1276. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/pipeline.test.js +0 -0
  1277. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/repl.test.js +0 -0
  1278. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/syncTrue.test.js +0 -0
  1279. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/syncfalse.test.js +0 -0
  1280. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/targets.test.js +0 -0
  1281. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport/uses-pino-config.test.js +0 -0
  1282. /package/node_modules/{pino → baileys/node_modules/pino}/test/transport-stream.test.js +0 -0
  1283. /package/node_modules/{pino → baileys/node_modules/pino}/test/types/pino-import.test-d.cts +0 -0
  1284. /package/node_modules/{pino → baileys/node_modules/pino}/test/types/pino-multistream.test-d.ts +0 -0
  1285. /package/node_modules/{pino → baileys/node_modules/pino}/test/types/pino-top-export.test-d.ts +0 -0
  1286. /package/node_modules/{pino → baileys/node_modules/pino}/test/types/pino-transport.test-d.ts +0 -0
  1287. /package/node_modules/{pino → baileys/node_modules/pino}/test/types/pino-type-only.test-d.ts +0 -0
  1288. /package/node_modules/{pino → baileys/node_modules/pino}/test/types/pino.test-d.ts +0 -0
  1289. /package/node_modules/{pino → baileys/node_modules/pino}/test/types/pino.ts +0 -0
  1290. /package/node_modules/{pino → baileys/node_modules/pino}/tsconfig.json +0 -0
  1291. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/.github/dependabot.yml +0 -0
  1292. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/.github/workflows/ci.yml +0 -0
  1293. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/.husky/pre-commit +0 -0
  1294. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/LICENSE +0 -0
  1295. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/README.md +0 -0
  1296. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/index.d.ts +0 -0
  1297. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/index.js +0 -0
  1298. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/package.json +0 -0
  1299. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/test/base.test.js +0 -0
  1300. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/test/fixtures/transport-async-iteration.js +0 -0
  1301. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/test/fixtures/transport-on-data.js +0 -0
  1302. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/test/fixtures/transport-transform.js +0 -0
  1303. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/test/fixtures/worker-pipeline.js +0 -0
  1304. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/test/types/index.test-d.ts +0 -0
  1305. /package/node_modules/{pino-abstract-transport → baileys/node_modules/pino-abstract-transport}/test/worker.test.js +0 -0
  1306. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/.editorconfig +0 -0
  1307. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/.github/dependabot.yml +0 -0
  1308. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/.github/workflows/ci.yml +0 -0
  1309. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/LICENSE +0 -0
  1310. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/Readme.md +0 -0
  1311. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/eslint.config.js +0 -0
  1312. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/index.d.ts +0 -0
  1313. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/index.js +0 -0
  1314. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/lib/err-helpers.js +0 -0
  1315. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/lib/err-proto.js +0 -0
  1316. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/lib/err-with-cause.js +0 -0
  1317. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/lib/err.js +0 -0
  1318. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/lib/req.js +0 -0
  1319. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/lib/res.js +0 -0
  1320. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/package.json +0 -0
  1321. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/test/err-with-cause.test.js +0 -0
  1322. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/test/err.test.js +0 -0
  1323. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/test/req.test.js +0 -0
  1324. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/test/res.test.js +0 -0
  1325. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/test/types/index.test-d.ts +0 -0
  1326. /package/node_modules/{pino-std-serializers → baileys/node_modules/pino-std-serializers}/tsconfig.json +0 -0
  1327. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/.gitattributes +0 -0
  1328. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/.github/dependabot.yml +0 -0
  1329. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/.github/workflows/ci.yml +0 -0
  1330. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/LICENSE +0 -0
  1331. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/README.md +0 -0
  1332. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/benchmarks/warn.js +0 -0
  1333. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/eslint.config.js +0 -0
  1334. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/examples/example.js +0 -0
  1335. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/index.js +0 -0
  1336. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/package.json +0 -0
  1337. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/emit-interpolated-string.test.js +0 -0
  1338. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/emit-once-only.test.js +0 -0
  1339. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/emit-reset.test.js +0 -0
  1340. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/emit-set.test.js +0 -0
  1341. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/emit-unlimited.test.js +0 -0
  1342. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/index.test.js +0 -0
  1343. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/issue-88.test.js +0 -0
  1344. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/jest.test.js +0 -0
  1345. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/no-warnings.test.js +0 -0
  1346. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/test/promise.js +0 -0
  1347. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/types/index.d.ts +0 -0
  1348. /package/node_modules/{process-warning → baileys/node_modules/process-warning}/types/index.test-d.ts +0 -0
  1349. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/LICENSE +0 -0
  1350. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/ext/debug/README.md +0 -0
  1351. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/ext/debug/index.js +0 -0
  1352. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/LICENSE +0 -0
  1353. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/README.md +0 -0
  1354. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/api/annotations.proto +0 -0
  1355. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/api/http.proto +0 -0
  1356. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/protobuf/api.proto +0 -0
  1357. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/protobuf/source_context.proto +0 -0
  1358. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/google/protobuf/type.proto +0 -0
  1359. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/index.js +0 -0
  1360. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/light.d.ts +0 -0
  1361. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/light.js +0 -0
  1362. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/minimal.d.ts +0 -0
  1363. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/minimal.js +0 -0
  1364. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/roots.js +0 -0
  1365. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/rpc.js +0 -0
  1366. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/types.js +0 -0
  1367. /package/node_modules/{@protobufjs/float/index.d.ts → baileys/node_modules/protobufjs/src/util/float.d.ts} +0 -0
  1368. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/util/fs.js +0 -0
  1369. /package/node_modules/{protobufjs → baileys/node_modules/protobufjs}/src/util/patterns.js +0 -0
  1370. /package/node_modules/{qified → baileys/node_modules/qified}/LICENSE +0 -0
  1371. /package/node_modules/{qified → baileys/node_modules/qified}/README.md +0 -0
  1372. /package/node_modules/{qified → baileys/node_modules/qified}/dist/index.cjs +0 -0
  1373. /package/node_modules/{qified → baileys/node_modules/qified}/dist/index.d.cts +0 -0
  1374. /package/node_modules/{qified → baileys/node_modules/qified}/dist/index.d.mts +0 -0
  1375. /package/node_modules/{qified → baileys/node_modules/qified}/dist/index.mjs +0 -0
  1376. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/LICENSE +0 -0
  1377. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/README.md +0 -0
  1378. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/dist/browser/index.global.js +0 -0
  1379. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/dist/browser/index.global.js.map +0 -0
  1380. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/dist/browser/index.js +0 -0
  1381. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/dist/browser/index.js.map +0 -0
  1382. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/dist/node/index.cjs +0 -0
  1383. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/dist/node/index.d.cts +0 -0
  1384. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/dist/node/index.d.ts +0 -0
  1385. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/dist/node/index.js +0 -0
  1386. /package/node_modules/{qified → baileys/node_modules/qified}/node_modules/hookified/package.json +0 -0
  1387. /package/node_modules/{qified → baileys/node_modules/qified}/package.json +0 -0
  1388. /package/node_modules/{quick-format-unescaped → baileys/node_modules/quick-format-unescaped}/.github/workflows/ci.yml +0 -0
  1389. /package/node_modules/{quick-format-unescaped → baileys/node_modules/quick-format-unescaped}/LICENSE +0 -0
  1390. /package/node_modules/{quick-format-unescaped → baileys/node_modules/quick-format-unescaped}/benchmark.js +0 -0
  1391. /package/node_modules/{quick-format-unescaped → baileys/node_modules/quick-format-unescaped}/index.js +0 -0
  1392. /package/node_modules/{quick-format-unescaped → baileys/node_modules/quick-format-unescaped}/package.json +0 -0
  1393. /package/node_modules/{quick-format-unescaped → baileys/node_modules/quick-format-unescaped}/readme.md +0 -0
  1394. /package/node_modules/{quick-format-unescaped → baileys/node_modules/quick-format-unescaped}/test/index.js +0 -0
  1395. /package/node_modules/{real-require → baileys/node_modules/real-require}/LICENSE.md +0 -0
  1396. /package/node_modules/{real-require → baileys/node_modules/real-require}/README.md +0 -0
  1397. /package/node_modules/{real-require → baileys/node_modules/real-require}/package.json +0 -0
  1398. /package/node_modules/{real-require → baileys/node_modules/real-require}/src/index.js +0 -0
  1399. /package/node_modules/{safe-stable-stringify → baileys/node_modules/safe-stable-stringify}/LICENSE +0 -0
  1400. /package/node_modules/{safe-stable-stringify → baileys/node_modules/safe-stable-stringify}/esm/package.json +0 -0
  1401. /package/node_modules/{safe-stable-stringify → baileys/node_modules/safe-stable-stringify}/esm/wrapper.d.ts +0 -0
  1402. /package/node_modules/{safe-stable-stringify → baileys/node_modules/safe-stable-stringify}/esm/wrapper.js +0 -0
  1403. /package/node_modules/{safe-stable-stringify → baileys/node_modules/safe-stable-stringify}/index.d.ts +0 -0
  1404. /package/node_modules/{safe-stable-stringify → baileys/node_modules/safe-stable-stringify}/index.js +0 -0
  1405. /package/node_modules/{safe-stable-stringify → baileys/node_modules/safe-stable-stringify}/package.json +0 -0
  1406. /package/node_modules/{safe-stable-stringify → baileys/node_modules/safe-stable-stringify}/readme.md +0 -0
  1407. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/.eslintignore +0 -0
  1408. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/.taprc +0 -0
  1409. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/LICENSE +0 -0
  1410. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/README.md +0 -0
  1411. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/bench.js +0 -0
  1412. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/check.js +0 -0
  1413. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/example.js +0 -0
  1414. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/fixtures/firehose.js +0 -0
  1415. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/index.js +0 -0
  1416. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/package.json +0 -0
  1417. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/destroy.test.js +0 -0
  1418. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/end.test.js +0 -0
  1419. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/flush-sync.test.js +0 -0
  1420. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/flush.test.js +0 -0
  1421. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/fsync.test.js +0 -0
  1422. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/helper.js +0 -0
  1423. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/minlength.test.js +0 -0
  1424. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/mode.test.js +0 -0
  1425. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/periodicflush.test.js +0 -0
  1426. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/reopen.test.js +0 -0
  1427. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/retry.test.js +0 -0
  1428. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/sync.test.js +0 -0
  1429. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/test/write.test.js +0 -0
  1430. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/types/index.d.ts +0 -0
  1431. /package/node_modules/{sonic-boom → baileys/node_modules/sonic-boom}/types/tests/test.ts +0 -0
  1432. /package/node_modules/{split2 → baileys/node_modules/split2}/LICENSE +0 -0
  1433. /package/node_modules/{split2 → baileys/node_modules/split2}/README.md +0 -0
  1434. /package/node_modules/{split2 → baileys/node_modules/split2}/bench.js +0 -0
  1435. /package/node_modules/{split2 → baileys/node_modules/split2}/index.js +0 -0
  1436. /package/node_modules/{split2 → baileys/node_modules/split2}/package.json +0 -0
  1437. /package/node_modules/{split2 → baileys/node_modules/split2}/test.js +0 -0
  1438. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/LICENSE.txt +0 -0
  1439. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/README.md +0 -0
  1440. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/AbstractTokenizer.d.ts +0 -0
  1441. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/AbstractTokenizer.js +0 -0
  1442. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/BlobTokenizer.d.ts +0 -0
  1443. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/BlobTokenizer.js +0 -0
  1444. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/BufferTokenizer.d.ts +0 -0
  1445. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/BufferTokenizer.js +0 -0
  1446. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/FileTokenizer.d.ts +0 -0
  1447. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/FileTokenizer.js +0 -0
  1448. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/ReadStreamTokenizer.d.ts +0 -0
  1449. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/ReadStreamTokenizer.js +0 -0
  1450. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/core.d.ts +0 -0
  1451. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/core.js +0 -0
  1452. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/index.d.ts +0 -0
  1453. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/index.js +0 -0
  1454. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/AbstractStreamReader.d.ts +0 -0
  1455. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/AbstractStreamReader.js +0 -0
  1456. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/Deferred.d.ts +0 -0
  1457. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/Deferred.js +0 -0
  1458. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/Errors.d.ts +0 -0
  1459. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/Errors.js +0 -0
  1460. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/StreamReader.d.ts +0 -0
  1461. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/StreamReader.js +0 -0
  1462. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/WebStreamByobReader.d.ts +0 -0
  1463. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/WebStreamByobReader.js +0 -0
  1464. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/WebStreamDefaultReader.d.ts +0 -0
  1465. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/WebStreamDefaultReader.js +0 -0
  1466. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/WebStreamReader.d.ts +0 -0
  1467. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/WebStreamReader.js +0 -0
  1468. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/WebStreamReaderFactory.d.ts +0 -0
  1469. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/WebStreamReaderFactory.js +0 -0
  1470. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/index.d.ts +0 -0
  1471. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/stream/index.js +0 -0
  1472. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/types.d.ts +0 -0
  1473. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/lib/types.js +0 -0
  1474. /package/node_modules/{strtok3 → baileys/node_modules/strtok3}/package.json +0 -0
  1475. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/.claude/settings.local.json +0 -0
  1476. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/.github/dependabot.yml +0 -0
  1477. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/.github/workflows/ci.yml +0 -0
  1478. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/.husky/pre-commit +0 -0
  1479. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/.taprc +0 -0
  1480. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/CLAUDE.md +0 -0
  1481. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/LICENSE +0 -0
  1482. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/README.md +0 -0
  1483. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/bench.js +0 -0
  1484. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/index.d.ts +0 -0
  1485. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/index.js +0 -0
  1486. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/lib/indexes.js +0 -0
  1487. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/lib/wait.js +0 -0
  1488. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/lib/worker.js +0 -0
  1489. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/package.json +0 -0
  1490. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/base.test.js +0 -0
  1491. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/bench.test.js +0 -0
  1492. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/bundlers.test.js +0 -0
  1493. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/close-on-gc.js +0 -0
  1494. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/commonjs-fallback.test.js +0 -0
  1495. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/context.test.js +0 -0
  1496. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/create-and-exit.js +0 -0
  1497. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/custom-worker.js +0 -0
  1498. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/dir with spaces/test-package.zip +0 -0
  1499. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/emit-event.js +0 -0
  1500. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/end.test.js +0 -0
  1501. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/error.js +0 -0
  1502. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/esm.test.mjs +0 -0
  1503. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/event.test.js +0 -0
  1504. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/exit.js +0 -0
  1505. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/get-context.js +0 -0
  1506. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/helper.d.ts +0 -0
  1507. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/helper.js +0 -0
  1508. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/indexes.test.js +0 -0
  1509. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/message-without-code.js +0 -0
  1510. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/multibyte-chars.test.mjs +0 -0
  1511. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/never-drain.test.js +0 -0
  1512. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/on-message.js +0 -0
  1513. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/pkg/index.js +0 -0
  1514. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/pkg/pkg.config.json +0 -0
  1515. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/pkg/pkg.test.js +0 -0
  1516. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/port.js +0 -0
  1517. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/post-message.test.js +0 -0
  1518. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/string-limit-2.test.js +0 -0
  1519. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/string-limit.test.js +0 -0
  1520. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/syntax-error.mjs +0 -0
  1521. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/thread-management.test.js +0 -0
  1522. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/to-file-on-destroy.js +0 -0
  1523. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/to-file-on-final.js +0 -0
  1524. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/to-file.js +0 -0
  1525. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/to-file.mjs +0 -0
  1526. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/to-next.js +0 -0
  1527. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/transpiled.test.js +0 -0
  1528. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/ts/to-file.ts +0 -0
  1529. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/ts/transpile.sh +0 -0
  1530. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/ts-commonjs-default-export.zip +0 -0
  1531. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/ts.test.ts +0 -0
  1532. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/uncaughtException.js +0 -0
  1533. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/unhandledRejection.js +0 -0
  1534. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/watch-mode.test.js +0 -0
  1535. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/test/yarnrc.yml +0 -0
  1536. /package/node_modules/{thread-stream → baileys/node_modules/thread-stream}/tsconfig.json +0 -0
  1537. /package/node_modules/{token-types → baileys/node_modules/token-types}/LICENSE.txt +0 -0
  1538. /package/node_modules/{token-types → baileys/node_modules/token-types}/README.md +0 -0
  1539. /package/node_modules/{token-types → baileys/node_modules/token-types}/lib/index.d.ts +0 -0
  1540. /package/node_modules/{token-types → baileys/node_modules/token-types}/lib/index.js +0 -0
  1541. /package/node_modules/{token-types → baileys/node_modules/token-types}/package.json +0 -0
  1542. /package/node_modules/{tslib → baileys/node_modules/tslib}/CopyrightNotice.txt +0 -0
  1543. /package/node_modules/{tslib → baileys/node_modules/tslib}/LICENSE.txt +0 -0
  1544. /package/node_modules/{tslib → baileys/node_modules/tslib}/README.md +0 -0
  1545. /package/node_modules/{tslib → baileys/node_modules/tslib}/SECURITY.md +0 -0
  1546. /package/node_modules/{tslib → baileys/node_modules/tslib}/modules/index.d.ts +0 -0
  1547. /package/node_modules/{tslib → baileys/node_modules/tslib}/modules/index.js +0 -0
  1548. /package/node_modules/{tslib → baileys/node_modules/tslib}/modules/package.json +0 -0
  1549. /package/node_modules/{tslib → baileys/node_modules/tslib}/package.json +0 -0
  1550. /package/node_modules/{tslib → baileys/node_modules/tslib}/tslib.d.ts +0 -0
  1551. /package/node_modules/{tslib → baileys/node_modules/tslib}/tslib.es6.html +0 -0
  1552. /package/node_modules/{tslib → baileys/node_modules/tslib}/tslib.es6.js +0 -0
  1553. /package/node_modules/{tslib → baileys/node_modules/tslib}/tslib.es6.mjs +0 -0
  1554. /package/node_modules/{tslib → baileys/node_modules/tslib}/tslib.html +0 -0
  1555. /package/node_modules/{tslib → baileys/node_modules/tslib}/tslib.js +0 -0
  1556. /package/node_modules/{uint8array-extras → baileys/node_modules/uint8array-extras}/index.d.ts +0 -0
  1557. /package/node_modules/{uint8array-extras → baileys/node_modules/uint8array-extras}/index.js +0 -0
  1558. /package/node_modules/{uint8array-extras → baileys/node_modules/uint8array-extras}/license +0 -0
  1559. /package/node_modules/{uint8array-extras → baileys/node_modules/uint8array-extras}/package.json +0 -0
  1560. /package/node_modules/{uint8array-extras → baileys/node_modules/uint8array-extras}/readme.md +0 -0
  1561. /package/node_modules/{whatsapp-rust-bridge → baileys/node_modules/whatsapp-rust-bridge}/README.md +0 -0
  1562. /package/node_modules/{whatsapp-rust-bridge → baileys/node_modules/whatsapp-rust-bridge}/dist/index.d.ts +0 -0
  1563. /package/node_modules/{whatsapp-rust-bridge → baileys/node_modules/whatsapp-rust-bridge}/dist/index.js +0 -0
  1564. /package/node_modules/{whatsapp-rust-bridge → baileys/node_modules/whatsapp-rust-bridge}/package.json +0 -0
  1565. /package/node_modules/{whatsapp-rust-bridge → baileys/node_modules/whatsapp-rust-bridge}/pkg/whatsapp_rust_bridge.d.ts +0 -0
  1566. /package/node_modules/{win-guid → baileys/node_modules/win-guid}/LICENSE.txt +0 -0
  1567. /package/node_modules/{win-guid → baileys/node_modules/win-guid}/README.md +0 -0
  1568. /package/node_modules/{win-guid → baileys/node_modules/win-guid}/lib/guid.d.ts +0 -0
  1569. /package/node_modules/{win-guid → baileys/node_modules/win-guid}/lib/guid.js +0 -0
  1570. /package/node_modules/{win-guid → baileys/node_modules/win-guid}/package.json +0 -0
  1571. /package/node_modules/{ws → baileys/node_modules/ws}/LICENSE +0 -0
  1572. /package/node_modules/{ws → baileys/node_modules/ws}/README.md +0 -0
  1573. /package/node_modules/{ws → baileys/node_modules/ws}/browser.js +0 -0
  1574. /package/node_modules/{ws → baileys/node_modules/ws}/index.js +0 -0
  1575. /package/node_modules/{ws → baileys/node_modules/ws}/lib/buffer-util.js +0 -0
  1576. /package/node_modules/{ws → baileys/node_modules/ws}/lib/constants.js +0 -0
  1577. /package/node_modules/{ws → baileys/node_modules/ws}/lib/event-target.js +0 -0
  1578. /package/node_modules/{ws → baileys/node_modules/ws}/lib/extension.js +0 -0
  1579. /package/node_modules/{ws → baileys/node_modules/ws}/lib/limiter.js +0 -0
  1580. /package/node_modules/{ws → baileys/node_modules/ws}/lib/permessage-deflate.js +0 -0
  1581. /package/node_modules/{ws → baileys/node_modules/ws}/lib/receiver.js +0 -0
  1582. /package/node_modules/{ws → baileys/node_modules/ws}/lib/sender.js +0 -0
  1583. /package/node_modules/{ws → baileys/node_modules/ws}/lib/stream.js +0 -0
  1584. /package/node_modules/{ws → baileys/node_modules/ws}/lib/subprotocol.js +0 -0
  1585. /package/node_modules/{ws → baileys/node_modules/ws}/lib/validation.js +0 -0
  1586. /package/node_modules/{ws → baileys/node_modules/ws}/lib/websocket-server.js +0 -0
  1587. /package/node_modules/{ws → baileys/node_modules/ws}/lib/websocket.js +0 -0
  1588. /package/node_modules/{ws → baileys/node_modules/ws}/package.json +0 -0
  1589. /package/node_modules/{ws → baileys/node_modules/ws}/wrapper.mjs +0 -0
@@ -1,5 +1,5 @@
1
1
  import { a as resolveWhatsAppAccount, s as resolveWhatsAppMediaMaxBytes } from "./accounts-CSqLvCY5.js";
2
- import { a as normalizeWhatsAppOutboundPayload, c as prepareWhatsAppOutboundMedia, r as sendReactionWhatsApp, s as normalizeWhatsAppPayloadTextPreservingIndentation, u as resolveWhatsAppReactionLevel } from "./send-BTXJAyK4.js";
2
+ import { a as normalizeWhatsAppOutboundPayload, c as prepareWhatsAppOutboundMedia, r as sendReactionWhatsApp, s as normalizeWhatsAppPayloadTextPreservingIndentation, u as resolveWhatsAppReactionLevel } from "./send-D37ddk22.js";
3
3
  import { i as getWhatsAppRuntime } from "./runtime-BLlToOi6.js";
4
4
  import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
5
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-TMk0lGuy.js";
@@ -12,7 +12,7 @@ import { a as waitForWaConnection, c as isWhatsAppSocketOperationTimeoutError, d
12
12
  import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.js";
13
13
  import { t as BufferJSON } from "./session.runtime-Nsqaehbd.js";
14
14
  import { c as requireWhatsAppInboundAdmission, i as resolveWhatsAppInboundPolicy, l as resolveWhatsAppGroupConversationId, o as buildDeprecatedFlatWhatsAppInboundAdmission, r as resolveWhatsAppCommandAuthorized, s as requireAdmittedWhatsAppInboundMessage, t as checkInboundAccessControl } from "./access-control-pZcxTmd5.js";
15
- import { _ as extractMediaKind, a as mayContainWhatsAppOutboundMention, b as hasInboundUserContent, c as DisconnectReason, d as normalizeMessageContent, f as describeReplyContext, g as extractLocationData, h as extractExternalAdReplyContext, i as addWhatsAppOutboundMentionsToContent, l as downloadMediaMessage, m as extractContextInfo, n as listWhatsAppSendResultMessageIds, o as resolveWhatsAppOutboundMentions, p as extractContactContext, r as normalizeWhatsAppSendResult, s as addWhatsAppImagePreviewFields, t as createWebSendApi, u as isJidGroup, v as extractMentionedJids, x as resolveInboundMediaMimetype, y as extractText } from "./send-api-BY_AkSiB.js";
15
+ import { _ as extractMediaKind, a as mayContainWhatsAppOutboundMention, b as hasInboundUserContent, c as DisconnectReason, d as normalizeMessageContent, f as describeReplyContext, g as extractLocationData, h as extractExternalAdReplyContext, i as addWhatsAppOutboundMentionsToContent, l as downloadMediaMessage, m as extractContextInfo, n as listWhatsAppSendResultMessageIds, o as resolveWhatsAppOutboundMentions, p as extractContactContext, r as normalizeWhatsAppSendResult, s as addWhatsAppImagePreviewFields, t as createWebSendApi, u as isJidGroup, v as extractMentionedJids, x as resolveInboundMediaMimetype, y as extractText } from "./send-api-7wk6eQyW.js";
16
16
  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-BOB2MVKY.js";
17
17
  import { n as maybeResolveWhatsAppApprovalReaction } from "./approval-reactions-Cu66aYdq.js";
18
18
  import { t as maybeResolveWhatsAppQuestionReaction } from "./question-reactions-CRsnyoMK.js";
@@ -24,12 +24,12 @@ import { getChildLogger } from "openclaw/plugin-sdk/logging-core";
24
24
  import { resolveMarkdownTableMode as resolveMarkdownTableMode$1 } from "openclaw/plugin-sdk/markdown-table-runtime";
25
25
  import { createSubsystemLogger, 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
- import { bindIngressLifecycleToReplyOptions, createChannelIngressMonitor, createChannelMessageReplyPipeline, createMessageReceiptFromOutboundResults, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-outbound";
27
+ import { bindIngressLifecycleToReplyOptions, createChannelIngressMonitor, createChannelMessageReplyPipeline, createMessageReceiptFromOutboundResults, listMessageReceiptPlatformIds, resolveChannelMessageSourceReplyDeliveryMode, resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-outbound";
28
28
  import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/media-runtime";
29
29
  import { isReasoningReplyPayload, resolveSendableOutboundReplyParts, sendMediaWithLeadingCaption } from "openclaw/plugin-sdk/reply-payload";
30
30
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
31
31
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
32
- import { buildChannelInboundEventContext, filterChannelInboundQuoteContext, formatInboundEnvelope, formatInboundEnvelope as formatInboundEnvelope$1, formatInboundMediaUnavailableText, formatLocationText, formatMediaPlaceholderText, hasVisibleInboundReplyDispatch, isChannelPartialDeliveryError, resolveInboundSessionEnvelopeContext, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent, shouldDebounceTextInbound, toInboundMediaFacts, toLocationContext } from "openclaw/plugin-sdk/channel-inbound";
32
+ import { buildChannelInboundEventContext, createChannelPartialDeliveryError, filterChannelInboundQuoteContext, formatInboundEnvelope, formatInboundEnvelope as formatInboundEnvelope$1, formatInboundMediaUnavailableText, formatLocationText, formatMediaPlaceholderText, hasVisibleInboundReplyDispatch, isChannelPartialDeliveryError, resolveInboundSessionEnvelopeContext, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent, shouldDebounceTextInbound, toInboundMediaFactsWithMetadata, toLocationContext } from "openclaw/plugin-sdk/channel-inbound";
33
33
  import { DEFAULT_ACCOUNT_ID, DEFAULT_MAIN_KEY, buildAgentMainSessionKey, buildAgentSessionKey, buildGroupHistoryKey, deriveLastRoutePolicy, normalizeAccountId, normalizeAgentId, resolveAgentRoute, resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
34
34
  import { asDateTimestampMs, parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
35
35
  import { createHash } from "node:crypto";
@@ -42,8 +42,8 @@ import { createInboundDebouncer, resolveInboundDebounceMs } from "openclaw/plugi
42
42
  import { drainPendingDeliveries } from "openclaw/plugin-sdk/delivery-queue-runtime";
43
43
  import { DEFAULT_GROUP_HISTORY_LIMIT, buildHistoryContextFromEntries, buildInboundHistoryFromEntries, createChannelHistoryWindow } from "openclaw/plugin-sdk/reply-history";
44
44
  import { enqueueSystemEvent } from "openclaw/plugin-sdk/system-event-runtime";
45
- import { createDedupeCache } from "openclaw/plugin-sdk/dedupe-runtime";
46
45
  import { saveMediaStream } from "openclaw/plugin-sdk/media-store";
46
+ import { createDedupeCache } from "openclaw/plugin-sdk/dedupe-runtime";
47
47
  import { getRuntimeConfig as getRuntimeConfig$1 } from "openclaw/plugin-sdk/runtime-config-snapshot";
48
48
  import { resolveChannelContextVisibilityMode } from "openclaw/plugin-sdk/context-visibility-runtime";
49
49
  import { buildMentionRegexes, implicitMentionKindWhen, normalizeMentionText, resolveInboundMentionDecision } from "openclaw/plugin-sdk/channel-mention-gating";
@@ -57,6 +57,33 @@ import { getGlobalHookRunner } from "openclaw/plugin-sdk/plugin-runtime";
57
57
  import { resolveBatchedReplyThreadingPolicy } from "openclaw/plugin-sdk/reply-reference";
58
58
  import { LocalMediaAccessError, getDefaultLocalRoots, loadWebMedia, loadWebMediaRaw, optimizeImageToJpeg, optimizeImageToPng } from "openclaw/plugin-sdk/web-media";
59
59
  import { createChannelApiRetryRunner } from "openclaw/plugin-sdk/retry-runtime";
60
+ //#region extensions/whatsapp/src/inbound/baileys-cache.ts
61
+ const WHATSAPP_BAILEYS_CACHE_MAX_ENTRIES = 500;
62
+ function rememberWhatsAppBaileysCacheEntry(cache, key, value, ttlMs) {
63
+ if (!cache) return;
64
+ if (cache.has(key)) cache.delete(key);
65
+ cache.set(key, {
66
+ expiresAt: Date.now() + ttlMs,
67
+ value
68
+ });
69
+ while (cache.size > WHATSAPP_BAILEYS_CACHE_MAX_ENTRIES) {
70
+ const oldest = cache.keys().next();
71
+ if (oldest.done) break;
72
+ cache.delete(oldest.value);
73
+ }
74
+ }
75
+ function readWhatsAppBaileysCacheEntry(cache, key) {
76
+ const entry = cache.get(key);
77
+ if (!entry) return;
78
+ if (entry.expiresAt <= Date.now()) {
79
+ cache.delete(key);
80
+ return;
81
+ }
82
+ cache.delete(key);
83
+ cache.set(key, entry);
84
+ return entry.value;
85
+ }
86
+ //#endregion
60
87
  //#region extensions/whatsapp/src/inbound/message-aliases.ts
61
88
  function normalizeQuoteSender(sender) {
62
89
  if (!sender?.displayName && !sender?.jid && !sender?.e164) return;
@@ -174,9 +201,12 @@ function defineDeprecatedAdmissionTopLevelAccessors(msg) {
174
201
  }
175
202
  },
176
203
  accessControlPassed: {
177
- get: () => msg.admission ? msg.admission.ingress.decision === "allow" : fallbackAccessControlPassed,
204
+ get: () => {
205
+ if (msg.admission?.ingress.decisiveGateId === "legacy-flat-compat") return fallbackAccessControlPassed;
206
+ return msg.admission ? msg.admission.ingress.decision === "allow" : fallbackAccessControlPassed;
207
+ },
178
208
  set: (value) => {
179
- fallbackAccessControlPassed = value;
209
+ if (!msg.admission) fallbackAccessControlPassed = value;
180
210
  }
181
211
  },
182
212
  chatType: {
@@ -397,31 +427,8 @@ function normalizeWebInboundMessage(msg) {
397
427
  if (msg.event || msg.payload || msg.platform || msg.quote || msg.group) throw new Error("WhatsApp inbound messages must be either legacy flat or canonical nested; partial nested contexts are not supported.");
398
428
  return normalizeLegacyFlatWebInboundMessage(msg);
399
429
  }
400
- //#endregion
401
- //#region extensions/whatsapp/src/inbound/dedupe.ts
402
- const recentOutboundMessages = createDedupeCache({
403
- ttlMs: 20 * 6e4,
404
- maxSize: 5e3
405
- });
406
- function buildMessageKey(params) {
407
- const accountId = params.accountId.trim();
408
- const remoteJid = params.remoteJid.trim();
409
- const messageId = params.messageId.trim();
410
- if (!accountId || !remoteJid || !messageId || messageId === "unknown") return null;
411
- return `${accountId}:${remoteJid}:${messageId}`;
412
- }
413
- function resetWebInboundDedupe() {
414
- recentOutboundMessages.clear();
415
- }
416
- function rememberRecentOutboundMessage(params) {
417
- const key = buildMessageKey(params);
418
- if (!key) return;
419
- recentOutboundMessages.check(key);
420
- }
421
- function isRecentOutboundMessage(params) {
422
- const key = buildMessageKey(params);
423
- if (!key) return false;
424
- return recentOutboundMessages.peek(key);
430
+ function normalizeAdmittedWebInboundMessage(msg) {
431
+ return requireAdmittedWhatsAppInboundMessage(normalizeWebInboundMessage(msg));
425
432
  }
426
433
  //#endregion
427
434
  //#region extensions/whatsapp/src/inbound/durable-payload.ts
@@ -453,11 +460,6 @@ function deserializeWhatsAppDurableInboundMessage(message) {
453
460
  }
454
461
  //#endregion
455
462
  //#region extensions/whatsapp/src/inbound/durable-receive.ts
456
- const WHATSAPP_DURABLE_INBOUND_PENDING_MAX_ENTRIES = 450;
457
- const WHATSAPP_DURABLE_INBOUND_COMPLETED_MAX_ENTRIES = 5e3;
458
- const WHATSAPP_DURABLE_INBOUND_PENDING_TTL_MS = 720 * 60 * 60 * 1e3;
459
- const WHATSAPP_DURABLE_INBOUND_COMPLETED_TTL_MS = 10080 * 60 * 1e3;
460
- const WHATSAPP_DURABLE_INBOUND_PRUNE_INTERVAL_MS = 3600 * 1e3;
461
463
  const WHATSAPP_DURABLE_INBOUND_PAYLOAD_VERSION = 1;
462
464
  function hashNamespacePart(value) {
463
465
  return createHash("sha256").update(value).digest("hex").slice(0, 24);
@@ -516,13 +518,9 @@ function createWhatsAppIngressMonitor(params) {
516
518
  deliver: (admission, lifecycle) => params.dispatch(admission, lifecycle),
517
519
  pollIntervalMs: params.pollIntervalMs,
518
520
  retention: {
519
- pruneIntervalMs: WHATSAPP_DURABLE_INBOUND_PRUNE_INTERVAL_MS,
520
- pendingTtlMs: WHATSAPP_DURABLE_INBOUND_PENDING_TTL_MS,
521
- pendingMaxEntries: WHATSAPP_DURABLE_INBOUND_PENDING_MAX_ENTRIES,
522
- completedTtlMs: WHATSAPP_DURABLE_INBOUND_COMPLETED_TTL_MS,
523
- completedMaxEntries: WHATSAPP_DURABLE_INBOUND_COMPLETED_MAX_ENTRIES,
524
- failedTtlMs: WHATSAPP_DURABLE_INBOUND_PENDING_TTL_MS,
525
- failedMaxEntries: WHATSAPP_DURABLE_INBOUND_PENDING_MAX_ENTRIES
521
+ completedTtlMs: 10080 * 60 * 1e3,
522
+ completedMaxEntries: 5e3,
523
+ failedMaxEntries: 450
526
524
  },
527
525
  drain: {
528
526
  resolveNonRetryableFailure: resolveWhatsAppIngressNonRetryableFailure,
@@ -543,14 +541,190 @@ function createWhatsAppIngressMonitor(params) {
543
541
  });
544
542
  }
545
543
  //#endregion
546
- //#region extensions/whatsapp/src/inbound/ingress-lifecycle.ts
547
- const ingressLifecycleKey = Symbol("whatsappIngressLifecycle");
548
- function attachWhatsAppIngressLifecycle(message, lifecycle) {
549
- if (lifecycle) message[ingressLifecycleKey] = lifecycle;
550
- return message;
544
+ //#region extensions/whatsapp/src/inbound/group-metadata-cache.ts
545
+ const GROUP_META_TTL_MS = 300 * 1e3;
546
+ const WHATSAPP_GROUP_METADATA_CACHE_MAX_ENTRIES = 500;
547
+ function resolveGroupMetadataExpiresAt(nowRaw = Date.now()) {
548
+ const now = asDateTimestampMs(nowRaw);
549
+ return now === void 0 ? void 0 : resolveExpiresAtMsFromDurationMs(GROUP_META_TTL_MS, { nowMs: now });
551
550
  }
552
- function resolveWhatsAppIngressLifecycle(message) {
553
- return message[ingressLifecycleKey];
551
+ function rememberGroupMetadataCacheEntry(cache, jid, entry) {
552
+ if (asDateTimestampMs(entry.expires) === void 0) {
553
+ cache.delete(jid);
554
+ return;
555
+ }
556
+ if (cache.has(jid)) cache.delete(jid);
557
+ cache.set(jid, entry);
558
+ while (cache.size > WHATSAPP_GROUP_METADATA_CACHE_MAX_ENTRIES) {
559
+ const oldest = cache.keys().next();
560
+ if (oldest.done) break;
561
+ cache.delete(oldest.value);
562
+ }
563
+ }
564
+ function readGroupMetadataCacheEntry(cache, jid) {
565
+ const entry = cache.get(jid);
566
+ if (!entry) return null;
567
+ const now = asDateTimestampMs(Date.now());
568
+ const expires = asDateTimestampMs(entry.expires);
569
+ if (now === void 0 || expires === void 0 || expires <= now) {
570
+ cache.delete(jid);
571
+ return null;
572
+ }
573
+ cache.delete(jid);
574
+ cache.set(jid, entry);
575
+ return entry;
576
+ }
577
+ function createWhatsAppGroupMetadataCacheOwner(params) {
578
+ const reconnectCache = params.reconnectCache ?? /* @__PURE__ */ new Map();
579
+ const localCache = /* @__PURE__ */ new Map();
580
+ const publishedJids = /* @__PURE__ */ new Set();
581
+ const invalidatedJids = /* @__PURE__ */ new Set();
582
+ const detachListeners = [];
583
+ let closed = false;
584
+ let started = false;
585
+ const summarize = async (meta) => {
586
+ const participantEntries = await Promise.all(meta.participants?.map(async (participant) => {
587
+ const mapped = await params.resolveInboundJid(participant.id);
588
+ return {
589
+ display: mapped ?? participant.id,
590
+ mention: {
591
+ id: participant.id,
592
+ lid: participant.lid,
593
+ phoneNumber: participant.phoneNumber,
594
+ e164: mapped
595
+ }
596
+ };
597
+ }) ?? []);
598
+ return {
599
+ subject: meta.subject,
600
+ participants: participantEntries.map((entry) => entry.display).filter(Boolean),
601
+ mentionParticipants: participantEntries.map((entry) => entry.mention),
602
+ expires: resolveGroupMetadataExpiresAt() ?? 0
603
+ };
604
+ };
605
+ const summarizeForReconnect = (meta) => ({
606
+ subject: meta.subject,
607
+ expires: resolveGroupMetadataExpiresAt() ?? NaN
608
+ });
609
+ const rememberFullUpdate = (jid, meta) => {
610
+ if (closed) return;
611
+ rememberWhatsAppBaileysCacheEntry(params.baileysCache, jid, meta, GROUP_META_TTL_MS);
612
+ publishedJids.add(jid);
613
+ invalidatedJids.delete(jid);
614
+ rememberGroupMetadataCacheEntry(reconnectCache, jid, summarizeForReconnect(meta));
615
+ localCache.delete(jid);
616
+ };
617
+ const forgetFullMetadata = (jid) => {
618
+ params.baileysCache?.delete(jid);
619
+ reconnectCache.delete(jid);
620
+ localCache.delete(jid);
621
+ publishedJids.delete(jid);
622
+ invalidatedJids.add(jid);
623
+ };
624
+ const get = async (jid) => {
625
+ const cached = readGroupMetadataCacheEntry(localCache, jid);
626
+ if (cached) return cached;
627
+ try {
628
+ const meta = await (params.getCurrentSock() ?? params.sock).groupMetadata(jid);
629
+ rememberWhatsAppBaileysCacheEntry(params.baileysCache, jid, meta, GROUP_META_TTL_MS);
630
+ publishedJids.add(jid);
631
+ const entry = await summarize(meta);
632
+ rememberGroupMetadataCacheEntry(reconnectCache, jid, {
633
+ subject: entry.subject,
634
+ expires: entry.expires
635
+ });
636
+ rememberGroupMetadataCacheEntry(localCache, jid, entry);
637
+ return entry;
638
+ } catch (error) {
639
+ const hydrated = readGroupMetadataCacheEntry(reconnectCache, jid);
640
+ if (hydrated) {
641
+ rememberGroupMetadataCacheEntry(localCache, jid, hydrated);
642
+ params.logVerbose(`Using cached group metadata for ${jid} after fetch failure: ${String(error)}`);
643
+ return hydrated;
644
+ }
645
+ params.logVerbose(`Failed to fetch group metadata for ${jid}: ${String(error)}`);
646
+ return { expires: resolveGroupMetadataExpiresAt() ?? 0 };
647
+ }
648
+ };
649
+ const resolveOutboundMentions = async (jid, text) => {
650
+ if (isJidGroup(jid) !== true || !mayContainWhatsAppOutboundMention(text)) return {
651
+ text,
652
+ mentionedJids: []
653
+ };
654
+ return resolveWhatsAppOutboundMentions({
655
+ chatJid: jid,
656
+ text,
657
+ participants: (await get(jid)).mentionParticipants
658
+ });
659
+ };
660
+ const applyOutboundMentions = async (jid, content) => {
661
+ if ("text" in content && typeof content.text === "string") {
662
+ const resolved = await resolveOutboundMentions(jid, content.text);
663
+ return addWhatsAppOutboundMentionsToContent({
664
+ ...content,
665
+ text: resolved.text
666
+ }, resolved.mentionedJids);
667
+ }
668
+ const caption = content.caption;
669
+ if (typeof caption === "string") {
670
+ const resolved = await resolveOutboundMentions(jid, caption);
671
+ return addWhatsAppOutboundMentionsToContent({
672
+ ...content,
673
+ caption: resolved.text
674
+ }, resolved.mentionedJids);
675
+ }
676
+ return content;
677
+ };
678
+ const start = () => {
679
+ if (started || closed) return;
680
+ started = true;
681
+ const listen = (event, listener) => {
682
+ detachListeners.push(params.listen(event, listener));
683
+ };
684
+ listen("groups.upsert", ((groups) => {
685
+ for (const group of groups) if (group.id) rememberFullUpdate(group.id, group);
686
+ }));
687
+ listen("groups.update", ((updates) => {
688
+ for (const update of updates) {
689
+ if (!update.id) continue;
690
+ if (typeof update.subject === "string" && Array.isArray(update.participants)) {
691
+ rememberFullUpdate(update.id, update);
692
+ continue;
693
+ }
694
+ forgetFullMetadata(update.id);
695
+ }
696
+ }));
697
+ listen("group-participants.update", ((update) => {
698
+ forgetFullMetadata(update.id);
699
+ }));
700
+ (async () => {
701
+ try {
702
+ const groups = await params.sock.groupFetchAllParticipating();
703
+ if (closed) return;
704
+ for (const [jid, meta] of Object.entries(groups ?? {})) if (meta && !publishedJids.has(jid) && !invalidatedJids.has(jid)) {
705
+ rememberGroupMetadataCacheEntry(reconnectCache, jid, summarizeForReconnect(meta));
706
+ rememberWhatsAppBaileysCacheEntry(params.baileysCache, jid, meta, GROUP_META_TTL_MS);
707
+ publishedJids.add(jid);
708
+ }
709
+ params.logVerbose(`Hydrated ${Object.keys(groups ?? {}).length} participating groups on connect`);
710
+ } catch (error) {
711
+ const formatted = String(error);
712
+ params.logHydrationWarning(formatted);
713
+ params.logVerbose(`Failed to hydrate participating groups on connect: ${formatted}`);
714
+ }
715
+ })();
716
+ };
717
+ const close = () => {
718
+ closed = true;
719
+ for (const detach of detachListeners.splice(0)) detach();
720
+ };
721
+ return {
722
+ start,
723
+ close,
724
+ get,
725
+ resolveOutboundMentions,
726
+ applyOutboundMentions
727
+ };
554
728
  }
555
729
  //#endregion
556
730
  //#region extensions/whatsapp/src/inbound/lifecycle.ts
@@ -572,6 +746,157 @@ function closeInboundMonitorSocket(sock) {
572
746
  sock.ws?.close?.();
573
747
  }
574
748
  //#endregion
749
+ //#region extensions/whatsapp/src/inbound/ingress-lifecycle.ts
750
+ const ingressLifecycleKey = Symbol("whatsappIngressLifecycle");
751
+ function attachWhatsAppIngressLifecycle(message, lifecycle) {
752
+ if (lifecycle) message[ingressLifecycleKey] = lifecycle;
753
+ return message;
754
+ }
755
+ function resolveWhatsAppIngressLifecycle(message) {
756
+ return message[ingressLifecycleKey];
757
+ }
758
+ //#endregion
759
+ //#region extensions/whatsapp/src/inbound/message-debounce.ts
760
+ function createWhatsAppInboundMessageDebouncer(options) {
761
+ const debounceMs = Math.max(0, Math.trunc(options.debounceMs ?? 0));
762
+ const pendingKeys = /* @__PURE__ */ new Map();
763
+ const activeFlushes = /* @__PURE__ */ new Set();
764
+ const workWaiters = /* @__PURE__ */ new Set();
765
+ const notifyWork = () => {
766
+ const waiters = [...workWaiters];
767
+ workWaiters.clear();
768
+ for (const resolve of waiters) resolve();
769
+ };
770
+ const buildKey = (msg) => {
771
+ const admission = requireWhatsAppInboundAdmission(msg);
772
+ const sender = msg.platform.sender;
773
+ const senderKey = admission.conversation.kind === "group" ? getPrimaryIdentityId(sender ?? null) ?? msg.platform.senderJid ?? msg.platform.senderE164 ?? msg.platform.senderName ?? admission.sender.id : admission.conversation.id;
774
+ return senderKey ? `${admission.accountId}:${admission.conversation.id}:${senderKey}` : null;
775
+ };
776
+ const shouldDebounce = (msg) => options.shouldDebounce?.(msg) ?? true;
777
+ const trackKey = (key) => {
778
+ pendingKeys.set(key, (pendingKeys.get(key) ?? 0) + 1);
779
+ };
780
+ const releaseKey = (entry) => {
781
+ if (!entry.debounceKey || entry.debounceKeyTracked !== true) return;
782
+ const remaining = (pendingKeys.get(entry.debounceKey) ?? 0) - 1;
783
+ if (remaining > 0) pendingKeys.set(entry.debounceKey, remaining);
784
+ else pendingKeys.delete(entry.debounceKey);
785
+ };
786
+ const orderEntries = (entries) => entries.toSorted((a, b) => {
787
+ const timestampDiff = (a.event.timestamp ?? 0) - (b.event.timestamp ?? 0);
788
+ return timestampDiff !== 0 ? timestampDiff : (a.receiveOrder ?? 0) - (b.receiveOrder ?? 0);
789
+ });
790
+ const debouncer = createInboundDebouncer({
791
+ debounceMs,
792
+ buildKey: (msg) => msg.debounceKey ?? buildKey(msg),
793
+ shouldDebounce,
794
+ onFlush: (entries, createFlush) => {
795
+ for (const entry of entries) releaseKey(entry);
796
+ const orderedEntries = orderEntries(entries);
797
+ const { lifecycle, settle, abandon } = fanInChannelIngressLifecycles(orderedEntries.map((entry) => entry.turnAdoptionLifecycle));
798
+ const flush = createFlush({
799
+ lifecycle,
800
+ dispatch: async (admissionLifecycle) => {
801
+ const last = orderedEntries.at(-1);
802
+ if (!last) return;
803
+ try {
804
+ if (orderedEntries.length === 1) {
805
+ await options.onMessage(attachWhatsAppIngressLifecycle(last, admissionLifecycle));
806
+ await settle();
807
+ await Promise.all(orderedEntries.map((entry) => options.markRead(entry.readReceipt)));
808
+ return;
809
+ }
810
+ const mentioned = /* @__PURE__ */ new Set();
811
+ for (const entry of orderedEntries) for (const jid of entry.group?.mentions?.jids ?? []) mentioned.add(jid);
812
+ const combinedBody = orderedEntries.map((entry) => entry.payload.body).filter(Boolean).join("\n");
813
+ const combinedCommandBody = orderedEntries.map((entry) => entry.payload.commandBody ?? entry.payload.body).filter(Boolean).join("\n");
814
+ const combinedMentions = mentioned.size > 0 ? {
815
+ ...last.group?.mentions,
816
+ jids: Array.from(mentioned)
817
+ } : last.group?.mentions;
818
+ const combinedGroup = last.group || combinedMentions ? {
819
+ ...last.group,
820
+ mentions: combinedMentions
821
+ } : void 0;
822
+ const combinedMessage = attachWhatsAppIngressLifecycle(withDeprecatedWebInboundMessageFlatAliases({
823
+ ...last,
824
+ turnAdoptionLifecycle: admissionLifecycle,
825
+ payload: {
826
+ ...last.payload,
827
+ body: combinedBody,
828
+ commandBody: combinedCommandBody
829
+ },
830
+ group: combinedGroup,
831
+ event: {
832
+ ...last.event,
833
+ isBatched: true
834
+ }
835
+ }), admissionLifecycle);
836
+ await options.onMessage(combinedMessage);
837
+ await settle();
838
+ await Promise.all(orderedEntries.map((entry) => options.markRead(entry.readReceipt)));
839
+ } catch (error) {
840
+ await abandon();
841
+ throw error;
842
+ }
843
+ }
844
+ });
845
+ activeFlushes.add(flush.completion);
846
+ options.onPendingWorkChanged();
847
+ notifyWork();
848
+ const cleanup = () => {
849
+ activeFlushes.delete(flush.completion);
850
+ options.onPendingWorkChanged();
851
+ };
852
+ flush.completion.then(cleanup, cleanup);
853
+ return flush;
854
+ },
855
+ onError: options.onError
856
+ });
857
+ const enqueue = async (message) => {
858
+ const key = buildKey(message);
859
+ if (key) {
860
+ message.debounceKey = key;
861
+ if (debounceMs > 0 && shouldDebounce(message)) {
862
+ message.debounceKeyTracked = true;
863
+ trackKey(key);
864
+ options.onPendingWorkChanged();
865
+ notifyWork();
866
+ }
867
+ }
868
+ await debouncer.enqueue(message);
869
+ };
870
+ const hasPendingWork = () => pendingKeys.size > 0 || activeFlushes.size > 0;
871
+ const pendingWorkCount = () => pendingKeys.size + activeFlushes.size;
872
+ const waitForWorkOrIdle = (handlers, handlersIdle) => {
873
+ if (hasPendingWork() || handlersIdle) return Promise.resolve();
874
+ return new Promise((resolve) => {
875
+ const finish = () => {
876
+ workWaiters.delete(finish);
877
+ resolve();
878
+ };
879
+ workWaiters.add(finish);
880
+ Promise.allSettled(handlers).then(finish);
881
+ });
882
+ };
883
+ const drain = async () => {
884
+ while (hasPendingWork()) {
885
+ const keys = Array.from(pendingKeys.keys());
886
+ if (keys.length > 0) await Promise.all(keys.map((key) => debouncer.flushKey(key)));
887
+ await debouncer.drain();
888
+ await Promise.resolve();
889
+ }
890
+ };
891
+ return {
892
+ enqueue,
893
+ drain,
894
+ hasPendingWork,
895
+ pendingWorkCount,
896
+ waitForWorkOrIdle
897
+ };
898
+ }
899
+ //#endregion
575
900
  //#region extensions/whatsapp/src/inbound/media.ts
576
901
  var WhatsAppInboundMediaLimitExceededError = class extends Error {
577
902
  constructor(maxBytes) {
@@ -616,455 +941,98 @@ async function downloadQuotedInboundMedia(msg, sock, maxBytes = 50 * 1024 * 1024
616
941
  }, sock, maxBytes);
617
942
  }
618
943
  //#endregion
619
- //#region extensions/whatsapp/src/inbound/monitor.ts
620
- const LOGGED_OUT_STATUS = DisconnectReason.loggedOut;
621
- const RECONNECT_IN_PROGRESS_ERROR = "no active socket - reconnection in progress";
622
- const GROUP_META_TTL_MS = 300 * 1e3;
623
- const BAILEYS_MESSAGE_TTL_MS = 600 * 1e3;
624
- const INBOUND_CLOSE_DRAIN_TIMEOUT_MS = 5e3;
625
- const WHATSAPP_INGRESS_DRAIN_INTERVAL_MS = 1e3;
626
- const WHATSAPP_GROUP_METADATA_CACHE_MAX_ENTRIES = 500;
627
- function resolveGroupMetadataExpiresAt(nowRaw = Date.now()) {
628
- const now = asDateTimestampMs(nowRaw);
629
- return now === void 0 ? void 0 : resolveExpiresAtMsFromDurationMs(GROUP_META_TTL_MS, { nowMs: now });
630
- }
631
- function parseWhatsAppTimestampSeconds(value) {
632
- if (value == null) return;
633
- if (typeof value === "string") return parseStrictFiniteNumber(value);
634
- const parsed = Number(value);
635
- return Number.isFinite(parsed) ? parsed : void 0;
636
- }
637
- function rememberGroupMetadataCacheEntry(cache, jid, entry) {
638
- if (asDateTimestampMs(entry.expires) === void 0) {
639
- cache.delete(jid);
640
- return;
944
+ //#region extensions/whatsapp/src/inbound/message-enrichment.ts
945
+ async function enrichWhatsAppInboundMessage(params) {
946
+ const { msg, sock } = params;
947
+ const location = extractLocationData(msg.message ?? void 0);
948
+ const locationText = location ? formatLocationText(location) : void 0;
949
+ const contactContext = extractContactContext(msg.message ?? void 0);
950
+ const externalAdReplyContext = extractExternalAdReplyContext(msg.message ?? void 0);
951
+ let mediaKind = extractMediaKind(msg.message ?? void 0);
952
+ let body = extractText(msg.message ?? void 0);
953
+ if (locationText) body = [body, locationText].filter(Boolean).join("\n").trim();
954
+ if (!body && !mediaKind) return null;
955
+ body = body ?? "";
956
+ const commandBody = body;
957
+ const replyContext = describeReplyContext(msg.message);
958
+ let mediaPath;
959
+ let mediaType = mediaKind ? resolveInboundMediaMimetype(msg.message) : void 0;
960
+ const nativeMedia = mediaKind ? {
961
+ contentType: mediaType,
962
+ kind: mediaKind
963
+ } : void 0;
964
+ let mediaFileName;
965
+ const maxBytes = (typeof params.mediaMaxMb === "number" && params.mediaMaxMb > 0 ? params.mediaMaxMb : 50) * 1024 * 1024;
966
+ const saveInboundMedia = async (inboundMedia) => {
967
+ if (!inboundMedia) return;
968
+ mediaPath = inboundMedia.saved.path;
969
+ mediaType = inboundMedia.mimetype;
970
+ mediaFileName = inboundMedia.fileName;
971
+ };
972
+ try {
973
+ await saveInboundMedia(await downloadInboundMedia(msg, sock, maxBytes));
974
+ } catch (error) {
975
+ params.logVerbose(`Inbound media download failed: ${String(error)}`);
976
+ body = formatInboundMediaUnavailableText({
977
+ body,
978
+ notice: "[whatsapp attachment unavailable]"
979
+ });
641
980
  }
642
- if (cache.has(jid)) cache.delete(jid);
643
- cache.set(jid, entry);
644
- while (cache.size > WHATSAPP_GROUP_METADATA_CACHE_MAX_ENTRIES) {
645
- const oldest = cache.keys().next();
646
- if (oldest.done) break;
647
- cache.delete(oldest.value);
981
+ if (!mediaPath && !mediaKind && replyContext?.media) try {
982
+ await saveInboundMedia(await downloadQuotedInboundMedia(msg, sock, maxBytes));
983
+ mediaKind = replyContext.media.kind ?? void 0;
984
+ mediaType = mediaType ?? replyContext.media.contentType ?? void 0;
985
+ } catch (error) {
986
+ params.logVerbose(`Quoted media download failed: ${String(error)}`);
987
+ body = formatInboundMediaUnavailableText({
988
+ body,
989
+ notice: "[whatsapp quoted attachment unavailable]"
990
+ });
648
991
  }
992
+ return {
993
+ body,
994
+ commandBody,
995
+ location: location ?? void 0,
996
+ contactContext,
997
+ externalAdReplyContext,
998
+ replyContext,
999
+ mediaPath,
1000
+ mediaType,
1001
+ mediaFileName,
1002
+ mediaKind,
1003
+ nativeMedia
1004
+ };
649
1005
  }
650
- function readGroupMetadataCacheEntry(cache, jid) {
651
- const entry = cache.get(jid);
652
- if (!entry) return null;
653
- const now = asDateTimestampMs(Date.now());
654
- const expires = asDateTimestampMs(entry.expires);
655
- if (now === void 0 || expires === void 0 || expires <= now) {
656
- cache.delete(jid);
657
- return null;
658
- }
659
- cache.delete(jid);
660
- cache.set(jid, entry);
661
- return entry;
662
- }
663
- function rememberWhatsAppBaileysCacheEntry(cache, key, value, ttlMs) {
664
- if (!cache) return;
665
- if (cache.has(key)) cache.delete(key);
666
- cache.set(key, {
667
- expiresAt: Date.now() + ttlMs,
668
- value
669
- });
670
- while (cache.size > WHATSAPP_GROUP_METADATA_CACHE_MAX_ENTRIES) {
671
- const oldest = cache.keys().next();
672
- if (oldest.done) break;
673
- cache.delete(oldest.value);
674
- }
675
- }
676
- function readWhatsAppBaileysCacheEntry(cache, key) {
677
- const entry = cache.get(key);
678
- if (!entry) return;
679
- if (entry.expiresAt <= Date.now()) {
680
- cache.delete(key);
681
- return;
682
- }
683
- cache.delete(key);
684
- cache.set(key, entry);
685
- return entry.value;
686
- }
687
- function logWhatsAppVerbose(enabled, message) {
688
- if (!enabled) return;
689
- defaultRuntime.log(message);
690
- }
691
- function isDirectUserJid(jid) {
692
- return /^(\d+)(?::\d+)?@(s\.whatsapp\.net|c\.us|lid|hosted|hosted\.lid)$/i.test(jid.trim());
693
- }
694
- function getActiveReachoutTimelock(state) {
695
- if (state?.isActive !== true) return;
696
- const endsAt = state.timeEnforcementEnds?.getTime();
697
- return endsAt === void 0 || !Number.isFinite(endsAt) || endsAt > Date.now() ? state : void 0;
698
- }
699
- function formatReachoutTimelockError(state) {
700
- const details = [state.enforcementType ? `type=${state.enforcementType}` : void 0, state.timeEnforcementEnds instanceof Date && Number.isFinite(state.timeEnforcementEnds.getTime()) ? `until=${state.timeEnforcementEnds.toISOString()}` : void 0].filter(Boolean);
701
- return `WhatsApp reachout timelock is active; direct messages are temporarily blocked${details.length ? ` (${details.join(", ")})` : ""}`;
1006
+ //#endregion
1007
+ //#region extensions/whatsapp/src/inbound/dedupe.ts
1008
+ const recentOutboundMessages = createDedupeCache({
1009
+ ttlMs: 20 * 6e4,
1010
+ maxSize: 5e3
1011
+ });
1012
+ function buildMessageKey(params) {
1013
+ const accountId = params.accountId.trim();
1014
+ const remoteJid = params.remoteJid.trim();
1015
+ const messageId = params.messageId.trim();
1016
+ if (!accountId || !remoteJid || !messageId || messageId === "unknown") return null;
1017
+ return `${accountId}:${remoteJid}:${messageId}`;
702
1018
  }
703
- function recordAcceptedInboundActivity(accountId) {
704
- recordChannelActivity({
705
- channel: "whatsapp",
706
- accountId,
707
- direction: "inbound"
708
- });
1019
+ function resetWebInboundDedupe() {
1020
+ recentOutboundMessages.clear();
709
1021
  }
710
- function isRetryableSendDisconnectError(err) {
711
- if (isWhatsAppSocketOperationTimeoutError(err)) return false;
712
- return /closed|reset|timed\s*out|disconnect|no active socket/i.test(formatError(err));
1022
+ function rememberRecentOutboundMessage(params) {
1023
+ const key = buildMessageKey(params);
1024
+ if (!key) return;
1025
+ recentOutboundMessages.check(key);
713
1026
  }
714
- function shouldClearSocketRefAfterSendFailure(err) {
715
- return /closed|reset|disconnect|no active socket/i.test(formatError(err));
1027
+ function isRecentOutboundMessage(params) {
1028
+ const key = buildMessageKey(params);
1029
+ if (!key) return false;
1030
+ return recentOutboundMessages.peek(key);
716
1031
  }
717
- async function attachWebInboxToSocket(options) {
718
- const inboundLogger = getChildLogger({ module: "web-inbound" });
719
- const inboundConsoleLog = createSubsystemLogger("gateway/channels/whatsapp").child("inbound");
720
- const sock = options.sock;
721
- const connectedAtMs = Date.now();
722
- if (options.socketRef) options.socketRef.current = sock;
723
- const shouldRetryDisconnect = () => options.shouldRetryDisconnect?.() === true;
724
- const disconnectRetryPolicy = options.disconnectRetryPolicy ?? DEFAULT_RECONNECT_POLICY;
725
- const sendRetryMaxAttempts = disconnectRetryPolicy.maxAttempts > 0 ? disconnectRetryPolicy.maxAttempts : DEFAULT_RECONNECT_POLICY.maxAttempts;
726
- const sendOperationTimeoutMs = resolveWhatsAppSocketOperationTimeoutMs(options.socketTiming.defaultQueryTimeoutMs);
727
- let onCloseResolve = null;
728
- const onClose = new Promise((resolve) => {
729
- onCloseResolve = resolve;
730
- });
731
- const resolveClose = (reason) => {
732
- if (!onCloseResolve) return;
733
- const resolver = onCloseResolve;
734
- onCloseResolve = null;
735
- resolver(reason);
736
- };
737
- const presence = options.selfChatMode ? "unavailable" : "available";
738
- try {
739
- await createWhatsAppSocketOperationTimeoutAdapter(sock, sendOperationTimeoutMs).sendPresenceUpdate(presence);
740
- logWhatsAppVerbose(options.verbose, `Sent global '${presence}' presence on connect`);
741
- } catch (err) {
742
- logWhatsAppVerbose(options.verbose, `Failed to send '${presence}' presence on connect: ${String(err)}`);
743
- }
744
- const selfIdentity = await readWebSelfIdentityForDecision(options.authDir, sock.user);
745
- if (selfIdentity.outcome === "unstable") throw new WhatsAppAuthUnstableError("WhatsApp auth state is still stabilizing; retrying inbox attach.");
746
- const self = selfIdentity.identity;
747
- const getCurrentSock = () => {
748
- if (!options.socketRef) return sock;
749
- if (options.socketRef.current) return options.socketRef.current;
750
- if (!self.e164 && !self.jid && !self.lid) return null;
751
- const successor = getWhatsAppConnectionController(options.accountId);
752
- if (!successor) return null;
753
- const successorIdentity = successor.getSelfIdentity();
754
- if (!successorIdentity || !identitiesOverlap(self, successorIdentity)) return null;
755
- return successor.getCurrentSock();
756
- };
757
- const durableInboundQueue = options.durableInboundQueue ?? createWhatsAppDurableInboundQueue(options.accountId);
758
- const inboundDebounceMs = Math.max(0, Math.trunc(options.debounceMs ?? 0));
759
- const pendingDebounceKeys = /* @__PURE__ */ new Set();
760
- const activeInboundFlushes = /* @__PURE__ */ new Set();
761
- const pendingMessageHandlers = /* @__PURE__ */ new Set();
762
- let durableIngressActive = false;
763
- const debounceWorkWaiters = /* @__PURE__ */ new Set();
764
- const notifyDebounceWork = () => {
765
- if (debounceWorkWaiters.size === 0) return;
766
- const waiters = [...debounceWorkWaiters];
767
- debounceWorkWaiters.clear();
768
- for (const resolve of waiters) resolve();
769
- };
770
- const waitForDebounceWorkOrIdle = (handlers) => {
771
- if (pendingDebounceKeys.size > 0 || activeInboundFlushes.size > 0) return Promise.resolve();
772
- if (pendingMessageHandlers.size === 0) return Promise.resolve();
773
- return new Promise((resolve) => {
774
- const finish = () => {
775
- debounceWorkWaiters.delete(finish);
776
- resolve();
777
- };
778
- debounceWorkWaiters.add(finish);
779
- Promise.allSettled(handlers).then(finish);
780
- });
781
- };
782
- let nextReceiveOrder = 0;
783
- const publishPendingWorkState = (at = Date.now()) => {
784
- options.onPendingWorkChanged?.(pendingMessageHandlers.size + pendingDebounceKeys.size + activeInboundFlushes.size + (durableIngressActive ? 1 : 0), at);
785
- };
786
- const buildInboundDebounceKey = (msg) => {
787
- const admission = requireWhatsAppInboundAdmission(msg);
788
- const sender = msg.platform.sender;
789
- const senderKey = admission.conversation.kind === "group" ? getPrimaryIdentityId(sender ?? null) ?? msg.platform.senderJid ?? msg.platform.senderE164 ?? msg.platform.senderName ?? admission.sender.id : admission.conversation.id;
790
- if (!senderKey) return null;
791
- return `${admission.accountId}:${admission.conversation.id}:${senderKey}`;
792
- };
793
- const shouldDebounceInboundMessage = (msg) => options.shouldDebounce?.(msg) ?? true;
794
- const orderDebouncedInboundEntries = (entries) => entries.toSorted((a, b) => {
795
- const timestampDiff = (a.event.timestamp ?? 0) - (b.event.timestamp ?? 0);
796
- if (timestampDiff !== 0) return timestampDiff;
797
- return (a.receiveOrder ?? 0) - (b.receiveOrder ?? 0);
798
- });
799
- const debouncer = createInboundDebouncer({
800
- debounceMs: inboundDebounceMs,
801
- buildKey: (msg) => msg.debounceKey ?? buildInboundDebounceKey(msg),
802
- shouldDebounce: shouldDebounceInboundMessage,
803
- onFlush: async (entries) => {
804
- let finishFlush;
805
- const flushTask = new Promise((resolve) => {
806
- finishFlush = resolve;
807
- });
808
- activeInboundFlushes.add(flushTask);
809
- publishPendingWorkState();
810
- notifyDebounceWork();
811
- try {
812
- const orderedEntries = orderDebouncedInboundEntries(entries);
813
- const last = orderedEntries.at(-1);
814
- if (!last) return;
815
- const { lifecycle, settle, abandon } = fanInChannelIngressLifecycles(orderedEntries.map((entry) => entry.turnAdoptionLifecycle));
816
- try {
817
- if (orderedEntries.length === 1) {
818
- await options.onMessage(attachWhatsAppIngressLifecycle(last, lifecycle));
819
- await settle();
820
- await Promise.all(orderedEntries.map((entry) => maybeMarkInboundAsRead(entry.readReceipt)));
821
- return;
822
- }
823
- const mentioned = /* @__PURE__ */ new Set();
824
- for (const entry of orderedEntries) for (const jid of entry.group?.mentions?.jids ?? []) mentioned.add(jid);
825
- const combinedBody = orderedEntries.map((entry) => entry.payload.body).filter(Boolean).join("\n");
826
- const combinedCommandBody = orderedEntries.map((entry) => entry.payload.commandBody ?? entry.payload.body).filter(Boolean).join("\n");
827
- const combinedMentions = mentioned.size > 0 ? {
828
- ...last.group?.mentions,
829
- jids: Array.from(mentioned)
830
- } : last.group?.mentions;
831
- const combinedGroup = last.group || combinedMentions ? {
832
- ...last.group,
833
- mentions: combinedMentions
834
- } : void 0;
835
- const combinedMessage = attachWhatsAppIngressLifecycle(withDeprecatedWebInboundMessageFlatAliases({
836
- ...last,
837
- ...lifecycle ? { turnAdoptionLifecycle: lifecycle } : {},
838
- payload: {
839
- ...last.payload,
840
- body: combinedBody,
841
- commandBody: combinedCommandBody
842
- },
843
- group: combinedGroup,
844
- event: {
845
- ...last.event,
846
- isBatched: true
847
- }
848
- }), lifecycle);
849
- await options.onMessage(combinedMessage);
850
- await settle();
851
- await Promise.all(orderedEntries.map((entry) => maybeMarkInboundAsRead(entry.readReceipt)));
852
- } catch (error) {
853
- await abandon();
854
- throw error;
855
- }
856
- } finally {
857
- for (const entry of entries) if (entry.debounceKey) pendingDebounceKeys.delete(entry.debounceKey);
858
- activeInboundFlushes.delete(flushTask);
859
- finishFlush();
860
- publishPendingWorkState();
861
- }
862
- },
863
- onError: (err) => {
864
- inboundLogger.error({ error: String(err) }, "failed handling inbound web message");
865
- inboundConsoleLog.error(`Failed handling inbound web message: ${String(err)}`);
866
- }
867
- });
868
- const groupMetadataCache = options.groupMetadataCache ?? /* @__PURE__ */ new Map();
869
- const groupMetaCache = /* @__PURE__ */ new Map();
870
- const lidLookup = sock.signalRepository?.lidMapping;
871
- const publishedGroupMetadataJids = /* @__PURE__ */ new Set();
872
- const invalidatedGroupMetadataJids = /* @__PURE__ */ new Set();
873
- let groupMetadataCacheClosed = false;
874
- const resolveInboundJid = async (jid) => resolveJidToE164(jid, {
875
- authDir: options.authDir,
876
- lidLookup
877
- });
878
- const resolveReactionTargetJids = async (jid) => resolveEquivalentWhatsAppDirectChatJids(jid, {
879
- authDir: options.authDir,
880
- lidLookup
881
- });
882
- const rememberBaileysMessage = (remoteJid, messageId, message) => {
883
- if (!options.recentMessageKeys || !remoteJid || !messageId || !message) return;
884
- rememberWhatsAppBaileysCacheEntry(options.recentMessageKeys, `${remoteJid}:${messageId}`, message, BAILEYS_MESSAGE_TTL_MS);
885
- };
886
- const rememberOutboundMessage = (remoteJid, result) => {
887
- const messageId = typeof result === "object" && result && "key" in result ? result.key?.id ?? "" : "";
888
- if (!messageId) return;
889
- rememberRecentOutboundMessage({
890
- accountId: options.accountId,
891
- remoteJid,
892
- messageId
893
- });
894
- const message = typeof result === "object" && result && "message" in result ? result.message : void 0;
895
- rememberBaileysMessage(remoteJid, messageId, message);
896
- cacheInboundMessageMeta(options.accountId, remoteJid, messageId, {
897
- fromMe: true,
898
- body: extractText(message ?? void 0)
899
- });
900
- };
901
- const trackLateAcceptedSend = (jid, promise) => {
902
- promise.then((result) => {
903
- rememberOutboundMessage(jid, result);
904
- }, () => {});
905
- };
906
- let reachoutTimeLock;
907
- let reachoutTimeLockFetch;
908
- let reachoutTimeLockVersion = 0;
909
- let verifiedSendReady;
910
- const rememberReachoutTimeLock = (state) => {
911
- reachoutTimeLock = state;
912
- reachoutTimeLockVersion += 1;
913
- verifiedSendReady = void 0;
914
- };
915
- const fetchReachoutTimeLock = async (currentSock) => {
916
- if (typeof currentSock.fetchAccountReachoutTimelock !== "function") return;
917
- if (!reachoutTimeLockFetch) reachoutTimeLockFetch = currentSock.fetchAccountReachoutTimelock().then((state) => {
918
- rememberReachoutTimeLock(state);
919
- return state;
920
- }).catch((err) => {
921
- logWhatsAppVerbose(options.verbose, `Failed fetching WhatsApp reachout timelock before send: ${formatError(err)}`);
922
- }).finally(() => {
923
- reachoutTimeLockFetch = void 0;
924
- });
925
- return await reachoutTimeLockFetch;
926
- };
927
- const rememberVerifiedSendReady = (jid, currentSock) => {
928
- verifiedSendReady = {
929
- jid,
930
- sock: currentSock,
931
- reachoutTimeLockVersion
932
- };
933
- };
934
- const consumeVerifiedSendReady = (jid, currentSock) => {
935
- if (verifiedSendReady?.jid !== jid || verifiedSendReady.sock !== currentSock || verifiedSendReady.reachoutTimeLockVersion !== reachoutTimeLockVersion) return false;
936
- verifiedSendReady = void 0;
937
- return true;
938
- };
939
- const assertCanSendToJid = async (jid, currentSock, readinessOptions) => {
940
- if (!isDirectUserJid(jid)) return;
941
- if (readinessOptions?.useVerifiedReady && consumeVerifiedSendReady(jid, currentSock)) return;
942
- const state = getActiveReachoutTimelock(reachoutTimeLock) ?? await fetchReachoutTimeLock(currentSock);
943
- const activeState = getActiveReachoutTimelock(state);
944
- if (activeState) throw new Error(formatReachoutTimelockError(activeState));
945
- if (readinessOptions?.rememberReady && state) rememberVerifiedSendReady(jid, currentSock);
946
- };
947
- const assertCanSendTo = async (to) => {
948
- const currentSock = getCurrentSock();
949
- if (!currentSock) throw new Error(RECONNECT_IN_PROGRESS_ERROR);
950
- const jid = options.authDir ? toWhatsappJidWithLid(to, { authDir: options.authDir }) : toWhatsappJid(to);
951
- await assertCanSendToJid(jid, currentSock, { rememberReady: true });
952
- };
953
- const sendTrackedMessage = async (jid, content, sendOptions) => {
954
- let lastErr = /* @__PURE__ */ new Error(RECONNECT_IN_PROGRESS_ERROR);
955
- for (let attempt = 1;; attempt++) {
956
- const currentSock = getCurrentSock();
957
- if (currentSock) try {
958
- await assertCanSendToJid(jid, currentSock, { useVerifiedReady: true });
959
- const result = await createWhatsAppSocketOperationTimeoutAdapter(currentSock, sendOperationTimeoutMs, { onSendMessageTimeout: ({ jid: timedOutJid, promise }) => {
960
- trackLateAcceptedSend(timedOutJid, promise);
961
- } }).sendMessage(jid, content, sendOptions);
962
- rememberOutboundMessage(jid, result);
963
- return result;
964
- } catch (err) {
965
- if (!shouldRetryDisconnect() || !isRetryableSendDisconnectError(err)) throw err;
966
- lastErr = err;
967
- if (shouldClearSocketRefAfterSendFailure(err) && options.socketRef?.current === currentSock) options.socketRef.current = null;
968
- }
969
- else if (!shouldRetryDisconnect()) throw lastErr;
970
- if (attempt >= sendRetryMaxAttempts) throw lastErr;
971
- const delayMs = computeBackoff(disconnectRetryPolicy, attempt);
972
- logWhatsAppVerbose(options.verbose, `Waiting ${delayMs}ms for WhatsApp reconnect before retrying send to ${jid}: ${formatError(lastErr)}`);
973
- try {
974
- await sleepWithAbort(delayMs, options.disconnectRetryAbortSignal);
975
- } catch {
976
- throw lastErr;
977
- }
978
- }
979
- };
980
- const sendApiSocketOperations = {
981
- sendMessage: (jid, content, sendOptions) => sendTrackedMessage(jid, content, sendOptions),
982
- sendPresenceUpdate: async (presenceLocal, jid) => {
983
- const currentSock = getCurrentSock();
984
- if (!currentSock) throw new Error(RECONNECT_IN_PROGRESS_ERROR);
985
- return await createWhatsAppSocketOperationTimeoutAdapter(currentSock, sendOperationTimeoutMs).sendPresenceUpdate(presenceLocal, jid);
986
- }
987
- };
988
- const summarizeGroupMeta = async (meta) => {
989
- const participantEntries = await Promise.all(meta.participants?.map(async (p) => {
990
- const mapped = await resolveInboundJid(p.id);
991
- return {
992
- display: mapped ?? p.id,
993
- mention: {
994
- id: p.id,
995
- lid: p.lid,
996
- phoneNumber: p.phoneNumber,
997
- e164: mapped
998
- }
999
- };
1000
- }) ?? []);
1001
- const participants = participantEntries.map((entry) => entry.display).filter(Boolean);
1002
- const mentionParticipants = participantEntries.map((entry) => entry.mention);
1003
- return {
1004
- subject: meta.subject,
1005
- participants,
1006
- mentionParticipants,
1007
- expires: resolveGroupMetadataExpiresAt() ?? 0
1008
- };
1009
- };
1010
- const summarizeGroupMetaForReconnectCache = (meta) => ({
1011
- subject: meta.subject,
1012
- expires: resolveGroupMetadataExpiresAt() ?? NaN
1013
- });
1014
- const getGroupMeta = async (jid) => {
1015
- const cached = readGroupMetadataCacheEntry(groupMetaCache, jid);
1016
- if (cached) return cached;
1017
- try {
1018
- const meta = await (getCurrentSock() ?? sock).groupMetadata(jid);
1019
- rememberWhatsAppBaileysCacheEntry(options.baileysGroupMetaCache, jid, meta, GROUP_META_TTL_MS);
1020
- publishedGroupMetadataJids.add(jid);
1021
- const entry = await summarizeGroupMeta(meta);
1022
- rememberGroupMetadataCacheEntry(groupMetadataCache, jid, {
1023
- subject: entry.subject,
1024
- expires: entry.expires
1025
- });
1026
- rememberGroupMetadataCacheEntry(groupMetaCache, jid, entry);
1027
- return entry;
1028
- } catch (err) {
1029
- const hydrated = readGroupMetadataCacheEntry(groupMetadataCache, jid);
1030
- if (hydrated) {
1031
- rememberGroupMetadataCacheEntry(groupMetaCache, jid, hydrated);
1032
- logWhatsAppVerbose(options.verbose, `Using cached group metadata for ${jid} after fetch failure: ${String(err)}`);
1033
- return hydrated;
1034
- }
1035
- logWhatsAppVerbose(options.verbose, `Failed to fetch group metadata for ${jid}: ${String(err)}`);
1036
- return { expires: resolveGroupMetadataExpiresAt() ?? 0 };
1037
- }
1038
- };
1039
- const resolveOutboundMentionsForGroup = async (jid, text) => {
1040
- if (isJidGroup(jid) !== true || !mayContainWhatsAppOutboundMention(text)) return {
1041
- text,
1042
- mentionedJids: []
1043
- };
1044
- return resolveWhatsAppOutboundMentions({
1045
- chatJid: jid,
1046
- text,
1047
- participants: (await getGroupMeta(jid)).mentionParticipants
1048
- });
1049
- };
1050
- const applyOutboundMentionsToContent = async (jid, content) => {
1051
- if ("text" in content && typeof content.text === "string") {
1052
- const resolved = await resolveOutboundMentionsForGroup(jid, content.text);
1053
- return addWhatsAppOutboundMentionsToContent({
1054
- ...content,
1055
- text: resolved.text
1056
- }, resolved.mentionedJids);
1057
- }
1058
- const caption = content.caption;
1059
- if (typeof caption === "string") {
1060
- const resolved = await resolveOutboundMentionsForGroup(jid, caption);
1061
- return addWhatsAppOutboundMentionsToContent({
1062
- ...content,
1063
- caption: resolved.text
1064
- }, resolved.mentionedJids);
1065
- }
1066
- return content;
1067
- };
1032
+ //#endregion
1033
+ //#region extensions/whatsapp/src/inbound/message-normalization.ts
1034
+ function createWhatsAppInboundMessageNormalizer(options) {
1035
+ const { socketSession, groupMetadata } = options;
1068
1036
  const shouldSkipRecentOutboundEcho = (msg) => {
1069
1037
  const id = msg.key?.id ?? void 0;
1070
1038
  const remoteJid = msg.key?.remoteJid;
@@ -1073,44 +1041,43 @@ async function attachWebInboxToSocket(options) {
1073
1041
  remoteJid,
1074
1042
  messageId: id
1075
1043
  })) return false;
1076
- logWhatsAppVerbose(options.verbose, `Skipping recent outbound WhatsApp echo ${id} for ${remoteJid}`);
1044
+ options.logVerbose(`Skipping recent outbound WhatsApp echo ${id} for ${remoteJid}`);
1077
1045
  return true;
1078
1046
  };
1079
- const normalizeInboundMessage = async (msg) => {
1047
+ const normalize = async (msg) => {
1080
1048
  const id = msg.key?.id ?? void 0;
1081
1049
  const remoteJid = msg.key?.remoteJid;
1082
- if (!remoteJid) return null;
1083
- if (remoteJid.endsWith("@status") || remoteJid.endsWith("@broadcast")) return null;
1050
+ if (!remoteJid || remoteJid.endsWith("@status") || remoteJid.endsWith("@broadcast")) return null;
1084
1051
  const group = isJidGroup(remoteJid) === true;
1085
1052
  if (shouldSkipRecentOutboundEcho(msg)) return null;
1086
1053
  if (!hasInboundUserContent(msg.message ?? void 0)) return null;
1087
1054
  const participantJid = msg.key?.participant ?? void 0;
1088
- const from = group ? remoteJid : await resolveInboundJid(remoteJid);
1055
+ const from = group ? remoteJid : await socketSession.resolveInboundJid(remoteJid);
1089
1056
  if (!from) return null;
1090
- const senderE164 = group ? participantJid ? await resolveInboundJid(participantJid) : null : from;
1057
+ const senderE164 = group ? participantJid ? await socketSession.resolveInboundJid(participantJid) : null : from;
1091
1058
  let groupSubject;
1092
1059
  let groupParticipants;
1093
1060
  if (group) {
1094
- const meta = await getGroupMeta(remoteJid);
1061
+ const meta = await groupMetadata.get(remoteJid);
1095
1062
  groupSubject = meta.subject;
1096
1063
  groupParticipants = meta.participants;
1097
1064
  }
1098
- const messageTimestampSeconds = parseWhatsAppTimestampSeconds(msg.messageTimestamp);
1065
+ const messageTimestampSeconds = options.parseTimestampSeconds(msg.messageTimestamp);
1099
1066
  const messageTimestampMs = messageTimestampSeconds !== void 0 ? messageTimestampSeconds * 1e3 : void 0;
1100
1067
  const access = await checkInboundAccessControl({
1101
1068
  cfg: options.loadConfig?.() ?? options.cfg,
1102
1069
  accountId: options.accountId,
1103
1070
  from,
1104
- selfE164: self.e164 ?? null,
1071
+ selfE164: socketSession.self.e164 ?? null,
1105
1072
  senderE164,
1106
1073
  senderJid: participantJid,
1107
1074
  group,
1108
1075
  pushName: msg.pushName ?? void 0,
1109
1076
  isFromMe: Boolean(msg.key?.fromMe),
1110
1077
  messageTimestampMs,
1111
- connectedAtMs,
1078
+ connectedAtMs: socketSession.connectedAtMs,
1112
1079
  verbose: options.verbose,
1113
- sock: { sendMessage: (jid, content) => sendTrackedMessage(jid, content) },
1080
+ sock: { sendMessage: (jid, content) => socketSession.sendTrackedMessage(jid, content) },
1114
1081
  remoteJid
1115
1082
  });
1116
1083
  if (!access.allowed) return null;
@@ -1127,6 +1094,58 @@ async function attachWebInboxToSocket(options) {
1127
1094
  access
1128
1095
  };
1129
1096
  };
1097
+ return {
1098
+ normalize,
1099
+ shouldSkipRecentOutboundEcho
1100
+ };
1101
+ }
1102
+ //#endregion
1103
+ //#region extensions/whatsapp/src/inbound/message-delivery.ts
1104
+ const INBOUND_CLOSE_DRAIN_TIMEOUT_MS = 5e3;
1105
+ const WHATSAPP_INGRESS_DRAIN_INTERVAL_MS = 1e3;
1106
+ function parseWhatsAppTimestampSeconds(value) {
1107
+ if (value == null) return;
1108
+ if (typeof value === "string") return parseStrictFiniteNumber(value);
1109
+ const parsed = Number(value);
1110
+ return Number.isFinite(parsed) ? parsed : void 0;
1111
+ }
1112
+ function logWhatsAppVerbose$1(enabled, message) {
1113
+ if (!enabled) return;
1114
+ defaultRuntime.log(message);
1115
+ }
1116
+ function recordAcceptedInboundActivity(accountId) {
1117
+ recordChannelActivity({
1118
+ channel: "whatsapp",
1119
+ accountId,
1120
+ direction: "inbound"
1121
+ });
1122
+ }
1123
+ function createWhatsAppMessageDeliveryCoordinator(options) {
1124
+ const inboundLogger = getChildLogger({ module: "web-inbound" });
1125
+ const inboundConsoleLog = createSubsystemLogger("gateway/channels/whatsapp").child("inbound");
1126
+ const sock = options.sock;
1127
+ const socketSession = options.socketSession;
1128
+ const groupMetadata = options.groupMetadata;
1129
+ const { connectedAtMs, self, getCurrentSock, resolveInboundJid, resolveReactionTargetJids, rememberBaileysMessage, assertCanSendToJid, sendTrackedMessage, socketOperations } = socketSession;
1130
+ const durableInboundQueue = options.durableInboundQueue ?? createWhatsAppDurableInboundQueue(options.accountId);
1131
+ const pendingMessageHandlers = /* @__PURE__ */ new Set();
1132
+ let durableIngressActive = false;
1133
+ let nextReceiveOrder = 0;
1134
+ const publishPendingWorkState = (at = Date.now()) => {
1135
+ options.onPendingWorkChanged?.(pendingMessageHandlers.size + messageDebouncer.pendingWorkCount() + (durableIngressActive ? 1 : 0), at);
1136
+ };
1137
+ const messageNormalizer = createWhatsAppInboundMessageNormalizer({
1138
+ cfg: options.cfg,
1139
+ loadConfig: options.loadConfig,
1140
+ accountId: options.accountId,
1141
+ verbose: options.verbose,
1142
+ socketSession,
1143
+ groupMetadata,
1144
+ parseTimestampSeconds: parseWhatsAppTimestampSeconds,
1145
+ logVerbose: (message) => logWhatsAppVerbose$1(options.verbose, message)
1146
+ });
1147
+ const normalizeInboundMessage = messageNormalizer.normalize;
1148
+ const shouldSkipRecentOutboundEcho = messageNormalizer.shouldSkipRecentOutboundEcho;
1130
1149
  const buildReadReceiptTarget = (inbound) => inbound.id ? {
1131
1150
  remoteJid: inbound.remoteJid,
1132
1151
  id: inbound.id,
@@ -1136,20 +1155,15 @@ async function attachWebInboxToSocket(options) {
1136
1155
  if (!target || options.sendReadReceipts === false) return;
1137
1156
  const { id, remoteJid, participant } = target;
1138
1157
  try {
1139
- await withWhatsAppSocketOperationTimeout("readMessages", (getCurrentSock() ?? sock).readMessages([{
1140
- remoteJid,
1141
- id,
1142
- participant,
1143
- fromMe: false
1144
- }]), sendOperationTimeoutMs);
1158
+ await socketSession.markRead(target);
1145
1159
  const suffix = participant ? ` (participant ${participant})` : "";
1146
- logWhatsAppVerbose(options.verbose, `Marked message ${id} as read for ${remoteJid}${suffix}`);
1160
+ logWhatsAppVerbose$1(options.verbose, `Marked message ${id} as read for ${remoteJid}${suffix}`);
1147
1161
  } catch (err) {
1148
- logWhatsAppVerbose(options.verbose, `Failed to mark message ${id} read: ${String(err)}`);
1162
+ logWhatsAppVerbose$1(options.verbose, `Failed to mark message ${id} read: ${String(err)}`);
1149
1163
  }
1150
1164
  };
1151
1165
  const maybeLogSkippedSelfChatReadReceipt = (inbound, target) => {
1152
- if (target?.id && inbound.access.isSelfChat && options.verbose) logWhatsAppVerbose(options.verbose, `Self-chat mode: skipping read receipt for ${target.id}`);
1166
+ if (target?.id && inbound.access.isSelfChat && options.verbose) logWhatsAppVerbose$1(options.verbose, `Self-chat mode: skipping read receipt for ${target.id}`);
1153
1167
  };
1154
1168
  const maybeMarkNonSelfChatReadReceipt = async (inbound, target) => {
1155
1169
  if (inbound.access.isSelfChat) {
@@ -1158,6 +1172,17 @@ async function attachWebInboxToSocket(options) {
1158
1172
  }
1159
1173
  await maybeMarkInboundAsRead(target);
1160
1174
  };
1175
+ const messageDebouncer = createWhatsAppInboundMessageDebouncer({
1176
+ debounceMs: options.debounceMs,
1177
+ onMessage: options.onMessage,
1178
+ shouldDebounce: options.shouldDebounce,
1179
+ markRead: maybeMarkInboundAsRead,
1180
+ onPendingWorkChanged: publishPendingWorkState,
1181
+ onError: (error) => {
1182
+ inboundLogger.error({ error: String(error) }, "failed handling inbound web message");
1183
+ inboundConsoleLog.error(`Failed handling inbound web message: ${String(error)}`);
1184
+ }
1185
+ });
1161
1186
  const shouldSkipStaleAppend = (msg, upsertType) => {
1162
1187
  if (upsertType !== "append") return false;
1163
1188
  const APPEND_RECENT_GRACE_MS = 6e4;
@@ -1167,66 +1192,6 @@ async function attachWebInboxToSocket(options) {
1167
1192
  return msgTsMs < (options.appendReplyWindow && nowMs <= options.appendReplyWindow.untilMs ? Math.max(options.appendReplyWindow.afterMs, nowMs - options.appendReplyWindow.maxAgeMs) : connectedAtMs - APPEND_RECENT_GRACE_MS);
1168
1193
  };
1169
1194
  const preparedInboundByDurableId = /* @__PURE__ */ new Map();
1170
- const enrichInboundMessage = async (msg) => {
1171
- const location = extractLocationData(msg.message ?? void 0);
1172
- const locationText = location ? formatLocationText(location) : void 0;
1173
- const contactContext = extractContactContext(msg.message ?? void 0);
1174
- const externalAdReplyContext = extractExternalAdReplyContext(msg.message ?? void 0);
1175
- let mediaKind = extractMediaKind(msg.message ?? void 0);
1176
- let body = extractText(msg.message ?? void 0);
1177
- if (locationText) body = [body, locationText].filter(Boolean).join("\n").trim();
1178
- if (!body && !mediaKind) return null;
1179
- body = body ?? "";
1180
- const commandBody = body;
1181
- const replyContext = describeReplyContext(msg.message);
1182
- let mediaPath;
1183
- let mediaType = mediaKind ? resolveInboundMediaMimetype(msg.message) : void 0;
1184
- const nativeMedia = mediaKind ? {
1185
- contentType: mediaType,
1186
- kind: mediaKind
1187
- } : void 0;
1188
- let mediaFileName;
1189
- const maxBytes = (typeof options.mediaMaxMb === "number" && options.mediaMaxMb > 0 ? options.mediaMaxMb : 50) * 1024 * 1024;
1190
- const saveInboundMedia = async (inboundMedia) => {
1191
- if (!inboundMedia) return;
1192
- mediaPath = inboundMedia.saved.path;
1193
- mediaType = inboundMedia.mimetype;
1194
- mediaFileName = inboundMedia.fileName;
1195
- };
1196
- try {
1197
- await saveInboundMedia(await downloadInboundMedia(msg, sock, maxBytes));
1198
- } catch (err) {
1199
- logWhatsAppVerbose(options.verbose, `Inbound media download failed: ${String(err)}`);
1200
- body = formatInboundMediaUnavailableText({
1201
- body,
1202
- notice: "[whatsapp attachment unavailable]"
1203
- });
1204
- }
1205
- if (!mediaPath && !mediaKind && replyContext?.media) try {
1206
- await saveInboundMedia(await downloadQuotedInboundMedia(msg, sock, maxBytes));
1207
- mediaKind = replyContext.media.kind ?? void 0;
1208
- mediaType = mediaType ?? replyContext.media.contentType ?? void 0;
1209
- } catch (err) {
1210
- logWhatsAppVerbose(options.verbose, `Quoted media download failed: ${String(err)}`);
1211
- body = formatInboundMediaUnavailableText({
1212
- body,
1213
- notice: "[whatsapp quoted attachment unavailable]"
1214
- });
1215
- }
1216
- return {
1217
- body,
1218
- commandBody,
1219
- location: location ?? void 0,
1220
- contactContext,
1221
- externalAdReplyContext,
1222
- replyContext,
1223
- mediaPath,
1224
- mediaType,
1225
- mediaFileName,
1226
- mediaKind,
1227
- nativeMedia
1228
- };
1229
- };
1230
1195
  const enqueueInboundMessage = async (msg, inbound, enriched, durable) => {
1231
1196
  const chatJid = inbound.remoteJid;
1232
1197
  const sendComposing = async () => {
@@ -1234,18 +1199,18 @@ async function attachWebInboxToSocket(options) {
1234
1199
  if (!currentSock) return;
1235
1200
  try {
1236
1201
  await assertCanSendToJid(chatJid, currentSock);
1237
- await sendApiSocketOperations.sendPresenceUpdate("composing", chatJid);
1202
+ await socketOperations.sendPresenceUpdate("composing", chatJid);
1238
1203
  } catch (err) {
1239
- logWhatsAppVerbose(options.verbose, `Presence update failed: ${String(err)}`);
1204
+ logWhatsAppVerbose$1(options.verbose, `Presence update failed: ${String(err)}`);
1240
1205
  }
1241
1206
  };
1242
1207
  const reply = async (text, optionsResult) => {
1243
- const resolved = await resolveOutboundMentionsForGroup(chatJid, text);
1208
+ const resolved = await groupMetadata.resolveOutboundMentions(chatJid, text);
1244
1209
  return normalizeWhatsAppSendResult(await sendTrackedMessage(chatJid, addWhatsAppOutboundMentionsToContent({ text: resolved.text }, resolved.mentionedJids), optionsResult), "text");
1245
1210
  };
1246
1211
  const sendMedia = async (payload, optionsValue) => {
1247
1212
  const previewPayload = await addWhatsAppImagePreviewFields(payload);
1248
- return normalizeWhatsAppSendResult(await sendTrackedMessage(chatJid, await applyOutboundMentionsToContent(chatJid, previewPayload), optionsValue), "media");
1213
+ return normalizeWhatsAppSendResult(await sendTrackedMessage(chatJid, await groupMetadata.applyOutboundMentions(chatJid, previewPayload), optionsValue), "media");
1249
1214
  };
1250
1215
  const timestamp = inbound.messageTimestampMs;
1251
1216
  const mentionedJids = extractMentionedJids(msg.message);
@@ -1341,15 +1306,6 @@ async function attachWebInboxToSocket(options) {
1341
1306
  readReceipt: durable.readReceipt,
1342
1307
  receiveOrder: durable.receiveOrder
1343
1308
  });
1344
- const debounceKey = buildInboundDebounceKey(inboundMessage);
1345
- if (debounceKey) {
1346
- inboundMessage.debounceKey = debounceKey;
1347
- if (inboundDebounceMs > 0 && shouldDebounceInboundMessage(inboundMessage)) {
1348
- pendingDebounceKeys.add(debounceKey);
1349
- publishPendingWorkState();
1350
- notifyDebounceWork();
1351
- }
1352
- }
1353
1309
  if (inboundMessage.event.id) {
1354
1310
  const admission = requireWhatsAppInboundAdmission(inboundMessage);
1355
1311
  cacheInboundMessageMeta(admission.accountId, inboundMessage.platform.chatJid, inboundMessage.event.id, {
@@ -1360,7 +1316,7 @@ async function attachWebInboxToSocket(options) {
1360
1316
  fromMe: inboundMessage.platform.fromMe
1361
1317
  });
1362
1318
  }
1363
- await debouncer.enqueue(inboundMessage);
1319
+ await messageDebouncer.enqueue(inboundMessage);
1364
1320
  };
1365
1321
  const processDurableInboundMessage = async (admission, lifecycle) => {
1366
1322
  const { message: msg, ...context } = admission;
@@ -1381,7 +1337,7 @@ async function attachWebInboxToSocket(options) {
1381
1337
  msg,
1382
1338
  senderId: inbound.senderE164 ?? inbound.from,
1383
1339
  resolveReactionTargetJids,
1384
- logDebug: (message) => logWhatsAppVerbose(options.verbose, message)
1340
+ logDebug: (message) => logWhatsAppVerbose$1(options.verbose, message)
1385
1341
  })) return "completed";
1386
1342
  const readReceipt = buildReadReceiptTarget(inbound);
1387
1343
  const deliveryReadReceipt = inbound.access.isSelfChat ? void 0 : readReceipt;
@@ -1389,7 +1345,12 @@ async function attachWebInboxToSocket(options) {
1389
1345
  await maybeMarkNonSelfChatReadReceipt(inbound, readReceipt);
1390
1346
  return "completed";
1391
1347
  }
1392
- const enriched = await enrichInboundMessage(msg);
1348
+ const enriched = await enrichWhatsAppInboundMessage({
1349
+ msg,
1350
+ sock,
1351
+ mediaMaxMb: options.mediaMaxMb,
1352
+ logVerbose: (message) => logWhatsAppVerbose$1(options.verbose, message)
1353
+ });
1393
1354
  if (!enriched) {
1394
1355
  await maybeMarkNonSelfChatReadReceipt(inbound, deliveryReadReceipt);
1395
1356
  return "completed";
@@ -1426,7 +1387,7 @@ async function attachWebInboxToSocket(options) {
1426
1387
  selfLid: self.lid,
1427
1388
  resolveInboundJid,
1428
1389
  resolveReactionTargetJids,
1429
- logVerboseMessage: (message) => logWhatsAppVerbose(options.verbose, message)
1390
+ logVerboseMessage: (message) => logWhatsAppVerbose$1(options.verbose, message)
1430
1391
  })) continue;
1431
1392
  const receivedAt = Date.now();
1432
1393
  const skipStaleAppend = shouldSkipStaleAppend(msg, upsert.type);
@@ -1479,58 +1440,254 @@ async function attachWebInboxToSocket(options) {
1479
1440
  else finishPreparation(void 0);
1480
1441
  }
1481
1442
  };
1482
- const handleMessagesUpsertEvent = (upsert) => {
1483
- const task = handleMessagesUpsert(upsert).catch((err) => {
1484
- inboundLogger.error({ error: String(err) }, "messages.upsert handler error");
1485
- inboundConsoleLog.error(`Messages upsert handler error: ${String(err)}`);
1443
+ const handleMessagesUpsertEvent = (upsert) => {
1444
+ const task = handleMessagesUpsert(upsert).catch((err) => {
1445
+ inboundLogger.error({ error: String(err) }, "messages.upsert handler error");
1446
+ inboundConsoleLog.error(`Messages upsert handler error: ${String(err)}`);
1447
+ });
1448
+ pendingMessageHandlers.add(task);
1449
+ publishPendingWorkState();
1450
+ task.finally(() => {
1451
+ pendingMessageHandlers.delete(task);
1452
+ publishPendingWorkState();
1453
+ });
1454
+ };
1455
+ const drainDebouncedInboundMessages = async () => {
1456
+ await messageDebouncer.drain();
1457
+ };
1458
+ const drainInboundBeforeSocketClose = async () => {
1459
+ for (;;) {
1460
+ await drainDebouncedInboundMessages();
1461
+ if (pendingMessageHandlers.size === 0) break;
1462
+ const handlers = Array.from(pendingMessageHandlers);
1463
+ await Promise.race([Promise.allSettled(handlers), messageDebouncer.waitForWorkOrIdle(handlers, pendingMessageHandlers.size === 0)]);
1464
+ if (pendingMessageHandlers.size === 0 && !messageDebouncer.hasPendingWork()) break;
1465
+ }
1466
+ await drainDebouncedInboundMessages();
1467
+ for (;;) {
1468
+ await durableInboundMonitor.waitForIdle();
1469
+ if (!messageDebouncer.hasPendingWork()) break;
1470
+ await drainDebouncedInboundMessages();
1471
+ }
1472
+ await durableInboundMonitor.stop();
1473
+ };
1474
+ const drainInboundBeforeSocketCloseWithTimeout = async () => {
1475
+ let timeout = null;
1476
+ try {
1477
+ await Promise.race([drainInboundBeforeSocketClose(), new Promise((_, reject) => {
1478
+ timeout = setTimeout(() => {
1479
+ reject(/* @__PURE__ */ new Error(`Timed out draining WhatsApp inbound debounce after ${INBOUND_CLOSE_DRAIN_TIMEOUT_MS}ms`));
1480
+ }, INBOUND_CLOSE_DRAIN_TIMEOUT_MS);
1481
+ timeout.unref?.();
1482
+ })]);
1483
+ } finally {
1484
+ if (timeout) clearTimeout(timeout);
1485
+ durableInboundMonitor.stop();
1486
+ }
1487
+ };
1488
+ let detachMessagesUpsert;
1489
+ const start = () => {
1490
+ if (detachMessagesUpsert) return;
1491
+ detachMessagesUpsert = socketSession.listen("messages.upsert", handleMessagesUpsertEvent);
1492
+ durableInboundMonitor.start();
1493
+ };
1494
+ const stopIntake = () => {
1495
+ detachMessagesUpsert?.();
1496
+ detachMessagesUpsert = void 0;
1497
+ };
1498
+ return {
1499
+ start,
1500
+ stopIntake,
1501
+ drain: drainInboundBeforeSocketCloseWithTimeout
1502
+ };
1503
+ }
1504
+ //#endregion
1505
+ //#region extensions/whatsapp/src/inbound/socket-session.ts
1506
+ const LOGGED_OUT_STATUS = DisconnectReason.loggedOut;
1507
+ const RECONNECT_IN_PROGRESS_ERROR = "no active socket - reconnection in progress";
1508
+ const BAILEYS_MESSAGE_TTL_MS = 600 * 1e3;
1509
+ function isDirectUserJid(jid) {
1510
+ return /^(\d+)(?::\d+)?@(s\.whatsapp\.net|c\.us|lid|hosted|hosted\.lid)$/i.test(jid.trim());
1511
+ }
1512
+ function getActiveReachoutTimelock(state) {
1513
+ if (state?.isActive !== true) return;
1514
+ const endsAt = state.timeEnforcementEnds?.getTime();
1515
+ return endsAt === void 0 || !Number.isFinite(endsAt) || endsAt > Date.now() ? state : void 0;
1516
+ }
1517
+ function formatReachoutTimelockError(state) {
1518
+ const details = [state.enforcementType ? `type=${state.enforcementType}` : void 0, state.timeEnforcementEnds instanceof Date && Number.isFinite(state.timeEnforcementEnds.getTime()) ? `until=${state.timeEnforcementEnds.toISOString()}` : void 0].filter(Boolean);
1519
+ return `WhatsApp reachout timelock is active; direct messages are temporarily blocked${details.length ? ` (${details.join(", ")})` : ""}`;
1520
+ }
1521
+ function isRetryableSendDisconnectError(error) {
1522
+ if (isWhatsAppSocketOperationTimeoutError(error)) return false;
1523
+ return /closed|reset|timed\s*out|disconnect|no active socket/i.test(formatError(error));
1524
+ }
1525
+ function shouldClearSocketRefAfterSendFailure(error) {
1526
+ return /closed|reset|disconnect|no active socket/i.test(formatError(error));
1527
+ }
1528
+ async function createWhatsAppAttachedSocketSession(options) {
1529
+ const { sock } = options;
1530
+ const connectedAtMs = Date.now();
1531
+ if (options.socketRef) options.socketRef.current = sock;
1532
+ const shouldRetryDisconnect = () => options.shouldRetryDisconnect?.() === true;
1533
+ const disconnectRetryPolicy = options.disconnectRetryPolicy ?? DEFAULT_RECONNECT_POLICY;
1534
+ const sendRetryMaxAttempts = disconnectRetryPolicy.maxAttempts > 0 ? disconnectRetryPolicy.maxAttempts : DEFAULT_RECONNECT_POLICY.maxAttempts;
1535
+ const sendOperationTimeoutMs = resolveWhatsAppSocketOperationTimeoutMs(options.socketTiming.defaultQueryTimeoutMs);
1536
+ let onCloseResolve = null;
1537
+ const onClose = new Promise((resolve) => {
1538
+ onCloseResolve = resolve;
1539
+ });
1540
+ const resolveClose = (reason) => {
1541
+ if (!onCloseResolve) return;
1542
+ const resolver = onCloseResolve;
1543
+ onCloseResolve = null;
1544
+ resolver(reason);
1545
+ };
1546
+ const presence = options.selfChatMode ? "unavailable" : "available";
1547
+ try {
1548
+ await createWhatsAppSocketOperationTimeoutAdapter(sock, sendOperationTimeoutMs).sendPresenceUpdate(presence);
1549
+ options.logVerbose(`Sent global '${presence}' presence on connect`);
1550
+ } catch (error) {
1551
+ options.logVerbose(`Failed to send '${presence}' presence on connect: ${String(error)}`);
1552
+ }
1553
+ const selfIdentity = await readWebSelfIdentityForDecision(options.authDir, sock.user);
1554
+ if (selfIdentity.outcome === "unstable") throw new WhatsAppAuthUnstableError("WhatsApp auth state is still stabilizing; retrying inbox attach.");
1555
+ const self = selfIdentity.identity;
1556
+ const getCurrentSock = () => {
1557
+ if (!options.socketRef) return sock;
1558
+ if (options.socketRef.current) return options.socketRef.current;
1559
+ if (!self.e164 && !self.jid && !self.lid) return null;
1560
+ const successor = getWhatsAppConnectionController(options.accountId);
1561
+ if (!successor) return null;
1562
+ const successorIdentity = successor.getSelfIdentity();
1563
+ if (!successorIdentity || !identitiesOverlap(self, successorIdentity)) return null;
1564
+ return successor.getCurrentSock();
1565
+ };
1566
+ const lidLookup = sock.signalRepository?.lidMapping;
1567
+ const resolveInboundJid = async (jid) => resolveJidToE164(jid, {
1568
+ authDir: options.authDir,
1569
+ lidLookup
1570
+ });
1571
+ const resolveReactionTargetJids = async (jid) => resolveEquivalentWhatsAppDirectChatJids(jid, {
1572
+ authDir: options.authDir,
1573
+ lidLookup
1574
+ });
1575
+ const rememberBaileysMessage = (remoteJid, messageId, message) => {
1576
+ if (!options.recentMessageKeys || !remoteJid || !messageId || !message) return;
1577
+ rememberWhatsAppBaileysCacheEntry(options.recentMessageKeys, `${remoteJid}:${messageId}`, message, BAILEYS_MESSAGE_TTL_MS);
1578
+ };
1579
+ const rememberOutboundMessage = (remoteJid, result) => {
1580
+ const messageId = typeof result === "object" && result && "key" in result ? result.key?.id ?? "" : "";
1581
+ if (!messageId) return;
1582
+ rememberRecentOutboundMessage({
1583
+ accountId: options.accountId,
1584
+ remoteJid,
1585
+ messageId
1486
1586
  });
1487
- pendingMessageHandlers.add(task);
1488
- publishPendingWorkState();
1489
- task.finally(() => {
1490
- pendingMessageHandlers.delete(task);
1491
- publishPendingWorkState();
1587
+ const message = typeof result === "object" && result && "message" in result ? result.message : void 0;
1588
+ rememberBaileysMessage(remoteJid, messageId, message);
1589
+ cacheInboundMessageMeta(options.accountId, remoteJid, messageId, {
1590
+ fromMe: true,
1591
+ body: extractText(message ?? void 0)
1492
1592
  });
1493
1593
  };
1494
- const drainDebouncedInboundMessages = async () => {
1495
- while (pendingDebounceKeys.size > 0 || activeInboundFlushes.size > 0) {
1496
- const debounceKeys = Array.from(pendingDebounceKeys);
1497
- if (debounceKeys.length > 0) await Promise.all(debounceKeys.map((key) => debouncer.flushKey(key)));
1498
- const flushes = Array.from(activeInboundFlushes);
1499
- if (flushes.length > 0) await Promise.allSettled(flushes);
1500
- await Promise.resolve();
1501
- }
1594
+ const trackLateAcceptedSend = (jid, promise) => {
1595
+ promise.then((result) => {
1596
+ rememberOutboundMessage(jid, result);
1597
+ }, () => {});
1502
1598
  };
1503
- const drainInboundBeforeSocketClose = async () => {
1504
- groupMetadataCacheClosed = true;
1505
- for (;;) {
1506
- await drainDebouncedInboundMessages();
1507
- if (pendingMessageHandlers.size === 0) break;
1508
- const handlers = Array.from(pendingMessageHandlers);
1509
- await Promise.race([Promise.allSettled(handlers), waitForDebounceWorkOrIdle(handlers)]);
1510
- if (pendingMessageHandlers.size === 0 && pendingDebounceKeys.size === 0 && activeInboundFlushes.size === 0) break;
1511
- }
1512
- await drainDebouncedInboundMessages();
1513
- for (;;) {
1514
- await durableInboundMonitor.waitForIdle();
1515
- if (pendingDebounceKeys.size === 0 && activeInboundFlushes.size === 0) break;
1516
- await drainDebouncedInboundMessages();
1599
+ let reachoutTimeLock;
1600
+ let reachoutTimeLockFetch;
1601
+ let reachoutTimeLockVersion = 0;
1602
+ let verifiedSendReady;
1603
+ const rememberReachoutTimeLock = (state) => {
1604
+ reachoutTimeLock = state;
1605
+ reachoutTimeLockVersion += 1;
1606
+ verifiedSendReady = void 0;
1607
+ };
1608
+ const fetchReachoutTimeLock = async (currentSock) => {
1609
+ if (typeof currentSock.fetchAccountReachoutTimelock !== "function") return;
1610
+ if (!reachoutTimeLockFetch) reachoutTimeLockFetch = currentSock.fetchAccountReachoutTimelock().then((state) => {
1611
+ rememberReachoutTimeLock(state);
1612
+ return state;
1613
+ }).catch((error) => {
1614
+ options.logVerbose(`Failed fetching WhatsApp reachout timelock before send: ${formatError(error)}`);
1615
+ }).finally(() => {
1616
+ reachoutTimeLockFetch = void 0;
1617
+ });
1618
+ return await reachoutTimeLockFetch;
1619
+ };
1620
+ const rememberVerifiedSendReady = (jid, currentSock) => {
1621
+ verifiedSendReady = {
1622
+ jid,
1623
+ sock: currentSock,
1624
+ reachoutTimeLockVersion
1625
+ };
1626
+ };
1627
+ const consumeVerifiedSendReady = (jid, currentSock) => {
1628
+ if (verifiedSendReady?.jid !== jid || verifiedSendReady.sock !== currentSock || verifiedSendReady.reachoutTimeLockVersion !== reachoutTimeLockVersion) return false;
1629
+ verifiedSendReady = void 0;
1630
+ return true;
1631
+ };
1632
+ const assertCanSendToJid = async (jid, currentSock, readinessOptions) => {
1633
+ if (!isDirectUserJid(jid)) return;
1634
+ if (readinessOptions?.useVerifiedReady && consumeVerifiedSendReady(jid, currentSock)) return;
1635
+ const state = getActiveReachoutTimelock(reachoutTimeLock) ?? await fetchReachoutTimeLock(currentSock);
1636
+ const activeState = getActiveReachoutTimelock(state);
1637
+ if (activeState) throw new Error(formatReachoutTimelockError(activeState));
1638
+ if (readinessOptions?.rememberReady && state) rememberVerifiedSendReady(jid, currentSock);
1639
+ };
1640
+ const assertSendReady = async (to) => {
1641
+ const currentSock = getCurrentSock();
1642
+ if (!currentSock) throw new Error(RECONNECT_IN_PROGRESS_ERROR);
1643
+ const jid = options.authDir ? toWhatsappJidWithLid(to, { authDir: options.authDir }) : toWhatsappJid(to);
1644
+ await assertCanSendToJid(jid, currentSock, { rememberReady: true });
1645
+ };
1646
+ const sendTrackedMessage = async (jid, content, sendOptions) => {
1647
+ let lastError = /* @__PURE__ */ new Error(RECONNECT_IN_PROGRESS_ERROR);
1648
+ for (let attempt = 1;; attempt += 1) {
1649
+ const currentSock = getCurrentSock();
1650
+ if (currentSock) try {
1651
+ await assertCanSendToJid(jid, currentSock, { useVerifiedReady: true });
1652
+ const result = await createWhatsAppSocketOperationTimeoutAdapter(currentSock, sendOperationTimeoutMs, { onSendMessageTimeout: ({ jid: timedOutJid, promise }) => {
1653
+ trackLateAcceptedSend(timedOutJid, promise);
1654
+ } }).sendMessage(jid, content, sendOptions);
1655
+ rememberOutboundMessage(jid, result);
1656
+ return result;
1657
+ } catch (error) {
1658
+ if (!shouldRetryDisconnect() || !isRetryableSendDisconnectError(error)) throw error;
1659
+ lastError = error;
1660
+ if (shouldClearSocketRefAfterSendFailure(error) && options.socketRef?.current === currentSock) options.socketRef.current = null;
1661
+ }
1662
+ else if (!shouldRetryDisconnect()) throw lastError;
1663
+ if (attempt >= sendRetryMaxAttempts) throw lastError;
1664
+ const delayMs = computeBackoff(disconnectRetryPolicy, attempt);
1665
+ options.logVerbose(`Waiting ${delayMs}ms for WhatsApp reconnect before retrying send to ${jid}: ${formatError(lastError)}`);
1666
+ try {
1667
+ await sleepWithAbort(delayMs, options.disconnectRetryAbortSignal);
1668
+ } catch {
1669
+ throw lastError;
1670
+ }
1517
1671
  }
1518
- await durableInboundMonitor.stop();
1519
1672
  };
1520
- const drainInboundBeforeSocketCloseWithTimeout = async () => {
1521
- let timeout = null;
1522
- try {
1523
- await Promise.race([drainInboundBeforeSocketClose(), new Promise((_, reject) => {
1524
- timeout = setTimeout(() => {
1525
- reject(/* @__PURE__ */ new Error(`Timed out draining WhatsApp inbound debounce after ${INBOUND_CLOSE_DRAIN_TIMEOUT_MS}ms`));
1526
- }, INBOUND_CLOSE_DRAIN_TIMEOUT_MS);
1527
- timeout.unref?.();
1528
- })]);
1529
- } finally {
1530
- if (timeout) clearTimeout(timeout);
1531
- durableInboundMonitor.stop();
1673
+ const socketOperations = {
1674
+ sendMessage: (jid, content, sendOptions) => sendTrackedMessage(jid, content, sendOptions),
1675
+ sendPresenceUpdate: async (presenceLocal, jid) => {
1676
+ const currentSock = getCurrentSock();
1677
+ if (!currentSock) throw new Error(RECONNECT_IN_PROGRESS_ERROR);
1678
+ return await createWhatsAppSocketOperationTimeoutAdapter(currentSock, sendOperationTimeoutMs).sendPresenceUpdate(presenceLocal, jid);
1532
1679
  }
1533
1680
  };
1681
+ const markRead = async (target) => {
1682
+ const { id, remoteJid, participant } = target;
1683
+ await withWhatsAppSocketOperationTimeout("readMessages", (getCurrentSock() ?? sock).readMessages([{
1684
+ remoteJid,
1685
+ id,
1686
+ participant,
1687
+ fromMe: false
1688
+ }]), sendOperationTimeoutMs);
1689
+ };
1690
+ const attachSockListener = (event, listener) => attachEmitterListener(sock.ev, event, listener);
1534
1691
  const handleConnectionUpdate = (update) => {
1535
1692
  try {
1536
1693
  if ("reachoutTimeLock" in update) rememberReachoutTimeLock(update.reachoutTimeLock);
@@ -1543,101 +1700,135 @@ async function attachWebInboxToSocket(options) {
1543
1700
  error: update.lastDisconnect?.error
1544
1701
  });
1545
1702
  }
1546
- } catch (err) {
1547
- inboundLogger.error({ error: String(err) }, "connection.update handler error");
1703
+ } catch (error) {
1704
+ options.logConnectionError(error);
1548
1705
  resolveClose({
1549
1706
  status: void 0,
1550
1707
  isLoggedOut: false,
1551
- error: err
1708
+ error
1552
1709
  });
1553
1710
  }
1554
1711
  };
1555
- const attachSockListener = (event, listener) => attachEmitterListener(sock.ev, event, listener);
1556
- const detachMessagesUpsert = attachSockListener("messages.upsert", handleMessagesUpsertEvent);
1557
- const detachConnectionUpdate = attachSockListener("connection.update", handleConnectionUpdate);
1558
- const isFullGroupMetadataUpdate = (update) => typeof update.id === "string" && typeof update.subject === "string" && Array.isArray(update.participants);
1559
- const rememberFullGroupMetadataUpdate = (jid, meta) => {
1560
- if (groupMetadataCacheClosed) return;
1561
- rememberWhatsAppBaileysCacheEntry(options.baileysGroupMetaCache, jid, meta, GROUP_META_TTL_MS);
1562
- publishedGroupMetadataJids.add(jid);
1563
- invalidatedGroupMetadataJids.delete(jid);
1564
- rememberGroupMetadataCacheEntry(groupMetadataCache, jid, summarizeGroupMetaForReconnectCache(meta));
1565
- groupMetaCache.delete(jid);
1712
+ let detachConnectionUpdate;
1713
+ const start = () => {
1714
+ detachConnectionUpdate ??= attachSockListener("connection.update", handleConnectionUpdate);
1566
1715
  };
1567
- const forgetFullGroupMetadata = (jid) => {
1568
- options.baileysGroupMetaCache?.delete(jid);
1569
- groupMetadataCache.delete(jid);
1570
- groupMetaCache.delete(jid);
1571
- publishedGroupMetadataJids.delete(jid);
1572
- invalidatedGroupMetadataJids.add(jid);
1716
+ const stop = () => {
1717
+ detachConnectionUpdate?.();
1718
+ detachConnectionUpdate = void 0;
1573
1719
  };
1574
- const detachGroupsUpsert = attachSockListener("groups.upsert", ((groups) => {
1575
- for (const group of groups) if (group.id) rememberFullGroupMetadataUpdate(group.id, group);
1576
- }));
1577
- const detachGroupsUpdate = attachSockListener("groups.update", ((updates) => {
1578
- for (const update of updates) {
1579
- if (!update.id) continue;
1580
- if (isFullGroupMetadataUpdate(update)) {
1581
- rememberFullGroupMetadataUpdate(update.id, update);
1582
- continue;
1583
- }
1584
- forgetFullGroupMetadata(update.id);
1585
- }
1586
- }));
1587
- const detachGroupParticipantsUpdate = attachSockListener("group-participants.update", ((update) => {
1588
- forgetFullGroupMetadata(update.id);
1589
- }));
1590
- durableInboundMonitor.start();
1591
- (async () => {
1720
+ const closeSocket = () => {
1592
1721
  try {
1593
- const groups = await sock.groupFetchAllParticipating();
1594
- if (groupMetadataCacheClosed) return;
1595
- for (const [jid, meta] of Object.entries(groups ?? {})) if (meta && !publishedGroupMetadataJids.has(jid) && !invalidatedGroupMetadataJids.has(jid)) {
1596
- rememberGroupMetadataCacheEntry(groupMetadataCache, jid, summarizeGroupMetaForReconnectCache(meta));
1597
- rememberWhatsAppBaileysCacheEntry(options.baileysGroupMetaCache, jid, meta, GROUP_META_TTL_MS);
1598
- publishedGroupMetadataJids.add(jid);
1599
- }
1600
- logWhatsAppVerbose(options.verbose, `Hydrated ${Object.keys(groups ?? {}).length} participating groups on connect`);
1601
- } catch (err) {
1602
- const error = String(err);
1722
+ closeInboundMonitorSocket(sock);
1723
+ } catch (error) {
1724
+ options.logVerbose(`Socket close failed: ${String(error)}`);
1725
+ }
1726
+ };
1727
+ return {
1728
+ connectedAtMs,
1729
+ self,
1730
+ onClose,
1731
+ signalClose: (reason) => {
1732
+ resolveClose(reason ?? {
1733
+ status: void 0,
1734
+ isLoggedOut: false,
1735
+ error: "closed"
1736
+ });
1737
+ },
1738
+ start,
1739
+ stop,
1740
+ closeSocket,
1741
+ listen: attachSockListener,
1742
+ getCurrentSock,
1743
+ resolveInboundJid,
1744
+ resolveReactionTargetJids,
1745
+ rememberBaileysMessage,
1746
+ assertCanSendToJid,
1747
+ assertSendReady,
1748
+ sendTrackedMessage,
1749
+ socketOperations,
1750
+ markRead
1751
+ };
1752
+ }
1753
+ //#endregion
1754
+ //#region extensions/whatsapp/src/inbound/monitor.ts
1755
+ function logWhatsAppVerbose(enabled, message) {
1756
+ if (enabled) defaultRuntime.log(message);
1757
+ }
1758
+ async function attachWebInboxToSocket(options) {
1759
+ const inboundLogger = getChildLogger({ module: "web-inbound" });
1760
+ const inboundConsoleLog = createSubsystemLogger("gateway/channels/whatsapp").child("inbound");
1761
+ const socketSession = await createWhatsAppAttachedSocketSession({
1762
+ sock: options.sock,
1763
+ socketRef: options.socketRef,
1764
+ accountId: options.accountId,
1765
+ authDir: options.authDir,
1766
+ selfChatMode: options.selfChatMode,
1767
+ socketTiming: options.socketTiming,
1768
+ shouldRetryDisconnect: options.shouldRetryDisconnect,
1769
+ disconnectRetryPolicy: options.disconnectRetryPolicy,
1770
+ disconnectRetryAbortSignal: options.disconnectRetryAbortSignal,
1771
+ recentMessageKeys: options.recentMessageKeys,
1772
+ logVerbose: (message) => logWhatsAppVerbose(options.verbose, message),
1773
+ logConnectionError: (error) => {
1774
+ inboundLogger.error({ error: String(error) }, "connection.update handler error");
1775
+ }
1776
+ });
1777
+ const groupMetadata = createWhatsAppGroupMetadataCacheOwner({
1778
+ sock: options.sock,
1779
+ getCurrentSock: socketSession.getCurrentSock,
1780
+ resolveInboundJid: socketSession.resolveInboundJid,
1781
+ reconnectCache: options.groupMetadataCache,
1782
+ baileysCache: options.baileysGroupMetaCache,
1783
+ listen: socketSession.listen,
1784
+ logVerbose: (message) => logWhatsAppVerbose(options.verbose, message),
1785
+ logHydrationWarning: (error) => {
1603
1786
  inboundLogger.warn({ error }, "failed hydrating participating groups on connect");
1604
1787
  inboundConsoleLog.warn(`Failed hydrating participating groups on connect: ${error}`);
1605
- logWhatsAppVerbose(options.verbose, `Failed to hydrate participating groups on connect: ${error}`);
1606
1788
  }
1607
- })();
1789
+ });
1790
+ const delivery = createWhatsAppMessageDeliveryCoordinator({
1791
+ cfg: options.cfg,
1792
+ loadConfig: options.loadConfig,
1793
+ verbose: options.verbose,
1794
+ accountId: options.accountId,
1795
+ sock: options.sock,
1796
+ socketSession,
1797
+ groupMetadata,
1798
+ onMessage: options.onMessage,
1799
+ mediaMaxMb: options.mediaMaxMb,
1800
+ sendReadReceipts: options.sendReadReceipts,
1801
+ debounceMs: options.debounceMs,
1802
+ appendReplyWindow: options.appendReplyWindow,
1803
+ shouldDebounce: options.shouldDebounce,
1804
+ onPendingWorkChanged: options.onPendingWorkChanged,
1805
+ durableInboundQueue: options.durableInboundQueue ?? createWhatsAppDurableInboundQueue(options.accountId)
1806
+ });
1608
1807
  const sendApi = createWebSendApi({
1609
- sock: sendApiSocketOperations,
1808
+ sock: socketSession.socketOperations,
1610
1809
  defaultAccountId: options.accountId,
1611
- resolveOutboundMentions: ({ jid, text }) => resolveOutboundMentionsForGroup(jid, text),
1810
+ resolveOutboundMentions: ({ jid, text }) => groupMetadata.resolveOutboundMentions(jid, text),
1612
1811
  authDir: options.authDir
1613
1812
  });
1813
+ delivery.start();
1814
+ socketSession.start();
1815
+ groupMetadata.start();
1614
1816
  return {
1615
1817
  close: async () => {
1818
+ delivery.stopIntake();
1819
+ socketSession.stop();
1820
+ groupMetadata.close();
1616
1821
  try {
1617
- detachMessagesUpsert();
1618
- detachConnectionUpdate();
1619
- detachGroupsUpsert();
1620
- detachGroupsUpdate();
1621
- detachGroupParticipantsUpdate();
1622
- await drainInboundBeforeSocketCloseWithTimeout();
1623
- } catch (err) {
1624
- logWhatsAppVerbose(options.verbose, `Inbound close drain failed: ${String(err)}`);
1625
- }
1626
- try {
1627
- closeInboundMonitorSocket(sock);
1628
- } catch (err) {
1629
- logWhatsAppVerbose(options.verbose, `Socket close failed: ${String(err)}`);
1822
+ await delivery.drain();
1823
+ } catch (error) {
1824
+ logWhatsAppVerbose(options.verbose, `Inbound close drain failed: ${String(error)}`);
1825
+ } finally {
1826
+ socketSession.closeSocket();
1630
1827
  }
1631
1828
  },
1632
- onClose,
1633
- signalClose: (reason) => {
1634
- resolveClose(reason ?? {
1635
- status: void 0,
1636
- isLoggedOut: false,
1637
- error: "closed"
1638
- });
1639
- },
1640
- assertSendReady: assertCanSendTo,
1829
+ onClose: socketSession.onClose,
1830
+ signalClose: socketSession.signalClose,
1831
+ assertSendReady: socketSession.assertSendReady,
1641
1832
  sendComposingTo: sendApi.sendComposingTo,
1642
1833
  sendMessage: sendApi.sendMessage,
1643
1834
  sendPoll: sendApi.sendPoll,
@@ -1659,18 +1850,16 @@ async function monitorWebInbox(options) {
1659
1850
  });
1660
1851
  try {
1661
1852
  await waitForWaConnection(sock, { timeoutMs: socketTiming.connectTimeoutMs });
1662
- } catch (err) {
1853
+ } catch (error) {
1663
1854
  closeInboundMonitorSocket(sock);
1664
- throw err;
1855
+ throw error;
1665
1856
  }
1666
- const shouldDebounce = options.shouldDebounce;
1667
- const normalizeAdmittedWebInboundMessage = (msg) => requireAdmittedWhatsAppInboundMessage(normalizeWebInboundMessage(msg));
1668
1857
  return attachWebInboxToSocket({
1669
1858
  ...options,
1670
1859
  onMessage: async (msg) => {
1671
1860
  await options.onMessage(normalizeAdmittedWebInboundMessage(msg));
1672
1861
  },
1673
- shouldDebounce: shouldDebounce ? (msg) => shouldDebounce(normalizeAdmittedWebInboundMessage(msg)) : void 0,
1862
+ shouldDebounce: options.shouldDebounce ? (msg) => options.shouldDebounce?.(normalizeAdmittedWebInboundMessage(msg)) ?? true : void 0,
1674
1863
  socketTiming,
1675
1864
  sock,
1676
1865
  recentMessageKeys,
@@ -1848,6 +2037,7 @@ function createEchoTracker(params) {
1848
2037
  const recentlySent = /* @__PURE__ */ new Set();
1849
2038
  const maxItems = Math.max(1, params.maxItems ?? 100);
1850
2039
  const buildCombinedKey = (p) => `combined:${p.sessionKey}:${p.combinedBody}`;
2040
+ const buildTextKey = (text, conversationId) => conversationId ? `${conversationId}\0${text}` : text;
1851
2041
  const trim = () => {
1852
2042
  while (recentlySent.size > maxItems) {
1853
2043
  const firstKey = recentlySent.values().next().value;
@@ -1857,7 +2047,7 @@ function createEchoTracker(params) {
1857
2047
  };
1858
2048
  const rememberText = (text, opts) => {
1859
2049
  if (!text) return;
1860
- recentlySent.add(text);
2050
+ recentlySent.add(buildTextKey(text, opts.conversationId));
1861
2051
  if (opts.combinedBody && opts.combinedBodySessionKey) recentlySent.add(buildCombinedKey({
1862
2052
  sessionKey: opts.combinedBodySessionKey,
1863
2053
  combinedBody: opts.combinedBody
@@ -1867,9 +2057,9 @@ function createEchoTracker(params) {
1867
2057
  };
1868
2058
  return {
1869
2059
  rememberText,
1870
- has: (key) => recentlySent.has(key),
1871
- forget: (key) => {
1872
- recentlySent.delete(key);
2060
+ has: (key, conversationId) => recentlySent.has(buildTextKey(key, conversationId)),
2061
+ forget: (key, conversationId) => {
2062
+ recentlySent.delete(buildTextKey(key, conversationId));
1873
2063
  },
1874
2064
  buildCombinedKey
1875
2065
  };
@@ -2465,6 +2655,20 @@ function isLikelyWhatsAppCryptoError(reason) {
2465
2655
  }
2466
2656
  //#endregion
2467
2657
  //#region extensions/whatsapp/src/auto-reply/deliver-reply.ts
2658
+ function createWhatsAppReplyTransportContext(msg) {
2659
+ const admission = requireWhatsAppInboundAdmission(msg);
2660
+ return {
2661
+ accountId: admission.accountId,
2662
+ conversationId: admission.conversation.id,
2663
+ conversationKind: admission.conversation.kind,
2664
+ chatJid: msg.platform.chatJid,
2665
+ senderJid: msg.platform.senderJid,
2666
+ recipientJid: msg.platform.recipientJid,
2667
+ correlationId: msg.event.id,
2668
+ reply: msg.platform.reply,
2669
+ sendMedia: msg.platform.sendMedia
2670
+ };
2671
+ }
2468
2672
  function resolveWhatsAppReceiptKind(results) {
2469
2673
  if (results.length > 0 && results.every((result) => result.kind === "text")) return "text";
2470
2674
  if (results.length > 0 && results.every((result) => result.kind === "media")) return "media";
@@ -2502,10 +2706,9 @@ function createWhatsAppReplyDeliveryReceipt(results) {
2502
2706
  });
2503
2707
  }
2504
2708
  async function deliverWebReply(params) {
2505
- const { replyResult, msg, maxMediaBytes, textLimit, replyLogger, connectionId, skipLog } = params;
2506
- const admission = requireWhatsAppInboundAdmission(msg);
2507
- const conversationId = admission.conversation.id;
2508
- const isGroupConversation = admission.conversation.kind === "group";
2709
+ const { replyResult, transport, maxMediaBytes, textLimit, replyLogger, connectionId, skipLog } = params;
2710
+ const conversationId = transport.conversationId;
2711
+ const isGroupConversation = transport.conversationKind === "group";
2509
2712
  const replyStarted = Date.now();
2510
2713
  const sendResults = [];
2511
2714
  const rememberSendResult = (result) => {
@@ -2530,12 +2733,12 @@ async function deliverWebReply(params) {
2530
2733
  const mediaList = normalizedReply.mediaUrls ?? [];
2531
2734
  const getQuote = () => {
2532
2735
  if (!replyResult.replyToId) return;
2533
- const cached = lookupInboundMessageMeta(admission.accountId, msg.platform.chatJid, replyResult.replyToId);
2736
+ const cached = lookupInboundMessageMeta(transport.accountId, transport.chatJid, replyResult.replyToId);
2534
2737
  return buildQuotedMessageOptions({
2535
2738
  messageId: replyResult.replyToId,
2536
- remoteJid: msg.platform.chatJid,
2739
+ remoteJid: transport.chatJid,
2537
2740
  fromMe: cached?.fromMe ?? false,
2538
- participant: cached?.participant ?? (isGroupConversation ? msg.platform.senderJid : void 0),
2741
+ participant: cached?.participant ?? (isGroupConversation ? transport.senderJid : void 0),
2539
2742
  messageText: cached?.body ?? "",
2540
2743
  media: cached?.media
2541
2744
  });
@@ -2558,7 +2761,7 @@ async function deliverWebReply(params) {
2558
2761
  for (const [index, chunk] of textChunks.entries()) {
2559
2762
  const chunkStarted = Date.now();
2560
2763
  const quote = getQuote();
2561
- rememberSendResult(await sendWithRetry(() => msg.platform.reply(chunk, quote), "text"));
2764
+ rememberSendResult(await sendWithRetry(() => transport.reply(chunk, quote), "text"));
2562
2765
  if (!skipLog) {
2563
2766
  const durationMs = Date.now() - chunkStarted;
2564
2767
  whatsappOutboundLog.debug(`Sent chunk ${index + 1}/${totalChunks} to ${conversationId} (${durationMs.toFixed(0)}ms)`);
@@ -2566,10 +2769,10 @@ async function deliverWebReply(params) {
2566
2769
  }
2567
2770
  const delivery = finishDelivery();
2568
2771
  const logPayload = {
2569
- correlationId: msg.event.id ?? newConnectionId(),
2772
+ correlationId: transport.correlationId ?? newConnectionId(),
2570
2773
  connectionId: connectionId ?? null,
2571
2774
  to: conversationId,
2572
- from: msg.platform.recipientJid,
2775
+ from: transport.recipientJid,
2573
2776
  text: elide(replyResult.text, 240),
2574
2777
  mediaUrl: null,
2575
2778
  mediaSizeBytes: null,
@@ -2595,29 +2798,29 @@ async function deliverWebReply(params) {
2595
2798
  }
2596
2799
  if (media.kind === "image") {
2597
2800
  const quote = getQuote();
2598
- rememberSendResult(await sendWithRetry(() => msg.platform.sendMedia({
2801
+ rememberSendResult(await sendWithRetry(() => transport.sendMedia({
2599
2802
  image: media.buffer,
2600
2803
  caption,
2601
2804
  mimetype: media.mimetype
2602
2805
  }, quote), "media:image"));
2603
2806
  } else if (media.kind === "audio") {
2604
2807
  const quote = getQuote();
2605
- rememberSendResult(await sendWithRetry(() => msg.platform.sendMedia({
2808
+ rememberSendResult(await sendWithRetry(() => transport.sendMedia({
2606
2809
  audio: media.buffer,
2607
2810
  ptt: true,
2608
2811
  mimetype: media.mimetype
2609
2812
  }, quote), "media:audio"));
2610
- if (caption) rememberSendResult(await sendWithRetry(() => msg.platform.reply(caption, quote), "media:audio-text"));
2813
+ if (caption) rememberSendResult(await sendWithRetry(() => transport.reply(caption, quote), "media:audio-text"));
2611
2814
  } else if (media.kind === "video") {
2612
2815
  const quote = getQuote();
2613
- rememberSendResult(await sendWithRetry(() => msg.platform.sendMedia({
2816
+ rememberSendResult(await sendWithRetry(() => transport.sendMedia({
2614
2817
  video: media.buffer,
2615
2818
  caption,
2616
2819
  mimetype: media.mimetype
2617
2820
  }, quote), "media:video"));
2618
2821
  } else {
2619
2822
  const quote = getQuote();
2620
- rememberSendResult(await sendWithRetry(() => msg.platform.sendMedia({
2823
+ rememberSendResult(await sendWithRetry(() => transport.sendMedia({
2621
2824
  document: media.buffer,
2622
2825
  fileName: media.fileName,
2623
2826
  caption,
@@ -2626,10 +2829,10 @@ async function deliverWebReply(params) {
2626
2829
  }
2627
2830
  whatsappOutboundLog.info(`Sent media reply to ${conversationId} (${(media.buffer.length / (1024 * 1024)).toFixed(2)}MB)`);
2628
2831
  replyLogger.info({
2629
- correlationId: msg.event.id ?? newConnectionId(),
2832
+ correlationId: transport.correlationId ?? newConnectionId(),
2630
2833
  connectionId: connectionId ?? null,
2631
2834
  to: conversationId,
2632
- from: msg.platform.recipientJid,
2835
+ from: transport.recipientJid,
2633
2836
  text: caption ?? null,
2634
2837
  mediaUrl,
2635
2838
  mediaSizeBytes: media.buffer.length,
@@ -2645,16 +2848,16 @@ async function deliverWebReply(params) {
2645
2848
  }, "failed to send web media reply");
2646
2849
  if (!isFirst) {
2647
2850
  whatsappOutboundLog.warn(`Trailing media failed; sent warning to ${conversationId}`);
2648
- rememberSendResult(await sendWithRetry(() => msg.platform.reply("⚠️ Media unavailable.", getQuote()), "media:fallback-unavailable"));
2851
+ rememberSendResult(await sendWithRetry(() => transport.reply("⚠️ Media unavailable.", getQuote()), "media:fallback-unavailable"));
2649
2852
  return;
2650
2853
  }
2651
2854
  const fallbackText = [caption ?? "", "⚠️ Media failed."].filter(Boolean).join("\n");
2652
2855
  if (!fallbackText) return;
2653
2856
  whatsappOutboundLog.warn(`Media skipped; sent text-only to ${conversationId}`);
2654
- rememberSendResult(await sendWithRetry(() => msg.platform.reply(fallbackText, getQuote()), "media:fallback-text"));
2857
+ rememberSendResult(await sendWithRetry(() => transport.reply(fallbackText, getQuote()), "media:fallback-text"));
2655
2858
  }
2656
2859
  });
2657
- for (const chunk of remainingText) rememberSendResult(await sendWithRetry(() => msg.platform.reply(chunk, getQuote()), "media:text"));
2860
+ for (const chunk of remainingText) rememberSendResult(await sendWithRetry(() => transport.reply(chunk, getQuote()), "media:text"));
2658
2861
  return finishDelivery();
2659
2862
  }
2660
2863
  //#endregion
@@ -2715,6 +2918,65 @@ function resolveVisibleWhatsAppReplyContext(params) {
2715
2918
  } : null;
2716
2919
  }
2717
2920
  //#endregion
2921
+ //#region extensions/whatsapp/src/auto-reply/monitor/prepared-inbound.ts
2922
+ function resolvePreparedCommandFacts(command) {
2923
+ if (!command) return;
2924
+ const { authorization, ...facts } = command;
2925
+ return {
2926
+ ...facts,
2927
+ ...authorization.kind === "not_checked" ? {} : { authorized: authorization.kind === "authorized" }
2928
+ };
2929
+ }
2930
+ function projectPreparedChannelInbound(params) {
2931
+ const { inbound, control } = params;
2932
+ const command = resolvePreparedCommandFacts(inbound.command);
2933
+ const commandAuthorization = inbound.command?.authorization;
2934
+ const commandAccess = commandAuthorization && commandAuthorization.kind !== "not_checked" ? { authorized: commandAuthorization.kind === "authorized" } : void 0;
2935
+ return {
2936
+ input: {
2937
+ id: inbound.event.id,
2938
+ timestamp: inbound.event.timestamp,
2939
+ rawText: inbound.message.rawBody,
2940
+ textForAgent: inbound.message.bodyForAgent,
2941
+ textForCommands: inbound.message.commandBody,
2942
+ raw: inbound
2943
+ },
2944
+ context: buildChannelInboundEventContext({
2945
+ ...inbound,
2946
+ messageId: inbound.event.id,
2947
+ messageIdFull: inbound.event.fullId,
2948
+ timestamp: inbound.event.timestamp,
2949
+ command,
2950
+ access: inbound.mentions || commandAccess ? {
2951
+ mentions: inbound.mentions,
2952
+ commands: commandAccess
2953
+ } : void 0,
2954
+ extra: {
2955
+ Transcript: inbound.context?.transcript,
2956
+ ...inbound.context && "groupSubject" in inbound.context ? { GroupSubject: inbound.context.groupSubject ?? void 0 } : {},
2957
+ GroupMembers: inbound.context?.groupMembers,
2958
+ SenderE164: inbound.context?.senderE164,
2959
+ ReplyThreading: inbound.context?.replyThreading,
2960
+ SuppressMessageReceivedHooks: control.messageReceivedHooks === "channel",
2961
+ ...inbound.context?.location ? toLocationContext(inbound.context.location) : {}
2962
+ }
2963
+ })
2964
+ };
2965
+ }
2966
+ /** Keeps WhatsApp reply-policy mapping beside the transport that applies it. */
2967
+ function resolveWhatsAppInboundReplyPolicy(params) {
2968
+ const sourceReplyDeliveryMode = params.ctx.ChatType === "group" || params.ctx.ChatType === "channel" ? resolveChannelMessageSourceReplyDeliveryMode({
2969
+ cfg: params.cfg,
2970
+ ctx: params.ctx
2971
+ }) : void 0;
2972
+ const sourceRepliesAreToolOnly = sourceReplyDeliveryMode === "message_tool_only";
2973
+ return {
2974
+ sourceReplyDeliveryMode,
2975
+ disableBlockStreaming: sourceRepliesAreToolOnly ? true : typeof params.blockStreamingEnabled === "boolean" ? !params.blockStreamingEnabled : void 0,
2976
+ suppressTyping: sourceRepliesAreToolOnly && params.ctx.ChatType === "group" && params.ctx.WasMentioned !== true
2977
+ };
2978
+ }
2979
+ //#endregion
2718
2980
  //#region extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.ts
2719
2981
  function normalizeErrForLog(err) {
2720
2982
  if (err instanceof Error) return {
@@ -2728,6 +2990,15 @@ function normalizeErrForLog(err) {
2728
2990
  function whatsAppReplyDeliveryVisibility(visibleReplySent) {
2729
2991
  return { visibleReplySent };
2730
2992
  }
2993
+ function createWhatsAppChannelDeliveryResult(params) {
2994
+ const messageIds = listMessageReceiptPlatformIds(params.delivery.receipt);
2995
+ return {
2996
+ receipt: params.delivery.receipt,
2997
+ ...messageIds.length > 0 ? { messageIds } : {},
2998
+ content: params.content,
2999
+ visibleReplySent: params.delivery.providerAccepted
3000
+ };
3001
+ }
2731
3002
  function isWhatsAppVisibleDeliveryError(error) {
2732
3003
  return typeof error === "object" && error !== null && !Array.isArray(error) && error.visibleReplySent === true || isChannelPartialDeliveryError(error) && error.deliveryResult.visibleReplySent;
2733
3004
  }
@@ -2740,16 +3011,15 @@ function markWhatsAppReplyDeliveryErrorVisibleAfterFlush(error, flushResult) {
2740
3011
  return markWhatsAppVisibleDeliveryError(new Error("deferred WhatsApp media delivery failed after an earlier visible send", { cause: error }));
2741
3012
  }
2742
3013
  function logWhatsAppReplyDeliveryError(params) {
2743
- const admission = requireWhatsAppInboundAdmission(params.msg);
2744
3014
  params.replyLogger.error({
2745
3015
  err: normalizeErrForLog(params.err),
2746
3016
  replyKind: params.info.kind,
2747
- correlationId: params.msg.event.id ?? null,
3017
+ correlationId: params.transport.correlationId ?? null,
2748
3018
  connectionId: params.connectionId,
2749
- conversationId: admission.conversation.id,
2750
- chatId: params.msg.platform.chatJid ?? null,
2751
- to: admission.conversation.id,
2752
- from: params.msg.platform.recipientJid ?? null
3019
+ conversationId: params.transport.conversationId,
3020
+ chatId: params.transport.chatJid,
3021
+ to: params.transport.conversationId,
3022
+ from: params.transport.recipientJid
2753
3023
  }, "auto-reply delivery failed");
2754
3024
  }
2755
3025
  function resolveWhatsAppDurableReplyToId(params) {
@@ -2757,14 +3027,10 @@ function resolveWhatsAppDurableReplyToId(params) {
2757
3027
  const explicitPayloadReplyToId = readTrimmedString(params.payload.replyToId);
2758
3028
  if (explicitPayloadReplyToId) return explicitPayloadReplyToId;
2759
3029
  const hasVisibleInboundReplyTarget = Boolean(readTrimmedString(params.context.ReplyToId)) || Boolean(readTrimmedString(params.context.ReplyToIdFull));
2760
- const currentInboundMessageId = readTrimmedString(params.msg.event.id);
3030
+ const currentInboundMessageId = readTrimmedString(params.currentMessageId);
2761
3031
  if (params.info.kind === "final" && hasVisibleInboundReplyTarget && currentInboundMessageId) return currentInboundMessageId;
2762
3032
  return null;
2763
3033
  }
2764
- function resolveWhatsAppDisableBlockStreaming(cfg) {
2765
- const enabled = resolveChannelStreamingBlockEnabled(cfg.channels?.whatsapp);
2766
- return typeof enabled === "boolean" ? !enabled : void 0;
2767
- }
2768
3034
  function resolveWhatsAppDeliverablePayload(payload, info) {
2769
3035
  if (payload.isReasoning === true || payload.isCompactionNotice === true) return null;
2770
3036
  if (payload.isError === true) return null;
@@ -2852,7 +3118,13 @@ function resolveWhatsAppResponsePrefix(params) {
2852
3118
  const configuredResponsePrefix = params.cfg.messages?.responsePrefix;
2853
3119
  return params.pipelineResponsePrefix ?? (configuredResponsePrefix === "auto" ? resolveIdentityNamePrefix$1(params.cfg, params.agentId) : configuredResponsePrefix) ?? (params.isSelfChat ? resolveIdentityNamePrefix$1(params.cfg, params.agentId) : void 0);
2854
3120
  }
2855
- async function buildWhatsAppInboundContext(params) {
3121
+ function buildWhatsAppInboundTransportContext(msg) {
3122
+ return {
3123
+ ...createWhatsAppReplyTransportContext(msg),
3124
+ sendComposing: msg.platform.sendComposing
3125
+ };
3126
+ }
3127
+ async function prepareWhatsAppInboundContext(params) {
2856
3128
  const admission = requireWhatsAppInboundAdmission(params.msg);
2857
3129
  const conversationId = admission.conversation.id;
2858
3130
  const conversationKind = admission.conversation.kind;
@@ -2867,13 +3139,14 @@ async function buildWhatsAppInboundContext(params) {
2867
3139
  })),
2868
3140
  limit: params.groupHistory?.length ?? 1
2869
3141
  }) : void 0;
2870
- const media = toInboundMediaFacts(params.msg.payload.media ? [{
3142
+ const media = await toInboundMediaFactsWithMetadata(params.msg.payload.media ? [{
2871
3143
  path: params.msg.payload.media?.path,
2872
3144
  url: params.msg.payload.media?.url ?? params.msg.payload.media?.path,
2873
3145
  contentType: params.msg.payload.media?.type,
2874
3146
  kind: params.msg.payload.media?.kind
2875
3147
  }] : void 0, { transcribed: (_entry, index) => params.mediaTranscribedIndexes?.includes(index) === true });
2876
- return buildChannelInboundEventContext({
3148
+ const control = { messageReceivedHooks: params.suppressMessageReceivedHooks ? "channel" : "core" };
3149
+ const inbound = {
2877
3150
  channel: "whatsapp",
2878
3151
  supplemental: {
2879
3152
  quote: params.visibleReplyTo ? {
@@ -2885,8 +3158,10 @@ async function buildWhatsAppInboundContext(params) {
2885
3158
  channelStructuredContext: params.msg.payload.channelStructuredContext
2886
3159
  },
2887
3160
  media,
2888
- messageId: params.msg.event.id,
2889
- timestamp: params.msg.event.timestamp,
3161
+ event: {
3162
+ id: params.msg.event.id ?? `${conversationId}:${newConnectionId()}`,
3163
+ timestamp: params.msg.event.timestamp
3164
+ },
2890
3165
  from: conversationId,
2891
3166
  sender: {
2892
3167
  id: params.sender.id ?? params.sender.e164,
@@ -2905,7 +3180,8 @@ async function buildWhatsAppInboundContext(params) {
2905
3180
  },
2906
3181
  reply: {
2907
3182
  to: params.msg.platform.recipientJid,
2908
- originatingTo: conversationId
3183
+ originatingTo: conversationId,
3184
+ replyToId: params.visibleReplyTo?.id
2909
3185
  },
2910
3186
  message: {
2911
3187
  body: params.combinedBody,
@@ -2915,29 +3191,35 @@ async function buildWhatsAppInboundContext(params) {
2915
3191
  commandBody: params.command?.body ?? params.msg.payload.body
2916
3192
  },
2917
3193
  sessionTranscript: { historyLimit: conversationKind === "group" ? params.groupHistoryLimit ?? params.groupHistory?.length ?? 0 : 0 },
2918
- access: {
2919
- ...wasMentioned !== void 0 ? { mentions: {
2920
- canDetectMention: conversationKind === "group",
2921
- wasMentioned,
2922
- requireMention: params.msg.groupMention?.requireMention
2923
- } } : {},
2924
- commands: { authorized: params.command?.authorized === true }
2925
- },
3194
+ mentions: wasMentioned !== void 0 ? {
3195
+ canDetectMention: conversationKind === "group",
3196
+ wasMentioned,
3197
+ requireMention: params.msg.groupMention?.requireMention
3198
+ } : void 0,
2926
3199
  command: params.command,
2927
- extra: {
2928
- Transcript: params.transcript,
2929
- GroupSubject: params.msg.group?.subject,
2930
- GroupMembers: formatGroupMembers({
3200
+ context: {
3201
+ transcript: params.transcript,
3202
+ groupSubject: params.msg.group?.subject ?? null,
3203
+ groupMembers: formatGroupMembers({
2931
3204
  participants: params.msg.group?.participants,
2932
3205
  roster: params.groupMemberRoster,
2933
3206
  fallbackE164: params.sender.e164
2934
3207
  }),
2935
- SenderE164: params.sender.e164,
2936
- ReplyThreading: params.replyThreading,
2937
- SuppressMessageReceivedHooks: params.suppressMessageReceivedHooks,
2938
- ...params.msg.payload.location ? toLocationContext(params.msg.payload.location) : {}
3208
+ senderE164: params.sender.e164,
3209
+ replyThreading: params.replyThreading,
3210
+ location: params.msg.payload.location
2939
3211
  }
3212
+ };
3213
+ const projected = projectPreparedChannelInbound({
3214
+ inbound,
3215
+ control
2940
3216
  });
3217
+ return {
3218
+ inbound,
3219
+ control,
3220
+ turnInput: projected.input,
3221
+ ctxPayload: projected.context
3222
+ };
2941
3223
  }
2942
3224
  function resolveWhatsAppDmRouteTarget(params) {
2943
3225
  const admission = requireWhatsAppInboundAdmission(params.msg);
@@ -2970,10 +3252,7 @@ function updateWhatsAppMainLastRoute(params) {
2970
3252
  if (params.dmRouteTarget && inboundLastRouteSessionKey === params.route.mainSessionKey && params.pinnedMainDmRecipient) logVerbose$1(`Skipping main-session last route update for ${params.dmRouteTarget} (pinned owner ${params.pinnedMainDmRecipient})`);
2971
3253
  }
2972
3254
  function createWhatsAppReplyPlan(params) {
2973
- const admission = requireWhatsAppInboundAdmission(params.msg);
2974
- const ingressLifecycle = resolveWhatsAppIngressLifecycle(params.msg);
2975
- const conversationId = admission.conversation.id;
2976
- const conversationKind = admission.conversation.kind;
3255
+ const conversationId = params.inbound.conversation.id;
2977
3256
  const statusReactionController = params.statusReactionController ?? null;
2978
3257
  const textLimit = params.maxMediaTextChunkLimit ?? resolveTextChunkLimit(params.cfg, "whatsapp");
2979
3258
  const chunkMode = resolveChunkMode(params.cfg, "whatsapp", params.route.accountId);
@@ -2983,12 +3262,11 @@ function createWhatsAppReplyPlan(params) {
2983
3262
  accountId: params.route.accountId
2984
3263
  });
2985
3264
  const mediaLocalRoots = getAgentScopedMediaLocalRoots(params.cfg, params.route.agentId);
2986
- const sourceReplyDeliveryMode = params.context.ChatType === "group" || params.context.ChatType === "channel" ? resolveChannelMessageSourceReplyDeliveryMode({
3265
+ const replyPolicy = resolveWhatsAppInboundReplyPolicy({
2987
3266
  cfg: params.cfg,
2988
- ctx: params.context
2989
- }) : void 0;
2990
- const sourceRepliesAreToolOnly = sourceReplyDeliveryMode === "message_tool_only";
2991
- const disableBlockStreaming = sourceRepliesAreToolOnly ? true : resolveWhatsAppDisableBlockStreaming(params.cfg);
3267
+ ctx: params.context,
3268
+ blockStreamingEnabled: resolveChannelStreamingBlockEnabled(params.cfg.channels?.whatsapp)
3269
+ });
2992
3270
  let didSendReply = false;
2993
3271
  let didLogHeartbeatStrip = false;
2994
3272
  const recordDeliveredPayload = (payload) => {
@@ -2997,6 +3275,7 @@ function createWhatsAppReplyPlan(params) {
2997
3275
  params.rememberSentText(payload.text, {
2998
3276
  combinedBody: params.context.Body,
2999
3277
  combinedBodySessionKey: params.route.sessionKey,
3278
+ conversationId,
3000
3279
  logVerboseMessage: shouldLog
3001
3280
  });
3002
3281
  if (shouldLogVerbose$1()) {
@@ -3007,36 +3286,53 @@ function createWhatsAppReplyPlan(params) {
3007
3286
  const deliverNormalizedPayload = async (normalizedDeliveryPayload, info, options) => {
3008
3287
  const reply = resolveSendableOutboundReplyParts(normalizedDeliveryPayload);
3009
3288
  if (!reply.hasMedia && !reply.text.trim()) return whatsAppReplyDeliveryVisibility(false);
3010
- if (!(await params.deliverReply({
3011
- replyResult: normalizedDeliveryPayload,
3012
- normalizedReplyResult: normalizedDeliveryPayload,
3013
- msg: params.msg,
3014
- mediaLocalRoots,
3015
- maxMediaBytes: params.maxMediaBytes,
3016
- textLimit,
3017
- chunkMode,
3018
- replyLogger: params.replyLogger,
3019
- connectionId: params.connectionId,
3020
- skipLog: false,
3021
- tableMode
3022
- })).providerAccepted) {
3289
+ let delivery;
3290
+ try {
3291
+ delivery = await params.deliverReply({
3292
+ replyResult: normalizedDeliveryPayload,
3293
+ normalizedReplyResult: normalizedDeliveryPayload,
3294
+ transport: params.transport,
3295
+ mediaLocalRoots,
3296
+ maxMediaBytes: params.maxMediaBytes,
3297
+ textLimit,
3298
+ chunkMode,
3299
+ replyLogger: params.replyLogger,
3300
+ connectionId: params.connectionId,
3301
+ skipLog: false,
3302
+ tableMode
3303
+ });
3304
+ } catch (error) {
3305
+ if (isWhatsAppVisibleDeliveryError(error) && !isChannelPartialDeliveryError(error)) throw createChannelPartialDeliveryError(error, {
3306
+ content: reply.text,
3307
+ visibleReplySent: true
3308
+ });
3309
+ throw error;
3310
+ }
3311
+ const result = createWhatsAppChannelDeliveryResult({
3312
+ content: reply.text,
3313
+ delivery
3314
+ });
3315
+ if (!result.visibleReplySent) {
3023
3316
  params.replyLogger.warn({
3024
- correlationId: params.msg.event.id ?? null,
3317
+ correlationId: params.transport.correlationId ?? null,
3025
3318
  connectionId: params.connectionId,
3026
3319
  conversationId,
3027
- chatId: params.msg.platform.chatJid,
3320
+ chatId: params.transport.chatJid,
3028
3321
  to: conversationId,
3029
- from: params.msg.platform.recipientJid,
3322
+ from: params.transport.recipientJid,
3030
3323
  replyKind: info.kind
3031
3324
  }, "auto-reply was not accepted by WhatsApp provider");
3032
- return whatsAppReplyDeliveryVisibility(false);
3325
+ return result;
3033
3326
  }
3034
3327
  if (options?.recordDelivery !== false) try {
3035
3328
  recordDeliveredPayload(normalizedDeliveryPayload);
3036
3329
  } catch (error) {
3037
- throw markWhatsAppVisibleDeliveryError(error);
3330
+ throw createChannelPartialDeliveryError(error, {
3331
+ ...result,
3332
+ visibleReplySent: true
3333
+ });
3038
3334
  }
3039
- return whatsAppReplyDeliveryVisibility(true);
3335
+ return result;
3040
3336
  };
3041
3337
  const mediaOnlyCoalescer = createWhatsAppMediaOnlyReplyCoalescer({ deliver: async (pending) => {
3042
3338
  return await deliverNormalizedPayload(pending.payload, pending.info);
@@ -3058,9 +3354,10 @@ function createWhatsAppReplyPlan(params) {
3058
3354
  logWhatsAppMediaOnlyFlushResult(flushResult);
3059
3355
  return whatsAppReplyDeliveryVisibility(didSendReply || flushResult.delivered > 0);
3060
3356
  },
3061
- onReplyStart: params.msg.platform.sendComposing
3357
+ onReplyStart: params.transport.sendComposing
3062
3358
  },
3063
3359
  delivery: {
3360
+ observeMessageSent: true,
3064
3361
  preparePayload: async (payload, info) => {
3065
3362
  const deliveryPayload = resolveWhatsAppDeliverablePayload(payload, info);
3066
3363
  if (!deliveryPayload) return null;
@@ -3090,7 +3387,7 @@ function createWhatsAppReplyPlan(params) {
3090
3387
  replyToId: resolveWhatsAppDurableReplyToId({
3091
3388
  context: params.context,
3092
3389
  info,
3093
- msg: params.msg,
3390
+ currentMessageId: params.transport.correlationId,
3094
3391
  payload
3095
3392
  }),
3096
3393
  formatting: {
@@ -3136,16 +3433,16 @@ function createWhatsAppReplyPlan(params) {
3136
3433
  err,
3137
3434
  info,
3138
3435
  connectionId: params.connectionId,
3139
- msg: params.msg,
3436
+ transport: params.transport,
3140
3437
  replyLogger: params.replyLogger
3141
3438
  });
3142
3439
  }
3143
3440
  },
3144
3441
  replyOptions: {
3145
- ...ingressLifecycle ? bindIngressLifecycleToReplyOptions(ingressLifecycle) : {},
3146
- suppressTyping: sourceRepliesAreToolOnly && conversationKind === "group" && !(params.msg.groupMention?.wasMentioned ?? params.msg.wasMentioned),
3147
- disableBlockStreaming,
3148
- ...sourceReplyDeliveryMode ? { sourceReplyDeliveryMode } : {},
3442
+ ...params.turnAdoptionLifecycle ? { turnAdoptionLifecycle: params.turnAdoptionLifecycle } : {},
3443
+ suppressTyping: replyPolicy.suppressTyping,
3444
+ disableBlockStreaming: replyPolicy.disableBlockStreaming,
3445
+ ...replyPolicy.sourceReplyDeliveryMode ? { sourceReplyDeliveryMode: replyPolicy.sourceReplyDeliveryMode } : {},
3149
3446
  onModelSelected: params.onModelSelected,
3150
3447
  ...statusReactionController ? {
3151
3448
  onToolStart: async (payload) => {
@@ -3490,13 +3787,14 @@ async function processMessage(params) {
3490
3787
  accountConfig: account,
3491
3788
  peerId: dmRouteTarget ?? conversationId
3492
3789
  });
3493
- const ctxPayload = await buildWhatsAppInboundContext({
3790
+ const commandAuthorization = commandAuthorized === void 0 ? { kind: "not_checked" } : commandAuthorized ? { kind: "authorized" } : { kind: "denied" };
3791
+ const { inbound, turnInput, ctxPayload } = await prepareWhatsAppInboundContext({
3494
3792
  bodyForAgent: msgForAgent.payload.body,
3495
3793
  combinedBody,
3496
3794
  command: {
3497
3795
  kind: isTextCommand ? "text-slash" : "normal",
3498
3796
  body: commandBody,
3499
- authorized: commandAuthorized
3797
+ authorization: commandAuthorization
3500
3798
  },
3501
3799
  groupHistory: visibleGroupHistory,
3502
3800
  groupHistoryLimit: params.groupHistoryLimit,
@@ -3516,6 +3814,9 @@ async function processMessage(params) {
3516
3814
  visibleReplyTo: visibleReplyTo ?? void 0,
3517
3815
  suppressMessageReceivedHooks: true
3518
3816
  });
3817
+ const transport = buildWhatsAppInboundTransportContext(params.msg);
3818
+ const ingressLifecycle = resolveWhatsAppIngressLifecycle(params.msg);
3819
+ const turnAdoptionLifecycle = ingressLifecycle ? bindIngressLifecycleToReplyOptions(ingressLifecycle).turnAdoptionLifecycle : void 0;
3519
3820
  emitWhatsAppMessageReceivedHooksIfEnabled({
3520
3821
  cfg: params.cfg,
3521
3822
  ctx: ctxPayload,
@@ -3540,16 +3841,10 @@ async function processMessage(params) {
3540
3841
  const turnResult = await runChannelInboundEvent({
3541
3842
  channel: "whatsapp",
3542
3843
  accountId: params.route.accountId,
3543
- raw: params.msg,
3844
+ raw: inbound,
3845
+ ...turnAdoptionLifecycle ? { turnAdoptionLifecycle } : {},
3544
3846
  adapter: {
3545
- ingest: () => ({
3546
- id: params.msg.event.id ?? `${conversationId}:${Date.now()}`,
3547
- timestamp: params.msg.event.timestamp,
3548
- rawText: ctxPayload.RawBody ?? "",
3549
- textForAgent: ctxPayload.BodyForAgent,
3550
- textForCommands: ctxPayload.CommandBody,
3551
- raw: params.msg
3552
- }),
3847
+ ingest: () => turnInput,
3553
3848
  preflight: () => {
3554
3849
  const reason = admission.ingress.reasonCode;
3555
3850
  if (admission.ingress.admission === "dispatch") return { admission: {
@@ -3580,7 +3875,7 @@ async function processMessage(params) {
3580
3875
  groupHistoryKey: params.groupHistoryKey,
3581
3876
  maxMediaBytes: params.maxMediaBytes,
3582
3877
  maxMediaTextChunkLimit: params.maxMediaTextChunkLimit,
3583
- msg: params.msg,
3878
+ inbound,
3584
3879
  onModelSelected,
3585
3880
  rememberSentText: params.rememberSentText,
3586
3881
  replyLogger: params.replyLogger,
@@ -3591,7 +3886,9 @@ async function processMessage(params) {
3591
3886
  replyResolver: params.replyResolver,
3592
3887
  route: params.route,
3593
3888
  shouldClearGroupHistory,
3594
- statusReactionController
3889
+ statusReactionController,
3890
+ transport,
3891
+ turnAdoptionLifecycle
3595
3892
  });
3596
3893
  finalizeReply = finalize;
3597
3894
  return {
@@ -3637,8 +3934,14 @@ async function processMessage(params) {
3637
3934
  }
3638
3935
  //#endregion
3639
3936
  //#region extensions/whatsapp/src/auto-reply/monitor/on-message.ts
3937
+ function readDeprecatedAccessControlPassed(msg) {
3938
+ return msg.accessControlPassed;
3939
+ }
3640
3940
  function createWebOnMessageHandler(params) {
3641
- const hasExplicitlyPassedInboundAccess = (msg) => msg.admission ? msg.admission.ingress.decision === "allow" : msg.accessControlPassed === true;
3941
+ const hasExplicitlyPassedInboundAccess = (msg) => {
3942
+ if (msg.admission.ingress.decisiveGateId === "legacy-flat-compat") return readDeprecatedAccessControlPassed(msg) === true;
3943
+ return msg.admission.ingress.decision === "allow";
3944
+ };
3642
3945
  const withDirectSenderPeer = (msg, peerId) => {
3643
3946
  if (requireWhatsAppInboundAdmission(msg).conversation.kind === "group" || msg.platform.sender?.e164 || msg.platform.senderE164 || !peerId.startsWith("+")) return msg;
3644
3947
  const normalized = normalizeE164(peerId);
@@ -3683,9 +3986,8 @@ function createWebOnMessageHandler(params) {
3683
3986
  if (opts?.statusReactionController !== void 0) processParams.statusReactionController = opts.statusReactionController;
3684
3987
  return processMessage(processParams);
3685
3988
  };
3686
- return async (rawMsg) => {
3687
- const canRunDirectEarlyAudioPreflight = hasExplicitlyPassedInboundAccess(rawMsg);
3688
- const normalizedMsg = requireAdmittedWhatsAppInboundMessage(normalizeWebInboundMessage(rawMsg));
3989
+ return async (normalizedMsg) => {
3990
+ const canRunDirectEarlyAudioPreflight = hasExplicitlyPassedInboundAccess(normalizedMsg);
3689
3991
  const cfg = params.loadConfig?.() ?? params.cfg;
3690
3992
  const peerId = resolvePeerId(normalizedMsg);
3691
3993
  const msg = withDirectSenderPeer(normalizedMsg, peerId);
@@ -3710,9 +4012,9 @@ function createWebOnMessageHandler(params) {
3710
4012
  });
3711
4013
  const baseMentionConfig = buildMentionConfig(cfg);
3712
4014
  if (conversationId === msg.platform.recipientJid) logVerbose(`📱 Same-phone mode detected (from === to: ${conversationId})`);
3713
- if (params.echoTracker.has(msg.payload.body)) {
4015
+ if (params.echoTracker.has(msg.payload.body, conversationId)) {
3714
4016
  logVerbose("Skipping auto-reply: detected echo (message matches recently sent text)");
3715
- params.echoTracker.forget(msg.payload.body);
4017
+ params.echoTracker.forget(msg.payload.body, conversationId);
3716
4018
  return;
3717
4019
  }
3718
4020
  const configuredRoute = resolveConfiguredBindingRoute({
@@ -4033,12 +4335,12 @@ async function monitorWebChannel(verbose, listenerFactory = attachWebInboxToSock
4033
4335
  channel: "whatsapp"
4034
4336
  });
4035
4337
  const shouldDebounce = (msg) => {
4036
- const normalized = normalizeWebInboundMessage(msg);
4338
+ const admitted = normalizeAdmittedWebInboundMessage(msg);
4037
4339
  return shouldDebounceTextInbound({
4038
- text: normalized.payload.commandBody ?? normalized.payload.body,
4340
+ text: admitted.payload.commandBody ?? admitted.payload.body,
4039
4341
  cfg,
4040
- hasMedia: Boolean(normalized.payload.media?.path || normalized.payload.media?.type),
4041
- allowDebounce: !(normalized.payload.location || normalized.quote?.id || normalized.quote?.body)
4342
+ hasMedia: Boolean(admitted.payload.media?.path || admitted.payload.media?.type),
4343
+ allowDebounce: !(admitted.payload.location || admitted.quote?.id || admitted.quote?.body)
4042
4344
  });
4043
4345
  };
4044
4346
  let connection;
@@ -4092,11 +4394,11 @@ async function monitorWebChannel(verbose, listenerFactory = attachWebInboxToSock
4092
4394
  recentMessageKeys,
4093
4395
  baileysGroupMetaCache,
4094
4396
  onMessage: async (msg) => {
4095
- const normalized = normalizeWebInboundMessage(msg);
4397
+ const admitted = normalizeAdmittedWebInboundMessage(msg);
4096
4398
  const inboundAt = Date.now();
4097
4399
  controller.noteInbound(inboundAt);
4098
4400
  statusController.noteInbound(inboundAt);
4099
- await onMessage(normalized);
4401
+ await onMessage(admitted);
4100
4402
  },
4101
4403
  onPendingWorkChanged: (pendingWorkCount, at) => {
4102
4404
  statusController.noteBusy(pendingWorkCount > 0, at);