@thoughtspot/visual-embed-sdk 1.39.2-spotter-agent → 1.39.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 (108) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/embed/app.d.ts +19 -15
  3. package/cjs/src/embed/app.d.ts.map +1 -1
  4. package/cjs/src/embed/app.js +21 -1
  5. package/cjs/src/embed/app.js.map +1 -1
  6. package/cjs/src/embed/app.spec.js +38 -0
  7. package/cjs/src/embed/app.spec.js.map +1 -1
  8. package/cjs/src/embed/bodyless-conversation.d.ts +4 -0
  9. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  10. package/cjs/src/embed/bodyless-conversation.js +7 -1
  11. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  12. package/cjs/src/index.d.ts +2 -2
  13. package/cjs/src/index.d.ts.map +1 -1
  14. package/cjs/src/index.js +2 -1
  15. package/cjs/src/index.js.map +1 -1
  16. package/cjs/src/react/index.d.ts +2 -0
  17. package/cjs/src/react/index.d.ts.map +1 -1
  18. package/cjs/src/react/index.spec.js +3 -1
  19. package/cjs/src/react/index.spec.js.map +1 -1
  20. package/cjs/src/types.d.ts +228 -4
  21. package/cjs/src/types.d.ts.map +1 -1
  22. package/cjs/src/types.js +211 -1
  23. package/cjs/src/types.js.map +1 -1
  24. package/cjs/src/utils/global-styles.js +1 -1
  25. package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  26. package/cjs/src/utils/graphql/nlsService/conversation-service.js +5 -1
  27. package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  28. package/dist/{index-Fhk1V_Gw.js → index-ZrE8YYq8.js} +1 -1
  29. package/dist/src/embed/app.d.ts +19 -15
  30. package/dist/src/embed/app.d.ts.map +1 -1
  31. package/dist/src/embed/bodyless-conversation.d.ts +4 -0
  32. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  33. package/dist/src/index.d.ts +2 -2
  34. package/dist/src/index.d.ts.map +1 -1
  35. package/dist/src/react/index.d.ts +2 -0
  36. package/dist/src/react/index.d.ts.map +1 -1
  37. package/dist/src/types.d.ts +228 -4
  38. package/dist/src/types.d.ts.map +1 -1
  39. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  40. package/dist/tsembed-react.es.js +247 -7
  41. package/dist/tsembed-react.js +246 -6
  42. package/dist/tsembed.es.js +248 -8
  43. package/dist/tsembed.js +246 -6
  44. package/dist/visual-embed-sdk-react-full.d.ts +254 -20
  45. package/dist/visual-embed-sdk-react.d.ts +254 -20
  46. package/dist/visual-embed-sdk.d.ts +252 -20
  47. package/lib/package.json +1 -1
  48. package/lib/src/embed/app.d.ts +19 -15
  49. package/lib/src/embed/app.d.ts.map +1 -1
  50. package/lib/src/embed/app.js +20 -0
  51. package/lib/src/embed/app.js.map +1 -1
  52. package/lib/src/embed/app.spec.js +39 -1
  53. package/lib/src/embed/app.spec.js.map +1 -1
  54. package/lib/src/embed/bodyless-conversation.d.ts +4 -0
  55. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  56. package/lib/src/embed/bodyless-conversation.js +7 -1
  57. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  58. package/lib/src/index.d.ts +2 -2
  59. package/lib/src/index.d.ts.map +1 -1
  60. package/lib/src/index.js +2 -2
  61. package/lib/src/index.js.map +1 -1
  62. package/lib/src/react/index.d.ts +2 -0
  63. package/lib/src/react/index.d.ts.map +1 -1
  64. package/lib/src/react/index.spec.js +3 -1
  65. package/lib/src/react/index.spec.js.map +1 -1
  66. package/lib/src/types.d.ts +228 -4
  67. package/lib/src/types.d.ts.map +1 -1
  68. package/lib/src/types.js +211 -1
  69. package/lib/src/types.js.map +1 -1
  70. package/lib/src/utils/global-styles.js +1 -1
  71. package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  72. package/lib/src/utils/graphql/nlsService/conversation-service.js +5 -1
  73. package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  74. package/lib/src/visual-embed-sdk.d.ts +253 -21
  75. package/package.json +1 -1
  76. package/src/embed/app.spec.ts +54 -0
  77. package/src/embed/app.ts +25 -15
  78. package/src/embed/bodyless-conversation.ts +10 -0
  79. package/src/index.ts +2 -0
  80. package/src/react/index.spec.tsx +3 -1
  81. package/src/types.ts +226 -1
  82. package/src/utils/global-styles.ts +1 -1
  83. package/src/utils/graphql/nlsService/conversation-service.ts +5 -1
  84. package/cjs/src/pages/embed-test.page.d.ts +0 -8
  85. package/cjs/src/pages/embed-test.page.d.ts.map +0 -1
  86. package/cjs/src/pages/embed-test.page.js +0 -20
  87. package/cjs/src/pages/embed-test.page.js.map +0 -1
  88. package/cjs/src/pages/home.page.d.ts +0 -6
  89. package/cjs/src/pages/home.page.d.ts.map +0 -1
  90. package/cjs/src/pages/home.page.js +0 -12
  91. package/cjs/src/pages/home.page.js.map +0 -1
  92. package/cjs/src/pages/login.page.d.ts +0 -15
  93. package/cjs/src/pages/login.page.d.ts.map +0 -1
  94. package/cjs/src/pages/login.page.js +0 -22
  95. package/cjs/src/pages/login.page.js.map +0 -1
  96. package/cjs/src/tests/auth.test.d.ts +0 -1
  97. package/cjs/src/tests/auth.test.d.ts.map +0 -1
  98. package/cjs/src/tests/auth.test.js +0 -1
  99. package/cjs/src/tests/auth.test.js.map +0 -1
  100. package/cjs/src/tests/e2e/auth.spec.d.ts +0 -2
  101. package/cjs/src/tests/e2e/auth.spec.d.ts.map +0 -1
  102. package/cjs/src/tests/e2e/auth.spec.js +0 -54
  103. package/cjs/src/tests/e2e/auth.spec.js.map +0 -1
  104. package/dist/index-2QHwuA-G.js +0 -7371
  105. package/dist/index-Cj4BVGHL.js +0 -7371
  106. package/dist/index-DUaG1OG2.js +0 -7447
  107. package/dist/index-DnIvX1FR.js +0 -7371
  108. package/dist/index-OuiZF3zE.js +0 -7371
