@thoughtspot/visual-embed-sdk 1.50.1 → 1.51.0-test

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 (238) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/config.d.ts +1 -0
  3. package/cjs/src/config.d.ts.map +1 -1
  4. package/cjs/src/config.js +2 -1
  5. package/cjs/src/config.js.map +1 -1
  6. package/cjs/src/css-variables.d.ts +63 -0
  7. package/cjs/src/css-variables.d.ts.map +1 -1
  8. package/cjs/src/embed/app.d.ts +148 -25
  9. package/cjs/src/embed/app.d.ts.map +1 -1
  10. package/cjs/src/embed/app.js +74 -37
  11. package/cjs/src/embed/app.js.map +1 -1
  12. package/cjs/src/embed/app.spec.js +571 -150
  13. package/cjs/src/embed/app.spec.js.map +1 -1
  14. package/cjs/src/embed/base.d.ts +1 -1
  15. package/cjs/src/embed/base.js +1 -1
  16. package/cjs/src/embed/conversation.d.ts +375 -2
  17. package/cjs/src/embed/conversation.d.ts.map +1 -1
  18. package/cjs/src/embed/conversation.js +21 -15
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/conversation.spec.js +323 -17
  21. package/cjs/src/embed/conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/events.spec.js +45 -0
  23. package/cjs/src/embed/events.spec.js.map +1 -1
  24. package/cjs/src/embed/host-events.spec.js +81 -0
  25. package/cjs/src/embed/host-events.spec.js.map +1 -1
  26. package/cjs/src/embed/hostEventClient/contracts.d.ts +15 -0
  27. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  28. package/cjs/src/embed/hostEventClient/contracts.js +1 -0
  29. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  30. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  31. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  32. package/cjs/src/embed/hostEventClient/host-event-client.js +1 -0
  33. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  34. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +27 -0
  35. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  36. package/cjs/src/embed/liveboard.d.ts +76 -14
  37. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  38. package/cjs/src/embed/liveboard.js +50 -9
  39. package/cjs/src/embed/liveboard.js.map +1 -1
  40. package/cjs/src/embed/liveboard.spec.js +432 -4
  41. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  42. package/cjs/src/embed/spotter-utils.d.ts +15 -1
  43. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  44. package/cjs/src/embed/spotter-utils.js +28 -1
  45. package/cjs/src/embed/spotter-utils.js.map +1 -1
  46. package/cjs/src/embed/spotter-utils.spec.js +129 -0
  47. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  48. package/cjs/src/embed/spotter-viz-utils.d.ts +9 -10
  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/ts-embed.d.ts +16 -8
  52. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  53. package/cjs/src/embed/ts-embed.js +82 -30
  54. package/cjs/src/embed/ts-embed.js.map +1 -1
  55. package/cjs/src/embed/ts-embed.spec.js +537 -3
  56. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  57. package/cjs/src/index.d.ts +3 -3
  58. package/cjs/src/index.d.ts.map +1 -1
  59. package/cjs/src/index.js +3 -2
  60. package/cjs/src/index.js.map +1 -1
  61. package/cjs/src/mixpanel-service.d.ts +4 -0
  62. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  63. package/cjs/src/mixpanel-service.js +4 -0
  64. package/cjs/src/mixpanel-service.js.map +1 -1
  65. package/cjs/src/react/all-types-export.d.ts +1 -1
  66. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  67. package/cjs/src/react/all-types-export.js +2 -1
  68. package/cjs/src/react/all-types-export.js.map +1 -1
  69. package/cjs/src/react/all-types-export.parity.spec.d.ts +2 -0
  70. package/cjs/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  71. package/cjs/src/react/all-types-export.parity.spec.js +194 -0
  72. package/cjs/src/react/all-types-export.parity.spec.js.map +1 -0
  73. package/cjs/src/react/index.d.ts +66 -32
  74. package/cjs/src/react/index.d.ts.map +1 -1
  75. package/cjs/src/react/index.js +5 -3
  76. package/cjs/src/react/index.js.map +1 -1
  77. package/cjs/src/react/index.spec.js +101 -0
  78. package/cjs/src/react/index.spec.js.map +1 -1
  79. package/cjs/src/types.d.ts +789 -32
  80. package/cjs/src/types.d.ts.map +1 -1
  81. package/cjs/src/types.js +610 -20
  82. package/cjs/src/types.js.map +1 -1
  83. package/cjs/src/utils.spec.js +4 -0
  84. package/cjs/src/utils.spec.js.map +1 -1
  85. package/dist/{index-fCne7kmU.js → index-Bivg-mDx.js} +1 -1
  86. package/dist/src/config.d.ts +1 -0
  87. package/dist/src/config.d.ts.map +1 -1
  88. package/dist/src/css-variables.d.ts +63 -0
  89. package/dist/src/css-variables.d.ts.map +1 -1
  90. package/dist/src/embed/app.d.ts +148 -25
  91. package/dist/src/embed/app.d.ts.map +1 -1
  92. package/dist/src/embed/base.d.ts +1 -1
  93. package/dist/src/embed/conversation.d.ts +375 -2
  94. package/dist/src/embed/conversation.d.ts.map +1 -1
  95. package/dist/src/embed/hostEventClient/contracts.d.ts +15 -0
  96. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  97. package/dist/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  98. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  99. package/dist/src/embed/liveboard.d.ts +76 -14
  100. package/dist/src/embed/liveboard.d.ts.map +1 -1
  101. package/dist/src/embed/spotter-utils.d.ts +15 -1
  102. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  103. package/dist/src/embed/spotter-viz-utils.d.ts +9 -10
  104. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
  105. package/dist/src/embed/ts-embed.d.ts +16 -8
  106. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  107. package/dist/src/index.d.ts +3 -3
  108. package/dist/src/index.d.ts.map +1 -1
  109. package/dist/src/mixpanel-service.d.ts +4 -0
  110. package/dist/src/mixpanel-service.d.ts.map +1 -1
  111. package/dist/src/react/all-types-export.d.ts +1 -1
  112. package/dist/src/react/all-types-export.d.ts.map +1 -1
  113. package/dist/src/react/all-types-export.parity.spec.d.ts +2 -0
  114. package/dist/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  115. package/dist/src/react/index.d.ts +66 -32
  116. package/dist/src/react/index.d.ts.map +1 -1
  117. package/dist/src/types.d.ts +789 -32
  118. package/dist/src/types.d.ts.map +1 -1
  119. package/dist/tsembed-react.es.js +878 -120
  120. package/dist/tsembed-react.js +877 -119
  121. package/dist/tsembed.es.js +936 -181
  122. package/dist/tsembed.js +938 -183
  123. package/dist/visual-embed-sdk-react-full.d.ts +1553 -128
  124. package/dist/visual-embed-sdk-react.d.ts +1555 -129
  125. package/dist/visual-embed-sdk.d.ts +1499 -100
  126. package/lib/package.json +1 -1
  127. package/lib/src/config.d.ts +1 -0
  128. package/lib/src/config.d.ts.map +1 -1
  129. package/lib/src/config.js +1 -0
  130. package/lib/src/config.js.map +1 -1
  131. package/lib/src/css-variables.d.ts +63 -0
  132. package/lib/src/css-variables.d.ts.map +1 -1
  133. package/lib/src/embed/app.d.ts +148 -25
  134. package/lib/src/embed/app.d.ts.map +1 -1
  135. package/lib/src/embed/app.js +75 -38
  136. package/lib/src/embed/app.js.map +1 -1
  137. package/lib/src/embed/app.spec.js +572 -151
  138. package/lib/src/embed/app.spec.js.map +1 -1
  139. package/lib/src/embed/base.d.ts +1 -1
  140. package/lib/src/embed/base.js +1 -1
  141. package/lib/src/embed/conversation.d.ts +375 -2
  142. package/lib/src/embed/conversation.d.ts.map +1 -1
  143. package/lib/src/embed/conversation.js +23 -17
  144. package/lib/src/embed/conversation.js.map +1 -1
  145. package/lib/src/embed/conversation.spec.js +323 -17
  146. package/lib/src/embed/conversation.spec.js.map +1 -1
  147. package/lib/src/embed/events.spec.js +45 -0
  148. package/lib/src/embed/events.spec.js.map +1 -1
  149. package/lib/src/embed/host-events.spec.js +81 -0
  150. package/lib/src/embed/host-events.spec.js.map +1 -1
  151. package/lib/src/embed/hostEventClient/contracts.d.ts +15 -0
  152. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  153. package/lib/src/embed/hostEventClient/contracts.js +1 -0
  154. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  155. package/lib/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  156. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  157. package/lib/src/embed/hostEventClient/host-event-client.js +1 -0
  158. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  159. package/lib/src/embed/hostEventClient/host-event-client.spec.js +27 -0
  160. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  161. package/lib/src/embed/liveboard.d.ts +76 -14
  162. package/lib/src/embed/liveboard.d.ts.map +1 -1
  163. package/lib/src/embed/liveboard.js +50 -9
  164. package/lib/src/embed/liveboard.js.map +1 -1
  165. package/lib/src/embed/liveboard.spec.js +432 -4
  166. package/lib/src/embed/liveboard.spec.js.map +1 -1
  167. package/lib/src/embed/spotter-utils.d.ts +15 -1
  168. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  169. package/lib/src/embed/spotter-utils.js +25 -0
  170. package/lib/src/embed/spotter-utils.js.map +1 -1
  171. package/lib/src/embed/spotter-utils.spec.js +130 -1
  172. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  173. package/lib/src/embed/spotter-viz-utils.d.ts +9 -10
  174. package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
  175. package/lib/src/embed/spotter-viz-utils.js.map +1 -1
  176. package/lib/src/embed/ts-embed.d.ts +16 -8
  177. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  178. package/lib/src/embed/ts-embed.js +82 -30
  179. package/lib/src/embed/ts-embed.js.map +1 -1
  180. package/lib/src/embed/ts-embed.spec.js +537 -3
  181. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  182. package/lib/src/index.d.ts +3 -3
  183. package/lib/src/index.d.ts.map +1 -1
  184. package/lib/src/index.js +2 -2
  185. package/lib/src/index.js.map +1 -1
  186. package/lib/src/mixpanel-service.d.ts +4 -0
  187. package/lib/src/mixpanel-service.d.ts.map +1 -1
  188. package/lib/src/mixpanel-service.js +4 -0
  189. package/lib/src/mixpanel-service.js.map +1 -1
  190. package/lib/src/react/all-types-export.d.ts +1 -1
  191. package/lib/src/react/all-types-export.d.ts.map +1 -1
  192. package/lib/src/react/all-types-export.js +1 -1
  193. package/lib/src/react/all-types-export.js.map +1 -1
  194. package/lib/src/react/all-types-export.parity.spec.d.ts +2 -0
  195. package/lib/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  196. package/lib/src/react/all-types-export.parity.spec.js +191 -0
  197. package/lib/src/react/all-types-export.parity.spec.js.map +1 -0
  198. package/lib/src/react/index.d.ts +66 -32
  199. package/lib/src/react/index.d.ts.map +1 -1
  200. package/lib/src/react/index.js +5 -3
  201. package/lib/src/react/index.js.map +1 -1
  202. package/lib/src/react/index.spec.js +102 -1
  203. package/lib/src/react/index.spec.js.map +1 -1
  204. package/lib/src/types.d.ts +789 -32
  205. package/lib/src/types.d.ts.map +1 -1
  206. package/lib/src/types.js +610 -20
  207. package/lib/src/types.js.map +1 -1
  208. package/lib/src/utils.spec.js +4 -0
  209. package/lib/src/utils.spec.js.map +1 -1
  210. package/lib/src/visual-embed-sdk.d.ts +1499 -100
  211. package/package.json +1 -1
  212. package/src/config.ts +1 -0
  213. package/src/css-variables.ts +77 -0
  214. package/src/embed/app.spec.ts +729 -188
  215. package/src/embed/app.ts +240 -75
  216. package/src/embed/base.ts +1 -1
  217. package/src/embed/conversation.spec.ts +379 -20
  218. package/src/embed/conversation.ts +412 -18
  219. package/src/embed/events.spec.ts +56 -0
  220. package/src/embed/host-events.spec.ts +118 -0
  221. package/src/embed/hostEventClient/contracts.ts +16 -0
  222. package/src/embed/hostEventClient/host-event-client.spec.ts +46 -0
  223. package/src/embed/hostEventClient/host-event-client.ts +3 -2
  224. package/src/embed/liveboard.spec.ts +565 -4
  225. package/src/embed/liveboard.ts +150 -29
  226. package/src/embed/spotter-utils.spec.ts +140 -1
  227. package/src/embed/spotter-utils.ts +36 -1
  228. package/src/embed/spotter-viz-utils.ts +9 -10
  229. package/src/embed/ts-embed.spec.ts +699 -3
  230. package/src/embed/ts-embed.ts +99 -35
  231. package/src/index.ts +44 -2
  232. package/src/mixpanel-service.ts +4 -0
  233. package/src/react/all-types-export.parity.spec.ts +208 -0
  234. package/src/react/all-types-export.ts +22 -0
  235. package/src/react/index.spec.tsx +158 -0
  236. package/src/react/index.tsx +70 -33
  237. package/src/types.ts +791 -30
  238. package/src/utils.spec.ts +5 -0
