@thoughtspot/visual-embed-sdk 1.33.0-alpha.1 → 1.33.0-dc.1

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 (564) hide show
  1. package/cjs/package.json +12 -28
  2. package/cjs/src/auth.d.ts +0 -1
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +7 -7
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/auth.spec.d.ts +1 -11
  7. package/cjs/src/auth.spec.d.ts.map +1 -1
  8. package/cjs/src/auth.spec.js +5 -14
  9. package/cjs/src/auth.spec.js.map +1 -1
  10. package/cjs/src/authToken.d.ts +4 -0
  11. package/cjs/src/authToken.d.ts.map +1 -1
  12. package/cjs/src/authToken.js +9 -7
  13. package/cjs/src/authToken.js.map +1 -1
  14. package/cjs/src/css-variables.d.ts +46 -3
  15. package/cjs/src/css-variables.d.ts.map +1 -1
  16. package/cjs/src/embed/app.d.ts +58 -14
  17. package/cjs/src/embed/app.d.ts.map +1 -1
  18. package/cjs/src/embed/app.js +22 -4
  19. package/cjs/src/embed/app.js.map +1 -1
  20. package/cjs/src/embed/app.spec.js +62 -0
  21. package/cjs/src/embed/app.spec.js.map +1 -1
  22. package/cjs/src/embed/base.d.ts +35 -33
  23. package/cjs/src/embed/base.d.ts.map +1 -1
  24. package/cjs/src/embed/base.js +37 -33
  25. package/cjs/src/embed/base.js.map +1 -1
  26. package/cjs/src/embed/bodyless-conversation.d.ts +26 -0
  27. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -0
  28. package/cjs/src/embed/bodyless-conversation.js +70 -0
  29. package/cjs/src/embed/bodyless-conversation.js.map +1 -0
  30. package/cjs/src/embed/bodyless-conversation.spec.d.ts +2 -0
  31. package/cjs/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
  32. package/cjs/src/embed/bodyless-conversation.spec.js +125 -0
  33. package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -0
  34. package/cjs/src/embed/conversation.d.ts +28 -0
  35. package/cjs/src/embed/conversation.d.ts.map +1 -0
  36. package/cjs/src/embed/conversation.js +34 -0
  37. package/cjs/src/embed/conversation.js.map +1 -0
  38. package/cjs/src/embed/conversation.spec.d.ts +2 -0
  39. package/cjs/src/embed/conversation.spec.d.ts.map +1 -0
  40. package/cjs/src/embed/conversation.spec.js +32 -0
  41. package/cjs/src/embed/conversation.spec.js.map +1 -0
  42. package/cjs/src/embed/embed.spec.js +0 -19
  43. package/cjs/src/embed/embed.spec.js.map +1 -1
  44. package/cjs/src/embed/liveboard.d.ts +49 -0
  45. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  46. package/cjs/src/embed/liveboard.js +21 -1
  47. package/cjs/src/embed/liveboard.js.map +1 -1
  48. package/cjs/src/embed/liveboard.spec.js +43 -0
  49. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  50. package/cjs/src/embed/search.d.ts +14 -13
  51. package/cjs/src/embed/search.d.ts.map +1 -1
  52. package/cjs/src/embed/search.js +6 -4
  53. package/cjs/src/embed/search.js.map +1 -1
  54. package/cjs/src/embed/search.spec.js +9 -9
  55. package/cjs/src/embed/search.spec.js.map +1 -1
  56. package/cjs/src/embed/ts-embed.d.ts +4 -3
  57. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  58. package/cjs/src/embed/ts-embed.js +20 -19
  59. package/cjs/src/embed/ts-embed.js.map +1 -1
  60. package/cjs/src/embed/ts-embed.spec.js +0 -9
  61. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  62. package/cjs/src/errors.d.ts +11 -0
  63. package/cjs/src/errors.d.ts.map +1 -1
  64. package/cjs/src/errors.js +11 -0
  65. package/cjs/src/errors.js.map +1 -1
  66. package/cjs/src/index.d.ts +4 -1
  67. package/cjs/src/index.d.ts.map +1 -1
  68. package/cjs/src/index.js +7 -1
  69. package/cjs/src/index.js.map +1 -1
  70. package/cjs/src/mixpanel-service.d.ts +4 -0
  71. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  72. package/cjs/src/mixpanel-service.js +6 -1
  73. package/cjs/src/mixpanel-service.js.map +1 -1
  74. package/cjs/src/react/index.d.ts +39 -1
  75. package/cjs/src/react/index.d.ts.map +1 -1
  76. package/cjs/src/react/index.js +37 -1
  77. package/cjs/src/react/index.js.map +1 -1
  78. package/cjs/src/react/index.spec.js +1 -1
  79. package/cjs/src/react/index.spec.js.map +1 -1
  80. package/cjs/src/test/test-utils.d.ts +13 -0
  81. package/cjs/src/test/test-utils.d.ts.map +1 -1
  82. package/cjs/src/test/test-utils.js +41 -4
  83. package/cjs/src/test/test-utils.js.map +1 -1
  84. package/cjs/src/tokenizedFetch.d.ts.map +1 -1
  85. package/cjs/src/tokenizedFetch.js +5 -1
  86. package/cjs/src/tokenizedFetch.js.map +1 -1
  87. package/cjs/src/types.d.ts +320 -27
  88. package/cjs/src/types.d.ts.map +1 -1
  89. package/cjs/src/types.js +271 -15
  90. package/cjs/src/types.js.map +1 -1
  91. package/cjs/src/utils/answerService/answerService.d.ts +34 -0
  92. package/cjs/src/utils/answerService/answerService.d.ts.map +1 -0
  93. package/cjs/src/utils/answerService/answerService.js +142 -0
  94. package/cjs/src/utils/answerService/answerService.js.map +1 -0
  95. package/cjs/src/utils/answerService/answerService.spec.d.ts +1 -0
  96. package/cjs/src/utils/answerService/answerService.spec.d.ts.map +1 -0
  97. package/cjs/src/utils/answerService/answerService.spec.js +1 -0
  98. package/cjs/src/utils/answerService/answerService.spec.js.map +1 -0
  99. package/cjs/src/utils/answerService/graphql-queries.d.ts +6 -0
  100. package/cjs/src/utils/answerService/graphql-queries.d.ts.map +1 -0
  101. package/cjs/src/utils/answerService/graphql-queries.js +123 -0
  102. package/cjs/src/utils/answerService/graphql-queries.js.map +1 -0
  103. package/cjs/src/utils/answerService.d.ts +10 -0
  104. package/cjs/src/utils/answerService.d.ts.map +1 -0
  105. package/cjs/src/utils/answerService.js +61 -0
  106. package/cjs/src/utils/answerService.js.map +1 -0
  107. package/cjs/src/utils/answerService.spec.d.ts +2 -0
  108. package/cjs/src/utils/answerService.spec.d.ts.map +1 -0
  109. package/cjs/src/utils/answerService.spec.js +31 -0
  110. package/cjs/src/utils/answerService.spec.js.map +1 -0
  111. package/cjs/src/utils/authService/authService.spec.js +11 -2
  112. package/cjs/src/utils/authService/authService.spec.js.map +1 -1
  113. package/cjs/src/utils/authService/tokenizedAuthService.d.ts +0 -2
  114. package/cjs/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
  115. package/cjs/src/utils/authService/tokenizedAuthService.js +0 -2
  116. package/cjs/src/utils/authService/tokenizedAuthService.js.map +1 -1
  117. package/cjs/src/utils/authService.d.ts +37 -0
  118. package/cjs/src/utils/authService.d.ts.map +1 -0
  119. package/cjs/src/utils/authService.js +106 -0
  120. package/cjs/src/utils/authService.js.map +1 -0
  121. package/cjs/src/utils/authService.spec.d.ts +2 -0
  122. package/cjs/src/utils/authService.spec.d.ts.map +1 -0
  123. package/cjs/src/utils/authService.spec.js +72 -0
  124. package/cjs/src/utils/authService.spec.js.map +1 -0
  125. package/cjs/src/utils/global-styles.spec.d.ts +2 -0
  126. package/cjs/src/utils/global-styles.spec.d.ts.map +1 -0
  127. package/cjs/src/utils/global-styles.spec.js +21 -0
  128. package/cjs/src/utils/global-styles.spec.js.map +1 -0
  129. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
  130. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  131. package/cjs/src/utils/graphql/answerService/answer-queries.js +32 -2
  132. package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  133. package/cjs/src/utils/graphql/answerService/answerService.d.ts +23 -0
  134. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  135. package/cjs/src/utils/graphql/answerService/answerService.js +76 -8
  136. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  137. package/cjs/src/utils/graphql/answerService/answerService.spec.js +109 -0
  138. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  139. package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts +5 -0
  140. package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts.map +1 -0
  141. package/cjs/src/utils/graphql/answerService/graphql-queries.js +80 -0
  142. package/cjs/src/utils/graphql/answerService/graphql-queries.js.map +1 -0
  143. package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts +3 -0
  144. package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts.map +1 -0
  145. package/cjs/src/utils/graphql/conversationService/conversation-queries.js +318 -0
  146. package/cjs/src/utils/graphql/conversationService/conversation-queries.js.map +1 -0
  147. package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts +12 -0
  148. package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts.map +1 -0
  149. package/cjs/src/utils/graphql/conversationService/conversation-service.js +89 -0
  150. package/cjs/src/utils/graphql/conversationService/conversation-service.js.map +1 -0
  151. package/cjs/src/utils/graphql/graphql-request.d.ts.map +1 -1
  152. package/cjs/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  153. package/cjs/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  154. package/cjs/src/utils/graphql/graphql-request.spec.js +48 -0
  155. package/cjs/src/utils/graphql/graphql-request.spec.js.map +1 -0
  156. package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
  157. package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
  158. package/cjs/src/utils/graphql/nlsService/conversation-queries.js +313 -0
  159. package/cjs/src/utils/graphql/nlsService/conversation-queries.js.map +1 -0
  160. package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
  161. package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
  162. package/cjs/src/utils/graphql/nlsService/conversation-service.js +75 -0
  163. package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -0
  164. package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
  165. package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
  166. package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js +403 -0
  167. package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js.map +1 -0
  168. package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
  169. package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
  170. package/cjs/src/utils/graphql/nlsService/nls-answer-service.js +55 -0
  171. package/cjs/src/utils/graphql/nlsService/nls-answer-service.js.map +1 -0
  172. package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
  173. package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
  174. package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js +33 -0
  175. package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +1 -0
  176. package/cjs/src/utils/graphql/preview-service.d.ts +6 -0
  177. package/cjs/src/utils/graphql/preview-service.d.ts.map +1 -1
  178. package/cjs/src/utils/graphql/preview-service.js +6 -0
  179. package/cjs/src/utils/graphql/preview-service.js.map +1 -1
  180. package/cjs/src/utils/graphql/preview-service.spec.d.ts +2 -0
  181. package/cjs/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
  182. package/cjs/src/utils/graphql/preview-service.spec.js +20 -0
  183. package/cjs/src/utils/graphql/preview-service.spec.js.map +1 -0
  184. package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts +3 -0
  185. package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts.map +1 -0
  186. package/cjs/src/utils/graphql/spotterService/conversation-queries.js +318 -0
  187. package/cjs/src/utils/graphql/spotterService/conversation-queries.js.map +1 -0
  188. package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts +12 -0
  189. package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts.map +1 -0
  190. package/cjs/src/utils/graphql/spotterService/conversation-service.js +89 -0
  191. package/cjs/src/utils/graphql/spotterService/conversation-service.js.map +1 -0
  192. package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts +2 -0
  193. package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +1 -0
  194. package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js +403 -0
  195. package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js.map +1 -0
  196. package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts +12 -0
  197. package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +1 -0
  198. package/cjs/src/utils/graphql/spotterService/nls-answer-service.js +55 -0
  199. package/cjs/src/utils/graphql/spotterService/nls-answer-service.js.map +1 -0
  200. package/cjs/src/utils/liveboardService/liveboardService.d.ts +3 -0
  201. package/cjs/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  202. package/cjs/src/utils/liveboardService/liveboardService.js +50 -0
  203. package/cjs/src/utils/liveboardService/liveboardService.js.map +1 -0
  204. package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
  205. package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
  206. package/cjs/src/utils/liveboardService/liveboardService.spec.js +64 -0
  207. package/cjs/src/utils/liveboardService/liveboardService.spec.js.map +1 -0
  208. package/cjs/src/utils/processData.d.ts.map +1 -1
  209. package/cjs/src/utils/processData.js +4 -3
  210. package/cjs/src/utils/processData.js.map +1 -1
  211. package/cjs/src/utils/processData.spec.js +15 -0
  212. package/cjs/src/utils/processData.spec.js.map +1 -1
  213. package/cjs/src/utils/processTrigger.d.ts +1 -0
  214. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  215. package/cjs/src/utils/processTrigger.js +3 -3
  216. package/cjs/src/utils/processTrigger.js.map +1 -1
  217. package/cjs/src/utils/processTrigger.spec.js +10 -0
  218. package/cjs/src/utils/processTrigger.spec.js.map +1 -1
  219. package/cjs/src/utils/reporting.d.ts +16 -0
  220. package/cjs/src/utils/reporting.d.ts.map +1 -0
  221. package/cjs/src/utils/reporting.js +68 -0
  222. package/cjs/src/utils/reporting.js.map +1 -0
  223. package/cjs/src/utils/reporting.spec.d.ts +2 -0
  224. package/cjs/src/utils/reporting.spec.d.ts.map +1 -0
  225. package/cjs/src/utils/reporting.spec.js +76 -0
  226. package/cjs/src/utils/reporting.spec.js.map +1 -0
  227. package/cjs/src/utils.d.ts.map +1 -1
  228. package/cjs/src/utils.js +1 -3
  229. package/cjs/src/utils.js.map +1 -1
  230. package/dist/src/auth.d.ts +0 -1
  231. package/dist/src/auth.d.ts.map +1 -1
  232. package/dist/src/auth.spec.d.ts +1 -11
  233. package/dist/src/auth.spec.d.ts.map +1 -1
  234. package/dist/src/authToken.d.ts +4 -0
  235. package/dist/src/authToken.d.ts.map +1 -1
  236. package/dist/src/css-variables.d.ts +46 -3
  237. package/dist/src/css-variables.d.ts.map +1 -1
  238. package/dist/src/embed/app.d.ts +58 -14
  239. package/dist/src/embed/app.d.ts.map +1 -1
  240. package/dist/src/embed/base.d.ts +35 -33
  241. package/dist/src/embed/base.d.ts.map +1 -1
  242. package/dist/src/embed/bodyless-conversation.d.ts +26 -0
  243. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -0
  244. package/dist/src/embed/bodyless-conversation.spec.d.ts +2 -0
  245. package/dist/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
  246. package/dist/src/embed/conversation.d.ts +28 -0
  247. package/dist/src/embed/conversation.d.ts.map +1 -0
  248. package/dist/src/embed/conversation.spec.d.ts +2 -0
  249. package/dist/src/embed/conversation.spec.d.ts.map +1 -0
  250. package/dist/src/embed/liveboard.d.ts +49 -0
  251. package/dist/src/embed/liveboard.d.ts.map +1 -1
  252. package/dist/src/embed/search.d.ts +14 -13
  253. package/dist/src/embed/search.d.ts.map +1 -1
  254. package/dist/src/embed/ts-embed.d.ts +4 -3
  255. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  256. package/dist/src/errors.d.ts +11 -0
  257. package/dist/src/errors.d.ts.map +1 -1
  258. package/dist/src/index.d.ts +4 -1
  259. package/dist/src/index.d.ts.map +1 -1
  260. package/dist/src/mixpanel-service.d.ts +4 -0
  261. package/dist/src/mixpanel-service.d.ts.map +1 -1
  262. package/dist/src/react/index.d.ts +39 -1
  263. package/dist/src/react/index.d.ts.map +1 -1
  264. package/dist/src/test/test-utils.d.ts +13 -0
  265. package/dist/src/test/test-utils.d.ts.map +1 -1
  266. package/dist/src/tokenizedFetch.d.ts.map +1 -1
  267. package/dist/src/types.d.ts +320 -27
  268. package/dist/src/types.d.ts.map +1 -1
  269. package/dist/src/utils/authService/tokenizedAuthService.d.ts +0 -2
  270. package/dist/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
  271. package/dist/src/utils/global-styles.spec.d.ts +2 -0
  272. package/dist/src/utils/global-styles.spec.d.ts.map +1 -0
  273. package/dist/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
  274. package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  275. package/dist/src/utils/graphql/answerService/answerService.d.ts +23 -0
  276. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  277. package/dist/src/utils/graphql/graphql-request.d.ts.map +1 -1
  278. package/dist/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  279. package/dist/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  280. package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
  281. package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
  282. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
  283. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
  284. package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
  285. package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
  286. package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
  287. package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
  288. package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
  289. package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
  290. package/dist/src/utils/graphql/preview-service.d.ts +6 -0
  291. package/dist/src/utils/graphql/preview-service.d.ts.map +1 -1
  292. package/dist/src/utils/graphql/preview-service.spec.d.ts +2 -0
  293. package/dist/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
  294. package/dist/src/utils/liveboardService/liveboardService.d.ts +3 -0
  295. package/dist/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  296. package/dist/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
  297. package/dist/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
  298. package/dist/src/utils/processData.d.ts.map +1 -1
  299. package/dist/src/utils/processTrigger.d.ts +1 -0
  300. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  301. package/dist/src/utils/reporting.d.ts +16 -0
  302. package/dist/src/utils/reporting.d.ts.map +1 -0
  303. package/dist/src/utils/reporting.spec.d.ts +2 -0
  304. package/dist/src/utils/reporting.spec.d.ts.map +1 -0
  305. package/dist/src/utils.d.ts.map +1 -1
  306. package/dist/tsembed-react.es.js +8268 -202
  307. package/dist/tsembed-react.js +8216 -204
  308. package/dist/tsembed.es.js +9217 -238
  309. package/dist/tsembed.js +9162 -236
  310. package/dist/visual-embed-sdk-react-full.d.ts +665 -104
  311. package/dist/visual-embed-sdk-react.d.ts +665 -104
  312. package/dist/visual-embed-sdk.d.ts +601 -103
  313. package/lib/package.json +12 -28
  314. package/lib/src/auth.d.ts +0 -1
  315. package/lib/src/auth.d.ts.map +1 -1
  316. package/lib/src/auth.js +7 -7
  317. package/lib/src/auth.js.map +1 -1
  318. package/lib/src/auth.spec.d.ts +1 -11
  319. package/lib/src/auth.spec.d.ts.map +1 -1
  320. package/lib/src/auth.spec.js +3 -12
  321. package/lib/src/auth.spec.js.map +1 -1
  322. package/lib/src/authToken.d.ts +4 -0
  323. package/lib/src/authToken.d.ts.map +1 -1
  324. package/lib/src/authToken.js +9 -7
  325. package/lib/src/authToken.js.map +1 -1
  326. package/lib/src/css-variables.d.ts +46 -3
  327. package/lib/src/css-variables.d.ts.map +1 -1
  328. package/lib/src/embed/app.d.ts +58 -14
  329. package/lib/src/embed/app.d.ts.map +1 -1
  330. package/lib/src/embed/app.js +21 -3
  331. package/lib/src/embed/app.js.map +1 -1
  332. package/lib/src/embed/app.spec.js +63 -1
  333. package/lib/src/embed/app.spec.js.map +1 -1
  334. package/lib/src/embed/base.d.ts +35 -33
  335. package/lib/src/embed/base.d.ts.map +1 -1
  336. package/lib/src/embed/base.js +37 -33
  337. package/lib/src/embed/base.js.map +1 -1
  338. package/lib/src/embed/bodyless-conversation.d.ts +26 -0
  339. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -0
  340. package/lib/src/embed/bodyless-conversation.js +66 -0
  341. package/lib/src/embed/bodyless-conversation.js.map +1 -0
  342. package/lib/src/embed/bodyless-conversation.spec.d.ts +2 -0
  343. package/lib/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
  344. package/lib/src/embed/bodyless-conversation.spec.js +122 -0
  345. package/lib/src/embed/bodyless-conversation.spec.js.map +1 -0
  346. package/lib/src/embed/conversation.d.ts +28 -0
  347. package/lib/src/embed/conversation.d.ts.map +1 -0
  348. package/lib/src/embed/conversation.js +30 -0
  349. package/lib/src/embed/conversation.js.map +1 -0
  350. package/lib/src/embed/conversation.spec.d.ts +2 -0
  351. package/lib/src/embed/conversation.spec.d.ts.map +1 -0
  352. package/lib/src/embed/conversation.spec.js +29 -0
  353. package/lib/src/embed/conversation.spec.js.map +1 -0
  354. package/lib/src/embed/embed.spec.js +0 -19
  355. package/lib/src/embed/embed.spec.js.map +1 -1
  356. package/lib/src/embed/liveboard.d.ts +49 -0
  357. package/lib/src/embed/liveboard.d.ts.map +1 -1
  358. package/lib/src/embed/liveboard.js +21 -1
  359. package/lib/src/embed/liveboard.js.map +1 -1
  360. package/lib/src/embed/liveboard.spec.js +43 -0
  361. package/lib/src/embed/liveboard.spec.js.map +1 -1
  362. package/lib/src/embed/search.d.ts +14 -13
  363. package/lib/src/embed/search.d.ts.map +1 -1
  364. package/lib/src/embed/search.js +6 -4
  365. package/lib/src/embed/search.js.map +1 -1
  366. package/lib/src/embed/search.spec.js +9 -9
  367. package/lib/src/embed/search.spec.js.map +1 -1
  368. package/lib/src/embed/ts-embed.d.ts +4 -3
  369. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  370. package/lib/src/embed/ts-embed.js +20 -19
  371. package/lib/src/embed/ts-embed.js.map +1 -1
  372. package/lib/src/embed/ts-embed.spec.js +0 -9
  373. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  374. package/lib/src/errors.d.ts +11 -0
  375. package/lib/src/errors.d.ts.map +1 -1
  376. package/lib/src/errors.js +11 -0
  377. package/lib/src/errors.js.map +1 -1
  378. package/lib/src/index.d.ts +4 -1
  379. package/lib/src/index.d.ts.map +1 -1
  380. package/lib/src/index.js +4 -1
  381. package/lib/src/index.js.map +1 -1
  382. package/lib/src/mixpanel-service.d.ts +4 -0
  383. package/lib/src/mixpanel-service.d.ts.map +1 -1
  384. package/lib/src/mixpanel-service.js +6 -1
  385. package/lib/src/mixpanel-service.js.map +1 -1
  386. package/lib/src/react/index.d.ts +39 -1
  387. package/lib/src/react/index.d.ts.map +1 -1
  388. package/lib/src/react/index.js +36 -0
  389. package/lib/src/react/index.js.map +1 -1
  390. package/lib/src/react/index.spec.js +1 -1
  391. package/lib/src/react/index.spec.js.map +1 -1
  392. package/lib/src/test/test-utils.d.ts +13 -0
  393. package/lib/src/test/test-utils.d.ts.map +1 -1
  394. package/lib/src/test/test-utils.js +38 -3
  395. package/lib/src/test/test-utils.js.map +1 -1
  396. package/lib/src/tokenizedFetch.d.ts.map +1 -1
  397. package/lib/src/tokenizedFetch.js +5 -1
  398. package/lib/src/tokenizedFetch.js.map +1 -1
  399. package/lib/src/types.d.ts +320 -27
  400. package/lib/src/types.d.ts.map +1 -1
  401. package/lib/src/types.js +271 -15
  402. package/lib/src/types.js.map +1 -1
  403. package/lib/src/utils/authService/authService.spec.js +11 -2
  404. package/lib/src/utils/authService/authService.spec.js.map +1 -1
  405. package/lib/src/utils/authService/tokenizedAuthService.d.ts +0 -2
  406. package/lib/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
  407. package/lib/src/utils/authService/tokenizedAuthService.js +0 -2
  408. package/lib/src/utils/authService/tokenizedAuthService.js.map +1 -1
  409. package/lib/src/utils/global-styles.spec.d.ts +2 -0
  410. package/lib/src/utils/global-styles.spec.d.ts.map +1 -0
  411. package/lib/src/utils/global-styles.spec.js +19 -0
  412. package/lib/src/utils/global-styles.spec.js.map +1 -0
  413. package/lib/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
  414. package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  415. package/lib/src/utils/graphql/answerService/answer-queries.js +31 -1
  416. package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  417. package/lib/src/utils/graphql/answerService/answerService.d.ts +23 -0
  418. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  419. package/lib/src/utils/graphql/answerService/answerService.js +76 -8
  420. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  421. package/lib/src/utils/graphql/answerService/answerService.spec.js +110 -1
  422. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  423. package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts +3 -0
  424. package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts.map +1 -0
  425. package/lib/src/utils/graphql/conversationService/conversation-queries.js +315 -0
  426. package/lib/src/utils/graphql/conversationService/conversation-queries.js.map +1 -0
  427. package/lib/src/utils/graphql/conversationService/conversation-service.d.ts +12 -0
  428. package/lib/src/utils/graphql/conversationService/conversation-service.d.ts.map +1 -0
  429. package/lib/src/utils/graphql/conversationService/conversation-service.js +84 -0
  430. package/lib/src/utils/graphql/conversationService/conversation-service.js.map +1 -0
  431. package/lib/src/utils/graphql/graphql-request.d.ts.map +1 -1
  432. package/lib/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  433. package/lib/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  434. package/lib/src/utils/graphql/graphql-request.spec.js +45 -0
  435. package/lib/src/utils/graphql/graphql-request.spec.js.map +1 -0
  436. package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
  437. package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
  438. package/lib/src/utils/graphql/nlsService/conversation-queries.js +310 -0
  439. package/lib/src/utils/graphql/nlsService/conversation-queries.js.map +1 -0
  440. package/lib/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
  441. package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
  442. package/lib/src/utils/graphql/nlsService/conversation-service.js +70 -0
  443. package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -0
  444. package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
  445. package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
  446. package/lib/src/utils/graphql/nlsService/nls-answer-queries.js +400 -0
  447. package/lib/src/utils/graphql/nlsService/nls-answer-queries.js.map +1 -0
  448. package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
  449. package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
  450. package/lib/src/utils/graphql/nlsService/nls-answer-service.js +50 -0
  451. package/lib/src/utils/graphql/nlsService/nls-answer-service.js.map +1 -0
  452. package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
  453. package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
  454. package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js +31 -0
  455. package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +1 -0
  456. package/lib/src/utils/graphql/preview-service.d.ts +6 -0
  457. package/lib/src/utils/graphql/preview-service.d.ts.map +1 -1
  458. package/lib/src/utils/graphql/preview-service.js +6 -0
  459. package/lib/src/utils/graphql/preview-service.js.map +1 -1
  460. package/lib/src/utils/graphql/preview-service.spec.d.ts +2 -0
  461. package/lib/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
  462. package/lib/src/utils/graphql/preview-service.spec.js +18 -0
  463. package/lib/src/utils/graphql/preview-service.spec.js.map +1 -0
  464. package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts +3 -0
  465. package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts.map +1 -0
  466. package/lib/src/utils/graphql/spotterService/conversation-queries.js +315 -0
  467. package/lib/src/utils/graphql/spotterService/conversation-queries.js.map +1 -0
  468. package/lib/src/utils/graphql/spotterService/conversation-service.d.ts +12 -0
  469. package/lib/src/utils/graphql/spotterService/conversation-service.d.ts.map +1 -0
  470. package/lib/src/utils/graphql/spotterService/conversation-service.js +84 -0
  471. package/lib/src/utils/graphql/spotterService/conversation-service.js.map +1 -0
  472. package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts +2 -0
  473. package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +1 -0
  474. package/lib/src/utils/graphql/spotterService/nls-answer-queries.js +400 -0
  475. package/lib/src/utils/graphql/spotterService/nls-answer-queries.js.map +1 -0
  476. package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts +12 -0
  477. package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +1 -0
  478. package/lib/src/utils/graphql/spotterService/nls-answer-service.js +50 -0
  479. package/lib/src/utils/graphql/spotterService/nls-answer-service.js.map +1 -0
  480. package/lib/src/utils/liveboardService/liveboardService.d.ts +3 -0
  481. package/lib/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  482. package/lib/src/utils/liveboardService/liveboardService.js +46 -0
  483. package/lib/src/utils/liveboardService/liveboardService.js.map +1 -0
  484. package/lib/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
  485. package/lib/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
  486. package/lib/src/utils/liveboardService/liveboardService.spec.js +61 -0
  487. package/lib/src/utils/liveboardService/liveboardService.spec.js.map +1 -0
  488. package/lib/src/utils/processData.d.ts.map +1 -1
  489. package/lib/src/utils/processData.js +4 -3
  490. package/lib/src/utils/processData.js.map +1 -1
  491. package/lib/src/utils/processData.spec.js +15 -0
  492. package/lib/src/utils/processData.spec.js.map +1 -1
  493. package/lib/src/utils/processTrigger.d.ts +1 -0
  494. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  495. package/lib/src/utils/processTrigger.js +1 -1
  496. package/lib/src/utils/processTrigger.js.map +1 -1
  497. package/lib/src/utils/processTrigger.spec.js +10 -0
  498. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  499. package/lib/src/utils/reporting.d.ts +16 -0
  500. package/lib/src/utils/reporting.d.ts.map +1 -0
  501. package/lib/src/utils/reporting.js +62 -0
  502. package/lib/src/utils/reporting.js.map +1 -0
  503. package/lib/src/utils/reporting.spec.d.ts +2 -0
  504. package/lib/src/utils/reporting.spec.d.ts.map +1 -0
  505. package/lib/src/utils/reporting.spec.js +74 -0
  506. package/lib/src/utils/reporting.spec.js.map +1 -0
  507. package/lib/src/utils.d.ts.map +1 -1
  508. package/lib/src/utils.js +1 -3
  509. package/lib/src/utils.js.map +1 -1
  510. package/lib/src/visual-embed-sdk.d.ts +613 -103
  511. package/package.json +12 -28
  512. package/src/auth.spec.ts +3 -12
  513. package/src/auth.ts +7 -7
  514. package/src/authToken.ts +9 -9
  515. package/src/css-variables.ts +49 -3
  516. package/src/embed/app.spec.ts +93 -0
  517. package/src/embed/app.ts +73 -15
  518. package/src/embed/base.ts +38 -34
  519. package/src/embed/bodyless-conversation.spec.ts +141 -0
  520. package/src/embed/bodyless-conversation.ts +95 -0
  521. package/src/embed/conversation.spec.ts +46 -0
  522. package/src/embed/conversation.ts +58 -0
  523. package/src/embed/embed.spec.ts +0 -22
  524. package/src/embed/liveboard.spec.ts +62 -0
  525. package/src/embed/liveboard.ts +69 -0
  526. package/src/embed/search.spec.ts +9 -9
  527. package/src/embed/search.ts +20 -16
  528. package/src/embed/ts-embed.spec.ts +0 -11
  529. package/src/embed/ts-embed.ts +26 -19
  530. package/src/errors.ts +11 -0
  531. package/src/index.ts +7 -0
  532. package/src/mixpanel-service.ts +6 -1
  533. package/src/react/index.spec.tsx +1 -1
  534. package/src/react/index.tsx +89 -41
  535. package/src/test/test-utils.ts +46 -3
  536. package/src/tokenizedFetch.ts +5 -1
  537. package/src/types.ts +325 -24
  538. package/src/utils/authService/authService.spec.ts +11 -2
  539. package/src/utils/authService/tokenizedAuthService.ts +0 -2
  540. package/src/utils/global-styles.spec.ts +20 -0
  541. package/src/utils/graphql/answerService/answer-queries.ts +33 -1
  542. package/src/utils/graphql/answerService/answerService.spec.ts +131 -0
  543. package/src/utils/graphql/answerService/answerService.ts +102 -10
  544. package/src/utils/graphql/graphql-request.spec.ts +51 -0
  545. package/src/utils/graphql/graphql-request.ts +1 -1
  546. package/src/utils/graphql/nlsService/conversation-queries.ts +310 -0
  547. package/src/utils/graphql/nlsService/conversation-service.ts +81 -0
  548. package/src/utils/graphql/nlsService/nls-answer-queries.ts +399 -0
  549. package/src/utils/graphql/nlsService/nls-answer-service.spec.ts +35 -0
  550. package/src/utils/graphql/nlsService/nls-answer-service.ts +58 -0
  551. package/src/utils/graphql/preview-service.spec.ts +20 -0
  552. package/src/utils/graphql/preview-service.ts +6 -0
  553. package/src/utils/liveboardService/liveboardService.spec.ts +63 -0
  554. package/src/utils/liveboardService/liveboardService.ts +55 -0
  555. package/src/utils/processData.spec.ts +17 -0
  556. package/src/utils/processData.ts +4 -5
  557. package/src/utils/processTrigger.spec.ts +19 -0
  558. package/src/utils/processTrigger.ts +1 -1
  559. package/src/utils/reporting.spec.ts +91 -0
  560. package/src/utils/reporting.ts +71 -0
  561. package/src/utils.ts +1 -3
  562. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts +0 -2
  563. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts.map +0 -1
  564. package/src/embed/searchEmbed-basic-auth.spec.ts +0 -110
