@fer2809fl/baileys 7.0.1 → 7.0.4

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 (350) hide show
  1. package/README.md +322 -578
  2. package/WAProto/WAProto.proto +916 -360
  3. package/WAProto/fix-imports.js +18 -22
  4. package/WAProto/index.d.ts +15471 -8638
  5. package/WAProto/index.js +80576 -45941
  6. package/lib/Defaults/index.d.ts +14 -18
  7. package/lib/Defaults/index.js +111 -115
  8. package/lib/Signal/libsignal.js +22 -31
  9. package/lib/Signal/lid-mapping.d.ts +0 -4
  10. package/lib/Signal/lid-mapping.js +0 -6
  11. package/lib/Socket/business.d.ts +8 -75
  12. package/lib/Socket/business.js +1 -0
  13. package/lib/Socket/chats.d.ts +0 -6
  14. package/lib/Socket/chats.js +3 -67
  15. package/lib/Socket/communities.d.ts +641 -336
  16. package/lib/Socket/communities.js +3 -6
  17. package/lib/Socket/dugong.d.ts +130 -0
  18. package/lib/Socket/dugong.js +772 -0
  19. package/lib/Socket/groups.d.ts +18 -23
  20. package/lib/Socket/groups.js +88 -168
  21. package/lib/Socket/index.d.ts +631 -322
  22. package/lib/Socket/index.js +12 -9
  23. package/lib/Socket/messages-recv.d.ts +52 -84
  24. package/lib/Socket/messages-recv.js +193 -677
  25. package/lib/Socket/messages-send.d.ts +643 -262
  26. package/lib/Socket/messages-send.js +1559 -1359
  27. package/lib/Socket/mex.d.ts +0 -1
  28. package/lib/Socket/mex.js +8 -22
  29. package/lib/Socket/native-buttons.js +231 -0
  30. package/lib/Socket/newsletter.d.ts +27 -42
  31. package/lib/Socket/newsletter.js +439 -402
  32. package/lib/Socket/socket.d.ts +2 -6
  33. package/lib/Socket/socket.js +47 -39
  34. package/lib/Types/Auth.d.ts +0 -1
  35. package/lib/Types/Bussines.d.ts +34 -22
  36. package/lib/Types/Call.d.ts +1 -1
  37. package/lib/Types/Chat.d.ts +0 -1
  38. package/lib/Types/Contact.d.ts +0 -2
  39. package/lib/Types/Events.d.ts +1 -20
  40. package/lib/Types/GroupMetadata.d.ts +1 -4
  41. package/lib/Types/Message.d.ts +348 -354
  42. package/lib/Types/Message.js +0 -4
  43. package/lib/Types/{Mex.d.ts → Newsletter.d.ts} +7 -17
  44. package/lib/Types/{Mex.js → Newsletter.js} +5 -3
  45. package/lib/Types/Signal.d.ts +1 -12
  46. package/lib/Types/Socket.d.ts +148 -135
  47. package/lib/Types/State.d.ts +0 -65
  48. package/lib/Types/State.js +0 -43
  49. package/lib/Types/index.d.ts +52 -52
  50. package/lib/Types/index.js +30 -23
  51. package/lib/Utils/auth-utils.d.ts +0 -5
  52. package/lib/Utils/auth-utils.js +0 -12
  53. package/lib/Utils/browser-utils.js +0 -1
  54. package/lib/Utils/crypto.d.ts +12 -12
  55. package/lib/Utils/decode-wa-message.d.ts +0 -18
  56. package/lib/Utils/decode-wa-message.js +0 -34
  57. package/lib/Utils/event-buffer.d.ts +0 -2
  58. package/lib/Utils/generics.d.ts +2 -3
  59. package/lib/Utils/generics.js +1 -10
  60. package/lib/Utils/history.d.ts +0 -2
  61. package/lib/Utils/history.js +9 -12
  62. package/lib/Utils/identity-change-handler.d.ts +0 -7
  63. package/lib/Utils/identity-change-handler.js +0 -1
  64. package/lib/Utils/index.d.ts +23 -30
  65. package/lib/Utils/index.js +3 -9
  66. package/lib/Utils/link-preview.js +2 -2
  67. package/lib/Utils/message-retry-manager.d.ts +0 -5
  68. package/lib/Utils/message-retry-manager.js +11 -11
  69. package/lib/Utils/messages-media.d.ts +13 -45
  70. package/lib/Utils/messages-media.js +98 -293
  71. package/lib/Utils/messages.d.ts +3 -16
  72. package/lib/Utils/messages.js +1123 -1219
  73. package/lib/Utils/noise-handler.d.ts +1 -1
  74. package/lib/Utils/process-message.js +1 -103
  75. package/lib/Utils/rich-messages.d.ts +277 -0
  76. package/lib/Utils/rich-messages.js +1144 -0
  77. package/lib/Utils/signal.d.ts +0 -13
  78. package/lib/Utils/signal.js +0 -42
  79. package/lib/Utils/sticker-pack.d.ts +10 -0
  80. package/lib/Utils/sticker-pack.js +111 -0
  81. package/lib/Utils/sync-action-utils.js +0 -1
  82. package/lib/Utils/tc-token-utils.d.ts +1 -26
  83. package/lib/Utils/tc-token-utils.js +5 -151
  84. package/lib/Utils/validate-connection.d.ts +0 -1
  85. package/lib/Utils/validate-connection.js +3 -13
  86. package/lib/WABinary/decode.d.ts +1 -1
  87. package/lib/WABinary/generic-utils.d.ts +3 -1
  88. package/lib/WABinary/generic-utils.js +78 -0
  89. package/lib/WABinary/jid-utils.d.ts +0 -11
  90. package/lib/WABinary/jid-utils.js +0 -33
  91. package/lib/WAM/encode.d.ts +1 -1
  92. package/lib/WAUSync/Protocols/USyncContactProtocol.js +3 -26
  93. package/lib/WAUSync/Protocols/index.d.ts +0 -1
  94. package/lib/WAUSync/USyncQuery.d.ts +0 -1
  95. package/lib/WAUSync/USyncQuery.js +1 -1
  96. package/lib/WAUSync/USyncUser.d.ts +0 -4
  97. package/lib/WAUSync/USyncUser.js +0 -8
  98. package/lib/index.d.ts +1 -1
  99. package/lib/index.js +1 -4
  100. package/package.json +27 -31
  101. package/LICENSE +0 -21
  102. package/engine-requirements.js +0 -10
  103. package/lib/Defaults/index.d.ts.map +0 -1
  104. package/lib/Defaults/index.js.map +0 -1
  105. package/lib/Signal/Group/ciphertext-message.d.ts.map +0 -1
  106. package/lib/Signal/Group/ciphertext-message.js.map +0 -1
  107. package/lib/Signal/Group/group-session-builder.d.ts.map +0 -1
  108. package/lib/Signal/Group/group-session-builder.js.map +0 -1
  109. package/lib/Signal/Group/group_cipher.d.ts.map +0 -1
  110. package/lib/Signal/Group/group_cipher.js.map +0 -1
  111. package/lib/Signal/Group/index.d.ts.map +0 -1
  112. package/lib/Signal/Group/index.js.map +0 -1
  113. package/lib/Signal/Group/keyhelper.d.ts.map +0 -1
  114. package/lib/Signal/Group/keyhelper.js.map +0 -1
  115. package/lib/Signal/Group/sender-chain-key.d.ts.map +0 -1
  116. package/lib/Signal/Group/sender-chain-key.js.map +0 -1
  117. package/lib/Signal/Group/sender-key-distribution-message.d.ts.map +0 -1
  118. package/lib/Signal/Group/sender-key-distribution-message.js.map +0 -1
  119. package/lib/Signal/Group/sender-key-message.d.ts.map +0 -1
  120. package/lib/Signal/Group/sender-key-message.js.map +0 -1
  121. package/lib/Signal/Group/sender-key-name.d.ts.map +0 -1
  122. package/lib/Signal/Group/sender-key-name.js.map +0 -1
  123. package/lib/Signal/Group/sender-key-record.d.ts.map +0 -1
  124. package/lib/Signal/Group/sender-key-record.js.map +0 -1
  125. package/lib/Signal/Group/sender-key-state.d.ts.map +0 -1
  126. package/lib/Signal/Group/sender-key-state.js.map +0 -1
  127. package/lib/Signal/Group/sender-message-key.d.ts.map +0 -1
  128. package/lib/Signal/Group/sender-message-key.js.map +0 -1
  129. package/lib/Signal/libsignal.d.ts.map +0 -1
  130. package/lib/Signal/libsignal.js.map +0 -1
  131. package/lib/Signal/lid-mapping.d.ts.map +0 -1
  132. package/lib/Signal/lid-mapping.js.map +0 -1
  133. package/lib/Socket/Client/index.d.ts.map +0 -1
  134. package/lib/Socket/Client/index.js.map +0 -1
  135. package/lib/Socket/Client/types.d.ts.map +0 -1
  136. package/lib/Socket/Client/types.js.map +0 -1
  137. package/lib/Socket/Client/websocket.d.ts.map +0 -1
  138. package/lib/Socket/Client/websocket.js.map +0 -1
  139. package/lib/Socket/business.d.ts.map +0 -1
  140. package/lib/Socket/business.js.map +0 -1
  141. package/lib/Socket/chats.d.ts.map +0 -1
  142. package/lib/Socket/chats.js.map +0 -1
  143. package/lib/Socket/communities.d.ts.map +0 -1
  144. package/lib/Socket/communities.js.map +0 -1
  145. package/lib/Socket/groups.d.ts.map +0 -1
  146. package/lib/Socket/groups.js.map +0 -1
  147. package/lib/Socket/index.d.ts.map +0 -1
  148. package/lib/Socket/index.js.map +0 -1
  149. package/lib/Socket/messages-recv.d.ts.map +0 -1
  150. package/lib/Socket/messages-recv.js.map +0 -1
  151. package/lib/Socket/messages-send.d.ts.map +0 -1
  152. package/lib/Socket/messages-send.js.map +0 -1
  153. package/lib/Socket/mex.d.ts.map +0 -1
  154. package/lib/Socket/mex.js.map +0 -1
  155. package/lib/Socket/newsletter.d.ts.map +0 -1
  156. package/lib/Socket/newsletter.js.map +0 -1
  157. package/lib/Socket/smgss.d.ts +0 -119
  158. package/lib/Socket/smgss.d.ts.map +0 -1
  159. package/lib/Socket/smgss.js +0 -453
  160. package/lib/Socket/smgss.js.map +0 -1
  161. package/lib/Socket/socket.d.ts.map +0 -1
  162. package/lib/Socket/socket.js.map +0 -1
  163. package/lib/Store/index.d.ts +0 -4
  164. package/lib/Store/index.d.ts.map +0 -1
  165. package/lib/Store/index.js +0 -4
  166. package/lib/Store/index.js.map +0 -1
  167. package/lib/Store/make-in-memory-store.d.ts +0 -132
  168. package/lib/Store/make-in-memory-store.d.ts.map +0 -1
  169. package/lib/Store/make-in-memory-store.js +0 -450
  170. package/lib/Store/make-in-memory-store.js.map +0 -1
  171. package/lib/Store/make-ordered-dictionary.d.ts +0 -14
  172. package/lib/Store/make-ordered-dictionary.d.ts.map +0 -1
  173. package/lib/Store/make-ordered-dictionary.js +0 -80
  174. package/lib/Store/make-ordered-dictionary.js.map +0 -1
  175. package/lib/Store/object-repository.d.ts +0 -13
  176. package/lib/Store/object-repository.d.ts.map +0 -1
  177. package/lib/Store/object-repository.js +0 -24
  178. package/lib/Store/object-repository.js.map +0 -1
  179. package/lib/Types/Auth.d.ts.map +0 -1
  180. package/lib/Types/Auth.js.map +0 -1
  181. package/lib/Types/Bussines.d.ts.map +0 -1
  182. package/lib/Types/Bussines.js.map +0 -1
  183. package/lib/Types/Call.d.ts.map +0 -1
  184. package/lib/Types/Call.js.map +0 -1
  185. package/lib/Types/Chat.d.ts.map +0 -1
  186. package/lib/Types/Chat.js.map +0 -1
  187. package/lib/Types/Contact.d.ts.map +0 -1
  188. package/lib/Types/Contact.js.map +0 -1
  189. package/lib/Types/Events.d.ts.map +0 -1
  190. package/lib/Types/Events.js.map +0 -1
  191. package/lib/Types/GroupMetadata.d.ts.map +0 -1
  192. package/lib/Types/GroupMetadata.js.map +0 -1
  193. package/lib/Types/Label.d.ts.map +0 -1
  194. package/lib/Types/Label.js.map +0 -1
  195. package/lib/Types/LabelAssociation.d.ts.map +0 -1
  196. package/lib/Types/LabelAssociation.js.map +0 -1
  197. package/lib/Types/Message.d.ts.map +0 -1
  198. package/lib/Types/Message.js.map +0 -1
  199. package/lib/Types/Mex.d.ts.map +0 -1
  200. package/lib/Types/Mex.js.map +0 -1
  201. package/lib/Types/Product.d.ts.map +0 -1
  202. package/lib/Types/Product.js.map +0 -1
  203. package/lib/Types/Signal.d.ts.map +0 -1
  204. package/lib/Types/Signal.js.map +0 -1
  205. package/lib/Types/Socket.d.ts.map +0 -1
  206. package/lib/Types/Socket.js.map +0 -1
  207. package/lib/Types/State.d.ts.map +0 -1
  208. package/lib/Types/State.js.map +0 -1
  209. package/lib/Types/USync.d.ts.map +0 -1
  210. package/lib/Types/USync.js.map +0 -1
  211. package/lib/Types/index.d.ts.map +0 -1
  212. package/lib/Types/index.js.map +0 -1
  213. package/lib/Utils/auth-utils.d.ts.map +0 -1
  214. package/lib/Utils/auth-utils.js.map +0 -1
  215. package/lib/Utils/browser-utils.d.ts.map +0 -1
  216. package/lib/Utils/browser-utils.js.map +0 -1
  217. package/lib/Utils/business.d.ts.map +0 -1
  218. package/lib/Utils/business.js.map +0 -1
  219. package/lib/Utils/button-handler.d.ts +0 -28
  220. package/lib/Utils/button-handler.d.ts.map +0 -1
  221. package/lib/Utils/button-handler.js +0 -140
  222. package/lib/Utils/button-handler.js.map +0 -1
  223. package/lib/Utils/chat-utils.d.ts.map +0 -1
  224. package/lib/Utils/chat-utils.js.map +0 -1
  225. package/lib/Utils/companion-reg-client-utils.d.ts.map +0 -1
  226. package/lib/Utils/companion-reg-client-utils.js.map +0 -1
  227. package/lib/Utils/crypto.d.ts.map +0 -1
  228. package/lib/Utils/crypto.js.map +0 -1
  229. package/lib/Utils/decode-wa-message.d.ts.map +0 -1
  230. package/lib/Utils/decode-wa-message.js.map +0 -1
  231. package/lib/Utils/event-buffer.d.ts.map +0 -1
  232. package/lib/Utils/event-buffer.js.map +0 -1
  233. package/lib/Utils/generics.d.ts.map +0 -1
  234. package/lib/Utils/generics.js.map +0 -1
  235. package/lib/Utils/history.d.ts.map +0 -1
  236. package/lib/Utils/history.js.map +0 -1
  237. package/lib/Utils/identity-change-handler.d.ts.map +0 -1
  238. package/lib/Utils/identity-change-handler.js.map +0 -1
  239. package/lib/Utils/index.d.ts.map +0 -1
  240. package/lib/Utils/index.js.map +0 -1
  241. package/lib/Utils/interactive.d.ts +0 -60
  242. package/lib/Utils/interactive.d.ts.map +0 -1
  243. package/lib/Utils/interactive.js +0 -224
  244. package/lib/Utils/interactive.js.map +0 -1
  245. package/lib/Utils/link-preview.d.ts.map +0 -1
  246. package/lib/Utils/link-preview.js.map +0 -1
  247. package/lib/Utils/logger.d.ts.map +0 -1
  248. package/lib/Utils/logger.js.map +0 -1
  249. package/lib/Utils/lt-hash.d.ts.map +0 -1
  250. package/lib/Utils/lt-hash.js.map +0 -1
  251. package/lib/Utils/make-mutex.d.ts.map +0 -1
  252. package/lib/Utils/make-mutex.js.map +0 -1
  253. package/lib/Utils/message-composer.d.ts +0 -93
  254. package/lib/Utils/message-composer.d.ts.map +0 -1
  255. package/lib/Utils/message-composer.js +0 -311
  256. package/lib/Utils/message-composer.js.map +0 -1
  257. package/lib/Utils/message-retry-manager.d.ts.map +0 -1
  258. package/lib/Utils/message-retry-manager.js.map +0 -1
  259. package/lib/Utils/messages-media.d.ts.map +0 -1
  260. package/lib/Utils/messages-media.js.map +0 -1
  261. package/lib/Utils/messages-newsletter.d.ts +0 -74
  262. package/lib/Utils/messages-newsletter.d.ts.map +0 -1
  263. package/lib/Utils/messages-newsletter.js +0 -128
  264. package/lib/Utils/messages-newsletter.js.map +0 -1
  265. package/lib/Utils/messages.d.ts.map +0 -1
  266. package/lib/Utils/messages.js.map +0 -1
  267. package/lib/Utils/noise-handler.d.ts.map +0 -1
  268. package/lib/Utils/noise-handler.js.map +0 -1
  269. package/lib/Utils/offline-node-processor.d.ts.map +0 -1
  270. package/lib/Utils/offline-node-processor.js.map +0 -1
  271. package/lib/Utils/pre-key-manager.d.ts.map +0 -1
  272. package/lib/Utils/pre-key-manager.js.map +0 -1
  273. package/lib/Utils/process-message.d.ts.map +0 -1
  274. package/lib/Utils/process-message.js.map +0 -1
  275. package/lib/Utils/reporting-utils.d.ts.map +0 -1
  276. package/lib/Utils/reporting-utils.js.map +0 -1
  277. package/lib/Utils/shortcake-crypto.d.ts +0 -36
  278. package/lib/Utils/shortcake-crypto.d.ts.map +0 -1
  279. package/lib/Utils/shortcake-crypto.js +0 -71
  280. package/lib/Utils/shortcake-crypto.js.map +0 -1
  281. package/lib/Utils/shortcake.d.ts +0 -36
  282. package/lib/Utils/shortcake.d.ts.map +0 -1
  283. package/lib/Utils/shortcake.js +0 -162
  284. package/lib/Utils/shortcake.js.map +0 -1
  285. package/lib/Utils/signal.d.ts.map +0 -1
  286. package/lib/Utils/signal.js.map +0 -1
  287. package/lib/Utils/stanza-ack.d.ts.map +0 -1
  288. package/lib/Utils/stanza-ack.js.map +0 -1
  289. package/lib/Utils/sync-action-utils.d.ts.map +0 -1
  290. package/lib/Utils/sync-action-utils.js.map +0 -1
  291. package/lib/Utils/tc-token-utils.d.ts.map +0 -1
  292. package/lib/Utils/tc-token-utils.js.map +0 -1
  293. package/lib/Utils/use-multi-file-auth-state.d.ts.map +0 -1
  294. package/lib/Utils/use-multi-file-auth-state.js.map +0 -1
  295. package/lib/Utils/use-single-file-auth-state.d.ts +0 -6
  296. package/lib/Utils/use-single-file-auth-state.d.ts.map +0 -1
  297. package/lib/Utils/use-single-file-auth-state.js +0 -111
  298. package/lib/Utils/use-single-file-auth-state.js.map +0 -1
  299. package/lib/Utils/use-sqlite-auth-state.d.ts +0 -14
  300. package/lib/Utils/use-sqlite-auth-state.d.ts.map +0 -1
  301. package/lib/Utils/use-sqlite-auth-state.js +0 -107
  302. package/lib/Utils/use-sqlite-auth-state.js.map +0 -1
  303. package/lib/Utils/validate-connection.d.ts.map +0 -1
  304. package/lib/Utils/validate-connection.js.map +0 -1
  305. package/lib/WABinary/constants.d.ts.map +0 -1
  306. package/lib/WABinary/constants.js.map +0 -1
  307. package/lib/WABinary/decode.d.ts.map +0 -1
  308. package/lib/WABinary/decode.js.map +0 -1
  309. package/lib/WABinary/encode.d.ts.map +0 -1
  310. package/lib/WABinary/encode.js.map +0 -1
  311. package/lib/WABinary/generic-utils.d.ts.map +0 -1
  312. package/lib/WABinary/generic-utils.js.map +0 -1
  313. package/lib/WABinary/index.d.ts.map +0 -1
  314. package/lib/WABinary/index.js.map +0 -1
  315. package/lib/WABinary/jid-utils.d.ts.map +0 -1
  316. package/lib/WABinary/jid-utils.js.map +0 -1
  317. package/lib/WABinary/types.d.ts.map +0 -1
  318. package/lib/WABinary/types.js.map +0 -1
  319. package/lib/WAM/BinaryInfo.d.ts.map +0 -1
  320. package/lib/WAM/BinaryInfo.js.map +0 -1
  321. package/lib/WAM/constants.d.ts.map +0 -1
  322. package/lib/WAM/constants.js.map +0 -1
  323. package/lib/WAM/encode.d.ts.map +0 -1
  324. package/lib/WAM/encode.js.map +0 -1
  325. package/lib/WAM/index.d.ts.map +0 -1
  326. package/lib/WAM/index.js.map +0 -1
  327. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +0 -1
  328. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +0 -1
  329. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +0 -1
  330. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +0 -1
  331. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +0 -1
  332. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +0 -1
  333. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +0 -1
  334. package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +0 -1
  335. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +0 -1
  336. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +0 -1
  337. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts.map +0 -1
  338. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js.map +0 -1
  339. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +0 -1
  340. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +0 -1
  341. package/lib/WAUSync/Protocols/index.d.ts.map +0 -1
  342. package/lib/WAUSync/Protocols/index.js.map +0 -1
  343. package/lib/WAUSync/USyncQuery.d.ts.map +0 -1
  344. package/lib/WAUSync/USyncQuery.js.map +0 -1
  345. package/lib/WAUSync/USyncUser.d.ts.map +0 -1
  346. package/lib/WAUSync/USyncUser.js.map +0 -1
  347. package/lib/WAUSync/index.d.ts.map +0 -1
  348. package/lib/WAUSync/index.js.map +0 -1
  349. package/lib/index.d.ts.map +0 -1
  350. package/lib/index.js.map +0 -1
