@queenanya/baileys 6.7.0 → 6.8.1

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 (129) hide show
  1. package/WASignalGroup/readme.md +6 -0
  2. package/lib/Defaults/baileys-version.json +3 -3
  3. package/lib/Defaults/index.d.ts +284 -284
  4. package/lib/Defaults/index.js +120 -120
  5. package/lib/Defaults/phonenumber-mcc.json +223 -223
  6. package/lib/Signal/libsignal.d.ts +3 -3
  7. package/lib/Signal/libsignal.js +152 -152
  8. package/lib/Socket/Client/abstract-socket-client.d.ts +17 -17
  9. package/lib/Socket/Client/abstract-socket-client.js +13 -13
  10. package/lib/Socket/Client/index.d.ts +3 -3
  11. package/lib/Socket/Client/index.js +19 -19
  12. package/lib/Socket/Client/mobile-socket-client.d.ts +13 -13
  13. package/lib/Socket/Client/mobile-socket-client.js +65 -65
  14. package/lib/Socket/Client/web-socket-client.d.ts +12 -12
  15. package/lib/Socket/Client/web-socket-client.js +62 -62
  16. package/lib/Socket/business.d.ts +135 -135
  17. package/lib/Socket/business.js +259 -259
  18. package/lib/Socket/chats.d.ts +79 -79
  19. package/lib/Socket/chats.js +854 -854
  20. package/lib/Socket/groups.d.ts +113 -113
  21. package/lib/Socket/groups.js +302 -302
  22. package/lib/Socket/index.d.ts +137 -137
  23. package/lib/Socket/index.js +10 -10
  24. package/lib/Socket/messages-recv.d.ts +124 -124
  25. package/lib/Socket/messages-recv.js +747 -747
  26. package/lib/Socket/messages-send.d.ts +119 -119
  27. package/lib/Socket/messages-send.js +663 -663
  28. package/lib/Socket/registration.d.ts +232 -232
  29. package/lib/Socket/registration.js +166 -166
  30. package/lib/Socket/socket.d.ts +42 -42
  31. package/lib/Socket/socket.js +588 -588
  32. package/lib/Store/index.d.ts +3 -3
  33. package/lib/Store/index.js +10 -10
  34. package/lib/Store/make-cache-manager-store.d.ts +13 -13
  35. package/lib/Store/make-cache-manager-store.js +83 -83
  36. package/lib/Store/make-in-memory-store.d.ts +117 -117
  37. package/lib/Store/make-in-memory-store.js +437 -437
  38. package/lib/Store/make-ordered-dictionary.d.ts +13 -13
  39. package/lib/Store/make-ordered-dictionary.js +81 -81
  40. package/lib/Store/object-repository.d.ts +10 -10
  41. package/lib/Store/object-repository.js +27 -27
  42. package/lib/Types/Auth.d.ts +108 -108
  43. package/lib/Types/Auth.js +2 -2
  44. package/lib/Types/Call.d.ts +13 -13
  45. package/lib/Types/Call.js +2 -2
  46. package/lib/Types/Chat.d.ts +102 -102
  47. package/lib/Types/Chat.js +4 -4
  48. package/lib/Types/Contact.d.ts +19 -19
  49. package/lib/Types/Contact.js +2 -2
  50. package/lib/Types/Events.d.ts +157 -157
  51. package/lib/Types/Events.js +2 -2
  52. package/lib/Types/GroupMetadata.d.ts +52 -52
  53. package/lib/Types/GroupMetadata.js +2 -2
  54. package/lib/Types/Label.d.ts +35 -35
  55. package/lib/Types/Label.js +27 -27
  56. package/lib/Types/LabelAssociation.d.ts +29 -29
  57. package/lib/Types/LabelAssociation.js +9 -9
  58. package/lib/Types/Message.d.ts +261 -261
  59. package/lib/Types/Message.js +9 -9
  60. package/lib/Types/Product.d.ts +78 -78
  61. package/lib/Types/Product.js +2 -2
  62. package/lib/Types/Signal.d.ts +57 -57
  63. package/lib/Types/Signal.js +2 -2
  64. package/lib/Types/Socket.d.ts +111 -111
  65. package/lib/Types/Socket.js +2 -2
  66. package/lib/Types/State.d.ts +27 -27
  67. package/lib/Types/State.js +2 -2
  68. package/lib/Types/index.d.ts +56 -56
  69. package/lib/Types/index.js +41 -41
  70. package/lib/Utils/auth-utils.d.ts +18 -18
  71. package/lib/Utils/auth-utils.js +204 -204
  72. package/lib/Utils/baileys-event-stream.d.ts +16 -16
  73. package/lib/Utils/baileys-event-stream.js +63 -63
  74. package/lib/Utils/business.d.ts +22 -22
  75. package/lib/Utils/business.js +234 -234
  76. package/lib/Utils/chat-utils.d.ts +71 -71
  77. package/lib/Utils/chat-utils.js +724 -724
  78. package/lib/Utils/crypto.d.ts +41 -41
  79. package/lib/Utils/crypto.js +151 -151
  80. package/lib/Utils/decode-wa-message.d.ts +19 -19
  81. package/lib/Utils/decode-wa-message.js +174 -174
  82. package/lib/Utils/event-buffer.d.ts +35 -35
  83. package/lib/Utils/event-buffer.js +514 -514
  84. package/lib/Utils/generics.d.ts +94 -94
  85. package/lib/Utils/generics.js +367 -367
  86. package/lib/Utils/history.d.ts +15 -15
  87. package/lib/Utils/history.js +91 -91
  88. package/lib/Utils/index.d.ts +17 -17
  89. package/lib/Utils/index.js +33 -33
  90. package/lib/Utils/link-preview.d.ts +21 -21
  91. package/lib/Utils/link-preview.js +93 -93
  92. package/lib/Utils/logger.d.ts +4 -4
  93. package/lib/Utils/logger.js +7 -7
  94. package/lib/Utils/lt-hash.d.ts +12 -12
  95. package/lib/Utils/lt-hash.js +51 -51
  96. package/lib/Utils/make-mutex.d.ts +7 -7
  97. package/lib/Utils/make-mutex.js +43 -43
  98. package/lib/Utils/messages-media.d.ts +107 -107
  99. package/lib/Utils/messages-media.js +680 -680
  100. package/lib/Utils/messages.d.ts +76 -76
  101. package/lib/Utils/messages.js +768 -768
  102. package/lib/Utils/noise-handler.d.ts +20 -20
  103. package/lib/Utils/noise-handler.js +142 -142
  104. package/lib/Utils/process-message.d.ts +41 -41
  105. package/lib/Utils/process-message.js +320 -320
  106. package/lib/Utils/signal.d.ts +32 -32
  107. package/lib/Utils/signal.js +151 -151
  108. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -12
  109. package/lib/Utils/use-multi-file-auth-state.js +80 -80
  110. package/lib/Utils/validate-connection.d.ts +11 -11
  111. package/lib/Utils/validate-connection.js +191 -222
  112. package/lib/WABinary/constants.d.ts +27 -27
  113. package/lib/WABinary/constants.js +40 -40
  114. package/lib/WABinary/decode.d.ts +7 -7
  115. package/lib/WABinary/decode.js +252 -252
  116. package/lib/WABinary/encode.d.ts +3 -3
  117. package/lib/WABinary/encode.js +228 -228
  118. package/lib/WABinary/generic-utils.d.ts +15 -15
  119. package/lib/WABinary/generic-utils.js +110 -110
  120. package/lib/WABinary/index.d.ts +5 -5
  121. package/lib/WABinary/index.js +21 -21
  122. package/lib/WABinary/jid-utils.d.ts +29 -29
  123. package/lib/WABinary/jid-utils.js +59 -59
  124. package/lib/WABinary/types.d.ts +18 -18
  125. package/lib/WABinary/types.js +2 -2
  126. package/lib/index.d.ts +10 -10
  127. package/lib/index.js +29 -29
  128. package/package.json +1 -1
  129. package/CHANGELOG.md +0 -4
