@hansaka02/baileys 7.3.2 → 7.3.4

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 (202) hide show
  1. package/README.md +247 -203
  2. package/lib/Defaults/connection.js +51 -0
  3. package/lib/Defaults/constants.js +62 -0
  4. package/lib/Defaults/history.js +17 -0
  5. package/lib/Defaults/index.js +36 -142
  6. package/lib/Defaults/media.js +48 -0
  7. package/lib/Defaults/prefix.js +18 -0
  8. package/lib/Signal/Group/group-session-builder.js +10 -42
  9. package/lib/Signal/Group/group_cipher.js +9 -6
  10. package/lib/Signal/Group/index.js +39 -53
  11. package/lib/Signal/Group/keyhelper.js +8 -41
  12. package/lib/Signal/Group/sender-chain-key.js +4 -4
  13. package/lib/Signal/Group/sender-key-distribution-message.js +5 -5
  14. package/lib/Signal/Group/sender-key-message.js +12 -8
  15. package/lib/Signal/Group/sender-key-record.js +7 -7
  16. package/lib/Signal/Group/sender-key-state.js +4 -4
  17. package/lib/Signal/Group/sender-message-key.js +2 -2
  18. package/lib/Signal/libsignal.js +45 -69
  19. package/lib/Signal/lid-mapping.js +15 -11
  20. package/lib/Socket/Client/types.js +2 -2
  21. package/lib/Socket/Client/websocket.js +16 -14
  22. package/lib/Socket/business.js +41 -32
  23. package/lib/Socket/chats.js +123 -98
  24. package/lib/Socket/community.js +50 -40
  25. package/lib/Socket/groups.js +59 -47
  26. package/lib/Socket/index.js +4 -4
  27. package/lib/Socket/messages-recv.js +219 -172
  28. package/lib/Socket/messages-send.js +187 -143
  29. package/lib/Socket/newsletter.js +61 -47
  30. package/lib/Socket/socket.js +133 -90
  31. package/lib/Socket/usync.js +6 -6
  32. package/lib/Store/index.js +27 -11
  33. package/lib/Store/make-cache-manager-store.js +14 -15
  34. package/lib/Store/make-in-memory-store.js +28 -24
  35. package/lib/Types/LabelAssociation.js +2 -2
  36. package/lib/Types/Message.js +6 -6
  37. package/lib/Types/MexUpdates.js +5 -5
  38. package/lib/Types/State.js +4 -4
  39. package/lib/Types/index.js +28 -12
  40. package/lib/Utils/auth-utils.js +28 -26
  41. package/lib/Utils/baileys-event-stream.js +68 -69
  42. package/lib/Utils/business.js +63 -53
  43. package/lib/Utils/chat-utils.js +81 -71
  44. package/lib/Utils/crypto.js +25 -45
  45. package/lib/Utils/decode-wa-message.js +319 -311
  46. package/lib/Utils/event-buffer.js +21 -22
  47. package/lib/Utils/generics.js +65 -82
  48. package/lib/Utils/history.js +21 -21
  49. package/lib/Utils/index.js +27 -13
  50. package/lib/Utils/link-preview.js +7 -30
  51. package/lib/Utils/logger.js +5 -5
  52. package/lib/Utils/lt-hash.js +3 -3
  53. package/lib/Utils/message-retry-manager.js +4 -4
  54. package/lib/Utils/messages-media.js +104 -109
  55. package/lib/Utils/messages.js +203 -171
  56. package/lib/Utils/noise-handler.js +28 -19
  57. package/lib/Utils/process-message.js +111 -96
  58. package/lib/Utils/signal.js +36 -25
  59. package/lib/Utils/use-multi-file-auth-state.js +18 -22
  60. package/lib/Utils/validate-connection.js +52 -45
  61. package/lib/WABinary/decode.js +6 -32
  62. package/lib/WABinary/encode.js +3 -29
  63. package/lib/WABinary/generic-utils.js +4 -4
  64. package/lib/WABinary/index.js +27 -11
  65. package/lib/WAM/encode.js +16 -8
  66. package/lib/WAM/index.js +27 -11
  67. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +20 -16
  68. package/lib/WAUSync/Protocols/USyncContactProtocol.js +2 -2
  69. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +7 -4
  70. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +2 -2
  71. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +0 -2
  72. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +2 -2
  73. package/lib/WAUSync/Protocols/index.js +27 -11
  74. package/lib/WAUSync/USyncQuery.js +17 -10
  75. package/lib/WAUSync/index.js +27 -11
  76. package/lib/index.js +60 -31
  77. package/package.json +8 -14
  78. package/WAProto/AICommon/AICommon.d.ts +0 -11702
  79. package/WAProto/Adv/Adv.d.ts +0 -643
  80. package/WAProto/BotMetadata/BotMetadata.d.ts +0 -5654
  81. package/WAProto/Cert/Cert.d.ts +0 -613
  82. package/WAProto/ChatLockSettings/ChatLockSettings.d.ts +0 -476
  83. package/WAProto/CompanionReg/CompanionReg.d.ts +0 -1361
  84. package/WAProto/DeviceCapabilities/DeviceCapabilities.d.ts +0 -577
  85. package/WAProto/E2E/E2E.d.ts +0 -41724
  86. package/WAProto/Ephemeral/Ephemeral.d.ts +0 -114
  87. package/WAProto/HistorySync/HistorySync.d.ts +0 -51700
  88. package/WAProto/LidMigrationSyncPayload/LidMigrationSyncPayload.d.ts +0 -229
  89. package/WAProto/MdStorageChatRowOpaqueData/MdStorageChatRowOpaqueData.d.ts +0 -583
  90. package/WAProto/MdStorageMsgRowOpaqueData/MdStorageMsgRowOpaqueData.d.ts +0 -42897
  91. package/WAProto/MmsRetry/MmsRetry.d.ts +0 -243
  92. package/WAProto/Protocol/Protocol.d.ts +0 -270
  93. package/WAProto/Reporting/Reporting.d.ts +0 -371
  94. package/WAProto/ServerSync/ServerSync.d.ts +0 -1285
  95. package/WAProto/SignalLocalStorageProtocol/SignalLocalStorageProtocol.d.ts +0 -1868
  96. package/WAProto/SignalWhisperTextProtocol/SignalWhisperTextProtocol.d.ts +0 -767
  97. package/WAProto/StatusAttributions/StatusAttributions.d.ts +0 -1027
  98. package/WAProto/SyncAction/SyncAction.d.ts +0 -11193
  99. package/WAProto/UserPassword/UserPassword.d.ts +0 -363
  100. package/WAProto/VnameCert/VnameCert.d.ts +0 -821
  101. package/WAProto/Wa6/Wa6.d.ts +0 -2128
  102. package/WAProto/Web/Web.d.ts +0 -46383
  103. package/WAProto/index.d.ts +0 -55
  104. package/lib/Defaults/index.d.ts +0 -77
  105. package/lib/Signal/Group/ciphertext-message.d.ts +0 -9
  106. package/lib/Signal/Group/group-session-builder.d.ts +0 -17
  107. package/lib/Signal/Group/group_cipher.d.ts +0 -19
  108. package/lib/Signal/Group/index.d.ts +0 -11
  109. package/lib/Signal/Group/keyhelper.d.ts +0 -16
  110. package/lib/Signal/Group/sender-chain-key.d.ts +0 -14
  111. package/lib/Signal/Group/sender-key-distribution-message.d.ts +0 -17
  112. package/lib/Signal/Group/sender-key-message.d.ts +0 -19
  113. package/lib/Signal/Group/sender-key-name.d.ts +0 -19
  114. package/lib/Signal/Group/sender-key-record.d.ts +0 -32
  115. package/lib/Signal/Group/sender-key-state.d.ts +0 -44
  116. package/lib/Signal/Group/sender-message-key.d.ts +0 -11
  117. package/lib/Signal/libsignal.d.ts +0 -8
  118. package/lib/Signal/lid-mapping.d.ts +0 -28
  119. package/lib/Socket/Client/index.d.ts +0 -2
  120. package/lib/Socket/Client/types.d.ts +0 -16
  121. package/lib/Socket/Client/websocket.d.ts +0 -13
  122. package/lib/Socket/business.d.ts +0 -187
  123. package/lib/Socket/chats.d.ts +0 -97
  124. package/lib/Socket/community.d.ts +0 -129
  125. package/lib/Socket/groups.d.ts +0 -129
  126. package/lib/Socket/index.d.ts +0 -191
  127. package/lib/Socket/messages-recv.d.ts +0 -174
  128. package/lib/Socket/messages-send.d.ts +0 -165
  129. package/lib/Socket/newsletter.d.ts +0 -145
  130. package/lib/Socket/socket.d.ts +0 -45
  131. package/lib/Socket/usync.d.ts +0 -37
  132. package/lib/Store/index.d.ts +0 -4
  133. package/lib/Store/make-cache-manager-store.d.ts +0 -14
  134. package/lib/Store/make-in-memory-store.d.ts +0 -123
  135. package/lib/Store/make-ordered-dictionary.d.ts +0 -12
  136. package/lib/Store/object-repository.d.ts +0 -10
  137. package/lib/Types/Auth.d.ts +0 -121
  138. package/lib/Types/Bussiness.d.ts +0 -28
  139. package/lib/Types/Call.d.ts +0 -14
  140. package/lib/Types/Chat.d.ts +0 -143
  141. package/lib/Types/Contact.d.ts +0 -23
  142. package/lib/Types/Events.d.ts +0 -226
  143. package/lib/Types/GroupMetadata.d.ts +0 -66
  144. package/lib/Types/Label.d.ts +0 -48
  145. package/lib/Types/LabelAssociation.d.ts +0 -35
  146. package/lib/Types/Message.d.ts +0 -484
  147. package/lib/Types/MexUpdates.d.ts +0 -9
  148. package/lib/Types/Newsletter.d.ts +0 -109
  149. package/lib/Types/Product.d.ts +0 -92
  150. package/lib/Types/Signal.d.ts +0 -98
  151. package/lib/Types/Socket.d.ts +0 -141
  152. package/lib/Types/State.d.ts +0 -41
  153. package/lib/Types/USync.d.ts +0 -26
  154. package/lib/Types/index.d.ts +0 -80
  155. package/lib/Utils/auth-utils.d.ts +0 -21
  156. package/lib/Utils/baileys-event-stream.d.ts +0 -18
  157. package/lib/Utils/business.d.ts +0 -29
  158. package/lib/Utils/chat-utils.d.ts +0 -82
  159. package/lib/Utils/crypto.d.ts +0 -56
  160. package/lib/Utils/decode-wa-message.d.ts +0 -53
  161. package/lib/Utils/event-buffer.d.ts +0 -39
  162. package/lib/Utils/generics.d.ts +0 -117
  163. package/lib/Utils/history.d.ts +0 -23
  164. package/lib/Utils/index.d.ts +0 -20
  165. package/lib/Utils/link-preview.d.ts +0 -23
  166. package/lib/Utils/logger.d.ts +0 -13
  167. package/lib/Utils/lt-hash.d.ts +0 -14
  168. package/lib/Utils/make-mutex.d.ts +0 -9
  169. package/lib/Utils/message-retry-manager.d.ts +0 -88
  170. package/lib/Utils/messages-media.d.ts +0 -135
  171. package/lib/Utils/messages.d.ts +0 -105
  172. package/lib/Utils/noise-handler.d.ts +0 -20
  173. package/lib/Utils/process-message.d.ts +0 -49
  174. package/lib/Utils/signal.d.ts +0 -42
  175. package/lib/Utils/use-mongo-file-auth-state.d.ts +0 -6
  176. package/lib/Utils/use-mongo-file-auth-state.js +0 -84
  177. package/lib/Utils/use-multi-file-auth-state.d.ts +0 -13
  178. package/lib/Utils/use-single-file-auth-state.d.ts +0 -13
  179. package/lib/Utils/use-single-file-auth-state.js +0 -80
  180. package/lib/Utils/validate-connection.d.ts +0 -13
  181. package/lib/WABinary/constants.d.ts +0 -30
  182. package/lib/WABinary/decode.d.ts +0 -9
  183. package/lib/WABinary/encode.d.ts +0 -3
  184. package/lib/WABinary/generic-utils.d.ts +0 -28
  185. package/lib/WABinary/index.d.ts +0 -5
  186. package/lib/WABinary/jid-utils.d.ts +0 -58
  187. package/lib/WABinary/types.d.ts +0 -22
  188. package/lib/WAM/BinaryInfo.d.ts +0 -16
  189. package/lib/WAM/constants.d.ts +0 -47
  190. package/lib/WAM/encode.d.ts +0 -3
  191. package/lib/WAM/index.d.ts +0 -3
  192. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +0 -28
  193. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +0 -10
  194. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +0 -26
  195. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +0 -14
  196. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +0 -10
  197. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +0 -14
  198. package/lib/WAUSync/Protocols/index.d.ts +0 -6
  199. package/lib/WAUSync/USyncQuery.d.ts +0 -31
  200. package/lib/WAUSync/USyncUser.d.ts +0 -12
  201. package/lib/WAUSync/index.d.ts +0 -3
  202. package/lib/index.d.ts +0 -13
