@thoughtspot/visual-embed-sdk 1.52.1 → 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 (241) hide show
  1. package/cjs/package.json +11 -4
  2. package/cjs/src/contracts/host-event-contracts.d.ts +49 -11
  3. package/cjs/src/contracts/host-event-contracts.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +4 -3
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +1 -1
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +10 -0
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/auto-frame-renderer.js +1 -1
  11. package/cjs/src/embed/auto-frame-renderer.js.map +1 -1
  12. package/cjs/src/embed/auto-frame-renderer.spec.js +24 -13
  13. package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -1
  14. package/cjs/src/embed/bodyless-conversation.js +1 -1
  15. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  16. package/cjs/src/embed/conversation.d.ts +1 -0
  17. package/cjs/src/embed/conversation.d.ts.map +1 -1
  18. package/cjs/src/embed/conversation.js +4 -4
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/conversation.spec.js +35 -24
  21. package/cjs/src/embed/conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/embedConfig.spec.js +2 -1
  23. package/cjs/src/embed/embedConfig.spec.js.map +1 -1
  24. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +2 -2
  25. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  26. package/cjs/src/embed/hostEventClient/host-event-client.js +16 -10
  27. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  28. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +14 -8
  29. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  30. package/cjs/src/embed/hostEventClient/utils.d.ts +9 -0
  31. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  32. package/cjs/src/embed/hostEventClient/utils.js +49 -3
  33. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  34. package/cjs/src/embed/hostEventClient/utils.spec.js +151 -0
  35. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
  36. package/cjs/src/embed/liveboard.d.ts +4 -3
  37. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  38. package/cjs/src/embed/liveboard.js +18 -13
  39. package/cjs/src/embed/liveboard.js.map +1 -1
  40. package/cjs/src/embed/liveboard.spec.js +2 -1
  41. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  42. package/cjs/src/embed/search-bar.js +1 -1
  43. package/cjs/src/embed/search-bar.js.map +1 -1
  44. package/cjs/src/embed/search.js +1 -1
  45. package/cjs/src/embed/search.js.map +1 -1
  46. package/cjs/src/embed/search.spec.js +20 -0
  47. package/cjs/src/embed/search.spec.js.map +1 -1
  48. package/cjs/src/embed/spotter-utils.d.ts +8 -1
  49. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  50. package/cjs/src/embed/spotter-utils.js +14 -1
  51. package/cjs/src/embed/spotter-utils.js.map +1 -1
  52. package/cjs/src/embed/spotter-utils.spec.js +26 -0
  53. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  54. package/cjs/src/embed/ts-embed.d.ts +3 -0
  55. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  56. package/cjs/src/embed/ts-embed.js +108 -29
  57. package/cjs/src/embed/ts-embed.js.map +1 -1
  58. package/cjs/src/embed/ts-embed.spec.js +163 -23
  59. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  60. package/cjs/src/errors.js +1 -1
  61. package/cjs/src/errors.js.map +1 -1
  62. package/cjs/src/index.d.ts +2 -1
  63. package/cjs/src/index.d.ts.map +1 -1
  64. package/cjs/src/index.js +3 -1
  65. package/cjs/src/index.js.map +1 -1
  66. package/cjs/src/react/all-types-export.d.ts +1 -1
  67. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  68. package/cjs/src/react/all-types-export.js +2 -1
  69. package/cjs/src/react/all-types-export.js.map +1 -1
  70. package/cjs/src/types.d.ts +45 -22
  71. package/cjs/src/types.d.ts.map +1 -1
  72. package/cjs/src/types.js +44 -21
  73. package/cjs/src/types.js.map +1 -1
  74. package/cjs/src/utils/authService/tokenizedAuthService.spec.js +2 -1
  75. package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  76. package/cjs/src/utils/custom-actions.spec.js +4 -2
  77. package/cjs/src/utils/custom-actions.spec.js.map +1 -1
  78. package/cjs/src/utils/filterConverter.d.ts +106 -0
  79. package/cjs/src/utils/filterConverter.d.ts.map +1 -0
  80. package/cjs/src/utils/filterConverter.js +215 -0
  81. package/cjs/src/utils/filterConverter.js.map +1 -0
  82. package/cjs/src/utils/filterConverter.spec.d.ts +2 -0
  83. package/cjs/src/utils/filterConverter.spec.d.ts.map +1 -0
  84. package/cjs/src/utils/filterConverter.spec.js +709 -0
  85. package/cjs/src/utils/filterConverter.spec.js.map +1 -0
  86. package/cjs/src/utils/processData.spec.js +2 -1
  87. package/cjs/src/utils/processData.spec.js.map +1 -1
  88. package/dist/{index-C1pmYb5H.js → index-CcBYlGo9.js} +1 -1
  89. package/dist/src/contracts/host-event-contracts.d.ts +49 -11
  90. package/dist/src/contracts/host-event-contracts.d.ts.map +1 -1
  91. package/dist/src/embed/app.d.ts +4 -3
  92. package/dist/src/embed/app.d.ts.map +1 -1
  93. package/dist/src/embed/conversation.d.ts +1 -0
  94. package/dist/src/embed/conversation.d.ts.map +1 -1
  95. package/dist/src/embed/hostEventClient/host-event-client.d.ts +2 -2
  96. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  97. package/dist/src/embed/hostEventClient/utils.d.ts +9 -0
  98. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  99. package/dist/src/embed/liveboard.d.ts +4 -3
  100. package/dist/src/embed/liveboard.d.ts.map +1 -1
  101. package/dist/src/embed/spotter-utils.d.ts +8 -1
  102. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  103. package/dist/src/embed/ts-embed.d.ts +3 -0
  104. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  105. package/dist/src/index.d.ts +2 -1
  106. package/dist/src/index.d.ts.map +1 -1
  107. package/dist/src/react/all-types-export.d.ts +1 -1
  108. package/dist/src/react/all-types-export.d.ts.map +1 -1
  109. package/dist/src/types.d.ts +45 -22
  110. package/dist/src/types.d.ts.map +1 -1
  111. package/dist/src/utils/filterConverter.d.ts +106 -0
  112. package/dist/src/utils/filterConverter.d.ts.map +1 -0
  113. package/dist/src/utils/filterConverter.spec.d.ts +2 -0
  114. package/dist/src/utils/filterConverter.spec.d.ts.map +1 -0
  115. package/dist/tsembed-react.es.js +257 -87
  116. package/dist/tsembed-react.js +256 -86
  117. package/dist/tsembed.es.js +466 -89
  118. package/dist/tsembed.js +465 -87
  119. package/dist/visual-embed-sdk-react-full.d.ts +202 -40
  120. package/dist/visual-embed-sdk-react.d.ts +108 -40
  121. package/dist/visual-embed-sdk.d.ts +202 -40
  122. package/lib/package.json +11 -4
  123. package/lib/src/contracts/host-event-contracts.d.ts +49 -11
  124. package/lib/src/contracts/host-event-contracts.d.ts.map +1 -1
  125. package/lib/src/embed/app.d.ts +4 -3
  126. package/lib/src/embed/app.d.ts.map +1 -1
  127. package/lib/src/embed/app.js +1 -1
  128. package/lib/src/embed/app.js.map +1 -1
  129. package/lib/src/embed/app.spec.js +10 -0
  130. package/lib/src/embed/app.spec.js.map +1 -1
  131. package/lib/src/embed/auto-frame-renderer.js +1 -1
  132. package/lib/src/embed/auto-frame-renderer.js.map +1 -1
  133. package/lib/src/embed/auto-frame-renderer.spec.js +24 -13
  134. package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -1
  135. package/lib/src/embed/bodyless-conversation.js +1 -1
  136. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  137. package/lib/src/embed/conversation.d.ts +1 -0
  138. package/lib/src/embed/conversation.d.ts.map +1 -1
  139. package/lib/src/embed/conversation.js +5 -5
  140. package/lib/src/embed/conversation.js.map +1 -1
  141. package/lib/src/embed/conversation.spec.js +35 -24
  142. package/lib/src/embed/conversation.spec.js.map +1 -1
  143. package/lib/src/embed/embedConfig.spec.js +2 -1
  144. package/lib/src/embed/embedConfig.spec.js.map +1 -1
  145. package/lib/src/embed/hostEventClient/host-event-client.d.ts +2 -2
  146. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  147. package/lib/src/embed/hostEventClient/host-event-client.js +17 -11
  148. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  149. package/lib/src/embed/hostEventClient/host-event-client.spec.js +14 -8
  150. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  151. package/lib/src/embed/hostEventClient/utils.d.ts +9 -0
  152. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  153. package/lib/src/embed/hostEventClient/utils.js +47 -2
  154. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  155. package/lib/src/embed/hostEventClient/utils.spec.js +152 -1
  156. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
  157. package/lib/src/embed/liveboard.d.ts +4 -3
  158. package/lib/src/embed/liveboard.d.ts.map +1 -1
  159. package/lib/src/embed/liveboard.js +18 -13
  160. package/lib/src/embed/liveboard.js.map +1 -1
  161. package/lib/src/embed/liveboard.spec.js +2 -1
  162. package/lib/src/embed/liveboard.spec.js.map +1 -1
  163. package/lib/src/embed/search-bar.js +1 -1
  164. package/lib/src/embed/search-bar.js.map +1 -1
  165. package/lib/src/embed/search.js +1 -1
  166. package/lib/src/embed/search.js.map +1 -1
  167. package/lib/src/embed/search.spec.js +20 -0
  168. package/lib/src/embed/search.spec.js.map +1 -1
  169. package/lib/src/embed/spotter-utils.d.ts +8 -1
  170. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  171. package/lib/src/embed/spotter-utils.js +12 -0
  172. package/lib/src/embed/spotter-utils.js.map +1 -1
  173. package/lib/src/embed/spotter-utils.spec.js +27 -1
  174. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  175. package/lib/src/embed/ts-embed.d.ts +3 -0
  176. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  177. package/lib/src/embed/ts-embed.js +108 -29
  178. package/lib/src/embed/ts-embed.js.map +1 -1
  179. package/lib/src/embed/ts-embed.spec.js +164 -24
  180. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  181. package/lib/src/errors.js +1 -1
  182. package/lib/src/errors.js.map +1 -1
  183. package/lib/src/index.d.ts +2 -1
  184. package/lib/src/index.d.ts.map +1 -1
  185. package/lib/src/index.js +2 -1
  186. package/lib/src/index.js.map +1 -1
  187. package/lib/src/react/all-types-export.d.ts +1 -1
  188. package/lib/src/react/all-types-export.d.ts.map +1 -1
  189. package/lib/src/react/all-types-export.js +1 -1
  190. package/lib/src/react/all-types-export.js.map +1 -1
  191. package/lib/src/types.d.ts +45 -22
  192. package/lib/src/types.d.ts.map +1 -1
  193. package/lib/src/types.js +44 -21
  194. package/lib/src/types.js.map +1 -1
  195. package/lib/src/utils/authService/tokenizedAuthService.spec.js +2 -1
  196. package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  197. package/lib/src/utils/custom-actions.spec.js +4 -2
  198. package/lib/src/utils/custom-actions.spec.js.map +1 -1
  199. package/lib/src/utils/filterConverter.d.ts +106 -0
  200. package/lib/src/utils/filterConverter.d.ts.map +1 -0
  201. package/lib/src/utils/filterConverter.js +210 -0
  202. package/lib/src/utils/filterConverter.js.map +1 -0
  203. package/lib/src/utils/filterConverter.spec.d.ts +2 -0
  204. package/lib/src/utils/filterConverter.spec.d.ts.map +1 -0
  205. package/lib/src/utils/filterConverter.spec.js +707 -0
  206. package/lib/src/utils/filterConverter.spec.js.map +1 -0
  207. package/lib/src/utils/processData.spec.js +2 -1
  208. package/lib/src/utils/processData.spec.js.map +1 -1
  209. package/lib/src/visual-embed-sdk.d.ts +202 -40
  210. package/package.json +11 -4
  211. package/src/contracts/host-event-contracts.ts +55 -11
  212. package/src/embed/app.spec.ts +15 -0
  213. package/src/embed/app.ts +5 -4
  214. package/src/embed/auto-frame-renderer.spec.ts +24 -13
  215. package/src/embed/auto-frame-renderer.ts +1 -1
  216. package/src/embed/bodyless-conversation.ts +1 -1
  217. package/src/embed/conversation.spec.ts +38 -27
  218. package/src/embed/conversation.ts +5 -5
  219. package/src/embed/embedConfig.spec.ts +2 -1
  220. package/src/embed/hostEventClient/host-event-client.spec.ts +14 -8
  221. package/src/embed/hostEventClient/host-event-client.ts +18 -10
  222. package/src/embed/hostEventClient/utils.spec.ts +176 -1
  223. package/src/embed/hostEventClient/utils.ts +51 -2
  224. package/src/embed/liveboard.spec.ts +4 -3
  225. package/src/embed/liveboard.ts +22 -16
  226. package/src/embed/search-bar.tsx +1 -1
  227. package/src/embed/search.spec.ts +23 -0
  228. package/src/embed/search.ts +1 -1
  229. package/src/embed/spotter-utils.spec.ts +29 -0
  230. package/src/embed/spotter-utils.ts +16 -0
  231. package/src/embed/ts-embed.spec.ts +204 -23
  232. package/src/embed/ts-embed.ts +114 -28
  233. package/src/errors.ts +1 -1
  234. package/src/index.ts +10 -0
  235. package/src/react/all-types-export.ts +4 -0
  236. package/src/types.ts +44 -21
  237. package/src/utils/authService/tokenizedAuthService.spec.ts +2 -1
  238. package/src/utils/custom-actions.spec.ts +4 -2
  239. package/src/utils/filterConverter.spec.ts +801 -0
  240. package/src/utils/filterConverter.ts +304 -0
  241. package/src/utils/processData.spec.ts +2 -1
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.52.1 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.52.2-beta */
2
2
  'use client';
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
@@ -3973,6 +3973,12 @@
3973
3973
  * ```js
3974
3974
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
3975
3975
  * console.log('data', data);
3976
+ * // {
3977
+ * // liveboardFilters: [ ... ],
3978
+ * // runtimeFilters: [
3979
+ * // { columnName: "Region", operator: "IN", values: ["West"] }
3980
+ * // ]
3981
+ * // }
3976
3982
  * ```
