@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
@@ -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 _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -189,7 +189,9 @@ var AuthType;
189
189
  })(AuthType || (AuthType = {}));
190
190
  /**
191
191
  *
192
- * **Note**: This attribute is not supported in the classic (V1) homepage experience.
192
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
193
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges) and
194
+ * V4 (Focused) home page experiences.
193
195
  *
194
196
  */
195
197
  var HomeLeftNavItem;
@@ -336,7 +338,9 @@ var RuntimeFilterOp;
336
338
  * via `hiddenHomepageModules` and reordered via
337
339
  * `reorderedHomepageModules`.
338
340
  *
339
- * **Note**: This option is not supported in the classic (v1) experience.
341
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
342
+ * deprecated. These modules apply to V3 (ModularWithStylingChanges) and
343
+ * V4 (Focused) home page experiences.
340
344
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
341
345
  */
342
346
  var HomepageModule;
@@ -1294,11 +1298,19 @@ var EmbedEvent;
1294
1298
  * Emitted when a user changes any filter on a Liveboard.
1295
1299
  * Returns filter type and name, column name and ID, and runtime
1296
1300
  * filter details.
1301
+ * The payload includes an optional `applicability` attribute indicating the
1302
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
1303
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
1304
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
1305
+ * is no `targetId`, since the filter applies to the whole Liveboard.
1306
+ * The `applicability` attribute is available from SDK: 1.53.0 |
1307
+ * ThoughtSpot: 26.10.0.cl.
1297
1308
  * @example
1298
1309
  *
1299
1310
  * ```js
1300
1311
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
1301
1312
  * console.log('payload', payload);
1313
+ * // payload.data optionally includes applicability: { level, targetId }
1302
1314
  * })
1303
1315
  * ```
1304
1316
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -1490,9 +1502,17 @@ var EmbedEvent;
1490
1502
  /**
1491
1503
  * Emitted when parameter changes in an Answer
1492
1504
  * or Liveboard.
1505
+ * The payload includes an optional `applicability` attribute indicating the
1506
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
1507
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
1508
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
1509
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
1510
+ * The `applicability` attribute is available from SDK: 1.53.0 |
1511
+ * ThoughtSpot: 26.10.0.cl.
1493
1512
  * ```js
1494
1513
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
1495
1514
  * console.log('payload', payload);
1515
+ * // payload.data optionally includes applicability: { level, targetId }
1496
1516
  * })
1497
1517
  * ```
1498
1518
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -1794,6 +1814,158 @@ var EmbedEvent;
1794
1814
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
1795
1815
  */
1796
1816
  EmbedEvent["SpotterConversationDeleted"] = "spotterConversationDeleted";
1817
+ /**
1818
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
1819
+ * to bracket the interaction. App→host counterpart of the
1820
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
1821
+ * @example
1822
+ * ```js
1823
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
1824
+ * // payload: { convId: string }
1825
+ * })
1826
+ * ```
1827
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1828
+ */
1829
+ EmbedEvent["SpotterShareConversationButtonHeaderClicked"] = "spotterShareConversationButtonHeaderClicked";
1830
+ /**
1831
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
1832
+ * to bracket the interaction.
1833
+ * @example
1834
+ * ```js
1835
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
1836
+ * // payload: { convId: string }
1837
+ * })
1838
+ * ```
1839
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1840
+ */
1841
+ EmbedEvent["SpotterShareConversationMenuItemSidebarClicked"] = "spotterShareConversationMenuItemSidebarClicked";
1842
+ /**
1843
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
1844
+ * share created). The host builds its own link from shareId/convId + its
1845
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
1846
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
1847
+ * the save resolves.
1848
+ * @example
1849
+ * ```js
1850
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
1851
+ * // payload: { convId: string, shareId: string,
1852
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
1853
+ * })
1854
+ * ```
1855
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1856
+ */
1857
+ EmbedEvent["SpotterConversationShared"] = "spotterConversationShared";
1858
+ /**
1859
+ * Emitted when access to a shared Spotter conversation is revoked
1860
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
1861
+ * and the share is deleted entirely.
1862
+ * @example
1863
+ * ```js
1864
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
1865
+ * // payload: { convId: string, shareId: string,
1866
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
1867
+ * })
1868
+ * ```
1869
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1870
+ */
1871
+ EmbedEvent["SpotterConversationShareRevoked"] = "spotterConversationShareRevoked";
1872
+ /**
1873
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
1874
+ * view). No shareId available viewer-side.
1875
+ * @example
1876
+ * ```js
1877
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
1878
+ * // payload: { convId: string, sourceConvId: string }
1879
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
1880
+ * })
1881
+ * ```
1882
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1883
+ */
1884
+ EmbedEvent["SpotterSharedConversationViewed"] = "spotterSharedConversationViewed";
1885
+ /**
1886
+ * Emitted when the user toggles the share-modal "include new messages since
1887
+ * last shared version" checkbox.
1888
+ * @example
1889
+ * ```js
1890
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
1891
+ * // payload: { convId: string, includeNewMessages: boolean }
1892
+ * })
1893
+ * ```
1894
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1895
+ */
1896
+ EmbedEvent["SpotterShareIncludeNewMessagesCheckboxToggled"] = "spotterShareIncludeNewMessagesCheckboxToggled";
1897
+ /**
1898
+ * Emitted when the user dismisses the stale-snapshot info banner via its
1899
+ * cross (distinct from the include-new-messages checkbox toggle).
1900
+ * @example
1901
+ * ```js
1902
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
1903
+ * // payload: { convId: string }
1904
+ * })
1905
+ * ```
1906
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1907
+ */
1908
+ EmbedEvent["SpotterShareStaleInfoBannerDismissed"] = "spotterShareStaleInfoBannerDismissed";
1909
+ /**
1910
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
1911
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
1912
+ * / `SpotterConversationShareRevoked` result events.
1913
+ * @example
1914
+ * ```js
1915
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
1916
+ * // payload: { convId: string }
1917
+ * })
1918
+ * ```
1919
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1920
+ */
1921
+ EmbedEvent["SpotterShareModalConfirmButtonClicked"] = "spotterShareModalConfirmButtonClicked";
1922
+ /**
1923
+ * Emitted when the share modal is dismissed via the Cancel button.
1924
+ * @example
1925
+ * ```js
1926
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
1927
+ * // payload: { convId: string }
1928
+ * })
1929
+ * ```
1930
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1931
+ */
1932
+ EmbedEvent["SpotterShareModalCancelButtonClicked"] = "spotterShareModalCancelButtonClicked";
1933
+ /**
1934
+ * Emitted when a recipient leaves the read-only shared view via the Exit
1935
+ * button.
1936
+ * @example
1937
+ * ```js
1938
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
1939
+ * // payload: { convId: string }
1940
+ * })
1941
+ * ```
1942
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1943
+ */
1944
+ EmbedEvent["SpotterSharedConversationExitButtonClicked"] = "spotterSharedConversationExitButtonClicked";
1945
+ /**
1946
+ * Emitted when a Spotter conversation is pinned.
1947
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
1948
+ * @example
1949
+ * ```js
1950
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
1951
+ * console.log('Conversation pinned', payload);
1952
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
1953
+ * })
1954
+ * ```
1955
+ */
1956
+ EmbedEvent["SpotterConversationPinned"] = "spotterConversationPinned";
1957
+ /**
1958
+ * Emitted when a Spotter conversation is unpinned.
1959
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
1960
+ * @example
1961
+ * ```js
1962
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
1963
+ * console.log('Conversation unpinned', payload);
1964
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
1965
+ * })
1966
+ * ```
1967
+ */
1968
+ EmbedEvent["SpotterConversationUnpinned"] = "spotterConversationUnpinned";
1797
1969
  /**
1798
1970
  * Emitted when a Spotter conversation is selected/clicked.
1799
1971
  * @example
@@ -2310,6 +2482,17 @@ var HostEvent;
2310
2482
  * name: string,
2311
2483
  * type: ATTRIBUTE/MEASURE,
2312
2484
  * dataType: INT64/CHAR/DATE }
2485
+ *
2486
+ * `applicability` - Optional. Scopes the filter to a specific target,
2487
+ * for example, a single Liveboard tab, so the panel for the correct
2488
+ * scoped filter is opened. Available from SDK: 1.53.0 |
2489
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
2490
+ *
2491
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
2492
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
2493
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
2494
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
2495
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
2313
2496
  * @example
2314
2497
  * ```js
2315
2498
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -2322,6 +2505,14 @@ var HostEvent;
2322
2505
  * ```
2323
2506
  * @example
2324
2507
  * ```js
2508
+ * // Open a filter scoped to a specific Liveboard tab
2509
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
2510
+ * column: { columnId: '<column-GUID>' },
2511
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
2512
+ * });
2513
+ * ```
2514
+ * @example
2515
+ * ```js
2325
2516
  * // Open filter from search context
2326
2517
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
2327
2518
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -2331,6 +2522,38 @@ var HostEvent;
2331
2522
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
2332
2523
  */
