@thoughtspot/visual-embed-sdk 1.52.0 → 1.52.2-beta

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 (385) hide show
  1. package/cjs/package.json +19 -4
  2. package/cjs/src/contracts/contracts.spec.d.ts +2 -0
  3. package/cjs/src/contracts/contracts.spec.d.ts.map +1 -0
  4. package/cjs/src/contracts/contracts.spec.js +345 -0
  5. package/cjs/src/contracts/contracts.spec.js.map +1 -0
  6. package/cjs/src/contracts/embed-event-payloads.d.ts +73 -0
  7. package/cjs/src/contracts/embed-event-payloads.d.ts.map +1 -0
  8. package/cjs/src/contracts/embed-event-payloads.js +3 -0
  9. package/cjs/src/contracts/embed-event-payloads.js.map +1 -0
  10. package/cjs/src/contracts/host-event-contracts.d.ts +416 -0
  11. package/cjs/src/contracts/host-event-contracts.d.ts.map +1 -0
  12. package/cjs/src/contracts/host-event-contracts.js +3 -0
  13. package/cjs/src/contracts/host-event-contracts.js.map +1 -0
  14. package/cjs/src/contracts/index.d.ts +22 -0
  15. package/cjs/src/contracts/index.d.ts.map +1 -0
  16. package/cjs/src/contracts/index.js +33 -0
  17. package/cjs/src/contracts/index.js.map +1 -0
  18. package/cjs/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  19. package/cjs/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  20. package/cjs/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
  21. package/cjs/src/contracts/ui-passthrough-contracts.js.map +1 -0
  22. package/cjs/src/embed/app.d.ts +21 -143
  23. package/cjs/src/embed/app.d.ts.map +1 -1
  24. package/cjs/src/embed/app.js +21 -121
  25. package/cjs/src/embed/app.js.map +1 -1
  26. package/cjs/src/embed/app.spec.js +80 -26
  27. package/cjs/src/embed/app.spec.js.map +1 -1
  28. package/cjs/src/embed/auto-frame-renderer.js +1 -1
  29. package/cjs/src/embed/auto-frame-renderer.js.map +1 -1
  30. package/cjs/src/embed/auto-frame-renderer.spec.js +24 -13
  31. package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -1
  32. package/cjs/src/embed/bodyless-conversation.js +1 -1
  33. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  34. package/cjs/src/embed/conversation.d.ts +1 -0
  35. package/cjs/src/embed/conversation.d.ts.map +1 -1
  36. package/cjs/src/embed/conversation.js +4 -4
  37. package/cjs/src/embed/conversation.js.map +1 -1
  38. package/cjs/src/embed/conversation.spec.js +35 -24
  39. package/cjs/src/embed/conversation.spec.js.map +1 -1
  40. package/cjs/src/embed/embedConfig.spec.js +2 -1
  41. package/cjs/src/embed/embedConfig.spec.js.map +1 -1
  42. package/cjs/src/embed/events.spec.js +12 -2
  43. package/cjs/src/embed/events.spec.js.map +1 -1
  44. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +5 -4
  45. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  46. package/cjs/src/embed/hostEventClient/host-event-client.js +34 -23
  47. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  48. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +50 -44
  49. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  50. package/cjs/src/embed/hostEventClient/utils.d.ts +10 -1
  51. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  52. package/cjs/src/embed/hostEventClient/utils.js +52 -6
  53. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  54. package/cjs/src/embed/hostEventClient/utils.spec.js +151 -0
  55. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
  56. package/cjs/src/embed/liveboard.d.ts +13 -164
  57. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  58. package/cjs/src/embed/liveboard.js +72 -135
  59. package/cjs/src/embed/liveboard.js.map +1 -1
  60. package/cjs/src/embed/liveboard.spec.js +213 -29
  61. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  62. package/cjs/src/embed/search-bar.js +1 -1
  63. package/cjs/src/embed/search-bar.js.map +1 -1
  64. package/cjs/src/embed/search.d.ts +14 -0
  65. package/cjs/src/embed/search.d.ts.map +1 -1
  66. package/cjs/src/embed/search.js +5 -2
  67. package/cjs/src/embed/search.js.map +1 -1
  68. package/cjs/src/embed/search.spec.js +85 -0
  69. package/cjs/src/embed/search.spec.js.map +1 -1
  70. package/cjs/src/embed/spotter-utils.d.ts +8 -1
  71. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  72. package/cjs/src/embed/spotter-utils.js +14 -1
  73. package/cjs/src/embed/spotter-utils.js.map +1 -1
  74. package/cjs/src/embed/spotter-utils.spec.js +26 -0
  75. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  76. package/cjs/src/embed/ts-embed.d.ts +20 -22
  77. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  78. package/cjs/src/embed/ts-embed.js +171 -66
  79. package/cjs/src/embed/ts-embed.js.map +1 -1
  80. package/cjs/src/embed/ts-embed.spec.js +486 -38
  81. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  82. package/cjs/src/errors.js +1 -1
  83. package/cjs/src/errors.js.map +1 -1
  84. package/cjs/src/full-height.d.ts +137 -0
  85. package/cjs/src/full-height.d.ts.map +1 -0
  86. package/cjs/src/full-height.js +272 -0
  87. package/cjs/src/full-height.js.map +1 -0
  88. package/cjs/src/full-height.spec.d.ts +2 -0
  89. package/cjs/src/full-height.spec.d.ts.map +1 -0
  90. package/cjs/src/full-height.spec.js +835 -0
  91. package/cjs/src/full-height.spec.js.map +1 -0
  92. package/cjs/src/index.d.ts +5 -3
  93. package/cjs/src/index.d.ts.map +1 -1
  94. package/cjs/src/index.js +6 -4
  95. package/cjs/src/index.js.map +1 -1
  96. package/cjs/src/react/all-types-export.d.ts +1 -1
  97. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  98. package/cjs/src/react/all-types-export.js +2 -1
  99. package/cjs/src/react/all-types-export.js.map +1 -1
  100. package/cjs/src/react/all-types-export.parity.spec.js +55 -3
  101. package/cjs/src/react/all-types-export.parity.spec.js.map +1 -1
  102. package/cjs/src/types.d.ts +584 -24
  103. package/cjs/src/types.d.ts.map +1 -1
  104. package/cjs/src/types.js +370 -22
  105. package/cjs/src/types.js.map +1 -1
  106. package/cjs/src/utils/authService/tokenizedAuthService.spec.js +2 -1
  107. package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  108. package/cjs/src/utils/custom-actions.spec.js +4 -2
  109. package/cjs/src/utils/custom-actions.spec.js.map +1 -1
  110. package/cjs/src/utils/filterConverter.d.ts +106 -0
  111. package/cjs/src/utils/filterConverter.d.ts.map +1 -0
  112. package/cjs/src/utils/filterConverter.js +215 -0
  113. package/cjs/src/utils/filterConverter.js.map +1 -0
  114. package/cjs/src/utils/filterConverter.spec.d.ts +2 -0
  115. package/cjs/src/utils/filterConverter.spec.d.ts.map +1 -0
  116. package/cjs/src/utils/filterConverter.spec.js +709 -0
  117. package/cjs/src/utils/filterConverter.spec.js.map +1 -0
  118. package/cjs/src/utils/processData.spec.js +2 -1
  119. package/cjs/src/utils/processData.spec.js.map +1 -1
  120. package/cjs/src/utils/processTrigger.d.ts +3 -1
  121. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  122. package/cjs/src/utils/processTrigger.js +19 -51
  123. package/cjs/src/utils/processTrigger.js.map +1 -1
  124. package/cjs/src/utils/transport/iframe-transport.d.ts +55 -0
  125. package/cjs/src/utils/transport/iframe-transport.d.ts.map +1 -0
  126. package/cjs/src/utils/transport/iframe-transport.js +108 -0
  127. package/cjs/src/utils/transport/iframe-transport.js.map +1 -0
  128. package/cjs/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  129. package/cjs/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  130. package/cjs/src/utils/transport/iframe-transport.spec.js +140 -0
  131. package/cjs/src/utils/transport/iframe-transport.spec.js.map +1 -0
  132. package/cjs/src/utils.d.ts +18 -0
  133. package/cjs/src/utils.d.ts.map +1 -1
  134. package/cjs/src/utils.js +39 -1
  135. package/cjs/src/utils.js.map +1 -1
  136. package/cjs/src/utils.spec.js +62 -0
  137. package/cjs/src/utils.spec.js.map +1 -1
  138. package/dist/{index-BMppCU63.js → index-CcBYlGo9.js} +1 -1
  139. package/dist/src/contracts/contracts.spec.d.ts +2 -0
  140. package/dist/src/contracts/contracts.spec.d.ts.map +1 -0
  141. package/dist/src/contracts/embed-event-payloads.d.ts +73 -0
  142. package/dist/src/contracts/embed-event-payloads.d.ts.map +1 -0
  143. package/dist/src/contracts/host-event-contracts.d.ts +416 -0
  144. package/dist/src/contracts/host-event-contracts.d.ts.map +1 -0
  145. package/dist/src/contracts/index.d.ts +22 -0
  146. package/dist/src/contracts/index.d.ts.map +1 -0
  147. package/dist/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  148. package/dist/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  149. package/dist/src/embed/app.d.ts +21 -143
  150. package/dist/src/embed/app.d.ts.map +1 -1
  151. package/dist/src/embed/conversation.d.ts +1 -0
  152. package/dist/src/embed/conversation.d.ts.map +1 -1
  153. package/dist/src/embed/hostEventClient/host-event-client.d.ts +5 -4
  154. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  155. package/dist/src/embed/hostEventClient/utils.d.ts +10 -1
  156. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  157. package/dist/src/embed/liveboard.d.ts +13 -164
  158. package/dist/src/embed/liveboard.d.ts.map +1 -1
  159. package/dist/src/embed/search.d.ts +14 -0
  160. package/dist/src/embed/search.d.ts.map +1 -1
  161. package/dist/src/embed/spotter-utils.d.ts +8 -1
  162. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  163. package/dist/src/embed/ts-embed.d.ts +20 -22
  164. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  165. package/dist/src/full-height.d.ts +137 -0
  166. package/dist/src/full-height.d.ts.map +1 -0
  167. package/dist/src/full-height.spec.d.ts +2 -0
  168. package/dist/src/full-height.spec.d.ts.map +1 -0
  169. package/dist/src/index.d.ts +5 -3
  170. package/dist/src/index.d.ts.map +1 -1
  171. package/dist/src/react/all-types-export.d.ts +1 -1
  172. package/dist/src/react/all-types-export.d.ts.map +1 -1
  173. package/dist/src/types.d.ts +584 -24
  174. package/dist/src/types.d.ts.map +1 -1
  175. package/dist/src/utils/filterConverter.d.ts +106 -0
  176. package/dist/src/utils/filterConverter.d.ts.map +1 -0
  177. package/dist/src/utils/filterConverter.spec.d.ts +2 -0
  178. package/dist/src/utils/filterConverter.spec.d.ts.map +1 -0
  179. package/dist/src/utils/processTrigger.d.ts +3 -1
  180. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  181. package/dist/src/utils/transport/iframe-transport.d.ts +55 -0
  182. package/dist/src/utils/transport/iframe-transport.d.ts.map +1 -0
  183. package/dist/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  184. package/dist/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  185. package/dist/src/utils.d.ts +18 -0
  186. package/dist/src/utils.d.ts.map +1 -1
  187. package/dist/tsembed-react.es.js +1144 -412
  188. package/dist/tsembed-react.js +1143 -411
  189. package/dist/tsembed.es.js +1357 -418
  190. package/dist/tsembed.js +1352 -412
  191. package/dist/visual-embed-sdk-react-full.d.ts +1514 -651
  192. package/dist/visual-embed-sdk-react.d.ts +1351 -632
  193. package/dist/visual-embed-sdk.d.ts +1508 -668
  194. package/lib/package.json +19 -4
  195. package/lib/src/contracts/contracts.spec.d.ts +2 -0
  196. package/lib/src/contracts/contracts.spec.d.ts.map +1 -0
  197. package/lib/src/contracts/contracts.spec.js +342 -0
  198. package/lib/src/contracts/contracts.spec.js.map +1 -0
  199. package/lib/src/contracts/embed-event-payloads.d.ts +73 -0
  200. package/lib/src/contracts/embed-event-payloads.d.ts.map +1 -0
  201. package/lib/src/contracts/embed-event-payloads.js +2 -0
  202. package/lib/src/contracts/embed-event-payloads.js.map +1 -0
  203. package/lib/src/contracts/host-event-contracts.d.ts +416 -0
  204. package/lib/src/contracts/host-event-contracts.d.ts.map +1 -0
  205. package/lib/src/contracts/host-event-contracts.js +2 -0
  206. package/lib/src/contracts/host-event-contracts.js.map +1 -0
  207. package/lib/src/contracts/index.d.ts +22 -0
  208. package/lib/src/contracts/index.d.ts.map +1 -0
  209. package/lib/src/contracts/index.js +22 -0
  210. package/lib/src/contracts/index.js.map +1 -0
  211. package/lib/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  212. package/lib/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  213. package/lib/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
  214. package/lib/src/contracts/ui-passthrough-contracts.js.map +1 -0
  215. package/lib/src/embed/app.d.ts +21 -143
  216. package/lib/src/embed/app.d.ts.map +1 -1
  217. package/lib/src/embed/app.js +23 -123
  218. package/lib/src/embed/app.js.map +1 -1
  219. package/lib/src/embed/app.spec.js +80 -26
  220. package/lib/src/embed/app.spec.js.map +1 -1
  221. package/lib/src/embed/auto-frame-renderer.js +1 -1
  222. package/lib/src/embed/auto-frame-renderer.js.map +1 -1
  223. package/lib/src/embed/auto-frame-renderer.spec.js +24 -13
  224. package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -1
  225. package/lib/src/embed/bodyless-conversation.js +1 -1
  226. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  227. package/lib/src/embed/conversation.d.ts +1 -0
  228. package/lib/src/embed/conversation.d.ts.map +1 -1
  229. package/lib/src/embed/conversation.js +5 -5
  230. package/lib/src/embed/conversation.js.map +1 -1
  231. package/lib/src/embed/conversation.spec.js +35 -24
  232. package/lib/src/embed/conversation.spec.js.map +1 -1
  233. package/lib/src/embed/embedConfig.spec.js +2 -1
  234. package/lib/src/embed/embedConfig.spec.js.map +1 -1
  235. package/lib/src/embed/events.spec.js +12 -2
  236. package/lib/src/embed/events.spec.js.map +1 -1
  237. package/lib/src/embed/hostEventClient/host-event-client.d.ts +5 -4
  238. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  239. package/lib/src/embed/hostEventClient/host-event-client.js +19 -8
  240. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  241. package/lib/src/embed/hostEventClient/host-event-client.spec.js +15 -9
  242. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  243. package/lib/src/embed/hostEventClient/utils.d.ts +10 -1
  244. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  245. package/lib/src/embed/hostEventClient/utils.js +48 -3
  246. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  247. package/lib/src/embed/hostEventClient/utils.spec.js +152 -1
  248. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
  249. package/lib/src/embed/liveboard.d.ts +13 -164
  250. package/lib/src/embed/liveboard.d.ts.map +1 -1
  251. package/lib/src/embed/liveboard.js +73 -136
  252. package/lib/src/embed/liveboard.js.map +1 -1
  253. package/lib/src/embed/liveboard.spec.js +213 -29
  254. package/lib/src/embed/liveboard.spec.js.map +1 -1
  255. package/lib/src/embed/search-bar.js +1 -1
  256. package/lib/src/embed/search-bar.js.map +1 -1
  257. package/lib/src/embed/search.d.ts +14 -0
  258. package/lib/src/embed/search.d.ts.map +1 -1
  259. package/lib/src/embed/search.js +5 -2
  260. package/lib/src/embed/search.js.map +1 -1
  261. package/lib/src/embed/search.spec.js +85 -0
  262. package/lib/src/embed/search.spec.js.map +1 -1
  263. package/lib/src/embed/spotter-utils.d.ts +8 -1
  264. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  265. package/lib/src/embed/spotter-utils.js +12 -0
  266. package/lib/src/embed/spotter-utils.js.map +1 -1
  267. package/lib/src/embed/spotter-utils.spec.js +27 -1
  268. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  269. package/lib/src/embed/ts-embed.d.ts +20 -22
  270. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  271. package/lib/src/embed/ts-embed.js +171 -66
  272. package/lib/src/embed/ts-embed.js.map +1 -1
  273. package/lib/src/embed/ts-embed.spec.js +484 -36
  274. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  275. package/lib/src/errors.js +1 -1
  276. package/lib/src/errors.js.map +1 -1
  277. package/lib/src/full-height.d.ts +137 -0
  278. package/lib/src/full-height.d.ts.map +1 -0
  279. package/lib/src/full-height.js +268 -0
  280. package/lib/src/full-height.js.map +1 -0
  281. package/lib/src/full-height.spec.d.ts +2 -0
  282. package/lib/src/full-height.spec.d.ts.map +1 -0
  283. package/lib/src/full-height.spec.js +833 -0
  284. package/lib/src/full-height.spec.js.map +1 -0
  285. package/lib/src/index.d.ts +5 -3
  286. package/lib/src/index.d.ts.map +1 -1
  287. package/lib/src/index.js +3 -2
  288. package/lib/src/index.js.map +1 -1
  289. package/lib/src/react/all-types-export.d.ts +1 -1
  290. package/lib/src/react/all-types-export.d.ts.map +1 -1
  291. package/lib/src/react/all-types-export.js +1 -1
  292. package/lib/src/react/all-types-export.js.map +1 -1
  293. package/lib/src/react/all-types-export.parity.spec.js +55 -3
  294. package/lib/src/react/all-types-export.parity.spec.js.map +1 -1
  295. package/lib/src/types.d.ts +584 -24
  296. package/lib/src/types.d.ts.map +1 -1
  297. package/lib/src/types.js +370 -22
  298. package/lib/src/types.js.map +1 -1
  299. package/lib/src/utils/authService/tokenizedAuthService.spec.js +2 -1
  300. package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  301. package/lib/src/utils/custom-actions.spec.js +4 -2
  302. package/lib/src/utils/custom-actions.spec.js.map +1 -1
  303. package/lib/src/utils/filterConverter.d.ts +106 -0
  304. package/lib/src/utils/filterConverter.d.ts.map +1 -0
  305. package/lib/src/utils/filterConverter.js +210 -0
  306. package/lib/src/utils/filterConverter.js.map +1 -0
  307. package/lib/src/utils/filterConverter.spec.d.ts +2 -0
  308. package/lib/src/utils/filterConverter.spec.d.ts.map +1 -0
  309. package/lib/src/utils/filterConverter.spec.js +707 -0
  310. package/lib/src/utils/filterConverter.spec.js.map +1 -0
  311. package/lib/src/utils/processData.spec.js +2 -1
  312. package/lib/src/utils/processData.spec.js.map +1 -1
  313. package/lib/src/utils/processTrigger.d.ts +3 -1
  314. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  315. package/lib/src/utils/processTrigger.js +19 -51
  316. package/lib/src/utils/processTrigger.js.map +1 -1
  317. package/lib/src/utils/transport/iframe-transport.d.ts +55 -0
  318. package/lib/src/utils/transport/iframe-transport.d.ts.map +1 -0
  319. package/lib/src/utils/transport/iframe-transport.js +101 -0
  320. package/lib/src/utils/transport/iframe-transport.js.map +1 -0
  321. package/lib/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  322. package/lib/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  323. package/lib/src/utils/transport/iframe-transport.spec.js +138 -0
  324. package/lib/src/utils/transport/iframe-transport.spec.js.map +1 -0
  325. package/lib/src/utils.d.ts +18 -0
  326. package/lib/src/utils.d.ts.map +1 -1
  327. package/lib/src/utils.js +37 -0
  328. package/lib/src/utils.js.map +1 -1
  329. package/lib/src/utils.spec.js +63 -1
  330. package/lib/src/utils.spec.js.map +1 -1
  331. package/lib/src/visual-embed-sdk.d.ts +1508 -668
  332. package/package.json +19 -4
  333. package/src/contracts/contracts.spec.ts +392 -0
  334. package/src/contracts/embed-event-payloads.ts +83 -0
  335. package/src/contracts/host-event-contracts.ts +500 -0
  336. package/src/contracts/index.ts +53 -0
  337. package/src/contracts/ui-passthrough-contracts.ts +301 -0
  338. package/src/embed/app.spec.ts +101 -34
  339. package/src/embed/app.ts +42 -268
  340. package/src/embed/auto-frame-renderer.spec.ts +24 -13
  341. package/src/embed/auto-frame-renderer.ts +1 -1
  342. package/src/embed/bodyless-conversation.ts +1 -1
  343. package/src/embed/conversation.spec.ts +38 -27
  344. package/src/embed/conversation.ts +5 -5
  345. package/src/embed/embedConfig.spec.ts +2 -1
  346. package/src/embed/events.spec.ts +14 -2
  347. package/src/embed/hostEventClient/host-event-client.spec.ts +16 -10
  348. package/src/embed/hostEventClient/host-event-client.ts +31 -10
  349. package/src/embed/hostEventClient/utils.spec.ts +176 -1
  350. package/src/embed/hostEventClient/utils.ts +53 -3
  351. package/src/embed/liveboard.spec.ts +261 -41
  352. package/src/embed/liveboard.ts +85 -300
  353. package/src/embed/search-bar.tsx +1 -1
  354. package/src/embed/search.spec.ts +103 -0
  355. package/src/embed/search.ts +21 -1
  356. package/src/embed/spotter-utils.spec.ts +29 -0
  357. package/src/embed/spotter-utils.ts +16 -0
  358. package/src/embed/ts-embed.spec.ts +650 -36
  359. package/src/embed/ts-embed.ts +205 -76
  360. package/src/errors.ts +1 -1
  361. package/src/full-height.spec.ts +1008 -0
  362. package/src/full-height.ts +361 -0
  363. package/src/index.ts +103 -5
  364. package/src/react/all-types-export.parity.spec.ts +63 -3
  365. package/src/react/all-types-export.ts +49 -0
  366. package/src/types.ts +584 -22
  367. package/src/utils/authService/tokenizedAuthService.spec.ts +2 -1
  368. package/src/utils/custom-actions.spec.ts +4 -2
  369. package/src/utils/filterConverter.spec.ts +801 -0
  370. package/src/utils/filterConverter.ts +304 -0
  371. package/src/utils/processData.spec.ts +2 -1
  372. package/src/utils/processTrigger.ts +28 -58
  373. package/src/utils/transport/iframe-transport.spec.ts +177 -0
  374. package/src/utils/transport/iframe-transport.ts +122 -0
  375. package/src/utils.spec.ts +71 -0
  376. package/src/utils.ts +38 -0
  377. package/cjs/src/embed/hostEventClient/contracts.d.ts +0 -231
  378. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  379. package/cjs/src/embed/hostEventClient/contracts.js.map +0 -1
  380. package/dist/src/embed/hostEventClient/contracts.d.ts +0 -231
  381. package/dist/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  382. package/lib/src/embed/hostEventClient/contracts.d.ts +0 -231
  383. package/lib/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  384. package/lib/src/embed/hostEventClient/contracts.js.map +0 -1
  385. package/src/embed/hostEventClient/contracts.ts +0 -262