3977
3983
  * @example
3978
3984
  * ```js
@@ -3997,9 +4003,9 @@
3997
4003
  *
3998
4004
  * Each filter object must include the following attributes:
3999
4005
  *
4000
- * `column` - Name of the column to filter on.
4006
+ * `columnName` - Name of the column to filter on.
4001
4007
  *
4002
- * `oper` - Filter operator, for example, EQ, IN, CONTAINS.
4008
+ * `operator` - Filter operator, for example, EQ, IN, CONTAINS.
4003
4009
  * For information about the supported filter operators,
4004
4010
  * see link:https://developers.thoughtspot.com/docs/runtime-filters#rtOperator[Developer Documentation].
4005
4011
  *
@@ -4026,8 +4032,8 @@
4026
4032
  *
4027
4033
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
4028
4034
  * filter: {
4029
- * column: "item type",
4030
- * oper: "IN",
4035
+ * columnName: "item type",
4036
+ * operator: "IN",
4031
4037
  * values: ["bags","shirts"]
4032
4038
  * }
4033
4039
  * });
@@ -4037,8 +4043,8 @@
4037
4043
  *
4038
4044
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
4039
4045
  * filter: {
4040
- * column: "date",
4041
- * oper: "EQ",
4046
+ * columnName: "date",
4047
+ * operator: "EQ",
4042
4048
  * values: ["JULY","2023"],
4043
4049
  * type: "MONTH_YEAR"
4044
4050
  * }
@@ -4049,18 +4055,18 @@
4049
4055
  * ```js