package/src/types.ts CHANGED
@@ -176,7 +176,9 @@ export enum AuthType {
176
176
  }
177
177
  /**
178
178
  *
179
- * **Note**: This attribute is not supported in the classic (V1) homepage experience.
179
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
180
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges) and
181
+ * V4 (Focused) home page experiences.
180
182
  *
181
183
  */
182
184
 
@@ -895,6 +897,86 @@ export interface FrameParams {
895
897
  [key: string]: string | number | boolean | undefined;
896
898
  }
897
899
 
900
+ /**
901
+ * Configuration for the pre-render wrapper element.
902
+ * All properties here mirror the top-level preRender properties on
903
+ * {@link BaseViewConfig} and take precedence over them when both are set,
904
+ * so existing top-level usage continues to work without any changes.
905
+ *
906
+ * @version SDK: 1.52.0
907
+ * @example
908
+ * ```js
909
+ * init({ thoughtSpotHost: '...', authType: AuthType.None });
910
+ * const embed = new LiveboardEmbed('#tsEmbed', {
911
+ * preRenderConfig: {
912
+ * preRenderId: 'my-liveboard',
913
+ * preRenderContainer: '#my-scroll-container',
914
+ * doNotTrackPreRenderSize: false,
915
+ * zIndex: -10,
916
+ * },
917
+ * });
918
+ * embed.preRender();
919
+ * embed.showPreRender();
920
+ * ```
921
+ */
922
+ export interface PreRenderConfig {
923
+ /**
924
+ * Pre-render ID to identify the pre-render instance.
925
+ * Takes precedence over the top-level `preRenderId` when both are set.
926
+ *
927
+ * Matches the embed warmed by `preRender()` to the one revealed by
928
+ * `showPreRender()`. Embeds sharing an ID share one loaded frame: reuse the ID for
929
+ * the same view, and give unrelated views their own or they will collide.
930
+ * Required by `preRender()`, `showPreRender()`, and `hidePreRender()`, which log
931
+ * and do nothing without it.
932
+ *
933
+ * @default undefined
934
+ */
935
+ preRenderId?: string;
936
+ /**
937
+ * The DOM element or CSS selector string specifying the container into
938
+ * which the pre-rendered wrapper is inserted.
939
+ * Takes precedence over the top-level `preRenderContainer` when both are set.
940
+ *
941
+ * Set this when your app scrolls inside an element rather than the page (for
942
+ * example `<body>` has `overflow: hidden`). Point it at the element that actually
943
+ * scrolls, keep that element mounted while the embed is warm, and prefer a
944
+ * selector string — it is re-resolved on reposition and so survives a remount,
945
+ * while a detached element reference cannot be recovered. An invalid selector is
946
+ * logged and falls back to `document.body`.
947
+ * See {@link BaseViewConfig.preRenderContainer} for details, including Shadow DOM.
948
+ *
949
+ * @default document.body
950
+ */
951
+ preRenderContainer?: string | HTMLElement;
952
+ /**
953
+ * Disables the `ResizeObserver` that keeps the wrapper sized to the
954
+ * placeholder element.
955
+ * Takes precedence over the top-level `doNotTrackPreRenderSize` when both are set.
956
+ *
957
+ * Set this only when you size the embed yourself; you then own alignment and must
958
+ * call `syncPreRenderStyle()` after any change that moves or resizes it. Tracking
959
+ * already pauses while hidden, so this is not needed to avoid work then.
960
+ *
961
+ * @default false
962
+ */
963
+ doNotTrackPreRenderSize?: boolean;
964
+ /**
965
+ * CSS `z-index` value applied to the pre-render wrapper when hidden.
966
+ * Override this when the host page's stacking context does not reach `-1000`
967
+ * and the hidden wrapper still appears above other elements.
968
+ *
969
+ * A page that creates its own stacking context — a positioned app shell, a
970
+ * transformed wrapper, a modal layer — can clamp `-1000`, and the hidden wrapper
971
+ * then shows through or swallows clicks meant for your UI. Reach for this when you
972
+ * see a faint panel behind your content, or clicks landing on nothing in the
973
+ * region where the embed will eventually appear.
974
+ *
975
+ * @default -1000
976
+ */
977
+ zIndex?: number;
978
+ }
979
+
898
980
  /**
899
981
  * The common configuration object for an embedded view.
900
982
  */
