@pontalabs/baileys 1.0.11 → 1.1.0

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 (119) hide show
  1. package/README.md +96 -85
  2. package/lib/Defaults/connection.js +39 -0
  3. package/lib/Defaults/constants.js +50 -0
  4. package/lib/Defaults/history.js +13 -0
  5. package/lib/Defaults/index.js +36 -151
  6. package/lib/Defaults/media.js +43 -0
  7. package/lib/Defaults/phonenumber-mcc.json +221 -221
  8. package/lib/Defaults/prefix.js +12 -0
  9. package/lib/Defaults/vialeys-version.json +7 -0
  10. package/lib/Signal/Group/ciphertext-message.js +10 -15
  11. package/lib/Signal/Group/group-session-builder.js +34 -60
  12. package/lib/Signal/Group/group_cipher.js +69 -76
  13. package/lib/Signal/Group/index.js +41 -60
  14. package/lib/Signal/Group/keyhelper.js +12 -57
  15. package/lib/Signal/Group/sender-chain-key.js +20 -33
  16. package/lib/Signal/Group/sender-key-distribution-message.js +43 -48
  17. package/lib/Signal/Group/sender-key-message.js +58 -53
  18. package/lib/Signal/Group/sender-key-name.js +21 -31
  19. package/lib/Signal/Group/sender-key-record.js +21 -34
  20. package/lib/Signal/Group/sender-key-state.js +59 -106
  21. package/lib/Signal/Group/sender-message-key.js +16 -21
  22. package/lib/Signal/libsignal.js +282 -203
  23. package/lib/Signal/lid-mapping.js +164 -184
  24. package/lib/Socket/Client/index.js +31 -22
  25. package/lib/Socket/Client/types.js +9 -15
  26. package/lib/Socket/Client/websocket.js +42 -37
  27. package/lib/Socket/business.js +212 -336
  28. package/lib/Socket/chats.js +696 -940
  29. package/lib/Socket/community.js +454 -369
  30. package/lib/Socket/groups.js +278 -280
  31. package/lib/Socket/index.js +9 -21
  32. package/lib/Socket/messages-recv.js +1027 -1570
  33. package/lib/Socket/messages-send.js +1180 -1136
  34. package/lib/Socket/mex.js +59 -0
  35. package/lib/Socket/newsletter.js +193 -251
  36. package/lib/Socket/socket.js +758 -898
  37. package/lib/Store/index.js +35 -24
  38. package/lib/Store/make-cache-manager-store.js +53 -66
  39. package/lib/Store/make-in-memory-store.js +319 -325
  40. package/lib/Store/make-ordered-dictionary.js +49 -57
  41. package/lib/Store/object-repository.js +10 -15
  42. package/lib/Types/Auth.js +2 -3
  43. package/lib/Types/Bussines.js +2 -3
  44. package/lib/Types/Call.js +2 -3
  45. package/lib/Types/Chat.js +10 -9
  46. package/lib/Types/Contact.js +2 -3
  47. package/lib/Types/Events.js +2 -3
  48. package/lib/Types/GroupMetadata.js +2 -3
  49. package/lib/Types/Label.js +6 -12
  50. package/lib/Types/LabelAssociation.js +4 -13
  51. package/lib/Types/Message.js +10 -18
  52. package/lib/Types/MexUpdates.js +15 -18
  53. package/lib/Types/Newsletter.js +26 -34
  54. package/lib/Types/Product.js +2 -3
  55. package/lib/Types/Signal.js +2 -3
  56. package/lib/Types/Socket.js +2 -3
  57. package/lib/Types/State.js +8 -13
  58. package/lib/Types/USync.js +2 -3
  59. package/lib/Types/index.js +49 -40
  60. package/lib/Utils/auth-utils.js +190 -495
  61. package/lib/Utils/browser-utils.js +29 -0
  62. package/lib/Utils/business.js +177 -199
  63. package/lib/Utils/chat-utils.js +711 -624
  64. package/lib/Utils/crypto.js +116 -161
  65. package/lib/Utils/decode-wa-message.js +225 -321
  66. package/lib/Utils/event-buffer.js +363 -405
  67. package/lib/Utils/generics.js +318 -472
  68. package/lib/Utils/history.js +72 -76
  69. package/lib/Utils/index.js +49 -41
  70. package/lib/Utils/link-preview.js +59 -103
  71. package/lib/Utils/logger.js +4 -7
  72. package/lib/Utils/lt-hash.js +29 -42
  73. package/lib/Utils/make-mutex.js +26 -42
  74. package/lib/Utils/message-retry-manager.js +134 -160
  75. package/lib/Utils/messages-media.js +665 -731
  76. package/lib/Utils/messages.js +518 -1
  77. package/lib/Utils/noise-handler.js +127 -125
  78. package/lib/Utils/pre-key-manager.js +86 -0
  79. package/lib/Utils/process-message.js +739 -351
  80. package/lib/Utils/signal.js +146 -129
  81. package/lib/Utils/use-multi-file-auth-state.js +68 -135
  82. package/lib/Utils/validate-connection.js +183 -142
  83. package/lib/Utils/vialeys-event-stream.js +41 -0
  84. package/lib/WABinary/constants.js +1281 -1289
  85. package/lib/WABinary/decode.js +145 -200
  86. package/lib/WABinary/encode.js +149 -202
  87. package/lib/WABinary/generic-utils.js +79 -97
  88. package/lib/WABinary/index.js +36 -25
  89. package/lib/WABinary/jid-utils.js +91 -123
  90. package/lib/WABinary/types.js +2 -3
  91. package/lib/WAM/BinaryInfo.js +8 -13
  92. package/lib/WAM/constants.js +16584 -11464
  93. package/lib/WAM/encode.js +117 -133
  94. package/lib/WAM/index.js +34 -23
  95. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +62 -69
  96. package/lib/WAUSync/Protocols/USyncContactProtocol.js +11 -25
  97. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +32 -44
  98. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +13 -23
  99. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +24 -38
  100. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +17 -31
  101. package/lib/WAUSync/Protocols/index.js +37 -26
  102. package/lib/WAUSync/USyncQuery.js +66 -66
  103. package/lib/WAUSync/USyncUser.js +13 -18
  104. package/lib/WAUSync/index.js +34 -23
  105. package/lib/index.js +95 -28
  106. package/package.json +2 -1
  107. package/lib/Defaults/baileys-version.json +0 -3
  108. package/lib/Signal/Group/queue-job.d.ts +0 -1
  109. package/lib/Signal/Group/queue-job.js +0 -57
  110. package/lib/Socket/usync.d.ts +0 -37
  111. package/lib/Socket/usync.js +0 -83
  112. package/lib/Utils/baileys-event-stream.d.ts +0 -18
  113. package/lib/Utils/baileys-event-stream.js +0 -70
  114. package/lib/Utils/signal-housekeeping.d.ts +0 -19
  115. package/lib/Utils/signal-housekeeping.js +0 -73
  116. package/lib/Utils/use-mongo-file-auth-state.d.ts +0 -6
  117. package/lib/Utils/use-mongo-file-auth-state.js +0 -84
  118. package/lib/Utils/use-single-file-auth-state.d.ts +0 -13
  119. package/lib/Utils/use-single-file-auth-state.js +0 -80