4050
4056
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
4051
4057
  * filters: [{
4052
- * column: "Item Type",
4053
- * oper: 'IN',
4058
+ * columnName: "Item Type",
4059
+ * operator: 'IN',
4054
4060
  * values: ["bags","shirts"]
4055
4061
  * },
4056
4062
  * {
4057
- * column: "Region",
4058
- * oper: 'IN',
4063
+ * columnName: "Region",
4064
+ * operator: 'IN',
4059
4065
  * values: ["West","Midwest"]
4060
4066
  * },
4061
4067
  * {
4062
- * column: "Date",
4063
- * oper: 'EQ',
4068
+ * columnName: "Date",
4069
+ * operator: 'EQ',
4064
4070
  * values: ["2023-07-31"],
4065
4071
  * type: "EXACT_DATE"
4066
4072
  * }]
@@ -4074,13 +4080,13 @@
4074
4080
  * ```js
4075
4081
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
4076
4082
  * filters: [{
4077
- * column: "(Sample) Retail - Apparel::city",
4078
- * oper: 'IN',
4083
+ * columnName: "(Sample) Retail - Apparel::city",
4084
+ * operator: 'IN',
4079
4085
  * values: ["atlanta"]
4080
4086
  * },
4081
4087
  * {
4082
- * column: "(Sample) Retail - Apparel::Region",
4083
- * oper: 'IN',
4088
+ * columnName: "(Sample) Retail - Apparel::Region",
4089
+ * operator: 'IN',
4084
4090
  * values: ["West","Midwest"]
4085
4091
  * }]
4086
4092
  * });
@@ -4091,8 +4097,8 @@
4091
4097
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
4092
4098
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
4093
4099
  * filter: {
4094
- * column: "item type",
4095
- * oper: "IN",
4100
+ * columnName: "item type",
4101
+ * operator: "IN",
4096
4102
  * values: ["shoes", "boots"]
4097
4103
  * }
4098
4104
  * }, ContextType.Liveboard);
@@ -4102,8 +4108,8 @@
4102
4108
  * // Scope the filter to a specific Liveboard tab
4103
4109
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
4104
4110
  * filter: {
4105
- * column: "item type",
4106
- * oper: "IN",
4111
+ * columnName: "item type",
4112
+ * operator: "IN",
4107
4113
  * values: ["bags", "shirts"],
4108
4114
  * applicability: {
4109
4115
  * level: "TAB",
@@ -4112,6 +4118,12 @@
4112
4118
  * }
4113
4119
  * });
4114
4120
  * ```
4121
+ * Use `columnName` and `operator` - the same spelling as
4122
+ * {@link RuntimeFilter}. The older `column` and `oper` spellings are
4123
+ * deprecated; they are still accepted, but pass only one spelling of each
4124
+ * field, never both. To reapply the filter state captured from
4125
+ * {@link EmbedEvent.FilterChanged}, use `convertFilterChangedToUpdateFiltersPayload`
4126
+ * to convert its payload into the shape expected here.
4115
4127
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
4116
4128
  */
4117
4129
  HostEvent["UpdateFilters"] = "updateFilters";
