@pontalabs/baileys 1.0.6 → 1.0.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 (185) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +839 -267
  3. package/WAProto/GenerateStatics.sh +4 -3
  4. package/WAProto/WAProto.proto +511 -1215
  5. package/WAProto/index.d.ts +55 -14017
  6. package/WAProto/index.js +29 -97689
  7. package/lib/Defaults/index.d.ts +74 -72
  8. package/lib/Defaults/index.js +108 -94
  9. package/lib/Signal/Group/ciphertext-message.d.ts +7 -8
  10. package/lib/Signal/Group/ciphertext-message.js +16 -9
  11. package/lib/Signal/Group/group-session-builder.d.ts +13 -11
  12. package/lib/Signal/Group/group-session-builder.js +61 -19
  13. package/lib/Signal/Group/group_cipher.d.ts +16 -14
  14. package/lib/Signal/Group/group_cipher.js +70 -41
  15. package/lib/Signal/Group/index.d.ts +11 -12
  16. package/lib/Signal/Group/index.js +61 -12
  17. package/lib/Signal/Group/keyhelper.d.ts +14 -9
  18. package/lib/Signal/Group/keyhelper.js +58 -10
  19. package/lib/Signal/Group/sender-chain-key.d.ts +13 -13
  20. package/lib/Signal/Group/sender-chain-key.js +34 -13
  21. package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -16
  22. package/lib/Signal/Group/sender-key-distribution-message.js +36 -28
  23. package/lib/Signal/Group/sender-key-message.d.ts +18 -18
  24. package/lib/Signal/Group/sender-key-message.js +45 -38
  25. package/lib/Signal/Group/sender-key-name.d.ts +15 -14
  26. package/lib/Signal/Group/sender-key-name.js +31 -20
  27. package/lib/Signal/Group/sender-key-record.d.ts +25 -24
  28. package/lib/Signal/Group/sender-key-record.js +35 -18
  29. package/lib/Signal/Group/sender-key-state.d.ts +34 -29
  30. package/lib/Signal/Group/sender-key-state.js +100 -37
  31. package/lib/Signal/Group/sender-message-key.d.ts +10 -11
  32. package/lib/Signal/Group/sender-message-key.js +22 -15
  33. package/lib/Signal/libsignal.d.ts +8 -5
  34. package/lib/Signal/libsignal.js +142 -288
  35. package/lib/Signal/lid-mapping.d.ts +28 -23
  36. package/lib/Signal/lid-mapping.js +184 -277
  37. package/lib/Socket/Client/index.d.ts +2 -3
  38. package/lib/Socket/Client/index.js +22 -3
  39. package/lib/Socket/Client/types.d.ts +15 -15
  40. package/lib/Socket/Client/types.js +15 -8
  41. package/lib/Socket/Client/websocket.d.ts +12 -12
  42. package/lib/Socket/Client/websocket.js +37 -29
  43. package/lib/Socket/business.d.ts +178 -208
  44. package/lib/Socket/business.js +127 -91
  45. package/lib/Socket/chats.d.ts +93 -120
  46. package/lib/Socket/chats.js +652 -727
  47. package/lib/Socket/community.js +10 -2
  48. package/lib/Socket/groups.d.ts +111 -143
  49. package/lib/Socket/groups.js +186 -165
  50. package/lib/Socket/index.d.ts +183 -252
  51. package/lib/Socket/index.js +18 -38
  52. package/lib/Socket/messages-recv.d.ts +167 -196
  53. package/lib/Socket/messages-recv.js +1567 -1443
  54. package/lib/Socket/messages-send.d.ts +158 -192
  55. package/lib/Socket/messages-send.js +1208 -1102
  56. package/lib/Socket/newsletter.d.ts +138 -163
  57. package/lib/Socket/newsletter.js +249 -153
  58. package/lib/Socket/socket.d.ts +36 -50
  59. package/lib/Socket/socket.js +820 -749
  60. package/lib/Store/index.d.ts +4 -4
  61. package/lib/Store/index.js +24 -4
  62. package/lib/Store/make-in-memory-store.d.ts +104 -44
  63. package/lib/Store/make-in-memory-store.js +213 -199
  64. package/lib/Store/make-ordered-dictionary.d.ts +12 -13
  65. package/lib/Store/make-ordered-dictionary.js +45 -38
  66. package/lib/Store/object-repository.d.ts +10 -11
  67. package/lib/Store/object-repository.js +16 -9
  68. package/lib/Types/Auth.d.ts +97 -93
  69. package/lib/Types/Auth.js +3 -2
  70. package/lib/Types/Bussines.js +3 -2
  71. package/lib/Types/Call.d.ts +13 -14
  72. package/lib/Types/Call.js +3 -2
  73. package/lib/Types/Chat.d.ts +97 -78
  74. package/lib/Types/Chat.js +9 -8
  75. package/lib/Types/Contact.d.ts +9 -12
  76. package/lib/Types/Contact.js +3 -2
  77. package/lib/Types/Events.d.ts +176 -206
  78. package/lib/Types/Events.js +3 -2
  79. package/lib/Types/GroupMetadata.d.ts +48 -53
  80. package/lib/Types/GroupMetadata.js +3 -2
  81. package/lib/Types/Label.d.ts +14 -13
  82. package/lib/Types/Label.js +30 -24
  83. package/lib/Types/LabelAssociation.d.ts +20 -15
  84. package/lib/Types/LabelAssociation.js +12 -6
  85. package/lib/Types/Message.d.ts +412 -248
  86. package/lib/Types/Message.js +19 -17
  87. package/lib/Types/Product.d.ts +71 -58
  88. package/lib/Types/Product.js +3 -2
  89. package/lib/Types/Signal.d.ts +82 -71
  90. package/lib/Types/Signal.js +3 -2
  91. package/lib/Types/Socket.d.ts +81 -76
  92. package/lib/Types/Socket.js +3 -3
  93. package/lib/Types/State.d.ts +19 -75
  94. package/lib/Types/State.js +14 -56
  95. package/lib/Types/USync.d.ts +8 -8
  96. package/lib/Types/USync.js +3 -2
  97. package/lib/Types/index.d.ts +62 -47
  98. package/lib/Types/index.js +50 -26
  99. package/lib/Utils/auth-utils.d.ts +10 -13
  100. package/lib/Utils/auth-utils.js +472 -213
  101. package/lib/Utils/business.d.ts +20 -14
  102. package/lib/Utils/business.js +134 -110
  103. package/lib/Utils/chat-utils.d.ts +70 -88
  104. package/lib/Utils/chat-utils.js +403 -466
  105. package/lib/Utils/crypto.d.ts +46 -27
  106. package/lib/Utils/crypto.js +188 -117
  107. package/lib/Utils/decode-wa-message.d.ts +45 -58
  108. package/lib/Utils/decode-wa-message.js +311 -212
  109. package/lib/Utils/event-buffer.d.ts +17 -14
  110. package/lib/Utils/event-buffer.js +296 -321
  111. package/lib/Utils/generics.d.ts +92 -66
  112. package/lib/Utils/generics.js +436 -270
  113. package/lib/Utils/history.d.ts +23 -24
  114. package/lib/Utils/history.js +76 -106
  115. package/lib/Utils/index.d.ts +21 -24
  116. package/lib/Utils/index.js +41 -24
  117. package/lib/Utils/link-preview.d.ts +14 -12
  118. package/lib/Utils/link-preview.js +75 -40
  119. package/lib/Utils/logger.d.ts +11 -10
  120. package/lib/Utils/logger.js +7 -3
  121. package/lib/Utils/lt-hash.d.ts +14 -8
  122. package/lib/Utils/lt-hash.js +53 -3
  123. package/lib/Utils/make-mutex.d.ts +7 -7
  124. package/lib/Utils/make-mutex.js +44 -28
  125. package/lib/Utils/message-retry-manager.d.ts +88 -115
  126. package/lib/Utils/message-retry-manager.js +160 -265
  127. package/lib/Utils/messages-media.d.ts +107 -105
  128. package/lib/Utils/messages-media.js +619 -548
  129. package/lib/Utils/messages.d.ts +66 -52
  130. package/lib/Utils/messages.js +1558 -1730
  131. package/lib/Utils/noise-handler.d.ts +18 -18
  132. package/lib/Utils/noise-handler.js +130 -176
  133. package/lib/Utils/process-message.d.ts +32 -43
  134. package/lib/Utils/process-message.js +282 -484
  135. package/lib/Utils/rich-message-utils.js +724 -1220
  136. package/lib/Utils/signal.d.ts +32 -37
  137. package/lib/Utils/signal.js +105 -140
  138. package/lib/Utils/use-multi-file-auth-state.d.ts +5 -5
  139. package/lib/Utils/use-multi-file-auth-state.js +120 -70
  140. package/lib/Utils/use-single-file-auth-state.d.ts +13 -11
  141. package/lib/Utils/use-single-file-auth-state.js +66 -92
  142. package/lib/Utils/validate-connection.d.ts +13 -11
  143. package/lib/Utils/validate-connection.js +113 -128
  144. package/lib/WABinary/constants.d.ts +27 -25
  145. package/lib/WABinary/constants.js +1292 -1451
  146. package/lib/WABinary/decode.d.ts +9 -7
  147. package/lib/WABinary/decode.js +189 -163
  148. package/lib/WABinary/encode.d.ts +3 -3
  149. package/lib/WABinary/encode.js +155 -110
  150. package/lib/WABinary/generic-utils.d.ts +27 -14
  151. package/lib/WABinary/generic-utils.js +105 -177
  152. package/lib/WABinary/index.d.ts +5 -6
  153. package/lib/WABinary/index.js +25 -6
  154. package/lib/WABinary/jid-utils.d.ts +54 -41
  155. package/lib/WABinary/jid-utils.js +152 -83
  156. package/lib/WABinary/types.d.ts +13 -10
  157. package/lib/WABinary/types.js +3 -2
  158. package/lib/WAM/BinaryInfo.d.ts +15 -8
  159. package/lib/WAM/BinaryInfo.js +14 -7
  160. package/lib/WAM/constants.d.ts +37 -30
  161. package/lib/WAM/constants.js +11983 -19465
  162. package/lib/WAM/encode.d.ts +3 -3
  163. package/lib/WAM/encode.js +109 -95
  164. package/lib/WAM/index.d.ts +3 -4
  165. package/lib/WAM/index.js +23 -4
  166. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -9
  167. package/lib/WAUSync/Protocols/USyncContactProtocol.js +21 -37
  168. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -19
  169. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +26 -18
  170. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -11
  171. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +20 -12
  172. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -11
  173. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +24 -16
  174. package/lib/WAUSync/Protocols/index.d.ts +6 -6
  175. package/lib/WAUSync/Protocols/index.js +26 -6
  176. package/lib/WAUSync/USyncQuery.d.ts +28 -27
  177. package/lib/WAUSync/USyncQuery.js +62 -68
  178. package/lib/WAUSync/USyncUser.d.ts +10 -15
  179. package/lib/WAUSync/USyncUser.js +19 -20
  180. package/lib/WAUSync/index.d.ts +3 -4
  181. package/lib/WAUSync/index.js +23 -4
  182. package/lib/index.d.ts +12 -11
  183. package/lib/index.js +39 -12
  184. package/package.json +42 -86
  185. package/engine-requirements.js +0 -10
