@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
package/dist/tsembed.js CHANGED
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.50.1 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.51.0 */
2
2
  'use client';
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
@@ -195,7 +195,9 @@
195
195
  })(exports.AuthType || (exports.AuthType = {}));
196
196
  /**
197
197
  *
198
- * **Note**: This attribute is not supported in the classic (V1) homepage experience.
198
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
199
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges) and
200
+ * V4 (Focused) home page experiences.
199
201
  *
200
202
  */
201
203
  exports.HomeLeftNavItem = void 0;
@@ -342,7 +344,9 @@
342
344
  * via `hiddenHomepageModules` and reordered via
343
345
  * `reorderedHomepageModules`.
344
346
  *
345
- * **Note**: This option is not supported in the classic (v1) experience.
347
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
348
+ * deprecated. These modules apply to V3 (ModularWithStylingChanges) and
349
+ * V4 (Focused) home page experiences.
346
350
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
347
351
  */
348
352
  exports.HomepageModule = void 0;
@@ -1300,11 +1304,19 @@
1300
1304
  * Emitted when a user changes any filter on a Liveboard.
1301
1305
  * Returns filter type and name, column name and ID, and runtime
1302
1306
  * filter details.
1307
+ * The payload includes an optional `applicability` attribute indicating the
1308
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
1309
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
1310
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
1311
+ * is no `targetId`, since the filter applies to the whole Liveboard.
1312
+ * The `applicability` attribute is available from SDK: 1.53.0 |
1313
+ * ThoughtSpot: 26.10.0.cl.
1303
1314
  * @example
1304
1315
  *
1305
1316
  * ```js
1306
1317
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
1307
1318
  * console.log('payload', payload);
1319
+ * // payload.data optionally includes applicability: { level, targetId }
1308
1320
  * })
1309
1321
  * ```
1310
1322
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -1496,9 +1508,17 @@
1496
1508
  /**
1497
1509
  * Emitted when parameter changes in an Answer
1498
1510
  * or Liveboard.
1511
+ * The payload includes an optional `applicability` attribute indicating the
1512
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
1513
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
1514
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
1515
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
1516
+ * The `applicability` attribute is available from SDK: 1.53.0 |
1517
+ * ThoughtSpot: 26.10.0.cl.
1499
1518
  * ```js
1500
1519
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
1501
1520
  * console.log('payload', payload);
1521
+ * // payload.data optionally includes applicability: { level, targetId }
1502
1522
  * })
1503
1523
  * ```
1504
1524
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -1800,6 +1820,158 @@
1800
1820
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
1801
1821
  */
1802
1822
  EmbedEvent["SpotterConversationDeleted"] = "spotterConversationDeleted";
1823
+ /**
1824
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
1825
+ * to bracket the interaction. App→host counterpart of the
1826
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
1827
+ * @example
1828
+ * ```js
1829
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
1830
+ * // payload: { convId: string }
1831
+ * })
1832
+ * ```
1833
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1834
+ */
1835
+ EmbedEvent["SpotterShareConversationButtonHeaderClicked"] = "spotterShareConversationButtonHeaderClicked";
1836
+ /**
1837
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
1838
+ * to bracket the interaction.
1839
+ * @example
1840
+ * ```js
1841
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
1842
+ * // payload: { convId: string }
1843
+ * })
1844
+ * ```
1845
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1846
+ */
1847
+ EmbedEvent["SpotterShareConversationMenuItemSidebarClicked"] = "spotterShareConversationMenuItemSidebarClicked";
1848
+ /**
1849
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
1850
+ * share created). The host builds its own link from shareId/convId + its
1851
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
1852
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
1853
+ * the save resolves.
1854
+ * @example
1855
+ * ```js
1856
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
1857
+ * // payload: { convId: string, shareId: string,
1858
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
1859
+ * })
1860
+ * ```
1861
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1862
+ */
1863
+ EmbedEvent["SpotterConversationShared"] = "spotterConversationShared";
1864
+ /**
1865
+ * Emitted when access to a shared Spotter conversation is revoked
1866
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
1867
+ * and the share is deleted entirely.
1868
+ * @example
1869
+ * ```js
1870
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
1871
+ * // payload: { convId: string, shareId: string,
1872
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
1873
+ * })
1874
+ * ```
1875
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1876
+ */
1877
+ EmbedEvent["SpotterConversationShareRevoked"] = "spotterConversationShareRevoked";
1878
+ /**
1879
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
1880
+ * view). No shareId available viewer-side.
1881
+ * @example
1882
+ * ```js
1883
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
1884
+ * // payload: { convId: string, sourceConvId: string }
1885
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
1886
+ * })
1887
+ * ```
1888
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1889
+ */
1890
+ EmbedEvent["SpotterSharedConversationViewed"] = "spotterSharedConversationViewed";
1891
+ /**
1892
+ * Emitted when the user toggles the share-modal "include new messages since
1893
+ * last shared version" checkbox.
1894
+ * @example
1895
+ * ```js
1896
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
1897
+ * // payload: { convId: string, includeNewMessages: boolean }
1898
+ * })
1899
+ * ```
1900
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1901
+ */
1902
+ EmbedEvent["SpotterShareIncludeNewMessagesCheckboxToggled"] = "spotterShareIncludeNewMessagesCheckboxToggled";
1903
+ /**
1904
+ * Emitted when the user dismisses the stale-snapshot info banner via its
1905
+ * cross (distinct from the include-new-messages checkbox toggle).
1906
+ * @example
1907
+ * ```js
1908
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
1909
+ * // payload: { convId: string }
1910
+ * })
1911
+ * ```
1912
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1913
+ */
1914
+ EmbedEvent["SpotterShareStaleInfoBannerDismissed"] = "spotterShareStaleInfoBannerDismissed";
1915
+ /**
1916
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
1917
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
1918
+ * / `SpotterConversationShareRevoked` result events.
1919
+ * @example
1920
+ * ```js
1921
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
1922
+ * // payload: { convId: string }
1923
+ * })
1924
+ * ```
1925
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1926
+ */
1927
+ EmbedEvent["SpotterShareModalConfirmButtonClicked"] = "spotterShareModalConfirmButtonClicked";
1928
+ /**
1929
+ * Emitted when the share modal is dismissed via the Cancel button.
1930
+ * @example
1931
+ * ```js
1932
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
1933
+ * // payload: { convId: string }
1934
+ * })
1935
+ * ```
1936
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1937
+ */
1938
+ EmbedEvent["SpotterShareModalCancelButtonClicked"] = "spotterShareModalCancelButtonClicked";
1939
+ /**
1940
+ * Emitted when a recipient leaves the read-only shared view via the Exit
1941
+ * button.
1942
+ * @example
1943
+ * ```js
1944
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
1945
+ * // payload: { convId: string }
1946
+ * })
1947
+ * ```
1948
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1949
+ */
1950
+ EmbedEvent["SpotterSharedConversationExitButtonClicked"] = "spotterSharedConversationExitButtonClicked";
1951
+ /**
1952
+ * Emitted when a Spotter conversation is pinned.
1953
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
1954
+ * @example
1955
+ * ```js
1956
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
1957
+ * console.log('Conversation pinned', payload);
1958
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
1959
+ * })
1960
+ * ```
1961
+ */
1962
+ EmbedEvent["SpotterConversationPinned"] = "spotterConversationPinned";
1963
+ /**
1964
+ * Emitted when a Spotter conversation is unpinned.
1965
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
1966
+ * @example
1967
+ * ```js
1968
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
1969
+ * console.log('Conversation unpinned', payload);
1970
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
1971
+ * })
1972
+ * ```
1973
+ */
1974
+ EmbedEvent["SpotterConversationUnpinned"] = "spotterConversationUnpinned";
1803
1975
  /**
1804
1976
  * Emitted when a Spotter conversation is selected/clicked.
1805
1977
  * @example
@@ -2316,6 +2488,17 @@
2316
2488
  * name: string,
2317
2489
  * type: ATTRIBUTE/MEASURE,
2318
2490
  * dataType: INT64/CHAR/DATE }
2491
+ *
2492
+ * `applicability` - Optional. Scopes the filter to a specific target,
2493
+ * for example, a single Liveboard tab, so the panel for the correct
2494
+ * scoped filter is opened. Available from SDK: 1.53.0 |
2495
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
2496
+ *
2497
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
2498
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
2499
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
2500
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
2501
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
2319
2502
  * @example
2320
2503
  * ```js
2321
2504
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -2328,6 +2511,14 @@
2328
2511
  * ```
2329
2512
  * @example
2330
2513
  * ```js
2514
+ * // Open a filter scoped to a specific Liveboard tab
2515
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
2516
+ * column: { columnId: '<column-GUID>' },
2517
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
2518
+ * });
2519
+ * ```
2520
+ * @example
2521
+ * ```js
2331
2522
  * // Open filter from search context
2332
2523
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
2333
2524
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -2337,6 +2528,38 @@
2337
2528
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
2338
2529
  */
