@ubedsockets/baileys 1.6.6 → 1.6.8

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 (87) hide show
  1. package/WAProto/GenerateStatics.sh +4 -3
  2. package/WAProto/WAProto.proto +511 -1215
  3. package/WAProto/index.js +131318 -59331
  4. package/lib/Defaults/index.js +92 -76
  5. package/lib/Signal/Group/ciphertext-message.js +5 -2
  6. package/lib/Signal/Group/group-session-builder.js +41 -7
  7. package/lib/Signal/Group/group_cipher.js +51 -37
  8. package/lib/Signal/Group/index.js +57 -12
  9. package/lib/Signal/Group/keyhelper.js +44 -7
  10. package/lib/Signal/Group/sender-chain-key.js +15 -7
  11. package/lib/Signal/Group/sender-key-distribution-message.js +11 -8
  12. package/lib/Signal/Group/sender-key-message.js +12 -9
  13. package/lib/Signal/Group/sender-key-name.js +5 -2
  14. package/lib/Signal/Group/sender-key-record.js +21 -9
  15. package/lib/Signal/Group/sender-key-state.js +42 -27
  16. package/lib/Signal/Group/sender-message-key.js +7 -4
  17. package/lib/Signal/libsignal.js +90 -347
  18. package/lib/Socket/Client/index.js +18 -3
  19. package/lib/Socket/Client/types.js +6 -4
  20. package/lib/Socket/Client/websocket.js +78 -21
  21. package/lib/Socket/business.js +43 -162
  22. package/lib/Socket/chats.js +249 -571
  23. package/lib/Socket/groups.js +99 -114
  24. package/lib/Socket/index.js +9 -11
  25. package/lib/Socket/messages-recv.js +559 -1277
  26. package/lib/Socket/messages-send.js +669 -674
  27. package/lib/Socket/newsletter.js +286 -149
  28. package/lib/Socket/socket.js +235 -548
  29. package/lib/Types/Auth.js +2 -2
  30. package/lib/Types/Call.js +2 -2
  31. package/lib/Types/Chat.js +4 -8
  32. package/lib/Types/Contact.js +2 -2
  33. package/lib/Types/Events.js +2 -2
  34. package/lib/Types/GroupMetadata.js +2 -2
  35. package/lib/Types/Label.js +5 -3
  36. package/lib/Types/LabelAssociation.js +5 -3
  37. package/lib/Types/Message.js +7 -11
  38. package/lib/Types/Product.js +2 -2
  39. package/lib/Types/Signal.js +2 -2
  40. package/lib/Types/Socket.js +2 -3
  41. package/lib/Types/State.js +2 -56
  42. package/lib/Types/USync.js +2 -2
  43. package/lib/Types/index.js +31 -15
  44. package/lib/Utils/auth-utils.js +136 -239
  45. package/lib/Utils/business.js +69 -66
  46. package/lib/Utils/chat-utils.js +238 -380
  47. package/lib/Utils/crypto.js +127 -56
  48. package/lib/Utils/decode-wa-message.js +63 -173
  49. package/lib/Utils/event-buffer.js +70 -174
  50. package/lib/Utils/generics.js +207 -159
  51. package/lib/Utils/history.js +53 -93
  52. package/lib/Utils/index.js +33 -22
  53. package/lib/Utils/link-preview.js +58 -17
  54. package/lib/Utils/logger.js +7 -3
  55. package/lib/Utils/lt-hash.js +46 -3
  56. package/lib/Utils/make-mutex.js +34 -24
  57. package/lib/Utils/messages-media.js +744 -483
  58. package/lib/Utils/messages.js +621 -411
  59. package/lib/Utils/noise-handler.js +99 -149
  60. package/lib/Utils/process-message.js +150 -459
  61. package/lib/Utils/signal.js +73 -112
  62. package/lib/Utils/use-multi-file-auth-state.js +27 -23
  63. package/lib/Utils/validate-connection.js +104 -74
  64. package/lib/WABinary/constants.js +11 -9
  65. package/lib/WABinary/decode.js +52 -49
  66. package/lib/WABinary/encode.js +49 -19
  67. package/lib/WABinary/generic-utils.js +43 -46
  68. package/lib/WABinary/index.js +21 -6
  69. package/lib/WABinary/jid-utils.js +45 -72
  70. package/lib/WABinary/types.js +2 -2
  71. package/lib/WAM/BinaryInfo.js +5 -2
  72. package/lib/WAM/constants.js +11958 -19461
  73. package/lib/WAM/encode.js +22 -17
  74. package/lib/WAM/index.js +19 -4
  75. package/lib/WAUSync/Protocols/USyncContactProtocol.js +13 -33
  76. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +14 -11
  77. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +11 -8
  78. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +13 -9
  79. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +22 -20
  80. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +8 -13
  81. package/lib/WAUSync/Protocols/index.js +20 -6
  82. package/lib/WAUSync/USyncQuery.js +35 -44
  83. package/lib/WAUSync/USyncUser.js +5 -10
  84. package/lib/WAUSync/index.js +19 -4
  85. package/lib/index.js +70 -11
  86. package/package.json +60 -100
  87. package/engine-requirements.js +0 -10