@@ -1,3 +1,3 @@
1
- import makeCacheManagerAuthState from './make-cache-manager-store';
2
- import makeInMemoryStore from './make-in-memory-store';
3
- export { makeInMemoryStore, makeCacheManagerAuthState };
1
+ import makeCacheManagerAuthState from './make-cache-manager-store';
2
+ import makeInMemoryStore from './make-in-memory-store';
3
+ export { makeInMemoryStore, makeCacheManagerAuthState };
@@ -1,10 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.makeCacheManagerAuthState = exports.makeInMemoryStore = void 0;
7
- const make_cache_manager_store_1 = __importDefault(require("./make-cache-manager-store"));
8
- exports.makeCacheManagerAuthState = make_cache_manager_store_1.default;
9
- const make_in_memory_store_1 = __importDefault(require("./make-in-memory-store"));
10
- exports.makeInMemoryStore = make_in_memory_store_1.default;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.makeCacheManagerAuthState = exports.makeInMemoryStore = void 0;
7
+ const make_cache_manager_store_1 = __importDefault(require("./make-cache-manager-store"));
8
+ exports.makeCacheManagerAuthState = make_cache_manager_store_1.default;
9
+ const make_in_memory_store_1 = __importDefault(require("./make-in-memory-store"));
10
+ exports.makeInMemoryStore = make_in_memory_store_1.default;
@@ -1,13 +1,13 @@
1
- import { AuthenticationCreds } from '../Types';
2
- declare const makeCacheManagerAuthState: (store: Store, sessionKey: string) => Promise<{
3
- clearState: () => Promise<void>;
4
- saveCreds: () => Promise<void>;
5
- state: {
6
- creds: AuthenticationCreds;
7
- keys: {
8
- get: (type: string, ids: string[]) => Promise<{}>;
9
- set: (data: any) => Promise<void>;
10
- };
11
- };
12
- }>;
13
- export default makeCacheManagerAuthState;
1
+ import { AuthenticationCreds } from '../Types';
2
+ declare const makeCacheManagerAuthState: (store: Store, sessionKey: string) => Promise<{
3
+ clearState: () => Promise<void>;
4
+ saveCreds: () => Promise<void>;
5
+ state: {
6
+ creds: AuthenticationCreds;
7
+ keys: {
8
+ get: (type: string, ids: string[]) => Promise<{}>;
9
+ set: (data: any) => Promise<void>;
10
+ };
11
+ };
12
+ }>;
13
+ export default makeCacheManagerAuthState;
@@ -1,83 +1,83 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const cache_manager_1 = require("cache-manager");
7
- const WAProto_1 = require("../../WAProto");
8
- const Utils_1 = require("../Utils");
9
- const logger_1 = __importDefault(require("../Utils/logger"));
10
- const makeCacheManagerAuthState = async (store, sessionKey) => {
11
- const defaultKey = (file) => `${sessionKey}:${file}`;
12
- const databaseConn = await (0, cache_manager_1.caching)(store);
13
- const writeData = async (file, data) => {
14
- let ttl = undefined;
15
- if (file === 'creds') {
16
- ttl = 63115200; // 2 years
17
- }
18
- await databaseConn.set(defaultKey(file), JSON.stringify(data, Utils_1.BufferJSON.replacer), ttl);
19
- };
20
- const readData = async (file) => {
21
- try {
22
- const data = await databaseConn.get(defaultKey(file));
23
- if (data) {
24
- return JSON.parse(data, Utils_1.BufferJSON.reviver);
25
- }
26
- return null;
27
- }
28
- catch (error) {
29
- logger_1.default.error(error);
30
- return null;
31
- }
32
- };
33
- const removeData = async (file) => {
34
- try {
35
- return await databaseConn.del(defaultKey(file));
36
- }
37
- catch (_a) {
38
- logger_1.default.error(`Error removing ${file} from session ${sessionKey}`);
39
- }
40
- };
41
- const clearState = async () => {
42
- try {
43
- const result = await databaseConn.store.keys(`${sessionKey}*`);
44
- await Promise.all(result.map(async (key) => await databaseConn.del(key)));
45
- }
46
- catch (err) {
47
- }
48
- };
49
- const creds = (await readData('creds')) || (0, Utils_1.initAuthCreds)();
50
- return {
51
- clearState,
52
- saveCreds: () => writeData('creds', creds),
53
- state: {
54
- creds,
55
- keys: {
56
- get: async (type, ids) => {
57
- const data = {};
58
- await Promise.all(ids.map(async (id) => {
59
- let value = await readData(`${type}-${id}`);
60
- if (type === 'app-state-sync-key' && value) {
61
- value = WAProto_1.proto.Message.AppStateSyncKeyData.fromObject(value);
62
- }
63
- data[id] = value;
64
- }));
65
- return data;
66
- },
67
- set: async (data) => {
68
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
- const tasks = [];
70
- for (const category in data) {
71
- for (const id in data[category]) {
72
- const value = data[category][id];
73
- const key = `${category}-${id}`;
74
- tasks.push(value ? writeData(key, value) : removeData(key));
75
- }
76
- }
77
- await Promise.all(tasks);
78
- },
79
- }
80
- }
81
- };
82
- };
83
- exports.default = makeCacheManagerAuthState;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const cache_manager_1 = require("cache-manager");
7
+ const WAProto_1 = require("../../WAProto");
8
+ const Utils_1 = require("../Utils");
9
+ const logger_1 = __importDefault(require("../Utils/logger"));
10
+ const makeCacheManagerAuthState = async (store, sessionKey) => {
11
+ const defaultKey = (file) => `${sessionKey}:${file}`;
12
+ const databaseConn = await (0, cache_manager_1.caching)(store);
13
+ const writeData = async (file, data) => {
14
+ let ttl = undefined;
15
+ if (file === 'creds') {
16
+ ttl = 63115200; // 2 years
17
+ }
18
+ await databaseConn.set(defaultKey(file), JSON.stringify(data, Utils_1.BufferJSON.replacer), ttl);
19
+ };
20
+ const readData = async (file) => {
21
+ try {
22
+ const data = await databaseConn.get(defaultKey(file));
23
+ if (data) {
24
+ return JSON.parse(data, Utils_1.BufferJSON.reviver);
25
+ }
26
+ return null;
27
+ }
28
+ catch (error) {
29
+ logger_1.default.error(error);
30
+ return null;
31
+ }
32
+ };
33
+ const removeData = async (file) => {
34
+ try {
35
+ return await databaseConn.del(defaultKey(file));
36
+ }
37
+ catch (_a) {
38
+ logger_1.default.error(`Error removing ${file} from session ${sessionKey}`);
39
+ }
40
+ };
41
+ const clearState = async () => {
42
+ try {
43
+ const result = await databaseConn.store.keys(`${sessionKey}*`);
44
+ await Promise.all(result.map(async (key) => await databaseConn.del(key)));
45
+ }
46
+ catch (err) {
47
+ }
48
+ };
49
+ const creds = (await readData('creds')) || (0, Utils_1.initAuthCreds)();
50
+ return {
51
+ clearState,
52
+ saveCreds: () => writeData('creds', creds),
53
+ state: {
54
+ creds,
55
+ keys: {
56
+ get: async (type, ids) => {
57
+ const data = {};
58
+ await Promise.all(ids.map(async (id) => {
59
+ let value = await readData(`${type}-${id}`);
60
+ if (type === 'app-state-sync-key' && value) {
61
+ value = WAProto_1.proto.Message.AppStateSyncKeyData.fromObject(value);
62
+ }
63
+ data[id] = value;
64
+ }));
65
+ return data;
66
+ },
67
+ set: async (data) => {
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ const tasks = [];
70
+ for (const category in data) {
71
+ for (const id in data[category]) {
72
+ const value = data[category][id];
73
+ const key = `${category}-${id}`;
74
+ tasks.push(value ? writeData(key, value) : removeData(key));
75
+ }
76
+ }
77
+ await Promise.all(tasks);
78
+ },
79
+ }
80
+ }
81
+ };
82
+ };
83
+ exports.default = makeCacheManagerAuthState;
@@ -1,117 +1,117 @@
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
- type WASocket = ReturnType<typeof makeMDSocket>;
11
- export declare const waChatKey: (pin: boolean) => {
12
- key: (c: Chat) => string;
13
- compare: (k1: string, k2: string) => number;
14
- };
15
- export declare const waMessageID: (m: WAMessage) => string;
16
- export declare const waLabelAssociationKey: Comparable<LabelAssociation, string>;
17
- export type BaileysInMemoryStoreConfig = {
18
- chatKey?: Comparable<Chat, string>;
19
- labelAssociationKey?: Comparable<LabelAssociation, string>;
20
- logger?: Logger;
21
- };
22
- declare const _default: ({ logger: _logger, chatKey, labelAssociationKey }: BaileysInMemoryStoreConfig) => {
23
- chats: KeyedDB<Chat, string>;
24
- contacts: {
25
- [_: string]: Contact;
26
- };
27
- messages: {
28
- [_: string]: {
29
- array: proto.IWebMessageInfo[];
30
- get: (id: string) => proto.IWebMessageInfo | undefined;
31
- upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void;
32
- update: (item: proto.IWebMessageInfo) => boolean;
33
- remove: (item: proto.IWebMessageInfo) => boolean;
34
- updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean;
35
- clear: () => void;
36
- filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void;
37
- toJSON: () => proto.IWebMessageInfo[];
38
- fromJSON: (newItems: proto.IWebMessageInfo[]) => void;
39
- };
40
- };
41
- groupMetadata: {
42
- [_: string]: GroupMetadata;
43
- };
44
- state: ConnectionState;
45
- presences: {
46
- [id: string]: {
47
- [participant: string]: PresenceData;
48
- };
49
- };
50
- labels: ObjectRepository<Label>;
51
- labelAssociations: KeyedDB<LabelAssociation, string>;
52
- bind: (ev: BaileysEventEmitter) => void;
53
- /** loads messages from the store, if not found -- uses the legacy connection */
54
- loadMessages: (jid: string, count: number, cursor: WAMessageCursor) => Promise<proto.IWebMessageInfo[]>;
55
- /**
56
- * Get all available labels for profile
57
- *
58
- * Keep in mind that the list is formed from predefined tags and tags
59
- * that were "caught" during their editing.
60
- */
61
- getLabels: () => ObjectRepository<Label>;
62
- /**
63
- * Get labels for chat
64
- *
65
- * @returns Label IDs
66
- **/
67
- getChatLabels: (chatId: string) => LabelAssociation[];
68
- /**
69
- * Get labels for message
70
- *
71
- * @returns Label IDs
72
- **/
73
- getMessageLabels: (messageId: string) => string[];
74
- loadMessage: (jid: string, id: string) => Promise<proto.IWebMessageInfo | undefined>;
75
- mostRecentMessage: (jid: string) => Promise<proto.IWebMessageInfo>;
76
- fetchImageUrl: (jid: string, sock: WASocket | undefined) => Promise<string | null | undefined>;
77
- fetchGroupMetadata: (jid: string, sock: WASocket | undefined) => Promise<GroupMetadata>;
78
- fetchMessageReceipts: ({ remoteJid, id }: WAMessageKey) => Promise<proto.IUserReceipt[] | null | undefined>;
79
- toJSON: () => {
80
- chats: KeyedDB<Chat, string>;
81
- contacts: {
82
- [_: string]: Contact;
83
- };
84
- messages: {
85
- [_: string]: {
86
- array: proto.IWebMessageInfo[];
87
- get: (id: string) => proto.IWebMessageInfo | undefined;
88
- upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void;
89
- update: (item: proto.IWebMessageInfo) => boolean;
90
- remove: (item: proto.IWebMessageInfo) => boolean;
91
- updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean;
92
- clear: () => void;
93
- filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void;
94
- toJSON: () => proto.IWebMessageInfo[];
95
- fromJSON: (newItems: proto.IWebMessageInfo[]) => void;
96
- };
97
- };
98
- labels: ObjectRepository<Label>;
99
- labelAssociations: KeyedDB<LabelAssociation, string>;
100
- };
101
- fromJSON: (json: {
102
- chats: Chat[];
103
- contacts: {
104
- [id: string]: Contact;
105
- };
106
- messages: {
107
- [id: string]: proto.IWebMessageInfo[];
108
- };
109
- labels: {
110
- [labelId: string]: Label;
111
- };
112
- labelAssociations: LabelAssociation[];
113
- }) => void;
114
- writeToFile: (path: string) => void;
115
- readFromFile: (path: string) => void;
116
- };
117
- export default _default;
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
+ type WASocket = ReturnType<typeof makeMDSocket>;
11
+ export declare const waChatKey: (pin: boolean) => {
12
+ key: (c: Chat) => string;
13
+ compare: (k1: string, k2: string) => number;
14
+ };
15
+ export declare const waMessageID: (m: WAMessage) => string;
16
+ export declare const waLabelAssociationKey: Comparable<LabelAssociation, string>;
17
+ export type BaileysInMemoryStoreConfig = {
18
+ chatKey?: Comparable<Chat, string>;
19
+ labelAssociationKey?: Comparable<LabelAssociation, string>;
20
+ logger?: Logger;
21
+ };
22
+ declare const _default: ({ logger: _logger, chatKey, labelAssociationKey }: BaileysInMemoryStoreConfig) => {
23
+ chats: KeyedDB<Chat, string>;
24
+ contacts: {
25
+ [_: string]: Contact;
26
+ };
27
+ messages: {
28
+ [_: string]: {
29
+ array: proto.IWebMessageInfo[];
30
+ get: (id: string) => proto.IWebMessageInfo | undefined;
31
+ upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void;
32
+ update: (item: proto.IWebMessageInfo) => boolean;
33
+ remove: (item: proto.IWebMessageInfo) => boolean;
34
+ updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean;
35
+ clear: () => void;
36
+ filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void;
37
+ toJSON: () => proto.IWebMessageInfo[];
38
+ fromJSON: (newItems: proto.IWebMessageInfo[]) => void;
39
+ };
40
+ };
41
+ groupMetadata: {
42
+ [_: string]: GroupMetadata;
43
+ };
44
+ state: ConnectionState;
45
+ presences: {
46
+ [id: string]: {
47
+ [participant: string]: PresenceData;
48
+ };
49
+ };
50
+ labels: ObjectRepository<Label>;
51
+ labelAssociations: KeyedDB<LabelAssociation, string>;
52
+ bind: (ev: BaileysEventEmitter) => void;
53
+ /** loads messages from the store, if not found -- uses the legacy connection */
54
+ loadMessages: (jid: string, count: number, cursor: WAMessageCursor) => Promise<proto.IWebMessageInfo[]>;
55
+ /**
56
+ * Get all available labels for profile
57
+ *
58
+ * Keep in mind that the list is formed from predefined tags and tags
59
+ * that were "caught" during their editing.
60
+ */
61
+ getLabels: () => ObjectRepository<Label>;
62
+ /**
63
+ * Get labels for chat
64
+ *
65
+ * @returns Label IDs
66
+ **/
67
+ getChatLabels: (chatId: string) => LabelAssociation[];
68
+ /**
69
+ * Get labels for message
70
+ *
71
+ * @returns Label IDs
72
+ **/
73
+ getMessageLabels: (messageId: string) => string[];
74
+ loadMessage: (jid: string, id: string) => Promise<proto.IWebMessageInfo | undefined>;
75
+ mostRecentMessage: (jid: string) => Promise<proto.IWebMessageInfo>;
76
+ fetchImageUrl: (jid: string, sock: WASocket | undefined) => Promise<string | null | undefined>;
77
+ fetchGroupMetadata: (jid: string, sock: WASocket | undefined) => Promise<GroupMetadata>;
78
+ fetchMessageReceipts: ({ remoteJid, id }: WAMessageKey) => Promise<proto.IUserReceipt[] | null | undefined>;
79
+ toJSON: () => {
80
+ chats: KeyedDB<Chat, string>;
81
+ contacts: {
82
+ [_: string]: Contact;
83
+ };
84
+ messages: {
85
+ [_: string]: {
86
+ array: proto.IWebMessageInfo[];
87
+ get: (id: string) => proto.IWebMessageInfo | undefined;
88
+ upsert: (item: proto.IWebMessageInfo, mode: "append" | "prepend") => void;
89
+ update: (item: proto.IWebMessageInfo) => boolean;
90
+ remove: (item: proto.IWebMessageInfo) => boolean;
91
+ updateAssign: (id: string, update: Partial<proto.IWebMessageInfo>) => boolean;
92
+ clear: () => void;
93
+ filter: (contain: (item: proto.IWebMessageInfo) => boolean) => void;
94
+ toJSON: () => proto.IWebMessageInfo[];
95
+ fromJSON: (newItems: proto.IWebMessageInfo[]) => void;
96
+ };
97
+ };
98
+ labels: ObjectRepository<Label>;
99
+ labelAssociations: KeyedDB<LabelAssociation, string>;
100
+ };
101
+ fromJSON: (json: {
102
+ chats: Chat[];
103
+ contacts: {
104
+ [id: string]: Contact;
105
+ };
106
+ messages: {
107
+ [id: string]: proto.IWebMessageInfo[];
108
+ };
109
+ labels: {
110
+ [labelId: string]: Label;
111
+ };
112
+ labelAssociations: LabelAssociation[];
113
+ }) => void;
114
+ writeToFile: (path: string) => void;
115
+ readFromFile: (path: string) => void;
116
+ };
117
+ export default _default;