@alannxd/baileys 6.0.5 → 6.0.6

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/fix-import.js +29 -0
  2. package/WAProto/index.js +160 -201
  3. package/engine-requirements.js +1 -1
  4. package/lib/Defaults/baileys-version.json +3 -0
  5. package/lib/Defaults/index.d.ts +15 -37
  6. package/lib/Defaults/index.js +136 -119
  7. package/lib/Defaults/phonenumber-mcc.json +223 -0
  8. package/lib/Signal/Group/ciphertext-message.d.ts +0 -1
  9. package/lib/Signal/Group/ciphertext-message.js +5 -2
  10. package/lib/Signal/Group/group-session-builder.d.ts +3 -4
  11. package/lib/Signal/Group/group-session-builder.js +41 -7
  12. package/lib/Signal/Group/group_cipher.d.ts +4 -4
  13. package/lib/Signal/Group/group_cipher.js +51 -37
  14. package/lib/Signal/Group/index.d.ts +11 -12
  15. package/lib/Signal/Group/index.js +57 -12
  16. package/lib/Signal/Group/keyhelper.d.ts +1 -2
  17. package/lib/Signal/Group/keyhelper.js +44 -7
  18. package/lib/Signal/Group/queue-job.d.ts +1 -0
  19. package/lib/Signal/Group/queue-job.js +57 -0
  20. package/lib/Signal/Group/sender-chain-key.d.ts +2 -3
  21. package/lib/Signal/Group/sender-chain-key.js +15 -7
  22. package/lib/Signal/Group/sender-key-distribution-message.d.ts +1 -2
  23. package/lib/Signal/Group/sender-key-distribution-message.js +11 -8
  24. package/lib/Signal/Group/sender-key-message.d.ts +1 -2
  25. package/lib/Signal/Group/sender-key-message.js +12 -9
  26. package/lib/Signal/Group/sender-key-name.d.ts +0 -1
  27. package/lib/Signal/Group/sender-key-name.js +5 -2
  28. package/lib/Signal/Group/sender-key-record.d.ts +2 -3
  29. package/lib/Signal/Group/sender-key-record.js +21 -9
  30. package/lib/Signal/Group/sender-key-state.d.ts +6 -7
  31. package/lib/Signal/Group/sender-key-state.js +42 -27
  32. package/lib/Signal/Group/sender-message-key.d.ts +0 -1
  33. package/lib/Signal/Group/sender-message-key.js +7 -4
  34. package/lib/Signal/libsignal.d.ts +3 -5
  35. package/lib/Signal/libsignal.js +90 -347
  36. package/lib/Socket/Client/{types.d.ts → abstract-socket-client.d.ts} +5 -4
  37. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  38. package/lib/Socket/Client/index.d.ts +3 -3
  39. package/lib/Socket/Client/index.js +19 -3
  40. package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
  41. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  42. package/lib/Socket/Client/{websocket.d.ts → web-socket-client.d.ts} +2 -3
  43. package/lib/Socket/Client/web-socket-client.js +62 -0
  44. package/lib/Socket/business.d.ts +108 -154
  45. package/lib/Socket/business.js +43 -162
  46. package/lib/Socket/chats.d.ts +239 -96
  47. package/lib/Socket/chats.js +427 -627
  48. package/lib/Socket/communities.d.ts +146 -239
  49. package/lib/Socket/communities.js +80 -90
  50. package/lib/Socket/groups.d.ts +57 -104
  51. package/lib/Socket/groups.js +161 -154
  52. package/lib/Socket/index.d.ts +115 -202
  53. package/lib/Socket/index.js +10 -11
  54. package/lib/Socket/luxu.d.ts +266 -22
  55. package/lib/Socket/luxu.js +465 -422
  56. package/lib/Socket/messages-recv.d.ts +84 -136
  57. package/lib/Socket/messages-recv.js +615 -1421
  58. package/lib/Socket/messages-send.d.ts +126 -142
  59. package/lib/Socket/messages-send.js +671 -878
  60. package/lib/Socket/newsletter.d.ts +85 -121
  61. package/lib/Socket/newsletter.js +272 -147
  62. package/lib/Socket/registration.d.ts +267 -0
  63. package/lib/Socket/registration.js +166 -0
  64. package/lib/Socket/socket.d.ts +19 -34
  65. package/lib/Socket/socket.js +313 -544
  66. package/lib/Socket/usync.d.ts +36 -0
  67. package/lib/Socket/usync.js +70 -0
  68. package/lib/Store/index.d.ts +3 -10
  69. package/lib/Store/index.js +10 -10
  70. package/lib/Store/make-cache-manager-store.d.ts +11 -17
  71. package/lib/Store/make-cache-manager-store.js +41 -43
  72. package/lib/Store/make-in-memory-store.d.ts +118 -39
  73. package/lib/Store/make-in-memory-store.js +341 -112
  74. package/lib/Store/make-ordered-dictionary.d.ts +10 -11
  75. package/lib/Store/make-ordered-dictionary.js +20 -14
  76. package/lib/Store/object-repository.d.ts +9 -10
  77. package/lib/Store/object-repository.js +6 -11
  78. package/lib/Types/Auth.d.ts +12 -19
  79. package/lib/Types/Auth.js +2 -2
  80. package/lib/Types/Call.d.ts +1 -3
  81. package/lib/Types/Call.js +2 -2
  82. package/lib/Types/Chat.d.ts +13 -35
  83. package/lib/Types/Chat.js +4 -8
  84. package/lib/Types/Contact.d.ts +1 -8
  85. package/lib/Types/Contact.js +2 -2
  86. package/lib/Types/Events.d.ts +17 -116
  87. package/lib/Types/Events.js +2 -2
  88. package/lib/Types/GroupMetadata.d.ts +5 -21
  89. package/lib/Types/GroupMetadata.js +2 -2
  90. package/lib/Types/Label.d.ts +0 -12
  91. package/lib/Types/Label.js +5 -3
  92. package/lib/Types/LabelAssociation.d.ts +0 -1
  93. package/lib/Types/LabelAssociation.js +5 -3
  94. package/lib/Types/Message.d.ts +58 -105
  95. package/lib/Types/Message.js +9 -11
  96. package/lib/Types/Newsletter.d.ts +103 -0
  97. package/lib/Types/Newsletter.js +38 -0
  98. package/lib/Types/Product.d.ts +1 -2
  99. package/lib/Types/Product.js +2 -2
  100. package/lib/Types/Signal.d.ts +2 -32
  101. package/lib/Types/Signal.js +2 -2
  102. package/lib/Types/Socket.d.ts +25 -50
  103. package/lib/Types/Socket.js +2 -3
  104. package/lib/Types/State.d.ts +2 -72
  105. package/lib/Types/State.js +2 -56
  106. package/lib/Types/USync.d.ts +2 -3
  107. package/lib/Types/USync.js +2 -2
  108. package/lib/Types/index.d.ts +14 -22
  109. package/lib/Types/index.js +31 -15
  110. package/lib/Utils/auth-utils.d.ts +6 -12
  111. package/lib/Utils/auth-utils.js +143 -239
  112. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  113. package/lib/Utils/baileys-event-stream.js +63 -0
  114. package/lib/Utils/business.d.ts +2 -3
  115. package/lib/Utils/business.js +69 -66
  116. package/lib/Utils/chat-utils.d.ts +23 -52
  117. package/lib/Utils/chat-utils.js +253 -396
  118. package/lib/Utils/crypto.d.ts +22 -18
  119. package/lib/Utils/crypto.js +90 -57
  120. package/lib/Utils/decode-wa-message.d.ts +8 -55
  121. package/lib/Utils/decode-wa-message.js +84 -203
  122. package/lib/Utils/event-buffer.d.ts +8 -9
  123. package/lib/Utils/event-buffer.js +77 -185
  124. package/lib/Utils/generics.d.ts +29 -28
  125. package/lib/Utils/generics.js +210 -180
  126. package/lib/Utils/history.d.ts +9 -18
  127. package/lib/Utils/history.js +55 -93
  128. package/lib/Utils/index.d.ts +17 -22
  129. package/lib/Utils/index.js +33 -22
  130. package/lib/Utils/link-preview.d.ts +5 -5
  131. package/lib/Utils/link-preview.js +24 -16
  132. package/lib/Utils/logger.d.ts +3 -11
  133. package/lib/Utils/logger.js +7 -3
  134. package/lib/Utils/lt-hash.d.ts +12 -8
  135. package/lib/Utils/lt-hash.js +46 -3
  136. package/lib/Utils/make-mutex.d.ts +2 -4
  137. package/lib/Utils/make-mutex.js +34 -24
  138. package/lib/Utils/messages-media.d.ts +44 -61
  139. package/lib/Utils/messages-media.js +482 -451
  140. package/lib/Utils/messages.d.ts +18 -32
  141. package/lib/Utils/messages.js +369 -458
  142. package/lib/Utils/noise-handler.d.ts +14 -13
  143. package/lib/Utils/noise-handler.js +99 -145
  144. package/lib/Utils/process-message.d.ts +12 -31
  145. package/lib/Utils/process-message.js +150 -459
  146. package/lib/Utils/signal.d.ts +5 -20
  147. package/lib/Utils/signal.js +72 -120
  148. package/lib/Utils/use-multi-file-auth-state.d.ts +2 -2
  149. package/lib/Utils/use-multi-file-auth-state.js +27 -29
  150. package/lib/Utils/validate-connection.d.ts +7 -7
  151. package/lib/Utils/validate-connection.js +99 -73
  152. package/lib/WABinary/constants.d.ts +27 -25
  153. package/lib/WABinary/constants.js +20 -1281
  154. package/lib/WABinary/decode.d.ts +5 -5
  155. package/lib/WABinary/decode.js +42 -52
  156. package/lib/WABinary/encode.d.ts +3 -3
  157. package/lib/WABinary/encode.js +155 -110
  158. package/lib/WABinary/generic-utils.d.ts +7 -8
  159. package/lib/WABinary/generic-utils.js +49 -48
  160. package/lib/WABinary/index.d.ts +5 -6
  161. package/lib/WABinary/index.js +21 -6
  162. package/lib/WABinary/jid-utils.d.ts +8 -25
  163. package/lib/WABinary/jid-utils.js +40 -74
  164. package/lib/WABinary/types.d.ts +1 -2
  165. package/lib/WABinary/types.js +2 -2
  166. package/lib/WAM/BinaryInfo.d.ts +11 -3
  167. package/lib/WAM/BinaryInfo.js +5 -2
  168. package/lib/WAM/constants.d.ts +3 -5
  169. package/lib/WAM/constants.js +11958 -19461
  170. package/lib/WAM/encode.d.ts +3 -3
  171. package/lib/WAM/encode.js +22 -17
  172. package/lib/WAM/index.d.ts +3 -4
  173. package/lib/WAM/index.js +19 -4
  174. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +3 -4
  175. package/lib/WAUSync/Protocols/USyncContactProtocol.js +13 -33
  176. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +2 -3
  177. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +14 -11
  178. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +2 -3
  179. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +12 -9
  180. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +2 -3
  181. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +13 -9
  182. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +3 -4
  183. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +22 -20
  184. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +3 -5
  185. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +8 -13
  186. package/lib/WAUSync/Protocols/index.d.ts +4 -6
  187. package/lib/WAUSync/Protocols/index.js +20 -6
  188. package/lib/WAUSync/USyncQuery.d.ts +4 -6
  189. package/lib/WAUSync/USyncQuery.js +35 -44
  190. package/lib/WAUSync/USyncUser.d.ts +5 -10
  191. package/lib/WAUSync/USyncUser.js +5 -10
  192. package/lib/WAUSync/index.js +19 -4
  193. package/lib/index.d.ts +9 -10
  194. package/lib/index.js +34 -12
  195. package/package.json +50 -83
  196. package/WAProto/GenerateStatics.sh +0 -3
  197. package/WAProto/WAProto.proto +0 -5479
  198. package/WAProto/fix-imports.js +0 -85
  199. package/WAProto/index.d.ts +0 -14017
  200. package/lib/Signal/lid-mapping.d.ts +0 -23
  201. package/lib/Signal/lid-mapping.js +0 -277
  202. package/lib/Socket/Client/types.js +0 -11
  203. package/lib/Socket/Client/websocket.js +0 -54
  204. package/lib/Socket/mex.d.ts +0 -3
  205. package/lib/Socket/mex.js +0 -42
  206. package/lib/Store/keyed-db.d.ts +0 -22
  207. package/lib/Store/keyed-db.js +0 -108
  208. package/lib/Types/Bussines.d.ts +0 -25
  209. package/lib/Types/Bussines.js +0 -2
  210. package/lib/Types/Mex.d.ts +0 -141
  211. package/lib/Types/Mex.js +0 -37
  212. package/lib/Utils/browser-utils.d.ts +0 -4
  213. package/lib/Utils/browser-utils.js +0 -28
  214. package/lib/Utils/companion-reg-client-utils.d.ts +0 -17
  215. package/lib/Utils/companion-reg-client-utils.js +0 -35
  216. package/lib/Utils/identity-change-handler.d.ts +0 -44
  217. package/lib/Utils/identity-change-handler.js +0 -50
  218. package/lib/Utils/message-retry-manager.d.ts +0 -115
  219. package/lib/Utils/message-retry-manager.js +0 -265
  220. package/lib/Utils/offline-node-processor.d.ts +0 -17
  221. package/lib/Utils/offline-node-processor.js +0 -40
  222. package/lib/Utils/pre-key-manager.d.ts +0 -28
  223. package/lib/Utils/pre-key-manager.js +0 -106
  224. package/lib/Utils/reporting-utils.d.ts +0 -11
  225. package/lib/Utils/reporting-utils.js +0 -258
  226. package/lib/Utils/stanza-ack.d.ts +0 -11
  227. package/lib/Utils/stanza-ack.js +0 -38
  228. package/lib/Utils/sync-action-utils.d.ts +0 -19
  229. package/lib/Utils/sync-action-utils.js +0 -49
  230. package/lib/Utils/tc-token-utils.d.ts +0 -37
  231. package/lib/Utils/tc-token-utils.js +0 -163
  232. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +0 -10
  233. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  234. package/lib/WAUSync/index.d.ts +0 -4
