supunmd-bail 2.0.2 → 2.1.3

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 (216) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/WAProto/index.js +130529 -45236
  4. package/engine-requirements.js +1 -1
  5. package/lib/Defaults/baileys-version.json +1 -1
  6. package/lib/Defaults/index.d.ts +9 -18
  7. package/lib/Defaults/index.js +136 -104
  8. package/lib/Defaults/phonenumber-mcc.json +223 -0
  9. package/lib/Signal/Group/ciphertext-message.d.ts +0 -1
  10. package/lib/Signal/Group/ciphertext-message.js +5 -2
  11. package/lib/Signal/Group/group-session-builder.d.ts +3 -4
  12. package/lib/Signal/Group/group-session-builder.js +41 -7
  13. package/lib/Signal/Group/group_cipher.d.ts +4 -4
  14. package/lib/Signal/Group/group_cipher.js +51 -37
  15. package/lib/Signal/Group/index.d.ts +11 -12
  16. package/lib/Signal/Group/index.js +57 -12
  17. package/lib/Signal/Group/keyhelper.d.ts +1 -2
  18. package/lib/Signal/Group/keyhelper.js +44 -7
  19. package/lib/Signal/Group/queue-job.d.ts +0 -1
  20. package/lib/Signal/Group/queue-job.js +5 -2
  21. package/lib/Signal/Group/sender-chain-key.d.ts +2 -3
  22. package/lib/Signal/Group/sender-chain-key.js +15 -7
  23. package/lib/Signal/Group/sender-key-distribution-message.d.ts +1 -2
  24. package/lib/Signal/Group/sender-key-distribution-message.js +11 -8
  25. package/lib/Signal/Group/sender-key-message.d.ts +1 -2
  26. package/lib/Signal/Group/sender-key-message.js +12 -9
  27. package/lib/Signal/Group/sender-key-name.d.ts +0 -1
  28. package/lib/Signal/Group/sender-key-name.js +5 -2
  29. package/lib/Signal/Group/sender-key-record.d.ts +2 -3
  30. package/lib/Signal/Group/sender-key-record.js +21 -9
  31. package/lib/Signal/Group/sender-key-state.d.ts +6 -7
  32. package/lib/Signal/Group/sender-key-state.js +42 -27
  33. package/lib/Signal/Group/sender-message-key.d.ts +0 -1
  34. package/lib/Signal/Group/sender-message-key.js +7 -4
  35. package/lib/Signal/libsignal.d.ts +3 -5
  36. package/lib/Signal/libsignal.js +90 -258
  37. package/lib/Socket/Client/{types.d.ts → abstract-socket-client.d.ts} +3 -2
  38. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  39. package/lib/Socket/Client/index.d.ts +3 -3
  40. package/lib/Socket/Client/index.js +19 -3
  41. package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
  42. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  43. package/lib/Socket/Client/{websocket.d.ts → web-socket-client.d.ts} +1 -2
  44. package/lib/Socket/Client/web-socket-client.js +62 -0
  45. package/lib/Socket/business.d.ts +108 -125
  46. package/lib/Socket/business.js +43 -159
  47. package/lib/Socket/chats.d.ts +239 -70
  48. package/lib/Socket/chats.js +384 -363
  49. package/lib/Socket/dugong.d.ts +254 -0
  50. package/lib/Socket/dugong.js +484 -0
  51. package/lib/Socket/groups.d.ts +56 -78
  52. package/lib/Socket/groups.js +96 -106
  53. package/lib/Socket/index.d.ts +115 -173
  54. package/lib/Socket/index.js +10 -17
  55. package/lib/Socket/messages-recv.d.ts +79 -91
  56. package/lib/Socket/messages-recv.js +521 -639
  57. package/lib/Socket/messages-send.d.ts +91 -111
  58. package/lib/Socket/messages-send.js +438 -599
  59. package/lib/Socket/newsletter.d.ts +84 -97
  60. package/lib/Socket/newsletter.js +1 -181
  61. package/lib/Socket/registration.d.ts +267 -0
  62. package/lib/Socket/registration.js +166 -0
  63. package/lib/Socket/socket.d.ts +18 -26
  64. package/lib/Socket/socket.js +230 -448
  65. package/lib/Socket/usync.d.ts +16 -17
  66. package/lib/Socket/usync.js +26 -19
  67. package/lib/Store/index.d.ts +3 -0
  68. package/lib/Store/index.js +10 -0
  69. package/lib/Store/make-cache-manager-store.d.ts +13 -0
  70. package/lib/Store/make-cache-manager-store.js +83 -0
  71. package/lib/Store/make-in-memory-store.d.ts +118 -0
  72. package/lib/Store/make-in-memory-store.js +427 -0
  73. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  74. package/lib/Store/make-ordered-dictionary.js +81 -0
  75. package/lib/Store/object-repository.d.ts +10 -0
  76. package/lib/Store/object-repository.js +27 -0
  77. package/lib/Types/Auth.d.ts +12 -13
  78. package/lib/Types/Auth.js +2 -2
  79. package/lib/Types/Call.d.ts +1 -2
  80. package/lib/Types/Call.js +2 -2
  81. package/lib/Types/Chat.d.ts +13 -34
  82. package/lib/Types/Chat.js +4 -8
  83. package/lib/Types/Contact.d.ts +1 -6
  84. package/lib/Types/Contact.js +2 -2
  85. package/lib/Types/Events.d.ts +15 -60
  86. package/lib/Types/Events.js +2 -2
  87. package/lib/Types/GroupMetadata.d.ts +5 -17
  88. package/lib/Types/GroupMetadata.js +2 -2
  89. package/lib/Types/Label.d.ts +0 -12
  90. package/lib/Types/Label.js +5 -3
  91. package/lib/Types/LabelAssociation.d.ts +0 -1
  92. package/lib/Types/LabelAssociation.js +5 -3
  93. package/lib/Types/Message.d.ts +54 -84
  94. package/lib/Types/Message.js +9 -11
  95. package/lib/Types/Newsletter.d.ts +98 -130
  96. package/lib/Types/Newsletter.js +38 -31
  97. package/lib/Types/Product.d.ts +1 -2
  98. package/lib/Types/Product.js +2 -2
  99. package/lib/Types/Signal.d.ts +1 -20
  100. package/lib/Types/Signal.js +2 -2
  101. package/lib/Types/Socket.d.ts +25 -47
  102. package/lib/Types/Socket.js +2 -3
  103. package/lib/Types/State.d.ts +2 -14
  104. package/lib/Types/State.js +2 -13
  105. package/lib/Types/USync.d.ts +2 -3
  106. package/lib/Types/USync.js +2 -2
  107. package/lib/Types/index.d.ts +14 -22
  108. package/lib/Types/index.js +31 -15
  109. package/lib/Utils/auth-utils.d.ts +6 -7
  110. package/lib/Utils/auth-utils.js +148 -199
  111. package/lib/Utils/baileys-event-stream.d.ts +1 -2
  112. package/lib/Utils/baileys-event-stream.js +22 -15
  113. package/lib/Utils/business.d.ts +2 -3
  114. package/lib/Utils/business.js +69 -66
  115. package/lib/Utils/chat-utils.d.ts +22 -21
  116. package/lib/Utils/chat-utils.js +226 -260
  117. package/lib/Utils/crypto.d.ts +19 -19
  118. package/lib/Utils/crypto.js +86 -77
  119. package/lib/Utils/decode-wa-message.d.ts +8 -37
  120. package/lib/Utils/decode-wa-message.js +83 -164
  121. package/lib/Utils/event-buffer.d.ts +8 -7
  122. package/lib/Utils/event-buffer.js +76 -110
  123. package/lib/Utils/generics.d.ts +29 -27
  124. package/lib/Utils/generics.js +210 -168
  125. package/lib/Utils/history.d.ts +8 -12
  126. package/lib/Utils/history.js +46 -34
  127. package/lib/Utils/index.d.ts +17 -20
  128. package/lib/Utils/index.js +33 -20
  129. package/lib/Utils/link-preview.d.ts +5 -5
  130. package/lib/Utils/link-preview.js +22 -14
  131. package/lib/Utils/logger.d.ts +3 -11
  132. package/lib/Utils/logger.js +7 -3
  133. package/lib/Utils/lt-hash.d.ts +8 -9
  134. package/lib/Utils/lt-hash.js +28 -25
  135. package/lib/Utils/make-mutex.d.ts +2 -3
  136. package/lib/Utils/make-mutex.js +10 -7
  137. package/lib/Utils/messages-media.d.ts +44 -42
  138. package/lib/Utils/messages-media.js +475 -319
  139. package/lib/Utils/messages.d.ts +18 -17
  140. package/lib/Utils/messages.js +259 -383
  141. package/lib/Utils/noise-handler.d.ts +15 -14
  142. package/lib/Utils/noise-handler.js +38 -30
  143. package/lib/Utils/process-message.d.ts +13 -14
  144. package/lib/Utils/process-message.js +147 -239
  145. package/lib/Utils/signal.d.ts +5 -7
  146. package/lib/Utils/signal.js +72 -78
  147. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -2
  148. package/lib/Utils/use-multi-file-auth-state.js +27 -29
  149. package/lib/Utils/validate-connection.d.ts +7 -7
  150. package/lib/Utils/validate-connection.js +106 -72
  151. package/lib/WABinary/constants.d.ts +27 -25
  152. package/lib/WABinary/constants.js +20 -1281
  153. package/lib/WABinary/decode.d.ts +5 -5
  154. package/lib/WABinary/decode.js +42 -28
  155. package/lib/WABinary/encode.d.ts +3 -3
  156. package/lib/WABinary/encode.js +154 -105
  157. package/lib/WABinary/generic-utils.d.ts +7 -5
  158. package/lib/WABinary/generic-utils.js +63 -56
  159. package/lib/WABinary/index.d.ts +5 -6
  160. package/lib/WABinary/index.js +21 -6
  161. package/lib/WABinary/jid-utils.d.ts +8 -25
  162. package/lib/WABinary/jid-utils.js +40 -74
  163. package/lib/WABinary/types.d.ts +1 -2
  164. package/lib/WABinary/types.js +2 -2
  165. package/lib/WAM/BinaryInfo.d.ts +11 -3
  166. package/lib/WAM/BinaryInfo.js +5 -2
  167. package/lib/WAM/constants.d.ts +3 -5
  168. package/lib/WAM/constants.js +11958 -19461
  169. package/lib/WAM/encode.d.ts +3 -3
  170. package/lib/WAM/encode.js +22 -17
  171. package/lib/WAM/index.d.ts +3 -4
  172. package/lib/WAM/index.js +19 -4
  173. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +3 -4
  174. package/lib/WAUSync/Protocols/USyncContactProtocol.js +11 -8
  175. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +2 -3
  176. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +14 -11
  177. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +2 -3
  178. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +12 -9
  179. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +2 -3
  180. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +13 -9
  181. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +3 -4
  182. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +22 -20
  183. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +3 -5
  184. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +8 -13
  185. package/lib/WAUSync/Protocols/index.d.ts +4 -5
  186. package/lib/WAUSync/Protocols/index.js +20 -5
  187. package/lib/WAUSync/USyncQuery.d.ts +4 -5
  188. package/lib/WAUSync/USyncQuery.js +35 -40
  189. package/lib/WAUSync/USyncUser.d.ts +5 -6
  190. package/lib/WAUSync/USyncUser.js +5 -2
  191. package/lib/WAUSync/index.d.ts +3 -4
  192. package/lib/WAUSync/index.js +19 -4
  193. package/lib/index.d.ts +9 -19
  194. package/lib/index.js +1 -36
  195. package/package.json +109 -103
  196. package/WAProto/GenerateStatics.sh +0 -3
  197. package/WAProto/WAProto.proto +0 -5519
  198. package/WAProto/fix-imports.js +0 -29
  199. package/WAProto/index.d.ts +0 -11969
  200. package/lib/Signal/lid-mapping.d.ts +0 -23
  201. package/lib/Signal/lid-mapping.js +0 -171
  202. package/lib/Socket/Client/types.js +0 -11
  203. package/lib/Socket/Client/websocket.js +0 -50
  204. package/lib/Socket/communities.d.ts +0 -244
  205. package/lib/Socket/communities.js +0 -431
  206. package/lib/Socket/mex.d.ts +0 -3
  207. package/lib/Socket/mex.js +0 -42
  208. package/lib/Types/Bussines.d.ts +0 -25
  209. package/lib/Types/Bussines.js +0 -2
  210. package/lib/Utils/browser-utils.d.ts +0 -4
  211. package/lib/Utils/browser-utils.js +0 -28
  212. package/lib/Utils/message-retry-manager.d.ts +0 -82
  213. package/lib/Utils/message-retry-manager.js +0 -149
  214. package/lib/Utils/pre-key-manager.d.ts +0 -28
  215. package/lib/Utils/pre-key-manager.js +0 -106
  216. /package/lib/{supun → supunmd} +0 -0
