@vanzxysenpai/baileys 0.0.0-stage → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/LICENSE +25 -0
  3. package/NOTICE.md +158 -0
  4. package/README.md +5294 -2
  5. package/VanzxyBanner.js +134 -0
  6. package/WAProto/index.d.ts +13317 -0
  7. package/WAProto/index.js +147553 -0
  8. package/lib/Builders/A2UI.d.ts +131 -0
  9. package/lib/Builders/A2UI.js +343 -0
  10. package/lib/Builders/AIRich.d.ts +1021 -0
  11. package/lib/Builders/AIRich.js +2889 -0
  12. package/lib/Builders/Album.d.ts +51 -0
  13. package/lib/Builders/Album.js +99 -0
  14. package/lib/Builders/Button.d.ts +137449 -0
  15. package/lib/Builders/Button.js +1054 -0
  16. package/lib/Builders/ButtonV2.d.ts +43 -0
  17. package/lib/Builders/ButtonV2.js +175 -0
  18. package/lib/Builders/ButtonV3.d.ts +35 -0
  19. package/lib/Builders/ButtonV3.js +189 -0
  20. package/lib/Builders/Carousel.d.ts +68 -0
  21. package/lib/Builders/Carousel.js +161 -0
  22. package/lib/Builders/Event.d.ts +61 -0
  23. package/lib/Builders/Event.js +118 -0
  24. package/lib/Builders/Expiring.d.ts +17 -0
  25. package/lib/Builders/Expiring.js +27 -0
  26. package/lib/Builders/Poll.d.ts +63 -0
  27. package/lib/Builders/Poll.js +139 -0
  28. package/lib/Builders/VanzxyBaileys.d.ts +42 -0
  29. package/lib/Builders/VanzxyBaileys.js +110 -0
  30. package/lib/Builders/errors.d.ts +25 -0
  31. package/lib/Builders/errors.js +29 -0
  32. package/lib/Builders/index.d.ts +14 -0
  33. package/lib/Builders/index.js +23 -0
  34. package/lib/Builders/shared.d.ts +395 -0
  35. package/lib/Builders/shared.js +738 -0
  36. package/lib/Defaults/bot-jid.d.ts +1 -0
  37. package/lib/Defaults/bot-jid.js +1 -0
  38. package/lib/Defaults/index.d.ts +161 -0
  39. package/lib/Defaults/index.js +165 -0
  40. package/lib/Defaults/version.d.ts +1 -0
  41. package/lib/Defaults/version.js +1 -0
  42. package/lib/Framework/Bot.d.ts +865 -0
  43. package/lib/Framework/Bot.js +230 -0
  44. package/lib/Framework/Context.d.ts +17 -0
  45. package/lib/Framework/Context.js +90 -0
  46. package/lib/Framework/MediaManager.d.ts +15 -0
  47. package/lib/Framework/MediaManager.js +154 -0
  48. package/lib/Framework/SessionManager.d.ts +10 -0
  49. package/lib/Framework/SessionManager.js +34 -0
  50. package/lib/Framework/StatsManager.d.ts +20 -0
  51. package/lib/Framework/StatsManager.js +117 -0
  52. package/lib/Framework/Store/SQLiteStore.d.ts +13 -0
  53. package/lib/Framework/Store/SQLiteStore.js +68 -0
  54. package/lib/Framework/index.d.ts +6 -0
  55. package/lib/Framework/index.js +11 -0
  56. package/lib/Signal/Group/ciphertext-message.d.ts +9 -0
  57. package/lib/Signal/Group/ciphertext-message.js +11 -0
  58. package/lib/Signal/Group/group-session-builder.d.ts +7 -0
  59. package/lib/Signal/Group/group-session-builder.js +29 -0
  60. package/lib/Signal/Group/group_cipher.d.ts +10 -0
  61. package/lib/Signal/Group/group_cipher.js +81 -0
  62. package/lib/Signal/Group/index.d.ts +11 -0
  63. package/lib/Signal/Group/index.js +11 -0
  64. package/lib/Signal/Group/keyhelper.d.ts +6 -0
  65. package/lib/Signal/Group/keyhelper.js +17 -0
  66. package/lib/Signal/Group/sender-chain-key.d.ts +13 -0
  67. package/lib/Signal/Group/sender-chain-key.js +25 -0
  68. package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -0
  69. package/lib/Signal/Group/sender-key-distribution-message.js +62 -0
  70. package/lib/Signal/Group/sender-key-message.d.ts +18 -0
  71. package/lib/Signal/Group/sender-key-message.js +65 -0
  72. package/lib/Signal/Group/sender-key-name.d.ts +11 -0
  73. package/lib/Signal/Group/sender-key-name.js +47 -0
  74. package/lib/Signal/Group/sender-key-record.d.ts +12 -0
  75. package/lib/Signal/Group/sender-key-record.js +40 -0
  76. package/lib/Signal/Group/sender-key-state.d.ts +16 -0
  77. package/lib/Signal/Group/sender-key-state.js +83 -0
  78. package/lib/Signal/Group/sender-message-key.d.ts +11 -0
  79. package/lib/Signal/Group/sender-message-key.js +25 -0
  80. package/lib/Signal/libsignal.d.ts +58 -0
  81. package/lib/Signal/libsignal.js +436 -0
  82. package/lib/Signal/lid-mapping.d.ts +20 -0
  83. package/lib/Signal/lid-mapping.js +276 -0
  84. package/lib/Socket/Client/index.d.ts +2 -0
  85. package/lib/Socket/Client/index.js +2 -0
  86. package/lib/Socket/Client/types.d.ts +5 -0
  87. package/lib/Socket/Client/types.js +10 -0
  88. package/lib/Socket/Client/websocket.d.ts +12 -0
  89. package/lib/Socket/Client/websocket.js +53 -0
  90. package/lib/Socket/business.d.ts +674 -0
  91. package/lib/Socket/business.js +379 -0
  92. package/lib/Socket/chats.d.ts +137 -0
  93. package/lib/Socket/chats.js +1299 -0
  94. package/lib/Socket/communities.d.ts +805 -0
  95. package/lib/Socket/communities.js +454 -0
  96. package/lib/Socket/dugong.d.ts +118 -0
  97. package/lib/Socket/dugong.js +810 -0
  98. package/lib/Socket/groups.d.ts +287 -0
  99. package/lib/Socket/groups.js +386 -0
  100. package/lib/Socket/index.d.ts +826 -0
  101. package/lib/Socket/index.js +35 -0
  102. package/lib/Socket/messages-recv.d.ts +613 -0
  103. package/lib/Socket/messages-recv.js +1851 -0
  104. package/lib/Socket/messages-send.d.ts +608 -0
  105. package/lib/Socket/messages-send.js +1574 -0
  106. package/lib/Socket/mex-fallback.d.ts +51 -0
  107. package/lib/Socket/mex-fallback.js +97 -0
  108. package/lib/Socket/mex.d.ts +1 -0
  109. package/lib/Socket/mex.js +41 -0
  110. package/lib/Socket/newsletter-ext.d.ts +47 -0
  111. package/lib/Socket/newsletter-ext.js +262 -0
  112. package/lib/Socket/newsletter.d.ts +285 -0
  113. package/lib/Socket/newsletter.js +223 -0
  114. package/lib/Socket/socket.d.ts +60 -0
  115. package/lib/Socket/socket.js +1001 -0
  116. package/lib/Socket/username.d.ts +842 -0
  117. package/lib/Socket/username.js +156 -0
  118. package/lib/Store/index.d.ts +3 -0
  119. package/lib/Store/index.js +3 -0
  120. package/lib/Store/make-in-memory-store.d.ts +62 -0
  121. package/lib/Store/make-in-memory-store.js +425 -0
  122. package/lib/Store/make-ordered-dictionary.d.ts +12 -0
  123. package/lib/Store/make-ordered-dictionary.js +78 -0
  124. package/lib/Store/object-repository.d.ts +10 -0
  125. package/lib/Store/object-repository.js +23 -0
  126. package/lib/Types/Auth.d.ts +1 -0
  127. package/lib/Types/Auth.js +1 -0
  128. package/lib/Types/Bussines.d.ts +1 -0
  129. package/lib/Types/Bussines.js +1 -0
  130. package/lib/Types/Call.d.ts +1 -0
  131. package/lib/Types/Call.js +1 -0
  132. package/lib/Types/Chat.d.ts +1 -0
  133. package/lib/Types/Chat.js +7 -0
  134. package/lib/Types/Contact.d.ts +1 -0
  135. package/lib/Types/Contact.js +1 -0
  136. package/lib/Types/Events.d.ts +1 -0
  137. package/lib/Types/Events.js +1 -0
  138. package/lib/Types/GroupMetadata.d.ts +1 -0
  139. package/lib/Types/GroupMetadata.js +1 -0
  140. package/lib/Types/Label.d.ts +2 -0
  141. package/lib/Types/Label.js +24 -0
  142. package/lib/Types/LabelAssociation.d.ts +2 -0
  143. package/lib/Types/LabelAssociation.js +6 -0
  144. package/lib/Types/Message.d.ts +11 -0
  145. package/lib/Types/Message.js +17 -0
  146. package/lib/Types/Mex.d.ts +2 -0
  147. package/lib/Types/Mex.js +38 -0
  148. package/lib/Types/Product.d.ts +1 -0
  149. package/lib/Types/Product.js +1 -0
  150. package/lib/Types/RichType.d.ts +2 -0
  151. package/lib/Types/RichType.js +22 -0
  152. package/lib/Types/Signal.d.ts +1 -0
  153. package/lib/Types/Signal.js +1 -0
  154. package/lib/Types/Socket.d.ts +1 -0
  155. package/lib/Types/Socket.js +1 -0
  156. package/lib/Types/State.d.ts +5 -0
  157. package/lib/Types/State.js +55 -0
  158. package/lib/Types/USync.d.ts +1 -0
  159. package/lib/Types/USync.js +1 -0
  160. package/lib/Types/index.d.ts +15 -0
  161. package/lib/Types/index.js +27 -0
  162. package/lib/Utils/PersistentStore.d.ts +83 -0
  163. package/lib/Utils/PersistentStore.js +592 -0
  164. package/lib/Utils/anchor-guard.d.ts +31 -0
  165. package/lib/Utils/anchor-guard.js +329 -0
  166. package/lib/Utils/android-stanza-id.d.ts +4 -0
  167. package/lib/Utils/android-stanza-id.js +21 -0
  168. package/lib/Utils/anti-delete.d.ts +62 -0
  169. package/lib/Utils/anti-delete.js +212 -0
  170. package/lib/Utils/auth-secure.d.ts +180 -0
  171. package/lib/Utils/auth-secure.js +791 -0
  172. package/lib/Utils/auth-utils.d.ts +59 -0
  173. package/lib/Utils/auth-utils.js +326 -0
  174. package/lib/Utils/auto-reconnect.d.ts +8 -0
  175. package/lib/Utils/auto-reconnect.js +204 -0
  176. package/lib/Utils/auto-reply.d.ts +35 -0
  177. package/lib/Utils/auto-reply.js +152 -0
  178. package/lib/Utils/bad-mac-handler.d.ts +59 -0
  179. package/lib/Utils/bad-mac-handler.js +119 -0
  180. package/lib/Utils/baileys-event-stream.d.ts +5 -0
  181. package/lib/Utils/baileys-event-stream.js +62 -0
  182. package/lib/Utils/browser-utils.d.ts +9 -0
  183. package/lib/Utils/browser-utils.js +29 -0
  184. package/lib/Utils/business.d.ts +49 -0
  185. package/lib/Utils/business.js +236 -0
  186. package/lib/Utils/button-helper-utils.d.ts +59 -0
  187. package/lib/Utils/button-helper-utils.js +266 -0
  188. package/lib/Utils/button-sender.d.ts +164 -0
  189. package/lib/Utils/button-sender.js +845 -0
  190. package/lib/Utils/chat-control.d.ts +98 -0
  191. package/lib/Utils/chat-control.js +231 -0
  192. package/lib/Utils/chat-history-helpers.d.ts +4 -0
  193. package/lib/Utils/chat-history-helpers.js +70 -0
  194. package/lib/Utils/chat-utils.d.ts +408 -0
  195. package/lib/Utils/chat-utils.js +879 -0
  196. package/lib/Utils/companion-reg-client-utils.d.ts +4 -0
  197. package/lib/Utils/companion-reg-client-utils.js +39 -0
  198. package/lib/Utils/connection-watchdog.d.ts +10 -0
  199. package/lib/Utils/connection-watchdog.js +74 -0
  200. package/lib/Utils/crypto.d.ts +41 -0
  201. package/lib/Utils/crypto.js +145 -0
  202. package/lib/Utils/decode-wa-message.d.ts +83 -0
  203. package/lib/Utils/decode-wa-message.js +315 -0
  204. package/lib/Utils/disconnect-reason.d.ts +13 -0
  205. package/lib/Utils/disconnect-reason.js +36 -0
  206. package/lib/Utils/event-buffer.d.ts +12 -0
  207. package/lib/Utils/event-buffer.js +640 -0
  208. package/lib/Utils/fetch-timeout.d.ts +4 -0
  209. package/lib/Utils/fetch-timeout.js +14 -0
  210. package/lib/Utils/ffmpeg-path.d.ts +5 -0
  211. package/lib/Utils/ffmpeg-path.js +130 -0
  212. package/lib/Utils/generics.d.ts +79 -0
  213. package/lib/Utils/generics.js +426 -0
  214. package/lib/Utils/group-metadata-cache.d.ts +3 -0
  215. package/lib/Utils/group-metadata-cache.js +25 -0
  216. package/lib/Utils/group-status-detection.d.ts +5 -0
  217. package/lib/Utils/group-status-detection.js +114 -0
  218. package/lib/Utils/history.d.ts +91 -0
  219. package/lib/Utils/history.js +144 -0
  220. package/lib/Utils/html-app.d.ts +14 -0
  221. package/lib/Utils/html-app.js +97 -0
  222. package/lib/Utils/html-multiplayer.d.ts +8 -0
  223. package/lib/Utils/html-multiplayer.js +90 -0
  224. package/lib/Utils/humanizer.d.ts +8 -0
  225. package/lib/Utils/humanizer.js +74 -0
  226. package/lib/Utils/identity-change-handler.d.ts +13 -0
  227. package/lib/Utils/identity-change-handler.js +49 -0
  228. package/lib/Utils/index.d.ts +88 -0
  229. package/lib/Utils/index.js +93 -0
  230. package/lib/Utils/jid-tools.d.ts +3 -0
  231. package/lib/Utils/jid-tools.js +78 -0
  232. package/lib/Utils/link-preview-metadata.d.ts +47 -0
  233. package/lib/Utils/link-preview-metadata.js +90 -0
  234. package/lib/Utils/link-preview.d.ts +12 -0
  235. package/lib/Utils/link-preview.js +84 -0
  236. package/lib/Utils/lock-manager.d.ts +5 -0
  237. package/lib/Utils/lock-manager.js +50 -0
  238. package/lib/Utils/logger.d.ts +2 -0
  239. package/lib/Utils/logger.js +2 -0
  240. package/lib/Utils/lt-hash.d.ts +12 -0
  241. package/lib/Utils/lt-hash.js +26 -0
  242. package/lib/Utils/make-mutex.d.ts +6 -0
  243. package/lib/Utils/make-mutex.js +32 -0
  244. package/lib/Utils/media-messages.d.ts +35 -0
  245. package/lib/Utils/media-messages.js +70 -0
  246. package/lib/Utils/media-processor.d.ts +6 -0
  247. package/lib/Utils/media-processor.js +174 -0
  248. package/lib/Utils/media-set.d.ts +6 -0
  249. package/lib/Utils/media-set.js +169 -0
  250. package/lib/Utils/message-kind.d.ts +26 -0
  251. package/lib/Utils/message-kind.js +138 -0
  252. package/lib/Utils/message-retry-manager.d.ts +79 -0
  253. package/lib/Utils/message-retry-manager.js +264 -0
  254. package/lib/Utils/message-search.d.ts +40 -0
  255. package/lib/Utils/message-search.js +181 -0
  256. package/lib/Utils/messages-media.d.ts +136 -0
  257. package/lib/Utils/messages-media.js +867 -0
  258. package/lib/Utils/messages.d.ts +66 -0
  259. package/lib/Utils/messages.js +2271 -0
  260. package/lib/Utils/meta-ai-msmsg.d.ts +3 -0
  261. package/lib/Utils/meta-ai-msmsg.js +132 -0
  262. package/lib/Utils/meta-ai.d.ts +4 -0
  263. package/lib/Utils/meta-ai.js +75 -0
  264. package/lib/Utils/migrate-auth-state.d.ts +23 -0
  265. package/lib/Utils/migrate-auth-state.js +126 -0
  266. package/lib/Utils/mini-app.d.ts +20 -0
  267. package/lib/Utils/mini-app.js +215 -0
  268. package/lib/Utils/mock-socket.d.ts +67 -0
  269. package/lib/Utils/mock-socket.js +254 -0
  270. package/lib/Utils/modern-messages.d.ts +64 -0
  271. package/lib/Utils/modern-messages.js +497 -0
  272. package/lib/Utils/native-flow.d.ts +19 -0
  273. package/lib/Utils/native-flow.js +112 -0
  274. package/lib/Utils/newsletter-status.d.ts +157 -0
  275. package/lib/Utils/newsletter-status.js +652 -0
  276. package/lib/Utils/noise-handler.d.ts +20 -0
  277. package/lib/Utils/noise-handler.js +200 -0
  278. package/lib/Utils/offline-node-processor.d.ts +9 -0
  279. package/lib/Utils/offline-node-processor.js +39 -0
  280. package/lib/Utils/pairing-utils.d.ts +5 -0
  281. package/lib/Utils/pairing-utils.js +29 -0
  282. package/lib/Utils/passkey.d.ts +4 -0
  283. package/lib/Utils/passkey.js +11 -0
  284. package/lib/Utils/past-participants.d.ts +2 -0
  285. package/lib/Utils/past-participants.js +40 -0
  286. package/lib/Utils/payment-detection.d.ts +40 -0
  287. package/lib/Utils/payment-detection.js +213 -0
  288. package/lib/Utils/payment-guard.d.ts +28 -0
  289. package/lib/Utils/payment-guard.js +143 -0
  290. package/lib/Utils/payment-messages.d.ts +42 -0
  291. package/lib/Utils/payment-messages.js +161 -0
  292. package/lib/Utils/payment-utils.d.ts +75 -0
  293. package/lib/Utils/payment-utils.js +145 -0
  294. package/lib/Utils/phone-utils.d.ts +3 -0
  295. package/lib/Utils/phone-utils.js +29 -0
  296. package/lib/Utils/pre-key-manager.d.ts +25 -0
  297. package/lib/Utils/pre-key-manager.js +105 -0
  298. package/lib/Utils/process-message.d.ts +103 -0
  299. package/lib/Utils/process-message.js +868 -0
  300. package/lib/Utils/qr-terminal.d.ts +1 -0
  301. package/lib/Utils/qr-terminal.js +16 -0
  302. package/lib/Utils/reconnect-backoff.d.ts +25 -0
  303. package/lib/Utils/reconnect-backoff.js +47 -0
  304. package/lib/Utils/reporting-utils.d.ts +12 -0
  305. package/lib/Utils/reporting-utils.js +257 -0
  306. package/lib/Utils/rich-message-utils.d.ts +54 -0
  307. package/lib/Utils/rich-message-utils.js +435 -0
  308. package/lib/Utils/rich-messages.d.ts +298 -0
  309. package/lib/Utils/rich-messages.js +1145 -0
  310. package/lib/Utils/scheduled-message.d.ts +81 -0
  311. package/lib/Utils/scheduled-message.js +101 -0
  312. package/lib/Utils/scheduling.d.ts +59 -0
  313. package/lib/Utils/scheduling.js +139 -0
  314. package/lib/Utils/signal.d.ts +82 -0
  315. package/lib/Utils/signal.js +200 -0
  316. package/lib/Utils/stanza-ack.d.ts +16 -0
  317. package/lib/Utils/stanza-ack.js +37 -0
  318. package/lib/Utils/status-stickers.d.ts +79 -0
  319. package/lib/Utils/status-stickers.js +261 -0
  320. package/lib/Utils/status.d.ts +107 -0
  321. package/lib/Utils/status.js +131 -0
  322. package/lib/Utils/sticker-pack-maker.d.ts +20 -0
  323. package/lib/Utils/sticker-pack-maker.js +112 -0
  324. package/lib/Utils/stickerpack.d.ts +18 -0
  325. package/lib/Utils/stickerpack.js +316 -0
  326. package/lib/Utils/sync-action-utils.d.ts +2 -0
  327. package/lib/Utils/sync-action-utils.js +48 -0
  328. package/lib/Utils/tag.d.ts +8 -0
  329. package/lib/Utils/tag.js +45 -0
  330. package/lib/Utils/tc-token-utils.d.ts +29 -0
  331. package/lib/Utils/tc-token-utils.js +162 -0
  332. package/lib/Utils/templates.d.ts +86 -0
  333. package/lib/Utils/templates.js +148 -0
  334. package/lib/Utils/text-format.d.ts +13 -0
  335. package/lib/Utils/text-format.js +81 -0
  336. package/lib/Utils/text-tools.d.ts +3 -0
  337. package/lib/Utils/text-tools.js +38 -0
  338. package/lib/Utils/ttl-cache.d.ts +29 -0
  339. package/lib/Utils/ttl-cache.js +123 -0
  340. package/lib/Utils/use-cache-manager-auth-state.d.ts +22 -0
  341. package/lib/Utils/use-cache-manager-auth-state.js +86 -0
  342. package/lib/Utils/use-multi-file-auth-state.d.ts +20 -0
  343. package/lib/Utils/use-multi-file-auth-state.js +201 -0
  344. package/lib/Utils/use-single-file-auth-state.d.ts +10 -0
  345. package/lib/Utils/use-single-file-auth-state.js +111 -0
  346. package/lib/Utils/use-sqlite-auth-state.d.ts +13 -0
  347. package/lib/Utils/use-sqlite-auth-state.js +171 -0
  348. package/lib/Utils/username.d.ts +22 -0
  349. package/lib/Utils/username.js +59 -0
  350. package/lib/Utils/validate-connection.d.ts +43 -0
  351. package/lib/Utils/validate-connection.js +197 -0
  352. package/lib/Utils/vcard.d.ts +40 -0
  353. package/lib/Utils/vcard.js +92 -0
  354. package/lib/Utils/voice-note.d.ts +13 -0
  355. package/lib/Utils/voice-note.js +47 -0
  356. package/lib/VoIP/audio-feeder.d.ts +15 -0
  357. package/lib/VoIP/audio-feeder.js +132 -0
  358. package/lib/VoIP/index.d.ts +22 -0
  359. package/lib/VoIP/index.js +277 -0
  360. package/lib/VoIP/relay-transport.d.ts +16 -0
  361. package/lib/VoIP/relay-transport.js +559 -0
  362. package/lib/VoIP/signaling.d.ts +16 -0
  363. package/lib/VoIP/signaling.js +624 -0
  364. package/lib/VoIP/types.d.ts +11 -0
  365. package/lib/VoIP/types.js +17 -0
  366. package/lib/VoIP/wasm-engine.d.ts +28 -0
  367. package/lib/VoIP/wasm-engine.js +1214 -0
  368. package/lib/VoIP/worker-bootstrap.d.ts +1 -0
  369. package/lib/VoIP/worker-bootstrap.js +1042 -0
  370. package/lib/WABinary/constants.d.ts +61 -0
  371. package/lib/WABinary/constants.js +1466 -0
  372. package/lib/WABinary/decode.d.ts +9 -0
  373. package/lib/WABinary/decode.js +261 -0
  374. package/lib/WABinary/encode.d.ts +2 -0
  375. package/lib/WABinary/encode.js +219 -0
  376. package/lib/WABinary/generic-utils.d.ts +45 -0
  377. package/lib/WABinary/generic-utils.js +285 -0
  378. package/lib/WABinary/index.d.ts +5 -0
  379. package/lib/WABinary/index.js +5 -0
  380. package/lib/WABinary/jid-utils.d.ts +32 -0
  381. package/lib/WABinary/jid-utils.js +102 -0
  382. package/lib/WABinary/types.d.ts +1 -0
  383. package/lib/WABinary/types.js +1 -0
  384. package/lib/WAM/BinaryInfo.d.ts +7 -0
  385. package/lib/WAM/BinaryInfo.js +9 -0
  386. package/lib/WAM/constants.d.ts +34926 -0
  387. package/lib/WAM/constants.js +22852 -0
  388. package/lib/WAM/encode.d.ts +1 -0
  389. package/lib/WAM/encode.js +149 -0
  390. package/lib/WAM/index.d.ts +3 -0
  391. package/lib/WAM/index.js +3 -0
  392. package/lib/WAUSync/Protocols/USyncBusinessProtocol.d.ts +43 -0
  393. package/lib/WAUSync/Protocols/USyncBusinessProtocol.js +32 -0
  394. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +36 -0
  395. package/lib/WAUSync/Protocols/USyncContactProtocol.js +51 -0
  396. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +29 -0
  397. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +60 -0
  398. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  399. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +26 -0
  400. package/lib/WAUSync/Protocols/USyncFeatureProtocol.d.ts +13 -0
  401. package/lib/WAUSync/Protocols/USyncFeatureProtocol.js +28 -0
  402. package/lib/WAUSync/Protocols/USyncPictureProtocol.d.ts +22 -0
  403. package/lib/WAUSync/Protocols/USyncPictureProtocol.js +28 -0
  404. package/lib/WAUSync/Protocols/USyncSidelistProtocol.d.ts +20 -0
  405. package/lib/WAUSync/Protocols/USyncSidelistProtocol.js +23 -0
  406. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  407. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +37 -0
  408. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.d.ts +14 -0
  409. package/lib/WAUSync/Protocols/USyncTextStatusProtocol.js +24 -0
  410. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +9 -0
  411. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +24 -0
  412. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +38 -0
  413. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +49 -0
  414. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +14 -0
  415. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +28 -0
  416. package/lib/WAUSync/Protocols/index.d.ts +12 -0
  417. package/lib/WAUSync/Protocols/index.js +12 -0
  418. package/lib/WAUSync/USyncQuery.d.ts +25 -0
  419. package/lib/WAUSync/USyncQuery.js +140 -0
  420. package/lib/WAUSync/USyncUser.d.ts +24 -0
  421. package/lib/WAUSync/USyncUser.js +47 -0
  422. package/lib/WAUSync/index.d.ts +3 -0
  423. package/lib/WAUSync/index.js +3 -0
  424. package/lib/assets/wasm/loader.js +5 -0
  425. package/lib/assets/wasm/whatsapp.wasm +0 -0
  426. package/lib/assets/wasm/worker-modules.js +273 -0
  427. package/lib/exports-extra.d.ts +45 -0
  428. package/lib/exports-extra.js +47 -0
  429. package/lib/index.d.ts +16 -0
  430. package/lib/index.js +24 -0
  431. package/package.json +161 -4