@@ -0,0 +1,500 @@
1
+ /**
2
+ * Copyright (c) 2026
3
+ *
4
+ * Typed contracts for {@link HostEvent} requests and responses.
5
+ *
6
+ * This module is the single source of truth for host event payload shapes.
7
+ * It is published under the `@thoughtspot/visual-embed-sdk/contracts` subpath
8
+ * so the ThoughtSpot app (host) can consume the exact same contract types the
9
+ * SDK compiles against, preventing SDK <-> host contract drift.
10
+ *
11
+ * Contract evolution rules (enforced by contracts.spec.ts snapshot):
12
+ * - Additive only: new events and new OPTIONAL fields may be added.
13
+ * - Never remove or rename an event key, or change an existing field's type.
14
+ * - An event absent from the maps below intentionally resolves to `any`
15
+ * (untyped, backward compatible) until it is audited and added.
16
+ * @module contracts
17
+ */
18
+ import type {
19
+ ContextType,
20
+ HostEvent,
21
+ RuntimeFilter,
22
+ RuntimeParameter,
23
+ } from '../types';
24
+ import type {
25
+ Applicability,
26
+ EmbedApiHostEventMapping,
27
+ UIPassthroughContractBase,
28
+ UIPassthroughRequest,
29
+ UIPassthroughResponse,
30
+ } from './ui-passthrough-contracts';
31
+
32
+ /**
33
+ * Request for host events that MAY target a specific visualization.
34
+ * Omitting vizId targets the current answer/liveboard as a whole.
35
+ * (In some contexts, e.g. Spotter, the app requires vizId at runtime.)
36
+ */
37
+ export interface VizScopedRequest {
38
+ vizId?: string;
39
+ }
40
+
41
+ /**
42
+ * Request for host events that MUST target a specific visualization.
43
+ */
44
+ export interface RequiredVizRequest {
45
+ vizId: string;
46
+ }
47
+
48
+ /**
49
+ * Request for Spotter conversation-scoped host events.
50
+ */
51
+ export interface ConversationScopedRequest {
52
+ conversationId: string;
53
+ }
54
+
55
+ /**
56
+ * Request payload for {@link HostEvent.OpenFilter}. Field requirements
57
+ * vary by context (Search requires columnId/type/dataType/name); the
58
+ * contract is the cross-context superset — the app validates per context
59
+ * at runtime. Per-context views: {@link OpenFilterLiveboardRequest},
60
+ * {@link OpenFilterSpotterRequest}, {@link OpenFilterSearchRequest}.
61
+ */
62
+ export interface OpenFilterRequest {
63
+ column: {
64
+ columnId?: string;
65
+ columnName?: string;
66
+ type?: string;
67
+ dataType?: string;
68
+ name?: string;
69
+ isStrictDateColumn?: boolean;
70
+ };
71
+ applicability?: Applicability;
72
+ visualizationId?: string;
73
+ liveboardId?: string;
74
+ }
75
+
76
+ /**
77
+ * `OpenFilter` in Liveboard context: full column plus scoping fields.
78
+ * A per-context view of {@link OpenFilterRequest} (documentation only today;
79
+ * `trigger()` accepts the superset).
80
+ */
81
+ export interface OpenFilterLiveboardRequest {
82
+ column: { columnId?: string; columnName?: string };
83
+ applicability?: Applicability;
84
+ visualizationId?: string;
85
+ liveboardId?: string;
86
+ }
87
+
88
+ /**
89
+ * `OpenFilter` in Spotter context: only the column identity is accepted.
90
+ */
91
+ export interface OpenFilterSpotterRequest {
92
+ column: { columnId?: string; columnName?: string };
93
+ }
94
+
95
+ /**
96
+ * `OpenFilter` in Search/Answer context: column identity plus column metadata.
97
+ */
98
+ export interface OpenFilterSearchRequest {
99
+ column: {
100
+ columnId?: string;
101
+ columnName?: string;
102
+ type?: string;
103
+ dataType?: string;
104
+ name?: string;
105
+ isStrictDateColumn?: boolean;
106
+ };
107
+ }
108
+
109
+ /**
110
+ * Request payload for {@link HostEvent.DrillDown}. Drills on selected or
111
+ * clicked points of a visualization. In Liveboard context `vizId` is required
112
+ * at runtime (documentation only today; `trigger()` is not yet type-enforced).
113
+ */
114
+ export interface DrillDownRequest {
115
+ points: {
116
+ clickedPoint?: object;
117
+ selectedPoints?: object[];
118
+ };
119
+ columnGuid?: string;
120
+ autoDrillDown?: boolean;
121
+ vizId?: string;
122
+ }
123
+
124
+ /**
125
+ * Request payload for {@link HostEvent.OpenParameter}. One of parameterId
126
+ * or parameterName must be provided (validated at runtime).
127
+ */
128
+ export interface OpenParameterRequest {
129
+ parameter: {
130
+ parameterId?: string;
131
+ parameterName?: string;
132
+ };
133
+ applicability?: Applicability;
134
+ }
135
+
136
+ /**
137
+ * Request payload for {@link HostEvent.Search}.
138
+ */
139
+ export interface SearchRequest {
140
+ searchQuery: string;
141
+ dataSources: string[];
142
+ execute?: boolean;
143
+ }
144
+
145
+ /**
146
+ * Request payload for {@link HostEvent.SpotterSearch}.
147
+ */
148
+ export interface SpotterSearchRequest {
149
+ query: string;
150
+ executeSearch: boolean;
151
+ }
152
+
153
+ /**
154
+ * A single cross-filter condition for {@link HostEvent.UpdateCrossFilter}.
155
+ */
156
+ export interface CrossFilterCondition {
157
+ columnName?: string;
158
+ operator?: string;
159
+ values: Array<string | number | boolean>;
160
+ }
161
+
162
+ /**
163
+ * Request payload for {@link HostEvent.UpdateCrossFilter}.
164
+ */
165
+ export interface UpdateCrossFilterRequest {
166
+ vizId: string;
167
+ conditions: CrossFilterCondition[];
168
+ }
169
+
170
+ /**
171
+ * The column to filter on. Supply `columnName`. A filter with no column is
172
+ * rejected at runtime, and passing both spellings silently discards the
173
+ * `column` one.
174
+ *
175
+ * When several columns share a name, qualify it as
176
+ * `WORKSHEET_NAME::COLUMN_NAME`, for example
177
+ * `"(Sample) Retail - Apparel::city"`.
178
+ */
179
+ export type HostFilterUpdateColumn =
180
+ | {
181
+ /**
182
+ * Name of the column to filter on, optionally qualified as
183
+ * `WORKSHEET_NAME::COLUMN_NAME`.
184
+ */
185
+ columnName: string;
186
+ column?: never;
187
+ }
188
+ | {
189
+ /**
190
+ * @deprecated Use `columnName`, which matches {@link RuntimeFilter} and
191
+ * the rest of the SDK. Still accepted, but not alongside `columnName`.
192
+ */
193
+ column: string;
194
+ columnName?: never;
195
+ };
196
+
197
+ /**
198
+ * The filter operator. Supply `operator`. A filter with no operator is
199
+ * rejected at runtime, and passing both spellings silently discards the
200
+ * `oper` one.
201
+ */
202
+ export type HostFilterUpdateOperator =
203
+ | {
204
+ /** Filter operator, for example EQ, IN, CONTAINS. */
205
+ operator: string;
206
+ oper?: never;
207
+ }
208
+ | {
209
+ /**
210
+ * @deprecated Use `operator`, which matches {@link RuntimeFilter} and
211
+ * the rest of the SDK. Still accepted, but not alongside `operator`.
212
+ */
213
+ oper: string;
214
+ operator?: never;
215
+ };
216
+
217
+ /**
218
+ * A single filter entry for {@link HostEvent.UpdateFilters}.
219
+ *
220
+ * Use `columnName` and `operator` - the spelling used by
221
+ * {@link RuntimeFilter} and by the payload
222
+ * `convertFilterChangedToUpdateFiltersPayload` produces.
223
+ */
224
+ export type HostFilterUpdate = HostFilterUpdateColumn & HostFilterUpdateOperator & {
225
+ columnId?: string;
226
+ values: Array<string | number | boolean | bigint>;
227
+ type?: string;
228
+ datePeriod?: string;
229
+ negate?: boolean;
230
+ applicability?: Applicability;
231
+ };
232
+
233
+ /**
234
+ * Request payload for {@link HostEvent.UpdateFilters} (singular or plural
235
+ * form).
236
+ */
237
+ export interface UpdateFiltersRequest {
238
+ filter?: HostFilterUpdate;
239
+ filters?: HostFilterUpdate[];
240
+ /**
241
+ * Scope the update to a specific visualization on a Liveboard.
242
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
243
+ */
244
+ visualizationId?: string;
245
+ /**
246
+ * Scope the update to a specific Liveboard.
247
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
248
+ */
249
+ liveboardId?: string;
250
+ }
251
+
252
+ /**
253
+ * Request payload for personalised-view host events.
254
+ */
255
+ export interface PersonalisedViewRequest {
256
+ viewId?: string;
257
+ viewName?: string;
258
+ }
259
+
260
+ /**
261
+ * Request payload for schedule-email related host events.
262
+ */
263
+ export interface ScheduleEmailRequest {
264
+ sendToSelf?: boolean;
265
+ }
266
+
267
+ /**
268
+ * Object form of the {@link HostEvent.Navigate} payload.
269
+ */
270
+ export interface NavigateRequest {
271
+ /**
272
+ * Route to navigate to, or a history delta such as `1` or `-1`.
273
+ */
274
+ path: string | number;
275
+ /**
276
+ * When `true`, replaces the current history entry instead of pushing.
277
+ */
278
+ replace?: boolean;
279
+ }
280
+
281
+ /**
282
+ * Request payload for {@link HostEvent.SetActiveTab}.
283
+ */
284
+ export interface SetActiveTabRequest {
285
+ /**
286
+ * Id of the liveboard tab to make active.
287
+ */
288
+ tabId: string;
289
+ }
290
+
291
+ /**
292
+ * Typed request payloads for host events that do not go through the UI
293
+ * passthrough pipeline (`HostEvent` member → request type; `void` = no payload).
294
+ *
295
+ * Shapes are transcribed from the host's runtime validation schemas
296
+ * (embed-util HostEventContract) — what the ThoughtSpot app actually enforces —
297
+ * flattened across contexts to the permissive superset (context-specific
298
+ * requirements are validated at runtime).
299
+ *
300
+ * Responses are typed only for UI-passthrough-backed events today (see
301
+ * {@link HostEventResponse}). Add a response map alongside this one when the
302
+ * first explicit response shape is specified; tightening later is additive.
303
+ *
304
+ * Deliberately absent (do not add without an audit):
305
+ * - DrillDown: the runtime schema (object-shaped points) and the UI
306
+ * passthrough contract (string-shaped points) disagree — resolve the
307
+ * drift first.
308
+ * - GetAnswerSession/GetParameters/GetTML: typed via the UI passthrough
309
+ * mapping; their Spotter-context vizId requirement is runtime-only.
310
+ */
311
+ export interface HostEventRequestMap {
312
+ // ==================== FILTERS AND PARAMETERS ====================
313
+ [HostEvent.UpdateRuntimeFilters]: RuntimeFilter[];
314
+ [HostEvent.UpdateParameters]: RuntimeParameter[];
315
+ [HostEvent.UpdateFilters]: UpdateFiltersRequest;
316
+ [HostEvent.UpdateCrossFilter]: UpdateCrossFilterRequest;
317
+ [HostEvent.OpenFilter]: OpenFilterRequest;
318
+ [HostEvent.OpenParameter]: OpenParameterRequest;
319
+
320
+ // ==================== TABS AND VIZS ====================
321
+ [HostEvent.SetVisibleVizs]: string[];
322
+ [HostEvent.SetVisibleTabs]: string[];
323
+ [HostEvent.SetHiddenTabs]: string[];
324
+ [HostEvent.SetActiveTab]: SetActiveTabRequest;
325
+
326
+ // ==================== NAVIGATION ====================
327
+ [HostEvent.Navigate]: string | number | NavigateRequest;
328
+
329
+ // ==================== SEARCH AND COLUMNS ====================
330
+ [HostEvent.Search]: SearchRequest;
331
+ [HostEvent.ResetSearch]: void;
332
+ [HostEvent.AddColumns]: { columnIds: string[] };
333
+ [HostEvent.RemoveColumn]: { columnId: string };
334
+
335
+ // ==================== VIZ-SCOPED ACTIONS ====================
336
+ // vizId optional in most contexts; some contexts require it at runtime.
337
+ [HostEvent.Edit]: VizScopedRequest;
338
+ [HostEvent.Save]: VizScopedRequest;
339
+ [HostEvent.Delete]: VizScopedRequest;
340
+ [HostEvent.Share]: VizScopedRequest;
341
+ [HostEvent.Present]: VizScopedRequest;
342
+ [HostEvent.CopyLink]: VizScopedRequest;
343
+ [HostEvent.ExportTML]: VizScopedRequest;
344
+ [HostEvent.EditTML]: VizScopedRequest;
345
+ [HostEvent.UpdateTML]: VizScopedRequest;
346
+ [HostEvent.SchedulesList]: VizScopedRequest;
347
+ [HostEvent.Schedule]: VizScopedRequest;
348
+ [HostEvent.SpotIQAnalyze]: VizScopedRequest;
349
+ [HostEvent.ShowUnderlyingData]: VizScopedRequest;
350
+ [HostEvent.CreateMonitor]: VizScopedRequest;
351
+ [HostEvent.ManageMonitor]: VizScopedRequest;
352
+ [HostEvent.SyncToSheets]: VizScopedRequest;
353
+ [HostEvent.SyncToOtherApps]: VizScopedRequest;
354
+ [HostEvent.ManagePipelines]: VizScopedRequest;
355
+ // Download shares the downloadAsPng wire value with DownloadAsPng.
356
+ [HostEvent.DownloadAsPng]: VizScopedRequest;
357
+ [HostEvent.DownloadAsCsv]: VizScopedRequest;
358
+ [HostEvent.DownloadAsXlsx]: VizScopedRequest;
359
+ [HostEvent.DownloadAsPdf]: VizScopedRequest & { liveboardId?: string };
360
+
361
+ // Viz id required in every context.
362
+ [HostEvent.Explore]: RequiredVizRequest;
363
+ [HostEvent.AskSage]: RequiredVizRequest;
364
+ [HostEvent.AskSpotter]: RequiredVizRequest;
365
+ [HostEvent.AnswerChartSwitcher]: RequiredVizRequest;
366
+
367
+ // ==================== LIVEBOARD ====================
368
+ [HostEvent.UpdatePersonalisedView]: Pick<PersonalisedViewRequest, 'viewId'>;
369
+ [HostEvent.SelectPersonalizedView]: PersonalisedViewRequest;
370
+ [HostEvent.ResetLiveboardPersonalisedView]: void;
371
+ [HostEvent.AIHighlights]: void;
372
+ [HostEvent.SendTestScheduleEmail]: ScheduleEmailRequest;
373
+ [HostEvent.RefreshLiveboardBrowserCache]: ScheduleEmailRequest;
374
+
375
+ // ==================== SPOTTER ====================
376
+ [HostEvent.SpotterSearch]: SpotterSearchRequest;
377
+ [HostEvent.ResetSpotterConversation]: void;
378
+ [HostEvent.ShareSpotterConversation]: ConversationScopedRequest;
379
+ [HostEvent.CloseSpotterShareConversation]: void;
380
+ [HostEvent.ExitSpotterSharedConversation]: void;
381
+ [HostEvent.PinSpotterConversation]: ConversationScopedRequest;
382
+ [HostEvent.UnpinSpotterConversation]: ConversationScopedRequest;
383
+ [HostEvent.EditLastPrompt]: string;
384
+ [HostEvent.DeleteLastPrompt]: void;
385
+ [HostEvent.PreviewSpotterData]: void;
386
+ [HostEvent.SpotterVizSendUserMessage]: { query: string };
387
+ [HostEvent.InitSpotterVizConversation]: void;
388
+ [HostEvent.OpenSpotterVizPanel]: void;
389
+ [HostEvent.CloseSpotterVizPanel]: void;
390
+ }
391
+
392
+ /**
393
+ * Per-context request shapes for events whose payload varies by
394
+ /**
395
+ * Resolves the typed request payload for a host event.
396
+ * Resolution order:
397
+ * 1. Explicitly typed request in {@link HostEventRequestMap}
398
+ * 2. UI passthrough backed contract ({@link EmbedApiHostEventMapping})
399
+ * 3. `any` (event not audited/typed yet — backward compatible)
400
+ *
401
+ * Requests are the cross-context superset today. The per-context `*Request`
402
+ * interfaces (e.g. {@link OpenFilterLiveboardRequest}) document how the shape
403
+ * narrows by context; a later release may thread the caller's context to
404
+ * enforce it.
405
+ */
406
+ export type HostEventRequest<HostEventT extends HostEvent> =
407
+ HostEventT extends keyof HostEventRequestMap
408
+ ? HostEventRequestMap[HostEventT]
409
+ : HostEventT extends keyof EmbedApiHostEventMapping
410
+ ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]>
411
+ : any;
412
+ /**
413
+ * Resolves the typed response payload for a host event. Only UI passthrough
414
+ * backed events have typed responses today; everything else resolves to `any`.
415
+ */
416
+ export type HostEventResponse<
417
+ HostEventT extends HostEvent,
418
+ // Reserved for context-dependent response shapes (additive change later).
419
+ ContextT extends ContextType = ContextType,
420
+ > = HostEventT extends keyof EmbedApiHostEventMapping
421
+ ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]>
422
+ : any;
423
+
424
+ /**
425
+ * Payload type accepted by `embed.trigger()`. Keeps the historical
426
+ * `PayloadT` escape hatch so untyped existing call sites keep compiling.
427
+ */
428
+ export type TriggerPayload<PayloadT, HostEventT extends HostEvent> =
429
+ PayloadT | HostEventRequest<HostEventT>;
430
+
431
+ /**
432
+ * Deep `Partial` of a request type: every field optional at every depth, with no
433
+ * index signature — so object literals carrying unknown fields are flagged.
434
+ */
435
+ export type DeepPartial<T> =
436
+ T extends (infer U)[]
437
+ ? DeepPartial<U>[]
438
+ : T extends object
439
+ ? { [K in keyof T]?: DeepPartial<T[K]> }
440
+ : T;
441
+
442
+ /**
443
+ * `trigger()`'s `data` type: an all-optional view of the event's request type.
444
+ * See {@link HostEventRequest} and the `*Request` interfaces, e.g. {@link SearchRequest}.
445
+ * No-payload events take `{}`. SDK 1.54.0 makes this strict (required fields enforced).
446
+ */
447
+ export type TriggerData<HostEventT extends HostEvent> =
448
+ HostEventRequest<HostEventT> extends void
449
+ ? Record<string, never>
450
+ : DeepPartial<HostEventRequest<HostEventT>>;
451
+
452
+ /**
453
+ * Response type returned by `embed.trigger()`.
454
+ */
455
+ export type TriggerResponse<
456
+ PayloadT,
457
+ HostEventT extends HostEvent,
458
+ ContextT extends ContextType = ContextType,
459
+ > = PayloadT extends HostEventRequest<HostEventT>
460
+ ? HostEventResponse<HostEventT, ContextT>
461
+ : any;
462
+
463
+ /**
464
+ * String-name keyed views of the contracts, for the host (ThoughtSpot app)
465
+ * side, which addresses events by their wire value (e.g.
466
+ * 'UpdateRuntimeFilters') rather than the {@link HostEvent} enum member.
467
+ */
468
+ export type HostEventName = `${HostEvent}`;
469
+
470
+ /**
471
+ * Resolves a host event's request type from its wire name.
472
+ */
473
+ export type HostEventRequestByName<NameT extends string> = {
474
+ [EventT in HostEvent]: `${EventT}` extends NameT
475
+ ? HostEventRequest<EventT>
476
+ : never;
477
+ }[HostEvent] extends never
478
+ ? any
479
+ : {
480
+ [EventT in HostEvent]: `${EventT}` extends NameT
481
+ ? HostEventRequest<EventT>
482
+ : never;
483
+ }[HostEvent];
484
+
485
+ /**
486
+ * Resolves a host event's response type from its wire name.
487
+ */
488
+ export type HostEventResponseByName<NameT extends string> = {
489
+ [EventT in HostEvent]: `${EventT}` extends NameT
490
+ ? HostEventResponse<EventT>
491
+ : never;
492
+ }[HostEvent] extends never
493
+ ? any
494
+ : {
495
+ [EventT in HostEvent]: `${EventT}` extends NameT
496
+ ? HostEventResponse<EventT>
497
+ : never;
498
+ }[HostEvent];
499
+
500
+ export type { UIPassthroughContractBase, EmbedApiHostEventMapping };
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Copyright (c) 2026
3
+ *
4
+ * `@thoughtspot/visual-embed-sdk/contracts`
5
+ *
6
+ * Single source of truth for the Visual Embed SDK <-> ThoughtSpot app event
7
+ * contracts. Consumed by:
8
+ * - the SDK itself (compile-time types for `trigger()` / `on()`),
9
+ * - the ThoughtSpot app (host-side handler typing + runtime validation),
10
+ * - documentation generation.
11
+ *
12
+ * Evolution policy: ADDITIVE ONLY. See host-event-contracts.ts header.
13
+ * @module contracts
14
+ */
15
+ export {
16
+ HostEvent,
17
+ EmbedEvent,
18
+ ContextType,
19
+ } from '../types';
20
+ export type {
21
+ RuntimeFilter,
22
+ RuntimeParameter,
23
+ MessagePayload,
24
+ // Code-based custom action config (sent to the host at init as
25
+ // DefaultAppInitData.customActions) + the click event payload.
26
+ CustomAction,
27
+ CustomActionPayload,
28
+ } from '../types';
29
+ export {
30
+ CustomActionsPosition,
31
+ CustomActionTarget,
32
+ } from '../types';
33
+
34
+ export * from './host-event-contracts';
35
+ export * from './embed-event-payloads';
36
+
37
+ // UI passthrough contracts remain in their historical home; re-exported so
38
+ // the contracts subpath is self-sufficient for host-side consumers.
39
+ export {
40
+ UIPassthroughEvent,
41
+ ApplicabilityLevel,
42
+ } from './ui-passthrough-contracts';
43
+ export type {
44
+ Applicability,
45
+ FilterUpdate,
46
+ LiveboardFilter,
47
+ LiveboardParameter,
48
+ LiveboardTab,
49
+ LiveboardGroup,
50
+ UIPassthroughRequest,
51
+ UIPassthroughResponse,
52
+ UIPassthroughArrayResponse,
53
+ } from './ui-passthrough-contracts';