@envive-ai/react-hooks 0.3.6 → 0.3.8

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 (427) hide show
  1. package/dist/application/commerce-api.cjs +2 -2
  2. package/dist/application/commerce-api.js +2 -2
  3. package/dist/application/models/api/userEvent.d.cts +4 -2
  4. package/dist/application/models/api/userEvent.d.ts +4 -2
  5. package/dist/application/models/chatElementDisplayLocationV3.cjs +3 -1
  6. package/dist/application/models/chatElementDisplayLocationV3.d.cts +3 -1
  7. package/dist/application/models/chatElementDisplayLocationV3.d.ts +3 -1
  8. package/dist/application/models/chatElementDisplayLocationV3.js +3 -1
  9. package/dist/application/models/frontendConfigV3.d.cts +2 -2
  10. package/dist/application/models/frontendConfigV3.d.ts +2 -2
  11. package/dist/application/models/graphql/queries/getColorsAndFrontendQuery.cjs +18 -0
  12. package/dist/application/models/graphql/queries/getColorsAndFrontendQuery.js +18 -0
  13. package/dist/application/models/guards/api/isApiFormResponse.cjs +1 -1
  14. package/dist/application/models/guards/api/isApiFormResponse.js +1 -1
  15. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.cjs +1 -1
  16. package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +1 -1
  17. package/dist/application/models/guards/api/isApiOrderResponseAttributes.cjs +1 -1
  18. package/dist/application/models/guards/api/isApiOrderResponseAttributes.js +1 -1
  19. package/dist/application/models/guards/api/isApiProductResponseAttributes.cjs +1 -1
  20. package/dist/application/models/guards/api/isApiProductResponseAttributes.js +1 -1
  21. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.cjs +2 -2
  22. package/dist/application/models/guards/api/isApiQueryTypedEventAttributes.js +2 -2
  23. package/dist/application/models/guards/api/isApiResponse.cjs +1 -1
  24. package/dist/application/models/guards/api/isApiResponse.js +1 -1
  25. package/dist/application/utils/analyticsUtils.cjs +1 -1
  26. package/dist/application/utils/analyticsUtils.js +1 -1
  27. package/dist/application/utils/elementObserver.d.cts +2 -2
  28. package/dist/application/utils/elementObserver.d.ts +2 -2
  29. package/dist/application/utils/widgetTextRequestToApiRequest.cjs +5 -2
  30. package/dist/application/utils/widgetTextRequestToApiRequest.js +5 -2
  31. package/dist/atoms/app/index.cjs +4 -4
  32. package/dist/atoms/app/index.d.cts +7 -7
  33. package/dist/atoms/app/index.d.ts +7 -7
  34. package/dist/atoms/app/index.js +4 -4
  35. package/dist/atoms/chat/chatState.d.cts +18 -18
  36. package/dist/atoms/chat/chatState.d.ts +17 -17
  37. package/dist/atoms/chat/form.d.cts +2 -2
  38. package/dist/atoms/chat/form.d.ts +2 -2
  39. package/dist/atoms/chat/index.cjs +1 -3
  40. package/dist/atoms/chat/index.d.cts +4 -5
  41. package/dist/atoms/chat/index.d.ts +4 -5
  42. package/dist/atoms/chat/index.js +2 -3
  43. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  44. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  45. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  46. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  47. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  48. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  49. package/dist/atoms/chat/replies.cjs +1 -1
  50. package/dist/atoms/chat/replies.d.cts +1 -1
  51. package/dist/atoms/chat/replies.d.ts +3 -3
  52. package/dist/atoms/chat/replies.js +1 -1
  53. package/dist/atoms/chat/suggestions.d.cts +2 -2
  54. package/dist/atoms/chat/suggestions.d.ts +2 -2
  55. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  56. package/dist/atoms/org/customerService.d.cts +6 -6
  57. package/dist/atoms/org/customerService.d.ts +6 -6
  58. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  59. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  60. package/dist/atoms/org/index.cjs +2 -2
  61. package/dist/atoms/org/index.js +2 -2
  62. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  63. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  64. package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
  65. package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
  66. package/dist/atoms/search/chatSearch.cjs +1 -1
  67. package/dist/atoms/search/chatSearch.d.cts +17 -17
  68. package/dist/atoms/search/chatSearch.d.ts +17 -17
  69. package/dist/atoms/search/chatSearch.js +1 -1
  70. package/dist/atoms/search/searchAPI.cjs +1 -1
  71. package/dist/atoms/search/searchAPI.d.cts +13 -13
  72. package/dist/atoms/search/searchAPI.d.ts +13 -13
  73. package/dist/atoms/search/searchAPI.js +1 -1
  74. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  75. package/dist/contexts/amplitudeContext/amplitudeContext.cjs +6 -4
  76. package/dist/contexts/amplitudeContext/amplitudeContext.js +6 -4
  77. package/dist/contexts/enviveContext/enviveContext.cjs +38 -16
  78. package/dist/contexts/enviveContext/enviveContext.d.cts +4 -1
  79. package/dist/contexts/enviveContext/enviveContext.d.ts +4 -1
  80. package/dist/contexts/enviveContext/enviveContext.js +38 -16
  81. package/dist/contexts/enviveContext/types.d.cts +1 -1
  82. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +57 -3
  83. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +6 -1
  84. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +6 -1
  85. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +57 -3
  86. package/dist/contexts/graphqlContext/graphqlContext.cjs +48 -28
  87. package/dist/contexts/graphqlContext/graphqlContext.js +49 -28
  88. package/dist/contexts/graphqlContext/mockV3Config.cjs +62 -49
  89. package/dist/contexts/graphqlContext/mockV3Config.js +21 -8
  90. package/dist/contexts/hardcopyContext/hardcopyContext.cjs +29 -1
  91. package/dist/contexts/hardcopyContext/hardcopyContext.js +29 -1
  92. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +2 -3
  93. package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +2 -3
  94. package/dist/contexts/salesAgentContext/chatAPI.cjs +56 -7
  95. package/dist/contexts/salesAgentContext/chatAPI.d.cts +10 -6
  96. package/dist/contexts/salesAgentContext/chatAPI.d.ts +10 -6
  97. package/dist/contexts/salesAgentContext/chatAPI.js +56 -7
  98. package/dist/contexts/salesAgentContext/formSubmittedUtils.cjs +37 -0
  99. package/dist/contexts/salesAgentContext/formSubmittedUtils.js +36 -0
  100. package/dist/contexts/salesAgentContext/index.d.cts +2 -2
  101. package/dist/contexts/salesAgentContext/index.d.ts +2 -2
  102. package/dist/contexts/salesAgentContext/salesAgentContext.cjs +36 -10
  103. package/dist/contexts/salesAgentContext/salesAgentContext.d.cts +11 -4
  104. package/dist/contexts/salesAgentContext/salesAgentContext.d.ts +11 -4
  105. package/dist/contexts/salesAgentContext/salesAgentContext.js +36 -10
  106. package/dist/contexts/salesAgentContext/salesAgentService.cjs +50 -19
  107. package/dist/contexts/salesAgentContext/salesAgentService.js +50 -19
  108. package/dist/contexts/searchContext/searchContext.cjs +1 -1
  109. package/dist/contexts/searchContext/searchContext.js +1 -1
  110. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  111. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
  112. package/dist/contexts/types.d.cts +1 -1
  113. package/dist/contexts/types.d.ts +1 -1
  114. package/dist/contexts/typesV3.cjs +2 -7
  115. package/dist/contexts/typesV3.d.cts +14 -11
  116. package/dist/contexts/typesV3.d.ts +14 -11
  117. package/dist/contexts/typesV3.js +3 -7
  118. package/dist/contexts/userIdentityContext/userIdentityContext.cjs +22 -30
  119. package/dist/contexts/userIdentityContext/userIdentityContext.d.cts +9 -8
  120. package/dist/contexts/userIdentityContext/userIdentityContext.d.ts +9 -8
  121. package/dist/contexts/userIdentityContext/userIdentityContext.js +22 -30
  122. package/dist/hooks/ElementObserver/useElementObserver.cjs +3 -2
  123. package/dist/hooks/ElementObserver/useElementObserver.js +3 -2
  124. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
  125. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
  126. package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +1 -2
  127. package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +1 -2
  128. package/dist/hooks/Search/useSearch.cjs +2 -2
  129. package/dist/hooks/Search/useSearch.js +2 -2
  130. package/dist/hooks/Search/useSearchInput.cjs +1 -1
  131. package/dist/hooks/Search/useSearchInput.js +1 -1
  132. package/dist/hooks/utils.d.cts +1 -1
  133. package/dist/hooks/utils.d.ts +1 -1
  134. package/dist/mocks/index.cjs +5 -0
  135. package/dist/mocks/index.d.cts +2 -0
  136. package/dist/mocks/index.d.ts +2 -0
  137. package/dist/mocks/index.js +3 -0
  138. package/dist/mocks/salesAgentMockData.cjs +207 -0
  139. package/dist/mocks/salesAgentMockData.d.cts +11 -0
  140. package/dist/mocks/salesAgentMockData.d.ts +11 -0
  141. package/dist/mocks/salesAgentMockData.js +204 -0
  142. package/dist/packages/components-v3/dist/ChatHeader/components/CloseButton.cjs +2 -2
  143. package/dist/packages/components-v3/dist/ChatHeader/components/CloseButton.js +2 -2
  144. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.cjs +2 -2
  145. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.js +2 -2
  146. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetHandleProperties.cjs +18 -18
  147. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetHandleProperties.js +18 -18
  148. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetLayoutProperties.cjs +1 -1
  149. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetLayoutProperties.js +1 -1
  150. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleProperties.cjs +4 -4
  151. package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleProperties.js +4 -4
  152. package/dist/packages/components-v3/dist/ChatPreviewLoading/components/Skeleton.cjs +1 -0
  153. package/dist/packages/components-v3/dist/ChatPreviewLoading/components/Skeleton.js +3 -0
  154. package/dist/packages/components-v3/dist/Container/Container.cjs +19 -3
  155. package/dist/packages/components-v3/dist/Container/Container.js +19 -4
  156. package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.cjs +13 -0
  157. package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.js +11 -1
  158. package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.cjs +13 -0
  159. package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.js +11 -1
  160. package/dist/packages/components-v3/dist/Container/index.cjs +1 -1
  161. package/dist/packages/components-v3/dist/Container/index.js +1 -1
  162. package/dist/packages/components-v3/dist/DesignTokens/components/utils.cjs +16 -0
  163. package/dist/packages/components-v3/dist/DesignTokens/components/utils.js +15 -0
  164. package/dist/packages/components-v3/dist/FloatingButton/FloatingButton.cjs +2 -0
  165. package/dist/packages/components-v3/dist/FloatingButton/FloatingButton.js +4 -0
  166. package/dist/packages/components-v3/dist/FloatingButton/components/Button.cjs +9 -0
  167. package/dist/packages/components-v3/dist/FloatingButton/components/Button.js +10 -0
  168. package/dist/packages/components-v3/dist/FloatingButton/components/Container.cjs +9 -0
  169. package/dist/packages/components-v3/dist/FloatingButton/components/Container.js +10 -0
  170. package/dist/packages/components-v3/dist/FloatingButton/components/Icon.cjs +3 -0
  171. package/dist/packages/components-v3/dist/FloatingButton/components/Icon.js +5 -0
  172. package/dist/packages/components-v3/dist/FloatingButton/components/Wrapper.cjs +9 -0
  173. package/dist/packages/components-v3/dist/FloatingButton/components/Wrapper.js +10 -0
  174. package/dist/packages/components-v3/dist/FloatingButton/components/index.cjs +4 -0
  175. package/dist/packages/components-v3/dist/FloatingButton/components/index.js +6 -0
  176. package/dist/packages/components-v3/dist/FloatingButton/index.cjs +2 -0
  177. package/dist/packages/components-v3/dist/FloatingButton/index.js +4 -0
  178. package/dist/packages/components-v3/dist/FloatingButton/types/types.cjs +17 -0
  179. package/dist/packages/components-v3/dist/FloatingButton/types/types.js +16 -0
  180. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.cjs +3 -3
  181. package/dist/packages/components-v3/dist/ImageGallery/components/Layout.js +3 -3
  182. package/dist/packages/components-v3/dist/PromptButton/PromptButton.cjs +40 -4
  183. package/dist/packages/components-v3/dist/PromptButton/PromptButton.js +40 -5
  184. package/dist/packages/components-v3/dist/PromptButton/components/Icon.cjs +10 -0
  185. package/dist/packages/components-v3/dist/PromptButton/components/Icon.js +8 -1
  186. package/dist/packages/components-v3/dist/PromptButton/components/Label.cjs +18 -1
  187. package/dist/packages/components-v3/dist/PromptButton/components/Label.js +16 -2
  188. package/dist/packages/components-v3/dist/PromptButton/components/Layout.cjs +31 -3
  189. package/dist/packages/components-v3/dist/PromptButton/components/Layout.js +31 -4
  190. package/dist/packages/components-v3/dist/PromptButton/components/Loading.cjs +5 -1
  191. package/dist/packages/components-v3/dist/PromptButton/components/Loading.js +5 -2
  192. package/dist/packages/components-v3/dist/PromptButton/components/index.cjs +16 -4
  193. package/dist/packages/components-v3/dist/PromptButton/components/index.js +15 -5
  194. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBackgroundColorsProperties.cjs +18 -0
  195. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBackgroundColorsProperties.js +18 -0
  196. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.cjs +12 -0
  197. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.js +10 -1
  198. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBorderColorsProperties.cjs +18 -0
  199. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBorderColorsProperties.js +18 -0
  200. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetIconColorsProperties.cjs +32 -0
  201. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetIconColorsProperties.js +32 -0
  202. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.cjs +9 -1
  203. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.js +9 -2
  204. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetTextColorsProperties.cjs +19 -0
  205. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetTextColorsProperties.js +19 -0
  206. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetVariantColorsProperties.cjs +29 -0
  207. package/dist/packages/components-v3/dist/PromptButton/hooks/useGetVariantColorsProperties.js +29 -0
  208. package/dist/packages/components-v3/dist/PromptButton/index.cjs +1 -1
  209. package/dist/packages/components-v3/dist/PromptButton/index.js +1 -1
  210. package/dist/packages/components-v3/dist/PromptButton/utils/functions.cjs +10 -0
  211. package/dist/packages/components-v3/dist/PromptButton/utils/functions.js +10 -0
  212. package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.js +1 -1
  213. package/dist/packages/components-v3/dist/SocialProof/SocialProof.cjs +10 -0
  214. package/dist/packages/components-v3/dist/SocialProof/SocialProof.js +12 -0
  215. package/dist/packages/components-v3/dist/SocialProof/components/Headline.cjs +53 -0
  216. package/dist/packages/components-v3/dist/SocialProof/components/Headline.js +54 -0
  217. package/dist/packages/components-v3/dist/SocialProof/components/ImageGallery.cjs +5 -0
  218. package/dist/packages/components-v3/dist/SocialProof/components/ImageGallery.js +7 -0
  219. package/dist/packages/components-v3/dist/SocialProof/components/LayoutFourGrid.cjs +6 -0
  220. package/dist/packages/components-v3/dist/SocialProof/components/LayoutFourGrid.js +8 -0
  221. package/dist/packages/components-v3/dist/SocialProof/components/LayoutFourHorizontal.cjs +16 -0
  222. package/dist/packages/components-v3/dist/SocialProof/components/LayoutFourHorizontal.js +17 -0
  223. package/dist/packages/components-v3/dist/SocialProof/components/LayoutSingle.cjs +8 -0
  224. package/dist/packages/components-v3/dist/SocialProof/components/LayoutSingle.js +10 -0
  225. package/dist/packages/components-v3/dist/SocialProof/components/Skeleton.cjs +1 -0
  226. package/dist/packages/components-v3/dist/SocialProof/components/Skeleton.js +3 -0
  227. package/dist/packages/components-v3/dist/SocialProof/components/Subheadline.cjs +8 -0
  228. package/dist/packages/components-v3/dist/SocialProof/components/Subheadline.js +10 -0
  229. package/dist/packages/components-v3/dist/SocialProof/components/Textfield.cjs +3 -0
  230. package/dist/packages/components-v3/dist/SocialProof/components/Textfield.js +5 -0
  231. package/dist/packages/components-v3/dist/SocialProof/components/index.cjs +8 -0
  232. package/dist/packages/components-v3/dist/SocialProof/components/index.js +10 -0
  233. package/dist/packages/components-v3/dist/SocialProof/hooks/index.cjs +1 -0
  234. package/dist/packages/components-v3/dist/SocialProof/hooks/index.js +3 -0
  235. package/dist/packages/components-v3/dist/SocialProof/hooks/useSocialProofCount.cjs +1 -0
  236. package/dist/packages/components-v3/dist/SocialProof/hooks/useSocialProofCount.js +3 -0
  237. package/dist/packages/components-v3/dist/SocialProof/index.cjs +4 -0
  238. package/dist/packages/components-v3/dist/SocialProof/index.js +6 -0
  239. package/dist/packages/components-v3/dist/SocialProof/types/types.cjs +11 -0
  240. package/dist/packages/components-v3/dist/SocialProof/types/types.js +10 -0
  241. package/dist/packages/components-v3/dist/SocialProof/utils/functions.cjs +1 -0
  242. package/dist/packages/components-v3/dist/SocialProof/utils/functions.js +3 -0
  243. package/dist/packages/components-v3/dist/Title/Title.cjs +11 -0
  244. package/dist/packages/components-v3/dist/Title/Title.js +12 -0
  245. package/dist/packages/components-v3/dist/Title/components/Image.cjs +2 -0
  246. package/dist/packages/components-v3/dist/Title/components/Image.js +4 -0
  247. package/dist/packages/components-v3/dist/Title/components/Label.cjs +3 -0
  248. package/dist/packages/components-v3/dist/Title/components/Label.js +5 -0
  249. package/dist/packages/components-v3/dist/Title/components/Layout.cjs +11 -0
  250. package/dist/packages/components-v3/dist/Title/components/Layout.js +12 -0
  251. package/dist/packages/components-v3/dist/Title/components/index.cjs +3 -0
  252. package/dist/packages/components-v3/dist/Title/components/index.js +5 -0
  253. package/dist/packages/components-v3/dist/Title/index.cjs +1 -0
  254. package/dist/packages/components-v3/dist/Title/index.js +3 -0
  255. package/dist/packages/components-v3/dist/Tokens/index.cjs +11 -11
  256. package/dist/packages/components-v3/dist/Tokens/index.js +11 -11
  257. package/dist/packages/components-v3/dist/Typography/Typography.cjs +35 -7
  258. package/dist/packages/components-v3/dist/Typography/Typography.js +35 -8
  259. package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.cjs +30 -0
  260. package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.js +28 -1
  261. package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.cjs +19 -0
  262. package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.js +17 -1
  263. package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.cjs +20 -0
  264. package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.js +18 -1
  265. package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.cjs +12 -0
  266. package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.js +10 -1
  267. package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.cjs +21 -0
  268. package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.js +19 -1
  269. package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.cjs +61 -0
  270. package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.js +59 -1
  271. package/dist/packages/components-v3/dist/Typography/index.cjs +2 -1
  272. package/dist/packages/components-v3/dist/Typography/index.js +2 -1
  273. package/dist/packages/components-v3/dist/Typography/types/index.cjs +47 -0
  274. package/dist/packages/components-v3/dist/Typography/types/index.js +44 -0
  275. package/dist/packages/components-v3/dist/Typography/utils/utils.cjs +12 -0
  276. package/dist/packages/components-v3/dist/Typography/utils/utils.js +10 -0
  277. package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.cjs +1 -1
  278. package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.js +1 -1
  279. package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.cjs +1 -1
  280. package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.js +1 -1
  281. package/dist/packages/components-v3/dist/WelcomeMessage/types/types.cjs +2 -2
  282. package/dist/packages/components-v3/dist/WelcomeMessage/types/types.js +2 -2
  283. package/dist/packages/components-v3/dist/WidgetTextField/WidgetTextField.cjs +2 -0
  284. package/dist/packages/components-v3/dist/WidgetTextField/WidgetTextField.js +4 -0
  285. package/dist/packages/components-v3/dist/WidgetTextField/components/Container.cjs +14 -0
  286. package/dist/packages/components-v3/dist/WidgetTextField/components/Container.js +15 -0
  287. package/dist/packages/components-v3/dist/WidgetTextField/components/FakeTextInput.cjs +3 -0
  288. package/dist/packages/components-v3/dist/WidgetTextField/components/FakeTextInput.js +5 -0
  289. package/dist/packages/components-v3/dist/WidgetTextField/components/Icon.cjs +7 -0
  290. package/dist/packages/components-v3/dist/WidgetTextField/components/Icon.js +9 -0
  291. package/dist/packages/components-v3/dist/WidgetTextField/components/Skeleton.cjs +10 -0
  292. package/dist/packages/components-v3/dist/WidgetTextField/components/Skeleton.js +11 -0
  293. package/dist/packages/components-v3/dist/WidgetTextField/components/index.cjs +4 -0
  294. package/dist/packages/components-v3/dist/WidgetTextField/components/index.js +6 -0
  295. package/dist/packages/components-v3/dist/WidgetTextField/hooks/useGetContainerProperties.cjs +1 -0
  296. package/dist/packages/components-v3/dist/WidgetTextField/hooks/useGetContainerProperties.js +3 -0
  297. package/dist/packages/components-v3/dist/WidgetTextField/index.cjs +1 -0
  298. package/dist/packages/components-v3/dist/WidgetTextField/index.js +3 -0
  299. package/dist/packages/components-v3/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.cjs +8 -0
  300. package/dist/packages/components-v3/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.js +10 -0
  301. package/dist/packages/components-v3/dist/packages/components-v3/src/models/colorsConfig.cjs +26 -0
  302. package/dist/packages/components-v3/dist/packages/components-v3/src/models/colorsConfig.js +25 -0
  303. package/dist/packages/components-v3/dist/packages/components-v3/tokens/aspectRatio/aspectRatio.cjs +16 -0
  304. package/dist/packages/components-v3/dist/packages/components-v3/tokens/aspectRatio/aspectRatio.js +17 -0
  305. package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.cjs +25 -0
  306. package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.js +23 -0
  307. package/dist/packages/components-v3/dist/packages/components-v3/tokens/colors/colors.cjs +51 -0
  308. package/dist/packages/components-v3/dist/packages/components-v3/tokens/colors/colors.js +51 -0
  309. package/dist/packages/components-v3/dist/packages/components-v3/tokens/radius/radius.cjs +64 -0
  310. package/dist/packages/components-v3/dist/packages/components-v3/tokens/radius/radius.js +65 -0
  311. package/dist/packages/components-v3/dist/packages/components-v3/tokens/theme/theme.cjs +18 -0
  312. package/dist/packages/components-v3/dist/packages/components-v3/tokens/theme/theme.js +16 -0
  313. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontFamily.cjs +25 -0
  314. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontFamily.js +25 -0
  315. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontSize.cjs +37 -0
  316. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontSize.js +38 -0
  317. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontWeight.cjs +17 -0
  318. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontWeight.js +18 -0
  319. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/letterSpacing.cjs +15 -0
  320. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/letterSpacing.js +16 -0
  321. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/lineHeight.cjs +31 -0
  322. package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/lineHeight.js +32 -0
  323. package/dist/packages/components-v3/dist/packages/components-v3/tokens/utils.cjs +7 -0
  324. package/dist/packages/components-v3/dist/packages/components-v3/tokens/utils.js +6 -0
  325. package/dist/packages/components-v3/dist/utils/CustomIcon.cjs +2 -0
  326. package/dist/packages/components-v3/dist/utils/CustomIcon.js +4 -0
  327. package/dist/packages/components-v3/dist/utils/resolveTheme.cjs +13 -0
  328. package/dist/packages/components-v3/dist/utils/resolveTheme.js +13 -0
  329. package/dist/packages/components-v3/dist/utils/useGetContentSize.cjs +1 -0
  330. package/dist/packages/components-v3/dist/utils/useGetContentSize.js +3 -0
  331. package/dist/packages/components-v3/dist/utils/useResponsiveValue.cjs +2 -2
  332. package/dist/packages/components-v3/dist/utils/useResponsiveValue.js +2 -2
  333. package/dist/packages/icons/dist/FourPointStar.cjs +16 -1
  334. package/dist/packages/icons/dist/FourPointStar.js +16 -2
  335. package/dist/packages/icons/dist/MagnifyingGlass.cjs +8 -0
  336. package/dist/packages/icons/dist/MagnifyingGlass.js +9 -0
  337. package/dist/packages/icons/dist/MagnifyingThin.cjs +8 -0
  338. package/dist/packages/icons/dist/MagnifyingThin.js +9 -0
  339. package/dist/packages/icons/dist/SendMinimalist.cjs +8 -0
  340. package/dist/packages/icons/dist/SendMinimalist.js +9 -0
  341. package/dist/packages/icons/dist/SendModern.cjs +8 -0
  342. package/dist/packages/icons/dist/SendModern.js +9 -0
  343. package/dist/packages/icons/dist/SendStandard.cjs +8 -0
  344. package/dist/packages/icons/dist/SendStandard.js +9 -0
  345. package/dist/services/amplitudeService/amplitudeService.cjs +36 -8
  346. package/dist/services/amplitudeService/amplitudeService.d.cts +11 -3
  347. package/dist/services/amplitudeService/amplitudeService.d.ts +11 -3
  348. package/dist/services/amplitudeService/amplitudeService.js +36 -8
  349. package/dist/services/userIdentityService/index.cjs +3 -0
  350. package/dist/services/userIdentityService/index.d.cts +2 -0
  351. package/dist/services/userIdentityService/index.d.ts +2 -0
  352. package/dist/services/userIdentityService/index.js +3 -0
  353. package/dist/services/userIdentityService/userIdentityService.cjs +49 -0
  354. package/dist/services/userIdentityService/userIdentityService.d.cts +19 -0
  355. package/dist/services/userIdentityService/userIdentityService.d.ts +19 -0
  356. package/dist/services/userIdentityService/userIdentityService.js +48 -0
  357. package/package.json +14 -5
  358. package/src/application/models/api/userEvent.ts +3 -1
  359. package/src/application/models/chatElementDisplayLocationV3.ts +2 -0
  360. package/src/application/models/frontendConfigV3.ts +1 -1
  361. package/src/application/models/graphql/queries/getColorsAndFrontendQuery.ts +13 -0
  362. package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +6 -1
  363. package/src/application/utils/widgetTextRequestToApiRequest.ts +5 -5
  364. package/src/atoms/app/index.ts +9 -7
  365. package/src/atoms/chat/index.ts +0 -1
  366. package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +47 -66
  367. package/src/contexts/amplitudeContext/amplitudeContext.tsx +4 -1
  368. package/src/contexts/enviveContext/enviveContext.tsx +47 -6
  369. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +101 -2
  370. package/src/contexts/graphqlContext/graphqlContext.tsx +42 -42
  371. package/src/contexts/graphqlContext/mockV3Config.ts +18 -6
  372. package/src/contexts/hardcopyContext/hardcopyContext.tsx +29 -0
  373. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +0 -1
  374. package/src/contexts/salesAgentContext/chatAPI.ts +56 -10
  375. package/src/contexts/salesAgentContext/formSubmittedUtils.ts +57 -0
  376. package/src/contexts/salesAgentContext/salesAgentContext.tsx +66 -9
  377. package/src/contexts/salesAgentContext/salesAgentService.ts +42 -11
  378. package/src/contexts/searchContext/__tests__/searchContext.test.tsx +3 -1
  379. package/src/contexts/typesV3.ts +16 -14
  380. package/src/contexts/uiConfigContext/__tests__/uiConfigContext.test.tsx +3 -2
  381. package/src/contexts/userIdentityContext/__tests__/userIdentityContext.test.tsx +18 -131
  382. package/src/contexts/userIdentityContext/userIdentityContext.tsx +47 -42
  383. package/src/hooks/ElementObserver/useElementObserver.ts +2 -1
  384. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +0 -1
  385. package/src/hooks/Search/__tests__/useSearch.test.tsx +11 -1
  386. package/src/mocks/index.ts +1 -0
  387. package/src/mocks/salesAgentMockData.ts +247 -0
  388. package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +17 -15
  389. package/src/services/amplitudeService/amplitudeService.ts +50 -10
  390. package/src/services/userIdentityService/index.ts +1 -0
  391. package/src/services/userIdentityService/userIdentityService.ts +64 -0
  392. package/dist/contexts/featureFlagContext/featureFlagContext.cjs +0 -105
  393. package/dist/contexts/featureFlagContext/featureFlagContext.d.cts +0 -19
  394. package/dist/contexts/featureFlagContext/featureFlagContext.d.ts +0 -19
  395. package/dist/contexts/featureFlagContext/featureFlagContext.js +0 -102
  396. package/dist/contexts/featureFlagContext/index.cjs +0 -4
  397. package/dist/contexts/featureFlagContext/index.d.cts +0 -2
  398. package/dist/contexts/featureFlagContext/index.d.ts +0 -2
  399. package/dist/contexts/featureFlagContext/index.js +0 -3
  400. package/dist/packages/components-v3/dist/src/models/colorsConfig.cjs +0 -26
  401. package/dist/packages/components-v3/dist/src/models/colorsConfig.js +0 -25
  402. package/dist/packages/components-v3/dist/tokens/aspectRatio/aspectRatio.cjs +0 -16
  403. package/dist/packages/components-v3/dist/tokens/aspectRatio/aspectRatio.js +0 -17
  404. package/dist/packages/components-v3/dist/tokens/breakpoints/breakpoints.cjs +0 -25
  405. package/dist/packages/components-v3/dist/tokens/breakpoints/breakpoints.js +0 -23
  406. package/dist/packages/components-v3/dist/tokens/colors/colors.cjs +0 -51
  407. package/dist/packages/components-v3/dist/tokens/colors/colors.js +0 -51
  408. package/dist/packages/components-v3/dist/tokens/radius/radius.cjs +0 -64
  409. package/dist/packages/components-v3/dist/tokens/radius/radius.js +0 -65
  410. package/dist/packages/components-v3/dist/tokens/theme/theme.cjs +0 -13
  411. package/dist/packages/components-v3/dist/tokens/theme/theme.js +0 -12
  412. package/dist/packages/components-v3/dist/tokens/typography/fontFamily.cjs +0 -25
  413. package/dist/packages/components-v3/dist/tokens/typography/fontFamily.js +0 -25
  414. package/dist/packages/components-v3/dist/tokens/typography/fontSize.cjs +0 -37
  415. package/dist/packages/components-v3/dist/tokens/typography/fontSize.js +0 -38
  416. package/dist/packages/components-v3/dist/tokens/typography/fontWeight.cjs +0 -17
  417. package/dist/packages/components-v3/dist/tokens/typography/fontWeight.js +0 -18
  418. package/dist/packages/components-v3/dist/tokens/typography/letterSpacing.cjs +0 -15
  419. package/dist/packages/components-v3/dist/tokens/typography/letterSpacing.js +0 -16
  420. package/dist/packages/components-v3/dist/tokens/typography/lineHeight.cjs +0 -31
  421. package/dist/packages/components-v3/dist/tokens/typography/lineHeight.js +0 -32
  422. package/dist/packages/components-v3/dist/tokens/utils.cjs +0 -7
  423. package/dist/packages/components-v3/dist/tokens/utils.js +0 -6
  424. package/src/contexts/featureFlagContext/featureFlagContext.tsx +0 -180
  425. package/src/contexts/featureFlagContext/index.ts +0 -1
  426. /package/dist/packages/components-v3/dist/{tokens → packages/components-v3/tokens}/typography/typography.cjs +0 -0
  427. /package/dist/packages/components-v3/dist/{tokens → packages/components-v3/tokens}/typography/typography.js +0 -0
