@thoughtspot/visual-embed-sdk 1.45.1 → 1.45.3

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 (213) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/authToken.d.ts +1 -1
  3. package/cjs/src/authToken.d.ts.map +1 -1
  4. package/cjs/src/authToken.js +2 -2
  5. package/cjs/src/authToken.js.map +1 -1
  6. package/cjs/src/authToken.spec.js +71 -0
  7. package/cjs/src/authToken.spec.js.map +1 -1
  8. package/cjs/src/css-variables.d.ts +48 -0
  9. package/cjs/src/css-variables.d.ts.map +1 -1
  10. package/cjs/src/embed/app.d.ts +37 -0
  11. package/cjs/src/embed/app.d.ts.map +1 -1
  12. package/cjs/src/embed/app.js +37 -1
  13. package/cjs/src/embed/app.js.map +1 -1
  14. package/cjs/src/embed/app.spec.js +24 -0
  15. package/cjs/src/embed/app.spec.js.map +1 -1
  16. package/cjs/src/embed/conversation.d.ts +127 -9
  17. package/cjs/src/embed/conversation.d.ts.map +1 -1
  18. package/cjs/src/embed/conversation.js +41 -18
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/conversation.spec.js +96 -3
  21. package/cjs/src/embed/conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/hostEventClient/contracts.d.ts +3 -3
  23. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  24. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  25. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +8 -8
  26. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  27. package/cjs/src/embed/hostEventClient/host-event-client.js +18 -18
  28. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  29. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +7 -7
  30. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  31. package/cjs/src/embed/liveboard.d.ts +40 -3
  32. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  33. package/cjs/src/embed/liveboard.js +40 -12
  34. package/cjs/src/embed/liveboard.js.map +1 -1
  35. package/cjs/src/embed/liveboard.spec.js +180 -8
  36. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  37. package/cjs/src/embed/ts-embed.d.ts +23 -2
  38. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  39. package/cjs/src/embed/ts-embed.js +64 -22
  40. package/cjs/src/embed/ts-embed.js.map +1 -1
  41. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  42. package/cjs/src/embed/ts-embed.spec.js +138 -19
  43. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  44. package/cjs/src/errors.d.ts +1 -0
  45. package/cjs/src/errors.d.ts.map +1 -1
  46. package/cjs/src/errors.js +1 -0
  47. package/cjs/src/errors.js.map +1 -1
  48. package/cjs/src/index.d.ts +3 -3
  49. package/cjs/src/index.d.ts.map +1 -1
  50. package/cjs/src/index.js +3 -2
  51. package/cjs/src/index.js.map +1 -1
  52. package/cjs/src/types.d.ts +356 -42
  53. package/cjs/src/types.d.ts.map +1 -1
  54. package/cjs/src/types.js +227 -20
  55. package/cjs/src/types.js.map +1 -1
  56. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  57. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  58. package/cjs/src/utils/graphql/answerService/answer-queries.js +23 -1
  59. package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  60. package/cjs/src/utils/graphql/answerService/answerService.d.ts +2 -1
  61. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  62. package/cjs/src/utils/graphql/answerService/answerService.js +9 -1
  63. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  64. package/cjs/src/utils/graphql/answerService/answerService.spec.js +73 -0
  65. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  66. package/cjs/src/utils/processTrigger.d.ts +3 -2
  67. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  68. package/cjs/src/utils/processTrigger.js +4 -2
  69. package/cjs/src/utils/processTrigger.js.map +1 -1
  70. package/cjs/src/utils.d.ts +20 -1
  71. package/cjs/src/utils.d.ts.map +1 -1
  72. package/cjs/src/utils.js +40 -1
  73. package/cjs/src/utils.js.map +1 -1
  74. package/cjs/src/utils.spec.js +49 -0
  75. package/cjs/src/utils.spec.js.map +1 -1
  76. package/dist/{index-Dgzjq7qH.js → index-BuwECGdm.js} +1 -1
  77. package/dist/src/authToken.d.ts +1 -1
  78. package/dist/src/authToken.d.ts.map +1 -1
  79. package/dist/src/css-variables.d.ts +48 -0
  80. package/dist/src/css-variables.d.ts.map +1 -1
  81. package/dist/src/embed/app.d.ts +37 -0
  82. package/dist/src/embed/app.d.ts.map +1 -1
  83. package/dist/src/embed/conversation.d.ts +127 -9
  84. package/dist/src/embed/conversation.d.ts.map +1 -1
  85. package/dist/src/embed/hostEventClient/contracts.d.ts +3 -3
  86. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  87. package/dist/src/embed/hostEventClient/host-event-client.d.ts +8 -8
  88. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  89. package/dist/src/embed/liveboard.d.ts +40 -3
  90. package/dist/src/embed/liveboard.d.ts.map +1 -1
  91. package/dist/src/embed/ts-embed.d.ts +23 -2
  92. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  93. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  94. package/dist/src/errors.d.ts +1 -0
  95. package/dist/src/errors.d.ts.map +1 -1
  96. package/dist/src/index.d.ts +3 -3
  97. package/dist/src/index.d.ts.map +1 -1
  98. package/dist/src/types.d.ts +356 -42
  99. package/dist/src/types.d.ts.map +1 -1
  100. package/dist/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  101. package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  102. package/dist/src/utils/graphql/answerService/answerService.d.ts +2 -1
  103. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  104. package/dist/src/utils/processTrigger.d.ts +3 -2
  105. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  106. package/dist/src/utils.d.ts +20 -1
  107. package/dist/src/utils.d.ts.map +1 -1
  108. package/dist/tsembed-react.es.js +501 -98
  109. package/dist/tsembed-react.js +500 -97
  110. package/dist/tsembed.es.js +516 -113
  111. package/dist/tsembed.js +29956 -29553
  112. package/dist/visual-embed-sdk-react-full.d.ts +819 -282
  113. package/dist/visual-embed-sdk-react.d.ts +818 -281
  114. package/dist/visual-embed-sdk.d.ts +882 -321
  115. package/lib/package.json +1 -1
  116. package/lib/src/authToken.d.ts +1 -1
  117. package/lib/src/authToken.d.ts.map +1 -1
  118. package/lib/src/authToken.js +2 -2
  119. package/lib/src/authToken.js.map +1 -1
  120. package/lib/src/authToken.spec.js +72 -1
  121. package/lib/src/authToken.spec.js.map +1 -1
  122. package/lib/src/css-variables.d.ts +48 -0
  123. package/lib/src/css-variables.d.ts.map +1 -1
  124. package/lib/src/embed/app.d.ts +37 -0
  125. package/lib/src/embed/app.d.ts.map +1 -1
  126. package/lib/src/embed/app.js +39 -3
  127. package/lib/src/embed/app.js.map +1 -1
  128. package/lib/src/embed/app.spec.js +24 -0
  129. package/lib/src/embed/app.spec.js.map +1 -1
  130. package/lib/src/embed/conversation.d.ts +127 -9
  131. package/lib/src/embed/conversation.d.ts.map +1 -1
  132. package/lib/src/embed/conversation.js +42 -19
  133. package/lib/src/embed/conversation.js.map +1 -1
  134. package/lib/src/embed/conversation.spec.js +96 -3
  135. package/lib/src/embed/conversation.spec.js.map +1 -1
  136. package/lib/src/embed/hostEventClient/contracts.d.ts +3 -3
  137. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  138. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  139. package/lib/src/embed/hostEventClient/host-event-client.d.ts +8 -8
  140. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  141. package/lib/src/embed/hostEventClient/host-event-client.js +18 -18
  142. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  143. package/lib/src/embed/hostEventClient/host-event-client.spec.js +7 -7
  144. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  145. package/lib/src/embed/liveboard.d.ts +40 -3
  146. package/lib/src/embed/liveboard.d.ts.map +1 -1
  147. package/lib/src/embed/liveboard.js +41 -13
  148. package/lib/src/embed/liveboard.js.map +1 -1
  149. package/lib/src/embed/liveboard.spec.js +180 -8
  150. package/lib/src/embed/liveboard.spec.js.map +1 -1
  151. package/lib/src/embed/ts-embed.d.ts +23 -2
  152. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  153. package/lib/src/embed/ts-embed.js +64 -22
  154. package/lib/src/embed/ts-embed.js.map +1 -1
  155. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  156. package/lib/src/embed/ts-embed.spec.js +139 -20
  157. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  158. package/lib/src/errors.d.ts +1 -0
  159. package/lib/src/errors.d.ts.map +1 -1
  160. package/lib/src/errors.js +1 -0
  161. package/lib/src/errors.js.map +1 -1
  162. package/lib/src/index.d.ts +3 -3
  163. package/lib/src/index.d.ts.map +1 -1
  164. package/lib/src/index.js +2 -2
  165. package/lib/src/index.js.map +1 -1
  166. package/lib/src/types.d.ts +356 -42
  167. package/lib/src/types.d.ts.map +1 -1
  168. package/lib/src/types.js +226 -19
  169. package/lib/src/types.js.map +1 -1
  170. package/lib/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  171. package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  172. package/lib/src/utils/graphql/answerService/answer-queries.js +22 -0
  173. package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  174. package/lib/src/utils/graphql/answerService/answerService.d.ts +2 -1
  175. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  176. package/lib/src/utils/graphql/answerService/answerService.js +9 -1
  177. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  178. package/lib/src/utils/graphql/answerService/answerService.spec.js +73 -0
  179. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  180. package/lib/src/utils/processTrigger.d.ts +3 -2
  181. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  182. package/lib/src/utils/processTrigger.js +4 -2
  183. package/lib/src/utils/processTrigger.js.map +1 -1
  184. package/lib/src/utils.d.ts +20 -1
  185. package/lib/src/utils.d.ts.map +1 -1
  186. package/lib/src/utils.js +36 -0
  187. package/lib/src/utils.js.map +1 -1
  188. package/lib/src/utils.spec.js +50 -1
  189. package/lib/src/utils.spec.js.map +1 -1
  190. package/package.json +1 -1
  191. package/src/authToken.spec.ts +91 -2
  192. package/src/authToken.ts +2 -2
  193. package/src/css-variables.ts +60 -0
  194. package/src/embed/app.spec.ts +32 -0
  195. package/src/embed/app.ts +97 -1
  196. package/src/embed/conversation.spec.ts +117 -3
  197. package/src/embed/conversation.ts +188 -29
  198. package/src/embed/hostEventClient/contracts.ts +4 -4
  199. package/src/embed/hostEventClient/host-event-client.spec.ts +7 -1
  200. package/src/embed/hostEventClient/host-event-client.ts +22 -11
  201. package/src/embed/liveboard.spec.ts +264 -10
  202. package/src/embed/liveboard.ts +105 -14
  203. package/src/embed/ts-embed.spec.ts +184 -8
  204. package/src/embed/ts-embed.ts +81 -24
  205. package/src/errors.ts +1 -0
  206. package/src/index.ts +7 -1
  207. package/src/types.ts +364 -40
  208. package/src/utils/graphql/answerService/answer-queries.ts +23 -0
  209. package/src/utils/graphql/answerService/answerService.spec.ts +87 -0
  210. package/src/utils/graphql/answerService/answerService.ts +13 -1
  211. package/src/utils/processTrigger.ts +6 -3
  212. package/src/utils.spec.ts +56 -0
  213. package/src/utils.ts +44 -0
