@arcaelas/whatsapp 3.1.1 → 3.2.0

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 (93) hide show
  1. package/build/cjs/_index.d.ts +14 -0
  2. package/build/cjs/_index.js +346 -0
  3. package/build/cjs/_index.js.map +1 -0
  4. package/build/cjs/decorators.d.ts +9 -0
  5. package/build/cjs/decorators.js +26 -0
  6. package/build/cjs/decorators.js.map +1 -0
  7. package/build/cjs/index.d.ts +11 -0
  8. package/build/cjs/index.js +21 -0
  9. package/build/cjs/index.js.map +1 -0
  10. package/build/cjs/lib/bot/decorator.d.ts +77 -0
  11. package/build/cjs/lib/bot/decorator.js +219 -0
  12. package/build/cjs/lib/bot/decorator.js.map +1 -0
  13. package/build/cjs/lib/bot/decorators.d.ts +113 -0
  14. package/build/cjs/lib/bot/decorators.js +253 -0
  15. package/build/cjs/lib/bot/decorators.js.map +1 -0
  16. package/build/cjs/lib/bot/index.d.ts +3 -0
  17. package/build/cjs/lib/bot/index.js +20 -0
  18. package/build/cjs/lib/bot/index.js.map +1 -0
  19. package/build/cjs/lib/chat/index.d.ts +260 -0
  20. package/build/cjs/lib/chat/index.js +341 -0
  21. package/build/cjs/lib/chat/index.js.map +1 -0
  22. package/build/cjs/lib/contact/index.d.ts +203 -0
  23. package/build/cjs/lib/contact/index.js +226 -0
  24. package/build/cjs/lib/contact/index.js.map +1 -0
  25. package/build/cjs/lib/message/index.d.ts +277 -0
  26. package/build/cjs/lib/message/index.js +767 -0
  27. package/build/cjs/lib/message/index.js.map +1 -0
  28. package/build/cjs/lib/status/index.d.ts +85 -0
  29. package/build/cjs/lib/status/index.js +137 -0
  30. package/build/cjs/lib/status/index.js.map +1 -0
  31. package/build/cjs/lib/store/engine/index.d.ts +34 -0
  32. package/build/cjs/lib/store/engine/index.js +13 -0
  33. package/build/cjs/lib/store/engine/index.js.map +1 -0
  34. package/build/cjs/lib/store/engine/lib/file_system/index.d.ts +56 -0
  35. package/build/cjs/lib/store/engine/lib/file_system/index.js +160 -0
  36. package/build/cjs/lib/store/engine/lib/file_system/index.js.map +1 -0
  37. package/build/cjs/lib/store/engine/lib/redis/index.d.ts +82 -0
  38. package/build/cjs/lib/store/engine/lib/redis/index.js +132 -0
  39. package/build/cjs/lib/store/engine/lib/redis/index.js.map +1 -0
  40. package/build/cjs/lib/store/index.d.ts +22 -0
  41. package/build/cjs/lib/store/index.js +38 -0
  42. package/build/cjs/lib/store/index.js.map +1 -0
  43. package/build/cjs/lib/whatsapp/index.d.ts +185 -0
  44. package/build/cjs/lib/whatsapp/index.js +870 -0
  45. package/build/cjs/lib/whatsapp/index.js.map +1 -0
  46. package/build/cjs/package.json +1 -0
  47. package/build/esm/_index.d.ts +14 -0
  48. package/build/esm/_index.js +344 -0
  49. package/build/esm/_index.js.map +1 -0
  50. package/build/esm/decorators.d.ts +9 -0
  51. package/build/esm/decorators.js +9 -0
  52. package/build/esm/decorators.js.map +1 -0
  53. package/build/esm/index.d.ts +11 -0
  54. package/build/esm/index.js +9 -0
  55. package/build/esm/index.js.map +1 -0
  56. package/build/esm/lib/bot/decorator.d.ts +77 -0
  57. package/build/esm/lib/bot/decorator.js +210 -0
  58. package/build/esm/lib/bot/decorator.js.map +1 -0
  59. package/build/esm/lib/bot/decorators.d.ts +113 -0
  60. package/build/esm/lib/bot/decorators.js +242 -0
  61. package/build/esm/lib/bot/decorators.js.map +1 -0
  62. package/build/esm/lib/bot/index.d.ts +3 -0
  63. package/build/esm/lib/bot/index.js +3 -0
  64. package/build/esm/lib/bot/index.js.map +1 -0
  65. package/build/esm/lib/chat/index.d.ts +260 -0
  66. package/build/esm/lib/chat/index.js +336 -0
  67. package/build/esm/lib/chat/index.js.map +1 -0
  68. package/build/esm/lib/contact/index.d.ts +203 -0
  69. package/build/esm/lib/contact/index.js +221 -0
  70. package/build/esm/lib/contact/index.js.map +1 -0
  71. package/build/esm/lib/message/index.d.ts +277 -0
  72. package/build/esm/lib/message/index.js +755 -0
  73. package/build/esm/lib/message/index.js.map +1 -0
  74. package/build/esm/lib/status/index.d.ts +85 -0
  75. package/build/esm/lib/status/index.js +133 -0
  76. package/build/esm/lib/status/index.js.map +1 -0
  77. package/build/esm/lib/store/engine/index.d.ts +34 -0
  78. package/build/esm/lib/store/engine/index.js +8 -0
  79. package/build/esm/lib/store/engine/index.js.map +1 -0
  80. package/build/esm/lib/store/engine/lib/file_system/index.d.ts +56 -0
  81. package/build/esm/lib/store/engine/lib/file_system/index.js +156 -0
  82. package/build/esm/lib/store/engine/lib/file_system/index.js.map +1 -0
  83. package/build/esm/lib/store/engine/lib/redis/index.d.ts +82 -0
  84. package/build/esm/lib/store/engine/lib/redis/index.js +128 -0
  85. package/build/esm/lib/store/engine/lib/redis/index.js.map +1 -0
  86. package/build/esm/lib/store/index.d.ts +22 -0
  87. package/build/esm/lib/store/index.js +31 -0
  88. package/build/esm/lib/store/index.js.map +1 -0
  89. package/build/esm/lib/whatsapp/index.d.ts +185 -0
  90. package/build/esm/lib/whatsapp/index.js +830 -0
  91. package/build/esm/lib/whatsapp/index.js.map +1 -0
  92. package/build/esm/package.json +1 -0
  93. package/package.json +1 -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,85 @@