2339
2530
  HostEvent["OpenFilter"] = "openFilter";
2531
+ /**
2532
+ * Open the parameter panel for a particular parameter on a Liveboard.
2533
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
2534
+ * @param - Includes the following keys:
2535
+ * - `parameter`: An object identifying the parameter to open, for
2536
+ * example, `{ parameterId: '<parameter-GUID>' }`.
2537
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
2538
+ * for example, a single Liveboard tab, so the panel for the correct
2539
+ * scoped parameter is opened. Includes the following attributes:
2540
+ *
2541
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
2542
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
2543
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
2544
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
2545
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
2546
+ * @example
2547
+ * ```js
2548
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
2549
+ * parameter: { parameterId: '<parameter-GUID>' }
2550
+ * });
2551
+ * ```
2552
+ * @example
2553
+ * ```js
2554
+ * // Open a parameter scoped to a specific group
2555
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
2556
+ * parameter: { parameterId: '<parameter-GUID>' },
2557
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
2558
+ * });
2559
+ * ```
2560
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
2561
+ */
2562
+ HostEvent["OpenParameter"] = "openParameter";
2340
2563
  /**
2341
2564
  * Add columns to the current search query.
2342
2565
  * @param - { columnIds: string[] }
@@ -3401,13 +3624,13 @@
3401
3624
  /**
3402
3625
  * Get details of filters applied on the Liveboard.
3403
3626
  * Returns arrays containing Liveboard filter and runtime filter elements.
3404
- * Each Liveboard filter may include an `applicability` attribute
3627
+ * Each Liveboard filter includes an optional `applicability` attribute
3405
3628
  * indicating the scope of the filter. It contains a `level`
3406
3629
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
3407
3630
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
3408
3631
  * level there is no `targetId`, since the filter applies to the
3409
3632
  * whole Liveboard.
3410
- * The `applicability` attribute is available from SDK: 1.51.0 |
3633
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3411
3634
  * ThoughtSpot: 26.10.0.cl.
3412
3635
  * @example
3413
3636
  * ```js
@@ -3450,7 +3673,7 @@
3450
3673
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
3451
3674
  *
3452
3675
  * `applicability` - Optional. Scopes the filter to a specific target,
3453
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
3676
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
3454
3677
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
3455
3678
  *
3456
3679
  * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -3573,6 +3796,28 @@
3573
3796
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
3574
3797
  */
3575
3798
  HostEvent["GetTabs"] = "getTabs";
