@botonic/shared 2.27.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 +4 -0
- package/README.md +9 -0
- package/package.json +1 -2
- package/src/lib/domain/index.d.ts +1 -3
- package/src/lib/domain/index.js +1 -6
- package/src/lib/domain/index.js.map +1 -1
- package/src/lib/index.d.ts +2 -2
- package/src/lib/index.js +5 -5
- package/src/lib/index.js.map +1 -1
- package/src/lib/services/handoff.d.ts +16 -2
- package/src/lib/services/handoff.js.map +1 -1
- package/src/lib/services/index.d.ts +0 -2
- package/src/lib/services/index.js +0 -2
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/webchat-api.d.ts +5 -2
- package/src/lib/domain/server/bot-server-message.d.ts +0 -68
- package/src/lib/domain/server/bot-server-message.js +0 -111
- package/src/lib/domain/server/bot-server-message.js.map +0 -1
- package/src/lib/domain/server/botonic-context/botonic-action.d.ts +0 -10
- package/src/lib/domain/server/botonic-context/botonic-action.js +0 -9
- package/src/lib/domain/server/botonic-context/botonic-action.js.map +0 -1
- package/src/lib/domain/server/botonic-context/botonic-context-input.d.ts +0 -96
- package/src/lib/domain/server/botonic-context/botonic-context-input.js +0 -124
- package/src/lib/domain/server/botonic-context/botonic-context-input.js.map +0 -1
- package/src/lib/domain/server/botonic-context/botonic-context-session.d.ts +0 -159
- package/src/lib/domain/server/botonic-context/botonic-context-session.js +0 -297
- package/src/lib/domain/server/botonic-context/botonic-context-session.js.map +0 -1
- package/src/lib/domain/server/botonic-context/botonic-context-settings.d.ts +0 -16
- package/src/lib/domain/server/botonic-context/botonic-context-settings.js +0 -48
- package/src/lib/domain/server/botonic-context/botonic-context-settings.js.map +0 -1
- package/src/lib/domain/server/botonic-context/botonic-context.d.ts +0 -59
- package/src/lib/domain/server/botonic-context/botonic-context.js +0 -42
- package/src/lib/domain/server/botonic-context/botonic-context.js.map +0 -1
- package/src/lib/domain/server/botonic-context/botonic-session-patch-slice.d.ts +0 -30
- package/src/lib/domain/server/botonic-context/botonic-session-patch-slice.js +0 -80
- package/src/lib/domain/server/botonic-context/botonic-session-patch-slice.js.map +0 -1
- package/src/lib/domain/server/botonic-context/factory.d.ts +0 -29
- package/src/lib/domain/server/botonic-context/factory.js +0 -31
- package/src/lib/domain/server/botonic-context/factory.js.map +0 -1
- package/src/lib/domain/server/botonic-context/index.d.ts +0 -9
- package/src/lib/domain/server/botonic-context/index.js +0 -10
- package/src/lib/domain/server/botonic-context/index.js.map +0 -1
- package/src/lib/domain/server/botonic-context/send-messages-utils.d.ts +0 -3
- package/src/lib/domain/server/botonic-context/send-messages-utils.js +0 -33
- package/src/lib/domain/server/botonic-context/send-messages-utils.js.map +0 -1
- package/src/lib/domain/server/botonic-context/types.d.ts +0 -24
- package/src/lib/domain/server/botonic-context/types.js +0 -6
- package/src/lib/domain/server/botonic-context/types.js.map +0 -1
- package/src/lib/domain/server/factory.d.ts +0 -166
- package/src/lib/domain/server/factory.js +0 -189
- package/src/lib/domain/server/factory.js.map +0 -1
- package/src/lib/domain/server/index.d.ts +0 -3
- package/src/lib/domain/server/index.js +0 -4
- package/src/lib/domain/server/index.js.map +0 -1
- package/src/lib/domain/webchat/factory.d.ts +0 -88
- package/src/lib/domain/webchat/factory.js +0 -82
- package/src/lib/domain/webchat/factory.js.map +0 -1
- package/src/lib/domain/webchat/index.d.ts +0 -4
- package/src/lib/domain/webchat/index.js +0 -5
- package/src/lib/domain/webchat/index.js.map +0 -1
- package/src/lib/domain/webchat/realtime/factory.d.ts +0 -52
- package/src/lib/domain/webchat/realtime/factory.js +0 -69
- package/src/lib/domain/webchat/realtime/factory.js.map +0 -1
- package/src/lib/domain/webchat/realtime/index.d.ts +0 -2
- package/src/lib/domain/webchat/realtime/index.js +0 -3
- package/src/lib/domain/webchat/realtime/index.js.map +0 -1
- package/src/lib/domain/webchat/realtime/realtime-response-message.d.ts +0 -50
- package/src/lib/domain/webchat/realtime/realtime-response-message.js +0 -73
- package/src/lib/domain/webchat/realtime/realtime-response-message.js.map +0 -1
- package/src/lib/domain/webchat/user/factory.d.ts +0 -52
- package/src/lib/domain/webchat/user/factory.js +0 -59
- package/src/lib/domain/webchat/user/factory.js.map +0 -1
- package/src/lib/domain/webchat/user/index.d.ts +0 -2
- package/src/lib/domain/webchat/user/index.js +0 -3
- package/src/lib/domain/webchat/user/index.js.map +0 -1
- package/src/lib/domain/webchat/user/user-input-message.d.ts +0 -34
- package/src/lib/domain/webchat/user/user-input-message.js +0 -59
- package/src/lib/domain/webchat/user/user-input-message.js.map +0 -1
- package/src/lib/domain/webchat/webchat-message.d.ts +0 -58
- package/src/lib/domain/webchat/webchat-message.js +0 -74
- package/src/lib/domain/webchat/webchat-message.js.map +0 -1
- package/src/lib/domain/webviews/botonic-context-webviews.d.ts +0 -71
- package/src/lib/domain/webviews/botonic-context-webviews.js +0 -80
- package/src/lib/domain/webviews/botonic-context-webviews.js.map +0 -1
- package/src/lib/domain/webviews/factory.d.ts +0 -17
- package/src/lib/domain/webviews/factory.js +0 -21
- package/src/lib/domain/webviews/factory.js.map +0 -1
- package/src/lib/domain/webviews/index.d.ts +0 -2
- package/src/lib/domain/webviews/index.js +0 -3
- package/src/lib/domain/webviews/index.js.map +0 -1
- package/src/lib/services/hubtype-api-service.d.ts +0 -12
- package/src/lib/services/hubtype-api-service.js +0 -67
- package/src/lib/services/hubtype-api-service.js.map +0 -1
- package/src/lib/services/hubtype-external-api-client.d.ts +0 -21
- package/src/lib/services/hubtype-external-api-client.js +0 -111
- package/src/lib/services/hubtype-external-api-client.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/webchat/user/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { BotonicAudioData, BotonicContactData, BotonicDocumentData, BotonicImageData, BotonicLocationData, BotonicPostbackData, BotonicTextData, BotonicTypingEventData, BotonicVideoData, InputMessageType, InputMessageTypeMap, MessageType, UserMessageMetadata } from '../../botonic';
|
|
2
|
-
import { BotonicInput } from '../../botonic/inputs';
|
|
3
|
-
export declare abstract class UserInput<T extends InputMessageType = InputMessageType> extends BotonicInput<T> implements UserMessageMetadata {
|
|
4
|
-
readonly provider_id: string;
|
|
5
|
-
constructor(type: T, data: InputMessageTypeMap[T], metadata?: UserMessageMetadata);
|
|
6
|
-
}
|
|
7
|
-
export declare class UserInputText extends UserInput<MessageType.Text> {
|
|
8
|
-
constructor(data: BotonicTextData, metadata?: UserMessageMetadata);
|
|
9
|
-
}
|
|
10
|
-
export declare class UserInputPostback extends UserInput<MessageType.Postback> {
|
|
11
|
-
constructor(data: BotonicPostbackData, metadata?: UserMessageMetadata);
|
|
12
|
-
}
|
|
13
|
-
export declare class UserInputAudio extends UserInput<MessageType.Audio> {
|
|
14
|
-
constructor(data: BotonicAudioData, metadata?: UserMessageMetadata);
|
|
15
|
-
}
|
|
16
|
-
export declare class UserInputImage extends UserInput<MessageType.Image> {
|
|
17
|
-
constructor(data: BotonicImageData, metadata?: UserMessageMetadata);
|
|
18
|
-
}
|
|
19
|
-
export declare class UserInputVideo extends UserInput<MessageType.Video> {
|
|
20
|
-
constructor(data: BotonicVideoData, metadata?: UserMessageMetadata);
|
|
21
|
-
}
|
|
22
|
-
export declare class UserInputDocument extends UserInput<MessageType.Document> {
|
|
23
|
-
constructor(data: BotonicDocumentData, metadata?: UserMessageMetadata);
|
|
24
|
-
}
|
|
25
|
-
export declare class UserInputLocation extends UserInput<MessageType.Location> {
|
|
26
|
-
constructor(data: BotonicLocationData, metadata?: UserMessageMetadata);
|
|
27
|
-
}
|
|
28
|
-
export declare class UserInputContact extends UserInput<MessageType.Contact> {
|
|
29
|
-
constructor(data: BotonicContactData, metadata?: UserMessageMetadata);
|
|
30
|
-
}
|
|
31
|
-
export declare class UserInputTypingEvent extends UserInput<MessageType.TypingEvent> {
|
|
32
|
-
constructor(data: BotonicTypingEventData, metadata?: UserMessageMetadata);
|
|
33
|
-
}
|
|
34
|
-
export type UserInputMessage = UserInputText | UserInputPostback | UserInputAudio | UserInputImage | UserInputVideo | UserInputDocument | UserInputLocation | UserInputTypingEvent | UserInputContact;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { v7 as uuidv7 } from 'uuid';
|
|
2
|
-
import { MessageType, } from '../../botonic';
|
|
3
|
-
import { BotonicInput } from '../../botonic/inputs';
|
|
4
|
-
// ============================================================================
|
|
5
|
-
// USER INPUT (extends Botonic Input + adds provider_id)
|
|
6
|
-
// ============================================================================
|
|
7
|
-
export class UserInput extends BotonicInput {
|
|
8
|
-
constructor(type, data, metadata = {}) {
|
|
9
|
-
var _a;
|
|
10
|
-
super(type, data);
|
|
11
|
-
this.provider_id = (_a = metadata.provider_id) !== null && _a !== void 0 ? _a : uuidv7();
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export class UserInputText extends UserInput {
|
|
15
|
-
constructor(data, metadata = {}) {
|
|
16
|
-
super(MessageType.Text, data, metadata);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export class UserInputPostback extends UserInput {
|
|
20
|
-
constructor(data, metadata = {}) {
|
|
21
|
-
super(MessageType.Postback, data, metadata);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export class UserInputAudio extends UserInput {
|
|
25
|
-
constructor(data, metadata = {}) {
|
|
26
|
-
super(MessageType.Audio, data, metadata);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export class UserInputImage extends UserInput {
|
|
30
|
-
constructor(data, metadata = {}) {
|
|
31
|
-
super(MessageType.Image, data, metadata);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
export class UserInputVideo extends UserInput {
|
|
35
|
-
constructor(data, metadata = {}) {
|
|
36
|
-
super(MessageType.Video, data, metadata);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
export class UserInputDocument extends UserInput {
|
|
40
|
-
constructor(data, metadata = {}) {
|
|
41
|
-
super(MessageType.Document, data, metadata);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
export class UserInputLocation extends UserInput {
|
|
45
|
-
constructor(data, metadata = {}) {
|
|
46
|
-
super(MessageType.Location, data, metadata);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
export class UserInputContact extends UserInput {
|
|
50
|
-
constructor(data, metadata = {}) {
|
|
51
|
-
super(MessageType.Contact, data, metadata);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
export class UserInputTypingEvent extends UserInput {
|
|
55
|
-
constructor(data, metadata = {}) {
|
|
56
|
-
super(MessageType.TypingEvent, data, metadata);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=user-input-message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-input-message.js","sourceRoot":"","sources":["../../../../../../../../../libs/botonic/shared/src/lib/domain/webchat/user/user-input-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAYL,WAAW,GAEZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,+EAA+E;AAC/E,wDAAwD;AACxD,+EAA+E;AAE/E,MAAM,OAAgB,SACpB,SAAQ,YAAe;IAKvB,YACE,IAAO,EACP,IAA4B,EAC5B,WAAgC,EAAE;;QAElC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACjB,IAAI,CAAC,WAAW,GAAG,MAAA,QAAQ,CAAC,WAAW,mCAAI,MAAM,EAAE,CAAA;IACrD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAA2B;IAC5D,YAAY,IAAqB,EAAE,WAAgC,EAAE;QACnE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACzC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAA+B;IACpE,YAAY,IAAyB,EAAE,WAAgC,EAAE;QACvE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,SAA4B;IAC9D,YAAY,IAAsB,EAAE,WAAgC,EAAE;QACpE,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,SAA4B;IAC9D,YAAY,IAAsB,EAAE,WAAgC,EAAE;QACpE,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,SAA4B;IAC9D,YAAY,IAAsB,EAAE,WAAgC,EAAE;QACpE,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAA+B;IACpE,YAAY,IAAyB,EAAE,WAAgC,EAAE;QACvE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAA+B;IACpE,YAAY,IAAyB,EAAE,WAAgC,EAAE;QACvE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,SAA8B;IAClE,YAAY,IAAwB,EAAE,WAAgC,EAAE;QACtE,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,SAAkC;IAC1E,YACE,IAA4B,EAC5B,WAAgC,EAAE;QAElC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;CACF"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { BotonicAttachmentData, BotonicAudioData, BotonicButtonMessageData, BotonicCarouselData, BotonicCustomData, BotonicDocumentData, BotonicImageData, BotonicLocationData, BotonicPostbackData, BotonicTextData, BotonicTypingEventData, BotonicVideoData, InputMessageTypeMap, MessageSentBy, MessageType, OutputMessageTypeMap, WebchatMessageMetadata } from '../botonic';
|
|
2
|
-
export type WebchatMessageTypeMap = InputMessageTypeMap & OutputMessageTypeMap;
|
|
3
|
-
export type WebchatMessageType = keyof WebchatMessageTypeMap;
|
|
4
|
-
export declare class WebchatMessage<T extends WebchatMessageType = WebchatMessageType> implements WebchatMessageMetadata {
|
|
5
|
-
readonly type: T;
|
|
6
|
-
readonly data: WebchatMessageTypeMap[T];
|
|
7
|
-
readonly provider_id?: string;
|
|
8
|
-
readonly message_id?: string;
|
|
9
|
-
readonly sent_by?: MessageSentBy;
|
|
10
|
-
readonly bot_interaction_id?: string;
|
|
11
|
-
readonly feedback_enabled?: boolean;
|
|
12
|
-
readonly inference_id?: string;
|
|
13
|
-
readonly typing?: number;
|
|
14
|
-
readonly delay?: number;
|
|
15
|
-
constructor(type: T, data: WebchatMessageTypeMap[T], metadata?: WebchatMessageMetadata);
|
|
16
|
-
/**
|
|
17
|
-
* Unified message ID accessor
|
|
18
|
-
* Returns provider_id for user messages, message_id for bot messages
|
|
19
|
-
*/
|
|
20
|
-
get id(): string;
|
|
21
|
-
get isTypingOn(): boolean;
|
|
22
|
-
isText(): this is WebchatMessage<MessageType.Text> & {
|
|
23
|
-
data: BotonicTextData;
|
|
24
|
-
};
|
|
25
|
-
isPostback(): this is WebchatMessage<MessageType.Postback> & {
|
|
26
|
-
data: BotonicPostbackData;
|
|
27
|
-
};
|
|
28
|
-
isAudio(): this is WebchatMessage<MessageType.Audio> & {
|
|
29
|
-
data: BotonicAudioData;
|
|
30
|
-
};
|
|
31
|
-
isImage(): this is WebchatMessage<MessageType.Image> & {
|
|
32
|
-
data: BotonicImageData;
|
|
33
|
-
};
|
|
34
|
-
isVideo(): this is WebchatMessage<MessageType.Video> & {
|
|
35
|
-
data: BotonicVideoData;
|
|
36
|
-
};
|
|
37
|
-
isDocument(): this is WebchatMessage<MessageType.Document> & {
|
|
38
|
-
data: BotonicDocumentData;
|
|
39
|
-
};
|
|
40
|
-
isLocation(): this is WebchatMessage<MessageType.Location> & {
|
|
41
|
-
data: BotonicLocationData;
|
|
42
|
-
};
|
|
43
|
-
isTypingEvent(): this is WebchatMessage<MessageType.TypingEvent> & {
|
|
44
|
-
data: BotonicTypingEventData;
|
|
45
|
-
};
|
|
46
|
-
isButtonMessage(): this is WebchatMessage<MessageType.ButtonMessage> & {
|
|
47
|
-
data: BotonicButtonMessageData;
|
|
48
|
-
};
|
|
49
|
-
isCarousel(): this is WebchatMessage<MessageType.Carousel> & {
|
|
50
|
-
data: BotonicCarouselData;
|
|
51
|
-
};
|
|
52
|
-
isCustom(): this is WebchatMessage<MessageType.Custom> & {
|
|
53
|
-
data: BotonicCustomData;
|
|
54
|
-
};
|
|
55
|
-
isMedia(): this is WebchatMessage<MessageType.Audio | MessageType.Image | MessageType.Video | MessageType.Document> & {
|
|
56
|
-
data: BotonicAttachmentData;
|
|
57
|
-
};
|
|
58
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { v7 as uuidv7 } from 'uuid';
|
|
2
|
-
import { MessageSentBy, MessageType, TypingEventName, } from '../botonic';
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webchat-message.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/webchat/webchat-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAcL,aAAa,EACb,WAAW,EAEX,eAAe,GAEhB,MAAM,YAAY,CAAA;AAWnB,+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,71 +0,0 @@
|
|
|
1
|
-
import type { MessagingChannel } from '../../shared-types';
|
|
2
|
-
import { BotonicWebviewsSessionChannel, BotonicWebviewsSessionUser } from '../botonic';
|
|
3
|
-
export declare class BotonicContextWebviewsChannel {
|
|
4
|
-
private readonly channel;
|
|
5
|
-
constructor(channel: BotonicWebviewsSessionChannel);
|
|
6
|
-
get provider(): MessagingChannel;
|
|
7
|
-
get impId(): string;
|
|
8
|
-
get unformattedPhoneNumber(): string;
|
|
9
|
-
}
|
|
10
|
-
export declare class BotonicContextWebviewsUser {
|
|
11
|
-
private readonly user;
|
|
12
|
-
constructor(user: {
|
|
13
|
-
id: string;
|
|
14
|
-
locale: string;
|
|
15
|
-
country: string;
|
|
16
|
-
system_locale: string;
|
|
17
|
-
});
|
|
18
|
-
get id(): string;
|
|
19
|
-
get locale(): string;
|
|
20
|
-
get country(): string;
|
|
21
|
-
get systemLocale(): string;
|
|
22
|
-
}
|
|
23
|
-
export declare class BotonicContextWebviewsSettings {
|
|
24
|
-
private readonly settings;
|
|
25
|
-
constructor(settings: {
|
|
26
|
-
HUBTYPE_API_URL: string;
|
|
27
|
-
});
|
|
28
|
-
get hubtypeApiUrl(): string;
|
|
29
|
-
}
|
|
30
|
-
export declare class BotonicContextWebviewsBot {
|
|
31
|
-
private readonly bot;
|
|
32
|
-
constructor(bot: {
|
|
33
|
-
id: string;
|
|
34
|
-
name: string;
|
|
35
|
-
});
|
|
36
|
-
get id(): string;
|
|
37
|
-
get name(): string;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Nested session slice with channel/user wrappers (same idea as {@link BotonicContextSession} on the server).
|
|
41
|
-
*/
|
|
42
|
-
export declare class BotonicContextWebviewsSession {
|
|
43
|
-
private readonly sessionPayload;
|
|
44
|
-
constructor(sessionPayload: {
|
|
45
|
-
channel: BotonicWebviewsSessionChannel;
|
|
46
|
-
user: BotonicWebviewsSessionUser;
|
|
47
|
-
});
|
|
48
|
-
get channel(): BotonicContextWebviewsChannel;
|
|
49
|
-
get user(): BotonicContextWebviewsUser;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Normalized webviews context: `session` groups API `channel` + `user` (set by the factory).
|
|
53
|
-
* Optional `settings` is not returned by GET webviews — pass when building from app config / URL (e.g. hubtype API URL).
|
|
54
|
-
*/
|
|
55
|
-
export interface BotonicContextWebviewsType {
|
|
56
|
-
custom: Record<string, any>;
|
|
57
|
-
bot: BotonicContextWebviewsBot;
|
|
58
|
-
session: BotonicContextWebviewsSession;
|
|
59
|
-
settings?: BotonicContextWebviewsSettings;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Hydrated webviews context (like {@link BotonicContext}): factory output plus optional injected settings.
|
|
63
|
-
*/
|
|
64
|
-
export declare class BotonicContextWebviews implements BotonicContextWebviewsType {
|
|
65
|
-
readonly custom: Record<string, any>;
|
|
66
|
-
readonly bot: BotonicContextWebviewsBot;
|
|
67
|
-
readonly session: BotonicContextWebviewsSession;
|
|
68
|
-
readonly settings?: BotonicContextWebviewsSettings;
|
|
69
|
-
constructor(base: BotonicContextWebviewsType);
|
|
70
|
-
get hubtypeApiUrl(): string;
|
|
71
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
export class BotonicContextWebviewsChannel {
|
|
2
|
-
constructor(channel) {
|
|
3
|
-
this.channel = channel;
|
|
4
|
-
}
|
|
5
|
-
get provider() {
|
|
6
|
-
return this.channel.provider;
|
|
7
|
-
}
|
|
8
|
-
get impId() {
|
|
9
|
-
return this.channel.imp_id;
|
|
10
|
-
}
|
|
11
|
-
get unformattedPhoneNumber() {
|
|
12
|
-
return this.channel.unformatted_phone_number;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export class BotonicContextWebviewsUser {
|
|
16
|
-
constructor(user) {
|
|
17
|
-
this.user = user;
|
|
18
|
-
}
|
|
19
|
-
get id() {
|
|
20
|
-
return this.user.id;
|
|
21
|
-
}
|
|
22
|
-
get locale() {
|
|
23
|
-
return this.user.locale;
|
|
24
|
-
}
|
|
25
|
-
get country() {
|
|
26
|
-
return this.user.country;
|
|
27
|
-
}
|
|
28
|
-
get systemLocale() {
|
|
29
|
-
return this.user.system_locale;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export class BotonicContextWebviewsSettings {
|
|
33
|
-
constructor(settings) {
|
|
34
|
-
this.settings = settings;
|
|
35
|
-
}
|
|
36
|
-
get hubtypeApiUrl() {
|
|
37
|
-
return this.settings.HUBTYPE_API_URL;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
export class BotonicContextWebviewsBot {
|
|
41
|
-
constructor(bot) {
|
|
42
|
-
this.bot = bot;
|
|
43
|
-
}
|
|
44
|
-
get id() {
|
|
45
|
-
return this.bot.id;
|
|
46
|
-
}
|
|
47
|
-
get name() {
|
|
48
|
-
return this.bot.name;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Nested session slice with channel/user wrappers (same idea as {@link BotonicContextSession} on the server).
|
|
53
|
-
*/
|
|
54
|
-
export class BotonicContextWebviewsSession {
|
|
55
|
-
constructor(sessionPayload) {
|
|
56
|
-
this.sessionPayload = sessionPayload;
|
|
57
|
-
}
|
|
58
|
-
get channel() {
|
|
59
|
-
return new BotonicContextWebviewsChannel(this.sessionPayload.channel);
|
|
60
|
-
}
|
|
61
|
-
get user() {
|
|
62
|
-
return new BotonicContextWebviewsUser(this.sessionPayload.user);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Hydrated webviews context (like {@link BotonicContext}): factory output plus optional injected settings.
|
|
67
|
-
*/
|
|
68
|
-
export class BotonicContextWebviews {
|
|
69
|
-
constructor(base) {
|
|
70
|
-
this.custom = base.custom;
|
|
71
|
-
this.bot = base.bot;
|
|
72
|
-
this.session = base.session;
|
|
73
|
-
this.settings = base.settings;
|
|
74
|
-
}
|
|
75
|
-
get hubtypeApiUrl() {
|
|
76
|
-
var _a;
|
|
77
|
-
return ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.hubtypeApiUrl) || '';
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=botonic-context-webviews.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"botonic-context-webviews.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/webviews/botonic-context-webviews.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,6BAA6B;IACxC,YAA6B,OAAsC;QAAtC,YAAO,GAAP,OAAO,CAA+B;IAAG,CAAC;IAEvE,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAA;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,0BAA0B;IACrC,YACmB,IAKhB;QALgB,SAAI,GAAJ,IAAI,CAKpB;IACA,CAAC;IAEJ,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;IACzB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;IAC1B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;IAChC,CAAC;CACF;AAED,MAAM,OAAO,8BAA8B;IACzC,YACmB,QAEhB;QAFgB,aAAQ,GAAR,QAAQ,CAExB;IACA,CAAC;IAEJ,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAA;IACtC,CAAC;CACF;AAED,MAAM,OAAO,yBAAyB;IACpC,YAA6B,GAAiC;QAAjC,QAAG,GAAH,GAAG,CAA8B;IAAG,CAAC;IAElE,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,6BAA6B;IACxC,YACmB,cAGhB;QAHgB,mBAAc,GAAd,cAAc,CAG9B;IACA,CAAC;IAEJ,IAAI,OAAO;QACT,OAAO,IAAI,6BAA6B,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,0BAA0B,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACjE,CAAC;CACF;AAaD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAMjC,YAAY,IAAgC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC/B,CAAC;IAED,IAAI,aAAa;;QACf,OAAO,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,aAAa,KAAI,EAAE,CAAA;IAC3C,CAAC;CACF"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { BotonicWebviewsSessionBot, BotonicWebviewsSessionChannel, BotonicWebviewsSessionUser } from '../botonic';
|
|
2
|
-
import { BotonicContextWebviews } from './botonic-context-webviews';
|
|
3
|
-
interface BotonicContextWebviewsFactoryParams {
|
|
4
|
-
custom: Record<string, unknown>;
|
|
5
|
-
channel: BotonicWebviewsSessionChannel;
|
|
6
|
-
user: BotonicWebviewsSessionUser;
|
|
7
|
-
bot: BotonicWebviewsSessionBot;
|
|
8
|
-
hubtypeApiUrl: string;
|
|
9
|
-
}
|
|
10
|
-
export declare class BotonicContextWebviewsFactory {
|
|
11
|
-
/**
|
|
12
|
-
* Maps flat GET webviews JSON (`custom`, `channel`, `user`) into a context shape where
|
|
13
|
-
* `channel` and `user` are grouped under `session` (see {@link BotonicContextFactory.from}).
|
|
14
|
-
*/
|
|
15
|
-
static from(params: BotonicContextWebviewsFactoryParams): BotonicContextWebviews;
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { BotonicContextWebviews, BotonicContextWebviewsBot, BotonicContextWebviewsSession, BotonicContextWebviewsSettings, } from './botonic-context-webviews';
|
|
2
|
-
export class BotonicContextWebviewsFactory {
|
|
3
|
-
/**
|
|
4
|
-
* Maps flat GET webviews JSON (`custom`, `channel`, `user`) into a context shape where
|
|
5
|
-
* `channel` and `user` are grouped under `session` (see {@link BotonicContextFactory.from}).
|
|
6
|
-
*/
|
|
7
|
-
static from(params) {
|
|
8
|
-
return new BotonicContextWebviews({
|
|
9
|
-
custom: params.custom,
|
|
10
|
-
bot: new BotonicContextWebviewsBot(params.bot),
|
|
11
|
-
session: new BotonicContextWebviewsSession({
|
|
12
|
-
channel: params.channel,
|
|
13
|
-
user: params.user,
|
|
14
|
-
}),
|
|
15
|
-
settings: new BotonicContextWebviewsSettings({
|
|
16
|
-
HUBTYPE_API_URL: params.hubtypeApiUrl,
|
|
17
|
-
}),
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/webviews/factory.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAA;AAUnC,MAAM,OAAO,6BAA6B;IACxC;;;OAGG;IACH,MAAM,CAAC,IAAI,CACT,MAA2C;QAE3C,OAAO,IAAI,sBAAsB,CAAC;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,IAAI,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC;YAC9C,OAAO,EAAE,IAAI,6BAA6B,CAAC;gBACzC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC;YACF,QAAQ,EAAE,IAAI,8BAA8B,CAAC;gBAC3C,eAAe,EAAE,MAAM,CAAC,aAAa;aACtC,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/webviews/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,WAAW,CAAA"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { BotonicContext, BotonicSession, BotonicSessionPatchSlice, BotonicSessionUpdate, BotonicWebviewsSession, BotServerMessage, ChatUserPatchResponse, HandoffOptions, ResolvedPlugins, UserExtraData } from '../domain';
|
|
2
|
-
import { type GetBotonicWebviewsSessionParams } from './hubtype-external-api-client';
|
|
3
|
-
export declare class HubtypeApiService {
|
|
4
|
-
updateBotSession<TExtraData extends UserExtraData = UserExtraData>(botonicContext: BotonicContext<ResolvedPlugins, TExtraData>, updates: BotonicSessionUpdate<TExtraData>): Promise<void>;
|
|
5
|
-
getBotonicSession(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>): Promise<BotonicSession<UserExtraData> | null>;
|
|
6
|
-
getBotSession(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>): Promise<BotonicSession<UserExtraData>>;
|
|
7
|
-
patchBotonicSession(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, body: Record<string, unknown>): Promise<BotonicSessionPatchSlice>;
|
|
8
|
-
patchChatUser(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, body: Record<string, unknown>): Promise<ChatUserPatchResponse>;
|
|
9
|
-
doHandoff(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, handoffOptions?: HandoffOptions): Promise<unknown>;
|
|
10
|
-
sendMessages(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, messages: BotServerMessage[]): Promise<unknown>;
|
|
11
|
-
getBotonicWebviewsSession(params: GetBotonicWebviewsSessionParams): Promise<BotonicWebviewsSession | null>;
|
|
12
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { applyNonPatchSessionUpdateFields, mergeBotonicSessionPatchSlice, mergeChatUserPatchResponseIntoSessionUser, sessionUpdateToPatchBody, userUpdateToChatUserPatchBody, } from '../domain';
|
|
3
|
-
import { HubtypeExternalApiClient, } from './hubtype-external-api-client';
|
|
4
|
-
export class HubtypeApiService {
|
|
5
|
-
updateBotSession(botonicContext, updates) {
|
|
6
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
7
|
-
applyNonPatchSessionUpdateFields(botonicContext.session.raw, updates);
|
|
8
|
-
const client = new HubtypeExternalApiClient();
|
|
9
|
-
const sessionPatchBody = sessionUpdateToPatchBody(updates);
|
|
10
|
-
if (Object.keys(sessionPatchBody).length > 0) {
|
|
11
|
-
const slice = yield client.patchBotonicSession(botonicContext, sessionPatchBody);
|
|
12
|
-
mergeBotonicSessionPatchSlice(botonicContext.session.raw, slice);
|
|
13
|
-
}
|
|
14
|
-
const chatUserBody = userUpdateToChatUserPatchBody(updates.user);
|
|
15
|
-
if (Object.keys(chatUserBody).length > 0) {
|
|
16
|
-
const userSlice = yield client.patchChatUser(botonicContext, chatUserBody);
|
|
17
|
-
mergeChatUserPatchResponseIntoSessionUser(botonicContext.session.raw.user, userSlice);
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
getBotonicSession(botonicContext) {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const client = new HubtypeExternalApiClient();
|
|
24
|
-
return client.getBotonicSession(botonicContext);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
getBotSession(botonicContext) {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
const session = yield this.getBotonicSession(botonicContext);
|
|
30
|
-
if (session === null) {
|
|
31
|
-
throw new Error('Failed to get bot session');
|
|
32
|
-
}
|
|
33
|
-
return session;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
patchBotonicSession(botonicContext, body) {
|
|
37
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const client = new HubtypeExternalApiClient();
|
|
39
|
-
return client.patchBotonicSession(botonicContext, body);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
patchChatUser(botonicContext, body) {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const client = new HubtypeExternalApiClient();
|
|
45
|
-
return client.patchChatUser(botonicContext, body);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
doHandoff(botonicContext, handoffOptions) {
|
|
49
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
const client = new HubtypeExternalApiClient();
|
|
51
|
-
return client.doHandoff(botonicContext, handoffOptions);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
sendMessages(botonicContext, messages) {
|
|
55
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
const client = new HubtypeExternalApiClient();
|
|
57
|
-
return client.sendMessages(botonicContext, messages);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
getBotonicWebviewsSession(params) {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
const client = new HubtypeExternalApiClient();
|
|
63
|
-
return client.getBotonicWebviewsSession(params);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=hubtype-api-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hubtype-api-service.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/shared/src/lib/services/hubtype-api-service.ts"],"names":[],"mappings":";AAYA,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,yCAAyC,EACzC,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,WAAW,CAAA;AAClB,OAAO,EAEL,wBAAwB,GACzB,MAAM,+BAA+B,CAAA;AAEtC,MAAM,OAAO,iBAAiB;IACtB,gBAAgB,CACpB,cAA2D,EAC3D,OAAyC;;YAEzC,gCAAgC,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAErE,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;YAC1D,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAC5C,cAAgE,EAChE,gBAAgB,CACjB,CAAA;gBACD,6BAA6B,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAClE,CAAC;YAED,MAAM,YAAY,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAChE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAC1C,cAAgE,EAChE,YAAY,CACb,CAAA;gBACD,yCAAyC,CACvC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAC/B,SAAS,CACV,CAAA;YACH,CAAC;QACH,CAAC;KAAA;IAEK,iBAAiB,CACrB,cAA8D;;YAE9D,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;QACjD,CAAC;KAAA;IAEK,aAAa,CACjB,cAA8D;;YAE9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;YAC5D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAC9C,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;KAAA;IAEK,mBAAmB,CACvB,cAA8D,EAC9D,IAA6B;;YAE7B,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QACzD,CAAC;KAAA;IAEK,aAAa,CACjB,cAA8D,EAC9D,IAA6B;;YAE7B,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QACnD,CAAC;KAAA;IAEK,SAAS,CACb,cAA8D,EAC9D,cAA+B;;YAE/B,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;QACzD,CAAC;KAAA;IAEK,YAAY,CAChB,cAA8D,EAC9D,QAA4B;;YAE5B,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;QACtD,CAAC;KAAA;IAEK,yBAAyB,CAC7B,MAAuC;;YAEvC,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;YAC7C,OAAO,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC;KAAA;CACF"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hubtype external v2 conversational HTTP client (session, webviews, chat user, handoff, send message).
|
|
3
|
-
* Do not use legacy `…/context/` for v2 bots — see BE spec.
|
|
4
|
-
*
|
|
5
|
-
* @see openspec/specs/BE-botonic-v2-botonic-session-endpoints/spec.md
|
|
6
|
-
*/
|
|
7
|
-
import type { BotonicContext, BotonicSession, BotonicSessionPatchSlice, BotonicWebviewsSession, BotServerMessage, ChatUserPatchResponse, HandoffOptions, ResolvedPlugins, UserExtraData } from '../domain';
|
|
8
|
-
/** Target for GET …/session/webviews/ (no auth on this endpoint). */
|
|
9
|
-
export interface GetBotonicWebviewsSessionParams {
|
|
10
|
-
hubtypeApiUrl: string;
|
|
11
|
-
botId: string;
|
|
12
|
-
userId: string;
|
|
13
|
-
}
|
|
14
|
-
export declare class HubtypeExternalApiClient {
|
|
15
|
-
getBotonicSession<TSessionExtra extends UserExtraData = UserExtraData>(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>): Promise<BotonicSession<TSessionExtra> | null>;
|
|
16
|
-
patchBotonicSession(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, body: Record<string, unknown>): Promise<BotonicSessionPatchSlice>;
|
|
17
|
-
getBotonicWebviewsSession(params: GetBotonicWebviewsSessionParams): Promise<BotonicWebviewsSession | null>;
|
|
18
|
-
patchChatUser(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, body: Record<string, unknown>): Promise<ChatUserPatchResponse>;
|
|
19
|
-
doHandoff(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, handoffOptions?: HandoffOptions): Promise<unknown>;
|
|
20
|
-
sendMessages(botonicContext: BotonicContext<ResolvedPlugins, UserExtraData>, messages: BotServerMessage[]): Promise<unknown>;
|
|
21
|
-
}
|