2333
2524
  HostEvent["OpenFilter"] = "openFilter";
2525
+ /**
2526
+ * Open the parameter panel for a particular parameter on a Liveboard.
2527
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
2528
+ * @param - Includes the following keys:
2529
+ * - `parameter`: An object identifying the parameter to open, for
2530
+ * example, `{ parameterId: '<parameter-GUID>' }`.
2531
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
2532
+ * for example, a single Liveboard tab, so the panel for the correct
2533
+ * scoped parameter is opened. Includes the following attributes:
2534
+ *
2535
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
2536
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
2537
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
2538
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
2539
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
2540
+ * @example
2541
+ * ```js
2542
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
2543
+ * parameter: { parameterId: '<parameter-GUID>' }
2544
+ * });
2545
+ * ```
2546
+ * @example
2547
+ * ```js
2548
+ * // Open a parameter scoped to a specific group
2549
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
2550
+ * parameter: { parameterId: '<parameter-GUID>' },
2551
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
2552
+ * });
2553
+ * ```
2554
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
2555
+ */
2556
+ HostEvent["OpenParameter"] = "openParameter";
2334
2557
  /**
2335
2558
  * Add columns to the current search query.
2336
2559
  * @param - { columnIds: string[] }
@@ -3395,13 +3618,13 @@ var HostEvent;
3395
3618
  /**
3396
3619
  * Get details of filters applied on the Liveboard.
3397
3620
  * Returns arrays containing Liveboard filter and runtime filter elements.
3398
- * Each Liveboard filter may include an `applicability` attribute
3621
+ * Each Liveboard filter includes an optional `applicability` attribute
3399
3622
  * indicating the scope of the filter. It contains a `level`
3400
3623
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
3401
3624
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
3402
3625
  * level there is no `targetId`, since the filter applies to the
3403
3626
  * whole Liveboard.
3404
- * The `applicability` attribute is available from SDK: 1.51.0 |
3627
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3405
3628
  * ThoughtSpot: 26.10.0.cl.
3406
3629
  * @example
3407
3630
  * ```js
@@ -3444,7 +3667,7 @@ var HostEvent;
3444
3667
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
3445
3668
  *
3446
3669
  * `applicability` - Optional. Scopes the filter to a specific target,
3447
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
3670
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
3448
3671
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
3449
3672
  *
3450
3673
  * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -3567,6 +3790,28 @@ var HostEvent;
3567
3790
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
3568
3791
  */
3569
3792
  HostEvent["GetTabs"] = "getTabs";
