kage-baileys 3.0.6 → 3.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/Example/connection.cjs +4 -0
  2. package/README.MD +4726 -48
  3. package/README.md +5941 -0
  4. package/WAProto/WAProto.proto +3395 -415
  5. package/WAProto/compat.cjs +12 -0
  6. package/WAProto/index.d.ts +47104 -19888
  7. package/WAProto/index.js +131979 -57361
  8. package/lib/Addon/http-error.js +43 -0
  9. package/lib/Addon/index.js +32 -0
  10. package/lib/Addon/keyed-db.js +250 -0
  11. package/lib/Addon/link-preview.js +82 -0
  12. package/lib/Defaults/baileys-version.json +3 -0
  13. package/lib/Defaults/connection.js +110 -0
  14. package/lib/Defaults/constants.js +156 -0
  15. package/lib/Defaults/history.js +46 -0
  16. package/lib/Defaults/index.js +230 -0
  17. package/lib/Defaults/media.js +104 -0
  18. package/lib/Defaults/phonenumber-mcc.json +223 -0
  19. package/lib/Defaults/prefix.js +44 -0
  20. package/lib/Extensions/business-advanced.js +382 -0
  21. package/lib/Extensions/business.js +159 -0
  22. package/lib/Extensions/chats-advanced.js +1106 -0
  23. package/lib/Extensions/chats.js +349 -0
  24. package/lib/Extensions/communities-advanced.js +430 -0
  25. package/lib/Extensions/community.js +94 -0
  26. package/lib/Extensions/groups-advanced.js +343 -0
  27. package/lib/Extensions/index.js +30 -0
  28. package/lib/Extensions/messages-recv-advanced.js +1690 -0
  29. package/lib/Extensions/messages-send-advanced.js +622 -0
  30. package/lib/Extensions/messages-send.js +1380 -0
  31. package/lib/Extensions/newsletter-advanced.js +228 -0
  32. package/lib/Extensions/newsletter.js +72 -0
  33. package/lib/Extensions/socket.js +389 -0
  34. package/lib/Modded/message_builder.js +2084 -4
  35. package/lib/Signal/Group/ciphertext-message.js +54 -0
  36. package/lib/Signal/Group/group-session-builder.js +124 -0
  37. package/lib/Signal/Group/group_cipher.js +216 -0
  38. package/lib/Signal/Group/index.js +124 -0
  39. package/lib/Signal/Group/keyhelper.js +108 -0
  40. package/lib/Signal/Group/sender-chain-key.js +83 -0
  41. package/lib/Signal/Group/sender-key-distribution-message.js +157 -0
  42. package/lib/Signal/Group/sender-key-message.js +166 -0
  43. package/lib/Signal/Group/sender-key-name.js +130 -0
  44. package/lib/Signal/Group/sender-key-record.js +113 -0
  45. package/lib/Signal/Group/sender-key-state.js +208 -0
  46. package/lib/Signal/Group/sender-message-key.js +82 -0
  47. package/lib/Signal/libsignal.js +935 -0
  48. package/lib/Signal/lid-mapping.js +545 -1
  49. package/lib/Socket/Client/index.js +60 -0
  50. package/lib/Socket/Client/types.js +51 -0
  51. package/lib/Socket/Client/websocket.js +152 -0
  52. package/lib/Socket/business.js +831 -0
  53. package/lib/Socket/chats.js +2535 -49
  54. package/lib/Socket/communities.js +450 -1
  55. package/lib/Socket/community.js +1022 -0
  56. package/lib/Socket/dugong.js +1 -1
  57. package/lib/Socket/groups.js +747 -0
  58. package/lib/Socket/index.js +60 -2
  59. package/lib/Socket/messages-recv.js +3450 -5
  60. package/lib/Socket/messages-send.js +3123 -0
  61. package/lib/Socket/mex.js +126 -1
  62. package/lib/Socket/newsletter.js +465 -0
  63. package/lib/Socket/socket.js +2217 -1
  64. package/lib/Store/index.js +79 -0
  65. package/lib/Store/make-cache-manager-store.js +186 -0
  66. package/lib/Store/make-in-memory-store.js +878 -0
  67. package/lib/Store/make-ordered-dictionary.js +187 -0
  68. package/lib/Store/object-repository.js +78 -0
  69. package/lib/Types/Auth.js +25 -0
  70. package/lib/Types/Bussines.js +25 -1
  71. package/lib/Types/Call.js +25 -0
  72. package/lib/Types/Chat.js +39 -0
  73. package/lib/Types/Contact.js +25 -0
  74. package/lib/Types/Events.js +25 -0
  75. package/lib/Types/GroupMetadata.js +25 -0
  76. package/lib/Types/Label.js +76 -0
  77. package/lib/Types/LabelAssociation.js +40 -0
  78. package/lib/Types/Message.js +57 -0
  79. package/lib/Types/Mex.js +56 -1
  80. package/lib/Types/MexUpdates.js +46 -0
  81. package/lib/Types/Newsletter.js +56 -0
  82. package/lib/Types/Product.js +25 -0
  83. package/lib/Types/RichType.js +23 -0
  84. package/lib/Types/Signal.js +25 -0
  85. package/lib/Types/Socket.js +25 -0
  86. package/lib/Types/State.js +92 -0
  87. package/lib/Types/USync.js +25 -0
  88. package/lib/Types/index.js +133 -0
  89. package/lib/Utils/auth-utils.js +703 -0
  90. package/lib/Utils/automation-tools.js +51 -16
  91. package/lib/Utils/baileys-event-stream.js +146 -0
  92. package/lib/Utils/browser-utils.js +95 -0
  93. package/lib/Utils/business.js +525 -0
  94. package/lib/Utils/chat-utils.js +1861 -0
  95. package/lib/Utils/companion-reg-client-utils.js +55 -1
  96. package/lib/Utils/crypto.js +355 -0
  97. package/lib/Utils/decode-wa-message.js +709 -0
  98. package/lib/Utils/event-buffer.js +1323 -8
  99. package/lib/Utils/generics.js +945 -1
  100. package/lib/Utils/history.js +266 -0
  101. package/lib/Utils/identity-change-handler.js +62 -1
  102. package/lib/Utils/index.js +114 -0
  103. package/lib/Utils/link-preview.js +179 -0
  104. package/lib/Utils/logger.js +42 -0
  105. package/lib/Utils/lt-hash.js +73 -0
  106. package/lib/Utils/make-mutex.js +104 -0
  107. package/lib/Utils/message-inspector.js +110 -0
  108. package/lib/Utils/message-retry-manager.js +507 -2
  109. package/lib/Utils/messages-media.js +1931 -1
  110. package/lib/Utils/messages.js +3748 -0
  111. package/lib/Utils/noise-handler.js +423 -0
  112. package/lib/Utils/offline-node-processor.js +53 -1
  113. package/lib/Utils/pre-key-manager.js +255 -1
  114. package/lib/Utils/process-message.js +1592 -0
  115. package/lib/Utils/reporting-utils.js +272 -1
  116. package/lib/Utils/rich-message-utils.js +377 -0
  117. package/lib/Utils/rich-messages.js +1 -1
  118. package/lib/Utils/signal.js +437 -0
  119. package/lib/Utils/stanza-ack.js +51 -1
  120. package/lib/Utils/status-refresh.js +37 -0
  121. package/lib/Utils/status-tools.js +4 -2
  122. package/lib/Utils/sync-action-utils.js +63 -1
  123. package/lib/Utils/tc-token-utils.js +185 -1
  124. package/lib/Utils/terminal-banner.js +31 -0
  125. package/lib/Utils/use-multi-file-auth-state.js +271 -0
  126. package/lib/Utils/use-single-file-auth-state.js +108 -0
  127. package/lib/Utils/use-sqlite-auth-state.js +142 -0
  128. package/lib/Utils/validate-connection.js +497 -1
  129. package/lib/Utils/view-once-compat.js +13 -5
  130. package/lib/VoIP/audio-feeder.js +150 -0
  131. package/lib/VoIP/index.js +289 -0
  132. package/lib/VoIP/relay-transport.js +608 -0
  133. package/lib/VoIP/signaling.js +583 -0
  134. package/lib/VoIP/types.js +30 -0
  135. package/lib/VoIP/wasm-engine.js +1261 -2
  136. package/lib/VoIP/worker-bootstrap.js +1090 -2
  137. package/lib/WABinary/constants.js +2805 -0
  138. package/lib/WABinary/decode.js +649 -2
  139. package/lib/WABinary/encode.js +564 -2
  140. package/lib/WABinary/generic-utils.js +401 -0
  141. package/lib/WABinary/index.js +82 -0
  142. package/lib/WABinary/jid-utils.js +290 -0
  143. package/lib/WABinary/types.js +25 -0
  144. package/lib/WAM/BinaryInfo.js +50 -0
  145. package/lib/WAM/constants.js +45747 -0
  146. package/lib/WAM/encode.js +393 -0
  147. package/lib/WAM/index.js +78 -0
  148. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +135 -0
  149. package/lib/WAUSync/Protocols/USyncContactProtocol.js +110 -0
  150. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +142 -0
  151. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +85 -0
  152. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +69 -0
  153. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +107 -0
  154. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +38 -1
  155. package/lib/WAUSync/Protocols/index.js +83 -0
  156. package/lib/WAUSync/USyncQuery.js +241 -2
  157. package/lib/WAUSync/USyncUser.js +86 -0
  158. package/lib/WAUSync/index.js +78 -0
  159. package/lib/assets/wasm/loader.js +1875 -1
  160. package/lib/assets/wasm/worker-modules.js +11047 -1
  161. package/lib/index.d.ts +126 -0
  162. package/lib/index.js +53 -21
  163. package/lib/index.mjs +437 -0
  164. package/licenses/upstream-MIT.txt +22 -0
  165. package/maintenance/api-coverage.json +1642 -0
  166. package/maintenance/archivos-sha256.json +207 -0
  167. package/maintenance/consumer-validation.log +3 -0
  168. package/maintenance/dependency-audit.json +4 -4
  169. package/maintenance/extension-inventory.json +57 -0
  170. package/maintenance/protocol-update.json +1101 -0
  171. package/maintenance/protocol-wire-audit.json +4 -0
  172. package/maintenance/reference-socket-surface.json +209 -0
  173. package/maintenance/resumen-validacion.json +50 -0
  174. package/maintenance/validation.log +2725 -0
  175. package/maintenance/verification.json +566 -0
  176. package/package.json +107 -9
  177. package/scripts/check-imports.cjs +10 -0
  178. package/scripts/check-package.cjs +40 -0
  179. package/scripts/check-syntax.cjs +1 -1
  180. package/scripts/generate-protobuf.cjs +6 -1
  181. package/scripts/generate-public-types.cjs +9 -0
  182. package/scripts/kage-base64-fix.cjs +45 -0
  183. package/scripts/maintenance.cjs +10 -0
  184. package/test/advanced.test.cjs +24 -0
  185. package/test/base64-fix.test.cjs +49 -0
  186. package/test/maintenance.test.cjs +1 -1
  187. package/test/npm-publication.test.cjs +141 -0
  188. package/test/recepcion-reparada.test.cjs +98 -0
  189. package/test/resilience-binary.test.cjs +69 -0
  190. package/test/resilience-transport.test.cjs +34 -0
  191. package/test/types.test.ts +5 -0
  192. package/test/upgrade.test.cjs +104 -0
  193. package/tsconfig.json +20 -0
  194. package/WAProto/p.html +0 -1
  195. package/lib/KageExtra/Modded/message_builder.js +0 -2330
  196. package/lib/KageExtra/VoIP/audio-feeder.js +0 -136
  197. package/lib/KageExtra/VoIP/index.js +0 -282
  198. package/lib/KageExtra/VoIP/relay-transport.js +0 -559
  199. package/lib/KageExtra/VoIP/signaling.js +0 -603
  200. package/lib/KageExtra/VoIP/types.js +0 -17
  201. package/lib/KageExtra/VoIP/wasm-engine.js +0 -1214
  202. package/lib/KageExtra/VoIP/worker-bootstrap.js +0 -1042
  203. package/lib/KageExtra/assets/wasm/loader.js +0 -5
  204. package/lib/KageExtra/assets/wasm/whatsapp.wasm +0 -0
  205. package/lib/KageExtra/assets/wasm/worker-modules.js +0 -273
  206. package/lib/KageExtra/index.js +0 -3
  207. package/lib/KageExtra/package.json +0 -1
  208. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -53
  209. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -24
  210. package/maintenance/revision-full-check.txt +0 -1097
  211. package/maintenance/revision-library-tests.tap +0 -1088
  212. package/maintenance/revision-protobuf.txt +0 -5
  213. package/maintenance/revision-syntax.txt +0 -5
  214. package/maintenance/schema-coverage.json +0 -23
  215. package/maintenance/schema-merge.json +0 -30
  216. package/maintenance/validation-node20.txt +0 -191
  217. package/maintenance/validation-node22.txt +0 -237
