@badzz88/baileys 8.4.7 → 8.4.9

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 (240) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1055 -337
  3. package/WAProto/WAProto.proto +347 -6
  4. package/WAProto/fix-import.js +38 -0
  5. package/WAProto/fix-imports.js +86 -85
  6. package/WAProto/index.d.ts +4913 -25
  7. package/WAProto/index.js +14074 -98
  8. package/package.json +50 -90
  9. package/src/Defaults/index.js +201 -0
  10. package/src/Defaults/phonenumber-mcc.json +223 -0
  11. package/src/Signal/Group/ciphertext-message.js +15 -0
  12. package/src/Signal/Group/group-session-builder.js +92 -0
  13. package/src/Signal/Group/group_cipher.js +89 -0
  14. package/src/Signal/Group/index.js +136 -0
  15. package/src/Signal/Group/keyhelper.js +73 -0
  16. package/src/Signal/Group/sender-chain-key.js +32 -0
  17. package/src/Signal/Group/sender-key-distribution-message.js +66 -0
  18. package/src/Signal/Group/sender-key-message.js +69 -0
  19. package/src/Signal/Group/sender-key-name.js +50 -0
  20. package/src/Signal/Group/sender-key-record.js +44 -0
  21. package/src/Signal/Group/sender-key-state.js +97 -0
  22. package/src/Signal/Group/sender-message-key.js +30 -0
  23. package/src/Signal/libsignal.js +470 -0
  24. package/src/Signal/lid-mapping.js +262 -0
  25. package/src/Socket/Client/index.js +30 -0
  26. package/src/Socket/Client/types.js +13 -0
  27. package/src/Socket/Client/websocket.js +62 -0
  28. package/src/Socket/aigroups.js +240 -0
  29. package/src/Socket/business.js +422 -0
  30. package/src/Socket/chats.js +2374 -0
  31. package/src/Socket/communities.js +580 -0
  32. package/src/Socket/graphql.js +915 -0
  33. package/src/Socket/groups.js +812 -0
  34. package/src/Socket/index.js +37 -0
  35. package/src/Socket/interactive-handler.js +579 -0
  36. package/src/Socket/interop.js +566 -0
  37. package/src/Socket/managed-account.js +214 -0
  38. package/src/Socket/messages-recv.js +3012 -0
  39. package/src/Socket/messages-send.js +2163 -0
  40. package/{lib → src}/Socket/mex.js +11 -5
  41. package/src/Socket/newsletter.js +1057 -0
  42. package/src/Socket/privacy.js +452 -0
  43. package/src/Socket/registration.js +434 -0
  44. package/src/Socket/socket.js +1079 -0
  45. package/src/Socket/text-router.js +67 -0
  46. package/src/Socket/username.js +234 -0
  47. package/src/Store/index.js +36 -0
  48. package/src/Store/make-cache-manager-store.js +90 -0
  49. package/src/Store/make-in-memory-store.js +506 -0
  50. package/src/Store/make-ordered-dictionary.js +81 -0
  51. package/src/Store/object-repository.js +29 -0
  52. package/src/Types/Auth.js +38 -0
  53. package/src/Types/Bussines.js +2 -0
  54. package/src/Types/Call.js +2 -0
  55. package/src/Types/Chat.js +4 -0
  56. package/src/Types/Contact.js +2 -0
  57. package/src/Types/Events.js +2 -0
  58. package/src/Types/GroupMetadata.js +2 -0
  59. package/src/Types/Label.js +27 -0
  60. package/src/Types/LabelAssociation.js +9 -0
  61. package/src/Types/Message.js +95 -0
  62. package/src/Types/Newsletter.js +152 -0
  63. package/src/Types/Product.js +2 -0
  64. package/src/Types/Signal.js +2 -0
  65. package/src/Types/Socket.js +2 -0
  66. package/src/Types/State.js +70 -0
  67. package/src/Types/USync.js +2 -0
  68. package/src/Types/index.js +54 -0
  69. package/src/Utils/auth-utils.js +306 -0
  70. package/src/Utils/browser-utils.js +114 -0
  71. package/src/Utils/business.js +247 -0
  72. package/src/Utils/chat-utils.js +1272 -0
  73. package/src/Utils/consumer-application.js +107 -0
  74. package/src/Utils/crypto.js +125 -0
  75. package/src/Utils/decode-wa-message.js +808 -0
  76. package/src/Utils/event-buffer.js +586 -0
  77. package/src/Utils/generics.js +640 -0
  78. package/src/Utils/group-history.js +60 -0
  79. package/src/Utils/history.js +244 -0
  80. package/src/Utils/identity-change-handler.js +52 -0
  81. package/src/Utils/index.js +53 -0
  82. package/src/Utils/jid-display-normalization.js +218 -0
  83. package/src/Utils/link-preview.js +143 -0
  84. package/src/Utils/logger.js +9 -0
  85. package/src/Utils/lt-hash.js +10 -0
  86. package/src/Utils/make-mutex.js +36 -0
  87. package/src/Utils/message-composer.js +479 -0
  88. package/src/Utils/message-inspect.js +400 -0
  89. package/src/Utils/message-retry-manager.js +231 -0
  90. package/src/Utils/messages-media.js +943 -0
  91. package/src/Utils/messages.js +2490 -0
  92. package/src/Utils/meta-ai-msmsg.js +133 -0
  93. package/src/Utils/noise-handler.js +194 -0
  94. package/src/Utils/offline-node-processor.js +42 -0
  95. package/src/Utils/pre-key-manager.js +107 -0
  96. package/src/Utils/process-message.js +1047 -0
  97. package/src/Utils/reporting-utils.js +262 -0
  98. package/src/Utils/signal.js +192 -0
  99. package/src/Utils/stanza-ack.js +74 -0
  100. package/src/Utils/sync-action-utils.js +54 -0
  101. package/src/Utils/tc-token-utils.js +161 -0
  102. package/src/Utils/use-multi-file-auth-state.js +121 -0
  103. package/src/Utils/validate-connection.js +248 -0
  104. package/src/Utils/voip-rekey.js +22 -0
  105. package/src/WABinary/constants.js +1304 -0
  106. package/src/WABinary/decode.js +377 -0
  107. package/src/WABinary/encode.js +58 -0
  108. package/src/WABinary/generic-utils.js +148 -0
  109. package/src/WABinary/index.js +33 -0
  110. package/src/WABinary/jid-utils.js +374 -0
  111. package/src/WABinary/types.js +2 -0
  112. package/src/WAM/BinaryInfo.js +13 -0
  113. package/src/WAM/constants.js +39486 -0
  114. package/src/WAM/encode.js +142 -0
  115. package/src/WAM/index.js +31 -0
  116. package/src/WAUSync/Protocols/USyncBotProfileProtocol.js +55 -0
  117. package/src/WAUSync/Protocols/USyncBusinessProtocol.js +100 -0
  118. package/src/WAUSync/Protocols/USyncContactProtocol.js +60 -0
  119. package/src/WAUSync/Protocols/USyncDeviceProtocol.js +65 -0
  120. package/src/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  121. package/src/WAUSync/Protocols/USyncFeatureProtocol.js +74 -0
  122. package/src/WAUSync/Protocols/USyncLIDProtocol.js +31 -0
  123. package/src/WAUSync/Protocols/USyncPictureProtocol.js +32 -0
  124. package/src/WAUSync/Protocols/USyncSidelistProtocol.js +29 -0
  125. package/src/WAUSync/Protocols/USyncStatusProtocol.js +44 -0
  126. package/src/WAUSync/Protocols/USyncTextStatusProtocol.js +38 -0
  127. package/src/WAUSync/Protocols/USyncUsernameProtocol.js +28 -0
  128. package/src/WAUSync/Protocols/index.js +40 -0
  129. package/src/WAUSync/USyncBackoff.js +31 -0
  130. package/src/WAUSync/USyncQuery.js +204 -0
  131. package/src/WAUSync/USyncUser.js +58 -0
  132. package/src/WAUSync/index.js +32 -0
  133. package/src/antiban.js +4726 -0
  134. package/{lib → src}/index.js +48 -15
  135. package/lib/Defaults/index.js +0 -130
  136. package/lib/Signal/Group/ciphertext-message.js +0 -12
  137. package/lib/Signal/Group/group-session-builder.js +0 -30
  138. package/lib/Signal/Group/group_cipher.js +0 -82
  139. package/lib/Signal/Group/index.js +0 -12
  140. package/lib/Signal/Group/keyhelper.js +0 -18
  141. package/lib/Signal/Group/sender-chain-key.js +0 -26
  142. package/lib/Signal/Group/sender-key-distribution-message.js +0 -63
  143. package/lib/Signal/Group/sender-key-message.js +0 -66
  144. package/lib/Signal/Group/sender-key-name.js +0 -48
  145. package/lib/Signal/Group/sender-key-record.js +0 -41
  146. package/lib/Signal/Group/sender-key-state.js +0 -84
  147. package/lib/Signal/Group/sender-message-key.js +0 -26
  148. package/lib/Signal/libsignal.js +0 -431
  149. package/lib/Signal/lid-mapping.js +0 -277
  150. package/lib/Socket/Client/index.js +0 -3
  151. package/lib/Socket/Client/types.js +0 -11
  152. package/lib/Socket/Client/websocket.js +0 -54
  153. package/lib/Socket/business.js +0 -379
  154. package/lib/Socket/chats.js +0 -1193
  155. package/lib/Socket/communities.js +0 -431
  156. package/lib/Socket/groups.js +0 -374
  157. package/lib/Socket/index.js +0 -12
  158. package/lib/Socket/luxu.js +0 -386
  159. package/lib/Socket/messages-recv.js +0 -1916
  160. package/lib/Socket/messages-send.js +0 -1453
  161. package/lib/Socket/newsletter.js +0 -251
  162. package/lib/Socket/socket.js +0 -980
  163. package/lib/Socket/username.js +0 -146
  164. package/lib/Store/index.js +0 -10
  165. package/lib/Store/keyed-db.js +0 -108
  166. package/lib/Store/make-cache-manager-store.js +0 -85
  167. package/lib/Store/make-in-memory-store.js +0 -198
  168. package/lib/Store/make-ordered-dictionary.js +0 -75
  169. package/lib/Store/object-repository.js +0 -32
  170. package/lib/Types/Auth.js +0 -2
  171. package/lib/Types/Bussines.js +0 -2
  172. package/lib/Types/Call.js +0 -2
  173. package/lib/Types/Chat.js +0 -8
  174. package/lib/Types/Contact.js +0 -2
  175. package/lib/Types/Events.js +0 -2
  176. package/lib/Types/GroupMetadata.js +0 -2
  177. package/lib/Types/Label.js +0 -25
  178. package/lib/Types/LabelAssociation.js +0 -7
  179. package/lib/Types/Message.js +0 -11
  180. package/lib/Types/Mex.js +0 -37
  181. package/lib/Types/Product.js +0 -2
  182. package/lib/Types/Signal.js +0 -2
  183. package/lib/Types/Socket.js +0 -3
  184. package/lib/Types/State.js +0 -56
  185. package/lib/Types/USync.js +0 -2
  186. package/lib/Types/index.js +0 -26
  187. package/lib/Utils/auth-utils.js +0 -302
  188. package/lib/Utils/browser-utils.js +0 -49
  189. package/lib/Utils/business.js +0 -231
  190. package/lib/Utils/chat-utils.js +0 -872
  191. package/lib/Utils/companion-reg-client-utils.js +0 -35
  192. package/lib/Utils/crypto.js +0 -118
  193. package/lib/Utils/decode-wa-message.js +0 -350
  194. package/lib/Utils/event-buffer.js +0 -622
  195. package/lib/Utils/generics.js +0 -403
  196. package/lib/Utils/history.js +0 -134
  197. package/lib/Utils/identity-change-handler.js +0 -50
  198. package/lib/Utils/index.js +0 -23
  199. package/lib/Utils/link-preview.js +0 -85
  200. package/lib/Utils/logger.js +0 -3
  201. package/lib/Utils/lt-hash.js +0 -8
  202. package/lib/Utils/make-mutex.js +0 -33
  203. package/lib/Utils/message-composer.js +0 -273
  204. package/lib/Utils/message-retry-manager.js +0 -265
  205. package/lib/Utils/messages-media.js +0 -788
  206. package/lib/Utils/messages.js +0 -1260
  207. package/lib/Utils/noise-handler.js +0 -201
  208. package/lib/Utils/offline-node-processor.js +0 -40
  209. package/lib/Utils/pre-key-manager.js +0 -106
  210. package/lib/Utils/process-message.js +0 -630
  211. package/lib/Utils/reporting-utils.js +0 -258
  212. package/lib/Utils/signal.js +0 -201
  213. package/lib/Utils/stanza-ack.js +0 -38
  214. package/lib/Utils/sync-action-utils.js +0 -49
  215. package/lib/Utils/tc-token-utils.js +0 -163
  216. package/lib/Utils/use-multi-file-auth-state.js +0 -121
  217. package/lib/Utils/validate-connection.js +0 -203
  218. package/lib/WABinary/constants.js +0 -1301
  219. package/lib/WABinary/decode.js +0 -262
  220. package/lib/WABinary/encode.js +0 -220
  221. package/lib/WABinary/generic-utils.js +0 -204
  222. package/lib/WABinary/index.js +0 -6
  223. package/lib/WABinary/jid-utils.js +0 -98
  224. package/lib/WABinary/types.js +0 -2
  225. package/lib/WAM/BinaryInfo.js +0 -10
  226. package/lib/WAM/constants.js +0 -22853
  227. package/lib/WAM/encode.js +0 -150
  228. package/lib/WAM/index.js +0 -4
  229. package/lib/WAUSync/Protocols/USyncContactProtocol.js +0 -52
  230. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +0 -54
  231. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -27
  232. package/lib/WAUSync/Protocols/USyncNewsletterProtocol.js +0 -263
  233. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +0 -38
  234. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  235. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -51
  236. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -29
  237. package/lib/WAUSync/Protocols/index.js +0 -6
  238. package/lib/WAUSync/USyncQuery.js +0 -98
  239. package/lib/WAUSync/USyncUser.js +0 -31
  240. package/lib/WAUSync/index.js +0 -4