package/src/embed/base.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
9
9
  */
10
10
  import EventEmitter from 'eventemitter3';
11
+ import { registerReportingObserver } from '../utils/reporting';
11
12
  import { resetCachedAuthToken } from '../authToken';
12
13
  import { logger, setGlobalLogLevelOverride } from '../utils/logger';
13
14
  import { tokenizedFetch } from '../tokenizedFetch';
@@ -188,6 +189,7 @@ export const init = (embedConfig: EmbedConfig): AuthEventEmitter => {
188
189
  );
189
190
 
190
191
  setGlobalLogLevelOverride(embedConfig.logLevel);
192
+ registerReportingObserver();
191
193
 
192
194
  const authEE = new EventEmitter<AuthStatus | AuthEvent>();
193
195
  setAuthEE(authEE);
@@ -252,28 +254,29 @@ export const renderInQueue = (fn: (next?: (val?: any) => void) => Promise<any>):
252
254
  return renderQueue;
253
255
  }
254
256
  // Sending an empty function to keep it consistent with the above usage.
255
- return fn(() => { }); // eslint-disable-line @typescript-eslint/no-empty-function
257
+ return fn(() => {}); // eslint-disable-line @typescript-eslint/no-empty-function
256
258
  };
257
259
 
258
260
  /**
259
261
  * Imports TML representation of the metadata objects into ThoughtSpot.
260
262
  * @param data
263
+ * @returns imports TML data into ThoughtSpot
261
264
  * @example
262
265
  * ```js
263
- * executeTML({
264
- * //Array of metadata Tmls
265
- metadata_tmls: [
266
- "'\''{\"guid\":\"9bd202f5-d431-44bf-9a07-b4f7be372125\",
267
- \"liveboard\":{\"name\":\"Parameters Liveboard\"}}'\''"
268
- ],
269
- import_policy: 'PARTIAL', // Specifies the import policy for the TML import.
270
- create_new: false, // If selected, creates TML objects with new GUIDs.
271
- }).then(result => {
272
- console.log(result);
273
- }).catch(error => {
274
- console.error(error);
275
- });
276
- *
266
+ * executeTML({
267
+ * //Array of metadata Tmls in string format
268
+ * metadata_tmls: [
269
+ * "'\''{\"guid\":\"9bd202f5-d431-44bf-9a07-b4f7be372125\",
270
+ * \"liveboard\":{\"name\":\"Parameters Liveboard\"}}'\''"
271
+ * ],
272
+ * import_policy: 'PARTIAL', // Specifies the import policy for the TML import.
273
+ * create_new: false, // If selected, creates TML objects with new GUIDs.
274
+ * }).then(result => {
275
+ * console.log(result);
276
+ * }).catch(error => {
277
+ * console.error(error);
278
+ * });
279
+ *```
277
280
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
278
281
  * @group Global methods
279
282
  */
