@ariaflowagents/messaging-meta 0.8.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 (106) hide show
  1. package/README.md +236 -0
  2. package/dist/graph-api/client.d.ts +125 -0
  3. package/dist/graph-api/client.d.ts.map +1 -0
  4. package/dist/graph-api/client.js +204 -0
  5. package/dist/graph-api/client.js.map +1 -0
  6. package/dist/graph-api/errors.d.ts +41 -0
  7. package/dist/graph-api/errors.d.ts.map +1 -0
  8. package/dist/graph-api/errors.js +72 -0
  9. package/dist/graph-api/errors.js.map +1 -0
  10. package/dist/graph-api/index.d.ts +15 -0
  11. package/dist/graph-api/index.d.ts.map +1 -0
  12. package/dist/graph-api/index.js +11 -0
  13. package/dist/graph-api/index.js.map +1 -0
  14. package/dist/graph-api/rate-limiter.d.ts +90 -0
  15. package/dist/graph-api/rate-limiter.d.ts.map +1 -0
  16. package/dist/graph-api/rate-limiter.js +172 -0
  17. package/dist/graph-api/rate-limiter.js.map +1 -0
  18. package/dist/graph-api/retry.d.ts +55 -0
  19. package/dist/graph-api/retry.d.ts.map +1 -0
  20. package/dist/graph-api/retry.js +103 -0
  21. package/dist/graph-api/retry.js.map +1 -0
  22. package/dist/index.d.ts +36 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +38 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/instagram/client.d.ts +365 -0
  27. package/dist/instagram/client.d.ts.map +1 -0
  28. package/dist/instagram/client.js +857 -0
  29. package/dist/instagram/client.js.map +1 -0
  30. package/dist/instagram/format.d.ts +62 -0
  31. package/dist/instagram/format.d.ts.map +1 -0
  32. package/dist/instagram/format.js +92 -0
  33. package/dist/instagram/format.js.map +1 -0
  34. package/dist/instagram/ice-breakers.d.ts +63 -0
  35. package/dist/instagram/ice-breakers.d.ts.map +1 -0
  36. package/dist/instagram/ice-breakers.js +87 -0
  37. package/dist/instagram/ice-breakers.js.map +1 -0
  38. package/dist/instagram/index.d.ts +44 -0
  39. package/dist/instagram/index.d.ts.map +1 -0
  40. package/dist/instagram/index.js +46 -0
  41. package/dist/instagram/index.js.map +1 -0
  42. package/dist/instagram/types.d.ts +188 -0
  43. package/dist/instagram/types.d.ts.map +1 -0
  44. package/dist/instagram/types.js +19 -0
  45. package/dist/instagram/types.js.map +1 -0
  46. package/dist/messenger/client.d.ts +339 -0
  47. package/dist/messenger/client.d.ts.map +1 -0
  48. package/dist/messenger/client.js +782 -0
  49. package/dist/messenger/client.js.map +1 -0
  50. package/dist/messenger/format.d.ts +69 -0
  51. package/dist/messenger/format.d.ts.map +1 -0
  52. package/dist/messenger/format.js +98 -0
  53. package/dist/messenger/format.js.map +1 -0
  54. package/dist/messenger/index.d.ts +34 -0
  55. package/dist/messenger/index.d.ts.map +1 -0
  56. package/dist/messenger/index.js +35 -0
  57. package/dist/messenger/index.js.map +1 -0
  58. package/dist/messenger/types.d.ts +181 -0
  59. package/dist/messenger/types.d.ts.map +1 -0
  60. package/dist/messenger/types.js +10 -0
  61. package/dist/messenger/types.js.map +1 -0
  62. package/dist/server.d.ts +31 -0
  63. package/dist/server.d.ts.map +1 -0
  64. package/dist/server.js +29 -0
  65. package/dist/server.js.map +1 -0
  66. package/dist/webhook/index.d.ts +10 -0
  67. package/dist/webhook/index.d.ts.map +1 -0
  68. package/dist/webhook/index.js +8 -0
  69. package/dist/webhook/index.js.map +1 -0
  70. package/dist/webhook/normalizer.d.ts +169 -0
  71. package/dist/webhook/normalizer.d.ts.map +1 -0
  72. package/dist/webhook/normalizer.js +301 -0
  73. package/dist/webhook/normalizer.js.map +1 -0
  74. package/dist/webhook/verifier.d.ts +45 -0
  75. package/dist/webhook/verifier.d.ts.map +1 -0
  76. package/dist/webhook/verifier.js +62 -0
  77. package/dist/webhook/verifier.js.map +1 -0
  78. package/dist/whatsapp/client.d.ts +481 -0
  79. package/dist/whatsapp/client.d.ts.map +1 -0
  80. package/dist/whatsapp/client.js +1043 -0
  81. package/dist/whatsapp/client.js.map +1 -0
  82. package/dist/whatsapp/flows.d.ts +74 -0
  83. package/dist/whatsapp/flows.d.ts.map +1 -0
  84. package/dist/whatsapp/flows.js +77 -0
  85. package/dist/whatsapp/flows.js.map +1 -0
  86. package/dist/whatsapp/format.d.ts +78 -0
  87. package/dist/whatsapp/format.d.ts.map +1 -0
  88. package/dist/whatsapp/format.js +195 -0
  89. package/dist/whatsapp/format.js.map +1 -0
  90. package/dist/whatsapp/index.d.ts +39 -0
  91. package/dist/whatsapp/index.d.ts.map +1 -0
  92. package/dist/whatsapp/index.js +42 -0
  93. package/dist/whatsapp/index.js.map +1 -0
  94. package/dist/whatsapp/split.d.ts +35 -0
  95. package/dist/whatsapp/split.d.ts.map +1 -0
  96. package/dist/whatsapp/split.js +76 -0
  97. package/dist/whatsapp/split.js.map +1 -0
  98. package/dist/whatsapp/templates.d.ts +129 -0
  99. package/dist/whatsapp/templates.d.ts.map +1 -0
  100. package/dist/whatsapp/templates.js +125 -0
  101. package/dist/whatsapp/templates.js.map +1 -0
  102. package/dist/whatsapp/types.d.ts +440 -0
  103. package/dist/whatsapp/types.d.ts.map +1 -0
  104. package/dist/whatsapp/types.js +11 -0
  105. package/dist/whatsapp/types.js.map +1 -0
  106. package/package.json +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/whatsapp/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @module whatsapp/flows
