@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 (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
@@ -396,7 +396,9 @@
396
396
  })(AuthType || (AuthType = {}));
397
397
  /**
398
398
  *
399
- * **Note**: This attribute is not supported in the classic (V1) homepage experience.
399
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
400
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges) and
401
+ * V4 (Focused) home page experiences.
400
402
  *
401
403
  */
402
404
  exports.HomeLeftNavItem = void 0;
@@ -543,7 +545,9 @@
543
545
  * via `hiddenHomepageModules` and reordered via
544
546
  * `reorderedHomepageModules`.
545
547
  *
546
- * **Note**: This option is not supported in the classic (v1) experience.
548
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
549
+ * deprecated. These modules apply to V3 (ModularWithStylingChanges) and
550
+ * V4 (Focused) home page experiences.
547
551
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
548
552
  */
549
553
  exports.HomepageModule = void 0;
@@ -1501,11 +1505,19 @@
1501
1505
  * Emitted when a user changes any filter on a Liveboard.
1502
1506
  * Returns filter type and name, column name and ID, and runtime
1503
1507
  * filter details.
1508
+ * The payload includes an optional `applicability` attribute indicating the
1509
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
1510
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
1511
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
1512
+ * is no `targetId`, since the filter applies to the whole Liveboard.
1513
+ * The `applicability` attribute is available from SDK: 1.53.0 |
1514
+ * ThoughtSpot: 26.10.0.cl.
1504
1515
  * @example
1505
1516
  *
1506
1517
  * ```js
1507
1518
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
1508
1519
  * console.log('payload', payload);
1520
+ * // payload.data optionally includes applicability: { level, targetId }
1509
1521
  * })
1510
1522
  * ```
1511
1523
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -1697,9 +1709,17 @@
1697
1709
  /**
1698
1710
  * Emitted when parameter changes in an Answer
1699
1711
  * or Liveboard.
1712
+ * The payload includes an optional `applicability` attribute indicating the
1713
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
1714
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
1715
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
1716
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
1717
+ * The `applicability` attribute is available from SDK: 1.53.0 |
1718
+ * ThoughtSpot: 26.10.0.cl.
1700
1719
  * ```js
1701
1720
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
1702
1721
  * console.log('payload', payload);
1722
+ * // payload.data optionally includes applicability: { level, targetId }
1703
1723
  * })
1704
1724
  * ```
1705
1725
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -2001,6 +2021,158 @@
2001
2021
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
2002
2022
  */
2003
2023
  EmbedEvent["SpotterConversationDeleted"] = "spotterConversationDeleted";
