@botonic/webchat-core 2.37.0 → 2.38.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 (76) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.json +4 -3
  3. package/src/index.d.ts +6 -1
  4. package/src/index.js +5 -1
  5. package/src/index.js.map +1 -1
  6. package/src/lib/analytics/create-webchat-analytics-botonic-context.d.ts +14 -0
  7. package/src/lib/analytics/create-webchat-analytics-botonic-context.js +114 -0
  8. package/src/lib/analytics/create-webchat-analytics-botonic-context.js.map +1 -0
  9. package/src/lib/analytics/dispatch-hubtype-analytics-track-event.d.ts +8 -0
  10. package/src/lib/analytics/dispatch-hubtype-analytics-track-event.js +60 -0
  11. package/src/lib/analytics/dispatch-hubtype-analytics-track-event.js.map +1 -0
  12. package/src/lib/analytics/hubtype-analytics-track-event-message.d.ts +9 -0
  13. package/src/lib/analytics/hubtype-analytics-track-event-message.js +24 -0
  14. package/src/lib/analytics/hubtype-analytics-track-event-message.js.map +1 -0
  15. package/src/lib/analytics/index.d.ts +4 -0
  16. package/src/lib/analytics/index.js +5 -0
  17. package/src/lib/analytics/index.js.map +1 -0
  18. package/src/lib/analytics/webchat-analytics-request.d.ts +17 -0
  19. package/src/lib/analytics/webchat-analytics-request.js +25 -0
  20. package/src/lib/analytics/webchat-analytics-request.js.map +1 -0
  21. package/src/lib/controllers/index.d.ts +1 -0
  22. package/src/lib/controllers/index.js +1 -0
  23. package/src/lib/controllers/index.js.map +1 -1
  24. package/src/lib/controllers/public.d.ts +12 -9
  25. package/src/lib/controllers/public.js +3 -2
  26. package/src/lib/controllers/public.js.map +1 -1
  27. package/src/lib/controllers/register-on-open.d.ts +6 -0
  28. package/src/lib/controllers/register-on-open.js +15 -0
  29. package/src/lib/controllers/register-on-open.js.map +1 -0
  30. package/src/lib/controllers/webchat.d.ts +21 -9
  31. package/src/lib/controllers/webchat.js +135 -32
  32. package/src/lib/controllers/webchat.js.map +1 -1
  33. package/src/lib/domain/index.d.ts +11 -0
  34. package/src/lib/infra/client/webchat-client-state.d.ts +13 -0
  35. package/src/lib/infra/client/webchat-client-state.js +29 -0
  36. package/src/lib/infra/client/webchat-client-state.js.map +1 -0
  37. package/src/lib/infra/clients/hubtype-api.d.ts +2 -1
  38. package/src/lib/infra/clients/hubtype-api.js +10 -1
  39. package/src/lib/infra/clients/hubtype-api.js.map +1 -1
  40. package/src/lib/infra/repositories/storage/base-storage.d.ts +13 -2
  41. package/src/lib/infra/repositories/storage/base-storage.js +117 -6
  42. package/src/lib/infra/repositories/storage/base-storage.js.map +1 -1
  43. package/src/lib/infra/repositories/storage/browser-storage.js +2 -5
  44. package/src/lib/infra/repositories/storage/browser-storage.js.map +1 -1
  45. package/src/lib/infra/repositories/storage/client-state-constants.d.ts +4 -0
  46. package/src/lib/infra/repositories/storage/client-state-constants.js +5 -0
  47. package/src/lib/infra/repositories/storage/client-state-constants.js.map +1 -0
  48. package/src/lib/infra/repositories/storage/factory.js +8 -6
  49. package/src/lib/infra/repositories/storage/factory.js.map +1 -1
  50. package/src/lib/infra/repositories/storage/in-memory.js +7 -1
  51. package/src/lib/infra/repositories/storage/in-memory.js.map +1 -1
  52. package/src/lib/infra/repositories/storage/index.d.ts +2 -1
  53. package/src/lib/infra/repositories/storage/index.js +1 -0
  54. package/src/lib/infra/repositories/storage/index.js.map +1 -1
  55. package/src/lib/infra/repositories/storage/parse-conversation-data.d.ts +2 -0
  56. package/src/lib/infra/repositories/storage/parse-conversation-data.js +19 -0
  57. package/src/lib/infra/repositories/storage/parse-conversation-data.js.map +1 -0
  58. package/src/lib/infra/repositories/storage/resolve-webchat-session-user.d.ts +9 -0
  59. package/src/lib/infra/repositories/storage/resolve-webchat-session-user.js +41 -0
  60. package/src/lib/infra/repositories/storage/resolve-webchat-session-user.js.map +1 -0
  61. package/src/lib/infra/repositories/storage/storage-test-helpers.d.ts +2 -0
  62. package/src/lib/infra/repositories/storage/storage-test-helpers.js +10 -0
  63. package/src/lib/infra/repositories/storage/storage-test-helpers.js.map +1 -0
  64. package/src/lib/infra/repositories/storage/types.d.ts +11 -0
  65. package/src/lib/machines/embed-trigger.d.ts +17 -0
  66. package/src/lib/machines/embed-trigger.js +29 -0
  67. package/src/lib/machines/embed-trigger.js.map +1 -0
  68. package/src/lib/machines/webchat.d.ts +41 -8
  69. package/src/lib/machines/webchat.js +73 -23
  70. package/src/lib/machines/webchat.js.map +1 -1
  71. package/src/lib/messages/webchat-message.d.ts +4 -1
  72. package/src/lib/messages/webchat-message.js +3 -0
  73. package/src/lib/messages/webchat-message.js.map +1 -1
  74. package/src/lib/services/webchat-service.d.ts +3 -0
  75. package/src/lib/services/webchat-service.js +77 -5
  76. package/src/lib/services/webchat-service.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## 2.38.0 (2026-11-04)
