@thoughtspot/visual-embed-sdk 1.46.1 → 1.46.2

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 (173) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/auth.d.ts +29 -4
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +29 -4
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/css-variables.d.ts +17 -17
  7. package/cjs/src/embed/app.d.ts +60 -32
  8. package/cjs/src/embed/app.d.ts.map +1 -1
  9. package/cjs/src/embed/app.js +10 -3
  10. package/cjs/src/embed/app.js.map +1 -1
  11. package/cjs/src/embed/app.spec.js +34 -1
  12. package/cjs/src/embed/app.spec.js.map +1 -1
  13. package/cjs/src/embed/base.d.ts +2 -2
  14. package/cjs/src/embed/base.js +2 -2
  15. package/cjs/src/embed/bodyless-conversation.d.ts +5 -5
  16. package/cjs/src/embed/bodyless-conversation.js +4 -4
  17. package/cjs/src/embed/conversation.d.ts +43 -30
  18. package/cjs/src/embed/conversation.d.ts.map +1 -1
  19. package/cjs/src/embed/conversation.js +10 -11
  20. package/cjs/src/embed/conversation.js.map +1 -1
  21. package/cjs/src/embed/conversation.spec.js +27 -0
  22. package/cjs/src/embed/conversation.spec.js.map +1 -1
  23. package/cjs/src/embed/liveboard.d.ts +40 -34
  24. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  25. package/cjs/src/embed/liveboard.js +1 -1
  26. package/cjs/src/embed/liveboard.js.map +1 -1
  27. package/cjs/src/embed/liveboard.spec.js +1 -1
  28. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  29. package/cjs/src/embed/sage.d.ts +5 -5
  30. package/cjs/src/embed/sage.js +1 -1
  31. package/cjs/src/embed/search-bar.d.ts +7 -7
  32. package/cjs/src/embed/search-bar.js +1 -1
  33. package/cjs/src/embed/search.d.ts +13 -12
  34. package/cjs/src/embed/search.d.ts.map +1 -1
  35. package/cjs/src/embed/search.js.map +1 -1
  36. package/cjs/src/embed/ts-embed.d.ts +3 -3
  37. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  38. package/cjs/src/embed/ts-embed.js +12 -6
  39. package/cjs/src/embed/ts-embed.js.map +1 -1
  40. package/cjs/src/embed/ts-embed.spec.js +35 -0
  41. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  42. package/cjs/src/react/index.d.ts +15 -15
  43. package/cjs/src/react/index.js +12 -12
  44. package/cjs/src/tokenizedFetch.d.ts +1 -1
  45. package/cjs/src/tokenizedFetch.js +1 -1
  46. package/cjs/src/types.d.ts +294 -255
  47. package/cjs/src/types.d.ts.map +1 -1
  48. package/cjs/src/types.js +206 -200
  49. package/cjs/src/types.js.map +1 -1
  50. package/cjs/src/utils/graphql/answerService/answerService.d.ts +4 -2
  51. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  52. package/cjs/src/utils/graphql/answerService/answerService.js +6 -4
  53. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  54. package/cjs/src/utils/graphql/answerService/answerService.spec.js +55 -0
  55. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  56. package/cjs/src/utils.d.ts +9 -0
  57. package/cjs/src/utils.d.ts.map +1 -1
  58. package/cjs/src/utils.js +10 -1
  59. package/cjs/src/utils.js.map +1 -1
  60. package/dist/{index-Vyh6Ha5f.js → index-DkizS4xM.js} +1 -1
  61. package/dist/src/auth.d.ts +29 -4
  62. package/dist/src/auth.d.ts.map +1 -1
  63. package/dist/src/css-variables.d.ts +17 -17
  64. package/dist/src/embed/app.d.ts +60 -32
  65. package/dist/src/embed/app.d.ts.map +1 -1
  66. package/dist/src/embed/base.d.ts +2 -2
  67. package/dist/src/embed/bodyless-conversation.d.ts +5 -5
  68. package/dist/src/embed/conversation.d.ts +43 -30
  69. package/dist/src/embed/conversation.d.ts.map +1 -1
  70. package/dist/src/embed/liveboard.d.ts +40 -34
  71. package/dist/src/embed/liveboard.d.ts.map +1 -1
  72. package/dist/src/embed/sage.d.ts +5 -5
  73. package/dist/src/embed/search-bar.d.ts +7 -7
  74. package/dist/src/embed/search.d.ts +13 -12
  75. package/dist/src/embed/search.d.ts.map +1 -1
  76. package/dist/src/embed/ts-embed.d.ts +3 -3
  77. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  78. package/dist/src/react/index.d.ts +15 -15
  79. package/dist/src/tokenizedFetch.d.ts +1 -1
  80. package/dist/src/types.d.ts +294 -255
  81. package/dist/src/types.d.ts.map +1 -1
  82. package/dist/src/utils/graphql/answerService/answerService.d.ts +4 -2
  83. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  84. package/dist/src/utils.d.ts +9 -0
  85. package/dist/src/utils.d.ts.map +1 -1
  86. package/dist/tsembed-react.es.js +307 -275
  87. package/dist/tsembed-react.js +306 -274
  88. package/dist/tsembed.es.js +299 -267
  89. package/dist/tsembed.js +298 -266
  90. package/dist/visual-embed-sdk-react-full.d.ts +520 -409
  91. package/dist/visual-embed-sdk-react.d.ts +518 -407
  92. package/dist/visual-embed-sdk.d.ts +519 -408
  93. package/lib/package.json +1 -1
  94. package/lib/src/auth.d.ts +29 -4
  95. package/lib/src/auth.d.ts.map +1 -1
  96. package/lib/src/auth.js +29 -4
  97. package/lib/src/auth.js.map +1 -1
  98. package/lib/src/css-variables.d.ts +17 -17
  99. package/lib/src/embed/app.d.ts +60 -32
  100. package/lib/src/embed/app.d.ts.map +1 -1
  101. package/lib/src/embed/app.js +11 -4
  102. package/lib/src/embed/app.js.map +1 -1
  103. package/lib/src/embed/app.spec.js +34 -1
  104. package/lib/src/embed/app.spec.js.map +1 -1
  105. package/lib/src/embed/base.d.ts +2 -2
  106. package/lib/src/embed/base.js +2 -2
  107. package/lib/src/embed/bodyless-conversation.d.ts +5 -5
  108. package/lib/src/embed/bodyless-conversation.js +4 -4
  109. package/lib/src/embed/conversation.d.ts +43 -30
  110. package/lib/src/embed/conversation.d.ts.map +1 -1
  111. package/lib/src/embed/conversation.js +11 -11
  112. package/lib/src/embed/conversation.js.map +1 -1
  113. package/lib/src/embed/conversation.spec.js +27 -0
  114. package/lib/src/embed/conversation.spec.js.map +1 -1
  115. package/lib/src/embed/liveboard.d.ts +40 -34
  116. package/lib/src/embed/liveboard.d.ts.map +1 -1
  117. package/lib/src/embed/liveboard.js +1 -1
  118. package/lib/src/embed/liveboard.js.map +1 -1
  119. package/lib/src/embed/liveboard.spec.js +1 -1
  120. package/lib/src/embed/liveboard.spec.js.map +1 -1
  121. package/lib/src/embed/sage.d.ts +5 -5
  122. package/lib/src/embed/sage.js +1 -1
  123. package/lib/src/embed/search-bar.d.ts +7 -7
  124. package/lib/src/embed/search-bar.js +1 -1
  125. package/lib/src/embed/search.d.ts +13 -12
  126. package/lib/src/embed/search.d.ts.map +1 -1
  127. package/lib/src/embed/search.js.map +1 -1
  128. package/lib/src/embed/ts-embed.d.ts +3 -3
  129. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  130. package/lib/src/embed/ts-embed.js +12 -6
  131. package/lib/src/embed/ts-embed.js.map +1 -1
  132. package/lib/src/embed/ts-embed.spec.js +35 -0
  133. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  134. package/lib/src/react/index.d.ts +15 -15
  135. package/lib/src/react/index.js +12 -12
  136. package/lib/src/tokenizedFetch.d.ts +1 -1
  137. package/lib/src/tokenizedFetch.js +1 -1
  138. package/lib/src/types.d.ts +294 -255
  139. package/lib/src/types.d.ts.map +1 -1
  140. package/lib/src/types.js +206 -200
  141. package/lib/src/types.js.map +1 -1
  142. package/lib/src/utils/graphql/answerService/answerService.d.ts +4 -2
  143. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  144. package/lib/src/utils/graphql/answerService/answerService.js +5 -3
  145. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  146. package/lib/src/utils/graphql/answerService/answerService.spec.js +55 -0
  147. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  148. package/lib/src/utils.d.ts +9 -0
  149. package/lib/src/utils.d.ts.map +1 -1
  150. package/lib/src/utils.js +8 -0
  151. package/lib/src/utils.js.map +1 -1
  152. package/package.json +1 -1
  153. package/src/auth.ts +29 -4
  154. package/src/css-variables.ts +17 -17
  155. package/src/embed/app.spec.ts +46 -1
  156. package/src/embed/app.ts +72 -35
  157. package/src/embed/base.ts +2 -2
  158. package/src/embed/bodyless-conversation.ts +5 -5
  159. package/src/embed/conversation.spec.ts +37 -0
  160. package/src/embed/conversation.ts +55 -38
  161. package/src/embed/liveboard.spec.ts +1 -1
  162. package/src/embed/liveboard.ts +40 -34
  163. package/src/embed/sage.ts +5 -5
  164. package/src/embed/search-bar.tsx +7 -7
  165. package/src/embed/search.ts +13 -12
  166. package/src/embed/ts-embed.spec.ts +42 -0
  167. package/src/embed/ts-embed.ts +11 -6
  168. package/src/react/index.tsx +15 -15
  169. package/src/tokenizedFetch.ts +1 -1
  170. package/src/types.ts +293 -254
  171. package/src/utils/graphql/answerService/answerService.spec.ts +62 -0
  172. package/src/utils/graphql/answerService/answerService.ts +6 -3
  173. package/src/utils.ts +14 -0