@@ -1,4 +1,4 @@
1
- export * from "./make-in-memory-store.js";
2
- export * from "./make-ordered-dictionary.js";
3
- export * from "./object-repository.js";
4
- //# sourceMappingURL=index.d.ts.map
1
+ export * from './make-cache-manager-store'
2
+ export * from './make-in-memory-store'
3
+ export * from './make-ordered-dictionary'
4
+ export * from './object-repository'
@@ -1,4 +1,24 @@
1
- export * from './make-in-memory-store.js';
2
- export * from './make-ordered-dictionary.js';
3
- export * from './object-repository.js';
4
- //# sourceMappingURL=index.js.map
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
+ __exportStar(require("./make-cache-manager-store"), exports)
22
+ __exportStar(require("./make-in-memory-store"), exports)
23
+ __exportStar(require("./make-ordered-dictionary"), exports)
24
+ __exportStar(require("./object-repository"), exports)
@@ -1,63 +1,123 @@
1
- export function waChatKey(pin: any): {
2
- key: (c: any) => string;
3
- compare: (k1: any, k2: any) => any;
4
- };
5
- export function waMessageID(m: any): any;
6
- export namespace waLabelAssociationKey {
7
- function key(la: any): any;
8
- function compare(k1: any, k2: any): any;
1
+ import type KeyedDB from '@adiwajshing/keyed-db'
2
+ import type { Comparable } from '@adiwajshing/keyed-db/lib/Types'
3
+ import type { Logger } from 'pino'
4
+ import { proto } from '../../WAProto'
5
+ import type makeMDSocket from '../Socket'
6
+ import type { BaileysEventEmitter, Chat, ConnectionState, Contact, GroupMetadata, PresenceData, WAMessage, WAMessageCursor, WAMessageKey } from '../Types'
7
+ import { Label } from '../Types/Label'
8
+ import { LabelAssociation } from '../Types/LabelAssociation'
9
+ import { ObjectRepository } from './object-repository'
10
+
11
+ type WASocket = ReturnType<typeof makeMDSocket>
12
+
13
+ export declare const waChatKey: (pin: boolean) => {
14
+ key: (c: Chat) => string
15
+ compare: (k1: string, k2: string) => number
9
16
  }
10
- export function makeInMemoryStore(config?: {}): {
11
- chats: any;
12
- contacts: {};
13
- messages: {};
14
- groupMetadata: {};
15
- state: {
16
- connection: string;
17
- };
18
- presences: {};
19
- labels: ObjectRepository;
20
- labelAssociations: any;
21
- bind: (ev: any) => void;
17
+
18
+ export declare const waMessageID: (m: WAMessage) => string
19
+
20
+ export declare const waLabelAssociationKey: Comparable<LabelAssociation, string>
21
+
22
+ export type BaileysInMemoryStoreConfig = {
23
+ chatKey?: Comparable<Chat, string>
24
+ labelAssociationKey?: Comparable<LabelAssociation, string>
25
+ logger?: Logger
26
+ socket?: WASocket
27
+ }
28
+
29
+ export declare const makeInMemoryStore: (config: BaileysInMemoryStoreConfig) => {
30
+ chats: KeyedDB<Chat, string>
31
+ contacts: {
32
+ [_: string]: Contact
33
+ }
34
+ messages: {
35
+ [_: string]: {
36
+ array: proto.IWebMessageInfo[]
37
+ get: (id: string) => proto.IWebMessageInfo | undefined
38
+ upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void
39
+ update: (item: proto.IWebMessageInfo) => boolean
40
+ remove: (item: proto.IWebMessageInfo) => boolean
41
+ updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean
42
+ clear: () => void
43
+ filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void
44
+ toJSON: () => proto.IWebMessageInfo[]
45
+ fromJSON: (newItems: proto.IWebMessageInfo[]) => void
46
+ }
47
+ }
48
+ groupMetadata: {
49
+ [_: string]: GroupMetadata
50
+ }
51
+ state: ConnectionState
52
+ presences: {
53
+ [id: string]: {
54
+ [participant: string]: PresenceData
55
+ }
56
+ }
57
+ labels: ObjectRepository<Label>
58
+ labelAssociations: KeyedDB<LabelAssociation, string>
59
+ bind: (ev: BaileysEventEmitter) => void
22
60
  /** loads messages from the store, if not found -- uses the legacy connection */
23
- loadMessages: (jid: any, count: any, cursor: any) => Promise<any>;
61
+ loadMessages: (jid: string, count: number, cursor: WAMessageCursor) => Promise<proto.IWebMessageInfo[]>
24
62
  /**
25
63
  * Get all available labels for profile
26
64
  *
27
65
  * Keep in mind that the list is formed from predefined tags and tags
28
66
  * that were "caught" during their editing.
29
67
  */
30
- getLabels: () => ObjectRepository;
68
+ getLabels: () => ObjectRepository<Label>
31
69
  /**
32
70
  * Get labels for chat
33
71
  *
34
72
  * @returns Label IDs
35
73
  **/
36
- getChatLabels: (chatId: any) => any;
74
+ getChatLabels: (chatId: string) => LabelAssociation[]
37
75
  /**
38
76
  * Get labels for message
39
77
  *
40
78
  * @returns Label IDs
41
79
  **/
42
- getMessageLabels: (messageId: any) => any;
43
- loadMessage: (jid: any, id: any) => Promise<any>;
44
- mostRecentMessage: (jid: any) => Promise<any>;
45
- fetchImageUrl: (jid: any, sock: any) => Promise<any>;
46
- fetchGroupMetadata: (jid: any, sock: any) => Promise<any>;
47
- fetchMessageReceipts: ({ remoteJid, id }: {
48
- remoteJid: any;
49
- id: any;
50
- }) => Promise<any>;
80
+ getMessageLabels: (messageId: string) => string[]
81
+ loadMessage: (jid: string, id: string) => Promise<proto.IWebMessageInfo | undefined>
82
+ mostRecentMessage: (jid: string) => Promise<proto.IWebMessageInfo>
83
+ fetchImageUrl: (jid: string, sock: WASocket | undefined) => Promise<string | null | undefined>
84
+ fetchGroupMetadata: (jid: string, sock: WASocket | undefined) => Promise<GroupMetadata>
85
+ fetchMessageReceipts: ({ remoteJid, id }: WAMessageKey) => Promise<proto.IUserReceipt[] | null | undefined>
51
86
  toJSON: () => {
52
- chats: any;
53
- contacts: {};
54
- messages: {};
55
- labels: ObjectRepository;
56
- labelAssociations: any;
57
- };
58
- fromJSON: (json: any) => void;
59
- writeToFile: (path: any) => void;
60
- readFromFile: (path: any) => void;
61
- };
62
- import { ObjectRepository } from './object-repository.js';
63
- //# sourceMappingURL=make-in-memory-store.d.ts.map
87
+ chats: KeyedDB<Chat, string>
88
+ contacts: {
89
+ [_: string]: Contact
90
+ }
91
+ messages: {
92
+ [_: string]: {
93
+ array: proto.IWebMessageInfo[]
94
+ get: (id: string) => proto.IWebMessageInfo | undefined
95
+ upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void
96
+ update: (item: proto.IWebMessageInfo) => boolean
97
+ remove: (item: proto.IWebMessageInfo) => boolean
98
+ updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean
99
+ clear: () => void
100
+ filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void
101
+ toJSON: () => proto.IWebMessageInfo[]
102
+ fromJSON: (newItems: proto.IWebMessageInfo[]) => void
103
+ }
104
+ }
105
+ labels: ObjectRepository<Label>
106
+ labelAssociations: KeyedDB<LabelAssociation, string>
107
+ }
108
+ fromJSON: (json: {
109
+ chats: Chat[]
110
+ contacts: {
111
+ [id: string]: Contact
112
+ }
113
+ messages: {
114
+ [id: string]: proto.IWebMessageInfo[]
115
+ }
116
+ labels: {
117
+ [labelId: string]: Label
118
+ }
119
+ labelAssociations: LabelAssociation[]
120
+ }) => void
121
+ writeToFile: (path: string) => void
122
+ readFromFile: (path: string) => void
123
+ }