@@ -980,7 +1062,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
980
1062
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
981
1063
  * const embed = new <EmbedComponent>('#tsEmbed', {
982
1064
  * ... // other embed view config
983
- * hiddenActions: [Action.Download, Action.Export],
1065
+ * hiddenActions: [Action.Download, Action.ExportTML],
984
1066
  * });
985
1067
  * ```
986
1068
  * @important
@@ -1002,7 +1084,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1002
1084
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
1003
1085
  * const embed = new <EmbedComponent>('#tsEmbed', {
1004
1086
  * ... // other embed view config
1005
- * visibleActions: [Action.Download, Action.Export],
1087
+ * visibleActions: [Action.Download, Action.ExportTML],
1006
1088
  * });
1007
1089
  * ```
1008
1090
  */
@@ -1085,6 +1167,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1085
1167
  *
1086
1168
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
1087
1169
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw
1170
+ * @deprecated Use {@link PreRenderConfig.preRenderId} via `preRenderConfig` instead.
1088
1171
  * @example
1089
1172
  * ```js
1090
1173
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
@@ -1105,6 +1188,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1105
1188
  * @type {boolean}
1106
1189
  * @default false
1107
1190
  * @version SDK: 1.24.0 | ThoughtSpot: 9.4.0.cl, 9.4.0.sw
1191
+ * @deprecated Use {@link PreRenderConfig.doNotTrackPreRenderSize} via `preRenderConfig` instead.
1108
1192
  * @example
1109
1193
  * ```js
1110
1194
  * // Disable tracking PreRender size in the configuration
@@ -1146,6 +1230,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1146
1230
  *
1147
1231
  * @type {string | HTMLElement}
1148
1232
  * @version SDK: 1.49.2 | ThoughtSpot: *
1233
+ * @deprecated Use {@link PreRenderConfig.preRenderContainer} via `preRenderConfig` instead.
1149
1234
  * @example
1150
1235
  * ```js
1151
1236
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -1156,6 +1241,27 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1156
1241
  * ```
1157
1242
  */
1158
1243
  preRenderContainer?: string | HTMLElement;
1244
+ /**
1245
+ * Configuration for the pre-render wrapper element.
1246
+ * All properties here mirror the top-level preRender properties on
1247
+ * `BaseViewConfig` and take precedence over them when both are set,
1248
+ * so existing top-level usage continues to work without any changes.
1249
+ * See {@link PreRenderConfig} for available options.
1250
+ *
1251
+ * @version SDK: 1.52.0
1252
+ * @example
1253
+ * ```js
1254
+ * const embed = new LiveboardEmbed('#tsEmbed', {
1255
+ * preRenderConfig: {
1256
+ * preRenderId: 'my-liveboard',
1257
+ * zIndex: -10,
1258
+ * },
1259
+ * });
1260
+ * embed.preRender();
1261
+ * embed.showPreRender();
1262
+ * ```
1263
+ */
1264
+ preRenderConfig?: PreRenderConfig;
1159
1265
  /**
1160
1266
  * Enable the V2 shell. This can provide performance benefits
1161
1267
  * due to a lighter-weight shell.
@@ -1607,7 +1713,7 @@ export interface HomePageConfig {
1607
1713
  *
1608
1714
  * const embed = new AppEmbed('#tsEmbed', {
1609
1715
  * ... //other embed view config
1610
- * hiddenListColumns : [ListPageColumns.Favorite,ListPageColumns.Author],
1716
+ * hiddenListColumns : [ListPageColumns.Favorites,ListPageColumns.Author],
1611
1717
  * })
1612
1718
  * ```
1613
1719
  */
