@arcaelas/whatsapp 3.5.0 → 4.3.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 (63) hide show
  1. package/build/cjs/index.d.ts +1 -1
  2. package/build/cjs/index.js +4 -1
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/lib/bot/decorator.d.ts +18 -1
  5. package/build/cjs/lib/bot/decorator.js +20 -14
  6. package/build/cjs/lib/bot/decorator.js.map +1 -1
  7. package/build/cjs/lib/bot/decorators.d.ts +1 -1
  8. package/build/cjs/lib/bot/decorators.js +6 -20
  9. package/build/cjs/lib/bot/decorators.js.map +1 -1
  10. package/build/cjs/lib/contact/index.d.ts +33 -10
  11. package/build/cjs/lib/contact/index.js +28 -6
  12. package/build/cjs/lib/contact/index.js.map +1 -1
  13. package/build/cjs/lib/message/index.d.ts +101 -1
  14. package/build/cjs/lib/message/index.js +189 -3
  15. package/build/cjs/lib/message/index.js.map +1 -1
  16. package/build/cjs/lib/store/engine/index.d.ts +1 -0
  17. package/build/cjs/lib/store/engine/index.js +3 -1
  18. package/build/cjs/lib/store/engine/index.js.map +1 -1
  19. package/build/cjs/lib/store/engine/lib/file_system/index.js +1 -7
  20. package/build/cjs/lib/store/engine/lib/file_system/index.js.map +1 -1
  21. package/build/cjs/lib/store/engine/lib/redis/index.js +1 -7
  22. package/build/cjs/lib/store/engine/lib/redis/index.js.map +1 -1
  23. package/build/cjs/lib/store/engine/lib/s3/index.d.ts +66 -0
  24. package/build/cjs/lib/store/engine/lib/s3/index.js +169 -0
  25. package/build/cjs/lib/store/engine/lib/s3/index.js.map +1 -0
  26. package/build/cjs/lib/store/index.d.ts +1 -1
  27. package/build/cjs/lib/store/index.js +2 -1
  28. package/build/cjs/lib/store/index.js.map +1 -1
  29. package/build/cjs/lib/whatsapp/index.d.ts +8 -3
  30. package/build/cjs/lib/whatsapp/index.js +54 -70
  31. package/build/cjs/lib/whatsapp/index.js.map +1 -1
  32. package/build/esm/index.d.ts +1 -1
  33. package/build/esm/index.js +1 -1
  34. package/build/esm/index.js.map +1 -1
  35. package/build/esm/lib/bot/decorator.d.ts +18 -1
  36. package/build/esm/lib/bot/decorator.js +18 -14
  37. package/build/esm/lib/bot/decorator.js.map +1 -1
  38. package/build/esm/lib/bot/decorators.d.ts +1 -1
  39. package/build/esm/lib/bot/decorators.js +7 -21
  40. package/build/esm/lib/bot/decorators.js.map +1 -1
  41. package/build/esm/lib/contact/index.d.ts +33 -10
  42. package/build/esm/lib/contact/index.js +27 -6
  43. package/build/esm/lib/contact/index.js.map +1 -1
  44. package/build/esm/lib/message/index.d.ts +101 -1
  45. package/build/esm/lib/message/index.js +185 -2
  46. package/build/esm/lib/message/index.js.map +1 -1
  47. package/build/esm/lib/store/engine/index.d.ts +1 -0
  48. package/build/esm/lib/store/engine/index.js +1 -0
  49. package/build/esm/lib/store/engine/index.js.map +1 -1
  50. package/build/esm/lib/store/engine/lib/file_system/index.js +1 -7
  51. package/build/esm/lib/store/engine/lib/file_system/index.js.map +1 -1
  52. package/build/esm/lib/store/engine/lib/redis/index.js +1 -7
  53. package/build/esm/lib/store/engine/lib/redis/index.js.map +1 -1
  54. package/build/esm/lib/store/engine/lib/s3/index.d.ts +66 -0
  55. package/build/esm/lib/store/engine/lib/s3/index.js +165 -0
  56. package/build/esm/lib/store/engine/lib/s3/index.js.map +1 -0
  57. package/build/esm/lib/store/index.d.ts +1 -1
  58. package/build/esm/lib/store/index.js +1 -1
  59. package/build/esm/lib/store/index.js.map +1 -1
  60. package/build/esm/lib/whatsapp/index.d.ts +8 -3
  61. package/build/esm/lib/whatsapp/index.js +55 -71
  62. package/build/esm/lib/whatsapp/index.js.map +1 -1
  63. package/package.json +3 -2
