@thoughtspot/visual-embed-sdk 1.39.2-alpha.1 → 1.39.2-alpha.3
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/cjs/package.json +1 -1
- package/cjs/src/config.spec.js +9 -0
- package/cjs/src/config.spec.js.map +1 -1
- package/cjs/src/embed/app.d.ts +75 -15
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +68 -9
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +360 -7
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.d.ts +19 -7
- package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/cjs/src/embed/bodyless-conversation.js +24 -4
- package/cjs/src/embed/bodyless-conversation.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.spec.js +8 -190
- package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +2 -60
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +1 -9
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +0 -102
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +56 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +46 -0
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +206 -0
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/errors.d.ts +1 -0
- package/cjs/src/errors.d.ts.map +1 -1
- package/cjs/src/errors.js +1 -0
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/index.d.ts +2 -2
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +2 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +3 -2
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.d.ts +71 -20
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +79 -42
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/react/index.spec.js +436 -100
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/types.d.ts +46 -4
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +28 -0
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
- package/cjs/src/utils/graphql/nlsService/conversation-service.js +2 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
- package/cjs/src/utils/processTrigger.js +2 -1
- package/cjs/src/utils/processTrigger.js.map +1 -1
- package/cjs/src/utils.d.ts +6 -0
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +23 -3
- package/cjs/src/utils.js.map +1 -1
- package/cjs/src/utils.spec.js +237 -1
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/index-D1pyb7RG.js +7371 -0
- package/dist/index-e3Uw3YFO.js +7371 -0
- package/dist/src/embed/app.d.ts +75 -15
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/bodyless-conversation.d.ts +19 -7
- package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +2 -60
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +56 -0
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/errors.d.ts +1 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +71 -20
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +46 -4
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
- package/dist/src/utils.d.ts +6 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +276 -74
- package/dist/tsembed-react.js +276 -72
- package/dist/tsembed.es.js +194 -27
- package/dist/tsembed.js +192 -25
- package/dist/visual-embed-sdk-react-full.d.ts +246 -105
- package/dist/visual-embed-sdk-react.d.ts +246 -105
- package/dist/visual-embed-sdk.d.ts +176 -86
- package/lib/package.json +1 -1
- package/lib/src/config.spec.js +9 -0
- package/lib/src/config.spec.js.map +1 -1
- package/lib/src/embed/app.d.ts +75 -15
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +68 -9
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +361 -8
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.d.ts +19 -7
- package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/lib/src/embed/bodyless-conversation.js +23 -4
- package/lib/src/embed/bodyless-conversation.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.spec.js +9 -191
- package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +2 -60
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +2 -10
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +2 -104
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +56 -0
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +47 -1
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +206 -0
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/errors.d.ts +1 -0
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js +1 -0
- package/lib/src/errors.js.map +1 -1
- package/lib/src/index.d.ts +2 -2
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.d.ts +71 -20
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +79 -43
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +439 -103
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/types.d.ts +46 -4
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +28 -0
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
- package/lib/src/utils/graphql/nlsService/conversation-service.js +2 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
- package/lib/src/utils/processTrigger.js +2 -1
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils.d.ts +6 -0
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +21 -2
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js +238 -2
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +178 -88
- package/package.json +1 -1
- package/src/config.spec.ts +11 -0
- package/src/embed/app.spec.ts +451 -8
- package/src/embed/app.ts +131 -27
- package/src/embed/bodyless-conversation.spec.ts +9 -203
- package/src/embed/bodyless-conversation.ts +24 -10
- package/src/embed/conversation.spec.ts +5 -131
- package/src/embed/conversation.ts +10 -82
- package/src/embed/liveboard.spec.ts +254 -1
- package/src/embed/liveboard.ts +96 -5
- package/src/errors.ts +1 -0
- package/src/index.ts +2 -0
- package/src/react/all-types-export.ts +2 -1
- package/src/react/index.spec.tsx +556 -157
- package/src/react/index.tsx +117 -51
- package/src/types.ts +42 -0
- package/src/utils/graphql/nlsService/conversation-service.ts +2 -0
- package/src/utils/processTrigger.ts +1 -1
- package/src/utils.spec.ts +279 -2
- package/src/utils.ts +28 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BodylessConversation = exports.SpotterAgentEmbed = void 0;
|
|
3
|
+
exports.BodylessConversation = exports.SpotterAgentEmbed = exports.ConversationMessage = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
5
|
const ts_embed_1 = require("./ts-embed");
|
|
6
6
|
const conversation_service_1 = require("../utils/graphql/nlsService/conversation-service");
|
|
@@ -39,6 +39,7 @@ class ConversationMessage extends ts_embed_1.TsEmbed {
|
|
|
39
39
|
return this;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
+
exports.ConversationMessage = ConversationMessage;
|
|
42
43
|
/**
|
|
43
44
|
* Create a conversation embed, which can be integrated inside
|
|
44
45
|
* chatbots or other conversational interfaces.
|
|
@@ -70,9 +71,6 @@ class SpotterAgentEmbed {
|
|
|
70
71
|
return { error };
|
|
71
72
|
}
|
|
72
73
|
const container = document.createElement('div');
|
|
73
|
-
if (this.viewConfig.containerClassName) {
|
|
74
|
-
container.className = this.viewConfig.containerClassName;
|
|
75
|
-
}
|
|
76
74
|
const embed = new ConversationMessage(container, {
|
|
77
75
|
...this.viewConfig,
|
|
78
76
|
sessionId: data.sessionId,
|
|
@@ -83,6 +81,28 @@ class SpotterAgentEmbed {
|
|
|
83
81
|
await embed.render();
|
|
84
82
|
return { container, viz: embed };
|
|
85
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Send a message to the conversation service and return only the data.
|
|
86
|
+
* @param userMessage - The message to send to the conversation service.
|
|
87
|
+
* @returns The data from the conversation service.
|
|
88
|
+
*/
|
|
89
|
+
async sendMessageData(userMessage) {
|
|
90
|
+
try {
|
|
91
|
+
const { data, error } = await this.conversationService.sendMessage(userMessage);
|
|
92
|
+
if (error) {
|
|
93
|
+
return { error };
|
|
94
|
+
}
|
|
95
|
+
return { data: {
|
|
96
|
+
sessionId: data.sessionId,
|
|
97
|
+
genNo: data.genNo,
|
|
98
|
+
acSessionId: data.stateKey.transactionId,
|
|
99
|
+
acGenNo: data.stateKey.generationNumber,
|
|
100
|
+
} };
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
return { error: error };
|
|
104
|
+
}
|
|
105
|
+
}
|
|
86
106
|
}
|
|
87
107
|
exports.SpotterAgentEmbed = SpotterAgentEmbed;
|
|
88
108
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bodyless-conversation.js","sourceRoot":"","sources":["../../../src/embed/bodyless-conversation.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AACjD,yCAAqC;AACrC,2FAAuG;AACvG,+CAA+C;AAC/C,oCAA+C;
|
|
1
|
+
{"version":3,"file":"bodyless-conversation.js","sourceRoot":"","sources":["../../../src/embed/bodyless-conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,7 +120,7 @@ describe('SpotterAgentEmbed', () => {
|
|
|
120
120
|
const errorResult = await spotterEmbed.sendMessage('userMessage');
|
|
121
121
|
expect(errorResult.error instanceof Error).toBeTruthy();
|
|
122
122
|
});
|
|
123
|
-
test('should
|
|
123
|
+
test('should handle hideActions parameter correctly', async () => {
|
|
124
124
|
fetchMock.mockResponses(JSON.stringify({
|
|
125
125
|
data: {
|
|
126
126
|
ConvAssist__createConversation: {
|
|
@@ -205,205 +205,23 @@ describe('SpotterAgentEmbed', () => {
|
|
|
205
205
|
}));
|
|
206
206
|
const viewConfig = {
|
|
207
207
|
worksheetId: 'worksheetId',
|
|
208
|
-
|
|
208
|
+
hiddenActions: [types_1.Action.Download, types_1.Action.Save], // This should trigger the HideActions branch
|
|
209
209
|
};
|
|
210
210
|
const spotterAgentEmbed = new bodyless_conversation_1.SpotterAgentEmbed(viewConfig);
|
|
211
211
|
const result = await spotterAgentEmbed.sendMessage('userMessage');
|
|
212
|
-
// Verify
|
|
213
|
-
expect(result.container.className).toBe('custom-conversation-container');
|
|
214
|
-
// Also verify the iframe src is correct
|
|
212
|
+
// Verify the iframe src contains the hideActions parameter
|
|
215
213
|
const iframeSrc = (0, test_utils_1.getIFrameSrc)(result.container);
|
|
216
|
-
(
|
|
217
|
-
sessionId: 'sessionId',
|
|
218
|
-
genNo: 2,
|
|
219
|
-
acSessionId: 'transactionId',
|
|
220
|
-
acGenNo: 1,
|
|
221
|
-
});
|
|
214
|
+
expect(iframeSrc).toContain('hideAction');
|
|
222
215
|
});
|
|
223
|
-
test('should
|
|
224
|
-
fetchMock.mockResponses(JSON.stringify({
|
|
225
|
-
data: {
|
|
226
|
-
ConvAssist__createConversation: {
|
|
227
|
-
convId: 'conversationId',
|
|
228
|
-
initialCtx: {
|
|
229
|
-
type: 'TS_ANSWER',
|
|
230
|
-
tsAnsCtx: {
|
|
231
|
-
sessionId: 'sessionId',
|
|
232
|
-
genNo: 1,
|
|
233
|
-
stateKey: {
|
|
234
|
-
transactionId: 'transactionId',
|
|
235
|
-
generationNumber: 1,
|
|
236
|
-
},
|
|
237
|
-
worksheet: {
|
|
238
|
-
worksheetId: 'worksheetId',
|
|
239
|
-
worksheetName: 'GTM',
|
|
240
|
-
},
|
|
241
|
-
},
|
|
242
|
-
},
|
|
243
|
-
},
|
|
244
|
-
},
|
|
245
|
-
}), JSON.stringify({
|
|
246
|
-
data: {
|
|
247
|
-
ConvAssist__sendMessage: {
|
|
248
|
-
responses: [
|
|
249
|
-
{
|
|
250
|
-
msgId: 'msgId',
|
|
251
|
-
data: {
|
|
252
|
-
asstRespData: {
|
|
253
|
-
tool: 'TS_NLS',
|
|
254
|
-
asstRespText: '',
|
|
255
|
-
nlsAnsData: {
|
|
256
|
-
sageQuerySuggestions: [
|
|
257
|
-
{
|
|
258
|
-
llmReasoning: {
|
|
259
|
-
assumptions: 'You want the total [COL|sales] for [COL|item_type] [VAL|jackets] for [VAL|this year].',
|
|
260
|
-
clarifications: '',
|
|
261
|
-
interpretation: '',
|
|
262
|
-
__typename: 'eureka_SageQuerySuggestion_LLMReasoning',
|
|
263
|
-
},
|
|
264
|
-
tokens: [
|
|
265
|
-
'sum sales',
|
|
266
|
-
"item type = 'jackets'",
|
|
267
|
-
"date = 'this year'",
|
|
268
|
-
],
|
|
269
|
-
tmlTokens: [
|
|
270
|
-
'sum [sales]',
|
|
271
|
-
"[date] = [date].'this year'",
|
|
272
|
-
"[item type] = [item type].'jackets'",
|
|
273
|
-
],
|
|
274
|
-
worksheetId: 'worksheetId',
|
|
275
|
-
description: '',
|
|
276
|
-
title: '',
|
|
277
|
-
cached: false,
|
|
278
|
-
sqlQuery: "SELECT SUM(sales) FROM __Sample_Retail_Apparel WHERE item_type = 'jackets' AND date = _this_year();",
|
|
279
|
-
sessionId: 'sessionId',
|
|
280
|
-
genNo: 2,
|
|
281
|
-
formulaInfo: [],
|
|
282
|
-
tmlPhrases: [],
|
|
283
|
-
stateKey: {
|
|
284
|
-
transactionId: 'transactionId',
|
|
285
|
-
generationNumber: 1,
|
|
286
|
-
__typename: 'sage_auto_complete_v2_ACStateKey',
|
|
287
|
-
},
|
|
288
|
-
__typename: 'eureka_SageQuerySuggestion',
|
|
289
|
-
},
|
|
290
|
-
],
|
|
291
|
-
responseType: 'ANSWER',
|
|
292
|
-
__typename: 'convassist_nls_tool_NLSToolAsstRespData',
|
|
293
|
-
},
|
|
294
|
-
__typename: 'convassist_AsstResponseData',
|
|
295
|
-
},
|
|
296
|
-
__typename: 'convassist_MessageData',
|
|
297
|
-
},
|
|
298
|
-
type: 'ASST_RESPONSE',
|
|
299
|
-
__typename: 'convassist_MessagePayload',
|
|
300
|
-
},
|
|
301
|
-
],
|
|
302
|
-
__typename: 'convassist_SendMessageResponse',
|
|
303
|
-
},
|
|
304
|
-
},
|
|
305
|
-
}));
|
|
216
|
+
test('should have sendMessageData method', () => {
|
|
306
217
|
const viewConfig = {
|
|
307
218
|
worksheetId: 'worksheetId',
|
|
308
|
-
// No containerClassName provided
|
|
309
219
|
};
|
|
310
220
|
const spotterAgentEmbed = new bodyless_conversation_1.SpotterAgentEmbed(viewConfig);
|
|
311
|
-
|
|
312
|
-
// Verify that the container has no class name (empty string)
|
|
313
|
-
expect(result.container.className).toBe('');
|
|
221
|
+
expect(typeof spotterAgentEmbed.sendMessageData).toBe('function');
|
|
314
222
|
});
|
|
315
|
-
test('should
|
|
316
|
-
|
|
317
|
-
data: {
|
|
318
|
-
ConvAssist__createConversation: {
|
|
319
|
-
convId: 'conversationId',
|
|
320
|
-
initialCtx: {
|
|
321
|
-
type: 'TS_ANSWER',
|
|
322
|
-
tsAnsCtx: {
|
|
323
|
-
sessionId: 'sessionId',
|
|
324
|
-
genNo: 1,
|
|
325
|
-
stateKey: {
|
|
326
|
-
transactionId: 'transactionId',
|
|
327
|
-
generationNumber: 1,
|
|
328
|
-
},
|
|
329
|
-
worksheet: {
|
|
330
|
-
worksheetId: 'worksheetId',
|
|
331
|
-
worksheetName: 'GTM',
|
|
332
|
-
},
|
|
333
|
-
},
|
|
334
|
-
},
|
|
335
|
-
},
|
|
336
|
-
},
|
|
337
|
-
}), JSON.stringify({
|
|
338
|
-
data: {
|
|
339
|
-
ConvAssist__sendMessage: {
|
|
340
|
-
responses: [
|
|
341
|
-
{
|
|
342
|
-
msgId: 'msgId',
|
|
343
|
-
data: {
|
|
344
|
-
asstRespData: {
|
|
345
|
-
tool: 'TS_NLS',
|
|
346
|
-
asstRespText: '',
|
|
347
|
-
nlsAnsData: {
|
|
348
|
-
sageQuerySuggestions: [
|
|
349
|
-
{
|
|
350
|
-
llmReasoning: {
|
|
351
|
-
assumptions: 'You want the total [COL|sales] for [COL|item_type] [VAL|jackets] for [VAL|this year].',
|
|
352
|
-
clarifications: '',
|
|
353
|
-
interpretation: '',
|
|
354
|
-
__typename: 'eureka_SageQuerySuggestion_LLMReasoning',
|
|
355
|
-
},
|
|
356
|
-
tokens: [
|
|
357
|
-
'sum sales',
|
|
358
|
-
"item type = 'jackets'",
|
|
359
|
-
"date = 'this year'",
|
|
360
|
-
],
|
|
361
|
-
tmlTokens: [
|
|
362
|
-
'sum [sales]',
|
|
363
|
-
"[date] = [date].'this year'",
|
|
364
|
-
"[item type] = [item type].'jackets'",
|
|
365
|
-
],
|
|
366
|
-
worksheetId: 'worksheetId',
|
|
367
|
-
description: '',
|
|
368
|
-
title: '',
|
|
369
|
-
cached: false,
|
|
370
|
-
sqlQuery: "SELECT SUM(sales) FROM __Sample_Retail_Apparel WHERE item_type = 'jackets' AND date = _this_year();",
|
|
371
|
-
sessionId: 'sessionId',
|
|
372
|
-
genNo: 2,
|
|
373
|
-
formulaInfo: [],
|
|
374
|
-
tmlPhrases: [],
|
|
375
|
-
stateKey: {
|
|
376
|
-
transactionId: 'transactionId',
|
|
377
|
-
generationNumber: 1,
|
|
378
|
-
__typename: 'sage_auto_complete_v2_ACStateKey',
|
|
379
|
-
},
|
|
380
|
-
__typename: 'eureka_SageQuerySuggestion',
|
|
381
|
-
},
|
|
382
|
-
],
|
|
383
|
-
responseType: 'ANSWER',
|
|
384
|
-
__typename: 'convassist_nls_tool_NLSToolAsstRespData',
|
|
385
|
-
},
|
|
386
|
-
__typename: 'convassist_AsstResponseData',
|
|
387
|
-
},
|
|
388
|
-
__typename: 'convassist_MessageData',
|
|
389
|
-
},
|
|
390
|
-
type: 'ASST_RESPONSE',
|
|
391
|
-
__typename: 'convassist_MessagePayload',
|
|
392
|
-
},
|
|
393
|
-
],
|
|
394
|
-
__typename: 'convassist_SendMessageResponse',
|
|
395
|
-
},
|
|
396
|
-
},
|
|
397
|
-
}));
|
|
398
|
-
const viewConfig = {
|
|
399
|
-
worksheetId: 'worksheetId',
|
|
400
|
-
hiddenActions: [types_1.Action.Download, types_1.Action.Save], // This should trigger the HideActions branch
|
|
401
|
-
};
|
|
402
|
-
const spotterAgentEmbed = new bodyless_conversation_1.SpotterAgentEmbed(viewConfig);
|
|
403
|
-
const result = await spotterAgentEmbed.sendMessage('userMessage');
|
|
404
|
-
// Verify the iframe src contains the hideActions parameter
|
|
405
|
-
const iframeSrc = (0, test_utils_1.getIFrameSrc)(result.container);
|
|
406
|
-
expect(iframeSrc).toContain('hideAction');
|
|
223
|
+
test('should export ConversationMessage class', () => {
|
|
224
|
+
expect(typeof bodyless_conversation_1.ConversationMessage).toBe('function');
|
|
407
225
|
});
|
|
408
226
|
});
|
|
409
227
|
//# sourceMappingURL=bodyless-conversation.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bodyless-conversation.spec.js","sourceRoot":"","sources":["../../../src/embed/bodyless-conversation.spec.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"bodyless-conversation.spec.js","sourceRoot":"","sources":["../../../src/embed/bodyless-conversation.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseViewConfig
|
|
1
|
+
import { BaseViewConfig } from '../types';
|
|
2
2
|
import { TsEmbed } from './ts-embed';
|
|
3
3
|
/**
|
|
4
4
|
* Configuration for search options
|
|
@@ -15,8 +15,7 @@ export interface SearchOptions {
|
|
|
15
15
|
*/
|
|
16
16
|
export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAction'> {
|
|
17
17
|
/**
|
|
18
|
-
* The ID of the data source object. For example, Model, View, or Table. Spotter uses
|
|
19
|
-
* this object to query data and generate Answers.
|
|
18
|
+
* The ID of the data source object. For example, Model, View, or Table. Spotter uses this object to query data and generate Answers.
|
|
20
19
|
*/
|
|
21
20
|
worksheetId: string;
|
|
22
21
|
/**
|
|
@@ -99,63 +98,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
99
98
|
* @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
|
|
100
99
|
*/
|
|
101
100
|
hideSampleQuestions?: boolean;
|
|
102
|
-
/**
|
|
103
|
-
* The list of runtime filters to apply to a search Answer,
|
|
104
|
-
* visualization, or Liveboard.
|
|
105
|
-
*
|
|
106
|
-
* Supported embed types: `SpotterEmbed`
|
|
107
|
-
* @example
|
|
108
|
-
* ```js
|
|
109
|
-
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
110
|
-
* ... // other embed view config
|
|
111
|
-
* runtimeFilters: [
|
|
112
|
-
* {
|
|
113
|
-
* columnName: 'value',
|
|
114
|
-
* operator: RuntimeFilterOp.EQ,
|
|
115
|
-
* values: ['string' | 123 | true],
|
|
116
|
-
* },
|
|
117
|
-
* ],
|
|
118
|
-
* })
|
|
119
|
-
* ```
|
|
120
|
-
*/
|
|
121
|
-
runtimeFilters?: RuntimeFilter[];
|
|
122
|
-
/**
|
|
123
|
-
* Flag to control whether runtime filters should be included in the URL.
|
|
124
|
-
* If true, filters will be passed via app initialization payload instead.
|
|
125
|
-
* If false/undefined, filters will be added to URL (default behavior).
|
|
126
|
-
*
|
|
127
|
-
* Supported embed types: `SpotterEmbed`
|
|
128
|
-
* @default false
|
|
129
|
-
*/
|
|
130
|
-
excludeRuntimeFiltersfromURL?: boolean;
|
|
131
|
-
/**
|
|
132
|
-
* The list of runtime parameters to apply to the conversation.
|
|
133
|
-
*
|
|
134
|
-
* Supported embed types: `SpotterEmbed`
|
|
135
|
-
* @example
|
|
136
|
-
* ```js
|
|
137
|
-
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
138
|
-
* ... // other embed view config
|
|
139
|
-
* runtimeParameters: [
|
|
140
|
-
* {
|
|
141
|
-
* name: 'Parameter Name',
|
|
142
|
-
* value: 'Parameter Value',
|
|
143
|
-
* },
|
|
144
|
-
* ],
|
|
145
|
-
* })
|
|
146
|
-
* ```
|
|
147
|
-
*/
|
|
148
|
-
runtimeParameters?: RuntimeParameter[];
|
|
149
|
-
/**
|
|
150
|
-
* Flag to control whether runtime parameters should be included in the URL.
|
|
151
|
-
* If true, parameters will be passed via app initialization payload instead.
|
|
152
|
-
* If false/undefined, parameters will be added to URL (default behavior).
|
|
153
|
-
*
|
|
154
|
-
* Supported embed types: `SpotterEmbed`
|
|
155
|
-
* @default false
|
|
156
|
-
*
|
|
157
|
-
*/
|
|
158
|
-
excludeRuntimeParametersfromURL?: boolean;
|
|
159
101
|
}
|
|
160
102
|
/**
|
|
161
103
|
* The configuration for the embedded spotterEmbed options.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/embed/conversation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/embed/conversation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,cAAc,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC;IACjF;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;;OAcG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;GAKG;AAEH,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;CAAG;AAEzE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACD,SAAS,CAAC,UAAU,EAAE,sBAAsB;gBAApE,SAAS,EAAE,WAAW,EAAY,UAAU,EAAE,sBAAsB;IAKzE,YAAY,IAAI,MAAM;IAgDhB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CAO/C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IACX,SAAS,CAAC,UAAU,EAAE,sBAAsB;gBAApE,SAAS,EAAE,WAAW,EAAY,UAAU,EAAE,sBAAsB;CAInF"}
|
|
@@ -29,7 +29,7 @@ class SpotterEmbed extends ts_embed_1.TsEmbed {
|
|
|
29
29
|
this.viewConfig = viewConfig;
|
|
30
30
|
}
|
|
31
31
|
getIframeSrc() {
|
|
32
|
-
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions,
|
|
32
|
+
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, } = this.viewConfig;
|
|
33
33
|
const path = 'insights/conv-assist';
|
|
34
34
|
if (!worksheetId) {
|
|
35
35
|
this.handleError(errors_1.ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND);
|
|
@@ -56,14 +56,6 @@ class SpotterEmbed extends ts_embed_1.TsEmbed {
|
|
|
56
56
|
if (queryParamsString) {
|
|
57
57
|
query = `?${queryParamsString}`;
|
|
58
58
|
}
|
|
59
|
-
const filterQuery = (0, utils_1.getFilterQuery)(runtimeFilters || []);
|
|
60
|
-
if (filterQuery && !excludeRuntimeFiltersfromURL) {
|
|
61
|
-
query += `&${filterQuery}`;
|
|
62
|
-
}
|
|
63
|
-
const parameterQuery = (0, utils_1.getRuntimeParameters)(runtimeParameters || []);
|
|
64
|
-
if (parameterQuery && !excludeRuntimeParametersfromURL) {
|
|
65
|
-
query += `&${parameterQuery}`;
|
|
66
|
-
}
|
|
67
59
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams({
|
|
68
60
|
worksheet: worksheetId,
|
|
69
61
|
query: (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) || '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/embed/conversation.ts"],"names":[],"mappings":";;;;AAAA,6EAA6C;AAC7C,sCAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/embed/conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,107 +129,5 @@ describe('ConversationEmbed', () => {
|
|
|
129
129
|
await conversationEmbed.render();
|
|
130
130
|
(0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/v2/?${test_utils_1.defaultParamsWithoutHiddenActions}&${types_1.Param.DisableActions}=[%22${index_1.Action.InConversationTraining}%22]&${types_1.Param.DisableActionReason}=${disabledReason}&isSpotterExperienceEnabled=true&enableDataPanelV2=true#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
|
|
131
131
|
});
|
|
132
|
-
it('should render the conversation embed with runtime filters', async () => {
|
|
133
|
-
const viewConfig = {
|
|
134
|
-
worksheetId: 'worksheetId',
|
|
135
|
-
searchOptions: {
|
|
136
|
-
searchQuery: 'searchQuery',
|
|
137
|
-
},
|
|
138
|
-
runtimeFilters: [
|
|
139
|
-
{
|
|
140
|
-
columnName: 'revenue',
|
|
141
|
-
operator: types_1.RuntimeFilterOp.EQ,
|
|
142
|
-
values: [1000],
|
|
143
|
-
},
|
|
144
|
-
],
|
|
145
|
-
};
|
|
146
|
-
const conversationEmbed = new conversation_1.SpotterEmbed((0, test_utils_1.getRootEl)(), viewConfig);
|
|
147
|
-
await conversationEmbed.render();
|
|
148
|
-
(0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/v2/?${test_utils_1.defaultParamsWithoutHiddenActions}&isSpotterExperienceEnabled=true&col1=revenue&op1=EQ&val1=1000#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
|
|
149
|
-
});
|
|
150
|
-
it('should render the conversation embed with runtime parameters', async () => {
|
|
151
|
-
const viewConfig = {
|
|
152
|
-
worksheetId: 'worksheetId',
|
|
153
|
-
searchOptions: {
|
|
154
|
-
searchQuery: 'searchQuery',
|
|
155
|
-
},
|
|
156
|
-
runtimeParameters: [
|
|
157
|
-
{
|
|
158
|
-
name: 'Date Range',
|
|
159
|
-
value: '30',
|
|
160
|
-
},
|
|
161
|
-
],
|
|
162
|
-
};
|
|
163
|
-
const conversationEmbed = new conversation_1.SpotterEmbed((0, test_utils_1.getRootEl)(), viewConfig);
|
|
164
|
-
await conversationEmbed.render();
|
|
165
|
-
(0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/v2/?${test_utils_1.defaultParamsWithoutHiddenActions}&isSpotterExperienceEnabled=true¶m1=Date%20Range¶mVal1=30#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
|
|
166
|
-
});
|
|
167
|
-
it('should render the conversation embed with runtime parameters excluded from URL', async () => {
|
|
168
|
-
const viewConfig = {
|
|
169
|
-
worksheetId: 'worksheetId',
|
|
170
|
-
searchOptions: {
|
|
171
|
-
searchQuery: 'searchQuery',
|
|
172
|
-
},
|
|
173
|
-
runtimeParameters: [
|
|
174
|
-
{
|
|
175
|
-
name: 'Date Range',
|
|
176
|
-
value: '30',
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
name: 'Region',
|
|
180
|
-
value: 'North America',
|
|
181
|
-
},
|
|
182
|
-
],
|
|
183
|
-
excludeRuntimeParametersfromURL: true,
|
|
184
|
-
};
|
|
185
|
-
const conversationEmbed = new conversation_1.SpotterEmbed((0, test_utils_1.getRootEl)(), viewConfig);
|
|
186
|
-
await conversationEmbed.render();
|
|
187
|
-
(0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/v2/?${test_utils_1.defaultParamsWithoutHiddenActions}&isSpotterExperienceEnabled=true#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
|
|
188
|
-
});
|
|
189
|
-
it('should render the conversation embed with both runtime filters and parameters', async () => {
|
|
190
|
-
const viewConfig = {
|
|
191
|
-
worksheetId: 'worksheetId',
|
|
192
|
-
searchOptions: {
|
|
193
|
-
searchQuery: 'searchQuery',
|
|
194
|
-
},
|
|
195
|
-
runtimeParameters: [
|
|
196
|
-
{
|
|
197
|
-
name: 'Date Range',
|
|
198
|
-
value: '30',
|
|
199
|
-
},
|
|
200
|
-
],
|
|
201
|
-
runtimeFilters: [
|
|
202
|
-
{
|
|
203
|
-
columnName: 'revenue',
|
|
204
|
-
operator: types_1.RuntimeFilterOp.EQ,
|
|
205
|
-
values: [1000],
|
|
206
|
-
},
|
|
207
|
-
],
|
|
208
|
-
excludeRuntimeParametersfromURL: false,
|
|
209
|
-
excludeRuntimeFiltersfromURL: false,
|
|
210
|
-
};
|
|
211
|
-
const conversationEmbed = new conversation_1.SpotterEmbed((0, test_utils_1.getRootEl)(), viewConfig);
|
|
212
|
-
await conversationEmbed.render();
|
|
213
|
-
(0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/v2/?${test_utils_1.defaultParamsWithoutHiddenActions}&isSpotterExperienceEnabled=true&col1=revenue&op1=EQ&val1=1000¶m1=Date%20Range¶mVal1=30#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
|
|
214
|
-
});
|
|
215
|
-
it('should ensure deprecated ConversationEmbed class maintains same functionality as SpotterEmbed', async () => {
|
|
216
|
-
const viewConfig = {
|
|
217
|
-
worksheetId: 'worksheetId',
|
|
218
|
-
searchOptions: {
|
|
219
|
-
searchQuery: 'searchQuery',
|
|
220
|
-
},
|
|
221
|
-
runtimeParameters: [
|
|
222
|
-
{
|
|
223
|
-
name: 'Date Range',
|
|
224
|
-
value: '30',
|
|
225
|
-
},
|
|
226
|
-
],
|
|
227
|
-
};
|
|
228
|
-
// Test with deprecated class
|
|
229
|
-
const conversationEmbed = new conversation_1.ConversationEmbed((0, test_utils_1.getRootEl)(), viewConfig);
|
|
230
|
-
await conversationEmbed.render();
|
|
231
|
-
// Verify it generates the same URL structure as SpotterEmbed
|
|
232
|
-
(0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/v2/?${test_utils_1.defaultParamsWithoutHiddenActions}&isSpotterExperienceEnabled=true¶m1=Date%20Range¶mVal1=30#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
|
|
233
|
-
});
|
|
234
132
|
});
|
|
235
133
|
//# sourceMappingURL=conversation.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.spec.js","sourceRoot":"","sources":["../../../src/embed/conversation.spec.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"conversation.spec.js","sourceRoot":"","sources":["../../../src/embed/conversation.spec.ts"],"names":[],"mappings":"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"}
|