@everfur/sdk 0.16.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +3 -1
  3. package/chat/lite/package.json +8 -0
  4. package/dist/Chat.d-CzI2228d.d.ts +11 -0
  5. package/dist/Chat.d-D3ScVQ22.d.cts +11 -0
  6. package/dist/{DepthViews.d-DapfRz1S.d.cts → DepthViews.d-6U4QqaW3.d.cts} +1 -1
  7. package/dist/{DepthViews.d-C4TIZDfz.d.cts → DepthViews.d-BLx_ZTwa.d.cts} +1 -1
  8. package/dist/{DepthViews.d-CNjaHLAS.d.ts → DepthViews.d-Cwbel5o4.d.ts} +1 -1
  9. package/dist/{DepthViews.d-A7S-XYiI.d.ts → DepthViews.d-DVIydPLt.d.ts} +1 -1
  10. package/dist/{RecordsPage.d-6WMbieaV.d.ts → RecordsPage.d-Bwalb0wU.d.ts} +1 -1
  11. package/dist/{RecordsPage.d-B2gLf8RH.d.cts → RecordsPage.d-Do7T8Fns.d.cts} +1 -1
  12. package/dist/animations/index.d.cts +3 -3
  13. package/dist/animations/index.d.ts +3 -3
  14. package/dist/{appStateLifecycle.d-B7L427MF.d.ts → appStateLifecycle.d-Bd-rNy6K.d.ts} +6 -11
  15. package/dist/{appStateLifecycle.d-CWedOJq4.d.cts → appStateLifecycle.d-_mh4CEAq.d.cts} +6 -11
  16. package/dist/attachmentTransport.d-Syrvv5zH.d.ts +41 -0
  17. package/dist/attachmentTransport.d-r1XCCdUB.d.cts +41 -0
  18. package/dist/{attachments.d-CB0R1_vK.d.ts → attachments.d-BiBGBE4o.d.ts} +5 -5
  19. package/dist/{attachments.d-CPgp4_W-.d.ts → attachments.d-CyB8hzDo.d.ts} +2 -2
  20. package/dist/{attachments.d-BARh-PrJ.d.cts → attachments.d-GlO5UP7H.d.cts} +5 -5
  21. package/dist/{attachments.d-DeoaCEMD.d.cts → attachments.d-Y-qvSHVU.d.cts} +2 -2
  22. package/dist/{bookingCopy.d-CVmpuk9C.d.cts → bookingCopy.d-BIaCiRuW.d.cts} +2 -2
  23. package/dist/{bookingCopy.d-BakTjvWw.d.ts → bookingCopy.d-DgWvNKD5.d.ts} +2 -2
  24. package/dist/{casesRepository.d-CuokarTU.d.ts → casesRepository.d-BW8DTYeN.d.ts} +1 -1
  25. package/dist/{casesRepository.d-DKRLtYb8.d.cts → casesRepository.d-_0AO2YrL.d.cts} +1 -1
  26. package/dist/chat/index.cjs +32 -31
  27. package/dist/chat/index.d.cts +16 -51
  28. package/dist/chat/index.d.ts +16 -51
  29. package/dist/chat/index.js +32 -31
  30. package/dist/chat/lite/index.cjs +430 -0
  31. package/dist/chat/lite/index.d.cts +35 -0
  32. package/dist/chat/lite/index.d.ts +35 -0
  33. package/dist/chat/lite/index.js +430 -0
  34. package/dist/client/index.cjs +4 -4
  35. package/dist/client/index.d.cts +6 -6
  36. package/dist/client/index.d.ts +6 -6
  37. package/dist/client/index.js +4 -4
  38. package/dist/{clinicBatch.d-BP_Rpvcy.d.ts → clinicBatch.d-BXwATY3-.d.ts} +2 -2
  39. package/dist/{clinicBatch.d-BTDdhMQ2.d.cts → clinicBatch.d-BcuSaOkv.d.cts} +2 -2
  40. package/dist/{config.d-84fNJFv9.d.cts → config.d-D1xcxALX.d.cts} +1 -1
  41. package/dist/{config.d-B4-Mrwq2.d.ts → config.d-jTVsAeky.d.ts} +1 -1
  42. package/dist/consent/index.d.cts +5 -5
  43. package/dist/consent/index.d.ts +5 -5
  44. package/dist/{context.d-87MMrNm6.d.cts → context.d-C3x-z665.d.cts} +5 -5
  45. package/dist/{context.d-rNGMZH8T.d.ts → context.d-goZeZO2I.d.ts} +5 -5
  46. package/dist/{copy.d-CJOLhJac.d.cts → copy.d-DPwFY4r5.d.cts} +2 -2
  47. package/dist/{copy.d-DbwWriBp.d.ts → copy.d-yfJv7fl6.d.ts} +2 -2
  48. package/dist/core/index.cjs +10 -10
  49. package/dist/core/index.d.cts +13 -13
  50. package/dist/core/index.d.ts +13 -13
  51. package/dist/core/index.js +10 -10
  52. package/dist/{depth.d-Dca1T_RH.d.ts → depth.d-SJzknw_P.d.ts} +2 -2
  53. package/dist/{depth.d-CXpPxNSK.d.cts → depth.d-e_8_icip.d.cts} +2 -2
  54. package/dist/{entitlementRepository.d-BBRYTUlp.d.ts → entitlementRepository.d-BNgZhwoE.d.ts} +2 -2
  55. package/dist/{entitlementRepository.d-DBhzBQjZ.d.cts → entitlementRepository.d-C_LdzINM.d.cts} +2 -2
  56. package/dist/{focus.d-BQnOVAql.d.cts → focus.d-CXpIkIuU.d.cts} +2 -2
  57. package/dist/{focus.d-BZ2sEpbU.d.ts → focus.d-DzIgOqNB.d.ts} +2 -2
  58. package/dist/health-plan/index.cjs +7 -7
  59. package/dist/health-plan/index.d.cts +10 -10
  60. package/dist/health-plan/index.d.ts +10 -10
  61. package/dist/health-plan/index.js +7 -7
  62. package/dist/{idempotency.d-9wNNohIA.d.cts → idempotency.d-0biUa_Vw.d.cts} +1 -1
  63. package/dist/{idempotency.d-BdB17veP.d.ts → idempotency.d-DcqIqmf9.d.ts} +1 -1
  64. package/dist/{identity.d-DxNvhj3a.d.ts → identity.d-BEJcHY-5.d.ts} +1 -1
  65. package/dist/{identity.d-nRZBzkG2.d.cts → identity.d-COcNGuCJ.d.cts} +1 -1
  66. package/dist/index.cjs +27 -26
  67. package/dist/index.d.cts +15 -14
  68. package/dist/index.d.ts +15 -14
  69. package/dist/index.js +28 -27
  70. package/dist/{introEvents.d-CQeiUeLn.d.cts → introEvents.d-D8N9bbGO.d.cts} +1 -1
  71. package/dist/{introEvents.d-bkIxpIKr.d.ts → introEvents.d-GCdyQyUG.d.ts} +1 -1
  72. package/dist/notifications/index.d.cts +4 -4
  73. package/dist/notifications/index.d.ts +4 -4
  74. package/dist/{optInView.d-DVJcB4Gp.d.ts → optInView.d-CY2IueSZ.d.ts} +2 -2
  75. package/dist/{optInView.d-BbVUUeoG.d.cts → optInView.d-DVuuWDRw.d.cts} +2 -2
  76. package/dist/{parse.d-CGeJrcAC.d.ts → parse.d--ztmWIIP.d.ts} +1 -1
  77. package/dist/{parse.d-Dk0BasyK.d.cts → parse.d-B-WrkW2C.d.cts} +1 -1
  78. package/dist/{pets.d-DVptPgi0.d.cts → pets.d-BSW0oEYx.d.cts} +1 -1
  79. package/dist/{pets.d-DBopbeRe.d.ts → pets.d-DwsImaHU.d.ts} +1 -1
  80. package/dist/{petsRepository.d-Daef7u0o.d.cts → petsRepository.d-BQfWC3d4.d.cts} +1 -1
  81. package/dist/{petsRepository.d-BtuooSOW.d.ts → petsRepository.d-BudLFHVe.d.ts} +1 -1
  82. package/dist/photo/index.cjs +2 -2
  83. package/dist/photo/index.js +2 -2
  84. package/dist/{ports.d-BxCVSbSi.d.ts → ports.d-B6kDPKF7.d.ts} +4 -4
  85. package/dist/{ports.d-CAT70bVD.d.cts → ports.d-DzPbmiDT.d.cts} +4 -4
  86. package/dist/records/depth/index.cjs +9 -9
  87. package/dist/records/depth/index.d.cts +9 -9
  88. package/dist/records/depth/index.d.ts +9 -9
  89. package/dist/records/depth/index.js +9 -9
  90. package/dist/records/index.cjs +13 -13
  91. package/dist/records/index.d.cts +10 -10
  92. package/dist/records/index.d.ts +10 -10
  93. package/dist/records/index.js +13 -13
  94. package/dist/{requestFunnel.d-Cxt0JqYx.d.ts → requestFunnel.d-BPsCHJWf.d.ts} +2 -2
  95. package/dist/{requestFunnel.d-mEu6B-n8.d.cts → requestFunnel.d-BdpL7gwg.d.cts} +2 -2
  96. package/dist/{runtimeTypes.d-Bkcj_XQy.d.ts → runtimeTypes.d-C_Pcxn-n.d.ts} +4 -4
  97. package/dist/{runtimeTypes.d-D_qHJROH.d.cts → runtimeTypes.d-Cfq3IrZG.d.cts} +4 -4
  98. package/dist/{screenProps.d-CR1lrpzR.d.cts → screenProps.d-BJMn1kTR.d.cts} +1 -1
  99. package/dist/{screenProps.d-D9n-ancr.d.ts → screenProps.d-DGrfO17l.d.ts} +1 -1
  100. package/dist/server/events/index.cjs +3 -3
  101. package/dist/server/events/index.d.cts +48 -6
  102. package/dist/server/events/index.d.ts +48 -6
  103. package/dist/server/events/index.js +3 -3
  104. package/dist/server/index.cjs +2 -2
  105. package/dist/server/index.d.cts +3 -3
  106. package/dist/server/index.d.ts +3 -3
  107. package/dist/server/index.js +2 -2
  108. package/dist/shop/index.cjs +1 -1
  109. package/dist/shop/index.d.cts +3 -3
  110. package/dist/shop/index.d.ts +3 -3
  111. package/dist/shop/index.js +1 -1
  112. package/dist/tabs/index.d.cts +8 -8
  113. package/dist/tabs/index.d.ts +8 -8
  114. package/dist/televet/booking/index.cjs +2 -2
  115. package/dist/televet/booking/index.d.cts +6 -6
  116. package/dist/televet/booking/index.d.ts +6 -6
  117. package/dist/televet/booking/index.js +2 -2
  118. package/dist/televet/call/index.cjs +1 -1
  119. package/dist/televet/call/index.js +1 -1
  120. package/dist/televet/index.cjs +4 -3
  121. package/dist/televet/index.d.cts +1 -0
  122. package/dist/televet/index.d.ts +1 -0
  123. package/dist/televet/index.js +5 -4
  124. package/dist/testing/index.d.cts +1 -1
  125. package/dist/testing/index.d.ts +1 -1
  126. package/dist/testing/rn/index.d.cts +7 -7
  127. package/dist/testing/rn/index.d.ts +7 -7
  128. package/dist/testing/web/index.d.cts +7 -7
  129. package/dist/testing/web/index.d.ts +7 -7
  130. package/dist/texting/index.d.cts +5 -5
  131. package/dist/texting/index.d.ts +5 -5
  132. package/dist/{threadOptions.d-BEG-LZrC.d.cts → threadOptions.d-B0folrKm.d.cts} +1 -1
  133. package/dist/{threadOptions.d-P9v7I7va.d.cts → threadOptions.d-B8HTJa9A.d.cts} +3 -3
  134. package/dist/{threadOptions.d-BgBvSIw8.d.ts → threadOptions.d-BnhE7T8Y.d.ts} +3 -3
  135. package/dist/{threadOptions.d-BerQM1Ql.d.ts → threadOptions.d-DTsJFkL-.d.ts} +1 -1
  136. package/dist/{threadOptions.d-6hfQS1x7.d.cts → threadOptions.d-GPJPprkn.d.cts} +1 -1
  137. package/dist/{threadOptions.d-6hfQS1x7.d.ts → threadOptions.d-GPJPprkn.d.ts} +1 -1
  138. package/dist/{timelineRows.d-C04lp_Vj.d.cts → timelineRows.d-BTcUdNeI.d.cts} +1 -1
  139. package/dist/{timelineRows.d-_7JemrY-.d.ts → timelineRows.d-kmBms1W5.d.ts} +1 -1
  140. package/dist/{useHealthPlanSubscription.d-OhLZpn-n.d.cts → useHealthPlanSubscription.d-B_cth_iF.d.cts} +3 -3
  141. package/dist/{useHealthPlanSubscription.d-CUbHE6eK.d.ts → useHealthPlanSubscription.d-BzNaVl89.d.ts} +3 -3
  142. package/dist/{usePresentation.d-CBtBx38t.d.ts → usePresentation.d-B7Uf44Ax.d.ts} +1 -1
  143. package/dist/{usePresentation.d-YkJeq9mf.d.cts → usePresentation.d-BkAMOfb5.d.cts} +1 -1
  144. package/dist/{useRecordsDepth.d-_rqDIvoq.d.ts → useRecordsDepth.d-BHkZi0tM.d.ts} +1 -1
  145. package/dist/{useRecordsDepth.d-FTImzp6T.d.cts → useRecordsDepth.d-BxHpKipf.d.cts} +1 -1
  146. package/dist/video/index.cjs +2 -2
  147. package/dist/video/index.js +2 -2
  148. package/dist/{view.d-gmYinlac.d.ts → view.d-2BYMRnWj.d.ts} +3 -3
  149. package/dist/{view.d-Dd6AfMvG.d.cts → view.d-CoDbnv0f.d.cts} +3 -3
  150. package/dist/web/consent/index.d.cts +5 -5
  151. package/dist/web/consent/index.d.ts +5 -5
  152. package/dist/web/health-plan/index.cjs +4 -4
  153. package/dist/web/health-plan/index.d.cts +12 -12
  154. package/dist/web/health-plan/index.d.ts +12 -12
  155. package/dist/web/health-plan/index.js +4 -4
  156. package/dist/web/index.cjs +4 -4
  157. package/dist/web/index.d.cts +23 -23
  158. package/dist/web/index.d.ts +23 -23
  159. package/dist/web/index.js +4 -4
  160. package/dist/web/intro/index.d.cts +6 -6
  161. package/dist/web/intro/index.d.ts +6 -6
  162. package/dist/web/notifications/index.d.cts +3 -3
  163. package/dist/web/notifications/index.d.ts +3 -3
  164. package/dist/web/records/depth/index.cjs +9 -9
  165. package/dist/web/records/depth/index.d.cts +9 -9
  166. package/dist/web/records/depth/index.d.ts +9 -9
  167. package/dist/web/records/depth/index.js +9 -9
  168. package/dist/web/records/index.cjs +12 -12
  169. package/dist/web/records/index.d.cts +11 -11
  170. package/dist/web/records/index.d.ts +11 -11
  171. package/dist/web/records/index.js +12 -12
  172. package/dist/web/records-sheet/index.cjs +9 -9
  173. package/dist/web/records-sheet/index.js +9 -9
  174. package/dist/web/shop/index.cjs +1 -1
  175. package/dist/web/shop/index.d.cts +3 -3
  176. package/dist/web/shop/index.d.ts +3 -3
  177. package/dist/web/shop/index.js +1 -1
  178. package/dist/web/televet/booking/index.cjs +2 -2
  179. package/dist/web/televet/booking/index.d.cts +6 -6
  180. package/dist/web/televet/booking/index.d.ts +6 -6
  181. package/dist/web/televet/booking/index.js +2 -2
  182. package/dist/web/televet/call/index.cjs +1 -1
  183. package/dist/web/televet/call/index.js +1 -1
  184. package/dist/web/texting/index.d.cts +5 -5
  185. package/dist/web/texting/index.d.ts +5 -5
  186. package/package.json +17 -26
@@ -1,6 +1,6 @@
1
1
  /*! @everfur/sdk. Copyright (c) 2026 Strand Health Inc. dba Everfur. All rights reserved. Use is subject to the Everfur SDK License: https://docs.everfur.com/license */
2
2
  "use client";