2024
+ /**
2025
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
2026
+ * to bracket the interaction. App→host counterpart of the
2027
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
2028
+ * @example
2029
+ * ```js
2030
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
2031
+ * // payload: { convId: string }
2032
+ * })
2033
+ * ```
2034
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2035
+ */
2036
+ EmbedEvent["SpotterShareConversationButtonHeaderClicked"] = "spotterShareConversationButtonHeaderClicked";
2037
+ /**
2038
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
2039
+ * to bracket the interaction.
2040
+ * @example
2041
+ * ```js
2042
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
2043
+ * // payload: { convId: string }
2044
+ * })
2045
+ * ```
2046
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2047
+ */
2048
+ EmbedEvent["SpotterShareConversationMenuItemSidebarClicked"] = "spotterShareConversationMenuItemSidebarClicked";
2049
+ /**
2050
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
2051
+ * share created). The host builds its own link from shareId/convId + its
2052
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
2053
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
2054
+ * the save resolves.
2055
+ * @example
2056
+ * ```js
2057
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
2058
+ * // payload: { convId: string, shareId: string,
2059
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
2060
+ * })
2061
+ * ```
2062
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2063
+ */
2064
+ EmbedEvent["SpotterConversationShared"] = "spotterConversationShared";
2065
+ /**
2066
+ * Emitted when access to a shared Spotter conversation is revoked
2067
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
2068
+ * and the share is deleted entirely.
2069
+ * @example
2070
+ * ```js
2071
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
2072
+ * // payload: { convId: string, shareId: string,
2073
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
2074
+ * })
2075
+ * ```
2076
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2077
+ */
2078
+ EmbedEvent["SpotterConversationShareRevoked"] = "spotterConversationShareRevoked";
2079
+ /**
2080
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
2081
+ * view). No shareId available viewer-side.
2082
+ * @example
2083
+ * ```js
2084
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
2085
+ * // payload: { convId: string, sourceConvId: string }
2086
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
2087
+ * })
2088
+ * ```
2089
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2090
+ */
2091
+ EmbedEvent["SpotterSharedConversationViewed"] = "spotterSharedConversationViewed";
2092
+ /**
2093
+ * Emitted when the user toggles the share-modal "include new messages since
2094
+ * last shared version" checkbox.
2095
+ * @example
2096
+ * ```js
2097
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
2098
+ * // payload: { convId: string, includeNewMessages: boolean }
2099
+ * })
2100
+ * ```
2101
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2102
+ */
2103
+ EmbedEvent["SpotterShareIncludeNewMessagesCheckboxToggled"] = "spotterShareIncludeNewMessagesCheckboxToggled";
2104
+ /**
2105
+ * Emitted when the user dismisses the stale-snapshot info banner via its
2106
+ * cross (distinct from the include-new-messages checkbox toggle).
2107
+ * @example
2108
+ * ```js
2109
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
2110
+ * // payload: { convId: string }
2111
+ * })
2112
+ * ```
2113
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2114
+ */
2115
+ EmbedEvent["SpotterShareStaleInfoBannerDismissed"] = "spotterShareStaleInfoBannerDismissed";
2116
+ /**
2117
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
2118
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
2119
+ * / `SpotterConversationShareRevoked` result events.
2120
+ * @example
2121
+ * ```js
2122
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
2123
+ * // payload: { convId: string }
2124
+ * })
2125
+ * ```
2126
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2127
+ */
2128
+ EmbedEvent["SpotterShareModalConfirmButtonClicked"] = "spotterShareModalConfirmButtonClicked";
2129
+ /**
2130
+ * Emitted when the share modal is dismissed via the Cancel button.
2131
+ * @example
2132
+ * ```js
2133
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
2134
+ * // payload: { convId: string }
2135
+ * })
2136
+ * ```
2137
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2138
+ */
2139
+ EmbedEvent["SpotterShareModalCancelButtonClicked"] = "spotterShareModalCancelButtonClicked";
2140
+ /**
2141
+ * Emitted when a recipient leaves the read-only shared view via the Exit
2142
+ * button.
2143
+ * @example
2144
+ * ```js
2145
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
2146
+ * // payload: { convId: string }
2147
+ * })
2148
+ * ```
2149
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2150
+ */
2151
+ EmbedEvent["SpotterSharedConversationExitButtonClicked"] = "spotterSharedConversationExitButtonClicked";
2152
+ /**
2153
+ * Emitted when a Spotter conversation is pinned.
2154
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
2155
+ * @example
2156
+ * ```js
2157
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
2158
+ * console.log('Conversation pinned', payload);
2159
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
2160
+ * })
2161
+ * ```
2162
+ */
2163
+ EmbedEvent["SpotterConversationPinned"] = "spotterConversationPinned";
2164
+ /**
2165
+ * Emitted when a Spotter conversation is unpinned.
2166
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
2167
+ * @example
2168
+ * ```js
2169
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
2170
+ * console.log('Conversation unpinned', payload);
2171
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
2172
+ * })
2173
+ * ```
2174
+ */
2175
+ EmbedEvent["SpotterConversationUnpinned"] = "spotterConversationUnpinned";
2004
2176
  /**
2005
2177
  * Emitted when a Spotter conversation is selected/clicked.
2006
2178
  * @example
@@ -2517,6 +2689,17 @@
2517
2689
  * name: string,
2518
2690
  * type: ATTRIBUTE/MEASURE,
2519
2691
  * dataType: INT64/CHAR/DATE }
2692
+ *
2693
+ * `applicability` - Optional. Scopes the filter to a specific target,
2694
+ * for example, a single Liveboard tab, so the panel for the correct
2695
+ * scoped filter is opened. Available from SDK: 1.53.0 |
2696
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
2697
+ *
2698
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
2699
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
2700
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
2701
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
2702
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
2520
2703
  * @example
2521
2704
  * ```js
2522
2705
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -2529,6 +2712,14 @@
2529
2712
  * ```
2530
2713
  * @example
2531
2714
  * ```js
2715
+ * // Open a filter scoped to a specific Liveboard tab
2716
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
2717
+ * column: { columnId: '<column-GUID>' },
2718
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
2719
+ * });
2720
+ * ```
2721
+ * @example
2722
+ * ```js
2532
2723
  * // Open filter from search context
2533
2724
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
2534
2725
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -2538,6 +2729,38 @@
2538
2729
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
2539
2730
  */
2540
2731
  HostEvent["OpenFilter"] = "openFilter";
2732
+ /**
2733
+ * Open the parameter panel for a particular parameter on a Liveboard.
2734
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
2735
+ * @param - Includes the following keys:
2736
+ * - `parameter`: An object identifying the parameter to open, for
2737
+ * example, `{ parameterId: '<parameter-GUID>' }`.
2738
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
2739
+ * for example, a single Liveboard tab, so the panel for the correct
2740
+ * scoped parameter is opened. Includes the following attributes:
2741
+ *
2742
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
2743
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
2744
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
2745
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
2746
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
2747
+ * @example
2748
+ * ```js
2749
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
2750
+ * parameter: { parameterId: '<parameter-GUID>' }
2751
+ * });
2752
+ * ```
2753
+ * @example
2754
+ * ```js
2755
+ * // Open a parameter scoped to a specific group
2756
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
2757
+ * parameter: { parameterId: '<parameter-GUID>' },
2758
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
2759
+ * });
2760
+ * ```
2761
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
2762
+ */
2763
+ HostEvent["OpenParameter"] = "openParameter";
2541
2764
  /**
2542
2765
  * Add columns to the current search query.
2543
2766
  * @param - { columnIds: string[] }
@@ -3602,13 +3825,13 @@
3602
3825
  /**
3603
3826
  * Get details of filters applied on the Liveboard.
3604
3827
  * Returns arrays containing Liveboard filter and runtime filter elements.
3605
- * Each Liveboard filter may include an `applicability` attribute
3828
+ * Each Liveboard filter includes an optional `applicability` attribute
3606
3829
  * indicating the scope of the filter. It contains a `level`
3607
3830
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
3608
3831
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
3609
3832
  * level there is no `targetId`, since the filter applies to the
3610
3833
  * whole Liveboard.
3611
- * The `applicability` attribute is available from SDK: 1.51.0 |
3834
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3612
3835
  * ThoughtSpot: 26.10.0.cl.
3613
3836
  * @example
3614
3837
  * ```js
@@ -3651,7 +3874,7 @@
3651
3874
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
3652
3875
  *
3653
3876
  * `applicability` - Optional. Scopes the filter to a specific target,
3654
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
3877
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
3655
3878
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
3656
3879
  *
3657
3880
  * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -3774,6 +3997,28 @@
3774
3997
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
3775
3998
  */
3776
3999
  HostEvent["GetTabs"] = "getTabs";
