@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.
Files changed (125) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/config.spec.js +9 -0
  3. package/cjs/src/config.spec.js.map +1 -1
  4. package/cjs/src/embed/bodyless-conversation.d.ts +19 -7
  5. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  6. package/cjs/src/embed/bodyless-conversation.js +24 -4
  7. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  8. package/cjs/src/embed/bodyless-conversation.spec.js +8 -190
  9. package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
  10. package/cjs/src/embed/conversation.d.ts +2 -60
  11. package/cjs/src/embed/conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/conversation.js +1 -9
  13. package/cjs/src/embed/conversation.js.map +1 -1
  14. package/cjs/src/embed/conversation.spec.js +0 -102
  15. package/cjs/src/embed/conversation.spec.js.map +1 -1
  16. package/cjs/src/errors.d.ts +1 -0
  17. package/cjs/src/errors.d.ts.map +1 -1
  18. package/cjs/src/errors.js +1 -0
  19. package/cjs/src/errors.js.map +1 -1
  20. package/cjs/src/pages/embed-test.page.d.ts +8 -0
  21. package/cjs/src/pages/embed-test.page.d.ts.map +1 -0
  22. package/cjs/src/pages/embed-test.page.js +20 -0
  23. package/cjs/src/pages/embed-test.page.js.map +1 -0
  24. package/cjs/src/pages/home.page.d.ts +6 -0
  25. package/cjs/src/pages/home.page.d.ts.map +1 -0
  26. package/cjs/src/pages/home.page.js +12 -0
  27. package/cjs/src/pages/home.page.js.map +1 -0
  28. package/cjs/src/pages/login.page.d.ts +15 -0
  29. package/cjs/src/pages/login.page.d.ts.map +1 -0
  30. package/cjs/src/pages/login.page.js +22 -0
  31. package/cjs/src/pages/login.page.js.map +1 -0
  32. package/cjs/src/react/all-types-export.d.ts +1 -1
  33. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  34. package/cjs/src/react/all-types-export.js +3 -2
  35. package/cjs/src/react/all-types-export.js.map +1 -1
  36. package/cjs/src/react/index.d.ts +71 -20
  37. package/cjs/src/react/index.d.ts.map +1 -1
  38. package/cjs/src/react/index.js +79 -42
  39. package/cjs/src/react/index.js.map +1 -1
  40. package/cjs/src/react/index.spec.js +436 -100
  41. package/cjs/src/react/index.spec.js.map +1 -1
  42. package/cjs/src/tests/auth.test.d.ts +1 -0
  43. package/cjs/src/tests/auth.test.d.ts.map +1 -0
  44. package/cjs/src/tests/auth.test.js +1 -0
  45. package/cjs/src/tests/auth.test.js.map +1 -0
  46. package/cjs/src/tests/e2e/auth.spec.d.ts +2 -0
  47. package/cjs/src/tests/e2e/auth.spec.d.ts.map +1 -0
  48. package/cjs/src/tests/e2e/auth.spec.js +54 -0
  49. package/cjs/src/tests/e2e/auth.spec.js.map +1 -0
  50. package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  51. package/cjs/src/utils/graphql/nlsService/conversation-service.js +2 -0
  52. package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  53. package/cjs/src/utils.spec.js +25 -0
  54. package/cjs/src/utils.spec.js.map +1 -1
  55. package/dist/index-2QHwuA-G.js +7371 -0
  56. package/dist/{index-DeFzsyFF.js → index-Cj4BVGHL.js} +1 -1
  57. package/dist/{index-UuEbsISo.js → index-DUaG1OG2.js} +1 -1
  58. package/dist/{index-CmEQfuE3.js → index-DnIvX1FR.js} +1 -1
  59. package/dist/{index-Dpf0rd6w.js → index-Fhk1V_Gw.js} +1 -1
  60. package/dist/index-OuiZF3zE.js +7371 -0
  61. package/dist/src/embed/bodyless-conversation.d.ts +19 -7
  62. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  63. package/dist/src/embed/conversation.d.ts +2 -60
  64. package/dist/src/embed/conversation.d.ts.map +1 -1
  65. package/dist/src/errors.d.ts +1 -0
  66. package/dist/src/errors.d.ts.map +1 -1
  67. package/dist/src/react/all-types-export.d.ts +1 -1
  68. package/dist/src/react/all-types-export.d.ts.map +1 -1
  69. package/dist/src/react/index.d.ts +71 -20
  70. package/dist/src/react/index.d.ts.map +1 -1
  71. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  72. package/dist/tsembed-react.es.js +112 -63
  73. package/dist/tsembed-react.js +112 -61
  74. package/dist/tsembed.es.js +29 -15
  75. package/dist/tsembed.js +28 -14
  76. package/dist/visual-embed-sdk-react-full.d.ts +90 -85
  77. package/dist/visual-embed-sdk-react.d.ts +90 -85
  78. package/dist/visual-embed-sdk.d.ts +20 -66
  79. package/lib/package.json +1 -1
  80. package/lib/src/config.spec.js +9 -0
  81. package/lib/src/config.spec.js.map +1 -1
  82. package/lib/src/embed/bodyless-conversation.d.ts +19 -7
  83. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  84. package/lib/src/embed/bodyless-conversation.js +23 -4
  85. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  86. package/lib/src/embed/bodyless-conversation.spec.js +9 -191
  87. package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
  88. package/lib/src/embed/conversation.d.ts +2 -60
  89. package/lib/src/embed/conversation.d.ts.map +1 -1
  90. package/lib/src/embed/conversation.js +2 -10
  91. package/lib/src/embed/conversation.js.map +1 -1
  92. package/lib/src/embed/conversation.spec.js +2 -104
  93. package/lib/src/embed/conversation.spec.js.map +1 -1
  94. package/lib/src/errors.d.ts +1 -0
  95. package/lib/src/errors.d.ts.map +1 -1
  96. package/lib/src/errors.js +1 -0
  97. package/lib/src/errors.js.map +1 -1
  98. package/lib/src/react/all-types-export.d.ts +1 -1
  99. package/lib/src/react/all-types-export.d.ts.map +1 -1
  100. package/lib/src/react/all-types-export.js +1 -1
  101. package/lib/src/react/all-types-export.js.map +1 -1
  102. package/lib/src/react/index.d.ts +71 -20
  103. package/lib/src/react/index.d.ts.map +1 -1
  104. package/lib/src/react/index.js +79 -43
  105. package/lib/src/react/index.js.map +1 -1
  106. package/lib/src/react/index.spec.js +439 -103
  107. package/lib/src/react/index.spec.js.map +1 -1
  108. package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  109. package/lib/src/utils/graphql/nlsService/conversation-service.js +2 -0
  110. package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  111. package/lib/src/utils.spec.js +26 -1
  112. package/lib/src/utils.spec.js.map +1 -1
  113. package/lib/src/visual-embed-sdk.d.ts +21 -67
  114. package/package.json +1 -1
  115. package/src/config.spec.ts +11 -0
  116. package/src/embed/bodyless-conversation.spec.ts +9 -203
  117. package/src/embed/bodyless-conversation.ts +24 -10
  118. package/src/embed/conversation.spec.ts +5 -131
  119. package/src/embed/conversation.ts +10 -82
  120. package/src/errors.ts +1 -0
  121. package/src/react/all-types-export.ts +2 -1
  122. package/src/react/index.spec.tsx +556 -157
  123. package/src/react/index.tsx +117 -51
  124. package/src/utils/graphql/nlsService/conversation-service.ts +2 -0
  125. package/src/utils.spec.ts +29 -0
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.39.2-alpha.1 */
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-alpha.1";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
+ 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
- let SpotterAgentEmbed$1 = class SpotterAgentEmbed {
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
- if (this.viewConfig.containerClassName) {
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, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, } = this.viewConfig;
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 SpotterAgent embed, which can be integrated inside
18794
- * chatbots or other conversational interfaces.
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
- * function SpotterAgent() {
18798
- * const ref = useRef();
18815
+ * const { sendMessage } = useSpotterAgent({ worksheetId: 'worksheetId' });
18816
+ * const result = await sendMessage('show me sales by region');
18799
18817
  *
18800
- * const handleSendMessage = async () => {
18801
- * const { container, error } = await ref.current.sendMessage('show me sales by region');
18802
- * if (container) {
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
- * return (
18808
- * <div>
18809
- * <SpotterAgentEmbed ref={ref} worksheetId="worksheetId" />
18810
- * <button onClick={handleSendMessage}>Send Message</button>
18811
- * </div>
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 SpotterAgentEmbed = React.forwardRef((props, ref) => {
18817
- const { className, ...restProps } = props;
18818
- const serviceRef = React.useRef(null);
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
  }));
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.39.2-alpha.1 */
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-Dpf0rd6w.js');
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-alpha.1";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
+ 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, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, } = this.viewConfig;
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-alpha.1 */
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-alpha.1";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
+ 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, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, } = this.viewConfig;
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) || '',