@thoughtspot/visual-embed-sdk 1.50.1 → 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 (156) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/css-variables.d.ts +36 -0
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +106 -14
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +47 -36
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +318 -149
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/conversation.d.ts +204 -1
  11. package/cjs/src/embed/conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/conversation.js +19 -15
  13. package/cjs/src/embed/conversation.js.map +1 -1
  14. package/cjs/src/embed/conversation.spec.js +198 -17
  15. package/cjs/src/embed/conversation.spec.js.map +1 -1
  16. package/cjs/src/embed/events.spec.js +42 -0
  17. package/cjs/src/embed/events.spec.js.map +1 -1
  18. package/cjs/src/embed/host-events.spec.js +45 -0
  19. package/cjs/src/embed/host-events.spec.js.map +1 -1
  20. package/cjs/src/embed/hostEventClient/contracts.d.ts +15 -0
  21. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  22. package/cjs/src/embed/hostEventClient/contracts.js +1 -0
  23. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  24. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  25. package/cjs/src/embed/hostEventClient/host-event-client.js +1 -0
  26. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  27. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +9 -0
  28. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  29. package/cjs/src/embed/liveboard.d.ts +36 -1
  30. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  31. package/cjs/src/embed/liveboard.js +26 -6
  32. package/cjs/src/embed/liveboard.js.map +1 -1
  33. package/cjs/src/embed/liveboard.spec.js +83 -2
  34. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  35. package/cjs/src/embed/spotter-utils.d.ts +8 -1
  36. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  37. package/cjs/src/embed/spotter-utils.js +14 -1
  38. package/cjs/src/embed/spotter-utils.js.map +1 -1
  39. package/cjs/src/embed/spotter-utils.spec.js +61 -0
  40. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  41. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  42. package/cjs/src/embed/ts-embed.js +15 -0
  43. package/cjs/src/embed/ts-embed.js.map +1 -1
  44. package/cjs/src/index.d.ts +2 -2
  45. package/cjs/src/index.d.ts.map +1 -1
  46. package/cjs/src/index.js.map +1 -1
  47. package/cjs/src/mixpanel-service.d.ts +4 -0
  48. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  49. package/cjs/src/mixpanel-service.js +4 -0
  50. package/cjs/src/mixpanel-service.js.map +1 -1
  51. package/cjs/src/types.d.ts +460 -15
  52. package/cjs/src/types.d.ts.map +1 -1
  53. package/cjs/src/types.js +428 -8
  54. package/cjs/src/types.js.map +1 -1
  55. package/dist/{index-fCne7kmU.js → index-aBzH5ZwF.js} +1 -1
  56. package/dist/src/css-variables.d.ts +36 -0
  57. package/dist/src/css-variables.d.ts.map +1 -1
  58. package/dist/src/embed/app.d.ts +106 -14
  59. package/dist/src/embed/app.d.ts.map +1 -1
  60. package/dist/src/embed/conversation.d.ts +204 -1
  61. package/dist/src/embed/conversation.d.ts.map +1 -1
  62. package/dist/src/embed/hostEventClient/contracts.d.ts +15 -0
  63. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  64. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  65. package/dist/src/embed/liveboard.d.ts +36 -1
  66. package/dist/src/embed/liveboard.d.ts.map +1 -1
  67. package/dist/src/embed/spotter-utils.d.ts +8 -1
  68. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  69. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  70. package/dist/src/index.d.ts +2 -2
  71. package/dist/src/index.d.ts.map +1 -1
  72. package/dist/src/mixpanel-service.d.ts +4 -0
  73. package/dist/src/mixpanel-service.d.ts.map +1 -1
  74. package/dist/src/types.d.ts +460 -15
  75. package/dist/src/types.d.ts.map +1 -1
  76. package/dist/tsembed-react.es.js +558 -69
  77. package/dist/tsembed-react.js +557 -68
  78. package/dist/tsembed.es.js +556 -68
  79. package/dist/tsembed.js +555 -67
  80. package/dist/visual-embed-sdk-react-full.d.ts +845 -27
  81. package/dist/visual-embed-sdk-react.d.ts +851 -29
  82. package/dist/visual-embed-sdk.d.ts +855 -29
  83. package/lib/package.json +1 -1
  84. package/lib/src/css-variables.d.ts +36 -0
  85. package/lib/src/css-variables.d.ts.map +1 -1
  86. package/lib/src/embed/app.d.ts +106 -14
  87. package/lib/src/embed/app.d.ts.map +1 -1
  88. package/lib/src/embed/app.js +48 -37
  89. package/lib/src/embed/app.js.map +1 -1
  90. package/lib/src/embed/app.spec.js +319 -150
  91. package/lib/src/embed/app.spec.js.map +1 -1
  92. package/lib/src/embed/conversation.d.ts +204 -1
  93. package/lib/src/embed/conversation.d.ts.map +1 -1
  94. package/lib/src/embed/conversation.js +21 -17
  95. package/lib/src/embed/conversation.js.map +1 -1
  96. package/lib/src/embed/conversation.spec.js +198 -17
  97. package/lib/src/embed/conversation.spec.js.map +1 -1
  98. package/lib/src/embed/events.spec.js +42 -0
  99. package/lib/src/embed/events.spec.js.map +1 -1
  100. package/lib/src/embed/host-events.spec.js +45 -0
  101. package/lib/src/embed/host-events.spec.js.map +1 -1
  102. package/lib/src/embed/hostEventClient/contracts.d.ts +15 -0
  103. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  104. package/lib/src/embed/hostEventClient/contracts.js +1 -0
  105. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  106. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  107. package/lib/src/embed/hostEventClient/host-event-client.js +1 -0
  108. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  109. package/lib/src/embed/hostEventClient/host-event-client.spec.js +9 -0
  110. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  111. package/lib/src/embed/liveboard.d.ts +36 -1
  112. package/lib/src/embed/liveboard.d.ts.map +1 -1
  113. package/lib/src/embed/liveboard.js +26 -6
  114. package/lib/src/embed/liveboard.js.map +1 -1
  115. package/lib/src/embed/liveboard.spec.js +83 -2
  116. package/lib/src/embed/liveboard.spec.js.map +1 -1
  117. package/lib/src/embed/spotter-utils.d.ts +8 -1
  118. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  119. package/lib/src/embed/spotter-utils.js +12 -0
  120. package/lib/src/embed/spotter-utils.js.map +1 -1
  121. package/lib/src/embed/spotter-utils.spec.js +62 -1
  122. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  123. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  124. package/lib/src/embed/ts-embed.js +15 -0
  125. package/lib/src/embed/ts-embed.js.map +1 -1
  126. package/lib/src/index.d.ts +2 -2
  127. package/lib/src/index.d.ts.map +1 -1
  128. package/lib/src/index.js.map +1 -1
  129. package/lib/src/mixpanel-service.d.ts +4 -0
  130. package/lib/src/mixpanel-service.d.ts.map +1 -1
  131. package/lib/src/mixpanel-service.js +4 -0
  132. package/lib/src/mixpanel-service.js.map +1 -1
  133. package/lib/src/types.d.ts +460 -15
  134. package/lib/src/types.d.ts.map +1 -1
  135. package/lib/src/types.js +428 -8
  136. package/lib/src/types.js.map +1 -1
  137. package/lib/src/visual-embed-sdk.d.ts +855 -29
  138. package/package.json +1 -1
  139. package/src/css-variables.ts +45 -0
  140. package/src/embed/app.spec.ts +390 -183
  141. package/src/embed/app.ts +172 -65
  142. package/src/embed/conversation.spec.ts +243 -20
  143. package/src/embed/conversation.ts +233 -17
  144. package/src/embed/events.spec.ts +52 -0
  145. package/src/embed/host-events.spec.ts +70 -0
  146. package/src/embed/hostEventClient/contracts.ts +16 -0
  147. package/src/embed/hostEventClient/host-event-client.spec.ts +12 -0
  148. package/src/embed/hostEventClient/host-event-client.ts +1 -0
  149. package/src/embed/liveboard.spec.ts +108 -2
  150. package/src/embed/liveboard.ts +76 -14
  151. package/src/embed/spotter-utils.spec.ts +68 -1
  152. package/src/embed/spotter-utils.ts +16 -1
  153. package/src/embed/ts-embed.ts +18 -0
  154. package/src/index.ts +2 -1
  155. package/src/mixpanel-service.ts +4 -0
  156. package/src/types.ts +462 -14