@@ -701,6 +701,54 @@ export interface CustomCssVariables {
701
701
  * Width of the Spotter chat window.
702
702
  */
703
703
  "--ts-var-spotter-chat-width"?: string;
704
+ /**
705
+ * Border color for the saved chats sidebar container.
706
+ */
707
+ "--ts-var-saved-chats-border-color"?: string;
708
+ /**
709
+ * Background color for the saved chats sidebar container.
710
+ */
711
+ "--ts-var-saved-chats-bg"?: string;
712
+ /**
713
+ * Text color for the saved chats sidebar container.
714
+ */
715
+ "--ts-var-saved-chats-text-color"?: string;
716
+ /**
717
+ * Border color for the saved chats sidebar header.
718
+ */
719
+ "--ts-var-saved-chats-header-border"?: string;
720
+ /**
721
+ * Color for the saved chats sidebar title text.
722
+ */
723
+ "--ts-var-saved-chats-title-color"?: string;
724
+ /**
725
+ * Background color for buttons (new chat, toggle, footer) in the saved chats sidebar.
726
+ */
727
+ "--ts-var-saved-chats-btn-bg"?: string;
728
+ /**
729
+ * Hover background color for buttons in the saved chats sidebar.
730
+ */
731
+ "--ts-var-saved-chats-btn-hover-bg"?: string;
732
+ /**
733
+ * Text color for conversation items in the saved chats sidebar.
734
+ */
735
+ "--ts-var-saved-chats-conv-text-color"?: string;
736
+ /**
737
+ * Background color for conversation items on hover in the saved chats sidebar.
738
+ */
739
+ "--ts-var-saved-chats-conv-hover-bg"?: string;
740
+ /**
741
+ * Background color for the active/selected conversation in the saved chats sidebar.
742
+ */
743
+ "--ts-var-saved-chats-conv-active-bg"?: string;
744
+ /**
745
+ * Border color for the saved chats sidebar footer.
746
+ */
747
+ "--ts-var-saved-chats-footer-border"?: string;
748
+ /**
749
+ * Color for section title text (e.g., "Recent", "Older") in the saved chats sidebar.
750
+ */
751
+ "--ts-var-saved-chats-section-title-color"?: string;
704
752
  }
705
753
  export interface SessionInterface {
706
754
  sessionId: string;
@@ -817,7 +865,8 @@ export declare class AnswerService {
817
865
  * @returns
818
866
  */
819
867
  addFilter(columnName: string, operator: RuntimeFilterOp, values: RuntimeFilter["values"]): Promise<any>;
820
- getSQLQuery(): Promise<string>;
868
+ updateDisplayMode(displayMode?: string): Promise<any>;
869
+ getSQLQuery(fetchSQLWithAllColumns?: boolean): Promise<string>;
821
870
  /**
822
871
  * Fetch data from the answer.
823
872
  * @param offset
@@ -1976,6 +2025,44 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1976
2025
  * ```
1977
2026
  */
1978
2027
  customActions?: CustomAction[];
2028
+ /**
2029
+ * Refresh the auth token when the token is near expiry.
2030
+ * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
2031
+ * @example
2032
+ * ```js
2033
+ * const embed = new AppEmbed('#tsEmbed', {
2034
+ * ... // other embed view config
2035
+ * refreshAuthTokenOnNearExpiry: true,
2036
+ * })
2037
+ * ```
2038
+ */
2039
+ refreshAuthTokenOnNearExpiry?: boolean;
2040
+ /**
2041
+ * This flag skips payload validation so events can be processed even if the payload is old, incomplete, or from a trusted system.
2042
+ * @default false
2043
+ * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
2044
+ * @example
2045
+ * ```js
2046
+ * const embed = new AppEmbed('#tsEmbed', {
2047
+ * ... // other embed view config
2048
+ * shouldBypassPayloadValidation:true,
2049
+ * })
2050
+ * ```
2051
+ */
2052
+ shouldBypassPayloadValidation?: boolean;
2053
+ /**
2054
+ * Flag to use host events v2. This is used to enable the new host events v2 API.
2055
+ * @default false
2056
+ * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
2057
+ * @example
2058
+ * ```js
2059
+ * const embed = new AppEmbed('#tsEmbed', {
2060
+ * ... // other embed view config
2061
+ * useHostEventsV2:true,
2062
+ * })
2063
+ * ```
2064
+ */
2065
+ useHostEventsV2?: boolean;
1979
2066
  }
1980
2067
  /**
1981
2068
  * The configuration object for Home page embeds configs.
@@ -2411,7 +2498,7 @@ export interface LiveboardAppEmbedViewConfig {
2411
2498
  * To enable this feature on your instance, contact ThoughtSpot Support.
2412
2499
  *
2413
2500
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
2414
- * @version SDK: 1.42.0 | ThoughtSpot: 10.15.0.cl
2501
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
2415
2502
  * @example
2416
2503
  * ```js
2417
2504
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -3973,7 +4060,55 @@ export declare enum EmbedEvent {
3973
4060
  * ```
3974
4061
  * @version SDK: 1.43.0 | ThoughtSpot: 10.15.0.cl
3975
4062
  */
3976
- ApiIntercept = "ApiIntercept"
4063
+ ApiIntercept = "ApiIntercept",
4064
+ /**
4065
+ * Emitted when a Spotter conversation is renamed.
4066
+ * @example
4067
+ * ```js
4068
+ * spotterEmbed.on(EmbedEvent.SpotterConversationRenamed, (payload) => {
4069
+ * console.log('Conversation renamed', payload);
4070
+ * // payload: { convId: string, oldTitle: string, newTitle: string }
4071
+ * })
4072
+ * ```
4073
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4074
+ */
4075
+ SpotterConversationRenamed = "spotterConversationRenamed",
4076
+ /**
4077
+ * Emitted when a Spotter conversation is deleted.
4078
+ * @example
4079
+ * ```js
4080
+ * spotterEmbed.on(EmbedEvent.SpotterConversationDeleted, (payload) => {
4081
+ * console.log('Conversation deleted', payload);
4082
+ * // payload: { convId: string, title: string }
4083
+ * })
4084
+ * ```
4085
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4086
+ */
4087
+ SpotterConversationDeleted = "spotterConversationDeleted",
4088
+ /**
4089
+ * Emitted when a Spotter conversation is selected/clicked.
4090
+ * @example
4091
+ * ```js
4092
+ * spotterEmbed.on(EmbedEvent.SpotterConversationSelected, (payload) => {
4093
+ * console.log('Conversation selected', payload);
4094
+ * // payload: { convId: string, title: string, worksheetId: string }
4095
+ * })
4096
+ * ```
4097
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4098
+ */
4099
+ SpotterConversationSelected = "spotterConversationSelected",
4100
+ /**
4101
+ * @hidden
4102
+ * Emitted when the auth token is about to get expired and needs to be refreshed.
4103
+ * @example
4104
+ * ```js
4105
+ * embed.on(EmbedEvent.RefreshAuthToken, (payload) => {
4106
+ * console.log('payload', payload);
4107
+ * })
4108
+ * ```
4109
+ * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
4110
+ */
4111
+ RefreshAuthToken = "RefreshAuthToken"
3977
4112
  }