@@ -318,27 +321,28 @@ export const executeTML = async (data: executeTMLInput): Promise<any> => {
318
321
  * Exports TML representation of the metadata objects from ThoughtSpot in JSON or YAML
319
322
  * format.
320
323
  * @param data
324
+ * @returns exports TML data
321
325
  * @example
322
326
  * ```js
323
- exportTML({
324
- metadata: [
325
- {
326
- type: "LIVEBOARD", //Metadata Type
327
- identifier: "9bd202f5-d431-44bf-9a07-b4f7be372125" //Metadata Id
328
- }
329
- ],
330
- export_associated: false,//indicates whether to export associated metadata objects
331
- export_fqn: false, //Adds FQNs of the referenced objects.For example, if you are
332
- //exporting a Liveboard and its associated objects, the API
333
- //returns the Liveboard TML data with the FQNs of the referenced
334
- //worksheet. If the exported TML data includes FQNs, you don't need
335
- //to manually add FQNs of the referenced objects during TML import.
336
- edoc_format: "JSON" //It takes JSON or YAML value
337
- }).then(result => {
338
- console.log(result);
339
- }).catch(error => {
340
- console.error(error);
341
- });
327
+ * exportTML({
328
+ * metadata: [
329
+ * {
330
+ * type: "LIVEBOARD", //Metadata Type
331
+ * identifier: "9bd202f5-d431-44bf-9a07-b4f7be372125" //Metadata Id
332
+ * }
333
+ * ],
334
+ * export_associated: false,//indicates whether to export associated metadata objects
335
+ * export_fqn: false, //Adds FQNs of the referenced objects.For example, if you are
336
+ * //exporting a Liveboard and its associated objects, the API
337
+ * //returns the Liveboard TML data with the FQNs of the referenced
338
+ * //worksheet. If the exported TML data includes FQNs, you don't need
339
+ * //to manually add FQNs of the referenced objects during TML import.
340
+ * edoc_format: "JSON" //It takes JSON or YAML value
341
+ * }).then(result => {
342
+ * console.log(result);
343
+ * }).catch(error => {
344
+ * console.error(error);
345
+ * });
342
346
  * ```
343
347
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
344
348
  * @group Global methods
@@ -0,0 +1,141 @@
1
+ import 'jest-fetch-mock';
2
+ import { BodylessConversation, BodylessConversationViewConfig } from './bodyless-conversation';
3
+ import * as authInstance from '../auth';
4
+ import { init } from '../index';
5
+ import { Action, AuthType, RuntimeFilterOp } from '../types';
6
+ import {
7
+ executeAfterWait,
8
+ getDocumentBody,
9
+ getIFrameSrc,
10
+ getRootEl,
11
+ fixedEncodeURI,
12
+ defaultParamsWithoutHiddenActions as defaultParams,
13
+ expectUrlMatchesWithParams,
14
+ expectUrlToHaveParamsWithValues,
15
+ } from '../test/test-utils';
16
+
17
+ describe('BodylessConversation', () => {
18
+ const thoughtSpotHost = 'tshost';
19
+
20
+ beforeAll(() => {
21
+ init({
22
+ thoughtSpotHost,
23
+ authType: AuthType.None,
24
+ });
25
+ jest.spyOn(authInstance, 'postLoginService').mockImplementation(() => Promise.resolve({}));
26
+ spyOn(window, 'alert');
27
+ document.body.innerHTML = getDocumentBody();
28
+ });
29
+
30
+ beforeEach(() => {
31
+ fetchMock.resetMocks();
32
+ });
33
+
34
+ test('should render the bodyless conversation embed', async () => {
35
+ fetchMock.mockResponses(
36
+ JSON.stringify({
37
+ data: {
38
+ ConvAssist__createConversation: {
39
+ convId: 'conversationId',
40
+ initialCtx: {
41
+ type: 'TS_ANSWER',
42
+ tsAnsCtx: {
43
+ sessionId: 'sessionId',
44
+ genNo: 1,
45
+ stateKey: {
46
+ transactionId: 'transactionId',
47
+ generationNumber: 1,
48
+ },
49
+ worksheet: {
50
+ worksheetId: 'worksheetId',
51
+ worksheetName: 'GTM',
52
+ },
53
+ },
54
+ },
55
+ },
56
+ },
57
+ }),
58
+ JSON.stringify({
59
+ data: {
60
+ ConvAssist__sendMessage: {
61
+ responses: [
62
+ {
63
+ msgId: 'msgId',
64
+ data: {
65
+ asstRespData: {
66
+ tool: 'TS_NLS',
67
+ asstRespText: '',
68
+ nlsAnsData: {
69
+ sageQuerySuggestions: [
70
+ {
71
+ llmReasoning: {
72
+ assumptions: 'You want the total [COL|sales] for [COL|item_type] [VAL|jackets] for [VAL|this year].',
73
+ clarifications: '',
74
+ interpretation: '',
75
+ __typename: 'eureka_SageQuerySuggestion_LLMReasoning',
76
+ },
77
+ tokens: [
78
+ 'sum sales',
79
+ "item type = 'jackets'",
80
+ "date = 'this year'",
81
+ ],
82
+ tmlTokens: [
83
+ 'sum [sales]',
84
+ "[date] = [date].'this year'",
85
+ "[item type] = [item type].'jackets'",
86
+ ],
87
+ worksheetId: 'worksheetId',
88
+ description: '',
89
+ title: '',
90
+ cached: false,
91
+ sqlQuery: "SELECT SUM(sales) FROM __Sample_Retail_Apparel WHERE item_type = 'jackets' AND date = _this_year();",
92
+ sessionId: 'sessionId',
93
+ genNo: 2,
94
+ formulaInfo: [],
95
+ tmlPhrases: [],
96
+ stateKey: {
97
+ transactionId: 'transactionId',
98
+ generationNumber: 1,
99
+ __typename: 'sage_auto_complete_v2_ACStateKey',
100
+ },
101
+ __typename: 'eureka_SageQuerySuggestion',
102
+ },
103
+ ],
104
+ responseType: 'ANSWER',
105
+ __typename: 'convassist_nls_tool_NLSToolAsstRespData',
106
+ },
107
+ __typename: 'convassist_AsstResponseData',
108
+ },
109
+ __typename: 'convassist_MessageData',
110
+ },
111
+ type: 'ASST_RESPONSE',
112
+ __typename: 'convassist_MessagePayload',
113
+ },
114
+ ],
115
+ __typename: 'convassist_SendMessageResponse',
116
+ },
117
+ },
118
+ }),
119
+ );
120
+ const viewConfig: BodylessConversationViewConfig = {
121
+ worksheetId: 'worksheetId',
122
+ };
123
+
124
+ const conversationEmbed = new BodylessConversation(viewConfig);
125
+ const result = await conversationEmbed.sendMessage('userMessage');
126
+ console.log(result.container);
127
+ const iframeSrc = getIFrameSrc(result.container);
128
+ expectUrlToHaveParamsWithValues(iframeSrc, {
129
+ sessionId: 'sessionId',
130
+ genNo: 2,
131
+ acSessionId: 'transactionId',
132
+ acGenNo: 1,
133
+ });
134
+
135
+ fetchMock.mockRejectOnce(
136
+ new Error('error'),
137
+ );
138
+ const errorResult = await conversationEmbed.sendMessage('userMessage');
139
+ expect(errorResult.error instanceof Error).toBeTruthy();
140
+ });
141
+ });
@@ -0,0 +1,95 @@
1
+ import { ViewConfig, Param } from '../types';
2
+ import { TsEmbed } from './ts-embed';
3
+ import { Conversation as ConversationService } from '../utils/graphql/nlsService/conversation-service';
4
+ import { getEmbedConfig } from './embedConfig';
5
+ import { getQueryParamString } from '../utils';
6
+
7
+ export interface BodylessConversationViewConfig extends ViewConfig {
8
+ /**
9
+ * The ID of the worksheet to use for the conversation.
10
+ */
11
+ worksheetId: string;
12
+ }
13
+
14
+ interface ConversationMessageViewConfig extends BodylessConversationViewConfig {
15
+ sessionId: string;
16
+ genNo: number;
17
+ acSessionId: string;
18
+ acGenNo: number;
19
+ }
20
+
21
+ class ConversationMessage extends TsEmbed {
22
+ constructor(container: HTMLElement, protected viewConfig: ConversationMessageViewConfig) {
23
+ super(container, viewConfig);
24
+ }
25
+
26
+ public getIframeSrc() {
27
+ const {
28
+ sessionId,
29
+ genNo,
30
+ acSessionId,
31
+ acGenNo,
32
+ } = this.viewConfig;
33
+ const path = 'conv-assist-answer';
34
+ const queryParams = this.getBaseQueryParams();
35
+
36
+ queryParams[Param.HideActions] = [...(queryParams[Param.HideActions] ?? [])];
37
+ let query = '';
38
+ const queryParamsString = getQueryParamString(queryParams, true);
39
+ if (queryParamsString) {
40
+ query = `?${queryParamsString}`;
41
+ }
42
+ const tsPostHashParams = this.getThoughtSpotPostUrlParams({
43
+ sessionId,
44
+ genNo,
45
+ acSessionId,
46
+ acGenNo,
47
+ });
48
+
49
+ return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
50
+ }
51
+
52
+ public async render(): Promise<ConversationMessage> {
53
+ super.render();
54
+ const src = this.getIframeSrc();
55
+ await this.renderIFrame(src);
56
+ return this;
57
+ }
58
+ }
59
+
60
+ /**
61
+ * Create a conversation embed, which can be integrated inside
62
+ * chatbots or other conversational interfaces.
63
+ * @group Embed components
64
+ * @version SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl
65
+ */
66
+ export class BodylessConversation {
67
+ private conversationService: ConversationService;
68
+
69
+ constructor(private viewConfig: BodylessConversationViewConfig) {
70
+ const embedConfig = getEmbedConfig();
71
+
72
+ this.conversationService = new ConversationService(
73
+ embedConfig.thoughtSpotHost,
74
+ viewConfig.worksheetId,
75
+ );
76
+ }
77
+
78
+ public async sendMessage(userMessage: string) {
79
+ const { data, error } = await this.conversationService.sendMessage(userMessage);
80
+ if (error) {
81
+ return { error };
82
+ }
83
+
84
+ const container = document.createElement('div');
85
+ const embed = new ConversationMessage(container, {
86
+ ...this.viewConfig,
87
+ sessionId: data.sessionId,
88
+ genNo: data.genNo,
89
+ acSessionId: data.stateKey.transactionId,
90
+ acGenNo: data.stateKey.generationNumber,
91
+ });
92
+ await embed.render();
93
+ return { container };
94
+ }
95
+ }
@@ -0,0 +1,46 @@
1
+ import {
2
+ ConversationEmbed,
3
+ ConversationViewConfig,
4
+ } from './conversation';
5
+ import * as authInstance from '../auth';
6
+ import { init } from '../index';
7
+ import { Action, AuthType, RuntimeFilterOp } from '../types';
8
+ import {
9
+ executeAfterWait,
10
+ getDocumentBody,
11
+ getIFrameSrc,
12
+ getRootEl,
13
+ fixedEncodeURI,
14
+ defaultParamsWithoutHiddenActions as defaultParams,
15
+ expectUrlMatchesWithParams,
16
+ } from '../test/test-utils';
17
+
18
+ const thoughtSpotHost = 'tshost';
19
+
20
+ beforeAll(() => {
21
+ init({
22
+ thoughtSpotHost,
23
+ authType: AuthType.None,
24
+ });
25
+ jest.spyOn(authInstance, 'postLoginService').mockImplementation(() => Promise.resolve({}));
26
+ spyOn(window, 'alert');
27
+ document.body.innerHTML = getDocumentBody();
28
+ });
29
+
30
+ describe('ConversationEmbed', () => {
31
+ it('should render the conversation embed', async () => {
32
+ const viewConfig: ConversationViewConfig = {
33
+ worksheetId: 'worksheetId',
34
+ searchOptions: {
35
+ searchQuery: 'searchQuery',
36
+ },
37
+ };
38
+
39
+ const conversationEmbed = new ConversationEmbed(getRootEl(), viewConfig);
40
+ await conversationEmbed.render();
41
+ expectUrlMatchesWithParams(
42
+ getIFrameSrc(),
43
+ `http://${thoughtSpotHost}/v2/?${defaultParams}#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`,
44
+ );
45
+ });
46
+ });
@@ -0,0 +1,58 @@
1
+ import { ViewConfig, Param } from '../types';
2
+ import { TsEmbed } from './ts-embed';
3
+ import { getQueryParamString } from '../utils';
4
+
5
+ /**
6
+ * Configuration for search options
7
+ */
8
+ export interface SearchOptions {
9
+ /**
10
+ * The query string to pass to start the Conversation.
11
+ */
12
+ searchQuery: string;
13
+ }
14
+
15
+ export interface ConversationViewConfig extends ViewConfig {
16
+ /**
17
+ * The ID of the worksheet to use for the conversation.
18
+ */
19
+ worksheetId: string;
20
+ /**
21
+ * Ability to pass a starting search query to the conversation.
22
+ */
23
+ searchOptions?: SearchOptions;
24
+ }
25
+
26
+ export class ConversationEmbed extends TsEmbed {
27
+ constructor(container: HTMLElement, protected viewConfig: ConversationViewConfig) {
28
+ super(container, viewConfig);
29
+ }
30
+
31
+ public getIframeSrc() {
32
+ const {
33
+ worksheetId,
34
+ searchOptions,
35
+ } = this.viewConfig;
36
+ const path = 'insights/conv-assist';
37
+ const queryParams = this.getBaseQueryParams();
38
+
39
+ let query = '';
40
+ const queryParamsString = getQueryParamString(queryParams, true);
41
+ if (queryParamsString) {
42
+ query = `?${queryParamsString}`;
43
+ }
44
+ const tsPostHashParams = this.getThoughtSpotPostUrlParams({
45
+ worksheet: worksheetId,
46
+ query: searchOptions.searchQuery,
47
+ });
48
+
49
+ return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
50
+ }
51
+
52
+ public async render(): Promise<ConversationEmbed> {
53
+ super.render();
54
+ const src = this.getIframeSrc();
55
+ await this.renderIFrame(src);
56
+ return this;
57
+ }
58
+ }
@@ -53,25 +53,3 @@ describe('test view config', () => {
53
53
  });
54
54
  });