@@ -1,24 +1,35 @@
1
- "use strict"
2
-
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k
5
- var desc = Object.getOwnPropertyDescriptor(m, k)
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k] } }
8
- }
9
- Object.defineProperty(o, k2, desc)
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k
12
- o[k2] = m[k]
13
- }))
14
-
15
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p)
17
- }
18
-
19
- Object.defineProperty(exports, "__esModule", { value: true })
20
-
21
- __exportStar(require("./make-cache-manager-store"), exports)
22
- __exportStar(require("./make-in-memory-store"), exports)
23
- __exportStar(require("./make-ordered-dictionary"), exports)
24
- __exportStar(require("./object-repository"), exports)
1
+ "use strict";
2
+ const __createBinding =
3
+ (this && this.__createBinding) ||
4
+ (Object.create
5
+ ? function (o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ let desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = {
10
+ enumerable: true,
11
+ get: function () {
12
+ return m[k];
13
+ },
14
+ };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }
18
+ : function (o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ });
22
+ const __exportStar =
23
+ (this && this.__exportStar) ||
24
+ function (m, exports) {
25
+ for (var p in m) {
26
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) {
27
+ __createBinding(exports, m, p);
28
+ }
29
+ }
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ __exportStar(require("./make-cache-manager-store"), exports);
33
+ __exportStar(require("./make-in-memory-store"), exports);
34
+ __exportStar(require("./make-ordered-dictionary"), exports);
35
+ __exportStar(require("./object-repository"), exports);
@@ -1,90 +1,77 @@
1
- "use strict"
2
-
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod }
5
- }
6
-
7
- Object.defineProperty(exports, "__esModule", { value: true })
8
-
9
- const cache_manager_1 = require("cache-manager")
10
- const WAProto_1 = require("../../WAProto")
11
- const Utils_1 = require("../Utils")
12
- const logger_1 = __importDefault(require("../Utils/logger"))
13
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const { caching: caching } = require("cache-manager");
4
+ const { proto: proto } = require("../../WAProto");
5
+ const { BufferJSON: BufferJSON, initAuthCreds: initAuthCreds } = require("../Utils");
6
+ const { default: logger } = require("../Utils/logger");
14
7
  const makeCacheManagerAuthState = async (store, sessionKey) => {
15
- const defaultKey = (file) => `${sessionKey}:${file}`
16
- const databaseConn = await cache_manager_1.caching(store)
8
+ const defaultKey = (file) => `${sessionKey}:${file}`;
9
+ const databaseConn = await caching(store);
17
10
  const writeData = async (file, data) => {
18
- let ttl = undefined
19
- if (file === 'creds') {
20
- ttl = 63115200 // 2 years
11
+ let ttl = undefined;
12
+ if (file === "creds") {
13
+ ttl = 63115200;
21
14
  }
22
- await databaseConn.set(defaultKey(file), JSON.stringify(data, Utils_1.BufferJSON.replacer), ttl)
23
- }
15
+ await databaseConn.set(defaultKey(file), JSON.stringify(data, BufferJSON.replacer), ttl);
16
+ };
24
17
  const readData = async (file) => {
25
18
  try {
26
- const data = await databaseConn.get(defaultKey(file))
19
+ const data = await databaseConn.get(defaultKey(file));
27
20
  if (data) {
28
- return JSON.parse(data, Utils_1.BufferJSON.reviver)
21
+ return JSON.parse(data, BufferJSON.reviver);
29
22
  }
30
- return null
23
+ return null;
24
+ } catch (error) {
25
+ logger.error(error);
26
+ return null;
31
27
  }
32
- catch (error) {
33
- logger_1.default.error(error)
34
- return null
35
- }
36
- }
28
+ };
37
29
  const removeData = async (file) => {
38
30
  try {
39
- return await databaseConn.del(defaultKey(file))
40
- }
41
- catch (_a) {
42
- logger_1.default.error(`Error removing ${file} from session ${sessionKey}`)
31
+ return await databaseConn.del(defaultKey(file));
32
+ } catch (_a) {
33
+ logger.error(`Error removing ${file} from session ${sessionKey}`);
43
34
  }
44
- }
35
+ };
45
36
  const clearState = async () => {
46
37
  try {
47
- const result = await databaseConn.store.keys(`${sessionKey}*`)
48
- await Promise.all(result.map(async (key) => await databaseConn.del(key)))
49
- }
50
- catch (err) {
51
- }
52
- }
53
- const creds = (await readData('creds')) || (0, Utils_1.initAuthCreds)()
38
+ const result = await databaseConn.store.keys(`${sessionKey}*`);
39
+ await Promise.all(result.map(async (key) => await databaseConn.del(key)));
40
+ } catch (err) {}
41
+ };
42
+ const creds = (await readData("creds")) || initAuthCreds();
54
43
  return {
55
- clearState,
56
- saveCreds: () => writeData('creds', creds),
44
+ clearState: clearState,
45
+ saveCreds: () => writeData("creds", creds),
57
46
  state: {
58
- creds,
47
+ creds: creds,
59
48
  keys: {
60
49
  get: async (type, ids) => {
61
- const data = {}
62
- await Promise.all(ids.map(async (id) => {
63
- let value = await readData(`${type}-${id}`)
64
- if (type === 'app-state-sync-key' && value) {
65
- value = WAProto_1.proto.Message.AppStateSyncKeyData.fromObject(value)
66
- }
67
- data[id] = value
68
- }))
69
- return data
50
+ const data = {};
51
+ await Promise.all(
52
+ ids.map(async (id) => {
53
+ let value = await readData(`${type}-${id}`);
54
+ if (type === "app-state-sync-key" && value) {
55
+ value = proto.Message.AppStateSyncKeyData.fromObject(value);
56
+ }
57
+ data[id] = value;
58
+ })
59
+ );
60
+ return data;
70
61
  },
71
62
  set: async (data) => {
72
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
- const tasks = []
63
+ const tasks = [];
74
64
  for (const category in data) {
75
65
  for (const id in data[category]) {
76
- const value = data[category][id]
77
- const key = `${category}-${id}`
78
- tasks.push(value ? writeData(key, value) : removeData(key))
66
+ const value = data[category][id];
67
+ const key = `${category}-${id}`;
68
+ tasks.push(value ? writeData(key, value) : removeData(key));
79
69
  }
80
70
  }
81
- await Promise.all(tasks)
71
+ await Promise.all(tasks);
82
72
  },
83
- }
84
- }
85
- }
86
- }
87
-
88
- module.exports = {
89
- makeCacheManagerAuthState
90
- }
73
+ },
74
+ },
75
+ };
76
+ };
77
+ module.exports = { makeCacheManagerAuthState: makeCacheManagerAuthState };