@@ -1617,7 +1723,9 @@ export interface HomePageConfig {
1617
1723
  * To specify the modules, import the `HomepageModule` enum.
1618
1724
  * For example: `hiddenHomepageModules = [HomepageModule.MyLibrary]`
1619
1725
  *
1620
- * **Note**: This attribute is not supported in the classic (v1) experience.
1726
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1727
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
1728
+ * and V4 (Focused) home page experiences.
1621
1729
  *
1622
1730
  * Supported embed types: `AppEmbed`
1623
1731
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -1626,7 +1734,7 @@ export interface HomePageConfig {
1626
1734
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
1627
1735
  *
1628
1736
  * const embed = new AppEmbed('#tsEmbed', {
1629
- * ... // V2/V3 navigation and home page experience attributes
1737
+ * ... // V3 navigation and home page experience attributes
1630
1738
  * hiddenHomepageModules : [HomepageModule.Favorite,HomepageModule.Learning],
1631
1739
  * //...other embed view configuration attributes
1632
1740
  * })
@@ -1637,8 +1745,11 @@ export interface HomePageConfig {
1637
1745
  * Reorder home page modules.
1638
1746
  * To specify the modules, import the `HomepageModule` enum.
1639
1747
  * For example: `reorderedHomepageModules = [HomepageModule.MyLibrary,
1640
- * HomepageModule.Watchlist]` **Note**: This attribute is not supported in the
1641
- * classic (v1) homepage.
1748
+ * HomepageModule.Watchlist]`
1749
+ *
1750
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1751
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
1752
+ * and V4 (Focused) home page experiences.
1642
1753
  *
1643
1754
  * Supported embed types: `AppEmbed`
1644
1755
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -1647,7 +1758,7 @@ export interface HomePageConfig {
1647
1758
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
1648
1759
  *
1649
1760
  * const embed = new AppEmbed('#tsEmbed', {
1650
- * ...//V2/V3 navigation and home page experience attributes
1761
+ * ...//V3 navigation and home page experience attributes
1651
1762
  * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary],
1652
1763
  * //... other embed view configuration attributes
1653
1764
  * })
@@ -1659,7 +1770,9 @@ export interface HomePageConfig {
1659
1770
  * on the home page left navigation panel.
1660
1771
  * To specify the menu items, import the `HomeLeftNavItem` enum.
1661
1772
  *
1662
- * **Note**: This attribute is not supported in the classic (v1) homepage.
1773
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1774
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
1775
+ * and V4 (Focused) home page experiences.
1663
1776
  *
1664
1777
  * Supported embed types: `AppEmbed`
1665
1778
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -1915,6 +2028,25 @@ export interface LiveboardAppEmbedViewConfig {
1915
2028
  * ```
1916
2029
  */
1917
2030
  enable2ColumnLayout?: boolean;
2031
+ /**
2032
+ * This attribute keeps an embedded Liveboard on the 12-column layout at
2033
+ * every width, instead of switching to the two-column or single-column
2034
+ * layout as the container narrows.
2035
+ *
2036
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
2037
+ * @type {boolean}
2038
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
2039
+ * @default false
2040
+ * @example
2041
+ * ```js
2042
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
2043
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2044
+ * ... // other embed view config
2045
+ * isLiveboardAlwaysOn12ColLayout: true,
2046
+ * })
2047
+ * ```
2048
+ */
2049
+ isLiveboardAlwaysOn12ColLayout?: boolean;
1918
2050
  /**
1919
2051
  * This flag can be used to enable the compact header in Liveboard
1920
2052
  *
@@ -2019,6 +2151,26 @@ export interface LiveboardAppEmbedViewConfig {
2019
2151
  * ```
2020
2152
  */
2021
2153
  coverAndFilterOptionInPDF?: boolean;
2154
+ /**
2155
+ * Sets the gutter space (in pixels) between the visualization tiles of
2156
+ * an embedded Liveboard grid layout and its outer layout padding.
2157
+ * Accepts a non-negative integer; `0` renders the tiles without any gap
2158
+ * and removes the outer padding. When omitted, the gutter saved in the
2159
+ * Liveboard's styling settings (or the ThoughtSpot default) applies.
2160
+ *
2161
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
2162
+ * @type {number}
2163
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
2164
+ * @example
2165
+ * ```js
2166
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
2167
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2168
+ * ... // other embed view config
2169
+ * liveboardGutter: 8,
2170
+ * })
2171
+ * ```
2172
+ */
2173
+ liveboardGutter?: number;
2022
2174
  /**
2023
2175
  * This flag is used to enable or disable the new centralized Liveboard filter UX
2024
2176
  * (v2). When enabled, a unified modal is used to manage and update multiple filters
@@ -2037,6 +2189,24 @@ export interface LiveboardAppEmbedViewConfig {
2037
2189
  * ```
2038
2190
  */
2039
2191
  isCentralizedLiveboardFilterUXEnabled?: boolean;
2192
+ /**
2193
+ * This flag is used to enable or disable scoped Liveboard filtering.
2194
+ * When enabled, filters and parameters can be scoped to a group of
2195
+ * visualizations on a Liveboard, in addition to the Liveboard and
2196
+ * tab levels.
2197
+ *
2198
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
2199
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
2200
+ * @example
2201
+ * ```js
2202
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
2203
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2204
+ * ... // other embed view config
2205
+ * isScopedLiveboardFilteringEnabled: true,
2206
+ * })
2207
+ * ```
2208
+ */
2209
+ isScopedLiveboardFilteringEnabled?: boolean;
2040
2210
  /**
2041
2211
  * This flag is used to enable or disable the link parameters in liveboard.
2042
2212
  *
@@ -2253,7 +2423,9 @@ export enum RuntimeFilterOp {
2253
2423
  * via `hiddenHomepageModules` and reordered via
2254
2424
  * `reorderedHomepageModules`.
2255
2425
  *
2256
- * **Note**: This option is not supported in the classic (v1) experience.
2426
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2427
+ * deprecated. These modules apply to V3 (ModularWithStylingChanges) and
2428
+ * V4 (Focused) home page experiences.
2257
2429
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
2258
2430
  */
2259
2431
 
@@ -2468,7 +2640,7 @@ export enum EmbedEvent {
2468
2640
  * @returns nonFilteredColumns - The columns that were not filtered
2469
2641
  * @example
2470
2642
  * ```js
2471
- * searchEmbed.on(EmbedEvent.DrillDown, {
2643
+ * searchEmbed.on(EmbedEvent.Drilldown, {
2472
2644
  * points: {
2473
2645
  * clickedPoint,
2474
2646
  * selectedPoints: selectedPoint
@@ -2529,7 +2701,7 @@ export enum EmbedEvent {
2529
2701
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 8.4.1.sw
2530
2702
  * @example
2531
2703
  * ```js
2532
- * appEmbed.on(EmbedEvent.customAction, payload => {
2704
+ * appEmbed.on(EmbedEvent.CustomAction, payload => {
2533
2705
  * const data = payload.data;
2534
2706
  * if (data.id === 'insert Custom Action ID here') {
2535
2707
  * console.log('Custom Action event:', data.embedAnswerData);
@@ -2797,8 +2969,8 @@ export enum EmbedEvent {
2797
2969
  *
2798
2970
  * **Note**: This event is deprecated in v1.21.0.
2799
2971
  * To fire an event when a download action is initiated on a chart or table,
2800
- * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPDF`,
2801
- * `EmbedEvent.DownloadAsCSV`, or `EmbedEvent.DownloadAsXLSX`
2972
+ * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPdf`,
2973
+ * `EmbedEvent.DownloadAsCsv`, or `EmbedEvent.DownloadAsXlsx`
2802
2974
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
2803
2975
  * @example
2804
2976
  * ```js
@@ -2848,10 +3020,10 @@ export enum EmbedEvent {
2848
3020
  * @example
2849
3021
  * ```js
2850
3022
  * //emit when action starts
2851
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
3023
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
2852
3024
  * console.log('download CSV', payload)}, {start: true })
2853
3025
  * //emit when action ends
2854
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
3026
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
2855
3027
  * console.log('download CSV', payload)})
2856
3028
  * ```
2857
3029
  */
@@ -3250,11 +3422,19 @@ export enum EmbedEvent {
3250
3422
  * Emitted when a user changes any filter on a Liveboard.
3251
3423
  * Returns filter type and name, column name and ID, and runtime
3252
3424
  * filter details.
3425
+ * The payload includes an optional `applicability` attribute indicating the
3426
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
3427
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
3428
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
3429
+ * is no `targetId`, since the filter applies to the whole Liveboard.
3430
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3431
+ * ThoughtSpot: 26.10.0.cl.
3253
3432
  * @example
3254
3433
  *
3255
3434
  * ```js
3256
3435
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
3257
3436
  * console.log('payload', payload);
3437
+ * // payload.data optionally includes applicability: { level, targetId }
3258
3438
  * })
3259
3439
  * ```
3260
3440
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -3446,9 +3626,17 @@ export enum EmbedEvent {
3446
3626
  /**
3447
3627
  * Emitted when parameter changes in an Answer
3448
3628
  * or Liveboard.
3629
+ * The payload includes an optional `applicability` attribute indicating the
3630
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
3631
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
3632
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
3633
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
3634
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3635
+ * ThoughtSpot: 26.10.0.cl.
3449
3636
  * ```js
3450
3637
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
3451
3638
  * console.log('payload', payload);
3639
+ * // payload.data optionally includes applicability: { level, targetId }
3452
3640
  * })
3453
3641
  * ```
3454
3642
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -3750,6 +3938,158 @@ export enum EmbedEvent {
3750
3938
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
3751
3939
  */
3752
3940
  SpotterConversationDeleted = 'spotterConversationDeleted',
3941
+ /**
3942
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
3943
+ * to bracket the interaction. App→host counterpart of the
3944
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
3945
+ * @example
3946
+ * ```js
3947
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
3948
+ * // payload: { convId: string }
3949
+ * })
3950
+ * ```
3951
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3952
+ */
3953
+ SpotterShareConversationButtonHeaderClicked = 'spotterShareConversationButtonHeaderClicked',
3954
+ /**
3955
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
3956
+ * to bracket the interaction.
3957
+ * @example
3958
+ * ```js
3959
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
3960
+ * // payload: { convId: string }
3961
+ * })
3962
+ * ```
3963
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3964
+ */
3965
+ SpotterShareConversationMenuItemSidebarClicked = 'spotterShareConversationMenuItemSidebarClicked',
3966
+ /**
3967
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
3968
+ * share created). The host builds its own link from shareId/convId + its
3969
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
3970
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
3971
+ * the save resolves.
3972
+ * @example
3973
+ * ```js
3974
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
3975
+ * // payload: { convId: string, shareId: string,
3976
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
3977
+ * })
3978
+ * ```
3979
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3980
+ */
3981
+ SpotterConversationShared = 'spotterConversationShared',
3982
+ /**
3983
+ * Emitted when access to a shared Spotter conversation is revoked
3984
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
3985
+ * and the share is deleted entirely.
3986
+ * @example
3987
+ * ```js
3988
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
3989
+ * // payload: { convId: string, shareId: string,
3990
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
3991
+ * })
3992
+ * ```
3993
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3994
+ */
3995
+ SpotterConversationShareRevoked = 'spotterConversationShareRevoked',
3996
+ /**
3997
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
3998
+ * view). No shareId available viewer-side.
3999
+ * @example
4000
+ * ```js
4001
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
4002
+ * // payload: { convId: string, sourceConvId: string }
4003
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
4004
+ * })
4005
+ * ```
4006
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4007
+ */
4008
+ SpotterSharedConversationViewed = 'spotterSharedConversationViewed',
4009
+ /**
4010
+ * Emitted when the user toggles the share-modal "include new messages since
4011
+ * last shared version" checkbox.
4012
+ * @example
4013
+ * ```js
4014
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
4015
+ * // payload: { convId: string, includeNewMessages: boolean }
4016
+ * })
4017
+ * ```
4018
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4019
+ */
4020
+ SpotterShareIncludeNewMessagesCheckboxToggled = 'spotterShareIncludeNewMessagesCheckboxToggled',
4021
+ /**
4022
+ * Emitted when the user dismisses the stale-snapshot info banner via its
4023
+ * cross (distinct from the include-new-messages checkbox toggle).
4024
+ * @example
4025
+ * ```js
4026
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
4027
+ * // payload: { convId: string }
4028
+ * })
4029
+ * ```
4030
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4031
+ */
4032
+ SpotterShareStaleInfoBannerDismissed = 'spotterShareStaleInfoBannerDismissed',
4033
+ /**
4034
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
4035
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
4036
+ * / `SpotterConversationShareRevoked` result events.
4037
+ * @example
4038
+ * ```js
4039
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
4040
+ * // payload: { convId: string }
4041
+ * })
4042
+ * ```
4043
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4044
+ */
4045
+ SpotterShareModalConfirmButtonClicked = 'spotterShareModalConfirmButtonClicked',
4046
+ /**
4047
+ * Emitted when the share modal is dismissed via the Cancel button.
4048
+ * @example
4049
+ * ```js
4050
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
4051
+ * // payload: { convId: string }
4052
+ * })
4053
+ * ```
4054
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4055
+ */
4056
+ SpotterShareModalCancelButtonClicked = 'spotterShareModalCancelButtonClicked',
4057
+ /**
4058
+ * Emitted when a recipient leaves the read-only shared view via the Exit
4059
+ * button.
4060
+ * @example
4061
+ * ```js
4062
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
4063
+ * // payload: { convId: string }
4064
+ * })
4065
+ * ```
4066
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4067
+ */
4068
+ SpotterSharedConversationExitButtonClicked = 'spotterSharedConversationExitButtonClicked',
4069
+ /**
4070
+ * Emitted when a Spotter conversation is pinned.
4071
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4072
+ * @example
4073
+ * ```js
4074
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
4075
+ * console.log('Conversation pinned', payload);
4076
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
4077
+ * })
4078
+ * ```
4079
+ */
4080
+ SpotterConversationPinned = 'spotterConversationPinned',
4081
+ /**
4082
+ * Emitted when a Spotter conversation is unpinned.
4083
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4084
+ * @example
4085
+ * ```js
4086
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
4087
+ * console.log('Conversation unpinned', payload);
4088
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
4089
+ * })
4090
+ * ```
4091
+ */
4092
+ SpotterConversationUnpinned = 'spotterConversationUnpinned',
3753
4093
  /**
3754
4094
  * Emitted when a Spotter conversation is selected/clicked.
3755
4095
  * @example
@@ -4153,6 +4493,7 @@ export enum HostEvent {
4153
4493
  * const url = await appEmbed.trigger(HostEvent.GetIframeUrl, {}, ContextType.Answer);
4154
4494
  * console.log("iFrameURL", url);
4155
4495
  * ```