55
55
  });
56
-
57
- describe('Custom CSS Url', () => {
58
- beforeEach(() => {
59
- document.body.innerHTML = getDocumentBody();
60
- });
61
-
62
- test('passing customCssUrl should set the correct query params on the iframe', async (done) => {
63
- init({
64
- thoughtSpotHost,
65
- authType: AuthType.None,
66
- customCssUrl: 'bla.com/foo.css',
67
- });
68
-
69
- const embed = new SearchEmbed(getRootEl(), defaultViewConfig);
70
- embed.render();
71
- executeAfterWait(() => {
72
- const iframe = getIFrameEl();
73
- expect(iframe.src.includes('customCssUrl=bla.com/foo.css')).toBe(true);
74
- done();
75
- });
76
- });
77
- });
@@ -67,6 +67,20 @@ describe('Liveboard/viz embed tests', () => {
67
67
  });
68
68
  });
69
69
 
70
+ test('should render liveboard with data panel v2 flag set to true by default', async () => {
71
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
72
+ ...defaultViewConfig,
73
+ liveboardId,
74
+ } as LiveboardViewConfig);
75
+ liveboardEmbed.render();
76
+ await executeAfterWait(() => {
77
+ expectUrlMatchesWithParams(
78
+ getIFrameSrc(),
79
+ `http://${thoughtSpotHost}/?embedApp=true${defaultParams}${prefixParams}&enableDataPanelV2=true#/embed/viz/${liveboardId}`,
80
+ );
81
+ });
82
+ });
83
+
70
84
  test('should set disabled actions', async () => {
71
85
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
72
86
  disabledActions: [Action.DownloadAsCsv, Action.DownloadAsPdf, Action.DownloadAsXlsx],
@@ -227,6 +241,54 @@ describe('Liveboard/viz embed tests', () => {
227
241
  });
228
242
  });