package/lib/WAM/encode.js CHANGED
@@ -1,19 +1,25 @@
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';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeWAM = void 0;
4
+ const constants_1 = require("./constants");
3
5
  const getHeaderBitLength = (key) => (key < 256 ? 2 : 3);
4
- export const encodeWAM = (binaryInfo) => {
6
+ const encodeWAM = (binaryInfo) => {
5
7
  binaryInfo.buffer = [];
6
8
  encodeWAMHeader(binaryInfo);
7
9
  encodeEvents(binaryInfo);
8
- const totalSize = binaryInfo.buffer.map(a => a.length).reduce((a, b) => a + b);
10
+ console.log(binaryInfo.buffer);
11
+ const totalSize = binaryInfo.buffer
12
+ .map((a) => a.length)
13
+ .reduce((a, b) => a + b);
9
14
  const buffer = Buffer.alloc(totalSize);
10
15
  let offset = 0;
11
- for (const buffer_ of binaryInfo.buffer) {
16
+ binaryInfo.buffer.forEach((buffer_) => {
12
17
  buffer_.copy(buffer, offset);
13
18
  offset += buffer_.length;
14
- }
19
+ });
15
20
  return buffer;
16
21
  };
22
+ exports.encodeWAM = encodeWAM;
17
23
  function encodeWAMHeader(binaryInfo) {
18
24
  const headerBuffer = Buffer.alloc(8); // starting buffer
19
25
  headerBuffer.write('WAM', 0, 'utf8');
@@ -25,34 +31,34 @@ function encodeWAMHeader(binaryInfo) {
25
31
  }
26
32
  function encodeGlobalAttributes(binaryInfo, globals) {
27
33
  for (const [key, _value] of Object.entries(globals)) {
28
- const id = WEB_GLOBALS.find(a => a?.name === key).id;
34
+ const id = constants_1.WEB_GLOBALS.find(a => (a === null || a === void 0 ? void 0 : a.name) === key).id;
29
35
  let value = _value;
30
36
  if (typeof value === 'boolean') {
31
37
  value = value ? 1 : 0;
32
38
  }
33
- binaryInfo.buffer.push(serializeData(id, value, FLAG_GLOBAL));
39
+ binaryInfo.buffer.push(serializeData(id, value, constants_1.FLAG_GLOBAL));
34
40
  }
35
41
  }
36
42
  function encodeEvents(binaryInfo) {
37
- for (const [name, { props, globals }] of binaryInfo.events.map(a => Object.entries(a)[0])) {
43
+ for (const [name, { props, globals },] of binaryInfo.events.map((a) => Object.entries(a)[0])) {
38
44
  encodeGlobalAttributes(binaryInfo, globals);
39
- const event = WEB_EVENTS.find(a => a.name === name);
45
+ const event = constants_1.WEB_EVENTS.find((a) => a.name === name);
40
46
  const props_ = Object.entries(props);
41
47
  let extended = false;
42
48
  for (const [, value] of props_) {
43
49
  extended || (extended = value !== null);
44
50
  }
45
- const eventFlag = extended ? FLAG_EVENT : FLAG_EVENT | FLAG_EXTENDED;
51
+ const eventFlag = extended ? constants_1.FLAG_EVENT : constants_1.FLAG_EVENT | constants_1.FLAG_EXTENDED;
46
52
  binaryInfo.buffer.push(serializeData(event.id, -event.weight, eventFlag));
47
53
  for (let i = 0; i < props_.length; i++) {
48
54
  const [key, _value] = props_[i];
49
- const id = event.props[key]?.[0];
50
- extended = i < props_.length - 1;
55
+ const id = (event.props)[key][0];
56
+ extended = i < (props_.length - 1);
51
57
  let value = _value;
52
58
  if (typeof value === 'boolean') {
53
59
  value = value ? 1 : 0;
54
60
  }
55
- const fieldFlag = extended ? FLAG_EVENT : FLAG_FIELD | FLAG_EXTENDED;
61
+ const fieldFlag = extended ? constants_1.FLAG_EVENT : constants_1.FLAG_FIELD | constants_1.FLAG_EXTENDED;
56
62
  binaryInfo.buffer.push(serializeData(id, value, fieldFlag));
57
63
  }
58
64
  }
@@ -62,7 +68,7 @@ function serializeData(key, value, flag) {
62
68
  let buffer;
63
69
  let offset = 0;
64
70
  if (value === null) {
65
- if (flag === FLAG_GLOBAL) {
71
+ if (flag === constants_1.FLAG_GLOBAL) {
66
72
  buffer = Buffer.alloc(bufferLength);
67
73
  offset = serializeHeader(buffer, offset, key, flag);
68
74
  return buffer;
@@ -140,11 +146,10 @@ function serializeHeader(buffer, offset, key, flag) {
140
146
  offset += 1;
141
147
  }
142
148
  else {
143
- buffer.writeUInt8(flag | FLAG_BYTE, offset);
149
+ buffer.writeUInt8(flag | constants_1.FLAG_BYTE, offset);
144
150
  offset += 1;
145
151
  buffer.writeUInt16LE(key, offset);
146
152
  offset += 2;
147
153
  }
148
154
  return offset;
149
155
  }
150
- //# sourceMappingURL=encode.js.map
package/lib/WAM/index.js CHANGED
@@ -1,4 +1,19 @@
1
- export * from './constants.js';
2
- export * from './encode.js';
3
- export * from './BinaryInfo.js';
4
- //# sourceMappingURL=index.js.map
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,52 +1,32 @@
1
- import { assertNodeErrorFree } from '../../WABinary/index.js';
2
- import { USyncUser } from '../USyncUser.js';
3
- export class USyncContactProtocol {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USyncContactProtocol = void 0;
4
+ const WABinary_1 = require("../../WABinary");
5
+ class USyncContactProtocol {
4
6
  constructor() {
5
7
  this.name = 'contact';
6
8
  }
7
9
  getQueryElement() {
8
10
  return {
9
11
  tag: 'contact',
10
- attrs: {}
12
+ attrs: {},
11
13
  };
12
14
  }
13
15
  getUserElement(user) {
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
- }
16
+ //TODO: Implement type / username fields (not yet supported)
39
17
  return {
40
18
  tag: 'contact',
41
- attrs: {}
19
+ attrs: {},
20
+ content: user.phone,
42
21
  };
43
22
  }
44
23
  parser(node) {
24
+ var _a;
45
25
  if (node.tag === 'contact') {
46
- assertNodeErrorFree(node);
47
- return node?.attrs?.type === 'in';
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';
48
28
  }
49
29
  return false;
50
30
  }
51
31
  }
52
- //# sourceMappingURL=USyncContactProtocol.js.map
32
+ exports.USyncContactProtocol = USyncContactProtocol;
@@ -1,5 +1,8 @@
1
- import { assertNodeErrorFree, getBinaryNodeChild } from '../../WABinary/index.js';
2
- export class USyncDeviceProtocol {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USyncDeviceProtocol = void 0;
4
+ const WABinary_1 = require("../../WABinary");
5
+ class USyncDeviceProtocol {
3
6
  constructor() {
4
7
  this.name = 'devices';
5
8
  }
@@ -7,8 +10,8 @@ export class USyncDeviceProtocol {
7
10
  return {
8
11
  tag: 'devices',
9
12
  attrs: {
10
- version: '2'
11
- }
13
+ version: '2',
14
+ },
12
15
  };
13
16
  }
14
17
  getUserElement( /* user: USyncUser */) {
@@ -21,10 +24,10 @@ export class USyncDeviceProtocol {
21
24
  const deviceList = [];
22
25
  let keyIndex = undefined;
23
26
  if (node.tag === 'devices') {
24
- assertNodeErrorFree(node);
25
- const deviceListNode = getBinaryNodeChild(node, 'device-list');
26
- const keyIndexNode = getBinaryNodeChild(node, 'key-index-list');
27
- if (Array.isArray(deviceListNode?.content)) {
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)) {
28
31
  for (const { tag, attrs } of deviceListNode.content) {
29
32
  const id = +attrs.id;
30
33
  const keyIndex = +attrs['key-index'];
@@ -37,10 +40,10 @@ export class USyncDeviceProtocol {
37
40
  }
38
41
  }
39
42
  }
40
- if (keyIndexNode?.tag === 'key-index-list') {
43
+ if ((keyIndexNode === null || keyIndexNode === void 0 ? void 0 : keyIndexNode.tag) === 'key-index-list') {
41
44
  keyIndex = {
42
45
  timestamp: +keyIndexNode.attrs['ts'],
43
- signedKeyIndex: keyIndexNode?.content,
46
+ signedKeyIndex: keyIndexNode === null || keyIndexNode === void 0 ? void 0 : keyIndexNode.content,
44
47
  expectedTimestamp: keyIndexNode.attrs['expected_ts'] ? +keyIndexNode.attrs['expected_ts'] : undefined
45
48
  };
46
49
  }
@@ -51,4 +54,4 @@ export class USyncDeviceProtocol {
51
54
  };
52
55
  }
53
56
  }
54
- //# sourceMappingURL=USyncDeviceProtocol.js.map
57
+ exports.USyncDeviceProtocol = USyncDeviceProtocol;
@@ -1,12 +1,15 @@
1
- import { assertNodeErrorFree } from '../../WABinary/index.js';
2
- export class USyncDisappearingModeProtocol {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USyncDisappearingModeProtocol = void 0;
4
+ const WABinary_1 = require("../../WABinary");
5
+ class USyncDisappearingModeProtocol {
3
6
  constructor() {
4
7
  this.name = 'disappearing_mode';
5
8
  }
6
9
  getQueryElement() {
7
10
  return {
8
11
  tag: 'disappearing_mode',
9
- attrs: {}
12
+ attrs: {},
10
13
  };
11
14
  }
12
15
  getUserElement() {
@@ -14,14 +17,14 @@ export class USyncDisappearingModeProtocol {
14
17
  }
15
18
  parser(node) {
16
19
  if (node.tag === 'disappearing_mode') {
17
- assertNodeErrorFree(node);
18
- const duration = +node?.attrs.duration;
19
- const setAt = new Date(+(node?.attrs.t || 0) * 1000);
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);
20
23
  return {
21
24
  duration,
22
- setAt
25
+ setAt,
23
26
  };
24
27
  }
25
28
  }
26
29
  }
27
- //# sourceMappingURL=USyncDisappearingModeProtocol.js.map
30
+ exports.USyncDisappearingModeProtocol = USyncDisappearingModeProtocol;
@@ -1,24 +1,28 @@
1
- import { assertNodeErrorFree } from '../../WABinary/index.js';
2
- export class USyncStatusProtocol {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USyncStatusProtocol = void 0;
4
+ const WABinary_1 = require("../../WABinary");
5
+ class USyncStatusProtocol {
3
6
  constructor() {
4
7
  this.name = 'status';
5
8
  }
6
9
  getQueryElement() {
7
10
  return {
8
11
  tag: 'status',
9
- attrs: {}
12
+ attrs: {},
10
13
  };
11
14
  }
12
15
  getUserElement() {
13
16
  return null;
14
17
  }
15
18
  parser(node) {
19
+ var _a, _b, _c;
16
20
  if (node.tag === 'status') {
17
- assertNodeErrorFree(node);
18
- let status = node?.content?.toString() ?? null;
19
- const setAt = new Date(+(node?.attrs.t || 0) * 1000);
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);
20
24
  if (!status) {
21
- if (node.attrs?.code && +node.attrs.code === 401) {
25
+ if (+((_c = node.attrs) === null || _c === void 0 ? void 0 : _c.code) === 401) {
22
26
  status = '';
23
27
  }
24
28
  else {
@@ -30,9 +34,9 @@ export class USyncStatusProtocol {
30
34
  }
31
35
  return {
32
36
  status,
33
- setAt
37
+ setAt,
34
38
  };
35
39
  }
36
40
  }
37
41
  }
38
- //# sourceMappingURL=USyncStatusProtocol.js.map
42
+ exports.USyncStatusProtocol = USyncStatusProtocol;
@@ -1,6 +1,8 @@
1
- import { getBinaryNodeChild, getBinaryNodeChildren, getBinaryNodeChildString } from '../../WABinary/index.js';
2
- import { USyncUser } from '../USyncUser.js';
3
- export class USyncBotProfileProtocol {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USyncBotProfileProtocol = void 0;
4
+ const WABinary_1 = require("../../WABinary");
5
+ class USyncBotProfileProtocol {
4
6
  constructor() {
5
7
  this.name = 'bot';
6
8
  }
@@ -15,37 +17,37 @@ export class USyncBotProfileProtocol {
15
17
  return {
16
18
  tag: 'bot',
17
19
  attrs: {},
18
- content: [{ tag: 'profile', attrs: { persona_id: user.personaId } }]
20
+ content: [{ tag: 'profile', attrs: { 'persona_id': user.personaId } }]
19
21
  };
20
22
  }
21
23
  parser(node) {
22
- const botNode = getBinaryNodeChild(node, 'bot');
23
- const profile = getBinaryNodeChild(botNode, 'profile');
24
- const commandsNode = getBinaryNodeChild(profile, 'commands');
25
- const promptsNode = getBinaryNodeChild(profile, 'prompts');
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');
26
28
  const commands = [];
27
29
  const prompts = [];
28
- for (const command of getBinaryNodeChildren(commandsNode, 'command')) {
30
+ for (const command of (0, WABinary_1.getBinaryNodeChildren)(commandsNode, 'command')) {
29
31
  commands.push({
30
- name: getBinaryNodeChildString(command, 'name'),
31
- description: getBinaryNodeChildString(command, 'description')
32
+ name: (0, WABinary_1.getBinaryNodeChildString)(command, 'name'),
33
+ description: (0, WABinary_1.getBinaryNodeChildString)(command, 'description')
32
34
  });
33
35
  }
34
- for (const prompt of getBinaryNodeChildren(promptsNode, 'prompt')) {
35
- prompts.push(`${getBinaryNodeChildString(prompt, 'emoji')} ${getBinaryNodeChildString(prompt, 'text')}`);
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')}`);
36
38
  }
37
39
  return {
38
- isDefault: !!getBinaryNodeChild(profile, 'default'),
40
+ isDefault: !!(0, WABinary_1.getBinaryNodeChild)(profile, 'default'),
39
41
  jid: node.attrs.jid,
40
- name: getBinaryNodeChildString(profile, 'name'),
41
- attributes: getBinaryNodeChildString(profile, 'attributes'),
42
- description: getBinaryNodeChildString(profile, 'description'),
43
- category: getBinaryNodeChildString(profile, 'category'),
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'),
44
46
  personaId: profile.attrs['persona_id'],
45
- commandsDescription: getBinaryNodeChildString(commandsNode, 'description'),
47
+ commandsDescription: (0, WABinary_1.getBinaryNodeChildString)(commandsNode, 'description'),
46
48
  commands,
47
49
  prompts
48
50
  };
49
51
  }
50
52
  }
51
- //# sourceMappingURL=UsyncBotProfileProtocol.js.map
53
+ exports.USyncBotProfileProtocol = USyncBotProfileProtocol;
@@ -1,23 +1,18 @@
1
- export class USyncLIDProtocol {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USyncLIDProtocol = void 0;
4
+ class USyncLIDProtocol {
2
5
  constructor() {
3
6
  this.name = 'lid';
4
7
  }
5
8
  getQueryElement() {
6
9
  return {
7
10
  tag: 'lid',
8
- attrs: {}
11
+ attrs: {},
9
12
  };
10
13
  }
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
- }
14
+ getUserElement() {
15
+ return null;
21
16
  }
22
17
  parser(node) {
23
18
  if (node.tag === 'lid') {
@@ -26,4 +21,4 @@ export class USyncLIDProtocol {
26
21
  return null;
27
22
  }
28
23
  }
29
- //# sourceMappingURL=UsyncLIDProtocol.js.map
24
+ exports.USyncLIDProtocol = USyncLIDProtocol;
@@ -1,6 +1,20 @@
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
+ "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,9 +1,11 @@
1
- import { getBinaryNodeChild } from '../WABinary/index.js';
2
- import { USyncBotProfileProtocol } from './Protocols/UsyncBotProfileProtocol.js';
3
- import { USyncLIDProtocol } from './Protocols/UsyncLIDProtocol.js';
4
- import { USyncContactProtocol, USyncDeviceProtocol, USyncDisappearingModeProtocol, USyncStatusProtocol, USyncUsernameProtocol } from './Protocols/index.js';
5
- import { USyncUser } from './USyncUser.js';
6
- export class USyncQuery {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USyncQuery = void 0;
4
+ const WABinary_1 = require("../WABinary");
5
+ const UsyncBotProfileProtocol_1 = require("./Protocols/UsyncBotProfileProtocol");
6
+ const UsyncLIDProtocol_1 = require("./Protocols/UsyncLIDProtocol");
7
+ const Protocols_1 = require("./Protocols");
8
+ class USyncQuery {
7
9
  constructor() {
8
10
  this.protocols = [];
9
11
  this.users = [];
@@ -23,76 +25,65 @@ export class USyncQuery {
23
25
  return this;
24
26
  }
25
27
  parseUSyncQueryResult(result) {
26
- if (result?.attrs.type !== 'result') {
28
+ if (result.attrs.type !== 'result') {
27
29
  return;
28
30
  }
29
- const protocolMap = Object.fromEntries(this.protocols.map(protocol => {
31
+ const protocolMap = Object.fromEntries(this.protocols.map((protocol) => {
30
32
  return [protocol.name, protocol.parser];
31
33
  }));
32
34
  const queryResult = {
33
35
  // TODO: implement errors etc.
34
36
  list: [],
35
- sideList: []
37
+ sideList: [],
36
38
  };
37
- const usyncNode = getBinaryNodeChild(result, 'usync');
39
+ const usyncNode = (0, WABinary_1.getBinaryNodeChild)(result, 'usync');
38
40
  //TODO: implement error backoff, refresh etc.
39
41
  //TODO: see if there are any errors in the result node
40
42
  //const resultNode = getBinaryNodeChild(usyncNode, 'result')
41
- const listNode = usyncNode ? getBinaryNodeChild(usyncNode, 'list') : undefined;
42
- if (listNode?.content && Array.isArray(listNode.content)) {
43
- queryResult.list = listNode.content.reduce((acc, node) => {
44
- const id = node?.attrs.jid;
45
- if (id) {
46
- const data = Array.isArray(node?.content)
47
- ? Object.fromEntries(node.content
48
- .map(content => {
49
- const protocol = content.tag;
50
- const parser = protocolMap[protocol];
51
- if (parser) {
52
- return [protocol, parser(content)];
53
- }
54
- else {
55
- return [protocol, null];
56
- }
57
- })
58
- .filter(([, b]) => b !== null))
59
- : {};
60
- acc.push({ ...data, id });
61
- }
62
- return acc;
63
- }, []);
43
+ const listNode = (0, WABinary_1.getBinaryNodeChild)(usyncNode, 'list');
44
+ if (Array.isArray(listNode === null || listNode === void 0 ? void 0 : listNode.content) && typeof listNode !== 'undefined') {
45
+ queryResult.list = listNode.content.map((node) => {
46
+ const id = node === null || node === void 0 ? void 0 : node.attrs.jid;
47
+ const data = Array.isArray(node === null || node === void 0 ? void 0 : node.content) ? Object.fromEntries(node.content.map((content) => {
48
+ const protocol = content.tag;
49
+ const parser = protocolMap[protocol];
50
+ if (parser) {
51
+ return [protocol, parser(content)];
52
+ }
53
+ else {
54
+ return [protocol, null];
55
+ }
56
+ }).filter(([, b]) => b !== null)) : {};
57
+ return { ...data, id };
58
+ });
64
59
  }
65
60
  //TODO: implement side list
66
61
  //const sideListNode = getBinaryNodeChild(usyncNode, 'side_list')
67
62
  return queryResult;
68
63
  }
69
64
  withDeviceProtocol() {
70
- this.protocols.push(new USyncDeviceProtocol());
65
+ this.protocols.push(new Protocols_1.USyncDeviceProtocol());
71
66
  return this;
72
67
  }
73
68
  withContactProtocol() {
74
- this.protocols.push(new USyncContactProtocol());
69
+ this.protocols.push(new Protocols_1.USyncContactProtocol());
75
70
  return this;
76
71
  }
77
72
  withStatusProtocol() {
78
- this.protocols.push(new USyncStatusProtocol());
73
+ this.protocols.push(new Protocols_1.USyncStatusProtocol());
79
74
  return this;
80
75
  }
81
76
  withDisappearingModeProtocol() {
82
- this.protocols.push(new USyncDisappearingModeProtocol());
77
+ this.protocols.push(new Protocols_1.USyncDisappearingModeProtocol());
83
78
  return this;
84
79
  }
85
80
  withBotProfileProtocol() {
86
- this.protocols.push(new USyncBotProfileProtocol());
81
+ this.protocols.push(new UsyncBotProfileProtocol_1.USyncBotProfileProtocol());
87
82
  return this;
88
83
  }
89
84
  withLIDProtocol() {
90
- this.protocols.push(new USyncLIDProtocol());
91
- return this;
92
- }
93
- withUsernameProtocol() {
94
- this.protocols.push(new USyncUsernameProtocol());
85
+ this.protocols.push(new UsyncLIDProtocol_1.USyncLIDProtocol());
95
86
  return this;
96
87
  }
97
88
  }
98
- //# sourceMappingURL=USyncQuery.js.map
89
+ exports.USyncQuery = USyncQuery;
@@ -1,4 +1,7 @@
1
- export class USyncUser {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USyncUser = void 0;
4
+ class USyncUser {
2
5
  withId(id) {
3
6
  this.id = id;
4
7
  return this;
@@ -11,14 +14,6 @@ export class USyncUser {
11
14
  this.phone = phone;
12
15
  return this;
13
16
  }
14
- withUsername(username) {
15
- this.username = username;
16
- return this;
17
- }
18
- withUsernameKey(usernameKey) {
19
- this.usernameKey = usernameKey;
20
- return this;
21
- }
22
17
  withType(type) {
23
18
  this.type = type;
24
19
  return this;
@@ -28,4 +23,4 @@ export class USyncUser {
28
23
  return this;
29
24
  }
30
25
  }
31
- //# sourceMappingURL=USyncUser.js.map
26
+ exports.USyncUser = USyncUser;
@@ -1,4 +1,19 @@
1
- export * from './Protocols/index.js';
2
- export * from './USyncQuery.js';
3
- export * from './USyncUser.js';
4
- //# sourceMappingURL=index.js.map
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("./Protocols"), exports);
18
+ __exportStar(require("./USyncQuery"), exports);
19
+ __exportStar(require("./USyncUser"), exports);