@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.
- package/dist/adapters/amplitude/index.cjs +13 -13
- package/dist/adapters/amplitude/index.d.cts +5 -3
- package/dist/adapters/amplitude/index.d.ts +5 -3
- package/dist/adapters/amplitude/index.js +10 -10
- package/dist/api-B2euFL-5.cjs +269 -0
- package/dist/api-XRr_lAG6.js +190 -0
- package/dist/application/config/index.cjs +14 -5
- package/dist/application/config/index.d.cts +2 -1
- package/dist/application/config/index.d.ts +2 -1
- package/dist/application/config/index.js +14 -5
- package/dist/application/models/graphql/index.cjs +12 -12
- package/dist/application/models/graphql/index.d.cts +1 -1
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/graphql/index.js +10 -10
- package/dist/application/models/guards/api/index.cjs +2 -2
- package/dist/application/models/guards/api/index.d.cts +2 -2
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/api/index.js +2 -2
- package/dist/application/models/index.cjs +54 -54
- package/dist/application/models/index.d.cts +8 -9
- package/dist/application/models/index.d.ts +8 -9
- package/dist/application/models/index.js +10 -10
- package/dist/application/models/utilityTypes/index.cjs +1 -1
- package/dist/application/models/utilityTypes/index.d.cts +1 -1
- package/dist/application/models/utilityTypes/index.d.ts +1 -1
- package/dist/application/models/utilityTypes/index.js +1 -1
- package/dist/application/models/variantInfo/index.cjs +1 -1
- package/dist/application/models/variantInfo/index.d.cts +1 -1
- package/dist/application/models/variantInfo/index.d.ts +1 -1
- package/dist/application/models/variantInfo/index.js +1 -1
- package/dist/application/service/customerService/index.cjs +2 -2
- package/dist/application/service/customerService/index.d.cts +2 -2
- package/dist/application/service/customerService/index.d.ts +2 -2
- package/dist/application/service/customerService/index.js +2 -2
- package/dist/application/service/index.cjs +37 -757
- package/dist/application/service/index.d.cts +14 -22
- package/dist/application/service/index.d.ts +14 -22
- package/dist/application/service/index.js +12 -727
- package/dist/application/utils/index.cjs +37 -37
- package/dist/application/utils/index.d.cts +13 -13
- package/dist/application/utils/index.d.ts +12 -12
- package/dist/application/utils/index.js +10 -10
- package/dist/atomStore-B1cgmbP0.js +32 -0
- package/dist/atomStore-JwGb7pcy.cjs +58 -0
- package/dist/atoms/app/index.cjs +16 -16
- package/dist/atoms/app/index.d.cts +11 -11
- package/dist/atoms/app/index.d.ts +12 -12
- package/dist/atoms/app/index.js +10 -10
- package/dist/atoms/atomStore/index.cjs +1 -2
- package/dist/atoms/atomStore/index.d.cts +2 -1
- package/dist/atoms/atomStore/index.d.ts +2 -1
- package/dist/atoms/atomStore/index.js +1 -2
- package/dist/atoms/chat/index.cjs +40 -40
- package/dist/atoms/chat/index.d.cts +37 -37
- package/dist/atoms/chat/index.d.ts +38 -38
- package/dist/atoms/chat/index.js +10 -10
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +7 -6
- package/dist/atoms/globalSearch/index.d.ts +7 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +37 -40
- package/dist/atoms/org/index.d.cts +32 -53
- package/dist/atoms/org/index.d.ts +31 -52
- package/dist/atoms/org/index.js +11 -12
- package/dist/atoms/search/index.cjs +41 -43
- package/dist/atoms/search/index.d.cts +9 -10
- package/dist/atoms/search/index.d.ts +9 -10
- package/dist/atoms/search/index.js +10 -12
- package/dist/bandolier-B76-OE75.cjs +1230 -0
- package/dist/bandolier-DRn_x1g1.js +1230 -0
- package/dist/carpe-kHi4RLB5.cjs +608 -0
- package/dist/carpe-qrSU99gq.js +606 -0
- package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
- package/dist/chat-CLJ4NWcN.js +26 -0
- package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
- package/dist/components-CV1fhAkj.js +11 -0
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.d.cts +1 -1
- package/dist/config/locators/components/chat/index.d.ts +1 -1
- package/dist/config/locators/components/chat/index.js +1 -1
- package/dist/config/locators/components/chat/variants/index.cjs +2 -1
- package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
- package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
- package/dist/config/locators/components/chat/variants/index.js +2 -1
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.d.cts +1 -1
- package/dist/config/locators/components/index.d.ts +1 -1
- package/dist/config/locators/components/index.js +1 -1
- package/dist/config/locators/components/search/index.cjs +2 -1
- package/dist/config/locators/components/search/index.d.cts +2 -1
- package/dist/config/locators/components/search/index.d.ts +2 -1
- package/dist/config/locators/components/search/index.js +2 -1
- package/dist/config/locators/index.cjs +4 -4
- package/dist/config/locators/index.d.cts +4 -3
- package/dist/config/locators/index.d.ts +4 -3
- package/dist/config/locators/index.js +4 -4
- package/dist/contexts/index.cjs +20 -23
- package/dist/contexts/index.d.cts +38 -19
- package/dist/contexts/index.d.ts +41 -22
- package/dist/contexts/index.js +11 -17
- package/dist/contexts-CQDwe3rK.cjs +14333 -0
- package/dist/contexts-e2sM-B9g.js +12919 -0
- package/dist/coterie-mMirPcHP.js +240 -0
- package/dist/coterie-yQ-_JXSw.cjs +240 -0
- package/dist/customerService-BG1uNZZ1.cjs +36 -0
- package/dist/customerService-BHQRnLhC.js +23 -0
- package/dist/custservice-types-C83itZmy.cjs +35 -0
- package/dist/custservice-types-DPQ-4TI6.js +23 -0
- package/dist/default-8Jfv8ehQ.cjs +199 -0
- package/dist/default-C8PQf-38.js +176 -0
- package/dist/default-LukSiCz1.js +4 -0
- package/dist/default-rJSJ887P.cjs +4 -0
- package/dist/divIds-CWkntTsx.js +23 -0
- package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
- package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
- package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
- package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
- package/dist/embedded-C5uJqmuD.js +23 -0
- package/dist/entrypoints-CNUvSgnk.js +7 -0
- package/dist/entrypoints-DM9Sm18O.cjs +19 -0
- package/dist/events/index.cjs +1 -1
- package/dist/events/index.d.cts +2 -1
- package/dist/events/index.d.ts +2 -1
- package/dist/events/index.js +1 -1
- package/dist/events-ClCDFK7t.js +78 -0
- package/dist/events-Da7gpmGv.cjs +90 -0
- package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
- package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
- package/dist/fiveCbd-Cvnwh03g.cjs +614 -0
- package/dist/fiveCbd-DhYMlsf9.js +614 -0
- package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
- package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
- package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
- package/dist/globalSearch-b0wC7ZEO.js +14 -0
- package/dist/greenpan-B4Pu65kV.js +398 -0
- package/dist/greenpan-BL5p6j7f.cjs +398 -0
- package/dist/grooveLife-DjKWHoN3.cjs +343 -0
- package/dist/grooveLife-JK0TyaPz.js +343 -0
- package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
- package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
- package/dist/hooks/index.cjs +38 -38
- package/dist/hooks/index.d.cts +25 -16
- package/dist/hooks/index.d.ts +30 -21
- package/dist/hooks/index.js +11 -17
- package/dist/index-BTK5uzs6.d.cts +98 -0
- package/dist/index-BfuO9b0Q.d.ts +749 -0
- package/dist/index-BzgkfbNO.d.cts +228 -0
- package/dist/index-C62lPpy4.d.cts +25 -0
- package/dist/index-CExtydIH.d.ts +9 -0
- package/dist/index-CKKkTsms.d.ts +39 -0
- package/dist/index-CNsGWfS6.d.cts +749 -0
- package/dist/index-CYtsPztZ.d.cts +203 -0
- package/dist/index-C_C0tLeD.d.ts +203 -0
- package/dist/index-ClJ0nMsR.d.cts +184 -0
- package/dist/index-Cx9e-fRi.d.ts +184 -0
- package/dist/index-D2VaMPA3.d.ts +98 -0
- package/dist/index-D46Rd0io.d.cts +39 -0
- package/dist/index-DFL1dIT_.d.ts +7 -0
- package/dist/index-DPx8s5YH.d.ts +25 -0
- package/dist/index-Dxpscrvz.d.ts +228 -0
- package/dist/index-MFbPQ8Ji.d.ts +95 -0
- package/dist/index-VSFakgAI.d.cts +95 -0
- package/dist/index-jBATkcc_.d.cts +9 -0
- package/dist/index-zZjcds15.d.cts +7 -0
- package/dist/interceptors/index.cjs +12 -13
- package/dist/interceptors/index.d.cts +10 -10
- package/dist/interceptors/index.d.ts +10 -10
- package/dist/interceptors/index.js +10 -11
- package/dist/jackArcher-CXf_IAmC.js +728 -0
- package/dist/jackArcher-mGkojXek.cjs +728 -0
- package/dist/jordanCraig-BvCvPRoR.js +1787 -0
- package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
- package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
- package/dist/kindredBravely-X8F_LNph.js +491 -0
- package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
- package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
- package/dist/larryAndSerges-1411NuZa.cjs +262 -0
- package/dist/larryAndSerges-DVIRLItu.js +262 -0
- package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
- package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
- package/dist/logger-Dln20ans.cjs +26 -0
- package/dist/logger-pdEEY8T2.js +20 -0
- package/dist/longevityrx-BFSv9GF5.cjs +321 -0
- package/dist/longevityrx-Cp6wleWr.js +321 -0
- package/dist/lookOptic-BGhU4910.js +283 -0
- package/dist/lookOptic-KieSqskd.cjs +283 -0
- package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
- package/dist/mantraBrand-DrqG9uqO.js +751 -0
- package/dist/medterra-CLG6Co1C.cjs +584 -0
- package/dist/medterra-D8ZX9NZC.js +584 -0
- package/dist/modells-BzyPwN2m.cjs +485 -0
- package/dist/modells-CAfqOCW4.js +485 -0
- package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
- package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
- package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
- package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
- package/dist/pressedFloral-DULBuQwR.cjs +662 -0
- package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
- package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
- package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
- package/dist/skinPerfection-BxuYCeJX.js +335 -0
- package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
- package/dist/snapSupplements-Bf6htPM0.js +286 -0
- package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
- package/dist/socialProofClasses-DdzG1tZy.js +10 -0
- package/dist/socialProofClasses-ky69yppk.cjs +40 -0
- package/dist/spanx-CwDPQaGj.js +662 -0
- package/dist/spanx-Cyd4qDlK.cjs +664 -0
- package/dist/spanxStaging-D43nyAGy.js +846 -0
- package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
- package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
- package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
- package/dist/supergoop-BnbFG7hm.cjs +338 -0
- package/dist/supergoop-CY043wIg.js +336 -0
- package/dist/test-types-CXVJxTeu.d.ts +40 -0
- package/dist/test-types-CuOq25VT.d.cts +40 -0
- package/dist/types/index.cjs +2 -2
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +2 -2
- package/dist/types-BF_CJeck.js +177 -0
- package/dist/types-CD4LFta-.d.cts +33 -0
- package/dist/types-CNH4sfF-.cjs +231 -0
- package/dist/types-DBdI0j89.d.ts +33 -0
- package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
- package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
- package/dist/variant-CKVRF2-W.d.ts +13 -0
- package/dist/variant-raYuOP4L.d.cts +13 -0
- package/dist/venaCbd-o5_vOp4e.js +366 -0
- package/dist/venaCbd-r-IxEVc1.cjs +366 -0
- package/dist/westonJonBoucher-C95EuCl-.js +423 -0
- package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
- package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
- package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
- package/dist/wolfMattress-6xPfOJt3.js +373 -0
- package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
- package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
- package/dist/wolfTactical-C_F9-oPX.js +350 -0
- package/package.json +1 -1
- package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
- package/src/adapters/spiffy/commerce/api.ts +17 -8
- package/src/adapters/spiffy/commerce/graphql.ts +16 -5
- package/src/application/config/generalStaticConfig.ts +5 -2
- package/src/application/models/api/orgConfigResults.ts +6 -2
- package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
- package/src/application/service/cdnService.ts +4 -2
- package/src/application/service/index.ts +0 -1
- package/src/application/service/pageVariantService.ts +5 -5
- package/src/application/service/searchService.ts +9 -2
- package/src/application/service/windowChatToggleService.ts +28 -19
- package/src/application/service/windowFrontendConfigService.ts +7 -4
- package/src/atoms/app/index.ts +26 -17
- package/src/atoms/app/variant.ts +1 -0
- package/src/atoms/chat/messageQueue.ts +1 -1
- package/src/atoms/envive/enviveConfig.ts +81 -0
- package/src/atoms/org/graphqlConfig.ts +29 -11
- package/src/atoms/org/merchantCss.ts +114 -0
- package/src/atoms/org/org.ts +101 -64
- package/src/atoms/org/orgPageConfig.ts +9 -6
- package/src/atoms/org/orgUIConfig.ts +22 -9
- package/src/atoms/search/chatSearch.ts +85 -67
- package/src/contexts/chatContext.tsx +4 -1
- package/src/contexts/enviveConfigContext.tsx +37 -26
- package/src/contexts/enviveCssContext.tsx +20 -0
- package/src/contexts/index.ts +2 -0
- package/src/contexts/orgConfigContext.tsx +106 -0
- package/src/contexts/systemSettingsContext.tsx +2 -2
- package/src/contexts/types.ts +12 -9
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useSearch.tsx +10 -6
- package/src/hooks/utils.ts +1 -1
- package/src/interceptors/useFormEscalation.ts +26 -9
- package/src/types.ts +0 -2
- package/dist/api-BtzLHcfU.cjs +0 -268
- package/dist/api-kpPTZhV9.js +0 -189
- package/dist/atomStore-BNQyGmU_.cjs +0 -57
- package/dist/atomStore-TnLPtYns.js +0 -31
- package/dist/bandolier-CQrxBHsk.cjs +0 -1230
- package/dist/bandolier-Di9DpZ8e.js +0 -1230
- package/dist/carpe-3NJOR-Rj.cjs +0 -608
- package/dist/carpe-DmWKaIQq.js +0 -606
- package/dist/cdnService-BNreZjqy.js +0 -18
- package/dist/cdnService-vLxePdrU.cjs +0 -23
- package/dist/chat-CCQMmhc1.cjs +0 -5057
- package/dist/chat-Dk6KPb1K.js +0 -25
- package/dist/chat-H6YcCS4I.js +0 -4113
- package/dist/components-DAQxVIn9.js +0 -10
- package/dist/coterie-D0UFsFC5.cjs +0 -240
- package/dist/coterie-JblRmIZL.js +0 -240
- package/dist/customerService-C4wc0glQ.js +0 -22
- package/dist/customerService-zsDlp7g2.cjs +0 -35
- package/dist/custservice-types-D8Npo-5Z.js +0 -22
- package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
- package/dist/default-C5ZTV8HA.cjs +0 -4
- package/dist/default-DPv8m-eQ.js +0 -175
- package/dist/default-DRKBosow.cjs +0 -198
- package/dist/default-ao0vRl0W.js +0 -4
- package/dist/divIds-BWvq-i6I.js +0 -22
- package/dist/dreamlandBaby-CyS8oW8X.js +0 -347
- package/dist/dreamlandBaby-y7kSvwH2.cjs +0 -347
- package/dist/embedded-C1jvFj3v.js +0 -22
- package/dist/entrypoints-CmmOszXO.js +0 -6
- package/dist/entrypoints-fowCLUT2.cjs +0 -18
- package/dist/enviveConfigContext-Bs8kepnO.cjs +0 -48
- package/dist/enviveConfigContext-CWVdVWKW.js +0 -34
- package/dist/events-DgFzlVJR.js +0 -77
- package/dist/events-bH-24eRW.cjs +0 -89
- package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
- package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
- package/dist/featureGates-BMWXU0dS.d.ts +0 -90
- package/dist/featureGates-N_gyHCTn.d.cts +0 -90
- package/dist/fiveCbd-CXVuIBiZ.cjs +0 -614
- package/dist/fiveCbd-Cyc3-Ab9.js +0 -614
- package/dist/forLoveAndLemons-CxQS0USq.cjs +0 -668
- package/dist/forLoveAndLemons-D8mcgmdk.js +0 -666
- package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
- package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
- package/dist/globalSearch-BC0rOX3E.js +0 -13
- package/dist/greenpan-JM6SHcqO.js +0 -398
- package/dist/greenpan-eIzyxVsn.cjs +0 -398
- package/dist/grooveLife-BmsUc2cD.js +0 -343
- package/dist/grooveLife-KdTizVUn.cjs +0 -343
- package/dist/homegrownCannabis-C0GDai4r.cjs +0 -411
- package/dist/homegrownCannabis-a9udocBT.js +0 -411
- package/dist/hooks-DjOa7ihH.cjs +0 -7331
- package/dist/hooks-fneW8SWw.js +0 -7152
- package/dist/index-BQErGgfM.d.cts +0 -202
- package/dist/index-BdNKc2ix.d.cts +0 -8
- package/dist/index-BrXuc_Ck.d.cts +0 -24
- package/dist/index-C4zjAR1c.d.cts +0 -227
- package/dist/index-CGB6CAmr.d.ts +0 -6
- package/dist/index-CIco0cCQ.d.ts +0 -183
- package/dist/index-COG1kOZG.d.ts +0 -749
- package/dist/index-CVxe7FpL.d.cts +0 -6
- package/dist/index-Cn1SeI5y.d.cts +0 -183
- package/dist/index-CnqHN_jz.d.ts +0 -202
- package/dist/index-Cqg6ltII.d.ts +0 -38
- package/dist/index-DE_7Q8qK.d.ts +0 -94
- package/dist/index-Da0UzyI9.d.ts +0 -24
- package/dist/index-DbWWcYax.d.cts +0 -749
- package/dist/index-DtoVXd6O.d.cts +0 -97
- package/dist/index-JClBRnSX.d.cts +0 -94
- package/dist/index-ghzD_356.d.ts +0 -8
- package/dist/index-hdbCEjYy.d.cts +0 -38
- package/dist/index-luJrHgPN.d.ts +0 -97
- package/dist/index-tfRj22E1.d.ts +0 -227
- package/dist/jackArcher-B6OJ0N3a.cjs +0 -728
- package/dist/jackArcher-B9fe4Hv8.js +0 -728
- package/dist/jordanCraig-0CB_m_ts.cjs +0 -1787
- package/dist/jordanCraig-DNm1iw1L.js +0 -1787
- package/dist/kindredBravely-CZgt7DJA.js +0 -491
- package/dist/kindredBravely-KvYPbckZ.cjs +0 -491
- package/dist/kutFromTheKloth-BxgtWZs9.cjs +0 -370
- package/dist/kutFromTheKloth-SmteSZjk.js +0 -370
- package/dist/larryAndSerges-6O_u3L90.cjs +0 -261
- package/dist/larryAndSerges-DO-zG8ES.js +0 -261
- package/dist/leapsAndRebounds-BK62AmXw.js +0 -361
- package/dist/leapsAndRebounds-gPsWVUmQ.cjs +0 -361
- package/dist/logger-Be0NyKaY.cjs +0 -25
- package/dist/logger-BexDfK3W.js +0 -19
- package/dist/longevityrx-DjKbwJo3.cjs +0 -321
- package/dist/longevityrx-eq5TeUcy.js +0 -321
- package/dist/lookOptic-BPPqms_j.cjs +0 -283
- package/dist/lookOptic-jRpBXQCN.js +0 -283
- package/dist/mantraBrand-BZOZfkUK.js +0 -751
- package/dist/mantraBrand-Cp8zptkj.cjs +0 -751
- package/dist/medterra-BHYCBgvQ.cjs +0 -584
- package/dist/medterra-CShe6CLY.js +0 -584
- package/dist/modells-DE7-gmjK.cjs +0 -485
- package/dist/modells-DFyJxNwT.js +0 -485
- package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
- package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
- package/dist/org-Bkn6fl6I.cjs +0 -106
- package/dist/org-CX8HFbc9.js +0 -63
- package/dist/pressedFloral-BMkCVs8c.cjs +0 -662
- package/dist/pressedFloral-aK9br-LF.js +0 -662
- package/dist/search-DtIFZeMA.cjs +0 -743
- package/dist/search-eWwg8pNn.js +0 -542
- package/dist/search-filter-types-ByJnFPc4.d.cts +0 -101
- package/dist/search-filter-types-DPgeG8FS.d.ts +0 -101
- package/dist/skinPerfection-B9G6yLM2.js +0 -335
- package/dist/skinPerfection-BBC1q65Z.cjs +0 -335
- package/dist/snapSupplements-D7hx6Kgj.cjs +0 -286
- package/dist/snapSupplements-DKvJl__T.js +0 -286
- package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
- package/dist/socialProofClasses-CkJufEGb.js +0 -9
- package/dist/spanx-D-ZKkxjM.cjs +0 -664
- package/dist/spanx-yl7YfVrf.js +0 -662
- package/dist/spanxStaging-CXeIg6zI.cjs +0 -849
- package/dist/spanxStaging-DzGXL9wD.js +0 -846
- package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
- package/dist/supergoop-CSpDPOpl.cjs +0 -337
- package/dist/supergoop-D0UkuRiA.js +0 -335
- package/dist/test-types-C9b_OdfO.d.ts +0 -39
- package/dist/test-types-CpKCxk8U.d.cts +0 -39
- package/dist/types-BE4faOO_.d.cts +0 -32
- package/dist/types-C3S1H4hl.js +0 -176
- package/dist/types-TD8g7LnH.d.ts +0 -32
- package/dist/types-lcjuhDBt.cjs +0 -230
- package/dist/uniqueVintage-DygVpCqU.cjs +0 -1214
- package/dist/uniqueVintage-_n0FZFVj.js +0 -1212
- package/dist/useMessageInterceptor-BP6gzo8a.js +0 -57
- package/dist/useMessageInterceptor-BnUG2Pzt.cjs +0 -72
- package/dist/variant-DH4zusMi.d.cts +0 -12
- package/dist/variant-DTEqSBHd.d.ts +0 -12
- package/dist/variantInfo-BTvC6CQh.js +0 -1
- package/dist/variantInfo-Cz2YXraO.cjs +0 -0
- package/dist/venaCbd-BS0dvdBm.js +0 -366
- package/dist/venaCbd-Pqg0bj-P.cjs +0 -366
- package/dist/westonJonBoucher-CLw8Hy6u.js +0 -423
- package/dist/westonJonBoucher-CeA0jwxe.cjs +0 -423
- package/dist/wineEnthusiast-M9P18d1w.js +0 -941
- package/dist/wineEnthusiast-gHBaQMbe.cjs +0 -941
- package/dist/wolfMattress-BQHjoQYu.js +0 -373
- package/dist/wolfMattress-CdmN-Evm.cjs +0 -373
- package/dist/wolfTactical-Cc2ZLBRh.js +0 -350
- package/dist/wolfTactical-dObnPgAG.cjs +0 -350
- package/src/application/service/environmentService.ts +0 -51
- package/src/extension.ts +0 -63
- package/src/initialize.ts +0 -163
- package/src/main.tsx +0 -108
- package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
- /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
- /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +0 -0
- /package/dist/{locators-C2DX_nX6.js → utilityTypes-BVikejDo.js} +0 -0
- /package/dist/{locators-CUpyd9Wt.cjs → utilityTypes-C4h2wgAK.cjs} +0 -0
- /package/dist/{utilityTypes-DMdsI0DG.cjs → variantInfo-CNRTY0gH.cjs} +0 -0
- /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
|
|
9
|
-
dataResidency
|
|
10
|
-
env
|
|
11
|
-
baseUrl
|
|
12
|
-
reactAppName
|
|
13
|
-
cdnUrl
|
|
14
|
-
contextSource
|
|
15
|
-
orgLevelApiKey
|
|
16
|
-
orgShortName
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
|
|
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
|
+
};
|
package/src/contexts/index.ts
CHANGED
|
@@ -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 {
|
|
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(
|
|
52
|
+
const endpointURL = useAtomValue(baseUrlAtom);
|
|
53
53
|
const settingsContextValues = useMemo(
|
|
54
54
|
() => ({
|
|
55
55
|
generationParams: params,
|
package/src/contexts/types.ts
CHANGED
|
@@ -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
|
|
976
|
-
dataResidency
|
|
977
|
-
env
|
|
978
|
-
baseUrl
|
|
979
|
-
reactAppName
|
|
980
|
-
cdnUrl
|
|
981
|
-
contextSource
|
|
982
|
-
orgLevelApiKey
|
|
983
|
-
orgShortName
|
|
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 {
|
package/src/hooks/index.ts
CHANGED
package/src/hooks/useSearch.tsx
CHANGED
|
@@ -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:
|
|
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,
|
package/src/hooks/utils.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { FormType, ResponseCategory } from
|
|
2
|
-
import { useAtomValue, useSetAtom } from
|
|
3
|
-
import { Response } from
|
|
4
|
-
import { handleFormSubmittedAtom } from
|
|
5
|
-
import { apiKeyAtom
|
|
6
|
-
import { orgCustomerServiceService } from
|
|
7
|
-
import { MessageInterceptor } from
|
|
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(
|
|
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(
|
|
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;
|
package/dist/api-BtzLHcfU.cjs
DELETED
|
@@ -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
|
-
});
|