@diegoaltoworks/talker 0.10.0 → 0.12.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 (48) hide show
  1. package/dist/adapters/twilio.d.ts +13 -1
  2. package/dist/adapters/twilio.d.ts.map +1 -1
  3. package/dist/adapters/twilio.test.d.ts +7 -0
  4. package/dist/adapters/twilio.test.d.ts.map +1 -0
  5. package/dist/core/phrases.d.ts +5 -0
  6. package/dist/core/phrases.d.ts.map +1 -1
  7. package/dist/core/processing/prompts.d.ts +1 -1
  8. package/dist/core/processing/prompts.d.ts.map +1 -1
  9. package/dist/db/migrate.d.ts +1 -1
  10. package/dist/db/migrate.d.ts.map +1 -1
  11. package/dist/index.d.ts +4 -3
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +381 -97
  14. package/dist/index.mjs +368 -88
  15. package/dist/plugin.d.ts.map +1 -1
  16. package/dist/routes/call/handle-answer.test.d.ts +7 -0
  17. package/dist/routes/call/handle-answer.test.d.ts.map +1 -0
  18. package/dist/routes/call/handle-initial.test.d.ts +7 -0
  19. package/dist/routes/call/handle-initial.test.d.ts.map +1 -0
  20. package/dist/routes/call/handle-nospeech.test.d.ts +7 -0
  21. package/dist/routes/call/handle-nospeech.test.d.ts.map +1 -0
  22. package/dist/routes/call/handle-respond.test.d.ts +7 -0
  23. package/dist/routes/call/handle-respond.test.d.ts.map +1 -0
  24. package/dist/routes/call/handle-status.test.d.ts +7 -0
  25. package/dist/routes/call/handle-status.test.d.ts.map +1 -0
  26. package/dist/routes/call/pending.test.d.ts +7 -0
  27. package/dist/routes/call/pending.test.d.ts.map +1 -0
  28. package/dist/routes/sms/handle-incoming.test.d.ts +7 -0
  29. package/dist/routes/sms/handle-incoming.test.d.ts.map +1 -0
  30. package/dist/routes/whatsapp/handle-incoming.d.ts +12 -0
  31. package/dist/routes/whatsapp/handle-incoming.d.ts.map +1 -0
  32. package/dist/routes/whatsapp/handle-incoming.test.d.ts +7 -0
  33. package/dist/routes/whatsapp/handle-incoming.test.d.ts.map +1 -0
  34. package/dist/routes/whatsapp/index.d.ts +14 -0
  35. package/dist/routes/whatsapp/index.d.ts.map +1 -0
  36. package/dist/routes/whatsapp/processor.d.ts +14 -0
  37. package/dist/routes/whatsapp/processor.d.ts.map +1 -0
  38. package/dist/standalone.d.ts.map +1 -1
  39. package/dist/types.d.ts +11 -2
  40. package/dist/types.d.ts.map +1 -1
  41. package/language/de.json +7 -0
  42. package/language/en.json +7 -0
  43. package/language/es.json +7 -0
  44. package/language/fr.json +7 -0
  45. package/language/nl.json +7 -0
  46. package/language/pt.json +7 -0
  47. package/package.json +1 -1
  48. package/prompts/outgoing.md +16 -1
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Call Status Handler Tests
3
+ *
4
+ * Tests for POST /call/status — call state change webhook.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=handle-status.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-status.test.d.ts","sourceRoot":"","sources":["../../../src/routes/call/handle-status.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Pending Queries Tests
3
+ *
4
+ * Tests for the pending query store used by async acknowledgment pattern.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=pending.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending.test.d.ts","sourceRoot":"","sources":["../../../src/routes/call/pending.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SMS Handler Tests
3
+ *
4
+ * Tests for the incoming SMS webhook handler and route factory.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=handle-incoming.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-incoming.test.d.ts","sourceRoot":"","sources":["../../../src/routes/sms/handle-incoming.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Incoming WhatsApp Handler
3
+ *
4
+ * Handles POST /whatsapp — called by Twilio when a WhatsApp message arrives.
5
+ * Twilio sends the same webhook format as SMS, but with `whatsapp:` prefixed
6
+ * phone numbers in the From/To fields.
7
+ */
8
+ import type { Context } from "hono";
9
+ import type { FlowRegistry } from "../../flows/registry";
10
+ import type { TalkerDependencies } from "../../types";
11
+ export declare function handleIncomingWhatsApp(c: Context, deps: TalkerDependencies, registry: FlowRegistry): Promise<Response>;
12
+ //# sourceMappingURL=handle-incoming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-incoming.d.ts","sourceRoot":"","sources":["../../../src/routes/whatsapp/handle-incoming.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAOpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,wBAAsB,sBAAsB,CAC1C,CAAC,EAAE,OAAO,EACV,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,QAAQ,CAAC,CA6BnB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * WhatsApp Handler Tests
3
+ *
4
+ * Tests for the incoming WhatsApp webhook handler and route factory.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=handle-incoming.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-incoming.test.d.ts","sourceRoot":"","sources":["../../../src/routes/whatsapp/handle-incoming.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WhatsApp Routes
3
+ *
4
+ * Hono route factory for WhatsApp webhooks.
5
+ * Twilio uses the same TwiML response format for WhatsApp as it does for SMS.
6
+ */
7
+ import { Hono } from "hono";
8
+ import type { FlowRegistry } from "../../flows/registry";
9
+ import type { TalkerDependencies } from "../../types";
10
+ /**
11
+ * Create WhatsApp routes
12
+ */
13
+ export declare function whatsappRoutes(deps: TalkerDependencies, registry: FlowRegistry): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/whatsapp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,8EAO9E"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WhatsApp Processor
3
+ *
4
+ * End-to-end processing pipeline for a single WhatsApp interaction.
5
+ * Mirrors the SMS processor but uses the "whatsapp" channel for
6
+ * channel-aware formatting (richer content, longer messages).
7
+ */
8
+ import type { FlowRegistry } from "../../flows/registry";
9
+ import type { TalkerDependencies } from "../../types";
10
+ /**
11
+ * Process a WhatsApp interaction and generate TwiML response
12
+ */
13
+ export declare function processWhatsApp(deps: TalkerDependencies, registry: FlowRegistry, phoneNumber: string, messageBody: string): Promise<string>;
14
+ //# sourceMappingURL=processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../src/routes/whatsapp/processor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAuCjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAQ5B,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,SAAS,CAAC;AAMhE,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,uFA0DpE"}
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,SAAS,CAAC;AAMhE,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,uFA2DpE"}
package/dist/types.d.ts CHANGED
@@ -8,7 +8,7 @@ import type { ServerDependencies } from "@diegoaltoworks/chatter";
8
8
  /**
9
9
  * Channel type for telephony interactions
10
10
  */