4496
+ * @returns iframeUrl - The URL currently loaded in the embedded iframe.
4156
4497
  * @version SDK: 1.35.0 | ThoughtSpot: 10.4.0.cl
4157
4498
  */
4158
4499
  GetIframeUrl = 'GetIframeUrl',
@@ -4279,6 +4620,17 @@ export enum HostEvent {
4279
4620
  * name: string,
4280
4621
  * type: ATTRIBUTE/MEASURE,
4281
4622
  * dataType: INT64/CHAR/DATE }
4623
+ *
4624
+ * `applicability` - Optional. Scopes the filter to a specific target,
4625
+ * for example, a single Liveboard tab, so the panel for the correct
4626
+ * scoped filter is opened. Available from SDK: 1.53.0 |
4627
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
4628
+ *
4629
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
4630
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
4631
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
4632
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
4633
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
4282
4634
  * @example
4283
4635
  * ```js
4284
4636
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -4291,6 +4643,14 @@ export enum HostEvent {
4291
4643
  * ```
4292
4644
  * @example
4293
4645
  * ```js
4646
+ * // Open a filter scoped to a specific Liveboard tab
4647
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
4648
+ * column: { columnId: '<column-GUID>' },
4649
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
4650
+ * });
4651
+ * ```
4652
+ * @example
4653
+ * ```js
4294
4654
  * // Open filter from search context
4295
4655
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
4296
4656
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -4300,6 +4660,73 @@ export enum HostEvent {
4300
4660
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
4301
4661
  */
4302
4662
  OpenFilter = 'openFilter',
4663
+ /**
4664
+ * Open the add-filter modal of a Liveboard, the same dialog that the
4665
+ * *Add filter* button in the Liveboard edit header opens, so the host
4666
+ * app can start the add-filter flow from its own UI.
4667
+ *
4668
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
4669
+ * Hiding the *Add filter* button with `hiddenActions:
4670
+ * [Action.AddFilter]` does not block this event, but disabling it with
4671
+ * `disabledActions` does.
4672
+ *
4673
+ * Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
4674
+ * existing filter, this event starts the creation of a new filter.
4675
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4676
+ * @example
4677
+ * ```js
4678
+ * liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
4679
+ * ```
4680
+ */
4681
+ OpenAddFilterModal = 'openAddFilterModal',
4682
+ /**
4683
+ * Open the add-parameter panel of a Liveboard, the same panel that the
4684
+ * *Add parameter* button in the Liveboard edit header opens.
4685
+ * Mirrors {@link HostEvent.OpenAddFilterModal} for parameters.
4686
+ *
4687
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
4688
+ * Hiding the *Add parameter* button with `hiddenActions:
4689
+ * [Action.AddParameter]` does not block this event, but disabling it
4690
+ * with `disabledActions` does.
4691
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4692
+ * @example
4693
+ * ```js
4694
+ * liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
4695
+ * ```
4696
+ */
4697
+ OpenAddParameterModal = 'openAddParameterModal',
4698
+ /**
4699
+ * Open the parameter panel for a particular parameter on a Liveboard.
4700
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
4701
+ * @param - Includes the following keys:
4702
+ * - `parameter`: An object identifying the parameter to open, for
4703
+ * example, `{ parameterId: '<parameter-GUID>' }`.
4704
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
4705
+ * for example, a single Liveboard tab, so the panel for the correct
4706
+ * scoped parameter is opened. Includes the following attributes:
4707
+ *
4708
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
4709
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
4710
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
4711
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
4712
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
4713
+ * @example
4714
+ * ```js
4715
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
4716
+ * parameter: { parameterId: '<parameter-GUID>' }
4717
+ * });
4718
+ * ```
4719
+ * @example
4720
+ * ```js
4721
+ * // Open a parameter scoped to a specific group
4722
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
4723
+ * parameter: { parameterId: '<parameter-GUID>' },
4724
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
4725
+ * });
4726
+ * ```
4727
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
4728
+ */
4729
+ OpenParameter = 'openParameter',
4303
4730
  /**
4304
4731
  * Add columns to the current search query.
4305
4732
  * @param - { columnIds: string[] }
@@ -4349,6 +4776,10 @@ export enum HostEvent {
4349
4776
  * liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
4350
4777
  * data=>console.log(data))
4351
4778
  * ```
4779
+ * @returns data - Object with a `v2Content` string: the export request
4780
+ * payload for the current Liveboard.
4781
+ * @returns type - The passthrough event name,
4782
+ * `getExportRequestForCurrentPinboard`.
4352
4783
  * @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1.sw
4353
4784
  */
4354
4785
  getExportRequestForCurrentPinboard = 'getExportRequestForCurrentPinboard',
@@ -4451,6 +4882,9 @@ export enum HostEvent {
4451
4882
  * }, ContextType.Spotter);
4452
4883
  * ```
4453
4884
  *
4885
+ * @returns liveboardId - GUID of the Liveboard the Answer was pinned to.
4886
+ * @returns tabId - GUID of the tab within that Liveboard.
4887
+ * @returns vizId - GUID of the newly created visualization.
4454
4888
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
4455
4889
  */
4456
4890
  Pin = 'pin',
@@ -4489,13 +4923,13 @@ export enum HostEvent {
4489
4923
  * Trigger the **Manage schedule** action on an embedded Liveboard
4490
4924
  * @example
4491
4925
  * ```js
4492
- * liveboardEmbed.trigger(HostEvent.ScheduleList)
4926
+ * liveboardEmbed.trigger(HostEvent.SchedulesList)
4493
4927
  * ```
4494
4928
  * @example
4495
4929
  * ```js
4496
4930
  * // Manage schedules from liveboard context