@@ -11,7 +11,7 @@ declare module '@thoughtspot/visual-embed-sdk' {
11
11
  * @summary ThoughtSpot Visual Embed SDK
12
12
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
13
13
  */
14
- import { AppEmbed, Page, AppViewConfig, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, DataPanelCustomColumnGroupsAccordionState } from '@thoughtspot/visual-embed-sdk/embed/app';
14
+ import { AppEmbed, Page, AppViewConfig, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, ListPage, DataPanelCustomColumnGroupsAccordionState } from '@thoughtspot/visual-embed-sdk/embed/app';
15
15
  import { init, prefetch, logout, executeTML, exportTML, executeTMLInput, exportTMLInput } from '@thoughtspot/visual-embed-sdk/embed/base';
16
16
  import { PinboardEmbed, LiveboardViewConfig, LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/embed/liveboard';
17
17
  import { SearchEmbed, SearchViewConfig } from '@thoughtspot/visual-embed-sdk/embed/search';
@@ -30,7 +30,7 @@ declare module '@thoughtspot/visual-embed-sdk' {
30
30
  import { getAnswerFromQuery } from '@thoughtspot/visual-embed-sdk/utils/graphql/nlsService/nls-answer-service';
31
31
  import { createLiveboardWithAnswers } from '@thoughtspot/visual-embed-sdk/utils/liveboardService/liveboardService';
32
32
  import { UIPassthroughEvent } from '@thoughtspot/visual-embed-sdk/embed/hostEventClient/contracts';
33
- export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, SpotterAgentEmbed, SpotterAgentEmbedViewConfig, BodylessConversationViewConfig, BodylessConversation, SpotterEmbed, SpotterEmbedViewConfig, ConversationViewConfig, ConversationEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, VizPoint, CustomActionPayload, UIPassthroughEvent, ListPageColumns, DataPanelCustomColumnGroupsAccordionState, };
33
+ export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, SpotterAgentEmbed, SpotterAgentEmbedViewConfig, BodylessConversationViewConfig, BodylessConversation, SpotterEmbed, SpotterEmbedViewConfig, ConversationViewConfig, ConversationEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, ListPage, VizPoint, CustomActionPayload, UIPassthroughEvent, ListPageColumns, DataPanelCustomColumnGroupsAccordionState, };
34
34
  export { resetCachedAuthToken } from '@thoughtspot/visual-embed-sdk/authToken';
35
35
  }