3978
4113
  /**
3979
4114
  * Event types that can be triggered by the host application
@@ -5355,7 +5490,18 @@ export declare enum HostEvent {
5355
5490
  * ```
5356
5491
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
5357
5492
  */
5358
- StartNewSpotterConversation = "StartNewSpotterConversation"
5493
+ StartNewSpotterConversation = "StartNewSpotterConversation",
5494
+ /**
5495
+ * @hidden
5496
+ * Get the current context of the embedded page.
5497
+ *
5498
+ * @example
5499
+ * ```js
5500
+ * const context = await liveboardEmbed.trigger(HostEvent.GetPageContext);
5501
+ * ```
5502
+ * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
5503
+ */
5504
+ GetPageContext = "GetPageContext"
5359
5505
  }
5360
5506
  /**
5361
5507
  * The different visual modes that the data sources panel within
@@ -6798,6 +6944,96 @@ export declare enum Action {
6798
6944
  * @version SDK: 1.44.0 | ThoughtSpot Cloud: 26.2.0.cl
6799
6945
  */
6800
6946
  UngroupLiveboardGroup = "ungroupLiveboardGroup",
6947
+ /**
6948
+ * Controls visibility of the sidebar header (title and toggle button)
6949
+ * in the Spotter past conversations sidebar.
6950
+ * @example
6951
+ * ```js
6952
+ * hiddenActions: [Action.SpotterSidebarHeader]
6953
+ * ```
6954
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
6955
+ */
6956
+ SpotterSidebarHeader = "spotterSidebarHeader",
6957
+ /**
6958
+ * Controls visibility of the sidebar footer (documentation link)
6959
+ * in the Spotter past conversations sidebar.
6960
+ * @example
6961
+ * ```js
6962
+ * hiddenActions: [Action.SpotterSidebarFooter]
6963
+ * ```
6964
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
6965
+ */
6966
+ SpotterSidebarFooter = "spotterSidebarFooter",
6967
+ /**
6968
+ * Controls visibility and disable state of the sidebar toggle/expand button
6969
+ * in the Spotter past conversations sidebar.
6970
+ * @example
6971
+ * ```js
6972
+ * disabledActions: [Action.SpotterSidebarToggle]
6973
+ * ```
6974
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
6975
+ */
6976
+ SpotterSidebarToggle = "spotterSidebarToggle",
6977
+ /**
6978
+ * Controls visibility and disable state of the "New Chat" button
6979
+ * in the Spotter past conversations sidebar.
6980
+ * @example
6981
+ * ```js
6982
+ * disabledActions: [Action.SpotterNewChat]
6983
+ * ```
6984
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
6985
+ */
6986
+ SpotterNewChat = "spotterNewChat",
6987
+ /**
6988
+ * Controls visibility of the past conversation banner alert
6989
+ * in the Spotter interface.
6990
+ * @example
6991
+ * ```js
6992
+ * hiddenActions: [Action.SpotterPastChatBanner]
6993
+ * ```
6994
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
6995
+ */
6996
+ SpotterPastChatBanner = "spotterPastChatBanner",
6997
+ /**
6998
+ * Controls visibility and disable state of the conversation edit menu
6999
+ * (three-dot menu) in the Spotter past conversations sidebar.
7000
+ * @example
7001
+ * ```js
7002
+ * disabledActions: [Action.SpotterChatMenu]
7003
+ * ```
7004
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
7005
+ */
7006
+ SpotterChatMenu = "spotterChatMenu",
7007
+ /**
7008
+ * Controls visibility and disable state of the rename action
7009
+ * in the Spotter conversation edit menu.
7010
+ * @example
7011
+ * ```js
7012
+ * disabledActions: [Action.SpotterChatRename]
7013
+ * ```
7014
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
7015
+ */
7016
+ SpotterChatRename = "spotterChatRename",
7017
+ /**
7018
+ * Controls visibility and disable state of the delete action
7019
+ * in the Spotter conversation edit menu.
7020
+ * @example
7021
+ * ```js
7022
+ * disabledActions: [Action.SpotterChatDelete]
7023
+ * ```
7024
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
7025
+ */
7026
+ SpotterChatDelete = "spotterChatDelete",
7027
+ /**
7028
+ * Controls visibility and disable state of the documentation/best practices
7029
+ * link in the Spotter sidebar footer.
7030
+ * @example
7031
+ * ```js
7032
+ * disabledActions: [Action.SpotterDocs]
7033
+ * ```
7034
+ * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
7035
+ */
7036
+ SpotterDocs = "spotterDocs",
6801
7037
  /**
6802
7038
  * The **Include current period** checkbox for date filters.
6803
7039
  * Controls the visibility and availability of the option to include
@@ -6989,13 +7225,30 @@ export declare enum LogLevel {
6989
7225
  * Error types emitted by embedded components.
6990
7226
  *
6991
7227
  * These enum values categorize different types of errors that can occur during
6992
- * the lifecycle of an embedded ThoughtSpot component. Use these values to implement
6993
- * specific error handling logic based on the error category.
6994
- *
6995
- * @see {@link EmbedErrorDetailsEvent} - The error event object structure
6996
- * @see {@link EmbedEvent.Error} - The event that emits these errors
7228
+ * the lifecycle of an embedded ThoughtSpot component.
7229
+ * Use {@link EmbedErrorDetailsEvent} and {@link EmbedErrorCodes} to handle specific errors.
6997
7230
  * @version SDK: 1.44.2 | ThoughtSpot: 26.2.0.cl
6998
7231
  * @group Error Handling
7232
+ *
7233
+ * @example
7234
+ * Handle specific error types
7235
+ * ```js
7236
+ * embed.on(EmbedEvent.Error, (error) => {
7237
+ * switch (error.errorType) {
7238
+ * case ErrorDetailsTypes.API:
7239
+ * console.error('API error:', error.message);
7240
+ * break;
7241
+ * case ErrorDetailsTypes.VALIDATION_ERROR:
7242
+ * console.error('Validation error:', error.message);
7243
+ * break;
7244
+ * case ErrorDetailsTypes.NETWORK:
7245
+ * console.error('Network error:', error.message);
7246
+ * break;
7247
+ * default:
7248
+ * console.error('Unknown error:', error);
7249
+ * }
7250
+ * });
7251
+ * ```
6999
7252
  */
