@botonic/webchat-core 2.26.0 → 2.28.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 +24 -0
- package/package.json +7 -2
- package/src/index.d.ts +1 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -1
- package/src/lib/controllers/public.d.ts +73 -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 +43 -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 +3 -2
- package/src/lib/infra/clients/hubtype-api.js +4 -3
- package/src/lib/infra/clients/hubtype-api.js.map +1 -1
- package/src/lib/infra/clients/types.d.ts +2 -0
- package/src/lib/infra/repositories/storage/types.d.ts +2 -1
- package/src/lib/machines/message.d.ts +34 -1
- package/src/lib/machines/message.js +23 -15
- package/src/lib/machines/message.js.map +1 -1
- package/src/lib/machines/webchat.d.ts +147 -12
- package/src/lib/machines/webchat.js +224 -61
- package/src/lib/machines/webchat.js.map +1 -1
- package/src/lib/messages/factory.d.ts +89 -0
- package/src/lib/messages/factory.js +82 -0
- package/src/lib/messages/factory.js.map +1 -0
- package/src/lib/messages/index.d.ts +4 -0
- package/src/lib/messages/index.js +5 -0
- package/src/lib/messages/index.js.map +1 -0
- package/src/lib/messages/realtime/factory.d.ts +53 -0
- package/src/lib/messages/realtime/factory.js +70 -0
- package/src/lib/messages/realtime/factory.js.map +1 -0
- package/src/lib/messages/realtime/index.d.ts +2 -0
- package/src/lib/messages/realtime/index.js +3 -0
- package/src/lib/messages/realtime/index.js.map +1 -0
- package/src/lib/messages/realtime/realtime-response-message.d.ts +52 -0
- package/src/lib/messages/realtime/realtime-response-message.js +73 -0
- package/src/lib/messages/realtime/realtime-response-message.js.map +1 -0
- package/src/lib/messages/user/factory.d.ts +53 -0
- package/src/lib/messages/user/factory.js +59 -0
- package/src/lib/messages/user/factory.js.map +1 -0
- package/src/lib/messages/user/index.d.ts +2 -0
- package/src/lib/messages/user/index.js +3 -0
- package/src/lib/messages/user/index.js.map +1 -0
- package/src/lib/messages/user/user-input-message.d.ts +35 -0
- package/src/lib/messages/user/user-input-message.js +59 -0
- package/src/lib/messages/user/user-input-message.js.map +1 -0
- package/src/lib/messages/webchat-message.d.ts +61 -0
- package/src/lib/messages/webchat-message.js +74 -0
- package/src/lib/messages/webchat-message.js.map +1 -0
- package/src/lib/services/webchat-service.d.ts +21 -2
- package/src/lib/services/webchat-service.js +64 -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 +17 -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,27 @@
|
|
|
1
|
+
## 2.28.0 (2026-05-06)
|
|
2
|
+
|
|
3
|
+
This was a version bump only for @botonic/webchat-core to align it with other projects, there were no code changes.
|
|
4
|
+
|
|
5
|
+
## 2.27.0 (2026-04-29)
|
|
6
|
+
|
|
7
|
+
### 🚀 Features
|
|
8
|
+
|
|
9
|
+
- **webchat-react:** add webchat header menu (BLT-1861) ([#858](https://github.com/metis-ai/hubtype-product/pull/858))
|
|
10
|
+
- Hero Header transitions ([#860](https://github.com/metis-ai/hubtype-product/pull/860))
|
|
11
|
+
- typing to work again and improve it with few modes when sending messages ([#831](https://github.com/metis-ai/hubtype-product/pull/831))
|
|
12
|
+
- **BLT-1884:** wire DialogProvider into webchat and webview render trees ([#837](https://github.com/metis-ai/hubtype-product/pull/837))
|
|
13
|
+
- **BLT-2291:** wire file attachment through domain model and XState machines ([#816](https://github.com/metis-ai/hubtype-product/pull/816))
|
|
14
|
+
- adapting botonic webviews ([#799](https://github.com/metis-ai/hubtype-product/pull/799))
|
|
15
|
+
- **botonic:** session and Hubtype API adaptations (non-webviews) ([#810](https://github.com/metis-ai/hubtype-product/pull/810))
|
|
16
|
+
- **BLT-2293:** send audio messages ([#804](https://github.com/metis-ai/hubtype-product/pull/804))
|
|
17
|
+
- introduce new domain models ([#807](https://github.com/metis-ai/hubtype-product/pull/807))
|
|
18
|
+
- set basis for webchat client settings ([#791](https://github.com/metis-ai/hubtype-product/pull/791))
|
|
19
|
+
|
|
20
|
+
### ❤️ Thank You
|
|
21
|
+
|
|
22
|
+
- David Hidalgo @Davidhidalgo
|
|
23
|
+
- Marc Rabat @vanbasten17
|
|
24
|
+
|
|
1
25
|
## 2.26.0 (2026-03-31)
|
|
2
26
|
|
|
3
27
|
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.28.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./src/index.d.ts",
|
|
6
6
|
"module": "./src/index.js",
|
|
@@ -8,10 +8,15 @@
|
|
|
8
8
|
".": {
|
|
9
9
|
"types": "./src/index.d.ts",
|
|
10
10
|
"import": "./src/index.js"
|
|
11
|
+
},
|
|
12
|
+
"./messages": {
|
|
13
|
+
"types": "./src/lib/messages/index.d.ts",
|
|
14
|
+
"import": "./src/lib/messages/index.js",
|
|
15
|
+
"default": "./src/lib/messages/index.ts"
|
|
11
16
|
}
|
|
12
17
|
},
|
|
13
18
|
"dependencies": {
|
|
14
|
-
"@botonic/shared": "2.
|
|
19
|
+
"@botonic/shared": "2.28.0",
|
|
15
20
|
"pusher-js": "^8.4.0",
|
|
16
21
|
"tslib": "^2.3.0",
|
|
17
22
|
"uuid": "^11.1.0",
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// Domain types
|
|
2
2
|
export * from './lib/domain';
|
|
3
|
+
// Webchat message runtime (user input, realtime responses, unified webchat message)
|
|
4
|
+
export * from './lib/messages';
|
|
3
5
|
// XState machines (internal)
|
|
4
6
|
export * from './lib/machines/message';
|
|
5
7
|
export * from './lib/machines/overlay';
|
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,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,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,15 +1,35 @@
|
|
|
1
|
-
import type { HubtypeUser
|
|
1
|
+
import type { HubtypeUser } from '@botonic/shared';
|
|
2
|
+
import type { WebchatClientSettings, WebchatClientSettingsBlockInput } from '@botonic/shared';
|
|
3
|
+
import type { WebchatMessage } from '../messages';
|
|
2
4
|
import { ConfirmCloseOption, OverlayState } from '../domain';
|
|
3
5
|
import type { WebchatController, WebchatEmittedEvent } from './webchat';
|
|
6
|
+
export type DialogVariantPublic = 'default' | 'loading' | 'error' | 'success';
|
|
7
|
+
export interface DialogAction {
|
|
8
|
+
label: string;
|
|
9
|
+
onPress: () => void;
|
|
10
|
+
}
|
|
11
|
+
export interface DialogOpenPropsPublic {
|
|
12
|
+
variant?: DialogVariantPublic;
|
|
13
|
+
title: string;
|
|
14
|
+
subtitle?: string;
|
|
15
|
+
actions?: DialogAction[];
|
|
16
|
+
}
|
|
17
|
+
interface DialogControllerPublic {
|
|
18
|
+
open: (props: DialogOpenPropsPublic) => void;
|
|
19
|
+
update: (props: Partial<DialogOpenPropsPublic>) => void;
|
|
20
|
+
close: () => void;
|
|
21
|
+
}
|
|
4
22
|
export declare class PublicWebchatController {
|
|
5
23
|
private controller;
|
|
6
24
|
private isInitialized;
|
|
7
25
|
private isFullyReady;
|
|
8
26
|
private resolveReady;
|
|
27
|
+
private dialogController?;
|
|
9
28
|
/** Promise that resolves when webchat is fully initialized and connected */
|
|
10
29
|
ready: Promise<void>;
|
|
11
30
|
constructor();
|
|
12
31
|
setController(controller: WebchatController): void;
|
|
32
|
+
setDialogController(controller: DialogControllerPublic | undefined): void;
|
|
13
33
|
/**
|
|
14
34
|
* Signal that webchat is fully ready (controller + connection established).
|
|
15
35
|
* This resolves the ready promise and dispatches the botonic:ready event.
|
|
@@ -18,6 +38,8 @@ export declare class PublicWebchatController {
|
|
|
18
38
|
private getController;
|
|
19
39
|
isReady(): boolean;
|
|
20
40
|
sendMessage: (content: WebchatMessage) => void;
|
|
41
|
+
showPopup: () => void;
|
|
42
|
+
hidePopup: () => void;
|
|
21
43
|
open: () => void;
|
|
22
44
|
close: () => void;
|
|
23
45
|
toggle: () => void;
|
|
@@ -26,6 +48,12 @@ export declare class PublicWebchatController {
|
|
|
26
48
|
setUserCountry: (country: string) => void;
|
|
27
49
|
setSystemLocale: (systemLocale: string) => void;
|
|
28
50
|
setUserExtraData: (extraData: Record<string, any>) => void;
|
|
51
|
+
updateWebchatClientSettings: (settings: Partial<WebchatClientSettings>) => Promise<void>;
|
|
52
|
+
updateWebchatClientCustomSettings: (custom: Record<string, unknown>) => Promise<void>;
|
|
53
|
+
setWebchatSettingsUserInputEnabled: (isEnabled: boolean) => Promise<void>;
|
|
54
|
+
setWebchatSettingsAttachmentsEnabled: (isEnabled: boolean) => Promise<void>;
|
|
55
|
+
setWebchatSettingsEmojiPickerEnabled: (isEnabled: boolean) => Promise<void>;
|
|
56
|
+
setWebchatSettingsBlockInputs: (blockInputs: WebchatClientSettingsBlockInput[]) => Promise<void>;
|
|
29
57
|
clearMessages: () => void;
|
|
30
58
|
updateMessage: (messageId: string, updates: Partial<WebchatMessage>) => void;
|
|
31
59
|
deleteMessage: (messageId: string) => void;
|
|
@@ -157,6 +185,15 @@ export declare class PublicWebchatController {
|
|
|
157
185
|
type: "OVERLAY_CLOSED";
|
|
158
186
|
}>;
|
|
159
187
|
};
|
|
188
|
+
/**
|
|
189
|
+
* Dialog API — first-class dialog primitive for confirmations and async feedback.
|
|
190
|
+
* Delegates to the DialogProvider mounted inside WebchatContainer.
|
|
191
|
+
*/
|
|
192
|
+
dialog: {
|
|
193
|
+
open: (props: DialogOpenPropsPublic) => void | undefined;
|
|
194
|
+
update: (props: Partial<DialogOpenPropsPublic>) => void | undefined;
|
|
195
|
+
close: () => void | undefined;
|
|
196
|
+
};
|
|
160
197
|
send: (event: any) => void;
|
|
161
198
|
getState: () => import("xstate").MachineSnapshot<import("../..").WebchatControllerContext, {
|
|
162
199
|
type: "INITIALIZE";
|
|
@@ -180,9 +217,14 @@ export declare class PublicWebchatController {
|
|
|
180
217
|
} | {
|
|
181
218
|
type: "TOGGLE_WEBCHAT";
|
|
182
219
|
isOpen?: boolean;
|
|
220
|
+
} | {
|
|
221
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
222
|
+
} | {
|
|
223
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
183
224
|
} | {
|
|
184
225
|
type: "SEND_MESSAGE";
|
|
185
226
|
message: WebchatMessage;
|
|
227
|
+
file?: File;
|
|
186
228
|
} | {
|
|
187
229
|
type: "MESSAGE_RECEIVED";
|
|
188
230
|
message: WebchatMessage;
|
|
@@ -194,8 +236,15 @@ export declare class PublicWebchatController {
|
|
|
194
236
|
} | {
|
|
195
237
|
type: "UPDATE_USER";
|
|
196
238
|
user: Partial<HubtypeUser>;
|
|
239
|
+
} | {
|
|
240
|
+
type: "TOGGLE_SOUNDS";
|
|
241
|
+
enabled: boolean;
|
|
197
242
|
} | {
|
|
198
243
|
type: "CLEAR_MESSAGES";
|
|
244
|
+
} | {
|
|
245
|
+
type: "START_OVER";
|
|
246
|
+
} | {
|
|
247
|
+
type: "RESET_SESSION";
|
|
199
248
|
} | {
|
|
200
249
|
type: "UPDATE_MESSAGE";
|
|
201
250
|
messageId: string;
|
|
@@ -203,6 +252,9 @@ export declare class PublicWebchatController {
|
|
|
203
252
|
} | {
|
|
204
253
|
type: "DELETE_MESSAGE";
|
|
205
254
|
messageId: string;
|
|
255
|
+
} | {
|
|
256
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
257
|
+
update: import("../..").MessageInfoUpdate;
|
|
206
258
|
} | {
|
|
207
259
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
208
260
|
} | {
|
|
@@ -235,6 +287,8 @@ export declare class PublicWebchatController {
|
|
|
235
287
|
user: HubtypeUser;
|
|
236
288
|
messages: WebchatMessage[];
|
|
237
289
|
attempt: number;
|
|
290
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
291
|
+
webchatService: import("../..").WebchatService;
|
|
238
292
|
}, import("xstate").EventObject>> | undefined;
|
|
239
293
|
}, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
240
294
|
initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
|
|
@@ -290,9 +344,14 @@ export declare class PublicWebchatController {
|
|
|
290
344
|
} | {
|
|
291
345
|
type: "TOGGLE_WEBCHAT";
|
|
292
346
|
isOpen?: boolean;
|
|
347
|
+
} | {
|
|
348
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
349
|
+
} | {
|
|
350
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
293
351
|
} | {
|
|
294
352
|
type: "SEND_MESSAGE";
|
|
295
353
|
message: WebchatMessage;
|
|
354
|
+
file?: File;
|
|
296
355
|
} | {
|
|
297
356
|
type: "MESSAGE_RECEIVED";
|
|
298
357
|
message: WebchatMessage;
|
|
@@ -304,8 +363,15 @@ export declare class PublicWebchatController {
|
|
|
304
363
|
} | {
|
|
305
364
|
type: "UPDATE_USER";
|
|
306
365
|
user: Partial<HubtypeUser>;
|
|
366
|
+
} | {
|
|
367
|
+
type: "TOGGLE_SOUNDS";
|
|
368
|
+
enabled: boolean;
|
|
307
369
|
} | {
|
|
308
370
|
type: "CLEAR_MESSAGES";
|
|
371
|
+
} | {
|
|
372
|
+
type: "START_OVER";
|
|
373
|
+
} | {
|
|
374
|
+
type: "RESET_SESSION";
|
|
309
375
|
} | {
|
|
310
376
|
type: "UPDATE_MESSAGE";
|
|
311
377
|
messageId: string;
|
|
@@ -313,6 +379,9 @@ export declare class PublicWebchatController {
|
|
|
313
379
|
} | {
|
|
314
380
|
type: "DELETE_MESSAGE";
|
|
315
381
|
messageId: string;
|
|
382
|
+
} | {
|
|
383
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
384
|
+
update: import("../..").MessageInfoUpdate;
|
|
316
385
|
} | {
|
|
317
386
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
318
387
|
} | {
|
|
@@ -345,6 +414,8 @@ export declare class PublicWebchatController {
|
|
|
345
414
|
user: HubtypeUser;
|
|
346
415
|
messages: WebchatMessage[];
|
|
347
416
|
attempt: number;
|
|
417
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
418
|
+
webchatService: import("../..").WebchatService;
|
|
348
419
|
}, import("xstate").EventObject>> | undefined;
|
|
349
420
|
}, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
350
421
|
initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
|
|
@@ -381,3 +452,4 @@ export declare function ensureGlobalWebchatAPI(): void;
|
|
|
381
452
|
* Call this after setupGlobalWebchatAPI when the connection is confirmed.
|
|
382
453
|
*/
|
|
383
454
|
export declare function signalWebchatReady(): void;
|
|
455
|
+
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,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type HubtypeUser } from '@botonic/shared';
|
|
2
|
+
import type { WebchatClientSettings } from '@botonic/shared';
|
|
3
|
+
import type { WebchatMessage } from '../messages';
|
|
2
4
|
import { ActorRefFrom, EmittedFrom } from 'xstate';
|
|
3
5
|
import { ConfirmCloseOption, OverlayState, WebchatConfig } from '../domain';
|
|
4
6
|
import { type WebchatControllerContext, WebchatMachine } from '../machines/webchat';
|
|
@@ -7,7 +9,8 @@ export declare class WebchatController {
|
|
|
7
9
|
machine: ActorRefFrom<typeof WebchatMachine>;
|
|
8
10
|
constructor(webchatConfig: WebchatConfig);
|
|
9
11
|
initialize(): Promise<void>;
|
|
10
|
-
sendMessage(message: WebchatMessage): void;
|
|
12
|
+
sendMessage(message: WebchatMessage, file?: File): void;
|
|
13
|
+
updateWebchatClientSettings(settings: Partial<WebchatClientSettings>): Promise<void>;
|
|
11
14
|
toggleWebchat(isOpen?: boolean): void;
|
|
12
15
|
getContext(): WebchatControllerContext;
|
|
13
16
|
getOperationalContext(): WebchatControllerContext | null;
|
|
@@ -24,6 +27,10 @@ export declare class WebchatController {
|
|
|
24
27
|
updateMessage(messageId: string, updates: Partial<WebchatMessage>): void;
|
|
25
28
|
deleteMessage(messageId: string): void;
|
|
26
29
|
setTyping(isTyping: boolean): void;
|
|
30
|
+
toggleSounds(enabled: boolean): void;
|
|
31
|
+
resetConversation(): void;
|
|
32
|
+
resetSession(): void;
|
|
33
|
+
downloadTranscript(): void;
|
|
27
34
|
reconnect(): void;
|
|
28
35
|
setOnline(online: boolean): void;
|
|
29
36
|
open(): void;
|
|
@@ -230,9 +237,14 @@ export declare class WebchatController {
|
|
|
230
237
|
} | {
|
|
231
238
|
type: "TOGGLE_WEBCHAT";
|
|
232
239
|
isOpen?: boolean;
|
|
240
|
+
} | {
|
|
241
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
242
|
+
} | {
|
|
243
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
233
244
|
} | {
|
|
234
245
|
type: "SEND_MESSAGE";
|
|
235
246
|
message: WebchatMessage;
|
|
247
|
+
file?: File;
|
|
236
248
|
} | {
|
|
237
249
|
type: "MESSAGE_RECEIVED";
|
|
238
250
|
message: WebchatMessage;
|
|
@@ -244,8 +256,15 @@ export declare class WebchatController {
|
|
|
244
256
|
} | {
|
|
245
257
|
type: "UPDATE_USER";
|
|
246
258
|
user: Partial<HubtypeUser>;
|
|
259
|
+
} | {
|
|
260
|
+
type: "TOGGLE_SOUNDS";
|
|
261
|
+
enabled: boolean;
|
|
247
262
|
} | {
|
|
248
263
|
type: "CLEAR_MESSAGES";
|
|
264
|
+
} | {
|
|
265
|
+
type: "START_OVER";
|
|
266
|
+
} | {
|
|
267
|
+
type: "RESET_SESSION";
|
|
249
268
|
} | {
|
|
250
269
|
type: "UPDATE_MESSAGE";
|
|
251
270
|
messageId: string;
|
|
@@ -253,6 +272,9 @@ export declare class WebchatController {
|
|
|
253
272
|
} | {
|
|
254
273
|
type: "DELETE_MESSAGE";
|
|
255
274
|
messageId: string;
|
|
275
|
+
} | {
|
|
276
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
277
|
+
update: import("../..").MessageInfoUpdate;
|
|
256
278
|
} | {
|
|
257
279
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
258
280
|
} | {
|
|
@@ -285,6 +307,8 @@ export declare class WebchatController {
|
|
|
285
307
|
user: HubtypeUser;
|
|
286
308
|
messages: WebchatMessage[];
|
|
287
309
|
attempt: number;
|
|
310
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
311
|
+
webchatService: import("../..").WebchatService;
|
|
288
312
|
}, import("xstate").EventObject>> | undefined;
|
|
289
313
|
}, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
290
314
|
initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
|
|
@@ -332,9 +356,14 @@ export declare class WebchatController {
|
|
|
332
356
|
} | {
|
|
333
357
|
type: "TOGGLE_WEBCHAT";
|
|
334
358
|
isOpen?: boolean;
|
|
359
|
+
} | {
|
|
360
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
361
|
+
} | {
|
|
362
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
335
363
|
} | {
|
|
336
364
|
type: "SEND_MESSAGE";
|
|
337
365
|
message: WebchatMessage;
|
|
366
|
+
file?: File;
|
|
338
367
|
} | {
|
|
339
368
|
type: "MESSAGE_RECEIVED";
|
|
340
369
|
message: WebchatMessage;
|
|
@@ -346,8 +375,15 @@ export declare class WebchatController {
|
|
|
346
375
|
} | {
|
|
347
376
|
type: "UPDATE_USER";
|
|
348
377
|
user: Partial<HubtypeUser>;
|
|
378
|
+
} | {
|
|
379
|
+
type: "TOGGLE_SOUNDS";
|
|
380
|
+
enabled: boolean;
|
|
349
381
|
} | {
|
|
350
382
|
type: "CLEAR_MESSAGES";
|
|
383
|
+
} | {
|
|
384
|
+
type: "START_OVER";
|
|
385
|
+
} | {
|
|
386
|
+
type: "RESET_SESSION";
|
|
351
387
|
} | {
|
|
352
388
|
type: "UPDATE_MESSAGE";
|
|
353
389
|
messageId: string;
|
|
@@ -355,6 +391,9 @@ export declare class WebchatController {
|
|
|
355
391
|
} | {
|
|
356
392
|
type: "DELETE_MESSAGE";
|
|
357
393
|
messageId: string;
|
|
394
|
+
} | {
|
|
395
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
396
|
+
update: import("../..").MessageInfoUpdate;
|
|
358
397
|
} | {
|
|
359
398
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
360
399
|
} | {
|
|
@@ -387,6 +426,8 @@ export declare class WebchatController {
|
|
|
387
426
|
user: HubtypeUser;
|
|
388
427
|
messages: WebchatMessage[];
|
|
389
428
|
attempt: number;
|
|
429
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
430
|
+
webchatService: import("../..").WebchatService;
|
|
390
431
|
}, import("xstate").EventObject>> | undefined;
|
|
391
432
|
}, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
392
433
|
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"}
|