@@ -1,23 +1,27 @@
1
- import { proto } from '../../WAProto/index.js';
2
- import { WAMessageAddressingMode, WAMessageStubType } from '../Types/index.js';
3
- import { generateMessageIDV2, unixTimestampSeconds } from '../Utils/index.js';
4
- import { getBinaryNodeChild, getBinaryNodeChildren, getBinaryNodeChildString, isLidUser, isPnUser, jidEncode, jidNormalizedUser } from '../WABinary/index.js';
5
- import { makeChatsSocket } from './chats.js';
6
- export const makeGroupsSocket = (config) => {
7
- const sock = makeChatsSocket(config);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractGroupMetadata = exports.makeGroupsSocket = void 0;
4
+ const WAProto_1 = require("../../WAProto");
5
+ const Types_1 = require("../Types");
6
+ const Utils_1 = require("../Utils");
7
+ const WABinary_1 = require("../WABinary");
8
+ const chats_1 = require("./chats");
9
+ const WAUSync_1 = require("../WAUSync");
10
+ const makeGroupsSocket = (config) => {
11
+ const sock = (0, chats_1.makeChatsSocket)(config);
8
12
  const { authState, ev, query, upsertMessage } = sock;
9
- const groupQuery = async (jid, type, content) => query({
13
+ const groupQuery = async (jid, type, content) => (query({
10
14
  tag: 'iq',
11
15
  attrs: {
12
16
  type,
13
17
  xmlns: 'w:g2',
14
- to: jid
18
+ to: jid,
15
19
  },
16
20
  content
17
- });
21
+ }));
18
22
  const groupMetadata = async (jid) => {
19
23
  const result = await groupQuery(jid, 'get', [{ tag: 'query', attrs: { request: 'interactive' } }]);
20
- return extractGroupMetadata(result);
24
+ return (0, exports.extractGroupMetadata)(result);
21
25
  };
22
26
  const groupFetchAllParticipating = async () => {
23
27
  const result = await query({
@@ -25,7 +29,7 @@ export const makeGroupsSocket = (config) => {
25
29
  attrs: {
26
30
  to: '@g.us',
27
31
  xmlns: 'w:g2',
28
- type: 'get'
32
+ type: 'get',
29
33
  },
30
34
  content: [
31
35
  {
@@ -39,11 +43,11 @@ export const makeGroupsSocket = (config) => {
39
43
  ]
40
44
  });
41
45
  const data = {};
42
- const groupsChild = getBinaryNodeChild(result, 'groups');
46
+ const groupsChild = (0, WABinary_1.getBinaryNodeChild)(result, 'groups');
43
47
  if (groupsChild) {
44
- const groups = getBinaryNodeChildren(groupsChild, 'group');
48
+ const groups = (0, WABinary_1.getBinaryNodeChildren)(groupsChild, 'group');
45
49
  for (const groupNode of groups) {
46
- const meta = extractGroupMetadata({
50
+ const meta = (0, exports.extractGroupMetadata)({
47
51
  tag: 'result',
48
52
  attrs: {},
49
53
  content: [groupNode]
@@ -51,12 +55,11 @@ export const makeGroupsSocket = (config) => {
51
55
  data[meta.id] = meta;
52
56
  }
53
57
  }
54
- // TODO: properly parse LID / PN DATA
55
58
  sock.ev.emit('groups.update', Object.values(data));
56
59
  return data;
57
60
  };
58
61
  sock.ws.on('CB:ib,,dirty', async (node) => {
59
- const { attrs } = getBinaryNodeChild(node, 'dirty');
62
+ const { attrs } = (0, WABinary_1.getBinaryNodeChild)(node, 'dirty');
60
63
  if (attrs.type !== 'groups') {
61
64
  return;
62
65
  }
@@ -67,7 +70,7 @@ export const makeGroupsSocket = (config) => {
67
70
  ...sock,
68
71
  groupMetadata,
69
72
  groupCreate: async (subject, participants) => {
70
- const key = generateMessageIDV2();
73
+ const key = (0, Utils_1.generateMessageID)();
71
74
  const result = await groupQuery('@g.us', 'set', [
72
75
  {
73
76
  tag: 'create',
@@ -81,14 +84,16 @@ export const makeGroupsSocket = (config) => {
81
84
  }))
82
85
  }
83
86
  ]);
84
- return extractGroupMetadata(result);
87
+ return (0, exports.extractGroupMetadata)(result);
85
88
  },
86
89
  groupLeave: async (id) => {
87
90
  await groupQuery('@g.us', 'set', [
88
91
  {
89
92
  tag: 'leave',
90
93
  attrs: {},
91
- content: [{ tag: 'group', attrs: { id } }]
94
+ content: [
95
+ { tag: 'group', attrs: { id } }
96
+ ]
92
97
  }
93
98
  ]);
94
99
  },
@@ -108,13 +113,12 @@ export const makeGroupsSocket = (config) => {
108
113
  attrs: {}
109
114
  }
110
115
  ]);
111
- const node = getBinaryNodeChild(result, 'membership_approval_requests');
112
- const participants = getBinaryNodeChildren(node, 'membership_approval_request');
116
+ const node = (0, WABinary_1.getBinaryNodeChild)(result, 'membership_approval_requests');
117
+ const participants = (0, WABinary_1.getBinaryNodeChildren)(node, 'membership_approval_request');
113
118
  return participants.map(v => v.attrs);
114
119
  },
115
120
  groupRequestParticipantsUpdate: async (jid, participants, action) => {
116
- const result = await groupQuery(jid, 'set', [
117
- {
121
+ const result = await groupQuery(jid, 'set', [{
118
122
  tag: 'membership_requests_action',
119
123
  attrs: {},
120
124
  content: [
@@ -127,11 +131,10 @@ export const makeGroupsSocket = (config) => {
127
131
  }))
128
132
  }
129
133
  ]
130
- }
131
- ]);
132
- const node = getBinaryNodeChild(result, 'membership_requests_action');
133
- const nodeAction = getBinaryNodeChild(node, action);
134
- const participantsAffected = getBinaryNodeChildren(nodeAction, 'participant');
134
+ }]);
135
+ const node = (0, WABinary_1.getBinaryNodeChild)(result, 'membership_requests_action');
136
+ const nodeAction = (0, WABinary_1.getBinaryNodeChild)(node, action);
137
+ const participantsAffected = (0, WABinary_1.getBinaryNodeChildren)(nodeAction, 'participant');
135
138
  return participantsAffected.map(p => {
136
139
  return { status: p.attrs.error || '200', jid: p.attrs.jid };
137
140
  });
@@ -147,52 +150,43 @@ export const makeGroupsSocket = (config) => {
147
150
  }))
148
151
  }
149
152
  ]);
150
- const node = getBinaryNodeChild(result, action);
151
- const participantsAffected = getBinaryNodeChildren(node, 'participant');
153
+ const node = (0, WABinary_1.getBinaryNodeChild)(result, action);
154
+ const participantsAffected = (0, WABinary_1.getBinaryNodeChildren)(node, 'participant');
152
155
  return participantsAffected.map(p => {
153
156
  return { status: p.attrs.error || '200', jid: p.attrs.jid, content: p };
154
157
  });
155
158
  },