package/package.json CHANGED
@@ -1,128 +1,85 @@
1
1
  {
2
2
  "name": "@badzz88/baileys",
3
- "type": "module",
4
- "version": "8.4.7",
5
- "description": "Baileys WhatsApp Modification By Badzz88",
3
+ "version": "8.4.9",
4
+ "description": "Baileys Whatsapp Api Modification By Badzz88",
6
5
  "keywords": [
7
- "baileys",
8
- "baileys-whatsapp",
9
- "web-api",
10
6
  "whatsapp",
11
- "whatsapp-api"
7
+ "whatsapp-web",
8
+ "whatsapp-api",
9
+ "baileys",
10
+ "multi-device",
11
+ "wasm",
12
+ "rust",
13
+ "automation",
14
+ "md"
12
15
  ],
13
16
  "homepage": "https://github.com/Badzz88/baileys",
14
17
  "repository": {
15
- "type": "git",
16
- "url": "https://github.com/Badzz88/baileys"
18
+ "url": "git+https://github.com/Badzz88/baileys.git"
17
19
  },
18
20
  "license": "MIT",
19
- "author": "https://github.com/Badzz88",
20
- "main": "lib/index.js",
21
- "types": "lib/index.d.ts",
21
+ "author": "Badzz88",
22
+ "main": "src/index.js",
22
23
  "files": [
23
- "lib/**/*",
24
+ "src/**/*",
24
25
  "WAProto/**/*",
25
26
  "engine-requirements.js",
26
- "README.md",
27
- "LICENSE"
27
+ "documentation/**/*"
28
28
  ],
29
29
  "scripts": {
30
- "build:all": "tsc && typedoc",
31
- "build:docs": "typedoc",
32
- "build:tsc": "tsc",
33
- "changelog:last": "conventional-changelog -p angular -r 2",
34
- "changelog:preview": "conventional-changelog -p angular -u",
35
- "gen:protobuf": "sh WAProto/GenerateStatics.sh",
36
- "lint": "eslint src --ext .js,.ts,.jsx,.tsx",
37
- "lint:fix": "eslint src --fix --ext .js,.ts,.jsx,.tsx",
38
- "prepack": "",
39
- "prepare": "",
40
- "preinstall": "node ./engine-requirements.js",
41
- "release": "release-it",
42
- "test": "jest"
30
+ "ncu": "npm-check-updates",
31
+ "format": "prettier --write \"src/**/*.{js,json,md}\"",
32
+ "lint": "tsc && eslint src --ext .js",
33
+ "lint:fix": "npm run format && npm run lint -- --fix",
34
+ "test": "jest --runInBand",
35
+ "preinstall": "node ./engine-requirements.js"
43
36
  },
44
37
  "dependencies": {
45
- "@cacheable/node-cache": "^1.4.0",
46
- "@hapi/boom": "^9.1.3",
38
+ "@adiwajshing/keyed-db": "^0.2.4",
39
+ "@cacheable/node-cache": "^3.0.1",
40
+ "@hapi/boom": "^10.0.1",
47
41
  "async-mutex": "^0.5.0",
48
- "libsignal": "npm:@levvicode/libsignal-node",
49
- "lru-cache": "^11.1.0",
42
+ "cache-manager": "^7.2.8",
43
+ "libphonenumber-js": "^1.13.3",
44
+ "lru-cache": "^11.5.0",
50
45
  "music-metadata": "^11.12.3",
51
- "p-queue": "^9.0.0",
52
- "pino": "^9.6",
53
- "protobufjs": "^7.5.6",
54
- "whatsapp-rust-bridge": "0.5.4",
55
- "ws": "^8.13.0",
46
+ "p-queue": "^9.3.0",
47
+ "pino": "^10.3.1",
56
48
  "chalk": "^4.1.2",
57
- "cache-manager": "^7.2.8"
49
+ "protobufjs": "^7.6.1",
50
+ "qrcode-terminal": "^0.12.0",
51
+ "whatsapp-rust-bridge-baron": "github:7ucg/whatsapp-rust-bridge",
52
+ "ws": "^8.21.0"
58
53
  },
59
54
  "devDependencies": {
60
55
  "@eslint/eslintrc": "^3.3.1",
61
56
  "@eslint/js": "^9.31.0",
62
57
  "@types/jest": "^30.0.0",
63
- "@types/node": "^20.9.0",
58
+ "@types/node": "^22.0.0",
64
59
  "@types/ws": "^8.0.0",
65
- "@typescript-eslint/eslint-plugin": "^8",
66
- "@typescript-eslint/parser": "^8",
60
+ "@typescript-eslint/eslint-plugin": "^8.59.4",
61
+ "@typescript-eslint/parser": "^8.59.4",
67
62
  "@whiskeysockets/eslint-config": "^1.0.0",
68
- "conventional-changelog": "^7.1.1",
69
- "conventional-changelog-angular": "^8.0.0",
70
- "esbuild-register": "^3.6.0",
71
63
  "eslint": "^9",
72
- "eslint-config-prettier": "^10.1.2",
73
- "eslint-plugin-prettier": "^5.4.0",
64
+ "eslint-config-prettier": "^10.1.8",
65
+ "eslint-plugin-prettier": "^5.4.1",
74
66
  "jest": "^30.0.5",
75
- "jimp": "^1.6.1",
67
+ "jimp": "^1.6.0",
76
68
  "jiti": "^2.4.2",
77
69
  "json": "^11.0.0",
78
- "link-preview-js": "^3.0.0",
79
- "lru-cache": "^11.1.0",
80
- "open": "^8.4.2",
70
+ "link-preview-js": "^3.2.0",
81
71
  "pino-pretty": "^13.1.1",
82
72
  "prettier": "^3.5.3",
83
- "protobufjs-cli": "^1.1.3",
84
- "release-it": "^20.0.1",
85
- "ts-jest": "^29.4.0",
86
- "tsc-esm-fix": "^3.1.2",
87
- "tsx": "^4.20.3",
88
- "typedoc": "^0.27.9",
89
- "typedoc-plugin-markdown": "4.4.2",
90
- "typescript": "^5.8.2"
73
+ "protobufjs-cli": "^1.3.1",
74
+ "qrcode-terminal": "^0.12.0",
75
+ "ts-jest": "^29.4.11",
76
+ "tsx": "^4.22.3"
91
77
  },
92
78
  "peerDependencies": {
93
79
  "audio-decode": "^2.1.3",
94
- "jimp": "^1.6.1",
95
- "link-preview-js": "^3.0.0",
96
- "sharp": "*"
97
- },
98
- "resolutions": {
99
- "ajv@npm:^6.12.4": "^6.14.0",
100
- "basic-ftp": "^5.2.4",
101
- "brace-expansion@npm:^1.1.7": "^1.1.13",
102
- "brace-expansion@npm:^2.0.1": "^2.0.3",
103
- "flatted": "^3.4.2",
104
- "glob@npm:^10.2.2": "^10.5.0",
105
- "glob@npm:^10.3.10": "^10.5.0",
106
- "glob@npm:^10.5.0": "^10.5.0",
107
- "handlebars": "^4.7.9",
108
- "ip-address": "^10.1.1",
109
- "js-yaml@npm:^3.13.1": "^3.14.2",
110
- "js-yaml@npm:^4.1.0": "^4.1.1",
111
- "markdown-it": "^14.1.1",
112
- "minimatch@npm:^3.0.4": "^3.1.5",
113
- "minimatch@npm:^3.1.2": "^3.1.5",
114
- "minimatch@npm:^5.0.1": "^5.1.8",
115
- "minimatch@npm:^9.0.4": "^9.0.9",
116
- "minimatch@npm:^9.0.5": "^9.0.9",
117
- "picomatch@npm:^2.0.4": "^2.3.2",
118
- "picomatch@npm:^2.3.1": "^2.3.2",
119
- "picomatch@npm:^4.0.0": "^4.0.4",
120
- "picomatch@npm:^4.0.2": "^4.0.4",
121
- "socks": "^2.8.8",
122
- "tar": "^7.5.11",
123
- "tmp": "^0.2.5",
124
- "underscore": "^1.13.8",
125
- "yaml@npm:^2.6.1": "^2.8.4"
80
+ "jimp": "^1.6.0",
81
+ "link-preview-js": "^3.2.0",
82
+ "sharp": "^0.32.5"
126
83
  },
127
84
  "peerDependenciesMeta": {
128
85
  "audio-decode": {
@@ -133,6 +90,9 @@
133
90
  },
134
91
  "link-preview-js": {
135
92
  "optional": true
93
+ },
94
+ "sharp": {
95
+ "optional": true
136
96
  }
137
97
  },
138
98
  "packageManager": "yarn@4.9.2",
@@ -0,0 +1,201 @@
1
+ 'use strict'
2
+ var __importDefault =
3
+ (this && this.__importDefault) ||
4
+ function (mod) {
5
+ return mod && mod.__esModule ? mod : { default: mod }
6
+ }
7
+ Object.defineProperty(exports, '__esModule', { value: true })
8
+ exports.VERSION =
9
+ exports.TimeMs =
10
+ exports.DEFAULT_CACHE_TTLS =
11
+ exports.MIN_UPLOAD_INTERVAL =
12
+ exports.UPLOAD_TIMEOUT =
13
+ exports.INITIAL_PREKEY_COUNT =
14
+ exports.MIN_PREKEY_COUNT =
15
+ exports.MEDIA_KEYS =
16
+ exports.MEDIA_HKDF_KEY_MAPPING =
17
+ exports.MEDIA_PATH_MAP =
18
+ exports.DEFAULT_CONNECTION_CONFIG =
19
+ exports.PROCESSABLE_HISTORY_TYPES =
20
+ exports.WA_CERT_DETAILS =
21
+ exports.URL_REGEX =
22
+ exports.NOISE_WA_HEADER =
23
+ exports.KEY_BUNDLE_TYPE =
24
+ exports.DICT_VERSION =
25
+ exports.NOISE_MODE =
26
+ exports.PLACEHOLDER_MAX_AGE_SECONDS =
27
+ exports.STATUS_EXPIRY_SECONDS =
28
+ exports.WA_DEFAULT_EPHEMERAL =
29
+ exports.WA_ADV_HOSTED_KEY_INDEX_LIST_SIG_PREFIX =
30
+ exports.WA_ADV_KEY_INDEX_LIST_SIG_PREFIX =
31
+ exports.WA_ADV_HOSTED_DEVICE_SIG_PREFIX =
32
+ exports.WA_ADV_HOSTED_ACCOUNT_SIG_PREFIX =
33
+ exports.WA_ADV_DEVICE_SIG_PREFIX =
34
+ exports.WA_ADV_ACCOUNT_SIG_PREFIX =
35
+ exports.PHONE_CONNECTION_CB =
36
+ exports.DEF_TAG_PREFIX =
37
+ exports.DEF_CALLBACK_PREFIX =
38
+ exports.CALL_AUDIO_PREFIX =
39
+ exports.CALL_VIDEO_PREFIX =
40
+ exports.DEFAULT_ORIGIN =
41
+ exports.UNAUTHORIZED_CODES =
42
+ void 0
43
+ const index_js_1 = require('../../WAProto/index.js')
44
+ const libsignal_1 = require('../Signal/libsignal')
45
+ const browser_utils_1 = require('../Utils/browser-utils')
46
+ const logger_1 = __importDefault(require('../Utils/logger'))
47
+ // [major, 3000, client_revision] — client_revision is fetched from web.whatsapp.com/sw.js
48
+ const version = [2, 3000, 1043437050]
49
+ exports.VERSION = version
50
+ exports.UNAUTHORIZED_CODES = [401, 403, 419]
51
+ exports.DEFAULT_ORIGIN = 'https://web.whatsapp.com'
52
+ exports.CALL_VIDEO_PREFIX = 'https://call.whatsapp.com/video/'
53
+ exports.CALL_AUDIO_PREFIX = 'https://call.whatsapp.com/voice/'
54
+ exports.DEF_CALLBACK_PREFIX = 'CB:'
55
+ exports.DEF_TAG_PREFIX = 'TAG:'
56
+ exports.PHONE_CONNECTION_CB = 'CB:Pong'
57
+ exports.WA_ADV_ACCOUNT_SIG_PREFIX = Buffer.from([6, 0])
58
+ exports.WA_ADV_DEVICE_SIG_PREFIX = Buffer.from([6, 1])
59
+ exports.WA_ADV_HOSTED_ACCOUNT_SIG_PREFIX = Buffer.from([6, 5])
60
+ exports.WA_ADV_HOSTED_DEVICE_SIG_PREFIX = Buffer.from([6, 6])
61
+ // Prefix for the key-index-list ADV signature (CompanionDeviceAdvUtil, C08C.A0J / A0K)
62
+ exports.WA_ADV_KEY_INDEX_LIST_SIG_PREFIX = Buffer.from([6, 2])
63
+ exports.WA_ADV_HOSTED_KEY_INDEX_LIST_SIG_PREFIX = Buffer.from([6, 7])
64
+ exports.WA_DEFAULT_EPHEMERAL = 7 * 24 * 60 * 60
65
+ /** Status messages older than 24 hours are considered expired */
66
+ exports.STATUS_EXPIRY_SECONDS = 24 * 60 * 60
67
+ /** WA Web enforces a 14-day maximum age for placeholder resend requests */
68
+ exports.PLACEHOLDER_MAX_AGE_SECONDS = 14 * 24 * 60 * 60
69
+ exports.NOISE_MODE = 'Noise_XX_25519_AESGCM_SHA256\0\0\0\0'
70
+ exports.DICT_VERSION = 3
71
+ exports.KEY_BUNDLE_TYPE = Buffer.from([5])
72
+ exports.NOISE_WA_HEADER = Buffer.from([87, 65, 6, exports.DICT_VERSION]) // last is "DICT_VERSION"
73
+ /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */
74
+ exports.URL_REGEX = /https:\/\/(?![^:@\/\s]+:[^:@\/\s]+@)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?/g
75
+ exports.WA_CERT_DETAILS = {
76
+ SERIAL: 0,
77
+ ISSUER: 'WhatsAppLongTerm1',
78
+ PUBLIC_KEY: Buffer.from('142375574d0a587166aae71ebe516437c4a28b73e3695c6ce1f7f9545da8ee6b', 'hex')
79
+ }
80
+ exports.HISTORY_SYNC_PAUSED_TIMEOUT_MS = 120000
81
+ exports.PROCESSABLE_HISTORY_TYPES = [
82
+ index_js_1.proto.HistorySync.HistorySyncType.INITIAL_BOOTSTRAP,
83
+ index_js_1.proto.HistorySync.HistorySyncType.PUSH_NAME,
84
+ index_js_1.proto.HistorySync.HistorySyncType.RECENT,
85
+ index_js_1.proto.HistorySync.HistorySyncType.FULL,
86
+ index_js_1.proto.HistorySync.HistorySyncType.ON_DEMAND,
87
+ index_js_1.proto.HistorySync.HistorySyncType.NON_BLOCKING_DATA,
88
+ index_js_1.proto.HistorySync.HistorySyncType.INITIAL_STATUS_V3
89
+ ]
90
+ exports.DEFAULT_CONNECTION_CONFIG = {
91
+ version: version,
92
+ browser: browser_utils_1.Browsers.windows('Firefox'),
93
+ waWebSocketUrl: 'wss://web.whatsapp.com/ws/chat',
94
+ connectTimeoutMs: 20000,
95
+ keepAliveIntervalMs: 30000,
96
+ logger: logger_1.default.child({ class: 'baileys' }),
97
+ emitOwnEvents: true,
98
+ defaultQueryTimeoutMs: 60000,
99
+ customUploadHosts: [],
100
+ retryRequestDelayMs: 250,
101
+ maxMsgRetryCount: 5,
102
+ fireInitQueries: true,
103
+ auth: undefined,
104
+ markOnlineOnConnect: true,
105
+ syncFullHistory: false,
106
+ patchMessageBeforeSending: msg => msg,
107
+ shouldSyncHistoryMessage: ({ syncType }) => {
108
+ return syncType !== index_js_1.proto.HistorySync.HistorySyncType.FULL
109
+ },
110
+ shouldIgnoreJid: () => false,
111
+ // NOT IMPLEMENTED: receiving interop messages (BirdyChat/Haiket) is not yet supported.
112
+ // The interop bridge only establishes a Signal session with device 0 (the primary phone).
113
+ // Companion devices (any device != 0) never receive interop messages directly — no fan-out.
114
+ // masqueradeAsPrimary: true only works when Baileys is registered as the primary (no phone).
115
+ // With an existing phone account the server rejects it (401) because the noise key is bound
116
+ // to a companion slot and cannot be re-mapped to device 0 after registration.
117
+ masqueradeAsPrimary: false,
118
+ linkPreviewImageThumbnailWidth: 192,
119
+ transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 3000 },
120
+ generateHighQualityLinkPreview: false,
121
+ enableAutoSessionRecreation: true,
122
+ enableRecentMessageCache: true,
123
+ options: {},
124
+ appStateMacVerification: {
125
+ patch: false,
126
+ snapshot: false
127
+ },
128
+ countryCode: 'US',
129
+ getMessage: async () => undefined,
130
+ cachedGroupMetadata: async () => undefined,
131
+ makeSignalRepository: libsignal_1.makeLibSignalRepository,
132
+ maxConcurrentUploads: 3,
133
+ presenceUpdateIntervalMs: 5000,
134
+ groupMetadataCacheTTL: 30 * 60 * 1000,
135
+ useCachedGroupMetadata: false,
136
+ enableCallHistory: false,
137
+ reconnectOnNetworkChange: false
138
+ }
139
+ exports.MEDIA_PATH_MAP = {
140
+ image: '/mms/image',
141
+ video: '/mms/video',
142
+ document: '/mms/document',
143
+ audio: '/mms/audio',
144
+ sticker: '/mms/image',
145
+ 'thumbnail-link': '/mms/image',
146
+ 'thumbnail-image': '/mms/image',
147
+ 'thumbnail-video': '/mms/video',
148
+ 'thumbnail-document': '/mms/document',
149
+ 'product-catalog-image': '/product/image',
150
+ 'md-app-state': '',
151
+ 'md-msg-hist': '/mms/md-app-state',
152
+ 'biz-cover-photo': '/pps/biz-cover-photo',
153
+ ptv: '/mms/video'
154
+ }
155
+ exports.MEDIA_HKDF_KEY_MAPPING = {
156
+ audio: 'Audio',
157
+ document: 'Document',
158
+ gif: 'Video',
159
+ image: 'Image',
160
+ ppic: '',
161
+ product: 'Image',
162
+ ptt: 'Audio',
163
+ sticker: 'Image',
164
+ video: 'Video',
165
+ 'thumbnail-document': 'Document Thumbnail',
166
+ 'thumbnail-image': 'Image Thumbnail',
167
+ 'thumbnail-video': 'Video Thumbnail',
168
+ 'thumbnail-link': 'Link Thumbnail',
169
+ 'md-msg-hist': 'History',
170
+ 'md-app-state': 'App State',
171
+ 'product-catalog-image': 'Product Catalog Image',
172
+ 'payment-bg-image': 'Payment Background',
173
+ ptv: 'Video',
174
+ 'biz-cover-photo': 'Image',
175
+ location: 'Location',
176
+ contact: 'Contact',
177
+ 'voip-token': 'Voip Token'
178
+ }
179
+ exports.MEDIA_KEYS = Object.keys(exports.MEDIA_PATH_MAP)
180
+ exports.MIN_PREKEY_COUNT = 5
181
+ exports.INITIAL_PREKEY_COUNT = 812
182
+ exports.UPLOAD_TIMEOUT = 30000 // 30 seconds
183
+ exports.MIN_UPLOAD_INTERVAL = 5000 // 5 seconds minimum between uploads
184
+ exports.DEFAULT_CACHE_TTLS = {
185
+ SIGNAL_STORE: 5 * 60, // 5 minutes
186
+ MSG_RETRY: 60 * 60, // 1 hour
187
+ CALL_OFFER: 5 * 60, // 5 minutes
188
+ USER_DEVICES: 5 * 60, // 5 minutes
189
+ GROUP_METADATA: 30 * 60, // 30 minutes
190
+ CALL_SESSION: 10 * 60, // 10 minutes
191
+ USYNC_RESULTS: 10 * 60, // 10 minutes
192
+ IDENTITY_PROOF: 60 * 60 // 1 hour
193
+ }
194
+ exports.TimeMs = {
195
+ Second: 1000,
196
+ Minute: 60 * 1000,
197
+ Hour: 60 * 60 * 1000,
198
+ Day: 24 * 60 * 60 * 1000,
199
+ Week: 7 * 24 * 60 * 60 * 1000,
200
+ Month: 30 * 24 * 60 * 60 * 1000
201
+ }
@@ -0,0 +1,223 @@
1
+ {
2
+ "93": 412,
3
+ "355": 276,
4
+ "213": 603,
5
+ "1-684": 544,
6
+ "376": 213,
7
+ "244": 631,
8
+ "1-264": 365,
9
+ "1-268": 344,
10
+ "54": 722,
11
+ "374": 283,
12
+ "297": 363,
13
+ "61": 505,
14
+ "43": 232,
15
+ "994": 400,
16
+ "1-242": 364,
17
+ "973": 426,
18
+ "880": 470,
19
+ "1-246": 342,
20
+ "375": 257,
21
+ "32": 206,
22
+ "501": 702,
23
+ "229": 616,
24
+ "1-441": 350,
25
+ "975": 402,
26
+ "591": 736,
27
+ "387": 218,
28
+ "267": 652,
29
+ "55": 724,
30
+ "1-284": 348,
31
+ "673": 528,
32
+ "359": 284,
33
+ "226": 613,
34
+ "257": 642,
35
+ "855": 456,
36
+ "237": 624,
37
+ "238": 625,
38
+ "1-345": 346,
39
+ "236": 623,
40
+ "235": 622,
41
+ "56": 730,
42
+ "86": 454,
43
+ "57": 732,
44
+ "269": 654,
45
+ "682": 548,
46
+ "506": 712,
47
+ "385": 219,
48
+ "53": 368,
49
+ "357": 280,
50
+ "420": 230,
51
+ "243": 630,
52
+ "45": 238,
53
+ "253": 638,
54
+ "1-767": 366,
55
+ "1-809": 370,
56
+ "1-849": 370,
57
+ "1-829": 370,
58
+ "593": 740,
59
+ "20": 602,
60
+ "503": 706,
61
+ "240": 627,
62
+ "291": 657,
63
+ "372": 248,
64
+ "251": 636,
65
+ "500": 750,
66
+ "298": 288,
67
+ "679": 542,
68
+ "358": 244,
69
+ "33": 208,
70
+ "689": 547,
71
+ "241": 628,
72
+ "220": 607,
73
+ "995": 282,
74
+ "49": 262,
75
+ "233": 620,
76
+ "350": 266,
77
+ "30": 202,
78
+ "299": 290,
79
+ "1-473": 352,
80
+ "1-671": 535,
81
+ "502": 704,
82
+ "224": 537,
83
+ "592": 738,
84
+ "509": 372,
85
+ "504": 708,
86
+ "852": 454,
87
+ "36": 216,
88
+ "354": 274,
89
+ "91": 404,
90
+ "62": 510,
91
+ "98": 432,
92
+ "964": 418,
93
+ "353": 234,
94
+ "972": 425,
95
+ "39": 222,
96
+ "225": 612,
97
+ "1-876": 338,
98
+ "81": 440,
99
+ "962": 416,
100
+ "254": 639,
101
+ "686": 545,
102
+ "383": 221,
103
+ "965": 419,
104
+ "371": 247,
105
+ "961": 415,
106
+ "266": 651,
107
+ "231": 618,
108
+ "218": 606,
109
+ "423": 295,
110
+ "370": 246,
111
+ "352": 270,
112
+ "389": 294,
113
+ "261": 646,
114
+ "265": 650,
115
+ "60": 502,
116
+ "960": 472,
117
+ "223": 610,
118
+ "356": 278,
119
+ "692": 551,
120
+ "222": 609,
121
+ "230": 617,
122
+ "52": 334,
123
+ "691": 550,
124
+ "373": 259,
125
+ "377": 212,
126
+ "976": 428,
127
+ "382": 297,
128
+ "1-664": 354,
129
+ "212": 604,
130
+ "258": 643,
131
+ "95": 414,
132
+ "264": 649,
133
+ "674": 536,
134
+ "977": 429,
135
+ "31": 204,
136
+ "687": 546,
137
+ "64": 530,
138
+ "505": 710,
139
+ "227": 614,
140
+ "234": 621,
141
+ "683": 555,
142
+ "1-670": 534,
143
+ "47": 242,
144
+ "968": 226,
145
+ "92": 410,
146
+ "680": 552,
147
+ "970": 423,
148
+ "507": 714,
149
+ "675": 537,
150
+ "595": 744,
151
+ "51": 716,
152
+ "63": 515,
153
+ "48": 260,
154
+ "351": 268,
155
+ "1-787, 1-939": 330,
156
+ "974": 427,
157
+ "242": 630,
158
+ "40": 226,
159
+ "7": 250,
160
+ "250": 635,
161
+ "290": 658,
162
+ "1-869": 356,
163
+ "1-758": 358,
164
+ "508": 308,
165
+ "1-784": 360,
166
+ "685": 544,
167
+ "378": 292,
168
+ "239": 626,
169
+ "966": 420,
170
+ "221": 608,
171
+ "381": 220,
172
+ "248": 633,
173
+ "232": 619,
174
+ "65": 525,
175
+ "386": 293,
176
+ "677": 540,
177
+ "27": 655,
178
+ "211": 659,
179
+ "34": 214,
180
+ "94": 413,
181
+ "249": 634,
182
+ "597": 746,
183
+ "268": 653,
184
+ "46": 240,
185
+ "41": 228,
186
+ "963": 417,
187
+ "886": 466,
188
+ "992": 436,
189
+ "255": 640,
190
+ "66": 520,
191
+ "228": 615,
192
+ "690": 554,
193
+ "676": 539,
194
+ "1-868": 374,
195
+ "216": 605,
196
+ "90": 286,
197
+ "993": 438,
198
+ "1-649": 376,
199
+ "688": 553,
200
+ "1-340": 332,
201
+ "256": 641,
202
+ "380": 255,
203
+ "971": 424,
204
+ "44": 234,
205
+ "1": 310,
206
+ "598": 748,
207
+ "998": 434,
208
+ "678": 541,
209
+ "379": 225,
210
+ "58": 734,
211
+ "681": 543,
212
+ "967": 421,
213
+ "260": 645,
214
+ "263": 648,
215
+ "670": 514,
216
+ "245": 632,
217
+ "856": 457,
218
+ "599": 362,
219
+ "850": 467,
220
+ "262": 647,
221
+ "82": 450,
222
+ "84": 452
223
+ }
@@ -0,0 +1,15 @@
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.CiphertextMessage = void 0
4
+ class CiphertextMessage {
5
+ constructor() {
6
+ this.UNSUPPORTED_VERSION = 1
7
+ this.CURRENT_VERSION = 3
8
+ this.WHISPER_TYPE = 2
9
+ this.PREKEY_TYPE = 3
10
+ this.SENDERKEY_TYPE = 4
11
+ this.SENDERKEY_DISTRIBUTION_TYPE = 5
12
+ this.ENCRYPTED_MESSAGE_OVERHEAD = 53
13
+ }
14
+ }
15
+ exports.CiphertextMessage = CiphertextMessage