@envive-ai/react-hooks 0.2.5 → 0.2.6-alpha-2

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 (646) hide show
  1. package/dist/AmplitudeOperations-C3i2q2Bn.js +34 -0
  2. package/dist/AmplitudeOperations-DcuLn1Zk.cjs +41 -0
  3. package/dist/{NewOrgConfig-B98Y9tMb.js → NewOrgConfig-BtvujFC8.js} +2 -2
  4. package/dist/{NewOrgConfig-ZbBKiByQ.cjs → NewOrgConfig-CHt7Xg4t.cjs} +2 -2
  5. package/dist/TrackComponentVisibleEvent-Be7wfXXY.js +53 -0
  6. package/dist/TrackComponentVisibleEvent-KUihr_y4.cjs +60 -0
  7. package/dist/amplitudeContext-CRFxGj_x.d.ts +52 -0
  8. package/dist/amplitudeContext-ZkerrMUa.d.cts +52 -0
  9. package/dist/api-D4HaU2Gf.js +166 -0
  10. package/dist/api-D4Xoibs9.cjs +239 -0
  11. package/dist/application/models/graphql/index.cjs +3 -3
  12. package/dist/application/models/graphql/index.d.cts +2 -2
  13. package/dist/application/models/graphql/index.d.ts +2 -2
  14. package/dist/application/models/graphql/index.js +2 -3
  15. package/dist/application/models/guards/api/index.cjs +3 -3
  16. package/dist/application/models/guards/api/index.d.cts +2 -2
  17. package/dist/application/models/guards/api/index.d.ts +2 -2
  18. package/dist/application/models/guards/api/index.js +3 -3
  19. package/dist/application/models/guards/utils.cjs +1 -1
  20. package/dist/application/models/guards/utils.d.ts +1 -1
  21. package/dist/application/models/guards/utils.js +1 -1
  22. package/dist/application/models/index.cjs +7 -23
  23. package/dist/application/models/index.d.cts +167 -11
  24. package/dist/application/models/index.d.ts +168 -12
  25. package/dist/application/models/index.js +7 -11
  26. package/dist/application/utils/index.cjs +19 -19
  27. package/dist/application/utils/index.d.cts +14 -63
  28. package/dist/application/utils/index.d.ts +14 -63
  29. package/dist/application/utils/index.js +19 -19
  30. package/dist/{atomStore-DXTVqiKc.js → atomStore-BuopbV9k.js} +1 -1
  31. package/dist/{atomStore-DNji91Im.cjs → atomStore-CZKe3itM.cjs} +1 -1
  32. package/dist/atoms/app/index.cjs +19 -19
  33. package/dist/atoms/app/index.d.cts +9 -20
  34. package/dist/atoms/app/index.d.ts +2 -13
  35. package/dist/atoms/app/index.js +19 -19
  36. package/dist/atoms/atomStore/index.cjs +1 -1
  37. package/dist/atoms/atomStore/index.js +1 -1
  38. package/dist/atoms/chat/index.cjs +21 -21
  39. package/dist/atoms/chat/index.d.cts +37 -45
  40. package/dist/atoms/chat/index.d.ts +35 -43
  41. package/dist/atoms/chat/index.js +21 -21
  42. package/dist/atoms/globalSearch/index.cjs +1 -1
  43. package/dist/atoms/globalSearch/index.d.cts +6 -6
  44. package/dist/atoms/globalSearch/index.d.ts +6 -6
  45. package/dist/atoms/globalSearch/index.js +1 -1
  46. package/dist/atoms/org/index.cjs +10 -11
  47. package/dist/atoms/org/index.d.cts +19 -31
  48. package/dist/atoms/org/index.d.ts +19 -31
  49. package/dist/atoms/org/index.js +2 -3
  50. package/dist/atoms/search/index.cjs +7 -47
  51. package/dist/atoms/search/index.d.cts +76 -14
  52. package/dist/atoms/search/index.d.ts +76 -14
  53. package/dist/atoms/search/index.js +7 -29
  54. package/dist/atoms/search/utils.cjs +1 -1
  55. package/dist/atoms/search/utils.d.cts +1 -1
  56. package/dist/atoms/search/utils.d.ts +1 -1
  57. package/dist/atoms/search/utils.js +1 -1
  58. package/dist/cdnContext-B2-NiEiW.js +38 -0
  59. package/dist/cdnContext-CdhppNeT.cjs +53 -0
  60. package/dist/chat-C9KdnT5V.js +230 -0
  61. package/dist/chat-bImNRcnQ.cjs +330 -0
  62. package/dist/chatState-DqWSgmjC.cjs +120 -0
  63. package/dist/chatState-DxG0t4fK.js +34 -0
  64. package/dist/config/index.d.cts +4 -4
  65. package/dist/config/index.d.ts +4 -4
  66. package/dist/config/locators/components/chat/index.d.cts +1 -1
  67. package/dist/config/locators/components/chat/index.d.ts +1 -1
  68. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  69. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  70. package/dist/config/locators/components/common/index.d.cts +1 -1
  71. package/dist/config/locators/components/common/index.d.ts +1 -1
  72. package/dist/config/locators/components/index.d.cts +1 -1
  73. package/dist/config/locators/components/index.d.ts +1 -1
  74. package/dist/config/locators/components/search/index.d.cts +1 -1
  75. package/dist/config/locators/components/search/index.d.ts +1 -1
  76. package/dist/config/locators/index.d.cts +4 -4
  77. package/dist/config/locators/index.d.ts +4 -4
  78. package/dist/contexts/amplitudeContext/index.cjs +19 -19
  79. package/dist/contexts/amplitudeContext/index.d.cts +1 -1
  80. package/dist/contexts/amplitudeContext/index.d.ts +1 -1
  81. package/dist/contexts/amplitudeContext/index.js +19 -19
  82. package/dist/contexts/cdnContext/index.cjs +4 -4
  83. package/dist/contexts/cdnContext/index.d.cts +2 -6
  84. package/dist/contexts/cdnContext/index.d.ts +2 -6
  85. package/dist/contexts/cdnContext/index.js +4 -4
  86. package/dist/contexts/enviveConfigContext/index.cjs +4 -4
  87. package/dist/contexts/enviveConfigContext/index.d.cts +3 -24
  88. package/dist/contexts/enviveConfigContext/index.d.ts +3 -24
  89. package/dist/contexts/enviveConfigContext/index.js +4 -4
  90. package/dist/contexts/enviveCssContext/index.cjs +15 -19
  91. package/dist/contexts/enviveCssContext/index.d.cts +3 -5
  92. package/dist/contexts/enviveCssContext/index.d.ts +3 -5
  93. package/dist/contexts/enviveCssContext/index.js +15 -19
  94. package/dist/contexts/featureFlagContext/index.cjs +9 -10
  95. package/dist/contexts/featureFlagContext/index.d.cts +3 -11
  96. package/dist/contexts/featureFlagContext/index.d.ts +3 -11
  97. package/dist/contexts/featureFlagContext/index.js +6 -7
  98. package/dist/contexts/featureFlagServiceContext/index.cjs +4 -3
  99. package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -4
  100. package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -4
  101. package/dist/contexts/featureFlagServiceContext/index.js +4 -3
  102. package/dist/contexts/graphqlContext/index.cjs +8 -13
  103. package/dist/contexts/graphqlContext/index.d.cts +11 -14
  104. package/dist/contexts/graphqlContext/index.d.ts +11 -14
  105. package/dist/contexts/graphqlContext/index.js +8 -13
  106. package/dist/contexts/localStorageContext/index.cjs +3 -3
  107. package/dist/contexts/localStorageContext/index.d.cts +3 -22
  108. package/dist/contexts/localStorageContext/index.d.ts +3 -22
  109. package/dist/contexts/localStorageContext/index.js +4 -3
  110. package/dist/contexts/newOrgConfigContext/index.cjs +13 -17
  111. package/dist/contexts/newOrgConfigContext/index.d.cts +12 -15
  112. package/dist/contexts/newOrgConfigContext/index.d.ts +12 -15
  113. package/dist/contexts/newOrgConfigContext/index.js +13 -17
  114. package/dist/contexts/searchContext/index.cjs +24 -24
  115. package/dist/contexts/searchContext/index.d.cts +2 -7
  116. package/dist/contexts/searchContext/index.d.ts +2 -7
  117. package/dist/contexts/searchContext/index.js +24 -24
  118. package/dist/contexts/sessionStorageContext/index.cjs +2 -2
  119. package/dist/contexts/sessionStorageContext/index.d.cts +2 -6
  120. package/dist/contexts/sessionStorageContext/index.d.ts +2 -6
  121. package/dist/contexts/sessionStorageContext/index.js +2 -2
  122. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  123. package/dist/contexts/shopifyUrlContext/index.d.cts +2 -11
  124. package/dist/contexts/shopifyUrlContext/index.d.ts +2 -11
  125. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  126. package/dist/contexts/systemSettingsContext/index.cjs +4 -4
  127. package/dist/contexts/systemSettingsContext/index.d.cts +6 -16
  128. package/dist/contexts/systemSettingsContext/index.d.ts +4 -14
  129. package/dist/contexts/systemSettingsContext/index.js +4 -4
  130. package/dist/contexts/userIdentityContext/index.cjs +19 -19
  131. package/dist/contexts/userIdentityContext/index.d.cts +11 -2
  132. package/dist/contexts/userIdentityContext/index.d.ts +11 -2
  133. package/dist/contexts/userIdentityContext/index.js +19 -19
  134. package/dist/dist-B7BErEyV.cjs +6019 -0
  135. package/dist/dist-CtkINi1R.js +5923 -0
  136. package/dist/domObserver-B19-69gW.js +285 -0
  137. package/dist/{domObserver-v9ODTyfT.js → domObserver-CwieVNgj.cjs} +23 -4
  138. package/dist/enviveConfig-Be2kZE7j.js +62 -0
  139. package/dist/enviveConfig-u50Rpz-G.cjs +130 -0
  140. package/dist/enviveConfigContext-1oiQuocd.js +45 -0
  141. package/dist/enviveConfigContext-kQfHEGdJ.cjs +60 -0
  142. package/dist/events/index.cjs +2 -3
  143. package/dist/events/index.d.cts +2 -15
  144. package/dist/events/index.d.ts +2 -15
  145. package/dist/events/index.js +2 -2
  146. package/dist/events-CgFGtanE.cjs +69 -0
  147. package/dist/events-WOOrnUAx.js +63 -0
  148. package/dist/exceptions/index.cjs +4 -0
  149. package/dist/exceptions/index.d.cts +12 -0
  150. package/dist/exceptions/index.d.ts +12 -0
  151. package/dist/exceptions/index.js +3 -0
  152. package/dist/exceptions-BjDgLzGi.cjs +32 -0
  153. package/dist/exceptions-CUGY31Ua.js +20 -0
  154. package/dist/featureFlagServiceContext-B7je7VZV.d.cts +24 -0
  155. package/dist/featureFlagServiceContext-CPsygiHO.js +46 -0
  156. package/dist/featureFlagServiceContext-ahy3jou0.d.ts +24 -0
  157. package/dist/featureFlagServiceContext-pPneufeB.cjs +66 -0
  158. package/dist/{globalSearch-Ccxq8hNF.js → globalSearch-B_v9qfCT.js} +1 -1
  159. package/dist/{globalSearch-FBk2epe8.cjs → globalSearch-OiF96VLG.cjs} +1 -1
  160. package/dist/graphql-CvAHWmel.js +46 -0
  161. package/dist/graphql-JaGqsToc.cjs +70 -0
  162. package/dist/graphqlContext-BuXJ5DiW.js +96 -0
  163. package/dist/graphqlContext-CU7NIJo7.cjs +111 -0
  164. package/dist/hooks/AmplitudeOperations/index.cjs +21 -22
  165. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -2
  166. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -2
  167. package/dist/hooks/AmplitudeOperations/index.js +20 -21
  168. package/dist/hooks/AppDetails/index.cjs +22 -22
  169. package/dist/hooks/AppDetails/index.d.cts +3 -23
  170. package/dist/hooks/AppDetails/index.d.ts +3 -23
  171. package/dist/hooks/AppDetails/index.js +22 -22
  172. package/dist/hooks/CdnOperations/index.cjs +4 -4
  173. package/dist/hooks/CdnOperations/index.d.cts +1 -1
  174. package/dist/hooks/CdnOperations/index.js +4 -4
  175. package/dist/hooks/ChatToggle/index.cjs +24 -24
  176. package/dist/hooks/ChatToggle/index.d.cts +2 -2
  177. package/dist/hooks/ChatToggle/index.d.ts +2 -2
  178. package/dist/hooks/ChatToggle/index.js +22 -22
  179. package/dist/hooks/ChatToggleAnalytics/index.cjs +23 -24
  180. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -2
  181. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -2
  182. package/dist/hooks/ChatToggleAnalytics/index.js +22 -23
  183. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -2
  184. package/dist/hooks/CustomerSupportHandoff/index.js +2 -2
  185. package/dist/hooks/Debounce/index.cjs +20 -2
  186. package/dist/hooks/Debounce/index.js +18 -2
  187. package/dist/hooks/ElementObserver/index.cjs +4 -6
  188. package/dist/hooks/ElementObserver/index.d.cts +4 -25
  189. package/dist/hooks/ElementObserver/index.d.ts +4 -25
  190. package/dist/hooks/ElementObserver/index.js +4 -6
  191. package/dist/hooks/GrabAndScroll/index.cjs +1 -1
  192. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  193. package/dist/hooks/GrabAndScroll/index.js +1 -1
  194. package/dist/hooks/GraphQLConfig/index.cjs +9 -14
  195. package/dist/hooks/GraphQLConfig/index.d.cts +2 -13
  196. package/dist/hooks/GraphQLConfig/index.d.ts +2 -13
  197. package/dist/hooks/GraphQLConfig/index.js +9 -14
  198. package/dist/hooks/IdentifyUser/index.cjs +19 -19
  199. package/dist/hooks/IdentifyUser/index.js +19 -19
  200. package/dist/hooks/ImageResolver/index.cjs +20 -29
  201. package/dist/hooks/ImageResolver/index.js +20 -29
  202. package/dist/hooks/Intersection/index.cjs +1 -1
  203. package/dist/hooks/Intersection/index.js +1 -1
  204. package/dist/hooks/LocalStorageOperations/index.cjs +8 -7
  205. package/dist/hooks/LocalStorageOperations/index.js +4 -3
  206. package/dist/hooks/MessageFilter/index.cjs +3 -12
  207. package/dist/hooks/MessageFilter/index.d.cts +2 -17
  208. package/dist/hooks/MessageFilter/index.d.ts +2 -17
  209. package/dist/hooks/MessageFilter/index.js +2 -11
  210. package/dist/hooks/NewOrgConfig/index.cjs +14 -18
  211. package/dist/hooks/NewOrgConfig/index.d.cts +3 -16
  212. package/dist/hooks/NewOrgConfig/index.d.ts +3 -16
  213. package/dist/hooks/NewOrgConfig/index.js +14 -18
  214. package/dist/hooks/Search/index.cjs +332 -167
  215. package/dist/hooks/Search/index.d.cts +3 -57
  216. package/dist/hooks/Search/index.d.ts +3 -57
  217. package/dist/hooks/Search/index.js +320 -156
  218. package/dist/hooks/SearchOperations/index.cjs +25 -25
  219. package/dist/hooks/SearchOperations/index.d.cts +2 -3
  220. package/dist/hooks/SearchOperations/index.d.ts +2 -3
  221. package/dist/hooks/SearchOperations/index.js +25 -25
  222. package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
  223. package/dist/hooks/SessionStorageOperations/index.js +2 -2
  224. package/dist/hooks/ShopifyUrlOperations/index.cjs +3 -3
  225. package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -4
  226. package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -4
  227. package/dist/hooks/ShopifyUrlOperations/index.js +3 -3
  228. package/dist/hooks/SnapCalculator/index.cjs +1 -1
  229. package/dist/hooks/SnapCalculator/index.d.cts +4 -3
  230. package/dist/hooks/SnapCalculator/index.d.ts +4 -3
  231. package/dist/hooks/SnapCalculator/index.js +1 -1
  232. package/dist/hooks/SystemSettingsContext/index.cjs +17 -6
  233. package/dist/hooks/SystemSettingsContext/index.d.cts +5 -15
  234. package/dist/hooks/SystemSettingsContext/index.d.ts +5 -15
  235. package/dist/hooks/SystemSettingsContext/index.js +15 -6
  236. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -21
  237. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +2 -3
  238. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -3
  239. package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -21
  240. package/dist/hooks/UpdateAnalyticsProps/index.cjs +21 -21
  241. package/dist/hooks/UpdateAnalyticsProps/index.js +20 -20
  242. package/dist/hooks/utils.d.cts +20 -13
  243. package/dist/hooks/utils.d.ts +20 -13
  244. package/dist/{index-LTdMHOxj.d.ts → index-B4cSHxVN.d.ts} +1 -1
  245. package/dist/{index-DzbkQtaK.d.cts → index-BQpWG3Jm.d.cts} +1 -1
  246. package/dist/index-BVZbvpx_.d.cts +11 -0
  247. package/dist/index-CEmUfoZa.d.ts +42 -0
  248. package/dist/index-CMZcE7pk.d.cts +224 -0
  249. package/dist/{index-DBqgBV9N.d.ts → index-CYGpI6hE.d.ts} +1 -1
  250. package/dist/{index-9NE86em3.d.cts → index-ClVBVK15.d.cts} +1 -1
  251. package/dist/{index-nDWHlouq.d.ts → index-Clf4wYaJ.d.ts} +1 -1
  252. package/dist/index-DeQte6mb.d.ts +11 -0
  253. package/dist/index-Dzv6WwSZ.d.ts +224 -0
  254. package/dist/{index-FQjyuD3D.d.cts → index-ca7Qn8o0.d.cts} +1 -1
  255. package/dist/{index-DHgVW8ey.d.ts → index-dngXrfnT.d.ts} +1 -1
  256. package/dist/index-qOBU4GEh.d.cts +42 -0
  257. package/dist/{index-Da1s8h5C.d.cts → index-w64il54a.d.cts} +1 -1
  258. package/dist/interceptors/index.cjs +28 -3
  259. package/dist/interceptors/index.d.cts +4 -15
  260. package/dist/interceptors/index.d.ts +4 -15
  261. package/dist/interceptors/index.js +25 -3
  262. package/dist/localStorageContext-Bb2b_3ue.cjs +104 -0
  263. package/dist/localStorageContext-D2uXKahw.js +90 -0
  264. package/dist/{logger-W3lqg-4b.js → logger-BMVdhQOV.js} +1 -1
  265. package/dist/{logger-TBIl4uIH.cjs → logger-BqHq67zN.cjs} +1 -1
  266. package/dist/models-DmsMlaHT.js +1118 -0
  267. package/dist/models-wh2gh_Qz.cjs +1305 -0
  268. package/dist/newOrgConfigAtom-Dsk0fJNR.js +8 -0
  269. package/dist/{newOrgConfigAtom-A4BEeHMf.cjs → newOrgConfigAtom-hs5A1pbZ.cjs} +1 -1
  270. package/dist/newOrgConfigContext-DPUxIF2G.js +53 -0
  271. package/dist/newOrgConfigContext-lw85mMS-.cjs +68 -0
  272. package/dist/nodeSelector-CbWcUbuc.d.ts +28 -0
  273. package/dist/nodeSelector-Cj-Xl1LP.d.cts +28 -0
  274. package/dist/org-C2kLSSe9.cjs +111 -0
  275. package/dist/org-CIczyLRP.js +32 -0
  276. package/dist/search-BzXoTgRx.js +233 -0
  277. package/dist/search-D1cU29CV.cjs +312 -0
  278. package/dist/searchContext-C8DpjnqD.js +129 -0
  279. package/dist/searchContext-R_XuFzYe.cjs +145 -0
  280. package/dist/searchServiceAdapter-CKc7UXKi.js +16 -0
  281. package/dist/searchServiceAdapter-pROGm3Rf.cjs +34 -0
  282. package/dist/sessionStorageContext-ByaTsDUC.cjs +66 -0
  283. package/dist/sessionStorageContext-DKE97oMv.js +52 -0
  284. package/dist/shopifyUrlContext-G9eqIcsL.cjs +75 -0
  285. package/dist/shopifyUrlContext-WAm0pnPh.js +61 -0
  286. package/dist/systemSettingsContext-B-FZ8UAg.js +39 -0
  287. package/dist/systemSettingsContext-J1sny8W8.cjs +60 -0
  288. package/dist/types/index.cjs +3 -33
  289. package/dist/types/index.d.cts +2 -3
  290. package/dist/types/index.d.ts +2 -3
  291. package/dist/types/index.js +2 -30
  292. package/dist/types-1iJ_FnQQ.cjs +39 -0
  293. package/dist/types-D5du68Vp.js +27 -0
  294. package/dist/urlsParser-C-Vzs--G.cjs +78 -0
  295. package/dist/urlsParser-G7Ocwg0M.js +42 -0
  296. package/dist/useAppDetails-BtK9ZZJs.js +30 -0
  297. package/dist/useAppDetails-Bw2jJ39H.cjs +38 -0
  298. package/dist/useGraphQLConfig-Dc8h2yyN.cjs +76 -0
  299. package/dist/useGraphQLConfig-DuLB3tdv.js +63 -0
  300. package/dist/{useIntersection-BJRFGG0f.js → useIntersection-BWiHkpKL.js} +1 -1
  301. package/dist/{useIntersection-CYRvxtRN.cjs → useIntersection-DZHz44BY.cjs} +1 -1
  302. package/dist/{utils-DIvMgPe8.js → utils-B1LVzQYK.js} +1 -1
  303. package/dist/{utils-Buo4KU5l.cjs → utils-BivlGkeU.cjs} +1 -1
  304. package/dist/{utils-BRNaQkCK.js → utils-CExht7Uj.js} +1 -1
  305. package/dist/{utils-CDw74BCO.cjs → utils-CiJLDPjY.cjs} +1 -1
  306. package/dist/utils-D_kATUj6.js +1 -1
  307. package/dist/utils-DqNhRm2b.cjs +1546 -0
  308. package/dist/utils-IogJwDB9.js +1364 -0
  309. package/dist/utils-hYTjy7hJ.cjs +1 -1
  310. package/dist/{utils-DyTiotQz.d.ts → utils-wWki3L1d.d.ts} +1 -1
  311. package/package.json +7 -25
  312. package/src/application/commerce-api.ts +38 -37
  313. package/src/application/models/graphql/index.ts +1 -0
  314. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -23
  315. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -89
  316. package/src/application/models/guards/api/isApiFormResponse.ts +4 -4
  317. package/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts +2 -2
  318. package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +2 -20
  319. package/src/application/models/guards/api/isApiOrgConfigResults.ts +3 -9
  320. package/src/application/models/guards/api/isApiOrganizationConfig.ts +8 -32
  321. package/src/application/models/guards/api/isApiPDPEventAttributes.ts +8 -5
  322. package/src/application/models/guards/api/isApiPLPEventAttributes.ts +14 -10
  323. package/src/application/models/guards/api/isApiPageResponseAttributes.ts +1 -1
  324. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +2 -4
  325. package/src/application/models/guards/api/isApiProductSearchAttributes.ts +9 -6
  326. package/src/application/models/guards/api/isApiProductSearchFilterAttributes.ts +7 -4
  327. package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +8 -3
  328. package/src/application/models/guards/api/isApiResponse.ts +22 -15
  329. package/src/application/models/guards/api/isApiReviewResponseAttributes.ts +1 -1
  330. package/src/application/models/guards/api/isApiReviewRichInformation.ts +1 -1
  331. package/src/application/models/guards/api/isApiTextResponseAttributes.ts +1 -1
  332. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  333. package/src/application/models/guards/isBaseEcommerceEvent.ts +1 -2
  334. package/src/application/models/guards/isGA4EcommerceEvent.ts +1 -1
  335. package/src/application/models/guards/isLegacyUAEcommerceEvent.ts +1 -1
  336. package/src/application/models/guards/isMobilePLPChatPlacementParameter.ts +1 -3
  337. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +5 -3
  338. package/src/application/models/guards/isVariantInfo.ts +6 -1
  339. package/src/application/models/index.ts +30 -95
  340. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  341. package/src/application/models/validators/validateGraphQLColorsConfig.ts +6 -2
  342. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +6 -6
  343. package/src/application/models/validators/validateMobilePLPChatPlacementParameter.ts +5 -3
  344. package/src/application/models/validators/validateOrgConfigResults.ts +6 -5
  345. package/src/application/models/validators/validateOrganizationConfig.ts +11 -8
  346. package/src/application/models/validators/validateResponse.ts +66 -44
  347. package/src/application/models/validators/validateSuggestion.ts +1 -1
  348. package/src/application/models/validators/validateUserEvent.ts +23 -12
  349. package/src/application/utils/analyticsUtils.ts +16 -38
  350. package/src/application/utils/coreContextToApiContext.ts +3 -1
  351. package/src/application/utils/coreUserEventToApiUserEvent.ts +2 -2
  352. package/src/application/utils/elementObserver.ts +1 -1
  353. package/src/application/utils/imageFilter.ts +5 -2
  354. package/src/application/utils/index.ts +20 -21
  355. package/src/application/utils/messageFromFormSubmittedEvent.ts +1 -1
  356. package/src/application/utils/messageFromQueryEvent.ts +1 -1
  357. package/src/application/utils/messageFromResponse.ts +14 -10
  358. package/src/application/utils/messageFromSuggestionEvent.ts +6 -4
  359. package/src/application/utils/mouseEventTypes.ts +1 -1
  360. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  361. package/src/application/utils/overrides.ts +1 -49
  362. package/src/application/utils/supportedEventRequestToApiRequest.ts +3 -1
  363. package/src/application/utils/urlsParser.ts +1 -7
  364. package/src/atoms/app/index.ts +15 -25
  365. package/src/atoms/app/variant.ts +1 -1
  366. package/src/atoms/chat/chatState.ts +9 -14
  367. package/src/atoms/chat/form.ts +1 -1
  368. package/src/atoms/chat/messageQueue.ts +25 -50
  369. package/src/atoms/chat/replies.ts +40 -43
  370. package/src/atoms/chat/suggestions.ts +34 -29
  371. package/src/atoms/envive/enviveConfig.ts +14 -20
  372. package/src/atoms/org/customerService.ts +4 -8
  373. package/src/atoms/org/graphqlConfig.ts +7 -15
  374. package/src/atoms/org/index.ts +4 -6
  375. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  376. package/src/atoms/org/orgAnalyticsConfig.ts +1 -1
  377. package/src/atoms/search/index.ts +0 -1
  378. package/src/atoms/search/productFilters.ts +72 -52
  379. package/src/atoms/search/productRetrievalAPI.ts +72 -0
  380. package/src/atoms/search/productRetrievalAdapter.ts +28 -0
  381. package/src/atoms/search/productSorter.ts +2 -2
  382. package/src/atoms/search/searchAPI.ts +42 -60
  383. package/src/atoms/search/searchServiceAdapter.ts +1 -1
  384. package/src/contexts/amplitudeContext/amplitudeContext.tsx +104 -143
  385. package/src/contexts/cdnContext/cdnContext.tsx +9 -16
  386. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +6 -27
  387. package/src/contexts/enviveCssContext/enviveCssContext.tsx +5 -12
  388. package/src/contexts/featureFlagContext/featureFlagContext.tsx +27 -48
  389. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +11 -3
  390. package/src/contexts/graphqlContext/graphqlContext.tsx +40 -95
  391. package/src/contexts/localStorageContext/localStorageContext.tsx +26 -60
  392. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +10 -22
  393. package/src/contexts/searchContext/searchContext.tsx +29 -49
  394. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +12 -33
  395. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +20 -37
  396. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +8 -21
  397. package/src/contexts/userIdentityContext/userIdentityContext.tsx +33 -77
  398. package/src/events/index.ts +8 -5
  399. package/src/events/registerAnalyticsListeners.ts +10 -13
  400. package/src/exceptions/index.ts +2 -0
  401. package/src/{types/exceptions → exceptions}/unsupportedProductExceptions.ts +2 -2
  402. package/src/global.d.ts +8 -0
  403. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +6 -11
  404. package/src/hooks/AppDetails/useAppDetails.ts +10 -24
  405. package/src/hooks/ChatToggle/useChatToggle.ts +7 -19
  406. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  407. package/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts +1 -1
  408. package/src/hooks/ElementObserver/useElementObserver.ts +14 -32
  409. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +125 -124
  410. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +5 -7
  411. package/src/hooks/ImageResolver/useImageResolver.ts +24 -31
  412. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +12 -19
  413. package/src/hooks/MessageFilter/useMessageFilter.ts +1 -7
  414. package/src/hooks/Search/useRecommendedProducts.ts +50 -0
  415. package/src/hooks/Search/useSearch.tsx +80 -210
  416. package/src/hooks/Search/useSearchInput.ts +227 -0
  417. package/src/hooks/SearchOperations/useSearchOperations.ts +8 -12
  418. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +8 -14
  419. package/src/hooks/SnapCalculator/useSnapCalculator.ts +1 -2
  420. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +8 -11
  421. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +11 -25
  422. package/src/hooks/utils.ts +19 -29
  423. package/src/interceptors/index.ts +1 -2
  424. package/src/interceptors/useMessageInterceptor.ts +10 -6
  425. package/src/{application/models/api/response.ts → types/ApiResponse.ts} +35 -29
  426. package/src/types/FilterAttribute.ts +35 -0
  427. package/src/{application/models/message.ts → types/Message.ts} +38 -34
  428. package/src/types/Suggestion.ts +6 -0
  429. package/src/types/index.ts +4 -4
  430. package/src/util/colorVar.ts +4 -0
  431. package/src/util/configVersion.ts +4 -0
  432. package/src/util/domInsertion.ts +17 -0
  433. package/dist/SystemSettingsContext-CO5c1L62.cjs +0 -20
  434. package/dist/SystemSettingsContext-CXmUlH8i.js +0 -13
  435. package/dist/TrackComponentVisibleEvent-B0WO3ArV.js +0 -52
  436. package/dist/TrackComponentVisibleEvent-LRE9MYzL.cjs +0 -59
  437. package/dist/amplitudeContext-B73xamNe.d.cts +0 -52
  438. package/dist/amplitudeContext-DXnJi0V1.d.ts +0 -52
  439. package/dist/api-BWSsazAG.js +0 -166
  440. package/dist/api-DeW6rHj3.cjs +0 -239
  441. package/dist/application/models/utilityTypes/index.cjs +0 -1
  442. package/dist/application/models/utilityTypes/index.d.cts +0 -2
  443. package/dist/application/models/utilityTypes/index.d.ts +0 -2
  444. package/dist/application/models/utilityTypes/index.js +0 -3
  445. package/dist/application/models/variantInfo/index.cjs +0 -3
  446. package/dist/application/models/variantInfo/index.d.cts +0 -2
  447. package/dist/application/models/variantInfo/index.d.ts +0 -2
  448. package/dist/application/models/variantInfo/index.js +0 -3
  449. package/dist/atoms/search/types.cjs +0 -5
  450. package/dist/atoms/search/types.d.cts +0 -2
  451. package/dist/atoms/search/types.d.ts +0 -2
  452. package/dist/atoms/search/types.js +0 -3
  453. package/dist/cdnContext-CH_-ssYa.js +0 -38
  454. package/dist/cdnContext-D7kHxOzE.cjs +0 -53
  455. package/dist/chat-CqPuT9_V.cjs +0 -393
  456. package/dist/chat-DH70QqJp.js +0 -257
  457. package/dist/chatElementDisplayLocation-BoE6DEdv.d.ts +0 -25
  458. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +0 -25
  459. package/dist/chatSearch-BQCZI8MJ.cjs +0 -418
  460. package/dist/chatSearch-D8xCWU8m.js +0 -295
  461. package/dist/chatState-CcFtSqJT.cjs +0 -120
  462. package/dist/chatState-DKnNHmwe.js +0 -34
  463. package/dist/contexts/chatContext/index.cjs +0 -326
  464. package/dist/contexts/chatContext/index.d.cts +0 -15
  465. package/dist/contexts/chatContext/index.d.ts +0 -15
  466. package/dist/contexts/chatContext/index.js +0 -319
  467. package/dist/contexts/types.cjs +0 -7
  468. package/dist/contexts/types.d.cts +0 -4
  469. package/dist/contexts/types.d.ts +0 -4
  470. package/dist/contexts/types.js +0 -3
  471. package/dist/domObserver-Bqf3ooj8.cjs +0 -304
  472. package/dist/enviveConfig-DZBohDpc.js +0 -62
  473. package/dist/enviveConfig-Dv9-esGV.cjs +0 -130
  474. package/dist/enviveConfigContext-D2OELZDR.cjs +0 -60
  475. package/dist/enviveConfigContext-DrDjCems.js +0 -45
  476. package/dist/events-DYY4l817.cjs +0 -90
  477. package/dist/events-DyUix-Bn.js +0 -78
  478. package/dist/featureFlagServiceContext-CJyYItqu.cjs +0 -62
  479. package/dist/featureFlagServiceContext-C_2m4wPL.d.ts +0 -23
  480. package/dist/featureFlagServiceContext-CiKWV306.d.cts +0 -23
  481. package/dist/featureFlagServiceContext-FBM6DdMJ.js +0 -42
  482. package/dist/featureGates-KEwAL8p_.js +0 -26
  483. package/dist/featureGates-qU_ulhpC.cjs +0 -32
  484. package/dist/frontendConfig-CymUbclV.d.ts +0 -856
  485. package/dist/frontendConfig-tVg0hsWZ.d.cts +0 -856
  486. package/dist/graphql-3PxNRFOc.js +0 -36
  487. package/dist/graphql-DGYfelZp.cjs +0 -53
  488. package/dist/graphqlConfig-GHZ1UgCw.cjs +0 -73
  489. package/dist/graphqlConfig-mDg6J44N.js +0 -24
  490. package/dist/graphqlContext-BZPEAFSR.cjs +0 -111
  491. package/dist/graphqlContext-Bf3E-V2T.d.cts +0 -28
  492. package/dist/graphqlContext-CQikpV_I.d.ts +0 -28
  493. package/dist/graphqlContext-eaZPxgRE.js +0 -96
  494. package/dist/index-BVf069X-.d.ts +0 -184
  495. package/dist/index-B_KJB5L_.d.cts +0 -186
  496. package/dist/index-BkLv_fCu.d.ts +0 -186
  497. package/dist/index-Bmub8e38.d.cts +0 -98
  498. package/dist/index-C0eAp5f5.d.ts +0 -98
  499. package/dist/index-CESxqFso.d.cts +0 -228
  500. package/dist/index-CG3P8xE1.d.cts +0 -676
  501. package/dist/index-CJc7_j_v.d.ts +0 -44
  502. package/dist/index-CiWEYzXl.d.cts +0 -184
  503. package/dist/index-Cyq5HiC0.d.cts +0 -44
  504. package/dist/index-DL2ODEnw.d.ts +0 -1
  505. package/dist/index-DgjDuQl4.d.ts +0 -676
  506. package/dist/index-RcVcRKH7.d.cts +0 -1
  507. package/dist/index-vP8BKdxl.d.ts +0 -228
  508. package/dist/interceptors/types.cjs +0 -1
  509. package/dist/interceptors/types.d.cts +0 -13
  510. package/dist/interceptors/types.d.ts +0 -13
  511. package/dist/interceptors/types.js +0 -3
  512. package/dist/localStorageContext-BPZ82q-G.js +0 -95
  513. package/dist/localStorageContext-NRP-CdmF.cjs +0 -115
  514. package/dist/models-D-4db7XW.cjs +0 -1537
  515. package/dist/models-c86hYW-F.js +0 -1296
  516. package/dist/newOrgConfigAtom-OzAyrPS8.js +0 -8
  517. package/dist/newOrgConfigContext-DOdUxlOE.d.cts +0 -16
  518. package/dist/newOrgConfigContext-DX9iqIIK.cjs +0 -68
  519. package/dist/newOrgConfigContext-aqN8Tu79.js +0 -53
  520. package/dist/newOrgConfigContext-jphS5d4K.d.ts +0 -16
  521. package/dist/nodeSelector-B3bPtEjX.d.cts +0 -31
  522. package/dist/nodeSelector-Dcn3_NrZ.d.ts +0 -31
  523. package/dist/org-Bq2KsJSp.cjs +0 -43
  524. package/dist/org-gtWmGw4K.js +0 -12
  525. package/dist/search-BQPMtze5.cjs +0 -205
  526. package/dist/search-CIrqYYMI.d.ts +0 -20
  527. package/dist/search-PXzaYtZj.js +0 -126
  528. package/dist/search-filter-types-BhK20ts3.d.ts +0 -102
  529. package/dist/search-filter-types-BxaNSLs_.d.cts +0 -102
  530. package/dist/search-y-ioX5Mz.d.cts +0 -20
  531. package/dist/searchContext-CmsLR6Ka.cjs +0 -145
  532. package/dist/searchContext-NPfqMf6b.js +0 -129
  533. package/dist/searchServiceAdapter-BczodJGV.cjs +0 -34
  534. package/dist/searchServiceAdapter-BuEHFG5t.js +0 -16
  535. package/dist/sessionStorageContext-C1u04nAK.js +0 -52
  536. package/dist/sessionStorageContext-Cy8xc9-3.cjs +0 -66
  537. package/dist/shopifyUrlContext-CUyq3f27.cjs +0 -75
  538. package/dist/shopifyUrlContext-DTLlqlMj.js +0 -61
  539. package/dist/spiffyWidgets-BnkP5kXf.d.ts +0 -20
  540. package/dist/spiffyWidgets-BuS00VaQ.d.cts +0 -20
  541. package/dist/systemSettingsContext-Ba-wi2NZ.cjs +0 -60
  542. package/dist/systemSettingsContext-DumUaV0m.js +0 -39
  543. package/dist/test-types-DbrKQIqB.d.ts +0 -40
  544. package/dist/test-types-ThQiO_cc.d.cts +0 -40
  545. package/dist/types-BWzwd0Qc.js +0 -30
  546. package/dist/types-CEx2uKKS.d.ts +0 -51
  547. package/dist/types-CKMMb_gX.d.cts +0 -51
  548. package/dist/types-CKPddlfS.cjs +0 -0
  549. package/dist/types-CtUb63bt.js +0 -76
  550. package/dist/types-Cz8CaPUQ.cjs +0 -48
  551. package/dist/types-Dc6hx6ei.js +0 -1
  552. package/dist/types-Mwm0bS2l.d.ts +0 -10
  553. package/dist/types-UUvB6h05.cjs +0 -106
  554. package/dist/types-zQGBI-Yo.d.cts +0 -10
  555. package/dist/types.cjs +0 -0
  556. package/dist/types.d.cts +0 -15
  557. package/dist/types.d.ts +0 -15
  558. package/dist/types.js +0 -1
  559. package/dist/urlsParser-COzMdJaX.cjs +0 -78
  560. package/dist/urlsParser-DxjoLj98.js +0 -42
  561. package/dist/useAmplitudeOperations-Cv0fi3uj.cjs +0 -41
  562. package/dist/useAmplitudeOperations-Ti6phPPq.js +0 -34
  563. package/dist/useAppDetails-BgqbPlfR.cjs +0 -38
  564. package/dist/useAppDetails-DnKGYtCd.js +0 -30
  565. package/dist/useDebounce-BV7B-Jz3.js +0 -19
  566. package/dist/useDebounce-vU5iW5sa.cjs +0 -26
  567. package/dist/useGraphQLConfig-BizpCw23.cjs +0 -76
  568. package/dist/useGraphQLConfig-DFWl9Z89.js +0 -63
  569. package/dist/useMessageInterceptor-BjGP_uXm.js +0 -25
  570. package/dist/useMessageInterceptor-arAqUq1Q.cjs +0 -33
  571. package/dist/userIdentityContext-BvsEnQVX.d.ts +0 -20
  572. package/dist/userIdentityContext-D2oFVFzo.d.cts +0 -20
  573. package/dist/utilityTypes-B2KuRn37.js +0 -1
  574. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  575. package/dist/utils-B7PAzB_M.d.cts +0 -22
  576. package/dist/utils-CLGXsOwE.cjs +0 -1591
  577. package/dist/utils-CrQ0h9tc.d.ts +0 -22
  578. package/dist/utils-jYtD3hmA.js +0 -1385
  579. package/dist/variantInfo-BfKlkaWU.js +0 -11
  580. package/dist/variantInfo-DpLn4nHz.cjs +0 -17
  581. package/src/application/models/api/context.ts +0 -4
  582. package/src/application/models/api/generationParams.ts +0 -4
  583. package/src/application/models/api/nextMessageRequest.ts +0 -11
  584. package/src/application/models/api/orgAnalyticsConfig.ts +0 -19
  585. package/src/application/models/api/orgConfigResults.ts +0 -44
  586. package/src/application/models/api/organizationConfig.ts +0 -12
  587. package/src/application/models/api/responseGenerics.ts +0 -67
  588. package/src/application/models/api/search.ts +0 -26
  589. package/src/application/models/api/suggestion.ts +0 -4
  590. package/src/application/models/api/supportedEventRequest.ts +0 -8
  591. package/src/application/models/api/userEvent.ts +0 -101
  592. package/src/application/models/cachedValue.ts +0 -8
  593. package/src/application/models/chatElementDisplayLocation.ts +0 -22
  594. package/src/application/models/clientDetails.ts +0 -18
  595. package/src/application/models/colorsConfig.ts +0 -28
  596. package/src/application/models/conversationalSearchIds.ts +0 -5
  597. package/src/application/models/dataLayer.ts +0 -45
  598. package/src/application/models/events.ts +0 -5
  599. package/src/application/models/featureGates.ts +0 -21
  600. package/src/application/models/frontendConfig.ts +0 -14
  601. package/src/application/models/googleAnalyticsEvents.ts +0 -8
  602. package/src/application/models/localStorageEventListener.ts +0 -4
  603. package/src/application/models/mobilePLPChatPlacementParameter.ts +0 -3
  604. package/src/application/models/orgsEnum.ts +0 -36
  605. package/src/application/models/productExperiment.ts +0 -5
  606. package/src/application/models/spanxTakeAQuizCtaParameter.ts +0 -4
  607. package/src/application/models/spiffyWidgets.ts +0 -16
  608. package/src/application/models/utilityTypes/camelCase.ts +0 -87
  609. package/src/application/models/utilityTypes/camelCasedPropertiesDeep.ts +0 -80
  610. package/src/application/models/utilityTypes/delimiterCase.ts +0 -121
  611. package/src/application/models/utilityTypes/delimiterCasedPropertiesDeep.ts +0 -98
  612. package/src/application/models/utilityTypes/index.ts +0 -1
  613. package/src/application/models/utilityTypes/internal.ts +0 -93
  614. package/src/application/models/utilityTypes/primitive.ts +0 -8
  615. package/src/application/models/utilityTypes/snakeCasedPropertiesDeep.ts +0 -49
  616. package/src/application/models/utilityTypes/splitWords.ts +0 -76
  617. package/src/application/models/utilityTypes/trim.ts +0 -28
  618. package/src/application/models/utilityTypes/unknownArray.ts +0 -25
  619. package/src/application/models/variantInfo/index.ts +0 -1
  620. package/src/application/models/variantInfo/pageVisitInfo.ts +0 -6
  621. package/src/application/models/variantInfo/plpInfo.ts +0 -3
  622. package/src/application/models/variantInfo/productInfo.ts +0 -5
  623. package/src/application/models/variantInfo/variantInfo.ts +0 -29
  624. package/src/application/utils/__tests__/divideArrays.test.ts +0 -14
  625. package/src/application/utils/cdnUtils.ts +0 -11
  626. package/src/atoms/search/chatSearch.ts +0 -317
  627. package/src/atoms/search/types.ts +0 -55
  628. package/src/config/divIds.ts +0 -27
  629. package/src/config/socialProofClasses.ts +0 -17
  630. package/src/contexts/chatContext/chatContext.tsx +0 -509
  631. package/src/contexts/chatContext/index.ts +0 -1
  632. package/src/contexts/types.ts +0 -1066
  633. package/src/events/event-types.ts +0 -11
  634. package/src/interceptors/types.ts +0 -6
  635. package/src/merchants/domInsertion.ts +0 -30
  636. package/src/merchants/gridInsertion.ts +0 -19
  637. package/src/types/config-versions.ts +0 -6
  638. package/src/types/customerService.ts +0 -31
  639. package/src/types/custservice-types.ts +0 -28
  640. package/src/types/search-filter-types.ts +0 -111
  641. package/src/types/suggestionBarV2-types.ts +0 -4
  642. package/src/types/test-types.ts +0 -3
  643. package/src/types.ts +0 -11
  644. /package/dist/{AmplitudeOperations-CWI4yjZ4.js → featureFlagServiceContext-CbUOAw5l.js} +0 -0
  645. /package/dist/{AmplitudeOperations-BEGeYKG5.cjs → featureFlagServiceContext-DSo2brno.cjs} +0 -0
  646. /package/src/{types/exceptions → exceptions}/sessionExceptions.ts +0 -0