@@ -2,7 +2,7 @@ import isUndefined from 'lodash/isUndefined';
2
2
  import { ERROR_MESSAGE } from '../errors';
3
3
  import { Param, BaseViewConfig, RuntimeFilter, RuntimeParameter, ErrorDetailsTypes, EmbedErrorCodes } from '../types';
4
4
  import { TsEmbed } from './ts-embed';
5
- import { getQueryParamString, getFilterQuery, getRuntimeParameters, validateHttpUrl, setParamIfDefined } from '../utils';
5
+ import { getQueryParamString, getFilterQuery, getRuntimeParameters, validateHttpUrl, setParamIfDefined, resolveEnablePastConversationsSidebar } from '../utils';
6
6
 
7
7
  /**
8
8
  * Configuration for search options
@@ -18,82 +18,82 @@ export interface SearchOptions {
18
18
  * Configuration for the Spotter sidebar.
19
19
  * Can be used in SpotterEmbed and AppEmbed.
20
20
  * @group Embed components
21
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
21
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
22
22
  */
23
23
  export interface SpotterSidebarViewConfig {
24
24
  /**
25
25
  * Controls the visibility of the past conversations sidebar.
26
26
  * @default false
27
- * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
27
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
28
28
  */
29
29
  enablePastConversationsSidebar?: boolean;
30
30
  /**
31
31
  * Custom title text for the sidebar header.
32
32
  * Defaults to translated "Spotter" text.
33
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
33
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
34
34
  */
35
35
  spotterSidebarTitle?: string;
36
36
  /**
37
37
  * Boolean to set the default expanded state of the sidebar.
38
38
  * @default false
39
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
39
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
40
40
  */
41
41
  spotterSidebarDefaultExpanded?: boolean;
42
42
  /**
43
43
  * Custom label text for the rename action in the conversation edit menu.
44
44
  * Defaults to translated "Rename" text.
45
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
45
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
46
46
  */
47
47
  spotterChatRenameLabel?: string;
48
48
  /**
49
49
  * Custom label text for the delete action in the conversation edit menu.
50
50
  * Defaults to translated "DELETE" text.
51
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
51
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
52
52
  */
53
53
  spotterChatDeleteLabel?: string;
54
54
  /**
55
55
  * Custom title text for the delete conversation confirmation modal.
56
56
  * Defaults to translated "Delete chat" text.
57
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
57
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
58
58
  */
59
59
  spotterDeleteConversationModalTitle?: string;
60
60
  /**
61
61
  * Custom message text for the past conversation banner alert.
62
62
  * Defaults to translated alert message.
63
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
63
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
64
64
  */
65
65
  spotterPastConversationAlertMessage?: string;
66
66
  /**
67
67
  * Custom URL for the documentation/best practices link.
68
68
  * Defaults to ThoughtSpot docs URL based on release version.
69
69
  * Note: URL must include the protocol (e.g., `https://www.example.com`).
70
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
70
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
71
71
  */
72
72
  spotterDocumentationUrl?: string;
73
73
  /**
74
74
  * Custom label text for the best practices button in the footer.
75
75
  * Defaults to translated "Best Practices" text.
76
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
76
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
77
77
  */
78
78
  spotterBestPracticesLabel?: string;
79
79
  /**
80
80
  * Number of conversations to fetch per batch when loading conversation history.
81
81
  * @default 30
82
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
82
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
83
83
  */
84
84
  spotterConversationsBatchSize?: number;
85
85
  /**
86
86
  * Custom title text for the "New Chat" button in the sidebar.
87
87
  * Defaults to translated "New Chat" text.
88
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
88
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
89
89
  */
90
90
  spotterNewChatButtonTitle?: string;
91
91
  }