36
36
 
@@ -129,6 +129,21 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
129
129
  */
130
130
  Modular = "v2"
131
131
  }
132
+ /**
133
+ * Define the version of the list page
134
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
135
+ */
136
+ export enum ListPage {
137
+ /**
138
+ * List (v2) is the traditional List Experience.
139
+ * It serves as the foundational version of the list page.
140
+ */
141
+ List = "v2",
142
+ /**
143
+ * ListWithUXChanges (v3) introduces the new updated list page with UX changes.
144
+ */
145
+ ListWithUXChanges = "v3"
146
+ }
132
147
  /**
133
148
  * Define the discovery experience
134
149
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -142,6 +157,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
142
157
  * homePage determines the version of the home page.
143
158
  */
144
159
  homePage?: HomePage;
160
+ /**
161
+ * listPageVersion determines the version of the list page.
162
+ */
163
+ listPageVersion?: ListPage;
145
164
  }
146
165
  /**
147
166
  * The view configuration for full app embedding.
@@ -513,21 +532,6 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
513
532
  * ```
514
533
  */
515
534
  isUnifiedSearchExperienceEnabled?: boolean;
516
- /**
517
- * Show alert messages and toast messages in the embedded
518
- * view in full app embed.
519
- *
520
- * Supported embed types: `AppEmbed`
521
- * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
522
- * @example
523
- * ```js
524
- * const embed = new AppEmbed('#tsEmbed', {
525
- * ... // other embed view config
526
- * showAlerts:true,
527
- * })
528
- * ```
529
- */
530
- showAlerts?: boolean;
531
535
  /**
532
536
  * This flag is used to enable/disable the styling and grouping in a Liveboard
533
537
  *
@@ -1578,6 +1582,8 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1578
1582
  genNo: number;
1579
1583
  acSessionId: string;
1580
1584
  acGenNo: number;
1585
+ convId: string;
1586
+ messageId: string;
1581
1587
  }
1582
1588
  export class ConversationMessage extends TsEmbed {
1583
1589
  protected viewConfig: SpotterAgentMessageViewConfig;
@@ -1625,6 +1631,8 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1625
1631
  data?: undefined;
1626
1632
  } | {
1627
1633
  data: {
1634
+ convId: any;
1635
+ messageId: any;
1628
1636
  sessionId: any;
1629
1637
  genNo: any;
1630
1638
  acSessionId: any;
@@ -2317,7 +2325,13 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2317
2325
  * available when new navigation V3 is enabled.
2318
2326
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
2319
2327
  */
2320
- Spotter = "spotter"
2328
+ Spotter = "spotter",
2329
+ /**
2330
+ * Favorites option in the insights left navigation,
2331
+ * available when new navigation V3 is enabled.
2332
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
2333
+ */
2334
+ Favorites = "favorites"
2321
2335
  }
2322
2336
  export type DOMSelector = string | HTMLElement;
2323
2337
  /**
@@ -3083,6 +3097,20 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3083
3097
  * @private
3084
3098
  */
3085
3099
  insertInToSlide?: boolean;
3100
+ /**
3101
+ * Show alert messages and toast messages in the embed.
3102
+ * Supported embed in all embed types.
3103
+ *
3104
+ * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
3105
+ * @example
3106
+ * ```js
3107
+ * const embed = new AppEmbed('#tsEmbed', {
3108
+ * ... // other embed view config
3109
+ * showAlerts:true,
3110
+ * })
3111
+ * ```
3112
+ */
3113
+ showAlerts?: boolean;
3086
3114
  }
3087
3115
  /**
3088
3116
  * The configuration object for Home page embeds configs.
@@ -4735,7 +4763,84 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
4735
4763
  * Emitted when a user exits present mode.
4736
4764
  * @version SDK : 1.40.0 | ThoughtSpot: 10.11.0.cl
4737
4765
  */