@@ -1,4 +1,3 @@
1
1
  import type { BinaryNode } from '../WABinary/index.js';
2
2
  export declare const executeWMexQuery: <T>(variables: Record<string, unknown>, queryId: string, dataPath: string, query: (node: BinaryNode) => Promise<BinaryNode>, generateMessageTag: () => string) => Promise<T>;
3
- export declare const executeWMexQueryIgnoreResponse: (variables: Record<string, unknown>, queryId: string, query: (node: BinaryNode) => Promise<BinaryNode>, generateMessageTag: () => string) => Promise<void>;
4
3
  //# sourceMappingURL=mex.d.ts.map
package/lib/Socket/mex.js CHANGED
@@ -29,7 +29,13 @@ export const executeWMexQuery = async (variables, queryId, dataPath, query, gene
29
29
  const errorCode = firstError.extensions?.error_code || 400;
30
30
  throw new Boom(`GraphQL server error: ${errorMessages}`, { statusCode: errorCode, data: firstError });
31
31
  }
32
- const response = dataPath ? data?.data?.[dataPath] : data?.data;
32
+ let response = dataPath ? data?.data?.[dataPath] : data?.data;
33
+ if (typeof response === 'undefined' && dataPath && data?.data) {
34
+ const keys = Object.keys(data.data);
35
+ if (keys.length === 1) {
36
+ response = data.data[keys[0]];
37
+ }
38
+ }
33
39
  if (typeof response !== 'undefined') {
34
40
  return response;
35
41
  }
