@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
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { WebchatMessageMetadata } from '@botonic/shared';
|
|
2
|
+
import { InputMessageTypeMap } from '@botonic/shared';
|
|
3
|
+
import { OutputMessageTypeMap } from '@botonic/shared';
|
|
4
|
+
import { BotonicAttachmentData, BotonicAudioData, BotonicButtonMessageData, BotonicCarouselData, BotonicCustomData, BotonicDocumentData, BotonicImageData, BotonicLocationData, BotonicPostbackData, BotonicTextData, BotonicTypingEventData, BotonicVideoData, MessageSentBy, MessageType } from '@botonic/shared';
|
|
5
|
+
export type WebchatMessageTypeMap = InputMessageTypeMap & OutputMessageTypeMap;
|
|
6
|
+
export type WebchatMessageType = keyof WebchatMessageTypeMap;
|
|
7
|
+
export declare class WebchatMessage<T extends WebchatMessageType = WebchatMessageType> implements WebchatMessageMetadata {
|
|
8
|
+
readonly type: T;
|
|
9
|
+
readonly data: WebchatMessageTypeMap[T];
|
|
10
|
+
readonly provider_id?: string;
|
|
11
|
+
readonly message_id?: string;
|
|
12
|
+
readonly sent_by?: MessageSentBy;
|
|
13
|
+
readonly bot_interaction_id?: string;
|
|
14
|
+
readonly feedback_enabled?: boolean;
|
|
15
|
+
readonly inference_id?: string;
|
|
16
|
+
readonly typing?: number;
|
|
17
|
+
readonly delay?: number;
|
|
18
|
+
constructor(type: T, data: WebchatMessageTypeMap[T], metadata?: WebchatMessageMetadata);
|
|
19
|
+
/**
|
|
20
|
+
* Unified message ID accessor
|
|
21
|
+
* Returns provider_id for user messages, message_id for bot messages
|
|
22
|
+
*/
|
|
23
|
+
get id(): string;
|
|
24
|
+
get isTypingOn(): boolean;
|
|
25
|
+
isText(): this is WebchatMessage<MessageType.Text> & {
|
|
26
|
+
data: BotonicTextData;
|
|
27
|
+
};
|
|
28
|
+
isPostback(): this is WebchatMessage<MessageType.Postback> & {
|
|
29
|
+
data: BotonicPostbackData;
|
|
30
|
+
};
|
|
31
|
+
isAudio(): this is WebchatMessage<MessageType.Audio> & {
|
|
32
|
+
data: BotonicAudioData;
|
|
33
|
+
};
|
|
34
|
+
isImage(): this is WebchatMessage<MessageType.Image> & {
|
|
35
|
+
data: BotonicImageData;
|
|
36
|
+
};
|
|
37
|
+
isVideo(): this is WebchatMessage<MessageType.Video> & {
|
|
38
|
+
data: BotonicVideoData;
|
|
39
|
+
};
|
|
40
|
+
isDocument(): this is WebchatMessage<MessageType.Document> & {
|
|
41
|
+
data: BotonicDocumentData;
|
|
42
|
+
};
|
|
43
|
+
isLocation(): this is WebchatMessage<MessageType.Location> & {
|
|
44
|
+
data: BotonicLocationData;
|
|
45
|
+
};
|
|
46
|
+
isTypingEvent(): this is WebchatMessage<MessageType.TypingEvent> & {
|
|
47
|
+
data: BotonicTypingEventData;
|
|
48
|
+
};
|
|
49
|
+
isButtonMessage(): this is WebchatMessage<MessageType.ButtonMessage> & {
|
|
50
|
+
data: BotonicButtonMessageData;
|
|
51
|
+
};
|
|
52
|
+
isCarousel(): this is WebchatMessage<MessageType.Carousel> & {
|
|
53
|
+
data: BotonicCarouselData;
|
|
54
|
+
};
|
|
55
|
+
isCustom(): this is WebchatMessage<MessageType.Custom> & {
|
|
56
|
+
data: BotonicCustomData;
|
|
57
|
+
};
|
|
58
|
+
isMedia(): this is WebchatMessage<MessageType.Audio | MessageType.Image | MessageType.Video | MessageType.Document> & {
|
|
59
|
+
data: BotonicAttachmentData;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { v7 as uuidv7 } from 'uuid';
|
|
2
|
+
import { MessageSentBy, MessageType, TypingEventName, } from '@botonic/shared';
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// WEBCHAT MESSAGE (unified API for both input and output messages)
|
|
5
|
+
// ============================================================================
|
|
6
|
+
export class WebchatMessage {
|
|
7
|
+
constructor(type, data, metadata = {}) {
|
|
8
|
+
this.type = type;
|
|
9
|
+
this.data = data;
|
|
10
|
+
this.provider_id =
|
|
11
|
+
metadata.provider_id ||
|
|
12
|
+
(metadata.sent_by === MessageSentBy.User ? uuidv7() : undefined);
|
|
13
|
+
this.message_id = metadata.message_id;
|
|
14
|
+
this.sent_by = metadata.sent_by;
|
|
15
|
+
this.bot_interaction_id = metadata.bot_interaction_id;
|
|
16
|
+
this.feedback_enabled = metadata.feedback_enabled;
|
|
17
|
+
this.inference_id = metadata.inference_id;
|
|
18
|
+
this.typing = metadata.typing;
|
|
19
|
+
this.delay = metadata.delay;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Unified message ID accessor
|
|
23
|
+
* Returns provider_id for user messages, message_id for bot messages
|
|
24
|
+
*/
|
|
25
|
+
get id() {
|
|
26
|
+
var _a;
|
|
27
|
+
return (_a = this.provider_id) !== null && _a !== void 0 ? _a : this.message_id;
|
|
28
|
+
}
|
|
29
|
+
get isTypingOn() {
|
|
30
|
+
if (this.type !== MessageType.TypingEvent) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
const eventName = this.data.event_name;
|
|
34
|
+
return eventName === TypingEventName.TypingOn;
|
|
35
|
+
}
|
|
36
|
+
// Type guard methods
|
|
37
|
+
isText() {
|
|
38
|
+
return this.type === MessageType.Text;
|
|
39
|
+
}
|
|
40
|
+
isPostback() {
|
|
41
|
+
return this.type === MessageType.Postback;
|
|
42
|
+
}
|
|
43
|
+
isAudio() {
|
|
44
|
+
return this.type === MessageType.Audio;
|
|
45
|
+
}
|
|
46
|
+
isImage() {
|
|
47
|
+
return this.type === MessageType.Image;
|
|
48
|
+
}
|
|
49
|
+
isVideo() {
|
|
50
|
+
return this.type === MessageType.Video;
|
|
51
|
+
}
|
|
52
|
+
isDocument() {
|
|
53
|
+
return this.type === MessageType.Document;
|
|
54
|
+
}
|
|
55
|
+
isLocation() {
|
|
56
|
+
return this.type === MessageType.Location;
|
|
57
|
+
}
|
|
58
|
+
isTypingEvent() {
|
|
59
|
+
return this.type === MessageType.TypingEvent;
|
|
60
|
+
}
|
|
61
|
+
isButtonMessage() {
|
|
62
|
+
return this.type === MessageType.ButtonMessage;
|
|
63
|
+
}
|
|
64
|
+
isCarousel() {
|
|
65
|
+
return this.type === MessageType.Carousel;
|
|
66
|
+
}
|
|
67
|
+
isCustom() {
|
|
68
|
+
return this.type === MessageType.Custom;
|
|
69
|
+
}
|
|
70
|
+
isMedia() {
|
|
71
|
+
return (this.isAudio() || this.isImage() || this.isVideo() || this.isDocument());
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=webchat-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webchat-message.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/messages/webchat-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAKnC,OAAO,EAaL,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAWxB,+EAA+E;AAC/E,mEAAmE;AACnE,+EAA+E;AAE/E,MAAM,OAAO,cAAc;IAYzB,YACkB,IAAO,EACP,IAA8B,EAC9C,WAAmC,EAAE;QAFrB,SAAI,GAAJ,IAAI,CAAG;QACP,SAAI,GAAJ,IAAI,CAA0B;QAG9C,IAAI,CAAC,WAAW;YACd,QAAQ,CAAC,WAAW;gBACpB,CAAC,QAAQ,CAAC,OAAO,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAClE,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC/B,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAA;QACrD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAA;QACjD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC7B,CAAC;IAED;;;OAGG;IACH,IAAI,EAAE;;QACJ,OAAO,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,UAAW,CAAA;IAC7C,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,SAAS,GAAI,IAAI,CAAC,IAA+B,CAAC,UAAU,CAAA;QAClE,OAAO,SAAS,KAAK,eAAe,CAAC,QAAQ,CAAA;IAC/C,CAAC;IAED,qBAAqB;IACrB,MAAM;QAGJ,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAA;IACvC,CAAC;IAED,UAAU;QAGR,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAA;IAC3C,CAAC;IAED,OAAO;QAGL,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,CAAA;IACxC,CAAC;IAED,OAAO;QAGL,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,CAAA;IACxC,CAAC;IAED,OAAO;QAGL,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,CAAA;IACxC,CAAC;IAED,UAAU;QAGR,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAA;IAC3C,CAAC;IAED,UAAU;QAGR,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAA;IAC3C,CAAC;IAED,aAAa;QAGX,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,WAAW,CAAA;IAC9C,CAAC;IAED,eAAe;QAGb,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,aAAa,CAAA;IAChD,CAAC;IAED,UAAU;QAGR,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAA;IAC3C,CAAC;IAED,QAAQ;QAGN,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAAA;IACzC,CAAC;IAED,OAAO;QAML,OAAO,CACL,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CACxE,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { HubtypeUser
|
|
1
|
+
import { HubtypeUser } from '@botonic/shared';
|
|
2
|
+
import { WebchatMessage } from '../messages';
|
|
2
3
|
import { ConnectionStatus } from '../domain';
|
|
3
4
|
import { PusherAuthParsedChannelData } from '../infra/clients/types';
|
|
4
5
|
export interface WebchatServiceConfig {
|
|
@@ -12,6 +13,13 @@ export interface WebchatServiceConfig {
|
|
|
12
13
|
export interface MessageReceivedCallback {
|
|
13
14
|
(message: WebchatMessage): void;
|
|
14
15
|
}
|
|
16
|
+
export interface MessageInfoUpdate {
|
|
17
|
+
id: string;
|
|
18
|
+
data: Record<string, string>;
|
|
19
|
+
}
|
|
20
|
+
export interface MessageInfoUpdatedCallback {
|
|
21
|
+
(update: MessageInfoUpdate): void;
|
|
22
|
+
}
|
|
15
23
|
export interface ConnectionStatusCallback {
|
|
16
24
|
(status: ConnectionStatus.Connecting | ConnectionStatus.Connected | ConnectionStatus.Disconnected | ConnectionStatus.Failed | ConnectionStatus.Unavailable): void;
|
|
17
25
|
}
|
|
@@ -26,7 +34,10 @@ export declare class WebchatService {
|
|
|
26
34
|
private currentUser?;
|
|
27
35
|
private channelName?;
|
|
28
36
|
private messageCallbacks;
|
|
37
|
+
private messageInfoCallbacks;
|
|
29
38
|
private statusCallbacks;
|
|
39
|
+
/** Messages received before any callback was registered; drained on first subscription. */
|
|
40
|
+
private pendingMessages;
|
|
30
41
|
private channelData?;
|
|
31
42
|
constructor(config: WebchatServiceConfig);
|
|
32
43
|
/**
|
|
@@ -48,7 +59,7 @@ export declare class WebchatService {
|
|
|
48
59
|
/**
|
|
49
60
|
* Send a postback via HTTP API
|
|
50
61
|
*/
|
|
51
|
-
sendPostback(payload: string, user: HubtypeUser
|
|
62
|
+
sendPostback(payload: string, user: HubtypeUser): Promise<any>;
|
|
52
63
|
/**
|
|
53
64
|
* Ensure realtime connection is established
|
|
54
65
|
*/
|
|
@@ -65,6 +76,10 @@ export declare class WebchatService {
|
|
|
65
76
|
* Subscribe to message events
|
|
66
77
|
*/
|
|
67
78
|
onMessageReceived(callback: MessageReceivedCallback): () => void;
|
|
79
|
+
/**
|
|
80
|
+
* Subscribe to message info update events (e.g. media URL resolved after upload)
|
|
81
|
+
*/
|
|
82
|
+
onMessageInfoUpdated(callback: MessageInfoUpdatedCallback): () => void;
|
|
68
83
|
/**
|
|
69
84
|
* Subscribe to connection status changes
|
|
70
85
|
*/
|
|
@@ -118,6 +133,10 @@ export declare class WebchatService {
|
|
|
118
133
|
* Notify all message callbacks
|
|
119
134
|
*/
|
|
120
135
|
private notifyMessageReceived;
|
|
136
|
+
/**
|
|
137
|
+
* Notify all message info update callbacks
|
|
138
|
+
*/
|
|
139
|
+
private notifyMessageInfoUpdated;
|
|
121
140
|
/**
|
|
122
141
|
* Notify all status callbacks
|
|
123
142
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import {
|
|
2
|
+
import { WebchatClientSettings } from '@botonic/shared';
|
|
3
|
+
import { WebchatMessageFactory, } from '../messages';
|
|
3
4
|
import { ConnectionStatus } from '../domain';
|
|
4
5
|
import { HubtypeApiClient } from '../infra/clients/hubtype-api';
|
|
5
6
|
import { RealtimeClient, } from '../infra/clients/realtime';
|
|
@@ -21,7 +22,10 @@ const WEBCHAT_CONSTANTS = {
|
|
|
21
22
|
export class WebchatService {
|
|
22
23
|
constructor(config) {
|
|
23
24
|
this.messageCallbacks = [];
|
|
25
|
+
this.messageInfoCallbacks = [];
|
|
24
26
|
this.statusCallbacks = [];
|
|
27
|
+
/** Messages received before any callback was registered; drained on first subscription. */
|
|
28
|
+
this.pendingMessages = [];
|
|
25
29
|
this.config = config;
|
|
26
30
|
try {
|
|
27
31
|
this.apiClient = new HubtypeApiClient({
|
|
@@ -93,10 +97,19 @@ export class WebchatService {
|
|
|
93
97
|
reconnectionDelay: 1000,
|
|
94
98
|
enableHeartbeat: true,
|
|
95
99
|
onAuthData: (pusherAuthResponse) => {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
+
try {
|
|
101
|
+
const parsedChannelData = JSON.parse(pusherAuthResponse.channel_data);
|
|
102
|
+
this.channelData = {
|
|
103
|
+
botId: parsedChannelData.bot_id,
|
|
104
|
+
chatId: parsedChannelData.chat_id,
|
|
105
|
+
webchatClientSettings: parsedChannelData.client_settings
|
|
106
|
+
? new WebchatClientSettings(parsedChannelData.client_settings)
|
|
107
|
+
: undefined,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.warn('Invalid pusher auth channel_data payload', error);
|
|
112
|
+
}
|
|
100
113
|
},
|
|
101
114
|
};
|
|
102
115
|
this.realtimeClient.initialize(realtimeConfig, {
|
|
@@ -146,12 +159,12 @@ export class WebchatService {
|
|
|
146
159
|
/**
|
|
147
160
|
* Send a postback via HTTP API
|
|
148
161
|
*/
|
|
149
|
-
sendPostback(payload, user
|
|
162
|
+
sendPostback(payload, user) {
|
|
150
163
|
return __awaiter(this, void 0, void 0, function* () {
|
|
151
164
|
if (!this.apiClient) {
|
|
152
165
|
throw new Error('API client not initialized');
|
|
153
166
|
}
|
|
154
|
-
return yield this.apiClient.postPostback(payload, user
|
|
167
|
+
return yield this.apiClient.postPostback(payload, user);
|
|
155
168
|
});
|
|
156
169
|
}
|
|
157
170
|
/**
|
|
@@ -178,8 +191,8 @@ export class WebchatService {
|
|
|
178
191
|
const webchatMessage = this.handleRealtimeEvent(message);
|
|
179
192
|
this.notifyMessageReceived(webchatMessage);
|
|
180
193
|
});
|
|
181
|
-
this.realtimeClient.bindChannelEvent(this.channelName, WEBCHAT_CONSTANTS.PUSHER.EVENTS.UPDATE_MESSAGE_INFO, (
|
|
182
|
-
|
|
194
|
+
this.realtimeClient.bindChannelEvent(this.channelName, WEBCHAT_CONSTANTS.PUSHER.EVENTS.UPDATE_MESSAGE_INFO, (update) => {
|
|
195
|
+
this.notifyMessageInfoUpdated(update);
|
|
183
196
|
});
|
|
184
197
|
this.notifyStatusChange(ConnectionStatus.Connected);
|
|
185
198
|
}
|
|
@@ -209,7 +222,17 @@ export class WebchatService {
|
|
|
209
222
|
*/
|
|
210
223
|
onMessageReceived(callback) {
|
|
211
224
|
this.messageCallbacks.push(callback);
|
|
212
|
-
|
|
225
|
+
if (this.pendingMessages.length > 0) {
|
|
226
|
+
const buffered = this.pendingMessages.splice(0);
|
|
227
|
+
buffered.forEach(msg => {
|
|
228
|
+
try {
|
|
229
|
+
callback(msg);
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
console.error('Error in message callback (draining buffer):', error);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
}
|
|
213
236
|
return () => {
|
|
214
237
|
const index = this.messageCallbacks.indexOf(callback);
|
|
215
238
|
if (index > -1) {
|
|
@@ -217,6 +240,18 @@ export class WebchatService {
|
|
|
217
240
|
}
|
|
218
241
|
};
|
|
219
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Subscribe to message info update events (e.g. media URL resolved after upload)
|
|
245
|
+
*/
|
|
246
|
+
onMessageInfoUpdated(callback) {
|
|
247
|
+
this.messageInfoCallbacks.push(callback);
|
|
248
|
+
return () => {
|
|
249
|
+
const index = this.messageInfoCallbacks.indexOf(callback);
|
|
250
|
+
if (index > -1) {
|
|
251
|
+
this.messageInfoCallbacks.splice(index, 1);
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
}
|
|
220
255
|
/**
|
|
221
256
|
* Subscribe to connection status changes
|
|
222
257
|
*/
|
|
@@ -239,7 +274,9 @@ export class WebchatService {
|
|
|
239
274
|
}
|
|
240
275
|
this.realtimeClient.disconnect();
|
|
241
276
|
this.messageCallbacks = [];
|
|
277
|
+
this.messageInfoCallbacks = [];
|
|
242
278
|
this.statusCallbacks = [];
|
|
279
|
+
this.pendingMessages = [];
|
|
243
280
|
this.notifyStatusChange(ConnectionStatus.Disconnected);
|
|
244
281
|
}
|
|
245
282
|
/**
|
|
@@ -313,6 +350,10 @@ export class WebchatService {
|
|
|
313
350
|
* Notify all message callbacks
|
|
314
351
|
*/
|
|
315
352
|
notifyMessageReceived(message) {
|
|
353
|
+
if (this.messageCallbacks.length === 0) {
|
|
354
|
+
this.pendingMessages.push(message);
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
316
357
|
this.messageCallbacks.forEach(callback => {
|
|
317
358
|
try {
|
|
318
359
|
callback(message);
|
|
@@ -322,6 +363,19 @@ export class WebchatService {
|
|
|
322
363
|
}
|
|
323
364
|
});
|
|
324
365
|
}
|
|
366
|
+
/**
|
|
367
|
+
* Notify all message info update callbacks
|
|
368
|
+
*/
|
|
369
|
+
notifyMessageInfoUpdated(update) {
|
|
370
|
+
this.messageInfoCallbacks.forEach(callback => {
|
|
371
|
+
try {
|
|
372
|
+
callback(update);
|
|
373
|
+
}
|
|
374
|
+
catch (error) {
|
|
375
|
+
console.error('Error in message info callback:', error);
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
}
|
|
325
379
|
/**
|
|
326
380
|
* Notify all status callbacks
|
|
327
381
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webchat-service.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/services/webchat-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webchat-service.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/services/webchat-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { HubtypeUserLocale } from '@botonic/shared';
|
|
2
|
-
export declare function detectUserLocale(providedLocale?: HubtypeUserLocale): HubtypeUserLocale;
|
|
2
|
+
export declare function detectUserLocale(providedLocale?: Partial<HubtypeUserLocale>): HubtypeUserLocale;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { timeZoneToCountryCode } from './timezone-to-country';
|
|
2
2
|
export function detectUserLocale(providedLocale) {
|
|
3
|
-
var _a, _b, _c;
|
|
3
|
+
var _a, _b, _c, _d;
|
|
4
4
|
return {
|
|
5
5
|
locale: (_a = providedLocale === null || providedLocale === void 0 ? void 0 : providedLocale.locale) !== null && _a !== void 0 ? _a : detectLocale(),
|
|
6
|
-
country: (_b = providedLocale === null || providedLocale === void 0 ? void 0 : providedLocale.country) !== null && _b !== void 0 ? _b : detectCountry(),
|
|
7
|
-
system_locale: (
|
|
6
|
+
country: (_c = (_b = providedLocale === null || providedLocale === void 0 ? void 0 : providedLocale.country) !== null && _b !== void 0 ? _b : detectCountry()) !== null && _c !== void 0 ? _c : 'GB',
|
|
7
|
+
system_locale: (_d = providedLocale === null || providedLocale === void 0 ? void 0 : providedLocale.system_locale) !== null && _d !== void 0 ? _d : detectSystemLocale(providedLocale === null || providedLocale === void 0 ? void 0 : providedLocale.locale),
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
10
|
function detectLocale() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale-detection.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/utils/locale-detection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,UAAU,gBAAgB,CAC9B,
|
|
1
|
+
{"version":3,"file":"locale-detection.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/utils/locale-detection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,UAAU,gBAAgB,CAC9B,cAA2C;;IAE3C,OAAO;QACL,MAAM,EAAE,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,mCAAI,YAAY,EAAE;QAChD,OAAO,EAAE,MAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,mCAAI,aAAa,EAAE,mCAAI,IAAI;QAC3D,aAAa,EACX,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,mCAC7B,kBAAkB,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,CAAC;KAC7C,CAAA;AACH,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,SAAS,CAAC,QAAQ,CAAA;AAC3B,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAA;IACjE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAe;IACzC,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,CAAC,QAAQ,CAAA;AACrC,CAAC"}
|
|
@@ -1,17 +1,5 @@
|
|
|
1
1
|
import { ConfirmCloseOption } from '../domain';
|
|
2
2
|
import { WEBVIEW_MESSAGE_TYPES } from './constants';
|
|
3
|
-
export interface WebviewBotSession {
|
|
4
|
-
_hubtype_api?: string;
|
|
5
|
-
bot: {
|
|
6
|
-
id: string;
|
|
7
|
-
};
|
|
8
|
-
user: {
|
|
9
|
-
id: string;
|
|
10
|
-
provider?: string;
|
|
11
|
-
imp_id?: string;
|
|
12
|
-
unformatted_phone_number?: string;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
3
|
export type WebviewPostMessage = {
|
|
16
4
|
type: typeof WEBVIEW_MESSAGE_TYPES.SET_TITLE;
|
|
17
5
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/webview/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/webview/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAanD,MAAM,UAAU,oBAAoB,CAClC,IAAa;IAEb,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,GAAG,GAAG,IAA0B,CAAA;IAEtC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;IACvD,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAW,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,OAAO,IAAI,KAAK,qBAAqB,CAAC,KAAK,CAAA;AAC7C,CAAC"}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Minimal context shape for posting a webview payload to Hubtype.
|
|
3
|
+
* Satisfied by {@link BotonicContextWebviews} from `@botonic/webviews` (no webchat-core → webviews dependency).
|
|
4
|
+
*/
|
|
5
|
+
export interface WebviewPostbackContext {
|
|
6
|
+
readonly hubtypeApiUrl: string;
|
|
7
|
+
readonly bot: {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
};
|
|
10
|
+
readonly session: {
|
|
11
|
+
readonly user: {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}
|
|
2
16
|
/**
|
|
3
17
|
* Send a postback payload to the bot
|
|
4
18
|
*
|
|
5
|
-
* @param
|
|
19
|
+
* @param botonicContextWebviews - Bot session containing API URL and user/bot IDs
|
|
6
20
|
* @param payload - Payload to send to the bot
|
|
7
21
|
* @returns Promise that resolves when the request completes
|
|
8
22
|
*/
|
|
9
|
-
export declare function sendPostback(
|
|
23
|
+
export declare function sendPostback(botonicContextWebviews: WebviewPostbackContext, payload: unknown): Promise<void>;
|
package/src/lib/webview/utils.js
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
/**
|
|
3
|
-
* Default Hubtype API base URL
|
|
4
|
-
*/
|
|
5
|
-
const DEFAULT_HUBTYPE_API = 'https://api.hubtype.com';
|
|
6
2
|
/**
|
|
7
3
|
* Send a postback payload to the bot
|
|
8
4
|
*
|
|
9
|
-
* @param
|
|
5
|
+
* @param botonicContextWebviews - Bot session containing API URL and user/bot IDs
|
|
10
6
|
* @param payload - Payload to send to the bot
|
|
11
7
|
* @returns Promise that resolves when the request completes
|
|
12
8
|
*/
|
|
13
|
-
export function sendPostback(
|
|
9
|
+
export function sendPostback(botonicContextWebviews, payload) {
|
|
14
10
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const
|
|
16
|
-
const url = `${baseUrl}/v1/bots/${session.bot.id}/send_postback/`;
|
|
11
|
+
const url = `${botonicContextWebviews.hubtypeApiUrl}/v1/bots/${botonicContextWebviews.bot.id}/send_postback/`;
|
|
17
12
|
const data = {
|
|
18
13
|
payload,
|
|
19
|
-
chat_id: session.user.id,
|
|
14
|
+
chat_id: botonicContextWebviews.session.user.id,
|
|
20
15
|
};
|
|
21
16
|
const response = yield fetch(url, {
|
|
22
17
|
method: 'POST',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/webview/utils.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/webchat-core/src/lib/webview/utils.ts"],"names":[],"mappings":";AAUA;;;;;;GAMG;AACH,MAAM,UAAgB,YAAY,CAChC,sBAA8C,EAC9C,OAAgB;;QAEhB,MAAM,GAAG,GAAG,GAAG,sBAAsB,CAAC,aAAa,YAAY,sBAAsB,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAAA;QAC7G,MAAM,IAAI,GAAG;YACX,OAAO;YACP,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;SAChD,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;CAAA"}
|