3799
+ /**
3800
+ * Get group details for the current Liveboard.
3801
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
3802
+ * @example
3803
+ * ```js
3804
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
3805
+ * console.log(
3806
+ * groupDetails // GroupDetails of current Liveboard
3807
+ * );
3808
+ * })
3809
+ * ```
3810
+ * @example
3811
+ * ```js
3812
+ * // Get groups from liveboard context
3813
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
3814
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
3815
+ * console.log('groups', groupDetails);
3816
+ * });
3817
+ * ```
3818
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
3819
+ */
3820
+ HostEvent["GetGroups"] = "getGroups";
3576
3821
  /**
3577
3822
  * Set the visible tabs on a Liveboard.
3578
3823
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -3701,7 +3946,7 @@
3701
3946
  * - `value`: The value to set for the parameter.
3702
3947
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
3703
3948
  * - `applicability`: Optional. Scopes the parameter to a specific target,
3704
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
3949
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
3705
3950
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
3706
3951
  *
3707
3952
  * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -3745,13 +3990,13 @@
3745
3990
  HostEvent["UpdateParameters"] = "UpdateParameters";
3746
3991
  /**
3747
3992
  * Triggers GetParameters to fetch the runtime Parameters.
3748
- * Each parameter may include an `applicability` attribute
3993
+ * Each parameter includes an optional `applicability` attribute
3749
3994
  * indicating the scope of the parameter. It contains a `level`
3750
3995
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
3751
3996
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
3752
3997
  * level there is no `targetId`, since the parameter applies to the
3753
3998
  * whole Liveboard.
3754
- * The `applicability` attribute is available from SDK: 1.51.0 |
3999
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3755
4000
  * ThoughtSpot: 26.10.0.cl.
3756
4001
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
3757
4002
  * ```js
@@ -4019,6 +4264,36 @@
4019
4264
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
4020
4265
  */
4021
4266
  HostEvent["ResetSpotterConversation"] = "ResetSpotterConversation";
4267
+ /**
4268
+ * Opens the Spotter share-conversation modal for the given conversation.
4269
+ * `conversationId` is **mandatory** — you must pass the id of the
4270
+ * conversation to share. Also no-op when sharing is disabled
4271
+ * (enableShareConversation off) or when already in the read-only shared view.
4272
+ * @example
4273
+ * ```js
4274
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
4275
+ * ```
4276
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4277
+ */
4278
+ HostEvent["ShareSpotterConversation"] = "ShareSpotterConversation";
4279
+ /**
4280
+ * Closes the Spotter share-conversation modal. No-op if none is open.
4281
+ * @example
4282
+ * ```js
4283
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
4284
+ * ```
4285
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4286
+ */
4287
+ HostEvent["CloseSpotterShareConversation"] = "CloseSpotterShareConversation";
4288
+ /**
4289
+ * Exits the read-only shared-conversation view.
4290
+ * @example
4291
+ * ```js
4292
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
4293
+ * ```
4294
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4295
+ */
4296
+ HostEvent["ExitSpotterSharedConversation"] = "ExitSpotterSharedConversation";
4022
4297
  /**
4023
4298
  * Deletes the last prompt in spotter embed.
4024
4299
  * @example
@@ -4114,6 +4389,41 @@
4114
4389
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
4115
4390
  */
4116
4391
  HostEvent["StartNewSpotterConversation"] = "StartNewSpotterConversation";
4392
+ /**
4393
+ * Pins a saved Spotter conversation so it floats to the top of the past
4394
+ * conversations sidebar. The `conversationId` of the conversation to pin is
4395
+ * required.
4396
+ *
4397
+ * This feature is available only when chat history is enabled on your ThoughtSpot
4398
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
4399
+ * instance.
4400
+ *
4401
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4402
+ * @example
4403
+ * ```js
4404
+ * spotterEmbed.trigger(HostEvent.PinSpotterConversation, {
4405
+ * conversationId: '<conversation-id>',
4406
+ * });
4407
+ * ```
4408
+ */
4409
+ HostEvent["PinSpotterConversation"] = "PinSpotterConversation";
4410
+ /**
4411
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
4412
+ * conversation to unpin is required.
4413
+ *
4414
+ * This feature is available only when chat history is enabled on your ThoughtSpot
4415
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
4416
+ * instance.
4417
+ *
4418
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4419
+ * @example
4420
+ * ```js
4421
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
4422
+ * conversationId: '<conversation-id>',
4423
+ * });
4424
+ * ```
4425
+ */
4426
+ HostEvent["UnpinSpotterConversation"] = "UnpinSpotterConversation";
4117
4427
  /**
4118
4428
  * @hidden
4119
4429
  * Get the current context of the embedded page.
@@ -4353,9 +4663,11 @@
4353
4663
  Param["isGranularXLSXCSVSchedulesEnabled"] = "isGranularXLSXCSVSchedulesEnabled";
4354
4664
  Param["isSendNowLiveboardSchedulingEnabled"] = "isSendNowLiveboardSchedulingEnabled";
4355
4665
  Param["isCentralizedLiveboardFilterUXEnabled"] = "isCentralizedLiveboardFilterUXEnabled";
4666
+ Param["isScopedLiveboardFilteringEnabled"] = "isScopedLiveboardFilteringEnabled";
4356
4667
  Param["isLinkParametersEnabled"] = "isLinkParametersEnabled";
4357
4668
  Param["EnablePastConversationsSidebar"] = "enablePastConversationsSidebar";
4358
4669
  Param["UpdatedSpotterChatPrompt"] = "updatedSpotterChatPrompt";
4670
+ Param["ShowSpotterRadiance"] = "showSpotterRadiance";
4359
4671
  Param["DefaultQueryMode"] = "defaultQueryMode";
4360
4672
  Param["EnableStopAnswerGenerationEmbed"] = "enableStopAnswerGenerationEmbed";
4361
4673
  Param["SpotterSidebarTitle"] = "spotterSidebarTitle";
@@ -4376,6 +4688,8 @@
4376
4688
  Param["SpotterFileUploadEnabled"] = "spotterFileUploadEnabled";
4377
4689
  Param["SpotterFileUploadFileTypes"] = "spotterFileUploadFileTypes";
4378
4690
  Param["IsStarterPromptsEnabled"] = "enableStarterPrompts";
4691
+ Param["UpdatedSpotterExperience"] = "updatedSpotterExperience";
4692
+ Param["SpotterDataSources"] = "spotterDataSources";
4379
4693
  })(Param || (Param = {}));
4380
4694
  /**
4381
4695
  * ThoughtSpot application pages include actions and menu commands
@@ -5640,6 +5954,19 @@
5640
5954
  * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.6.0.cl
5641
5955
  */