3793
+ /**
3794
+ * Get group details for the current Liveboard.
3795
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
3796
+ * @example
3797
+ * ```js
3798
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
3799
+ * console.log(
3800
+ * groupDetails // GroupDetails of current Liveboard
3801
+ * );
3802
+ * })
3803
+ * ```
3804
+ * @example
3805
+ * ```js
3806
+ * // Get groups from liveboard context
3807
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
3808
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
3809
+ * console.log('groups', groupDetails);
3810
+ * });
3811
+ * ```
3812
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
3813
+ */
3814
+ HostEvent["GetGroups"] = "getGroups";
3570
3815
  /**
3571
3816
  * Set the visible tabs on a Liveboard.
3572
3817
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -3695,7 +3940,7 @@ var HostEvent;
3695
3940
  * - `value`: The value to set for the parameter.
3696
3941
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
3697
3942
  * - `applicability`: Optional. Scopes the parameter to a specific target,
3698
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
3943
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
3699
3944
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
3700
3945
  *
3701
3946
  * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -3739,13 +3984,13 @@ var HostEvent;
3739
3984
  HostEvent["UpdateParameters"] = "UpdateParameters";
3740
3985
  /**
3741
3986
  * Triggers GetParameters to fetch the runtime Parameters.
3742
- * Each parameter may include an `applicability` attribute
3987
+ * Each parameter includes an optional `applicability` attribute
3743
3988
  * indicating the scope of the parameter. It contains a `level`
3744
3989
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
3745
3990
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
3746
3991
  * level there is no `targetId`, since the parameter applies to the
3747
3992
  * whole Liveboard.
3748
- * The `applicability` attribute is available from SDK: 1.51.0 |
3993
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3749
3994
  * ThoughtSpot: 26.10.0.cl.
3750
3995
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
3751
3996
  * ```js
@@ -4013,6 +4258,36 @@ var HostEvent;
4013
4258
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
4014
4259
  */
4015
4260
  HostEvent["ResetSpotterConversation"] = "ResetSpotterConversation";
4261
+ /**
4262
+ * Opens the Spotter share-conversation modal for the given conversation.
4263
+ * `conversationId` is **mandatory** — you must pass the id of the
4264
+ * conversation to share. Also no-op when sharing is disabled
4265
+ * (enableShareConversation off) or when already in the read-only shared view.
4266
+ * @example
4267
+ * ```js
4268
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
4269
+ * ```
4270
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4271
+ */
4272
+ HostEvent["ShareSpotterConversation"] = "ShareSpotterConversation";
4273
+ /**
4274
+ * Closes the Spotter share-conversation modal. No-op if none is open.
4275
+ * @example
4276
+ * ```js
4277
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
4278
+ * ```
4279
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4280
+ */
4281
+ HostEvent["CloseSpotterShareConversation"] = "CloseSpotterShareConversation";
4282
+ /**
4283
+ * Exits the read-only shared-conversation view.
4284
+ * @example
4285
+ * ```js
4286
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
4287
+ * ```
4288
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4289
+ */
4290
+ HostEvent["ExitSpotterSharedConversation"] = "ExitSpotterSharedConversation";
4016
4291
  /**
4017
4292
  * Deletes the last prompt in spotter embed.
4018
4293
  * @example
@@ -4108,6 +4383,41 @@ var HostEvent;
4108
4383
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
4109
4384
  */
4110
4385
  HostEvent["StartNewSpotterConversation"] = "StartNewSpotterConversation";
4386
+ /**
4387
+ * Pins a saved Spotter conversation so it floats to the top of the past
4388
+ * conversations sidebar. The `conversationId` of the conversation to pin is
4389
+ * required.
4390
+ *
4391
+ * This feature is available only when chat history is enabled on your ThoughtSpot
4392
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
4393
+ * instance.
4394
+ *
4395
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4396
+ * @example
4397
+ * ```js
4398
+ * spotterEmbed.trigger(HostEvent.PinSpotterConversation, {
4399
+ * conversationId: '<conversation-id>',
4400
+ * });
4401
+ * ```
4402
+ */
4403
+ HostEvent["PinSpotterConversation"] = "PinSpotterConversation";
4404
+ /**
4405
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
4406
+ * conversation to unpin is required.
4407
+ *
4408
+ * This feature is available only when chat history is enabled on your ThoughtSpot
4409
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
4410
+ * instance.
4411
+ *
4412
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4413
+ * @example
4414
+ * ```js
4415
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
4416
+ * conversationId: '<conversation-id>',
4417
+ * });
4418
+ * ```
4419
+ */
4420
+ HostEvent["UnpinSpotterConversation"] = "UnpinSpotterConversation";
4111
4421
  /**
4112
4422
  * @hidden
4113
4423
  * Get the current context of the embedded page.
@@ -4347,9 +4657,11 @@ var Param;
4347
4657
  Param["isGranularXLSXCSVSchedulesEnabled"] = "isGranularXLSXCSVSchedulesEnabled";
4348
4658
  Param["isSendNowLiveboardSchedulingEnabled"] = "isSendNowLiveboardSchedulingEnabled";
4349
4659
  Param["isCentralizedLiveboardFilterUXEnabled"] = "isCentralizedLiveboardFilterUXEnabled";
4660
+ Param["isScopedLiveboardFilteringEnabled"] = "isScopedLiveboardFilteringEnabled";
4350
4661
  Param["isLinkParametersEnabled"] = "isLinkParametersEnabled";
4351
4662
  Param["EnablePastConversationsSidebar"] = "enablePastConversationsSidebar";
4352
4663
  Param["UpdatedSpotterChatPrompt"] = "updatedSpotterChatPrompt";
4664
+ Param["ShowSpotterRadiance"] = "showSpotterRadiance";
4353
4665
  Param["DefaultQueryMode"] = "defaultQueryMode";
4354
4666
  Param["EnableStopAnswerGenerationEmbed"] = "enableStopAnswerGenerationEmbed";
4355
4667
  Param["SpotterSidebarTitle"] = "spotterSidebarTitle";
@@ -4370,6 +4682,8 @@ var Param;
4370
4682
  Param["SpotterFileUploadEnabled"] = "spotterFileUploadEnabled";
4371
4683
  Param["SpotterFileUploadFileTypes"] = "spotterFileUploadFileTypes";
4372
4684
  Param["IsStarterPromptsEnabled"] = "enableStarterPrompts";
4685
+ Param["UpdatedSpotterExperience"] = "updatedSpotterExperience";
4686
+ Param["SpotterDataSources"] = "spotterDataSources";
4373
4687
  })(Param || (Param = {}));
4374
4688
  /**
4375
4689
  * ThoughtSpot application pages include actions and menu commands
@@ -5634,6 +5948,19 @@ var Action;
5634
5948
  * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.6.0.cl
5635
5949
  */
5636
5950
  Action["ChangeFilterVisibilityInTab"] = "changeFilterVisibilityInTab";
5951
+ /**
5952
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
5953
+ * including filter, parameter, and cross-filter chips at the liveboard,
5954
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
5955
+ *
5956
+ * @example
5957
+ * ```js
5958
+ * hiddenActions: [Action.AllLiveboardFilters]
5959
+ * disabledActions: [Action.AllLiveboardFilters]
5960
+ * ```
5961
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5962
+ */
5963
+ Action["AllLiveboardFilters"] = "allLiveboardFilters";
5637
5964
  /**
5638
5965
  * The **Data model instructions** button on the Spotter interface.
5639
5966
  * Allows opening the data model instructions modal.
@@ -5969,6 +6296,89 @@ var Action;
5969
6296
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
5970
6297
  */
5971
6298
  Action["SpotterChatRename"] = "spotterChatRename";
6299
+ /**
6300
+ * Controls visibility and disable state of the Spotter conversation Share
6301
+ * button in the chat header. Only takes effect once sharing is enabled
6302
+ * (enableShareConversation on).
6303
+ * @example
6304
+ * ```js
6305
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
6306
+ * ```
6307
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6308
+ */
6309
+ Action["SpotterShareConversationButtonHeader"] = "spotterShareConversationButtonHeader";
6310
+ /**
6311
+ * Controls visibility and disable state of the Share item in the Spotter
6312
+ * conversation history (sidebar) edit menu. Independent of the header button
6313
+ * above, so a host can show Share in one entry point and hide it in the other.
6314
+ * @example
6315
+ * ```js
6316
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
6317
+ * ```
6318
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6319
+ */
6320
+ Action["SpotterShareConversationMenuItemSidebar"] = "spotterShareConversationMenuItemSidebar";
6321
+ /**
6322
+ * Controls visibility of the entire read-only shared-conversation data-access
6323
+ * banner shown when a recipient opens a shared view. Hide-only.
6324
+ * @example
6325
+ * ```js
6326
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
6327
+ * ```
6328
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6329
+ */
6330
+ Action["SpotterSharedConversationBanner"] = "spotterSharedConversationBanner";
6331
+ /**
6332
+ * Controls visibility and disable state of the cross/close button on the
6333
+ * read-only shared-conversation data-access banner (keeps the banner itself).
6334
+ * @example
6335
+ * ```js
6336
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
6337
+ * ```
6338
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6339
+ */
6340
+ Action["SpotterSharedConversationBannerDismissButton"] = "spotterSharedConversationBannerDismissButton";
6341
+ /**
6342
+ * Controls visibility and disable state of the Exit button in the read-only
6343
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
6344
+ * host event.
6345
+ * @example
6346
+ * ```js
6347
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
6348
+ * ```
6349
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6350
+ */
6351
+ Action["SpotterSharedConversationExitButton"] = "spotterSharedConversationExitButton";
6352
+ /**
6353
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
6354
+ * to the current moment…"). Hide-only.
6355
+ * @example
6356
+ * ```js
6357
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
6358
+ * ```
6359
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6360
+ */
6361
+ Action["SpotterShareUpToCurrentInfo"] = "spotterShareUpToCurrentInfo";
6362
+ /**
6363
+ * Controls visibility and disable state of the share-modal "include new
6364
+ * messages since last shared version" checkbox.
6365
+ * @example
6366
+ * ```js
6367
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
6368
+ * ```
6369
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6370
+ */
6371
+ Action["SpotterShareIncludeNewMessagesCheckbox"] = "spotterShareIncludeNewMessagesCheckbox";
6372
+ /**
6373
+ * Controls visibility and disable state of the cross on the share-modal
6374
+ * stale-snapshot info banner.
6375
+ * @example
6376
+ * ```js
6377
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
6378
+ * ```
6379
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6380
+ */
6381
+ Action["SpotterShareStaleInfoBannerDismissButton"] = "spotterShareStaleInfoBannerDismissButton";
5972
6382
  /**
5973
6383
  * Controls visibility and disable state of the delete action
5974
6384
  * in the Spotter conversation edit menu.
@@ -5979,6 +6389,16 @@ var Action;
5979
6389
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
5980
6390
  */
5981
6391
  Action["SpotterChatDelete"] = "spotterChatDelete";