3
- "use strict";var react=require("react"),zod=require("zod"),jsxRuntime=require("react/jsx-runtime");var RECORD_SHARE_AUDIENCES=/* @__PURE__ */Object.freeze(["vet","groomer","boarding"]),https=/* @__PURE__ */zod.z.string().min(1).refine(value=>value.startsWith("https://")),str=/* @__PURE__ */zod.z.string().nullish(),audienceField=/* @__PURE__ */zod.z.unknown().optional(),linkSchema=/* @__PURE__ */zod.z.object({share_id:/* @__PURE__ */zod.z.string().min(1),share_url:/* @__PURE__ */zod.z.string().min(1),expires_at:str,audience:audienceField}),listSchema=/* @__PURE__ */zod.z.object({shares:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({share_id:/* @__PURE__ */zod.z.string().min(1),expires_at:str,created_at:str,view_count:/* @__PURE__ */zod.z.number().int().nonnegative().nullish(),last_viewed_at:str,audience:audienceField})).optional()}),pdfSchema=/* @__PURE__ */zod.z.object({download_url:https,expires_at:str}),emailSchema=/* @__PURE__ */zod.z.object({share_id:/* @__PURE__ */zod.z.string().min(1),expires_at:str,audience:audienceField}),scopeSchema=/* @__PURE__ */zod.z.object({audience:/* @__PURE__ */zod.z.string().min(1),sections:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.string()),entity_types:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.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=zod.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);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__ */zod.z.object({features:/* @__PURE__ */zod.z.record(/* @__PURE__ */zod.z.boolean()),upload_content_types:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.string()).nullish(),share_audiences:/* @__PURE__ */zod.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__ */
3
+ "use strict";var react=require("react"),zod=require("zod"),jsxRuntime=require("react/jsx-runtime");var ABSOLUTE_URL=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/;function parseUrl(raw,base2){let Url=globalThis.URL;if(typeof Url=="function"){let url;try{url=base2===void 0?new Url(raw):new Url(raw,base2)}catch{return null}try{if(url.protocol)return url}catch{}}return parseByPattern(raw,base2)}var WHOLE_URL=/^([a-z][a-z0-9+.-]*):\/\/(?:([^:@/?#]*)(?::([^@/?#]*))?@)?(\[[0-9a-f:.]+\]|[\w.~-]+)(?::(\d*))?(\/[^?#]*)?(\?[^#]*)?(#.*)?$/i,REWRITTEN_BY_STANDARD_PARSER=/[\s\u0000-\u001f\u007f\\]/,DEFAULT_PORTS={"http:":"80","https:":"443"};function parseByPattern(raw,base2){let input=raw.trim();if(base2!==void 0&&!ABSOLUTE_URL.test(input)){let parsedBase=parseByPattern(base2);if(parsedBase===null||!input.startsWith("/")||input.startsWith("//"))return null;input=parsedBase.origin+input}let match=REWRITTEN_BY_STANDARD_PARSER.test(input)?null:WHOLE_URL.exec(input);if(match===null)return null;let[,scheme="",username="",password="",host="",portText="",path="",query="",fragment=""]=match,protocol=`${scheme.toLowerCase()}:`,portNumber=Number(portText);if(portNumber>65535)return null;let port=portText===""||String(portNumber)===DEFAULT_PORTS[protocol]?"":String(portNumber),special=DEFAULT_PORTS[protocol]!==void 0,hostPort=host.toLowerCase()+(port&&`:${port}`),pathname=path||(special?"/":""),credentials=username||password?`${username}${password&&`:${password}`}@`:"";return{href:`${protocol}//${credentials}${hostPort}${pathname}${query}${fragment}`,protocol:protocol,username:username,password:password,hostname:host.toLowerCase(),port:port,origin:special?`${protocol}//${hostPort}`:"null",pathname:pathname,search:query==="?"?"":query,hash:fragment==="#"?"":fragment}}var RECORD_SHARE_AUDIENCES=/* @__PURE__ */Object.freeze(["vet","groomer","boarding"]),https=/* @__PURE__ */zod.z.string().min(1).refine(value=>value.startsWith("https://")),str=/* @__PURE__ */zod.z.string().nullish(),audienceField=/* @__PURE__ */zod.z.unknown().optional(),linkSchema=/* @__PURE__ */zod.z.object({share_id:/* @__PURE__ */zod.z.string().min(1),share_url:/* @__PURE__ */zod.z.string().min(1),expires_at:str,audience:audienceField}),listSchema=/* @__PURE__ */zod.z.object({shares:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({share_id:/* @__PURE__ */zod.z.string().min(1),expires_at:str,created_at:str,view_count:/* @__PURE__ */zod.z.number().int().nonnegative().nullish(),last_viewed_at:str,audience:audienceField})).optional()}),pdfSchema=/* @__PURE__ */zod.z.object({download_url:https,expires_at:str}),emailSchema=/* @__PURE__ */zod.z.object({share_id:/* @__PURE__ */zod.z.string().min(1),expires_at:str,audience:audienceField}),scopeSchema=/* @__PURE__ */zod.z.object({audience:/* @__PURE__ */zod.z.string().min(1),sections:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.string()),entity_types:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.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=zod.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;let absolute=/^[a-z][a-z0-9+.-]*:/i.test(trimmed)?parseUrl(trimmed):apiBaseUrl!==void 0?parseUrl(trimmed,apiBaseUrl):null;return absolute===null||absolute.protocol!=="https:"?null:absolute.href}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);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__ */zod.z.object({features:/* @__PURE__ */zod.z.record(/* @__PURE__ */zod.z.boolean()),upload_content_types:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.string()).nullish(),share_audiences:/* @__PURE__ */zod.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__ */
4
4
  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 HostRenderBoundary=class extends react.Component{constructor(){super(...arguments);this.state={failed:false,key:this.props.resetKey}}static getDerivedStateFromError(){return{failed:true}}static getDerivedStateFromProps(props,state){return Object.is(props.resetKey,state.key)?null:{failed:false,key:props.resetKey}}render(){return this.state.failed?this.props.fallback:this.props.children}};function RenderHost({render:render}){return render()}function HostRender({render:render,fallback:fallback,resetKey:resetKey}){return react.createElement(HostRenderBoundary,{fallback:fallback,resetKey:resetKey,children:react.createElement(RenderHost,{render:render})})}var NAMELESS_PET="your pet";var capital=text2=>text2.charAt(0).toUpperCase()+text2.slice(1);function pronounForSex(sex){let s=sex?.trim().toLowerCase();return s==="female"?"her":s==="male"?"his":null}function sheetPetWords(name,pronoun){let trimmed=name.trim(),shown=trimmed.length>0?trimmed:NAMELESS_PET,Name=capital(shown);return pronoun==="her"?{name:shown,Name:Name,poss:"her",Poss:"Her",subj:"she"}:pronoun==="his"?{name:shown,Name:Name,poss:"his",Poss:"His",subj:"he"}:{name:shown,Name:Name,poss:`${shown}'s`,Poss:`${Name}'s`,subj:shown}}var SHEET_COPY=/* @__PURE__ */Object.freeze({vitalsFrom:(w,visit,date2)=>`Vitals from ${w.poss} ${visit}, ${date2}`,vitalsSource:w=>`Where ${w.name}'s vitals come from`,temperature:"Temperature",heartRate:"Heart rate",breathing:"Breathing",upcomingCare:"Upcoming care",overdueBy:date2=>`Overdue · due by ${date2}`,dueSoon:"Due soon",later:"Later",noDate:"No date",dueIn:(date2,days)=>`Due ${date2} · in ${days} ${days===1?"day":"days"}`,dueToday:date2=>`Due ${date2} · today`,overdueByDays:(date2,days)=>`Overdue by ${days} ${days===1?"day":"days"} · due ${date2}`,recordsHistory:"Records & history",labs:"Labs & bloodwork",results:"results",screenings:"Screenings",screeningsClear:"All clear",screeningsToReview:n=>`${n} to review`,noScreenings:"No screenings yet",visits:"Visits & records",timeline:"Timeline",events:n=>`${n} ${n===1?"event":"events"}`,weight:"Weight",vetVisits:n=>`${n} vet ${n===1?"visit":"visits"}`,history:"History",theirClinic:w=>`${w.Poss} clinic`,bloodPanel:"Blood panel",aboveRange:"above range",belowRange:"below range",othersInRange:"Other values in range.",addRecords:w=>`Add ${w.name}'s records`,moreThanOneClinic:"Records can come from more than one clinic over a lifetime.",visitsCount:n=>`${n} ${n===1?"visit":"visits"}`,panelsCount:n=>`${n} blood ${n===1?"panel":"panels"}`,requestFromClinic:"Request from a clinic",uploadDocument:"Upload a document",onFileNow:"On file now",firstRecord:w=>`Add ${w.name}'s first record`,firstLead:w=>`Records can come from more than one clinic over a lifetime. Start with the one ${w.subj} sees most, and this page fills in from there.`,requestFromTheirClinic:w=>`Request from ${w.poss} clinic`,requestDetail:"We send a secure request and read every page they send back.",uploadDetail:"A PDF, or a photo of a paper record.",findClinic:w=>`Find ${w.name}'s clinic`,chooseFile:"Choose a file",sayBeats:/* @__PURE__ */Object.freeze(["Hmmm","I wonder","what I may be","hiding"]),sayStill:"I wonder what I may be hiding",sample:"Sample",peekLead:w=>`A sneak peek at how ${w.name}'s records will read. Every number links back to the page it came from.`,sampleNote:w=>`Sample data until ${w.poss} records arrive.`,onTheWay:w=>`${w.Name}'s records are on the way`,clinicsTake:"Clinics usually take 2 to 5 days.",anotherClinic:"Another clinic",anotherClinicDetail:"Seen more than one vet? We ask each one.",noDueDate:"No due date on file",noLabs:w=>`No lab results on file for ${w.name} yet. They show up here when a record includes a blood or urine panel.`,noVisits:w=>`No visits in ${w.name}'s records yet. They show up here when a record includes one.`,oneReading:"One reading so far: we'll plot a trend as more come in.",takingNow:"Taking now",noCurrentMeds:"No current medications on file.",noVetTitle:w=>`When ${w.name} has a vet, start here.`,requestedFrom:clinic=>`Requested from ${clinic}. Clinics usually take 2 to 5 days.`,onTheWayFrom:(w,clinic)=>`${w.Name}'s records from ${clinic} are on the way.`,readingUpload:"We're reading the document you uploaded.",seeWhereItStands:"See where it stands",topRisk:w=>`${w.Poss} top risk`,seePlan:w=>`See ${w.poss} Health Plan`,panelOn:date2=>`${date2} blood panel`,latestReading:"Latest reading",rangeLine:(low,high,unit)=>`range ${low} to ${high}${unit?` ${unit}`:""}`,noRange:"No range on the report",above:"Above",inRange:"In range",below:"Below",high:"High",belowRangePill:"Below range",changeUp:(delta,unit)=>`Up ${delta}${unit?` ${unit}`:""}`,changeDown:(delta,unit)=>`Down ${delta}${unit?` ${unit}`:""}`,changeSince:(date2,pct)=>` since ${date2}, about ${pct}%.`,whatIs:name=>`What ${name} is`,otherValues:panel=>`Other ${panel} values`,panelTitle:(panel,date2)=>`${panel} · ${date2}`,askAboutThis:"Ask about this"});function sheetSampleKind(species){let s=species?.trim().toLowerCase()??"";return/^(dog|canine|k9|puppy)\b/.test(s)?"dog":/^(cat|feline|kitten)\b/.test(s)?"cat":"other"}var RECORDS_TERMINAL=/* @__PURE__ */Object.freeze(["published","failed","revoked"]);function isTerminalStatus(status){return RECORDS_TERMINAL.includes(status)}var DAY_MS=864e5,DUE_SOON_DAYS=30,LB_PER_KG=2.20462,MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dayMs(value){if(value==null||value.length===0)return null;let ms=Date.parse(/^\d{4}-\d{2}-\d{2}$/.test(value)?`${value}T00:00:00Z`:value);return Number.isNaN(ms)?null:ms}function shortDate(ms){let d=new Date(ms);return`${MONTHS[d.getUTCMonth()]??""} ${d.getUTCDate()}`}function longDate(ms){return`${shortDate(ms)}, ${new Date(ms).getUTCFullYear()}`}function monthTick(ms){let d=new Date(ms);return`${d.getUTCMonth()+1}/${String(d.getUTCFullYear()%100).padStart(2,"0")}`}var dayKey=ms=>new Date(ms).toISOString().slice(0,10);function num(value){return String(Math.round(value*100)/100)}var lb=kg=>Math.round(kg*LB_PER_KG*10)/10;function midSentence(text2){let t=text2.trim();return t.length<2||t[1]===t[1]?.toUpperCase()?t:t.charAt(0).toLowerCase()+t.slice(1)}function vitalKind(text2){return/temp/i.test(text2)?"temp":/heart|pulse/i.test(text2)?"heart":/resp|breath/i.test(text2)?"breath":null}var VITAL_ORDER=["temp","heart","breath"],VITAL_LABEL={temp:SHEET_COPY.temperature,heart:SHEET_COPY.heartRate,breath:SHEET_COPY.breathing};function sheetVitals(record){if(record===null||record.withheld)return{vitals:[],observedMs:null};let best=/* @__PURE__ */new Map;for(let e of record.entities){if(e.category!=="vital"||e.value===null||e.value.trim().length===0)continue;let kind=vitalKind(`${e.canonicalKey??""} ${e.key} ${e.label}`);if(kind===null)continue;let ms=dayMs(e.observedAt)??0,prev=best.get(kind);(prev===void 0||ms>prev.ms)&&best.set(kind,{value:e.value.trim(),unit:e.unit,ms:ms})}let vitals=VITAL_ORDER.flatMap(kind=>{let v=best.get(kind);return v===void 0?[]:[{kind:kind,value:v.value,unit:v.unit,label:VITAL_LABEL[kind]}]}),observed=[...best.values()].map(v=>v.ms).filter(ms=>ms>0);return{vitals:vitals,observedMs:observed.length>0?Math.max(...observed):null}}function encounterOn(encounters,ms){let key=dayKey(ms);return encounters.find(e=>{let at=dayMs(e.date);return at!==null&&dayKey(at)===key})??null}function dueIcon(title){return/vaccin|rabies|dhpp|booster|bordetella|lepto|lyme|parvo|distemper/i.test(title)?"efi-shield":/\b(alt|alp|lab|labs|blood|panel|bloodwork|urinalysis|chemistry|cbc)\b/i.test(title)?"efi-flask-sm":"efi-calendar"}function sheetDue(items,nowMs){return items.map(item=>{let due=dayMs(item.dueAt),icon=dueIcon(item.title);if(due!==null&&due<nowMs-DAY_MS+1)return{item:item,title:item.title,when:SHEET_COPY.overdueBy(shortDate(due)),tone:"alert",pill:null,icon:icon};let when=item.detail??(due===null?SHEET_COPY.noDueDate:longDate(due));if(due===null)return{item:item,title:item.title,when:when,tone:"none",pill:null,icon:icon};let soon=due-nowMs<=DUE_SOON_DAYS*DAY_MS;return{item:item,title:item.title,when:when,tone:soon?"watch":"later",pill:soon?SHEET_COPY.dueSoon:SHEET_COPY.later,icon:icon}})}function pointFlag(status){return status==null?null:/above|high/i.test(status)?"above":/below|low/i.test(status)?"below":/in_range|normal|in range/i.test(status)?"in":null}var kgShown=kg=>Math.round(kg*10)/10;function weightText(kg,unit){let pounds=`${num(lb(kg))} lb`,kilos=`${num(kgShown(kg))} kg`;return unit==="kg"?{main:kilos,other:pounds}:{main:pounds,other:kilos}}function weightModel(timeline,unit){if(timeline===null||timeline.withheld)return null;let readings=timeline.weights.flatMap(w=>{let ms=dayMs(w.observedOn);return ms===null||w.weightKg===null?[]:[{ms:ms,kg:w.weightKg}]}).sort((a,b)=>a.ms-b.ms),last=readings[readings.length-1];if(last===void 0)return null;let lbs=readings.map(r=>lb(r.kg)),lo=Math.min(...lbs),hi=Math.max(...lbs),t0=readings[0]?.ms??last.ms,span=last.ms-t0,points=readings.map((r,i)=>({x:span>0?Math.round((3.55+93.45*(r.ms-t0)/span)*100)/100:50,y:hi>lo?Math.round((75-50*((lbs[i]??lo)-lo)/(hi-lo))*10)/10:50,lb:lbs[i]??0,value:unit==="kg"?kgShown(r.kg):lbs[i]??0,ms:r.ms})),tickPoints=points.length<=4?points:[points[0],points[points.length-1]].filter(p=>p!==void 0),text2=weightText(last.kg,unit);return{latest:text2.main,sub:`${text2.other} · ${shortDate(last.ms)}`,single:points.length===1,points:points,ticks:tickPoints.map(p=>({x:p.x,label:monthTick(p.ms)})),vetCount:points.length}}function labDays(markers){let days=/* @__PURE__ */new Map;if(markers===null||markers.withheld)return days;for(let marker of markers.markers)for(let point of marker.points){let ms=dayMs(point.at);if(ms===null)continue;let key=dayKey(ms),day=days.get(key)??{ms:ms,flagged:[],total:0,inRange:0,clinics:/* @__PURE__ */new Set};day.total+=1;let flag=pointFlag(point.status);flag==="in"&&(day.inRange+=1),(flag==="above"||flag==="below")&&day.flagged.push({marker:marker,point:point,ms:ms,flag:flag}),point.sourceClinic&&day.clinics.add(point.sourceClinic),days.set(key,day)}return days}function historyModel(inputs,days){let items=[];for(let[key,day]of days)day.flagged.forEach((f,i)=>{let value=f.point.value===null?f.point.qualitativeResult??"":num(f.point.value),unit=f.point.unit??f.marker.unit,others=day.flagged.length===1&&day.inRange===day.total-1&&day.total>1;items.push({key:`lab-${key}-${f.marker.markerId}-${i}`,ms:day.ms,date:`${shortDate(day.ms)} · ${SHEET_COPY.bloodPanel}`,title:`${f.marker.name} ${value}${unit?` ${unit}`:""}, ${f.flag==="above"?SHEET_COPY.aboveRange:SHEET_COPY.belowRange}`,text:others?SHEET_COPY.othersInRange:null,alert:true,markerId:f.marker.markerId,order:0})});let encounters=inputs.depth?.withheld===false?inputs.depth.encounters:[],visits=inputs.timeline?.withheld===false?inputs.timeline.visits:[],usedVisits=/* @__PURE__ */new Set;encounters.forEach((e,i)=>{let ms=dayMs(e.date);if(ms===null)return;let visit=visits.find(v=>e.docId!==null&&v.docId===e.docId||dayMs(v.visitDate)!==null&&dayKey(dayMs(v.visitDate)??0)===dayKey(ms))??null;visit!==null&&usedVisits.add(visit.visitId);let summary=visit?.summary?.trim()||null,type=e.type?.trim()||null,title=summary??type;title!==null&&items.push({key:`enc-${e.encounterId}-${i}`,ms:ms,date:summary!==null&&type!==null?`${shortDate(ms)} · ${type}`:shortDate(ms),title:title,text:null,alert:false,markerId:null,order:1})});for(let v of visits){let ms=dayMs(v.visitDate),summary=v.summary?.trim()||null;usedVisits.has(v.visitId)||ms===null||summary===null||items.push({key:`visit-${v.visitId}`,ms:ms,date:shortDate(ms),title:summary,text:null,alert:false,markerId:null,order:1})}items.sort((a,b)=>b.ms-a.ms||a.order-b.order);let years=[];for(let entry of items){let item={key:entry.key,ms:entry.ms,date:entry.date,title:entry.title,text:entry.text,alert:entry.alert,markerId:entry.markerId},year=String(new Date(item.ms).getUTCFullYear()),last=years[years.length-1];last!==void 0&&last.year===year?last.items.push(item):years.push({year:year,items:[item]})}return{years:years,count:items.length}}function sourcesModel(inputs,days){let encounters=inputs.depth?.withheld===false?inputs.depth.encounters:[],clinicLabel=name=>name?.trim()||SHEET_COPY.theirClinic(inputs.words),visits=/* @__PURE__ */new Map;for(let e of encounters)visits.set(clinicLabel(e.clinicName),(visits.get(clinicLabel(e.clinicName))??0)+1);let panels=/* @__PURE__ */new Map,onlyClinic=visits.size===1?[...visits.keys()][0]:void 0;for(let day of days.values()){let names=day.clinics.size>0?[...day.clinics].map(clinicLabel):[onlyClinic??SHEET_COPY.theirClinic(inputs.words)];for(let n of names)panels.set(n,(panels.get(n)??0)+1)}return[.../* @__PURE__ */new Set([...visits.keys(),...panels.keys()])].map(label=>({label:label,detail:[(visits.get(label)??0)>0?SHEET_COPY.visitsCount(visits.get(label)??0):null,(panels.get(label)??0)>0?SHEET_COPY.panelsCount(panels.get(label)??0):null].filter(p=>p!==null).join(" · ")}))}var PULL_PCT={requested:15,awaiting_clinic:35,awaiting_upload:35,received:60,parsing:75,in_review:90};function sheetPull(requests){let open=requests.filter(r=>!isTerminalStatus(r.status)).sort((a,b)=>(dayMs(b.updatedAt)??0)-(dayMs(a.updatedAt)??0))[0];if(open===void 0)return null;let step=(open.waitingExpectation?.trim()||open.statusLabel).trim();return step.length===0?null:{step:step,pct:PULL_PCT[open.status]??15}}var newestFirst=requests=>[...requests].sort((a,b)=>(dayMs(b.updatedAt)??0)-(dayMs(a.updatedAt)??0)),sentence=label=>/[.!?]$/.test(label)?label:`${label}.`;function sheetOnTheWay(words2,requests){let active=newestFirst(requests).filter(r=>!isTerminalStatus(r.status)),waiting=active.filter(r=>r.status==="awaiting_upload"),moving=active.filter(r=>r.status!=="awaiting_upload"),lines=[],clinics=/* @__PURE__ */new Map;for(let r of moving){let clinic=r.clinicName?.trim()??"";r.source!=="clinic_request"||clinic===""||clinics.has(clinic)||clinics.set(clinic,r)}for(let[clinic,newest]of clinics)lines.push({key:`clinic-${clinic}`,text:SHEET_COPY.onTheWayFrom(words2,clinic),requestId:newest.id});let upload=moving.find(r=>r.source==="owner_provided");upload!==void 0&&lines.push({key:"upload",text:SHEET_COPY.readingUpload,requestId:upload.id});let wait=waiting[0],label=wait?.statusLabel.trim()??"";return wait!==void 0&&label!==""&&lines.push({key:"awaiting-upload",text:sentence(label),requestId:wait.id}),lines}function sheetRequestedClinic(requests){return newestFirst(requests).find(r=>!isTerminalStatus(r.status)&&r.status!=="awaiting_upload"&&r.source==="clinic_request"&&(r.clinicName?.trim()??"")!=="")?.clinicName?.trim()??null}function sheetMedications(timeline){if(timeline===null||timeline.withheld)return null;let named=timeline.medications.filter(m=>(m.drugName?.trim()??"")!=="");return named.length===0?null:{current:named.filter(m=>(m.stoppedOn?.trim()??"")==="").map(m=>{let parts=[m.dose,m.frequency,m.route].map(p=>p?.trim()??"").filter(p=>p!==""),detail=m.sig?.trim()||(parts.length>0?parts.join(" · "):null);return{key:m.medicationId,name:(m.drugName??"").trim(),detail:detail}})}}function sheetFailedRequest(requests){if(requests.some(r=>!isTerminalStatus(r.status)))return null;let newest=[...requests].sort((a,b)=>(dayMs(b.updatedAt)??0)-(dayMs(a.updatedAt)??0))[0];if(newest===void 0||newest.status!=="failed")return null;let words2=newest.statusLabel.trim();return words2.length>0?words2:null}function sheetHasRecord(record,markers,depth){return record!==null&&!record.withheld&&!record.isEmpty||markers!==null&&!markers.withheld&&markers.markers.length>0?true:depth!==null&&!depth.withheld&&depth.encounters.length>0}function sheetAge(ageYears){if(typeof ageYears!="number"||!Number.isFinite(ageYears)||ageYears<=0)return null;let totalMonths=Math.floor(ageYears*12+1e-9),years=Math.floor(totalMonths/12),months=totalMonths%12;return years<=0?`${months}M`:months>0?`${years}Y ${months}M`:`${years}Y`}function buildRecordsSheetModel(inputs){let{record:record,depth:depth,markers:markers,nowMs:nowMs}=inputs,has=sheetHasRecord(record,markers,depth),pull=sheetPull(inputs.requests),days=labDays(markers),{vitals:vitals,observedMs:observedMs}=sheetVitals(record),encounters=depth?.withheld===false?depth.encounters:[],visitAt=observedMs===null?null:encounterOn(encounters,observedMs),vitalsFrom=observedMs!==null&&visitAt?.type?SHEET_COPY.vitalsFrom(inputs.words,midSentence(visitAt.type),shortDate(observedMs)):null,unit=inputs.weightUnit??"lb",weight=weightModel(inputs.timeline,unit),latestKg=weight!==null?null:inputs.petWeightKg,meta=[inputs.breed?.trim()||null,sheetAge(inputs.petAgeYears),weight?.latest??(latestKg!==null?weightText(latestKg,unit).main:null)].filter(p=>p!==null),timelineVisits=inputs.timeline?.withheld===false?inputs.timeline.visits.length:0,history=historyModel(inputs,days),encounterDays=encounters.map(e=>dayMs(e.date)).filter(ms=>ms!==null),markerList=markers?.withheld===false?markers.markers:[],featured=markers?.featuredMarkerId??markerList.find(m=>pointFlag(m.latest?.status)==="above"||pointFlag(m.latest?.status)==="below")?.markerId??markerList[0]?.markerId??null;return{state:has?"full":pull!==null?"onTheWay":"none",meta:meta.length>0?meta.join(" · "):null,vitals:vitals,vitalsFrom:vitalsFrom,due:record!==null&&!record.withheld?sheetDue(record.forwardLooking,nowMs):[],labsCount:markers?.withheld===false?markers.summary?.totalMarkers??markers.markers.length:0,featuredMarkerId:featured,latestVisit:encounterDays.length>0?longDate(Math.max(...encounterDays)):null,weight:weight,history:history.years,historyCount:history.count,sources:sourcesModel(inputs,days),pull:pull,hasVisits:encounters.length>0||timelineVisits>0,medications:sheetMedications(inputs.timeline),failedRequest:pull===null?sheetFailedRequest(inputs.requests):null,inFlight:sheetOnTheWay(inputs.words,inputs.requests),requestedClinic:sheetRequestedClinic(inputs.requests)}}function lastPoint(marker){let dated=marker.points.filter(p=>p.value!==null);return dated[dated.length-1]??marker.points[marker.points.length-1]??null}function rangeOf(point){return point===null||point.refLow===null||point.refHigh===null||!Number.isFinite(point.refLow)||!Number.isFinite(point.refHigh)||point.refHigh<=point.refLow?null:{low:point.refLow,high:point.refHigh}}function markerRow(marker,point=lastPoint(marker)){let range=rangeOf(point),unit=point?.unit??marker.unit,value=point?.value??null;return{markerId:marker.markerId,name:marker.name,value:value===null?point?.qualitativeResult??"":num(value),unit:unit,range:range===null?null:`${num(range.low)} to ${num(range.high)}${unit?` ${unit}`:""}`,at:range===null||value===null?null:Math.round(Math.min(100,Math.max(0,20+60*(value-range.low)/(range.high-range.low)))),flag:pointFlag(point?.status??marker.latest?.status??null)}}function flagPill(flag){return flag==="above"?SHEET_COPY.high:flag==="below"?SHEET_COPY.belowRangePill:flag==="in"?SHEET_COPY.inRange:null}var panelWord=panel=>{let name=panel.replace(/\s+panel$/i,"").trim()||panel;return name.length>1&&name[1]===name[1]?.toUpperCase()?name:name.charAt(0).toLowerCase()+name.slice(1)};function buildSheetLabModel(markers,markerId){let marker=markers.markers.find(m=>m.markerId===markerId);if(marker===void 0)return null;let last=lastPoint(marker),row=markerRow(marker,last),lastMs=dayMs(last?.at??marker.latest?.at??null),range=rangeOf(last),latestSub=[lastMs===null?null:shortDate(lastMs),range===null?SHEET_COPY.noRange:SHEET_COPY.rangeLine(num(range.low),num(range.high),row.unit)].filter(p=>p!==null).join(" · "),numeric=marker.points.flatMap(p=>{let ms=dayMs(p.at);return p.value===null||ms===null?[]:[{p:p,ms:ms,v:p.value}]}),chart=[];if(numeric.length>0){let values=numeric.map(n=>n.v),lo=range?.low??Math.min(...values),hi=range?.high??Math.max(...values);chart=numeric.map((n,i)=>({x:numeric.length===1?50:Math.round((18+64*i/(numeric.length-1))*100)/100,y:hi>lo?Math.min(98,Math.max(2,Math.round((75-50*(n.v-lo)/(hi-lo))*10)/10)):50,label:num(n.v),out:pointFlag(n.p.status)==="above"||pointFlag(n.p.status)==="below",tick:shortDate(n.ms)}))}let first=numeric[0],final=numeric[numeric.length-1],change=null;if(first!==void 0&&final!==void 0&&numeric.length>=2&&final.v!==first.v){let delta=Math.abs(final.v-first.v),pct=first.v!==0?Math.round(delta/Math.abs(first.v)*100):null,lead2=final.v>first.v?SHEET_COPY.changeUp(num(delta),row.unit):SHEET_COPY.changeDown(num(delta),row.unit);change=pct===null?null:{lead:lead2,rest:SHEET_COPY.changeSince(shortDate(first.ms),pct)}}let groups=[],lastKey=lastMs===null?null:dayKey(lastMs),others=markers.markers.filter(m=>m.markerId!==marker.markerId),samePanel=others.filter(m=>m.panel!==null&&m.panel===marker.panel);if(samePanel.length>0&&marker.panel!==null){let rows=samePanel.map(m=>markerRow(m));groups.push({title:SHEET_COPY.otherValues(panelWord(marker.panel)),allInRange:rows.every(r=>r.flag==="in"),rows:rows})}if(lastKey!==null&&lastMs!==null){let byPanel=/* @__PURE__ */new Map;for(let m of others){if(m.panel===null||m.panel===marker.panel)continue;let p=[...m.points].reverse().find(pt=>{let ms=dayMs(pt.at);return ms!==null&&dayKey(ms)===lastKey});p!==void 0&&byPanel.set(m.panel,[...byPanel.get(m.panel)??[],markerRow(m,p)])}for(let[panel,rows]of byPanel)groups.push({title:SHEET_COPY.panelTitle(panel,shortDate(lastMs)),allInRange:rows.every(r=>r.flag==="in"),rows:rows})}return{markerId:marker.markerId,name:marker.name,meta:lastMs===null?null:SHEET_COPY.panelOn(longDate(lastMs)),pill:flagPill(row.flag),flagged:row.flag==="above"||row.flag==="below",latest:`${row.value}${row.unit?` ${row.unit}`:""}`,latestSub:latestSub,hasRange:range!==null,chart:chart,change:change,meaning:(marker.meaning??"").split(/\n\s*\n/).map(p=>p.trim()).filter(p=>p.length>0),groups:groups}}var HEALTH_TAB_SHARED_COPY=/* @__PURE__ */Object.freeze({vitalsFromLabel:pet=>`Where ${pet}’s vitals come from`,vitalsFrom:(vet,date2)=>`From ${vet}’s exam, ${date2}. `,examNotes:"Exam notes",onTheWayFrom:(pet,clinic)=>`${pet}’s records from ${clinic} are on the way.`,readingUpload:"We’re reading the document you uploaded.",uploadFormatHint:"Upload PDF records you already have, up to 25 MB each. You can pick several at once. We'll read them and add the results to your records.",uploadLimitHint:"PDFs up to 25 MB each. You can pick several at once.",results:n=>n===1?"result":"results",noScreenings:"No screenings yet",screeningsToReview:n=>`${n} to review`,screeningsClear:"All clear",noVisits:"No visits yet",oneReading:"One reading so far: we’ll plot a trend as more come in.",uploadedDocument:"Uploaded document"}),MONTHS_SHORT=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function healthTabDate(ms){let d=new Date(ms);return`${MONTHS_SHORT[d.getUTCMonth()]??""} ${d.getUTCDate()}, ${d.getUTCFullYear()}`}function healthTabScreenings(markers){let W=HEALTH_TAB_SHARED_COPY,screenings=markers.filter(m=>(m.latest?.qualitativeResult??"").trim().length>0);if(screenings.length===0)return null;let flagged=screenings.filter(m=>screeningIsFlagged(m.latest?.status??null,m.latest?.qualitativeResult??"")),first=flagged[0]??screenings[0];return flagged.length>0?{label:W.screeningsToReview(flagged.length),flagged:true,markerId:first.markerId}:{label:W.screeningsClear,flagged:false,markerId:first.markerId}}function screeningIsFlagged(status,resultText){return status==="in_range"?false:status==="above"||status==="below"?true:/negative|not detected|clear|none/i.test(resultText)?false:/positive|detected|present|reactive/i.test(resultText)}function documentClassLabel(value){let spaced=value.replace(/_/g," ").trim();return spaced.length>0?spaced.charAt(0).toUpperCase()+spaced.slice(1):value}function healthTabSources(record,depth){if(record===null||record.withheld)return[];let clinics=/* @__PURE__ */new Map;if(depth!==null&&!depth.withheld)for(let e of depth.encounters){let name=e.clinicName?.trim();e.docId!==null&&name&&clinics.set(e.docId,name)}return Object.values(record.documents).sort((a,b)=>(dayMs(b.receivedAt)??0)-(dayMs(a.receivedAt)??0)).slice(0,4).reverse().map(doc=>{let received=dayMs(doc.receivedAt);return{key:doc.docId,name:clinics.get(doc.docId)??HEALTH_TAB_SHARED_COPY.uploadedDocument,meta:[doc.documentClass?documentClassLabel(doc.documentClass):null,received!==null?healthTabDate(received):null].filter(p=>p!==null).join(" · ")}})}var MONTHS_LONG=["January","February","March","April","May","June","July","August","September","October","November","December"];function examDate(ms){let d=new Date(ms);return`${MONTHS_LONG[d.getUTCMonth()]??""} ${d.getUTCDate()}`}function vitalsExam(depth,observedMs){if(observedMs===null||depth===null||depth.withheld)return null;let day=new Date(observedMs).toISOString().slice(0,10),encounter=depth.encounters.find(e=>{let ms2=dayMs(e.date);return ms2!==null&&new Date(ms2).toISOString().slice(0,10)===day}),vet=encounter?.veterinarian?.trim(),ms=dayMs(encounter?.date);return vet&&ms!==null?{vet:vet,date:examDate(ms)}:null}function healthTabOnTheWay(petName,requests){let W=HEALTH_TAB_SHARED_COPY;return sheetOnTheWay(sheetPetWords(petName,null),requests).map(line=>line.key==="upload"?{...line,text:W.readingUpload}:line.key.startsWith("clinic-")?{...line,text:W.onTheWayFrom(petName,line.key.slice(7))}:line)}var CONTRACT_RETRYABILITY=/* @__PURE__ */Object.freeze([
5
5
  /* @__PURE__ */Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),
6
6
  /* @__PURE__ */Object.freeze({wireCode:"AuthorizationException",envelope:"http_envelope",httpStatus:401,retryable:false}),
@@ -97,7 +97,7 @@ return Object.freeze({features:/* @__PURE__ */Object.freeze({...parsed.data.feat
97
97
  /* @__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 ok(value,warning){/* @__PURE__ */
98
98
  return Object.freeze({ok:true,value:value})}function err(error){/* @__PURE__ */
99
99
  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)}};function errorFrame(fields){/* @__PURE__ */
100
- 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}var SDK_VERSION="0.16.0";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,base2=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({...base2,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(
100
+ 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}var SDK_VERSION="0.16.1";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,base2=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({...base2,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(
101
101
  /* @__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__ */
102
102
  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 at=findResetsAt(error.raw);if(at!==null){let delta=at-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 isNotFoundError(error){return error!=null&&(error.httpStatus===404||error.category==="notFound")}function plainNotFound(error){return error.code!=="conversationNotFound"?error:makeEverfurError("resourceNotFound",{retryable:false,...error.httpStatus===void 0?{}:{httpStatus:error.httpStatus},...error.requestId===void 0?{}:{requestId:error.requestId},...error.reasonCode===void 0?{}:{reasonCode:error.reasonCode},...error.wireMessage===void 0?{}:{wireMessage:error.wireMessage},...error.raw===void 0?{}:{raw:error.raw}})}function plainResult(res){return res.ok?res:err(plainNotFound(res.error))}function withPlainNotFound(funnel){return{send:async(...args)=>plainResult(await funnel.send(...args)),authorize:req=>funnel.authorize(req),stream:(call,req,signal)=>funnel.stream(call,req,signal)}}var REF_MAX=128;var ICONS=/* @__PURE__ */new Set(["shield","arrow","check","star","truck","refresh","card","alert","x","chat","repeat","calendar","flame","box","cart","minus","plus","chev","pulse","file","kit","dna","heart","bottle","harness","ramp"]),TONES=/* @__PURE__ */new Set(["y","c","g","r"]),TRACK_STATES=/* @__PURE__ */new Set(["done","now","next"]),obj=value=>value!==null&&typeof value=="object"&&!Array.isArray(value)?value:null,str2=(value,max=1e3)=>typeof value=="string"&&value.trim().length>0&&value.length<=max?value.trim():null,kindOf=value=>typeof value=="string"&&/^[A-Za-z0-9_-]{1,40}$/.test(value)?value:null,iconOf=value=>typeof value=="string"&&ICONS.has(value)?value:null;function imageOf(value){let s=str2(value,2048);return s===null||/\s/.test(s)?null:/^https:\/\/[^/]/i.test(s)||/^\/(?![/\\])/.test(s)?s:null}var idOf=value=>typeof value=="number"&&Number.isInteger(value)?String(value):str2(value,REF_MAX);function weightOf(value){return typeof value=="number"&&Number.isFinite(value)&&value>0?value:null}function clean(fields){/* @__PURE__ */
103
103
  return Object.freeze(Object.fromEntries(Object.entries(fields).filter(([,v])=>v!=null)))}function listOf(value,each,max=20){if(!Array.isArray(value))return null;let out=[];for(let row of value){if(out.length>=max)break;let mapped=each(row);mapped!==null&&out.push(mapped)}return out.length===0?null:/* @__PURE__ */Object.freeze(out)}var words=(value,max=12,len=300)=>listOf(value,v=>str2(v,len),max);function focusOf(value){let o=obj(value),kicker=str2(o?.kicker,120),title=str2(o?.title,300);if(o===null||kicker===null||title===null)return null;let risk=obj(o.risk),odds=obj(o.odds),quote=obj(o.quote),jump=obj(o.jump);return clean({kicker:kicker,title:title,sources:listOf(o.sources,r=>{let label=str2(obj(r)?.label,60);return label===null?null:clean({label:label,kind:kindOf(obj(r)?.kind)})},6),risk:str2(risk?.lead,300)===null?null:clean({lead:str2(risk?.lead,300),body:str2(risk?.body),kind:kindOf(risk?.kind)}),odds:str2(odds?.label,120)===null||str2(odds?.from,20)===null||str2(odds?.to,20)===null?null:clean({label:str2(odds?.label,120),tag:str2(odds?.tag,40),from:str2(odds?.from,20),to:str2(odds?.to,20),toLabel:str2(odds?.toLabel,120)}),quote:str2(quote?.text)===null?null:clean({kicker:str2(quote?.kicker,120),tag:str2(quote?.tag,40),text:str2(quote?.text)}),jump:str2(jump?.title,300)===null||str2(jump?.go,60)===null?null:clean({title:str2(jump?.title,300),go:str2(jump?.go,60)})})}function routineOf(value){let o=obj(value),title=str2(o?.title,300),steps=listOf(o?.steps,r=>{let s=obj(r),t=str2(s?.title,300),tone=s?.tone;return t===null?null:clean({title:t,body:str2(s?.body),source:str2(s?.source,200),tone:typeof tone=="string"&&TONES.has(tone)?tone:null,icon:iconOf(s?.icon),fromVet:s?.fromVet===true?true:null})});return title===null||steps===null?null:clean({title:title,label:str2(o?.label,60),steps:steps})}function pickOf(value){let o=obj(value),title=str2(o?.title,300);if(o===null||title===null)return null;let rating=obj(o.rating),reviews=obj(o.reviews),why=obj(o.why),score=obj(why?.score),dose=obj(o.dose),ingredients=obj(o.ingredients),reviewItems=listOf(reviews?.items,r=>{let v=obj(r),stars=v?.stars,text2=str2(v?.text),by=str2(v?.by,80);return typeof stars!="number"||!Number.isFinite(stars)||stars<1||stars>5||text2===null||by===null?null:clean({stars:Math.round(stars),text:text2,by:by})},5),whyRows=listOf(why?.rows,r=>{let v=obj(r),chip=str2(v?.chip,40),t=str2(v?.title,300);return chip===null||t===null?null:clean({chip:chip,kind:kindOf(v?.kind),title:t,body:str2(v?.body)})}),stats=listOf(dose?.stats,r=>{let v=obj(r),val=str2(v?.value,40),label=str2(v?.label,120),kind=v?.kind;return val===null||label===null?null:clean({value:val,label:label,kind:kind==="weight"||kind==="dose"||kind==="days"?kind:null})},6),ingredientItems=words(ingredients?.items,12,80);return clean({title:title,none:o.none===true?true:null,hidden:o.none===true&&o.hidden===true?true:null,productId:idOf(o.productId),partnerSku:str2(o.partnerSku,200),rating:str2(rating?.value,20)===null?null:clean({value:str2(rating?.value,20),label:str2(rating?.label,120)}),line:str2(o.line),reviews:str2(reviews?.label,200)===null||reviewItems===null?null:clean({label:str2(reviews?.label,200),items:reviewItems}),checkoutLine:str2(o.checkoutLine,300),why:str2(why?.title,200)===null||whyRows===null?null:clean({title:str2(why?.title,200),rows:whyRows,score:str2(score?.text,200)===null||str2(score?.value,20)===null?null:clean({text:str2(score?.text,200),value:str2(score?.value,20)})}),dose:str2(dose?.title,200)===null||stats===null?null:clean({title:str2(dose?.title,200),stats:stats,note:str2(dose?.note)}),doseLabel:str2(o.doseLabel,120),ingredients:ingredientItems===null?null:clean({label:str2(ingredients?.label,200),items:ingredientItems}),proof:str2(o.proof,300),trust:listOf(o.trust,r=>{let v=obj(r),icon=iconOf(v?.icon),label=str2(v?.label,120);return icon===null||label===null?null:clean({icon:icon,label:label})},6),more:str2(o.more,120),fine:str2(o.fine),checkin:str2(o.checkin,200)})}function signsOf(value){let o=obj(value),title=str2(o?.title,200),items=listOf(o?.items,r=>{let v=obj(r),t=str2(v?.title,300),body=str2(v?.body);return t===null||body===null?null:clean({title:t,body:body,urgent:v?.urgent===true?true:null,callVet:v?.callVet===true?true:null})});return title===null||items===null?null:clean({title:title,items:items})}function checkupOf(value){let o=obj(value),title=str2(o?.title,200),questions=words(o?.questions,12,300),add=str2(o?.add,80),added=str2(o?.added,80);return title===null||questions===null||add===null||added===null?null:clean({title:title,questions:questions,add:add,added:added})}function extrasOf(value){let o=obj(value),title=str2(o?.title,200),items=listOf(o?.items,r=>{let v=obj(r),key=str2(v?.key,REF_MAX),t=str2(v?.title,300),action=str2(v?.action,80),productId=idOf(v?.productId),added=str2(v?.added,80)??(productId!==null?action:null);return key===null||t===null||action===null||added===null?null:clean({key:key,productId:productId,title:t,body:str2(v?.body),price:str2(v?.price,40),was:str2(v?.was,40),tag:str2(v?.tag,40),imageUrl:imageOf(v?.imageUrl),icon:iconOf(v?.icon),kind:kindOf(v?.kind),action:action,added:added,owned:v?.owned===true?true:null})},6);return title===null||items===null?null:clean({title:title,items:items})}function waitOf(value){let o=obj(value),kicker=str2(o?.kicker,120),title=str2(o?.title,120);return o===null||kicker===null||title===null?null:clean({kicker:kicker,title:title,icon:iconOf(o.icon),track:listOf(o.track,r=>{let v=obj(r),t=str2(v?.title,120),state=v?.state;return t===null?null:clean({title:t,detail:str2(v?.detail,120),state:typeof state=="string"&&TRACK_STATES.has(state)?state:null,tag:str2(v?.tag,40)})},6),heading:str2(o.heading,200),rows:listOf(o.rows,r=>{let v=obj(r),icon=iconOf(v?.icon),label=str2(v?.label,120);if(icon===null||label===null)return null;if(v?.fromVet===true)return clean({icon:icon,label:label,text:"",fromVet:true});let text2=str2(v?.text,300);return text2===null?null:clean({icon:icon,label:label,text:text2})},6),note:str2(o.note,300),action:str2(o.action,80)})}function healthPlanFocusDesignFromWire(raw){let o=obj(raw),title=str2(o?.title,300),pick2=pickOf(o?.pick);if(o===null||title===null||pick2===null)return null;let byline=obj(o.byline);return clean({eyebrow:str2(o.eyebrow,120),title:title,subtitle:str2(o.subtitle,300),subtitleNoRecords:str2(o.subtitleNoRecords,300),headImageUrl:imageOf(o.headImageUrl),byline:str2(byline?.name,120)===null?null:clean({name:str2(byline?.name,120),role:str2(byline?.role,120),imageUrl:imageOf(byline?.imageUrl),shortName:str2(byline?.shortName,60)}),focus:focusOf(o.focus),routine:routineOf(o.routine),pick:pick2,signs:signsOf(o.signs),checkup:checkupOf(o.checkup),extras:extrasOf(o.extras),wait:waitOf(o.wait),fine:str2(o.fine),checkoutRows:listOf(o.checkoutRows,r=>{let v=obj(r),icon=iconOf(v?.icon),label=str2(v?.label,60),val=str2(v?.value,200);return icon===null||label===null||val===null?null:clean({icon:icon,label:label,value:val})},6)})}function healthPlanPageFromWire(raw,petRef){let o=obj(raw);if(o===null||!("page"in o))return null;let pet=obj(o.pet),sex=pet?.sex;/* @__PURE__ */
@@ -107,17 +107,17 @@ return Object.freeze({petRef:str4(o.pet_ref)??petRef,name:str4(o.name),species:s
107
107
  return Object.freeze(rows.flatMap(row=>{let pet=widgetPetFromWire(row);return pet===null?[]:[pet]}))}function createPetsRepository(auth){return createPetsRepositoryOver(createRequestFunnel({auth:auth}),createRequestFunnel({auth:auth,unaryTimeoutMs:ERASE_USER_DATA_TIMEOUT_MS}))}function createPetsRepositoryOver(funnel,eraseFunnel=funnel){let withSignal=(req,signal)=>signal?{...req,signal:signal}:req,petPath=petRef=>validate(petRef,void 0)??`/widget/v1/pets/${encodeURIComponent(petRef)}`;return{async list(opts){let res=await funnel.send("pets.list",withSignal({method:"GET",path:"/widget/v1/pets"},opts?.signal));return res.ok?ok(petListFromWire(res.value)):err(res.error)},async registerPet(petRef,profile,opts){let invalid4=validate(petRef,profile);if(invalid4!==null)return err(invalid4);let wire=toWire(profile);if("error"in wire)return err(wire.error);let base2={method:"POST",path:`/widget/v1/pets/${encodeURIComponent(petRef)}`,body:wire.body},res=await funnel.send("pets.registerPet",opts?.signal?{...base2,signal:opts.signal}:base2);return res.ok?ok(fromWire2(res.value,petRef)):err(res.error)},async updatePet(petRef,patch,opts){let path=petPath(petRef);if(typeof path!="string")return err(path);let wire=patchToWire(patch);if("error"in wire)return err(wire.error);let res=await funnel.send("pets.updatePet",withSignal({method:"PATCH",path:path,body:wire.body},opts?.signal));return res.ok?ok(fromWire2(res.value,petRef)):err(res.error)},async getPetProfile(petRef,opts){let path=petPath(petRef);if(typeof path!="string")return err(path);let res=await funnel.send("pets.getPetProfile",withSignal({method:"GET",path:`${path}/profile`},opts?.signal));if(!res.ok)return err(res.error);let profile=widgetPetProfileFromWire(res.value);return profile===null?err(makeEverfurError("internalError",{retryable:false,httpStatus:502,wireMessage:"the pet profile response carried no pet_ref"})):ok(profile)},async deletePet(petRef,opts){let path=petPath(petRef);if(typeof path!="string")return err(path);let res=await funnel.send("pets.deletePet",withSignal({method:"DELETE",path:path},opts?.signal));return res.ok?ok(void 0):err(res.error)},async eraseUserData(opts){let res=await eraseFunnel.send("pets.eraseUserData",withSignal({method:"DELETE",path:"/widget/v1/me"},opts?.signal),{maxAttempts:1});return res.ok?ok(void 0):err(res.error)}}}function useEverfurPetProfile(petRef){let{runtime:runtime,userRef:userRef,scopeEpoch:scopeEpoch}=useEverfurContext(),repository=react.useMemo(()=>createPetsRepository(runtime.registry.services.authFor(userRef)),[runtime,userRef,scopeEpoch]),key=react.useMemo(()=>({repository:repository,petRef:petRef}),[repository,petRef]),[state,setState]=react.useState({key:key,profile:null,loading:petRef!==null,error:null}),current=state.key===key?state:{profile:null,loading:petRef!==null,error:null},generation=react.useRef(0),load=react.useCallback(async()=>{let request=++generation.current;if(key.petRef===null){setState({key:key,profile:null,loading:false,error:null});return}setState(previous=>({key:key,profile:previous.key===key?previous.profile:null,loading:true,error:null}));let result=await key.repository.getPetProfile(key.petRef);request===generation.current&&setState(result.ok?{key:key,profile:result.value,loading:false,error:null}:{key:key,profile:null,loading:false,error:result.error})},[key]);return react.useEffect(()=>(load(),()=>{generation.current+=1}),[load]),react.useMemo(()=>({profile:current.profile,loading:current.loading,error:current.error,refresh:load}),[current.profile,current.loading,current.error,load])}var listeners=/* @__PURE__ */new WeakMap;function subscribePetsChanged(runtime,listener){let set=listeners.get(runtime);return set===void 0&&(set=/* @__PURE__ */new Set,listeners.set(runtime,set)),set.add(listener),()=>{set?.delete(listener)}}function useEverfurPets(){let{runtime:runtime,userRef:userRef,activePet:activePetRef,scopeEpoch:scopeEpoch}=useEverfurContext(),repository=react.useMemo(()=>createPetsRepository(runtime.registry.services.authFor(userRef)),[runtime,userRef,scopeEpoch]),[state,setState]=react.useState({repository:repository,pets:[],loading:true,error:null}),current=state.repository===repository?state:{pets:[],loading:true,error:null},generation=react.useRef(0),load=react.useCallback(async()=>{let request=++generation.current;setState(previous=>({...previous,repository:repository,loading:true,error:null,pets:previous.repository===repository?previous.pets:[]}));let result=await repository.list();request===generation.current&&setState(result.ok?{repository:repository,pets:result.value,loading:false,error:null}:previous=>({repository:repository,pets:previous.repository===repository?previous.pets:[],loading:false,error:result.error}))},[repository]);react.useEffect(()=>(load(),()=>{generation.current+=1}),[load]),react.useEffect(()=>subscribePetsChanged(runtime,()=>{load()}),[runtime,load]);let activePet=react.useMemo(()=>activePetRef===null?null:current.pets.find(pet=>pet.petRef===activePetRef)??null,[activePetRef,current.pets]);return react.useMemo(()=>({pets:current.pets,activePet:activePet,loading:current.loading,error:current.error,refresh:load}),[current.pets,current.loading,current.error,activePet,load])}var DEFAULT_PRESENTATION=/* @__PURE__ */Object.freeze({chatAnswerStyle:"cards",chatHistoryStyle:"sheet",chatTopCard:"focus",chatFollowUpCount:3,chatFollowUpsExcludeTelevet:false,chatComposerMic:true,chatComposerUpload:true,safetyDisclaimerPlacement:"composer",healthPlanLayout:"focus_plan",recordsTopRiskLine:true,recordsClearResultsFilter:true,chatComposerStyle:"compact",chatComposerPlaceholder:"pet_name",chatHistoryBar:"scroll",chatGeneralBanner:true,chatSendButton:"always_dark",chatTextingAsk:true}),PRESENTATION_WIRE_NAMES=/* @__PURE__ */Object.freeze({chatAnswerStyle:"chat_answer_style",chatHistoryStyle:"chat_history_style",chatTopCard:"chat_top_card",chatFollowUpCount:"chat_follow_up_count",chatFollowUpsExcludeTelevet:"chat_follow_ups_exclude_televet",chatComposerMic:"chat_composer_mic",chatComposerUpload:"chat_composer_upload",safetyDisclaimerPlacement:"safety_disclaimer_placement",healthPlanLayout:"health_plan_layout",recordsTopRiskLine:"records_top_risk_line",recordsClearResultsFilter:"records_clear_results_filter",chatComposerStyle:"chat_composer_style",chatComposerPlaceholder:"chat_composer_placeholder",chatHistoryBar:"chat_history_bar",chatGeneralBanner:"chat_general_banner",chatSendButton:"chat_send_button",chatTextingAsk:"chat_texting_ask"}),FIELDS=Object.keys(PRESENTATION_WIRE_NAMES),PRESENTATION_LOCK="presentation",PRESENTATION_LOCK_PREFIX="presentation.";var ENUMS={chatAnswerStyle:["bubbles","cards"],chatHistoryStyle:["drawer","sheet"],chatTopCard:["none","focus"],safetyDisclaimerPlacement:["composer","answer_footer"],healthPlanLayout:["standard","focus_plan"],chatComposerStyle:["standard","compact"],chatComposerPlaceholder:["generic","pet_name"],chatHistoryBar:["pinned","scroll"],chatSendButton:["always_dark","dim_when_empty"]},BOOLS=/* @__PURE__ */new Set(["chatFollowUpsExcludeTelevet","chatComposerMic","chatComposerUpload","recordsTopRiskLine","recordsClearResultsFilter","chatGeneralBanner","chatTextingAsk"]);function parseField(field,value){if(value==null)return;let allowed=ENUMS[field];return allowed!==void 0?typeof value=="string"&&allowed.includes(value)?value:void 0:BOOLS.has(field)?typeof value=="boolean"?value:void 0:typeof value=="number"&&Number.isInteger(value)&&value>=0&&value<=3?value:void 0}function parsePresentation(raw){if(raw===null||typeof raw!="object"||Array.isArray(raw))return null;let source=raw,out={};for(let field of FIELDS){let wire=PRESENTATION_WIRE_NAMES[field],value=Object.prototype.hasOwnProperty.call(source,wire)?source[wire]:source[field],parsed=parseField(field,value);parsed!==void 0&&(out[field]=parsed)}return Object.keys(out).length===0?null:/* @__PURE__ */Object.freeze(out)}function isPresentationFieldLocked(field,locked){if(locked==null)return false;let one=`${PRESENTATION_LOCK_PREFIX}${PRESENTATION_WIRE_NAMES[field]}`;for(let name of locked)if(name===PRESENTATION_LOCK||name===one)return true;return false}function resolvePresentation(input){let server=parsePresentation(input?.server??null)??{},client=parsePresentation(input?.client??null)??{},locked=input?.locked?[...input.locked]:null,out={};for(let field of FIELDS){let fromServer=server[field],fromClient=isPresentationFieldLocked(field,locked)?void 0:client[field];out[field]=fromClient??fromServer??DEFAULT_PRESENTATION[field]}/* @__PURE__ */
108
108
  return Object.freeze(out)}var NO_SNAPSHOT=/* @__PURE__ */Object.freeze({branding:null}),NO_STORE=/* @__PURE__ */Object.freeze({subscribe:()=>()=>{},getSnapshot:()=>NO_SNAPSHOT});function keyOf(input){return input?Object.keys(input).sort().map(k=>`${k}=${String(input[k])}`).join("&"):""}function useEverfurPresentation(client){return useEverfurPresentationState(client).presentation}function useEverfurPresentationState(client){let{runtime:runtime}=useEverfurContext(),store=runtime?.entitlements??NO_STORE,readBranding=react.useCallback(()=>store.getSnapshot()?.branding??null,[store]),branding=react.useSyncExternalStore(store.subscribe,readBranding,readBranding),clientKey=keyOf(client);return react.useMemo(()=>{let locked=branding?.lockedFields??null;return{presentation:resolvePresentation({server:branding?.presentation??null,locked:locked,client:client??null}),isLocked:field=>isPresentationFieldLocked(field,locked)}},[branding,clientKey])}var REQUIRES=/* @__PURE__ */Object.freeze({chat:/* @__PURE__ */Object.freeze(["chat.message.create"]),records:/* @__PURE__ */Object.freeze(["records.upload.create","records.record.read"]),recordsClinic:/* @__PURE__ */Object.freeze(["records.clinic.create"]),video:/* @__PURE__ */Object.freeze(["video.gait.execute"]),photo:/* @__PURE__ */Object.freeze(["photo.checkup.execute"]),animations:/* @__PURE__ */Object.freeze(["animations.state.read"]),televet:/* @__PURE__ */Object.freeze(["televet.visit.create"]),texting:/* @__PURE__ */Object.freeze(["sms.identity.read","sms.identity.update"]),healthPlan:/* @__PURE__ */Object.freeze(["shop.plan.read","shop.plan.update"])});function requires(name){return REQUIRES[name]}function decideCapability(name,decisions,opts){let keys=requires(name),byResource=/* @__PURE__ */new Map;for(let decision of decisions)byResource.set(decision.resource,decision);if(opts?.isPending===true&&keys.some(key=>!byResource.has(key)))return freezeDecision({name:name,enabled:false,isPending:true,limits:{}});let limits=mergeLimits(keys,byResource);return keys.filter(key=>byResource.get(key)?.granted!==true).length===0?freezeDecision({name:name,enabled:true,isPending:false,limits:limits}):freezeDecision({name:name,enabled:false,isPending:false,limits:limits,disabled:disabledFor(keys,byResource)})}function mergeLimits(keys,byResource){let out={};for(let key of keys){let decisionLimits=byResource.get(key)?.limits;if(decisionLimits)for(let[limitKey,limitValue]of Object.entries(decisionLimits)){let existing=out[limitKey];out[limitKey]=existing===void 0?limitValue:Math.min(existing,limitValue)}}return out}function disabledFor(keys,byResource){for(let key of keys){let explicit=byResource.get(key)?.disabled;if(explicit)/* @__PURE__ */
109
109
  return Object.freeze({reason:explicit.reason,level:explicit.level,recoverable:explicit.recoverable})}/* @__PURE__ */
110
- return Object.freeze({reason:userFacingError("accessDenied"),level:"user_entitlement",recoverable:false})}function freezeDecision(d){let base2={name:d.name,enabled:d.enabled,isPending:d.isPending,limits:/* @__PURE__ */Object.freeze({...d.limits})};return d.disabled!==void 0&&(base2.disabled=d.disabled),/* @__PURE__ */Object.freeze(base2)}function useCapability(name){let{runtime:runtime}=useEverfurContext(),store=runtime.entitlements,snapshot=react.useSyncExternalStore(store.subscribe,store.getSnapshot,store.getSnapshot);return react.useMemo(()=>decideCapability(name,snapshot.decisions,{isPending:snapshot.isPending}),[name,snapshot])}var COARSE_NOW_TICK_MS=3600*1e3;function useCoarseNow(fixed,shown=true){let[now,setNow]=react.useState(()=>fixed??Date.now()),first=react.useRef(true);return react.useEffect(()=>{if(first.current){first.current=false;return}fixed===void 0&&shown&&setNow(Date.now())},[fixed,shown]),react.useEffect(()=>{if(fixed!==void 0||!shown)return;let tick=setInterval(()=>setNow(Date.now()),COARSE_NOW_TICK_MS),onVisible=()=>{document.visibilityState==="visible"&&setNow(Date.now())},doc=typeof document<"u"&&typeof document.addEventListener=="function"?document:null;return doc?.addEventListener("visibilitychange",onVisible),()=>{clearInterval(tick),doc?.removeEventListener("visibilitychange",onVisible)}},[fixed,shown]),fixed??now}var FACT_ENTITY_TYPE_MAX=64,FACT_CANONICAL_KEY_MAX=512;function normalizeOrigin(raw){return raw==="owner_reported"||raw==="clinic_document"?raw:null}var entitySchema=/* @__PURE__ */zod.z.object({key:/* @__PURE__ */zod.z.string(),category:/* @__PURE__ */zod.z.string().optional(),label:/* @__PURE__ */zod.z.string().optional(),value:/* @__PURE__ */zod.z.string().nullish(),unit:/* @__PURE__ */zod.z.string().nullish(),observed_at:/* @__PURE__ */zod.z.string().nullish(),status:/* @__PURE__ */zod.z.string().nullish(),origin:/* @__PURE__ */zod.z.string().nullish(),canonical_key:/* @__PURE__ */zod.z.string().nullish()});var documentSchema=/* @__PURE__ */zod.z.object({doc_id:/* @__PURE__ */zod.z.string(),title:/* @__PURE__ */zod.z.string().nullish(),document_class:/* @__PURE__ */zod.z.string().nullish(),page_count:/* @__PURE__ */zod.z.number().nullish(),received_at:/* @__PURE__ */zod.z.string().nullish()});function mapEntityRow(e){/* @__PURE__ */
110
+ return Object.freeze({reason:userFacingError("accessDenied"),level:"user_entitlement",recoverable:false})}function freezeDecision(d){let base2={name:d.name,enabled:d.enabled,isPending:d.isPending,limits:/* @__PURE__ */Object.freeze({...d.limits})};return d.disabled!==void 0&&(base2.disabled=d.disabled),/* @__PURE__ */Object.freeze(base2)}function useCapability(name){let{runtime:runtime}=useEverfurContext(),store=runtime.entitlements,snapshot=react.useSyncExternalStore(store.subscribe,store.getSnapshot,store.getSnapshot);return react.useMemo(()=>decideCapability(name,snapshot.decisions,{isPending:snapshot.isPending}),[name,snapshot])}var COARSE_NOW_TICK_MS=3600*1e3;function useCoarseNow(fixed,shown=true){let[now,setNow]=react.useState(()=>fixed??Date.now()),first=react.useRef(true);return react.useEffect(()=>{if(first.current){first.current=false;return}fixed===void 0&&shown&&setNow(Date.now())},[fixed,shown]),react.useEffect(()=>{if(fixed!==void 0||!shown)return;let tick=setInterval(()=>setNow(Date.now()),COARSE_NOW_TICK_MS),onVisible=()=>{document.visibilityState==="visible"&&setNow(Date.now())},doc=typeof document<"u"&&typeof document.addEventListener=="function"?document:null;return doc?.addEventListener("visibilitychange",onVisible),()=>{clearInterval(tick),doc?.removeEventListener("visibilitychange",onVisible)}},[fixed,shown]),fixed??now}function isRecord2(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}var FACT_ENTITY_TYPE_MAX=64,FACT_CANONICAL_KEY_MAX=512;function normalizeOrigin(raw){return raw==="owner_reported"||raw==="clinic_document"?raw:null}var entitySchema=/* @__PURE__ */zod.z.object({key:/* @__PURE__ */zod.z.string(),category:/* @__PURE__ */zod.z.string().optional(),label:/* @__PURE__ */zod.z.string().optional(),value:/* @__PURE__ */zod.z.string().nullish(),unit:/* @__PURE__ */zod.z.string().nullish(),observed_at:/* @__PURE__ */zod.z.string().nullish(),status:/* @__PURE__ */zod.z.string().nullish(),origin:/* @__PURE__ */zod.z.string().nullish(),canonical_key:/* @__PURE__ */zod.z.string().nullish()});var documentSchema=/* @__PURE__ */zod.z.object({doc_id:/* @__PURE__ */zod.z.string(),title:/* @__PURE__ */zod.z.string().nullish(),document_class:/* @__PURE__ */zod.z.string().nullish(),page_count:/* @__PURE__ */zod.z.number().nullish(),received_at:/* @__PURE__ */zod.z.string().nullish()});function mapEntityRow(e){/* @__PURE__ */
111
111
  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__ */
112
- 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 str5=/* @__PURE__ */zod.z.string().nullish(),num3=/* @__PURE__ */zod.z.number().nullish(),pointSchema=/* @__PURE__ */zod.z.object({collected_at:str5,at:str5,value:num3,unit:str5,qualitative_result:str5,ref_low:num3,ref_high:num3,status:str5,source_clinic:str5,source_doc_id:str5,doc_id:str5,reviewed:/* @__PURE__ */zod.z.boolean().nullish()}),latestSchema=/* @__PURE__ */zod.z.object({collected_at:str5,at:str5,value:num3,unit:str5,qualitative_result:str5,status:str5}),markerSchema=/* @__PURE__ */zod.z.object({marker_id:/* @__PURE__ */zod.z.string().min(1),canonical_name:str5,name:str5,loinc_code:str5,canonical_unit:str5,unit:str5,panel_name:str5,panel:str5,meaning_text:str5,meaning:str5,latest:/* @__PURE__ */latestSchema.nullish(),trajectory:str5,points:/* @__PURE__ */zod.z.array(pointSchema).optional()}),summarySchema=/* @__PURE__ */zod.z.object({total_markers:/* @__PURE__ */zod.z.number().int().nonnegative(),in_range_count:/* @__PURE__ */zod.z.number().int().nonnegative(),out_of_range_count:/* @__PURE__ */zod.z.number().int().nonnegative(),unknown_count:/* @__PURE__ */zod.z.number().int().nonnegative()}),markersSchema=/* @__PURE__ */zod.z.object({markers:/* @__PURE__ */zod.z.array(markerSchema).optional(),summary:/* @__PURE__ */summarySchema.nullish(),disclaimer:/* @__PURE__ */zod.z.string().optional(),featured_marker_id:str5});function isObject(v){return typeof v=="object"&&v!==null&&!Array.isArray(v)}function withheldMarkers(pet){/* @__PURE__ */
113
- return Object.freeze({petRef:pet,withheld:true,markers:/* @__PURE__ */Object.freeze([]),summary:null,disclaimer:"",featuredMarkerId:null})}function mapRecordMarkers(petRef,wire){let w=isObject(wire)?wire:{},pet=typeof w.pet_ref=="string"&&w.pet_ref.length>0?w.pet_ref:petRef;if(w.withheld===true)return withheldMarkers(pet);let parsed=markersSchema.safeParse(w);if(!parsed.success)return withheldMarkers(pet);let m=parsed.data,point=p=>/* @__PURE__ */Object.freeze({at:p.collected_at??p.at??null,value:p.value??null,unit:p.unit??null,qualitativeResult:p.qualitative_result??null,refLow:p.ref_low??null,refHigh:p.ref_high??null,status:p.status??null,sourceClinic:p.source_clinic??null,docId:p.source_doc_id??p.doc_id??null,reviewed:p.reviewed===true}),markers=(m.markers??[]).map(marker=>/* @__PURE__ */Object.freeze({markerId:marker.marker_id,name:marker.canonical_name??marker.name??marker.marker_id,loincCode:marker.loinc_code??null,unit:marker.canonical_unit??marker.unit??null,panel:marker.panel_name??marker.panel??null,meaning:marker.meaning_text??marker.meaning??null,latest:marker.latest?/* @__PURE__ */Object.freeze({at:marker.latest.collected_at??marker.latest.at??null,value:marker.latest.value??null,unit:marker.latest.unit??null,qualitativeResult:marker.latest.qualitative_result??null,status:marker.latest.status??null}):null,trajectory:marker.trajectory??null,points:/* @__PURE__ */Object.freeze((marker.points??[]).map(point))}));/* @__PURE__ */
112
+ 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 str5=/* @__PURE__ */zod.z.string().nullish(),num3=/* @__PURE__ */zod.z.number().nullish(),pointSchema=/* @__PURE__ */zod.z.object({collected_at:str5,at:str5,value:num3,unit:str5,qualitative_result:str5,ref_low:num3,ref_high:num3,status:str5,source_clinic:str5,source_doc_id:str5,doc_id:str5,reviewed:/* @__PURE__ */zod.z.boolean().nullish()}),latestSchema=/* @__PURE__ */zod.z.object({collected_at:str5,at:str5,value:num3,unit:str5,qualitative_result:str5,status:str5}),markerSchema=/* @__PURE__ */zod.z.object({marker_id:/* @__PURE__ */zod.z.string().min(1),canonical_name:str5,name:str5,loinc_code:str5,canonical_unit:str5,unit:str5,panel_name:str5,panel:str5,meaning_text:str5,meaning:str5,latest:/* @__PURE__ */latestSchema.nullish(),trajectory:str5,points:/* @__PURE__ */zod.z.array(pointSchema).optional()}),summarySchema=/* @__PURE__ */zod.z.object({total_markers:/* @__PURE__ */zod.z.number().int().nonnegative(),in_range_count:/* @__PURE__ */zod.z.number().int().nonnegative(),out_of_range_count:/* @__PURE__ */zod.z.number().int().nonnegative(),unknown_count:/* @__PURE__ */zod.z.number().int().nonnegative()}),markersSchema=/* @__PURE__ */zod.z.object({markers:/* @__PURE__ */zod.z.array(markerSchema).optional(),summary:/* @__PURE__ */summarySchema.nullish(),disclaimer:/* @__PURE__ */zod.z.string().optional(),featured_marker_id:str5});function withheldMarkers(pet){/* @__PURE__ */
113
+ return Object.freeze({petRef:pet,withheld:true,markers:/* @__PURE__ */Object.freeze([]),summary:null,disclaimer:"",featuredMarkerId:null})}function mapRecordMarkers(petRef,wire){let w=isRecord2(wire)?wire:{},pet=typeof w.pet_ref=="string"&&w.pet_ref.length>0?w.pet_ref:petRef;if(w.withheld===true)return withheldMarkers(pet);let parsed=markersSchema.safeParse(w);if(!parsed.success)return withheldMarkers(pet);let m=parsed.data,point=p=>/* @__PURE__ */Object.freeze({at:p.collected_at??p.at??null,value:p.value??null,unit:p.unit??null,qualitativeResult:p.qualitative_result??null,refLow:p.ref_low??null,refHigh:p.ref_high??null,status:p.status??null,sourceClinic:p.source_clinic??null,docId:p.source_doc_id??p.doc_id??null,reviewed:p.reviewed===true}),markers=(m.markers??[]).map(marker=>/* @__PURE__ */Object.freeze({markerId:marker.marker_id,name:marker.canonical_name??marker.name??marker.marker_id,loincCode:marker.loinc_code??null,unit:marker.canonical_unit??marker.unit??null,panel:marker.panel_name??marker.panel??null,meaning:marker.meaning_text??marker.meaning??null,latest:marker.latest?/* @__PURE__ */Object.freeze({at:marker.latest.collected_at??marker.latest.at??null,value:marker.latest.value??null,unit:marker.latest.unit??null,qualitativeResult:marker.latest.qualitative_result??null,status:marker.latest.status??null}):null,trajectory:marker.trajectory??null,points:/* @__PURE__ */Object.freeze((marker.points??[]).map(point))}));/* @__PURE__ */
114
114
  return Object.freeze({petRef:pet,withheld:false,markers:/* @__PURE__ */Object.freeze(markers),summary:m.summary?/* @__PURE__ */Object.freeze({totalMarkers:m.summary.total_markers,inRangeCount:m.summary.in_range_count,outOfRangeCount:m.summary.out_of_range_count,unknownCount:m.summary.unknown_count}):null,disclaimer:m.disclaimer??"",featuredMarkerId:m.featured_marker_id??null})}var IDEMPOTENCY_KEY_MAX=128,PET_REF_MAX2=128;var https2=/* @__PURE__ */zod.z.string().min(1).refine(value=>value.startsWith("https://")),itemSchema=/* @__PURE__ */zod.z.object({source_doc_id:/* @__PURE__ */zod.z.string().min(1),file_name:/* @__PURE__ */zod.z.string().nullish(),doc_format:/* @__PURE__ */zod.z.string().nullish(),byte_size:/* @__PURE__ */zod.z.number().int().nonnegative().nullish(),received_at:/* @__PURE__ */zod.z.string().nullish(),download_url:https2,expires_in_seconds:/* @__PURE__ */zod.z.number().int().nonnegative().nullish()}),listSchema2=/* @__PURE__ */zod.z.object({items:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.unknown()).optional()});function mapRequestDocuments(wire){let parsed=listSchema2.safeParse(wire);if(!parsed.success)return null;let rows=[];for(let raw of parsed.data.items??[]){let item=itemSchema.safeParse(raw);item.success&&rows.push(
115
115
  /* @__PURE__ */Object.freeze({sourceDocId:item.data.source_doc_id,fileName:item.data.file_name??null,docFormat:item.data.doc_format??null,byteSize:item.data.byte_size??null,receivedAt:item.data.received_at??null,downloadUrl:item.data.download_url,expiresInSeconds:item.data.expires_in_seconds??0}))}/* @__PURE__ */
116
- return Object.freeze(rows)}var listSchema3=/* @__PURE__ */zod.z.object({signatures:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({signature_id:/* @__PURE__ */zod.z.string().min(1),preview_url:/* @__PURE__ */zod.z.string().min(1).refine(value=>value.startsWith("https://")),created_at:/* @__PURE__ */zod.z.string().nullish()})).optional()});function mapSignatureSuggestions(wire){let parsed=listSchema3.safeParse(wire);return parsed.success?/* @__PURE__ */Object.freeze((parsed.data.signatures??[]).map(row=>/* @__PURE__ */Object.freeze({signatureId:row.signature_id,previewUrl:row.preview_url,createdAt:row.created_at??null}))):null}var str6=/* @__PURE__ */zod.z.string().nullish(),num4=/* @__PURE__ */zod.z.number().nullish(),labPointSchema=/* @__PURE__ */zod.z.object({at:str6,value:num4,unit:str6,qualitative_result:str6,ref_low:num4,ref_high:num4,status:str6,doc_id:str6}),labMarkerSchema=/* @__PURE__ */zod.z.object({marker_id:/* @__PURE__ */zod.z.string(),name:/* @__PURE__ */zod.z.string(),loinc_code:str6,unit:str6,panel:str6,meaning:str6,latest:/* @__PURE__ */zod.z.object({at:str6,value:num4,unit:str6,qualitative_result:str6,status:str6}).nullish(),trajectory:str6,points:/* @__PURE__ */zod.z.array(labPointSchema).optional()}),encounterSchema=/* @__PURE__ */zod.z.object({encounter_id:/* @__PURE__ */zod.z.string(),date:str6,type:str6,clinic_name:str6,veterinarian:str6,doc_id:str6}),noteSchema=/* @__PURE__ */zod.z.object({note_id:/* @__PURE__ */zod.z.string(),encounter_id:str6,observed_on:str6,sections:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({section:/* @__PURE__ */zod.z.string(),text:/* @__PURE__ */zod.z.string()})).optional()}),examSchema=/* @__PURE__ */zod.z.object({exam_id:/* @__PURE__ */zod.z.string(),encounter_id:str6,observed_on:str6,doc_id:str6,systems:/* @__PURE__ */zod.z.record(/* @__PURE__ */zod.z.object({finding_status:str6,finding:str6})).optional()}),completenessSchema=/* @__PURE__ */zod.z.object({has_lab_history:/* @__PURE__ */zod.z.boolean().optional(),has_vaccination_history:/* @__PURE__ */zod.z.boolean().optional(),has_weight_history:/* @__PURE__ */zod.z.boolean().optional(),has_vitals_history:/* @__PURE__ */zod.z.boolean().optional(),has_physical_exam_history:/* @__PURE__ */zod.z.boolean().optional(),has_procedure_history:/* @__PURE__ */zod.z.boolean().optional(),has_genetic_history:/* @__PURE__ */zod.z.boolean().optional(),has_reproductive_history:/* @__PURE__ */zod.z.boolean().optional(),has_parasite_prevention_history:/* @__PURE__ */zod.z.boolean().optional(),earliest_record_at:str6,latest_record_at:str6,documents_ingested:/* @__PURE__ */zod.z.number().int().nonnegative().optional(),documents_in_review:/* @__PURE__ */zod.z.number().int().nonnegative().optional(),entities_pending_review:/* @__PURE__ */zod.z.record(/* @__PURE__ */zod.z.number().int().nonnegative()).optional(),held_total:/* @__PURE__ */zod.z.number().int().nonnegative().optional()}),conflictSchema=/* @__PURE__ */zod.z.object({conflict_id:/* @__PURE__ */zod.z.string(),entity_type:/* @__PURE__ */zod.z.string(),field:str6,severity:str6,candidates:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({value:/* @__PURE__ */zod.z.string(),source_doc_id:str6,doc_id:str6,collected_at:str6})).optional()}),depthSchema=/* @__PURE__ */zod.z.object({lab_results:/* @__PURE__ */zod.z.array(labMarkerSchema).optional(),encounters:/* @__PURE__ */zod.z.array(encounterSchema).optional(),clinician_notes:/* @__PURE__ */zod.z.array(noteSchema).optional(),physical_exams:/* @__PURE__ */zod.z.array(examSchema).optional(),completeness:/* @__PURE__ */completenessSchema.nullish(),conflicts:/* @__PURE__ */zod.z.array(conflictSchema).optional()}),timelineSchema=/* @__PURE__ */zod.z.object({visits:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({visit_id:/* @__PURE__ */zod.z.string(),visit_date:str6,veterinarian:str6,summary:str6,doc_id:str6})),vaccines:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({vaccine_id:/* @__PURE__ */zod.z.string(),product:str6,lot:str6,administered_on:str6,expires_on:str6,doc_id:str6})),weights:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({weight_id:/* @__PURE__ */zod.z.string(),observed_on:str6,weight_kg:num4,doc_id:str6})),medications:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({medication_id:/* @__PURE__ */zod.z.string(),drug_name:str6,dose:str6,route:str6,frequency:str6,sig:str6,rx_number:str6,started_on:str6,stopped_on:str6,doc_id:str6})),disclaimer:/* @__PURE__ */zod.z.string().optional()}),contributionsSchema=/* @__PURE__ */zod.z.object({document:documentSchema,contributions:/* @__PURE__ */zod.z.array(entitySchema),contribution_count:/* @__PURE__ */zod.z.number().int().nonnegative().optional()});function isObject2(v){return typeof v=="object"&&v!==null&&!Array.isArray(v)}function petOf(w,petRef){return typeof w.pet_ref=="string"&&w.pet_ref.length>0?w.pet_ref:petRef}function emptyDepth(pet,withheld){/* @__PURE__ */
117
- return Object.freeze({petRef:pet,available:false,withheld:withheld,labResults:/* @__PURE__ */Object.freeze([]),encounters:/* @__PURE__ */Object.freeze([]),clinicianNotes:/* @__PURE__ */Object.freeze([]),physicalExams:/* @__PURE__ */Object.freeze([]),completeness:null,conflicts:/* @__PURE__ */Object.freeze([])})}function mapRecordDepth(petRef,wire){let w=isObject2(wire)?wire:{},pet=petOf(w,petRef);if(w.withheld===true)return emptyDepth(pet,true);if(!["lab_results","encounters","clinician_notes","physical_exams","completeness","conflicts"].some(key=>key in w))return emptyDepth(pet,false);let parsed=depthSchema.safeParse(w);if(!parsed.success)return emptyDepth(pet,true);let d=parsed.data,point=p=>/* @__PURE__ */Object.freeze({at:p.at??null,value:p.value??null,unit:p.unit??null,qualitativeResult:p.qualitative_result??null,refLow:p.ref_low??null,refHigh:p.ref_high??null,status:p.status??null,docId:p.doc_id??null});/* @__PURE__ */
116
+ return Object.freeze(rows)}var listSchema3=/* @__PURE__ */zod.z.object({signatures:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({signature_id:/* @__PURE__ */zod.z.string().min(1),preview_url:/* @__PURE__ */zod.z.string().min(1).refine(value=>value.startsWith("https://")),created_at:/* @__PURE__ */zod.z.string().nullish()})).optional()});function mapSignatureSuggestions(wire){let parsed=listSchema3.safeParse(wire);return parsed.success?/* @__PURE__ */Object.freeze((parsed.data.signatures??[]).map(row=>/* @__PURE__ */Object.freeze({signatureId:row.signature_id,previewUrl:row.preview_url,createdAt:row.created_at??null}))):null}var str6=/* @__PURE__ */zod.z.string().nullish(),num4=/* @__PURE__ */zod.z.number().nullish(),labPointSchema=/* @__PURE__ */zod.z.object({at:str6,value:num4,unit:str6,qualitative_result:str6,ref_low:num4,ref_high:num4,status:str6,doc_id:str6}),labMarkerSchema=/* @__PURE__ */zod.z.object({marker_id:/* @__PURE__ */zod.z.string(),name:/* @__PURE__ */zod.z.string(),loinc_code:str6,unit:str6,panel:str6,meaning:str6,latest:/* @__PURE__ */zod.z.object({at:str6,value:num4,unit:str6,qualitative_result:str6,status:str6}).nullish(),trajectory:str6,points:/* @__PURE__ */zod.z.array(labPointSchema).optional()}),encounterSchema=/* @__PURE__ */zod.z.object({encounter_id:/* @__PURE__ */zod.z.string(),date:str6,type:str6,clinic_name:str6,veterinarian:str6,doc_id:str6}),noteSchema=/* @__PURE__ */zod.z.object({note_id:/* @__PURE__ */zod.z.string(),encounter_id:str6,observed_on:str6,sections:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({section:/* @__PURE__ */zod.z.string(),text:/* @__PURE__ */zod.z.string()})).optional()}),examSchema=/* @__PURE__ */zod.z.object({exam_id:/* @__PURE__ */zod.z.string(),encounter_id:str6,observed_on:str6,doc_id:str6,systems:/* @__PURE__ */zod.z.record(/* @__PURE__ */zod.z.object({finding_status:str6,finding:str6})).optional()}),completenessSchema=/* @__PURE__ */zod.z.object({has_lab_history:/* @__PURE__ */zod.z.boolean().optional(),has_vaccination_history:/* @__PURE__ */zod.z.boolean().optional(),has_weight_history:/* @__PURE__ */zod.z.boolean().optional(),has_vitals_history:/* @__PURE__ */zod.z.boolean().optional(),has_physical_exam_history:/* @__PURE__ */zod.z.boolean().optional(),has_procedure_history:/* @__PURE__ */zod.z.boolean().optional(),has_genetic_history:/* @__PURE__ */zod.z.boolean().optional(),has_reproductive_history:/* @__PURE__ */zod.z.boolean().optional(),has_parasite_prevention_history:/* @__PURE__ */zod.z.boolean().optional(),earliest_record_at:str6,latest_record_at:str6,documents_ingested:/* @__PURE__ */zod.z.number().int().nonnegative().optional(),documents_in_review:/* @__PURE__ */zod.z.number().int().nonnegative().optional(),entities_pending_review:/* @__PURE__ */zod.z.record(/* @__PURE__ */zod.z.number().int().nonnegative()).optional(),held_total:/* @__PURE__ */zod.z.number().int().nonnegative().optional()}),conflictSchema=/* @__PURE__ */zod.z.object({conflict_id:/* @__PURE__ */zod.z.string(),entity_type:/* @__PURE__ */zod.z.string(),field:str6,severity:str6,candidates:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({value:/* @__PURE__ */zod.z.string(),source_doc_id:str6,doc_id:str6,collected_at:str6})).optional()}),depthSchema=/* @__PURE__ */zod.z.object({lab_results:/* @__PURE__ */zod.z.array(labMarkerSchema).optional(),encounters:/* @__PURE__ */zod.z.array(encounterSchema).optional(),clinician_notes:/* @__PURE__ */zod.z.array(noteSchema).optional(),physical_exams:/* @__PURE__ */zod.z.array(examSchema).optional(),completeness:/* @__PURE__ */completenessSchema.nullish(),conflicts:/* @__PURE__ */zod.z.array(conflictSchema).optional()}),timelineSchema=/* @__PURE__ */zod.z.object({visits:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({visit_id:/* @__PURE__ */zod.z.string(),visit_date:str6,veterinarian:str6,summary:str6,doc_id:str6})),vaccines:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({vaccine_id:/* @__PURE__ */zod.z.string(),product:str6,lot:str6,administered_on:str6,expires_on:str6,doc_id:str6})),weights:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({weight_id:/* @__PURE__ */zod.z.string(),observed_on:str6,weight_kg:num4,doc_id:str6})),medications:/* @__PURE__ */zod.z.array(/* @__PURE__ */zod.z.object({medication_id:/* @__PURE__ */zod.z.string(),drug_name:str6,dose:str6,route:str6,frequency:str6,sig:str6,rx_number:str6,started_on:str6,stopped_on:str6,doc_id:str6})),disclaimer:/* @__PURE__ */zod.z.string().optional()}),contributionsSchema=/* @__PURE__ */zod.z.object({document:documentSchema,contributions:/* @__PURE__ */zod.z.array(entitySchema),contribution_count:/* @__PURE__ */zod.z.number().int().nonnegative().optional()});function petOf(w,petRef){return typeof w.pet_ref=="string"&&w.pet_ref.length>0?w.pet_ref:petRef}function emptyDepth(pet,withheld){/* @__PURE__ */
117
+ return Object.freeze({petRef:pet,available:false,withheld:withheld,labResults:/* @__PURE__ */Object.freeze([]),encounters:/* @__PURE__ */Object.freeze([]),clinicianNotes:/* @__PURE__ */Object.freeze([]),physicalExams:/* @__PURE__ */Object.freeze([]),completeness:null,conflicts:/* @__PURE__ */Object.freeze([])})}function mapRecordDepth(petRef,wire){let w=isRecord2(wire)?wire:{},pet=petOf(w,petRef);if(w.withheld===true)return emptyDepth(pet,true);if(!["lab_results","encounters","clinician_notes","physical_exams","completeness","conflicts"].some(key=>key in w))return emptyDepth(pet,false);let parsed=depthSchema.safeParse(w);if(!parsed.success)return emptyDepth(pet,true);let d=parsed.data,point=p=>/* @__PURE__ */Object.freeze({at:p.at??null,value:p.value??null,unit:p.unit??null,qualitativeResult:p.qualitative_result??null,refLow:p.ref_low??null,refHigh:p.ref_high??null,status:p.status??null,docId:p.doc_id??null});/* @__PURE__ */
118
118
  return Object.freeze({petRef:pet,available:true,withheld:false,labResults:/* @__PURE__ */Object.freeze((d.lab_results??[]).map(m=>/* @__PURE__ */Object.freeze({markerId:m.marker_id,name:m.name,loincCode:m.loinc_code??null,unit:m.unit??null,panel:m.panel??null,meaning:m.meaning??null,latest:/* @__PURE__ */Object.freeze({at:m.latest?.at??null,value:m.latest?.value??null,unit:m.latest?.unit??null,qualitativeResult:m.latest?.qualitative_result??null,status:m.latest?.status??null}),trajectory:m.trajectory??null,points:/* @__PURE__ */Object.freeze((m.points??[]).map(point))}))),encounters:/* @__PURE__ */Object.freeze((d.encounters??[]).map(e=>/* @__PURE__ */Object.freeze({encounterId:e.encounter_id,date:e.date??null,type:e.type??null,clinicName:e.clinic_name??null,veterinarian:e.veterinarian??null,docId:e.doc_id??null}))),clinicianNotes:/* @__PURE__ */Object.freeze((d.clinician_notes??[]).map(n=>/* @__PURE__ */Object.freeze({noteId:n.note_id,encounterId:n.encounter_id??null,observedOn:n.observed_on??null,sections:/* @__PURE__ */Object.freeze((n.sections??[]).map(s=>/* @__PURE__ */Object.freeze({section:s.section,text:s.text})))}))),physicalExams:/* @__PURE__ */Object.freeze((d.physical_exams??[]).map(x=>/* @__PURE__ */Object.freeze({examId:x.exam_id,encounterId:x.encounter_id??null,observedOn:x.observed_on??null,docId:x.doc_id??null,systems:/* @__PURE__ */Object.freeze(Object.entries(x.systems??{}).map(([system,field])=>/* @__PURE__ */Object.freeze({system:system,findingStatus:field.finding_status??null,finding:field.finding??null})))}))),completeness:d.completeness?/* @__PURE__ */Object.freeze({hasLabHistory:d.completeness.has_lab_history===true,hasVaccinationHistory:d.completeness.has_vaccination_history===true,hasWeightHistory:d.completeness.has_weight_history===true,hasVitalsHistory:d.completeness.has_vitals_history===true,hasPhysicalExamHistory:d.completeness.has_physical_exam_history===true,hasProcedureHistory:d.completeness.has_procedure_history===true,hasGeneticHistory:d.completeness.has_genetic_history===true,hasReproductiveHistory:d.completeness.has_reproductive_history===true,hasParasitePreventionHistory:d.completeness.has_parasite_prevention_history===true,earliestRecordAt:d.completeness.earliest_record_at??null,latestRecordAt:d.completeness.latest_record_at??null,documentsIngested:d.completeness.documents_ingested??0,documentsInReview:d.completeness.documents_in_review??0,entitiesPendingReview:/* @__PURE__ */Object.freeze({...d.completeness.entities_pending_review??{}}),heldTotal:d.completeness.held_total??0}):null,conflicts:/* @__PURE__ */Object.freeze((d.conflicts??[]).map(c=>/* @__PURE__ */Object.freeze({conflictId:c.conflict_id,entityType:c.entity_type,field:c.field??null,severity:c.severity??"needs_review",candidates:/* @__PURE__ */Object.freeze((c.candidates??[]).map(k=>/* @__PURE__ */Object.freeze({value:k.value,docId:k.source_doc_id??k.doc_id??null,collectedAt:k.collected_at??null})))})))})}function withheldTimeline(pet){/* @__PURE__ */
119
- return Object.freeze({petRef:pet,withheld:true,isEmpty:false,visits:/* @__PURE__ */Object.freeze([]),vaccines:/* @__PURE__ */Object.freeze([]),weights:/* @__PURE__ */Object.freeze([]),medications:/* @__PURE__ */Object.freeze([]),disclaimer:""})}function mapRecordsTimeline(petRef,wire){let w=isObject2(wire)?wire:{},pet=petOf(w,petRef);if(w.withheld===true)return withheldTimeline(pet);let parsed=timelineSchema.safeParse(w);if(!parsed.success)return withheldTimeline(pet);let t=parsed.data,visits=t.visits.map(v=>/* @__PURE__ */Object.freeze({visitId:v.visit_id,visitDate:v.visit_date??null,veterinarian:v.veterinarian??null,summary:v.summary??null,docId:v.doc_id??null})),vaccines=t.vaccines.map(v=>/* @__PURE__ */Object.freeze({vaccineId:v.vaccine_id,product:v.product??null,lot:v.lot??null,administeredOn:v.administered_on??null,expiresOn:v.expires_on??null,docId:v.doc_id??null})),weights=t.weights.map(v=>/* @__PURE__ */Object.freeze({weightId:v.weight_id,observedOn:v.observed_on??null,weightKg:v.weight_kg??null,docId:v.doc_id??null})),medications=t.medications.map(m=>/* @__PURE__ */Object.freeze({medicationId:m.medication_id,drugName:m.drug_name??null,dose:m.dose??null,route:m.route??null,frequency:m.frequency??null,sig:m.sig??null,rxNumber:m.rx_number??null,startedOn:m.started_on??null,stoppedOn:m.stopped_on??null,docId:m.doc_id??null}));/* @__PURE__ */
120
- return Object.freeze({petRef:pet,withheld:false,isEmpty:visits.length===0&&vaccines.length===0&&weights.length===0&&medications.length===0,visits:/* @__PURE__ */Object.freeze(visits),vaccines:/* @__PURE__ */Object.freeze(vaccines),weights:/* @__PURE__ */Object.freeze(weights),medications:/* @__PURE__ */Object.freeze(medications),disclaimer:t.disclaimer??""})}function mapDocumentContributions(petRef,wire){let w=isObject2(wire)?wire:{},pet=petOf(w,petRef),withheld=()=>/* @__PURE__ */Object.freeze({petRef:pet,withheld:true,document:null,contributions:/* @__PURE__ */Object.freeze([]),contributionCount:0});if(w.withheld===true)return withheld();let parsed=contributionsSchema.safeParse(w);if(!parsed.success)return withheld();let contributions=/* @__PURE__ */Object.freeze(parsed.data.contributions.map(mapEntityRow));/* @__PURE__ */
119
+ return Object.freeze({petRef:pet,withheld:true,isEmpty:false,visits:/* @__PURE__ */Object.freeze([]),vaccines:/* @__PURE__ */Object.freeze([]),weights:/* @__PURE__ */Object.freeze([]),medications:/* @__PURE__ */Object.freeze([]),disclaimer:""})}function mapRecordsTimeline(petRef,wire){let w=isRecord2(wire)?wire:{},pet=petOf(w,petRef);if(w.withheld===true)return withheldTimeline(pet);let parsed=timelineSchema.safeParse(w);if(!parsed.success)return withheldTimeline(pet);let t=parsed.data,visits=t.visits.map(v=>/* @__PURE__ */Object.freeze({visitId:v.visit_id,visitDate:v.visit_date??null,veterinarian:v.veterinarian??null,summary:v.summary??null,docId:v.doc_id??null})),vaccines=t.vaccines.map(v=>/* @__PURE__ */Object.freeze({vaccineId:v.vaccine_id,product:v.product??null,lot:v.lot??null,administeredOn:v.administered_on??null,expiresOn:v.expires_on??null,docId:v.doc_id??null})),weights=t.weights.map(v=>/* @__PURE__ */Object.freeze({weightId:v.weight_id,observedOn:v.observed_on??null,weightKg:v.weight_kg??null,docId:v.doc_id??null})),medications=t.medications.map(m=>/* @__PURE__ */Object.freeze({medicationId:m.medication_id,drugName:m.drug_name??null,dose:m.dose??null,route:m.route??null,frequency:m.frequency??null,sig:m.sig??null,rxNumber:m.rx_number??null,startedOn:m.started_on??null,stoppedOn:m.stopped_on??null,docId:m.doc_id??null}));/* @__PURE__ */
120
+ return Object.freeze({petRef:pet,withheld:false,isEmpty:visits.length===0&&vaccines.length===0&&weights.length===0&&medications.length===0,visits:/* @__PURE__ */Object.freeze(visits),vaccines:/* @__PURE__ */Object.freeze(vaccines),weights:/* @__PURE__ */Object.freeze(weights),medications:/* @__PURE__ */Object.freeze(medications),disclaimer:t.disclaimer??""})}function mapDocumentContributions(petRef,wire){let w=isRecord2(wire)?wire:{},pet=petOf(w,petRef),withheld=()=>/* @__PURE__ */Object.freeze({petRef:pet,withheld:true,document:null,contributions:/* @__PURE__ */Object.freeze([]),contributionCount:0});if(w.withheld===true)return withheld();let parsed=contributionsSchema.safeParse(w);if(!parsed.success)return withheld();let contributions=/* @__PURE__ */Object.freeze(parsed.data.contributions.map(mapEntityRow));/* @__PURE__ */
121
121
  return Object.freeze({petRef:pet,withheld:false,document:mapDocumentRow(parsed.data.document),contributions:contributions,contributionCount:parsed.data.contribution_count??contributions.length})}var BASE="/widget/v1/records/pets";function createRecordsDepthClient(deps){let funnel=withPlainNotFound(deps.funnel??createRequestFunnel({auth:deps.auth,...deps.errorPolicy?{errorPolicy:deps.errorPolicy}:{}})),segment=(value,max)=>typeof value=="string"&&value.length>0&&!hasLoneSurrogate(value)&&[...value].length<=max,read=async(call,petRef,path,map)=>{if(!segment(petRef,PET_REF_MAX2))return invalid3();let result=await funnel.send(call,{method:"GET",path:path});if(!result.ok)return result;let view=map(result.value);return view.petRef===petRef?ok(view):err(makeEverfurError("internalError",{retryable:false}))},pet=petRef=>`${BASE}/${encodeURIComponent(petRef)}`,record=petRef=>`${pet(petRef)}/everfur_record`,parsed=async(call,req,map)=>{let result=await funnel.send(call,req,req.method==="POST"?{idempotent:false,maxAttempts:1}:void 0);if(!result.ok)return result;let value=map(result.value);return value===null?err(makeEverfurError("internalError",{retryable:false})):ok(value)},factBody=(input,corrected)=>!segment(input.entityType,FACT_ENTITY_TYPE_MAX)||!segment(input.canonicalKey,FACT_CANONICAL_KEY_MAX)||input.idempotencyKey!==void 0&&!segment(input.idempotencyKey,IDEMPOTENCY_KEY_MAX)||corrected!==void 0&&Object.keys(corrected).length===0?null:{entity_type:input.entityType,canonical_key:input.canonicalKey,...corrected!==void 0?{corrected_fields:corrected}:{},...input.idempotencyKey!==void 0?{idempotency_key:input.idempotencyKey}:{}};return{getRecordDepth:petRef=>read("records.depth.record",petRef,`${pet(petRef)}/record`,wire=>mapRecordDepth(petRef,wire)),getTimeline:petRef=>read("records.depth.timeline",petRef,`${pet(petRef)}/timeline`,wire=>mapRecordsTimeline(petRef,wire)),getDocumentContributions(petRef,docId){return segment(docId,64)?read("records.depth.contributions",petRef,`${pet(petRef)}/documents/${encodeURIComponent(docId)}/contributions`,wire=>mapDocumentContributions(petRef,wire)):invalid3()},getMarkers:petRef=>read("records.depth.markers",petRef,`${pet(petRef)}/markers`,wire=>mapRecordMarkers(petRef,wire)),createShare(petRef,opts){if(!segment(petRef,PET_REF_MAX2))return invalid3();let audience=opts?.audience;return audience!==void 0&&!RECORD_SHARE_AUDIENCES.includes(audience)?invalid3():parsed("records.share.create",{method:"POST",path:`${record(petRef)}/share`,...audience!==void 0?{body:{audience:audience}}:{}},wire=>mapRecordShareLink(wire,deps.apiBaseUrl))},emailShare(petRef,input){let kind=input.recipientKind,email=typeof input.recipientEmail=="string"?input.recipientEmail.trim():"",kindOk=kind==="other"||RECORD_SHARE_AUDIENCES.includes(kind);return!segment(petRef,PET_REF_MAX2)||!kindOk||!isShareRecipientEmail(email)||hasLoneSurrogate(email)?invalid3():parsed("records.share.email",{method:"POST",path:`${record(petRef)}/share/email`,body:{recipient_email:email,recipient_kind:kind}},mapRecordShareEmailReceipt)},async readFeatures(){try{let result=await funnel.send("records.getFeatures",{method:"GET",path:"/widget/v1/records/features"});return result.ok?mapRecordsFeatures(result.value):RECORDS_FEATURES_PDF_ONLY}catch{return RECORDS_FEATURES_PDF_ONLY}},listShares(petRef){return segment(petRef,PET_REF_MAX2)?parsed("records.share.list",{method:"GET",path:`${record(petRef)}/shares`},mapRecordShareList):invalid3()},async revokeShare(petRef,shareId){if(!segment(petRef,PET_REF_MAX2)||!segment(shareId,64))return invalid3();let result=await funnel.send("records.share.revoke",{method:"DELETE",path:`${record(petRef)}/shares/${encodeURIComponent(shareId)}`},{idempotent:false,maxAttempts:1});return result.ok?ok(void 0):result},getPdfLink(petRef){return segment(petRef,PET_REF_MAX2)?parsed("records.pdf.link",{method:"GET",path:`${record(petRef)}/pdf-link`},mapRecordPdfLink):invalid3()},async editFact(petRef,input){let body=segment(petRef,PET_REF_MAX2)?factBody(input,input.correctedFields):null;if(body===null)return invalid3();let result=await funnel.send("records.fact.edit",{method:"POST",path:`${record(petRef)}/facts/edit`,body:body},{idempotent:false,maxAttempts:1});return result.ok?ok(void 0):result},async removeFact(petRef,input){let body=segment(petRef,PET_REF_MAX2)?factBody(input):null;if(body===null)return invalid3();let result=await funnel.send("records.fact.remove",{method:"POST",path:`${record(petRef)}/facts/remove`,body:body},{idempotent:false,maxAttempts:1});return result.ok?ok(void 0):result},listRequestDocuments(requestId){return segment(requestId,64)?parsed("records.request.documents",{method:"GET",path:`/widget/v1/records/requests/${encodeURIComponent(requestId)}/documents`},mapRequestDocuments):invalid3()},listAuthorizationSignatures:()=>parsed("records.signatures.list",{method:"GET",path:"/widget/v1/records/authorization-signatures"},mapSignatureSuggestions)}}function invalid3(){return Promise.resolve(err(makeEverfurError("validationFailed",{retryable:false})))}var epochs=/* @__PURE__ */new Map,listeners2=/* @__PURE__ */new Set;function recordsConsentEpochOf(petRef){return epochs.get(petRef)??0}function subscribe(onStoreChange){return listeners2.add(onStoreChange),()=>{listeners2.delete(onStoreChange)}}function useRecordsConsentEpoch(petRef){let snapshot=react.useCallback(()=>recordsConsentEpochOf(petRef),[petRef]);return react.useSyncExternalStore(subscribe,snapshot,snapshot)}function useEverfurRecordsDepthClient(){let{runtime:runtime,userRef:userRef,scopeEpoch:scopeEpoch}=useEverfurContext();return react.useMemo(()=>{let{services:services}=runtime.registry;return createRecordsDepthClient({auth:services.authFor(userRef),...services.errorPolicy?{errorPolicy:services.errorPolicy}:{},...typeof services.apiBaseUrl=="string"?{apiBaseUrl:services.apiBaseUrl}:{}})},[runtime,userRef,scopeEpoch])}function useRecordsDepthRead(petRef,read,isEmpty,extraKey=""){let client=useEverfurRecordsDepthClient(),{userRef:userRef}=useEverfurContext(),consentEpoch=useRecordsConsentEpoch(petRef),scope=react.useMemo(()=>({}),[client,petRef,extraKey,consentEpoch]),[state,setState]=react.useState({scope:scope,value:null,error:null,loading:true}),generation=react.useRef(0),load=react.useCallback(async()=>{let gen=generation.current+=1;if(setState({scope:scope,value:null,error:null,loading:true}),userRef===null){setState({scope:scope,value:null,error:null,loading:false});return}let result=await read(client,petRef);gen===generation.current&&(result.ok?setState({scope:scope,value:result.value,error:null,loading:false}):setState({scope:scope,value:null,error:result.error,loading:false}))},[client,petRef,read,scope,userRef]);react.useEffect(()=>(load(),()=>{generation.current+=1}),[load]);let current=state.scope===scope?state:{value:null,error:null,loading:true},refresh=react.useCallback(()=>{load()},[load]),available=current.error===null||current.error.httpStatus!==404,error=available?current.error:null,status=current.loading?"loading":error!==null?"error":current.value===null?"empty":current.value.withheld?"populated":isEmpty(current.value)?"empty":"populated";return react.useMemo(()=>({status:status,value:current.value,error:error,available:available,refresh:refresh}),[status,current.value,error,available,refresh])}var readMarkers=(client,petRef)=>client.getMarkers(petRef),markersEmpty=value=>value.markers.length===0;function useRecordsMarkers(petRef){let state=useRecordsDepthRead(petRef,readMarkers,markersEmpty);return react.useMemo(()=>{let markers=state.available&&state.value!==null&&!state.value.withheld?state.value:null;return{status:state.status,markers:markers,available:state.available,error:state.error,refresh:state.refresh}},[state])}function mapTier(wire){let tier={url:wire.url,kind:wire.kind,expiresAt:wire.expires_at};return typeof wire.loop_duration_ms=="number"&&(tier.loopDurationMs=wire.loop_duration_ms),typeof wire.cache_key=="string"&&wire.cache_key.length>0&&(tier.cacheKey=wire.cache_key),/* @__PURE__ */Object.freeze(tier)}function mapPetStateResponse(wire){let tiers={};wire.tiers.animation&&(tiers.animation=mapTier(wire.tiers.animation)),wire.tiers.image&&(tiers.image=mapTier(wire.tiers.image));let overlays={};wire.overlays.weather_alert&&(overlays.weatherAlert=mapTier(wire.overlays.weather_alert));let response={category:wire.category,tiers:/* @__PURE__ */Object.freeze(tiers),overlays:/* @__PURE__ */Object.freeze(overlays),idle:"bundled",ttlSeconds:wire.ttl_seconds,degraded:wire.degraded};return typeof wire.cache_epoch=="number"&&(response.cacheEpoch=wire.cache_epoch),/* @__PURE__ */Object.freeze(response)}var mediaKindWireSchema=/* @__PURE__ */zod.z.enum(["webp","video"]),categoryWireSchema=/* @__PURE__ */zod.z.enum(["health","attention","moment","activity","mood","idle"]),petStateTierWireSchema=/* @__PURE__ */zod.z.object({url:/* @__PURE__ */zod.z.string(),kind:/* @__PURE__ */mediaKindWireSchema.default("webp"),loop_duration_ms:/* @__PURE__ */zod.z.number().nullish(),expires_at:/* @__PURE__ */zod.z.string(),cache_key:/* @__PURE__ */zod.z.string().nullish()}),petStateResponseWireSchema=/* @__PURE__ */zod.z.object({category:categoryWireSchema,tiers:/* @__PURE__ */zod.z.object({animation:/* @__PURE__ */petStateTierWireSchema.nullish(),image:/* @__PURE__ */petStateTierWireSchema.nullish()}).default({}),overlays:/* @__PURE__ */zod.z.object({weather_alert:/* @__PURE__ */petStateTierWireSchema.nullish()}).default({}),idle:/* @__PURE__ */zod.z.literal("bundled").default("bundled"),ttl_seconds:/* @__PURE__ */zod.z.number(),degraded:/* @__PURE__ */zod.z.boolean().default(false),cache_epoch:/* @__PURE__ */zod.z.number().default(0)});function parsePetStateWire(raw){let parsed=petStateResponseWireSchema.safeParse(raw);return parsed.success?parsed.data:null}function createPetStateRepository(auth){return createPetStateRepositoryOver(createRequestFunnel({auth:auth}))}function createPetStateRepositoryOver(funnel){return{async getState(petRef,opts){if(hasLoneSurrogate(petRef))return err(makeEverfurError("validationFailed",{retryable:false,wireMessage:"pet_ref contains an unpaired surrogate and cannot be encoded"}));let path=`/widget/v1/pets/${encodeURIComponent(petRef)}/state`,res=await funnel.send("animations.getState",opts?.signal?{method:"GET",path:path,signal:opts.signal}:{method:"GET",path:path},opts?.maxAttempts!==void 0?{maxAttempts:opts.maxAttempts}:void 0);if(res.ok){let wire=parsePetStateWire(res.value);return wire===null?err(makeEverfurError("internalError",{retryable:true})):ok(mapPetStateResponse(wire))}return res.error.httpStatus===404?ok(null):err(res.error)}}}var LOADING=/* @__PURE__ */Object.freeze({status:"loading"}),NONE=/* @__PURE__ */Object.freeze({status:"none"}),RETRY_MS=3e4,RECORDS_PET_ART_RETRIES_MS=/* @__PURE__ */Object.freeze([2e3,6e3]),NO_FAILURES=/* @__PURE__ */Object.freeze({animation:false,image:false});function recordsPetArtOf(read,failed,reducedMotion){if(read.kind==="pending")return LOADING;if(read.kind==="failed"||read.value===null)return NONE;let{animation:animation,image:image}=read.value.tiers;return animation!==void 0&&animation.kind==="webp"&&!reducedMotion&&!failed.animation?{status:"art",url:animation.url,key:animation.cacheKey??animation.url,animated:true}:image!==void 0&&image.kind==="webp"&&!failed.image?{status:"art",url:image.url,key:image.cacheKey??image.url,animated:false}:NONE}function useRecordsPetArt(petRef,opts){let context=react.useContext(EverfurContext),runtime=context?.runtime??null,userRef=context?.userRef??null,scope=runtime!==null&&userRef!==null&&petRef!==null?`${userRef}|${petRef}`:null,[read,setRead]=react.useState({scope:scope,read:{kind:"pending"}}),[failed,setFailed]=react.useState({scope:scope,failed:NO_FAILURES}),[due,setDue]=react.useState({scope:scope,at:0}),current=read.scope===scope?read.read:{kind:"pending"},done=current.kind==="answer"&&current.value===null,attempts=react.useRef({scope:scope,n:0});react.useEffect(()=>{if(scope===null||runtime===null||userRef===null||petRef===null||!opts.isFocused||done)return;let at=due.scope===scope?due.at:0,live=true,controller=typeof AbortController=="function"?new AbortController:null,run=()=>{createPetStateRepository(runtime.registry.services.authFor(userRef)).getState(petRef,controller?{signal:controller.signal,maxAttempts:1}:{maxAttempts:1}).then(result=>{if(!live)return;if(result.ok){attempts.current={scope:scope,n:0};let value=result.value;setRead(prev=>value!==null&&value.degraded&&prev.scope===scope&&prev.read.kind==="answer"&&prev.read.value!==null?prev:{scope:scope,read:{kind:"answer",value:value}}),value!==null&&(value.degraded||setFailed({scope:scope,failed:NO_FAILURES}),setDue({scope:scope,at:Date.now()+Math.max(30,value.ttlSeconds)*1e3}));return}if(result.error.httpStatus===403){setRead({scope:scope,read:{kind:"answer",value:null}});return}let n=attempts.current.scope===scope?attempts.current.n:0,quick=RECORDS_PET_ART_RETRIES_MS[n];attempts.current={scope:scope,n:n+1},setRead(prev=>prev.scope===scope&&prev.read.kind==="answer"?prev:quick!==void 0?{scope:scope,read:{kind:"pending"}}:{scope:scope,read:{kind:"failed"}}),setDue({scope:scope,at:Date.now()+(quick??RETRY_MS)})})},wait=Math.max(0,at-Date.now()),timer=wait===0?null:setTimeout(run,wait);return timer===null&&run(),()=>{live=false,timer!==null&&clearTimeout(timer),controller?.abort()}},[scope,runtime,userRef,petRef,opts.isFocused,done,due]);let failedNow=failed.scope===scope?failed.failed:NO_FAILURES,art=react.useMemo(()=>scope===null?NONE:recordsPetArtOf(current,failedNow,opts.reducedMotion),[scope,current,failedNow,opts.reducedMotion]),onError=react.useCallback(()=>{art.status==="art"&&setFailed(prev=>{let base2=prev.scope===scope?prev.failed:NO_FAILURES;return{scope:scope,failed:art.animated?{...base2,animation:true}:{...base2,image:true}}})},[art,scope]);return react.useMemo(()=>({art:art,onError:onError}),[art,onError])}var freezeInPlace=Object.freeze;function deepFreeze(value){if(value!==null&&typeof value=="object"&&!Object.isFrozen(value)){freezeInPlace(value);for(let key of Object.keys(value))deepFreeze(value[key])}return value}var TEXT_SCALE_TIER_CAPS=/* @__PURE__ */Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),SPACE={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},RADIUS={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},TYPE_SIZE={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},LINE_HEIGHT={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},WEIGHT={regular:"400",medium:"500",bold:"700"},LETTER_SPACING={eyebrow:1,monoWide:.9,headerBrand:-.42,tight:-.35},DEFAULT_MAX_FONT_SCALE=0,SYSTEM_FONT_FAMILY="System",SYSTEM_MONO_FAMILY="monospace",TIERS=["content","heading","control","compact","badge"];function authoredTierSizes(size){let out={};for(let tier of TIERS)out[tier]=size;return out}var NO_FONT_SOURCES=[];function baseType(){return{family:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,fontUrl:null,families:{regular:SYSTEM_FONT_FAMILY,medium:SYSTEM_FONT_FAMILY,bold:SYSTEM_FONT_FAMILY,mono:SYSTEM_MONO_FAMILY,monoMedium:SYSTEM_MONO_FAMILY,monoBold:SYSTEM_MONO_FAMILY},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:TYPE_SIZE,tierSizes:authoredTierSizes(TYPE_SIZE),lineHeight:LINE_HEIGHT,weight:WEIGHT,letterSpacing:LETTER_SPACING,scale:1,maxScale:DEFAULT_MAX_FONT_SCALE,scaleCaps:TEXT_SCALE_TIER_CAPS,headingFamily:null,headingWeight:null,fontSources:NO_FONT_SOURCES}}var NO_SLOTS={},EASING_CURVES=/* @__PURE__ */Object.freeze({standard:/* @__PURE__ */Object.freeze([.2,0,0,1]),emphasized:/* @__PURE__ */Object.freeze([.2,.8,.2,1]),exit:/* @__PURE__ */Object.freeze([.4,0,1,1])});function cssCubicBezier(curve){return`cubic-bezier(${curve.join(", ")})`}var MOTION={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:cssCubicBezier(EASING_CURVES.standard),emphasized:cssCubicBezier(EASING_CURVES.emphasized),exit:cssCubicBezier(EASING_CURVES.exit)},reducedMotion:false},LIGHT_COLOR={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FFFFFF",surfaceSubtle:"#F1F5F2",background:"#FFFFFF",borderRingCream:"#E4E4E4",chatGround:"#FFFFFF",composerFill:"#FFFFFF",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#000000",secondary:"#0E462E",muted:"#6B6B6B",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#C03410",onDanger:"#FFFFFF",errorRed:"#C03410",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(192,52,16,0.06)",badgeBgNeutral:"rgba(107,107,107,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#E9F1E9",scanButtonPink:"#FFC3BC",highlight:"#FFC3BC",onHighlight:"#000000",mark:"#07C168",controlEdge:"rgba(16,70,46,0.18)",structureEdge:"rgba(16,70,46,0.25)",primaryEdge:"#10462E",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)",info:"#10462E",badgeBgInfo:"rgba(16,70,46,0.10)",infoEdge:"rgba(16,70,46,0.25)"},EVERFUR_LIGHT=deepFreeze({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:LIGHT_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS}),DARK_COLOR={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A9A9A",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",onDanger:"#0E1F17",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#23272C",scanButtonPink:"#FFC3BC",highlight:"#605051",onHighlight:"#F5F3F0",mark:"#07C168",controlEdge:"rgba(107,211,154,0.22)",structureEdge:"rgba(107,211,154,0.28)",primaryEdge:"#6BD39A",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)",info:"#6BD39A",badgeBgInfo:"rgba(107,211,154,0.12)",infoEdge:"rgba(107,211,154,0.28)"},EVERFUR_DARK=deepFreeze({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false,assistantAvatarUrl:null},color:DARK_COLOR,space:SPACE,radius:RADIUS,type:baseType(),motion:MOTION,slots:NO_SLOTS});var EVERFUR_THEME_CONTEXT_SYMBOL=/* @__PURE__ */Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),globalThemeHost=globalThis,EverfurThemeContext=globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]??(globalThemeHost[EVERFUR_THEME_CONTEXT_SYMBOL]=react.createContext(EVERFUR_LIGHT));EverfurThemeContext.displayName??="EverfurThemeContext";function useEverfurTheme(){return react.useContext(EverfurThemeContext)}var VERSION=typeof __EVERFUR_SDK_VERSION__=="string"&&__EVERFUR_SDK_VERSION__.length>0?__EVERFUR_SDK_VERSION__:SDK_VERSION,ORIGIN=typeof __EVERFUR_CDN_ORIGIN__=="string"&&__EVERFUR_CDN_ORIGIN__.length>0?__EVERFUR_CDN_ORIGIN__:"https://sdk.everfur.com",RECORDS_GRASS_URL=`${ORIGIN}/${VERSION}/assets/grass.webp`,GRASS_WIDTH=1520,GRASS_HEIGHT=479;function parseColor(value){let rgba=toRgba(value);return rgba===null?null:normalizeRgba(rgba)}function toRgba(value){if(typeof value=="number")return argbIntToRgba(value);if(typeof value!="string")return null;let s=value.trim();if(s.length===0)return null;if(s.startsWith("#"))return fromHex(s.slice(1));if(s.toLowerCase().startsWith("0x"))return fromHex(s.slice(2));if(s.toLowerCase().startsWith("rgb"))return fromRgbFunc(s);if(/^[0-9a-fA-F]+$/.test(s)){let hex=fromHex(s);if(hex!==null)return hex}return/^\d+$/.test(s)?argbIntToRgba(Number.parseInt(s,10)):null}function fromHex(hex){let h=hex.trim();if(!/^[0-9a-fA-F]+$/.test(h))return null;if(h.length===3)return{r:dup(h[0]),g:dup(h[1]),b:dup(h[2]),a:1};if(h.length===6)return{r:byte(h,0),g:byte(h,2),b:byte(h,4),a:1};if(h.length===8){let a=byte(h,0);return{r:byte(h,2),g:byte(h,4),b:byte(h,6),a:a/255}}return null}function fromRgbFunc(input){let open=input.indexOf("("),close=input.indexOf(")");if(open<0||close<0||close<open)return null;let parts=input.slice(open+1,close).split(",").map(p=>p.trim());if(parts.length<3)return null;let r=clampByte(Number(parts[0])),g=clampByte(Number(parts[1])),b=clampByte(Number(parts[2]));if(r===null||g===null||b===null)return null;let a=1;if(parts.length>=4){let alpha=Number(parts[3]);if(!Number.isFinite(alpha))return null;a=Math.min(1,Math.max(0,alpha))}return{r:r,g:g,b:b,a:a}}function argbIntToRgba(n){if(!Number.isFinite(n))return null;let int=Math.trunc(n)>>>0,a=int>>>24&255;return{r:int>>>16&255,g:int>>>8&255,b:int&255,a:a===0?1:a/255}}function byte(hex,at){return Number.parseInt(hex.slice(at,at+2),16)}function dup(nibble){return Number.parseInt(`${nibble??"0"}${nibble??"0"}`,16)}function clampByte(n){return Number.isFinite(n)?Math.min(255,Math.max(0,Math.round(n))):null}function normalizeRgba(rgba){if(rgba.a>=1)return rgbToHex(rgba.r,rgba.g,rgba.b);let a=Math.round(rgba.a*1e3)/1e3;return`rgba(${rgba.r},${rgba.g},${rgba.b},${a})`}function rgbToHex(r,g,b){return`#${hex2(r)}${hex2(g)}${hex2(b)}`.toUpperCase()}function hex2(n){return n.toString(16).padStart(2,"0")}var NEAR_BLACK="#111111",WHITE="#FFFFFF",BLACK="#000000";function readableOn(background){let rgba=toRgba(background);if(rgba===null)return WHITE;let bg=relativeLuminance(rgba),black=relativeLuminance({r:17,g:17,b:17}),white=relativeLuminance({r:255,g:255,b:255});return luminanceContrast(bg,white)>=luminanceContrast(bg,black)?WHITE:NEAR_BLACK}function legibleOn(background,target){let first=readableOn(background);return contrastRatio(first,background)>=target?first:contrastRatio(WHITE,background)>=contrastRatio(BLACK,background)?WHITE:BLACK}function poleForGrounds(grounds){let worst=ink=>grounds.reduce((low,ground)=>Math.min(low,contrastRatio(ink,ground)),Number.POSITIVE_INFINITY);return worst(WHITE)>=worst(BLACK)?WHITE:BLACK}function relativeLuminance(rgba){let r=linearize(rgba.r/255),g=linearize(rgba.g/255),b=linearize(rgba.b/255);return.2126*r+.7152*g+.0722*b}function linearize(channel){return channel<=.03928?channel/12.92:Math.pow((channel+.055)/1.055,2.4)}function luminanceContrast(l1,l2){let lighter=Math.max(l1,l2),darker=Math.min(l1,l2);return(lighter+.05)/(darker+.05)}function contrastRatio(a,b){let fg=toRgba(a),bg=toRgba(b);if(fg===null||bg===null)return 1;let ground=bg.a>=1?bg:{...bg},fore=fg.a>=1?fg:composite(fg,ground);return luminanceContrast(relativeLuminance(fore),relativeLuminance(ground))}function composite(fg,bg){let a=fg.a,mix=(f,g)=>Math.round(f*a+g*(1-a));return{r:mix(fg.r,bg.r),g:mix(fg.g,bg.g),b:mix(fg.b,bg.b),a:1}}function flattenOnto(color,background){let fg=toRgba(color),bg=toRgba(background);if(fg===null||bg===null)return null;let out=fg.a>=1?fg:composite(fg,{...bg});return rgbToHex(out.r,out.g,out.b)}function withAlpha(color,alpha){let rgba=toRgba(color);if(rgba===null)return null;let a=Math.min(1,Math.max(0,alpha));return`rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${a})`}var PUSH_STEP=.05;function pushToContrast(color,grounds,pole,target){let first=grounds[0];if(first===void 0)return pole;let reads=candidate=>grounds.every(ground=>contrastRatio(candidate,ground)>=target);if(toRgba(color)===null)return pole;if(reads(color))return color;let flat=flattenOnto(color,first),from=flat===null?null:toRgba(flat),to=toRgba(pole);if(from===null||to===null)return pole;for(let step=1;step<1/PUSH_STEP;step+=1){let t=step*PUSH_STEP,mix=(a,b)=>Math.round(a+(b-a)*t),candidate=rgbToHex(mix(from.r,to.r),mix(from.g,to.g),mix(from.b,to.b));if(reads(candidate))return candidate}return pole}var RAPH_V3_LIGHT=/* @__PURE__ */Object.freeze({ink:"#262523",ink2:"#4A4845",ink3:"#6B6863",paper:"#F8F7F4",card:"#FFFFFF",line:"#E7E6E2",tile:"#F2F1EE",shadow:"rgba(38, 37, 35, .07)",riskBg:"#FFE3E1",riskInk:"#B0231B",riskDot:"#E5372B",clearBg:"#E6F4D3",clearInk:"#2F6A12",clearDot:"#5FA82B",watchDot:"#E5A000"}),cache=/* @__PURE__ */new WeakMap;function v3Palette(theme){let hit=cache.get(theme);if(hit!==void 0)return hit;let c=theme.color,dark=theme.brightness==="dark",neutrals=dark?{dark:dark,ink:c.text.primary,ink2:c.text.secondary,ink3:c.text.muted,paper:c.background,card:c.surface,line:c.borderRingCream,tile:c.surfaceSubtle,shadow:c.shadow,riskBg:c.badgeBgCritical,riskInk:c.danger,riskDot:c.danger,clearBg:c.badgeBgPositive,clearInk:c.success,clearDot:c.success,watchDot:c.warningStrong}:{dark:dark,...RAPH_V3_LIGHT},textOn=(ink,grounds)=>pushToContrast(ink,grounds,poleForGrounds(grounds),V3_TEXT_CONTRAST),labelOn=(ink,fill2)=>contrastRatio(ink,fill2)>=V3_TEXT_CONTRAST?ink:legibleOn(fill2,V3_TEXT_CONTRAST),badgeGrounds=[neutrals.card,neutrals.paper].map(under=>flattenOnto(c.brandSoft,under)??under),brand={primary:c.primary,onPrimary:labelOn(c.onPrimary,c.primary),accent:c.accent,onAccent:labelOn(c.onAccent,c.accent),link:textOn(c.linkInk,[neutrals.card,neutrals.paper,neutrals.tile]),badge:c.brandSoft,onBadge:textOn(c.brandInk,badgeGrounds)},palette=/* @__PURE__ */Object.freeze({...neutrals,...brand});return cache.set(theme,palette),palette}var V3_TEXT_CONTRAST=4.5;function v3InkOn(fill2,inks){for(let ink of inks)if(contrastRatio(ink,fill2)>=V3_TEXT_CONTRAST)return ink;return legibleOn(fill2,V3_TEXT_CONTRAST)}var RAPH_RECORDS_RULES=/* @__PURE__ */Object.freeze({".efh":/* @__PURE__ */Object.freeze({display:"grid",gap:"12px",fontFamily:"$font",fontSize:"15px",lineHeight:"1.5",color:"#000000"}),".efh-pill":/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",minHeight:"24px",padding:"0 10px",borderRadius:"999px",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1",letterSpacing:".06em",textTransform:"uppercase",whiteSpace:"nowrap",color:"#10462E"}),".efh-pill--clear":/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#07C168",boxShadow:"inset 0 0 0 1.5px #07C168"}),".efh-pill--high":/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#C03410",boxShadow:"inset 0 0 0 1.25px #C03410"}),".efh-card":/* @__PURE__ */Object.freeze({padding:"16px",background:"#FFFFFF",borderRadius:"20px",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.09), 0 6px 18px -10px rgba(0, 0, 0, 0.14)"}),".efh-card__head":/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"8px 16px",marginBottom:"12px"}),".efh-card__title":/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"18px",lineHeight:"1.25",letterSpacing:"-.02em",color:"#10462E"}),".efh-card > .efh-card__title":/* @__PURE__ */Object.freeze({marginBottom:"12px"}),".efh-btn":/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",minHeight:"48px",padding:"0 20px",borderRadius:"999px",fontWeight:"700",fontSize:"16px",lineHeight:"1",whiteSpace:"nowrap",transition:"transform 160ms cubic-bezier(0.23, 1, 0.32, 1), background-color 180ms ease"}),".efh-btn--ink":/* @__PURE__ */Object.freeze({background:"#10462E",color:"#FFFFFF"}),".efh-btn--row":/* @__PURE__ */Object.freeze({minHeight:"40px",padding:"0 16px",fontSize:"15px"}),".efh-latest b":/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"32px",lineHeight:"1",letterSpacing:"-.02em",color:"#C03410"}),".efh-latest small":/* @__PURE__ */Object.freeze({fontSize:"15px",color:"#6B6B6B"}),".efh-wchart":/* @__PURE__ */Object.freeze({minWidth:"0",margin:"20px 0 0"}),".efh-wchart__body":/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"8px 82px minmax(0, 1fr)",columnGap:"8px"}),".efh-wchart__rail":/* @__PURE__ */Object.freeze({position:"relative",height:"148px",display:"grid",gridTemplateRows:"1fr 2fr 1fr",overflow:"hidden",borderRadius:"2px"}),".efh-wchart__legend":/* @__PURE__ */Object.freeze({position:"relative",height:"148px"}),".efh-wchart__plot":/* @__PURE__ */Object.freeze({position:"relative",height:"148px"}),".efh-wchart__rail span":/* @__PURE__ */Object.freeze({background:"#E4E4E4"}),".efh-wchart__rail span:nth-child(2)":/* @__PURE__ */Object.freeze({background:"#07C168"}),".efh-range":/* @__PURE__ */Object.freeze({position:"absolute",left:"0",right:"0",display:"flex",alignItems:"center",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1.2",letterSpacing:".02em",textTransform:"uppercase",color:"#3D3D3D"}),".efh-range--over":/* @__PURE__ */Object.freeze({top:"0",height:"25%"}),".efh-range--in":/* @__PURE__ */Object.freeze({top:"25%",height:"50%"}),".efh-range--under":/* @__PURE__ */Object.freeze({top:"75%",height:"25%"}),".efh-wchart__plot svg":/* @__PURE__ */Object.freeze({position:"absolute",inset:"0",width:"100%",height:"100%",overflow:"visible"}),".efh-wchart__band":/* @__PURE__ */Object.freeze({fill:"#DCF6EA"}),".efh-wchart__grid":/* @__PURE__ */Object.freeze({stroke:"#E4E4E4",strokeWidth:"1",vectorEffect:"non-scaling-stroke"}),".efh-wchart__line":/* @__PURE__ */Object.freeze({fill:"none",stroke:"#000000",strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"}),".efh-draw":/* @__PURE__ */Object.freeze({position:"absolute",inset:"0"}),".efh-wpt":/* @__PURE__ */Object.freeze({position:"absolute",width:"7px",height:"7px",translate:"-50% -50%",borderRadius:"50%",background:"#07C168",boxShadow:"0 0 0 1.5px #FFFFFF"}),".efh-wpt--lg":/* @__PURE__ */Object.freeze({width:"12px",height:"12px"}),".efh-wpt--out":/* @__PURE__ */Object.freeze({background:"#C03410"}),".efh-wval":/* @__PURE__ */Object.freeze({position:"absolute",left:"50%",bottom:"calc(100% + 4px)",translate:"-50% 0",fontWeight:"500",fontSize:"12px",lineHeight:"1",color:"#3D3D3D",whiteSpace:"nowrap"}),".efh-wval--out":/* @__PURE__ */Object.freeze({fontWeight:"700",color:"#C03410"}),".efh-wchart__x":/* @__PURE__ */Object.freeze({position:"relative",height:"18px",margin:"8px 0 0 106px"}),".efh-wchart__x span":/* @__PURE__ */Object.freeze({position:"absolute",top:"0",translate:"-50% 0",fontFamily:"$mono",fontSize:"12px",lineHeight:"1.3",color:"#6B6B6B",whiteSpace:"nowrap"}),".efh-lab":/* @__PURE__ */Object.freeze({padding:"8px 16px 96px"}),".efh-titles":/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",paddingTop:"4px"}),".efh-title":/* @__PURE__ */Object.freeze({fontWeight:"500",fontSize:"22px",lineHeight:"1.2",letterSpacing:"-.015em",color:"#10462E"}),".efh-smeta":/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"13px",lineHeight:"1.45",color:"#6B6B6B"}),".efh-latest":/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px"}),".efh-chg":/* @__PURE__ */Object.freeze({marginTop:"12px",fontSize:"15px"}),".efh-chg b":/* @__PURE__ */Object.freeze({color:"#10462E"}),".efh-ctx":/* @__PURE__ */Object.freeze({display:"grid",gap:"12px",fontSize:"17px",lineHeight:"1.55"}),".efh-mks":/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",margin:"0 -8px",padding:"0",listStyle:"none"}),".efh-mk":/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1fr) 96px",gridTemplateRows:"auto auto",alignItems:"center",columnGap:"12px",padding:"10px 8px"}),".efh-mk__name":/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"}),".efh-mk__line":/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"0 6px",marginTop:"1px",fontSize:"13px",lineHeight:"1.4",color:"#6B6B6B",fontVariantNumeric:"tabular-nums"}),".efh-mk__line b":/* @__PURE__ */Object.freeze({fontSize:"17px",color:"#000000"}),".efh-mkbar":/* @__PURE__ */Object.freeze({gridColumn:"2",gridRow:"1 / 3",position:"relative",display:"block",height:"6px",borderRadius:"999px",background:"#ECECEC"}),".efh-mkbar__in":/* @__PURE__ */Object.freeze({position:"absolute",inset:"0 20%",borderRadius:"inherit",background:"#07C168"}),".efh-mkbar__dot":/* @__PURE__ */Object.freeze({position:"absolute",top:"50%",left:"var(--at, 50%)",width:"10px",height:"10px",translate:"-50% -50%",border:"2px solid #FFFFFF",borderRadius:"50%",background:"#10462E"}),".efh-peek .efh-mk__name":/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"8px"}),".emb-btn":/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",minHeight:"48px",padding:"0 22px",borderRadius:"999px",background:"#262523",color:"#fff",fontWeight:"700",fontSize:"16px",textDecoration:"none",transition:"transform 160ms cubic-bezier(0.23, 1, 0.32, 1), opacity 160ms ease"}),".emb-btn--sm":/* @__PURE__ */Object.freeze({minHeight:"40px",padding:"0 16px",fontSize:"15px"}),".dot":/* @__PURE__ */Object.freeze({display:"inline-block",width:"9px",height:"9px",borderRadius:"50%",flex:"none"}),".dot--risk":/* @__PURE__ */Object.freeze({background:"#E5372B"}),".rec-top":/* @__PURE__ */Object.freeze({display:"grid",gap:"8px",justifyItems:"start",padding:"16px 18px 18px",borderRadius:"22px",background:"#FFCE34"}),".rec-top__k":/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"7px",fontFamily:"$mono",fontSize:"10.5px",letterSpacing:".06em",textTransform:"uppercase",color:"#4A4845"}),".rec-top__t":/* @__PURE__ */Object.freeze({fontSize:"17px",fontWeight:"700",lineHeight:"1.35"}),".rec-top .emb-btn":/* @__PURE__ */Object.freeze({marginTop:"4px"}),".ph-toast":/* @__PURE__ */Object.freeze({position:"absolute",left:"16px",right:"16px",top:"112px",zIndex:"50",background:"#262523",color:"#fff",borderRadius:"16px",padding:"12px 15px",fontSize:"14.5px",lineHeight:"1.4",opacity:"0",transform:"translateY(-8px)",pointerEvents:"none",transition:"opacity 160ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"}),".ph-toast.is-on":/* @__PURE__ */Object.freeze({opacity:"1",transform:"none",transitionDuration:"220ms"})}),WEB_HEALTH_RULES=/* @__PURE__ */Object.freeze({".efw-root":/* @__PURE__ */Object.freeze([[10000001,/* @__PURE__ */Object.freeze({colorScheme:"light"})],[10000002,/* @__PURE__ */Object.freeze({"--efw-card-pad":"24px"})],[10000003,/* @__PURE__ */Object.freeze({fontSize:"17px",lineHeight:"1.55",margin:"0"})],[10000012,/* @__PURE__ */Object.freeze({margin:"0",fontFamily:"$font",fontSize:"17px",lineHeight:"1.55",color:"#000000",background:"#FFFFFF",WebkitFontSmoothing:"antialiased"})]]),".efw-root h2":/* @__PURE__ */Object.freeze([[10100005,/* @__PURE__ */Object.freeze({color:"#10462E",lineHeight:"1.15",fontWeight:"700"})],[10100009,/* @__PURE__ */Object.freeze({fontSize:"32px"})],[10100017,/* @__PURE__ */Object.freeze({margin:"0"})],[10100023,/* @__PURE__ */Object.freeze({color:"#10462E",fontWeight:"500"})]]),".efw-root h3":/* @__PURE__ */Object.freeze([[10100006,/* @__PURE__ */Object.freeze({color:"#10462E",lineHeight:"1.15",fontWeight:"700"})],[10100010,/* @__PURE__ */Object.freeze({fontSize:"24px"})],[10100018,/* @__PURE__ */Object.freeze({margin:"0"})],[10100024,/* @__PURE__ */Object.freeze({color:"#10462E",fontWeight:"500"})]]),".efw-root h4":/* @__PURE__ */Object.freeze([[10100007,/* @__PURE__ */Object.freeze({color:"#10462E",lineHeight:"1.15",fontWeight:"700"})]]),".efw-root small":/* @__PURE__ */Object.freeze([[10100011,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-root img":/* @__PURE__ */Object.freeze([[10100013,/* @__PURE__ */Object.freeze({display:"block",maxWidth:"100%"})]]),".efw-root a":/* @__PURE__ */Object.freeze([[10100014,/* @__PURE__ */Object.freeze({color:"inherit"})]]),".efw-root p":/* @__PURE__ */Object.freeze([[10100015,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-root ul":/* @__PURE__ */Object.freeze([[10100019,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-root ol":/* @__PURE__ */Object.freeze([[10100020,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-root figure":/* @__PURE__ */Object.freeze([[10100021,/* @__PURE__ */Object.freeze({margin:"0"})]]),".efw-visually-hidden":/* @__PURE__ */Object.freeze([[20000025,/* @__PURE__ */Object.freeze({position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap"})]]),".efw-btn":/* @__PURE__ */Object.freeze([[20000026,/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",borderRadius:"999px",border:"0 solid #10462E",font:"inherit",textDecoration:"none",whiteSpace:"nowrap",cursor:"pointer",touchAction:"manipulation",transition:"background-color 180ms ease, color 180ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-btn--ink":/* @__PURE__ */Object.freeze([[20000027,/* @__PURE__ */Object.freeze({minHeight:"52px",padding:"0 24px",background:"#10462E",color:"#FFFFFF",border:"1.5px solid #FFFFFF",fontSize:"17px",fontWeight:"700",lineHeight:"1"})],[20000043,/* @__PURE__ */Object.freeze({borderColor:"#10462E"})]]),".efw-btn--outline":/* @__PURE__ */Object.freeze([[20000028,/* @__PURE__ */Object.freeze({minHeight:"52px",padding:"0 24px",background:"transparent",color:"#10462E",borderWidth:"1.5px",fontSize:"17px",lineHeight:"1"})]]),".efw-ico":/* @__PURE__ */Object.freeze([[20000029,/* @__PURE__ */Object.freeze({display:"block",flex:"none",width:"24px",height:"24px"})]]),".efw-card":/* @__PURE__ */Object.freeze([[20000030,/* @__PURE__ */Object.freeze({padding:"var(--efw-card-pad)",background:"#FFFFFF",border:"1px solid #E4E4E4",borderRadius:"20px"})]]),".efw-card__head":/* @__PURE__ */Object.freeze([[20000031,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"8px 16px",marginBottom:"16px"})]]),".efw-card__title":/* @__PURE__ */Object.freeze([[20000032,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"20px",lineHeight:"1.25",letterSpacing:"-0.02em"})]]),".efw-card__link":/* @__PURE__ */Object.freeze([[20000033,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"15px",lineHeight:"1.4",color:"#10462E",textDecoration:"none",whiteSpace:"nowrap"})]]),".efw-pill":/* @__PURE__ */Object.freeze([[20000034,/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",minHeight:"24px",padding:"0 10px",borderRadius:"999px",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1",letterSpacing:"0.06em",textTransform:"uppercase",whiteSpace:"nowrap"})]]),".efw-pill--overdue":/* @__PURE__ */Object.freeze([[20000036,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#C03410",boxShadow:"inset 0 0 0 1.25px #C03410"})]]),".efw-pill--soon":/* @__PURE__ */Object.freeze([[20000037,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#10462E",boxShadow:"inset 0 0 0 1.25px #F6D892"})]]),".efw-pill--later":/* @__PURE__ */Object.freeze([[20000038,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#6B6B6B",boxShadow:"inset 0 0 0 1.25px #E4E4E4"})]]),".efw-pill--clear":/* @__PURE__ */Object.freeze([[20000039,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#07C168",boxShadow:"inset 0 0 0 1.5px #07C168"})]]),".efw-pill--plain":/* @__PURE__ */Object.freeze([[20000040,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#10462E",boxShadow:"inset 0 0 0 1.5px rgba(16, 70, 46, 0.2)"})]]),".efw-btn--sm":/* @__PURE__ */Object.freeze([[20000041,/* @__PURE__ */Object.freeze({minHeight:"46px",padding:"0 16px",fontSize:"15px"})]]),".efw-btn--sm .efw-ico":/* @__PURE__ */Object.freeze([[30000042,/* @__PURE__ */Object.freeze({width:"20px",height:"20px"})]]),".efw-card--pet":/* @__PURE__ */Object.freeze([[20000044,/* @__PURE__ */Object.freeze({overflow:"hidden",paddingBottom:"0"})]]),".efw-pet__head":/* @__PURE__ */Object.freeze([[20000045,/* @__PURE__ */Object.freeze({position:"relative",zIndex:"1",display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px"})]]),".efw-pet__name":/* @__PURE__ */Object.freeze([[20000046,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"24px",lineHeight:"1.1",letterSpacing:"-0.02em"})]]),".efw-pet__meta":/* @__PURE__ */Object.freeze([[20000047,/* @__PURE__ */Object.freeze({fontSize:"13px",lineHeight:"1.4",letterSpacing:"0.02em",textTransform:"uppercase",color:"#6B6B6B"})]]),".efw-stage":/* @__PURE__ */Object.freeze([[20000049,/* @__PURE__ */Object.freeze({position:"relative",aspectRatio:"16 / 9",margin:"calc(8px * -1) calc(var(--efw-card-pad) * -1) 0"})]]),".efw-stage__grass":/* @__PURE__ */Object.freeze([[20000050,/* @__PURE__ */Object.freeze({position:"absolute",left:"0",bottom:"0",width:"100%",height:"40%",objectFit:"cover",objectPosition:"50% 0"})]]),".efw-stage__pet":/* @__PURE__ */Object.freeze([[20000051,/* @__PURE__ */Object.freeze({position:"absolute",left:"50%",bottom:"7%",height:"88%",width:"auto",maxWidth:"none",translate:"-50% 0"})]]),".efw-stage__info":/* @__PURE__ */Object.freeze([[20000052,/* @__PURE__ */Object.freeze({position:"absolute",top:"10%",left:"var(--efw-card-pad)",display:"grid",gap:"16px",maxWidth:"38%"})]]),".efw-vitals":/* @__PURE__ */Object.freeze([[20000053,/* @__PURE__ */Object.freeze({display:"grid",gap:"14px",margin:"0",padding:"0",listStyle:"none"})]]),".efw-vitals li":/* @__PURE__ */Object.freeze([[20100054,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"10px"})]]),".efw-vitals .efw-ico":/* @__PURE__ */Object.freeze([[30000055,/* @__PURE__ */Object.freeze({width:"28px",height:"28px"})]]),".efw-vitals b":/* @__PURE__ */Object.freeze([[20100056,/* @__PURE__ */Object.freeze({fontSize:"24px",lineHeight:"1",letterSpacing:"-0.02em",color:"#000000"})]]),".efw-vitals small":/* @__PURE__ */Object.freeze([[20100057,/* @__PURE__ */Object.freeze({fontWeight:"500",fontSize:"13px",color:"#6B6B6B"})]]),".efw-ico--thermo":/* @__PURE__ */Object.freeze([[20000058,/* @__PURE__ */Object.freeze({color:"#10462E"})]]),".efw-ico--heart":/* @__PURE__ */Object.freeze([[20000059,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-ico--wind":/* @__PURE__ */Object.freeze([[20000060,/* @__PURE__ */Object.freeze({color:"#4E98C9"})]]),".efw-tiles":/* @__PURE__ */Object.freeze([[20000061,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:"16px",margin:"0",padding:"0",listStyle:"none"})]]),".efw-tile":/* @__PURE__ */Object.freeze([[20000062,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateRows:"auto 1fr auto",gap:"12px",minHeight:"164px",padding:"24px",borderRadius:"20px",color:"#10462E",textDecoration:"none",boxShadow:"inset 0 0 0 1px transparent",transition:"box-shadow 150ms ease"})]]),".efw-tile--sage":/* @__PURE__ */Object.freeze([[20000063,/* @__PURE__ */Object.freeze({background:"#E6ECE8"})]]),".efw-tile--pink":/* @__PURE__ */Object.freeze([[20000064,/* @__PURE__ */Object.freeze({background:"#FFEAE8"})]]),".efw-tile--blue":/* @__PURE__ */Object.freeze([[20000065,/* @__PURE__ */Object.freeze({background:"#EAEEF6"})]]),".efw-tile--yellow":/* @__PURE__ */Object.freeze([[20000066,/* @__PURE__ */Object.freeze({background:"#FCF0D6"})]]),".efw-tile__top":/* @__PURE__ */Object.freeze([[20000067,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"flex-start",justifyContent:"space-between"})]]),".efw-tile__top .efw-ico":/* @__PURE__ */Object.freeze([[30000068,/* @__PURE__ */Object.freeze({width:"22px",height:"22px",color:"#10462E"})]]),".efw-tile__top .efw-ico--chev":/* @__PURE__ */Object.freeze([[30000069,/* @__PURE__ */Object.freeze({width:"20px",height:"20px",color:"#819E90"})]]),".efw-tile__title":/* @__PURE__ */Object.freeze([[20000070,/* @__PURE__ */Object.freeze({alignSelf:"end",fontWeight:"700",fontSize:"17px",lineHeight:"1.25",letterSpacing:"-0.01em"})]]),".efw-tile__foot":/* @__PURE__ */Object.freeze([[20000071,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"8px",minHeight:"28px"})]]),".efw-tile__num":/* @__PURE__ */Object.freeze([[20000072,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"24px",lineHeight:"1",letterSpacing:"-0.02em"})]]),".efw-tile__unit":/* @__PURE__ */Object.freeze([[20000073,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-card--pink":/* @__PURE__ */Object.freeze([[20000074,/* @__PURE__ */Object.freeze({background:"#FFF6F5",scrollMarginTop:"calc(72px + 16px)"})],[20000075,/* @__PURE__ */Object.freeze({display:"flex",flexDirection:"column"})]]),".efw-add":/* @__PURE__ */Object.freeze([[20000076,/* @__PURE__ */Object.freeze({flex:"1",display:"flex",flexDirection:"column",gap:"12px"})]]),".efw-add__head":/* @__PURE__ */Object.freeze([[20000077,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"8px"})]]),".efw-add__head .efw-ico":/* @__PURE__ */Object.freeze([[30000078,/* @__PURE__ */Object.freeze({width:"26px",height:"26px",color:"#C03410"})]]),".efw-add p":/* @__PURE__ */Object.freeze([[20100079,/* @__PURE__ */Object.freeze({fontSize:"15px",lineHeight:"1.5"})]]),".efw-add .efw-btn":/* @__PURE__ */Object.freeze([[30000080,/* @__PURE__ */Object.freeze({width:"100%"})]]),".efw-add__actions":/* @__PURE__ */Object.freeze([[20000081,/* @__PURE__ */Object.freeze({display:"grid",gap:"12px",marginTop:"auto",paddingTop:"4px"})]]),".efw-sources":/* @__PURE__ */Object.freeze([[20000082,/* @__PURE__ */Object.freeze({display:"grid",gap:"6px",margin:"4px 0 0",padding:"0",listStyle:"none"})]]),".efw-sources li":/* @__PURE__ */Object.freeze([[20100083,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"0 12px",padding:"10px 14px",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.4"})]]),".efw-sources li span:last-child":/* @__PURE__ */Object.freeze([[30200084,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-card--pink .efw-btn--outline":/* @__PURE__ */Object.freeze([[30000085,/* @__PURE__ */Object.freeze({background:"#FFFFFF",borderWidth:"1.5px",fontWeight:"700"})]]),".efw-wt__num":/* @__PURE__ */Object.freeze([[20000086,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"baseline",gap:"8px",marginBottom:"16px"})]]),".efw-wt__num b":/* @__PURE__ */Object.freeze([[20100087,/* @__PURE__ */Object.freeze({fontSize:"32px",lineHeight:"1",letterSpacing:"-0.02em",color:"#10462E"})]]),".efw-wt__num span":/* @__PURE__ */Object.freeze([[20100088,/* @__PURE__ */Object.freeze({fontSize:"15px",color:"#6B6B6B"})]]),".efw-wchart":/* @__PURE__ */Object.freeze([[20000089,/* @__PURE__ */Object.freeze({"--efw-plot-h":"176px",minWidth:"0"})]]),".efw-wchart__body":/* @__PURE__ */Object.freeze([[20000090,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"8px 64px minmax(0, 1fr)",columnGap:"8px"})]]),".efw-wchart__rail":/* @__PURE__ */Object.freeze([[20000091,/* @__PURE__ */Object.freeze({position:"relative",height:"var(--efw-plot-h)"})],[20000094,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateRows:"1fr 2fr 1fr",overflow:"hidden",borderRadius:"2px"})]]),".efw-wchart__legend":/* @__PURE__ */Object.freeze([[20000092,/* @__PURE__ */Object.freeze({position:"relative",height:"var(--efw-plot-h)"})]]),".efw-wchart__plot":/* @__PURE__ */Object.freeze([[20000093,/* @__PURE__ */Object.freeze({position:"relative",height:"var(--efw-plot-h)"})]]),".efw-wchart__rail span":/* @__PURE__ */Object.freeze([[20100095,/* @__PURE__ */Object.freeze({background:"#E4E4E4"})]]),".efw-wchart__rail span:nth-child(2)":/* @__PURE__ */Object.freeze([[30100096,/* @__PURE__ */Object.freeze({background:"#07C168"})]]),".efw-range":/* @__PURE__ */Object.freeze([[20000097,/* @__PURE__ */Object.freeze({position:"absolute",left:"0",right:"0",display:"flex",alignItems:"center",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1.2",letterSpacing:"0.02em",textTransform:"uppercase",color:"#3D3D3D"})]]),".efw-range--over":/* @__PURE__ */Object.freeze([[20000098,/* @__PURE__ */Object.freeze({top:"0",height:"25%"})]]),".efw-range--in":/* @__PURE__ */Object.freeze([[20000099,/* @__PURE__ */Object.freeze({top:"25%",height:"50%"})]]),".efw-range--under":/* @__PURE__ */Object.freeze([[20000100,/* @__PURE__ */Object.freeze({top:"75%",height:"25%"})]]),".efw-wchart__plot svg":/* @__PURE__ */Object.freeze([[20100101,/* @__PURE__ */Object.freeze({position:"absolute",inset:"0",width:"100%",height:"100%",overflow:"visible"})]]),".efw-wchart__band":/* @__PURE__ */Object.freeze([[20000102,/* @__PURE__ */Object.freeze({fill:"#DCF6EA"})]]),".efw-wchart__grid":/* @__PURE__ */Object.freeze([[20000103,/* @__PURE__ */Object.freeze({stroke:"#E4E4E4",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]]),".efw-wchart__drop":/* @__PURE__ */Object.freeze([[20000104,/* @__PURE__ */Object.freeze({stroke:"#E4E4E4",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]]),".efw-wchart__line":/* @__PURE__ */Object.freeze([[20000105,/* @__PURE__ */Object.freeze({fill:"none",stroke:"#000000",strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})]]),".efw-wchart__pt":/* @__PURE__ */Object.freeze([[20000106,/* @__PURE__ */Object.freeze({position:"absolute",width:"11px",height:"11px",translate:"-50% -50%",border:"1.5px solid #FFFFFF",borderRadius:"50%",background:"#07C168"})]]),".efw-wchart__pt--low":/* @__PURE__ */Object.freeze([[20000107,/* @__PURE__ */Object.freeze({background:"#F2C763"})]]),".efw-wchart__val":/* @__PURE__ */Object.freeze([[20000108,/* @__PURE__ */Object.freeze({position:"absolute",left:"50%",bottom:"calc(100% + 4px)",translate:"-50% 0",fontWeight:"500",fontSize:"12px",lineHeight:"1",color:"#3D3D3D",whiteSpace:"nowrap"})]]),".efw-wchart__pt--below .efw-wchart__val":/* @__PURE__ */Object.freeze([[30000109,/* @__PURE__ */Object.freeze({bottom:"auto",top:"calc(100% + 4px)"})]]),".efw-wchart__x":/* @__PURE__ */Object.freeze([[20000110,/* @__PURE__ */Object.freeze({position:"relative",height:"18px",margin:"8px 0 0 calc(8px + 64px + 8px * 2)"})]]),".efw-wchart__x span":/* @__PURE__ */Object.freeze([[20100111,/* @__PURE__ */Object.freeze({position:"absolute",top:"0",translate:"-50% 0",fontFamily:"$mono",fontSize:"12px",lineHeight:"1.3",color:"#6B6B6B",whiteSpace:"nowrap"})]]),".efw-due":/* @__PURE__ */Object.freeze([[20000113,/* @__PURE__ */Object.freeze({display:"grid",gap:"4px",margin:"0 calc(12px * -1)",padding:"0",listStyle:"none"})]]),".efw-due li":/* @__PURE__ */Object.freeze([[20100114,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"22px minmax(0, 1fr) auto",alignItems:"center",gap:"12px",padding:"12px",borderRadius:"10px"})]]),".efw-due li > .efw-ico":/* @__PURE__ */Object.freeze([[30100115,/* @__PURE__ */Object.freeze({width:"20px",height:"20px",color:"#6B6B6B"})]]),".efw-due li.efw-is-alert":/* @__PURE__ */Object.freeze([[30100116,/* @__PURE__ */Object.freeze({background:"#FBF1EE"})]]),".efw-due li.efw-is-alert > .efw-ico":/* @__PURE__ */Object.freeze([[40100117,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-due__text":/* @__PURE__ */Object.freeze([[20000118,/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",minWidth:"0"})]]),".efw-due__title":/* @__PURE__ */Object.freeze([[20000119,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-is-alert .efw-due__title":/* @__PURE__ */Object.freeze([[30000120,/* @__PURE__ */Object.freeze({color:"#6D1D14"})]]),".efw-due__when":/* @__PURE__ */Object.freeze([[20000121,/* @__PURE__ */Object.freeze({fontSize:"13px",lineHeight:"1.4",color:"#6B6B6B"})]]),".efw-is-alert .efw-due__when":/* @__PURE__ */Object.freeze([[30000122,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-max1279 .efw-stage":/* @__PURE__ */Object.freeze([[20000124,/* @__PURE__ */Object.freeze({aspectRatio:"16 / 10"})]]),".efw-max1279 .efw-tiles":/* @__PURE__ */Object.freeze([[20000125,/* @__PURE__ */Object.freeze({gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:"12px"})]]),".efw-max559 .efw-root":/* @__PURE__ */Object.freeze([[10000126,/* @__PURE__ */Object.freeze({"--efw-card-pad":"18px"})]]),".efw-max559 .efw-stage":/* @__PURE__ */Object.freeze([[20000128,/* @__PURE__ */Object.freeze({aspectRatio:"5 / 4"})]]),".efw-max559 .efw-stage__info":/* @__PURE__ */Object.freeze([[20000129,/* @__PURE__ */Object.freeze({top:"16px",right:"var(--efw-card-pad)",maxWidth:"none",gap:"8px"})]]),".efw-max559 .efw-vitals":/* @__PURE__ */Object.freeze([[20000130,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",gap:"4px 12px"})]]),".efw-max559 .efw-vitals li":/* @__PURE__ */Object.freeze([[20100131,/* @__PURE__ */Object.freeze({gap:"6px"})]]),".efw-max559 .efw-vitals .efw-ico":/* @__PURE__ */Object.freeze([[30000132,/* @__PURE__ */Object.freeze({width:"20px",height:"20px"})]]),".efw-max559 .efw-vitals b":/* @__PURE__ */Object.freeze([[20100133,/* @__PURE__ */Object.freeze({fontSize:"17px"})]]),".efw-max559 .efw-stage__pet":/* @__PURE__ */Object.freeze([[20000134,/* @__PURE__ */Object.freeze({height:"72%"})]]),".efw-max559 .efw-due li":/* @__PURE__ */Object.freeze([[20100135,/* @__PURE__ */Object.freeze({gap:"8px 12px"})]]),".efw-max559 .efw-tiles":/* @__PURE__ */Object.freeze([[20000136,/* @__PURE__ */Object.freeze({gap:"10px"})]]),".efw-max559 .efw-tile":/* @__PURE__ */Object.freeze([[20000137,/* @__PURE__ */Object.freeze({minHeight:"0",gap:"8px",padding:"16px"})]]),".efw-max559 .efw-tile__title":/* @__PURE__ */Object.freeze([[20000138,/* @__PURE__ */Object.freeze({fontSize:"15px"})]]),".efw-max559 .efw-tile__num":/* @__PURE__ */Object.freeze([[20000139,/* @__PURE__ */Object.freeze({fontSize:"20px"})]]),".efw-max559 .efw-wchart":/* @__PURE__ */Object.freeze([[20000140,/* @__PURE__ */Object.freeze({"--efw-plot-h":"148px"})]]),".efw-rec":/* @__PURE__ */Object.freeze([[20000141,/* @__PURE__ */Object.freeze({display:"grid",gap:"4px",margin:"0 calc(12px * -1)",padding:"0",listStyle:"none"})]]),".efw-rec > li.efw-rec__row":/* @__PURE__ */Object.freeze([[30100143,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"22px minmax(0, 1fr) auto",alignItems:"center",gap:"12px",padding:"12px",borderRadius:"10px",color:"inherit",textDecoration:"none"})]]),".efw-rec--plain > li.efw-rec__row":/* @__PURE__ */Object.freeze([[30100145,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) auto"})]]),".efw-rec__text":/* @__PURE__ */Object.freeze([[20000147,/* @__PURE__ */Object.freeze({display:"grid",gap:"2px",minWidth:"0"})]]),".efw-rec__title":/* @__PURE__ */Object.freeze([[20000148,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-rec__meta":/* @__PURE__ */Object.freeze([[20000149,/* @__PURE__ */Object.freeze({fontSize:"13px",lineHeight:"1.4",color:"#6B6B6B"})]]),".efw-pill--high":/* @__PURE__ */Object.freeze([[20000157,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#C03410",boxShadow:"inset 0 0 0 1.25px #C03410"})]]),".efw-markers":/* @__PURE__ */Object.freeze([[20000158,/* @__PURE__ */Object.freeze({display:"grid",gap:"4px",margin:"0 calc(12px * -1)",padding:"0",listStyle:"none"})]]),".efw-marker":/* @__PURE__ */Object.freeze([[20000159,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(88px, 148px) 116px",alignItems:"center",gap:"16px",padding:"12px",borderRadius:"10px",color:"inherit",textDecoration:"none"})]]),".efw-marker.efw-is-alert":/* @__PURE__ */Object.freeze([[30000160,/* @__PURE__ */Object.freeze({background:"#FBF1EE"})]]),".efw-marker__name":/* @__PURE__ */Object.freeze([[20000161,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",gap:"4px 8px",fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-marker__val":/* @__PURE__ */Object.freeze([[20000163,/* @__PURE__ */Object.freeze({textAlign:"right",whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"})]]),".efw-marker__val b":/* @__PURE__ */Object.freeze([[20100164,/* @__PURE__ */Object.freeze({fontSize:"17px",color:"#000000"})]]),".efw-marker__val small":/* @__PURE__ */Object.freeze([[20100165,/* @__PURE__ */Object.freeze({fontSize:"13px",color:"#6B6B6B"})]]),".efw-marker.efw-is-alert .efw-marker__val b":/* @__PURE__ */Object.freeze([[40100166,/* @__PURE__ */Object.freeze({color:"#C03410"})]]),".efw-rbar":/* @__PURE__ */Object.freeze([[20000167,/* @__PURE__ */Object.freeze({position:"relative",height:"8px",borderRadius:"999px",background:"#ECECEC"})]]),".efw-rbar__in":/* @__PURE__ */Object.freeze([[20000168,/* @__PURE__ */Object.freeze({position:"absolute",top:"0",bottom:"0",left:"20%",right:"20%",borderRadius:"inherit",background:"#07C168"})]]),".efw-rbar__dot":/* @__PURE__ */Object.freeze([[20000169,/* @__PURE__ */Object.freeze({position:"absolute",top:"50%",left:"var(--efw-at, 50%)",width:"12px",height:"12px",translate:"-50% -50%",border:"2px solid #FFFFFF",borderRadius:"50%",background:"#10462E"})]]),".efw-is-alert .efw-rbar__dot":/* @__PURE__ */Object.freeze([[30000170,/* @__PURE__ */Object.freeze({background:"#C03410"})]]),".efw-tl":/* @__PURE__ */Object.freeze([[20000172,/* @__PURE__ */Object.freeze({margin:"0",padding:"0",listStyle:"none"})]]),".efw-tl__year":/* @__PURE__ */Object.freeze([[20000173,/* @__PURE__ */Object.freeze({margin:"32px 0 12px 40px",fontFamily:"$mono",fontWeight:"700",fontSize:"12px",lineHeight:"1.4",letterSpacing:"0.06em",textTransform:"uppercase",color:"#6B6B6B"})]]),".efw-tl__year:first-child":/* @__PURE__ */Object.freeze([[30000174,/* @__PURE__ */Object.freeze({marginTop:"0"})]]),".efw-tl__item":/* @__PURE__ */Object.freeze([[20000175,/* @__PURE__ */Object.freeze({position:"relative",display:"grid",gridTemplateColumns:"24px minmax(0, 1fr)",gap:"16px",paddingBottom:"24px"})]]),".efw-tl__item::before":/* @__PURE__ */Object.freeze([[20100176,/* @__PURE__ */Object.freeze({content:'""',position:"absolute",left:"11px",top:"20px",bottom:"-4px",width:"2px",borderRadius:"1px",background:"#E4E4E4"})]]),".efw-tl__item:last-child::before":/* @__PURE__ */Object.freeze([[30100177,/* @__PURE__ */Object.freeze({bottom:"12px"})]]),".efw-tl__item:has(+ .efw-tl__year)::before":/* @__PURE__ */Object.freeze([[30100178,/* @__PURE__ */Object.freeze({bottom:"12px"})]]),".efw-tl__dot":/* @__PURE__ */Object.freeze([[20000179,/* @__PURE__ */Object.freeze({width:"16px",height:"16px",margin:"3px 4px 0",border:"3px solid #10462E",borderRadius:"50%",background:"#FFFFFF"})]]),".efw-tl__item.efw-is-alert .efw-tl__dot":/* @__PURE__ */Object.freeze([[40000181,/* @__PURE__ */Object.freeze({borderColor:"#C03410"})]]),".efw-tl__date":/* @__PURE__ */Object.freeze([[20000182,/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"12px",lineHeight:"1.4",letterSpacing:"0.04em",textTransform:"uppercase",color:"#6B6B6B"})]]),".efw-tl__title":/* @__PURE__ */Object.freeze([[20000183,/* @__PURE__ */Object.freeze({marginTop:"2px",fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-tl__item.efw-is-alert .efw-tl__title":/* @__PURE__ */Object.freeze([[40000184,/* @__PURE__ */Object.freeze({color:"#6D1D14"})]]),".efw-tl__text":/* @__PURE__ */Object.freeze([[20000185,/* @__PURE__ */Object.freeze({marginTop:"2px",fontSize:"15px",lineHeight:"1.5"})]]),".efw-doc":/* @__PURE__ */Object.freeze([[20000187,/* @__PURE__ */Object.freeze({display:"grid",gap:"8px",padding:"24px",border:"1px solid #E4E4E4",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.5"})]]),".efw-doc__head":/* @__PURE__ */Object.freeze([[20000188,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"8px"})]]),".efw-doc__page":/* @__PURE__ */Object.freeze([[20000189,/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"12px",color:"#6B6B6B"})]]),".efw-doc__who":/* @__PURE__ */Object.freeze([[20000190,/* @__PURE__ */Object.freeze({fontWeight:"700"})]]),".efw-pop":/* @__PURE__ */Object.freeze([[20000191,/* @__PURE__ */Object.freeze({position:"relative",justifySelf:"start"})]]),".efw-pop__btn":/* @__PURE__ */Object.freeze([[20000192,/* @__PURE__ */Object.freeze({position:"relative",display:"grid",placeItems:"center",width:"20px",height:"20px",padding:"0",border:"0",borderRadius:"50%",background:"#4E98C9",color:"#FFFFFF",cursor:"pointer",touchAction:"manipulation",transition:"background-color 150ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-pop__btn .efw-ico":/* @__PURE__ */Object.freeze([[30000193,/* @__PURE__ */Object.freeze({width:"14px",height:"14px"})]]),'.efw-pop__btn[aria-expanded="true"]':/* @__PURE__ */Object.freeze([[30000194,/* @__PURE__ */Object.freeze({background:"#3E7AA1"})]]),".efw-pop__card":/* @__PURE__ */Object.freeze([[20000195,/* @__PURE__ */Object.freeze({position:"absolute",zIndex:"5",top:"calc(100% + 8px)",right:"-8px",width:"max-content",maxWidth:"min(240px, 60vw)",padding:"10px 14px",border:"1px solid #B5C1BC",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.45",color:"#000000",transformOrigin:"right top",visibility:"hidden",opacity:"0",transform:"scale(0.96)",transition:"opacity 150ms cubic-bezier(0.23, 1, 0.32, 1), transform 150ms cubic-bezier(0.23, 1, 0.32, 1), visibility 0s linear 150ms"})]]),".efw-pop__card.efw-is-open":/* @__PURE__ */Object.freeze([[30000196,/* @__PURE__ */Object.freeze({visibility:"visible",opacity:"1",transform:"none",transitionDelay:"0s"})]]),".efw-pop__card a":/* @__PURE__ */Object.freeze([[20100197,/* @__PURE__ */Object.freeze({fontWeight:"700",color:"#10462E",textUnderlineOffset:"3px"})]]),".efw-pet__head .efw-pop":/* @__PURE__ */Object.freeze([[30000198,/* @__PURE__ */Object.freeze({alignSelf:"center"})]]),".efw-max559 .efw-marker":/* @__PURE__ */Object.freeze([[20000199,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) auto"})]]),".efw-max559 .efw-marker .efw-rbar":/* @__PURE__ */Object.freeze([[30000200,/* @__PURE__ */Object.freeze({gridColumn:"1 / -1",gridRow:"2"})]]),".efw-max559 .efw-doc":/* @__PURE__ */Object.freeze([[20000201,/* @__PURE__ */Object.freeze({padding:"16px"})]]),".efw-max559 .efw-pet__head .efw-pop__card":/* @__PURE__ */Object.freeze([[30000202,/* @__PURE__ */Object.freeze({right:"auto",left:"-8px",transformOrigin:"left top"})]]),".efw-scroller":/* @__PURE__ */Object.freeze([[20000203,/* @__PURE__ */Object.freeze({position:"relative",minWidth:"0",maxWidth:"100%"})]]),".efw-scroller__track":/* @__PURE__ */Object.freeze([[20000204,/* @__PURE__ */Object.freeze({position:"relative",overflowX:"auto",overscrollBehaviorX:"contain",scrollbarWidth:"none"})]]),".efw-page--health-empty .efw-hero":/* @__PURE__ */Object.freeze([[30000205,/* @__PURE__ */Object.freeze({"--efw-grass-h":"88px",position:"relative",display:"grid",gridTemplateColumns:"minmax(0, 1.6fr) minmax(0, 1fr)",columnGap:"32px",marginTop:"32px",padding:"32px 32px 0",overflow:"hidden",scrollMarginTop:"calc(72px + 16px)"})]]),".efw-page--health-empty .efw-hero__grass":/* @__PURE__ */Object.freeze([[30000206,/* @__PURE__ */Object.freeze({position:"absolute",left:"0",bottom:"0",width:"100%",height:"var(--efw-grass-h)",objectFit:"cover",objectPosition:"50% 0"})]]),".efw-page--health-empty .efw-hero__copy":/* @__PURE__ */Object.freeze([[30000207,/* @__PURE__ */Object.freeze({position:"relative",zIndex:"1",paddingBottom:"calc(var(--efw-grass-h) + 24px)"})]]),".efw-page--health-empty .efw-hero__title":/* @__PURE__ */Object.freeze([[30000208,/* @__PURE__ */Object.freeze({fontSize:"clamp(24px, 2vw, 28px)",lineHeight:"1.15",letterSpacing:"-0.02em",textWrap:"balance"})]]),".efw-page--health-empty .efw-hero__lead":/* @__PURE__ */Object.freeze([[30000209,/* @__PURE__ */Object.freeze({maxWidth:"560px",marginTop:"8px",fontSize:"17px",lineHeight:"1.5",textWrap:"pretty"})]]),".efw-page--health-empty .efw-hero__scene":/* @__PURE__ */Object.freeze([[30000210,/* @__PURE__ */Object.freeze({position:"relative",minHeight:"220px"})]]),".efw-page--health-empty .efw-evie":/* @__PURE__ */Object.freeze([[30000211,/* @__PURE__ */Object.freeze({"--efw-say-room":"84px",position:"absolute",left:"50%",bottom:"calc(var(--efw-grass-h) * 0.3)",height:"min(calc(100% - var(--efw-say-room)), 300px)",aspectRatio:"720 / 1119",translate:"-50% 0",containerType:"inline-size"})]]),".efw-page--health-empty .efw-evie__img":/* @__PURE__ */Object.freeze([[30000212,/* @__PURE__ */Object.freeze({display:"block",width:"100%",height:"100%"})]]),".efw-page--health-empty .efw-say":/* @__PURE__ */Object.freeze([[30000213,/* @__PURE__ */Object.freeze({position:"absolute",left:"var(--efw-head-x)",bottom:"calc(100% - var(--efw-head-top) + 2px)",width:"clamp(184px, 110cqw, 250px)",height:"auto",translate:"-62% 0",overflow:"visible"})]]),".efw-page--health-empty .efw-say text":/* @__PURE__ */Object.freeze([[30100214,/* @__PURE__ */Object.freeze({fontFamily:'"Caveat", $font',fontWeight:"500",fontSize:"22px",fill:"#10462E"})]]),".efw-page--health-empty .efw-say__p":/* @__PURE__ */Object.freeze([[30000215,/* @__PURE__ */Object.freeze({opacity:"0"})]]),".efw-page--health-empty .efw-say__still":/* @__PURE__ */Object.freeze([[30000216,/* @__PURE__ */Object.freeze({display:"none"})]]),".efw-page--health-empty .efw-ways":/* @__PURE__ */Object.freeze([[30000217,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:"12px",marginTop:"24px"})]]),".efw-page--health-empty .efw-way":/* @__PURE__ */Object.freeze([[30000218,/* @__PURE__ */Object.freeze({display:"flex",flexDirection:"column",gap:"6px",padding:"24px",borderRadius:"20px",textDecoration:"none",touchAction:"manipulation",transition:"background-color 180ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-page--health-empty .efw-way > .efw-ico":/* @__PURE__ */Object.freeze([[40000219,/* @__PURE__ */Object.freeze({width:"26px",height:"26px",marginBottom:"8px"})]]),".efw-page--health-empty .efw-way__title":/* @__PURE__ */Object.freeze([[30000220,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3"})]]),".efw-page--health-empty .efw-way__text":/* @__PURE__ */Object.freeze([[30000221,/* @__PURE__ */Object.freeze({fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-way__go":/* @__PURE__ */Object.freeze([[30000222,/* @__PURE__ */Object.freeze({display:"inline-flex",alignItems:"center",gap:"2px",marginTop:"auto",paddingTop:"12px",fontWeight:"700",fontSize:"15px",lineHeight:"1.3"})]]),".efw-page--health-empty .efw-way__go .efw-ico":/* @__PURE__ */Object.freeze([[40000223,/* @__PURE__ */Object.freeze({width:"20px",height:"20px"})]]),".efw-page--health-empty .efw-way--ink":/* @__PURE__ */Object.freeze([[30000224,/* @__PURE__ */Object.freeze({background:"#10462E",color:"#FFFFFF"})]]),".efw-page--health-empty .efw-way--ink .efw-way__go .efw-ico":/* @__PURE__ */Object.freeze([[50000225,/* @__PURE__ */Object.freeze({color:"#07C168"})]]),".efw-page--health-empty .efw-way--drop":/* @__PURE__ */Object.freeze([[30000226,/* @__PURE__ */Object.freeze({background:"#FFFFFF",color:"#10462E",border:"1.5px dashed #10462E"})]]),".efw-page--health-empty .efw-way--drop .efw-way__text":/* @__PURE__ */Object.freeze([[40000227,/* @__PURE__ */Object.freeze({color:"#000000"})]]),".efw-page--health-empty .efw-peek":/* @__PURE__ */Object.freeze([[30000228,/* @__PURE__ */Object.freeze({marginTop:"48px"})]]),".efw-page--health-empty .efw-peek__head":/* @__PURE__ */Object.freeze([[30000229,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",gap:"8px 12px"})]]),".efw-page--health-empty .efw-peek__lead":/* @__PURE__ */Object.freeze([[30000230,/* @__PURE__ */Object.freeze({maxWidth:"720px",marginTop:"8px",fontSize:"17px",lineHeight:"1.5",textWrap:"pretty"})]]),".efw-page--health-empty .efw-labs":/* @__PURE__ */Object.freeze([[30000231,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",gridTemplateAreas:'"head head" "groups nav" "car car"',alignItems:"center",columnGap:"12px",marginTop:"24px"})]]),".efw-page--health-empty .efw-labs__head":/* @__PURE__ */Object.freeze([[30000232,/* @__PURE__ */Object.freeze({gridArea:"head",display:"flex",alignItems:"center",gap:"8px"})]]),".efw-page--health-empty .efw-labs__head .efw-ico":/* @__PURE__ */Object.freeze([[40000233,/* @__PURE__ */Object.freeze({width:"22px",height:"22px",color:"#C03410"})]]),".efw-page--health-empty .efw-labs__groups":/* @__PURE__ */Object.freeze([[30000234,/* @__PURE__ */Object.freeze({gridArea:"groups",margin:"10px -6px -6px"})]]),".efw-page--health-empty .efw-groups":/* @__PURE__ */Object.freeze([[30000235,/* @__PURE__ */Object.freeze({display:"flex",gap:"8px",minWidth:"0",padding:"6px",overflowX:"auto",scrollbarWidth:"none"})]]),".efw-page--health-empty .efw-group":/* @__PURE__ */Object.freeze([[30000236,/* @__PURE__ */Object.freeze({flex:"none",minHeight:"40px",padding:"0 16px",border:"1.5px solid #E4E4E4",borderRadius:"999px",background:"#FFFFFF",color:"#10462E",font:"inherit",fontSize:"15px",fontWeight:"500",lineHeight:"1",whiteSpace:"nowrap",cursor:"pointer",touchAction:"manipulation",transition:"background-color 150ms ease, border-color 150ms ease, color 150ms ease"})]]),".efw-page--health-empty .efw-group[aria-current]":/* @__PURE__ */Object.freeze([[40000237,/* @__PURE__ */Object.freeze({borderColor:"#10462E",background:"#10462E",color:"#FFFFFF"})]]),".efw-page--health-empty .efw-arrows":/* @__PURE__ */Object.freeze([[30000238,/* @__PURE__ */Object.freeze({gridArea:"nav",display:"flex",gap:"8px",marginTop:"16px"})]]),".efw-page--health-empty .efw-arrow":/* @__PURE__ */Object.freeze([[30000239,/* @__PURE__ */Object.freeze({display:"grid",placeItems:"center",width:"44px",height:"44px",padding:"0",border:"1.5px solid #E4E4E4",borderRadius:"50%",background:"#FFFFFF",color:"#10462E",cursor:"pointer",touchAction:"manipulation",transition:"border-color 150ms ease, opacity 150ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-page--health-empty .efw-arrow .efw-ico":/* @__PURE__ */Object.freeze([[40000240,/* @__PURE__ */Object.freeze({width:"22px",height:"22px"})]]),".efw-page--health-empty .efw-arrow--prev .efw-ico":/* @__PURE__ */Object.freeze([[40000241,/* @__PURE__ */Object.freeze({rotate:"180deg"})]]),".efw-page--health-empty .efw-arrow:disabled":/* @__PURE__ */Object.freeze([[40000242,/* @__PURE__ */Object.freeze({opacity:"0.35",cursor:"default"})]]),".efw-page--health-empty .efw-car__track":/* @__PURE__ */Object.freeze([[30000243,/* @__PURE__ */Object.freeze({gridArea:"car",display:"flex",gap:"32px",marginTop:"24px",overflowX:"auto",overscrollBehaviorX:"contain",scrollSnapType:"x mandatory",scrollbarWidth:"none"})]]),".efw-page--health-empty .efw-slide":/* @__PURE__ */Object.freeze([[30000244,/* @__PURE__ */Object.freeze({flex:"0 0 100%",display:"grid",gridTemplateColumns:"minmax(0, 1.45fr) minmax(0, 1fr)",alignItems:"start",gap:"32px",scrollSnapAlign:"start",scrollSnapStop:"always"})]]),".efw-page--health-empty .efw-slide__title":/* @__PURE__ */Object.freeze([[30000245,/* @__PURE__ */Object.freeze({margin:"0",fontWeight:"700",fontSize:"17px",lineHeight:"1.3",color:"#10462E"})]]),".efw-page--health-empty .efw-slide__lead":/* @__PURE__ */Object.freeze([[30000246,/* @__PURE__ */Object.freeze({margin:"2px 0 12px",fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-marker":/* @__PURE__ */Object.freeze([[30000247,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) minmax(80px, 120px) 92px",transition:"background-color 150ms ease"})]]),".efw-page--health-empty .efw-marker__what":/* @__PURE__ */Object.freeze([[30000248,/* @__PURE__ */Object.freeze({display:"block",flexBasis:"100%",fontWeight:"400",fontSize:"15px",lineHeight:"1.45",color:"#6B6B6B"})]]),".efw-page--health-empty .efw-marker.efw-is-lit":/* @__PURE__ */Object.freeze([[40000249,/* @__PURE__ */Object.freeze({background:"#FCF0D6"})]]),".efw-page--health-empty .efw-flag > summary":/* @__PURE__ */Object.freeze([[30100250,/* @__PURE__ */Object.freeze({listStyle:"none",cursor:"pointer"})]]),".efw-page--health-empty .efw-flag[open]":/* @__PURE__ */Object.freeze([[40000251,/* @__PURE__ */Object.freeze({borderRadius:"10px",background:"#FBF1EE"})]]),".efw-page--health-empty .efw-flag__note":/* @__PURE__ */Object.freeze([[30000252,/* @__PURE__ */Object.freeze({display:"grid",justifyItems:"start",gap:"8px",padding:"0 12px 12px",fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-flag__note b":/* @__PURE__ */Object.freeze([[30100253,/* @__PURE__ */Object.freeze({color:"#6D1D14"})]]),".efw-page--health-empty .efw-from > summary":/* @__PURE__ */Object.freeze([[30100254,/* @__PURE__ */Object.freeze({listStyle:"none",cursor:"pointer"})]]),".efw-page--health-empty .efw-from__cap":/* @__PURE__ */Object.freeze([[30000255,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"6px",width:"fit-content",marginBottom:"8px",fontWeight:"700",fontSize:"14px",lineHeight:"1.4",color:"#10462E"})]]),".efw-page--health-empty .efw-from:not([open]) .efw-from__cap":/* @__PURE__ */Object.freeze([[50000256,/* @__PURE__ */Object.freeze({marginBottom:"0"})]]),".efw-page--health-empty .efw-from__cap .efw-ico":/* @__PURE__ */Object.freeze([[40000257,/* @__PURE__ */Object.freeze({width:"16px",height:"16px",color:"#819E90"})]]),".efw-page--health-empty .efw-from__cap .efw-from__chev":/* @__PURE__ */Object.freeze([[40000258,/* @__PURE__ */Object.freeze({width:"18px",height:"18px",color:"#10462E",transition:"rotate 200ms cubic-bezier(0.23, 1, 0.32, 1)"})]]),".efw-page--health-empty .efw-from[open] .efw-from__chev":/* @__PURE__ */Object.freeze([[50000259,/* @__PURE__ */Object.freeze({rotate:"90deg"})]]),".efw-page--health-empty .efw-from .efw-doc":/* @__PURE__ */Object.freeze([[40000260,/* @__PURE__ */Object.freeze({gap:"4px",padding:"16px"})]]),".efw-page--health-empty .efw-lab":/* @__PURE__ */Object.freeze([[30000261,/* @__PURE__ */Object.freeze({width:"100%",borderCollapse:"separate",borderSpacing:"0 3px",fontFamily:"$mono",fontSize:"13px",lineHeight:"1.35",fontVariantNumeric:"tabular-nums"})]]),".efw-page--health-empty .efw-lab th":/* @__PURE__ */Object.freeze([[30100262,/* @__PURE__ */Object.freeze({padding:"0 8px 2px",fontWeight:"400",fontSize:"12px",letterSpacing:"0.04em",textTransform:"uppercase",color:"#6B6B6B",textAlign:"left"})]]),".efw-page--health-empty .efw-lab td":/* @__PURE__ */Object.freeze([[30100263,/* @__PURE__ */Object.freeze({padding:"5px 8px",whiteSpace:"nowrap",transition:"background-color 150ms ease"})]]),".efw-page--health-empty .efw-lab tr[data-line] td":/* @__PURE__ */Object.freeze([[40200264,/* @__PURE__ */Object.freeze({background:"#FCF0D6"})]]),".efw-page--health-empty .efw-lab tr[data-line] td:first-child":/* @__PURE__ */Object.freeze([[50200265,/* @__PURE__ */Object.freeze({borderRadius:"6px 0 0 6px"})]]),".efw-page--health-empty .efw-lab tr[data-line] td:last-child":/* @__PURE__ */Object.freeze([[50200266,/* @__PURE__ */Object.freeze({borderRadius:"0 6px 6px 0"})]]),".efw-page--health-empty .efw-lab tr.efw-is-lit td":/* @__PURE__ */Object.freeze([[40200267,/* @__PURE__ */Object.freeze({background:"#F6D892"})]]),".efw-page--health-empty .efw-more":/* @__PURE__ */Object.freeze([[30000268,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"repeat(3, minmax(0, 1fr))",gap:"16px",margin:"16px 0 0",padding:"0",listStyle:"none"})]]),".efw-page--health-empty .efw-more > li":/* @__PURE__ */Object.freeze([[30100269,/* @__PURE__ */Object.freeze({display:"flex",flexDirection:"column",gap:"12px",padding:"24px",borderRadius:"20px"})]]),".efw-page--health-empty .efw-more__head":/* @__PURE__ */Object.freeze([[30000270,/* @__PURE__ */Object.freeze({display:"flex",alignItems:"center",gap:"8px"})]]),".efw-page--health-empty .efw-more__head .efw-ico":/* @__PURE__ */Object.freeze([[40000271,/* @__PURE__ */Object.freeze({width:"22px",height:"22px",color:"#10462E"})]]),".efw-page--health-empty .efw-more__title":/* @__PURE__ */Object.freeze([[30000272,/* @__PURE__ */Object.freeze({fontWeight:"700",fontSize:"17px",lineHeight:"1.3"})]]),".efw-page--health-empty .efw-more__lead":/* @__PURE__ */Object.freeze([[30000273,/* @__PURE__ */Object.freeze({fontSize:"15px",lineHeight:"1.5"})]]),".efw-page--health-empty .efw-more__rows":/* @__PURE__ */Object.freeze([[30000274,/* @__PURE__ */Object.freeze({display:"grid",gap:"6px",margin:"0",padding:"0",listStyle:"none"})]]),".efw-page--health-empty .efw-more__rows li":/* @__PURE__ */Object.freeze([[30100275,/* @__PURE__ */Object.freeze({display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"space-between",gap:"4px 12px",minHeight:"44px",padding:"8px 14px",borderRadius:"10px",background:"#FFFFFF",fontSize:"15px",lineHeight:"1.4"})]]),".efw-page--health-empty .efw-more__when":/* @__PURE__ */Object.freeze([[30000276,/* @__PURE__ */Object.freeze({fontFamily:"$mono",fontSize:"12px",letterSpacing:"0.02em",color:"#6B6B6B",whiteSpace:"nowrap"})]]),".efw-max1279 .efw-page--health-empty .efw-ways":/* @__PURE__ */Object.freeze([[30000277,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)"})]]),".efw-max1279 .efw-page--health-empty .efw-more":/* @__PURE__ */Object.freeze([[30000278,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)"})]]),".efw-max1279 .efw-page--health-empty .efw-slide":/* @__PURE__ */Object.freeze([[30000279,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)",gap:"24px"})]]),".efw-hero1 .efw-page--health-empty .efw-hero":/* @__PURE__ */Object.freeze([[30000280,/* @__PURE__ */Object.freeze({"--efw-grass-h":"64px",gridTemplateColumns:"minmax(0, 1fr)",padding:"24px var(--efw-card-pad) 0"})]]),".efw-hero1 .efw-page--health-empty .efw-hero__copy":/* @__PURE__ */Object.freeze([[30000281,/* @__PURE__ */Object.freeze({paddingBottom:"0"})]]),".efw-hero1 .efw-page--health-empty .efw-hero__scene":/* @__PURE__ */Object.freeze([[30000282,/* @__PURE__ */Object.freeze({minHeight:"0",height:"264px"})]]),".efw-hero1 .efw-page--health-empty .efw-evie":/* @__PURE__ */Object.freeze([[30000283,/* @__PURE__ */Object.freeze({height:"176px"})]]),".efw-max559 .efw-page--health-empty .efw-way":/* @__PURE__ */Object.freeze([[30000284,/* @__PURE__ */Object.freeze({padding:"16px"})]]),".efw-max559 .efw-page--health-empty .efw-marker":/* @__PURE__ */Object.freeze([[30000285,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr) auto"})]]),".efw-max559 .efw-page--health-empty .efw-labs":/* @__PURE__ */Object.freeze([[30000286,/* @__PURE__ */Object.freeze({gridTemplateAreas:'"head nav" "groups groups" "car car"'})]]),".efw-max559 .efw-page--health-empty .efw-labs__head .efw-ico":/* @__PURE__ */Object.freeze([[40000287,/* @__PURE__ */Object.freeze({display:"none"})]]),".efw-max559 .efw-page--health-empty .efw-arrows":/* @__PURE__ */Object.freeze([[30000288,/* @__PURE__ */Object.freeze({gap:"6px",marginTop:"0"})]]),".efw-max559 .efw-page--health-empty .efw-arrow":/* @__PURE__ */Object.freeze([[30000289,/* @__PURE__ */Object.freeze({width:"40px",height:"40px"})]]),".efw-max559 .efw-page--health-empty .efw-more__rows li:nth-child(n + 3)":/* @__PURE__ */Object.freeze([[40100290,/* @__PURE__ */Object.freeze({display:"none"})]]),".efw-page--health .efw-grid":/* @__PURE__ */Object.freeze([[30000291,/* @__PURE__ */Object.freeze({display:"grid",gridTemplateColumns:"minmax(0, 1.35fr) minmax(0, 1fr)",gridTemplateAreas:'"pet due" "files files" "weight add"',gap:"24px",marginTop:"32px"})]]),".efw-page--health .efw-block":/* @__PURE__ */Object.freeze([[30000292,/* @__PURE__ */Object.freeze({minWidth:"0"})]]),".efw-page--health .efw-block--pet":/* @__PURE__ */Object.freeze([[30000293,/* @__PURE__ */Object.freeze({gridArea:"pet"})]]),".efw-page--health .efw-block--due":/* @__PURE__ */Object.freeze([[30000294,/* @__PURE__ */Object.freeze({gridArea:"due"})]]),".efw-page--health .efw-block--files":/* @__PURE__ */Object.freeze([[30000295,/* @__PURE__ */Object.freeze({gridArea:"files"})]]),".efw-page--health .efw-block--weight":/* @__PURE__ */Object.freeze([[30000296,/* @__PURE__ */Object.freeze({gridArea:"weight"})]]),".efw-page--health .efw-block--add":/* @__PURE__ */Object.freeze([[30000297,/* @__PURE__ */Object.freeze({gridArea:"add"})]]),".efw-page--health .efw-block--files .efw-card__head":/* @__PURE__ */Object.freeze([[40000298,/* @__PURE__ */Object.freeze({marginBottom:"12px"})]]),".efw-max1279 .efw-page--health .efw-grid":/* @__PURE__ */Object.freeze([[30000299,/* @__PURE__ */Object.freeze({gridTemplateColumns:"minmax(0, 1fr)",gridTemplateAreas:'"pet" "due" "files" "weight" "add"'})]])});var RAPH_RECORDS_FONTS=/* @__PURE__ */Object.freeze({font:'"Azeret", "Helvetica Neue", Arial, sans-serif',mono:'"Azeret Mono", ui-monospace, "SF Mono", Menlo, monospace',hand:'"Caveat", "Segoe Print", cursive',sans:'"Figtree", "Helvetica Neue", Arial, sans-serif'}),RAPH_RECORDS_ICONS=/* @__PURE__ */Object.freeze({"efi-flask":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M13.1725 1.88153V7.52689C13.1724 7.84254 13.2516 8.15316 13.403 8.43014L18.5873 17.9143C18.7442 18.201 18.8237 18.5234 18.818 18.8501C18.8124 19.1767 18.7218 19.4963 18.5552 19.7773C18.3886 20.0583 18.1517 20.2911 17.8678 20.4528C17.5839 20.6145 17.2628 20.6995 16.9361 20.6994H5.64536C5.31866 20.6995 4.99757 20.6145 4.71368 20.4528C4.42979 20.2911 4.19288 20.0583 4.02626 19.7773C3.85964 19.4963 3.76906 19.1767 3.76342 18.8501C3.75778 18.5234 3.83728 18.201 3.99409 17.9143L9.17841 8.43014C9.32979 8.15316 9.40907 7.84254 9.40893 7.52689V1.88153",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M6.07162 14.1128H16.5099",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M7.99755 1.88153H14.5838",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-flask-sm":{viewBox:"0 0 19.5956 19.5956",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M11.2668 1.63354V6.53244C11.2666 6.80635 11.3354 7.0759 11.4668 7.31626L15.9656 15.5464C16.1017 15.7951 16.1707 16.075 16.1658 16.3584C16.1609 16.6419 16.0823 16.9192 15.9377 17.163C15.7931 17.4069 15.5875 17.6089 15.3412 17.7492C15.0948 17.8895 14.8162 17.9632 14.5327 17.9632H4.7349C4.4514 17.9632 4.17277 17.8895 3.92642 17.7492C3.68006 17.6089 3.47448 17.4069 3.32989 17.163C3.18531 16.9192 3.1067 16.6419 3.10181 16.3584C3.09691 16.075 3.1659 15.7951 3.30198 15.5464L7.80079 7.31626C7.93216 7.0759 8.00095 6.80635 8.00083 6.53244V1.63354",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M5.10449 12.2476H14.1625",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M6.77637 1.63354H12.4917",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-shield":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M18.8178 12.2313C18.8178 16.9358 15.5247 19.2881 11.6106 20.6523C11.4056 20.7218 11.183 20.7185 10.9802 20.6429C7.05663 19.288 3.76351 16.9358 3.76351 12.2313V5.6451C3.76351 5.39556 3.86264 5.15624 4.03909 4.97979C4.21554 4.80333 4.45486 4.7042 4.7044 4.7042C6.58619 4.7042 8.93842 3.57513 10.5756 2.14498C10.7749 1.97467 11.0285 1.8811 11.2907 1.8811C11.5528 1.8811 11.8064 1.97467 12.0057 2.14498C13.6523 3.58454 15.9951 4.7042 17.8769 4.7042C18.1264 4.7042 18.3658 4.80333 18.5422 4.97979C18.7187 5.15624 18.8178 5.39556 18.8178 5.6451V12.2313Z",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M8.468 11.2906L10.3498 13.1724L14.1134 9.40885",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-folder":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M18.8179 18.8175C19.3169 18.8175 19.7956 18.6193 20.1485 18.2664C20.5014 17.9135 20.6996 17.4348 20.6996 16.9358V7.52683C20.6996 7.02775 20.5014 6.54911 20.1485 6.19621C19.7956 5.8433 19.3169 5.64504 18.8179 5.64504H11.3848C11.0701 5.64813 10.7596 5.57223 10.4818 5.42429C10.204 5.27635 9.96778 5.0611 9.79469 4.79824L9.03257 3.66917C8.86123 3.40898 8.62796 3.19541 8.35372 3.04761C8.07947 2.89981 7.77282 2.82241 7.46128 2.82236H3.76357C3.26449 2.82236 2.78585 3.02062 2.43294 3.37353C2.08004 3.72643 1.88178 4.20507 1.88178 4.70415V16.9358C1.88178 17.4348 2.08004 17.9135 2.43294 18.2664C2.78585 18.6193 3.26449 18.8175 3.76357 18.8175H18.8179Z",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-clock":{viewBox:"0 0 22.5814 22.5814",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M11.2907 20.6999C16.4871 20.6999 20.6996 16.4873 20.6996 11.2909C20.6996 6.09451 16.4871 1.88199 11.2907 1.88199C6.0943 1.88199 1.88178 6.09451 1.88178 11.2909C1.88178 16.4873 6.0943 20.6999 11.2907 20.6999Z",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M11.2907 5.64559V11.2909L15.0543 13.1727",stroke:"currentColor",strokeWidth:"1.88179",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-thermo":{viewBox:"0 0 25.7143 25.7143",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M15 4.28578V15.5786C15.817 16.0504 16.4556 16.7785 16.8166 17.6501C17.1777 18.5217 17.241 19.4881 16.9968 20.3994C16.7526 21.3107 16.2146 22.1159 15.4661 22.6903C14.7176 23.2646 13.8006 23.5759 12.8571 23.5759C11.9137 23.5759 10.9966 23.2646 10.2482 22.6903C9.49969 22.1159 8.96164 21.3107 8.71746 20.3994C8.47328 19.4881 8.53662 18.5217 8.89766 17.6501C9.2587 16.7785 9.89725 16.0504 10.7143 15.5786V4.28578C10.7143 3.71746 10.9401 3.17242 11.3419 2.77056C11.7438 2.36869 12.2888 2.14293 12.8571 2.14293C13.4255 2.14293 13.9705 2.36869 14.3724 2.77056C14.7742 3.17242 15 3.71746 15 4.28578Z",stroke:"currentColor",strokeWidth:"2.14286",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-heart":{viewBox:"0 0 25.7143 25.7143",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M2.14286 10.1783C2.14288 8.98605 2.50456 7.82182 3.18014 6.8394C3.85572 5.85699 4.81341 5.10261 5.92672 4.67591C7.04004 4.2492 8.2566 4.17024 9.41573 4.44945C10.5749 4.72867 11.622 5.35292 12.4189 6.23976C12.4751 6.29978 12.5429 6.34762 12.6183 6.38034C12.6937 6.41305 12.775 6.42993 12.8571 6.42993C12.9393 6.42993 13.0206 6.41305 13.096 6.38034C13.1714 6.34762 13.2392 6.29978 13.2954 6.23976C14.0898 5.34716 15.1372 4.71766 16.2982 4.43505C17.4592 4.15244 18.6787 4.23014 19.7945 4.65778C20.9103 5.08543 21.8693 5.84275 22.5441 6.82894C23.2188 7.81514 23.5771 8.98344 23.5714 10.1783C23.5714 12.6319 21.9643 14.4641 20.3571 16.0712L14.4729 21.7637C14.2732 21.993 14.0271 22.1772 13.7508 22.304C13.4745 22.4309 13.1743 22.4975 12.8703 22.4994C12.5663 22.5013 12.2653 22.4385 11.9875 22.3152C11.7096 22.1919 11.4611 22.0108 11.2586 21.7841L5.35714 16.0712C3.75 14.4641 2.14286 12.6426 2.14286 10.1783Z",stroke:"currentColor",strokeWidth:"2.14286",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-wind":{viewBox:"0 0 25.7143 25.7143",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M13.7143 21C13.9859 21.2037 14.3021 21.34 14.6367 21.3975C14.9713 21.4551 15.3148 21.4323 15.6389 21.3311C15.963 21.2299 16.2584 21.0531 16.5008 20.8153C16.7431 20.5774 16.9255 20.2855 17.0329 19.9633C17.1403 19.6412 17.1696 19.2982 17.1183 18.9626C17.0671 18.6269 16.9369 18.3082 16.7384 18.0328C16.5398 17.7573 16.2787 17.533 15.9765 17.3783C15.6742 17.2235 15.3395 17.1429 15 17.1429H2.14286M18.75 8.57143C19.0239 8.20616 19.3867 7.91699 19.8039 7.73136C20.221 7.54574 20.6787 7.46982 21.1334 7.51082C21.5881 7.55183 22.0248 7.70839 22.4021 7.96564C22.7793 8.22289 23.0845 8.5723 23.2886 8.98068C23.4928 9.38905 23.5892 9.84285 23.5687 10.299C23.5482 10.7551 23.4114 11.1984 23.1714 11.5868C22.9313 11.9752 22.596 12.2958 22.1972 12.5181C21.7984 12.7404 21.3494 12.8571 20.8929 12.8571H2.14286M10.5 4.71429C10.7716 4.51056 11.0878 4.3743 11.4224 4.31674C11.757 4.25917 12.1005 4.28195 12.4246 4.38319C12.7487 4.48442 13.0441 4.66123 13.2865 4.89903C13.5289 5.13683 13.7112 5.42882 13.8186 5.75094C13.926 6.07306 13.9553 6.41608 13.9041 6.75173C13.8529 7.08739 13.7226 7.40607 13.5241 7.68152C13.3256 7.95697 13.0644 8.1813 12.7622 8.33602C12.4599 8.49074 12.1253 8.57143 11.7857 8.57143H2.14286",stroke:"currentColor",strokeWidth:"2.14286",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-chevron":{viewBox:"0 0 19.358 19.358",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M7.25918 14.5191L12.0987 9.67957L7.25918 4.84007",stroke:"currentColor",strokeWidth:"1.61317",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-clip":{viewBox:"0 0 28.0714 28.0714",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M18.7142 4.67897H21.0535C21.6739 4.67897 22.2689 4.92543 22.7076 5.36413C23.1463 5.80283 23.3928 6.39784 23.3928 7.01826V23.3933C23.3928 24.0137 23.1463 24.6087 22.7076 25.0474C22.2689 25.4861 21.6739 25.7325 21.0535 25.7325H7.0178C6.39738 25.7325 5.80238 25.4861 5.36368 25.0474C4.92498 24.6087 4.67852 24.0137 4.67852 23.3933V7.01826C4.67852 6.39784 4.92498 5.80283 5.36368 5.36413C5.80238 4.92543 6.39738 4.67897 7.0178 4.67897H9.35709M10.5267 16.3754H17.5446M14.0357 19.8843V12.8665M10.5267 2.33969H17.5446C18.1906 2.33969 18.7142 2.86335 18.7142 3.50933V5.84861C18.7142 6.49459 18.1906 7.01826 17.5446 7.01826H10.5267C9.88075 7.01826 9.35709 6.49459 9.35709 5.84861V3.50933C9.35709 2.86335 9.88075 2.33969 10.5267 2.33969Z",stroke:"currentColor",strokeWidth:"2.33929",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-download":{viewBox:"0 0 24.7029 24.7029",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M12.3514 15.4394V3.08798M17.4978 10.293L12.3514 15.4394L7.20495 10.293M21.6149 15.4394V19.5566C21.6149 20.1025 21.3981 20.6261 21.012 21.0122C20.6259 21.3982 20.1023 21.6151 19.5564 21.6151H5.14637C4.60041 21.6151 4.0768 21.3982 3.69074 21.0122C3.30469 20.6261 3.0878 20.1025 3.0878 19.5566V15.4394",stroke:"currentColor",strokeWidth:"2.05857",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-upload":{viewBox:"0 0 24.7029 24.7029",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M12.3515 3.08766V15.4391M7.20503 8.23409L12.3515 3.08766L17.4979 8.23409M21.615 15.4391V19.5562C21.615 20.1022 21.3981 20.6258 21.0121 21.0119C20.626 21.3979 20.1024 21.6148 19.5565 21.6148H5.14646C4.60049 21.6148 4.07688 21.3979 3.69083 21.0119C3.30477 20.6258 3.08789 20.1022 3.08789 19.5562V15.4391",stroke:"currentColor",strokeWidth:"2.05857",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-calendar":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},[["path",{d:"M8 2v4"},[]],["path",{d:"M16 2v4"},[]],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2"},[]],["path",{d:"M3 10h18"},[]]]]]},"efi-file":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"},[]],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4"},[]],["path",{d:"M10 9H8"},[]],["path",{d:"M16 13H8"},[]],["path",{d:"M16 17H8"},[]]]]]},"efi-info-mark":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"},[["path",{d:"M12 17.5v-6.5"},[]],["path",{d:"M12 6.5h.01"},[]]]]]},"efi-syringe":{viewBox:"0 0 19.5956 19.5956",nodes:[["g",{fill:"none"},[["g",{},[["path",{d:"M14.5322 1.63281L17.7982 4.89874",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M13.7158 5.71556L16.1653 3.26611",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M15.3496 7.34845L6.93981 15.7582C6.12333 16.5747 4.89861 16.5747 4.16377 15.7582L3.67388 15.2683C2.8574 14.4518 2.8574 13.2271 3.67388 12.4923L12.0836 4.08252",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M7.18457 8.9812L10.4505 12.2471",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M3.9182 15.5134L1.46875 17.9629",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]],["path",{d:"M11.2666 3.26611L16.1655 8.16501",stroke:"currentColor",strokeWidth:"1.63296",strokeLinecap:"round",strokeLinejoin:"round"},[]]]]]]]},"efi-send":{viewBox:"0 0 24 24",nodes:[["g",{fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"},[]],["path",{d:"m21.854 2.147-10.94 10.939"},[]]]]]}});var RAPH=/* @__PURE__ */Object.freeze({ink:"#10462E",go:"#07C168",white:"#FFFFFF",black:"#000000",muted:"#6B6B6B",noteInk:"#6B6863",meta:"#3D3D3D",line:"#E4E4E4",bar:"#ECECEC",alert:"#C03410",alertDeep:"#6D1D14",tintSage:"#E6ECE8",tintBlue:"#EAEEF6",tintYellow:"#FCF0D6",tintRed:"#FBF1EE",tintGo:"#DCF6EA",watchFill:"#F9E6B9",icoSage:"#819E90",bgMist:"#F1F5F2",embCyan:"#E0FDFF",embTeal:"#00707C",embInk:"#262523",sky:"#4E98C9",plainEdge:"rgba(16, 70, 46, 0.2)",tintPink:"#FFEAE8",tintPinkSoft:"#FFF6F5",popEdge:"#B5C1BC",yellowEdge:"#F6D892",yellow:"#F2C763"}),INK_FILLS=/* @__PURE__ */new Set([".efh-btn--ink",".efh-way--ink",".efh-wpt--vet",".efh-wkey .is-vet::before",".efh-mkbar__dot",".efw-btn--ink",".efw-page--health-empty .efw-way--ink",".efw-page--health-empty .efw-group[aria-current]",".efw-rbar__dot"]),ON_INK=/* @__PURE__ */new Set([".efh-btn--ink",".efh-way--ink",".efw-btn--ink",".efw-page--health-empty .efw-way--ink",".efw-page--health-empty .efw-group[aria-current]"]),GO_STATUS=/* @__PURE__ */new Set([".efh-pill--clear",".efh-mkbar__in",".efh-wchart__rail span:nth-child(2)",".efw-pill--clear",".efw-rbar__in",".efw-wchart__rail span:nth-child(2)",".efw-wchart__pt"]),FILL_PROPERTIES=/* @__PURE__ */new Set(["background","borderColor"]),TIER_PREFIX=/^\.efw-(max1279|hero1|max559)\s+/;function mixColor(a,b,t){let over=withAlpha(a,t);return(over!==null?flattenOnto(over,b):null)??b}var same=(a,b)=>parseColor(a)===parseColor(b);function isRaphIdentity(theme){if(theme.brightness!=="light")return false;let c=theme.color,k=EVERFUR_LIGHT.color;return same(c.primary,k.primary)&&same(c.brandInk,k.brandInk)&&same(c.onPrimary,k.onPrimary)&&same(c.accent,k.accent)&&same(c.accentEdge,k.accentEdge)}var TOP=/* @__PURE__ */Object.freeze({card:"#FFCE34",kicker:"#4A4845",button:"#262523",riskDot:"#E5372B"}),TOP_SELECTORS=/* @__PURE__ */new Set([".rec-top",".rec-top__k",".rec-top__t",".rec-top .emb-btn",".emb-btn",".emb-btn--sm",".dot",".dot--risk"]);function painterFor(theme){let c=theme.color,v=v3Palette(theme),dark=theme.brightness==="dark",identity=isRaphIdentity(theme),compiled=(dark?EVERFUR_DARK:EVERFUR_LIGHT).color,accentSet=!same(c.accent,compiled.accent),decoGo=accentSet?c.accent:c.accentEdge,ground=dark?c.surface:RAPH.white,tint=(hue,lightT)=>mixColor(hue,ground,dark?.18:lightT),neutral=dark?{[RAPH.white]:v.card,[RAPH.black]:v.ink,[RAPH.muted]:v.ink3,[RAPH.noteInk]:v.ink3,[RAPH.meta]:c.text.metaCool,[RAPH.line]:v.line,[RAPH.bar]:v.line,[RAPH.embInk]:v.ink,[RAPH.alert]:v.riskInk,[RAPH.alertDeep]:v.riskInk,[RAPH.tintBlue]:tint(RAPH.sky,0),[RAPH.tintYellow]:tint(c.warningStrong,0),[RAPH.watchFill]:tint(c.warningStrong,0),[RAPH.tintRed]:tint(c.danger,0),[RAPH.tintGo]:tint(RAPH.go,0),[RAPH.yellowEdge]:tint(c.warningStrong,0)}:{},brand=identity?{}:{[RAPH.tintSage]:tint(c.primary,.105),[RAPH.icoSage]:mixColor(c.brandInk,ground,.527),[RAPH.bgMist]:tint(c.primary,.059),[RAPH.embCyan]:accentSet?tint(c.accent,.14):tint(RAPH.embCyan,1),[RAPH.embTeal]:accentSet?c.accent:dark?c.brandInk:RAPH.embTeal,[RAPH.tintPink]:tint(c.highlight,.35),[RAPH.tintPinkSoft]:tint(c.highlight,.15),[RAPH.popEdge]:mixColor(c.brandInk,dark?v.line:RAPH.line,.22)},topCard=accentSet?c.accent:identity?RAPH.tintSage:tint(c.primary,.105),topKicker=v3InkOn(topCard,[accentSet?c.onAccent:dark?c.text.muted:TOP.kicker,TOP.button]),topInk=accentSet?v3InkOn(topCard,[c.onAccent,TOP.button]):null;return{painter:(tiered,property,raph)=>{let key=raph.toUpperCase(),selector=tiered.replace(TIER_PREFIX,"");return selector.startsWith(".ph-toast")?raph:TOP_SELECTORS.has(selector)?key===TOP.card?topCard:key===TOP.kicker?topKicker:key===TOP.button?v.primary:key===TOP.riskDot?dark?c.danger:TOP.riskDot:key==="#FFF"&&property==="color"?v.onPrimary:raph:key===RAPH.ink?INK_FILLS.has(selector)&&FILL_PROPERTIES.has(property)?v.primary:c.brandInk:key===RAPH.white&&ON_INK.has(selector)&&property==="color"?v.onPrimary:key===RAPH.go?GO_STATUS.has(selector)?RAPH.go:decoGo:key===RAPH.plainEdge.toUpperCase()?identity?raph:withAlpha(c.brandInk,.2)??raph:neutral[key]??brand[key]??raph},topInk:topInk}}var COLOR=/#[0-9A-Fa-f]{6}\b|#[0-9A-Fa-f]{3}\b|rgba\([^)]*\)/g;function paintRule(painter,selector,rule){let next={};for(let[property,value]of Object.entries(rule))next[property]=value.replace(COLOR,hit=>painter(selector,property,hit));return next}function paint({painter:painter,topInk:topInk}){let out={};for(let[selector,rule]of Object.entries(RAPH_RECORDS_RULES)){let next=paintRule(painter,selector,rule);selector===".rec-top"&&topInk!==null&&(next.color=topInk),out[selector]=/* @__PURE__ */Object.freeze(next)}/* @__PURE__ */
122
122
  return Object.freeze(out)}function paintWeb({painter:painter}){let out={};for(let[selector,entries]of Object.entries(WEB_HEALTH_RULES))out[selector]=/* @__PURE__ */Object.freeze(entries.map(([rank,rule])=>/* @__PURE__ */Object.freeze([rank,/* @__PURE__ */Object.freeze(paintRule(painter,selector,rule))])));/* @__PURE__ */
123
123
  return Object.freeze(out)}var cache2=/* @__PURE__ */new WeakMap,webCache=/* @__PURE__ */new WeakMap;function recordsSheetWebRules(theme,palette="theme"){if(palette==="raph")return WEB_HEALTH_RULES;let hit=webCache.get(theme);if(hit!==void 0)return hit;let rules=paintWeb(painterFor(theme));return webCache.set(theme,rules),rules}function recordsSheetRules(theme,palette="theme"){if(palette==="raph")return RAPH_RECORDS_RULES;let hit=cache2.get(theme);if(hit!==void 0)return hit;let rules=paint(painterFor(theme));return cache2.set(theme,rules),rules}var EASE_OUT="cubic-bezier(0.23, 1, 0.32, 1)";function useArrival(reduced){let[element,setElement]=react.useState(null),motion=!reduced,[arrived,setArrived]=react.useState(!motion);return react.useEffect(()=>{if(!motion){setArrived(true);return}if(arrived||element===null)return;if(typeof IntersectionObserver>"u"){setArrived(true);return}let observer=new IntersectionObserver(entries=>{entries.some(entry=>entry.isIntersecting)&&(setArrived(true),observer.disconnect())},{rootMargin:"0px 0px -8% 0px"});return observer.observe(element),()=>observer.disconnect()},[motion,arrived,element]),{ref:setElement,element:element,arrived:arrived,motion:motion}}function phase(motion,arrived,before,after){return motion?arrived?after:before:{}}function stagePetMotion(a){return phase(a.motion,a.arrived,{opacity:0,translate:"-50% 16px"},{transition:`opacity 400ms ease 380ms, translate 900ms ${EASE_OUT} 380ms`})}function stageGrassMotion(a){return phase(a.motion,a.arrived,{clipPath:"inset(100% 0 0 0)"},{clipPath:"inset(0 0 0 0)",transition:`clip-path 800ms ${EASE_OUT} 80ms`})}function enterDelayMs(index){return Math.min(index,6)*60}function enterMotion(a,index){let d=enterDelayMs(index);return phase(a.motion,a.arrived,{opacity:0,translate:"0 10px"},{transition:`opacity 300ms ease ${d}ms, translate 500ms ${EASE_OUT} ${d}ms`})}function CountUp({value:value,arrival:arrival,style:style}){let[shown,setShown]=react.useState(value),ran=react.useRef(false),{arrived:arrived,motion:motion}=arrival;return react.useEffect(()=>{let end=Number.parseFloat(value);if(!arrived||!motion||ran.current||Number.isNaN(end)||typeof requestAnimationFrame>"u"){setShown(value);return}ran.current=true;let places=(value.split(".")[1]??"").length,frame=0,start=null,tick=now=>{start??=now;let k=Math.min(1,(now-start)/700);setShown(k<1?(end*(1-Math.pow(1-k,3))).toFixed(places):value),k<1&&(frame=requestAnimationFrame(tick))};return frame=requestAnimationFrame(tick),()=>cancelAnimationFrame(frame)},[arrived,motion,value]),/* @__PURE__ */jsxRuntime.jsx("span",{style:style,"data-count":"",children:shown})}var BEAT=[{scale:"1",offset:0,easing:EASE_OUT},{scale:"1.22",offset:.3,easing:EASE_OUT},{scale:"0.96",offset:.55,easing:EASE_OUT},{scale:"1",offset:1}];function useHeartBeat(node,a){let done=react.useRef(false);react.useEffect(()=>{let el=node.current;if(!a.motion||!a.arrived||done.current||el===null||typeof el.animate!="function")return;done.current=true;let run=null;try{run=el.animate(BEAT,{duration:900,delay:700,easing:"linear"})}catch{}return()=>run?.cancel()},[node,a.motion,a.arrived])}function usePetLean(box,pet,enabled){react.useEffect(()=>{if(!enabled||box===null||typeof requestAnimationFrame>"u")return;let tx=0,ty=0,x=0,y=0,vx=0,vy=0,frame=0,loop=()=>{vx=(vx+(tx-x)*.08)*.78,vy=(vy+(ty-y)*.08)*.78,x+=vx,y+=vy;let drawing=pet.current;drawing!==null&&(drawing.style.transform=`translate(${x.toFixed(2)}px, ${y.toFixed(2)}px)`),frame=Math.abs(tx-x)+Math.abs(ty-y)+Math.abs(vx)+Math.abs(vy)>.05?requestAnimationFrame(loop):0},onMove=event=>{if(event.pointerType!=="mouse")return;let r=box.getBoundingClientRect();r.width===0||r.height===0||(tx=((event.clientX-r.left)/r.width-.5)*18,ty=((event.clientY-r.top)/r.height-.5)*8,frame||(frame=requestAnimationFrame(loop)))},onLeave=()=>{tx=0,ty=0,frame||(frame=requestAnimationFrame(loop))};return box.addEventListener("pointermove",onMove),box.addEventListener("pointerleave",onLeave),()=>{box.removeEventListener("pointermove",onMove),box.removeEventListener("pointerleave",onLeave),cancelAnimationFrame(frame),pet.current?.style.removeProperty("transform")}},[box,pet,enabled])}function useTileHover(ink,reduced){let[hover,setHover]=react.useState(false),[down,setDown]=react.useState(false),tile=reduced?{transition:"none",...hover?{boxShadow:`inset 0 0 0 1.5px ${ink}`}:{}}:{transition:`box-shadow 150ms ease, transform 260ms ${EASE_OUT}`,...hover?{boxShadow:`inset 0 0 0 1.5px ${ink}`}:{},...down?{transform:"scale(0.98)"}:hover?{transform:"translateY(-3px)"}:{}},chevron=reduced?{}:{transition:`transform 260ms ${EASE_OUT}`,...hover?{transform:"translateX(4px)"}:{}};return{tile:tile,chevron:chevron,handlers:{onPointerEnter:event=>setHover(event.pointerType==="mouse"),onPointerLeave:()=>{setHover(false),setDown(false)},onPointerDown:()=>setDown(true),onPointerUp:()=>setDown(false),onPointerCancel:()=>setDown(false)}}}function usePointerState(){let[hover,setHover]=react.useState(false),[down,setDown]=react.useState(false);return{hover:hover,down:down,handlers:{onPointerEnter:event=>setHover(event.pointerType==="mouse"),onPointerLeave:()=>{setHover(false),setDown(false)},onPointerDown:()=>setDown(true),onPointerUp:()=>setDown(false),onPointerCancel:()=>setDown(false)}}}var NOTE_IN=[{opacity:0,transform:"translateY(-4px)",offset:0,easing:EASE_OUT},{opacity:1,transform:"none",offset:1}];function useNoteIn(node,open,reduced){react.useEffect(()=>{let el=node.current;if(!open||reduced||el===null||typeof el.animate!="function")return;let run=null;try{run=el.animate(NOTE_IN,{duration:200,easing:"linear"})}catch{}return()=>run?.cancel()},[node,open,reduced])}function chartLineMotion(a){return phase(a.motion,a.arrived,{clipPath:"inset(0 100% 0 0)"},{clipPath:"inset(0 0 0 0)",transition:`clip-path 900ms ${EASE_OUT} 200ms`})}function chartPointMotion(a,xPercent){let d=Math.round(xPercent*8);return phase(a.motion,a.arrived,{opacity:0,scale:"0.4"},{transition:`opacity 200ms ease ${d}ms, scale 350ms ${EASE_OUT} ${d}ms`})}function chartRailMotion(a,index){let d=index*70;return{transformOrigin:"50% 0",...phase(a.motion,a.arrived,{transform:"scaleY(0)"},{transition:`transform 420ms ${EASE_OUT} ${d}ms`})}}function chartLegendMotion(a){return phase(a.motion,a.arrived,{opacity:0},{transition:"opacity 400ms ease 120ms"})}function useTimelineSeen(count,reduced){let nodes=react.useRef(/* @__PURE__ */new Map),[seen,setSeen]=react.useState(reduced?"all":/* @__PURE__ */new Set),watchable=!reduced&&typeof IntersectionObserver<"u";return react.useEffect(()=>{if(!watchable){setSeen("all");return}let observer=new IntersectionObserver(entries=>{let hits=[];for(let entry of entries){if(!entry.isIntersecting)continue;let index=Number(entry.target.dataset.row);Number.isFinite(index)&&hits.push(index),observer.unobserve(entry.target)}hits.length>0&&setSeen(was=>was==="all"?was:/* @__PURE__ */new Set([...was,...hits]))},{rootMargin:"0px 0px -18% 0px"});return nodes.current.forEach(node=>observer.observe(node)),()=>{observer.disconnect(),setSeen("all")}},[watchable,count]),{watching:watchable&&seen!=="all",seen:index=>seen==="all"||seen.has(index),rowRef:index=>node=>{node===null?nodes.current.delete(index):(node.dataset.row=String(index),nodes.current.set(index,node))}}}function timelineRowMotion(t,index){let waiting=t.watching&&!t.seen(index);return{row:{transition:`opacity 500ms ${EASE_OUT}, translate 500ms ${EASE_OUT}`,...waiting?{opacity:.25,translate:"10px 0"}:{}},rail:{transformOrigin:"50% 0",transition:`scale 600ms ${EASE_OUT} 150ms`,...waiting?{scale:"1 0"}:{}},dot:{transition:"background-color 300ms ease, border-color 300ms ease"}}}var EAR="50% 50% 45% 45% / 60% 60% 40% 40%",SKELETON_PARTS=[{top:"8%",left:"25%",width:"17%",height:"17%",rotate:"-15deg",borderRadius:EAR},{top:"8%",right:"25%",width:"17%",height:"17%",rotate:"15deg",borderRadius:EAR},{top:"12%",left:"28%",width:"44%",aspectRatio:"1",borderRadius:"50%"},{bottom:"2%",left:"16%",width:"68%",height:"60%",borderRadius:"50% 50% 18% 18% / 34% 34% 8% 8%"}],SKELETON_GROUND="#EFE9E3",SWEEP="linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.62) 50%, rgba(255, 255, 255, 0) 100%)";function SkeletonPart({style:style,sweep:sweep}){let glint=react.useRef(null);return react.useEffect(()=>{let el=glint.current;if(!sweep||el===null||typeof el.animate!="function")return;let run=null;try{run=el.animate([{transform:"translate3d(-100%, 0, 0)"},{transform:"translate3d(100%, 0, 0)"}],{duration:1400,iterations:1/0,easing:"linear"})}catch{}return()=>run?.cancel()},[sweep]),/* @__PURE__ */jsxRuntime.jsx("span",{style:{...style,position:"absolute",display:"block",overflow:"hidden",background:SKELETON_GROUND},children:/* @__PURE__ */jsxRuntime.jsx("span",{ref:glint,style:{position:"absolute",inset:0,backgroundImage:SWEEP,transform:"translate3d(-100%, 0, 0)",opacity:sweep?1:0}})})}function PetDrawingSkeleton({sweep:sweep}){/* @__PURE__ */