5642
5956
  Action["ChangeFilterVisibilityInTab"] = "changeFilterVisibilityInTab";
5957
+ /**
5958
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
5959
+ * including filter, parameter, and cross-filter chips at the liveboard,
5960
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
5961
+ *
5962
+ * @example
5963
+ * ```js
5964
+ * hiddenActions: [Action.AllLiveboardFilters]
5965
+ * disabledActions: [Action.AllLiveboardFilters]
5966
+ * ```
5967
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5968
+ */
5969
+ Action["AllLiveboardFilters"] = "allLiveboardFilters";
5643
5970
  /**
5644
5971
  * The **Data model instructions** button on the Spotter interface.
5645
5972
  * Allows opening the data model instructions modal.
@@ -5975,6 +6302,89 @@
5975
6302
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
5976
6303
  */
5977
6304
  Action["SpotterChatRename"] = "spotterChatRename";
6305
+ /**
6306
+ * Controls visibility and disable state of the Spotter conversation Share
6307
+ * button in the chat header. Only takes effect once sharing is enabled
6308
+ * (enableShareConversation on).
6309
+ * @example
6310
+ * ```js
6311
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
6312
+ * ```
6313
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6314
+ */
6315
+ Action["SpotterShareConversationButtonHeader"] = "spotterShareConversationButtonHeader";
6316
+ /**
6317
+ * Controls visibility and disable state of the Share item in the Spotter
6318
+ * conversation history (sidebar) edit menu. Independent of the header button
6319
+ * above, so a host can show Share in one entry point and hide it in the other.
6320
+ * @example
6321
+ * ```js
6322
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
6323
+ * ```
6324
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6325
+ */
6326
+ Action["SpotterShareConversationMenuItemSidebar"] = "spotterShareConversationMenuItemSidebar";
6327
+ /**
6328
+ * Controls visibility of the entire read-only shared-conversation data-access
6329
+ * banner shown when a recipient opens a shared view. Hide-only.
6330
+ * @example
6331
+ * ```js
6332
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
6333
+ * ```
6334
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6335
+ */
6336
+ Action["SpotterSharedConversationBanner"] = "spotterSharedConversationBanner";
6337
+ /**
6338
+ * Controls visibility and disable state of the cross/close button on the
6339
+ * read-only shared-conversation data-access banner (keeps the banner itself).
6340
+ * @example
6341
+ * ```js
6342
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
6343
+ * ```
6344
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6345
+ */
6346
+ Action["SpotterSharedConversationBannerDismissButton"] = "spotterSharedConversationBannerDismissButton";
6347
+ /**
6348
+ * Controls visibility and disable state of the Exit button in the read-only
6349
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
6350
+ * host event.
6351
+ * @example
6352
+ * ```js
6353
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
6354
+ * ```
6355
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6356
+ */
6357
+ Action["SpotterSharedConversationExitButton"] = "spotterSharedConversationExitButton";
6358
+ /**
6359
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
6360
+ * to the current moment…"). Hide-only.
6361
+ * @example
6362
+ * ```js
6363
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
6364
+ * ```
6365
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6366
+ */
6367
+ Action["SpotterShareUpToCurrentInfo"] = "spotterShareUpToCurrentInfo";
6368
+ /**
6369
+ * Controls visibility and disable state of the share-modal "include new
6370
+ * messages since last shared version" checkbox.
6371
+ * @example
6372
+ * ```js
6373
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
6374
+ * ```
6375
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6376
+ */
6377
+ Action["SpotterShareIncludeNewMessagesCheckbox"] = "spotterShareIncludeNewMessagesCheckbox";
6378
+ /**
6379
+ * Controls visibility and disable state of the cross on the share-modal
6380
+ * stale-snapshot info banner.
6381
+ * @example
6382
+ * ```js
6383
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
6384
+ * ```
6385
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6386
+ */
6387
+ Action["SpotterShareStaleInfoBannerDismissButton"] = "spotterShareStaleInfoBannerDismissButton";
5978
6388
  /**
5979
6389
  * Controls visibility and disable state of the delete action
5980
6390
  * in the Spotter conversation edit menu.
@@ -5985,6 +6395,16 @@
5985
6395
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
5986
6396
  */
5987
6397
  Action["SpotterChatDelete"] = "spotterChatDelete";