6392
+ /**
6393
+ * Controls visibility and disable state of the pin/unpin action
6394
+ * in the Spotter conversation edit menu.
6395
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6396
+ * @example
6397
+ * ```js
6398
+ * disabledActions: [Action.SpotterChatPin]
6399
+ * ```
6400
+ */
6401
+ Action["SpotterChatPin"] = "spotterChatPin";
5982
6402
  /**
5983
6403
  * Controls visibility and disable state of the documentation/best practices
5984
6404
  * link in the Spotter sidebar footer.
@@ -6637,7 +7057,7 @@ var TableContentDensity;
6637
7057
  TableContentDensity["Compact"] = "COMPACT";
6638
7058
  })(TableContentDensity || (TableContentDensity = {}));
6639
7059
 
6640
- var version$1="1.50.1";var pkg = {version:version$1};
7060
+ var version$1="1.51.0";var pkg = {version:version$1};
6641
7061
 
6642
7062
  const { version } = pkg;
6643
7063
 
@@ -6783,7 +7203,6 @@ merge$1.withOptions = (options, ...objects) => {
6783
7203
 
6784
7204
  const ERROR_MESSAGE = {
6785
7205
  INVALID_THOUGHTSPOT_HOST: 'Error parsing ThoughtSpot host. Please provide a valid URL.',
6786
- SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND: 'Please select a Model to get started',
6787
7206
  LIVEBOARD_VIZ_ID_VALIDATION: 'Please select a Liveboard to embed.',
6788
7207
  TRIGGER_TIMED_OUT: 'Trigger timed-out in getting a response',
6789
7208
  SEARCHEMBED_BETA_WRANING_MESSAGE: 'SearchEmbed is in Beta in this release.',
@@ -8351,6 +8770,7 @@ var UIPassthroughEvent;
8351
8770
  UIPassthroughEvent["GetParameters"] = "getParameters";
8352
8771
  UIPassthroughEvent["GetTML"] = "getTML";
8353
8772
  UIPassthroughEvent["GetTabs"] = "getTabs";
8773
+ UIPassthroughEvent["GetGroups"] = "getGroups";
8354
8774
  UIPassthroughEvent["GetExportRequestForCurrentPinboard"] = "getExportRequestForCurrentPinboard";
8355
8775
  })(UIPassthroughEvent || (UIPassthroughEvent = {}));
8356
8776
 
@@ -9286,7 +9706,7 @@ class AnswerService {
9286
9706
  async getTML() {
9287
9707
  const { object } = await this.executeQuery(getAnswerTML, {});
9288
9708
  const edoc = object[0].edoc;
9289
- const YAML = await import('./index-fCne7kmU.js');
9709
+ const YAML = await import('./index-aBzH5ZwF.js');
9290
9710
  const parsedDoc = YAML.parse(edoc);
9291
9711
  return {
9292
9712
  answer: {
@@ -18393,6 +18813,10 @@ const MIXPANEL_EVENT = {
18393
18813
  VISUAL_SDK_IFRAME_LOAD_PERFORMANCE: 'visual-sdk-iframe-load-performance',
18394
18814
  VISUAL_SDK_EMBED_CREATE: 'visual-sdk-embed-create',
18395
18815
  VERCEL_INTEGRATION_COMPLETED: 'vercel-integration-completed',
18816
+ VISUAL_SDK_RENDER_CALLED: 'visual-sdk-render-called',
18817
+ VISUAL_SDK_PRE_RENDER: 'visual-sdk-pre-render',
18818
+ VISUAL_SDK_SHOW_PRE_RENDER: 'visual-sdk-show-pre-render',
18819
+ VISUAL_SDK_HIDE_PRE_RENDER: 'visual-sdk-hide-pre-render',
18396
18820
  };
18397
18821
  let isMixpanelInitialized = false;
18398
18822
  let eventQueue = [];
@@ -20371,6 +20795,7 @@ const PASSTHROUGH_MAP = {
20371
20795
  [HostEvent.GetParameters]: UIPassthroughEvent.GetParameters,
20372
20796
  [HostEvent.GetTML]: UIPassthroughEvent.GetTML,
20373
20797
  [HostEvent.GetTabs]: UIPassthroughEvent.GetTabs,
20798
+ [HostEvent.GetGroups]: UIPassthroughEvent.GetGroups,
20374
20799
  [HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard,
20375
20800
  };
20376
20801
  class HostEventClient {
@@ -22075,6 +22500,9 @@ class TsEmbed {
22075
22500
  * @param args
22076
22501
  */
22077
22502
  async render() {
22503
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_CALLED, {
22504
+ embedComponentType: this.viewConfig.embedComponentType,
22505
+ });
22078
22506
  if (!getIsInitCalled()) {
22079
22507
  logger$3.error(ERROR_MESSAGE.RENDER_CALLED_BEFORE_INIT);
22080
22508
  }
