@everfur/sdk 0.13.0 → 0.15.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 +206 -0
- package/README.md +11 -10
- package/dist/{Chat.d-Dts8u_1a.d.cts → Chat.d-CtfANk3A.d.cts} +12 -4
- package/dist/{Chat.d-DUNTfzqC.d.ts → Chat.d-a7Ksz7NZ.d.ts} +12 -4
- package/dist/{DepthViews.d-CubkMPbU.d.ts → DepthViews.d-BqMnWSMu.d.cts} +1 -1
- package/dist/{DepthViews.d-BMU2jFPw.d.cts → DepthViews.d-CuBElgEc.d.ts} +1 -1
- package/dist/{DepthViews.d-Ce2Zhnrb.d.ts → DepthViews.d-DbJejGm3.d.ts} +1 -1
- package/dist/{DepthViews.d-BIp599lz.d.cts → DepthViews.d-dXWL6ToG.d.cts} +1 -1
- package/dist/RecordsPage.d-DKrZ9rHX.d.ts +93 -0
- package/dist/RecordsPage.d-DRPdUAo4.d.cts +93 -0
- package/dist/animations/index.cjs +1 -1
- package/dist/animations/index.d.cts +7 -5
- package/dist/animations/index.d.ts +7 -5
- package/dist/animations/index.js +1 -1
- package/dist/{attachments.d-Djy9z_0Z.d.ts → attachments.d-BGn2_knv.d.ts} +6 -24
- package/dist/{attachments.d-D1yhJjcZ.d.ts → attachments.d-CoQhXrP9.d.ts} +2 -2
- package/dist/{attachments.d-Bp2qbHxn.d.cts → attachments.d-CpaOfi2g.d.cts} +6 -24
- package/dist/{attachments.d-DisnvB9R.d.cts → attachments.d-CqHMGoER.d.cts} +2 -2
- package/dist/{bookingCopy.d-BlBmhAJc.d.cts → bookingCopy.d-Bnq2zk0F.d.cts} +2 -2
- package/dist/{bookingCopy.d-BJF6gd1A.d.ts → bookingCopy.d-BwCOCZUj.d.ts} +2 -2
- package/dist/{branding.d-DI8S400y.d.cts → branding.d-Bbc6p1XY.d.cts} +2 -2
- package/dist/{branding.d-OIGLbQeM.d.ts → branding.d-y6c0UwhE.d.ts} +2 -2
- package/dist/{casesRepository.d-CT2LTicS.d.cts → casesRepository.d-CsUJ2Oyb.d.cts} +1 -1
- package/dist/{casesRepository.d-UsWOz9bv.d.ts → casesRepository.d-DG83Ggbq.d.ts} +1 -1
- package/dist/chat/index.cjs +45 -43
- package/dist/chat/index.d.cts +26 -13
- package/dist/chat/index.d.ts +26 -13
- package/dist/chat/index.js +45 -43
- package/dist/client/index.cjs +3 -3
- package/dist/client/index.d.cts +12 -12
- package/dist/client/index.d.ts +12 -12
- package/dist/client/index.js +3 -3
- package/dist/clinicBatch.d-BLpbpS51.d.cts +71 -0
- package/dist/clinicBatch.d-Byjx4y_W.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.d-BR3DT9ho.d.cts → config.d-C0WgjutL.d.cts} +1 -1
- package/dist/{config.d-Dy6igYlH.d.ts → config.d-zd2eTb2L.d.ts} +1 -1
- package/dist/consent/index.d.cts +5 -5
- package/dist/consent/index.d.ts +5 -5
- package/dist/{context.d-QcCgguzA.d.ts → context.d-BBjmV0rz.d.ts} +8 -8
- package/dist/{context.d-Cwks0p3C.d.cts → context.d-Du_UPxa1.d.cts} +8 -8
- package/dist/{copy.d-CiMn2IIt.d.ts → copy.d-D_VVj01o.d.ts} +2 -2
- package/dist/{copy.d-DLJTyRfT.d.cts → copy.d-Da_PP2K3.d.cts} +2 -2
- package/dist/core/index.cjs +3 -3
- package/dist/core/index.d.cts +21 -19
- package/dist/core/index.d.ts +21 -19
- package/dist/core/index.js +3 -3
- package/dist/{depth.d-OSALbYM7.d.ts → depth.d-BEedifOR.d.ts} +6 -133
- package/dist/{depth.d-CjPGVPDL.d.cts → depth.d-RTV61QNf.d.cts} +6 -133
- package/dist/{entitlementRepository.d-Cf3LbTwD.d.ts → entitlementRepository.d-BwThmh3V.d.ts} +4 -4
- package/dist/{entitlementRepository.d-CVQa1DA1.d.cts → entitlementRepository.d-C-stdRyA.d.cts} +4 -4
- package/dist/{features.d-fNsGcg0R.d.ts → features.d-DrQxTw3-.d.cts} +1 -1
- package/dist/{features.d-fNsGcg0R.d.cts → features.d-DrQxTw3-.d.ts} +1 -1
- package/dist/{focus.d-DMg2ngHI.d.ts → focus.d-CtotIyEt.d.ts} +127 -350
- package/dist/{focus.d-az9cqUz3.d.cts → focus.d-Dsm39DjO.d.cts} +127 -350
- package/dist/health-plan/index.cjs +182 -163
- package/dist/health-plan/index.d.cts +53 -11
- package/dist/health-plan/index.d.ts +53 -11
- package/dist/health-plan/index.js +185 -166
- package/dist/{idempotency.d-WpXx9zQo.d.ts → idempotency.d-Bfm7oIxS.d.cts} +158 -6
- package/dist/{idempotency.d-D461_DPD.d.cts → idempotency.d-Cv-B7SfC.d.ts} +158 -6
- package/dist/{identity.d-DzTijonw.d.ts → identity.d-BksOEa6m.d.ts} +1 -1
- package/dist/{identity.d-60LeJt_s.d.cts → identity.d-CioQhZrq.d.cts} +1 -1
- package/dist/index.cjs +48 -46
- package/dist/index.d.cts +20 -19
- package/dist/index.d.ts +20 -19
- package/dist/index.js +48 -46
- package/dist/introEvents.d-dS3fJCH1.d.cts +5 -0
- package/dist/introEvents.d-dS3fJCH1.d.ts +5 -0
- package/dist/introEvents.d-fAZitxMA.d.cts +175 -0
- package/dist/introEvents.d-tOi4o3F4.d.ts +175 -0
- package/dist/{models.d-BnLm3VAA.d.cts → models.d-BSqvbTE1.d.cts} +8 -1
- package/dist/{models.d-BagXhafD.d.ts → models.d-DOwnr8fi.d.ts} +8 -1
- package/dist/notifications/index.d.cts +4 -4
- package/dist/notifications/index.d.ts +4 -4
- package/dist/{optInView.d-acKpV8V2.d.ts → optInView.d-B8zTORO2.d.ts} +119 -3
- package/dist/{optInView.d-CEyHR6PK.d.cts → optInView.d-BkNSv4Gk.d.cts} +119 -3
- package/dist/{parse.d-C8CXyS58.d.ts → parse.d-B5JHS6Pr.d.ts} +1 -1
- package/dist/{parse.d-tEzufgJX.d.cts → parse.d-BgjO82mY.d.cts} +1 -1
- package/dist/{pets.d-NbJvP_kh.d.cts → pets.d-B_LoizOv.d.cts} +1 -1
- package/dist/{pets.d-C_53_fzo.d.ts → pets.d-OWxskXCP.d.ts} +1 -1
- package/dist/{petsRepository.d-lp1BHRqM.d.cts → petsRepository.d-B5DWzU7C.d.cts} +1 -1
- package/dist/{petsRepository.d-BuGHymNx.d.ts → petsRepository.d-Ba3xhJcj.d.ts} +1 -1
- package/dist/planSignals.d-Cl6n5QpS.d.cts +126 -0
- package/dist/planSignals.d-DtxZoWGM.d.ts +126 -0
- package/dist/{ports.d-COIyN624.d.ts → ports.d-BDtwHxmW.d.ts} +4 -4
- package/dist/{ports.d-CEROoqnA.d.cts → ports.d-gZNTn8Qf.d.cts} +4 -4
- package/dist/{presentation.d-DMbdad7G.d.cts → presentation.d-vy8kTGfR.d.cts} +6 -0
- package/dist/{presentation.d-DMbdad7G.d.ts → presentation.d-vy8kTGfR.d.ts} +6 -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.d.cts +13 -9
- package/dist/records/depth/index.d.ts +13 -9
- package/dist/records/index.cjs +264 -140
- package/dist/records/index.d.cts +95 -24
- package/dist/records/index.d.ts +95 -24
- package/dist/records/index.js +265 -141
- package/dist/{requestFunnel.d-DWQQpjFR.d.cts → requestFunnel.d-CR4akGCY.d.cts} +2 -2
- package/dist/{requestFunnel.d-CXUMPw1K.d.ts → requestFunnel.d-DFf9C__p.d.ts} +2 -2
- package/dist/{resolve.d-jI8FmBj3.d.cts → resolve.d-CoQWUy1Y.d.cts} +1 -1
- package/dist/{resolve.d-jI8FmBj3.d.ts → resolve.d-CoQWUy1Y.d.ts} +1 -1
- package/dist/{runtimeTypes.d-4yFNNuYR.d.ts → runtimeTypes.d-BqBOrZxa.d.ts} +6 -6
- package/dist/{runtimeTypes.d-D6N_fhxx.d.cts → runtimeTypes.d-CHdH-y2c.d.cts} +6 -6
- package/dist/{useRecordsDepth.d-sAq2Qkhr.d.cts → screenProps.d-B1dIANI0.d.cts} +5 -91
- package/dist/{useRecordsDepth.d-DFcCfiXm.d.ts → screenProps.d-CVqFJw-J.d.ts} +5 -91
- package/dist/server/events/index.cjs +1 -1
- package/dist/server/events/index.d.cts +2 -2
- package/dist/server/events/index.d.ts +2 -2
- package/dist/server/events/index.js +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.d.cts +3 -3
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +1 -1
- package/dist/{sheetSeam.d-Cviqk89n.d.ts → sheetSeam.d-B09jf4YC.d.ts} +8 -4
- package/dist/{sheetSeam.d-DCS3LW8g.d.cts → sheetSeam.d-BBuEIVsa.d.cts} +8 -4
- package/dist/shop/index.cjs +227 -60
- package/dist/shop/index.d.cts +35 -5
- package/dist/shop/index.d.ts +35 -5
- package/dist/shop/index.js +228 -61
- package/dist/tabs/index.cjs +195 -0
- package/dist/tabs/index.d.cts +175 -0
- package/dist/tabs/index.d.ts +175 -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.d.cts +6 -6
- package/dist/televet/booking/index.d.ts +6 -6
- package/dist/testing/index.cjs +1 -1
- package/dist/testing/index.d.cts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/rn/index.cjs +1 -1
- package/dist/testing/rn/index.d.cts +12 -12
- package/dist/testing/rn/index.d.ts +12 -12
- package/dist/testing/rn/index.js +1 -1
- package/dist/testing/web/index.d.cts +13 -13
- package/dist/testing/web/index.d.ts +13 -13
- package/dist/texting/index.cjs +40 -5
- package/dist/texting/index.d.cts +40 -7
- package/dist/texting/index.d.ts +40 -7
- package/dist/texting/index.js +40 -5
- package/dist/threadOptions.d-CnSfFVMr.d.cts +458 -0
- package/dist/threadOptions.d-DZ0AoQGk.d.ts +458 -0
- package/dist/{timelineRows.d-BNxgzYRW.d.cts → timelineRows.d-CF1KvLcQ.d.cts} +1 -1
- package/dist/{timelineRows.d-CU5GvvLk.d.ts → timelineRows.d-CtL0y7y1.d.ts} +1 -1
- package/dist/{tokens.d-DarDaV39.d.cts → tokens.d-BUVqme2D.d.cts} +1 -1
- package/dist/{tokens.d-DarDaV39.d.ts → tokens.d-BUVqme2D.d.ts} +1 -1
- package/dist/{typeStyle.d-C1HBRAI3.d.ts → typeStyle.d-B3Kdtjie.d.ts} +2 -2
- package/dist/{typeStyle.d-Bl8pzbBy.d.cts → typeStyle.d-DmlwyJq-.d.cts} +2 -2
- package/dist/useIntroSeen.d-CTWFUthO.d.cts +35 -0
- package/dist/useIntroSeen.d-CTWFUthO.d.ts +35 -0
- package/dist/usePresentation.d-BsR08Wxt.d.ts +285 -0
- package/dist/usePresentation.d-CZS0qlLI.d.cts +285 -0
- package/dist/{useRecords.d-Cb-36SF5.d.cts → useRecords.d-BYNX01El.d.cts} +2 -2
- package/dist/{useRecords.d-aQTzQZoV.d.ts → useRecords.d-DWk61a4c.d.ts} +2 -2
- package/dist/useRecordsDepth.d-DTAxFf5s.d.ts +32 -0
- package/dist/useRecordsDepth.d-k-zYIHTe.d.cts +32 -0
- package/dist/{view.d-C-SNpDJX.d.ts → view.d-BE7VOlsB.d.ts} +6 -4
- package/dist/{view.d-Dps5C8-s.d.cts → view.d-CAWQjcY_.d.cts} +6 -4
- package/dist/web/consent/index.d.cts +5 -5
- package/dist/web/consent/index.d.ts +5 -5
- package/dist/web/health-plan/index.cjs +65 -53
- package/dist/web/health-plan/index.d.cts +46 -192
- package/dist/web/health-plan/index.d.ts +46 -192
- package/dist/web/health-plan/index.js +79 -67
- package/dist/web/index.cjs +62 -46
- package/dist/web/index.d.cts +168 -27
- package/dist/web/index.d.ts +168 -27
- package/dist/web/index.js +63 -47
- 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.d.cts +3 -3
- package/dist/web/notifications/index.d.ts +3 -3
- package/dist/web/records/depth/index.d.cts +13 -9
- package/dist/web/records/depth/index.d.ts +13 -9
- package/dist/web/records/index.cjs +7 -7
- package/dist/web/records/index.d.cts +21 -82
- package/dist/web/records/index.d.ts +21 -82
- package/dist/web/records/index.js +7 -7
- package/dist/web/records-sheet/index.cjs +207 -128
- package/dist/web/records-sheet/index.d.cts +25 -16
- package/dist/web/records-sheet/index.d.ts +25 -16
- package/dist/web/records-sheet/index.js +207 -128
- package/dist/web/shop/index.cjs +194 -78
- package/dist/web/shop/index.d.cts +21 -4
- package/dist/web/shop/index.d.ts +21 -4
- package/dist/web/shop/index.js +194 -78
- package/dist/web/televet/booking/index.d.cts +7 -7
- package/dist/web/televet/booking/index.d.ts +7 -7
- package/dist/web/texting/index.cjs +36 -5
- package/dist/web/texting/index.d.cts +40 -7
- package/dist/web/texting/index.d.ts +40 -7
- package/dist/web/texting/index.js +36 -5
- package/package.json +36 -4
- package/tabs/package.json +8 -0
- package/web/intro/native-blocked.cjs +12 -0
- package/web/intro/package.json +8 -0
- package/dist/threadOptions.d-B1pTMmDF.d.cts +0 -260
- package/dist/threadOptions.d-B1pTMmDF.d.ts +0 -260
- package/dist/usePresentation.d-D6qsFzBz.d.cts +0 -9
- package/dist/usePresentation.d-DuGQe_Do.d.ts +0 -9
|
@@ -97,9 +97,9 @@ return Object.freeze({ok:true,value:value})}function err(error){/* @__PURE__ */
|
|
|
97
97
|
return Object.freeze({ok:false,error:error})}var EverfurConfigError=class _EverfurConfigError extends Error{constructor(kind,message){super(message),this.name="EverfurConfigError",this.kind=kind,Object.setPrototypeOf(this,_EverfurConfigError.prototype)}};var RECORD_SHARE_AUDIENCES=/* @__PURE__ */Object.freeze(["vet","groomer","boarding"]),https=/* @__PURE__ */z.string().min(1).refine(value=>value.startsWith("https://")),str=/* @__PURE__ */z.string().nullish(),audienceField=/* @__PURE__ */z.unknown().optional(),linkSchema=/* @__PURE__ */z.object({share_id:/* @__PURE__ */z.string().min(1),share_url:/* @__PURE__ */z.string().min(1),expires_at:str,audience:audienceField}),listSchema=/* @__PURE__ */z.object({shares:/* @__PURE__ */z.array(/* @__PURE__ */z.object({share_id:/* @__PURE__ */z.string().min(1),expires_at:str,created_at:str,view_count:/* @__PURE__ */z.number().int().nonnegative().nullish(),last_viewed_at:str,audience:audienceField})).optional()}),pdfSchema=/* @__PURE__ */z.object({download_url:https,expires_at:str}),emailSchema=/* @__PURE__ */z.object({share_id:/* @__PURE__ */z.string().min(1),expires_at:str,audience:audienceField}),scopeSchema=/* @__PURE__ */z.object({audience:/* @__PURE__ */z.string().min(1),sections:/* @__PURE__ */z.array(/* @__PURE__ */z.string()),entity_types:/* @__PURE__ */z.array(/* @__PURE__ */z.string()).nullable()}),SHARE_RECIPIENT_EMAIL_MAX=254;function isShareRecipientEmail(value){let trimmed=value.trim();return trimmed.length>0&&trimmed.length<=SHARE_RECIPIENT_EMAIL_MAX&&/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(trimmed)}var isAudience=value=>typeof value=="string"&&RECORD_SHARE_AUDIENCES.includes(value);function audienceOf(value){return isAudience(value)?value:null}function mapShareAudiences(wire){let parsed=z.array(scopeSchema).safeParse(wire);if(!parsed.success)/* @__PURE__ */return Object.freeze([]);let seen=/* @__PURE__ */new Set,scopes=[];for(let scope of parsed.data)!isAudience(scope.audience)||seen.has(scope.audience)||(seen.add(scope.audience),scopes.push(/* @__PURE__ */Object.freeze({audience:scope.audience,sections:/* @__PURE__ */Object.freeze([...scope.sections]),entityTypes:scope.entity_types===null?null:/* @__PURE__ */Object.freeze([...scope.entity_types])}))/* @__PURE__ */);return Object.freeze(scopes)}function resolveShareUrl(shareUrl,apiBaseUrl){let trimmed=shareUrl.trim();if(trimmed.length===0)return null;try{let absolute=/^[a-z][a-z0-9+.-]*:/i.test(trimmed)?new URL(trimmed):apiBaseUrl!==void 0?new URL(trimmed,apiBaseUrl):null;return absolute===null||absolute.protocol!=="https:"?null:absolute.toString()}catch{return null}}function mapRecordShareLink(wire,apiBaseUrl){let parsed=linkSchema.safeParse(wire);if(!parsed.success)return null;let shareUrl=resolveShareUrl(parsed.data.share_url,apiBaseUrl);return shareUrl===null?null:/* @__PURE__ */Object.freeze({shareId:parsed.data.share_id,shareUrl:shareUrl,expiresAt:parsed.data.expires_at??null,audience:audienceOf(parsed.data.audience)})}function mapRecordShareList(wire){let parsed=listSchema.safeParse(wire);return parsed.success?/* @__PURE__ */Object.freeze((parsed.data.shares??[]).map(share=>/* @__PURE__ */Object.freeze({shareId:share.share_id,expiresAt:share.expires_at??null,createdAt:share.created_at??null,viewCount:share.view_count??0,lastViewedAt:share.last_viewed_at??null,audience:audienceOf(share.audience)}))):null}function mapRecordShareEmailReceipt(wire){let parsed=emailSchema.safeParse(wire);return parsed.success?/* @__PURE__ */Object.freeze({shareId:parsed.data.share_id,expiresAt:parsed.data.expires_at??null,audience:audienceOf(parsed.data.audience)}):null}function mapRecordPdfLink(wire){let parsed=pdfSchema.safeParse(wire);return parsed.success?/* @__PURE__ */Object.freeze({downloadUrl:parsed.data.download_url,expiresAt:parsed.data.expires_at??null}):null}var RECORDS_PDF_CONTENT_TYPE="application/pdf",RECORDS_PHOTO_CONTENT_TYPES=/* @__PURE__ */Object.freeze(["image/jpeg","image/png","image/heic","image/heif"]),isPhotoType=value=>RECORDS_PHOTO_CONTENT_TYPES.includes(value);function isAcceptedUploadType(type,types){return type===RECORDS_PDF_CONTENT_TYPE||types!==void 0&&isPhotoType(type)&&types.includes(type)}var FILENAMES=/* @__PURE__ */Object.freeze({"application/pdf":"document.pdf","image/jpeg":"document.jpg","image/png":"document.png","image/heic":"document.heic","image/heif":"document.heif"});function recordsUploadFilename(type){return isAcceptedUploadType(type,RECORDS_PHOTO_CONTENT_TYPES)?FILENAMES[type]:FILENAMES["application/pdf"]}var RECORDS_FEATURES_PDF_ONLY=/* @__PURE__ */Object.freeze({features:/* @__PURE__ */Object.freeze({}),uploadContentTypes:/* @__PURE__ */Object.freeze([RECORDS_PDF_CONTENT_TYPE]),shareAudiences:/* @__PURE__ */Object.freeze([])}),featuresSchema=/* @__PURE__ */z.object({features:/* @__PURE__ */z.record(/* @__PURE__ */z.boolean()),upload_content_types:/* @__PURE__ */z.array(/* @__PURE__ */z.string()).nullish(),share_audiences:/* @__PURE__ */z.unknown().optional()});function mapRecordsFeatures(wire){let parsed=featuresSchema.safeParse(wire);if(!parsed.success)return RECORDS_FEATURES_PDF_ONLY;let listed=parsed.data.upload_content_types??[],photos=RECORDS_PHOTO_CONTENT_TYPES.filter(type=>listed.includes(type));/* @__PURE__ */
|
|
98
98
|
return Object.freeze({features:/* @__PURE__ */Object.freeze({...parsed.data.features}),uploadContentTypes:/* @__PURE__ */Object.freeze([RECORDS_PDF_CONTENT_TYPE,...photos]),shareAudiences:mapShareAudiences(parsed.data.share_audiences)})}function acceptsPhotos(types){return types!==void 0&&types.some(isPhotoType)}var KNOWN_STATUSES=/* @__PURE__ */new Set(["requested","awaiting_clinic","awaiting_upload","received","parsing","in_review","published","failed","revoked"]),STATUS_ALIASES=/* @__PURE__ */Object.freeze({submitted:"requested",sent:"requested",dispatching:"requested",awaiting_response:"awaiting_clinic",clinic_responded_no_records:"awaiting_clinic",records_received:"received",parsing_failed:"in_review",review_email_failed:"in_review",clinic_declined:"failed"});function normalizeStatus(raw){let aliased=Object.prototype.hasOwnProperty.call(STATUS_ALIASES,raw)?STATUS_ALIASES[raw]:void 0;if(aliased!==void 0)return aliased;let value=raw;return KNOWN_STATUSES.has(value)?value:"parsing"}function normalizeOrigin(raw){return raw==="owner_reported"||raw==="clinic_document"?raw:null}var requestSchema=/* @__PURE__ */z.object({request_id:/* @__PURE__ */z.string().min(1),pet_ref:/* @__PURE__ */z.string().min(1),status:/* @__PURE__ */z.string(),simple_status:/* @__PURE__ */z.string().nullish(),simple_status_detail:/* @__PURE__ */z.string().nullish(),status_label:/* @__PURE__ */z.string().optional(),dispatch_status:/* @__PURE__ */z.string().nullish(),can_retry_send:/* @__PURE__ */z.boolean().optional(),can_revoke:/* @__PURE__ */z.boolean().optional(),can_convert_to_upload:/* @__PURE__ */z.boolean().optional(),can_update_clinic_email:/* @__PURE__ */z.boolean().optional(),reminder_count:/* @__PURE__ */z.number().int().nonnegative().optional(),last_reminder_at:/* @__PURE__ */z.string().nullish(),waiting_expectation:/* @__PURE__ */z.string().nullish(),document_count:/* @__PURE__ */z.number().optional(),held_item_count:/* @__PURE__ */z.number().optional(),received_at:/* @__PURE__ */z.string().nullish(),parsing_started_at:/* @__PURE__ */z.string().nullish(),review_started_at:/* @__PURE__ */z.string().nullish(),created_at:/* @__PURE__ */z.string().optional(),updated_at:/* @__PURE__ */z.string().optional(),source:/* @__PURE__ */z.string().nullish().catch(null),action_needed_label:/* @__PURE__ */z.string().nullish().catch(null),failure_reason:/* @__PURE__ */z.string().nullish().catch(null),failure_code:/* @__PURE__ */z.string().nullish().catch(null),recovery_stage:/* @__PURE__ */z.string().nullish().catch(null),show_clinic_phone:/* @__PURE__ */z.boolean().optional().catch(void 0),clinic_name:/* @__PURE__ */z.string().nullish().catch(null),clinic_email:/* @__PURE__ */z.string().nullish().catch(null),clinic_phone:/* @__PURE__ */z.string().nullish().catch(null),converted_to_upload_at:/* @__PURE__ */z.string().nullish().catch(null),request_group_id:/* @__PURE__ */z.string().nullish().catch(null)}).passthrough();function mapRequestView(wire){let parsed=requestSchema.safeParse(wire);if(!parsed.success)return null;let w=parsed.data,simpleStatus=normalizeSimpleStatus(w.simple_status),status=simpleStatus==="requested"&&(w.status==="awaiting_upload"||w.simple_status_detail==="awaiting_owner_upload")?"awaiting_upload":simpleStatus==="parsing"&&(w.simple_status_detail==="in_review"||w.simple_status_detail==="review_email_failed")?"in_review":simpleStatus??normalizeStatus(w.status);/* @__PURE__ */
|
|
99
99
|
return Object.freeze({id:w.request_id,petRef:w.pet_ref,status:status,simpleStatus:simpleStatus,simpleStatusDetail:w.simple_status_detail??null,statusLabel:w.status_label??"",dispatchStatus:w.dispatch_status??null,canRetrySend:w.can_retry_send===true,canRevoke:w.can_revoke===true,canConvertToUpload:w.can_convert_to_upload===true,canUpdateClinicEmail:w.can_update_clinic_email===true,reminderCount:w.reminder_count??0,lastReminderAt:w.last_reminder_at??null,waitingExpectation:w.waiting_expectation??null,documentCount:numberOr(w.document_count,0),heldItemCount:numberOr(w.held_item_count,0),receivedAt:w.received_at??null,parsingStartedAt:w.parsing_started_at??null,reviewStartedAt:w.review_started_at??null,createdAt:w.created_at??"",updatedAt:w.updated_at??"",wireStatus:w.status,source:w.source??null,actionNeededLabel:w.action_needed_label??null,failureReason:w.failure_reason??null,failureCode:w.failure_code??null,recoveryStage:w.recovery_stage??null,showClinicPhone:w.show_clinic_phone===true,clinicName:w.clinic_name??null,clinicEmail:w.clinic_email??null,clinicPhone:w.clinic_phone??null,convertedToUploadAt:w.converted_to_upload_at??null,requestGroupId:w.request_group_id??null})}var groupSchema=/* @__PURE__ */z.object({request_group_id:/* @__PURE__ */z.string().min(1),pet_ref:/* @__PURE__ */z.string().min(1),total:/* @__PURE__ */z.number().int().nonnegative(),responded:/* @__PURE__ */z.number().int().nonnegative(),pending:/* @__PURE__ */z.number().int().nonnegative(),members:/* @__PURE__ */z.array(/* @__PURE__ */z.unknown())});function mapRequestGroup(wire){let parsed=groupSchema.safeParse(wire);if(!parsed.success)return null;let g=parsed.data,members=mapRequestList(g.members);return members.some(member=>member.petRef!==g.pet_ref)?null:/* @__PURE__ */Object.freeze({requestGroupId:g.request_group_id,petRef:g.pet_ref,total:g.total,responded:g.responded,pending:g.pending,members:members})}function normalizeSimpleStatus(raw){return!raw||raw==="awaiting_upload"||raw==="in_review"?null:KNOWN_STATUSES.has(raw)?raw:null}function mapRequestList(wire){let list=Array.isArray(wire)?wire:[],out=[];for(let entry of list){let view=mapRequestView(entry);view!==null&&out.push(view)}/* @__PURE__ */
|
|
100
|
-
return Object.freeze(out)}var acceptedSchema=/* @__PURE__ */z.object({source_doc_id:/* @__PURE__ */z.string().min(1),request_id:/* @__PURE__ */z.string().min(1)});function mapUploadedDocument(wire){let parsed=acceptedSchema.safeParse(wire);return parsed.success?/* @__PURE__ */Object.freeze({documentId:parsed.data.source_doc_id,requestId:parsed.data.request_id,status:"received"}):null}var identitySchema=/* @__PURE__ */z.object({label:/* @__PURE__ */z.string(),value:/* @__PURE__ */z.string()}),entitySchema=/* @__PURE__ */z.object({key:/* @__PURE__ */z.string(),category:/* @__PURE__ */z.string().optional(),label:/* @__PURE__ */z.string().optional(),value:/* @__PURE__ */z.string().nullish(),unit:/* @__PURE__ */z.string().nullish(),observed_at:/* @__PURE__ */z.string().nullish(),status:/* @__PURE__ */z.string().nullish(),origin:/* @__PURE__ */z.string().nullish(),canonical_key:/* @__PURE__ */z.string().nullish()}),seriesPointSchema=/* @__PURE__ */z.object({at:/* @__PURE__ */z.string(),value:/* @__PURE__ */z.number().nullish(),display:/* @__PURE__ */z.string().nullish(),origin:/* @__PURE__ */z.string().nullish()}),seriesSchema=/* @__PURE__ */z.object({key:/* @__PURE__ */z.string(),label:/* @__PURE__ */z.string().optional(),points:/* @__PURE__ */z.array(seriesPointSchema).optional()}),forwardSchema=/* @__PURE__ */z.object({title:/* @__PURE__ */z.string(),detail:/* @__PURE__ */z.string().nullish(),due_at:/* @__PURE__ */z.string().nullish()}),documentSchema=/* @__PURE__ */z.object({doc_id:/* @__PURE__ */z.string(),title:/* @__PURE__ */z.string().nullish(),document_class:/* @__PURE__ */z.string().nullish(),page_count:/* @__PURE__ */z.number().nullish(),received_at:/* @__PURE__ */z.string().nullish()});function mapEntityRow(e){/* @__PURE__ */
|
|
100
|
+
return Object.freeze(out)}var acceptedSchema=/* @__PURE__ */z.object({source_doc_id:/* @__PURE__ */z.string().min(1),request_id:/* @__PURE__ */z.string().min(1)});function mapUploadedDocument(wire){let parsed=acceptedSchema.safeParse(wire);return parsed.success?/* @__PURE__ */Object.freeze({documentId:parsed.data.source_doc_id,requestId:parsed.data.request_id,status:"received"}):null}var identitySchema=/* @__PURE__ */z.object({label:/* @__PURE__ */z.string(),value:/* @__PURE__ */z.string()}),entitySchema=/* @__PURE__ */z.object({key:/* @__PURE__ */z.string(),category:/* @__PURE__ */z.string().optional(),label:/* @__PURE__ */z.string().optional(),value:/* @__PURE__ */z.string().nullish(),unit:/* @__PURE__ */z.string().nullish(),observed_at:/* @__PURE__ */z.string().nullish(),status:/* @__PURE__ */z.string().nullish(),origin:/* @__PURE__ */z.string().nullish(),canonical_key:/* @__PURE__ */z.string().nullish()}),seriesPointSchema=/* @__PURE__ */z.object({at:/* @__PURE__ */z.string(),value:/* @__PURE__ */z.number().nullish(),display:/* @__PURE__ */z.string().nullish(),origin:/* @__PURE__ */z.string().nullish()}),seriesSchema=/* @__PURE__ */z.object({key:/* @__PURE__ */z.string(),label:/* @__PURE__ */z.string().optional(),points:/* @__PURE__ */z.array(seriesPointSchema).optional()}),forwardSchema=/* @__PURE__ */z.object({title:/* @__PURE__ */z.string(),detail:/* @__PURE__ */z.string().nullish(),due_at:/* @__PURE__ */z.string().nullish(),care_item_key:/* @__PURE__ */z.string().nullish(),due_date_source:/* @__PURE__ */z.string().nullish()}),documentSchema=/* @__PURE__ */z.object({doc_id:/* @__PURE__ */z.string(),title:/* @__PURE__ */z.string().nullish(),document_class:/* @__PURE__ */z.string().nullish(),page_count:/* @__PURE__ */z.number().nullish(),received_at:/* @__PURE__ */z.string().nullish()});function mapEntityRow(e){/* @__PURE__ */
|
|
101
101
|
return Object.freeze({key:e.key,category:e.category??"",label:e.label??e.key,value:e.value??null,unit:e.unit??null,observedAt:e.observed_at??null,status:e.status??null,origin:normalizeOrigin(e.origin),canonicalKey:e.canonical_key??null})}function mapDocumentRow(d){/* @__PURE__ */
|
|
102
|
-
return Object.freeze({docId:d.doc_id,title:d.title??null,documentClass:d.document_class??null,pageCount:d.page_count??null,receivedAt:d.received_at??null})}var contentSchema=/* @__PURE__ */z.object({identity:/* @__PURE__ */z.array(identitySchema).optional(),entities:/* @__PURE__ */z.array(entitySchema).optional(),entity_series:/* @__PURE__ */z.array(seriesSchema).optional(),forward_looking:/* @__PURE__ */z.array(forwardSchema).optional(),documents:/* @__PURE__ */z.array(documentSchema).optional()});function mapRecordView(petRef,wire){let w=isObject(wire)?wire:{},schemaVersion=strOr(w.schema_version,"epdf/1.0"),disclaimer=strOr(w.disclaimer,""),pet=typeof w.pet_ref=="string"&&w.pet_ref.length>0?w.pet_ref:petRef;if(w.withheld===true)return withheldView(pet,schemaVersion,disclaimer);let content=contentSchema.safeParse(w);if(!content.success)return withheldView(pet,schemaVersion,disclaimer);let c=content.data,identity=(c.identity??[]).map(i=>/* @__PURE__ */Object.freeze({label:i.label,value:i.value})),entities=(c.entities??[]).map(mapEntityRow),entitySeries=(c.entity_series??[]).map(s=>/* @__PURE__ */Object.freeze({key:s.key,label:s.label??s.key,points:/* @__PURE__ */Object.freeze((s.points??[]).map(p=>/* @__PURE__ */Object.freeze({at:p.at,value:p.value??null,display:p.display??null,origin:normalizeOrigin(p.origin)})))})),forwardLooking=(c.forward_looking??[]).map(f=>/* @__PURE__ */Object.freeze({title:f.title,detail:f.detail??null,dueAt:f.due_at??null})),documents={};for(let d of c.documents??[])documents[d.doc_id]=mapDocumentRow(d);let isEmpty=w.is_empty===true||identity.length===0&&entities.length===0&&entitySeries.length===0&&forwardLooking.length===0&&Object.keys(documents).length===0;/* @__PURE__ */
|
|
102
|
+
return Object.freeze({docId:d.doc_id,title:d.title??null,documentClass:d.document_class??null,pageCount:d.page_count??null,receivedAt:d.received_at??null})}var contentSchema=/* @__PURE__ */z.object({identity:/* @__PURE__ */z.array(identitySchema).optional(),entities:/* @__PURE__ */z.array(entitySchema).optional(),entity_series:/* @__PURE__ */z.array(seriesSchema).optional(),forward_looking:/* @__PURE__ */z.array(forwardSchema).optional(),documents:/* @__PURE__ */z.array(documentSchema).optional()});function mapRecordView(petRef,wire){let w=isObject(wire)?wire:{},schemaVersion=strOr(w.schema_version,"epdf/1.0"),disclaimer=strOr(w.disclaimer,""),pet=typeof w.pet_ref=="string"&&w.pet_ref.length>0?w.pet_ref:petRef;if(w.withheld===true)return withheldView(pet,schemaVersion,disclaimer);let content=contentSchema.safeParse(w);if(!content.success)return withheldView(pet,schemaVersion,disclaimer);let c=content.data,identity=(c.identity??[]).map(i=>/* @__PURE__ */Object.freeze({label:i.label,value:i.value})),entities=(c.entities??[]).map(mapEntityRow),entitySeries=(c.entity_series??[]).map(s=>/* @__PURE__ */Object.freeze({key:s.key,label:s.label??s.key,points:/* @__PURE__ */Object.freeze((s.points??[]).map(p=>/* @__PURE__ */Object.freeze({at:p.at,value:p.value??null,display:p.display??null,origin:normalizeOrigin(p.origin)})))})),forwardLooking=(c.forward_looking??[]).map(f=>/* @__PURE__ */Object.freeze({title:f.title,detail:f.detail??null,dueAt:f.due_at??null,careItemKey:f.care_item_key??null,dueDateSource:f.due_date_source==="vet_stated"||f.due_date_source==="derived_default_rule"?f.due_date_source:null})),documents={};for(let d of c.documents??[])documents[d.doc_id]=mapDocumentRow(d);let isEmpty=w.is_empty===true||identity.length===0&&entities.length===0&&entitySeries.length===0&&forwardLooking.length===0&&Object.keys(documents).length===0;/* @__PURE__ */
|
|
103
103
|
return Object.freeze({petRef:pet,schemaVersion:schemaVersion,isEmpty:isEmpty,withheld:false,generatedAt:strOrNull(w.generated_at),identity:/* @__PURE__ */Object.freeze(identity),entities:/* @__PURE__ */Object.freeze(entities),entitySeries:/* @__PURE__ */Object.freeze(entitySeries),forwardLooking:/* @__PURE__ */Object.freeze(forwardLooking),documents:/* @__PURE__ */Object.freeze(documents),disclaimer:disclaimer})}function withheldView(petRef,schemaVersion,disclaimer){/* @__PURE__ */
|
|
104
104
|
return Object.freeze({petRef:petRef,schemaVersion:schemaVersion,isEmpty:false,withheld:true,generatedAt:null,identity:/* @__PURE__ */Object.freeze([]),entities:/* @__PURE__ */Object.freeze([]),entitySeries:/* @__PURE__ */Object.freeze([]),forwardLooking:/* @__PURE__ */Object.freeze([]),documents:/* @__PURE__ */Object.freeze({}),disclaimer:disclaimer})}var consentSchema=/* @__PURE__ */z.object({pet_ref:/* @__PURE__ */z.string().optional(),granted:/* @__PURE__ */z.boolean().optional(),version:/* @__PURE__ */z.string().nullish(),granted_at:/* @__PURE__ */z.string().nullish()});function mapConsent(petRef,wire){let parsed=consentSchema.safeParse(wire),data=parsed.success?parsed.data:{};/* @__PURE__ */
|
|
105
105
|
return Object.freeze({petRef:typeof data.pet_ref=="string"&&data.pet_ref.length>0?data.pet_ref:petRef,granted:data.granted===true,version:data.version??null,grantedAt:data.granted_at??null})}function isObject(v){return typeof v=="object"&&v!==null&&!Array.isArray(v)}function numberOr(v,fallback){return typeof v=="number"&&Number.isFinite(v)?v:fallback}function strOr(v,fallback){return typeof v=="string"&&v.length>0?v:fallback}function strOrNull(v){return typeof v=="string"&&v.length>0?v:null}var RECORDS_TERMINAL=/* @__PURE__ */Object.freeze(["published","failed","revoked"]);function isTerminalStatus(status){return RECORDS_TERMINAL.includes(status)}function recordsDenialReasonOf(error){if(error===null)return null;let reason=error.recordsReason;return reason==="consent_required"||reason==="session_required"||reason==="entitlement"||reason==="pet_not_found"?reason:null}var RECORDS_CONSENT_REQUIRED_WIRE_CODE="records_consent_required";function recordsWireCodeOf(error){let raw=error.raw;if(raw===null||typeof raw!="object")return null;let body=raw,code=typeof body.error=="object"&&body.error!==null?body.error.code:body.code;return typeof code=="string"&&code.length>0?code:null}function isRecordsConsentRequired(error){return error===null||error.httpStatus!==409?false:recordsWireCodeOf(error)===RECORDS_CONSENT_REQUIRED_WIRE_CODE}var unavailableUploadTransport=/* @__PURE__ */Object.freeze({postMultipart(){return Promise.reject(new Error("UploadTransport is unavailable; no records upload adapter was injected"))}});function isUploadTransportAvailable(transport){return transport!==unavailableUploadTransport}var noopRecordsTelemetry=/* @__PURE__ */Object.freeze({record(){}}),MAX_UPLOAD_BYTES=25*1024*1024,CONSENT_VERSION_MAX=64,IDEMPOTENCY_KEY_MAX=128,PET_REF_MAX=128,RECORDS_UPLOAD_CONTENT_TYPE="application/pdf",UPLOAD_DEADLINE_MS=9e4;function createRecordsController(deps){return new RecordsControllerImpl(deps)}var RecordsControllerImpl=class{constructor(deps){this.recordCache=/* @__PURE__ */new Map;this.consentEpoch=/* @__PURE__ */new Map;this.reportedGaps=/* @__PURE__ */new Set;this.features=RECORDS_FEATURES_PDF_ONLY;this.repository=deps.repository,this.uploads=deps.uploads,this.telemetry=deps.telemetry??noopRecordsTelemetry,this.newIdempotencyKey=deps.newIdempotencyKey??defaultIdempotencyFactory(),this.timers=deps.timers??defaultTimers,this.uploadDeadlineMs=deps.uploadDeadlineMs??UPLOAD_DEADLINE_MS}async createUploadRequest(input){let res=await this.repository.createRequest({pet_ref:input.petRef,idempotency_key:input.idempotencyKey});if(!res.ok)return this.onRequestError(res.error);let view=mapRequestView(res.value);return view===null?err(internal()):(this.observeRequest(view),ok(view))}async getRequest(id){let res=await this.repository.getRequest(id);if(!res.ok)return this.onRequestError(res.error);let view=mapRequestView(res.value);return view===null?err(internal()):(this.observeRequest(view),ok(view))}async listRequests(){let res=await this.repository.listRequests();if(!res.ok)return this.onRequestError(res.error);let views=mapRequestList(res.value);for(let view of views)this.observeRequest(view);return ok(views)}async readFeatures(){let read=this.repository.getFeatures;if(read===void 0)return this.features=RECORDS_FEATURES_PDF_ONLY;let features=RECORDS_FEATURES_PDF_ONLY;try{let res=await read.call(this.repository);res.ok&&(features=mapRecordsFeatures(res.value))}catch{}return this.features=features,features}async uploadDocument(input){let{requestId:requestId2,file:file}=input,rejection=validateFile(file,this.features.uploadContentTypes);if(rejection!==null)return this.telemetry.record("records.upload.rejected",{reason:rejection}),err(uploadFailed(`upload rejected: ${rejection}`));let initiated=await this.repository.initiateUpload(requestId2,{content_type:file.mimeType,file_size:file.sizeBytes});if(!initiated.ok)return this.onRequestError(initiated.error);let s3=await this.postToS3(initiated.value,file,input);if(!s3.ok)return this.telemetry.record("records.upload.failed",{reason:s3.reason}),err(uploadFailed(s3.reason));let completed=await this.repository.completeUpload(requestId2,{upload_id:initiated.value.upload_id});if(!completed.ok)return completed.error.code==="mediaUploadFailed"&&this.telemetry.record("records.upload.rejected",{reason:reasonFromWire(completed.error)??"corrupt"}),this.onRequestError(completed.error);let doc=mapUploadedDocument(completed.value);return doc===null?err(internal()):ok(doc)}async postToS3(policy,file,input){let deadline=new AbortController,signal=mergeSignals(deadline.signal,input.signal),handle=this.timers.setTimeout(()=>deadline.abort(),this.uploadDeadlineMs);try{let opts={signal:signal};return input.onProgress&&(opts.onProgress=input.onProgress),await this.uploads.postMultipart(policy,file,opts),{ok:!0}}catch{return{ok:false,reason:deadline.signal.aborted&&input.signal?.aborted!==true?"timeout":"upload_error"}}finally{this.timers.clearTimeout(handle)}}async getRecord(pet){let epoch=this.consentEpoch.get(pet)??0,res=await this.repository.getRecord(pet);if(epoch!==(this.consentEpoch.get(pet)??0))return err(/* @__PURE__ */Object.freeze({...makeEverfurError("accessDenied",{retryable:false}),recordsReason:"consent_required"}));if(!res.ok){let reason=recordsDenialReasonOf(res.error);return reason==="consent_required"?(this.recordCache.delete(pet),this.telemetry.record("records.consent.denied",{pet_ref:pet})):reason==="entitlement"&&this.telemetry.record("records.capability.denied",{pet_ref:pet}),err(res.error)}let view=mapRecordView(pet,res.value);return view.petRef!==pet?err(internal()):view.withheld?(this.telemetry.record("records.redaction.withheld",{pet_ref:pet}),this.recordCache.delete(pet),ok(view)):(this.recordCache.set(pet,view),ok(view))}peekCachedRecord(pet){return this.recordCache.get(pet)??null}async getConsent(pet){let res=await this.repository.getConsent(pet);return res.ok?ok(mapConsent(pet,res.value)):err(res.error)}async grantConsent(input){let res=await this.repository.putConsent(input.petRef,{consent_version:input.consentVersion,idempotency_key:input.idempotencyKey});return res.ok?ok(mapConsent(input.petRef,res.value)):(recordsDenialReasonOf(res.error)==="entitlement"&&this.telemetry.record("records.capability.denied",{pet_ref:input.petRef}),err(res.error))}async revokeConsent(pet){let res=await this.repository.deleteConsent(pet);return res.ok?(this.consentEpoch.set(pet,(this.consentEpoch.get(pet)??0)+1),this.recordCache.delete(pet),ok(mapConsent(pet,res.value))):err(res.error)}reportCapabilityDenied(pet){this.telemetry.record("records.capability.denied",pet?{pet_ref:pet}:{})}observeRequest(view){view.reviewStartedAt!==null&&!this.reportedGaps.has(view.id)&&(this.reportedGaps.add(view.id),this.telemetry.record("records.parse.gap",{request_id:view.id}))}onRequestError(error){return recordsDenialReasonOf(error)==="entitlement"&&this.telemetry.record("records.capability.denied",{}),err(error)}};function validateFile(file,types){if(!isAcceptedUploadType(file.mimeType,types))return"unsupported_format";let size=file.sizeBytes;return typeof size!="number"||!Number.isFinite(size)||size<=0||size>MAX_UPLOAD_BYTES?"oversize":null}function reasonFromWire(error){let raw=error.wireMessage;return raw==="unsupported_format"||raw==="oversize"||raw==="corrupt"?raw:null}function uploadFailed(wireMessage){return makeEverfurError("mediaUploadFailed",{retryable:false,wireMessage:wireMessage})}function internal(){return makeEverfurError("internalError",{retryable:true})}var defaultTimers={setTimeout:(handler,ms)=>setTimeout(handler,ms),clearTimeout:handle=>clearTimeout(handle)};function mergeSignals(a,b){if(!b)return a;let ctrl=new AbortController;if(a.aborted||b.aborted)return ctrl.abort(),ctrl.signal;let onAbort=()=>ctrl.abort();return a.addEventListener("abort",onAbort,{once:true}),b.addEventListener("abort",onAbort,{once:true}),ctrl.signal}function defaultIdempotencyFactory(){let counter=0;return()=>`records-${Date.now().toString(36)}-${(counter++).toString(36)}-${Math.random().toString(36).slice(2,10)}`}function assertNever(x){throw new Error(`assertNever: unhandled discriminated-union member ${JSON.stringify(x)}`)}function errorFrame(fields){/* @__PURE__ */
|
|
@@ -644,21 +644,21 @@ return jsx("li",{style:index>0?styles.rowDivider:void 0,children:/* @__PURE__ */
|
|
|
644
644
|
/* @__PURE__ */jsx("span",{style:styles.rowTitle,children:marker.name}),reading!==null?/* @__PURE__ */jsx("span",{style:{...styles.rowDetail,display:"block"},children:reading}):null]}),
|
|
645
645
|
/* @__PURE__ */jsx(Chip,{label:status.label,tone:markerStatusTone(marker.latest?.status??null)}),
|
|
646
646
|
/* @__PURE__ */jsx(Chevron,{})]})},marker.markerId)})}):null]})]}),
|
|
647
|
-
/* @__PURE__ */jsx(MarkerProvenanceDialog,{marker:provenance?.marker??null,point:provenance?.point??null,onClose:()=>setProvenance(null),onAsk:askReading})]})}var pending=null;function loadSheetModule(){if(pending!==null)return pending;let started=import("@everfur/sdk/web/records-sheet");return pending=started,started.then(void 0,()=>{pending===started&&(pending=null)}),started}var built=null;function useRecordsPageLook(sheet){let wantsDefault=sheet===void 0,[loaded,setLoaded]=useState(()=>built);if(useEffect(()=>{if(!wantsDefault||built!==null)return;let live=true;return loadSheetModule().then(module=>{built??=module.recordsSheet(),live&&setLoaded(built)},()=>{live&&setLoaded("failed")}),()=>{live=false}},[wantsDefault]),sheet===false)return{kind:"classic"};if(sheet!==void 0)return{kind:"sheet",sheet:sheet};let ready=loaded??built;return ready==="failed"?{kind:"classic"}:ready===null?{kind:"pending"}:{kind:"sheet",sheet:ready}}var PAGE_MAX_WIDTH=1248,PAGE_ROOT=/* @__PURE__ */Object.freeze({height:"auto"}),PAGE_BODY=/* @__PURE__ */Object.freeze({overflowY:"visible",flex:"0 0 auto"});function EverfurRecordsPage(props){let{style:style,className:className,renderPending:renderPending,...rest}=guardHostProps(props,["onNavigate","onBack","onAsk","onOpenScreenings","onOpenPlan"]),{userRef:userRef}=useEverfurContext(),{styles:styles}=useScreenStyles();/* @__PURE__ */
|
|
647
|
+
/* @__PURE__ */jsx(MarkerProvenanceDialog,{marker:provenance?.marker??null,point:provenance?.point??null,onClose:()=>setProvenance(null),onAsk:askReading})]})}var pending=null;function loadSheetModule(){if(pending!==null)return pending;let started=import("@everfur/sdk/web/records-sheet");return pending=started,started.then(void 0,()=>{pending===started&&(pending=null)}),started}var built=null;function useRecordsPageLook(sheet){let wantsDefault=sheet===void 0,[loaded,setLoaded]=useState(()=>built);if(useEffect(()=>{if(!wantsDefault||built!==null)return;let live=true;return loadSheetModule().then(module=>{built??=module.recordsSheet(),live&&setLoaded(built)},()=>{live&&setLoaded("failed")}),()=>{live=false}},[wantsDefault]),sheet===false)return{kind:"classic"};if(sheet!==void 0)return{kind:"sheet",sheet:sheet};let ready=loaded??built;return ready==="failed"?{kind:"classic"}:ready===null?{kind:"pending"}:{kind:"sheet",sheet:ready}}var PAGE_MAX_WIDTH=1248,PAGE_ROOT=/* @__PURE__ */Object.freeze({height:"auto"}),PAGE_BODY=/* @__PURE__ */Object.freeze({overflowY:"visible",flex:"0 0 auto"}),PAGE_FOOTNOTE=/* @__PURE__ */Object.freeze({margin:"48px 0 0",padding:"0 0 16px",lineHeight:1.6}),SHEET_FOOTNOTE=/* @__PURE__ */Object.freeze({margin:"32px 0 0",padding:0,fontFamily:'"Azeret", "Helvetica Neue", Arial, sans-serif',fontSize:13,lineHeight:1.6});function EverfurRecordsPage(props){let{style:style,className:className,renderPending:renderPending,...rest}=guardHostProps(props,["onNavigate","onBack","onAsk","onOpenScreenings","onOpenPlan"]),{userRef:userRef}=useEverfurContext(),{styles:styles}=useScreenStyles();/* @__PURE__ */
|
|
648
648
|
return jsx(CapabilityGate,{capability:"records",style:style,className:className,...renderPending?{renderPending:renderPending}:{},...recordsGateExit(rest.onBack,BACK_LABEL),children:/* @__PURE__ */jsxs("div",{className:className,style:{...styles.root,...PAGE_ROOT,...style},"data-testid":"everfur-records-page",children:[userRef===null?
|
|
649
649
|
/* @__PURE__ */jsx("div",{style:{...styles.body,...PAGE_BODY},children:/* @__PURE__ */jsx(AlertState,{label:RECORDS_COPY.sessionRequired,glyph:"empty"})}):/* @__PURE__ */jsx(RecordsPageBody,{...rest}),
|
|
650
|
-
/* @__PURE__ */jsx(RecordsFootnote,{})]})})}function RecordsPageBody(props){let{petRef:petRef,petName:petName,controller:controller,clinicController:clinicController,consentVersion:consentVersion,consentText:consentText,ownerName:ownerName,onCaptureSignature:onCaptureSignature,onNavigate:onNavigate,onOpenUrl:onOpenUrl,onCopy:onCopy,onAsk:onAsk,location:location2}=props;useConsentTextWarning2(consentVersion,consentText);let[nav,dispatch]=useReducer(recordsPageNavReducer,void 0,()=>initialRecordsNav()),navigate=useCallback(to=>{onNavigate?onNavigate(to):dispatch({type:"navigate",screen:to})},[onNavigate]),{body:body,overlay:overlay,overlayCanStepBack:overlayCanStepBack,bodyCanGoBack:bodyCanGoBack}=splitRecordsPageNav(nav),[labsOpen,setLabsOpen]=useState(false),[markerOpen,setMarkerOpen]=useState(null),look=useRecordsPageLook(props.sheet),sheet=look.kind==="sheet"?look.sheet:void 0,onOpenMarker=sheet?.onOpenMarker??setMarkerOpen,recordsOpts=useMemo(()=>controller?{petRef:petRef,controller:controller}:{petRef:petRef},[petRef,controller]),records=useEverfurRecords(recordsOpts),{refresh:refresh}=records,sheetWasOpen=useRef(false);useEffect(()=>{overlay!==null?sheetWasOpen.current=true:sheetWasOpen.current&&(sheetWasOpen.current=false,refresh())},[overlay,refresh]);let bodyRoot=useFocusScreenOnChange(body),ctx={petRef:petRef,petName:petName,controller:controller,clinicController:clinicController,consentVersion:consentVersion,consentText:consentText,ownerName:ownerName,onCaptureSignature:onCaptureSignature,navigate:navigate,...onOpenUrl?{onOpenUrl:onOpenUrl}:{},...onCopy?{onCopy:onCopy}:{},...onAsk?{onAsk:onAsk}:{},...location2?{location:location2}:{}},pageShown=body.name==="dashboard"||body.name==="requests";/* @__PURE__ */
|
|
650
|
+
/* @__PURE__ */jsx(RecordsFootnote,{style:rest.sheet===false?PAGE_FOOTNOTE:SHEET_FOOTNOTE})]})})}function RecordsPageBody(props){let{petRef:petRef,petName:petName,controller:controller,clinicController:clinicController,consentVersion:consentVersion,consentText:consentText,ownerName:ownerName,onCaptureSignature:onCaptureSignature,onNavigate:onNavigate,onOpenUrl:onOpenUrl,onCopy:onCopy,onAsk:onAsk,location:location2}=props;useConsentTextWarning2(consentVersion,consentText);let[nav,dispatch]=useReducer(recordsPageNavReducer,void 0,()=>initialRecordsNav()),navigate=useCallback(to=>{onNavigate?onNavigate(to):dispatch({type:"navigate",screen:to})},[onNavigate]),{body:body,overlay:overlay,overlayCanStepBack:overlayCanStepBack,bodyCanGoBack:bodyCanGoBack}=splitRecordsPageNav(nav),[labsOpen,setLabsOpen]=useState(false),[markerOpen,setMarkerOpen]=useState(null),look=useRecordsPageLook(props.sheet),sheet=look.kind==="sheet"?look.sheet:void 0,onOpenMarker=sheet?.onOpenMarker??setMarkerOpen,recordsOpts=useMemo(()=>controller?{petRef:petRef,controller:controller}:{petRef:petRef},[petRef,controller]),records=useEverfurRecords(recordsOpts),{refresh:refresh}=records,sheetWasOpen=useRef(false);useEffect(()=>{overlay!==null?sheetWasOpen.current=true:sheetWasOpen.current&&(sheetWasOpen.current=false,refresh())},[overlay,refresh]);let bodyRoot=useFocusScreenOnChange(body),ctx={petRef:petRef,petName:petName,controller:controller,clinicController:clinicController,consentVersion:consentVersion,consentText:consentText,ownerName:ownerName,onCaptureSignature:onCaptureSignature,navigate:navigate,...onOpenUrl?{onOpenUrl:onOpenUrl}:{},...onCopy?{onCopy:onCopy}:{},...onAsk?{onAsk:onAsk}:{},...location2?{location:location2}:{}},pageShown=body.name==="dashboard"||body.name==="requests";/* @__PURE__ */
|
|
651
651
|
return jsxs(Fragment,{children:[
|
|
652
652
|
/* @__PURE__ */jsx("div",{ref:bodyRoot,tabIndex:-1,style:BODY_ROOT,children:pageShown&&sheet!==void 0&&markerOpen!==null?/* @__PURE__ */jsxs(RecordsFootnoteDrawnAbove.Provider,{value:true,children:[
|
|
653
653
|
/* @__PURE__ */jsx(ScreenHeader,{title:"",onBack:()=>setMarkerOpen(null),testID:"everfur-records-page-lab-header"}),sheet.renderLab({petRef:petRef,markerId:markerOpen,petName:petName,onAsk:onAsk})]}):pageShown&&labsOpen?/* @__PURE__ */jsx(RecordsFootnoteDrawnAbove.Provider,{value:true,children:/* @__PURE__ */jsx(RecordsPageLabs,{petRef:petRef,petName:petName,onAsk:onAsk,onBack:()=>setLabsOpen(false)})}):pageShown?/* @__PURE__ */jsx(RecordsPageContent,{...props,sheet:sheet,sheetPending:look.kind==="pending",records:records,navigate:navigate,onOpenLabs:()=>setLabsOpen(true),onOpenMarker:onOpenMarker}):
|
|
654
|
-
/* @__PURE__ */jsx(RecordsFootnoteDrawnAbove.Provider,{value:true,children:/* @__PURE__ */jsx(RecordsPageBodyScreenView,{screen:body,ctx:ctx,onBack:bodyCanGoBack?()=>dispatch({type:"pop"}):()=>navigate({name:"dashboard"})})})}),overlay!==null?/* @__PURE__ */jsx(RecordsPageOverlay,{screen:overlay,ctx:ctx,requests:records.requests,onBack:overlayCanStepBack?()=>dispatch({type:"pop"}):()=>dispatch({type:"closeOverlay"}),onClose:()=>dispatch({type:"closeOverlay"})}):null]})}var BODY_ROOT=/* @__PURE__ */Object.freeze({outline:"none"});function RecordsPageContent({petRef:petRef,petName:petName,consentVersion:consentVersion,consentText:consentText,onAsk:onAsk,onOpenUrl:onOpenUrl,headingLevel:hostLevel,records:records,navigate:navigate,onOpenLabs:onOpenLabs,upcomingCare:upcomingCare,renderUpcomingCareAction:renderUpcomingCareAction,historyTiles:historyTiles,onOpenScreenings:onOpenScreenings,sheet:sheet,sheetPending:sheetPending,weightUnit:weightUnit,onOpenPlan:onOpenPlan,onOpenMarker:onOpenMarker}){let{theme:theme,styles:styles}=useScreenStyles(),clinicDecision=useCapability("recordsClinic"),canRequestFromClinic=clinicDecision.enabled||clinicDecision.isPending,pageLevel=headingLevel(hostLevel??DEFAULT_ROOT_HEADING_LEVEL),PageTitle=headingTag(pageLevel),requestsHeadingId=`${useId()}-requests-heading`,canGrant=canGrantConsent(consentVersion,records.consent),onGrant=()=>{let version=resolveConsentVersion(consentVersion,records.consent);if(version.length!==0)return records.grantConsent(version,`records-consent-${Date.now().toString(36)}`)},column={boxSizing:"border-box",width:"100%",maxWidth:PAGE_MAX_WIDTH,margin:"0 auto",display:"flex",flexDirection:"column",gap:theme.space.lg+theme.space.xs,padding:`${theme.space.lg}px ${theme.space.lg}px ${theme.space.xxl}px`};if(records.status==="loading")/* @__PURE__ */
|
|
654
|
+
/* @__PURE__ */jsx(RecordsFootnoteDrawnAbove.Provider,{value:true,children:/* @__PURE__ */jsx(RecordsPageBodyScreenView,{screen:body,ctx:ctx,onBack:bodyCanGoBack?()=>dispatch({type:"pop"}):()=>navigate({name:"dashboard"})})})}),overlay!==null?/* @__PURE__ */jsx(RecordsPageOverlay,{screen:overlay,ctx:ctx,requests:records.requests,onBack:overlayCanStepBack?()=>dispatch({type:"pop"}):()=>dispatch({type:"closeOverlay"}),onClose:()=>dispatch({type:"closeOverlay"})}):null]})}var BODY_ROOT=/* @__PURE__ */Object.freeze({outline:"none"});function RecordsPageContent({petRef:petRef,petName:petName,consentVersion:consentVersion,consentText:consentText,onAsk:onAsk,onOpenUrl:onOpenUrl,headingLevel:hostLevel,records:records,navigate:navigate,onOpenLabs:onOpenLabs,upcomingCare:upcomingCare,renderUpcomingCareAction:renderUpcomingCareAction,historyTiles:historyTiles,onOpenScreenings:onOpenScreenings,sheet:sheet,sheetPending:sheetPending,weightUnit:weightUnit,onOpenPlan:onOpenPlan,onOpenMarker:onOpenMarker,onRequestFromClinic:onRequestFromClinic,noVet:noVet}){let{theme:theme,styles:styles}=useScreenStyles(),clinicDecision=useCapability("recordsClinic"),canRequestFromClinic=clinicDecision.enabled||clinicDecision.isPending,pageLevel=headingLevel(hostLevel??DEFAULT_ROOT_HEADING_LEVEL),PageTitle=headingTag(pageLevel),requestsHeadingId=`${useId()}-requests-heading`,canGrant=canGrantConsent(consentVersion,records.consent),{refresh:refresh}=records,requestFromClinic=()=>{if(onRequestFromClinic===void 0){navigate({name:"clinicPicker"});return}let sent=callHost(onRequestFromClinic);sent!==void 0&&Promise.resolve(sent).then(()=>refresh(),()=>refresh())},onGrant=()=>{let version=resolveConsentVersion(consentVersion,records.consent);if(version.length!==0)return records.grantConsent(version,`records-consent-${Date.now().toString(36)}`)},column={boxSizing:"border-box",width:"100%",maxWidth:PAGE_MAX_WIDTH,margin:"0 auto",display:"flex",flexDirection:"column",gap:theme.space.lg+theme.space.xs,padding:`${theme.space.lg}px ${theme.space.lg}px ${theme.space.xxl}px`};if(records.status==="loading")/* @__PURE__ */
|
|
655
655
|
return jsx("div",{style:{...styles.body,...PAGE_BODY},children:/* @__PURE__ */jsx("div",{style:column,children:/* @__PURE__ */jsx(DashboardSkeleton,{testID:"everfur-records-page-loading"})})});let errorView=records.status==="error"?selectErrorView(records,canGrant):null,consentControl=errorView?.kind==="consent_required"?/* @__PURE__ */jsx("div",{"data-testid":"everfur-records-page-consent",children:/* @__PURE__ */jsx(ConsentRequiredState,{onGrant:onGrant,consentText:consentText})}):null;if(errorView!==null&&!isConsentGate(errorView)){let body=errorView.kind==="error"||errorView.kind==="pet_not_found"?/* @__PURE__ */jsx(RecordsEmptyState,{variant:recordsEmptyVariantForError(errorView.error),message:errorView.error.displayMessage,onAction:errorView.error.retryable?()=>records.refresh():void 0,testID:"everfur-records-page-error"}):renderErrorFamily(records,onGrant,canGrant,consentText);/* @__PURE__ */
|
|
656
|
-
return jsx("div",{style:{...styles.body,...PAGE_BODY},children:/* @__PURE__ */jsx("div",{style:column,children:body})})}return sheetPending?/* @__PURE__ */jsx("div",{style:{...styles.body,...PAGE_BODY},children:/* @__PURE__ */jsx("div",{style:column,children:/* @__PURE__ */jsx(DashboardSkeleton,{testID:"everfur-records-page-loading"})})}):sheet!==void 0?/* @__PURE__ */jsx("div",{style:{...styles.body,...PAGE_BODY},"data-testid":"everfur-records-page-content",children:sheet.renderSheet({petRef:petRef,petName:petName??"",records:records,readable:consentControl===null,consentControl:consentControl,canRequestFromClinic:canRequestFromClinic,onRequest:
|
|
656
|
+
return jsx("div",{style:{...styles.body,...PAGE_BODY},children:/* @__PURE__ */jsx("div",{style:column,children:body})})}return sheetPending?/* @__PURE__ */jsx("div",{style:{...styles.body,...PAGE_BODY},children:/* @__PURE__ */jsx("div",{style:column,children:/* @__PURE__ */jsx(DashboardSkeleton,{testID:"everfur-records-page-loading"})})}):sheet!==void 0?/* @__PURE__ */jsx("div",{style:{...styles.body,...PAGE_BODY},"data-testid":"everfur-records-page-content",children:sheet.renderSheet({petRef:petRef,petName:petName??"",records:records,readable:consentControl===null,consentControl:consentControl,canRequestFromClinic:canRequestFromClinic,onRequest:requestFromClinic,onUpload:()=>navigate({name:"upload"}),onOpenRecord:()=>navigate({name:"record"}),onOpenMarker:onOpenMarker,onOpenScreenings:onOpenScreenings,renderUpcomingCareAction:renderUpcomingCareAction,weightUnit:weightUnit,onOpenPlan:onOpenPlan,noVet:noVet,onOpenRequest:requestId2=>navigate({name:"request",requestId:requestId2})})}):/* @__PURE__ */jsx("div",{style:{...styles.body,...PAGE_BODY},children:/* @__PURE__ */jsxs("div",{style:column,"data-testid":"everfur-records-page-content",children:[
|
|
657
657
|
/* @__PURE__ */jsxs("header",{style:{...styles.creamCard,gap:theme.space.md,padding:`${theme.space.lg+theme.space.xs}px ${theme.space.lg+theme.space.md}px`,...styles.headerSlot},"data-testid":"everfur-records-page-header",children:[
|
|
658
658
|
/* @__PURE__ */jsx(BrandLogo,{logoUrl:theme.meta.logoUrl,name:theme.meta.displayName,styles:styles.pageLogo}),
|
|
659
659
|
/* @__PURE__ */jsx(PageTitle,{tabIndex:-1,[SCREEN_HEADING_ATTR]:"",style:{...styles.headerTitle,whiteSpace:"normal",overflow:"visible"},children:CONSUMER_PAGE_COPY.titleFor(petName)}),
|
|
660
660
|
/* @__PURE__ */jsx("p",{style:{...styles.bodyText,...styles.headerText},children:CONSUMER_PAGE_COPY.lead}),
|
|
661
|
-
/* @__PURE__ */jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:theme.space.sm},"data-testid":"everfur-records-page-actions",children:[canRequestFromClinic?/* @__PURE__ */jsx(Pill,{label:CONSUMER_PAGE_COPY.requestRecords,onClick:
|
|
661
|
+
/* @__PURE__ */jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:theme.space.sm},"data-testid":"everfur-records-page-actions",children:[canRequestFromClinic?/* @__PURE__ */jsx(Pill,{label:CONSUMER_PAGE_COPY.requestRecords,onClick:requestFromClinic,testID:"everfur-records-page-request-records"}):null,
|
|
662
662
|
/* @__PURE__ */jsx(Pill,{label:CONSUMER_PAGE_COPY.uploadAction,kind:"outline",onClick:()=>navigate({name:"upload"}),testID:"everfur-records-page-upload-action"}),onAsk?/* @__PURE__ */jsx(Pill,{label:CONSUMER_PAGE_COPY.askA11y(petName),kind:"ask",ariaLabel:CONSUMER_PAGE_COPY.askA11y(petName),onClick:()=>onAsk(buildRecordsPageAskPrompt(petName),{type:"marker_summary",id:petRef}),testID:"everfur-records-page-ask"}):null]}),historyTiles===true?null:/* @__PURE__ */jsxs("nav",{style:{display:"flex",flexWrap:"wrap",columnGap:theme.space.lg,rowGap:theme.space.xs},"data-testid":"everfur-records-page-links",children:[
|
|
663
663
|
/* @__PURE__ */jsx(PageLink,{label:CONSUMER_PAGE_COPY.viewRecord,onClick:()=>navigate({name:"record"}),testID:"everfur-records-page-link-record"}),
|
|
664
664
|
/* @__PURE__ */jsx(PageLink,{label:CONSUMER_PAGE_COPY.viewTimeline,onClick:()=>navigate({name:"timeline"}),testID:"everfur-records-page-link-timeline"})]})]}),consentControl,upcomingCare===true&&records.record!==null&&!records.record.withheld?/* @__PURE__ */jsx(RecordsPageUpcomingCare,{items:records.record.forwardLooking,renderAction:renderUpcomingCareAction}):null,historyTiles===true?/* @__PURE__ */jsx(RecordsPageHistoryTiles,{petRef:petRef,onOpenLabs:onOpenLabs,onOpenScreenings:onOpenScreenings,onOpenRecord:()=>navigate({name:"record"}),onOpenTimeline:()=>navigate({name:"timeline"})}):null,
|