4497
4931
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
4498
- * liveboardEmbed.trigger(HostEvent.ScheduleList, {}, ContextType.Liveboard);
4932
+ * liveboardEmbed.trigger(HostEvent.SchedulesList, {}, ContextType.Liveboard);
4499
4933
  * ```
4500
4934
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
4501
4935
  */
@@ -4940,6 +5374,7 @@ export enum HostEvent {
4940
5374
  * console.log(tml.answer);
4941
5375
  * });
4942
5376
  * ```
5377
+ * @returns The TML representation of the current Answer, as an object.
4943
5378
  * @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
4944
5379
  * @important
4945
5380
  */
@@ -5364,13 +5799,13 @@ export enum HostEvent {
5364
5799
  /**
5365
5800
  * Get details of filters applied on the Liveboard.
5366
5801
  * Returns arrays containing Liveboard filter and runtime filter elements.
5367
- * Each Liveboard filter may include an `applicability` attribute
5802
+ * Each Liveboard filter includes an optional `applicability` attribute
5368
5803
  * indicating the scope of the filter. It contains a `level`
5369
5804
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
5370
5805
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
5371
5806
  * level there is no `targetId`, since the filter applies to the
5372
5807
  * whole Liveboard.
5373
- * The `applicability` attribute is available from SDK: 1.51.0 |
5808
+ * The `applicability` attribute is available from SDK: 1.53.0 |
5374
5809
  * ThoughtSpot: 26.10.0.cl.
5375
5810
  * @example
5376
5811
  * ```js
@@ -5384,6 +5819,8 @@ export enum HostEvent {
5384
5819
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters, {}, ContextType.Liveboard);
5385
5820
  * console.log('filters', data);
5386
5821
  * ```
5822
+ * @returns liveboardFilters - Filters applied on the Liveboard.
5823
+ * @returns runtimeFilters - Runtime filters applied on the Liveboard.
5387
5824
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
5388
5825
  */
5389
5826
  GetFilters = 'getFilters',
@@ -5413,7 +5850,7 @@ export enum HostEvent {
5413
5850
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
5414
5851
  *
5415
5852
  * `applicability` - Optional. Scopes the filter to a specific target,
5416
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
5853
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
5417
5854
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
5418
5855
  *
5419
5856
  * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -5533,9 +5970,37 @@ export enum HostEvent {
5533
5970
  * console.log('tabs', tabDetails);
5534
5971
  * });
5535
5972
  * ```
5973
+ * @returns orderedTabIds - Tab GUIDs in the order they appear.
5974
+ * @returns numberOfTabs - Total number of tabs on the Liveboard.
5975
+ * @returns Tabs - Tab details, each with at least `id` and `name`.
5536
5976
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
5537
5977
  */
5538
5978
  GetTabs = 'getTabs',
5979
+ /**
5980
+ * Get group details for the current Liveboard.
5981
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
5982
+ * @example
5983
+ * ```js
5984
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
5985
+ * console.log(
5986
+ * groupDetails // GroupDetails of current Liveboard
5987
+ * );
5988
+ * })
5989
+ * ```
5990
+ * @example
5991
+ * ```js
5992
+ * // Get groups from liveboard context
5993
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5994
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
5995
+ * console.log('groups', groupDetails);
5996
+ * });
5997
+ * ```
5998
+ * @returns orderedGroupIds - Group GUIDs in the order they appear.
5999
+ * @returns numberOfGroups - Total number of groups on the Liveboard.
6000
+ * @returns Groups - Group details, each with at least `id` and `name`.
6001
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
6002
+ */
6003
+ GetGroups = 'getGroups',
5539
6004
  /**
5540
6005
  * Set the visible tabs on a Liveboard.
5541
6006
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -5607,6 +6072,9 @@ export enum HostEvent {
5607
6072
  * // Alternative direct usage (not recommended)
5608
6073
  * const {session} = await embed.trigger( HostEvent.GetAnswerSession )
5609
6074
  * ```
6075
+ * @returns session - Session identifier for the Answer, for use with the
6076
+ * `AnswerService`.
6077
+ * @returns embedAnswerData - Data backing the Answer, when available.
5610
6078
  * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
5611
6079
  */
5612
6080
  GetAnswerSession = 'getAnswerSession',