11
- export type Channel = "call" | "sms";
11
+ export type Channel = "call" | "sms" | "whatsapp";
12
12
  /**
13
13
  * Voice configuration for text-to-speech
14
14
  */
@@ -90,7 +90,7 @@ export interface TalkerConfig {
90
90
  };
91
91
  /** OpenAI API key for the pre/post-processing pipeline. Falls back to chatter's OpenAI client */
92
92
  openaiApiKey?: string;
93
- /** Route prefix for telephony endpoints. Default: "" (mounts at /call and /sms) */
93
+ /** Route prefix for telephony endpoints. Default: "" (mounts at /call, /sms, and /whatsapp) */
94
94
  routePrefix?: string;
95
95
  /** Conversation context TTL in milliseconds. Default: 1800000 (30 minutes) */
96
96
  contextTtlMs?: number;
@@ -168,6 +168,8 @@ export interface FlowHandlerResult {
168
168
  say: string;
169
169
  /** Optional: different content for SMS */
170
170
  sms?: string;
171
+ /** Optional: different content for WhatsApp */
172
+ whatsapp?: string;
171
173
  }
172
174
  export interface FlowHandlerContext {
173
175
  phoneNumber: string;
@@ -245,5 +247,12 @@ export interface Phrases {
245
247
  processingError: string;
246
248
  genericError: string;
247
249
  };
250
+ whatsapp: {
251
+ greeting: string;
252
+ greetingShort: string;
253
+ callForHelp: string;
254
+ processingError: string;
255
+ genericError: string;
256
+ };
248
257
  }
