@fer2809fl/baileys 7.0.1 → 7.0.2

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 (273) hide show
  1. package/README.md +259 -595
  2. package/WAProto/WAProto.proto +916 -360
  3. package/WAProto/fix-imports.js +18 -22
  4. package/WAProto/index.d.ts +15471 -8638
  5. package/WAProto/index.js +80576 -45941
  6. package/lib/Defaults/index.d.ts +14 -18
  7. package/lib/Defaults/index.d.ts.map +1 -1
  8. package/lib/Defaults/index.js +110 -115
  9. package/lib/Defaults/index.js.map +1 -1
  10. package/lib/Signal/Group/group_cipher.js.map +1 -1
  11. package/lib/Signal/Group/keyhelper.d.ts.map +1 -1
  12. package/lib/Signal/Group/keyhelper.js.map +1 -1
  13. package/lib/Signal/Group/sender-chain-key.js.map +1 -1
  14. package/lib/Signal/Group/sender-key-message.js.map +1 -1
  15. package/lib/Signal/Group/sender-message-key.js.map +1 -1
  16. package/lib/Signal/libsignal.d.ts.map +1 -1
  17. package/lib/Signal/libsignal.js +17 -45
  18. package/lib/Signal/libsignal.js.map +1 -1
  19. package/lib/Signal/lid-mapping.d.ts +0 -4
  20. package/lib/Signal/lid-mapping.d.ts.map +1 -1
  21. package/lib/Signal/lid-mapping.js +0 -6
  22. package/lib/Signal/lid-mapping.js.map +1 -1
  23. package/lib/Socket/business.d.ts +532 -280
  24. package/lib/Socket/business.d.ts.map +1 -1
  25. package/lib/Socket/business.js +401 -358
  26. package/lib/Socket/chats.d.ts +2 -22
  27. package/lib/Socket/chats.d.ts.map +1 -1
  28. package/lib/Socket/chats.js +43 -314
  29. package/lib/Socket/chats.js.map +1 -1
  30. package/lib/Socket/communities.d.ts +641 -336
  31. package/lib/Socket/communities.d.ts.map +1 -1
  32. package/lib/Socket/communities.js +3 -6
  33. package/lib/Socket/communities.js.map +1 -1
  34. package/lib/Socket/dugong.d.ts +130 -0
  35. package/lib/Socket/dugong.d.ts.map +1 -0
  36. package/lib/Socket/dugong.js +772 -0
  37. package/lib/Socket/dugong.js.map +1 -0
  38. package/lib/Socket/groups.d.ts +2 -23
  39. package/lib/Socket/groups.d.ts.map +1 -1
  40. package/lib/Socket/groups.js +8 -171
  41. package/lib/Socket/groups.js.map +1 -1
  42. package/lib/Socket/index.d.ts +631 -322
  43. package/lib/Socket/index.d.ts.map +1 -1
  44. package/lib/Socket/index.js +12 -9
  45. package/lib/Socket/index.js.map +1 -1
  46. package/lib/Socket/messages-recv.d.ts +52 -84
  47. package/lib/Socket/messages-recv.d.ts.map +1 -1
  48. package/lib/Socket/messages-recv.js +185 -686
  49. package/lib/Socket/messages-recv.js.map +1 -1
  50. package/lib/Socket/messages-send.d.ts +643 -262
  51. package/lib/Socket/messages-send.d.ts.map +1 -1
  52. package/lib/Socket/messages-send.js +1559 -1359
  53. package/lib/Socket/messages-send.js.map +1 -1
  54. package/lib/Socket/mex.d.ts +0 -1
  55. package/lib/Socket/mex.d.ts.map +1 -1
  56. package/lib/Socket/mex.js +8 -22
  57. package/lib/Socket/mex.js.map +1 -1
  58. package/lib/Socket/native-buttons.js +231 -0
  59. package/lib/Socket/newsletter.d.ts +27 -42
  60. package/lib/Socket/newsletter.d.ts.map +1 -1
  61. package/lib/Socket/newsletter.js +439 -402
  62. package/lib/Socket/newsletter.js.map +1 -1
  63. package/lib/Socket/socket.d.ts +2 -6
  64. package/lib/Socket/socket.d.ts.map +1 -1
  65. package/lib/Socket/socket.js +26 -62
  66. package/lib/Socket/socket.js.map +1 -1
  67. package/lib/Types/Auth.d.ts +0 -1
  68. package/lib/Types/Auth.d.ts.map +1 -1
  69. package/lib/Types/Bussines.d.ts +34 -22
  70. package/lib/Types/Call.d.ts +1 -1
  71. package/lib/Types/Call.d.ts.map +1 -1
  72. package/lib/Types/Chat.d.ts +0 -1
  73. package/lib/Types/Chat.d.ts.map +1 -1
  74. package/lib/Types/Contact.d.ts +0 -2
  75. package/lib/Types/Contact.d.ts.map +1 -1
  76. package/lib/Types/Events.d.ts +1 -20
  77. package/lib/Types/Events.d.ts.map +1 -1
  78. package/lib/Types/GroupMetadata.d.ts +1 -4
  79. package/lib/Types/GroupMetadata.d.ts.map +1 -1
  80. package/lib/Types/Message.d.ts +348 -354
  81. package/lib/Types/Message.d.ts.map +1 -1
  82. package/lib/Types/Message.js +0 -4
  83. package/lib/Types/Message.js.map +1 -1
  84. package/lib/Types/{Mex.d.ts → Newsletter.d.ts} +7 -26
  85. package/lib/Types/Newsletter.d.ts.map +1 -0
  86. package/lib/Types/{Mex.js → Newsletter.js} +3 -11
  87. package/lib/Types/Newsletter.js.map +1 -0
  88. package/lib/Types/Signal.d.ts +1 -12
  89. package/lib/Types/Signal.d.ts.map +1 -1
  90. package/lib/Types/Socket.d.ts +148 -135
  91. package/lib/Types/Socket.d.ts.map +1 -1
  92. package/lib/Types/Socket.js.map +1 -1
  93. package/lib/Types/State.d.ts +0 -65
  94. package/lib/Types/State.d.ts.map +1 -1
  95. package/lib/Types/State.js +0 -43
  96. package/lib/Types/State.js.map +1 -1
  97. package/lib/Types/index.d.ts +52 -52
  98. package/lib/Types/index.d.ts.map +1 -1
  99. package/lib/Types/index.js +30 -23
  100. package/lib/Types/index.js.map +1 -1
  101. package/lib/Utils/auth-utils.d.ts +0 -5
  102. package/lib/Utils/auth-utils.d.ts.map +1 -1
  103. package/lib/Utils/auth-utils.js +0 -12
  104. package/lib/Utils/auth-utils.js.map +1 -1
  105. package/lib/Utils/browser-utils.d.ts.map +1 -1
  106. package/lib/Utils/browser-utils.js +0 -1
  107. package/lib/Utils/browser-utils.js.map +1 -1
  108. package/lib/Utils/chat-utils.d.ts +4 -34
  109. package/lib/Utils/chat-utils.d.ts.map +1 -1
  110. package/lib/Utils/chat-utils.js +20 -80
  111. package/lib/Utils/chat-utils.js.map +1 -1
  112. package/lib/Utils/crypto.d.ts +12 -12
  113. package/lib/Utils/crypto.d.ts.map +1 -1
  114. package/lib/Utils/crypto.js.map +1 -1
  115. package/lib/Utils/decode-wa-message.d.ts +0 -18
  116. package/lib/Utils/decode-wa-message.d.ts.map +1 -1
  117. package/lib/Utils/decode-wa-message.js +0 -34
  118. package/lib/Utils/decode-wa-message.js.map +1 -1
  119. package/lib/Utils/event-buffer.d.ts +0 -2
  120. package/lib/Utils/event-buffer.d.ts.map +1 -1
  121. package/lib/Utils/event-buffer.js +1 -49
  122. package/lib/Utils/event-buffer.js.map +1 -1
  123. package/lib/Utils/generics.d.ts +2 -3
  124. package/lib/Utils/generics.d.ts.map +1 -1
  125. package/lib/Utils/generics.js +1 -10
  126. package/lib/Utils/generics.js.map +1 -1
  127. package/lib/Utils/history.d.ts +0 -2
  128. package/lib/Utils/history.d.ts.map +1 -1
  129. package/lib/Utils/history.js +9 -12
  130. package/lib/Utils/history.js.map +1 -1
  131. package/lib/Utils/identity-change-handler.d.ts +0 -7
  132. package/lib/Utils/identity-change-handler.d.ts.map +1 -1
  133. package/lib/Utils/identity-change-handler.js +0 -1
  134. package/lib/Utils/identity-change-handler.js.map +1 -1
  135. package/lib/Utils/index.d.ts +23 -30
  136. package/lib/Utils/index.d.ts.map +1 -1
  137. package/lib/Utils/index.js +2 -9
  138. package/lib/Utils/index.js.map +1 -1
  139. package/lib/Utils/link-preview.js +2 -2
  140. package/lib/Utils/link-preview.js.map +1 -1
  141. package/lib/Utils/message-retry-manager.d.ts +0 -5
  142. package/lib/Utils/message-retry-manager.d.ts.map +1 -1
  143. package/lib/Utils/message-retry-manager.js +0 -40
  144. package/lib/Utils/message-retry-manager.js.map +1 -1
  145. package/lib/Utils/messages-media.d.ts +13 -45
  146. package/lib/Utils/messages-media.d.ts.map +1 -1
  147. package/lib/Utils/messages-media.js +98 -293
  148. package/lib/Utils/messages-media.js.map +1 -1
  149. package/lib/Utils/messages.d.ts +3 -16
  150. package/lib/Utils/messages.d.ts.map +1 -1
  151. package/lib/Utils/messages.js +1123 -1219
  152. package/lib/Utils/messages.js.map +1 -1
  153. package/lib/Utils/noise-handler.d.ts +1 -1
  154. package/lib/Utils/process-message.d.ts.map +1 -1
  155. package/lib/Utils/process-message.js +1 -103
  156. package/lib/Utils/process-message.js.map +1 -1
  157. package/lib/Utils/rich-messages.d.ts +277 -0
  158. package/lib/Utils/rich-messages.d.ts.map +1 -0
  159. package/lib/Utils/rich-messages.js +1144 -0
  160. package/lib/Utils/rich-messages.js.map +1 -0
  161. package/lib/Utils/signal.d.ts +0 -13
  162. package/lib/Utils/signal.d.ts.map +1 -1
  163. package/lib/Utils/signal.js +0 -42
  164. package/lib/Utils/signal.js.map +1 -1
  165. package/lib/Utils/sticker-pack.d.ts +10 -0
  166. package/lib/Utils/sticker-pack.js +111 -0
  167. package/lib/Utils/sync-action-utils.d.ts.map +1 -1
  168. package/lib/Utils/sync-action-utils.js +0 -1
  169. package/lib/Utils/sync-action-utils.js.map +1 -1
  170. package/lib/Utils/tc-token-utils.d.ts +1 -26
  171. package/lib/Utils/tc-token-utils.d.ts.map +1 -1
  172. package/lib/Utils/tc-token-utils.js +5 -151
  173. package/lib/Utils/tc-token-utils.js.map +1 -1
  174. package/lib/Utils/validate-connection.d.ts +0 -1
  175. package/lib/Utils/validate-connection.d.ts.map +1 -1
  176. package/lib/Utils/validate-connection.js +3 -13
  177. package/lib/Utils/validate-connection.js.map +1 -1
  178. package/lib/WABinary/decode.d.ts +1 -1
  179. package/lib/WABinary/decode.d.ts.map +1 -1
  180. package/lib/WABinary/generic-utils.d.ts +3 -1
  181. package/lib/WABinary/generic-utils.d.ts.map +1 -1
  182. package/lib/WABinary/generic-utils.js +78 -0
  183. package/lib/WABinary/generic-utils.js.map +1 -1
  184. package/lib/WABinary/jid-utils.d.ts +0 -11
  185. package/lib/WABinary/jid-utils.d.ts.map +1 -1
  186. package/lib/WABinary/jid-utils.js +0 -33
  187. package/lib/WABinary/jid-utils.js.map +1 -1
  188. package/lib/WAM/encode.d.ts +1 -1
  189. package/lib/WAM/encode.d.ts.map +1 -1
  190. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -1
  191. package/lib/WAUSync/Protocols/USyncContactProtocol.js +3 -26
  192. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -1
  193. package/lib/WAUSync/Protocols/index.d.ts +0 -1
  194. package/lib/WAUSync/Protocols/index.d.ts.map +1 -1
  195. package/lib/WAUSync/Protocols/index.js +0 -1
  196. package/lib/WAUSync/Protocols/index.js.map +1 -1
  197. package/lib/WAUSync/USyncQuery.d.ts +0 -1
  198. package/lib/WAUSync/USyncQuery.d.ts.map +1 -1
  199. package/lib/WAUSync/USyncQuery.js +2 -6
  200. package/lib/WAUSync/USyncQuery.js.map +1 -1
  201. package/lib/WAUSync/USyncUser.d.ts +0 -4
  202. package/lib/WAUSync/USyncUser.d.ts.map +1 -1
  203. package/lib/WAUSync/USyncUser.js +0 -8
  204. package/lib/WAUSync/USyncUser.js.map +1 -1
  205. package/lib/index.d.ts +1 -1
  206. package/lib/index.d.ts.map +1 -1
  207. package/lib/index.js +1 -4
  208. package/lib/index.js.map +1 -1
  209. package/package.json +30 -34
  210. package/LICENSE +0 -21
  211. package/engine-requirements.js +0 -10
  212. package/lib/Socket/smgss.d.ts +0 -119
  213. package/lib/Socket/smgss.d.ts.map +0 -1
  214. package/lib/Socket/smgss.js +0 -453
  215. package/lib/Socket/smgss.js.map +0 -1
  216. package/lib/Store/index.d.ts +0 -4
  217. package/lib/Store/index.d.ts.map +0 -1
  218. package/lib/Store/index.js +0 -4
  219. package/lib/Store/index.js.map +0 -1
  220. package/lib/Store/make-in-memory-store.d.ts +0 -132
  221. package/lib/Store/make-in-memory-store.d.ts.map +0 -1
  222. package/lib/Store/make-in-memory-store.js +0 -450
  223. package/lib/Store/make-in-memory-store.js.map +0 -1
  224. package/lib/Store/make-ordered-dictionary.d.ts +0 -14
  225. package/lib/Store/make-ordered-dictionary.d.ts.map +0 -1
  226. package/lib/Store/make-ordered-dictionary.js +0 -80
  227. package/lib/Store/make-ordered-dictionary.js.map +0 -1
  228. package/lib/Store/object-repository.d.ts +0 -13
  229. package/lib/Store/object-repository.d.ts.map +0 -1
  230. package/lib/Store/object-repository.js +0 -24
  231. package/lib/Store/object-repository.js.map +0 -1
  232. package/lib/Types/Mex.d.ts.map +0 -1
  233. package/lib/Types/Mex.js.map +0 -1
  234. package/lib/Utils/button-handler.d.ts +0 -28
  235. package/lib/Utils/button-handler.d.ts.map +0 -1
  236. package/lib/Utils/button-handler.js +0 -140
  237. package/lib/Utils/button-handler.js.map +0 -1
  238. package/lib/Utils/companion-reg-client-utils.d.ts +0 -17
  239. package/lib/Utils/companion-reg-client-utils.d.ts.map +0 -1
  240. package/lib/Utils/companion-reg-client-utils.js +0 -35
  241. package/lib/Utils/companion-reg-client-utils.js.map +0 -1
  242. package/lib/Utils/interactive.d.ts +0 -60
  243. package/lib/Utils/interactive.d.ts.map +0 -1
  244. package/lib/Utils/interactive.js +0 -224
  245. package/lib/Utils/interactive.js.map +0 -1
  246. package/lib/Utils/message-composer.d.ts +0 -93
  247. package/lib/Utils/message-composer.d.ts.map +0 -1
  248. package/lib/Utils/message-composer.js +0 -311
  249. package/lib/Utils/message-composer.js.map +0 -1
  250. package/lib/Utils/messages-newsletter.d.ts +0 -74
  251. package/lib/Utils/messages-newsletter.d.ts.map +0 -1
  252. package/lib/Utils/messages-newsletter.js +0 -128
  253. package/lib/Utils/messages-newsletter.js.map +0 -1
  254. package/lib/Utils/shortcake-crypto.d.ts +0 -36
  255. package/lib/Utils/shortcake-crypto.d.ts.map +0 -1
  256. package/lib/Utils/shortcake-crypto.js +0 -71
  257. package/lib/Utils/shortcake-crypto.js.map +0 -1
  258. package/lib/Utils/shortcake.d.ts +0 -36
  259. package/lib/Utils/shortcake.d.ts.map +0 -1
  260. package/lib/Utils/shortcake.js +0 -162
  261. package/lib/Utils/shortcake.js.map +0 -1
  262. package/lib/Utils/use-single-file-auth-state.d.ts +0 -6
  263. package/lib/Utils/use-single-file-auth-state.d.ts.map +0 -1
  264. package/lib/Utils/use-single-file-auth-state.js +0 -111
  265. package/lib/Utils/use-single-file-auth-state.js.map +0 -1
  266. package/lib/Utils/use-sqlite-auth-state.d.ts +0 -14
  267. package/lib/Utils/use-sqlite-auth-state.d.ts.map +0 -1
  268. package/lib/Utils/use-sqlite-auth-state.js +0 -107
  269. package/lib/Utils/use-sqlite-auth-state.js.map +0 -1
  270. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +0 -10
  271. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +0 -1
  272. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +0 -25
  273. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +0 -1