@@ -1,50 +1,34 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ import { AxiosRequestConfig } from 'axios';
5
+ import type { Logger } from 'pino';
1
6
  import type { Readable } from 'stream';
2
7
  import type { URL } from 'url';
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';
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';
8
13
  export { proto as WAProto };
9
- export type WAMessage = proto.IWebMessageInfo & {
10
- key: WAMessageKey;
11
- messageStubParameters?: any;
12
- category?: string;
13
- retryCount?: number;
14
- };
14
+ export type WAMessage = proto.IWebMessageInfo;
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 & {
19
- remoteJidAlt?: string;
20
- remoteJidUsername?: string;
21
- participantAlt?: string;
22
- participantUsername?: string;
23
- server_id?: string;
24
- addressingMode?: string;
25
- isViewOnce?: boolean;
26
- };
18
+ export type WAMessageKey = proto.IMessageKey;
27
19
  export type WATextMessage = proto.Message.IExtendedTextMessage;
28
20
  export type WAContextInfo = proto.IContextInfo;
29
21
  export type WALocationMessage = proto.Message.ILocationMessage;
30
22
  export type WAGenericMediaMessage = proto.Message.IVideoMessage | proto.Message.IImageMessage | proto.Message.IAudioMessage | proto.Message.IDocumentMessage | proto.Message.IStickerMessage;
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 = {
23
+ export import WAMessageStubType = proto.WebMessageInfo.StubType;
24
+ export import WAMessageStatus = proto.WebMessageInfo.Status;
25
+ export type WAMediaUpload = Buffer | {
35
26
  url: URL | string;
36
- };
37
- export type WAMediaPayloadStream = {
27
+ } | {
38
28
  stream: Readable;
39
29
  };
40
- export type WAMediaUpload = Buffer | WAMediaPayloadStream | WAMediaPayloadURL;
41
30
  /** Set of message types that are supported by the library */
42
31
  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';
48
32
  export type DownloadableMessage = {
49
33
  mediaKey?: Uint8Array | null;
50
34
  directPath?: string | null;
@@ -72,8 +56,6 @@ export interface WAUrlInfo {
72
56
  type Mentionable = {
73
57
  /** list of jids that are mentioned in the accompanying text */
74
58
  mentions?: string[];
75
- /** mention all */
76
- mentionAll?: boolean;
77
59
  };
78
60
  type Contextable = {
79
61
  /** add contextInfo to the message */
@@ -82,9 +64,26 @@ type Contextable = {
82
64
  type ViewOnce = {
83
65
  viewOnce?: boolean;
84
66
  };
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
+ };
85
76
  type Editable = {
86
77
  edit?: WAMessageKey;
87
78
  };
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
+ };
88
87
  type WithDimensions = {
89
88
  width?: number;
90
89
  height?: number;
@@ -95,25 +94,6 @@ export type PollMessageOptions = {
95
94
  values: string[];
96
95
  /** 32 byte message secret to encrypt poll selections */
97
96
  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;
117
97
  };
118
98
  type SharePhoneNumber = {
119
99
  sharePhoneNumber: boolean;
@@ -121,18 +101,19 @@ type SharePhoneNumber = {
121
101
  type RequestPhoneNumber = {
122
102
  requestPhoneNumber: boolean;
123
103
  };
104
+ export type MediaType = keyof typeof MEDIA_HKDF_KEY_MAPPING;
124
105
  export type AnyMediaMessageContent = (({
125
106
  image: WAMediaUpload;
126
107
  caption?: string;
127
108
  jpegThumbnail?: string;
128
- } & Mentionable & Contextable & WithDimensions) | ({
109
+ } & Mentionable & Contextable & Buttonable & Templatable & WithDimensions) | ({
129
110
  video: WAMediaUpload;
130
111
  caption?: string;
131
112
  gifPlayback?: boolean;
132
113
  jpegThumbnail?: string;
133
114
  /** if set to true, will send as a `video note` */
134
115
  ptv?: boolean;
135
- } & Mentionable & Contextable & WithDimensions) | {
116
+ } & Mentionable & Contextable & Buttonable & Templatable & WithDimensions) | {
136
117
  audio: WAMediaUpload;
137
118
  /** if set to true, will send as a `voice note` */
138
119
  ptt?: boolean;
@@ -146,37 +127,23 @@ export type AnyMediaMessageContent = (({
146
127
  mimetype: string;
147
128
  fileName?: string;
148
129
  caption?: string;
149
- } & Contextable)) & {
130
+ } & Contextable & Buttonable & Templatable)) & {
150
131
  mimetype?: string;
151
- } & Editable & {
152
- /** key of the parent albumMessage to associate this media with */
153
- albumParentKey?: WAMessageKey;
154
- };
132
+ } & Editable;
155
133
  export type ButtonReplyInfo = {
156
134
  displayText: string;
157
135
  id: string;
158
136
  index: number;
159
137
  };
160
- export type GroupInviteInfo = {
161
- inviteCode: string;
162
- inviteExpiration: number;
163
- text: string;
164
- jid: string;
165
- subject: string;
166
- };
167
138
  export type WASendableProduct = Omit<proto.Message.ProductMessage.IProductSnapshot, 'productImage'> & {
168
139
  productImage: WAMediaUpload;
169
140
  };
170
141
  export type AnyRegularMessageContent = (({
171
142
  text: string;
172
143
  linkPreview?: WAUrlInfo | null;
173
- } & Mentionable & Contextable & Editable) | AnyMediaMessageContent | {
174
- event: EventMessageOptions;
175
- } | ({
144
+ } & Mentionable & Contextable & Buttonable & Templatable & Listable & Editable) | AnyMediaMessageContent | ({
176
145
  poll: PollMessageOptions;
177
- } & Mentionable & Contextable & Editable) | ({
178
- album: AlbumMessageOptions;
179
- } & Contextable & Mentionable) | {
146
+ } & Mentionable & Contextable & Buttonable & Templatable & Editable) | {
180
147
  contacts: {
181
148
  displayName?: string;
182
149
  contacts: proto.Message.IContactMessage[];
@@ -188,17 +155,8 @@ export type AnyRegularMessageContent = (({
188
155
  } | {
189
156
  buttonReply: ButtonReplyInfo;
190
157
  type: 'template' | 'plain';
191
- } | {
192
- groupInvite: GroupInviteInfo;
193
158
  } | {
194
159
  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;
202
160
  } | {
203
161
  product: WASendableProduct;
204
162
  businessOwnerJid?: string;
@@ -213,15 +171,13 @@ export type AnyMessageContent = AnyRegularMessageContent | {
213
171
  delete: WAMessageKey;
214
172
  } | {
215
173
  disappearingMessagesInChat: boolean | number;
216
- } | {
217
- limitSharing: boolean;
218
174
  };
219
175
  export type GroupMetadataParticipants = Pick<GroupMetadata, 'participants'>;
220
176
  type MinimalRelayOptions = {
221
177
  /** override the message ID with a custom provided string */
222
178
  messageId?: string;
223
- /** should we use group metadata cache, or fetch afresh from the server; default assumed to be "true" */
224
- useCachedGroupMetadata?: boolean;
179
+ /** cached group metadata, use to prevent redundant requests to WA & speed up msg sending */
180
+ cachedGroupMetadata?: (jid: string) => Promise<GroupMetadataParticipants | undefined>;
225
181
  };
226
182
  export type MessageRelayOptions = MinimalRelayOptions & {
227
183
  /** only send to a specific participant; used when a message decryption fails for a single user */
@@ -244,6 +200,7 @@ export type MiscMessageGenerationOptions = MinimalRelayOptions & {
244
200
  timestamp?: Date;
245
201
  /** the message you want to quote */
246
202
  quoted?: WAMessage;
203
+ additionalNodes?: BinaryNode[];
247
204
  /** disappearing messages settings */
248
205
  ephemeralExpiration?: number | string;
249
206
  /** timeout for media upload to WA server */
@@ -260,35 +217,32 @@ export type MiscMessageGenerationOptions = MinimalRelayOptions & {
260
217
  export type MessageGenerationOptionsFromContent = MiscMessageGenerationOptions & {
261
218
  userJid: string;
262
219
  };
263
- export type WAMediaUploadFunction = (encFilePath: string, opts: {
220
+ export type WAMediaUploadFunctionOpts = {
264
221
  fileEncSha256B64: string;
265
222
  mediaType: MediaType;
223
+ newsletter?: boolean;
266
224
  timeoutMs?: number;
267
- }) => Promise<{
225
+ };
226
+ export type WAMediaUploadFunction = (readStream: Readable | Buffer, opts: WAMediaUploadFunctionOpts) => Promise<{
268
227
  mediaUrl: string;
269
228
  directPath: string;
270
- meta_hmac?: string;
271
- ts?: number;
272
- fbid?: number;
229
+ handle?: string;
273
230
  }>;
274
231
  export type MediaGenerationOptions = {
275
- logger?: ILogger;
232
+ logger?: Logger;
276
233
  mediaTypeOverride?: MediaType;
277
234
  upload: WAMediaUploadFunction;
278
235
  /** cache media so it does not have to be uploaded again */
279
236
  mediaCache?: CacheStore;
280
237
  mediaUploadTimeoutMs?: number;
281
- options?: RequestInit;
238
+ options?: AxiosRequestConfig;
282
239
  backgroundColor?: string;
283
240
  font?: number;
241
+ /** The message is for newsletter? */
242
+ newsletter?: boolean;
284
243
  };
285
244
  export type MessageContentGenerationOptions = MediaGenerationOptions & {
286
245
  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;
292
246
  };
293
247
  export type MessageGenerationOptions = MessageContentGenerationOptions & MessageGenerationOptionsFromContent;
294
248
  /**
@@ -300,7 +254,7 @@ export type MessageUpsertType = 'append' | 'notify';
300
254
  export type MessageUserReceipt = proto.IUserReceipt;
301
255
  export type WAMessageUpdate = {
302
256
  update: Partial<WAMessage>;
303
- key: WAMessageKey;
257
+ key: proto.IMessageKey;
304
258
  };
305
259
  export type WAMessageCursor = {
306
260
  before: WAMessageKey | undefined;
@@ -308,13 +262,12 @@ export type WAMessageCursor = {
308
262
  after: WAMessageKey | undefined;
309
263
  };
310
264
  export type MessageUserReceiptUpdate = {
311
- key: WAMessageKey;
265
+ key: proto.IMessageKey;
312
266
  receipt: MessageUserReceipt;
313
267
  };
314
268
  export type MediaDecryptionKeyInfo = {
315
- iv: Uint8Array;
316
- cipherKey: Uint8Array;
317
- macKey?: Uint8Array;
269
+ iv: Buffer;
270
+ cipherKey: Buffer;
271
+ macKey?: Buffer;
318
272
  };
319
- export type MinimalMessage = Pick<WAMessage, 'key' | 'messageTimestamp'>;
320
- //# sourceMappingURL=Message.d.ts.map
273
+ export type MinimalMessage = Pick<proto.IWebMessageInfo, 'key' | 'messageTimestamp'>;
@@ -1,11 +1,9 @@
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
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;
@@ -0,0 +1,103 @@
1
+ import { proto } from "../../WAProto"
2
+
3
+ export type NewsletterReactionMode = "ALL" | "BASIC" | "NONE"
4
+ export type NewsletterState = "ACTIVE" | "GEOSUSPENDED" | "SUSPENDED"
5
+ export type NewsletterVerification = "VERIFIED" | "UNVERIFIED"
6
+ export type NewsletterMute = "ON" | "OFF" | "UNDEFINED"
7
+ export type NewsletterViewRole = "ADMIN" | "GUEST" | "OWNER" | "SUBSCRIBER"
8
+
9
+ export type NewsletterViewerMetadata = {
10
+ mute: NewsletterMute
11
+ view_role: NewsletterViewRole
12
+ }
13
+
14
+ export type NewsletterMetadata = {
15
+ /** jid of newsletter */
16
+ id: string
17
+ /** state of newsletter */
18
+ state: NewsletterState
19
+ /** creation timestamp of newsletter */
20
+ creation_time: number
21
+ /** name of newsletter */
22
+ name: string
23
+ /** timestamp of last name modification of newsletter */
24
+ nameTime: number
25
+ /** description of newsletter */
26
+ description: string
27
+ /** timestamp of last description modification of newsletter */
28
+ descriptionTime: number
29
+ /** invite code of newsletter */
30
+ invite: string
31
+ /** direct path of picture */
32
+ picture: string | null
33
+ /** direct path of picture preview (lower quality) */
34
+ preview: string | null
35
+ /** reaction mode of newsletter */
36
+ reaction_codes?: NewsletterReactionMode
37
+ /** subscribers count of newsletter */
38
+ subscribers: number
39
+ /** verification state of newsletter */
40
+ verification: NewsletterVerification
41
+ /** viewer metadata */
42
+ viewer_metadata: NewsletterViewerMetadata
43
+ }
44
+
45
+ export type SubscriberAction = "promote" | "demote"
46
+
47
+ export type ReactionModeUpdate = {
48
+ reaction_codes: {
49
+ blocked_codes: null
50
+ enabled_ts_sec: null
51
+ value: NewsletterReactionMode
52
+ }
53
+ }
54
+
55
+ /** only exists reaction mode update */
56
+ export type NewsletterSettingsUpdate = ReactionModeUpdate
57
+
58
+ export type NewsletterReaction = {
59
+ count: number
60
+ code: string
61
+ }
62
+
63
+ export type NewsletterFetchedUpdate = {
64
+ /** id of message in newsletter, starts from 100 */
65
+ server_id: string
66
+ /** count of views in this message */
67
+ views?: number
68
+ /** reactions in this message */
69
+ reactions: NewsletterReaction[]
70
+ /** the message, if you requested only updates, you will not receive message */
71
+ message?: proto.IWebMessageInfo
72
+ }
73
+
74
+ export const MexOperations = {
75
+ PROMOTE: "NotificationNewsletterAdminPromote",
76
+ DEMOTE: "NotificationNewsletterAdminDemote",
77
+ UPDATE: "NotificationNewsletterUpdate"
78
+ } as const
79
+
80
+ export const XWAPaths = {
81
+ PROMOTE: "xwa2_notify_newsletter_admin_promote",
82
+ DEMOTE: "xwa2_notify_newsletter_admin_demote",
83
+ ADMIN_COUNT: "xwa2_newsletter_admin",
84
+ CREATE: "xwa2_newsletter_create",
85
+ NEWSLETTER: "xwa2_newsletter",
86
+ SUBSCRIBED: "xwa2_newsletter_subscribed",
87
+ METADATA_UPDATE: "xwa2_notify_newsletter_on_metadata_update"
88
+ } as const
89
+
90
+ export const QueryIds = {
91
+ JOB_MUTATION: "7150902998257522",
92
+ METADATA: "6620195908089573",
93
+ UNFOLLOW: "7238632346214362",
94
+ FOLLOW: "7871414976211147",
95
+ UNMUTE: "7337137176362961",
96
+ MUTE: "25151904754424642",
97
+ CREATE: "6996806640408138",
98
+ ADMIN_COUNT: "7130823597031706",
99
+ CHANGE_OWNER: "7341777602580933",
100
+ DELETE: "8316537688363079",
101
+ DEMOTE: "6551828931592903",
102
+ SUBSCRIBED: "6388546374527196"
103
+ } as const
@@ -0,0 +1,38 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const MexOperations = {
6
+ PROMOTE: "NotificationNewsletterAdminPromote",
7
+ DEMOTE: "NotificationNewsletterAdminDemote",
8
+ UPDATE: "NotificationNewsletterUpdate"
9
+ }
10
+
11
+ const XWAPaths = {
12
+ PROMOTE: "xwa2_notify_newsletter_admin_promote",
13
+ DEMOTE: "xwa2_notify_newsletter_admin_demote",
14
+ ADMIN_COUNT: "xwa2_newsletter_admin",
15
+ CREATE: "xwa2_newsletter_create",
16
+ NEWSLETTER: "xwa2_newsletter",
17
+ SUBSCRIBED: "xwa2_newsletter_subscribed",
18
+ METADATA_UPDATE: "xwa2_notify_newsletter_on_metadata_update"
19
+ }
20
+
21
+ const QueryIds = {
22
+ JOB_MUTATION: "7150902998257522",
23
+ METADATA: "6620195908089573",
24
+ UNFOLLOW: "7238632346214362",
25
+ FOLLOW: "7871414976211147",
26
+ UNMUTE: "7337137176362961",
27
+ MUTE: "25151904754424642",
28
+ CREATE: "6996806640408138",
29
+ ADMIN_COUNT: "7130823597031706",
30
+ CHANGE_OWNER: "7341777602580933",
31
+ DELETE: "8316537688363079",
32
+ DEMOTE: "6551828931592903",
33
+ SUBSCRIBED: "6388546374527196"
34
+ }
35
+
36
+ exports.MexOperations = MexOperations
37
+ exports.XWAPaths = XWAPaths
38
+ exports.QueryIds = QueryIds
@@ -1,4 +1,4 @@
1
- import type { WAMediaUpload } from './Message.js';
1
+ import { WAMediaUpload } from './Message';
2
2
  export type CatalogResult = {
3
3
  data: {
4
4
  paging: {
@@ -76,4 +76,3 @@ export type GetCatalogOptions = {
76
76
  limit?: number;
77
77
  jid?: string;
78
78
  };
79
- //# sourceMappingURL=Product.d.ts.map
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=Product.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,4 @@
1
- import { proto } from '../../WAProto/index.js';
2
- import type { LIDMappingStore } from '../Signal/lid-mapping.js';
1
+ import { proto } from '../../WAProto';
3
2
  type DecryptGroupSignalOpts = {
4
3
  group: string;
5
4
  authorJid: string;
@@ -23,10 +22,6 @@ type EncryptGroupMessageOpts = {
23
22
  data: Uint8Array;
24
23
  meId: string;
25
24
  };
26
- type GetSenderKeyDistributionMessageOpts = {
27
- group: string;
28
- meId: string;
29
- };
30
25
  type PreKey = {
31
26
  keyId: number;
32
27
  publicKey: Uint8Array;
@@ -38,7 +33,7 @@ type E2ESession = {
38
33
  registrationId: number;
39
34
  identityKey: Uint8Array;
40
35
  signedPreKey: SignedPreKey;
41
- preKey?: PreKey;
36
+ preKey: PreKey;
42
37
  };
43
38
  type E2ESessionOpts = {
44
39
  jid: string;
@@ -56,32 +51,7 @@ export type SignalRepository = {
56
51
  senderKeyDistributionMessage: Uint8Array;
57
52
  ciphertext: Uint8Array;
58
53
  }>;
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>;
65
54
  injectE2ESession(opts: E2ESessionOpts): Promise<void>;
66
- validateSession(jid: string): Promise<{
67
- exists: boolean;
68
- reason?: string;
69
- }>;
70
55
  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>;
81
56
  };
82
- export interface SignalRepositoryWithLIDStore extends SignalRepository {
83
- lidMapping: LIDMappingStore;
84
- close?: () => void;
85
- }
86
57
  export {};
87
- //# sourceMappingURL=Signal.d.ts.map
@@ -1,2 +1,2 @@
1
- import { proto } from '../../WAProto/index.js';
2
- //# sourceMappingURL=Signal.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });