@envive-ai/react-hooks 0.1.3 → 0.1.4

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 (428) hide show
  1. package/dist/adapters/amplitude/index.cjs +13 -13
  2. package/dist/adapters/amplitude/index.d.cts +5 -3
  3. package/dist/adapters/amplitude/index.d.ts +5 -3
  4. package/dist/adapters/amplitude/index.js +10 -10
  5. package/dist/api-B2euFL-5.cjs +269 -0
  6. package/dist/api-XRr_lAG6.js +190 -0
  7. package/dist/application/config/index.cjs +14 -5
  8. package/dist/application/config/index.d.cts +2 -1
  9. package/dist/application/config/index.d.ts +2 -1
  10. package/dist/application/config/index.js +14 -5
  11. package/dist/application/models/graphql/index.cjs +12 -12
  12. package/dist/application/models/graphql/index.d.cts +1 -1
  13. package/dist/application/models/graphql/index.d.ts +1 -1
  14. package/dist/application/models/graphql/index.js +10 -10
  15. package/dist/application/models/guards/api/index.cjs +2 -2
  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 +2 -2
  19. package/dist/application/models/index.cjs +54 -54
  20. package/dist/application/models/index.d.cts +8 -9
  21. package/dist/application/models/index.d.ts +8 -9
  22. package/dist/application/models/index.js +10 -10
  23. package/dist/application/models/utilityTypes/index.cjs +1 -1
  24. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  25. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  26. package/dist/application/models/utilityTypes/index.js +1 -1
  27. package/dist/application/models/variantInfo/index.cjs +1 -1
  28. package/dist/application/models/variantInfo/index.d.cts +1 -1
  29. package/dist/application/models/variantInfo/index.d.ts +1 -1
  30. package/dist/application/models/variantInfo/index.js +1 -1
  31. package/dist/application/service/customerService/index.cjs +2 -2
  32. package/dist/application/service/customerService/index.d.cts +2 -2
  33. package/dist/application/service/customerService/index.d.ts +2 -2
  34. package/dist/application/service/customerService/index.js +2 -2
  35. package/dist/application/service/index.cjs +37 -757
  36. package/dist/application/service/index.d.cts +14 -22
  37. package/dist/application/service/index.d.ts +14 -22
  38. package/dist/application/service/index.js +12 -727
  39. package/dist/application/utils/index.cjs +37 -37
  40. package/dist/application/utils/index.d.cts +13 -13
  41. package/dist/application/utils/index.d.ts +12 -12
  42. package/dist/application/utils/index.js +10 -10
  43. package/dist/atomStore-B1cgmbP0.js +32 -0
  44. package/dist/atomStore-JwGb7pcy.cjs +58 -0
  45. package/dist/atoms/app/index.cjs +16 -16
  46. package/dist/atoms/app/index.d.cts +11 -11
  47. package/dist/atoms/app/index.d.ts +12 -12
  48. package/dist/atoms/app/index.js +10 -10
  49. package/dist/atoms/atomStore/index.cjs +1 -2
  50. package/dist/atoms/atomStore/index.d.cts +2 -1
  51. package/dist/atoms/atomStore/index.d.ts +2 -1
  52. package/dist/atoms/atomStore/index.js +1 -2
  53. package/dist/atoms/chat/index.cjs +40 -40
  54. package/dist/atoms/chat/index.d.cts +37 -37
  55. package/dist/atoms/chat/index.d.ts +38 -38
  56. package/dist/atoms/chat/index.js +10 -10
  57. package/dist/atoms/globalSearch/index.cjs +1 -1
  58. package/dist/atoms/globalSearch/index.d.cts +7 -6
  59. package/dist/atoms/globalSearch/index.d.ts +7 -6
  60. package/dist/atoms/globalSearch/index.js +1 -1
  61. package/dist/atoms/org/index.cjs +37 -40
  62. package/dist/atoms/org/index.d.cts +32 -53
  63. package/dist/atoms/org/index.d.ts +31 -52
  64. package/dist/atoms/org/index.js +11 -12
  65. package/dist/atoms/search/index.cjs +41 -43
  66. package/dist/atoms/search/index.d.cts +9 -10
  67. package/dist/atoms/search/index.d.ts +9 -10
  68. package/dist/atoms/search/index.js +10 -12
  69. package/dist/bandolier-B76-OE75.cjs +1230 -0
  70. package/dist/bandolier-DRn_x1g1.js +1230 -0
  71. package/dist/carpe-kHi4RLB5.cjs +608 -0
  72. package/dist/carpe-qrSU99gq.js +606 -0
  73. package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
  74. package/dist/chat-CLJ4NWcN.js +26 -0
  75. package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
  76. package/dist/components-CV1fhAkj.js +11 -0
  77. package/dist/config/locators/components/chat/index.cjs +1 -1
  78. package/dist/config/locators/components/chat/index.d.cts +1 -1
  79. package/dist/config/locators/components/chat/index.d.ts +1 -1
  80. package/dist/config/locators/components/chat/index.js +1 -1
  81. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  82. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  83. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  84. package/dist/config/locators/components/chat/variants/index.js +2 -1
  85. package/dist/config/locators/components/index.cjs +1 -1
  86. package/dist/config/locators/components/index.d.cts +1 -1
  87. package/dist/config/locators/components/index.d.ts +1 -1
  88. package/dist/config/locators/components/index.js +1 -1
  89. package/dist/config/locators/components/search/index.cjs +2 -1
  90. package/dist/config/locators/components/search/index.d.cts +2 -1
  91. package/dist/config/locators/components/search/index.d.ts +2 -1
  92. package/dist/config/locators/components/search/index.js +2 -1
  93. package/dist/config/locators/index.cjs +4 -4
  94. package/dist/config/locators/index.d.cts +4 -3
  95. package/dist/config/locators/index.d.ts +4 -3
  96. package/dist/config/locators/index.js +4 -4
  97. package/dist/contexts/index.cjs +20 -23
  98. package/dist/contexts/index.d.cts +38 -19
  99. package/dist/contexts/index.d.ts +41 -22
  100. package/dist/contexts/index.js +11 -17
  101. package/dist/contexts-CQDwe3rK.cjs +14333 -0
  102. package/dist/contexts-e2sM-B9g.js +12919 -0
  103. package/dist/coterie-mMirPcHP.js +240 -0
  104. package/dist/coterie-yQ-_JXSw.cjs +240 -0
  105. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  106. package/dist/customerService-BHQRnLhC.js +23 -0
  107. package/dist/custservice-types-C83itZmy.cjs +35 -0
  108. package/dist/custservice-types-DPQ-4TI6.js +23 -0
  109. package/dist/default-8Jfv8ehQ.cjs +199 -0
  110. package/dist/default-C8PQf-38.js +176 -0
  111. package/dist/default-LukSiCz1.js +4 -0
  112. package/dist/default-rJSJ887P.cjs +4 -0
  113. package/dist/divIds-CWkntTsx.js +23 -0
  114. package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
  115. package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
  116. package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
  117. package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
  118. package/dist/embedded-C5uJqmuD.js +23 -0
  119. package/dist/entrypoints-CNUvSgnk.js +7 -0
  120. package/dist/entrypoints-DM9Sm18O.cjs +19 -0
  121. package/dist/events/index.cjs +1 -1
  122. package/dist/events/index.d.cts +2 -1
  123. package/dist/events/index.d.ts +2 -1
  124. package/dist/events/index.js +1 -1
  125. package/dist/events-ClCDFK7t.js +78 -0
  126. package/dist/events-Da7gpmGv.cjs +90 -0
  127. package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
  128. package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
  129. package/dist/fiveCbd-Cvnwh03g.cjs +614 -0
  130. package/dist/fiveCbd-DhYMlsf9.js +614 -0
  131. package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
  132. package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
  133. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  134. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  135. package/dist/greenpan-B4Pu65kV.js +398 -0
  136. package/dist/greenpan-BL5p6j7f.cjs +398 -0
  137. package/dist/grooveLife-DjKWHoN3.cjs +343 -0
  138. package/dist/grooveLife-JK0TyaPz.js +343 -0
  139. package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
  140. package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
  141. package/dist/hooks/index.cjs +38 -38
  142. package/dist/hooks/index.d.cts +25 -16
  143. package/dist/hooks/index.d.ts +30 -21
  144. package/dist/hooks/index.js +11 -17
  145. package/dist/index-BTK5uzs6.d.cts +98 -0
  146. package/dist/index-BfuO9b0Q.d.ts +749 -0
  147. package/dist/index-BzgkfbNO.d.cts +228 -0
  148. package/dist/index-C62lPpy4.d.cts +25 -0
  149. package/dist/index-CExtydIH.d.ts +9 -0
  150. package/dist/index-CKKkTsms.d.ts +39 -0
  151. package/dist/index-CNsGWfS6.d.cts +749 -0
  152. package/dist/index-CYtsPztZ.d.cts +203 -0
  153. package/dist/index-C_C0tLeD.d.ts +203 -0
  154. package/dist/index-ClJ0nMsR.d.cts +184 -0
  155. package/dist/index-Cx9e-fRi.d.ts +184 -0
  156. package/dist/index-D2VaMPA3.d.ts +98 -0
  157. package/dist/index-D46Rd0io.d.cts +39 -0
  158. package/dist/index-DFL1dIT_.d.ts +7 -0
  159. package/dist/index-DPx8s5YH.d.ts +25 -0
  160. package/dist/index-Dxpscrvz.d.ts +228 -0
  161. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  162. package/dist/index-VSFakgAI.d.cts +95 -0
  163. package/dist/index-jBATkcc_.d.cts +9 -0
  164. package/dist/index-zZjcds15.d.cts +7 -0
  165. package/dist/interceptors/index.cjs +12 -13
  166. package/dist/interceptors/index.d.cts +10 -10
  167. package/dist/interceptors/index.d.ts +10 -10
  168. package/dist/interceptors/index.js +10 -11
  169. package/dist/jackArcher-CXf_IAmC.js +728 -0
  170. package/dist/jackArcher-mGkojXek.cjs +728 -0
  171. package/dist/jordanCraig-BvCvPRoR.js +1787 -0
  172. package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
  173. package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
  174. package/dist/kindredBravely-X8F_LNph.js +491 -0
  175. package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
  176. package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
  177. package/dist/larryAndSerges-1411NuZa.cjs +262 -0
  178. package/dist/larryAndSerges-DVIRLItu.js +262 -0
  179. package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
  180. package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
  181. package/dist/logger-Dln20ans.cjs +26 -0
  182. package/dist/logger-pdEEY8T2.js +20 -0
  183. package/dist/longevityrx-BFSv9GF5.cjs +321 -0
  184. package/dist/longevityrx-Cp6wleWr.js +321 -0
  185. package/dist/lookOptic-BGhU4910.js +283 -0
  186. package/dist/lookOptic-KieSqskd.cjs +283 -0
  187. package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
  188. package/dist/mantraBrand-DrqG9uqO.js +751 -0
  189. package/dist/medterra-CLG6Co1C.cjs +584 -0
  190. package/dist/medterra-D8ZX9NZC.js +584 -0
  191. package/dist/modells-BzyPwN2m.cjs +485 -0
  192. package/dist/modells-CAfqOCW4.js +485 -0
  193. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  194. package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
  195. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  196. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  197. package/dist/pressedFloral-DULBuQwR.cjs +662 -0
  198. package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
  199. package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
  200. package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
  201. package/dist/skinPerfection-BxuYCeJX.js +335 -0
  202. package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
  203. package/dist/snapSupplements-Bf6htPM0.js +286 -0
  204. package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
  205. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  206. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  207. package/dist/spanx-CwDPQaGj.js +662 -0
  208. package/dist/spanx-Cyd4qDlK.cjs +664 -0
  209. package/dist/spanxStaging-D43nyAGy.js +846 -0
  210. package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
  211. package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
  212. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
  213. package/dist/supergoop-BnbFG7hm.cjs +338 -0
  214. package/dist/supergoop-CY043wIg.js +336 -0
  215. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  216. package/dist/test-types-CuOq25VT.d.cts +40 -0
  217. package/dist/types/index.cjs +2 -2
  218. package/dist/types/index.d.cts +2 -2
  219. package/dist/types/index.d.ts +2 -2
  220. package/dist/types/index.js +2 -2
  221. package/dist/types-BF_CJeck.js +177 -0
  222. package/dist/types-CD4LFta-.d.cts +33 -0
  223. package/dist/types-CNH4sfF-.cjs +231 -0
  224. package/dist/types-DBdI0j89.d.ts +33 -0
  225. package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
  226. package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
  227. package/dist/variant-CKVRF2-W.d.ts +13 -0
  228. package/dist/variant-raYuOP4L.d.cts +13 -0
  229. package/dist/venaCbd-o5_vOp4e.js +366 -0
  230. package/dist/venaCbd-r-IxEVc1.cjs +366 -0
  231. package/dist/westonJonBoucher-C95EuCl-.js +423 -0
  232. package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
  233. package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
  234. package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
  235. package/dist/wolfMattress-6xPfOJt3.js +373 -0
  236. package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
  237. package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
  238. package/dist/wolfTactical-C_F9-oPX.js +350 -0
  239. package/package.json +1 -1
  240. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  241. package/src/adapters/spiffy/commerce/api.ts +17 -8
  242. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  243. package/src/application/config/generalStaticConfig.ts +5 -2
  244. package/src/application/models/api/orgConfigResults.ts +6 -2
  245. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  246. package/src/application/service/cdnService.ts +4 -2
  247. package/src/application/service/index.ts +0 -1
  248. package/src/application/service/pageVariantService.ts +5 -5
  249. package/src/application/service/searchService.ts +9 -2
  250. package/src/application/service/windowChatToggleService.ts +28 -19
  251. package/src/application/service/windowFrontendConfigService.ts +7 -4
  252. package/src/atoms/app/index.ts +26 -17
  253. package/src/atoms/app/variant.ts +1 -0
  254. package/src/atoms/chat/messageQueue.ts +1 -1
  255. package/src/atoms/envive/enviveConfig.ts +81 -0
  256. package/src/atoms/org/graphqlConfig.ts +29 -11
  257. package/src/atoms/org/merchantCss.ts +114 -0
  258. package/src/atoms/org/org.ts +101 -64
  259. package/src/atoms/org/orgPageConfig.ts +9 -6
  260. package/src/atoms/org/orgUIConfig.ts +22 -9
  261. package/src/atoms/search/chatSearch.ts +85 -67
  262. package/src/contexts/chatContext.tsx +4 -1
  263. package/src/contexts/enviveConfigContext.tsx +37 -26
  264. package/src/contexts/enviveCssContext.tsx +20 -0
  265. package/src/contexts/index.ts +2 -0
  266. package/src/contexts/orgConfigContext.tsx +106 -0
  267. package/src/contexts/systemSettingsContext.tsx +2 -2
  268. package/src/contexts/types.ts +12 -9
  269. package/src/hooks/index.ts +1 -0
  270. package/src/hooks/useSearch.tsx +10 -6
  271. package/src/hooks/utils.ts +1 -1
  272. package/src/interceptors/useFormEscalation.ts +26 -9
  273. package/src/types.ts +0 -2
  274. package/dist/api-BtzLHcfU.cjs +0 -268
  275. package/dist/api-kpPTZhV9.js +0 -189
  276. package/dist/atomStore-BNQyGmU_.cjs +0 -57
  277. package/dist/atomStore-TnLPtYns.js +0 -31
  278. package/dist/bandolier-CQrxBHsk.cjs +0 -1230
  279. package/dist/bandolier-Di9DpZ8e.js +0 -1230
  280. package/dist/carpe-3NJOR-Rj.cjs +0 -608
  281. package/dist/carpe-DmWKaIQq.js +0 -606
  282. package/dist/cdnService-BNreZjqy.js +0 -18
  283. package/dist/cdnService-vLxePdrU.cjs +0 -23
  284. package/dist/chat-CCQMmhc1.cjs +0 -5057
  285. package/dist/chat-Dk6KPb1K.js +0 -25
  286. package/dist/chat-H6YcCS4I.js +0 -4113
  287. package/dist/components-DAQxVIn9.js +0 -10
  288. package/dist/coterie-D0UFsFC5.cjs +0 -240
  289. package/dist/coterie-JblRmIZL.js +0 -240
  290. package/dist/customerService-C4wc0glQ.js +0 -22
  291. package/dist/customerService-zsDlp7g2.cjs +0 -35
  292. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  293. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  294. package/dist/default-C5ZTV8HA.cjs +0 -4
  295. package/dist/default-DPv8m-eQ.js +0 -175
  296. package/dist/default-DRKBosow.cjs +0 -198
  297. package/dist/default-ao0vRl0W.js +0 -4
  298. package/dist/divIds-BWvq-i6I.js +0 -22
  299. package/dist/dreamlandBaby-CyS8oW8X.js +0 -347
  300. package/dist/dreamlandBaby-y7kSvwH2.cjs +0 -347
  301. package/dist/embedded-C1jvFj3v.js +0 -22
  302. package/dist/entrypoints-CmmOszXO.js +0 -6
  303. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  304. package/dist/enviveConfigContext-Bs8kepnO.cjs +0 -48
  305. package/dist/enviveConfigContext-CWVdVWKW.js +0 -34
  306. package/dist/events-DgFzlVJR.js +0 -77
  307. package/dist/events-bH-24eRW.cjs +0 -89
  308. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  309. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  310. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  311. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  312. package/dist/fiveCbd-CXVuIBiZ.cjs +0 -614
  313. package/dist/fiveCbd-Cyc3-Ab9.js +0 -614
  314. package/dist/forLoveAndLemons-CxQS0USq.cjs +0 -668
  315. package/dist/forLoveAndLemons-D8mcgmdk.js +0 -666
  316. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  317. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  318. package/dist/globalSearch-BC0rOX3E.js +0 -13
  319. package/dist/greenpan-JM6SHcqO.js +0 -398
  320. package/dist/greenpan-eIzyxVsn.cjs +0 -398
  321. package/dist/grooveLife-BmsUc2cD.js +0 -343
  322. package/dist/grooveLife-KdTizVUn.cjs +0 -343
  323. package/dist/homegrownCannabis-C0GDai4r.cjs +0 -411
  324. package/dist/homegrownCannabis-a9udocBT.js +0 -411
  325. package/dist/hooks-DjOa7ihH.cjs +0 -7331
  326. package/dist/hooks-fneW8SWw.js +0 -7152
  327. package/dist/index-BQErGgfM.d.cts +0 -202
  328. package/dist/index-BdNKc2ix.d.cts +0 -8
  329. package/dist/index-BrXuc_Ck.d.cts +0 -24
  330. package/dist/index-C4zjAR1c.d.cts +0 -227
  331. package/dist/index-CGB6CAmr.d.ts +0 -6
  332. package/dist/index-CIco0cCQ.d.ts +0 -183
  333. package/dist/index-COG1kOZG.d.ts +0 -749
  334. package/dist/index-CVxe7FpL.d.cts +0 -6
  335. package/dist/index-Cn1SeI5y.d.cts +0 -183
  336. package/dist/index-CnqHN_jz.d.ts +0 -202
  337. package/dist/index-Cqg6ltII.d.ts +0 -38
  338. package/dist/index-DE_7Q8qK.d.ts +0 -94
  339. package/dist/index-Da0UzyI9.d.ts +0 -24
  340. package/dist/index-DbWWcYax.d.cts +0 -749
  341. package/dist/index-DtoVXd6O.d.cts +0 -97
  342. package/dist/index-JClBRnSX.d.cts +0 -94
  343. package/dist/index-ghzD_356.d.ts +0 -8
  344. package/dist/index-hdbCEjYy.d.cts +0 -38
  345. package/dist/index-luJrHgPN.d.ts +0 -97
  346. package/dist/index-tfRj22E1.d.ts +0 -227
  347. package/dist/jackArcher-B6OJ0N3a.cjs +0 -728
  348. package/dist/jackArcher-B9fe4Hv8.js +0 -728
  349. package/dist/jordanCraig-0CB_m_ts.cjs +0 -1787
  350. package/dist/jordanCraig-DNm1iw1L.js +0 -1787
  351. package/dist/kindredBravely-CZgt7DJA.js +0 -491
  352. package/dist/kindredBravely-KvYPbckZ.cjs +0 -491
  353. package/dist/kutFromTheKloth-BxgtWZs9.cjs +0 -370
  354. package/dist/kutFromTheKloth-SmteSZjk.js +0 -370
  355. package/dist/larryAndSerges-6O_u3L90.cjs +0 -261
  356. package/dist/larryAndSerges-DO-zG8ES.js +0 -261
  357. package/dist/leapsAndRebounds-BK62AmXw.js +0 -361
  358. package/dist/leapsAndRebounds-gPsWVUmQ.cjs +0 -361
  359. package/dist/logger-Be0NyKaY.cjs +0 -25
  360. package/dist/logger-BexDfK3W.js +0 -19
  361. package/dist/longevityrx-DjKbwJo3.cjs +0 -321
  362. package/dist/longevityrx-eq5TeUcy.js +0 -321
  363. package/dist/lookOptic-BPPqms_j.cjs +0 -283
  364. package/dist/lookOptic-jRpBXQCN.js +0 -283
  365. package/dist/mantraBrand-BZOZfkUK.js +0 -751
  366. package/dist/mantraBrand-Cp8zptkj.cjs +0 -751
  367. package/dist/medterra-BHYCBgvQ.cjs +0 -584
  368. package/dist/medterra-CShe6CLY.js +0 -584
  369. package/dist/modells-DE7-gmjK.cjs +0 -485
  370. package/dist/modells-DFyJxNwT.js +0 -485
  371. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  372. package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
  373. package/dist/org-Bkn6fl6I.cjs +0 -106
  374. package/dist/org-CX8HFbc9.js +0 -63
  375. package/dist/pressedFloral-BMkCVs8c.cjs +0 -662
  376. package/dist/pressedFloral-aK9br-LF.js +0 -662
  377. package/dist/search-DtIFZeMA.cjs +0 -743
  378. package/dist/search-eWwg8pNn.js +0 -542
  379. package/dist/search-filter-types-ByJnFPc4.d.cts +0 -101
  380. package/dist/search-filter-types-DPgeG8FS.d.ts +0 -101
  381. package/dist/skinPerfection-B9G6yLM2.js +0 -335
  382. package/dist/skinPerfection-BBC1q65Z.cjs +0 -335
  383. package/dist/snapSupplements-D7hx6Kgj.cjs +0 -286
  384. package/dist/snapSupplements-DKvJl__T.js +0 -286
  385. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  386. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  387. package/dist/spanx-D-ZKkxjM.cjs +0 -664
  388. package/dist/spanx-yl7YfVrf.js +0 -662
  389. package/dist/spanxStaging-CXeIg6zI.cjs +0 -849
  390. package/dist/spanxStaging-DzGXL9wD.js +0 -846
  391. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  392. package/dist/supergoop-CSpDPOpl.cjs +0 -337
  393. package/dist/supergoop-D0UkuRiA.js +0 -335
  394. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  395. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  396. package/dist/types-BE4faOO_.d.cts +0 -32
  397. package/dist/types-C3S1H4hl.js +0 -176
  398. package/dist/types-TD8g7LnH.d.ts +0 -32
  399. package/dist/types-lcjuhDBt.cjs +0 -230
  400. package/dist/uniqueVintage-DygVpCqU.cjs +0 -1214
  401. package/dist/uniqueVintage-_n0FZFVj.js +0 -1212
  402. package/dist/useMessageInterceptor-BP6gzo8a.js +0 -57
  403. package/dist/useMessageInterceptor-BnUG2Pzt.cjs +0 -72
  404. package/dist/variant-DH4zusMi.d.cts +0 -12
  405. package/dist/variant-DTEqSBHd.d.ts +0 -12
  406. package/dist/variantInfo-BTvC6CQh.js +0 -1
  407. package/dist/variantInfo-Cz2YXraO.cjs +0 -0
  408. package/dist/venaCbd-BS0dvdBm.js +0 -366
  409. package/dist/venaCbd-Pqg0bj-P.cjs +0 -366
  410. package/dist/westonJonBoucher-CLw8Hy6u.js +0 -423
  411. package/dist/westonJonBoucher-CeA0jwxe.cjs +0 -423
  412. package/dist/wineEnthusiast-M9P18d1w.js +0 -941
  413. package/dist/wineEnthusiast-gHBaQMbe.cjs +0 -941
  414. package/dist/wolfMattress-BQHjoQYu.js +0 -373
  415. package/dist/wolfMattress-CdmN-Evm.cjs +0 -373
  416. package/dist/wolfTactical-Cc2ZLBRh.js +0 -350
  417. package/dist/wolfTactical-dObnPgAG.cjs +0 -350
  418. package/src/application/service/environmentService.ts +0 -51
  419. package/src/extension.ts +0 -63
  420. package/src/initialize.ts +0 -163
  421. package/src/main.tsx +0 -108
  422. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  423. /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
  424. /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +0 -0
  425. /package/dist/{locators-C2DX_nX6.js → utilityTypes-BVikejDo.js} +0 -0
  426. /package/dist/{locators-CUpyd9Wt.cjs → utilityTypes-C4h2wgAK.cjs} +0 -0
  427. /package/dist/{utilityTypes-DMdsI0DG.cjs → variantInfo-CNRTY0gH.cjs} +0 -0
  428. /package/dist/{utilityTypes-UWdNHElu.js → variantInfo-CzhR5W6h.js} +0 -0
@@ -1,19 +1,23 @@
1
- import React, { createContext, useContext, ReactNode } from "react";
1
+ import React, { createContext, useContext, ReactNode, useEffect } from "react";
2
+ import { useSetAtom, useAtomValue } from "jotai";
2
3
  import type { EnviveConfig } from "./types";
4
+ import { enviveConfigAtom } from "src/atoms/envive/enviveConfig";
5
+ import Logger from "src/application/logging/logger";
3
6
 
4
7
  const EnviveConfigContext = createContext<EnviveConfig | undefined>(undefined);
5
8
 
6
9
  interface EnviveConfigProviderProps {
7
10
  children: ReactNode;
8
- amplitudeApiKey: string;
9
- dataResidency: string;
10
- env: string;
11
- baseUrl: string;
12
- reactAppName: string;
13
- cdnUrl: string;
14
- contextSource: string;
15
- orgLevelApiKey: string;
16
- orgShortName: string;
11
+ amplitudeApiKey?: string;
12
+ dataResidency?: string;
13
+ env?: string;
14
+ baseUrl?: string;
15
+ reactAppName?: string;
16
+ cdnUrl?: string;
17
+ contextSource?: string;
18
+ orgLevelApiKey?: string;
19
+ orgShortName?: string;
20
+ identifyingPrefix: string;
17
21
  }
