@servicetitan/titan-chatbot-ui-cypress 3.0.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.
Files changed (45) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/mocks/chat-ui.store.mock.d.ts +69 -0
  7. package/dist/mocks/chat-ui.store.mock.d.ts.map +1 -0
  8. package/dist/mocks/chat-ui.store.mock.js +303 -0
  9. package/dist/mocks/chat-ui.store.mock.js.map +1 -0
  10. package/dist/mocks/chatbot-api-client.mock.d.ts +11 -0
  11. package/dist/mocks/chatbot-api-client.mock.d.ts.map +1 -0
  12. package/dist/mocks/chatbot-api-client.mock.js +47 -0
  13. package/dist/mocks/chatbot-api-client.mock.js.map +1 -0
  14. package/dist/mocks/dependencies.mock.d.ts +7 -0
  15. package/dist/mocks/dependencies.mock.d.ts.map +1 -0
  16. package/dist/mocks/dependencies.mock.js +23 -0
  17. package/dist/mocks/dependencies.mock.js.map +1 -0
  18. package/dist/mocks/index.d.ts +6 -0
  19. package/dist/mocks/index.d.ts.map +1 -0
  20. package/dist/mocks/index.js +6 -0
  21. package/dist/mocks/index.js.map +1 -0
  22. package/dist/mocks/native-client-help-center.mock.d.ts +62 -0
  23. package/dist/mocks/native-client-help-center.mock.d.ts.map +1 -0
  24. package/dist/mocks/native-client-help-center.mock.js +130 -0
  25. package/dist/mocks/native-client-help-center.mock.js.map +1 -0
  26. package/dist/mocks/native-client.mock.d.ts +96 -0
  27. package/dist/mocks/native-client.mock.d.ts.map +1 -0
  28. package/dist/mocks/native-client.mock.js +206 -0
  29. package/dist/mocks/native-client.mock.js.map +1 -0
  30. package/dist/utils/chat-ui-selectors.d.ts +135 -0
  31. package/dist/utils/chat-ui-selectors.d.ts.map +1 -0
  32. package/dist/utils/chat-ui-selectors.js +273 -0
  33. package/dist/utils/chat-ui-selectors.js.map +1 -0
  34. package/package.json +35 -0
  35. package/src/cypress.d.ts +10 -0
  36. package/src/index.ts +2 -0
  37. package/src/mocks/chat-ui.store.mock.ts +114 -0
  38. package/src/mocks/chatbot-api-client.mock.ts +18 -0
  39. package/src/mocks/dependencies.mock.ts +7 -0
  40. package/src/mocks/index.ts +5 -0
  41. package/src/mocks/native-client-help-center.mock.ts +139 -0
  42. package/src/mocks/native-client.mock.ts +213 -0
  43. package/src/utils/chat-ui-selectors.ts +264 -0
  44. package/tsconfig.json +24 -0
  45. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,213 @@