@@ -22146,6 +22574,10 @@ class TsEmbed {
22146
22574
  * @param showPreRenderByDefault - Show the preRender after render, hidden by default
22147
22575
  */
22148
22576
  async preRender(showPreRenderByDefault = false, replaceExistingPreRender = false) {
22577
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_PRE_RENDER, {
22578
+ showPreRenderByDefault,
22579
+ replaceExistingPreRender,
22580
+ });
22149
22581
  if (!this.viewConfig.preRenderId) {
22150
22582
  logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
22151
22583
  return this;
@@ -22323,6 +22755,10 @@ class TsEmbed {
22323
22755
  */
22324
22756
  async showPreRender() {
22325
22757
  var _a, _b;
22758
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_SHOW_PRE_RENDER, {
22759
+ preRenderId: this.viewConfig.preRenderId,
22760
+ embedComponentType: this.viewConfig.embedComponentType,
22761
+ });
22326
22762
  if (this.shouldWaitForRenderPromise)
22327
22763
  await this.isReadyForRenderPromise;
22328
22764
  if (!this.viewConfig.preRenderId) {
@@ -22428,6 +22864,10 @@ class TsEmbed {
22428
22864
  * If the component is not preRendered, it issues a warning.
22429
22865
  */
22430
22866
  hidePreRender() {
22867
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_HIDE_PRE_RENDER, {
22868
+ preRenderId: this.viewConfig.preRenderId,
22869
+ embedComponentType: this.viewConfig.embedComponentType,
22870
+ });
22431
22871
  logger$3.debug('HidePreRender Called');
22432
22872
  if (!this.isPreRenderConnected()) {
22433
22873
  // if the embed component is not preRendered , nothing to hide
@@ -22635,6 +23075,18 @@ function buildSpotterSidebarAppInitData(defaultAppInitData, viewConfig, handleEr
22635
23075
  ...(visualOverrides !== undefined ? { visualOverridesParams: visualOverrides } : {}),
22636
23076
  },
22637
23077
  };
23078
+ }
23079
+ function buildSpotterShareConversationAppInitData(initData, viewConfig) {
23080
+ const { spotterShareConversationConfig } = viewConfig;
23081
+ if (!spotterShareConversationConfig)
23082
+ return initData;
23083
+ return {
23084
+ ...initData,
23085
+ embedParams: {
23086
+ ...(initData.embedParams || {}),
23087
+ spotterShareConversationConfig,
23088
+ },
23089
+ };
22638
23090
  }
22639
23091
 
22640
23092
  function buildSpotterVizAppInitData(initData, viewConfig) {
@@ -22748,6 +23200,9 @@ var HomePage;
22748
23200
  /**
22749
23201
  * Modular (v2) introduces the updated Modular Home Experience.
22750
23202
  * It serves as the foundational version of the home page.
23203
+ * Use {@link HomePage.ModularWithStylingChanges} (V3) or
23204
+ * {@link HomePage.Focused} (V4) instead.
23205
+ * @deprecated V1 and V2 home page experiences are deprecated.
22751
23206
  */
22752
23207
  HomePage["Modular"] = "v2";
22753
23208
  /**
@@ -22863,14 +23318,19 @@ class AppEmbed extends V1Embed {
22863
23318
  async getAppInitData() {
22864
23319
  const defaultAppInitData = await super.getAppInitData();
22865
23320
  const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
22866
- return buildSpotterVizAppInitData(sidebarInitData, this.viewConfig);
23321
+ const vizInitData = buildSpotterVizAppInitData(sidebarInitData, this.viewConfig);
23322
+ return buildSpotterShareConversationAppInitData(vizInitData, this.viewConfig);
22867
23323
  }
22868
23324
  /**
22869
23325
  * Constructs a map of parameters to be passed on to the
22870
23326
  * embedded Liveboard or visualization.
22871
23327
  */
22872
23328
  getEmbedParams() {
22873
- 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 = DataPanelCustomColumnGroupsAccordionState$1.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;
23329
+ const params = this.getEmbedParamsObject();
23330
+ return getQueryParamString(params, true);
23331
+ }
23332
+ getEmbedParamsObject() {
23333
+ 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 = DataPanelCustomColumnGroupsAccordionState$1.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;
22874
23334
  let params = {};
22875
23335
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
22876
23336
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -22880,31 +23340,48 @@ class AppEmbed extends V1Embed {
22880
23340
  params[Param.ShowLiveboardTitle] = showLiveboardTitle;
22881
23341
  params[Param.ShowLiveboardDescription] = !!showLiveboardDescription;
22882
23342
  params[Param.ShowMaskedFilterChip] = showMaskedFilterChip;
22883
- params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23343
+ if (!isUndefined$1(isLiveboardMasterpiecesEnabled)) {
23344
+ params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23345
+ }
22884
23346
  if (newChartsLibrary !== undefined) {
22885
23347
  params[Param.EnableNewChartLibrary] = newChartsLibrary;
22886
23348
  }
22887
23349
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
22888
23350
  params[Param.IsFullAppEmbed] = true;
22889
- params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
22890
- params[Param.IsEnhancedFilterInteractivityEnabled] = isEnhancedFilterInteractivityEnabled;
23351
+ if (!isUndefined$1(isLiveboardCompactHeaderEnabled)) {
23352
+ params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
23353
+ }
23354
+ if (!isUndefined$1(isEnhancedFilterInteractivityEnabled)) {
23355
+ params[Param.IsEnhancedFilterInteractivityEnabled] =
23356
+ isEnhancedFilterInteractivityEnabled;
23357
+ }
22891
23358
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
22892
23359
  params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
22893
- params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
23360
+ if (!isUndefined$1(hideIrrelevantChipsInLiveboardTabs)) {
23361
+ params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
23362
+ }
22894
23363
  if (isUnifiedSearchExperienceEnabled !== undefined) {
22895
23364
  params[Param.IsUnifiedSearchExperienceEnabled] = isUnifiedSearchExperienceEnabled;
22896
23365
  }
22897
- params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
23366
+ if (!isUndefined$1(coverAndFilterOptionInPDF)) {
23367
+ params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
23368
+ }
22898
23369
  params = this.getBaseQueryParams(params);
22899
23370
  if (!isUndefined$1(updatedSpotterChatPrompt)) {
22900
23371
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
22901
23372
  }
23373
+ if (!isUndefined$1(showSpotterRadiance)) {
23374
+ params[Param.ShowSpotterRadiance] = !!showSpotterRadiance;
23375
+ }
22902
23376
  if (!isUndefined$1(defaultQueryMode)) {
22903
23377
  params[Param.DefaultQueryMode] = defaultQueryMode;
22904
23378
  }
22905
23379
  if (!isUndefined$1(enableStopAnswerGenerationEmbed)) {
22906
23380
  params[Param.EnableStopAnswerGenerationEmbed] = !!enableStopAnswerGenerationEmbed;
22907
23381
  }
23382
+ if (spotterDataSources && spotterDataSources.length) {
23383
+ params[Param.SpotterDataSources] = JSON.stringify(spotterDataSources);
23384
+ }
22908
23385
  // Handle spotterChatConfig params
22909
23386
  if (spotterChatConfig) {
22910
23387
  const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
@@ -22920,6 +23397,9 @@ class AppEmbed extends V1Embed {
22920
23397
  params[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
22921
23398
  }
22922
23399
  }
23400
+ if (!isUndefined$1(updatedSpotterExperience)) {
23401
+ params[Param.UpdatedSpotterExperience] = !!updatedSpotterExperience;
23402
+ }
22923
23403
  if (hideObjectSearch) {
22924
23404
  params[Param.HideObjectSearch] = !!hideObjectSearch;
22925
23405
  }
@@ -22986,6 +23466,9 @@ class AppEmbed extends V1Embed {
22986
23466
  if (isCentralizedLiveboardFilterUXEnabled != undefined) {
22987
23467
  params[Param.isCentralizedLiveboardFilterUXEnabled] = isCentralizedLiveboardFilterUXEnabled;
22988
23468
  }
23469
+ if (isScopedLiveboardFilteringEnabled !== undefined) {
23470
+ params[Param.isScopedLiveboardFilteringEnabled] = isScopedLiveboardFilteringEnabled;
23471
+ }
22989
23472
  if (isThisPeriodInDateFiltersEnabled !== undefined) {
22990
23473
  params[Param.IsThisPeriodInDateFiltersEnabled] = isThisPeriodInDateFiltersEnabled;
22991
23474
  }
@@ -23001,7 +23484,6 @@ class AppEmbed extends V1Embed {
23001
23484
  }
23002
23485
  params[Param.DataPanelV2Enabled] = dataPanelV2;
23003
23486
  params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
23004
- params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
23005
23487
  params[Param.CollapseSearchBarInitially] = collapseSearchBarInitially || collapseSearchBar;
23006
23488
  params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
23007
23489
  if (dataPanelCustomGroupsAccordionInitialState
@@ -23016,33 +23498,15 @@ class AppEmbed extends V1Embed {
23016
23498
  if (modularHomeExperience !== undefined) {
23017
23499
  params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
23018
23500
  }
23019
- // Set navigation to v2 by default to avoid problems like the app
23020
- // switcher (9-dot menu) not showing when v3 navigation is turned on
23021
- // at the cluster level.
23022
- // To use v3 navigation, we must manually set the discoveryExperience
23023
- // settings.
23024
- params[Param.NavigationVersion] = 'v2';
23025
- // Set homePageVersion to v2 by default to reset the LD flag value
23026
- // for the homepageVersion.
23027
- params[Param.HomepageVersion] = 'v2';
23501
+ // Navigation V1/V2 and home page V1/V2 are deprecated. V3 is now the
23502
+ // default experience, Need to send navigationVersion=v3 and
23503
+ // homepageVersion=v3 even when the no discoveryExperience /
23504
+ // modularHomeExperience config is set. Without these
23505
+ // params, older TSA versions (< 26.7) fall back to V2 for nav and
23506
+ // home page, so the defaults must be sent explicitly from the SDK.
23507
+ params[Param.NavigationVersion] = PrimaryNavbarVersion.Sliding;
23508
+ params[Param.HomepageVersion] = HomePage.ModularWithStylingChanges;
23028
23509
  if (discoveryExperience) {
23029
- // primaryNavbarVersion v3 will enabled the new left navigation
23030
- if (discoveryExperience.primaryNavbarVersion === PrimaryNavbarVersion.Sliding) {
23031
- params[Param.NavigationVersion] = discoveryExperience.primaryNavbarVersion;
23032
- // Enable the modularHomeExperience when Sliding is enabled.
23033
- params[Param.ModularHomeExperienceEnabled] = true;
23034
- }
23035
- // homePage v2 will enable the modular home page
23036
- // and it will override the modularHomeExperience value
23037
- if (discoveryExperience.homePage === HomePage.Modular) {
23038
- params[Param.ModularHomeExperienceEnabled] = true;
23039
- }
23040
- // ModularWithStylingChanges (v3) introduces the styling changes
23041
- // to the Modular Homepage.
23042
- // v3 will be the base version of homePageVersion.
23043
- if (discoveryExperience.homePage === HomePage.ModularWithStylingChanges) {
23044
- params[Param.HomepageVersion] = HomePage.ModularWithStylingChanges;
23045
- }
23046
23510
  // listPageVersion can be changed to v2 or v3
23047
23511
  if (discoveryExperience.listPageVersion !== undefined) {
23048
23512
  params[Param.ListPageVersion] = discoveryExperience.listPageVersion;
@@ -23057,8 +23521,7 @@ class AppEmbed extends V1Embed {
23057
23521
  }
23058
23522
  }
23059
23523
  }
23060
- const queryParams = getQueryParamString(params, true);
23061
- return queryParams;
23524
+ return params;
23062
23525
  }
23063
23526
  /**
23064
23527
  * Constructs the URL of the ThoughtSpot app page to be rendered.
@@ -23402,7 +23865,7 @@ class LiveboardEmbed extends V1Embed {
23402
23865
  getEmbedParamsObject() {
23403
23866
  let params = {};
23404
23867
  params = this.getBaseQueryParams(params);
23405
- 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;
23868
+ 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;
23406
23869
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
23407
23870
  || this.viewConfig.preventPinboardFilterRemoval;
23408
23871
  if (fullHeight === true) {
@@ -23424,6 +23887,9 @@ class LiveboardEmbed extends V1Embed {
23424
23887
  if (!isUndefined$1(updatedSpotterChatPrompt)) {
23425
23888
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
23426
23889
  }
23890
+ if (!isUndefined$1(showSpotterRadiance)) {
23891
+ params[Param.ShowSpotterRadiance] = !!showSpotterRadiance;
23892
+ }
23427
23893
  if (!isUndefined$1(enableStopAnswerGenerationEmbed)) {
23428
23894
  params[Param.EnableStopAnswerGenerationEmbed] = !!enableStopAnswerGenerationEmbed;
23429
23895
  }
@@ -23479,6 +23945,9 @@ class LiveboardEmbed extends V1Embed {
23479
23945
  if (showSpotterLimitations !== undefined) {
23480
23946
  params[Param.ShowSpotterLimitations] = showSpotterLimitations;
23481
23947
  }
23948
+ if (!isUndefined$1(updatedSpotterExperience)) {
23949
+ params[Param.UpdatedSpotterExperience] = !!updatedSpotterExperience;
23950
+ }
23482
23951
  // Handle spotterChatConfig params
23483
23952
  if (spotterChatConfig) {
23484
23953
  const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
@@ -23500,6 +23969,9 @@ class LiveboardEmbed extends V1Embed {
23500
23969
  if (isCentralizedLiveboardFilterUXEnabled !== undefined) {
23501
23970
  params[Param.isCentralizedLiveboardFilterUXEnabled] = isCentralizedLiveboardFilterUXEnabled;
23502
23971
  }
23972
+ if (isScopedLiveboardFilteringEnabled !== undefined) {
23973
+ params[Param.isScopedLiveboardFilteringEnabled] = isScopedLiveboardFilteringEnabled;
23974
+ }
23503
23975
  if (isThisPeriodInDateFiltersEnabled !== undefined) {
23504
23976
  params[Param.IsThisPeriodInDateFiltersEnabled] = isThisPeriodInDateFiltersEnabled;
23505
23977
  }
@@ -23513,16 +23985,27 @@ class LiveboardEmbed extends V1Embed {
23513
23985
  params[Param.EnableNewChartLibrary] = newChartsLibrary;
23514
23986
  }
23515
23987
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
23516
- params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
23988
+ if (!isUndefined$1(isLiveboardCompactHeaderEnabled)) {
23989
+ params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
23990
+ }
23517
23991
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
23518
23992
  params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
23519
- params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
23993
+ if (!isUndefined$1(hideIrrelevantChipsInLiveboardTabs)) {
23994
+ params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
23995
+ }
23520
23996
  params[Param.ShowMaskedFilterChip] = showMaskedFilterChip;
23521
- params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23522
- params[Param.IsEnhancedFilterInteractivityEnabled] = isEnhancedFilterInteractivityEnabled;
23997
+ if (!isUndefined$1(isLiveboardMasterpiecesEnabled)) {
23998
+ params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23999
+ }
24000
+ if (!isUndefined$1(isEnhancedFilterInteractivityEnabled)) {
24001
+ params[Param.IsEnhancedFilterInteractivityEnabled] =
24002
+ isEnhancedFilterInteractivityEnabled;
24003
+ }
23523
24004
  params[Param.DataPanelV2Enabled] = dataPanelV2;
23524
24005
  params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
23525
- params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
24006
+ if (!isUndefined$1(coverAndFilterOptionInPDF)) {
24007
+ params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
24008
+ }
23526
24009
  getQueryParamString(params, true);
23527
24010
  return params;
23528
24011
  }
@@ -24593,18 +25076,11 @@ class SpotterEmbed extends TsEmbed {
24593
25076
  */
24594
25077
  async getAppInitData() {
24595
25078
  const defaultAppInitData = await super.getAppInitData();
24596
- return buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
25079
+ const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
25080
+ return buildSpotterShareConversationAppInitData(sidebarInitData, this.viewConfig);
24597
25081
  }
24598
25082
  getEmbedParamsObject() {
24599
- const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
24600
- if (!worksheetId) {
24601
- this.handleError({
24602
- errorType: ErrorDetailsTypes.VALIDATION_ERROR,
24603
- message: ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND,
24604
- code: EmbedErrorCodes.WORKSHEET_ID_NOT_FOUND,
24605
- error: ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND,
24606
- });
24607
- }
25083
+ const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
24608
25084
  const queryParams = this.getBaseQueryParams();
24609
25085
  queryParams[Param.SpotterEnabled] = true;
24610
25086
  // Boolean params
@@ -24614,6 +25090,7 @@ class SpotterEmbed extends TsEmbed {
24614
25090
  setParamIfDefined(queryParams, Param.ShowSpotterLimitations, showSpotterLimitations, true);
24615
25091
  setParamIfDefined(queryParams, Param.HideSampleQuestions, hideSampleQuestions, true);
24616
25092
  setParamIfDefined(queryParams, Param.UpdatedSpotterChatPrompt, updatedSpotterChatPrompt, true);
25093
+ setParamIfDefined(queryParams, Param.ShowSpotterRadiance, showSpotterRadiance, true);
24617
25094
  setParamIfDefined(queryParams, Param.DefaultQueryMode, defaultQueryMode);
24618
25095
  setParamIfDefined(queryParams, Param.EnableStopAnswerGenerationEmbed, enableStopAnswerGenerationEmbed, true);
24619
25096
  // Handle spotterChatConfig params
@@ -24627,11 +25104,18 @@ class SpotterEmbed extends TsEmbed {
24627
25104
  queryParams[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
24628
25105
  }
24629
25106
  }
25107
+ setParamIfDefined(queryParams, Param.UpdatedSpotterExperience, updatedSpotterExperience, true);
24630
25108
  return queryParams;
24631
25109
  }
24632
25110
  getIframeSrc() {
24633
- const { worksheetId, searchOptions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, } = this.viewConfig;
24634
- const path = 'insights/conv-assist';
25111
+ const { worksheetId, searchOptions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, sharedConversationId, dataSources, } = this.viewConfig;
25112
+ // Deep-link into the read-only shared-conversation reader view when a
25113
+ // shared conversation id is supplied (e.g. a recipient landing from a
25114
+ // host-configured CONVERSATION_URL share link); otherwise the normal
25115
+ // Spotter conversation surface.
25116
+ const path = sharedConversationId
25117
+ ? `insights/conv-assist/s/${encodeURIComponent(sharedConversationId)}`
25118
+ : 'insights/conv-assist';
24635
25119
  const queryParams = this.getEmbedParamsObject();
24636
25120
  let query = '';
24637
25121
  const queryParamsString = getQueryParamString(queryParams, true);
@@ -24647,8 +25131,12 @@ class SpotterEmbed extends TsEmbed {
24647
25131
  query += `&${parameterQuery}`;
24648
25132
  }
24649
25133
  const tsPostHashParams = this.getThoughtSpotPostUrlParams({
24650
- worksheet: worksheetId,
24651
- query: (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) || '',
25134
+ ...(!(Array.isArray(dataSources) && dataSources.length > 0) && worksheetId
25135
+ && { worksheet: worksheetId }),
25136
+ ...((searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) && { query: searchOptions.searchQuery }),
25137
+ ...(Array.isArray(dataSources)
25138
+ && dataSources.length > 0
25139
+ && { dataSources: JSON.stringify(dataSources) }),
24652
25140
  });
24653
25141
  return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
24654
25142
  }