@neelegirl/baileys 1.5.5 → 1.5.7

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 (203) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +183 -10
  3. package/WAProto/WAProto.proto +5007 -0
  4. package/WAProto/index.d.ts +57712 -0
  5. package/WAProto/index.js +178969 -0
  6. package/lib/Defaults/baileys-version.json +3 -0
  7. package/lib/Defaults/index.d.ts +68 -0
  8. package/lib/Defaults/index.js +137 -0
  9. package/lib/Defaults/phonenumber-mcc.json +223 -0
  10. package/lib/Signal/WASignalGroup/GroupProtocol.js +1909 -0
  11. package/lib/Signal/WASignalGroup/ciphertext_message.js +16 -0
  12. package/lib/Signal/WASignalGroup/generate-proto.sh +1 -0
  13. package/lib/Signal/WASignalGroup/group.proto +42 -0
  14. package/lib/Signal/WASignalGroup/group_cipher.js +120 -0
  15. package/lib/Signal/WASignalGroup/group_session_builder.js +46 -0
  16. package/lib/Signal/WASignalGroup/index.js +6 -0
  17. package/lib/Signal/WASignalGroup/keyhelper.js +21 -0
  18. package/lib/Signal/WASignalGroup/protobufs.js +3 -0
  19. package/lib/Signal/WASignalGroup/queue_job.js +69 -0
  20. package/lib/Signal/WASignalGroup/readme.md +6 -0
  21. package/lib/Signal/WASignalGroup/sender_chain_key.js +50 -0
  22. package/lib/Signal/WASignalGroup/sender_key_distribution_message.js +78 -0
  23. package/lib/Signal/WASignalGroup/sender_key_message.js +92 -0
  24. package/lib/Signal/WASignalGroup/sender_key_name.js +70 -0
  25. package/lib/Signal/WASignalGroup/sender_key_record.js +56 -0
  26. package/lib/Signal/WASignalGroup/sender_key_state.js +129 -0
  27. package/lib/Signal/WASignalGroup/sender_message_key.js +39 -0
  28. package/lib/Signal/libsignal.d.ts +4 -0
  29. package/lib/Signal/libsignal.js +162 -0
  30. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
  31. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  32. package/lib/Socket/Client/index.d.ts +2 -0
  33. package/lib/Socket/Client/index.js +22 -0
  34. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  35. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  36. package/lib/Socket/Client/types.d.ts +16 -0
  37. package/lib/Socket/Client/types.js +18 -0
  38. package/lib/Socket/Client/websocket.d.ts +13 -0
  39. package/lib/Socket/Client/websocket.js +62 -0
  40. package/lib/Socket/business.d.ts +187 -0
  41. package/lib/Socket/business.js +268 -0
  42. package/lib/Socket/chats.d.ts +98 -0
  43. package/lib/Socket/chats.js +1113 -0
  44. package/lib/Socket/communities.d.ts +223 -0
  45. package/lib/Socket/communities.js +433 -0
  46. package/lib/Socket/groups.d.ts +131 -0
  47. package/lib/Socket/groups.js +352 -0
  48. package/lib/Socket/index.d.ts +191 -0
  49. package/lib/Socket/index.js +23 -0
  50. package/lib/Socket/messages-recv.d.ts +177 -0
  51. package/lib/Socket/messages-recv.js +1764 -0
  52. package/lib/Socket/messages-send.d.ts +168 -0
  53. package/lib/Socket/messages-send.js +1303 -0
  54. package/lib/Socket/mex.d.ts +2 -0
  55. package/lib/Socket/mex.js +47 -0
  56. package/lib/Socket/newsletter.d.ts +147 -0
  57. package/lib/Socket/newsletter.js +286 -0
  58. package/lib/Socket/registration.d.ts +266 -0
  59. package/lib/Socket/registration.js +166 -0
  60. package/lib/Socket/socket.d.ts +45 -0
  61. package/lib/Socket/socket.js +766 -0
  62. package/lib/Socket/usync.d.ts +37 -0
  63. package/lib/Socket/usync.js +83 -0
  64. package/lib/Store/index.d.ts +4 -0
  65. package/lib/Store/index.js +24 -0
  66. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  67. package/lib/Store/make-cache-manager-store.js +90 -0
  68. package/lib/Store/make-in-memory-store.d.ts +123 -0
  69. package/lib/Store/make-in-memory-store.js +429 -0
  70. package/lib/Store/make-ordered-dictionary.d.ts +12 -0
  71. package/lib/Store/make-ordered-dictionary.js +86 -0
  72. package/lib/Store/object-repository.d.ts +10 -0
  73. package/lib/Store/object-repository.js +31 -0
  74. package/lib/Types/Auth.d.ts +120 -0
  75. package/lib/Types/Auth.js +3 -0
  76. package/lib/Types/Call.d.ts +14 -0
  77. package/lib/Types/Call.js +3 -0
  78. package/lib/Types/Chat.d.ts +138 -0
  79. package/lib/Types/Chat.js +9 -0
  80. package/lib/Types/Contact.d.ts +20 -0
  81. package/lib/Types/Contact.js +3 -0
  82. package/lib/Types/Events.d.ts +229 -0
  83. package/lib/Types/Events.js +3 -0
  84. package/lib/Types/GroupMetadata.d.ts +66 -0
  85. package/lib/Types/GroupMetadata.js +3 -0
  86. package/lib/Types/Label.d.ts +48 -0
  87. package/lib/Types/Label.js +31 -0
  88. package/lib/Types/LabelAssociation.d.ts +35 -0
  89. package/lib/Types/LabelAssociation.js +13 -0
  90. package/lib/Types/Message.d.ts +473 -0
  91. package/lib/Types/Message.js +13 -0
  92. package/lib/Types/MexUpdates.d.ts +9 -0
  93. package/lib/Types/MexUpdates.js +18 -0
  94. package/lib/Types/Newsletter.d.ts +109 -0
  95. package/lib/Types/Newsletter.js +40 -0
  96. package/lib/Types/Product.d.ts +92 -0
  97. package/lib/Types/Product.js +3 -0
  98. package/lib/Types/Signal.d.ts +68 -0
  99. package/lib/Types/Signal.js +3 -0
  100. package/lib/Types/Socket.d.ts +122 -0
  101. package/lib/Types/Socket.js +3 -0
  102. package/lib/Types/State.d.ts +41 -0
  103. package/lib/Types/State.js +14 -0
  104. package/lib/Types/USync.d.ts +26 -0
  105. package/lib/Types/USync.js +3 -0
  106. package/lib/Types/index.d.ts +79 -0
  107. package/lib/Types/index.js +48 -0
  108. package/lib/Utils/auth-utils.d.ts +21 -0
  109. package/lib/Utils/auth-utils.js +205 -0
  110. package/lib/Utils/baileys-event-stream.d.ts +18 -0
  111. package/lib/Utils/baileys-event-stream.js +70 -0
  112. package/lib/Utils/business.d.ts +29 -0
  113. package/lib/Utils/business.js +255 -0
  114. package/lib/Utils/chat-utils.d.ts +82 -0
  115. package/lib/Utils/chat-utils.js +781 -0
  116. package/lib/Utils/check-npm-version.d.ts +15 -0
  117. package/lib/Utils/check-npm-version.js +52 -0
  118. package/lib/Utils/crypto.d.ts +56 -0
  119. package/lib/Utils/crypto.js +179 -0
  120. package/lib/Utils/decode-wa-message.d.ts +41 -0
  121. package/lib/Utils/decode-wa-message.js +253 -0
  122. package/lib/Utils/event-buffer.d.ts +39 -0
  123. package/lib/Utils/event-buffer.js +565 -0
  124. package/lib/Utils/generics.d.ts +129 -0
  125. package/lib/Utils/generics.js +618 -0
  126. package/lib/Utils/history.d.ts +23 -0
  127. package/lib/Utils/history.js +110 -0
  128. package/lib/Utils/index.d.ts +19 -0
  129. package/lib/Utils/index.js +41 -0
  130. package/lib/Utils/link-preview.d.ts +23 -0
  131. package/lib/Utils/link-preview.js +120 -0
  132. package/lib/Utils/logger.d.ts +13 -0
  133. package/lib/Utils/logger.js +7 -0
  134. package/lib/Utils/lt-hash.d.ts +14 -0
  135. package/lib/Utils/lt-hash.js +58 -0
  136. package/lib/Utils/make-mutex.d.ts +9 -0
  137. package/lib/Utils/make-mutex.js +49 -0
  138. package/lib/Utils/message-retry-manager.d.ts +82 -0
  139. package/lib/Utils/message-retry-manager.js +177 -0
  140. package/lib/Utils/messages-media.d.ts +129 -0
  141. package/lib/Utils/messages-media.js +806 -0
  142. package/lib/Utils/messages.d.ts +103 -0
  143. package/lib/Utils/messages.js +1579 -0
  144. package/lib/Utils/noise-handler.d.ts +20 -0
  145. package/lib/Utils/noise-handler.js +155 -0
  146. package/lib/Utils/process-message.d.ts +49 -0
  147. package/lib/Utils/process-message.js +428 -0
  148. package/lib/Utils/signal.d.ts +42 -0
  149. package/lib/Utils/signal.js +166 -0
  150. package/lib/Utils/use-mongo-file-auth-state.d.ts +6 -0
  151. package/lib/Utils/use-mongo-file-auth-state.js +84 -0
  152. package/lib/Utils/use-multi-file-auth-state.d.ts +18 -0
  153. package/lib/Utils/use-multi-file-auth-state.js +238 -0
  154. package/lib/Utils/use-single-file-auth-state.d.ts +13 -0
  155. package/lib/Utils/use-single-file-auth-state.js +80 -0
  156. package/lib/Utils/validate-connection.d.ts +13 -0
  157. package/lib/Utils/validate-connection.js +187 -0
  158. package/lib/WABinary/constants.d.ts +30 -0
  159. package/lib/WABinary/constants.js +1316 -0
  160. package/lib/WABinary/decode.d.ts +9 -0
  161. package/lib/WABinary/decode.js +288 -0
  162. package/lib/WABinary/encode.d.ts +3 -0
  163. package/lib/WABinary/encode.js +265 -0
  164. package/lib/WABinary/generic-utils.d.ts +28 -0
  165. package/lib/WABinary/generic-utils.js +142 -0
  166. package/lib/WABinary/index.d.ts +5 -0
  167. package/lib/WABinary/index.js +25 -0
  168. package/lib/WABinary/jid-utils.d.ts +53 -0
  169. package/lib/WABinary/jid-utils.js +92 -0
  170. package/lib/WABinary/types.d.ts +22 -0
  171. package/lib/WABinary/types.js +3 -0
  172. package/lib/WAM/BinaryInfo.d.ts +16 -0
  173. package/lib/WAM/BinaryInfo.js +17 -0
  174. package/lib/WAM/constants.d.ts +47 -0
  175. package/lib/WAM/constants.js +15371 -0
  176. package/lib/WAM/encode.d.ts +3 -0
  177. package/lib/WAM/encode.js +165 -0
  178. package/lib/WAM/index.d.ts +3 -0
  179. package/lib/WAM/index.js +23 -0
  180. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +28 -0
  181. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +69 -0
  182. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  183. package/lib/WAUSync/Protocols/USyncContactProtocol.js +36 -0
  184. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +26 -0
  185. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +62 -0
  186. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +14 -0
  187. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +35 -0
  188. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +9 -0
  189. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +30 -0
  190. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +14 -0
  191. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +46 -0
  192. package/lib/WAUSync/Protocols/index.d.ts +6 -0
  193. package/lib/WAUSync/Protocols/index.js +26 -0
  194. package/lib/WAUSync/USyncQuery.d.ts +31 -0
  195. package/lib/WAUSync/USyncQuery.js +92 -0
  196. package/lib/WAUSync/USyncUser.d.ts +12 -0
  197. package/lib/WAUSync/USyncUser.js +30 -0
  198. package/lib/WAUSync/index.d.ts +3 -0
  199. package/lib/WAUSync/index.js +23 -0
  200. package/lib/index.d.ts +13 -0
  201. package/lib/index.js +33 -0
  202. package/package.json +88 -10
  203. package/index.js +0 -38