7000
7253
  export declare enum ErrorDetailsTypes {
7001
7254
  /** API call failure */
@@ -7006,34 +7259,42 @@ export declare enum ErrorDetailsTypes {
7006
7259
  NETWORK = "NETWORK"
7007
7260
  }
7008
7261
  /**
7009
- * Error codes for identifying specific issues in embedded ThoughtSpot components.
7010
- *
7011
- * Use these codes for precise error handling and debugging. Each code maps to a
7012
- * distinct failure scenario, enabling targeted recovery strategies.
7262
+ * Error codes for identifying specific issues in embedded ThoughtSpot components. Use {@link EmbedErrorDetailsEvent} and {@link ErrorDetailsTypes} codes for precise error handling and debugging.
7013
7263
  *
7014
7264
  * @version SDK: 1.44.2 | ThoughtSpot: 26.2.0.cl
7015
7265
  * @group Error Handling
7016
- *
7017
- * @see {@link EmbedErrorDetailsEvent} - The error event object that includes these codes
7018
- * @see {@link ErrorDetailsTypes} - General error type categories
7019
- *
7266
+
7020
7267
  * @example
7021
7268
  * Handle specific error codes in the error event handler
7022
- *
7269
+ * ```js
7023
7270
  * embed.on(EmbedEvent.Error, (error) => {
7024
- * if (error.code === EmbedErrorCodes.WORKSHEET_ID_NOT_FOUND) {
7025
- * console.error('Worksheet ID not found:', error.message);
7271
+ * switch (error.code) {
7272
+ * case EmbedErrorCodes.WORKSHEET_ID_NOT_FOUND:
7273
+ * console.error('Worksheet ID not found:', error.message);
7274
+ * break;
7275
+ * case EmbedErrorCodes.LIVEBOARD_ID_MISSING:
7276
+ * console.error('Liveboard ID is missing:', error.message);
7277
+ * break;
7278
+ * case EmbedErrorCodes.CONFLICTING_ACTIONS_CONFIG:
7279
+ * console.error('Conflicting actions configuration:', error.message);
7280
+ * break;
7281
+ * case EmbedErrorCodes.CONFLICTING_TABS_CONFIG:
7282
+ * console.error('Conflicting tabs configuration:', error.message);
7283
+ * break;
7284
+ * default:
7285
+ * console.error('Unknown error:', error);
7026
7286
  * }
7027
7287
  * });
7028
- * */
7288
+ * ```
7289
+ * */
7029
7290
  export declare enum EmbedErrorCodes {
7030
7291
  /** Worksheet ID not found or does not exist */
7031
7292
  WORKSHEET_ID_NOT_FOUND = "WORKSHEET_ID_NOT_FOUND",
7032
7293
  /** Required Liveboard ID is missing from configuration */
7033
7294
  LIVEBOARD_ID_MISSING = "LIVEBOARD_ID_MISSING",
7034
- /** Conflicting action configuration detected (e.g., both hiddenActions and visibleActions specified) */
7295
+ /** Conflicting action configuration detected */
7035
7296
  CONFLICTING_ACTIONS_CONFIG = "CONFLICTING_ACTIONS_CONFIG",
7036
- /** Conflicting tab configuration detected (e.g., both hiddenTabs and visibleTabs specified) */
7297
+ /** Conflicting tab configuration detected */
7037
7298
  CONFLICTING_TABS_CONFIG = "CONFLICTING_TABS_CONFIG",
7038
7299
  /** Error during component initialization */
7039
7300
  INIT_ERROR = "INIT_ERROR",
@@ -7050,7 +7311,9 @@ export declare enum EmbedErrorCodes {
7050
7311
  /** Error parsing api intercept body */
7051
7312
  PARSING_API_INTERCEPT_BODY_ERROR = "PARSING_API_INTERCEPT_BODY_ERROR",
7052
7313
  /** Failed to update embed parameters during pre-render */
7053
- UPDATE_PARAMS_FAILED = "UPDATE_PARAMS_FAILED"
7314
+ UPDATE_PARAMS_FAILED = "UPDATE_PARAMS_FAILED",
7315
+ /** Invalid URL provided in configuration */
7316
+ INVALID_URL = "INVALID_URL"
7054
7317
  }
7055
7318
  /**
7056
7319
  * Error event object emitted when an error occurs in an embedded component.
@@ -7063,7 +7326,7 @@ export declare enum EmbedErrorCodes {
7063
7326
  *
7064
7327
  * - **errorType**: One of the predefined {@link ErrorDetailsTypes} values
7065
7328
  * - **message**: Human-readable error description (string or array of strings for multiple errors)
7066
- * - **code**: Machine-readable error identifier for programmatic handling
7329
+ * - **code**: Machine-readable error identifier {@link EmbedErrorCodes} values
7067
7330
  * - **[key: string]**: Additional context-specific for backward compatibility
7068
7331
  *
7069
7332
  * ## Usage
@@ -7073,12 +7336,11 @@ export declare enum EmbedErrorCodes {
7073
7336
  *
7074
7337
  * @version SDK: 1.44.2 | ThoughtSpot: 26.2.0.cl
7075
7338
  * @group Error Handling
7076
- * @see {@link ErrorDetailsTypes} - Available error type values
7077
- * @see {@link EmbedEvent.Error} - The event that emits this object
7078
7339
  *
7079
7340
  * @example
7080
7341
  * Handle specific error types
7081
7342
  *
7343
+ * ```js
7082
7344
  * embed.on(EmbedEvent.Error, (error) => {
7083
7345
  * switch (error.code) {
7084
7346
  * case EmbedErrorCodes.WORKSHEET_ID_NOT_FOUND:
@@ -7088,30 +7350,18 @@ export declare enum EmbedErrorCodes {
7088
7350
  * console.error('Unknown error:', error);
7089
7351
  * }
7090
7352
  * });
7091
- * *
7353
+ * ```
7092
7354
  * @example
7093
7355
  * Handle multiple error messages
7094
7356
  *
7357
+ * ```js
7095
7358
  * embed.on(EmbedEvent.Error, (error) => {
7096
7359
  * const messages = Array.isArray(error.message)
7097
7360
  * ? error.message
7098
7361
  * : [error.message];
7099
- *
7100
7362
  * messages.forEach(msg => console.error(msg));
7101
7363
  * });
7102
- * *
7103
- * @example
7104
- * Access additional error context
7105
- *
7106
- * embed.on(EmbedEvent.Error, (error) => {
7107
- * console.error('Error Details:', {
7108
- * type: error.errorType,
7109
- * message: error.message,
7110
- * code: error.code,
7111
- * // Additional context fields vary by error type
7112
- * ...error
7113
- * });
7114
- * });
7364
+ * ```
7115
7365
  * */
7116
7366
  export interface EmbedErrorDetailsEvent {
7117
7367
  /** The type of error that occurred */
@@ -7123,6 +7373,24 @@ export interface EmbedErrorDetailsEvent {
7123
7373
  /** Additional context-specific for backward compatibility */
7124
7374
  [key: string]: any;
7125
7375
  }
7376
+ export declare enum ContextType {
7377
+ /**
7378
+ * Search answer context for search page or edit viz dialog on liveboard page.
7379
+ */
7380
+ Search = "search-answer",
7381
+ /**
7382
+ * Liveboard context for liveboard page.
7383
+ */
7384
+ Liveboard = "liveboard",
7385
+ /**
7386
+ * Answer context for explore modal/page on liveboard page.
7387
+ */
7388
+ Answer = "answer",
7389
+ /**
7390
+ * Spotter context for spotter modal/page.
7391
+ */
7392
+ Spotter = "spotter"
7393
+ }
7126
7394
  export interface DefaultAppInitData {
7127
7395
  customisations: CustomisationsInterface;
7128
7396
  authToken: string;
@@ -7198,6 +7466,89 @@ export type ApiInterceptFlags = {
7198
7466
  */
7199
7467
  interceptTimeout?: number;
7200
7468
  };
7469
+ /**
7470
+ * Object IDs for the embedded component.
7471
+ * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
7472
+ */
7473
+ export interface ObjectIds {
7474
+ /**
7475
+ * Liveboard ID.
7476
+ */
7477
+ liveboardId?: string;
7478
+ /**
7479
+ * Answer ID.
7480
+ */
7481
+ answerId?: string;
7482
+ /**
7483
+ * Viz IDs.
7484
+ */
7485
+ vizIds?: string[];
7486
+ /**
7487
+ * Data model IDs.
7488
+ */
7489
+ dataModelIds?: string[];
7490
+ /**
7491
+ * Modal title.
7492
+ */
7493
+ modalTitle?: string;
7494
+ }
7495
+ /**
7496
+ * Context object for the embedded component.
7497
+ * @example
7498
+ * ```js
7499
+ * const context = await embed.getCurrentContext();
7500
+ * console.log(context);
7501
+ * {
7502
+ * stack: [
7503
+ * {
7504
+ * name: 'Liveboard',
7505
+ * type: ContextType.Liveboard,
7506
+ * objectIds: {
7507
+ * liveboardId: '123',
7508
+ * },
7509
+ * },
7510
+ * ],
7511
+ * currentContext: {
7512
+ * name: 'Liveboard',
7513
+ * type: ContextType.Liveboard,
7514
+ * objectIds: {
7515
+ * liveboardId: '123',
7516
+ * },
7517
+ * },
7518
+ * }
7519
+ * ```
7520
+ * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
7521
+ */
7522
+ export interface ContextObject {
7523
+ /**
7524
+ * Stack of context objects.
7525
+ */
7526
+ stack: Array<{
7527
+ /**
7528
+ * Name of the context object.
7529
+ */
7530
+ name: string;
7531
+ /**
7532
+ * Type of the context object.
7533
+ */
7534
+ type: ContextType;
7535
+ /**
7536
+ * Object IDs of the context object.
7537
+ */
7538
+ objectIds: ObjectIds;
7539
+ }>;
7540
+ /**
7541
+ * Current context object.
7542
+ */
7543
+ currentContext: {
7544
+ /**
7545
+ * Name of the current context object.
7546
+ */
7547
+ name: string;
7548
+ type: ContextType;
7549
+ objectIds: ObjectIds;
7550
+ };
7551
+ }
7201
7552
  export declare enum UIPassthroughEvent {
7202
7553
  PinAnswerToLiveboard = "addVizToPinboard",
7203
7554
  SaveAnswer = "saveAnswer",
@@ -7282,9 +7633,9 @@ export type EmbedApiHostEventMapping = {
7282
7633
  [HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
7283
7634
  };
7284
7635
  export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
7285
- export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
7636
+ export type HostEventResponse<HostEventT extends HostEvent, ContextT extends ContextType> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
7286
7637
  export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
7287
- export type TriggerResponse<PayloadT, HostEventT extends HostEvent> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT> : any;
7638
+ export type TriggerResponse<PayloadT, HostEventT extends HostEvent, ContextT extends ContextType> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT, ContextT> : any;
7288
7639
  declare class HostEventClient {
7289
7640
  iFrame: HTMLIFrameElement;
7290
7641
  constructor(iFrame?: HTMLIFrameElement);
@@ -7294,18 +7645,18 @@ declare class HostEventClient {
7294
7645
  * @param {any} data Data to send with the host event
7295
7646
  * @returns {Promise<any>} - the response from the process trigger
7296
7647
  */
7297
- protected processTrigger(message: HostEvent, data: any): Promise<any>;
7298
- handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughResponse<UIPassthroughEventT>>;
7299
- hostEventFallback(hostEvent: HostEvent, data: any): Promise<any>;
7648
+ protected processTrigger(message: HostEvent, data: any, context?: ContextType): Promise<any>;
7649
+ handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>, context?: ContextType): Promise<UIPassthroughResponse<UIPassthroughEventT>>;
7650
+ hostEventFallback(hostEvent: HostEvent, data: any, context?: ContextType): Promise<any>;
7300
7651
  /**
7301
7652
  * Setter for the iframe element used for host events
7302
7653
  * @param {HTMLIFrameElement} iFrame - the iframe element to set
7303
7654
  */
7304
7655
  setIframeElement(iFrame: HTMLIFrameElement): void;
7305
- triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
7306
- protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>): Promise<HostEventResponse<HostEvent.Pin>>;
7307
- protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>): Promise<any>;
7308
- triggerHostEvent<HostEventT extends HostEvent, PayloadT>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
7656
+ triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>, context?: ContextType): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
7657
+ protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>, context?: ContextType): Promise<HostEventResponse<HostEvent.Pin, ContextType>>;
7658
+ protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>, context?: ContextType): Promise<any>;
7659
+ triggerHostEvent<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
7309
7660
  }
7310
7661
  declare class TsEmbed {
7311
7662
  /**
@@ -7452,6 +7803,21 @@ declare class TsEmbed {
7452
7803
  * @param responder
7453
7804
  */
7454
7805
  private appInitCb;
7806
+ /**
7807
+ * Helper method to refresh/update auth token for TrustedAuthTokenCookieless auth type
7808
+ * @param responder - Function to send response back
7809
+ * @param eventType - The embed event type to send
7810
+ * @param forceRefresh - Whether to force refresh the token
7811
+ * @returns Promise that resolves if token was refreshed, rejects otherwise
7812
+ */
7813
+ private refreshAuthTokenForCookieless;
7814
+ private handleAuthFailure;
7815
+ /**
7816
+ * Refresh the auth token if the autoLogin is true and the authType is TrustedAuthTokenCookieless
7817
+ * @param _
7818
+ * @param responder
7819
+ */
7820
+ private tokenRefresh;
7455
7821
  /**
7456
7822
  * Sends updated auth token to the iFrame to avoid user logout
7457
7823
  * @param _
@@ -7627,7 +7993,7 @@ declare class TsEmbed {
7627
7993
  * @param {any} data The payload to send with the message
7628
7994
  * @returns A promise that resolves with the response from the embedded app
7629
7995
  */
7630
- trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
7996
+ trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
7631
7997
  /**
7632
7998
  * Triggers an event to the embedded app, skipping the UI flow.
7633
7999
  * @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
@@ -7645,6 +8011,12 @@ declare class TsEmbed {
7645
8011
  render(): Promise<TsEmbed>;
7646
8012
  getIframeSrc(): string;
7647
8013
  protected handleRenderForPrerender(): Promise<TsEmbed>;
8014
+ /**
8015
+ * Get the current context of the embedded TS component.
8016
+ * @returns The current context object containing the page type and object ids.
8017
+ * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
8018
+ */
8019
+ getCurrentContext(): Promise<ContextObject>;
7648
8020
  /**
7649
8021
  * Creates the preRender shell
7650
8022
  * @param showPreRenderByDefault - Show the preRender after render, hidden by default
@@ -7758,25 +8130,389 @@ declare class V1Embed extends TsEmbed {
7758
8130
  test__executeCallbacks: (eventType: EmbedEvent, data: any, eventPort?: void | MessagePort) => void;
7759
8131
  }
7760
8132
  /**
7761
- * Pages within the ThoughtSpot app that can be embedded.
8133
+ * Configuration for search options
7762
8134
  */
7763
- export declare enum Page {
8135
+ export interface SearchOptions {
7764
8136
  /**
7765
- * Home page
8137
+ * The query string to pass to start the Conversation.
7766
8138
  */
7767
- Home = "home",
8139
+ searchQuery: string;
8140
+ }
8141
+ /**
8142
+ * Configuration for the Spotter sidebar.
8143
+ * Can be used in SpotterEmbed and AppEmbed.
8144
+ * @group Embed components
8145
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8146
+ */
8147
+ export interface SpotterSidebarViewConfig {
7768
8148
  /**
7769
- * Search page
8149
+ * Controls the visibility of the past conversations sidebar.
8150
+ * @default false
8151
+ * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
7770
8152
  */
7771
- Search = "search",
8153
+ enablePastConversationsSidebar?: boolean;
7772
8154
  /**
7773
- * Saved answers listing page
8155
+ * Custom title text for the sidebar header.
8156
+ * Defaults to translated "Spotter" text.
8157
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
7774
8158
  */
7775
- Answers = "answers",
8159
+ spotterSidebarTitle?: string;
7776
8160
  /**
7777
- * Liveboards listing page
8161
+ * Boolean to set the default expanded state of the sidebar.
8162
+ * @default false
8163
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
7778
8164
  */
7779
- Liveboards = "liveboards",
8165
+ spotterSidebarDefaultExpanded?: boolean;
8166
+ /**
8167
+ * Custom label text for the rename action in the conversation edit menu.
8168
+ * Defaults to translated "Rename" text.
8169
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8170
+ */
8171
+ spotterChatRenameLabel?: string;
8172
+ /**
8173
+ * Custom label text for the delete action in the conversation edit menu.
8174
+ * Defaults to translated "DELETE" text.
8175
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8176
+ */
8177
+ spotterChatDeleteLabel?: string;
8178
+ /**
8179
+ * Custom title text for the delete conversation confirmation modal.
8180
+ * Defaults to translated "Delete chat" text.
8181
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8182
+ */
8183
+ spotterDeleteConversationModalTitle?: string;
8184
+ /**
8185
+ * Custom message text for the past conversation banner alert.
8186
+ * Defaults to translated alert message.
8187
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8188
+ */
8189
+ spotterPastConversationAlertMessage?: string;
8190
+ /**
8191
+ * Custom URL for the documentation/best practices link.
8192
+ * Defaults to ThoughtSpot docs URL based on release version.
8193
+ * Note: URL must include the protocol (e.g., `https://www.example.com`).
8194
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8195
+ */
8196
+ spotterDocumentationUrl?: string;
8197
+ /**
8198
+ * Custom label text for the best practices button in the footer.
8199
+ * Defaults to translated "Best Practices" text.
8200
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8201
+ */
8202
+ spotterBestPracticesLabel?: string;
8203
+ /**
8204
+ * Number of conversations to fetch per batch when loading conversation history.
8205
+ * @default 30
8206
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8207
+ */
8208
+ spotterConversationsBatchSize?: number;
8209
+ /**
8210
+ * Custom title text for the "New Chat" button in the sidebar.
8211
+ * Defaults to translated "New Chat" text.
8212
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8213
+ */
8214
+ spotterNewChatButtonTitle?: string;
8215
+ }
8216
+ /**
8217
+ * Configuration for customizing Spotter chat UI branding.
8218
+ * @group Embed components
8219
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
8220
+ */
8221
+ export interface SpotterChatViewConfig {
8222
+ /**
8223
+ * Hides the ThoughtSpot logo/icon in tool response
8224
+ * cards. The branding label prefix is controlled
8225
+ * separately via `toolResponseCardBrandingLabel`.
8226
+ * External MCP tool branding is not affected.
8227
+ * @default false
8228
+ */
8229
+ hideToolResponseCardBranding?: boolean;
8230
+ /**
8231
+ * Custom label to replace the "ThoughtSpot" prefix
8232
+ * in tool response cards. Set to an empty string
8233
+ * `''` to hide the prefix entirely. Works
8234
+ * independently of `hideToolResponseCardBranding`.
8235
+ * External MCP tool branding is not affected.
8236
+ */
8237
+ toolResponseCardBrandingLabel?: string;
8238
+ }
8239
+ /**
8240
+ * The configuration for the embedded spotterEmbed options.
8241
+ * @group Embed components
8242
+ */
8243
+ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAction"> {
8244
+ /**
8245
+ * The ID of the data source object. For example, Model, View, or Table. Spotter uses
8246
+ * this object to query data and generate Answers.
8247
+ */
8248
+ worksheetId: string;
8249
+ /**
8250
+ * Ability to pass a starting search query to the conversation.
8251
+ */
8252
+ searchOptions?: SearchOptions;
8253
+ /**
8254
+ * disableSourceSelection : Disables data source selection
8255
+ * but still display the selected data source.
8256
+ *
8257
+ * Supported embed types: `SpotterEmbed`
8258
+ * @example
8259
+ * ```js
8260
+ * const embed = new SpotterEmbed('#tsEmbed', {
8261
+ * ... //other embed view config
8262
+ * disableSourceSelection : true,
8263
+ * })
8264
+ * ```
8265
+ * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
8266
+ */
8267
+ disableSourceSelection?: boolean;
8268
+ /**
8269
+ * hideSourceSelection : Hide data source selection
8270
+ *
8271
+ * Supported embed types: `SpotterEmbed`
8272
+ * @example
8273
+ * ```js
8274
+ * const embed = new SpotterEmbed('#tsEmbed', {
8275
+ * ... //other embed view config
8276
+ * hideSourceSelection : true,
8277
+ * })
8278
+ * ```
8279
+ * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
8280
+ */
8281
+ hideSourceSelection?: boolean;
8282
+ /**
8283
+ * Flag to control Data panel experience
8284
+ *
8285
+ * Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
8286
+ * @default true
8287
+ * @version SDK: 1.41.1 | ThoughtSpot Cloud: 10.14.0.cl
8288
+ * @example
8289
+ * ```js
8290
+ * // Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
8291
+ * const embed = new <EmbedComponent>('#tsEmbed', {
8292
+ * ... // other embed view config
8293
+ * dataPanelV2: true,
8294
+ * })
8295
+ * ```
8296
+ */
8297
+ dataPanelV2?: boolean;
8298
+ /**
8299
+ * showSpotterLimitations : show limitation text
8300
+ * of the spotter underneath the chat input.
8301
+ * default is false.
8302
+ *
8303
+ * Supported embed types: `SpotterEmbed`
8304
+ * @example
8305
+ * ```js
8306
+ * const embed = new SpotterEmbed('#tsEmbed', {
8307
+ * ... //other embed view config
8308
+ * showSpotterLimitations : true,
8309
+ * })
8310
+ * ```
8311
+ * @version SDK: 1.36.0 | ThoughtSpot: 10.5.0.cl
8312
+ */
8313
+ showSpotterLimitations?: boolean;
8314
+ /**
8315
+ * hideSampleQuestions : Hide sample questions on
8316
+ * the initial screen of the conversation.
8317
+ *
8318
+ * Supported embed types: `SpotterEmbed`
8319
+ * @example
8320
+ * ```js
8321
+ * const embed = new SpotterEmbed('#tsEmbed', {
8322
+ * ... //other embed view config
8323
+ * hideSampleQuestions : true,
8324
+ * })
8325
+ * ```
8326
+ * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
8327
+ */
8328
+ hideSampleQuestions?: boolean;
8329
+ /**
8330
+ * The list of runtime filters to apply to a search Answer,
8331
+ * visualization, or Liveboard.
8332
+ *
8333
+ * Supported embed types: `SpotterEmbed`
8334
+ * @example
8335
+ * ```js
8336
+ * const embed = new SpotterEmbed('#tsEmbed', {
8337
+ * // other embed view config
8338
+ * runtimeFilters: [
8339
+ * {
8340
+ * columnName: 'color',
8341
+ * operator: RuntimeFilterOp.EQ,
8342
+ * values: ['red'],
8343
+ * },
8344
+ * ],
8345
+ * })
8346
+ * ```
8347
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
8348
+ */
8349
+ runtimeFilters?: RuntimeFilter[];
8350
+ /**
8351
+ * Flag to control whether runtime filters should be included in the URL.
8352
+ * If true, filters will be passed via app initialization payload
8353
+ * (default behavior from SDK 1.45.0).
8354
+ * If false/undefined, filters are appended to the iframe URL instead.
8355
+ * (default behavior before SDK 1.45.0).
8356
+ *
8357
+ * Supported embed types: `SpotterEmbed`
8358
+ * @default true
8359
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
8360
+ */
8361
+ excludeRuntimeFiltersfromURL?: boolean;
8362
+ /**
8363
+ * The list of runtime parameters to apply to the conversation.
8364
+ *
8365
+ * Supported embed types: `SpotterEmbed`
8366
+ * @example
8367
+ * ```js
8368
+ * const embed = new SpotterEmbed('#tsEmbed', {
8369
+ * // other embed view config
8370
+ * runtimeParameters: [
8371
+ * {
8372
+ * name: 'Integer Param',
8373
+ * value: 10,
8374
+ * },
8375
+ * ],
8376
+ * })
8377
+ * ```
8378
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
8379
+ */
8380
+ runtimeParameters?: RuntimeParameter[];
8381
+ /**
8382
+ * Flag to control whether runtime parameters should be included in the URL.
8383
+ * If true, parameters will be passed via app
8384
+ * initialization payload (default behavior from SDK 1.45.0).
8385
+ * If false/undefined, parameters are appended to
8386
+ * the iframe URL instead (default behavior before SDK 1.45.0).
8387
+ *
8388
+ * Supported embed types: `SpotterEmbed`
8389
+ * @default true
8390
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
8391
+ */
8392
+ excludeRuntimeParametersfromURL?: boolean;
8393
+ /**
8394
+ * updatedSpotterChatPrompt : Controls the updated spotter chat prompt.
8395
+ *
8396
+ * Supported embed types: `SpotterEmbed`
8397
+ * @default false
8398
+ * @example
8399
+ * ```js
8400
+ * const embed = new SpotterEmbed('#tsEmbed', {
8401
+ * ... //other embed view config
8402
+ * updatedSpotterChatPrompt : true,
8403
+ * })
8404
+ * ```
8405
+ * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
8406
+ */
8407
+ updatedSpotterChatPrompt?: boolean;
8408
+ /**
8409
+ * Configuration for the Spotter sidebar UI customization.
8410
+ *
8411
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
8412
+ * @example
8413
+ * ```js
8414
+ * const embed = new SpotterEmbed('#tsEmbed', {
8415
+ * ... //other embed view config
8416
+ * spotterSidebarConfig: {
8417
+ * enablePastConversationsSidebar: true,
8418
+ * spotterSidebarTitle: 'My Conversations',
8419
+ * spotterSidebarDefaultExpanded: true,
8420
+ * },
8421
+ * })
8422
+ * ```
8423
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
8424
+ */
8425
+ spotterSidebarConfig?: SpotterSidebarViewConfig;
8426
+ /**
8427
+ * Configuration for customizing Spotter chat UI
8428
+ * branding in tool response cards.
8429
+ *
8430
+ * Supported embed types: `SpotterEmbed`
8431
+ * @example
8432
+ * ```js
8433
+ * const embed = new SpotterEmbed('#tsEmbed', {
8434
+ * ... //other embed view config
8435
+ * spotterChatConfig: {
8436
+ * hideToolResponseCardBranding: true,
8437
+ * toolResponseCardBrandingLabel: 'MyBrand',
8438
+ * },
8439
+ * })
8440
+ * ```
8441
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
8442
+ */
8443
+ spotterChatConfig?: SpotterChatViewConfig;
8444
+ }
8445
+ /**
8446
+ * The configuration for the embedded spotterEmbed options.
8447
+ * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
8448
+ * Use {@link SpotterEmbedViewConfig} instead
8449
+ * @group Embed components
8450
+ */
8451
+ export interface ConversationViewConfig extends SpotterEmbedViewConfig {
8452
+ }
8453
+ /**
8454
+ * Embed ThoughtSpot AI Conversation.
8455
+ * @group Embed components
8456
+ * @example
8457
+ * ```js
8458
+ * const conversation = new SpotterEmbed('#tsEmbed', {
8459
+ * worksheetId: 'worksheetId',
8460
+ * searchOptions: {
8461
+ * searchQuery: 'searchQuery',
8462
+ * },
8463
+ * });
8464
+ * conversation.render();
8465
+ * ```
8466
+ * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
8467
+ */
8468
+ export declare class SpotterEmbed extends TsEmbed {
8469
+ protected viewConfig: SpotterEmbedViewConfig;
8470
+ constructor(container: HTMLElement, viewConfig: SpotterEmbedViewConfig);
8471
+ protected getEmbedParamsObject(): Record<any, any>;
8472
+ getIframeSrc(): string;
8473
+ render(): Promise<SpotterEmbed>;
8474
+ }
8475
+ /**
8476
+ * Embed ThoughtSpot AI Conversation.
8477
+ * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
8478
+ * Use {@link SpotterEmbed} instead
8479
+ * @group Embed components
8480
+ * @example
8481
+ * ```js
8482
+ * const conversation = new SpotterEmbed('#tsEmbed', {
8483
+ * worksheetId: 'worksheetId',
8484
+ * searchOptions: {
8485
+ * searchQuery: 'searchQuery',
8486
+ * },
8487
+ * });
8488
+ * conversation.render();
8489
+ * ```
8490
+ * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
8491
+ */
8492
+ export declare class ConversationEmbed extends SpotterEmbed {
8493
+ protected viewConfig: ConversationViewConfig;
8494
+ constructor(container: HTMLElement, viewConfig: ConversationViewConfig);
8495
+ }
8496
+ /**
8497
+ * Pages within the ThoughtSpot app that can be embedded.
8498
+ */
8499
+ export declare enum Page {
8500
+ /**
8501
+ * Home page
8502
+ */
8503
+ Home = "home",
8504
+ /**
8505
+ * Search page
8506
+ */
8507
+ Search = "search",
8508
+ /**
8509
+ * Saved answers listing page
8510
+ */
8511
+ Answers = "answers",
8512
+ /**
8513
+ * Liveboards listing page
8514
+ */
8515
+ Liveboards = "liveboards",
7780
8516
  /**
7781
8517
  * @hidden
7782
8518
  */
@@ -8394,6 +9130,42 @@ export interface AppViewConfig extends AllEmbedViewConfig {
8394
9130
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
8395
9131
  */
8396
9132
  updatedSpotterChatPrompt?: boolean;
9133
+ /**
9134
+ * Configuration for the Spotter sidebar UI customization.
9135
+ * Only applicable when navigating to Spotter within the app.
9136
+ *
9137
+ * Supported embed types: `AppEmbed`
9138
+ * @example
9139
+ * ```js
9140
+ * const embed = new AppEmbed('#tsEmbed', {
9141
+ * ... //other embed view config
9142
+ * spotterSidebarConfig: {
9143
+ * enablePastConversationsSidebar: true,
9144
+ * spotterSidebarTitle: 'My Conversations',
9145
+ * },
9146
+ * })
9147
+ * ```
9148
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
9149
+ */
9150
+ spotterSidebarConfig?: SpotterSidebarViewConfig;
9151
+ /**
9152
+ * Configuration for customizing Spotter chat UI
9153
+ * branding in tool response cards.
9154
+ *
9155
+ * Supported embed types: `AppEmbed`
9156
+ * @example
9157
+ * ```js
9158
+ * const embed = new AppEmbed('#tsEmbed', {
9159
+ * ... //other embed view config
9160
+ * spotterChatConfig: {
9161
+ * hideToolResponseCardBranding: true,
9162
+ * toolResponseCardBrandingLabel: 'MyBrand',
9163
+ * },
9164
+ * })
9165
+ * ```
9166
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
9167
+ */
9168
+ spotterChatConfig?: SpotterChatViewConfig;
8397
9169
  /**
8398
9170
  * This is the minimum height (in pixels) for a full-height App.
8399
9171
  * Setting this height helps resolve issues with empty Apps and
@@ -8886,6 +9658,23 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
8886
9658
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
8887
9659
  */
8888
9660
  activeTabId?: string;
9661
+ /**
9662
+ * The GUID of a saved personalized view to load.
9663
+ * A personalized view is a saved configuration of a Liveboard
9664
+ * that includes specific filter selections.
9665
+ *
9666
+ * Supported embed types: `LiveboardEmbed`
9667
+ * @example
9668
+ * ```js
9669
+ * const embed = new LiveboardEmbed('#tsEmbed', {
9670
+ * liveboardId: 'liveboard-guid',
9671
+ * personalizedViewId: 'view-guid',
9672
+ * activeTabId: 'tab-guid',
9673
+ * })
9674
+ * ```
9675
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
9676
+ */
9677
+ personalizedViewId?: string;
8889
9678
  /**
8890
9679
  * Show or hide the tab panel of the embedded Liveboard.
8891
9680
  *
@@ -9128,17 +9917,35 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
9128
9917
  * updatedSpotterChatPrompt : Controls the updated spotter chat prompt.
9129
9918
  *
9130
9919
  * Supported embed types: `LiveboardEmbed`
9131
- * @default false
9920
+ * @default false
9921
+ * @example
9922
+ * ```js
9923
+ * const embed = new LiveboardEmbed('#tsEmbed', {
9924
+ * ... //other embed view config
9925
+ * updatedSpotterChatPrompt : true,
9926
+ * })
9927
+ * ```
9928
+ * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
9929
+ */
9930
+ updatedSpotterChatPrompt?: boolean;
9931
+ /**
9932
+ * Configuration for customizing Spotter chat UI
9933
+ * branding in tool response cards.
9934
+ *
9935
+ * Supported embed types: `LiveboardEmbed`
9132
9936
  * @example
9133
9937
  * ```js
9134
9938
  * const embed = new LiveboardEmbed('#tsEmbed', {
9135
9939
  * ... //other embed view config
9136
- * updatedSpotterChatPrompt : true,
9940
+ * spotterChatConfig: {
9941
+ * hideToolResponseCardBranding: true,
9942
+ * toolResponseCardBrandingLabel: 'MyBrand',
9943
+ * },
9137
9944
  * })
9138
9945
  * ```
9139
- * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
9946
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
9140
9947
  */
9141
- updatedSpotterChatPrompt?: boolean;
9948
+ spotterChatConfig?: SpotterChatViewConfig;
9142
9949
  }
9143
9950
  /**
9144
9951
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
@@ -9198,6 +10005,7 @@ export declare class LiveboardEmbed extends V1Embed {
9198
10005
  liveboardId: string;
9199
10006
  vizId: string;
9200
10007
  activeTabId: string;
10008
+ personalizedViewId: string;
9201
10009
  };
9202
10010
  protected beforePrerenderVisible(): void;
9203
10011
  protected handleRenderForPrerender(): Promise<TsEmbed>;
@@ -9207,7 +10015,7 @@ export declare class LiveboardEmbed extends V1Embed {
9207
10015
  * @param {any} data The payload to send with the message
9208
10016
  * @returns A promise that resolves with the response from the embedded app
9209
10017
  */
9210
- trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
10018
+ trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
9211
10019
  /**
9212
10020
  * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
9213
10021
  * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
@@ -9222,7 +10030,7 @@ export declare class LiveboardEmbed extends V1Embed {
9222
10030
  * visualization ID and the runtime filters.
9223
10031
  */
9224
10032
  render(): Promise<LiveboardEmbed>;
9225
- navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string): void;
10033
+ navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string, personalizedViewId?: string): void;
9226
10034
  /**
9227
10035
  * Returns the full url of the Liveboard/visualization which can be used to open
9228
10036
  * this Liveboard inside the full ThoughtSpot application in a new tab.
@@ -9235,11 +10043,7 @@ export declare class LiveboardEmbed extends V1Embed {
9235
10043
  */
