@botonic/shared 2.27.0 → 2.29.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 (108) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +20 -0
  3. package/package.json +1 -2
  4. package/src/lib/domain/botonic/index.d.ts +1 -0
  5. package/src/lib/domain/botonic/index.js +1 -0
  6. package/src/lib/domain/botonic/index.js.map +1 -1
  7. package/src/lib/domain/botonic/webchat-outputs/index.d.ts +1 -0
  8. package/src/lib/domain/botonic/webchat-outputs/index.js +2 -0
  9. package/src/lib/domain/botonic/webchat-outputs/index.js.map +1 -0
  10. package/src/lib/domain/botonic/webchat-outputs/webchat-output-rating/index.d.ts +12 -0
  11. package/src/lib/domain/botonic/webchat-outputs/webchat-output-rating/index.js +13 -0
  12. package/src/lib/domain/botonic/webchat-outputs/webchat-output-rating/index.js.map +1 -0
  13. package/src/lib/domain/botonic/webchat-outputs/webchat-output-rating/webchat-output-rating.d.ts +14 -0
  14. package/src/lib/domain/botonic/webchat-outputs/webchat-output-rating/webchat-output-rating.js +2 -0
  15. package/src/lib/domain/botonic/webchat-outputs/webchat-output-rating/webchat-output-rating.js.map +1 -0
  16. package/src/lib/domain/index.d.ts +1 -3
  17. package/src/lib/domain/index.js +1 -6
  18. package/src/lib/domain/index.js.map +1 -1
  19. package/src/lib/index.d.ts +2 -2
  20. package/src/lib/index.js +5 -5
  21. package/src/lib/index.js.map +1 -1
  22. package/src/lib/services/handoff.d.ts +16 -2
  23. package/src/lib/services/handoff.js.map +1 -1
  24. package/src/lib/services/index.d.ts +0 -2
  25. package/src/lib/services/index.js +0 -2
  26. package/src/lib/services/index.js.map +1 -1
  27. package/src/lib/services/webchat-api.d.ts +5 -2
  28. package/src/lib/domain/server/bot-server-message.d.ts +0 -68
  29. package/src/lib/domain/server/bot-server-message.js +0 -111
  30. package/src/lib/domain/server/bot-server-message.js.map +0 -1
  31. package/src/lib/domain/server/botonic-context/botonic-action.d.ts +0 -10
  32. package/src/lib/domain/server/botonic-context/botonic-action.js +0 -9
  33. package/src/lib/domain/server/botonic-context/botonic-action.js.map +0 -1
  34. package/src/lib/domain/server/botonic-context/botonic-context-input.d.ts +0 -96
  35. package/src/lib/domain/server/botonic-context/botonic-context-input.js +0 -124
  36. package/src/lib/domain/server/botonic-context/botonic-context-input.js.map +0 -1
  37. package/src/lib/domain/server/botonic-context/botonic-context-session.d.ts +0 -159
  38. package/src/lib/domain/server/botonic-context/botonic-context-session.js +0 -297
  39. package/src/lib/domain/server/botonic-context/botonic-context-session.js.map +0 -1
  40. package/src/lib/domain/server/botonic-context/botonic-context-settings.d.ts +0 -16
  41. package/src/lib/domain/server/botonic-context/botonic-context-settings.js +0 -48
  42. package/src/lib/domain/server/botonic-context/botonic-context-settings.js.map +0 -1
  43. package/src/lib/domain/server/botonic-context/botonic-context.d.ts +0 -59
  44. package/src/lib/domain/server/botonic-context/botonic-context.js +0 -42
  45. package/src/lib/domain/server/botonic-context/botonic-context.js.map +0 -1
  46. package/src/lib/domain/server/botonic-context/botonic-session-patch-slice.d.ts +0 -30
  47. package/src/lib/domain/server/botonic-context/botonic-session-patch-slice.js +0 -80
  48. package/src/lib/domain/server/botonic-context/botonic-session-patch-slice.js.map +0 -1
  49. package/src/lib/domain/server/botonic-context/factory.d.ts +0 -29
  50. package/src/lib/domain/server/botonic-context/factory.js +0 -31
  51. package/src/lib/domain/server/botonic-context/factory.js.map +0 -1
  52. package/src/lib/domain/server/botonic-context/index.d.ts +0 -9
  53. package/src/lib/domain/server/botonic-context/index.js +0 -10
  54. package/src/lib/domain/server/botonic-context/index.js.map +0 -1
  55. package/src/lib/domain/server/botonic-context/send-messages-utils.d.ts +0 -3
  56. package/src/lib/domain/server/botonic-context/send-messages-utils.js +0 -33
  57. package/src/lib/domain/server/botonic-context/send-messages-utils.js.map +0 -1
  58. package/src/lib/domain/server/botonic-context/types.d.ts +0 -24
  59. package/src/lib/domain/server/botonic-context/types.js +0 -6
  60. package/src/lib/domain/server/botonic-context/types.js.map +0 -1
  61. package/src/lib/domain/server/factory.d.ts +0 -166
  62. package/src/lib/domain/server/factory.js +0 -189
  63. package/src/lib/domain/server/factory.js.map +0 -1
  64. package/src/lib/domain/server/index.d.ts +0 -3
  65. package/src/lib/domain/server/index.js +0 -4
  66. package/src/lib/domain/server/index.js.map +0 -1
  67. package/src/lib/domain/webchat/factory.d.ts +0 -88
  68. package/src/lib/domain/webchat/factory.js +0 -82
  69. package/src/lib/domain/webchat/factory.js.map +0 -1
  70. package/src/lib/domain/webchat/index.d.ts +0 -4
  71. package/src/lib/domain/webchat/index.js +0 -5
  72. package/src/lib/domain/webchat/index.js.map +0 -1
  73. package/src/lib/domain/webchat/realtime/factory.d.ts +0 -52
  74. package/src/lib/domain/webchat/realtime/factory.js +0 -69
  75. package/src/lib/domain/webchat/realtime/factory.js.map +0 -1
  76. package/src/lib/domain/webchat/realtime/index.d.ts +0 -2
  77. package/src/lib/domain/webchat/realtime/index.js +0 -3
  78. package/src/lib/domain/webchat/realtime/index.js.map +0 -1
  79. package/src/lib/domain/webchat/realtime/realtime-response-message.d.ts +0 -50
  80. package/src/lib/domain/webchat/realtime/realtime-response-message.js +0 -73
  81. package/src/lib/domain/webchat/realtime/realtime-response-message.js.map +0 -1
  82. package/src/lib/domain/webchat/user/factory.d.ts +0 -52
  83. package/src/lib/domain/webchat/user/factory.js +0 -59
  84. package/src/lib/domain/webchat/user/factory.js.map +0 -1
  85. package/src/lib/domain/webchat/user/index.d.ts +0 -2
  86. package/src/lib/domain/webchat/user/index.js +0 -3
  87. package/src/lib/domain/webchat/user/index.js.map +0 -1
  88. package/src/lib/domain/webchat/user/user-input-message.d.ts +0 -34
  89. package/src/lib/domain/webchat/user/user-input-message.js +0 -59
  90. package/src/lib/domain/webchat/user/user-input-message.js.map +0 -1
  91. package/src/lib/domain/webchat/webchat-message.d.ts +0 -58
  92. package/src/lib/domain/webchat/webchat-message.js +0 -74
  93. package/src/lib/domain/webchat/webchat-message.js.map +0 -1
  94. package/src/lib/domain/webviews/botonic-context-webviews.d.ts +0 -71
  95. package/src/lib/domain/webviews/botonic-context-webviews.js +0 -80
  96. package/src/lib/domain/webviews/botonic-context-webviews.js.map +0 -1
  97. package/src/lib/domain/webviews/factory.d.ts +0 -17
  98. package/src/lib/domain/webviews/factory.js +0 -21
  99. package/src/lib/domain/webviews/factory.js.map +0 -1
  100. package/src/lib/domain/webviews/index.d.ts +0 -2
  101. package/src/lib/domain/webviews/index.js +0 -3
  102. package/src/lib/domain/webviews/index.js.map +0 -1
  103. package/src/lib/services/hubtype-api-service.d.ts +0 -12
  104. package/src/lib/services/hubtype-api-service.js +0 -67
  105. package/src/lib/services/hubtype-api-service.js.map +0 -1
  106. package/src/lib/services/hubtype-external-api-client.d.ts +0 -21
  107. package/src/lib/services/hubtype-external-api-client.js +0 -111
  108. package/src/lib/services/hubtype-external-api-client.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## 2.29.0 (2026-05-12)