4000
+ /**
4001
+ * Get group details for the current Liveboard.
4002
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
4003
+ * @example
4004
+ * ```js
4005
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
4006
+ * console.log(
4007
+ * groupDetails // GroupDetails of current Liveboard
4008
+ * );
4009
+ * })
4010
+ * ```
4011
+ * @example
4012
+ * ```js
4013
+ * // Get groups from liveboard context
4014
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
4015
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
4016
+ * console.log('groups', groupDetails);
4017
+ * });
4018
+ * ```
4019
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
4020
+ */
4021
+ HostEvent["GetGroups"] = "getGroups";
3777
4022
  /**
3778
4023
  * Set the visible tabs on a Liveboard.
3779
4024
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -3902,7 +4147,7 @@
3902
4147
  * - `value`: The value to set for the parameter.
3903
4148
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
3904
4149
  * - `applicability`: Optional. Scopes the parameter to a specific target,
3905
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
4150
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
3906
4151
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
3907
4152
  *
3908
4153
  * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -3946,13 +4191,13 @@
3946
4191
  HostEvent["UpdateParameters"] = "UpdateParameters";
3947
4192
  /**
3948
4193
  * Triggers GetParameters to fetch the runtime Parameters.
3949
- * Each parameter may include an `applicability` attribute
4194
+ * Each parameter includes an optional `applicability` attribute
3950
4195
  * indicating the scope of the parameter. It contains a `level`
3951
4196
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
3952
4197
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
3953
4198
  * level there is no `targetId`, since the parameter applies to the
3954
4199
  * whole Liveboard.
3955
- * The `applicability` attribute is available from SDK: 1.51.0 |
4200
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3956
4201
  * ThoughtSpot: 26.10.0.cl.
3957
4202
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
3958
4203
  * ```js
@@ -4220,6 +4465,36 @@
4220
4465
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
4221
4466
  */
4222
4467
  HostEvent["ResetSpotterConversation"] = "ResetSpotterConversation";
4468
+ /**
4469
+ * Opens the Spotter share-conversation modal for the given conversation.
4470
+ * `conversationId` is **mandatory** — you must pass the id of the
4471
+ * conversation to share. Also no-op when sharing is disabled
4472
+ * (enableShareConversation off) or when already in the read-only shared view.
4473
+ * @example
4474
+ * ```js
4475
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
4476
+ * ```
4477
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4478
+ */
4479
+ HostEvent["ShareSpotterConversation"] = "ShareSpotterConversation";
4480
+ /**
4481
+ * Closes the Spotter share-conversation modal. No-op if none is open.
4482
+ * @example
4483
+ * ```js
4484
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
4485
+ * ```
4486
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4487
+ */
4488
+ HostEvent["CloseSpotterShareConversation"] = "CloseSpotterShareConversation";
4489
+ /**
4490
+ * Exits the read-only shared-conversation view.
4491
+ * @example
4492
+ * ```js
4493
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
4494
+ * ```
4495
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
4496
+ */
4497
+ HostEvent["ExitSpotterSharedConversation"] = "ExitSpotterSharedConversation";
4223
4498
  /**
4224
4499
  * Deletes the last prompt in spotter embed.
4225
4500
  * @example
@@ -4315,6 +4590,41 @@
4315
4590
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
4316
4591
  */
4317
4592
  HostEvent["StartNewSpotterConversation"] = "StartNewSpotterConversation";
4593
+ /**
4594
+ * Pins a saved Spotter conversation so it floats to the top of the past
4595
+ * conversations sidebar. The `conversationId` of the conversation to pin is
4596
+ * required.
4597
+ *
4598
+ * This feature is available only when chat history is enabled on your ThoughtSpot
4599
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
4600
+ * instance.
4601
+ *
4602
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4603
+ * @example
4604
+ * ```js
4605
+ * spotterEmbed.trigger(HostEvent.PinSpotterConversation, {
4606
+ * conversationId: '<conversation-id>',
4607
+ * });
4608
+ * ```
4609
+ */
4610
+ HostEvent["PinSpotterConversation"] = "PinSpotterConversation";
4611
+ /**
4612
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
4613
+ * conversation to unpin is required.
4614
+ *
4615
+ * This feature is available only when chat history is enabled on your ThoughtSpot
4616
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
4617
+ * instance.
4618
+ *
4619
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4620
+ * @example
4621
+ * ```js
4622
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
4623
+ * conversationId: '<conversation-id>',
4624
+ * });
4625
+ * ```
4626
+ */
4627
+ HostEvent["UnpinSpotterConversation"] = "UnpinSpotterConversation";
4318
4628
  /**
4319
4629
  * @hidden
4320
4630
  * Get the current context of the embedded page.
@@ -4554,9 +4864,11 @@
4554
4864
  Param["isGranularXLSXCSVSchedulesEnabled"] = "isGranularXLSXCSVSchedulesEnabled";
4555
4865
  Param["isSendNowLiveboardSchedulingEnabled"] = "isSendNowLiveboardSchedulingEnabled";
4556
4866
  Param["isCentralizedLiveboardFilterUXEnabled"] = "isCentralizedLiveboardFilterUXEnabled";
4867
+ Param["isScopedLiveboardFilteringEnabled"] = "isScopedLiveboardFilteringEnabled";
4557
4868
  Param["isLinkParametersEnabled"] = "isLinkParametersEnabled";
4558
4869
  Param["EnablePastConversationsSidebar"] = "enablePastConversationsSidebar";
4559
4870
  Param["UpdatedSpotterChatPrompt"] = "updatedSpotterChatPrompt";
4871
+ Param["ShowSpotterRadiance"] = "showSpotterRadiance";
4560
4872
  Param["DefaultQueryMode"] = "defaultQueryMode";
4561
4873
  Param["EnableStopAnswerGenerationEmbed"] = "enableStopAnswerGenerationEmbed";
4562
4874
  Param["SpotterSidebarTitle"] = "spotterSidebarTitle";
@@ -4577,6 +4889,8 @@
4577
4889
  Param["SpotterFileUploadEnabled"] = "spotterFileUploadEnabled";
4578
4890
  Param["SpotterFileUploadFileTypes"] = "spotterFileUploadFileTypes";
4579
4891
  Param["IsStarterPromptsEnabled"] = "enableStarterPrompts";
4892
+ Param["UpdatedSpotterExperience"] = "updatedSpotterExperience";
4893
+ Param["SpotterDataSources"] = "spotterDataSources";
4580
4894
  })(Param || (Param = {}));
4581
4895
  /**
4582
4896
  * ThoughtSpot application pages include actions and menu commands
@@ -5841,6 +6155,19 @@
5841
6155
  * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.6.0.cl
5842
6156
  */
