@thoughtspot/visual-embed-sdk 1.39.2 → 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 (157) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/config.spec.js +9 -0
  3. package/cjs/src/config.spec.js.map +1 -1
  4. package/cjs/src/embed/app.d.ts +19 -15
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +23 -2
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +56 -8
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/bodyless-conversation.d.ts +23 -7
  11. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/bodyless-conversation.js +31 -5
  13. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  14. package/cjs/src/embed/bodyless-conversation.spec.js +8 -190
  15. package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
  16. package/cjs/src/embed/conversation.spec.js +28 -0
  17. package/cjs/src/embed/conversation.spec.js.map +1 -1
  18. package/cjs/src/embed/embedConfig.d.ts +9 -7
  19. package/cjs/src/embed/embedConfig.d.ts.map +1 -1
  20. package/cjs/src/embed/embedConfig.js +9 -7
  21. package/cjs/src/embed/embedConfig.js.map +1 -1
  22. package/cjs/src/embed/liveboard.d.ts +0 -17
  23. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  24. package/cjs/src/embed/liveboard.js +2 -4
  25. package/cjs/src/embed/liveboard.js.map +1 -1
  26. package/cjs/src/embed/liveboard.spec.js +12 -11
  27. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  28. package/cjs/src/errors.d.ts +1 -0
  29. package/cjs/src/errors.d.ts.map +1 -1
  30. package/cjs/src/errors.js +1 -0
  31. package/cjs/src/errors.js.map +1 -1
  32. package/cjs/src/index.d.ts +2 -2
  33. package/cjs/src/index.d.ts.map +1 -1
  34. package/cjs/src/index.js +2 -1
  35. package/cjs/src/index.js.map +1 -1
  36. package/cjs/src/react/all-types-export.d.ts +1 -1
  37. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  38. package/cjs/src/react/all-types-export.js +3 -2
  39. package/cjs/src/react/all-types-export.js.map +1 -1
  40. package/cjs/src/react/index.d.ts +73 -20
  41. package/cjs/src/react/index.d.ts.map +1 -1
  42. package/cjs/src/react/index.js +79 -42
  43. package/cjs/src/react/index.js.map +1 -1
  44. package/cjs/src/react/index.spec.js +438 -100
  45. package/cjs/src/react/index.spec.js.map +1 -1
  46. package/cjs/src/types.d.ts +262 -6
  47. package/cjs/src/types.d.ts.map +1 -1
  48. package/cjs/src/types.js +228 -2
  49. package/cjs/src/types.js.map +1 -1
  50. package/cjs/src/utils/global-styles.js +1 -1
  51. package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  52. package/cjs/src/utils/graphql/nlsService/conversation-service.js +7 -1
  53. package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  54. package/cjs/src/utils.spec.js +25 -0
  55. package/cjs/src/utils.spec.js.map +1 -1
  56. package/dist/{index-CmEQfuE3.js → index-ZrE8YYq8.js} +1 -1
  57. package/dist/src/embed/app.d.ts +19 -15
  58. package/dist/src/embed/app.d.ts.map +1 -1
  59. package/dist/src/embed/bodyless-conversation.d.ts +23 -7
  60. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  61. package/dist/src/embed/embedConfig.d.ts +9 -7
  62. package/dist/src/embed/embedConfig.d.ts.map +1 -1
  63. package/dist/src/embed/liveboard.d.ts +0 -17
  64. package/dist/src/embed/liveboard.d.ts.map +1 -1
  65. package/dist/src/errors.d.ts +1 -0
  66. package/dist/src/errors.d.ts.map +1 -1
  67. package/dist/src/index.d.ts +2 -2
  68. package/dist/src/index.d.ts.map +1 -1
  69. package/dist/src/react/all-types-export.d.ts +1 -1
  70. package/dist/src/react/all-types-export.d.ts.map +1 -1
  71. package/dist/src/react/index.d.ts +73 -20
  72. package/dist/src/react/index.d.ts.map +1 -1
  73. package/dist/src/types.d.ts +262 -6
  74. package/dist/src/types.d.ts.map +1 -1
  75. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  76. package/dist/tsembed-react.es.js +385 -71
  77. package/dist/tsembed-react.js +385 -69
  78. package/dist/tsembed.es.js +303 -24
  79. package/dist/tsembed.js +301 -22
  80. package/dist/visual-embed-sdk-react-full.d.ts +386 -72
  81. package/dist/visual-embed-sdk-react.d.ts +386 -72
  82. package/dist/visual-embed-sdk.d.ts +314 -53
  83. package/lib/package.json +1 -1
  84. package/lib/src/config.spec.js +9 -0
  85. package/lib/src/config.spec.js.map +1 -1
  86. package/lib/src/embed/app.d.ts +19 -15
  87. package/lib/src/embed/app.d.ts.map +1 -1
  88. package/lib/src/embed/app.js +22 -1
  89. package/lib/src/embed/app.js.map +1 -1
  90. package/lib/src/embed/app.spec.js +58 -10
  91. package/lib/src/embed/app.spec.js.map +1 -1
  92. package/lib/src/embed/bodyless-conversation.d.ts +23 -7
  93. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  94. package/lib/src/embed/bodyless-conversation.js +30 -5
  95. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  96. package/lib/src/embed/bodyless-conversation.spec.js +9 -191
  97. package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
  98. package/lib/src/embed/conversation.spec.js +30 -2
  99. package/lib/src/embed/conversation.spec.js.map +1 -1
  100. package/lib/src/embed/embedConfig.d.ts +9 -7
  101. package/lib/src/embed/embedConfig.d.ts.map +1 -1
  102. package/lib/src/embed/embedConfig.js +9 -7
  103. package/lib/src/embed/embedConfig.js.map +1 -1
  104. package/lib/src/embed/liveboard.d.ts +0 -17
  105. package/lib/src/embed/liveboard.d.ts.map +1 -1
  106. package/lib/src/embed/liveboard.js +2 -4
  107. package/lib/src/embed/liveboard.js.map +1 -1
  108. package/lib/src/embed/liveboard.spec.js +12 -11
  109. package/lib/src/embed/liveboard.spec.js.map +1 -1
  110. package/lib/src/errors.d.ts +1 -0
  111. package/lib/src/errors.d.ts.map +1 -1
  112. package/lib/src/errors.js +1 -0
  113. package/lib/src/errors.js.map +1 -1
  114. package/lib/src/index.d.ts +2 -2
  115. package/lib/src/index.d.ts.map +1 -1
  116. package/lib/src/index.js +2 -2
  117. package/lib/src/index.js.map +1 -1
  118. package/lib/src/react/all-types-export.d.ts +1 -1
  119. package/lib/src/react/all-types-export.d.ts.map +1 -1
  120. package/lib/src/react/all-types-export.js +1 -1
  121. package/lib/src/react/all-types-export.js.map +1 -1
  122. package/lib/src/react/index.d.ts +73 -20
  123. package/lib/src/react/index.d.ts.map +1 -1
  124. package/lib/src/react/index.js +79 -43
  125. package/lib/src/react/index.js.map +1 -1
  126. package/lib/src/react/index.spec.js +441 -103
  127. package/lib/src/react/index.spec.js.map +1 -1
  128. package/lib/src/types.d.ts +262 -6
  129. package/lib/src/types.d.ts.map +1 -1
  130. package/lib/src/types.js +228 -2
  131. package/lib/src/types.js.map +1 -1
  132. package/lib/src/utils/global-styles.js +1 -1
  133. package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  134. package/lib/src/utils/graphql/nlsService/conversation-service.js +7 -1
  135. package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  136. package/lib/src/utils.spec.js +26 -1
  137. package/lib/src/utils.spec.js.map +1 -1
  138. package/lib/src/visual-embed-sdk.d.ts +315 -54
  139. package/package.json +1 -1
  140. package/src/config.spec.ts +11 -0
  141. package/src/embed/app.spec.ts +90 -23
  142. package/src/embed/app.ts +27 -15
  143. package/src/embed/bodyless-conversation.spec.ts +9 -203
  144. package/src/embed/bodyless-conversation.ts +34 -10
  145. package/src/embed/conversation.spec.ts +40 -2
  146. package/src/embed/embedConfig.ts +10 -8
  147. package/src/embed/liveboard.spec.ts +5 -4
  148. package/src/embed/liveboard.ts +2 -22
  149. package/src/errors.ts +1 -0
  150. package/src/index.ts +2 -0
  151. package/src/react/all-types-export.ts +2 -1
  152. package/src/react/index.spec.tsx +558 -157
  153. package/src/react/index.tsx +117 -51
  154. package/src/types.ts +301 -44
  155. package/src/utils/global-styles.ts +1 -1
  156. package/src/utils/graphql/nlsService/conversation-service.ts +7 -1
  157. package/src/utils.spec.ts +29 -0
