@botonic/shared 2.23.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 +240 -0
- package/README.md +9 -0
- package/package.json +16 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -0
- package/src/lib/ai-agents-types.d.ts +69 -0
- package/src/lib/ai-agents-types.js +2 -0
- package/src/lib/ai-agents-types.js.map +1 -0
- package/src/lib/domain/botonic/exceptions.d.ts +7 -0
- package/src/lib/domain/botonic/exceptions.js +12 -0
- package/src/lib/domain/botonic/exceptions.js.map +1 -0
- package/src/lib/domain/botonic/index.d.ts +9 -0
- package/src/lib/domain/botonic/index.js +10 -0
- package/src/lib/domain/botonic/index.js.map +1 -0
- package/src/lib/domain/botonic/inputs.d.ts +48 -0
- package/src/lib/domain/botonic/inputs.js +60 -0
- package/src/lib/domain/botonic/inputs.js.map +1 -0
- package/src/lib/domain/botonic/legacy/index.d.ts +2 -0
- package/src/lib/domain/botonic/legacy/index.js +3 -0
- package/src/lib/domain/botonic/legacy/index.js.map +1 -0
- package/src/lib/domain/botonic/legacy/input-adapter.d.ts +25 -0
- package/src/lib/domain/botonic/legacy/input-adapter.js +203 -0
- package/src/lib/domain/botonic/legacy/input-adapter.js.map +1 -0
- package/src/lib/domain/botonic/legacy/types.d.ts +32 -0
- package/src/lib/domain/botonic/legacy/types.js +2 -0
- package/src/lib/domain/botonic/legacy/types.js.map +1 -0
- package/src/lib/domain/botonic/metadata.d.ts +36 -0
- package/src/lib/domain/botonic/metadata.js +2 -0
- package/src/lib/domain/botonic/metadata.js.map +1 -0
- package/src/lib/domain/botonic/outputs.d.ts +101 -0
- package/src/lib/domain/botonic/outputs.js +119 -0
- package/src/lib/domain/botonic/outputs.js.map +1 -0
- package/src/lib/domain/botonic/types.d.ts +109 -0
- package/src/lib/domain/botonic/types.js +119 -0
- package/src/lib/domain/botonic/types.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/index.d.ts +8 -0
- package/src/lib/domain/botonic/whatsapp-outputs/index.js +9 -0
- package/src/lib/domain/botonic/whatsapp-outputs/index.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-button-list/index.d.ts +17 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-button-list/index.js +10 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-button-list/index.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-button-list/types.d.ts +9 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-button-list/types.js +2 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-button-list/types.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-catalog/index.d.ts +12 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-catalog/index.js +8 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-catalog/index.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-cta-url-button/index.d.ts +30 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-cta-url-button/index.js +21 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-cta-url-button/index.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-media-carousel/index.d.ts +15 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-media-carousel/index.js +9 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-media-carousel/index.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-media-carousel/types.d.ts +15 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-media-carousel/types.js +2 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-media-carousel/types.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product/index.d.ts +14 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product/index.js +9 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product/index.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product-carousel/index.d.ts +19 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product-carousel/index.js +9 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product-carousel/index.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product-list/index.d.ts +17 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product-list/index.js +12 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product-list/index.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product-list/types.d.ts +13 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product-list/types.js +7 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-product-list/types.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-template/index.d.ts +16 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-template/index.js +12 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-template/index.js.map +1 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-template/types.d.ts +104 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-template/types.js +106 -0
- package/src/lib/domain/botonic/whatsapp-outputs/whatsapp-template/types.js.map +1 -0
- package/src/lib/domain/index.d.ts +3 -0
- package/src/lib/domain/index.js +7 -0
- package/src/lib/domain/index.js.map +1 -0
- package/src/lib/domain/server/bot-server-message.d.ts +65 -0
- package/src/lib/domain/server/bot-server-message.js +106 -0
- package/src/lib/domain/server/bot-server-message.js.map +1 -0
- package/src/lib/domain/server/botonic-context/botonic-context-input.d.ts +99 -0
- package/src/lib/domain/server/botonic-context/botonic-context-input.js +124 -0
- package/src/lib/domain/server/botonic-context/botonic-context-input.js.map +1 -0
- package/src/lib/domain/server/botonic-context/botonic-context-session.d.ts +146 -0
- package/src/lib/domain/server/botonic-context/botonic-context-session.js +209 -0
- package/src/lib/domain/server/botonic-context/botonic-context-session.js.map +1 -0
- package/src/lib/domain/server/botonic-context/botonic-context.d.ts +56 -0
- package/src/lib/domain/server/botonic-context/botonic-context.js +23 -0
- package/src/lib/domain/server/botonic-context/botonic-context.js.map +1 -0
- package/src/lib/domain/server/botonic-context/factory.d.ts +23 -0
- package/src/lib/domain/server/botonic-context/factory.js +31 -0
- package/src/lib/domain/server/botonic-context/factory.js.map +1 -0
- package/src/lib/domain/server/botonic-context/index.d.ts +5 -0
- package/src/lib/domain/server/botonic-context/index.js +6 -0
- package/src/lib/domain/server/botonic-context/index.js.map +1 -0
- package/src/lib/domain/server/botonic-context/types.d.ts +20 -0
- package/src/lib/domain/server/botonic-context/types.js +6 -0
- package/src/lib/domain/server/botonic-context/types.js.map +1 -0
- package/src/lib/domain/server/factory.d.ts +166 -0
- package/src/lib/domain/server/factory.js +166 -0
- package/src/lib/domain/server/factory.js.map +1 -0
- package/src/lib/domain/server/index.d.ts +3 -0
- package/src/lib/domain/server/index.js +4 -0
- package/src/lib/domain/server/index.js.map +1 -0
- package/src/lib/domain/utils.d.ts +5 -0
- package/src/lib/domain/utils.js +13 -0
- package/src/lib/domain/utils.js.map +1 -0
- package/src/lib/domain/webchat/factory.d.ts +81 -0
- package/src/lib/domain/webchat/factory.js +73 -0
- package/src/lib/domain/webchat/factory.js.map +1 -0
- package/src/lib/domain/webchat/index.d.ts +4 -0
- package/src/lib/domain/webchat/index.js +5 -0
- package/src/lib/domain/webchat/index.js.map +1 -0
- package/src/lib/domain/webchat/realtime/factory.d.ts +52 -0
- package/src/lib/domain/webchat/realtime/factory.js +66 -0
- package/src/lib/domain/webchat/realtime/factory.js.map +1 -0
- package/src/lib/domain/webchat/realtime/index.d.ts +2 -0
- package/src/lib/domain/webchat/realtime/index.js +3 -0
- package/src/lib/domain/webchat/realtime/index.js.map +1 -0
- package/src/lib/domain/webchat/realtime/realtime-response-message.d.ts +47 -0
- package/src/lib/domain/webchat/realtime/realtime-response-message.js +68 -0
- package/src/lib/domain/webchat/realtime/realtime-response-message.js.map +1 -0
- package/src/lib/domain/webchat/user/factory.d.ts +52 -0
- package/src/lib/domain/webchat/user/factory.js +59 -0
- package/src/lib/domain/webchat/user/factory.js.map +1 -0
- package/src/lib/domain/webchat/user/index.d.ts +2 -0
- package/src/lib/domain/webchat/user/index.js +3 -0
- package/src/lib/domain/webchat/user/index.js.map +1 -0
- package/src/lib/domain/webchat/user/user-input-message.d.ts +34 -0
- package/src/lib/domain/webchat/user/user-input-message.js +59 -0
- package/src/lib/domain/webchat/user/user-input-message.js.map +1 -0
- package/src/lib/domain/webchat/webchat-message.d.ts +55 -0
- package/src/lib/domain/webchat/webchat-message.js +69 -0
- package/src/lib/domain/webchat/webchat-message.js.map +1 -0
- package/src/lib/hubtype-analytics-types.d.ts +227 -0
- package/src/lib/hubtype-analytics-types.js +41 -0
- package/src/lib/hubtype-analytics-types.js.map +1 -0
- package/src/lib/index.d.ts +6 -0
- package/src/lib/index.js +13 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/services/webchat-api.d.ts +16 -0
- package/src/lib/services/webchat-api.js +2 -0
- package/src/lib/services/webchat-api.js.map +1 -0
- package/src/lib/shared-types.d.ts +28 -0
- package/src/lib/shared-types.js +32 -0
- package/src/lib/shared-types.js.map +1 -0
- package/src/lib/utils/index.d.ts +1 -0
- package/src/lib/utils/index.js +2 -0
- package/src/lib/utils/index.js.map +1 -0
- package/src/lib/utils/logging.d.ts +1 -0
- package/src/lib/utils/logging.js +22 -0
- package/src/lib/utils/logging.js.map +1 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { BotMessageMetadata, BotonicButtonContent, BotonicCarouselElement, TypingEventName, WhatsappButtonListSection, WhatsappHeaderType, WhatsappMediaCarouselCard, WhatsappProductCarouselCard, WhatsappProductListSection, WhatsappTemplateComponent } from '../botonic';
|
|
2
|
+
import { BotServerMessageAudio, BotServerMessageButtonMessage, BotServerMessageCarousel, BotServerMessageCustom, BotServerMessageDocument, BotServerMessageImage, BotServerMessageLocation, BotServerMessageText, BotServerMessageTypingEvent, BotServerMessageVideo, BotServerMessageWhatsappButtonList, BotServerMessageWhatsappCatalog, BotServerMessageWhatsappCTAUrlButton, BotServerMessageWhatsappMediaCarousel, BotServerMessageWhatsappProduct, BotServerMessageWhatsappProductCarousel, BotServerMessageWhatsappProductList, BotServerMessageWhatsappTemplate } from './bot-server-message';
|
|
3
|
+
interface WebviewButtonParams {
|
|
4
|
+
title: string;
|
|
5
|
+
webview: string;
|
|
6
|
+
params?: Record<string, string>;
|
|
7
|
+
}
|
|
8
|
+
export declare class BotServerMessageFactory {
|
|
9
|
+
static createText({ text, payload, metadata, }: {
|
|
10
|
+
text: string;
|
|
11
|
+
payload?: string;
|
|
12
|
+
metadata?: BotMessageMetadata;
|
|
13
|
+
}): BotServerMessageText;
|
|
14
|
+
static createAudio({ attachmentUrl, attachmentContent, caption, fileInfo, metadata, }: {
|
|
15
|
+
attachmentUrl: string;
|
|
16
|
+
attachmentContent?: string;
|
|
17
|
+
caption?: string;
|
|
18
|
+
fileInfo?: Record<string, unknown>;
|
|
19
|
+
metadata?: BotMessageMetadata;
|
|
20
|
+
}): BotServerMessageAudio;
|
|
21
|
+
static createImage({ attachmentUrl, attachmentContent, caption, fileInfo, metadata, }: {
|
|
22
|
+
attachmentUrl: string;
|
|
23
|
+
attachmentContent?: string;
|
|
24
|
+
caption?: string;
|
|
25
|
+
fileInfo?: Record<string, unknown>;
|
|
26
|
+
metadata?: BotMessageMetadata;
|
|
27
|
+
}): BotServerMessageImage;
|
|
28
|
+
static createVideo({ attachmentUrl, attachmentContent, caption, fileInfo, metadata, }: {
|
|
29
|
+
attachmentUrl: string;
|
|
30
|
+
attachmentContent?: string;
|
|
31
|
+
caption?: string;
|
|
32
|
+
fileInfo?: Record<string, unknown>;
|
|
33
|
+
metadata?: BotMessageMetadata;
|
|
34
|
+
}): BotServerMessageVideo;
|
|
35
|
+
static createDocument({ attachmentUrl, attachmentContent, caption, fileInfo, metadata, }: {
|
|
36
|
+
attachmentUrl: string;
|
|
37
|
+
attachmentContent?: string;
|
|
38
|
+
caption?: string;
|
|
39
|
+
fileInfo?: Record<string, unknown>;
|
|
40
|
+
metadata?: BotMessageMetadata;
|
|
41
|
+
}): BotServerMessageDocument;
|
|
42
|
+
static createLocation({ latitude, longitude, title, address, metadata, }: {
|
|
43
|
+
latitude: number;
|
|
44
|
+
longitude: number;
|
|
45
|
+
title?: string;
|
|
46
|
+
address?: string;
|
|
47
|
+
metadata?: BotMessageMetadata;
|
|
48
|
+
}): BotServerMessageLocation;
|
|
49
|
+
static createButtonMessage({ text, buttons, metadata, }: {
|
|
50
|
+
text: string;
|
|
51
|
+
buttons: BotonicButtonContent[];
|
|
52
|
+
metadata?: BotMessageMetadata;
|
|
53
|
+
}): BotServerMessageButtonMessage;
|
|
54
|
+
static createCarousel({ elements, text, metadata, }: {
|
|
55
|
+
elements: BotonicCarouselElement[];
|
|
56
|
+
text?: string;
|
|
57
|
+
metadata?: BotMessageMetadata;
|
|
58
|
+
}): BotServerMessageCarousel;
|
|
59
|
+
static createCustom({ name, props, metadata, }: {
|
|
60
|
+
name: string;
|
|
61
|
+
props: Record<string, unknown>;
|
|
62
|
+
metadata?: BotMessageMetadata;
|
|
63
|
+
}): BotServerMessageCustom;
|
|
64
|
+
static createTypingEvent({ eventName, metadata, }: {
|
|
65
|
+
eventName: TypingEventName;
|
|
66
|
+
metadata?: BotMessageMetadata;
|
|
67
|
+
}): BotServerMessageTypingEvent;
|
|
68
|
+
/**
|
|
69
|
+
* Creates a postback button that sends a payload when clicked
|
|
70
|
+
*/
|
|
71
|
+
static createPostbackButton({ title, payload, }: {
|
|
72
|
+
title: string;
|
|
73
|
+
payload: string;
|
|
74
|
+
}): BotonicButtonContent;
|
|
75
|
+
/**
|
|
76
|
+
* Creates a URL button that opens a link in the browser
|
|
77
|
+
*/
|
|
78
|
+
static createUrlButton({ title, url, }: {
|
|
79
|
+
title: string;
|
|
80
|
+
url: string;
|
|
81
|
+
}): BotonicButtonContent;
|
|
82
|
+
/**
|
|
83
|
+
* Creates a webview button that opens a URL in a webview
|
|
84
|
+
*/
|
|
85
|
+
static createWebviewButton(webviewButtonParams: WebviewButtonParams, session: {
|
|
86
|
+
user: {
|
|
87
|
+
id: string;
|
|
88
|
+
};
|
|
89
|
+
bot: {
|
|
90
|
+
id: string;
|
|
91
|
+
};
|
|
92
|
+
}): BotonicButtonContent;
|
|
93
|
+
/**
|
|
94
|
+
* Helper method to create a carousel element
|
|
95
|
+
* This simplifies carousel element creation
|
|
96
|
+
*/
|
|
97
|
+
static createCarouselElement({ title, subtitle, image, buttons, }: {
|
|
98
|
+
title: string;
|
|
99
|
+
subtitle: string;
|
|
100
|
+
image: string;
|
|
101
|
+
buttons: BotonicButtonContent[];
|
|
102
|
+
}): BotonicCarouselElement;
|
|
103
|
+
static createWhatsappButtonList({ header, body, footer, button, sections, metadata, }: {
|
|
104
|
+
header?: string;
|
|
105
|
+
body: string;
|
|
106
|
+
footer?: string;
|
|
107
|
+
button: string;
|
|
108
|
+
sections: WhatsappButtonListSection[];
|
|
109
|
+
metadata?: BotMessageMetadata;
|
|
110
|
+
}): BotServerMessageWhatsappButtonList;
|
|
111
|
+
static createWhatsappCTAUrlButton({ headerType, header, headerImage, headerDocument, headerVideo, body, url, displayText, footer, metadata, }: {
|
|
112
|
+
headerType?: WhatsappHeaderType;
|
|
113
|
+
header?: string;
|
|
114
|
+
headerImage?: string;
|
|
115
|
+
headerDocument?: string;
|
|
116
|
+
headerVideo?: string;
|
|
117
|
+
body: string;
|
|
118
|
+
url: string;
|
|
119
|
+
displayText: string;
|
|
120
|
+
footer?: string;
|
|
121
|
+
metadata?: BotMessageMetadata;
|
|
122
|
+
}): BotServerMessageWhatsappCTAUrlButton;
|
|
123
|
+
static createWhatsappCatalog({ body, footer, thumbnailProductId, metadata, }: {
|
|
124
|
+
body: string;
|
|
125
|
+
footer?: string;
|
|
126
|
+
thumbnailProductId?: string;
|
|
127
|
+
metadata?: BotMessageMetadata;
|
|
128
|
+
}): BotServerMessageWhatsappCatalog;
|
|
129
|
+
static createWhatsappProduct({ body, catalogId, productId, footer, metadata, }: {
|
|
130
|
+
body: string;
|
|
131
|
+
catalogId: string;
|
|
132
|
+
productId: string;
|
|
133
|
+
footer?: string;
|
|
134
|
+
metadata?: BotMessageMetadata;
|
|
135
|
+
}): BotServerMessageWhatsappProduct;
|
|
136
|
+
static createWhatsappProductList({ header, body, footer, catalogId, sections, metadata, }: {
|
|
137
|
+
body: string;
|
|
138
|
+
catalogId: string;
|
|
139
|
+
header: string;
|
|
140
|
+
sections: WhatsappProductListSection[];
|
|
141
|
+
footer?: string;
|
|
142
|
+
metadata?: BotMessageMetadata;
|
|
143
|
+
}): BotServerMessageWhatsappProductList;
|
|
144
|
+
static createWhatsappProductCarousel({ templateName, templateLanguage, cards, bodyParameters, metadata, }: {
|
|
145
|
+
templateName: string;
|
|
146
|
+
templateLanguage: string;
|
|
147
|
+
cards: WhatsappProductCarouselCard[];
|
|
148
|
+
bodyParameters?: Record<string, any>[];
|
|
149
|
+
metadata?: BotMessageMetadata;
|
|
150
|
+
}): BotServerMessageWhatsappProductCarousel;
|
|
151
|
+
static createWhatsappMediaCarousel({ templateName, templateLanguage, cards, bodyParameters, metadata, }: {
|
|
152
|
+
templateName: string;
|
|
153
|
+
templateLanguage: string;
|
|
154
|
+
cards: WhatsappMediaCarouselCard[];
|
|
155
|
+
bodyParameters?: Record<string, any>[];
|
|
156
|
+
metadata?: BotMessageMetadata;
|
|
157
|
+
}): BotServerMessageWhatsappMediaCarousel;
|
|
158
|
+
static createWhatsappTemplate({ name, namespace, languageCode, components, metadata, }: {
|
|
159
|
+
name: string;
|
|
160
|
+
namespace: string;
|
|
161
|
+
languageCode: string;
|
|
162
|
+
components: WhatsappTemplateComponent[];
|
|
163
|
+
metadata?: BotMessageMetadata;
|
|
164
|
+
}): BotServerMessageWhatsappTemplate;
|
|
165
|
+
}
|
|
166
|
+
export {};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { BotonicButtonMessageData, BotonicButtonType, BotonicCarouselData, BotonicCustomData, BotonicLocationData, BotonicOutputAudioData, BotonicOutputDocumentData, BotonicOutputImageData, BotonicOutputVideoData, BotonicTextData, BotonicTypingEventData, BotonicWhatsappButtonListData, BotonicWhatsappCatalogData, BotonicWhatsappCTAUrlButtonData, BotonicWhatsappMediaCarouselData, BotonicWhatsappProductCarouselData, BotonicWhatsappProductData, BotonicWhatsappProductListData, BotonicWhatsappTemplateData, } from '../botonic';
|
|
2
|
+
import { BotServerMessageAudio, BotServerMessageButtonMessage, BotServerMessageCarousel, BotServerMessageCustom, BotServerMessageDocument, BotServerMessageImage, BotServerMessageLocation, BotServerMessageText, BotServerMessageTypingEvent, BotServerMessageVideo, BotServerMessageWhatsappButtonList, BotServerMessageWhatsappCatalog, BotServerMessageWhatsappCTAUrlButton, BotServerMessageWhatsappMediaCarousel, BotServerMessageWhatsappProduct, BotServerMessageWhatsappProductCarousel, BotServerMessageWhatsappProductList, BotServerMessageWhatsappTemplate, } from './bot-server-message';
|
|
3
|
+
export class BotServerMessageFactory {
|
|
4
|
+
static createText({ text, payload, metadata, }) {
|
|
5
|
+
return new BotServerMessageText(new BotonicTextData(text, payload), metadata);
|
|
6
|
+
}
|
|
7
|
+
static createAudio({ attachmentUrl, attachmentContent, caption, fileInfo, metadata, }) {
|
|
8
|
+
return new BotServerMessageAudio(new BotonicOutputAudioData({
|
|
9
|
+
attachment_url: attachmentUrl,
|
|
10
|
+
attachment_content: attachmentContent,
|
|
11
|
+
caption: caption,
|
|
12
|
+
file_info: fileInfo,
|
|
13
|
+
}), metadata);
|
|
14
|
+
}
|
|
15
|
+
static createImage({ attachmentUrl, attachmentContent, caption, fileInfo, metadata, }) {
|
|
16
|
+
return new BotServerMessageImage(new BotonicOutputImageData({
|
|
17
|
+
attachment_url: attachmentUrl,
|
|
18
|
+
attachment_content: attachmentContent,
|
|
19
|
+
caption: caption,
|
|
20
|
+
file_info: fileInfo,
|
|
21
|
+
}), metadata);
|
|
22
|
+
}
|
|
23
|
+
static createVideo({ attachmentUrl, attachmentContent, caption, fileInfo, metadata, }) {
|
|
24
|
+
return new BotServerMessageVideo(new BotonicOutputVideoData({
|
|
25
|
+
attachment_url: attachmentUrl,
|
|
26
|
+
attachment_content: attachmentContent,
|
|
27
|
+
caption: caption,
|
|
28
|
+
file_info: fileInfo,
|
|
29
|
+
}), metadata);
|
|
30
|
+
}
|
|
31
|
+
static createDocument({ attachmentUrl, attachmentContent, caption, fileInfo, metadata, }) {
|
|
32
|
+
return new BotServerMessageDocument(new BotonicOutputDocumentData({
|
|
33
|
+
attachment_url: attachmentUrl,
|
|
34
|
+
attachment_content: attachmentContent,
|
|
35
|
+
caption: caption,
|
|
36
|
+
file_info: fileInfo,
|
|
37
|
+
}), metadata);
|
|
38
|
+
}
|
|
39
|
+
static createLocation({ latitude, longitude, title, address, metadata, }) {
|
|
40
|
+
return new BotServerMessageLocation(new BotonicLocationData(latitude, longitude, title, address), metadata);
|
|
41
|
+
}
|
|
42
|
+
static createButtonMessage({ text, buttons, metadata, }) {
|
|
43
|
+
return new BotServerMessageButtonMessage(new BotonicButtonMessageData(text, buttons), metadata);
|
|
44
|
+
}
|
|
45
|
+
static createCarousel({ elements, text, metadata, }) {
|
|
46
|
+
return new BotServerMessageCarousel(new BotonicCarouselData(elements, text), metadata);
|
|
47
|
+
}
|
|
48
|
+
static createCustom({ name, props, metadata, }) {
|
|
49
|
+
return new BotServerMessageCustom(new BotonicCustomData(name, props), metadata);
|
|
50
|
+
}
|
|
51
|
+
static createTypingEvent({ eventName, metadata, }) {
|
|
52
|
+
return new BotServerMessageTypingEvent(new BotonicTypingEventData(eventName), metadata);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Creates a postback button that sends a payload when clicked
|
|
56
|
+
*/
|
|
57
|
+
static createPostbackButton({ title, payload, }) {
|
|
58
|
+
return { type: BotonicButtonType.Postback, title, payload };
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Creates a URL button that opens a link in the browser
|
|
62
|
+
*/
|
|
63
|
+
static createUrlButton({ title, url, }) {
|
|
64
|
+
return { type: BotonicButtonType.WebUrl, title, url };
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Creates a webview button that opens a URL in a webview
|
|
68
|
+
*/
|
|
69
|
+
static createWebviewButton(webviewButtonParams, session) {
|
|
70
|
+
const { title, webview, params } = webviewButtonParams;
|
|
71
|
+
const url = new URL(`${process.env.STATIC_URL}/webviews/${webview}`);
|
|
72
|
+
url.searchParams.set('user_id', session.user.id);
|
|
73
|
+
url.searchParams.set('bot_id', session.bot.id);
|
|
74
|
+
if (params) {
|
|
75
|
+
Object.entries(params).forEach(([key, value]) => url.searchParams.set(key, String(value)));
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
type: BotonicButtonType.WebUrl,
|
|
79
|
+
title,
|
|
80
|
+
url: url.toString(),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Helper method to create a carousel element
|
|
85
|
+
* This simplifies carousel element creation
|
|
86
|
+
*/
|
|
87
|
+
static createCarouselElement({ title, subtitle, image, buttons, }) {
|
|
88
|
+
return {
|
|
89
|
+
title,
|
|
90
|
+
subtitle,
|
|
91
|
+
image,
|
|
92
|
+
buttons,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
static createWhatsappButtonList({ header, body, footer, button, sections, metadata, }) {
|
|
96
|
+
return new BotServerMessageWhatsappButtonList(new BotonicWhatsappButtonListData({
|
|
97
|
+
header,
|
|
98
|
+
body,
|
|
99
|
+
footer,
|
|
100
|
+
button,
|
|
101
|
+
sections,
|
|
102
|
+
}), metadata);
|
|
103
|
+
}
|
|
104
|
+
static createWhatsappCTAUrlButton({ headerType, header, headerImage, headerDocument, headerVideo, body, url, displayText, footer, metadata, }) {
|
|
105
|
+
return new BotServerMessageWhatsappCTAUrlButton(new BotonicWhatsappCTAUrlButtonData({
|
|
106
|
+
header_type: headerType,
|
|
107
|
+
header,
|
|
108
|
+
header_image: headerImage,
|
|
109
|
+
header_document: headerDocument,
|
|
110
|
+
header_video: headerVideo,
|
|
111
|
+
body,
|
|
112
|
+
url,
|
|
113
|
+
display_text: displayText,
|
|
114
|
+
footer,
|
|
115
|
+
}), metadata);
|
|
116
|
+
}
|
|
117
|
+
static createWhatsappCatalog({ body, footer, thumbnailProductId, metadata, }) {
|
|
118
|
+
return new BotServerMessageWhatsappCatalog(new BotonicWhatsappCatalogData({
|
|
119
|
+
body,
|
|
120
|
+
footer,
|
|
121
|
+
thumbnail_product_id: thumbnailProductId,
|
|
122
|
+
}), metadata);
|
|
123
|
+
}
|
|
124
|
+
static createWhatsappProduct({ body, catalogId, productId, footer, metadata, }) {
|
|
125
|
+
return new BotServerMessageWhatsappProduct(new BotonicWhatsappProductData({
|
|
126
|
+
body,
|
|
127
|
+
catalog_id: catalogId,
|
|
128
|
+
product_id: productId,
|
|
129
|
+
footer,
|
|
130
|
+
}), metadata);
|
|
131
|
+
}
|
|
132
|
+
static createWhatsappProductList({ header, body, footer, catalogId, sections, metadata, }) {
|
|
133
|
+
return new BotServerMessageWhatsappProductList(new BotonicWhatsappProductListData({
|
|
134
|
+
body,
|
|
135
|
+
catalog_id: catalogId,
|
|
136
|
+
header,
|
|
137
|
+
sections,
|
|
138
|
+
footer,
|
|
139
|
+
}), metadata);
|
|
140
|
+
}
|
|
141
|
+
static createWhatsappProductCarousel({ templateName, templateLanguage, cards, bodyParameters, metadata, }) {
|
|
142
|
+
return new BotServerMessageWhatsappProductCarousel(new BotonicWhatsappProductCarouselData({
|
|
143
|
+
template_name: templateName,
|
|
144
|
+
template_language: templateLanguage,
|
|
145
|
+
cards,
|
|
146
|
+
body_parameters: bodyParameters,
|
|
147
|
+
}), metadata);
|
|
148
|
+
}
|
|
149
|
+
static createWhatsappMediaCarousel({ templateName, templateLanguage, cards, bodyParameters, metadata, }) {
|
|
150
|
+
return new BotServerMessageWhatsappMediaCarousel(new BotonicWhatsappMediaCarouselData({
|
|
151
|
+
template_name: templateName,
|
|
152
|
+
template_language: templateLanguage,
|
|
153
|
+
cards,
|
|
154
|
+
body_parameters: bodyParameters,
|
|
155
|
+
}), metadata);
|
|
156
|
+
}
|
|
157
|
+
static createWhatsappTemplate({ name, namespace, languageCode, components, metadata, }) {
|
|
158
|
+
return new BotServerMessageWhatsappTemplate(new BotonicWhatsappTemplateData({
|
|
159
|
+
name,
|
|
160
|
+
namespace,
|
|
161
|
+
language_code: languageCode,
|
|
162
|
+
components,
|
|
163
|
+
}), metadata);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/server/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EAEnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,kCAAkC,EAClC,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,GAQ5B,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,kCAAkC,EAClC,+BAA+B,EAC/B,oCAAoC,EACpC,qCAAqC,EACrC,+BAA+B,EAC/B,uCAAuC,EACvC,mCAAmC,EACnC,gCAAgC,GACjC,MAAM,sBAAsB,CAAA;AAU7B,MAAM,OAAO,uBAAuB;IAClC,MAAM,CAAC,UAAU,CAAC,EAChB,IAAI,EACJ,OAAO,EACP,QAAQ,GAKT;QACC,OAAO,IAAI,oBAAoB,CAC7B,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAClC,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,EACjB,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,QAAQ,GAOT;QACC,OAAO,IAAI,qBAAqB,CAC9B,IAAI,sBAAsB,CAAC;YACzB,cAAc,EAAE,aAAa;YAC7B,kBAAkB,EAAE,iBAAiB;YACrC,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,QAAQ;SACpB,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,EACjB,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,QAAQ,GAOT;QACC,OAAO,IAAI,qBAAqB,CAC9B,IAAI,sBAAsB,CAAC;YACzB,cAAc,EAAE,aAAa;YAC7B,kBAAkB,EAAE,iBAAiB;YACrC,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,QAAQ;SACpB,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,EACjB,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,QAAQ,GAOT;QACC,OAAO,IAAI,qBAAqB,CAC9B,IAAI,sBAAsB,CAAC;YACzB,cAAc,EAAE,aAAa;YAC7B,kBAAkB,EAAE,iBAAiB;YACrC,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,QAAQ;SACpB,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,EACpB,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,QAAQ,GAOT;QACC,OAAO,IAAI,wBAAwB,CACjC,IAAI,yBAAyB,CAAC;YAC5B,cAAc,EAAE,aAAa;YAC7B,kBAAkB,EAAE,iBAAiB;YACrC,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,QAAQ;SACpB,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,EACpB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,GAOT;QACC,OAAO,IAAI,wBAAwB,CACjC,IAAI,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EAC5D,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,EACzB,IAAI,EACJ,OAAO,EACP,QAAQ,GAKT;QACC,OAAO,IAAI,6BAA6B,CACtC,IAAI,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,EAC3C,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,EACpB,QAAQ,EACR,IAAI,EACJ,QAAQ,GAKT;QACC,OAAO,IAAI,wBAAwB,CACjC,IAAI,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,EACvC,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,EAClB,IAAI,EACJ,KAAK,EACL,QAAQ,GAKT;QACC,OAAO,IAAI,sBAAsB,CAC/B,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,EAClC,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,EACvB,SAAS,EACT,QAAQ,GAIT;QACC,OAAO,IAAI,2BAA2B,CACpC,IAAI,sBAAsB,CAAC,SAAS,CAAC,EACrC,QAAQ,CACT,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,EAC1B,KAAK,EACL,OAAO,GAIR;QACC,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IAC7D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,EACrB,KAAK,EACL,GAAG,GAIJ;QACC,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;IACvD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CACxB,mBAAwC,EACxC,OAAsD;QAEtD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAA;QAEtD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,aAAa,OAAO,EAAE,CAAC,CAAA;QACpE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAE9C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAC9C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CACzC,CAAA;QACH,CAAC;QACD,OAAO;YACL,IAAI,EAAE,iBAAiB,CAAC,MAAM;YAC9B,KAAK;YACL,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;SACpB,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,OAAO,GAMR;QACC,OAAO;YACL,KAAK;YACL,QAAQ;YACR,KAAK;YACL,OAAO;SACR,CAAA;IACH,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,EAC9B,MAAM,EACN,IAAI,EACJ,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,GAQT;QACC,OAAO,IAAI,kCAAkC,CAC3C,IAAI,6BAA6B,CAAC;YAChC,MAAM;YACN,IAAI;YACJ,MAAM;YACN,MAAM;YACN,QAAQ;SACT,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,EAChC,UAAU,EACV,MAAM,EACN,WAAW,EACX,cAAc,EACd,WAAW,EACX,IAAI,EACJ,GAAG,EACH,WAAW,EACX,MAAM,EACN,QAAQ,GAYT;QACC,OAAO,IAAI,oCAAoC,CAC7C,IAAI,+BAA+B,CAAC;YAClC,WAAW,EAAE,UAAU;YACvB,MAAM;YACN,YAAY,EAAE,WAAW;YACzB,eAAe,EAAE,cAAc;YAC/B,YAAY,EAAE,WAAW;YACzB,IAAI;YACJ,GAAG;YACH,YAAY,EAAE,WAAW;YACzB,MAAM;SACP,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,EAC3B,IAAI,EACJ,MAAM,EACN,kBAAkB,EAClB,QAAQ,GAMT;QACC,OAAO,IAAI,+BAA+B,CACxC,IAAI,0BAA0B,CAAC;YAC7B,IAAI;YACJ,MAAM;YACN,oBAAoB,EAAE,kBAAkB;SACzC,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,EAC3B,IAAI,EACJ,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,GAOT;QACC,OAAO,IAAI,+BAA+B,CACxC,IAAI,0BAA0B,CAAC;YAC7B,IAAI;YACJ,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;YACrB,MAAM;SACP,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,EAC/B,MAAM,EACN,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,GAQT;QACC,OAAO,IAAI,mCAAmC,CAC5C,IAAI,8BAA8B,CAAC;YACjC,IAAI;YACJ,UAAU,EAAE,SAAS;YACrB,MAAM;YACN,QAAQ;YACR,MAAM;SACP,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,6BAA6B,CAAC,EACnC,YAAY,EACZ,gBAAgB,EAChB,KAAK,EACL,cAAc,EACd,QAAQ,GAOT;QACC,OAAO,IAAI,uCAAuC,CAChD,IAAI,kCAAkC,CAAC;YACrC,aAAa,EAAE,YAAY;YAC3B,iBAAiB,EAAE,gBAAgB;YACnC,KAAK;YACL,eAAe,EAAE,cAAc;SAChC,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,EACjC,YAAY,EACZ,gBAAgB,EAChB,KAAK,EACL,cAAc,EACd,QAAQ,GAOT;QACC,OAAO,IAAI,qCAAqC,CAC9C,IAAI,gCAAgC,CAAC;YACnC,aAAa,EAAE,YAAY;YAC3B,iBAAiB,EAAE,gBAAgB;YACnC,KAAK;YACL,eAAe,EAAE,cAAc;SAChC,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,EAC5B,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,GAOT;QACC,OAAO,IAAI,gCAAgC,CACzC,IAAI,2BAA2B,CAAC;YAC9B,IAAI;YACJ,SAAS;YACT,aAAa,EAAE,YAAY;YAC3B,UAAU;SACX,CAAC,EACF,QAAQ,CACT,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format a UUID string without dashes to standard UUID format (8-4-4-4-12)
|
|
3
|
+
* TODO: Currently our backend send us the uuid without dashes, so we need to format it to the standard uuid format until we fix it in backend.
|
|
4
|
+
*/
|
|
5
|
+
export declare function strUuidToUuidFormat(uuid: string | undefined): string | undefined;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format a UUID string without dashes to standard UUID format (8-4-4-4-12)
|
|
3
|
+
* TODO: Currently our backend send us the uuid without dashes, so we need to format it to the standard uuid format until we fix it in backend.
|
|
4
|
+
*/
|
|
5
|
+
export function strUuidToUuidFormat(uuid) {
|
|
6
|
+
if (!uuid)
|
|
7
|
+
return uuid;
|
|
8
|
+
const clean = uuid.replace(/-/g, '');
|
|
9
|
+
if (clean.length !== 32)
|
|
10
|
+
return uuid;
|
|
11
|
+
return `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(12, 16)}-${clean.slice(16, 20)}-${clean.slice(20)}`;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/shared/src/lib/domain/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAwB;IAExB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;AACtH,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { BotonicButtonType, MessageType, TypingEventName, WebchatMessageMetadata } from '../botonic';
|
|
2
|
+
import { RealtimeRawResponseMessage } from './realtime/realtime-response-message';
|
|
3
|
+
import { UserInputMessage } from './user/user-input-message';
|
|
4
|
+
import { WebchatMessage } from './webchat-message';
|
|
5
|
+
export interface StoredMessage extends WebchatMessage {
|
|
6
|
+
status?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class WebchatMessageFactory {
|
|
9
|
+
static fromUserInput(userInput: UserInputMessage): WebchatMessage;
|
|
10
|
+
static fromRealtimeRawResponseMessage(realtimeRawResponseMessage: RealtimeRawResponseMessage, providerId?: string): WebchatMessage;
|
|
11
|
+
static fromStoredMessage(storedMessage: StoredMessage): WebchatMessage;
|
|
12
|
+
static createText({ text, payload, metadata, }: {
|
|
13
|
+
text: string;
|
|
14
|
+
payload?: string;
|
|
15
|
+
metadata?: WebchatMessageMetadata;
|
|
16
|
+
}): WebchatMessage<MessageType.Text>;
|
|
17
|
+
static createPostback({ payload, metadata, }: {
|
|
18
|
+
payload: string;
|
|
19
|
+
metadata?: WebchatMessageMetadata;
|
|
20
|
+
}): WebchatMessage<MessageType.Postback>;
|
|
21
|
+
static createAudio({ attachmentUrl, metadata, }: {
|
|
22
|
+
attachmentUrl: string;
|
|
23
|
+
metadata?: WebchatMessageMetadata;
|
|
24
|
+
}): WebchatMessage<MessageType.Audio>;
|
|
25
|
+
static createImage({ attachmentUrl, metadata, }: {
|
|
26
|
+
attachmentUrl: string;
|
|
27
|
+
metadata?: WebchatMessageMetadata;
|
|
28
|
+
}): WebchatMessage<MessageType.Image>;
|
|
29
|
+
static createVideo({ attachmentUrl, metadata, }: {
|
|
30
|
+
attachmentUrl: string;
|
|
31
|
+
metadata?: WebchatMessageMetadata;
|
|
32
|
+
}): WebchatMessage<MessageType.Video>;
|
|
33
|
+
static createDocument({ attachmentUrl, metadata, }: {
|
|
34
|
+
attachmentUrl: string;
|
|
35
|
+
metadata?: WebchatMessageMetadata;
|
|
36
|
+
}): WebchatMessage<MessageType.Document>;
|
|
37
|
+
static createLocation({ latitude, longitude, title, address, metadata, }: {
|
|
38
|
+
latitude: number;
|
|
39
|
+
longitude: number;
|
|
40
|
+
title?: string;
|
|
41
|
+
address?: string;
|
|
42
|
+
metadata?: WebchatMessageMetadata;
|
|
43
|
+
}): WebchatMessage<MessageType.Location>;
|
|
44
|
+
static createTypingEvent({ eventName, metadata, }: {
|
|
45
|
+
eventName: TypingEventName;
|
|
46
|
+
metadata?: WebchatMessageMetadata;
|
|
47
|
+
}): WebchatMessage<MessageType.TypingEvent>;
|
|
48
|
+
static createButtonMessage({ text, buttons, metadata, }: {
|
|
49
|
+
text: string;
|
|
50
|
+
buttons: Array<{
|
|
51
|
+
type: BotonicButtonType;
|
|
52
|
+
title: string;
|
|
53
|
+
url?: string;
|
|
54
|
+
payload?: string;
|
|
55
|
+
webview?: string;
|
|
56
|
+
}>;
|
|
57
|
+
metadata?: WebchatMessageMetadata;
|
|
58
|
+
}): WebchatMessage<MessageType.ButtonMessage>;
|
|
59
|
+
static createCarousel({ elements, text, metadata, }: {
|
|
60
|
+
text?: string;
|
|
61
|
+
elements: Array<{
|
|
62
|
+
id: string;
|
|
63
|
+
title: string;
|
|
64
|
+
subtitle: string;
|
|
65
|
+
image: string;
|
|
66
|
+
buttons: Array<{
|
|
67
|
+
type: BotonicButtonType;
|
|
68
|
+
title: string;
|
|
69
|
+
url?: string;
|
|
70
|
+
payload?: string;
|
|
71
|
+
webview?: string;
|
|
72
|
+
}>;
|
|
73
|
+
}>;
|
|
74
|
+
metadata?: WebchatMessageMetadata;
|
|
75
|
+
}): WebchatMessage<MessageType.Carousel>;
|
|
76
|
+
static createCustom({ name, props, metadata, }: {
|
|
77
|
+
name: string;
|
|
78
|
+
props: Record<string, unknown>;
|
|
79
|
+
metadata?: WebchatMessageMetadata;
|
|
80
|
+
}): WebchatMessage<MessageType.Custom>;
|
|
81
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// FACTORY
|
|
3
|
+
// ============================================================================
|
|
4
|
+
import { BotonicAudioData, BotonicButtonMessageData, BotonicCarouselData, BotonicCustomData, BotonicDocumentData, BotonicImageData, BotonicLocationData, BotonicPostbackData, BotonicTextData, BotonicTypingEventData, BotonicVideoData, MessageType, } from '../botonic';
|
|
5
|
+
import { strUuidToUuidFormat } from '../utils';
|
|
6
|
+
import { RealtimeResponseMessageFactory } from './realtime';
|
|
7
|
+
import { WebchatMessage } from './webchat-message';
|
|
8
|
+
export class WebchatMessageFactory {
|
|
9
|
+
static fromUserInput(userInput) {
|
|
10
|
+
return new WebchatMessage(userInput.type, userInput.data, {
|
|
11
|
+
provider_id: userInput.provider_id,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
static fromRealtimeRawResponseMessage(realtimeRawResponseMessage, providerId) {
|
|
15
|
+
const realtimeResponseMessage = RealtimeResponseMessageFactory.fromRealtimeRawResponseMessage(realtimeRawResponseMessage);
|
|
16
|
+
return new WebchatMessage(realtimeResponseMessage.type, realtimeResponseMessage.data, {
|
|
17
|
+
provider_id: providerId,
|
|
18
|
+
message_id: strUuidToUuidFormat(realtimeResponseMessage.message_id),
|
|
19
|
+
sent_by: realtimeResponseMessage.sent_by,
|
|
20
|
+
bot_interaction_id: realtimeResponseMessage.bot_interaction_id,
|
|
21
|
+
feedback_enabled: realtimeResponseMessage.feedback_enabled,
|
|
22
|
+
inference_id: realtimeResponseMessage.inference_id,
|
|
23
|
+
typing: realtimeResponseMessage.typing,
|
|
24
|
+
delay: realtimeResponseMessage.delay,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
static fromStoredMessage(storedMessage) {
|
|
28
|
+
return new WebchatMessage(storedMessage.type, storedMessage.data, {
|
|
29
|
+
provider_id: storedMessage.provider_id,
|
|
30
|
+
message_id: strUuidToUuidFormat(storedMessage.message_id),
|
|
31
|
+
sent_by: storedMessage.sent_by,
|
|
32
|
+
bot_interaction_id: storedMessage.bot_interaction_id,
|
|
33
|
+
feedback_enabled: storedMessage.feedback_enabled,
|
|
34
|
+
inference_id: storedMessage.inference_id,
|
|
35
|
+
typing: storedMessage.typing,
|
|
36
|
+
delay: storedMessage.delay,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
static createText({ text, payload, metadata, }) {
|
|
40
|
+
return new WebchatMessage(MessageType.Text, new BotonicTextData(text, payload), metadata);
|
|
41
|
+
}
|
|
42
|
+
static createPostback({ payload, metadata, }) {
|
|
43
|
+
return new WebchatMessage(MessageType.Postback, new BotonicPostbackData(payload), metadata);
|
|
44
|
+
}
|
|
45
|
+
static createAudio({ attachmentUrl, metadata, }) {
|
|
46
|
+
return new WebchatMessage(MessageType.Audio, new BotonicAudioData(attachmentUrl), metadata);
|
|
47
|
+
}
|
|
48
|
+
static createImage({ attachmentUrl, metadata, }) {
|
|
49
|
+
return new WebchatMessage(MessageType.Image, new BotonicImageData(attachmentUrl), metadata);
|
|
50
|
+
}
|
|
51
|
+
static createVideo({ attachmentUrl, metadata, }) {
|
|
52
|
+
return new WebchatMessage(MessageType.Video, new BotonicVideoData(attachmentUrl), metadata);
|
|
53
|
+
}
|
|
54
|
+
static createDocument({ attachmentUrl, metadata, }) {
|
|
55
|
+
return new WebchatMessage(MessageType.Document, new BotonicDocumentData(attachmentUrl), metadata);
|
|
56
|
+
}
|
|
57
|
+
static createLocation({ latitude, longitude, title, address, metadata, }) {
|
|
58
|
+
return new WebchatMessage(MessageType.Location, new BotonicLocationData(latitude, longitude, title, address), metadata);
|
|
59
|
+
}
|
|
60
|
+
static createTypingEvent({ eventName, metadata, }) {
|
|
61
|
+
return new WebchatMessage(MessageType.TypingEvent, new BotonicTypingEventData(eventName), metadata);
|
|
62
|
+
}
|
|
63
|
+
static createButtonMessage({ text, buttons, metadata, }) {
|
|
64
|
+
return new WebchatMessage(MessageType.ButtonMessage, new BotonicButtonMessageData(text, buttons), metadata);
|
|
65
|
+
}
|
|
66
|
+
static createCarousel({ elements, text, metadata, }) {
|
|
67
|
+
return new WebchatMessage(MessageType.Carousel, new BotonicCarouselData(elements, text), metadata);
|
|
68
|
+
}
|
|
69
|
+
static createCustom({ name, props, metadata, }) {
|
|
70
|
+
return new WebchatMessage(MessageType.Custom, new BotonicCustomData(name, props), metadata);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/webchat/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/botonic/shared/src/lib/domain/webchat/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BotonicButtonContent, BotonicCarouselElement, RealtimeResponseMessageMetadata, TypingEventName } from '../../botonic';
|
|
2
|
+
import { RealtimeRawResponseMessage, RealtimeResponseMessageAudio, RealtimeResponseMessageButtonMessage, RealtimeResponseMessageCarousel, RealtimeResponseMessageCustom, RealtimeResponseMessageDocument, RealtimeResponseMessageImage, RealtimeResponseMessageLocation, RealtimeResponseMessageText, RealtimeResponseMessageType, RealtimeResponseMessageTypingEvent, RealtimeResponseMessageVideo } from './realtime-response-message';
|
|
3
|
+
export declare class RealtimeResponseMessageFactory {
|
|
4
|
+
static createText({ text, payload, metadata, }: {
|
|
5
|
+
text: string;
|
|
6
|
+
payload: string | undefined;
|
|
7
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
8
|
+
}): RealtimeResponseMessageText;
|
|
9
|
+
static createAudio({ attachmentUrl, metadata, }: {
|
|
10
|
+
attachmentUrl: string;
|
|
11
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
12
|
+
}): RealtimeResponseMessageAudio;
|
|
13
|
+
static createImage({ attachmentUrl, metadata, }: {
|
|
14
|
+
attachmentUrl: string;
|
|
15
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
16
|
+
}): RealtimeResponseMessageImage;
|
|
17
|
+
static createVideo({ attachmentUrl, metadata, }: {
|
|
18
|
+
attachmentUrl: string;
|
|
19
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
20
|
+
}): RealtimeResponseMessageVideo;
|
|
21
|
+
static createDocument({ attachmentUrl, metadata, }: {
|
|
22
|
+
attachmentUrl: string;
|
|
23
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
24
|
+
}): RealtimeResponseMessageDocument;
|
|
25
|
+
static createLocation({ latitude, longitude, title, address, metadata, }: {
|
|
26
|
+
latitude: number;
|
|
27
|
+
longitude: number;
|
|
28
|
+
title?: string;
|
|
29
|
+
address?: string;
|
|
30
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
31
|
+
}): RealtimeResponseMessageLocation;
|
|
32
|
+
static createButtonMessage({ text, buttons, metadata, }: {
|
|
33
|
+
text: string;
|
|
34
|
+
buttons: BotonicButtonContent[];
|
|
35
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
36
|
+
}): RealtimeResponseMessageButtonMessage;
|
|
37
|
+
static createCarousel({ elements, text, metadata, }: {
|
|
38
|
+
elements: BotonicCarouselElement[];
|
|
39
|
+
text?: string;
|
|
40
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
41
|
+
}): RealtimeResponseMessageCarousel;
|
|
42
|
+
static createCustom({ name, props, metadata, }: {
|
|
43
|
+
name: string;
|
|
44
|
+
props: Record<string, unknown>;
|
|
45
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
46
|
+
}): RealtimeResponseMessageCustom;
|
|
47
|
+
static createTypingEvent({ eventName, metadata, }: {
|
|
48
|
+
eventName: TypingEventName;
|
|
49
|
+
metadata: RealtimeResponseMessageMetadata;
|
|
50
|
+
}): RealtimeResponseMessageTypingEvent;
|
|
51
|
+
static fromRealtimeRawResponseMessage(rawResponseMessage: RealtimeRawResponseMessage): RealtimeResponseMessageType;
|
|
52
|
+
}
|