249
258
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAErC,qHAAqH;IACrH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,oBAAoB;IACpB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAEjC,uGAAuG;IACvG,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,uGAAuG;IACvG,QAAQ,CAAC,EAAE;QACT,gCAAgC;QAChC,GAAG,EAAE,MAAM,CAAC;QACZ,uBAAuB;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,iGAAiG;IACjG,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,kCAAkC;IAClC,SAAS,CAAC,EAAE;QACV,4DAA4D;QAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yFAAyF;IACzF,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,OAAO,EAAE,kBAAkB,CAAC;IAC5B,oCAAoC;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,cAAc,EAAE,OAAO,CAAC;IACxB,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhC,MAAM,MAAM,WAAW,GAAG,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7B,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1F,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,GAAG,EAAE;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/language/de.json CHANGED
@@ -23,5 +23,12 @@
23
23
  "callForHelp": "Fuer komplexe Fragen rufen Sie uns direkt an.",
24
24
  "processingError": "Ich habe Schwierigkeiten, das zu verarbeiten. Bitte versuchen Sie es erneut oder rufen Sie uns an.",
25
25
  "genericError": "Entschuldigung, etwas ist schief gelaufen. Bitte versuchen Sie es erneut."
26
+ },
27
+ "whatsapp": {
28
+ "greeting": "Hallo! Ich bin Ihr Assistent. Senden Sie mir eine Nachricht und ich helfe Ihnen gerne!",
29
+ "greetingShort": "Hallo! Wie kann ich helfen?",
30
+ "callForHelp": "Fuer komplexe Fragen rufen Sie uns an oder antworten Sie hier mit mehr Details.",
31
+ "processingError": "Ich habe Schwierigkeiten, das zu verarbeiten. Bitte senden Sie Ihre Nachricht erneut.",
32
+ "genericError": "Entschuldigung, etwas ist schief gelaufen. Bitte versuchen Sie es erneut."
26
33
  }
27
34
  }
package/language/en.json CHANGED
@@ -23,5 +23,12 @@
23
23
  "callForHelp": "For more complex questions, feel free to call back or reach us directly.",
24
24
  "processingError": "I'm having trouble processing that. Please try texting again or call back.",
25
25
  "genericError": "Sorry, something went wrong. Please try again."
26
+ },
27
+ "whatsapp": {
28
+ "greeting": "Hi! I'm your assistant. Send me a message and I'll help you out!",
29
+ "greetingShort": "Hi! How can I help?",
30
+ "callForHelp": "For more complex questions, feel free to call us directly or reply here with more details.",
31
+ "processingError": "I'm having trouble processing that. Please try sending your message again.",
32
+ "genericError": "Sorry, something went wrong. Please try again."
26
33
  }
27
34
  }
package/language/es.json CHANGED
@@ -23,5 +23,12 @@
23
23
  "callForHelp": "Para consultas complejas, llamenos directamente.",
24
24
  "processingError": "Tengo problemas para procesar eso. Por favor intentelo de nuevo o llamenos.",
25
25
  "genericError": "Lo siento, algo salio mal. Por favor intente de nuevo."
26
+ },
27
+ "whatsapp": {
28
+ "greeting": "Hola! Soy su asistente. Envieme un mensaje y le ayudare!",
29
+ "greetingShort": "Hola! Como puedo ayudarle?",
30
+ "callForHelp": "Para consultas complejas, llamenos o responda aqui con mas detalles.",
31
+ "processingError": "Tengo problemas para procesar eso. Por favor envie su mensaje de nuevo.",
32
+ "genericError": "Lo siento, algo salio mal. Por favor intente de nuevo."
26
33
  }
27
34
  }
package/language/fr.json CHANGED
@@ -23,5 +23,12 @@
23
23
  "callForHelp": "Pour des questions complexes, appelez-nous directement.",
24
24
  "processingError": "J'ai du mal a traiter cela. Veuillez reessayer ou nous appeler.",
25
25
  "genericError": "Desole, quelque chose s'est mal passe. Veuillez reessayer."