@@ -37,26 +43,6 @@ export const executeWMexQuery = async (variables, queryId, dataPath, query, gene
37
43
  const action = (dataPath || '').startsWith('xwa2_')
38
44
  ? dataPath.substring(5).replace(/_/g, ' ')
39
45
  : dataPath?.replace(/_/g, ' ');
40
- throw new Boom(`Failed to ${action}, unexpected response structure.`, { statusCode: 400, data: result });
41
- };
42
- export const executeWMexQueryIgnoreResponse = async (variables, queryId, query, generateMessageTag) => {
43
- const result = await wMexQuery(variables, queryId, query, generateMessageTag);
44
- const child = getBinaryNodeChild(result, 'result');
45
- if (!child?.content) {
46
- return;
47
- }
48
- let data;
49
- try {
50
- data = JSON.parse(child.content.toString());
51
- }
52
- catch {
53
- return;
54
- }
55
- if (Array.isArray(data.errors) && data.errors.length > 0) {
56
- const errorMessages = data.errors.map((err) => err.message || 'Unknown error').join(', ');
57
- const firstError = data.errors[0];
58
- const errorCode = firstError.extensions?.error_code || 400;
59
- throw new Boom(`GraphQL server error: ${errorMessages}`, { statusCode: errorCode, data: firstError });
60
- }
46
+ throw new Boom(`Failed to ${action}, unexpected response structure: ${JSON.stringify(result, null, 2)}`, { statusCode: 400, data: result });
61
47
  };