5843
6157
  Action["ChangeFilterVisibilityInTab"] = "changeFilterVisibilityInTab";
6158
+ /**
6159
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
6160
+ * including filter, parameter, and cross-filter chips at the liveboard,
6161
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
6162
+ *
6163
+ * @example
6164
+ * ```js
6165
+ * hiddenActions: [Action.AllLiveboardFilters]
6166
+ * disabledActions: [Action.AllLiveboardFilters]
6167
+ * ```
6168
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
6169
+ */
6170
+ Action["AllLiveboardFilters"] = "allLiveboardFilters";
5844
6171
  /**
5845
6172
  * The **Data model instructions** button on the Spotter interface.
5846
6173
  * Allows opening the data model instructions modal.
@@ -6176,6 +6503,89 @@
6176
6503
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
6177
6504
  */
6178
6505
  Action["SpotterChatRename"] = "spotterChatRename";
6506
+ /**
6507
+ * Controls visibility and disable state of the Spotter conversation Share
6508
+ * button in the chat header. Only takes effect once sharing is enabled
6509
+ * (enableShareConversation on).
6510
+ * @example
6511
+ * ```js
6512
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
6513
+ * ```
6514
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6515
+ */
6516
+ Action["SpotterShareConversationButtonHeader"] = "spotterShareConversationButtonHeader";
6517
+ /**
6518
+ * Controls visibility and disable state of the Share item in the Spotter
6519
+ * conversation history (sidebar) edit menu. Independent of the header button
6520
+ * above, so a host can show Share in one entry point and hide it in the other.
6521
+ * @example
6522
+ * ```js
6523
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
6524
+ * ```
6525
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6526
+ */
6527
+ Action["SpotterShareConversationMenuItemSidebar"] = "spotterShareConversationMenuItemSidebar";
6528
+ /**
6529
+ * Controls visibility of the entire read-only shared-conversation data-access
6530
+ * banner shown when a recipient opens a shared view. Hide-only.
6531
+ * @example
6532
+ * ```js
6533
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
6534
+ * ```
6535
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6536
+ */
6537
+ Action["SpotterSharedConversationBanner"] = "spotterSharedConversationBanner";
6538
+ /**
6539
+ * Controls visibility and disable state of the cross/close button on the
6540
+ * read-only shared-conversation data-access banner (keeps the banner itself).
6541
+ * @example
6542
+ * ```js
6543
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
6544
+ * ```
6545
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6546
+ */
6547
+ Action["SpotterSharedConversationBannerDismissButton"] = "spotterSharedConversationBannerDismissButton";
6548
+ /**
6549
+ * Controls visibility and disable state of the Exit button in the read-only
6550
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
6551
+ * host event.
6552
+ * @example
6553
+ * ```js
6554
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
6555
+ * ```
6556
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6557
+ */
6558
+ Action["SpotterSharedConversationExitButton"] = "spotterSharedConversationExitButton";
6559
+ /**
6560
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
6561
+ * to the current moment…"). Hide-only.
6562
+ * @example
6563
+ * ```js
6564
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
6565
+ * ```
6566
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6567
+ */
6568
+ Action["SpotterShareUpToCurrentInfo"] = "spotterShareUpToCurrentInfo";
6569
+ /**
6570
+ * Controls visibility and disable state of the share-modal "include new
6571
+ * messages since last shared version" checkbox.
6572
+ * @example
6573
+ * ```js
6574
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
6575
+ * ```
6576
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6577
+ */
6578
+ Action["SpotterShareIncludeNewMessagesCheckbox"] = "spotterShareIncludeNewMessagesCheckbox";
6579
+ /**
6580
+ * Controls visibility and disable state of the cross on the share-modal
6581
+ * stale-snapshot info banner.
6582
+ * @example
6583
+ * ```js
6584
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
6585
+ * ```
6586
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6587
+ */
6588
+ Action["SpotterShareStaleInfoBannerDismissButton"] = "spotterShareStaleInfoBannerDismissButton";
6179
6589
  /**
6180
6590
  * Controls visibility and disable state of the delete action
6181
6591
  * in the Spotter conversation edit menu.
@@ -6186,6 +6596,16 @@
6186
6596
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
6187
6597
  */
6188
6598
  Action["SpotterChatDelete"] = "spotterChatDelete";