@@ -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
  *
@@ -985,23 +989,6 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
985
989
  * })
986
990
  */
987
991
  dataSourceId?: string;
988
- /**
989
- * This flag is for show/hide checkboxes for include or exclude
990
- * cover page and filters in the Liveboard PDF.
991
- *
992
- * Supported embed types: `LiveboardEmbed`
993
- * @version SDK: 1.37.0 | ThoughtSpot:10.8.0.cl
994
- * @default true
995
- * Supported embed types: `LiveboardEmbed`
996
- * @example
997
- * ```js
998
- * const embed = new LiveboardEmbed('#tsEmbed', {
999
- * ... //other embed view config
1000
- * coverAndFilterOptionInPDF: false,
1001
- * })
1002
- * ```
1003
- */
1004
- coverAndFilterOptionInPDF?: boolean;
1005
992
  /**
1006
993
  * The list of tab IDs to hide from the embedded.
1007
994
  * This Tabs will be hidden from their respective LBs.
@@ -1581,10 +1568,6 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1581
1568
  * The ID of the worksheet to use for the conversation.
1582
1569
  */
1583
1570
  worksheetId: string;
1584
- /**
1585
- * Optional CSS class name to add to the container div.
1586
- */
1587
- containerClassName?: string;
1588
1571
  }