@@ -1,4 +1,4 @@
1
- import { UserEvent as UserEvent$1 } from "../../application/models/api/userEvent.js";
1
+ import { FormSubmittedAttributes as FormSubmittedAttributes$1, UserEvent as UserEvent$1 } from "../../application/models/api/userEvent.js";
2
2
  import { Suggestion as Suggestion$1 } from "../../application/models/api/suggestion.js";
3
3
  import { PageVisitCategory } from "@spiffy-ai/commerce-api-client";
4
4
 
@@ -12,11 +12,13 @@ interface SalesAgentChatAPI {
12
12
  logUserEvent: (event: UserEvent$1) => void;
13
13
  onSuggestionClicked: (suggestion: Suggestion$1) => void;
14
14
  onTypedMessageSubmitted: ({
15
- query
15
+ query,
16
+ userTyped
16
17
  }: {
17
18
  query: string;
19
+ userTyped: boolean;
18
20
  }) => void;
19
- onFormResponseSubmitted: (formResponse: any) => void;
21
+ onFormResponseSubmitted: (formResponse: FormSubmittedAttributes$1) => void;
20
22
  }
21
23
  declare const useSalesAgentChatAPI: () => {
22
24
  logPageVisit: ({
@@ -27,12 +29,14 @@ declare const useSalesAgentChatAPI: () => {
27
29
  logUserEvent: (event: UserEvent$1) => void;
28
30
  onSuggestionClicked: (suggestion: Suggestion$1) => void;
29
31
  onTypedMessageSubmitted: ({
30
- query
32
+ query,
33
+ userTyped
31
34
  }: {
32
35
  query: string;
36
+ userTyped: boolean;
33
37
  }) => void;
34
- onFormResponseSubmitted: () => void;
38
+ onFormResponseSubmitted: (form: FormSubmittedAttributes$1) => void;
35
39
  };
36
40
  //#endregion
37
41
  export { SalesAgentChatAPI, useSalesAgentChatAPI };
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9jaGF0QVBJLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbiwgVXNlckV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgICBsb2dQYWdlVmlzaXQ6ICh7IHBhZ2VWaXNpdENhdGVnb3J5IH06IHtcbiAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5O1xuICAgIH0pID0+IHZvaWQ7XG4gICAgbG9nVXNlckV2ZW50OiAoZXZlbnQ6IFVzZXJFdmVudCkgPT4gdm9pZDtcbiAgICBvblN1Z2dlc3Rpb25DbGlja2VkOiAoc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbikgPT4gdm9pZDtcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZDogKHsgcXVlcnkgfToge1xuICAgICAgICBxdWVyeTogc3RyaW5nO1xuICAgIH0pID0+IHZvaWQ7XG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtUmVzcG9uc2U6IGFueSkgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZVNhbGVzQWdlbnRDaGF0QVBJOiAoKSA9PiB7XG4gICAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7XG4gICAgICAgIHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeTtcbiAgICB9KSA9PiB2b2lkO1xuICAgIGxvZ1VzZXJFdmVudDogKGV2ZW50OiBVc2VyRXZlbnQpID0+IHZvaWQ7XG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZDogKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24pID0+IHZvaWQ7XG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7IHF1ZXJ5IH06IHtcbiAgICAgICAgcXVlcnk6IHN0cmluZztcbiAgICB9KSA9PiB2b2lkO1xuICAgIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkOiAoKSA9PiB2b2lkO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxJQUFXLG9CQUFvQjtDQUFDO09BQUc7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25DLElBQVcsdUJBQXVCO0NBQUM7T0FBTztPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9jaGF0QVBJLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMsIFN1Z2dlc3Rpb24sIFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50Q2hhdEFQSSB7XG4gICAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7XG4gICAgICAgIHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeTtcbiAgICB9KSA9PiB2b2lkO1xuICAgIGxvZ1VzZXJFdmVudDogKGV2ZW50OiBVc2VyRXZlbnQpID0+IHZvaWQ7XG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZDogKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24pID0+IHZvaWQ7XG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7IHF1ZXJ5LCB1c2VyVHlwZWQgfToge1xuICAgICAgICBxdWVyeTogc3RyaW5nO1xuICAgICAgICB1c2VyVHlwZWQ6IGJvb2xlYW47XG4gICAgfSkgPT4gdm9pZDtcbiAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZDogKGZvcm1SZXNwb25zZTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VTYWxlc0FnZW50Q2hhdEFQSTogKCkgPT4ge1xuICAgIGxvZ1BhZ2VWaXNpdDogKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfToge1xuICAgICAgICBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG4gICAgfSkgPT4gdm9pZDtcbiAgICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQ6IChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uKSA9PiB2b2lkO1xuICAgIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkOiAoeyBxdWVyeSwgdXNlclR5cGVkIH06IHtcbiAgICAgICAgcXVlcnk6IHN0cmluZztcbiAgICAgICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgIH0pID0+IHZvaWQ7XG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4gdm9pZDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyxvQkFBb0I7Q0FBQztPQUFHO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkMsSUFBVyx1QkFBdUI7Q0FBQztPQUFPO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
@@ -1,4 +1,11 @@
1
+ import { MessageRole, MessageType } from "../../application/models/message.js";
2
+ import "../../application/models/index.js";
3
+ import { SpiffyMetricsEventName } from "../../services/amplitudeService/amplitudeService.js";
4
+ import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
5
+ import "../amplitudeContext/index.js";
6
+ import { formSubmitAtom, replyEventCategoryAtom } from "../../atoms/chat/chatState.js";
1
7
  import { queueUserEventAtom } from "../../atoms/chat/messageQueue.js";
8
+ import "../../atoms/chat/index.js";
2
9
  import { UserEventCategory } from "@spiffy-ai/commerce-api-client";
3
10
  import { v4 } from "uuid";
4
11
  import { useCallback } from "react";
@@ -7,6 +14,9 @@ import { useSetAtom } from "jotai";
7
14
  //#region src/contexts/salesAgentContext/chatAPI.ts
8
15
  const useSalesAgentChatAPI = () => {
9
16
  const queueUserEvent = useSetAtom(queueUserEventAtom);
17
+ const setReplyEventCategory = useSetAtom(replyEventCategoryAtom);
18
+ const setFormSubmit = useSetAtom(formSubmitAtom);
19
+ const { trackEvent } = useAmplitude();
10
20
  return {
11
21
  logPageVisit: useCallback(({ pageVisitCategory }) => {
12
22
  queueUserEvent({
@@ -23,6 +33,13 @@ const useSalesAgentChatAPI = () => {
23
33
  queueUserEvent(event);
24
34
  }, [queueUserEvent]),
25
35
  onSuggestionClicked: useCallback((suggestion) => {
36
+ trackEvent({
37
+ eventName: SpiffyMetricsEventName.ChatSuggestionClicked,
38
+ eventProps: {
39
+ suggestionId: suggestion.id,
40
+ content: suggestion.content
41
+ }
42
+ });
26
43
  queueUserEvent({
27
44
  eventId: v4(),
28
45
  category: UserEventCategory.SuggestionClicked,
@@ -32,19 +49,51 @@ const useSalesAgentChatAPI = () => {
32
49
  content: suggestion.content
33
50
  }
34
51
  });
35
- }, [queueUserEvent]),
36
- onTypedMessageSubmitted: useCallback(({ query }) => {
52
+ }, [queueUserEvent, trackEvent]),
53
+ onTypedMessageSubmitted: useCallback(({ query, userTyped }) => {
54
+ const eventId = v4();
55
+ trackEvent({
56
+ eventName: SpiffyMetricsEventName.ChatUserMessageInput,
57
+ eventProps: {
58
+ query,
59
+ user_typed: userTyped,
60
+ message_id: eventId,
61
+ message_role: MessageRole.User,
62
+ message_type: MessageType.QueryTyped,
63
+ message_metadata: {
64
+ content: query,
65
+ created_at: (/* @__PURE__ */ new Date()).toISOString(),
66
+ user_typed: userTyped
67
+ }
68
+ }
69
+ });
37
70
  queueUserEvent({
38
- eventId: v4(),
71
+ eventId,
39
72
  category: UserEventCategory.QueryTyped,
40
73
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
41
- attributes: { query }
74
+ attributes: {
75
+ query,
76
+ userTyped
77
+ }
42
78
  });
43
- }, [queueUserEvent]),
44
- onFormResponseSubmitted: useCallback(() => {}, [])
79
+ }, [queueUserEvent, trackEvent]),
80
+ onFormResponseSubmitted: useCallback((form) => {
81
+ setReplyEventCategory(UserEventCategory.FormSubmitted);
82
+ setFormSubmit(form);
83
+ queueUserEvent({
84
+ eventId: v4(),
85
+ category: UserEventCategory.FormSubmitted,
86
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
87
+ attributes: form
88
+ });
89
+ }, [
90
+ queueUserEvent,
91
+ setReplyEventCategory,
92
+ setFormSubmit
93
+ ])
45
94
  };
46
95
  };
47
96
 
48
97
  //#endregion
49
98
  export { useSalesAgentChatAPI };
50
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5qcyIsIm5hbWVzIjpbInV1aWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvY2hhdEFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGNvbXBvbmVudCB3aWxsIGludGVyYWN0IHdpdGggdGhlIGJhY2tlbmQgQVBJIHRvIGdldCB0aGUgcmVzcG9uc2VzIGZyb20gdGhlIHNhbGVzIGFnZW50LlxuXG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbiwgVXNlckV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyB1c2VTZXRBdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBxdWV1ZVVzZXJFdmVudEF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdC9tZXNzYWdlUXVldWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7IHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeSB9KSA9PiB2b2lkO1xuICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICBvblN1Z2dlc3Rpb25DbGlja2VkOiAoc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbikgPT4gdm9pZDtcbiAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7IHF1ZXJ5IH06IHsgcXVlcnk6IHN0cmluZyB9KSA9PiB2b2lkO1xuICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZDogKGZvcm1SZXNwb25zZTogYW55KSA9PiB2b2lkOyAvLyBUT0RPOiBGaWd1cmUgb3V0IHRoZSByaWdodCB0eXBlXG59XG5cbmV4cG9ydCBjb25zdCB1c2VTYWxlc0FnZW50Q2hhdEFQSSA9ICgpID0+IHtcbiAgLy8gVE9ETzogRWFjaCBvZiB0aGVzZSBmdW5jdGlvbnMgd2lsbCB0cmlnZ2VyIGJvdGggdGhlIG5lY2Vzc2FyeSBhbXBsaXR1ZGUgZXZlbnRzIGFuZCBpbml0aWF0ZSB0aGVcbiAgLy8gbmVjZXNzYXJ5IGFjdGlvbnMgdG8gdHJpZ2dlciB0aGUgYmFja2VuZCBBUElcbiAgY29uc3QgcXVldWVVc2VyRXZlbnQgPSB1c2VTZXRBdG9tKHF1ZXVlVXNlckV2ZW50QXRvbSk7XG5cbiAgY29uc3QgbG9nUGFnZVZpc2l0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfTogeyBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkgfSkgPT4ge1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZDogdXVpZCgpLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50XSxcbiAgKTtcblxuICBjb25zdCBsb2dVc2VyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFVzZXJFdmVudCkgPT4ge1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50XSxcbiAgKTtcbiAgY29uc3Qgb25TdWdnZXN0aW9uQ2xpY2tlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkOiB1dWlkKCksXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBzdWdnZXN0aW9uSWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgY29udGVudDogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtxdWV1ZVVzZXJFdmVudF0sXG4gICk7XG4gIGNvbnN0IG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgcXVlcnkgfTogeyBxdWVyeTogc3RyaW5nIH0pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQ6IHV1aWQoKSxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgcXVlcnksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50XSxcbiAgKTtcbiAgY29uc3Qgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgLy8gVE9ETzogSW1wbGVtZW50IHRoZSBmb3JtIHJlc3BvbnNlIHN1Ym1pdHRlZFxuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHtcbiAgICBsb2dQYWdlVmlzaXQsXG4gICAgbG9nVXNlckV2ZW50LFxuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQsXG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQsXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBaUJBLE1BQWEsNkJBQTZCO0NBR3hDLE1BQU0saUJBQWlCLFdBQVcsbUJBQW1CO0FBeURyRCxRQUFPO0VBQ0wsY0F4RG1CLGFBQ2xCLEVBQUUsd0JBQWtFO0FBVW5FLGtCQVR5QjtJQUN2QixTQUFTQSxJQUFNO0lBQ2YsVUFBVSxrQkFBa0I7SUFDNUIsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtJQUNuQyxZQUFZO0tBQ1YsS0FBSyxPQUFPLFNBQVM7S0FDckI7S0FDRDtJQUNGLENBQ29CO0tBRXZCLENBQUMsZUFBZSxDQUNqQjtFQTJDQyxjQXpDbUIsYUFDbEIsVUFBcUI7QUFDcEIsa0JBQWUsTUFBTTtLQUV2QixDQUFDLGVBQWUsQ0FDakI7RUFxQ0MscUJBcEMwQixhQUN6QixlQUEyQjtBQVUxQixrQkFUeUI7SUFDdkIsU0FBU0EsSUFBTTtJQUNmLFVBQVUsa0JBQWtCO0lBQzVCLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7SUFDbkMsWUFBWTtLQUNWLGNBQWMsV0FBVztLQUN6QixTQUFTLFdBQVc7S0FDckI7SUFDRixDQUNvQjtLQUV2QixDQUFDLGVBQWUsQ0FDakI7RUF1QkMseUJBdEI4QixhQUM3QixFQUFFLFlBQStCO0FBU2hDLGtCQVJ5QjtJQUN2QixTQUFTQSxJQUFNO0lBQ2YsVUFBVSxrQkFBa0I7SUFDNUIsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtJQUNuQyxZQUFZLEVBQ1YsT0FDRDtJQUNGLENBQ29CO0tBRXZCLENBQUMsZUFBZSxDQUNqQjtFQVVDLHlCQVQ4QixrQkFBa0IsSUFFL0MsRUFBRSxDQUFDO0VBUUwifQ==
99
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5qcyIsIm5hbWVzIjpbInV1aWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvY2hhdEFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGNvbXBvbmVudCB3aWxsIGludGVyYWN0IHdpdGggdGhlIGJhY2tlbmQgQVBJIHRvIGdldCB0aGUgcmVzcG9uc2VzIGZyb20gdGhlIHNhbGVzIGFnZW50LlxuXG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHtcbiAgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMsXG4gIE1lc3NhZ2VSb2xlLFxuICBNZXNzYWdlVHlwZSxcbiAgU3VnZ2VzdGlvbixcbiAgVXNlckV2ZW50LFxufSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IGZvcm1TdWJtaXRBdG9tLCByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQvbWVzc2FnZVF1ZXVlJztcbmltcG9ydCB7IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsIHVzZUFtcGxpdHVkZSB9IGZyb20gJy4uL2FtcGxpdHVkZUNvbnRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7IHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeSB9KSA9PiB2b2lkO1xuICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICBvblN1Z2dlc3Rpb25DbGlja2VkOiAoc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbikgPT4gdm9pZDtcbiAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7IHF1ZXJ5LCB1c2VyVHlwZWQgfTogeyBxdWVyeTogc3RyaW5nOyB1c2VyVHlwZWQ6IGJvb2xlYW4gfSkgPT4gdm9pZDtcbiAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtUmVzcG9uc2U6IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudENoYXRBUEkgPSAoKSA9PiB7XG4gIC8vIFRPRE86IEVhY2ggb2YgdGhlc2UgZnVuY3Rpb25zIHdpbGwgdHJpZ2dlciBib3RoIHRoZSBuZWNlc3NhcnkgYW1wbGl0dWRlIGV2ZW50cyBhbmQgaW5pdGlhdGUgdGhlXG4gIC8vIG5lY2Vzc2FyeSBhY3Rpb25zIHRvIHRyaWdnZXIgdGhlIGJhY2tlbmQgQVBJXG4gIGNvbnN0IHF1ZXVlVXNlckV2ZW50ID0gdXNlU2V0QXRvbShxdWV1ZVVzZXJFdmVudEF0b20pO1xuICBjb25zdCBzZXRSZXBseUV2ZW50Q2F0ZWdvcnkgPSB1c2VTZXRBdG9tKHJlcGx5RXZlbnRDYXRlZ29yeUF0b20pO1xuICBjb25zdCBzZXRGb3JtU3VibWl0ID0gdXNlU2V0QXRvbShmb3JtU3VibWl0QXRvbSk7XG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cbiAgY29uc3QgbG9nUGFnZVZpc2l0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfTogeyBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkgfSkgPT4ge1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZDogdXVpZCgpLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50XSxcbiAgKTtcblxuICBjb25zdCBsb2dVc2VyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFVzZXJFdmVudCkgPT4ge1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50XSxcbiAgKTtcbiAgY29uc3Qgb25TdWdnZXN0aW9uQ2xpY2tlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uKSA9PiB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRTdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIHN1Z2dlc3Rpb25JZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICBjb250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQ6IHV1aWQoKSxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHN1Z2dlc3Rpb25JZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICBjb250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50LCB0cmFja0V2ZW50XSxcbiAgKTtcbiAgY29uc3Qgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoeyBxdWVyeSwgdXNlclR5cGVkIH06IHsgcXVlcnk6IHN0cmluZzsgdXNlclR5cGVkOiBib29sZWFuIH0pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRVc2VyTWVzc2FnZUlucHV0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgcXVlcnksXG4gICAgICAgICAgdXNlcl90eXBlZDogdXNlclR5cGVkLFxuICAgICAgICAgIG1lc3NhZ2VfaWQ6IGV2ZW50SWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgIG1lc3NhZ2VfdHlwZTogTWVzc2FnZVR5cGUuUXVlcnlUeXBlZCxcbiAgICAgICAgICBtZXNzYWdlX21ldGFkYXRhOiB7XG4gICAgICAgICAgICBjb250ZW50OiBxdWVyeSxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIHVzZXJfdHlwZWQ6IHVzZXJUeXBlZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUXVlcnlUeXBlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICB1c2VyVHlwZWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50LCB0cmFja0V2ZW50XSxcbiAgKTtcbiAgY29uc3Qgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgICAgIHNldFJlcGx5RXZlbnRDYXRlZ29yeShVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkKTtcbiAgICAgIHNldEZvcm1TdWJtaXQoZm9ybSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkOiB1dWlkKCksXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczogZm9ybSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIHNldFJlcGx5RXZlbnRDYXRlZ29yeSwgc2V0Rm9ybVN1Ym1pdF0sXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBsb2dQYWdlVmlzaXQsXG4gICAgbG9nVXNlckV2ZW50LFxuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQsXG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQsXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQXlCQSxNQUFhLDZCQUE2QjtDQUd4QyxNQUFNLGlCQUFpQixXQUFXLG1CQUFtQjtDQUNyRCxNQUFNLHdCQUF3QixXQUFXLHVCQUF1QjtDQUNoRSxNQUFNLGdCQUFnQixXQUFXLGVBQWU7Q0FDaEQsTUFBTSxFQUFFLGVBQWUsY0FBYztBQTRGckMsUUFBTztFQUNMLGNBM0ZtQixhQUNsQixFQUFFLHdCQUFrRTtBQVVuRSxrQkFUeUI7SUFDdkIsU0FBU0EsSUFBTTtJQUNmLFVBQVUsa0JBQWtCO0lBQzVCLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7SUFDbkMsWUFBWTtLQUNWLEtBQUssT0FBTyxTQUFTO0tBQ3JCO0tBQ0Q7SUFDRixDQUNvQjtLQUV2QixDQUFDLGVBQWUsQ0FDakI7RUE4RUMsY0E1RW1CLGFBQ2xCLFVBQXFCO0FBQ3BCLGtCQUFlLE1BQU07S0FFdkIsQ0FBQyxlQUFlLENBQ2pCO0VBd0VDLHFCQXZFMEIsYUFDekIsZUFBMkI7QUFDMUIsY0FBVztJQUNULFdBQVcsdUJBQXVCO0lBQ2xDLFlBQVk7S0FDVixjQUFjLFdBQVc7S0FDekIsU0FBUyxXQUFXO0tBQ3JCO0lBQ0YsQ0FBQztBQVVGLGtCQVR5QjtJQUN2QixTQUFTQSxJQUFNO0lBQ2YsVUFBVSxrQkFBa0I7SUFDNUIsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtJQUNuQyxZQUFZO0tBQ1YsY0FBYyxXQUFXO0tBQ3pCLFNBQVMsV0FBVztLQUNyQjtJQUNGLENBQ29CO0tBRXZCLENBQUMsZ0JBQWdCLFdBQVcsQ0FDN0I7RUFtREMseUJBbEQ4QixhQUM3QixFQUFFLE9BQU8sZ0JBQXVEO0dBQy9ELE1BQU0sVUFBVUEsSUFBTTtBQUN0QixjQUFXO0lBQ1QsV0FBVyx1QkFBdUI7SUFDbEMsWUFBWTtLQUNWO0tBQ0EsWUFBWTtLQUNaLFlBQVk7S0FDWixjQUFjLFlBQVk7S0FDMUIsY0FBYyxZQUFZO0tBQzFCLGtCQUFrQjtNQUNoQixTQUFTO01BQ1QsNkJBQVksSUFBSSxNQUFNLEVBQUMsYUFBYTtNQUNwQyxZQUFZO01BQ2I7S0FDRjtJQUNGLENBQUM7QUFVRixrQkFUeUI7SUFDdkI7SUFDQSxVQUFVLGtCQUFrQjtJQUM1Qiw0QkFBVyxJQUFJLE1BQU0sRUFBQyxhQUFhO0lBQ25DLFlBQVk7S0FDVjtLQUNBO0tBQ0Q7SUFDRixDQUNvQjtLQUV2QixDQUFDLGdCQUFnQixXQUFXLENBQzdCO0VBcUJDLHlCQXBCOEIsYUFDN0IsU0FBa0M7QUFDakMseUJBQXNCLGtCQUFrQixjQUFjO0FBQ3RELGlCQUFjLEtBQUs7QUFPbkIsa0JBTnlCO0lBQ3ZCLFNBQVNBLElBQU07SUFDZixVQUFVLGtCQUFrQjtJQUM1Qiw0QkFBVyxJQUFJLE1BQU0sRUFBQyxhQUFhO0lBQ25DLFlBQVk7SUFDYixDQUNvQjtLQUV2QjtHQUFDO0dBQWdCO0dBQXVCO0dBQWMsQ0FDdkQ7RUFRQSJ9
@@ -0,0 +1,37 @@
1
+ const require_message = require('../../application/models/message.cjs');
2
+
3
+ //#region src/contexts/salesAgentContext/formSubmittedUtils.ts
4
+ /**
5
+ * Searches the chat history for the form message by form response ID and builds the display string for the form.
6
+ */
7
+ const buildFormSubmittedDisplayContent = (messages, formResponseId, filledSchema) => {
8
+ let formFields = [];
9
+ for (const turn of messages) {
10
+ for (const msg of turn) if (msg.type === require_message.MessageType.Form && msg.id === formResponseId && msg.metadata && "fields" in msg.metadata && Array.isArray(msg.metadata.fields)) {
11
+ formFields = msg.metadata.fields.map((field) => ({
12
+ key: field.key,
13
+ title: field.title
14
+ }));
15
+ break;
16
+ }
17
+ if (formFields.length > 0) break;
18
+ }
19
+ return formFields.length > 0 ? formFields.map(({ key, title }) => `${title}: ${filledSchema[key] ?? ""}`).join("\n") : Object.entries(filledSchema).map(([key, value]) => `${key}: ${value}`).join("\n");
20
+ };
21
+ /**
22
+ * Creates a user message representing a submitted form for display in the chat.
23
+ */
24
+ const createFormSubmittedUserMessage = (userEvent, formSubmittedContent) => {
25
+ return {
26
+ id: userEvent.eventId,
27
+ role: require_message.MessageRole.User,
28
+ type: require_message.MessageType.QueryTyped,
29
+ createdAt: userEvent.createdAt,
30
+ metadata: { content: formSubmittedContent }
31
+ };
32
+ };
33
+
34
+ //#endregion
35
+ exports.buildFormSubmittedDisplayContent = buildFormSubmittedDisplayContent;
36
+ exports.createFormSubmittedUserMessage = createFormSubmittedUserMessage;
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybVN1Ym1pdHRlZFV0aWxzLmNqcyIsIm5hbWVzIjpbImZvcm1GaWVsZHM6IHsga2V5OiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVtdIiwiTWVzc2FnZVR5cGUiLCJNZXNzYWdlUm9sZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9mb3JtU3VibWl0dGVkVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZVJvbGUsIE1lc3NhZ2VUeXBlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9tZXNzYWdlJztcbmltcG9ydCB7IFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuXG4vKipcbiAqIFNlYXJjaGVzIHRoZSBjaGF0IGhpc3RvcnkgZm9yIHRoZSBmb3JtIG1lc3NhZ2UgYnkgZm9ybSByZXNwb25zZSBJRCBhbmQgYnVpbGRzIHRoZSBkaXNwbGF5IHN0cmluZyBmb3IgdGhlIGZvcm0uXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEZvcm1TdWJtaXR0ZWREaXNwbGF5Q29udGVudCA9IChcbiAgbWVzc2FnZXM6IE1lc3NhZ2VbXVtdLFxuICBmb3JtUmVzcG9uc2VJZDogc3RyaW5nLFxuICBmaWxsZWRTY2hlbWE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuKTogc3RyaW5nID0+IHtcbiAgbGV0IGZvcm1GaWVsZHM6IHsga2V5OiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVtdID0gW107XG4gIC8vIEZpbmQgdGhlIGZvcm0gbWVzc2FnZSBpbiB0aGUgY2hhdCBoaXN0b3J5XG4gIGZvciAoY29uc3QgdHVybiBvZiBtZXNzYWdlcykge1xuICAgIGZvciAoY29uc3QgbXNnIG9mIHR1cm4pIHtcbiAgICAgIGlmIChcbiAgICAgICAgbXNnLnR5cGUgPT09IE1lc3NhZ2VUeXBlLkZvcm0gJiZcbiAgICAgICAgbXNnLmlkID09PSBmb3JtUmVzcG9uc2VJZCAmJlxuICAgICAgICBtc2cubWV0YWRhdGEgJiZcbiAgICAgICAgJ2ZpZWxkcycgaW4gbXNnLm1ldGFkYXRhICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkobXNnLm1ldGFkYXRhLmZpZWxkcylcbiAgICAgICkge1xuICAgICAgICBmb3JtRmllbGRzID0gbXNnLm1ldGFkYXRhLmZpZWxkcy5tYXAoKGZpZWxkOiB7IGtleTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0pID0+ICh7XG4gICAgICAgICAga2V5OiBmaWVsZC5rZXksXG4gICAgICAgICAgdGl0bGU6IGZpZWxkLnRpdGxlLFxuICAgICAgICB9KSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZm9ybUZpZWxkcy5sZW5ndGggPiAwKSBicmVhaztcbiAgfVxuICAvLyBCdWlsZCB0aGUgZGlzcGxheSBzdHJpbmcgZm9yIHRoZSBmb3JtXG4gIGNvbnN0IGZvcm1TdHJpbmdDb250ZW50ID1cbiAgICBmb3JtRmllbGRzLmxlbmd0aCA+IDBcbiAgICAgID8gZm9ybUZpZWxkcy5tYXAoKHsga2V5LCB0aXRsZSB9KSA9PiBgJHt0aXRsZX06ICR7ZmlsbGVkU2NoZW1hW2tleV0gPz8gJyd9YCkuam9pbignXFxuJylcbiAgICAgIDogT2JqZWN0LmVudHJpZXMoZmlsbGVkU2NoZW1hKVxuICAgICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fTogJHt2YWx1ZX1gKVxuICAgICAgICAgIC5qb2luKCdcXG4nKTtcbiAgcmV0dXJuIGZvcm1TdHJpbmdDb250ZW50O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgdXNlciBtZXNzYWdlIHJlcHJlc2VudGluZyBhIHN1Ym1pdHRlZCBmb3JtIGZvciBkaXNwbGF5IGluIHRoZSBjaGF0LlxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlRm9ybVN1Ym1pdHRlZFVzZXJNZXNzYWdlID0gKFxuICB1c2VyRXZlbnQ6IFVzZXJFdmVudCxcbiAgZm9ybVN1Ym1pdHRlZENvbnRlbnQ6IHN0cmluZyxcbik6IE1lc3NhZ2UgPT4ge1xuICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgIGlkOiB1c2VyRXZlbnQuZXZlbnRJZCxcbiAgICByb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlF1ZXJ5VHlwZWQsXG4gICAgY3JlYXRlZEF0OiB1c2VyRXZlbnQuY3JlYXRlZEF0LFxuICAgIG1ldGFkYXRhOiB7IGNvbnRlbnQ6IGZvcm1TdWJtaXR0ZWRDb250ZW50IH0sXG4gIH07XG4gIHJldHVybiBuZXdNZXNzYWdlO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUEsTUFBYSxvQ0FDWCxVQUNBLGdCQUNBLGlCQUNXO0NBQ1gsSUFBSUEsYUFBK0MsRUFBRTtBQUVyRCxNQUFLLE1BQU0sUUFBUSxVQUFVO0FBQzNCLE9BQUssTUFBTSxPQUFPLEtBQ2hCLEtBQ0UsSUFBSSxTQUFTQyw0QkFBWSxRQUN6QixJQUFJLE9BQU8sa0JBQ1gsSUFBSSxZQUNKLFlBQVksSUFBSSxZQUNoQixNQUFNLFFBQVEsSUFBSSxTQUFTLE9BQU8sRUFDbEM7QUFDQSxnQkFBYSxJQUFJLFNBQVMsT0FBTyxLQUFLLFdBQTJDO0lBQy9FLEtBQUssTUFBTTtJQUNYLE9BQU8sTUFBTTtJQUNkLEVBQUU7QUFDSDs7QUFHSixNQUFJLFdBQVcsU0FBUyxFQUFHOztBQVM3QixRQUxFLFdBQVcsU0FBUyxJQUNoQixXQUFXLEtBQUssRUFBRSxLQUFLLFlBQVksR0FBRyxNQUFNLElBQUksYUFBYSxRQUFRLEtBQUssQ0FBQyxLQUFLLEtBQUssR0FDckYsT0FBTyxRQUFRLGFBQWEsQ0FDekIsS0FBSyxDQUFDLEtBQUssV0FBVyxHQUFHLElBQUksSUFBSSxRQUFRLENBQ3pDLEtBQUssS0FBSzs7Ozs7QUFPckIsTUFBYSxrQ0FDWCxXQUNBLHlCQUNZO0FBUVosUUFQNEI7RUFDMUIsSUFBSSxVQUFVO0VBQ2QsTUFBTUMsNEJBQVk7RUFDbEIsTUFBTUQsNEJBQVk7RUFDbEIsV0FBVyxVQUFVO0VBQ3JCLFVBQVUsRUFBRSxTQUFTLHNCQUFzQjtFQUM1QyJ9
@@ -0,0 +1,36 @@
1
+ import { MessageRole, MessageType } from "../../application/models/message.js";
2
+
3
+ //#region src/contexts/salesAgentContext/formSubmittedUtils.ts
4
+ /**
5
+ * Searches the chat history for the form message by form response ID and builds the display string for the form.
6
+ */
7
+ const buildFormSubmittedDisplayContent = (messages, formResponseId, filledSchema) => {
8
+ let formFields = [];
9
+ for (const turn of messages) {
10
+ for (const msg of turn) if (msg.type === MessageType.Form && msg.id === formResponseId && msg.metadata && "fields" in msg.metadata && Array.isArray(msg.metadata.fields)) {
11
+ formFields = msg.metadata.fields.map((field) => ({
12
+ key: field.key,
13
+ title: field.title
14
+ }));
15
+ break;
16
+ }
17
+ if (formFields.length > 0) break;
18
+ }
19
+ return formFields.length > 0 ? formFields.map(({ key, title }) => `${title}: ${filledSchema[key] ?? ""}`).join("\n") : Object.entries(filledSchema).map(([key, value]) => `${key}: ${value}`).join("\n");
20
+ };
21
+ /**
22
+ * Creates a user message representing a submitted form for display in the chat.
23
+ */
24
+ const createFormSubmittedUserMessage = (userEvent, formSubmittedContent) => {
25
+ return {
26
+ id: userEvent.eventId,
27
+ role: MessageRole.User,
28
+ type: MessageType.QueryTyped,
29
+ createdAt: userEvent.createdAt,
30
+ metadata: { content: formSubmittedContent }
31
+ };
32
+ };
33
+
34
+ //#endregion
35
+ export { buildFormSubmittedDisplayContent, createFormSubmittedUserMessage };
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybVN1Ym1pdHRlZFV0aWxzLmpzIiwibmFtZXMiOlsiZm9ybUZpZWxkczogeyBrZXk6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9W10iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvZm9ybVN1Ym1pdHRlZFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VSb2xlLCBNZXNzYWdlVHlwZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbWVzc2FnZSc7XG5pbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcblxuLyoqXG4gKiBTZWFyY2hlcyB0aGUgY2hhdCBoaXN0b3J5IGZvciB0aGUgZm9ybSBtZXNzYWdlIGJ5IGZvcm0gcmVzcG9uc2UgSUQgYW5kIGJ1aWxkcyB0aGUgZGlzcGxheSBzdHJpbmcgZm9yIHRoZSBmb3JtLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRGb3JtU3VibWl0dGVkRGlzcGxheUNvbnRlbnQgPSAoXG4gIG1lc3NhZ2VzOiBNZXNzYWdlW11bXSxcbiAgZm9ybVJlc3BvbnNlSWQ6IHN0cmluZyxcbiAgZmlsbGVkU2NoZW1hOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbik6IHN0cmluZyA9PiB7XG4gIGxldCBmb3JtRmllbGRzOiB7IGtleTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH1bXSA9IFtdO1xuICAvLyBGaW5kIHRoZSBmb3JtIG1lc3NhZ2UgaW4gdGhlIGNoYXQgaGlzdG9yeVxuICBmb3IgKGNvbnN0IHR1cm4gb2YgbWVzc2FnZXMpIHtcbiAgICBmb3IgKGNvbnN0IG1zZyBvZiB0dXJuKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG1zZy50eXBlID09PSBNZXNzYWdlVHlwZS5Gb3JtICYmXG4gICAgICAgIG1zZy5pZCA9PT0gZm9ybVJlc3BvbnNlSWQgJiZcbiAgICAgICAgbXNnLm1ldGFkYXRhICYmXG4gICAgICAgICdmaWVsZHMnIGluIG1zZy5tZXRhZGF0YSAmJlxuICAgICAgICBBcnJheS5pc0FycmF5KG1zZy5tZXRhZGF0YS5maWVsZHMpXG4gICAgICApIHtcbiAgICAgICAgZm9ybUZpZWxkcyA9IG1zZy5tZXRhZGF0YS5maWVsZHMubWFwKChmaWVsZDogeyBrZXk6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9KSA9PiAoe1xuICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgIHRpdGxlOiBmaWVsZC50aXRsZSxcbiAgICAgICAgfSkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGZvcm1GaWVsZHMubGVuZ3RoID4gMCkgYnJlYWs7XG4gIH1cbiAgLy8gQnVpbGQgdGhlIGRpc3BsYXkgc3RyaW5nIGZvciB0aGUgZm9ybVxuICBjb25zdCBmb3JtU3RyaW5nQ29udGVudCA9XG4gICAgZm9ybUZpZWxkcy5sZW5ndGggPiAwXG4gICAgICA/IGZvcm1GaWVsZHMubWFwKCh7IGtleSwgdGl0bGUgfSkgPT4gYCR7dGl0bGV9OiAke2ZpbGxlZFNjaGVtYVtrZXldID8/ICcnfWApLmpvaW4oJ1xcbicpXG4gICAgICA6IE9iamVjdC5lbnRyaWVzKGZpbGxlZFNjaGVtYSlcbiAgICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX06ICR7dmFsdWV9YClcbiAgICAgICAgICAuam9pbignXFxuJyk7XG4gIHJldHVybiBmb3JtU3RyaW5nQ29udGVudDtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHVzZXIgbWVzc2FnZSByZXByZXNlbnRpbmcgYSBzdWJtaXR0ZWQgZm9ybSBmb3IgZGlzcGxheSBpbiB0aGUgY2hhdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUZvcm1TdWJtaXR0ZWRVc2VyTWVzc2FnZSA9IChcbiAgdXNlckV2ZW50OiBVc2VyRXZlbnQsXG4gIGZvcm1TdWJtaXR0ZWRDb250ZW50OiBzdHJpbmcsXG4pOiBNZXNzYWdlID0+IHtcbiAgY29uc3QgbmV3TWVzc2FnZTogTWVzc2FnZSA9IHtcbiAgICBpZDogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkLFxuICAgIGNyZWF0ZWRBdDogdXNlckV2ZW50LmNyZWF0ZWRBdCxcbiAgICBtZXRhZGF0YTogeyBjb250ZW50OiBmb3JtU3VibWl0dGVkQ29udGVudCB9LFxuICB9O1xuICByZXR1cm4gbmV3TWVzc2FnZTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQU1BLE1BQWEsb0NBQ1gsVUFDQSxnQkFDQSxpQkFDVztDQUNYLElBQUlBLGFBQStDLEVBQUU7QUFFckQsTUFBSyxNQUFNLFFBQVEsVUFBVTtBQUMzQixPQUFLLE1BQU0sT0FBTyxLQUNoQixLQUNFLElBQUksU0FBUyxZQUFZLFFBQ3pCLElBQUksT0FBTyxrQkFDWCxJQUFJLFlBQ0osWUFBWSxJQUFJLFlBQ2hCLE1BQU0sUUFBUSxJQUFJLFNBQVMsT0FBTyxFQUNsQztBQUNBLGdCQUFhLElBQUksU0FBUyxPQUFPLEtBQUssV0FBMkM7SUFDL0UsS0FBSyxNQUFNO0lBQ1gsT0FBTyxNQUFNO0lBQ2QsRUFBRTtBQUNIOztBQUdKLE1BQUksV0FBVyxTQUFTLEVBQUc7O0FBUzdCLFFBTEUsV0FBVyxTQUFTLElBQ2hCLFdBQVcsS0FBSyxFQUFFLEtBQUssWUFBWSxHQUFHLE1BQU0sSUFBSSxhQUFhLFFBQVEsS0FBSyxDQUFDLEtBQUssS0FBSyxHQUNyRixPQUFPLFFBQVEsYUFBYSxDQUN6QixLQUFLLENBQUMsS0FBSyxXQUFXLEdBQUcsSUFBSSxJQUFJLFFBQVEsQ0FDekMsS0FBSyxLQUFLOzs7OztBQU9yQixNQUFhLGtDQUNYLFdBQ0EseUJBQ1k7QUFRWixRQVA0QjtFQUMxQixJQUFJLFVBQVU7RUFDZCxNQUFNLFlBQVk7RUFDbEIsTUFBTSxZQUFZO0VBQ2xCLFdBQVcsVUFBVTtFQUNyQixVQUFVLEVBQUUsU0FBUyxzQkFBc0I7RUFDNUMifQ==
@@ -1,4 +1,4 @@
1
1
  import { SalesAgentChatAPI, useSalesAgentChatAPI } from "./chatAPI.cjs";
2
- import { SalesAgent, SalesAgentProvider, useSalesAgent } from "./salesAgentContext.cjs";
2
+ import { MockSalesAgentData, SalesAgent, SalesAgentProvider, SalesAgentProviderProps, useSalesAgent } from "./salesAgentContext.cjs";
3
3
  import { PageVisitCategory, SuggestionCategory } from "@spiffy-ai/commerce-api-client";
4
- export { PageVisitCategory, SalesAgent, SalesAgentChatAPI, SalesAgentProvider, SuggestionCategory, useSalesAgent, useSalesAgentChatAPI };
4
+ export { MockSalesAgentData, PageVisitCategory, SalesAgent, SalesAgentChatAPI, SalesAgentProvider, SalesAgentProviderProps, SuggestionCategory, useSalesAgent, useSalesAgentChatAPI };
@@ -1,4 +1,4 @@
1
1
  import { SalesAgentChatAPI, useSalesAgentChatAPI } from "./chatAPI.js";
2
- import { SalesAgent, SalesAgentProvider, useSalesAgent } from "./salesAgentContext.js";
2
+ import { MockSalesAgentData, SalesAgent, SalesAgentProvider, SalesAgentProviderProps, useSalesAgent } from "./salesAgentContext.js";
3
3
  import { PageVisitCategory, SuggestionCategory } from "@spiffy-ai/commerce-api-client";
4
- export { PageVisitCategory, SalesAgent, SalesAgentChatAPI, SalesAgentProvider, SuggestionCategory, useSalesAgent, useSalesAgentChatAPI };
4
+ export { MockSalesAgentData, PageVisitCategory, SalesAgent, SalesAgentChatAPI, SalesAgentProvider, SalesAgentProviderProps, SuggestionCategory, useSalesAgent, useSalesAgentChatAPI };
@@ -1,9 +1,11 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
2
  const require_message = require('../../application/models/message.cjs');
3
+ const require_logger = require('../../application/logging/logger.cjs');
3
4
  const require_atoms_chat_chatState = require('../../atoms/chat/chatState.cjs');
4
5
  const require_messageQueue = require('../../atoms/chat/messageQueue.cjs');
5
6
  const require_useSystemSettingsContext = require('../../hooks/SystemSettingsContext/useSystemSettingsContext.cjs');
6
7
  require('../../hooks/SystemSettingsContext/index.cjs');
8
+ const require_formSubmittedUtils = require('./formSubmittedUtils.cjs');
7
9
  const require_chatAPI = require('./chatAPI.cjs');
8
10
  const require_salesAgentService = require('./salesAgentService.cjs');
9
11
  let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
@@ -13,32 +15,43 @@ let react_jsx_runtime = require("react/jsx-runtime");
13
15
 
14
16
  //#region src/contexts/salesAgentContext/salesAgentContext.tsx
15
17
  const SalesAgentContext = (0, react.createContext)(void 0);
16
- const SalesAgentProvider = ({ children }) => {
18
+ const SalesAgentProvider = ({ children, previewMode = false, mockData }) => {
17
19
  const userEvents = (0, jotai.useAtomValue)(require_messageQueue.userEventQueueAtom);
18
20
  const userQueueEventCount = (0, jotai.useAtomValue)(require_messageQueue.userQueueEventCountAtom);
19
21
  const markUserEventsProcessed = (0, jotai.useSetAtom)(require_messageQueue.processUserEventAtom);
20
22
  const [isInitialized, setIsInitialized] = (0, jotai.useAtom)(require_atoms_chat_chatState.initializedAtom);
21
23
  const settingsContext = require_useSystemSettingsContext.useSystemSettingsContext();
22
24
  const setMessages = (0, jotai.useSetAtom)(require_atoms_chat_chatState.messagesAtom);
25
+ const setSuggestions = (0, jotai.useSetAtom)(require_atoms_chat_chatState.suggestionsAtom);
23
26
  const { getStreamingResponses, createResponsePayload, getSuggestions, hydrateMessages } = require_salesAgentService.useSalesAgentService();
27
+ (0, react.useEffect)(() => {
28
+ if (previewMode && mockData) {
29
+ if (mockData.messages) setMessages(mockData.messages);
30
+ if (mockData.suggestions) setSuggestions(mockData.suggestions);
31
+ setIsInitialized(true);
32
+ }
33
+ }, [
34
+ previewMode,
35
+ mockData,
36
+ setMessages,
37
+ setSuggestions,
38
+ setIsInitialized
39
+ ]);
24
40
  const sendMessagesToBackend = (0, react.useCallback)(async (requestPayload) => {
25
41
  try {
26
- const response = await getStreamingResponses(requestPayload);
42
+ await getStreamingResponses(requestPayload);
27
43
  setIsInitialized(true);
28
- console.log("response", response);
29
44
  requestPayload.userEvents?.map((userEvent) => markUserEventsProcessed([userEvent.eventId]));
30
45
  } catch (error) {
31
- console.error("error sending message");
46
+ require_logger.default.logError("[envive-ai] error sending message", error);
32
47
  }
33
48
  }, [
34
49
  getStreamingResponses,
35
50
  setIsInitialized,
36
51
  markUserEventsProcessed
37
52
  ]);
38
- console.log("userQueueEventCount", userQueueEventCount);
39
- console.log("userEvents", userEvents);
40
53
  (0, react.useEffect)(() => {
41
- console.log("SalesAgentProvider useEffect", userQueueEventCount, isInitialized, userEvents);
54
+ if (previewMode) return;
42
55
  if (userQueueEventCount > 0) {
43
56
  const payloadEvents = userEvents.slice(0, userQueueEventCount);
44
57
  payloadEvents.forEach((userEvent) => {
@@ -62,6 +75,13 @@ const SalesAgentProvider = ({ children }) => {
62
75
  };
63
76
  setMessages((current) => [...current, [newMessage]]);
64
77
  }
78
+ if (userEvent && userEvent.category === __spiffy_ai_commerce_api_client.UserEventCategory.FormSubmitted) {
79
+ const { formResponseId, filledSchema } = userEvent.attributes;
80
+ setMessages((prevMessagesState) => {
81
+ const newUserMessage = require_formSubmittedUtils.createFormSubmittedUserMessage(userEvent, require_formSubmittedUtils.buildFormSubmittedDisplayContent(prevMessagesState, formResponseId, filledSchema));
82
+ return [...prevMessagesState.map((turn) => turn.filter((msg) => !(msg.type === require_message.MessageType.Form && msg.id === formResponseId))).filter((turn) => turn.length > 0), [newUserMessage]];
83
+ });
84
+ }
65
85
  });
66
86
  sendMessagesToBackend(createResponsePayload({
67
87
  userEvents: payloadEvents,
@@ -79,11 +99,17 @@ const SalesAgentProvider = ({ children }) => {
79
99
  sendMessagesToBackend,
80
100
  settingsContext.generationParams,
81
101
  userEvents,
82
- userQueueEventCount
102
+ userQueueEventCount,
103
+ previewMode
83
104
  ]);
84
105
  (0, react.useEffect)(() => {
106
+ if (previewMode) return;
85
107
  if (isInitialized) hydrateMessages();
86
- }, [isInitialized, hydrateMessages]);
108
+ }, [
109
+ isInitialized,
110
+ hydrateMessages,
111
+ previewMode
112
+ ]);
87
113
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SalesAgentContext.Provider, {
88
114
  value: void 0,
89
115
  children
@@ -129,4 +155,4 @@ const useSalesAgent = () => {
129
155
  //#endregion
130
156
  exports.SalesAgentProvider = SalesAgentProvider;
131
157
  exports.useSalesAgent = useSalesAgent;
132
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudENvbnRleHQuY2pzIiwibmFtZXMiOlsiU2FsZXNBZ2VudFByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfT4iLCJ1c2VyRXZlbnRRdWV1ZUF0b20iLCJ1c2VyUXVldWVFdmVudENvdW50QXRvbSIsInByb2Nlc3NVc2VyRXZlbnRBdG9tIiwiaW5pdGlhbGl6ZWRBdG9tIiwidXNlU3lzdGVtU2V0dGluZ3NDb250ZXh0IiwibWVzc2FnZXNBdG9tIiwidXNlU2FsZXNBZ2VudFNlcnZpY2UiLCJVc2VyRXZlbnRDYXRlZ29yeSIsIm5ld01lc3NhZ2U6IE1lc3NhZ2UiLCJNZXNzYWdlUm9sZSIsIk1lc3NhZ2VUeXBlIiwic3VnZ2VzdGlvbnNBdG9tIiwicmVzcG9uc2VTdHJlYW1pbmdBdG9tIiwicGVuZGluZ1Jlc3BvbnNlQXRvbSIsInVzZVNhbGVzQWdlbnRDaGF0QVBJIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3NhbGVzQWdlbnRDb250ZXh0L3NhbGVzQWdlbnRDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBSZWFjdE5vZGUsIGNyZWF0ZUNvbnRleHQsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlUm9sZSwgTWVzc2FnZVR5cGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL21lc3NhZ2UnO1xuaW1wb3J0IHsgTmV4dE1lc3NhZ2VSZXF1ZXN0LCBTdWdnZXN0aW9uLCBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7XG4gIGluaXRpYWxpemVkQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICBwZW5kaW5nUmVzcG9uc2VBdG9tLFxuICByZXNwb25zZVN0cmVhbWluZ0F0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQvY2hhdFN0YXRlJztcbmltcG9ydCB7XG4gIHByb2Nlc3NVc2VyRXZlbnRBdG9tLFxuICB1c2VyRXZlbnRRdWV1ZUF0b20sXG4gIHVzZXJRdWV1ZUV2ZW50Q291bnRBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvY2hhdC9tZXNzYWdlUXVldWUnO1xuaW1wb3J0IHsgdXNlU3lzdGVtU2V0dGluZ3NDb250ZXh0IH0gZnJvbSAnc3JjL2hvb2tzL1N5c3RlbVNldHRpbmdzQ29udGV4dCc7XG5pbXBvcnQgeyBTYWxlc0FnZW50Q2hhdEFQSSwgdXNlU2FsZXNBZ2VudENoYXRBUEkgfSBmcm9tICcuL2NoYXRBUEknO1xuaW1wb3J0IHsgdXNlU2FsZXNBZ2VudFNlcnZpY2UgfSBmcm9tICcuL3NhbGVzQWdlbnRTZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50IGV4dGVuZHMgU2FsZXNBZ2VudENoYXRBUEkge1xuICAvLyBNZXNzYWdlcyBhcmUgdGhlIGZ1bGwgbGlzdCBvZiBhbGwgdHVybnNcbiAgbWVzc2FnZXM6IE1lc3NhZ2VbXVtdO1xuICAvLyBQZW5kaW5nIG1lc3NhZ2VzIGFyZSBtZXNzYWdlcyB0aGF0IHRoZSB1c2VyIGhhcyBjbGlja2VkL3R5cGVkIGJ1dCBoYXZlIG5vdCB5ZXQgYmVlbiBzZW50IHRvIHRoZSBiYWNrZW5kLlxuICBwZW5kaW5nTWVzc2FnZXM6IFVzZXJFdmVudFtdO1xuICAvLyBTdWdnZXN0aW9ucyBhcmUgdGhlIGxpc3Qgb2Ygc3VnZ2VzdGlvbnMgdGhhdCB0aGUgdXNlciBjYW4gY2xpY2sgb24gaW4gcmVzcG9uc2UgdG8gdGhlIG1vc3QgcmVjZW50IG1lc3NhZ2UgZnJvbSB0aGUgYmFja2VuZFxuICBzdWdnZXN0aW9uczogU3VnZ2VzdGlvbltdO1xuICAvLyBUcnVlIHdoaWxlIHRoZSByZXNwb25zZSBpcyBzdHJlYW1pbmcgZnJvbSB0aGUgYmFja2VuZFxuICBpc1Jlc3BvbnNlU3RyZWFtaW5nOiBib29sZWFuO1xuICAvLyBUcnVlIHdoaWxlIHRoZSByZXNwb25zZSBpcyBwZW5kaW5nIGZyb20gdGhlIGJhY2tlbmRcbiAgaXNQZW5kaW5nUmVzcG9uc2U6IGJvb2xlYW47XG4gIC8vIFRydWUgd2hlbiB0aGUgc2FsZXMgYWdlbnQgaXMgaW5pdGlhbGl6ZWRcbiAgaXNJbml0aWFsaXplZDogYm9vbGVhbjtcbn1cblxuY29uc3QgU2FsZXNBZ2VudENvbnRleHQgPSBjcmVhdGVDb250ZXh0PFNhbGVzQWdlbnQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBTYWxlc0FnZW50UHJvdmlkZXI6IFJlYWN0LkZDPHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9PiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgdXNlckV2ZW50cyA9IHVzZUF0b21WYWx1ZSh1c2VyRXZlbnRRdWV1ZUF0b20pO1xuICBjb25zdCB1c2VyUXVldWVFdmVudENvdW50ID0gdXNlQXRvbVZhbHVlKHVzZXJRdWV1ZUV2ZW50Q291bnRBdG9tKTtcbiAgY29uc3QgbWFya1VzZXJFdmVudHNQcm9jZXNzZWQgPSB1c2VTZXRBdG9tKHByb2Nlc3NVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3QgW2lzSW5pdGlhbGl6ZWQsIHNldElzSW5pdGlhbGl6ZWRdID0gdXNlQXRvbShpbml0aWFsaXplZEF0b20pO1xuICBjb25zdCBzZXR0aW5nc0NvbnRleHQgPSB1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQoKTtcbiAgY29uc3Qgc2V0TWVzc2FnZXMgPSB1c2VTZXRBdG9tKG1lc3NhZ2VzQXRvbSk7XG5cbiAgY29uc3QgeyBnZXRTdHJlYW1pbmdSZXNwb25zZXMsIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCwgZ2V0U3VnZ2VzdGlvbnMsIGh5ZHJhdGVNZXNzYWdlcyB9ID1cbiAgICB1c2VTYWxlc0FnZW50U2VydmljZSgpO1xuXG4gIC8vIFRPRE86IEVuc3VyZSB0aGF0IGFtcGxpdHVkZSBldmVudHMgYXJlIGJlaW5nIGVtaXR0ZWRcblxuICAvLyBUT0RPOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHN0cmVhbWluZyByZXNwb25zZXMgdG8gZnVuY3Rpb25cblxuICAvLyBUT0RPOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGh5ZHJhdGlvbiBvZiB0aGUgbWVzc2FnZXMgZnJvbSB0aGUgYmFja2VuZCBvbiBpbml0aWFsaXphdGlvblxuICBjb25zdCBzZW5kTWVzc2FnZXNUb0JhY2tlbmQgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVxdWVzdFBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRTdHJlYW1pbmdSZXNwb25zZXMocmVxdWVzdFBheWxvYWQpO1xuICAgICAgICBzZXRJc0luaXRpYWxpemVkKHRydWUpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdyZXNwb25zZScsIHJlc3BvbnNlKTtcbiAgICAgICAgLy8gUmVtb3ZlIHRoZSBwZW5kaW5nIG1lc3NhZ2UgZnJvbSB0aGUgdXNlciBldmVudHNcbiAgICAgICAgcmVxdWVzdFBheWxvYWQudXNlckV2ZW50cz8ubWFwKHVzZXJFdmVudCA9PiBtYXJrVXNlckV2ZW50c1Byb2Nlc3NlZChbdXNlckV2ZW50LmV2ZW50SWRdKSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnJvciBzZW5kaW5nIG1lc3NhZ2UnKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtnZXRTdHJlYW1pbmdSZXNwb25zZXMsIHNldElzSW5pdGlhbGl6ZWQsIG1hcmtVc2VyRXZlbnRzUHJvY2Vzc2VkXSxcbiAgKTtcblxuICBjb25zb2xlLmxvZygndXNlclF1ZXVlRXZlbnRDb3VudCcsIHVzZXJRdWV1ZUV2ZW50Q291bnQpO1xuICBjb25zb2xlLmxvZygndXNlckV2ZW50cycsIHVzZXJFdmVudHMpO1xuXG4gIC8vIFRoaXMgaXMgdGhlIHByaW1hcnkgZXZlbnQgbG9vcCBmb3IgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBiYWNrZW5kIEFQSVxuICAvLyBJdCB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIHRoZXJlIGFyZSBwZW5kaW5nIG1lc3NhZ2VzIHRvIGJlIHNlbnQgdG8gdGhlIGJhY2tlbmRcbiAgLy8gSXQgd2lsbCBiZSByZXNwb25zaWJsZSBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZXMgdG8gdGhlIGJhY2tlbmQgYW5kIHJlY2VpdmluZyB0aGUgcmVzcG9uc2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc29sZS5sb2coJ1NhbGVzQWdlbnRQcm92aWRlciB1c2VFZmZlY3QnLCB1c2VyUXVldWVFdmVudENvdW50LCBpc0luaXRpYWxpemVkLCB1c2VyRXZlbnRzKTtcbiAgICBpZiAodXNlclF1ZXVlRXZlbnRDb3VudCA+IDApIHtcbiAgICAgIGNvbnN0IHBheWxvYWRFdmVudHMgPSB1c2VyRXZlbnRzLnNsaWNlKDAsIHVzZXJRdWV1ZUV2ZW50Q291bnQpO1xuXG4gICAgICBwYXlsb2FkRXZlbnRzLmZvckVhY2godXNlckV2ZW50ID0+IHtcbiAgICAgICAgaWYgKHVzZXJFdmVudCAmJiB1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQpIHtcbiAgICAgICAgICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgICAgICAgICAgaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICAgICAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlF1ZXJ5VHlwZWQsXG4gICAgICAgICAgICBjcmVhdGVkQXQ6IHVzZXJFdmVudC5jcmVhdGVkQXQsXG4gICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICBjb250ZW50OiB1c2VyRXZlbnQuYXR0cmlidXRlcy5xdWVyeSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgICBzZXRNZXNzYWdlcyhjdXJyZW50ID0+IFsuLi5jdXJyZW50LCBbbmV3TWVzc2FnZV1dKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodXNlckV2ZW50ICYmIHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpIHtcbiAgICAgICAgICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgICAgICAgICAgaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICAgICAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlF1ZXJ5VHlwZWQsXG4gICAgICAgICAgICBjcmVhdGVkQXQ6IHVzZXJFdmVudC5jcmVhdGVkQXQsXG4gICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICBjb250ZW50OiB1c2VyRXZlbnQuYXR0cmlidXRlcy5jb250ZW50ID8/ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHNldE1lc3NhZ2VzKGN1cnJlbnQgPT4gWy4uLmN1cnJlbnQsIFtuZXdNZXNzYWdlXV0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgc2VuZE1lc3NhZ2VzVG9CYWNrZW5kKFxuICAgICAgICBjcmVhdGVSZXNwb25zZVBheWxvYWQoe1xuICAgICAgICAgIHVzZXJFdmVudHM6IHBheWxvYWRFdmVudHMsXG4gICAgICAgICAgZ2VuZXJhdGlvblBhcmFtczogc2V0dGluZ3NDb250ZXh0LmdlbmVyYXRpb25QYXJhbXMsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIGdldFN1Z2dlc3Rpb25zKFxuICAgICAgICBjcmVhdGVSZXNwb25zZVBheWxvYWQoe1xuICAgICAgICAgIHVzZXJFdmVudHM6IFtdLFxuICAgICAgICAgIGdlbmVyYXRpb25QYXJhbXM6IHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbXG4gICAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkLFxuICAgIGdldFN1Z2dlc3Rpb25zLFxuICAgIGlzSW5pdGlhbGl6ZWQsXG4gICAgc2V0TWVzc2FnZXMsXG4gICAgc2VuZE1lc3NhZ2VzVG9CYWNrZW5kLFxuICAgIHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zLFxuICAgIHVzZXJFdmVudHMsXG4gICAgdXNlclF1ZXVlRXZlbnRDb3VudCxcbiAgXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNJbml0aWFsaXplZCkge1xuICAgICAgLy8gUmVoeWRyYXRlIGFueSBtZXNzYWdlcyBmcm9tIHRoZSBiYWNrZW5kXG4gICAgICBoeWRyYXRlTWVzc2FnZXMoKTtcbiAgICB9XG4gIH0sIFtpc0luaXRpYWxpemVkLCBoeWRyYXRlTWVzc2FnZXNdKTtcblxuICByZXR1cm4gPFNhbGVzQWdlbnRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt1bmRlZmluZWR9PntjaGlsZHJlbn08L1NhbGVzQWdlbnRDb250ZXh0LlByb3ZpZGVyPjtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VTYWxlc0FnZW50ID0gKCk6IFNhbGVzQWdlbnQgPT4ge1xuICBjb25zdCBtZXNzYWdlcyA9IHVzZUF0b21WYWx1ZShtZXNzYWdlc0F0b20pO1xuICBjb25zdCBzdWdnZXN0aW9ucyA9IHVzZUF0b21WYWx1ZShzdWdnZXN0aW9uc0F0b20pO1xuICBjb25zdCBwZW5kaW5nTWVzc2FnZXMgPSB1c2VBdG9tVmFsdWUodXNlckV2ZW50UXVldWVBdG9tKTtcbiAgY29uc3QgaXNSZXNwb25zZVN0cmVhbWluZyA9IHVzZUF0b21WYWx1ZShyZXNwb25zZVN0cmVhbWluZ0F0b20pO1xuICBjb25zdCBpc1BlbmRpbmdSZXNwb25zZSA9IHVzZUF0b21WYWx1ZShwZW5kaW5nUmVzcG9uc2VBdG9tKTtcbiAgY29uc3QgaXNJbml0aWFsaXplZCA9IHVzZUF0b21WYWx1ZShpbml0aWFsaXplZEF0b20pO1xuICBjb25zdCB7XG4gICAgbG9nUGFnZVZpc2l0LFxuICAgIGxvZ1VzZXJFdmVudCxcbiAgICBvblN1Z2dlc3Rpb25DbGlja2VkLFxuICAgIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkLFxuICAgIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkLFxuICB9ID0gdXNlU2FsZXNBZ2VudENoYXRBUEkoKTtcblxuICBjb25zdCBzYWxlc0FnZW50OiBTYWxlc0FnZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VzLFxuICAgICAgc3VnZ2VzdGlvbnMsXG4gICAgICBwZW5kaW5nTWVzc2FnZXMsXG4gICAgICBpc0luaXRpYWxpemVkLFxuICAgICAgaXNSZXNwb25zZVN0cmVhbWluZyxcbiAgICAgIGlzUGVuZGluZ1Jlc3BvbnNlLFxuICAgICAgbG9nUGFnZVZpc2l0LFxuICAgICAgbG9nVXNlckV2ZW50LFxuICAgICAgb25TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkLFxuICAgICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQsXG4gICAgfTtcbiAgfSwgW1xuICAgIG1lc3NhZ2VzLFxuICAgIHN1Z2dlc3Rpb25zLFxuICAgIHBlbmRpbmdNZXNzYWdlcyxcbiAgICBpc0luaXRpYWxpemVkLFxuICAgIGlzUmVzcG9uc2VTdHJlYW1pbmcsXG4gICAgaXNQZW5kaW5nUmVzcG9uc2UsXG4gICAgbG9nUGFnZVZpc2l0LFxuICAgIGxvZ1VzZXJFdmVudCxcbiAgICBvblN1Z2dlc3Rpb25DbGlja2VkLFxuICAgIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkLFxuICAgIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVk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
158
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudENvbnRleHQuY2pzIiwibmFtZXMiOlsiU2FsZXNBZ2VudFByb3ZpZGVyOiBSZWFjdC5GQzxTYWxlc0FnZW50UHJvdmlkZXJQcm9wcz4iLCJ1c2VyRXZlbnRRdWV1ZUF0b20iLCJ1c2VyUXVldWVFdmVudENvdW50QXRvbSIsInByb2Nlc3NVc2VyRXZlbnRBdG9tIiwiaW5pdGlhbGl6ZWRBdG9tIiwidXNlU3lzdGVtU2V0dGluZ3NDb250ZXh0IiwibWVzc2FnZXNBdG9tIiwic3VnZ2VzdGlvbnNBdG9tIiwidXNlU2FsZXNBZ2VudFNlcnZpY2UiLCJVc2VyRXZlbnRDYXRlZ29yeSIsIm5ld01lc3NhZ2U6IE1lc3NhZ2UiLCJNZXNzYWdlUm9sZSIsIk1lc3NhZ2VUeXBlIiwiY3JlYXRlRm9ybVN1Ym1pdHRlZFVzZXJNZXNzYWdlIiwiYnVpbGRGb3JtU3VibWl0dGVkRGlzcGxheUNvbnRlbnQiLCJyZXNwb25zZVN0cmVhbWluZ0F0b20iLCJwZW5kaW5nUmVzcG9uc2VBdG9tIiwidXNlU2FsZXNBZ2VudENoYXRBUEkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvc2FsZXNBZ2VudENvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUF0b20sIHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IFJlYWN0Tm9kZSwgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VSb2xlLCBNZXNzYWdlVHlwZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbWVzc2FnZSc7XG5pbXBvcnQgeyBOZXh0TWVzc2FnZVJlcXVlc3QsIFN1Z2dlc3Rpb24sIFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgaW5pdGlhbGl6ZWRBdG9tLFxuICBtZXNzYWdlc0F0b20sXG4gIHBlbmRpbmdSZXNwb25zZUF0b20sXG4gIHJlc3BvbnNlU3RyZWFtaW5nQXRvbSxcbiAgc3VnZ2VzdGlvbnNBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvY2hhdC9jaGF0U3RhdGUnO1xuaW1wb3J0IHtcbiAgcHJvY2Vzc1VzZXJFdmVudEF0b20sXG4gIHVzZXJFdmVudFF1ZXVlQXRvbSxcbiAgdXNlclF1ZXVlRXZlbnRDb3VudEF0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5pbXBvcnQgeyB1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQgfSBmcm9tICdzcmMvaG9va3MvU3lzdGVtU2V0dGluZ3NDb250ZXh0JztcbmltcG9ydCB7XG4gIGJ1aWxkRm9ybVN1Ym1pdHRlZERpc3BsYXlDb250ZW50LFxuICBjcmVhdGVGb3JtU3VibWl0dGVkVXNlck1lc3NhZ2UsXG59IGZyb20gJy4vZm9ybVN1Ym1pdHRlZFV0aWxzJztcbmltcG9ydCB7IFNhbGVzQWdlbnRDaGF0QVBJLCB1c2VTYWxlc0FnZW50Q2hhdEFQSSB9IGZyb20gJy4vY2hhdEFQSSc7XG5pbXBvcnQgeyB1c2VTYWxlc0FnZW50U2VydmljZSB9IGZyb20gJy4vc2FsZXNBZ2VudFNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnQgZXh0ZW5kcyBTYWxlc0FnZW50Q2hhdEFQSSB7XG4gIC8vIE1lc3NhZ2VzIGFyZSB0aGUgZnVsbCBsaXN0IG9mIGFsbCB0dXJuc1xuICBtZXNzYWdlczogTWVzc2FnZVtdW107XG4gIC8vIFBlbmRpbmcgbWVzc2FnZXMgYXJlIG1lc3NhZ2VzIHRoYXQgdGhlIHVzZXIgaGFzIGNsaWNrZWQvdHlwZWQgYnV0IGhhdmUgbm90IHlldCBiZWVuIHNlbnQgdG8gdGhlIGJhY2tlbmQuXG4gIHBlbmRpbmdNZXNzYWdlczogVXNlckV2ZW50W107XG4gIC8vIFN1Z2dlc3Rpb25zIGFyZSB0aGUgbGlzdCBvZiBzdWdnZXN0aW9ucyB0aGF0IHRoZSB1c2VyIGNhbiBjbGljayBvbiBpbiByZXNwb25zZSB0byB0aGUgbW9zdCByZWNlbnQgbWVzc2FnZSBmcm9tIHRoZSBiYWNrZW5kXG4gIHN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uW107XG4gIC8vIFRydWUgd2hpbGUgdGhlIHJlc3BvbnNlIGlzIHN0cmVhbWluZyBmcm9tIHRoZSBiYWNrZW5kXG4gIGlzUmVzcG9uc2VTdHJlYW1pbmc6IGJvb2xlYW47XG4gIC8vIFRydWUgd2hpbGUgdGhlIHJlc3BvbnNlIGlzIHBlbmRpbmcgZnJvbSB0aGUgYmFja2VuZFxuICBpc1BlbmRpbmdSZXNwb25zZTogYm9vbGVhbjtcbiAgLy8gVHJ1ZSB3aGVuIHRoZSBzYWxlcyBhZ2VudCBpcyBpbml0aWFsaXplZFxuICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vY2tTYWxlc0FnZW50RGF0YSB7XG4gIG1lc3NhZ2VzPzogTWVzc2FnZVtdW107XG4gIHN1Z2dlc3Rpb25zPzogU3VnZ2VzdGlvbltdO1xufVxuXG5jb25zdCBTYWxlc0FnZW50Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8U2FsZXNBZ2VudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50UHJvdmlkZXJQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlPzogYm9vbGVhbjtcbiAgbW9ja0RhdGE/OiBNb2NrU2FsZXNBZ2VudERhdGE7XG59XG5cbmV4cG9ydCBjb25zdCBTYWxlc0FnZW50UHJvdmlkZXI6IFJlYWN0LkZDPFNhbGVzQWdlbnRQcm92aWRlclByb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICBwcmV2aWV3TW9kZSA9IGZhbHNlLFxuICBtb2NrRGF0YSxcbn0pID0+IHtcbiAgY29uc3QgdXNlckV2ZW50cyA9IHVzZUF0b21WYWx1ZSh1c2VyRXZlbnRRdWV1ZUF0b20pO1xuICBjb25zdCB1c2VyUXVldWVFdmVudENvdW50ID0gdXNlQXRvbVZhbHVlKHVzZXJRdWV1ZUV2ZW50Q291bnRBdG9tKTtcbiAgY29uc3QgbWFya1VzZXJFdmVudHNQcm9jZXNzZWQgPSB1c2VTZXRBdG9tKHByb2Nlc3NVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3QgW2lzSW5pdGlhbGl6ZWQsIHNldElzSW5pdGlhbGl6ZWRdID0gdXNlQXRvbShpbml0aWFsaXplZEF0b20pO1xuICBjb25zdCBzZXR0aW5nc0NvbnRleHQgPSB1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQoKTtcbiAgY29uc3Qgc2V0TWVzc2FnZXMgPSB1c2VTZXRBdG9tKG1lc3NhZ2VzQXRvbSk7XG4gIGNvbnN0IHNldFN1Z2dlc3Rpb25zID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0F0b20pO1xuXG4gIGNvbnN0IHsgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzLCBjcmVhdGVSZXNwb25zZVBheWxvYWQsIGdldFN1Z2dlc3Rpb25zLCBoeWRyYXRlTWVzc2FnZXMgfSA9XG4gICAgdXNlU2FsZXNBZ2VudFNlcnZpY2UoKTtcblxuICAvLyBJbml0aWFsaXplIHdpdGggbW9jayBkYXRhIGluIHByZXZpZXcgbW9kZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwcmV2aWV3TW9kZSAmJiBtb2NrRGF0YSkge1xuICAgICAgaWYgKG1vY2tEYXRhLm1lc3NhZ2VzKSB7XG4gICAgICAgIHNldE1lc3NhZ2VzKG1vY2tEYXRhLm1lc3NhZ2VzKTtcbiAgICAgIH1cbiAgICAgIGlmIChtb2NrRGF0YS5zdWdnZXN0aW9ucykge1xuICAgICAgICBzZXRTdWdnZXN0aW9ucyhtb2NrRGF0YS5zdWdnZXN0aW9ucyk7XG4gICAgICB9XG4gICAgICBzZXRJc0luaXRpYWxpemVkKHRydWUpO1xuICAgIH1cbiAgfSwgW3ByZXZpZXdNb2RlLCBtb2NrRGF0YSwgc2V0TWVzc2FnZXMsIHNldFN1Z2dlc3Rpb25zLCBzZXRJc0luaXRpYWxpemVkXSk7XG5cbiAgLy8gVE9ETzogRW5zdXJlIHRoYXQgYW1wbGl0dWRlIGV2ZW50cyBhcmUgYmVpbmcgZW1pdHRlZFxuXG4gIC8vIFRPRE86IEFkZCBzdXBwb3J0IGZvciB0aGUgc3RyZWFtaW5nIHJlc3BvbnNlcyB0byBmdW5jdGlvblxuXG4gIC8vIFRPRE86IEFkZCBzdXBwb3J0IGZvciB0aGUgaHlkcmF0aW9uIG9mIHRoZSBtZXNzYWdlcyBmcm9tIHRoZSBiYWNrZW5kIG9uIGluaXRpYWxpemF0aW9uXG4gIGNvbnN0IHNlbmRNZXNzYWdlc1RvQmFja2VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChyZXF1ZXN0UGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBnZXRTdHJlYW1pbmdSZXNwb25zZXMocmVxdWVzdFBheWxvYWQpO1xuICAgICAgICBzZXRJc0luaXRpYWxpemVkKHRydWUpO1xuXG4gICAgICAgIC8vIFJlbW92ZSB0aGUgcGVuZGluZyBtZXNzYWdlIGZyb20gdGhlIHVzZXIgZXZlbnRzXG4gICAgICAgIHJlcXVlc3RQYXlsb2FkLnVzZXJFdmVudHM/Lm1hcCh1c2VyRXZlbnQgPT4gbWFya1VzZXJFdmVudHNQcm9jZXNzZWQoW3VzZXJFdmVudC5ldmVudElkXSkpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgTG9nZ2VyLmxvZ0Vycm9yKCdbZW52aXZlLWFpXSBlcnJvciBzZW5kaW5nIG1lc3NhZ2UnLCBlcnJvcik7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZ2V0U3RyZWFtaW5nUmVzcG9uc2VzLCBzZXRJc0luaXRpYWxpemVkLCBtYXJrVXNlckV2ZW50c1Byb2Nlc3NlZF0sXG4gICk7XG5cbiAgLy8gVGhpcyBpcyB0aGUgcHJpbWFyeSBldmVudCBsb29wIGZvciBjb21tdW5pY2F0aW5nIHdpdGggdGhlIGJhY2tlbmQgQVBJXG4gIC8vIEl0IHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gdGhlcmUgYXJlIHBlbmRpbmcgbWVzc2FnZXMgdG8gYmUgc2VudCB0byB0aGUgYmFja2VuZFxuICAvLyBJdCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlcyB0byB0aGUgYmFja2VuZCBhbmQgcmVjZWl2aW5nIHRoZSByZXNwb25zZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTa2lwIGJhY2tlbmQgY29tbXVuaWNhdGlvbiBpbiBwcmV2aWV3IG1vZGVcbiAgICBpZiAocHJldmlld01vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodXNlclF1ZXVlRXZlbnRDb3VudCA+IDApIHtcbiAgICAgIGNvbnN0IHBheWxvYWRFdmVudHMgPSB1c2VyRXZlbnRzLnNsaWNlKDAsIHVzZXJRdWV1ZUV2ZW50Q291bnQpO1xuXG4gICAgICBwYXlsb2FkRXZlbnRzLmZvckVhY2godXNlckV2ZW50ID0+IHtcbiAgICAgICAgaWYgKHVzZXJFdmVudCAmJiB1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQpIHtcbiAgICAgICAgICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgICAgICAgICAgaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICAgICAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlF1ZXJ5VHlwZWQsXG4gICAgICAgICAgICBjcmVhdGVkQXQ6IHVzZXJFdmVudC5jcmVhdGVkQXQsXG4gICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICBjb250ZW50OiB1c2VyRXZlbnQuYXR0cmlidXRlcy5xdWVyeSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgICBzZXRNZXNzYWdlcyhjdXJyZW50ID0+IFsuLi5jdXJyZW50LCBbbmV3TWVzc2FnZV1dKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodXNlckV2ZW50ICYmIHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpIHtcbiAgICAgICAgICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgICAgICAgICAgaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICAgICAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlF1ZXJ5VHlwZWQsXG4gICAgICAgICAgICBjcmVhdGVkQXQ6IHVzZXJFdmVudC5jcmVhdGVkQXQsXG4gICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICBjb250ZW50OiB1c2VyRXZlbnQuYXR0cmlidXRlcy5jb250ZW50ID8/ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHNldE1lc3NhZ2VzKGN1cnJlbnQgPT4gWy4uLmN1cnJlbnQsIFtuZXdNZXNzYWdlXV0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1c2VyRXZlbnQgJiYgdXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkKSB7XG4gICAgICAgICAgY29uc3QgeyBmb3JtUmVzcG9uc2VJZCwgZmlsbGVkU2NoZW1hIH0gPSB1c2VyRXZlbnQuYXR0cmlidXRlcztcbiAgICAgICAgICBzZXRNZXNzYWdlcyhwcmV2TWVzc2FnZXNTdGF0ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3JtU3VibWl0dGVkQ29udGVudCA9IGJ1aWxkRm9ybVN1Ym1pdHRlZERpc3BsYXlDb250ZW50KFxuICAgICAgICAgICAgICBwcmV2TWVzc2FnZXNTdGF0ZSxcbiAgICAgICAgICAgICAgZm9ybVJlc3BvbnNlSWQsXG4gICAgICAgICAgICAgIGZpbGxlZFNjaGVtYSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBuZXdVc2VyTWVzc2FnZSA9IGNyZWF0ZUZvcm1TdWJtaXR0ZWRVc2VyTWVzc2FnZSh1c2VyRXZlbnQsIGZvcm1TdWJtaXR0ZWRDb250ZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHR1cm5zV2l0aG91dEZvcm0gPSBwcmV2TWVzc2FnZXNTdGF0ZVxuICAgICAgICAgICAgICAubWFwKHR1cm4gPT5cbiAgICAgICAgICAgICAgICB0dXJuLmZpbHRlcihtc2cgPT4gIShtc2cudHlwZSA9PT0gTWVzc2FnZVR5cGUuRm9ybSAmJiBtc2cuaWQgPT09IGZvcm1SZXNwb25zZUlkKSksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLmZpbHRlcih0dXJuID0+IHR1cm4ubGVuZ3RoID4gMCk7XG4gICAgICAgICAgICByZXR1cm4gWy4uLnR1cm5zV2l0aG91dEZvcm0sIFtuZXdVc2VyTWVzc2FnZV1dO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgc2VuZE1lc3NhZ2VzVG9CYWNrZW5kKFxuICAgICAgICBjcmVhdGVSZXNwb25zZVBheWxvYWQoe1xuICAgICAgICAgIHVzZXJFdmVudHM6IHBheWxvYWRFdmVudHMsXG4gICAgICAgICAgZ2VuZXJhdGlvblBhcmFtczogc2V0dGluZ3NDb250ZXh0LmdlbmVyYXRpb25QYXJhbXMsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIGdldFN1Z2dlc3Rpb25zKFxuICAgICAgICBjcmVhdGVSZXNwb25zZVBheWxvYWQoe1xuICAgICAgICAgIHVzZXJFdmVudHM6IFtdLFxuICAgICAgICAgIGdlbmVyYXRpb25QYXJhbXM6IHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbXG4gICAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkLFxuICAgIGdldFN1Z2dlc3Rpb25zLFxuICAgIGlzSW5pdGlhbGl6ZWQsXG4gICAgc2V0TWVzc2FnZXMsXG4gICAgc2VuZE1lc3NhZ2VzVG9CYWNrZW5kLFxuICAgIHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zLFxuICAgIHVzZXJFdmVudHMsXG4gICAgdXNlclF1ZXVlRXZlbnRDb3VudCxcbiAgICBwcmV2aWV3TW9kZSxcbiAgXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTa2lwIGh5ZHJhdGlvbiBpbiBwcmV2aWV3IG1vZGVcbiAgICBpZiAocHJldmlld01vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNJbml0aWFsaXplZCkge1xuICAgICAgLy8gUmVoeWRyYXRlIGFueSBtZXNzYWdlcyBmcm9tIHRoZSBiYWNrZW5kXG4gICAgICBoeWRyYXRlTWVzc2FnZXMoKTtcbiAgICB9XG4gIH0sIFtpc0luaXRpYWxpemVkLCBoeWRyYXRlTWVzc2FnZXMsIHByZXZpZXdNb2RlXSk7XG5cbiAgcmV0dXJuIDxTYWxlc0FnZW50Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17dW5kZWZpbmVkfT57Y2hpbGRyZW59PC9TYWxlc0FnZW50Q29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudCA9ICgpOiBTYWxlc0FnZW50ID0+IHtcbiAgY29uc3QgbWVzc2FnZXMgPSB1c2VBdG9tVmFsdWUobWVzc2FnZXNBdG9tKTtcbiAgY29uc3Qgc3VnZ2VzdGlvbnMgPSB1c2VBdG9tVmFsdWUoc3VnZ2VzdGlvbnNBdG9tKTtcbiAgY29uc3QgcGVuZGluZ01lc3NhZ2VzID0gdXNlQXRvbVZhbHVlKHVzZXJFdmVudFF1ZXVlQXRvbSk7XG4gIGNvbnN0IGlzUmVzcG9uc2VTdHJlYW1pbmcgPSB1c2VBdG9tVmFsdWUocmVzcG9uc2VTdHJlYW1pbmdBdG9tKTtcbiAgY29uc3QgaXNQZW5kaW5nUmVzcG9uc2UgPSB1c2VBdG9tVmFsdWUocGVuZGluZ1Jlc3BvbnNlQXRvbSk7XG4gIGNvbnN0IGlzSW5pdGlhbGl6ZWQgPSB1c2VBdG9tVmFsdWUoaW5pdGlhbGl6ZWRBdG9tKTtcbiAgY29uc3Qge1xuICAgIGxvZ1BhZ2VWaXNpdCxcbiAgICBsb2dVc2VyRXZlbnQsXG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCxcbiAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZCxcbiAgfSA9IHVzZVNhbGVzQWdlbnRDaGF0QVBJKCk7XG5cbiAgY29uc3Qgc2FsZXNBZ2VudDogU2FsZXNBZ2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlcyxcbiAgICAgIHN1Z2dlc3Rpb25zLFxuICAgICAgcGVuZGluZ01lc3NhZ2VzLFxuICAgICAgaXNJbml0aWFsaXplZCxcbiAgICAgIGlzUmVzcG9uc2VTdHJlYW1pbmcsXG4gICAgICBpc1BlbmRpbmdSZXNwb25zZSxcbiAgICAgIGxvZ1BhZ2VWaXNpdCxcbiAgICAgIGxvZ1VzZXJFdmVudCxcbiAgICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCxcbiAgICAgIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkLFxuICAgIH07XG4gIH0sIFtcbiAgICBtZXNzYWdlcyxcbiAgICBzdWdnZXN0aW9ucyxcbiAgICBwZW5kaW5nTWVzc2FnZXMsXG4gICAgaXNJbml0aWFsaXplZCxcbiAgICBpc1Jlc3BvbnNlU3RyZWFtaW5nLFxuICAgIGlzUGVuZGluZ1Jlc3BvbnNlLFxuICAgIGxvZ1BhZ2VWaXNpdCxcbiAgICBsb2dVc2VyRXZlbnQsXG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCxcbiAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZCxcbiAgXSk7XG4gIHJldHVybiBzYWxlc0FnZW50O1xu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
@@ -13,10 +13,17 @@ interface SalesAgent extends SalesAgentChatAPI {
13
13
  isPendingResponse: boolean;
14
14
  isInitialized: boolean;
15
15
  }
16
- declare const SalesAgentProvider: React.FC<{
16
+ interface MockSalesAgentData {
17
+ messages?: Message[][];
18
+ suggestions?: Suggestion[];
19
+ }
20
+ interface SalesAgentProviderProps {
17
21
  children: ReactNode;
18
- }>;
22
+ previewMode?: boolean;
23
+ mockData?: MockSalesAgentData;
24
+ }
25
+ declare const SalesAgentProvider: React.FC<SalesAgentProviderProps>;
19
26
  declare const useSalesAgent: () => SalesAgent;
20
27
  //#endregion
21
- export { SalesAgent, SalesAgentProvider, useSalesAgent };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudENvbnRleHQuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3NhbGVzQWdlbnRDb250ZXh0L3NhbGVzQWdlbnRDb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbWVzc2FnZSc7XG5pbXBvcnQgeyBTdWdnZXN0aW9uLCBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IFNhbGVzQWdlbnRDaGF0QVBJIH0gZnJvbSAnLi9jaGF0QVBJJztcbmV4cG9ydCBpbnRlcmZhY2UgU2FsZXNBZ2VudCBleHRlbmRzIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgICBtZXNzYWdlczogTWVzc2FnZVtdW107XG4gICAgcGVuZGluZ01lc3NhZ2VzOiBVc2VyRXZlbnRbXTtcbiAgICBzdWdnZXN0aW9uczogU3VnZ2VzdGlvbltdO1xuICAgIGlzUmVzcG9uc2VTdHJlYW1pbmc6IGJvb2xlYW47XG4gICAgaXNQZW5kaW5nUmVzcG9uc2U6IGJvb2xlYW47XG4gICAgaXNJbml0aWFsaXplZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNhbGVzQWdlbnRQcm92aWRlcjogUmVhY3QuRkM8e1xuICAgIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59PjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZVNhbGVzQWdlbnQ6ICgpID0+IFNhbGVzQWdlbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxJQUFXLGFBQWE7Q0FBQztPQUFXO09BQWU7T0FBRztPQUFBO0NBQUE7QUFDdEQsSUFBVyxxQkFBYztDQUFBO09BQUE7T0FBQSxNQUFBO0NBQUE7QUFDekIsSUFBVyxnQkFBZ0IsQ0FBQyxXQUFJLFdBQUEifQ==
28
+ export { MockSalesAgentData, SalesAgent, SalesAgentProvider, SalesAgentProviderProps, useSalesAgent };
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudENvbnRleHQuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3NhbGVzQWdlbnRDb250ZXh0L3NhbGVzQWdlbnRDb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbWVzc2FnZSc7XG5pbXBvcnQgeyBTdWdnZXN0aW9uLCBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IFNhbGVzQWdlbnRDaGF0QVBJIH0gZnJvbSAnLi9jaGF0QVBJJztcbmV4cG9ydCBpbnRlcmZhY2UgU2FsZXNBZ2VudCBleHRlbmRzIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgICBtZXNzYWdlczogTWVzc2FnZVtdW107XG4gICAgcGVuZGluZ01lc3NhZ2VzOiBVc2VyRXZlbnRbXTtcbiAgICBzdWdnZXN0aW9uczogU3VnZ2VzdGlvbltdO1xuICAgIGlzUmVzcG9uc2VTdHJlYW1pbmc6IGJvb2xlYW47XG4gICAgaXNQZW5kaW5nUmVzcG9uc2U6IGJvb2xlYW47XG4gICAgaXNJbml0aWFsaXplZDogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja1NhbGVzQWdlbnREYXRhIHtcbiAgICBtZXNzYWdlcz86IE1lc3NhZ2VbXVtdO1xuICAgIHN1Z2dlc3Rpb25zPzogU3VnZ2VzdGlvbltdO1xufVxuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50UHJvdmlkZXJQcm9wcyB7XG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgICBwcmV2aWV3TW9kZT86IGJvb2xlYW47XG4gICAgbW9ja0RhdGE/OiBNb2NrU2FsZXNBZ2VudERhdGE7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBTYWxlc0FnZW50UHJvdmlkZXI6IFJlYWN0LkZDPFNhbGVzQWdlbnRQcm92aWRlclByb3BzPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZVNhbGVzQWdlbnQ6ICgpID0+IFNhbGVzQWdlbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxJQUFXLGFBQWE7Q0FBQztPQUFXO09BQWU7T0FBRztPQUFBO0NBQUE7QUFDdEQsSUFBVyxxQkFBYztDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3pCLElBQVcsMEJBQXFCO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDaEMsSUFBVyxxQkFBa0I7Q0FBQTtPQUFBO09BQUEsTUFBQTtDQUFBO0FBQzdCLElBQVcsZ0JBQWdCLENBQUMsV0FBSSxXQUFBIn0=
@@ -13,10 +13,17 @@ interface SalesAgent extends SalesAgentChatAPI {
13
13
  isPendingResponse: boolean;
14
14
  isInitialized: boolean;
15
15
  }
16
- declare const SalesAgentProvider: React.FC<{
16
+ interface MockSalesAgentData {
17
+ messages?: Message[][];
18
+ suggestions?: Suggestion[];
19
+ }
20
+ interface SalesAgentProviderProps {
17
21
  children: ReactNode;
18
- }>;
22
+ previewMode?: boolean;
23
+ mockData?: MockSalesAgentData;
24
+ }
25
+ declare const SalesAgentProvider: React.FC<SalesAgentProviderProps>;
19
26
  declare const useSalesAgent: () => SalesAgent;
20
27
  //#endregion
21
- export { SalesAgent, SalesAgentProvider, useSalesAgent };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudENvbnRleHQuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvc2FsZXNBZ2VudENvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9tZXNzYWdlJztcbmltcG9ydCB7IFN1Z2dlc3Rpb24sIFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgU2FsZXNBZ2VudENoYXRBUEkgfSBmcm9tICcuL2NoYXRBUEknO1xuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50IGV4dGVuZHMgU2FsZXNBZ2VudENoYXRBUEkge1xuICAgIG1lc3NhZ2VzOiBNZXNzYWdlW11bXTtcbiAgICBwZW5kaW5nTWVzc2FnZXM6IFVzZXJFdmVudFtdO1xuICAgIHN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uW107XG4gICAgaXNSZXNwb25zZVN0cmVhbWluZzogYm9vbGVhbjtcbiAgICBpc1BlbmRpbmdSZXNwb25zZTogYm9vbGVhbjtcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgU2FsZXNBZ2VudFByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn0+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlU2FsZXNBZ2VudDogKCkgPT4gU2FsZXNBZ2VudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLElBQVcsYUFBYTtDQUFDO09BQVc7T0FBZTtPQUFHO09BQUE7Q0FBQTtBQUN0RCxJQUFXLHFCQUFjO0NBQUE7T0FBQTtPQUFBLE1BQUE7Q0FBQTtBQUN6QixJQUFXLGdCQUFnQixDQUFDLFdBQUksV0FBQSJ9
28
+ export { MockSalesAgentData, SalesAgent, SalesAgentProvider, SalesAgentProviderProps, useSalesAgent };
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudENvbnRleHQuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvc2FsZXNBZ2VudENvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9tZXNzYWdlJztcbmltcG9ydCB7IFN1Z2dlc3Rpb24sIFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgU2FsZXNBZ2VudENoYXRBUEkgfSBmcm9tICcuL2NoYXRBUEknO1xuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50IGV4dGVuZHMgU2FsZXNBZ2VudENoYXRBUEkge1xuICAgIG1lc3NhZ2VzOiBNZXNzYWdlW11bXTtcbiAgICBwZW5kaW5nTWVzc2FnZXM6IFVzZXJFdmVudFtdO1xuICAgIHN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uW107XG4gICAgaXNSZXNwb25zZVN0cmVhbWluZzogYm9vbGVhbjtcbiAgICBpc1BlbmRpbmdSZXNwb25zZTogYm9vbGVhbjtcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBNb2NrU2FsZXNBZ2VudERhdGEge1xuICAgIG1lc3NhZ2VzPzogTWVzc2FnZVtdW107XG4gICAgc3VnZ2VzdGlvbnM/OiBTdWdnZXN0aW9uW107XG59XG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnRQcm92aWRlclByb3BzIHtcbiAgICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICAgIHByZXZpZXdNb2RlPzogYm9vbGVhbjtcbiAgICBtb2NrRGF0YT86IE1vY2tTYWxlc0FnZW50RGF0YTtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNhbGVzQWdlbnRQcm92aWRlcjogUmVhY3QuRkM8U2FsZXNBZ2VudFByb3ZpZGVyUHJvcHM+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlU2FsZXNBZ2VudDogKCkgPT4gU2FsZXNBZ2VudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLElBQVcsYUFBYTtDQUFDO09BQVc7T0FBZTtPQUFHO09BQUE7Q0FBQTtBQUN0RCxJQUFXLHFCQUFjO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDekIsSUFBVywwQkFBcUI7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNoQyxJQUFXLHFCQUFrQjtDQUFBO09BQUE7T0FBQSxNQUFBO0NBQUE7QUFDN0IsSUFBVyxnQkFBZ0IsQ0FBQyxXQUFJLFdBQUEifQ==