@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,152 @@
1
+ export class AutoReplyHandler {
2
+ rules = new Map();
3
+ cooldowns = new Map();
4
+ globalCooldown = new Map();
5
+ sendMessage;
6
+ sendPresence;
7
+ options;
8
+ constructor(sendMessage, sendPresence, options = {}) {
9
+ this.sendMessage = sendMessage;
10
+ this.sendPresence = sendPresence;
11
+ this.options = {
12
+ globalCooldown: options.globalCooldown ?? 1000,
13
+ simulateTyping: options.simulateTyping ?? false,
14
+ typingDuration: options.typingDuration ?? 1000,
15
+ multiMatch: options.multiMatch ?? false,
16
+ onReply: options.onReply ?? (() => { }),
17
+ onError: options.onError ?? (() => { })
18
+ };
19
+ }
20
+ generateId() {
21
+ return `ar_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
22
+ }
23
+ /** Add a rule keyed by keywords, a regex pattern, or an exact-match string. */
24
+ addRule(rule) {
25
+ const fullRule = {
26
+ ...rule,
27
+ id: rule.id ?? this.generateId(),
28
+ active: rule.active ?? true,
29
+ priority: rule.priority ?? 0
30
+ };
31
+ if (!fullRule.keywords && !fullRule.pattern && !fullRule.exactMatch)
32
+ throw new Error('Rule must have keywords, pattern, or exactMatch');
33
+ this.rules.set(fullRule.id, fullRule);
34
+ return fullRule;
35
+ }
36
+ removeRule(id) {
37
+ return this.rules.delete(id);
38
+ }
39
+ getRules() {
40
+ return Array.from(this.rules.values());
41
+ }
42
+ getRule(id) {
43
+ return this.rules.get(id);
44
+ }
45
+ setRuleActive(id, active) {
46
+ const r = this.rules.get(id);
47
+ if (r) {
48
+ r.active = active;
49
+ return true;
50
+ }
51
+ return false;
52
+ }
53
+ clearRules() {
54
+ this.rules.clear();
55
+ }
56
+ checkCooldown(ruleId, jid) {
57
+ return Date.now() - (this.cooldowns.get(`${ruleId}:${jid}`) ?? 0) > 0;
58
+ }
59
+ checkGlobalCooldown(jid) {
60
+ return Date.now() - (this.globalCooldown.get(jid) ?? 0) > this.options.globalCooldown;
61
+ }
62
+ setCooldown(ruleId, jid, cooldown) {
63
+ this.cooldowns.set(`${ruleId}:${jid}`, Date.now() + cooldown);
64
+ }
65
+ matchRule(text, rule) {
66
+ if (!rule.active)
67
+ return null;
68
+ if (text.toLowerCase() === rule.exactMatch?.toLowerCase())
69
+ return [text];
70
+ if (rule.keywords?.length) {
71
+ const lower = text.toLowerCase();
72
+ for (const kw of rule.keywords)
73
+ if (lower.includes(kw.toLowerCase()))
74
+ return [kw];
75
+ }
76
+ if (rule.pattern)
77
+ return text.match(rule.pattern);
78
+ return null;
79
+ }
80
+ isJidAllowed(jid, rule) {
81
+ const isGroup = jid.endsWith('@g.us');
82
+ if (jid.endsWith('@newsletter'))
83
+ return false;
84
+ if (rule.groupsOnly && !isGroup)
85
+ return false;
86
+ if (rule.privateOnly && isGroup)
87
+ return false;
88
+ if (rule.allowedJids?.length && !rule.allowedJids.includes(jid))
89
+ return false;
90
+ if (rule.blockedJids?.includes(jid))
91
+ return false;
92
+ return true;
93
+ }
94
+ /**
95
+ * Feed each incoming message through here (e.g. from `messages.upsert`).
96
+ * Returns true if a rule matched and a reply was sent.
97
+ */
98
+ async processMessage(message) {
99
+ const content = message.message;
100
+ if (!content)
101
+ return false;
102
+ const text = content.conversation ||
103
+ content.extendedTextMessage?.text ||
104
+ content.imageMessage?.caption ||
105
+ content.videoMessage?.caption ||
106
+ content.documentMessage?.caption ||
107
+ '';
108
+ if (!text)
109
+ return false;
110
+ const jid = message.key.remoteJid;
111
+ if (!jid || !this.checkGlobalCooldown(jid))
112
+ return false;
113
+ const sortedRules = Array.from(this.rules.values())
114
+ .filter((r) => r.active)
115
+ .sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
116
+ let matched = false;
117
+ for (const rule of sortedRules) {
118
+ if (!this.isJidAllowed(jid, rule))
119
+ continue;
120
+ if (rule.cooldown && !this.checkCooldown(rule.id, jid))
121
+ continue;
122
+ const match = this.matchRule(text, rule);
123
+ if (!match)
124
+ continue;
125
+ try {
126
+ let response;
127
+ if (typeof rule.response === 'function')
128
+ response = await rule.response(message, match);
129
+ else
130
+ response = rule.response;
131
+ if (this.options.simulateTyping && this.sendPresence) {
132
+ await this.sendPresence(jid, 'composing');
133
+ await new Promise((r) => setTimeout(r, this.options.typingDuration));
134
+ await this.sendPresence(jid, 'paused');
135
+ }
136
+ await this.sendMessage(jid, response, rule.quoted ? { quoted: message } : undefined);
137
+ this.globalCooldown.set(jid, Date.now());
138
+ if (rule.cooldown)
139
+ this.setCooldown(rule.id, jid, rule.cooldown);
140
+ this.options.onReply(rule, message, response);
141
+ matched = true;
142
+ if (!this.options.multiMatch)
143
+ break;
144
+ }
145
+ catch (error) {
146
+ this.options.onError(error, rule, message);
147
+ }
148
+ }
149
+ return matched;
150
+ }
151
+ }
152
+ export const createAutoReply = (sendMessage, sendPresence, options) => new AutoReplyHandler(sendMessage, sendPresence, options);
@@ -0,0 +1,59 @@
1
+ export function isBadMacError(error: any): any;
2
+ export function isSessionError(error: any): any;
3
+ export class BadMacHandler {
4
+ /**
5
+ * @param {object} [options]
6
+ * @param {number} [options.maxRetries=5] Errors within one window before `hasReachedLimit()` turns true.
7
+ * @param {number} [options.resetInterval=300000] Window length (ms); the counter resets once it has passed.
8
+ * @param {string} [options.authFolder] Folder used by `useMultiFileAuthState()` — required for cleanup.
9
+ * @param {{ warn?: Function, error?: Function }} [options.logger] pino-style logger (defaults to silent).
10
+ * @param {(stats: object) => void} [options.onLimit] Called each time an error is handled while at/over the limit.
11
+ */
12
+ constructor(options?: {
13
+ maxRetries?: number;
14
+ resetInterval?: number;
15
+ authFolder?: string;
16
+ logger?: {
17
+ warn?: Function;
18
+ error?: Function;
19
+ };
20
+ onLimit?: (stats: object) => void;
21
+ });
22
+ errorCount: number;
23
+ maxRetries: number;
24
+ resetInterval: number;
25
+ lastReset: number;
26
+ authFolder: string;
27
+ logger: {
28
+ warn?: Function;
29
+ error?: Function;
30
+ };
31
+ onLimit: (stats: object) => void;
32
+ isBadMacError(error: any): any;
33
+ isSessionError(error: any): any;
34
+ /**
35
+ * Delete per-peer Signal session files (`session-*`, `sender-key-*`) from `authFolder`. creds.json and
36
+ * app-state-sync-* are always kept; peers renegotiate sessions on the next message. Call it when the bot is
37
+ * idle or right before a restart — the running socket may still hold those sessions in memory.
38
+ * @returns {Promise<string[]>} names of the removed files
39
+ */
40
+ clearProblematicSessionFiles(opts1?: { [key: string]: any;
41
+ dryRun?: boolean;
42
+ }): Promise<string[]>;
43
+ incrementErrorCount(): void;
44
+ resetErrorCount(): void;
45
+ hasReachedLimit(): boolean;
46
+ /**
47
+ * @returns {boolean} true when it was a Bad MAC error (handled/counted — caller may ignore it);
48
+ * false when it was anything else (caller must rethrow).
49
+ */
50
+ handleError(error: any, context?: string): boolean;
51
+ /** Wrap an async fn: Bad MAC is swallowed (returns null), every other error is rethrown. */
52
+ createSafeWrapper(fn: any, context: any): (...args: any[]) => Promise<any>;
53
+ getStats(): {
54
+ errorCount: number;
55
+ maxRetries: number;
56
+ lastReset: string;
57
+ timeUntilReset: number;
58
+ };
59
+ }
@@ -0,0 +1,119 @@
1
+ // Vanz@Port (v2.1.14) --- adapted from @lpzeravk/baileys 1.0.0 (lib/Utils/bad-mac-handler.js, MIT), rewritten:
2
+ // - comments/log text translated to English; logger is injectable (this fork's Utils/logger.js is a bare pino
3
+ // instance, not the errorLog/warningLog helpers the source imported);
4
+ // - `authFolder` has NO hardcoded default path (the source assumed ./assets/auth/baileys) — cleanup is a no-op
5
+ // with a warning until you pass it;
6
+ // - `decryption failed` no longer counts as Bad MAC (it also matches unrelated media-decrypt errors);
7
+ // - cleanup is async, supports `dryRun`, and returns the removed file names.
8
+ //
9
+ // "Bad MAC" happens when a peer's Signal session goes out of sync (they reinstalled WhatsApp, changed device, or a
10
+ // key exchange was lost). It is expected now and then and is not a bot bug — this helper detects/counts it so your own
11
+ // try/catch can ignore it, and can drop the per-peer session files (creds are never touched).
12
+ import fs from 'node:fs/promises';
13
+ import path from 'node:path';
14
+ const noop = () => { };
15
+ const PRESERVE = ['creds.json', 'app-state-sync-key', 'app-state-sync-version'];
16
+ export const isBadMacError = (error) => {
17
+ const msg = error?.message || String(error ?? '');
18
+ return msg.includes('Bad MAC') || msg.includes('MAC verification failed');
19
+ };
20
+ export const isSessionError = (error) => {
21
+ const msg = error?.message || String(error ?? '');
22
+ return msg.includes('Session') || msg.includes('signal protocol') || msg.includes('decrypt') || isBadMacError(error);
23
+ };
24
+ export class BadMacHandler {
25
+ /**
26
+ * @param {object} [options]
27
+ * @param {number} [options.maxRetries=5] Errors within one window before `hasReachedLimit()` turns true.
28
+ * @param {number} [options.resetInterval=300000] Window length (ms); the counter resets once it has passed.
29
+ * @param {string} [options.authFolder] Folder used by `useMultiFileAuthState()` — required for cleanup.
30
+ * @param {{ warn?: Function, error?: Function }} [options.logger] pino-style logger (defaults to silent).
31
+ * @param {(stats: object) => void} [options.onLimit] Called each time an error is handled while at/over the limit.
32
+ */
33
+ constructor(options = {}) {
34
+ this.errorCount = 0;
35
+ this.maxRetries = options.maxRetries ?? 5;
36
+ this.resetInterval = options.resetInterval ?? 300000;
37
+ this.lastReset = Date.now();
38
+ this.authFolder = options.authFolder;
39
+ this.logger = options.logger ?? {};
40
+ this.onLimit = options.onLimit;
41
+ }
42
+ isBadMacError(error) {
43
+ return isBadMacError(error);
44
+ }
45
+ isSessionError(error) {
46
+ return isSessionError(error);
47
+ }
48
+ /**
49
+ * Delete per-peer Signal session files (`session-*`, `sender-key-*`) from `authFolder`. creds.json and
50
+ * app-state-sync-* are always kept; peers renegotiate sessions on the next message. Call it when the bot is
51
+ * idle or right before a restart — the running socket may still hold those sessions in memory.
52
+ * @returns {Promise<string[]>} names of the removed files
53
+ */
54
+ async clearProblematicSessionFiles({ dryRun = false } = {}) {
55
+ if (!this.authFolder) {
56
+ (this.logger.warn ?? noop).call(this.logger, '[bad-mac] authFolder not configured — nothing cleared');
57
+ return [];
58
+ }
59
+ const removed = [];
60
+ try {
61
+ for (const file of await fs.readdir(this.authFolder)) {
62
+ if (PRESERVE.some((p) => file.includes(p))) continue;
63
+ if (!(file.startsWith('session-') || file.includes('sender-key'))) continue;
64
+ const full = path.join(this.authFolder, file);
65
+ if (!(await fs.stat(full)).isFile()) continue;
66
+ if (!dryRun) await fs.unlink(full);
67
+ removed.push(file);
68
+ }
69
+ } catch (err) {
70
+ (this.logger.error ?? noop).call(this.logger, { err }, '[bad-mac] failed to clear session files');
71
+ return removed;
72
+ }
73
+ if (removed.length) (this.logger.warn ?? noop).call(this.logger, `[bad-mac] ${dryRun ? 'would remove' : 'removed'} ${removed.length} session file(s); creds preserved`);
74
+ return removed;
75
+ }
76
+ incrementErrorCount() {
77
+ if (Date.now() - this.lastReset > this.resetInterval) {
78
+ this.resetErrorCount();
79
+ }
80
+ this.errorCount++;
81
+ }
82
+ resetErrorCount() {
83
+ this.errorCount = 0;
84
+ this.lastReset = Date.now();
85
+ }
86
+ hasReachedLimit() {
87
+ return this.errorCount >= this.maxRetries;
88
+ }
89
+ /**
90
+ * @returns {boolean} true when it was a Bad MAC error (handled/counted — caller may ignore it);
91
+ * false when it was anything else (caller must rethrow).
92
+ */
93
+ handleError(error, context = 'unknown') {
94
+ if (!isBadMacError(error)) return false;
95
+ this.incrementErrorCount();
96
+ (this.logger.warn ?? noop).call(this.logger, `[bad-mac] ${context}: ${error.message} (${this.errorCount}/${this.maxRetries})`);
97
+ if (this.hasReachedLimit()) this.onLimit?.(this.getStats());
98
+ return true;
99
+ }
100
+ /** Wrap an async fn: Bad MAC is swallowed (returns null), every other error is rethrown. */
101
+ createSafeWrapper(fn, context) {
102
+ return async (...args) => {
103
+ try {
104
+ return await fn(...args);
105
+ } catch (error) {
106
+ if (this.handleError(error, context)) return null;
107
+ throw error;
108
+ }
109
+ };
110
+ }
111
+ getStats() {
112
+ return {
113
+ errorCount: this.errorCount,
114
+ maxRetries: this.maxRetries,
115
+ lastReset: new Date(this.lastReset).toISOString(),
116
+ timeUntilReset: Math.max(0, this.resetInterval - (Date.now() - this.lastReset))
117
+ };
118
+ }
119
+ }
@@ -0,0 +1,5 @@
1
+ export function captureEventStream(ev: any, filename: any): void;
2
+ export function readAndEmitEventStream(filename: any, delayIntervalMs?: number): {
3
+ ev: any;
4
+ task: Promise<void>;
5
+ };
@@ -0,0 +1,62 @@
1
+ // Ported from @queenanya/baileys `addons/baileys-event-stream.ts`.
2
+ // Adjustments for @vanzxysenpai/baileys: import paths rewired to this fork's own
3
+ // `generics.js` (delay) and `make-mutex.js` (makeMutex) — both already
4
+ // present, no logic changes otherwise.
5
+ import EventEmitter from 'events';
6
+ import { createReadStream } from 'fs';
7
+ import { writeFile } from 'fs/promises';
8
+ import { createInterface } from 'readline';
9
+ import { delay } from './generics.js';
10
+ import { makeMutex } from './make-mutex.js';
11
+
12
+ /**
13
+ * Monkey-patches `ev.emit` to append every Baileys event as a JSON line
14
+ * (NDJSON) to `filename`. Useful for debugging or replaying sessions.
15
+ *
16
+ * @example
17
+ * captureEventStream(sock.ev, './events.ndjson')
18
+ */
19
+ export const captureEventStream = (ev, filename) => {
20
+ const originalEmit = ev.emit.bind(ev);
21
+ const writeMutex = makeMutex();
22
+ const patchedEmit = (event, ...rest) => {
23
+ const line = JSON.stringify({ timestamp: Date.now(), event, data: rest[0] }) + '\n';
24
+ const result = originalEmit(event, ...rest);
25
+ void writeMutex.mutex(async () => {
26
+ await writeFile(filename, line, { flag: 'a' });
27
+ });
28
+ return result;
29
+ };
30
+ ev.emit = patchedEmit;
31
+ };
32
+
33
+ /**
34
+ * Reads an NDJSON file written by {@link captureEventStream} and replays
35
+ * each event on a new EventEmitter.
36
+ *
37
+ * @param filename Path to the NDJSON file.
38
+ * @param delayIntervalMs Milliseconds to wait between events (default 0).
39
+ * @returns `{ ev, task }` — ev is the emitter, task resolves when done.
40
+ */
41
+ export const readAndEmitEventStream = (filename, delayIntervalMs = 0) => {
42
+ const ev = new EventEmitter();
43
+ const fireEvents = async () => {
44
+ const fileStream = createReadStream(filename);
45
+ const rl = createInterface({ input: fileStream, crlfDelay: Infinity });
46
+ for await (const line of rl) {
47
+ if (!line.trim())
48
+ continue;
49
+ try {
50
+ const { event, data } = JSON.parse(line);
51
+ ev.emit(event, data);
52
+ if (delayIntervalMs)
53
+ await delay(delayIntervalMs);
54
+ }
55
+ catch {
56
+ // skip malformed lines
57
+ }
58
+ }
59
+ fileStream.destroy();
60
+ };
61
+ return { ev, task: fireEvents() };
62
+ };
@@ -0,0 +1,9 @@
1
+ export namespace Browsers {
2
+ function ubuntu(browser: any): any[];
3
+ function macOS(browser: any): any[];
4
+ function baileys(browser: any): any[];
5
+ function windows(browser: any): any[];
6
+ function appropriate(browser: any): any[];
7
+ }
8
+ export function getPlatformId(browser: any): string;
9
+ export function isAndroidBrowser(browser: any): boolean;
@@ -0,0 +1,29 @@
1
+ import { platform, release } from 'os';
2
+ import { proto } from '../../WAProto/index.js';
3
+ const PLATFORM_MAP = {
4
+ aix: 'AIX',
5
+ darwin: 'Mac OS',
6
+ win32: 'Windows',
7
+ android: 'Android',
8
+ freebsd: 'FreeBSD',
9
+ openbsd: 'OpenBSD',
10
+ sunos: 'Solaris',
11
+ linux: undefined,
12
+ haiku: undefined,
13
+ cygwin: undefined,
14
+ netbsd: undefined
15
+ };
16
+ export const Browsers = {
17
+ ubuntu: browser => ['Ubuntu', browser, '22.04.4'],
18
+ macOS: browser => ['Mac OS', browser, '14.4.1'],
19
+ baileys: browser => ['Baileys', browser, '6.5.0'],
20
+ windows: browser => ['Windows', browser, '10.0.22631'],
21
+ /** The appropriate browser based on your OS & release */
22
+ appropriate: browser => [PLATFORM_MAP[platform()] || 'Ubuntu', browser, release()]
23
+ };
24
+ export const getPlatformId = (browser) => {
25
+ const platformType = proto.DeviceProps.PlatformType[browser.toUpperCase()];
26
+ return platformType ? platformType.toString() : '1'; //chrome
27
+ };
28
+ /** Vanz@Port (2.0.3) --- from Bail-master browser-utils: true when the browser tuple is an Android companion. */
29
+ export const isAndroidBrowser = (browser) => typeof browser?.[1] === 'string' && browser[1].toUpperCase() === 'ANDROID';
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Uploads images not already uploaded to WA's servers
3
+ */
4
+ export function uploadingNecessaryImagesOfProduct(product: any, waUploadToServer: any, timeoutMs?: number): Promise<any>;
5
+ export function parseCatalogNode(node: any): {
6
+ products: any;
7
+ nextPageCursor: any;
8
+ };
9
+ export function parseCollectionsNode(node: any): {
10
+ collections: any;
11
+ };
12
+ export function parseOrderDetailsNode(node: any): {
13
+ price: {
14
+ total: number;
15
+ currency: any;
16
+ };
17
+ products: any;
18
+ };
19
+ export function toProductNode(productId: any, product: any): {
20
+ tag: string;
21
+ attrs: {
22
+ compliance_category: string;
23
+ is_hidden: any;
24
+ };
25
+ content: {
26
+ tag: string;
27
+ attrs: {};
28
+ content: any;
29
+ }[];
30
+ };
31
+ export function parseProductNode(productNode: any): {
32
+ id: any;
33
+ imageUrls: {
34
+ requested: any;
35
+ original: any;
36
+ };
37
+ reviewStatus: {
38
+ whatsapp: any;
39
+ };
40
+ availability: string;
41
+ name: any;
42
+ retailerId: any;
43
+ url: any;
44
+ description: any;
45
+ price: number;
46
+ currency: any;
47
+ isHidden: boolean;
48
+ };
49
+ export function uploadingNecessaryImages(images: any, waUploadToServer: any, timeoutMs?: number): Promise<any[]>;