1589
1572
  /**
1590
1573
  * Configuration for conversation options.
@@ -1594,13 +1577,15 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1594
1577
  */
1595
1578
  export interface BodylessConversationViewConfig extends SpotterAgentEmbedViewConfig {
1596
1579
  }
1597
- interface SpotterAgentMessageViewConfig extends SpotterAgentEmbedViewConfig {
1580
+ export interface SpotterAgentMessageViewConfig extends SpotterAgentEmbedViewConfig {
1598
1581
  sessionId: string;
1599
1582
  genNo: number;
1600
1583
  acSessionId: string;
1601
1584
  acGenNo: number;
1585
+ convId: string;
1586
+ messageId: string;
1602
1587
  }
1603
- class ConversationMessage extends TsEmbed {
1588
+ export class ConversationMessage extends TsEmbed {
1604
1589
  protected viewConfig: SpotterAgentMessageViewConfig;
1605
1590
  constructor(container: HTMLElement, viewConfig: SpotterAgentMessageViewConfig);
1606
1591
  getIframeSrc(): string;
@@ -1636,6 +1621,25 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1636
1621
  viz: ConversationMessage;
1637
1622
  error?: undefined;
1638
1623
  }>;
1624
+ /**
1625
+ * Send a message to the conversation service and return only the data.
1626
+ * @param userMessage - The message to send to the conversation service.
1627
+ * @returns The data from the conversation service.
1628
+ */
1629
+ sendMessageData(userMessage: string): Promise<{
1630
+ error: any;
1631
+ data?: undefined;
1632
+ } | {
1633
+ data: {
1634
+ convId: any;
1635
+ messageId: any;
1636
+ sessionId: any;
1637
+ genNo: any;
1638
+ acSessionId: any;
1639
+ acGenNo: any;
1640
+ };
1641
+ error?: undefined;
1642
+ }>;
1639
1643
  }
1640
1644
  /**
1641
1645
  * Create a conversation embed, which can be integrated inside
@@ -1660,7 +1664,6 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1660
1664
  export class BodylessConversation extends SpotterAgentEmbed {
1661
1665
  constructor(viewConfig: BodylessConversationViewConfig);
1662
1666
  }
1663
- export {};
1664
1667
  }
1665
1668
 
1666
1669
  declare module '@thoughtspot/visual-embed-sdk/embed/conversation' {
@@ -2322,7 +2325,13 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2322
2325
  * available when new navigation V3 is enabled.
2323
2326
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
2324
2327
  */
2325
- 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"
2326
2335
  }
2327
2336
  export type DOMSelector = string | HTMLElement;
2328
2337
  /**
@@ -3088,6 +3097,20 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3088
3097
  * @private
3089
3098
  */
3090
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;
3091
3114
  }