@@ -1,111 +0,0 @@
1
- import { Mutex } from 'async-mutex';
2
- import { readFile, rename, stat, writeFile } from 'fs/promises';
3
- import { LRUCache } from 'lru-cache';
4
- import { proto } from '../../WAProto/index.js';
5
- import { DEFAULT_CACHE_TTLS } from '../Defaults/index.js';
6
- import { initAuthCreds } from './auth-utils.js';
7
- import { BufferJSON } from './generics.js';
8
- const FLUSH_TIMEOUT_MS = 3000;
9
- export const useSingleFileAuthState = async (fileName) => {
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- const cache = new LRUCache({
12
- max: 20000,
13
- ttl: 1000 * DEFAULT_CACHE_TTLS.SIGNAL_STORE,
14
- updateAgeOnGet: false,
15
- updateAgeOnHas: false,
16
- ttlAutopurge: true
17
- });
18
- const mutex = new Mutex();
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- let fileData = {};
21
- let isLoaded = false;
22
- let flushTimeout = null;
23
- const loadKey = async () => {
24
- return await mutex.runExclusive(async () => {
25
- if (isLoaded) {
26
- return;
27
- }
28
- try {
29
- const data = JSON.parse(await readFile(fileName, 'utf-8'), BufferJSON.reviver);
30
- fileData = data || {};
31
- for (const [keyName, value] of Object.entries(fileData)) {
32
- cache.set(keyName, value);
33
- }
34
- }
35
- catch {
36
- fileData = {};
37
- }
38
- isLoaded = true;
39
- });
40
- };
41
- const flushKey = () => {
42
- if (flushTimeout) {
43
- return;
44
- }
45
- flushTimeout = setTimeout(async () => {
46
- flushTimeout = null;
47
- await mutex.runExclusive(async () => {
48
- try {
49
- const tempFile = fileName + '.temp';
50
- await writeFile(tempFile, JSON.stringify(fileData, BufferJSON.replacer));
51
- await rename(tempFile, fileName);
52
- }
53
- catch { }
54
- });
55
- }, FLUSH_TIMEOUT_MS);
56
- };
57
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
- const writeKey = (keyName, value) => {
59
- cache.set(keyName, value);
60
- fileData[keyName] = value;
61
- flushKey();
62
- };
63
- const removeKey = (keyName) => {
64
- cache.delete(keyName);
65
- delete fileData[keyName];
66
- flushKey();
67
- };
68
- const fileInfo = await stat(fileName).catch(() => null);
69
- if (!fileInfo) {
70
- await writeFile(fileName, '{}');
71
- }
72
- else if (!fileInfo.isFile()) {
73
- throw new Error(`found something that is not a file at ${fileName}, either delete it or specify a different location`);
74
- }
75
- await loadKey();
76
- const creds = fileData['creds'] || initAuthCreds();
77
- return {
78
- state: {
79
- creds,
80
- keys: {
81
- get: async (type, ids) => {
82
- const data = {};
83
- for (const id of ids) {
84
- const keyName = type + id;
85
- let value = cache.get(keyName);
86
- if (value === undefined && fileData[keyName] !== undefined) {
87
- value = fileData[keyName];
88
- cache.set(keyName, value);
89
- }
90
- if (type === 'app-state-sync-key' && value) {
91
- value = proto.Message.AppStateSyncKeyData.fromObject(value);
92
- }
93
- data[id] = value;
94
- }
95
- return data;
96
- },
97
- set: async (data) => {
98
- for (const category in data) {
99
- for (const id in data[category]) {
100
- const keyName = category + id;
101
- const value = data[category][id];
102
- value ? writeKey(keyName, value) : removeKey(keyName);
103
- }
104
- }
105
- }
106
- }
107
- },
108
- saveCreds: () => writeKey('creds', creds)
109
- };
110
- };
111
- //# sourceMappingURL=use-single-file-auth-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-single-file-auth-state.js","sourceRoot":"","sources":["../../src/Utils/use-single-file-auth-state.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import type { AuthenticationState } from '../Types/index.js';
2
- import type DatabaseCtor from 'better-sqlite3';
3
- type SqliteDatabase = InstanceType<typeof DatabaseCtor>;
4
- export type SqliteAuthStateOptions = {
5
- dbPath: string;
6
- } | {
7
- database: SqliteDatabase;
8
- };
9
- export declare function useSqliteAuthState(opts: SqliteAuthStateOptions): Promise<{
10
- state: AuthenticationState;
11
- saveCreds: () => void;
12
- }>;
13
- export {};
14
- //# sourceMappingURL=use-sqlite-auth-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-sqlite-auth-state.d.ts","sourceRoot":"","sources":["../../src/Utils/use-sqlite-auth-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,mBAAmB,EAAqB,MAAM,UAAU,CAAA;AAI3F,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAA;AAE9C,KAAK,cAAc,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAA;AAEvD,MAAM,MAAM,sBAAsB,GAC/B;IACA,MAAM,EAAE,MAAM,CAAA;CACb,GACD;IACA,QAAQ,EAAE,cAAc,CAAA;CACvB,CAAA;AAiCJ,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,sBAAsB,GAC1B,OAAO,CAAC;IAAE,KAAK,EAAE,mBAAmB,CAAC;IAAC,SAAS,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAwFhE"}
@@ -1,107 +0,0 @@
1
- import { proto } from '../../WAProto/index.js';
2
- import { initAuthCreds } from './auth-utils.js';
3
- import { BufferJSON } from './generics.js';
4
- async function loadBetterSqlite3() {
5
- try {
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- const mod = await import('better-sqlite3');
8
- return mod.default ?? mod;
9
- }
10
- catch (err) {
11
- const helpful = new Error('`better-sqlite3` is required for `useSqliteAuthState`. Install it as a peer dependency: `npm install better-sqlite3` (or `yarn add better-sqlite3`).');
12
- helpful.cause = err;
13
- throw helpful;
14
- }
15
- }
16
- const CREDS_ROW_KEY = '__creds__';
17
- const CREATE_SCHEMA_SQL = `
18
- CREATE TABLE IF NOT EXISTS creds (
19
- key TEXT PRIMARY KEY,
20
- value TEXT NOT NULL
21
- );
22
- CREATE TABLE IF NOT EXISTS signal_keys (
23
- type TEXT NOT NULL,
24
- id TEXT NOT NULL,
25
- value TEXT NOT NULL,
26
- PRIMARY KEY (type, id)
27
- );
28
- CREATE INDEX IF NOT EXISTS signal_keys_type_idx ON signal_keys(type);
29
- `;
30
- export async function useSqliteAuthState(opts) {
31
- let db;
32
- if ('database' in opts) {
33
- db = opts.database;
34
- }
35
- else {
36
- const Database = await loadBetterSqlite3();
37
- db = new Database(opts.dbPath);
38
- }
39
- // WAL mode allows concurrent reads alongside a single writer; matches
40
- // what SQLite recommends for read-heavy workloads with sporadic writes.
41
- db.pragma('journal_mode = WAL');
42
- db.pragma('synchronous = NORMAL');
43
- db.exec(CREATE_SCHEMA_SQL);
44
- const stmts = {
45
- credsSelect: db.prepare('SELECT value FROM creds WHERE key = ?'),
46
- credsUpsert: db.prepare('INSERT INTO creds (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value'),
47
- keySelect: db.prepare('SELECT value FROM signal_keys WHERE type = ? AND id = ?'),
48
- keyUpsert: db.prepare('INSERT INTO signal_keys (type, id, value) VALUES (?, ?, ?) ON CONFLICT(type, id) DO UPDATE SET value = excluded.value'),
49
- keyDelete: db.prepare('DELETE FROM signal_keys WHERE type = ? AND id = ?'),
50
- keyListIds: db.prepare('SELECT id FROM signal_keys WHERE type = ?'),
51
- keyList: db.prepare('SELECT id, value FROM signal_keys WHERE type = ?'),
52
- clearKeys: db.prepare('DELETE FROM signal_keys')
53
- };
54
- const loadCreds = () => {
55
- const row = stmts.credsSelect.get(CREDS_ROW_KEY);
56
- if (!row) {
57
- return initAuthCreds();
58
- }
59
- return JSON.parse(row.value, BufferJSON.reviver);
60
- };
61
- const persistCreds = (creds) => {
62
- stmts.credsUpsert.run(CREDS_ROW_KEY, JSON.stringify(creds, BufferJSON.replacer));
63
- };
64
- const creds = loadCreds();
65
- return {
66
- state: {
67
- creds,
68
- keys: {
69
- get: async (type, ids) => {
70
- const data = {};
71
- for (const id of ids) {
72
- const row = stmts.keySelect.get(type, id);
73
- if (row) {
74
- let value = JSON.parse(row.value, BufferJSON.reviver);
75
- if (type === 'app-state-sync-key' && value) {
76
- value = proto.Message.AppStateSyncKeyData.fromObject(value);
77
- }
78
- data[id] = value;
79
- }
80
- }
81
- return data;
82
- },
83
- set: async (data) => {
84
- const writeTx = db.transaction(() => {
85
- for (const category in data) {
86
- for (const id in data[category]) {
87
- const value = data[category][id];
88
- if (value) {
89
- const stringified = JSON.stringify(value, BufferJSON.replacer);
90
- stmts.keyUpsert.run(category, id, stringified);
91
- }
92
- else {
93
- stmts.keyDelete.run(category, id);
94
- }
95
- }
96
- }
97
- });
98
- writeTx();
99
- }
100
- }
101
- },
102
- saveCreds: () => {
103
- persistCreds(creds);
104
- }
105
- };
106
- }
107
- //# sourceMappingURL=use-sqlite-auth-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-sqlite-auth-state.js","sourceRoot":"","sources":["../../src/Utils/use-sqlite-auth-state.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { USyncQueryProtocol } from '../../Types/USync.js';
2
- import { type BinaryNode } from '../../WABinary/index.js';
3
- import { USyncUser } from '../USyncUser.js';
4
- export declare class USyncUsernameProtocol implements USyncQueryProtocol {
5
- name: string;
6
- getQueryElement(): BinaryNode;
7
- getUserElement(user: USyncUser): BinaryNode | null;
8
- parser(node: BinaryNode): string | null;
9
- }
10
- //# sourceMappingURL=USyncUsernameProtocol.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"USyncUsernameProtocol.d.ts","sourceRoot":"","sources":["../../../src/WAUSync/Protocols/USyncUsernameProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,qBAAa,qBAAsB,YAAW,kBAAkB;IAC/D,IAAI,SAAa;IAEjB,eAAe,IAAI,UAAU;IAO7B,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI;IAKlD,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;CAQvC"}
@@ -1,25 +0,0 @@
1
- import { assertNodeErrorFree } from '../../WABinary/index.js';
2
- import { USyncUser } from '../USyncUser.js';
3
- export class USyncUsernameProtocol {
4
- constructor() {
5
- this.name = 'username';
6
- }
7
- getQueryElement() {
8
- return {
9
- tag: 'username',
10
- attrs: {}
11
- };
12
- }
13
- getUserElement(user) {
14
- void user;
15
- return null;
16
- }
17
- parser(node) {
18
- if (node.tag === 'username') {
19
- assertNodeErrorFree(node);
20
- return typeof node.content === 'string' ? node.content : null;
21
- }
22
- return null;
23
- }
24
- }
25
- //# sourceMappingURL=USyncUsernameProtocol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"USyncUsernameProtocol.js","sourceRoot":"","sources":["../../../src/WAUSync/Protocols/USyncUsernameProtocol.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAmB,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,OAAO,qBAAqB;IAAlC;QACC,SAAI,GAAG,UAAU,CAAA;IAsBlB,CAAC;IApBA,eAAe;QACd,OAAO;YACN,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,EAAE;SACT,CAAA;IACF,CAAC;IAED,cAAc,CAAC,IAAe;QAC7B,KAAK,IAAI,CAAA;QACT,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,IAAgB;QACtB,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,mBAAmB,CAAC,IAAI,CAAC,CAAA;YACzB,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9D,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;CACD"}