@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,34 +1,50 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- import { AxiosRequestConfig } from 'axios';
5
- import type { Logger } from 'pino';
6
1
  import type { Readable } from 'stream';
7
2
  import type { URL } from 'url';
8
- import { BinaryNode } from '../WABinary';
9
- import { proto } from '../../WAProto';
10
- import { MEDIA_HKDF_KEY_MAPPING } from '../Defaults';
11
- import type { GroupMetadata } from './GroupMetadata';
12
- import { CacheStore } from './Socket';
3
+ import { proto } from '../../WAProto/index.js';
4
+ import type { MediaType } from '../Defaults/index.js';
5
+ import type { BinaryNode } from '../WABinary/index.js';
6
+ import type { GroupMetadata } from './GroupMetadata.js';
7
+ import type { CacheStore } from './Socket.js';
13
8
  export { proto as WAProto };
14
- export type WAMessage = proto.IWebMessageInfo;
9
+ export type WAMessage = proto.IWebMessageInfo & {
10
+ key: WAMessageKey;
11
+ messageStubParameters?: any;
12
+ category?: string;
13
+ retryCount?: number;
14
+ };
15
15
  export type WAMessageContent = proto.IMessage;
16
16
  export type WAContactMessage = proto.Message.IContactMessage;
17
17
  export type WAContactsArrayMessage = proto.Message.IContactsArrayMessage;
18
- export type WAMessageKey = proto.IMessageKey;
18
+ export type WAMessageKey = proto.IMessageKey & {
19
+ remoteJidAlt?: string;
20
+ remoteJidUsername?: string;
21
+ participantAlt?: string;
22
+ participantUsername?: string;
23
+ server_id?: string;
24
+ addressingMode?: string;
25
+ isViewOnce?: boolean;
26
+ };
19
27
  export type WATextMessage = proto.Message.IExtendedTextMessage;
20
28
  export type WAContextInfo = proto.IContextInfo;
21
29
  export type WALocationMessage = proto.Message.ILocationMessage;
22
30
  export type WAGenericMediaMessage = proto.Message.IVideoMessage | proto.Message.IImageMessage | proto.Message.IAudioMessage | proto.Message.IDocumentMessage | proto.Message.IStickerMessage;
