@alannxd/baileys 6.0.3 → 6.0.5

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 (234) hide show
  1. package/WAProto/GenerateStatics.sh +3 -0
  2. package/WAProto/WAProto.proto +5479 -0
  3. package/WAProto/fix-imports.js +85 -0
  4. package/WAProto/index.d.ts +14017 -0
  5. package/WAProto/index.js +201 -160
  6. package/engine-requirements.js +1 -1
  7. package/lib/Defaults/index.d.ts +37 -15
  8. package/lib/Defaults/index.js +119 -136
  9. package/lib/Signal/Group/ciphertext-message.d.ts +1 -0
  10. package/lib/Signal/Group/ciphertext-message.js +2 -5
  11. package/lib/Signal/Group/group-session-builder.d.ts +4 -3
  12. package/lib/Signal/Group/group-session-builder.js +7 -41
  13. package/lib/Signal/Group/group_cipher.d.ts +4 -4
  14. package/lib/Signal/Group/group_cipher.js +37 -51
  15. package/lib/Signal/Group/index.d.ts +12 -11
  16. package/lib/Signal/Group/index.js +12 -57
  17. package/lib/Signal/Group/keyhelper.d.ts +2 -1
  18. package/lib/Signal/Group/keyhelper.js +7 -44
  19. package/lib/Signal/Group/sender-chain-key.d.ts +3 -2
  20. package/lib/Signal/Group/sender-chain-key.js +7 -15
  21. package/lib/Signal/Group/sender-key-distribution-message.d.ts +2 -1
  22. package/lib/Signal/Group/sender-key-distribution-message.js +8 -11
  23. package/lib/Signal/Group/sender-key-message.d.ts +2 -1
  24. package/lib/Signal/Group/sender-key-message.js +9 -12
  25. package/lib/Signal/Group/sender-key-name.d.ts +1 -0
  26. package/lib/Signal/Group/sender-key-name.js +2 -5
  27. package/lib/Signal/Group/sender-key-record.d.ts +3 -2
  28. package/lib/Signal/Group/sender-key-record.js +9 -21
  29. package/lib/Signal/Group/sender-key-state.d.ts +7 -6
  30. package/lib/Signal/Group/sender-key-state.js +27 -42
  31. package/lib/Signal/Group/sender-message-key.d.ts +1 -0
  32. package/lib/Signal/Group/sender-message-key.js +4 -7
  33. package/lib/Signal/libsignal.d.ts +5 -3
  34. package/lib/Signal/libsignal.js +347 -90
  35. package/lib/Signal/lid-mapping.d.ts +23 -0
  36. package/lib/Signal/lid-mapping.js +277 -0
  37. package/lib/Socket/Client/index.d.ts +3 -3
  38. package/lib/Socket/Client/index.js +3 -19
  39. package/lib/Socket/Client/{abstract-socket-client.d.ts → types.d.ts} +4 -5
  40. package/lib/Socket/Client/types.js +11 -0
  41. package/lib/Socket/Client/{web-socket-client.d.ts → websocket.d.ts} +3 -2
  42. package/lib/Socket/Client/websocket.js +54 -0
  43. package/lib/Socket/business.d.ts +154 -108
  44. package/lib/Socket/business.js +162 -43
  45. package/lib/Socket/chats.d.ts +96 -239
  46. package/lib/Socket/chats.js +627 -427
  47. package/lib/Socket/communities.d.ts +239 -146
  48. package/lib/Socket/communities.js +90 -80
  49. package/lib/Socket/groups.d.ts +104 -57
  50. package/lib/Socket/groups.js +154 -161
  51. package/lib/Socket/index.d.ts +202 -115
  52. package/lib/Socket/index.js +11 -10
  53. package/lib/Socket/luxu.d.ts +22 -266
  54. package/lib/Socket/luxu.js +422 -465
  55. package/lib/Socket/messages-recv.d.ts +136 -84
  56. package/lib/Socket/messages-recv.js +1421 -615
  57. package/lib/Socket/messages-send.d.ts +142 -126
  58. package/lib/Socket/messages-send.js +878 -671
  59. package/lib/Socket/mex.d.ts +3 -0
  60. package/lib/Socket/mex.js +42 -0
  61. package/lib/Socket/newsletter.d.ts +121 -85
  62. package/lib/Socket/newsletter.js +147 -272
  63. package/lib/Socket/socket.d.ts +34 -19
  64. package/lib/Socket/socket.js +544 -313
  65. package/lib/Store/index.d.ts +10 -3
  66. package/lib/Store/index.js +10 -10
  67. package/lib/Store/keyed-db.d.ts +22 -0
  68. package/lib/Store/keyed-db.js +108 -0
  69. package/lib/Store/make-cache-manager-store.d.ts +17 -11
  70. package/lib/Store/make-cache-manager-store.js +43 -41
  71. package/lib/Store/make-in-memory-store.d.ts +39 -118
  72. package/lib/Store/make-in-memory-store.js +112 -341
  73. package/lib/Store/make-ordered-dictionary.d.ts +11 -10
  74. package/lib/Store/make-ordered-dictionary.js +14 -20
  75. package/lib/Store/object-repository.d.ts +10 -9
  76. package/lib/Store/object-repository.js +11 -6
  77. package/lib/Types/Auth.d.ts +19 -12
  78. package/lib/Types/Auth.js +2 -2
  79. package/lib/Types/Bussines.d.ts +25 -0
  80. package/lib/Types/Bussines.js +2 -0
  81. package/lib/Types/Call.d.ts +3 -1
  82. package/lib/Types/Call.js +2 -2
  83. package/lib/Types/Chat.d.ts +35 -13
  84. package/lib/Types/Chat.js +8 -4
  85. package/lib/Types/Contact.d.ts +8 -1
  86. package/lib/Types/Contact.js +2 -2
  87. package/lib/Types/Events.d.ts +116 -17
  88. package/lib/Types/Events.js +2 -2
  89. package/lib/Types/GroupMetadata.d.ts +21 -5
  90. package/lib/Types/GroupMetadata.js +2 -2
  91. package/lib/Types/Label.d.ts +12 -0
  92. package/lib/Types/Label.js +3 -5
  93. package/lib/Types/LabelAssociation.d.ts +1 -0
  94. package/lib/Types/LabelAssociation.js +3 -5
  95. package/lib/Types/Message.d.ts +105 -58
  96. package/lib/Types/Message.js +11 -9
  97. package/lib/Types/Mex.d.ts +141 -0
  98. package/lib/Types/Mex.js +37 -0
  99. package/lib/Types/Product.d.ts +2 -1
  100. package/lib/Types/Product.js +2 -2
  101. package/lib/Types/Signal.d.ts +32 -2
  102. package/lib/Types/Signal.js +2 -2
  103. package/lib/Types/Socket.d.ts +50 -25
  104. package/lib/Types/Socket.js +3 -2
  105. package/lib/Types/State.d.ts +72 -2
  106. package/lib/Types/State.js +56 -2
  107. package/lib/Types/USync.d.ts +3 -2
  108. package/lib/Types/USync.js +2 -2
  109. package/lib/Types/index.d.ts +22 -14
  110. package/lib/Types/index.js +15 -31
  111. package/lib/Utils/auth-utils.d.ts +12 -6
  112. package/lib/Utils/auth-utils.js +239 -143
  113. package/lib/Utils/browser-utils.d.ts +4 -0
  114. package/lib/Utils/browser-utils.js +28 -0
  115. package/lib/Utils/business.d.ts +3 -2
  116. package/lib/Utils/business.js +66 -69
  117. package/lib/Utils/chat-utils.d.ts +52 -23
  118. package/lib/Utils/chat-utils.js +396 -253
  119. package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
  120. package/lib/Utils/companion-reg-client-utils.js +35 -0
  121. package/lib/Utils/crypto.d.ts +18 -22
  122. package/lib/Utils/crypto.js +57 -90
  123. package/lib/Utils/decode-wa-message.d.ts +55 -8
  124. package/lib/Utils/decode-wa-message.js +203 -84
  125. package/lib/Utils/event-buffer.d.ts +9 -8
  126. package/lib/Utils/event-buffer.js +185 -77
  127. package/lib/Utils/generics.d.ts +28 -29
  128. package/lib/Utils/generics.js +180 -210
  129. package/lib/Utils/history.d.ts +18 -9
  130. package/lib/Utils/history.js +93 -55
  131. package/lib/Utils/identity-change-handler.d.ts +44 -0
  132. package/lib/Utils/identity-change-handler.js +50 -0
  133. package/lib/Utils/index.d.ts +22 -17
  134. package/lib/Utils/index.js +22 -33
  135. package/lib/Utils/link-preview.d.ts +5 -5
  136. package/lib/Utils/link-preview.js +16 -24
  137. package/lib/Utils/logger.d.ts +11 -3
  138. package/lib/Utils/logger.js +3 -7
  139. package/lib/Utils/lt-hash.d.ts +8 -12
  140. package/lib/Utils/lt-hash.js +3 -46
  141. package/lib/Utils/make-mutex.d.ts +4 -2
  142. package/lib/Utils/make-mutex.js +24 -34
  143. package/lib/Utils/message-retry-manager.d.ts +115 -0
  144. package/lib/Utils/message-retry-manager.js +265 -0
  145. package/lib/Utils/messages-media.d.ts +61 -44
  146. package/lib/Utils/messages-media.js +451 -482
  147. package/lib/Utils/messages.d.ts +32 -18
  148. package/lib/Utils/messages.js +458 -369
  149. package/lib/Utils/noise-handler.d.ts +13 -14
  150. package/lib/Utils/noise-handler.js +145 -99
  151. package/lib/Utils/offline-node-processor.d.ts +17 -0
  152. package/lib/Utils/offline-node-processor.js +40 -0
  153. package/lib/Utils/pre-key-manager.d.ts +28 -0
  154. package/lib/Utils/pre-key-manager.js +106 -0
  155. package/lib/Utils/process-message.d.ts +31 -12
  156. package/lib/Utils/process-message.js +459 -150
  157. package/lib/Utils/reporting-utils.d.ts +11 -0
  158. package/lib/Utils/reporting-utils.js +258 -0
  159. package/lib/Utils/signal.d.ts +20 -5
  160. package/lib/Utils/signal.js +120 -72
  161. package/lib/Utils/stanza-ack.d.ts +11 -0
  162. package/lib/Utils/stanza-ack.js +38 -0
  163. package/lib/Utils/sync-action-utils.d.ts +19 -0
  164. package/lib/Utils/sync-action-utils.js +49 -0
  165. package/lib/Utils/tc-token-utils.d.ts +37 -0
  166. package/lib/Utils/tc-token-utils.js +163 -0
  167. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -2
  168. package/lib/Utils/use-multi-file-auth-state.js +29 -27
  169. package/lib/Utils/validate-connection.d.ts +7 -7
  170. package/lib/Utils/validate-connection.js +73 -99
  171. package/lib/WABinary/constants.d.ts +25 -27
  172. package/lib/WABinary/constants.js +1281 -20
  173. package/lib/WABinary/decode.d.ts +5 -5
  174. package/lib/WABinary/decode.js +52 -42
  175. package/lib/WABinary/encode.d.ts +3 -3
  176. package/lib/WABinary/encode.js +110 -155
  177. package/lib/WABinary/generic-utils.d.ts +8 -7
  178. package/lib/WABinary/generic-utils.js +48 -49
  179. package/lib/WABinary/index.d.ts +6 -5
  180. package/lib/WABinary/index.js +6 -21
  181. package/lib/WABinary/jid-utils.d.ts +25 -8
  182. package/lib/WABinary/jid-utils.js +74 -40
  183. package/lib/WABinary/types.d.ts +2 -1
  184. package/lib/WABinary/types.js +2 -2
  185. package/lib/WAM/BinaryInfo.d.ts +3 -11
  186. package/lib/WAM/BinaryInfo.js +2 -5
  187. package/lib/WAM/constants.d.ts +5 -3
  188. package/lib/WAM/constants.js +19071 -11568
  189. package/lib/WAM/encode.d.ts +3 -3
  190. package/lib/WAM/encode.js +17 -22
  191. package/lib/WAM/index.d.ts +4 -3
  192. package/lib/WAM/index.js +4 -19
  193. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +4 -3
  194. package/lib/WAUSync/Protocols/USyncContactProtocol.js +33 -13
  195. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +3 -2
  196. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +11 -14
  197. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +3 -2
  198. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +9 -12
  199. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +3 -2
  200. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +9 -13
  201. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  202. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  203. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +4 -3
  204. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +20 -22
  205. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +5 -3
  206. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +13 -8
  207. package/lib/WAUSync/Protocols/index.d.ts +6 -4
  208. package/lib/WAUSync/Protocols/index.js +6 -20
  209. package/lib/WAUSync/USyncQuery.d.ts +6 -4
  210. package/lib/WAUSync/USyncQuery.js +44 -35
  211. package/lib/WAUSync/USyncUser.d.ts +10 -5
  212. package/lib/WAUSync/USyncUser.js +10 -5
  213. package/lib/WAUSync/index.d.ts +4 -0
  214. package/lib/WAUSync/index.js +4 -19
  215. package/lib/index.d.ts +10 -9
  216. package/lib/index.js +12 -34
  217. package/package.json +84 -53
  218. package/WAProto/fix-import.js +0 -29
  219. package/lib/Defaults/baileys-version.json +0 -3
  220. package/lib/Defaults/phonenumber-mcc.json +0 -223
  221. package/lib/Signal/Group/queue-job.d.ts +0 -1
  222. package/lib/Signal/Group/queue-job.js +0 -57
  223. package/lib/Socket/Client/abstract-socket-client.js +0 -13
  224. package/lib/Socket/Client/mobile-socket-client.d.ts +0 -13
  225. package/lib/Socket/Client/mobile-socket-client.js +0 -65
  226. package/lib/Socket/Client/web-socket-client.js +0 -62
  227. package/lib/Socket/registration.d.ts +0 -267
  228. package/lib/Socket/registration.js +0 -166
  229. package/lib/Socket/usync.d.ts +0 -36
  230. package/lib/Socket/usync.js +0 -70
  231. package/lib/Types/Newsletter.d.ts +0 -103
  232. package/lib/Types/Newsletter.js +0 -38
  233. package/lib/Utils/baileys-event-stream.d.ts +0 -16
  234. package/lib/Utils/baileys-event-stream.js +0 -63
