@everfur/sdk 0.12.1 → 0.14.0
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/CHANGELOG.md +292 -0
- package/README.md +12 -10
- package/dist/{Chat-CgYQdfqi.d.ts → Chat.d-aycmX1CA.d.cts} +178 -8
- package/dist/{Chat-CbyZ1vAX.d.cts → Chat.d-puminpyi.d.ts} +178 -8
- package/dist/{DepthViews-CCz4ig0u.d.ts → DepthViews.d-BdvFZgPs.d.cts} +1 -1
- package/dist/{DepthViews-CaQUyCHK.d.ts → DepthViews.d-DIvxzLDf.d.ts} +1 -1
- package/dist/{DepthViews-iGZi4_WK.d.cts → DepthViews.d-Dy0Zl-s-.d.ts} +1 -1
- package/dist/{DepthViews-D3OiIK_x.d.cts → DepthViews.d-wLNkzk9f.d.cts} +1 -1
- package/dist/{ErrorPolicyPort-10s3HJCt.d.cts → ErrorPolicyPort.d-68yrE3BE.d.ts} +1 -1
- package/dist/{ErrorPolicyPort-C3nNSS_j.d.ts → ErrorPolicyPort.d-DirW9hgO.d.cts} +1 -1
- package/dist/{EverfurError-DeBqRpQV.d.cts → EverfurError.d-8NHtlgzA.d.cts} +11 -1
- package/dist/{EverfurError-DeBqRpQV.d.ts → EverfurError.d-8NHtlgzA.d.ts} +11 -1
- package/dist/{EverfurResult-ClPTS0P2.d.ts → EverfurResult.d-BFH-3s6E.d.cts} +1 -1
- package/dist/{EverfurResult-COlXj1wq.d.cts → EverfurResult.d-D_-254ZY.d.ts} +1 -1
- package/dist/{IntakeMedia-BH0fYDT2.d.cts → IntakeMedia.d-4a89XrP7.d.ts} +1 -1
- package/dist/{IntakeMedia-B-_vA9ZB.d.cts → IntakeMedia.d-DGxrhgIW.d.ts} +1 -1
- package/dist/{IntakeMedia-CIoTXAWs.d.ts → IntakeMedia.d-DUPR4lVM.d.cts} +1 -1
- package/dist/{IntakeMedia-Bavl7E4Z.d.ts → IntakeMedia.d-JJCUvQu7.d.cts} +1 -1
- package/dist/LifecyclePort.d-Cr1p33a7.d.cts +23 -0
- package/dist/LifecyclePort.d-Cr1p33a7.d.ts +23 -0
- package/dist/{PhotoController-vzY5bfY_.d.ts → PhotoController.d-BzCJOE7e.d.cts} +2 -2
- package/dist/{PhotoController-3l7MT9jA.d.cts → PhotoController.d-D0XiUUOl.d.ts} +2 -2
- package/dist/RecordsPage.d-9Ank15PT.d.ts +93 -0
- package/dist/RecordsPage.d-DMKU0IKc.d.cts +93 -0
- package/dist/animations/index.cjs +4 -1
- package/dist/animations/index.d.cts +24 -24
- package/dist/animations/index.d.ts +24 -24
- package/dist/animations/index.js +4 -1
- package/dist/{attachments-CTJK0jQ4.d.ts → attachments.d--sIsfk6e.d.ts} +4 -4
- package/dist/{attachments-DkMrKCIU.d.ts → attachments.d-DNUCiyy5.d.cts} +10 -32
- package/dist/{attachments-DXBETOrV.d.cts → attachments.d-ZEpTUeWN.d.cts} +4 -4
- package/dist/{attachments-BOk3hEAM.d.cts → attachments.d-rp3xs-Q3.d.ts} +10 -32
- package/dist/{bookingCopy-C_a45T4-.d.ts → bookingCopy.d-D0uIIFAJ.d.ts} +24 -9
- package/dist/{bookingCopy-CHYGYHe0.d.cts → bookingCopy.d-DUrmVcLs.d.cts} +24 -9
- package/dist/{branding-DJf4h12Q.d.ts → branding.d-CTXTUg_8.d.cts} +9 -2
- package/dist/{branding-BCfwLj0h.d.cts → branding.d-DxJSoFce.d.ts} +9 -2
- package/dist/{callRoom-BhIdadyV.d.cts → callRoom.d-B1DoYdJe.d.cts} +1 -1
- package/dist/{callRoom-B92eH_ij.d.ts → callRoom.d-Dqm1rUqT.d.ts} +1 -1
- package/dist/{casesRepository-C8KJmlxE.d.cts → casesRepository.d-DCnix2pT.d.cts} +3 -3
- package/dist/{casesRepository-iAi5qWnx.d.ts → casesRepository.d-DbirgbyH.d.ts} +3 -3
- package/dist/chat/index.cjs +139 -63
- package/dist/chat/index.d.cts +34 -19
- package/dist/chat/index.d.ts +34 -19
- package/dist/chat/index.js +139 -63
- package/dist/client/index.cjs +14 -10
- package/dist/client/index.d.cts +19 -18
- package/dist/client/index.d.ts +19 -18
- package/dist/client/index.js +14 -10
- package/dist/clinicBatch.d-Ccmrngcu.d.cts +71 -0
- package/dist/clinicBatch.d-D9Ci7IpP.d.ts +71 -0
- package/dist/clinicModels.d-BXgKZqDb.d.cts +68 -0
- package/dist/clinicModels.d-CaS64-P-.d.ts +68 -0
- package/dist/clinicRequestProps.d-1dCtouGA.d.cts +65 -0
- package/dist/clinicRequestProps.d-CjsMg_OD.d.ts +65 -0
- package/dist/{config-C9zhanL-.d.cts → config.d-DJ4mvf_w.d.cts} +3 -3
- package/dist/{config-C5iPNKDj.d.ts → config.d-MX7IKP2f.d.ts} +3 -3
- package/dist/consent/index.cjs +4 -1
- package/dist/consent/index.d.cts +10 -10
- package/dist/consent/index.d.ts +10 -10
- package/dist/consent/index.js +4 -1
- package/dist/{context-D_bcpHDA.d.cts → context.d-BdnBe8Oe.d.ts} +15 -15
- package/dist/{context-BUIrC20Z.d.ts → context.d-C6MJsMpN.d.cts} +15 -15
- package/dist/{copy-KbCU9fen.d.ts → copy.d-BIfQOoDB.d.ts} +6 -6
- package/dist/{copy-BE31T2jR.d.cts → copy.d-C_u7shha.d.cts} +6 -6
- package/dist/core/index.cjs +16 -13
- package/dist/core/index.d.cts +35 -29
- package/dist/core/index.d.ts +35 -29
- package/dist/core/index.js +16 -13
- package/dist/{depth-DDKGfFaB.d.ts → depth.d-COFxYWLU.d.ts} +9 -242
- package/dist/{depth-DNxDieoO.d.cts → depth.d-D2e5WZuE.d.cts} +9 -242
- package/dist/{entitlementRepository-C1_wXIE3.d.cts → entitlementRepository.d-BP15dFbe.d.cts} +10 -5
- package/dist/{entitlementRepository-CYtdIGfH.d.ts → entitlementRepository.d-DLuxnGi5.d.ts} +10 -5
- package/dist/features.d-DrQxTw3-.d.cts +108 -0
- package/dist/features.d-DrQxTw3-.d.ts +108 -0
- package/dist/focus.d-C0Tr0oVJ.d.ts +939 -0
- package/dist/focus.d-jQWp0hdK.d.cts +939 -0
- package/dist/health-plan/index.cjs +384 -0
- package/dist/health-plan/index.d.cts +293 -0
- package/dist/health-plan/index.d.ts +293 -0
- package/dist/health-plan/index.js +384 -0
- package/dist/idempotency.d-DXb1BN2A.d.ts +1055 -0
- package/dist/idempotency.d-HF6fyRt2.d.cts +1055 -0
- package/dist/{identity-gjurBi7m.d.cts → identity.d-BePPZ7Uv.d.ts} +3 -3
- package/dist/{identity-BqeaN8An.d.ts → identity.d-CJfnWOdH.d.cts} +3 -3
- package/dist/index.cjs +148 -72
- package/dist/index.d.cts +32 -29
- package/dist/index.d.ts +32 -29
- package/dist/index.js +148 -72
- package/dist/introEvents.d-BkGDT_kG.d.cts +175 -0
- package/dist/introEvents.d-DHlMvmC7.d.ts +175 -0
- package/dist/introEvents.d-dS3fJCH1.d.cts +5 -0
- package/dist/introEvents.d-dS3fJCH1.d.ts +5 -0
- package/dist/{models-CnXY5LuO.d.ts → models.d-BSqvbTE1.d.cts} +15 -3
- package/dist/{models-A4A5S7AG.d.cts → models.d-DOwnr8fi.d.ts} +15 -3
- package/dist/notifications/index.cjs +4 -1
- package/dist/notifications/index.d.cts +9 -9
- package/dist/notifications/index.d.ts +9 -9
- package/dist/notifications/index.js +4 -1
- package/dist/optInView.d-0iI5JoAf.d.cts +441 -0
- package/dist/optInView.d-s-w4aGN3.d.ts +441 -0
- package/dist/parse.d-COt1qVA6.d.ts +210 -0
- package/dist/parse.d-EmsgOUMQ.d.cts +210 -0
- package/dist/{pets-CfutxNs9.d.cts → pets.d-BFT_b53y.d.ts} +3 -3
- package/dist/{pets-LIGadUtr.d.ts → pets.d-nNAVnw7f.d.cts} +3 -3
- package/dist/{petsRepository-CoRa3C_U.d.ts → petsRepository.d-B2TpRE7r.d.cts} +4 -4
- package/dist/{petsRepository-Cqpd3hLU.d.cts → petsRepository.d-RGwSZcYl.d.ts} +4 -4
- package/dist/photo/index.cjs +5 -2
- package/dist/photo/index.d.cts +9 -9
- package/dist/photo/index.d.ts +9 -9
- package/dist/photo/index.js +5 -2
- package/dist/planSignals.d-BDbp2e-k.d.cts +126 -0
- package/dist/planSignals.d-DSnxKoWe.d.ts +126 -0
- package/dist/{ports-BN6RHF9W.d.cts → ports.d-BX4f4UsB.d.cts} +14 -1
- package/dist/{ports-BN6RHF9W.d.ts → ports.d-BX4f4UsB.d.ts} +14 -1
- package/dist/{ports-CVi3n0re.d.ts → ports.d-D2n4HRUy.d.ts} +16 -10
- package/dist/{ports-gJ3faaWz.d.cts → ports.d-DBA_gsq5.d.cts} +16 -10
- package/dist/presentation.d-vy8kTGfR.d.cts +96 -0
- package/dist/presentation.d-vy8kTGfR.d.ts +96 -0
- package/dist/quickPrompts.d-NM_81Jc1.d.cts +19 -0
- package/dist/quickPrompts.d-NM_81Jc1.d.ts +19 -0
- package/dist/records/depth/index.cjs +10 -7
- package/dist/records/depth/index.d.cts +18 -12
- package/dist/records/depth/index.d.ts +18 -12
- package/dist/records/depth/index.js +10 -7
- package/dist/records/index.cjs +350 -74
- package/dist/records/index.d.cts +225 -21
- package/dist/records/index.d.ts +225 -21
- package/dist/records/index.js +351 -75
- package/dist/recordsAsk.d-C5CGSi3j.d.cts +14 -0
- package/dist/recordsAsk.d-C5CGSi3j.d.ts +14 -0
- package/dist/{requestFunnel-BYzlyaC0.d.ts → requestFunnel.d-D9edIEjZ.d.ts} +5 -5
- package/dist/{requestFunnel-DLZpiFD3.d.cts → requestFunnel.d-RZex94XX.d.cts} +5 -5
- package/dist/{resolve-D4Ywz5OS.d.ts → resolve.d-CoQWUy1Y.d.cts} +2 -2
- package/dist/{resolve-D4Ywz5OS.d.cts → resolve.d-CoQWUy1Y.d.ts} +2 -2
- package/dist/{runtimeTypes-BxxCKMn8.d.cts → runtimeTypes.d-BYq38b17.d.ts} +20 -13
- package/dist/{runtimeTypes-Doa_xxSa.d.ts → runtimeTypes.d-LkwZaF7z.d.cts} +20 -13
- package/dist/screenProps.d-BVzRzowC.d.ts +159 -0
- package/dist/screenProps.d-CQ0qZJkr.d.cts +159 -0
- package/dist/server/events/index.cjs +6 -3
- package/dist/server/events/index.d.cts +51 -9
- package/dist/server/events/index.d.ts +51 -9
- package/dist/server/events/index.js +6 -3
- package/dist/server/index.cjs +11 -6
- package/dist/server/index.d.cts +152 -8
- package/dist/server/index.d.ts +152 -8
- package/dist/server/index.js +11 -6
- package/dist/sheetCopy.d-CAhLOxjc.d.cts +4 -0
- package/dist/sheetCopy.d-CAhLOxjc.d.ts +4 -0
- package/dist/sheetSeam.d-B09jf4YC.d.ts +49 -0
- package/dist/sheetSeam.d-BBuEIVsa.d.cts +49 -0
- package/dist/shop/index.cjs +428 -0
- package/dist/shop/index.d.cts +211 -0
- package/dist/shop/index.d.ts +211 -0
- package/dist/shop/index.js +428 -0
- package/dist/tabs/index.cjs +195 -0
- package/dist/tabs/index.d.cts +174 -0
- package/dist/tabs/index.d.ts +174 -0
- package/dist/tabs/index.js +195 -0
- package/dist/tabsModel.d-BfIQg6yS.d.cts +31 -0
- package/dist/tabsModel.d-BfIQg6yS.d.ts +31 -0
- package/dist/televet/booking/index.cjs +15 -12
- package/dist/televet/booking/index.d.cts +36 -22
- package/dist/televet/booking/index.d.ts +36 -22
- package/dist/televet/booking/index.js +15 -12
- package/dist/televet/call/index.d.cts +5 -5
- package/dist/televet/call/index.d.ts +5 -5
- package/dist/televet/index.cjs +6 -3
- package/dist/televet/index.d.cts +12 -12
- package/dist/televet/index.d.ts +12 -12
- package/dist/televet/index.js +6 -3
- package/dist/{televetGlobal-C5dTUACe.d.cts → televetGlobal.d-CC-DrqkQ.d.ts} +7 -2
- package/dist/{televetGlobal-CnjrfhT4.d.ts → televetGlobal.d-CKwDCbmN.d.cts} +7 -2
- package/dist/testing/index.cjs +6 -3
- package/dist/testing/index.d.cts +3 -3
- package/dist/testing/index.d.ts +3 -3
- package/dist/testing/index.js +6 -3
- package/dist/testing/rn/index.cjs +5 -2
- package/dist/testing/rn/index.d.cts +23 -22
- package/dist/testing/rn/index.d.ts +23 -22
- package/dist/testing/rn/index.js +5 -2
- package/dist/testing/web/index.cjs +4 -1
- package/dist/testing/web/index.d.cts +23 -22
- package/dist/testing/web/index.d.ts +23 -22
- package/dist/testing/web/index.js +4 -1
- package/dist/texting/index.cjs +193 -0
- package/dist/texting/index.d.cts +69 -0
- package/dist/texting/index.d.ts +69 -0
- package/dist/texting/index.js +193 -0
- package/dist/threadOptions.d-9r4Csa7k.d.cts +458 -0
- package/dist/threadOptions.d-B6GA09aM.d.ts +458 -0
- package/dist/{timelineRows-Beun96e2.d.cts → timelineRows.d-Bes8ip2v.d.ts} +1 -1
- package/dist/{timelineRows-CGOlC_Q9.d.ts → timelineRows.d-BvM2A7_G.d.cts} +1 -1
- package/dist/{tokens-DLj8OnLH.d.cts → tokens.d-DarDaV39.d.cts} +10 -2
- package/dist/{tokens-DLj8OnLH.d.ts → tokens.d-DarDaV39.d.ts} +10 -2
- package/dist/{typeStyle-DJedEu14.d.cts → typeStyle.d-Co5KF0up.d.ts} +2 -2
- package/dist/{typeStyle-BxVyF71R.d.ts → typeStyle.d-xIZj02Ru.d.cts} +2 -2
- package/dist/{uploadTransport-C6kGP1Kd.d.ts → uploadTransport.d-CWL7CdWP.d.cts} +1 -1
- package/dist/{uploadTransport-BM_pnEWj.d.cts → uploadTransport.d-EGoUl7gX.d.ts} +1 -1
- package/dist/useIntroSeen.d-CTWFUthO.d.cts +35 -0
- package/dist/useIntroSeen.d-CTWFUthO.d.ts +35 -0
- package/dist/usePresentation.d-BGz32Vlm.d.ts +285 -0
- package/dist/usePresentation.d-DYTF_ZGf.d.cts +285 -0
- package/dist/useRecords.d-BYNX01El.d.cts +121 -0
- package/dist/useRecords.d-DWk61a4c.d.ts +121 -0
- package/dist/useRecordsDepth.d--LLA_4ga.d.cts +32 -0
- package/dist/useRecordsDepth.d-BQRL0Hez.d.ts +32 -0
- package/dist/{useVetVisit-DmWa7lt1.d.ts → useVetVisit.d-BtdwhmgD.d.cts} +15 -4
- package/dist/{useVetVisit-PtBjNwZr.d.cts → useVetVisit.d-DoYQimyt.d.ts} +15 -4
- package/dist/video/index.cjs +5 -2
- package/dist/video/index.d.cts +7 -7
- package/dist/video/index.d.ts +7 -7
- package/dist/video/index.js +5 -2
- package/dist/{view-VvLEdXP4.d.cts → view.d-0yBjLTV3.d.cts} +12 -122
- package/dist/{view-C_B5U04g.d.ts → view.d-DqbCADFa.d.ts} +12 -122
- package/dist/web/consent/index.cjs +4 -1
- package/dist/web/consent/index.d.cts +10 -10
- package/dist/web/consent/index.d.ts +10 -10
- package/dist/web/consent/index.js +4 -1
- package/dist/web/health-plan/index.cjs +421 -0
- package/dist/web/health-plan/index.d.cts +189 -0
- package/dist/web/health-plan/index.d.ts +189 -0
- package/dist/web/health-plan/index.js +421 -0
- package/dist/web/index.cjs +170 -87
- package/dist/web/index.d.cts +292 -38
- package/dist/web/index.d.ts +292 -38
- package/dist/web/index.js +170 -87
- package/dist/web/intro/index.cjs +167 -0
- package/dist/web/intro/index.d.cts +79 -0
- package/dist/web/intro/index.d.ts +79 -0
- package/dist/web/intro/index.js +167 -0
- package/dist/web/notifications/index.cjs +15 -3
- package/dist/web/notifications/index.d.cts +39 -209
- package/dist/web/notifications/index.d.ts +39 -209
- package/dist/web/notifications/index.js +15 -3
- package/dist/web/records/depth/index.cjs +10 -7
- package/dist/web/records/depth/index.d.cts +18 -12
- package/dist/web/records/depth/index.d.ts +18 -12
- package/dist/web/records/depth/index.js +10 -7
- package/dist/web/records/index.cjs +94 -68
- package/dist/web/records/index.d.cts +39 -55
- package/dist/web/records/index.d.ts +39 -55
- package/dist/web/records/index.js +94 -68
- package/dist/web/records/upload/index.d.cts +2 -2
- package/dist/web/records/upload/index.d.ts +2 -2
- package/dist/web/records-sheet/index.cjs +332 -0
- package/dist/web/records-sheet/index.d.cts +104 -0
- package/dist/web/records-sheet/index.d.ts +104 -0
- package/dist/web/records-sheet/index.js +332 -0
- package/dist/web/shop/index.cjs +416 -0
- package/dist/web/shop/index.d.cts +59 -0
- package/dist/web/shop/index.d.ts +59 -0
- package/dist/web/shop/index.js +416 -0
- package/dist/web/televet/booking/index.cjs +15 -12
- package/dist/web/televet/booking/index.d.cts +37 -23
- package/dist/web/televet/booking/index.d.ts +37 -23
- package/dist/web/televet/booking/index.js +15 -12
- package/dist/web/televet/call/index.d.cts +4 -4
- package/dist/web/televet/call/index.d.ts +4 -4
- package/dist/web/televet/index.cjs +6 -3
- package/dist/web/televet/index.d.cts +12 -12
- package/dist/web/televet/index.d.ts +12 -12
- package/dist/web/televet/index.js +6 -3
- package/dist/web/texting/index.cjs +188 -0
- package/dist/web/texting/index.d.cts +69 -0
- package/dist/web/texting/index.d.ts +69 -0
- package/dist/web/texting/index.js +188 -0
- package/health-plan/package.json +8 -0
- package/package.json +138 -5
- package/shop/package.json +8 -0
- package/tabs/package.json +8 -0
- package/texting/package.json +8 -0
- package/web/health-plan/native-blocked.cjs +12 -0
- package/web/health-plan/package.json +8 -0
- package/web/intro/native-blocked.cjs +12 -0
- package/web/intro/package.json +8 -0
- package/web/records-sheet/native-blocked.cjs +12 -0
- package/web/records-sheet/package.json +8 -0
- package/web/shop/native-blocked.cjs +12 -0
- package/web/shop/package.json +8 -0
- package/web/texting/native-blocked.cjs +12 -0
- package/web/texting/package.json +8 -0
- package/dist/useRecordsDepth-DRrJntjt.d.cts +0 -257
- package/dist/useRecordsDepth-hR94debv.d.ts +0 -257
- /package/dist/{CameraPort-Cv31Pz7g.d.cts → CameraPort.d-Cv31Pz7g.d.cts} +0 -0
- /package/dist/{CameraPort-Cv31Pz7g.d.ts → CameraPort.d-Cv31Pz7g.d.ts} +0 -0
- /package/dist/{TelemetryPort-BDNr00hu.d.cts → TelemetryPort.d-BDNr00hu.d.cts} +0 -0
- /package/dist/{TelemetryPort-BDNr00hu.d.ts → TelemetryPort.d-BDNr00hu.d.ts} +0 -0
- /package/dist/{cacheEpoch-DknKn3S0.d.cts → cacheEpoch.d-DknKn3S0.d.cts} +0 -0
- /package/dist/{cacheEpoch-DknKn3S0.d.ts → cacheEpoch.d-DknKn3S0.d.ts} +0 -0
- /package/dist/{callCopy-Bw6oZT54.d.cts → callCopy.d-Bw6oZT54.d.cts} +0 -0
- /package/dist/{callCopy-Bw6oZT54.d.ts → callCopy.d-Bw6oZT54.d.ts} +0 -0
- /package/dist/{ids-B2GAAifq.d.cts → ids.d-B2GAAifq.d.cts} +0 -0
- /package/dist/{ids-B2GAAifq.d.ts → ids.d-B2GAAifq.d.ts} +0 -0
- /package/dist/{optionalModule-DbJmsq5f.d.cts → optionalModule.d-DbJmsq5f.d.cts} +0 -0
- /package/dist/{optionalModule-DbJmsq5f.d.ts → optionalModule.d-DbJmsq5f.d.ts} +0 -0
- /package/dist/{profile-CSs1wlXT.d.cts → profile.d-CSs1wlXT.d.cts} +0 -0
- /package/dist/{profile-CSs1wlXT.d.ts → profile.d-CSs1wlXT.d.ts} +0 -0
- /package/dist/{projection-CeIUsbSk.d.cts → projection.d-CeIUsbSk.d.cts} +0 -0
- /package/dist/{projection-CeIUsbSk.d.ts → projection.d-CeIUsbSk.d.ts} +0 -0
- /package/dist/{species-BXAIMh7I.d.cts → species.d-BXAIMh7I.d.cts} +0 -0
- /package/dist/{species-BXAIMh7I.d.ts → species.d-BXAIMh7I.d.ts} +0 -0
- /package/dist/{visitIntent-D7_yVp1I.d.cts → visitIntent.d-D7_yVp1I.d.cts} +0 -0
- /package/dist/{visitIntent-D7_yVp1I.d.ts → visitIntent.d-D7_yVp1I.d.ts} +0 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { a as HealthPlanPetWords, H as HealthPlanPage } from './focus.d-jQWp0hdK.cjs';
|
|
2
|
+
import { P as PetRef } from './ids.d-B2GAAifq.cjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The partner's own words in the intro. Each defaults to '' (the line is then not drawn). Raph's Embark lines, for
|
|
6
|
+
* reference: eyebrow "New in Embark"; lede "Built from her Embark DNA (all 255 results of it)."; pendingLede "Built from
|
|
7
|
+
* her Embark DNA, the day her results land."; recordsRowMore "Her DNA risks and her vet records, side by side.";
|
|
8
|
+
* planTopic "back"; askTitle "Her DNA knows a lot. Her vet knows the rest."; noVetTitle "No vet yet? Fair. Her plan
|
|
9
|
+
* runs on her DNA until she has one."; sentFine "Until then, her plan runs on her Embark DNA."; clinicEta "Usually 2
|
|
10
|
+
* to 5 days"; blanksDetail "Her weight, her dose and her next shots"; bannerBody "Her plan's three blanks are filled:
|
|
11
|
+
* her weight, her dose and her next shots."; appName "Embark".
|
|
12
|
+
*/
|
|
13
|
+
interface EverfurIntroCopy {
|
|
14
|
+
/** Frame 1's eyebrow, before Everfur's "powered by" lockup. */
|
|
15
|
+
readonly eyebrow: string;
|
|
16
|
+
/** Frame 1's line under the title (the partner counts its own results). */
|
|
17
|
+
readonly lede: string;
|
|
18
|
+
/** Frame 1's line under the title while the pet's results are not back (`resultsPending`). */
|
|
19
|
+
readonly pendingLede: string;
|
|
20
|
+
/** The Records row's second sentence. */
|
|
21
|
+
readonly recordsRowMore: string;
|
|
22
|
+
/** What the plan is for, in a word or two ("back"): "One plan for her back, built with ...". Empty drops that sentence. */
|
|
23
|
+
readonly planTopic: string;
|
|
24
|
+
/** Frame 2's title. Empty: no title, and focus goes to the frame's first line. */
|
|
25
|
+
readonly askTitle: string;
|
|
26
|
+
/** The no-vet frame's title. Empty: as `askTitle`. */
|
|
27
|
+
readonly noVetTitle: string;
|
|
28
|
+
/** The Sent frame's fine print. */
|
|
29
|
+
readonly sentFine: string;
|
|
30
|
+
/** How long a clinic usually takes, under "Her clinic sends her records". */
|
|
31
|
+
readonly clinicEta: string;
|
|
32
|
+
/** What fills in, under "Her three blanks fill in". */
|
|
33
|
+
readonly blanksDetail: string;
|
|
34
|
+
/** The records-landed banner's second line. */
|
|
35
|
+
readonly bannerBody: string;
|
|
36
|
+
/** The app the banner comes from (its header line). */
|
|
37
|
+
readonly appName: string;
|
|
38
|
+
}
|
|
39
|
+
declare const EVERFUR_INTRO_COPY: EverfurIntroCopy;
|
|
40
|
+
/**
|
|
41
|
+
* One of the plan's blanks: the words around the value only the pet's vet records hold. `before` + blank + `after`
|
|
42
|
+
* reads as one line ("Keep her at __ lb"); `source` is the small line under it. `width` is Raph's blank size.
|
|
43
|
+
*/
|
|
44
|
+
interface EverfurIntroBlank {
|
|
45
|
+
readonly before: string;
|
|
46
|
+
readonly after: string;
|
|
47
|
+
readonly source: string;
|
|
48
|
+
readonly width?: 's' | 'l';
|
|
49
|
+
}
|
|
50
|
+
/** The pet's words, plus the subject pronoun Raph's clinic frame uses ("the one she sees most"). */
|
|
51
|
+
interface IntroPetWords extends HealthPlanPetWords {
|
|
52
|
+
/** "she", "he", or the name. */
|
|
53
|
+
readonly subj: string;
|
|
54
|
+
}
|
|
55
|
+
declare function introPetWords(name: string | null | undefined, sex: 'female' | 'male' | null | undefined): IntroPetWords;
|
|
56
|
+
/** "three" for 3, up to ten; null outside one to ten (the line that needs it is then not drawn). */
|
|
57
|
+
declare function numberWord(n: number): string | null;
|
|
58
|
+
/**
|
|
59
|
+
* Raph's two default blanks (BLANKS, plan.src.html L5080): her weight and her next shots, the two that hold for any
|
|
60
|
+
* partner. His middle one ("1 chew a day of Embark Joint") names the partner's product, so it comes from the host.
|
|
61
|
+
*/
|
|
62
|
+
declare function defaultIntroBlanks(p: IntroPetWords): readonly EverfurIntroBlank[];
|
|
63
|
+
/** What the intro knows about the pet and its plan, read off the plan page. */
|
|
64
|
+
interface IntroFacts {
|
|
65
|
+
readonly pet: IntroPetWords;
|
|
66
|
+
/** The plan page's title ("Georgia's back plan"), the blanks card's header. */
|
|
67
|
+
readonly planTitle: string;
|
|
68
|
+
/** The vet who built the plan, only when the page says a vet reviewed it. */
|
|
69
|
+
readonly vetName: string | null;
|
|
70
|
+
/** How many daily tips the plan starts with (its routine's steps). */
|
|
71
|
+
readonly tips: number;
|
|
72
|
+
}
|
|
73
|
+
declare function introFacts(page: HealthPlanPage | null, petName?: string | null): IntroFacts;
|
|
74
|
+
/** Every line the intro draws, for one pet. An empty string is a line not drawn. */
|
|
75
|
+
interface IntroText {
|
|
76
|
+
readonly sheetLabel: {
|
|
77
|
+
readonly intro: string;
|
|
78
|
+
readonly records: string;
|
|
79
|
+
};
|
|
80
|
+
readonly back: string;
|
|
81
|
+
readonly skip: string;
|
|
82
|
+
readonly close: string;
|
|
83
|
+
readonly poweredBy: string;
|
|
84
|
+
readonly tabs: {
|
|
85
|
+
readonly eyebrow: string;
|
|
86
|
+
readonly title: string;
|
|
87
|
+
readonly lede: string;
|
|
88
|
+
readonly ask: string;
|
|
89
|
+
readonly plan: string;
|
|
90
|
+
readonly records: string;
|
|
91
|
+
readonly next: string;
|
|
92
|
+
/** Next with the pet's vet records already in: frame 1 is the only frame. */
|
|
93
|
+
readonly seePlan: string;
|
|
94
|
+
};
|
|
95
|
+
readonly ask: {
|
|
96
|
+
readonly title: string;
|
|
97
|
+
readonly lede: string;
|
|
98
|
+
readonly blanksPill: string;
|
|
99
|
+
readonly blankLabel: string;
|
|
100
|
+
readonly later: string;
|
|
101
|
+
readonly connect: string;
|
|
102
|
+
readonly fine: string;
|
|
103
|
+
readonly noVet: string;
|
|
104
|
+
};
|
|
105
|
+
readonly clinic: {
|
|
106
|
+
readonly title: string;
|
|
107
|
+
readonly search: string;
|
|
108
|
+
readonly searchLabel: string;
|
|
109
|
+
readonly list: string;
|
|
110
|
+
readonly more: string;
|
|
111
|
+
readonly request: string;
|
|
112
|
+
readonly upload: string;
|
|
113
|
+
readonly add: string;
|
|
114
|
+
};
|
|
115
|
+
readonly sent: {
|
|
116
|
+
readonly eyebrow: string;
|
|
117
|
+
readonly title: string;
|
|
118
|
+
readonly track: string;
|
|
119
|
+
readonly sentStep: string;
|
|
120
|
+
readonly sentTo: (clinic: string) => string;
|
|
121
|
+
readonly clinicStep: string;
|
|
122
|
+
readonly clinicEta: string;
|
|
123
|
+
readonly blanksStep: string;
|
|
124
|
+
readonly blanksDetail: string;
|
|
125
|
+
readonly lede: string;
|
|
126
|
+
readonly notify: string;
|
|
127
|
+
readonly notNow: string;
|
|
128
|
+
readonly fine: string;
|
|
129
|
+
};
|
|
130
|
+
readonly noVet: {
|
|
131
|
+
readonly title: string;
|
|
132
|
+
readonly lede: string;
|
|
133
|
+
readonly seePlan: string;
|
|
134
|
+
};
|
|
135
|
+
readonly toast: {
|
|
136
|
+
readonly on: string;
|
|
137
|
+
readonly off: string;
|
|
138
|
+
readonly landed: string;
|
|
139
|
+
};
|
|
140
|
+
readonly banner: {
|
|
141
|
+
readonly app: string;
|
|
142
|
+
readonly now: string;
|
|
143
|
+
readonly title: string;
|
|
144
|
+
readonly body: string;
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
interface IntroTextInput {
|
|
148
|
+
readonly facts: IntroFacts;
|
|
149
|
+
readonly copy: EverfurIntroCopy;
|
|
150
|
+
/** How many blanks the plan holds (the blanks the intro shows). */
|
|
151
|
+
readonly blanks: number;
|
|
152
|
+
/** The pet's results are not back yet (frame 1's waiting lines). */
|
|
153
|
+
readonly resultsPending: boolean;
|
|
154
|
+
}
|
|
155
|
+
/** The intro's lines for one pet. Pure. */
|
|
156
|
+
declare function introText(input: IntroTextInput): IntroText;
|
|
157
|
+
|
|
158
|
+
/** A clinic records request the member sent from the intro (or its records-mode entry). */
|
|
159
|
+
interface EverfurRecordsRequested {
|
|
160
|
+
readonly petRef: PetRef;
|
|
161
|
+
/** The clinic as the member picked it. The callback's only: the web's window event leaves it out. */
|
|
162
|
+
readonly clinicName: string;
|
|
163
|
+
/** The created request's id, or null when the host's own flow sent it. */
|
|
164
|
+
readonly requestId: string | null;
|
|
165
|
+
/** ISO 8601. */
|
|
166
|
+
readonly at: string;
|
|
167
|
+
}
|
|
168
|
+
/** The pet's vet records arrived while the member was here (the records read turned from none to some). */
|
|
169
|
+
interface EverfurRecordsLanded {
|
|
170
|
+
readonly petRef: PetRef;
|
|
171
|
+
/** ISO 8601. */
|
|
172
|
+
readonly at: string;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export { type EverfurIntroCopy as E, type IntroText as I, type EverfurIntroBlank as a, type EverfurRecordsRequested as b, EVERFUR_INTRO_COPY as c, type EverfurRecordsLanded as d, type IntroFacts as e, type IntroPetWords as f, type IntroTextInput as g, defaultIntroBlanks as h, introFacts as i, introPetWords as j, introText as k, numberWord as n };
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { a as HealthPlanPetWords, H as HealthPlanPage } from './focus.d-C0Tr0oVJ.js';
|
|
2
|
+
import { P as PetRef } from './ids.d-B2GAAifq.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The partner's own words in the intro. Each defaults to '' (the line is then not drawn). Raph's Embark lines, for
|
|
6
|
+
* reference: eyebrow "New in Embark"; lede "Built from her Embark DNA (all 255 results of it)."; pendingLede "Built from
|
|
7
|
+
* her Embark DNA, the day her results land."; recordsRowMore "Her DNA risks and her vet records, side by side.";
|
|
8
|
+
* planTopic "back"; askTitle "Her DNA knows a lot. Her vet knows the rest."; noVetTitle "No vet yet? Fair. Her plan
|
|
9
|
+
* runs on her DNA until she has one."; sentFine "Until then, her plan runs on her Embark DNA."; clinicEta "Usually 2
|
|
10
|
+
* to 5 days"; blanksDetail "Her weight, her dose and her next shots"; bannerBody "Her plan's three blanks are filled:
|
|
11
|
+
* her weight, her dose and her next shots."; appName "Embark".
|
|
12
|
+
*/
|
|
13
|
+
interface EverfurIntroCopy {
|
|
14
|
+
/** Frame 1's eyebrow, before Everfur's "powered by" lockup. */
|
|
15
|
+
readonly eyebrow: string;
|
|
16
|
+
/** Frame 1's line under the title (the partner counts its own results). */
|
|
17
|
+
readonly lede: string;
|
|
18
|
+
/** Frame 1's line under the title while the pet's results are not back (`resultsPending`). */
|
|
19
|
+
readonly pendingLede: string;
|
|
20
|
+
/** The Records row's second sentence. */
|
|
21
|
+
readonly recordsRowMore: string;
|
|
22
|
+
/** What the plan is for, in a word or two ("back"): "One plan for her back, built with ...". Empty drops that sentence. */
|
|
23
|
+
readonly planTopic: string;
|
|
24
|
+
/** Frame 2's title. Empty: no title, and focus goes to the frame's first line. */
|
|
25
|
+
readonly askTitle: string;
|
|
26
|
+
/** The no-vet frame's title. Empty: as `askTitle`. */
|
|
27
|
+
readonly noVetTitle: string;
|
|
28
|
+
/** The Sent frame's fine print. */
|
|
29
|
+
readonly sentFine: string;
|
|
30
|
+
/** How long a clinic usually takes, under "Her clinic sends her records". */
|
|
31
|
+
readonly clinicEta: string;
|
|
32
|
+
/** What fills in, under "Her three blanks fill in". */
|
|
33
|
+
readonly blanksDetail: string;
|
|
34
|
+
/** The records-landed banner's second line. */
|
|
35
|
+
readonly bannerBody: string;
|
|
36
|
+
/** The app the banner comes from (its header line). */
|
|
37
|
+
readonly appName: string;
|
|
38
|
+
}
|
|
39
|
+
declare const EVERFUR_INTRO_COPY: EverfurIntroCopy;
|
|
40
|
+
/**
|
|
41
|
+
* One of the plan's blanks: the words around the value only the pet's vet records hold. `before` + blank + `after`
|
|
42
|
+
* reads as one line ("Keep her at __ lb"); `source` is the small line under it. `width` is Raph's blank size.
|
|
43
|
+
*/
|
|
44
|
+
interface EverfurIntroBlank {
|
|
45
|
+
readonly before: string;
|
|
46
|
+
readonly after: string;
|
|
47
|
+
readonly source: string;
|
|
48
|
+
readonly width?: 's' | 'l';
|
|
49
|
+
}
|
|
50
|
+
/** The pet's words, plus the subject pronoun Raph's clinic frame uses ("the one she sees most"). */
|
|
51
|
+
interface IntroPetWords extends HealthPlanPetWords {
|
|
52
|
+
/** "she", "he", or the name. */
|
|
53
|
+
readonly subj: string;
|
|
54
|
+
}
|
|
55
|
+
declare function introPetWords(name: string | null | undefined, sex: 'female' | 'male' | null | undefined): IntroPetWords;
|
|
56
|
+
/** "three" for 3, up to ten; null outside one to ten (the line that needs it is then not drawn). */
|
|
57
|
+
declare function numberWord(n: number): string | null;
|
|
58
|
+
/**
|
|
59
|
+
* Raph's two default blanks (BLANKS, plan.src.html L5080): her weight and her next shots, the two that hold for any
|
|
60
|
+
* partner. His middle one ("1 chew a day of Embark Joint") names the partner's product, so it comes from the host.
|
|
61
|
+
*/
|
|
62
|
+
declare function defaultIntroBlanks(p: IntroPetWords): readonly EverfurIntroBlank[];
|
|
63
|
+
/** What the intro knows about the pet and its plan, read off the plan page. */
|
|
64
|
+
interface IntroFacts {
|
|
65
|
+
readonly pet: IntroPetWords;
|
|
66
|
+
/** The plan page's title ("Georgia's back plan"), the blanks card's header. */
|
|
67
|
+
readonly planTitle: string;
|
|
68
|
+
/** The vet who built the plan, only when the page says a vet reviewed it. */
|
|
69
|
+
readonly vetName: string | null;
|
|
70
|
+
/** How many daily tips the plan starts with (its routine's steps). */
|
|
71
|
+
readonly tips: number;
|
|
72
|
+
}
|
|
73
|
+
declare function introFacts(page: HealthPlanPage | null, petName?: string | null): IntroFacts;
|
|
74
|
+
/** Every line the intro draws, for one pet. An empty string is a line not drawn. */
|
|
75
|
+
interface IntroText {
|
|
76
|
+
readonly sheetLabel: {
|
|
77
|
+
readonly intro: string;
|
|
78
|
+
readonly records: string;
|
|
79
|
+
};
|
|
80
|
+
readonly back: string;
|
|
81
|
+
readonly skip: string;
|
|
82
|
+
readonly close: string;
|
|
83
|
+
readonly poweredBy: string;
|
|
84
|
+
readonly tabs: {
|
|
85
|
+
readonly eyebrow: string;
|
|
86
|
+
readonly title: string;
|
|
87
|
+
readonly lede: string;
|
|
88
|
+
readonly ask: string;
|
|
89
|
+
readonly plan: string;
|
|
90
|
+
readonly records: string;
|
|
91
|
+
readonly next: string;
|
|
92
|
+
/** Next with the pet's vet records already in: frame 1 is the only frame. */
|
|
93
|
+
readonly seePlan: string;
|
|
94
|
+
};
|
|
95
|
+
readonly ask: {
|
|
96
|
+
readonly title: string;
|
|
97
|
+
readonly lede: string;
|
|
98
|
+
readonly blanksPill: string;
|
|
99
|
+
readonly blankLabel: string;
|
|
100
|
+
readonly later: string;
|
|
101
|
+
readonly connect: string;
|
|
102
|
+
readonly fine: string;
|
|
103
|
+
readonly noVet: string;
|
|
104
|
+
};
|
|
105
|
+
readonly clinic: {
|
|
106
|
+
readonly title: string;
|
|
107
|
+
readonly search: string;
|
|
108
|
+
readonly searchLabel: string;
|
|
109
|
+
readonly list: string;
|
|
110
|
+
readonly more: string;
|
|
111
|
+
readonly request: string;
|
|
112
|
+
readonly upload: string;
|
|
113
|
+
readonly add: string;
|
|
114
|
+
};
|
|
115
|
+
readonly sent: {
|
|
116
|
+
readonly eyebrow: string;
|
|
117
|
+
readonly title: string;
|
|
118
|
+
readonly track: string;
|
|
119
|
+
readonly sentStep: string;
|
|
120
|
+
readonly sentTo: (clinic: string) => string;
|
|
121
|
+
readonly clinicStep: string;
|
|
122
|
+
readonly clinicEta: string;
|
|
123
|
+
readonly blanksStep: string;
|
|
124
|
+
readonly blanksDetail: string;
|
|
125
|
+
readonly lede: string;
|
|
126
|
+
readonly notify: string;
|
|
127
|
+
readonly notNow: string;
|
|
128
|
+
readonly fine: string;
|
|
129
|
+
};
|
|
130
|
+
readonly noVet: {
|
|
131
|
+
readonly title: string;
|
|
132
|
+
readonly lede: string;
|
|
133
|
+
readonly seePlan: string;
|
|
134
|
+
};
|
|
135
|
+
readonly toast: {
|
|
136
|
+
readonly on: string;
|
|
137
|
+
readonly off: string;
|
|
138
|
+
readonly landed: string;
|
|
139
|
+
};
|
|
140
|
+
readonly banner: {
|
|
141
|
+
readonly app: string;
|
|
142
|
+
readonly now: string;
|
|
143
|
+
readonly title: string;
|
|
144
|
+
readonly body: string;
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
interface IntroTextInput {
|
|
148
|
+
readonly facts: IntroFacts;
|
|
149
|
+
readonly copy: EverfurIntroCopy;
|
|
150
|
+
/** How many blanks the plan holds (the blanks the intro shows). */
|
|
151
|
+
readonly blanks: number;
|
|
152
|
+
/** The pet's results are not back yet (frame 1's waiting lines). */
|
|
153
|
+
readonly resultsPending: boolean;
|
|
154
|
+
}
|
|
155
|
+
/** The intro's lines for one pet. Pure. */
|
|
156
|
+
declare function introText(input: IntroTextInput): IntroText;
|
|
157
|
+
|
|
158
|
+
/** A clinic records request the member sent from the intro (or its records-mode entry). */
|
|
159
|
+
interface EverfurRecordsRequested {
|
|
160
|
+
readonly petRef: PetRef;
|
|
161
|
+
/** The clinic as the member picked it. The callback's only: the web's window event leaves it out. */
|
|
162
|
+
readonly clinicName: string;
|
|
163
|
+
/** The created request's id, or null when the host's own flow sent it. */
|
|
164
|
+
readonly requestId: string | null;
|
|
165
|
+
/** ISO 8601. */
|
|
166
|
+
readonly at: string;
|
|
167
|
+
}
|
|
168
|
+
/** The pet's vet records arrived while the member was here (the records read turned from none to some). */
|
|
169
|
+
interface EverfurRecordsLanded {
|
|
170
|
+
readonly petRef: PetRef;
|
|
171
|
+
/** ISO 8601. */
|
|
172
|
+
readonly at: string;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export { type EverfurIntroCopy as E, type IntroText as I, type EverfurIntroBlank as a, type EverfurRecordsRequested as b, EVERFUR_INTRO_COPY as c, type EverfurRecordsLanded as d, type IntroFacts as e, type IntroPetWords as f, type IntroTextInput as g, defaultIntroBlanks as h, introFacts as i, introPetWords as j, introText as k, numberWord as n };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** The window event names, with the details above. */
|
|
2
|
+
declare const EVERFUR_RECORDS_REQUESTED_EVENT = "everfur:records-requested";
|
|
3
|
+
declare const EVERFUR_RECORDS_LANDED_EVENT = "everfur:records-landed";
|
|
4
|
+
|
|
5
|
+
export { EVERFUR_RECORDS_LANDED_EVENT as E, EVERFUR_RECORDS_REQUESTED_EVENT as a };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** The window event names, with the details above. */
|
|
2
|
+
declare const EVERFUR_RECORDS_REQUESTED_EVENT = "everfur:records-requested";
|
|
3
|
+
declare const EVERFUR_RECORDS_LANDED_EVENT = "everfur:records-landed";
|
|
4
|
+
|
|
5
|
+
export { EVERFUR_RECORDS_LANDED_EVENT as E, EVERFUR_RECORDS_REQUESTED_EVENT as a };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as EverfurError } from './EverfurError-
|
|
2
|
-
import { R as RecordsRequestId, P as PetRef, D as DocumentId } from './ids-B2GAAifq.
|
|
1
|
+
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.cjs';
|
|
2
|
+
import { R as RecordsRequestId, P as PetRef, D as DocumentId } from './ids.d-B2GAAifq.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The partner-scoped lifecycle, including clinic requests. The server's canonical simple status takes
|
|
@@ -150,11 +150,23 @@ interface RecordForwardItem {
|
|
|
150
150
|
readonly title: string;
|
|
151
151
|
readonly detail: string | null;
|
|
152
152
|
readonly dueAt: string | null;
|
|
153
|
+
/**
|
|
154
|
+
* The care item's stable key (`dhpp_booster`), or null from a server older than the field. Never shown: `title` is
|
|
155
|
+
* the owner-facing name. Optional so an item built by hand without it still type-checks.
|
|
156
|
+
*/
|
|
157
|
+
readonly careItemKey?: string | null;
|
|
158
|
+
/** Where the due date came from: the pet's vet (`vet_stated`) or an Everfur default rule; null when unsaid. */
|
|
159
|
+
readonly dueDateSource?: 'vet_stated' | 'derived_default_rule' | null;
|
|
153
160
|
}
|
|
154
161
|
/** Metadata for one source document, keyed by its id. No raw bytes / provenance. */
|
|
155
162
|
interface RecordDocumentMeta {
|
|
156
163
|
readonly docId: string;
|
|
157
164
|
readonly title: string | null;
|
|
165
|
+
/**
|
|
166
|
+
* The document's class as the server sent it (`lab_report`, `vaccination_certificate`, ...), or null. An untitled
|
|
167
|
+
* row is labelled by it (`documentTitle`); a server older than the field leaves it absent.
|
|
168
|
+
*/
|
|
169
|
+
readonly documentClass?: string | null;
|
|
158
170
|
readonly pageCount: number | null;
|
|
159
171
|
readonly receivedAt: string | null;
|
|
160
172
|
}
|
|
@@ -211,4 +223,4 @@ type RecordsDenialReason = 'consent_required' | 'session_required' | 'entitlemen
|
|
|
211
223
|
/** Read the records denial reason off any settled error, defensively (null when absent). */
|
|
212
224
|
declare function recordsDenialReasonOf(error: EverfurError | null): RecordsDenialReason | null;
|
|
213
225
|
|
|
214
|
-
export { type CreateUploadRequestInput as C, type GrantConsentInput as G, type RecordDocumentMeta as R, type UploadedDocument as U, type RecordEntity as a, type RecordOrigin as b, type
|
|
226
|
+
export { type CreateUploadRequestInput as C, type GrantConsentInput as G, type RecordDocumentMeta as R, type UploadedDocument as U, type RecordEntity as a, type RecordOrigin as b, type RecordForwardItem as c, type RecordsRequestView as d, type RecordsRequestGroupView as e, type RecordsView as f, type ConsentState as g, type RecordsDenialReason as h, type RecordsRequestStatus as i, type RecordsSimpleStatus as j, RECORDS_TERMINAL as k, type RecordIdentityField as l, type RecordSeries as m, type RecordSeriesPoint as n, isTerminalStatus as o, recordsDenialReasonOf as r };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as EverfurError } from './EverfurError-
|
|
2
|
-
import { R as RecordsRequestId, P as PetRef, D as DocumentId } from './ids-B2GAAifq.
|
|
1
|
+
import { E as EverfurError } from './EverfurError.d-8NHtlgzA.js';
|
|
2
|
+
import { R as RecordsRequestId, P as PetRef, D as DocumentId } from './ids.d-B2GAAifq.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The partner-scoped lifecycle, including clinic requests. The server's canonical simple status takes
|
|
@@ -150,11 +150,23 @@ interface RecordForwardItem {
|
|
|
150
150
|
readonly title: string;
|
|
151
151
|
readonly detail: string | null;
|
|
152
152
|
readonly dueAt: string | null;
|
|
153
|
+
/**
|
|
154
|
+
* The care item's stable key (`dhpp_booster`), or null from a server older than the field. Never shown: `title` is
|
|
155
|
+
* the owner-facing name. Optional so an item built by hand without it still type-checks.
|
|
156
|
+
*/
|
|
157
|
+
readonly careItemKey?: string | null;
|
|
158
|
+
/** Where the due date came from: the pet's vet (`vet_stated`) or an Everfur default rule; null when unsaid. */
|
|
159
|
+
readonly dueDateSource?: 'vet_stated' | 'derived_default_rule' | null;
|
|
153
160
|
}
|
|
154
161
|
/** Metadata for one source document, keyed by its id. No raw bytes / provenance. */
|
|
155
162
|
interface RecordDocumentMeta {
|
|
156
163
|
readonly docId: string;
|
|
157
164
|
readonly title: string | null;
|
|
165
|
+
/**
|
|
166
|
+
* The document's class as the server sent it (`lab_report`, `vaccination_certificate`, ...), or null. An untitled
|
|
167
|
+
* row is labelled by it (`documentTitle`); a server older than the field leaves it absent.
|
|
168
|
+
*/
|
|
169
|
+
readonly documentClass?: string | null;
|
|
158
170
|
readonly pageCount: number | null;
|
|
159
171
|
readonly receivedAt: string | null;
|
|
160
172
|
}
|
|
@@ -211,4 +223,4 @@ type RecordsDenialReason = 'consent_required' | 'session_required' | 'entitlemen
|
|
|
211
223
|
/** Read the records denial reason off any settled error, defensively (null when absent). */
|
|
212
224
|
declare function recordsDenialReasonOf(error: EverfurError | null): RecordsDenialReason | null;
|
|
213
225
|
|
|
214
|
-
export { type CreateUploadRequestInput as C, type GrantConsentInput as G, type RecordDocumentMeta as R, type UploadedDocument as U, type RecordEntity as a, type RecordOrigin as b, type
|
|
226
|
+
export { type CreateUploadRequestInput as C, type GrantConsentInput as G, type RecordDocumentMeta as R, type UploadedDocument as U, type RecordEntity as a, type RecordOrigin as b, type RecordForwardItem as c, type RecordsRequestView as d, type RecordsRequestGroupView as e, type RecordsView as f, type ConsentState as g, type RecordsDenialReason as h, type RecordsRequestStatus as i, type RecordsSimpleStatus as j, RECORDS_TERMINAL as k, type RecordIdentityField as l, type RecordSeries as m, type RecordSeriesPoint as n, isTerminalStatus as o, recordsDenialReasonOf as r };
|
|
@@ -23,6 +23,8 @@ return Object.freeze({ok:false,error:error})}var EverfurConfigError=class _Everf
|
|
|
23
23
|
/* @__PURE__ */Object.freeze({wireCode:"attachment_unreadable",envelope:"http_envelope",httpStatus:400,retryable:false}),
|
|
24
24
|
/* @__PURE__ */Object.freeze({wireCode:"authExpired",envelope:"http_envelope",httpStatus:401,retryable:true}),
|
|
25
25
|
/* @__PURE__ */Object.freeze({wireCode:"authRejected",envelope:"http_envelope",httpStatus:401,retryable:false}),
|
|
26
|
+
/* @__PURE__ */Object.freeze({wireCode:"catalog_empty_refused",envelope:"http_envelope",httpStatus:409,retryable:false}),
|
|
27
|
+
/* @__PURE__ */Object.freeze({wireCode:"catalog_shrink_refused",envelope:"http_envelope",httpStatus:409,retryable:false}),
|
|
26
28
|
/* @__PURE__ */Object.freeze({wireCode:"consent_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),
|
|
27
29
|
/* @__PURE__ */Object.freeze({wireCode:"consent_required",envelope:"http_envelope",httpStatus:422,retryable:false}),
|
|
28
30
|
/* @__PURE__ */Object.freeze({wireCode:"consent_scope_wrong_route",envelope:"http_envelope",httpStatus:400,retryable:false}),
|
|
@@ -47,6 +49,7 @@ return Object.freeze({ok:false,error:error})}var EverfurConfigError=class _Everf
|
|
|
47
49
|
/* @__PURE__ */Object.freeze({wireCode:"invalid_request",envelope:"oauth_error",httpStatus:400,retryable:false}),
|
|
48
50
|
/* @__PURE__ */Object.freeze({wireCode:"invalid_scope",envelope:"oauth_error",httpStatus:400,retryable:false}),
|
|
49
51
|
/* @__PURE__ */Object.freeze({wireCode:"invalid_target",envelope:"oauth_error",httpStatus:400,retryable:false}),
|
|
52
|
+
/* @__PURE__ */Object.freeze({wireCode:"linked_account_read_only",envelope:"http_envelope",httpStatus:409,retryable:false}),
|
|
50
53
|
/* @__PURE__ */Object.freeze({wireCode:"mcp_connection_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),
|
|
51
54
|
/* @__PURE__ */Object.freeze({wireCode:"mcp_request_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),
|
|
52
55
|
/* @__PURE__ */Object.freeze({wireCode:"mcp_request_gone",envelope:"http_envelope",httpStatus:410,retryable:false}),
|
|
@@ -90,7 +93,7 @@ return Object.freeze({ok:false,error:error})}var EverfurConfigError=class _Everf
|
|
|
90
93
|
/* @__PURE__ */Object.freeze({wireCode:"verify_user_ref_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),
|
|
91
94
|
/* @__PURE__ */Object.freeze({wireCode:"webhook_endpoint_update_empty",envelope:"http_envelope",httpStatus:400,retryable:false}),
|
|
92
95
|
/* @__PURE__ */Object.freeze({wireCode:"webhook_endpoint_update_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),
|
|
93
|
-
/* @__PURE__ */Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(row=>row.wireCode));var NORMALIZED_FOLD=/* @__PURE__ */Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",session_revoked:"authExpired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",unrestrictedKeyRequired:"accessDenied",user_ref_invalid:"validationFailed",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict"}),CONTRACT_ERROR_ROWS=/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(generated=>/* @__PURE__ */Object.freeze({wireCode:generated.wireCode,envelope:generated.envelope,retryable:generated.retryable,normalized:NORMALIZED_FOLD[generated.wireCode]}))),BY_KEY=new Map(CONTRACT_ERROR_ROWS.map(r=>[r.envelope+r.wireCode.toUpperCase(),r])),ENVELOPE_LOOKUP_ORDER=/* @__PURE__ */Object.freeze(["http_envelope",...[...new Set(CONTRACT_ERROR_ROWS.map(r=>r.envelope))].filter(e=>e!=="http_envelope").sort()]);function contractErrorFor(wireCode,envelope){if(typeof wireCode!="string")return;let key=wireCode.trim().toUpperCase();if(key.length!==0)for(let candidate of[envelope??"http_envelope",...ENVELOPE_LOOKUP_ORDER]){let row=BY_KEY.get(candidate+key);if(row)return row}}var CATEGORY_OF=/* @__PURE__ */Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",identitySignatureRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",runtimeDisposed:"invalidRequest",conversationNotFound:"notFound",petNotFound:"notFound",resourceNotFound:"notFound",conflict:"conflict",idempotencyConflict:"conflict",idempotencyInFlight:"conflict",streamTimeout:"connection",streamIncomplete:"connection",upstreamLlmTimeout:"connection",serviceUnavailable:"connection",internalError:"server",notImplemented:"server",mediaUploadFailed:"media",moderationBlocked:"policy",unknown:"unknown"});function categoryFor(code){return CATEGORY_OF[code]}function fromWire(wire){let contractRow=contractErrorFor(wire);if(contractRow)return contractRow.normalized;let upper=(wire??"").trim().toUpperCase(),canonical=upper.replace(/[^A-Z0-9]/g,"");if(canonical==="AUTHREJECTED")return"authRejected";if(upper.startsWith("AUTH"))return"authExpired";switch(canonical){case"DAILYQUOTAEXCEEDED":case"QUOTAEXCEEDED":return"quotaExceeded";case"RATELIMITED":case"TOOMANYREQUESTS":case"TELEVETRATELIMITED":return"rateLimited";case"IDEMPOTENCYKEYCONFLICT":case"IDEMPOTENCYCONFLICT":return"idempotencyConflict";case"ACCESSDENIED":case"FORBIDDEN":return"accessDenied";case"IDENTITYSIGNATUREREQUIRED":return"identitySignatureRequired";case"RUNTIMEDISPOSED":return"runtimeDisposed";case"NOTFOUND":case"CONVERSATIONNOTFOUND":return"conversationNotFound";case"PETNOTFOUND":return"petNotFound";case"TIMEOUT":case"STREAMTIMEOUT":return"streamTimeout";case"MEDIAUPLOADFAILED":case"UNRECOGNIZEDVIDEOFORMAT":case"FILETOOSMALL":return"mediaUploadFailed";case"MODERATIONBLOCKED":return"moderationBlocked";case"UPSTREAMLLMTIMEOUT":return"upstreamLlmTimeout";case"INTERNALERROR":case"INTERNALSERVERERROR":return"internalError";case"STREAMINCOMPLETE":case"CHATSTREAMINCOMPLETE":return"streamIncomplete";case"INVALIDANALYSISTYPE":case"INVALIDUPLOADPURPOSE":return"unknown";default:return"unknown"}}var AUTO_RETRYABLE_CODES=/* @__PURE__ */new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function isAutoRetryable(code){return AUTO_RETRYABLE_CODES.has(code)}var RETRYABLE_CONTRACT_CODES=/* @__PURE__ */new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function isRetryableCode(code){return isAutoRetryable(code)||RETRYABLE_CONTRACT_CODES.has(code)}var BACKOFF_BASE_MS=500,BACKOFF_CAP_MS=8e3,MAX_RETRY_ATTEMPTS=4;function backoffDelayMs(attempt,rng=Math.random){let bounded=Math.max(0,attempt),ceiling=Math.min(BACKOFF_BASE_MS*2**bounded,BACKOFF_CAP_MS);return Math.floor(rng()*ceiling)}var ACCESS_DENIED_COPY="This feature isn't available on your account right now.",VALIDATION_FAILED_COPY="Something in that request was not right. Check the details and try again.",USER_FACING_COPY=/* @__PURE__ */Object.freeze({authExpired:"Please sign in again to continue.",authRejected:"Please sign in again to continue.",sessionRequired:"This app needs to be updated to keep using Everfur.",accessDenied:ACCESS_DENIED_COPY,paymentRequired:"This is part of a paid plan.",quotaExceeded:"You have used today's messages. This resets tomorrow.",rateLimited:"You are sending messages quickly. Try again in a few seconds.",validationFailed:VALIDATION_FAILED_COPY,sdkUpdateRequired:"This app needs to be updated to keep using Everfur.",conflict:"That is already running. Wait for it to finish, then try again.",idempotencyConflict:"That message was already delivered.",idempotencyInFlight:"That is still processing. Give it a moment.",conversationNotFound:"This conversation is no longer available.",petNotFound:"We could not find that pet. Please pick a pet and try again.",resourceNotFound:"We could not find that.",streamTimeout:"The response timed out. Tap retry to try again.",mediaUploadFailed:"We could not upload that photo. Please attach it again.",moderationBlocked:"This request cannot be answered here.",upstreamLlmTimeout:"The response timed out. Tap retry to try again.",internalError:"We hit a snag on our end. Please try again.",notImplemented:"That is not available yet.",serviceUnavailable:"That service is briefly unavailable. Try again shortly.",streamIncomplete:"The connection dropped mid-answer. Tap retry to continue.",identitySignatureRequired:ACCESS_DENIED_COPY,runtimeDisposed:VALIDATION_FAILED_COPY,unknown:"Something went wrong. Please try again."}),SESSION_REVOKED_COPY="This session has ended. Please sign in again.";function displayFor(code,wireCode){return(code==="authRejected"||code==="authExpired")&&typeof wireCode=="string"&&wireCode.trim().toLowerCase()==="session_revoked"?SESSION_REVOKED_COPY:userFacingError(code)}function userFacingError(code){return USER_FACING_COPY[code]}function defineHidden(target,key,value){Object.defineProperty(target,key,{value:value,enumerable:false,writable:false,configurable:false})}var REASON_CODE_SHAPE=/^[a-z][a-z0-9_]{0,63}$/;function makeEverfurError(code,opts){let row=contractErrorFor(opts?.wireCode,opts?.wireEnvelope),error={code:code,category:categoryFor(code),retryable:opts?.retryable??isRetryableCode(code),displayMessage:displayFor(code,opts?.wireCode)};opts?.httpStatus!==void 0&&(error.httpStatus=opts.httpStatus),opts?.requestId&&(error.requestId=opts.requestId),typeof opts?.reasonCode=="string"&&REASON_CODE_SHAPE.test(opts.reasonCode)&&(error.reasonCode=opts.reasonCode);let wait=opts?.retryAfterSeconds;if(typeof wait=="number"&&Number.isFinite(wait)&&wait>=0&&(error.retryAfterSeconds=Math.round(wait)),row);return opts?.wireMessage&&defineHidden(error,"wireMessage",opts.wireMessage),opts?.raw!==void 0&&opts.raw!==null&&defineHidden(error,"raw",opts.raw),/* @__PURE__ */Object.freeze(error)}function errorFrame(fields){/* @__PURE__ */
|
|
96
|
+
/* @__PURE__ */Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(row=>row.wireCode));var NORMALIZED_FOLD=/* @__PURE__ */Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",session_revoked:"authExpired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",unrestrictedKeyRequired:"accessDenied",user_ref_invalid:"validationFailed",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict",linked_account_read_only:"conflict",catalog_empty_refused:"conflict",catalog_shrink_refused:"conflict"}),CONTRACT_ERROR_ROWS=/* @__PURE__ */Object.freeze(CONTRACT_RETRYABILITY.map(generated=>/* @__PURE__ */Object.freeze({wireCode:generated.wireCode,envelope:generated.envelope,retryable:generated.retryable,normalized:NORMALIZED_FOLD[generated.wireCode]}))),BY_KEY=new Map(CONTRACT_ERROR_ROWS.map(r=>[r.envelope+r.wireCode.toUpperCase(),r])),ENVELOPE_LOOKUP_ORDER=/* @__PURE__ */Object.freeze(["http_envelope",...[...new Set(CONTRACT_ERROR_ROWS.map(r=>r.envelope))].filter(e=>e!=="http_envelope").sort()]);function contractErrorFor(wireCode,envelope){if(typeof wireCode!="string")return;let key=wireCode.trim().toUpperCase();if(key.length!==0)for(let candidate of[envelope??"http_envelope",...ENVELOPE_LOOKUP_ORDER]){let row=BY_KEY.get(candidate+key);if(row)return row}}var CATEGORY_OF=/* @__PURE__ */Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",identitySignatureRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",runtimeDisposed:"invalidRequest",conversationNotFound:"notFound",petNotFound:"notFound",resourceNotFound:"notFound",conflict:"conflict",idempotencyConflict:"conflict",idempotencyInFlight:"conflict",streamTimeout:"connection",streamIncomplete:"connection",upstreamLlmTimeout:"connection",serviceUnavailable:"connection",internalError:"server",notImplemented:"server",mediaUploadFailed:"media",moderationBlocked:"policy",unknown:"unknown"});function categoryFor(code){return CATEGORY_OF[code]}function fromWire(wire){let contractRow=contractErrorFor(wire);if(contractRow)return contractRow.normalized;let upper=(wire??"").trim().toUpperCase(),canonical=upper.replace(/[^A-Z0-9]/g,"");if(canonical==="AUTHREJECTED")return"authRejected";if(upper.startsWith("AUTH"))return"authExpired";switch(canonical){case"DAILYQUOTAEXCEEDED":case"QUOTAEXCEEDED":return"quotaExceeded";case"RATELIMITED":case"TOOMANYREQUESTS":case"TELEVETRATELIMITED":return"rateLimited";case"IDEMPOTENCYKEYCONFLICT":case"IDEMPOTENCYCONFLICT":return"idempotencyConflict";case"ACCESSDENIED":case"FORBIDDEN":return"accessDenied";case"IDENTITYSIGNATUREREQUIRED":return"identitySignatureRequired";case"RUNTIMEDISPOSED":return"runtimeDisposed";case"NOTFOUND":case"CONVERSATIONNOTFOUND":return"conversationNotFound";case"PETNOTFOUND":return"petNotFound";case"TIMEOUT":case"STREAMTIMEOUT":return"streamTimeout";case"MEDIAUPLOADFAILED":case"UNRECOGNIZEDVIDEOFORMAT":case"FILETOOSMALL":return"mediaUploadFailed";case"MODERATIONBLOCKED":return"moderationBlocked";case"UPSTREAMLLMTIMEOUT":return"upstreamLlmTimeout";case"INTERNALERROR":case"INTERNALSERVERERROR":return"internalError";case"STREAMINCOMPLETE":case"CHATSTREAMINCOMPLETE":return"streamIncomplete";case"INVALIDANALYSISTYPE":case"INVALIDUPLOADPURPOSE":return"unknown";default:return"unknown"}}var AUTO_RETRYABLE_CODES=/* @__PURE__ */new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function isAutoRetryable(code){return AUTO_RETRYABLE_CODES.has(code)}var RETRYABLE_CONTRACT_CODES=/* @__PURE__ */new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function isRetryableCode(code){return isAutoRetryable(code)||RETRYABLE_CONTRACT_CODES.has(code)}var BACKOFF_BASE_MS=500,BACKOFF_CAP_MS=8e3,MAX_RETRY_ATTEMPTS=4;function backoffDelayMs(attempt,rng=Math.random){let bounded=Math.max(0,attempt),ceiling=Math.min(BACKOFF_BASE_MS*2**bounded,BACKOFF_CAP_MS);return Math.floor(rng()*ceiling)}var ACCESS_DENIED_COPY="This feature isn't available on your account right now.",VALIDATION_FAILED_COPY="Something in that request was not right. Check the details and try again.",USER_FACING_COPY=/* @__PURE__ */Object.freeze({authExpired:"Please sign in again to continue.",authRejected:"Please sign in again to continue.",sessionRequired:"This app needs to be updated to keep using Everfur.",accessDenied:ACCESS_DENIED_COPY,paymentRequired:"This is part of a paid plan.",quotaExceeded:"You have used today's messages. This resets tomorrow.",rateLimited:"You are sending messages quickly. Try again in a few seconds.",validationFailed:VALIDATION_FAILED_COPY,sdkUpdateRequired:"This app needs to be updated to keep using Everfur.",conflict:"That is already running. Wait for it to finish, then try again.",idempotencyConflict:"That message was already delivered.",idempotencyInFlight:"That is still processing. Give it a moment.",conversationNotFound:"This conversation is no longer available.",petNotFound:"We could not find that pet. Please pick a pet and try again.",resourceNotFound:"We could not find that.",streamTimeout:"The response timed out. Tap retry to try again.",mediaUploadFailed:"We could not upload that photo. Please attach it again.",moderationBlocked:"This request cannot be answered here.",upstreamLlmTimeout:"The response timed out. Tap retry to try again.",internalError:"We hit a snag on our end. Please try again.",notImplemented:"That is not available yet.",serviceUnavailable:"That service is briefly unavailable. Try again shortly.",streamIncomplete:"The connection dropped mid-answer. Tap retry to continue.",identitySignatureRequired:ACCESS_DENIED_COPY,runtimeDisposed:VALIDATION_FAILED_COPY,unknown:"Something went wrong. Please try again."}),SESSION_REVOKED_COPY="This session has ended. Please sign in again.",LINKED_ACCOUNT_READ_ONLY="linked_account_read_only";function displayFor(code,wireCode,reasonCode){return code==="conflict"&&reasonCode===LINKED_ACCOUNT_READ_ONLY?ACCESS_DENIED_COPY:(code==="authRejected"||code==="authExpired")&&typeof wireCode=="string"&&wireCode.trim().toLowerCase()==="session_revoked"?SESSION_REVOKED_COPY:userFacingError(code)}function userFacingError(code){return USER_FACING_COPY[code]}function defineHidden(target,key,value){Object.defineProperty(target,key,{value:value,enumerable:false,writable:false,configurable:false})}var REASON_CODE_SHAPE=/^[a-z][a-z0-9_]{0,63}$/;function makeEverfurError(code,opts){let row=contractErrorFor(opts?.wireCode,opts?.wireEnvelope),linkedReadOnly=code==="conflict"&&opts?.reasonCode===LINKED_ACCOUNT_READ_ONLY,error={code:code,category:categoryFor(code),retryable:opts?.retryable??(linkedReadOnly?false:isRetryableCode(code)),displayMessage:displayFor(code,opts?.wireCode,linkedReadOnly?LINKED_ACCOUNT_READ_ONLY:null)};opts?.httpStatus!==void 0&&(error.httpStatus=opts.httpStatus),opts?.requestId&&(error.requestId=opts.requestId),typeof opts?.reasonCode=="string"&&REASON_CODE_SHAPE.test(opts.reasonCode)&&(error.reasonCode=opts.reasonCode);let wait=opts?.retryAfterSeconds;if(typeof wait=="number"&&Number.isFinite(wait)&&wait>=0&&(error.retryAfterSeconds=Math.round(wait)),row);return opts?.wireMessage&&defineHidden(error,"wireMessage",opts.wireMessage),opts?.raw!==void 0&&opts.raw!==null&&defineHidden(error,"raw",opts.raw),/* @__PURE__ */Object.freeze(error)}function errorFrame(fields){/* @__PURE__ */
|
|
94
97
|
return Object.freeze({kind:"error",terminal:true,code:fields.code,retryable:fields.retryable,wireMessage:fields.wireMessage,synthesized:fields.synthesized,lastEventId:fields.lastEventId,serverRequestId:null})}function mintFailedError(cause,refusal){let message=cause instanceof Error?cause.message:typeof cause=="string"?cause:null;return makeEverfurError("authRejected",{retryable:false,...refusal?.wireCode?{wireCode:refusal.wireCode}:{},...refusal?.requestId?{requestId:refusal.requestId}:{},...message?{wireMessage:message}:{},...cause!=null?{raw:cause}:{}})}function authHeaders(auth){let headers={};return auth.mode==="personalized"?headers.authorization=`Bearer ${auth.token}`:headers["x-everfur-partner-key"]=auth.publishableKey,auth.userRef&&(headers["x-everfur-user-ref"]=auth.userRef),auth.sessionId&&(headers["x-everfur-session-id"]=auth.sessionId),headers}function withAuthHeaders(req,auth){return{...req,headers:{...stripAuthHeaders(req.headers),...authHeaders(auth)}}}function stripAuthHeaders(headers){if(!headers)return{};let out={};for(let[key,value]of Object.entries(headers)){let lower=key.toLowerCase();lower==="authorization"||lower==="x-everfur-partner-key"||(out[key]=value)}return out}async function authedSend(req,ctx){if(ctx.mode==="anonymous")return ctx.transport.request(withAuthHeaders(req,{mode:"anonymous",publishableKey:ctx.publishableKey,userRef:ctx.userRef,...ctx.sessionId?{sessionId:ctx.sessionId}:{}}));let token;try{token=await ctx.identity.currentToken()}catch(cause){return ctx.identity.reportRejected?.(),err(mintFailedError(cause))}let first=await ctx.transport.request(withAuthHeaders(req,{mode:"personalized",token:token,userRef:ctx.userRef,...ctx.sessionId?{sessionId:ctx.sessionId}:{}}));if(first.ok||first.error.httpStatus!==401)return first;let refreshed;try{refreshed=await ctx.identity.currentToken({forceRefresh:!0})}catch(cause){return ctx.identity.reportRejected?.(),err(mintFailedError(cause,{wireCode:wireCodeOf(first.error.raw),requestId:first.error.requestId}))}let retry=await ctx.transport.request(withAuthHeaders(req,{mode:"personalized",token:refreshed,userRef:ctx.userRef,...ctx.sessionId?{sessionId:ctx.sessionId}:{}}));return!retry.ok&&retry.error.httpStatus===401?(ctx.identity.reportRejected?.(),err(refusedAfterRemintError(retry.error))):retry}function refusedAfterRemintError(refusal){let raw=refusal.raw,wireCode=wireCodeOf(raw);return makeEverfurError("authRejected",{retryable:false,...refusal.httpStatus!==void 0?{httpStatus:refusal.httpStatus}:{},...refusal.requestId?{requestId:refusal.requestId}:{},...wireCode?{wireCode:wireCode}:{},...refusal.reasonCode?{reasonCode:refusal.reasonCode}:{},...refusal.wireMessage?{wireMessage:refusal.wireMessage}:{},...raw!=null?{raw:raw}:{}})}function wireCodeOf(body){if(typeof body!="object"||body===null)return null;let b=body,code=(typeof b.error=="object"&&b.error!==null?b.error.code:void 0)??b.code;return typeof code=="string"&&code.length>0?code:null}function networkError(cause){return makeEverfurError("internalError",{retryable:true,wireMessage:describeCause(cause)})}function describeCause(cause){return cause instanceof Error?cause.message:typeof cause=="string"?cause:"network request failed"}var FUNNEL_UNARY_TIMEOUT_MS=3e4,RETRY_OVERRIDE_MAX_MS=BACKOFF_CAP_MS*2,IDEMPOTENCY_HEADER="idempotency-key",MUTATING_METHODS=/* @__PURE__ */new Set(["POST","PUT","PATCH","DELETE"]),NOOP_OBSERVER=/* @__PURE__ */Object.freeze({onEvent(){}}),defaultFunnelTimers=/* @__PURE__ */Object.freeze({setTimeout:(handler,ms)=>setTimeout(handler,ms),clearTimeout:handle=>clearTimeout(handle),now:()=>Date.now()});function seededIdempotencyKey(seed){let safe=seed.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return safe.length===0?null:`efs_${safe}`.slice(0,128)}function createRequestFunnel(deps){let observer=deps.observer??NOOP_OBSERVER,timers=deps.timers??defaultFunnelTimers,rng=deps.rng??Math.random,sleep=deps.sleep??((ms,signal)=>delayAbortable(ms,timers,signal)),ceiling=deps.maxAttempts??MAX_RETRY_ATTEMPTS,timeoutMs=deps.unaryTimeoutMs??FUNNEL_UNARY_TIMEOUT_MS,mintKey=deps.newIdempotencyKey??defaultIdempotencyKeyFactory(),emit=event=>{try{observer.onEvent(event)}catch{}};async function send(call,req,opts){let perCallMaxAttempts=opts?.maxAttempts,maxAttempts=Math.max(1,perCallMaxAttempts??ceiling),idempotent=opts?.idempotent??MUTATING_METHODS.has(req.method),seeded=opts?.idempotencyKey===void 0?null:seededIdempotencyKey(opts.idempotencyKey),idempotencyKey=idempotent?seeded??mintKey():null,base=assembleHeaders(req,idempotencyKey),attempt=0;for(;;){let stamp=extra=>/* @__PURE__ */Object.freeze({call:call,method:req.method,path:req.path,attempt:attempt,...idempotencyKey?{idempotencyKey:idempotencyKey}:{},...extra});emit(stamp({phase:"attempt"}));let deadline=boundedSignal(timeoutMs,timers),merged=mergeSignals(deadline.signal,req.signal),settled;try{settled=await authedSend({...base,signal:merged.signal},deps.auth)}catch(cause){settled=err(networkError(cause))}finally{merged.dispose(),deadline.cancel()}if(settled.ok)return emit(stamp({phase:"settled",ok:true,reason:"ok"})),settled;let error=settled.error,decision=decideRetry(error,attempt,{maxAttempts:maxAttempts,rng:rng,now:timers.now(),aborted:req.signal?.aborted===true,...perCallMaxAttempts!==void 0?{perCallMaxAttempts:perCallMaxAttempts}:{},...deps.errorPolicy!==void 0?{policy:deps.errorPolicy}:{}}),settledEvent={ok:false,code:error.code,reason:decision.reason,...error.httpStatus!==void 0?{httpStatus:error.httpStatus}:{},...error.requestId!==void 0?{requestId:error.requestId}:{}};if(!decision.retry)return emit(stamp({phase:"settled",...settledEvent})),err(error);if(emit(stamp({phase:"retry",...settledEvent,delayMs:decision.delayMs})),await sleep(decision.delayMs,req.signal),req.signal?.aborted===true)return emit(stamp({phase:"settled",...settledEvent,reason:"aborted"})),err(error);attempt+=1}}async function authorize(req){return withAuthHeaders(req,await resolveDeviceAuth(deps.auth))}async function*stream(call,req,signal){emit(
|
|
95
98
|
/* @__PURE__ */Object.freeze({call:call,phase:"stream.open",method:req.method,path:req.path,attempt:0}));try{yield*deps.auth.transport.stream(req,signal)}catch{yield errorFrame({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}}/* @__PURE__ */
|
|
96
99
|
return Object.freeze({send:send,authorize:authorize,stream:stream})}function assembleHeaders(req,idempotencyKey){let headers={};for(let[key,value]of Object.entries(req.headers??{}))key.toLowerCase()!==IDEMPOTENCY_HEADER&&(headers[key]=value);return idempotencyKey!==null&&(headers["Idempotency-Key"]=idempotencyKey),{...req,headers:headers}}function defaultIdempotencyKeyFactory(){let counter=0;return()=>`efk_${Date.now().toString(36)}_${(counter++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}var POLICY_MAX_ATTEMPTS_CAP=10;function decideRetry(error,attempt,ctx){if(ctx.aborted)return{retry:false,reason:"aborted"};let throttle=throttleKind(error);if(throttle==="quota")return{retry:false,reason:"daily-quota-exhausted"};if(throttle!=="burst"&&!isAutoRetryable(error.code))return{retry:false,reason:"terminal-code"};let reason=throttle==="burst"?"burst-throttle":"retryable-code";if((()=>{if(ctx.policy===void 0)return false;try{return!ctx.policy.shouldRetry(error.code,attempt)}catch{return false}})())return{retry:false,reason:"terminal-code"};let policyCeiling=()=>{if(ctx.policy===void 0)return null;let raw;try{raw=ctx.policy.maxAttempts(error.code)}catch{return null}return typeof raw!="number"||!Number.isFinite(raw)?null:Math.max(1,Math.min(POLICY_MAX_ATTEMPTS_CAP,Math.floor(raw)))},ceiling=ctx.perCallMaxAttempts??policyCeiling()??ctx.maxAttempts;if(attempt+1>=ceiling)return{retry:false,reason:"attempts-exhausted"};let override=retryOverrideMs(error,ctx.now);return override!==null?override>RETRY_OVERRIDE_MAX_MS?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:reason,delayMs:override}:{retry:true,reason:reason,delayMs:backoffDelayMs(attempt,ctx.rng)}}function throttleKind(error){let code=error.code==="unknown"?fromWire(rawWireCode(error.raw)):error.code;return code==="quotaExceeded"?"quota":code==="rateLimited"||error.httpStatus===429?"burst":null}function retryOverrideMs(error,now){let at2=findResetsAt(error.raw);if(at2!==null){let delta=at2-now;return delta>0?delta:0}let wait=findRetryAfterSeconds(error.raw);return wait===null?null:Math.round(wait*1e3)}function findRetryAfterSeconds(raw){for(let scope of candidateScopes(raw)){let value=scope.retry_after_seconds;if(typeof value=="number"&&Number.isFinite(value)&&value>=0)return value}return null}function findResetsAt(raw){for(let scope of candidateScopes(raw)){let value=scope.resets_at,parsed=parseInstantMs(value);if(parsed!==null)return parsed}return null}function candidateScopes(raw){if(!isRecord(raw))return[];let out=[raw];for(let nested of["error","detail"]){let value=raw[nested];isRecord(value)&&out.push(value)}return out}function parseInstantMs(value){if(typeof value=="number"&&Number.isFinite(value))return value<1e11?Math.round(value*1e3):Math.round(value);if(typeof value=="string"&&value.trim().length>0){let parsed=Date.parse(value);return Number.isFinite(parsed)?parsed:null}return null}function rawWireCode(raw){for(let scope of candidateScopes(raw)){let code=scope.code;if(typeof code=="string"&&code.length>0)return code}return null}function isRecord(value){return typeof value=="object"&&value!==null}async function resolveDeviceAuth(auth){return auth.mode==="anonymous"?{mode:"anonymous",publishableKey:auth.publishableKey,userRef:auth.userRef,...auth.sessionId?{sessionId:auth.sessionId}:{}}:{mode:"personalized",token:await auth.identity.currentToken(),userRef:auth.userRef,...auth.sessionId?{sessionId:auth.sessionId}:{}}}function boundedSignal(ms,timers){let ctrl=new AbortController,handle=timers.setTimeout(()=>ctrl.abort(),ms);return{signal:ctrl.signal,cancel:()=>timers.clearTimeout(handle)}}function mergeSignals(deadline,caller){let noop=()=>{};if(!caller)return{signal:deadline,dispose:noop};let ctrl=new AbortController;if(deadline.aborted||caller.aborted)return ctrl.abort(),{signal:ctrl.signal,dispose:noop};let onAbort=()=>ctrl.abort();return deadline.addEventListener("abort",onAbort,{once:true}),caller.addEventListener("abort",onAbort,{once:true}),{signal:ctrl.signal,dispose:()=>{deadline.removeEventListener("abort",onAbort),caller.removeEventListener("abort",onAbort)}}}function delayAbortable(ms,timers,signal){return ms<=0||signal?.aborted===true?Promise.resolve():new Promise(resolve=>{let handle=timers.setTimeout(()=>{signal?.removeEventListener("abort",onAbort),resolve()},ms),onAbort=()=>{timers.clearTimeout(handle),resolve()};signal?.addEventListener("abort",onAbort,{once:true})})}function wireCodeOf2(error){let raw=error.raw;if(typeof raw!="object"||raw===null)return null;let code=raw.code;return typeof code=="string"&&code.length>0?code:null}function foldWireReason(error,table){let wire=wireCodeOf2(error);if(wire===null)return error;let fold=table[wire];return fold===void 0?error:makeEverfurError(fold.code,{retryable:fold.retryable,...error.httpStatus!==void 0?{httpStatus:error.httpStatus}:{},...error.requestId!==void 0?{requestId:error.requestId}:{},wireCode:wire,reasonCode:wire,...error.wireMessage!==void 0?{wireMessage:error.wireMessage}:{},raw:error.raw})}var NOTIFICATIONS_REASON_MESSAGES=/* @__PURE__ */Object.freeze({provider_unsupported:"Everfur does not send through this push provider yet. Register an Expo push token (provider expo) or an FCM registration token (provider fcm); APNs direct is not available in this version.",token_invalid:"The token is not a push token of the given provider. Expo tokens look like ExponentPushToken[...]; FCM registration tokens are long opaque strings. Pass the token exactly as your notification library printed it.",device_cipher_unavailable:"Everfur could not seal the token at rest, so nothing was stored. Retry the registration later; the SDK retries it on the next launch and login.",credentials_missing:"Everfur holds no push credential for this provider on your tenant, so deliveries to it are skipped. Expo needs nothing unless you enabled push security (then your Expo access token). A bare app using FCM supplies its Firebase service-account JSON to Everfur; push credentials are set by Everfur on your tenant, never through the SDK."}),REASONS=/* @__PURE__ */new Set(["provider_unsupported","token_invalid","device_cipher_unavailable","credentials_missing"]);function explainNotificationsReason(error){let reason=error.reasonCode;return reason!==void 0&&REASONS.has(reason)?NOTIFICATIONS_REASON_MESSAGES[reason]:null}var PROVIDERS=/* @__PURE__ */new Set(["expo","fcm","apns"]),PLATFORMS=/* @__PURE__ */new Set(["ios","android"]),TOKEN_MAX=4096,INSTALLATION_ID_MAX=128,DEVICE_ID_MAX=64,CONTROL_OR_SPACE=/[\0- ]/;function invalid(wireMessage,reasonCode){return makeEverfurError("validationFailed",{retryable:false,wireMessage:wireMessage,...reasonCode?{reasonCode:reasonCode}:{}})}function validateRegister(input){if(typeof input!="object"||input===null)return invalid("registerDevice needs an input object");let{token:token,provider:provider,platform:platform,installationId:installationId}=input;return typeof provider!="string"||!PROVIDERS.has(provider)?invalid("provider must be expo, fcm or apns"):typeof platform!="string"||!PLATFORMS.has(platform)?invalid("platform must be ios or android"):typeof token!="string"||token.trim().length===0||token.length>TOKEN_MAX||CONTROL_OR_SPACE.test(token)?invalid(`token must be a push token of 1..${TOKEN_MAX} characters with no whitespace`,"token_invalid"):installationId!==void 0&&(typeof installationId!="string"||installationId.length===0||installationId.length>INSTALLATION_ID_MAX)?invalid(`installationId must be 1..${INSTALLATION_ID_MAX} characters`):null}function validateDeviceId(deviceId){return typeof deviceId!="string"||deviceId.length===0||deviceId.length>DEVICE_ID_MAX?invalid(`deviceId must be 1..${DEVICE_ID_MAX} characters`):CONTROL_OR_SPACE.test(deviceId)||deviceId.includes("/")||deviceId==="."||deviceId===".."?invalid("deviceId is not a device id"):null}function validatePreferences(input){if(typeof input!="object"||input===null)return invalid("setPreferences needs an input object");let{pushEnabled:pushEnabled,emailEnabled:emailEnabled}=input;return typeof pushEnabled!="boolean"||typeof emailEnabled!="boolean"?invalid("pushEnabled and emailEnabled must both be booleans: the route replaces both switches"):null}function str(value){return typeof value=="string"&&value.length>0?value:null}function parseDevice(raw){if(typeof raw!="object"||raw===null)return null;let o=raw,deviceId=str(o.device_id),provider=str(o.provider),platform=str(o.platform),registeredAt=str(o.registered_at),lastSeenAt=str(o.last_seen_at);if(deviceId===null||provider===null||platform===null||registeredAt===null||lastSeenAt===null||!PROVIDERS.has(provider)||!PLATFORMS.has(platform))return null;let installation=o.installation_id;/* @__PURE__ */
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { EverfurNotificationsOptions, EverfurNotificationsState } from '../
|
|
2
|
-
export { DevicePlatform, EVERFUR_NOTIFICATION_EVENT_TYPES, EVERFUR_NOTIFICATION_TARGET_KINDS, EVERFUR_NOTIFICATION_VERSION, EverfurNotification, EverfurNotificationEventType, EverfurNotificationTarget, EverfurNotificationTargetKind, EverfurNotificationsStatus, NOTIFICATIONS_REASON_MESSAGES, NotificationPreferences, NotificationPreferencesInput, NotificationsClient, NotificationsReasonCode, NotificationsRuntime, PushProvider, RegisterDeviceInput, RegisteredDevice, createNotificationsClient, explainNotificationsReason, parseEverfurNotification, useEverfurNotificationsClient } from '../
|
|
3
|
-
export { V as VetVisitIntent } from '../visitIntent-D7_yVp1I.cjs';
|
|
4
|
-
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity-
|
|
5
|
-
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../config-
|
|
6
|
-
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids-B2GAAifq.cjs';
|
|
7
|
-
export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError-
|
|
8
|
-
export { E as EverfurResult } from '../EverfurResult-
|
|
9
|
-
export { E as ErrorPolicyPort } from '../ErrorPolicyPort-
|
|
1
|
+
import { E as EverfurNotificationsOptions, a as EverfurNotificationsState } from '../parse.d-EmsgOUMQ.cjs';
|
|
2
|
+
export { D as DevicePlatform, b as EVERFUR_NOTIFICATION_EVENT_TYPES, c as EVERFUR_NOTIFICATION_TARGET_KINDS, d as EVERFUR_NOTIFICATION_VERSION, e as EverfurNotification, f as EverfurNotificationEventType, g as EverfurNotificationTarget, h as EverfurNotificationTargetKind, i as EverfurNotificationsStatus, N as NOTIFICATIONS_REASON_MESSAGES, j as NotificationPreferences, k as NotificationPreferencesInput, l as NotificationsClient, m as NotificationsReasonCode, n as NotificationsRuntime, P as PushProvider, R as RegisterDeviceInput, o as RegisteredDevice, p as createNotificationsClient, q as explainNotificationsReason, r as parseEverfurNotification, u as useEverfurNotificationsClient } from '../parse.d-EmsgOUMQ.cjs';
|
|
3
|
+
export { V as VetVisitIntent } from '../visitIntent.d-D7_yVp1I.cjs';
|
|
4
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity.d-CJfnWOdH.cjs';
|
|
5
|
+
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../config.d-DJ4mvf_w.cjs';
|
|
6
|
+
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids.d-B2GAAifq.cjs';
|
|
7
|
+
export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError.d-8NHtlgzA.cjs';
|
|
8
|
+
export { E as EverfurResult } from '../EverfurResult.d-BFH-3s6E.cjs';
|
|
9
|
+
export { E as ErrorPolicyPort } from '../ErrorPolicyPort.d-DirW9hgO.cjs';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Register this install's push token for the signed-in member, keep it registered as the token and the user
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { EverfurNotificationsOptions, EverfurNotificationsState } from '../
|
|
2
|
-
export { DevicePlatform, EVERFUR_NOTIFICATION_EVENT_TYPES, EVERFUR_NOTIFICATION_TARGET_KINDS, EVERFUR_NOTIFICATION_VERSION, EverfurNotification, EverfurNotificationEventType, EverfurNotificationTarget, EverfurNotificationTargetKind, EverfurNotificationsStatus, NOTIFICATIONS_REASON_MESSAGES, NotificationPreferences, NotificationPreferencesInput, NotificationsClient, NotificationsReasonCode, NotificationsRuntime, PushProvider, RegisterDeviceInput, RegisteredDevice, createNotificationsClient, explainNotificationsReason, parseEverfurNotification, useEverfurNotificationsClient } from '../
|
|
3
|
-
export { V as VetVisitIntent } from '../visitIntent-D7_yVp1I.js';
|
|
4
|
-
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity-
|
|
5
|
-
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../config-
|
|
6
|
-
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids-B2GAAifq.js';
|
|
7
|
-
export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError-
|
|
8
|
-
export { E as EverfurResult } from '../EverfurResult-
|
|
9
|
-
export { E as ErrorPolicyPort } from '../ErrorPolicyPort-
|
|
1
|
+
import { E as EverfurNotificationsOptions, a as EverfurNotificationsState } from '../parse.d-COt1qVA6.js';
|
|
2
|
+
export { D as DevicePlatform, b as EVERFUR_NOTIFICATION_EVENT_TYPES, c as EVERFUR_NOTIFICATION_TARGET_KINDS, d as EVERFUR_NOTIFICATION_VERSION, e as EverfurNotification, f as EverfurNotificationEventType, g as EverfurNotificationTarget, h as EverfurNotificationTargetKind, i as EverfurNotificationsStatus, N as NOTIFICATIONS_REASON_MESSAGES, j as NotificationPreferences, k as NotificationPreferencesInput, l as NotificationsClient, m as NotificationsReasonCode, n as NotificationsRuntime, P as PushProvider, R as RegisterDeviceInput, o as RegisteredDevice, p as createNotificationsClient, q as explainNotificationsReason, r as parseEverfurNotification, u as useEverfurNotificationsClient } from '../parse.d-COt1qVA6.js';
|
|
3
|
+
export { V as VetVisitIntent } from '../visitIntent.d-D7_yVp1I.js';
|
|
4
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity.d-BePPZ7Uv.js';
|
|
5
|
+
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../config.d-MX7IKP2f.js';
|
|
6
|
+
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids.d-B2GAAifq.js';
|
|
7
|
+
export { E as EverfurError, a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError.d-8NHtlgzA.js';
|
|
8
|
+
export { E as EverfurResult } from '../EverfurResult.d-D_-254ZY.js';
|
|
9
|
+
export { E as ErrorPolicyPort } from '../ErrorPolicyPort.d-68yrE3BE.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Register this install's push token for the signed-in member, keep it registered as the token and the user
|