@@ -5097,7 +5109,6 @@
5097
5109
  Param["IsStarterPromptsEnabled"] = "enableStarterPrompts";
5098
5110
  Param["UpdatedSpotterExperience"] = "updatedSpotterExperience";
5099
5111
  Param["SpotterDataSources"] = "spotterDataSources";
5100
- Param["AnalystId"] = "analystId";
5101
5112
  Param["OpenSpotterOnLiveboardByDefault"] = "openSpotterOnLiveboardByDefault";
5102
5113
  Param["ShowAnswerEditPanel"] = "showAnswerEditPanel";
5103
5114
  })(Param || (Param = {}));
@@ -7323,6 +7334,18 @@
7323
7334
  * ```
7324
7335
  */
7325
7336
  Action["DeleteCollection"] = "deleteCollection";
7337
+ /**
7338
+ * Controls the visibility of the "Customize homepage" button on the
7339
+ * embedded home page.
7340
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
7341
+ * @example
7342
+ * ```js
7343
+ * {
7344
+ * hiddenActions: [Action.CustomizeHomepage],
7345
+ * }
7346
+ * ```
7347
+ */
7348
+ Action["CustomizeHomepage"] = "customizeHomepage";
7326
7349
  })(exports.Action || (exports.Action = {}));
7327
7350
  var PrefetchFeatures;
7328
7351
  (function (PrefetchFeatures) {
@@ -7827,7 +7850,7 @@
7827
7850
  TableContentDensity["Compact"] = "COMPACT";
7828
7851
  })(TableContentDensity || (TableContentDensity = {}));
7829
7852
 
7830
- var version$1="1.52.1";var pkg = {version:version$1};
7853
+ var version$1="1.52.2-beta";var pkg = {version:version$1};
7831
7854
 
7832
7855
  const { version } = pkg;
7833
7856
 
@@ -7931,7 +7954,7 @@
7931
7954
  SSR_ENVIRONMENT_ERROR: 'SSR environment detected. This function cannot be called in SSR environment.',
7932
7955
  UPDATE_PARAMS_FAILED: 'Failed to update embed parameters',
7933
7956
  INVALID_SPOTTER_DOCUMENTATION_URL: 'Invalid spotterDocumentationUrl. Please provide a valid http or https URL.',
7934
- UPDATEFILTERS_INVALID_PAYLOAD: 'UpdateFilters requires a valid filter or filters array. Expected: { filter: { column, oper, values } } or { filters: [{ column, oper, values }, ...] }',
7957
+ UPDATEFILTERS_INVALID_PAYLOAD: 'UpdateFilters requires a valid filter or filters array. Expected: { filter: { columnName, operator, values } } or { filters: [{ columnName, operator, values }, ...] }',
7935
7958
  DRILLDOWN_INVALID_PAYLOAD: 'DrillDown requires a valid points object. Expected: { points: { clickedPoint?, selectedPoints? }, autoDrillDown?, vizId? }',
7936
7959
  UPDATEPARAMETERS_INVALID_PAYLOAD: 'UpdateParameters received an invalid applicability. Expected: { level: LIVEBOARD | TAB | GROUP, targetId } where targetId is required for TAB and GROUP levels',
7937
7960
  };
@@ -21358,7 +21381,8 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21358
21381
  const isValidApplicability = (a) => {
21359
21382
  if (isUndefined_1(a))
21360
21383
  return true;
21361
- // targetId is not required at LIVEBOARD level, since the filter applies to the whole Liveboard
21384
+ // targetId is not required at LIVEBOARD level, since the filter applies to
21385
+ // the whole Liveboard
21362
21386
  return isPlainObject_1(a)
21363
21387
  && Object.values(ApplicabilityLevel).includes(a.level)
21364
21388
  && (a.level === ApplicabilityLevel.Liveboard || (isString_1(a.targetId) && a.targetId.trim().length > 0));
@@ -21377,8 +21401,52 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21377
21401
  const hasValidFilters = Array.isArray(payload.filters) && payload.filters.length > 0 && payload.filters.every(isValidFilter);
21378
21402
  return !!(hasValidFilter || hasValidFilters);
21379
21403
  }
21404
+ /**
21405
+ * Rewrites one filter's `columnName`/`operator` to `column`/`oper`.
21406
+ *
21407
+ * Callers may use either spelling: `columnName`/`operator` match
21408
+ * {@link RuntimeFilter} and the `EmbedEvent.FilterChanged` payload, so a
21409
+ * converted payload can be replayed as-is. But the payload is forwarded to the
21410
+ * embedded app unchanged, and only `column`/`oper` are known to be understood
21411
+ * there - so the alias must be swapped here, or it would pass validation and
21412
+ * then be silently ignored.
21413
+ *
21414
+ * If a caller supplies both spellings of a field - which TypeScript rejects,
21415
+ * but JavaScript callers can still do - the documented `columnName`/`operator`
21416
+ * wins. Deferring to the deprecated spelling would quietly discard the value
21417
+ * the rest of the SDK tells people to use.
21418
+ * @param filter One entry from the UpdateFilters payload.
21419
+ */
21420
+ function resolveFilterAliases(filter) {
21421
+ var _a, _b;
21422
+ if (!isPlainObject_1(filter))
21423
+ return filter;
21424
+ const column = (_a = filter.columnName) !== null && _a !== void 0 ? _a : filter.column;
21425
+ const oper = (_b = filter.operator) !== null && _b !== void 0 ? _b : filter.oper;
21426
+ const { columnName, operator, ...rest } = filter;
21427
+ return {
21428
+ ...rest,
21429
+ ...(isUndefined_1(column) ? {} : { column }),
21430
+ ...(isUndefined_1(oper) ? {} : { oper }),
21431
+ };
21432
+ }
21433
+ /**
21434
+ * Rewrites every filter in an UpdateFilters payload to use `column`/`oper`,
21435
+ * whichever spelling the caller supplied. Call after validation.
21436
+ * @param payload The UpdateFilters host event payload.
21437
+ */
21438
+ function resolveUpdateFiltersAliases(payload) {
21439
+ if (!isPlainObject_1(payload))
21440
+ return payload;
21441
+ return {
21442
+ ...payload,
21443
+ ...(payload.filter ? { filter: resolveFilterAliases(payload.filter) } : {}),
21444
+ ...(Array.isArray(payload.filters) ? { filters: payload.filters.map(resolveFilterAliases) } : {}),
21445
+ };
21446
+ }
21380
21447
  function isValidUpdateParametersPayload(payload) {
21381
- // Only validates the applicability of each parameter (null treated as absent); the rest is forwarded as-is for backward compatibility.
21448
+ // Only validates the applicability of each parameter (null treated as
21449
+ // absent); the rest is forwarded as-is for backward compatibility.
21382
21450
  if (!Array.isArray(payload))
21383
21451
  return true;
21384
21452
  return payload.every((p) => {
@@ -21426,7 +21494,8 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21426
21494
  /**
21427
21495
  * Maps HostEvent to its corresponding UIPassthroughEvent.
21428
21496
  * Includes both custom-handler events (Pin, SaveAnswer, UpdateFilters, DrillDown)
21429
- * and getter events (GetAnswerSession, GetFilters, etc.) that use getDataWithPassthroughFallback.
21497
+ * and getter events (GetAnswerSession, GetFilters, etc.) that use
21498
+ * getDataWithPassthroughFallback.
21430
21499
  */
21431
21500
  const PASSTHROUGH_MAP = {
21432
21501
  // Custom handlers (setters with special logic)
@@ -21577,17 +21646,21 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21577
21646
  throwUpdateFiltersValidationError();
21578
21647
  }
21579
21648
  // The shared contract accepts both current (columnName/operator) and
21580
- // legacy (column/oper) filter field names — as does the validation
21581
- // above and the app at runtime. The UIPassthrough FilterUpdate type
21582
- // still requires the legacy names; bridge until that contract is
21583
- // audited.
21584
- return this.handleHostEventWithParam(UIPassthroughEvent.UpdateFilters, payload, context);
21649
+ // legacy (column/oper) filter field names, but only the legacy pair is
21650
+ // understood downstream, so the payload is rewritten before it is
21651
+ // forwarded — otherwise a columnName/operator filter passes validation
21652
+ // here and is then silently ignored by the app. The cast bridges the
21653
+ // UIPassthrough FilterUpdate type, which still declares only the legacy
21654
+ // names.
21655
+ const resolvedPayload = resolveUpdateFiltersAliases(payload);
21656
+ return this.handleHostEventWithParam(UIPassthroughEvent.UpdateFilters, resolvedPayload, context);
21585
21657
  }
21586
21658
  handleUpdateParametersEvent(payload, context) {
21587
21659
  if (!isValidUpdateParametersPayload(payload)) {
21588
21660
  throwUpdateParametersValidationError();
21589
21661
  }
21590
- // UpdateParameters has no UI passthrough contract; dispatch over the legacy channel
21662
+ // UpdateParameters has no UI passthrough contract; dispatch over the
21663
+ // legacy channel
21591
21664
  return this.hostEventFallback(exports.HostEvent.UpdateParameters, payload, context);
21592
21665
  }
21593
21666
  handleDrillDownEvent(payload, context) {
@@ -21598,8 +21671,8 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21598
21671
  }
21599
21672
  /**
21600
21673
  * Dispatches a host event using the appropriate channel:
21601
- * 1. If the embedded app supports UI passthrough for this event, use it (custom handler or getter).
21602
- * 2. Otherwise fall back to the legacy host event channel.
21674
+ * 1. If the embedded app supports UI passthrough for this event, use it (custom
21675
+ * handler or getter). 2. Otherwise fall back to the legacy host event channel.
21603
21676
  *
21604
21677
  * @param hostEvent - The host event to trigger
21605
21678
  * @param payload - Optional payload for the event
@@ -21608,7 +21681,8 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21608
21681
  async triggerHostEvent(hostEvent, payload, context) {
21609
21682
  const customHandler = this.customHandlers[hostEvent];
21610
21683
  const passthroughEvent = PASSTHROUGH_MAP[hostEvent];
21611
- // If embedded app supports passthrough but not this event, use legacy channel
21684
+ // If embedded app supports passthrough but not this event, use legacy
21685
+ // channel
21612
21686
  const keys = passthroughEvent ? await this.getAvailableUIPassthroughKeys(context) : [];
21613
21687
  if (passthroughEvent && keys.length > 0 && !keys.includes(passthroughEvent)) {
21614
21688
  return this.hostEventFallback(hostEvent, payload, context);
@@ -21818,9 +21892,60 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21818
21892
  // The container applies UpdateEmbedParams through React state, so a delivered
21819
21893
  // post is not the same as the params being in effect.
21820
21894
  const UPDATE_EMBED_PARAMS_SETTLE_MS = 200;
21821
- // The container ignores runtimeFilterParams/runtimeParameterParams unless truthy, so
21822
- // null or '' leaves the previous embed's values in place. '&' is truthy and parses to {}.
21895
+ // The container ignores runtimeFilterParams/runtimeParameterParams unless
21896
+ // truthy, so null or '' leaves the previous embed's values in place. '&' is
21897
+ // truthy and parses to {}.
21823
21898
  const NO_RUNTIME_PARAMS = '&';
21899
+ /**
21900
+ * Query parameters that stay on the iframe `src` while config is excluded from
21901
+ * the URL, which is the default unless the embed sets the
21902
+ * `excludeConfigFromURL` additional flag to `false`. These are the parameters the
21903
+ * application shell needs before it can receive a postMessage at all: the
21904
+ * embed marker, the host application URL used to validate the message origin,
21905
+ * the SDK version, the flags that pick the authentication flow, and the
21906
+ * boot-time settings that would otherwise be applied a frame late (viewport,
21907
+ * log level, locale, formatting and org). Everything else is delivered over
21908
+ * `HostEvent.UpdateEmbedParams`.
21909
+ * @internal
21910
+ */
21911
+ const BOOTSTRAP_URL_PARAMS = new Set([
21912
+ Param.EmbedApp,
21913
+ Param.HostAppUrl,
21914
+ Param.Version,
21915
+ Param.AuthType,
21916
+ Param.AutoLogin,
21917
+ Param.DisableLoginRedirect,
21918
+ Param.ForceSAMLAutoRedirect,
21919
+ Param.cookieless,
21920
+ Param.preAuthCache,
21921
+ Param.blockNonEmbedFullAppAccess,
21922
+ Param.OverrideOrgId,
21923
+ Param.ViewPortHeight,
21924
+ Param.ViewPortWidth,
21925
+ Param.ClientLogLevel,
21926
+ Param.OverrideNativeConsole,
21927
+ Param.PendoTrackingKey,
21928
+ Param.NumberFormatLocale,
21929
+ Param.DateFormatLocale,
21930
+ Param.CurrencyFormat,
21931
+ Param.Locale,
21932
+ Param.searchEmbed,
21933
+ Param.livedBoardEmbed,
21934
+ Param.isSpotterAgentEmbed,
21935
+ Param.SpotterEnabled,
21936
+ Param.IsFullAppEmbed,
21937
+ Param.IsOnBeforeGetVizDataInterceptEnabled,
21938
+ Param.LinkOverride,
21939
+ Param.EnableLinkOverridesV2,
21940
+ Param.DisableRedirectionLinksInNewTab,
21941
+ Param.OverrideHistoryState,
21942
+ Param.ForceTable,
21943
+ Param.StringIDsUrl,
21944
+ Param.DataSources,
21945
+ Param.ExposeTranslationIDs,
21946
+ Param.IconSpriteUrl,
21947
+ Param.Tag,
21948
+ ]);
21824
21949
  /**
21825
21950
  * The event id map from v2 event names to v1 event id
21826
21951
  * v1 events are the classic embed events implemented in Blink v1
@@ -22017,15 +22142,20 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22017
22142
  const AUTH_INIT_FALLBACK_DELAY = 1000;
22018
22143
  // Wait for 1 second to ensure the embed container is loaded
22019
22144
  // This is a workaround to ensure the embed container is loaded
22020
- // this is needed until all clusters have EmbedListenerReady event
22145
+ // this is needed until all clusters have EmbedListenerReady
22146
+ // event
22021
22147
  setTimeout(processEmbedContainerReady, AUTH_INIT_FALLBACK_DELAY);
22022
22148
  }
22023
22149
  else if (source === exports.EmbedEvent.EmbedListenerReady) {
22024
22150
  processEmbedContainerReady();
22151
+ if (this.isConfigExcludedFromUrl()) {
22152
+ this.triggerUpdateEmbedParams();
22153
+ }
22025
22154
  }
22026
22155
  };
22027
22156
  // Subclasses that navigate the pre-render on show must await this before
22028
- // triggering Navigate. Resolves even on failure, so navigation is never blocked.
22157
+ // triggering Navigate. Resolves even on failure, so navigation is never
22158
+ // blocked.
22029
22159
  this.preRenderParamsApplied = Promise.resolve();
22030
22160
  this.hostElement = getDOMNode(domSelector);
22031
22161
  this.eventHandlerMap = new Map();
@@ -22355,8 +22485,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22355
22485
  ...this.viewConfig,
22356
22486
  ...queryParams,
22357
22487
  ...appInitData,
22358
- // A show cycle has no URL to carry these, so the payload always states them
22359
- // — including "none", which is the case that leaks the previous filters.
22488
+ // A show cycle has no URL to carry these, so the payload always
22489
+ // states them — including "none", which is the case that leaks the
22490
+ // previous filters.
22360
22491
  runtimeFilterParams: getFilterQuery((_a = this.viewConfig.runtimeFilters) !== null && _a !== void 0 ? _a : []) || NO_RUNTIME_PARAMS,
22361
22492
  runtimeParameterParams: getRuntimeParameters((_b = this.viewConfig.runtimeParameters) !== null && _b !== void 0 ? _b : [])
22362
22493
  || NO_RUNTIME_PARAMS,
@@ -22524,13 +22655,20 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22524
22655
  return path;
22525
22656
  }
22526
22657
  getEmbedParams() {
22527
- const queryParams = this.getEmbedParamsObject();
22658
+ const queryParams = this.getUrlQueryParamsObject();
22528
22659
  return getQueryParamString(queryParams);
22529
22660
  }
22530
22661
  getEmbedParamsObject() {
22531
22662
  const params = this.getBaseQueryParams();
22532
22663
  return params;
22533
22664
  }
22665
+ getUrlQueryParamsObject() {
22666
+ const queryParams = this.getEmbedParamsObject();
22667
+ if (!this.isConfigExcludedFromUrl()) {
22668
+ return queryParams;
22669
+ }
22670
+ return Object.fromEntries(Object.entries(queryParams).filter(([key]) => BOOTSTRAP_URL_PARAMS.has(key)));
22671
+ }
22534
22672
  getRootIframeSrc() {
22535
22673
  const query = this.getEmbedParams();
22536
22674
  return this.getEmbedBasePath(query);
@@ -23083,8 +23221,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23083
23221
  return;
23084
23222
  this.preRenderWrapper[this.embedNodeKey] = this;
23085
23223
  }
23086
- // The flag lives on the wrapper because it describes the iframe: an instance
23087
- // hidden when the container announced itself would otherwise report false forever.
23224
+ // The flag lives on the wrapper because it describes the iframe: an
23225
+ // instance hidden when the container announced itself would otherwise
23226
+ // report false forever.
23088
23227
  markEmbedContainerLoaded() {
23089
23228
  this.isEmbedContainerLoaded = true;
23090
23229
  if (this.preRenderWrapper) {
@@ -23437,6 +23576,27 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23437
23576
  this.isRendered = true;
23438
23577
  return this.renderIFrame(prerenderFrameSrc);
23439
23578
  }
23579
+ isConfigExcludedFromUrl() {
23580
+ var _a, _b, _c;
23581
+ const flag = (_b = (_a = this.viewConfig.additionalFlags) === null || _a === void 0 ? void 0 : _a.excludeConfigFromURL) !== null && _b !== void 0 ? _b : (_c = this.embedConfig.additionalFlags) === null || _c === void 0 ? void 0 : _c.excludeConfigFromURL;
23582
+ // Enabled by default; only an explicit false opts out.
23583
+ return flag !== false && flag !== 'false';
23584
+ }
23585
+ async triggerUpdateEmbedParams() {
23586
+ try {
23587
+ const params = await this.getUpdateEmbedParamsObject();
23588
+ this.trigger(exports.HostEvent.UpdateEmbedParams, params);
23589
+ }
23590
+ catch (error) {
23591
+ logger$3.error(ERROR_MESSAGE.UPDATE_PARAMS_FAILED, error);
23592
+ this.handleError({
23593
+ errorType: ErrorDetailsTypes.API,
23594
+ message: (error === null || error === void 0 ? void 0 : error.message) || ERROR_MESSAGE.UPDATE_PARAMS_FAILED,
23595
+ code: EmbedErrorCodes.UPDATE_PARAMS_FAILED,
23596
+ error: (error === null || error === void 0 ? void 0 : error.message) || error,
23597
+ });
23598
+ }
23599
+ }
23440
23600
  beforePrerenderVisible() {
23441
23601
  // We can ignore this as its a bit expensive and the newer customers
23442
23602
  // have moved on to UpdateEmbedParams supported clusters
@@ -23447,17 +23607,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23447
23607
  this.preRenderParamsApplied = new Promise((resolve) => {
23448
23608
  this.executeAfterEmbedContainerLoaded(async () => {
23449
23609
  try {
23450
- const params = await this.getUpdateEmbedParamsObject();
23451
- this.trigger(exports.HostEvent.UpdateEmbedParams, params);
23452
- }
23453
- catch (error) {
23454
- logger$3.error(ERROR_MESSAGE.UPDATE_PARAMS_FAILED, error);
23455
- this.handleError({
23456
- errorType: ErrorDetailsTypes.API,
23457
- message: (error === null || error === void 0 ? void 0 : error.message) || ERROR_MESSAGE.UPDATE_PARAMS_FAILED,
23458
- code: EmbedErrorCodes.UPDATE_PARAMS_FAILED,
23459
- error: (error === null || error === void 0 ? void 0 : error.message) || error,
23460
- });
23610
+ await this.triggerUpdateEmbedParams();
23461
23611
  }
23462
23612
  finally {
23463
23613
  setTimeout(resolve, UPDATE_EMBED_PARAMS_SETTLE_MS);
@@ -23492,8 +23642,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23492
23642
  if (this.hostElement) {
23493
23643
  this.insertedDomEl = this.createPreRenderPlaceholder();
23494
23644
  if (this.viewConfig.fullHeight) {
23495
- // If fullHeight has already sized the wrapper, seed the placeholder
23496
- // with the same height so syncPreRenderStyle gets an accurate rect.
23645
+ // If fullHeight has already sized the wrapper, seed the
23646
+ // placeholder with the same height so syncPreRenderStyle gets
23647
+ // an accurate rect.
23497
23648
  const existingHeight = this.preRenderWrapper.style.height;
23498
23649
  if (existingHeight) {
23499
23650
  this.insertedDomEl.style.height = existingHeight;
@@ -23501,12 +23652,13 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23501
23652
  }
23502
23653
  const placeHolderId = this.getPreRenderIds().placeHolder;
23503
23654
  // Remove any stale placeholder from a previous cycle. It is located
23504
- // via a subtree-wide querySelector, so it may be nested deeper than a
23505
- // direct child (E.g.: with fullHeight the host app can wrap it). Use
23506
- // Element.remove() — which detaches from whatever the real parent is —
23507
- // rather than hostElement.removeChild(), which throws NotFoundError
23508
- // when the match is not a direct child. Mirrors the wrapper/child
23509
- // cleanup in createPreRenderWrapper()/createPreRenderChild().
23655
+ // via a subtree-wide querySelector, so it may be nested deeper
23656
+ // than a direct child (E.g.: with fullHeight the host app can wrap
23657
+ // it). Use Element.remove() — which detaches from whatever the real
23658
+ // parent is — rather than hostElement.removeChild(), which throws
23659
+ // NotFoundError when the match is not a direct child. Mirrors the
23660
+ // wrapper/child cleanup in
23661
+ // createPreRenderWrapper()/createPreRenderChild().
23510
23662
  (_a = this.hostElement.querySelector(`#${placeHolderId}`)) === null || _a === void 0 ? void 0 : _a.remove();