@@ -4,6 +4,6 @@
4
4
  * Public entry point of the @arcaelas/whatsapp library.
5
5
  */
6
6
  export { WhatsApp, default } from './lib/whatsapp/index.js';
7
- export { FileSystemEngine, RedisEngine } from './lib/store/index.js';
7
+ export { FileSystemEngine, RedisEngine, S3Engine, serialize, deserialize } from './lib/store/index.js';
8
8
  export { default as Feed, TTL_MS as FEED_TTL_MS } from './lib/status/index.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG9F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @file playground/bot/decorator.ts
2
+ * @file bot/decorator.ts
3
3
  * @description Infraestructura base de decoradores Stage 3 sobre WhatsApp.
4
4
  * Base infrastructure for Stage 3 decorators over WhatsApp.
5
5
  */
@@ -21,6 +21,23 @@ export interface BotSchema {
21
21
  workflows: Record<string, WorkflowStep[]>;
22
22
  }
23
23
  type Metadata = Record<string | symbol, unknown>;
24
+ /**
25
+ * Recupera o inicializa el `BotSchema` almacenado en la metadata del contexto.
26
+ * Retrieves or initializes the `BotSchema` stored in the context metadata.
27
+ *
28
+ * @param metadata - Objeto metadata del contexto del decorador / Decorator context metadata object
29
+ * @returns Schema del bot garantizado con `handlers` y `workflows` / Bot schema guaranteed to have `handlers` and `workflows`
30
+ */
31
+ export declare function ensure_schema(metadata: Metadata): BotSchema;
32
+ /**
33
+ * Recupera o inicializa el schema del bot y la entrada del método indicado.
34
+ * Retrieves or initializes the bot schema and the entry for the given method.
35
+ *
36
+ * @param metadata - Objeto metadata del contexto del decorador / Decorator context metadata object
37
+ * @param method_name - Nombre del método / Method name
38
+ * @returns Tupla `[schema, handler_meta]` para el método / Tuple `[schema, handler_meta]` for the method
39
+ */
40
+ export declare function resolve(metadata: Metadata, method_name: string): [BotSchema, HandlerMeta];
24
41
  /**
25
42
  * Registra un step dentro de un workflow. Uso interno del decorador `@pipe`.
26
43
  * Registers a step inside a workflow. Internal use of the `@pipe` decorator.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @file playground/bot/decorator.ts
2
+ * @file bot/decorator.ts
3
3
  * @description Infraestructura base de decoradores Stage 3 sobre WhatsApp.
4
4
  * Base infrastructure for Stage 3 decorators over WhatsApp.
5
5
  */
@@ -7,14 +7,13 @@ import WhatsApp from '../../lib/whatsapp/index.js';
7
7
  Symbol.metadata ??= Symbol.for('Symbol.metadata');
8
8
  export const HANDLERS = Symbol('wa:handlers');
9
9
  /**
10
- * Recupera o inicializa el schema del bot y la entrada del método indicado.
11
- * Retrieves or initializes the bot schema and the entry for the given method.
10
+ * Recupera o inicializa el `BotSchema` almacenado en la metadata del contexto.
11
+ * Retrieves or initializes the `BotSchema` stored in the context metadata.
12
12
  *
13
13
  * @param metadata - Objeto metadata del contexto del decorador / Decorator context metadata object
14
- * @param method_name - Nombre del método / Method name
15
- * @returns Tupla `[schema, handler_meta]` para el método / Tuple `[schema, handler_meta]` for the method
14
+ * @returns Schema del bot garantizado con `handlers` y `workflows` / Bot schema guaranteed to have `handlers` and `workflows`
16
15
  */