156
159
  groupUpdateDescription: async (jid, description) => {
160
+ var _a;
157
161
  const metadata = await groupMetadata(jid);
158
- const prev = metadata.descId ?? null;
162
+ const prev = (_a = metadata.descId) !== null && _a !== void 0 ? _a : null;
159
163
  await groupQuery(jid, 'set', [
160
164
  {
161
165
  tag: 'description',
162
166
  attrs: {
163
- ...(description ? { id: generateMessageIDV2() } : { delete: 'true' }),
167
+ ...(description ? { id: (0, Utils_1.generateMessageID)() } : { delete: 'true' }),
164
168
  ...(prev ? { prev } : {})
165
169
  },
166
- content: description ? [{ tag: 'body', attrs: {}, content: Buffer.from(description, 'utf-8') }] : undefined
170
+ content: description ? [
171
+ { tag: 'body', attrs: {}, content: Buffer.from(description, 'utf-8') }
172
+ ] : undefined
167
173
  }
168
174
  ]);
169
175
  },
170
176
  groupInviteCode: async (jid) => {
171
177
  const result = await groupQuery(jid, 'get', [{ tag: 'invite', attrs: {} }]);
172
- const inviteNode = getBinaryNodeChild(result, 'invite');
173
- return inviteNode?.attrs.code;
178
+ const inviteNode = (0, WABinary_1.getBinaryNodeChild)(result, 'invite');
179
+ return inviteNode === null || inviteNode === void 0 ? void 0 : inviteNode.attrs.code;
174
180
  },
