@thoughtspot/visual-embed-sdk 1.50.0 → 1.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/css-variables.d.ts +95 -0
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +136 -15
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +59 -37
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +419 -149
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/conversation.d.ts +230 -1
  11. package/cjs/src/embed/conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/conversation.js +30 -16
  13. package/cjs/src/embed/conversation.js.map +1 -1
  14. package/cjs/src/embed/conversation.spec.js +221 -17
  15. package/cjs/src/embed/conversation.spec.js.map +1 -1
  16. package/cjs/src/embed/events.spec.js +635 -0
  17. package/cjs/src/embed/events.spec.js.map +1 -1
  18. package/cjs/src/embed/host-events.spec.js +151 -0
  19. package/cjs/src/embed/host-events.spec.js.map +1 -1
  20. package/cjs/src/embed/hostEventClient/contracts.d.ts +51 -14
  21. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  22. package/cjs/src/embed/hostEventClient/contracts.js +11 -1
  23. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  24. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +1 -0
  25. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  26. package/cjs/src/embed/hostEventClient/host-event-client.js +9 -0
  27. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  28. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +218 -0
  29. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  30. package/cjs/src/embed/hostEventClient/utils.d.ts +2 -0
  31. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  32. package/cjs/src/embed/hostEventClient/utils.js +32 -2
  33. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  34. package/cjs/src/embed/hostEventClient/utils.spec.js +178 -0
  35. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
  36. package/cjs/src/embed/liveboard.d.ts +42 -1
  37. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  38. package/cjs/src/embed/liveboard.js +26 -6
  39. package/cjs/src/embed/liveboard.js.map +1 -1
  40. package/cjs/src/embed/liveboard.spec.js +83 -2
  41. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  42. package/cjs/src/embed/spotter-utils.d.ts +8 -1
  43. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  44. package/cjs/src/embed/spotter-utils.js +14 -1
  45. package/cjs/src/embed/spotter-utils.js.map +1 -1
  46. package/cjs/src/embed/spotter-utils.spec.js +61 -0
  47. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  48. package/cjs/src/embed/spotter-viz-utils.d.ts +34 -0
  49. package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
  50. package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
  51. package/cjs/src/embed/spotter-viz-utils.spec.js +17 -0
  52. package/cjs/src/embed/spotter-viz-utils.spec.js.map +1 -1
  53. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  54. package/cjs/src/embed/ts-embed.js +29 -7
  55. package/cjs/src/embed/ts-embed.js.map +1 -1
  56. package/cjs/src/embed/ts-embed.spec.js +146 -0
  57. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  58. package/cjs/src/errors.d.ts +1 -0
  59. package/cjs/src/errors.d.ts.map +1 -1
  60. package/cjs/src/errors.js +1 -0
  61. package/cjs/src/errors.js.map +1 -1
  62. package/cjs/src/index.d.ts +2 -2
  63. package/cjs/src/index.d.ts.map +1 -1
  64. package/cjs/src/index.js +3 -2
  65. package/cjs/src/index.js.map +1 -1
  66. package/cjs/src/mixpanel-service.d.ts +4 -0
  67. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  68. package/cjs/src/mixpanel-service.js +4 -0
  69. package/cjs/src/mixpanel-service.js.map +1 -1
  70. package/cjs/src/react/util.spec.js +251 -0
  71. package/cjs/src/react/util.spec.js.map +1 -1
  72. package/cjs/src/types.d.ts +573 -11
  73. package/cjs/src/types.d.ts.map +1 -1
  74. package/cjs/src/types.js +519 -2
  75. package/cjs/src/types.js.map +1 -1
  76. package/cjs/src/utils/processData.spec.js +93 -0
  77. package/cjs/src/utils/processData.spec.js.map +1 -1
  78. package/cjs/src/utils/processTrigger.spec.js +61 -0
  79. package/cjs/src/utils/processTrigger.spec.js.map +1 -1
  80. package/dist/{index-B5xoN6Cp.js → index-aBzH5ZwF.js} +1 -1
  81. package/dist/src/css-variables.d.ts +95 -0
  82. package/dist/src/css-variables.d.ts.map +1 -1
  83. package/dist/src/embed/app.d.ts +136 -15
  84. package/dist/src/embed/app.d.ts.map +1 -1
  85. package/dist/src/embed/conversation.d.ts +230 -1
  86. package/dist/src/embed/conversation.d.ts.map +1 -1
  87. package/dist/src/embed/hostEventClient/contracts.d.ts +51 -14
  88. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  89. package/dist/src/embed/hostEventClient/host-event-client.d.ts +1 -0
  90. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  91. package/dist/src/embed/hostEventClient/utils.d.ts +2 -0
  92. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  93. package/dist/src/embed/liveboard.d.ts +42 -1
  94. package/dist/src/embed/liveboard.d.ts.map +1 -1
  95. package/dist/src/embed/spotter-utils.d.ts +8 -1
  96. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  97. package/dist/src/embed/spotter-viz-utils.d.ts +34 -0
  98. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
  99. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  100. package/dist/src/errors.d.ts +1 -0
  101. package/dist/src/errors.d.ts.map +1 -1
  102. package/dist/src/index.d.ts +2 -2
  103. package/dist/src/index.d.ts.map +1 -1
  104. package/dist/src/mixpanel-service.d.ts +4 -0
  105. package/dist/src/mixpanel-service.d.ts.map +1 -1
  106. package/dist/src/types.d.ts +573 -11
  107. package/dist/src/types.d.ts.map +1 -1
  108. package/dist/tsembed-react.es.js +936 -142
  109. package/dist/tsembed-react.js +935 -141
  110. package/dist/tsembed.es.js +935 -142
  111. package/dist/tsembed.js +933 -140
  112. package/dist/visual-embed-sdk-react-full.d.ts +1147 -44
  113. package/dist/visual-embed-sdk-react.d.ts +1153 -46
  114. package/dist/visual-embed-sdk.d.ts +1161 -46
  115. package/lib/package.json +1 -1
  116. package/lib/src/css-variables.d.ts +95 -0
  117. package/lib/src/css-variables.d.ts.map +1 -1
  118. package/lib/src/embed/app.d.ts +136 -15
  119. package/lib/src/embed/app.d.ts.map +1 -1
  120. package/lib/src/embed/app.js +60 -38
  121. package/lib/src/embed/app.js.map +1 -1
  122. package/lib/src/embed/app.spec.js +420 -150
  123. package/lib/src/embed/app.spec.js.map +1 -1
  124. package/lib/src/embed/conversation.d.ts +230 -1
  125. package/lib/src/embed/conversation.d.ts.map +1 -1
  126. package/lib/src/embed/conversation.js +31 -17
  127. package/lib/src/embed/conversation.js.map +1 -1
  128. package/lib/src/embed/conversation.spec.js +222 -18
  129. package/lib/src/embed/conversation.spec.js.map +1 -1
  130. package/lib/src/embed/events.spec.js +635 -0
  131. package/lib/src/embed/events.spec.js.map +1 -1
  132. package/lib/src/embed/host-events.spec.js +152 -1
  133. package/lib/src/embed/host-events.spec.js.map +1 -1
  134. package/lib/src/embed/hostEventClient/contracts.d.ts +51 -14
  135. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  136. package/lib/src/embed/hostEventClient/contracts.js +10 -0
  137. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  138. package/lib/src/embed/hostEventClient/host-event-client.d.ts +1 -0
  139. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  140. package/lib/src/embed/hostEventClient/host-event-client.js +10 -1
  141. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  142. package/lib/src/embed/hostEventClient/host-event-client.spec.js +218 -0
  143. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  144. package/lib/src/embed/hostEventClient/utils.d.ts +2 -0
  145. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  146. package/lib/src/embed/hostEventClient/utils.js +28 -1
  147. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  148. package/lib/src/embed/hostEventClient/utils.spec.js +179 -1
  149. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
  150. package/lib/src/embed/liveboard.d.ts +42 -1
  151. package/lib/src/embed/liveboard.d.ts.map +1 -1
  152. package/lib/src/embed/liveboard.js +26 -6
  153. package/lib/src/embed/liveboard.js.map +1 -1
  154. package/lib/src/embed/liveboard.spec.js +83 -2
  155. package/lib/src/embed/liveboard.spec.js.map +1 -1
  156. package/lib/src/embed/spotter-utils.d.ts +8 -1
  157. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  158. package/lib/src/embed/spotter-utils.js +12 -0
  159. package/lib/src/embed/spotter-utils.js.map +1 -1
  160. package/lib/src/embed/spotter-utils.spec.js +62 -1
  161. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  162. package/lib/src/embed/spotter-viz-utils.d.ts +34 -0
  163. package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
  164. package/lib/src/embed/spotter-viz-utils.js.map +1 -1
  165. package/lib/src/embed/spotter-viz-utils.spec.js +17 -0
  166. package/lib/src/embed/spotter-viz-utils.spec.js.map +1 -1
  167. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  168. package/lib/src/embed/ts-embed.js +29 -7
  169. package/lib/src/embed/ts-embed.js.map +1 -1
  170. package/lib/src/embed/ts-embed.spec.js +146 -0
  171. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  172. package/lib/src/errors.d.ts +1 -0
  173. package/lib/src/errors.d.ts.map +1 -1
  174. package/lib/src/errors.js +1 -0
  175. package/lib/src/errors.js.map +1 -1
  176. package/lib/src/index.d.ts +2 -2
  177. package/lib/src/index.d.ts.map +1 -1
  178. package/lib/src/index.js +2 -2
  179. package/lib/src/index.js.map +1 -1
  180. package/lib/src/mixpanel-service.d.ts +4 -0
  181. package/lib/src/mixpanel-service.d.ts.map +1 -1
  182. package/lib/src/mixpanel-service.js +4 -0
  183. package/lib/src/mixpanel-service.js.map +1 -1
  184. package/lib/src/react/util.spec.js +251 -0
  185. package/lib/src/react/util.spec.js.map +1 -1
  186. package/lib/src/types.d.ts +573 -11
  187. package/lib/src/types.d.ts.map +1 -1
  188. package/lib/src/types.js +519 -2
  189. package/lib/src/types.js.map +1 -1
  190. package/lib/src/utils/processData.spec.js +93 -0
  191. package/lib/src/utils/processData.spec.js.map +1 -1
  192. package/lib/src/utils/processTrigger.spec.js +61 -0
  193. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  194. package/lib/src/visual-embed-sdk.d.ts +1161 -46
  195. package/package.json +1 -1
  196. package/src/css-variables.ts +118 -0
  197. package/src/embed/app.spec.ts +530 -183
  198. package/src/embed/app.ts +209 -66
  199. package/src/embed/conversation.spec.ts +275 -21
  200. package/src/embed/conversation.ts +262 -17
  201. package/src/embed/events.spec.ts +757 -1
  202. package/src/embed/host-events.spec.ts +194 -0
  203. package/src/embed/hostEventClient/contracts.ts +57 -14
  204. package/src/embed/hostEventClient/host-event-client.spec.ts +338 -0
  205. package/src/embed/hostEventClient/host-event-client.ts +16 -0
  206. package/src/embed/hostEventClient/utils.spec.ts +204 -0
  207. package/src/embed/hostEventClient/utils.ts +37 -10
  208. package/src/embed/liveboard.spec.ts +108 -2
  209. package/src/embed/liveboard.ts +82 -14
  210. package/src/embed/spotter-utils.spec.ts +68 -1
  211. package/src/embed/spotter-utils.ts +16 -1
  212. package/src/embed/spotter-viz-utils.spec.ts +17 -0
  213. package/src/embed/spotter-viz-utils.ts +34 -0
  214. package/src/embed/ts-embed.spec.ts +186 -0
  215. package/src/embed/ts-embed.ts +30 -4
  216. package/src/errors.ts +1 -0
  217. package/src/index.ts +3 -1
  218. package/src/mixpanel-service.ts +4 -0
  219. package/src/react/util.spec.tsx +255 -0
  220. package/src/types.ts +575 -8
  221. package/src/utils/processData.spec.ts +97 -0
  222. package/src/utils/processTrigger.spec.ts +91 -0
