@neelegirl/baileys 1.5.3 → 1.5.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 (224) hide show
  1. package/README.md +16 -195
  2. package/index.js +38 -0
  3. package/package.json +16 -96
  4. package/LICENSE +0 -21
  5. package/WAProto/WAProto.proto +0 -5308
  6. package/WAProto/index.d.ts +0 -61295
  7. package/WAProto/index.js +0 -189754
  8. package/lib/Defaults/baileys-version.json +0 -3
  9. package/lib/Defaults/index.d.ts +0 -78
  10. package/lib/Defaults/index.js +0 -149
  11. package/lib/Defaults/phonenumber-mcc.json +0 -223
  12. package/lib/Signal/WASignalGroup/GroupProtocol.js +0 -1909
  13. package/lib/Signal/WASignalGroup/ciphertext-message.d.ts +0 -9
  14. package/lib/Signal/WASignalGroup/ciphertext-message.js +0 -19
  15. package/lib/Signal/WASignalGroup/ciphertext_message.js +0 -16
  16. package/lib/Signal/WASignalGroup/generate-proto.sh +0 -1
  17. package/lib/Signal/WASignalGroup/group-session-builder.d.ts +0 -17
  18. package/lib/Signal/WASignalGroup/group-session-builder.js +0 -72
  19. package/lib/Signal/WASignalGroup/group.proto +0 -42
  20. package/lib/Signal/WASignalGroup/group_cipher.d.ts +0 -19
  21. package/lib/Signal/WASignalGroup/group_cipher.js +0 -111
  22. package/lib/Signal/WASignalGroup/group_session_builder.js +0 -46
  23. package/lib/Signal/WASignalGroup/index.d.ts +0 -11
  24. package/lib/Signal/WASignalGroup/index.js +0 -61
  25. package/lib/Signal/WASignalGroup/keyhelper.d.ts +0 -16
  26. package/lib/Signal/WASignalGroup/keyhelper.js +0 -66
  27. package/lib/Signal/WASignalGroup/protobufs.js +0 -3
  28. package/lib/Signal/WASignalGroup/queue_job.js +0 -69
  29. package/lib/Signal/WASignalGroup/readme.md +0 -6
  30. package/lib/Signal/WASignalGroup/sender-chain-key.d.ts +0 -14
  31. package/lib/Signal/WASignalGroup/sender-chain-key.js +0 -47
  32. package/lib/Signal/WASignalGroup/sender-key-distribution-message.d.ts +0 -17
  33. package/lib/Signal/WASignalGroup/sender-key-distribution-message.js +0 -71
  34. package/lib/Signal/WASignalGroup/sender-key-message.d.ts +0 -19
  35. package/lib/Signal/WASignalGroup/sender-key-message.js +0 -73
  36. package/lib/Signal/WASignalGroup/sender-key-name.d.ts +0 -19
  37. package/lib/Signal/WASignalGroup/sender-key-name.js +0 -59
  38. package/lib/Signal/WASignalGroup/sender-key-record.d.ts +0 -32
  39. package/lib/Signal/WASignalGroup/sender-key-record.js +0 -58
  40. package/lib/Signal/WASignalGroup/sender-key-state.d.ts +0 -44
  41. package/lib/Signal/WASignalGroup/sender-key-state.js +0 -147
  42. package/lib/Signal/WASignalGroup/sender-message-key.d.ts +0 -11
  43. package/lib/Signal/WASignalGroup/sender-message-key.js +0 -33
  44. package/lib/Signal/WASignalGroup/sender_chain_key.js +0 -50
  45. package/lib/Signal/WASignalGroup/sender_key_distribution_message.js +0 -78
  46. package/lib/Signal/WASignalGroup/sender_key_message.js +0 -92
  47. package/lib/Signal/WASignalGroup/sender_key_name.js +0 -70
  48. package/lib/Signal/WASignalGroup/sender_key_record.js +0 -56
  49. package/lib/Signal/WASignalGroup/sender_key_state.js +0 -129
  50. package/lib/Signal/WASignalGroup/sender_message_key.js +0 -39
  51. package/lib/Signal/libsignal.d.ts +0 -8
  52. package/lib/Signal/libsignal.js +0 -391
  53. package/lib/Signal/lid-mapping.d.ts +0 -28
  54. package/lib/Signal/lid-mapping.js +0 -184
  55. package/lib/Socket/Client/abstract-socket-client.d.ts +0 -15
  56. package/lib/Socket/Client/abstract-socket-client.js +0 -13
  57. package/lib/Socket/Client/index.d.ts +0 -2
  58. package/lib/Socket/Client/index.js +0 -22
  59. package/lib/Socket/Client/mobile-socket-client.d.ts +0 -12
  60. package/lib/Socket/Client/mobile-socket-client.js +0 -65
  61. package/lib/Socket/Client/types.d.ts +0 -16
  62. package/lib/Socket/Client/types.js +0 -18
  63. package/lib/Socket/Client/websocket.d.ts +0 -13
  64. package/lib/Socket/Client/websocket.js +0 -62
  65. package/lib/Socket/business.d.ts +0 -187
  66. package/lib/Socket/business.js +0 -415
  67. package/lib/Socket/chats.d.ts +0 -97
  68. package/lib/Socket/chats.js +0 -1118
  69. package/lib/Socket/communities.d.ts +0 -223
  70. package/lib/Socket/communities.js +0 -433
  71. package/lib/Socket/groups.d.ts +0 -129
  72. package/lib/Socket/groups.js +0 -360
  73. package/lib/Socket/index.d.ts +0 -191
  74. package/lib/Socket/index.js +0 -24
  75. package/lib/Socket/messages-recv.d.ts +0 -174
  76. package/lib/Socket/messages-recv.js +0 -1506
  77. package/lib/Socket/messages-send.d.ts +0 -165
  78. package/lib/Socket/messages-send.js +0 -1785
  79. package/lib/Socket/mex.d.ts +0 -2
  80. package/lib/Socket/mex.js +0 -47
  81. package/lib/Socket/newsletter.d.ts +0 -145
  82. package/lib/Socket/newsletter.js +0 -295
  83. package/lib/Socket/socket.d.ts +0 -45
  84. package/lib/Socket/socket.js +0 -934
  85. package/lib/Socket/usync.d.ts +0 -37
  86. package/lib/Socket/usync.js +0 -83
  87. package/lib/Store/index.d.ts +0 -4
  88. package/lib/Store/index.js +0 -24
  89. package/lib/Store/make-cache-manager-store.d.ts +0 -14
  90. package/lib/Store/make-cache-manager-store.js +0 -90
  91. package/lib/Store/make-in-memory-store.d.ts +0 -123
  92. package/lib/Store/make-in-memory-store.js +0 -429
  93. package/lib/Store/make-ordered-dictionary.d.ts +0 -12
  94. package/lib/Store/make-ordered-dictionary.js +0 -86
  95. package/lib/Store/object-repository.d.ts +0 -10
  96. package/lib/Store/object-repository.js +0 -31
  97. package/lib/Types/Auth.d.ts +0 -121
  98. package/lib/Types/Auth.js +0 -3
  99. package/lib/Types/Bussines.js +0 -3
  100. package/lib/Types/Bussiness.d.ts +0 -28
  101. package/lib/Types/Call.d.ts +0 -14
  102. package/lib/Types/Call.js +0 -3
  103. package/lib/Types/Chat.d.ts +0 -143
  104. package/lib/Types/Chat.js +0 -9
  105. package/lib/Types/Contact.d.ts +0 -23
  106. package/lib/Types/Contact.js +0 -3
  107. package/lib/Types/Events.d.ts +0 -226
  108. package/lib/Types/Events.js +0 -3
  109. package/lib/Types/GroupMetadata.d.ts +0 -66
  110. package/lib/Types/GroupMetadata.js +0 -3
  111. package/lib/Types/Label.d.ts +0 -48
  112. package/lib/Types/Label.js +0 -31
  113. package/lib/Types/LabelAssociation.d.ts +0 -35
  114. package/lib/Types/LabelAssociation.js +0 -13
  115. package/lib/Types/Message.d.ts +0 -484
  116. package/lib/Types/Message.js +0 -19
  117. package/lib/Types/MexUpdates.d.ts +0 -9
  118. package/lib/Types/MexUpdates.js +0 -18
  119. package/lib/Types/Newsletter.d.ts +0 -109
  120. package/lib/Types/Newsletter.js +0 -40
  121. package/lib/Types/Product.d.ts +0 -92
  122. package/lib/Types/Product.js +0 -3
  123. package/lib/Types/Signal.d.ts +0 -98
  124. package/lib/Types/Signal.js +0 -3
  125. package/lib/Types/Socket.d.ts +0 -141
  126. package/lib/Types/Socket.js +0 -3
  127. package/lib/Types/State.d.ts +0 -41
  128. package/lib/Types/State.js +0 -14
  129. package/lib/Types/USync.d.ts +0 -26
  130. package/lib/Types/USync.js +0 -3
  131. package/lib/Types/index.d.ts +0 -80
  132. package/lib/Types/index.js +0 -50
  133. package/lib/Utils/auth-utils.d.ts +0 -21
  134. package/lib/Utils/auth-utils.js +0 -528
  135. package/lib/Utils/baileys-event-stream.d.ts +0 -18
  136. package/lib/Utils/baileys-event-stream.js +0 -70
  137. package/lib/Utils/business.d.ts +0 -29
  138. package/lib/Utils/business.js +0 -255
  139. package/lib/Utils/chat-utils.d.ts +0 -82
  140. package/lib/Utils/chat-utils.js +0 -809
  141. package/lib/Utils/crypto.d.ts +0 -56
  142. package/lib/Utils/crypto.js +0 -189
  143. package/lib/Utils/decode-wa-message.d.ts +0 -53
  144. package/lib/Utils/decode-wa-message.js +0 -323
  145. package/lib/Utils/event-buffer.d.ts +0 -39
  146. package/lib/Utils/event-buffer.js +0 -595
  147. package/lib/Utils/generics.d.ts +0 -131
  148. package/lib/Utils/generics.js +0 -630
  149. package/lib/Utils/history.d.ts +0 -23
  150. package/lib/Utils/history.js +0 -104
  151. package/lib/Utils/index.d.ts +0 -20
  152. package/lib/Utils/index.js +0 -40
  153. package/lib/Utils/link-preview.d.ts +0 -23
  154. package/lib/Utils/link-preview.js +0 -120
  155. package/lib/Utils/logger.d.ts +0 -13
  156. package/lib/Utils/logger.js +0 -7
  157. package/lib/Utils/lt-hash.d.ts +0 -14
  158. package/lib/Utils/lt-hash.js +0 -58
  159. package/lib/Utils/make-mutex.d.ts +0 -9
  160. package/lib/Utils/make-mutex.js +0 -49
  161. package/lib/Utils/message-retry-manager.d.ts +0 -88
  162. package/lib/Utils/message-retry-manager.js +0 -160
  163. package/lib/Utils/messages-media.d.ts +0 -135
  164. package/lib/Utils/messages-media.js +0 -869
  165. package/lib/Utils/messages.d.ts +0 -105
  166. package/lib/Utils/messages.js +0 -1745
  167. package/lib/Utils/noise-handler.d.ts +0 -21
  168. package/lib/Utils/noise-handler.js +0 -165
  169. package/lib/Utils/process-message.d.ts +0 -49
  170. package/lib/Utils/process-message.js +0 -427
  171. package/lib/Utils/signal.d.ts +0 -42
  172. package/lib/Utils/signal.js +0 -166
  173. package/lib/Utils/use-mongo-file-auth-state.d.ts +0 -6
  174. package/lib/Utils/use-mongo-file-auth-state.js +0 -84
  175. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -18
  176. package/lib/Utils/use-multi-file-auth-state.js +0 -238
  177. package/lib/Utils/use-single-file-auth-state.d.ts +0 -13
  178. package/lib/Utils/use-single-file-auth-state.js +0 -80
  179. package/lib/Utils/validate-connection.d.ts +0 -13
  180. package/lib/Utils/validate-connection.js +0 -220
  181. package/lib/WABinary/constants.d.ts +0 -30
  182. package/lib/WABinary/constants.js +0 -1316
  183. package/lib/WABinary/decode.d.ts +0 -9
  184. package/lib/WABinary/decode.js +0 -288
  185. package/lib/WABinary/encode.d.ts +0 -3
  186. package/lib/WABinary/encode.js +0 -265
  187. package/lib/WABinary/generic-utils.d.ts +0 -28
  188. package/lib/WABinary/generic-utils.js +0 -142
  189. package/lib/WABinary/index.d.ts +0 -5
  190. package/lib/WABinary/index.js +0 -25
  191. package/lib/WABinary/jid-utils.d.ts +0 -58
  192. package/lib/WABinary/jid-utils.js +0 -104
  193. package/lib/WABinary/types.d.ts +0 -22
  194. package/lib/WABinary/types.js +0 -3
  195. package/lib/WAM/BinaryInfo.d.ts +0 -16
  196. package/lib/WAM/BinaryInfo.js +0 -17
  197. package/lib/WAM/constants.d.ts +0 -47
  198. package/lib/WAM/constants.js +0 -15371
  199. package/lib/WAM/encode.d.ts +0 -3
  200. package/lib/WAM/encode.js +0 -164
  201. package/lib/WAM/index.d.ts +0 -3
  202. package/lib/WAM/index.js +0 -23
  203. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +0 -28
  204. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +0 -69
  205. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -10
  206. package/lib/WAUSync/Protocols/USyncContactProtocol.js +0 -36
  207. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -26
  208. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +0 -62
  209. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -14
  210. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +0 -35
  211. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +0 -10
  212. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +0 -38
  213. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -14
  214. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +0 -46
  215. package/lib/WAUSync/Protocols/index.d.ts +0 -6
  216. package/lib/WAUSync/Protocols/index.js +0 -26
  217. package/lib/WAUSync/USyncQuery.d.ts +0 -31
  218. package/lib/WAUSync/USyncQuery.js +0 -92
  219. package/lib/WAUSync/USyncUser.d.ts +0 -12
  220. package/lib/WAUSync/USyncUser.js +0 -30
  221. package/lib/WAUSync/index.d.ts +0 -3
  222. package/lib/WAUSync/index.js +0 -23
  223. package/lib/index.d.ts +0 -13
  224. package/lib/index.js +0 -33