6398
+ /**
6399
+ * Controls visibility and disable state of the pin/unpin action
6400
+ * in the Spotter conversation edit menu.
6401
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6402
+ * @example
6403
+ * ```js
6404
+ * disabledActions: [Action.SpotterChatPin]
6405
+ * ```
6406
+ */
6407
+ Action["SpotterChatPin"] = "spotterChatPin";
5988
6408
  /**
5989
6409
  * Controls visibility and disable state of the documentation/best practices
5990
6410
  * link in the Spotter sidebar footer.
@@ -6643,7 +7063,7 @@
6643
7063
  TableContentDensity["Compact"] = "COMPACT";
6644
7064
  })(exports.TableContentDensity || (exports.TableContentDensity = {}));
6645
7065
 
6646
- var version$1="1.50.1";var pkg = {version:version$1};
7066
+ var version$1="1.51.0";var pkg = {version:version$1};
6647
7067
 
6648
7068
  const { version } = pkg;
6649
7069
 
@@ -6789,7 +7209,6 @@
6789
7209
 
6790
7210
  const ERROR_MESSAGE = {
6791
7211
  INVALID_THOUGHTSPOT_HOST: 'Error parsing ThoughtSpot host. Please provide a valid URL.',
6792
- SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND: 'Please select a Model to get started',
6793
7212
  LIVEBOARD_VIZ_ID_VALIDATION: 'Please select a Liveboard to embed.',
6794
7213
  TRIGGER_TIMED_OUT: 'Trigger timed-out in getting a response',
6795
7214
  SEARCHEMBED_BETA_WRANING_MESSAGE: 'SearchEmbed is in Beta in this release.',
@@ -8357,6 +8776,7 @@
8357
8776
  UIPassthroughEvent["GetParameters"] = "getParameters";
8358
8777
  UIPassthroughEvent["GetTML"] = "getTML";
8359
8778
  UIPassthroughEvent["GetTabs"] = "getTabs";
8779
+ UIPassthroughEvent["GetGroups"] = "getGroups";
8360
8780
  UIPassthroughEvent["GetExportRequestForCurrentPinboard"] = "getExportRequestForCurrentPinboard";
8361
8781
  })(exports.UIPassthroughEvent || (exports.UIPassthroughEvent = {}));
8362
8782
 
@@ -18399,6 +18819,10 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
18399
18819
  VISUAL_SDK_IFRAME_LOAD_PERFORMANCE: 'visual-sdk-iframe-load-performance',
18400
18820
  VISUAL_SDK_EMBED_CREATE: 'visual-sdk-embed-create',
18401
18821
  VERCEL_INTEGRATION_COMPLETED: 'vercel-integration-completed',
18822
+ VISUAL_SDK_RENDER_CALLED: 'visual-sdk-render-called',
18823
+ VISUAL_SDK_PRE_RENDER: 'visual-sdk-pre-render',
18824
+ VISUAL_SDK_SHOW_PRE_RENDER: 'visual-sdk-show-pre-render',
18825
+ VISUAL_SDK_HIDE_PRE_RENDER: 'visual-sdk-hide-pre-render',
18402
18826
  };
18403
18827
  let isMixpanelInitialized = false;
18404
18828
  let eventQueue = [];
@@ -20377,6 +20801,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
20377
20801
  [exports.HostEvent.GetParameters]: exports.UIPassthroughEvent.GetParameters,
20378
20802
  [exports.HostEvent.GetTML]: exports.UIPassthroughEvent.GetTML,
20379
20803
  [exports.HostEvent.GetTabs]: exports.UIPassthroughEvent.GetTabs,
20804
+ [exports.HostEvent.GetGroups]: exports.UIPassthroughEvent.GetGroups,
20380
20805
  [exports.HostEvent.getExportRequestForCurrentPinboard]: exports.UIPassthroughEvent.GetExportRequestForCurrentPinboard,
20381
20806
  };
20382
20807
  class HostEventClient {
@@ -22081,6 +22506,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22081
22506
  * @param args
22082
22507
  */
22083
22508
  async render() {
22509
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_CALLED, {
22510
+ embedComponentType: this.viewConfig.embedComponentType,
22511
+ });
22084
22512
  if (!getIsInitCalled()) {
22085
22513
  logger$3.error(ERROR_MESSAGE.RENDER_CALLED_BEFORE_INIT);
22086
22514
  }
@@ -22152,6 +22580,10 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22152
22580
  * @param showPreRenderByDefault - Show the preRender after render, hidden by default
22153
22581
  */
22154
22582
  async preRender(showPreRenderByDefault = false, replaceExistingPreRender = false) {
22583
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_PRE_RENDER, {
22584
+ showPreRenderByDefault,
22585
+ replaceExistingPreRender,
22586
+ });
22155
22587
  if (!this.viewConfig.preRenderId) {
22156
22588
  logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
22157
22589
  return this;
@@ -22329,6 +22761,10 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22329
22761
  */
22330
22762
  async showPreRender() {
22331
22763
  var _a, _b;
22764
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_SHOW_PRE_RENDER, {
22765
+ preRenderId: this.viewConfig.preRenderId,
22766
+ embedComponentType: this.viewConfig.embedComponentType,
22767
+ });
22332
22768
  if (this.shouldWaitForRenderPromise)
22333
22769
  await this.isReadyForRenderPromise;
22334
22770
  if (!this.viewConfig.preRenderId) {
@@ -22434,6 +22870,10 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22434
22870
  * If the component is not preRendered, it issues a warning.
22435
22871
  */
22436
22872
  hidePreRender() {
22873
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_HIDE_PRE_RENDER, {
22874
+ preRenderId: this.viewConfig.preRenderId,
22875
+ embedComponentType: this.viewConfig.embedComponentType,
22876
+ });
22437
22877
  logger$3.debug('HidePreRender Called');
22438
22878
  if (!this.isPreRenderConnected()) {
22439
22879
  // if the embed component is not preRendered , nothing to hide
@@ -22641,6 +23081,18 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22641
23081
  ...(visualOverrides !== undefined ? { visualOverridesParams: visualOverrides } : {}),
22642
23082
  },
22643
23083
  };
23084
+ }
23085
+ function buildSpotterShareConversationAppInitData(initData, viewConfig) {
23086
+ const { spotterShareConversationConfig } = viewConfig;
23087
+ if (!spotterShareConversationConfig)
23088
+ return initData;
23089
+ return {
23090
+ ...initData,
23091
+ embedParams: {
23092
+ ...(initData.embedParams || {}),
23093
+ spotterShareConversationConfig,
23094
+ },
23095
+ };
22644
23096
  }
22645
23097
 
