@arcaelas/whatsapp 2.2.0 → 3.0.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 (127) hide show
  1. package/build/cjs/decorators.d.ts +9 -0
  2. package/build/cjs/decorators.js +26 -0
  3. package/build/cjs/decorators.js.map +1 -0
  4. package/build/cjs/index.d.ts +6 -10
  5. package/build/cjs/index.js +11 -10
  6. package/build/cjs/index.js.map +1 -1
  7. package/build/cjs/lib/bot/decorator.d.ts +77 -0
  8. package/build/cjs/lib/bot/decorator.js +219 -0
  9. package/build/cjs/lib/bot/decorator.js.map +1 -0
  10. package/build/cjs/lib/bot/decorators.d.ts +113 -0
  11. package/build/cjs/lib/bot/decorators.js +253 -0
  12. package/build/cjs/lib/bot/decorators.js.map +1 -0
  13. package/build/cjs/lib/bot/index.d.ts +3 -0
  14. package/build/cjs/lib/bot/index.js +20 -0
  15. package/build/cjs/lib/bot/index.js.map +1 -0
  16. package/build/cjs/lib/chat/index.d.ts +227 -0
  17. package/build/cjs/lib/chat/index.js +324 -0
  18. package/build/cjs/lib/chat/index.js.map +1 -0
  19. package/build/cjs/lib/contact/index.d.ts +203 -0
  20. package/build/cjs/lib/contact/index.js +226 -0
  21. package/build/cjs/lib/contact/index.js.map +1 -0
  22. package/build/cjs/lib/message/index.d.ts +228 -0
  23. package/build/cjs/lib/message/index.js +678 -0
  24. package/build/cjs/lib/message/index.js.map +1 -0
  25. package/build/cjs/lib/store/engine/index.d.ts +34 -0
  26. package/build/cjs/lib/store/engine/index.js +13 -0
  27. package/build/cjs/lib/store/engine/index.js.map +1 -0
  28. package/build/cjs/lib/store/engine/lib/file_system/index.d.ts +56 -0
  29. package/build/cjs/lib/store/engine/lib/file_system/index.js +160 -0
  30. package/build/cjs/lib/store/engine/lib/file_system/index.js.map +1 -0
  31. package/build/cjs/lib/store/engine/lib/redis/index.d.ts +82 -0
  32. package/build/cjs/lib/store/engine/lib/redis/index.js +132 -0
  33. package/build/cjs/lib/store/engine/lib/redis/index.js.map +1 -0
  34. package/build/cjs/lib/store/index.d.ts +22 -0
  35. package/build/cjs/lib/store/index.js +38 -0
  36. package/build/cjs/lib/store/index.js.map +1 -0
  37. package/build/cjs/lib/whatsapp/index.d.ts +179 -0
  38. package/build/cjs/lib/whatsapp/index.js +754 -0
  39. package/build/cjs/lib/whatsapp/index.js.map +1 -0
  40. package/build/esm/decorators.d.ts +9 -0
  41. package/build/esm/decorators.js +9 -0
  42. package/build/esm/decorators.js.map +1 -0
  43. package/build/esm/index.d.ts +6 -10
  44. package/build/esm/index.js +4 -6
  45. package/build/esm/index.js.map +1 -1
  46. package/build/esm/lib/bot/decorator.d.ts +77 -0
  47. package/build/esm/lib/bot/decorator.js +210 -0
  48. package/build/esm/lib/bot/decorator.js.map +1 -0
  49. package/build/esm/lib/bot/decorators.d.ts +113 -0
  50. package/build/esm/lib/bot/decorators.js +242 -0
  51. package/build/esm/lib/bot/decorators.js.map +1 -0
  52. package/build/esm/lib/bot/index.d.ts +3 -0
  53. package/build/esm/lib/bot/index.js +3 -0
  54. package/build/esm/lib/bot/index.js.map +1 -0
  55. package/build/esm/lib/chat/index.d.ts +227 -0
  56. package/build/esm/lib/chat/index.js +319 -0
  57. package/build/esm/lib/chat/index.js.map +1 -0
  58. package/build/esm/lib/contact/index.d.ts +203 -0
  59. package/build/esm/lib/contact/index.js +221 -0
  60. package/build/esm/lib/contact/index.js.map +1 -0
  61. package/build/esm/lib/message/index.d.ts +228 -0
  62. package/build/esm/lib/message/index.js +666 -0
  63. package/build/esm/lib/message/index.js.map +1 -0
  64. package/build/esm/lib/store/engine/index.d.ts +34 -0
  65. package/build/esm/lib/store/engine/index.js +8 -0
  66. package/build/esm/lib/store/engine/index.js.map +1 -0
  67. package/build/esm/lib/store/engine/lib/file_system/index.d.ts +56 -0
  68. package/build/esm/lib/store/engine/lib/file_system/index.js +156 -0
  69. package/build/esm/lib/store/engine/lib/file_system/index.js.map +1 -0
  70. package/build/esm/lib/store/engine/lib/redis/index.d.ts +82 -0
  71. package/build/esm/lib/store/engine/lib/redis/index.js +128 -0
  72. package/build/esm/lib/store/engine/lib/redis/index.js.map +1 -0
  73. package/build/esm/lib/store/index.d.ts +22 -0
  74. package/build/esm/lib/store/index.js +31 -0
  75. package/build/esm/lib/store/index.js.map +1 -0
  76. package/build/esm/lib/whatsapp/index.d.ts +179 -0
  77. package/build/esm/lib/whatsapp/index.js +714 -0
  78. package/build/esm/lib/whatsapp/index.js.map +1 -0
  79. package/package.json +8 -6
  80. package/build/cjs/Chat.d.ts +0 -317
  81. package/build/cjs/Chat.js +0 -275
  82. package/build/cjs/Chat.js.map +0 -1
  83. package/build/cjs/Contact.d.ts +0 -1163
  84. package/build/cjs/Contact.js +0 -162
  85. package/build/cjs/Contact.js.map +0 -1
  86. package/build/cjs/Message.d.ts +0 -902
  87. package/build/cjs/Message.js +0 -515
  88. package/build/cjs/Message.js.map +0 -1
  89. package/build/cjs/WhatsApp.d.ts +0 -80
  90. package/build/cjs/WhatsApp.js +0 -412
  91. package/build/cjs/WhatsApp.js.map +0 -1
  92. package/build/cjs/store/driver/FileEngine.d.ts +0 -34
  93. package/build/cjs/store/driver/FileEngine.js +0 -86
  94. package/build/cjs/store/driver/FileEngine.js.map +0 -1
  95. package/build/cjs/store/driver/RedisEngine.d.ts +0 -47
  96. package/build/cjs/store/driver/RedisEngine.js +0 -70
  97. package/build/cjs/store/driver/RedisEngine.js.map +0 -1
  98. package/build/cjs/store/engine.d.ts +0 -53
  99. package/build/cjs/store/engine.js +0 -7
  100. package/build/cjs/store/engine.js.map +0 -1
  101. package/build/cjs/store/index.d.ts +0 -8
  102. package/build/cjs/store/index.js +0 -12
  103. package/build/cjs/store/index.js.map +0 -1
  104. package/build/esm/Chat.d.ts +0 -317
  105. package/build/esm/Chat.js +0 -270
  106. package/build/esm/Chat.js.map +0 -1
  107. package/build/esm/Contact.d.ts +0 -1163
  108. package/build/esm/Contact.js +0 -157
  109. package/build/esm/Contact.js.map +0 -1
  110. package/build/esm/Message.d.ts +0 -902
  111. package/build/esm/Message.js +0 -510
  112. package/build/esm/Message.js.map +0 -1
  113. package/build/esm/WhatsApp.d.ts +0 -80
  114. package/build/esm/WhatsApp.js +0 -372
  115. package/build/esm/WhatsApp.js.map +0 -1
  116. package/build/esm/store/driver/FileEngine.d.ts +0 -34
  117. package/build/esm/store/driver/FileEngine.js +0 -82
  118. package/build/esm/store/driver/FileEngine.js.map +0 -1
  119. package/build/esm/store/driver/RedisEngine.d.ts +0 -47
  120. package/build/esm/store/driver/RedisEngine.js +0 -66
  121. package/build/esm/store/driver/RedisEngine.js.map +0 -1
  122. package/build/esm/store/engine.d.ts +0 -53
  123. package/build/esm/store/engine.js +0 -6
  124. package/build/esm/store/engine.js.map +0 -1
  125. package/build/esm/store/index.d.ts +0 -8
  126. package/build/esm/store/index.js +0 -7
  127. package/build/esm/store/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/message/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @file store/engine/index.ts