@@ -5664,7 +6132,7 @@ export enum HostEvent {
5664
6132
  * - `value`: The value to set for the parameter.
5665
6133
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
5666
6134
  * - `applicability`: Optional. Scopes the parameter to a specific target,
5667
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
6135
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
5668
6136
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
5669
6137
  *
5670
6138
  * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -5708,13 +6176,13 @@ export enum HostEvent {
5708
6176
  UpdateParameters = 'UpdateParameters',
5709
6177
  /**
5710
6178
  * Triggers GetParameters to fetch the runtime Parameters.
5711
- * Each parameter may include an `applicability` attribute
6179
+ * Each parameter includes an optional `applicability` attribute
5712
6180
  * indicating the scope of the parameter. It contains a `level`
5713
6181
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
5714
6182
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
5715
6183
  * level there is no `targetId`, since the parameter applies to the
5716
6184
  * whole Liveboard.
5717
- * The `applicability` attribute is available from SDK: 1.51.0 |
6185
+ * The `applicability` attribute is available from SDK: 1.53.0 |
5718
6186
  * ThoughtSpot: 26.10.0.cl.
5719
6187
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
5720
6188
  * ```js
@@ -5740,12 +6208,16 @@ export enum HostEvent {
5740
6208
  * console.log('parameters', parameters);
5741
6209
  * });
5742
6210
  * ```
6211
+ * @returns parameters - Parameters currently applied on the Liveboard.
5743
6212
  * @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
5744
6213
  */
5745
6214
  GetParameters = 'GetParameters',
5746
6215
  /**
5747
6216
  * Triggers an event to update a personalized view of a Liveboard.
5748
- * This event is deprecated. Use {@link HostEvent.UpdatePersonalizedView} instead.
6217
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
6218
+ * which additionally accepts a `viewName`, resets to the original view when
6219
+ * called with an empty payload, and reports an error when a named view
6220
+ * cannot be found.
5749
6221
  * ```js
5750
6222
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
5751
6223
  * ```
@@ -5763,10 +6235,15 @@ export enum HostEvent {
5763
6235
  UpdatePersonalisedView = 'UpdatePersonalisedView',
5764
6236
  /**
5765
6237
  * Triggers an event to update a personalized view of a Liveboard.
6238
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
6239
+ * which additionally accepts a `viewName`, resets to the original view when
6240
+ * called with an empty payload, and reports an error when a named view
6241
+ * cannot be found.
5766
6242
  * ```js
5767
6243
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
5768
6244
  * ```
5769
6245
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
6246
+ * @deprecated SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5770
6247
  */
5771
6248
  UpdatePersonalizedView = UpdatePersonalisedView,
5772
6249
  /**
@@ -5869,6 +6346,10 @@ export enum HostEvent {
5869
6346
  * description: "Generated from Spotter"
5870
6347
  * }, ContextType.Spotter);
5871
6348
  * ```
6349
+ * @returns answerId - GUID of the saved Answer.
6350
+ * @returns saveResponse - Raw response from the save operation.
6351
+ * @returns shareResponse - Raw response from the share operation, when the
6352
+ * Answer was also made discoverable.
5872
6353
  * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
5873
6354
  */
5874
6355
  SaveAnswer = 'saveAnswer',
@@ -5982,6 +6463,36 @@ export enum HostEvent {
5982
6463
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
5983
6464
  */
5984
6465
  ResetSpotterConversation = 'ResetSpotterConversation',
6466
+ /**
6467
+ * Opens the Spotter share-conversation modal for the given conversation.
6468
+ * `conversationId` is **mandatory** — you must pass the id of the
6469
+ * conversation to share. Also no-op when sharing is disabled
6470
+ * (enableShareConversation off) or when already in the read-only shared view.
6471
+ * @example
6472
+ * ```js
6473
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
6474
+ * ```
6475
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6476
+ */
6477
+ ShareSpotterConversation = 'ShareSpotterConversation',
6478
+ /**
6479
+ * Closes the Spotter share-conversation modal. No-op if none is open.
6480
+ * @example
6481
+ * ```js
6482
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
6483
+ * ```
6484
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6485
+ */
6486
+ CloseSpotterShareConversation = 'CloseSpotterShareConversation',
6487
+ /**
6488
+ * Exits the read-only shared-conversation view.
6489
+ * @example
6490
+ * ```js
6491
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
6492
+ * ```
6493
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6494
+ */
6495
+ ExitSpotterSharedConversation = 'ExitSpotterSharedConversation',
5985
6496
  /**
5986
6497
  * Deletes the last prompt in spotter embed.
5987
6498
  * @example
@@ -6079,6 +6590,43 @@ export enum HostEvent {
6079
6590
  */
6080
6591
  StartNewSpotterConversation = 'StartNewSpotterConversation',
6081
6592
 
6593
+ /**
6594
+ * Pins a saved Spotter conversation so it floats to the top of the past
6595
+ * conversations sidebar. The `conversationId` of the conversation to pin is
6596
+ * required.
6597
+ *
6598
+ * This feature is available only when chat history is enabled on your ThoughtSpot
6599
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
6600
+ * instance.
6601
+ *
6602
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6603
+ * @example
6604
+ * ```js
6605
+ * spotterEmbed.trigger(HostEvent.PinSpotterConversation, {
6606
+ * conversationId: '<conversation-id>',
6607
+ * });
6608
+ * ```
6609
+ */
6610
+ PinSpotterConversation = 'PinSpotterConversation',
6611
+
6612
+ /**
6613
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
6614
+ * conversation to unpin is required.
6615
+ *
6616
+ * This feature is available only when chat history is enabled on your ThoughtSpot
6617
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
6618
+ * instance.
6619
+ *
6620
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6621
+ * @example
6622
+ * ```js
6623
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
6624
+ * conversationId: '<conversation-id>',
6625
+ * });
6626
+ * ```
6627
+ */
6628
+ UnpinSpotterConversation = 'UnpinSpotterConversation',
6629
+
6082
6630
  /**
6083
6631
  * @hidden
6084
6632
  * Get the current context of the embedded page.
@@ -6294,6 +6842,7 @@ export enum Param {
6294
6842
  NumberFormatLocale = 'numberFormatLocale',
6295
6843
  CurrencyFormat = 'currencyFormat',
6296
6844
  Enable2ColumnLayout = 'enable2ColumnLayout',
6845
+ IsLiveboardAlwaysOn12ColLayout = 'isLiveboardAlwaysOn12ColLayout',
6297
6846
  IsFullAppEmbed = 'isFullAppEmbed',
6298
6847
  IsOnBeforeGetVizDataInterceptEnabled = 'isOnBeforeGetVizDataInterceptEnabled',
6299
6848
  FocusSearchBarOnRender = 'focusSearchBarOnRender',
@@ -6317,6 +6866,7 @@ export enum Param {
6317
6866
  PrimaryAction = 'primaryAction',
6318
6867
  isSpotterAgentEmbed = 'isSpotterAgentEmbed',
6319
6868
  IsLiveboardStylingAndGroupingEnabled = 'isLiveboardStylingAndGroupingEnabled',
6869
+ LiveboardGutter = 'liveboardGutter',
6320
6870
  IsLazyLoadingForEmbedEnabled = 'isLazyLoadingForEmbedEnabled',
6321
6871
  RootMarginForLazyLoad = 'rootMarginForLazyLoad',
6322
6872
  isPNGInScheduledEmailsEnabled = 'isPNGInScheduledEmailsEnabled',
@@ -6325,9 +6875,11 @@ export enum Param {
6325
6875
  isGranularXLSXCSVSchedulesEnabled = 'isGranularXLSXCSVSchedulesEnabled',
6326
6876
  isSendNowLiveboardSchedulingEnabled = 'isSendNowLiveboardSchedulingEnabled',
6327
6877
  isCentralizedLiveboardFilterUXEnabled = 'isCentralizedLiveboardFilterUXEnabled',
6878
+ isScopedLiveboardFilteringEnabled = 'isScopedLiveboardFilteringEnabled',
6328
6879
  isLinkParametersEnabled = 'isLinkParametersEnabled',
6329
6880
  EnablePastConversationsSidebar = 'enablePastConversationsSidebar',
6330
6881
  UpdatedSpotterChatPrompt = 'updatedSpotterChatPrompt',
6882
+ ShowSpotterRadiance = 'showSpotterRadiance',
6331
6883
  DefaultQueryMode = 'defaultQueryMode',
6332
6884
  EnableStopAnswerGenerationEmbed = 'enableStopAnswerGenerationEmbed',
6333
6885
  SpotterSidebarTitle = 'spotterSidebarTitle',
@@ -6348,6 +6900,10 @@ export enum Param {
6348
6900
  SpotterFileUploadEnabled = 'spotterFileUploadEnabled',
6349
6901
  SpotterFileUploadFileTypes = 'spotterFileUploadFileTypes',
6350
6902
  IsStarterPromptsEnabled = 'enableStarterPrompts',
6903
+ UpdatedSpotterExperience = 'updatedSpotterExperience',
6904
+ SpotterDataSources = 'spotterDataSources',
6905
+ AnalystId = 'analystId',
6906
+ OpenSpotterOnLiveboardByDefault = 'openSpotterOnLiveboardByDefault',
6351
6907
  }
6352
6908
 
6353
6909
  /**
@@ -6362,9 +6918,10 @@ export type SpotterFileUploadFileTypes = {
6362
6918
  * ThoughtSpot application pages include actions and menu commands
6363
6919
  * for various user-initiated operations. These actions are represented
6364
6920
  * as enumeration members in the SDK. To control actions in the embedded view:
6365
- * - disabledActions — the action is grayed out and still visible, but non-interactive (user can see but not click).
6366
- * - hiddenActions — the action is completely removed from the UI (user cannot see it at all).
6367
- * - visibleActions — allowlist, only these actions are shown; all others are hidden.
6921
+ * - disabledActions — the action is grayed out and still visible, but non-interactive
6922
+ * (user can see but not click). - hiddenActions — the action is completely removed from
6923
+ * the UI (user cannot see it at all). - visibleActions — allowlist, only these actions
6924
+ * are shown; all others are hidden.
6368
6925
  *
6369
6926
  * Use disabledActions to disable (gray out) an action.
6370
6927
  * Use hiddenActions to hide (fully remove) an action.
@@ -6418,6 +6975,17 @@ export enum Action {
6418
6975
  * ```
6419
6976
  */
6420
6977
  SaveAsView = 'saveAsView',
6978
+ /**
6979
+ * The **EditInputTable** action on a Liveboard
6980
+ * page. Allows users to edit an input table used in an Answer directly from
6981
+ * a Liveboard.
6982
+ * @example
6983
+ * ```js
6984
+ * disabledActions: [Action.EditInputTable]
6985
+ * ```
6986
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6987
+ */
6988
+ EditInputTable = 'editInputTable',
6421
6989
  /**
6422
6990
  * The **Make a copy** action on a Liveboard or Answer
6423
6991
  * page. Creates a copy of the Liveboard.
@@ -7638,6 +8206,20 @@ export enum Action {
7638
8206
  */
7639
8207
  ChangeFilterVisibilityInTab = 'changeFilterVisibilityInTab',
7640
8208
 
8209
+ /**
8210
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
8211
+ * including filter, parameter, and cross-filter chips at the liveboard,
8212
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
8213
+ *
8214
+ * @example
8215
+ * ```js
8216
+ * hiddenActions: [Action.AllLiveboardFilters]
8217
+ * disabledActions: [Action.AllLiveboardFilters]
8218
+ * ```
8219
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
8220
+ */
8221
+ AllLiveboardFilters = 'allLiveboardFilters',
8222
+
7641
8223
  /**
7642
8224
  * The **Data model instructions** button on the Spotter interface.
7643
8225
  * Allows opening the data model instructions modal.
@@ -7741,6 +8323,10 @@ export enum Action {
7741
8323
  * The **Add to Coaching** feature allows adding reference questions and
7742
8324
  * business terms to improve Spotter’s responses. This feature is generally available
7743
8325
  * (GA) from version 26.2.0.cl and enabled by default on embed deployments.
8326
+ *
8327
+ * This action governs both the answer-card **Add to memory** CTA and its
8328
+ * Spotter 3 successor, the response-footer **Remember this** CTA
8329
+ * (they are mutually exclusive).
7744
8330
  * @example
7745
8331
  * ```js
7746
8332
  * hiddenAction: [Action.InConversationTraining]
@@ -7975,6 +8561,89 @@ export enum Action {
7975
8561
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
7976
8562
  */
7977
8563
  SpotterChatRename = 'spotterChatRename',
8564
+ /**
8565
+ * Controls visibility and disable state of the Spotter conversation Share
8566
+ * button in the chat header. Only takes effect once sharing is enabled
8567
+ * (enableShareConversation on).
8568
+ * @example
8569
+ * ```js
8570
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
8571
+ * ```
8572
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8573
+ */
8574
+ SpotterShareConversationButtonHeader = 'spotterShareConversationButtonHeader',
8575
+ /**
8576
+ * Controls visibility and disable state of the Share item in the Spotter
8577
+ * conversation history (sidebar) edit menu. Independent of the header button
8578
+ * above, so a host can show Share in one entry point and hide it in the other.
8579
+ * @example
8580
+ * ```js
8581
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
8582
+ * ```
8583
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8584
+ */
8585
+ SpotterShareConversationMenuItemSidebar = 'spotterShareConversationMenuItemSidebar',
8586
+ /**
8587
+ * Controls visibility of the entire read-only shared-conversation data-access
8588
+ * banner shown when a recipient opens a shared view. Hide-only.
8589
+ * @example
8590
+ * ```js
8591
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
8592
+ * ```
8593
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8594
+ */
8595
+ SpotterSharedConversationBanner = 'spotterSharedConversationBanner',
8596
+ /**
8597
+ * Controls visibility and disable state of the cross/close button on the
8598
+ * read-only shared-conversation data-access banner (keeps the banner itself).
8599
+ * @example
8600
+ * ```js
8601
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
8602
+ * ```
8603
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8604
+ */
8605
+ SpotterSharedConversationBannerDismissButton = 'spotterSharedConversationBannerDismissButton',
8606
+ /**
8607
+ * Controls visibility and disable state of the Exit button in the read-only
8608
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
8609
+ * host event.
8610
+ * @example
8611
+ * ```js
8612
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
8613
+ * ```
8614
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8615
+ */
8616
+ SpotterSharedConversationExitButton = 'spotterSharedConversationExitButton',
8617
+ /**
8618
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
8619
+ * to the current moment…"). Hide-only.
8620
+ * @example
8621
+ * ```js
8622
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
8623
+ * ```
8624
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8625
+ */
8626
+ SpotterShareUpToCurrentInfo = 'spotterShareUpToCurrentInfo',
8627
+ /**
8628
+ * Controls visibility and disable state of the share-modal "include new
8629
+ * messages since last shared version" checkbox.
8630
+ * @example
8631
+ * ```js
8632
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
8633
+ * ```
8634
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8635
+ */
8636
+ SpotterShareIncludeNewMessagesCheckbox = 'spotterShareIncludeNewMessagesCheckbox',
8637
+ /**
8638
+ * Controls visibility and disable state of the cross on the share-modal
8639
+ * stale-snapshot info banner.
8640
+ * @example
8641
+ * ```js
8642
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
8643
+ * ```
8644
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8645
+ */
8646
+ SpotterShareStaleInfoBannerDismissButton = 'spotterShareStaleInfoBannerDismissButton',
7978
8647
  /**
7979
8648
  * Controls visibility and disable state of the delete action
7980
8649
  * in the Spotter conversation edit menu.
@@ -7985,6 +8654,16 @@ export enum Action {
7985
8654
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
7986
8655
  */
7987
8656
  SpotterChatDelete = 'spotterChatDelete',
8657
+ /**
8658
+ * Controls visibility and disable state of the pin/unpin action
8659
+ * in the Spotter conversation edit menu.
8660
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
8661
+ * @example
8662
+ * ```js
8663
+ * disabledActions: [Action.SpotterChatPin]
8664
+ * ```
8665
+ */
8666
+ SpotterChatPin = 'spotterChatPin',
7988
8667
  /**
7989
8668
  * Controls visibility and disable state of the documentation/best practices
7990
8669
  * link in the Spotter sidebar footer.
@@ -8028,6 +8707,56 @@ export enum Action {
8028
8707
  * @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
8029
8708
  */
8030
8709
  SpotterChatModeSwitcher = 'spotterChatModeSwitcher',
8710
+ /**
8711
+ * The **Basic Search** starter prompt pill.
8712
+ *
8713
+ * Starter prompt pills are the row of category buttons shown above the
8714
+ * Spotter chat input before a conversation starts. They give a new user
8715
+ * ready-made questions to click instead of typing one from scratch, and
8716
+ * disappear once the conversation begins. There are three, one per action
8717
+ * below.
8718
+ *
8719
+ * Clicking this pill opens a card of suggested simple questions; picking one
8720
+ * submits it to Spotter right away. Visible by default, and hidden along
8721
+ * with the other pills when the surface itself is off (see
8722
+ * {@link SpotterChatViewConfig.starterPrompts}).
8723
+ * @example
8724
+ * ```js
8725
+ * hiddenActions: [Action.QuickSearchPill]
8726
+ * ```
8727
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8728
+ */
8729
+ QuickSearchPill = 'quickSearchPill',
8730
+ /**
8731
+ * The **Deep Analysis** starter prompt pill, next to
8732
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
8733
+ *
8734
+ * Clicking it opens a card of suggested investigative questions ("why did
8735
+ * revenue drop?"). Picking one fills the chat input in Deep Analysis mode
8736
+ * rather than submitting immediately, so the user can edit it first.
8737
+ * Visible by default.
8738
+ * @example
8739
+ * ```js
8740
+ * hiddenActions: [Action.DeepAnalysisPill]
8741
+ * ```
8742
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8743
+ */
8744
+ DeepAnalysisPill = 'deepAnalysisPill',
8745
+ /**
8746
+ * The **Data Literacy** starter prompt pill, next to
8747
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
8748
+ *
8749
+ * Unlike the other two pills it opens no card: clicking it submits a prompt
8750
+ * that describes the data the model can answer over, helping a user who does
8751
+ * not yet know what is in the data source. The prompt text always comes from
8752
+ * ThoughtSpot, so only its label is customizable. Visible by default.
8753
+ * @example
8754
+ * ```js
8755
+ * hiddenActions: [Action.DataLiteracyPill]
8756
+ * ```
8757
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8758
+ */
8759
+ DataLiteracyPill = 'dataLiteracyPill',
8031
8760
  /**
8032
8761
  * The **Include current period** checkbox for date filters.
8033
8762
  * Controls the visibility and availability of the option to include
@@ -8179,6 +8908,38 @@ export enum Action {
8179
8908
  * ```
8180
8909
  */
8181
8910
  SpotterAnalystSidebar = 'spotterAnalystSidebar',
8911
+ /**
8912
+ * Controls visibility and disable state of the analyst list
8913
+ * ("Show all") in the Spotter Analyst interface.
8914
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
8915
+ * @example
8916
+ * ```js
8917
+ * hiddenActions: [Action.SpotterAnalystList]
8918
+ * disabledActions: [Action.SpotterAnalystList]
8919
+ * ```
8920
+ */
8921
+ SpotterAnalystList = 'spotterAnalystList',
8922
+ /**
8923
+ * Controls visibility and disable state of the default Spotter analyst
8924
+ * entry in the Spotter Analyst interface.
8925
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
8926
+ * @example
8927
+ * ```js
8928
+ * hiddenActions: [Action.SpotterDefaultAnalyst]
8929
+ * disabledActions: [Action.SpotterDefaultAnalyst]
8930
+ * ```
8931
+ */
8932
+ SpotterDefaultAnalyst = 'spotterDefaultAnalyst',
8933
+ /**
8934
+ * The **Spotter** button in the Liveboard header.
8935
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
8936
+ * @example
8937
+ * ```js
8938
+ * hiddenActions: [Action.SpotterOnLiveboard]
8939
+ * disabledActions: [Action.SpotterOnLiveboard]
8940
+ * ```
8941
+ */
8942
+ SpotterOnLiveboard = 'spotterOnLiveboard',
8182
8943
  }
8183
8944
  export interface AnswerServiceType {
8184
8945
  getAnswer?: (offset: number, batchSize: number) => any;
@@ -8713,7 +9474,7 @@ export type ApiInterceptFlags = {
8713
9474
  * const embed = new LiveboardEmbed('#embed', {
8714
9475
  * ...viewConfig,
8715
9476
  * enableApiIntercept: true,
8716
- * interceptUrls: [InterceptedApiType.DATA],
9477
+ * interceptUrls: [InterceptedApiType.LiveboardData],
8717
9478
  * })
8718
9479
  * ```
8719
9480
  *