@@ -0,0 +1,92 @@
1
+ import { WAMediaUpload } from './Message'
2
+
3
+ export type CatalogResult = {
4
+ data: {
5
+ paging: {
6
+ cursors: {
7
+ before: string
8
+ after: string
9
+ }
10
+ }
11
+ data: any[]
12
+ }
13
+ }
14
+
15
+ export type ProductCreateResult = {
16
+ data: {
17
+ product: {}
18
+ }
19
+ }
20
+
21
+ export type CatalogStatus = {
22
+ status: string
23
+ canAppeal: boolean
24
+ }
25
+
26
+ export type CatalogCollection = {
27
+ id: string
28
+ name: string
29
+ products: Product[]
30
+ status: CatalogStatus
31
+ }
32
+
33
+ export type ProductAvailability = 'in stock'
34
+
35
+ export type ProductBase = {
36
+ name: string
37
+ retailerId?: string
38
+ url?: string
39
+ description: string
40
+ price: number
41
+ currency: string
42
+ isHidden?: boolean
43
+ }
44
+
45
+ export type ProductCreate = ProductBase & {
46
+ /** ISO country code for product origin. Set to undefined for no country */
47
+ originCountryCode: string | undefined
48
+ /** images of the product */
49
+ images: WAMediaUpload[]
50
+ }
51
+
52
+ export type ProductUpdate = Omit<ProductCreate, 'originCountryCode'>
53
+
54
+ export type Product = ProductBase & {
55
+ id: string
56
+ imageUrls: {
57
+ [_: string]: string
58
+ }
59
+ reviewStatus: {
60
+ [_: string]: string
61
+ }
62
+ availability: ProductAvailability
63
+ }
64
+
65
+ export type OrderPrice = {
66
+ currency: string
67
+ total: number
68
+ }
69
+
70
+ export type OrderProduct = {
71
+ id: string
72
+ imageUrl: string
73
+ name: string
74
+ quantity: number
75
+ currency: string
76
+ price: number
77
+ }
78
+
79
+ export type OrderDetails = {
80
+ price: OrderPrice
81
+ products: OrderProduct[]
82
+ }
83
+
84
+ export type CatalogCursor = string
85
+
86
+ export type GetCatalogOptions = {
87
+ /** cursor to start from */
88
+ cursor?: CatalogCursor
89
+ /** number of products to fetch */
90
+ limit?: number
91
+ jid?: string
92
+ }
@@ -0,0 +1,3 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
@@ -0,0 +1,68 @@
1
+ import { proto } from '../../WAProto'
2
+
3
+ type DecryptGroupSignalOpts = {
4
+ group: string
5
+ authorJid: string
6
+ msg: Uint8Array
7
+ }
8
+
9
+ type ProcessSenderKeyDistributionMessageOpts = {
10
+ item: proto.Message.ISenderKeyDistributionMessage
11
+ authorJid: string
12
+ }
13
+
14
+ type DecryptSignalProtoOpts = {
15
+ jid: string
16
+ type: 'pkmsg' | 'msg'
17
+ ciphertext: Uint8Array
18
+ }
19
+
20
+ type EncryptMessageOpts = {
21
+ jid: string
22
+ data: Uint8Array
23
+ }
24
+
25
+ type EncryptGroupMessageOpts = {
26
+ group: string
27
+ data: Uint8Array
28
+ meId: string
29
+ }
30
+
31
+ type PreKey = {
32
+ keyId: number
33
+ publicKey: Uint8Array
34
+ }
35
+
36
+ type SignedPreKey = PreKey & {
37
+ signature: Uint8Array
38
+ }
39
+
40
+ type E2ESession = {
41
+ registrationId: number
42
+ identityKey: Uint8Array
43
+ signedPreKey: SignedPreKey
44
+ preKey: PreKey
45
+ }
46
+
47
+ type E2ESessionOpts = {
48
+ jid: string
49
+ session: E2ESession
50
+ }
51
+
52
+ export type SignalRepository = {
53
+ decryptGroupMessage(opts: DecryptGroupSignalOpts): Promise<Uint8Array>
54
+ processSenderKeyDistributionMessage(opts: ProcessSenderKeyDistributionMessageOpts): Promise<void>
55
+ decryptMessage(opts: DecryptSignalProtoOpts): Promise<Uint8Array>
56
+ encryptMessage(opts: EncryptMessageOpts): Promise<{
57
+ type: 'pkmsg' | 'msg'
58
+ ciphertext: Uint8Array
59
+ }>
60
+ encryptGroupMessage(opts: EncryptGroupMessageOpts): Promise<{
61
+ senderKeyDistributionMessage: Uint8Array
62
+ ciphertext: Uint8Array
63
+ }>
64
+ injectE2ESession(opts: E2ESessionOpts): Promise<void>
65
+ jidToSignalProtocolAddress(jid: string): string
66
+ }
67
+
68
+ export {}
@@ -0,0 +1,3 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
@@ -0,0 +1,122 @@
1
+ import { AxiosRequestConfig } from 'axios'
2
+ import type { Agent } from 'https'
3
+ import { ILogger } from '../Utils/logger'
4
+ import type { URL } from 'url'
5
+ import { proto } from '../../WAProto'
6
+ import { AuthenticationState, SignalAuthState, TransactionCapabilityOptions } from './Auth'
7
+ import { GroupMetadata } from './GroupMetadata'
8
+ import { MediaConnInfo } from './Message'
9
+ import { SignalRepository } from './Signal'
10
+
11
+ export type WAVersion = [number, number, number]
12
+
13
+ export type WABrowserDescription = [string, string, string]
14
+
15
+ export type CacheStore = {
16
+ /** get a cached key and change the stats */
17
+ get<T>(key: string): T | undefined
18
+ /** set a key in the cache */
19
+ set<T>(key: string, value: T): void
20
+ /** delete a key from the cache */
21
+ del(key: string): void
22
+ /** flush all data */
23
+ flushAll(): void
24
+ }
25
+
26
+ export type SocketConfig = {
27
+ /** the WS url to connect to WA */
28
+ waWebSocketUrl: string | URL
29
+ /** Fails the connection if the socket times out in this interval */
30
+ connectTimeoutMs: number
31
+ /** Default timeout for queries, undefined for no timeout */
32
+ defaultQueryTimeoutMs: number | undefined
33
+ /** ping-pong interval for WS connection */
34
+ keepAliveIntervalMs: number
35
+ /** should baileys use the mobile api instead of the multi device api
36
+ * @deprecated This feature has been removed
37
+ */
38
+ mobile?: boolean
39
+ /** proxy agent */
40
+ agent?: Agent
41
+ /** logger */
42
+ logger: ILogger
43
+ /** version to connect with */
44
+ version: WAVersion
45
+ /** override browser config */
46
+ browser: WABrowserDescription
47
+ /** agent used for fetch requests -- uploading/downloading media */
48
+ fetchAgent?: Agent
49
+ /** should the QR be printed in the terminal */
50
+ printQRInTerminal: boolean
51
+ /** should events be emitted for actions done by this socket connection */
52
+ emitOwnEvents: boolean
53
+ /** custom upload hosts to upload media to */
54
+ customUploadHosts: MediaConnInfo['hosts']
55
+ /** time to wait between sending new retry requests */
56
+ retryRequestDelayMs: number
57
+ /** max retry count */
58
+ maxMsgRetryCount: number
59
+ /** time to wait for the generation of the next QR in ms */
60
+ qrTimeout?: number
61
+ /** provide an auth state object to maintain the auth state */
62
+ auth: AuthenticationState
63
+ /** manage history processing with this control by default will sync up everything */
64
+ shouldSyncHistoryMessage: (msg: proto.Message.IHistorySyncNotification) => boolean
65
+ /** transaction capability options for SignalKeyStore */
66
+ transactionOpts: TransactionCapabilityOptions
67
+ /** marks the client as online whenever the socket successfully connects */
68
+ markOnlineOnConnect: boolean
69
+ /** alphanumeric country code (USA -> US) for the number used */
70
+ countryCode: string
71
+ /** provide a cache to store media, so does not have to be re-uploaded */
72
+ mediaCache?: CacheStore
73
+ /**
74
+ * map to store the retry counts for failed messages
75
+ * used to determine whether to retry a message or not */
76
+ msgRetryCounterCache?: CacheStore
77
+ /** provide a cache to store a user's device list */
78
+ userDevicesCache?: CacheStore
79
+ /** cache to store call offers */
80
+ callOfferCache?: CacheStore
81
+ /** cache to track placeholder resends */
82
+ placeholderResendCache?: CacheStore
83
+ /** width for link preview images */
84
+ linkPreviewImageThumbnailWidth: number
85
+ /** Should Baileys ask the phone for full history, will be received async */
86
+ syncFullHistory: boolean
87
+ /** Should baileys fire init queries automatically, default true */
88
+ fireInitQueries: boolean
89
+ /**
90
+ * generate a high quality link preview,
91
+ * entails uploading the jpegThumbnail to WA
92
+ * */
93
+ generateHighQualityLinkPreview: boolean
94
+ /** Enable recent message caching for retry handling */
95
+ enableRecentMessageCache: boolean
96
+ /**
97
+ * Returns if a jid should be ignored,
98
+ * no event for that jid will be triggered.
99
+ * Messages from that jid will also not be decrypted
100
+ * */
101
+ shouldIgnoreJid: (jid: string) => boolean | undefined
102
+ /**
103
+ * Optionally patch the message before sending out
104
+ * */
105
+ patchMessageBeforeSending: (msg: proto.IMessage, recipientJids: string[]) => Promise<proto.IMessage> | proto.IMessage
106
+ /** verify app state MACs */
107
+ appStateMacVerification: {
108
+ patch: boolean
109
+ snapshot: boolean
110
+ }
111
+ /** options for axios */
112
+ options: AxiosRequestConfig<{}>
113
+ /**
114
+ * fetch a message from your store
115
+ * implement this so that messages failed to send
116
+ * (solves the "this message can take a while" issue) can be retried
117
+ * */
118
+ getMessage: (key: proto.IMessageKey) => Promise<proto.IMessage | undefined>
119
+ /** cached group metadata, use to prevent redundant requests to WA & speed up msg sending */
120
+ cachedGroupMetadata: (jid: string) => Promise<GroupMetadata | undefined>
121
+ makeSignalRepository: (auth: SignalAuthState) => SignalRepository
122
+ }
@@ -0,0 +1,3 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
@@ -0,0 +1,41 @@
1
+ import { Boom } from '@hapi/boom'
2
+ import { Contact } from './Contact'
3
+
4
+ export declare const enum SyncState {
5
+ /** The socket is connecting, but we haven't received pending notifications yet. */
6
+ Connecting = 0,
7
+ /** Pending notifications received. Buffering events until we decide whether to sync or not. */
8
+ AwaitingInitialSync = 1,
9
+ /** The initial app state sync (history, etc.) is in progress. Buffering continues. */
10
+ Syncing = 2,
11
+ /** Initial sync is complete, or was skipped. The socket is fully operational and events are processed in real-time. */
12
+ Online = 3
13
+ }
14
+
15
+ export type WAConnectionState = 'open' | 'connecting' | 'close'
16
+
17
+ export type ConnectionState = {
18
+ /** connection is now open, connecting or closed */
19
+ connection: WAConnectionState
20
+ /** the error that caused the connection to close */
21
+ lastDisconnect?: {
22
+ error: Boom | Error | undefined
23
+ date: Date
24
+ }
25
+ /** is this a new login */
26
+ isNewLogin?: boolean
27
+ /** the current QR code */
28
+ qr?: string
29
+ /** has the device received all pending notifications while it was offline */
30
+ receivedPendingNotifications?: boolean
31
+ /** legacy connection options */
32
+ legacy?: {
33
+ phoneConnected: boolean
34
+ user?: Contact
35
+ }
36
+ /**
37
+ * if the client is shown as an active, online client.
38
+ * If this is false, the primary phone and other devices will receive notifs
39
+ * */
40
+ isOnline?: boolean
41
+ }
@@ -0,0 +1,14 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const SyncState = {
6
+ Connecting: 0,
7
+ AwaitingInitialSync: 1,
8
+ Syncing: 2,
9
+ Online: 3
10
+ }
11
+
12
+ module.exports = {
13
+ SyncState
14
+ }
@@ -0,0 +1,26 @@
1
+ import { BinaryNode } from '../WABinary'
2
+ import { USyncUser } from '../WAUSync'
3
+
4
+ /**
5
+ * Defines the interface for a USyncQuery protocol
6
+ */
7
+ export interface USyncQueryProtocol {
8
+ /**
9
+ * The name of the protocol
10
+ */
11
+ name: string
12
+ /**
13
+ * Defines what goes inside the query part of a USyncQuery
14
+ */
15
+ getQueryElement: () => BinaryNode
16
+ /**
17
+ * Defines what goes inside the user part of a USyncQuery
18
+ */
19
+ getUserElement: (user: USyncUser) => BinaryNode | null
20
+ /**
21
+ * Parse the result of the query
22
+ * @param data Data from the result
23
+ * @returns Whatever the protocol is supposed to return
24
+ */
25
+ parser: (data: BinaryNode) => unknown
26
+ }
@@ -0,0 +1,3 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
@@ -0,0 +1,79 @@
1
+ export * from './Auth'
2
+ export * from './GroupMetadata'
3
+ export * from './Chat'
4
+ export * from './Contact'
5
+ export * from './State'
6
+ export * from './MexUpdates'
7
+ export * from './Message'
8
+ export * from './Newsletter'
9
+ export * from './Socket'
10
+ export * from './Events'
11
+ export * from './Product'
12
+ export * from './Call'
13
+ export * from './Signal'
14
+
15
+ import { AuthenticationState } from './Auth'
16
+ import { SocketConfig } from './Socket'
17
+
18
+ export type UserFacingSocketConfig = Partial<SocketConfig> & {
19
+ auth: AuthenticationState
20
+ }
21
+
22
+ export type BrowsersMap = {
23
+ ubuntu(browser: string): [string, string, string]
24
+ macOS(browser: string): [string, string, string]
25
+ windows(browser: string): [string, string, string]
26
+ linux(browser: string): [string, string, string]
27
+ android(browser: string): [string, string, string]
28
+ iOS(browser: string): [string, string, string]
29
+ baileys(browser: string): [string, string, string]
30
+ kaiOS(browser: string): [string, string, string]
31
+ chromeOS(browser: string): [string, string, string]
32
+ appropriate(browser: string): [string, string, string]
33
+ custom(platform: string, browser: string, version: string): [string, string, string]
34
+ }
35
+
36
+ export declare const enum DisconnectReason {
37
+ connectionClosed = 428,
38
+ connectionLost = 408,
39
+ connectionReplaced = 440,
40
+ timedOut = 408,
41
+ loggedOut = 401,
42
+ badSession = 500,
43
+ restartRequired = 515,
44
+ multideviceMismatch = 411,
45
+ forbidden = 403,
46
+ unavailableService = 503
47
+ }
48
+
49
+ export type WAInitResponse = {
50
+ ref: string
51
+ ttl: number
52
+ status: 200
53
+ }
54
+
55
+ export type WABusinessHoursConfig = {
56
+ day_of_week: string
57
+ mode: string
58
+ open_time?: number
59
+ close_time?: number
60
+ }
61
+
62
+ export type WABusinessProfile = {
63
+ description: string
64
+ email: string | undefined
65
+ business_hours: {
66
+ timezone?: string
67
+ config?: WABusinessHoursConfig[]
68
+ business_config?: WABusinessHoursConfig[]
69
+ }
70
+ website: string[]
71
+ category?: string
72
+ wid?: string
73
+ address?: string
74
+ }
75
+
76
+ export type CurveKeyPair = {
77
+ private: Uint8Array
78
+ public: Uint8Array
79
+ }
@@ -0,0 +1,48 @@
1
+ "use strict"
2
+
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k
5
+ var desc = Object.getOwnPropertyDescriptor(m, k)
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k] } }
8
+ }
9
+ Object.defineProperty(o, k2, desc)
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k
12
+ o[k2] = m[k]
13
+ }))
14
+
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p)
17
+ }
18
+
19
+ Object.defineProperty(exports, "__esModule", { value: true })
20
+
21
+ exports.DisconnectReason = void 0;
22
+ __exportStar(require("./Auth"), exports)
23
+ __exportStar(require("./GroupMetadata"), exports)
24
+ __exportStar(require("./Chat"), exports)
25
+ __exportStar(require("./Contact"), exports)
26
+ __exportStar(require("./State"), exports)
27
+ __exportStar(require("./MexUpdates"), exports)
28
+ __exportStar(require("./Message"), exports)
29
+ __exportStar(require("./Newsletter"), exports)
30
+ __exportStar(require("./Socket"), exports)
31
+ __exportStar(require("./Events"), exports)
32
+ __exportStar(require("./Product"), exports)
33
+ __exportStar(require("./Call"), exports)
34
+ __exportStar(require("./Signal"), exports)
35
+
36
+ const DisconnectReason = {
37
+ connectionClosed: 428,
38
+ connectionLost: 408,
39
+ connectionReplaced: 440,
40
+ timedOut: 408,
41
+ loggedOut: 401,
42
+ badSession: 500,
43
+ restartRequired: 515,
44
+ multideviceMismatch: 411,
45
+ forbidden: 403,
46
+ unavailableService: 503
47
+ }
48
+ exports.DisconnectReason = DisconnectReason
@@ -0,0 +1,21 @@
1
+ import type { AuthenticationCreds, CacheStore, SignalKeyStore, SignalKeyStoreWithTransaction, TransactionCapabilityOptions } from '../Types'
2
+ import { ILogger } from './logger'
3
+
4
+ /**
5
+ * Adds caching capability to a SignalKeyStore
6
+ * @param store the store to add caching to
7
+ * @param logger to log trace events
8
+ * @param _cache cache store to use
9
+ */
10
+ export declare function makeCacheableSignalKeyStore(store: SignalKeyStore, logger?: ILogger, _cache?: CacheStore): SignalKeyStore
11
+
12
+ /**
13
+ * Adds DB like transaction capability (https://en.wikipedia.org/wiki/Database_transaction) to the SignalKeyStore,
14
+ * this allows batch read & write operations & improves the performance of the lib
15
+ * @param state the key store to apply this capability to
16
+ * @param logger logger to log events
17
+ * @returns SignalKeyStore with transaction capability
18
+ */
19
+ export declare const addTransactionCapability: (state: SignalKeyStore, logger?: ILogger, { maxCommitRetries, delayBetweenTriesMs }: TransactionCapabilityOptions) => SignalKeyStoreWithTransaction
20
+
21
+ export declare const initAuthCreds: () => AuthenticationCreds