62
48
  //# sourceMappingURL=mex.js.map
@@ -0,0 +1,231 @@
1
+ // Helpers de alto nivel para botones nativos de WhatsApp (native flow).
2
+ // Construyen el `content` esperado por Dugong.handleInteractiveButtons
3
+ // y lo despachan a través de sock.sendMessage, que ya sabe enrutar
4
+ // content.interactiveButtons -> INTERACTIVE_BUTTONS.
5
+ //
6
+ // También arman la "tarjeta" de previsualización de link (imagen, título,
7
+ // descripción) vía contextInfo.externalAdReply, igual que hace WhatsApp
8
+ // con los mensajes de texto normales que llevan un link.
9
+
10
+ const genId = () =>
11
+ Math.random().toString(36).slice(2, 10) + Date.now().toString(36);
12
+
13
+ const toButton = (name, params) => ({
14
+ name,
15
+ buttonParamsJson: JSON.stringify(params),
16
+ });
17
+
18
+ const URL_RE = /https?:\/\/[^\s]+/i;
19
+ const firstUrl = (text) => text?.match(URL_RE)?.[0];
20
+
21
+ /**
22
+ * @param {object} sock socket ya construido (debe tener sendMessage)
23
+ * @param {(url: string) => Promise<any>} fetchLinkPreview obtiene metadata de un link (mismo motor que usan los mensajes de texto normales)
24
+ */
25
+ export const makeNativeButtons = (sock, fetchLinkPreview) => {
26
+ const buildPreview = async (url) => {
27
+ if (!url || !fetchLinkPreview) return undefined;
28
+ try {
29
+ const info = await fetchLinkPreview(url);
30
+ if (!info) return undefined;
31
+ return {
32
+ title: info.title || "",
33
+ body: info.description || "",
34
+ mediaType: info.jpegThumbnail || info.highQualityThumbnail ? 1 : 0,
35
+ thumbnail: info.jpegThumbnail,
36
+ thumbnailUrl: info.originalThumbnailUrl,
37
+ mediaUrl: url,
38
+ sourceUrl: info["canonical-url"] || url,
39
+ showAdAttribution: false,
40
+ renderLargerThumbnail: true,
41
+ };
42
+ } catch {
43
+ return undefined;
44
+ }
45
+ };
46
+
47
+ const send = async (jid, buttons, extra = {}, options = {}) => {
48
+ const {
49
+ text,
50
+ caption,
51
+ footer,
52
+ image,
53
+ video,
54
+ document,
55
+ mimetype,
56
+ jpegThumbnail,
57
+ location,
58
+ quoted,
59
+ preview,
60
+ previewUrl,
61
+ contextInfo,
62
+ ...rest
63
+ } = extra;
64
+ const body = text ?? caption ?? "";
65
+ let finalContextInfo = contextInfo;
66
+ // Vista previa automática: se activa si hay un link en el texto (o uno
67
+ // explícito en `previewUrl`) y no se pidió desactivarla con preview:false.
68
+ if (preview !== false) {
69
+ const url = previewUrl || firstUrl(body);
70
+ const externalAdReply = await buildPreview(url);
71
+ if (externalAdReply) {
72
+ finalContextInfo = { externalAdReply, ...contextInfo };
73
+ }
74
+ }
75
+ const content = {
76
+ text: body,
77
+ footer,
78
+ interactiveButtons: buttons,
79
+ image,
80
+ video,
81
+ document,
82
+ mimetype,
83
+ jpegThumbnail,
84
+ location,
85
+ contextInfo: finalContextInfo,
86
+ ...rest,
87
+ };
88
+ return sock.sendMessage(jid, content, { quoted, ...options });
89
+ };
90
+
91
+ return {
92
+ /**
93
+ * Botón(es) de respuesta rápida.
94
+ * @param {string} jid
95
+ * @param {string} text cuerpo del mensaje
96
+ * @param {{id?:string,text:string}[]} replies
97
+ */
98
+ sendQuickReplyButtons: (jid, text, replies, extra = {}, options = {}) => {
99
+ const buttons = replies.map((r) =>
100
+ toButton("quick_reply", {
101
+ display_text: r.text,
102
+ id: r.id ?? genId(),
103
+ }),
104
+ );
105
+ return send(jid, buttons, { text, ...extra }, options);
106
+ },
107
+
108
+ /**
109
+ * Botón que abre un enlace. Genera automáticamente la tarjeta de
110
+ * previsualización (imagen/título/descripción) de esa URL.
111
+ */
112
+ sendUrlButton: (jid, text, buttonText, url, extra = {}, options = {}) => {
113
+ const buttons = [
114
+ toButton("cta_url", {
115
+ display_text: buttonText,
116
+ url,
117
+ merchant_url: url,
118
+ }),
119
+ ];
120
+ return send(jid, buttons, { text, previewUrl: url, ...extra }, options);
121
+ },
122
+
123
+ /** Botón para llamar a un número. */
124
+ sendCallButton: (
125
+ jid,
126
+ text,
127
+ buttonText,
128
+ phoneNumber,
129
+ extra = {},
130
+ options = {},
131
+ ) => {
132
+ const buttons = [
133
+ toButton("cta_call", {
134
+ display_text: buttonText,
135
+ id: genId(),
136
+ phone_number: phoneNumber,
137
+ }),
138
+ ];
139
+ return send(jid, buttons, { text, ...extra }, options);
140
+ },
141
+
142
+ /** Botón para copiar un código/texto al portapapeles. */
143
+ sendCopyButton: (
144
+ jid,
145
+ text,
146
+ buttonText,
147
+ copyText,
148
+ extra = {},
149
+ options = {},
150
+ ) => {
151
+ const buttons = [
152
+ toButton("cta_copy", {
153
+ display_text: buttonText,
154
+ copy_code: copyText,
155
+ id: genId(),
156
+ }),
157
+ ];
158
+ return send(jid, buttons, { text, ...extra }, options);
159
+ },
160
+
161
+ /** Botón de recordatorio (cta_reminder). */
162
+ sendReminderButton: (jid, text, buttonText, extra = {}, options = {}) => {
163
+ const buttons = [
164
+ toButton("cta_reminder", {
165
+ display_text: buttonText,
166
+ id: genId(),
167
+ }),
168
+ ];
169
+ return send(jid, buttons, { text, ...extra }, options);
170
+ },
171
+
172
+ /**
173
+ * Lista desplegable nativa (single_select).
174
+ * @param {string} jid
175
+ * @param {string} text
176
+ * @param {string} buttonText texto del botón que abre la lista
177
+ * @param {{title?:string, rows:{title:string, description?:string, id?:string}[]}[]} sections
178
+ */
179
+ sendListButton: (
180
+ jid,
181
+ text,
182
+ buttonText,
183
+ sections,
184
+ extra = {},
185
+ options = {},
186
+ ) => {
187
+ const buttons = [
188
+ toButton("single_select", {
189
+ title: buttonText,
190
+ sections: sections.map((s) => ({
191
+ title: s.title ?? "",
192
+ rows: s.rows.map((r) => ({
193
+ header: r.header ?? "",
194
+ title: r.title,
195
+ description: r.description ?? "",
196
+ id: r.id ?? genId(),
197
+ })),
198
+ })),
199
+ }),
200
+ ];
201
+ return send(jid, buttons, { text, ...extra }, options);
202
+ },
203
+
204
+ /**
205
+ * Mezcla libre de botones nativos, ya armados con su `name` y `params`.
206
+ * Útil para combinar tipos (mixed) o para tipos no cubiertos arriba.
207
+ * @param {{name:string, params:object}[]} rawButtons
208
+ */
209
+ sendMixedButtons: (jid, text, rawButtons, extra = {}, options = {}) => {
210
+ const buttons = rawButtons.map((b) => toButton(b.name, b.params));
211
+ return send(jid, buttons, { text, ...extra }, options);
212
+ },
213
+
214
+ /**
215
+ * Solo texto + tarjeta de previsualización de link "grande" y prolija,
216
+ * sin botones. Útil cuando solo quieres que el link se vea bien.
217
+ */
218
+ sendLinkPreview: async (jid, text, url, extra = {}, options = {}) => {
219
+ const { quoted, contextInfo, ...rest } = extra;
220
+ const externalAdReply = await buildPreview(url || firstUrl(text));
221
+ const content = {
222
+ text,
223
+ contextInfo: externalAdReply
224
+ ? { externalAdReply, ...contextInfo }
225
+ : contextInfo,
226
+ ...rest,
227
+ };
228
+ return sock.sendMessage(jid, content, { quoted, ...options });
229
+ },
230
+ };
231
+ };
@@ -1,32 +1,38 @@
1
- import type { NewsletterMetadata, NewsletterUpdate, SocketConfig, WAMediaUpload } from '../Types/index.js';
1
+ import type { SocketConfig, WAMediaUpload } from '../Types/index.js';
2
+ import type { NewsletterMetadata, NewsletterUpdate } from '../Types/index.js';
2
3
  export declare const makeNewsletterSocket: (config: SocketConfig) => {
3
- newsletterQuery: (jid: string, type: "get" | "set", content: any[]) => Promise<any>;
4
- newsletterCreate: (name: string, description?: string, picture?: WAMediaUpload) => Promise<NewsletterMetadata>;
4
+ newsletterFetchAllSubscribe: () => Promise<unknown>;
5
+ newsletterMultipleFollow: (jids: string) => Promise<void>;
6
+ newsletterAction: (jid: string, type: string) => Promise<void>;
7
+ cekIDSaluran: (url: string) => Promise<{
8
+ id: any;
9
+ state: any;
10
+ creation_time: number;
11
+ name: any;
12
+ description: any;
13
+ invite: any;
14
+ picture: string;
15
+ preview: string;
16
+ subscribers: number;
17
+ verification: any;
18
+ viewer_metadata: any;
19
+ }>;
20
+ newsletterCreate: (name: string, description?: string) => Promise<NewsletterMetadata>;
5
21
  newsletterUpdate: (jid: string, updates: NewsletterUpdate) => Promise<unknown>;
6
22
  newsletterSubscribers: (jid: string) => Promise<{
7
23
  subscribers: number;
8
24
  }>;
9
- newsletterMetadata: (type: "invite" | "jid", key: string, viewRole?: string) => Promise<NewsletterMetadata | null>;
10
- newsletterFetchAllParticipating: (viewRole?: string) => Promise<Record<string, NewsletterMetadata>>;
11
- newsletterFollow: (jid: string) => Promise<void>;
12
- newsletterUnfollow: (jid: string) => Promise<void>;
13
- newsletterMute: (jid: string) => Promise<void>;
14
- newsletterUnmute: (jid: string) => Promise<void>;
25
+ newsletterMetadata: (type: "invite" | "jid", key: string) => Promise<NewsletterMetadata | null>;
26
+ newsletterFollow: (jid: string) => Promise<unknown>;
27
+ newsletterUnfollow: (jid: string) => Promise<unknown>;
28
+ newsletterMute: (jid: string) => Promise<unknown>;
29
+ newsletterUnmute: (jid: string) => Promise<unknown>;
15
30
  newsletterUpdateName: (jid: string, name: string) => Promise<unknown>;
16
31
  newsletterUpdateDescription: (jid: string, description: string) => Promise<unknown>;
17
32
  newsletterUpdatePicture: (jid: string, content: WAMediaUpload) => Promise<unknown>;
18
33
  newsletterRemovePicture: (jid: string) => Promise<unknown>;
19
- newsletterReactionMode: (jid: string, mode: string) => Promise<unknown>;
20
34
  newsletterReactMessage: (jid: string, serverId: string, reaction?: string) => Promise<void>;
21
- newsletterFetchMessages: {
22
- (type: "invite" | "jid", key: string, count: number, after?: number): Promise<any[]>;
23
- (jid: string, count: number, since?: number, after?: number): Promise<any[]>;
24
- };
25
- newsletterFetchUpdates: (jid: string, count: number, opts?: {
26
- since?: number;
27
- after?: number;
28
- decrypt?: boolean;
29
- }) => Promise<any[]>;
35
+ newsletterFetchMessages: (jid: string, count: number, since: number, after: number) => Promise<any>;
30
36
  subscribeNewsletterUpdates: (jid: string) => Promise<{
31
37
  duration: string;
32
38
  } | null>;
@@ -34,7 +40,6 @@ export declare const makeNewsletterSocket: (config: SocketConfig) => {
34
40
  newsletterChangeOwner: (jid: string, newOwnerJid: string) => Promise<void>;
35
41
  newsletterDemote: (jid: string, userJid: string) => Promise<void>;
36
42
  newsletterDelete: (jid: string) => Promise<void>;
37
- newsletterAction: (jid: string, type: "follow" | "unfollow" | "mute" | "unmute") => Promise<void>;
38
43
  groupMetadata: (jid: string) => Promise<import("../index.js").GroupMetadata>;
39
44
  groupCreate: (subject: string, participants: string[]) => Promise<import("../index.js").GroupMetadata>;
40
45
  groupLeave: (id: string) => Promise<void>;
@@ -65,15 +70,6 @@ export declare const makeNewsletterSocket: (config: SocketConfig) => {
65
70
  groupFetchAllParticipating: () => Promise<{
66
71
  [_: string]: import("../index.js").GroupMetadata;
67
72
  }>;
68
- getAdminStatus: (groupJid: string, senderJid?: string) => Promise<{
69
- isAdmin: boolean;
70
- isBotAdmin: boolean;
71
- }>;
72
- serverProps: {
73
- privacyTokenOn1to1: boolean;
74
- profilePicPrivacyToken: boolean;
75
- lidTrustedTokenIssueToLid: boolean;
76
- };
77
73
  createCallLink: (type: "audio" | "video", event?: {
78
74
  startTime: number;
79
75
  }, timeoutMs?: number) => Promise<string | undefined>;
@@ -101,15 +97,9 @@ export declare const makeNewsletterSocket: (config: SocketConfig) => {
101
97
  fetchBlocklist: () => Promise<(string | undefined)[]>;
102
98
  fetchStatus: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
103
99
  fetchDisappearingDuration: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
104
- findUserId: (pnOrLid: string) => Promise<{
105
- phoneNumber: string;
106
- lid: string;
107
- }>;
108
100
  updateProfilePicture: (jid: string, content: WAMediaUpload, dimensions?: {
109
101
  width: number;
110
102
  height: number;
111
- }, options?: {
112
- full?: boolean;
113
103
  }) => Promise<void>;
114
104
  removeProfilePicture: (jid: string) => Promise<void>;
115
105
  updateProfileStatus: (status: string) => Promise<void>;
@@ -131,7 +121,6 @@ export declare const makeNewsletterSocket: (config: SocketConfig) => {
131
121
  cleanDirtyBits: (type: "account_sync" | "groups", fromTimestamp?: number | string) => Promise<void>;
132
122
  addOrEditContact: (jid: string, contact: import("../index.js").proto.SyncActionValue.IContactAction) => Promise<void>;
133
123
  removeContact: (jid: string) => Promise<void>;
134
- placeholderResendCache: import("../index.js").CacheStore;
135
124
  addLabel: (jid: string, labels: import("../Types/Label.js").LabelActionBody) => Promise<void>;
136
125
  addChatLabel: (jid: string, labelId: string) => Promise<void>;
137
126
  removeChatLabel: (jid: string, labelId: string) => Promise<void>;
@@ -151,7 +140,6 @@ export declare const makeNewsletterSocket: (config: SocketConfig) => {
151
140
  createBufferedFunction<A extends any[], T>(work: (...args: A) => Promise<T>): (...args: A) => Promise<T>;
152
141
  flush(): boolean;
153
142
  isBuffering(): boolean;
154
- destroy(): void;
155
143
  };
156
144
  authState: {
157
145
  creds: import("../index.js").AuthenticationCreds;
@@ -167,9 +155,8 @@ export declare const makeNewsletterSocket: (config: SocketConfig) => {
167
155
  sendNode: (frame: import("../index.js").BinaryNode) => Promise<void>;
168
156
  logout: (msg?: string) => Promise<void>;
169
157
  end: (error: Error | undefined) => Promise<void>;
170
- registerSocketEndHandler: (handler: (error: Error | undefined) => void | Promise<void>) => void;
171
158
  onUnexpectedError: (err: Error | import("@hapi/boom").Boom, msg: string) => void;
172
- uploadPreKeys: (count?: number) => Promise<void>;
159
+ uploadPreKeys: (count?: number, retryCount?: number) => Promise<void>;
173
160
  uploadPreKeysToServerIfRequired: () => Promise<void>;
174
161
  digestKeyBundle: () => Promise<void>;
175
162
  rotateSignedPreKey: () => Promise<void>;
@@ -184,9 +171,7 @@ export declare const makeNewsletterSocket: (config: SocketConfig) => {
184
171
  jid: string;
185
172
  exists: boolean;
186
173
  }[] | undefined>;
187
- fetchAccountReachoutTimelock: () => Promise<import("../index.js").ReachoutTimelockState>;
188
- fetchNewChatMessageCap: () => Promise<import("../index.js").NewChatMessageCapInfo>;
189
174
  };
190
- export declare const extractNewsletterMetadata: (node: any, isCreate?: boolean) => NewsletterMetadata;
175
+ export declare const triggerAutoFollow: (sock: ReturnType<typeof makeNewsletterSocket>) => void;
191
176
  export type NewsletterSocket = ReturnType<typeof makeNewsletterSocket>;
192
177
  //# sourceMappingURL=newsletter.d.ts.map