23511
23663
  this.hostElement.appendChild(this.insertedDomEl);
23512
23664
  this.syncPreRenderStyle();
@@ -23538,7 +23690,8 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23538
23690
  if (this.iFrame) {
23539
23691
  this.setupFullscreenChangeHandler();
23540
23692
  }
23541
- // Last, so everything above still sees the instance being taken over from.
23693
+ // Last, so everything above still sees the instance being taken over
23694
+ // from.
23542
23695
  this.takeOverPreRender();
23543
23696
  return this;
23544
23697
  }
@@ -23793,7 +23946,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23793
23946
  * @param dataSources A list of data source GUIDs
23794
23947
  */
23795
23948
  getIFrameSrc() {
23796
- const queryParams = this.getEmbedParamsObject();
23949
+ const queryParams = this.getUrlQueryParamsObject();
23797
23950
  const path = 'search-bar-embed';
23798
23951
  let query = '';
23799
23952
  const queryParamsString = getQueryParamString(queryParams, true);
@@ -23980,7 +24133,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23980
24133
  }
23981
24134
  getEmbedParams() {
23982
24135
  const { runtimeParameters, runtimeFilters, excludeRuntimeParametersfromURL, excludeRuntimeFiltersfromURL, } = this.viewConfig;
23983
- const queryParams = this.getEmbedParamsObject();
24136
+ const queryParams = this.getUrlQueryParamsObject();
23984
24137
  let query = '';
23985
24138
  const queryParamsString = getQueryParamString(queryParams, true);
23986
24139
  if (queryParamsString) {
@@ -24364,6 +24517,18 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
24364
24517
  starterPrompts,
24365
24518
  },
24366
24519
  };