2
+
3
+ ### 🚀 Features
4
+
5
+ - **botonic:** add RequestContactInfo shared types and session field #BLT-2622 ([#1300](https://github.com/metis-ai/hubtype-product/pull/1300))
6
+ - support channels list before opening webchat ([#1329](https://github.com/metis-ai/hubtype-product/pull/1329))
7
+
8
+ ### ❤️ Thank You
9
+
10
+ - David Hidalgo @Davidhidalgo
11
+ - Marc Rabat @vanbasten17
12
+
1
13
  ## 2.37.0 (2026-09-03)
2
14
 
3
15
  This was a version bump only for @botonic/webchat-core to align it with other projects, there were no code changes.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botonic/webchat-core",
3
- "version": "2.37.0",
3
+ "version": "2.38.0",
4
4
  "type": "module",
5
5
  "types": "./src/index.d.ts",
6
6
  "module": "./src/index.js",
@@ -16,11 +16,12 @@
16
16
  }
17
17
  },
18
18
  "dependencies": {
19
- "@botonic/shared": "2.37.0",
19
+ "@botonic/shared": "2.38.0",
20
20
  "pusher-js": "^8.4.0",
21
21
  "tslib": "^2.3.0",
22
22
  "uuid": "^11.1.0",
23
- "xstate": "^5.19.3"
23
+ "xstate": "^5.19.3",
24
+ "@botonic/core": "2.38.0"
24
25
  },