17
- function resolve(metadata, method_name) {
16
+ export function ensure_schema(metadata) {
18
17
  let schema = metadata[HANDLERS];
19
18
  if (!schema) {
20
19
  schema = { handlers: {}, workflows: {} };
@@ -23,6 +22,18 @@ function resolve(metadata, method_name) {
23
22
  if (!schema.workflows) {
24
23
  schema.workflows = {};
25
24
  }
25
+ return schema;
26
+ }
27
+ /**
28
+ * Recupera o inicializa el schema del bot y la entrada del método indicado.
29
+ * Retrieves or initializes the bot schema and the entry for the given method.
30
+ *
31
+ * @param metadata - Objeto metadata del contexto del decorador / Decorator context metadata object
32
+ * @param method_name - Nombre del método / Method name
33
+ * @returns Tupla `[schema, handler_meta]` para el método / Tuple `[schema, handler_meta]` for the method
34
+ */
35
+ export function resolve(metadata, method_name) {
36
+ const schema = ensure_schema(metadata);
26
37
  schema.handlers[method_name] ||= {
27
38
  method: method_name,
28
39
  events: [],
@@ -41,14 +52,7 @@ function resolve(metadata, method_name) {
41
52
  * @param step - Step a registrar (índice + nombre del método) / Step to register (index + method name)
42
53
  */
43
54
  export function register_workflow_step(metadata, workflow, step) {
44
- let schema = metadata[HANDLERS];
45
- if (!schema) {
46
- schema = { handlers: {}, workflows: {} };
47
- metadata[HANDLERS] = schema;
48
- }
49
- if (!schema.workflows) {
50
- schema.workflows = {};
51
- }
55
+ const schema = ensure_schema(metadata);
52
56
  schema.workflows[workflow] ||= [];
53
57
  schema.workflows[workflow].push(step);
54
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../src/lib/bot/decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../src/lib/bot/decorator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @file playground/bot/decorators.ts
2
+ * @file bot/decorators.ts
3
3
  * @description Decoradores públicos del bot.
4
4
  * Public bot decorators.
5
5
  */
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @file playground/bot/decorators.ts
2
+ * @file bot/decorators.ts
3
3
  * @description Decoradores públicos del bot.
4
4
  * Public bot decorators.
5
5
  */
6
- import { WhatsAppBot, decorator, HANDLERS, register_workflow_step, } from './decorator.js';
6
+ import { WhatsAppBot, decorator, register_workflow_step, resolve, } from './decorator.js';
7
7
  /**
8
8
  * Registra el método como listener del evento indicado. Apilable: varios `@on`
9
9
  * sobre el mismo método crean múltiples suscripciones.
@@ -41,22 +41,10 @@ export function once(event) {
41
41
  if (context.kind !== 'method') {
42
42
  throw new Error('@once only applicable to methods');
43
43
  }
44
- const metadata = context.metadata;
45
- if (!metadata[HANDLERS]) {
46
- metadata[HANDLERS] = { handlers: {}, workflows: {} };
47
- }
48
- const schema = metadata[HANDLERS];
49
- const method_name = String(context.name);
50
- schema.handlers[method_name] ||= {
51
- method: method_name,
52
- events: [],
53
- guards: [],
54
- transforms: [],
55
- once: false,
56
- };
57
- schema.handlers[method_name].once = true;
58
- if (event && !schema.handlers[method_name].events.includes(event)) {
59
- schema.handlers[method_name].events.push(event);
44
+ const [, handler] = resolve(context.metadata, String(context.name));
45
+ handler.once = true;
46
+ if (event && !handler.events.includes(event)) {
47
+ handler.events.push(event);
60
48
  }
61
49
  };
62
50
  }
@@ -244,9 +232,7 @@ export function command(pattern) {
244
232
  }
245
233
  return pattern.test(text);
246
234
  })(value, context);
247
- const metadata = context.metadata;
248
- const schema = metadata[HANDLERS];
249
- const handler = schema.handlers[String(context.name)];
235
+ const [, handler] = resolve(context.metadata, String(context.name));
250
236
  handler.transforms.push((args) => {
251
237
  const msg = args[0];
252
238
  const chat = args[1];
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/lib/bot/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/lib/bot/decorators.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,14 @@ export interface IContactRaw {
18
18
  img_url?: string | null;
19
19
  status?: string | null;
20
20
  }
21
+ /**
22
+ * Resuelve el nombre mostrado de un contacto con prioridad local → push → teléfono.
23
+ * Resolves a contact's display name with priority local → push → phone number.
24
+ *
25
+ * @param raw - Documento persistido del contacto / Persisted contact document
26
+ * @returns Nombre mostrado / Display name
27
+ */
28
+ export declare function contact_name(raw: IContactRaw): string;
21
29
  /**
22
30
  * Clase base del contacto (forma pública, solo lectura).
23
31
  * Base Contact class (public shape, read-only).
@@ -25,8 +33,8 @@ export interface IContactRaw {
25
33
  export declare class Contact {
26
34
  /** @internal Shape persistido. Uso interno (convención underscore). / Internal persisted shape. */
27
35
  readonly _raw: IContactRaw;
28
- /** Chat 1:1 asociado (hidratado). / Associated 1:1 chat (hydrated). */
29
- readonly chat: Chat;
36
+ /** @internal Chat 1:1 asociado ya hidratado. / Internal already-hydrated 1:1 chat. */
37
+ readonly _chat: Chat;
30
38
  constructor(raw: IContactRaw, chat: Chat);
31
39
  /** JID único. / Unique JID. */
32
40
  get id(): string;
@@ -42,6 +50,13 @@ export declare class Contact {
42
50
  get photo(): string | null;
43
51
  /** Bio del contacto. / Contact bio. */
44
52
  get content(): string;
53
+ /**
54
+ * Chat 1:1 asociado al contacto. Async por coherencia con `Message.chat()` /
55
+ * `Message.author()`, aunque la instancia ya está hidratada en memoria.
56
+ * 1:1 chat associated with the contact. Async for consistency with
57
+ * `Message.chat()` / `Message.author()`, though already hydrated in memory.
58
+ */
59
+ chat(): Promise<Chat>;
45
60
  }
46
61
  /**
47
62
  * Factoría de Contact ligada al contexto WhatsApp.
@@ -51,8 +66,10 @@ export declare class Contact {
51
66
  */
52
67
  export declare function contact(wa: WhatsApp): {
53
68
  new (raw: IContactRaw, chat: InstanceType<typeof wa.Chat>): {
54
- /** Chat 1:1 asociado como subclase enriquecida. / Associated 1:1 chat as enriched subclass. */
55
- readonly chat: InstanceType<typeof wa.Chat>;
69
+ /** @internal Chat 1:1 hidratado como subclase enriquecida. / Internal hydrated 1:1 chat as enriched subclass. */
70
+ readonly _chat: InstanceType<typeof wa.Chat>;
71
+ /** Chat 1:1 asociado (subclase enriquecida). / Associated 1:1 chat (enriched subclass). */
72
+ chat(): Promise<InstanceType<typeof wa.Chat>>;
56
73
  /** true si la instancia representa la cuenta autenticada. / true if this instance is the authenticated account. */
57
74
  get me(): boolean;
58
75
  /**
@@ -92,8 +109,10 @@ export declare function contact(wa: WhatsApp): {
92
109
  * - If `uid` lacks `@` → digits are extracted and `socket.onWhatsApp(phone)` resolves the canonical JID.
93
110
  */
94
111
  get(uid: string): Promise<{
95
- /** Chat 1:1 asociado como subclase enriquecida. / Associated 1:1 chat as enriched subclass. */
96
- readonly chat: InstanceType<typeof wa.Chat>;
112
+ /** @internal Chat 1:1 hidratado como subclase enriquecida. / Internal hydrated 1:1 chat as enriched subclass. */
113
+ readonly _chat: InstanceType<typeof wa.Chat>;
114
+ /** Chat 1:1 asociado (subclase enriquecida). / Associated 1:1 chat (enriched subclass). */
115
+ chat(): Promise<InstanceType<typeof wa.Chat>>;
97
116
  /** true si la instancia representa la cuenta autenticada. / true if this instance is the authenticated account. */
98
117
  get me(): boolean;
99
118
  /**
@@ -128,8 +147,10 @@ export declare function contact(wa: WhatsApp): {
128
147
  * Paginates persisted contacts by mtime DESC, pre-loading the chat of each one.
129
148
  */
130
149
  list(offset?: number, limit?: number): Promise<{
131
- /** Chat 1:1 asociado como subclase enriquecida. / Associated 1:1 chat as enriched subclass. */
132
- readonly chat: InstanceType<typeof wa.Chat>;
150
+ /** @internal Chat 1:1 hidratado como subclase enriquecida. / Internal hydrated 1:1 chat as enriched subclass. */
151
+ readonly _chat: InstanceType<typeof wa.Chat>;
152
+ /** Chat 1:1 asociado (subclase enriquecida). / Associated 1:1 chat (enriched subclass). */
153
+ chat(): Promise<InstanceType<typeof wa.Chat>>;
133
154
  /** true si la instancia representa la cuenta autenticada. / true if this instance is the authenticated account. */
134
155
  get me(): boolean;
135
156
  /**
@@ -169,8 +190,10 @@ export declare function contact(wa: WhatsApp): {
169
190
  * Re-hydrates contact data from the socket by id.
170
191
  */
171
192
  refresh(uid: string): Promise<{
172
- /** Chat 1:1 asociado como subclase enriquecida. / Associated 1:1 chat as enriched subclass. */
173
- readonly chat: InstanceType<typeof wa.Chat>;
193
+ /** @internal Chat 1:1 hidratado como subclase enriquecida. / Internal hydrated 1:1 chat as enriched subclass. */
194
+ readonly _chat: InstanceType<typeof wa.Chat>;
195
+ /** Chat 1:1 asociado (subclase enriquecida). / Associated 1:1 chat (enriched subclass). */
196
+ chat(): Promise<InstanceType<typeof wa.Chat>>;
174
197
  /** true si la instancia representa la cuenta autenticada. / true if this instance is the authenticated account. */
175
198
  get me(): boolean;
176
199
  /**
@@ -5,6 +5,16 @@
5
5
  */
6
6
  import { jidNormalizedUser } from 'baileys';
7
7
  import { deserialize, serialize } from '../../lib/store/index.js';
8
+ /**
9
+ * Resuelve el nombre mostrado de un contacto con prioridad local → push → teléfono.
10
+ * Resolves a contact's display name with priority local → push → phone number.
11
+ *
12
+ * @param raw - Documento persistido del contacto / Persisted contact document
13
+ * @returns Nombre mostrado / Display name
14
+ */
15
+ export function contact_name(raw) {
16
+ return raw.name ?? raw.notify ?? raw.id.split('@')[0];
17
+ }
8
18
  /**
9
19
  * Clase base del contacto (forma pública, solo lectura).
10
20
  * Base Contact class (public shape, read-only).
@@ -12,7 +22,7 @@ import { deserialize, serialize } from '../../lib/store/index.js';
12
22
  export class Contact {
13
23
  constructor(raw, chat) {
14
24
  this._raw = raw;
15
- this.chat = chat;
25
+ this._chat = chat;
16
26
  }
17
27
  /** JID único. / Unique JID. */
18
28
  get id() {
@@ -28,7 +38,7 @@ export class Contact {
28
38
  }
29
39
  /** Nombre: local → push → teléfono. / Name: local → push → phone. */
30
40
  get name() {
31
- return this._raw.name ?? this._raw.notify ?? this._raw.id.split('@')[0];
41
+ return contact_name(this._raw);
32
42
  }
33
43
  /** Número sin formato. / Raw phone number. */
34
44
  get phone() {
@@ -42,6 +52,15 @@ export class Contact {
42
52
  get content() {
43
53
  return this._raw.status ?? '';
44
54
  }
55
+ /**
56
+ * Chat 1:1 asociado al contacto. Async por coherencia con `Message.chat()` /
57
+ * `Message.author()`, aunque la instancia ya está hidratada en memoria.
58
+ * 1:1 chat associated with the contact. Async for consistency with
59
+ * `Message.chat()` / `Message.author()`, though already hydrated in memory.
60
+ */
61
+ async chat() {
62
+ return this._chat;
63
+ }
45
64
  }
46
65
  /**
47
66
  * Factoría de Contact ligada al contexto WhatsApp.
@@ -101,6 +120,10 @@ export function contact(wa) {
101
120
  constructor(raw, chat) {
102
121
  super(raw, chat);
103
122
  }
123
+ /** Chat 1:1 asociado (subclase enriquecida). / Associated 1:1 chat (enriched subclass). */
124
+ async chat() {
125
+ return this._chat;
126
+ }
104
127
  /** true si la instancia representa la cuenta autenticada. / true if this instance is the authenticated account. */
105
128
  get me() {
106
129
  const self_id = wa._socket?.user?.id;
@@ -132,8 +155,7 @@ export function contact(wa) {
132
155
  if (jid && !jid.endsWith('@g.us')) {
133
156
  const cached = deserialize(await wa.engine.get(`/contact/${jid}`));
134
157
  if (cached) {
135
- const fallback_name = cached.name ?? cached.notify ?? jid.split('@')[0];
136
- result = new _Contact(cached, await load_chat_for(jid, fallback_name));
158
+ result = new _Contact(cached, await load_chat_for(jid, contact_name(cached)));
137
159
  }
138
160
  else if (wa._socket) {
139
161
  const needs_check = !lid && !uid.endsWith('@lid');
@@ -170,8 +192,7 @@ export function contact(wa) {
170
192
  for (const raw of await wa.engine.list('/contact', offset, limit)) {
171
193
  const parsed = deserialize(raw);
172
194
  if (parsed) {
173
- const fallback_name = parsed.name ?? parsed.notify ?? parsed.id.split('@')[0];
174
- contacts.push(new _Contact(parsed, await load_chat_for(parsed.id, fallback_name)));
195
+ contacts.push(new _Contact(parsed, await load_chat_for(parsed.id, contact_name(parsed))));
175
196
  }
176
197
  }
177
198
  return contacts;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/contact/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/contact/index.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export type ForwardTarget = string | Chat | Contact;
13
13
  type ChatInstance = InstanceType<ReturnType<typeof chat>>;
14
14
  type ContactInstance = InstanceType<ReturnType<typeof contact>>;
15
15
  /** Tipos de mensaje internos (no expuestos como getter público). */
16
- export type MessageType = 'text' | 'image' | 'video' | 'audio' | 'location' | 'poll';
16
+ export type MessageType = 'text' | 'image' | 'video' | 'audio' | 'location' | 'poll' | 'document' | 'vcard' | 'event';
17
17
  export declare enum MessageStatus {
18
18
  ERROR = 0,
19
19
  PENDING = 1,
@@ -35,6 +35,35 @@ export interface SendPollOptions extends SendOptions {
35
35
  /** true para selección múltiple; default false (single). / true for multi-select; default false (single). */
36
36
  multiple?: boolean;
37
37
  }
38
+ export interface SendDocumentOptions extends SendOptions {
39
+ /** Nombre del archivo mostrado al receptor. / File name shown to the recipient. */
40
+ file_name: string;
41
+ /** MIME real del contenido; default `application/octet-stream`. / Real content MIME; defaults to `application/octet-stream`. */
42
+ mimetype?: string;
43
+ /** Texto adjunto opcional. / Optional attached caption. */
44
+ caption?: string;
45
+ }
46
+ export interface VCardInput {
47
+ /** Nombre mostrado del contacto. / Contact display name. */
48
+ name: string;
49
+ /** Teléfono en formato internacional. / Phone in international format. */
50
+ phone: string;
51
+ }
52
+ export interface EventInput {
53
+ /** Nombre del evento. / Event name. */
54
+ name: string;
55
+ /** Descripción opcional (texto del evento, expuesto como `caption`). / Optional description (event text, exposed as `caption`). */
56
+ caption?: string;
57
+ /** Fecha/hora de inicio. / Start date/time. */
58
+ start: Date;
59
+ /** Fecha/hora de fin opcional. / Optional end date/time. */
60
+ end?: Date;
61
+ /** Ubicación opcional. / Optional location. */
62
+ place?: {
63
+ lat: number;
64
+ lng: number;
65
+ };
66
+ }
38
67
  export interface LocationOptions {
39
68
  lat: number;
40
69
  lng: number;
@@ -167,6 +196,12 @@ export declare class Message {
167
196
  location(loc: LocationOptions, opts?: SendOptions): Promise<Message | null>;
168
197
  /** Responde con encuesta. */
169
198
  poll(poll: PollOptions, opts?: SendPollOptions): Promise<Message | null>;
199
+ /** Responde con documento. */
200
+ document(buf: Buffer, opts: SendDocumentOptions): Promise<Message | null>;
201
+ /** Responde con tarjeta(s) de contacto. */
202
+ vcard(contacts: VCardInput[], opts?: SendOptions): Promise<Message | null>;
203
+ /** Responde con evento. */
204
+ event(data: EventInput, opts?: SendOptions): Promise<Message | null>;
170
205
  }
171
206
  /**
172
207
  * Mensaje de texto. Override `content()` para retornar el caption como Buffer sin pasar por engine.
@@ -241,6 +276,65 @@ export declare class Poll extends Message {
241
276
  */
242
277
  select(index: number | number[]): Promise<boolean>;
243
278
  }
279
+ /**
280
+ * Mensaje de documento. WhatsApp permite enviar cualquier archivo (PDF, imagen,
281
+ * audio, video, etc.) como documento; lo que lo distingue de image/video/audio es
282
+ * el tipo de mensaje (`documentMessage`), no el mimetype. Hereda `stream()` de la
283
+ * clase base; `content()` drena el stream (cache → download).
284
+ * Document message. WhatsApp lets you send any file (PDF, image, audio, video…)
285
+ * as a document; what sets it apart from image/video/audio is the message type
286
+ * (`documentMessage`), not the mimetype. Inherits `stream()` from the base class;
287
+ * `content()` drains the stream (cache → download).
288
+ */
289
+ export declare class Document extends Message {
290
+ private get _doc_msg();
291
+ /** Nombre del archivo. / File name. */
292
+ get file_name(): string;
293
+ /** Tamaño en bytes (0 si se desconoce). / Size in bytes (0 if unknown). */
294
+ get size(): number;
295
+ /** Número de páginas (PDF); 0 si no aplica. / Page count (PDF); 0 when not applicable. */
296
+ get pages(): number;
297
+ /** Título del documento. / Document title. */
298
+ get title(): string;
299
+ content(): Promise<Buffer>;
300
+ }
301
+ /**
302
+ * Mensaje de tarjeta(s) de contacto (vCard). Unifica `contactMessage` (uno) y
303
+ * `contactsArrayMessage` (varios) bajo una sola lista `contacts`.
304
+ * Contact card message (vCard). Unifies `contactMessage` (single) and
305
+ * `contactsArrayMessage` (multiple) under a single `contacts` list.
306
+ */
307
+ export declare class VCard extends Message {
308
+ /** Contactos de la tarjeta con nombre y teléfono. / Card contacts with name and phone. */
309
+ get contacts(): {
310
+ name: string;
311
+ phone: string;
312
+ }[];
313
+ }
314
+ /**
315
+ * Mensaje de evento de calendario (`eventMessage`): nombre, descripción, rango de
316
+ * fechas, estado de cancelación, link de unión y ubicación.
317
+ * Calendar event message (`eventMessage`): name, description, date range,
318
+ * cancellation state, join link and location.
319
+ */
320
+ export declare class Event extends Message {
321
+ private get _event();
322
+ /** Nombre del evento. / Event name. */
323
+ get name(): string;
324
+ /** Epoch ms de inicio. / Start epoch ms. */
325
+ get start(): number;
326
+ /** Epoch ms de fin, o null. / End epoch ms, or null. */
327
+ get end(): number | null;
328
+ /** true si el evento fue cancelado. / true if the event was canceled. */
329
+ get canceled(): boolean;
330
+ /** Link de unión (audio/video), si aplica. / Join link (audio/video), if any. */
331
+ get link(): string;
332
+ /** Ubicación del evento, o null. / Event location, or null. */
333
+ get place(): {
334
+ lat: number;
335
+ lng: number;
336
+ } | null;
337
+ }
244
338
  /**
245
339
  * Factoría que enlaza los statics a `wa` y expone las subclases.
246
340
  * Factory binding statics to `wa` and exposing subclasses.
@@ -252,6 +346,9 @@ export declare function message(wa: WhatsApp): {
252
346
  Audio: typeof Audio;
253
347
  Gps: typeof Gps;
254
348
  Poll: typeof Poll;
349
+ Document: typeof Document;
350
+ VCard: typeof VCard;
351
+ Event: typeof Event;
255
352
  build_message_doc: typeof build_message_doc;
256
353
  build_instance: (doc: IMessage) => Promise<Message>;
257
354
  /** Obtiene un mensaje por CID/MID. */
@@ -266,6 +363,9 @@ export declare function message(wa: WhatsApp): {
266
363
  audio(cid: string, buf: Buffer, opts?: SendAudioOptions): Promise<Message | null>;
267
364
  location(cid: string, loc: LocationOptions, opts?: SendOptions): Promise<Message | null>;
268
365
  poll(cid: string, p: PollOptions, opts?: SendPollOptions): Promise<Message | null>;
366
+ document(cid: string, buf: Buffer, opts: SendDocumentOptions): Promise<Message | null>;
367
+ vcard(cid: string, contacts: VCardInput[], opts?: SendOptions): Promise<Message | null>;
368
+ event(cid: string, data: EventInput, opts?: SendOptions): Promise<Message | null>;
269
369
  edit(cid: string, mid: string, text: string): Promise<boolean>;
270
370
  delete(cid: string, mid: string, all?: boolean): Promise<boolean>;
271
371
  react(cid: string, mid: string, emoji: string): Promise<boolean>;