3092
3115
  /**
3093
3116
  * The configuration object for Home page embeds configs.
@@ -3465,6 +3488,22 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3465
3488
  * ```
3466
3489
  */
3467
3490
  enableAskSage?: boolean;
3491
+ /**
3492
+ * This flag is used to show or hide checkboxes for including or excluding
3493
+ * the cover and filters pages in the Liveboard PDF.
3494
+ *
3495
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3496
+ * @version SDK: 1.40.0 | ThoughtSpot:10.8.0.cl
3497
+ * @example
3498
+ * ```js
3499
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3500
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3501
+ * ... // other embed view config
3502
+ * coverAndFilterOptionInPDF: false,
3503
+ * })
3504
+ * ```
3505
+ */
3506
+ coverAndFilterOptionInPDF?: boolean;
3468
3507
  }
3469
3508
  export interface AllEmbedViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, HomePageConfig, LiveboardAppEmbedViewConfig {
3470
3509
  }
@@ -4724,7 +4763,84 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
4724
4763
  * Emitted when a user exits present mode.
4725
4764
  * @version SDK : 1.40.0 | ThoughtSpot: 10.11.0.cl
4726
4765
  */
4727
- 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"
4728
4844
  }
4729
4845
  /**
4730
4846
  * Event types that can be triggered by the host application
@@ -5013,6 +5129,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5013
5129
  * @param
5014
5130
  * `vizId`- GUID of the saved Answer or visualization to pin to a Liveboard.
5015
5131
  * Optional when pinning a new chart or table generated from a Search query.
5132
+ * **Required** in Spotter Embed.
5016
5133
  * @param
5017
5134
  * `liveboardID` - GUID of the Liveboard to pin an Answer. If there is no Liveboard,
5018
5135
  * specify the `newLiveboardName` parameter to create a new Liveboard.
@@ -5060,6 +5177,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5060
5177
  * ```js
5061
5178
  * appEmbed.trigger(HostEvent.Pin)
5062
5179
  * ```
5180
+ * @example
5181
+ * ```js
5182
+ * const pinResponse = await spotterEmbed.trigger(HostEvent.Pin, {
5183
+ * vizId:'730496d6-6903-4601-937e-2c691821af3c'
5184
+ * });
5185
+ * ```
5063
5186
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5064
5187
  */
5065
5188
  Pin = "pin",
@@ -5153,6 +5276,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5153
5276
  * ```js
5154
5277
  * searchEmbed.trigger(HostEvent.MakeACopy)
5155
5278
  * ```
5279
+ * @example
5280
+ * ```js
5281
+ * const pinResponse = await spotterEmbed.trigger(HostEvent.MakeACopy, {
5282
+ * vizId:'730496d6-6903-4601-937e-2c691821af3c'
5283
+ * });
5284
+ * ```
5156
5285
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5157
5286
  */
5158
5287
  MakeACopy = "makeACopy",
@@ -5225,6 +5354,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5225
5354
  * This event is not supported in visualization embed and search embed.
5226
5355
  * @param - object - To trigger the action for a specific visualization
5227
5356
  * in Liveboard embed, pass in `vizId` as a key.
5357
+ * **Required** in Spotter embed.
5228
5358
  * @example
5229
5359
  * ```js
5230
5360
  * liveboardEmbed.trigger(HostEvent.Edit)
@@ -5233,6 +5363,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5233
5363
  * liveboardEmbed.trigger(HostEvent.Edit, {vizId:
5234
5364
  * '730496d6-6903-4601-937e-2c691821af3c'})
5235
5365
  * ```
5366
+ * @example
5367
+ * ```js
5368
+ * const pinResponse = await spotterEmbed.trigger(HostEvent.Edit, {
5369
+ * vizId:'730496d6-6903-4601-937e-2c691821af3c'
5370
+ * });
5371
+ * ```
5236
5372
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5237
5373
  */
5238
5374
  Edit = "edit",
@@ -5280,6 +5416,16 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5280
5416
  * );
5281
5417
  * })
5282
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
+ * ```
5283
5429
  * @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
5284
5430
  * @important
5285
5431
  */
@@ -5367,7 +5513,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5367
5513
  * vizEmbed.trigger(HostEvent.DownloadAsPng)
5368
5514
  *
5369
5515
  * searchEmbed.trigger(HostEvent.DownloadAsPng)
5516
+ *
5517
+ * spotterEmbed.trigger(HostEvent.DownloadAsPng, {
5518
+ * vizId:"730496d6-6903-4601-937e-2c691821af3c"
5519
+ * })
5370
5520
  * ```