@@ -40,6 +40,42 @@ export interface CustomCssVariables {
40
40
  * Font color of the top navigation panel.
41
41
  */
42
42
  "--ts-var-nav-color"?: string;
43
+ /**
44
+ * Background color of the left navigation panel.
45
+ */
46
+ "--ts-var-left-nav-background"?: string;
47
+ /**
48
+ * Background color of the active tab in the left navigation panel.
49
+ */
50
+ "--ts-var-left-nav-active-tab-background"?: string;
51
+ /**
52
+ * Border color of the active tab in the left navigation panel.
53
+ */
54
+ "--ts-var-left-nav-active-tab-border-color"?: string;
55
+ /**
56
+ * Font color of the section title in the left navigation panel.
57
+ */
58
+ "--ts-var-left-nav-section-title-color"?: string;
59
+ /**
60
+ * Font color of the items in the left navigation panel.
61
+ */
62
+ "--ts-var-left-nav-item-color"?: string;
63
+ /**
64
+ * Font color of the selected item in the left navigation panel.
65
+ */
66
+ "--ts-var-left-nav-item-selection-color"?: string;
67
+ /**
68
+ * Background color of the selected item in the left navigation panel.
69
+ */
70
+ "--ts-var-left-nav-item-selection-background"?: string;
71
+ /**
72
+ * Color of the active tab icon in the left navigation panel.
73
+ */
74
+ "--ts-var-left-nav-tab-icon-active-color"?: string;
75
+ /**
76
+ * Color of the inactive tab icon in the left navigation panel.
77
+ */
78
+ "--ts-var-left-nav-tab-icon-inactive-color"?: string;
43
79
  /**
44
80
  * Background color of the *Search data* button.
45
81
  */
@@ -412,6 +448,14 @@ export interface CustomCssVariables {
412
448
  * Background color of the tiles in the Liveboard.
413
449
  */
414
450
  "--ts-var-liveboard-tile-background"?: string;
451
+ /**
452
+ * Font color of the insight tiles in the Liveboard.
453
+ */
454
+ "--ts-var-liveboard-insight-tile-font-color"?: string;
455
+ /**
456
+ * Background color of the insight tiles in the Liveboard.
457
+ */
458
+ "--ts-var-liveboard-insight-tile-background"?: string;
415
459
  /**
416
460
  * Border radius of the tiles in the Liveboard.
417
461
  */
@@ -960,6 +1004,10 @@ export interface CustomCssVariables {
960
1004
  * header underline, left panel border, thinking step connector and dots.
961
1005
  */
962
1006
  "--ts-var-spotterviz-border-color"?: string;
1007
+ /**
1008
+ * Expanded user chat message bubble border color in SpotterViz.
1009
+ */
1010
+ "--ts-var-spotterviz-expanded-border-color"?: string;
963
1011
  /**
964
1012
  * Background color of the reference-mode toggle button in the SpotterViz
965
1013
  * chat input when it is unselected and the user hovers over it.
@@ -977,6 +1025,53 @@ export interface CustomCssVariables {
977
1025
  * on each referenced-entity chip in the chat input.
978
1026
  */
979
1027
  "--ts-var-spotterviz-reference-icon-selected-background"?: string;
1028
+ /**
1029
+ * Background color of the shared conversation header (recipient's read-only view).
1030
+ */
1031
+ "--ts-var-shared-conv-header-background"?: string;
1032
+ /**
1033
+ * Border color of the shared conversation header.
1034
+ */
1035
+ "--ts-var-shared-conv-header-border-color"?: string;
1036
+ /**
1037
+ * Font color of the title text in the shared conversation header.
1038
+ */
1039
+ "--ts-var-shared-conv-title-color"?: string;
1040
+ /**
1041
+ * Background gradient color-stop of the share chat header's outer container
1042
+ * (sender's pre-share header). Defaults to transparent.
1043
+ */
1044
+ "--ts-var-share-chat-header-container-background"?: string;
1045
+ /**
1046
+ * Background color of the share chat header's inner title/actions row.
1047
+ * Defaults to transparent.
1048
+ */
1049
+ "--ts-var-share-chat-header-background"?: string;
1050
+ /**
1051
+ * Font color of the title text in the share chat header.
1052
+ */
1053
+ "--ts-var-share-chat-header-title-color"?: string;
1054
+ /**
1055
+ * Font color of the title input field in the share chat header.
1056
+ */
1057
+ "--ts-var-share-chat-header-input-text-color"?: string;
1058
+ /**
1059
+ * Background color of the title input field in the share chat header.
1060
+ */
1061
+ "--ts-var-share-chat-header-input-background"?: string;
1062
+ /**
1063
+ * Border color of the title input field in the share chat header.
1064
+ */
1065
+ "--ts-var-share-chat-header-input-border-color"?: string;
1066
+ /**
1067
+ * Background color of the shimmer loading effect. Also affects the
1068
+ * saved chats sidebar's new-chat shimmer, which shares the same style.
1069
+ */
1070
+ "--ts-var-shimmer-background"?: string;
1071
+ /**
1072
+ * Background color of the shimmer sweep animation's gradient mid-stop.
1073
+ */
1074
+ "--ts-var-shimmer-sweep-background"?: string;
980
1075
  }
981
1076
  export interface SessionInterface {
982
1077
  sessionId: string;
@@ -1340,7 +1435,9 @@ export enum AuthType {
1340
1435
  }
1341
1436
  /**
1342
1437
  *
1343
- * **Note**: This attribute is not supported in the classic (V1) homepage experience.
1438
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1439
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges) and
1440
+ * V4 (Focused) home page experiences.
1344
1441
  *
1345
1442
  */
1346
1443
  export enum HomeLeftNavItem {
@@ -1406,7 +1503,14 @@ export enum HomeLeftNavItem {
1406
1503
  * Available in the V3 navigation experience.
1407
1504
  * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
1408
1505
  */
1409
- Favorites = "favorites"
1506
+ Favorites = "favorites",
1507
+ /**
1508
+ * The *Collections* menu option in
1509
+ * the *Insights* left navigation panel.
1510
+ * Shown when collections are enabled on the cluster.
1511
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1512
+ */
1513
+ Collections = "collections"
1410
1514
  }
1411
1515
  export type DOMSelector = string | HTMLElement;
1412
1516
  /**
@@ -2353,6 +2457,26 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2353
2457
  * ```
2354
2458
  */
2355
2459
  overrideOrgId?: number;
2460
+ /**
2461
+ * Overrides the browser history behavior for embedding application users.
2462
+ * This parameter changes standard history navigation (pushState) into a
2463
+ * state replacement (replaceState), preventing users from getting trapped in
2464
+ * back-button loops inside the embedded iframe environment.
2465
+ * The overrideHistoryState setting is honored only if the
2466
+ * application is running within an embedded context.
2467
+ *
2468
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2469
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2470
+ * @example
2471
+ * ```js
2472
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
2473
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2474
+ * // ... other embed view config
2475
+ * overrideHistoryState: true,
2476
+ * });
2477
+ * ```
2478
+ */
2479
+ overrideHistoryState?: boolean;
2356
2480
  /**
2357
2481
  * Flag to override the *Open Link in New Tab* context
2358
2482
  * menu option.
@@ -2711,7 +2835,9 @@ export interface HomePageConfig {
2711
2835
  * To specify the modules, import the `HomepageModule` enum.
2712
2836
  * For example: `hiddenHomepageModules = [HomepageModule.MyLibrary]`
2713
2837
  *
2714
- * **Note**: This attribute is not supported in the classic (v1) experience.
2838
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2839
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2840
+ * and V4 (Focused) home page experiences.
2715
2841
  *
2716
2842
  * Supported embed types: `AppEmbed`
2717
2843
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2720,7 +2846,7 @@ export interface HomePageConfig {
2720
2846
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2721
2847
  *
2722
2848
  * const embed = new AppEmbed('#tsEmbed', {
2723
- * ... // V2/V3 navigation and home page experience attributes
2849
+ * ... // V3 navigation and home page experience attributes
2724
2850
  * hiddenHomepageModules : [HomepageModule.Favorite,HomepageModule.Learning],
2725
2851
  * //...other embed view configuration attributes
2726
2852
  * })
@@ -2731,8 +2857,11 @@ export interface HomePageConfig {
2731
2857
  * Reorder home page modules.
2732
2858
  * To specify the modules, import the `HomepageModule` enum.
2733
2859
  * For example: `reorderedHomepageModules = [HomepageModule.MyLibrary,
2734
- * HomepageModule.Watchlist]` **Note**: This attribute is not supported in the
2735
- * classic (v1) homepage.
2860
+ * HomepageModule.Watchlist]`
2861
+ *
2862
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2863
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2864
+ * and V4 (Focused) home page experiences.
2736
2865
  *
2737
2866
  * Supported embed types: `AppEmbed`
2738
2867
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2741,7 +2870,7 @@ export interface HomePageConfig {
2741
2870
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2742
2871
  *
2743
2872
  * const embed = new AppEmbed('#tsEmbed', {
2744
- * ...//V2/V3 navigation and home page experience attributes
2873
+ * ...//V3 navigation and home page experience attributes
2745
2874
  * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary],
2746
2875
  * //... other embed view configuration attributes
2747
2876
  * })
@@ -2753,7 +2882,9 @@ export interface HomePageConfig {
2753
2882
  * on the home page left navigation panel.
2754
2883
  * To specify the menu items, import the `HomeLeftNavItem` enum.
2755
2884
  *
2756
- * **Note**: This attribute is not supported in the classic (v1) homepage.
2885
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2886
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2887
+ * and V4 (Focused) home page experiences.
2757
2888
  *
2758
2889
  * Supported embed types: `AppEmbed`
2759
2890
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -3129,6 +3260,24 @@ export interface LiveboardAppEmbedViewConfig {
3129
3260
  * ```
3130
3261
  */
3131
3262
  isCentralizedLiveboardFilterUXEnabled?: boolean;
3263
+ /**
3264
+ * This flag is used to enable or disable scoped Liveboard filtering.
3265
+ * When enabled, filters and parameters can be scoped to a group of
3266
+ * visualizations on a Liveboard, in addition to the Liveboard and
3267
+ * tab levels.
3268
+ *
3269
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3270
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
3271
+ * @example
3272
+ * ```js
3273
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3274
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3275
+ * ... // other embed view config
3276
+ * isScopedLiveboardFilteringEnabled: true,
3277
+ * })
3278
+ * ```
3279
+ */
3280
+ isScopedLiveboardFilteringEnabled?: boolean;
3132
3281
  /**
3133
3282
  * This flag is used to enable or disable the link parameters in liveboard.
3134
3283
  *
@@ -3312,7 +3461,9 @@ export enum RuntimeFilterOp {
3312
3461
  * via `hiddenHomepageModules` and reordered via
3313
3462
  * `reorderedHomepageModules`.
3314
3463
  *
3315
- * **Note**: This option is not supported in the classic (v1) experience.
3464
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
3465
+ * deprecated. These modules apply to V3 (ModularWithStylingChanges) and
3466
+ * V4 (Focused) home page experiences.
3316
3467
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
3317
3468
  */
3318
3469
  export enum HomepageModule {
@@ -4301,11 +4452,19 @@ export enum EmbedEvent {
4301
4452
  * Emitted when a user changes any filter on a Liveboard.
4302
4453
  * Returns filter type and name, column name and ID, and runtime
4303
4454
  * filter details.
4455
+ * The payload includes an optional `applicability` attribute indicating the
4456
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
4457
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4458
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4459
+ * is no `targetId`, since the filter applies to the whole Liveboard.
4460
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4461
+ * ThoughtSpot: 26.10.0.cl.
4304
4462
  * @example
4305
4463
  *
4306
4464
  * ```js
4307
4465
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
4308
4466
  * console.log('payload', payload);
4467
+ * // payload.data optionally includes applicability: { level, targetId }
4309
4468
  * })
4310
4469
  * ```
4311
4470
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -4497,9 +4656,17 @@ export enum EmbedEvent {
4497
4656
  /**
4498
4657
  * Emitted when parameter changes in an Answer
4499
4658
  * or Liveboard.
4659
+ * The payload includes an optional `applicability` attribute indicating the
4660
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
4661
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4662
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4663
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
4664
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4665
+ * ThoughtSpot: 26.10.0.cl.
4500
4666
  * ```js
4501
4667
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
4502
4668
  * console.log('payload', payload);
4669
+ * // payload.data optionally includes applicability: { level, targetId }
4503
4670
  * })
4504
4671
  * ```
4505
4672
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -4801,6 +4968,158 @@ export enum EmbedEvent {
4801
4968
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4802
4969
  */
4803
4970
  SpotterConversationDeleted = "spotterConversationDeleted",
4971
+ /**
4972
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
4973
+ * to bracket the interaction. App→host counterpart of the
4974
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
4975
+ * @example
4976
+ * ```js
4977
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
4978
+ * // payload: { convId: string }
4979
+ * })
4980
+ * ```
4981
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4982
+ */
4983
+ SpotterShareConversationButtonHeaderClicked = "spotterShareConversationButtonHeaderClicked",
4984
+ /**
4985
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
4986
+ * to bracket the interaction.
4987
+ * @example
4988
+ * ```js
4989
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
4990
+ * // payload: { convId: string }
4991
+ * })
4992
+ * ```
4993
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4994
+ */
4995
+ SpotterShareConversationMenuItemSidebarClicked = "spotterShareConversationMenuItemSidebarClicked",
4996
+ /**
4997
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
4998
+ * share created). The host builds its own link from shareId/convId + its
4999
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
5000
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
5001
+ * the save resolves.
5002
+ * @example
5003
+ * ```js
5004
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
5005
+ * // payload: { convId: string, shareId: string,
5006
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
5007
+ * })
5008
+ * ```
5009
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5010
+ */
5011
+ SpotterConversationShared = "spotterConversationShared",
5012
+ /**
5013
+ * Emitted when access to a shared Spotter conversation is revoked
5014
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
5015
+ * and the share is deleted entirely.
5016
+ * @example
5017
+ * ```js
5018
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
5019
+ * // payload: { convId: string, shareId: string,
5020
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
5021
+ * })
5022
+ * ```
5023
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5024
+ */
5025
+ SpotterConversationShareRevoked = "spotterConversationShareRevoked",
5026
+ /**
5027
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
5028
+ * view). No shareId available viewer-side.
5029
+ * @example
5030
+ * ```js
5031
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
5032
+ * // payload: { convId: string, sourceConvId: string }
5033
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
5034
+ * })
5035
+ * ```
5036
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5037
+ */
5038
+ SpotterSharedConversationViewed = "spotterSharedConversationViewed",
5039
+ /**
5040
+ * Emitted when the user toggles the share-modal "include new messages since
5041
+ * last shared version" checkbox.
5042
+ * @example
5043
+ * ```js
5044
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
5045
+ * // payload: { convId: string, includeNewMessages: boolean }
5046
+ * })
5047
+ * ```
5048
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5049
+ */
5050
+ SpotterShareIncludeNewMessagesCheckboxToggled = "spotterShareIncludeNewMessagesCheckboxToggled",
5051
+ /**
5052
+ * Emitted when the user dismisses the stale-snapshot info banner via its
5053
+ * cross (distinct from the include-new-messages checkbox toggle).
5054
+ * @example
5055
+ * ```js
5056
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
5057
+ * // payload: { convId: string }
5058
+ * })
5059
+ * ```
5060
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5061
+ */
5062
+ SpotterShareStaleInfoBannerDismissed = "spotterShareStaleInfoBannerDismissed",
5063
+ /**
5064
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
5065
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
5066
+ * / `SpotterConversationShareRevoked` result events.
5067
+ * @example
5068
+ * ```js
5069
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
5070
+ * // payload: { convId: string }
5071
+ * })
5072
+ * ```
5073
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5074
+ */
5075
+ SpotterShareModalConfirmButtonClicked = "spotterShareModalConfirmButtonClicked",
5076
+ /**
5077
+ * Emitted when the share modal is dismissed via the Cancel button.
5078
+ * @example
5079
+ * ```js
5080
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
5081
+ * // payload: { convId: string }
5082
+ * })
5083
+ * ```
5084
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5085
+ */
5086
+ SpotterShareModalCancelButtonClicked = "spotterShareModalCancelButtonClicked",
5087
+ /**
5088
+ * Emitted when a recipient leaves the read-only shared view via the Exit
5089
+ * button.
5090
+ * @example
5091
+ * ```js
5092
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
5093
+ * // payload: { convId: string }
5094
+ * })
5095
+ * ```
5096
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5097
+ */
5098
+ SpotterSharedConversationExitButtonClicked = "spotterSharedConversationExitButtonClicked",
5099
+ /**
5100
+ * Emitted when a Spotter conversation is pinned.
5101
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5102
+ * @example
5103
+ * ```js
5104
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
5105
+ * console.log('Conversation pinned', payload);
5106
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
5107
+ * })
5108
+ * ```
5109
+ */
5110
+ SpotterConversationPinned = "spotterConversationPinned",
5111
+ /**
5112
+ * Emitted when a Spotter conversation is unpinned.
5113
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5114
+ * @example
5115
+ * ```js
5116
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
5117
+ * console.log('Conversation unpinned', payload);
5118
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
5119
+ * })
5120
+ * ```
5121
+ */
5122
+ SpotterConversationUnpinned = "spotterConversationUnpinned",
4804
5123
  /**
4805
5124
  * Emitted when a Spotter conversation is selected/clicked.
4806
5125
  * @example
@@ -4813,6 +5132,30 @@ export enum EmbedEvent {
4813
5132
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4814
5133
  */
4815
5134
  SpotterConversationSelected = "spotterConversationSelected",
5135
+ /**
5136
+ * Emitted when the Spotter agent finishes streaming/rendering a response.
5137
+ * Includes the conversation and message identifiers so the host app can
5138
+ * fetch the full conversation history via the REST API if needed.
5139
+ *
5140
+ * The payload data has the shape `{ convId: string, messageId: string }`.
5141
+ *
5142
+ * Works with SpotterEmbed as well as AppEmbed (when Spotter is reached
5143
+ * inside the full application).
5144
+ * @example
5145
+ * ```js
5146
+ * spotterEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
5147
+ * console.log('Spotter response complete', payload);
5148
+ * })
5149
+ * ```
5150
+ * @example
5151
+ * ```js
5152
+ * appEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
5153
+ * console.log('Spotter response complete', payload);
5154
+ * })
5155
+ * ```
5156
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.9.0.cl
5157
+ */
5158
+ SpotterResponseComplete = "spotterResponseComplete",
4816
5159
  /**
4817
5160
  * @hidden
4818
5161
  * Emitted when the auth token is about to get expired and needs to be refreshed.
@@ -5292,6 +5635,17 @@ export enum HostEvent {
5292
5635
  * name: string,
5293
5636
  * type: ATTRIBUTE/MEASURE,
5294
5637
  * dataType: INT64/CHAR/DATE }
5638
+ *
5639
+ * `applicability` - Optional. Scopes the filter to a specific target,
5640
+ * for example, a single Liveboard tab, so the panel for the correct
5641
+ * scoped filter is opened. Available from SDK: 1.53.0 |
5642
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
5643
+ *
5644
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
5645
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5646
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5647
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
5648
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5295
5649
  * @example
5296
5650
  * ```js
5297
5651
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -5304,6 +5658,14 @@ export enum HostEvent {
5304
5658
  * ```
5305
5659
  * @example
5306
5660
  * ```js
5661
+ * // Open a filter scoped to a specific Liveboard tab
5662
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
5663
+ * column: { columnId: '<column-GUID>' },
5664
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
5665
+ * });
5666
+ * ```
5667
+ * @example
5668
+ * ```js
5307
5669
  * // Open filter from search context
5308
5670
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5309
5671
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -5313,6 +5675,38 @@ export enum HostEvent {
5313
5675
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
5314
5676
  */
5315
5677
  OpenFilter = "openFilter",
5678
+ /**
5679
+ * Open the parameter panel for a particular parameter on a Liveboard.
5680
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
5681
+ * @param - Includes the following keys:
5682
+ * - `parameter`: An object identifying the parameter to open, for
5683
+ * example, `{ parameterId: '<parameter-GUID>' }`.
5684
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
5685
+ * for example, a single Liveboard tab, so the panel for the correct
5686
+ * scoped parameter is opened. Includes the following attributes:
5687
+ *
5688
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
5689
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5690
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5691
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
5692
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5693
+ * @example
5694
+ * ```js
5695
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5696
+ * parameter: { parameterId: '<parameter-GUID>' }
5697
+ * });
5698
+ * ```
5699
+ * @example
5700
+ * ```js
5701
+ * // Open a parameter scoped to a specific group
5702
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5703
+ * parameter: { parameterId: '<parameter-GUID>' },
5704
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
5705
+ * });
5706
+ * ```
5707
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5708
+ */
5709
+ OpenParameter = "openParameter",
5316
5710
  /**
5317
5711
  * Add columns to the current search query.
5318
5712
  * @param - { columnIds: string[] }
@@ -6376,6 +6770,14 @@ export enum HostEvent {
6376
6770
  /**
6377
6771
  * Get details of filters applied on the Liveboard.
6378
6772
  * Returns arrays containing Liveboard filter and runtime filter elements.
6773
+ * Each Liveboard filter includes an optional `applicability` attribute
6774
+ * indicating the scope of the filter. It contains a `level`
6775
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
6776
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
6777
+ * level there is no `targetId`, since the filter applies to the
6778
+ * whole Liveboard.
6779
+ * The `applicability` attribute is available from SDK: 1.53.0 |
6780
+ * ThoughtSpot: 26.10.0.cl.
6379
6781
  * @example
6380
6782
  * ```js
6381
6783
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
@@ -6415,6 +6817,16 @@ export enum HostEvent {
6415
6817
  *
6416
6818
  * `type` - To update filters for date time, specify the date format type.
6417
6819
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
6820
+ *
6821
+ * `applicability` - Optional. Scopes the filter to a specific target,
6822
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
6823
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
6824
+ *
6825
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
6826
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
6827
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
6828
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
6829
+ * Liveboard.
6418
6830
  * @example
6419
6831
  * ```js
6420
6832
  *
@@ -6491,6 +6903,21 @@ export enum HostEvent {
6491
6903
  * }
6492
6904
  * }, ContextType.Liveboard);
6493
6905
  * ```
6906
+ * @example
6907
+ * ```js
6908
+ * // Scope the filter to a specific Liveboard tab
6909
+ * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
6910
+ * filter: {
6911
+ * column: "item type",
6912
+ * oper: "IN",
6913
+ * values: ["bags", "shirts"],
6914
+ * applicability: {
6915
+ * level: "TAB",
6916
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
6917
+ * }
6918
+ * }
6919
+ * });
6920
+ * ```
6494
6921
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
6495
6922
  */
6496
6923
  UpdateFilters = "updateFilters",
@@ -6515,6 +6942,28 @@ export enum HostEvent {
6515
6942
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
6516
6943
  */
6517
6944
  GetTabs = "getTabs",
6945
+ /**
6946
+ * Get group details for the current Liveboard.
6947
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
6948
+ * @example
6949
+ * ```js
6950
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
6951
+ * console.log(
6952
+ * groupDetails // GroupDetails of current Liveboard
6953
+ * );
6954
+ * })
6955
+ * ```
6956
+ * @example
6957
+ * ```js
6958
+ * // Get groups from liveboard context
6959
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
6960
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
6961
+ * console.log('groups', groupDetails);
6962
+ * });
6963
+ * ```
6964
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
6965
+ */
6966
+ GetGroups = "getGroups",
6518
6967
  /**
6519
6968
  * Set the visible tabs on a Liveboard.
6520
6969
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -6642,6 +7091,15 @@ export enum HostEvent {
6642
7091
  * - `name`: Name of the parameter.
6643
7092
  * - `value`: The value to set for the parameter.
6644
7093
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
7094
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
7095
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
7096
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
7097
+ *
7098
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
7099
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
7100
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
7101
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
7102
+ * Liveboard.
6645
7103
  *
6646
7104
  * @example
6647
7105
  * ```js
@@ -6653,6 +7111,18 @@ export enum HostEvent {
6653
7111
  * ```
6654
7112
  * @example
6655
7113
  * ```js
7114
+ * // Scope the parameter to a specific Liveboard tab
7115
+ * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
7116
+ * name: "Integer Range Param",
7117
+ * value: 10,
7118
+ * applicability: {
7119
+ * level: "TAB",
7120
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
7121
+ * }
7122
+ * }])
7123
+ * ```
7124
+ * @example
7125
+ * ```js
6656
7126
  * // Update parameters from liveboard context
6657
7127
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
6658
7128
  * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
@@ -6666,6 +7136,14 @@ export enum HostEvent {
6666
7136
  UpdateParameters = "UpdateParameters",
6667
7137
  /**
6668
7138
  * Triggers GetParameters to fetch the runtime Parameters.
7139
+ * Each parameter includes an optional `applicability` attribute
7140
+ * indicating the scope of the parameter. It contains a `level`
7141
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
7142
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
7143
+ * level there is no `targetId`, since the parameter applies to the
7144
+ * whole Liveboard.
7145
+ * The `applicability` attribute is available from SDK: 1.53.0 |
7146
+ * ThoughtSpot: 26.10.0.cl.
6669
7147
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
6670
7148
  * ```js
6671
7149
  * liveboardEmbed.trigger(HostEvent.GetParameters).then((parameter) => {
@@ -6932,6 +7410,36 @@ export enum HostEvent {
6932
7410
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
6933
7411
  */
6934
7412
  ResetSpotterConversation = "ResetSpotterConversation",
7413
+ /**
7414
+ * Opens the Spotter share-conversation modal for the given conversation.
7415
+ * `conversationId` is **mandatory** — you must pass the id of the
7416
+ * conversation to share. Also no-op when sharing is disabled
7417
+ * (enableShareConversation off) or when already in the read-only shared view.
7418
+ * @example
7419
+ * ```js
7420
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
7421
+ * ```
7422
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7423
+ */
7424
+ ShareSpotterConversation = "ShareSpotterConversation",
7425
+ /**
7426
+ * Closes the Spotter share-conversation modal. No-op if none is open.
7427
+ * @example
7428
+ * ```js
7429
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
7430
+ * ```
7431
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7432
+ */
7433
+ CloseSpotterShareConversation = "CloseSpotterShareConversation",
7434
+ /**
7435
+ * Exits the read-only shared-conversation view.
7436
+ * @example
7437
+ * ```js
7438
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
7439
+ * ```
7440
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7441
+ */
7442
+ ExitSpotterSharedConversation = "ExitSpotterSharedConversation",
6935
7443
  /**
6936
7444
  * Deletes the last prompt in spotter embed.
6937
7445
  * @example
@@ -7027,6 +7535,41 @@ export enum HostEvent {
7027
7535
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
7028
7536
  */
7029
7537
  StartNewSpotterConversation = "StartNewSpotterConversation",
7538
+ /**
7539
+ * Pins a saved Spotter conversation so it floats to the top of the past
7540
+ * conversations sidebar. The `conversationId` of the conversation to pin is
7541
+ * required.
7542
+ *
7543
+ * This feature is available only when chat history is enabled on your ThoughtSpot
7544
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7545
+ * instance.
7546
+ *
7547
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7548
+ * @example
7549
+ * ```js
7550
+ * spotterEmbed.trigger(HostEvent.PinSpotterConversation, {
7551
+ * conversationId: '<conversation-id>',
7552
+ * });
7553
+ * ```
7554
+ */
7555
+ PinSpotterConversation = "PinSpotterConversation",
7556
+ /**
7557
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
7558
+ * conversation to unpin is required.
7559
+ *
7560
+ * This feature is available only when chat history is enabled on your ThoughtSpot
7561
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7562
+ * instance.
7563
+ *
7564
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7565
+ * @example
7566
+ * ```js
7567
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
7568
+ * conversationId: '<conversation-id>',
7569
+ * });
7570
+ * ```
7571
+ */
7572
+ UnpinSpotterConversation = "UnpinSpotterConversation",
7030
7573
  /**
7031
7574
  * @hidden
7032
7575
  * Get the current context of the embedded page.
@@ -8393,6 +8936,19 @@ export enum Action {
8393
8936
  * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.6.0.cl
8394
8937
  */
8395
8938
  ChangeFilterVisibilityInTab = "changeFilterVisibilityInTab",
8939
+ /**
8940
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
8941
+ * including filter, parameter, and cross-filter chips at the liveboard,
8942
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
8943
+ *
8944
+ * @example
8945
+ * ```js
8946
+ * hiddenActions: [Action.AllLiveboardFilters]
8947
+ * disabledActions: [Action.AllLiveboardFilters]
8948
+ * ```
8949
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
8950
+ */
8951
+ AllLiveboardFilters = "allLiveboardFilters",
8396
8952
  /**
8397
8953
  * The **Data model instructions** button on the Spotter interface.
8398
8954
  * Allows opening the data model instructions modal.
@@ -8729,17 +9285,110 @@ export enum Action {
8729
9285
  */
8730
9286
  SpotterChatRename = "spotterChatRename",
8731
9287
  /**
8732
- * Controls visibility and disable state of the delete action
8733
- * in the Spotter conversation edit menu.
9288
+ * Controls visibility and disable state of the Spotter conversation Share
9289
+ * button in the chat header. Only takes effect once sharing is enabled
9290
+ * (enableShareConversation on).
8734
9291
  * @example
8735
9292
  * ```js
8736
- * disabledActions: [Action.SpotterChatDelete]
9293
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
8737
9294
  * ```
8738
- * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
9295
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8739
9296
  */
8740
- SpotterChatDelete = "spotterChatDelete",
9297
+ SpotterShareConversationButtonHeader = "spotterShareConversationButtonHeader",
8741
9298
  /**
8742
- * Controls visibility and disable state of the documentation/best practices
9299
+ * Controls visibility and disable state of the Share item in the Spotter
9300
+ * conversation history (sidebar) edit menu. Independent of the header button
9301
+ * above, so a host can show Share in one entry point and hide it in the other.
9302
+ * @example
9303
+ * ```js
9304
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
9305
+ * ```
9306
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9307
+ */
9308
+ SpotterShareConversationMenuItemSidebar = "spotterShareConversationMenuItemSidebar",
9309
+ /**
9310
+ * Controls visibility of the entire read-only shared-conversation data-access
9311
+ * banner shown when a recipient opens a shared view. Hide-only.
9312
+ * @example
9313
+ * ```js
9314
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
9315
+ * ```
9316
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9317
+ */
9318
+ SpotterSharedConversationBanner = "spotterSharedConversationBanner",
9319
+ /**
9320
+ * Controls visibility and disable state of the cross/close button on the
9321
+ * read-only shared-conversation data-access banner (keeps the banner itself).
9322
+ * @example
9323
+ * ```js
9324
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
9325
+ * ```
9326
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9327
+ */
9328
+ SpotterSharedConversationBannerDismissButton = "spotterSharedConversationBannerDismissButton",
9329
+ /**
9330
+ * Controls visibility and disable state of the Exit button in the read-only
9331
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
9332
+ * host event.
9333
+ * @example
9334
+ * ```js
9335
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
9336
+ * ```
9337
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9338
+ */
9339
+ SpotterSharedConversationExitButton = "spotterSharedConversationExitButton",
9340
+ /**
9341
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
9342
+ * to the current moment…"). Hide-only.
9343
+ * @example
9344
+ * ```js
9345
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
9346
+ * ```
9347
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9348
+ */
9349
+ SpotterShareUpToCurrentInfo = "spotterShareUpToCurrentInfo",
9350
+ /**
9351
+ * Controls visibility and disable state of the share-modal "include new
9352
+ * messages since last shared version" checkbox.
9353
+ * @example
9354
+ * ```js
9355
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
9356
+ * ```
9357
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9358
+ */
9359
+ SpotterShareIncludeNewMessagesCheckbox = "spotterShareIncludeNewMessagesCheckbox",
9360
+ /**
9361
+ * Controls visibility and disable state of the cross on the share-modal
9362
+ * stale-snapshot info banner.
9363
+ * @example
9364
+ * ```js
9365
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
9366
+ * ```
9367
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9368
+ */
9369
+ SpotterShareStaleInfoBannerDismissButton = "spotterShareStaleInfoBannerDismissButton",
9370
+ /**
9371
+ * Controls visibility and disable state of the delete action
9372
+ * in the Spotter conversation edit menu.
9373
+ * @example
9374
+ * ```js
9375
+ * disabledActions: [Action.SpotterChatDelete]
9376
+ * ```
9377
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
9378
+ */
9379
+ SpotterChatDelete = "spotterChatDelete",
9380
+ /**
9381
+ * Controls visibility and disable state of the pin/unpin action
9382
+ * in the Spotter conversation edit menu.
9383
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9384
+ * @example
9385
+ * ```js
9386
+ * disabledActions: [Action.SpotterChatPin]
9387
+ * ```
9388
+ */
9389
+ SpotterChatPin = "spotterChatPin",
9390
+ /**
9391
+ * Controls visibility and disable state of the documentation/best practices
8743
9392
  * link in the Spotter sidebar footer.
8744
9393
  * @example
8745
9394
  * ```js
@@ -9266,7 +9915,9 @@ export enum EmbedErrorCodes {
9266
9915
  /** UpdateFilters payload is invalid - missing or malformed filter/filters */
9267
9916
  UPDATEFILTERS_INVALID_PAYLOAD = "UPDATEFILTERS_INVALID_PAYLOAD",
9268
9917
  /** DrillDown payload is invalid - missing or malformed points */
9269
- DRILLDOWN_INVALID_PAYLOAD = "DRILLDOWN_INVALID_PAYLOAD"
9918
+ DRILLDOWN_INVALID_PAYLOAD = "DRILLDOWN_INVALID_PAYLOAD",
9919
+ /** UpdateParameters payload is invalid - malformed applicability */
9920
+ UPDATEPARAMETERS_INVALID_PAYLOAD = "UPDATEPARAMETERS_INVALID_PAYLOAD"
9270
9921
  }
9271
9922
  /**
9272
9923
  * Error event object emitted when an error occurs in an embedded component.
@@ -9912,6 +10563,40 @@ export interface LiveboardTab {
9912
10563
  name: string;
9913
10564
  [key: string]: any;
9914
10565
  }
10566
+ export interface LiveboardGroup {
10567
+ id: string;
10568
+ name: string;
10569
+ [key: string]: any;
10570
+ }
10571
+ enum ApplicabilityLevel {
10572
+ Liveboard = "LIVEBOARD",
10573
+ Tab = "TAB",
10574
+ Group = "GROUP"
10575
+ }
10576
+ /**
10577
+ * Scopes a filter or parameter to a specific target.
10578
+ * At `LIVEBOARD` level the filter applies to the whole Liveboard, so `targetId`
10579
+ * is not required.
10580
+ */
10581
+ export interface Applicability {
10582
+ level: ApplicabilityLevel;
10583
+ targetId?: string;
10584
+ }
10585
+ export interface FilterUpdate {
10586
+ column: string;
10587
+ oper: string;
10588
+ values: string[];
10589
+ type?: string;
10590
+ applicability?: Applicability;
10591
+ }
10592
+ export interface LiveboardFilter {
10593
+ applicability?: Applicability;
10594
+ [key: string]: any;
10595
+ }
10596
+ export interface LiveboardParameter {
10597
+ applicability?: Applicability;
10598
+ [key: string]: any;
10599
+ }
9915
10600
  export enum UIPassthroughEvent {
9916
10601
  PinAnswerToLiveboard = "addVizToPinboard",
9917
10602
  SaveAnswer = "saveAnswer",
@@ -9928,6 +10613,7 @@ export enum UIPassthroughEvent {
9928
10613
  GetParameters = "getParameters",
9929
10614
  GetTML = "getTML",
9930
10615
  GetTabs = "getTabs",
10616
+ GetGroups = "getGroups",
9931
10617
  GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
9932
10618
  }
9933
10619
  export type UIPassthroughContractBase = {
@@ -10006,7 +10692,7 @@ export type UIPassthroughContractBase = {
10006
10692
  vizId?: string;
10007
10693
  };
10008
10694
  response: {
10009
- liveboardFilters: Record<string, any>[];
10695
+ liveboardFilters: LiveboardFilter[];
10010
10696
  runtimeFilters: RuntimeFilter[];
10011
10697
  };
10012
10698
  };
@@ -10019,7 +10705,7 @@ export type UIPassthroughContractBase = {
10019
10705
  [UIPassthroughEvent.GetParameters]: {
10020
10706
  request: Record<string, never>;
10021
10707
  response: {
10022
- parameters: Record<string, any>[];
10708
+ parameters: LiveboardParameter[];
10023
10709
  };
10024
10710
  };
10025
10711
  [UIPassthroughEvent.GetTML]: {
@@ -10037,6 +10723,14 @@ export type UIPassthroughContractBase = {
10037
10723
  Tabs: LiveboardTab[];
10038
10724
  };
10039
10725
  };
10726
+ [UIPassthroughEvent.GetGroups]: {
10727
+ request: Record<string, never>;
10728
+ response: {
10729
+ orderedGroupIds: string[];
10730
+ numberOfGroups: number;
10731
+ Groups: LiveboardGroup[];
10732
+ };
10733
+ };
10040
10734
  [UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
10041
10735
  request: Record<string, never>;
10042
10736
  response: {
@@ -10048,18 +10742,8 @@ export type UIPassthroughContractBase = {
10048
10742
  };
10049
10743
  [UIPassthroughEvent.UpdateFilters]: {
10050
10744
  request: {
10051
- filter?: {
10052
- column: string;
10053
- oper: string;
10054
- values: string[];
10055
- type?: string;
10056
- };
10057
- filters?: {
10058
- column: string;
10059
- oper: string;
10060
- values: string[];
10061
- type?: string;
10062
- }[];
10745
+ filter?: FilterUpdate;
10746
+ filters?: FilterUpdate[];
10063
10747
  };
10064
10748
  response: unknown;
10065
10749
  };
@@ -10092,6 +10776,7 @@ export type EmbedApiHostEventMapping = {
10092
10776
  [HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
10093
10777
  [HostEvent.GetTML]: UIPassthroughEvent.GetTML;
10094
10778
  [HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
10779
+ [HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
10095
10780
  [HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
10096
10781
  };
10097
10782
  export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
@@ -10136,6 +10821,7 @@ class HostEventClient {
10136
10821
  protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>, context?: ContextType): Promise<HostEventResponse<HostEvent.Pin, ContextType>>;
10137
10822
  protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>, context?: ContextType): Promise<any>;
10138
10823
  protected handleUpdateFiltersEvent(payload: HostEventRequest<HostEvent.UpdateFilters>, context?: ContextType): Promise<any>;
10824
+ protected handleUpdateParametersEvent(payload: HostEventRequest<HostEvent.UpdateParameters>, context?: ContextType): Promise<any>;
10139
10825
  protected handleDrillDownEvent(payload: HostEventRequest<HostEvent.DrillDown>, context?: ContextType): Promise<any>;
10140
10826
  /**
10141
10827
  * Dispatches a host event using the appropriate channel:
@@ -10738,6 +11424,45 @@ export interface SearchOptions {
10738
11424
  */
10739
11425
  searchQuery: string;
10740
11426
  }
11427
+ /**
11428
+ * The query mode Spotter uses when answering a question.
11429
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11430
+ */
11431
+ export enum SpotterQueryMode {
11432
+ FAST_SEARCH = "fastSearch",
11433
+ RESEARCH = "research"
11434
+ }
11435
+ /**
11436
+ * Configuration for the pin/unpin conversation feature in the Spotter sidebar.
11437
+ * Grouped into one object because pin exposes several related settings
11438
+ * (enable + label overrides), unlike single-item actions like rename or
11439
+ * delete.
11440
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11441
+ */
11442
+ export interface SpotterChatPinConfig {
11443
+ /**
11444
+ * Enables the pin/unpin conversation feature in embedded Spotter. Disabled
11445
+ * by default — hosts must opt in. When off, the Pin/Unpin menu entry and
11446
+ * the pin glyph are hidden and the PinSpotterConversation /
11447
+ * UnpinSpotterConversation host events are no-ops. Native (non-embedded)
11448
+ * Spotter is unaffected and ships pin enabled.
11449
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11450
+ * @default false
11451
+ */
11452
+ enabled?: boolean;
11453
+ /**
11454
+ * Custom label text for the pin action in the conversation edit menu.
11455
+ * Defaults to translated "Pin" text.
11456
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11457
+ */
11458
+ pinLabel?: string;
11459
+ /**
11460
+ * Custom label text for the unpin action in the conversation edit menu.
11461
+ * Defaults to translated "Unpin" text.
11462
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11463
+ */
11464
+ unpinLabel?: string;
11465
+ }
10741
11466
  /**
10742
11467
  * Configuration for the Spotter sidebar.
10743
11468
  * Can be used in SpotterEmbed and AppEmbed.
@@ -10775,6 +11500,12 @@ export interface SpotterSidebarViewConfig {
10775
11500
  * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
10776
11501
  */
10777
11502
  spotterChatDeleteLabel?: string;
11503
+ /**
11504
+ * Pin/unpin conversation feature config (enable + label overrides).
11505
+ * Off by default in embed — hosts opt in via `enabled`.
11506
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11507
+ */
11508
+ spotterChatPinConfig?: SpotterChatPinConfig;
10778
11509
  /**
10779
11510
  * Custom title text for the delete conversation confirmation modal.
10780
11511
  * Defaults to translated "Delete chat" text.
@@ -10825,6 +11556,84 @@ export interface SpotterSidebarViewConfig {
10825
11556
  */
10826
11557
  spotterAnalystsLabel?: string;
10827
11558
  }
11559
+ /**
11560
+ * Configuration for the Spotter conversation sharing feature.
11561
+ * Can be used in SpotterEmbed and AppEmbed.
11562
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11563
+ * @group Embed components
11564
+ */
11565
+ export interface SpotterShareConversationConfig {
11566
+ /**
11567
+ * Enables sharing of the conversation.
11568
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11569
+ * @default false
11570
+ */
11571
+ enableShareConversation?: boolean;
11572
+ /**
11573
+ * Header Share button + sidebar Share item label.
11574
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11575
+ * @default "Share"
11576
+ */
11577
+ spotterShareLabel?: string;
11578
+ /**
11579
+ * Share modal title.
11580
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11581
+ */
11582
+ spotterShareModalTitle?: string;
11583
+ /**
11584
+ * Modal confirm button label.
11585
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11586
+ * @default "Share"
11587
+ */
11588
+ spotterShareConfirmLabel?: string;
11589
+ /**
11590
+ * Modal cancel button label.
11591
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11592
+ * @default "Cancel"
11593
+ */
11594
+ spotterShareCancelLabel?: string;
11595
+ /**
11596
+ * "Add users or groups" label.
11597
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11598
+ */
11599
+ spotterShareAddUsersLabel?: string;
11600
+ /**
11601
+ * Empty-state title ("No users added yet").
11602
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11603
+ */
11604
+ spotterShareEmptyTitle?: string;
11605
+ /**
11606
+ * Empty-state subtitle ("Not shared with any user").
11607
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11608
+ */
11609
+ spotterShareEmptySubtitle?: string;
11610
+ /**
11611
+ * "Include new messages since last shared version" checkbox label.
11612
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11613
+ */
11614
+ spotterShareIncludeNewMessagesLabel?: string;
11615
+ /**
11616
+ * Footer note when the snapshot is current ("…up to the current moment…").
11617
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11618
+ */
11619
+ spotterShareUpToCurrentLabel?: string;
11620
+ /**
11621
+ * Stale-snapshot info banner text ("All added users and groups will receive…").
11622
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11623
+ */
11624
+ spotterShareStaleInfoLabel?: string;
11625
+ /**
11626
+ * Read-only shared-view data-access banner message.
11627
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11628
+ */
11629
+ spotterSharedConversationBannerMessage?: string;
11630
+ /**
11631
+ * Read-only shared-view Exit button label.
11632
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11633
+ * @default "Exit"
11634
+ */
11635
+ spotterSharedConversationExitLabel?: string;
11636
+ }
10828
11637
  /**
10829
11638
  * Configuration for customizing Spotter chat UI branding.
10830
11639
  * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
@@ -10879,8 +11688,27 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
10879
11688
  /**
10880
11689
  * The ID of the data source object. For example, Model, View, or Table. Spotter uses
10881
11690
  * this object to query data and generate Answers.
11691
+ * This field is optional. If not provided, Spotter loads using the
11692
+ * previously selected user data source.
10882
11693
  */
10883
- worksheetId: string;
11694
+ worksheetId?: string;
11695
+ /**
11696
+ * The array of data source GUIDs to set on load. Spotter uses
11697
+ * these GUIDs to query data and generate Answers.
11698
+ * dataSources is preferred over worksheetId if both are provided.
11699
+ * The feature is currently behind a feature flag.
11700
+ *
11701
+ * Supported embed types: `SpotterEmbed`
11702
+ * @example
11703
+ * ```js
11704
+ * const embed = new SpotterEmbed('#tsEmbed', {
11705
+ * // ...other embed view config
11706
+ * dataSources: ['id-2345', 'id-2345'],
11707
+ * });
11708
+ * ```
11709
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11710
+ */
11711
+ dataSources?: string[];
10884
11712
  /**
10885
11713
  * Ability to pass a starting search query to the conversation.
10886
11714
  */
@@ -11040,6 +11868,39 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11040
11868
  * ```
11041
11869
  */
11042
11870
  updatedSpotterChatPrompt?: boolean;
11871
+ /**
11872
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
11873
+ *
11874
+ * Supported embed types: `SpotterEmbed`
11875
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11876
+ * @default false
11877
+ * @example
11878
+ * ```js
11879
+ * const embed = new SpotterEmbed('#tsEmbed', {
11880
+ * ... //other embed view config
11881
+ * showSpotterRadiance : true,
11882
+ * })
11883
+ * ```
11884
+ */
11885
+ showSpotterRadiance?: boolean;
11886
+ /**
11887
+ * Sets the default query mode when Spotter loads — Fast Search or
11888
+ * Research Mode. Applies fresh on every new session for this embed
11889
+ * instance only; it does not persist as a user preference and does
11890
+ * not affect other embeds or native ThoughtSpot usage.
11891
+ *
11892
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
11893
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11894
+ * @default SpotterQueryMode.FAST_SEARCH
11895
+ * @example
11896
+ * ```js
11897
+ * const embed = new SpotterEmbed('#tsEmbed', {
11898
+ * ... //other embed view config
11899
+ * defaultQueryMode: SpotterQueryMode.RESEARCH,
11900
+ * })
11901
+ * ```
11902
+ */
11903
+ defaultQueryMode?: SpotterQueryMode;
11043
11904
  /**
11044
11905
  * Enables the stop answer generation button in the Spotter embed UI,
11045
11906
  * allowing users to interrupt an ongoing answer generation.
@@ -11098,6 +11959,59 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11098
11959
  * ```
11099
11960
  */
11100
11961
  spotterChatConfig?: SpotterChatViewConfig;
11962
+ /**
11963
+ * Configuration for the Spotter conversation sharing feature.
11964
+ *
11965
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
11966
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11967
+ * @example
11968
+ * ```js
11969
+ * const embed = new SpotterEmbed('#tsEmbed', {
11970
+ * ... //other embed view config
11971
+ * spotterShareConversationConfig: {
11972
+ * enableShareConversation: true,
11973
+ * },
11974
+ * })
11975
+ * ```
11976
+ */
11977
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
11978
+ /**
11979
+ * The ID of a shared Spotter conversation to open directly in the read-only
11980
+ * reader view. Use this to land a share recipient in the shared conversation
11981
+ * when they open a host-configured `CONVERSATION_URL` share link: read the
11982
+ * `{conversation-id}` from your page URL and pass it here.
11983
+ *
11984
+ * Requires the Spotter conversation-sharing feature to be enabled
11985
+ * (`spotterShareConversationConfig.enableShareConversation`). The recipient
11986
+ * must be an authorized sharee — the server returns access-denied otherwise.
11987
+ *
11988
+ * Supported embed types: `SpotterEmbed`
11989
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11990
+ * @example
11991
+ * ```js
11992
+ * const convId = new URLSearchParams(window.location.search).get('conversation-id');
11993
+ * const embed = new SpotterEmbed('#tsEmbed', {
11994
+ * ... //other embed view config
11995
+ * sharedConversationId: convId,
11996
+ * })
11997
+ * ```
11998
+ */
11999
+ sharedConversationId?: string;
12000
+ /**
12001
+ * updatedSpotterExperience : Controls the updated Spotter experience.
12002
+ *
12003
+ * Supported embed types: `SpotterEmbed`
12004
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12005
+ * @default false
12006
+ * @example
12007
+ * ```js
12008
+ * const embed = new SpotterEmbed('#tsEmbed', {
12009
+ * ... //other embed view config
12010
+ * updatedSpotterExperience : true,
12011
+ * })
12012
+ * ```
12013
+ */
12014
+ updatedSpotterExperience?: boolean;
11101
12015
  }
11102
12016
  /**
11103
12017
  * The configuration for the embedded spotterEmbed options.
@@ -11114,6 +12028,7 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {
11114
12028
  export interface SpotterAppInitData extends DefaultAppInitData {
11115
12029
  embedParams?: {
11116
12030
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12031
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
11117
12032
  visualOverridesParams?: VisualizationOverrides | null;
11118
12033
  };
11119
12034
  }
@@ -11210,6 +12125,12 @@ export interface SpotterVizStarterPrompt {
11210
12125
  * { label: 'Tip', text: 'try asking about revenue by region' },
11211
12126
  * { label: 'Tip', text: 'use natural language' },
11212
12127
  * ],
12128
+ * // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12129
+ * liveboardBrandName: 'Reports',
12130
+ * spotterBrandName: 'Analyst',
12131
+ * insightTileBrandName: 'Insight card',
12132
+ * insightTileViewPlanLabel: 'View plan',
12133
+ * insightTileLoaderText: 'Generating insight',
11213
12134
  * },
11214
12135
  * })
11215
12136
  * ```
@@ -11266,6 +12187,34 @@ export interface SpotterVizConfig {
11266
12187
  * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
11267
12188
  */
11268
12189
  loaderTips?: SpotterVizLoaderTip[];
12190
+ /**
12191
+ * Custom term used to replace "Liveboard" in the agent's responses.
12192
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12193
+ * @default ''
12194
+ */
12195
+ liveboardBrandName?: string;
12196
+ /**
12197
+ * Custom term used to replace "Spotter" in the agent's responses.
12198
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12199
+ * @default ''
12200
+ */
12201
+ spotterBrandName?: string;
12202
+ /**
12203
+ * Custom term used to replace "Insight tile" in the UI and in the agent's responses.
12204
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12205
+ * @default ''
12206
+ */
12207
+ insightTileBrandName?: string;
12208
+ /**
12209
+ * Custom term used to replace "View plan" in the insight tile menu.
12210
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12211
+ */
12212
+ insightTileViewPlanLabel?: string;
12213
+ /**
12214
+ * Custom loader text shown on the insight tile.
12215
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12216
+ */
12217
+ insightTileLoaderText?: string;
11269
12218
  }
11270
12219
  /**
11271
12220
  * A single tip shown in the SpotterViz loading state.
@@ -11313,7 +12262,11 @@ export enum Page {
11313
12262
  /**
11314
12263
  * Monitor Alerts Page
11315
12264
  */
11316
- Monitor = "monitor"
12265
+ Monitor = "monitor",
12266
+ /**
12267
+ * Collections listing page
12268
+ */
12269
+ Collections = "collections"
11317
12270
  }
11318
12271
  /**
11319
12272
  * Define the initial state of column custom group accordions
@@ -11358,6 +12311,9 @@ export enum HomePage {
11358
12311
  /**
11359
12312
  * Modular (v2) introduces the updated Modular Home Experience.
11360
12313
  * It serves as the foundational version of the home page.
12314
+ * Use {@link HomePage.ModularWithStylingChanges} (V3) or
12315
+ * {@link HomePage.Focused} (V4) instead.
12316
+ * @deprecated V1 and V2 home page experiences are deprecated.
11361
12317
  */
11362
12318
  Modular = "v2",
11363
12319
  /**
@@ -11431,13 +12387,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11431
12387
  showPrimaryNavbar?: boolean;
11432
12388
  /**
11433
12389
  * Control the visibility of the left navigation panel on the home page
11434
- * in the V2 and V3 navigation and home page experience.
12390
+ * in the V3 and V4 navigation and home page experience.
11435
12391
  * If `showPrimaryNavbar` is true, that is, if the Global and Homepage
11436
12392
  * navigation bars are visible, this flag will only hide the left navigation bar
11437
12393
  * on the home page.
11438
12394
  * The `showPrimaryNavbar` flag takes precedence over the `hideHomepageLeftNav`.
11439
12395
  *
11440
- * **Note**: This attribute is not supported in the classic (V1) experience.
12396
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
12397
+ * deprecated. This attribute applies to V3 and V4 home page experiences.
11441
12398
  *
11442
12399
  * Supported embed types: `AppEmbed`
11443
12400
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11503,11 +12460,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11503
12460
  hideHamburger?: boolean;
11504
12461
  /**
11505
12462
  * Control the visibility of the object search
11506
- * on the top navigation bar in the
11507
- * V2 and V3 navigation experience.
12463
+ * on the top navigation bar in the V3 navigation experience.
11508
12464
  *
11509
- * **Note**: This attribute is not supported
11510
- * in the classic (V1) experience.
12465
+ * **Note**: The classic (V1) and V2 navigation experiences are
12466
+ * deprecated. This attribute applies to the V3 navigation experience.
11511
12467
  *
11512
12468
  * Supported embed types: `AppEmbed`
11513
12469
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11525,8 +12481,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11525
12481
  * Control the visibility of the notification icon
11526
12482
  * on the top navigation bar in V3 navigation experience.
11527
12483
  *
11528
- * **Note**: This attribute is not supported
11529
- * in the classic (V1) and V2 experience modes.
12484
+ * **Note**: The classic (V1) and V2 experience modes are deprecated.
12485
+ * This attribute applies to the V3 experience.
11530
12486
  *
11531
12487
  * Supported embed types: `AppEmbed`
11532
12488
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11541,14 +12497,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11541
12497
  */
11542
12498
  hideNotification?: boolean;
11543
12499
  /**
11544
- * Control the visibility of the application selection menu
11545
- * in the top navigation bar in the V2 experience.
12500
+ * Control the visibility of the application selection menu.
11546
12501
  * In the V3 experience, it shows or hides application selection
11547
12502
  * icons on the left navigation panel.
11548
12503
  * By default, the application selection menu and icons are
11549
12504
  * shown in the UI.
11550
12505
  *
11551
- * **Note**: This attribute is not supported in the classic (V1) experience.
12506
+ * **Note**: The classic (V1) and V2 experiences are deprecated.
12507
+ * This attribute applies to the V3 experience.
11552
12508
  *
11553
12509
  * Supported embed types: `AppEmbed`
11554
12510
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11566,7 +12522,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11566
12522
  * Control the visibility of the Org switcher button on the nav-bar.
11567
12523
  * By default, the Org switcher button is shown.
11568
12524
  *
11569
- * **Note**: This attribute is not supported in the classic (V1) experience.
12525
+ * **Note**: The classic (V1) experience is deprecated. This attribute
12526
+ * applies to V2 (deprecated), V3 and V4 experiences.
11570
12527
  *
11571
12528
  * Supported embed types: `AppEmbed`
11572
12529
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11725,6 +12682,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11725
12682
  * Supported embed types: `AppEmbed`
11726
12683
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
11727
12684
  * @default false
12685
+ * Use the discoveryExperience.homePage option with
12686
+ * {@link HomePage.ModularWithStylingChanges} (V3) or
12687
+ * {@link HomePage.Focused} (V4) instead.
12688
+ * @deprecated The V1 and V2 home page experiences are deprecated.
11728
12689
  * @example
11729
12690
  * ```js
11730
12691
  * const embed = new AppEmbed('#tsEmbed', {
@@ -11856,11 +12817,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11856
12817
  /**
11857
12818
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
11858
12819
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
11859
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
12820
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
11860
12821
  *
11861
12822
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
11862
12823
  * @type {boolean}
11863
12824
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
12825
+ * @default true
11864
12826
  * @example
11865
12827
  * ```js
11866
12828
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -11873,10 +12835,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11873
12835
  isContinuousLiveboardPDFEnabled?: boolean;
11874
12836
  /**
11875
12837
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
12838
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
11876
12839
  *
11877
12840
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
11878
12841
  * @type {boolean}
11879
12842
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
12843
+ * @default true
11880
12844
  * @example
11881
12845
  * ```js
11882
12846
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -11889,10 +12853,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11889
12853
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
11890
12854
  /**
11891
12855
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
12856
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
11892
12857
  *
11893
12858
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
11894
12859
  * @type {boolean}
11895
12860
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
12861
+ * @default true
11896
12862
  * @example
11897
12863
  * ```js
11898
12864
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -11968,6 +12934,40 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11968
12934
  * ```
11969
12935
  */
11970
12936
  updatedSpotterChatPrompt?: boolean;
12937
+ /**
12938
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
12939
+ *
12940
+ * Supported embed types: `AppEmbed`
12941
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12942
+ * @default false
12943
+ * @example
12944
+ * ```js
12945
+ * const embed = new AppEmbed('#tsEmbed', {
12946
+ * ... //other embed view config
12947
+ * showSpotterRadiance : true,
12948
+ * })
12949
+ * ```
12950
+ */
12951
+ showSpotterRadiance?: boolean;
12952
+ /**
12953
+ * Sets the default query mode when Spotter loads — Fast Search or
12954
+ * Research Mode. Applies fresh on every new session for this embed
12955
+ * instance only; it does not persist as a user preference and does
12956
+ * not affect other embeds or native ThoughtSpot usage.
12957
+ * Only applicable when navigating to Spotter within the app.
12958
+ *
12959
+ * Supported embed types: `AppEmbed`
12960
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12961
+ * @default SpotterQueryMode.FAST_SEARCH
12962
+ * @example
12963
+ * ```js
12964
+ * const embed = new AppEmbed('#tsEmbed', {
12965
+ * ... //other embed view config
12966
+ * defaultQueryMode: SpotterQueryMode.RESEARCH,
12967
+ * })
12968
+ * ```
12969
+ */
12970
+ defaultQueryMode?: SpotterQueryMode;
11971
12971
  /**
11972
12972
  * Controls the visibility of the past conversations sidebar.
11973
12973
  *
@@ -11993,6 +12993,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11993
12993
  * spotterSidebarConfig: {
11994
12994
  * enablePastConversationsSidebar: true,
11995
12995
  * spotterSidebarTitle: 'My Conversations',
12996
+ * // Opt in to pin/unpin conversations in embedded Spotter
12997
+ * spotterChatPinConfig: {
12998
+ * enabled: true,
12999
+ * },
11996
13000
  * },
11997
13001
  * })
11998
13002
  * ```
@@ -12016,6 +13020,49 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12016
13020
  * ```
12017
13021
  */
12018
13022
  spotterChatConfig?: SpotterChatViewConfig;
13023
+ /**
13024
+ * Configuration for the Spotter conversation sharing feature.
13025
+ *
13026
+ * Supported embed types: `AppEmbed`
13027
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13028
+ * @example
13029
+ * ```js
13030
+ * const embed = new AppEmbed('#tsEmbed', {
13031
+ * ... //other embed view config
13032
+ * spotterShareConversationConfig: {
13033
+ * enableShareConversation: true,
13034
+ * },
13035
+ * })
13036
+ * ```
13037
+ */
13038
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
13039
+ /**
13040
+ * Sets the default data sources (Models) for the Spotter experience shown on
13041
+ * the home page of the full app embed. Accepts a list of Model GUIDs to
13042
+ * preselect the data sources available to Spotter, or the literal
13043
+ * `'auto_mode'` sentinel to load Spotter with the "Auto" model selected by
13044
+ * default. This is consistent with how `worksheetId: 'auto_mode'` enables
13045
+ * Auto mode in `SpotterEmbed`.
13046
+ *
13047
+ * **Note**: If `'auto_mode'` is included alongside one or more Model GUIDs,
13048
+ * `'auto_mode'` takes precedence and is selected by default.
13049
+ *
13050
+ * **Note**: `'auto_mode'` requires the Spotter 3 experience with data source
13051
+ * discovery enabled on your instance, and a Spotter-enabled home page (for
13052
+ * example, `discoveryExperience.homePage: HomePage.Focused`).
13053
+ *
13054
+ * Supported embed types: `AppEmbed`
13055
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.10.0.cl
13056
+ * @example
13057
+ * ```js
13058
+ * const embed = new AppEmbed('#tsEmbed', {
13059
+ * ... // other embed view config
13060
+ * discoveryExperience: { homePage: HomePage.Focused },
13061
+ * spotterDataSources: ['model-guid-1', 'model-guid-2'], // or ['auto_mode']
13062
+ * })
13063
+ * ```
13064
+ */
13065
+ spotterDataSources?: string[];
12019
13066
  /**
12020
13067
  * Configuration for the SpotterViz interface shown on the Liveboard.
12021
13068
  * Customize the brand name, description, chat input placeholder,
@@ -12040,6 +13087,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12040
13087
  * { label: 'Tip', text: 'try asking about revenue by region' },
12041
13088
  * { label: 'Tip', text: 'use natural language' },
12042
13089
  * ],
13090
+ * // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13091
+ * liveboardBrandName: 'Reports',
13092
+ * spotterBrandName: 'Analyst',
13093
+ * insightTileBrandName: 'Insight card',
13094
+ * insightTileViewPlanLabel: 'View plan',
13095
+ * insightTileLoaderText: 'Generating insight',
12043
13096
  * },
12044
13097
  * })
12045
13098
  * ```
@@ -12105,6 +13158,21 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12105
13158
  * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12106
13159
  */
12107
13160
  visualOverrides?: VisualizationOverrides;
13161
+ /**
13162
+ * updatedSpotterExperience : Controls the updated Spotter experience.
13163
+ *
13164
+ * Supported embed types: `AppEmbed`
13165
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13166
+ * @default false
13167
+ * @example
13168
+ * ```js
13169
+ * const embed = new AppEmbed('#tsEmbed', {
13170
+ * ... //other embed view config
13171
+ * updatedSpotterExperience : true,
13172
+ * })
13173
+ * ```
13174
+ */
13175
+ updatedSpotterExperience?: boolean;
12108
13176
  }
12109
13177
  /**
12110
13178
  * APP_INIT data shape for AppEmbed.
@@ -12114,6 +13182,7 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
12114
13182
  embedParams?: {
12115
13183
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12116
13184
  spotterVizConfig?: SpotterVizConfig;
13185
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
12117
13186
  };
12118
13187
  }
12119
13188
  /**
@@ -12144,6 +13213,7 @@ export class AppEmbed extends V1Embed {
12144
13213
  * embedded Liveboard or visualization.
12145
13214
  */
12146
13215
  protected getEmbedParams(): string;
13216
+ protected getEmbedParamsObject(): any;
12147
13217
  private sendFullHeightLazyLoadData;
12148
13218
  /**
12149
13219
  * This is a handler for the RequestVisibleEmbedCoordinates event.
@@ -12851,11 +13921,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12851
13921
  /**
12852
13922
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
12853
13923
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
12854
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
13924
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
12855
13925
  *
12856
13926
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12857
13927
  * @type {boolean}
12858
13928
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
13929
+ * @default true
12859
13930
  * @example
12860
13931
  * ```js
12861
13932
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12868,10 +13939,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12868
13939
  isContinuousLiveboardPDFEnabled?: boolean;
12869
13940
  /**
12870
13941
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
13942
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
12871
13943
  *
12872
13944
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12873
13945
  * @type {boolean}
12874
13946
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13947
+ * @default true
12875
13948
  * @example
12876
13949
  * ```js
12877
13950
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12884,10 +13957,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12884
13957
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
12885
13958
  /**
12886
13959
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
13960
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
12887
13961
  *
12888
13962
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12889
13963
  * @type {boolean}
12890
13964
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13965
+ * @default true
12891
13966
  * @example
12892
13967
  * ```js
12893
13968
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12978,6 +14053,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12978
14053
  * ```
12979
14054
  */
12980
14055
  updatedSpotterChatPrompt?: boolean;
14056
+ /**
14057
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
14058
+ *
14059
+ * Supported embed types: `LiveboardEmbed`
14060
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14061
+ * @default false
14062
+ * @example
14063
+ * ```js
14064
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14065
+ * ... //other embed view config
14066
+ * showSpotterRadiance : true,
14067
+ * })
14068
+ * ```
14069
+ */
14070
+ showSpotterRadiance?: boolean;
12981
14071
  /**
12982
14072
  * Enables the stop answer generation button in the Spotter embed UI,
12983
14073
  * allowing users to interrupt an ongoing answer generation.
@@ -13029,6 +14119,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13029
14119
  * { label: 'Tip', text: 'try asking about revenue by region' },
13030
14120
  * { label: 'Tip', text: 'use natural language' },
13031
14121
  * ],
14122
+ * // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14123
+ * liveboardBrandName: 'Reports',
14124
+ * spotterBrandName: 'Analyst',
14125
+ * insightTileBrandName: 'Insight card',
14126
+ * insightTileViewPlanLabel: 'View plan',
14127
+ * insightTileLoaderText: 'Generating insight',
13032
14128
  * },
13033
14129
  * })
13034
14130
  * ```
@@ -13047,6 +14143,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13047
14143
  * ```
13048
14144
  */
13049
14145
  enableLiveboardDataCache?: boolean;
14146
+ /**
14147
+ * updatedSpotterExperience : Controls the updated Spotter experience.
14148
+ *
14149
+ * Supported embed types: `LiveboardEmbed`
14150
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14151
+ * @default false
14152
+ * @example
14153
+ * ```js
14154
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14155
+ * ... //other embed view config
14156
+ * updatedSpotterExperience : true,
14157
+ * })
14158
+ * ```
14159
+ */
14160
+ updatedSpotterExperience?: boolean;
13050
14161
  }
13051
14162
  /**
13052
14163
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
@@ -13807,6 +14918,10 @@ export const MIXPANEL_EVENT: {
13807
14918
  VISUAL_SDK_IFRAME_LOAD_PERFORMANCE: string;
13808
14919
  VISUAL_SDK_EMBED_CREATE: string;
13809
14920
  VERCEL_INTEGRATION_COMPLETED: string;
14921
+ VISUAL_SDK_RENDER_CALLED: string;
14922
+ VISUAL_SDK_PRE_RENDER: string;
14923
+ VISUAL_SDK_SHOW_PRE_RENDER: string;
14924
+ VISUAL_SDK_HIDE_PRE_RENDER: string;
13810
14925
  };
13811
14926
  /**
13812
14927
  * Pushes the event with its Property key-value map to mixpanel.