9236
10044
  export declare class PinboardEmbed extends LiveboardEmbed {
9237
10045
  }
9238
- /**
9239
- * Configuration for search options.
9240
- *
9241
- */
9242
- export interface SearchOptions {
10046
+ interface SearchOptions$1 {
9243
10047
  /**
9244
10048
  * Search tokens to pass in the query.
9245
10049
  */
@@ -9416,7 +10220,7 @@ export interface SearchViewConfig extends SearchLiveboardCommonViewConfig, Omit<
9416
10220
  * }
9417
10221
  * ```
9418
10222
  */
9419
- searchOptions?: SearchOptions;
10223
+ searchOptions?: SearchOptions$1;
9420
10224
  /**
9421
10225
  * Exclude the search token string from the URL.
9422
10226
  * If set to true, the search token string is not appended to the URL.
@@ -9517,7 +10321,7 @@ export interface SearchViewConfig extends SearchLiveboardCommonViewConfig, Omit<
9517
10321
  focusSearchBarOnRender?: boolean;
9518
10322
  }
9519
10323
  export interface SearchAppInitData extends DefaultAppInitData {
9520
- searchOptions?: SearchOptions;
10324
+ searchOptions?: SearchOptions$1;
9521
10325
  }
9522
10326
  /**
9523
10327
  * Embed ThoughtSpot search
@@ -9626,7 +10430,7 @@ export interface SearchBarViewConfig extends BaseViewConfig, SearchLiveboardComm
9626
10430
  * })
9627
10431
  * ```
9628
10432
  */
9629
- searchOptions?: SearchOptions;
10433
+ searchOptions?: SearchOptions$1;
9630
10434
  /**
9631
10435
  * Exclude the search token string from the URL.
9632
10436
  * If set to true, the search token string is not appended to the URL.
@@ -9647,7 +10451,7 @@ export interface SearchBarViewConfig extends BaseViewConfig, SearchLiveboardComm
9647
10451
  excludeSearchTokenStringFromURL?: boolean;
9648
10452
  }
9649
10453
  interface SearchAppInitData$1 extends DefaultAppInitData {
9650
- searchOptions: SearchOptions;
10454
+ searchOptions: SearchOptions$1;
9651
10455
  }
9652
10456
  /**
9653
10457
  * Embed ThoughtSpot search bar
@@ -9673,7 +10477,7 @@ export declare class SearchBarEmbed extends TsEmbed {
9673
10477
  */
9674
10478
  render(): Promise<SearchBarEmbed>;
9675
10479
  protected getSearchInitData(): {
9676
- searchOptions: SearchOptions;
10480
+ searchOptions: SearchOptions$1;
9677
10481
  };
9678
10482
  protected getAppInitData(): Promise<SearchAppInitData$1>;
9679
10483
  }