5521
+ *
5371
5522
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.4.1.sw
5372
5523
  */
5373
5524
  DownloadAsPng = "downloadAsPng",
@@ -5385,6 +5536,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5385
5536
  * ```js
5386
5537
  * searchEmbed.trigger(HostEvent.DownloadAsCsv)
5387
5538
  * ```
5539
+ * ```js
5540
+ * spotterEmbed.trigger(HostEvent.DownloadAsCsv, {
5541
+ * vizId:"730496d6-6903-4601-937e-2c691821af3c"
5542
+ * })
5543
+ * ```
5388
5544
  * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
5389
5545
  */
5390
5546
  DownloadAsCsv = "downloadAsCSV",
@@ -5402,6 +5558,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5402
5558
  * ```js
5403
5559
  * searchEmbed.trigger(HostEvent.DownloadAsXlsx)
5404
5560
  * ```
5561
+ * ```js
5562
+ * spotterEmbed.trigger(HostEvent.downloadAsXLSX, {
5563
+ * vizId:"730496d6-6903-4601-937e-2c691821af3c"
5564
+ * })
5565
+ * ```
5405
5566
  * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
5406
5567
  */
5407
5568
  DownloadAsXlsx = "downloadAsXLSX",
@@ -5421,6 +5582,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5421
5582
  /**
5422
5583
  * Trigger the **Save** action on a Liveboard or Answer.
5423
5584
  * Saves the changes.
5585
+ * @param - `vizId` is required in Spotter Embed.
5424
5586
  * @example
5425
5587
  * ```js
5426
5588
  * liveboardEmbed.trigger(HostEvent.Save)
@@ -5428,6 +5590,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5428
5590
  * ```js
5429
5591
  * searchEmbed.trigger(HostEvent.Save)
5430
5592
  * ```
5593
+ * ```js
5594
+ * spotterEmbed.trigger(HostEvent.Save, {
5595
+ * vizId:"730496d6-6903-4601-937e-2c691821af3c"
5596
+ * })
5597
+ * ```
5431
5598
  * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
5432
5599
  */
5433
5600
  Save = "save",
@@ -5711,7 +5878,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5711
5878
  ResetLiveboardPersonalisedView = "ResetLiveboardPersonalisedView",
5712
5879
  /**
5713
5880
  * Triggers an action to update Parameter values on embedded
5714
- * Answers and Liveboard.
5881
+ * Answers, Liveboard and Spotter answer in Edit mode.
5715
5882
  *
5716
5883
  * @example
5717
5884
  * ```js
@@ -5730,6 +5897,13 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5730
5897
  * console.log('parameters', parameter);
5731
5898
  * });
5732
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
+ *```
5733
5907
  * @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
5734
5908
  */
5735
5909
  GetParameters = "GetParameters",
@@ -5797,6 +5971,64 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5797
5971
  * @version SDK: 1.37.0 | ThoughtSpot: 10.8.0.cl
5798
5972
  */
5799
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",
5800
6032
  /**
5801
6033
  * @hidden
5802
6034
  * Trigger exit from presentation mode when user exits fullscreen.
@@ -5806,7 +6038,17 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5806
6038
  *```
5807
6039
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
5808
6040
  */
5809
- 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"
5810
6052
  }
5811
6053
  /**
5812
6054
  * The different visual modes that the data sources panel within
@@ -5902,6 +6144,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5902
6144
  Query = "query",
5903
6145
  HideHomepageLeftNav = "hideHomepageLeftNav",
5904
6146
  ModularHomeExperienceEnabled = "modularHomeExperience",
6147
+ ListPageVersion = "listpageVersion",
5905
6148
  PendoTrackingKey = "additionalPendoKey",
5906
6149
  LiveboardHeaderSticky = "isLiveboardHeaderSticky",
5907
6150
  IsProductTour = "isProductTour",
@@ -5936,7 +6179,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5936
6179
  DataSourceId = "dataSourceId",
5937
6180
  preAuthCache = "preAuthCache",
5938
6181
  ShowSpotterLimitations = "showSpotterLimitations",
5939
- CoverAndFilterOptionInPDF = "coverAndFilterOptionInPDF",
6182
+ CoverAndFilterOptionInPDF = "arePdfCoverFilterPageCheckboxesEnabled",
5940
6183
  PrimaryAction = "primaryAction",
5941
6184
  isSpotterAgentEmbed = "isSpotterAgentEmbed",
5942
6185
  IsLiveboardStylingAndGroupingEnabled = "isLiveboardStylingAndGroupingEnabled"
@@ -7159,7 +7402,23 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
7159
7402
  * ```
7160
7403
  * @version SDK: 1.37.0 | ThoughtSpot Cloud: 10.8.0.cl
7161
7404
  */
