@elizaos/plugin-whatsapp 2.0.0-alpha.9 → 2.0.3-beta.5

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 (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +176 -0
  3. package/auto-enable.ts +21 -0
  4. package/dist/.tsbuildinfo +1 -0
  5. package/dist/accounts.d.ts +205 -0
  6. package/dist/accounts.d.ts.map +1 -0
  7. package/dist/api/whatsapp-routes.d.ts +53 -0
  8. package/dist/api/whatsapp-routes.d.ts.map +1 -0
  9. package/dist/baileys/auth.d.ts +10 -0
  10. package/dist/baileys/auth.d.ts.map +1 -0
  11. package/dist/baileys/connection.d.ts +19 -0
  12. package/dist/baileys/connection.d.ts.map +1 -0
  13. package/dist/baileys/message-adapter.d.ts +14 -0
  14. package/dist/baileys/message-adapter.d.ts.map +1 -0
  15. package/dist/baileys/qr-code.d.ts +6 -0
  16. package/dist/baileys/qr-code.d.ts.map +1 -0
  17. package/dist/client.d.ts +99 -0
  18. package/dist/client.d.ts.map +1 -0
  19. package/dist/clients/baileys-client.d.ts +18 -0
  20. package/dist/clients/baileys-client.d.ts.map +1 -0
  21. package/dist/clients/factory.d.ts +6 -0
  22. package/dist/clients/factory.d.ts.map +1 -0
  23. package/dist/clients/interface.d.ts +10 -0
  24. package/dist/clients/interface.d.ts.map +1 -0
  25. package/dist/config.d.ts +135 -0
  26. package/dist/config.d.ts.map +1 -0
  27. package/dist/connector-account-provider.d.ts +19 -0
  28. package/dist/connector-account-provider.d.ts.map +1 -0
  29. package/dist/index.d.ts +14 -2
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +2526 -854
  32. package/dist/index.js.map +23 -19
  33. package/dist/media.d.ts +2 -0
  34. package/dist/media.d.ts.map +1 -0
  35. package/dist/normalize.d.ts +69 -0
  36. package/dist/normalize.d.ts.map +1 -0
  37. package/dist/pairing-service.d.ts +41 -0
  38. package/dist/pairing-service.d.ts.map +1 -0
  39. package/dist/qrcode-terminal-types.d.ts +6 -0
  40. package/dist/qrcode-terminal-types.d.ts.map +1 -0
  41. package/dist/runtime-service.d.ts +125 -0
  42. package/dist/runtime-service.d.ts.map +1 -0
  43. package/dist/services/whatsapp-pairing.d.ts +41 -0
  44. package/dist/services/whatsapp-pairing.d.ts.map +1 -0
  45. package/dist/setup-routes.d.ts +26 -0
  46. package/dist/setup-routes.d.ts.map +1 -0
  47. package/dist/types.d.ts +370 -0
  48. package/dist/types.d.ts.map +1 -0
  49. package/dist/utils/config-detector.d.ts +3 -0
  50. package/dist/utils/config-detector.d.ts.map +1 -0
  51. package/dist/webhook-auth.d.ts +11 -0
  52. package/dist/webhook-auth.d.ts.map +1 -0
  53. package/dist/workflow-credential-provider.d.ts +21 -0
  54. package/dist/workflow-credential-provider.d.ts.map +1 -0
  55. package/package.json +162 -131
  56. package/registry-entry.json +128 -0
@@ -0,0 +1,370 @@
1
+ export type WhatsAppConfig = CloudAPIConfig | BaileysConfig;
2
+ export interface CloudAPIConfig {
3
+ authMethod?: "cloudapi";
4
+ accessToken: string;
5
+ phoneNumberId: string;
6
+ webhookVerifyToken?: string;
7
+ businessAccountId?: string;
8
+ apiVersion?: string;
9
+ }
10
+ export interface BaileysConfig {
11
+ authMethod?: "baileys";
12
+ authDir: string;
13
+ printQRInTerminal?: boolean;
14
+ sessionPath?: string;
15
+ }
16
+ /**
17
+ * Message types supported by WhatsApp Cloud API.
18
+ */
19
+ export type WhatsAppMessageType = "text" | "template" | "image" | "audio" | "video" | "document" | "sticker" | "location" | "contacts" | "interactive" | "reaction";
20
+ export interface WhatsAppMessage {
21
+ type: WhatsAppMessageType;
22
+ to: string;
23
+ content: string | WhatsAppTemplate | WhatsAppMediaMessage | WhatsAppInteractiveMessage | WhatsAppReactionMessage | WhatsAppLocationMessage;
24
+ replyToMessageId?: string;
25
+ }
26
+ export interface WhatsAppTemplate {
27
+ name: string;
28
+ language: {
29
+ code: string;
30
+ };
31
+ components?: Array<{
32
+ type: string;
33
+ parameters: Array<{
34
+ type: string;
35
+ text?: string;
36
+ image?: {
37
+ link: string;
38
+ };
39
+ document?: {
40
+ link: string;
41
+ filename?: string;
42
+ };
43
+ video?: {
44
+ link: string;
45
+ };
46
+ }>;
47
+ }>;
48
+ }
49
+ /**
50
+ * Media message content.
51
+ */
52
+ export interface WhatsAppMediaMessage {
53
+ link?: string;
54
+ id?: string;
55
+ caption?: string;
56
+ filename?: string;
57
+ mimeType?: string;
58
+ }
59
+ /**
60
+ * Reaction message content.
61
+ */
62
+ export interface WhatsAppReactionMessage {
63
+ messageId: string;
64
+ emoji: string;
65
+ }
66
+ /**
67
+ * Location message content.
68
+ */
69
+ export interface WhatsAppLocationMessage {
70
+ latitude: number;
71
+ longitude: number;
72
+ name?: string;
73
+ address?: string;
74
+ }
75
+ /**
76
+ * Interactive message types.
77
+ */
78
+ export type InteractiveMessageType = "button" | "list" | "product" | "product_list" | "flow";
79
+ /**
80
+ * Interactive message content.
81
+ */
82
+ export interface WhatsAppInteractiveMessage {
83
+ type: InteractiveMessageType;
84
+ header?: {
85
+ type: "text" | "image" | "video" | "document";
86
+ text?: string;
87
+ image?: {
88
+ link: string;
89
+ };
90
+ video?: {
91
+ link: string;
92
+ };
93
+ document?: {
94
+ link: string;
95
+ filename?: string;
96
+ };
97
+ };
98
+ body: {
99
+ text: string;
100
+ };
101
+ footer?: {
102
+ text: string;
103
+ };
104
+ action: WhatsAppInteractiveAction;
105
+ }
106
+ /**
107
+ * Interactive action based on message type.
108
+ */
109
+ export type WhatsAppInteractiveAction = WhatsAppButtonAction | WhatsAppListAction | WhatsAppFlowAction;
110
+ /**
111
+ * Button action for interactive messages.
112
+ */
113
+ export interface WhatsAppButtonAction {
114
+ buttons: Array<{
115
+ type: "reply";
116
+ reply: {
117
+ id: string;
118
+ title: string;
119
+ };
120
+ }>;
121
+ }
122
+ /**
123
+ * List action for interactive messages.
124
+ */
125
+ export interface WhatsAppListAction {
126
+ button: string;
127
+ sections: Array<{
128
+ title?: string;
129
+ rows: Array<{
130
+ id: string;
131
+ title: string;
132
+ description?: string;
133
+ }>;
134
+ }>;
135
+ }
136
+ /**
137
+ * Flow action for interactive messages.
138
+ */
139
+ export interface WhatsAppFlowAction {
140
+ name: "flow";
141
+ parameters: {
142
+ flow_message_version: string;
143
+ flow_token: string;
144
+ flow_id: string;
145
+ flow_cta: string;
146
+ flow_action: "navigate" | "data_exchange";
147
+ flow_action_payload?: {
148
+ screen: string;
149
+ data?: Record<string, unknown>;
150
+ };
151
+ };
152
+ }
153
+ export interface WhatsAppIncomingMessage {
154
+ from: string;
155
+ id: string;
156
+ timestamp: string;
157
+ text?: {
158
+ body: string;
159
+ };
160
+ image?: {
161
+ caption?: string;
162
+ mime_type: string;
163
+ sha256: string;
164
+ id: string;
165
+ };
166
+ video?: {
167
+ caption?: string;
168
+ mime_type: string;
169
+ sha256: string;
170
+ id: string;
171
+ };
172
+ audio?: {
173
+ mime_type: string;
174
+ sha256: string;
175
+ id: string;
176
+ voice?: boolean;
177
+ };
178
+ document?: {
179
+ caption?: string;
180
+ filename: string;
181
+ mime_type: string;
182
+ sha256: string;
183
+ id: string;
184
+ };
185
+ sticker?: {
186
+ mime_type: string;
187
+ sha256: string;
188
+ id: string;
189
+ animated?: boolean;
190
+ };
191
+ location?: {
192
+ latitude: number;
193
+ longitude: number;
194
+ name?: string;
195
+ address?: string;
196
+ };
197
+ contacts?: Array<{
198
+ name: {
199
+ formatted_name: string;
200
+ first_name?: string;
201
+ last_name?: string;
202
+ };
203
+ phones?: Array<{
204
+ phone: string;
205
+ type: string;
206
+ }>;
207
+ }>;
208
+ interactive?: {
209
+ type: "button_reply" | "list_reply" | "nfm_reply";
210
+ button_reply?: {
211
+ id: string;
212
+ title: string;
213
+ };
214
+ list_reply?: {
215
+ id: string;
216
+ title: string;
217
+ description?: string;
218
+ };
219
+ nfm_reply?: {
220
+ response_json: string;
221
+ body: string;
222
+ name: string;
223
+ };
224
+ };
225
+ reaction?: {
226
+ message_id: string;
227
+ emoji: string;
228
+ };
229
+ context?: {
230
+ from: string;
231
+ id: string;
232
+ referred_product?: {
233
+ catalog_id: string;
234
+ product_retailer_id: string;
235
+ };
236
+ };
237
+ type: string;
238
+ }
239
+ export interface WhatsAppStatusUpdate {
240
+ id: string;
241
+ status: "sent" | "delivered" | "read" | "failed";
242
+ timestamp: string;
243
+ recipient_id: string;
244
+ conversation?: {
245
+ id: string;
246
+ origin?: {
247
+ type: string;
248
+ };
249
+ expiration_timestamp?: string;
250
+ };
251
+ pricing?: {
252
+ billable: boolean;
253
+ pricing_model: string;
254
+ category: string;
255
+ };
256
+ errors?: Array<{
257
+ code: number;
258
+ title: string;
259
+ message?: string;
260
+ error_data?: {
261
+ details: string;
262
+ };
263
+ }>;
264
+ }
265
+ export interface WhatsAppWebhookEvent {
266
+ object: string;
267
+ entry: Array<{
268
+ id: string;
269
+ changes: Array<{
270
+ value: {
271
+ messaging_product: string;
272
+ metadata: {
273
+ display_phone_number: string;
274
+ phone_number_id: string;
275
+ };
276
+ statuses?: WhatsAppStatusUpdate[];
277
+ messages?: WhatsAppIncomingMessage[];
278
+ contacts?: Array<{
279
+ profile: {
280
+ name: string;
281
+ };
282
+ wa_id: string;
283
+ }>;
284
+ errors?: Array<{
285
+ code: number;
286
+ title: string;
287
+ message?: string;
288
+ error_data?: {
289
+ details: string;
290
+ };
291
+ }>;
292
+ };
293
+ field: string;
294
+ }>;
295
+ }>;
296
+ }
297
+ export interface WhatsAppMessageResponse {
298
+ messaging_product: string;
299
+ contacts: Array<{
300
+ input: string;
301
+ wa_id: string;
302
+ }>;
303
+ messages: Array<{
304
+ id: string;
305
+ message_status?: string;
306
+ }>;
307
+ }
308
+ export interface QRCodeData {
309
+ terminal: string;
310
+ dataURL: string;
311
+ raw: string;
312
+ }
313
+ export type ConnectionStatus = "connecting" | "open" | "close";
314
+ export interface NormalizedMessage {
315
+ id: string;
316
+ from: string;
317
+ timestamp: number;
318
+ type: "text" | "image" | "audio" | "video" | "document";
319
+ content: string;
320
+ chatId?: string;
321
+ senderId?: string;
322
+ replyToId?: string;
323
+ }
324
+ /**
325
+ * Send reaction parameters.
326
+ */
327
+ export interface SendReactionParams {
328
+ to: string;
329
+ messageId: string;
330
+ emoji: string;
331
+ }
332
+ /**
333
+ * Send reaction result.
334
+ */
335
+ export interface SendReactionResult {
336
+ success: boolean;
337
+ messageId?: string;
338
+ error?: string;
339
+ }
340
+ /**
341
+ * WhatsApp event types.
342
+ */
343
+ export declare enum WhatsAppEventType {
344
+ MESSAGE_RECEIVED = "WHATSAPP_MESSAGE_RECEIVED",
345
+ MESSAGE_SENT = "WHATSAPP_MESSAGE_SENT",
346
+ MESSAGE_DELIVERED = "WHATSAPP_MESSAGE_DELIVERED",
347
+ MESSAGE_READ = "WHATSAPP_MESSAGE_READ",
348
+ MESSAGE_FAILED = "WHATSAPP_MESSAGE_FAILED",
349
+ REACTION_RECEIVED = "WHATSAPP_REACTION_RECEIVED",
350
+ REACTION_SENT = "WHATSAPP_REACTION_SENT",
351
+ INTERACTIVE_REPLY = "WHATSAPP_INTERACTIVE_REPLY",
352
+ WEBHOOK_VERIFIED = "WHATSAPP_WEBHOOK_VERIFIED"
353
+ }
354
+ /**
355
+ * Common WhatsApp reaction emojis.
356
+ */
357
+ export declare const WHATSAPP_REACTIONS: {
358
+ readonly THUMBS_UP: "👍";
359
+ readonly THUMBS_DOWN: "👎";
360
+ readonly HEART: "❤️";
361
+ readonly LAUGHING: "😂";
362
+ readonly SURPRISED: "😮";
363
+ readonly SAD: "😢";
364
+ readonly PRAYING: "🙏";
365
+ readonly CLAPPING: "👏";
366
+ readonly FIRE: "🔥";
367
+ readonly CELEBRATION: "🎉";
368
+ };
369
+ export type WhatsAppReactionEmoji = (typeof WHATSAPP_REACTIONS)[keyof typeof WHATSAPP_REACTIONS];
370
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,UAAU,GACV,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,GACV,SAAS,GACT,UAAU,GACV,UAAU,GACV,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EACH,MAAM,GACN,gBAAgB,GAChB,oBAAoB,GACpB,0BAA0B,GAC1B,uBAAuB,GACvB,uBAAuB,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;YACzB,QAAQ,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAC/C,KAAK,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;SAC1B,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;QAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACzB,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACzB,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;IACF,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE,yBAAyB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GACjC,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE;YACL,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,KAAK,CAAC;YACV,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,UAAU,GAAG,eAAe,CAAC;QAC1C,mBAAmB,CAAC,EAAE;YACpB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAChC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,OAAO,CAAC,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE;YACJ,cAAc,EAAE,MAAM,CAAC;YACvB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,MAAM,CAAC,EAAE,KAAK,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,CAAC;QAClD,YAAY,CAAC,EAAE;YACb,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,UAAU,CAAC,EAAE;YACX,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,SAAS,CAAC,EAAE;YACV,aAAa,EAAE,MAAM,CAAC;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,gBAAgB,CAAC,EAAE;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,mBAAmB,EAAE,MAAM,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE;YACX,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,KAAK,CAAC;YACb,KAAK,EAAE;gBACL,iBAAiB,EAAE,MAAM,CAAC;gBAC1B,QAAQ,EAAE;oBACR,oBAAoB,EAAE,MAAM,CAAC;oBAC7B,eAAe,EAAE,MAAM,CAAC;iBACzB,CAAC;gBACF,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;gBAClC,QAAQ,CAAC,EAAE,uBAAuB,EAAE,CAAC;gBACrC,QAAQ,CAAC,EAAE,KAAK,CAAC;oBACf,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM,CAAC;qBACd,CAAC;oBACF,KAAK,EAAE,MAAM,CAAC;iBACf,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,KAAK,CAAC;oBACb,IAAI,EAAE,MAAM,CAAC;oBACb,KAAK,EAAE,MAAM,CAAC;oBACd,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,UAAU,CAAC,EAAE;wBACX,OAAO,EAAE,MAAM,CAAC;qBACjB,CAAC;iBACH,CAAC,CAAC;aACJ,CAAC;YACF,KAAK,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,gBAAgB,8BAA8B;IAC9C,YAAY,0BAA0B;IACtC,iBAAiB,+BAA+B;IAChD,YAAY,0BAA0B;IACtC,cAAc,4BAA4B;IAC1C,iBAAiB,+BAA+B;IAChD,aAAa,2BAA2B;IACxC,iBAAiB,+BAA+B;IAChD,gBAAgB,8BAA8B;CAC/C;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAWrB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { WhatsAppConfig } from "../types";
2
+ export declare function detectAuthMethod(config: WhatsAppConfig | Record<string, unknown>): "baileys" | "cloudapi";
3
+ //# sourceMappingURL=config-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-detector.d.ts","sourceRoot":"","sources":["../../src/utils/config-detector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/C,SAAS,GAAG,UAAU,CAsBxB"}
@@ -0,0 +1,11 @@
1
+ import type { IAgentRuntime, RouteRequest } from "@elizaos/core";
2
+ export declare function resolveWhatsAppAppSecret(runtime: IAgentRuntime): string | null;
3
+ /**
4
+ * Verify Meta WhatsApp webhook signature (X-Hub-Signature-256).
5
+ * @see https://developers.facebook.com/docs/graph-api/webhooks/getting-started#verification-requests
6
+ */
7
+ export declare function verifyWhatsAppWebhookSignature(appSecret: string, signatureHeader: string | undefined, rawBody: string): boolean;
8
+ export declare function readRouteHeader(req: RouteRequest, name: string): string | undefined;
9
+ export declare function readWebhookRawBody(req: RouteRequest): string | null;
10
+ export declare function isWhatsAppWebhookAuthorized(runtime: IAgentRuntime, req: RouteRequest): boolean;
11
+ //# sourceMappingURL=webhook-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-auth.d.ts","sourceRoot":"","sources":["../src/webhook-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIjE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAU9E;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,GACd,OAAO,CAiBT;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASnF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAKnE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAU9F"}
@@ -0,0 +1,21 @@
1
+ import { type IAgentRuntime, Service } from "@elizaos/core";
2
+ type CredentialProviderResult = {
3
+ status: "credential_data";
4
+ data: Record<string, unknown>;
5
+ } | {
6
+ status: "needs_auth";
7
+ authUrl: string;
8
+ } | null;
9
+ export declare class WhatsAppWorkflowCredentialProvider extends Service {
10
+ static readonly serviceType = "workflow_credential_provider";
11
+ capabilityDescription: string;
12
+ static start(runtime: IAgentRuntime): Promise<WhatsAppWorkflowCredentialProvider>;
13
+ stop(): Promise<void>;
14
+ resolve(_userId: string, credType: string): Promise<CredentialProviderResult>;
15
+ checkCredentialTypes(credTypes: string[]): {
16
+ supported: string[];
17
+ unsupported: string[];
18
+ };
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=workflow-credential-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-credential-provider.d.ts","sourceRoot":"","sources":["../src/workflow-credential-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG5D,KAAK,wBAAwB,GACzB;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC,IAAI,CAAC;AAIT,qBAAa,kCAAmC,SAAQ,OAAO;IAC7D,gBAAyB,WAAW,kCAAqC;IAChE,qBAAqB,SAA2D;WAE5E,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAIjF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAErB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAWnF,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE;CAM1F"}