92
92
 
93
93
  /**
94
94
  * Configuration for customizing Spotter chat UI branding.
95
- * @group Embed components
96
95
  * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
96
+ * @group Embed components
97
97
  */
98
98
  export interface SpotterChatViewConfig {
99
99
  /**
@@ -133,6 +133,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
133
133
  * but still display the selected data source.
134
134
  *
135
135
  * Supported embed types: `SpotterEmbed`
136
+ * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
136
137
  * @example
137
138
  * ```js
138
139
  * const embed = new SpotterEmbed('#tsEmbed', {
@@ -140,13 +141,13 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
140
141
  * disableSourceSelection : true,
141
142
  * })
142
143
  * ```
143
- * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
144
144
  */
145
145
  disableSourceSelection?: boolean;
146
146
  /**
147
147
  * hideSourceSelection : Hide data source selection
148
148
  *
149
149
  * Supported embed types: `SpotterEmbed`
150
+ * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
150
151
  * @example
151
152
  * ```js
152
153
  * const embed = new SpotterEmbed('#tsEmbed', {
@@ -154,15 +155,14 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
154
155
  * hideSourceSelection : true,
155
156
  * })
156
157
  * ```
157
- * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
158
158
  */
159
159
  hideSourceSelection?: boolean;
160
160
  /**
161
161
  * Flag to control Data panel experience
162
162
  *
163
163
  * Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
164
+ * @deprecated from SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
164
165
  * @default true
165
- * @deprecated from SDK 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
166
166
  * @example
167
167
  * ```js
168
168
  * // Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
@@ -179,6 +179,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
179
179
  * default is false.
180
180
  *
181
181
  * Supported embed types: `SpotterEmbed`
182
+ * @version SDK: 1.36.0 | ThoughtSpot: 10.5.0.cl
182
183
  * @example
183
184
  * ```js
184
185
  * const embed = new SpotterEmbed('#tsEmbed', {
@@ -186,7 +187,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
186
187
  * showSpotterLimitations : true,
187
188
  * })
188
189
  * ```
189
- * @version SDK: 1.36.0 | ThoughtSpot: 10.5.0.cl
190
190
  */
191
191
  showSpotterLimitations?: boolean;
192
192
  /**
@@ -194,6 +194,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
194
194
  * the initial screen of the conversation.
195
195
  *
196
196
  * Supported embed types: `SpotterEmbed`
197
+ * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
197
198
  * @example
198
199
  * ```js
199
200
  * const embed = new SpotterEmbed('#tsEmbed', {
@@ -201,7 +202,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
201
202
  * hideSampleQuestions : true,
202
203
  * })
203
204
  * ```
204
- * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
205
205
  */
206
206
  hideSampleQuestions?: boolean;
207
207
  /**
@@ -209,6 +209,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
209
209
  * visualization, or Liveboard.
210
210
  *
211
211
  * Supported embed types: `SpotterEmbed`
212
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
212
213
  * @example
213
214
  * ```js
214
215
  * const embed = new SpotterEmbed('#tsEmbed', {
@@ -222,7 +223,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
222
223
  * ],
223
224
  * })
224
225
  * ```
225
- * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
226
226
  */
227
227
  runtimeFilters?: RuntimeFilter[];
228
228
  /**
@@ -233,14 +233,15 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
233
233
  * (default behavior before SDK 1.45.0).
234
234
  *
235
235
  * Supported embed types: `SpotterEmbed`
236
- * @default true
237
236
  * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
237
+ * @default true
238
238
  */
239
239
  excludeRuntimeFiltersfromURL?: boolean;
240
240
  /**
241
241
  * The list of runtime parameters to apply to the conversation.
242
242
  *
243
243
  * Supported embed types: `SpotterEmbed`
244
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
244
245
  * @example
245
246
  * ```js
246
247
  * const embed = new SpotterEmbed('#tsEmbed', {
@@ -253,7 +254,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
253
254
  * ],
254
255
  * })
255
256
  * ```
256
- * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
257
257
  */
258
258
  runtimeParameters?: RuntimeParameter[];
259
259
  /**
@@ -264,14 +264,15 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
264
264
  * the iframe URL instead (default behavior before SDK 1.45.0).
265
265
  *
266
266
  * Supported embed types: `SpotterEmbed`
267
- * @default true
268
267
  * @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
268
+ * @default true
269
269
  */
270
270
  excludeRuntimeParametersfromURL?: boolean;
271
271
  /**
272
272
  * updatedSpotterChatPrompt : Controls the updated spotter chat prompt.
273
273
  *
274
274
  * Supported embed types: `SpotterEmbed`
275
+ * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
275
276
  * @default false
276
277
  * @example
277
278
  * ```js
@@ -280,17 +281,30 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
280
281
  * updatedSpotterChatPrompt : true,
281
282
  * })
282
283
  * ```
283
- * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
284
284
  */
285
285
  updatedSpotterChatPrompt?: boolean;
286
+ /**
287
+ * Controls the visibility of the past conversations sidebar.
288
+ *
289
+ * Supported embed types: `SpotterEmbed`
290
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
291
+ * @deprecated from SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
292
+ * Use `spotterSidebarConfig.enablePastConversationsSidebar`.
293
+ * @default false
294
+ */
295
+ enablePastConversationsSidebar?: boolean;
286
296
  /**
287
297
  * Configuration for the Spotter sidebar UI customization.
288
298
  *
289
299
  * Supported embed types: `SpotterEmbed`, `AppEmbed`
300
+ * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
290
301
  * @example
291
302
  * ```js
292
303
  * const embed = new SpotterEmbed('#tsEmbed', {
293
- * ... //other embed view config
304
+ * worksheetId: 'worksheet-id',
305
+ * // Deprecated standalone flag (backward compatibility)
306
+ * enablePastConversationsSidebar: false,
307
+ * // Recommended config; this value takes precedence
294
308
  * spotterSidebarConfig: {
295
309
  * enablePastConversationsSidebar: true,
296
310
  * spotterSidebarTitle: 'My Conversations',
@@ -298,7 +312,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
298
312
  * },
299
313
  * })
300
314
  * ```
301
- * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
302
315
  */
303
316
  spotterSidebarConfig?: SpotterSidebarViewConfig;
304
317
  /**
@@ -306,6 +319,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
306
319
  * branding in tool response cards.
307
320
  *
308
321
  * Supported embed types: `SpotterEmbed`
322
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
309
323
  * @example
310
324
  * ```js
311
325
  * const embed = new SpotterEmbed('#tsEmbed', {
@@ -316,15 +330,14 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
316
330
  * },
317
331
  * })
318
332
  * ```
319
- * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
320
333
  */
321
334
  spotterChatConfig?: SpotterChatViewConfig;
322
335
  }