4738
- ExitPresentMode = "exitPresentMode"
4766
+ ExitPresentMode = "exitPresentMode",
4767
+ /**
4768
+ * Emitted when spotter response is text data
4769
+ * @example
4770
+ * ```js
4771
+ * spotterEmbed.on(EmbedEvent.SpotterData, (payload) => {
4772
+ * console.log('payload', payload);
4773
+ * })
4774
+ *```
4775
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
4776
+ */
4777
+ SpotterData = "SpotterData",
4778
+ /**
4779
+ * Emitted when user opens up the worksheet preview modal in spotter embed.
4780
+ * @example
4781
+ * ```js
4782
+ * spotterEmbed.on(EmbedEvent.PreviewSpotterData, (payload) => {
4783
+ * console.log('payload', payload);
4784
+ * })
4785
+ *```
4786
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
4787
+ */
4788
+ PreviewSpotterData = "PreviewSpotterData",
4789
+ /**
4790
+ * Emitted when the spotter query is triggered in spotter embed.
4791
+ * @example
4792
+ * ```js
4793
+ * spotterEmbed.on(EmbedEvent.SpotterQueryTriggered, (payload) => {
4794
+ * console.log('payload', payload);
4795
+ * })
4796
+ *```
4797
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
4798
+ */
4799
+ SpotterQueryTriggered = "SpotterQueryTriggered",
4800
+ /**
4801
+ * Emitted when the last spotter query is edited in spotter embed.
4802
+ * @example
4803
+ * ```js
4804
+ * spotterEmbed.on(EmbedEvent.LastPromptEdited, (payload) => {
4805
+ * console.log('payload', payload);
4806
+ * })
4807
+ *```
4808
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
4809
+ */
4810
+ LastPromptEdited = "LastPromptEdited",
4811
+ /**
4812
+ * Emitted when the last spotter query is deleted in spotter embed.
4813
+ * @example
4814
+ * ```js
4815
+ * spotterEmbed.on(EmbedEvent.LastPromptDeleted, (payload) => {
4816
+ * console.log('payload', payload);
4817
+ * })
4818
+ *```
4819
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
4820
+ */
4821
+ LastPromptDeleted = "LastPromptDeleted",
4822
+ /**
4823
+ * Emitted when the coversation is reset in spotter embed.
4824
+ * @example
4825
+ * ```js
4826
+ * spotterEmbed.on(EmbedEvent.ResetSpotterConversation, (payload) => {
4827
+ * console.log('payload', payload);
4828
+ * })
4829
+ *```
4830
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
4831
+ */
4832
+ ResetSpotterConversation = "ResetSpotterConversation",
4833
+ /**
4834
+ * Emitted when the *Spotter* is initialized.
4835
+ * @example
4836
+ * ```js
4837
+ * spotterEmbed.on(EmbedEvent.SpotterInit, (payload) => {
4838
+ * console.log('payload', payload);
4839
+ * })
4840
+ *```
4841
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
4842
+ */
4843
+ SpotterInit = "SpotterInit"
4739
4844
  }
4740
4845
  /**
4741
4846
  * Event types that can be triggered by the host application
@@ -5024,6 +5129,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5024
5129
  * @param
5025
5130
  * `vizId`- GUID of the saved Answer or visualization to pin to a Liveboard.
5026
5131
  * Optional when pinning a new chart or table generated from a Search query.
5132
+ * **Required** in Spotter Embed.
5027
5133
  * @param
5028
5134
  * `liveboardID` - GUID of the Liveboard to pin an Answer. If there is no Liveboard,
5029
5135
  * specify the `newLiveboardName` parameter to create a new Liveboard.
@@ -5071,6 +5177,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5071
5177
  * ```js
5072
5178
  * appEmbed.trigger(HostEvent.Pin)
5073
5179
  * ```
5180
+ * @example
5181
+ * ```js
5182
+ * const pinResponse = await spotterEmbed.trigger(HostEvent.Pin, {
5183
+ * vizId:'730496d6-6903-4601-937e-2c691821af3c'
5184
+ * });
5185
+ * ```
5074
5186
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5075
5187
  */
5076
5188
  Pin = "pin",
@@ -5164,6 +5276,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5164
5276
  * ```js
5165
5277
  * searchEmbed.trigger(HostEvent.MakeACopy)
5166
5278
  * ```
5279
+ * @example
5280
+ * ```js
5281
+ * const pinResponse = await spotterEmbed.trigger(HostEvent.MakeACopy, {
5282
+ * vizId:'730496d6-6903-4601-937e-2c691821af3c'
5283
+ * });
5284
+ * ```
5167
5285
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5168
5286
  */
5169
5287
  MakeACopy = "makeACopy",
@@ -5236,6 +5354,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5236
5354
  * This event is not supported in visualization embed and search embed.