@@ -6,3 +6,82 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.makeInMemoryStore = void 0;
7
7
  const make_in_memory_store_1 = __importDefault(require("./make-in-memory-store"));
8
8
  exports.makeInMemoryStore = make_in_memory_store_1.default;
9
+
10
+ // Kage: compatibilidad de API.
11
+ const __kageModule34 = (() => {
12
+ const module = { exports: {} }; const exports = module.exports;
13
+ "use strict"
14
+
15
+ const __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k
17
+
18
+ let desc = Object.getOwnPropertyDescriptor(m, k)
19
+
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = {
22
+ enumerable: true,
23
+ get: function() {
24
+ return m[k]
25
+ }
26
+ }
27
+ }
28
+
29
+ Object.defineProperty(o, k2, desc)
30
+
31
+ }) : (function(o, m, k, k2) {
32
+ if (k2 === undefined) k2 = k
33
+ o[k2] = m[k]
34
+ }
35
+ ))
36
+
37
+ const __exportStar = (this && this.__exportStar) || function(m, exports) {
38
+ for (var p in m) {
39
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) {
40
+ __createBinding(exports, m, p)
41
+ }
42
+ }
43
+ }
44
+
45
+ Object.defineProperty(exports, "__esModule", {
46
+ value: true
47
+ })
48
+
49
+ __exportStar(require("./make-cache-manager-store"), exports)
50
+ __exportStar(require("./make-in-memory-store"), exports)
51
+ __exportStar(require("./make-ordered-dictionary"), exports)
52
+ __exportStar(require("./object-repository"), exports)
53
+ return module.exports;
54
+ })();
55
+ for (const key of Object.keys(__kageModule34)) {
56
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule34[key]});
57
+ }
58
+
59
+ // Kage: funciones avanzadas.
60
+ const __kageModule140 = (() => {
61
+ const module = { exports: {} }; const exports = module.exports;
62
+ "use strict";
63
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
64
+ if (k2 === undefined) k2 = k;
65
+ var desc = Object.getOwnPropertyDescriptor(m, k);
66
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
67
+ desc = { enumerable: true, get: function() { return m[k]; } };
68
+ }
69
+ Object.defineProperty(o, k2, desc);
70
+ }) : (function(o, m, k, k2) {
71
+ if (k2 === undefined) k2 = k;
72
+ o[k2] = m[k];
73
+ }));
74
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
75
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
76
+ };
77
+ Object.defineProperty(exports, "__esModule", { value: true });
78
+ __exportStar(require("./make-in-memory-store.js"), exports);
79
+ __exportStar(require("./make-ordered-dictionary.js"), exports);
80
+ __exportStar(require("./object-repository.js"), exports);
81
+
82
+ return module.exports;
83
+ })();
84
+ for (const key of Object.keys(__kageModule140)) {
85
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule140[key]});
86
+ }
87
+ Object.defineProperty(exports, Symbol.for('kage.advanced'), {value:__kageModule140, configurable:true});
@@ -0,0 +1,186 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const { caching } = require("cache-manager")
6
+ const { proto } = require("../../WAProto")
7
+ const {
8
+ BufferJSON,
9
+ initAuthCreds
10
+ } = require("../Utils")
11
+ const { default: logger } = require("../Utils/logger")
12
+
13
+ const makeCacheManagerAuthState = async (store, sessionKey) => {
14
+ const defaultKey = (file) => `${sessionKey}:${file}`
15
+ const databaseConn = await caching(store)
16
+ const writeData = async (file, data) => {
17
+ let ttl = undefined
18
+ if (file === 'creds') {
19
+ ttl = 63115200 // 2 years
20
+ }
21
+ await databaseConn.set(defaultKey(file), JSON.stringify(data, BufferJSON.replacer), ttl)
22
+ }
23
+ const readData = async (file) => {
24
+ try {
25
+ const data = await databaseConn.get(defaultKey(file))
26
+ if (data) {
27
+ return JSON.parse(data, BufferJSON.reviver)
28
+ }
29
+ return null
30
+ }
31
+ catch (error) {
32
+ logger.error(error)
33
+ return null
34
+ }
35
+ }
36
+ const removeData = async (file) => {
37
+ try {
38
+ return await databaseConn.del(defaultKey(file))
39
+ }
40
+ catch (_a) {
41
+ logger.error(`Error removing ${file} from session ${sessionKey}`)
42
+ }
43
+ }
44
+ const clearState = async () => {
45
+ try {
46
+ const result = await databaseConn.store.keys(`${sessionKey}*`)
47
+ await Promise.all(result.map(async (key) => await databaseConn.del(key)))
48
+ }
49
+ catch (err) {
50
+ }
51
+ }
52
+ const creds = (await readData('creds')) || initAuthCreds()
53
+ return {
54
+ clearState,
55
+ saveCreds: () => writeData('creds', creds),
56
+ state: {
57
+ creds,
58
+ keys: {
59
+ get: async (type, ids) => {
60
+ const data = {}
61
+ await Promise.all(ids.map(async (id) => {
62
+ let value = await readData(`${type}-${id}`)
63
+ if (type === 'app-state-sync-key' && value) {
64
+ value = proto.Message.AppStateSyncKeyData.fromObject(value)
65
+ }
66
+ data[id] = value
67
+ }))
68
+ return data
69
+ },
70
+ set: async (data) => {
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ const tasks = []
73
+ for (const category in data) {
74
+ for (const id in data[category]) {
75
+ const value = data[category][id]
76
+ const key = `${category}-${id}`
77
+ tasks.push(value ? writeData(key, value) : removeData(key))
78
+ }
79
+ }
80
+ await Promise.all(tasks)
81
+ },
82
+ }
83
+ }
84
+ }
85
+ }
86
+
87
+ module.exports = {
88
+ makeCacheManagerAuthState
89
+ }
90
+ // Kage: compatibilidad de API.
91
+ const __kageModule35 = (() => {
92
+ const module = { exports: {} }; const exports = module.exports;
93
+ "use strict"
94
+
95
+ Object.defineProperty(exports, "__esModule", { value: true })
96
+
97
+ const { caching } = require("cache-manager")
98
+ const { proto } = require("../../WAProto")
99
+ const {
100
+ BufferJSON,
101
+ initAuthCreds
102
+ } = require("../Utils")
103
+ const { default: logger } = require("../Utils/logger")
104
+
105
+ const makeCacheManagerAuthState = async (store, sessionKey) => {
106
+ const defaultKey = (file) => `${sessionKey}:${file}`
107
+ const databaseConn = await caching(store)
108
+ const writeData = async (file, data) => {
109
+ let ttl = undefined
110
+ if (file === 'creds') {
111
+ ttl = 63115200 // 2 years
112
+ }
113
+ await databaseConn.set(defaultKey(file), JSON.stringify(data, BufferJSON.replacer), ttl)
114
+ }
115
+ const readData = async (file) => {
116
+ try {
117
+ const data = await databaseConn.get(defaultKey(file))
118
+ if (data) {
119
+ return JSON.parse(data, BufferJSON.reviver)
120
+ }
121
+ return null
122
+ }
123
+ catch (error) {
124
+ logger.error(error)
125
+ return null
126
+ }
127
+ }
128
+ const removeData = async (file) => {
129
+ try {
130
+ return await databaseConn.del(defaultKey(file))
131
+ }
132
+ catch (_a) {
133
+ logger.error(`Error removing ${file} from session ${sessionKey}`)
134
+ }
135
+ }
136
+ const clearState = async () => {
137
+ try {
138
+ const result = await databaseConn.store.keys(`${sessionKey}*`)
139
+ await Promise.all(result.map(async (key) => await databaseConn.del(key)))
140
+ }
141
+ catch (err) {
142
+ }
143
+ }
144
+ const creds = (await readData('creds')) || initAuthCreds()
145
+ return {
146
+ clearState,
147
+ saveCreds: () => writeData('creds', creds),
148
+ state: {
149
+ creds,
150
+ keys: {
151
+ get: async (type, ids) => {
152
+ const data = {}
153
+ await Promise.all(ids.map(async (id) => {
154
+ let value = await readData(`${type}-${id}`)
155
+ if (type === 'app-state-sync-key' && value) {
156
+ value = proto.Message.AppStateSyncKeyData.fromObject(value)
157
+ }
158
+ data[id] = value
159
+ }))
160
+ return data
161
+ },
162
+ set: async (data) => {
163
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
164
+ const tasks = []
165
+ for (const category in data) {
166
+ for (const id in data[category]) {
167
+ const value = data[category][id]
168
+ const key = `${category}-${id}`
169
+ tasks.push(value ? writeData(key, value) : removeData(key))
170
+ }
171
+ }
172
+ await Promise.all(tasks)
173
+ },
174
+ }
175
+ }
176
+ }
177
+ }
178
+
179
+ module.exports = {
180
+ makeCacheManagerAuthState
181
+ }
182
+ return module.exports;
183
+ })();
184
+ for (const key of Object.keys(__kageModule35)) {
185
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule35[key]});
186
+ }