175
181
  groupRevokeInvite: async (jid) => {
176
182
  const result = await groupQuery(jid, 'set', [{ tag: 'invite', attrs: {} }]);
177
- const inviteNode = getBinaryNodeChild(result, 'invite');
178
- return inviteNode?.attrs.code;
183
+ const inviteNode = (0, WABinary_1.getBinaryNodeChild)(result, 'invite');
184
+ return inviteNode === null || inviteNode === void 0 ? void 0 : inviteNode.attrs.code;
179
185
  },
180
186
  groupAcceptInvite: async (code) => {
181
187
  const results = await groupQuery('@g.us', 'set', [{ tag: 'invite', attrs: { code } }]);
182
- const result = getBinaryNodeChild(results, 'group');
183
- return result?.attrs.jid;
184
- },
185
- /**
186
- * revoke a v4 invite for someone
187
- * @param groupJid group jid
188
- * @param invitedJid jid of person you invited
189
- * @returns true if successful
190
- */
191
- groupRevokeInviteV4: async (groupJid, invitedJid) => {
192
- const result = await groupQuery(groupJid, 'set', [
193
- { tag: 'revoke', attrs: {}, content: [{ tag: 'participant', attrs: { jid: invitedJid } }] }
194
- ]);
195
- return !!result;
188
+ const result = (0, WABinary_1.getBinaryNodeChild)(results, 'group');
189
+ return result === null || result === void 0 ? void 0 : result.attrs.jid;
196
190
  },