5237
5355
  * @param - object - To trigger the action for a specific visualization
5238
5356
  * in Liveboard embed, pass in `vizId` as a key.
5357
+ * **Required** in Spotter embed.
5239
5358
  * @example
5240
5359
  * ```js
5241
5360
  * liveboardEmbed.trigger(HostEvent.Edit)
@@ -5244,6 +5363,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5244
5363
  * liveboardEmbed.trigger(HostEvent.Edit, {vizId:
5245
5364
  * '730496d6-6903-4601-937e-2c691821af3c'})
5246
5365
  * ```
5366
+ * @example
5367
+ * ```js
5368
+ * const pinResponse = await spotterEmbed.trigger(HostEvent.Edit, {
5369
+ * vizId:'730496d6-6903-4601-937e-2c691821af3c'
5370
+ * });
5371
+ * ```
5247
5372
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5248
5373
  */
5249
5374
  Edit = "edit",
@@ -5291,6 +5416,16 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5291
5416
  * );
5292
5417
  * })
5293
5418
  * ```
5419
+ * @example
5420
+ * ```js
5421
+ * spotterEmbed.trigger(HostEvent.GetTML, {
5422
+ * vizId: '730496d6-6903-4601-937e-2c691821af3c'
5423
+ * }).then((tml) => {
5424
+ * console.log(
5425
+ * tml.answer.search_query // TML representation of the search query
5426
+ * );
5427
+ * })
5428
+ * ```
5294
5429
  * @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
5295
5430
  * @important
5296
5431
  */
@@ -5378,7 +5513,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5378
5513
  * vizEmbed.trigger(HostEvent.DownloadAsPng)
5379
5514
  *
5380
5515
  * searchEmbed.trigger(HostEvent.DownloadAsPng)
5516
+ *
5517
+ * spotterEmbed.trigger(HostEvent.DownloadAsPng, {
5518
+ * vizId:"730496d6-6903-4601-937e-2c691821af3c"
5519
+ * })
5381
5520
  * ```
5521
+ *
5382
5522
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.4.1.sw
5383
5523
  */
5384
5524
  DownloadAsPng = "downloadAsPng",
@@ -5396,6 +5536,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5396
5536
  * ```js
5397
5537
  * searchEmbed.trigger(HostEvent.DownloadAsCsv)
5398
5538
  * ```
5539
+ * ```js
5540
+ * spotterEmbed.trigger(HostEvent.DownloadAsCsv, {
5541
+ * vizId:"730496d6-6903-4601-937e-2c691821af3c"
5542
+ * })
5543
+ * ```
5399
5544
  * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
5400
5545
  */
5401
5546
  DownloadAsCsv = "downloadAsCSV",
@@ -5413,6 +5558,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5413
5558
  * ```js
5414
5559
  * searchEmbed.trigger(HostEvent.DownloadAsXlsx)
5415
5560
  * ```
5561
+ * ```js
5562
+ * spotterEmbed.trigger(HostEvent.downloadAsXLSX, {
5563
+ * vizId:"730496d6-6903-4601-937e-2c691821af3c"
5564
+ * })
5565
+ * ```
5416
5566
  * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
5417
5567
  */
5418
5568
  DownloadAsXlsx = "downloadAsXLSX",
@@ -5432,6 +5582,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5432
5582
  /**
5433
5583
  * Trigger the **Save** action on a Liveboard or Answer.
5434
5584
  * Saves the changes.
5585
+ * @param - `vizId` is required in Spotter Embed.
5435
5586
  * @example
5436
5587
  * ```js
5437
5588
  * liveboardEmbed.trigger(HostEvent.Save)
@@ -5439,6 +5590,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5439
5590
  * ```js
5440
5591
  * searchEmbed.trigger(HostEvent.Save)
5441
5592
  * ```
5593
+ * ```js
5594
+ * spotterEmbed.trigger(HostEvent.Save, {
5595
+ * vizId:"730496d6-6903-4601-937e-2c691821af3c"
5596
+ * })
5597
+ * ```
5442
5598
  * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
5443
5599
  */
5444
5600
  Save = "save",
@@ -5722,7 +5878,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5722
5878
  ResetLiveboardPersonalisedView = "ResetLiveboardPersonalisedView",
