@thoughtspot/visual-embed-sdk 1.39.2-alpha.1 → 1.39.2-spotter-agent
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/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/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/pages/embed-test.page.d.ts +8 -0
- package/cjs/src/pages/embed-test.page.d.ts.map +1 -0
- package/cjs/src/pages/embed-test.page.js +20 -0
- package/cjs/src/pages/embed-test.page.js.map +1 -0
- package/cjs/src/pages/home.page.d.ts +6 -0
- package/cjs/src/pages/home.page.d.ts.map +1 -0
- package/cjs/src/pages/home.page.js +12 -0
- package/cjs/src/pages/home.page.js.map +1 -0
- package/cjs/src/pages/login.page.d.ts +15 -0
- package/cjs/src/pages/login.page.d.ts.map +1 -0
- package/cjs/src/pages/login.page.js +22 -0
- package/cjs/src/pages/login.page.js.map +1 -0
- 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/tests/auth.test.d.ts +1 -0
- package/cjs/src/tests/auth.test.d.ts.map +1 -0
- package/cjs/src/tests/auth.test.js +1 -0
- package/cjs/src/tests/auth.test.js.map +1 -0
- package/cjs/src/tests/e2e/auth.spec.d.ts +2 -0
- package/cjs/src/tests/e2e/auth.spec.d.ts.map +1 -0
- package/cjs/src/tests/e2e/auth.spec.js +54 -0
- package/cjs/src/tests/e2e/auth.spec.js.map +1 -0
- 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.spec.js +25 -0
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/index-2QHwuA-G.js +7371 -0
- package/dist/{index-DeFzsyFF.js → index-Cj4BVGHL.js} +1 -1
- package/dist/{index-UuEbsISo.js → index-DUaG1OG2.js} +1 -1
- package/dist/{index-CmEQfuE3.js → index-DnIvX1FR.js} +1 -1
- package/dist/{index-Dpf0rd6w.js → index-Fhk1V_Gw.js} +1 -1
- package/dist/index-OuiZF3zE.js +7371 -0
- 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/errors.d.ts +1 -0
- package/dist/src/errors.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/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +112 -63
- package/dist/tsembed-react.js +112 -61
- package/dist/tsembed.es.js +29 -15
- package/dist/tsembed.js +28 -14
- package/dist/visual-embed-sdk-react-full.d.ts +90 -85
- package/dist/visual-embed-sdk-react.d.ts +90 -85
- package/dist/visual-embed-sdk.d.ts +20 -66
- 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/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/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/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/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.spec.js +26 -1
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +21 -67
- package/package.json +1 -1
- package/src/config.spec.ts +11 -0
- 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/errors.ts +1 -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/utils/graphql/nlsService/conversation-service.ts +2 -0
- package/src/utils.spec.ts +29 -0
package/dist/tsembed-react.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @thoughtspot/visual-embed-sdk version 1.39.2-
|
|
1
|
+
/* @thoughtspot/visual-embed-sdk version 1.39.2-spotter-agent */
|
|
2
2
|
'use client';
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
|
|
@@ -6907,6 +6907,7 @@
|
|
|
6907
6907
|
CSP_FRAME_HOST_VIOLATION_LOG_MESSAGE: 'Please set up CSP correctly for the application to start working. For more information, see https://developers.thoughtspot.com/docs/security-settings#csp-viz-embed-hosts. \n If the issue persists, refer to https://developers.thoughtspot.com/docs/security-settings#csp-viz-embed-hosts',
|
|
6908
6908
|
MISSING_REPORTING_OBSERVER: 'ReportingObserver not supported',
|
|
6909
6909
|
RENDER_CALLED_BEFORE_INIT: 'Looks like render was called before calling init, the render won\'t start until init is called.\nFor more info check\n1. https://developers.thoughtspot.com/docs/Function_init#_init\n2.https://developers.thoughtspot.com/docs/getting-started#initSdk',
|
|
6910
|
+
SPOTTER_AGENT_NOT_INITIALIZED: 'SpotterAgent not initialized',
|
|
6910
6911
|
};
|
|
6911
6912
|
|
|
6912
6913
|
const EndPoints = {
|
|
@@ -15531,7 +15532,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
|
|
|
15531
15532
|
return e;
|
|
15532
15533
|
}
|
|
15533
15534
|
|
|
15534
|
-
var name="@thoughtspot/visual-embed-sdk";var version$1="1.39.2-
|
|
15535
|
+
var name="@thoughtspot/visual-embed-sdk";var version$1="1.39.2-spotter-agent";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports$1={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | coveralls","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest",dev:"vite -c vite.local.config.ts"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={classnames:"^2.3.1",eventemitter3:"^4.0.7",lodash:"^4.17.21","mixpanel-browser":"2.47.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1",yaml:"^2.5.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^8.2.6","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/lodash":"^4.17.0","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^8.28.0","@typescript-eslint/parser":"^8.28.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0",crypto:"^1.0.1","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^9.23.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^4.2.5","eslint-plugin-comment-length":"2.2.1","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","fs-extra":"^10.0.0","gh-pages":"6.3.0",globals:"^16.0.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"4.24.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","typescript-eslint":"^8.29.1","url-search-params-polyfill":"^8.1.0",util:"^0.12.4",vite:"^6.3.5"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embedded","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version$1,description:description,module:module,main:main,types:types,files:files,exports:exports$1,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.es.js",limit:"31 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
|
|
15535
15536
|
|
|
15536
15537
|
/**
|
|
15537
15538
|
* Reloads the ThoughtSpot iframe.
|
|
@@ -18311,6 +18312,8 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18311
18312
|
});
|
|
18312
18313
|
const data = responses[0].data;
|
|
18313
18314
|
return {
|
|
18315
|
+
convId: this.conversationId,
|
|
18316
|
+
messageId: responses[0].msgId,
|
|
18314
18317
|
data: data.asstRespData.nlsAnsData.sageQuerySuggestions[0],
|
|
18315
18318
|
error: null,
|
|
18316
18319
|
};
|
|
@@ -18329,7 +18332,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18329
18332
|
}
|
|
18330
18333
|
}
|
|
18331
18334
|
|
|
18332
|
-
class ConversationMessage extends TsEmbed {
|
|
18335
|
+
let ConversationMessage$1 = class ConversationMessage extends TsEmbed {
|
|
18333
18336
|
constructor(container, viewConfig) {
|
|
18334
18337
|
viewConfig.embedComponentType = 'bodyless-conversation';
|
|
18335
18338
|
super(container, viewConfig);
|
|
@@ -18361,7 +18364,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18361
18364
|
await this.renderIFrame(src);
|
|
18362
18365
|
return this;
|
|
18363
18366
|
}
|
|
18364
|
-
}
|
|
18367
|
+
};
|
|
18365
18368
|
/**
|
|
18366
18369
|
* Create a conversation embed, which can be integrated inside
|
|
18367
18370
|
* chatbots or other conversational interfaces.
|
|
@@ -18381,7 +18384,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18381
18384
|
* @group Embed components
|
|
18382
18385
|
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
18383
18386
|
*/
|
|
18384
|
-
|
|
18387
|
+
class SpotterAgentEmbed {
|
|
18385
18388
|
constructor(viewConfig) {
|
|
18386
18389
|
this.viewConfig = viewConfig;
|
|
18387
18390
|
const embedConfig = getEmbedConfig();
|
|
@@ -18393,10 +18396,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18393
18396
|
return { error };
|
|
18394
18397
|
}
|
|
18395
18398
|
const container = document.createElement('div');
|
|
18396
|
-
|
|
18397
|
-
container.className = this.viewConfig.containerClassName;
|
|
18398
|
-
}
|
|
18399
|
-
const embed = new ConversationMessage(container, {
|
|
18399
|
+
const embed = new ConversationMessage$1(container, {
|
|
18400
18400
|
...this.viewConfig,
|
|
18401
18401
|
sessionId: data.sessionId,
|
|
18402
18402
|
genNo: data.genNo,
|
|
@@ -18406,7 +18406,29 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18406
18406
|
await embed.render();
|
|
18407
18407
|
return { container, viz: embed };
|
|
18408
18408
|
}
|
|
18409
|
-
|
|
18409
|
+
/**
|
|
18410
|
+
* Send a message to the conversation service and return only the data.
|
|
18411
|
+
* @param userMessage - The message to send to the conversation service.
|
|
18412
|
+
* @returns The data from the conversation service.
|
|
18413
|
+
*/
|
|
18414
|
+
async sendMessageData(userMessage) {
|
|
18415
|
+
try {
|
|
18416
|
+
const { data, error } = await this.conversationService.sendMessage(userMessage);
|
|
18417
|
+
if (error) {
|
|
18418
|
+
return { error };
|
|
18419
|
+
}
|
|
18420
|
+
return { data: {
|
|
18421
|
+
sessionId: data.sessionId,
|
|
18422
|
+
genNo: data.genNo,
|
|
18423
|
+
acSessionId: data.stateKey.transactionId,
|
|
18424
|
+
acGenNo: data.stateKey.generationNumber,
|
|
18425
|
+
} };
|
|
18426
|
+
}
|
|
18427
|
+
catch (error) {
|
|
18428
|
+
return { error: error };
|
|
18429
|
+
}
|
|
18430
|
+
}
|
|
18431
|
+
}
|
|
18410
18432
|
|
|
18411
18433
|
/**
|
|
18412
18434
|
*
|
|
@@ -18473,7 +18495,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18473
18495
|
this.viewConfig = viewConfig;
|
|
18474
18496
|
}
|
|
18475
18497
|
getIframeSrc() {
|
|
18476
|
-
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions,
|
|
18498
|
+
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, } = this.viewConfig;
|
|
18477
18499
|
const path = 'insights/conv-assist';
|
|
18478
18500
|
if (!worksheetId) {
|
|
18479
18501
|
this.handleError(ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND);
|
|
@@ -18500,14 +18522,6 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18500
18522
|
if (queryParamsString) {
|
|
18501
18523
|
query = `?${queryParamsString}`;
|
|
18502
18524
|
}
|
|
18503
|
-
const filterQuery = getFilterQuery(runtimeFilters || []);
|
|
18504
|
-
if (filterQuery && !excludeRuntimeFiltersfromURL) {
|
|
18505
|
-
query += `&${filterQuery}`;
|
|
18506
|
-
}
|
|
18507
|
-
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
18508
|
-
if (parameterQuery && !excludeRuntimeParametersfromURL) {
|
|
18509
|
-
query += `&${parameterQuery}`;
|
|
18510
|
-
}
|
|
18511
18525
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams({
|
|
18512
18526
|
worksheet: worksheetId,
|
|
18513
18527
|
query: (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) || '',
|
|
@@ -18789,55 +18803,34 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18789
18803
|
* ```
|
|
18790
18804
|
*/
|
|
18791
18805
|
const ConversationEmbed = componentFactory(ConversationEmbed$1);
|
|
18806
|
+
const ConversationMessage = componentFactory(ConversationMessage$1);
|
|
18792
18807
|
/**
|
|
18793
|
-
* React component for
|
|
18794
|
-
*
|
|
18808
|
+
* React component for displaying individual conversation messages from SpotterAgent.
|
|
18809
|
+
*
|
|
18810
|
+
* This component renders a single message response from your ThoughtSpot conversation,
|
|
18811
|
+
* showing charts, visualizations, or text responses based on the user's query.
|
|
18812
|
+
*
|
|
18795
18813
|
* @example
|
|
18796
18814
|
* ```tsx
|
|
18797
|
-
*
|
|
18798
|
-
*
|
|
18815
|
+
* const { sendMessage } = useSpotterAgent({ worksheetId: 'worksheetId' });
|
|
18816
|
+
* const result = await sendMessage('show me sales by region');
|
|
18799
18817
|
*
|
|
18800
|
-
*
|
|
18801
|
-
*
|
|
18802
|
-
*
|
|
18803
|
-
* document.body.appendChild(container);
|
|
18804
|
-
* }
|
|
18805
|
-
* };
|
|
18818
|
+
* if (!result.error) {
|
|
18819
|
+
* // Simple usage - just pass the message data
|
|
18820
|
+
* <SpotterMessage message={result.message} />
|
|
18806
18821
|
*
|
|
18807
|
-
*
|
|
18808
|
-
*
|
|
18809
|
-
*
|
|
18810
|
-
*
|
|
18811
|
-
*
|
|
18812
|
-
* );
|
|
18822
|
+
* // With optional query for context
|
|
18823
|
+
* <SpotterMessage
|
|
18824
|
+
* message={result.message}
|
|
18825
|
+
* query={result.query}
|
|
18826
|
+
* />
|
|
18813
18827
|
* }
|
|
18814
18828
|
* ```
|
|
18829
|
+
* @version SDK: 1.39.0 | ThoughtSpot: 10.11.0.cl
|
|
18815
18830
|
*/
|
|
18816
|
-
const
|
|
18817
|
-
const {
|
|
18818
|
-
|
|
18819
|
-
useDeepCompareEffect(() => {
|
|
18820
|
-
if (serviceRef.current) {
|
|
18821
|
-
serviceRef.current = null;
|
|
18822
|
-
}
|
|
18823
|
-
const configProps = {
|
|
18824
|
-
...restProps,
|
|
18825
|
-
...(className ? { containerClassName: className } : {})
|
|
18826
|
-
};
|
|
18827
|
-
serviceRef.current = new SpotterAgentEmbed$1(configProps);
|
|
18828
|
-
if (ref) {
|
|
18829
|
-
if (typeof ref === 'function') {
|
|
18830
|
-
ref(serviceRef.current);
|
|
18831
|
-
}
|
|
18832
|
-
else {
|
|
18833
|
-
ref.current = serviceRef.current;
|
|
18834
|
-
}
|
|
18835
|
-
}
|
|
18836
|
-
return () => {
|
|
18837
|
-
serviceRef.current = null;
|
|
18838
|
-
};
|
|
18839
|
-
}, [props]);
|
|
18840
|
-
return null;
|
|
18831
|
+
const SpotterMessage = React.forwardRef((props, ref) => {
|
|
18832
|
+
const { message, query: _, ...otherProps } = props;
|
|
18833
|
+
return (React.createElement(ConversationMessage, { ref: ref, ...message, ...otherProps }));
|
|
18841
18834
|
});
|
|
18842
18835
|
/**
|
|
18843
18836
|
* React component for PreRendered Conversation embed.
|
|
@@ -18897,6 +18890,62 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18897
18890
|
ref.current = authEE;
|
|
18898
18891
|
}, [config]);
|
|
18899
18892
|
return ref;
|
|
18893
|
+
}
|
|
18894
|
+
/**
|
|
18895
|
+
* React hook for interacting with SpotterAgent AI conversations.
|
|
18896
|
+
*
|
|
18897
|
+
* This hook provides a sendMessage function that allows you to send natural language
|
|
18898
|
+
* queries to your data and get back AI-generated responses with visualizations.
|
|
18899
|
+
*
|
|
18900
|
+
* @param config - Configuration object containing worksheetId and other options
|
|
18901
|
+
* @returns Object with sendMessage function that returns conversation results
|
|
18902
|
+
* @example
|
|
18903
|
+
* ```tsx
|
|
18904
|
+
* const { sendMessage } = useSpotterAgent({ worksheetId: 'worksheetId' });
|
|
18905
|
+
*
|
|
18906
|
+
* const handleQuery = async () => {
|
|
18907
|
+
* const result = await sendMessage('show me sales by region');
|
|
18908
|
+
*
|
|
18909
|
+
* if (!result.error) {
|
|
18910
|
+
* // Display the message response
|
|
18911
|
+
* <SpotterMessage message={result.message} />
|
|
18912
|
+
* } else {
|
|
18913
|
+
* console.error('Error:', result.error);
|
|
18914
|
+
* }
|
|
18915
|
+
* };
|
|
18916
|
+
* ```
|
|
18917
|
+
* @version SDK: 1.39.0 | ThoughtSpot: 10.11.0.cl
|
|
18918
|
+
*/
|
|
18919
|
+
function useSpotterAgent(config) {
|
|
18920
|
+
const serviceRef = React.useRef(null);
|
|
18921
|
+
useDeepCompareEffect(() => {
|
|
18922
|
+
if (serviceRef.current) {
|
|
18923
|
+
serviceRef.current = null;
|
|
18924
|
+
}
|
|
18925
|
+
serviceRef.current = new SpotterAgentEmbed(config);
|
|
18926
|
+
return () => {
|
|
18927
|
+
serviceRef.current = null;
|
|
18928
|
+
};
|
|
18929
|
+
}, [config]);
|
|
18930
|
+
const sendMessage = React.useCallback(async (query) => {
|
|
18931
|
+
if (!serviceRef.current) {
|
|
18932
|
+
return { error: new Error(ERROR_MESSAGE.SPOTTER_AGENT_NOT_INITIALIZED) };
|
|
18933
|
+
}
|
|
18934
|
+
const result = await serviceRef.current.sendMessageData(query);
|
|
18935
|
+
if (result.error) {
|
|
18936
|
+
return { error: result.error };
|
|
18937
|
+
}
|
|
18938
|
+
return {
|
|
18939
|
+
query: query,
|
|
18940
|
+
message: {
|
|
18941
|
+
...result.data,
|
|
18942
|
+
worksheetId: config.worksheetId,
|
|
18943
|
+
},
|
|
18944
|
+
};
|
|
18945
|
+
}, [config.worksheetId]);
|
|
18946
|
+
return {
|
|
18947
|
+
sendMessage,
|
|
18948
|
+
};
|
|
18900
18949
|
}
|
|
18901
18950
|
|
|
18902
18951
|
const ALIAS = Symbol.for('yaml.alias');
|
|
@@ -26303,6 +26352,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
26303
26352
|
|
|
26304
26353
|
exports.AppEmbed = AppEmbed;
|
|
26305
26354
|
exports.ConversationEmbed = ConversationEmbed;
|
|
26355
|
+
exports.ConversationMessage = ConversationMessage;
|
|
26306
26356
|
exports.LiveboardEmbed = LiveboardEmbed;
|
|
26307
26357
|
exports.PinboardEmbed = PinboardEmbed;
|
|
26308
26358
|
exports.PreRenderedAppEmbed = PreRenderedAppEmbed;
|
|
@@ -26315,10 +26365,11 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
26315
26365
|
exports.SageEmbed = SageEmbed;
|
|
26316
26366
|
exports.SearchBarEmbed = SearchBarEmbed;
|
|
26317
26367
|
exports.SearchEmbed = SearchEmbed;
|
|
26318
|
-
exports.SpotterAgentEmbed = SpotterAgentEmbed;
|
|
26319
26368
|
exports.SpotterEmbed = SpotterEmbed;
|
|
26369
|
+
exports.SpotterMessage = SpotterMessage;
|
|
26320
26370
|
exports.getSessionInfo = getSessionInfo;
|
|
26321
26371
|
exports.useEmbedRef = useEmbedRef;
|
|
26322
26372
|
exports.useInit = useInit;
|
|
26373
|
+
exports.useSpotterAgent = useSpotterAgent;
|
|
26323
26374
|
|
|
26324
26375
|
}));
|
package/dist/tsembed.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @thoughtspot/visual-embed-sdk version 1.39.2-
|
|
1
|
+
/* @thoughtspot/visual-embed-sdk version 1.39.2-spotter-agent */
|
|
2
2
|
'use client';
|
|
3
3
|
function _mergeNamespaces(n, m) {
|
|
4
4
|
m.forEach(function (e) {
|
|
@@ -6770,6 +6770,7 @@ const ERROR_MESSAGE = {
|
|
|
6770
6770
|
CSP_FRAME_HOST_VIOLATION_LOG_MESSAGE: 'Please set up CSP correctly for the application to start working. For more information, see https://developers.thoughtspot.com/docs/security-settings#csp-viz-embed-hosts. \n If the issue persists, refer to https://developers.thoughtspot.com/docs/security-settings#csp-viz-embed-hosts',
|
|
6771
6771
|
MISSING_REPORTING_OBSERVER: 'ReportingObserver not supported',
|
|
6772
6772
|
RENDER_CALLED_BEFORE_INIT: 'Looks like render was called before calling init, the render won\'t start until init is called.\nFor more info check\n1. https://developers.thoughtspot.com/docs/Function_init#_init\n2.https://developers.thoughtspot.com/docs/getting-started#initSdk',
|
|
6773
|
+
SPOTTER_AGENT_NOT_INITIALIZED: 'SpotterAgent not initialized',
|
|
6773
6774
|
};
|
|
6774
6775
|
|
|
6775
6776
|
const EndPoints = {
|
|
@@ -7660,7 +7661,7 @@ class AnswerService {
|
|
|
7660
7661
|
async getTML() {
|
|
7661
7662
|
const { object } = await this.executeQuery(getAnswerTML, {});
|
|
7662
7663
|
const edoc = object[0].edoc;
|
|
7663
|
-
const YAML = await import('./index-
|
|
7664
|
+
const YAML = await import('./index-2QHwuA-G.js');
|
|
7664
7665
|
const parsedDoc = YAML.parse(edoc);
|
|
7665
7666
|
return {
|
|
7666
7667
|
answer: {
|
|
@@ -15560,7 +15561,7 @@ function processEventData(type, e, thoughtSpotHost, containerEl) {
|
|
|
15560
15561
|
return e;
|
|
15561
15562
|
}
|
|
15562
15563
|
|
|
15563
|
-
var name="@thoughtspot/visual-embed-sdk";var version$1="1.39.2-
|
|
15564
|
+
var name="@thoughtspot/visual-embed-sdk";var version$1="1.39.2-spotter-agent";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | coveralls","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest",dev:"vite -c vite.local.config.ts"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={classnames:"^2.3.1",eventemitter3:"^4.0.7",lodash:"^4.17.21","mixpanel-browser":"2.47.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1",yaml:"^2.5.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^8.2.6","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/lodash":"^4.17.0","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^8.28.0","@typescript-eslint/parser":"^8.28.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0",crypto:"^1.0.1","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^9.23.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^4.2.5","eslint-plugin-comment-length":"2.2.1","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","fs-extra":"^10.0.0","gh-pages":"6.3.0",globals:"^16.0.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"4.24.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","typescript-eslint":"^8.29.1","url-search-params-polyfill":"^8.1.0",util:"^0.12.4",vite:"^6.3.5"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embedded","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version$1,description:description,module:module,main:main,types:types,files:files,exports:exports,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.es.js",limit:"31 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
|
|
15564
15565
|
|
|
15565
15566
|
/**
|
|
15566
15567
|
* Reloads the ThoughtSpot iframe.
|
|
@@ -18267,6 +18268,8 @@ class Conversation {
|
|
|
18267
18268
|
});
|
|
18268
18269
|
const data = responses[0].data;
|
|
18269
18270
|
return {
|
|
18271
|
+
convId: this.conversationId,
|
|
18272
|
+
messageId: responses[0].msgId,
|
|
18270
18273
|
data: data.asstRespData.nlsAnsData.sageQuerySuggestions[0],
|
|
18271
18274
|
error: null,
|
|
18272
18275
|
};
|
|
@@ -18349,9 +18352,6 @@ class SpotterAgentEmbed {
|
|
|
18349
18352
|
return { error };
|
|
18350
18353
|
}
|
|
18351
18354
|
const container = document.createElement('div');
|
|
18352
|
-
if (this.viewConfig.containerClassName) {
|
|
18353
|
-
container.className = this.viewConfig.containerClassName;
|
|
18354
|
-
}
|
|
18355
18355
|
const embed = new ConversationMessage(container, {
|
|
18356
18356
|
...this.viewConfig,
|
|
18357
18357
|
sessionId: data.sessionId,
|
|
@@ -18362,6 +18362,28 @@ class SpotterAgentEmbed {
|
|
|
18362
18362
|
await embed.render();
|
|
18363
18363
|
return { container, viz: embed };
|
|
18364
18364
|
}
|
|
18365
|
+
/**
|
|
18366
|
+
* Send a message to the conversation service and return only the data.
|
|
18367
|
+
* @param userMessage - The message to send to the conversation service.
|
|
18368
|
+
* @returns The data from the conversation service.
|
|
18369
|
+
*/
|
|
18370
|
+
async sendMessageData(userMessage) {
|
|
18371
|
+
try {
|
|
18372
|
+
const { data, error } = await this.conversationService.sendMessage(userMessage);
|
|
18373
|
+
if (error) {
|
|
18374
|
+
return { error };
|
|
18375
|
+
}
|
|
18376
|
+
return { data: {
|
|
18377
|
+
sessionId: data.sessionId,
|
|
18378
|
+
genNo: data.genNo,
|
|
18379
|
+
acSessionId: data.stateKey.transactionId,
|
|
18380
|
+
acGenNo: data.stateKey.generationNumber,
|
|
18381
|
+
} };
|
|
18382
|
+
}
|
|
18383
|
+
catch (error) {
|
|
18384
|
+
return { error: error };
|
|
18385
|
+
}
|
|
18386
|
+
}
|
|
18365
18387
|
}
|
|
18366
18388
|
/**
|
|
18367
18389
|
* Create a conversation embed, which can be integrated inside
|
|
@@ -18434,7 +18456,7 @@ class SpotterEmbed extends TsEmbed {
|
|
|
18434
18456
|
this.viewConfig = viewConfig;
|
|
18435
18457
|
}
|
|
18436
18458
|
getIframeSrc() {
|
|
18437
|
-
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions,
|
|
18459
|
+
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, } = this.viewConfig;
|
|
18438
18460
|
const path = 'insights/conv-assist';
|
|
18439
18461
|
if (!worksheetId) {
|
|
18440
18462
|
this.handleError(ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND);
|
|
@@ -18461,14 +18483,6 @@ class SpotterEmbed extends TsEmbed {
|
|
|
18461
18483
|
if (queryParamsString) {
|
|
18462
18484
|
query = `?${queryParamsString}`;
|
|
18463
18485
|
}
|
|
18464
|
-
const filterQuery = getFilterQuery(runtimeFilters || []);
|
|
18465
|
-
if (filterQuery && !excludeRuntimeFiltersfromURL) {
|
|
18466
|
-
query += `&${filterQuery}`;
|
|
18467
|
-
}
|
|
18468
|
-
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
18469
|
-
if (parameterQuery && !excludeRuntimeParametersfromURL) {
|
|
18470
|
-
query += `&${parameterQuery}`;
|
|
18471
|
-
}
|
|
18472
18486
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams({
|
|
18473
18487
|
worksheet: worksheetId,
|
|
18474
18488
|
query: (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) || '',
|
package/dist/tsembed.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @thoughtspot/visual-embed-sdk version 1.39.2-
|
|
1
|
+
/* @thoughtspot/visual-embed-sdk version 1.39.2-spotter-agent */
|
|
2
2
|
'use client';
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
@@ -6776,6 +6776,7 @@
|
|
|
6776
6776
|
CSP_FRAME_HOST_VIOLATION_LOG_MESSAGE: 'Please set up CSP correctly for the application to start working. For more information, see https://developers.thoughtspot.com/docs/security-settings#csp-viz-embed-hosts. \n If the issue persists, refer to https://developers.thoughtspot.com/docs/security-settings#csp-viz-embed-hosts',
|
|
6777
6777
|
MISSING_REPORTING_OBSERVER: 'ReportingObserver not supported',
|
|
6778
6778
|
RENDER_CALLED_BEFORE_INIT: 'Looks like render was called before calling init, the render won\'t start until init is called.\nFor more info check\n1. https://developers.thoughtspot.com/docs/Function_init#_init\n2.https://developers.thoughtspot.com/docs/getting-started#initSdk',
|
|
6779
|
+
SPOTTER_AGENT_NOT_INITIALIZED: 'SpotterAgent not initialized',
|
|
6779
6780
|
};
|
|
6780
6781
|
|
|
6781
6782
|
const EndPoints = {
|
|
@@ -15566,7 +15567,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
|
|
|
15566
15567
|
return e;
|
|
15567
15568
|
}
|
|
15568
15569
|
|
|
15569
|
-
var name="@thoughtspot/visual-embed-sdk";var version$1="1.39.2-
|
|
15570
|
+
var name="@thoughtspot/visual-embed-sdk";var version$1="1.39.2-spotter-agent";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports$1={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | coveralls","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest",dev:"vite -c vite.local.config.ts"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={classnames:"^2.3.1",eventemitter3:"^4.0.7",lodash:"^4.17.21","mixpanel-browser":"2.47.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1",yaml:"^2.5.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^8.2.6","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/lodash":"^4.17.0","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^8.28.0","@typescript-eslint/parser":"^8.28.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0",crypto:"^1.0.1","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^9.23.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^4.2.5","eslint-plugin-comment-length":"2.2.1","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","fs-extra":"^10.0.0","gh-pages":"6.3.0",globals:"^16.0.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"4.24.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","typescript-eslint":"^8.29.1","url-search-params-polyfill":"^8.1.0",util:"^0.12.4",vite:"^6.3.5"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embedded","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version$1,description:description,module:module,main:main,types:types,files:files,exports:exports$1,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.es.js",limit:"31 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
|
|
15570
15571
|
|
|
15571
15572
|
/**
|
|
15572
15573
|
* Reloads the ThoughtSpot iframe.
|
|
@@ -18273,6 +18274,8 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18273
18274
|
});
|
|
18274
18275
|
const data = responses[0].data;
|
|
18275
18276
|
return {
|
|
18277
|
+
convId: this.conversationId,
|
|
18278
|
+
messageId: responses[0].msgId,
|
|
18276
18279
|
data: data.asstRespData.nlsAnsData.sageQuerySuggestions[0],
|
|
18277
18280
|
error: null,
|
|
18278
18281
|
};
|
|
@@ -18355,9 +18358,6 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18355
18358
|
return { error };
|
|
18356
18359
|
}
|
|
18357
18360
|
const container = document.createElement('div');
|
|
18358
|
-
if (this.viewConfig.containerClassName) {
|
|
18359
|
-
container.className = this.viewConfig.containerClassName;
|
|
18360
|
-
}
|
|
18361
18361
|
const embed = new ConversationMessage(container, {
|
|
18362
18362
|
...this.viewConfig,
|
|
18363
18363
|
sessionId: data.sessionId,
|
|
@@ -18368,6 +18368,28 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18368
18368
|
await embed.render();
|
|
18369
18369
|
return { container, viz: embed };
|
|
18370
18370
|
}
|
|
18371
|
+
/**
|
|
18372
|
+
* Send a message to the conversation service and return only the data.
|
|
18373
|
+
* @param userMessage - The message to send to the conversation service.
|
|
18374
|
+
* @returns The data from the conversation service.
|
|
18375
|
+
*/
|
|
18376
|
+
async sendMessageData(userMessage) {
|
|
18377
|
+
try {
|
|
18378
|
+
const { data, error } = await this.conversationService.sendMessage(userMessage);
|
|
18379
|
+
if (error) {
|
|
18380
|
+
return { error };
|
|
18381
|
+
}
|
|
18382
|
+
return { data: {
|
|
18383
|
+
sessionId: data.sessionId,
|
|
18384
|
+
genNo: data.genNo,
|
|
18385
|
+
acSessionId: data.stateKey.transactionId,
|
|
18386
|
+
acGenNo: data.stateKey.generationNumber,
|
|
18387
|
+
} };
|
|
18388
|
+
}
|
|
18389
|
+
catch (error) {
|
|
18390
|
+
return { error: error };
|
|
18391
|
+
}
|
|
18392
|
+
}
|
|
18371
18393
|
}
|
|
18372
18394
|
/**
|
|
18373
18395
|
* Create a conversation embed, which can be integrated inside
|
|
@@ -18440,7 +18462,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18440
18462
|
this.viewConfig = viewConfig;
|
|
18441
18463
|
}
|
|
18442
18464
|
getIframeSrc() {
|
|
18443
|
-
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions,
|
|
18465
|
+
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, } = this.viewConfig;
|
|
18444
18466
|
const path = 'insights/conv-assist';
|
|
18445
18467
|
if (!worksheetId) {
|
|
18446
18468
|
this.handleError(ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND);
|
|
@@ -18467,14 +18489,6 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
|
|
|
18467
18489
|
if (queryParamsString) {
|
|
18468
18490
|
query = `?${queryParamsString}`;
|
|
18469
18491
|
}
|
|
18470
|
-
const filterQuery = getFilterQuery(runtimeFilters || []);
|
|
18471
|
-
if (filterQuery && !excludeRuntimeFiltersfromURL) {
|
|
18472
|
-
query += `&${filterQuery}`;
|
|
18473
|
-
}
|
|
18474
|
-
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
18475
|
-
if (parameterQuery && !excludeRuntimeParametersfromURL) {
|
|
18476
|
-
query += `&${parameterQuery}`;
|
|
18477
|
-
}
|
|
18478
18492
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams({
|
|
18479
18493
|
worksheet: worksheetId,
|
|
18480
18494
|
query: (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) || '',
|