18
22
 
19
23
  export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
@@ -27,7 +31,9 @@ export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
27
31
  contextSource,
28
32
  orgLevelApiKey,
29
33
  orgShortName,
34
+ identifyingPrefix,
30
35
  }) => {
36
+ const setEnviveConfig = useSetAtom(enviveConfigAtom);
31
37
  const config: EnviveConfig = {
32
38
  amplitudeApiKey,
33
39
  dataResidency,
@@ -38,19 +44,13 @@ export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
38
44
  contextSource,
39
45
  orgLevelApiKey,
40
46
  orgShortName,
47
+ identifyingPrefix,
41
48
  };
42
49
 
43
- // Validate config values
44
- for (const key in config) {
45
- if (config.hasOwnProperty(key)) {
46
- const value = config[key as keyof EnviveConfig];
47
- if (value === undefined || value === null || value === "") {
48
- throw new Error(
49
- `EnviveConfigProvider: Missing required configuration value for '${key}'`
50
- );
51
- }
52
- }
53
- }
50
+ useEffect(() => {
51
+ setEnviveConfig(config);
52
+ Logger.logDebug("EnviveConfigProvider: Setting EnviveConfig", config);
53
+ }, [setEnviveConfig, config]);
54
54
 
55
55
  return (
56
56
  <EnviveConfigContext.Provider value={config}>
@@ -60,11 +60,22 @@ export const EnviveConfigProvider: React.FC<EnviveConfigProviderProps> = ({
60
60
  };
61
61
 
62
62
  export const useEnviveConfig = (): EnviveConfig => {
63
- const context = useContext(EnviveConfigContext);
64
- if (context === undefined) {
65
- throw new Error(
66
- "useEnviveConfig must be used within an EnviveConfigProvider"
63
+ const config = useAtomValue(enviveConfigAtom);
64
+ Logger.logDebug("useEnviveConfig: Accessing EnviveConfig", config);
65
+
66
+ // During initial render, the atom might not be set yet, so we need to be more patient
67
+ // The EnviveConfigProvider will set it in its useEffect
68
+ if (!config) {
69
+ // Instead of throwing immediately, let's return a default/empty config
70
+ // This prevents the error during initial render
71
+ Logger.logWarn(
72
+ "EnviveConfig not yet available, returning default config",
73
+ undefined
67
74
  );
75
+ return {
76
+ identifyingPrefix: "spiffy", // This is required, so provide a default
77
+ } as EnviveConfig;
68
78
  }
69
- return context;
79
+
80
+ return config;
70
81
  };
@@ -0,0 +1,20 @@
1
+ import React, { ReactNode } from "react";
2
+ import { useAtomValue } from "jotai";
3
+ import { orgMerchantCssAtom } from "src/atoms/org/merchantCss";
4
+
5
+ interface EnviveCssProviderProps {
6
+ children: ReactNode;
7
+ }
8
+
9
+ export const EnviveCssProvider: React.FC<EnviveCssProviderProps> = ({
10
+ children,
11
+ }) => {
12
+ const enviveCss = useAtomValue(orgMerchantCssAtom);
13
+
14
+ return (
15
+ <>
16
+ {enviveCss && <style id="merchant-css-styles">{enviveCss}</style>}
17
+ {children}
18
+ </>
19
+ );
20
+ };
@@ -2,3 +2,5 @@ export * from "./chatContext";
2
2
  export * from "./systemSettingsContext";
3
3
  export * from "./enviveConfigContext";
4
4
  export * from "./types";
5
+ export * from "./orgConfigContext";
6
+ export * from "./enviveCssContext";
@@ -0,0 +1,106 @@
1
+ import React, {
2
+ createContext,
3
+ useContext,
4
+ ReactNode,
5
+ useState,
6
+ useEffect,
7
+ } from "react";
8
+ import { useAtomValue } from "jotai";
9
+ import { OrgConfig as OrgConfigType } from "src/application/models/api/orgConfigResults";
10
+ import { getAsyncOrgConfig } from "src/atoms/org/org";
11
+ import { enviveConfigAtom } from "src/atoms/envive/enviveConfig";
12
+ import Logger from "src/application/logging/logger";
13
+
14
+ interface OrgConfigContextType {
15
+ orgConfig: OrgConfigType | undefined;
16
+ loading: boolean;
17
+ error: Error | undefined;
18
+ }
19
+
20
+ const OrgConfigContext = createContext<OrgConfigContextType | undefined>(
21
+ undefined
22
+ );
23
+
24
+ interface OrgConfigProviderProps {
25
+ children: ReactNode;
26
+ }
27
+
28
+ export const OrgConfigProvider: React.FC<OrgConfigProviderProps> = ({
29
+ children,
30
+ }) => {
31
+ const [orgConfig, setOrgConfig] = useState<OrgConfigType | undefined>(
32
+ undefined
33
+ );
34
+ const [loading, setLoading] = useState<boolean>(true);
35
+ const [error, setError] = useState<Error | undefined>(undefined);
36
+
37
+ // Watch for EnviveConfig to be available
38
+ const enviveConfig = useAtomValue(enviveConfigAtom);
39
+
40
+ useEffect(() => {
41
+ const fetchOrgConfig = async () => {
42
+ try {
43
+ setLoading(true);
44
+ setError(undefined); // Clear any previous errors
45
+
46
+ // Check if we have the required dependencies from EnviveConfig
47
+ if (!enviveConfig) {
48
+ Logger.logDebug(
49
+ "OrgConfigProvider: Waiting for EnviveConfig to be available"
50
+ );
51
+ return; // Don't fetch yet, wait for EnviveConfig
52
+ }
53
+
54
+ // Check if we have either orgLevelApiKey or orgShortName
55
+ const hasApiKey = enviveConfig.orgLevelApiKey;
56
+ const hasOrgShortName = enviveConfig.orgShortName;
57
+
58
+ if (!hasApiKey && !hasOrgShortName) {
59
+ Logger.logWarn(
60
+ "OrgConfigProvider: Neither orgLevelApiKey nor orgShortName available in EnviveConfig",
61
+ enviveConfig
62
+ );
63
+ setError(
64
+ new Error(
65
+ "OrgConfigProvider requires either orgLevelApiKey or orgShortName to be provided in EnviveConfigProvider"
66
+ )
67
+ );
68
+ return;
69
+ }
70
+
71
+ Logger.logDebug(
72
+ "OrgConfigProvider: EnviveConfig available, fetching OrgConfig",
73
+ {
74
+ hasApiKey: !!hasApiKey,
75
+ hasOrgShortName: !!hasOrgShortName,
76
+ }
77
+ );
78
+
79
+ const fetchedConfig = await getAsyncOrgConfig();
80
+ setOrgConfig(fetchedConfig);
81
+ Logger.logDebug("OrgConfigProvider: Successfully fetched OrgConfig");
82
+ } catch (err) {
83
+ Logger.logError("OrgConfigProvider: Failed to fetch OrgConfig", err);
84
+ setError(err as Error);
85
+ } finally {
86
+ setLoading(false);
87
+ }
88
+ };
89
+
90
+ fetchOrgConfig();
91
+ }, [enviveConfig]); // Re-run when enviveConfig changes
92
+
93
+ return (
94
+ <OrgConfigContext.Provider value={{ orgConfig, loading, error }}>
95
+ {children}
96
+ </OrgConfigContext.Provider>
97
+ );
98
+ };
99
+
100
+ export const useOrgConfig = () => {
101
+ const context = useContext(OrgConfigContext);
102
+ if (context === undefined) {
103
+ throw new Error("useOrgConfig must be used within an OrgConfigProvider");
104
+ }
105
+ return context;
106
+ };
@@ -8,7 +8,7 @@ import {
8
8
  useState,
9
9
  } from "react";
10
10
  import { GenerationParams } from "src/application/models";
11
- import { endpointURLAtom } from "src/atoms/org/org";
11
+ import { baseUrlAtom } from "src/atoms/envive/enviveConfig";
12
12
 
13
13
  // TODO: Refactor this to a common service that handles query params (and spiffy variables all together)
14
14
  const getChatModelName = () => {
@@ -49,7 +49,7 @@ const SystemSettingsContextProvider = ({
49
49
  const [params, setParams] = useState<GenerationParams | undefined>(
50
50
  () => generationParams ?? defaultGenerationParams
51
51
  );
52
- const endpointURL = useAtomValue(endpointURLAtom);
52
+ const endpointURL = useAtomValue(baseUrlAtom);
53
53
  const settingsContextValues = useMemo(
54
54
  () => ({
55
55
  generationParams: params,
@@ -963,6 +963,8 @@ interface OrgConfigContextType {
963
963
  orgUIConfig: OrgUIConfig;
964
964
  }
965
965
 
966
+ export type OrgConfig = OrgUIConfig;
967
+
966
968
  export {
967
969
  CategoryExtractorType,
968
970
  ColorNames,
@@ -972,15 +974,16 @@ export {
972
974
  };
973
975
 
974
976
  export interface EnviveConfig {
975
- amplitudeApiKey: string;
976
- dataResidency: string;
977
- env: string;
978
- baseUrl: string;
979
- reactAppName: string;
980
- cdnUrl: string;
981
- contextSource: string;
982
- orgLevelApiKey: string;
983
- orgShortName: string;
977
+ amplitudeApiKey?: string;
978
+ dataResidency?: string;
979
+ env?: string;
980
+ baseUrl?: string;
981
+ reactAppName?: string;
982
+ cdnUrl?: string;
983
+ contextSource?: string;
984
+ orgLevelApiKey?: string;
985
+ orgShortName?: string;
986
+ identifyingPrefix?: string;
984
987
  }
985
988
 
986
989
  export type {
@@ -20,3 +20,4 @@ export * from "./useSnapControl";
20
20
  export * from "./useSystemSettingsContext";
21
21
  export * from "./useTrackComponentVisibleEvent";
22
22
  export * from "./useUpdateAnalyticsProps";
23
+ export * from "./utils";
@@ -122,6 +122,14 @@ export const useSearch = (): SearchResultsHocProps => {
122
122
  const dynamicFilters = searchData?.filters || [];
123
123
  const { productCardConfig, shortName: merchantShortName } = orgUIConfig || {};
124
124
 
125
+ // Provide fallback values when orgUIConfig is not yet available
126
+ const safeProductCardConfig = productCardConfig || {
127
+ variant: "minimal",
128
+ hoverVariant: "none",
129
+ layoutVariant: "square",
130
+ };
131
+ const safeMerchantShortName = merchantShortName || "";
132
+
125
133
  const availableDynamicFilters = useMemo(() => {
126
134
  return dynamicFilters
127
135
  .filter(
@@ -399,12 +407,8 @@ export const useSearch = (): SearchResultsHocProps => {
399
407
  return {
400
408
  searchData,
401
409
  searchResponseId: searchData?.searchResponseId ?? "",
402
- merchantShortName,
403
- productCardConfig: productCardConfig || {
404
- variant: "minimal",
405
- hoverVariant: "none",
406
- layoutVariant: "square",
407
- },
410
+ merchantShortName: safeMerchantShortName,
411
+ productCardConfig: safeProductCardConfig,
408
412
  productList,
409
413
  autocompleteResults,
410
414
  searchFilters: filters,
@@ -133,7 +133,7 @@ export const isWithinBusinessHours = (
133
133
  return now >= start && now <= end;
134
134
  };
135
135
 
136
- export const enum SearchResultsState {
136
+ export enum SearchResultsState {
137
137
  Loading,
138
138
  Results,
139
139
  NoResults,
@@ -1,16 +1,17 @@
1
- import { FormType, ResponseCategory } from '@spiffy-ai/commerce-api-client';
2
- import { useAtomValue, useSetAtom } from 'jotai';
3
- import { Response } from 'src/application/models';
4
- import { handleFormSubmittedAtom } from 'src/atoms/chat';
5
- import { apiKeyAtom, endpointURLAtom } from 'src/atoms/org/org';
6
- import { orgCustomerServiceService } from 'src/atoms/org/orgUIConfig';
7
- import { MessageInterceptor } from './types';
1
+ import { FormType, ResponseCategory } from "@spiffy-ai/commerce-api-client";
2
+ import { useAtomValue, useSetAtom } from "jotai";
3
+ import { Response } from "src/application/models";
4
+ import { handleFormSubmittedAtom } from "src/atoms/chat";
5
+ import { apiKeyAtom } from "src/atoms/org/org";
6
+ import { orgCustomerServiceService } from "src/atoms/org/orgUIConfig";
7
+ import { MessageInterceptor } from "./types";
8
+ import { baseUrlAtom } from "src/atoms/envive/enviveConfig";
8
9
 
9
10
  export const useFormEscalation = (): MessageInterceptor => {
10
11
  const handleFormSubmitted = useSetAtom(handleFormSubmittedAtom);
11
12
  const customerServiceIntegration = useAtomValue(orgCustomerServiceService);
12
13
  const apiKey = useAtomValue(apiKeyAtom);
13
- const apiEndpoint = useAtomValue(endpointURLAtom);
14
+ const apiEndpoint = useAtomValue(baseUrlAtom);
14
15
 
15
16
  const blockExecution = () => true;
16
17
 
@@ -19,8 +20,24 @@ export const useFormEscalation = (): MessageInterceptor => {
19
20
  response.category === ResponseCategory.Form &&
20
21
  response.attributes.formCategory?.formType === FormType.Escalation
21
22
  ) {
23
+ if (!customerServiceIntegration) {
24
+ // Handle case where customer service integration is not available
25
+ handleFormSubmitted({
26
+ formResponseId: response.id,
27
+ formType: FormType.Escalation,
28
+ filledSchema: {
29
+ is_in_business_hours: false,
30
+ is_integration_enabled: false,
31
+ },
32
+ });
33
+ return;
34
+ }
35
+
22
36
  const isEnabled = customerServiceIntegration.isEnabled();
23
- const isBusinessHours = await customerServiceIntegration.isBusinessHours(apiKey, apiEndpoint);
37
+ const isBusinessHours = await customerServiceIntegration.isBusinessHours(
38
+ apiKey,
39
+ apiEndpoint
40
+ );
24
41
 
25
42
  handleFormSubmitted({
26
43
  formResponseId: response.id,
package/src/types.ts CHANGED
@@ -3,7 +3,6 @@
3
3
  import { AmplitudeAdapter } from "./adapters/amplitude";
4
4
  import { VariantInfo } from "./application/models/variantInfo";
5
5
  import { OrgPageConfig } from "./contexts/types";
6
- import { ExtensionInfo } from "./extension";
7
6
 
8
7
  // Export the type for use in tests
9
8
  export type SpiffyInit = {
@@ -11,7 +10,6 @@ export type SpiffyInit = {
11
10
  getOrgInfo: (apiKey: string) => Promise<OrgInfo>;
12
11
  refresh: () => Promise<void>;
13
12
  isInitialized?: boolean;
14
- extensionInfo: ExtensionInfo;
15
13
  setVariantInfoOverride: (variantInfo: VariantInfo) => void;
16
14
  // TODO: Other functions to invoke page loads, record checkout events etc
17
15
  _amplitudeAdapter?: AmplitudeAdapter;
@@ -1,268 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_logger = require('./logger-Be0NyKaY.cjs');
3
- let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
4
- __spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
5
-
6
- //#region src/application/models/guards/api/isApiSuggestion.ts
7
- const isSuggestion = (data) => {
8
- if (data == null || typeof data !== "object") return false;
9
- if (!("id" in data) || typeof data.id !== "string") return false;
10
- if (!("category" in data) || typeof data.category !== "string" || !Object.values(__spiffy_ai_commerce_api_client.SuggestionCategory).includes(data.category)) return false;
11
- if (!("created_at" in data) || typeof data.created_at !== "string") return false;
12
- if (!("content" in data) || typeof data.content !== "string") return false;
13
- if ("is_answer" in data && data.is_answer != null && typeof data.is_answer !== "boolean") return false;
14
- return true;
15
- };
16
-
17
- //#endregion
18
- //#region src/application/models/guards/api/isApiUserEvent.ts
19
- const isApiUserEvent = (data) => {
20
- if (data == null || typeof data !== "object") return false;
21
- if (!("event_id" in data) || typeof data.event_id !== "string") return false;
22
- if (!("created_at" in data) || typeof data.created_at !== "string") return false;
23
- if (!("category" in data) || typeof data.category !== "string" || !Object.values(__spiffy_ai_commerce_api_client.UserEventCategory).includes(data.category)) return false;
24
- return true;
25
- };
26
-
27
- //#endregion
28
- //#region src/application/models/guards/api/isApiPDPEventAttributes.ts
29
- const isApiPDPAttributes = (data) => {
30
- if (data == null || typeof data !== "object") return false;
31
- if (!("product_id" in data) || typeof data.product_id !== "string") return false;
32
- if ("parent_product_id" in data && typeof data.parent_product_id !== "string") return false;
33
- if ("url" in data && data.url != null && typeof data.url !== "string") return false;
34
- return true;
35
- };
36
-
37
- //#endregion
38
- //#region src/application/models/guards/api/isApiQueryTypedEventAttributes.ts
39
- const isApiQueryTypedAttributes = (data) => data != null && typeof data === "object" && "query" in data && typeof data.query === "string";
40
-
41
- //#endregion
42
- //#region src/application/models/guards/api/isApiSearchEventAttributes.ts
43
- const isApiSearchAttributes = (data) => {
44
- if (data == null || typeof data !== "object") return false;
45
- if (!("search_term" in data) || typeof data.search_term !== "string") return false;
46
- if ("selected_filters" in data && !Array.isArray(data.selected_filters)) return false;
47
- if (!!data.search_term) return true;
48
- if (!("search_results" in data) || !Array.isArray(data.search_results) || !data.search_results.every((v) => typeof v === "string")) return false;
49
- return true;
50
- };
51
-
52
- //#endregion
53
- //#region src/application/models/guards/api/isApiSuggestionClickedEventAttributes.ts
54
- const isApiSuggestionClickedAttributes = (data) => data != null && typeof data === "object" && "suggestion_id" in data && typeof data.suggestion_id === "string";
55
-
56
- //#endregion
57
- //#region src/application/models/guards/utils.ts
58
- /**
59
- * Checks if an object has a property of a specific type
60
- *
61
- * @param obj - The object to check
62
- * @param prop - The property name to check
63
- * @param type - The expected type of the property
64
- * @param isOptional - Whether the property is optional (defaults to false)
65
- *
66
- * @returns boolean indicating if the object has the property of the specified type
67
- */
68
- const hasPropertyOfType = (obj, prop, type, isOptional = false) => {
69
- try {
70
- if (obj == null || typeof obj !== "object") return false;
71
- if (!(prop in obj)) return isOptional;
72
- const value = obj[prop];
73
- if (isOptional && value == null) return true;
74
- if (type === "array") return Array.isArray(value);
75
- return typeof value === type;
76
- } catch (err) {
77
- return false;
78
- }
79
- };
80
-
81
- //#endregion
82
- //#region src/application/models/guards/api/isApiProductResponseAttributes.ts
83
- const isApiProductResponseAttributes = (attributes) => {
84
- if (attributes == null || typeof attributes !== "object") {
85
- require_logger.logger_default.logError("isApiProductResponseAttributes: attributes is null or not an object", void 0, { attributes });
86
- return false;
87
- }
88
- if (!hasPropertyOfType(attributes, "description", "string", true)) {
89
- require_logger.logger_default.logError("isApiProductResponseAttributes: description is not a string", void 0, { attributes });
90
- return false;
91
- }
92
- if (!hasPropertyOfType(attributes, "image_url", "string", true)) {
93
- require_logger.logger_default.logError("isApiProductResponseAttributes: image_url is not a string", void 0, { attributes });
94
- return false;
95
- }
96
- if (!hasPropertyOfType(attributes, "title", "string")) {
97
- require_logger.logger_default.logError("isApiProductResponseAttributes: title is not a string", void 0, { attributes });
98
- return false;
99
- }
100
- if (!hasPropertyOfType(attributes, "url", "string")) {
101
- require_logger.logger_default.logError("isApiProductResponseAttributes: url is not a string", void 0, { attributes });
102
- return false;
103
- }
104
- if (!hasPropertyOfType(attributes, "original_price", "number", true)) {
105
- require_logger.logger_default.logError("isApiProductResponseAttributes: original_price is not a number", void 0, { attributes });
106
- return false;
107
- }
108
- if (!hasPropertyOfType(attributes, "sale_price", "number", true)) {
109
- require_logger.logger_default.logError("isApiProductResponseAttributes: sale_price is not a number", void 0, { attributes });
110
- return false;
111
- }
112
- if (!hasPropertyOfType(attributes, "average_rating", "number", true)) {
113
- require_logger.logger_default.logError("isApiProductResponseAttributes: average_rating is not a number", void 0, { attributes });
114
- return false;
115
- }
116
- if (!hasPropertyOfType(attributes, "number_reviews", "number", true)) {
117
- require_logger.logger_default.logError("isApiProductResponseAttributes: number_reviews is not a number", void 0, { attributes });
118
- return false;
119
- }
120
- if (!hasPropertyOfType(attributes, "metadata", "array", true)) {
121
- require_logger.logger_default.logError("isApiProductResponseAttributes: metadata is not an array", void 0, { attributes });
122
- return false;
123
- }
124
- return true;
125
- };
126
-
127
- //#endregion
128
- //#region src/application/models/guards/api/isApiResponse.ts
129
- const isApiResponse = (data) => {
130
- if (data == null || typeof data !== "object") {
131
- require_logger.logger_default.logError("isApiResponse: data is null or not an object", void 0, { data });
132
- return false;
133
- }
134
- if (!hasPropertyOfType(data, "id", "string")) {
135
- require_logger.logger_default.logError("isApiResponse: id is not a string", void 0, { data });
136
- return false;
137
- }
138
- if (!hasPropertyOfType(data, "category", "string") || !Object.values(__spiffy_ai_commerce_api_client.ResponseCategory).includes(data.category)) {
139
- require_logger.logger_default.logError("isApiResponse: category is not a string or not a valid response category", void 0, { data });
140
- return false;
141
- }
142
- if (!hasPropertyOfType(data, "created_at", "string")) {
143
- require_logger.logger_default.logError("isApiResponse: created_at is not a string", void 0, { data });
144
- return false;
145
- }
146
- if (!hasPropertyOfType(data, "attributes", "object", true)) {
147
- require_logger.logger_default.logError("isApiResponse: attributes is not an object", void 0, { data });
148
- return false;
149
- }
150
- return true;
151
- };
152
-
153
- //#endregion
154
- //#region src/application/models/guards/api/isApiReviewRichInformation.ts
155
- const isApiReviewRichInformation = (richInfo) => {
156
- if (richInfo == null || typeof richInfo !== "object") return false;
157
- if ("cons" in richInfo && (!Array.isArray(richInfo.cons) || richInfo.cons.some((con) => typeof con !== "string"))) return false;
158
- if ("pros" in richInfo && (!Array.isArray(richInfo.pros) || richInfo.pros.some((pro) => typeof pro !== "string"))) return false;
159
- if ("review_date" in richInfo && typeof richInfo.review_date !== "string") return false;
160
- if ("reviewer_title" in richInfo && typeof richInfo.reviewer_title !== "string") return false;
161
- if ("product_familiarity" in richInfo && typeof richInfo.product_familiarity !== "string") return false;
162
- return true;
163
- };
164
-
165
- //#endregion
166
- //#region src/application/models/guards/api/isApiReviewResponseAttributes.ts
167
- const isApiReviewResponseAttributes = (obj) => {
168
- if (obj == null || typeof obj !== "object") return false;
169
- if ("title" in obj && obj.title != null && typeof obj.title !== "string") return false;
170
- if ("review" in obj && typeof obj.review !== "string") return false;
171
- if ("reviewer" in obj && typeof obj.reviewer !== "string") return false;
172
- if ("stars" in obj && typeof obj.stars !== "number") return false;
173
- if ("rich_information" in obj && !isApiReviewRichInformation(obj.rich_information)) return false;
174
- return true;
175
- };
176
-
177
- //#endregion
178
- //#region src/application/models/guards/api/isApiTextResponseAttributes.ts
179
- const isApiTextResponseAttributes = (attributes) => typeof attributes === "object" && attributes != null && "content" in attributes && typeof attributes.content === "string";
180
-
181
- //#endregion
182
- //#region src/application/models/guards/api/isApiProductSearchAttributes.ts
183
- const isApiProductSearchResponseAttributes = (attributes) => {
184
- if (attributes == null || typeof attributes !== "object") return false;
185
- if ("generated_query" in attributes && typeof attributes.generated_query !== "string") return false;
186
- if ("product_count" in attributes && attributes.product_count != null && typeof attributes.product_count !== "number") return false;
187
- return true;
188
- };
189
-
190
- //#endregion
191
- Object.defineProperty(exports, 'hasPropertyOfType', {
192
- enumerable: true,
193
- get: function () {
194
- return hasPropertyOfType;
195
- }
196
- });
197
- Object.defineProperty(exports, 'isApiPDPAttributes', {
198
- enumerable: true,
199
- get: function () {
200
- return isApiPDPAttributes;
201
- }
202
- });
203
- Object.defineProperty(exports, 'isApiProductResponseAttributes', {
204
- enumerable: true,
205
- get: function () {
206
- return isApiProductResponseAttributes;
207
- }
208
- });
209
- Object.defineProperty(exports, 'isApiProductSearchResponseAttributes', {
210
- enumerable: true,
211
- get: function () {
212
- return isApiProductSearchResponseAttributes;
213
- }
214
- });
215
- Object.defineProperty(exports, 'isApiQueryTypedAttributes', {
216
- enumerable: true,
217
- get: function () {
218
- return isApiQueryTypedAttributes;
219
- }
220
- });
221
- Object.defineProperty(exports, 'isApiResponse', {
222
- enumerable: true,
223
- get: function () {
224
- return isApiResponse;
225
- }
226
- });
227
- Object.defineProperty(exports, 'isApiReviewResponseAttributes', {
228
- enumerable: true,
229
- get: function () {
230
- return isApiReviewResponseAttributes;
231
- }
232
- });
233
- Object.defineProperty(exports, 'isApiReviewRichInformation', {
234
- enumerable: true,
235
- get: function () {
236
- return isApiReviewRichInformation;
237
- }
238
- });
239
- Object.defineProperty(exports, 'isApiSearchAttributes', {
240
- enumerable: true,
241
- get: function () {
242
- return isApiSearchAttributes;
243
- }
244
- });
245
- Object.defineProperty(exports, 'isApiSuggestionClickedAttributes', {
246
- enumerable: true,
247
- get: function () {
248
- return isApiSuggestionClickedAttributes;
249
- }
250
- });
251
- Object.defineProperty(exports, 'isApiTextResponseAttributes', {
252
- enumerable: true,
253
- get: function () {
254
- return isApiTextResponseAttributes;
255
- }
256
- });
257
- Object.defineProperty(exports, 'isApiUserEvent', {
258
- enumerable: true,
259
- get: function () {
260
- return isApiUserEvent;
261
- }
262
- });
263
- Object.defineProperty(exports, 'isSuggestion', {
264
- enumerable: true,
265
- get: function () {
266
- return isSuggestion;
267
- }
268
- });