@@ -1,30 +1,23 @@
1
- import React, {
2
- createContext,
3
- useContext,
4
- useCallback,
5
- useMemo,
6
- useEffect,
7
- } from "react";
8
- import { useAtomValue } from "jotai";
1
+ import React, { createContext, useContext, useCallback, useMemo, useEffect } from 'react';
2
+ import { useAtomValue } from 'jotai';
9
3
  import {
10
4
  Configuration,
11
5
  ResponseCategory,
12
6
  ResponseError,
13
7
  SearchApi,
14
- } from "@spiffy-ai/commerce-api-client";
15
- import { baseUrlAtom } from "src/atoms/envive/enviveConfig";
16
- import Logger from "src/application/logging/logger";
17
- import { useAppDetails } from "src/hooks/AppDetails/useAppDetails";
18
- import { useEnviveConfig } from "src/contexts/enviveConfigContext/enviveConfigContext";
19
- import { SessionRestartRequired } from "src/types/exceptions/sessionExceptions";
20
- import { UnsupportedProductException } from "src/types/exceptions/unsupportedProductExceptions";
21
- import { SearchParams, SearchResult } from "src/application/models/api/search";
8
+ } from '@spiffy-ai/commerce-api-client';
9
+ import { baseUrlAtom } from '../../atoms/envive/enviveConfig';
10
+ import Logger from '../../application/logging/logger';
11
+ import { SessionRestartRequired, UnsupportedProductException } from '../../exceptions';
12
+ import { useAppDetails } from '../../hooks/AppDetails/useAppDetails';
13
+ import { useEnviveConfig } from '../../contexts/enviveConfigContext/enviveConfigContext';
22
14
  import {
23
15
  clearSearchServiceFunction,
24
16
  setSearchServiceFunction,
25
- } from "src/atoms/search/searchServiceAdapter";
17
+ } from '../../atoms/search/searchServiceAdapter';
18
+ import { SearchContextValue, SearchParams, SearchResult } from '@envive-ai/types';
26
19
 
