@botonic/webchat-core 2.36.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 +16 -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
@@ -7,9 +7,16 @@ import type { WebchatMessage } from '../messages';
7
7
  export type WebchatEmittedEvent = EmittedFrom<typeof WebchatMachine>;
8
8
  export declare class WebchatController {
9
9
  machine: ActorRefFrom<typeof WebchatMachine>;
10
+ private initializationPromise?;
11
+ private initializationOutcomeSubscription?;
12
+ private rejectInitialization?;
13
+ private isDestroyed;
10
14
  constructor(webchatConfig: WebchatConfig);
11
15
  initialize(): Promise<void>;
16
+ private waitForInitializationOutcome;
17
+ invokeTrackEvent(eventName: string, args?: Record<string, unknown>, botInteractionId?: string): Promise<void>;
12
18
  sendMessage(message: WebchatMessage, file?: File): void;
19
+ sendPostback(payload: string): Promise<void>;
13
20
  updateWebchatClientSettings(settings: Partial<WebchatClientSettings>): Promise<void>;
14
21
  toggleWebchat(isOpen?: boolean): void;
15
22
  getContext(): WebchatControllerContext;
@@ -29,9 +36,12 @@ export declare class WebchatController {
29
36
  updateCustomMessageProps(messageId: string, props: Record<string, unknown>): void;
30
37
  setTyping(isTyping: boolean): void;
31
38
  toggleSounds(enabled: boolean): void;
32
- resetConversation(): void;
33
- resetSession(): void;
34
- downloadTranscript(): void;
39
+ /** Returns false when the webchat is not initialized (event is not applied). */
40
+ resetConversation(): boolean;
41
+ /** Returns false when the webchat is not initialized (event is not applied). */
42
+ resetSession(): boolean;
43
+ downloadChatTranscript(): void;
44
+ downloadHubtypeChatPdfTranscript(): Promise<void>;
35
45
  reconnect(): void;
36
46
  setOnline(online: boolean): void;
37
47
  open(): void;
@@ -296,9 +306,10 @@ export declare class WebchatController {
296
306
  storageRepository: import("../..").StorageRepository;
297
307
  appId: string;
298
308
  userId: string;
299
- }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<HubtypeUser | null, {
309
+ }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<HubtypeUser, {
300
310
  storageRepository: import("../..").StorageRepository;
301
311
  appId: string;
312
+ config: WebchatConfig;
302
313
  }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<{
303
314
  success: boolean;
304
315
  }, {
@@ -315,8 +326,8 @@ export declare class WebchatController {
315
326
  }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
316
327
  webchatService: import("../..").WebchatService;
317
328
  }, import("xstate").EventObject>> | undefined;
318
- }, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
319
- initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
329
+ }, "idle" | "reconnecting" | "connectionFailed" | "operational" | {
330
+ initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "spawningPersistedMessages" | "connectingToRealtime";
320
331
  }, string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject, {
321
332
  id: "webchat";
322
333
  states: {
@@ -419,9 +430,10 @@ export declare class WebchatController {
419
430
  storageRepository: import("../..").StorageRepository;
420
431
  appId: string;
421
432
  userId: string;
422
- }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<HubtypeUser | null, {
433
+ }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<HubtypeUser, {
423
434
  storageRepository: import("../..").StorageRepository;
424
435
  appId: string;
436
+ config: WebchatConfig;
425
437
  }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<{
426
438
  success: boolean;
427
439
  }, {
@@ -438,8 +450,8 @@ export declare class WebchatController {
438
450
  }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
439
451
  webchatService: import("../..").WebchatService;
440
452
  }, import("xstate").EventObject>> | undefined;
441
- }, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
442
- initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
453
+ }, "idle" | "reconnecting" | "connectionFailed" | "operational" | {
454
+ initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "spawningPersistedMessages" | "connectingToRealtime";
443
455
  }, string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject, {
444
456
  id: "webchat";
445
457
  states: {
@@ -1,8 +1,10 @@
1
1
  import { __awaiter } from "tslib";
2
- import { createUpdateWebchatClientSettingsPayload, MessageSentBy, } from '@botonic/shared';
2
+ import { createUpdateWebchatClientSettingsPayload, } from '@botonic/shared';
3
+ import { createWebchatAnalyticsBotonicContext, getWebchatAnalyticsContextSkipReason, warnWebchatAnalyticsContextSkipped, } from '../analytics/create-webchat-analytics-botonic-context';
3
4
  import { createWebchatMachine, } from '../machines/webchat';
4
5
  export class WebchatController {
5
6
  constructor(webchatConfig) {
7
+ this.isDestroyed = false;
6
8
  /**
7
9
  * Overlay API - supports both webviews (iframe) and cover components (inline React)
8
10
  */
@@ -115,24 +117,86 @@ export class WebchatController {
115
117
  }
116
118
  initialize() {
117
119
  return __awaiter(this, void 0, void 0, function* () {
120
+ var _a;
121
+ if (this.isDestroyed) {
122
+ throw new Error('WebchatController is destroyed');
123
+ }
124
+ if (this.initializationPromise) {
125
+ return this.initializationPromise;
126
+ }
127
+ const snapshot = this.machine.getSnapshot();
128
+ if (snapshot.matches('operational')) {
129
+ return;
130
+ }
131
+ if (snapshot.matches('initializing')) {
132
+ return (_a = this.initializationPromise) !== null && _a !== void 0 ? _a : this.waitForInitializationOutcome();
133
+ }
118
134
  this.machine.send({ type: 'INITIALIZE' });
119
- return new Promise((resolve, reject) => {
120
- const subscription = this.machine.subscribe(state => {
121
- if (state.value === 'operational') {
122
- subscription.unsubscribe();
123
- resolve();
124
- }
125
- else if (state.value === 'connectionFailed') {
126
- subscription.unsubscribe();
127
- reject(new Error('Initialization failed'));
128
- }
129
- });
135
+ this.initializationPromise = this.waitForInitializationOutcome();
136
+ return this.initializationPromise;
137
+ });
138
+ }
139
+ waitForInitializationOutcome() {
140
+ return new Promise((resolve, reject) => {
141
+ this.rejectInitialization = reject;
142
+ const subscription = this.machine.subscribe(state => {
143
+ if (state.value === 'operational') {
144
+ subscription.unsubscribe();
145
+ this.initializationOutcomeSubscription = undefined;
146
+ this.rejectInitialization = undefined;
147
+ this.initializationPromise = undefined;
148
+ resolve();
149
+ }
150
+ else if (state.value === 'connectionFailed') {
151
+ subscription.unsubscribe();
152
+ this.initializationOutcomeSubscription = undefined;
153
+ this.rejectInitialization = undefined;
154
+ this.initializationPromise = undefined;
155
+ reject(new Error('Initialization failed'));
156
+ }
130
157
  });
158
+ this.initializationOutcomeSubscription = subscription;
159
+ });
160
+ }
161
+ invokeTrackEvent(eventName, args, botInteractionId) {
162
+ return __awaiter(this, void 0, void 0, function* () {
163
+ const context = this.getContext();
164
+ const handler = context.config.onTrackEvent;
165
+ if (!handler) {
166
+ return;
167
+ }
168
+ const skipReason = getWebchatAnalyticsContextSkipReason(context, botInteractionId);
169
+ if (skipReason) {
170
+ warnWebchatAnalyticsContextSkipped(skipReason, 'invokeTrackEvent');
171
+ return;
172
+ }
173
+ const botonicContext = createWebchatAnalyticsBotonicContext(context, botInteractionId);
174
+ if (!botonicContext) {
175
+ return;
176
+ }
177
+ try {
178
+ yield handler(botonicContext, eventName, args);
179
+ }
180
+ catch (error) {
181
+ console.warn('[webchat] Hubtype analytics onTrackEvent failed', error);
182
+ }
131
183
  });
132
184
  }
133
185
  sendMessage(message, file) {
134
186
  this.machine.send({ type: 'SEND_MESSAGE', message, file });
135
187
  }
188
+ sendPostback(payload) {
189
+ return __awaiter(this, void 0, void 0, function* () {
190
+ const context = this.getOperationalContext();
191
+ if (!(context === null || context === void 0 ? void 0 : context.user) || !context.webchatService) {
192
+ throw new Error('Webchat is not ready to send postback');
193
+ }
194
+ const response = yield context.webchatService.sendPostback(payload, context.user);
195
+ if (response.success)
196
+ return;
197
+ throw new Error(response.error || 'Failed to send postback');
198
+ });
199
+ }
136
200
  updateWebchatClientSettings(settings) {
137
201
  return __awaiter(this, void 0, void 0, function* () {
138
202
  const context = this.getOperationalContext();
@@ -217,33 +281,61 @@ export class WebchatController {
217
281
  toggleSounds(enabled) {
218
282
  this.machine.send({ type: 'TOGGLE_SOUNDS', enabled });
219
283
  }
284
+ /** Returns false when the webchat is not initialized (event is not applied). */
220
285
  resetConversation() {
286
+ if (!this.getOperationalContext()) {
287
+ return false;
288
+ }
221
289
  this.machine.send({ type: 'START_OVER' });
290
+ return true;
222
291
  }
292
+ /** Returns false when the webchat is not initialized (event is not applied). */
223
293
  resetSession() {
294
+ if (!this.getOperationalContext()) {
295
+ return false;
296
+ }
224
297
  this.machine.send({ type: 'RESET_SESSION' });
298
+ return true;
225
299
  }
226
- downloadTranscript() {
227
- const messages = this.getMessages();
228
- const lines = messages
229
- .filter(m => m.type !== undefined)
230
- .map(m => {
231
- const sender = m.sent_by === MessageSentBy.User
232
- ? "You" /* TranscriptSender.User */
233
- : m.sent_by === MessageSentBy.Agent
234
- ? "Agent" /* TranscriptSender.Agent */
235
- : "Bot" /* TranscriptSender.Bot */;
236
- if (m.isText())
237
- return `${sender}: ${m.data.text}`;
238
- return `${sender}: [${m.type}]`;
300
+ downloadChatTranscript() {
301
+ void this.downloadHubtypeChatPdfTranscript().catch((error) => {
302
+ console.error('Failed to download Hubtype PDF transcript', error);
303
+ });
304
+ }
305
+ downloadHubtypeChatPdfTranscript() {
306
+ return __awaiter(this, void 0, void 0, function* () {
307
+ var _a;
308
+ const context = this.getOperationalContext();
309
+ if (!((_a = context === null || context === void 0 ? void 0 : context.user) === null || _a === void 0 ? void 0 : _a.id)) {
310
+ throw new Error('Missing user id for transcript download');
311
+ }
312
+ const appId = context.config.appId;
313
+ const apiBase = context.config.apiUrl ||
314
+ import.meta.env.VITE_HUBTYPE_API_URL ||
315
+ 'https://api.hubtype.com';
316
+ const endpoint = new URL(`${apiBase.replace(/\/$/, '')}/v1/chats/transcript/`);
317
+ endpoint.searchParams.set('provider_account', appId);
318
+ endpoint.searchParams.set('provider_id', context.user.id);
319
+ const response = yield fetch(endpoint.toString(), {
320
+ method: 'GET',
321
+ headers: {
322
+ 'X-BOTONIC-USER-ID': context.user.id,
323
+ },
324
+ });
325
+ if (!response.ok) {
326
+ throw new Error(`Transcript download failed (${response.status})`);
327
+ }
328
+ const blob = yield response.blob();
329
+ const windowUrl = window.URL;
330
+ const url = windowUrl.createObjectURL(blob);
331
+ const anchor = document.createElement('a');
332
+ anchor.setAttribute('href', url);
333
+ anchor.setAttribute('download', 'chat_transcript.pdf');
334
+ document.body.appendChild(anchor);
335
+ anchor.click();
336
+ anchor.remove();
337
+ windowUrl.revokeObjectURL(url);
239
338
  });
240
- const blob = new Blob([lines.join('\n')], { type: 'text/plain' });
241
- const url = URL.createObjectURL(blob);
242
- const anchor = document.createElement('a');
243
- anchor.href = url;
244
- anchor.download = 'chat-transcript.txt';
245
- anchor.click();
246
- URL.revokeObjectURL(url);
247
339
  }
248
340
  reconnect() {
249
341
  this.machine.send({ type: 'RECONNECT' });
@@ -303,6 +395,17 @@ export class WebchatController {
303
395
  : () => subscription.unsubscribe();
304
396
  }
305
397
  destroy() {
398
+ var _a, _b, _c;
399
+ if (this.isDestroyed) {
400
+ return;
401
+ }
402
+ this.isDestroyed = true;
403
+ (_a = this.initializationOutcomeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
404
+ this.initializationOutcomeSubscription = undefined;
405
+ (_b = this.rejectInitialization) === null || _b === void 0 ? void 0 : _b.call(this, new Error('WebchatController destroyed'));
406
+ this.rejectInitialization = undefined;
407
+ this.initializationPromise = undefined;
408
+ (_c = this.getContext().webchatService) === null || _c === void 0 ? void 0 : _c.disconnect();
306
409
  this.machine.stop();
307
410
  }
308
411
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/webchat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/webchat.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export interface CoverOverlayState extends OverlayStateBase {
45
45
  * Discriminated union of all overlay types
46
46
  */
47
47
  export type OverlayState = WebviewOverlayState | CoverOverlayState;
48
+ export type WebchatTrackEventHandler = (request: unknown, eventName: string, args?: Record<string, unknown>) => void | Promise<void>;
48
49
  export type WebchatConfig = WebchatConnectionConfig & Partial<HubtypeUserLocale> & Pick<HubtypeUser, 'extra_data'> & {
49
50
  storage?: StorageConfig;
50
51
  webchatClientSettings?: Partial<WebchatClientSettings>;
@@ -55,4 +56,14 @@ export type WebchatConfig = WebchatConnectionConfig & Partial<HubtypeUserLocale>
55
56
  enableResponsiveHeroHeader?: boolean;
56
57
  /** Preview panel callbacks for KB chunk lookups, tool result display, and analytics. */
57
58
  previewUtils?: PreviewUtils;
59
+ /** Optional formatter for message timestamps (delivery-template parity). */
60
+ formatMessageTimestamp?: (date: Date) => string;
61
+ /** Optional lightbox for image message taps. */
62
+ imagePreviewer?: (props: {
63
+ src: string;
64
+ isPreviewerOpened: boolean;
65
+ closePreviewer: () => void;
66
+ }) => unknown;
67
+ /** Hubtype analytics callback (V1 `WebchatArgs.onTrackEvent` parity). */
68
+ onTrackEvent?: WebchatTrackEventHandler;
58
69
  };
@@ -0,0 +1,13 @@
1
+ import type { StorageRepository } from '../repositories/storage/types';
2
+ /**
3
+ * Extensible app-scoped client state (V2 equivalent of V1 `LocalState`).
4
+ * Uses the same storage backend as conversation data (`StorageConfig`).
5
+ */
6
+ export declare class WebchatClientState {
7
+ protected readonly repository: StorageRepository;
8
+ protected readonly appId: string;
9
+ constructor(repository: StorageRepository, appId: string);
10
+ getAttr<T = unknown>(attr: string): Promise<T | undefined>;
11
+ setAttr(attr: string, value: unknown): Promise<void>;
12
+ getSnapshot(): Promise<Record<string, unknown>>;
13
+ }
@@ -0,0 +1,29 @@
1
+ import { __awaiter } from "tslib";
2
+ /**
3
+ * Extensible app-scoped client state (V2 equivalent of V1 `LocalState`).
4
+ * Uses the same storage backend as conversation data (`StorageConfig`).
5
+ */
6
+ export class WebchatClientState {
7
+ constructor(repository, appId) {
8
+ this.repository = repository;
9
+ this.appId = appId;
10
+ }
11
+ getAttr(attr) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const state = yield this.repository.findAppClientState(this.appId);
14
+ return state[attr];
15
+ });
16
+ }
17
+ setAttr(attr, value) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const state = yield this.repository.findAppClientState(this.appId);
20
+ yield this.repository.saveAppClientState(this.appId, Object.assign(Object.assign({}, state), { [attr]: value }));
21
+ });
22
+ }
23
+ getSnapshot() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ return this.repository.findAppClientState(this.appId);
26
+ });
27
+ }
28
+ }
29
+ //# sourceMappingURL=webchat-client-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webchat-client-state.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/webchat-core/src/lib/infra/client/webchat-client-state.ts"],"names":[],"mappings":";AAEA;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B,YACqB,UAA6B,EAC7B,KAAa;QADb,eAAU,GAAV,UAAU,CAAmB;QAC7B,UAAK,GAAL,KAAK,CAAQ;IAC/B,CAAC;IAEE,OAAO,CAAc,IAAY;;YACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClE,OAAO,KAAK,CAAC,IAAI,CAAkB,CAAA;QACrC,CAAC;KAAA;IAEK,OAAO,CAAC,IAAY,EAAE,KAAc;;YACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClE,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,kCAC9C,KAAK,KACR,CAAC,IAAI,CAAC,EAAE,KAAK,IACb,CAAA;QACJ,CAAC;KAAA;IAEK,WAAW;;YACf,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvD,CAAC;KAAA;CACF"}
@@ -29,7 +29,8 @@ export declare class HubtypeApiClient {
29
29
  */
30
30
  get authEndpointUrl(): string;
31
31
  get webchatWebhooksEndpointUrl(): string;
32
- pusherCustomAuthorize(socketId: string, channelName: string, authContext?: WebchatRealtimeAuthContext): Promise<PusherAuthResponse>;
32
+ pusherCustomAuthorize(socketId: string, channelName: string, authContext?: WebchatRealtimeAuthContext, signal?: AbortSignal): Promise<PusherAuthResponse>;
33
+ private performPusherAuth;
33
34
  /**
34
35
  * Fetch webchat settings (Pusher config) from the backend.
35
36
  * Response shape: { pusher: { key, cluster, status_channel? } }
@@ -23,7 +23,15 @@ export class HubtypeApiClient {
23
23
  get webchatWebhooksEndpointUrl() {
24
24
  return this._webchatWebhooksEndpointUrl;
25
25
  }
26
- pusherCustomAuthorize(socketId, channelName, authContext) {
26
+ pusherCustomAuthorize(socketId, channelName, authContext, signal) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
29
+ throw new DOMException('Aborted', 'AbortError');
30
+ }
31
+ return this.performPusherAuth(socketId, channelName, authContext, signal);
32
+ });
33
+ }
34
+ performPusherAuth(socketId, channelName, authContext, signal) {
27
35
  return __awaiter(this, void 0, void 0, function* () {
28
36
  const authEndpointUrl = this._authEndpointUrl;
29
37
  const headers = {
@@ -46,6 +54,7 @@ export class HubtypeApiClient {
46
54
  socket_id: socketId,
47
55
  channel_name: channelName,
48
56
  }),
57
+ signal,
49
58
  });
50
59
  if (!response.ok) {
51
60
  throw new Error(`Auth request failed: ${response.status}`);
@@ -1 +1 @@
1
- {"version":3,"file":"hubtype-api.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/webchat-core/src/lib/infra/clients/hubtype-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hubtype-api.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/webchat-core/src/lib/infra/clients/hubtype-api.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,30 @@
1
1
  import { type HubtypeUser } from '@botonic/shared';
2
- import { ConversationData, StorageRepository, StoredMessage } from './types';
2
+ import { AppClientState, ConversationData, StorageRepository, StoredMessage, WebchatHubtypeUser } from './types';
3
+ export interface StorageRepositoryOptions {
4
+ keyPrefix?: string;
5
+ }
3
6
  export declare abstract class BaseStorageRepository implements StorageRepository {
4
7
  protected keyPrefix: string;
5
- constructor(keyPrefix?: string);
8
+ constructor(options?: StorageRepositoryOptions | string);
6
9
  protected getConversationKey(appId: string, userId: string): string;
7
10
  protected getAppStoragePrefix(appId: string): string;
11
+ protected createStoredAnonymousUser(userId: string, lastActiveAt: string): WebchatHubtypeUser;
8
12
  protected abstract getData(key: string): ConversationData | null;
9
13
  protected abstract setData(key: string, data: ConversationData): void;
10
14
  protected abstract deleteData(key: string): void;
11
15
  protected abstract getKeysWithPrefix(prefix: string): string[];
12
16
  protected getConversationData(appId: string, userId: string): ConversationData;
13
17
  protected saveConversationData(appId: string, userId: string, data: ConversationData): void;
18
+ protected getCustomState(data: ConversationData): AppClientState;
19
+ protected withCustomState(data: ConversationData, customState: AppClientState): ConversationData;
20
+ protected resolveClientStateUserId(appId: string): string;
21
+ findAppClientState(appId: string): Promise<AppClientState>;
22
+ saveAppClientState(appId: string, state: AppClientState): Promise<void>;
23
+ reconcilePlaceholderConversation(appId: string): Promise<void>;
14
24
  saveMessage(appId: string, userId: string, message: StoredMessage): Promise<void>;
15
25
  saveAllMessages(appId: string, userId: string, messages: StoredMessage[]): Promise<void>;
16
26
  findMessagesByConversation(appId: string, userId: string): Promise<StoredMessage[]>;
27
+ protected mergePlaceholderCustomIntoUser(appId: string, userId: string, data: ConversationData): ConversationData;
17
28
  saveUser(appId: string, user: HubtypeUser): Promise<void>;
18
29
  findUserById(appId: string, userId: string): Promise<HubtypeUser | null>;
19
30
  saveLastUserSession(appId: string, user: HubtypeUser): Promise<void>;