@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
@@ -40,6 +40,42 @@ export interface CustomCssVariables {
40
40
  * Font color of the top navigation panel.
41
41
  */
42
42
  "--ts-var-nav-color"?: string;
43
+ /**
44
+ * Background color of the left navigation panel.
45
+ */
46
+ "--ts-var-left-nav-background"?: string;
47
+ /**
48
+ * Background color of the active tab in the left navigation panel.
49
+ */
50
+ "--ts-var-left-nav-active-tab-background"?: string;
51
+ /**
52
+ * Border color of the active tab in the left navigation panel.
53
+ */
54
+ "--ts-var-left-nav-active-tab-border-color"?: string;
55
+ /**
56
+ * Font color of the section title in the left navigation panel.
57
+ */
58
+ "--ts-var-left-nav-section-title-color"?: string;
59
+ /**
60
+ * Font color of the items in the left navigation panel.
61
+ */
62
+ "--ts-var-left-nav-item-color"?: string;
63
+ /**
64
+ * Font color of the selected item in the left navigation panel.
65
+ */
66
+ "--ts-var-left-nav-item-selection-color"?: string;
67
+ /**
68
+ * Background color of the selected item in the left navigation panel.
69
+ */
70
+ "--ts-var-left-nav-item-selection-background"?: string;
71
+ /**
72
+ * Color of the active tab icon in the left navigation panel.
73
+ */
74
+ "--ts-var-left-nav-tab-icon-active-color"?: string;
75
+ /**
76
+ * Color of the inactive tab icon in the left navigation panel.
77
+ */
78
+ "--ts-var-left-nav-tab-icon-inactive-color"?: string;
43
79
  /**
44
80
  * Background color of the *Search data* button.
45
81
  */
@@ -1399,7 +1435,9 @@ export enum AuthType {
1399
1435
  }
1400
1436
  /**
1401
1437
  *
1402
- * **Note**: This attribute is not supported in the classic (V1) homepage experience.
1438
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1439
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges) and
1440
+ * V4 (Focused) home page experiences.
1403
1441
  *
1404
1442
  */
1405
1443
  export enum HomeLeftNavItem {
@@ -2797,7 +2835,9 @@ export interface HomePageConfig {
2797
2835
  * To specify the modules, import the `HomepageModule` enum.
2798
2836
  * For example: `hiddenHomepageModules = [HomepageModule.MyLibrary]`
2799
2837
  *
2800
- * **Note**: This attribute is not supported in the classic (v1) experience.
2838
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2839
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2840
+ * and V4 (Focused) home page experiences.
2801
2841
  *
2802
2842
  * Supported embed types: `AppEmbed`
2803
2843
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2806,7 +2846,7 @@ export interface HomePageConfig {
2806
2846
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2807
2847
  *
2808
2848
  * const embed = new AppEmbed('#tsEmbed', {
2809
- * ... // V2/V3 navigation and home page experience attributes
2849
+ * ... // V3 navigation and home page experience attributes
2810
2850
  * hiddenHomepageModules : [HomepageModule.Favorite,HomepageModule.Learning],
2811
2851
  * //...other embed view configuration attributes
2812
2852
  * })
@@ -2817,8 +2857,11 @@ export interface HomePageConfig {
2817
2857
  * Reorder home page modules.
2818
2858
  * To specify the modules, import the `HomepageModule` enum.
2819
2859
  * For example: `reorderedHomepageModules = [HomepageModule.MyLibrary,
2820
- * HomepageModule.Watchlist]` **Note**: This attribute is not supported in the
2821
- * classic (v1) homepage.
2860
+ * HomepageModule.Watchlist]`
2861
+ *
2862
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2863
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2864
+ * and V4 (Focused) home page experiences.
2822
2865
  *
2823
2866
  * Supported embed types: `AppEmbed`
2824
2867
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2827,7 +2870,7 @@ export interface HomePageConfig {
2827
2870
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2828
2871
  *
2829
2872
  * const embed = new AppEmbed('#tsEmbed', {
2830
- * ...//V2/V3 navigation and home page experience attributes
2873
+ * ...//V3 navigation and home page experience attributes
2831
2874
  * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary],
2832
2875
  * //... other embed view configuration attributes
2833
2876
  * })
@@ -2839,7 +2882,9 @@ export interface HomePageConfig {
2839
2882
  * on the home page left navigation panel.
2840
2883
  * To specify the menu items, import the `HomeLeftNavItem` enum.
2841
2884
  *
2842
- * **Note**: This attribute is not supported in the classic (v1) homepage.
2885
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2886
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2887
+ * and V4 (Focused) home page experiences.
2843
2888
  *
2844
2889
  * Supported embed types: `AppEmbed`
2845
2890
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -3215,6 +3260,24 @@ export interface LiveboardAppEmbedViewConfig {
3215
3260
  * ```
3216
3261
  */
3217
3262
  isCentralizedLiveboardFilterUXEnabled?: boolean;
3263
+ /**
3264
+ * This flag is used to enable or disable scoped Liveboard filtering.
3265
+ * When enabled, filters and parameters can be scoped to a group of
3266
+ * visualizations on a Liveboard, in addition to the Liveboard and
3267
+ * tab levels.
3268
+ *
3269
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3270
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
3271
+ * @example
3272
+ * ```js
3273
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3274
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3275
+ * ... // other embed view config
3276
+ * isScopedLiveboardFilteringEnabled: true,
3277
+ * })
3278
+ * ```
3279
+ */
3280
+ isScopedLiveboardFilteringEnabled?: boolean;
3218
3281
  /**
3219
3282
  * This flag is used to enable or disable the link parameters in liveboard.
3220
3283
  *
@@ -3398,7 +3461,9 @@ export enum RuntimeFilterOp {
3398
3461
  * via `hiddenHomepageModules` and reordered via
3399
3462
  * `reorderedHomepageModules`.
3400
3463
  *
3401
- * **Note**: This option is not supported in the classic (v1) experience.
3464
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
3465
+ * deprecated. These modules apply to V3 (ModularWithStylingChanges) and
3466
+ * V4 (Focused) home page experiences.
3402
3467
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
3403
3468
  */
3404
3469
  export enum HomepageModule {
@@ -4387,11 +4452,19 @@ export enum EmbedEvent {
4387
4452
  * Emitted when a user changes any filter on a Liveboard.
4388
4453
  * Returns filter type and name, column name and ID, and runtime
4389
4454
  * filter details.
4455
+ * The payload includes an optional `applicability` attribute indicating the
4456
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
4457
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4458
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4459
+ * is no `targetId`, since the filter applies to the whole Liveboard.
4460
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4461
+ * ThoughtSpot: 26.10.0.cl.
4390
4462
  * @example
4391
4463
  *
4392
4464
  * ```js
4393
4465
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
4394
4466
  * console.log('payload', payload);
4467
+ * // payload.data optionally includes applicability: { level, targetId }
4395
4468
  * })
4396
4469
  * ```
4397
4470
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -4583,9 +4656,17 @@ export enum EmbedEvent {
4583
4656
  /**
4584
4657
  * Emitted when parameter changes in an Answer
4585
4658
  * or Liveboard.
4659
+ * The payload includes an optional `applicability` attribute indicating the
4660
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
4661
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4662
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4663
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
4664
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4665
+ * ThoughtSpot: 26.10.0.cl.
4586
4666
  * ```js
4587
4667
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
4588
4668
  * console.log('payload', payload);
4669
+ * // payload.data optionally includes applicability: { level, targetId }
4589
4670
  * })
4590
4671
  * ```
4591
4672
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -4887,6 +4968,158 @@ export enum EmbedEvent {
4887
4968
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4888
4969
  */
4889
4970
  SpotterConversationDeleted = "spotterConversationDeleted",
4971
+ /**
4972
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
4973
+ * to bracket the interaction. App→host counterpart of the
4974
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
4975
+ * @example
4976
+ * ```js
4977
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
4978
+ * // payload: { convId: string }
4979
+ * })
4980
+ * ```
4981
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4982
+ */
4983
+ SpotterShareConversationButtonHeaderClicked = "spotterShareConversationButtonHeaderClicked",
4984
+ /**
4985
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
4986
+ * to bracket the interaction.
4987
+ * @example
4988
+ * ```js
4989
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
4990
+ * // payload: { convId: string }
4991
+ * })
4992
+ * ```
4993
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4994
+ */
4995
+ SpotterShareConversationMenuItemSidebarClicked = "spotterShareConversationMenuItemSidebarClicked",
4996
+ /**
4997
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
4998
+ * share created). The host builds its own link from shareId/convId + its
4999
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
5000
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
5001
+ * the save resolves.
5002
+ * @example
5003
+ * ```js
5004
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
5005
+ * // payload: { convId: string, shareId: string,
5006
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
5007
+ * })
5008
+ * ```
5009
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5010
+ */
5011
+ SpotterConversationShared = "spotterConversationShared",
5012
+ /**
5013
+ * Emitted when access to a shared Spotter conversation is revoked
5014
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
5015
+ * and the share is deleted entirely.
5016
+ * @example
5017
+ * ```js
5018
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
5019
+ * // payload: { convId: string, shareId: string,
5020
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
5021
+ * })
5022
+ * ```
5023
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5024
+ */
5025
+ SpotterConversationShareRevoked = "spotterConversationShareRevoked",
5026
+ /**
5027
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
5028
+ * view). No shareId available viewer-side.
5029
+ * @example
5030
+ * ```js
5031
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
5032
+ * // payload: { convId: string, sourceConvId: string }
5033
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
5034
+ * })
5035
+ * ```
5036
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5037
+ */
5038
+ SpotterSharedConversationViewed = "spotterSharedConversationViewed",
5039
+ /**
5040
+ * Emitted when the user toggles the share-modal "include new messages since
5041
+ * last shared version" checkbox.
5042
+ * @example
5043
+ * ```js
5044
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
5045
+ * // payload: { convId: string, includeNewMessages: boolean }
5046
+ * })
5047
+ * ```
5048
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5049
+ */
5050
+ SpotterShareIncludeNewMessagesCheckboxToggled = "spotterShareIncludeNewMessagesCheckboxToggled",
5051
+ /**
5052
+ * Emitted when the user dismisses the stale-snapshot info banner via its
5053
+ * cross (distinct from the include-new-messages checkbox toggle).
5054
+ * @example
5055
+ * ```js
5056
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
5057
+ * // payload: { convId: string }
5058
+ * })
5059
+ * ```
5060
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5061
+ */
5062
+ SpotterShareStaleInfoBannerDismissed = "spotterShareStaleInfoBannerDismissed",
5063
+ /**
5064
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
5065
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
5066
+ * / `SpotterConversationShareRevoked` result events.
5067
+ * @example
5068
+ * ```js
5069
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
5070
+ * // payload: { convId: string }
5071
+ * })
5072
+ * ```
5073
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5074
+ */
5075
+ SpotterShareModalConfirmButtonClicked = "spotterShareModalConfirmButtonClicked",
5076
+ /**
5077
+ * Emitted when the share modal is dismissed via the Cancel button.
5078
+ * @example
5079
+ * ```js
5080
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
5081
+ * // payload: { convId: string }
5082
+ * })
5083
+ * ```
5084
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5085
+ */
5086
+ SpotterShareModalCancelButtonClicked = "spotterShareModalCancelButtonClicked",
5087
+ /**
5088
+ * Emitted when a recipient leaves the read-only shared view via the Exit
5089
+ * button.
5090
+ * @example
5091
+ * ```js
5092
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
5093
+ * // payload: { convId: string }
5094
+ * })
5095
+ * ```
5096
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5097
+ */
5098
+ SpotterSharedConversationExitButtonClicked = "spotterSharedConversationExitButtonClicked",
5099
+ /**
5100
+ * Emitted when a Spotter conversation is pinned.
5101
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5102
+ * @example
5103
+ * ```js
5104
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
5105
+ * console.log('Conversation pinned', payload);
5106
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
5107
+ * })
5108
+ * ```
5109
+ */
5110
+ SpotterConversationPinned = "spotterConversationPinned",
5111
+ /**
5112
+ * Emitted when a Spotter conversation is unpinned.
5113
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5114
+ * @example
5115
+ * ```js
5116
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
5117
+ * console.log('Conversation unpinned', payload);
5118
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
5119
+ * })
5120
+ * ```
5121
+ */
5122
+ SpotterConversationUnpinned = "spotterConversationUnpinned",
4890
5123
  /**
4891
5124
  * Emitted when a Spotter conversation is selected/clicked.
4892
5125
  * @example
@@ -5402,6 +5635,17 @@ export enum HostEvent {
5402
5635
  * name: string,
5403
5636
  * type: ATTRIBUTE/MEASURE,
5404
5637
  * dataType: INT64/CHAR/DATE }
5638
+ *
5639
+ * `applicability` - Optional. Scopes the filter to a specific target,
5640
+ * for example, a single Liveboard tab, so the panel for the correct
5641
+ * scoped filter is opened. Available from SDK: 1.53.0 |
5642
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
5643
+ *
5644
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
5645
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5646
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5647
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
5648
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5405
5649
  * @example
5406
5650
  * ```js
5407
5651
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -5414,6 +5658,14 @@ export enum HostEvent {
5414
5658
  * ```
5415
5659
  * @example
5416
5660
  * ```js
5661
+ * // Open a filter scoped to a specific Liveboard tab
5662
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
5663
+ * column: { columnId: '<column-GUID>' },
5664
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
5665
+ * });
5666
+ * ```
5667
+ * @example
5668
+ * ```js
5417
5669
  * // Open filter from search context
5418
5670
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5419
5671
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -5423,6 +5675,38 @@ export enum HostEvent {
5423
5675
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
5424
5676
  */
5425
5677
  OpenFilter = "openFilter",
5678
+ /**
5679
+ * Open the parameter panel for a particular parameter on a Liveboard.
5680
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
5681
+ * @param - Includes the following keys:
5682
+ * - `parameter`: An object identifying the parameter to open, for
5683
+ * example, `{ parameterId: '<parameter-GUID>' }`.
5684
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
5685
+ * for example, a single Liveboard tab, so the panel for the correct
5686
+ * scoped parameter is opened. Includes the following attributes:
5687
+ *
5688
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
5689
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5690
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5691
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
5692
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5693
+ * @example
5694
+ * ```js
5695
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5696
+ * parameter: { parameterId: '<parameter-GUID>' }
5697
+ * });
5698
+ * ```
5699
+ * @example
5700
+ * ```js
5701
+ * // Open a parameter scoped to a specific group
5702
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5703
+ * parameter: { parameterId: '<parameter-GUID>' },
5704
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
5705
+ * });
5706
+ * ```
5707
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5708
+ */
5709
+ OpenParameter = "openParameter",
5426
5710
  /**
5427
5711
  * Add columns to the current search query.
5428
5712
  * @param - { columnIds: string[] }
@@ -6486,13 +6770,13 @@ export enum HostEvent {
6486
6770
  /**
6487
6771
  * Get details of filters applied on the Liveboard.
6488
6772
  * Returns arrays containing Liveboard filter and runtime filter elements.
6489
- * Each Liveboard filter may include an `applicability` attribute
6773
+ * Each Liveboard filter includes an optional `applicability` attribute
6490
6774
  * indicating the scope of the filter. It contains a `level`
6491
6775
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
6492
6776
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
6493
6777
  * level there is no `targetId`, since the filter applies to the
6494
6778
  * whole Liveboard.
6495
- * The `applicability` attribute is available from SDK: 1.51.0 |
6779
+ * The `applicability` attribute is available from SDK: 1.53.0 |
6496
6780
  * ThoughtSpot: 26.10.0.cl.
6497
6781
  * @example
6498
6782
  * ```js
@@ -6535,7 +6819,7 @@ export enum HostEvent {
6535
6819
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
6536
6820
  *
6537
6821
  * `applicability` - Optional. Scopes the filter to a specific target,
6538
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
6822
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
6539
6823
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
6540
6824
  *
6541
6825
  * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -6658,6 +6942,28 @@ export enum HostEvent {
6658
6942
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
6659
6943
  */
6660
6944
  GetTabs = "getTabs",
6945
+ /**
6946
+ * Get group details for the current Liveboard.
6947
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
6948
+ * @example
6949
+ * ```js
6950
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
6951
+ * console.log(
6952
+ * groupDetails // GroupDetails of current Liveboard
6953
+ * );
6954
+ * })
6955
+ * ```
6956
+ * @example
6957
+ * ```js
6958
+ * // Get groups from liveboard context
6959
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
6960
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
6961
+ * console.log('groups', groupDetails);
6962
+ * });
6963
+ * ```
6964
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
6965
+ */
6966
+ GetGroups = "getGroups",
6661
6967
  /**
6662
6968
  * Set the visible tabs on a Liveboard.
6663
6969
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -6786,7 +7092,7 @@ export enum HostEvent {
6786
7092
  * - `value`: The value to set for the parameter.
6787
7093
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
6788
7094
  * - `applicability`: Optional. Scopes the parameter to a specific target,
6789
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
7095
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
6790
7096
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
6791
7097
  *
6792
7098
  * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -6830,13 +7136,13 @@ export enum HostEvent {
6830
7136
  UpdateParameters = "UpdateParameters",
6831
7137
  /**
6832
7138
  * Triggers GetParameters to fetch the runtime Parameters.
6833
- * Each parameter may include an `applicability` attribute
7139
+ * Each parameter includes an optional `applicability` attribute
6834
7140
  * indicating the scope of the parameter. It contains a `level`
6835
7141
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
6836
7142
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
6837
7143
  * level there is no `targetId`, since the parameter applies to the
6838
7144
  * whole Liveboard.
6839
- * The `applicability` attribute is available from SDK: 1.51.0 |
7145
+ * The `applicability` attribute is available from SDK: 1.53.0 |
6840
7146
  * ThoughtSpot: 26.10.0.cl.
6841
7147
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
6842
7148
  * ```js
@@ -7104,6 +7410,36 @@ export enum HostEvent {
7104
7410
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
7105
7411
  */
7106
7412
  ResetSpotterConversation = "ResetSpotterConversation",
7413
+ /**
7414
+ * Opens the Spotter share-conversation modal for the given conversation.
7415
+ * `conversationId` is **mandatory** — you must pass the id of the
7416
+ * conversation to share. Also no-op when sharing is disabled
7417
+ * (enableShareConversation off) or when already in the read-only shared view.
7418
+ * @example
7419
+ * ```js
7420
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
7421
+ * ```
7422
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7423
+ */
7424
+ ShareSpotterConversation = "ShareSpotterConversation",
7425
+ /**
7426
+ * Closes the Spotter share-conversation modal. No-op if none is open.
7427
+ * @example
7428
+ * ```js
7429
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
7430
+ * ```
7431
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7432
+ */
7433
+ CloseSpotterShareConversation = "CloseSpotterShareConversation",
7434
+ /**
7435
+ * Exits the read-only shared-conversation view.
7436
+ * @example
7437
+ * ```js
7438
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
7439
+ * ```
7440
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7441
+ */
7442
+ ExitSpotterSharedConversation = "ExitSpotterSharedConversation",
7107
7443
  /**
7108
7444
  * Deletes the last prompt in spotter embed.
7109
7445
  * @example
@@ -7199,6 +7535,41 @@ export enum HostEvent {
7199
7535
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
7200
7536
  */
7201
7537
  StartNewSpotterConversation = "StartNewSpotterConversation",
7538
+ /**
7539
+ * Pins a saved Spotter conversation so it floats to the top of the past
7540
+ * conversations sidebar. The `conversationId` of the conversation to pin is
7541
+ * required.
7542
+ *
7543
+ * This feature is available only when chat history is enabled on your ThoughtSpot
7544
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7545
+ * instance.
7546
+ *
7547
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7548
+ * @example
7549
+ * ```js
7550
+ * spotterEmbed.trigger(HostEvent.PinSpotterConversation, {
7551
+ * conversationId: '<conversation-id>',
7552
+ * });
7553
+ * ```
7554
+ */
7555
+ PinSpotterConversation = "PinSpotterConversation",
7556
+ /**
7557
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
7558
+ * conversation to unpin is required.
7559
+ *
7560
+ * This feature is available only when chat history is enabled on your ThoughtSpot
7561
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7562
+ * instance.
7563
+ *
7564
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7565
+ * @example
7566
+ * ```js
7567
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
7568
+ * conversationId: '<conversation-id>',
7569
+ * });
7570
+ * ```
7571
+ */
7572
+ UnpinSpotterConversation = "UnpinSpotterConversation",
7202
7573
  /**
7203
7574
  * @hidden
7204
7575
  * Get the current context of the embedded page.
@@ -8565,6 +8936,19 @@ export enum Action {
8565
8936
  * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.6.0.cl
8566
8937
  */
8567
8938
  ChangeFilterVisibilityInTab = "changeFilterVisibilityInTab",
8939
+ /**
8940
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
8941
+ * including filter, parameter, and cross-filter chips at the liveboard,
8942
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
8943
+ *
8944
+ * @example
8945
+ * ```js
8946
+ * hiddenActions: [Action.AllLiveboardFilters]
8947
+ * disabledActions: [Action.AllLiveboardFilters]
8948
+ * ```
8949
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
8950
+ */
8951
+ AllLiveboardFilters = "allLiveboardFilters",
8568
8952
  /**
8569
8953
  * The **Data model instructions** button on the Spotter interface.
8570
8954
  * Allows opening the data model instructions modal.
@@ -8900,6 +9284,89 @@ export enum Action {
8900
9284
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
8901
9285
  */
8902
9286
  SpotterChatRename = "spotterChatRename",
9287
+ /**
9288
+ * Controls visibility and disable state of the Spotter conversation Share
9289
+ * button in the chat header. Only takes effect once sharing is enabled
9290
+ * (enableShareConversation on).
9291
+ * @example
9292
+ * ```js
9293
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
9294
+ * ```
9295
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9296
+ */
9297
+ SpotterShareConversationButtonHeader = "spotterShareConversationButtonHeader",
9298
+ /**
9299
+ * Controls visibility and disable state of the Share item in the Spotter
9300
+ * conversation history (sidebar) edit menu. Independent of the header button
9301
+ * above, so a host can show Share in one entry point and hide it in the other.
9302
+ * @example
9303
+ * ```js
9304
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
9305
+ * ```
9306
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9307
+ */
9308
+ SpotterShareConversationMenuItemSidebar = "spotterShareConversationMenuItemSidebar",
9309
+ /**
9310
+ * Controls visibility of the entire read-only shared-conversation data-access
9311
+ * banner shown when a recipient opens a shared view. Hide-only.
9312
+ * @example
9313
+ * ```js
9314
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
9315
+ * ```
9316
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9317
+ */
9318
+ SpotterSharedConversationBanner = "spotterSharedConversationBanner",
9319
+ /**
9320
+ * Controls visibility and disable state of the cross/close button on the
9321
+ * read-only shared-conversation data-access banner (keeps the banner itself).
9322
+ * @example
9323
+ * ```js
9324
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
9325
+ * ```
9326
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9327
+ */
9328
+ SpotterSharedConversationBannerDismissButton = "spotterSharedConversationBannerDismissButton",
9329
+ /**
9330
+ * Controls visibility and disable state of the Exit button in the read-only
9331
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
9332
+ * host event.
9333
+ * @example
9334
+ * ```js
9335
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
9336
+ * ```
9337
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9338
+ */
9339
+ SpotterSharedConversationExitButton = "spotterSharedConversationExitButton",
9340
+ /**
9341
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
9342
+ * to the current moment…"). Hide-only.
9343
+ * @example
9344
+ * ```js
9345
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
9346
+ * ```
9347
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9348
+ */
9349
+ SpotterShareUpToCurrentInfo = "spotterShareUpToCurrentInfo",
9350
+ /**
9351
+ * Controls visibility and disable state of the share-modal "include new
9352
+ * messages since last shared version" checkbox.
9353
+ * @example
9354
+ * ```js
9355
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
9356
+ * ```
9357
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9358
+ */
9359
+ SpotterShareIncludeNewMessagesCheckbox = "spotterShareIncludeNewMessagesCheckbox",
9360
+ /**
9361
+ * Controls visibility and disable state of the cross on the share-modal
9362
+ * stale-snapshot info banner.
9363
+ * @example
9364
+ * ```js
9365
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
9366
+ * ```
9367
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9368
+ */
9369
+ SpotterShareStaleInfoBannerDismissButton = "spotterShareStaleInfoBannerDismissButton",
8903
9370
  /**
8904
9371
  * Controls visibility and disable state of the delete action
8905
9372
  * in the Spotter conversation edit menu.
@@ -8910,6 +9377,16 @@ export enum Action {
8910
9377
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
8911
9378
  */
8912
9379
  SpotterChatDelete = "spotterChatDelete",
9380
+ /**
9381
+ * Controls visibility and disable state of the pin/unpin action
9382
+ * in the Spotter conversation edit menu.
9383
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9384
+ * @example
9385
+ * ```js
9386
+ * disabledActions: [Action.SpotterChatPin]
9387
+ * ```
9388
+ */
9389
+ SpotterChatPin = "spotterChatPin",
8913
9390
  /**
8914
9391
  * Controls visibility and disable state of the documentation/best practices
8915
9392
  * link in the Spotter sidebar footer.
@@ -10086,6 +10563,11 @@ export interface LiveboardTab {
10086
10563
  name: string;
10087
10564
  [key: string]: any;
10088
10565
  }
10566
+ export interface LiveboardGroup {
10567
+ id: string;
10568
+ name: string;
10569
+ [key: string]: any;
10570
+ }
10089
10571
  enum ApplicabilityLevel {
10090
10572
  Liveboard = "LIVEBOARD",
10091
10573
  Tab = "TAB",
@@ -10131,6 +10613,7 @@ export enum UIPassthroughEvent {
10131
10613
  GetParameters = "getParameters",
10132
10614
  GetTML = "getTML",
10133
10615
  GetTabs = "getTabs",
10616
+ GetGroups = "getGroups",
10134
10617
  GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
10135
10618
  }
10136
10619
  export type UIPassthroughContractBase = {
@@ -10240,6 +10723,14 @@ export type UIPassthroughContractBase = {
10240
10723
  Tabs: LiveboardTab[];
10241
10724
  };
10242
10725
  };
10726
+ [UIPassthroughEvent.GetGroups]: {
10727
+ request: Record<string, never>;
10728
+ response: {
10729
+ orderedGroupIds: string[];
10730
+ numberOfGroups: number;
10731
+ Groups: LiveboardGroup[];
10732
+ };
10733
+ };
10243
10734
  [UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
10244
10735
  request: Record<string, never>;
10245
10736
  response: {
@@ -10285,6 +10776,7 @@ export type EmbedApiHostEventMapping = {
10285
10776
  [HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
10286
10777
  [HostEvent.GetTML]: UIPassthroughEvent.GetTML;
10287
10778
  [HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
10779
+ [HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
10288
10780
  [HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
10289
10781
  };
10290
10782
  export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
@@ -10940,6 +11432,37 @@ export enum SpotterQueryMode {
10940
11432
  FAST_SEARCH = "fastSearch",
10941
11433
  RESEARCH = "research"
10942
11434
  }
11435
+ /**
11436
+ * Configuration for the pin/unpin conversation feature in the Spotter sidebar.
11437
+ * Grouped into one object because pin exposes several related settings
11438
+ * (enable + label overrides), unlike single-item actions like rename or
11439
+ * delete.
11440
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11441
+ */
11442
+ export interface SpotterChatPinConfig {
11443
+ /**
11444
+ * Enables the pin/unpin conversation feature in embedded Spotter. Disabled
11445
+ * by default — hosts must opt in. When off, the Pin/Unpin menu entry and
11446
+ * the pin glyph are hidden and the PinSpotterConversation /
11447
+ * UnpinSpotterConversation host events are no-ops. Native (non-embedded)
11448
+ * Spotter is unaffected and ships pin enabled.
11449
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11450
+ * @default false
11451
+ */
11452
+ enabled?: boolean;
11453
+ /**
11454
+ * Custom label text for the pin action in the conversation edit menu.
11455
+ * Defaults to translated "Pin" text.
11456
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11457
+ */
11458
+ pinLabel?: string;
11459
+ /**
11460
+ * Custom label text for the unpin action in the conversation edit menu.
11461
+ * Defaults to translated "Unpin" text.
11462
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11463
+ */
11464
+ unpinLabel?: string;
11465
+ }
10943
11466
  /**
10944
11467
  * Configuration for the Spotter sidebar.
10945
11468
  * Can be used in SpotterEmbed and AppEmbed.
@@ -10977,6 +11500,12 @@ export interface SpotterSidebarViewConfig {
10977
11500
  * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
10978
11501
  */
10979
11502
  spotterChatDeleteLabel?: string;
11503
+ /**
11504
+ * Pin/unpin conversation feature config (enable + label overrides).
11505
+ * Off by default in embed — hosts opt in via `enabled`.
11506
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
11507
+ */
11508
+ spotterChatPinConfig?: SpotterChatPinConfig;
10980
11509
  /**
10981
11510
  * Custom title text for the delete conversation confirmation modal.
10982
11511
  * Defaults to translated "Delete chat" text.
@@ -11027,6 +11556,84 @@ export interface SpotterSidebarViewConfig {
11027
11556
  */
11028
11557
  spotterAnalystsLabel?: string;
11029
11558
  }
11559
+ /**
11560
+ * Configuration for the Spotter conversation sharing feature.
11561
+ * Can be used in SpotterEmbed and AppEmbed.
11562
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11563
+ * @group Embed components
11564
+ */
11565
+ export interface SpotterShareConversationConfig {
11566
+ /**
11567
+ * Enables sharing of the conversation.
11568
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11569
+ * @default false
11570
+ */
11571
+ enableShareConversation?: boolean;
11572
+ /**
11573
+ * Header Share button + sidebar Share item label.
11574
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11575
+ * @default "Share"
11576
+ */
11577
+ spotterShareLabel?: string;
11578
+ /**
11579
+ * Share modal title.
11580
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11581
+ */
11582
+ spotterShareModalTitle?: string;
11583
+ /**
11584
+ * Modal confirm button label.
11585
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11586
+ * @default "Share"
11587
+ */
11588
+ spotterShareConfirmLabel?: string;
11589
+ /**
11590
+ * Modal cancel button label.
11591
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11592
+ * @default "Cancel"
11593
+ */
11594
+ spotterShareCancelLabel?: string;
11595
+ /**
11596
+ * "Add users or groups" label.
11597
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11598
+ */
11599
+ spotterShareAddUsersLabel?: string;
11600
+ /**
11601
+ * Empty-state title ("No users added yet").
11602
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11603
+ */
11604
+ spotterShareEmptyTitle?: string;
11605
+ /**
11606
+ * Empty-state subtitle ("Not shared with any user").
11607
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11608
+ */
11609
+ spotterShareEmptySubtitle?: string;
11610
+ /**
11611
+ * "Include new messages since last shared version" checkbox label.
11612
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11613
+ */
11614
+ spotterShareIncludeNewMessagesLabel?: string;
11615
+ /**
11616
+ * Footer note when the snapshot is current ("…up to the current moment…").
11617
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11618
+ */
11619
+ spotterShareUpToCurrentLabel?: string;
11620
+ /**
11621
+ * Stale-snapshot info banner text ("All added users and groups will receive…").
11622
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11623
+ */
11624
+ spotterShareStaleInfoLabel?: string;
11625
+ /**
11626
+ * Read-only shared-view data-access banner message.
11627
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11628
+ */
11629
+ spotterSharedConversationBannerMessage?: string;
11630
+ /**
11631
+ * Read-only shared-view Exit button label.
11632
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11633
+ * @default "Exit"
11634
+ */
11635
+ spotterSharedConversationExitLabel?: string;
11636
+ }
11030
11637
  /**
11031
11638
  * Configuration for customizing Spotter chat UI branding.
11032
11639
  * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
@@ -11081,8 +11688,27 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11081
11688
  /**
11082
11689
  * The ID of the data source object. For example, Model, View, or Table. Spotter uses
11083
11690
  * this object to query data and generate Answers.
11691
+ * This field is optional. If not provided, Spotter loads using the
11692
+ * previously selected user data source.
11084
11693
  */
11085
- worksheetId: string;
11694
+ worksheetId?: string;
11695
+ /**
11696
+ * The array of data source GUIDs to set on load. Spotter uses
11697
+ * these GUIDs to query data and generate Answers.
11698
+ * dataSources is preferred over worksheetId if both are provided.
11699
+ * The feature is currently behind a feature flag.
11700
+ *
11701
+ * Supported embed types: `SpotterEmbed`
11702
+ * @example
11703
+ * ```js
11704
+ * const embed = new SpotterEmbed('#tsEmbed', {
11705
+ * // ...other embed view config
11706
+ * dataSources: ['id-2345', 'id-2345'],
11707
+ * });
11708
+ * ```
11709
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11710
+ */
11711
+ dataSources?: string[];
11086
11712
  /**
11087
11713
  * Ability to pass a starting search query to the conversation.
11088
11714
  */
@@ -11242,6 +11868,21 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11242
11868
  * ```
11243
11869
  */
11244
11870
  updatedSpotterChatPrompt?: boolean;
11871
+ /**
11872
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
11873
+ *
11874
+ * Supported embed types: `SpotterEmbed`
11875
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11876
+ * @default false
11877
+ * @example
11878
+ * ```js
11879
+ * const embed = new SpotterEmbed('#tsEmbed', {
11880
+ * ... //other embed view config
11881
+ * showSpotterRadiance : true,
11882
+ * })
11883
+ * ```
11884
+ */
11885
+ showSpotterRadiance?: boolean;
11245
11886
  /**
11246
11887
  * Sets the default query mode when Spotter loads — Fast Search or
11247
11888
  * Research Mode. Applies fresh on every new session for this embed
@@ -11318,6 +11959,59 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11318
11959
  * ```
11319
11960
  */
11320
11961
  spotterChatConfig?: SpotterChatViewConfig;
11962
+ /**
11963
+ * Configuration for the Spotter conversation sharing feature.
11964
+ *
11965
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
11966
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11967
+ * @example
11968
+ * ```js
11969
+ * const embed = new SpotterEmbed('#tsEmbed', {
11970
+ * ... //other embed view config
11971
+ * spotterShareConversationConfig: {
11972
+ * enableShareConversation: true,
11973
+ * },
11974
+ * })
11975
+ * ```
11976
+ */
11977
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
11978
+ /**
11979
+ * The ID of a shared Spotter conversation to open directly in the read-only
11980
+ * reader view. Use this to land a share recipient in the shared conversation
11981
+ * when they open a host-configured `CONVERSATION_URL` share link: read the
11982
+ * `{conversation-id}` from your page URL and pass it here.
11983
+ *
11984
+ * Requires the Spotter conversation-sharing feature to be enabled
11985
+ * (`spotterShareConversationConfig.enableShareConversation`). The recipient
11986
+ * must be an authorized sharee — the server returns access-denied otherwise.
11987
+ *
11988
+ * Supported embed types: `SpotterEmbed`
11989
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11990
+ * @example
11991
+ * ```js
11992
+ * const convId = new URLSearchParams(window.location.search).get('conversation-id');
11993
+ * const embed = new SpotterEmbed('#tsEmbed', {
11994
+ * ... //other embed view config
11995
+ * sharedConversationId: convId,
11996
+ * })
11997
+ * ```
11998
+ */
11999
+ sharedConversationId?: string;
12000
+ /**
12001
+ * updatedSpotterExperience : Controls the updated Spotter experience.
12002
+ *
12003
+ * Supported embed types: `SpotterEmbed`
12004
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12005
+ * @default false
12006
+ * @example
12007
+ * ```js
12008
+ * const embed = new SpotterEmbed('#tsEmbed', {
12009
+ * ... //other embed view config
12010
+ * updatedSpotterExperience : true,
12011
+ * })
12012
+ * ```
12013
+ */
12014
+ updatedSpotterExperience?: boolean;
11321
12015
  }
11322
12016
  /**
11323
12017
  * The configuration for the embedded spotterEmbed options.
@@ -11334,6 +12028,7 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {
11334
12028
  export interface SpotterAppInitData extends DefaultAppInitData {
11335
12029
  embedParams?: {
11336
12030
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12031
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
11337
12032
  visualOverridesParams?: VisualizationOverrides | null;
11338
12033
  };
11339
12034
  }
@@ -11616,6 +12311,9 @@ export enum HomePage {
11616
12311
  /**
11617
12312
  * Modular (v2) introduces the updated Modular Home Experience.
11618
12313
  * It serves as the foundational version of the home page.
12314
+ * Use {@link HomePage.ModularWithStylingChanges} (V3) or
12315
+ * {@link HomePage.Focused} (V4) instead.
12316
+ * @deprecated V1 and V2 home page experiences are deprecated.
11619
12317
  */
11620
12318
  Modular = "v2",
11621
12319
  /**
@@ -11689,13 +12387,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11689
12387
  showPrimaryNavbar?: boolean;
11690
12388
  /**
11691
12389
  * Control the visibility of the left navigation panel on the home page
11692
- * in the V2 and V3 navigation and home page experience.
12390
+ * in the V3 and V4 navigation and home page experience.
11693
12391
  * If `showPrimaryNavbar` is true, that is, if the Global and Homepage
11694
12392
  * navigation bars are visible, this flag will only hide the left navigation bar
11695
12393
  * on the home page.
11696
12394
  * The `showPrimaryNavbar` flag takes precedence over the `hideHomepageLeftNav`.
11697
12395
  *
11698
- * **Note**: This attribute is not supported in the classic (V1) experience.
12396
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
12397
+ * deprecated. This attribute applies to V3 and V4 home page experiences.
11699
12398
  *
11700
12399
  * Supported embed types: `AppEmbed`
11701
12400
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11761,11 +12460,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11761
12460
  hideHamburger?: boolean;
11762
12461
  /**
11763
12462
  * Control the visibility of the object search
11764
- * on the top navigation bar in the
11765
- * V2 and V3 navigation experience.
12463
+ * on the top navigation bar in the V3 navigation experience.
11766
12464
  *
11767
- * **Note**: This attribute is not supported
11768
- * in the classic (V1) experience.
12465
+ * **Note**: The classic (V1) and V2 navigation experiences are
12466
+ * deprecated. This attribute applies to the V3 navigation experience.
11769
12467
  *
11770
12468
  * Supported embed types: `AppEmbed`
11771
12469
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11783,8 +12481,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11783
12481
  * Control the visibility of the notification icon
11784
12482
  * on the top navigation bar in V3 navigation experience.
11785
12483
  *
11786
- * **Note**: This attribute is not supported
11787
- * in the classic (V1) and V2 experience modes.
12484
+ * **Note**: The classic (V1) and V2 experience modes are deprecated.
12485
+ * This attribute applies to the V3 experience.
11788
12486
  *
11789
12487
  * Supported embed types: `AppEmbed`
11790
12488
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11799,14 +12497,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11799
12497
  */
11800
12498
  hideNotification?: boolean;
11801
12499
  /**
11802
- * Control the visibility of the application selection menu
11803
- * in the top navigation bar in the V2 experience.
12500
+ * Control the visibility of the application selection menu.
11804
12501
  * In the V3 experience, it shows or hides application selection
11805
12502
  * icons on the left navigation panel.
11806
12503
  * By default, the application selection menu and icons are
11807
12504
  * shown in the UI.
11808
12505
  *
11809
- * **Note**: This attribute is not supported in the classic (V1) experience.
12506
+ * **Note**: The classic (V1) and V2 experiences are deprecated.
12507
+ * This attribute applies to the V3 experience.
11810
12508
  *
11811
12509
  * Supported embed types: `AppEmbed`
11812
12510
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11824,7 +12522,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11824
12522
  * Control the visibility of the Org switcher button on the nav-bar.
11825
12523
  * By default, the Org switcher button is shown.
11826
12524
  *
11827
- * **Note**: This attribute is not supported in the classic (V1) experience.
12525
+ * **Note**: The classic (V1) experience is deprecated. This attribute
12526
+ * applies to V2 (deprecated), V3 and V4 experiences.
11828
12527
  *
11829
12528
  * Supported embed types: `AppEmbed`
11830
12529
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11983,6 +12682,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11983
12682
  * Supported embed types: `AppEmbed`
11984
12683
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
11985
12684
  * @default false
12685
+ * Use the discoveryExperience.homePage option with
12686
+ * {@link HomePage.ModularWithStylingChanges} (V3) or
12687
+ * {@link HomePage.Focused} (V4) instead.
12688
+ * @deprecated The V1 and V2 home page experiences are deprecated.
11986
12689
  * @example
11987
12690
  * ```js
11988
12691
  * const embed = new AppEmbed('#tsEmbed', {
@@ -12114,11 +12817,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12114
12817
  /**
12115
12818
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
12116
12819
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
12117
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
12820
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
12118
12821
  *
12119
12822
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12120
12823
  * @type {boolean}
12121
12824
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
12825
+ * @default true
12122
12826
  * @example
12123
12827
  * ```js
12124
12828
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12131,10 +12835,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12131
12835
  isContinuousLiveboardPDFEnabled?: boolean;
12132
12836
  /**
12133
12837
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
12838
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
12134
12839
  *
12135
12840
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12136
12841
  * @type {boolean}
12137
12842
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
12843
+ * @default true
12138
12844
  * @example
12139
12845
  * ```js
12140
12846
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12147,10 +12853,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12147
12853
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
12148
12854
  /**
12149
12855
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
12856
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
12150
12857
  *
12151
12858
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12152
12859
  * @type {boolean}
12153
12860
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
12861
+ * @default true
12154
12862
  * @example
12155
12863
  * ```js
12156
12864
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12226,6 +12934,21 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12226
12934
  * ```
12227
12935
  */
12228
12936
  updatedSpotterChatPrompt?: boolean;
12937
+ /**
12938
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
12939
+ *
12940
+ * Supported embed types: `AppEmbed`
12941
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12942
+ * @default false
12943
+ * @example
12944
+ * ```js
12945
+ * const embed = new AppEmbed('#tsEmbed', {
12946
+ * ... //other embed view config
12947
+ * showSpotterRadiance : true,
12948
+ * })
12949
+ * ```
12950
+ */
12951
+ showSpotterRadiance?: boolean;
12229
12952
  /**
12230
12953
  * Sets the default query mode when Spotter loads — Fast Search or
12231
12954
  * Research Mode. Applies fresh on every new session for this embed
@@ -12270,6 +12993,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12270
12993
  * spotterSidebarConfig: {
12271
12994
  * enablePastConversationsSidebar: true,
12272
12995
  * spotterSidebarTitle: 'My Conversations',
12996
+ * // Opt in to pin/unpin conversations in embedded Spotter
12997
+ * spotterChatPinConfig: {
12998
+ * enabled: true,
12999
+ * },
12273
13000
  * },
12274
13001
  * })
12275
13002
  * ```
@@ -12293,6 +13020,49 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12293
13020
  * ```
12294
13021
  */
12295
13022
  spotterChatConfig?: SpotterChatViewConfig;
13023
+ /**
13024
+ * Configuration for the Spotter conversation sharing feature.
13025
+ *
13026
+ * Supported embed types: `AppEmbed`
13027
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13028
+ * @example
13029
+ * ```js
13030
+ * const embed = new AppEmbed('#tsEmbed', {
13031
+ * ... //other embed view config
13032
+ * spotterShareConversationConfig: {
13033
+ * enableShareConversation: true,
13034
+ * },
13035
+ * })
13036
+ * ```
13037
+ */
13038
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
13039
+ /**
13040
+ * Sets the default data sources (Models) for the Spotter experience shown on
13041
+ * the home page of the full app embed. Accepts a list of Model GUIDs to
13042
+ * preselect the data sources available to Spotter, or the literal
13043
+ * `'auto_mode'` sentinel to load Spotter with the "Auto" model selected by
13044
+ * default. This is consistent with how `worksheetId: 'auto_mode'` enables
13045
+ * Auto mode in `SpotterEmbed`.
13046
+ *
13047
+ * **Note**: If `'auto_mode'` is included alongside one or more Model GUIDs,
13048
+ * `'auto_mode'` takes precedence and is selected by default.
13049
+ *
13050
+ * **Note**: `'auto_mode'` requires the Spotter 3 experience with data source
13051
+ * discovery enabled on your instance, and a Spotter-enabled home page (for
13052
+ * example, `discoveryExperience.homePage: HomePage.Focused`).
13053
+ *
13054
+ * Supported embed types: `AppEmbed`
13055
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.10.0.cl
13056
+ * @example
13057
+ * ```js
13058
+ * const embed = new AppEmbed('#tsEmbed', {
13059
+ * ... // other embed view config
13060
+ * discoveryExperience: { homePage: HomePage.Focused },
13061
+ * spotterDataSources: ['model-guid-1', 'model-guid-2'], // or ['auto_mode']
13062
+ * })
13063
+ * ```
13064
+ */
13065
+ spotterDataSources?: string[];
12296
13066
  /**
12297
13067
  * Configuration for the SpotterViz interface shown on the Liveboard.
12298
13068
  * Customize the brand name, description, chat input placeholder,
@@ -12388,6 +13158,21 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12388
13158
  * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12389
13159
  */
12390
13160
  visualOverrides?: VisualizationOverrides;
13161
+ /**
13162
+ * updatedSpotterExperience : Controls the updated Spotter experience.
13163
+ *
13164
+ * Supported embed types: `AppEmbed`
13165
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13166
+ * @default false
13167
+ * @example
13168
+ * ```js
13169
+ * const embed = new AppEmbed('#tsEmbed', {
13170
+ * ... //other embed view config
13171
+ * updatedSpotterExperience : true,
13172
+ * })
13173
+ * ```
13174
+ */
13175
+ updatedSpotterExperience?: boolean;
12391
13176
  }
12392
13177
  /**
12393
13178
  * APP_INIT data shape for AppEmbed.
@@ -12397,6 +13182,7 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
12397
13182
  embedParams?: {
12398
13183
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12399
13184
  spotterVizConfig?: SpotterVizConfig;
13185
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
12400
13186
  };
12401
13187
  }
12402
13188
  /**
@@ -12427,6 +13213,7 @@ export class AppEmbed extends V1Embed {
12427
13213
  * embedded Liveboard or visualization.
12428
13214
  */
12429
13215
  protected getEmbedParams(): string;
13216
+ protected getEmbedParamsObject(): any;
12430
13217
  private sendFullHeightLazyLoadData;
12431
13218
  /**
12432
13219
  * This is a handler for the RequestVisibleEmbedCoordinates event.
@@ -13134,11 +13921,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13134
13921
  /**
13135
13922
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
13136
13923
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
13137
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
13924
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
13138
13925
  *
13139
13926
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
13140
13927
  * @type {boolean}
13141
13928
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
13929
+ * @default true
13142
13930
  * @example
13143
13931
  * ```js
13144
13932
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -13151,10 +13939,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13151
13939
  isContinuousLiveboardPDFEnabled?: boolean;
13152
13940
  /**
13153
13941
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
13942
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
13154
13943
  *
13155
13944
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
13156
13945
  * @type {boolean}
13157
13946
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13947
+ * @default true
13158
13948
  * @example
13159
13949
  * ```js
13160
13950
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -13167,10 +13957,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13167
13957
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
13168
13958
  /**
13169
13959
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
13960
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
13170
13961
  *
13171
13962
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
13172
13963
  * @type {boolean}
13173
13964
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13965
+ * @default true
13174
13966
  * @example
13175
13967
  * ```js
13176
13968
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -13261,6 +14053,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13261
14053
  * ```
13262
14054
  */
13263
14055
  updatedSpotterChatPrompt?: boolean;
14056
+ /**
14057
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
14058
+ *
14059
+ * Supported embed types: `LiveboardEmbed`
14060
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14061
+ * @default false
14062
+ * @example
14063
+ * ```js
14064
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14065
+ * ... //other embed view config
14066
+ * showSpotterRadiance : true,
14067
+ * })
14068
+ * ```
14069
+ */
14070
+ showSpotterRadiance?: boolean;
13264
14071
  /**
13265
14072
  * Enables the stop answer generation button in the Spotter embed UI,
13266
14073
  * allowing users to interrupt an ongoing answer generation.
@@ -13336,6 +14143,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13336
14143
  * ```
13337
14144
  */
13338
14145
  enableLiveboardDataCache?: boolean;
14146
+ /**
14147
+ * updatedSpotterExperience : Controls the updated Spotter experience.
14148
+ *
14149
+ * Supported embed types: `LiveboardEmbed`
14150
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14151
+ * @default false
14152
+ * @example
14153
+ * ```js
14154
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14155
+ * ... //other embed view config
14156
+ * updatedSpotterExperience : true,
14157
+ * })
14158
+ * ```
14159
+ */
14160
+ updatedSpotterExperience?: boolean;
13339
14161
  }
13340
14162
  /**
13341
14163
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
@@ -14096,6 +14918,10 @@ export const MIXPANEL_EVENT: {
14096
14918
  VISUAL_SDK_IFRAME_LOAD_PERFORMANCE: string;
14097
14919
  VISUAL_SDK_EMBED_CREATE: string;
14098
14920
  VERCEL_INTEGRATION_COMPLETED: string;
14921
+ VISUAL_SDK_RENDER_CALLED: string;
14922
+ VISUAL_SDK_PRE_RENDER: string;
14923
+ VISUAL_SDK_SHOW_PRE_RENDER: string;
14924
+ VISUAL_SDK_HIDE_PRE_RENDER: string;
14099
14925
  };
14100
14926
  /**
14101
14927
  * Pushes the event with its Property key-value map to mixpanel.