25
26
  "references": [
26
27
  {
package/src/index.d.ts CHANGED
@@ -1,5 +1,8 @@
1
+ export * from './lib/analytics';
1
2
  export * from './lib/domain';
2
3
  export * from './lib/messages';
4
+ export type { EmbedTriggerContext, EmbedTriggerEvent, EmbedTriggerInput, } from './lib/machines/embed-trigger';
5
+ export { embedTriggerMachine, isEmbedTriggerHydrated, } from './lib/machines/embed-trigger';
3
6
  export * from './lib/machines/message';
4
7
  export * from './lib/machines/overlay';
5
8
  export * from './lib/machines/webchat';
@@ -7,6 +10,8 @@ export * from './lib/controllers';
7
10
  export type { WebchatEmittedEvent } from './lib/controllers/webchat';
8
11
  export * from './lib/infra/clients';
9
12
  export * from './lib/services/webchat-service';
10
- export type { ConversationData, StorageConfig, StorageRepository, StorageType, StoredMessage, WebchatHubtypeUser, } from './lib/infra/repositories';
13
+ export { WebchatClientState } from './lib/infra/client/webchat-client-state';
14
+ export type { AppClientState, ConversationData, StorageConfig, StorageRepository, StorageType, StoredMessage, WebchatHubtypeUser, } from './lib/infra/repositories';
11
15
  export { createStorageRepository, InMemoryRepository, LocalStorageRepository, SessionStorageRepository, } from './lib/infra/repositories';
16
+ export { DEFAULT_KEY_PREFIX } from './lib/infra/repositories/storage/client-state-constants';
12
17
  export * from './lib/webview';
package/src/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  // Domain types
2
+ export * from './lib/analytics';
2
3
  export * from './lib/domain';
3
4
  // Webchat message runtime (user input, realtime responses, unified webchat message)
4
5
  export * from './lib/messages';
5
- // XState machines (internal)
6
+ export { embedTriggerMachine, isEmbedTriggerHydrated, } from './lib/machines/embed-trigger';
6
7
  export * from './lib/machines/message';
7
8
  export * from './lib/machines/overlay';
8
9
  export * from './lib/machines/webchat';
@@ -11,7 +12,10 @@ export * from './lib/controllers';
11
12
  // Infrastructure clients
12
13
  export * from './lib/infra/clients';
13
14
  export * from './lib/services/webchat-service';
15
+ // Storage types and repository
16
+ export { WebchatClientState } from './lib/infra/client/webchat-client-state';
14
17
  export { createStorageRepository, InMemoryRepository, LocalStorageRepository, SessionStorageRepository, } from './lib/infra/repositories';
18
+ export { DEFAULT_KEY_PREFIX } from './lib/infra/repositories/storage/client-state-constants';
15
19
  // Webview utilities, constants, and types
16
20
  export * from './lib/webview';
17
21
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/botonic/webchat-core/src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,cAAc,cAAc,CAAA;AAE5B,oFAAoF;AACpF,cAAc,gBAAgB,CAAA;AAE9B,6BAA6B;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AAEtC,0CAA0C;AAC1C,cAAc,mBAAmB,CAAA;AAKjC,yBAAyB;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA;AAW9C,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AAEjC,0CAA0C;AAC1C,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/botonic/webchat-core/src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,oFAAoF;AACpF,cAAc,gBAAgB,CAAA;AAQ9B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,8BAA8B,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AAEtC,0CAA0C;AAC1C,cAAc,mBAAmB,CAAA;AAKjC,yBAAyB;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA;AAE9C,+BAA+B;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAU5E,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAA;AAE5F,0CAA0C;AAC1C,cAAc,eAAe,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { BotonicContext } from '@botonic/core';
2
+ import type { WebchatControllerContext } from '../machines/webchat';
3
+ export type WebchatAnalyticsContextSkipReason = 'missing-user' | 'missing-api-url' | 'missing-bot-interaction-id';
4
+ export declare function resolveWebchatAnalyticsBotInteractionId(context: WebchatControllerContext, explicitBotInteractionId?: string): string | undefined;
5
+ export declare function getWebchatAnalyticsContextSkipReason(context: WebchatControllerContext, botInteractionId?: string): WebchatAnalyticsContextSkipReason | undefined;
6
+ export declare function warnWebchatAnalyticsContextSkipped(reason: WebchatAnalyticsContextSkipReason, source: 'invokeTrackEvent' | 'message-dispatch'): void;
7
+ /**
8
+ * Builds a {@link BotonicContext} for `@botonic/plugin-hubtype-analytics` in the browser.
9
+ *
10
+ * Requires a connected user, configured Hubtype API URL, and a real `botInteractionId`
11
+ * (explicit, from the message, or `lastBotInteractionId` on the controller context).
12
+ * Browser web events use provider_id transport without a bearer token; does not invent IDs or API hosts.
13
+ */
14
+ export declare function createWebchatAnalyticsBotonicContext(context: WebchatControllerContext, botInteractionId?: string): BotonicContext | undefined;
@@ -0,0 +1,114 @@
1
+ import { BotonicContext, BotonicContextInput, BotonicContextSecrets, BotonicContextSession, BotonicContextSettings, } from '@botonic/core';
2
+ import { BotonicTextData, MessageType, MessagingChannel } from '@botonic/shared';
3
+ const noopHubtype = {};
4
+ export function resolveWebchatAnalyticsBotInteractionId(context, explicitBotInteractionId) {
5
+ var _a;
6
+ const explicit = explicitBotInteractionId === null || explicitBotInteractionId === void 0 ? void 0 : explicitBotInteractionId.trim();
7
+ if (explicit) {
8
+ return explicit;
9
+ }
10
+ const fromContext = (_a = context.lastBotInteractionId) === null || _a === void 0 ? void 0 : _a.trim();
11
+ return fromContext || undefined;
12
+ }
13
+ export function getWebchatAnalyticsContextSkipReason(context, botInteractionId) {
14
+ var _a;
15
+ if (!((_a = context.user) === null || _a === void 0 ? void 0 : _a.id)) {
16
+ return 'missing-user';
17
+ }
18
+ if (!resolveHubtypeApiUrl(context)) {
19
+ return 'missing-api-url';
20
+ }
21
+ if (!resolveWebchatAnalyticsBotInteractionId(context, botInteractionId)) {
22
+ return 'missing-bot-interaction-id';
23
+ }
24
+ return undefined;
25
+ }
26
+ export function warnWebchatAnalyticsContextSkipped(reason, source) {
27
+ console.warn(`[webchat] Hubtype analytics skipped (${source}): ${reason}`);
28
+ }
29
+ function resolveHubtypeApiUrl(context) {
30
+ var _a, _b;
31
+ const fromConfig = (_a = context.config.apiUrl) === null || _a === void 0 ? void 0 : _a.trim();
32
+ if (fromConfig) {
33
+ return fromConfig;
34
+ }
35
+ if (typeof import.meta !== 'undefined') {
36
+ const envUrl = (_b = import.meta.env) === null || _b === void 0 ? void 0 : _b.VITE_HUBTYPE_API_URL;
37
+ if (typeof envUrl === 'string' && envUrl.trim()) {
38
+ return envUrl.trim();
39
+ }
40
+ }
41
+ return undefined;
42
+ }
43
+ function buildBotonicSession(context) {
44
+ var _a, _b, _c, _d;
45
+ const user = context.user;
46
+ if (!(user === null || user === void 0 ? void 0 : user.id)) {
47
+ return undefined;
48
+ }
49
+ let channelData;
50
+ try {
51
+ channelData = (_a = context.webchatService) === null || _a === void 0 ? void 0 : _a.getChannelData();
52
+ }
53
+ catch (_e) {
54
+ channelData = undefined;
55
+ }
56
+ const botId = (_b = channelData === null || channelData === void 0 ? void 0 : channelData.botId) === null || _b === void 0 ? void 0 : _b.trim();
57
+ const chatId = (_c = channelData === null || channelData === void 0 ? void 0 : channelData.chatId) === null || _c === void 0 ? void 0 : _c.trim();
58
+ const session = {
59
+ is_first_interaction: false,
60
+ organization: { id: botId !== null && botId !== void 0 ? botId : '', name: '' },
61
+ channel: {
62
+ provider: MessagingChannel.Webchat,
63
+ imp_id: chatId !== null && chatId !== void 0 ? chatId : '',
64
+ unformatted_phone_number: '',
65
+ },
66
+ user: {
67
+ id: user.id,
68
+ provider_id: MessagingChannel.Webchat,
69
+ locale: user.locale,
70
+ country: user.country,
71
+ system_locale: user.system_locale,
72
+ extra_data: (_d = user.extra_data) !== null && _d !== void 0 ? _d : {},
73
+ },
74
+ is_test_integration: false,
75
+ };
76
+ if (botId) {
77
+ session.bot = { id: botId, name: '' };
78
+ }
79
+ return session;
80
+ }
81
+ /**
82
+ * Builds a {@link BotonicContext} for `@botonic/plugin-hubtype-analytics` in the browser.
83
+ *
84
+ * Requires a connected user, configured Hubtype API URL, and a real `botInteractionId`
85
+ * (explicit, from the message, or `lastBotInteractionId` on the controller context).
86
+ * Browser web events use provider_id transport without a bearer token; does not invent IDs or API hosts.
87
+ */
88
+ export function createWebchatAnalyticsBotonicContext(context, botInteractionId) {
89
+ const sessionData = buildBotonicSession(context);
90
+ if (!sessionData) {
91
+ return undefined;
92
+ }
93
+ const apiUrl = resolveHubtypeApiUrl(context);
94
+ if (!apiUrl) {
95
+ return undefined;
96
+ }
97
+ const resolvedBotInteractionId = resolveWebchatAnalyticsBotInteractionId(context, botInteractionId);
98
+ if (!resolvedBotInteractionId) {
99
+ return undefined;
100
+ }
101
+ return new BotonicContext(noopHubtype, {
102
+ input: new BotonicContextInput({
103
+ type: MessageType.Text,
104
+ data: new BotonicTextData(''),
105
+ bot_interaction_id: resolvedBotInteractionId,
106
+ }),
107
+ session: new BotonicContextSession(sessionData),
108
+ settings: new BotonicContextSettings({
109
+ HUBTYPE_API_URL: apiUrl,
110
+ }),
111
+ secrets: new BotonicContextSecrets({ HUBTYPE_ACCESS_TOKEN: '' }),
112
+ }, {}, 0, 0, 'inBetweenTyping');
113
+ }
114
+ //# sourceMappingURL=create-webchat-analytics-botonic-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-webchat-analytics-botonic-context.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/analytics/create-webchat-analytics-botonic-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { WebchatControllerContext } from '../machines/webchat';
2
+ import type { WebchatMessage } from '../messages';
3
+ export interface HubtypeAnalyticsMessageDedupeState {
4
+ processed: Set<string>;
5
+ inFlight: Set<string>;
6
+ }
7
+ export declare function createHubtypeAnalyticsMessageDedupeState(): HubtypeAnalyticsMessageDedupeState;
8
+ export declare function dispatchHubtypeAnalyticsTrackEventFromMessage(context: WebchatControllerContext, message: WebchatMessage, dedupe: HubtypeAnalyticsMessageDedupeState): Promise<boolean>;
@@ -0,0 +1,60 @@
1
+ import { __awaiter } from "tslib";
2
+ import { createWebchatAnalyticsBotonicContext, getWebchatAnalyticsContextSkipReason, warnWebchatAnalyticsContextSkipped, } from './create-webchat-analytics-botonic-context';
3
+ import { parseHubtypeAnalyticsTrackEventMessage } from './hubtype-analytics-track-event-message';
4
+ export function createHubtypeAnalyticsMessageDedupeState() {
5
+ return {
6
+ processed: new Set(),
7
+ inFlight: new Set(),
8
+ };
9
+ }
10
+ const MAX_PROCESSED_HUBTYPE_ANALYTICS_MESSAGE_IDS = 256;
11
+ function trimProcessedMessageIds(processed) {
12
+ while (processed.size > MAX_PROCESSED_HUBTYPE_ANALYTICS_MESSAGE_IDS) {
13
+ const oldest = processed.values().next().value;
14
+ if (oldest === undefined) {
15
+ break;
16
+ }
17
+ processed.delete(oldest);
18
+ }
19
+ }
20
+ export function dispatchHubtypeAnalyticsTrackEventFromMessage(context, message, dedupe) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ var _a;
23
+ const parsed = parseHubtypeAnalyticsTrackEventMessage(message);
24
+ if (!parsed) {
25
+ return false;
26
+ }
27
+ const handler = context.config.onTrackEvent;
28
+ if (!handler) {
29
+ return false;
30
+ }
31
+ const dedupeKey = (_a = message.message_id) !== null && _a !== void 0 ? _a : message.id;
32
+ if (dedupe.processed.has(dedupeKey) || dedupe.inFlight.has(dedupeKey)) {
33
+ return false;
34
+ }
35
+ const skipReason = getWebchatAnalyticsContextSkipReason(context, message.bot_interaction_id);
36
+ if (skipReason) {
37
+ warnWebchatAnalyticsContextSkipped(skipReason, 'message-dispatch');
38
+ return false;
39
+ }
40
+ const botonicContext = createWebchatAnalyticsBotonicContext(context, message.bot_interaction_id);
41
+ if (!botonicContext) {
42
+ return false;
43
+ }
44
+ dedupe.inFlight.add(dedupeKey);
45
+ try {
46
+ yield handler(botonicContext, parsed.action, parsed.args);
47
+ dedupe.processed.add(dedupeKey);
48
+ trimProcessedMessageIds(dedupe.processed);
49
+ return true;
50
+ }
51
+ catch (error) {
52
+ console.warn('[webchat] Hubtype analytics onTrackEvent failed', error);
53
+ return false;
54
+ }
55
+ finally {
56
+ dedupe.inFlight.delete(dedupeKey);
57
+ }
58
+ });
59
+ }
60
+ //# sourceMappingURL=dispatch-hubtype-analytics-track-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch-hubtype-analytics-track-event.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/analytics/dispatch-hubtype-analytics-track-event.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,oCAAoC,EACpC,oCAAoC,EACpC,kCAAkC,GACnC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,sCAAsC,EAAE,MAAM,yCAAyC,CAAA;AAOhG,MAAM,UAAU,wCAAwC;IACtD,OAAO;QACL,SAAS,EAAE,IAAI,GAAG,EAAU;QAC5B,QAAQ,EAAE,IAAI,GAAG,EAAU;KAC5B,CAAA;AACH,CAAC;AAED,MAAM,2CAA2C,GAAG,GAAG,CAAA;AAEvD,SAAS,uBAAuB,CAAC,SAAsB;IACrD,OAAO,SAAS,CAAC,IAAI,GAAG,2CAA2C,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;QAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAK;QACP,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAgB,6CAA6C,CACjE,OAAiC,EACjC,OAAuB,EACvB,MAA0C;;;QAE1C,MAAM,MAAM,GAAG,sCAAsC,CAAC,OAAO,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAA;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,OAAO,CAAC,EAAE,CAAA;QAClD,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtE,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,UAAU,GAAG,oCAAoC,CACrD,OAAO,EACP,OAAO,CAAC,kBAAkB,CAC3B,CAAA;QACD,IAAI,UAAU,EAAE,CAAC;YACf,kCAAkC,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAA;YAClE,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,cAAc,GAAG,oCAAoC,CACzD,OAAO,EACP,OAAO,CAAC,kBAAkB,CAC3B,CAAA;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YACzD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC/B,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YACzC,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAA;YACtE,OAAO,KAAK,CAAA;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { WebchatMessage } from '../messages';
2
+ /** Custom message name for bot → webchat Hubtype analytics (web_event) dispatch. */
3
+ export declare const HUBTYPE_ANALYTICS_TRACK_EVENT_CUSTOM_NAME = "botonic-hubtype-analytics-track-event";
4
+ export interface ParsedHubtypeAnalyticsTrackEvent {
5
+ action: string;
6
+ args: Record<string, unknown>;
7
+ }
8
+ export declare function parseHubtypeAnalyticsTrackEventMessage(message: WebchatMessage): ParsedHubtypeAnalyticsTrackEvent | undefined;
9
+ export declare function isHubtypeAnalyticsTrackEventMessage(message: WebchatMessage): boolean;
@@ -0,0 +1,24 @@
1
+ import { __rest } from "tslib";
2
+ import { MessageType } from '@botonic/shared';
3
+ /** Custom message name for bot → webchat Hubtype analytics (web_event) dispatch. */
4
+ export const HUBTYPE_ANALYTICS_TRACK_EVENT_CUSTOM_NAME = 'botonic-hubtype-analytics-track-event';
5
+ export function parseHubtypeAnalyticsTrackEventMessage(message) {
6
+ var _a;
7
+ if (message.type !== MessageType.Custom) {
8
+ return undefined;
9
+ }
10
+ const data = message.data;
11
+ if (data.name !== HUBTYPE_ANALYTICS_TRACK_EVENT_CUSTOM_NAME) {
12
+ return undefined;
13
+ }
14
+ const props = ((_a = data.props) !== null && _a !== void 0 ? _a : {});
15
+ const { action } = props, args = __rest(props, ["action"]);
16
+ if (typeof action !== 'string' || action.length === 0) {
17
+ return undefined;
18
+ }
19
+ return { action, args };
20
+ }
21
+ export function isHubtypeAnalyticsTrackEventMessage(message) {
22
+ return parseHubtypeAnalyticsTrackEventMessage(message) !== undefined;
23
+ }
24
+ //# sourceMappingURL=hubtype-analytics-track-event-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubtype-analytics-track-event-message.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/analytics/hubtype-analytics-track-event-message.ts"],"names":[],"mappings":";AAAA,OAAO,EAAqB,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIhE,oFAAoF;AACpF,MAAM,CAAC,MAAM,yCAAyC,GACpD,uCAAuC,CAAA;AAOzC,MAAM,UAAU,sCAAsC,CACpD,OAAuB;;IAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAyB,CAAA;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,yCAAyC,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAA4B,CAAA;IAC3D,MAAM,EAAE,MAAM,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA3B,UAAmB,CAAQ,CAAA;IACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,OAAuB;IAEvB,OAAO,sCAAsC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAA;AACtE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { createWebchatAnalyticsBotonicContext, getWebchatAnalyticsContextSkipReason, resolveWebchatAnalyticsBotInteractionId, warnWebchatAnalyticsContextSkipped, type WebchatAnalyticsContextSkipReason, } from './create-webchat-analytics-botonic-context';
2
+ export { createHubtypeAnalyticsMessageDedupeState, dispatchHubtypeAnalyticsTrackEventFromMessage, type HubtypeAnalyticsMessageDedupeState, } from './dispatch-hubtype-analytics-track-event';
3
+ export { HUBTYPE_ANALYTICS_TRACK_EVENT_CUSTOM_NAME, isHubtypeAnalyticsTrackEventMessage, type ParsedHubtypeAnalyticsTrackEvent, parseHubtypeAnalyticsTrackEventMessage, } from './hubtype-analytics-track-event-message';
4
+ export { buildWebchatAnalyticsRequest } from './webchat-analytics-request';
@@ -0,0 +1,5 @@
1
+ export { createWebchatAnalyticsBotonicContext, getWebchatAnalyticsContextSkipReason, resolveWebchatAnalyticsBotInteractionId, warnWebchatAnalyticsContextSkipped, } from './create-webchat-analytics-botonic-context';
2
+ export { createHubtypeAnalyticsMessageDedupeState, dispatchHubtypeAnalyticsTrackEventFromMessage, } from './dispatch-hubtype-analytics-track-event';
3
+ export { HUBTYPE_ANALYTICS_TRACK_EVENT_CUSTOM_NAME, isHubtypeAnalyticsTrackEventMessage, parseHubtypeAnalyticsTrackEventMessage, } from './hubtype-analytics-track-event-message';
4
+ export { buildWebchatAnalyticsRequest } from './webchat-analytics-request';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,oCAAoC,EACpC,uCAAuC,EACvC,kCAAkC,GAEnC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACL,wCAAwC,EACxC,6CAA6C,GAE9C,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,yCAAyC,EACzC,mCAAmC,EAEnC,sCAAsC,GACvC,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { WebchatControllerContext } from '../machines/webchat';
2
+ export declare function buildWebchatAnalyticsRequest(context: WebchatControllerContext, botInteractionId?: string): {
3
+ input: {
4
+ botInteractionId?: string;
5
+ };
6
+ session: {
7
+ user: {
8
+ id?: string;
9
+ locale?: string;
10
+ country?: string;
11
+ systemLocale?: string;
12
+ };
13
+ };
14
+ settings: {
15
+ hubtypeApiUrl?: string;
16
+ };
17
+ };
@@ -0,0 +1,25 @@
1
+ export function buildWebchatAnalyticsRequest(context, botInteractionId) {
2
+ var _a;
3
+ const user = context.user;
4
+ const apiUrl = context.config.apiUrl ||
5
+ (typeof import.meta !== 'undefined'
6
+ ? (_a = import.meta.env) === null || _a === void 0 ? void 0 : _a.VITE_HUBTYPE_API_URL
7
+ : undefined);
8
+ return {
9
+ input: {
10
+ botInteractionId: botInteractionId !== null && botInteractionId !== void 0 ? botInteractionId : undefined,
11
+ },
12
+ session: {
13
+ user: {
14
+ id: user === null || user === void 0 ? void 0 : user.id,
15
+ locale: user === null || user === void 0 ? void 0 : user.locale,
16
+ country: user === null || user === void 0 ? void 0 : user.country,
17
+ systemLocale: user === null || user === void 0 ? void 0 : user.system_locale,
18
+ },
19
+ },
20
+ settings: {
21
+ hubtypeApiUrl: apiUrl,
22
+ },
23
+ };
24
+ }
25
+ //# sourceMappingURL=webchat-analytics-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webchat-analytics-request.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/analytics/webchat-analytics-request.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,4BAA4B,CAC1C,OAAiC,EACjC,gBAAyB;;IAazB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACzB,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,MAAM;QACrB,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW;YACjC,CAAC,CAAC,MAAA,MAAM,CAAC,IAAI,CAAC,GAAG,0CAAE,oBAAoB;YACvC,CAAC,CAAC,SAAS,CAAC,CAAA;IAEhB,OAAO;QACL,KAAK,EAAE;YACL,gBAAgB,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,SAAS;SAChD;QACD,OAAO,EAAE;YACP,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE;gBACZ,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM;gBACpB,OAAO,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO;gBACtB,YAAY,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa;aAClC;SACF;QACD,QAAQ,EAAE;YACR,aAAa,EAAE,MAAM;SACtB;KACF,CAAA;AACH,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './public';
2
+ export * from './register-on-open';
2
3
  export * from './webchat';