23
- export import WAMessageStubType = proto.WebMessageInfo.StubType;
24
- export import WAMessageStatus = proto.WebMessageInfo.Status;
25
- export type WAMediaUpload = Buffer | {
31
+ export declare const WAMessageStubType: typeof proto.WebMessageInfo.StubType;
32
+ export declare const WAMessageStatus: typeof proto.WebMessageInfo.Status;
33
+ import type { ILogger } from '../Utils/logger.js';
34
+ export type WAMediaPayloadURL = {
26
35
  url: URL | string;
27
- } | {
36
+ };
37
+ export type WAMediaPayloadStream = {
28
38
  stream: Readable;
29
39
  };
40
+ export type WAMediaUpload = Buffer | WAMediaPayloadStream | WAMediaPayloadURL;
30
41
  /** Set of message types that are supported by the library */
31
42
  export type MessageType = keyof proto.Message;
43
+ export declare enum WAMessageAddressingMode {
44
+ PN = "pn",
45
+ LID = "lid"
46
+ }
47
+ export type MessageWithContextInfo = 'imageMessage' | 'contactMessage' | 'locationMessage' | 'extendedTextMessage' | 'documentMessage' | 'audioMessage' | 'videoMessage' | 'call' | 'contactsArrayMessage' | 'liveLocationMessage' | 'templateMessage' | 'stickerMessage' | 'groupInviteMessage' | 'templateButtonReplyMessage' | 'productMessage' | 'listMessage' | 'orderMessage' | 'listResponseMessage' | 'buttonsMessage' | 'buttonsResponseMessage' | 'interactiveMessage' | 'interactiveResponseMessage' | 'pollCreationMessage' | 'requestPhoneNumberMessage' | 'messageHistoryBundle' | 'eventMessage' | 'newsletterAdminInviteMessage' | 'albumMessage' | 'stickerPackMessage' | 'pollResultSnapshotMessage' | 'messageHistoryNotice';
32
48
  export type DownloadableMessage = {
33
49
  mediaKey?: Uint8Array | null;
34
50
  directPath?: string | null;
@@ -56,6 +72,8 @@ export interface WAUrlInfo {
56
72
  type Mentionable = {
57
73
  /** list of jids that are mentioned in the accompanying text */
58
74
  mentions?: string[];
75
+ /** mention all */
76
+ mentionAll?: boolean;
59
77
  };
60
78
  type Contextable = {
61
79
  /** add contextInfo to the message */
@@ -64,26 +82,9 @@ type Contextable = {
64
82
  type ViewOnce = {
65
83
  viewOnce?: boolean;
66
84
  };
67
- type Buttonable = {
68
- /** add buttons to the message */
69
- buttons?: proto.Message.ButtonsMessage.IButton[];
70
- };
71
- type Templatable = {
72
- /** add buttons to the message (conflicts with normal buttons)*/
73
- templateButtons?: proto.IHydratedTemplateButton[];
74
- footer?: string;
75
- };
76
85
  type Editable = {
77
86
  edit?: WAMessageKey;
78
87
  };
79
- type Listable = {
80
- /** Sections of the List */
81
- sections?: proto.Message.ListMessage.ISection[];
82
- /** Title of a List Message only */
83
- title?: string;
84
- /** Text of the bnutton on the list (required) */
85
- buttonText?: string;
86
- };
87
88
  type WithDimensions = {
88
89
  width?: number;
89
90
  height?: number;
@@ -94,6 +95,25 @@ export type PollMessageOptions = {
94
95
  values: string[];
95
96
  /** 32 byte message secret to encrypt poll selections */
96
97
  messageSecret?: Uint8Array;
98
+ toAnnouncementGroup?: boolean;
99
+ };
100
+ export type EventMessageOptions = {
101
+ name: string;
102
+ description?: string;
103
+ startDate: Date;
104
+ endDate?: Date;
105
+ location?: WALocationMessage;
106
+ call?: 'audio' | 'video';
107
+ isCancelled?: boolean;
108
+ isScheduleCall?: boolean;
109
+ extraGuestsAllowed?: boolean;
110
+ messageSecret?: Uint8Array<ArrayBufferLike>;
111
+ };
112
+ export type AlbumMessageOptions = {
113
+ /** Number of images expected in the album */
114
+ expectedImageCount?: number;
115
+ /** Number of videos expected in the album */
116
+ expectedVideoCount?: number;
97
117
  };
98
118
  type SharePhoneNumber = {
99
119
  sharePhoneNumber: boolean;
@@ -101,19 +121,18 @@ type SharePhoneNumber = {
101
121
  type RequestPhoneNumber = {
102
122
  requestPhoneNumber: boolean;
103
123
  };
104
- export type MediaType = keyof typeof MEDIA_HKDF_KEY_MAPPING;
105
124
  export type AnyMediaMessageContent = (({
106
125
  image: WAMediaUpload;
107
126
  caption?: string;
108
127
  jpegThumbnail?: string;
109
- } & Mentionable & Contextable & Buttonable & Templatable & WithDimensions) | ({
128
+ } & Mentionable & Contextable & WithDimensions) | ({
110
129
  video: WAMediaUpload;
111
130
  caption?: string;
112
131
  gifPlayback?: boolean;
113
132
  jpegThumbnail?: string;
114
133
  /** if set to true, will send as a `video note` */
115
134
  ptv?: boolean;
116
- } & Mentionable & Contextable & Buttonable & Templatable & WithDimensions) | {
135
+ } & Mentionable & Contextable & WithDimensions) | {
117
136
  audio: WAMediaUpload;
118
137
  /** if set to true, will send as a `voice note` */
119
138
  ptt?: boolean;
@@ -127,23 +146,37 @@ export type AnyMediaMessageContent = (({
127
146
  mimetype: string;
128
147
  fileName?: string;
129
148
  caption?: string;
130
- } & Contextable & Buttonable & Templatable)) & {
149
+ } & Contextable)) & {
131
150
  mimetype?: string;
132
- } & Editable;
151
+ } & Editable & {
152
+ /** key of the parent albumMessage to associate this media with */
153
+ albumParentKey?: WAMessageKey;
154
+ };
133
155
  export type ButtonReplyInfo = {
134
156
  displayText: string;
135
157
  id: string;
136
158
  index: number;
137
159
  };
160
+ export type GroupInviteInfo = {
161
+ inviteCode: string;
162
+ inviteExpiration: number;
163
+ text: string;
164
+ jid: string;
165
+ subject: string;
166
+ };
138
167
  export type WASendableProduct = Omit<proto.Message.ProductMessage.IProductSnapshot, 'productImage'> & {
139
168
  productImage: WAMediaUpload;
140
169
  };
141
170
  export type AnyRegularMessageContent = (({
142
171
  text: string;
143
172
  linkPreview?: WAUrlInfo | null;
144
- } & Mentionable & Contextable & Buttonable & Templatable & Listable & Editable) | AnyMediaMessageContent | ({
173
+ } & Mentionable & Contextable & Editable) | AnyMediaMessageContent | {
174
+ event: EventMessageOptions;
175
+ } | ({
145
176
  poll: PollMessageOptions;
146
- } & Mentionable & Contextable & Buttonable & Templatable & Editable) | {
177
+ } & Mentionable & Contextable & Editable) | ({
178
+ album: AlbumMessageOptions;
179
+ } & Contextable & Mentionable) | {
147
180
  contacts: {
148
181
  displayName?: string;
149
182
  contacts: proto.Message.IContactMessage[];
@@ -155,8 +188,17 @@ export type AnyRegularMessageContent = (({
155
188
  } | {
156
189
  buttonReply: ButtonReplyInfo;
157
190
  type: 'template' | 'plain';
191
+ } | {
192
+ groupInvite: GroupInviteInfo;
158
193
  } | {
159
194
  listReply: Omit<proto.Message.IListResponseMessage, 'contextInfo'>;
195
+ } | {
196
+ pin: WAMessageKey;
197
+ type: proto.PinInChat.Type;
198
+ /**
199
+ * 24 hours, 7 days, 30 days
200
+ */
201
+ time?: 86400 | 604800 | 2592000;
160
202
  } | {
161
203
  product: WASendableProduct;
162
204
  businessOwnerJid?: string;
@@ -171,13 +213,15 @@ export type AnyMessageContent = AnyRegularMessageContent | {
171
213
  delete: WAMessageKey;
172
214
  } | {
173
215
  disappearingMessagesInChat: boolean | number;
216
+ } | {
217
+ limitSharing: boolean;
174
218
  };
175
219
  export type GroupMetadataParticipants = Pick<GroupMetadata, 'participants'>;
176
220
  type MinimalRelayOptions = {
177
221
  /** override the message ID with a custom provided string */
178
222
  messageId?: string;
179
- /** cached group metadata, use to prevent redundant requests to WA & speed up msg sending */
180
- cachedGroupMetadata?: (jid: string) => Promise<GroupMetadataParticipants | undefined>;
223
+ /** should we use group metadata cache, or fetch afresh from the server; default assumed to be "true" */
224
+ useCachedGroupMetadata?: boolean;
181
225
  };
182
226
  export type MessageRelayOptions = MinimalRelayOptions & {
183
227
  /** only send to a specific participant; used when a message decryption fails for a single user */
@@ -200,7 +244,6 @@ export type MiscMessageGenerationOptions = MinimalRelayOptions & {
200
244
  timestamp?: Date;
201
245
  /** the message you want to quote */
202
246
  quoted?: WAMessage;
203
- additionalNodes?: BinaryNode[];
204
247
  /** disappearing messages settings */
205
248
  ephemeralExpiration?: number | string;
206
249
  /** timeout for media upload to WA server */
@@ -217,32 +260,35 @@ export type MiscMessageGenerationOptions = MinimalRelayOptions & {
217
260
  export type MessageGenerationOptionsFromContent = MiscMessageGenerationOptions & {
218
261
  userJid: string;
219
262
  };
220
- export type WAMediaUploadFunctionOpts = {
263
+ export type WAMediaUploadFunction = (encFilePath: string, opts: {
221
264
  fileEncSha256B64: string;
222
265
  mediaType: MediaType;
223
- newsletter?: boolean;
224
266
  timeoutMs?: number;
225
- };
226
- export type WAMediaUploadFunction = (readStream: Readable | Buffer, opts: WAMediaUploadFunctionOpts) => Promise<{
267
+ }) => Promise<{
227
268
  mediaUrl: string;
228
269
  directPath: string;
229
- handle?: string;
270
+ meta_hmac?: string;
271
+ ts?: number;
272
+ fbid?: number;
230
273
  }>;
231
274
  export type MediaGenerationOptions = {
232
- logger?: Logger;
275
+ logger?: ILogger;
233
276
  mediaTypeOverride?: MediaType;
234
277
  upload: WAMediaUploadFunction;
235
278
  /** cache media so it does not have to be uploaded again */
236
279
  mediaCache?: CacheStore;
237
280
  mediaUploadTimeoutMs?: number;
238
- options?: AxiosRequestConfig;
281
+ options?: RequestInit;
239
282
  backgroundColor?: string;
240
283
  font?: number;
241
- /** The message is for newsletter? */
242
- newsletter?: boolean;
243
284
  };
244
285
  export type MessageContentGenerationOptions = MediaGenerationOptions & {
245
286
  getUrlInfo?: (text: string) => Promise<WAUrlInfo | undefined>;
287
+ getProfilePicUrl?: (jid: string, type: 'image' | 'preview') => Promise<string | undefined>;
288
+ getCallLink?: (type: 'audio' | 'video', event?: {
289
+ startTime: number;
290
+ }) => Promise<string | undefined>;
291
+ jid?: string;
246
292
  };
247
293
  export type MessageGenerationOptions = MessageContentGenerationOptions & MessageGenerationOptionsFromContent;
248
294
  /**
@@ -254,7 +300,7 @@ export type MessageUpsertType = 'append' | 'notify';
254
300
  export type MessageUserReceipt = proto.IUserReceipt;
255
301
  export type WAMessageUpdate = {
256
302
  update: Partial<WAMessage>;
257
- key: proto.IMessageKey;
303
+ key: WAMessageKey;
258
304
  };
259
305
  export type WAMessageCursor = {
260
306
  before: WAMessageKey | undefined;
@@ -262,12 +308,13 @@ export type WAMessageCursor = {
262
308
  after: WAMessageKey | undefined;
263
309
  };
264
310
  export type MessageUserReceiptUpdate = {
265
- key: proto.IMessageKey;
311
+ key: WAMessageKey;
266
312
  receipt: MessageUserReceipt;
267
313
  };
268
314
  export type MediaDecryptionKeyInfo = {
269
- iv: Buffer;
270
- cipherKey: Buffer;
271
- macKey?: Buffer;
315
+ iv: Uint8Array;
316
+ cipherKey: Uint8Array;
317
+ macKey?: Uint8Array;
272
318
  };
273
- export type MinimalMessage = Pick<proto.IWebMessageInfo, 'key' | 'messageTimestamp'>;
319
+ export type MinimalMessage = Pick<WAMessage, 'key' | 'messageTimestamp'>;
320
+ //# sourceMappingURL=Message.d.ts.map
@@ -1,9 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WAMessageStatus = exports.WAMessageStubType = exports.WAProto = void 0;
4
- const WAProto_1 = require("../../WAProto");
5
- Object.defineProperty(exports, "WAProto", { enumerable: true, get: function () { return WAProto_1.proto; } });
6
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
7
- exports.WAMessageStubType = WAProto_1.proto.WebMessageInfo.StubType;
8
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
9
- exports.WAMessageStatus = WAProto_1.proto.WebMessageInfo.Status;
1
+ import { proto } from '../../WAProto/index.js';
2
+ // export the WAMessage Prototypes
3
+ export { proto as WAProto };
4
+ export const WAMessageStubType = proto.WebMessageInfo.StubType;
5
+ export const WAMessageStatus = proto.WebMessageInfo.Status;
6
+ export var WAMessageAddressingMode;
7
+ (function (WAMessageAddressingMode) {
8
+ WAMessageAddressingMode["PN"] = "pn";
9
+ WAMessageAddressingMode["LID"] = "lid";
10
+ })(WAMessageAddressingMode || (WAMessageAddressingMode = {}));
11
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1,141 @@
1
+ export declare enum XWAPaths {
2
+ xwa2_newsletter_create = "xwa2_newsletter_create",
3
+ xwa2_newsletter_subscribers = "xwa2_newsletter_subscribers",
4
+ xwa2_newsletter_view = "xwa2_newsletter_view",
5
+ xwa2_newsletter_metadata = "xwa2_newsletter",
6
+ xwa2_newsletter_admin_count = "xwa2_newsletter_admin",
7
+ xwa2_newsletter_mute_v2 = "xwa2_newsletter_mute_v2",
8
+ xwa2_newsletter_unmute_v2 = "xwa2_newsletter_unmute_v2",
9
+ xwa2_newsletter_follow = "xwa2_newsletter_follow",
10
+ xwa2_newsletter_unfollow = "xwa2_newsletter_unfollow",
11
+ xwa2_newsletter_join_v2 = "xwa2_newsletter_join_v2",
12
+ xwa2_newsletter_leave_v2 = "xwa2_newsletter_leave_v2",
13
+ xwa2_newsletter_change_owner = "xwa2_newsletter_change_owner",
14
+ xwa2_newsletter_demote = "xwa2_newsletter_demote",
15
+ xwa2_newsletter_delete_v2 = "xwa2_newsletter_delete_v2",
16
+ xwa2_fetch_account_reachout_timelock = "xwa2_fetch_account_reachout_timelock",
17
+ xwa2_message_capping_info = "xwa2_message_capping_info"
18
+ }
19
+ export declare enum QueryIds {
20
+ CREATE = "8823471724422422",
21
+ UPDATE_METADATA = "24250201037901610",
22
+ METADATA = "6563316087068696",
23
+ SUBSCRIBERS = "9783111038412085",
24
+ FOLLOW = "24404358912487870",
25
+ UNFOLLOW = "9767147403369991",
26
+ MUTE = "29766401636284406",
27
+ UNMUTE = "9864994326891137",
28
+ ADMIN_COUNT = "7130823597031706",
29
+ CHANGE_OWNER = "7341777602580933",
30
+ DEMOTE = "6551828931592903",
31
+ DELETE = "30062808666639665",
32
+ REACHOUT_TIMELOCK = "23983697327930364",
33
+ MESSAGE_CAPPING_INFO = "24503548349331633"
34
+ }
35
+ export type NewsletterUpdate = {
36
+ name?: string;
37
+ description?: string;
38
+ picture?: string;
39
+ };
40
+ export interface NewsletterCreateResponse {
41
+ id: string;
42
+ state: {
43
+ type: string;
44
+ };
45
+ thread_metadata: {
46
+ creation_time: string;
47
+ description: {
48
+ id: string;
49
+ text: string;
50
+ update_time: string;
51
+ };
52
+ handle: string | null;
53
+ invite: string;
54
+ name: {
55
+ id: string;
56
+ text: string;
57
+ update_time: string;
58
+ };
59
+ picture: {
60
+ direct_path: string;
61
+ id: string;
62
+ type: string;
63
+ };
64
+ preview: {
65
+ direct_path: string;
66
+ id: string;
67
+ type: string;
68
+ };
69
+ subscribers_count: string;
70
+ verification: 'VERIFIED' | 'UNVERIFIED';
71
+ };
72
+ viewer_metadata: {
73
+ mute: 'ON' | 'OFF';
74
+ role: NewsletterViewRole;
75
+ };
76
+ }
77
+ export interface NewsletterCreateResponse {
78
+ id: string;
79
+ state: {
80
+ type: string;
81
+ };
82
+ thread_metadata: {
83
+ creation_time: string;
84
+ description: {
85
+ id: string;
86
+ text: string;
87
+ update_time: string;
88
+ };
89
+ handle: string | null;
90
+ invite: string;
91
+ name: {
92
+ id: string;
93
+ text: string;
94
+ update_time: string;
95
+ };
96
+ picture: {
97
+ direct_path: string;
98
+ id: string;
99
+ type: string;
100
+ };
101
+ preview: {
102
+ direct_path: string;
103
+ id: string;
104
+ type: string;
105
+ };
106
+ subscribers_count: string;
107
+ verification: 'VERIFIED' | 'UNVERIFIED';
108
+ };
109
+ viewer_metadata: {
110
+ mute: 'ON' | 'OFF';
111
+ role: NewsletterViewRole;
112
+ };
113
+ }
114
+ export type NewsletterViewRole = 'ADMIN' | 'GUEST' | 'OWNER' | 'SUBSCRIBER';
115
+ export interface NewsletterMetadata {
116
+ id: string;
117
+ owner?: string;
118
+ name: string;
119
+ description?: string;
120
+ invite?: string;
121
+ creation_time?: number;
122
+ subscribers?: number;
123
+ picture?: {
124
+ url?: string;
125
+ directPath?: string;
126
+ mediaKey?: string;
127
+ id?: string;
128
+ };
129
+ verification?: 'VERIFIED' | 'UNVERIFIED';
130
+ reaction_codes?: {
131
+ code: string;
132
+ count: number;
133
+ }[];
134
+ mute_state?: 'ON' | 'OFF';
135
+ thread_metadata?: {
136
+ creation_time?: number;
137
+ name?: string;
138
+ description?: string;
139
+ };
140
+ }
141
+ //# sourceMappingURL=Mex.d.ts.map
@@ -0,0 +1,37 @@
1
+ export var XWAPaths;
2
+ (function (XWAPaths) {
3
+ XWAPaths["xwa2_newsletter_create"] = "xwa2_newsletter_create";
4
+ XWAPaths["xwa2_newsletter_subscribers"] = "xwa2_newsletter_subscribers";
5
+ XWAPaths["xwa2_newsletter_view"] = "xwa2_newsletter_view";
6
+ XWAPaths["xwa2_newsletter_metadata"] = "xwa2_newsletter";
7
+ XWAPaths["xwa2_newsletter_admin_count"] = "xwa2_newsletter_admin";
8
+ XWAPaths["xwa2_newsletter_mute_v2"] = "xwa2_newsletter_mute_v2";
9
+ XWAPaths["xwa2_newsletter_unmute_v2"] = "xwa2_newsletter_unmute_v2";
10
+ XWAPaths["xwa2_newsletter_follow"] = "xwa2_newsletter_follow";
11
+ XWAPaths["xwa2_newsletter_unfollow"] = "xwa2_newsletter_unfollow";
12
+ XWAPaths["xwa2_newsletter_join_v2"] = "xwa2_newsletter_join_v2";
13
+ XWAPaths["xwa2_newsletter_leave_v2"] = "xwa2_newsletter_leave_v2";
14
+ XWAPaths["xwa2_newsletter_change_owner"] = "xwa2_newsletter_change_owner";
15
+ XWAPaths["xwa2_newsletter_demote"] = "xwa2_newsletter_demote";
16
+ XWAPaths["xwa2_newsletter_delete_v2"] = "xwa2_newsletter_delete_v2";
17
+ XWAPaths["xwa2_fetch_account_reachout_timelock"] = "xwa2_fetch_account_reachout_timelock";
18
+ XWAPaths["xwa2_message_capping_info"] = "xwa2_message_capping_info";
19
+ })(XWAPaths || (XWAPaths = {}));
20
+ export var QueryIds;
21
+ (function (QueryIds) {
22
+ QueryIds["CREATE"] = "8823471724422422";
23
+ QueryIds["UPDATE_METADATA"] = "24250201037901610";
24
+ QueryIds["METADATA"] = "6563316087068696";
25
+ QueryIds["SUBSCRIBERS"] = "9783111038412085";
26
+ QueryIds["FOLLOW"] = "24404358912487870";
27
+ QueryIds["UNFOLLOW"] = "9767147403369991";
28
+ QueryIds["MUTE"] = "29766401636284406";
29
+ QueryIds["UNMUTE"] = "9864994326891137";
30
+ QueryIds["ADMIN_COUNT"] = "7130823597031706";
31
+ QueryIds["CHANGE_OWNER"] = "7341777602580933";
32
+ QueryIds["DEMOTE"] = "6551828931592903";
33
+ QueryIds["DELETE"] = "30062808666639665";
34
+ QueryIds["REACHOUT_TIMELOCK"] = "23983697327930364";
35
+ QueryIds["MESSAGE_CAPPING_INFO"] = "24503548349331633";
36
+ })(QueryIds || (QueryIds = {}));
37
+ //# sourceMappingURL=Mex.js.map
@@ -1,4 +1,4 @@
1
- import { WAMediaUpload } from './Message';
1
+ import type { WAMediaUpload } from './Message.js';
2
2
  export type CatalogResult = {
3
3
  data: {
4
4
  paging: {
@@ -76,3 +76,4 @@ export type GetCatalogOptions = {
76
76
  limit?: number;
77
77
  jid?: string;
78
78
  };
79
+ //# sourceMappingURL=Product.d.ts.map
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
2
+ //# sourceMappingURL=Product.js.map
@@ -1,4 +1,5 @@
1
- import { proto } from '../../WAProto';
1
+ import { proto } from '../../WAProto/index.js';
2
+ import type { LIDMappingStore } from '../Signal/lid-mapping.js';
2
3
  type DecryptGroupSignalOpts = {
3
4
  group: string;
4
5
  authorJid: string;
@@ -22,6 +23,10 @@ type EncryptGroupMessageOpts = {
22
23
  data: Uint8Array;
23
24
  meId: string;
24
25
  };
26
+ type GetSenderKeyDistributionMessageOpts = {
27
+ group: string;
28
+ meId: string;
29
+ };
25
30
  type PreKey = {
26
31
  keyId: number;
27
32
  publicKey: Uint8Array;
@@ -33,7 +38,7 @@ type E2ESession = {
33
38
  registrationId: number;
34
39
  identityKey: Uint8Array;
35
40
  signedPreKey: SignedPreKey;
36
- preKey: PreKey;
41
+ preKey?: PreKey;
37
42
  };
38
43
  type E2ESessionOpts = {
39
44
  jid: string;
@@ -51,7 +56,32 @@ export type SignalRepository = {
51
56
  senderKeyDistributionMessage: Uint8Array;
52
57
  ciphertext: Uint8Array;
53
58
  }>;
59
+ getSenderKeyDistributionMessage(opts: GetSenderKeyDistributionMessageOpts): Promise<Uint8Array>;
60
+ hasSenderKey(opts: GetSenderKeyDistributionMessageOpts): Promise<boolean>;
61
+ getSessionInfo(jid: string): Promise<{
62
+ baseKey: Uint8Array;
63
+ registrationId: number;
64
+ } | null>;
54
65
  injectE2ESession(opts: E2ESessionOpts): Promise<void>;
66
+ validateSession(jid: string): Promise<{
67
+ exists: boolean;
68
+ reason?: string;
69
+ }>;
55
70
  jidToSignalProtocolAddress(jid: string): string;
71
+ migrateSession(fromJid: string, toJid: string): Promise<{
72
+ migrated: number;
73
+ skipped: number;
74
+ total: number;
75
+ }>;
76
+ validateSession(jid: string): Promise<{
77
+ exists: boolean;
78
+ reason?: string;
79
+ }>;
80
+ deleteSession(jids: string[]): Promise<void>;
56
81
  };
82
+ export interface SignalRepositoryWithLIDStore extends SignalRepository {
83
+ lidMapping: LIDMappingStore;
84
+ close?: () => void;
85
+ }
57
86
  export {};
87
+ //# sourceMappingURL=Signal.d.ts.map
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ import { proto } from '../../WAProto/index.js';
2
+ //# sourceMappingURL=Signal.js.map