229
243
 
244
+ test('Should add isLiveboardCompactHeaderEnabled flag to the iframe src', async () => {
245
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
246
+ ...defaultViewConfig,
247
+ liveboardId,
248
+ isLiveboardCompactHeaderEnabled: false,
249
+ } as LiveboardViewConfig);
250
+
251
+ liveboardEmbed.render();
252
+ await executeAfterWait(() => {
253
+ expectUrlMatchesWithParams(
254
+ getIFrameSrc(),
255
+ `http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLiveboardHeaderV2Enabled=false${prefixParams}#/embed/viz/${liveboardId}`,
256
+ );
257
+ });
258
+ });
259
+
260
+ test('Should add showLiveboardReverifyBanner flag to the iframe src', async () => {
261
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
262
+ ...defaultViewConfig,
263
+ liveboardId,
264
+ showLiveboardReverifyBanner: false,
265
+ } as LiveboardViewConfig);
266
+
267
+ liveboardEmbed.render();
268
+ await executeAfterWait(() => {
269
+ expectUrlMatchesWithParams(
270
+ getIFrameSrc(),
271
+ `http://${thoughtSpotHost}/?embedApp=true${defaultParams}&showLiveboardReverifyBanner=false${prefixParams}#/embed/viz/${liveboardId}`,
272
+ );
273
+ });
274
+ });
275
+
276
+ test('Should add showLiveboardVerifiedBadge flag to the iframe src', async () => {
277
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
278
+ ...defaultViewConfig,
279
+ liveboardId,
280
+ showLiveboardVerifiedBadge: false,
281
+ } as LiveboardViewConfig);
282
+
283
+ liveboardEmbed.render();
284
+ await executeAfterWait(() => {
285
+ expectUrlMatchesWithParams(
286
+ getIFrameSrc(),
287
+ `http://${thoughtSpotHost}/?embedApp=true${defaultParams}&showLiveboardVerifiedBadge=false${prefixParams}#/embed/viz/${liveboardId}`,
288
+ );
289
+ });
290
+ });
291
+
230
292
  test('should not append runtime filters in URL if excludeRuntimeFiltersfromURL is true', async () => {
231
293
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
232
294
  ...defaultViewConfig,
@@ -284,6 +284,48 @@ export interface LiveboardViewConfig
284
284
  * @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl
285
285
  */
286
286
  showPreviewLoader?: boolean;
287
+ /**
288
+ * This flag is used to enable the compact header in liveboard
289
+ * @type {boolean}
290
+ * @default false
291
+ * @version SDK: 1.35.0 | ThoughtSpot:10.3.0.cl
292
+ * @example
293
+ * ```js
294
+ * const embed = new LiveboardEmbed('#embed-container', {
295
+ * ... // other options
296
+ * isLiveboardCompactHeaderEnabled: true,
297
+ * })
298
+ * ```
299
+ */
300
+ isLiveboardCompactHeaderEnabled?: boolean;
301
+ /**
302
+ * This flag is used to show/hide verified Icon in liveboard compact header
303
+ * @type {boolean}
304
+ * @default true
305
+ * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
306
+ * @example
307
+ * ```js
308
+ * const embed = new LiveboardEmbed('#embed-container', {
309
+ * ... // other options
310
+ * showLiveboardVerifiedBadge: true,
311
+ * })
312
+ * ```
313
+ */
314
+ showLiveboardVerifiedBadge?: boolean;
315
+ /**
316
+ * This flag is used to show/hide re-verify banner in liveboard compact header
317
+ * @type {boolean}
318
+ * @default true
319
+ * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
320
+ * @example
321
+ * ```js
322
+ * const embed = new LiveboardEmbed('#embed-container', {
323
+ * ... // other options
324
+ * showLiveboardReverifyBanner: true,
325
+ * })
326
+ * ```
327
+ */
328
+ showLiveboardReverifyBanner?: boolean;
287
329
  }
288
330
 
289
331
  /**
@@ -338,8 +380,12 @@ export class LiveboardEmbed extends V1Embed {
338
380
  showLiveboardDescription,
339
381
  showLiveboardTitle,
340
382
  isLiveboardHeaderSticky = true,
383
+ isLiveboardCompactHeaderEnabled = false,
384
+ showLiveboardVerifiedBadge = true,
385
+ showLiveboardReverifyBanner = true,
341
386
  enableAskSage,
342
387
  enable2ColumnLayout,
388
+ dataPanelV2 = true,
343
389
  } = this.viewConfig;
344
390
 
345
391
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
@@ -387,7 +433,11 @@ export class LiveboardEmbed extends V1Embed {
387
433
  }
388
434
 
389
435
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
436
+ params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
437
+ params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
438
+ params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
390
439
 
440
+ params[Param.DataPanelV2Enabled] = dataPanelV2;
391
441
  const queryParams = getQueryParamString(params, true);
392
442
 
393
443
  return queryParams;
@@ -557,6 +607,25 @@ export class LiveboardEmbed extends V1Embed {
557
607
  this.render();
558
608
  }
559
609
  }
610
+
611
+ /**
612
+ * Returns the full url of the liveboard/viz which can be used to open
613
+ * this liveboard inside the full Thoughtspot application in a new tab.
614
+ *
615
+ * @returns url string
616
+ */
617
+ public getLiveboardUrl(): string {
618
+ let url = `${this.thoughtSpotHost}/#/pinboard/${this.viewConfig.liveboardId}`;
619
+ if (this.viewConfig.activeTabId) {
620
+ url = `${url}/tab/${this.viewConfig.activeTabId}`;
621
+ }
622
+
623
+ if (this.viewConfig.vizId) {
624
+ url = `${url}/${this.viewConfig.vizId}`;
625
+ }
626
+
627
+ return url;
628
+ }
560
629
  }
561
630
 
562
631
  /**