@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
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { HubtypeUser
|
|
1
|
+
import { HubtypeUser } from '@botonic/shared';
|
|
2
|
+
import { WebchatMessage } from '../../messages';
|
|
2
3
|
import type { PusherAuthResponse, WebchatSettingsResponse } from './types';
|
|
3
4
|
export interface HubtypeApiClientConfig {
|
|
4
5
|
appId: string;
|
|
@@ -41,7 +42,7 @@ export declare class HubtypeApiClient {
|
|
|
41
42
|
/**
|
|
42
43
|
* Send a postback (button click) to the backend - matches deprecated format
|
|
43
44
|
*/
|
|
44
|
-
postPostback(payload: string, user: HubtypeUser
|
|
45
|
+
postPostback(payload: string, user: HubtypeUser): Promise<ApiResponse>;
|
|
45
46
|
/**
|
|
46
47
|
* Make HTTP request with proper error handling and timeout
|
|
47
48
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { MessageSentBy
|
|
2
|
+
import { MessageSentBy } from '@botonic/shared';
|
|
3
|
+
import { WebchatMessageFactory, } from '../../messages';
|
|
3
4
|
/**
|
|
4
5
|
* Hubtype API client for webchat functionality
|
|
5
6
|
* Handles HTTP requests to Hubtype backend for webchat operations
|
|
@@ -107,12 +108,12 @@ export class HubtypeApiClient {
|
|
|
107
108
|
/**
|
|
108
109
|
* Send a postback (button click) to the backend - matches deprecated format
|
|
109
110
|
*/
|
|
110
|
-
postPostback(payload, user
|
|
111
|
+
postPostback(payload, user) {
|
|
111
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
112
113
|
try {
|
|
113
114
|
// Create postback message in same format as deprecated implementation
|
|
114
115
|
const postbackMessage = WebchatMessageFactory.createPostback({
|
|
115
|
-
payload
|
|
116
|
+
payload,
|
|
116
117
|
metadata: {
|
|
117
118
|
sent_by: MessageSentBy.User,
|
|
118
119
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubtype-api.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/webchat-core/src/lib/infra/clients/hubtype-api.ts"],"names":[],"mappings":";
|
|
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,3 +1,4 @@
|
|
|
1
|
+
import type { WebchatClientSettings } from '@botonic/shared';
|
|
1
2
|
import type { WebchatRealtimeAuthContext } from './hubtype-api';
|
|
2
3
|
export interface PusherAuthResponse {
|
|
3
4
|
auth: string;
|
|
@@ -7,6 +8,7 @@ export interface PusherAuthResponse {
|
|
|
7
8
|
export interface PusherAuthParsedChannelData {
|
|
8
9
|
botId: string;
|
|
9
10
|
chatId: string;
|
|
11
|
+
webchatClientSettings?: WebchatClientSettings;
|
|
10
12
|
}
|
|
11
13
|
export type PusherCustomAuthorizerFunction = (socketId: string, channelName: string, authContext?: WebchatRealtimeAuthContext) => Promise<PusherAuthResponse>;
|
|
12
14
|
/** Matches backend _PusherAppSerializer (key, cluster, status_channel) */
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { HubtypeUser } from '@botonic/shared';
|
|
2
|
+
import type { WebchatMessage } from '../../../messages';
|
|
2
3
|
import { WebchatMessageStatus } from '../../../machines/message';
|
|
3
4
|
export interface StoredMessage extends WebchatMessage {
|
|
4
5
|
status: WebchatMessageStatus;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HubtypeUser } from '@botonic/shared';
|
|
2
|
+
import { BotonicButtonContent } from '@botonic/shared';
|
|
3
|
+
import { WebchatMessage } from '../messages';
|
|
2
4
|
import { ActorRefFrom, PromiseActorLogic } from 'xstate';
|
|
3
5
|
export declare enum WebchatMessageStatus {
|
|
4
6
|
UNSENT = "unsent",
|
|
@@ -10,16 +12,24 @@ export interface WebchatMessageTypes {
|
|
|
10
12
|
message: WebchatMessage;
|
|
11
13
|
user: HubtypeUser;
|
|
12
14
|
status: WebchatMessageStatus;
|
|
15
|
+
file?: File;
|
|
13
16
|
postMessageActor?: any;
|
|
14
17
|
};
|
|
15
18
|
input: {
|
|
16
19
|
message: WebchatMessage;
|
|
17
20
|
user: HubtypeUser;
|
|
18
21
|
status: WebchatMessageStatus;
|
|
22
|
+
file?: File;
|
|
19
23
|
postMessageActor?: any;
|
|
20
24
|
};
|
|
21
25
|
events: {
|
|
22
26
|
type: 'RETRY';
|
|
27
|
+
} | {
|
|
28
|
+
type: 'UPDATE_MESSAGE_INFO';
|
|
29
|
+
message: {
|
|
30
|
+
id: string;
|
|
31
|
+
data: Record<string, string>;
|
|
32
|
+
};
|
|
23
33
|
} | {
|
|
24
34
|
type: 'BUTTON_CLICKED';
|
|
25
35
|
button: BotonicButtonContent;
|
|
@@ -39,14 +49,22 @@ export type PostMessageActor = PromiseActorLogic<{
|
|
|
39
49
|
}, {
|
|
40
50
|
message: WebchatMessage;
|
|
41
51
|
user: HubtypeUser;
|
|
52
|
+
file?: File;
|
|
42
53
|
}>;
|
|
43
54
|
export declare const WebchatMessageMachine: import("xstate").StateMachine<{
|
|
44
55
|
message: WebchatMessage;
|
|
45
56
|
user: HubtypeUser;
|
|
46
57
|
status: WebchatMessageStatus;
|
|
58
|
+
file?: File;
|
|
47
59
|
postMessageActor?: any;
|
|
48
60
|
}, {
|
|
49
61
|
type: "RETRY";
|
|
62
|
+
} | {
|
|
63
|
+
type: "UPDATE_MESSAGE_INFO";
|
|
64
|
+
message: {
|
|
65
|
+
id: string;
|
|
66
|
+
data: Record<string, string>;
|
|
67
|
+
};
|
|
50
68
|
} | {
|
|
51
69
|
type: "BUTTON_CLICKED";
|
|
52
70
|
button: BotonicButtonContent;
|
|
@@ -71,6 +89,9 @@ export declare const WebchatMessageMachine: import("xstate").StateMachine<{
|
|
|
71
89
|
} | {
|
|
72
90
|
type: "updateStatusToFailed";
|
|
73
91
|
params: import("xstate").NonReducibleUnknown;
|
|
92
|
+
} | {
|
|
93
|
+
type: "updateMessageInfo";
|
|
94
|
+
params: import("xstate").NonReducibleUnknown;
|
|
74
95
|
} | {
|
|
75
96
|
type: "logPostbackSuccess";
|
|
76
97
|
params: unknown;
|
|
@@ -99,6 +120,7 @@ export declare const WebchatMessageMachine: import("xstate").StateMachine<{
|
|
|
99
120
|
message: WebchatMessage;
|
|
100
121
|
user: HubtypeUser;
|
|
101
122
|
status: WebchatMessageStatus;
|
|
123
|
+
file?: File;
|
|
102
124
|
postMessageActor?: any;
|
|
103
125
|
}, import("xstate").NonReducibleUnknown, {
|
|
104
126
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
@@ -123,9 +145,16 @@ export declare function createWebchatMessageMachine(postMessageActor: PostMessag
|
|
|
123
145
|
message: WebchatMessage;
|
|
124
146
|
user: HubtypeUser;
|
|
125
147
|
status: WebchatMessageStatus;
|
|
148
|
+
file?: File;
|
|
126
149
|
postMessageActor?: any;
|
|
127
150
|
}, {
|
|
128
151
|
type: "RETRY";
|
|
152
|
+
} | {
|
|
153
|
+
type: "UPDATE_MESSAGE_INFO";
|
|
154
|
+
message: {
|
|
155
|
+
id: string;
|
|
156
|
+
data: Record<string, string>;
|
|
157
|
+
};
|
|
129
158
|
} | {
|
|
130
159
|
type: "BUTTON_CLICKED";
|
|
131
160
|
button: BotonicButtonContent;
|
|
@@ -150,6 +179,9 @@ export declare function createWebchatMessageMachine(postMessageActor: PostMessag
|
|
|
150
179
|
} | {
|
|
151
180
|
type: "updateStatusToFailed";
|
|
152
181
|
params: import("xstate").NonReducibleUnknown;
|
|
182
|
+
} | {
|
|
183
|
+
type: "updateMessageInfo";
|
|
184
|
+
params: import("xstate").NonReducibleUnknown;
|
|
153
185
|
} | {
|
|
154
186
|
type: "logPostbackSuccess";
|
|
155
187
|
params: unknown;
|
|
@@ -178,6 +210,7 @@ export declare function createWebchatMessageMachine(postMessageActor: PostMessag
|
|
|
178
210
|
message: WebchatMessage;
|
|
179
211
|
user: HubtypeUser;
|
|
180
212
|
status: WebchatMessageStatus;
|
|
213
|
+
file?: File;
|
|
181
214
|
postMessageActor?: any;
|
|
182
215
|
}, import("xstate").NonReducibleUnknown, {
|
|
183
216
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { BotonicButtonType, MessageSentBy,
|
|
2
|
+
import { BotonicButtonType, MessageSentBy, } from '@botonic/shared';
|
|
3
|
+
import { WebchatMessage, WebchatMessageFactory } from '../messages';
|
|
3
4
|
import { assertEvent, assign, createActor, fromPromise, sendParent, setup, } from 'xstate';
|
|
4
5
|
export var WebchatMessageStatus;
|
|
5
6
|
(function (WebchatMessageStatus) {
|
|
@@ -54,15 +55,20 @@ export const WebchatMessageMachine = setup({
|
|
|
54
55
|
status: WebchatMessageStatus.FAILED,
|
|
55
56
|
};
|
|
56
57
|
}),
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
updateMessageInfo: assign({
|
|
59
|
+
message: ({ context, event }) => {
|
|
60
|
+
assertEvent(event, 'UPDATE_MESSAGE_INFO');
|
|
61
|
+
const { message } = context;
|
|
62
|
+
const url = event.message.data[message.type];
|
|
63
|
+
if (!url)
|
|
64
|
+
return message;
|
|
65
|
+
const oldUrl = message.data.attachment_url;
|
|
66
|
+
if (typeof oldUrl === 'string' && oldUrl.startsWith('blob:')) {
|
|
67
|
+
URL.revokeObjectURL(oldUrl);
|
|
68
|
+
}
|
|
69
|
+
return new WebchatMessage(message.type, Object.assign(Object.assign({}, message.data), { attachment_url: url, attachment_content: undefined }), message);
|
|
70
|
+
},
|
|
71
|
+
}),
|
|
66
72
|
logPostbackSuccess: ({ context }) => {
|
|
67
73
|
// Note: After domain refactoring, messages use provider_id as unique identifier
|
|
68
74
|
console.log(`✅ Postback handled successfully for message ${context.message.provider_id}`);
|
|
@@ -101,12 +107,13 @@ export const WebchatMessageMachine = setup({
|
|
|
101
107
|
message: (input === null || input === void 0 ? void 0 : input.message) || {},
|
|
102
108
|
user: (input === null || input === void 0 ? void 0 : input.user) || {},
|
|
103
109
|
status: (input === null || input === void 0 ? void 0 : input.status) || WebchatMessageStatus.UNSENT,
|
|
110
|
+
file: input === null || input === void 0 ? void 0 : input.file,
|
|
104
111
|
}),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
112
|
+
on: {
|
|
113
|
+
UPDATE_MESSAGE_INFO: {
|
|
114
|
+
actions: ['updateMessageInfo', 'emitSaveMessage'],
|
|
115
|
+
},
|
|
116
|
+
},
|
|
110
117
|
states: {
|
|
111
118
|
checkStatus: {
|
|
112
119
|
always: [
|
|
@@ -125,6 +132,7 @@ export const WebchatMessageMachine = setup({
|
|
|
125
132
|
input: ({ context }) => ({
|
|
126
133
|
message: context.message,
|
|
127
134
|
user: context.user,
|
|
135
|
+
file: context.file,
|
|
128
136
|
}),
|
|
129
137
|
onDone: {
|
|
130
138
|
target: 'idle',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/machines/message.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/machines/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { type HubtypeUser
|
|
1
|
+
import { type HubtypeUser } from '@botonic/shared';
|
|
2
|
+
import { WebchatClientSettings } from '@botonic/shared';
|
|
3
|
+
import { WebchatMessage } from '../messages';
|
|
2
4
|
import { ActorRefFrom } from 'xstate';
|
|
3
5
|
import { ConnectionStatus, WebchatConfig } from '../domain';
|
|
4
6
|
import { type StorageRepository, type StoredMessage } from '../infra/repositories';
|
|
5
|
-
import { WebchatService } from '../services/webchat-service';
|
|
7
|
+
import { type MessageInfoUpdate, WebchatService } from '../services/webchat-service';
|
|
6
8
|
import { WebchatMessageMachine, WebchatMessageStatus } from './message';
|
|
7
9
|
import { OverlayMachineActor } from './overlay';
|
|
8
10
|
export interface WebchatConnectionConfig {
|
|
@@ -28,7 +30,10 @@ export interface WebchatControllerContext extends Partial<ConnectedWebchatContex
|
|
|
28
30
|
messageActors: Map<string, ActorRefFrom<typeof WebchatMessageMachine>>;
|
|
29
31
|
reconnectAttempt?: number;
|
|
30
32
|
isTypingOn: boolean;
|
|
33
|
+
isSuppressingTypingEventsUntilClientSettingsUpdate: boolean;
|
|
34
|
+
soundsEnabled: boolean;
|
|
31
35
|
overlayActor: OverlayMachineActor;
|
|
36
|
+
effectiveWebchatClientSettings: WebchatClientSettings;
|
|
32
37
|
}
|
|
33
38
|
/**
|
|
34
39
|
* Main webchat machine that handles the complete lifecycle
|
|
@@ -60,9 +65,14 @@ export declare const WebchatMachine: import("xstate").StateMachine<WebchatContro
|
|
|
60
65
|
} | {
|
|
61
66
|
type: "TOGGLE_WEBCHAT";
|
|
62
67
|
isOpen?: boolean;
|
|
68
|
+
} | {
|
|
69
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
70
|
+
} | {
|
|
71
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
63
72
|
} | {
|
|
64
73
|
type: "SEND_MESSAGE";
|
|
65
74
|
message: WebchatMessage;
|
|
75
|
+
file?: File;
|
|
66
76
|
} | {
|
|
67
77
|
type: "MESSAGE_RECEIVED";
|
|
68
78
|
message: WebchatMessage;
|
|
@@ -74,8 +84,15 @@ export declare const WebchatMachine: import("xstate").StateMachine<WebchatContro
|
|
|
74
84
|
} | {
|
|
75
85
|
type: "UPDATE_USER";
|
|
76
86
|
user: Partial<HubtypeUser>;
|
|
87
|
+
} | {
|
|
88
|
+
type: "TOGGLE_SOUNDS";
|
|
89
|
+
enabled: boolean;
|
|
77
90
|
} | {
|
|
78
91
|
type: "CLEAR_MESSAGES";
|
|
92
|
+
} | {
|
|
93
|
+
type: "START_OVER";
|
|
94
|
+
} | {
|
|
95
|
+
type: "RESET_SESSION";
|
|
79
96
|
} | {
|
|
80
97
|
type: "UPDATE_MESSAGE";
|
|
81
98
|
messageId: string;
|
|
@@ -83,6 +100,9 @@ export declare const WebchatMachine: import("xstate").StateMachine<WebchatContro
|
|
|
83
100
|
} | {
|
|
84
101
|
type: "DELETE_MESSAGE";
|
|
85
102
|
messageId: string;
|
|
103
|
+
} | {
|
|
104
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
105
|
+
update: MessageInfoUpdate;
|
|
86
106
|
} | {
|
|
87
107
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
88
108
|
} | {
|
|
@@ -115,6 +135,8 @@ export declare const WebchatMachine: import("xstate").StateMachine<WebchatContro
|
|
|
115
135
|
user: HubtypeUser;
|
|
116
136
|
messages: WebchatMessage[];
|
|
117
137
|
attempt: number;
|
|
138
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
139
|
+
webchatService: WebchatService;
|
|
118
140
|
}, import("xstate").EventObject>> | undefined;
|
|
119
141
|
}, {
|
|
120
142
|
src: "initializeWebchatService";
|
|
@@ -161,6 +183,12 @@ export declare const WebchatMachine: import("xstate").StateMachine<WebchatContro
|
|
|
161
183
|
attempt: number;
|
|
162
184
|
}, import("xstate").EventObject>;
|
|
163
185
|
id: string | undefined;
|
|
186
|
+
} | {
|
|
187
|
+
src: "subscribeToService";
|
|
188
|
+
logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
189
|
+
webchatService: WebchatService;
|
|
190
|
+
}, import("xstate").EventObject>;
|
|
191
|
+
id: string | undefined;
|
|
164
192
|
}, {
|
|
165
193
|
type: "assignWebchatService";
|
|
166
194
|
params: import("xstate").NonReducibleUnknown;
|
|
@@ -183,11 +211,17 @@ export declare const WebchatMachine: import("xstate").StateMachine<WebchatContro
|
|
|
183
211
|
type: "forwardWebviewOpenToOverlay";
|
|
184
212
|
params: unknown;
|
|
185
213
|
} | {
|
|
186
|
-
type: "
|
|
187
|
-
params:
|
|
214
|
+
type: "initializeClientSettingsFromChannelData";
|
|
215
|
+
params: import("xstate").NonReducibleUnknown;
|
|
188
216
|
} | {
|
|
189
|
-
type: "
|
|
190
|
-
params:
|
|
217
|
+
type: "applyClientSettingsFromMessage";
|
|
218
|
+
params: import("xstate").NonReducibleUnknown;
|
|
219
|
+
} | {
|
|
220
|
+
type: "suppressTypingUntilClientSettingsUpdate";
|
|
221
|
+
params: import("xstate").NonReducibleUnknown;
|
|
222
|
+
} | {
|
|
223
|
+
type: "stopSuppressingTypingEvents";
|
|
224
|
+
params: import("xstate").NonReducibleUnknown;
|
|
191
225
|
} | {
|
|
192
226
|
type: "toggleWebchat";
|
|
193
227
|
params: import("xstate").NonReducibleUnknown;
|
|
@@ -200,6 +234,18 @@ export declare const WebchatMachine: import("xstate").StateMachine<WebchatContro
|
|
|
200
234
|
} | {
|
|
201
235
|
type: "addMessage";
|
|
202
236
|
params: import("xstate").NonReducibleUnknown;
|
|
237
|
+
} | {
|
|
238
|
+
type: "clearConversationFromStorage";
|
|
239
|
+
params: unknown;
|
|
240
|
+
} | {
|
|
241
|
+
type: "clearAppDataFromStorage";
|
|
242
|
+
params: unknown;
|
|
243
|
+
} | {
|
|
244
|
+
type: "disconnectService";
|
|
245
|
+
params: unknown;
|
|
246
|
+
} | {
|
|
247
|
+
type: "resetSessionContext";
|
|
248
|
+
params: import("xstate").NonReducibleUnknown;
|
|
203
249
|
} | {
|
|
204
250
|
type: "saveMessages";
|
|
205
251
|
params: unknown;
|
|
@@ -251,15 +297,24 @@ export declare const WebchatMachine: import("xstate").StateMachine<WebchatContro
|
|
|
251
297
|
} | {
|
|
252
298
|
type: "updateMessage";
|
|
253
299
|
params: import("xstate").NonReducibleUnknown;
|
|
300
|
+
} | {
|
|
301
|
+
type: "updateMessageWithInfo";
|
|
302
|
+
params: unknown;
|
|
254
303
|
} | {
|
|
255
304
|
type: "deleteMessage";
|
|
256
305
|
params: import("xstate").NonReducibleUnknown;
|
|
257
306
|
} | {
|
|
258
|
-
type: "
|
|
307
|
+
type: "setTypingOn";
|
|
308
|
+
params: import("xstate").NonReducibleUnknown;
|
|
309
|
+
} | {
|
|
310
|
+
type: "setTypingOff";
|
|
259
311
|
params: import("xstate").NonReducibleUnknown;
|
|
260
312
|
} | {
|
|
261
313
|
type: "setTypingExternal";
|
|
262
314
|
params: import("xstate").NonReducibleUnknown;
|
|
315
|
+
} | {
|
|
316
|
+
type: "setSoundsEnabled";
|
|
317
|
+
params: import("xstate").NonReducibleUnknown;
|
|
263
318
|
} | {
|
|
264
319
|
type: "setOnline";
|
|
265
320
|
params: unknown;
|
|
@@ -275,6 +330,21 @@ export declare const WebchatMachine: import("xstate").StateMachine<WebchatContro
|
|
|
275
330
|
} | {
|
|
276
331
|
type: "isTypingEvent";
|
|
277
332
|
params: unknown;
|
|
333
|
+
} | {
|
|
334
|
+
type: "shouldShowTypingEvents";
|
|
335
|
+
params: unknown;
|
|
336
|
+
} | {
|
|
337
|
+
type: "isSuppressedTypingEvent";
|
|
338
|
+
params: unknown;
|
|
339
|
+
} | {
|
|
340
|
+
type: "isTypingOnEvent";
|
|
341
|
+
params: unknown;
|
|
342
|
+
} | {
|
|
343
|
+
type: "isTypingOffEvent";
|
|
344
|
+
params: unknown;
|
|
345
|
+
} | {
|
|
346
|
+
type: "isWebchatClientSettings";
|
|
347
|
+
params: unknown;
|
|
278
348
|
}, never, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
279
349
|
initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
|
|
280
350
|
}, string, WebchatConfig, import("xstate").NonReducibleUnknown, {
|
|
@@ -360,9 +430,14 @@ export declare function createWebchatMachine(webchatConfig: WebchatConfig): impo
|
|
|
360
430
|
} | {
|
|
361
431
|
type: "TOGGLE_WEBCHAT";
|
|
362
432
|
isOpen?: boolean;
|
|
433
|
+
} | {
|
|
434
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_STARTED";
|
|
435
|
+
} | {
|
|
436
|
+
type: "WEBCHAT_CLIENT_SETTINGS_UPDATE_FAILED";
|
|
363
437
|
} | {
|
|
364
438
|
type: "SEND_MESSAGE";
|
|
365
439
|
message: WebchatMessage;
|
|
440
|
+
file?: File;
|
|
366
441
|
} | {
|
|
367
442
|
type: "MESSAGE_RECEIVED";
|
|
368
443
|
message: WebchatMessage;
|
|
@@ -374,8 +449,15 @@ export declare function createWebchatMachine(webchatConfig: WebchatConfig): impo
|
|
|
374
449
|
} | {
|
|
375
450
|
type: "UPDATE_USER";
|
|
376
451
|
user: Partial<HubtypeUser>;
|
|
452
|
+
} | {
|
|
453
|
+
type: "TOGGLE_SOUNDS";
|
|
454
|
+
enabled: boolean;
|
|
377
455
|
} | {
|
|
378
456
|
type: "CLEAR_MESSAGES";
|
|
457
|
+
} | {
|
|
458
|
+
type: "START_OVER";
|
|
459
|
+
} | {
|
|
460
|
+
type: "RESET_SESSION";
|
|
379
461
|
} | {
|
|
380
462
|
type: "UPDATE_MESSAGE";
|
|
381
463
|
messageId: string;
|
|
@@ -383,6 +465,9 @@ export declare function createWebchatMachine(webchatConfig: WebchatConfig): impo
|
|
|
383
465
|
} | {
|
|
384
466
|
type: "DELETE_MESSAGE";
|
|
385
467
|
messageId: string;
|
|
468
|
+
} | {
|
|
469
|
+
type: "MESSAGE_INFO_RECEIVED";
|
|
470
|
+
update: MessageInfoUpdate;
|
|
386
471
|
} | {
|
|
387
472
|
type: "PERSISTENCE.SAVE_MESSAGE";
|
|
388
473
|
} | {
|
|
@@ -415,6 +500,8 @@ export declare function createWebchatMachine(webchatConfig: WebchatConfig): impo
|
|
|
415
500
|
user: HubtypeUser;
|
|
416
501
|
messages: WebchatMessage[];
|
|
417
502
|
attempt: number;
|
|
503
|
+
}, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
504
|
+
webchatService: WebchatService;
|
|
418
505
|
}, import("xstate").EventObject>> | undefined;
|
|
419
506
|
}, {
|
|
420
507
|
src: "initializeWebchatService";
|
|
@@ -461,6 +548,12 @@ export declare function createWebchatMachine(webchatConfig: WebchatConfig): impo
|
|
|
461
548
|
attempt: number;
|
|
462
549
|
}, import("xstate").EventObject>;
|
|
463
550
|
id: string | undefined;
|
|
551
|
+
} | {
|
|
552
|
+
src: "subscribeToService";
|
|
553
|
+
logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, {
|
|
554
|
+
webchatService: WebchatService;
|
|
555
|
+
}, import("xstate").EventObject>;
|
|
556
|
+
id: string | undefined;
|
|
464
557
|
}, {
|
|
465
558
|
type: "assignWebchatService";
|
|
466
559
|
params: import("xstate").NonReducibleUnknown;
|
|
@@ -483,11 +576,17 @@ export declare function createWebchatMachine(webchatConfig: WebchatConfig): impo
|
|
|
483
576
|
type: "forwardWebviewOpenToOverlay";
|
|
484
577
|
params: unknown;
|
|
485
578
|
} | {
|
|
486
|
-
type: "
|
|
487
|
-
params:
|
|
579
|
+
type: "initializeClientSettingsFromChannelData";
|
|
580
|
+
params: import("xstate").NonReducibleUnknown;
|
|
488
581
|
} | {
|
|
489
|
-
type: "
|
|
490
|
-
params:
|
|
582
|
+
type: "applyClientSettingsFromMessage";
|
|
583
|
+
params: import("xstate").NonReducibleUnknown;
|
|
584
|
+
} | {
|
|
585
|
+
type: "suppressTypingUntilClientSettingsUpdate";
|
|
586
|
+
params: import("xstate").NonReducibleUnknown;
|
|
587
|
+
} | {
|
|
588
|
+
type: "stopSuppressingTypingEvents";
|
|
589
|
+
params: import("xstate").NonReducibleUnknown;
|
|
491
590
|
} | {
|
|
492
591
|
type: "toggleWebchat";
|
|
493
592
|
params: import("xstate").NonReducibleUnknown;
|
|
@@ -500,6 +599,18 @@ export declare function createWebchatMachine(webchatConfig: WebchatConfig): impo
|
|
|
500
599
|
} | {
|
|
501
600
|
type: "addMessage";
|
|
502
601
|
params: import("xstate").NonReducibleUnknown;
|
|
602
|
+
} | {
|
|
603
|
+
type: "clearConversationFromStorage";
|
|
604
|
+
params: unknown;
|
|
605
|
+
} | {
|
|
606
|
+
type: "clearAppDataFromStorage";
|
|
607
|
+
params: unknown;
|
|
608
|
+
} | {
|
|
609
|
+
type: "disconnectService";
|
|
610
|
+
params: unknown;
|
|
611
|
+
} | {
|
|
612
|
+
type: "resetSessionContext";
|
|
613
|
+
params: import("xstate").NonReducibleUnknown;
|
|
503
614
|
} | {
|
|
504
615
|
type: "saveMessages";
|
|
505
616
|
params: unknown;
|
|
@@ -551,15 +662,24 @@ export declare function createWebchatMachine(webchatConfig: WebchatConfig): impo
|
|
|
551
662
|
} | {
|
|
552
663
|
type: "updateMessage";
|
|
553
664
|
params: import("xstate").NonReducibleUnknown;
|
|
665
|
+
} | {
|
|
666
|
+
type: "updateMessageWithInfo";
|
|
667
|
+
params: unknown;
|
|
554
668
|
} | {
|
|
555
669
|
type: "deleteMessage";
|
|
556
670
|
params: import("xstate").NonReducibleUnknown;
|
|
557
671
|
} | {
|
|
558
|
-
type: "
|
|
672
|
+
type: "setTypingOn";
|
|
673
|
+
params: import("xstate").NonReducibleUnknown;
|
|
674
|
+
} | {
|
|
675
|
+
type: "setTypingOff";
|
|
559
676
|
params: import("xstate").NonReducibleUnknown;
|
|
560
677
|
} | {
|
|
561
678
|
type: "setTypingExternal";
|
|
562
679
|
params: import("xstate").NonReducibleUnknown;
|
|
680
|
+
} | {
|
|
681
|
+
type: "setSoundsEnabled";
|
|
682
|
+
params: import("xstate").NonReducibleUnknown;
|
|
563
683
|
} | {
|
|
564
684
|
type: "setOnline";
|
|
565
685
|
params: unknown;
|
|
@@ -575,6 +695,21 @@ export declare function createWebchatMachine(webchatConfig: WebchatConfig): impo
|
|
|
575
695
|
} | {
|
|
576
696
|
type: "isTypingEvent";
|
|
577
697
|
params: unknown;
|
|
698
|
+
} | {
|
|
699
|
+
type: "shouldShowTypingEvents";
|
|
700
|
+
params: unknown;
|
|
701
|
+
} | {
|
|
702
|
+
type: "isSuppressedTypingEvent";
|
|
703
|
+
params: unknown;
|
|
704
|
+
} | {
|
|
705
|
+
type: "isTypingOnEvent";
|
|
706
|
+
params: unknown;
|
|
707
|
+
} | {
|
|
708
|
+
type: "isTypingOffEvent";
|
|
709
|
+
params: unknown;
|
|
710
|
+
} | {
|
|
711
|
+
type: "isWebchatClientSettings";
|
|
712
|
+
params: unknown;
|
|
578
713
|
}, never, "idle" | "connectionFailed" | "reconnecting" | "operational" | {
|
|
579
714
|
initializing: "initializingServices" | "loadingSession" | "loadingMessages" | "connectingToRealtime" | "spawningPersistedMessages";
|
|
580
715
|
}, string, WebchatConfig, import("xstate").NonReducibleUnknown, {
|