6599
+ /**
6600
+ * Controls visibility and disable state of the pin/unpin action
6601
+ * in the Spotter conversation edit menu.
6602
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6603
+ * @example
6604
+ * ```js
6605
+ * disabledActions: [Action.SpotterChatPin]
6606
+ * ```
6607
+ */
6608
+ Action["SpotterChatPin"] = "spotterChatPin";
6189
6609
  /**
6190
6610
  * Controls visibility and disable state of the documentation/best practices
6191
6611
  * link in the Spotter sidebar footer.
@@ -6844,7 +7264,7 @@
6844
7264
  TableContentDensity["Compact"] = "COMPACT";
6845
7265
  })(TableContentDensity || (TableContentDensity = {}));
6846
7266
 
6847
- var version$1="1.50.1";var pkg = {version:version$1};
7267
+ var version$1="1.51.0";var pkg = {version:version$1};
6848
7268
 
6849
7269
  const { version } = pkg;
6850
7270
 
@@ -6920,7 +7340,6 @@
6920
7340
 
6921
7341
  const ERROR_MESSAGE = {
6922
7342
  INVALID_THOUGHTSPOT_HOST: 'Error parsing ThoughtSpot host. Please provide a valid URL.',
6923
- SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND: 'Please select a Model to get started',
6924
7343
  LIVEBOARD_VIZ_ID_VALIDATION: 'Please select a Liveboard to embed.',
6925
7344
  TRIGGER_TIMED_OUT: 'Trigger timed-out in getting a response',
6926
7345
  SEARCHEMBED_BETA_WRANING_MESSAGE: 'SearchEmbed is in Beta in this release.',
@@ -8489,6 +8908,7 @@
8489
8908
  UIPassthroughEvent["GetParameters"] = "getParameters";
8490
8909
  UIPassthroughEvent["GetTML"] = "getTML";
8491
8910
  UIPassthroughEvent["GetTabs"] = "getTabs";
8911
+ UIPassthroughEvent["GetGroups"] = "getGroups";
8492
8912
  UIPassthroughEvent["GetExportRequestForCurrentPinboard"] = "getExportRequestForCurrentPinboard";
8493
8913
  })(UIPassthroughEvent || (UIPassthroughEvent = {}));
8494
8914
 
@@ -18528,7 +18948,12 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
18528
18948
  VISUAL_SDK_RENDER_FAILED: 'visual-sdk-render-failed',
18529
18949
  VISUAL_SDK_TRIGGER: 'visual-sdk-trigger',
18530
18950
  VISUAL_SDK_ON: 'visual-sdk-on',
18531
- VISUAL_SDK_EMBED_CREATE: 'visual-sdk-embed-create'};
18951
+ VISUAL_SDK_EMBED_CREATE: 'visual-sdk-embed-create',
18952
+ VISUAL_SDK_RENDER_CALLED: 'visual-sdk-render-called',
18953
+ VISUAL_SDK_PRE_RENDER: 'visual-sdk-pre-render',
18954
+ VISUAL_SDK_SHOW_PRE_RENDER: 'visual-sdk-show-pre-render',
18955
+ VISUAL_SDK_HIDE_PRE_RENDER: 'visual-sdk-hide-pre-render',
18956
+ };
18532
18957
  let isMixpanelInitialized = false;
18533
18958
  let eventQueue = [];
18534
18959
  /**
@@ -20327,6 +20752,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
20327
20752
  [exports.HostEvent.GetParameters]: UIPassthroughEvent.GetParameters,
20328
20753
  [exports.HostEvent.GetTML]: UIPassthroughEvent.GetTML,
20329
20754
  [exports.HostEvent.GetTabs]: UIPassthroughEvent.GetTabs,
20755
+ [exports.HostEvent.GetGroups]: UIPassthroughEvent.GetGroups,
20330
20756
  [exports.HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard,
20331
20757
  };
20332
20758
  class HostEventClient {
@@ -22031,6 +22457,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22031
22457
  * @param args
22032
22458
  */
22033
22459
  async render() {
22460
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_CALLED, {
22461
+ embedComponentType: this.viewConfig.embedComponentType,
22462
+ });
22034
22463
  if (!getIsInitCalled()) {
22035
22464
  logger$3.error(ERROR_MESSAGE.RENDER_CALLED_BEFORE_INIT);
22036
22465
  }
@@ -22102,6 +22531,10 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22102
22531
  * @param showPreRenderByDefault - Show the preRender after render, hidden by default
22103
22532
  */
22104
22533
  async preRender(showPreRenderByDefault = false, replaceExistingPreRender = false) {
22534
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_PRE_RENDER, {
22535
+ showPreRenderByDefault,
22536
+ replaceExistingPreRender,
22537
+ });
22105
22538
  if (!this.viewConfig.preRenderId) {
22106
22539
  logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
22107
22540
  return this;
@@ -22279,6 +22712,10 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22279
22712
  */
22280
22713
  async showPreRender() {
22281
22714
  var _a, _b;
22715
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_SHOW_PRE_RENDER, {
22716
+ preRenderId: this.viewConfig.preRenderId,
22717
+ embedComponentType: this.viewConfig.embedComponentType,
22718
+ });
22282
22719
  if (this.shouldWaitForRenderPromise)
22283
22720
  await this.isReadyForRenderPromise;
22284
22721
  if (!this.viewConfig.preRenderId) {
@@ -22384,6 +22821,10 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22384
22821
  * If the component is not preRendered, it issues a warning.
22385
22822
  */
22386
22823
  hidePreRender() {
22824
+ uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_HIDE_PRE_RENDER, {
22825
+ preRenderId: this.viewConfig.preRenderId,
22826
+ embedComponentType: this.viewConfig.embedComponentType,
22827
+ });
22387
22828
  logger$3.debug('HidePreRender Called');
22388
22829
  if (!this.isPreRenderConnected()) {
22389
22830
  // if the embed component is not preRendered , nothing to hide
@@ -22863,6 +23304,18 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22863
23304
  ...(visualOverrides !== undefined ? { visualOverridesParams: visualOverrides } : {}),
22864
23305
  },
22865
23306
  };
23307
+ }
23308
+ function buildSpotterShareConversationAppInitData(initData, viewConfig) {
23309
+ const { spotterShareConversationConfig } = viewConfig;
23310
+ if (!spotterShareConversationConfig)
23311
+ return initData;
23312
+ return {
23313
+ ...initData,
23314
+ embedParams: {
23315
+ ...(initData.embedParams || {}),
23316
+ spotterShareConversationConfig,
23317
+ },
23318
+ };
22866
23319
  }