@@ -9785,249 +10589,6 @@ export declare class SpotterAgentEmbed {
9785
10589
  export declare class BodylessConversation extends SpotterAgentEmbed {
9786
10590
  constructor(viewConfig: BodylessConversationViewConfig);
9787
10591
  }
9788
- interface SearchOptions$1 {
9789
- /**
9790
- * The query string to pass to start the Conversation.
9791
- */
9792
- searchQuery: string;
9793
- }
9794
- /**
9795
- * The configuration for the embedded spotterEmbed options.
9796
- * @group Embed components
9797
- */
9798
- export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAction"> {
9799
- /**
9800
- * The ID of the data source object. For example, Model, View, or Table. Spotter uses
9801
- * this object to query data and generate Answers.
9802
- */
9803
- worksheetId: string;
9804
- /**
9805
- * Ability to pass a starting search query to the conversation.
9806
- */
9807
- searchOptions?: SearchOptions$1;
9808
- /**
9809
- * disableSourceSelection : Disables data source selection
9810
- * but still display the selected data source.
9811
- *
9812
- * Supported embed types: `SpotterEmbed`
9813
- * @example
9814
- * ```js
9815
- * const embed = new SpotterEmbed('#tsEmbed', {
9816
- * ... //other embed view config
9817
- * disableSourceSelection : true,
9818
- * })
9819
- * ```
9820
- * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
9821
- */
9822
- disableSourceSelection?: boolean;
9823
- /**
9824
- * hideSourceSelection : Hide data source selection
9825
- *
9826
- * Supported embed types: `SpotterEmbed`
9827
- * @example
9828
- * ```js
9829
- * const embed = new SpotterEmbed('#tsEmbed', {
9830
- * ... //other embed view config
9831
- * hideSourceSelection : true,
9832
- * })
9833
- * ```
9834
- * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
9835
- */
9836
- hideSourceSelection?: boolean;
9837
- /**
9838
- * Flag to control Data panel experience
9839
- *
9840
- * Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
9841
- * @default true
9842
- * @version SDK: 1.41.1 | ThoughtSpot Cloud: 10.14.0.cl
9843
- * @example
9844
- * ```js
9845
- * // Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
9846
- * const embed = new <EmbedComponent>('#tsEmbed', {
9847
- * ... // other embed view config
9848
- * dataPanelV2: true,
9849
- * })
9850
- * ```
9851
- */
9852
- dataPanelV2?: boolean;
9853
- /**
9854
- * showSpotterLimitations : show limitation text
9855
- * of the spotter underneath the chat input.
9856
- * default is false.
9857
- *
9858
- * Supported embed types: `SpotterEmbed`
9859
- * @example
9860
- * ```js
9861
- * const embed = new SpotterEmbed('#tsEmbed', {
9862
- * ... //other embed view config
9863
- * showSpotterLimitations : true,
9864
- * })
9865
- * ```
9866
- * @version SDK: 1.36.0 | ThoughtSpot: 10.5.0.cl
9867
- */
9868
- showSpotterLimitations?: boolean;
9869
- /**
9870
- * hideSampleQuestions : Hide sample questions on
9871
- * the initial screen of the conversation.
9872
- *
9873
- * Supported embed types: `SpotterEmbed`
9874
- * @example
9875
- * ```js
9876
- * const embed = new SpotterEmbed('#tsEmbed', {
9877
- * ... //other embed view config
9878
- * hideSampleQuestions : true,
9879
- * })
9880
- * ```
9881
- * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
9882
- */
9883
- hideSampleQuestions?: boolean;
9884
- /**
9885
- * The list of runtime filters to apply to a search Answer,
9886
- * visualization, or Liveboard.
9887
- *
9888
- * Supported embed types: `SpotterEmbed`
9889
- * @example
9890
- * ```js
9891
- * const embed = new SpotterEmbed('#tsEmbed', {
9892
- * // other embed view config
9893
- * runtimeFilters: [
9894
- * {
9895
- * columnName: 'color',
9896
- * operator: RuntimeFilterOp.EQ,
9897
- * values: ['red'],
9898
- * },
9899
- * ],
9900
- * })
9901
- * ```
9902
- * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
9903
- */
9904
- runtimeFilters?: RuntimeFilter[];
9905
- /**
9906
- * Flag to control whether runtime filters should be included in the URL.
9907
- * If true, filters will be passed via app initialization payload
9908
- * (default behavior from SDK 1.45.0).
9909
- * If false/undefined, filters are appended to the iframe URL instead.
9910
- * (default behavior before SDK 1.45.0).
9911
- *
9912
- * Supported embed types: `SpotterEmbed`
9913
- * @default true
9914
- * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
9915
- */
9916
- excludeRuntimeFiltersfromURL?: boolean;
9917
- /**
9918
- * The list of runtime parameters to apply to the conversation.
9919
- *
9920
- * Supported embed types: `SpotterEmbed`
9921
- * @example
9922
- * ```js
9923
- * const embed = new SpotterEmbed('#tsEmbed', {
9924
- * // other embed view config
9925
- * runtimeParameters: [
9926
- * {
9927
- * name: 'Integer Param',
9928
- * value: 10,
9929
- * },
9930
- * ],
9931
- * })
9932
- * ```
9933
- * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
9934
- */
9935
- runtimeParameters?: RuntimeParameter[];
9936
- /**
9937
- * Flag to control whether runtime parameters should be included in the URL.
9938
- * If true, parameters will be passed via app
9939
- * initialization payload (default behavior from SDK 1.45.0).
9940
- * If false/undefined, parameters are appended to
9941
- * the iframe URL instead (default behavior before SDK 1.45.0).
9942
- *
9943
- * Supported embed types: `SpotterEmbed`
9944
- * @default true
9945
- * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
9946
- */
9947
- excludeRuntimeParametersfromURL?: boolean;
9948
- /**
9949
- * enablePastConversationsSidebar : Controls the visibility of the past conversations
9950
- * sidebar.
9951
- *
9952
- * Supported embed types: `SpotterEmbed`
9953
- * @default false
9954
- * @example
9955
- * ```js
9956
- * const embed = new SpotterEmbed('#tsEmbed', {
9957
- * ... //other embed view config
9958
- * enablePastConversationsSidebar : true,
9959
- * })
9960
- * ```
9961
- * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
9962
- */
9963
- enablePastConversationsSidebar?: boolean;
9964
- /**
9965
- * updatedSpotterChatPrompt : Controls the updated spotter chat prompt.
9966
- *
9967
- * Supported embed types: `SpotterEmbed`
9968
- * @default false
9969
- * @example
9970
- * ```js
9971
- * const embed = new SpotterEmbed('#tsEmbed', {
9972
- * ... //other embed view config
9973
- * updatedSpotterChatPrompt : true,
9974
- * })
9975
- * ```
9976
- * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
9977
- */
9978
- updatedSpotterChatPrompt?: boolean;
9979
- }
9980
- /**
9981
- * The configuration for the embedded spotterEmbed options.
9982
- * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
9983
- * Use {@link SpotterEmbedViewConfig} instead
9984
- * @group Embed components
9985
- */
9986
- export interface ConversationViewConfig extends SpotterEmbedViewConfig {
9987
- }
9988
- /**
9989
- * Embed ThoughtSpot AI Conversation.
9990
- * @group Embed components
9991
- * @example
9992
- * ```js
9993
- * const conversation = new SpotterEmbed('#tsEmbed', {
9994
- * worksheetId: 'worksheetId',
9995
- * searchOptions: {
9996
- * searchQuery: 'searchQuery',
9997
- * },
9998
- * });
9999
- * conversation.render();
10000
- * ```
10001
- * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
10002
- */
10003
- export declare class SpotterEmbed extends TsEmbed {
10004
- protected viewConfig: SpotterEmbedViewConfig;
10005
- constructor(container: HTMLElement, viewConfig: SpotterEmbedViewConfig);
10006
- protected getEmbedParamsObject(): Record<any, any>;
10007
- getIframeSrc(): string;
10008
- render(): Promise<SpotterEmbed>;
10009
- }
10010
- /**
10011
- * Embed ThoughtSpot AI Conversation.
10012
- * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
10013
- * Use {@link SpotterEmbed} instead
10014
- * @group Embed components
10015
- * @example
10016
- * ```js
10017
- * const conversation = new SpotterEmbed('#tsEmbed', {
10018
- * worksheetId: 'worksheetId',
10019
- * searchOptions: {
10020
- * searchQuery: 'searchQuery',
10021
- * },
10022
- * });
10023
- * conversation.render();
10024
- * ```
10025
- * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
10026
- */
10027
- export declare class ConversationEmbed extends SpotterEmbed {
10028
- protected viewConfig: ConversationViewConfig;
10029
- constructor(container: HTMLElement, viewConfig: ConversationViewConfig);
10030
- }
10031
10592
  export type SessionInfo = {
10032
10593
  releaseVersion: string;
10033
10594
  userGUID: string;