1
+ /**
2
+ * @file status/index.ts
3
+ * @description Entidad `Feed` — representa una publicación del status broadcast
4
+ * (`status@broadcast`). Análoga a `Message` pero acotada al ciclo de vida de un
5
+ * status (24h, no se cita, no se edita, sin starring/forward).
6
+ * Status broadcast entry. Analogous to `Message` but scoped to the status
7
+ * lifecycle (24h TTL, no quoting, no editing, no starring/forward).
8
+ */
9
+ import { type WAMessage } from 'baileys';
10
+ import { Readable } from 'node:stream';
11
+ import { Contact } from '../../lib/contact';
12
+ import type { WhatsApp } from '../../lib/whatsapp';
13
+ /** Tipos soportados por un status broadcast. / Status broadcast supported types. */
14
+ export type FeedType = 'text' | 'image' | 'video' | 'audio';
15
+ /**
16
+ * Documento persistido del status.
17
+ * Persisted status document.
18
+ */
19
+ export interface IFeedRaw {
20
+ id: string;
21
+ author_jid: string;
22
+ type: FeedType;
23
+ caption: string;
24
+ mime: string;
25
+ created_at: number;
26
+ expires_at: number;
27
+ viewed: boolean;
28
+ raw: WAMessage;
29
+ }
30
+ /** Vida útil del status: 24 horas en ms. / Status lifetime: 24h in ms. */
31
+ export declare const TTL_MS: number;
32
+ /**
33
+ * Status broadcast — una publicación del feed `status@broadcast` con duración 24h.
34
+ *
35
+ * Status broadcast entry — a `status@broadcast` post with a 24h lifetime.
36
+ */
37
+ export default class Feed {
38
+ /** @internal */
39
+ protected readonly _wa: WhatsApp;
40
+ /** @internal */
41
+ protected readonly _doc: IFeedRaw;
42
+ /** @internal Cache de la promesa de `author()` para evitar engine round-trips repetidos. */
43
+ private _author_cache;
44
+ constructor(options: {
45
+ wa: WhatsApp;
46
+ doc: IFeedRaw;
47
+ });
48
+ /** Identificador del status (mid). / Status id (mid). */
49
+ get id(): string;
50
+ /** Tipo de contenido. / Content type. */
51
+ get type(): FeedType;
52
+ /** true si ya enviamos read receipt sobre este status. / true once a read receipt was sent. */
53
+ get viewed(): boolean;
54
+ /** Texto / caption del status. / Status text or caption. */
55
+ get caption(): string;
56
+ /** Epoch ms de publicación. / Publication epoch ms. */
57
+ get created_at(): number;
58
+ /** Epoch ms de expiración (created_at + 24h). / Expiration epoch ms (created_at + 24h). */
59
+ get expires_at(): number;
60
+ /**
61
+ * Resuelve el autor del status. Memoizado a nivel de instancia: la primera
62
+ * llamada va al engine vía `wa.Contact.get`; las siguientes devuelven la misma
63
+ * instancia sin volver a leer.
64
+ * Resolves the status author. Instance-memoized: first call hits the engine
65
+ * via `wa.Contact.get`; subsequent calls return the cached instance.
66
+ */
67
+ author(): Promise<Contact>;
68
+ /**
69
+ * Stream progresivo del contenido. Para texto envuelve el caption; para media
70
+ * lee del cache del engine y, si falta, descarga desde baileys.
71
+ * Progressive content stream. For text wraps the caption; for media reads the
72
+ * engine cache and falls back to baileys download.
73
+ */
74
+ stream(): Promise<Readable>;
75
+ /**
76
+ * Acumula el stream del status en un Buffer.
77
+ * Drains the status stream into a Buffer.
78
+ */
79
+ content(): Promise<Buffer>;
80
+ /**
81
+ * Marca el status como visto enviando read receipt. Persiste `viewed = true`.
82
+ * Marks the status as seen sending a read receipt. Persists `viewed = true`.
83
+ */
84
+ view(): Promise<boolean>;
85
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /**
3
+ * @file status/index.ts
4
+ * @description Entidad `Feed` — representa una publicación del status broadcast
5
+ * (`status@broadcast`). Análoga a `Message` pero acotada al ciclo de vida de un
6
+ * status (24h, no se cita, no se edita, sin starring/forward).
7
+ * Status broadcast entry. Analogous to `Message` but scoped to the status
8
+ * lifecycle (24h TTL, no quoting, no editing, no starring/forward).
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.TTL_MS = void 0;
12
+ const baileys_1 = require("baileys");
13
+ const node_stream_1 = require("node:stream");
14
+ const store_1 = require("../../lib/store");
15
+ /** Vida útil del status: 24 horas en ms. / Status lifetime: 24h in ms. */
16
+ exports.TTL_MS = 24 * 60 * 60 * 1000;
17
+ /**
18
+ * Status broadcast — una publicación del feed `status@broadcast` con duración 24h.
19
+ *
20
+ * Status broadcast entry — a `status@broadcast` post with a 24h lifetime.
21
+ */
22
+ class Feed {
23
+ constructor(options) {
24
+ /** @internal Cache de la promesa de `author()` para evitar engine round-trips repetidos. */
25
+ this._author_cache = null;
26
+ this._wa = options.wa;
27
+ this._doc = options.doc;
28
+ }
29
+ /** Identificador del status (mid). / Status id (mid). */
30
+ get id() {
31
+ return this._doc.id;
32
+ }
33
+ /** Tipo de contenido. / Content type. */
34
+ get type() {
35
+ return this._doc.type;
36
+ }
37
+ /** true si ya enviamos read receipt sobre este status. / true once a read receipt was sent. */
38
+ get viewed() {
39
+ return this._doc.viewed;
40
+ }
41
+ /** Texto / caption del status. / Status text or caption. */
42
+ get caption() {
43
+ return this._doc.caption;
44
+ }
45
+ /** Epoch ms de publicación. / Publication epoch ms. */
46
+ get created_at() {
47
+ return this._doc.created_at;
48
+ }
49
+ /** Epoch ms de expiración (created_at + 24h). / Expiration epoch ms (created_at + 24h). */
50
+ get expires_at() {
51
+ return this._doc.expires_at;
52
+ }
53
+ /**
54
+ * Resuelve el autor del status. Memoizado a nivel de instancia: la primera
55
+ * llamada va al engine vía `wa.Contact.get`; las siguientes devuelven la misma
56
+ * instancia sin volver a leer.
57
+ * Resolves the status author. Instance-memoized: first call hits the engine
58
+ * via `wa.Contact.get`; subsequent calls return the cached instance.
59
+ */
60
+ async author() {
61
+ return (this._author_cache ??= (async () => {
62
+ const { _wa, _doc } = this;
63
+ const fetched = await _wa.Contact.get(_doc.author_jid);
64
+ return (fetched ??
65
+ new _wa.Contact({
66
+ id: _doc.author_jid,
67
+ lid: null,
68
+ name: null,
69
+ notify: null,
70
+ verified_name: null,
71
+ img_url: null,
72
+ status: null,
73
+ }, new _wa.Chat({
74
+ id: _doc.author_jid,
75
+ name: _doc.author_jid.split('@')[0],
76
+ })));
77
+ })());
78
+ }
79
+ /**
80
+ * Stream progresivo del contenido. Para texto envuelve el caption; para media
81
+ * lee del cache del engine y, si falta, descarga desde baileys.
82
+ * Progressive content stream. For text wraps the caption; for media reads the
83
+ * engine cache and falls back to baileys download.
84
+ */
85
+ async stream() {
86
+ const { _wa, _doc } = this;
87
+ if (_doc.type === 'text') {
88
+ return node_stream_1.Readable.from(Buffer.from(_doc.caption, 'utf-8'));
89
+ }
90
+ const cached = (0, store_1.deserialize)(await _wa.engine.get(`/status/${_doc.id}/content`));
91
+ if (cached?.data) {
92
+ return node_stream_1.Readable.from(Buffer.from(cached.data, 'base64'));
93
+ }
94
+ if (_wa._socket) {
95
+ try {
96
+ return (await (0, baileys_1.downloadMediaMessage)(_doc.raw, 'stream', {}));
97
+ }
98
+ catch {
99
+ /* fallback empty */
100
+ }
101
+ }
102
+ return node_stream_1.Readable.from(Buffer.alloc(0));
103
+ }
104
+ /**
105
+ * Acumula el stream del status en un Buffer.
106
+ * Drains the status stream into a Buffer.
107
+ */
108
+ async content() {
109
+ const chunks = [];
110
+ for await (const chunk of await this.stream()) {
111
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
112
+ }
113
+ return Buffer.concat(chunks);
114
+ }
115
+ /**
116
+ * Marca el status como visto enviando read receipt. Persiste `viewed = true`.
117
+ * Marks the status as seen sending a read receipt. Persists `viewed = true`.
118
+ */
119
+ async view() {
120
+ const { _wa, _doc } = this;
121
+ let ok = false;
122
+ if (_wa._socket) {
123
+ if (!_doc.viewed) {
124
+ await _wa._socket.readMessages([
125
+ { remoteJid: 'status@broadcast', id: _doc.id, participant: _doc.author_jid },
126
+ ]);
127
+ _doc.viewed = true;
128
+ await _wa.engine.set(`/status/${_doc.id}`, (0, store_1.serialize)(_doc));
129
+ }
130
+ _wa._event.emit('feed:updated', this, _wa);
131
+ ok = true;
132
+ }
133
+ return ok;
134
+ }
135
+ }
136
+ exports.default = Feed;
137
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/status/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';
34
+ export { RedisEngine, type RedisClient } from '../../../lib/store/engine/lib/redis';
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * @file store/engine/index.ts
4
+ * @description Contrato del motor de persistencia (string-based) y barrel de drivers.
5
+ * Engine contract (string-based) and drivers barrel.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.RedisEngine = exports.FileSystemEngine = void 0;
9
+ var file_system_1 = require("../../../lib/store/engine/lib/file_system");
10
+ Object.defineProperty(exports, "FileSystemEngine", { enumerable: true, get: function () { return file_system_1.FileSystemEngine; } });
11
+ var redis_1 = require("../../../lib/store/engine/lib/redis");
12
+ Object.defineProperty(exports, "RedisEngine", { enumerable: true, get: function () { return redis_1.RedisEngine; } });
13
+ //# 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,kEAAsE;AAA7D,+GAAA,gBAAgB,OAAA;AACzB,sDAA6E;AAApE,oGAAA,WAAW,OAAA"}
@@ -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';
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,160 @@
1
+ "use strict";
2
+ /**
3
+ * @file store/engine/lib/file_system/index.ts
4
+ * @description Driver de persistencia en sistema de archivos local.
5
+ * Local filesystem persistence driver.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.FileSystemEngine = void 0;
9
+ const promises_1 = require("node:fs/promises");
10
+ const node_path_1 = require("node:path");
11
+ const INDEX_FILE = 'index.json';
12
+ /**
13
+ * Normaliza un path colapsando slashes redundantes.
14
+ * Normalizes a path by collapsing redundant slashes.
15
+ */
16
+ function normalize_path(path) {
17
+ return path.replace(/\/+/g, '/').replace(/^\/|\/$/g, '');
18
+ }
19
+ /**
20
+ * Driver de persistencia en sistema de archivos.
21
+ * Cada documento se almacena como `<base>/<path>/index.json` de modo que un recurso pueda
22
+ * coexistir con sub-recursos anidados.
23
+ *
24
+ * Filesystem persistence driver. Each document lives at `<base>/<path>/index.json` so a
25
+ * resource can coexist with nested sub-resources.
26
+ *
27
+ * @example
28
+ * const engine = new FileSystemEngine('/tmp/wa');
29
+ * await engine.set('/chat/123', JSON.stringify({ name: 'John' }));
30
+ */
31
+ class FileSystemEngine {
32
+ constructor(_base) {
33
+ this._base = _base;
34
+ }
35
+ /** @internal */
36
+ _dir(path) {
37
+ return (0, node_path_1.join)(this._base, normalize_path(path));
38
+ }
39
+ /** @internal */
40
+ _file(path) {
41
+ return (0, node_path_1.join)(this._dir(path), INDEX_FILE);
42
+ }
43
+ /**
44
+ * Lee el valor de un documento.
45
+ * Reads a document's value.
46
+ */
47
+ async get(path) {
48
+ try {
49
+ return await (0, promises_1.readFile)(this._file(path), 'utf-8');
50
+ }
51
+ catch {
52
+ return null;
53
+ }
54
+ }
55
+ /**
56
+ * Escribe el valor de un documento, creando los directorios necesarios.
57
+ * Writes a document's value, creating directories as needed.
58
+ */
59
+ async set(path, value) {
60
+ const dir = this._dir(path);
61
+ await (0, promises_1.mkdir)(dir, { recursive: true });
62
+ await (0, promises_1.writeFile)((0, node_path_1.join)(dir, INDEX_FILE), value, 'utf-8');
63
+ }
64
+ /**
65
+ * Elimina el documento y todos sus descendientes. Idempotente.
66
+ * Deletes the document and every descendant. Idempotent.
67
+ */
68
+ async unset(path) {
69
+ try {
70
+ await (0, promises_1.rm)(this._dir(path), { recursive: true, force: true });
71
+ }
72
+ catch {
73
+ /* idempotent */
74
+ }
75
+ return true;
76
+ }
77
+ /**
78
+ * Lista los valores de los hijos directos, ordenados por mtime DESC.
79
+ * Lists direct children values ordered by mtime DESC.
80
+ */
81
+ async list(path, offset = 0, limit = 50) {
82
+ const dir = this._dir(path);
83
+ try {
84
+ const entries = await (0, promises_1.readdir)(dir, { withFileTypes: true });
85
+ const stats = await Promise.all(entries
86
+ .filter((e) => e.isDirectory())
87
+ .map(async (entry) => {
88
+ const file = (0, node_path_1.join)(dir, entry.name, INDEX_FILE);
89
+ try {
90
+ const st = await (0, promises_1.stat)(file);
91
+ return { file, mtime: st.mtimeMs };
92
+ }
93
+ catch {
94
+ return null;
95
+ }
96
+ }));
97
+ const valid = stats.filter((x) => x !== null);
98
+ valid.sort((a, b) => b.mtime - a.mtime);
99
+ const page = valid.slice(offset, offset + limit);
100
+ const values = await Promise.all(page.map(async ({ file }) => {
101
+ try {
102
+ return await (0, promises_1.readFile)(file, 'utf-8');
103
+ }
104
+ catch {
105
+ return null;
106
+ }
107
+ }));
108
+ const result = [];
109
+ for (const value of values) {
110
+ if (value !== null) {
111
+ result.push(value);
112
+ }
113
+ }
114
+ return result;
115
+ }
116
+ catch {
117
+ return [];
118
+ }
119
+ }
120
+ /**
121
+ * Cuenta los hijos directos que tienen un documento válido.
122
+ * Counts direct children with a valid document.
123
+ */
124
+ async count(path) {
125
+ const dir = this._dir(path);
126
+ try {
127
+ const entries = await (0, promises_1.readdir)(dir, { withFileTypes: true });
128
+ let total = 0;
129
+ await Promise.all(entries
130
+ .filter((e) => e.isDirectory())
131
+ .map(async (entry) => {
132
+ try {
133
+ await (0, promises_1.stat)((0, node_path_1.join)(dir, entry.name, INDEX_FILE));
134
+ total++;
135
+ }
136
+ catch {
137
+ /* not a valid child doc */
138
+ }
139
+ }));
140
+ return total;
141
+ }
142
+ catch {
143
+ return 0;
144
+ }
145
+ }
146
+ /**
147
+ * Vacía completamente el almacén.
148
+ * Clears the entire store.
149
+ */
150
+ async clear() {
151
+ try {
152
+ await (0, promises_1.rm)(this._base, { recursive: true, force: true });
153
+ }
154
+ catch {
155
+ /* idempotent */
156
+ }
157
+ }
158
+ }
159
+ exports.FileSystemEngine = FileSystemEngine;
160
+ //# 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';
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
+ }