22867
23320
 
22868
23321
  function buildSpotterVizAppInitData(initData, viewConfig) {
@@ -22976,6 +23429,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22976
23429
  /**
22977
23430
  * Modular (v2) introduces the updated Modular Home Experience.
22978
23431
  * It serves as the foundational version of the home page.
23432
+ * Use {@link HomePage.ModularWithStylingChanges} (V3) or
23433
+ * {@link HomePage.Focused} (V4) instead.
23434
+ * @deprecated V1 and V2 home page experiences are deprecated.
22979
23435
  */
22980
23436
  HomePage["Modular"] = "v2";
22981
23437
  /**
@@ -23091,14 +23547,19 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23091
23547
  async getAppInitData() {
23092
23548
  const defaultAppInitData = await super.getAppInitData();
23093
23549
  const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
23094
- return buildSpotterVizAppInitData(sidebarInitData, this.viewConfig);
23550
+ const vizInitData = buildSpotterVizAppInitData(sidebarInitData, this.viewConfig);
23551
+ return buildSpotterShareConversationAppInitData(vizInitData, this.viewConfig);
23095
23552
  }
23096
23553
  /**
23097
23554
  * Constructs a map of parameters to be passed on to the
23098
23555
  * embedded Liveboard or visualization.
23099
23556
  */
23100
23557
  getEmbedParams() {
23101
- 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.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;
23558
+ const params = this.getEmbedParamsObject();
23559
+ return getQueryParamString(params, true);
23560
+ }
23561
+ getEmbedParamsObject() {
23562
+ 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.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;
23102
23563
  let params = {};
23103
23564
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
23104
23565
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -23108,31 +23569,48 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23108
23569
  params[Param.ShowLiveboardTitle] = showLiveboardTitle;
23109
23570
  params[Param.ShowLiveboardDescription] = !!showLiveboardDescription;
23110
23571
  params[Param.ShowMaskedFilterChip] = showMaskedFilterChip;
23111
- params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23572
+ if (!isUndefined$1(isLiveboardMasterpiecesEnabled)) {
23573
+ params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23574
+ }
23112
23575
  if (newChartsLibrary !== undefined) {
23113
23576
  params[Param.EnableNewChartLibrary] = newChartsLibrary;
23114
23577
  }
23115
23578
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
23116
23579
  params[Param.IsFullAppEmbed] = true;
23117
- params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
23118
- params[Param.IsEnhancedFilterInteractivityEnabled] = isEnhancedFilterInteractivityEnabled;
23580
+ if (!isUndefined$1(isLiveboardCompactHeaderEnabled)) {
23581
+ params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
23582
+ }
23583
+ if (!isUndefined$1(isEnhancedFilterInteractivityEnabled)) {
23584
+ params[Param.IsEnhancedFilterInteractivityEnabled] =
23585
+ isEnhancedFilterInteractivityEnabled;
23586
+ }
23119
23587
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
23120
23588
  params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
23121
- params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
23589
+ if (!isUndefined$1(hideIrrelevantChipsInLiveboardTabs)) {
23590
+ params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
23591
+ }
23122
23592
  if (isUnifiedSearchExperienceEnabled !== undefined) {
23123
23593
  params[Param.IsUnifiedSearchExperienceEnabled] = isUnifiedSearchExperienceEnabled;
23124
23594
  }
23125
- params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
23595
+ if (!isUndefined$1(coverAndFilterOptionInPDF)) {
23596
+ params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
23597
+ }
23126
23598
  params = this.getBaseQueryParams(params);
23127
23599
  if (!isUndefined$1(updatedSpotterChatPrompt)) {
23128
23600
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
23129
23601
  }
23602
+ if (!isUndefined$1(showSpotterRadiance)) {
23603
+ params[Param.ShowSpotterRadiance] = !!showSpotterRadiance;
23604
+ }
23130
23605
  if (!isUndefined$1(defaultQueryMode)) {
23131
23606
  params[Param.DefaultQueryMode] = defaultQueryMode;
23132
23607
  }
23133
23608
  if (!isUndefined$1(enableStopAnswerGenerationEmbed)) {
23134
23609
  params[Param.EnableStopAnswerGenerationEmbed] = !!enableStopAnswerGenerationEmbed;
23135
23610
  }
23611
+ if (spotterDataSources && spotterDataSources.length) {
23612
+ params[Param.SpotterDataSources] = JSON.stringify(spotterDataSources);
23613
+ }
23136
23614
  // Handle spotterChatConfig params
23137
23615
  if (spotterChatConfig) {
23138
23616
  const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
@@ -23148,6 +23626,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23148
23626
  params[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
23149
23627
  }
23150
23628
  }
23629
+ if (!isUndefined$1(updatedSpotterExperience)) {
23630
+ params[Param.UpdatedSpotterExperience] = !!updatedSpotterExperience;
23631
+ }
23151
23632
  if (hideObjectSearch) {
23152
23633
  params[Param.HideObjectSearch] = !!hideObjectSearch;
23153
23634
  }
@@ -23214,6 +23695,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23214
23695
  if (isCentralizedLiveboardFilterUXEnabled != undefined) {
23215
23696
  params[Param.isCentralizedLiveboardFilterUXEnabled] = isCentralizedLiveboardFilterUXEnabled;
23216
23697
  }
23698
+ if (isScopedLiveboardFilteringEnabled !== undefined) {
23699
+ params[Param.isScopedLiveboardFilteringEnabled] = isScopedLiveboardFilteringEnabled;
23700
+ }
23217
23701
  if (isThisPeriodInDateFiltersEnabled !== undefined) {
23218
23702
  params[Param.IsThisPeriodInDateFiltersEnabled] = isThisPeriodInDateFiltersEnabled;
23219
23703
  }
@@ -23229,7 +23713,6 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23229
23713
  }
23230
23714
  params[Param.DataPanelV2Enabled] = dataPanelV2;
23231
23715
  params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
23232
- params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
23233
23716
  params[Param.CollapseSearchBarInitially] = collapseSearchBarInitially || collapseSearchBar;
23234
23717
  params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
23235
23718
  if (dataPanelCustomGroupsAccordionInitialState
@@ -23244,33 +23727,15 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23244
23727
  if (modularHomeExperience !== undefined) {
23245
23728
  params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
23246
23729
  }
23247
- // Set navigation to v2 by default to avoid problems like the app
23248
- // switcher (9-dot menu) not showing when v3 navigation is turned on
23249
- // at the cluster level.
23250
- // To use v3 navigation, we must manually set the discoveryExperience
23251
- // settings.
23252
- params[Param.NavigationVersion] = 'v2';
23253
- // Set homePageVersion to v2 by default to reset the LD flag value
23254
- // for the homepageVersion.
23255
- params[Param.HomepageVersion] = 'v2';
23730
+ // Navigation V1/V2 and home page V1/V2 are deprecated. V3 is now the
23731
+ // default experience, Need to send navigationVersion=v3 and
23732
+ // homepageVersion=v3 even when the no discoveryExperience /
23733
+ // modularHomeExperience config is set. Without these
23734
+ // params, older TSA versions (< 26.7) fall back to V2 for nav and
23735
+ // home page, so the defaults must be sent explicitly from the SDK.
23736
+ params[Param.NavigationVersion] = PrimaryNavbarVersion.Sliding;
23737
+ params[Param.HomepageVersion] = HomePage.ModularWithStylingChanges;
23256
23738
  if (discoveryExperience) {
23257
- // primaryNavbarVersion v3 will enabled the new left navigation
23258
- if (discoveryExperience.primaryNavbarVersion === PrimaryNavbarVersion.Sliding) {
23259
- params[Param.NavigationVersion] = discoveryExperience.primaryNavbarVersion;
23260
- // Enable the modularHomeExperience when Sliding is enabled.
23261
- params[Param.ModularHomeExperienceEnabled] = true;
23262
- }
23263
- // homePage v2 will enable the modular home page
23264
- // and it will override the modularHomeExperience value
23265
- if (discoveryExperience.homePage === HomePage.Modular) {
23266
- params[Param.ModularHomeExperienceEnabled] = true;
23267
- }
23268
- // ModularWithStylingChanges (v3) introduces the styling changes
23269
- // to the Modular Homepage.
23270
- // v3 will be the base version of homePageVersion.
23271
- if (discoveryExperience.homePage === HomePage.ModularWithStylingChanges) {
23272
- params[Param.HomepageVersion] = HomePage.ModularWithStylingChanges;
23273
- }
23274
23739
  // listPageVersion can be changed to v2 or v3
23275
23740
  if (discoveryExperience.listPageVersion !== undefined) {
23276
23741
  params[Param.ListPageVersion] = discoveryExperience.listPageVersion;
@@ -23285,8 +23750,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23285
23750
  }
23286
23751
  }
23287
23752
  }
23288
- const queryParams = getQueryParamString(params, true);
23289
- return queryParams;
23753
+ return params;
23290
23754
  }