@@ -1,160 +0,0 @@
1
- "use strict"
2
-
3
- Object.defineProperty(exports, "__esModule", { value: true })
4
-
5
- const LRUCache_1 = require("lru-cache")
6
-
7
- /** Number of sent messages to cache in memory for handling retry receipts */
8
- const RECENT_MESSAGES_SIZE = 512
9
-
10
- /** Timeout for session recreation - 1 hour */
11
- const RECREATE_SESSION_TIMEOUT = 60 * 60 * 1000 // 1 hour in milliseconds
12
-
13
- const PHONE_REQUEST_DELAY = 3000
14
-
15
- class MessageRetryManager {
16
- constructor(logger, maxMsgRetryCount) {
17
- this.logger = logger
18
- this.recentMessagesMap = new LRUCache_1.LRUCache({
19
- max: RECENT_MESSAGES_SIZE
20
- })
21
- this.sessionRecreateHistory = new LRUCache_1.LRUCache({
22
- ttl: RECREATE_SESSION_TIMEOUT * 2,
23
- ttlAutopurge: true
24
- })
25
- this.retryCounters = new LRUCache_1.LRUCache({
26
- ttl: 15 * 60 * 1000,
27
- ttlAutopurge: true,
28
- updateAgeOnGet: true
29
- }) // 15 minutes TTL
30
- this.pendingPhoneRequests = {}
31
- this.maxMsgRetryCount = 5
32
- this.statistics = {
33
- totalRetries: 0,
34
- successfulRetries: 0,
35
- failedRetries: 0,
36
- mediaRetries: 0,
37
- sessionRecreations: 0,
38
- phoneRequests: 0
39
- }
40
- this.maxMsgRetryCount = maxMsgRetryCount
41
- }
42
- /**
43
- * Add a recent message to the cache for retry handling
44
- */
45
- addRecentMessage(to, id, message) {
46
- const key = { to, id }
47
- const keyStr = this.keyToString(key)
48
- // Add new message
49
- this.recentMessagesMap.set(keyStr, {
50
- message,
51
- timestamp: Date.now()
52
- })
53
- this.logger.debug(`Added message to retry cache: ${to}/${id}`)
54
- }
55
- /**
56
- * Get a recent message from the cache
57
- */
58
- getRecentMessage(to, id) {
59
- const key = { to, id }
60
- const keyStr = this.keyToString(key)
61
- return this.recentMessagesMap.get(keyStr)
62
- }
63
- /**
64
- * Check if a session should be recreated based on retry count and history
65
- */
66
- shouldRecreateSession(jid, retryCount, hasSession) {
67
- // If we don't have a session, always recreate
68
- if (!hasSession) {
69
- this.sessionRecreateHistory.set(jid, Date.now())
70
- this.statistics.sessionRecreations++
71
- return {
72
- reason: "we don't have a Signal session with them",
73
- recreate: true
74
- }
75
- }
76
- // Only consider recreation if retry count > 1
77
- if (retryCount < 2) {
78
- return { reason: '', recreate: false }
79
- }
80
- const now = Date.now()
81
- const prevTime = this.sessionRecreateHistory.get(jid)
82
- // If no previous recreation or it's been more than an hour
83
- if (!prevTime || now - prevTime > RECREATE_SESSION_TIMEOUT) {
84
- this.sessionRecreateHistory.set(jid, now)
85
- this.statistics.sessionRecreations++
86
- return {
87
- reason: 'retry count > 1 and over an hour since last recreation',
88
- recreate: true
89
- }
90
- }
91
- return { reason: '', recreate: false }
92
- }
93
- /**
94
- * Increment retry counter for a message
95
- */
96
- incrementRetryCount(messageId) {
97
- this.retryCounters.set(messageId, (this.retryCounters.get(messageId) || 0) + 1)
98
- this.statistics.totalRetries++
99
- return this.retryCounters.get(messageId)
100
- }
101
- /**
102
- * Get retry count for a message
103
- */
104
- getRetryCount(messageId) {
105
- return this.retryCounters.get(messageId) || 0
106
- }
107
- /**
108
- * Check if message has exceeded maximum retry attempts
109
- */
110
- hasExceededMaxRetries(messageId) {
111
- return this.getRetryCount(messageId) >= this.maxMsgRetryCount
112
- }
113
- /**
114
- * Mark retry as successful
115
- */
116
- markRetrySuccess(messageId) {
117
- this.statistics.successfulRetries++
118
- // Clean up retry counter for successful message
119
- this.retryCounters.delete(messageId)
120
- this.cancelPendingPhoneRequest(messageId)
121
- }
122
- /**
123
- * Mark retry as failed
124
- */
125
- markRetryFailed(messageId) {
126
- this.statistics.failedRetries++
127
- this.retryCounters.delete(messageId)
128
- }
129
- /**
130
- * Schedule a phone request with delay
131
- */
132
- schedulePhoneRequest(messageId, callback, delay = PHONE_REQUEST_DELAY) {
133
- // Cancel any existing request for this message
134
- this.cancelPendingPhoneRequest(messageId)
135
- this.pendingPhoneRequests[messageId] = setTimeout(() => {
136
- delete this.pendingPhoneRequests[messageId]
137
- this.statistics.phoneRequests++
138
- callback()
139
- }, delay)
140
- this.logger.debug(`Scheduled phone request for message ${messageId} with ${delay}ms delay`)
141
- }
142
- /**
143
- * Cancel pending phone request
144
- */
145
- cancelPendingPhoneRequest(messageId) {
146
- const timeout = this.pendingPhoneRequests[messageId]
147
- if (timeout) {
148
- clearTimeout(timeout)
149
- delete this.pendingPhoneRequests[messageId]
150
- this.logger.debug(`Cancelled pending phone request for message ${messageId}`)
151
- }
152
- }
153
- keyToString(key) {
154
- return `${key.to}:${key.id}`
155
- }
156
- }
157
-
158
- module.exports = {
159
- MessageRetryManager
160
- }
@@ -1,135 +0,0 @@
1
- import { Boom } from '@hapi/boom'
2
- import { AxiosRequestConfig } from 'axios'
3
- import { Readable, Transform } from 'stream'
4
- import { URL } from 'url'
5
- import { proto } from '@neelegirl/baileys/WAProto'
6
- import { DownloadableMessage, MediaConnInfo, MediaDecryptionKeyInfo, MediaType, SocketConfig, WAMediaUpload, WAMediaUploadFunction, WAMessageContent } from '@neelegirl/baileys/lib/Types'
7
- import { BinaryNode } from '@neelegirl/baileys/lib/WABinary'
8
- import { ILogger } from '@neelegirl/baileys/lib/Utils/logger'
9
-
10
- export declare const hkdfInfoKey: (type: MediaType) => string
11
-
12
- export declare const getRawMediaUploadData: (media: WAMediaUpload, mediaType: MediaType, logger?: ILogger) => Promise<{
13
- filePath: string
14
- fileSha256: Buffer<ArrayBufferLike>
15
- fileLength: number
16
- }>
17
-
18
- /** generates all the keys required to encrypt/decrypt & sign a media message */
19
- export declare function getMediaKeys(buffer: Uint8Array | string | null | undefined, mediaType: MediaType): MediaDecryptionKeyInfo
20
-
21
- export declare const extractImageThumb: (bufferOrFilePath: Readable | Buffer | string, width?: number) => Promise<{
22
- buffer: Buffer
23
- original: {
24
- width: number | undefined
25
- height: number | undefined
26
- }
27
- }>
28
-
29
- export declare const encodeBase64EncodedStringForUpload: (b64: string) => string
30
-
31
- export declare const generateProfilePicture: (mediaUpload: WAMediaUpload) => Promise<{
32
- img: Buffer
33
- }>
34
-
35
- /** gets the SHA256 of the given media message */
36
- export declare const mediaMessageSHA256B64: (message: WAMessageContent) => string | null | undefined
37
-
38
- export declare function getAudioDuration(buffer: Buffer | string | Readable): Promise<number | undefined>
39
-
40
- /**
41
- referenced from and modifying https://github.com/wppconnect-team/wa-js/blob/main/src/chat/functions/prepareAudioWaveform.ts
42
- */
43
- export declare function getAudioWaveform(buffer: Buffer | string | Readable, logger?: ILogger): Promise<Uint8Array | undefined>
44
-
45
- export declare const toReadable: (buffer: Buffer) => Readable
46
-
47
- export declare const toBuffer: (stream: Readable) => Promise<Buffer>
48
-
49
- export declare const getStream: (item: WAMediaUpload, opts?: AxiosRequestConfig) => Promise<{
50
- readonly stream: Readable
51
- readonly type: "buffer"
52
- } | {
53
- readonly stream: Readable
54
- readonly type: "readable"
55
- } | {
56
- readonly stream: Readable
57
- readonly type: "remote"
58
- } | {
59
- readonly stream: import("fs").ReadStream
60
- readonly type: "file"
61
- }>
62
-
63
- /** generates a thumbnail for a given media, if required */
64
- export declare function generateThumbnail(file: string, mediaType: 'video' | 'image', options: {
65
- logger?: Logger
66
- }): Promise<{
67
- thumbnail: string | undefined
68
- originalImageDimensions: {
69
- width: number
70
- height: number
71
- } | undefined
72
- }>
73
-
74
- export declare const getHttpStream: (url: string | URL, options?: AxiosRequestConfig & {
75
- isStream?: true
76
- }) => Promise<Readable>
77
-
78
- type EncryptedStreamOptions = {
79
- saveOriginalFileIfRequired?: boolean
80
- logger?: Logger
81
- opts?: AxiosRequestConfig
82
- }
83
-
84
- export declare const encryptedStream: (media: WAMediaUpload, mediaType: MediaType, { logger, saveOriginalFileIfRequired, opts }?: EncryptedStreamOptions) => Promise<{
85
- mediaKey: Buffer
86
- encWriteStream: Readable
87
- bodyPath: string | undefined
88
- mac: Buffer
89
- fileEncSha256: Buffer
90
- fileSha256: Buffer
91
- fileLength: number
92
- didSaveToTmpPath: boolean
93
- }>
94
-
95
- export type MediaDownloadOptions = {
96
- startByte?: number
97
- endByte?: number
98
- options?: AxiosRequestConfig<{}>
99
- }
100
-
101
- export declare const getUrlFromDirectPath: (directPath: string) => string
102
-
103
- export declare const downloadContentFromMessage: ({ mediaKey, directPath, url }: DownloadableMessage, type: MediaType, opts?: MediaDownloadOptions) => Promise<Transform>
104
-
105
- /**
106
- * Decrypts and downloads an AES256-CBC encrypted file given the keys.
107
- * Assumes the SHA256 of the plaintext is appended to the end of the ciphertext
108
- * */
109
- export declare const downloadEncryptedContent: (downloadUrl: string, { cipherKey, iv }: MediaDecryptionKeyInfo, { startByte, endByte, options }?: MediaDownloadOptions) => Promise<Transform>
110
-
111
- export declare function extensionForMediaMessage(message: WAMessageContent): string
112
-
113
- export declare const getWAUploadToServer: ({ customUploadHosts, fetchAgent, logger, options }: SocketConfig, refreshMediaConn: (force: boolean) => Promise<MediaConnInfo>) => WAMediaUploadFunction
114
- /**
115
- * Generate a binary node that will request the phone to re-upload the media & return the newly uploaded URL
116
- */
117
- export declare const encryptMediaRetryRequest: (key: proto.IMessageKey, mediaKey: Buffer | Uint8Array, meId: string) => BinaryNode
118
-
119
- export declare const decodeMediaRetryNode: (node: BinaryNode) => {
120
- key: proto.IMessageKey
121
- media?: {
122
- ciphertext: Uint8Array
123
- iv: Uint8Array
124
- } | undefined
125
- error?: Boom<any> | undefined
126
- }
127
-
128
- export declare const decryptMediaRetryData: ({ ciphertext, iv }: {
129
- ciphertext: Uint8Array
130
- iv: Uint8Array
131
- }, mediaKey: Uint8Array, msgId: string) => Promise<proto.MediaRetryNotification>
132
-
133
- export declare const getStatusCodeForMediaRetry: (code: number) => any
134
-
135
- export {}