@queenanya/baileys 9.2.1 → 9.4.1

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 (327) hide show
  1. package/README.md +349 -1171
  2. package/WAProto/fix-imports.js +74 -18
  3. package/WAProto/index.js +201 -160
  4. package/engine-requirements.js +7 -7
  5. package/lib/Defaults/index.d.ts +19 -0
  6. package/lib/Defaults/index.d.ts.map +1 -1
  7. package/lib/Defaults/index.js +32 -6
  8. package/lib/Defaults/index.js.map +1 -1
  9. package/lib/Signal/libsignal.d.ts.map +1 -1
  10. package/lib/Signal/libsignal.js +61 -2
  11. package/lib/Signal/libsignal.js.map +1 -1
  12. package/lib/Signal/lid-mapping.d.ts +5 -9
  13. package/lib/Signal/lid-mapping.d.ts.map +1 -1
  14. package/lib/Signal/lid-mapping.js +170 -70
  15. package/lib/Signal/lid-mapping.js.map +1 -1
  16. package/lib/Socket/Client/websocket.d.ts +1 -1
  17. package/lib/Socket/Client/websocket.d.ts.map +1 -1
  18. package/lib/Socket/Client/websocket.js +5 -1
  19. package/lib/Socket/Client/websocket.js.map +1 -1
  20. package/lib/Socket/business.d.ts +125 -5
  21. package/lib/Socket/business.d.ts.map +1 -1
  22. package/lib/Socket/business.js +11 -8
  23. package/lib/Socket/business.js.map +1 -1
  24. package/lib/Socket/chats.d.ts +22 -3
  25. package/lib/Socket/chats.d.ts.map +1 -1
  26. package/lib/Socket/chats.js +277 -58
  27. package/lib/Socket/chats.js.map +1 -1
  28. package/lib/Socket/communities.d.ts +125 -5
  29. package/lib/Socket/communities.d.ts.map +1 -1
  30. package/lib/Socket/groups.d.ts +19 -3
  31. package/lib/Socket/groups.d.ts.map +1 -1
  32. package/lib/Socket/groups.js +7 -1
  33. package/lib/Socket/groups.js.map +1 -1
  34. package/lib/Socket/index.d.ts +125 -5
  35. package/lib/Socket/index.d.ts.map +1 -1
  36. package/lib/Socket/index.js +0 -6
  37. package/lib/Socket/index.js.map +1 -1
  38. package/lib/Socket/messages-recv.d.ts +126 -6
  39. package/lib/Socket/messages-recv.d.ts.map +1 -1
  40. package/lib/Socket/messages-recv.js +771 -177
  41. package/lib/Socket/messages-recv.js.map +1 -1
  42. package/lib/Socket/messages-send.d.ts +129 -7
  43. package/lib/Socket/messages-send.d.ts.map +1 -1
  44. package/lib/Socket/messages-send.js +430 -119
  45. package/lib/Socket/messages-send.js.map +1 -1
  46. package/lib/Socket/newsletter.d.ts +20 -5
  47. package/lib/Socket/newsletter.d.ts.map +1 -1
  48. package/lib/Socket/newsletter.js +2 -47
  49. package/lib/Socket/newsletter.js.map +1 -1
  50. package/lib/Socket/socket.d.ts +3 -1
  51. package/lib/Socket/socket.d.ts.map +1 -1
  52. package/lib/Socket/socket.js +151 -29
  53. package/lib/Socket/socket.js.map +1 -1
  54. package/lib/Types/Auth.d.ts +2 -0
  55. package/lib/Types/Auth.d.ts.map +1 -1
  56. package/lib/Types/Call.d.ts +10 -1
  57. package/lib/Types/Call.d.ts.map +1 -1
  58. package/lib/Types/Contact.d.ts +2 -0
  59. package/lib/Types/Contact.d.ts.map +1 -1
  60. package/lib/Types/Events.d.ts +60 -6
  61. package/lib/Types/Events.d.ts.map +1 -1
  62. package/lib/Types/GroupMetadata.d.ts +4 -0
  63. package/lib/Types/GroupMetadata.d.ts.map +1 -1
  64. package/lib/Types/Message.d.ts +530 -16
  65. package/lib/Types/Message.d.ts.map +1 -1
  66. package/lib/Types/Message.js.map +1 -1
  67. package/lib/Types/Newsletter.d.ts +32 -45
  68. package/lib/Types/Newsletter.d.ts.map +1 -1
  69. package/lib/Types/Newsletter.js +25 -23
  70. package/lib/Types/Newsletter.js.map +1 -1
  71. package/lib/Types/State.d.ts +54 -0
  72. package/lib/Types/State.d.ts.map +1 -1
  73. package/lib/Types/State.js +42 -0
  74. package/lib/Types/State.js.map +1 -1
  75. package/lib/Types/index.d.ts +9 -0
  76. package/lib/Types/index.d.ts.map +1 -1
  77. package/lib/Types/index.js.map +1 -1
  78. package/lib/Utils/auth-utils.d.ts.map +1 -1
  79. package/lib/Utils/auth-utils.js +53 -20
  80. package/lib/Utils/auth-utils.js.map +1 -1
  81. package/lib/Utils/browser-utils.d.ts +13 -0
  82. package/lib/Utils/browser-utils.d.ts.map +1 -1
  83. package/lib/Utils/browser-utils.js +90 -10
  84. package/lib/Utils/browser-utils.js.map +1 -1
  85. package/lib/Utils/chat-utils.d.ts +30 -0
  86. package/lib/Utils/chat-utils.d.ts.map +1 -1
  87. package/lib/Utils/chat-utils.js +134 -59
  88. package/lib/Utils/chat-utils.js.map +1 -1
  89. package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
  90. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  91. package/lib/Utils/companion-reg-client-utils.js +34 -0
  92. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  93. package/lib/Utils/crypto.d.ts +4 -8
  94. package/lib/Utils/crypto.d.ts.map +1 -1
  95. package/lib/Utils/crypto.js +2 -26
  96. package/lib/Utils/crypto.js.map +1 -1
  97. package/lib/Utils/decode-wa-message.d.ts +12 -0
  98. package/lib/Utils/decode-wa-message.d.ts.map +1 -1
  99. package/lib/Utils/decode-wa-message.js +16 -0
  100. package/lib/Utils/decode-wa-message.js.map +1 -1
  101. package/lib/Utils/event-buffer.d.ts.map +1 -1
  102. package/lib/Utils/event-buffer.js +43 -8
  103. package/lib/Utils/event-buffer.js.map +1 -1
  104. package/lib/Utils/generics.d.ts +3 -1
  105. package/lib/Utils/generics.d.ts.map +1 -1
  106. package/lib/Utils/generics.js +17 -4
  107. package/lib/Utils/generics.js.map +1 -1
  108. package/lib/Utils/history.d.ts +8 -3
  109. package/lib/Utils/history.d.ts.map +1 -1
  110. package/lib/Utils/history.js +60 -16
  111. package/lib/Utils/history.js.map +1 -1
  112. package/lib/Utils/identity-change-handler.d.ts +44 -0
  113. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  114. package/lib/Utils/identity-change-handler.js +50 -0
  115. package/lib/Utils/identity-change-handler.js.map +1 -0
  116. package/lib/Utils/index.d.ts +6 -0
  117. package/lib/Utils/index.d.ts.map +1 -1
  118. package/lib/Utils/index.js +6 -0
  119. package/lib/Utils/index.js.map +1 -1
  120. package/lib/Utils/interactive-message.d.ts +201 -0
  121. package/lib/Utils/interactive-message.d.ts.map +1 -0
  122. package/lib/Utils/interactive-message.js +256 -0
  123. package/lib/Utils/interactive-message.js.map +1 -0
  124. package/lib/Utils/lt-hash.d.ts +7 -12
  125. package/lib/Utils/lt-hash.d.ts.map +1 -1
  126. package/lib/Utils/lt-hash.js +2 -42
  127. package/lib/Utils/lt-hash.js.map +1 -1
  128. package/lib/Utils/make-mutex.d.ts +1 -0
  129. package/lib/Utils/make-mutex.d.ts.map +1 -1
  130. package/lib/Utils/make-mutex.js +20 -27
  131. package/lib/Utils/make-mutex.js.map +1 -1
  132. package/lib/Utils/message-composer.d.ts +5 -0
  133. package/lib/Utils/message-composer.d.ts.map +1 -0
  134. package/lib/Utils/message-composer.js +5 -0
  135. package/lib/Utils/message-composer.js.map +1 -0
  136. package/lib/Utils/message-retry-manager.d.ts +30 -2
  137. package/lib/Utils/message-retry-manager.d.ts.map +1 -1
  138. package/lib/Utils/message-retry-manager.js +58 -5
  139. package/lib/Utils/message-retry-manager.js.map +1 -1
  140. package/lib/Utils/messages-media.d.ts +35 -5
  141. package/lib/Utils/messages-media.d.ts.map +1 -1
  142. package/lib/Utils/messages-media.js +171 -51
  143. package/lib/Utils/messages-media.js.map +1 -1
  144. package/lib/Utils/messages.d.ts +2 -0
  145. package/lib/Utils/messages.d.ts.map +1 -1
  146. package/lib/Utils/messages.js +475 -35
  147. package/lib/Utils/messages.js.map +1 -1
  148. package/lib/Utils/noise-handler.d.ts +4 -4
  149. package/lib/Utils/noise-handler.d.ts.map +1 -1
  150. package/lib/Utils/noise-handler.js +139 -85
  151. package/lib/Utils/noise-handler.js.map +1 -1
  152. package/lib/Utils/offline-node-processor.d.ts +17 -0
  153. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  154. package/lib/Utils/offline-node-processor.js +40 -0
  155. package/lib/Utils/offline-node-processor.js.map +1 -0
  156. package/lib/Utils/process-message.d.ts.map +1 -1
  157. package/lib/Utils/process-message.js +115 -16
  158. package/lib/Utils/process-message.js.map +1 -1
  159. package/lib/Utils/reporting-utils.d.ts +11 -0
  160. package/lib/Utils/reporting-utils.d.ts.map +1 -0
  161. package/lib/Utils/reporting-utils.js +258 -0
  162. package/lib/Utils/reporting-utils.js.map +1 -0
  163. package/lib/Utils/stanza-ack.d.ts +11 -0
  164. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  165. package/lib/Utils/stanza-ack.js +38 -0
  166. package/lib/Utils/stanza-ack.js.map +1 -0
  167. package/lib/Utils/sync-action-utils.d.ts +19 -0
  168. package/lib/Utils/sync-action-utils.d.ts.map +1 -0
  169. package/lib/Utils/sync-action-utils.js +49 -0
  170. package/lib/Utils/sync-action-utils.js.map +1 -0
  171. package/lib/Utils/tc-token-utils.d.ts +37 -0
  172. package/lib/Utils/tc-token-utils.d.ts.map +1 -0
  173. package/lib/Utils/tc-token-utils.js +163 -0
  174. package/lib/Utils/tc-token-utils.js.map +1 -0
  175. package/lib/Utils/use-mongo-file-auth-state.d.ts +16 -0
  176. package/lib/Utils/use-mongo-file-auth-state.d.ts.map +1 -0
  177. package/lib/Utils/use-mongo-file-auth-state.js +60 -0
  178. package/lib/Utils/use-mongo-file-auth-state.js.map +1 -0
  179. package/lib/Utils/use-multi-file-auth-state.js +1 -1
  180. package/lib/Utils/use-multi-file-auth-state.js.map +1 -1
  181. package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -1
  182. package/lib/Utils/use-single-file-auth-state.js.map +1 -1
  183. package/lib/Utils/validate-connection.d.ts.map +1 -1
  184. package/lib/Utils/validate-connection.js +11 -1
  185. package/lib/Utils/validate-connection.js.map +1 -1
  186. package/lib/WABinary/decode.d.ts.map +1 -1
  187. package/lib/WABinary/decode.js +24 -0
  188. package/lib/WABinary/decode.js.map +1 -1
  189. package/lib/WABinary/encode.js +5 -1
  190. package/lib/WABinary/encode.js.map +1 -1
  191. package/lib/WABinary/generic-utils.d.ts +10 -1
  192. package/lib/WABinary/generic-utils.d.ts.map +1 -1
  193. package/lib/WABinary/generic-utils.js +42 -8
  194. package/lib/WABinary/generic-utils.js.map +1 -1
  195. package/lib/WABinary/jid-utils.js.map +1 -1
  196. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -1
  197. package/lib/WAUSync/Protocols/USyncContactProtocol.js +26 -3
  198. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -1
  199. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  200. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  201. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  202. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  203. package/lib/WAUSync/Protocols/index.d.ts +1 -0
  204. package/lib/WAUSync/Protocols/index.d.ts.map +1 -1
  205. package/lib/WAUSync/Protocols/index.js +1 -0
  206. package/lib/WAUSync/Protocols/index.js.map +1 -1
  207. package/lib/WAUSync/USyncQuery.d.ts +1 -0
  208. package/lib/WAUSync/USyncQuery.d.ts.map +1 -1
  209. package/lib/WAUSync/USyncQuery.js +6 -2
  210. package/lib/WAUSync/USyncQuery.js.map +1 -1
  211. package/lib/WAUSync/USyncUser.d.ts +4 -0
  212. package/lib/WAUSync/USyncUser.d.ts.map +1 -1
  213. package/lib/WAUSync/USyncUser.js +8 -0
  214. package/lib/WAUSync/USyncUser.js.map +1 -1
  215. package/lib/addons/anti-delete.d.ts +72 -0
  216. package/lib/addons/anti-delete.d.ts.map +1 -0
  217. package/lib/addons/anti-delete.js +165 -0
  218. package/lib/addons/anti-delete.js.map +1 -0
  219. package/lib/addons/auto-reply.d.ts +67 -0
  220. package/lib/addons/auto-reply.d.ts.map +1 -0
  221. package/lib/addons/auto-reply.js +145 -0
  222. package/lib/addons/auto-reply.js.map +1 -0
  223. package/lib/addons/browser-presets.d.ts +16 -0
  224. package/lib/addons/browser-presets.d.ts.map +1 -0
  225. package/lib/addons/browser-presets.js +24 -0
  226. package/lib/addons/browser-presets.js.map +1 -0
  227. package/lib/addons/button-sender.d.ts +260 -0
  228. package/lib/addons/button-sender.d.ts.map +1 -0
  229. package/lib/addons/button-sender.js +771 -0
  230. package/lib/addons/button-sender.js.map +1 -0
  231. package/lib/addons/call-handler.d.ts +79 -0
  232. package/lib/addons/call-handler.d.ts.map +1 -0
  233. package/lib/addons/call-handler.js +342 -0
  234. package/lib/addons/call-handler.js.map +1 -0
  235. package/lib/addons/from-chats.d.ts +30 -0
  236. package/lib/addons/from-chats.d.ts.map +1 -0
  237. package/lib/addons/from-chats.js +38 -0
  238. package/lib/addons/from-chats.js.map +1 -0
  239. package/lib/addons/from-messages-recv.d.ts +59 -0
  240. package/lib/addons/from-messages-recv.d.ts.map +1 -0
  241. package/lib/addons/from-messages-recv.js +326 -0
  242. package/lib/addons/from-messages-recv.js.map +1 -0
  243. package/lib/addons/from-messages-send.d.ts +50 -0
  244. package/lib/addons/from-messages-send.d.ts.map +1 -0
  245. package/lib/addons/from-messages-send.js +148 -0
  246. package/lib/addons/from-messages-send.js.map +1 -0
  247. package/lib/addons/from-messages.d.ts +52 -0
  248. package/lib/addons/from-messages.d.ts.map +1 -0
  249. package/lib/addons/from-messages.js +304 -0
  250. package/lib/addons/from-messages.js.map +1 -0
  251. package/lib/addons/index.d.ts +67 -0
  252. package/lib/addons/index.d.ts.map +1 -0
  253. package/lib/addons/index.js +86 -0
  254. package/lib/addons/index.js.map +1 -0
  255. package/lib/addons/interactive-message.d.ts +201 -0
  256. package/lib/addons/interactive-message.d.ts.map +1 -0
  257. package/lib/addons/interactive-message.js +256 -0
  258. package/lib/addons/interactive-message.js.map +1 -0
  259. package/lib/addons/jid-plot.d.ts +49 -0
  260. package/lib/addons/jid-plot.d.ts.map +1 -0
  261. package/lib/addons/jid-plot.js +84 -0
  262. package/lib/addons/jid-plot.js.map +1 -0
  263. package/lib/addons/jid-plotting.d.ts +54 -0
  264. package/lib/addons/jid-plotting.d.ts.map +1 -0
  265. package/lib/addons/jid-plotting.js +150 -0
  266. package/lib/addons/jid-plotting.js.map +1 -0
  267. package/lib/addons/lid-support.d.ts +41 -0
  268. package/lib/addons/lid-support.d.ts.map +1 -0
  269. package/lib/addons/lid-support.js +42 -0
  270. package/lib/addons/lid-support.js.map +1 -0
  271. package/lib/addons/message-composer.d.ts +142 -0
  272. package/lib/addons/message-composer.d.ts.map +1 -0
  273. package/lib/addons/message-composer.js +377 -0
  274. package/lib/addons/message-composer.js.map +1 -0
  275. package/lib/addons/message-scheduler.d.ts +77 -0
  276. package/lib/addons/message-scheduler.d.ts.map +1 -0
  277. package/lib/addons/message-scheduler.js +108 -0
  278. package/lib/addons/message-scheduler.js.map +1 -0
  279. package/lib/addons/message-search.d.ts +51 -0
  280. package/lib/addons/message-search.d.ts.map +1 -0
  281. package/lib/addons/message-search.js +171 -0
  282. package/lib/addons/message-search.js.map +1 -0
  283. package/lib/addons/message-utils.d.ts +88 -0
  284. package/lib/addons/message-utils.d.ts.map +1 -0
  285. package/lib/addons/message-utils.js +292 -0
  286. package/lib/addons/message-utils.js.map +1 -0
  287. package/lib/addons/outgoing-calls.d.ts +64 -0
  288. package/lib/addons/outgoing-calls.d.ts.map +1 -0
  289. package/lib/addons/outgoing-calls.js +139 -0
  290. package/lib/addons/outgoing-calls.js.map +1 -0
  291. package/lib/addons/pairing-fix.d.ts +31 -0
  292. package/lib/addons/pairing-fix.d.ts.map +1 -0
  293. package/lib/addons/pairing-fix.js +74 -0
  294. package/lib/addons/pairing-fix.js.map +1 -0
  295. package/lib/addons/past-participants.d.ts +42 -0
  296. package/lib/addons/past-participants.d.ts.map +1 -0
  297. package/lib/addons/past-participants.js +41 -0
  298. package/lib/addons/past-participants.js.map +1 -0
  299. package/lib/addons/rich-response.d.ts +111 -0
  300. package/lib/addons/rich-response.d.ts.map +1 -0
  301. package/lib/addons/rich-response.js +152 -0
  302. package/lib/addons/rich-response.js.map +1 -0
  303. package/lib/addons/scheduling.d.ts +41 -0
  304. package/lib/addons/scheduling.d.ts.map +1 -0
  305. package/lib/addons/scheduling.js +110 -0
  306. package/lib/addons/scheduling.js.map +1 -0
  307. package/lib/addons/status-posting.d.ts +177 -0
  308. package/lib/addons/status-posting.d.ts.map +1 -0
  309. package/lib/addons/status-posting.js +240 -0
  310. package/lib/addons/status-posting.js.map +1 -0
  311. package/lib/addons/stickerpack.d.ts +37 -0
  312. package/lib/addons/stickerpack.d.ts.map +1 -0
  313. package/lib/addons/stickerpack.js +39 -0
  314. package/lib/addons/stickerpack.js.map +1 -0
  315. package/lib/addons/templates.d.ts +72 -0
  316. package/lib/addons/templates.d.ts.map +1 -0
  317. package/lib/addons/templates.js +145 -0
  318. package/lib/addons/templates.js.map +1 -0
  319. package/lib/addons/vcard.d.ts +59 -0
  320. package/lib/addons/vcard.d.ts.map +1 -0
  321. package/lib/addons/vcard.js +88 -0
  322. package/lib/addons/vcard.js.map +1 -0
  323. package/lib/index.d.ts +1 -0
  324. package/lib/index.d.ts.map +1 -1
  325. package/lib/index.js +1 -0
  326. package/lib/index.js.map +1 -1
  327. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"process-message.d.ts","sourceRoot":"","sources":["../../src/Utils/process-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EAQV,6BAA6B,EAC7B,4BAA4B,EAC5B,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,MAAM,UAAU,CAAA;AAiBjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC,KAAK,qBAAqB,GAAG;IAC5B,uBAAuB,EAAE,OAAO,CAAA;IAChC,sBAAsB,CAAC,EAAE,UAAU,CAAA;IACnC,KAAK,EAAE,mBAAmB,CAAA;IAC1B,QAAQ,EAAE,6BAA6B,CAAA;IACvC,EAAE,EAAE,mBAAmB,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,WAAW,CAAA;IACpB,gBAAgB,EAAE,4BAA4B,CAAA;IAC9C,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACtC,CAAA;AAWD,sDAAsD;AACtD,eAAO,MAAM,YAAY,GAAI,SAAS,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,SAiD3E,CAAA;AAGD,eAAO,MAAM,aAAa,GAAI,SAAS,SAAS,YAY/C,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,SAAS,YAAoD,CAAA;AAEhH;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,oCAAoC,YAAY,WAMzE,CAAA;AAED,KAAK,WAAW,GAAG;IAClB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAA;IACtB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,UAAU,EAAE,UAAU,CAAA;IACtB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,YAAY,GAAG;IACnB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAA;IACvB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,qCAAqC;IACrC,WAAW,EAAE,UAAU,CAAA;IACvB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC9B,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,EAClD,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,WAAW,iCAoBhE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,EAClD,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,YAAY,sCAoBxE;AAED,QAAA,MAAM,cAAc,GACnB,SAAS,SAAS,EAClB,yHAUG,qBAAqB,kBAmYxB,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"process-message.d.ts","sourceRoot":"","sources":["../../src/Utils/process-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EAQV,6BAA6B,EAC7B,4BAA4B,EAC5B,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,MAAM,UAAU,CAAA;AAiBjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAGvC,KAAK,qBAAqB,GAAG;IAC5B,uBAAuB,EAAE,OAAO,CAAA;IAChC,sBAAsB,CAAC,EAAE,UAAU,CAAA;IACnC,KAAK,EAAE,mBAAmB,CAAA;IAC1B,QAAQ,EAAE,6BAA6B,CAAA;IACvC,EAAE,EAAE,mBAAmB,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,WAAW,CAAA;IACpB,gBAAgB,EAAE,4BAA4B,CAAA;IAC9C,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACtC,CAAA;AAgED,sDAAsD;AACtD,eAAO,MAAM,YAAY,GAAI,SAAS,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,SAiD3E,CAAA;AAGD,eAAO,MAAM,aAAa,GAAI,SAAS,SAAS,YAY/C,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,SAAS,YAAoD,CAAA;AAEhH;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,oCAAoC,YAAY,WAMzE,CAAA;AAED,KAAK,WAAW,GAAG;IAClB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAA;IACtB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,UAAU,EAAE,UAAU,CAAA;IACtB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,YAAY,GAAG;IACnB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAA;IACvB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,qCAAqC;IACrC,WAAW,EAAE,UAAU,CAAA;IACvB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC9B,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,EAClD,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,WAAW,iCAoBhE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,EAClD,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,YAAY,sCAoBxE;AAED,QAAA,MAAM,cAAc,GACnB,SAAS,SAAS,EAClB,yHAUG,qBAAqB,kBAicxB,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -5,6 +5,51 @@ import { areJidsSameUser, isHostedLidUser, isHostedPnUser, isJidBroadcast, isJid
5
5
  import { aesDecryptGCM, hmacSign } from './crypto.js';
6
6
  import { getKeyAuthor, toNumber } from './generics.js';
7
7
  import { downloadAndProcessHistorySyncNotification } from './history.js';
8
+ import { buildMergedTcTokenIndexWrite, resolveTcTokenJid } from './tc-token-utils.js';
9
+ async function storeTcTokensFromHistorySync(chats, signalRepository, keyStore, logger) {
10
+ const getLIDForPN = signalRepository.lidMapping.getLIDForPN.bind(signalRepository.lidMapping);
11
+ const candidates = [];
12
+ for (const chat of chats) {
13
+ const ts = chat.tcTokenTimestamp ? toNumber(chat.tcTokenTimestamp) : 0;
14
+ if (chat.tcToken?.length && ts > 0) {
15
+ const jid = jidNormalizedUser(chat.id);
16
+ const storageJid = await resolveTcTokenJid(jid, getLIDForPN);
17
+ candidates.push({
18
+ storageJid,
19
+ token: Buffer.from(chat.tcToken),
20
+ ts,
21
+ senderTs: chat.tcTokenSenderTimestamp ? toNumber(chat.tcTokenSenderTimestamp) : undefined
22
+ });
23
+ }
24
+ }
25
+ if (!candidates.length)
26
+ return;
27
+ const jids = candidates.map(c => c.storageJid);
28
+ const existing = await keyStore.get('tctoken', jids);
29
+ const entries = {};
30
+ for (const c of candidates) {
31
+ const existingEntry = existing[c.storageJid];
32
+ const existingTs = existingEntry?.timestamp ? Number(existingEntry.timestamp) : 0;
33
+ if (existingTs > 0 && existingTs >= c.ts)
34
+ continue;
35
+ entries[c.storageJid] = {
36
+ ...existingEntry,
37
+ token: c.token,
38
+ timestamp: String(c.ts),
39
+ ...(c.senderTs !== undefined ? { senderTimestamp: c.senderTs } : {})
40
+ };
41
+ }
42
+ if (Object.keys(entries).length) {
43
+ logger?.debug({ count: Object.keys(entries).length }, 'storing tctokens from history sync');
44
+ try {
45
+ const indexWrite = await buildMergedTcTokenIndexWrite(keyStore, Object.keys(entries));
46
+ await keyStore.set({ tctoken: { ...entries, ...indexWrite } });
47
+ }
48
+ catch (err) {
49
+ logger?.warn({ err }, 'failed to store tctokens from history sync');
50
+ }
51
+ }
52
+ }
8
53
  const REAL_MSG_STUB_TYPES = new Set([
9
54
  WAMessageStubType.CALL_MISSED_GROUP_VIDEO,
10
55
  WAMessageStubType.CALL_MISSED_GROUP_VOICE,
@@ -167,12 +212,21 @@ const processMessage = async (message, { shouldProcessHistoryMsg, placeholderRes
167
212
  ]
168
213
  });
169
214
  }
170
- const data = await downloadAndProcessHistorySyncNotification(histNotification, options);
215
+ const data = await downloadAndProcessHistorySyncNotification(histNotification, options, logger);
216
+ if (data.lidPnMappings?.length) {
217
+ logger?.debug({ count: data.lidPnMappings.length }, 'processing LID-PN mappings from history sync');
218
+ await signalRepository.lidMapping
219
+ .storeLIDPNMappings(data.lidPnMappings)
220
+ .catch(err => logger?.warn({ err }, 'failed to store LID-PN mappings from history sync'));
221
+ }
171
222
  ev.emit('messaging-history.set', {
172
223
  ...data,
173
224
  isLatest: histNotification.syncType !== proto.HistorySync.HistorySyncType.ON_DEMAND ? isLatest : undefined,
174
- peerDataRequestSessionId: histNotification.peerDataRequestSessionId
225
+ peerDataRequestSessionId: histNotification.peerDataRequestSessionId,
226
+ chunkOrder: histNotification.chunkOrder
175
227
  });
228
+ // Store tctokens from history sync chats (fire-and-forget)
229
+ storeTcTokensFromHistorySync(data.chats, signalRepository, keyStore, logger).catch(err => logger?.warn({ err }, 'failed to process tctokens from history sync'));
176
230
  }
177
231
  break;
178
232
  case proto.Message.ProtocolMessage.Type.APP_STATE_SYNC_KEY_SHARE:
@@ -215,23 +269,48 @@ const processMessage = async (message, { shouldProcessHistoryMsg, placeholderRes
215
269
  case proto.Message.ProtocolMessage.Type.PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE:
216
270
  const response = protocolMsg.peerDataOperationRequestResponseMessage;
217
271
  if (response) {
218
- await placeholderResendCache?.del(response.stanzaId);
219
272
  // TODO: IMPLEMENT HISTORY SYNC ETC (sticker uploads etc.).
220
- const { peerDataOperationResult } = response;
273
+ const peerDataOperationResult = response.peerDataOperationResult || [];
221
274
  for (const result of peerDataOperationResult) {
222
- const { placeholderMessageResendResponse: retryResponse } = result;
275
+ const retryResponse = result?.placeholderMessageResendResponse;
223
276
  //eslint-disable-next-line max-depth
224
- if (retryResponse) {
277
+ if (!retryResponse?.webMessageInfoBytes) {
278
+ continue;
279
+ }
280
+ //eslint-disable-next-line max-depth
281
+ try {
225
282
  const webMessageInfo = proto.WebMessageInfo.decode(retryResponse.webMessageInfoBytes);
226
- // wait till another upsert event is available, don't want it to be part of the PDO response message
227
- // TODO: parse through proper message handling utilities (to add relevant key fields)
228
- setTimeout(() => {
229
- ev.emit('messages.upsert', {
230
- messages: [webMessageInfo],
231
- type: 'notify',
232
- requestId: response.stanzaId
233
- });
234
- }, 500);
283
+ const msgId = webMessageInfo.key?.id;
284
+ // Retrieve cached original message data (preserves LID details,
285
+ // timestamps, etc. that the phone may omit in its PDO response)
286
+ const cachedData = msgId ? await placeholderResendCache?.get(msgId) : undefined;
287
+ //eslint-disable-next-line max-depth
288
+ if (msgId) {
289
+ await placeholderResendCache?.del(msgId);
290
+ }
291
+ let finalMsg;
292
+ //eslint-disable-next-line max-depth
293
+ if (cachedData && typeof cachedData === 'object') {
294
+ // Apply decoded message content onto cached metadata (preserves LID etc.)
295
+ cachedData.message = webMessageInfo.message;
296
+ //eslint-disable-next-line max-depth
297
+ if (webMessageInfo.messageTimestamp) {
298
+ cachedData.messageTimestamp = webMessageInfo.messageTimestamp;
299
+ }
300
+ finalMsg = cachedData;
301
+ }
302
+ else {
303
+ finalMsg = webMessageInfo;
304
+ }
305
+ logger?.debug({ msgId, requestId: response.stanzaId }, 'received placeholder resend');
306
+ ev.emit('messages.upsert', {
307
+ messages: [finalMsg],
308
+ type: 'notify',
309
+ requestId: response.stanzaId
310
+ });
311
+ }
312
+ catch (err) {
313
+ logger?.warn({ err, stanzaId: response.stanzaId }, 'failed to decode placeholder resend response');
235
314
  }
236
315
  }
237
316
  }
@@ -254,6 +333,18 @@ const processMessage = async (message, { shouldProcessHistoryMsg, placeholderRes
254
333
  }
255
334
  ]);
256
335
  break;
336
+ case proto.Message.ProtocolMessage.Type.GROUP_MEMBER_LABEL_CHANGE:
337
+ const labelAssociationMsg = protocolMsg.memberLabel;
338
+ if (labelAssociationMsg?.label) {
339
+ ev.emit('group.member-tag.update', {
340
+ groupId: chat.id,
341
+ label: labelAssociationMsg.label,
342
+ participant: message.key.participant,
343
+ participantAlt: message.key.participantAlt,
344
+ messageTimestamp: Number(message.messageTimestamp)
345
+ });
346
+ }
347
+ break;
257
348
  case proto.Message.ProtocolMessage.Type.LID_MIGRATION_MAPPING_SYNC:
258
349
  const encodedPayload = protocolMsg.lidMigrationMappingSyncMessage?.encodedMappingPayload;
259
350
  const { pnToLidMappings, chatDbMigrationTimestamp } = proto.LIDMigrationMappingSyncPayload.decode(encodedPayload);
@@ -340,12 +431,19 @@ const processMessage = async (message, { shouldProcessHistoryMsg, placeholderRes
340
431
  id: jid,
341
432
  author: message.key.participant,
342
433
  authorPn: message.key.participantAlt,
434
+ authorUsername: message.key.participantUsername,
343
435
  participants,
344
436
  action
345
437
  });
346
438
  const emitGroupUpdate = (update) => {
347
439
  ev.emit('groups.update', [
348
- { id: jid, ...update, author: message.key.participant ?? undefined, authorPn: message.key.participantAlt }
440
+ {
441
+ id: jid,
442
+ ...update,
443
+ author: message.key.participant ?? undefined,
444
+ authorPn: message.key.participantAlt,
445
+ authorUsername: message.key.participantUsername
446
+ }
349
447
  ]);
350
448
  };
351
449
  const emitGroupRequestJoin = (participant, action, method) => {
@@ -353,6 +451,7 @@ const processMessage = async (message, { shouldProcessHistoryMsg, placeholderRes
353
451
  id: jid,
354
452
  author: message.key.participant,
355
453
  authorPn: message.key.participantAlt,
454
+ authorUsername: message.key.participantUsername,
356
455
  participant: participant.lid,
357
456
  participantPn: participant.pn,
358
457
  action,
@@ -1 +1 @@
1
- {"version":3,"file":"process-message.js","sourceRoot":"","sources":["../../src/Utils/process-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAkB9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EACN,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,yCAAyC,EAAE,MAAM,WAAW,CAAA;AAerE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACnC,iBAAiB,CAAC,uBAAuB;IACzC,iBAAiB,CAAC,uBAAuB;IACzC,iBAAiB,CAAC,iBAAiB;IACnC,iBAAiB,CAAC,iBAAiB;CACnC,CAAC,CAAA;AAEF,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAErF,sDAAsD;AACtD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAkB,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE;IAC/E,sEAAsE;IACtE,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,SAAU,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,SAAU,CAAC,EAAE,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAChC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,SAAU,CAAC,EAAE,IAAK,EACzC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CACjE,CAAA;IACF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,SAAU,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,WAAY,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,WAAY,CAAC,EAAE,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAClC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,WAAY,CAAC,EAAE,IAAK,EAC1C,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,WAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CACnE,CAAA;IACF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,WAAY,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACxD,oFAAoF;IACpF,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;QAC9B,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,GAAI,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAChC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,sBAAuB,CAAC,CAAA;IAChE,CAAC;IAED,SAAS,YAAY,CAAC,MAAoB;QACzC,uCAAuC;QACvC,4DAA4D;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACzB,uEAAuE;YACvE,sEAAsE;YACtE,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM;gBAC7B,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAU,EAAE,IAAI,CAAC;oBAC/D,eAAe,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAU,EAAE,KAAK,CAAC;gBAChE,CAAC,CAAC,iDAAiD;oBAClD,qCAAqC;oBACrC,KAAK,CAAA;YACP,wEAAwE;YACxE,oCAAoC;YACpC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAA;YACxC,iCAAiC;YACjC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAA;QACnE,CAAC;IACF,CAAC;AACF,CAAC,CAAA;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAkB,EAAE,EAAE;IACnD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC1D,OAAO,CACN,CAAC,CAAC,CAAC,iBAAiB;QACnB,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAgB,CAAC;QACjD,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,eAAgB,CAAC,CAAC;QAC1D,cAAc;QACd,CAAC,iBAAiB,EAAE,eAAe;QACnC,CAAC,iBAAiB,EAAE,eAAe;QACnC,CAAC,iBAAiB,EAAE,iBAAiB,CACrC,CAAA;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAA;AAEhH;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAgB,EAAE,EAAE;IAC7E,IAAI,cAAc,CAAC,SAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChF,OAAO,WAAY,CAAA;IACpB,CAAC;IAED,OAAO,SAAU,CAAA;AAClB,CAAC,CAAA;AAwBD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC9B,EAAE,UAAU,EAAE,KAAK,EAA+B,EAClD,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAe;IAEhE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,CAAC;QACnB,QAAQ,CAAC,cAAc,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC;QAClB,QAAQ,CAAC,WAAW,CAAC;QACrB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACnB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,SAAS,SAAS,QAAQ,EAAE,CAAC,CAAA;IAErD,MAAM,SAAS,GAAG,aAAa,CAAC,UAAW,EAAE,MAAM,EAAE,KAAM,EAAE,GAAG,CAAC,CAAA;IACjE,OAAO,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAEtD,SAAS,QAAQ,CAAC,GAAW;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CACnC,EAAE,UAAU,EAAE,KAAK,EAA+B,EAClD,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAgB;IAExE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,CAAC;QACpB,QAAQ,CAAC,eAAe,CAAC;QACzB,QAAQ,CAAC,YAAY,CAAC;QACtB,QAAQ,CAAC,gBAAgB,CAAC;QAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACnB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,UAAU,SAAS,YAAY,EAAE,CAAC,CAAA;IAE1D,MAAM,SAAS,GAAG,aAAa,CAAC,UAAW,EAAE,MAAM,EAAE,KAAM,EAAE,GAAG,CAAC,CAAA;IACjE,OAAO,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAE3D,SAAS,QAAQ,CAAC,GAAW;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;AACF,CAAC;AAED,MAAM,cAAc,GAAG,KAAK,EAC3B,OAAkB,EAClB,EACC,uBAAuB,EACvB,sBAAsB,EACtB,EAAE,EACF,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACa,EACvB,EAAE;IACH,MAAM,IAAI,GAAG,KAAK,CAAC,EAAG,CAAC,EAAE,CAAA;IACzB,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAA;IAEjC,MAAM,IAAI,GAAkB,EAAE,EAAE,EAAE,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAA;IAC7E,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAExC,IAAI,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC/D,wEAAwE;QACxE,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC/C,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAExD,2EAA2E;IAC3E,2CAA2C;IAC3C,IAAI,CAAC,SAAS,IAAI,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,eAAe,EAAE,cAAc,EAAE,CAAC;QAC7F,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,EAAE,eAAe,CAAA;IAC5C,IAAI,WAAW,EAAE,CAAC;QACjB,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;YAC1B,KAAK,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,yBAAyB;gBAChE,MAAM,gBAAgB,GAAG,WAAW,CAAC,uBAAwB,CAAA;gBAC7D,MAAM,OAAO,GAAG,uBAAuB,CAAA;gBACvC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAA;gBAExD,MAAM,EAAE,IAAI,CACX;oBACC,gBAAgB;oBAChB,OAAO;oBACP,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;oBAClB,QAAQ;iBACR,EACD,0BAA0B,CAC1B,CAAA;gBAED,IAAI,OAAO,EAAE,CAAC;oBACb,oBAAoB;oBACpB,IAAI,gBAAgB,CAAC,QAAQ,KAAK,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;wBAC/E,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;4BACvB,wBAAwB,EAAE;gCACzB,GAAG,CAAC,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC;gCACzC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;6BAChE;yBACD,CAAC,CAAA;oBACH,CAAC;oBAED,MAAM,IAAI,GAAG,MAAM,yCAAyC,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;oBAEvF,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE;wBAChC,GAAG,IAAI;wBACP,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,KAAK,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;wBAC1G,wBAAwB,EAAE,gBAAgB,CAAC,wBAAwB;qBACnE,CAAC,CAAA;gBACH,CAAC;gBAED,MAAK;YACN,KAAK,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,wBAAwB;gBAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,oBAAqB,CAAC,IAAI,CAAA;gBACnD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;oBAClB,IAAI,oBAAoB,GAAG,EAAE,CAAA;oBAC7B,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;wBACrC,MAAM,OAAO,GAAa,EAAE,CAAA;wBAC5B,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;4BACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;4BAC9D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;4BAEtB,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAQ,EAAE,EAAE,CAAC,CAAA;4BAEtE,oBAAoB,GAAG,QAAQ,CAAA;wBAChC,CAAC;wBAED,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,EAAE,OAAO,EAAE,EAAE,mCAAmC,CAAC,CAAA;oBACrF,CAAC,EAAE,IAAI,CAAC,CAAA;oBAER,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC,CAAA;gBACnE,CAAC;qBAAM,CAAC;oBACP,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,iCAAiC,CAAC,CAAA;gBACjE,CAAC;gBAED,MAAK;YACN,KAAK,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM;gBAC7C,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC1B;wBACC,GAAG,EAAE;4BACJ,GAAG,OAAO,CAAC,GAAG;4BACd,EAAE,EAAE,WAAW,CAAC,GAAI,CAAC,EAAE;yBACvB;wBACD,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;qBACtF;iBACD,CAAC,CAAA;gBACF,MAAK;YACN,KAAK,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB;gBACxD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;oBACnB,yBAAyB,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC7D,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,IAAI,IAAI;iBAC5D,CAAC,CAAA;gBACF,MAAK;YACN,KAAK,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,4CAA4C;gBACnF,MAAM,QAAQ,GAAG,WAAW,CAAC,uCAAwC,CAAA;gBACrE,IAAI,QAAQ,EAAE,CAAC;oBACd,MAAM,sBAAsB,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAS,CAAC,CAAA;oBACrD,2DAA2D;oBAC3D,MAAM,EAAE,uBAAuB,EAAE,GAAG,QAAQ,CAAA;oBAC5C,KAAK,MAAM,MAAM,IAAI,uBAAwB,EAAE,CAAC;wBAC/C,MAAM,EAAE,gCAAgC,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;wBAClE,oCAAoC;wBACpC,IAAI,aAAa,EAAE,CAAC;4BACnB,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAoB,CAAC,CAAA;4BACtF,oGAAoG;4BACpG,qFAAqF;4BACrF,UAAU,CAAC,GAAG,EAAE;gCACf,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;oCAC1B,QAAQ,EAAE,CAAC,cAA2B,CAAC;oCACvC,IAAI,EAAE,QAAQ;oCACd,SAAS,EAAE,QAAQ,CAAC,QAAS;iCAC7B,CAAC,CAAA;4BACH,CAAC,EAAE,GAAG,CAAC,CAAA;wBACR,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,MAAK;YACN,KAAK,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY;gBACnD,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC1B;wBACC,uFAAuF;wBACvF,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE;wBAChD,MAAM,EAAE;4BACP,OAAO,EAAE;gCACR,aAAa,EAAE;oCACd,OAAO,EAAE,WAAW,CAAC,aAAa;iCAClC;6BACD;4BACD,gBAAgB,EAAE,WAAW,CAAC,WAAW;gCACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;gCACtD,CAAC,CAAC,OAAO,CAAC,gBAAgB;yBAC3B;qBACD;iBACD,CAAC,CAAA;gBACF,MAAK;YACN,KAAK,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,0BAA0B;gBACjE,MAAM,cAAc,GAAG,WAAW,CAAC,8BAA8B,EAAE,qBAAsB,CAAA;gBACzF,MAAM,EAAE,eAAe,EAAE,wBAAwB,EAAE,GAClD,KAAK,CAAC,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;gBAC5D,MAAM,EAAE,KAAK,CAAC,EAAE,eAAe,EAAE,wBAAwB,EAAE,EAAE,kDAAkD,CAAC,CAAA;gBAChH,MAAM,KAAK,GAAG,EAAE,CAAA;gBAChB,KAAK,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,SAAS,IAAI,WAAW,CAAA;oBACpC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAA;gBAC9D,CAAC;gBAED,MAAM,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBAC3D,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClB,KAAK,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC;wBACjC,MAAM,gBAAgB,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;oBAC/C,CAAC;gBACF,CAAC;QACH,CAAC;IACF,CAAC;SAAM,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAoB;YACjC,GAAG,OAAO,CAAC,eAAe;YAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;SAChB,CAAA;QACD,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC5B;gBACC,QAAQ;gBACR,GAAG,EAAE,OAAO,CAAC,eAAe,EAAE,GAAI;aAClC;SACD,CAAC,CAAA;IACH,CAAC;SAAM,IAAI,OAAO,EAAE,uBAAuB,EAAE,CAAC;QAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAA;QACxD,MAAM,cAAc,GAAG,gBAAgB,CAAC,uBAAwB,CAAA;QAEhE,uEAAuE;QACvE,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,CAAA;QACjD,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC;gBACJ,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;gBAE9C,yBAAyB;gBACzB,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,SAAU,CAAA;gBAC/E,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC;oBAChD,CAAC,CAAC,MAAM,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC;oBAChE,CAAC,CAAC,eAAe,CAAA;gBAClB,MAAM,eAAe,GAAG,YAAY,CACnC,EAAE,SAAS,EAAE,iBAAiB,CAAC,cAAe,CAAC,EAAE,MAAM,EAAE,cAAc,KAAK,cAAc,EAAE,EAC5F,cAAc,CACd,CAAA;gBAED,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;gBAC9D,MAAM,WAAW,GAAG,QAAQ,EAAE,kBAAkB,EAAE,aAAa,CAAA;gBAE/D,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClB,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,sDAAsD,CAAC,CAAA;gBACzF,CAAC;qBAAM,CAAC;oBACP,MAAM,WAAW,GAAG,oBAAoB,CAAC,gBAAgB,EAAE;wBAC1D,WAAW;wBACX,eAAe;wBACf,UAAU,EAAE,cAAc,CAAC,EAAG;wBAC9B,YAAY;qBACZ,CAAC,CAAA;oBAEF,MAAM,aAAa,GAAG;wBACrB,uBAAuB,EAAE,OAAO,CAAC,GAAG;wBACpC,iBAAiB,EAAE,WAAW,CAAC,WAAY;wBAC3C,QAAQ,EAAE,WAAW;qBACrB,CAAA;oBAED,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBAC1B;4BACC,GAAG,EAAE,cAAc;4BACnB,MAAM,EAAE;gCACP,cAAc,EAAE,CAAC,aAAa,CAAC;6BAC/B;yBACD;qBACD,CAAC,CAAA;gBACH,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,kCAAkC,CAAC,CAAA;YAC1E,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,2DAA2D,CAAC,CAAA;QAC9F,CAAC;IACF,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,SAAU,CAAA;QACnC,8CAA8C;QAC9C,IAAI,YAAgC,CAAA;QACpC,MAAM,sBAAsB,GAAG,CAAC,MAAyB,EAAE,EAAE,CAC5D,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACpC,EAAE,EAAE,GAAG;YACP,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAY;YAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAe;YACrC,YAAY;YACZ,MAAM;SACN,CAAC,CAAA;QACH,MAAM,eAAe,GAAG,CAAC,MAA8B,EAAE,EAAE;YAC1D,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;gBACxB,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;aAC1G,CAAC,CAAA;QACH,CAAC,CAAA;QAED,MAAM,oBAAoB,GAAG,CAAC,WAAuB,EAAE,MAAyB,EAAE,MAAyB,EAAE,EAAE;YAC9G,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,EAAE,EAAE,GAAG;gBACP,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAY;gBAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAe;gBACrC,WAAW,EAAE,WAAW,CAAC,GAAG;gBAC5B,aAAa,EAAE,WAAW,CAAC,EAAE;gBAC7B,MAAM;gBACN,MAAM,EAAE,MAAO;aACf,CAAC,CAAA;QACH,CAAC,CAAA;QAED,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA,CAAC,sBAAsB;QAE5H,QAAQ,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,KAAK,iBAAiB,CAAC,+BAA+B;gBACrD,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC3F,sBAAsB,CAAC,QAAQ,CAAC,CAAA;gBAChC,MAAK;YACN,KAAK,iBAAiB,CAAC,uBAAuB,CAAC;YAC/C,KAAK,iBAAiB,CAAC,wBAAwB;gBAC9C,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC3F,sBAAsB,CAAC,QAAQ,CAAC,CAAA;gBAChC,gDAAgD;gBAChD,IAAI,sBAAsB,EAAE,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACrB,CAAC;gBAED,MAAK;YACN,KAAK,iBAAiB,CAAC,qBAAqB,CAAC;YAC7C,KAAK,iBAAiB,CAAC,wBAAwB,CAAC;YAChD,KAAK,iBAAiB,CAAC,kCAAkC;gBACxD,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC3F,IAAI,sBAAsB,EAAE,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;gBACtB,CAAC;gBAED,sBAAsB,CAAC,KAAK,CAAC,CAAA;gBAC7B,MAAK;YACN,KAAK,iBAAiB,CAAC,wBAAwB;gBAC9C,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC3F,sBAAsB,CAAC,QAAQ,CAAC,CAAA;gBAChC,MAAK;YACN,KAAK,iBAAiB,CAAC,yBAAyB;gBAC/C,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC3F,sBAAsB,CAAC,SAAS,CAAC,CAAA;gBACjC,MAAK;YACN,KAAK,iBAAiB,CAAC,qBAAqB;gBAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAA;gBACxD,eAAe,CAAC,EAAE,QAAQ,EAAE,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC,CAAA;gBACjF,MAAK;YACN,KAAK,iBAAiB,CAAC,qBAAqB;gBAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAA;gBACxD,eAAe,CAAC,EAAE,QAAQ,EAAE,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC,CAAA;gBACjF,MAAK;YACN,KAAK,iBAAiB,CAAC,oBAAoB;gBAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;gBAChB,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAClC,MAAK;YACN,KAAK,iBAAiB,CAAC,wBAAwB;gBAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAA;gBACtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;gBAC9B,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;gBACtC,MAAK;YACN,KAAK,iBAAiB,CAAC,wBAAwB;gBAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC/C,eAAe,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;gBACrC,MAAK;YACN,KAAK,iBAAiB,CAAC,qBAAqB;gBAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAA;gBACzD,eAAe,CAAC,EAAE,aAAa,EAAE,cAAc,KAAK,gBAAgB,EAAE,CAAC,CAAA;gBACvE,MAAK;YACN,KAAK,iBAAiB,CAAC,mCAAmC;gBACzD,MAAM,YAAY,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAA;gBACvD,eAAe,CAAC,EAAE,gBAAgB,EAAE,YAAY,KAAK,IAAI,EAAE,CAAC,CAAA;gBAC5D,MAAK;YACN,KAAK,iBAAiB,CAAC,oDAAoD,EAAE,yBAAyB;gBACrG,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAe,CAAA;gBAChF,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAsB,CAAA;gBACtE,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAsB,CAAA;gBACtE,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;gBACjD,MAAK;QACP,CAAC;IACF,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAgDG;IAEL,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAChC,CAAC;AACF,CAAC,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"process-message.js","sourceRoot":"","sources":["../../src/Utils/process-message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { proto } from '../../WAProto/index.js';
2
+ import type { WAMessageContent, WAMessageKey } from '../Types/index.js';
3
+ import type { BinaryNode } from '../WABinary/index.js';
4
+ export type ReportingField = {
5
+ f: number;
6
+ m?: boolean;
7
+ s?: ReportingField[];
8
+ };
9
+ export declare const shouldIncludeReportingToken: (message: proto.IMessage) => boolean;
10
+ export declare const getMessageReportingToken: (msgProtobuf: Buffer, message: WAMessageContent, key: WAMessageKey) => Promise<BinaryNode | null>;
11
+ //# sourceMappingURL=reporting-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting-utils.d.ts","sourceRoot":"","sources":["../../src/Utils/reporting-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAG7C,MAAM,MAAM,cAAc,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,CAAC,EAAE,OAAO,CAAA;IACX,CAAC,CAAC,EAAE,cAAc,EAAE,CAAA;CACpB,CAAA;AAwFD,eAAO,MAAM,2BAA2B,GAAI,SAAS,KAAK,CAAC,QAAQ,KAAG,OAI3C,CAAA;AAgN3B,eAAO,MAAM,wBAAwB,GACpC,aAAa,MAAM,EACnB,SAAS,gBAAgB,EACzB,KAAK,YAAY,KACf,OAAO,CAAC,UAAU,GAAG,IAAI,CA6B3B,CAAA"}
@@ -0,0 +1,258 @@
1
+ import { createHmac } from 'crypto';
2
+ import { proto } from '../../WAProto/index.js';
3
+ import { hkdf } from './crypto.js';
4
+ const reportingFields = [
5
+ { f: 1 },
6
+ {
7
+ f: 3,
8
+ s: [{ f: 2 }, { f: 3 }, { f: 8 }, { f: 11 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 25 }]
9
+ },
10
+ { f: 4, s: [{ f: 1 }, { f: 16 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }] },
11
+ { f: 5, s: [{ f: 3 }, { f: 4 }, { f: 5 }, { f: 16 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }] },
12
+ { f: 6, s: [{ f: 1 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 30 }] },
13
+ { f: 7, s: [{ f: 2 }, { f: 7 }, { f: 10 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 20 }] },
14
+ { f: 8, s: [{ f: 2 }, { f: 7 }, { f: 9 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 21 }] },
15
+ { f: 9, s: [{ f: 2 }, { f: 6 }, { f: 7 }, { f: 13 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 20 }] },
16
+ { f: 12, s: [{ f: 1 }, { f: 2 }, { f: 14, m: true }, { f: 15 }] },
17
+ { f: 18, s: [{ f: 6 }, { f: 16 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }] },
18
+ { f: 26, s: [{ f: 4 }, { f: 5 }, { f: 8 }, { f: 13 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }] },
19
+ { f: 28, s: [{ f: 1 }, { f: 2 }, { f: 4 }, { f: 5 }, { f: 6 }, { f: 7, s: [{ f: 21 }, { f: 22 }] }] },
20
+ { f: 37, s: [{ f: 1, m: true }] },
21
+ {
22
+ f: 49,
23
+ s: [
24
+ { f: 2 },
25
+ { f: 3, s: [{ f: 1 }, { f: 2 }] },
26
+ { f: 5, s: [{ f: 21 }, { f: 22 }] },
27
+ { f: 8, s: [{ f: 1 }, { f: 2 }] }
28
+ ]
29
+ },
30
+ { f: 53, s: [{ f: 1, m: true }] },
31
+ { f: 55, s: [{ f: 1, m: true }] },
32
+ { f: 58, s: [{ f: 1, m: true }] },
33
+ { f: 59, s: [{ f: 1, m: true }] },
34
+ {
35
+ f: 60,
36
+ s: [
37
+ { f: 2 },
38
+ { f: 3, s: [{ f: 1 }, { f: 2 }] },
39
+ { f: 5, s: [{ f: 21 }, { f: 22 }] },
40
+ { f: 8, s: [{ f: 1 }, { f: 2 }] }
41
+ ]
42
+ },
43
+ {
44
+ f: 64,
45
+ s: [
46
+ { f: 2 },
47
+ { f: 3, s: [{ f: 1 }, { f: 2 }] },
48
+ { f: 5, s: [{ f: 21 }, { f: 22 }] },
49
+ { f: 8, s: [{ f: 1 }, { f: 2 }] }
50
+ ]
51
+ },
52
+ { f: 66, s: [{ f: 2 }, { f: 6 }, { f: 7 }, { f: 13 }, { f: 17, s: [{ f: 21 }, { f: 22 }] }, { f: 20 }] },
53
+ { f: 74, s: [{ f: 1, m: true }] },
54
+ { f: 87, s: [{ f: 1, m: true }] },
55
+ { f: 88, s: [{ f: 1 }, { f: 2, s: [{ f: 1 }] }, { f: 3, s: [{ f: 21 }, { f: 22 }] }] },
56
+ { f: 92, s: [{ f: 1, m: true }] },
57
+ { f: 93, s: [{ f: 1, m: true }] },
58
+ { f: 94, s: [{ f: 1, m: true }] }
59
+ ];
60
+ const compileReportingFields = (fields) => {
61
+ const map = new Map();
62
+ for (const f of fields) {
63
+ map.set(f.f, {
64
+ m: f.m,
65
+ children: f.s ? compileReportingFields(f.s) : undefined
66
+ });
67
+ }
68
+ return map;
69
+ };
70
+ const compiledReportingFields = compileReportingFields(reportingFields);
71
+ const EMPTY_MAP = new Map();
72
+ const ENC_SECRET_REPORT_TOKEN = 'Report Token';
73
+ const WIRE = {
74
+ VARINT: 0,
75
+ FIXED64: 1,
76
+ BYTES: 2,
77
+ FIXED32: 5
78
+ };
79
+ export const shouldIncludeReportingToken = (message) => !message.reactionMessage &&
80
+ !message.encReactionMessage &&
81
+ !message.encEventResponseMessage &&
82
+ !message.pollUpdateMessage;
83
+ const generateMsgSecretKey = (modificationType, origMsgId, origMsgSender, modificationSender, origMsgSecret) => {
84
+ const useCaseSecret = Buffer.concat([
85
+ Buffer.from(origMsgId, 'utf8'),
86
+ Buffer.from(origMsgSender, 'utf8'),
87
+ Buffer.from(modificationSender, 'utf8'),
88
+ Buffer.from(modificationType, 'utf8')
89
+ ]);
90
+ return hkdf(origMsgSecret, 32, { info: useCaseSecret.toString('latin1') });
91
+ };
92
+ const extractReportingTokenContent = (data, cfg) => {
93
+ const out = [];
94
+ let i = 0;
95
+ while (i < data.length) {
96
+ const tag = decodeVarint(data, i);
97
+ if (!tag.ok) {
98
+ return null;
99
+ }
100
+ const fieldNum = tag.value >> 3;
101
+ const wireType = tag.value & 0x7;
102
+ const fieldStart = i;
103
+ i += tag.bytes;
104
+ const fieldCfg = cfg.get(fieldNum);
105
+ const pushSlice = (end) => {
106
+ if (end > data.length) {
107
+ return false;
108
+ }
109
+ out.push({ num: fieldNum, bytes: data.subarray(fieldStart, end) });
110
+ i = end;
111
+ return true;
112
+ };
113
+ const skip = (end) => {
114
+ if (end > data.length) {
115
+ return false;
116
+ }
117
+ i = end;
118
+ return true;
119
+ };
120
+ if (wireType === WIRE.VARINT) {
121
+ const v = decodeVarint(data, i);
122
+ if (!v.ok) {
123
+ return null;
124
+ }
125
+ const end = i + v.bytes;
126
+ if (!fieldCfg) {
127
+ if (!skip(end)) {
128
+ return null;
129
+ }
130
+ continue;
131
+ }
132
+ if (!pushSlice(end)) {
133
+ return null;
134
+ }
135
+ continue;
136
+ }
137
+ if (wireType === WIRE.FIXED64) {
138
+ const end = i + 8;
139
+ if (!fieldCfg) {
140
+ if (!skip(end)) {
141
+ return null;
142
+ }
143
+ continue;
144
+ }
145
+ if (!pushSlice(end)) {
146
+ return null;
147
+ }
148
+ continue;
149
+ }
150
+ if (wireType === WIRE.FIXED32) {
151
+ const end = i + 4;
152
+ if (!fieldCfg) {
153
+ if (!skip(end)) {
154
+ return null;
155
+ }
156
+ continue;
157
+ }
158
+ if (!pushSlice(end)) {
159
+ return null;
160
+ }
161
+ continue;
162
+ }
163
+ if (wireType === WIRE.BYTES) {
164
+ const len = decodeVarint(data, i);
165
+ if (!len.ok) {
166
+ return null;
167
+ }
168
+ const valStart = i + len.bytes;
169
+ const valEnd = valStart + len.value;
170
+ if (valEnd > data.length) {
171
+ return null;
172
+ }
173
+ if (!fieldCfg) {
174
+ i = valEnd;
175
+ continue;
176
+ }
177
+ if (fieldCfg.m || fieldCfg.children) {
178
+ const sub = extractReportingTokenContent(data.subarray(valStart, valEnd), fieldCfg.children ?? EMPTY_MAP);
179
+ if (sub === null) {
180
+ return null;
181
+ }
182
+ if (sub.length > 0) {
183
+ const newTag = encodeVarint(tag.value);
184
+ const newLen = encodeVarint(sub.length);
185
+ out.push({
186
+ num: fieldNum,
187
+ bytes: Buffer.concat([newTag, newLen, sub])
188
+ });
189
+ }
190
+ i = valEnd;
191
+ continue;
192
+ }
193
+ out.push({ num: fieldNum, bytes: data.subarray(fieldStart, valEnd) });
194
+ i = valEnd;
195
+ continue;
196
+ }
197
+ return null;
198
+ }
199
+ if (out.length === 0) {
200
+ return Buffer.alloc(0);
201
+ }
202
+ out.sort((a, b) => a.num - b.num);
203
+ return Buffer.concat(out.map(f => f.bytes));
204
+ };
205
+ const decodeVarint = (buffer, offset) => {
206
+ let value = 0;
207
+ let bytes = 0;
208
+ let shift = 0;
209
+ while (offset + bytes < buffer.length) {
210
+ const current = buffer[offset + bytes];
211
+ value |= (current & 0x7f) << shift;
212
+ bytes++;
213
+ if ((current & 0x80) === 0) {
214
+ return { value, bytes, ok: true };
215
+ }
216
+ shift += 7;
217
+ if (shift > 35) {
218
+ return { value: 0, bytes: 0, ok: false };
219
+ }
220
+ }
221
+ return { value: 0, bytes: 0, ok: false };
222
+ };
223
+ const encodeVarint = (value) => {
224
+ const parts = [];
225
+ let remaining = value >>> 0;
226
+ while (remaining > 0x7f) {
227
+ parts.push((remaining & 0x7f) | 0x80);
228
+ remaining >>>= 7;
229
+ }
230
+ parts.push(remaining);
231
+ return Buffer.from(parts);
232
+ };
233
+ export const getMessageReportingToken = async (msgProtobuf, message, key) => {
234
+ const msgSecret = message.messageContextInfo?.messageSecret;
235
+ if (!msgSecret || !key.id) {
236
+ return null;
237
+ }
238
+ const from = key.fromMe ? key.remoteJid : key.participant || key.remoteJid;
239
+ const to = key.fromMe ? key.participant || key.remoteJid : key.remoteJid;
240
+ const reportingSecret = generateMsgSecretKey(ENC_SECRET_REPORT_TOKEN, key.id, from, to, msgSecret);
241
+ const content = extractReportingTokenContent(msgProtobuf, compiledReportingFields);
242
+ if (!content || content.length === 0) {
243
+ return null;
244
+ }
245
+ const reportingToken = createHmac('sha256', reportingSecret).update(content).digest().subarray(0, 16);
246
+ return {
247
+ tag: 'reporting',
248
+ attrs: {},
249
+ content: [
250
+ {
251
+ tag: 'reporting_token',
252
+ attrs: { v: '2' },
253
+ content: reportingToken
254
+ }
255
+ ]
256
+ };
257
+ };
258
+ //# sourceMappingURL=reporting-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting-utils.js","sourceRoot":"","sources":["../../src/Utils/reporting-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAG9C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAa/B,MAAM,eAAe,GAAqB;IACzC,EAAE,CAAC,EAAE,CAAC,EAAE;IACR;QACC,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;KAC7F;IACD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IACxE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IAC5F,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACxE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC7F,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IAC5F,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACvG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;IACjE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,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"}
@@ -0,0 +1,11 @@
1
+ import type { BinaryNode } from '../WABinary/index.js';
2
+ /**
3
+ * Builds an ACK stanza for a received node.
4
+ * Pure function -- no I/O, no side effects.
5
+ *
6
+ * Mirrors WhatsApp Web's ACK construction:
7
+ * - WAWebHandleMsgSendAck.sendAck / sendNack
8
+ * - WAWebCreateNackFromStanza.createNackFromStanza
9
+ */
10
+ export declare function buildAckStanza(node: BinaryNode, errorCode?: number, meId?: string): BinaryNode;
11
+ //# sourceMappingURL=stanza-ack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stanza-ack.d.ts","sourceRoot":"","sources":["../../src/Utils/stanza-ack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAkC9F"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Builds an ACK stanza for a received node.
3
+ * Pure function -- no I/O, no side effects.
4
+ *
5
+ * Mirrors WhatsApp Web's ACK construction:
6
+ * - WAWebHandleMsgSendAck.sendAck / sendNack
7
+ * - WAWebCreateNackFromStanza.createNackFromStanza
8
+ */
9
+ export function buildAckStanza(node, errorCode, meId) {
10
+ const { tag, attrs } = node;
11
+ const stanza = {
12
+ tag: 'ack',
13
+ attrs: {
14
+ id: attrs.id,
15
+ to: attrs.from,
16
+ class: tag
17
+ }
18
+ };
19
+ if (errorCode) {
20
+ stanza.attrs.error = errorCode.toString();
21
+ }
22
+ if (attrs.participant) {
23
+ stanza.attrs.participant = attrs.participant;
24
+ }
25
+ if (attrs.recipient) {
26
+ stanza.attrs.recipient = attrs.recipient;
27
+ }
28
+ // WA Web always includes type when present: `n.type || DROP_ATTR`
29
+ if (attrs.type) {
30
+ stanza.attrs.type = attrs.type;
31
+ }
32
+ // WA Web WAWebHandleMsgSendAck.sendAck/sendNack always include `from` for message-class ACKs
33
+ if (tag === 'message' && meId) {
34
+ stanza.attrs.from = meId;
35
+ }
36
+ return stanza;
37
+ }
38
+ //# sourceMappingURL=stanza-ack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stanza-ack.js","sourceRoot":"","sources":["../../src/Utils/stanza-ack.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,SAAkB,EAAE,IAAa;IACjF,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAC3B,MAAM,MAAM,GAAe;QAC1B,GAAG,EAAE,KAAK;QACV,KAAK,EAAE;YACN,EAAE,EAAE,KAAK,CAAC,EAAG;YACb,EAAE,EAAE,KAAK,CAAC,IAAK;YACf,KAAK,EAAE,GAAG;SACV;KACD,CAAA;IAED,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;IACzC,CAAC;IAED,kEAAkE;IAClE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAC/B,CAAC;IAED,6FAA6F;IAC7F,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC"}