3
+ *
4
+ * Utilities and types for WhatsApp Flows.
5
+ *
6
+ * WhatsApp Flows are multi-screen forms that run natively inside WhatsApp.
7
+ * This module re-exports the relevant types and provides helper functions
8
+ * for common flow operations.
9
+ *
10
+ * The primary flow management methods (create, update, publish, delete,
11
+ * getAssets) live on the {@link WhatsAppClient} via the `client.flows`
12
+ * namespace. This module provides supplementary helpers.
13
+ *
14
+ * @see https://developers.facebook.com/docs/whatsapp/flows
15
+ */
16
+ import type { FlowInteractiveInput } from './types.js';
17
+ export type { FlowDefinition, FlowInfo, FlowAssets, FlowInteractiveInput, } from './types.js';
18
+ /**
19
+ * Generate a random flow token for a WhatsApp Flow session.
20
+ *
21
+ * Flow tokens are opaque strings used to correlate flow responses
22
+ * with the originating business logic. Each flow message should use
23
+ * a unique token.
24
+ *
25
+ * @param length - Length of the generated token. Default `32`.
26
+ * @returns A cryptographically random hex string.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const token = generateFlowToken();
31
+ * await client.sendInteractiveFlow(to, {
32
+ * body: { text: 'Complete your order' },
33
+ * flowId: '123456789',
34
+ * flowCta: 'Start',
35
+ * flowToken: token,
36
+ * flowAction: 'navigate',
37
+ * });
38
+ * ```
39
+ */
40
+ export declare function generateFlowToken(length?: number): string;
41
+ /**
42
+ * Build a {@link FlowInteractiveInput} payload with sensible defaults.
43
+ *
44
+ * @param options - Flow message options.
45
+ * @returns A complete {@link FlowInteractiveInput} ready to pass to
46
+ * {@link WhatsAppClient.sendInteractiveFlow}.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const flow = buildFlowInput({
51
+ * bodyText: 'Complete your registration',
52
+ * flowId: '123456789',
53
+ * flowCta: 'Get Started',
54
+ * });
55
+ * await client.sendInteractiveFlow(to, flow);
56
+ * ```
57
+ */
58
+ export declare function buildFlowInput(options: {
59
+ /** Body text for the flow message. */
60
+ bodyText: string;
61
+ /** The WhatsApp Flow ID. */
62
+ flowId: string;
63
+ /** Call-to-action button text. */
64
+ flowCta: string;
65
+ /** Optional footer text. */
66
+ footerText?: string;
67
+ /** Flow action type. Default `"navigate"`. */
68
+ flowAction?: 'navigate' | 'data_exchange';
69
+ /** Optional flow token. Auto-generated if not provided. */
70
+ flowToken?: string;
71
+ /** Optional initial payload data. */
72
+ flowActionPayload?: Record<string, unknown>;
73
+ }): FlowInteractiveInput;
74
+ //# sourceMappingURL=flows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/whatsapp/flows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,YAAY,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAMpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,MAAW,GAAG,MAAM,CAO7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,UAAU,GAAG,eAAe,CAAC;IAC1C,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,GAAG,oBAAoB,CAUvB"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @module whatsapp/flows
3
+ *
4
+ * Utilities and types for WhatsApp Flows.
5
+ *
6
+ * WhatsApp Flows are multi-screen forms that run natively inside WhatsApp.
7
+ * This module re-exports the relevant types and provides helper functions
8
+ * for common flow operations.
9
+ *
10
+ * The primary flow management methods (create, update, publish, delete,
11
+ * getAssets) live on the {@link WhatsAppClient} via the `client.flows`
12
+ * namespace. This module provides supplementary helpers.
13
+ *
14
+ * @see https://developers.facebook.com/docs/whatsapp/flows
15
+ */
16
+ // ---------------------------------------------------------------------------
17
+ // Flow token helpers
18
+ // ---------------------------------------------------------------------------
19
+ /**
20
+ * Generate a random flow token for a WhatsApp Flow session.
21
+ *
22
+ * Flow tokens are opaque strings used to correlate flow responses
23
+ * with the originating business logic. Each flow message should use
24
+ * a unique token.
25
+ *
26
+ * @param length - Length of the generated token. Default `32`.
27
+ * @returns A cryptographically random hex string.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const token = generateFlowToken();
32
+ * await client.sendInteractiveFlow(to, {
33
+ * body: { text: 'Complete your order' },
34
+ * flowId: '123456789',
35
+ * flowCta: 'Start',
36
+ * flowToken: token,
37
+ * flowAction: 'navigate',
38
+ * });
39
+ * ```
40
+ */
41
+ export function generateFlowToken(length = 32) {
42
+ const bytes = new Uint8Array(Math.ceil(length / 2));
43
+ crypto.getRandomValues(bytes);
44
+ return Array.from(bytes)
45
+ .map((b) => b.toString(16).padStart(2, '0'))
46
+ .join('')
47
+ .slice(0, length);
48
+ }
49
+ /**
50
+ * Build a {@link FlowInteractiveInput} payload with sensible defaults.
51
+ *
52
+ * @param options - Flow message options.
53
+ * @returns A complete {@link FlowInteractiveInput} ready to pass to
54
+ * {@link WhatsAppClient.sendInteractiveFlow}.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * const flow = buildFlowInput({
59
+ * bodyText: 'Complete your registration',
60
+ * flowId: '123456789',
61
+ * flowCta: 'Get Started',
62
+ * });
63
+ * await client.sendInteractiveFlow(to, flow);
64
+ * ```
65
+ */
66
+ export function buildFlowInput(options) {
67
+ return {
68
+ body: { text: options.bodyText },
69
+ footer: options.footerText ? { text: options.footerText } : undefined,
70
+ flowId: options.flowId,
71
+ flowCta: options.flowCta,
72
+ flowToken: options.flowToken ?? generateFlowToken(),
73
+ flowAction: options.flowAction ?? 'navigate',
74
+ flowActionPayload: options.flowActionPayload,
75
+ };
76
+ }
77
+ //# sourceMappingURL=flows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/whatsapp/flows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE;IACnD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,OAe9B;IACC,OAAO;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;QACrE,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,iBAAiB,EAAE;QACnD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,UAAU;QAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @module whatsapp/format
3
+ *
4
+ * WhatsApp-specific text format converter.
5
+ *
6
+ * WhatsApp uses a unique formatting syntax that differs from standard Markdown:
7
+ * - Bold: `*text*` (Markdown: `**text**`)
8
+ * - Italic: `_text_` (same as Markdown)
9
+ * - Strikethrough: `~text~` (Markdown: `~~text~~`)
10
+ * - Monospace: `` `code` `` (same as Markdown)
11
+ * - Code block: ` ```block``` ` (same as Markdown)
12
+ *
13
+ * This converter handles bidirectional translation between Markdown and
14
+ * WhatsApp's native format, as well as stripping all formatting to plain text.
15
+ */
16
+ import { BaseFormatConverter } from '@ariaflowagents/messaging';
17
+ /**
18
+ * Converts text between Markdown and WhatsApp's native formatting syntax.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const converter = new WhatsAppFormatConverter();
23
+ *
24
+ * // Markdown to WhatsApp
25
+ * converter.toPlatformFormat('**bold** and ~~strike~~');
26
+ * // => '*bold* and ~strike~'
27
+ *
28
+ * // WhatsApp to Markdown
29
+ * converter.toMarkdown('*bold* and ~strike~');
30
+ * // => '**bold** and ~~strike~~'
31
+ * ```
32
+ */
33
+ export declare class WhatsAppFormatConverter extends BaseFormatConverter {
34
+ /**
35
+ * Convert standard Markdown to WhatsApp's native formatting.
36
+ *
37
+ * Transformations applied:
38
+ * - `**bold**` or `__bold__` becomes `*bold*`
39
+ * - `~~strike~~` becomes `~strike~`
40
+ * - `# Heading` becomes `*Heading*` (bold)
41
+ * - `## Heading` becomes `*Heading*`
42
+ * - `### Heading` becomes `*Heading*`
43
+ * - `---` or `***` horizontal rules become `━━━━━━━━━━`
44
+ * - `[text](url)` becomes `text (url)`
45
+ * - `![alt](url)` becomes `alt`
46
+ * - Tables are converted to code-block ASCII representation
47
+ * - Italic (`_text_`) and inline code (`` `code` ``) are preserved
48
+ *
49
+ * @param markdown - Markdown-formatted text.
50
+ * @returns Text formatted for WhatsApp.
51
+ */
52
+ toPlatformFormat(markdown: string): string;
53
+ /**
54
+ * Convert WhatsApp-formatted text to standard Markdown.
55
+ *
56
+ * Transformations applied:
57
+ * - `*bold*` becomes `**bold**`
58
+ * - `~strike~` becomes `~~strike~~`
59
+ * - Italic (`_text_`) and code (`` `code` ``) are already Markdown-compatible
60
+ *
61
+ * @param text - WhatsApp-formatted text.
62
+ * @returns Markdown-formatted text.
63
+ */
64
+ toMarkdown(text: string): string;
65
+ /**
66
+ * Strip all formatting (Markdown and WhatsApp) to produce plain text.
67
+ *
68
+ * @param markdown - Markdown or WhatsApp-formatted text.
69
+ * @returns Plain text with all formatting markers removed.
70
+ */
71
+ toPlainText(markdown: string): string;
72
+ /**
73
+ * Convert Markdown tables to a code-block ASCII representation suitable
74
+ * for WhatsApp (which does not support tables natively).
75
+ */
76
+ private convertTables;
77
+ }
78
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/whatsapp/format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC9D;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAwD1C;;;;;;;;;;OAUG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAiChC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IA2CrC;;;OAGG;IACH,OAAO,CAAC,aAAa;CAkCtB"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * @module whatsapp/format
3
+ *
4
+ * WhatsApp-specific text format converter.
5
+ *
6
+ * WhatsApp uses a unique formatting syntax that differs from standard Markdown:
7
+ * - Bold: `*text*` (Markdown: `**text**`)
8
+ * - Italic: `_text_` (same as Markdown)
9
+ * - Strikethrough: `~text~` (Markdown: `~~text~~`)
10
+ * - Monospace: `` `code` `` (same as Markdown)
11
+ * - Code block: ` ```block``` ` (same as Markdown)
12
+ *
13
+ * This converter handles bidirectional translation between Markdown and
14
+ * WhatsApp's native format, as well as stripping all formatting to plain text.
15
+ */
16
+ import { BaseFormatConverter } from '@ariaflowagents/messaging';
17
+ /**
18
+ * Converts text between Markdown and WhatsApp's native formatting syntax.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const converter = new WhatsAppFormatConverter();
23
+ *
24
+ * // Markdown to WhatsApp
25
+ * converter.toPlatformFormat('**bold** and ~~strike~~');
26
+ * // => '*bold* and ~strike~'
27
+ *
28
+ * // WhatsApp to Markdown
29
+ * converter.toMarkdown('*bold* and ~strike~');
30
+ * // => '**bold** and ~~strike~~'
31
+ * ```
32
+ */
33
+ export class WhatsAppFormatConverter extends BaseFormatConverter {
34
+ /**
35
+ * Convert standard Markdown to WhatsApp's native formatting.
36
+ *
37
+ * Transformations applied:
38
+ * - `**bold**` or `__bold__` becomes `*bold*`
39
+ * - `~~strike~~` becomes `~strike~`
40
+ * - `# Heading` becomes `*Heading*` (bold)
41
+ * - `## Heading` becomes `*Heading*`
42
+ * - `### Heading` becomes `*Heading*`
43
+ * - `---` or `***` horizontal rules become `━━━━━━━━━━`
44
+ * - `[text](url)` becomes `text (url)`
45
+ * - `![alt](url)` becomes `alt`
46
+ * - Tables are converted to code-block ASCII representation
47
+ * - Italic (`_text_`) and inline code (`` `code` ``) are preserved
48
+ *
49
+ * @param markdown - Markdown-formatted text.
50
+ * @returns Text formatted for WhatsApp.
51
+ */
52
+ toPlatformFormat(markdown) {
53
+ let text = markdown;
54
+ // Preserve code blocks from being transformed
55
+ const codeBlocks = [];
56
+ text = text.replace(/```[\s\S]*?```/g, (match) => {
57
+ codeBlocks.push(match);
58
+ return `\x00CB${codeBlocks.length - 1}\x00`;
59
+ });
60
+ // Preserve inline code
61
+ const inlineCode = [];
62
+ text = text.replace(/`[^`]+`/g, (match) => {
63
+ inlineCode.push(match);
64
+ return `\x00IC${inlineCode.length - 1}\x00`;
65
+ });
66
+ // Convert Markdown tables to code-block ASCII
67
+ text = this.convertTables(text);
68
+ // Headings → bold
69
+ text = text.replace(/^#{1,6}\s+(.+)$/gm, '*$1*');
70
+ // Horizontal rules → line
71
+ text = text.replace(/^(?:---+|\*\*\*+|___+)\s*$/gm, '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501');
72
+ // Unordered list markers: normalize * and + bullets to dashes BEFORE bold
73
+ // conversion, since `* item` would become `- item` correctly, but after
74
+ // bold conversion `*bold*` at line start would be mistakenly treated as a bullet.
75
+ text = text.replace(/^(\s*)[*+]\s/gm, '$1- ');
76
+ // Bold: **text** or __text__ → *text*
77
+ text = text.replace(/\*\*(.+?)\*\*/g, '*$1*');
78
+ text = text.replace(/__(.+?)__/g, '*$1*');
79
+ // Strikethrough: ~~text~~ → ~text~
80
+ text = text.replace(/~~(.+?)~~/g, '~$1~');
81
+ // Links: [text](url) → text (url)
82
+ text = text.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '$1 ($2)');
83
+ // Images: ![alt](url) → alt
84
+ text = text.replace(/!\[([^\]]*)\]\([^)]+\)/g, '$1');
85
+ // Blockquotes: > text → text (remove the > prefix)
86
+ text = text.replace(/^>\s?/gm, '');
87
+ // Restore inline code
88
+ text = text.replace(/\x00IC(\d+)\x00/g, (_, idx) => inlineCode[parseInt(idx)]);
89
+ // Restore code blocks
90
+ text = text.replace(/\x00CB(\d+)\x00/g, (_, idx) => codeBlocks[parseInt(idx)]);
91
+ return text;
92
+ }
93
+ /**
94
+ * Convert WhatsApp-formatted text to standard Markdown.
95
+ *
96
+ * Transformations applied:
97
+ * - `*bold*` becomes `**bold**`
98
+ * - `~strike~` becomes `~~strike~~`
99
+ * - Italic (`_text_`) and code (`` `code` ``) are already Markdown-compatible
100
+ *
101
+ * @param text - WhatsApp-formatted text.
102
+ * @returns Markdown-formatted text.
103
+ */
104
+ toMarkdown(text) {
105
+ let result = text;
106
+ // Preserve code blocks
107
+ const codeBlocks = [];
108
+ result = result.replace(/```[\s\S]*?```/g, (match) => {
109
+ codeBlocks.push(match);
110
+ return `\x00CB${codeBlocks.length - 1}\x00`;
111
+ });
112
+ // Preserve inline code
113
+ const inlineCode = [];
114
+ result = result.replace(/`[^`]+`/g, (match) => {
115
+ inlineCode.push(match);
116
+ return `\x00IC${inlineCode.length - 1}\x00`;
117
+ });
118
+ // Bold: *text* → **text**
119
+ // Match single asterisks that are not part of code or escaped
120
+ result = result.replace(/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g, '**$1**');
121
+ // Strikethrough: ~text~ → ~~text~~
122
+ result = result.replace(/(?<!~)~(?!~)(.+?)(?<!~)~(?!~)/g, '~~$1~~');
123
+ // Restore inline code
124
+ result = result.replace(/\x00IC(\d+)\x00/g, (_, idx) => inlineCode[parseInt(idx)]);
125
+ // Restore code blocks
126
+ result = result.replace(/\x00CB(\d+)\x00/g, (_, idx) => codeBlocks[parseInt(idx)]);
127
+ return result;
128
+ }
129
+ /**
130
+ * Strip all formatting (Markdown and WhatsApp) to produce plain text.
131
+ *
132
+ * @param markdown - Markdown or WhatsApp-formatted text.
133
+ * @returns Plain text with all formatting markers removed.
134
+ */
135
+ toPlainText(markdown) {
136
+ let text = markdown;
137
+ // Remove code blocks but keep content
138
+ text = text.replace(/```(?:\w*\n)?([\s\S]*?)```/g, '$1');
139
+ // Remove inline code markers
140
+ text = text.replace(/`([^`]+)`/g, '$1');
141
+ // Remove headings markers
142
+ text = text.replace(/^#{1,6}\s+/gm, '');
143
+ // Remove images
144
+ text = text.replace(/!\[([^\]]*)\]\([^)]+\)/g, '$1');
145
+ // Remove links but keep text
146
+ text = text.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1');
147
+ // Remove bold (Markdown and WhatsApp)
148
+ text = text.replace(/\*\*(.+?)\*\*/g, '$1');
149
+ text = text.replace(/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g, '$1');
150
+ // Remove italic
151
+ text = text.replace(/__(.+?)__/g, '$1');
152
+ text = text.replace(/(?<!_)_(?!_)(.+?)(?<!_)_(?!_)/g, '$1');
153
+ // Remove strikethrough
154
+ text = text.replace(/~~(.+?)~~/g, '$1');
155
+ text = text.replace(/(?<!~)~(?!~)(.+?)(?<!~)~(?!~)/g, '$1');
156
+ // Remove blockquote markers
157
+ text = text.replace(/^>\s?/gm, '');
158
+ // Remove horizontal rules
159
+ text = text.replace(/^(?:---+|\*\*\*+|___+)\s*$/gm, '');
160
+ return text.trim();
161
+ }
162
+ // -----------------------------------------------------------------------
163
+ // Private helpers
164
+ // -----------------------------------------------------------------------
165
+ /**
166
+ * Convert Markdown tables to a code-block ASCII representation suitable
167
+ * for WhatsApp (which does not support tables natively).
168
+ */
169
+ convertTables(text) {
170
+ // Match simple Markdown tables (header, separator, rows)
171
+ const tableRegex = /^(\|.+\|)\n(\|[-| :]+\|)\n((?:\|.+\|\n?)+)/gm;
172
+ return text.replace(tableRegex, (match) => {
173
+ const lines = match.trim().split('\n');
174
+ if (lines.length < 3)
175
+ return match;
176
+ // Parse cells
177
+ const parseCells = (line) => line.split('|').slice(1, -1).map(cell => cell.trim());
178
+ const headerCells = parseCells(lines[0]);
179
+ const dataRows = lines.slice(2).map(parseCells);
180
+ // Calculate column widths
181
+ const colWidths = headerCells.map((h, i) => {
182
+ const maxData = dataRows.reduce((max, row) => Math.max(max, (row[i] ?? '').length), 0);
183
+ return Math.max(h.length, maxData);
184
+ });
185
+ // Build ASCII table
186
+ const pad = (str, width) => str.padEnd(width);
187
+ const separator = colWidths.map(w => '\u2500'.repeat(w + 2)).join('\u253C');
188
+ const formatRow = (cells) => cells.map((cell, i) => ` ${pad(cell, colWidths[i])} `).join('\u2502');
189
+ const headerLine = formatRow(headerCells);
190
+ const bodyLines = dataRows.map(formatRow);
191
+ return '```\n' + headerLine + '\n' + separator + '\n' + bodyLines.join('\n') + '\n```';
192
+ });
193
+ }
194
+ }
195
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/whatsapp/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @module whatsapp
3
+ *
4
+ * WhatsApp Cloud API client for the AriaFlow messaging framework.
5
+ *
6
+ * This module provides a complete, production-ready WhatsApp Business Platform
7
+ * integration implementing the `PlatformClient` interface from
8
+ * `@ariaflowagents/messaging`.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import {
13
+ * createWhatsAppClient,
14
+ * buildTemplateSendPayload,
15
+ * WhatsAppFormatConverter,
16
+ * } from '@ariaflowagents/messaging-meta/whatsapp';
17
+ *
18
+ * const client = createWhatsAppClient({
19
+ * accessToken: process.env.WHATSAPP_ACCESS_TOKEN!,
20
+ * appSecret: process.env.META_APP_SECRET!,
21
+ * phoneNumberId: process.env.WHATSAPP_PHONE_NUMBER_ID!,
22
+ * verifyToken: process.env.WHATSAPP_VERIFY_TOKEN!,
23
+ * });
24
+ *
25
+ * client.onMessage(async (msg) => {
26
+ * await client.sendText(msg.from.phone!, `Echo: ${msg.text}`);
27
+ * });
28
+ * ```
29
+ *
30
+ * @packageDocumentation
31
+ */
32
+ export { WhatsAppClient, createWhatsAppClient } from './client.js';
33
+ export type { WhatsAppClientConfig, WhatsAppThreadId, WhatsAppSendResponse, TemplateMessage, TemplateLanguage, TemplateComponent, TemplateParameter, MediaObject, ListMessage, ListSection, ListRow, ButtonMessage, ReplyButton, CTAButtonMessage, FlowInteractiveInput, LocationPayload, ContactPayload, BusinessProfile, TemplateDefinition, TemplateDefinitionComponent, TemplateInfo, FlowDefinition, FlowInfo, FlowAssets, WhatsAppMediaResponse, TextOrTemplateOptions, } from './types.js';
34
+ export { buildTemplateSendPayload, buildTemplatePayload, } from './templates.js';
35
+ export type { TypedTemplateConfig, RawTemplateComponents, } from './templates.js';
36
+ export { WhatsAppFormatConverter } from './format.js';
37
+ export { splitMessage } from './split.js';
38
+ export { generateFlowToken, buildFlowInput } from './flows.js';
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/whatsapp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnE,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @module whatsapp
3
+ *
4
+ * WhatsApp Cloud API client for the AriaFlow messaging framework.
5
+ *
6
+ * This module provides a complete, production-ready WhatsApp Business Platform
7
+ * integration implementing the `PlatformClient` interface from
8
+ * `@ariaflowagents/messaging`.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import {
13
+ * createWhatsAppClient,
14
+ * buildTemplateSendPayload,
15
+ * WhatsAppFormatConverter,
16
+ * } from '@ariaflowagents/messaging-meta/whatsapp';
17
+ *
18
+ * const client = createWhatsAppClient({
19
+ * accessToken: process.env.WHATSAPP_ACCESS_TOKEN!,
20
+ * appSecret: process.env.META_APP_SECRET!,
21
+ * phoneNumberId: process.env.WHATSAPP_PHONE_NUMBER_ID!,
22
+ * verifyToken: process.env.WHATSAPP_VERIFY_TOKEN!,
23
+ * });
24
+ *
25
+ * client.onMessage(async (msg) => {
26
+ * await client.sendText(msg.from.phone!, `Echo: ${msg.text}`);
27
+ * });
28
+ * ```
29
+ *
30
+ * @packageDocumentation
31
+ */
32
+ // ─── Client ───────────────────────────────────────────────────────────────
33
+ export { WhatsAppClient, createWhatsAppClient } from './client.js';
34
+ // ─── Templates ────────────────────────────────────────────────────────────
35
+ export { buildTemplateSendPayload, buildTemplatePayload, } from './templates.js';
36
+ // ─── Format converter ────────────────────────────────────────────────────
37
+ export { WhatsAppFormatConverter } from './format.js';
38
+ // ─── Message splitting ──────────────────────────────────────────────────
39
+ export { splitMessage } from './split.js';
40
+ // ─── Flows ──────────────────────────────────────────────────────────────
41
+ export { generateFlowToken, buildFlowInput } from './flows.js';
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/whatsapp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,6EAA6E;AAC7E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAgCnE,6EAA6E;AAC7E,OAAO,EACL,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAMxB,4EAA4E;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,2EAA2E;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,2EAA2E;AAC3E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @module whatsapp/split
3
+ *
4
+ * Smart message splitting for WhatsApp's 4096-character limit.
5
+ *
6
+ * Splits long messages at natural boundaries (paragraph breaks, line breaks)
7
+ * to maintain readability. Falls back to hard splitting only when no natural
8
+ * boundary exists within the allowed range.
9
+ */
10
+ /**
11
+ * Split a text message into chunks that fit within WhatsApp's character limit.
12
+ *
13
+ * The splitting strategy prioritises readability:
14
+ * 1. Paragraph boundaries (`\n\n`) within the first `maxLength` characters.
15
+ * 2. Line boundaries (`\n`) if no paragraph break is available.
16
+ * 3. Word boundaries (last space character) as a third preference.
17
+ * 4. Hard split at `maxLength` as a last resort.
18
+ *
19
+ * A split point is only used if it falls in the latter half of the chunk
20
+ * to avoid producing very short fragments.
21
+ *
22
+ * @param text - The full message text.
23
+ * @param maxLength - Maximum characters per chunk. Default `4096`.
24
+ * @returns An array of text chunks, each within `maxLength`.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const chunks = splitMessage(longReport);
29
+ * for (const chunk of chunks) {
30
+ * await client.sendText(to, chunk);
31
+ * }
32
+ * ```
33
+ */
34
+ export declare function splitMessage(text: string, maxLength?: number): string[];
35
+ //# sourceMappingURL=split.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/whatsapp/split.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAmB,GAAG,MAAM,EAAE,CA+CnF"}