5723
5879
  /**
5724
5880
  * Triggers an action to update Parameter values on embedded
5725
- * Answers and Liveboard.
5881
+ * Answers, Liveboard and Spotter answer in Edit mode.
5726
5882
  *
5727
5883
  * @example
5728
5884
  * ```js
@@ -5741,6 +5897,13 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5741
5897
  * console.log('parameters', parameter);
5742
5898
  * });
5743
5899
  *```
5900
+ *```js
5901
+ * spotterEmbed.trigger(HostEvent.GetParameters, {
5902
+ * vizId: '730496d6-6903-4601-937e-2c691821af3c'
5903
+ * }).then((parameter) => {
5904
+ * console.log('parameters', parameter);
5905
+ * });
5906
+ *```
5744
5907
  * @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
5745
5908
  */
5746
5909
  GetParameters = "GetParameters",
@@ -5808,6 +5971,64 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5808
5971
  * @version SDK: 1.37.0 | ThoughtSpot: 10.8.0.cl
5809
5972
  */
5810
5973
  TransformTableVizData = "TransformTableVizData",
5974
+ /**
5975
+ * Triggers a search operation with the search tokens specified in
5976
+ * the search query string in spotter embed.
5977
+ * @param - `queryString`: Text string in Natural Language format
5978
+ * @param - `executeSearch`: Boolean to execute search and update search query
5979
+ * @example
5980
+ * ```js
5981
+ * spotterEmbed.trigger(HostEvent.SpotterSearch, {
5982
+ * query: 'revenue per year',
5983
+ * executeSearch: true,
5984
+ * })
5985
+ * ```
5986
+ */
5987
+ SpotterSearch = "SpotterSearch",
5988
+ /**
5989
+ * Edits the last prompt in spotter embed.
5990
+ * @param - `query`: Text string
5991
+ * @example
5992
+ * ```js
5993
+ * spotterEmbed.trigger(HostEvent.EditLastPrompt, "revenue per year");
5994
+ * ```
5995
+ */
5996
+ EditLastPrompt = "EditLastPrompt",
5997
+ /**
5998
+ * Opens the Worksheet preview modal in Spotter Embed.
5999
+ * @example
6000
+ * ```js
6001
+ * spotterEmbed.trigger(HostEvent.PreviewSpotterData);
6002
+ * ```
6003
+ */
6004
+ PreviewSpotterData = "PreviewSpotterData",
6005
+ /**
6006
+ * Resets the Spotter Embed Conversation.
6007
+ * @example
6008
+ * ```js
6009
+ * spotterEmbed.trigger(HostEvent.ResetSpotterConversation);
6010
+ * ```
6011
+ */
6012
+ ResetSpotterConversation = "ResetSpotterConversation",
6013
+ /**
6014
+ * Deletes the last prompt in spotter embed.
6015
+ * @example
6016
+ * ```js
6017
+ * spotterEmbed.trigger(HostEvent.DeleteLastPrompt);
6018
+ * ```
6019
+ */
6020
+ DeleteLastPrompt = "DeleteLastPrompt",
6021
+ /**
6022
+ * Toggle the visualization to chart or table view.
6023
+ * @param - `vizId ` In Spotter Embed, vizId is required.
6024
+ * @example
6025
+ * ```js
6026
+ * spotterEmbed.trigger(HostEvent.AnswerChartSwitcher, {
6027
+ * vizId:"'b535c760-8bbe-4e6f-bb26-af56b4129a1e'"
6028
+ * });
6029
+ *```
6030
+ */
6031
+ AnswerChartSwitcher = "answerChartSwitcher",
5811
6032
  /**
5812
6033
  * @hidden
5813
6034
  * Trigger exit from presentation mode when user exits fullscreen.
@@ -5817,7 +6038,17 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5817
6038
  *```
5818
6039
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
5819
6040
  */
5820
- ExitPresentMode = "exitPresentMode"
6041
+ ExitPresentMode = "exitPresentMode",
6042
+ /**
6043
+ * Trigger the *Ask Sage* action for visualizations
6044
+ * @example
6045
+ * ```js
6046
+ * liveboardEmbed.trigger(HostEvent.AskSpotter,
6047
+ * {containerId:'730496d6-6903-4601-937e-2c691821af3c'})
6048
+ * ```
6049
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
6050
+ */
6051
+ AskSpotter = "askSpotter"
5821
6052
  }