@@ -1,3 +1,3 @@
1
- /// <reference types="node" />
2
- import { BinaryInfo } from './BinaryInfo';
3
- export declare const encodeWAM: (binaryInfo: BinaryInfo) => Buffer;
1
+ import { BinaryInfo } from './BinaryInfo.js';
2
+ export declare const encodeWAM: (binaryInfo: BinaryInfo) => Buffer<ArrayBuffer>;
3
+ //# sourceMappingURL=encode.d.ts.map
package/lib/WAM/encode.js CHANGED
@@ -1,25 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.encodeWAM = void 0;
4
- const constants_1 = require("./constants");
1
+ import { BinaryInfo } from './BinaryInfo.js';
2
+ import { FLAG_BYTE, FLAG_EVENT, FLAG_EXTENDED, FLAG_FIELD, FLAG_GLOBAL, WEB_EVENTS, WEB_GLOBALS } from './constants.js';
5
3
  const getHeaderBitLength = (key) => (key < 256 ? 2 : 3);
6
- const encodeWAM = (binaryInfo) => {
4
+ export const encodeWAM = (binaryInfo) => {
7
5
  binaryInfo.buffer = [];
8
6
  encodeWAMHeader(binaryInfo);
9
7
  encodeEvents(binaryInfo);
10
- console.log(binaryInfo.buffer);
11
- const totalSize = binaryInfo.buffer
12
- .map((a) => a.length)
13
- .reduce((a, b) => a + b);
8
+ const totalSize = binaryInfo.buffer.map(a => a.length).reduce((a, b) => a + b);
14
9
  const buffer = Buffer.alloc(totalSize);
15
10
  let offset = 0;
16
- binaryInfo.buffer.forEach((buffer_) => {
11
+ for (const buffer_ of binaryInfo.buffer) {
17
12
  buffer_.copy(buffer, offset);
18
13
  offset += buffer_.length;
19
- });
14
+ }
20
15
  return buffer;
21
16
  };
22
- exports.encodeWAM = encodeWAM;
23
17
  function encodeWAMHeader(binaryInfo) {
24
18
  const headerBuffer = Buffer.alloc(8); // starting buffer
25
19
  headerBuffer.write('WAM', 0, 'utf8');
@@ -31,34 +25,34 @@ function encodeWAMHeader(binaryInfo) {
31
25
  }
32
26
  function encodeGlobalAttributes(binaryInfo, globals) {
33
27
  for (const [key, _value] of Object.entries(globals)) {
34
- const id = constants_1.WEB_GLOBALS.find(a => (a === null || a === void 0 ? void 0 : a.name) === key).id;
28
+ const id = WEB_GLOBALS.find(a => a?.name === key).id;
35
29
  let value = _value;
36
30
  if (typeof value === 'boolean') {
37
31
  value = value ? 1 : 0;
38
32
  }
39
- binaryInfo.buffer.push(serializeData(id, value, constants_1.FLAG_GLOBAL));
33
+ binaryInfo.buffer.push(serializeData(id, value, FLAG_GLOBAL));
40
34
  }
41
35
  }
42
36
  function encodeEvents(binaryInfo) {
43
- for (const [name, { props, globals },] of binaryInfo.events.map((a) => Object.entries(a)[0])) {
37
+ for (const [name, { props, globals }] of binaryInfo.events.map(a => Object.entries(a)[0])) {
44
38
  encodeGlobalAttributes(binaryInfo, globals);
45
- const event = constants_1.WEB_EVENTS.find((a) => a.name === name);
39
+ const event = WEB_EVENTS.find(a => a.name === name);
46
40
  const props_ = Object.entries(props);
47
41
  let extended = false;
48
42
  for (const [, value] of props_) {
49
43
  extended || (extended = value !== null);
50
44
  }
51
- const eventFlag = extended ? constants_1.FLAG_EVENT : constants_1.FLAG_EVENT | constants_1.FLAG_EXTENDED;
45
+ const eventFlag = extended ? FLAG_EVENT : FLAG_EVENT | FLAG_EXTENDED;
52
46
  binaryInfo.buffer.push(serializeData(event.id, -event.weight, eventFlag));
53
47
  for (let i = 0; i < props_.length; i++) {
54
48
  const [key, _value] = props_[i];
55
- const id = (event.props)[key][0];
56
- extended = i < (props_.length - 1);
49
+ const id = event.props[key]?.[0];
50
+ extended = i < props_.length - 1;
57
51
  let value = _value;
58
52
  if (typeof value === 'boolean') {
59
53
  value = value ? 1 : 0;
60
54
  }
61
- const fieldFlag = extended ? constants_1.FLAG_EVENT : constants_1.FLAG_FIELD | constants_1.FLAG_EXTENDED;
55
+ const fieldFlag = extended ? FLAG_EVENT : FLAG_FIELD | FLAG_EXTENDED;
62
56
  binaryInfo.buffer.push(serializeData(id, value, fieldFlag));
63
57
  }
64
58
  }
@@ -68,7 +62,7 @@ function serializeData(key, value, flag) {
68
62
  let buffer;
69
63
  let offset = 0;
70
64
  if (value === null) {
71
- if (flag === constants_1.FLAG_GLOBAL) {
65
+ if (flag === FLAG_GLOBAL) {
72
66
  buffer = Buffer.alloc(bufferLength);
73
67
  offset = serializeHeader(buffer, offset, key, flag);
74
68
  return buffer;
@@ -146,10 +140,11 @@ function serializeHeader(buffer, offset, key, flag) {
146
140
  offset += 1;
147
141
  }
148
142
  else {
149
- buffer.writeUInt8(flag | constants_1.FLAG_BYTE, offset);
143
+ buffer.writeUInt8(flag | FLAG_BYTE, offset);
150
144
  offset += 1;
151
145
  buffer.writeUInt16LE(key, offset);
152
146
  offset += 2;
153
147
  }
154
148
  return offset;
155
149
  }
150
+ //# sourceMappingURL=encode.js.map
@@ -1,3 +1,4 @@
1
- export * from './constants';
2
- export * from './encode';
3
- export * from './BinaryInfo';
1
+ export * from './constants.js';
2
+ export * from './encode.js';
3
+ export * from './BinaryInfo.js';
4
+ //# sourceMappingURL=index.d.ts.map
package/lib/WAM/index.js CHANGED
@@ -1,19 +1,4 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./constants"), exports);
18
- __exportStar(require("./encode"), exports);
19
- __exportStar(require("./BinaryInfo"), exports);
1
+ export * from './constants.js';
2
+ export * from './encode.js';
3
+ export * from './BinaryInfo.js';
4
+ //# sourceMappingURL=index.js.map
@@ -1,9 +1,10 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
3
- import { USyncUser } from '../USyncUser';
1
+ import type { USyncQueryProtocol } from '../../Types/USync.js';
2
+ import { type BinaryNode } from '../../WABinary/index.js';
3
+ import { USyncUser } from '../USyncUser.js';
4
4
  export declare class USyncContactProtocol implements USyncQueryProtocol {
5
5
  name: string;
6
6
  getQueryElement(): BinaryNode;
7
7
  getUserElement(user: USyncUser): BinaryNode;
8
8
  parser(node: BinaryNode): boolean;
9
9
  }
10
+ //# sourceMappingURL=USyncContactProtocol.d.ts.map
@@ -1,32 +1,52 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USyncContactProtocol = void 0;
4
- const WABinary_1 = require("../../WABinary");
5
- class USyncContactProtocol {
1
+ import { assertNodeErrorFree } from '../../WABinary/index.js';
2
+ import { USyncUser } from '../USyncUser.js';
3
+ export class USyncContactProtocol {
6
4
  constructor() {
7
5
  this.name = 'contact';
8
6
  }
9
7
  getQueryElement() {
10
8
  return {
11
9
  tag: 'contact',
12
- attrs: {},
10
+ attrs: {}
13
11
  };
14
12
  }
15
13
  getUserElement(user) {
16
- //TODO: Implement type / username fields (not yet supported)
14
+ if (user.phone) {
15
+ return {
16
+ tag: 'contact',
17
+ attrs: {},
18
+ content: user.phone
19
+ };
20
+ }
21
+ if (user.username) {
22
+ return {
23
+ tag: 'contact',
24
+ attrs: {
25
+ username: user.username,
26
+ ...(user.usernameKey ? { pin: user.usernameKey } : {}),
27
+ ...(user.lid ? { lid: user.lid } : {})
28
+ }
29
+ };
30
+ }
31
+ if (user.type) {
32
+ return {
33
+ tag: 'contact',
34
+ attrs: {
35
+ type: user.type
36
+ }
37
+ };
38
+ }
17
39
  return {
18
40
  tag: 'contact',
19
- attrs: {},
20
- content: user.phone,
41
+ attrs: {}
21
42
  };
22
43
  }
23
44
  parser(node) {
24
- var _a;
25
45
  if (node.tag === 'contact') {
26
- (0, WABinary_1.assertNodeErrorFree)(node);
27
- return ((_a = node === null || node === void 0 ? void 0 : node.attrs) === null || _a === void 0 ? void 0 : _a.type) === 'in';
46
+ assertNodeErrorFree(node);
47
+ return node?.attrs?.type === 'in';
28
48
  }
29
49
  return false;
30
50
  }
31
51
  }
32
- exports.USyncContactProtocol = USyncContactProtocol;
52
+ //# sourceMappingURL=USyncContactProtocol.js.map
@@ -1,5 +1,5 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
1
+ import type { USyncQueryProtocol } from '../../Types/USync.js';
2
+ import { type BinaryNode } from '../../WABinary/index.js';
3
3
  export type KeyIndexData = {
4
4
  timestamp: number;
5
5
  signedKeyIndex?: Uint8Array;
@@ -20,3 +20,4 @@ export declare class USyncDeviceProtocol implements USyncQueryProtocol {
20
20
  getUserElement(): BinaryNode | null;
21
21
  parser(node: BinaryNode): ParsedDeviceInfo;
22
22
  }
23
+ //# sourceMappingURL=USyncDeviceProtocol.d.ts.map
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USyncDeviceProtocol = void 0;
4
- const WABinary_1 = require("../../WABinary");
5
- class USyncDeviceProtocol {
1
+ import { assertNodeErrorFree, getBinaryNodeChild } from '../../WABinary/index.js';
2
+ export class USyncDeviceProtocol {
6
3
  constructor() {
7
4
  this.name = 'devices';
8
5
  }
@@ -10,8 +7,8 @@ class USyncDeviceProtocol {
10
7
  return {
11
8
  tag: 'devices',
12
9
  attrs: {
13
- version: '2',
14
- },
10
+ version: '2'
11
+ }
15
12
  };
16
13
  }
17
14
  getUserElement( /* user: USyncUser */) {
@@ -24,10 +21,10 @@ class USyncDeviceProtocol {
24
21
  const deviceList = [];
25
22
  let keyIndex = undefined;
26
23
  if (node.tag === 'devices') {
27
- (0, WABinary_1.assertNodeErrorFree)(node);
28
- const deviceListNode = (0, WABinary_1.getBinaryNodeChild)(node, 'device-list');
29
- const keyIndexNode = (0, WABinary_1.getBinaryNodeChild)(node, 'key-index-list');
30
- if (Array.isArray(deviceListNode === null || deviceListNode === void 0 ? void 0 : deviceListNode.content)) {
24
+ assertNodeErrorFree(node);
25
+ const deviceListNode = getBinaryNodeChild(node, 'device-list');
26
+ const keyIndexNode = getBinaryNodeChild(node, 'key-index-list');
27
+ if (Array.isArray(deviceListNode?.content)) {
31
28
  for (const { tag, attrs } of deviceListNode.content) {
32
29
  const id = +attrs.id;
33
30
  const keyIndex = +attrs['key-index'];
@@ -40,10 +37,10 @@ class USyncDeviceProtocol {
40
37
  }
41
38
  }
42
39
  }
43
- if ((keyIndexNode === null || keyIndexNode === void 0 ? void 0 : keyIndexNode.tag) === 'key-index-list') {
40
+ if (keyIndexNode?.tag === 'key-index-list') {
44
41
  keyIndex = {
45
42
  timestamp: +keyIndexNode.attrs['ts'],
46
- signedKeyIndex: keyIndexNode === null || keyIndexNode === void 0 ? void 0 : keyIndexNode.content,
43
+ signedKeyIndex: keyIndexNode?.content,
47
44
  expectedTimestamp: keyIndexNode.attrs['expected_ts'] ? +keyIndexNode.attrs['expected_ts'] : undefined
48
45
  };
49
46
  }
@@ -54,4 +51,4 @@ class USyncDeviceProtocol {
54
51
  };
55
52
  }
56
53
  }
57
- exports.USyncDeviceProtocol = USyncDeviceProtocol;
54
+ //# sourceMappingURL=USyncDeviceProtocol.js.map
@@ -1,5 +1,5 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
1
+ import type { USyncQueryProtocol } from '../../Types/USync.js';
2
+ import { type BinaryNode } from '../../WABinary/index.js';
3
3
  export type DisappearingModeData = {
4
4
  duration: number;
5
5
  setAt?: Date;
@@ -10,3 +10,4 @@ export declare class USyncDisappearingModeProtocol implements USyncQueryProtocol
10
10
  getUserElement(): null;
11
11
  parser(node: BinaryNode): DisappearingModeData | undefined;
12
12
  }
13
+ //# sourceMappingURL=USyncDisappearingModeProtocol.d.ts.map
@@ -1,30 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USyncDisappearingModeProtocol = void 0;
4
- const WABinary_1 = require("../../WABinary");
5
- class USyncDisappearingModeProtocol {
1
+ import { assertNodeErrorFree } from '../../WABinary/index.js';
2
+ export class USyncDisappearingModeProtocol {
6
3
  constructor() {
7
4
  this.name = 'disappearing_mode';
8
5
  }
9
6
  getQueryElement() {
10
7
  return {
11
8
  tag: 'disappearing_mode',
12
- attrs: {},
9
+ attrs: {}
13
10
  };
14
11
  }
15
12
  getUserElement() {
16
13
  return null;
17
14
  }
18
15
  parser(node) {
19
- if (node.tag === 'status') {
20
- (0, WABinary_1.assertNodeErrorFree)(node);
21
- const duration = +(node === null || node === void 0 ? void 0 : node.attrs.duration);
22
- const setAt = new Date(+((node === null || node === void 0 ? void 0 : node.attrs.t) || 0) * 1000);
16
+ if (node.tag === 'disappearing_mode') {
17
+ assertNodeErrorFree(node);
18
+ const duration = +node?.attrs.duration;
19
+ const setAt = new Date(+(node?.attrs.t || 0) * 1000);
23
20
  return {
24
21
  duration,
25
- setAt,
22
+ setAt
26
23
  };
27
24
  }
28
25
  }
29
26
  }
30
- exports.USyncDisappearingModeProtocol = USyncDisappearingModeProtocol;
27
+ //# sourceMappingURL=USyncDisappearingModeProtocol.js.map
@@ -1,5 +1,5 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
1
+ import type { USyncQueryProtocol } from '../../Types/USync.js';
2
+ import { type BinaryNode } from '../../WABinary/index.js';
3
3
  export type StatusData = {
4
4
  status?: string | null;
5
5
  setAt?: Date;
@@ -10,3 +10,4 @@ export declare class USyncStatusProtocol implements USyncQueryProtocol {
10
10
  getUserElement(): null;
11
11
  parser(node: BinaryNode): StatusData | undefined;
12
12
  }
13
+ //# sourceMappingURL=USyncStatusProtocol.d.ts.map
@@ -1,28 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USyncStatusProtocol = void 0;
4
- const WABinary_1 = require("../../WABinary");
5
- class USyncStatusProtocol {
1
+ import { assertNodeErrorFree } from '../../WABinary/index.js';
2
+ export class USyncStatusProtocol {
6
3
  constructor() {
7
4
  this.name = 'status';
8
5
  }
9
6
  getQueryElement() {
10
7
  return {
11
8
  tag: 'status',
12
- attrs: {},
9
+ attrs: {}
13
10
  };
14
11
  }
15
12
  getUserElement() {
16
13
  return null;
17
14
  }
18
15
  parser(node) {
19
- var _a, _b, _c;
20
16
  if (node.tag === 'status') {
21
- (0, WABinary_1.assertNodeErrorFree)(node);
22
- let status = (_b = (_a = node === null || node === void 0 ? void 0 : node.content) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : null;
23
- const setAt = new Date(+((node === null || node === void 0 ? void 0 : node.attrs.t) || 0) * 1000);
17
+ assertNodeErrorFree(node);
18
+ let status = node?.content?.toString() ?? null;
19
+ const setAt = new Date(+(node?.attrs.t || 0) * 1000);
24
20
  if (!status) {
25
- if (+((_c = node.attrs) === null || _c === void 0 ? void 0 : _c.code) === 401) {
21
+ if (node.attrs?.code && +node.attrs.code === 401) {
26
22
  status = '';
27
23
  }
28
24
  else {
@@ -34,9 +30,9 @@ class USyncStatusProtocol {
34
30
  }
35
31
  return {
36
32
  status,
37
- setAt,
33
+ setAt
38
34
  };
39
35
  }
40
36
  }
41
37
  }
42
- exports.USyncStatusProtocol = USyncStatusProtocol;
38
+ //# sourceMappingURL=USyncStatusProtocol.js.map
@@ -0,0 +1,10 @@
1
+ import type { USyncQueryProtocol } from '../../Types/USync.js';
2
+ import { type BinaryNode } from '../../WABinary/index.js';
3
+ import { USyncUser } from '../USyncUser.js';
4
+ export declare class USyncUsernameProtocol implements USyncQueryProtocol {
5
+ name: string;
6
+ getQueryElement(): BinaryNode;
7
+ getUserElement(user: USyncUser): BinaryNode | null;
8
+ parser(node: BinaryNode): string | null;
9
+ }
10
+ //# sourceMappingURL=USyncUsernameProtocol.d.ts.map
@@ -0,0 +1,25 @@
1
+ import { assertNodeErrorFree } from '../../WABinary/index.js';
2
+ import { USyncUser } from '../USyncUser.js';
3
+ export class USyncUsernameProtocol {
4
+ constructor() {
5
+ this.name = 'username';
6
+ }
7
+ getQueryElement() {
8
+ return {
9
+ tag: 'username',
10
+ attrs: {}
11
+ };
12
+ }
13
+ getUserElement(user) {
14
+ void user;
15
+ return null;
16
+ }
17
+ parser(node) {
18
+ if (node.tag === 'username') {
19
+ assertNodeErrorFree(node);
20
+ return typeof node.content === 'string' ? node.content : null;
21
+ }
22
+ return null;
23
+ }
24
+ }
25
+ //# sourceMappingURL=USyncUsernameProtocol.js.map
@@ -1,6 +1,6 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
3
- import { USyncUser } from '../USyncUser';
1
+ import type { USyncQueryProtocol } from '../../Types/USync.js';
2
+ import { type BinaryNode } from '../../WABinary/index.js';
3
+ import { USyncUser } from '../USyncUser.js';
4
4
  export type BotProfileCommand = {
5
5
  name: string;
6
6
  description: string;
@@ -23,3 +23,4 @@ export declare class USyncBotProfileProtocol implements USyncQueryProtocol {
23
23
  getUserElement(user: USyncUser): BinaryNode;
24
24
  parser(node: BinaryNode): BotProfileInfo;
25
25
  }
26
+ //# sourceMappingURL=UsyncBotProfileProtocol.d.ts.map
@@ -1,8 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USyncBotProfileProtocol = void 0;
4
- const WABinary_1 = require("../../WABinary");
5
- class USyncBotProfileProtocol {
1
+ import { getBinaryNodeChild, getBinaryNodeChildren, getBinaryNodeChildString } from '../../WABinary/index.js';
2
+ import { USyncUser } from '../USyncUser.js';
3
+ export class USyncBotProfileProtocol {
6
4
  constructor() {
7
5
  this.name = 'bot';
8
6
  }
@@ -17,37 +15,37 @@ class USyncBotProfileProtocol {
17
15
  return {
18
16
  tag: 'bot',
19
17
  attrs: {},
20
- content: [{ tag: 'profile', attrs: { 'persona_id': user.personaId } }]
18
+ content: [{ tag: 'profile', attrs: { persona_id: user.personaId } }]
21
19
  };
22
20
  }
23
21
  parser(node) {
24
- const botNode = (0, WABinary_1.getBinaryNodeChild)(node, 'bot');
25
- const profile = (0, WABinary_1.getBinaryNodeChild)(botNode, 'profile');
26
- const commandsNode = (0, WABinary_1.getBinaryNodeChild)(profile, 'commands');
27
- const promptsNode = (0, WABinary_1.getBinaryNodeChild)(profile, 'prompts');
22
+ const botNode = getBinaryNodeChild(node, 'bot');
23
+ const profile = getBinaryNodeChild(botNode, 'profile');
24
+ const commandsNode = getBinaryNodeChild(profile, 'commands');
25
+ const promptsNode = getBinaryNodeChild(profile, 'prompts');
28
26
  const commands = [];
29
27
  const prompts = [];
30
- for (const command of (0, WABinary_1.getBinaryNodeChildren)(commandsNode, 'command')) {
28
+ for (const command of getBinaryNodeChildren(commandsNode, 'command')) {
31
29
  commands.push({
32
- name: (0, WABinary_1.getBinaryNodeChildString)(command, 'name'),
33
- description: (0, WABinary_1.getBinaryNodeChildString)(command, 'description')
30
+ name: getBinaryNodeChildString(command, 'name'),
31
+ description: getBinaryNodeChildString(command, 'description')
34
32
  });
35
33
  }
36
- for (const prompt of (0, WABinary_1.getBinaryNodeChildren)(promptsNode, 'prompt')) {
37
- prompts.push(`${(0, WABinary_1.getBinaryNodeChildString)(prompt, 'emoji')} ${(0, WABinary_1.getBinaryNodeChildString)(prompt, 'text')}`);
34
+ for (const prompt of getBinaryNodeChildren(promptsNode, 'prompt')) {
35
+ prompts.push(`${getBinaryNodeChildString(prompt, 'emoji')} ${getBinaryNodeChildString(prompt, 'text')}`);
38
36
  }
39
37
  return {
40
- isDefault: !!(0, WABinary_1.getBinaryNodeChild)(profile, 'default'),
38
+ isDefault: !!getBinaryNodeChild(profile, 'default'),
41
39
  jid: node.attrs.jid,
42
- name: (0, WABinary_1.getBinaryNodeChildString)(profile, 'name'),
43
- attributes: (0, WABinary_1.getBinaryNodeChildString)(profile, 'attributes'),
44
- description: (0, WABinary_1.getBinaryNodeChildString)(profile, 'description'),
45
- category: (0, WABinary_1.getBinaryNodeChildString)(profile, 'category'),
40
+ name: getBinaryNodeChildString(profile, 'name'),
41
+ attributes: getBinaryNodeChildString(profile, 'attributes'),
42
+ description: getBinaryNodeChildString(profile, 'description'),
43
+ category: getBinaryNodeChildString(profile, 'category'),
46
44
  personaId: profile.attrs['persona_id'],
47
- commandsDescription: (0, WABinary_1.getBinaryNodeChildString)(commandsNode, 'description'),
45
+ commandsDescription: getBinaryNodeChildString(commandsNode, 'description'),
48
46
  commands,
49
47
  prompts
50
48
  };
51
49
  }
52
50
  }
53
- exports.USyncBotProfileProtocol = USyncBotProfileProtocol;
51
+ //# sourceMappingURL=UsyncBotProfileProtocol.js.map
@@ -1,8 +1,10 @@
1
- import { USyncQueryProtocol } from '../../Types/USync';
2
- import { BinaryNode } from '../../WABinary';
1
+ import type { USyncQueryProtocol } from '../../Types/USync.js';
2
+ import type { BinaryNode } from '../../WABinary/index.js';
3
+ import type { USyncUser } from '../USyncUser.js';
3
4
  export declare class USyncLIDProtocol implements USyncQueryProtocol {
4
5
  name: string;
5
6
  getQueryElement(): BinaryNode;
6
- getUserElement(): null;
7
+ getUserElement(user: USyncUser): BinaryNode | null;
7
8
  parser(node: BinaryNode): string | null;
8
9
  }
10
+ //# sourceMappingURL=UsyncLIDProtocol.d.ts.map
@@ -1,18 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USyncLIDProtocol = void 0;
4
- class USyncLIDProtocol {
1
+ export class USyncLIDProtocol {
5
2
  constructor() {
6
3
  this.name = 'lid';
7
4
  }
8
5
  getQueryElement() {
9
6
  return {
10
7
  tag: 'lid',
11
- attrs: {},
8
+ attrs: {}
12
9
  };
13
10
  }
14
- getUserElement() {
15
- return null;
11
+ getUserElement(user) {
12
+ if (user.lid) {
13
+ return {
14
+ tag: 'lid',
15
+ attrs: { jid: user.lid }
16
+ };
17
+ }
18
+ else {
19
+ return null;
20
+ }
16
21
  }
17
22
  parser(node) {
18
23
  if (node.tag === 'lid') {
@@ -21,4 +26,4 @@ class USyncLIDProtocol {
21
26
  return null;
22
27
  }
23
28
  }
24
- exports.USyncLIDProtocol = USyncLIDProtocol;
29
+ //# sourceMappingURL=UsyncLIDProtocol.js.map
@@ -1,4 +1,6 @@
1
- export * from './USyncDeviceProtocol';
2
- export * from './USyncContactProtocol';
3
- export * from './USyncStatusProtocol';
4
- export * from './USyncDisappearingModeProtocol';
1
+ export * from './USyncDeviceProtocol.js';
2
+ export * from './USyncContactProtocol.js';
3
+ export * from './USyncStatusProtocol.js';
4
+ export * from './USyncDisappearingModeProtocol.js';
5
+ export * from './USyncUsernameProtocol.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -1,20 +1,6 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./USyncDeviceProtocol"), exports);
18
- __exportStar(require("./USyncContactProtocol"), exports);
19
- __exportStar(require("./USyncStatusProtocol"), exports);
20
- __exportStar(require("./USyncDisappearingModeProtocol"), exports);
1
+ export * from './USyncDeviceProtocol.js';
2
+ export * from './USyncContactProtocol.js';
3
+ export * from './USyncStatusProtocol.js';
4
+ export * from './USyncDisappearingModeProtocol.js';
5
+ export * from './USyncUsernameProtocol.js';
6
+ //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
- import { USyncQueryProtocol } from '../Types/USync';
2
- import { BinaryNode } from '../WABinary';
3
- import { USyncUser } from './USyncUser';
1
+ import type { USyncQueryProtocol } from '../Types/USync.js';
2
+ import { type BinaryNode } from '../WABinary/index.js';
3
+ import { USyncUser } from './USyncUser.js';
4
4
  export type USyncQueryResultList = {
5
5
  [protocol: string]: unknown;
6
6
  id: string;
@@ -18,11 +18,13 @@ export declare class USyncQuery {
18
18
  withMode(mode: string): this;
19
19
  withContext(context: string): this;
20
20
  withUser(user: USyncUser): this;
21
- parseUSyncQueryResult(result: BinaryNode): USyncQueryResult | undefined;
21
+ parseUSyncQueryResult(result: BinaryNode | undefined): USyncQueryResult | undefined;
22
22
  withDeviceProtocol(): this;
23
23
  withContactProtocol(): this;
24
24
  withStatusProtocol(): this;
25
25
  withDisappearingModeProtocol(): this;
26
26
  withBotProfileProtocol(): this;
27
27
  withLIDProtocol(): this;
28
+ withUsernameProtocol(): this;
28
29
  }
30
+ //# sourceMappingURL=USyncQuery.d.ts.map