@@ -1,123 +0,0 @@
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
16
- }
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
60
- /** loads messages from the store, if not found -- uses the legacy connection */
61
- loadMessages: (jid: string, count: number, cursor: WAMessageCursor) => Promise<proto.IWebMessageInfo[]>
62
- /**
63
- * Get all available labels for profile
64
- *
65
- * Keep in mind that the list is formed from predefined tags and tags
66
- * that were "caught" during their editing.
67
- */
68
- getLabels: () => ObjectRepository<Label>
69
- /**
70
- * Get labels for chat
71
- *
72
- * @returns Label IDs
73
- **/
74
- getChatLabels: (chatId: string) => LabelAssociation[]
75
- /**
76
- * Get labels for message
77
- *
78
- * @returns Label IDs
79
- **/
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, suki: WASocket | undefined) => Promise<string | null | undefined>
84
- fetchGroupMetadata: (jid: string, suki: WASocket | undefined) => Promise<GroupMetadata>
85
- fetchMessageReceipts: ({ remoteJid, id }: WAMessageKey) => Promise<proto.IUserReceipt[] | null | undefined>
86
- toJSON: () => {
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
- }
@@ -1,12 +0,0 @@
1
- export declare function makeOrderedDictionary<T>(idGetter: (item: T) => string): {
2
- array: T[]
3
- get: (id: string) => T | undefined
4
- upsert: (item: T, mode: 'append' | 'prepend') => void
5
- update: (item: T) => boolean
6
- remove: (item: T) => boolean
7
- updateAssign: (id: string, update: Partial<T>) => boolean
8
- clear: () => void
9
- filter: (contain: (item: T) => boolean) => void
10
- toJSON: () => T[]
11
- fromJSON: (newItems: T[]) => void
12
- }
@@ -1,10 +0,0 @@
1
- export declare class ObjectRepository<T extends object> {
2
- readonly entityMap: Map<string, T>
3
- constructor(entities?: Record<string, T>)
4
- findById(id: string): T | undefined
5
- findAll(): T[]
6
- upsertById(id: string, entity: T): Map<string, T>
7
- deleteById(id: string): boolean
8
- count(): number
9
- toJSON(): T[]
10
- }
@@ -1,121 +0,0 @@
1
- import type { proto } from '../../WAProto'
2
- import type { Contact } from './Contact'
3
- import type { MinimalMessage } from './Message'
4
-
5
- export type KeyPair = {
6
- public: Uint8Array
7
- private: Uint8Array
8
- }
9
-
10
- export type SignedKeyPair = {
11
- keyPair: KeyPair
12
- signature: Uint8Array
13
- keyId: number
14
- timestampS?: number
15
- }
16
-
17
- export type ProtocolAddress = {
18
- name: string
19
- deviceId: number
20
- }
21
-
22
- export type SignalIdentity = {
23
- identifier: ProtocolAddress
24
- identifierKey: Uint8Array
25
- }
26
-
27
- export type LTHashState = {
28
- version: number
29
- hash: Buffer
30
- indexValueMap: {
31
- [indexMacBase64: string]: {
32
- valueMac: Uint8Array | Buffer
33
- }
34
- }
35
- }
36
-
37
- export type SignalCreds = {
38
- readonly signedIdentityKey: KeyPair
39
- readonly signedPreKey: SignedKeyPair
40
- readonly registrationId: number
41
- }
42
-
43
- export type AccountSettings = {
44
- /** unarchive chats when a new message is received */
45
- unarchiveChats: boolean
46
- /** the default mode to start new conversations with */
47
- defaultDisappearingMode?: Pick<proto.IConversation, 'ephemeralExpiration' | 'ephemeralSettingTimestamp'>
48
- }
49
-
50
- export type AuthenticationCreds = SignalCreds & {
51
- readonly noiseKey: KeyPair
52
- readonly pairingEphemeralKeyPair: KeyPair
53
- advSecretKey: string
54
- me?: Contact
55
- account?: proto.IADVSignedDeviceIdentity
56
- signalIdentities?: SignalIdentity[]
57
- myAppStateKeyId?: string
58
- firstUnuploadedPreKeyId: number
59
- nextPreKeyId: number
60
- lastAccountSyncTimestamp?: number
61
- platform?: string
62
- processedHistoryMessages: MinimalMessage[]
63
- /** number of times history & app state has been synced */
64
- accountSyncCounter: number
65
- accountSettings: AccountSettings
66
- registered: boolean
67
- pairingCode: string | undefined
68
- lastPropHash: string | undefined
69
- routingInfo: Buffer | undefined
70
- }
71
-
72
- export type SignalDataTypeMap = {
73
- 'pre-key': KeyPair
74
- 'session': Uint8Array
75
- 'sender-key': Uint8Array
76
- 'sender-key-memory': {
77
- [jid: string]: boolean
78
- }
79
- 'app-state-sync-key': proto.Message.IAppStateSyncKeyData
80
- 'app-state-sync-version': LTHashState
81
- 'lid-mapping': string
82
- }
83
-
84
- export type SignalDataSet = {
85
- [T in keyof SignalDataTypeMap]?: {
86
- [id: string]: SignalDataTypeMap[T] | null
87
- }
88
- }
89
-
90
- type Awaitable<T> = T | Promise<T>
91
-
92
- export type SignalKeyStore = {
93
- get<T extends keyof SignalDataTypeMap>(type: T, ids: string[]): Awaitable<{
94
- [id: string]: SignalDataTypeMap[T]
95
- }>
96
- set(data: SignalDataSet): Awaitable<void>
97
- /** clear all the data in the store */
98
- clear?(): Awaitable<void>
99
- }
100
-
101
- export type SignalKeyStoreWithTransaction = SignalKeyStore & {
102
- isInTransaction: () => boolean
103
- transaction<T>(exec: () => Promise<T>, key: string): Promise<T>
104
- }
105
-
106
- export type TransactionCapabilityOptions = {
107
- maxCommitRetries: number
108
- delayBetweenTriesMs: number
109
- }
110
-
111
- export type SignalAuthState = {
112
- creds: SignalCreds
113
- keys: SignalKeyStore | SignalKeyStoreWithTransaction
114
- }
115
-
116
- export type AuthenticationState = {
117
- creds: AuthenticationCreds
118
- keys: SignalKeyStore
119
- }
120
-
121
- export {}
@@ -1,28 +0,0 @@
1
- import type { proto } from '../../WAProto'
2
-
3
- export type DayOfWeekBussines = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
4
-
5
- export type HoursDay = {
6
- day: DayOfWeekBussines
7
- mode: 'specific_hours'
8
- openTimeInMinutes: string
9
- closeTimeInMinutes: string
10
- } | {
11
- day: DayOfWeekBussines;
12
- mode: 'open_24h' | 'appointment_only'
13
- }
14
-
15
- export type UpdateBussinesProfileProps = {
16
- address?: string;
17
- websites?: string[]
18
- email?: string;
19
- description?: string
20
- hours?: {
21
- timezone: string
22
- days: HoursDay[]
23
- }
24
- }
25
-
26
- export type QuickReplyAction = proto.SyncActionValue.IQuickReplyAction & {
27
- timestamp?: string
28
- }
@@ -1,14 +0,0 @@
1
- export type WACallUpdateType = 'offer' | 'ringing' | 'timeout' | 'reject' | 'accept' | 'terminate'
2
-
3
- export type WACallEvent = {
4
- chatId: string
5
- from: string
6
- isGroup?: boolean
7
- groupJid?: string
8
- id: string
9
- date: Date
10
- isVideo?: boolean
11
- status: WACallUpdateType
12
- offline: boolean
13
- latencyMs?: number
14
- }
@@ -1,143 +0,0 @@
1
- import type { proto } from '../../WAProto'
2
- import type { AccountSettings } from './Auth'
3
- import type { QuickReplyAction } from './Bussines'
4
- import type { ContactAction } from './Contact'
5
- import type { BufferedEventData } from './Events'
6
- import type { LabelActionBody } from './Label'
7
- import type { ChatLabelAssociationActionBody } from './LabelAssociation'
8
- import type { MessageLabelAssociationActionBody } from './LabelAssociation'
9
- import type { MinimalMessage, WAMessageKey } from './Message'
10
-
11
- /** privacy settings in WhatsApp Web */
12
- export type WAPrivacyValue = 'all' | 'contacts' | 'contact_blacklist' | 'none'
13
-
14
- export type WAPrivacyOnlineValue = 'all' | 'match_last_seen'
15
-
16
- export type WAPrivacyGroupAddValue = 'all' | 'contacts' | 'contact_blacklist'
17
-
18
- export type WAReadReceiptsValue = 'all' | 'none'
19
-
20
- export type WAPrivacyCallValue = 'all' | 'known'
21
-
22
- export type WAPrivacyMessagesValue = 'all' | 'contacts'
23
-
24
- /** set of statuses visible to other people see updatePresence() in WhatsAppWeb.Send */
25
- export type WAPresence = 'unavailable' | 'available' | 'composing' | 'recording' | 'paused'
26
-
27
- export declare const ALL_WA_PATCH_NAMES: readonly ["critical_block", "critical_unblock_low", "regular_high", "regular_low", "regular"]
28
-
29
- export type WAPatchName = typeof ALL_WA_PATCH_NAMES[number]
30
-
31
- export type BotListInfo = {
32
- jid: string
33
- personaId: string
34
- }
35
-
36
- export interface PresenceData {
37
- lastKnownPresence: WAPresence
38
- lastSeen?: number
39
- }
40
-
41
- export type ChatMutation = {
42
- syncAction: proto.ISyncActionData
43
- index: string[]
44
- }
45
-
46
- export type WAPatchCreate = {
47
- syncAction: proto.ISyncActionValue
48
- index: string[]
49
- type: WAPatchName
50
- apiVersion: number
51
- operation: proto.SyncdMutation.SyncdOperation
52
- }
53
-
54
- export type Chat = proto.IConversation & {
55
- /** unix timestamp of when the last message was received in the chat */
56
- lastMessageRecvTimestamp?: number
57
- }
58
-
59
- export type ChatUpdate = Partial<Chat & {
60
- /**
61
- * if specified in the update,
62
- * the EV buffer will check if the condition gets fulfilled before applying the update
63
- * Right now, used to determine when to release an app state sync event
64
- *
65
- * @returns true, if the update should be applied
66
- * false if it can be discarded
67
- * undefined if the condition is not yet fulfilled
68
- * */
69
- conditional: (bufferedData: BufferedEventData) => boolean | undefined
70
- /** last update time */
71
- timestamp?: number
72
- }>
73
-
74
- /**
75
- * the last messages in a chat, sorted reverse-chronologically. That is, the latest message should be first in the chat
76
- * for MD modifications, the last message in the array (i.e. the earlist message) must be the last message recv in the chat
77
- * */
78
- export type LastMessageList = MinimalMessage[] | proto.SyncActionValue.ISyncActionMessageRange
79
-
80
- export type ChatModification = {
81
- archive: boolean
82
- lastMessages: LastMessageList
83
- } | {
84
- contact: ContactAction | null
85
- } | {
86
- pushNameSetting: string
87
- } | {
88
- pin: boolean
89
- } | {
90
- /** mute for duration, or provide timestamp of mute to remove*/
91
- mute: number | null
92
- } | {
93
- clear: boolean
94
- } | {
95
- deleteForMe: {
96
- deleteMedia: boolean
97
- key: WAMessageKey
98
- timestamp: number
99
- }
100
- } | {
101
- star: {
102
- messages: {
103
- id: string
104
- fromMe?: boolean
105
- }[]
106
- star: boolean
107
- }
108
- } | {
109
- markRead: boolean
110
- lastMessages: LastMessageList
111
- } | {
112
- delete: true
113
- lastMessages: LastMessageList
114
- } | {
115
- contact: proto.SyncActionValue.IContactAction | null
116
- } | {
117
- disableLinkPreviews: proto.SyncActionValue.IPrivacySettingDisableLinkPreviewsAction
118
- } | {
119
- addLabel: LabelActionBody
120
- } | {
121
- addChatLabel: ChatLabelAssociationActionBody
122
- } | {
123
- removeChatLabel: ChatLabelAssociationActionBody
124
- } | {
125
- addMessageLabel: MessageLabelAssociationActionBody
126
- } | {
127
- removeMessageLabel: MessageLabelAssociationActionBody
128
- } | {
129
- quickReply: QuickReplyAction
130
- }
131
-
132
- export type InitialReceivedChatsState = {
133
- [jid: string]: {
134
- /** the last message received from the other party */
135
- lastMsgRecvTimestamp?: number
136
- /** the absolute last message in the chat */
137
- lastMsgTimestamp: number
138
- }
139
- }
140
-
141
- export type InitialAppStateSyncOptions = {
142
- accountSettings: AccountSettings
143
- }
@@ -1,23 +0,0 @@
1
- export interface Contact {
2
- /** ID either in lid or jid format (preferred) **/
3
- id: string
4
- /** ID in LID format (@lid) **/
5
- lid?: string
6
- /** ID in PN format (@s.whatsapp.net) **/
7
- phoneNumber?: string
8
- /** name of the contact, you have saved on your WA */
9
- name?: string
10
- /** name of the contact, the contact has set on their own on WA */
11
- notify?: string
12
- /** I have no idea */
13
- verifiedName?: string
14
- /**
15
- * Url of the profile picture of the contact
16
- *
17
- * 'changed' => if the profile picture has changed
18
- * null => if the profile picture has not been set (default profile picture)
19
- * any other string => url of the profile picture
20
- */
21
- imgUrl?: string | null
22
- status?: string
23
- }