5822
6053
  /**
5823
6054
  * The different visual modes that the data sources panel within
@@ -5913,6 +6144,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5913
6144
  Query = "query",
5914
6145
  HideHomepageLeftNav = "hideHomepageLeftNav",
5915
6146
  ModularHomeExperienceEnabled = "modularHomeExperience",
6147
+ ListPageVersion = "listpageVersion",
5916
6148
  PendoTrackingKey = "additionalPendoKey",
5917
6149
  LiveboardHeaderSticky = "isLiveboardHeaderSticky",
5918
6150
  IsProductTour = "isProductTour",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.39.2-spotter-agent",
3
+ "version": "1.39.3",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -6,6 +6,7 @@ import {
6
6
  HomePageSearchBarMode,
7
7
  PrimaryNavbarVersion,
8
8
  HomePage,
9
+ ListPage,
9
10
  } from './app';
10
11
  import { init } from '../index';
11
12
  import { Action, AuthType, EmbedEvent, HostEvent, RuntimeFilterOp } from '../types';
@@ -624,6 +625,59 @@ describe('App embed tests', () => {
624
625
  });
625
626
  });
626
627
 
628
+ test('Should add listpageVersion=v3 when listPageVersion is ListWithUXChanges to the iframe src', async () => {
629
+ const appEmbed = new AppEmbed(getRootEl(), {
630
+ ...defaultViewConfig,
631
+ discoveryExperience: {
632
+ listPageVersion: ListPage.ListWithUXChanges,
633
+ },
634
+ } as AppViewConfig);
635
+
636
+ appEmbed.render();
637
+ await executeAfterWait(() => {
638
+ expectUrlMatchesWithParams(
639
+ getIFrameSrc(),
640
+ `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&modularHomeExperience=false&listpageVersion=v3${defaultParams}${defaultParamsPost}#/home`,
641
+ );
642
+ });
643
+ });
644
+
645
+ test('Should not add listpageVersion when listPageVersion is List (v2) to the iframe src', async () => {
646
+ const appEmbed = new AppEmbed(getRootEl(), {
647
+ ...defaultViewConfig,
648
+ discoveryExperience: {
649
+ listPageVersion: ListPage.List,
650
+ },
651
+ } as AppViewConfig);
652
+
653
+ appEmbed.render();
654
+ await executeAfterWait(() => {
655
+ expectUrlMatchesWithParams(
656
+ getIFrameSrc(),
657
+ `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&modularHomeExperience=false${defaultParams}${defaultParamsPost}#/home`,
658
+ );
659
+ });
660
+ });
661
+
662
+ test('Should add listpageVersion=v3 combined with other discoveryExperience options to the iframe src', async () => {
663
+ const appEmbed = new AppEmbed(getRootEl(), {
664
+ ...defaultViewConfig,
665
+ discoveryExperience: {
666
+ primaryNavbarVersion: PrimaryNavbarVersion.Sliding,
667
+ homePage: HomePage.Modular,
668
+ listPageVersion: ListPage.ListWithUXChanges,
669
+ },
670
+ } as AppViewConfig);
671
+
672
+ appEmbed.render();
673
+ await executeAfterWait(() => {
674
+ expectUrlMatchesWithParams(
675
+ getIFrameSrc(),
676
+ `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&modularHomeExperience=true&navigationVersion=v3&listpageVersion=v3${defaultParams}${defaultParamsPost}#/home`,
677
+ );
678
+ });
679
+ });
680
+
627
681
  test('Should add enablePendoHelp flag to the iframe src conditional on navbar', async () => {
628
682
  const appEmbed = new AppEmbed(getRootEl(), {
629
683
  ...defaultViewConfig,
package/src/embed/app.ts CHANGED
@@ -109,6 +109,22 @@ export enum HomePage {
109
109
  Modular = 'v2',
110
110
  }
111
111
 
112
+ /**
113
+ * Define the version of the list page
114
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
115
+ */
116
+ export enum ListPage {
117
+ /**
118
+ * List (v2) is the traditional List Experience.
119
+ * It serves as the foundational version of the list page.
120
+ */
121
+ List = 'v2',
122
+ /**
123
+ * ListWithUXChanges (v3) introduces the new updated list page with UX changes.
124
+ */
125
+ ListWithUXChanges = 'v3',
126
+ }
127
+
112
128
  /**
113
129
  * Define the discovery experience
114
130
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -122,6 +138,10 @@ export interface DiscoveryExperience {
122
138
  * homePage determines the version of the home page.
123
139
  */
124
140
  homePage?: HomePage;