7162
- CoverAndFilterOptionInPDF = "coverAndFilterOptionInPDF"
7405
+ CoverAndFilterOptionInPDF = "coverAndFilterOptionInPDF",
7406
+ /**
7407
+ * Action ID for hide or disable the
7408
+ * Spotter in conversation training widget.
7409
+ * The Add to Coaching feature is currently in beta
7410
+ * and is disabled by default on embed deployments.
7411
+ * To enable this feature on your instance,
7412
+ * contact ThoughtSpot Support.
7413
+ * @example
7414
+ * ```js
7415
+ * hiddenAction: [Action.InConversationTraining]
7416
+ * disabledActions: [Action.InConversationTraining]
7417
+ *
7418
+ * ```
7419
+ * @version SDK: 1.39.0 | ThoughtSpot Cloud: 10.10.0.cl
7420
+ */
7421
+ InConversationTraining = "InConversationTraining"
7163
7422
  }
7164
7423
  export interface AnswerServiceType {
7165
7424
  getAnswer?: (offset: number, batchSize: number) => any;
@@ -8083,13 +8342,14 @@ declare module '@thoughtspot/visual-embed-sdk/embed/embedConfig' {
8083
8342
  *
8084
8343
  * @example
8085
8344
  * ```js
8345
+ * import { getInitConfig } from '@thoughtspot/visual-embed-sdk';
8346
+ * // Call the getInitConfig method to retrieve the embed configuration
8086
8347
  * const config = getInitConfig();
8348
+ * // Log the configuration settings
8087
8349
  * console.log(config);
8088
8350
  * ```
8089
- * @example
8090
- *
8091
- * Returns the `EmbedConfig` object, which
8092
- * contains the configuration settings used to
8351
+ * Returns the link:https://developers.thoughtspot.com/docs/Interface_EmbedConfig[EmbedConfig]
8352
+ * object, which contains the configuration settings used to
8093
8353
  * initialize the SDK, including the following:
8094
8354
  *
8095
8355
  * - `thoughtSpotHost` - ThoughtSpot host URL
@@ -8098,9 +8358,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/embedConfig' {
8098
8358
  * - `customizations` - Style, text, and icon customization settings
8099
8359
  * that were applied during the SDK initialization.
8100
8360
  *
8101
- * For a comprehensive list of embed configuration settings,
8102
- * see link:https://developers.thoughtspot.com/docs/Interface_EmbedConfig[Developer Documentation].
8361
+ * The following JSON output shows the embed configuration
8362
+ * settings returned from the code in the previous example:
8103
8363
  *
8364
+ * @example
8104
8365
  * ```json
8105
8366
  * {
8106
8367
  * "thoughtSpotHost": "https://{ThoughtSpot-Host}",
@@ -8122,7 +8383,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/embedConfig' {
8122
8383
  * "authTriggerContainer": "#your-own-div"
8123
8384
  * }
8124
8385
  * ```
8125
- * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.cl, and later
8386
+ * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw, and later
8126
8387
  * @group Global methods
8127
8388
  */
8128
8389
  export const getEmbedConfig: () => EmbedConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.39.2",
3
+ "version": "1.39.3",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -21,6 +21,17 @@ describe('getThoughtSpotHost', () => {
21
21
  expect(testFn).toThrow(Error);
22
22
  });
23
23
 
24
+ test('invalid URL format', () => {
25
+ const testFn = () => {
26
+ getThoughtSpotHost({
27
+ ...embedConfig,
28
+ thoughtSpotHost: '',
29
+ });
30
+ };
31
+
32
+ expect(testFn).toThrow('Error parsing ThoughtSpot host. Please provide a valid URL.');
33
+ });
34
+
24
35
  test('IP address/hostname only', () => {
25
36
  expect(
26
37
  getThoughtSpotHost({