22646
23098
  function buildSpotterVizAppInitData(initData, viewConfig) {
@@ -22754,6 +23206,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22754
23206
  /**
22755
23207
  * Modular (v2) introduces the updated Modular Home Experience.
22756
23208
  * It serves as the foundational version of the home page.
23209
+ * Use {@link HomePage.ModularWithStylingChanges} (V3) or
23210
+ * {@link HomePage.Focused} (V4) instead.
23211
+ * @deprecated V1 and V2 home page experiences are deprecated.
22757
23212
  */
22758
23213
  HomePage["Modular"] = "v2";
22759
23214
  /**
@@ -22869,14 +23324,19 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22869
23324
  async getAppInitData() {
22870
23325
  const defaultAppInitData = await super.getAppInitData();
22871
23326
  const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
22872
- return buildSpotterVizAppInitData(sidebarInitData, this.viewConfig);
23327
+ const vizInitData = buildSpotterVizAppInitData(sidebarInitData, this.viewConfig);
23328
+ return buildSpotterShareConversationAppInitData(vizInitData, this.viewConfig);
22873
23329
  }
22874
23330
  /**
22875
23331
  * Constructs a map of parameters to be passed on to the
22876
23332
  * embedded Liveboard or visualization.
22877
23333
  */
22878
23334
  getEmbedParams() {
22879
- const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = exports.DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, isEnhancedFilterInteractivityEnabled = false, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled = false, isGranularXLSXCSVSchedulesEnabled = false, isCentralizedLiveboardFilterUXEnabled = false, isLinkParametersEnabled, updatedSpotterChatPrompt, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled = false, enableLiveboardDataCache, } = this.viewConfig;
23335
+ const params = this.getEmbedParamsObject();
23336
+ return getQueryParamString(params, true);
23337
+ }
23338
+ getEmbedParamsObject() {
23339
+ const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, updatedSpotterExperience, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = exports.DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, isEnhancedFilterInteractivityEnabled, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterDataSources, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
22880
23340
  let params = {};
22881
23341
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
22882
23342
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -22886,31 +23346,48 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22886
23346
  params[Param.ShowLiveboardTitle] = showLiveboardTitle;
22887
23347
  params[Param.ShowLiveboardDescription] = !!showLiveboardDescription;
22888
23348
  params[Param.ShowMaskedFilterChip] = showMaskedFilterChip;
22889
- params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23349
+ if (!isUndefined$1(isLiveboardMasterpiecesEnabled)) {
23350
+ params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23351
+ }
22890
23352
  if (newChartsLibrary !== undefined) {
22891
23353
  params[Param.EnableNewChartLibrary] = newChartsLibrary;
22892
23354
  }
22893
23355
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
22894
23356
  params[Param.IsFullAppEmbed] = true;
22895
- params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
22896
- params[Param.IsEnhancedFilterInteractivityEnabled] = isEnhancedFilterInteractivityEnabled;
23357
+ if (!isUndefined$1(isLiveboardCompactHeaderEnabled)) {
23358
+ params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
23359
+ }
23360
+ if (!isUndefined$1(isEnhancedFilterInteractivityEnabled)) {
23361
+ params[Param.IsEnhancedFilterInteractivityEnabled] =
23362
+ isEnhancedFilterInteractivityEnabled;
23363
+ }
22897
23364
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
22898
23365
  params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
22899
- params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
23366
+ if (!isUndefined$1(hideIrrelevantChipsInLiveboardTabs)) {
23367
+ params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
23368
+ }
22900
23369
  if (isUnifiedSearchExperienceEnabled !== undefined) {
22901
23370
  params[Param.IsUnifiedSearchExperienceEnabled] = isUnifiedSearchExperienceEnabled;
22902
23371
  }
22903
- params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
23372
+ if (!isUndefined$1(coverAndFilterOptionInPDF)) {
23373
+ params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
23374
+ }
22904
23375
  params = this.getBaseQueryParams(params);
22905
23376
  if (!isUndefined$1(updatedSpotterChatPrompt)) {
22906
23377
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
22907
23378
  }
23379
+ if (!isUndefined$1(showSpotterRadiance)) {
23380
+ params[Param.ShowSpotterRadiance] = !!showSpotterRadiance;
23381
+ }
22908
23382
  if (!isUndefined$1(defaultQueryMode)) {
22909
23383
  params[Param.DefaultQueryMode] = defaultQueryMode;
22910
23384
  }
22911
23385
  if (!isUndefined$1(enableStopAnswerGenerationEmbed)) {
22912
23386
  params[Param.EnableStopAnswerGenerationEmbed] = !!enableStopAnswerGenerationEmbed;
22913
23387
  }
23388
+ if (spotterDataSources && spotterDataSources.length) {
23389
+ params[Param.SpotterDataSources] = JSON.stringify(spotterDataSources);
23390
+ }
22914
23391
  // Handle spotterChatConfig params
22915
23392
  if (spotterChatConfig) {
22916
23393
  const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
@@ -22926,6 +23403,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22926
23403
  params[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
22927
23404
  }
22928
23405
  }
23406
+ if (!isUndefined$1(updatedSpotterExperience)) {
23407
+ params[Param.UpdatedSpotterExperience] = !!updatedSpotterExperience;
23408
+ }
22929
23409
  if (hideObjectSearch) {
22930
23410
  params[Param.HideObjectSearch] = !!hideObjectSearch;
22931
23411
  }
@@ -22992,6 +23472,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22992
23472
  if (isCentralizedLiveboardFilterUXEnabled != undefined) {
22993
23473
  params[Param.isCentralizedLiveboardFilterUXEnabled] = isCentralizedLiveboardFilterUXEnabled;
22994
23474
  }
23475
+ if (isScopedLiveboardFilteringEnabled !== undefined) {
23476
+ params[Param.isScopedLiveboardFilteringEnabled] = isScopedLiveboardFilteringEnabled;
23477
+ }
22995
23478
  if (isThisPeriodInDateFiltersEnabled !== undefined) {
22996
23479
  params[Param.IsThisPeriodInDateFiltersEnabled] = isThisPeriodInDateFiltersEnabled;
22997
23480
  }
@@ -23007,7 +23490,6 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23007
23490
  }