2
+
3
+ ### 🚀 Features
4
+
5
+ - rating component ([#882](https://github.com/metis-ai/hubtype-product/pull/882))
6
+
7
+ ### ❤️ Thank You
8
+
9
+ - Marc Rabat @vanbasten17
10
+
11
+ ## 2.28.0 (2026-05-06)
12
+
13
+ This was a version bump only for @botonic/shared to align it with other projects, there were no code changes.
14
+
1
15
  ## 2.27.0 (2026-04-29)
2
16
 
3
17
  ### 🚀 Features
package/README.md CHANGED
@@ -11,6 +11,15 @@ Shared types, helpers, and building blocks used by `@botonic/core`, plugins, and
11
11
 
12
12
  Match the **major version** of `@botonic/shared` to `@botonic/core` and other `@botonic/*` packages in your project.
13
13
 
14
+ ## Package boundaries (2.x)
15
+
16
+ - **`@botonic/shared`** — Protocol types, enums, request API types, and shared utilities. Not the home for server/webchat/webview **runtime** classes.
17
+ - **`@botonic/core`** — Server runtime: `BotonicContext`, plugins, `BotServerMessage` factories, routing helpers (`CoreBot`, routes, session helpers — same package entry).
18
+ - **`@botonic/webchat-core`** — Webchat message runtime (`WebchatMessage`, factories, realtime wrappers).
19
+ - **`@botonic/webviews`** — Webview session context (`BotonicContextWebviews`, factory).
20
+
21
+ Import server runtime (`BotonicContext`, `BotServerMessageFactory`, plugins) from **`@botonic/core`**, webchat message classes from **`@botonic/webchat-core`**, and webview context from **`@botonic/webviews`** — not from `@botonic/shared`.
22
+
14
23
  ## Installation
15
24
 
16
25
  ```bash
@@ -18,3 +27,14 @@ pnpm add @botonic/shared
18
27
  # or
19
28
  npm install @botonic/shared
20
29
  ```
30
+
31
+ ## Webchat rating submit payload (builtin)
32
+
33
+ Built-in webchat rating UI (and demos that follow it) send postbacks with the same **`prefix|JSON`** pattern as webchat client settings:
34
+
35
+ - **Prefix:** `submit-webchat-rating` (`SUBMIT_WEBCHAT_RATING_PAYLOAD`).
36
+ - **Helpers:** `createSubmitWebchatRatingPayload`, `parseSubmitWebchatRatingPayload`, `isSubmitWebchatRatingPayload`.
37
+
38
+ Flow Builder **CMS** rating nodes may still use **`agent-rating|…`** and other CMS-defined payloads; those are separate from this builtin contract. Custom **`payloads`** arrays on rating custom messages override defaults and are sent as-is.
39
+
40
+ With **`@botonic/webchat-react`**, the UI for **`BOTONIC_OUTPUT_RATING`** (`botonic-output-rating`) is registered automatically in `customMessages`. Pass your own component under the same key only when you need to replace the default **`RatingMessage`**.
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
2
  "name": "@botonic/shared",
3
- "version": "2.27.0",
3
+ "version": "2.29.0",
4
4
  "type": "module",
5
5
  "module": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "dependencies": {
8
8
  "tslib": "^2.3.0",
9
- "uuid": "^11.1.0",
10
9
  "vite": "7.1.9"
11
10
  },
12
11
  "publishConfig": {
@@ -6,5 +6,6 @@ export * from './session';
6
6
  export * from './settings';
7
7
  export * from './types';
8
8
  export * from './webchat-client-settings';
9
+ export * from './webchat-outputs';
9
10
  export * from './webviews-session';
10
11
  export * from './whatsapp-outputs';
@@ -6,6 +6,7 @@ export * from './session';
6
6
  export * from './settings';
7
7
  export * from './types';
8
8
  export * from './webchat-client-settings';
9
+ export * from './webchat-outputs';
9
10
  export * from './webviews-session';
10
11
  export * from './whatsapp-outputs';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/botonic/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/botonic/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './webchat-output-rating';
@@ -0,0 +1,2 @@
1
+ export * from './webchat-output-rating';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/botonic/webchat-outputs/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Built-in webchat output names emitted by Hubtype Botonic packages.
3
+ *
4
+ * `@botonic/webchat-react` registers matching renderers automatically (merged with
5
+ * embedder `customMessages`; embedder keys override builtins). You only need to add
6
+ * keys here yourself when using a custom webchat composition that does not use the
7
+ * default provider merge.
8
+ *
9
+ * Note: Flow Builder **content node** types (e.g. `type: 'rating'` in flow JSON) are
10
+ * separate from the wire **`name`** on custom chat messages.
11
+ */
12
+ export * from './webchat-output-rating';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Built-in webchat output names emitted by Hubtype Botonic packages.
3
+ *
4
+ * `@botonic/webchat-react` registers matching renderers automatically (merged with
5
+ * embedder `customMessages`; embedder keys override builtins). You only need to add
6
+ * keys here yourself when using a custom webchat composition that does not use the
7
+ * default provider merge.
8
+ *
9
+ * Note: Flow Builder **content node** types (e.g. `type: 'rating'` in flow JSON) are
10
+ * separate from the wire **`name`** on custom chat messages.
11
+ */
12
+ export * from './webchat-output-rating';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../libs/botonic/shared/src/lib/domain/botonic/webchat-outputs/webchat-output-rating/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,14 @@
1
+ export declare const WEBCHAT_OUTPUT_RATING: "botonic-output-rating";
2
+ /** Matches Flow Builder / CMS `rating_type` wire values. */
3
+ export type WebchatOutputRatingRatingType = 'stars' | 'smileys';
4
+ export interface WebchatOutputRatingButton {
5
+ value: number;
6
+ payload: string;
7
+ }
8
+ export interface WebchatOutputRatingProps {
9
+ messageText?: string;
10
+ buttonText?: string;
11
+ /** JSON-serialised {@link WebchatOutputRatingButton} entries — one per rating option. */
12
+ payloads?: string[];
13
+ ratingType?: WebchatOutputRatingRatingType;
14
+ }
@@ -0,0 +1,2 @@
1
+ export const WEBCHAT_OUTPUT_RATING = 'botonic-output-rating';
2
+ //# sourceMappingURL=webchat-output-rating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webchat-output-rating.js","sourceRoot":"","sources":["../../../../../../../../../../libs/botonic/shared/src/lib/domain/botonic/webchat-outputs/webchat-output-rating/webchat-output-rating.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAgC,CAAA"}
@@ -1,4 +1,2 @@
1
1
  export * from './botonic';
2
- export * from './server';
3
- export * from './webchat';
4
- export * from './webviews';
2
+ export * from './utils';
@@ -1,9 +1,4 @@
1
1
  // Botonic protocol exports (base types, inputs, outputs)
2
2
  export * from './botonic';
3
- // Server exports (bot server messages)
4
- export * from './server';
5
- // Webchat exports (user inputs, realtime response messages, webchat messages)
6
- export * from './webchat';
7
- // Webviews domain (GET session/webviews, context wrappers)
8
- export * from './webviews';
3
+ export * from './utils';
9
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/shared/src/lib/domain/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,cAAc,WAAW,CAAA;AAEzB,uCAAuC;AACvC,cAAc,UAAU,CAAA;AAExB,8EAA8E;AAC9E,cAAc,WAAW,CAAA;AAEzB,2DAA2D;AAC3D,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/shared/src/lib/domain/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
@@ -1,6 +1,6 @@
1
- export { MessagingChannel } from './shared-types';
1
+ export { HelpdeskEvent, InputType, MessagingChannel } from './shared-types';
2
+ export * from './domain';
2
3
  export * from './services';
3
4
  export * from './ai-agents-types';
4
5
  export * from './hubtype-analytics-types';
5
- export * from './domain';
6
6
  export * from './utils';
package/src/lib/index.js CHANGED
@@ -1,13 +1,13 @@
1
- // Export base types first
2
- export { MessagingChannel } from './shared-types'; // InputType, HelpdeskEvent already exported in domain
3
- // Export services
1
+ // Channel / input / helpdesk enums shared across protocol and plugins
2
+ export { HelpdeskEvent, InputType, MessagingChannel } from './shared-types';
3
+ // Domain (protocol types only — no re-exports of `@botonic/core` / webchat / webviews runtime)
4
+ export * from './domain';
5
+ // Export services (depend on domain + optional `@botonic/core`)
4
6
  export * from './services';
5
7
  // Export AI agents types
6
8
  export * from './ai-agents-types';
7
9
  // Export Hubtype analytics types
8
10
  export * from './hubtype-analytics-types';
9
- // Export domain types
10
- export * from './domain';
11
11
  // Export utils
12
12
  export * from './utils';
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/botonic/shared/src/lib/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA,CAAC,sDAAsD;AAExG,kBAAkB;AAClB,cAAc,YAAY,CAAA;AAE1B,yBAAyB;AACzB,cAAc,mBAAmB,CAAA;AAEjC,iCAAiC;AACjC,cAAc,2BAA2B,CAAA;AAEzC,sBAAsB;AACtB,cAAc,UAAU,CAAA;AAExB,eAAe;AACf,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/botonic/shared/src/lib/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE3E,+FAA+F;AAC/F,cAAc,UAAU,CAAA;AAExB,gEAAgE;AAChE,cAAc,YAAY,CAAA;AAE1B,yBAAyB;AACzB,cAAc,mBAAmB,CAAA;AAEjC,iCAAiC;AACjC,cAAc,2BAA2B,CAAA;AAEzC,eAAe;AACf,cAAc,SAAS,CAAA"}
@@ -1,4 +1,18 @@
1
- import type { BotonicContext } from '../domain';
2
- export declare function storeCaseRating(botonicContext: BotonicContext, rating: number, _context?: Record<string, unknown>): Promise<{
1
+ /** Narrow context shape for this helper (avoids `@botonic/shared` → `@botonic/core` package cycle). */
2
+ export interface StoreCaseRatingContext {
3
+ session: {
4
+ isTestIntegration: boolean;
5
+ user: {
6
+ id: string;
7
+ };
8
+ };
9
+ settings: {
10
+ hubtypeApiUrl: string;
11
+ };
12
+ secrets: {
13
+ hubtypeAccessToken: string;
14
+ };
15
+ }
16
+ export declare function storeCaseRating(botonicContext: StoreCaseRatingContext, rating: number, _context?: Record<string, unknown>): Promise<{
3
17
  status: string;
4
18
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/shared/src/lib/services/handoff.ts"],"names":[],"mappings":";AAEA,mGAAmG;AACnG,MAAM,UAAgB,eAAe;yDACnC,cAA8B,EAC9B,MAAc,EACd,WAAoC,EAAE;QAEtC,IAAI,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;QAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,cAAc,CAAC,QAAQ,CAAC,aAAa,aAAa,MAAM,qBAAqB,EAChF;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE;gBACpE,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;SAClD,CACF,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;CAAA"}
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/shared/src/lib/services/handoff.ts"],"names":[],"mappings":";AAUA,mGAAmG;AACnG,MAAM,UAAgB,eAAe;yDACnC,cAAsC,EACtC,MAAc,EACd,WAAoC,EAAE;QAEtC,IAAI,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;QAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,cAAc,CAAC,QAAQ,CAAC,aAAa,aAAa,MAAM,qBAAqB,EAChF;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE;gBACpE,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;SAClD,CACF,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;CAAA"}
@@ -1,4 +1,2 @@
1
1
  export * from './handoff';
2
- export * from './hubtype-api-service';
3
- export * from './hubtype-external-api-client';
4
2
  export * from './webchat-api';
@@ -1,5 +1,3 @@
1
1
  export * from './handoff';
2
- export * from './hubtype-api-service';
3
- export * from './hubtype-external-api-client';
4
2
  export * from './webchat-api';
5
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/shared/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/shared/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA"}
@@ -1,4 +1,3 @@
1
- import { UserInputMessage } from '../domain/webchat';
2
1
  export type HubtypeUserLocale = {
3
2
  locale: string;
4
3
  country: string;
@@ -10,7 +9,11 @@ export type HubtypeUser = {
10
9
  name?: string;
11
10
  extra_data?: Record<string, any>;
12
11
  } & HubtypeUserLocale;
12
+ /**
13
+ * Webchat message payload at the Hubtype API boundary.
14
+ * Runtime class lives in `@botonic/webchat-core`; keep `unknown` here so `@botonic/shared` stays dependency-free.
15
+ */
13
16
  export interface HubtypeMessage {
14
17
  sender: HubtypeUser;
15
- message: UserInputMessage;
18
+ message: unknown;
16
19
  }
@@ -1,68 +0,0 @@
1
- import { BotMessageMetadata, BotonicButtonMessageData, BotonicCarouselData, BotonicCustomData, BotonicLocationData, BotonicTextData, BotonicTypingEventData, BotonicWhatsappButtonListData, BotonicWhatsappCatalogData, BotonicWhatsappCTAUrlButtonData, BotonicWhatsappMediaCarouselData, BotonicWhatsappProductCarouselData, BotonicWhatsappProductData, BotonicWhatsappProductListData, BotonicWhatsappTemplateData, MessageType, OutputMessageType, OutputMessageTypeMap, WebchatClientSettings } from '../botonic';
2
- import { BotonicOutput, BotonicOutputAudioData, BotonicOutputDocumentData, BotonicOutputImageData, BotonicOutputVideoData } from '../botonic/outputs';
3
- export declare abstract class BotServerMessage<T extends OutputMessageType = OutputMessageType> extends BotonicOutput<T> implements BotMessageMetadata {
4
- readonly bot_interaction_id?: string;
5
- readonly feedback_enabled?: boolean;
6
- readonly inference_id?: string;
7
- readonly typing?: number;
8
- readonly delay?: number;
9
- constructor(type: T, data: OutputMessageTypeMap[T], metadata?: BotMessageMetadata);
10
- }
11
- export declare class BotServerMessageText extends BotServerMessage<MessageType.Text> {
12
- constructor(data: BotonicTextData, metadata?: BotMessageMetadata);
13
- }
14
- export declare class BotServerMessageAudio extends BotServerMessage<MessageType.Audio> {
15
- constructor(data: BotonicOutputAudioData, metadata?: BotMessageMetadata);
16
- }
17
- export declare class BotServerMessageImage extends BotServerMessage<MessageType.Image> {
18
- constructor(data: BotonicOutputImageData, metadata?: BotMessageMetadata);
19
- }
20
- export declare class BotServerMessageVideo extends BotServerMessage<MessageType.Video> {
21
- constructor(data: BotonicOutputVideoData, metadata?: BotMessageMetadata);
22
- }
23
- export declare class BotServerMessageDocument extends BotServerMessage<MessageType.Document> {
24
- constructor(data: BotonicOutputDocumentData, metadata?: BotMessageMetadata);
25
- }
26
- export declare class BotServerMessageLocation extends BotServerMessage<MessageType.Location> {
27
- constructor(data: BotonicLocationData, metadata?: BotMessageMetadata);
28
- }
29
- export declare class BotServerMessageButtonMessage extends BotServerMessage<MessageType.ButtonMessage> {
30
- constructor(data: BotonicButtonMessageData, metadata?: BotMessageMetadata);
31
- }
32
- export declare class BotServerMessageCarousel extends BotServerMessage<MessageType.Carousel> {
33
- constructor(data: BotonicCarouselData, metadata?: BotMessageMetadata);
34
- }
35
- export declare class BotServerMessageCustom extends BotServerMessage<MessageType.Custom> {
36
- constructor(data: BotonicCustomData, metadata?: BotMessageMetadata);
37
- }
38
- export declare class BotServerMessageTypingEvent extends BotServerMessage<MessageType.TypingEvent> {
39
- constructor(data: BotonicTypingEventData, metadata?: BotMessageMetadata);
40
- }
41
- export declare class BotServerMessageWhatsappButtonList extends BotServerMessage<MessageType.WhatsappButtonList> {
42
- constructor(data: BotonicWhatsappButtonListData, metadata?: BotMessageMetadata);
43
- }
44
- export declare class BotServerMessageWhatsappCTAUrlButton extends BotServerMessage<MessageType.WhatsappCTAUrlButton> {
45
- constructor(data: BotonicWhatsappCTAUrlButtonData, metadata?: BotMessageMetadata);
46
- }
47
- export declare class BotServerMessageWhatsappCatalog extends BotServerMessage<MessageType.WhatsappCatalog> {
48
- constructor(data: BotonicWhatsappCatalogData, metadata?: BotMessageMetadata);
49
- }
50
- export declare class BotServerMessageWhatsappProduct extends BotServerMessage<MessageType.WhatsappProduct> {
51
- constructor(data: BotonicWhatsappProductData, metadata?: BotMessageMetadata);
52
- }
53
- export declare class BotServerMessageWhatsappProductList extends BotServerMessage<MessageType.WhatsappProductList> {
54
- constructor(data: BotonicWhatsappProductListData, metadata?: BotMessageMetadata);
55
- }
56
- export declare class BotServerMessageWhatsappProductCarousel extends BotServerMessage<MessageType.WhatsappProductCarousel> {
57
- constructor(data: BotonicWhatsappProductCarouselData, metadata?: BotMessageMetadata);
58
- }
59
- export declare class BotServerMessageWhatsappMediaCarousel extends BotServerMessage<MessageType.WhatsappMediaCarousel> {
60
- constructor(data: BotonicWhatsappMediaCarouselData, metadata?: BotMessageMetadata);
61
- }
62
- export declare class BotServerMessageWhatsappTemplate extends BotServerMessage<MessageType.WhatsappTemplate> {
63
- constructor(data: BotonicWhatsappTemplateData, metadata?: BotMessageMetadata);
64
- }
65
- export declare class BotServerMessageWebchatClientSettings extends BotServerMessage<MessageType.WebchatClientSettings> {
66
- constructor(data: WebchatClientSettings, metadata?: BotMessageMetadata);
67
- }
68
- export type BotServerMessageType = BotServerMessageText | BotServerMessageAudio | BotServerMessageImage | BotServerMessageVideo | BotServerMessageDocument | BotServerMessageLocation | BotServerMessageButtonMessage | BotServerMessageCarousel | BotServerMessageCustom | BotServerMessageTypingEvent | BotServerMessageWhatsappButtonList | BotServerMessageWhatsappCTAUrlButton | BotServerMessageWhatsappCatalog | BotServerMessageWhatsappProduct | BotServerMessageWhatsappProductList | BotServerMessageWhatsappProductCarousel | BotServerMessageWhatsappMediaCarousel | BotServerMessageWhatsappTemplate | BotServerMessageWebchatClientSettings;
@@ -1,111 +0,0 @@
1
- import { MessageType, } from '../botonic';
2
- import { BotonicOutput, } from '../botonic/outputs';
3
- // ============================================================================
4
- // BOT SERVER MESSAGE (extends Output + adds bot-specific metadata)
5
- // ============================================================================
6
- export class BotServerMessage extends BotonicOutput {
7
- constructor(type, data, metadata = {}) {
8
- super(type, data);
9
- this.bot_interaction_id = metadata.bot_interaction_id;
10
- this.feedback_enabled = metadata.feedback_enabled;
11
- this.inference_id = metadata.inference_id;
12
- this.typing = metadata.typing;
13
- this.delay = metadata.delay;
14
- }
15
- }
16
- export class BotServerMessageText extends BotServerMessage {
17
- constructor(data, metadata = {}) {
18
- super(MessageType.Text, data, metadata);
19
- }
20
- }
21
- export class BotServerMessageAudio extends BotServerMessage {
22
- constructor(data, metadata = {}) {
23
- super(MessageType.Audio, data, metadata);
24
- }
25
- }
26
- export class BotServerMessageImage extends BotServerMessage {
27
- constructor(data, metadata = {}) {
28
- super(MessageType.Image, data, metadata);
29
- }
30
- }
31
- export class BotServerMessageVideo extends BotServerMessage {
32
- constructor(data, metadata = {}) {
33
- super(MessageType.Video, data, metadata);
34
- }
35
- }
36
- export class BotServerMessageDocument extends BotServerMessage {
37
- constructor(data, metadata = {}) {
38
- super(MessageType.Document, data, metadata);
39
- }
40
- }
41
- export class BotServerMessageLocation extends BotServerMessage {
42
- constructor(data, metadata = {}) {
43
- super(MessageType.Location, data, metadata);
44
- }
45
- }
46
- export class BotServerMessageButtonMessage extends BotServerMessage {
47
- constructor(data, metadata = {}) {
48
- super(MessageType.ButtonMessage, data, metadata);
49
- }
50
- }
51
- export class BotServerMessageCarousel extends BotServerMessage {
52
- constructor(data, metadata = {}) {
53
- super(MessageType.Carousel, data, metadata);
54
- }
55
- }
56
- export class BotServerMessageCustom extends BotServerMessage {
57
- constructor(data, metadata = {}) {
58
- super(MessageType.Custom, data, metadata);
59
- }
60
- }
61
- export class BotServerMessageTypingEvent extends BotServerMessage {
62
- constructor(data, metadata = {}) {
63
- super(MessageType.TypingEvent, data, metadata);
64
- }
65
- }
66
- export class BotServerMessageWhatsappButtonList extends BotServerMessage {
67
- constructor(data, metadata = {}) {
68
- super(MessageType.WhatsappButtonList, data, metadata);
69
- }
70
- }
71
- export class BotServerMessageWhatsappCTAUrlButton extends BotServerMessage {
72
- constructor(data, metadata = {}) {
73
- super(MessageType.WhatsappCTAUrlButton, data, metadata);
74
- }
75
- }
76
- export class BotServerMessageWhatsappCatalog extends BotServerMessage {
77
- constructor(data, metadata = {}) {
78
- super(MessageType.WhatsappCatalog, data, metadata);
79
- }
80
- }
81
- export class BotServerMessageWhatsappProduct extends BotServerMessage {
82
- constructor(data, metadata = {}) {
83
- super(MessageType.WhatsappProduct, data, metadata);
84
- }
85
- }
86
- export class BotServerMessageWhatsappProductList extends BotServerMessage {
87
- constructor(data, metadata = {}) {
88
- super(MessageType.WhatsappProductList, data, metadata);
89
- }
90
- }
91
- export class BotServerMessageWhatsappProductCarousel extends BotServerMessage {
92
- constructor(data, metadata = {}) {
93
- super(MessageType.WhatsappProductCarousel, data, metadata);
94
- }
95
- }
96
- export class BotServerMessageWhatsappMediaCarousel extends BotServerMessage {
97
- constructor(data, metadata = {}) {
98
- super(MessageType.WhatsappMediaCarousel, data, metadata);
99
- }
100
- }
101
- export class BotServerMessageWhatsappTemplate extends BotServerMessage {
102
- constructor(data, metadata = {}) {
103
- super(MessageType.WhatsappTemplate, data, metadata);
104
- }
105
- }
106
- export class BotServerMessageWebchatClientSettings extends BotServerMessage {
107
- constructor(data, metadata = {}) {
108
- super(MessageType.WebchatClientSettings, data, metadata);
109
- }
110
- }
111
- //# sourceMappingURL=bot-server-message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bot-server-message.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/server/bot-server-message.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /** Flow / handoff action prefixes stored in session (legacy plugins may still set these via `custom` until migrated). */
2
- export declare enum BotonicAction {
3
- Redirect = "redirect_action",
4
- CreateCase = "create_case",
5
- DeleteUser = "delete_user",
6
- DiscardCase = "discard_case"
7
- }
8
- type BotonicActionSeparator = ':';
9
- export type BotonicActionType = `${BotonicAction.CreateCase}${BotonicActionSeparator}${string}` | `${BotonicAction.Redirect}${BotonicActionSeparator}${string}` | `${BotonicAction.DiscardCase}${BotonicActionSeparator}${string}` | `${BotonicAction.DiscardCase}` | `${BotonicAction.DeleteUser}`;
10
- export {};
@@ -1,9 +0,0 @@
1
- /** Flow / handoff action prefixes stored in session (legacy plugins may still set these via `custom` until migrated). */
2
- export var BotonicAction;
3
- (function (BotonicAction) {
4
- BotonicAction["Redirect"] = "redirect_action";
5
- BotonicAction["CreateCase"] = "create_case";
6
- BotonicAction["DeleteUser"] = "delete_user";
7
- BotonicAction["DiscardCase"] = "discard_case";
8
- })(BotonicAction || (BotonicAction = {}));
9
- //# sourceMappingURL=botonic-action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"botonic-action.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/server/botonic-context/botonic-action.ts"],"names":[],"mappings":"AAAA,yHAAyH;AACzH,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,6CAA4B,CAAA;IAC5B,2CAA0B,CAAA;IAC1B,2CAA0B,CAAA;IAC1B,6CAA4B,CAAA;AAC9B,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
@@ -1,96 +0,0 @@
1
- import type { BotonicData } from '../../botonic/types';
2
- import { MessageType } from '../../botonic/types';
3
- export declare enum HelpdeskEvent {
4
- StatusChanged = "status_changed",
5
- AgentMessageCreated = "agent_message_created",
6
- QueuePositionChanged = "queue_position_changed"
7
- }
8
- export declare enum InputType {
9
- Text = "text",
10
- Image = "image",
11
- Video = "video",
12
- Audio = "audio",
13
- Document = "document",
14
- Location = "location",
15
- Contact = "contact",
16
- Custom = "custom",
17
- Raw = "raw",
18
- CaseEventQueuePosition = "case_event_queue_position",
19
- Postback = "postback",
20
- Event = "event",
21
- /** Legacy typing: maps to v2 typing event_name "typing_on". */
22
- StartTyping = "start_typing",
23
- /** Legacy typing: maps to v2 typing event_name "typing_off". */
24
- SendPaused = "send_paused"
25
- }
26
- export declare enum NluType {
27
- Keyword = "keyword",
28
- SmartIntent = "smart-intent",
29
- Intent = "intent"
30
- }
31
- export interface NluResolution {
32
- type: NluType;
33
- matchedValue: string;
34
- payload?: string;
35
- }
36
- export interface CampaignV2 {
37
- id: string;
38
- name: string;
39
- agent_context?: string;
40
- end_date?: string;
41
- }
42
- export interface InputContext {
43
- campaigns_v2?: CampaignV2[];
44
- }
45
- export type SentBy = 'enduser' | 'agent' | 'bot';
46
- export interface BotonicRequestInput {
47
- type: MessageType;
48
- data: BotonicData;
49
- provider_id?: string;
50
- sent_by?: string;
51
- message_id?: string;
52
- bot_interaction_id: string;
53
- conversation_id?: string;
54
- context?: InputContext;
55
- /** Bot-side: NLU resolution set by plugins. */
56
- nluResolution?: NluResolution;
57
- }
58
- /**
59
- * Facade over {@link BotonicRequestInput}: wraps the wire payload and exposes
60
- * camelCase accessors (`text`, `botInteractionId`, …). It does not implement
61
- * `BotonicRequestInput` (naming and shape differ on purpose).
62
- */
63
- export declare class BotonicContextInput {
64
- private rawInput;
65
- constructor(rawInput: BotonicRequestInput);
66
- get type(): MessageType;
67
- set type(v: MessageType);
68
- get data(): BotonicData;
69
- get providerId(): string | undefined;
70
- get sentBy(): string | undefined;
71
- get messageId(): string | undefined;
72
- get botInteractionId(): string;
73
- get conversationId(): string | undefined;
74
- get context(): InputContext | undefined;
75
- get nluResolution(): NluResolution | undefined;
76
- set nluResolution(v: NluResolution | undefined);
77
- private getKeyDataStringValue;
78
- get text(): string | undefined;
79
- set text(value: string);
80
- get payload(): string | undefined;
81
- set payload(value: string | undefined);
82
- get referral(): string | undefined;
83
- get attachmentUrl(): string | undefined;
84
- /** True when the input is text with string data present. */
85
- hasInputText(): boolean;
86
- /**
87
- * Replace the current input with a synthetic postback so type and data stay in sync.
88
- * Use for redirect flow instead of mutating payload/type/text individually.
89
- */
90
- setAsPostback(payload: string): void;
91
- /**
92
- * Replace the current input with synthetic text so type and data stay in sync.
93
- * Use when converting e.g. WhatsApp referral to text input.
94
- */
95
- setAsText(text: string): void;
96
- }