1
+ import { Models } from '@servicetitan/titan-chatbot-api';
2
+
3
+ const sessionId = 100;
4
+ const messageId = 1;
5
+
6
+ export const Options = {
7
+ response: {
8
+ options: {
9
+ key: 'customer-knowledge',
10
+ displayName: null,
11
+ type: 1,
12
+ subOptions: [
13
+ {
14
+ key: 'Sources',
15
+ displayName: 'Sources',
16
+ type: 1,
17
+ subOptions: [
18
+ {
19
+ key: 'KnowledgeBase',
20
+ displayName: 'Knowledge Base',
21
+ type: 2,
22
+ subOptions: [
23
+ {
24
+ key: 'ContentTypes',
25
+ displayName: 'Content Types',
26
+ type: 1,
27
+ subOptions: [
28
+ {
29
+ key: 'kbReleaseNotes',
30
+ displayName: 'Release Notes',
31
+ type: 2,
32
+ subOptions: null,
33
+ },
34
+ {
35
+ key: 'kbFaq',
36
+ displayName: 'FAQ',
37
+ type: 2,
38
+ subOptions: null,
39
+ },
40
+ {
41
+ key: 'kbHowTo',
42
+ displayName: 'How To',
43
+ type: 2,
44
+ subOptions: null,
45
+ },
46
+ ],
47
+ },
48
+ {
49
+ key: 'ProductAreas',
50
+ displayName: 'Product Areas',
51
+ type: 1,
52
+ subOptions: [
53
+ {
54
+ key: 'Call Booking',
55
+ displayName: 'Call Booking',
56
+ type: 2,
57
+ subOptions: null,
58
+ },
59
+ {
60
+ key: 'Marketing',
61
+ displayName: 'Marketing',
62
+ type: 2,
63
+ subOptions: null,
64
+ },
65
+ {
66
+ key: 'Marketing Pro',
67
+ displayName: 'Marketing Pro',
68
+ type: 2,
69
+ subOptions: null,
70
+ },
71
+ ],
72
+ },
73
+ ],
74
+ },
75
+ ],
76
+ },
77
+ ],
78
+ },
79
+ },
80
+ intercept: (baseUrl: string, version: number) => {
81
+ cy.intercept('GET', `${baseUrl}/api/v${version}/options`, {
82
+ statusCode: 200,
83
+ body: Options.response,
84
+ }).as('getOptions');
85
+ return '@getOptions';
86
+ },
87
+ };
88
+
89
+ export const SessionPost = {
90
+ request: {},
91
+ response: {
92
+ id: sessionId,
93
+ data: null,
94
+ },
95
+ intercept: (baseUrl: string, version: number) => {
96
+ cy.intercept('POST', `${baseUrl}/api/v${version}/session`, {
97
+ statusCode: 200,
98
+ body: SessionPost.response,
99
+ }).as('sessionPost');
100
+ return '@sessionPost';
101
+ },
102
+ };
103
+
104
+ export const SessionPatch = {
105
+ request: {
106
+ id: sessionId,
107
+ data: {
108
+ closedUtc: new Date().toISOString(),
109
+ },
110
+ },
111
+ response: {
112
+ id: sessionId,
113
+ data: {
114
+ closedUtc: new Date().toISOString(),
115
+ },
116
+ },
117
+ intercept: (baseUrl: string, version: number) => {
118
+ cy.intercept('PATCH', `${baseUrl}/api/v${version}/session`, {
119
+ statusCode: 200,
120
+ body: SessionPatch.response,
121
+ }).as('sessionPatch');
122
+ return '@sessionPatch';
123
+ },
124
+ };
125
+
126
+ export const SessionDelete = {
127
+ request: {
128
+ id: sessionId,
129
+ },
130
+ response: {
131
+ id: sessionId,
132
+ data: {
133
+ closedUtc: new Date().toISOString(),
134
+ },
135
+ },
136
+ intercept: (baseUrl: string, version: number) => {
137
+ cy.intercept('DELETE', `${baseUrl}/api/v${version}/session`, {
138
+ statusCode: 204,
139
+ }).as('sessionDelete');
140
+ return '@sessionDelete';
141
+ },
142
+ };
143
+
144
+ export const MessagePost = {
145
+ request: {
146
+ sessionId,
147
+ question: 'how to change my password?',
148
+ experience: Models.Experience.MultiTurn,
149
+ },
150
+ response: {
151
+ id: messageId,
152
+ sessionId,
153
+ answer: "Echo answer to 'how to change my password?'",
154
+ scoredUrls: null,
155
+ guardFlag: 'N',
156
+ isGuardrailed: false,
157
+ },
158
+ intercept: (baseUrl: string, version: number) => {
159
+ cy.intercept('POST', `${baseUrl}/api/v${version}/message`, {
160
+ statusCode: 200,
161
+ body: MessagePost.response,
162
+ }).as('messagePost');
163
+ return '@messagePost';
164
+ },
165
+ };
166
+
167
+ export const MessageFeedbackPost = {
168
+ request: {
169
+ sessionId,
170
+ messageId,
171
+ rating: Models.FeedbackRatings.ThumbsUp,
172
+ } as Models.IFeedback,
173
+ response: {
174
+ sessionId,
175
+ messageId,
176
+ rating: Models.FeedbackRatings.ThumbsUp,
177
+ } as Models.IFeedback,
178
+ };
179
+
180
+ export const SessionFeedbackPost = {
181
+ request: {
182
+ sessionId,
183
+ rating: Models.FeedbackRatings.ThumbsUp,
184
+ description: 'Great session!',
185
+ } as Models.IFeedback,
186
+ response: {
187
+ sessionId,
188
+ rating: Models.FeedbackRatings.ThumbsUp,
189
+ description: 'Great session!',
190
+ } as Models.IFeedback,
191
+ };
192
+
193
+ export const interceptFeedback = (baseUrl: string, version: number) => {
194
+ cy.intercept(`${baseUrl}/api/v${version}/feedback`, req => {
195
+ if (req.body.messageId) {
196
+ req.alias = 'feedbackPostMessage';
197
+ req.reply({
198
+ statusCode: 200,
199
+ body: MessageFeedbackPost.response,
200
+ });
201
+ } else {
202
+ req.alias = 'feedbackPostSession';
203
+ req.reply({
204
+ statusCode: 200,
205
+ body: SessionFeedbackPost.response,
206
+ });
207
+ }
208
+ });
209
+ return {
210
+ aliasPostMessage: '@feedbackPostMessage',
211
+ aliasPostSession: '@feedbackPostSession',
212
+ };
213
+ };
@@ -0,0 +1,264 @@
1
+ export class ChatUiSelectors {
2
+ static get chat() {
3
+ return cy.getCy(ChatUiSelectors.cy.chat);
4
+ }
5
+ static get chatConnecting() {
6
+ return cy.getCy(ChatUiSelectors.cy.chatConnecting);
7
+ }
8
+ static get chatError() {
9
+ return cy.getCy(ChatUiSelectors.cy.chatError);
10
+ }
11
+ static get chatErrorText() {
12
+ return cy.getCy(ChatUiSelectors.cy.chatErrorText);
13
+ }
14
+ static get chatErrorRecover() {
15
+ return cy.getCy(ChatUiSelectors.cy.chatErrorRecover);
16
+ }
17
+ static get chatInput() {
18
+ return cy.getCy(ChatUiSelectors.cy.chatInput);
19
+ }
20
+ static get chatSend() {
21
+ return cy.getCy(ChatUiSelectors.cy.chatSend);
22
+ }
23
+ static get chatUploadFile() {
24
+ return cy.getCy(ChatUiSelectors.cy.chatUploadFile);
25
+ }
26
+ static get chatMessageError() {
27
+ return cy.getCy(ChatUiSelectors.cy.chatMessageError);
28
+ }
29
+ static get chatMessageErrorRetry() {
30
+ return cy.getCy(ChatUiSelectors.cy.chatMessageErrorRetry);
31
+ }
32
+ static get chatNotifications() {
33
+ return cy.getCy(ChatUiSelectors.cy.chatNotifications);
34
+ }
35
+ static get chatTimer() {
36
+ return cy.getCy(ChatUiSelectors.cy.chatTimer);
37
+ }
38
+ static get chatTimerRestart() {
39
+ return cy.getCy(ChatUiSelectors.cy.chatTimerRestart);
40
+ }
41
+ static get chatMessages() {
42
+ return cy.getCy(ChatUiSelectors.cy.chatMessages);
43
+ }
44
+ static get chatMessage() {
45
+ return cy.getCy2(ChatUiSelectors.cy2.chatMessage);
46
+ }
47
+ static get chatMessageContent() {
48
+ return cy.getCy(ChatUiSelectors.cy.chatMessageContent);
49
+ }
50
+ static get chatMessageFooter() {
51
+ return cy.getCy(ChatUiSelectors.cy.chatMessageFooter);
52
+ }
53
+ static get chatAvatar() {
54
+ return cy.getCy(ChatUiSelectors.cy.chatAvatar);
55
+ }
56
+ static get chatMessageTimeoutResume() {
57
+ return cy.getCy(ChatUiSelectors.cy.chatMessageTimeoutResume);
58
+ }
59
+ static get chatMessageTimeoutReset() {
60
+ return cy.getCy(ChatUiSelectors.cy.chatMessageTimeoutReset);
61
+ }
62
+ static get chatMessageTypingDots() {
63
+ return cy.getCy(ChatUiSelectors.cy.chatMessageTypingDots);
64
+ }
65
+ static get chatMessageAgent() {
66
+ return cy.getCy(ChatUiSelectors.cy.chatMessageAgent);
67
+ }
68
+ static get chatMessageSystem() {
69
+ return cy.getCy(ChatUiSelectors.cy.chatMessageSystem);
70
+ }
71
+ static get chatMessageTimeout() {
72
+ return cy.getCy(ChatUiSelectors.cy.chatMessageTimeout);
73
+ }
74
+ static get chatMessageUser() {
75
+ return cy.getCy(ChatUiSelectors.cy.chatMessageUser);
76
+ }
77
+ static get chatMessageTyping() {
78
+ return cy.getCy(ChatUiSelectors.cy.chatMessageTyping);
79
+ }
80
+ static get chatMessageContentAgent() {
81
+ return cy.getCy2(ChatUiSelectors.cy2.chatMessageContentAgent);
82
+ }
83
+ static get chatMessageContentUser() {
84
+ return cy.getCy2(ChatUiSelectors.cy2.chatMessageContentUser);
85
+ }
86
+ static get chatAvatarEmpty() {
87
+ return cy.getCy2(ChatUiSelectors.cy2.chatAvatarEmpty);
88
+ }
89
+ static get chatAvatarBot() {
90
+ return cy.getCy2(ChatUiSelectors.cy2.chatAvatarBot);
91
+ }
92
+ static get chatAvatarInitials() {
93
+ return cy.getCy2(ChatUiSelectors.cy2.chatAvatarInitials);
94
+ }
95
+ static get chatbotRestartLink() {
96
+ return cy.getCy(ChatUiSelectors.cy.chatbotRestartLink);
97
+ }
98
+ static get chatbotMessageFeedback() {
99
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedback);
100
+ }
101
+ static get chatbotMessageFeedbackUnrelated() {
102
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackUnrelated);
103
+ }
104
+ static get chatbotMessageFeedbackUnclear() {
105
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackUnclear);
106
+ }
107
+ static get chatbotMessageFeedbackNotFull() {
108
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackNotFull);
109
+ }
110
+ static get chatbotMessageFeedbackIncorrect() {
111
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackIncorrect);
112
+ }
113
+ static get chatbotMessageFeedbackOther() {
114
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackOther);
115
+ }
116
+ static get chatbotMessageFeedbackOtherComment() {
117
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackOtherComment);
118
+ }
119
+ static get chatbotMessageFeedbackLinkUrl() {
120
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackLinkUrl);
121
+ }
122
+ static get chatbotMessageFeedbackLoading() {
123
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackLoading);
124
+ }
125
+ static get chatbotMessageFeedbackSuccess() {
126
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackSuccess);
127
+ }
128
+ static get chatbotMessageFeedbackFailed() {
129
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackFailed);
130
+ }
131
+ static get chatbotMessageFeedbackThumbsUp() {
132
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackThumbsUp);
133
+ }
134
+ static get chatbotMessageFeedbackProvideAnswer() {
135
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackProvideAnswer);
136
+ }
137
+ static get chatbotMessageFeedbackThumbsDown() {
138
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackThumbsDown);
139
+ }
140
+ static get chatbotMessageFeedbackSubmit() {
141
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageFeedbackSubmit);
142
+ }
143
+ static get chatbotSessionFeedbackLink() {
144
+ return cy.getCy(ChatUiSelectors.cy.chatbotSessionFeedbackLink);
145
+ }
146
+ static get chatbotSessionFeedbackCancel() {
147
+ return cy.getCy(ChatUiSelectors.cy.chatbotSessionFeedbackCancel);
148
+ }
149
+ static get chatbotSessionFeedbackSubmit() {
150
+ return cy.getCy(ChatUiSelectors.cy.chatbotSessionFeedbackSubmit);
151
+ }
152
+ static get chatbotSessionFeedbackModal() {
153
+ return cy.getCy(ChatUiSelectors.cy.chatbotSessionFeedbackModal);
154
+ }
155
+ static get chatbotSessionFeedbackThumbsUp() {
156
+ return cy.getCy(ChatUiSelectors.cy.chatbotSessionFeedbackThumbsUp);
157
+ }
158
+ static get chatbotSessionFeedbackThumbsDown() {
159
+ return cy.getCy(ChatUiSelectors.cy.chatbotSessionFeedbackThumbsDown);
160
+ }
161
+ static get chatbotSessionFeedbackComment() {
162
+ return cy.getCy(ChatUiSelectors.cy.chatbotSessionFeedbackComment);
163
+ }
164
+ static get chatbotFilters() {
165
+ return cy.getCy(ChatUiSelectors.cy.chatbotFilters);
166
+ }
167
+ static get chatbotFilterSearch() {
168
+ return cy.getCy(ChatUiSelectors.cy.chatbotFilterSearch);
169
+ }
170
+ static get chatbotFilterAll() {
171
+ return cy.getCy(ChatUiSelectors.cy.chatbotFilterAll);
172
+ }
173
+ static get chatbotFilterNone() {
174
+ return cy.getCy(ChatUiSelectors.cy.chatbotFilterNone);
175
+ }
176
+ static get chatbotFilterButton() {
177
+ return cy.getCy(ChatUiSelectors.cy.chatbotFilterButton);
178
+ }
179
+ static get chatbotFilterOptions() {
180
+ return cy.getCy(ChatUiSelectors.cy.chatbotFilterOptions);
181
+ }
182
+ static get chatbotLinksMore() {
183
+ return cy.getCy(ChatUiSelectors.cy.chatbotLinksMore);
184
+ }
185
+ static get chatbotLinksCollapsible() {
186
+ return cy.getCy(ChatUiSelectors.cy.chatbotLinksCollapsible);
187
+ }
188
+ static get chatbotLinksLink() {
189
+ return cy.getCy(ChatUiSelectors.cy.chatbotLinksLink);
190
+ }
191
+ static get chatbotMessageAnswer() {
192
+ return cy.getCy(ChatUiSelectors.cy.chatbotMessageAnswer);
193
+ }
194
+
195
+ static cy = {
196
+ chat: 'titan-chat',
197
+ chatConnecting: 'titan-chat-connecting',
198
+ chatError: 'titan-chat-error',
199
+ chatErrorText: 'titan-chat-error-text',
200
+ chatErrorRecover: 'titan-chat-error-recover',
201
+ chatInput: 'titan-chat-input',
202
+ chatSend: 'titan-chat-send',
203
+ chatUploadFile: 'titan-chat-upload-file',
204
+ chatMessageError: 'titan-chat-message-error',
205
+ chatMessageErrorRetry: 'titan-chat-message-error-retry',
206
+ chatNotifications: 'titan-chat-notifications',
207
+ chatTimer: 'titan-chat-timer',
208
+ chatTimerRestart: 'titan-chat-timer-restart',
209
+ chatMessages: 'titan-chat-messages',
210
+ chatMessageAgent: 'titan-chat-message-agent',
211
+ chatMessageSystem: 'titan-chat-message-system',
212
+ chatMessageTimeout: 'titan-chat-message-timeout',
213
+ chatMessageUser: 'titan-chat-message-user',
214
+ chatMessageTyping: 'titan-chat-message-typing',
215
+ chatMessageContent: 'titan-chat-message-content',
216
+ chatMessageFooter: 'titan-chat-message-footer',
217
+ chatAvatar: 'titan-chat-avatar',
218
+ chatMessageTimeoutResume: 'titan-chat-message-timeout-resume',
219
+ chatMessageTimeoutReset: 'titan-chat-message-timeout-reset',
220
+ chatMessageTypingDots: 'titan-chat-message-typing-dots',
221
+ chatbotRestartLink: 'titan-chatbot-restart-session',
222
+ chatbotMessageFeedback: 'titan-chatbot-message-feedback-form',
223
+ chatbotMessageFeedbackUnrelated: 'titan-chatbot-message-feedback-form-unrelated',
224
+ chatbotMessageFeedbackUnclear: 'titan-chatbot-message-feedback-form-unclear',
225
+ chatbotMessageFeedbackNotFull: 'titan-chatbot-message-feedback-form-not-full',
226
+ chatbotMessageFeedbackIncorrect: 'titan-chatbot-message-feedback-form-incorrect',
227
+ chatbotMessageFeedbackOther: 'titan-chatbot-message-feedback-form-other',
228
+ chatbotMessageFeedbackOtherComment: 'titan-chatbot-message-feedback-form-other-comment',
229
+ chatbotMessageFeedbackLinkUrl: 'titan-chatbot-message-feedback-form-link-url',
230
+ chatbotMessageFeedbackLoading: 'titan-chatbot-message-feedback-loading',
231
+ chatbotMessageFeedbackSuccess: 'titan-chatbot-message-feedback-success',
232
+ chatbotMessageFeedbackFailed: 'titan-chatbot-message-feedback-failed',
233
+ chatbotMessageFeedbackThumbsUp: 'titan-chatbot-message-feedback-thumbs-up',
234
+ chatbotMessageFeedbackProvideAnswer: 'titan-chatbot-message-feedback-provide-answer',
235
+ chatbotMessageFeedbackThumbsDown: 'titan-chatbot-message-feedback-thumbs-down',
236
+ chatbotMessageFeedbackSubmit: 'titan-chatbot-message-feedback-submit',
237
+ chatbotSessionFeedbackLink: 'titan-chatbot-session-feedback-link',
238
+ chatbotSessionFeedbackCancel: 'titan-chatbot-session-feedback-cancel',
239
+ chatbotSessionFeedbackSubmit: 'titan-chatbot-session-feedback-submit',
240
+ chatbotSessionFeedbackModal: 'titan-chatbot-session-feedback-modal',
241
+ chatbotSessionFeedbackThumbsUp: 'titan-chatbot-session-feedback-thumbs-up',
242
+ chatbotSessionFeedbackThumbsDown: 'titan-chatbot-session-feedback-thumbs-down',
243
+ chatbotSessionFeedbackComment: 'titan-chatbot-session-feedback-comment',
244
+ chatbotFilters: 'titan-chatbot-filters',
245
+ chatbotFilterSearch: 'titan-chatbot-filter-search',
246
+ chatbotFilterAll: 'titan-chatbot-filter-all',
247
+ chatbotFilterNone: 'titan-chatbot-filter-none',
248
+ chatbotFilterButton: 'titan-chatbot-filter-button',
249
+ chatbotFilterOptions: 'titan-chatbot-filter-options',
250
+ chatbotLinksMore: 'titan-chatbot-links-more',
251
+ chatbotLinksCollapsible: 'titan-chatbot-links-collapsible',
252
+ chatbotLinksLink: 'titan-chatbot-links-link',
253
+ chatbotMessageAnswer: 'titan-chatbot-message-answer',
254
+ };
255
+
256
+ static cy2 = {
257
+ chatMessage: 'titan-chat-message',
258
+ chatMessageContentAgent: 'titan-chat-message-content-agent',
259
+ chatMessageContentUser: 'titan-chat-message-content-user',
260
+ chatAvatarEmpty: 'titan-chat-avatar-empty',
261
+ chatAvatarBot: 'titan-chat-avatar-bot',
262
+ chatAvatarInitials: 'titan-chat-avatar-initials',
263
+ };
264
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "extends": "@servicetitan/startup/tsconfig/base",
3
+ "compilerOptions": {
4
+ "composite": true,
5
+ "outDir": "dist",
6
+ "rootDir": "src",
7
+ "jsx": "react-jsx",
8
+ "moduleResolution": "bundler"
9
+ },
10
+ "include": [
11
+ "src/**/*"
12
+ ],
13
+ "exclude": [
14
+ "node_modules"
15
+ ],
16
+ "references": [
17
+ {
18
+ "path": "../titan-chat-ui-common"
19
+ },
20
+ {
21
+ "path": "../titan-chatbot-api"
22
+ }
23
+ ]
24
+ }