197
191
  /**
198
192
  * accept a GroupInviteMessage
@@ -201,21 +195,19 @@ export const makeGroupsSocket = (config) => {
201
195
  */
202
196
  groupAcceptInviteV4: ev.createBufferedFunction(async (key, inviteMessage) => {
203
197
  key = typeof key === 'string' ? { remoteJid: key } : key;
204
- const results = await groupQuery(inviteMessage.groupJid, 'set', [
205
- {
198
+ const results = await groupQuery(inviteMessage.groupJid, 'set', [{
206
199
  tag: 'accept',
207
200
  attrs: {
208
201
  code: inviteMessage.inviteCode,
209
202
  expiration: inviteMessage.inviteExpiration.toString(),
210
203
  admin: key.remoteJid
211
204
  }
212
- }
213
- ]);
205
+ }]);
214
206
  // if we have the full message key
215
207
  // update the invite message to be expired
216
208
  if (key.id) {
217
209
  // create new invite message that is expired
218
- inviteMessage = proto.Message.GroupInviteMessage.fromObject(inviteMessage);
210
+ inviteMessage = WAProto_1.proto.Message.GroupInviteMessage.fromObject(inviteMessage);
219
211
  inviteMessage.inviteExpiration = 0;
220
212
  inviteMessage.inviteCode = '';
221
213
  ev.emit('messages.update', [
@@ -233,25 +225,27 @@ export const makeGroupsSocket = (config) => {
233
225
  await upsertMessage({
234
226
  key: {
235
227
  remoteJid: inviteMessage.groupJid,
236
- id: generateMessageIDV2(sock.user?.id),
228
+ id: (0, Utils_1.generateMessageID)(),
237
229
  fromMe: false,
238
- participant: key.remoteJid
230
+ participant: key.remoteJid,
239
231
  },
240
- messageStubType: WAMessageStubType.GROUP_PARTICIPANT_ADD,
241
- messageStubParameters: [JSON.stringify(authState.creds.me)],
232
+ messageStubType: Types_1.WAMessageStubType.GROUP_PARTICIPANT_ADD,
233
+ messageStubParameters: [
234
+ authState.creds.me.id
235
+ ],
242
236
  participant: key.remoteJid,
243
- messageTimestamp: unixTimestampSeconds()
237
+ messageTimestamp: (0, Utils_1.unixTimestampSeconds)()
244
238
  }, 'notify');
245
239
  return results.attrs.from;
246
240
  }),
247
241
  groupGetInviteInfo: async (code) => {
248
242
  const results = await groupQuery('@g.us', 'get', [{ tag: 'invite', attrs: { code } }]);
249
- return extractGroupMetadata(results);
243
+ return (0, exports.extractGroupMetadata)(results);
250
244
  },
251
245
  groupToggleEphemeral: async (jid, ephemeralExpiration) => {
252
- const content = ephemeralExpiration
253
- ? { tag: 'ephemeral', attrs: { expiration: ephemeralExpiration.toString() } }
254
- : { tag: 'not_ephemeral', attrs: {} };
246
+ const content = ephemeralExpiration ?
247
+ { tag: 'ephemeral', attrs: { expiration: ephemeralExpiration.toString() } } :
248
+ { tag: 'not_ephemeral', attrs: {} };
255
249
  await groupQuery(jid, 'set', [content]);
256
250
  },
257
251
  groupSettingUpdate: async (jid, setting) => {
@@ -261,67 +255,63 @@ export const makeGroupsSocket = (config) => {
261
255
  await groupQuery(jid, 'set', [{ tag: 'member_add_mode', attrs: {}, content: mode }]);
262
256
  },
263
257
  groupJoinApprovalMode: async (jid, mode) => {
264
- await groupQuery(jid, 'set', [
265
- { tag: 'membership_approval_mode', attrs: {}, content: [{ tag: 'group_join', attrs: { state: mode } }] }
266
- ]);
258
+ await groupQuery(jid, 'set', [{ tag: 'membership_approval_mode', attrs: {}, content: [{ tag: 'group_join', attrs: { state: mode } }] }]);
267
259
  },
268
260
  groupFetchAllParticipating
269
261
  };
270
262
  };
271
- export const extractGroupMetadata = (result) => {
272
- const group = getBinaryNodeChild(result, 'group');
273
- const descChild = getBinaryNodeChild(group, 'description');
263
+ exports.makeGroupsSocket = makeGroupsSocket;
264
+ const extractGroupMetadata = (result) => {
265
+ var _a, _b;
266
+ const group = WABinary_1.getBinaryNodeChild(result, 'group');
267
+ const descChild = WABinary_1.getBinaryNodeChild(group, 'description');
274
268
  let desc;
275
269
  let descId;
276
270
  let descOwner;
277
- let descOwnerPn;
271
+ let descOwnerLid;
278
272
  let descTime;
279
273
  if (descChild) {
280
- desc = getBinaryNodeChildString(descChild, 'body');
281
- descOwner = descChild.attrs.participant ? jidNormalizedUser(descChild.attrs.participant) : undefined;
282
- descOwnerPn = descChild.attrs.participant_pn ? jidNormalizedUser(descChild.attrs.participant_pn) : undefined;
283
- descTime = +descChild.attrs.t;
274
+ desc = WABinary_1.getBinaryNodeChildString(descChild, 'body');
275
+ descOwner = WABinary_1.jidNormalizedUser(descChild.attrs.participant_pn || descChild.attrs.participant);
276
+ if (group.attrs.addressing_mode === 'lid') {
277
+ descOwnerLid = WABinary_1.jidNormalizedUser(descChild.attrs.participant);
278
+ }
284
279
  descId = descChild.attrs.id;
280
+ descTime = descChild.attrs.t ? +descChild.attrs.t : undefined;
285
281
  }
286
- const groupId = group.attrs.id.includes('@') ? group.attrs.id : jidEncode(group.attrs.id, 'g.us');
287
- const eph = getBinaryNodeChild(group, 'ephemeral')?.attrs.expiration;
288
- const memberAddMode = getBinaryNodeChildString(group, 'member_add_mode') === 'all_member_add';
282
+ const groupSize = group.attrs.size ? Number(group.attrs.size) : undefined;
283
+ const groupId = group.attrs.id.includes('@') ? group.attrs.id : (0, WABinary_1.jidEncode)(group.attrs.id, 'g.us');
284
+ const eph = WABinary_1.getBinaryNodeChild(group, 'ephemeral')?.attrs.expiration
285
+ const memberAddMode = WABinary_1.getBinaryNodeChildString(group, 'member_add_mode') === 'all_member_add';
289
286
  const metadata = {
290
287
  id: groupId,
291
- notify: group.attrs.notify,
292
- addressingMode: group.attrs.addressing_mode === 'lid' ? WAMessageAddressingMode.LID : WAMessageAddressingMode.PN,
288
+ addressingMode: group.attrs.addressing_mode,
293
289
  subject: group.attrs.subject,
294
- subjectOwner: group.attrs.s_o,
295
- subjectOwnerPn: group.attrs.s_o_pn,
296
- subjectTime: +group.attrs.s_t,
297
- size: group.attrs.size ? +group.attrs.size : getBinaryNodeChildren(group, 'participant').length,
298
- creation: +group.attrs.creation,
299
- owner: group.attrs.creator ? jidNormalizedUser(group.attrs.creator) : undefined,
300
- ownerPn: group.attrs.creator_pn ? jidNormalizedUser(group.attrs.creator_pn) : undefined,
301
- owner_country_code: group.attrs.creator_country_code,
302
- desc,
303
- descId,
290
+ subjectOwner: WABinary_1.jidNormalizedUser(group.attrs.s_o_pn || group.attrs.s_o),
291
+ ...(group.attrs.addressing_mode === 'lid' ? { subjectOwnerLid: WABinary_1.jidNormalizedUser(group.attrs.s_o) } : {}),
292
+ subjectTime: group.attrs.s_t ? +group.attrs.s_t : undefined,
293
+ size: groupSize || WABinary_1.getBinaryNodeChildren(group, 'participant').length,
294
+ creation: group.attrs.creation ? +group.attrs.creation : undefined,
295
+ owner: WABinary_1.jidNormalizedUser(group.attrs.creator_pn || group.attrs.creator),
296
+ ...(group.attrs.addressing_mode === 'lid' ? { ownerLid: WABinary_1.jidNormalizedUser(group.attrs.creator) } : {}),
304
297
  descOwner,
305
- descOwnerPn,
306
- descTime,
307
- linkedParent: getBinaryNodeChild(group, 'linked_parent')?.attrs.jid || undefined,
308
- restrict: !!getBinaryNodeChild(group, 'locked'),
309
- announce: !!getBinaryNodeChild(group, 'announcement'),
310
- isCommunity: !!getBinaryNodeChild(group, 'parent'),
311
- isCommunityAnnounce: !!getBinaryNodeChild(group, 'default_sub_group'),
312
- joinApprovalMode: !!getBinaryNodeChild(group, 'membership_approval_mode'),
298
+ descOwnerLid,
299
+ restrict: !!WABinary_1.getBinaryNodeChild(group, 'locked'),
300
+ announce: !!WABinary_1.getBinaryNodeChild(group, 'announcement'),
301
+ isCommunity: !!WABinary_1.getBinaryNodeChild(group, 'parent'),
302
+ isCommunityAnnounce: !!WABinary_1.getBinaryNodeChild(group, 'default_sub_group'),
303
+ joinApprovalMode: !!WABinary_1.getBinaryNodeChild(group, 'membership_approval_mode'),
313
304
  memberAddMode,
314
- participants: getBinaryNodeChildren(group, 'participant').map(({ attrs }) => {
315
- // TODO: Store LID MAPPINGS
305
+ participants: WABinary_1.getBinaryNodeChildren(group, 'participant').map(({ attrs }) => {
316
306
  return {
317
307
  id: attrs.jid,
318
- phoneNumber: isLidUser(attrs.jid) && isPnUser(attrs.phone_number) ? attrs.phone_number : undefined,
319
- lid: isPnUser(attrs.jid) && isLidUser(attrs.lid) ? attrs.lid : undefined,
320
- admin: (attrs.type || null)
308
+ jid: attrs.phone_number || attrs.jid,
309
+ admin: (attrs.type || null),
321
310
  };
322
311
  }),
323
312
  ephemeralDuration: eph ? +eph : undefined
324
313
  };
325
314
  return metadata;
326
315
  };
327
- //# sourceMappingURL=groups.js.map
316
+ exports.extractGroupMetadata = extractGroupMetadata;
317
+