@botonic/webchat-core 2.26.0 → 2.27.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.
- package/CHANGELOG.md +20 -0
- package/package.json +2 -2
- package/src/lib/controllers/public.d.ts +71 -1
- package/src/lib/controllers/public.js +48 -0
- package/src/lib/controllers/public.js.map +1 -1
- package/src/lib/controllers/webchat.d.ts +41 -2
- package/src/lib/controllers/webchat.js +53 -2
- package/src/lib/controllers/webchat.js.map +1 -1
- package/src/lib/domain/index.d.ts +8 -2
- package/src/lib/domain/index.js.map +1 -1
- package/src/lib/infra/clients/hubtype-api.d.ts +1 -1
- package/src/lib/infra/clients/hubtype-api.js +2 -2
- package/src/lib/infra/clients/hubtype-api.js.map +1 -1
- package/src/lib/infra/clients/types.d.ts +2 -0
- package/src/lib/machines/message.d.ts +31 -0
- package/src/lib/machines/message.js +22 -15
- package/src/lib/machines/message.js.map +1 -1
- package/src/lib/machines/webchat.d.ts +145 -12
- package/src/lib/machines/webchat.js +221 -61
- package/src/lib/machines/webchat.js.map +1 -1
- package/src/lib/services/webchat-service.d.ts +19 -1
- package/src/lib/services/webchat-service.js +63 -10
- package/src/lib/services/webchat-service.js.map +1 -1
- package/src/lib/utils/locale-detection.d.ts +1 -1
- package/src/lib/utils/locale-detection.js +3 -3
- package/src/lib/utils/locale-detection.js.map +1 -1
- package/src/lib/webview/types.d.ts +0 -12
- package/src/lib/webview/types.js.map +1 -1
- package/src/lib/webview/utils.d.ts +3 -3
- package/src/lib/webview/utils.js +4 -9
- package/src/lib/webview/utils.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
## 2.27.0 (2026-04-29)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **webchat-react:** add webchat header menu (BLT-1861) ([#858](https://github.com/metis-ai/hubtype-product/pull/858))
|
|
6
|
+
- Hero Header transitions ([#860](https://github.com/metis-ai/hubtype-product/pull/860))
|
|
7
|
+
- typing to work again and improve it with few modes when sending messages ([#831](https://github.com/metis-ai/hubtype-product/pull/831))
|
|
8
|
+
- **BLT-1884:** wire DialogProvider into webchat and webview render trees ([#837](https://github.com/metis-ai/hubtype-product/pull/837))
|
|
9
|
+
- **BLT-2291:** wire file attachment through domain model and XState machines ([#816](https://github.com/metis-ai/hubtype-product/pull/816))
|
|
10
|
+
- adapting botonic webviews ([#799](https://github.com/metis-ai/hubtype-product/pull/799))
|
|
11
|
+
- **botonic:** session and Hubtype API adaptations (non-webviews) ([#810](https://github.com/metis-ai/hubtype-product/pull/810))
|
|
12
|
+
- **BLT-2293:** send audio messages ([#804](https://github.com/metis-ai/hubtype-product/pull/804))
|
|
13
|
+
- introduce new domain models ([#807](https://github.com/metis-ai/hubtype-product/pull/807))
|
|
14
|
+
- set basis for webchat client settings ([#791](https://github.com/metis-ai/hubtype-product/pull/791))
|
|
15
|
+
|
|
16
|
+
### ❤️ Thank You
|
|
17
|
+
|
|
18
|
+
- David Hidalgo @Davidhidalgo
|
|
19
|
+
- Marc Rabat @vanbasten17
|
|
20
|
+
|
|
1
21
|
## 2.26.0 (2026-03-31)
|
|
2
22
|
|
|
3
23
|
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.
|
|
3
|
+
"version": "2.27.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./src/index.d.ts",
|
|
6
6
|
"module": "./src/index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@botonic/shared": "2.
|
|
14
|
+
"@botonic/shared": "2.27.0",
|
|
15
15
|
"pusher-js": "^8.4.0",
|
|
16
16
|
"tslib": "^2.3.0",
|
|
17
17
|
"uuid": "^11.1.0",
|
|
@@ -1,15 +1,33 @@
|
|
|
1
|
-
import type { HubtypeUser, WebchatMessage } from '@botonic/shared';
|
|
1
|
+
import type { HubtypeUser, WebchatClientSettings, WebchatClientSettingsBlockInput, WebchatMessage } from '@botonic/shared';
|
|
2
2
|
import { ConfirmCloseOption, OverlayState } from '../domain';
|
|
3
3
|
import type { WebchatController, WebchatEmittedEvent } from './webchat';
|
|
4
|
+
export type DialogVariantPublic = 'default' | 'loading' | 'error' | 'success';
|
|
5
|
+
export interface DialogAction {
|
|
6
|
+
label: string;
|
|
7
|
+
onPress: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface DialogOpenPropsPublic {
|
|
10
|
+
variant?: DialogVariantPublic;
|
|
11
|
+
title: string;
|
|
12
|
+
subtitle?: string;
|
|
13
|
+
actions?: DialogAction[];
|
|
14
|
+
}
|
|
15
|
+
interface DialogControllerPublic {
|
|
16
|
+
open: (props: DialogOpenPropsPublic) => void;
|
|
17
|
+
update: (props: Partial<DialogOpenPropsPublic>) => void;
|
|
18
|
+
close: () => void;
|
|
19
|
+
}
|
|
4
20
|
export declare class PublicWebchatController {
|
|
5
21
|
private controller;
|
|
6
22
|
private isInitialized;
|
|
7
23
|
private isFullyReady;
|
|
8
24
|
private resolveReady;
|
|
25
|
+
private dialogController?;
|
|
9
26
|
/** Promise that resolves when webchat is fully initialized and connected */
|
|
10
27
|
ready: Promise<void>;
|
|
11
28
|
constructor();
|
|
12
29
|
setController(controller: WebchatController): void;
|
|
30
|
+
setDialogController(controller: DialogControllerPublic | undefined): void;
|
|
13
31
|
/**
|
|
14
32
|
* Signal that webchat is fully ready (controller + connection established).
|
|
15
33
|
* This resolves the ready promise and dispatches the botonic:ready event.
|
|
@@ -18,6 +36,8 @@ export declare class PublicWebchatController {
|
|
|
18
36
|
private getController;
|
|
19
37
|
isReady(): boolean;
|
|
20
38
|
sendMessage: (content: WebchatMessage) => void;
|
|
39
|
+
showPopup: () => void;
|
|
40
|
+
hidePopup: () => void;
|
|
21
41
|
open: () => void;
|
|
22
42
|
close: () => void;
|
|
23
43
|
toggle: () => void;
|
|
@@ -26,6 +46,12 @@ export declare class PublicWebchatController {
|
|
|
26
46
|
setUserCountry: (country: string) => void;
|
|
27
47
|
setSystemLocale: (systemLocale: string) => void;
|
|
28
48
|
setUserExtraData: (extraData: Record<string, any>) => void;
|
|
49
|
+
updateWebchatClientSettings: (settings: Partial<WebchatClientSettings>) => Promise<void>;
|
|
50
|
+
updateWebchatClientCustomSettings: (custom: Record<string, unknown>) => Promise<void>;
|
|
51
|
+
setWebchatSettingsUserInputEnabled: (isEnabled: boolean) => Promise<void>;
|
|
52
|
+
setWebchatSettingsAttachmentsEnabled: (isEnabled: boolean) => Promise<void>;
|
|
53
|
+
setWebchatSettingsEmojiPickerEnabled: (isEnabled: boolean) => Promise<void>;
|
|
54
|
+
setWebchatSettingsBlockInputs: (blockInputs: WebchatClientSettingsBlockInput[]) => Promise<void>;
|
|
29
55
|
clearMessages: () => void;
|
|
30
56
|
updateMessage: (messageId: string, updates: Partial<WebchatMessage>) => void;
|
|
31
57
|
deleteMessage: (messageId: string) => void;
|
|
@@ -157,6 +183,15 @@ export declare class PublicWebchatController {
|
|
|
157
183
|
type: "OVERLAY_CLOSED";
|
|
158
184
|
}>;
|
|
159
185
|
};
|
|
186
|
+
/**
|
|
187
|
+
* Dialog API — first-class dialog primitive for confirmations and async feedback.
|
|
188
|
+
* Delegates to the DialogProvider mounted inside WebchatContainer.
|
|
189
|
+
*/
|
|
190
|
+
dialog: {
|
|
191
|
+
open: (props: DialogOpenPropsPublic) => void | undefined;
|
|
192
|
+
update: (props: Partial<DialogOpenPropsPublic>) => void | undefined;
|
|
193
|
+
close: () => void | undefined;
|
|
194
|
+
};
|
|
160
195
|
send: (event: any) => void;
|
|
161
196
|
getState: () => import("xstate").MachineSnapshot<import("../..").WebchatControllerContext, {
|
|
162
197
|
type: "INITIALIZE";
|
|
@@ -180,9 +215,14 @@ export declare class PublicWebchatController {
|
|
|
180
215
|
} | {
|
|
181
216
|
type: "TOGGLE_WEBCHAT";
|
|
182
217
|
isOpen?: boolean;
|
|
218
|
+
} | {
|
|
219
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
220
|
+
} | {
|
|
221
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
183
222
|
} | {
|
|
184
223
|
type: "SEND_MESSAGE";
|
|
185
224
|
message: WebchatMessage;
|
|
225
|
+
file?: File;
|
|
186
226
|
} | {
|
|
187
227
|
type: "MESSAGE_RECEIVED";
|
|
188
228
|
message: WebchatMessage;
|
|
@@ -194,8 +234,15 @@ export declare class PublicWebchatController {
|
|
|
194
234
|
} | {
|
|
195
235
|
type: "UPDATE_USER";
|
|
196
236
|
user: Partial<HubtypeUser>;
|
|
237
|
+
} | {
|
|
238
|
+
type: "TOGGLE_SOUNDS";
|
|
239
|
+
enabled: boolean;
|
|
197
240
|
} | {
|
|
198
241
|
type: "CLEAR_MESSAGES";
|
|
242
|
+
} | {
|
|
243
|
+
type: "START_OVER";
|
|
244
|
+
} | {
|
|
245
|
+
type: "RESET_SESSION";
|
|
199
246
|
} | {
|
|
200
247
|
type: "UPDATE_MESSAGE";
|
|
201
248
|
messageId: string;
|
|
@@ -203,6 +250,9 @@ export declare class PublicWebchatController {
|
|
|
203
250
|
} | {
|
|
204
251
|
type: "DELETE_MESSAGE";
|
|
205
252
|
messageId: string;
|
|
253
|
+
} | {
|
|
254
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
255
|
+
update: import("../..").MessageInfoUpdate;
|
|
206
256
|
} | {
|
|
207
257
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
208
258
|
} | {
|
|
@@ -235,6 +285,8 @@ export declare class PublicWebchatController {
|
|
|
235
285
|
user: HubtypeUser;
|
|
236
286
|
messages: WebchatMessage[];
|
|
237
287
|
attempt: number;
|
|
288
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
289
|
+
webchatService: import("../..").WebchatService;
|
|
238
290
|
}, import("xstate").EventObject>> | undefined;
|
|
239
291
|
}, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
240
292
|
initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
|
|
@@ -290,9 +342,14 @@ export declare class PublicWebchatController {
|
|
|
290
342
|
} | {
|
|
291
343
|
type: "TOGGLE_WEBCHAT";
|
|
292
344
|
isOpen?: boolean;
|
|
345
|
+
} | {
|
|
346
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
347
|
+
} | {
|
|
348
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
293
349
|
} | {
|
|
294
350
|
type: "SEND_MESSAGE";
|
|
295
351
|
message: WebchatMessage;
|
|
352
|
+
file?: File;
|
|
296
353
|
} | {
|
|
297
354
|
type: "MESSAGE_RECEIVED";
|
|
298
355
|
message: WebchatMessage;
|
|
@@ -304,8 +361,15 @@ export declare class PublicWebchatController {
|
|
|
304
361
|
} | {
|
|
305
362
|
type: "UPDATE_USER";
|
|
306
363
|
user: Partial<HubtypeUser>;
|
|
364
|
+
} | {
|
|
365
|
+
type: "TOGGLE_SOUNDS";
|
|
366
|
+
enabled: boolean;
|
|
307
367
|
} | {
|
|
308
368
|
type: "CLEAR_MESSAGES";
|
|
369
|
+
} | {
|
|
370
|
+
type: "START_OVER";
|
|
371
|
+
} | {
|
|
372
|
+
type: "RESET_SESSION";
|
|
309
373
|
} | {
|
|
310
374
|
type: "UPDATE_MESSAGE";
|
|
311
375
|
messageId: string;
|
|
@@ -313,6 +377,9 @@ export declare class PublicWebchatController {
|
|
|
313
377
|
} | {
|
|
314
378
|
type: "DELETE_MESSAGE";
|
|
315
379
|
messageId: string;
|
|
380
|
+
} | {
|
|
381
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
382
|
+
update: import("../..").MessageInfoUpdate;
|
|
316
383
|
} | {
|
|
317
384
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
318
385
|
} | {
|
|
@@ -345,6 +412,8 @@ export declare class PublicWebchatController {
|
|
|
345
412
|
user: HubtypeUser;
|
|
346
413
|
messages: WebchatMessage[];
|
|
347
414
|
attempt: number;
|
|
415
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
416
|
+
webchatService: import("../..").WebchatService;
|
|
348
417
|
}, import("xstate").EventObject>> | undefined;
|
|
349
418
|
}, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
350
419
|
initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
|
|
@@ -381,3 +450,4 @@ export declare function ensureGlobalWebchatAPI(): void;
|
|
|
381
450
|
* Call this after setupGlobalWebchatAPI when the connection is confirmed.
|
|
382
451
|
*/
|
|
383
452
|
export declare function signalWebchatReady(): void;
|
|
453
|
+
export {};
|
|
@@ -5,6 +5,16 @@ export class PublicWebchatController {
|
|
|
5
5
|
this.isFullyReady = false;
|
|
6
6
|
this.resolveReady = null;
|
|
7
7
|
this.sendMessage = (content) => this.getController().sendMessage(content);
|
|
8
|
+
this.showPopup = () => {
|
|
9
|
+
if (typeof window !== 'undefined') {
|
|
10
|
+
window.dispatchEvent(new CustomEvent('botonic:popup:show'));
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
this.hidePopup = () => {
|
|
14
|
+
if (typeof window !== 'undefined') {
|
|
15
|
+
window.dispatchEvent(new CustomEvent('botonic:popup:hide'));
|
|
16
|
+
}
|
|
17
|
+
};
|
|
8
18
|
this.open = () => {
|
|
9
19
|
if (this.isInitialized && this.controller) {
|
|
10
20
|
this.controller.open();
|
|
@@ -32,6 +42,20 @@ export class PublicWebchatController {
|
|
|
32
42
|
this.setUserCountry = (country) => this.getController().setUserCountry(country);
|
|
33
43
|
this.setSystemLocale = (systemLocale) => this.getController().setSystemLocale(systemLocale);
|
|
34
44
|
this.setUserExtraData = (extraData) => this.getController().setUserExtraData(extraData);
|
|
45
|
+
this.updateWebchatClientSettings = (settings) => this.getController().updateWebchatClientSettings(settings);
|
|
46
|
+
this.updateWebchatClientCustomSettings = (custom) => this.getController().updateWebchatClientSettings({ custom });
|
|
47
|
+
this.setWebchatSettingsUserInputEnabled = (isEnabled) => this.getController().updateWebchatClientSettings({
|
|
48
|
+
user_input_enabled: isEnabled,
|
|
49
|
+
});
|
|
50
|
+
this.setWebchatSettingsAttachmentsEnabled = (isEnabled) => this.getController().updateWebchatClientSettings({
|
|
51
|
+
attachments_enabled: isEnabled,
|
|
52
|
+
});
|
|
53
|
+
this.setWebchatSettingsEmojiPickerEnabled = (isEnabled) => this.getController().updateWebchatClientSettings({
|
|
54
|
+
emoji_picker_enabled: isEnabled,
|
|
55
|
+
});
|
|
56
|
+
this.setWebchatSettingsBlockInputs = (blockInputs) => this.getController().updateWebchatClientSettings({
|
|
57
|
+
block_inputs: blockInputs,
|
|
58
|
+
});
|
|
35
59
|
this.clearMessages = () => this.getController().clearMessages();
|
|
36
60
|
this.updateMessage = (messageId, updates) => this.getController().updateMessage(messageId, updates);
|
|
37
61
|
this.deleteMessage = (messageId) => this.getController().deleteMessage(messageId);
|
|
@@ -68,6 +92,15 @@ export class PublicWebchatController {
|
|
|
68
92
|
isCover: () => this.getController().overlay.isCover(),
|
|
69
93
|
getActor: () => this.getController().overlay.getActor(),
|
|
70
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* Dialog API — first-class dialog primitive for confirmations and async feedback.
|
|
97
|
+
* Delegates to the DialogProvider mounted inside WebchatContainer.
|
|
98
|
+
*/
|
|
99
|
+
this.dialog = {
|
|
100
|
+
open: (props) => { var _a; return (_a = this.dialogController) === null || _a === void 0 ? void 0 : _a.open(props); },
|
|
101
|
+
update: (props) => { var _a; return (_a = this.dialogController) === null || _a === void 0 ? void 0 : _a.update(props); },
|
|
102
|
+
close: () => { var _a; return (_a = this.dialogController) === null || _a === void 0 ? void 0 : _a.close(); },
|
|
103
|
+
};
|
|
71
104
|
this.send = (event) => this.getController().send(event);
|
|
72
105
|
this.getState = () => this.getController().getState();
|
|
73
106
|
this.subscribe = (callback) => this.getController().subscribe(callback);
|
|
@@ -84,12 +117,24 @@ MESSAGING:
|
|
|
84
117
|
WEBCHAT CONTROL:
|
|
85
118
|
botonic.open() / botonic.close() / botonic.toggle()
|
|
86
119
|
botonic.isOpen()
|
|
120
|
+
botonic.showPopup() / botonic.hidePopup()
|
|
121
|
+
botonic.updateWebchatClientSettings({attachments_enabled: false})
|
|
122
|
+
botonic.updateWebchatClientCustomSettings({audio_recording_enabled: true})
|
|
123
|
+
botonic.setWebchatSettingsUserInputEnabled(false)
|
|
124
|
+
botonic.setWebchatSettingsAttachmentsEnabled(false)
|
|
125
|
+
botonic.setWebchatSettingsEmojiPickerEnabled(false)
|
|
126
|
+
botonic.setWebchatSettingsBlockInputs([{regex: '^blocked$'}])
|
|
87
127
|
|
|
88
128
|
USER:
|
|
89
129
|
botonic.updateUser({name: 'John'})
|
|
90
130
|
botonic.setUserLocale('es') / setUserCountry('ES') / setSystemLocale('es-ES')
|
|
91
131
|
botonic.setUserExtraData({key: 'value'})
|
|
92
132
|
|
|
133
|
+
DIALOG (confirmations and async feedback):
|
|
134
|
+
botonic.dialog.open({variant?, title, subtitle?, actions?})
|
|
135
|
+
botonic.dialog.update({variant?, title?, subtitle?, actions?})
|
|
136
|
+
botonic.dialog.close()
|
|
137
|
+
|
|
93
138
|
OVERLAY (webview or cover component):
|
|
94
139
|
botonic.overlay.openWebview(url, {title?, icon?, allowClose?})
|
|
95
140
|
botonic.overlay.openCover(componentId, {title?, icon?, props?, allowClose?})
|
|
@@ -125,6 +170,9 @@ MACHINE ACCESS:
|
|
|
125
170
|
this.controller = controller;
|
|
126
171
|
this.isInitialized = true;
|
|
127
172
|
}
|
|
173
|
+
setDialogController(controller) {
|
|
174
|
+
this.dialogController = controller;
|
|
175
|
+
}
|
|
128
176
|
/**
|
|
129
177
|
* Signal that webchat is fully ready (controller + connection established).
|
|
130
178
|
* This resolves the ready promise and dispatches the botonic:ready event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/public.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/public.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type HubtypeUser, type WebchatClientSettings, type WebchatMessage } from '@botonic/shared';
|
|
2
2
|
import { ActorRefFrom, EmittedFrom } from 'xstate';
|
|
3
3
|
import { ConfirmCloseOption, OverlayState, WebchatConfig } from '../domain';
|
|
4
4
|
import { type WebchatControllerContext, WebchatMachine } from '../machines/webchat';
|
|
@@ -7,7 +7,8 @@ export declare class WebchatController {
|
|
|
7
7
|
machine: ActorRefFrom<typeof WebchatMachine>;
|
|
8
8
|
constructor(webchatConfig: WebchatConfig);
|
|
9
9
|
initialize(): Promise<void>;
|
|
10
|
-
sendMessage(message: WebchatMessage): void;
|
|
10
|
+
sendMessage(message: WebchatMessage, file?: File): void;
|
|
11
|
+
updateWebchatClientSettings(settings: Partial<WebchatClientSettings>): Promise<void>;
|
|
11
12
|
toggleWebchat(isOpen?: boolean): void;
|
|
12
13
|
getContext(): WebchatControllerContext;
|
|
13
14
|
getOperationalContext(): WebchatControllerContext | null;
|
|
@@ -24,6 +25,10 @@ export declare class WebchatController {
|
|
|
24
25
|
updateMessage(messageId: string, updates: Partial<WebchatMessage>): void;
|
|
25
26
|
deleteMessage(messageId: string): void;
|
|
26
27
|
setTyping(isTyping: boolean): void;
|
|
28
|
+
toggleSounds(enabled: boolean): void;
|
|
29
|
+
resetConversation(): void;
|
|
30
|
+
resetSession(): void;
|
|
31
|
+
downloadTranscript(): void;
|
|
27
32
|
reconnect(): void;
|
|
28
33
|
setOnline(online: boolean): void;
|
|
29
34
|
open(): void;
|
|
@@ -230,9 +235,14 @@ export declare class WebchatController {
|
|
|
230
235
|
} | {
|
|
231
236
|
type: "TOGGLE_WEBCHAT";
|
|
232
237
|
isOpen?: boolean;
|
|
238
|
+
} | {
|
|
239
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
240
|
+
} | {
|
|
241
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
233
242
|
} | {
|
|
234
243
|
type: "SEND_MESSAGE";
|
|
235
244
|
message: WebchatMessage;
|
|
245
|
+
file?: File;
|
|
236
246
|
} | {
|
|
237
247
|
type: "MESSAGE_RECEIVED";
|
|
238
248
|
message: WebchatMessage;
|
|
@@ -244,8 +254,15 @@ export declare class WebchatController {
|
|
|
244
254
|
} | {
|
|
245
255
|
type: "UPDATE_USER";
|
|
246
256
|
user: Partial<HubtypeUser>;
|
|
257
|
+
} | {
|
|
258
|
+
type: "TOGGLE_SOUNDS";
|
|
259
|
+
enabled: boolean;
|
|
247
260
|
} | {
|
|
248
261
|
type: "CLEAR_MESSAGES";
|
|
262
|
+
} | {
|
|
263
|
+
type: "START_OVER";
|
|
264
|
+
} | {
|
|
265
|
+
type: "RESET_SESSION";
|
|
249
266
|
} | {
|
|
250
267
|
type: "UPDATE_MESSAGE";
|
|
251
268
|
messageId: string;
|
|
@@ -253,6 +270,9 @@ export declare class WebchatController {
|
|
|
253
270
|
} | {
|
|
254
271
|
type: "DELETE_MESSAGE";
|
|
255
272
|
messageId: string;
|
|
273
|
+
} | {
|
|
274
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
275
|
+
update: import("../..").MessageInfoUpdate;
|
|
256
276
|
} | {
|
|
257
277
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
258
278
|
} | {
|
|
@@ -285,6 +305,8 @@ export declare class WebchatController {
|
|
|
285
305
|
user: HubtypeUser;
|
|
286
306
|
messages: WebchatMessage[];
|
|
287
307
|
attempt: number;
|
|
308
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
309
|
+
webchatService: import("../..").WebchatService;
|
|
288
310
|
}, import("xstate").EventObject>> | undefined;
|
|
289
311
|
}, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
290
312
|
initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
|
|
@@ -332,9 +354,14 @@ export declare class WebchatController {
|
|
|
332
354
|
} | {
|
|
333
355
|
type: "TOGGLE_WEBCHAT";
|
|
334
356
|
isOpen?: boolean;
|
|
357
|
+
} | {
|
|
358
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
359
|
+
} | {
|
|
360
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
335
361
|
} | {
|
|
336
362
|
type: "SEND_MESSAGE";
|
|
337
363
|
message: WebchatMessage;
|
|
364
|
+
file?: File;
|
|
338
365
|
} | {
|
|
339
366
|
type: "MESSAGE_RECEIVED";
|
|
340
367
|
message: WebchatMessage;
|
|
@@ -346,8 +373,15 @@ export declare class WebchatController {
|
|
|
346
373
|
} | {
|
|
347
374
|
type: "UPDATE_USER";
|
|
348
375
|
user: Partial<HubtypeUser>;
|
|
376
|
+
} | {
|
|
377
|
+
type: "TOGGLE_SOUNDS";
|
|
378
|
+
enabled: boolean;
|
|
349
379
|
} | {
|
|
350
380
|
type: "CLEAR_MESSAGES";
|
|
381
|
+
} | {
|
|
382
|
+
type: "START_OVER";
|
|
383
|
+
} | {
|
|
384
|
+
type: "RESET_SESSION";
|
|
351
385
|
} | {
|
|
352
386
|
type: "UPDATE_MESSAGE";
|
|
353
387
|
messageId: string;
|
|
@@ -355,6 +389,9 @@ export declare class WebchatController {
|
|
|
355
389
|
} | {
|
|
356
390
|
type: "DELETE_MESSAGE";
|
|
357
391
|
messageId: string;
|
|
392
|
+
} | {
|
|
393
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
394
|
+
update: import("../..").MessageInfoUpdate;
|
|
358
395
|
} | {
|
|
359
396
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
360
397
|
} | {
|
|
@@ -387,6 +424,8 @@ export declare class WebchatController {
|
|
|
387
424
|
user: HubtypeUser;
|
|
388
425
|
messages: WebchatMessage[];
|
|
389
426
|
attempt: number;
|
|
427
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
428
|
+
webchatService: import("../..").WebchatService;
|
|
390
429
|
}, import("xstate").EventObject>> | undefined;
|
|
391
430
|
}, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
392
431
|
initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
+
import { createUpdateWebchatClientSettingsPayload, MessageSentBy, } from '@botonic/shared';
|
|
2
3
|
import { createWebchatMachine, } from '../machines/webchat';
|
|
3
4
|
export class WebchatController {
|
|
4
5
|
constructor(webchatConfig) {
|
|
@@ -129,8 +130,27 @@ export class WebchatController {
|
|
|
129
130
|
});
|
|
130
131
|
});
|
|
131
132
|
}
|
|
132
|
-
sendMessage(message) {
|
|
133
|
-
this.machine.send({ type: 'SEND_MESSAGE', message });
|
|
133
|
+
sendMessage(message, file) {
|
|
134
|
+
this.machine.send({ type: 'SEND_MESSAGE', message, file });
|
|
135
|
+
}
|
|
136
|
+
updateWebchatClientSettings(settings) {
|
|
137
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
const context = this.getOperationalContext();
|
|
139
|
+
if (!(context === null || context === void 0 ? void 0 : context.user) || !context.webchatService) {
|
|
140
|
+
throw new Error('Webchat is not ready to update client settings');
|
|
141
|
+
}
|
|
142
|
+
this.machine.send({ type: 'WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED' });
|
|
143
|
+
try {
|
|
144
|
+
const response = yield context.webchatService.sendPostback(createUpdateWebchatClientSettingsPayload(settings), context.user);
|
|
145
|
+
if (response.success)
|
|
146
|
+
return;
|
|
147
|
+
throw new Error(response.error || 'Failed to update webchat client settings');
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
this.machine.send({ type: 'WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED' });
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
134
154
|
}
|
|
135
155
|
toggleWebchat(isOpen) {
|
|
136
156
|
this.machine.send({ type: 'TOGGLE_WEBCHAT', isOpen });
|
|
@@ -191,6 +211,37 @@ export class WebchatController {
|
|
|
191
211
|
setTyping(isTyping) {
|
|
192
212
|
this.machine.send({ type: 'SET_TYPING', isTypingOn: isTyping });
|
|
193
213
|
}
|
|
214
|
+
toggleSounds(enabled) {
|
|
215
|
+
this.machine.send({ type: 'TOGGLE_SOUNDS', enabled });
|
|
216
|
+
}
|
|
217
|
+
resetConversation() {
|
|
218
|
+
this.machine.send({ type: 'START_OVER' });
|
|
219
|
+
}
|
|
220
|
+
resetSession() {
|
|
221
|
+
this.machine.send({ type: 'RESET_SESSION' });
|
|
222
|
+
}
|
|
223
|
+
downloadTranscript() {
|
|
224
|
+
const messages = this.getMessages();
|
|
225
|
+
const lines = messages
|
|
226
|
+
.filter(m => m.type !== undefined)
|
|
227
|
+
.map(m => {
|
|
228
|
+
const sender = m.sent_by === MessageSentBy.User
|
|
229
|
+
? "You" /* TranscriptSender.User */
|
|
230
|
+
: m.sent_by === MessageSentBy.Agent
|
|
231
|
+
? "Agent" /* TranscriptSender.Agent */
|
|
232
|
+
: "Bot" /* TranscriptSender.Bot */;
|
|
233
|
+
if (m.isText())
|
|
234
|
+
return `${sender}: ${m.data.text}`;
|
|
235
|
+
return `${sender}: [${m.type}]`;
|
|
236
|
+
});
|
|
237
|
+
const blob = new Blob([lines.join('\n')], { type: 'text/plain' });
|
|
238
|
+
const url = URL.createObjectURL(blob);
|
|
239
|
+
const anchor = document.createElement('a');
|
|
240
|
+
anchor.href = url;
|
|
241
|
+
anchor.download = 'chat-transcript.txt';
|
|
242
|
+
anchor.click();
|
|
243
|
+
URL.revokeObjectURL(url);
|
|
244
|
+
}
|
|
194
245
|
reconnect() {
|
|
195
246
|
this.machine.send({ type: 'RECONNECT' });
|
|
196
247
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/webchat.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"webchat.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/controllers/webchat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HubtypeUser, HubtypeUserLocale } from '@botonic/shared';
|
|
1
|
+
import { HubtypeUser, HubtypeUserLocale, WebchatClientSettings } from '@botonic/shared';
|
|
2
2
|
import { StorageConfig } from '../infra/repositories';
|
|
3
3
|
import { WebchatConnectionConfig } from '../machines/webchat';
|
|
4
4
|
export declare enum ConnectionStatus {
|
|
@@ -45,6 +45,12 @@ 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 WebchatConfig = WebchatConnectionConfig & HubtypeUserLocale & Pick<HubtypeUser, 'extra_data'> & {
|
|
48
|
+
export type WebchatConfig = WebchatConnectionConfig & Partial<HubtypeUserLocale> & Pick<HubtypeUser, 'extra_data'> & {
|
|
49
49
|
storage?: StorageConfig;
|
|
50
|
+
webchatClientSettings?: Partial<WebchatClientSettings>;
|
|
51
|
+
/**
|
|
52
|
+
* When true (default), the bundled layout uses a responsive hero header (compact bar ↔ hero,
|
|
53
|
+
* driven by scroll and engagement). When false, the header stays a fixed compact bar with no transitions.
|
|
54
|
+
*/
|
|
55
|
+
enableResponsiveHeroHeader?: boolean;
|
|
50
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/domain/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/domain/index.ts"],"names":[],"mappings":"AASA,uEAAuE;AACvE,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,iDAA6B,CAAA;IAC7B,qCAAiB,CAAA;IACjB,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;AAC/B,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B"}
|
|
@@ -41,7 +41,7 @@ export declare class HubtypeApiClient {
|
|
|
41
41
|
/**
|
|
42
42
|
* Send a postback (button click) to the backend - matches deprecated format
|
|
43
43
|
*/
|
|
44
|
-
postPostback(payload: string, user: HubtypeUser
|
|
44
|
+
postPostback(payload: string, user: HubtypeUser): Promise<ApiResponse>;
|
|
45
45
|
/**
|
|
46
46
|
* Make HTTP request with proper error handling and timeout
|
|
47
47
|
*/
|
|
@@ -107,12 +107,12 @@ export class HubtypeApiClient {
|
|
|
107
107
|
/**
|
|
108
108
|
* Send a postback (button click) to the backend - matches deprecated format
|
|
109
109
|
*/
|
|
110
|
-
postPostback(payload, user
|
|
110
|
+
postPostback(payload, user) {
|
|
111
111
|
return __awaiter(this, void 0, void 0, function* () {
|
|
112
112
|
try {
|
|
113
113
|
// Create postback message in same format as deprecated implementation
|
|
114
114
|
const postbackMessage = WebchatMessageFactory.createPostback({
|
|
115
|
-
payload
|
|
115
|
+
payload,
|
|
116
116
|
metadata: {
|
|
117
117
|
sent_by: MessageSentBy.User,
|
|
118
118
|
},
|