@@ -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
  */
@@ -1344,7 +1380,9 @@ declare enum AuthType {
1344
1380
  }
1345
1381
  /**
1346
1382
  *
1347
- * **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.
1348
1386
  *
1349
1387
  */
1350
1388
  export declare enum HomeLeftNavItem {
@@ -2727,7 +2765,9 @@ export interface HomePageConfig {
2727
2765
  * To specify the modules, import the `HomepageModule` enum.
2728
2766
  * For example: `hiddenHomepageModules = [HomepageModule.MyLibrary]`
2729
2767
  *
2730
- * **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.
2731
2771
  *
2732
2772
  * Supported embed types: `AppEmbed`
2733
2773
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2736,7 +2776,7 @@ export interface HomePageConfig {
2736
2776
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2737
2777
  *
2738
2778
  * const embed = new AppEmbed('#tsEmbed', {
2739
- * ... // V2/V3 navigation and home page experience attributes
2779
+ * ... // V3 navigation and home page experience attributes
2740
2780
  * hiddenHomepageModules : [HomepageModule.Favorite,HomepageModule.Learning],
2741
2781
  * //...other embed view configuration attributes
2742
2782
  * })
@@ -2747,8 +2787,11 @@ export interface HomePageConfig {
2747
2787
  * Reorder home page modules.
2748
2788
  * To specify the modules, import the `HomepageModule` enum.
2749
2789
  * For example: `reorderedHomepageModules = [HomepageModule.MyLibrary,
2750
- * HomepageModule.Watchlist]` **Note**: This attribute is not supported in the
2751
- * 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.
2752
2795
  *
2753
2796
  * Supported embed types: `AppEmbed`
2754
2797
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2757,7 +2800,7 @@ export interface HomePageConfig {
2757
2800
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2758
2801
  *
2759
2802
  * const embed = new AppEmbed('#tsEmbed', {
2760
- * ...//V2/V3 navigation and home page experience attributes
2803
+ * ...//V3 navigation and home page experience attributes
2761
2804
  * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary],
2762
2805
  * //... other embed view configuration attributes
2763
2806
  * })
@@ -2769,7 +2812,9 @@ export interface HomePageConfig {
2769
2812
  * on the home page left navigation panel.
2770
2813
  * To specify the menu items, import the `HomeLeftNavItem` enum.
2771
2814
  *
2772
- * **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.
2773
2818
  *
2774
2819
  * Supported embed types: `AppEmbed`
2775
2820
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -3145,6 +3190,24 @@ export interface LiveboardAppEmbedViewConfig {
3145
3190
  * ```
3146
3191
  */
3147
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;
3148
3211
  /**
3149
3212
  * This flag is used to enable or disable the link parameters in liveboard.
3150
3213
  *
@@ -3328,7 +3391,9 @@ export declare enum RuntimeFilterOp {
3328
3391
  * via `hiddenHomepageModules` and reordered via
3329
3392
  * `reorderedHomepageModules`.
3330
3393
  *
3331
- * **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.
3332
3397
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
3333
3398
  */
3334
3399
  export declare enum HomepageModule {
@@ -4317,11 +4382,19 @@ export declare enum EmbedEvent {
4317
4382
  * Emitted when a user changes any filter on a Liveboard.
4318
4383
  * Returns filter type and name, column name and ID, and runtime
4319
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.
4320
4392
  * @example
4321
4393
  *
4322
4394
  * ```js
4323
4395
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
4324
4396
  * console.log('payload', payload);
4397
+ * // payload.data optionally includes applicability: { level, targetId }
4325
4398
  * })
4326
4399
  * ```
4327
4400
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -4513,9 +4586,17 @@ export declare enum EmbedEvent {
4513
4586
  /**
4514
4587
  * Emitted when parameter changes in an Answer
4515
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.
4516
4596
  * ```js
4517
4597
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
4518
4598
  * console.log('payload', payload);
4599
+ * // payload.data optionally includes applicability: { level, targetId }
4519
4600
  * })
4520
4601
  * ```
4521
4602
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -4817,6 +4898,158 @@ export declare enum EmbedEvent {
4817
4898
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4818
4899
  */
4819
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",
4820
5053
  /**
4821
5054
  * Emitted when a Spotter conversation is selected/clicked.
4822
5055
  * @example
@@ -5332,6 +5565,17 @@ export declare enum HostEvent {
5332
5565
  * name: string,
5333
5566
  * type: ATTRIBUTE/MEASURE,
5334
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.
5335
5579
  * @example
5336
5580
  * ```js
5337
5581
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -5344,6 +5588,14 @@ export declare enum HostEvent {
5344
5588
  * ```
5345
5589
  * @example
5346
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
5347
5599
  * // Open filter from search context
5348
5600
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5349
5601
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -5353,6 +5605,38 @@ export declare enum HostEvent {
5353
5605
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
5354
5606
  */
5355
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",
5356
5640
  /**
5357
5641
  * Add columns to the current search query.
5358
5642
  * @param - { columnIds: string[] }
@@ -6416,13 +6700,13 @@ export declare enum HostEvent {
6416
6700
  /**
6417
6701
  * Get details of filters applied on the Liveboard.
6418
6702
  * Returns arrays containing Liveboard filter and runtime filter elements.
6419
- * Each Liveboard filter may include an `applicability` attribute
6703
+ * Each Liveboard filter includes an optional `applicability` attribute
6420
6704
  * indicating the scope of the filter. It contains a `level`
6421
6705
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
6422
6706
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
6423
6707
  * level there is no `targetId`, since the filter applies to the
6424
6708
  * whole Liveboard.
6425
- * The `applicability` attribute is available from SDK: 1.51.0 |
6709
+ * The `applicability` attribute is available from SDK: 1.53.0 |
6426
6710
  * ThoughtSpot: 26.10.0.cl.
6427
6711
  * @example
6428
6712
  * ```js
@@ -6465,7 +6749,7 @@ export declare enum HostEvent {
6465
6749
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
6466
6750
  *
6467
6751
  * `applicability` - Optional. Scopes the filter to a specific target,
6468
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
6752
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
6469
6753
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
6470
6754
  *
6471
6755
  * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -6588,6 +6872,28 @@ export declare enum HostEvent {
6588
6872
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
6589
6873
  */
6590
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",
6591
6897
  /**
6592
6898
  * Set the visible tabs on a Liveboard.
6593
6899
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -6716,7 +7022,7 @@ export declare enum HostEvent {
6716
7022
  * - `value`: The value to set for the parameter.
6717
7023
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
6718
7024
  * - `applicability`: Optional. Scopes the parameter to a specific target,
6719
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
7025
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
6720
7026
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
6721
7027
  *
6722
7028
  * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -6760,13 +7066,13 @@ export declare enum HostEvent {
6760
7066
  UpdateParameters = "UpdateParameters",
6761
7067
  /**
6762
7068
  * Triggers GetParameters to fetch the runtime Parameters.
6763
- * Each parameter may include an `applicability` attribute
7069
+ * Each parameter includes an optional `applicability` attribute
6764
7070
  * indicating the scope of the parameter. It contains a `level`
6765
7071
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
6766
7072
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
6767
7073
  * level there is no `targetId`, since the parameter applies to the
6768
7074
  * whole Liveboard.
6769
- * The `applicability` attribute is available from SDK: 1.51.0 |
7075
+ * The `applicability` attribute is available from SDK: 1.53.0 |
6770
7076
  * ThoughtSpot: 26.10.0.cl.
6771
7077
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
6772
7078
  * ```js
@@ -7034,6 +7340,36 @@ export declare enum HostEvent {
7034
7340
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
7035
7341
  */
7036
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",
7037
7373
  /**
7038
7374
  * Deletes the last prompt in spotter embed.
7039
7375
  * @example
@@ -7129,6 +7465,41 @@ export declare enum HostEvent {
7129
7465
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
7130
7466
  */
7131
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",
7132
7503
  /**
7133
7504
  * @hidden
7134
7505
  * Get the current context of the embedded page.
@@ -8477,6 +8848,19 @@ export declare enum Action {
8477
8848
  * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.6.0.cl
8478
8849
  */
8479
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",
8480
8864
  /**
8481
8865
  * The **Data model instructions** button on the Spotter interface.
8482
8866
  * Allows opening the data model instructions modal.
@@ -8812,6 +9196,89 @@ export declare enum Action {
8812
9196
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
8813
9197
  */
8814
9198
  SpotterChatRename = "spotterChatRename",
9199
+ /**
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).
9203
+ * @example
9204
+ * ```js
9205
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
9206
+ * ```
9207
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9208
+ */
9209
+ SpotterShareConversationButtonHeader = "spotterShareConversationButtonHeader",
9210
+ /**
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",
8815
9282
  /**
8816
9283
  * Controls visibility and disable state of the delete action
8817
9284
  * in the Spotter conversation edit menu.
@@ -8822,6 +9289,16 @@ export declare enum Action {
8822
9289
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
8823
9290
  */
8824
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",
8825
9302
  /**
8826
9303
  * Controls visibility and disable state of the documentation/best practices
8827
9304
  * link in the Spotter sidebar footer.
@@ -10000,6 +10477,11 @@ export interface LiveboardTab {
10000
10477
  name: string;
10001
10478
  [key: string]: any;
10002
10479
  }
10480
+ export interface LiveboardGroup {
10481
+ id: string;
10482
+ name: string;
10483
+ [key: string]: any;
10484
+ }
10003
10485
  declare enum ApplicabilityLevel {
10004
10486
  Liveboard = "LIVEBOARD",
10005
10487
  Tab = "TAB",
@@ -10045,6 +10527,7 @@ declare enum UIPassthroughEvent {
10045
10527
  GetParameters = "getParameters",
10046
10528
  GetTML = "getTML",
10047
10529
  GetTabs = "getTabs",
10530
+ GetGroups = "getGroups",
10048
10531
  GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
10049
10532
  }
10050
10533
  export type UIPassthroughContractBase = {
@@ -10154,6 +10637,14 @@ export type UIPassthroughContractBase = {
10154
10637
  Tabs: LiveboardTab[];
10155
10638
  };
10156
10639
  };
10640
+ [UIPassthroughEvent.GetGroups]: {
10641
+ request: Record<string, never>;
10642
+ response: {
10643
+ orderedGroupIds: string[];
10644
+ numberOfGroups: number;
10645
+ Groups: LiveboardGroup[];
10646
+ };
10647
+ };
10157
10648
  [UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
10158
10649
  request: Record<string, never>;
10159
10650
  response: {
@@ -10199,6 +10690,7 @@ export type EmbedApiHostEventMapping = {
10199
10690
  [HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
10200
10691
  [HostEvent.GetTML]: UIPassthroughEvent.GetTML;
10201
10692
  [HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
10693
+ [HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
10202
10694
  [HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
10203
10695
  };
10204
10696
  export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
@@ -11304,6 +11796,37 @@ declare enum SpotterQueryMode {
11304
11796
  FAST_SEARCH = "fastSearch",
11305
11797
  RESEARCH = "research"
11306
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
+ }
11307
11830
  /**
11308
11831
  * Configuration for the Spotter sidebar.
11309
11832
  * Can be used in SpotterEmbed and AppEmbed.
@@ -11341,6 +11864,12 @@ export interface SpotterSidebarViewConfig {
11341
11864
  * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
11342
11865
  */
11343
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;
11344
11873
  /**
11345
11874
  * Custom title text for the delete conversation confirmation modal.
11346
11875
  * Defaults to translated "Delete chat" text.
@@ -11391,6 +11920,84 @@ export interface SpotterSidebarViewConfig {
11391
11920
  */
11392
11921
  spotterAnalystsLabel?: string;
11393
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
+ }
11394
12001
  /**
11395
12002
  * Configuration for customizing Spotter chat UI branding.
11396
12003
  * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
@@ -11445,8 +12052,27 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11445
12052
  /**
11446
12053
  * The ID of the data source object. For example, Model, View, or Table. Spotter uses
11447
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.
11448
12057
  */
11449
- 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[];
11450
12076
  /**
11451
12077
  * Ability to pass a starting search query to the conversation.
11452
12078
  */
@@ -11606,6 +12232,21 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11606
12232
  * ```
11607
12233
  */
11608
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;
11609
12250
  /**
11610
12251
  * Sets the default query mode when Spotter loads — Fast Search or
11611
12252
  * Research Mode. Applies fresh on every new session for this embed
@@ -11682,6 +12323,59 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11682
12323
  * ```
11683
12324
  */
11684
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;
11685
12379
  }
11686
12380
  /**
11687
12381
  * The configuration for the embedded spotterEmbed options.
@@ -11698,6 +12392,7 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {
11698
12392
  export interface SpotterAppInitData extends DefaultAppInitData {
11699
12393
  embedParams?: {
11700
12394
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12395
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
11701
12396
  visualOverridesParams?: VisualizationOverrides | null;
11702
12397
  };
11703
12398
  }
@@ -11936,6 +12631,9 @@ declare enum HomePage {
11936
12631
  /**
11937
12632
  * Modular (v2) introduces the updated Modular Home Experience.
11938
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.
11939
12637
  */
11940
12638
  Modular = "v2",
11941
12639
  /**
@@ -12005,13 +12703,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12005
12703
  showPrimaryNavbar?: boolean;
12006
12704
  /**
12007
12705
  * Control the visibility of the left navigation panel on the home page
12008
- * in the V2 and V3 navigation and home page experience.
12706
+ * in the V3 and V4 navigation and home page experience.
12009
12707
  * If `showPrimaryNavbar` is true, that is, if the Global and Homepage
12010
12708
  * navigation bars are visible, this flag will only hide the left navigation bar
12011
12709
  * on the home page.
12012
12710
  * The `showPrimaryNavbar` flag takes precedence over the `hideHomepageLeftNav`.
12013
12711
  *
12014
- * **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.
12015
12714
  *
12016
12715
  * Supported embed types: `AppEmbed`
12017
12716
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -12077,11 +12776,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12077
12776
  hideHamburger?: boolean;
12078
12777
  /**
12079
12778
  * Control the visibility of the object search
12080
- * on the top navigation bar in the
12081
- * V2 and V3 navigation experience.
12779
+ * on the top navigation bar in the V3 navigation experience.
12082
12780
  *
12083
- * **Note**: This attribute is not supported
12084
- * 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.
12085
12783
  *
12086
12784
  * Supported embed types: `AppEmbed`
12087
12785
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -12099,8 +12797,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12099
12797
  * Control the visibility of the notification icon
12100
12798
  * on the top navigation bar in V3 navigation experience.
12101
12799
  *
12102
- * **Note**: This attribute is not supported
12103
- * 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.
12104
12802
  *
12105
12803
  * Supported embed types: `AppEmbed`
12106
12804
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -12115,14 +12813,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12115
12813
  */
12116
12814
  hideNotification?: boolean;
12117
12815
  /**
12118
- * Control the visibility of the application selection menu
12119
- * in the top navigation bar in the V2 experience.
12816
+ * Control the visibility of the application selection menu.
12120
12817
  * In the V3 experience, it shows or hides application selection
12121
12818
  * icons on the left navigation panel.
12122
12819
  * By default, the application selection menu and icons are
12123
12820
  * shown in the UI.
12124
12821
  *
12125
- * **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.
12126
12824
  *
12127
12825
  * Supported embed types: `AppEmbed`
12128
12826
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -12140,7 +12838,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12140
12838
  * Control the visibility of the Org switcher button on the nav-bar.
12141
12839
  * By default, the Org switcher button is shown.
12142
12840
  *
12143
- * **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.
12144
12843
  *
12145
12844
  * Supported embed types: `AppEmbed`
12146
12845
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -12299,6 +12998,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12299
12998
  * Supported embed types: `AppEmbed`
12300
12999
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
12301
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.
12302
13005
  * @example
12303
13006
  * ```js
12304
13007
  * const embed = new AppEmbed('#tsEmbed', {
@@ -12430,11 +13133,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12430
13133
  /**
12431
13134
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
12432
13135
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
12433
- * 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.
12434
13137
  *
12435
13138
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12436
13139
  * @type {boolean}
12437
13140
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
13141
+ * @default true
12438
13142
  * @example
12439
13143
  * ```js
12440
13144
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12447,10 +13151,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12447
13151
  isContinuousLiveboardPDFEnabled?: boolean;
12448
13152
  /**
12449
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
12450
13155
  *
12451
13156
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12452
13157
  * @type {boolean}
12453
13158
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13159
+ * @default true
12454
13160
  * @example
12455
13161
  * ```js
12456
13162
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12463,10 +13169,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12463
13169
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
12464
13170
  /**
12465
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
12466
13173
  *
12467
13174
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12468
13175
  * @type {boolean}
12469
13176
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13177
+ * @default true
12470
13178
  * @example
12471
13179
  * ```js
12472
13180
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12542,6 +13250,21 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12542
13250
  * ```
12543
13251
  */
12544
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;
12545
13268
  /**
12546
13269
  * Sets the default query mode when Spotter loads — Fast Search or
12547
13270
  * Research Mode. Applies fresh on every new session for this embed
@@ -12586,6 +13309,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12586
13309
  * spotterSidebarConfig: {
12587
13310
  * enablePastConversationsSidebar: true,
12588
13311
  * spotterSidebarTitle: 'My Conversations',
13312
+ * // Opt in to pin/unpin conversations in embedded Spotter
13313
+ * spotterChatPinConfig: {
13314
+ * enabled: true,
13315
+ * },
12589
13316
  * },
12590
13317
  * })
12591
13318
  * ```
@@ -12609,6 +13336,49 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12609
13336
  * ```
12610
13337
  */
12611
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[];
12612
13382
  /**
12613
13383
  * Configuration for the SpotterViz interface shown on the Liveboard.
12614
13384
  * Customize the brand name, description, chat input placeholder,
@@ -12704,6 +13474,21 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12704
13474
  * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12705
13475
  */
12706
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;
12707
13492
  }
12708
13493
  /**
12709
13494
  * APP_INIT data shape for AppEmbed.
@@ -12713,6 +13498,7 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
12713
13498
  embedParams?: {
12714
13499
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12715
13500
  spotterVizConfig?: SpotterVizConfig;
13501
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
12716
13502
  };
12717
13503
  }
12718
13504
  declare class AppEmbed extends V1Embed {
@@ -12739,6 +13525,7 @@ declare class AppEmbed extends V1Embed {
12739
13525
  * embedded Liveboard or visualization.
12740
13526
  */
12741
13527
  protected getEmbedParams(): string;
13528
+ protected getEmbedParamsObject(): any;
12742
13529
  private sendFullHeightLazyLoadData;
12743
13530
  /**
12744
13531
  * This is a handler for the RequestVisibleEmbedCoordinates event.
@@ -13163,11 +13950,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13163
13950
  /**
13164
13951
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
13165
13952
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
13166
- * 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.
13167
13954
  *
13168
13955
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
13169
13956
  * @type {boolean}
13170
13957
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
13958
+ * @default true
13171
13959
  * @example
13172
13960
  * ```js
13173
13961
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -13180,10 +13968,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13180
13968
  isContinuousLiveboardPDFEnabled?: boolean;
13181
13969
  /**
13182
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.
13183
13972
  *
13184
13973
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
13185
13974
  * @type {boolean}
13186
13975
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13976
+ * @default true
13187
13977
  * @example
13188
13978
  * ```js
13189
13979
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -13196,10 +13986,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13196
13986
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
13197
13987
  /**
13198
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.
13199
13990
  *
13200
13991
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
13201
13992
  * @type {boolean}
13202
13993
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13994
+ * @default true
13203
13995
  * @example
13204
13996
  * ```js
13205
13997
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -13290,6 +14082,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13290
14082
  * ```
13291
14083
  */
13292
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;
13293
14100
  /**
13294
14101
  * Enables the stop answer generation button in the Spotter embed UI,
13295
14102
  * allowing users to interrupt an ongoing answer generation.
@@ -13365,6 +14172,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13365
14172
  * ```
13366
14173
  */
13367
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;
13368
14190
  }
13369
14191
  declare class LiveboardEmbed extends V1Embed {
13370
14192
  protected viewConfig: LiveboardViewConfig;