3
+ * @description Contrato del motor de persistencia (string-based) y barrel de drivers.
4
+ * Engine contract (string-based) and drivers barrel.
5
+ */
6
+ /**
7
+ * Contrato de persistencia key-value de strings. El engine no conoce JSON; la serialización
8
+ * ocurre en la capa superior (ver `store/serialize` y `store/deserialize`).
9
+ *
10
+ * Key-value string persistence contract. The engine is unaware of JSON; serialization happens
11
+ * in the upper layer.
12
+ *
13
+ * Reglas / Rules:
14
+ * - Paths se normalizan quitando slashes redundantes. / Paths strip redundant slashes.
15
+ * - `set` refresca el mtime (drives `list` order). / `set` refreshes mtime.
16
+ * - `unset` hace cascade sobre el sub-árbol. / `unset` cascades the subtree.
17
+ * - `list` solo devuelve hijos directos ordenados por mtime DESC. / `list` yields direct children, mtime DESC.
18
+ */
19
+ export interface Engine {
20
+ /** Lee un valor por path. Retorna null si no existe. / Reads a value by path; null if missing. */
21
+ get(path: string): Promise<string | null>;
22
+ /** Escribe un valor. Refresca el mtime. / Writes a value. Refreshes mtime. */
23
+ set(path: string, value: string): Promise<void>;
24
+ /** Elimina el valor y todos sus descendientes. Idempotente. / Cascade delete. Idempotent. */
25
+ unset(path: string): Promise<boolean>;
26
+ /** Lista valores de los hijos directos, paginados por mtime DESC. / Lists direct children values, mtime DESC. */
27
+ list(path: string, offset?: number, limit?: number): Promise<string[]>;
28
+ /** Cuenta hijos directos sin leer los valores. / Counts direct children without loading values. */
29
+ count(path: string): Promise<number>;
30
+ /** Vacía completamente el almacén. / Clears the entire store. */
31
+ clear(): Promise<void>;
32
+ }
33
+ export { FileSystemEngine } from '../../../lib/store/engine/lib/file_system/index.js';
34
+ export { RedisEngine, type RedisClient } from '../../../lib/store/engine/lib/redis/index.js';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @file store/engine/index.ts
3
+ * @description Contrato del motor de persistencia (string-based) y barrel de drivers.
4
+ * Engine contract (string-based) and drivers barrel.
5
+ */
6
+ export { FileSystemEngine } from '../../../lib/store/engine/lib/file_system/index.js';
7
+ export { RedisEngine } from '../../../lib/store/engine/lib/redis/index.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/store/engine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @file store/engine/lib/file_system/index.ts
3
+ * @description Driver de persistencia en sistema de archivos local.
4
+ * Local filesystem persistence driver.
5
+ */
6
+ import type { Engine } from '../../../../../lib/store/engine/index.js';
7
+ /**
8
+ * Driver de persistencia en sistema de archivos.
9
+ * Cada documento se almacena como `<base>/<path>/index.json` de modo que un recurso pueda
10
+ * coexistir con sub-recursos anidados.
11
+ *
12
+ * Filesystem persistence driver. Each document lives at `<base>/<path>/index.json` so a
13
+ * resource can coexist with nested sub-resources.
14
+ *
15
+ * @example
16
+ * const engine = new FileSystemEngine('/tmp/wa');
17
+ * await engine.set('/chat/123', JSON.stringify({ name: 'John' }));
18
+ */
19
+ export declare class FileSystemEngine implements Engine {
20
+ private readonly _base;
21
+ constructor(_base: string);
22
+ /** @internal */
23
+ private _dir;
24
+ /** @internal */
25
+ private _file;
26
+ /**
27
+ * Lee el valor de un documento.
28
+ * Reads a document's value.
29
+ */
30
+ get(path: string): Promise<string | null>;
31
+ /**
32
+ * Escribe el valor de un documento, creando los directorios necesarios.
33
+ * Writes a document's value, creating directories as needed.
34
+ */
35
+ set(path: string, value: string): Promise<void>;
36
+ /**
37
+ * Elimina el documento y todos sus descendientes. Idempotente.
38
+ * Deletes the document and every descendant. Idempotent.
39
+ */
40
+ unset(path: string): Promise<boolean>;
41
+ /**
42
+ * Lista los valores de los hijos directos, ordenados por mtime DESC.
43
+ * Lists direct children values ordered by mtime DESC.
44
+ */
45
+ list(path: string, offset?: number, limit?: number): Promise<string[]>;
46
+ /**
47
+ * Cuenta los hijos directos que tienen un documento válido.
48
+ * Counts direct children with a valid document.
49
+ */
50
+ count(path: string): Promise<number>;
51
+ /**
52
+ * Vacía completamente el almacén.
53
+ * Clears the entire store.
54
+ */
55
+ clear(): Promise<void>;
56
+ }
@@ -0,0 +1,156 @@
1
+ /**
2
+ * @file store/engine/lib/file_system/index.ts
3
+ * @description Driver de persistencia en sistema de archivos local.
4
+ * Local filesystem persistence driver.
5
+ */
6
+ import { mkdir, readdir, readFile, rm, stat, writeFile } from 'node:fs/promises';
7
+ import { join } from 'node:path';
8
+ const INDEX_FILE = 'index.json';
9
+ /**
10
+ * Normaliza un path colapsando slashes redundantes.
11
+ * Normalizes a path by collapsing redundant slashes.
12
+ */
13
+ function normalize_path(path) {
14
+ return path.replace(/\/+/g, '/').replace(/^\/|\/$/g, '');
15
+ }
16
+ /**
17
+ * Driver de persistencia en sistema de archivos.
18
+ * Cada documento se almacena como `<base>/<path>/index.json` de modo que un recurso pueda
19
+ * coexistir con sub-recursos anidados.
20
+ *
21
+ * Filesystem persistence driver. Each document lives at `<base>/<path>/index.json` so a
22
+ * resource can coexist with nested sub-resources.
23
+ *
24
+ * @example
25
+ * const engine = new FileSystemEngine('/tmp/wa');
26
+ * await engine.set('/chat/123', JSON.stringify({ name: 'John' }));
27
+ */
28
+ export class FileSystemEngine {
29
+ constructor(_base) {
30
+ this._base = _base;
31
+ }
32
+ /** @internal */
33
+ _dir(path) {
34
+ return join(this._base, normalize_path(path));
35
+ }
36
+ /** @internal */
37
+ _file(path) {
38
+ return join(this._dir(path), INDEX_FILE);
39
+ }
40
+ /**
41
+ * Lee el valor de un documento.
42
+ * Reads a document's value.
43
+ */
44
+ async get(path) {
45
+ try {
46
+ return await readFile(this._file(path), 'utf-8');
47
+ }
48
+ catch {
49
+ return null;
50
+ }
51
+ }
52
+ /**
53
+ * Escribe el valor de un documento, creando los directorios necesarios.
54
+ * Writes a document's value, creating directories as needed.
55
+ */
56
+ async set(path, value) {
57
+ const dir = this._dir(path);
58
+ await mkdir(dir, { recursive: true });
59
+ await writeFile(join(dir, INDEX_FILE), value, 'utf-8');
60
+ }
61
+ /**
62
+ * Elimina el documento y todos sus descendientes. Idempotente.
63
+ * Deletes the document and every descendant. Idempotent.
64
+ */
65
+ async unset(path) {
66
+ try {
67
+ await rm(this._dir(path), { recursive: true, force: true });
68
+ }
69
+ catch {
70
+ /* idempotent */
71
+ }
72
+ return true;
73
+ }
74
+ /**
75
+ * Lista los valores de los hijos directos, ordenados por mtime DESC.
76
+ * Lists direct children values ordered by mtime DESC.
77
+ */
78
+ async list(path, offset = 0, limit = 50) {
79
+ const dir = this._dir(path);
80
+ try {
81
+ const entries = await readdir(dir, { withFileTypes: true });
82
+ const stats = await Promise.all(entries
83
+ .filter((e) => e.isDirectory())
84
+ .map(async (entry) => {
85
+ const file = join(dir, entry.name, INDEX_FILE);
86
+ try {
87
+ const st = await stat(file);
88
+ return { file, mtime: st.mtimeMs };
89
+ }
90
+ catch {
91
+ return null;
92
+ }
93
+ }));
94
+ const valid = stats.filter((x) => x !== null);
95
+ valid.sort((a, b) => b.mtime - a.mtime);
96
+ const page = valid.slice(offset, offset + limit);
97
+ const values = await Promise.all(page.map(async ({ file }) => {
98
+ try {
99
+ return await readFile(file, 'utf-8');
100
+ }
101
+ catch {
102
+ return null;
103
+ }
104
+ }));
105
+ const result = [];
106
+ for (const value of values) {
107
+ if (value !== null) {
108
+ result.push(value);
109
+ }
110
+ }
111
+ return result;
112
+ }
113
+ catch {
114
+ return [];
115
+ }
116
+ }
117
+ /**
118
+ * Cuenta los hijos directos que tienen un documento válido.
119
+ * Counts direct children with a valid document.
120
+ */
121
+ async count(path) {
122
+ const dir = this._dir(path);
123
+ try {
124
+ const entries = await readdir(dir, { withFileTypes: true });
125
+ let total = 0;
126
+ await Promise.all(entries
127
+ .filter((e) => e.isDirectory())
128
+ .map(async (entry) => {
129
+ try {
130
+ await stat(join(dir, entry.name, INDEX_FILE));
131
+ total++;
132
+ }
133
+ catch {
134
+ /* not a valid child doc */
135
+ }
136
+ }));
137
+ return total;
138
+ }
139
+ catch {
140
+ return 0;
141
+ }
142
+ }
143
+ /**
144
+ * Vacía completamente el almacén.
145
+ * Clears the entire store.
146
+ */
147
+ async clear() {
148
+ try {
149
+ await rm(this._base, { recursive: true, force: true });
150
+ }
151
+ catch {
152
+ /* idempotent */
153
+ }
154
+ }
155
+ }
156
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/file_system/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * @file store/engine/lib/redis/index.ts
3
+ * @description Driver de persistencia con Redis.
4
+ * Redis persistence driver.
5
+ */
6
+ import type { Engine } from '../../../../../lib/store/engine/index.js';
7
+ /**
8
+ * Interface mínima del cliente Redis (compatible con ioredis).
9
+ * Minimal Redis client interface (ioredis-compatible).
10
+ */
11
+ export interface RedisClient {
12
+ get(key: string): Promise<string | null>;
13
+ set(key: string, value: string): Promise<unknown>;
14
+ del(keys: string | string[]): Promise<unknown>;
15
+ mget(keys: string[]): Promise<(string | null)[]>;
16
+ scan(cursor: number | string, ...args: unknown[]): Promise<[string, string[]]>;
17
+ zadd(key: string, score: number, member: string): Promise<unknown>;
18
+ zrem(key: string, members: string | string[]): Promise<unknown>;
19
+ zrevrange(key: string, start: number, stop: number): Promise<string[]>;
20
+ zcard(key: string): Promise<number>;
21
+ }
22
+ /**
23
+ * Driver de persistencia con Redis.
24
+ *
25
+ * Keyspaces:
26
+ * - `<prefix>:doc:<path>` → string del documento.
27
+ * - `<prefix>:idx:<parent>` → sorted set (score=mtime, member=path completo).
28
+ *
29
+ * `list` combina ZREVRANGE + MGET → O(log N + M) en una sola round-trip.
30
+ *
31
+ * @example
32
+ * import IORedis from 'ioredis';
33
+ * const engine = new RedisEngine(new IORedis(), 'wa:5491112345678');
34
+ */
35
+ export declare class RedisEngine implements Engine {
36
+ private readonly _client;
37
+ private readonly _prefix;
38
+ constructor(_client: RedisClient, _prefix?: string);
39
+ /** @internal */
40
+ private _doc_key;
41
+ /** @internal */
42
+ private _idx_key;
43
+ /** @internal */
44
+ private _split;
45
+ /**
46
+ * Lee el valor de un documento.
47
+ * Reads a document's value.
48
+ */
49
+ get(path: string): Promise<string | null>;
50
+ /**
51
+ * Escribe el valor y actualiza el índice del padre con el timestamp actual.
52
+ * Writes the value and updates the parent's index with current timestamp.
53
+ */
54
+ set(path: string, value: string): Promise<void>;
55
+ /**
56
+ * Elimina el doc, su índice y todo el sub-árbol.
57
+ * Deletes the doc, its index, and the entire subtree.
58
+ */
59
+ unset(path: string): Promise<boolean>;
60
+ /**
61
+ * Lista valores de los hijos directos, ordenados por mtime DESC en una round-trip.
62
+ * Lists direct children values ordered by mtime DESC in a single round-trip.
63
+ */
64
+ list(path: string, offset?: number, limit?: number): Promise<string[]>;
65
+ /**
66
+ * Cuenta hijos directos en O(1) usando ZCARD.
67
+ * Counts direct children in O(1) via ZCARD.
68
+ */
69
+ count(path: string): Promise<number>;
70
+ /**
71
+ * Vacía todo el prefix del cliente.
72
+ * Clears the entire client prefix.
73
+ */
74
+ clear(): Promise<void>;
75
+ /**
76
+ * Borra todas las keys que coinciden con un patrón usando SCAN + DEL por lotes.
77
+ * Deletes all keys matching a pattern via SCAN + DEL in batches.
78
+ *
79
+ * @internal
80
+ */
81
+ private _delete_pattern;
82
+ }
@@ -0,0 +1,128 @@
1
+ /**
2
+ * @file store/engine/lib/redis/index.ts
3
+ * @description Driver de persistencia con Redis.
4
+ * Redis persistence driver.
5
+ */
6
+ /**
7
+ * Normaliza un path colapsando slashes redundantes.
8
+ * Normalizes a path by collapsing redundant slashes.
9
+ */
10
+ function normalize_path(path) {
11
+ return path.replace(/\/+/g, '/').replace(/^\/|\/$/g, '');
12
+ }
13
+ /**
14
+ * Driver de persistencia con Redis.
15
+ *
16
+ * Keyspaces:
17
+ * - `<prefix>:doc:<path>` → string del documento.
18
+ * - `<prefix>:idx:<parent>` → sorted set (score=mtime, member=path completo).
19
+ *
20
+ * `list` combina ZREVRANGE + MGET → O(log N + M) en una sola round-trip.
21
+ *
22
+ * @example
23
+ * import IORedis from 'ioredis';
24
+ * const engine = new RedisEngine(new IORedis(), 'wa:5491112345678');
25
+ */
26
+ export class RedisEngine {
27
+ constructor(_client, _prefix = 'wa:default') {
28
+ this._client = _client;
29
+ this._prefix = _prefix;
30
+ }
31
+ /** @internal */
32
+ _doc_key(path) {
33
+ return `${this._prefix}:doc:${normalize_path(path)}`;
34
+ }
35
+ /** @internal */
36
+ _idx_key(parent) {
37
+ return `${this._prefix}:idx:${normalize_path(parent)}`;
38
+ }
39
+ /** @internal */
40
+ _split(path) {
41
+ const full = normalize_path(path);
42
+ const i = full.lastIndexOf('/');
43
+ if (i === -1) {
44
+ return { parent: '', full };
45
+ }
46
+ return { parent: full.slice(0, i), full };
47
+ }
48
+ /**
49
+ * Lee el valor de un documento.
50
+ * Reads a document's value.
51
+ */
52
+ async get(path) {
53
+ return this._client.get(this._doc_key(path));
54
+ }
55
+ /**
56
+ * Escribe el valor y actualiza el índice del padre con el timestamp actual.
57
+ * Writes the value and updates the parent's index with current timestamp.
58
+ */
59
+ async set(path, value) {
60
+ const { parent, full } = this._split(path);
61
+ await this._client.set(this._doc_key(full), value);
62
+ await this._client.zadd(this._idx_key(parent), Date.now(), full);
63
+ }
64
+ /**
65
+ * Elimina el doc, su índice y todo el sub-árbol.
66
+ * Deletes the doc, its index, and the entire subtree.
67
+ */
68
+ async unset(path) {
69
+ const { parent, full } = this._split(path);
70
+ await this._client.del(this._doc_key(full));
71
+ await this._client.zrem(this._idx_key(parent), full);
72
+ await this._delete_pattern(`${this._prefix}:doc:${full}/*`);
73
+ await this._delete_pattern(`${this._prefix}:idx:${full}`);
74
+ await this._delete_pattern(`${this._prefix}:idx:${full}/*`);
75
+ return true;
76
+ }
77
+ /**
78
+ * Lista valores de los hijos directos, ordenados por mtime DESC en una round-trip.
79
+ * Lists direct children values ordered by mtime DESC in a single round-trip.
80
+ */
81
+ async list(path, offset = 0, limit = 50) {
82
+ const { full } = this._split(path);
83
+ const members = await this._client.zrevrange(this._idx_key(full), offset, offset + limit - 1);
84
+ if (members.length === 0) {
85
+ return [];
86
+ }
87
+ const raws = await this._client.mget(members.map((m) => this._doc_key(m)));
88
+ const result = [];
89
+ for (const raw of raws) {
90
+ if (raw !== null) {
91
+ result.push(raw);
92
+ }
93
+ }
94
+ return result;
95
+ }
96
+ /**
97
+ * Cuenta hijos directos en O(1) usando ZCARD.
98
+ * Counts direct children in O(1) via ZCARD.
99
+ */
100
+ async count(path) {
101
+ const { full } = this._split(path);
102
+ return this._client.zcard(this._idx_key(full));
103
+ }
104
+ /**
105
+ * Vacía todo el prefix del cliente.
106
+ * Clears the entire client prefix.
107
+ */
108
+ async clear() {
109
+ await this._delete_pattern(`${this._prefix}:*`);
110
+ }
111
+ /**
112
+ * Borra todas las keys que coinciden con un patrón usando SCAN + DEL por lotes.
113
+ * Deletes all keys matching a pattern via SCAN + DEL in batches.
114
+ *
115
+ * @internal
116
+ */
117
+ async _delete_pattern(pattern) {
118
+ let cursor = '0';
119
+ do {
120
+ const [next, batch] = await this._client.scan(cursor, 'MATCH', pattern, 'COUNT', 100);
121
+ cursor = next;
122
+ if (batch.length > 0) {
123
+ await this._client.del(batch);
124
+ }
125
+ } while (cursor !== '0');
126
+ }
127
+ }
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/redis/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC;AAkBD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAW;IACtB,YACmB,OAAoB,EACpB,UAAkB,YAAY;QAD9B,YAAO,GAAP,OAAO,CAAa;QACpB,YAAO,GAAP,OAAO,CAAuB;IAC7C,CAAC;IAEL,gBAAgB;IACR,QAAQ,CAAC,IAAY;QAC3B,OAAO,GAAG,IAAI,CAAC,OAAO,QAAQ,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,gBAAgB;IACR,QAAQ,CAAC,MAAc;QAC7B,OAAO,GAAG,IAAI,CAAC,OAAO,QAAQ,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,gBAAgB;IACR,MAAM,CAAC,IAAY;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,KAAa;QACnC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,IAAI,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,IAAI,IAAI,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,eAAe,CAAC,OAAe;QAC3C,IAAI,MAAM,GAAoB,GAAG,CAAC;QAClC,GAAG,CAAC;YACF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YACtF,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,QAAQ,MAAM,KAAK,GAAG,EAAE;IAC3B,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @file store/index.ts
3
+ * @description Barrel del módulo store — reexporta Engine + drivers y expone helpers de serialización.
4
+ * Store module barrel — re-exports Engine + drivers and provides serialization helpers.
5
+ */
6
+ export { FileSystemEngine, RedisEngine, type Engine, type RedisClient } from '../../lib/store/engine/index.js';
7
+ /**
8
+ * Serializa un documento a string preservando Buffers con BufferJSON de baileys.
9
+ * Serializes a document to string preserving Buffers via baileys BufferJSON.
10
+ *
11
+ * @param doc - Documento a serializar / Document to serialize
12
+ * @returns String JSON / JSON string
13
+ */
14
+ export declare function serialize<T>(doc: T): string;
15
+ /**
16
+ * Deserializa un string JSON a documento aplicando BufferJSON. Retorna null si la entrada es null.
17
+ * Deserializes a JSON string to document using BufferJSON. Returns null if input is null.
18
+ *
19
+ * @param raw - String JSON o null / JSON string or null
20
+ * @returns Documento parseado o null / Parsed document or null
21
+ */
22
+ export declare function deserialize<T>(raw: string | null): T | null;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @file store/index.ts
3
+ * @description Barrel del módulo store — reexporta Engine + drivers y expone helpers de serialización.
4
+ * Store module barrel — re-exports Engine + drivers and provides serialization helpers.
5
+ */
6
+ import { BufferJSON } from 'baileys';
7
+ export { FileSystemEngine, RedisEngine } from '../../lib/store/engine/index.js';
8
+ /**
9
+ * Serializa un documento a string preservando Buffers con BufferJSON de baileys.
10
+ * Serializes a document to string preserving Buffers via baileys BufferJSON.
11
+ *
12
+ * @param doc - Documento a serializar / Document to serialize
13
+ * @returns String JSON / JSON string
14
+ */
15
+ export function serialize(doc) {
16
+ return JSON.stringify(doc, BufferJSON.replacer);
17
+ }
18
+ /**
19
+ * Deserializa un string JSON a documento aplicando BufferJSON. Retorna null si la entrada es null.
20
+ * Deserializes a JSON string to document using BufferJSON. Returns null if input is null.
21
+ *
22
+ * @param raw - String JSON o null / JSON string or null
23
+ * @returns Documento parseado o null / Parsed document or null
24
+ */
25
+ export function deserialize(raw) {
26
+ if (raw === null) {
27
+ return null;
28
+ }
29
+ return JSON.parse(raw, BufferJSON.reviver);
30
+ }
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/store/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAiC,MAAM,oBAAoB,CAAC;AAElG;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAI,GAAM;IACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAI,GAAkB;IAC/C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAM,CAAC;AAClD,CAAC"}