@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
@@ -41,6 +41,42 @@ export interface CustomCssVariables {
41
41
  * Font color of the top navigation panel.
42
42
  */
43
43
  "--ts-var-nav-color"?: string;
44
+ /**
45
+ * Background color of the left navigation panel.
46
+ */
47
+ "--ts-var-left-nav-background"?: string;
48
+ /**
49
+ * Background color of the active tab in the left navigation panel.
50
+ */
51
+ "--ts-var-left-nav-active-tab-background"?: string;
52
+ /**
53
+ * Border color of the active tab in the left navigation panel.
54
+ */
55
+ "--ts-var-left-nav-active-tab-border-color"?: string;
56
+ /**
57
+ * Font color of the section title in the left navigation panel.
58
+ */
59
+ "--ts-var-left-nav-section-title-color"?: string;
60
+ /**
61
+ * Font color of the items in the left navigation panel.
62
+ */
63
+ "--ts-var-left-nav-item-color"?: string;
64
+ /**
65
+ * Font color of the selected item in the left navigation panel.
66
+ */
67
+ "--ts-var-left-nav-item-selection-color"?: string;
68
+ /**
69
+ * Background color of the selected item in the left navigation panel.
70
+ */
71
+ "--ts-var-left-nav-item-selection-background"?: string;
72
+ /**
73
+ * Color of the active tab icon in the left navigation panel.
74
+ */
75
+ "--ts-var-left-nav-tab-icon-active-color"?: string;
76
+ /**
77
+ * Color of the inactive tab icon in the left navigation panel.
78
+ */
79
+ "--ts-var-left-nav-tab-icon-inactive-color"?: string;
44
80
  /**
45
81
  * Background color of the *Search data* button.
46
82
  */
@@ -413,6 +449,14 @@ export interface CustomCssVariables {
413
449
  * Background color of the tiles in the Liveboard.
414
450
  */
415
451
  "--ts-var-liveboard-tile-background"?: string;
452
+ /**
453
+ * Font color of the insight tiles in the Liveboard.
454
+ */
455
+ "--ts-var-liveboard-insight-tile-font-color"?: string;
456
+ /**
457
+ * Background color of the insight tiles in the Liveboard.
458
+ */
459
+ "--ts-var-liveboard-insight-tile-background"?: string;
416
460
  /**
417
461
  * Border radius of the tiles in the Liveboard.
418
462
  */
@@ -961,6 +1005,10 @@ export interface CustomCssVariables {
961
1005
  * header underline, left panel border, thinking step connector and dots.
962
1006
  */
963
1007
  "--ts-var-spotterviz-border-color"?: string;
1008
+ /**
1009
+ * Expanded user chat message bubble border color in SpotterViz.
1010
+ */
1011
+ "--ts-var-spotterviz-expanded-border-color"?: string;
964
1012
  /**
965
1013
  * Background color of the reference-mode toggle button in the SpotterViz
966
1014
  * chat input when it is unselected and the user hovers over it.
@@ -978,6 +1026,53 @@ export interface CustomCssVariables {
978
1026
  * on each referenced-entity chip in the chat input.
979
1027
  */
980
1028
  "--ts-var-spotterviz-reference-icon-selected-background"?: string;
1029
+ /**
1030
+ * Background color of the shared conversation header (recipient's read-only view).
1031
+ */
1032
+ "--ts-var-shared-conv-header-background"?: string;
1033
+ /**
1034
+ * Border color of the shared conversation header.
1035
+ */
1036
+ "--ts-var-shared-conv-header-border-color"?: string;
1037
+ /**
1038
+ * Font color of the title text in the shared conversation header.
1039
+ */
1040
+ "--ts-var-shared-conv-title-color"?: string;
1041
+ /**
1042
+ * Background gradient color-stop of the share chat header's outer container
1043
+ * (sender's pre-share header). Defaults to transparent.
1044
+ */
1045
+ "--ts-var-share-chat-header-container-background"?: string;
1046
+ /**
1047
+ * Background color of the share chat header's inner title/actions row.
1048
+ * Defaults to transparent.
1049
+ */
1050
+ "--ts-var-share-chat-header-background"?: string;
1051
+ /**
1052
+ * Font color of the title text in the share chat header.
1053
+ */
1054
+ "--ts-var-share-chat-header-title-color"?: string;
1055
+ /**
1056
+ * Font color of the title input field in the share chat header.
1057
+ */
1058
+ "--ts-var-share-chat-header-input-text-color"?: string;
1059
+ /**
1060
+ * Background color of the title input field in the share chat header.
1061
+ */
1062
+ "--ts-var-share-chat-header-input-background"?: string;
1063
+ /**
1064
+ * Border color of the title input field in the share chat header.
1065
+ */
1066
+ "--ts-var-share-chat-header-input-border-color"?: string;
1067
+ /**
1068
+ * Background color of the shimmer loading effect. Also affects the
1069
+ * saved chats sidebar's new-chat shimmer, which shares the same style.
1070
+ */
1071
+ "--ts-var-shimmer-background"?: string;
1072
+ /**
1073
+ * Background color of the shimmer sweep animation's gradient mid-stop.
1074
+ */
1075
+ "--ts-var-shimmer-sweep-background"?: string;
981
1076
  }
982
1077
  export interface SessionInterface {
983
1078
  sessionId: string;
@@ -1285,7 +1380,9 @@ declare enum AuthType {
1285
1380
  }
1286
1381
  /**
1287
1382
  *
1288
- * **Note**: This attribute is not supported in the classic (V1) homepage experience.
1383
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1384
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges) and
1385
+ * V4 (Focused) home page experiences.
1289
1386
  *
1290
1387
  */
1291
1388
  export declare enum HomeLeftNavItem {
@@ -1351,7 +1448,14 @@ export declare enum HomeLeftNavItem {
1351
1448
  * Available in the V3 navigation experience.
1352
1449
  * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
1353
1450
  */
1354
- Favorites = "favorites"
1451
+ Favorites = "favorites",
1452
+ /**
1453
+ * The *Collections* menu option in
1454
+ * the *Insights* left navigation panel.
1455
+ * Shown when collections are enabled on the cluster.
1456
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1457
+ */
1458
+ Collections = "collections"
1355
1459
  }
1356
1460
  export type DOMSelector = string | HTMLElement;
1357
1461
  /**
@@ -2298,6 +2402,26 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2298
2402
  * ```
2299
2403
  */
2300
2404
  overrideOrgId?: number;
2405
+ /**
2406
+ * Overrides the browser history behavior for embedding application users.
2407
+ * This parameter changes standard history navigation (pushState) into a
2408
+ * state replacement (replaceState), preventing users from getting trapped in
2409
+ * back-button loops inside the embedded iframe environment.
2410
+ * The overrideHistoryState setting is honored only if the
2411
+ * application is running within an embedded context.
2412
+ *
2413
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2414
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2415
+ * @example
2416
+ * ```js
2417
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
2418
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2419
+ * // ... other embed view config
2420
+ * overrideHistoryState: true,
2421
+ * });
2422
+ * ```
2423
+ */
2424
+ overrideHistoryState?: boolean;
2301
2425
  /**
2302
2426
  * Flag to override the *Open Link in New Tab* context
2303
2427
  * menu option.
@@ -2641,7 +2765,9 @@ export interface HomePageConfig {
2641
2765
  * To specify the modules, import the `HomepageModule` enum.
2642
2766
  * For example: `hiddenHomepageModules = [HomepageModule.MyLibrary]`
2643
2767
  *
2644
- * **Note**: This attribute is not supported in the classic (v1) experience.
2768
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2769
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2770
+ * and V4 (Focused) home page experiences.
2645
2771
  *
2646
2772
  * Supported embed types: `AppEmbed`
2647
2773
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2650,7 +2776,7 @@ export interface HomePageConfig {
2650
2776
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2651
2777
  *
2652
2778
  * const embed = new AppEmbed('#tsEmbed', {
2653
- * ... // V2/V3 navigation and home page experience attributes
2779
+ * ... // V3 navigation and home page experience attributes
2654
2780
  * hiddenHomepageModules : [HomepageModule.Favorite,HomepageModule.Learning],
2655
2781
  * //...other embed view configuration attributes
2656
2782
  * })
@@ -2661,8 +2787,11 @@ export interface HomePageConfig {
2661
2787
  * Reorder home page modules.
2662
2788
  * To specify the modules, import the `HomepageModule` enum.
2663
2789
  * For example: `reorderedHomepageModules = [HomepageModule.MyLibrary,
2664
- * HomepageModule.Watchlist]` **Note**: This attribute is not supported in the
2665
- * classic (v1) homepage.
2790
+ * HomepageModule.Watchlist]`
2791
+ *
2792
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2793
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2794
+ * and V4 (Focused) home page experiences.
2666
2795
  *
2667
2796
  * Supported embed types: `AppEmbed`
2668
2797
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2671,7 +2800,7 @@ export interface HomePageConfig {
2671
2800
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2672
2801
  *
2673
2802
  * const embed = new AppEmbed('#tsEmbed', {
2674
- * ...//V2/V3 navigation and home page experience attributes
2803
+ * ...//V3 navigation and home page experience attributes
2675
2804
  * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary],
2676
2805
  * //... other embed view configuration attributes
2677
2806
  * })
@@ -2683,7 +2812,9 @@ export interface HomePageConfig {
2683
2812
  * on the home page left navigation panel.
2684
2813
  * To specify the menu items, import the `HomeLeftNavItem` enum.
2685
2814
  *
2686
- * **Note**: This attribute is not supported in the classic (v1) homepage.
2815
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2816
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2817
+ * and V4 (Focused) home page experiences.
2687
2818
  *
2688
2819
  * Supported embed types: `AppEmbed`
2689
2820
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -3059,6 +3190,24 @@ export interface LiveboardAppEmbedViewConfig {
3059
3190
  * ```
3060
3191
  */
3061
3192
  isCentralizedLiveboardFilterUXEnabled?: boolean;
3193
+ /**
3194
+ * This flag is used to enable or disable scoped Liveboard filtering.
3195
+ * When enabled, filters and parameters can be scoped to a group of
3196
+ * visualizations on a Liveboard, in addition to the Liveboard and
3197
+ * tab levels.
3198
+ *
3199
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3200
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
3201
+ * @example
3202
+ * ```js
3203
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3204
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3205
+ * ... // other embed view config
3206
+ * isScopedLiveboardFilteringEnabled: true,
3207
+ * })
3208
+ * ```
3209
+ */
3210
+ isScopedLiveboardFilteringEnabled?: boolean;
3062
3211
  /**
3063
3212
  * This flag is used to enable or disable the link parameters in liveboard.
3064
3213
  *
@@ -3242,7 +3391,9 @@ export declare enum RuntimeFilterOp {
3242
3391
  * via `hiddenHomepageModules` and reordered via
3243
3392
  * `reorderedHomepageModules`.
3244
3393
  *
3245
- * **Note**: This option is not supported in the classic (v1) experience.
3394
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
3395
+ * deprecated. These modules apply to V3 (ModularWithStylingChanges) and
3396
+ * V4 (Focused) home page experiences.
3246
3397
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
3247
3398
  */
3248
3399
  export declare enum HomepageModule {
@@ -4231,11 +4382,19 @@ export declare enum EmbedEvent {
4231
4382
  * Emitted when a user changes any filter on a Liveboard.
4232
4383
  * Returns filter type and name, column name and ID, and runtime
4233
4384
  * filter details.
4385
+ * The payload includes an optional `applicability` attribute indicating the
4386
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
4387
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4388
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4389
+ * is no `targetId`, since the filter applies to the whole Liveboard.
4390
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4391
+ * ThoughtSpot: 26.10.0.cl.
4234
4392
  * @example
4235
4393
  *
4236
4394
  * ```js
4237
4395
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
4238
4396
  * console.log('payload', payload);
4397
+ * // payload.data optionally includes applicability: { level, targetId }
4239
4398
  * })
4240
4399
  * ```
4241
4400
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -4427,9 +4586,17 @@ export declare enum EmbedEvent {
4427
4586
  /**
4428
4587
  * Emitted when parameter changes in an Answer
4429
4588
  * or Liveboard.
4589
+ * The payload includes an optional `applicability` attribute indicating the
4590
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
4591
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4592
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4593
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
4594
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4595
+ * ThoughtSpot: 26.10.0.cl.
4430
4596
  * ```js
4431
4597
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
4432
4598
  * console.log('payload', payload);
4599
+ * // payload.data optionally includes applicability: { level, targetId }
4433
4600
  * })
4434
4601
  * ```
4435
4602
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -4731,6 +4898,158 @@ export declare enum EmbedEvent {
4731
4898
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4732
4899
  */
4733
4900
  SpotterConversationDeleted = "spotterConversationDeleted",
4901
+ /**
4902
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
4903
+ * to bracket the interaction. App→host counterpart of the
4904
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
4905
+ * @example
4906
+ * ```js
4907
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
4908
+ * // payload: { convId: string }
4909
+ * })
4910
+ * ```
4911
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4912
+ */
4913
+ SpotterShareConversationButtonHeaderClicked = "spotterShareConversationButtonHeaderClicked",
4914
+ /**
4915
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
4916
+ * to bracket the interaction.
4917
+ * @example
4918
+ * ```js
4919
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
4920
+ * // payload: { convId: string }
4921
+ * })
4922
+ * ```
4923
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4924
+ */
4925
+ SpotterShareConversationMenuItemSidebarClicked = "spotterShareConversationMenuItemSidebarClicked",
4926
+ /**
4927
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
4928
+ * share created). The host builds its own link from shareId/convId + its
4929
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
4930
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
4931
+ * the save resolves.
4932
+ * @example
4933
+ * ```js
4934
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
4935
+ * // payload: { convId: string, shareId: string,
4936
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
4937
+ * })
4938
+ * ```
4939
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4940
+ */
4941
+ SpotterConversationShared = "spotterConversationShared",
4942
+ /**
4943
+ * Emitted when access to a shared Spotter conversation is revoked
4944
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
4945
+ * and the share is deleted entirely.
4946
+ * @example
4947
+ * ```js
4948
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
4949
+ * // payload: { convId: string, shareId: string,
4950
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
4951
+ * })
4952
+ * ```
4953
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4954
+ */
4955
+ SpotterConversationShareRevoked = "spotterConversationShareRevoked",
4956
+ /**
4957
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
4958
+ * view). No shareId available viewer-side.
4959
+ * @example
4960
+ * ```js
4961
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
4962
+ * // payload: { convId: string, sourceConvId: string }
4963
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
4964
+ * })
4965
+ * ```
4966
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4967
+ */
4968
+ SpotterSharedConversationViewed = "spotterSharedConversationViewed",
4969
+ /**
4970
+ * Emitted when the user toggles the share-modal "include new messages since
4971
+ * last shared version" checkbox.
4972
+ * @example
4973
+ * ```js
4974
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
4975
+ * // payload: { convId: string, includeNewMessages: boolean }
4976
+ * })
4977
+ * ```
4978
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4979
+ */
4980
+ SpotterShareIncludeNewMessagesCheckboxToggled = "spotterShareIncludeNewMessagesCheckboxToggled",
4981
+ /**
4982
+ * Emitted when the user dismisses the stale-snapshot info banner via its
4983
+ * cross (distinct from the include-new-messages checkbox toggle).
4984
+ * @example
4985
+ * ```js
4986
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
4987
+ * // payload: { convId: string }
4988
+ * })
4989
+ * ```
4990
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4991
+ */
4992
+ SpotterShareStaleInfoBannerDismissed = "spotterShareStaleInfoBannerDismissed",
4993
+ /**
4994
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
4995
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
4996
+ * / `SpotterConversationShareRevoked` result events.
4997
+ * @example
4998
+ * ```js
4999
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
5000
+ * // payload: { convId: string }
5001
+ * })
5002
+ * ```
5003
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5004
+ */
5005
+ SpotterShareModalConfirmButtonClicked = "spotterShareModalConfirmButtonClicked",
5006
+ /**
5007
+ * Emitted when the share modal is dismissed via the Cancel button.
5008
+ * @example
5009
+ * ```js
5010
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
5011
+ * // payload: { convId: string }
5012
+ * })
5013
+ * ```
5014
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5015
+ */
5016
+ SpotterShareModalCancelButtonClicked = "spotterShareModalCancelButtonClicked",
5017
+ /**
5018
+ * Emitted when a recipient leaves the read-only shared view via the Exit
5019
+ * button.
5020
+ * @example
5021
+ * ```js
5022
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
5023
+ * // payload: { convId: string }
5024
+ * })
5025
+ * ```
5026
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5027
+ */
5028
+ SpotterSharedConversationExitButtonClicked = "spotterSharedConversationExitButtonClicked",
5029
+ /**
5030
+ * Emitted when a Spotter conversation is pinned.
5031
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5032
+ * @example
5033
+ * ```js
5034
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
5035
+ * console.log('Conversation pinned', payload);
5036
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
5037
+ * })
5038
+ * ```
5039
+ */
5040
+ SpotterConversationPinned = "spotterConversationPinned",
5041
+ /**
5042
+ * Emitted when a Spotter conversation is unpinned.
5043
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5044
+ * @example
5045
+ * ```js
5046
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
5047
+ * console.log('Conversation unpinned', payload);
5048
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
5049
+ * })
5050
+ * ```
5051
+ */
5052
+ SpotterConversationUnpinned = "spotterConversationUnpinned",
4734
5053
  /**
4735
5054
  * Emitted when a Spotter conversation is selected/clicked.
4736
5055
  * @example
@@ -4743,6 +5062,30 @@ export declare enum EmbedEvent {
4743
5062
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4744
5063
  */
4745
5064
  SpotterConversationSelected = "spotterConversationSelected",
5065
+ /**
5066
+ * Emitted when the Spotter agent finishes streaming/rendering a response.
5067
+ * Includes the conversation and message identifiers so the host app can
5068
+ * fetch the full conversation history via the REST API if needed.
5069
+ *
5070
+ * The payload data has the shape `{ convId: string, messageId: string }`.
5071
+ *
5072
+ * Works with SpotterEmbed as well as AppEmbed (when Spotter is reached
5073
+ * inside the full application).
5074
+ * @example
5075
+ * ```js
5076
+ * spotterEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
5077
+ * console.log('Spotter response complete', payload);
5078
+ * })
5079
+ * ```
5080
+ * @example
5081
+ * ```js
5082
+ * appEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
5083
+ * console.log('Spotter response complete', payload);
5084
+ * })
5085
+ * ```
5086
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.9.0.cl
5087
+ */
5088
+ SpotterResponseComplete = "spotterResponseComplete",
4746
5089
  /**
4747
5090
  * @hidden
4748
5091
  * Emitted when the auth token is about to get expired and needs to be refreshed.
@@ -5222,6 +5565,17 @@ export declare enum HostEvent {
5222
5565
  * name: string,
5223
5566
  * type: ATTRIBUTE/MEASURE,
5224
5567
  * dataType: INT64/CHAR/DATE }
5568
+ *
5569
+ * `applicability` - Optional. Scopes the filter to a specific target,
5570
+ * for example, a single Liveboard tab, so the panel for the correct
5571
+ * scoped filter is opened. Available from SDK: 1.53.0 |
5572
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
5573
+ *
5574
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
5575
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5576
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5577
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
5578
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5225
5579
  * @example
5226
5580
  * ```js
5227
5581
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -5234,6 +5588,14 @@ export declare enum HostEvent {
5234
5588
  * ```
5235
5589
  * @example
5236
5590
  * ```js
5591
+ * // Open a filter scoped to a specific Liveboard tab
5592
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
5593
+ * column: { columnId: '<column-GUID>' },
5594
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
5595
+ * });
5596
+ * ```
5597
+ * @example
5598
+ * ```js
5237
5599
  * // Open filter from search context
5238
5600
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5239
5601
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -5243,6 +5605,38 @@ export declare enum HostEvent {
5243
5605
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
5244
5606
  */
5245
5607
  OpenFilter = "openFilter",
5608
+ /**
5609
+ * Open the parameter panel for a particular parameter on a Liveboard.
5610
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
5611
+ * @param - Includes the following keys:
5612
+ * - `parameter`: An object identifying the parameter to open, for
5613
+ * example, `{ parameterId: '<parameter-GUID>' }`.
5614
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
5615
+ * for example, a single Liveboard tab, so the panel for the correct
5616
+ * scoped parameter is opened. Includes the following attributes:
5617
+ *
5618
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
5619
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5620
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5621
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
5622
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5623
+ * @example
5624
+ * ```js
5625
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5626
+ * parameter: { parameterId: '<parameter-GUID>' }
5627
+ * });
5628
+ * ```
5629
+ * @example
5630
+ * ```js
5631
+ * // Open a parameter scoped to a specific group
5632
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5633
+ * parameter: { parameterId: '<parameter-GUID>' },
5634
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
5635
+ * });
5636
+ * ```
5637
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5638
+ */
5639
+ OpenParameter = "openParameter",
5246
5640
  /**
5247
5641
  * Add columns to the current search query.
5248
5642
  * @param - { columnIds: string[] }
@@ -6306,6 +6700,14 @@ export declare enum HostEvent {
6306
6700
  /**
6307
6701
  * Get details of filters applied on the Liveboard.
6308
6702
  * Returns arrays containing Liveboard filter and runtime filter elements.
6703
+ * Each Liveboard filter includes an optional `applicability` attribute
6704
+ * indicating the scope of the filter. It contains a `level`
6705
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
6706
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
6707
+ * level there is no `targetId`, since the filter applies to the
6708
+ * whole Liveboard.
6709
+ * The `applicability` attribute is available from SDK: 1.53.0 |
6710
+ * ThoughtSpot: 26.10.0.cl.
6309
6711
  * @example
6310
6712
  * ```js
6311
6713
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
@@ -6345,6 +6747,16 @@ export declare enum HostEvent {
6345
6747
  *
6346
6748
  * `type` - To update filters for date time, specify the date format type.
6347
6749
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
6750
+ *
6751
+ * `applicability` - Optional. Scopes the filter to a specific target,
6752
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
6753
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
6754
+ *
6755
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
6756
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
6757
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
6758
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
6759
+ * Liveboard.
6348
6760
  * @example
6349
6761
  * ```js
6350
6762
  *
@@ -6421,6 +6833,21 @@ export declare enum HostEvent {
6421
6833
  * }
6422
6834
  * }, ContextType.Liveboard);
6423
6835
  * ```
6836
+ * @example
6837
+ * ```js
6838
+ * // Scope the filter to a specific Liveboard tab
6839
+ * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
6840
+ * filter: {
6841
+ * column: "item type",
6842
+ * oper: "IN",
6843
+ * values: ["bags", "shirts"],
6844
+ * applicability: {
6845
+ * level: "TAB",
6846
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
6847
+ * }
6848
+ * }
6849
+ * });
6850
+ * ```
6424
6851
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
6425
6852
  */
6426
6853
  UpdateFilters = "updateFilters",
@@ -6445,6 +6872,28 @@ export declare enum HostEvent {
6445
6872
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
6446
6873
  */
6447
6874
  GetTabs = "getTabs",
6875
+ /**
6876
+ * Get group details for the current Liveboard.
6877
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
6878
+ * @example
6879
+ * ```js
6880
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
6881
+ * console.log(
6882
+ * groupDetails // GroupDetails of current Liveboard
6883
+ * );
6884
+ * })
6885
+ * ```
6886
+ * @example
6887
+ * ```js
6888
+ * // Get groups from liveboard context
6889
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
6890
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
6891
+ * console.log('groups', groupDetails);
6892
+ * });
6893
+ * ```
6894
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
6895
+ */
6896
+ GetGroups = "getGroups",
6448
6897
  /**
6449
6898
  * Set the visible tabs on a Liveboard.
6450
6899
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -6572,6 +7021,15 @@ export declare enum HostEvent {
6572
7021
  * - `name`: Name of the parameter.
6573
7022
  * - `value`: The value to set for the parameter.
6574
7023
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
7024
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
7025
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
7026
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
7027
+ *
7028
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
7029
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
7030
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
7031
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
7032
+ * Liveboard.
6575
7033
  *
6576
7034
  * @example
6577
7035
  * ```js
@@ -6583,6 +7041,18 @@ export declare enum HostEvent {
6583
7041
  * ```
6584
7042
  * @example
6585
7043
  * ```js
7044
+ * // Scope the parameter to a specific Liveboard tab
7045
+ * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
7046
+ * name: "Integer Range Param",
7047
+ * value: 10,
7048
+ * applicability: {
7049
+ * level: "TAB",
7050
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
7051
+ * }
7052
+ * }])
7053
+ * ```
7054
+ * @example
7055
+ * ```js
6586
7056
  * // Update parameters from liveboard context
6587
7057
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
6588
7058
  * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
@@ -6596,6 +7066,14 @@ export declare enum HostEvent {
6596
7066
  UpdateParameters = "UpdateParameters",
6597
7067
  /**
6598
7068
  * Triggers GetParameters to fetch the runtime Parameters.
7069
+ * Each parameter includes an optional `applicability` attribute
7070
+ * indicating the scope of the parameter. It contains a `level`
7071
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
7072
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
7073
+ * level there is no `targetId`, since the parameter applies to the
7074
+ * whole Liveboard.
7075
+ * The `applicability` attribute is available from SDK: 1.53.0 |
7076
+ * ThoughtSpot: 26.10.0.cl.
6599
7077
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
6600
7078
  * ```js
6601
7079
  * liveboardEmbed.trigger(HostEvent.GetParameters).then((parameter) => {
@@ -6862,6 +7340,36 @@ export declare enum HostEvent {
6862
7340
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
6863
7341
  */
6864
7342
  ResetSpotterConversation = "ResetSpotterConversation",
7343
+ /**
7344
+ * Opens the Spotter share-conversation modal for the given conversation.
7345
+ * `conversationId` is **mandatory** — you must pass the id of the
7346
+ * conversation to share. Also no-op when sharing is disabled
7347
+ * (enableShareConversation off) or when already in the read-only shared view.
7348
+ * @example
7349
+ * ```js
7350
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
7351
+ * ```
7352
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7353
+ */
7354
+ ShareSpotterConversation = "ShareSpotterConversation",
7355
+ /**
7356
+ * Closes the Spotter share-conversation modal. No-op if none is open.
7357
+ * @example
7358
+ * ```js
7359
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
7360
+ * ```
7361
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7362
+ */
7363
+ CloseSpotterShareConversation = "CloseSpotterShareConversation",
7364
+ /**
7365
+ * Exits the read-only shared-conversation view.
7366
+ * @example
7367
+ * ```js
7368
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
7369
+ * ```
7370
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7371
+ */
7372
+ ExitSpotterSharedConversation = "ExitSpotterSharedConversation",
6865
7373
  /**
6866
7374
  * Deletes the last prompt in spotter embed.
6867
7375
  * @example
@@ -6957,6 +7465,41 @@ export declare enum HostEvent {
6957
7465
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
6958
7466
  */
6959
7467
  StartNewSpotterConversation = "StartNewSpotterConversation",
7468
+ /**
7469
+ * Pins a saved Spotter conversation so it floats to the top of the past
7470
+ * conversations sidebar. The `conversationId` of the conversation to pin is
7471
+ * required.
7472
+ *
7473
+ * This feature is available only when chat history is enabled on your ThoughtSpot
7474
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7475
+ * instance.
7476
+ *
7477
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7478
+ * @example
7479
+ * ```js
7480
+ * spotterEmbed.trigger(HostEvent.PinSpotterConversation, {
7481
+ * conversationId: '<conversation-id>',
7482
+ * });
7483
+ * ```
7484
+ */
7485
+ PinSpotterConversation = "PinSpotterConversation",
7486
+ /**
7487
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
7488
+ * conversation to unpin is required.
7489
+ *
7490
+ * This feature is available only when chat history is enabled on your ThoughtSpot
7491
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7492
+ * instance.
7493
+ *
7494
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7495
+ * @example
7496
+ * ```js
7497
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
7498
+ * conversationId: '<conversation-id>',
7499
+ * });
7500
+ * ```
7501
+ */
7502
+ UnpinSpotterConversation = "UnpinSpotterConversation",
6960
7503
  /**
6961
7504
  * @hidden
6962
7505
  * Get the current context of the embedded page.
@@ -8305,6 +8848,19 @@ export declare enum Action {
8305
8848
  * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.6.0.cl
8306
8849
  */
8307
8850
  ChangeFilterVisibilityInTab = "changeFilterVisibilityInTab",
8851
+ /**
8852
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
8853
+ * including filter, parameter, and cross-filter chips at the liveboard,
8854
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
8855
+ *
8856
+ * @example
8857
+ * ```js
8858
+ * hiddenActions: [Action.AllLiveboardFilters]
8859
+ * disabledActions: [Action.AllLiveboardFilters]
8860
+ * ```
8861
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
8862
+ */
8863
+ AllLiveboardFilters = "allLiveboardFilters",
8308
8864
  /**
8309
8865
  * The **Data model instructions** button on the Spotter interface.
8310
8866
  * Allows opening the data model instructions modal.
@@ -8641,17 +9197,110 @@ export declare enum Action {
8641
9197
  */
8642
9198
  SpotterChatRename = "spotterChatRename",
8643
9199
  /**
8644
- * Controls visibility and disable state of the delete action
8645
- * in the Spotter conversation edit menu.
9200
+ * Controls visibility and disable state of the Spotter conversation Share
9201
+ * button in the chat header. Only takes effect once sharing is enabled
9202
+ * (enableShareConversation on).
8646
9203
  * @example
8647
9204
  * ```js
8648
- * disabledActions: [Action.SpotterChatDelete]
9205
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
8649
9206
  * ```
8650
- * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
9207
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8651
9208
  */
8652
- SpotterChatDelete = "spotterChatDelete",
9209
+ SpotterShareConversationButtonHeader = "spotterShareConversationButtonHeader",
8653
9210
  /**
8654
- * Controls visibility and disable state of the documentation/best practices
9211
+ * Controls visibility and disable state of the Share item in the Spotter
9212
+ * conversation history (sidebar) edit menu. Independent of the header button
9213
+ * above, so a host can show Share in one entry point and hide it in the other.
9214
+ * @example
9215
+ * ```js
9216
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
9217
+ * ```
9218
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9219
+ */
9220
+ SpotterShareConversationMenuItemSidebar = "spotterShareConversationMenuItemSidebar",
9221
+ /**
9222
+ * Controls visibility of the entire read-only shared-conversation data-access
9223
+ * banner shown when a recipient opens a shared view. Hide-only.
9224
+ * @example
9225
+ * ```js
9226
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
9227
+ * ```
9228
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9229
+ */
9230
+ SpotterSharedConversationBanner = "spotterSharedConversationBanner",
9231
+ /**
9232
+ * Controls visibility and disable state of the cross/close button on the
9233
+ * read-only shared-conversation data-access banner (keeps the banner itself).
9234
+ * @example
9235
+ * ```js
9236
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
9237
+ * ```
9238
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9239
+ */
9240
+ SpotterSharedConversationBannerDismissButton = "spotterSharedConversationBannerDismissButton",
9241
+ /**
9242
+ * Controls visibility and disable state of the Exit button in the read-only
9243
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
9244
+ * host event.
9245
+ * @example
9246
+ * ```js
9247
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
9248
+ * ```
9249
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9250
+ */
9251
+ SpotterSharedConversationExitButton = "spotterSharedConversationExitButton",
9252
+ /**
9253
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
9254
+ * to the current moment…"). Hide-only.
9255
+ * @example
9256
+ * ```js
9257
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
9258
+ * ```
9259
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9260
+ */
9261
+ SpotterShareUpToCurrentInfo = "spotterShareUpToCurrentInfo",
9262
+ /**
9263
+ * Controls visibility and disable state of the share-modal "include new
9264
+ * messages since last shared version" checkbox.
9265
+ * @example
9266
+ * ```js
9267
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
9268
+ * ```
9269
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9270
+ */
9271
+ SpotterShareIncludeNewMessagesCheckbox = "spotterShareIncludeNewMessagesCheckbox",
9272
+ /**
9273
+ * Controls visibility and disable state of the cross on the share-modal
9274
+ * stale-snapshot info banner.
9275
+ * @example
9276
+ * ```js
9277
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
9278
+ * ```
9279
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9280
+ */
9281
+ SpotterShareStaleInfoBannerDismissButton = "spotterShareStaleInfoBannerDismissButton",
9282
+ /**
9283
+ * Controls visibility and disable state of the delete action
9284
+ * in the Spotter conversation edit menu.
9285
+ * @example
9286
+ * ```js
9287
+ * disabledActions: [Action.SpotterChatDelete]
9288
+ * ```
9289
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
9290
+ */
9291
+ SpotterChatDelete = "spotterChatDelete",
9292
+ /**
9293
+ * Controls visibility and disable state of the pin/unpin action
9294
+ * in the Spotter conversation edit menu.
9295
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9296
+ * @example
9297
+ * ```js
9298
+ * disabledActions: [Action.SpotterChatPin]
9299
+ * ```
9300
+ */
9301
+ SpotterChatPin = "spotterChatPin",
9302
+ /**
9303
+ * Controls visibility and disable state of the documentation/best practices
8655
9304
  * link in the Spotter sidebar footer.
8656
9305
  * @example
8657
9306
  * ```js
@@ -9079,7 +9728,9 @@ declare enum EmbedErrorCodes {
9079
9728
  /** UpdateFilters payload is invalid - missing or malformed filter/filters */
9080
9729
  UPDATEFILTERS_INVALID_PAYLOAD = "UPDATEFILTERS_INVALID_PAYLOAD",
9081
9730
  /** DrillDown payload is invalid - missing or malformed points */
9082
- DRILLDOWN_INVALID_PAYLOAD = "DRILLDOWN_INVALID_PAYLOAD"
9731
+ DRILLDOWN_INVALID_PAYLOAD = "DRILLDOWN_INVALID_PAYLOAD",
9732
+ /** UpdateParameters payload is invalid - malformed applicability */
9733
+ UPDATEPARAMETERS_INVALID_PAYLOAD = "UPDATEPARAMETERS_INVALID_PAYLOAD"
9083
9734
  }
9084
9735
  /**
9085
9736
  * Error event object emitted when an error occurs in an embedded component.
@@ -9826,6 +10477,40 @@ export interface LiveboardTab {
9826
10477
  name: string;
9827
10478
  [key: string]: any;
9828
10479
  }
10480
+ export interface LiveboardGroup {
10481
+ id: string;
10482
+ name: string;
10483
+ [key: string]: any;
10484
+ }
10485
+ declare enum ApplicabilityLevel {
10486
+ Liveboard = "LIVEBOARD",
10487
+ Tab = "TAB",
10488
+ Group = "GROUP"
10489
+ }
10490
+ /**
10491
+ * Scopes a filter or parameter to a specific target.
10492
+ * At `LIVEBOARD` level the filter applies to the whole Liveboard, so `targetId`
10493
+ * is not required.
10494
+ */
10495
+ export interface Applicability {
10496
+ level: ApplicabilityLevel;
10497
+ targetId?: string;
10498
+ }
10499
+ export interface FilterUpdate {
10500
+ column: string;
10501
+ oper: string;
10502
+ values: string[];
10503
+ type?: string;
10504
+ applicability?: Applicability;
10505
+ }
10506
+ export interface LiveboardFilter {
10507
+ applicability?: Applicability;
10508
+ [key: string]: any;
10509
+ }
10510
+ export interface LiveboardParameter {
10511
+ applicability?: Applicability;
10512
+ [key: string]: any;
10513
+ }
9829
10514
  declare enum UIPassthroughEvent {
9830
10515
  PinAnswerToLiveboard = "addVizToPinboard",
9831
10516
  SaveAnswer = "saveAnswer",
@@ -9842,6 +10527,7 @@ declare enum UIPassthroughEvent {
9842
10527
  GetParameters = "getParameters",
9843
10528
  GetTML = "getTML",
9844
10529
  GetTabs = "getTabs",
10530
+ GetGroups = "getGroups",
9845
10531
  GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
9846
10532
  }
9847
10533
  export type UIPassthroughContractBase = {
@@ -9920,7 +10606,7 @@ export type UIPassthroughContractBase = {
9920
10606
  vizId?: string;
9921
10607
  };
9922
10608
  response: {
9923
- liveboardFilters: Record<string, any>[];
10609
+ liveboardFilters: LiveboardFilter[];
9924
10610
  runtimeFilters: RuntimeFilter[];
9925
10611
  };
9926
10612
  };
@@ -9933,7 +10619,7 @@ export type UIPassthroughContractBase = {
9933
10619
  [UIPassthroughEvent.GetParameters]: {
9934
10620
  request: Record<string, never>;
9935
10621
  response: {
9936
- parameters: Record<string, any>[];
10622
+ parameters: LiveboardParameter[];
9937
10623
  };
9938
10624
  };
9939
10625
  [UIPassthroughEvent.GetTML]: {
@@ -9951,6 +10637,14 @@ export type UIPassthroughContractBase = {
9951
10637
  Tabs: LiveboardTab[];
9952
10638
  };
9953
10639
  };
10640
+ [UIPassthroughEvent.GetGroups]: {
10641
+ request: Record<string, never>;
10642
+ response: {
10643
+ orderedGroupIds: string[];
10644
+ numberOfGroups: number;
10645
+ Groups: LiveboardGroup[];
10646
+ };
10647
+ };
9954
10648
  [UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
9955
10649
  request: Record<string, never>;
9956
10650
  response: {
@@ -9962,18 +10656,8 @@ export type UIPassthroughContractBase = {
9962
10656
  };
9963
10657
  [UIPassthroughEvent.UpdateFilters]: {
9964
10658
  request: {
9965
- filter?: {
9966
- column: string;
9967
- oper: string;
9968
- values: string[];
9969
- type?: string;
9970
- };
9971
- filters?: {
9972
- column: string;
9973
- oper: string;
9974
- values: string[];
9975
- type?: string;
9976
- }[];
10659
+ filter?: FilterUpdate;
10660
+ filters?: FilterUpdate[];
9977
10661
  };
9978
10662
  response: unknown;
9979
10663
  };
@@ -10006,6 +10690,7 @@ export type EmbedApiHostEventMapping = {
10006
10690
  [HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
10007
10691
  [HostEvent.GetTML]: UIPassthroughEvent.GetTML;
10008
10692
  [HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
10693
+ [HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
10009
10694
  [HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
10010
10695
  };
10011
10696
  export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
@@ -10050,6 +10735,7 @@ declare class HostEventClient {
10050
10735
  protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>, context?: ContextType): Promise<HostEventResponse<HostEvent.Pin, ContextType>>;
10051
10736
  protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>, context?: ContextType): Promise<any>;
10052
10737
  protected handleUpdateFiltersEvent(payload: HostEventRequest<HostEvent.UpdateFilters>, context?: ContextType): Promise<any>;
10738
+ protected handleUpdateParametersEvent(payload: HostEventRequest<HostEvent.UpdateParameters>, context?: ContextType): Promise<any>;
10053
10739
  protected handleDrillDownEvent(payload: HostEventRequest<HostEvent.DrillDown>, context?: ContextType): Promise<any>;
10054
10740
  /**
10055
10741
  * Dispatches a host event using the appropriate channel:
@@ -11106,6 +11792,41 @@ interface SearchOptions$1 {
11106
11792
  */
11107
11793
  searchQuery: string;
11108
11794
  }
11795
+ declare enum SpotterQueryMode {
11796
+ FAST_SEARCH = "fastSearch",
11797
+ RESEARCH = "research"
11798
+ }
11799
+ /**
11800
+ * Configuration for the pin/unpin conversation feature in the Spotter sidebar.
11801
+ * Grouped into one object because pin exposes several related settings
11802
+ * (enable + label overrides), unlike single-item actions like rename or
11803
+ * delete.
11804
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11805
+ */
11806
+ export interface SpotterChatPinConfig {
11807
+ /**
11808
+ * Enables the pin/unpin conversation feature in embedded Spotter. Disabled
11809
+ * by default — hosts must opt in. When off, the Pin/Unpin menu entry and
11810
+ * the pin glyph are hidden and the PinSpotterConversation /
11811
+ * UnpinSpotterConversation host events are no-ops. Native (non-embedded)
11812
+ * Spotter is unaffected and ships pin enabled.
11813
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11814
+ * @default false
11815
+ */
11816
+ enabled?: boolean;
11817
+ /**
11818
+ * Custom label text for the pin action in the conversation edit menu.
11819
+ * Defaults to translated "Pin" text.
11820
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11821
+ */
11822
+ pinLabel?: string;
11823
+ /**
11824
+ * Custom label text for the unpin action in the conversation edit menu.
11825
+ * Defaults to translated "Unpin" text.
11826
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11827
+ */
11828
+ unpinLabel?: string;
11829
+ }
11109
11830
  /**
11110
11831
  * Configuration for the Spotter sidebar.
11111
11832
  * Can be used in SpotterEmbed and AppEmbed.
@@ -11143,6 +11864,12 @@ export interface SpotterSidebarViewConfig {
11143
11864
  * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
11144
11865
  */
11145
11866
  spotterChatDeleteLabel?: string;
11867
+ /**
11868
+ * Pin/unpin conversation feature config (enable + label overrides).
11869
+ * Off by default in embed — hosts opt in via `enabled`.
11870
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11871
+ */
11872
+ spotterChatPinConfig?: SpotterChatPinConfig;
11146
11873
  /**
11147
11874
  * Custom title text for the delete conversation confirmation modal.
11148
11875
  * Defaults to translated "Delete chat" text.
@@ -11193,6 +11920,84 @@ export interface SpotterSidebarViewConfig {
11193
11920
  */
11194
11921
  spotterAnalystsLabel?: string;
11195
11922
  }
11923
+ /**
11924
+ * Configuration for the Spotter conversation sharing feature.
11925
+ * Can be used in SpotterEmbed and AppEmbed.
11926
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11927
+ * @group Embed components
11928
+ */
11929
+ export interface SpotterShareConversationConfig {
11930
+ /**
11931
+ * Enables sharing of the conversation.
11932
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11933
+ * @default false
11934
+ */
11935
+ enableShareConversation?: boolean;
11936
+ /**
11937
+ * Header Share button + sidebar Share item label.
11938
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11939
+ * @default "Share"
11940
+ */
11941
+ spotterShareLabel?: string;
11942
+ /**
11943
+ * Share modal title.
11944
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11945
+ */
11946
+ spotterShareModalTitle?: string;
11947
+ /**
11948
+ * Modal confirm button label.
11949
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11950
+ * @default "Share"
11951
+ */
11952
+ spotterShareConfirmLabel?: string;
11953
+ /**
11954
+ * Modal cancel button label.
11955
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11956
+ * @default "Cancel"
11957
+ */
11958
+ spotterShareCancelLabel?: string;
11959
+ /**
11960
+ * "Add users or groups" label.
11961
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11962
+ */
11963
+ spotterShareAddUsersLabel?: string;
11964
+ /**
11965
+ * Empty-state title ("No users added yet").
11966
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11967
+ */
11968
+ spotterShareEmptyTitle?: string;
11969
+ /**
11970
+ * Empty-state subtitle ("Not shared with any user").
11971
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11972
+ */
11973
+ spotterShareEmptySubtitle?: string;
11974
+ /**
11975
+ * "Include new messages since last shared version" checkbox label.
11976
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11977
+ */
11978
+ spotterShareIncludeNewMessagesLabel?: string;
11979
+ /**
11980
+ * Footer note when the snapshot is current ("…up to the current moment…").
11981
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11982
+ */
11983
+ spotterShareUpToCurrentLabel?: string;
11984
+ /**
11985
+ * Stale-snapshot info banner text ("All added users and groups will receive…").
11986
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11987
+ */
11988
+ spotterShareStaleInfoLabel?: string;
11989
+ /**
11990
+ * Read-only shared-view data-access banner message.
11991
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11992
+ */
11993
+ spotterSharedConversationBannerMessage?: string;
11994
+ /**
11995
+ * Read-only shared-view Exit button label.
11996
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11997
+ * @default "Exit"
11998
+ */
11999
+ spotterSharedConversationExitLabel?: string;
12000
+ }
11196
12001
  /**
11197
12002
  * Configuration for customizing Spotter chat UI branding.
11198
12003
  * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
@@ -11247,8 +12052,27 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11247
12052
  /**
11248
12053
  * The ID of the data source object. For example, Model, View, or Table. Spotter uses
11249
12054
  * this object to query data and generate Answers.
12055
+ * This field is optional. If not provided, Spotter loads using the
12056
+ * previously selected user data source.
11250
12057
  */
11251
- worksheetId: string;
12058
+ worksheetId?: string;
12059
+ /**
12060
+ * The array of data source GUIDs to set on load. Spotter uses
12061
+ * these GUIDs to query data and generate Answers.
12062
+ * dataSources is preferred over worksheetId if both are provided.
12063
+ * The feature is currently behind a feature flag.
12064
+ *
12065
+ * Supported embed types: `SpotterEmbed`
12066
+ * @example
12067
+ * ```js
12068
+ * const embed = new SpotterEmbed('#tsEmbed', {
12069
+ * // ...other embed view config
12070
+ * dataSources: ['id-2345', 'id-2345'],
12071
+ * });
12072
+ * ```
12073
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12074
+ */
12075
+ dataSources?: string[];
11252
12076
  /**
11253
12077
  * Ability to pass a starting search query to the conversation.
11254
12078
  */
@@ -11408,6 +12232,39 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11408
12232
  * ```
11409
12233
  */
11410
12234
  updatedSpotterChatPrompt?: boolean;
12235
+ /**
12236
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
12237
+ *
12238
+ * Supported embed types: `SpotterEmbed`
12239
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12240
+ * @default false
12241
+ * @example
12242
+ * ```js
12243
+ * const embed = new SpotterEmbed('#tsEmbed', {
12244
+ * ... //other embed view config
12245
+ * showSpotterRadiance : true,
12246
+ * })
12247
+ * ```
12248
+ */
12249
+ showSpotterRadiance?: boolean;
12250
+ /**
12251
+ * Sets the default query mode when Spotter loads — Fast Search or
12252
+ * Research Mode. Applies fresh on every new session for this embed
12253
+ * instance only; it does not persist as a user preference and does
12254
+ * not affect other embeds or native ThoughtSpot usage.
12255
+ *
12256
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
12257
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12258
+ * @default SpotterQueryMode.FAST_SEARCH
12259
+ * @example
12260
+ * ```js
12261
+ * const embed = new SpotterEmbed('#tsEmbed', {
12262
+ * ... //other embed view config
12263
+ * defaultQueryMode: SpotterQueryMode.RESEARCH,
12264
+ * })
12265
+ * ```
12266
+ */
12267
+ defaultQueryMode?: SpotterQueryMode;
11411
12268
  /**
11412
12269
  * Enables the stop answer generation button in the Spotter embed UI,
11413
12270
  * allowing users to interrupt an ongoing answer generation.
@@ -11466,6 +12323,59 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11466
12323
  * ```
11467
12324
  */
11468
12325
  spotterChatConfig?: SpotterChatViewConfig;
12326
+ /**
12327
+ * Configuration for the Spotter conversation sharing feature.
12328
+ *
12329
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
12330
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12331
+ * @example
12332
+ * ```js
12333
+ * const embed = new SpotterEmbed('#tsEmbed', {
12334
+ * ... //other embed view config
12335
+ * spotterShareConversationConfig: {
12336
+ * enableShareConversation: true,
12337
+ * },
12338
+ * })
12339
+ * ```
12340
+ */
12341
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
12342
+ /**
12343
+ * The ID of a shared Spotter conversation to open directly in the read-only
12344
+ * reader view. Use this to land a share recipient in the shared conversation
12345
+ * when they open a host-configured `CONVERSATION_URL` share link: read the
12346
+ * `{conversation-id}` from your page URL and pass it here.
12347
+ *
12348
+ * Requires the Spotter conversation-sharing feature to be enabled
12349
+ * (`spotterShareConversationConfig.enableShareConversation`). The recipient
12350
+ * must be an authorized sharee — the server returns access-denied otherwise.
12351
+ *
12352
+ * Supported embed types: `SpotterEmbed`
12353
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12354
+ * @example
12355
+ * ```js
12356
+ * const convId = new URLSearchParams(window.location.search).get('conversation-id');
12357
+ * const embed = new SpotterEmbed('#tsEmbed', {
12358
+ * ... //other embed view config
12359
+ * sharedConversationId: convId,
12360
+ * })
12361
+ * ```
12362
+ */
12363
+ sharedConversationId?: string;
12364
+ /**
12365
+ * updatedSpotterExperience : Controls the updated Spotter experience.
12366
+ *
12367
+ * Supported embed types: `SpotterEmbed`
12368
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12369
+ * @default false
12370
+ * @example
12371
+ * ```js
12372
+ * const embed = new SpotterEmbed('#tsEmbed', {
12373
+ * ... //other embed view config
12374
+ * updatedSpotterExperience : true,
12375
+ * })
12376
+ * ```
12377
+ */
12378
+ updatedSpotterExperience?: boolean;
11469
12379
  }
11470
12380
  /**
11471
12381
  * The configuration for the embedded spotterEmbed options.
@@ -11482,6 +12392,7 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {
11482
12392
  export interface SpotterAppInitData extends DefaultAppInitData {
11483
12393
  embedParams?: {
11484
12394
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12395
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
11485
12396
  visualOverridesParams?: VisualizationOverrides | null;
11486
12397
  };
11487
12398
  }
@@ -11546,6 +12457,12 @@ export interface SpotterVizStarterPrompt {
11546
12457
  * { label: 'Tip', text: 'try asking about revenue by region' },
11547
12458
  * { label: 'Tip', text: 'use natural language' },
11548
12459
  * ],
12460
+ * // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12461
+ * liveboardBrandName: 'Reports',
12462
+ * spotterBrandName: 'Analyst',
12463
+ * insightTileBrandName: 'Insight card',
12464
+ * insightTileViewPlanLabel: 'View plan',
12465
+ * insightTileLoaderText: 'Generating insight',
11549
12466
  * },
11550
12467
  * })
11551
12468
  * ```
@@ -11602,6 +12519,34 @@ export interface SpotterVizConfig {
11602
12519
  * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
11603
12520
  */
11604
12521
  loaderTips?: SpotterVizLoaderTip[];
12522
+ /**
12523
+ * Custom term used to replace "Liveboard" in the agent's responses.
12524
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12525
+ * @default ''
12526
+ */
12527
+ liveboardBrandName?: string;
12528
+ /**
12529
+ * Custom term used to replace "Spotter" in the agent's responses.
12530
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12531
+ * @default ''
12532
+ */
12533
+ spotterBrandName?: string;
12534
+ /**
12535
+ * Custom term used to replace "Insight tile" in the UI and in the agent's responses.
12536
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12537
+ * @default ''
12538
+ */
12539
+ insightTileBrandName?: string;
12540
+ /**
12541
+ * Custom term used to replace "View plan" in the insight tile menu.
12542
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12543
+ */
12544
+ insightTileViewPlanLabel?: string;
12545
+ /**
12546
+ * Custom loader text shown on the insight tile.
12547
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12548
+ */
12549
+ insightTileLoaderText?: string;
11605
12550
  }
11606
12551
  /**
11607
12552
  * A single tip shown in the SpotterViz loading state.
@@ -11649,7 +12594,11 @@ export declare enum Page {
11649
12594
  /**
11650
12595
  * Monitor Alerts Page
11651
12596
  */
11652
- Monitor = "monitor"
12597
+ Monitor = "monitor",
12598
+ /**
12599
+ * Collections listing page
12600
+ */
12601
+ Collections = "collections"
11653
12602
  }
11654
12603
  declare enum DataPanelCustomColumnGroupsAccordionState$1 {
11655
12604
  /**
@@ -11682,6 +12631,9 @@ declare enum HomePage {
11682
12631
  /**
11683
12632
  * Modular (v2) introduces the updated Modular Home Experience.
11684
12633
  * It serves as the foundational version of the home page.
12634
+ * Use {@link HomePage.ModularWithStylingChanges} (V3) or
12635
+ * {@link HomePage.Focused} (V4) instead.
12636
+ * @deprecated V1 and V2 home page experiences are deprecated.
11685
12637
  */
11686
12638
  Modular = "v2",
11687
12639
  /**
@@ -11751,13 +12703,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11751
12703
  showPrimaryNavbar?: boolean;
11752
12704
  /**
11753
12705
  * Control the visibility of the left navigation panel on the home page
11754
- * in the V2 and V3 navigation and home page experience.
12706
+ * in the V3 and V4 navigation and home page experience.
11755
12707
  * If `showPrimaryNavbar` is true, that is, if the Global and Homepage
11756
12708
  * navigation bars are visible, this flag will only hide the left navigation bar
11757
12709
  * on the home page.
11758
12710
  * The `showPrimaryNavbar` flag takes precedence over the `hideHomepageLeftNav`.
11759
12711
  *
11760
- * **Note**: This attribute is not supported in the classic (V1) experience.
12712
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
12713
+ * deprecated. This attribute applies to V3 and V4 home page experiences.
11761
12714
  *
11762
12715
  * Supported embed types: `AppEmbed`
11763
12716
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11823,11 +12776,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11823
12776
  hideHamburger?: boolean;
11824
12777
  /**
11825
12778
  * Control the visibility of the object search
11826
- * on the top navigation bar in the
11827
- * V2 and V3 navigation experience.
12779
+ * on the top navigation bar in the V3 navigation experience.
11828
12780
  *
11829
- * **Note**: This attribute is not supported
11830
- * in the classic (V1) experience.
12781
+ * **Note**: The classic (V1) and V2 navigation experiences are
12782
+ * deprecated. This attribute applies to the V3 navigation experience.
11831
12783
  *
11832
12784
  * Supported embed types: `AppEmbed`
11833
12785
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11845,8 +12797,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11845
12797
  * Control the visibility of the notification icon
11846
12798
  * on the top navigation bar in V3 navigation experience.
11847
12799
  *
11848
- * **Note**: This attribute is not supported
11849
- * in the classic (V1) and V2 experience modes.
12800
+ * **Note**: The classic (V1) and V2 experience modes are deprecated.
12801
+ * This attribute applies to the V3 experience.
11850
12802
  *
11851
12803
  * Supported embed types: `AppEmbed`
11852
12804
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11861,14 +12813,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11861
12813
  */
11862
12814
  hideNotification?: boolean;
11863
12815
  /**
11864
- * Control the visibility of the application selection menu
11865
- * in the top navigation bar in the V2 experience.
12816
+ * Control the visibility of the application selection menu.
11866
12817
  * In the V3 experience, it shows or hides application selection
11867
12818
  * icons on the left navigation panel.
11868
12819
  * By default, the application selection menu and icons are
11869
12820
  * shown in the UI.
11870
12821
  *
11871
- * **Note**: This attribute is not supported in the classic (V1) experience.
12822
+ * **Note**: The classic (V1) and V2 experiences are deprecated.
12823
+ * This attribute applies to the V3 experience.
11872
12824
  *
11873
12825
  * Supported embed types: `AppEmbed`
11874
12826
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11886,7 +12838,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11886
12838
  * Control the visibility of the Org switcher button on the nav-bar.
11887
12839
  * By default, the Org switcher button is shown.
11888
12840
  *
11889
- * **Note**: This attribute is not supported in the classic (V1) experience.
12841
+ * **Note**: The classic (V1) experience is deprecated. This attribute
12842
+ * applies to V2 (deprecated), V3 and V4 experiences.
11890
12843
  *
11891
12844
  * Supported embed types: `AppEmbed`
11892
12845
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -12045,6 +12998,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12045
12998
  * Supported embed types: `AppEmbed`
12046
12999
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
12047
13000
  * @default false
13001
+ * Use the discoveryExperience.homePage option with
13002
+ * {@link HomePage.ModularWithStylingChanges} (V3) or
13003
+ * {@link HomePage.Focused} (V4) instead.
13004
+ * @deprecated The V1 and V2 home page experiences are deprecated.
12048
13005
  * @example
12049
13006
  * ```js
12050
13007
  * const embed = new AppEmbed('#tsEmbed', {
@@ -12176,11 +13133,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12176
13133
  /**
12177
13134
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
12178
13135
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
12179
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
13136
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
12180
13137
  *
12181
13138
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12182
13139
  * @type {boolean}
12183
13140
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
13141
+ * @default true
12184
13142
  * @example
12185
13143
  * ```js
12186
13144
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12193,10 +13151,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12193
13151
  isContinuousLiveboardPDFEnabled?: boolean;
12194
13152
  /**
12195
13153
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
13154
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
12196
13155
  *
12197
13156
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12198
13157
  * @type {boolean}
12199
13158
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13159
+ * @default true
12200
13160
  * @example
12201
13161
  * ```js
12202
13162
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12209,10 +13169,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12209
13169
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
12210
13170
  /**
12211
13171
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
13172
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
12212
13173
  *
12213
13174
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12214
13175
  * @type {boolean}
12215
13176
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13177
+ * @default true
12216
13178
  * @example
12217
13179
  * ```js
12218
13180
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12288,6 +13250,40 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12288
13250
  * ```
12289
13251
  */
12290
13252
  updatedSpotterChatPrompt?: boolean;
13253
+ /**
13254
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
13255
+ *
13256
+ * Supported embed types: `AppEmbed`
13257
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13258
+ * @default false
13259
+ * @example
13260
+ * ```js
13261
+ * const embed = new AppEmbed('#tsEmbed', {
13262
+ * ... //other embed view config
13263
+ * showSpotterRadiance : true,
13264
+ * })
13265
+ * ```
13266
+ */
13267
+ showSpotterRadiance?: boolean;
13268
+ /**
13269
+ * Sets the default query mode when Spotter loads — Fast Search or
13270
+ * Research Mode. Applies fresh on every new session for this embed
13271
+ * instance only; it does not persist as a user preference and does
13272
+ * not affect other embeds or native ThoughtSpot usage.
13273
+ * Only applicable when navigating to Spotter within the app.
13274
+ *
13275
+ * Supported embed types: `AppEmbed`
13276
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13277
+ * @default SpotterQueryMode.FAST_SEARCH
13278
+ * @example
13279
+ * ```js
13280
+ * const embed = new AppEmbed('#tsEmbed', {
13281
+ * ... //other embed view config
13282
+ * defaultQueryMode: SpotterQueryMode.RESEARCH,
13283
+ * })
13284
+ * ```
13285
+ */
13286
+ defaultQueryMode?: SpotterQueryMode;
12291
13287
  /**
12292
13288
  * Controls the visibility of the past conversations sidebar.
12293
13289
  *
@@ -12313,6 +13309,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12313
13309
  * spotterSidebarConfig: {
12314
13310
  * enablePastConversationsSidebar: true,
12315
13311
  * spotterSidebarTitle: 'My Conversations',
13312
+ * // Opt in to pin/unpin conversations in embedded Spotter
13313
+ * spotterChatPinConfig: {
13314
+ * enabled: true,
13315
+ * },
12316
13316
  * },
12317
13317
  * })
12318
13318
  * ```
@@ -12336,6 +13336,49 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12336
13336
  * ```
12337
13337
  */
12338
13338
  spotterChatConfig?: SpotterChatViewConfig;
13339
+ /**
13340
+ * Configuration for the Spotter conversation sharing feature.
13341
+ *
13342
+ * Supported embed types: `AppEmbed`
13343
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13344
+ * @example
13345
+ * ```js
13346
+ * const embed = new AppEmbed('#tsEmbed', {
13347
+ * ... //other embed view config
13348
+ * spotterShareConversationConfig: {
13349
+ * enableShareConversation: true,
13350
+ * },
13351
+ * })
13352
+ * ```
13353
+ */
13354
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
13355
+ /**
13356
+ * Sets the default data sources (Models) for the Spotter experience shown on
13357
+ * the home page of the full app embed. Accepts a list of Model GUIDs to
13358
+ * preselect the data sources available to Spotter, or the literal
13359
+ * `'auto_mode'` sentinel to load Spotter with the "Auto" model selected by
13360
+ * default. This is consistent with how `worksheetId: 'auto_mode'` enables
13361
+ * Auto mode in `SpotterEmbed`.
13362
+ *
13363
+ * **Note**: If `'auto_mode'` is included alongside one or more Model GUIDs,
13364
+ * `'auto_mode'` takes precedence and is selected by default.
13365
+ *
13366
+ * **Note**: `'auto_mode'` requires the Spotter 3 experience with data source
13367
+ * discovery enabled on your instance, and a Spotter-enabled home page (for
13368
+ * example, `discoveryExperience.homePage: HomePage.Focused`).
13369
+ *
13370
+ * Supported embed types: `AppEmbed`
13371
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.10.0.cl
13372
+ * @example
13373
+ * ```js
13374
+ * const embed = new AppEmbed('#tsEmbed', {
13375
+ * ... // other embed view config
13376
+ * discoveryExperience: { homePage: HomePage.Focused },
13377
+ * spotterDataSources: ['model-guid-1', 'model-guid-2'], // or ['auto_mode']
13378
+ * })
13379
+ * ```
13380
+ */
13381
+ spotterDataSources?: string[];
12339
13382
  /**
12340
13383
  * Configuration for the SpotterViz interface shown on the Liveboard.
12341
13384
  * Customize the brand name, description, chat input placeholder,
@@ -12360,6 +13403,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12360
13403
  * { label: 'Tip', text: 'try asking about revenue by region' },
12361
13404
  * { label: 'Tip', text: 'use natural language' },
12362
13405
  * ],
13406
+ * // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13407
+ * liveboardBrandName: 'Reports',
13408
+ * spotterBrandName: 'Analyst',
13409
+ * insightTileBrandName: 'Insight card',
13410
+ * insightTileViewPlanLabel: 'View plan',
13411
+ * insightTileLoaderText: 'Generating insight',
12363
13412
  * },
12364
13413
  * })
12365
13414
  * ```
@@ -12425,6 +13474,21 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12425
13474
  * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12426
13475
  */
12427
13476
  visualOverrides?: VisualizationOverrides;
13477
+ /**
13478
+ * updatedSpotterExperience : Controls the updated Spotter experience.
13479
+ *
13480
+ * Supported embed types: `AppEmbed`
13481
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13482
+ * @default false
13483
+ * @example
13484
+ * ```js
13485
+ * const embed = new AppEmbed('#tsEmbed', {
13486
+ * ... //other embed view config
13487
+ * updatedSpotterExperience : true,
13488
+ * })
13489
+ * ```
13490
+ */
13491
+ updatedSpotterExperience?: boolean;
12428
13492
  }
12429
13493
  /**
12430
13494
  * APP_INIT data shape for AppEmbed.
@@ -12434,6 +13498,7 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
12434
13498
  embedParams?: {
12435
13499
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12436
13500
  spotterVizConfig?: SpotterVizConfig;
13501
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
12437
13502
  };
12438
13503
  }
12439
13504
  declare class AppEmbed extends V1Embed {
@@ -12460,6 +13525,7 @@ declare class AppEmbed extends V1Embed {
12460
13525
  * embedded Liveboard or visualization.
12461
13526
  */
12462
13527
  protected getEmbedParams(): string;
13528
+ protected getEmbedParamsObject(): any;
12463
13529
  private sendFullHeightLazyLoadData;
12464
13530
  /**
12465
13531
  * This is a handler for the RequestVisibleEmbedCoordinates event.
@@ -12884,11 +13950,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12884
13950
  /**
12885
13951
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
12886
13952
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
12887
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
13953
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
12888
13954
  *
12889
13955
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12890
13956
  * @type {boolean}
12891
13957
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
13958
+ * @default true
12892
13959
  * @example
12893
13960
  * ```js
12894
13961
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12901,10 +13968,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12901
13968
  isContinuousLiveboardPDFEnabled?: boolean;
12902
13969
  /**
12903
13970
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
13971
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
12904
13972
  *
12905
13973
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12906
13974
  * @type {boolean}
12907
13975
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13976
+ * @default true
12908
13977
  * @example
12909
13978
  * ```js
12910
13979
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12917,10 +13986,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12917
13986
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
12918
13987
  /**
12919
13988
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
13989
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
12920
13990
  *
12921
13991
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12922
13992
  * @type {boolean}
12923
13993
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13994
+ * @default true
12924
13995
  * @example
12925
13996
  * ```js
12926
13997
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -13011,6 +14082,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13011
14082
  * ```
13012
14083
  */
13013
14084
  updatedSpotterChatPrompt?: boolean;
14085
+ /**
14086
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
14087
+ *
14088
+ * Supported embed types: `LiveboardEmbed`
14089
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14090
+ * @default false
14091
+ * @example
14092
+ * ```js
14093
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14094
+ * ... //other embed view config
14095
+ * showSpotterRadiance : true,
14096
+ * })
14097
+ * ```
14098
+ */
14099
+ showSpotterRadiance?: boolean;
13014
14100
  /**
13015
14101
  * Enables the stop answer generation button in the Spotter embed UI,
13016
14102
  * allowing users to interrupt an ongoing answer generation.
@@ -13062,6 +14148,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13062
14148
  * { label: 'Tip', text: 'try asking about revenue by region' },
13063
14149
  * { label: 'Tip', text: 'use natural language' },
13064
14150
  * ],
14151
+ * // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14152
+ * liveboardBrandName: 'Reports',
14153
+ * spotterBrandName: 'Analyst',
14154
+ * insightTileBrandName: 'Insight card',
14155
+ * insightTileViewPlanLabel: 'View plan',
14156
+ * insightTileLoaderText: 'Generating insight',
13065
14157
  * },
13066
14158
  * })
13067
14159
  * ```
@@ -13080,6 +14172,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13080
14172
  * ```
13081
14173
  */
13082
14174
  enableLiveboardDataCache?: boolean;
14175
+ /**
14176
+ * updatedSpotterExperience : Controls the updated Spotter experience.
14177
+ *
14178
+ * Supported embed types: `LiveboardEmbed`
14179
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14180
+ * @default false
14181
+ * @example
14182
+ * ```js
14183
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14184
+ * ... //other embed view config
14185
+ * updatedSpotterExperience : true,
14186
+ * })
14187
+ * ```
14188
+ */
14189
+ updatedSpotterExperience?: boolean;
13083
14190
  }
13084
14191
  declare class LiveboardEmbed extends V1Embed {
13085
14192
  protected viewConfig: LiveboardViewConfig;