323
336
 
324
337
  /**
325
338
  * The configuration for the embedded spotterEmbed options.
326
- * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
327
339
  * Use {@link SpotterEmbedViewConfig} instead
340
+ * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
328
341
  * @group Embed components
329
342
  */
330
343
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
@@ -332,6 +345,7 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {}
332
345
 
333
346
  /**
334
347
  * Embed ThoughtSpot AI Conversation.
348
+ * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
335
349
  * @group Embed components
336
350
  * @example
337
351
  * ```js
@@ -343,7 +357,6 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {}
343
357
  * });
344
358
  * conversation.render();
345
359
  * ```
346
- * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
347
360
  */
348
361
  export class SpotterEmbed extends TsEmbed {
349
362
  constructor(container: HTMLElement, protected viewConfig: SpotterEmbedViewConfig) {
@@ -376,7 +389,7 @@ export class SpotterEmbed extends TsEmbed {
376
389
 
377
390
  // Extract sidebar config properties
378
391
  const {
379
- enablePastConversationsSidebar,
392
+ enablePastConversationsSidebar: sidebarEnablePastConversationsSidebar,
380
393
  spotterSidebarTitle,
381
394
  spotterSidebarDefaultExpanded,
382
395
  spotterChatRenameLabel,
@@ -388,6 +401,10 @@ export class SpotterEmbed extends TsEmbed {
388
401
  spotterConversationsBatchSize,
389
402
  spotterNewChatButtonTitle,
390
403
  } = spotterSidebarConfig || {};
404
+ const resolvedEnablePastConversationsSidebar = resolveEnablePastConversationsSidebar({
405
+ spotterSidebarConfigValue: sidebarEnablePastConversationsSidebar,
406
+ standaloneValue: this.viewConfig.enablePastConversationsSidebar,
407
+ });
391
408
 
392
409
  if (!worksheetId) {
393
410
  this.handleError({
@@ -407,6 +424,12 @@ export class SpotterEmbed extends TsEmbed {
407
424
  setParamIfDefined(queryParams, Param.ShowSpotterLimitations, showSpotterLimitations, true);
408
425
  setParamIfDefined(queryParams, Param.HideSampleQuestions, hideSampleQuestions, true);
409
426
  setParamIfDefined(queryParams, Param.UpdatedSpotterChatPrompt, updatedSpotterChatPrompt, true);
427
+ setParamIfDefined(
428
+ queryParams,
429
+ Param.EnablePastConversationsSidebar,
430
+ resolvedEnablePastConversationsSidebar,
431
+ true,
432
+ );
410
433
  setParamIfDefined(queryParams, Param.SpotterSidebarDefaultExpanded, spotterSidebarDefaultExpanded, true);
411
434
 
412
435
  // String params
@@ -456,16 +479,10 @@ export class SpotterEmbed extends TsEmbed {
456
479
  excludeRuntimeFiltersfromURL,
457
480
  runtimeParameters,
458
481
  excludeRuntimeParametersfromURL,
459
- spotterSidebarConfig,
460
482
  } = this.viewConfig;
461
483
  const path = 'insights/conv-assist';
462
484
  const queryParams = this.getEmbedParamsObject();
463
485
 
464
- const enablePastConversationsSidebar = spotterSidebarConfig?.enablePastConversationsSidebar;
465
- if (!isUndefined(enablePastConversationsSidebar)) {
466
- queryParams[Param.EnablePastConversationsSidebar] = !!enablePastConversationsSidebar;
467
- }
468
-
469
486
  let query = '';
470
487
  const queryParamsString = getQueryParamString(queryParams, true);
471
488
  if (queryParamsString) {
@@ -500,8 +517,9 @@ export class SpotterEmbed extends TsEmbed {
500
517
 
501
518
  /**
502
519
  * Embed ThoughtSpot AI Conversation.
503
- * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
504
520
  * Use {@link SpotterEmbed} instead
521
+ * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
522
+ * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
505
523
  * @group Embed components
506
524
  * @example
507
525
  * ```js
@@ -513,7 +531,6 @@ export class SpotterEmbed extends TsEmbed {
513
531
  * });
514
532
  * conversation.render();
515
533
  * ```
516
- * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
517
534
  */
518
535
  export class ConversationEmbed extends SpotterEmbed {
519
536
  constructor(container: HTMLElement, protected viewConfig: ConversationViewConfig) {
@@ -169,7 +169,7 @@ describe('Liveboard/viz embed tests', () => {
169
169
  });
170
170
  });
171
171
 
172
- test('should set isLiveboardStylingAndGroupingEnabled to true in url', async () => {
172
+ test('should set isLiveboardStylingAndGroupingEnabled to true in url (deprecated, use isLiveboardMasterpiecesEnabled)', async () => {
173
173
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
174
174
  isLiveboardStylingAndGroupingEnabled: true,
175
175
  ...defaultViewConfig,
@@ -49,9 +49,9 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
49
49
  * Setting `fullHeight` to `false` fetches visualizations
50
50
  * incrementally as users scroll the page to view the charts and tables.
51
51
  *
52
- * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
53
52
  *
54
53
  * Supported embed types: `LiveboardEmbed`
54
+ * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
55
55
  * @example
56
56
  * ```js
57
57
  * const embed = new LiveboardEmbed('#embed', {
@@ -62,14 +62,14 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
62
62
  */
63
63
  fullHeight?: boolean;
64
64
  /**
65
- * This is the minimum height(in pixels) for a full-height Liveboard.
65
+ * This is the minimum height (in pixels) for a full-height Liveboard.
66
66
  * Setting this height helps resolve issues with empty Liveboards and
67
67
  * other screens navigable from a Liveboard.
68
68
  *
69
69
  * Supported embed types: `LiveboardEmbed`
70
70
  * @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
71
- * @default 500
72
71
  * @deprecated Use `minimumHeight` instead.
72
+ * @default 500
73
73
  * @example
74
74
  * ```js
75
75
  * const embed = new LiveboardEmbed('#embed', {
@@ -98,7 +98,9 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
98
98
  */
99
99
  minimumHeight?: number;
100
100
  /**
101
- * @Deprecated If set to true, the context menu in visualizations will be enabled.
101
+ * If set to true, the context menu in visualizations will be enabled.
102
+ * @version SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
103
+ * @deprecated this option is deprecated.
102
104
  * @example
103
105
  * ```js
104
106
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -106,7 +108,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
106
108
  * enableVizTransformations:true,
107
109
  * })
108
110
  * ```
109
- * @version: SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
110
111
  */
111
112
  enableVizTransformations?: boolean;
112
113
  /**
@@ -119,8 +120,9 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
119
120
  * ```js
120
121
  * const embed = new LiveboardEmbed('#tsEmbed', {
121
122
  * ... //other embed view config
122
- * liveboardId:id of liveboard,
123
+ * liveboardId:'id of liveboard',
123
124
  * })
125
+ * ```
124
126
  */
125
127
  liveboardId?: string;
126
128
  /**
@@ -173,6 +175,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
173
175
  * 'f547ec54-2a37-4516-a222-2b06719af726'
174
176
  * ]
175
177
  * })
178
+ * ```
176
179
  */
177
180
  visibleVizs?: string[];
178
181
  /**
@@ -200,6 +203,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
200
203
  * Specify the tab ID.
201
204
  *
202
205
  * Supported embed types: `LiveboardEmbed`
206
+ * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
203
207
  * @example
204
208
  * ```js
205
209
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -207,7 +211,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
207
211
  * activeTabId:'id-1234',
208
212
  * })
209
213
  * ```
210
- * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
211
214
  */
212
215
  activeTabId?: string;
213
216
  /**
@@ -216,6 +219,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
216
219
  * that includes specific filter selections.
217
220
  *
218
221
  * Supported embed types: `LiveboardEmbed`
222
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
219
223
  * @example
220
224
  * ```js
221
225
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -224,7 +228,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
224
228
  * activeTabId: 'tab-guid',
225
229
  * })
226
230
  * ```
227
- * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
228
231
  */
229
232
  personalizedViewId?: string;
230
233
  /**
@@ -245,13 +248,14 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
245
248
  * Show a preview image of the visualization before the visualization loads.
246
249
  * Only works for visualizations embeds with a viz id.
247
250
  *
248
- * Also, viz snashot should be enabled in the ThoughtSpot instance.
251
+ * Also, viz snapshot should be enabled in the ThoughtSpot instance.
249
252
  * Contact ThoughtSpot support to enable this feature.
250
253
  *
251
- * Since, this will show preview images, be careful that it may show
254
+ * Since this will show preview images, be careful that it may show
252
255
  * undesired data to the user when using row level security.
253
256
  *
254
257
  * Supported embed types: `LiveboardEmbed`
258
+ * @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl
255
259
  * @example
256
260
  * ```js
257
261
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -261,7 +265,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
261
265
  * });
262
266
  * embed.render();
263
267
  * ```
264
- * @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl
265
268
  */
266
269
  showPreviewLoader?: boolean;
267
270
  /**
@@ -269,13 +272,14 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
269
272
  *
270
273
  * Supported embed types: `LiveboardEmbed`
271
274
  * @hidden
272
- * @version SDK: 1.35.0 | ThoughtSpot:10.6.0.cl
275
+ * @version SDK: 1.35.0 | ThoughtSpot: 10.6.0.cl
273
276
  * @example
274
277
  * ```js
275
278
  * const embed = new LiveboardEmbed('#tsEmbed', {
276
279
  * ... //other embed view config
277
- * oAuthPollingInterval: value in milliseconds,
280
+ * oAuthPollingInterval: 30000,
278
281
  * })
282
+ * ```
279
283
  */
280
284
  oAuthPollingInterval?: number;
281
285
 
@@ -284,36 +288,39 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
284
288
  *
285
289
  * Supported embed types: `LiveboardEmbed`
286
290
  * @hidden
287
- * @version SDK: 1.35.0 | ThoughtSpot:10.6.0.cl
291
+ * @version SDK: 1.35.0 | ThoughtSpot: 10.6.0.cl
288
292
  * @example
289
293
  * ```js
290
294
  * const embed = new LiveboardEmbed('#tsEmbed', {
291
295
  * ... //other embed view config
292
296
  * isForceRedirect: false,
293
297
  * })
298
+ * ```
294
299
  */
295
300
  isForceRedirect?: boolean;
296
301
 
297
302
  /**
298
303
  * The source connection ID for authentication.
299
- * @hidden
300
- * @version SDK: 1.35.0 | ThoughtSpot:10.6.0.cl
301
304
  *
302
305
  * Supported embed types: `LiveboardEmbed`
306
+ * @hidden
307
+ * @version SDK: 1.35.0 | ThoughtSpot: 10.6.0.cl
303
308
  * @example
304
309
  * ```js
305
310
  * const embed = new LiveboardEmbed('#tsEmbed', {
306
311
  * ... //other embed view config
307
312
  * dataSourceId: '',
308
313
  * })
314
+ * ```
309
315
  */
310
316
  dataSourceId?: string;
311
317
  /**
312
- * The list of tab IDs to hide from the embedded.
313
- * This Tabs will be hidden from their respective LBs.
314
- * Use this to hide an tabID.
318
+ * The list of tab IDs to hide from the embedded Liveboard.
319
+ * These tabs will be hidden from their respective Liveboards.
320
+ * Use this to hide a tab ID.
315
321
  *
316
322
  * Supported embed types: `LiveboardEmbed`
323
+ * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 10.1.0.sw
317
324
  * @example
318
325
  * ```js
319
326
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -324,7 +331,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
324
331
  * ]
325
332
  * });
326
333
  * ```
327
- * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 10.1.0.sw
328
334
  */
329
335
  hiddenTabs?: string[];
330
336
  /**
@@ -348,7 +354,8 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
348
354
  */
349
355
  visibleTabs?: string[];
350
356
  /**
351
- * This flag is used to enable/disable the styling and grouping in a Liveboard
357
+ * This flag is used to enable/disable the styling and grouping in a Liveboard. Use {@link isLiveboardMasterpiecesEnabled} instead.
358
+ * @deprecated This flag is deprecated.
352
359
  *
353
360
  * Supported embed types: `LiveboardEmbed`, `AppEmbed`
354
361
  * @type {boolean}
@@ -414,6 +421,9 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
414
421
  /**
415
422
  * This flag is used to enable the full height lazy load data.
416
423
  *
424
+ * @type {boolean}
425
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
426
+ * @default false
417
427
  * @example
418
428
  * ```js
419
429
  * const embed = new LiveboardEmbed('#embed-container', {
@@ -422,33 +432,29 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
422
432
  * lazyLoadingForFullHeight: true,
423
433
  * })
424
434
  * ```
425
- *
426
- * @type {boolean}
427
- * @default false
428
- * @version SDK: 1.40.0 | ThoughtSpot:10.12.0.cl
429
435
  */
430
436
  lazyLoadingForFullHeight?: boolean;
431
437
  /**
432
438
  * The margin to be used for lazy loading.
433
439
  *
434
440
  * For example, if the margin is set to '10px',
435
- * the visualization will be loaded 10px before the its top edge is visible in the
441
+ * the visualization will be loaded 10px before its top edge is visible in the
436
442
  * viewport.
437
443
  *
438
444
  * The format is similar to CSS margin.
439
445
  *
446
+ * @type {string}
447
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
440
448
  * @example
441
449
  * ```js
442
450
  * const embed = new LiveboardEmbed('#embed-container', {
443
451
  * // ...other options
444
452
  * fullHeight: true,
445
453
  * lazyLoadingForFullHeight: true,
446
- * // Using 0px, the visualization will be only loaded when its visible in the viewport.
454
+ * // Using 0px, the visualization will be only loaded when it's visible in the viewport.
447
455
  * lazyLoadingMargin: '0px',
448
456
  * })
449
457
  * ```
450
- * @type {string}
451
- * @version SDK: 1.40.0 | ThoughtSpot:10.12.0.cl
452
458
  */
453
459
  lazyLoadingMargin?: string;
454
460
  /**
@@ -456,6 +462,8 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
456
462
  * of the spotter underneath the chat input.
457
463
  * default is false.
458
464
  *
465
+ * @type {boolean}
466
+ * @version SDK: 1.41.1 | ThoughtSpot: 10.5.0.cl
459
467
  * @example
460
468
  * ```js
461
469
  * const embed = new LiveboardEmbed('#embed-container', {
@@ -463,14 +471,13 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
463
471
  * showSpotterLimitations: true,
464
472
  * })
465
473
  * ```
466
- * @type {boolean}
467
- * @version SDK: 1.41.1 | ThoughtSpot: 10.5.0.cl
468
474
  */
469
475
  showSpotterLimitations?: boolean;
470
476
  /**
471
477
  * updatedSpotterChatPrompt : Controls the updated spotter chat prompt.
472
478
  *
473
479
  * Supported embed types: `LiveboardEmbed`
480
+ * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
474
481
  * @default false
475
482
  * @example
476
483
  * ```js
@@ -479,7 +486,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
479
486
  * updatedSpotterChatPrompt : true,
480
487
  * })
481
488
  * ```
482
- * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
483
489
  */
484
490
  updatedSpotterChatPrompt?: boolean;
485
491
  /**
@@ -487,6 +493,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
487
493
  * branding in tool response cards.
488
494
  *
489
495
  * Supported embed types: `LiveboardEmbed`
496
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
490
497
  * @example
491
498
  * ```js
492
499
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -497,7 +504,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
497
504
  * },
498
505
  * })
499
506
  * ```
500
- * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
501
507
  */
502
508
  spotterChatConfig?: SpotterChatViewConfig;
503
509
  }
@@ -506,6 +512,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
506
512
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
507
513
  * waits for the authentication to complete, so you need not wait for
508
514
  * `AuthStatus.SUCCESS`.
515
+ * @group Embed components
509
516
  * @example
510
517
  * ```js
511
518
  * import { .. } from '@thoughtspot/visual-embed-sdk';
@@ -515,7 +522,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
515
522
  * // .. other params here.
516
523
  * })
517
524
  * ```
518
- * @group Embed components
519
525
  */
520
526
  export class LiveboardEmbed extends V1Embed {
521
527
  protected viewConfig: LiveboardViewConfig;