@@ -1,3 +1,4 @@
1
1
  export * from './public';
2
+ export * from './register-on-open';
2
3
  export * from './webchat';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA"}
@@ -39,7 +39,7 @@ export declare class PublicWebchatController {
39
39
  * reopen) against this shared `publicWebchatController`. Without re-arming,
40
40
  * `isFullyReady` would stay `true` (so `signalReady()` short-circuits) and `ready`
41
41
  * would stay already-resolved — the next mount could never await readiness again.
42
- * A normal embed mounts once and never calls `destroy()`, so this is inert there.
42
+ * A normal embedded webchat mount runs once and never calls `destroy()`, so this is inert there.
43
43
  */
44
44
  private resetReadyState;
45
45
  setController(controller: WebchatController): void;
@@ -52,6 +52,7 @@ export declare class PublicWebchatController {
52
52
  private getController;
53
53
  isReady(): boolean;
54
54
  sendMessage: (content: WebchatMessage) => void;
55
+ sendPostback: (payload: string) => Promise<void>;
55
56
  showPopup: () => void;
56
57
  hidePopup: () => void;
57
58
  open: () => void;
@@ -75,7 +76,7 @@ export declare class PublicWebchatController {
75
76
  destroy: () => void;
76
77
  reconnect: () => void;
77
78
  setOnline: (online: boolean) => void;
78
- getMessages: () => WebchatMessage<import("@botonic/shared").MessageType.Text | import("@botonic/shared").MessageType.Postback | import("@botonic/shared").MessageType.Audio | import("@botonic/shared").MessageType.Image | import("@botonic/shared").MessageType.Video | import("@botonic/shared").MessageType.Document | import("@botonic/shared").MessageType.Location | import("@botonic/shared").MessageType.Contact | import("@botonic/shared").MessageType.ButtonMessage | import("@botonic/shared").MessageType.Carousel | import("@botonic/shared").MessageType.Custom | import("@botonic/shared").MessageType.TypingEvent | import("@botonic/shared").MessageType.WhatsappTemplate | import("@botonic/shared").MessageType.WhatsappButtonList | import("@botonic/shared").MessageType.WhatsappCTAUrlButton | import("@botonic/shared").MessageType.WhatsappCatalog | import("@botonic/shared").MessageType.WhatsappProduct | import("@botonic/shared").MessageType.WhatsappProductList | import("@botonic/shared").MessageType.WhatsappProductCarousel | import("@botonic/shared").MessageType.WhatsappMediaCarousel | import("@botonic/shared").MessageType.WebchatClientSettings | import("@botonic/shared").MessageType.Rating | import("@botonic/shared").MessageType.SystemDebugTrace>[];
79
+ getMessages: () => WebchatMessage<import("@botonic/shared").MessageType.Text | import("@botonic/shared").MessageType.Postback | import("@botonic/shared").MessageType.Audio | import("@botonic/shared").MessageType.Image | import("@botonic/shared").MessageType.Video | import("@botonic/shared").MessageType.Document | import("@botonic/shared").MessageType.Location | import("@botonic/shared").MessageType.Contact | import("@botonic/shared").MessageType.ButtonMessage | import("@botonic/shared").MessageType.Carousel | import("@botonic/shared").MessageType.Custom | import("@botonic/shared").MessageType.TypingEvent | import("@botonic/shared").MessageType.WhatsappTemplate | import("@botonic/shared").MessageType.WhatsappButtonList | import("@botonic/shared").MessageType.WhatsappCTAUrlButton | import("@botonic/shared").MessageType.WhatsappCatalog | import("@botonic/shared").MessageType.WhatsappProduct | import("@botonic/shared").MessageType.WhatsappProductList | import("@botonic/shared").MessageType.WhatsappProductCarousel | import("@botonic/shared").MessageType.WhatsappMediaCarousel | import("@botonic/shared").MessageType.WebchatClientSettings | import("@botonic/shared").MessageType.Rating | import("@botonic/shared").MessageType.SystemDebugTrace | import("@botonic/shared").MessageType.RequestContactInfo>[];
79
80
  getConnectionStatus: () => string;
80
81
  isOnline: () => boolean;
81
82
  isOpen: () => boolean;
@@ -290,9 +291,10 @@ export declare class PublicWebchatController {
290
291
  storageRepository: import("../..").StorageRepository;
291
292
  appId: string;
292
293
  userId: string;
293
- }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<HubtypeUser | null, {
294
+ }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<HubtypeUser, {
294
295
  storageRepository: import("../..").StorageRepository;
295
296
  appId: string;
297
+ config: import("../domain").WebchatConfig;
296
298
  }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<{
297
299
  success: boolean;
298
300
  }, {
@@ -309,8 +311,8 @@ export declare class PublicWebchatController {
309
311
  }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
310
312
  webchatService: import("../..").WebchatService;
311
313
  }, import("xstate").EventObject>> | undefined;
312
- }, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
313
- initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
314
+ }, "idle" | "reconnecting" | "connectionFailed" | "operational" | {
315
+ initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "spawningPersistedMessages" | "connectingToRealtime";
314
316
  }, string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject, {
315
317
  id: "webchat";
316
318
  states: {
@@ -333,7 +335,7 @@ export declare class PublicWebchatController {
333
335
  on: <T extends WebchatEmittedEvent["type"]>(eventType: T, callback: (event: Extract<WebchatEmittedEvent, {
334
336
  type: T;
335
337
  }>) => void) => () => void;
336
- get messages(): WebchatMessage<import("@botonic/shared").MessageType.Text | import("@botonic/shared").MessageType.Postback | import("@botonic/shared").MessageType.Audio | import("@botonic/shared").MessageType.Image | import("@botonic/shared").MessageType.Video | import("@botonic/shared").MessageType.Document | import("@botonic/shared").MessageType.Location | import("@botonic/shared").MessageType.Contact | import("@botonic/shared").MessageType.ButtonMessage | import("@botonic/shared").MessageType.Carousel | import("@botonic/shared").MessageType.Custom | import("@botonic/shared").MessageType.TypingEvent | import("@botonic/shared").MessageType.WhatsappTemplate | import("@botonic/shared").MessageType.WhatsappButtonList | import("@botonic/shared").MessageType.WhatsappCTAUrlButton | import("@botonic/shared").MessageType.WhatsappCatalog | import("@botonic/shared").MessageType.WhatsappProduct | import("@botonic/shared").MessageType.WhatsappProductList | import("@botonic/shared").MessageType.WhatsappProductCarousel | import("@botonic/shared").MessageType.WhatsappMediaCarousel | import("@botonic/shared").MessageType.WebchatClientSettings | import("@botonic/shared").MessageType.Rating | import("@botonic/shared").MessageType.SystemDebugTrace>[];
338
+ get messages(): WebchatMessage<import("@botonic/shared").MessageType.Text | import("@botonic/shared").MessageType.Postback | import("@botonic/shared").MessageType.Audio | import("@botonic/shared").MessageType.Image | import("@botonic/shared").MessageType.Video | import("@botonic/shared").MessageType.Document | import("@botonic/shared").MessageType.Location | import("@botonic/shared").MessageType.Contact | import("@botonic/shared").MessageType.ButtonMessage | import("@botonic/shared").MessageType.Carousel | import("@botonic/shared").MessageType.Custom | import("@botonic/shared").MessageType.TypingEvent | import("@botonic/shared").MessageType.WhatsappTemplate | import("@botonic/shared").MessageType.WhatsappButtonList | import("@botonic/shared").MessageType.WhatsappCTAUrlButton | import("@botonic/shared").MessageType.WhatsappCatalog | import("@botonic/shared").MessageType.WhatsappProduct | import("@botonic/shared").MessageType.WhatsappProductList | import("@botonic/shared").MessageType.WhatsappProductCarousel | import("@botonic/shared").MessageType.WhatsappMediaCarousel | import("@botonic/shared").MessageType.WebchatClientSettings | import("@botonic/shared").MessageType.Rating | import("@botonic/shared").MessageType.SystemDebugTrace | import("@botonic/shared").MessageType.RequestContactInfo>[];
337
339
  get user(): HubtypeUser | null;
338
340
  get connectionStatus(): string;
339
341
  get isOpenState(): boolean;
@@ -421,9 +423,10 @@ export declare class PublicWebchatController {
421
423
  storageRepository: import("../..").StorageRepository;
422
424
  appId: string;
423
425
  userId: string;
424
- }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<HubtypeUser | null, {
426
+ }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<HubtypeUser, {
425
427
  storageRepository: import("../..").StorageRepository;
426
428
  appId: string;
429
+ config: import("../domain").WebchatConfig;
427
430
  }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<{
428
431
  success: boolean;
429
432
  }, {
@@ -440,8 +443,8 @@ export declare class PublicWebchatController {
440
443
  }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
441
444
  webchatService: import("../..").WebchatService;
442
445
  }, import("xstate").EventObject>> | undefined;
443
- }, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
444
- initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
446
+ }, "idle" | "reconnecting" | "connectionFailed" | "operational" | {
447
+ initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "spawningPersistedMessages" | "connectingToRealtime";
445
448
  }, string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject, {
446
449
  id: "webchat";
447
450
  states: {
@@ -5,6 +5,7 @@ export class PublicWebchatController {
5
5
  this.isFullyReady = false;
6
6
  this.resolveReady = null;
7
7
  this.sendMessage = (content) => this.getController().sendMessage(content);
8
+ this.sendPostback = (payload) => this.getController().sendPostback(payload);
8
9
  this.showPopup = () => {
9
10
  if (typeof window !== 'undefined') {
10
11
  window.dispatchEvent(new CustomEvent('botonic:popup:show'));
@@ -180,7 +181,7 @@ MACHINE ACCESS:
180
181
  * reopen) against this shared `publicWebchatController`. Without re-arming,
181
182
  * `isFullyReady` would stay `true` (so `signalReady()` short-circuits) and `ready`
182
183
  * would stay already-resolved — the next mount could never await readiness again.
183
- * A normal embed mounts once and never calls `destroy()`, so this is inert there.
184
+ * A normal embedded webchat mount runs once and never calls `destroy()`, so this is inert there.
184
185
  */
185
186
  resetReadyState() {
186
187
  this.controller = null;
@@ -248,7 +249,7 @@ export const publicWebchatController = new PublicWebchatController();
248
249
  * REPLACES `window.botonic` with the singleton below, which would otherwise drop that
249
250
  * `render()`. Preserving it keeps `window.botonic.render()` working after the swap — which
250
251
  * is what lets the flow-builder preview re-call `render()` on every remount (close/reopen).
251
- * For a standalone embed `render()` is called once before the swap, so this is harmless there.
252
+ * For a standalone embedded webchat, `render()` is called once before the swap, so this is harmless there.
252
253
  */
253
254
  function preserveExistingRender(previousBotonic) {
254
255
  if (typeof (previousBotonic === null || previousBotonic === void 0 ? void 0 : previousBotonic.render) === 'function' &&
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/public.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { WebchatController } from './webchat';
2
+ /**
3
+ * Registers a callback for each webchat open, including when the panel is
4
+ * already open at registration time (e.g. after lazy load + deferred `onReady`).
5
+ */
6
+ export declare function registerOnOpen(controller: WebchatController, callback: (controller: WebchatController) => void): () => void;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Registers a callback for each webchat open, including when the panel is
3
+ * already open at registration time (e.g. after lazy load + deferred `onReady`).
4
+ */
5
+ export function registerOnOpen(controller, callback) {
6
+ const handler = () => {
7
+ callback(controller);
8
+ };
9
+ const unsubscribe = controller.on('WEBCHAT_OPENED', handler);
10
+ if (controller.isOpen()) {
11
+ handler();
12
+ }
13
+ return unsubscribe;
14
+ }
15
+ //# sourceMappingURL=register-on-open.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-on-open.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/register-on-open.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,UAA6B,EAC7B,QAAiD;IAEjD,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,QAAQ,CAAC,UAAU,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAE5D,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}