26
+ },
27
+ "whatsapp": {
28
+ "greeting": "Bonjour! Je suis votre assistant. Envoyez-moi un message et je vous aiderai!",
29
+ "greetingShort": "Bonjour! Comment puis-je vous aider?",
30
+ "callForHelp": "Pour des questions complexes, appelez-nous ou repondez ici avec plus de details.",
31
+ "processingError": "J'ai du mal a traiter cela. Veuillez renvoyer votre message.",
32
+ "genericError": "Desole, quelque chose s'est mal passe. Veuillez reessayer."
26
33
  }
27
34
  }
package/language/nl.json CHANGED
@@ -23,5 +23,12 @@
23
23
  "callForHelp": "Voor complexe vragen, bel ons direct.",
24
24
  "processingError": "Ik heb moeite om dat te verwerken. Probeer het opnieuw of bel ons.",
25
25
  "genericError": "Sorry, er ging iets mis. Probeer het opnieuw."
26
+ },
27
+ "whatsapp": {
28
+ "greeting": "Hallo! Ik ben uw assistent. Stuur me een bericht en ik help u graag!",
29
+ "greetingShort": "Hallo! Hoe kan ik helpen?",
30
+ "callForHelp": "Voor complexe vragen, bel ons of stuur hier meer details.",
31
+ "processingError": "Ik heb moeite om dat te verwerken. Probeer uw bericht opnieuw te sturen.",
32
+ "genericError": "Sorry, er ging iets mis. Probeer het opnieuw."
26
33
  }
27
34
  }
package/language/pt.json CHANGED
@@ -23,5 +23,12 @@
23
23
  "callForHelp": "Para questoes complexas, ligue diretamente.",
24
24
  "processingError": "Estou tendo dificuldades para processar isso. Por favor, tente novamente ou nos ligue.",
25
25
  "genericError": "Desculpe, algo deu errado. Por favor, tente novamente."
26
+ },
27
+ "whatsapp": {
28
+ "greeting": "Ola! Sou seu assistente. Envie-me uma mensagem e eu ajudo voce!",
29
+ "greetingShort": "Ola! Como posso ajudar?",
30
+ "callForHelp": "Para questoes complexas, ligue para nos ou responda aqui com mais detalhes.",
31
+ "processingError": "Estou tendo dificuldades para processar isso. Por favor, envie sua mensagem novamente.",
32
+ "genericError": "Desculpe, algo deu errado. Por favor, tente novamente."
26
33
  }
27
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diegoaltoworks/talker",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "description": "Telephony plugin for Chatter — adds voice call and SMS support via Twilio",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -4,7 +4,7 @@ You are a post-processor for a voice assistant. Your job is to transform knowled
4
4
 
5
5
  ## Channel Type
6
6
 
7
- You will be told the channel: either "call" (phone) or "sms" (text message).
7
+ You will be told the channel: "call" (phone), "sms" (text message), or "whatsapp".
8
8
 
9
9
  **For CALL (phone):**
10
10
  - Response will be SPOKEN aloud by text-to-speech
@@ -19,6 +19,15 @@ You will be told the channel: either "call" (phone) or "sms" (text message).
19
19
  - Maximum 160 characters ideal (1 SMS segment)
20
20
  - No markdown formatting
21
21
 
22
+ **For WHATSAPP:**
23
+ - Response will be READ in a WhatsApp chat
24
+ - Keep numbers as digits
25
+ - Can include full URLs
26
+ - Can use WhatsApp formatting: *bold*, _italic_, ~strikethrough~
27
+ - Longer responses are fine (up to 500 characters)
28
+ - Can use line breaks for readability
29
+ - No markdown headers or lists — use simple text with line breaks
30
+
22
31
  ## Language Requirement
23
32
 
24
33
  **CRITICAL**: You will be told which language to respond in. You MUST translate and respond in that language.
@@ -53,6 +62,12 @@ You will be told the channel: either "call" (phone) or "sms" (text message).
53
62
  - Numbers -> keep as digits
54
63
  - URLs -> keep short URLs
55
64
 
65
+ ### For WHATSAPP:
66
+ - Numbers -> keep as digits
67
+ - URLs -> keep full URLs
68
+ - Use *bold* for emphasis (WhatsApp native formatting)
69
+ - Can use line breaks between logical sections
70
+
56
71
  ## Response Format
57
72
 
58
73
  Return ONLY the transformed text. No JSON, no explanations.