23008
23491
  params[Param.DataPanelV2Enabled] = dataPanelV2;
23009
23492
  params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
23010
- params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
23011
23493
  params[Param.CollapseSearchBarInitially] = collapseSearchBarInitially || collapseSearchBar;
23012
23494
  params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
23013
23495
  if (dataPanelCustomGroupsAccordionInitialState
@@ -23022,33 +23504,15 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23022
23504
  if (modularHomeExperience !== undefined) {
23023
23505
  params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
23024
23506
  }
23025
- // Set navigation to v2 by default to avoid problems like the app
23026
- // switcher (9-dot menu) not showing when v3 navigation is turned on
23027
- // at the cluster level.
23028
- // To use v3 navigation, we must manually set the discoveryExperience
23029
- // settings.
23030
- params[Param.NavigationVersion] = 'v2';
23031
- // Set homePageVersion to v2 by default to reset the LD flag value
23032
- // for the homepageVersion.
23033
- params[Param.HomepageVersion] = 'v2';
23507
+ // Navigation V1/V2 and home page V1/V2 are deprecated. V3 is now the
23508
+ // default experience, Need to send navigationVersion=v3 and
23509
+ // homepageVersion=v3 even when the no discoveryExperience /
23510
+ // modularHomeExperience config is set. Without these
23511
+ // params, older TSA versions (< 26.7) fall back to V2 for nav and
23512
+ // home page, so the defaults must be sent explicitly from the SDK.
23513
+ params[Param.NavigationVersion] = exports.PrimaryNavbarVersion.Sliding;
23514
+ params[Param.HomepageVersion] = exports.HomePage.ModularWithStylingChanges;
23034
23515
  if (discoveryExperience) {
23035
- // primaryNavbarVersion v3 will enabled the new left navigation
23036
- if (discoveryExperience.primaryNavbarVersion === exports.PrimaryNavbarVersion.Sliding) {
23037
- params[Param.NavigationVersion] = discoveryExperience.primaryNavbarVersion;
23038
- // Enable the modularHomeExperience when Sliding is enabled.
23039
- params[Param.ModularHomeExperienceEnabled] = true;
23040
- }
23041
- // homePage v2 will enable the modular home page
23042
- // and it will override the modularHomeExperience value
23043
- if (discoveryExperience.homePage === exports.HomePage.Modular) {
23044
- params[Param.ModularHomeExperienceEnabled] = true;
23045
- }
23046
- // ModularWithStylingChanges (v3) introduces the styling changes
23047
- // to the Modular Homepage.
23048
- // v3 will be the base version of homePageVersion.
23049
- if (discoveryExperience.homePage === exports.HomePage.ModularWithStylingChanges) {
23050
- params[Param.HomepageVersion] = exports.HomePage.ModularWithStylingChanges;
23051
- }
23052
23516
  // listPageVersion can be changed to v2 or v3
23053
23517
  if (discoveryExperience.listPageVersion !== undefined) {
23054
23518
  params[Param.ListPageVersion] = discoveryExperience.listPageVersion;
@@ -23063,8 +23527,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23063
23527
  }
23064
23528
  }
23065
23529
  }
23066
- const queryParams = getQueryParamString(params, true);
23067
- return queryParams;
23530
+ return params;
23068
23531
  }
23069
23532
  /**
23070
23533
  * Constructs the URL of the ThoughtSpot app page to be rendered.
@@ -23408,7 +23871,7 @@ query GetEurekaVizSnapshots(
23408
23871
  getEmbedParamsObject() {
23409
23872
  let params = {};
23410
23873
  params = this.getBaseQueryParams(params);
23411
- const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, newChartsLibrary, isEnhancedFilterInteractivityEnabled = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled = false, isGranularXLSXCSVSchedulesEnabled = false, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isLinkParametersEnabled, updatedSpotterChatPrompt, enableStopAnswerGenerationEmbed, spotterChatConfig, isThisPeriodInDateFiltersEnabled, isContinuousLiveboardPDFEnabled = false, enableLiveboardDataCache, } = this.viewConfig;
23874
+ const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, isEnhancedFilterInteractivityEnabled, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, updatedSpotterExperience, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, enableStopAnswerGenerationEmbed, spotterChatConfig, isThisPeriodInDateFiltersEnabled, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
23412
23875
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
23413
23876
  || this.viewConfig.preventPinboardFilterRemoval;
23414
23877
  if (fullHeight === true) {
@@ -23430,6 +23893,9 @@ query GetEurekaVizSnapshots(
23430
23893
  if (!isUndefined$1(updatedSpotterChatPrompt)) {
23431
23894
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
23432
23895
  }
23896
+ if (!isUndefined$1(showSpotterRadiance)) {
23897
+ params[Param.ShowSpotterRadiance] = !!showSpotterRadiance;
23898
+ }
23433
23899
  if (!isUndefined$1(enableStopAnswerGenerationEmbed)) {
23434
23900
  params[Param.EnableStopAnswerGenerationEmbed] = !!enableStopAnswerGenerationEmbed;
23435
23901
  }
@@ -23485,6 +23951,9 @@ query GetEurekaVizSnapshots(
23485
23951
  if (showSpotterLimitations !== undefined) {
23486
23952
  params[Param.ShowSpotterLimitations] = showSpotterLimitations;
23487
23953
  }
23954
+ if (!isUndefined$1(updatedSpotterExperience)) {
23955
+ params[Param.UpdatedSpotterExperience] = !!updatedSpotterExperience;
23956
+ }
23488
23957
  // Handle spotterChatConfig params
23489
23958
  if (spotterChatConfig) {
23490
23959
  const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
@@ -23506,6 +23975,9 @@ query GetEurekaVizSnapshots(
23506
23975
  if (isCentralizedLiveboardFilterUXEnabled !== undefined) {
23507
23976
  params[Param.isCentralizedLiveboardFilterUXEnabled] = isCentralizedLiveboardFilterUXEnabled;
23508
23977
  }
23978
+ if (isScopedLiveboardFilteringEnabled !== undefined) {
23979
+ params[Param.isScopedLiveboardFilteringEnabled] = isScopedLiveboardFilteringEnabled;
23980
+ }
23509
23981
  if (isThisPeriodInDateFiltersEnabled !== undefined) {
23510
23982
  params[Param.IsThisPeriodInDateFiltersEnabled] = isThisPeriodInDateFiltersEnabled;
23511
23983
  }
@@ -23519,16 +23991,27 @@ query GetEurekaVizSnapshots(
23519
23991
  params[Param.EnableNewChartLibrary] = newChartsLibrary;
23520
23992
  }
23521
23993
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
23522
- params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
23994
+ if (!isUndefined$1(isLiveboardCompactHeaderEnabled)) {
23995
+ params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
23996
+ }
23523
23997
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
23524
23998
  params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
23525
- params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
23999
+ if (!isUndefined$1(hideIrrelevantChipsInLiveboardTabs)) {
24000
+ params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
24001
+ }
23526
24002
  params[Param.ShowMaskedFilterChip] = showMaskedFilterChip;
23527
- params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23528
- params[Param.IsEnhancedFilterInteractivityEnabled] = isEnhancedFilterInteractivityEnabled;
24003
+ if (!isUndefined$1(isLiveboardMasterpiecesEnabled)) {
24004
+ params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
24005
+ }
24006
+ if (!isUndefined$1(isEnhancedFilterInteractivityEnabled)) {
24007
+ params[Param.IsEnhancedFilterInteractivityEnabled] =
24008
+ isEnhancedFilterInteractivityEnabled;
24009
+ }
23529
24010
  params[Param.DataPanelV2Enabled] = dataPanelV2;
23530
24011
  params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
23531
- params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
24012
+ if (!isUndefined$1(coverAndFilterOptionInPDF)) {
24013
+ params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
24014
+ }
23532
24015
  getQueryParamString(params, true);
23533
24016
  return params;
23534
24017
  }
@@ -24599,18 +25082,11 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
24599
25082
  */