23291
23755
  /**
23292
23756
  * Constructs the URL of the ThoughtSpot app page to be rendered.
@@ -23630,7 +24094,7 @@ query GetEurekaVizSnapshots(
23630
24094
  getEmbedParamsObject() {
23631
24095
  let params = {};
23632
24096
  params = this.getBaseQueryParams(params);
23633
- 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;
24097
+ 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;
23634
24098
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
23635
24099
  || this.viewConfig.preventPinboardFilterRemoval;
23636
24100
  if (fullHeight === true) {
@@ -23652,6 +24116,9 @@ query GetEurekaVizSnapshots(
23652
24116
  if (!isUndefined$1(updatedSpotterChatPrompt)) {
23653
24117
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
23654
24118
  }
24119
+ if (!isUndefined$1(showSpotterRadiance)) {
24120
+ params[Param.ShowSpotterRadiance] = !!showSpotterRadiance;
24121
+ }
23655
24122
  if (!isUndefined$1(enableStopAnswerGenerationEmbed)) {
23656
24123
  params[Param.EnableStopAnswerGenerationEmbed] = !!enableStopAnswerGenerationEmbed;
23657
24124
  }
@@ -23707,6 +24174,9 @@ query GetEurekaVizSnapshots(
23707
24174
  if (showSpotterLimitations !== undefined) {
23708
24175
  params[Param.ShowSpotterLimitations] = showSpotterLimitations;
23709
24176
  }
24177
+ if (!isUndefined$1(updatedSpotterExperience)) {
24178
+ params[Param.UpdatedSpotterExperience] = !!updatedSpotterExperience;
24179
+ }
23710
24180
  // Handle spotterChatConfig params
23711
24181
  if (spotterChatConfig) {
23712
24182
  const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
@@ -23728,6 +24198,9 @@ query GetEurekaVizSnapshots(
23728
24198
  if (isCentralizedLiveboardFilterUXEnabled !== undefined) {
23729
24199
  params[Param.isCentralizedLiveboardFilterUXEnabled] = isCentralizedLiveboardFilterUXEnabled;
23730
24200
  }
24201
+ if (isScopedLiveboardFilteringEnabled !== undefined) {
24202
+ params[Param.isScopedLiveboardFilteringEnabled] = isScopedLiveboardFilteringEnabled;
24203
+ }
23731
24204
  if (isThisPeriodInDateFiltersEnabled !== undefined) {
23732
24205
  params[Param.IsThisPeriodInDateFiltersEnabled] = isThisPeriodInDateFiltersEnabled;
23733
24206
  }
@@ -23741,16 +24214,27 @@ query GetEurekaVizSnapshots(
23741
24214
  params[Param.EnableNewChartLibrary] = newChartsLibrary;
23742
24215
  }
23743
24216
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
23744
- params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
24217
+ if (!isUndefined$1(isLiveboardCompactHeaderEnabled)) {
24218
+ params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
24219
+ }
23745
24220
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
23746
24221
  params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
23747
- params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
24222
+ if (!isUndefined$1(hideIrrelevantChipsInLiveboardTabs)) {
24223
+ params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
24224
+ }
23748
24225
  params[Param.ShowMaskedFilterChip] = showMaskedFilterChip;
23749
- params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
23750
- params[Param.IsEnhancedFilterInteractivityEnabled] = isEnhancedFilterInteractivityEnabled;
24226
+ if (!isUndefined$1(isLiveboardMasterpiecesEnabled)) {
24227
+ params[Param.IsLiveboardMasterpiecesEnabled] = isLiveboardMasterpiecesEnabled;
24228
+ }
24229
+ if (!isUndefined$1(isEnhancedFilterInteractivityEnabled)) {
24230
+ params[Param.IsEnhancedFilterInteractivityEnabled] =
24231
+ isEnhancedFilterInteractivityEnabled;
24232
+ }
23751
24233
  params[Param.DataPanelV2Enabled] = dataPanelV2;
23752
24234
  params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
23753
- params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
24235
+ if (!isUndefined$1(coverAndFilterOptionInPDF)) {
24236
+ params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
24237
+ }
23754
24238
  getQueryParamString(params, true);
23755
24239
  return params;
23756
24240
  }
@@ -24539,18 +25023,11 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
24539
25023
  */