141
+ /**
142
+ * listPageVersion determines the version of the list page.
143
+ */
144
+ listPageVersion?: ListPage;
125
145
  }
126
146
 
127
147
  /**
@@ -494,21 +514,7 @@ export interface AppViewConfig extends AllEmbedViewConfig {
494
514
  * ```
495
515
  */
496
516
  isUnifiedSearchExperienceEnabled?: boolean;
497
- /**
498
- * Show alert messages and toast messages in the embedded
499
- * view in full app embed.
500
- *
501
- * Supported embed types: `AppEmbed`
502
- * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
503
- * @example
504
- * ```js
505
- * const embed = new AppEmbed('#tsEmbed', {
506
- * ... // other embed view config
507
- * showAlerts:true,
508
- * })
509
- * ```
510
- */
511
- showAlerts?: boolean;
517
+
512
518
  /**
513
519
  * This flag is used to enable/disable the styling and grouping in a Liveboard
514
520
  *
@@ -698,6 +704,10 @@ export class AppEmbed extends V1Embed {
698
704
  if (discoveryExperience.homePage === HomePage.Modular) {
699
705
  params[Param.ModularHomeExperienceEnabled] = true;
700
706
  }
707
+ // listPageVersion v3 will enable the new list page
708
+ if (discoveryExperience.listPageVersion === ListPage.ListWithUXChanges) {
709
+ params[Param.ListPageVersion] = discoveryExperience.listPageVersion;
710
+ }
701
711
  }
702
712
 
703
713
  const queryParams = getQueryParamString(params, true);
@@ -29,6 +29,8 @@ export interface SpotterAgentMessageViewConfig extends SpotterAgentEmbedViewConf
29
29
  genNo: number;
30
30
  acSessionId: string;
31
31
  acGenNo: number;
32
+ convId: string;
33
+ messageId: string;
32
34
  }
33
35
 
34
36
  export class ConversationMessage extends TsEmbed {
@@ -43,6 +45,8 @@ export class ConversationMessage extends TsEmbed {
43
45
  genNo,
44
46
  acSessionId,
45
47
  acGenNo,
48
+ convId,
49
+ messageId,
46
50
  } = this.viewConfig;
47
51
  const path = 'conv-assist-answer';
48
52
  const queryParams = this.getBaseQueryParams();
@@ -59,6 +63,8 @@ export class ConversationMessage extends TsEmbed {
59
63
  genNo,
60
64
  acSessionId,
61
65
  acGenNo,
66
+ convId,
67
+ messageId,
62
68
  });
63
69
 
64
70
  return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
@@ -114,6 +120,8 @@ export class SpotterAgentEmbed {
114
120
 
115
121
  const embed = new ConversationMessage(container, {
116
122
  ...this.viewConfig,
123
+ convId: data.convId,
124
+ messageId: data.messageId,
117
125
  sessionId: data.sessionId,
118
126
  genNo: data.genNo,
119
127
  acSessionId: data.stateKey.transactionId,
@@ -135,6 +143,8 @@ export class SpotterAgentEmbed {
135
143
  return { error };
136
144
  }
137
145
  return { data: {
146
+ convId: data.convId,
147
+ messageId: data.messageId,
138
148
  sessionId: data.sessionId,
139
149
  genNo: data.genNo,
140
150
  acSessionId: data.stateKey.transactionId,
package/src/index.ts CHANGED
@@ -15,6 +15,7 @@ import {
15
15
  HomePageSearchBarMode,
16
16
  PrimaryNavbarVersion,
17
17
  HomePage,
18
+ ListPage,
18
19
  DataPanelCustomColumnGroupsAccordionState,
19
20
  } from './embed/app';
20
21
  import {
@@ -141,6 +142,7 @@ export {
141
142
  HomePageSearchBarMode,
142
143
  PrimaryNavbarVersion,
143
144
  HomePage,
145
+ ListPage,
144
146
  VizPoint,
145
147
  CustomActionPayload,
146
148
  UIPassthroughEvent,
@@ -241,7 +241,9 @@ describe('React Components', () => {
241
241
  genNo: 1,
242
242
  acSessionId: "acSession123",
243
243
  acGenNo: 2,
244
- worksheetId: "worksheet123"
244
+ worksheetId: "worksheet123",
245
+ convId: "conv123",
246
+ messageId: "message123"
245
247
  };
246
248
 
247
249
  it('Should render the SpotterMessage component with required props', async () => {