24600
25083
  async getAppInitData() {
24601
25084
  const defaultAppInitData = await super.getAppInitData();
24602
- return buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
25085
+ const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
25086
+ return buildSpotterShareConversationAppInitData(sidebarInitData, this.viewConfig);
24603
25087
  }
24604
25088
  getEmbedParamsObject() {
24605
- const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
24606
- if (!worksheetId) {
24607
- this.handleError({
24608
- errorType: exports.ErrorDetailsTypes.VALIDATION_ERROR,
24609
- message: ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND,
24610
- code: exports.EmbedErrorCodes.WORKSHEET_ID_NOT_FOUND,
24611
- error: ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND,
24612
- });
24613
- }
25089
+ const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
24614
25090
  const queryParams = this.getBaseQueryParams();
24615
25091
  queryParams[Param.SpotterEnabled] = true;
24616
25092
  // Boolean params
@@ -24620,6 +25096,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
24620
25096
  setParamIfDefined(queryParams, Param.ShowSpotterLimitations, showSpotterLimitations, true);
24621
25097
  setParamIfDefined(queryParams, Param.HideSampleQuestions, hideSampleQuestions, true);
24622
25098
  setParamIfDefined(queryParams, Param.UpdatedSpotterChatPrompt, updatedSpotterChatPrompt, true);
25099
+ setParamIfDefined(queryParams, Param.ShowSpotterRadiance, showSpotterRadiance, true);
24623
25100
  setParamIfDefined(queryParams, Param.DefaultQueryMode, defaultQueryMode);
24624
25101
  setParamIfDefined(queryParams, Param.EnableStopAnswerGenerationEmbed, enableStopAnswerGenerationEmbed, true);
24625
25102
  // Handle spotterChatConfig params
@@ -24633,11 +25110,18 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
24633
25110
  queryParams[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
24634
25111
  }
24635
25112
  }
25113
+ setParamIfDefined(queryParams, Param.UpdatedSpotterExperience, updatedSpotterExperience, true);
24636
25114
  return queryParams;
24637
25115
  }
24638
25116
  getIframeSrc() {
24639
- const { worksheetId, searchOptions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, } = this.viewConfig;
24640
- const path = 'insights/conv-assist';
25117
+ const { worksheetId, searchOptions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, sharedConversationId, dataSources, } = this.viewConfig;
25118
+ // Deep-link into the read-only shared-conversation reader view when a
25119
+ // shared conversation id is supplied (e.g. a recipient landing from a
25120
+ // host-configured CONVERSATION_URL share link); otherwise the normal
25121
+ // Spotter conversation surface.
25122
+ const path = sharedConversationId
25123
+ ? `insights/conv-assist/s/${encodeURIComponent(sharedConversationId)}`
25124
+ : 'insights/conv-assist';
24641
25125
  const queryParams = this.getEmbedParamsObject();
24642
25126
  let query = '';
24643
25127
  const queryParamsString = getQueryParamString(queryParams, true);
@@ -24653,8 +25137,12 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
24653
25137
  query += `&${parameterQuery}`;
24654
25138
  }
24655
25139
  const tsPostHashParams = this.getThoughtSpotPostUrlParams({
24656
- worksheet: worksheetId,
24657
- query: (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) || '',
25140
+ ...(!(Array.isArray(dataSources) && dataSources.length > 0) && worksheetId
25141
+ && { worksheet: worksheetId }),
25142
+ ...((searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) && { query: searchOptions.searchQuery }),
25143
+ ...(Array.isArray(dataSources)
25144
+ && dataSources.length > 0
25145
+ && { dataSources: JSON.stringify(dataSources) }),
24658
25146
  });
24659
25147
  return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
24660
25148
  }