27
- const transformProductResponses = (products: SearchResult["products"]) =>
20
+ const transformProductResponses = (products: SearchResult['products']) =>
28
21
  products.map((data) => ({
29
22
  id: data.id,
30
23
  responseId: data.response_id,
@@ -61,19 +54,19 @@ async function throwSessionRestartRequiredIf(errorMsg: string, error: unknown) {
61
54
 
62
55
  const errorResponse = await errorResponseBody(error);
63
56
  if (
64
- errorResponse?.message?.toLowerCase() === "unsupported product" ||
65
- errorResponse?.app_code?.toUpperCase() === "PRODUCT_NOT_FOUND"
57
+ errorResponse?.message?.toLowerCase() === 'unsupported product' ||
58
+ errorResponse?.app_code?.toUpperCase() === 'PRODUCT_NOT_FOUND'
66
59
  ) {
67
60
  throw new UnsupportedProductException();
68
61
  } else if (
69
- errorResponse?.app_code?.toUpperCase() === "RESTART_SESSION" ||
70
- errorResponse?.sub_code?.toUpperCase() === "NOT_FOUND"
62
+ errorResponse?.app_code?.toUpperCase() === 'RESTART_SESSION' ||
63
+ errorResponse?.sub_code?.toUpperCase() === 'NOT_FOUND'
71
64
  ) {
72
65
  Logger.logInfo(
73
- "Session does not exist. Re-start session",
66
+ 'Session does not exist. Re-start session',
74
67
  error,
75
68
  error.response,
76
- errorResponse
69
+ errorResponse,
77
70
  );
78
71
  throw new SessionRestartRequired();
79
72
  }
@@ -82,16 +75,9 @@ async function throwSessionRestartRequiredIf(errorMsg: string, error: unknown) {
82
75
  throw error;
83
76
  }
84
77
 
85
- interface SearchContextValue {
86
- searchProducts: (params: SearchParams) => Promise<SearchResult>;
87
- isReady: boolean;
88
- }
89
-
90
78
  const SearchContext = createContext<SearchContextValue | undefined>(undefined);
91
79
 
92
- export const SearchProvider: React.FC<{ children: React.ReactNode }> = ({
93
- children,
94
- }) => {
80
+ export const SearchProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
95
81
  const { orgLevelApiKey, publicKey } = useEnviveConfig();
96
82
  const apiKey = orgLevelApiKey || publicKey; // Replicate apiKeyAtom logic
97
83
  const appDetails = useAppDetails();
@@ -106,8 +92,8 @@ export const SearchProvider: React.FC<{ children: React.ReactNode }> = ({
106
92
  accessToken: apiKey,
107
93
  basePath: baseUrl,
108
94
  headers: {
109
- "Content-Type": "application/json",
110
- Accept: "application/json",
95
+ 'Content-Type': 'application/json',
96
+ Accept: 'application/json',
111
97
  },
112
98
  });
113
99
  return new SearchApi(config);
@@ -116,7 +102,7 @@ export const SearchProvider: React.FC<{ children: React.ReactNode }> = ({
116
102
  const searchProducts = useCallback(
117
103
  async (params: SearchParams): Promise<SearchResult> => {
118
104
  if (!isReady || !searchApi) {
119
- throw new Error("SearchService not ready - missing dependencies");
105
+ throw new Error('SearchService not ready - missing dependencies');
120
106
  }
121
107
 
122
108
  try {
@@ -126,30 +112,26 @@ export const SearchProvider: React.FC<{ children: React.ReactNode }> = ({
126
112
  org_id: appDetails.orgId,
127
113
  user_id: appDetails.userId,
128
114
  });
129
- const {
130
- products,
131
- filters,
132
- search_response_id: searchResponseId,
133
- } = response;
115
+ const { products, filters, search_response_id: searchResponseId } = response;
134
116
 
135
117
  return {
136
118
  products: transformProductResponses(products) || [],
137
119
  filters: filters || [],
138
120
  totalProductCount: products?.length || 0,
139
- searchResponseId: searchResponseId || "",
121
+ searchResponseId: searchResponseId || '',
140
122
  };
141
123
  } catch (error) {
142
- await throwSessionRestartRequiredIf("Failed to search products", error);
124
+ await throwSessionRestartRequiredIf('Failed to search products', error);
143
125
  // This part will not be reached if an exception is thrown, but it's required for type safety
144
126
  return {
145
127
  products: [],
146
128
  filters: [],
147
129
  totalProductCount: 0,
148
- searchResponseId: "",
130
+ searchResponseId: '',
149
131
  };
150
132
  }
151
133
  },
152
- [searchApi, isReady, appDetails]
134
+ [searchApi, isReady, appDetails],
153
135
  );
154
136
 
155
137
  // Register the search function with the adapter for use in atoms
@@ -170,18 +152,16 @@ export const SearchProvider: React.FC<{ children: React.ReactNode }> = ({
170
152
  searchProducts,
171
153
  isReady,
172
154
  }),
173
- [searchProducts, isReady]
155
+ [searchProducts, isReady],
174
156
  );
175
157
 
176
- return (
177
- <SearchContext.Provider value={value}>{children}</SearchContext.Provider>
178
- );
158
+ return <SearchContext.Provider value={value}>{children}</SearchContext.Provider>;
179
159
  };
180
160
 
181
161
  export const useSearchService = () => {
182
162
  const context = useContext(SearchContext);
183
163
  if (!context) {
184
- throw new Error("useSearchService must be used within a SearchProvider");
164
+ throw new Error('useSearchService must be used within a SearchProvider');
185
165
  }
186
166
  return context;
187
167
  };
@@ -1,28 +1,15 @@
1
- import React, {
2
- createContext,
3
- useContext,
4
- useCallback,
5
- useMemo,
6
- useEffect,
7
- } from "react";
8
- import Logger from "../../application/logging/logger";
1
+ import React, { createContext, useContext, useCallback, useMemo, useEffect } from 'react';
2
+ import Logger from '../../application/logging/logger';
3
+ import { SessionStorageContextType } from '@envive-ai/types';
9
4
 
10
- interface SessionStorageContextType {
11
- setItem: (key: string, value: string) => void;
12
- getItem: (key: string) => string | null;
13
- isAvailable: boolean;
14
- }
15
-
16
- const SessionStorageContext = createContext<SessionStorageContextType | null>(
17
- null
18
- );
5
+ const SessionStorageContext = createContext<SessionStorageContextType | null>(null);
19
6
 
20
7
  export const SessionStorageProvider: React.FC<{
21
8
  children: React.ReactNode;
22
9
  }> = ({ children }) => {
23
10
  const isAvailable = useMemo(() => {
24
11
  try {
25
- return typeof window !== "undefined" && !!window.sessionStorage;
12
+ return typeof window !== 'undefined' && !!window.sessionStorage;
26
13
  } catch {
27
14
  return false;
28
15
  }
@@ -30,7 +17,7 @@ export const SessionStorageProvider: React.FC<{
30
17
 
31
18
  useEffect(() => {
32
19
  if (!isAvailable) {
33
- Logger.logError("sessionStorage is not available", undefined);
20
+ Logger.logError('sessionStorage is not available', undefined);
34
21
  }
35
22
  }, [isAvailable]);
36
23
 
@@ -38,11 +25,9 @@ export const SessionStorageProvider: React.FC<{
38
25
  (key: string, value: string) => {
39
26
  if (!isAvailable) return;
40
27
  sessionStorage.setItem(key, value);
41
- window.dispatchEvent(
42
- new StorageEvent("storage", { key, newValue: value })
43
- );
28
+ window.dispatchEvent(new StorageEvent('storage', { key, newValue: value }));
44
29
  },
45
- [isAvailable]
30
+ [isAvailable],
46
31
  );
47
32
 
48
33
  const getItem = useCallback(
@@ -50,7 +35,7 @@ export const SessionStorageProvider: React.FC<{
50
35
  if (!isAvailable) return null;
51
36
  return sessionStorage.getItem(key);
52
37
  },
53
- [isAvailable]
38
+ [isAvailable],
54
39
  );
55
40
 
56
41
  const value = useMemo(
@@ -59,22 +44,16 @@ export const SessionStorageProvider: React.FC<{
59
44
  getItem,
60
45
  isAvailable,
61
46
  }),
62
- [setItem, getItem, isAvailable]
47
+ [setItem, getItem, isAvailable],
63
48
  );
64
49
 
65
- return (
66
- <SessionStorageContext.Provider value={value}>
67
- {children}
68
- </SessionStorageContext.Provider>
69
- );
50
+ return <SessionStorageContext.Provider value={value}>{children}</SessionStorageContext.Provider>;
70
51
  };
71
52
 
72
53
  export const useSessionStorage = () => {
73
54
  const context = useContext(SessionStorageContext);
74
55
  if (!context) {
75
- throw new Error(
76
- "useSessionStorage must be used within a SessionStorageProvider"
77
- );
56
+ throw new Error('useSessionStorage must be used within a SessionStorageProvider');
78
57
  }
79
58
  return context;
80
59
  };
@@ -1,32 +1,20 @@
1
- import React, { createContext, useCallback, useContext, useMemo } from "react";
2
- import { IdExtractor } from "src/contexts/types";
3
- import { parseHref } from "src/application/utils/urlsParser";
1
+ import React, { createContext, useCallback, useContext, useMemo } from 'react';
2
+ import { parseHref } from '../../application/utils/urlsParser';
3
+ import { IdExtractor, ShopifyUrlContextType } from '@envive-ai/types';
4
4
 
5
- interface ShopifyUrlContextType {
6
- getTrimmedPathName: () => string | null;
7
- getPlpOrPdpId: (extractor: IdExtractor) => string | null;
8
- isOnPdpPage: () => boolean;
9
- isOnPlpPage: () => boolean;
10
- isReady: boolean;
11
- }
5
+ const ShopifyUrlContext = createContext<ShopifyUrlContextType | undefined>(undefined);
12
6
 
13
- const ShopifyUrlContext = createContext<ShopifyUrlContextType | undefined>(
14
- undefined
15
- );
16
-
17
- export const ShopifyUrlProvider: React.FC<{ children: React.ReactNode }> = ({
18
- children,
19
- }) => {
7
+ export const ShopifyUrlProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
20
8
  const isReady = true; // No external dependencies, so always ready
21
9
 
22
10
  const getTrimmedPathName = useCallback((): string | null => {
23
11
  let { pathname } = window.location;
24
12
  // strip out the proxy path so local dev still works
25
- pathname = pathname.replace("/proxy", "");
13
+ pathname = pathname.replace('/proxy', '');
26
14
  // remove trailing hash if it exists
27
- pathname = pathname.replace(/#.*$/, "");
15
+ pathname = pathname.replace(/#.*$/, '');
28
16
  // remove trailing /, ie. some URLs can end with '/' like /collections/cast-iron/
29
- pathname = pathname.replace(/\/$/, "");
17
+ pathname = pathname.replace(/\/$/, '');
30
18
 
31
19
  if (pathname === undefined || pathname === null || pathname.length === 0) {
32
20
  return null;
@@ -37,35 +25,34 @@ export const ShopifyUrlProvider: React.FC<{ children: React.ReactNode }> = ({
37
25
 
38
26
  const getPlpOrPdpId = useCallback(
39
27
  (extractor: IdExtractor): string | null => {
40
- if (extractor === "shopify-product-variant-id") {
28
+ if (extractor === 'shopify-product-variant-id') {
41
29
  const parsedHref = parseHref(window.location.href);
42
- const variantId = parsedHref?.urlSearchParams?.get("variant");
30
+ const variantId = parsedHref?.urlSearchParams?.get('variant');
43
31
  if (!variantId) {
44
- return getPlpOrPdpId("shopify-product-id");
32
+ return getPlpOrPdpId('shopify-product-id');
45
33
  }
46
34
  return variantId;
47
35
  }
48
36
 
49
- const pathSegment =
50
- extractor === "shopify-product-id" ? "products" : "collections";
51
- const tokens = getTrimmedPathName()?.split("/");
37
+ const pathSegment = extractor === 'shopify-product-id' ? 'products' : 'collections';
38
+ const tokens = getTrimmedPathName()?.split('/');
52
39
  const idIndex = tokens?.findIndex((token) => token === pathSegment);
53
40
  if (idIndex !== undefined && idIndex >= 0 && tokens) {
54
41
  return decodeURIComponent(tokens[idIndex + 1]);
55
42
  }
56
43
  return null;
57
44
  },
58
- [getTrimmedPathName]
45
+ [getTrimmedPathName],
59
46
  );
60
47
 
61
48
  const isOnPdpPage = useCallback((): boolean => {
62
- return getTrimmedPathName()?.includes("/products") ?? false;
49
+ return getTrimmedPathName()?.includes('/products') ?? false;
63
50
  }, [getTrimmedPathName]);
64
51
 
65
52
  const isOnPlpPage = useCallback((): boolean => {
66
53
  return (
67
- (getTrimmedPathName()?.includes("/collections") &&
68
- !getTrimmedPathName()?.includes("/products")) ??
54
+ (getTrimmedPathName()?.includes('/collections') &&
55
+ !getTrimmedPathName()?.includes('/products')) ??
69
56
  false
70
57
  );
71
58
  }, [getTrimmedPathName]);
@@ -78,20 +65,16 @@ export const ShopifyUrlProvider: React.FC<{ children: React.ReactNode }> = ({
78
65
  isOnPlpPage,
79
66
  isReady,
80
67
  }),
81
- [getTrimmedPathName, getPlpOrPdpId, isOnPdpPage, isOnPlpPage, isReady]
68
+ [getTrimmedPathName, getPlpOrPdpId, isOnPdpPage, isOnPlpPage, isReady],
82
69
  );
83
70
 
84
- return (
85
- <ShopifyUrlContext.Provider value={value}>
86
- {children}
87
- </ShopifyUrlContext.Provider>
88
- );
71
+ return <ShopifyUrlContext.Provider value={value}>{children}</ShopifyUrlContext.Provider>;
89
72
  };
90
73
 
91
74
  export const useShopifyUrl = () => {
92
75
  const context = useContext(ShopifyUrlContext);
93
76
  if (!context) {
94
- throw new Error("useShopifyUrl must be used within a ShopifyUrlProvider");
77
+ throw new Error('useShopifyUrl must be used within a ShopifyUrlProvider');
95
78
  }
96
79
  return context;
97
80
  };
@@ -1,14 +1,7 @@
1
- import { useAtomValue } from "jotai";
2
- import {
3
- Dispatch,
4
- ReactNode,
5
- SetStateAction,
6
- createContext,
7
- useMemo,
8
- useState,
9
- } from "react";
10
- import { GenerationParams } from "src/application/models";
11
- import { baseUrlAtom } from "src/atoms/envive/enviveConfig";
1
+ import { GenerationParams } from '@envive-ai/types';
2
+ import { useAtomValue } from 'jotai';
3
+ import { Dispatch, ReactNode, SetStateAction, createContext, useMemo, useState } from 'react';
4
+ import { baseUrlAtom } from 'src/atoms/envive/enviveConfig';
12
5
 
13
6
  // TODO: Refactor this to a common service that handles query params (and spiffy variables all together)
14
7
  const getChatModelName = () => {
@@ -37,9 +30,7 @@ interface SystemSettingsContextProviderProps {
37
30
  showDebugBar?: boolean;
38
31
  }
39
32
 
40
- const SystemSettingsContext = createContext<
41
- SystemSettingsContextParams | undefined
42
- >(undefined);
33
+ const SystemSettingsContext = createContext<SystemSettingsContextParams | undefined>(undefined);
43
34
 
44
35
  const SystemSettingsContextProvider = ({
45
36
  children,
@@ -47,7 +38,7 @@ const SystemSettingsContextProvider = ({
47
38
  showDebugBar,
48
39
  }: SystemSettingsContextProviderProps) => {
49
40
  const [params, setParams] = useState<GenerationParams | undefined>(
50
- () => generationParams ?? defaultGenerationParams
41
+ () => generationParams ?? defaultGenerationParams,
51
42
  );
52
43
  const endpointURL = useAtomValue(baseUrlAtom);
53
44
  const settingsContextValues = useMemo(
@@ -57,7 +48,7 @@ const SystemSettingsContextProvider = ({
57
48
  setGenerationParams: setParams,
58
49
  endpointURL,
59
50
  }),
60
- [generationParams, endpointURL, showDebugBar]
51
+ [generationParams, endpointURL, showDebugBar],
61
52
  );
62
53
 
63
54
  return (
@@ -67,8 +58,4 @@ const SystemSettingsContextProvider = ({
67
58
  );
68
59
  };
69
60
 
70
- export {
71
- SystemSettingsContextProvider,
72
- SystemSettingsContext,
73
- defaultGenerationParams,
74
- };
61
+ export { SystemSettingsContextProvider, SystemSettingsContext, defaultGenerationParams };
@@ -1,17 +1,10 @@
1
- import React, {
2
- createContext,
3
- useCallback,
4
- useContext,
5
- useMemo,
6
- useState,
7
- useEffect,
8
- } from "react";
9
- import UAParser from "ua-parser-js";
10
- import Logger from "src/application/logging/logger";
11
- import CommerceApiClient from "src/application/commerce-api";
12
- import { v4 as uuid } from "uuid";
13
- import { ClientDetails } from "src/application/models/clientDetails";
14
- import { useLocalStorage } from "src/contexts/localStorageContext";
1
+ import React, { createContext, useCallback, useContext, useMemo, useState, useEffect } from 'react';
2
+ import UAParser from 'ua-parser-js';
3
+ import { ClientDetails, UserIdentityContextType } from '@envive-ai/types';
4
+ import Logger from '../../application/logging/logger';
5
+ import CommerceApiClient from '../../application/commerce-api';
6
+ import { useLocalStorage } from '../localStorageContext';
7
+ import { v4 as uuid } from 'uuid';
15
8
 
16
9
  // Helper function from the original service
17
10
  const getUserAgentDetails = (): ClientDetails => {
@@ -30,29 +23,10 @@ const getUserAgentDetails = (): ClientDetails => {
30
23
  };
31
24
  };
32
25
 
33
- export interface UserIdentityContextType {
34
- identifyUser: () => Promise<void>;
35
- getUserIdOrDefault: () => string;
36
- getUserIdOverrideFromLocalStorage: () => string | undefined;
37
- getUserIdDefaultFromLocalStorage: () => string | undefined;
38
- setUserIdDefaultInLocalStorage: (userId: string) => string;
39
- setUserIdOverrideInLocalStorage: (userId: string) => string;
40
- clearUserIdOverrideInLocalStorage: () => void;
41
- isReady: boolean;
42
- }
43
-
44
- const UserIdentityContext = createContext<UserIdentityContextType | undefined>(
45
- undefined
46
- );
47
-
48
- export const UserIdentityProvider: React.FC<{ children: React.ReactNode }> = ({
49
- children,
50
- }) => {
51
- const {
52
- getItem,
53
- setItem,
54
- isAvailable: localStorageIsReady,
55
- } = useLocalStorage();
26
+ const UserIdentityContext = createContext<UserIdentityContextType | undefined>(undefined);
27
+
28
+ export const UserIdentityProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
29
+ const { getItem, setItem, isAvailable: localStorageIsReady } = useLocalStorage();
56
30
 
57
31
  const [isReady, setIsReady] = useState(false);
58
32
 
@@ -62,50 +36,44 @@ export const UserIdentityProvider: React.FC<{ children: React.ReactNode }> = ({
62
36
  setIsReady(localStorageIsReady);
63
37
  }, [localStorageIsReady]);
64
38
 
65
- const USER_ID_OVERRIDE_KEY = "v1-spiffy-user-id-override";
66
- const USER_ID_DEFAULT_KEY = "v1-spiffy-user-id-default";
39
+ const USER_ID_OVERRIDE_KEY = 'v1-spiffy-user-id-override';
40
+ const USER_ID_DEFAULT_KEY = 'v1-spiffy-user-id-default';
67
41
 
68
- const getUserIdOverrideFromLocalStorage = useCallback(():
69
- | string
70
- | undefined => {
71
- return getItem(USER_ID_OVERRIDE_KEY) ?? undefined;
72
- }, [getItem]);
42
+ const getUserIdOverrideFromLocalStorage = useCallback(
43
+ (): string | undefined => getItem(USER_ID_OVERRIDE_KEY) ?? undefined,
44
+ [getItem],
45
+ );
73
46
 
74
- const getUserIdDefaultFromLocalStorage = useCallback(():
75
- | string
76
- | undefined => {
77
- return getItem(USER_ID_DEFAULT_KEY) ?? undefined;
78
- }, [getItem]);
47
+ const getUserIdDefaultFromLocalStorage = useCallback(
48
+ (): string | undefined => getItem(USER_ID_DEFAULT_KEY) ?? undefined,
49
+ [getItem],
50
+ );
79
51
 
80
52
  const setUserIdDefaultInLocalStorage = useCallback(
81
53
  (userId: string): string => {
82
- Logger.logInfo(
83
- `setUserIdDefaultInLocalStorage - Setting user_id=${userId}`
84
- );
54
+ Logger.logInfo(`setUserIdDefaultInLocalStorage - Setting user_id=${userId}`);
85
55
  setItem(USER_ID_DEFAULT_KEY, userId);
86
56
  // window.dispatchEvent is handled by useLocalStorage now
87
57
  return userId;
88
58
  },
89
- [setItem, USER_ID_DEFAULT_KEY]
59
+ [setItem, USER_ID_DEFAULT_KEY],
90
60
  );
91
61
 
92
62
  const setUserIdOverrideInLocalStorage = useCallback(
93
63
  (userId: string): string => {
94
- Logger.logInfo(
95
- `setUserIdOverrideInLocalStorage - Setting user_id=${userId}`
96
- );
64
+ Logger.logInfo(`setUserIdOverrideInLocalStorage - Setting user_id=${userId}`);
97
65
  setItem(USER_ID_OVERRIDE_KEY, userId);
98
66
  // window.dispatchEvent is handled by useLocalStorage now
99
67
  return userId;
100
68
  },
101
- [setItem, USER_ID_OVERRIDE_KEY]
69
+ [setItem, USER_ID_OVERRIDE_KEY],
102
70
  );
103
71
 
104
72
  const clearUserIdOverrideInLocalStorage = useCallback(() => {
105
73
  Logger.logInfo(`clearUserIdOverrideInLocalStorage - Clearing user_id`);
106
74
  // LocalStorageService.getLocalStorage()?.removeItem(USER_ID_OVERRIDE_KEY);
107
75
  // window.dispatchEvent is handled by useLocalStorage now
108
- setItem(USER_ID_OVERRIDE_KEY, ""); // Set to empty string to clear
76
+ setItem(USER_ID_OVERRIDE_KEY, ''); // Set to empty string to clear
109
77
  }, [setItem, USER_ID_OVERRIDE_KEY]);
110
78
 
111
79
  const getUserIdOrDefault = useCallback((): string => {
@@ -128,31 +96,25 @@ export const UserIdentityProvider: React.FC<{ children: React.ReactNode }> = ({
128
96
 
129
97
  const identifyUser = useCallback(async (): Promise<void> => {
130
98
  if (!isReady) {
131
- Logger.logWarn(
132
- "[UserIdentityContext] Context not ready, skipping identifyUser",
133
- undefined
134
- );
99
+ Logger.logWarn('[UserIdentityContext] Context not ready, skipping identifyUser', undefined);
135
100
  return;
136
101
  }
137
102
 
138
103
  try {
139
104
  // Temporarily commented out until WindowDataLayerService is resolved
140
105
  // const cdpUserId = WindowDataLayerService.getGoogleAnalyticsClientId();
141
- const cdpUserId = "UNKNOWN_CDP_USER_ID"; // Placeholder
106
+ const cdpUserId = 'UNKNOWN_CDP_USER_ID'; // Placeholder
142
107
  const userId = getUserIdOrDefault();
143
108
  const userAgentDetails = getUserAgentDetails();
144
109
 
145
110
  if (!cdpUserId) {
146
- Logger.logWarn(
147
- "[spiffy-ai] No GA Client ID found, skipping identifyUser",
148
- undefined
149
- );
111
+ Logger.logWarn('[spiffy-ai] No GA Client ID found, skipping identifyUser', undefined);
150
112
  return;
151
113
  }
152
114
 
153
115
  await CommerceApiClient.identifyUser(userId, cdpUserId, userAgentDetails);
154
116
  } catch (error) {
155
- Logger.logError("[spiffy-ai] Error identifying user", error);
117
+ Logger.logError('[spiffy-ai] Error identifying user', error);
156
118
  }
157
119
  }, [isReady, getUserIdOrDefault]);
158
120
 
@@ -176,22 +138,16 @@ export const UserIdentityProvider: React.FC<{ children: React.ReactNode }> = ({
176
138
  setUserIdOverrideInLocalStorage,
177
139
  clearUserIdOverrideInLocalStorage,
178
140
  isReady,
179
- ]
141
+ ],
180
142
  );
181
143
 
182
- return (
183
- <UserIdentityContext.Provider value={value}>
184
- {children}
185
- </UserIdentityContext.Provider>
186
- );
144
+ return <UserIdentityContext.Provider value={value}>{children}</UserIdentityContext.Provider>;
187
145
  };
188
146
 
189
147
  export const useUserIdentity = () => {
190
148
  const context = useContext(UserIdentityContext);
191
149
  if (!context) {
192
- throw new Error(
193
- "useUserIdentity must be used within a UserIdentityProvider"
194
- );
150
+ throw new Error('useUserIdentity must be used within a UserIdentityProvider');
195
151
  }
196
152
  return context;
197
153
  };
@@ -1,15 +1,13 @@
1
- export { SpiffyEvent } from './event-types';
2
-
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
2
  /**
4
3
  * A singleton class for dispatching Spiffy events to the document object.
5
4
  * Provides functionality for adding default event data, managing listeners,
6
5
  * and dispatching events.
7
- *
6
+ *
8
7
  * TODO: could add observability to the listeners, would need to track listeners
9
8
  * internally.
10
9
  */
11
10
  export class EventsDispatcher {
12
-
13
11
  static eventData: Record<string, any> = {};
14
12
 
15
13
  /**
@@ -38,7 +36,12 @@ export class EventsDispatcher {
38
36
  includeDefault = true;
39
37
  }
40
38
  const eventData = includeDefault ? { ...this.eventData, ...detail } : detail;
41
- const event = new CustomEvent(eventName, { detail: eventData, bubbles: true, composed: true, cancelable: false });
39
+ const event = new CustomEvent(eventName, {
40
+ detail: eventData,
41
+ bubbles: true,
42
+ composed: true,
43
+ cancelable: false,
44
+ });
42
45
  window.dispatchEvent(event);
43
46
  }
44
47