24540
25024
  async getAppInitData() {
24541
25025
  const defaultAppInitData = await super.getAppInitData();
24542
- return buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
25026
+ const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
25027
+ return buildSpotterShareConversationAppInitData(sidebarInitData, this.viewConfig);
24543
25028
  }
24544
25029
  getEmbedParamsObject() {
24545
- const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
24546
- if (!worksheetId) {
24547
- this.handleError({
24548
- errorType: ErrorDetailsTypes.VALIDATION_ERROR,
24549
- message: ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND,
24550
- code: EmbedErrorCodes.WORKSHEET_ID_NOT_FOUND,
24551
- error: ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND,
24552
- });
24553
- }
25030
+ const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
24554
25031
  const queryParams = this.getBaseQueryParams();
24555
25032
  queryParams[Param.SpotterEnabled] = true;
24556
25033
  // Boolean params
@@ -24560,6 +25037,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
24560
25037
  setParamIfDefined(queryParams, Param.ShowSpotterLimitations, showSpotterLimitations, true);
24561
25038
  setParamIfDefined(queryParams, Param.HideSampleQuestions, hideSampleQuestions, true);
24562
25039
  setParamIfDefined(queryParams, Param.UpdatedSpotterChatPrompt, updatedSpotterChatPrompt, true);
25040
+ setParamIfDefined(queryParams, Param.ShowSpotterRadiance, showSpotterRadiance, true);
24563
25041
  setParamIfDefined(queryParams, Param.DefaultQueryMode, defaultQueryMode);
24564
25042
  setParamIfDefined(queryParams, Param.EnableStopAnswerGenerationEmbed, enableStopAnswerGenerationEmbed, true);
24565
25043
  // Handle spotterChatConfig params
@@ -24573,11 +25051,18 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
24573
25051
  queryParams[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
24574
25052
  }
24575
25053
  }
25054
+ setParamIfDefined(queryParams, Param.UpdatedSpotterExperience, updatedSpotterExperience, true);
24576
25055
  return queryParams;
24577
25056
  }
24578
25057
  getIframeSrc() {
24579
- const { worksheetId, searchOptions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, } = this.viewConfig;
24580
- const path = 'insights/conv-assist';
25058
+ const { worksheetId, searchOptions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, sharedConversationId, dataSources, } = this.viewConfig;
25059
+ // Deep-link into the read-only shared-conversation reader view when a
25060
+ // shared conversation id is supplied (e.g. a recipient landing from a
25061
+ // host-configured CONVERSATION_URL share link); otherwise the normal
25062
+ // Spotter conversation surface.
25063
+ const path = sharedConversationId
25064
+ ? `insights/conv-assist/s/${encodeURIComponent(sharedConversationId)}`
25065
+ : 'insights/conv-assist';
24581
25066
  const queryParams = this.getEmbedParamsObject();
24582
25067
  let query = '';
24583
25068
  const queryParamsString = getQueryParamString(queryParams, true);
@@ -24593,8 +25078,12 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
24593
25078
  query += `&${parameterQuery}`;
24594
25079
  }
24595
25080
  const tsPostHashParams = this.getThoughtSpotPostUrlParams({
24596
- worksheet: worksheetId,
24597
- query: (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) || '',
25081
+ ...(!(Array.isArray(dataSources) && dataSources.length > 0) && worksheetId
25082
+ && { worksheet: worksheetId }),
25083
+ ...((searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) && { query: searchOptions.searchQuery }),
25084
+ ...(Array.isArray(dataSources)
25085
+ && dataSources.length > 0
25086
+ && { dataSources: JSON.stringify(dataSources) }),
24598
25087
  });
24599
25088
  return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
24600
25089
  }