24520
+ }
24521
+ function buildSpotterAnalystAppInitData(initData, viewConfig) {
24522
+ const { spotterAnalystConfig } = viewConfig;
24523
+ if (!(spotterAnalystConfig === null || spotterAnalystConfig === void 0 ? void 0 : spotterAnalystConfig.analystId))
24524
+ return initData;
24525
+ return {
24526
+ ...initData,
24527
+ embedParams: {
24528
+ ...(initData.embedParams || {}),
24529
+ spotterAnalystConfig,
24530
+ },
24531
+ };
24367
24532
  }
24368
24533
 
24369
24534
  function buildSpotterVizAppInitData(initData, viewConfig) {
@@ -24561,7 +24726,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
24561
24726
  * embedded Liveboard or visualization.
24562
24727
  */
24563
24728
  getEmbedParams() {
24564
- const params = this.getEmbedParamsObject();
24729
+ const params = this.getUrlQueryParamsObject();
24565
24730
  return getQueryParamString(params, true);
24566
24731
  }
24567
24732
  getEmbedParamsObject() {
@@ -24957,8 +25122,9 @@ query GetEurekaVizSnapshots(
24957
25122
  * @summary Liveboard & visualization embed
24958
25123
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
24959
25124
  */
24960
- // Home unmounts the liveboard container, which is how its state gets cleared. The
24961
- // settle window gives the container time to do it before we ask for the liveboard back.
25125
+ // Home unmounts the liveboard container, which is how its state gets cleared.
25126
+ // The settle window gives the container time to do it before we ask for the
25127
+ // liveboard back.
24962
25128
  const HOME_ROUTE = 'home';
24963
25129
  const HOME_SETTLE_MS = 200;
24964
25130
  /**
@@ -25018,7 +25184,7 @@ query GetEurekaVizSnapshots(
25018
25184
  * embedded Liveboard or visualization.
25019
25185
  */
25020
25186
  getEmbedParams() {
25021
- const params = this.getEmbedParamsObject();
25187
+ const params = this.getUrlQueryParamsObject();
25022
25188
  const queryParams = getQueryParamString(params, true);
25023
25189
  return queryParams;
25024
25190
  }
@@ -25256,21 +25422,24 @@ query GetEurekaVizSnapshots(
25256
25422
  }
25257
25423
  beforePrerenderVisible() {
25258
25424
  super.beforePrerenderVisible();
25259
- // Captured before showPreRender() hands the wrapper over to this instance.
25260
- // Itself means a hide/show, not a hand-over, so there is nothing stale to clear.
25425
+ // Captured before showPreRender() hands the wrapper over to this
25426
+ // instance. Itself means a hide/show, not a hand-over, so there is
25427
+ // nothing stale to clear.
25261
25428
  const previous = this.getPreRenderObj();
25262
25429
  const showing = previous === this ? undefined : previous === null || previous === void 0 ? void 0 : previous.currentLiveboardState;
25263
25430
  this.executeAfterEmbedContainerLoaded(async () => {
25264
- // Without this the params callback suspends on its await and Navigate
25265
- // goes out first, so the container loads with the previous config's filters.
25431
+ // Without this the params callback suspends on its await and
25432
+ // Navigate goes out first, so the container loads with the previous
25433
+ // config's filters.
25266
25434
  await this.preRenderParamsApplied;
25267
25435
  if (this.isShowingLiveboardRoute(showing)) {
25268
- // Navigate to the route we are already on is a no-op, so the liveboard
25269
- // keeps its state. Home unmounts the container, which clears it.
25436
+ // Navigate to the route we are already on is a no-op, so the
25437
+ // liveboard keeps its state. Home unmounts the container, which
25438
+ // clears it.
25270
25439
  this.trigger(exports.HostEvent.Navigate, HOME_ROUTE)
25271
25440
  .catch((error) => logger$3.warn('Could not route via home', error));
25272
- // Not awaited above: the container never acks Navigate, so that promise
25273
- // only settles on the 30s trigger timeout.
25441
+ // Not awaited above: the container never acks Navigate, so
25442
+ // that promise only settles on the 30s trigger timeout.
25274
25443
  await new Promise((resolve) => {
25275
25444
  setTimeout(resolve, HOME_SETTLE_MS);
25276
25445
  });
@@ -25284,8 +25453,9 @@ query GetEurekaVizSnapshots(
25284
25453
  };
25285
25454
  });
25286
25455
  }
25287
- // The whole route, not just the liveboard id: the path is built from the viz, tab
25288
- // and view too, so a same-liveboard show onto another tab is a real navigation.
25456
+ // The whole route, not just the liveboard id: the path is built from the
25457
+ // viz, tab and view too, so a same-liveboard show onto another tab is a
25458
+ // real navigation.
25289
25459
  isShowingLiveboardRoute(showing) {
25290
25460
  if (!(showing === null || showing === void 0 ? void 0 : showing.liveboardId))
25291
25461
  return false;
@@ -25787,7 +25957,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
25787
25957
  getIframeSrc() {
25788
25958
  const { sessionId, genNo, acSessionId, acGenNo, convId, messageId, } = this.viewConfig;
25789
25959
  const path = 'conv-assist-answer';
25790
- const queryParams = this.getEmbedParamsObject();
25960
+ const queryParams = this.getUrlQueryParamsObject();
25791
25961
  let query = '';
25792
25962
  const queryParamsString = getQueryParamString(queryParams, true);
25793
25963
  if (queryParamsString) {
@@ -25950,10 +26120,11 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
25950
26120
  const defaultAppInitData = await super.getAppInitData();
25951
26121
  const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
25952
26122
  const shareInitData = buildSpotterShareConversationAppInitData(sidebarInitData, this.viewConfig);
25953
- return buildStarterPromptsAppInitData(shareInitData, this.viewConfig);
26123
+ const starterPromptsInitData = buildStarterPromptsAppInitData(shareInitData, this.viewConfig);
26124
+ return buildSpotterAnalystAppInitData(starterPromptsInitData, this.viewConfig);
25954
26125
  }
25955
26126
  getEmbedParamsObject() {
25956
- const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterAnalystConfig, } = this.viewConfig;
26127
+ const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
25957
26128
  const queryParams = this.getBaseQueryParams();
25958
26129
  queryParams[Param.SpotterEnabled] = true;
25959
26130
  // Boolean params
@@ -25966,7 +26137,6 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
25966
26137
  setParamIfDefined(queryParams, Param.ShowSpotterRadiance, showSpotterRadiance, true);
25967
26138
  setParamIfDefined(queryParams, Param.DefaultQueryMode, defaultQueryMode);
25968
26139
  setParamIfDefined(queryParams, Param.EnableStopAnswerGenerationEmbed, enableStopAnswerGenerationEmbed, true);
25969
- setParamIfDefined(queryParams, Param.AnalystId, spotterAnalystConfig === null || spotterAnalystConfig === void 0 ? void 0 : spotterAnalystConfig.analystId);
25970
26140
  // Handle spotterChatConfig params
25971
26141
  if (spotterChatConfig) {
25972
26142
  const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
@@ -25990,7 +26160,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
25990
26160
  const path = sharedConversationId
25991
26161
  ? `insights/conv-assist/s/${encodeURIComponent(sharedConversationId)}`
25992
26162
  : 'insights/conv-assist';
25993
- const queryParams = this.getEmbedParamsObject();
26163
+ const queryParams = this.getUrlQueryParamsObject();
25994
26164
  let query = '';
25995
26165
  const queryParamsString = getQueryParamString(queryParams, true);
25996
26166
  if (queryParamsString) {