@@ -0,0 +1,435 @@
1
+ /**
2
+ * Lia@Changes 09-04-26 [WIP]
3
+ * Adds support for tables and code blocks with richResponseMessage (wrapped inside botForwardedMessage).
4
+ *
5
+ * If you use or copy this code, please credit my name or project. AND DO NOT CHANGE THIS NOTE
6
+ */
7
+ import { getRandomValues, randomUUID } from 'crypto';
8
+ import { DONATE_URL, LEXER_REGEX } from '../Defaults/index.js';
9
+ import { DEFAULT_AI_BOT_JID } from '../Defaults/bot-jid.js';
10
+ import { LANGUAGE_KEYWORDS } from '../WABinary/constants.js';
11
+ import { CodeHighlightType, RichSubMessageType } from '../Types/RichType.js';
12
+ import { proto } from '../../WAProto/index.js';
13
+ import { unixTimestampSeconds } from './generics.js';
14
+ const NOOP = new Set([]);
15
+ const toImageUrlObject = (url) => {
16
+ if (!url)
17
+ return undefined;
18
+ if (typeof url === 'object')
19
+ return { imagePreviewUrl: url.imagePreviewUrl || url.url, imageHighResUrl: url.imageHighResUrl || url.url, sourceUrl: url.sourceUrl || url.url };
20
+ return { imagePreviewUrl: url, imageHighResUrl: url, sourceUrl: url };
21
+ };
22
+ const IMAGE_ALIGNMENT = { leading: 0, trailing: 1, center: 2 };
23
+ const toImageAlignment = (alignment) => {
24
+ if (typeof alignment === 'number')
25
+ return alignment;
26
+ return IMAGE_ALIGNMENT[String(alignment || 'center').toLowerCase()] ?? IMAGE_ALIGNMENT.center;
27
+ };
28
+ export const tokenizeCode = (code, language = 'javascript') => {
29
+ const keywords = LANGUAGE_KEYWORDS[language] || NOOP;
30
+ const blocks = [];
31
+ LEXER_REGEX.lastIndex = 0;
32
+ let match;
33
+ while ((match = LEXER_REGEX.exec(code)) !== null) {
34
+ if (match[1]) {
35
+ blocks.push({ highlightType: CodeHighlightType.COMMENT, codeContent: match[1] });
36
+ }
37
+ else if (match[2]) {
38
+ blocks.push({ highlightType: CodeHighlightType.STRING, codeContent: match[2] });
39
+ }
40
+ else if (match[3]) {
41
+ blocks.push({
42
+ highlightType: keywords.has(match[3]) ? CodeHighlightType.KEYWORD : CodeHighlightType.METHOD,
43
+ codeContent: match[3],
44
+ });
45
+ }
46
+ else if (match[4]) {
47
+ blocks.push({
48
+ highlightType: keywords.has(match[4]) ? CodeHighlightType.KEYWORD : CodeHighlightType.DEFAULT,
49
+ codeContent: match[4],
50
+ });
51
+ }
52
+ else if (match[5]) {
53
+ blocks.push({ highlightType: CodeHighlightType.NUMBER, codeContent: match[5] });
54
+ }
55
+ else {
56
+ blocks.push({ highlightType: CodeHighlightType.DEFAULT, codeContent: match[6] });
57
+ }
58
+ }
59
+ return blocks;
60
+ };
61
+ // Lia@Changes 09-04-26 --- Inject buffer into unifiedResponse.data to support proper rendering of rich messages (ex: tables and code blocks)
62
+ export const toUnified = (submessages, uuid) => ({
63
+ response_id: uuid || randomUUID(),
64
+ sections: submessages.map((submessage, index) => {
65
+ switch (submessage.messageType) {
66
+ case RichSubMessageType.CODE:
67
+ const codeMetadata = submessage.codeMetadata;
68
+ return {
69
+ view_model: {
70
+ primitive: {
71
+ language: codeMetadata.codeLanguage,
72
+ code_blocks: codeMetadata.codeBlocks.map((block) => ({ content: block.codeContent, type: CodeHighlightType[block.highlightType] })),
73
+ __typename: 'GenAICodeUXPrimitive'
74
+ },
75
+ __typename: 'GenAISingleLayoutViewModel'
76
+ }
77
+ };
78
+ case RichSubMessageType.CONTENT_ITEMS:
79
+ const contentItemsMeta = submessage.contentItemsMetadata;
80
+ return {
81
+ view_model: {
82
+ primitive: {
83
+ items: contentItemsMeta?.itemsMetadata || [],
84
+ content_type: contentItemsMeta?.contentType ?? 1,
85
+ __typename: 'GenAIContentItemsUXPrimitive'
86
+ },
87
+ __typename: 'GenAISingleLayoutViewModel'
88
+ }
89
+ };
90
+ case RichSubMessageType.INLINE_IMAGE:
91
+ const imgMeta = submessage.imageMetadata;
92
+ const ALIGNMENT_NAME = ['AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED', 'AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED', 'AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED'];
93
+ return {
94
+ view_model: {
95
+ primitive: {
96
+ image_url: {
97
+ image_preview_url: imgMeta?.imageUrl?.imagePreviewUrl || '',
98
+ image_high_res_url: imgMeta?.imageUrl?.imageHighResUrl || '',
99
+ source_url: imgMeta?.imageUrl?.sourceUrl || ''
100
+ },
101
+ image_text: imgMeta?.imageText || '',
102
+ alignment: ALIGNMENT_NAME[imgMeta?.alignment ?? 2],
103
+ tap_link_url: imgMeta?.tapLinkUrl || '',
104
+ __typename: 'GenAIInlineImageUXPrimitive'
105
+ },
106
+ __typename: 'GenAISingleLayoutViewModel'
107
+ }
108
+ };
109
+ case RichSubMessageType.LATEX:
110
+ const latexMeta = submessage.latexMetadata;
111
+ return {
112
+ view_model: {
113
+ primitive: {
114
+ text: latexMeta?.text || '',
115
+ expressions: latexMeta?.expressions || [],
116
+ __typename: 'GenAILatexUXPrimitive'
117
+ },
118
+ __typename: 'GenAISingleLayoutViewModel'
119
+ }
120
+ };
121
+ case RichSubMessageType.TABLE:
122
+ const tableMetadata = submessage.tableMetadata || {};
123
+ // Accept both the internal row shape ({ items, isHeading }) and
124
+ // the raw string[][] shape used by some rich-response callers.
125
+ const rawRows = Array.isArray(tableMetadata.rows) ? tableMetadata.rows : [];
126
+ const normalizedRows = rawRows.map((row, index) => {
127
+ if (Array.isArray(row)) {
128
+ return { is_header: index === 0, cells: row.map(String) };
129
+ }
130
+ const cells = Array.isArray(row?.items) ? row.items.map(String) : [];
131
+ return { is_header: !!row?.isHeading, cells };
132
+ });
133
+ return {
134
+ view_model: {
135
+ primitive: {
136
+ title: tableMetadata.title || '',
137
+ rows: normalizedRows.map((row) => ({
138
+ is_header: row.is_header,
139
+ cells: row.cells,
140
+ markdown_cells: row.cells.map((item) => ({ text: item }))
141
+ })),
142
+ __typename: 'GenATableUXPrimitive'
143
+ },
144
+ __typename: 'GenAISingleLayoutViewModel'
145
+ }
146
+ };
147
+ case RichSubMessageType.TEXT:
148
+ return {
149
+ view_model: {
150
+ primitive: {
151
+ text: submessage.messageText,
152
+ inline_entities: submessage.inlineEntities || [],
153
+ __typename: 'GenAIMarkdownTextUXPrimitive'
154
+ },
155
+ __typename: 'GenAISingleLayoutViewModel'
156
+ }
157
+ };
158
+ }
159
+ return submessage;
160
+ })
161
+ });
162
+ export const prepareRichResponseMessage = (content) => {
163
+ const { alignment, code, contentText, disclaimerText, footerText, headerText, imageText, inlineImage, inlineVideo, items, language, latex, links, noHeading, posts, products, suggested, richResponse, table, tapLinkUrl, title } = content;
164
+ let submessages = [];
165
+ if (Array.isArray(richResponse)) {
166
+ submessages = richResponse.map((submessage) => {
167
+ if (submessage.text) {
168
+ return {
169
+ messageType: RichSubMessageType.TEXT,
170
+ messageText: submessage.text,
171
+ inlineEntities: submessage.inlineEntities
172
+ };
173
+ }
174
+ else if (submessage.code) {
175
+ return {
176
+ messageType: RichSubMessageType.CODE,
177
+ codeMetadata: {
178
+ codeLanguage: submessage.language,
179
+ codeBlocks: submessage.code
180
+ }
181
+ };
182
+ }
183
+ else if (submessage.items) {
184
+ return {
185
+ messageType: RichSubMessageType.CONTENT_ITEMS,
186
+ contentItemsMetadata: {
187
+ itemsMetadata: submessage.items,
188
+ contentType: proto.AIRichResponseContentItemsMetadata.ContentType.CAROUSEL
189
+ }
190
+ };
191
+ }
192
+ else if (submessage.inlineImage) {
193
+ return {
194
+ messageType: RichSubMessageType.INLINE_IMAGE,
195
+ imageMetadata: {
196
+ imageUrl: toImageUrlObject(submessage.inlineImage),
197
+ imageText: submessage.imageText,
198
+ alignment: toImageAlignment(submessage.alignment),
199
+ tapLinkUrl: submessage.tapLinkUrl
200
+ }
201
+ };
202
+ }
203
+ else if (submessage.inlineVideo) {
204
+ return {
205
+ messageType: RichSubMessageType.TEXT,
206
+ messageText: 'INLINE_VIDEO'
207
+ };
208
+ }
209
+ else if (submessage.latex) {
210
+ return {
211
+ messageType: RichSubMessageType.LATEX,
212
+ latexMetadata: {
213
+ text: submessage.text,
214
+ expressions: submessage.latex
215
+ }
216
+ };
217
+ }
218
+ else if (submessage.posts) {
219
+ return {
220
+ messageType: RichSubMessageType.TEXT,
221
+ messageText: 'POSTS'
222
+ };
223
+ }
224
+ else if (submessage.products) {
225
+ return {
226
+ messageType: RichSubMessageType.TEXT,
227
+ messageText: 'PRODUCTS'
228
+ };
229
+ }
230
+ else if (submessage.suggested) {
231
+ return {
232
+ messageType: RichSubMessageType.TEXT,
233
+ messageText: 'SUGGESTED_PROMPT'
234
+ };
235
+ }
236
+ else if (submessage.table) {
237
+ const rows = Array.isArray(submessage.table)
238
+ ? submessage.table.map((row, index) => Array.isArray(row)
239
+ ? { isHeading: index === 0, items: row.map(String) }
240
+ : row)
241
+ : [];
242
+ return {
243
+ messageType: RichSubMessageType.TABLE,
244
+ tableMetadata: {
245
+ title: submessage.title || '',
246
+ rows
247
+ }
248
+ };
249
+ }
250
+ return submessage;
251
+ });
252
+ }
253
+ else {
254
+ if (headerText) {
255
+ submessages.push({
256
+ messageType: RichSubMessageType.TEXT,
257
+ messageText: headerText
258
+ });
259
+ }
260
+ if (contentText) {
261
+ submessages.push({
262
+ messageType: RichSubMessageType.TEXT,
263
+ messageText: contentText
264
+ });
265
+ }
266
+ if (code) {
267
+ language ||= 'javascript';
268
+ submessages.push({
269
+ messageType: RichSubMessageType.CODE,
270
+ codeMetadata: {
271
+ codeLanguage: language,
272
+ codeBlocks: tokenizeCode(code, language)
273
+ }
274
+ });
275
+ }
276
+ if (items) {
277
+ submessages.push({
278
+ messageType: RichSubMessageType.CONTENT_ITEMS,
279
+ contentItemsMetadata: {
280
+ itemsMetadata: items,
281
+ contentType: proto.AIRichResponseContentItemsMetadata.ContentType.CAROUSEL
282
+ }
283
+ });
284
+ }
285
+ if (inlineImage) {
286
+ submessages.push({
287
+ messageType: RichSubMessageType.INLINE_IMAGE,
288
+ imageMetadata: {
289
+ imageUrl: toImageUrlObject(inlineImage),
290
+ imageText,
291
+ alignment: toImageAlignment(alignment),
292
+ tapLinkUrl
293
+ }
294
+ });
295
+ }
296
+ if (inlineVideo) {
297
+ submessages.push({
298
+ messageType: RichSubMessageType.TEXT,
299
+ messageText: 'INLINE_VIDEO'
300
+ });
301
+ }
302
+ if (latex) {
303
+ submessages.push({
304
+ messageType: RichSubMessageType.LATEX,
305
+ latexMetadata: {
306
+ text,
307
+ expressions: latex
308
+ }
309
+ });
310
+ }
311
+ if (links) {
312
+ links.forEach((linkField, index) => {
313
+ const prefix = 'SS_' + index;
314
+ const url = linkField.url || DONATE_URL || undefined;
315
+ const sources = linkField.sources?.map((sourceField) => ({
316
+ source_type: 'THIRD_PARTY',
317
+ source_display_name: sourceField.displayName || 'Donate',
318
+ source_subtitle: sourceField.subtitle || 'Link',
319
+ source_url: sourceField.url || url
320
+ }));
321
+ submessages.push({
322
+ messageType: RichSubMessageType.TEXT,
323
+ messageText: linkField.text + ` {{${prefix}}}¹{{/${prefix}}} `,
324
+ inlineEntities: [{
325
+ key: prefix,
326
+ metadata: {
327
+ reference_id: index + 1,
328
+ reference_url: url,
329
+ reference_title: linkField.title || 'Link',
330
+ reference_display_name: linkField.displayName || 'Link',
331
+ sources: sources || [],
332
+ __typename: 'GenAISearchCitationItem'
333
+ }
334
+ }]
335
+ });
336
+ });
337
+ }
338
+ if (posts) {
339
+ submessages.push({
340
+ messageType: RichSubMessageType.TEXT,
341
+ messageText: 'POSTS'
342
+ });
343
+ }
344
+ if (products) {
345
+ submessages.push({
346
+ messageType: RichSubMessageType.TEXT,
347
+ messageText: 'PRODUCTS'
348
+ });
349
+ }
350
+ if (suggested) {
351
+ submessages.push({
352
+ messageType: RichSubMessageType.TEXT,
353
+ messageText: 'SUGGESTED_PROMPT'
354
+ });
355
+ }
356
+ if (table) {
357
+ submessages.push({
358
+ messageType: RichSubMessageType.TABLE,
359
+ tableMetadata: {
360
+ title,
361
+ rows: table.map((items, index) => ({
362
+ isHeading: !noHeading && index == 0,
363
+ items
364
+ }))
365
+ }
366
+ });
367
+ }
368
+ if (footerText) {
369
+ submessages.push({
370
+ messageType: RichSubMessageType.TEXT,
371
+ messageText: footerText
372
+ });
373
+ }
374
+ }
375
+ const uuid = randomUUID();
376
+ const unified = toUnified(submessages, uuid);
377
+ const richResponseMessage = proto.AIRichResponseMessage.create({
378
+ submessages,
379
+ messageType: proto.AIRichResponseMessageType.AI_RICH_RESPONSE_TYPE_STANDARD,
380
+ unifiedResponse: {
381
+ data: Buffer.from(JSON.stringify(unified)) // Lia@Note 25-04-26 --- Expects "ArrayBufferLike"
382
+ },
383
+ contextInfo: {
384
+ isForwarded: true,
385
+ forwardingScore: 1,
386
+ forwardedAiBotMessageInfo: { botJid: DEFAULT_AI_BOT_JID },
387
+ forwardOrigin: 4
388
+ }
389
+ });
390
+ const message = wrapToBotForwardedMessage(richResponseMessage);
391
+ const botMetadata = message.messageContextInfo.botMetadata;
392
+ // Lia@Note 13-05-26 --- Add disclaimer text on richResponseMessage
393
+ if (disclaimerText) {
394
+ botMetadata.messageDisclaimerText = disclaimerText;
395
+ }
396
+ // Lia@Note 15-05-26 --- Add responseId from unified directly to botMetadata
397
+ botMetadata.botResponseId = uuid;
398
+ return message;
399
+ };
400
+ // Lia@Note 17-04-26 --- signature and certificateChain for proofs[] field
401
+ export const botMetadataSignature = () => {
402
+ const signature = new Uint8Array(64);
403
+ getRandomValues(signature);
404
+ return signature;
405
+ };
406
+ export const botMetadataCertificate = (length = 685) => {
407
+ const certificate = new Uint8Array(length);
408
+ certificate[0] = 48;
409
+ certificate[1] = 130;
410
+ getRandomValues(certificate.subarray(2));
411
+ return certificate;
412
+ };
413
+ export const wrapToBotForwardedMessage = (richResponseMessage, { verification = false } = {}) => ({
414
+ messageContextInfo: {
415
+ botMetadata: verification ? {
416
+ // Placeholder proof (random bytes, NOT a real Meta signature) - opt-in only.
417
+ verificationMetadata: {
418
+ proofs: [
419
+ {
420
+ certificateChain: [
421
+ botMetadataCertificate(),
422
+ botMetadataCertificate(892)
423
+ ],
424
+ version: 1,
425
+ useCase: 1,
426
+ signature: botMetadataSignature()
427
+ }
428
+ ]
429
+ }
430
+ } : {}
431
+ },
432
+ botForwardedMessage: {
433
+ message: { richResponseMessage }
434
+ }
435
+ });