@everfur/sdk 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/CHANGELOG.md +634 -0
  2. package/README.md +58 -23
  3. package/consent/package.json +8 -0
  4. package/dist/Chat-DPUD6dnc.d.cts +128 -0
  5. package/dist/Chat-DwAC2vhB.d.ts +128 -0
  6. package/dist/DepthViews-DNEM96Se.d.ts +16 -0
  7. package/dist/DepthViews-DP0R-DhB.d.cts +19 -0
  8. package/dist/DepthViews-D_3hl4xk.d.ts +19 -0
  9. package/dist/DepthViews-DbFhR4Du.d.cts +16 -0
  10. package/dist/ErrorPolicyPort-CNf4uQZP.d.cts +22 -0
  11. package/dist/ErrorPolicyPort-CwbfmxzJ.d.ts +22 -0
  12. package/dist/{EverfurResult-D92-uL82.d.cts → EverfurResult-DN9pL2Ab.d.cts} +11 -10
  13. package/dist/{EverfurResult-D92-uL82.d.ts → EverfurResult-DN9pL2Ab.d.ts} +11 -10
  14. package/dist/{PhotoController-BItt5M7u.d.cts → PhotoController-3l7MT9jA.d.cts} +1 -1
  15. package/dist/{PhotoController-D8zMTdcW.d.ts → PhotoController-vzY5bfY_.d.ts} +1 -1
  16. package/dist/animations/index.cjs +1 -1997
  17. package/dist/animations/index.d.cts +35 -35
  18. package/dist/animations/index.d.ts +35 -35
  19. package/dist/animations/index.js +1 -1972
  20. package/dist/attachments-5NeobOCd.d.ts +256 -0
  21. package/dist/attachments-Bw3iMQgu.d.ts +146 -0
  22. package/dist/attachments-CQgFrEQ7.d.cts +146 -0
  23. package/dist/attachments-D8T5re7e.d.cts +256 -0
  24. package/dist/casesRepository-ClLv6qMl.d.ts +188 -0
  25. package/dist/casesRepository-DHwtGRYY.d.cts +188 -0
  26. package/dist/chat/index.cjs +1 -1170
  27. package/dist/chat/index.d.cts +31 -53
  28. package/dist/chat/index.d.ts +31 -53
  29. package/dist/chat/index.js +1 -1167
  30. package/dist/client/index.cjs +9 -2315
  31. package/dist/client/index.d.cts +77 -15
  32. package/dist/client/index.d.ts +77 -15
  33. package/dist/client/index.js +9 -2215
  34. package/dist/{config-CiJ0PVBB.d.ts → config-CzTZGlfF.d.cts} +63 -25
  35. package/dist/{config-BSjBdxrZ.d.cts → config-DW60uRb9.d.ts} +63 -25
  36. package/dist/consent/index.cjs +1 -0
  37. package/dist/consent/index.d.cts +33 -0
  38. package/dist/consent/index.d.ts +33 -0
  39. package/dist/consent/index.js +1 -0
  40. package/dist/context-DXhqHlPU.d.ts +159 -0
  41. package/dist/context-XvTzq1tE.d.cts +159 -0
  42. package/dist/copy-Mjoo91aS.d.ts +198 -0
  43. package/dist/copy-bKDNigLb.d.cts +198 -0
  44. package/dist/core/index.cjs +13 -3178
  45. package/dist/core/index.d.cts +58 -12
  46. package/dist/core/index.d.ts +58 -12
  47. package/dist/core/index.js +13 -3166
  48. package/dist/depth-CErXCU8J.d.cts +502 -0
  49. package/dist/depth-DjDcJ6kH.d.ts +502 -0
  50. package/dist/entitlementRepository-DKdXFgTo.d.cts +698 -0
  51. package/dist/entitlementRepository-DSbzuyAW.d.ts +698 -0
  52. package/dist/{identity-DK9zORrG.d.ts → identity-BMx2SUOM.d.ts} +19 -6
  53. package/dist/{identity-Brl-lDd6.d.cts → identity-DI4eVx9S.d.cts} +19 -6
  54. package/dist/{ids-CJ1S6adf.d.cts → ids-B2GAAifq.d.cts} +1 -1
  55. package/dist/{ids-CJ1S6adf.d.ts → ids-B2GAAifq.d.ts} +1 -1
  56. package/dist/index.cjs +12 -4494
  57. package/dist/index.d.cts +29 -121
  58. package/dist/index.d.ts +29 -121
  59. package/dist/index.js +12 -4470
  60. package/dist/models-B-Uh2LTf.d.ts +214 -0
  61. package/dist/models-D2EUxPZY.d.cts +214 -0
  62. package/dist/notifications/index.cjs +2 -0
  63. package/dist/notifications/index.d.cts +17 -0
  64. package/dist/notifications/index.d.ts +17 -0
  65. package/dist/notifications/index.js +2 -0
  66. package/dist/pets-CtQdRpWo.d.ts +92 -0
  67. package/dist/pets-aB8q0JyX.d.cts +92 -0
  68. package/dist/photo/index.cjs +1 -2189
  69. package/dist/photo/index.d.cts +6 -6
  70. package/dist/photo/index.d.ts +6 -6
  71. package/dist/photo/index.js +1 -2186
  72. package/dist/ports-BN6RHF9W.d.cts +48 -0
  73. package/dist/ports-BN6RHF9W.d.ts +48 -0
  74. package/dist/ports-DEBzEhbp.d.cts +386 -0
  75. package/dist/ports-DMolTRzU.d.ts +386 -0
  76. package/dist/profile-CSs1wlXT.d.cts +93 -0
  77. package/dist/profile-CSs1wlXT.d.ts +93 -0
  78. package/dist/records/depth/index.cjs +2 -0
  79. package/dist/records/depth/index.d.cts +13 -0
  80. package/dist/records/depth/index.d.ts +13 -0
  81. package/dist/records/depth/index.js +2 -0
  82. package/dist/records/index.cjs +3 -2839
  83. package/dist/records/index.d.cts +137 -203
  84. package/dist/records/index.d.ts +137 -203
  85. package/dist/records/index.js +3 -2833
  86. package/dist/requestFunnel-CjW7uDuA.d.ts +87 -0
  87. package/dist/requestFunnel-L-BQfi0z.d.cts +87 -0
  88. package/dist/{resolve-Dq_4_agU.d.ts → resolve-D4Ywz5OS.d.cts} +10 -4
  89. package/dist/{resolve-Dq_4_agU.d.cts → resolve-D4Ywz5OS.d.ts} +10 -4
  90. package/dist/{runtime-Bvr8yqXm.d.cts → runtime-B8s-_hv8.d.cts} +121 -59
  91. package/dist/{runtime-BIYzf9cK.d.ts → runtime-BR9ysG0J.d.ts} +121 -59
  92. package/dist/server/events/index.cjs +2 -0
  93. package/dist/server/events/index.d.cts +550 -0
  94. package/dist/server/events/index.d.ts +550 -0
  95. package/dist/server/events/index.js +2 -0
  96. package/dist/server/index.cjs +2 -533
  97. package/dist/server/index.d.cts +73 -18
  98. package/dist/server/index.d.ts +73 -18
  99. package/dist/server/index.js +2 -530
  100. package/dist/species-BXAIMh7I.d.cts +9 -0
  101. package/dist/species-BXAIMh7I.d.ts +9 -0
  102. package/dist/televet/index.cjs +1 -0
  103. package/dist/televet/index.d.cts +60 -0
  104. package/dist/televet/index.d.ts +60 -0
  105. package/dist/televet/index.js +1 -0
  106. package/dist/testing/index.cjs +5 -823
  107. package/dist/testing/index.d.cts +17 -3
  108. package/dist/testing/index.d.ts +17 -3
  109. package/dist/testing/index.js +5 -820
  110. package/dist/testing/rn/index.cjs +1 -449
  111. package/dist/testing/rn/index.d.cts +17 -29
  112. package/dist/testing/rn/index.d.ts +17 -29
  113. package/dist/testing/rn/index.js +1 -444
  114. package/dist/testing/web/index.cjs +1 -0
  115. package/dist/testing/web/index.d.cts +131 -0
  116. package/dist/testing/web/index.d.ts +131 -0
  117. package/dist/testing/web/index.js +1 -0
  118. package/dist/timelineRows-CaohZzXS.d.cts +19 -0
  119. package/dist/timelineRows-DZed6dAM.d.ts +19 -0
  120. package/dist/typeStyle-0TydiZ1w.d.cts +19 -0
  121. package/dist/typeStyle-CWMsoe6b.d.ts +19 -0
  122. package/dist/uploadTransport-D0M0T4hN.d.ts +38 -0
  123. package/dist/uploadTransport-DKJHs3Yj.d.cts +38 -0
  124. package/dist/useRecordsDepth-BHBzJ76R.d.cts +237 -0
  125. package/dist/useRecordsDepth-BU-OhzH6.d.ts +237 -0
  126. package/dist/useVetVisit-Bc84hWUU.d.cts +187 -0
  127. package/dist/useVetVisit-CjmMa896.d.ts +187 -0
  128. package/dist/video/index.cjs +1 -1941
  129. package/dist/video/index.d.cts +4 -4
  130. package/dist/video/index.d.ts +4 -4
  131. package/dist/video/index.js +1 -1938
  132. package/dist/view-C3qPIXGX.d.cts +310 -0
  133. package/dist/view-DtSPYpKa.d.ts +310 -0
  134. package/dist/visitIntent-D7_yVp1I.d.cts +8 -0
  135. package/dist/visitIntent-D7_yVp1I.d.ts +8 -0
  136. package/dist/web/consent/index.cjs +1 -0
  137. package/dist/web/consent/index.d.cts +34 -0
  138. package/dist/web/consent/index.d.ts +34 -0
  139. package/dist/web/consent/index.js +1 -0
  140. package/dist/web/index.cjs +14 -0
  141. package/dist/web/index.d.cts +217 -0
  142. package/dist/web/index.d.ts +217 -0
  143. package/dist/web/index.js +14 -0
  144. package/dist/web/notifications/index.cjs +2 -0
  145. package/dist/web/notifications/index.d.cts +213 -0
  146. package/dist/web/notifications/index.d.ts +213 -0
  147. package/dist/web/notifications/index.js +2 -0
  148. package/dist/web/records/depth/index.cjs +2 -0
  149. package/dist/web/records/depth/index.d.cts +12 -0
  150. package/dist/web/records/depth/index.d.ts +12 -0
  151. package/dist/web/records/depth/index.js +2 -0
  152. package/dist/web/records/index.cjs +4 -0
  153. package/dist/web/records/index.d.cts +194 -0
  154. package/dist/web/records/index.d.ts +194 -0
  155. package/dist/web/records/index.js +4 -0
  156. package/dist/web/televet/index.cjs +1 -0
  157. package/dist/web/televet/index.d.cts +50 -0
  158. package/dist/web/televet/index.d.ts +50 -0
  159. package/dist/web/televet/index.js +1 -0
  160. package/notifications/package.json +8 -0
  161. package/package.json +197 -9
  162. package/records/depth/package.json +8 -0
  163. package/server/events/device-blocked.cjs +15 -0
  164. package/server/events/package.json +9 -0
  165. package/televet/package.json +8 -0
  166. package/testing/web/native-blocked.cjs +12 -0
  167. package/testing/web/package.json +8 -0
  168. package/web/consent/native-blocked.cjs +12 -0
  169. package/web/consent/package.json +8 -0
  170. package/web/native-blocked.cjs +12 -0
  171. package/web/notifications/native-blocked.cjs +12 -0
  172. package/web/notifications/package.json +8 -0
  173. package/web/package.json +8 -0
  174. package/web/records/depth/native-blocked.cjs +12 -0
  175. package/web/records/depth/package.json +8 -0
  176. package/web/records/native-blocked.cjs +12 -0
  177. package/web/records/package.json +8 -0
  178. package/web/televet/native-blocked.cjs +12 -0
  179. package/web/televet/package.json +8 -0
  180. package/dist/ChatController-CKdBvPj2.d.ts +0 -146
  181. package/dist/ChatController-CpUMvvZf.d.cts +0 -146
  182. package/dist/FilePort-BabWrv7I.d.cts +0 -22
  183. package/dist/FilePort-BabWrv7I.d.ts +0 -22
  184. package/dist/petsRepository-BEGb97M9.d.cts +0 -326
  185. package/dist/petsRepository-Bu18r2kK.d.ts +0 -326
  186. package/dist/requestFunnel-DuUH-kAe.d.cts +0 -28
  187. package/dist/requestFunnel-dio5OmR9.d.ts +0 -28
@@ -0,0 +1,14 @@
1
+ import {createContext,useContext,createElement,useSyncExternalStore,useMemo,useState,useRef,useEffect,useCallback,useLayoutEffect,useId,useReducer,Component}from'react';import {z}from'zod';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var Ec=Object.defineProperty;var i=(e,t)=>Ec(e,"name",{value:t,configurable:true});function F(e,t){return Object.freeze(t===void 0?{ok:true,value:e}:{ok:true,value:e,warning:t})}i(F,"ok");function E(e){return Object.freeze({ok:false,error:e})}i(E,"err");function Cc(e){return e.ok}i(Cc,"isOk");function Rc(e){return !e.ok}i(Rc,"isErr");var fr=class fr extends Error{constructor(t){super(`${t.code}: ${t.displayMessage}`),this.name="EverfurThrownError",this.error=t,this.code=t.code,this.category=t.category,Object.setPrototypeOf(this,fr.prototype);}};i(fr,"EverfurThrownError");var pr=fr;function Sc(e){if(e.ok)return e.value;throw new pr(e.error)}i(Sc,"unwrap");var mr=class mr extends Error{constructor(t,r){super(r),this.name="EverfurConfigError",this.kind=t,Object.setPrototypeOf(this,mr.prototype);}};i(mr,"EverfurConfigError");var Z=mr;var yr=Object.freeze({track(){},trackExpectedFailure(){}});var _n=Object.freeze([Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"AuthorizationException",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"ConflictException",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"DAILY_QUOTA_EXCEEDED",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"FILE_TOO_LARGE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_IN_FLIGHT",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"INVALID_CONTENT_TYPE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"InternalFailureException",envelope:"http_envelope",httpStatus:500,retryable:true}),Object.freeze({wireCode:"MethodNotAllowedException",envelope:"http_envelope",httpStatus:405,retryable:false}),Object.freeze({wireCode:"NotImplementedException",envelope:"http_envelope",httpStatus:501,retryable:false}),Object.freeze({wireCode:"PaymentRequiredException",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ResourceNotFoundException",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"ServiceUnavailableException",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"TIER_UPGRADE_REQUIRED",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ThrottlingException",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"ValidationException",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"accessDenied",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"access_denied",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"attachment_unreadable",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"authExpired",envelope:"http_envelope",httpStatus:401,retryable:true}),Object.freeze({wireCode:"authRejected",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"consent_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_required",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_scope_wrong_route",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"device_cipher_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"email_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"event_cursor_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_payload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_not_available",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_unknown",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_required",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_reused",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"insufficientCapability",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"insufficient_scope",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"internal_error",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"invalidRequest",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_client",envelope:"oauth_error",httpStatus:401,retryable:false}),Object.freeze({wireCode:"invalid_client_metadata",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_grant",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_redirect_uri",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_request",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_scope",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_target",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"mcp_connection_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"mcp_request_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"mcp_request_gone",envelope:"http_envelope",httpStatus:410,retryable:false}),Object.freeze({wireCode:"mcp_request_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"not_found",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"partner_visit_link_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"partner_visit_owner_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"partner_visit_pet_already_mapped",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"payload_too_large",envelope:"http_envelope",httpStatus:413,retryable:false}),Object.freeze({wireCode:"petRefInUse",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"pet_health_list_removals_unconfirmed",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_health_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_not_registered",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"provider_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"rateLimited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"record_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"record_subject_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"record_upload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"records_consent_required",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"sandbox_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"session_required",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"share_limit_reached",envelope:"http_envelope",httpStatus:429,retryable:false}),Object.freeze({wireCode:"slow_down",envelope:"oauth_error",httpStatus:429,retryable:true}),Object.freeze({wireCode:"species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"tenant_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"tenant_has_no_capabilities",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"tenant_resource_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"tenant_surface_not_enabled",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"timeout",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"token_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"unavailable",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"unsupported_grant_type",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"unsupported_response_type",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"verify_mint_rate_limited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"verify_mint_refused",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"verify_mint_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"verify_user_ref_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_empty",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);Object.freeze(_n.map(e=>e.wireCode));var xc=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",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",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"}),wi=Object.freeze(_n.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:xc[e.wireCode]}))),Tc=new Map(wi.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),kc=Object.freeze(["http_envelope",...[...new Set(wi.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function gr(e,t){if(typeof e!="string")return;let r=e.trim().toUpperCase();if(r.length!==0)for(let n of [t??"http_envelope",...kc]){let o=Tc.get(n+r);if(o)return o}}i(gr,"contractErrorFor");function Pc(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}i(Pc,"contractDocUrl");function Ii(e){return null}i(Ii,"publishedDocUrl");var _c=Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"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 wn(e){return _c[e]}i(wn,"categoryFor");function Fe(e){let t=gr(e);if(t)return t.normalized;let r=(e??"").trim().toUpperCase(),n=r.replace(/[^A-Z0-9]/g,"");if(n==="AUTHREJECTED")return "authRejected";if(r.startsWith("AUTH"))return "authExpired";switch(n){case "DAILYQUOTAEXCEEDED":case "QUOTAEXCEEDED":return "quotaExceeded";case "RATELIMITED":case "TOOMANYREQUESTS":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";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"}}i(Fe,"fromWire");function Ai(e){return e===401?"authExpired":e===403?"accessDenied":e===404?"conversationNotFound":e===409?"idempotencyConflict":e===421?"unknown":e===429?"rateLimited":e===400||e===422?"unknown":e>=500?"internalError":"unknown"}i(Ai,"fromHttpStatus");var wc=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function je(e){return wc.has(e)}i(je,"isAutoRetryable");var Ic=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function In(e){return je(e)||Ic.has(e)}i(In,"isRetryableCode");function hr(e,t=false){return t||je(e)}i(hr,"shouldRetry");var Ac=500,An=8e3,Mt=4;function br(e,t=Math.random){let r=Math.max(0,e),n=Math.min(Ac*2**r,An);return Math.floor(t()*n)}i(br,"backoffDelayMs");function Oi(e){return e==="conversationNotFound"}i(Oi,"canRecreateOnNotFound");var Fi=Object.freeze({shouldRetry(e,t){return je(e)&&t<Mt},maxAttempts(){return Mt}});var Mi=Object.freeze({isAvailable:false,async capture(){return Promise.reject(new Error("CameraPort is unavailable; check isAvailable before calling capture"))}});function Xe(e){throw new Error(`assertNever: unhandled discriminated-union member ${JSON.stringify(e)}`)}i(Xe,"assertNever");function Di(e,t,r=null){return Object.freeze({kind:"accepted",streamId:e,lastEventId:t,serverRequestId:r,terminal:false})}i(Di,"acceptedFrame");function Li(e,t=null){return Object.freeze({kind:"heartbeat",lastEventId:e,serverRequestId:t,terminal:false})}i(Li,"heartbeatFrame");function Ni(e,t,r=null){return Object.freeze({kind:"delta",delta:e,lastEventId:t,serverRequestId:r,terminal:false})}i(Ni,"deltaFrame");function zi(e,t=null){return Object.freeze({kind:"done",terminal:true,conversationId:e.conversationId,messageId:e.messageId,title:e.title,followUpQuestions:Object.freeze([...e.followUpQuestions]),citations:Object.freeze([...e.citations]),citationStatus:e.citationStatus,urgencyLevel:e.urgencyLevel,urgencyReason:e.urgencyReason,urgencyProvided:e.urgencyProvided??e.urgencyLevel!==null,resultId:e.resultId,lastEventId:e.lastEventId,serverRequestId:t})}i(zi,"doneFrame");function ue(e){return Object.freeze({kind:"error",terminal:true,code:e.code,retryable:e.retryable,wireMessage:e.wireMessage,synthesized:e.synthesized,lastEventId:e.lastEventId,serverRequestId:e.serverRequestId??null})}i(ue,"errorFrame");function Ui(e,t,r=null){return Object.freeze({kind:"analysisStarted",requestId:e,lastEventId:t,serverRequestId:r,terminal:false})}i(Ui,"analysisStartedFrame");function Hi(e,t=null){return Object.freeze({kind:"analysisComplete",terminal:false,resultId:e.resultId,analysisType:e.analysisType,modelVersion:e.modelVersion,confidence:e.confidence,detections:Object.freeze([...e.detections]),interpretation:e.interpretation,lastEventId:e.lastEventId,serverRequestId:t})}i(Hi,"analysisCompleteFrame");function Bi(e,t,r=null){return Object.freeze({kind:"unknown",raw:{...e},lastEventId:t,serverRequestId:r,terminal:false})}i(Bi,"unknownFrame");var Mc=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:"This feature isn't available on your account right now.",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:"Something in that request was not right. Check the details and try again.",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.",unknown:"Something went wrong. Please try again."});function vt(e){return Mc[e]}i(vt,"userFacingError");function ji(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:false,writable:false,configurable:false});}i(ji,"defineHidden");var Dc=/^[a-z][a-z0-9_]{0,63}$/;function D(e,t){let r=gr(t?.wireCode,t?.wireEnvelope),n={code:e,category:wn(e),retryable:t?.retryable??In(e),displayMessage:vt(e)};if(t?.httpStatus!==void 0&&(n.httpStatus=t.httpStatus),t?.requestId&&(n.requestId=t.requestId),typeof t?.reasonCode=="string"&&Dc.test(t.reasonCode)&&(n.reasonCode=t.reasonCode),r);return t?.wireMessage&&ji(n,"wireMessage",t.wireMessage),t?.raw!==void 0&&t.raw!==null&&ji(n,"raw",t.raw),Object.freeze(n)}i(D,"makeEverfurError");function Vi(e,t,r){let n=null,o=null,a=false,s=i(()=>o||(o=(async()=>{try{let l=await t(),u=typeof l=="string"?l:l?.token;if(typeof u!="string"||u.length===0)throw new Z("invalid-argument","TokenProvider returned an empty token");return n=u,r?.(typeof l=="string"?null:Lc(l.expiresAt)),u}finally{o=null;}})(),o),"load");return {userRef:e,async currentToken(l){if(a)throw new Z("not-initialized","This identity was cleared (sign-out); mint a new one.");return l?.forceRefresh&&(n=null),n!==null?n:s()},hasToken(){return !a&&n!==null},clear(){a=true,n=null;}}}i(Vi,"createIdentityProvider");function Lc(e){if(e===void 0)return null;let t=typeof e=="number"?e<1e11?e*1e3:e:new Date(e).getTime();return Number.isFinite(t)?t:null}i(Lc,"expiryMs");function Fn(){let e=new Uint8Array(16),t=globalThis.crypto;if(typeof t?.getRandomValues=="function")t.getRandomValues(e);else for(let n=0;n<e.length;n+=1)e[n]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let r=[];for(let n=0;n<e.length;n+=1)r.push(e[n].toString(16).padStart(2,"0"));return r.slice(0,4).join("")+"-"+r.slice(4,6).join("")+"-"+r.slice(6,8).join("")+"-"+r.slice(8,10).join("")+"-"+r.slice(10,16).join("")}i(Fn,"newSessionId");function Nc(e){let t={};return e.mode==="personalized"?t.authorization=`Bearer ${e.token}`:t["x-everfur-partner-key"]=e.publishableKey,e.userRef&&(t["x-everfur-user-ref"]=e.userRef),e.sessionId&&(t["x-everfur-session-id"]=e.sessionId),t}i(Nc,"authHeaders");function Dt(e,t){return {...e,headers:{...zc(e.headers),...Nc(t)}}}i(Dt,"withAuthHeaders");function zc(e){if(!e)return {};let t={};for(let[r,n]of Object.entries(e)){let o=r.toLowerCase();o==="authorization"||o==="x-everfur-partner-key"||(t[r]=n);}return t}i(zc,"stripAuthHeaders");async function $i(e,t){if(t.mode==="anonymous")return t.transport.request(Dt(e,{mode:"anonymous",publishableKey:t.publishableKey,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));let r;try{r=await t.identity.currentToken();}catch{return E(On())}let n=await t.transport.request(Dt(e,{mode:"personalized",token:r,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));if(n.ok||n.error.httpStatus!==401)return n;let o;try{o=await t.identity.currentToken({forceRefresh:!0});}catch{return E(On())}let a=await t.transport.request(Dt(e,{mode:"personalized",token:o,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));return !a.ok&&a.error.httpStatus===401?E(On(a.error.httpStatus)):a}i($i,"authedSend");function On(e){return D("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}i(On,"authRejectedError");var Wi=`
2
+
3
+ `,Uc=1048576,Hc=z.record(z.string(),z.unknown()),Bc=["emergency","schedule_soon","home_care"];async function*vr(e,t=null){let r=null,n=i(()=>(r!==null||(r=typeof t=="function"?t():t),r),"requestIdNow"),o=new TextDecoder("utf-8"),a="",s=0,l=false;for await(let u of e){for(a+=o.decode(u,{stream:true});;){let c=a.indexOf(Wi,s);if(c===-1)break;let d=a.slice(0,c);a=a.slice(c+Wi.length),s=0;let p=Ki(d,n());if(p!==null&&(p.kind==="delta"&&(l=true),yield p,p.terminal))return}if(s=a.length>0?a.length-1:0,a.length>Uc){yield ue({code:l?"CHAT_STREAM_INCOMPLETE":"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:n()});return}}if(a+=o.decode(),a.trim().length>0){let u=Ki(a,n());if(u!==null&&(u.kind==="delta"&&(l=true),yield u,u.terminal))return}yield ue({code:l?"CHAT_STREAM_INCOMPLETE":"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:n()});}i(vr,"parseSse");function Ki(e,t){let r=null,n=[];for(let s of e.split(`
4
+ `)){let l=s.replace(/\s+$/,"");l.length===0||l.startsWith(":")||(l.startsWith("id:")?r=l.slice(3).trim():l.startsWith("data:")&&n.push(l.slice(5).replace(/^ /,"")));}if(n.length===0)return null;let o;try{o=JSON.parse(n.join(`
5
+ `));}catch{return null}if(typeof o!="object"||o===null||Array.isArray(o))return null;let a=Hc.safeParse(o);return a.success?jc(a.data,r,t):null}i(Ki,"parseBlock");function jc(e,t,r){let n=e.type,o=e.event;if(n==="error"||"error"in e)return ue({code:ie(e.code)??"unknown",retryable:e.retryable===true,wireMessage:ie(e.error),synthesized:false,lastEventId:t,serverRequestId:r});if(n==="done"||e.done===true)return zi({conversationId:ie(e.conversation_id)??"",messageId:ie(e.message_id),title:ie(e.title),followUpQuestions:Wc(e.follow_up_questions),citations:qi(e.citations),citationStatus:ie(e.citation_status),urgencyLevel:Gi(e.urgency_level),urgencyReason:ie(e.urgency_reason),urgencyProvided:$c(e),resultId:ie(e.result_id),lastEventId:t},r);if(n==="accepted"||e.status==="reasoning")return Di(ie(e.stream_id),t,r);if(n==="heartbeat"||e.heartbeat===true)return Li(t,r);if(n==="text.delta"||"delta"in e||"token"in e){let a=ie(e.delta)??ie(e.token)??"";return Ni(a,t,r)}return o==="analysis_started"?Ui(ie(e.request_id),t,r):o==="analysis_complete"?Hi({resultId:ie(e.result_id),analysisType:ie(e.analysis_type),modelVersion:ie(e.model_version),confidence:Vc(e.confidence),detections:qi(e.detections),interpretation:ie(e.interpretation),lastEventId:t},r):Bi(e,t,r)}i(jc,"frameFromWire");function ie(e){return typeof e=="string"?e:null}i(ie,"asString");function Vc(e){return typeof e=="number"&&Number.isFinite(e)?e:null}i(Vc,"asNumber");function Gi(e){return typeof e=="string"&&Bc.includes(e)?e:null}i(Gi,"asUrgency");function $c(e){if(!Object.prototype.hasOwnProperty.call(e,"urgency_level"))return false;let t=e.urgency_level;return t===null||Gi(t)!==null}i($c,"urgencySlotProvided");function Wc(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?t:String(t)):[]}i(Wc,"asStringList");function Kc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(Kc,"isPlainObject");function qi(e){return Array.isArray(e)?e.filter(Kc):[]}i(qi,"asMapList");var qc="0.3.0",Gc="react-native",Yc="2026-09-19",Yi="EVERFUR_API_BASE_URL";function Lt(e,t){return Object.freeze({ok:false,failure:Object.freeze({reason:e,message:t})})}i(Lt,"configFailure");function Dn(e){let t=typeof e=="string"?e.trim():"";return t.length===0?{reason:"missing-publishable-key",message:"publishableKey is required"}:/^sk[_-]/i.test(t)?{reason:"secret-key-as-publishable-key",message:"publishableKey looks like a SECRET key (sk_...). A device must never hold a partner secret key: use the pk_ publishable key here, and keep the secret key on your server."}:null}i(Dn,"checkPublishableKey");function Xi(e,t){let r=Dn(e?.publishableKey);if(r!==null)return Object.freeze({ok:false,failure:r});let n=e.publishableKey.trim(),o=Xc(e.apiBaseUrl);if(!o.ok)return o;let a=e.contractVersion?.trim()||Yc;return Object.freeze({ok:true,config:Object.freeze({publishableKey:n,apiBaseUrl:o.value,contractVersion:a,sdkVersion:qc,platform:t?.platform??Gc,debug:e.debug===true})})}i(Xi,"tryResolveClientConfig");function Xc(e){let t=e?.trim(),r=t&&t.length>0?t:op(Yi);return r?rp(r):Lt("missing-api-base-url",`apiBaseUrl is required: pass config.apiBaseUrl or set ${Yi}. The SDK never ships a hardcoded host.`)}i(Xc,"tryResolveApiBaseUrl");function Qi(e){return {"X-Everfur-SDK-Version":e.sdkVersion,"X-Everfur-SDK-Platform":e.platform,"X-Everfur-Contract":e.contractVersion}}i(Qi,"buildBaseHeaders");var Qc=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/;function Zc(e){return e.slice(e.lastIndexOf("@")+1).replace(/:\d+$/,"").toLowerCase()}i(Zc,"hostOf");function Jc(e){return e.length===0||e.includes("@")?false:e.startsWith("[")&&e.endsWith("]")?true:!e.includes(":")}i(Jc,"isPrintableHost");function ep(e,t){let r=e.indexOf("://");return r<0||e.slice(r+3).includes("@")?false:Jc(t)}i(ep,"canEchoOrigin");function tp(e,t){return `${e}://${t}`}i(tp,"safeOrigin");function rp(e){let t=e.trim(),r=Qc.exec(t);if(r===null||r[2]===void 0||r[2].length===0)return Lt("malformed-api-base-url","apiBaseUrl is not a valid absolute URL");let n=(r[1]??"").toLowerCase(),o=Zc(r[2]);if(o.length===0)return Lt("malformed-api-base-url","apiBaseUrl is not a valid absolute URL");let a=ep(t,o)?`: ${tp(n,o)}`:"";if(n!=="https"){if(!(n==="http"&&np(o)))return n==="http"?Lt("insecure-api-base-url",`apiBaseUrl must use https (cleartext http is only allowed for localhost)${a}`):Lt("unsupported-api-base-url-scheme",`apiBaseUrl must be http(s)${a}`)}let s=t.endsWith("/")?t.slice(0,-1):t;return Object.freeze({ok:true,value:s})}i(rp,"normalizeBaseUrl");function np(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"||t==="::1"}i(np,"isLoopbackHost");function op(e){let r=globalThis.process?.env?.[e];return typeof r=="string"&&r.trim().length>0?r.trim():void 0}i(op,"readEnv");var ip=3e4,ta="x-request-id";async function*Zi(e){if(!e)return;let t=e.getReader();try{for(;;){let{done:r,value:n}=await t.read();if(r)break;n&&n.length>0&&(yield n);}}finally{await t.cancel?.();}}i(Zi,"fetchByteSource");function ap(e){let t=new TextEncoder,r=lp(),n=false,o=i(u=>{let c="";u.lastEventId&&(c+=`id: ${u.lastEventId}
6
+ `);let d=u.data??"";for(let p of d.split(`
7
+ `))c+=`data: ${p}
8
+ `;c+=`
9
+ `,r.push(t.encode(c));},"onMessage"),a=i(()=>{l(),r.end();},"onDone"),s=i(u=>{let c=typeof u.xhrStatus=="number"?u.xhrStatus:0;if(c>=400){let d=oa(c),p=je(Fe(d));r.push(t.encode(`data: ${JSON.stringify({type:"error",code:d,retryable:p})}
10
+
11
+ `));}l(),r.end();},"onError");e.addEventListener("message",o),e.addEventListener("done",a),e.addEventListener("error",s);function l(){if(!n){n=true,e.removeEventListener("message",o),e.removeEventListener("done",a),e.removeEventListener("error",s);try{e.close();}catch{}}}return i(l,"cleanup"),sp(r.source,l)}i(ap,"eventSourceByteSource");async function*sp(e,t){try{yield*e;}finally{t();}}i(sp,"sourceWithCleanup");function lp(){let e=[],t=false,r=null,n=i(()=>{if(r){let a=r;r=null,a();}},"signal");async function*o(){for(;;){let a=e.shift();if(a!==void 0){yield a;continue}if(t)return;await new Promise(s=>{r=s;});}}return i(o,"gen"),{source:o(),push:i(a=>{e.push(a),n();},"push"),end:i(()=>{t=true,n();},"end")}}i(lp,"createByteQueue");async function up(e,t){let r=t.fetchImpl??ia(),n=aa(t.config.apiBaseUrl,e.path,e.query),o=sa(t.config,e.headers,"application/json",e.body!==void 0&&e.multipart===void 0),a=yp(ip),s=gp(a.signal,e.signal),l;try{l=await r(n,la({...e,signal:s},o));}catch(c){return E(Ln(c))}finally{a.cancel();}let u=await ua(l);return l.ok?F(u):E(pp(l.status,u,na(l)))}i(up,"requestJson");function ra(e){return {request:i(t=>up(t,e),"request"),stream:i((t,r)=>dp(mp(t,r),e),"stream")}}i(ra,"createHttpTransport");async function*dp(e,t){let r=aa(t.config.apiBaseUrl,e.path,e.query),n=sa(t.config,e.headers,"text/event-stream",e.body!==void 0&&e.multipart===void 0);if(t.eventSourceFactory){let l=t.eventSourceFactory(r,cp(e,n));yield*vr(ap(l),()=>fp(l));return}let o=t.fetchImpl??ia(),a;try{a=await o(r,la(e,n));}catch(l){yield Ji("",true,fa(l));return}let s=na(a);if(!a.ok){let l=await ua(a),u=da(l)??oa(a.status),c=pa(l)||je(Fe(u));yield Ji(u,c,ca(l),s);return}if(a.body){yield*vr(Zi(a.body),s);return}yield*vr(Zi(null),s);}i(dp,"streamFrames");function cp(e,t){return {method:e.method,headers:t,pollingInterval:0,...e.body!==void 0?{body:JSON.stringify(e.body)}:{}}}i(cp,"buildEventSourceInit");function pp(e,t,r){let n=da(t),o=n?Fe(n):Ai(e),a=ca(t);return D(o,{httpStatus:e,...pa(t)?{retryable:true}:{},...r?{requestId:r}:{},...n?{wireCode:n}:{},...ea(t)?{reasonCode:ea(t)}:{},...a?{wireMessage:a}:{},...t!=null?{raw:t}:{}})}i(pp,"errorFromResponse");function Ln(e){return D("internalError",{retryable:true,wireMessage:fa(e)})}i(Ln,"networkError");function na(e){let t=e.headers.get(ta);return typeof t=="string"&&t.length>0?t:null}i(na,"requestIdOf");function fp(e){if(typeof e.getResponseHeader!="function")return null;let t;try{t=e.getResponseHeader(ta);}catch{return null}return typeof t=="string"&&t.length>0?t:null}i(fp,"eventSourceRequestId");function oa(e){return e===401?"AUTH_EXPIRED":e===403?"ACCESS_DENIED":e===404?"NOT_FOUND":e===409?"IDEMPOTENCY_CONFLICT":e===421?"MISDIRECTED_REQUEST":e===429?"RATE_LIMITED":e===400||e===422?"INVALID_REQUEST":e===503||e>=500?"INTERNAL_ERROR":""}i(oa,"statusToWireCode");function Ji(e,t,r,n=null){return ue({code:e,retryable:t,wireMessage:r,synthesized:true,lastEventId:null,serverRequestId:n})}i(Ji,"syntheticErrorFrame");function ia(){let e=globalThis.fetch;if(typeof e!="function")throw new Z("missing-peer-dependency","global fetch is unavailable; provide config.transport or an injected fetch implementation");return e}i(ia,"getGlobalFetch");function aa(e,t,r){let n=t.startsWith("/")?t:`/${t}`,o=`${e}${n}`;if(r){let a=Object.entries(r).filter(s=>s[1]!==void 0).map(([s,l])=>`${encodeURIComponent(s)}=${encodeURIComponent(String(l))}`).join("&");a&&(o+=`?${a}`);}return o}i(aa,"buildUrl");function sa(e,t,r,n){let o={...Qi(e),accept:r};return n&&(o["content-type"]="application/json"),t&&Object.assign(o,t),o}i(sa,"mergeHeaders");function la(e,t){let r={method:e.method,headers:t};return e.multipart!==void 0?r.body=e.multipart:e.body!==void 0&&(r.body=JSON.stringify(e.body)),e.signal&&(r.signal=e.signal),r}i(la,"buildInit");function mp(e,t){return e.signal?e:{...e,signal:t}}i(mp,"withSignal");function yp(e){let t=new AbortController,r=setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:i(()=>clearTimeout(r),"cancel")}}i(yp,"timeoutSignal");function gp(e,t){if(!t)return e;let r=new AbortController;if(e.aborted||t.aborted)return r.abort(),r.signal;let n=i(()=>r.abort(),"onAbort");return e.addEventListener("abort",n,{once:true}),t.addEventListener("abort",n,{once:true}),r.signal}i(gp,"mergeAbortSignals");async function ua(e){try{return await e.json()}catch{return null}}i(ua,"safeJson");function ea(e){let t=e,r=t?.error?.reason_code??t?.reason_code;return typeof r=="string"&&r.length>0?r:null}i(ea,"extractReasonCode");function da(e){let t=e,r=t?.error?.code??t?.code;return typeof r=="string"&&r.length>0?r:null}i(da,"extractWireCode");function ca(e){let t=e,r=t?.error?.message??t?.message;return typeof r=="string"&&r.length>0?r:null}i(ca,"extractWireMessage");function pa(e){let t=e;return t?.error?.retryable===true||t?.retryable===true}i(pa,"extractRetryable");function fa(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}i(fa,"describeCause");var hp=3e4,bp=An*2,vp="idempotency-key",Ep=new Set(["POST","PUT","PATCH","DELETE"]),Cp=Object.freeze({onEvent(){}}),Rp=Object.freeze({setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")});function ke(e){let t=e.observer??Cp,r=e.timers??Rp,n=e.rng??Math.random,o=e.sleep??((f,y)=>Dp(f,r,y)),a=e.maxAttempts??Mt,s=e.unaryTimeoutMs??hp,l=e.newIdempotencyKey??xp(),u=i(f=>{try{t.onEvent(f);}catch{}},"emit");async function c(f,y,m){let R=m?.maxAttempts,g=Math.max(1,R??a),P=m?.idempotent??Ep.has(y.method)?l():null,I=Sp(y,P),_=0;for(;;){let h=i(O=>Object.freeze({call:f,method:y.method,path:y.path,attempt:_,...P?{idempotencyKey:P}:{},...O}),"stamp");u(h({phase:"attempt"}));let x=Fp(s,r),A=Mp(x.signal,y.signal),M;try{M=await $i({...I,signal:A.signal},e.auth);}catch(O){M=E(Ln(O));}finally{A.dispose(),x.cancel();}if(M.ok)return u(h({phase:"settled",ok:true,reason:"ok"})),M;let v=M.error,T=kp(v,_,{maxAttempts:g,rng:n,now:r.now(),aborted:y.signal?.aborted===true,...R!==void 0?{perCallMaxAttempts:R}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),S={ok:false,code:v.code,reason:T.reason,...v.httpStatus!==void 0?{httpStatus:v.httpStatus}:{},...v.requestId!==void 0?{requestId:v.requestId}:{}};if(!T.retry)return u(h({phase:"settled",...S})),E(v);if(u(h({phase:"retry",...S,delayMs:T.delayMs})),await o(T.delayMs,y.signal),y.signal?.aborted===true)return u(h({phase:"settled",...S,reason:"aborted"})),E(v);_+=1;}}i(c,"send");async function d(f){return Dt(f,await Op(e.auth))}i(d,"authorize");async function*p(f,y,m){u(Object.freeze({call:f,phase:"stream.open",method:y.method,path:y.path,attempt:0}));try{yield*e.auth.transport.stream(y,m);}catch{yield ue({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return i(p,"stream"),Object.freeze({send:c,authorize:d,stream:p})}i(ke,"createRequestFunnel");function Sp(e,t){let r={};for(let[n,o]of Object.entries(e.headers??{}))n.toLowerCase()!==vp&&(r[n]=o);return t!==null&&(r["Idempotency-Key"]=t),{...e,headers:r}}i(Sp,"assembleHeaders");function xp(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}i(xp,"defaultIdempotencyKeyFactory");var Tp=10;function kp(e,t,r){if(r.aborted)return {retry:false,reason:"aborted"};let n=Pp(e);if(n==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(n!=="burst"&&!je(e.code))return {retry:false,reason:"terminal-code"};let o=n==="burst"?"burst-throttle":"retryable-code";if(i(()=>{if(r.policy===void 0)return false;try{return !r.policy.shouldRetry(e.code,t)}catch{return false}},"policyVetoedRetry")())return {retry:false,reason:"terminal-code"};let s=i(()=>{if(r.policy===void 0)return null;let c;try{c=r.policy.maxAttempts(e.code);}catch{return null}return typeof c!="number"||!Number.isFinite(c)?null:Math.max(1,Math.min(Tp,Math.floor(c)))},"policyCeiling"),l=r.perCallMaxAttempts??s()??r.maxAttempts;if(t+1>=l)return {retry:false,reason:"attempts-exhausted"};let u=_p(e,r.now);return u!==null?u>bp?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:o,delayMs:u}:{retry:true,reason:o,delayMs:br(t,r.rng)}}i(kp,"decideRetry");function Pp(e){let t=e.code==="unknown"?Fe(Ap(e.raw)):e.code;return t==="quotaExceeded"?"quota":t==="rateLimited"||e.httpStatus===429?"burst":null}i(Pp,"throttleKind");function _p(e,t){let r=wp(e.raw);if(r===null)return null;let n=r-t;return n>0?n:0}i(_p,"retryOverrideMs");function wp(e){for(let t of ya(e)){let r=t.resets_at,n=Ip(r);if(n!==null)return n}return null}i(wp,"findResetsAt");function ya(e){if(!ma(e))return [];let t=[e];for(let r of ["error","detail"]){let n=e[r];ma(n)&&t.push(n);}return t}i(ya,"candidateScopes");function Ip(e){if(typeof e=="number"&&Number.isFinite(e))return e<1e11?Math.round(e*1e3):Math.round(e);if(typeof e=="string"&&e.trim().length>0){let t=Date.parse(e);return Number.isFinite(t)?t:null}return null}i(Ip,"parseInstantMs");function Ap(e){for(let t of ya(e)){let r=t.code;if(typeof r=="string"&&r.length>0)return r}return null}i(Ap,"rawWireCode");function ma(e){return typeof e=="object"&&e!==null}i(ma,"isRecord");async function Op(e){return e.mode==="anonymous"?{mode:"anonymous",publishableKey:e.publishableKey,userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}:{mode:"personalized",token:await e.identity.currentToken(),userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}}i(Op,"resolveDeviceAuth");function Fp(e,t){let r=new AbortController,n=t.setTimeout(()=>r.abort(),e);return {signal:r.signal,cancel:i(()=>t.clearTimeout(n),"cancel")}}i(Fp,"boundedSignal");function Mp(e,t){let r=i(()=>{},"noop");if(!t)return {signal:e,dispose:r};let n=new AbortController;if(e.aborted||t.aborted)return n.abort(),{signal:n.signal,dispose:r};let o=i(()=>n.abort(),"onAbort");return e.addEventListener("abort",o,{once:true}),t.addEventListener("abort",o,{once:true}),{signal:n.signal,dispose:i(()=>{e.removeEventListener("abort",o),t.removeEventListener("abort",o);},"dispose")}}i(Mp,"mergeSignals");function Dp(e,t,r){return e<=0||r?.aborted===true?Promise.resolve():new Promise(n=>{let o=t.setTimeout(()=>{r?.removeEventListener("abort",a),n();},e),a=i(()=>{t.clearTimeout(o),n();},"onAbort");r?.addEventListener("abort",a,{once:true});})}i(Dp,"delayAbortable");function Ce(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r>=55296&&r<=56319){let n=e.charCodeAt(t+1);if(!(n>=56320&&n<=57343))return true;t+=1;}else if(r>=56320&&r<=57343)return true}return false}i(Ce,"hasLoneSurrogate");function ot(e){return [...e].length}i(ot,"serverLength");var Er=Object.freeze(["better","same","worse"]),zn=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ga(e){return E(D("validationFailed",{retryable:false,wireMessage:e}))}i(ga,"invalid");function Nn(){return E(D("internalError",{retryable:false}))}i(Nn,"malformed");function ha(e){return typeof e!="string"||e.trim().length===0?D("validationFailed",{retryable:false,wireMessage:"pet_ref must not be blank"}):Ce(e)?D("validationFailed",{retryable:false,wireMessage:"pet_ref contains an unpaired surrogate and cannot be encoded"}):`/widget/v1/pets/${encodeURIComponent(e)}/cases`}i(ha,"petPath");var Ve=i(e=>typeof e=="string"?e:null,"str");function ba(e){if(typeof e!="object"||e===null)return null;let t=e,r=Ve(t.case_id),n=Ve(t.status);if(r===null||n===null)return null;let o=Ve(t.last_response);return Object.freeze({caseId:r,status:n,bodyLocation:Ve(t.body_location),lastResponse:o!==null&&Er.includes(o)?o:null,checkInDueAt:Ve(t.check_in_due_at),openedAt:Ve(t.opened_at),resolvedAt:Ve(t.resolved_at),resolutionText:Ve(t.resolution_text)})}i(ba,"caseFromWire");function va(e){return {async list(t,r){let n=ha(t);if(typeof n!="string")return E(n);let o=await e.send("cases.list",{method:"GET",path:n,...r?.signal?{signal:r.signal}:{}});if(!o.ok)return E(o.error);let a=typeof o.value=="object"&&o.value!==null?o.value.cases:null;if(!Array.isArray(a))return Nn();let s=a.map(ba);return s.every(l=>l!==null)?F(Object.freeze(s)):Nn()},async checkin(t,r,n,o){let a=ha(t);if(typeof a!="string")return E(a);if(typeof r!="string"||!zn.test(r))return ga("case_id must be a UUID");if(!Er.includes(n))return ga("response must be one of better, same, worse");let s=await e.send("cases.checkin",{method:"POST",path:`${a}/${r}/checkin`,body:{response:n},...o?.signal?{signal:o.signal}:{}});if(!s.ok)return E(s.error);let l=typeof s.value=="object"&&s.value!==null?s.value:{},u=ba(l.case);return u===null?Nn():F(Object.freeze({case:u,ctaDeepLink:Ve(l.cta_deep_link)}))}}}i(va,"createCasesRepositoryOver");var Ea=Object.freeze({async presignedPut(){return Promise.reject(new Error("UploadPort is unavailable; no presigned-upload adapter was injected"))}});var Ca=Object.freeze({setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")});function Rr(e,t,r){return new Promise(n=>{if(t.aborted){n();return}let o={handle:void 0},a=i(()=>{r.clearTimeout(o.handle),t.removeEventListener("abort",a),n();},"done");o.handle=r.setTimeout(a,e),t.addEventListener("abort",a,{once:true});})}i(Rr,"delayAbortable");function Sr(e,t){if(!t)return e;let r=new AbortController;if(e.aborted||t.aborted)return r.abort(),r.signal;let n=i(()=>r.abort(),"onAbort");return e.addEventListener("abort",n,{once:true}),t.addEventListener("abort",n,{once:true}),r.signal}i(Sr,"mergeSignals");var Un=class Un{constructor(t){this.listeners=new Set;this.epoch=0;this.inFlight=null;this.snapshot=Object.freeze({...t});}subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t);}}getSnapshot(){return this.snapshot}patch(t){this.snapshot=Object.freeze({...this.snapshot,...t});for(let r of this.listeners)r();}beginOperation(t){this.inFlight?.abort();let r=new AbortController;this.inFlight=r;let n=this.epoch;return {signal:t?Sr(r.signal,t):r.signal,epoch:n,settle:i(()=>{this.inFlight===r&&(this.inFlight=null);},"settle")}}alive(t){return t===this.epoch}rescope(){this.epoch+=1,this.inFlight?.abort(),this.inFlight=null;}dispose(){this.epoch+=1,this.inFlight?.abort(),this.inFlight=null,this.listeners.clear();}};i(Un,"MediaStore");var Cr=Un;function Bn(e,t,r){return Object.freeze({id:e,role:"user",text:t,createdAt:r,pending:true})}i(Bn,"makeUser");function jn(e,t,r){return Object.freeze({id:e,role:"assistant",text:t,createdAt:r})}i(jn,"makeAssistant");function zt(e){return Object.freeze({id:e.id,role:e.role,text:e.text,createdAt:e.createdAt})}i(zt,"stripPending");function Ra(e,t){let r={id:e.id,role:e.role,text:e.text+t,createdAt:e.createdAt};return e.citations&&(r.citations=e.citations),e.responseId&&(r.responseId=e.responseId),Object.freeze(r)}i(Ra,"appendText");function Vn(e,t){let r={id:t.messageId?t.messageId:e.id,role:"assistant",text:e.text,createdAt:e.createdAt};return t.citations.length>0&&(r.citations=t.citations),t.messageId&&(r.responseId=t.messageId),r.urgencyLevel=t.urgencyLevel,r.urgencyReason=t.urgencyReason,r.urgencyProvided=t.urgencyProvided,Object.freeze(r)}i(Vn,"finalizeAssistant");function Sa(e){return Object.freeze({status:e.status,messages:Object.freeze([...e.messages]),conversationId:e.conversationId,error:e.error,isStreaming:e.isStreaming,isBootstrapping:e.isBootstrapping,suggestedPrompts:Object.freeze([...e.suggestedPrompts]),unreadCount:e.unreadCount})}i(Sa,"freezeSnapshot");function L(e,t,r){return D(e,{retryable:t,...r?{wireMessage:r}:{}})}i(L,"makeError");function $n(e){let t=Fe(e.code);return D(t,{retryable:e.retryable||hr(t),wireCode:e.code,wireEnvelope:"sse_frame",...e.serverRequestId?{requestId:e.serverRequestId}:{},...e.wireMessage?{wireMessage:e.wireMessage}:{},raw:e})}i($n,"errorFromFrame");function Me(e){return ue({code:Lp(e.code),retryable:e.retryable,wireMessage:e.wireMessage??null,synthesized:true,lastEventId:null,serverRequestId:e.requestId??null})}i(Me,"synthErrorFrame");function Lp(e){switch(e){case "authExpired":return "AUTH_EXPIRED";case "authRejected":return "AuthorizationException";case "sessionRequired":return "session_required";case "accessDenied":return "ACCESS_DENIED";case "paymentRequired":return "TIER_UPGRADE_REQUIRED";case "quotaExceeded":return "QUOTA_EXCEEDED";case "rateLimited":return "RATE_LIMITED";case "validationFailed":return "ValidationException";case "sdkUpdateRequired":return "invalidRequest";case "conflict":return "ConflictException";case "idempotencyConflict":return "IDEMPOTENCY_CONFLICT";case "idempotencyInFlight":return "IDEMPOTENCY_KEY_IN_FLIGHT";case "conversationNotFound":return "CONVERSATION_NOT_FOUND";case "petNotFound":return "PET_NOT_FOUND";case "resourceNotFound":return "ResourceNotFoundException";case "streamTimeout":return "STREAM_TIMEOUT";case "mediaUploadFailed":return "MEDIA_UPLOAD_FAILED";case "moderationBlocked":return "MODERATION_BLOCKED";case "upstreamLlmTimeout":return "UPSTREAM_LLM_TIMEOUT";case "internalError":return "INTERNAL_ERROR";case "notImplemented":return "NotImplementedException";case "serviceUnavailable":return "ServiceUnavailableException";case "streamIncomplete":return "STREAM_INCOMPLETE";case "unknown":return "UNKNOWN";default:return Xe(e)}}i(Lp,"canonicalWireCode");function xa(e){let t=Array.isArray(e)?e:Hn(e)&&Array.isArray(e.categories)?e.categories:[],r=[];for(let n of t){if(!Hn(n))continue;let o=Nt(n.category)??Nt(n.title)??"",a=Np(n.prompts??n.questions);o.length===0&&a.length===0||r.push(Object.freeze({category:o,prompts:Object.freeze(a)}));}return Object.freeze(r)}i(xa,"parsePromptCategories");function Wn(e){let t=new Set,r=[];for(let n of e)for(let o of n.prompts){let a=o.trim();a.length===0||t.has(a)||(t.add(a),r.push(a));}return r}i(Wn,"flattenPrompts");function Hn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(Hn,"isPlainObject");function Nt(e){return typeof e=="string"?e:null}i(Nt,"asStr");function Np(e){if(!Array.isArray(e))return [];let t=[];for(let r of e)if(typeof r=="string")t.push(r);else if(Hn(r)){let n=Nt(r.text)??Nt(r.prompt)??Nt(r.title);n!==null&&t.push(n);}return t}i(Np,"asPromptTextList");function Ta(){let e=0;return ()=>`m-${Date.now().toString(36)}-${(e++).toString(36)}-${Math.random().toString(36).slice(2,8)}`}i(Ta,"defaultIdFactory");function ka(){let e=0;return ()=>`chat-send-${Date.now().toString(36)}-${(e++).toString(36)}-${Math.random().toString(36).slice(2,10)}`}i(ka,"defaultIdempotencyFactory");var _a={setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")};async function*wa(e,t,r,n){let o=e[Symbol.asyncIterator](),a=Pa(t.overallMs,n),s=Pa(t.idleMs,n),l=Hp(r);try{for(;;){if(r.aborted)return;let u=o.next().then(p=>({tag:"next",value:p}),()=>({tag:"streamError"})),c=await Promise.race([u,s.promise.then(()=>({tag:"idle"})),a.promise.then(()=>({tag:"overall"})),l.then(()=>({tag:"abort"}))]);if(c.tag==="abort")return;if(c.tag==="streamError"){if(r.aborted)return;yield Up();return}if(c.tag==="idle"||c.tag==="overall"){yield zp();return}let d=c.value;if(d.done||(s.reset(t.idleMs),yield d.value,d.value.terminal))return}}finally{s.cancel(),a.cancel(),Promise.resolve(o.return?.(void 0)).catch(()=>{});}}i(wa,"withWatchdog");function zp(){return ue({code:"STREAM_TIMEOUT",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}i(zp,"synthTimeoutFrame");function Up(){return ue({code:"STREAM_INCOMPLETE",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}i(Up,"synthStreamErrorFrame");function Pa(e,t){let r=i(()=>{},"resolveFn"),n=new Promise(a=>{r=a;}),o=t.setTimeout(()=>r(),e);return {promise:n,reset(a){t.clearTimeout(o),o=t.setTimeout(()=>r(),a);},cancel(){t.clearTimeout(o);}}}i(Pa,"deadline");function Hp(e){return new Promise(t=>{if(e.aborted){t();return}e.addEventListener("abort",()=>t(),{once:true});})}i(Hp,"abortPromise");var Ia=128,Aa=128,Oa=/[\u0000-\u001F\u007F]/,Bp=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function jp(e){let t=e,r=ot(t);if(r===0||r>Aa)throw new Z("invalid-argument",`petRef must be 1..${Aa} characters`);if(Oa.test(t))throw new Z("invalid-argument","petRef must be printable (no control characters)");return t}i(jp,"petRef");function Vp(e){let t=e,r=ot(t);if(r===0||r>Ia)throw new Z("invalid-argument",`userRef must be 1..${Ia} characters`);if(t.includes("@"))throw new Z("invalid-argument","userRef must not contain '@'");if(Oa.test(t))throw new Z("invalid-argument","userRef must be printable (no control characters)");return t}i(Vp,"userRef");function $p(e){if(!Bp.test(e))throw new Z("invalid-argument","conversationId must be a UUID");return e}i($p,"conversationId");var Wp="checkin",Kp=/^\d{4}-\d{2}-\d{2}$/,xr="watching";function Fa(e){return e.status!=null&&e.status!==xr}i(Fa,"isCheckinSettled");function Ma(e){if(typeof e!="string")return null;let t=e.split(":");if(t.length!==3)return null;let[r,n,o]=t;return r!==Wp||n===void 0||o===void 0||!zn.test(n)||!Kp.test(o)?null:n}i(Ma,"parseCheckinOriginRef");function Kn(e,t){if(e?.limit!==void 0&&(!Number.isInteger(e.limit)||e.limit<1||e.limit>t))return E(D("validationFailed"));let r=[];for(let[n,o]of [["cursor",e?.cursor],["pet_ref",e?.petRef]])if(o!==void 0){if(typeof o!="string"||o.length===0||Ce(o))return E(D("validationFailed"));r.push(`${n}=${encodeURIComponent(o)}`);}return e?.limit!==void 0&&r.push(`limit=${e.limit}`),F(r.length?`?${r.join("&")}`:"")}i(Kn,"historyQuery");function Bt(e){return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}i(Bt,"validConversationId");function Ht(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}i(Ht,"object");function Da(e){return e==null||typeof e=="string"&&e.length>0&&!Ce(e)}i(Da,"cursor");function Ut(){return E(D("internalError",{retryable:false}))}i(Ut,"malformed");function La(e){let t=Ht(e);if(!t||!Array.isArray(t.conversations)||!Da(t.next_cursor))return Ut();let r=[];for(let n of t.conversations){let o=Ht(n);if(!o||typeof o.conversation_id!="string"||!Bt(o.conversation_id)||!(o.title==null||typeof o.title=="string")||typeof o.created_at!="string"||typeof o.updated_at!="string")return Ut();let a=o.unread_message_count;if(!(a==null||Number.isInteger(a)&&a>=0))return Ut();r.push(Object.freeze({id:o.conversation_id,title:o.title??null,createdAt:o.created_at,updatedAt:o.updated_at,unreadCount:a??null}));}return F(Object.freeze({conversations:Object.freeze(r),nextCursor:t.next_cursor??null}))}i(La,"mapConversationPage");function Na(e){let t=Ht(e);if(!t||!Array.isArray(t.messages)||!Da(t.next_cursor))return Ut();let r=[],n=new Set;for(let o of t.messages){let a=Ht(o);if(!a||typeof a.message_id!="string"||!Bt(a.message_id)||typeof a.role!="string"||typeof a.content!="string"||typeof a.created_at!="string")return Ut();if(a.role!=="user"&&a.role!=="assistant"||n.has(a.message_id))continue;n.add(a.message_id);let s=typeof a.proactive_origin_ref=="string"?a.proactive_origin_ref:null,l=a.role==="assistant"?Ma(s):null;r.push(Object.freeze({id:a.message_id,role:a.role,text:a.content,createdAt:a.created_at,...a.role==="assistant"?{responseId:a.message_id}:{},...a.urgency_level!==void 0?{urgencyLevel:qp(a.urgency_level)}:{},...Array.isArray(a.citations)?{citations:Gp(a.citations)}:{},...s!==null?{proactiveOriginRef:s}:{},...l!==null?{checkin:Object.freeze({caseId:l,answer:null,resolutionText:null,status:null})}:{}}));}return F(Object.freeze({messages:Object.freeze(r),nextCursor:t.next_cursor??null}))}i(Na,"mapMessagePage");function qp(e){return e==="emergency"||e==="schedule_soon"||e==="home_care"?e:null}i(qp,"normalizeUrgency");function Gp(e){let t=["source_name","source_abbrev","section","authority_tier","doi","url","title","year","study_type","journal","excerpt","monograph_chunk_id"];return Object.freeze(e.flatMap(r=>{let n=Ht(r);if(!n||typeof n.source_name!="string"||typeof n.authority_tier!="string")return [];let o={};for(let a of t){let s=n[a];(typeof s=="string"||s===null)&&(o[a]=s);}return [Object.freeze(o)]}))}i(Gp,"historyCitations");var kr=5,za=Object.freeze(["helpful","neutral","not_helpful","wrong","outdated","dangerous","unclear"]),Pr=4e3,Yp=6e4,Xp=18e4,Qp=24,Zp=512,Jp=false;function Ha(e){return new qn(e)}i(Ha,"createChatController");var Gn=class Gn extends Cr{constructor(r){super(Sa({status:"idle",messages:[],conversationId:r.initialConversationId??null,error:null,isStreaming:false,isBootstrapping:false,suggestedPrompts:[],unreadCount:null}));this.handlerTeardowns=new Set;this.lastTurn=null;this.unadoptedCreate=null;this.lastResponseIdValue=null;this.historyGeneration=0;this.disposed=false;this.bootstrapPrompts=[];this.replyPrompts=null;this.unreadByConversation=new Map;this.classifiedMessageIds=new Set;this.pendingDelta="";this.flushHandle=null;this.auth=r.auth,this.funnel=r.funnel??ke({auth:r.auth,...r.errorPolicy?{errorPolicy:r.errorPolicy}:{}}),this.petRef=r.petRef??null,this.cases=va(this.funnel),this.telemetry=r.telemetry??yr,this.errorPolicy=r.errorPolicy??Fi,this.timers=r.timers??_a,this.rng=r.rng??Math.random,this.newId=r.newId??Ta(),this.makeIdempotencyKey=r.makeIdempotencyKey??ka(),this.budget={idleMs:r.budget?.idleMs??Yp,overallMs:r.budget?.overallMs??Xp};}patch(r){if(r.messages!==void 0){let n=Object.freeze([...r.messages]);super.patch({...r,messages:n});return}super.patch(r);}send(r,n,o){let a=n??{};if(this.disposed||this.snapshot.isBootstrapping){let u=L(this.disposed?"accessDenied":"internalError",!this.disposed);return o?(o.onError(u),()=>{}):Tr(Me(u))}let s=Ua(r)??ef(a.imageS3Keys);if(s!==null)return this.telemetry.track("chat.send.rejected",{reason:s.reason}),this.patch({status:"error",isStreaming:false,error:s.error}),o?(o.onError(s.error),()=>{}):Tr(Me(s.error));if(o)return this.driveWithHandlers(r,a,o);let l=this.beginTurn(r,a);return this.runTurn(l,a.signal)}askEverfur(r,n){if(this.disposed)return Tr(Me(L("accessDenied",false)));let o=Ua(r);return o!==null?(this.telemetry.track("chat.send.rejected",{reason:o.reason}),Tr(Me(o.error))):(this.resetThread(),this.send(r,n??{}))}retryLast(){let r=this.lastTurn;if(r===null){let a=this.snapshot.conversationId;return a!==null&&this.snapshot.status==="error"?this.retryHistory(a):rf()}r.assistantMessageId=null,r.sawDelta=false,r.conversationIdOverride=null,this.discardPendingDelta();let o=this.snapshot.messages.some(a=>a.id===r.userMessageId)?this.snapshot.messages:[...this.snapshot.messages,Bn(r.userMessageId,r.text,this.stamp())];return this.patch({error:null,stopped:false,messages:o}),this.runTurn(r,void 0)}stop(){this.inFlight?.abort(),this.inFlight=null,this.discardPendingDelta(),this.telemetry.track("chat.cancel",{});let r=this.snapshot.messages.some(o=>o.role==="user"&&o.pending===true),n=r?this.snapshot.messages.map(o=>o.pending===true?zt(o):o):this.snapshot.messages;(this.snapshot.status==="streaming"||r)&&this.patch({status:"idle",isStreaming:false,reconnecting:false,...r?{messages:n,stopped:true}:{}});}rescope(){this.resetThread(),this.unreadByConversation.clear(),this.classifiedMessageIds.clear(),this.reflectUnreadDot();}resetThread(){super.rescope(),this.historyGeneration+=1,this.unadoptedCreate=null,this.lastTurn=null,this.lastResponseIdValue=null,this.bootstrapPrompts=[],this.replyPrompts=null,this.discardPendingDelta(),this.patch({status:"idle",isStreaming:false,messages:[],conversationId:null,error:null,suggestedPrompts:[],historyCursor:null,isLoadingHistory:false,isBootstrapping:false,unreadCount:null,stopped:false,reconnecting:false});}dispose(){this.rescope(),this.disposed=true,this.unadoptedCreate=null,this.discardPendingDelta();for(let r of this.handlerTeardowns)r();this.handlerTeardowns.clear(),super.dispose();}adoptConversation(r){this.disposed||(this.unadoptedCreate=null,this.snapshot.conversationId!==r&&this.patch({conversationId:r}));}adoptPrompts(r){if(this.disposed)return;let n=Object.freeze(Wn(r));this.bootstrapPrompts=n,this.replyPrompts===null&&(n.length===0&&this.snapshot.suggestedPrompts.length===0||this.patch({suggestedPrompts:n}));}async listConversations(r){return this.listConversationsWith(r)}async listConversationsWith(r,n){let o=Kn(r,100);if(!o.ok)return o;let a=this.epoch;if(this.disposed)return E(L("accessDenied",false));let s=await this.authedUnary("chat.listConversations",{method:"GET",path:`/widget/v1/conversations${o.value}`},r?.signal,n);if(!this.alive(a)||this.disposed)return E(L("accessDenied",false));if(!s.ok)return s;let l=La(s.value);if(l.ok){for(let d of l.value.conversations)d.unreadCount!==null&&this.unreadByConversation.set(d.id,d.unreadCount);let u=this.snapshot.conversationId,c=u===null?void 0:this.unreadByConversation.get(u);c!==void 0&&c!==this.snapshot.unreadCount&&this.patch({unreadCount:c}),this.reflectUnreadDot();}return l}reflectUnreadDot(){let r=false;for(let n of this.unreadByConversation.values())if(n>0){r=true;break}r!==(this.snapshot.hasUnreadThreads??false)&&this.patch({hasUnreadThreads:r});}async openCheckin(r){if(this.disposed)return E(L("accessDenied",false));let n=r?.conversationId??null;if(n!==null){let u=await this.resumeConversation(n);return u.ok?F(n):E(u.error)}let o=r?.petRef??this.petRef,a=await this.listConversations({...o===null?{}:{petRef:o},limit:1});if(!a.ok)return E(a.error);let s=a.value.conversations[0];if(s===void 0)return F(null);let l=await this.resumeConversation(s.id);return l.ok?F(s.id):E(l.error)}async markRead(r){if(this.disposed)return E(L("accessDenied",false));let n=this.snapshot.conversationId;if(n===null)return F(void 0);let o=this.epoch,a=await this.authedUnary("chat.markRead",{method:"POST",path:`/widget/v1/conversations/${n}/read`},r?.signal);return !this.alive(o)||this.disposed?E(L("accessDenied",false)):a.ok?(this.unreadByConversation.set(n,0),this.snapshot.conversationId===n&&this.snapshot.unreadCount!==0&&this.patch({unreadCount:0}),this.reflectUnreadDot(),F(void 0)):E(a.error)}async submitFeedback(r,n,o,a){if(this.disposed)return E(L("accessDenied",false));if(typeof r!="string"||r.trim().length===0||Ce(r))return E(L("validationFailed",false,"feedback needs the server message id of an assistant reply"));if(!za.includes(n))return E(L("validationFailed",false,`feedback_type must be one of ${za.join(", ")}`));let s=typeof o=="string"?o.trim():"";if([...s].length>Pr)return E(L("validationFailed",false,`notes is over ${Pr} characters`));let l={feedback_type:n};s.length>0&&(l.notes=s);let u=this.epoch,c=await this.authedUnary("chat.submitFeedback",{method:"POST",path:`/widget/v1/messages/${encodeURIComponent(r)}/feedback`,body:l},a?.signal);if(!this.alive(u)||this.disposed)return E(L("accessDenied",false));if(!c.ok)return E(c.error);let d=c.value?.feedback_id;return F(Object.freeze({feedbackId:typeof d=="string"?d:""}))}async answerCheckin(r,n,o){if(this.disposed)return E(L("accessDenied",false));let a=o?.petRef??this.petRef;if(a===null)return E(L("validationFailed",false,"a check-in needs the pet the case belongs to"));let s=this.epoch,l=await this.cases.checkin(a,r,n,o?.signal?{signal:o.signal}:{});if(!this.alive(s)||this.disposed)return E(L("accessDenied",false));if(!l.ok)return l;let u=Object.freeze({caseId:r,answer:n,resolutionText:l.value.case.resolutionText,status:l.value.case.status??null}),c=i(d=>d.checkin?.caseId===r,"carries");return this.snapshot.messages.some(c)&&this.patch({messages:this.snapshot.messages.map(d=>c(d)?Object.freeze({...d,checkin:u}):d)}),l}async getMessages(r,n){if(!Bt(r))return E(L("validationFailed",false));let o=Kn(n,200);if(!o.ok)return o;let a=this.epoch;if(this.disposed)return E(L("accessDenied",false));let s=await this.authedUnary("chat.getMessages",{method:"GET",path:`/widget/v1/conversations/${r}/messages${o.value}`},n?.signal);return !this.alive(a)||this.disposed?E(L("accessDenied",false)):s.ok?Na(s.value):s}async resumeConversation(r){if(this.disposed)return E(L("accessDenied",false));if(!Bt(r))return E(L("validationFailed",false));this.resetThread();let n=this.historyGeneration;this.patch({conversationId:r,isBootstrapping:true,isLoadingHistory:true});let o=await this.getMessages(r);if(n!==this.historyGeneration||this.disposed)return E(L("accessDenied",false));if(!o.ok)return this.patch({status:"error",error:o.error,isBootstrapping:false,isLoadingHistory:false}),o;let a=this.unreadByConversation.get(r)??null;return this.patch({messages:o.value.messages,historyCursor:o.value.nextCursor,isBootstrapping:false,isLoadingHistory:false,unreadCount:a}),this.stampCheckinStatuses(n),a!==null&&a>0&&this.markRead(),F(void 0)}async stampCheckinStatuses(r){let n=this.petRef;if(n===null||!this.snapshot.messages.some(c=>c.checkin!==void 0&&c.checkin.status===null))return;let o=await this.cases.list(n);if(!o.ok||r!==this.historyGeneration||this.disposed)return;let a=new Set(o.value.filter(c=>c.status===xr).map(c=>c.caseId)),s=new Map(o.value.map(c=>[c.caseId,c])),l=false,u=this.snapshot.messages.map(c=>{let d=c.checkin;if(d===void 0||d.status!==null)return c;l=true;let p=s.get(d.caseId);return Object.freeze({...c,checkin:Object.freeze({...d,status:a.has(d.caseId)?xr:p?.status??"resolved",answer:d.answer??p?.lastResponse??null,resolutionText:d.resolutionText??p?.resolutionText??null})})});l&&this.patch({messages:u});}async refreshActiveThread(){if(this.disposed)return E(L("accessDenied",false));let r=this.snapshot.conversationId;if(r===null||this.snapshot.isStreaming)return F(void 0);let n=this.historyGeneration,o=await this.getMessages(r);if(n!==this.historyGeneration||this.disposed)return E(L("accessDenied",false));if(!o.ok)return E(o.error);let a=new Set(this.snapshot.messages.map(l=>l.id)),s=o.value.messages.filter(l=>!a.has(l.id));return s.length>0&&this.patch({messages:[...this.snapshot.messages,...s]}),await this.listConversationsWith({...this.petRef===null?{}:{petRef:this.petRef},limit:1},{maxAttempts:1}),F(void 0)}async loadOlderMessages(){if(this.disposed)return E(L("accessDenied",false));let r=this.snapshot.conversationId,n=this.snapshot.historyCursor;if(!r||!n||this.snapshot.isLoadingHistory)return F(void 0);let o=this.historyGeneration;this.patch({isLoadingHistory:true});let a=await this.getMessages(r,{cursor:n});if(o!==this.historyGeneration||this.disposed)return E(L("accessDenied",false));if(this.patch({isLoadingHistory:false}),!a.ok)return a;let s=new Set(this.snapshot.messages.map(u=>u.id)),l=a.value.messages.filter(u=>!s.has(u.id));return this.patch({messages:[...l,...this.snapshot.messages],historyCursor:a.value.nextCursor===n?null:a.value.nextCursor}),F(void 0)}async*retryHistory(r){let n=await this.resumeConversation(r);n.ok||(yield Me(n.error));}async primeConversation(r){if(this.disposed)return E(L("accessDenied",false));let n=r?.petRef??null,o={petRef:n,settled:this.primeBounded(n)};this.unadoptedCreate=o;let a=await o.settled;return this.disposed?E(L("accessDenied",false)):(!a.ok&&this.unadoptedCreate===o&&(this.unadoptedCreate=null),a)}async primeBounded(r){let n=await this.headThreadWithUnread(r);if(n!==null&&!this.snapshot.isStreaming&&this.snapshot.conversationId===null&&(await this.resumeConversation(n)).ok)return F(n);let o=this.snapshot.conversationId;return o!==null?F(o):this.createConversationBounded(r)}async headThreadWithUnread(r){let n=await this.listConversationsWith({...r===null?{}:{petRef:r},limit:1},{maxAttempts:1});if(!n.ok)return null;let o=n.value.conversations[0];return o===void 0||o.unreadCount===null||o.unreadCount<=0?null:o.id}async createConversation(r){let n=this.epoch;if(this.disposed)return E(L("accessDenied",false));let o=r?.petRef??null,a={petRef:o,settled:this.createConversationBounded(o)};this.unadoptedCreate=a;let s=await a.settled;return !this.alive(n)||this.disposed?E(L("accessDenied",false)):(!s.ok&&this.unadoptedCreate===a&&(this.unadoptedCreate=null),s)}async createConversationBounded(r,n){let o={method:"POST",path:"/widget/v1/conversations",body:r?{pet_ref:r}:{}},a=await this.authedUnary("chat.createConversation",o,n,{maxAttempts:1});if(!a.ok)return E(a.error);let s=a.value?.conversation_id??a.value?.id;return typeof s!="string"||s.length===0?E(L("internalError",true)):F(s)}async getPrompts(r){let n=this.epoch;if(this.disposed)return E(L("accessDenied",false));let o=r?.petRef??null;if(o!==null&&Ce(o))return E(D("validationFailed",{retryable:false,wireMessage:"pet_ref contains an unpaired surrogate and cannot be encoded"}));let a=o!==null?`?pet_ref=${encodeURIComponent(o)}`:"",s=await this.authedUnary("chat.getPrompts",{method:"GET",path:`/widget/v1/suggested-prompts${a}`});return !this.alive(n)||this.disposed?E(L("accessDenied",false)):s.ok?F(xa(s.value)):E(s.error)}async authedUnary(r,n,o,a){return this.funnel.send(r,o?{...n,signal:o}:n,a)}driveWithHandlers(r,n,o){let a=new AbortController,s=Sr(a.signal,n.signal),l=this.beginTurn(r,n),u=this.runTurn(l,s),c=false,d=i(()=>{c||(c=true,a.abort(),this.handlerTeardowns.delete(d));},"teardown");return this.handlerTeardowns.add(d),(async()=>{for await(let p of u){if(c)break;o.onFrame(p),p.kind==="done"&&o.onDone(this.lastResponseIdValue);}!c&&this.snapshot.status==="error"&&this.snapshot.error!==null&&o.onError(this.snapshot.error),this.handlerTeardowns.delete(d);})(),d}beginTurn(r,n){let o={epoch:this.epoch,text:r,petRef:n.petRef??null,imageS3Keys:Object.freeze([...n.imageS3Keys??[]]),idempotencyKey:n.idempotencyKey??this.makeIdempotencyKey(),userMessageId:this.newId(),assistantMessageId:null,sawDelta:false,conversationIdOverride:n.conversationId??null};return this.patch({error:null,stopped:false,reconnecting:false,messages:[...this.snapshot.messages,Bn(o.userMessageId,r,this.stamp())]}),o}async*runTurn(r,n){let o=this.beginOperation(n);r.epoch=o.epoch,this.patch({status:"streaming",isStreaming:true,error:null}),this.lastTurn=r;let a=0,s=false,l=false;try{for(;;){if(o.signal.aborted||!this.alive(o.epoch))return;let u=r.conversationIdOverride===null&&this.snapshot.conversationId===null,c=u?this.unadoptedCreate:null;if(c!==null&&(r.petRef===null||r.petRef===c.petRef)){let g=await c.settled;if(o.signal.aborted||!this.alive(o.epoch))return;g.ok&&this.snapshot.conversationId===null&&this.adoptConversation(g.value);}if(u&&this.snapshot.conversationId===null){let g=await this.createConversationBounded(r.petRef,o.signal);if(o.signal.aborted||!this.alive(o.epoch))return;if(!g.ok){yield*this.emitTerminal(r,g.error,Me(g.error));return}this.adoptConversation(g.value);}let d=r.conversationIdOverride??this.snapshot.conversationId;if(d===null){let g=L("internalError",!0);yield*this.emitTerminal(r,g,Me(g));return}this.clearAssistantInProgress(r);let p=new AbortController,f=Sr(o.signal,p.signal),y=null;try{let g;try{g=await this.funnel.authorize(this.buildSendRequest(r,d));}catch{let P=this.authRejected();yield*this.emitTerminal(r,P,Me(P));return}if(o.signal.aborted||!this.alive(o.epoch))return;let C=this.funnel.stream("chat.send",g,f);for await(let P of wa(C,this.budget,f,this.timers)){if(!this.alive(o.epoch))return;if(P.kind==="error"&&P.terminal){y=P;break}if(this.applyFrame(P,r),yield P,P.terminal){o.settle();return}}}finally{p.abort();}if(o.signal.aborted||!this.alive(o.epoch))return;if(y===null){if(this.snapshot.status==="complete")return;let g=L("streamIncomplete",!0);yield*this.emitTerminal(r,g,Me(g));return}let m=Fe(y.code);if(m==="authExpired"&&this.auth.mode==="personalized"&&!l){l=!0,this.telemetry.track("chat.auth.refresh",{});let g=await this.tryForceRefresh();if(o.signal.aborted||!this.alive(o.epoch))return;if(!g){let C=this.authRejected();yield*this.emitTerminal(r,C,y);return}this.patch({reconnecting:!0});continue}if(m==="authExpired"){this.telemetry.track("chat.auth.rejected",{});let g=this.authRejected();yield*this.emitTerminal(r,g,y);return}if(m==="accessDenied"){this.telemetry.track("chat.access_denied",{}),yield*this.emitTerminal(r,$n(y),y);return}if(Oi(m)&&!s){s=!0,this.telemetry.track("chat.conv.recreate",{}),this.adoptConversation(null),r.conversationIdOverride=null,this.patch({reconnecting:!0});continue}let R=y.retryable&&hr(m,!0);if(Jp&&R&&a+1<this.errorPolicy.maxAttempts(m));yield*this.emitTerminal(r,$n(y),y);return}}finally{o.settle();}}*emitTerminal(r,n,o){this.applyError(r,n),yield o;}applyFrame(r,n){switch(r.kind){case "accepted":this.snapshot.isStreaming||this.patch({status:"streaming",isStreaming:true});return;case "heartbeat":return;case "delta":this.applyDelta(r.delta,n);return;case "done":this.applyDone(r,n);return;case "analysisStarted":case "analysisComplete":return;case "unknown":this.telemetry.track("chat.frame.unknown",{});return;case "error":return;default:return Xe(r)}}stamp(){return new Date(this.timers.now()).toISOString()}applyDelta(r,n){if(n.assistantMessageId===null){let o=this.newId();n.assistantMessageId=o,n.sawDelta=true;let a=this.snapshot.messages.map(s=>s.id===n.userMessageId&&s.pending===true?zt(s):s);this.patch({status:"streaming",isStreaming:true,messages:[...a,jn(o,r,this.stamp())]});return}if(this.pendingDelta+=r,this.pendingDelta.length>=Zp){this.flushPendingDelta(n);return}this.scheduleDeltaFlush(n);}scheduleDeltaFlush(r){if(this.flushHandle!==null)return;let n=this.epoch;this.flushHandle=this.timers.setTimeout(()=>{if(this.flushHandle=null,!this.alive(n)){this.pendingDelta="";return}this.flushPendingDelta(r);},Qp);}flushPendingDelta(r){if(this.clearFlushTimer(),this.pendingDelta.length===0)return;let n=this.pendingDelta;this.pendingDelta="";let o=r.assistantMessageId;if(o===null)return;let a=this.snapshot.messages.map(s=>s.id===o?Ra(s,n):s);this.patch({messages:a});}discardPendingDelta(){this.clearFlushTimer(),this.pendingDelta="";}clearFlushTimer(){this.flushHandle!==null&&(this.timers.clearTimeout(this.flushHandle),this.flushHandle=null);}applyDone(r,n){this.flushPendingDelta(n),this.lastResponseIdValue=r.messageId?r.messageId:null;let o=r.conversationId?r.conversationId:this.snapshot.conversationId,a;if(n.assistantMessageId!==null)a=this.snapshot.messages.map(l=>l.id===n.assistantMessageId?Vn(l,r):l);else {let l=this.newId();n.assistantMessageId=l,n.sawDelta=true,a=[...this.snapshot.messages.map(c=>c.id===n.userMessageId&&c.pending===true?zt(c):c),Vn(jn(l,"",this.stamp()),r)];}let s=Wn([{category:"",prompts:r.followUpQuestions}]);this.replyPrompts=s.length>0?Object.freeze(s):null,this.patch({status:"complete",isStreaming:false,error:null,conversationId:o,messages:a,suggestedPrompts:this.replyPrompts??this.bootstrapPrompts,reconnecting:false}),!r.urgencyProvided&&o!==null&&this.classifyTurn(o,this.lastResponseIdValue);}async classifyTurn(r,n){if(n===null||this.disposed)return;let o=String(n);if(this.classifiedMessageIds.has(o))return;this.classifiedMessageIds.add(o);let a=this.epoch,s=this.historyGeneration,l=await this.authedUnary("chat.classifyUrgency",{method:"POST",path:`/widget/v1/conversations/${r}/classify`});if(!l.ok||!this.alive(a)||this.disposed||s!==this.historyGeneration||this.snapshot.conversationId!==r)return;let u=tf(l.value?.urgency),c=typeof l.value?.reason=="string"?l.value.reason:null,d=i(p=>p.responseId===n,"carries");this.snapshot.messages.some(d)&&this.patch({messages:this.snapshot.messages.map(p=>d(p)?Object.freeze({...p,urgencyLevel:u,urgencyReason:c,urgencyProvided:true}):p)});}applyError(r,n){this.flushPendingDelta(r);let o=this.snapshot.messages.map(a=>a.id===r.userMessageId&&a.pending===true?zt(a):a);this.patch({status:"error",isStreaming:false,error:n,messages:o,reconnecting:false});try{this.errorPolicy.onExpectedFailure?.(n);}catch{}}clearAssistantInProgress(r){if(this.discardPendingDelta(),r.assistantMessageId===null)return;let n=r.assistantMessageId;r.assistantMessageId=null,r.sawDelta=false;let o=this.snapshot.messages.filter(a=>a.id!==n);o.length!==this.snapshot.messages.length&&this.patch({messages:o});}buildSendRequest(r,n){let o={message:r.text};return r.imageS3Keys.length>0&&(o.image_s3_keys=r.imageS3Keys),{method:"POST",path:`/widget/v1/conversations/${n}/messages`,body:o,headers:{"Idempotency-Key":r.idempotencyKey}}}async tryForceRefresh(){if(this.auth.mode!=="personalized")return false;try{return await this.auth.identity.currentToken({forceRefresh:!0}),!0}catch{return false}}authRejected(){return L("authRejected",false)}};i(Gn,"ChatControllerImpl");var qn=Gn,Et=4e3;function ef(e){return e===void 0?null:!Array.isArray(e)||e.length>kr?{reason:"too_many_images",error:L("validationFailed",false,`image_s3_keys accepts at most ${kr} keys`)}:e.some(t=>typeof t!="string"||t.trim().length===0)?{reason:"bad_image_key",error:L("validationFailed",false,"image_s3_keys must be non-empty strings")}:null}i(ef,"validateImageKeys");function Ua(e){let t=typeof e=="string"?e:"";if(t.trim().length===0)return {reason:"empty",error:L("validationFailed",false,"message is empty or whitespace-only")};let r=[...t].length;return r>Et?{reason:"too_long",error:L("validationFailed",false,`message is ${r} characters; the server accepts at most ${Et}`)}:null}i(Ua,"validateMessageText");function tf(e){return e==="emergency"||e==="schedule_soon"||e==="home_care"?e:null}i(tf,"urgencyTier");async function*Tr(e){yield e;}i(Tr,"singleFrameStream");async function*rf(){}i(rf,"emptyStream");async function Va(e,t){let{controller:r}=t,n=e.petRef??null,o=e.resumeConversationId??null,a=[],s=false,l=false,u=false,c=null,d=null,p=o?r.resumeConversation(o).then(_=>_.ok?F(o):_):r.primeConversation(n?{petRef:n}:void 0),f=r.getPrompts(n!==null?{petRef:n}:void 0),[y,m]=await Promise.all([p,f]),R=null;if(y.ok)R=y.value,a.push(y.value),r.getSnapshot().conversationId===null&&r.adoptConversation(y.value);else {let _=y.error;d=_,Ba(_)?(l=true,c=_):(ja(_)&&(s=true),u=true);}let g=[];m.ok?g=m.value:C(m.error);function C(_){Ba(_)?(l=true,c===null&&(c=_)):ja(_)&&(s=true);}i(C,"recordAuthSignals");let P=c!==null?c.displayMessage:null;return Object.freeze({conversationId:R,petRef:n,suggestedPrompts:g,error:P,warning:P===null&&R===null&&u?nf:null,cause:c??d,diagnostics:Object.freeze({candidateConversationIds:Object.freeze([...a]),sawForbidden:s,sawUnauthorized:l,sawConversationInitFailure:u})})}i(Va,"bootstrapChat");var nf="Chat is ready. Your first message will start the conversation.";function Ba(e){return e.httpStatus===401||e.code==="authExpired"||e.code==="authRejected"}i(Ba,"isUnauthorized");function ja(e){return e.httpStatus===403||e.code==="accessDenied"}i(ja,"isForbidden");var Yn=Object.freeze({postMultipart(){return Promise.reject(new Error("UploadTransport is unavailable; no records upload adapter was injected"))}});function $a(e){return e!==Yn}i($a,"isUploadTransportAvailable");var of=Object.freeze(["image/jpeg","image/jpg","image/png","image/heic","image/heif","image/webp"]),Ka="image/jpeg,image/png,image/webp,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.heic,.heif",_r=10*1024*1024,wr=kr,jt=120,af="/widget/v1/uploads/initiate";function sf(e){return typeof e=="string"&&of.includes(e.trim().toLowerCase())}i(sf,"isAttachmentMime");function lf(e){if(!e)return "attachment";let t=e.replace(/[\\/]+/g," ").replace(/[\x00-\x1f\x7f"]/g,"").replace(/\s+/g," ").trim();if(!t)return "attachment";if(t.length<=jt)return t;let r=t.lastIndexOf(".");if(r===-1||r===t.length-1)return t.slice(0,jt);let n=t.slice(r);return n.length>=jt?t.slice(0,jt):`${t.slice(0,r).slice(0,jt-n.length)}${n}`}i(lf,"sanitizeFilename");function Xn(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}i(Xn,"formatBytes");var Vt=i(e=>Object.freeze({ok:true,value:e}),"ok"),Pe=i(e=>Object.freeze({ok:false,error:e}),"err");function re(e,t,r,n){return Object.freeze({code:e,retryable:t,filename:r,...n??{}})}i(re,"failure");function uf(e){if(typeof e.sizeBytes=="number"&&Number.isFinite(e.sizeBytes)&&e.sizeBytes>=0)return e.sizeBytes;let t=e.blob;return t!==void 0&&typeof t.size=="number"&&Number.isFinite(t.size)?t.size:null}i(uf,"attachmentSize");function df(e){let t=lf(e.name),r=typeof e.mimeType=="string"?e.mimeType.trim().toLowerCase():"";if(!sf(r))return Pe(re("unsupported_type",false,t));let n=uf(e);return n===null?Pe(re("unknown",false,t)):n>_r?Pe(re("too_large",false,t,{sizeBytes:n})):Vt(Object.freeze({file:e,filename:t,contentType:r,sizeBytes:n}))}i(df,"validateAttachment");function cf(e){if(typeof e!="object"||e===null)return null;let t=e,r=i(c=>typeof c=="string"&&c.length>0?c:null,"str"),n=i(c=>typeof c=="number"&&Number.isFinite(c)?c:null,"num"),o=r(t.upload_id),a=r(t.upload_url),s=r(t.s3_key);if(o===null||a===null||s===null)return null;let l={},u=t.upload_fields;if(typeof u=="object"&&u!==null)for(let[c,d]of Object.entries(u))typeof d=="string"&&(l[c]=d);return Object.freeze({upload_id:o,upload_url:a,upload_fields:Object.freeze(l),expires_in_seconds:n(t.expires_in_seconds)??0,max_content_length:n(t.max_content_length)??_r,s3_key:s,purpose:r(t.purpose)})}i(cf,"parsePolicy");function pf(e,t){let r=e.httpStatus;switch(e.code){case "quotaExceeded":return re("quota_exceeded",false,t,{cause:e});case "rateLimited":return re("rate_limited",true,t,{cause:e});case "idempotencyConflict":case "idempotencyInFlight":return re("idempotency_conflict",true,t,{cause:e});case "validationFailed":return re("unsupported_type",false,t,{cause:e});case "serviceUnavailable":case "streamTimeout":return re("network",true,t,{cause:e});default:return r===429?re("rate_limited",true,t,{cause:e}):r===503?re("network",true,t,{cause:e}):r===void 0?re("network",true,t,{cause:e}):re("server",e.retryable,t,{httpStatus:r,cause:e})}}i(pf,"initiateFailure");async function ff(e,t,r){let n=await e.send("chat.attachments.initiate",{method:"POST",path:af,body:{filename:t.filename,content_type:t.contentType,file_size:t.sizeBytes},...r?.signal?{signal:r.signal}:{}});if(!n.ok)return Pe(pf(n.error,t.filename));let o=cf(n.value);return o===null?Pe(re("server",false,t.filename)):Vt(o)}i(ff,"initiateAttachmentUpload");async function mf(e,t,r,n){let o=i(()=>n?.signal?.aborted===true,"cancelled");if(o())return Pe(re("cancelled",true,r.filename));try{return await e.postMultipart(t,r.file,{...n?.signal?{signal:n.signal}:{},...n?.onProgress?{onProgress:n.onProgress}:{}}),Vt(void 0)}catch{return o()?Pe(re("cancelled",true,r.filename)):Pe(re("server",true,r.filename))}}i(mf,"uploadAttachmentBytes");var yf=2,gf=3,hf=Object.freeze([1e3,2e3,4e3]),Wa=0;function bf(){return Wa+=1,`attachment-${Wa}`}i(bf,"defaultNewId");function qa(e){let t=Math.max(1,e.concurrency??yf),r=Math.max(1,e.maxAttempts??gf),n=e.backoffMs??hf,o=Math.max(1,e.maxPerMessage??wr),a=e.timers??Ca,s=e.newId??bf,l=$a(e.transport),u=new Map,c=[],d=[],p=new Set,f=new Set,y=Object.freeze({attachments:Object.freeze([])}),m=false,R=i(()=>{y=Object.freeze({attachments:Object.freeze(c.flatMap(h=>{let x=u.get(h);return x===void 0?[]:[x.state]}))});for(let h of f)h();},"publish"),g=i((h,x)=>{h.state=Object.freeze({...h.state,...x}),R();},"patch"),C=i(()=>{for(;!m&&p.size<t&&d.length>0;){let h=d.shift(),x=u.get(h);x!==void 0&&(p.add(h),P(x).finally(()=>{p.delete(h),C();}));}},"pump"),P=i(async h=>{let{attachment:x}=h;for(;h.attempts<r;){if(m||h.controller.signal.aborted)return;h.attempts+=1;let A=h.controller.signal;g(h,{status:"uploading",error:null,progress:0});let M=await ff(e.funnel,x,{signal:A});if(m||A.aborted)return;let v;if(!M.ok)v=Pe(M.error);else {let z=await mf(e.transport,M.value,x,{signal:A,onProgress:i(V=>{!A.aborted&&h.state.status==="uploading"&&g(h,{progress:vf(V)});},"onProgress")});if(m||A.aborted)return;v=z.ok?Vt(M.value.s3_key):Pe(z.error);}if(v.ok){g(h,{status:"uploaded",s3Key:v.value,error:null,progress:1});return}let T=v.error,S=T.retryable&&h.attempts<r;if(g(h,{status:S?"uploading":"failed",error:T,progress:0}),!S)return;let O=n[Math.min(h.attempts-1,n.length-1)]??0;await Rr(O,A,a);}},"run"),I=i(h=>{d.push(h.state.id),C();},"enqueue"),_={available:l,subscribe(h){return f.add(h),()=>{f.delete(h);}},getSnapshot:i(()=>y,"getSnapshot"),get uploading(){return y.attachments.some(h=>h.status==="uploading")},get s3Keys(){return y.attachments.flatMap(h=>h.status==="uploaded"&&h.s3Key!==null?[h.s3Key]:[])},add(h){let x=df(h);if(!x.ok)return x;if(m||c.length>=o)return Pe(re("too_many",false,x.value.filename));let A=s(),M={attachment:x.value,controller:new AbortController,attempts:0,state:Object.freeze({id:A,filename:x.value.filename,previewUri:h.uri,contentType:x.value.contentType,sizeBytes:x.value.sizeBytes,status:"uploading",s3Key:null,error:null,progress:0})};return u.set(A,M),c.push(A),R(),I(M),Vt(M.state)},retry(h){let x=u.get(h);x===void 0||m||x.state.status!=="failed"||(x.controller=new AbortController,x.attempts=0,g(x,{status:"uploading",error:null,progress:0,s3Key:null}),I(x));},remove(h){let x=u.get(h);if(x===void 0)return;x.controller.abort(),u.delete(h);let A=c.indexOf(h);A>=0&&c.splice(A,1);let M=d.indexOf(h);M>=0&&d.splice(M,1),R();},clear(){for(let h of [...c])_.remove(h);},dispose(){m=true;for(let h of u.values())h.controller.abort();u.clear(),c.length=0,d.length=0,f.clear(),y=Object.freeze({attachments:Object.freeze([])});}};return _}i(qa,"createAttachmentQueue");function vf(e){return Number.isNaN(e)||e<0?0:e>1?1:e}i(vf,"clamp");var Ga=Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function $t(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(Ga,t)?Ga[t]:null}i($t,"canonicalPetSpecies");var Ya=50,Ef=128,Qn=120,Xa=120,Cf=2e3,Qa=120,Rf=80,es=new Set(["male","female","unknown"]),ts=new Set(["day","month","year"]),rs=new Set(["low","medium","high","athletic"]),ns=new Set(["indoor","outdoor","both"]),os=new Set(["mild","moderate","severe"]),Sf=/^(\d{4})-(\d{2})-(\d{2})$/,is=[["sex","sex"],["spayedNeutered","spayed_neutered"],["birthDate","birth_date"],["birthDatePrecision","birth_date_precision"],["activityLevel","activity_level"],["indoorOutdoor","indoor_outdoor"],["foodBrand","food_brand"],["foodType","food_type"],["microchipId","microchip_id"]],as=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];Object.freeze([...is,...as].map(([e])=>e));function xf(e){let t=Sf.exec(e);if(t===null)return false;let[r,n,o]=[Number(t[1]),Number(t[2]),Number(t[3])],a=new Date(Date.UTC(r,n-1,o));return a.getUTCFullYear()===r&&a.getUTCMonth()===n-1&&a.getUTCDate()===o}i(xf,"isRealDate");var Kt=i(e=>(t,r)=>typeof r=="string"&&e.has(r)?null:`${t} must be one of ${[...e].join(", ")}`,"oneOf"),Tf=i((e,t)=>typeof t=="boolean"?null:`${e} must be true or false`,"boolean"),Ar=i((e,t)=>typeof t=="string"&&xf(t)?null:`${e} must be a real date written YYYY-MM-DD`,"date"),De=i((e,t={})=>(r,n)=>{if(typeof n!="string")return `${r} must be a string`;if(Ce(n))return `${r} contains an unpaired surrogate and cannot be encoded`;let o=t.trimmed?n.trim():n;if(t.required&&o.length===0)return `${r} is required and must not be blank`;let a=ot(o);return a<=e?null:`${r} is ${a} characters; the server accepts at most ${e}`},"text"),kf={sex:Kt(es),spayedNeutered:Tf,birthDate:Ar,birthDatePrecision:Kt(ts),activityLevel:Kt(rs),indoorOutdoor:Kt(ns),foodBrand:De(Qa),foodType:De(Qa),microchipId:De(Rf)},Zn=["ref","ref",false,De(Ef,{required:true,trimmed:true})],Jn=["notes","notes",false,De(Cf,{trimmed:true})],Za=[Zn,["name","name",true,De(Qn,{required:true,trimmed:true})],["dose","dose",false,De(Xa,{trimmed:true})],["frequency","frequency",false,De(Xa,{trimmed:true})],["startDate","start_date",false,Ar],["endDate","end_date",false,Ar],Jn],Pf={allergies:[Zn,["allergen","allergen",true,De(Qn,{required:true,trimmed:true})],["severity","severity",false,Kt(os)],Jn],medications:Za,supplements:Za,conditions:[Zn,["conditionName","condition_name",true,De(Qn,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,Ar],Jn]};function _f(e,t,r){let n=`${e}[${t}]`;if(typeof r!="object"||r===null||Array.isArray(r))return {error:`${n} must be an object`};let o=r,a={};for(let[u,c,d,p]of Pf[e]){let f=o[u];if(f==null){if(d)return {error:`${n}.${u} is required`};f===null&&(a[c]=null);continue}let y=p(`${n}.${u}`,f);if(y!==null)return {error:y};a[c]=f;}let s=a.start_date,l=a.end_date;return typeof s=="string"&&typeof l=="string"&&l<s?{error:`${n}.endDate must not be before startDate`}:{item:a}}i(_f,"itemToWire");function wf(e,t){if(!Array.isArray(t))return {error:`${e} must be an array (send [] to clear it)`};if(t.length>Ya)return {error:`${e} has ${t.length} items; the server accepts at most ${Ya}`};let r=[],n=new Set;for(let o=0;o<t.length;o+=1){let a=_f(e,o,t[o]);if("error"in a)return a;let s=a.item.ref;if(typeof s=="string"){let l=s.trim();if(n.has(l))return {error:`${e}: ref ${JSON.stringify(l)} is used twice; a ref names one item`};n.add(l);}r.push(a.item);}return {items:r}}i(wf,"listToWire");function ss(e,t){let r=e,n={};for(let[s,l]of is){let u=r[s];if(u!==void 0){if(u!==null){let c=kf[s](s,u);if(c!==null)return {error:c}}n[l]=u;}}let o=r.birthDate!==void 0,a=r.birthDatePrecision!==void 0;if(o!==a||o&&r.birthDate===null!=(r.birthDatePrecision===null))return {error:"birthDate and birthDatePrecision must be sent together, both set or both null"};for(let[s,l]of as){let u=r[s];if(u===void 0)continue;let c=wf(s,u);if("error"in c)return c;n[l]=c.items;}return Object.keys(n).length>0&&t!==void 0&&$t(t)===null?{error:"health fields need a pet Everfur reads as a dog or a cat (dog, canine, k9, puppy, cat, feline, kitten)"}:{body:n}}i(ss,"petHealthToWire");var ee=i(e=>typeof e=="string"?e:null,"str"),Wt=i((e,t)=>typeof t=="string"&&e.has(t)?t:null,"pick"),If=i(e=>typeof e=="boolean"?e:null,"bool");function Ir(e,t){return Array.isArray(e)?Object.freeze(e.flatMap(r=>{if(typeof r!="object"||r===null||Array.isArray(r))return [];let n=t(r);return n===null?[]:[n]})):Object.freeze([])}i(Ir,"itemsFromWire");function Ja(e){let t=ee(e.name);return t===null||t.length===0?null:Object.freeze({ref:ee(e.ref),name:t,dose:ee(e.dose),frequency:ee(e.frequency),startDate:ee(e.start_date),endDate:ee(e.end_date),notes:ee(e.notes)})}i(Ja,"medicationFromWire");function ls(e){let t=e.profile_version;return Object.freeze({profileVersion:typeof t=="number"&&Number.isInteger(t)&&t>=0?t:0,sex:Wt(es,e.sex),spayedNeutered:If(e.spayed_neutered),birthDate:ee(e.birth_date),birthDatePrecision:Wt(ts,e.birth_date_precision),activityLevel:Wt(rs,e.activity_level),indoorOutdoor:Wt(ns,e.indoor_outdoor),foodBrand:ee(e.food_brand),foodType:ee(e.food_type),microchipId:ee(e.microchip_id),allergies:Ir(e.allergies,r=>{let n=ee(r.allergen);return n===null||n.length===0?null:Object.freeze({ref:ee(r.ref),allergen:n,severity:Wt(os,r.severity),notes:ee(r.notes)})}),medications:Ir(e.medications,Ja),supplements:Ir(e.supplements,Ja),conditions:Ir(e.conditions,r=>{let n=ee(r.condition_name);return n===null||n.length===0?null:Object.freeze({ref:ee(r.ref),conditionName:n,diagnosedDate:ee(r.diagnosed_date),notes:ee(r.notes)})})})}i(ls,"petHealthFromWire");var cs=100,ps=50,fs=100,ms=50,ys=500,Af=128,Of=6e4;function Ne(e){return D("validationFailed",{retryable:false,wireMessage:e})}i(Ne,"invalid");function it(e,t,r){if(typeof t!="string")return Ne(`${e} must be a string`);let n=ot(t);return n<=r?null:Ne(`${e} is ${n} characters; the server accepts at most ${r}`)}i(it,"checkString");function Or(e,t,r){return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=r?null:Ne(`${e} must be a finite number between 0 and ${r}`)}i(Or,"outOfRange");function us(e,t){if(typeof e!="string")return Ne("pet_ref must be a string");if(e.trim().length===0)return Ne("pet_ref must not be blank");if(Ce(e))return Ne("pet_ref contains an unpaired surrogate and cannot be encoded");if(t!=null&&typeof t!="object")return Ne("profile must be an object");let r=[it("pet_ref",e,Af)];return t?.name!==void 0&&r.push(it("name",t.name,cs)),t?.species!==void 0&&r.push(it("species",t.species,ps)),t?.breed!==void 0&&r.push(it("breed",t.breed,fs)),t?.ageYears!==void 0&&r.push(Or("age_years",t.ageYears,ms)),t?.weightKg!==void 0&&r.push(Or("weight_kg",t.weightKg,ys)),r.find(n=>n!==null)??null}i(us,"validate");function gs(e,t){let r=ss(e,t);return "error"in r?{error:Ne(r.error)}:r}i(gs,"healthToWire");function Ff(e){if(typeof e!="object"||e===null)return {error:Ne("patch must be an object")};let t=e,r=[["name","name",a=>it("name",a,cs)],["species","species",a=>it("species",a,ps)],["breed","breed",a=>it("breed",a,fs)],["ageYears","age_years",a=>Or("age_years",a,ms)],["weightKg","weight_kg",a=>Or("weight_kg",a,ys)]],n={};for(let[a,s,l]of r){let u=t[a];if(u!==void 0){if(u!==null){let c=l(u);if(c!==null)return {error:c}}n[s]=u;}}let o=gs(t,t.species);return "error"in o?o:(Object.assign(n,o.body),Object.keys(n).length===0?{error:Ne("patch must change at least one field")}:{body:n})}i(Ff,"patchToWire");function Mf(e){if(e==null)return {body:{}};let t=gs(e,e.species);return "error"in t?t:{body:{...e.name!==void 0?{name:e.name}:{},...e.species!==void 0?{species:e.species}:{},...e.breed!==void 0?{breed:e.breed}:{},...e.ageYears!==void 0?{age_years:e.ageYears}:{},...e.weightKg!==void 0?{weight_kg:e.weightKg}:{},...t.body}}}i(Mf,"toWire");var Le=i(e=>typeof e=="string"?e:null,"str"),Fr=i(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"num");function ds(e,t){let r=typeof e=="object"&&e!==null?e:{};return Object.freeze({petRef:Le(r.pet_ref)??t,name:Le(r.name),species:Le(r.species),breed:Le(r.breed),ageYears:Fr(r.age_years),weightKg:Fr(r.weight_kg)})}i(ds,"fromWire");function hs(e){if(typeof e!="object"||e===null)return null;let t=e,r=Le(t.pet_ref);return r===null||r.length===0?null:Object.freeze({petId:Le(t.pet_id),petRef:r,name:Le(t.name),species:Le(t.species),breed:Le(t.breed),ageYears:Fr(t.age_years),weightKg:Fr(t.weight_kg),updatedAt:Le(t.updated_at)})}i(hs,"widgetPetFromWire");function Df(e){let t=hs(e);return t===null?null:Object.freeze({...t,...ls(e)})}i(Df,"widgetPetProfileFromWire");function Lf(e){let t=Array.isArray(e)?e:typeof e=="object"&&e!==null&&Array.isArray(e.pets)?e.pets:[];return Object.freeze(t.flatMap(r=>{let n=hs(r);return n===null?[]:[n]}))}i(Lf,"petListFromWire");function Qe(e){return Nf(ke({auth:e}),ke({auth:e,unaryTimeoutMs:Of}))}i(Qe,"createPetsRepository");function Nf(e,t=e){let r=i((o,a)=>a?{...o,signal:a}:o,"withSignal"),n=i(o=>us(o,void 0)??`/widget/v1/pets/${encodeURIComponent(o)}`,"petPath");return {async list(o){let a=await e.send("pets.list",r({method:"GET",path:"/widget/v1/pets"},o?.signal));return a.ok?F(Lf(a.value)):E(a.error)},async registerPet(o,a,s){let l=us(o,a);if(l!==null)return E(l);let u=Mf(a);if("error"in u)return E(u.error);let d={method:"POST",path:`/widget/v1/pets/${encodeURIComponent(o)}`,body:u.body},p=await e.send("pets.registerPet",s?.signal?{...d,signal:s.signal}:d);return p.ok?F(ds(p.value,o)):E(p.error)},async updatePet(o,a,s){let l=n(o);if(typeof l!="string")return E(l);let u=Ff(a);if("error"in u)return E(u.error);let c=await e.send("pets.updatePet",r({method:"PATCH",path:l,body:u.body},s?.signal));return c.ok?F(ds(c.value,o)):E(c.error)},async getPetProfile(o,a){let s=n(o);if(typeof s!="string")return E(s);let l=await e.send("pets.getPetProfile",r({method:"GET",path:`${s}/profile`},a?.signal));if(!l.ok)return E(l.error);let u=Df(l.value);return u===null?E(D("internalError",{retryable:false,httpStatus:502,wireMessage:"the pet profile response carried no pet_ref"})):F(u)},async deletePet(o,a){let s=n(o);if(typeof s!="string")return E(s);let l=await e.send("pets.deletePet",r({method:"DELETE",path:s},a?.signal));return l.ok?F(void 0):E(l.error)},async eraseUserData(o){let a=await t.send("pets.eraseUserData",r({method:"DELETE",path:"/widget/v1/me"},o?.signal),{maxAttempts:1});return a.ok?F(void 0):E(a.error)}}}i(Nf,"createPetsRepositoryOver");var to=Object.freeze({chat:Object.freeze(["chat.message.create"]),records:Object.freeze(["records.upload.create","records.record.read"]),recordsClinic:Object.freeze(["records.clinic.create"]),video:Object.freeze(["video.gait.execute"]),photo:Object.freeze(["photo.checkup.execute"]),animations:Object.freeze(["animations.state.read"]),televet:Object.freeze(["televet.visit.create"])});function zf(e){return to[e]}i(zf,"requires");function bs(e,t){let r=Object.freeze({reason:t,level:e,recoverable:false}),n=[],o=new Set;for(let a of Object.keys(to))for(let s of to[a])o.has(s)||(o.add(s),n.push(Object.freeze({resource:s,granted:false,disabled:r})));return Object.freeze(n)}i(bs,"deniedDecisionsFor");function vs(e,t,r){let n=zf(e),o=new Map;for(let l of t)o.set(l.resource,l);if(r?.isPending===true&&n.some(l=>!o.has(l)))return eo({name:e,enabled:false,isPending:true,limits:{}});let a=Uf(n,o);return n.filter(l=>o.get(l)?.granted!==true).length===0?eo({name:e,enabled:true,isPending:false,limits:a}):eo({name:e,enabled:false,isPending:false,limits:a,disabled:Hf(n,o)})}i(vs,"decideCapability");function Uf(e,t){let r={};for(let n of e){let o=t.get(n)?.limits;if(o)for(let[a,s]of Object.entries(o)){let l=r[a];r[a]=l===void 0?s:Math.min(l,s);}}return r}i(Uf,"mergeLimits");function Hf(e,t){for(let r of e){let n=t.get(r)?.disabled;if(n)return Object.freeze({reason:n.reason,level:n.level,recoverable:n.recoverable})}return Object.freeze({reason:vt("accessDenied"),level:"user_entitlement",recoverable:false})}i(Hf,"disabledFor");function eo(e){let t={name:e.name,enabled:e.enabled,isPending:e.isPending,limits:Object.freeze({...e.limits})};return e.disabled!==void 0&&(t.disabled=e.disabled),Object.freeze(t)}i(eo,"freezeDecision");function ge(e){let t=ne(e);return t===null?null:jf(t)}i(ge,"parseColor");function ne(e){if(typeof e=="number")return Es(e);if(typeof e!="string")return null;let t=e.trim();if(t.length===0)return null;if(t.startsWith("#"))return ro(t.slice(1));if(t.toLowerCase().startsWith("0x"))return ro(t.slice(2));if(t.toLowerCase().startsWith("rgb"))return Bf(t);if(/^[0-9a-fA-F]+$/.test(t)){let r=ro(t);if(r!==null)return r}return /^\d+$/.test(t)?Es(Number.parseInt(t,10)):null}i(ne,"toRgba");function ro(e){let t=e.trim();if(!/^[0-9a-fA-F]+$/.test(t))return null;if(t.length===3)return {r:no(t[0]),g:no(t[1]),b:no(t[2]),a:1};if(t.length===6)return {r:at(t,0),g:at(t,2),b:at(t,4),a:1};if(t.length===8){let r=at(t,0);return {r:at(t,2),g:at(t,4),b:at(t,6),a:r/255}}return null}i(ro,"fromHex");function Bf(e){let t=e.indexOf("("),r=e.indexOf(")");if(t<0||r<0||r<t)return null;let n=e.slice(t+1,r).split(",").map(u=>u.trim());if(n.length<3)return null;let o=oo(Number(n[0])),a=oo(Number(n[1])),s=oo(Number(n[2]));if(o===null||a===null||s===null)return null;let l=1;if(n.length>=4){let u=Number(n[3]);if(!Number.isFinite(u))return null;l=Math.min(1,Math.max(0,u));}return {r:o,g:a,b:s,a:l}}i(Bf,"fromRgbFunc");function Es(e){if(!Number.isFinite(e))return null;let t=Math.trunc(e)>>>0,r=t>>>24&255;return {r:t>>>16&255,g:t>>>8&255,b:t&255,a:r===0?1:r/255}}i(Es,"argbIntToRgba");function at(e,t){return Number.parseInt(e.slice(t,t+2),16)}i(at,"byte");function no(e){return Number.parseInt(`${e??"0"}${e??"0"}`,16)}i(no,"dup");function oo(e){return Number.isFinite(e)?Math.min(255,Math.max(0,Math.round(e))):null}i(oo,"clampByte");function jf(e){if(e.a>=1)return lt(e.r,e.g,e.b);let t=Math.round(e.a*1e3)/1e3;return `rgba(${e.r},${e.g},${e.b},${t})`}i(jf,"normalizeRgba");function lt(e,t,r){return `#${io(e)}${io(t)}${io(r)}`.toUpperCase()}i(lt,"rgbToHex");function io(e){return e.toString(16).padStart(2,"0")}i(io,"hex2");var Vf="#111111",Ct="#FFFFFF",Mr="#000000";function Rs(e){let t=ne(e);if(t===null)return Ct;let r=st(t),n=st({r:17,g:17,b:17}),o=st({r:255,g:255,b:255});return lo(r,o)>=lo(r,n)?Ct:Vf}i(Rs,"readableOn");function qt(e,t){let r=Rs(e);return ae(r,e)>=t?r:ae(Ct,e)>=ae(Mr,e)?Ct:Mr}i(qt,"legibleOn");function Gt(e){let t=i(r=>e.reduce((n,o)=>Math.min(n,ae(r,o)),Number.POSITIVE_INFINITY),"worst");return t(Ct)>=t(Mr)?Ct:Mr}i(Gt,"poleForGrounds");function st(e){let t=ao(e.r/255),r=ao(e.g/255),n=ao(e.b/255);return .2126*t+.7152*r+.0722*n}i(st,"relativeLuminance");function ao(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}i(ao,"linearize");function lo(e,t){let r=Math.max(e,t),n=Math.min(e,t);return (r+.05)/(n+.05)}i(lo,"luminanceContrast");function ae(e,t){let r=ne(e),n=ne(t);if(r===null||n===null)return 1;let o=n.a>=1?n:{...n},a=r.a>=1?r:Ss(r,o);return lo(st(a),st(o))}i(ae,"contrastRatio");function Ss(e,t){let r=e.a,n=i((o,a)=>Math.round(o*r+a*(1-r)),"mix");return {r:n(e.r,t.r),g:n(e.g,t.g),b:n(e.b,t.b),a:1}}i(Ss,"composite");function ut(e,t){let r=ne(e),n=ne(t);if(r===null||n===null)return null;let o=r.a>=1?r:Ss(r,{...n});return lt(o.r,o.g,o.b)}i(ut,"flattenOnto");function Yt(e,t){let r=ne(e);if(r===null)return null;let n=Math.min(1,Math.max(0,t));return `rgba(${r.r}, ${r.g}, ${r.b}, ${n})`}i(Yt,"withAlpha");var Cs=.05;function dt(e,t,r,n){let o=t[0];if(o===void 0)return r;let a=i(c=>t.every(d=>ae(c,d)>=n),"reads");if(ne(e)===null)return r;if(a(e))return e;let s=ut(e,o),l=s===null?null:ne(s),u=ne(r);if(l===null||u===null)return r;for(let c=1;c<1/Cs;c+=1){let d=c*Cs,p=i((y,m)=>Math.round(y+(m-y)*d),"mix"),f=lt(p(l.r,u.r),p(l.g,u.g),p(l.b,u.b));if(a(f))return f}return r}i(dt,"pushToContrast");function xs(e,t,r){let n=e/255,o=t/255,a=r/255,s=Math.max(n,o,a),l=Math.min(n,o,a),u=(s+l)/2;if(s===l)return {h:0,s:0,l:u};let c=s-l,d=c/(1-Math.abs(2*u-1)),p;return s===n?(p=(o-a)/c*60,p<0&&(p=p+360)):s===o?p=((a-n)/c+2)*60:p=((n-o)/c+4)*60,{h:p,s:d,l:u}}i(xs,"rgbToHsl");function uo(e){let{h:t,s:r,l:n}=e,o=(1-Math.abs(2*n-1))*r,a=t/60,s=o*(1-Math.abs(a%2-1)),l=n-o/2,u=Math.floor(a)%6,c=[[o,s,0],[s,o,0],[0,o,s],[0,s,o],[s,0,o],[o,0,s]],[d,p,f]=c[u];return {r:so(d+l),g:so(p+l),b:so(f+l)}}i(uo,"hslToRgb");function so(e){return Math.min(255,Math.max(0,Math.floor(e*255+.5)))}i(so,"channel");function $e(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let t of Object.keys(e))$e(e[t]);}return e}i($e,"deepFreeze");var Dr=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),ks={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Ps={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},Ts={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},$f={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},Wf={regular:"400",medium:"500",bold:"700"},Kf={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},co=0,ct="System",Ze="monospace",qf=["content","heading","control","compact","badge"];function Gf(e){let t={};for(let r of qf)t[r]=e;return t}i(Gf,"authoredTierSizes");function _s(){return {family:ct,mono:Ze,fontUrl:null,families:{regular:ct,medium:ct,bold:ct,mono:Ze,monoMedium:Ze,monoBold:Ze},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:Ts,tierSizes:Gf(Ts),lineHeight:$f,weight:Wf,letterSpacing:Kf,scale:1,maxScale:co,scaleCaps:Dr}}i(_s,"baseType");var ws={},pt=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function Xt(e){return `cubic-bezier(${e.join(", ")})`}i(Xt,"cssCubicBezier");var Is={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:Xt(pt.standard),emphasized:Xt(pt.emphasized),exit:Xt(pt.exit)},reducedMotion:false},Yf={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:"#FDFBF8",surfaceSubtle:"#EFE9E3",background:"#FFFFFF",borderRingCream:"#D8D2C8",chatGround:"#FFFFFF",composerFill:"#FDFBF8",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#111111",secondary:"#0E462E",muted:"#6E6660",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:"#B91C1C",errorRed:"#FF1B00",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(185,28,28,0.12)",badgeBgNeutral:"rgba(110,102,96,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},ft=$e({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:Yf,space:ks,radius:Ps,type:_s(),motion:Is,slots:ws}),Xf={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:"#9A938C",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",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",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"},Lr=$e({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:Xf,space:ks,radius:Ps,type:_s(),motion:Is,slots:ws});var Qf="#23272C",As=4.5,Zf=.6,po=.9,Jf=.02,em="#FFFFFF",tm="#111111";function rm(e){return ae(e,Qf)>=As&&Math.max(ae(e,em),ae(e,tm))>=As}i(rm,"readsOnDark");function Ms(e){let t=ne(e);if(t===null)return null;let{h:r,s:n,l:o}=xs(t.r,t.g,t.b),a=Math.min(Math.max(o,Zf),po);for(let l=0;;l+=1){let u=a+l*Jf;if(u>po)break;let c=uo({h:r,s:n,l:u}),d=lt(c.r,c.g,c.b);if(rm(d))return d}let s=uo({h:r,s:n,l:po});return lt(s.r,s.g,s.b)}i(Ms,"deriveDarkVariant");var nm=7,Os=.05,om="#000000",im="#FFFFFF";function am(e,t,r,n){let o=ut(e,t);if(o===null)return r;if(ae(o,t)>=n)return o;let a=ne(o),s=ne(r);if(a===null||s===null)return r;for(let l=1;l<1/Os;l+=1){let u=l*Os,c=i((p,f)=>Math.round(p+(f-p)*u),"mix"),d=lt(c(a.r,s.r),c(a.g,s.g),c(a.b,s.b));if(ae(d,t)>=n)return d}return r}i(am,"pushContrast");function sm(e,t){let r=[e.surface,e.surfaceCream,e.surfaceSubtle,e.background,e.chatGround,e.composerFill],n=r[0],o=Fs(n);for(let a of r){let s=Fs(a);(t?s>o:s<o)&&(n=a,o=s);}return n}i(sm,"hardestGround");function Fs(e){let t=ne(e);return t===null?0:st(t)}i(Fs,"luminanceOf");function Je(e,t){return ut(e,t)??ge(e)??t}i(Je,"solid");function Ds(e){let t=e.color,r=e.brightness==="dark",n=r?im:om,o=sm(t,r),a=i(l=>am(l,o,n,nm),"text"),s={...t,brandSoft:Je(t.brandSoft,t.surface),brandSofter:Je(t.brandSofter,t.surface),brandBorder:a(t.brandBorder),borderHairlineGreen:a(t.borderHairlineGreen),brandBorderStrong:a(t.brandBorderStrong),brandInk:a(t.brandInk),linkInk:a(t.linkInk),borderRingCream:a(t.borderRingCream),composerBorder:a(t.composerBorder),text:{primary:a(t.text.primary),secondary:a(t.text.secondary),muted:a(t.text.muted),placeholder:a(t.text.placeholder),onBrand:t.text.onBrand,metaCool:a(t.text.metaCool),timestamp:a(t.text.timestamp)},badgeBgPositive:Je(t.badgeBgPositive,t.surface),badgeBgCaution:Je(t.badgeBgCaution,t.surface),badgeBgCritical:Je(t.badgeBgCritical,t.surface),badgeBgNeutral:Je(t.badgeBgNeutral,t.surface),checkupCardLowRiskBg:Je(t.checkupCardLowRiskBg,t.surface),checkupCardConcernBg:Je(t.checkupCardConcernBg,t.surface)};return $e({...e,highContrast:true,color:s})}i(Ds,"deriveHighContrast");var Rt=Object.freeze(["composerInput","sendButton","userBubble","assistantBubble","recordCard","vetVisitButton","primaryButton","link"]),lm=Object.freeze(["backgroundColor","borderColor","borderRadius","textColor"]),_e=4.5,um=Object.freeze({});function dm(e){return Rt.includes(e)}i(dm,"isSlotName");function cm(e){let t=typeof e=="number"?e:typeof e=="string"?Number(e.trim()):Number.NaN;return Number.isFinite(t)?Math.max(0,t):null}i(cm,"parseRadius");function Ls(e){if(e===null||typeof e!="object"||Array.isArray(e))return null;let t={},r=false;for(let[n,o]of Object.entries(e)){if(!dm(n)||o===null||typeof o!="object")continue;let a=pm(o);a!==null&&(t[n]=a,r=true);}return r?Object.freeze(t):null}i(Ls,"parseThemeSlots");function Nr(e,t,r){return e[t]!==void 0?e[t]:e[r]}i(Nr,"pick");function pm(e){let t={},r=ge(Nr(e,"background_color","backgroundColor"));r!==null&&(t.backgroundColor=r);let n=ge(Nr(e,"border_color","borderColor"));n!==null&&(t.borderColor=n);let o=cm(Nr(e,"border_radius","borderRadius"));o!==null&&(t.borderRadius=o);let a=ge(Nr(e,"text_color","textColor"));return a!==null&&(t.textColor=a),Object.keys(t).length===0?null:Object.freeze(t)}i(pm,"parseSlot");function Ns(e,t){return t===null||Object.keys(t).length===0?e??um:e===null||Object.keys(e).length===0?t:Object.freeze({...e,...t})}i(Ns,"mergeThemeSlots");var fm=3;function mm(e,t){return e===void 0?t:t.length===0?[e]:t.map(r=>ut(e,r)??r)}i(mm,"seatsOf");function ym(e,t){let r=Gt(e);return e.every(n=>ae(r,n)>=t)}i(ym,"someInkReads");function gm(e,t){let r=t[0];return r===void 0?null:ut(e,r)}i(gm,"collapseUnsatisfiableFill");function hm(e){let t=qt(e[0],_e);return e.every(r=>ae(t,r)>=_e)?t:Gt(e)}i(hm,"inkFor");function zs(e,t){let r=false,n={};for(let o of Rt){let a=e[o];if(a===void 0)continue;let s=a.backgroundColor,l=t?.[o]??[],u=mm(s,l),c={...a},d=false;if(s!==void 0&&u.length>1&&!ym(u,_e)){let p=gm(s,l);p!==null&&(c.backgroundColor=p,u=[p],d=true);}if(u.length>0){let p=a.textColor;if(s!==void 0)(p===void 0||u.some(f=>ae(p,f)<_e))&&(c.textColor=hm(u),d=true);else if(p!==void 0){let f=dt(p,u,Gt(u),_e);f!==p&&(c.textColor=f,d=true);}if(a.borderColor!==void 0){let f=dt(a.borderColor,u,Gt(u),fm);f!==a.borderColor&&(c.borderColor=f,d=true);}}n[o]=d?Object.freeze(c):a,r=r||d;}return r?Object.freeze(n):e}i(zs,"guardSlotContrast");var bm=Object.freeze(["display_name","logo_url","logo_url_dark","primary_color","accent_color","primary_color_dark","accent_color_dark","brightness","color_scheme","font_family","font_url","fonts","font_urls","chat_placeholder","surface_style","radius_scale","accessibility_max_font_scale","slots"]),zr="slots.",vm=Object.freeze([1,2]);function mo(e){return Object.keys(e).every(t=>t==="schemaVersion"||(e[t]??null)===null)}i(mo,"isEmptyBranding");function Em(e){let t=e?.schemaVersion??null;return t===null||vm.includes(t)}i(Em,"isKnownBrandingSchema");function Cm(e){return new Set(["hide_powered_by",...e?.lockedFields??[]])}i(Cm,"lockedFieldsOf");function Rm(e){return e==="hide_powered_by"||bm.includes(e)?true:e.startsWith(zr)&&Rt.includes(e.slice(zr.length))}i(Rm,"isThemeLockName");function et(e){if(e===null||typeof e!="object")return null;let t=e,r={displayName:mt(G(t,"display_name","displayName")),logoUrl:mt(G(t,"logo_url","logoUrl")),primaryColor:ge(G(t,"primary_color","primaryColor")),accentColor:ge(G(t,"accent_color","accentColor")),brightness:km(G(t,"brightness","color_scheme","colorScheme")),fontFamily:mt(G(t,"font_family","fontFamily")),fontUrl:mt(G(t,"font_url","fontUrl")),fonts:Us(G(t,"fonts")),fontUrls:Us(G(t,"font_urls","fontUrls")),placeholder:mt(G(t,"chat_placeholder","placeholder","chatPlaceholder")),hidePoweredBy:Sm(G(t,"hide_powered_by","hidePoweredBy")),primaryColorDark:ge(G(t,"primary_color_dark","primaryColorDark")),accentColorDark:ge(G(t,"accent_color_dark","accentColorDark")),surfaceStyle:Hs(G(t,"surface_style","surfaceStyle"),xm),radiusScale:Hs(G(t,"radius_scale","radiusScale"),Tm),logoUrlDark:mt(G(t,"logo_url_dark","logoUrlDark")),slots:Ls(G(t,"slots")),accessibilityMaxFontScale:wm(G(t,"accessibility_max_font_scale","accessibilityMaxFontScale")),lockedFields:Am(G(t,"locked_fields","lockedFields")),schemaVersion:Im(G(t,"schema_version","schemaVersion"))};return mo(r)?null:Object.freeze(r)}i(et,"parseClientBranding");function Sm(e){if(typeof e=="boolean")return e;if(typeof e=="string"){let t=e.trim().toLowerCase();if(t==="true")return true;if(t==="false")return false}return null}i(Sm,"parseBool");function G(e,...t){for(let r of t)if(Object.prototype.hasOwnProperty.call(e,r)){let n=e[r];if(n!==void 0)return n}}i(G,"pick");function mt(e){if(typeof e!="string")return null;let t=e.trim();return t.length===0?null:t}i(mt,"parseNonEmptyString");var Ur=["regular","medium","bold","mono","monoMedium","monoBold"];function Us(e){if(e===null||typeof e!="object"||Array.isArray(e))return null;let t=e,r={};for(let n of Ur){let o=mt(G(t,n));o!==null&&(r[n]=o);}return Object.keys(r).length===0?null:Object.freeze(r)}i(Us,"parseFaceMap");var xm=["white","cream","subtle"],Tm=["sharp","default","round"];function Hs(e,t){if(typeof e!="string")return null;let r=e.trim().toLowerCase();return t.includes(r)?r:null}i(Hs,"parseEnum");function km(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t==="light"||t==="dark"||t==="auto"?t:null}i(km,"parseBrightness");function Ks(e){let t=typeof e=="number"?e:typeof e=="string"?Number(e.trim()):Number.NaN;return Number.isFinite(t)&&(typeof e!="string"||e.trim().length>0)?t:null}i(Ks,"parseNumber");var Pm=1,_m=3.1;function wm(e){let t=Ks(e);return t===null?null:t<=0?0:Math.min(_m,Math.max(Pm,t))}i(wm,"parseMaxFontScale");function Im(e){if(e==null)return null;let t=Ks(e);return t!==null&&Number.isInteger(t)&&t>=1?t:0}i(Im,"parseSchemaVersion");function qs(e){let t=e.trim();return t.startsWith(zr)?t:t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}i(qs,"toWireName");function Am(e){if(!Array.isArray(e))return null;let t=[];for(let r of e){if(typeof r!="string")continue;let n=qs(r);Rm(n)&&!t.includes(n)&&t.push(n);}return t.length===0?null:Object.freeze(t)}i(Am,"parseLockedFields");function Bs(e){if(e===null)return null;let t=e.trim();return t.length===0?null:/^https:\/\/\S+$/i.test(t)?t:null}i(Bs,"hardenHttpsUrl");function js(e,t){if(t===null||mo(t))return e;let r=(t.brightness==="light"||t.brightness==="dark")&&t.brightness!==e.brightness?t.brightness==="dark"?Lr:ft:e,n=r.brightness==="dark"?Lr:ft,o=r.brightness==="dark",a=o?t.primaryColorDark??Vs(t.primaryColor):t.primaryColor,s=o?t.accentColorDark??Vs(t.accentColor):t.accentColor,l=a??r.color.primary,u=s??r.color.accent,c=a!==null&&Lm(t,l,n,o),d=c?n.color.primary:l,p=a!==null&&!c?ne(d):null,f=i(R=>Math.round(R+(255-R)*.4),"lift"),y=p!==null?{brand:d,bubbleUser:d,brandInk:d,text:{...r.color.text,secondary:d},brandSoft:`rgba(${p.r}, ${p.g}, ${p.b}, 0.10)`,brandSofter:`rgba(${p.r}, ${p.g}, ${p.b}, 0.15)`,brandBorder:`rgba(${p.r}, ${p.g}, ${p.b}, 0.20)`,borderHairlineGreen:`rgba(${p.r}, ${p.g}, ${p.b}, 0.28)`,brandBorderStrong:`rgba(${p.r}, ${p.g}, ${p.b}, 0.55)`,composerBorder:`rgba(${p.r}, ${p.g}, ${p.b}, 0.75)`,accentEdge:`rgb(${f(p.r)}, ${f(p.g)}, ${f(p.b)})`}:c?Nm(n,r.color.text):{},m={brightness:r.brightness,highContrast:r.highContrast,meta:{displayName:t.displayName??r.meta.displayName,logoUrl:(o?t.logoUrlDark??t.logoUrl:t.logoUrl)??r.meta.logoUrl,placeholder:t.placeholder??r.meta.placeholder,hidePoweredBy:t.hidePoweredBy??r.meta.hidePoweredBy},color:{...r.color,...y,...Dm(t.surfaceStyle??null,n),primary:d,accent:u,onPrimary:r.color.onPrimary,onAccent:r.color.onAccent},space:r.space,radius:Um(t.radiusScale??null,r.radius,n),type:{...r.type,...Mm(r.type,t),maxScale:t.accessibilityMaxFontScale??r.type.maxScale},motion:r.motion,slots:Ns(r.slots,t.slots??null)};return $e(m)}i(js,"withServerBranding");var Om={regular:["regular"],medium:["medium","regular"],bold:["bold","medium","regular"],mono:["mono"],monoMedium:["monoMedium","mono"],monoBold:["monoBold","monoMedium","mono"]},Fm=[["regular","medium","bold"],["mono","monoMedium","monoBold"]];function fo(e){return e==="mono"||e==="monoMedium"||e==="monoBold"}i(fo,"isMonoFace");function Mm(e,t){let r=t.fonts??{},n=t.fontUrls??{},o={...e.families},a={...e.namedFaces},s={...e.fontUrls};for(let l of Ur){let u=Om[l].map(p=>r[p]).find(p=>p!==void 0),c=fo(l)?null:t.fontFamily;u!==void 0?(o[l]=u,a[l]=true):c!==null&&(o[l]=c,a[l]=false);let d=n[l]??(l==="regular"?t.fontUrl:null)??null;d!==null?s[l]=d:u!==void 0&&delete s[l];}for(let l of Fm)for(let u of l)a[u]&&l.some(c=>c!==u&&o[c]===o[u])&&(a[u]=false);return {family:o.regular,mono:o.mono,fontUrl:s.regular??null,families:o,namedFaces:a,fontUrls:s}}i(Mm,"mergeFaces");function Vs(e){return e===null?null:Ms(e)}i(Vs,"darkVariantOf");function Dm(e,t){if(e===null)return {};let r=t.color;return {chatGround:e==="white"?r.surface:e==="subtle"?r.surfaceSubtle:r.surfaceCream}}i(Dm,"surfaceOf");function $s(e,t){return e==null?false:ge(e)===ge(t)}i($s,"sameColor");function Lm(e,t,r,n){return $s(t,r.color.primary)?true:n&&(e.primaryColorDark??null)===null&&$s(e.primaryColor,ft.color.primary)}i(Lm,"isCompiledPrimary");function Nm(e,t){let r=e.color;return {text:{...t,secondary:r.text.secondary},brand:r.brand,bubbleUser:r.bubbleUser,brandInk:r.brandInk,brandSoft:r.brandSoft,brandSofter:r.brandSofter,brandBorder:r.brandBorder,borderHairlineGreen:r.borderHairlineGreen,brandBorderStrong:r.brandBorderStrong,composerBorder:r.composerBorder,accentEdge:r.accentEdge}}i(Nm,"compiledBrandFamily");var zm={sharp:.5,default:1,round:1.5};function Um(e,t,r){if(e===null)return t;let n=zm[e],o=r.radius,a=i(s=>Math.round(s*n),"s");return {tile:a(o.tile),xs:a(o.xs),sm:a(o.sm),md:a(o.md),lg:a(o.lg),xl:a(o.xl),pill:o.pill}}i(Um,"radiusOf");var Hm="Everfur",Bm=.5;function yo(e){let t=e?.branding??null,r=Em(t)?t:null,n=Km(e?.clientOverride??null,Cm(r)),o=e?.colorScheme==="dark"?"dark":"light",a=n?.brightness??r?.brightness??"light",u=js((a==="auto"?o:a)==="dark"?Lr:ft,Ws(r)),c=js(u,Ws(n));return ny(c,e)}i(yo,"resolveTheme");function jm(e,t,r){return yo({...r,branding:et(t),clientOverride:et(e)})}i(jm,"previewTheme");function Vm(e){return e==="placeholder"?"chat_placeholder":qs(e)}i(Vm,"wireNameOf");var $m={brightness:["color_scheme"],fontUrl:["font_family"],fonts:["font_family"],fontUrls:["font_url","font_family"],primaryColorDark:["primary_color"],accentColorDark:["accent_color"],logoUrlDark:["logo_url"]};function Wm(e,t){return t.has(Vm(e))?true:($m[e]??[]).some(r=>t.has(r))}i(Wm,"isLocked");function Km(e,t){if(e===null)return null;let r=false,n={...e};for(let s of Object.keys(e))(e[s]??null)!==null&&(Wm(s,t)||s==="lockedFields")&&(n[s]=null,r=true);let o=n.slots??null;if(o!==null){let s={},l=false;for(let u of Rt){let c=o[u];c!==void 0&&(t.has(`${zr}${u}`)?l=true:s[u]=c);}l&&(n.slots=Object.keys(s).length===0?null:Object.freeze(s),r=true);}if(!r)return e;let a=Object.freeze(n);return mo(a)?null:a}i(Km,"withoutFields");function Ws(e){return e===null||e.brightness===null?e:Object.freeze({...e,brightness:null})}i(Ws,"withoutBrightness");function qm(e,t){if(t===1)return e;let r={};for(let[n,o]of Object.entries(e))r[n]=Math.round(o*t*10)/10;return r}i(qm,"scaledSizes");function Gm(e){return e===void 0||!Number.isFinite(e)?1:Math.max(Bm,e)}i(Gm,"effectiveScale");var Gs=["content","heading","control","compact","badge"];function Ym(e){if(!(e>0))return Dr;let t={};for(let r of Gs){let n=Dr[r];t[r]=n===0?0:Math.min(n,e);}return t}i(Ym,"tierCaps");function Xm(e,t){return t>0?Math.min(e,t):e}i(Xm,"capped");function Qm(e,t,r,n){let o={};for(let a of Gs)o[a]=n?qm(e,Xm(t,r[a])):e;return o}i(Qm,"sizesByTier");function Zm(e){return e==="dark"?"#FFFFFF":"#000000"}i(Zm,"inkPole");function Jm(e){return [e.surface,e.surfaceCream,e.surfaceSubtle,e.background,e.chatGround,e.composerFill]}i(Jm,"textGrounds");function Ys(e){return [e.chatGround,e.surface,e.surfaceCream]}i(Ys,"linkGrounds");function ey(e){return {composerInput:[e.composerFill],sendButton:[e.composerFill],userBubble:[e.bubbleUser],assistantBubble:[e.chatGround,e.surfaceCream],recordCard:[e.surface],vetVisitButton:[e.primary],primaryButton:[e.brand],link:Ys(e)}}i(ey,"slotGrounds");function ty(e,t){try{let r=e(t);return r===!0||r===!1?r:null}catch{return null}}i(ty,"registration");function ry(e,t){let r=t?.isFontRegistered,n=t?.platformMonoFamily?.trim()||null;if(r===void 0&&n===null)return {family:e.family,mono:e.mono,families:e.families,namedFaces:e.namedFaces};let o={...e.families},a={...e.namedFaces};for(let s of Ur)!(o[s]===ct||o[s]===Ze)&&r!==void 0&&ty(r,o[s])===false&&(o[s]=fo(s)?Ze:ct,a[s]=false),n!==null&&fo(s)&&o[s]===Ze&&(o[s]=n);return {family:o.regular,mono:o.mono,families:o,namedFaces:a}}i(ry,"platformFaces");function ny(e,t){let r=e.color.primary,n=e.color.accent,o=e.meta.displayName.trim().length===0?Hm:e.meta.displayName,a=Bs(e.meta.logoUrl),s={};for(let I of Ur){let _=e.type.fontUrls[I];_!==void 0&&(s[I]=Bs(_));}let l=s.regular??null,c=t?.reducedMotion===true?{duration:{instant:0,fast:0,normal:0,slow:0},spring:{gentle:{damping:100,stiffness:1e3}},easing:e.motion.easing,reducedMotion:true}:e.motion,d=Number.isFinite(e.type.maxScale)?e.type.maxScale:co,p=Gm(t?.textScale),f=Ym(d),y=Qm(e.type.size,p,f,t?.scaleTypeSizes===true),m=e.color,R=Zm(e.brightness),g=Jm(m),C={...m,primary:r,accent:n,onPrimary:qt(r,_e),onAccent:qt(n,_e),brandInk:dt(m.brandInk,g,R,_e),linkInk:dt(e.slots.link?.textColor??n,Ys(m),R,_e),text:{...m.text,secondary:dt(m.text.secondary,g,R,_e)}},P={brightness:e.brightness,highContrast:false,meta:{displayName:o,logoUrl:a,placeholder:e.meta.placeholder,hidePoweredBy:e.meta.hidePoweredBy},color:C,space:e.space,radius:e.radius,type:{...e.type,...ry(e.type,t),fontUrl:l,fontUrls:s,size:y.content,tierSizes:y,scale:p,maxScale:d,scaleCaps:f},motion:c,slots:zs(e.slots,ey(C))};return t?.highContrast===true?Ds($e(P)):$e(P)}i(ny,"finalize");var Xs="/widget/v1/entitlements",oy=304,iy=Object.freeze({kind:"notModified"});async function Zs(e,t={},r=ke({auth:e})){let n=await r.send("entitlements.fetch",sy(t));return n.ok?ly(n.value):n.error.httpStatus===oy?iy:{kind:"failed",error:n.error}}i(Zs,"fetchEntitlements");var ay=64;function sy(e){let t={};return go(e.cachedRevision)&&(t["if-none-match"]=`"${e.cachedRevision}"`),e.region&&e.region.length<=ay?{method:"GET",path:Xs,headers:t,query:{region:e.region}}:{method:"GET",path:Xs,headers:t}}i(sy,"buildRequest");function ly(e){if(e===null||typeof e!="object"||!go(e.revision))return Qs();let t=typeof e.region=="string"?e.region:"",r=go(e.ttl_seconds)?e.ttl_seconds:0;return Object.freeze({kind:"updated",revision:e.revision,region:t,ttlSeconds:r,decisions:dy(e.capabilities),branding:uy(e)})}i(ly,"parseUpdated");function uy(e){let t=et(e.branding);if(t!==null)return t;let r=e.render_hints;if(r!==null&&typeof r=="object"){let n=et(r.branding);return n!==null?n:et(r)}return null}i(uy,"parseBranding");function dy(e){if(e===null||typeof e!="object")return Object.freeze([]);let t=[];for(let[r,n]of Object.entries(e))cy(n)&&t.push(Object.freeze({resource:r,granted:true}));return Object.freeze(t)}i(dy,"mapCapabilities");function cy(e){return typeof e=="object"&&e!==null&&e.enabled===true}i(cy,"isEnabled");function Qs(){return {kind:"failed",error:D("internalError",{retryable:true,wireMessage:"malformed entitlements response"})}}i(Qs,"malformed");function go(e){return typeof e=="number"&&Number.isFinite(e)}i(go,"isFiniteNumber");var py=30;function Js(e){let t=e.scheduler??fy,r=e.resolve??Zs,n=Math.max(1,e.floorSeconds??py),o=e.rng??Math.random,a=i(()=>n+o()*n,"jitteredFloorSeconds"),s=false,l=false,u=null,c=null,d=n,p=0,f=i(()=>{u!==null&&(t.clear(u),u=null);},"clearTimer"),y=i(C=>{l||!s||(d=Math.max(n,C),u=t.set(()=>{u=null,g();},d*1e3));},"schedule"),m=null,R=i(async()=>{if(l)return null;let C=p;e.onFetch?.();let P=e.region?{cachedRevision:c,region:e.region}:{cachedRevision:c},I;try{I=await r(e.authFor(),P);}catch(_){return e.telemetry?.track("sdk.entitlements.poll_error",{reason:my(_)}),!l&&C===p&&(e.onSettled?.(),y(a())),null}if(l||C!==p)return null;switch(I.kind){case "updated":c=I.revision,e.update(I.decisions,I.branding??null),y(I.ttlSeconds);break;case "notModified":y(d);break;case "failed":e.telemetry?.track("sdk.entitlements.poll_failed",{code:I.error.code}),y(a());break;default:y(a());}return e.onSettled?.(),I},"tick"),g=i(()=>{let C=R().finally(()=>{m===C&&(m=null);});return m=C,C},"run");return {start(){s||l||(s=true,g());},prime(){return l?Promise.resolve(null):m??g()},stop(){l||(l=true,p++,f());},refresh(){l||!s||(p++,c=null,f(),g());}}}i(Js,"createEntitlementPoller");var fy={set(e,t){let r=setTimeout(e,t);return r.unref?.(),r},clear(e){clearTimeout(e);}};function my(e){return e instanceof Error?e.message:"poll failed"}i(my,"describe");var el="everfur.notifications.device";function yy(){return Object.freeze([Object.freeze({resource:"chat.message.create",granted:true})])}i(yy,"compiledDefaultDecisions");function tl(e=yy){let t=new Set,r=Object.freeze({decisions:e(),isPending:false,branding:null}),n=i(()=>{for(let o of t)o();},"emit");return {subscribe(o){return t.add(o),()=>{t.delete(o);}},getSnapshot(){return r},set(o){r=Object.freeze({decisions:Object.freeze([...o.decisions]),isPending:o.isPending,branding:o.branding??null}),n();},reset(){r=Object.freeze({decisions:e(),isPending:false,branding:null}),n();},setPending(o){r.isPending!==o&&(r=Object.freeze({...r,isPending:o}),n());}}}i(tl,"createEntitlementStore");function al(e,t){return new bo(e,t)}i(al,"createEverfurRuntime");var gy=6e4,rl=Object.freeze([el]),vo=class vo{constructor(t,r){this.sessionId=Fn();this.entries=new Map;this.destroyers=new Map;this.epoch=0;this.disposed=false;this.verdictSettled=false;this.refreshTimer=null;this.bootstraps=new WeakMap;this.prepared=null;this.beforeLogoutHooks=new Set;this.pendingBeforeLogout=null;this.leavingSessionId=null;let n=t.config;if(n.secureStore!==void 0&&n.secureStore.isAvailable===true)throw new Z("invalid-argument","config.secureStore is not yet consumable: SDK token persistence is unimplemented. Omit secureStore to keep memory-only tokens (SPEC-10 \xA75.3).");this.telemetry=n.telemetry?by(n.telemetry):yr;let o=typeof n?.publishableKey=="string"?n.publishableKey.trim():"",a=Dn(n?.publishableKey),s=n.transport!==void 0,l,u=typeof n.apiBaseUrl=="string"&&n.apiBaseUrl.trim().length>0?n.apiBaseUrl.trim():null;if(a!==null)l=il(a);else if(n.transport!==void 0)l=n.transport;else {let d=hy(n,r?.platform);d.ok?(u=d.config.apiBaseUrl,l=ra({config:d.config,...r?.eventSourceFactory?{eventSourceFactory:r.eventSourceFactory}:{}})):(a=d.failure,l=il(d.failure));}this.configFailure=a,this.publishableKey=a===null?o:"",this.transport=l,a!==null&&vy(a,this.telemetry),this.errorPolicy=n.errorPolicy,this.camera=n.camera??Mi,this.upload=n.upload??Ea,this.uploadTransport=n.uploadTransport??Yn,this.imageCache=n.imageCache??Cy,this.kv=n.storage??Ey(),this.currentUser=t.user??null,this.identity=this.buildIdentity(t.user??null),this.activePet=t.activePet,this.store=a===null?tl():tl(()=>bs("sdk_config",vt("accessDenied"))),this.services={authFor:i(d=>this.buildAuth(d),"authFor"),telemetry:this.telemetry,errorPolicy:this.errorPolicy,camera:this.camera,upload:this.upload,uploadTransport:this.uploadTransport,imageCache:this.imageCache,kv:this.kv,apiBaseUrl:u},this.registry={services:this.services,acquireChat:i(d=>this.acquireInternal("chat",ho(d),()=>this.buildChatController(d),nl),"acquireChat"),releaseChat:i(d=>this.releaseInternal(d),"releaseChat"),peekChat:i(d=>this.entries.get(`${this.epoch}|chat|${ho(d)}`)?.controller??null,"peekChat"),acquire:i((d,p,f,y)=>this.acquireInternal(d,p,f,y),"acquire"),release:i(d=>this.releaseInternal(d),"release")},this.entitlements=this.store;let c=a===null&&(r?.startEntitlementPolling??!s);this.poller=a===null?this.buildPoller(r?.pollScheduler):null,c&&this.poller?.start();}get isDisposed(){return this.disposed}get scopeEpoch(){return this.epoch}buildIdentity(t){if(t===null)return null;let r=Vi(t.userRef,t.getToken,n=>this.armTokenRefresh(r,n));return r}armTokenRefresh(t,r){if(this.clearTokenRefresh(),r===null||this.disposed||t!==this.identity)return;let n=r-Date.now();if(n<=0)return;let o=Math.max(n-gy,n/2);this.refreshTimer=setTimeout(()=>{this.refreshTimer=null,!(this.disposed||t!==this.identity)&&t.currentToken({forceRefresh:true}).catch(()=>{});},o),this.refreshTimer.unref?.();}clearTokenRefresh(){this.refreshTimer!==null&&clearTimeout(this.refreshTimer),this.refreshTimer=null;}buildPoller(t){return Js({authFor:i(()=>this.buildAuth(this.currentUser?.userRef??null),"authFor"),update:i((r,n)=>this.updateEntitlements({decisions:r,isPending:false,branding:n}),"update"),onFetch:i(()=>{this.verdictSettled||this.store.setPending(true);},"onFetch"),onSettled:i(()=>{this.verdictSettled=true,this.store.setPending(false);},"onSettled"),telemetry:this.telemetry,...t?{scheduler:t}:{}})}acquireInternal(t,r,n,o,a=false){let s=`${this.epoch}|${t}|${r}`,l=this.entries.get(s);if(l)return a||(l.warm?l.warm=false:l.refCount+=1),l.controller;let u=n();return this.entries.set(s,{controller:u,refCount:1,warm:a}),this.destroyers.set(u,o),u}releaseInternal(t){for(let[r,n]of this.entries)if(n.controller===t){n.refCount-=1,n.refCount<=0&&(this.runDestroyer(t),this.entries.delete(r));return}}runDestroyer(t){let r=this.destroyers.get(t);this.destroyers.delete(t),r&&r(t);}buildChatController(t){let r=Ha({auth:this.buildAuth(t.userRef),telemetry:this.telemetry,...this.errorPolicy?{errorPolicy:this.errorPolicy}:{},initialConversationId:t.conversationId,petRef:t.petRef});return this.runBootstrap(r,t),r}runBootstrap(t,r){let n={};r.petRef!==null&&(n.petRef=r.petRef),r.conversationId!==null&&(n.resumeConversationId=r.conversationId);let o=Va(n,{controller:t});return o.then(a=>t.adoptPrompts(a.suggestedPrompts)).catch(()=>{}),this.bootstraps.set(t,o),o}buildAuth(t){return this.identity!==null&&this.currentUser!==null?{mode:"personalized",transport:this.transport,identity:this.identity,userRef:this.currentUser.userRef,sessionId:this.sessionId}:{mode:"anonymous",transport:this.transport,publishableKey:this.publishableKey,userRef:this.currentUser===null?null:t,sessionId:this.sessionId}}setUser(t){if(this.disposed)return;let r=t?.userRef??null,n=this.currentUser?.userRef??null;if(r===n){this.currentUser=t,t&&this.identity===null&&(this.identity=this.buildIdentity(t));return}this.pendingBeforeLogout=this.startBeforeLogoutHooks(),this.identity?.clear(),this.clearTokenRefresh(),this.currentUser=t,this.identity=this.buildIdentity(t),this.rescopeAll();}async logout(){if(this.disposed)return;let t=this.currentUser===null;this.leavingSessionId=this.sessionId,this.sessionId=Fn(),this.setUser(null),this.leavingSessionId=null,t&&this.rescopeAll();let r=this.pendingBeforeLogout;this.pendingBeforeLogout=null,r!==null&&await r,await this.sweepPerUserKv();}onBeforeLogout(t){return this.disposed?()=>{}:(this.beforeLogoutHooks.add(t),()=>{this.beforeLogoutHooks.delete(t);})}startBeforeLogoutHooks(){let t=this.currentUser,r=this.identity;if(t===null||r===null||this.beforeLogoutHooks.size===0)return null;let n=Object.freeze({userRef:t.userRef,auth:this.graceAuth(t,r)}),o=[...this.beforeLogoutHooks].map(l=>{try{return Promise.resolve(l(n))}catch(u){return Promise.reject(u)}}),a=i((l,u)=>{try{this.telemetry.track("sdk.logout.hookFailed",{reason:l,count:u,totalCount:o.length});}catch{}},"report"),s=Promise.allSettled(o).then(l=>{let u=l.filter(c=>c.status==="rejected").length;u>0&&a("failed",u);});return new Promise(l=>{let u=false,c=i(()=>{u||(u=true,clearTimeout(d),l());},"finish"),d=setTimeout(()=>{u||a("timeout",o.length),c();},3e3);s.then(c,c);})}graceAuth(t,r){let n=r.currentToken();n.catch(()=>{});let o={userRef:t.userRef,currentToken:i(()=>n,"currentToken"),hasToken:i(()=>true,"hasToken"),clear:i(()=>{},"clear")};return {mode:"personalized",transport:this.transport,identity:o,userRef:t.userRef,sessionId:this.leavingSessionId??this.sessionId}}async sweepPerUserKv(){if(rl.length===0)return;let t=await Promise.allSettled(rl.map(n=>this.kv.removeItem(n))),r=t.filter(n=>n.status==="rejected").length;r>0&&this.telemetry.track("sdk.logout.sweepPartialFailure",{failedCount:r,totalCount:t.length});}async registerPet(t,r){return this.withPets("registerPet",n=>r===void 0?n.registerPet(t):n.registerPet(t,r))}updatePet(t,r){return this.withPets("updatePet",n=>n.updatePet(t,r))}deletePet(t){return this.withPets("deletePet",r=>r.deletePet(t))}eraseUserData(){return this.withPets("eraseUserData",t=>t.eraseUserData())}async withPets(t,r){return this.disposed?E(ol(t)):r(Qe(this.buildAuth(this.currentUser?.userRef??null)))}prepare(t){let r=t?.petRef??null,n=`${this.epoch}|${this.currentUser?.userRef??""}|${r??""}`,o=this.prepared;if(o!==null&&o.key===n&&(o.result===null||o.result.status==="ready"))return o.promise;let a={key:n,result:null,promise:this.runPrepare(r).then(s=>(a.result=s,s))};return this.prepared=a,a.promise}async runPrepare(t){let r=Date.now(),n=this.configFailure,o=this.disposed?ol("prepare"):n===null?null:sl(n),a=this.identity,[s,l,u]=await Promise.all([o?E(o):a===null?F(void 0):a.currentToken().then(()=>F(void 0),()=>E(D("authRejected",{retryable:false}))),o?E(o):this.primeEntitlements(),t===null?void 0:o?E(o):this.primeChat(t)]),c=s.ok?l.ok&&(u?.ok??true)?"ready":"partial":"failed",d=Date.now()-r;try{this.telemetry.track("sdk.prepare.timing",{durationMs:d,status:c});}catch{}return Object.freeze({status:c,durationMs:d,session:s,entitlements:l,...u?{chat:u}:{}})}async primeEntitlements(){let t=await this.poller?.prime();return t?t.kind==="failed"?E(t.error):F(void 0):E(D("internalError",{retryable:true}))}async primeChat(t){let r={userRef:this.currentUser?.userRef??null,petRef:t,conversationId:null},n=this.acquireInternal("chat",ho(r),()=>this.buildChatController(r),nl,true),o=await this.bootstraps.get(n);return o?.cause&&n.getSnapshot().conversationId===null&&(o=await this.runBootstrap(n,r)),o?.cause?E(o.cause):F(void 0)}setActivePet(t){if(this.disposed)return;let r=t??null;r!==this.activePet&&(this.activePet=r,this.rescopeAll());}updateEntitlements(t){this.disposed||this.configFailure===null&&this.store.set(t);}open(t){this.telemetry.track("sdk.open",{capability:t});}dispose(){this.disposed||(this.disposed=true,this.epoch+=1,this.poller?.stop(),this.identity?.clear(),this.clearTokenRefresh(),this.disposeAllControllers());}rescopeAll(){this.epoch+=1,this.disposeAllControllers(),this.store.reset(),this.verdictSettled=false,this.poller?.refresh();}disposeAllControllers(){for(let t of this.entries.values())this.runDestroyer(t.controller);this.entries.clear(),this.destroyers.clear();}};i(vo,"EverfurRuntimeImpl");var bo=vo;function ho(e){return `${e.userRef??""}|${e.petRef??""}|${e.conversationId??""}`}i(ho,"chatScopeKey");function nl(e){e.dispose();}i(nl,"disposeChat");function ol(e){return D("validationFailed",{retryable:false,wireMessage:`the Everfur runtime is disposed; ${e} was called after unmount`})}i(ol,"disposedError");function sl(e){return D("validationFailed",{retryable:false,wireMessage:`Everfur SDK is not configured: ${e.message}`})}i(sl,"notConfiguredError");function hy(e,t){let r={publishableKey:e.publishableKey,...e.apiBaseUrl!==void 0?{apiBaseUrl:e.apiBaseUrl}:{},...e.contractVersion!==void 0?{contractVersion:e.contractVersion}:{},...e.debug!==void 0?{debug:e.debug}:{}};return Xi(r,t===void 0?void 0:{platform:t})}i(hy,"tryResolveClient");function by(e){return Object.freeze({track(t,r){try{e.track(t,r);}catch{}},trackExpectedFailure(t,r){try{e.trackExpectedFailure(t,r);}catch{}}})}i(by,"guardTelemetry");function vy(e,t){try{t.trackExpectedFailure("sdk.config.invalid",{reason:e.reason});}catch{}globalThis.console?.error?.(`[everfur] SDK disabled: ${e.message}
12
+ [everfur] Every Everfur capability will render its off-state until this is fixed. If the value is set in your environment, note that babel-preset-expo inlines only EXPO_PUBLIC_* variables into a release bundle.`);}i(vy,"reportConfigFailure");function il(e){return Object.freeze({request(){return Promise.resolve(E(sl(e)))},stream(t,r){let n=ue({code:"sdk_not_configured",retryable:false,wireMessage:`Everfur SDK is not configured: ${e.message}`,synthesized:true,lastEventId:null});return {async*[Symbol.asyncIterator](){r.aborted||(yield n);}}}})}i(il,"refusingTransport");function Ey(){let e=new Map;return {async getItem(t){return e.get(t)??null},async setItem(t,r){e.set(t,r);},async removeItem(t){e.delete(t);},async keys(t){return [...e.keys()].filter(r=>r.startsWith(t))}}}i(Ey,"createInMemoryKv");var Cy=Object.freeze({clearMemoryCache(){},clearDiskCache(){}});var ll=Symbol.for("@everfur/sdk#EverfurContext@v1"),ul=globalThis,Hr=ul[ll]??(ul[ll]=createContext(null));Hr.displayName??="EverfurContext";function Y(){let e=useContext(Hr);if(e===null)throw new Z("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}i(Y,"useEverfurContext");function dl(){return Y().handle}i(dl,"useEverfur");var cl=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),pl=globalThis,Qt=pl[cl]??(pl[cl]=createContext(ft));Qt.displayName??="EverfurThemeContext";function N(){return useContext(Qt)}i(N,"useEverfurTheme");function Br(e){let{runtime:t}=Y(),r=t.entitlements,n=useSyncExternalStore(r.subscribe,r.getSnapshot,r.getSnapshot),o=e.seams.useColorScheme(),a=e.seams.useReducedMotion(),s=e.seams.useTextScale(),l=e.seams.useHighContrast(),u=e.seams.scaleTypeSizes,c=e.seams.platformMonoFamily?.(),d=e.seams.isFontRegistered,p=e.clientTheme?_y(e.clientTheme):"",f=useMemo(()=>e.clientTheme?et(e.clientTheme):null,[p]),y=n.branding??null,m=useMemo(()=>yo({branding:y,clientOverride:f,colorScheme:o,reducedMotion:a,textScale:s,scaleTypeSizes:u,highContrast:l,...c===void 0?{}:{platformMonoFamily:c},...d===void 0?{}:{isFontRegistered:d}}),[y,f,o,a,s,u,l,c,d]);return e.seams.useResolvedTheme?.(m),createElement(Qt.Provider,{value:m},e.children)}i(Br,"EverfurThemeProviderCore");function _y(e){try{return JSON.stringify(e)}catch{return Object.keys(e).join("&")}}i(_y,"stableKey");function hl(e){let{config:t,user:r,activePet:n,theme:o,warmUp:a,children:s,seams:l}=e,u=`${t?.publishableKey??""}|${t?.apiBaseUrl??""}|${t?.contractVersion??""}`,c=useRef(null),d=useRef(null),[p,f]=useReducer(S=>S+1,0),y=useRef(null),m=useRef(void 0),R=r?.userRef??null;m.current!==R&&(m.current!==void 0&&(y.current=null),m.current=R);let g=y.current!==null?y.current.user:r??null,C=useRef(null),P=useRef(void 0),I=n??null;P.current!==I&&(P.current!==void 0&&(C.current=null),P.current=I);let _=C.current!==null?C.current.pet:n??null;(c.current===null||c.current.key!==u||c.current.runtime.isDisposed)&&(c.current!==null&&!c.current.runtime.isDisposed&&(d.current=c.current.runtime),c.current={key:u,runtime:al({config:l.withDefaults?l.withDefaults(t):t,user:g,activePet:_,theme:o??null},{platform:l.platform,...l.eventSourceFactory?{eventSourceFactory:l.eventSourceFactory}:{}})});let h=c.current.runtime,x=useRef(null);useEffect(()=>{let S=c.current?.runtime;S===void 0||!S.isDisposed||x.current!==S&&(x.current=S,f());}),useEffect(()=>{let S=d.current;S!==null&&(d.current=null,S.dispose());});let A=g?.userRef??null;useLayoutEffect(()=>{h.setUser(g);},[h,A]),useLayoutEffect(()=>{h.setActivePet(_);},[h,_]),useEffect(()=>()=>h.dispose(),[h]),useEffect(()=>{a==="onMount"&&h.prepare(_===null?{}:{petRef:_});},[h,a,A,_]);let M=useMemo(()=>({setUser:i(S=>{y.current={user:S},h.setUser(S),f();},"setUser"),setActivePet:i(S=>{C.current={pet:S},h.setActivePet(S),f();},"setActivePet"),open:i(S=>h.open(S),"open"),prepare:i(S=>h.prepare(S),"prepare"),registerPet:i((S,O)=>h.registerPet(S,O),"registerPet"),updatePet:i((S,O)=>h.updatePet(S,O),"updatePet"),deletePet:i(S=>h.deletePet(S),"deletePet"),eraseUserData:i(()=>h.eraseUserData(),"eraseUserData"),logout:i(()=>{y.current={user:null};let S=h.logout();return f(),S},"logout")}),[h,f]),v=useMemo(()=>({runtime:h,handle:M,userRef:A,activePet:_,scopeEpoch:h.scopeEpoch}),[h,M,A,_,p]),T=createElement(Br,{clientTheme:o??null,seams:l.theme,children:s});return createElement(Hr.Provider,{value:v},l.wrap?l.wrap(T):T)}i(hl,"EverfurProviderCore");var Zt="everfur:";function Vr(){try{if(typeof window>"u")return null;let e=window.localStorage;return e&&typeof e.getItem=="function"?e:null}catch{return null}}i(Vr,"storage");function Eo(){return {async getItem(e){try{return Vr()?.getItem(Zt+e)??null}catch{return null}},async setItem(e,t){try{Vr()?.setItem(Zt+e,t);}catch{}},async removeItem(e){try{Vr()?.removeItem(Zt+e);}catch{}},async keys(e){try{let t=Vr();if(t===null)return [];let r=[],n=Zt+e;for(let o=0;o<t.length;o+=1){let a=t.key(o);a!==null&&a.startsWith(n)&&r.push(a.slice(Zt.length));}return Object.freeze(r)}catch{return []}}}}i(Eo,"createLocalStorageKv");var Jt=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function Iy(e,t){let r=e.type,n=r.families[t];return t==="mono"||r.namedFaces[t]?{fontFamily:n}:{fontFamily:n,fontWeight:r.weight[Jt[t]]}}i(Iy,"face");function bl(e,t){let{scale:r,scaleCaps:n}=e.type,o=n[t];return o>0?Math.min(r,o):r}i(bl,"tierScale");var Oy=/^https:\/\/sdk(-staging)?\.everfur\.com\/fonts\/[\w./-]+\.woff2$/;function Fy(e){return Oy.test(e)&&!e.includes("..")}i(Fy,"isBrandFontUrl");var vl=new Map;function My(e,t,r="400"){let n=e.trim(),o=`${n}
13
+ ${t}
14
+ ${r}`,a=vl.get(o);if(a===void 0){if(a=Promise.resolve(false),t!==null&&n!==""&&n!=="System"&&Fy(t))try{let s=document.fonts;a=new FontFace(n,`url("${t}") format("woff2")`,{display:"swap",weight:r}).load().then(l=>(s.add(l),!0)).catch(()=>!1);}catch{}vl.set(o,a);}return a}i(My,"loadBrandFont");var Dy=["regular","medium","bold","mono","monoMedium","monoBold"];function El(e){let{families:t,fontUrls:r,weight:n,namedFaces:o}=e.type;useEffect(()=>{for(let a of Dy){let s=r[a];s!=null&&My(t[a],s,o[a]?n.regular:n[Jt[a]]);}},[t,r,n,o]);}i(El,"useBrandFont");function er(e){if(typeof window>"u"||typeof window.matchMedia!="function")return null;try{return window.matchMedia(e)??null}catch{return null}}i(er,"queryFor");function Co(e){return t=>{let r=er(e);return r===null||typeof r.addEventListener!="function"?()=>{}:(r.addEventListener("change",t),()=>r.removeEventListener?.("change",t))}}i(Co,"subscribeTo");var Cl="(prefers-color-scheme: dark)",Ly="(prefers-color-scheme: light)",Rl="(prefers-reduced-motion: reduce)",Sl="(prefers-contrast: more)",Ny=Co(Cl),zy=Co(Rl),Uy=Co(Sl);function Hy(){let e=er(Cl);return e===null?null:e.matches?"dark":er(Ly)?.matches?"light":null}i(Hy,"readColorScheme");function By(){return er(Rl)?.matches===true}i(By,"readReducedMotion");function jy(){return er(Sl)?.matches===true}i(jy,"readMoreContrast");var Vy=16,$y=false;var $r=null;function xl(e){return Number.parseFloat(window.getComputedStyle(e).fontSize)}i(xl,"fontPx");function Wy(){let e=document.body??document.documentElement,t=document.createElement("span");t.setAttribute("aria-hidden","true"),t.style.setProperty("position","absolute","important"),t.style.setProperty("visibility","hidden","important"),t.style.setProperty("font-size","medium","important"),e.appendChild(t);try{return xl(t)}finally{t.remove();}}i(Wy,"probeDefaultPx");function Ky(){if(typeof document>"u"||typeof window>"u"||typeof window.getComputedStyle!="function")return 1;try{let e=$y?xl(document.documentElement):Wy();return Number.isFinite(e)&&e>0?e/Vy:1}catch{return 1}}i(Ky,"measureTextScale");function qy(){return $r===null&&($r=Ky()),$r}i(qy,"readTextScale");function Gy(e){if(typeof window>"u"||typeof window.addEventListener!="function")return ()=>{};let t=i(()=>{$r=null,e();},"onResize");return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}i(Gy,"subscribeTextScale");function Yy(){return useSyncExternalStore(Ny,Hy,()=>null)}i(Yy,"useWebColorScheme");function Xy(){return useSyncExternalStore(zy,By,()=>false)}i(Xy,"useWebReducedMotion");function Qy(){return useSyncExternalStore(Uy,jy,()=>false)}i(Qy,"useWebHighContrast");function Zy(){return useSyncExternalStore(Gy,qy,()=>1)}i(Zy,"useWebTextScale");var Kr=Object.freeze({useColorScheme:Yy,useReducedMotion:Xy,useTextScale:Zy,useHighContrast:Qy,scaleTypeSizes:true,useResolvedTheme:El});function eg(e){return e.storage===void 0?{...e,storage:Eo()}:e}i(eg,"withWebDefaults");var tg=Object.freeze({platform:"web",withDefaults:eg,theme:Kr});function rg(e){return createElement(hl,{...e,seams:tg})}i(rg,"EverfurProvider");function St(e){let{runtime:t}=Y(),r=t.entitlements,n=useSyncExternalStore(r.subscribe,r.getSnapshot,r.getSnapshot);return useMemo(()=>vs(e,n.decisions,{isPending:n.isPending}),[e,n])}i(St,"useCapability");var So=class So extends Component{constructor(){super(...arguments);this.state={failed:false,key:this.props.resetKey};}static getDerivedStateFromError(){return {failed:true}}static getDerivedStateFromProps(r,n){return Object.is(r.resetKey,n.key)?null:{failed:false,key:r.resetKey}}render(){return this.state.failed?this.props.fallback:this.props.children}};i(So,"HostRenderBoundary");var Ro=So;function ag({render:e}){return e()}i(ag,"RenderHost");function gt({render:e,fallback:t,resetKey:r}){return createElement(Ro,{fallback:t,resetKey:r,children:createElement(ag,{render:e})})}i(gt,"HostRender");function xo(e,t,r){return Math.round(r*bl(e,t)*10)/10}i(xo,"tierPx");var kl='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',sg="System";function To(e){let t=e.trim();return t.length===0||t===sg?kl:`${Pl(t)}, ${kl}`}i(To,"cssFontFamily");function lg(e){let t=e.trim();return t.length===0||t==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${Pl(t)}, ui-monospace, Menlo, Consolas, monospace`}i(lg,"cssMonoFamily");function Pl(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}i(Pl,"quote");function k(e,t){let r=e.type,n=r.families[t];return {fontFamily:t==="mono"||t==="monoMedium"||t==="monoBold"?lg(n):To(n),fontWeight:r.namedFaces[t]?r.weight.regular:r.weight[Jt[t]]}}i(k,"faceCss");var ug=48;function dg(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}i(dg,"selectView");function Po(e){let{capability:t,children:r,renderDisabled:n,renderPending:o,style:a,className:s}=e,l=St(t),u=useMemo(()=>dg(l),[l]);switch(u){case "enabled":return r;case "pending":return o?jsx(gt,{render:o,fallback:jsx(_l,{capability:t,style:a,className:s})}):jsx(_l,{capability:t,style:a,className:s});case "disabled":return n?jsx(gt,{render:()=>n(l),fallback:jsx(wl,{decision:l,style:a,className:s}),resetKey:l}):jsx(wl,{decision:l,style:a,className:s});default:return Xe(u)}}i(Po,"CapabilityGate");function _l({capability:e,style:t,className:r}){let n=N(),o=useMemo(()=>Il(n),[n]);return jsx("div",{role:"status","aria-busy":"true","aria-label":`Loading ${e}`,className:r,style:{...o.offstate,...t},children:jsx("div",{style:o.skeletonBar})})}i(_l,"PendingSkeleton");function wl({decision:e,style:t,className:r}){let n=N(),o=useMemo(()=>Il(n),[n]),a=e.disabled?.reason??"";return jsx("div",{className:r,style:{...o.offstate,...t},children:a.length>0?jsx("p",{style:o.offstateText,children:a}):null})}i(wl,"OffState");function Il(e){let{color:t,space:r,radius:n,type:o}=e;return {offstate:{boxSizing:"border-box",minHeight:ug,display:"flex",flexDirection:"column",justifyContent:"center",padding:`${r.md}px ${r.lg}px`,backgroundColor:t.surfaceCream,borderRadius:n.md,border:`1px solid ${t.brandBorder}`},offstateText:{margin:0,...k(e,"regular"),fontSize:o.size.body,lineHeight:`${Math.round(o.size.body*o.lineHeight.normal)}px`,color:t.text.muted},skeletonBar:{height:r.md,borderRadius:n.xs,backgroundColor:t.brandSofter}}}i(Il,"makeStyles");var b=Object.freeze({placeholder:"Message",send:"Send",stop:"Stop",retry:"Try again",followUps:"Follow up questions",poweredBy:"powered by everfur",senderUser:"You",senderAssistant:"Assistant",typing:"Assistant is typing",loading:"Loading",empty:"No messages yet",transcript:"Conversation",emptyTitle:"What can we help {petName} with today?",emptyTitlePetFallback:"your pet",copied:"Copied",copyUserMessage:"Copy your message",copyAssistantMessage:"Copy assistant message",feedbackHelpful:"Helpful",feedbackNeutral:"Neutral",feedbackNotHelpful:"Not helpful",feedbackTitle:"What went wrong?",feedbackSubtitle:"Your feedback helps make answers more reliable.",feedbackReasonInaccurate:"Inaccurate",feedbackReasonOutdated:"Out of date",feedbackReasonUnsafe:"Unsafe advice",feedbackReasonUnclear:"Confusing or unclear",feedbackReasonOther:"Something else",feedbackNotesPlaceholder:"Add details (optional)",feedbackSubmit:"Submit feedback",feedbackSkip:"Skip",feedbackSkipA11y:"Skip feedback",feedbackThanks:"Thanks for the feedback",feedbackFailed:"Couldn't send feedback. Please try again.",turnFailedTitle:"Message failed",turnRetry:"Retry",turnUnreachableTitle:"Couldn't reach this chat",turnStartNewChat:"Start a new chat",reconnecting:"Reconnecting\u2026",turnStoppedTitle:"Response stopped",turnStoppedBody:"You stopped this response before it finished. Tap retry to try again.",sourceSingular:"source",sourcePlural:"sources",showSources:"Show",hideSources:"Hide",openSource:"Open source",urgencyGeneralReason:"Just general info about {petName}. Nothing here needs action right now.",findVet:"Find a vet",findVetA11y:"Find a vet near you",showLatestVetAlert:"Show latest vet alert",dismissBanner:"Dismiss {label} banner",openMenu:"Open menu",openMenuUnread:"Open menu, unread chats",yourPets:"Your Pets",yourPet:"Your pet",switchActivePet:"Switch active pet, {name}",petCurrentlyActive:"{name}, currently active",switchToPet:"Switch to {name}",activePrefix:"Active \xB7 ",close:"Close",addAnotherPet:"Add another pet",addPet:"Add a pet",attachmentPhoto:"Photo",attachmentCamera:"Camera",closeAttachmentPicker:"Close attachment picker",addAttachment:"Add attachment, {used} of {total} used",attachmentsFull:"Attachments full, {used} of {total} used",retryUpload:"Retry uploading {filename}",removeAttachment:"Remove {filename}",previewAttachment:"Preview {filename}",closePreview:"Close preview",attachedImage:"Attached image: {filename}, opens a full-screen preview",attachmentTooLarge:"Files must be under {max}. {filename} is {size}.",attachmentTooMany:"You can attach up to {max} files per message.",attachmentUnsupported:"{filename} isn't a supported file type yet.",attachmentNetwork:"Couldn't reach the server. Check your connection and try again.",attachmentServer:"Upload failed{status}. Please try again.",attachmentCancelled:"Upload cancelled.",attachmentRateLimited:"Slow down. Please wait a moment and try again.",attachmentQuota:"Daily image limit reached. Try again tomorrow.",attachmentConflict:"Something went wrong. Tap to retry.",attachmentUnknown:"Something went wrong. Please try again.",attachmentsFailedBlocked:"Some attachments failed to upload. Remove or retry them before sending.",dictate:"Dictate a message",stopDictation:"Stop dictation",listening:"Listening",micBlocked:"Microphone access is blocked. Allow it in your browser settings to dictate.",noSpeech:"We didn't catch that. Tap the mic and try again.",dictationUnavailable:"Voice typing isn't available right now."});function $(e,t){return e.replace(/\{(\w+)\}/g,(r,n)=>{let o=t[n];return o===void 0?r:String(o)})}i($,"fillCopy");var _o=Object.freeze([Object.freeze({key:"inaccurate",label:b.feedbackReasonInaccurate,feedbackType:"wrong"}),Object.freeze({key:"outdated",label:b.feedbackReasonOutdated,feedbackType:"outdated"}),Object.freeze({key:"unsafe",label:b.feedbackReasonUnsafe,feedbackType:"dangerous"}),Object.freeze({key:"unclear",label:b.feedbackReasonUnclear,feedbackType:"unclear"}),Object.freeze({key:"other",label:b.feedbackReasonOther,feedbackType:"not_helpful"})]),Al=Object.freeze([Object.freeze({sentiment:"up",label:b.feedbackHelpful}),Object.freeze({sentiment:"neutral",label:b.feedbackNeutral}),Object.freeze({sentiment:"down",label:b.feedbackNotHelpful})]);function cg(e){switch(e){case "up":return "helpful";case "neutral":return "neutral";case "down":return "not_helpful"}}i(cg,"sentimentToFeedbackType");function Ol(e,t){if(e==="down"&&t!==null){let r=_o.find(n=>n.key===t);if(r!==void 0)return r.feedbackType}return cg(e)}i(Ol,"feedbackTypeFor");var yg=Object.freeze({status:"idle",messages:Object.freeze([]),conversationId:null,error:null,isStreaming:false,isBootstrapping:true,suggestedPrompts:Object.freeze([]),unreadCount:null});function tr(e){let{runtime:t,userRef:r,activePet:n,scopeEpoch:o}=Y(),a=e?.petRef??n??null,s=e?.conversationId??null,l=useMemo(()=>({runtime:t,userRef:r,petRef:a,conversationId:s,scopeEpoch:o}),[t,r,a,s,o]),[u,c]=useState(null),d=u?.scope===l?u.controller:t.registry.peekChat({userRef:r,petRef:a,conversationId:s}),p=useRef(null);useEffect(()=>{let v=t.registry.acquireChat({userRef:r,petRef:a,conversationId:s});return p.current=v,c({scope:l,controller:v}),()=>{p.current=null,c(T=>T?.controller===v?null:T),t.registry.releaseChat(v);}},[t,r,a,s,o,l]);let f=useCallback(v=>d?d.subscribe(v):gg,[d]),y=useCallback(()=>d?d.getSnapshot():yg,[d]),m=useSyncExternalStore(f,y,y),R=useCallback((v,T)=>d&&p.current===d&&!d.getSnapshot().isBootstrapping?Io(d,d.send(v,T?.imageS3Keys===void 0?{}:{imageS3Keys:T.imageS3Keys}),()=>p.current===d):Promise.resolve(Ao()),[d]),g=useCallback(v=>d&&p.current===d&&!d.getSnapshot().isBootstrapping?Io(d,d.askEverfur(v),()=>p.current===d):Promise.resolve(Ao()),[d]),C=useCallback(()=>d&&p.current===d?Io(d,d.retryLast(),()=>p.current===d):Promise.resolve(Ao()),[d]),P=useCallback(()=>{d&&p.current===d&&d.stop();},[d]),I=useCallback(()=>{d&&p.current===d&&d.adoptConversation(null);},[d]),[_,h]=useState({controller:null,byMessage:{}}),x=_.controller===d?_.byMessage:hg,A=useCallback(async(v,T,S,O)=>{if(!d||p.current!==d)return E(D("accessDenied"));let z=String(v),V=_.controller===d?_.byMessage[z]:void 0;if(V===T&&S==null)return h(Q=>{let B={...Q.controller===d?Q.byMessage:{}};return delete B[z],{controller:d,byMessage:B}}),F(Object.freeze({feedbackId:""}));h(Q=>({controller:d,byMessage:{...Q.controller===d?Q.byMessage:{},[z]:T}}));let K=await d.submitFeedback(v,Ol(T,S??null),O??null);return p.current!==d?E(D("accessDenied")):(K.ok||h(Q=>{let B={...Q.controller===d?Q.byMessage:{}};return V===void 0?delete B[z]:B[z]=V,{controller:d,byMessage:B}}),K)},[d,_]),M=useMemo(()=>{let v=i(async T=>{if(!d||p.current!==d)return E(D("accessDenied"));let S=await T(d);return p.current===d?S:E(D("accessDenied"))},"run");return {listConversations:i(T=>v(S=>S.listConversations({...a?{petRef:a}:{},...T})),"listConversations"),getMessages:i((T,S)=>v(O=>O.getMessages(T,S)),"getMessages"),resumeConversation:i(T=>v(S=>S.resumeConversation(T)),"resumeConversation"),loadOlderMessages:i(()=>v(T=>T.loadOlderMessages()),"loadOlderMessages"),markRead:i(()=>v(T=>T.markRead()),"markRead"),refreshActiveThread:i(()=>v(T=>T.refreshActiveThread()),"refreshActiveThread"),answerCheckin:i((T,S)=>v(O=>O.answerCheckin(T,S)),"answerCheckin"),openCheckin:i(T=>v(S=>S.openCheckin(T)),"openCheckin")}},[d,a]);return useMemo(()=>({status:m.status,messages:m.messages,conversationId:m.conversationId,petRef:a,error:m.error,isStreaming:m.isStreaming,isBootstrapping:m.isBootstrapping,historyCursor:m.historyCursor??null,isLoadingHistory:m.isLoadingHistory??false,stopped:m.stopped??false,reconnecting:m.reconnecting??false,...M,suggestedPrompts:m.suggestedPrompts,unreadCount:m.unreadCount,hasUnreadThreads:m.hasUnreadThreads??false,newConversation:I,sentimentByMessage:x,feedback:A,send:R,askEverfur:g,retryLast:C,stop:P}),[m,a,R,g,C,P,M,I,x,A])}i(tr,"useEverfurChat");var gg=i(()=>{},"NOOP_UNSUBSCRIBE"),hg=Object.freeze({});async function Io(e,t,r){for await(let o of t);if(!r())return E(D("accessDenied"));let n=e.getSnapshot();return n.status==="error"&&n.error!==null?E(n.error):F(bg(n.messages))}i(Io,"driveToResult");function bg(e){for(let t=e.length-1;t>=0;t-=1){let r=e[t];if(r&&r.role==="assistant"&&r.responseId!==void 0)return r.responseId}return null}i(bg,"lastAssistantResponseId");function Ao(){return E(D("internalError",{retryable:true}))}i(Ao,"notReadyError");function vg(e,t){if(e===void 0)return {};let r={};return e.backgroundColor!==void 0&&(r.backgroundColor=e.backgroundColor),e.borderColor!==void 0&&(r.borderColor=e.borderColor,r.borderWidth=t??1),e.borderRadius!==void 0&&(r.borderRadius=e.borderRadius),r}i(vg,"slotBox");function Ml(e){return e===void 0||e.backgroundColor!==void 0?e:e.borderRadius===void 0?void 0:{borderRadius:e.borderRadius}}i(Ml,"ownGroundSlot");function Re(e){return e?.textColor===void 0?{}:{color:e.textColor}}i(Re,"slotText");function Se(e,t){let r=vg(e,t),n={};return r.backgroundColor!==void 0&&(n.backgroundColor=r.backgroundColor),r.borderColor!==void 0&&(n.border=`${r.borderWidth??1}px solid ${r.borderColor}`),r.borderRadius!==void 0&&(n.borderRadius=r.borderRadius),n}i(Se,"slotBoxCss");function Ll(e){switch(e.code){case "too_large":return $(b.attachmentTooLarge,{max:Xn(_r),filename:e.filename,size:Xn(e.sizeBytes??0)});case "too_many":return $(b.attachmentTooMany,{max:wr});case "unsupported_type":return $(b.attachmentUnsupported,{filename:e.filename});case "network":return b.attachmentNetwork;case "server":return $(b.attachmentServer,{status:e.httpStatus?` (${e.httpStatus})`:""});case "cancelled":return b.attachmentCancelled;case "rate_limited":return b.attachmentRateLimited;case "quota_exceeded":return b.attachmentQuota;case "idempotency_conflict":return b.attachmentConflict;case "unknown":return b.attachmentUnknown}}i(Ll,"attachmentErrorMessage");function Nl(e,t){return $(e>=t?b.attachmentsFull:b.addAttachment,{used:e,total:t})}i(Nl,"attachControlLabel");var Sg=Object.freeze({attachments:Object.freeze([])});function qr(e={}){let{runtime:t,userRef:r,scopeEpoch:n}=Y(),o=e.maxPerMessage??wr,a=useMemo(()=>{if(e.queue)return e.queue;let{services:g}=t.registry;return qa({funnel:ke({auth:g.authFor(r),...g.errorPolicy?{errorPolicy:g.errorPolicy}:{}}),transport:e.transport??g.uploadTransport,maxPerMessage:o})},[t,r,n,o,e.queue,e.transport]);useEffect(()=>()=>{a!==e.queue&&a.dispose();},[a,e.queue]);let s=useSyncExternalStore(a.subscribe,a.getSnapshot,()=>Sg),[l,u]=useState(null),c=useCallback(g=>{let P=(Array.isArray(g)?g:[g]).map(_=>a.add(_)),I=P.find(_=>!_.ok);return I!==void 0&&!I.ok&&u(I.error),P},[a,u]),d=useCallback(g=>a.retry(g),[a]),p=useCallback(g=>a.remove(g),[a]),f=useCallback(()=>a.clear(),[a]),y=useCallback(()=>u(null),[u]),m=s.attachments.some(g=>g.status==="uploading"),R=s.attachments.some(g=>g.status==="failed");return useMemo(()=>({available:a.available,attachments:s.attachments,maxPerMessage:o,uploading:m,failed:R,blocked:m||R,s3Keys:s.attachments.flatMap(g=>g.status==="uploaded"&&g.s3Key!==null?[g.s3Key]:[]),rejected:l,add:c,retry:d,remove:p,clear:f,dismissRejected:y}),[a.available,s,o,m,R,l,c,d,p,f,y])}i(qr,"useChatAttachments");var kg="pet_not_registered";function Hl(e){return e!=null&&e.reasonCode===kg}i(Hl,"isPetNotRegistered");var Pg=Object.freeze({status:"idle",error:null,registered:null,retry:i(()=>{},"retry")});function Bl(e,t,r){let{runtime:n,userRef:o,scopeEpoch:a}=Y(),s=useCallback(()=>Qe(n.registry.services.authFor(o)),[n,o,a]),l=useMemo(()=>t===void 0?null:Fo(t),[t]),[u,c]=useState({key:null,status:"idle",error:null,registered:null}),d=useRef(0),p=useRef(r);p.current=r;let f=e===null||l===null?null:`${String(o)}|${a}|${e}|${l}`,y=useCallback(()=>{if(e===null||t===void 0||f===null)return;let R=++d.current;c({key:f,status:"registering",error:null,registered:null}),s().registerPet(e,t).then(g=>{R===d.current&&(g.ok?(c({key:f,status:"registered",error:null,registered:g.value}),p.current?.()):c({key:f,status:"failed",error:g.error,registered:null}));});},[s,e,f]);useEffect(()=>{if(f===null){d.current+=1;return}return y(),()=>{d.current+=1;}},[f,y]);let m=useCallback(()=>{u.status==="failed"&&y();},[u.status,y]);return useMemo(()=>f===null?Pg:u.key!==f?{status:"registering",error:null,registered:null,retry:m}:{status:u.status,error:u.error,registered:u.registered,retry:m},[f,u,m])}i(Bl,"useChatPetRegistration");function Fo(e){return e===null||typeof e!="object"?JSON.stringify(e)??"undefined":Array.isArray(e)?`[${e.map(Fo).join(",")}]`:`{${Object.entries(e).filter(([,r])=>r!==void 0).sort(([r],[n])=>r<n?-1:r>n?1:0).map(([r,n])=>`${JSON.stringify(r)}:${Fo(n)}`).join(",")}}`}i(Fo,"stableKey");var wg=500;function Mo(e){if(!e)return null;let t=e.replace(/[\u0000-\u001F\u007F-\u009F\u200E\u200F\u202A-\u202E\u2066-\u2069\uFEFF]/g," ").replace(/\s+/g," ").trim();return t?t.slice(0,wg):null}i(Mo,"sanitizeSeedPrompt");function Vl(e,t,r){let n=Mo(r),o=useRef(e);o.current=e;let a=useRef(null);useEffect(()=>{if(n===null||t||a.current===n)return;let s=o.current;s!==void 0&&(a.current=n,Promise.resolve(s(n)).catch(()=>{}));},[n,t]);}i(Vl,"useInitialAsk");function Ig(e,t,r){if(e==="announced")return false;let n=r.lastRefresh;return n===null||n.conversationId!==t?false:r.now-n.at<15e3}i(Ig,"isCoalesced");function $l(e,t){let r=t.activeConversationId;return r===null||r.length===0?{action:"skip",reason:"no_thread"}:t.isTurnInFlight?{action:"defer",reason:"turn_in_flight"}:t.isOffline?{action:"defer",reason:"offline"}:Ig(e,r,t)?{action:"skip",reason:"coalesced"}:{action:"refresh",conversationId:r}}i($l,"decideChatRefresh");function Do(e){let t=globalThis.console;try{t?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}i(Do,"reportHostFailure");function Ag(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}i(Ag,"isThenable");function he(e,...t){if(typeof e=="function")try{let r=e(...t);return Ag(r)&&Promise.resolve(r).then(void 0,Do),r}catch(r){Do(r);return}}i(he,"callHost");function Wl(e,...t){let r;try{r=e(...t);}catch(n){return Do(n),Promise.resolve({ok:false,error:n})}return Promise.resolve(r).then(n=>({ok:true,value:n}),n=>({ok:false,error:n}))}i(Wl,"callHostAsync");function ql(e,t){let r=useRef(t);r.current=t;let n=useRef(null),o=useRef(null),a=e?.isOffline===void 0?false:he(()=>e.isOffline?.()===!0)===true,s=useRef(()=>{});s.current=l=>{let{conversationId:u,isTurnInFlight:c,refresh:d}=r.current,p=$l(l,{activeConversationId:u,isTurnInFlight:c,isOffline:a,lastRefresh:n.current,now:Date.now()});if(p.action!=="skip"){if(p.action==="defer"){o.current!=="announced"&&(o.current=l);return}o.current=null,n.current={conversationId:p.conversationId,at:Date.now()},d!==void 0&&Promise.resolve(d()).catch(()=>{});}},useEffect(()=>{if(t.isTurnInFlight||a)return;let l=o.current;l!==null&&s.current(l);},[t.isTurnInFlight,a]),useEffect(()=>{if(e===void 0)return;let l=[],u=i((c,d)=>{if(c===void 0)return;let p=he(()=>c(()=>{s.current(d);}));typeof p=="function"&&l.push(p);},"subscribe");return u(e.onForeground?.bind(e),"foreground"),u(e.onOnline?.bind(e),"foreground"),u(e.onAnnounced?.bind(e),"announced"),()=>{for(let c of l)he(c);}},[e]);}i(ql,"useChatLifecycle");function Fg(e){if(e===void 0)return null;let t=e.conversationId??"",r=e.petRef??"";return t===""&&r===""?null:`${String(t)}|${String(r)}`}i(Fg,"targetKey");function Yl(e,t){let r=Fg(t),n=useRef({openCheckin:e,target:t});n.current={openCheckin:e,target:t};let o=useRef(null);useEffect(()=>{if(r===null||o.current===r)return;o.current=r;let{openCheckin:a,target:s}=n.current;a===void 0||s===void 0||Promise.resolve(a(s)).catch(()=>{});},[r]);}i(Yl,"useCheckinTarget");function Zl(e,t,r){let[n,o]=useState({send:e,conversationId:t,text:r??"",seeded:r??null}),a=n.send===e&&(n.conversationId===null||n.conversationId===t);useEffect(()=>{o(l=>{let u=l.send===e&&(l.conversationId===null||l.conversationId===t),c=u?l.text:"",d=u?l.seeded:null,p=r!=null&&r!==d&&c.length===0;return {send:e,conversationId:t,text:p?r:c,seeded:p?r:d}});},[e,t,r]);let s=useCallback(l=>o(u=>({send:e,conversationId:t,text:l,seeded:u.seeded})),[e,t]);return [a?n.text:"",s]}i(Zl,"useChatDraft");function Jl(e,t,r,n){let o=useRef({draft:r,setDraft:n});o.current={draft:r,setDraft:n};let a=useRef(null),[s,l]=useState(null);useEffect(()=>{if(e===void 0)return;let u=`${t??""}`;if(a.current===u)return;a.current=u;let c=true;return (async()=>{let d=await Wl(()=>e.read(t));if(!c)return;let p=d.ok&&typeof d.value=="string"?d.value:"";p.length>0&&o.current.draft.length===0&&o.current.setDraft(p),l(u);})(),()=>{c=false;}},[e,t]),useEffect(()=>{e===void 0||s!==`${t??""}`||he(()=>e.write(t,r));},[e,t,r,s]);}i(Jl,"usePersistedDraft");var W=Object.freeze({heading:"Chat History",empty:"No chats yet",emptyBody:"Start a new conversation to see it here.",noMatch:"No matching chats",noMatchBody:"Try a different title or start a new conversation.",loading:"Loading your chats\u2026",loadFailed:"Couldn\u2019t load your chats",loadingMore:"Loading more\u2026",untitled:"New conversation",newConversation:"New conversation",search:"Search",retry:"Try again",retryA11y:"Retry loading chats",close:"Close",closeA11y:"Close history",more:"Load more",earlier:"Load earlier messages",loadingEarlier:"Loading earlier messages\u2026",openConversation:"Open conversation",unreadPrefix:"Unread. "});function Yr(e){let t=e?.replace(/\s+/g," ").trim();return t||W.untitled}i(Yr,"conversationTitle");function tu(e){return `${e.unreadCount!==null&&e.unreadCount>0?W.unreadPrefix:""}${W.openConversation} ${Yr(e.title)}`}i(tu,"openConversationLabel");function eu(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\u2018\u2019]/g,"'").replace(/[\u201c\u201d]/g,'"').toLowerCase().trim().replace(/\s+/g," ")}i(eu,"normalizeForSearch");function Ug(e,t){let r=eu(t);if(r.length===0)return e;let n=[[],[],[]];for(let o of e){let a=eu(Yr(o.title)),s=a.indexOf(r);if(s<0)continue;let l=s===0?0:a.charAt(s-1)===" "?1:2;n[l]?.push(o);}return n.flat()}i(Ug,"filterConversations");function zo(e){return {scope:e,rows:[],cursor:null,loading:false,loadingMore:false,error:null}}i(zo,"fresh");function ru(e){let[t,r]=useState(false),[n,o]=useState(""),a=e.listConversations,s=useRef(0),[l,u]=useState(()=>zo(a)),c=l.scope===a?l:zo(a);useEffect(()=>(s.current+=1,r(false),o(""),u(zo(a)),()=>{s.current+=1;}),[a]);let d=useCallback(async I=>{let _=++s.current,h=I!==void 0;u(A=>({...A,scope:a,loading:!h,loadingMore:h,error:null}));let x=await e.listConversations(I?{cursor:I}:void 0);if(_===s.current){if(!x.ok){u(A=>({...A,loading:false,loadingMore:false,error:x.error.displayMessage}));return}u(A=>{let M=I&&A.scope===a?A.rows:[],v=new Set(M.map(T=>T.id));return {scope:a,loading:false,loadingMore:false,error:null,rows:[...M,...x.value.conversations.filter(T=>!v.has(T.id))],cursor:x.value.nextCursor===I?null:x.value.nextCursor}});}},[e.listConversations,a]),p=i(()=>{r(true),o(""),d();},"show"),f=i(()=>{s.current+=1,r(false);},"close"),y=i(async I=>{let _=++s.current;u(x=>({...x,loading:true,error:null}));let h=await e.resumeConversation(I);_===s.current&&(u(x=>({...x,loading:false,error:h.ok?null:h.error.displayMessage})),h.ok&&r(false));},"resume"),m=i(async()=>{let I=s.current,_=await e.loadOlderMessages();I===s.current&&!_.ok&&u(h=>({...h,error:_.error.displayMessage}));},"earlier"),R=i(()=>{e.newConversation(),s.current+=1,r(false);},"newConversation"),g=i(()=>{c.cursor===null||c.loading||c.loadingMore||n.trim().length>0||d(c.cursor);},"loadMore"),C=useMemo(()=>Ug(c.rows,n),[c.rows,n]),P=n.trim().length>0;return {...c,open:t,show:p,close:f,load:d,resume:y,earlier:m,newConversation:R,loadMore:g,query:n,setQuery:o,searching:P,filtered:C,emptyKind:c.rows.length===0?"empty":"noMatch"}}i(ru,"useHistoryPanel");var Xr="#111111",Qr="#FFFFFF",jg=Object.freeze({emergency:Object.freeze({level:"emergency",label:"Vet care now",borderColor:"#FCA5A5",backgroundColor:"#FEF2F2",textColor:"#991B1B",reasonColor:Xr,pillColor:Qr,showsVetAction:true}),schedule_soon:Object.freeze({level:"schedule_soon",label:"Vet care suggested soon",borderColor:"#FCD34D",backgroundColor:"#FFFBEB",textColor:"#92400E",reasonColor:Xr,pillColor:Qr,showsVetAction:true}),home_care:Object.freeze({level:"home_care",label:"Monitor at home",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:Xr,pillColor:Qr,showsVetAction:false}),general:Object.freeze({level:"general",label:"Good to know",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:Xr,pillColor:Qr,showsVetAction:false})});function Vg(e){return `${e.messageId}:${e.level}:${e.reason??""}`}i(Vg,"urgencySignature");function $g(e){return $(b.urgencyGeneralReason,{petName:e?.trim()||b.emptyTitlePetFallback})}i($g,"generalUrgencyReason");function iu(e,t){for(let r=e.length-1;r>=0;r-=1){let n=e[r];if(n?.role!=="assistant"||n.responseId===void 0)continue;let o=n.urgencyLevel;return o?{messageId:n.id,level:o,reason:n.urgencyReason??null}:n.urgencyProvided===true?{messageId:n.id,level:"general",reason:$g(t)}:null}return null}i(iu,"latestUrgencySource");function au(e){let t=e===null?null:Vg(e),[r,n]=useState(null),[o,a]=useState(false);useEffect(()=>a(false),[t]);let l=e!==null&&(o||!(r!==null&&r===t)),u=e===null?null:jg[e.level],c=e!==null&&!l&&e.level!=="general",d=useCallback(()=>{t!==null&&n(t),a(false);},[t]),p=useCallback(()=>a(true),[]);return useMemo(()=>({source:e,tier:u,signature:t,showBanner:l,showCompactIcon:c,showVetAction:l&&u!==null&&u.showsVetAction,dismissLabel:u===null?null:$(b.dismissBanner,{label:u.label}),dismiss:d,expand:p}),[e,u,t,l,c,d,p])}i(au,"useUrgencySurface");function su(e){return e.isBootstrapping?"loading":e.status==="error"&&e.error&&e.messages.length===0?"error":e.messages.length===0?"empty":"populated"}i(su,"selectView");function Wg(e){return e.code==="accessDenied"||e.code==="conversationNotFound"}i(Wg,"needsNewConversation");function lu(e){if(e.messages.length===0)return null;let t=e.status==="error"?e.error:null;if(t!==null){let r=Wg(t);return {tone:"error",title:r?b.turnUnreachableTitle:b.turnFailedTitle,body:t.displayMessage,actionLabel:r?b.turnStartNewChat:b.turnRetry,action:r?"startNew":"retry"}}return e.stopped===true?{tone:"neutral",title:b.turnStoppedTitle,body:b.turnStoppedBody,actionLabel:b.turnRetry,action:"retry"}:null}i(lu,"turnNotice");function Uo(e,t){let r=e[e.length-1];return t&&(r===void 0||r.role==="user")}i(Uo,"awaitingAssistant");function uu(e,t){let r={};return e!==void 0&&(r.petRef=e),t!==void 0&&(r.conversationId=t),r}i(uu,"buildChatOpts");function Zr(){let{runtime:e,userRef:t,activePet:r,scopeEpoch:n}=Y(),o=useMemo(()=>Qe(e.registry.services.authFor(t)),[e,t,n]),[a,s]=useState({repository:o,pets:[],loading:true,error:null}),l=a.repository===o?a:{pets:[],loading:true,error:null},u=useRef(0),c=useCallback(async()=>{let p=++u.current;s(y=>({...y,repository:o,loading:true,error:null,pets:y.repository===o?y.pets:[]}));let f=await o.list();p===u.current&&s(f.ok?{repository:o,pets:f.value,loading:false,error:null}:y=>({repository:o,pets:y.repository===o?y.pets:[],loading:false,error:f.error}));},[o]);useEffect(()=>(c(),()=>{u.current+=1;}),[c]);let d=useMemo(()=>r===null?null:l.pets.find(p=>p.petRef===r)??null,[r,l.pets]);return useMemo(()=>({pets:l.pets,activePet:d,loading:l.loading,error:l.error,refresh:c}),[l.pets,l.loading,l.error,d,c])}i(Zr,"useEverfurPets");function du(e,t){if(t!==null){let r=e.find(n=>n.petRef===t);if(r!==void 0)return r}return e[0]??null}i(du,"headerPetOf");var xt=Object.freeze({position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0});var Bo=Object.freeze({title:"For educational use only",body:"Everfur is for educational purposes only. It helps you track visible changes through AI checkups. It does not diagnose, treat, prescribe, or replace veterinary care. For urgent symptoms or emergencies, contact a veterinarian immediately."});function pu(e){let t=N(),r=useMemo(()=>Qg(t),[t]);return jsxs("div",{role:"note",className:e.className,style:{...r.container,...e.style},children:[jsx("p",{style:r.title,children:Bo.title}),jsx("p",{style:r.body,children:Bo.body})]})}i(pu,"ClinicalDisclaimer");function Qg(e){let{color:t,space:r,type:n}=e,o=`${Math.round(n.size.caption*n.lineHeight.snug)}px`;return {container:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:r.xs,padding:`${r.md}px ${r.lg}px`,borderTop:`1px solid ${t.borderHairlineGreen}`,backgroundColor:t.surfaceCream},title:{margin:0,...k(e,"bold"),fontSize:n.size.caption,lineHeight:o,color:t.text.secondary,letterSpacing:n.letterSpacing.eyebrow},body:{margin:0,...k(e,"regular"),fontSize:n.size.caption,lineHeight:o,color:t.text.muted}}}i(Qg,"makeStyles");function fu(e,t){let r={entry:"chat",petRef:e};return t?.returnTo!==void 0&&(r.returnTo=t.returnTo),t?.usState!==void 0&&(r.usState=t.usState),r}i(fu,"chatVetVisitOptions");var jo=Object.freeze(["visit","join","summary","messages"]);function Vo(e){return typeof e=="string"&&jo.includes(e)}i(Vo,"isVetVisitIntent");var Jg="/widget/v1/televet/handoffs",eh="/widget/v1/televet/availability",th="/widget/v1/televet/chat-entry",rh=/^[a-z0-9][a-z0-9_-]{0,39}$/,nh=/^[A-Za-z0-9_-]{22}$/;var mu=32,yu=128,gu=64;function Wo(e){let t=e.httpStatus;switch(e.code){case "sessionRequired":return "sessionRequired";case "authExpired":case "authRejected":return "authRejected";case "sdkUpdateRequired":return "sdkUpdateRequired";case "validationFailed":return "invalidRequest";case "rateLimited":case "quotaExceeded":return "rateLimited";}return t===void 0?e.code==="internalError"?"network":"unknown":t===429?"rateLimited":t===404?"unavailable":t===403?"accessDenied":t===401?"authRejected":t===400||t===422?"invalidRequest":t>=500?"serverError":"unknown"}i(Wo,"vetVisitErrorReasonOf");function hu(e){return E(D("validationFailed",{retryable:false,wireMessage:e}))}i(hu,"invalid");function $o(e){return E(D("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}i($o,"unusable");function oh(e,t){let r={};e!==void 0&&(r.pet_ref=e);let n=t?.returnTo;if(n!=null){if(typeof n!="string"||!rh.test(n))return {ok:false,message:"returnTo must be a registered return destination key"};r.return_to=n;}let o=t?.entry;if(o!=null){if(o!=="chat"||e===void 0)return {ok:false,message:"entry 'chat' needs the pet the chat is about"};r.entry=o;}let a=t?.visitRef,s=t?.intent,l=a!=null;if(l){let u=typeof a=="string"?a.trim():"";if(u.length<1||[...u].length>gu)return {ok:false,message:`visitRef must be 1..${gu} characters`};r.visit_ref=u;}if(s!=null){if(!l)return {ok:false,message:"intent needs the visitRef it opens"};if(!Vo(s))return {ok:false,message:`intent must be one of ${jo.join(", ")}`};r.intent=s;}return {ok:true,body:r}}i(oh,"handoffBody");function ih(e){if(typeof e!="object"||e===null)return null;let{visit_ref:t,intent:r}=e;return typeof t!="string"||t.length===0||!Vo(r)?null:Object.freeze({visitRef:t,intent:r})}i(ih,"parseVisitEcho");function vu(e){let t=e.funnel??ke({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),r=e.telemetry,n=i(o=>(bu(r,"televet.visit.handoff_failed",{reason:Wo(o)}),E(o)),"failed");return {async createHandoff(o,a){let s;if(o!=null){let g=typeof o=="string"?[...o].length:0;if(g<1||g>yu)return n(D("validationFailed",{retryable:false,wireMessage:`pet_ref must be 1..${yu} characters`}));s=o;}let l=oh(s,a);if(!l.ok){let g=hu(l.message);return g.ok?g:n(g.error)}let u=l.body,c=await t.send("televet.visit.handoff",{method:"POST",path:Jg,body:u},{idempotent:false,maxAttempts:1});if(!c.ok)return n(c.error);let d=ah(c.value),p=u.return_to!==void 0,f=p?c.value?.flow_id:void 0;if(p&&(typeof f!="string"||!nh.test(f))){let g=$o("the handoff response carried no usable return flow id");return g.ok?g:n(g.error)}let y=u.visit_ref!==void 0,m=y?ih(c.value?.visit):null;if(y&&m===null){let g=$o("the handoff response did not confirm the visit it opens");return g.ok?g:n(g.error)}let R=d===null?null:Object.freeze({...d,...p?{flowId:f}:{},...m!==null?{visit:m}:{}});return R===null?n(D("internalError",{retryable:false,httpStatus:502,wireMessage:"the handoff response carried no usable visit url"})):(bu(r,"televet.visit.handoff_created",{pet_scoped:u.pet_ref!==void 0}),F(R))},async checkAvailability(o){if(typeof o!="string"||o.length>mu)return hu(`state must be at most ${mu} characters`);let a=await t.send("televet.visit.availability",{method:"POST",path:eh,body:{state:o}},{idempotent:false,maxAttempts:1});if(!a.ok)return E(a.error);let s=a.value?.available;return typeof s!="boolean"?$o("the availability response carried no usable answer"):F(Object.freeze({available:s}))},async chatEntryOpen(){try{let o=await t.send("televet.visit.chat_entry",{method:"GET",path:th},{maxAttempts:1});return o.ok&&o.value?.open===!0}catch{return false}}}}i(vu,"createVetVisitController");function ah(e){if(typeof e!="object"||e===null)return null;let{url:t,expires_at:r}=e;return typeof t!="string"||typeof r!="string"||r.length===0||!dh(t)?null:Object.freeze({url:t,expiresAt:r})}i(ah,"parseHandoff");var sh=new Set(["localhost","127.0.0.1","[::1]"]),lh=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/,uh=/[\s\u0000-\u001f\u007f]/;function dh(e){if(uh.test(e))return false;let t=lh.exec(e);if(t===null)return false;let r=(t[1]??"").toLowerCase(),n=t[2]??"";if(n.length===0||n.includes("@"))return false;let o=n.replace(/:\d+$/,"").toLowerCase(),a=r==="https",s=r==="http"&&sh.has(o);if(!a&&!s)return false;let l=e.indexOf("#");if(l<0)return false;let u=e.slice(l);return u.startsWith("#h=")&&u.length>3}i(dh,"isOpenableVisitUrl");function bu(e,t,r){if(e)try{e.track(t,r);}catch{}}i(bu,"safeTrack");var Cu=Object.freeze({status:"idle",error:null,errorReason:null});function ph(e,t,r){let{usState:n,chat:o,scope:a}=r,s=t&&(n!==null||o),l=`${n??""}|${o?"chat":""}`,[u,c]=useState(null);if(useEffect(()=>{if(!s)return;let p=true,f=e.current;return c(null),i(async()=>{try{if(o&&!(f.chatEntryOpen&&await f.chatEntryOpen()))return !1;if(n===null)return !0;if(!f.checkAvailability)return !1;let m=await f.checkAvailability(n);return m.ok&&m.value.available}catch{return false}},"ask")().then(m=>{p&&c({key:l,open:m});}),()=>{p=false;}},[s,l,n,o,a,e]),!s)return null;let d=u!==null&&u.key===l;return {open:d&&u.open,pending:!d}}i(ph,"usePreflight");var fh=Object.freeze({status:"opening",error:null,errorReason:null});function Su(e,t={}){let{runtime:r,userRef:n,scopeEpoch:o}=Y(),a=St("televet"),s=a.enabled&&n!==null,l=t.usState??null,u=t.entry==="chat",c=t.petRef??null,d=useMemo(()=>{if(t.controller)return t.controller;let{services:v}=r.registry;return vu({auth:v.authFor(n),telemetry:v.telemetry,...v.errorPolicy?{errorPolicy:v.errorPolicy}:{}})},[r,n,o,t.controller]),p=useRef(d);p.current=d;let f=useMemo(()=>({runtime:r,userRef:n,scopeEpoch:o}),[r,n,o]),y=ph(p,s,{usState:l,chat:u,scope:f}),m=s&&(y===null||y.open)&&(!u||c!==null),R=t.returnTo??null,[g,C]=useState(Cu),P=useRef(null),I=useRef({runtime:r,userRef:n,scopeEpoch:o});I.current={runtime:r,userRef:n,scopeEpoch:o};let _=useRef(d);_.current=d;let h=useRef(m);h.current=m;let x=useCallback((v,T)=>{if(P.current)return P.current;let S=i((B,le)=>(C({status:B==="cancelled"?"idle":"error",error:le,errorReason:B==="cancelled"?null:B}),Object.freeze({opened:false,reason:B,error:le})),"fail");if(!h.current)return Promise.resolve(S("unavailable",null));let O=e.prepare();if(!O.ok)return Promise.resolve(S(O.reason,null));let z=I.current,V=_.current;C(fh);let Q=(async()=>{let B,le={...R!==null?{returnTo:R}:{},...u?{entry:"chat"}:{},...T!==null?{visitRef:T.visitRef}:{},...T!==null&&T.intent!==null&&T.intent!==void 0?{intent:T.intent}:{}},Ie=Object.keys(le).length===0?void 0:le,Ae=v===void 0?c:v;try{B=await(Ie===void 0?V.createHandoff(Ae):V.createHandoff(Ae,Ie));}catch{return e.abandon(O.value),S("unknown",null)}let Oe=I.current;if(Oe.runtime!==z.runtime||Oe.userRef!==z.userRef||Oe.scopeEpoch!==z.scopeEpoch)return e.abandon(O.value),S("cancelled",null);if(!B.ok)return e.abandon(O.value),S(Wo(B.error),B.error);let nt=await e.finish(O.value,B.value);return nt!==null?S(nt,null):(C(Cu),Object.freeze(B.value.flowId===void 0?{opened:true}:{opened:true,flowId:B.value.flowId}))})().finally(()=>{P.current===Q&&(P.current=null);});return P.current=Q,Q},[e,c,R,u]),A=useCallback(v=>x(v,null),[x]),M=useCallback((v,T)=>x(void 0,{visitRef:v,intent:T??null}),[x]);return {available:m,isPending:a.isPending||(y?.pending??false),status:g.status,error:g.error,errorReason:g.errorReason,open:A,openVisit:M}}i(Su,"useVetVisitWith");function xu(e){try{e.closed||e.close();}catch{}}i(xu,"closeQuietly");var mh=Object.freeze({prepare(){let e=null;try{e=typeof window>"u"?null:window.open("about:blank","_blank");}catch{e=null;}if(e===null)return {ok:false,reason:"popupBlocked"};try{e.opener=null;}catch{}return {ok:true,value:{tab:e}}},async finish({tab:e},t){if(e.closed)return "cancelled";try{return e.location.replace(t.url),null}catch{return xu(e),"popupBlocked"}},abandon({tab:e}){xu(e);}});function Tu(e){return Su(mh,e)}i(Tu,"useVetVisit");var Pu='button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])';function _u(e){return e.tagName==="DIALOG"}i(_u,"isDialogElement");function We(e,t,r){let n=useRef(null),o=useRef(false),a=useRef(null),s=useRef(r);s.current=r;let l=useCallback(()=>{if(!o.current)return;o.current=false;let d=s.current===void 0?a.current:s.current.current;a.current=null,d&&d.isConnected&&d.focus();},[]);useEffect(()=>{if(!e){l();return}if(!o.current){let f=typeof document>"u"?null:document.activeElement;a.current=f instanceof HTMLElement?f:null;}o.current=true;let d=n.current;if(d===null)return;if(!_u(d)){d.contains(document.activeElement)||(d.querySelector(Pu)??d).focus();return}let p=d;typeof p.showModal=="function"?p.open||p.showModal():p.setAttribute("open","");},[e,l]),useEffect(()=>l,[l]);let u=useCallback(d=>{let p=n.current;if(p===null)return;if(d.key==="Escape"&&!_u(p)){d.preventDefault(),d.stopPropagation(),t();return}if(d.key!=="Tab")return;let f=Array.from(p.querySelectorAll(Pu)),y=f[0],m=f[f.length-1];if(!y||!m){d.preventDefault();return}let R=document.activeElement;d.shiftKey&&(R===y||!p.contains(R))?(d.preventDefault(),m.focus()):!d.shiftKey&&(R===m||!p.contains(R))&&(d.preventDefault(),y.focus());},[t]),c=useCallback(d=>{d.preventDefault(),t();},[t]);return {dialogRef:n,onKeyDown:u,onCancel:c}}i(We,"useModalDialog");var yh=Object.freeze({check:jsx("polyline",{points:"20 6 9 17 4 12"}),copy:jsxs(Fragment,{children:[jsx("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),jsx("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})]}),thumbsUp:jsxs(Fragment,{children:[jsx("path",{d:"M7 10v12"}),jsx("path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"})]}),thumbsDown:jsxs(Fragment,{children:[jsx("path",{d:"M17 14V2"}),jsx("path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"})]}),info:jsxs(Fragment,{children:[jsx("circle",{cx:"12",cy:"12",r:"10"}),jsx("path",{d:"M12 16v-4"}),jsx("path",{d:"M12 8h.01"})]}),x:jsxs(Fragment,{children:[jsx("path",{d:"M18 6 6 18"}),jsx("path",{d:"m6 6 12 12"})]}),mapPin:jsxs(Fragment,{children:[jsx("path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"}),jsx("circle",{cx:"12",cy:"10",r:"3"})]}),bookOpen:jsxs(Fragment,{children:[jsx("path",{d:"M12 7v14"}),jsx("path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"})]}),chevronDown:jsx("path",{d:"m6 9 6 6 6-6"}),arrowUpRight:jsxs(Fragment,{children:[jsx("path",{d:"M7 7h10v10"}),jsx("path",{d:"M7 17 17 7"})]}),upload:jsxs(Fragment,{children:[jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),jsx("polyline",{points:"17 8 12 3 7 8"}),jsx("line",{x1:"12",x2:"12",y1:"3",y2:"15"})]}),mic:jsxs(Fragment,{children:[jsx("path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"}),jsx("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),jsx("line",{x1:"12",x2:"12",y1:"19",y2:"22"})]}),square:jsx("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),search:jsxs(Fragment,{children:[jsx("circle",{cx:"11",cy:"11",r:"8"}),jsx("path",{d:"m21 21-4.3-4.3"})]}),squarePen:jsxs(Fragment,{children:[jsx("path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),jsx("path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"})]}),plus:jsxs(Fragment,{children:[jsx("path",{d:"M5 12h14"}),jsx("path",{d:"M12 5v14"})]}),send:jsx("path",{d:"M17.306 1.98864C17.7329 0.807956 16.5887 -0.336175 15.408 0.0916395L0.977949 5.31038C-0.206691 5.73918 -0.349954 7.35559 0.739836 7.98694L5.346 10.6536L9.45914 6.54047C9.64549 6.36049 9.89506 6.26091 10.1541 6.26316C10.4132 6.26541 10.661 6.36932 10.8442 6.55251C11.0274 6.73569 11.1313 6.9835 11.1335 7.24256C11.1358 7.50162 11.0362 7.75119 10.8562 7.93754L6.74307 12.0507L9.41073 16.6568C10.0411 17.7466 11.6575 17.6024 12.0863 16.4187L17.306 1.98864Z"})}),gh=Object.freeze({send:Object.freeze({viewBox:"0 0 17.3973 19.8995"})});function j({name:e,size:t,color:r,fill:n,strokeWidth:o,style:a}){let s=gh[e];return jsx("svg",{"aria-hidden":"true",focusable:"false",width:t,height:t,viewBox:s?.viewBox??"0 0 24 24",fill:s!==void 0?r:n??"none",stroke:s!==void 0?"none":r,strokeWidth:o??2,strokeLinecap:"round",strokeLinejoin:"round",style:{display:"block",flexShrink:0,...a},"data-glyph":e,children:yh[e]})}i(j,"Glyph");var Tt=44,en=36,bh=12,vh=16;function wu({image:e,onClose:t,returnFocusTo:r}){let n=N(),o=useMemo(()=>Eh(n),[n]),a=We(e!==null,t,r);return e===null?null:jsxs("dialog",{ref:a.dialogRef,"aria-label":$(b.previewAttachment,{filename:e.filename}),onCancel:a.onCancel,onKeyDown:a.onKeyDown,style:o.lightbox,children:[jsx("img",{src:e.uri,alt:e.filename,style:o.image}),jsx("button",{type:"button",onClick:t,"aria-label":b.closePreview,style:o.closeHit,children:jsx("span",{"aria-hidden":"true",style:o.closeDisc,children:jsx(j,{name:"x",size:18,color:"#FFFFFF"})})})]})}i(wu,"AttachmentImageLightbox");function Eh(e){let t=e.radius;return {lightbox:{boxSizing:"border-box",position:"fixed",top:0,right:0,bottom:0,left:0,margin:0,width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",padding:0,border:0,backgroundColor:"#000000",display:"flex",alignItems:"center",justifyContent:"center"},image:{display:"block",maxWidth:"100%",maxHeight:"100%",width:"auto",height:"auto",objectFit:"contain"},closeHit:{position:"absolute",top:bh-(Tt-en)/2,right:vh-(Tt-en)/2,boxSizing:"border-box",width:Tt,height:Tt,minWidth:Tt,minHeight:Tt,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},closeDisc:{boxSizing:"border-box",width:en,height:en,borderRadius:t.pill,backgroundColor:"rgba(0,0,0,0.45)",display:"inline-flex",alignItems:"center",justifyContent:"center"}}}i(Eh,"makeStyles");var Go=Object.freeze({standard:pt.standard,emphasized:pt.emphasized,exit:pt.exit,outQuad:Object.freeze([.25,.46,.45,.94])}),Yo=Xt,Iu=Object.freeze({layoutMs:220,messageInMs:200,bannerInMs:220,bannerOutMs:160,iconInMs:180,iconOutMs:120,followUpInMs:180,followUpStaggerMs:70,citationsInMs:220,citationsRisePx:6,drawerMs:220,pressScale:.97,pressMs:140,revealTickMs:24,revealDivisor:12,dotsCycleMs:520,dotsMinOpacity:.44,dotsLiftPx:3.5,dotsStagger:Object.freeze([0,.18,.36]),copiedMs:1500,uploadFlashMs:600,reduced:false}),Rh=Object.freeze({...Iu,layoutMs:0,messageInMs:0,bannerInMs:0,bannerOutMs:0,iconInMs:0,iconOutMs:0,followUpInMs:0,followUpStaggerMs:0,citationsInMs:0,citationsRisePx:0,drawerMs:0,pressScale:1,pressMs:0,revealTickMs:0,dotsCycleMs:0,dotsMinOpacity:1,dotsLiftPx:0,reduced:true});function Au(e){return e.motion.reducedMotion?Rh:Iu}i(Au,"chatMotion");function Ou(e,t){return Math.max(0,t)*e.followUpStaggerMs}i(Ou,"followUpDelayMs");function Fu(e,t,r){if(e.reduced||t>=r)return r;let n=Math.max(1,Math.ceil((r-t)/e.revealDivisor));return Math.min(r,t+n)}i(Fu,"nextRevealLength");function X(){let e=N();return useMemo(()=>Au(e),[e])}i(X,"useChatMotion");function kt(e){return e!==null&&typeof e.animate=="function"}i(kt,"canAnimate");function xe(e,t){if(!kt(e)||t.durationMs<=0)return null;let r=[t.fromTranslateX!==void 0?`translateX(${t.fromTranslateX})`:"",t.fromTranslateY!==void 0&&t.fromTranslateY!==0?`translateY(${t.fromTranslateY}px)`:""].filter(a=>a.length>0).join(" "),n={...t.fromOpacity!==void 0?{opacity:t.fromOpacity}:{},...r.length>0?{transform:r}:{}},o={...t.fromOpacity!==void 0?{opacity:1}:{},...r.length>0?{transform:"none"}:{}};try{return e.animate([n,o],{duration:t.durationMs,delay:t.delayMs??0,easing:Yo(Go.standard),fill:"backwards"})}catch{return null}}i(xe,"animateEnter");function Xo(e,t,r){if(!kt(e)||t<=0)return Promise.resolve();try{let n=e.animate([{opacity:1,transform:"none"},{opacity:0,...r!==void 0?{transform:`translateX(${r})`}:{}}],{duration:t,easing:Yo(Go.exit),fill:"forwards"});return new Promise(o=>{n.onfinish=()=>o(),n.oncancel=()=>o();})}catch{return Promise.resolve()}}i(Xo,"animateExit");function Qo(e,t){let[r,n]=useState(e),o=r&&!e;return useEffect(()=>{if(e){n(true);return}if(!r)return;if(t<=0){n(false);return}let a=setTimeout(()=>n(false),t);return ()=>clearTimeout(a)},[e,t,r]),{present:r,exiting:o}}i(Qo,"usePresence");function Lu(e,t,r){let[n,o]=useState(t&&!r.reduced?0:e.length),a=useRef({text:e,active:t});return a.current={text:e,active:t},useEffect(()=>{if(!t||r.reduced||r.revealTickMs<=0){o(a.current.text.length);return}let s=setInterval(()=>{o(l=>Fu(r,l,a.current.text.length));},r.revealTickMs);return ()=>clearInterval(s)},[t,r]),t&&!r.reduced?e.slice(0,Math.min(n,e.length)):e}i(Lu,"useRevealedText");function Nu(e){if(typeof window>"u"||typeof window.matchMedia!="function")return null;try{return window.matchMedia(e)??null}catch{return null}}i(Nu,"queryFor");var zu=768,Uu=`(min-width: ${zu}px)`;function kh(){let e=Nu(Uu);return e!==null?e.matches:typeof window<"u"&&typeof window.innerWidth=="number"&&window.innerWidth>=zu}i(kh,"readWide");function Ph(e){let t=Nu(Uu);return t!==null&&typeof t.addEventListener=="function"&&t.addEventListener("change",e),typeof window<"u"&&typeof window.addEventListener=="function"&&window.addEventListener("resize",e),()=>{t?.removeEventListener?.("change",e),typeof window<"u"&&typeof window.removeEventListener=="function"&&window.removeEventListener("resize",e);}}i(Ph,"subscribeWide");function Hu(){return useSyncExternalStore(Ph,kh,()=>false)}i(Hu,"useWideViewport");var Pt=44,_t=56,Bu=12,rn=22,ju=18,wh=2,Ih=900,Vu=220,Ah=14,$u=100,Oh=10,Fh=6,Mh="rgba(16,70,46,0.45)",Dh="rgba(7,193,104,0.55)",Lh="rgba(185,28,28,0.55)";function qu({attachments:e,onRetry:t,onRemove:r,onPreview:n}){let o=N(),a=useMemo(()=>Yu(o),[o]);return e.length===0?null:jsx("ul",{style:a.tray,children:e.map(s=>jsx("li",{style:a.cardSlot,children:jsx(Nh,{row:s,styles:a,theme:o,onRetry:t,onRemove:r,onPreview:n})},s.id))})}i(qu,"AttachmentTray");function Nh({row:e,styles:t,theme:r,onRetry:n,onRemove:o,onPreview:a}){let s=X(),l=useRef(null),[u,c]=useState(false),d=useRef(e.status==="uploading");useEffect(()=>{if(e.status==="uploaded"&&d.current){c(true);let f=setTimeout(()=>c(false),s.uploadFlashMs);return d.current=false,()=>clearTimeout(f)}d.current=e.status==="uploading";},[e.status,s.uploadFlashMs]);let p={uri:e.previewUri,filename:e.filename};return jsxs("div",{style:t.card,children:[jsx("button",{ref:l,type:"button","aria-label":$(b.previewAttachment,{filename:e.filename}),onClick:()=>a(p,l.current),style:t.previewButton,children:jsx("img",{src:e.previewUri,alt:"",style:t.thumb})}),e.status==="uploading"?jsx("div",{role:"status","aria-busy":"true","aria-label":$(b.previewAttachment,{filename:e.filename}),style:{...t.wash,backgroundColor:Mh},children:jsx(zh,{styles:t})}):null,e.status==="uploaded"&&u?jsx("div",{"aria-hidden":"true",style:{...t.wash,backgroundColor:Dh}}):null,e.status==="failed"?jsx("button",{type:"button","aria-label":$(b.retryUpload,{filename:e.filename}),onClick:()=>n(e.id),style:{...t.wash,...t.retry,backgroundColor:Lh},children:jsx(j,{name:"upload",size:18,color:"#FFFFFF"})}):null,jsx("button",{type:"button","aria-label":$(b.removeAttachment,{filename:e.filename}),onClick:()=>o(e.id),style:t.removeHit,children:jsx("span",{"aria-hidden":"true",style:t.removeDisc,children:jsx(j,{name:"x",size:12,color:r.color.surface,strokeWidth:2.5})})})]})}i(Nh,"TrayCard");function zh({styles:e}){let t=X(),r=useRef(null);return useEffect(()=>{let n=r.current;if(t.reduced||!kt(n))return;let o=n.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:Ih,iterations:1/0,easing:"linear"});return ()=>o.cancel()},[t.reduced]),jsx("span",{ref:r,"aria-hidden":"true",style:e.spinner})}i(zh,"Spinner");function Gu({images:e,onPreview:t}){let r=N(),n=useMemo(()=>Yu(r),[r]);if(e.length===0)return null;let o=e.length===1;return jsx("ul",{style:o?n.singleList:n.gridList,children:e.map((a,s)=>jsx("li",{children:jsx(Uh,{image:a,style:o?n.singleImage:n.gridImage,onPreview:t})},`${a.uri}-${s}`))})}i(Gu,"MessageAttachments");function Uh({image:e,style:t,onPreview:r}){let n=useRef(null);return jsx("button",{ref:n,type:"button","aria-label":$(b.attachedImage,{filename:e.filename}),onClick:()=>r(e,n.current),style:t,children:jsx("img",{src:e.uri,alt:"",style:{display:"block",width:"100%",height:"100%",objectFit:"cover"}})})}i(Uh,"ImageButton");function Yu(e){let t=e.color,r=e.space,n=e.radius,o={boxSizing:"border-box",display:"block",margin:0,padding:0,border:0,overflow:"hidden",cursor:"pointer",backgroundColor:t.surfaceSubtle};return {tray:{listStyle:"none",margin:`0 ${r.md}px`,padding:`${r.xs}px 0`,display:"flex",flexDirection:"row",flexWrap:"wrap",gap:r.sm},cardSlot:{flex:"0 0 auto"},card:{position:"relative",boxSizing:"border-box",width:_t,height:_t},previewButton:{...o,width:_t,height:_t,borderRadius:Bu,border:`1px solid ${t.brandBorder}`},thumb:{display:"block",width:"100%",height:"100%",objectFit:"cover"},wash:{position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:Bu,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},retry:{pointerEvents:"auto",margin:0,padding:0,border:0,cursor:"pointer",minWidth:_t,minHeight:_t},spinner:{boxSizing:"border-box",display:"block",width:ju,height:ju,borderRadius:n.pill,border:`${wh}px solid rgba(255,255,255,0.45)`,borderTopColor:"#FFFFFF"},removeHit:{position:"absolute",top:4-(Pt-rn)/2,right:4-(Pt-rn)/2,boxSizing:"border-box",width:Pt,height:Pt,minWidth:Pt,minHeight:Pt,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},removeDisc:{boxSizing:"border-box",width:rn,height:rn,borderRadius:n.pill,backgroundColor:"rgba(0,0,0,0.78)",border:`1.5px solid ${t.surface}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},singleList:{listStyle:"none",margin:`0 0 ${r.sm}px`,padding:0},gridList:{listStyle:"none",margin:`0 0 ${r.sm}px`,padding:0,display:"flex",flexWrap:"wrap",gap:Fh},singleImage:{...o,width:Vu,height:Vu,maxWidth:"100%",borderRadius:Ah},gridImage:{...o,width:$u,height:$u,borderRadius:Oh}}}i(Yu,"makeStyles");var Bh="file",jh="chat attachment upload: the file handle carries no bytes",Zo="chat attachment upload failed";function on(e={}){let t=e.fetch??((r,n)=>fetch(r,n));return Object.freeze({postMultipart(r,n,o){let a=n.blob;if(a===void 0)return Promise.reject(new Error(jh));if(o.signal?.aborted===true)return Promise.reject(new Error(Zo));let s=new FormData;for(let[l,u]of Object.entries(r.upload_fields))s.append(l,u);return s.append(Bh,a,"image"),t(r.upload_url,{method:"POST",body:s,mode:"cors",credentials:"omit",...o.signal?{signal:o.signal}:{}}).then(l=>{if(!(l.status>=200&&l.status<300))return Promise.reject(new Error(Zo));o.onProgress?.(1);},()=>Promise.reject(new Error(Zo)))}})}i(on,"createWebAttachmentTransport");function an(e){return Object.freeze({uri:URL.createObjectURL(e),mimeType:e.type,sizeBytes:e.size,name:e.name,blob:e})}i(an,"fileToAttachmentHandle");function Jo(e){return $t(e)==="cat"?"cat":"dog"}i(Jo,"speciesOf");function ei(e){return typeof e!="number"||!Number.isFinite(e)||e<0?null:Math.floor(e)}i(ei,"petAgeYears");function Qu(e){let t=ei(e.ageYears),r=Jo(e.species)==="cat"?"Cat":"Dog";if(t==null)return r;let n=t===1?"1 yr":`${t} yrs`;return `${r} \xB7 ${n}`}i(Qu,"formatPetMeta");var Xu=Object.freeze([Object.freeze({background:"#ffbdbd",foreground:"#6d1d14"}),Object.freeze({background:"#a0c4f6",foreground:"#0b3a73"}),Object.freeze({background:"#fbc558",foreground:"#10462e"}),Object.freeze({background:"#bde7c5",foreground:"#0e3b22"}),Object.freeze({background:"#dcc7f4",foreground:"#3a1d6a"}),Object.freeze({background:"#ffd8a8",foreground:"#5a2a04"})]);function Vh(e){let t=0;for(let r=0;r<e.length;r+=1)t=t*31+e.charCodeAt(r)>>>0;return Xu[t%Xu.length]}i(Vh,"pickInitialsPalette");function ti(e){let t=(e??"").trim();return (Array.from(t)[0]??"?").toUpperCase()}i(ti,"getInitial");function sn(e){return {...Vh(e.petRef),initial:ti(e.name)}}i(sn,"petInitials");var Zu=Object.freeze({visitButton:"Talk to a vet"});var ln=44,ri=44,un=48,Wh=18,Ju=22,Kh="80vh";function ed(e){let{open:t,pets:r,activePetRef:n,onClose:o,onSelect:a,onAddPet:s=null,returnFocusTo:l}=e,u=N(),c=useMemo(()=>qh(u),[u]),d=We(t,o,l);return t?jsxs("dialog",{ref:d.dialogRef,"aria-label":b.yourPets,onCancel:d.onCancel,onKeyDown:d.onKeyDown,style:c.sheet,children:[jsx("h2",{style:c.title,children:b.yourPets}),jsx("ul",{style:c.list,children:r.map(p=>{let f=p.petRef===n,y=p.name?.trim()||b.yourPet,m=sn(p);return jsx("li",{children:jsxs("button",{type:"button","aria-current":f?"true":void 0,"aria-label":$(f?b.petCurrentlyActive:b.switchToPet,{name:y}),onClick:()=>a(p.petRef),style:{...c.row,...f?c.rowActive:null},children:[jsx("span",{style:c.ring,children:jsx("span",{style:{...c.disc,backgroundColor:m.background,color:m.foreground},children:m.initial})}),jsxs("span",{style:c.text,children:[jsx("span",{style:c.name,children:y}),jsx("span",{style:c.meta,children:`${f?b.activePrefix:""}${Qu(p)}`})]}),f?jsx(j,{name:"check",size:Wh,color:u.color.brandInk,strokeWidth:2.5}):null]})},p.petRef)})}),s!==null?jsxs("button",{type:"button","aria-label":b.addAnotherPet,onClick:s,style:c.addRow,children:[jsx("span",{style:c.addDisc,children:"+"}),jsx("span",{style:c.addLabel,children:b.addAnotherPet})]}):null,jsx("button",{type:"button",onClick:o,style:c.close,children:b.close})]}):null}i(ed,"PetSwitcherDialog");function qh(e){let t=e.color,r=e.space,n=e.radius,o=e.type;return {sheet:{boxSizing:"border-box",position:"fixed",top:"auto",right:0,bottom:0,left:0,margin:0,width:"100%",maxWidth:"100%",maxHeight:Kh,overflowY:"auto",padding:`${r.lg+4}px ${r.lg+4}px ${r.xxl}px`,border:0,borderRadius:`${Ju}px ${Ju}px 0 0`,backgroundColor:t.surface,color:t.text.primary,display:"flex",flexDirection:"column",gap:r.md+2},title:{margin:0,...k(e,"bold"),fontSize:o.tierSizes.heading.heading,lineHeight:`${Math.round(o.tierSizes.heading.heading*1.22)}px`,color:t.brandInk},list:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:r.sm},row:{boxSizing:"border-box",width:"100%",minHeight:ln,display:"flex",flexDirection:"row",alignItems:"center",gap:r.md,margin:0,padding:r.md,borderRadius:n.md,border:`1px solid ${t.brandBorder}`,backgroundColor:t.surfaceCream,color:t.text.primary,textAlign:"left",cursor:"pointer",font:"inherit"},rowActive:{border:`1px solid ${t.brandInk}`,backgroundColor:t.brandSoft},ring:{boxSizing:"border-box",flexShrink:0,width:un,height:un,borderRadius:n.pill,border:`2px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:ri,height:ri,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...k(e,"bold"),fontSize:Math.round(ri*.42),lineHeight:1,textTransform:"uppercase"},text:{flex:"1 1 auto",minWidth:0,display:"flex",flexDirection:"column",gap:2},name:{...k(e,"bold"),fontSize:o.size.body+1,lineHeight:`${o.size.body+4}px`,color:t.text.primary,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},meta:{...k(e,"monoBold"),fontSize:o.tierSizes.compact.tiny,lineHeight:`${o.tierSizes.compact.tiny+2}px`,letterSpacing:.4,textTransform:"uppercase",color:t.text.muted},addRow:{boxSizing:"border-box",display:"flex",alignItems:"center",gap:r.sm,width:"100%",minHeight:ln,padding:`${r.xs}px ${r.sm}px`,background:"none",border:"none",borderRadius:n.lg,cursor:"pointer",textAlign:"left"},addDisc:{boxSizing:"border-box",width:un,height:un,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",border:`2px dashed ${t.brandBorder}`,backgroundColor:t.surfaceCream,color:t.brandInk,fontSize:o.size.subtitle,lineHeight:1},addLabel:{...k(e,"bold"),fontSize:o.size.body,color:t.text.primary},close:{boxSizing:"border-box",alignSelf:"center",minHeight:ln,minWidth:ln,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:`0 ${r.xl}px`,borderRadius:n.pill,border:`1px solid ${t.brandBorder}`,backgroundColor:t.surface,color:t.text.primary,cursor:"pointer",...k(e,"medium"),fontSize:o.tierSizes.control.body}}}i(qh,"makeStyles");var or=35,sd=1.75,ni=or-sd*2,td=12.4,rd=36,Xh=18,nd=2,od=9,Qh=1.5,rt=44,ld=28,Zh=160;function ud(e){let{pets:t,activePet:r,unread:n,onOpenHistory:o,historyTriggerRef:a,onSelectPet:s,onAddPet:l=null,vetEntry:u=null}=e,c=N(),d=useMemo(()=>tb(c),[c]);return jsxs("header",{style:d.bar,children:[jsx("button",{ref:a,type:"button",onClick:o,"aria-label":n?b.openMenuUnread:b.openMenu,style:d.menuButton,children:jsxs("span",{"aria-hidden":"true",style:d.menuDisc,children:[jsx("span",{style:d.menuBar}),jsx("span",{style:d.menuBar}),jsx("span",{style:d.menuBar}),n?jsx("span",{style:d.unreadDot}):null]})}),jsx("div",{style:d.centre,children:jsx(Jh,{logoUrl:c.meta.logoUrl,name:c.meta.displayName,styles:d})}),u!==null?jsx("button",{type:"button",onClick:u,style:d.vetEntry,children:Zu.visitButton}):null,jsx(eb,{pets:t,activePet:r,styles:d,onSelectPet:s,onAddPet:l})]})}i(ud,"ChatHeader");function Jh({logoUrl:e,name:t,styles:r}){let[n,o]=useState(null);return e===null||n===e?null:jsx("img",{src:e,alt:t,height:ld,style:r.logo,decoding:"async",referrerPolicy:"no-referrer",onError:()=>o(e)})}i(Jh,"BrandLogo");function eb({pets:e,activePet:t,styles:r,onSelectPet:n,onAddPet:o}){let[a,s]=useState(false),l=useRef(null),u=t?.name?.trim()||b.yourPet;return e.length<2&&o===null||t===null?jsx("div",{role:"img","aria-label":u,style:r.avatarSlot,children:jsx(id,{pet:t,styles:r})}):jsxs("div",{style:r.avatarSlot,children:[jsxs("button",{ref:l,type:"button","aria-haspopup":"dialog","aria-expanded":a,"aria-label":$(b.switchActivePet,{name:u}),onClick:()=>s(true),style:r.avatarButton,children:[jsx(id,{pet:t,styles:r}),jsx("span",{"aria-hidden":"true",style:r.addBadge,children:jsx("span",{style:r.addBadgeGlyph,children:"+"})})]}),jsx(ed,{open:a,pets:e,activePetRef:t.petRef,returnFocusTo:l,onClose:()=>s(false),onSelect:c=>{s(false),n(c);},onAddPet:o===null?null:()=>{s(false),o();}})]})}i(eb,"PetAvatarSlot");function id({pet:e,styles:t}){let r=e===null?null:sn(e);return jsx("span",{style:t.ring,children:jsx("span",{style:{...t.disc,...r===null?t.discEmpty:{backgroundColor:r.background,color:r.foreground}},children:r===null?ti(null):r.initial})})}i(id,"AvatarRing");function tb(e){let t=e.color,r=e.space,n=e.radius,o=e.type;return {vetEntry:{boxSizing:"border-box",minHeight:44,padding:`0 ${r.md}px`,borderRadius:n.pill,backgroundColor:t.surfaceCream,border:`1px solid ${t.brandBorder}`,color:t.brandInk,cursor:"pointer",whiteSpace:"nowrap",...k(e,"bold"),fontSize:o.size.caption},bar:{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:r.sm,padding:`${r.sm+2}px ${r.lg}px`,backgroundColor:t.surfaceCream},menuButton:{boxSizing:"border-box",minWidth:rt,minHeight:rt,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:0,border:0,background:"transparent",cursor:"pointer",color:t.text.primary},menuDisc:{position:"relative",boxSizing:"border-box",width:rd,height:rd,borderRadius:n.pill,display:"inline-flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4},menuBar:{display:"block",width:Xh,height:nd,borderRadius:nd/2,backgroundColor:t.text.primary},unreadDot:{position:"absolute",top:6,right:6,boxSizing:"border-box",width:od,height:od,borderRadius:n.pill,backgroundColor:t.danger,border:`${Qh}px solid ${t.surfaceCream}`},centre:{flex:"1 1 auto",minWidth:0,display:"flex",alignItems:"center",justifyContent:"center"},logo:{display:"block",height:ld,width:"auto",maxWidth:Zh,objectFit:"contain"},avatarSlot:{position:"relative",minWidth:rt,minHeight:rt,display:"inline-flex",alignItems:"center",justifyContent:"center"},avatarButton:{position:"relative",boxSizing:"border-box",minWidth:rt,minHeight:rt,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:0,border:0,background:"transparent",cursor:"pointer"},ring:{boxSizing:"border-box",width:or,height:or,borderRadius:n.pill,border:`${sd}px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:ni,height:ni,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...k(e,"bold"),fontSize:Math.round(ni*.42),lineHeight:1,textTransform:"uppercase"},discEmpty:{backgroundColor:t.surfaceSubtle,color:t.text.muted},addBadge:{position:"absolute",bottom:(rt-or)/2,right:(rt-or)/2,boxSizing:"border-box",width:td,height:td,borderRadius:n.pill,border:`0.5px solid ${t.success}`,backgroundColor:t.surface,display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},addBadgeGlyph:{...k(e,"bold"),fontSize:o.tierSizes.badge.small,lineHeight:1,color:t.brandInk}}}i(tb,"makeStyles");var wt=Object.freeze({eyebrow:"Checking in",logged:"Logged",findVet:"Find a vet now",answers:Object.freeze({better:"Better",same:"Same",worse:"Worse"})}),dd=Object.freeze(Er.map(e=>Object.freeze({answer:e,label:wt.answers[e]})));function cd(e,t){let[r,n]=useState(null),[o,a]=useState(null),[s,l]=useState(null),u=useCallback(d=>{t!==null&&(n(d),a(null),t(e.caseId,d).then(p=>{n(null),p.ok?l(d):a(p.error);}));},[t,e.caseId]),c=s??e.answer;return {answer:c,answerable:!Fa(e),escalated:c==="worse",pending:r,error:o,choose:u}}i(cd,"useCheckinCard");var pd=44,ob=.6;function fd({message:e,checkin:t,onAnswer:r,onFindVet:n}){let o=N(),a=useMemo(()=>ib(o),[o]),s=cd(t,r),l=s.answer!==null||s.pending!==null,u=r!==null&&s.answerable;return jsx("li",{style:a.row,children:jsxs("div",{role:"group","aria-label":wt.eyebrow,"aria-busy":s.pending!==null?true:void 0,style:a.card,children:[jsx("p",{style:a.eyebrow,children:wt.eyebrow}),jsx("p",{style:a.question,children:e.text}),u?jsx("div",{style:{...a.answers,...s.pending?a.answersPending:null},children:dd.map(({answer:c,label:d})=>{let p=(s.pending??s.answer)===c;return jsx("button",{type:"button",onClick:()=>s.choose(c),disabled:l,"aria-pressed":p,style:{...a.pill,...p?a.pillSelected:null},children:d},c)})}):null,s.answer!==null?jsx("p",{style:a.logged,children:wt.logged}):null,t.resolutionText?jsx("p",{style:a.question,children:t.resolutionText}):null,s.escalated&&n?jsx("button",{type:"button",onClick:n,style:a.findVet,children:wt.findVet}):null,s.error?jsx("p",{role:"alert",style:a.error,children:s.error.displayMessage}):null]})})}i(fd,"CheckinCard");function ib(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=k(e,"regular"),s={margin:0,...a,fontSize:o.size.body,lineHeight:`${Math.round(o.size.body*o.lineHeight.normal)}px`},l=o.tierSizes.compact,u=o.tierSizes.control;return {row:{display:"flex",justifyContent:"flex-start",listStyle:"none"},card:{boxSizing:"border-box",maxWidth:"92%",padding:r.md,display:"flex",flexDirection:"column",gap:r.sm,borderRadius:n.lg,backgroundColor:t.surface,border:`1px solid ${t.brandBorder}`},eyebrow:{margin:0,...a,color:t.text.secondary,fontSize:l.caption,letterSpacing:o.letterSpacing.eyebrow,textTransform:"uppercase"},question:{...s,color:t.text.primary,whiteSpace:"pre-wrap"},answers:{display:"flex",gap:r.sm,marginTop:r.xs},answersPending:{opacity:ob},pill:{...s,fontSize:u.body,lineHeight:`${Math.round(u.body*o.lineHeight.normal)}px`,boxSizing:"border-box",flex:1,minHeight:pd,display:"inline-flex",alignItems:"center",justifyContent:"center",padding:`0 ${r.md}px`,borderRadius:n.pill,border:`1px solid ${t.brandBorder}`,backgroundColor:t.surfaceCream,color:t.text.primary,cursor:"pointer"},pillSelected:{backgroundColor:t.brand,borderColor:t.brand,color:t.onPrimary},logged:{margin:0,...a,color:t.text.secondary,fontSize:o.size.caption},error:{margin:0,...a,color:t.danger,fontSize:o.size.caption},findVet:{boxSizing:"border-box",alignSelf:"stretch",minHeight:pd,borderRadius:n.pill,border:`1.5px solid ${t.brandBorder}`,backgroundColor:t.surface,color:t.brandInk,cursor:"pointer",...k(e,"bold"),fontSize:o.size.body}}}i(ib,"makeStyles");var sb=Object.freeze({TIER_1:"#07C168",TIER_2:"#27A9FF",TIER_3:"#FBC558"}),md="#C8BEB4";function lb(e){return e?sb[e.toUpperCase()]??md:md}i(lb,"tierColor");function ub(e){if(!e)return null;let t=/^tier[_\s-]?(\d+)$/i.exec(e.trim());return t?`Tier ${t[1]}`:e}i(ub,"tierLabel");function Ue(e){if(typeof e!="string")return null;let t=e.trim();return t.length===0?null:t}i(Ue,"text");function db(e){let t=Ue(e);return t!==null&&/^https:\/\/\S+$/i.test(t)?t:null}i(db,"httpsUrl");function cb(e,t){let r=Ue(e.source_name)??Ue(e.sourceName),n=Ue(e.section),o=Ue(e.authority_tier)??Ue(e.authorityTier),a=ub(o),s=r??Ue(e.title)??`Source ${t+1}`,l=Ue(e.monograph_chunk_id)??Ue(e.chunkId),u=[n,a].filter(c=>c!==null).join(" \xB7 ");return Object.freeze({title:s,sourceName:r,section:n,authorityTier:o,tierLabel:a,meta:u.length===0?null:u,url:db(e.url),excerpt:Ue(e.excerpt),tierColor:lb(o),key:`${s}-${l??"none"}-${t}`})}i(cb,"toCitationCard");function yd(e){return e===void 0||e.length===0?pb:Object.freeze(e.map((t,r)=>cb(t,r)))}i(yd,"toCitationCards");var pb=Object.freeze([]);function ii(e){return e===1?`1 ${b.sourceSingular}`:`${e} ${b.sourcePlural}`}i(ii,"sourcesLabel");function gd(e,t){return `${t?b.hideSources:b.showSources} ${ii(e)}`}i(gd,"sourcesToggleLabel");function hd(e){return [e.url!==null?`${b.openSource}: ${e.title}`:e.title,e.meta,e.excerpt].filter(t=>t!==null&&t.length>0).join(". ")}i(hd,"citationA11yLabel");var vd=44,gb=244,Ed=8,Cd=13,hb=14,bb=2,vb=3,Eb=.3;function xd({citations:e}){let t=useMemo(()=>yd(e),[e]),r=N(),n=useMemo(()=>Rb(r),[r]),[o,a]=useState(false);return t.length===0?null:jsxs("div",{style:n.wrap,children:[jsxs("button",{type:"button","aria-expanded":o,"aria-label":gd(t.length,o),onClick:()=>a(s=>!s),style:n.pill,children:[jsx(j,{name:"bookOpen",size:Cd,color:r.color.brandInk}),jsx("span",{style:n.pillLabel,children:ii(t.length)}),jsx(j,{name:"chevronDown",size:Cd,color:r.color.brandInk,style:o?{transform:"rotate(180deg)"}:void 0})]}),o?jsx(Cb,{cards:t,styles:n,theme:r}):null]})}i(xd,"CitationCards");function Cb({cards:e,styles:t,theme:r}){let n=useRef(null),o=X();return useEffect(()=>{let a=xe(n.current,{durationMs:o.citationsInMs,fromOpacity:0,fromTranslateY:o.citationsRisePx});return ()=>a?.cancel()},[o]),jsx("ul",{ref:n,style:t.deck,children:e.map(a=>jsx("li",{style:t.cardSlot,children:a.url!==null?jsx("a",{href:a.url,target:"_blank",rel:"noopener noreferrer","aria-label":hd(a),style:{...t.card,...t.cardLink},children:jsx(Rd,{card:a,styles:t,theme:r})}):jsx("div",{style:t.card,children:jsx(Rd,{card:a,styles:t,theme:r})})},a.key))})}i(Cb,"Deck");function Rd({card:e,styles:t,theme:r}){let n=e.url!==null;return jsxs(Fragment,{children:[jsxs("div",{style:t.cardHeader,children:[jsx("span",{"aria-hidden":"true",style:{...t.tierDot,backgroundColor:e.tierColor}}),jsx("span",{style:n?{...t.cardTitle,color:r.color.linkInk}:t.cardTitle,children:e.title}),n?jsx(j,{name:"arrowUpRight",size:hb,color:r.color.linkInk}):null]}),e.meta!==null?jsx("span",{style:t.cardMeta,children:e.meta}):null,e.excerpt!==null?jsx("span",{style:t.cardExcerpt,children:e.excerpt}):null]})}i(Rd,"CardBody");function Sd(e){return {display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:e,overflow:"hidden"}}i(Sd,"clamp");function Rb(e){let t=e.color,r=e.space,n=e.radius,o=e.type;return {wrap:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:r.xs,marginTop:r.sm},pill:{boxSizing:"border-box",minHeight:vd,minWidth:vd,display:"inline-flex",flexDirection:"row",alignItems:"center",gap:r.xs+2,margin:0,padding:`${r.xs+2}px ${r.md}px`,border:0,borderRadius:n.pill,backgroundColor:t.brandSoft,color:t.brandInk,cursor:"pointer",font:"inherit"},pillLabel:{...k(e,"monoBold"),fontSize:o.tierSizes.compact.micro,lineHeight:`${o.tierSizes.compact.micro}px`,letterSpacing:Eb,textTransform:"uppercase",color:t.brandInk},deck:{listStyle:"none",margin:0,padding:`${r.xs}px ${r.xl}px 0 0`,maxWidth:"100%",display:"flex",flexDirection:"row",gap:r.sm,overflowX:"auto"},cardSlot:{flex:"0 0 auto"},card:{boxSizing:"border-box",width:gb,display:"flex",flexDirection:"column",gap:r.xs+2,padding:r.md,borderRadius:n.md,border:`1px solid ${t.brandBorder}`,backgroundColor:t.surface,color:t.text.primary},cardLink:{textDecoration:"none",cursor:"pointer"},cardHeader:{display:"flex",flexDirection:"row",alignItems:"flex-start",gap:r.sm},tierDot:{flexShrink:0,width:Ed,height:Ed,borderRadius:n.pill,marginTop:7},cardTitle:{flex:"1 1 auto",minWidth:0,...k(e,"bold"),fontSize:o.size.bodyTight,lineHeight:`${Math.round(o.size.bodyTight*1.7)}px`,letterSpacing:-0.24,color:t.text.primary,...Sd(bb)},cardMeta:{...k(e,"monoMedium"),fontSize:o.tierSizes.compact.nano,lineHeight:`${o.tierSizes.compact.nano+2}px`,letterSpacing:o.letterSpacing.monoWide,textTransform:"uppercase",color:t.text.metaCool,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cardExcerpt:{...k(e,"regular"),fontSize:o.size.tiny,lineHeight:`${o.size.tiny+4}px`,color:t.text.muted,...Sd(vb)}}}i(Rb,"makeStyles");var xb=["Apoquel","Cytopoint","Bravecto","NexGard","Simparica Trio","Credelio","Revolution","Heartgard","Interceptor","Sentinel","ProHeart","Rimadyl","carprofen","meloxicam","Metacam","Galliprant","gabapentin","trazodone","Librela","Solensia","Zenrelia","prednisone","prednisolone","amoxicillin","Clavamox","cephalexin","Convenia","metronidazole","doxycycline","Cerenia","maropitant","famotidine","omeprazole","Proin","Vetmedin","pimobendan","enalapril","furosemide","levothyroxine","methimazole","Vetsulin","fluoxetine","Sileo","tramadol","buprenorphine","Denamarin","Dasuquin","Cosequin","parvovirus","distemper","Bordetella","leptospirosis","heartworm","giardia","coccidia","pancreatitis","hypothyroidism","Cushing's disease","Addison's disease","IVDD","cruciate ligament","luxating patella","hip dysplasia","pyometra","kennel cough","otitis","FIV","FeLV","DHPP","FVRCP","Labrador Retriever","Golden Retriever","French Bulldog","German Shepherd","Dachshund","Cavalier King Charles Spaniel","Shih Tzu","Pomeranian","Chihuahua","Yorkshire Terrier","Bichon Frise","Havanese","Cockapoo","Goldendoodle","Labradoodle","Weimaraner","Vizsla","Shiba Inu","Springer Spaniel","Miniature Schnauzer","Corgi","Australian Shepherd","Border Collie","Siberian Husky","Beagle","Maine Coon","Ragdoll","Sphynx","Bengal cat","British Shorthair"];function Td(e={}){let t=new Set,r=[];for(let n of [e.name,e.breed,...xb]){let o=(n??"").trim();if(!o)continue;let a=o.toLowerCase();if(!t.has(a)&&(t.add(a),r.push(o),r.length>=100))break}return r}i(Td,"buildDictationPhrases");function kd(e){if(!e)return null;let t=e.SpeechRecognition??e.webkitSpeechRecognition;return typeof t=="function"?t:null}i(kd,"getRecognitionConstructor");function ai(e){return typeof e=="string"&&e.toLowerCase().startsWith("en")?e:"en-US"}i(ai,"resolveDictationLang");async function Pd(e,t){let r=kd(e);if(!r)return "none";if(typeof r.available!="function")return "browser";try{let n=await r.available({langs:[t],processLocally:!0});return n==="available"?"on_device":n==="downloadable"?"downloadable":"browser"}catch{return "browser"}}i(Pd,"probeDictationCapability");function Tb(e){let t=[];for(let r=0;r<e.length;r+=1){let n=e[r]?.[0]?.transcript?.trim();if(!n)continue;let o=t[t.length-1];o&&n.toLowerCase().startsWith(o.toLowerCase())?t[t.length-1]=n:t.push(n);}return t.join(" ")}i(Tb,"joinRecognitionResults");function _d(e,t,r){let n=t.trim();if(!n)return e;let o=e===""||/\s$/.test(e)?"":" ",a=`${e}${o}${n}`;return typeof r=="number"&&r>0?a.slice(0,r):a}i(_d,"composeDictatedText");function kb(e){return e==="not-allowed"||e==="service-not-allowed"?"permissionDenied":e==="no-speech"?"noSpeech":"unavailable"}i(kb,"mapDictationError");var Pb=new Set(["language-not-supported","service-not-allowed"]),_b={setTimeout:i((e,t)=>globalThis.setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>globalThis.clearTimeout(e),"clearTimeout")};function wd(e){let{env:t,capability:r,lang:n,callbacks:o}=e,a=e.timers??_b,s=e.maxDurationMs??6e4,l=kd(t),u=r==="on_device"?"on_device":"browser",c=u==="on_device"&&(e.phrases?.length??0)>0&&typeof t.SpeechRecognitionPhrase=="function",d=false,p=false,f=false,y=null,m=0,R=false,g=false,C=false,P=false,I=false,_="",h=null,x=null,A=i(()=>{if(g)return;g=true,m+=1,x!==null&&a.clearTimeout(x),x=null;let S=h;S===null&&!P&&_.trim()===""&&(S="noSpeech"),o.onEnd?.({mode:u,transcript:_,error:S});},"finish"),M=i(()=>{if(!l){h="unavailable",A();return}m+=1;let S=m,O=i(()=>S===m&&!g,"live"),z=new l;if(y=z,z.lang=n,z.continuous=true,z.interimResults=true,u==="on_device")try{z.processLocally=!0;}catch{u="browser";}if(u==="on_device"&&c)try{let V=t.SpeechRecognitionPhrase;z.phrases=(e.phrases??[]).map(K=>new V(K));}catch{c=false,p=true;}z.onstart=()=>{!O()||R||(R=true,o.onStart?.(u));},z.onresult=V=>{O()&&(I=true,_=Tb(V.results),o.onTranscript?.(_));},z.onerror=V=>{if(!O())return;let K=V?.error??"";if(!(K==="aborted"&&C)){if(K==="phrases-not-supported"&&!p&&!I&&!C){c=false,p=true,f=true;return}if(u==="on_device"&&!d&&!I&&!C&&Pb.has(K)){u="browser",c=false,d=true,f=true;return}K==="no-speech"&&_.trim()!==""||(h=kb(K));}},z.onend=()=>{if(O()){if(f&&!C){f=false,M();return}A();}};try{z.start();}catch{if(u==="on_device"&&!d){u="browser",c=false,d=true,M();return}h="unavailable",A();}},"launch");if(r==="downloadable"&&l&&typeof l.install=="function")try{Promise.resolve(l.install({langs:[n],processLocally:!0})).catch(()=>{});}catch{}let v=i(()=>{if(!(g||C)){C=true,f=false,x!==null&&a.clearTimeout(x),x=null;try{y?.stop();}catch{A();}}},"stopListening");x=a.setTimeout(()=>{x=null,v();},s);let T={get mode(){return u},stop(){g||C||(P=true,v());},cancel(){if(g)return;C=true,P=true,f=false;let S=y;A();try{S?.abort();}catch{}}};return M(),T}i(wd,"startDictation");var wb=6e3;function si(e,t,r){if(e)try{e.track(t,{...r});}catch{}}i(si,"trackDictationEvent");function Ib(){return typeof window>"u"?null:window}i(Ib,"browserEnv");function Id({enabled:e,input:t,setInput:r,phrases:n,maxLength:o,telemetry:a,env:s}){let[l,u]=useState("none"),[c,d]=useState("idle"),[p,f]=useState(null),[y,m]=useState(0),R=useRef(null),g=useRef(null),C=useRef(t);C.current=t;let P=useRef(r);P.current=r;let I=useRef(a);I.current=a;let[_,h]=useState(0),x=useCallback(()=>s??Ib(),[s]);useEffect(()=>{if(!e){u("none");return}let O=x();if(!O)return;let z=true;return Pd(O,ai(O.navigator?.language)).then(V=>{z&&u(V);}),()=>{z=false;}},[e,x,_]);let A=useCallback(()=>{let O=x();if(!O||l==="none")return;f(null),m(0),g.current=null,d("starting");let z=C.current,V=l,K=false,Q=wd({env:O,capability:l,lang:ai(O.navigator?.language),...n!==void 0?{phrases:n}:{},callbacks:{onStart:i(B=>{g.current=Date.now(),d("listening"),si(I.current,"chat_dictation_started",{mode:B});},"onStart"),onTranscript:i(B=>{P.current(_d(z,B,o));},"onTranscript"),onEnd:i(({mode:B,transcript:le,error:Ie})=>{K=true,R.current=null;let Ae=g.current;g.current=null,Ie?(f(Ie),d("error"),si(I.current,"chat_dictation_failed",{mode:B,error:Ie})):(d("idle"),si(I.current,"chat_dictation_completed",{mode:B,duration_ms:Ae===null?0:Date.now()-Ae,char_count:le.trim().length})),V==="downloadable"&&h(Oe=>Oe+1);},"onEnd")}});K||(R.current=Q);},[l,o,n,x]),M=useCallback(()=>{R.current?.stop();},[]),v=useCallback(()=>{R.current?.cancel();},[]),T=c==="starting"||c==="listening",S=useCallback(()=>{if(R.current){R.current.stop();return}A();},[A]);return useEffect(()=>{if(c!=="listening")return;let O=i(()=>{let V=g.current;V!==null&&m(Date.now()-V);},"tick");O();let z=setInterval(O,1e3);return ()=>clearInterval(z)},[c]),useEffect(()=>{if(!T||typeof document>"u")return;let O=i(()=>{document.visibilityState==="hidden"&&R.current?.stop();},"onVisibility");return document.addEventListener("visibilitychange",O),()=>document.removeEventListener("visibilitychange",O)},[T]),useEffect(()=>{if(!T||typeof document>"u")return;let O=i(z=>{z.key==="Escape"&&R.current?.stop();},"onKey");return document.addEventListener("keydown",O),()=>document.removeEventListener("keydown",O)},[T]),useEffect(()=>{if(c!=="error")return;let O=setTimeout(()=>{f(null),d("idle");},wb);return ()=>clearTimeout(O)},[c]),useEffect(()=>()=>{R.current?.cancel();},[]),{supported:e&&l!=="none",status:c,active:T,error:p,elapsedMs:y,toggle:S,stop:M,cancel:v}}i(Id,"useDictation");var fn=44,Mb=18,Db=14,mn=6,Lb=1200,Nb=.4;function zb(e){let t=Math.max(0,Math.floor(e/1e3)),r=Math.floor(t/60),n=t%60;return `${r}:${n.toString().padStart(2,"0")}`}i(zb,"formatDictationElapsed");function Od(e){switch(e){case "permissionDenied":return b.micBlocked;case "noSpeech":return b.noSpeech;case "unavailable":return b.dictationUnavailable}}i(Od,"dictationErrorMessage");function Fd({active:e,listening:t,elapsedMs:r,disabled:n=false,onToggle:o}){let a=N(),s=useMemo(()=>Hb(a),[a]);return jsxs("span",{style:s.wrap,children:[t?jsx("span",{"aria-hidden":"true",style:s.timer,children:zb(r)}):null,jsx("button",{type:"button",disabled:n,onClick:()=>o(),"aria-label":e?b.stopDictation:b.dictate,"aria-pressed":e,style:{...s.button,...n?s.buttonDisabled:null},children:e?jsxs(Fragment,{children:[jsx(Ub,{style:s.pulse}),jsx(j,{name:"square",size:Db,color:a.color.brandInk,fill:a.color.brandInk,style:{position:"relative"}})]}):jsx(j,{name:"mic",size:Mb,color:a.color.brandInk})}),jsx("span",{role:"status","aria-live":"polite",style:xt,children:t?b.listening:""})]})}i(Fd,"DictationButton");function Ub({style:e}){let t=useRef(null),r=X();return useEffect(()=>{let n=t.current;if(r.reduced||!kt(n))return;let o=n.animate([{opacity:1},{opacity:.4},{opacity:1}],{duration:Lb,iterations:1/0,easing:"ease-in-out"});return ()=>o.cancel()},[r.reduced]),jsx("span",{ref:t,"aria-hidden":"true",style:e})}i(Ub,"Pulse");function Hb(e){let t=e.color,r=e.radius,n=e.type;return {wrap:{display:"inline-flex",flexShrink:0,alignItems:"center",gap:e.space.xs},timer:{...k(e,"mono"),fontSize:n.tierSizes.compact.micro,lineHeight:`${n.tierSizes.compact.micro+2}px`,fontVariantNumeric:"tabular-nums",color:t.text.muted},button:{position:"relative",boxSizing:"border-box",width:fn,height:fn,minWidth:fn,minHeight:fn,margin:0,padding:0,border:0,borderRadius:r.pill,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer",color:t.brandInk},buttonDisabled:{opacity:Nb,cursor:"not-allowed"},pulse:{position:"absolute",top:mn,right:mn,bottom:mn,left:mn,borderRadius:r.pill,backgroundColor:t.brandSofter}}}i(Hb,"makeStyles");var li=320,He=44,$b=36,Md=8,ui=1.5,Wb=.08,Kb="50%";function Ld({chat:e,history:t,mode:r,returnFocusTo:n}){let o=N(),a=useMemo(()=>Yb(o),[o]),s=X(),l=We(r==="dialog"&&t.open,t.close,n),u=useRef(null),c=t.open,d=s.drawerMs;if(useEffect(()=>{if(!c||r!=="dialog")return;let f=xe(u.current,{durationMs:d,fromOpacity:0,fromTranslateX:"-100%"});return ()=>f?.cancel()},[c,r,d]),!c)return null;let p=jsx(qb,{chat:e,history:t,styles:a,theme:o});return r==="rail"?jsx("aside",{ref:f=>{u.current=f;},"aria-label":W.heading,style:a.rail,children:p}):jsx("dialog",{ref:f=>{l.dialogRef.current=f,u.current=f;},"aria-label":W.heading,onCancel:l.onCancel,onKeyDown:l.onKeyDown,style:a.overlay,children:p})}i(Ld,"HistoryDrawer");function qb({chat:e,history:t,styles:r,theme:n}){let{filtered:o,loading:a,loadingMore:s,error:l,cursor:u,emptyKind:c,searching:d,query:p,setQuery:f}=t,y=!a&&l===null;return jsxs(Fragment,{children:[jsxs("div",{style:r.toolbar,children:[jsxs("label",{style:r.searchPill,children:[jsx(j,{name:"search",size:16,color:n.color.text.muted}),jsx("input",{type:"search",value:p,onChange:m=>f(m.target.value),"aria-label":W.search,placeholder:W.search,autoComplete:"off",style:r.searchInput})]}),jsx("button",{type:"button",onClick:t.newConversation,"aria-label":W.newConversation,style:r.roundControl,children:jsx(j,{name:"squarePen",size:16,color:n.color.brandInk})}),jsx("button",{type:"button",onClick:t.close,"aria-label":W.closeA11y,style:r.roundControl,children:jsx(j,{name:"x",size:16,color:n.color.brandInk})})]}),jsx("p",{style:r.heading,children:W.heading}),a?jsx("p",{role:"status",style:r.state,children:W.loading}):null,l!==null?jsxs("div",{style:r.stateBlock,children:[jsx("p",{role:"alert",style:r.state,children:W.loadFailed}),jsx("button",{type:"button",onClick:()=>{t.load();},"aria-label":W.retryA11y,style:r.retryControl,children:W.retry})]}):null,y&&o.length===0?jsxs("div",{style:r.stateBlock,children:[jsx("p",{style:r.state,children:c==="noMatch"?W.noMatch:W.empty}),jsx("p",{style:r.stateBody,children:c==="noMatch"?W.noMatchBody:W.emptyBody})]}):null,y&&o.length>0?jsx(Gb,{rows:o,activeId:e.conversationId,onSelect:m=>{t.resume(m);},styles:r,canLoadMore:u!==null&&!d&&!s,onLoadMore:t.loadMore}):null,s?jsx("p",{role:"status",style:r.state,children:W.loadingMore}):null]})}i(qb,"PanelBody");function Gb({rows:e,activeId:t,onSelect:r,styles:n,canLoadMore:o,onLoadMore:a}){let s=useRef(null),l=typeof IntersectionObserver=="function",u=useRef(a);u.current=a;let c=useCallback(d=>{s.current=d;},[]);return useEffect(()=>{let d=s.current;if(!l||!o||d===null)return;let p=new IntersectionObserver(f=>{f.some(y=>y.isIntersecting)&&u.current();},{rootMargin:Kb});return p.observe(d),()=>p.disconnect()},[l,o,e.length]),jsxs("ul",{style:n.list,children:[e.map(d=>{let p=d.unreadCount!==null&&d.unreadCount>0,f=d.id===t;return jsx("li",{children:jsxs("button",{type:"button","aria-label":tu(d),"aria-current":f?"true":void 0,onClick:()=>r(d.id),style:{...n.row,...f?n.rowActive:null},children:[jsx("span",{style:{...n.rowTitle,...p?n.rowTitleUnread:null},children:Yr(d.title)}),p?jsx("span",{"aria-hidden":"true",style:n.unreadDot}):null]})},d.id)}),o?jsx("li",{ref:c,style:n.sentinel,children:l?null:jsx("button",{type:"button",onClick:a,style:n.textControl,children:W.more})}):null]})}i(Gb,"RowList");function Yb(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=t.onPrimary,s={boxSizing:"border-box",display:"flex",flexDirection:"column",gap:r.md,padding:`${r.lg}px ${r.lg}px ${r.lg}px`,backgroundColor:t.brand,color:a,overflowY:"auto"},l={boxSizing:"border-box",minHeight:He,minWidth:He,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:`0 ${r.md}px`,borderRadius:n.pill,border:`1px solid ${a}`,background:"transparent",color:a,cursor:"pointer",...k(e,"medium"),fontSize:o.tierSizes.control.body};return {rail:{...s,flex:`0 0 ${li}px`,width:li,minHeight:0,borderRadius:`${n.lg}px 0 0 ${n.lg}px`},overlay:{...s,position:"fixed",top:0,right:"auto",bottom:0,left:0,margin:0,height:"100%",maxHeight:"100%",width:`min(${li}px, 88vw)`,maxWidth:"100%",border:0,borderRadius:0},toolbar:{display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm},searchPill:{flex:"1 1 auto",minWidth:0,minHeight:He,display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm,padding:`0 ${r.md+2}px`,borderRadius:n.pill,backgroundColor:t.surface,color:t.text.primary},searchInput:{boxSizing:"border-box",flex:"1 1 auto",minWidth:0,minHeight:He,margin:0,padding:0,border:0,outline:"none",background:"transparent",...k(e,"regular"),fontSize:o.size.bodyTight,lineHeight:`${o.size.bodyTight+3}px`,color:t.text.primary},roundControl:{boxSizing:"border-box",flexShrink:0,width:He,height:He,minWidth:He,minHeight:He,margin:0,padding:(He-$b)/2,border:0,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer",backgroundClip:"content-box",backgroundColor:t.surface,borderRadius:n.pill},heading:{margin:0,...k(e,"bold"),fontSize:o.tierSizes.heading.body,lineHeight:`${o.tierSizes.heading.body+3}px`,color:a},state:{margin:0,...k(e,"regular"),fontSize:o.size.body,lineHeight:`${o.size.body+4}px`,color:a},stateBody:{margin:0,...k(e,"regular"),fontSize:o.size.caption,lineHeight:`${o.size.caption+4}px`,color:a,opacity:.8},stateBlock:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:r.sm},textControl:l,retryControl:{...l,...Se(e.slots.primaryButton),...Re(e.slots.primaryButton)},list:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},row:{boxSizing:"border-box",width:"100%",minHeight:He,display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm,margin:0,padding:`${r.md}px ${r.xs}px`,border:0,borderRadius:n.sm,background:"transparent",color:a,textAlign:"left",cursor:"pointer",font:"inherit"},rowActive:{backgroundColor:Yt(a,Wb)??"transparent"},rowTitle:{flex:"1 1 auto",minWidth:0,...k(e,"regular"),fontSize:o.size.body,lineHeight:`${o.size.body+4}px`,color:a,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},rowTitleUnread:k(e,"bold"),unreadDot:{boxSizing:"border-box",flexShrink:0,width:Md+ui*2,height:Md+ui*2,borderRadius:n.pill,backgroundColor:t.danger,border:`${ui}px solid ${t.brand}`},sentinel:{minHeight:1,display:"flex",justifyContent:"center",padding:`${r.xs}px 0`}}}i(Yb,"makeStyles");function Nd(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}i(Nd,"formatMessageTime");var ci=44,zd=20,Zb=3,Jb=.6;function Ud(e){let{open:t,onSubmit:r,onClose:n,returnFocusTo:o}=e,a=N(),s=useMemo(()=>ev(a),[a]),l=We(t,n,o),[u,c]=useState(null),[d,p]=useState(""),[f,y]=useState(false),[m,R]=useState(false);if(!t)return null;let g=i(()=>{if(f)return;y(true),R(false);let C=d.trim();r(u,C.length>0?C:null).then(P=>{y(false),P?n():R(true);});},"submit");return jsxs("dialog",{ref:l.dialogRef,"aria-label":b.feedbackTitle,"aria-busy":f?true:void 0,onCancel:l.onCancel,onKeyDown:l.onKeyDown,style:s.sheet,children:[jsx("h2",{style:s.title,children:b.feedbackTitle}),jsx("p",{style:s.subtitle,children:b.feedbackSubtitle}),jsx("div",{role:"group","aria-label":b.feedbackTitle,style:s.options,children:_o.map(C=>{let P=C.key===u;return jsxs("button",{type:"button","aria-pressed":P,disabled:f,onClick:()=>c(P?null:C.key),style:{...s.option,...P?s.optionSelected:null},children:[jsx("span",{style:s.optionLabel,children:C.label}),jsx("span",{"aria-hidden":"true",style:{...s.radio,...P?s.radioSelected:null},children:P?jsx(j,{name:"check",size:12,color:a.color.surface,strokeWidth:3}):null})]},C.key)})}),jsx("textarea",{rows:Zb,value:d,disabled:f,"aria-label":b.feedbackNotesPlaceholder,placeholder:b.feedbackNotesPlaceholder,onChange:C=>{let P=C.target.value;[...P].length<=Pr&&p(P);},style:s.notes}),m?jsx("p",{role:"alert",style:s.failed,children:b.feedbackFailed}):null,jsxs("div",{style:s.actions,children:[jsx("button",{type:"button",onClick:g,"aria-disabled":f,style:{...s.submit,...f?s.pending:null},children:b.feedbackSubmit}),jsx("button",{type:"button",onClick:n,"aria-label":b.feedbackSkipA11y,disabled:f,style:s.skip,children:b.feedbackSkip})]})]})}i(Ud,"FeedbackReasons");function ev(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=`${Math.round(o.size.body*o.lineHeight.normal)}px`,s=o.tierSizes.heading.heading,l=o.tierSizes.control.body,u={boxSizing:"border-box",minHeight:ci,minWidth:ci,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,cursor:"pointer",...k(e,"medium"),fontSize:o.size.body,lineHeight:a};return {sheet:{boxSizing:"border-box",position:"fixed",top:"auto",right:0,bottom:0,left:0,margin:0,width:"100%",maxWidth:"100%",maxHeight:"80vh",overflowY:"auto",padding:`${r.lg+4}px ${r.lg+4}px ${r.xxl}px`,border:0,borderRadius:`${n.lg}px ${n.lg}px 0 0`,backgroundColor:t.surface,color:t.text.primary,display:"flex",flexDirection:"column",gap:r.md},title:{margin:0,...k(e,"bold"),fontSize:s,lineHeight:`${Math.round(s*1.22)}px`,color:t.text.primary},subtitle:{margin:0,...k(e,"regular"),fontSize:o.size.body,lineHeight:a,color:t.text.muted},options:{display:"flex",flexDirection:"column",gap:r.sm},option:{...u,width:"100%",justifyContent:"space-between",gap:r.md,padding:`${r.sm}px ${r.md}px`,borderRadius:n.md,border:`1px solid ${t.brandBorder}`,backgroundColor:t.surfaceCream,color:t.text.primary,textAlign:"left"},optionSelected:{border:`1px solid ${t.brandInk}`,backgroundColor:t.brandSoft},optionLabel:{flex:"1 1 auto",minWidth:0},radio:{boxSizing:"border-box",flexShrink:0,width:zd,height:zd,borderRadius:n.pill,border:`1.5px solid ${t.brandBorder}`,backgroundColor:t.surface,display:"inline-flex",alignItems:"center",justifyContent:"center"},radioSelected:{border:`1.5px solid ${t.brandInk}`,backgroundColor:t.brandInk},notes:{boxSizing:"border-box",width:"100%",minHeight:ci,margin:0,padding:`${r.sm}px ${r.md}px`,borderRadius:n.md,border:`1px solid ${t.brandBorder}`,backgroundColor:t.surfaceCream,color:t.text.primary,resize:"vertical",...k(e,"regular"),fontSize:o.size.body,lineHeight:a},failed:{margin:0,...k(e,"regular"),fontSize:o.size.caption,color:t.danger},actions:{display:"flex",flexDirection:"column",alignItems:"stretch",gap:r.sm},submit:{...u,fontSize:l,padding:`0 ${r.xl}px`,border:0,borderRadius:n.pill,backgroundColor:t.brand,color:t.onPrimary,...Se(e.slots.primaryButton),...Re(e.slots.primaryButton)},pending:{opacity:Jb,cursor:"progress"},skip:{...u,fontSize:l,padding:`0 ${r.xl}px`,border:0,borderRadius:n.pill,background:"transparent",color:t.text.secondary}}}i(ev,"makeStyles");var lr=44,mi=15,jd=16;function rv(){return typeof navigator<"u"&&typeof navigator.clipboard?.writeText=="function"}i(rv,"canCopyToClipboard");function $d(e){let{role:t,text:r,createdAt:n,responseId:o,sentiment:a,feedback:s}=e,l=N(),u=useMemo(()=>nv(l),[l]),c=X(),d=useMemo(()=>Nd(n),[n]),p=rv()&&r.length>0,[f,y]=useState(false),m=useRef(null);useEffect(()=>()=>{m.current!==null&&clearTimeout(m.current);},[]);let R=useCallback(()=>{navigator.clipboard.writeText(r).catch(()=>{}),y(true),m.current!==null&&clearTimeout(m.current),m.current=setTimeout(()=>{y(false),m.current=null;},c.copiedMs);},[r,c.copiedMs]),[g,C]=useState(false),[P,I]=useState(false),[_,h]=useState(false),x=useRef(null),A=useCallback(v=>{if(o===void 0)return;I(false),h(false);let T=a===v;s(o,v).then(S=>{S.ok||h(true);}),v==="down"&&!T&&C(true);},[o,a,s]),M=useCallback(async(v,T)=>{if(o===void 0)return false;if(v===null&&T===null)return I(true),true;let S=await s(o,"down",v??"other",T);return S.ok&&I(true),S.ok},[o,s]);return jsxs("div",{style:{...u.footer,...t==="user"?u.footerUser:u.footerAssistant},children:[jsxs("div",{style:u.row,children:[d!==null?jsx("span",{style:u.timestamp,children:d}):null,p?jsx("button",{type:"button",onClick:R,"aria-label":f?b.copied:t==="user"?b.copyUserMessage:b.copyAssistantMessage,style:u.iconButton,children:f?jsx(j,{name:"check",size:mi,color:l.color.success}):jsx(j,{name:"copy",size:mi,color:l.color.text.timestamp})}):null,t==="assistant"&&o!==void 0?Al.map(v=>{let T=a===v.sentiment,S=l.color.sentiment[v.sentiment];return jsx("button",{ref:v.sentiment==="down"?x:void 0,type:"button","aria-pressed":T,"aria-label":v.label,onClick:()=>A(v.sentiment),style:u.iconButton,children:jsx(j,{name:v.sentiment==="up"?"thumbsUp":"thumbsDown",size:mi,color:S,fill:T?S:"transparent",style:v.sentiment==="neutral"?{transform:"rotate(-90deg)"}:void 0})},v.sentiment)}):null]}),P?jsx("p",{role:"status",style:u.thanks,children:b.feedbackThanks}):null,_?jsx("p",{role:"alert",style:u.failed,children:b.feedbackFailed}):null,g?jsx(Ud,{open:true,onSubmit:M,onClose:()=>C(false),returnFocusTo:x}):null]})}i($d,"MessageFooter");function nv(e){let t=e.color,r=e.space,n=e.type;return {footer:{display:"flex",flexDirection:"column",gap:r.xs,paddingTop:r.xs+2},footerUser:{alignItems:"flex-end"},footerAssistant:{alignItems:"flex-start"},row:{display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm+2,minHeight:jd},timestamp:{...k(e,"monoMedium"),fontSize:n.tierSizes.compact.nano,lineHeight:`${n.tierSizes.compact.nano+2}px`,color:e.color.text.timestamp},iconButton:{boxSizing:"border-box",width:lr,height:lr,minWidth:lr,minHeight:lr,margin:`${ -28/2}px 0`,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},thanks:{margin:0,...k(e,"regular"),fontSize:n.size.caption,color:t.text.secondary},failed:{margin:0,...k(e,"regular"),fontSize:n.size.caption,color:t.danger}}}i(nv,"makeStyles");var Wd="#000000",ov="#83E0B4",iv=Object.freeze([Object.freeze({id:"breed-health-miss",intent:"send",label:"What {breed} health issue do owners miss most?",fallbackLabel:"What {species} health issue do owners miss most?",background:"#A0C4F6",borderColor:"rgba(0,0,0,0.5)",borderWidth:1.25}),Object.freeze({id:"attention-at-age",intent:"send",label:"What changes should I expect at {ageYears} years old?",fallbackLabel:"What changes should I expect as my {species} ages?",background:ov,borderColor:"rgba(0,0,0,0.5)",borderWidth:1.25}),Object.freeze({id:"early-pain-signs",intent:"send",label:"What are early signs of pain?",background:"#FBC558",borderColor:"#10462E",borderWidth:1}),Object.freeze({id:"vet-prep",intent:"vet_report",label:"Help me prep for {petName}\u2019s vet visit.",background:"#FFBDBD",borderColor:"#6D1D14",borderWidth:1.25})]),av=/\s*-\s*(?:small|medium|large|giant|toy)\s*$/i;function sv(e){return e==null?e:e.replace(av,"").trim()}i(sv,"formatBreedForPrompt");var lv=new Set(["","?","-","--",".","n/a","na","none","null","nil","unknown","unspecified","unsure","not sure","not specified","not applicable","no idea","dunno","idk","tbd","other","i dont know","i don't know","dont know","don't know","do not know","i do not know","not known","no clue"]);function uv(e){let t=String(e??"").replace(/\s+/gu," ").trim().toLowerCase().replace(/\u2019/g,"'");return lv.has(t)}i(uv,"isUninformativeBreed");function dv(e){return e==="cat"?"Domestic Short Hair Mix":"Mixed Breed"}i(dv,"unspecifiedBreedLabel");function cv(e,t){return uv(e)?dv(t):String(e).replace(/\s+/gu," ").trim()}i(cv,"resolveBreedLabel");function Kd(e){let t=e?.name?.trim()||b.emptyTitlePetFallback;return $(b.emptyTitle,{petName:t})}i(Kd,"emptyStateTitle");function qd(e){let t=Jo(e?.species),r=t==="cat"?"my cat":"my dog",n=e?.name?.trim()||null,o=n||r,a=cv(sv(e?.breed),t)||null,s=ei(e?.ageYears),l=s===null?null:String(s);return Object.freeze(iv.map(u=>{let c=u.label.includes("{breed}"),d=u.label.includes("{ageYears}"),f=u.fallbackLabel!==void 0&&(c&&!a||d&&!l)&&u.fallbackLabel?u.fallbackLabel:u.label,y=$(f,{petName:o,breed:a??r,species:t,ageYears:l??""}),m=!n&&f.startsWith("{petName}")?y.charAt(0).toUpperCase()+y.slice(1):y;return Object.freeze({id:u.id,intent:u.intent,label:m,background:u.background,borderColor:u.borderColor,borderWidth:u.borderWidth})}))}i(qd,"resolveQuickPrompts");var Yd=44,mv=28,yv=34,gv=-0.8,hv=340;function Xd({pet:e,onSend:t,onVetPrep:r}){let n=N(),o=useMemo(()=>vv(n),[n]),a=X(),s=Kd(e),l=useMemo(()=>qd(e).filter(u=>u.intent!=="vet_report"||r!==null),[e,r]);return jsxs("div",{style:o.wrap,children:[jsx("p",{style:o.title,children:s}),jsx("ul",{"aria-label":s,style:o.list,children:l.map((u,c)=>jsx("li",{children:jsx(bv,{chip:u,delayMs:Ou(a,c),durationMs:a.followUpInMs,style:o.chip,onPress:()=>u.intent==="vet_report"?r?.():t(u.label)})},u.id))})]})}i(Xd,"QuickPrompts");function bv({chip:e,delayMs:t,durationMs:r,style:n,onPress:o}){let a=useRef(null);return useEffect(()=>{let s=xe(a.current,{durationMs:r,delayMs:t,fromOpacity:0});return ()=>s?.cancel()},[r,t]),jsx("button",{ref:a,type:"button",onClick:o,style:{...n,backgroundColor:e.background,border:`${e.borderWidth}px solid ${e.borderColor}`},children:e.label})}i(bv,"Chip");function vv(e){let t=e.space,r=e.radius,n=e.type;return {wrap:{display:"flex",flexDirection:"column",alignItems:"center",gap:t.lg+2},title:{margin:0,maxWidth:hv,...k(e,"bold"),fontSize:xo(e,"heading",mv),lineHeight:`${xo(e,"heading",yv)}px`,letterSpacing:gv,color:e.color.text.primary,textAlign:"center"},list:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",alignItems:"center",gap:t.md},chip:{boxSizing:"border-box",minHeight:Yd,minWidth:Yd,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:`${t.sm+1}px ${t.md+2}px`,borderRadius:r.pill,cursor:"pointer",...k(e,"bold"),fontSize:n.tierSizes.compact.caption,lineHeight:`${n.tierSizes.compact.caption+2}px`,color:Wd,textAlign:"center",whiteSpace:"normal"}}}i(vv,"makeStyles");var yi=/\*\*([^*]+?)\*\*|\*([^*]+?)\*|`([^`]+?)`/g;function Qd(e){return e.includes("*")||e.includes("`")}i(Qd,"hasInlineMarkup");function Zd(e){let t=[],r=0;yi.lastIndex=0;for(let n=yi.exec(e);n!==null;n=yi.exec(e)){n.index>r&&t.push({kind:"text",text:e.slice(r,n.index)});let o=n[1],a=n[2],s=n[3];o!==void 0?t.push({kind:"bold",text:o}):a!==void 0?t.push({kind:"italic",text:a}):s!==void 0&&t.push({kind:"code",text:s}),r=n.index+n[0].length;}return r<e.length&&t.push({kind:"text",text:e.slice(r)}),t}i(Zd,"tokenizeInlineMarkdown");function Jd(e,t){return Qd(e)?Zd(e).map((r,n)=>{switch(r.kind){case "bold":return jsx("strong",{style:t.bold,children:r.text},n);case "italic":return t.italic?jsx("em",{style:t.italic,children:r.text},n):r.text;case "code":return t.code?jsx("code",{style:t.code,children:r.text},n):r.text;default:return r.text}}):e}i(Jd,"renderInlineMarkdown");var ec=6,xv=3.5,tc=520,Tv=Math.round(tc*.18),hi=.44,kv=.5,Pv=[0,1,2];function rc(){let e=N(),t=useMemo(()=>wv(e),[e]),r=!e.motion.reducedMotion;return jsx("div",{role:"img","aria-label":b.typing,style:t.card,children:Pv.map(n=>r?jsx(_v,{index:n,style:t.dot},n):jsx("div",{style:{...t.dot,...t.dotStatic}},n))})}i(rc,"TypingIndicator");function _v({index:e,style:t}){let r=useRef(null);return useEffect(()=>{let n=r.current;if(n===null||typeof n.animate!="function")return;let o=n.animate([{opacity:hi,transform:"translateY(0)"},{opacity:1,transform:`translateY(-${xv}px)`},{opacity:hi,transform:"translateY(0)"}],{duration:tc,iterations:1/0,delay:e*Tv,easing:"ease-in-out"});return ()=>o.cancel()},[e]),jsx("div",{ref:r,style:{...t,opacity:hi}})}i(_v,"AnimatedDot");function wv(e){let t=e.color,r=e.space,n=e.radius;return {card:{boxSizing:"border-box",alignSelf:"flex-start",display:"flex",flexDirection:"row",alignItems:"center",gap:r.xs,padding:`${r.sm}px ${r.md}px`,backgroundColor:t.surfaceCream,borderRadius:n.md,border:`1px solid ${t.brandBorder}`},dot:{width:ec,height:ec,borderRadius:n.pill,backgroundColor:t.brand},dotStatic:{opacity:kv}}}i(wv,"makeStyles");var Ge=44,At=22,Av=12,Ov=20,Fv=13,Mv=16,Dv=.75;function oc({surface:e,vetEntry:t,renderVetAction:r,onFindVet:n}){let o=N(),a=useMemo(()=>Uv(o),[o]),s=X(),l=Qo(e.showBanner,s.bannerOutMs),u=Qo(e.showCompactIcon,s.iconOutMs);return jsxs(Fragment,{children:[l.present&&e.tier!==null&&e.source!==null?jsx(Lv,{surface:e,exiting:l.exiting,styles:a,action:e.showVetAction?jsx(Nv,{tier:e.tier,styles:a,vetEntry:t,renderVetAction:r,onFindVet:n}):null},e.signature??"banner"):null,u.present?jsx(zv,{exiting:u.exiting,onExpand:e.expand,styles:a}):null]})}i(oc,"UrgencyBanner");function Lv({surface:e,exiting:t,styles:r,action:n}){let o=useRef(null),a=X();useEffect(()=>{let c=xe(o.current,{durationMs:a.bannerInMs,fromOpacity:0});return ()=>c?.cancel()},[a.bannerInMs]),useEffect(()=>{t&&Xo(o.current,a.bannerOutMs);},[t,a.bannerOutMs]);let s=e.tier,l=e.source;if(s===null||l===null)return null;let u=s.level==="emergency"||s.level==="schedule_soon";return jsxs("div",{ref:o,role:u?"alert":"status","aria-hidden":t?true:void 0,style:{...r.banner,borderColor:s.borderColor,backgroundColor:s.backgroundColor},children:[jsx("p",{style:{...r.label,color:s.textColor},children:s.label}),l.reason?jsx("p",{style:{...r.reason,color:s.reasonColor},children:l.reason}):null,n,jsx("button",{type:"button",onClick:e.dismiss,"aria-label":e.dismissLabel??b.close,style:r.dismissHit,children:jsx("span",{"aria-hidden":"true",style:r.dismissDisc,children:jsx(j,{name:"x",size:Av,color:s.textColor,strokeWidth:2.25})})})]})}i(Lv,"Banner");function Nv({tier:e,styles:t,vetEntry:r,renderVetAction:n,onFindVet:o}){let a=N(),s=e.level,l=r.available?r.open:o!==void 0?()=>{he(o,s);}:null,u=Ml(a.slots.vetVisitButton),c=u?.textColor??e.textColor,d=l===null?null:jsxs("button",{type:"button",onClick:l,"aria-label":b.findVetA11y,style:{...t.pill,borderColor:e.borderColor,backgroundColor:e.pillColor,color:e.textColor,...Se(u),...Re(u)},children:[jsx(j,{name:"mapPin",size:Fv,color:c}),jsx("span",{children:b.findVet})]});return n!==void 0?jsx("div",{style:t.actionRow,children:jsx(gt,{render:()=>n(s),fallback:d,resetKey:s})}):d===null?null:jsx("div",{style:t.actionRow,children:d})}i(Nv,"VetAction");function zv({exiting:e,onExpand:t,styles:r}){let n=useRef(null),o=X(),a=N();return useEffect(()=>{let s=xe(n.current,{durationMs:o.iconInMs,fromOpacity:0});return ()=>s?.cancel()},[o.iconInMs]),useEffect(()=>{e&&Xo(n.current,o.iconOutMs);},[e,o.iconOutMs]),jsx("div",{ref:n,"aria-hidden":e?true:void 0,style:r.iconRow,children:jsx("button",{type:"button",onClick:t,"aria-label":b.showLatestVetAlert,style:r.iconButton,children:jsx(j,{name:"info",size:Ov,color:a.color.text.muted})})})}i(zv,"CompactIcon");function Uv(e){let t=e.space,r=e.radius,n=e.type,o=n.tierSizes.compact,a=n.tierSizes.control;return {banner:{position:"relative",boxSizing:"border-box",margin:`0 ${t.lg}px ${t.xs}px`,padding:`${t.sm}px ${t.md+2}px`,borderRadius:Mv,borderStyle:"solid",borderWidth:Dv,display:"flex",flexDirection:"column",gap:2},label:{margin:0,paddingRight:At,...k(e,"monoBold"),fontSize:o.caption,lineHeight:`${o.caption+3}px`},reason:{margin:0,paddingRight:At,...k(e,"regular"),fontSize:n.size.caption,lineHeight:`${n.size.caption+6}px`,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},actionRow:{display:"flex",flexDirection:"row",marginTop:t.xs},pill:{boxSizing:"border-box",minHeight:Ge,display:"inline-flex",flexDirection:"row",alignItems:"center",gap:t.xs+2,margin:0,padding:`${t.xs+1}px ${t.sm+2}px`,borderRadius:r.pill,borderStyle:"solid",borderWidth:1,cursor:"pointer",...k(e,"monoBold"),fontSize:a.caption,lineHeight:`${a.caption+3}px`},dismissHit:{position:"absolute",top:6-(Ge-At)/2,right:6-(Ge-At)/2,boxSizing:"border-box",width:Ge,height:Ge,minWidth:Ge,minHeight:Ge,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},dismissDisc:{boxSizing:"border-box",width:At,height:At,borderRadius:r.pill,display:"inline-flex",alignItems:"center",justifyContent:"center"},iconRow:{display:"flex",flexDirection:"row",justifyContent:"flex-end",padding:`2px ${t.lg}px ${t.xs}px`},iconButton:{boxSizing:"border-box",minWidth:Ge,minHeight:Ge,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"}}}i(Uv,"makeStyles");var jv=300,ic=120,vn=44,pc=120,Vv="12%",$v=480,Wv=18,Kv="86%",En=15,ac=22,vi=.5,Ei={y:2,blur:8,alpha:.04},qv=.6,Gv=22,Yv=48,Ci=1.25,Xv="6px 18px 6px 14px",Qv=14,Ri={y:2,blur:12,alpha:.04},Zv=36,sc=20,Si=36,Jv=24,eE=22,tE=.4,rE=.5,lc=2,uc=24,nE=3,oE=900,iE=20,aE=24,sE=on(),Rn=Object.freeze([]);function fc(e){let{style:t,className:r,renderPending:n}=e;return jsx(Po,{capability:"chat",style:t,className:r,...n?{renderPending:n}:{},children:jsx(lE,{...e})})}i(fc,"EverfurChat");function lE(e){let{petRef:t,conversationId:r,style:n,className:o,renderPending:a,onPetChange:s,onVetPrep:l,onFindVet:u,renderVetAction:c,pet:d,onAddPet:p,checkinTarget:f,initialAsk:y,composerSeed:m,lifecycle:R,draftStore:g,vetReturnTo:C,vetUsState:P}=e,I=e.attachments!==false,_=e.attachments===false?void 0:e.attachments?.maxPerMessage,h=e.dictation!==false,{theme:x,styles:A}=Te(),M=useMemo(()=>uu(t,r),[t,r]),v=tr(M),T=su(v),S=useRef(null),O=dE(v),z=Y(),V=Zr(),K=useMemo(()=>du(V.pets,v.petRef),[V.pets,v.petRef]),Q=useMemo(()=>p===void 0?null:()=>{he(p);},[p]),B=useCallback(ye=>{z.handle.setActivePet(ye),he(s,ye);},[z.handle,s]),le=ru(v),Ie=Hu(),Ae=useRef(null),Oe=(v.hasUnreadThreads??false)||(v.unreadCount??0)>0||le.rows.some(ye=>ye.unreadCount!==null&&ye.unreadCount>0);Yl(v.openCheckin,f),Vl(v.askEverfur,v.isBootstrapping,y);let nt=useMemo(()=>Mo(m),[m]);ql(R,{conversationId:v.conversationId===null?null:String(v.conversationId),isTurnInFlight:v.isStreaming,refresh:v.refreshActiveThread});let xn=au(useMemo(()=>iu(v.messages),[v.messages])),Ft=useMemo(()=>fu(v.petRef,C===void 0&&P===void 0?void 0:{returnTo:C,usState:P}),[v.petRef,C,P]),U=Tu(Ft),oe=U.open,me=useMemo(()=>({available:U.available,open:i(()=>{oe();},"open")}),[U.available,oe]),Tn=useMemo(()=>me.available?me.open:u!==void 0?()=>{he(u,"emergency");}:null,[me,u]),cr=useMemo(()=>l!==void 0?()=>{he(l,v.petRef);}:me.available?me.open:null,[l,v.petRef,me]),Ye=qr({transport:sE,..._!==void 0?{maxPerMessage:_}:{}}),kn=uE(v.messages),[yc,Ti]=useState(null),ki=useRef(null),Pi=useCallback((ye,Pn)=>{ki.current=Pn,Ti(ye);},[]),gc=useCallback(()=>Ti(null),[]),hc=useCallback(ye=>{v.send(ye),S.current?.focus();},[v.send]),bc=useCallback((ye,Pn)=>{kn.record(ye,Pn),Ye.s3Keys.length>0?v.send(ye,{imageS3Keys:Ye.s3Keys}):v.send(ye),Ye.clear();},[v.send,Ye,kn]),vc=z.runtime.registry?.services?.telemetry??null;return jsxs("div",{className:o,style:{...A.container,...n},children:[jsx(ud,{pets:V.pets,activePet:K,unread:Oe,onOpenHistory:le.open?le.close:le.show,historyTriggerRef:Ae,onSelectPet:B,onAddPet:Q,vetEntry:me.available?me.open:null}),d!==void 0?jsx(pE,{petRef:t??null,pet:d,onRegistered:V.refresh}):null,jsxs("div",{style:A.split,children:[jsx(Ld,{chat:v,history:le,mode:Ie?"rail":"dialog",returnFocusTo:Ae}),jsxs("div",{style:A.main,children:[jsx(oc,{surface:xn,vetEntry:me,renderVetAction:c,onFindVet:u}),jsx("div",{style:A.body,children:mE(T,v,hc,a,K,cr,kn.imagesFor,Pi,Q,Tn)}),jsx(cE,{send:bc,draftScope:v.send,stop:v.stop,isStreaming:v.isStreaming,inputRef:S,conversationId:v.conversationId,seed:nt,draftStore:g,attachments:I&&Ye.available?Ye:null,onPreview:Pi,dictation:h,pet:K,telemetry:vc}),jsx(pu,{}),x.meta.hidePoweredBy?null:jsx("p",{style:A.poweredBy,children:b.poweredBy})]})]}),jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",style:xt,children:O}),jsx(wu,{image:yc,onClose:gc,returnFocusTo:ki})]})}i(lE,"ChatBody");function uE(e){let t=useRef({pending:[],byMessage:new Map}),r=useRef(e);r.current=e;let n=useCallback((a,s)=>{s.length!==0&&t.current.pending.push({text:a,images:s,before:new Set(r.current.map(l=>l.id))});},[]),o=useCallback(a=>{let s=t.current,l=s.byMessage.get(a.id);if(l!==void 0)return l;if(a.role!=="user")return Rn;let u=s.pending.findIndex(d=>d.text===a.text&&!d.before.has(a.id));if(u<0)return Rn;let[c]=s.pending.splice(u,1);return c===void 0?Rn:(s.byMessage.set(a.id,c.images),c.images)},[]);return useMemo(()=>({record:n,imagesFor:o}),[n,o])}i(uE,"useSentImages");function dE(e){let t=Uo(e.messages,e.isStreaming),[r,n]=useState({send:e.send,id:e.conversationId,text:""}),o=useRef(false),a=useRef({send:e.send,id:e.conversationId});return useEffect(()=>{let s=a.current;if((s.send!==e.send||s.id!==e.conversationId)&&(o.current=false),a.current={send:e.send,id:e.conversationId},o.current&&!e.isStreaming){let l=e.messages[e.messages.length-1];n({send:e.send,id:e.conversationId,text:l!==void 0&&l.role==="assistant"?l.text:""});}o.current=e.isStreaming;},[e.isStreaming,e.messages,e.send,e.conversationId]),t?b.typing:r.send===e.send&&r.id===e.conversationId?r.text:""}i(dE,"useReplyAnnouncement");function cE({send:e,draftScope:t,stop:r,isStreaming:n,inputRef:o,conversationId:a,seed:s,draftStore:l,attachments:u,onPreview:c,dictation:d,pet:p,telemetry:f}){let{theme:y,styles:m}=Te(),[R,g]=Zl(t,a,s);Jl(l,a===null?null:String(a),R,g);let[C,P]=useState(false),I=y.meta.placeholder??b.placeholder,_=useMemo(()=>Td({name:p?.name??null,breed:p?.breed??null}),[p?.name,p?.breed]),h=Id({enabled:d,input:R,setInput:g,phrases:_,maxLength:Et,telemetry:f}),x=h.cancel,A=h.active,M=useRef(null),v=useRef(new Set),T=useRef(new Set);useEffect(()=>()=>{for(let U of v.current)Cn(U);for(let U of T.current)Cn(U);},[]);let S=useCallback(U=>{if(u===null)return;let oe=Array.from(U.target.files??[]);if(U.target.value="",oe.length===0)return;u.dismissRejected();let me=oe.map(an),Tn=u.add(me);me.forEach((cr,Ye)=>{Tn[Ye]?.ok===true?v.current.add(cr.uri):Cn(cr.uri);});},[u]),O=useCallback(U=>{if(u===null)return;let oe=u.attachments.find(me=>me.id===U);u.remove(U),oe!==void 0&&v.current.delete(oe.previewUri)&&Cn(oe.previewUri);},[u]),z=u!==null&&u.uploading,V=u!==null&&u.failed,K=z||V,Q=useMemo(()=>[...R].length>Et,[R]),B=useCallback(()=>{if(R.trim().length===0||[...R].length>Et||K)return;A&&x();let U=u===null?Rn:u.attachments.flatMap(oe=>oe.status==="uploaded"?[{uri:oe.previewUri,filename:oe.filename}]:[]);for(let oe of U)v.current.delete(oe.uri),T.current.add(oe.uri);e(R,U),g("");},[R,e,K,A,x,u,g]),le=useCallback(()=>{r();},[r]),Ie=useCallback(U=>{U.key!=="Enter"||U.shiftKey||U.altKey||U.ctrlKey||U.metaKey||U.nativeEvent.isComposing||(U.preventDefault(),B());},[B]),Ae=useCallback(U=>{A&&x(),g(U.target.value);},[A,x,g]);useLayoutEffect(()=>{let U=o.current;U!==null&&(U.style.height="auto",U.style.height=`${Math.min(U.scrollHeight,pc)}px`);},[R,o]);let Oe=Q||K,nt=u!==null&&u.attachments.length>=u.maxPerMessage,xn=useCallback(U=>{U.target===U.currentTarget&&(U.preventDefault(),o.current?.focus());},[o]),Ft=y.slots.sendButton?.textColor??y.color.brandInk;return jsxs("div",{style:m.composerBlock,children:[V?jsx("p",{role:"alert",style:m.composerError,children:b.attachmentsFailedBlocked}):null,u!==null&&u.rejected!==null?jsx("p",{role:"alert",style:m.composerError,children:Ll(u.rejected)}):null,h.supported&&h.error!==null?jsx("p",{role:"alert",style:m.composerError,children:Od(h.error)}):null,u!==null?jsx(qu,{attachments:u.attachments,onRetry:u.retry,onRemove:O,onPreview:c}):null,jsxs("div",{style:{...m.composer,...C?m.composerFocused:null},onMouseDown:xn,children:[u!==null?jsxs(Fragment,{children:[jsx("input",{ref:M,type:"file",accept:Ka,multiple:u.maxPerMessage>1,onChange:S,tabIndex:-1,"aria-hidden":"true",style:xt}),jsx("button",{type:"button",onClick:()=>M.current?.click(),"aria-label":Nl(u.attachments.length,u.maxPerMessage),"aria-disabled":nt,style:{...m.iconControl,...nt?m.actionButtonDisabled:null},children:jsx(j,{name:"upload",size:iE,color:y.color.brandInk})})]}):null,jsxs("div",{style:m.inputWrap,children:[R.length===0?jsx("span",{"aria-hidden":"true",style:m.placeholder,children:I}):null,jsx("textarea",{ref:o,rows:1,value:R,onChange:Ae,onKeyDown:Ie,onFocus:()=>P(true),onBlur:()=>P(false),"aria-label":I,style:m.input})]}),h.supported?jsx(Fd,{active:h.active,listening:h.status==="listening",elapsedMs:h.elapsedMs,onToggle:h.toggle}):null,n?jsx("button",{type:"button",onClick:le,"aria-label":b.stop,style:m.actionButton,children:jsx("span",{"data-everfur-send-disc":"",style:m.sendDisc,children:jsx(j,{name:"square",size:eE,color:Ft,fill:Ft})})}):jsx("button",{type:"button",onClick:B,"aria-label":b.send,"aria-disabled":Oe,style:{...m.actionButton,...Oe?m.actionButtonDisabled:null},children:jsx("span",{"data-everfur-send-disc":"",style:m.sendDisc,children:jsx(j,{name:"send",size:Jv,color:Ft})})})]})]})}i(cE,"Composer");function pE({petRef:e,pet:t,onRegistered:r}){let{styles:n}=Te(),o=Bl(e,t,r);return o.status!=="failed"||o.error===null?null:jsxs("div",{role:"alert",style:n.setupNotice,children:[jsx("span",{style:n.setupNoticeText,children:o.error.displayMessage}),jsx("button",{type:"button",onClick:o.retry,style:n.setupNoticeAction,children:b.retry})]})}i(pE,"PetSetupNotice");function fE({notice:e,onRetry:t,onStartNew:r}){let{styles:n}=Te(),o=e.tone==="error";return jsxs("div",{role:"alert",style:{...n.turnNotice,...o?n.turnNoticeError:null},children:[jsx("p",{style:{...n.turnNoticeTitle,...o?n.turnNoticeTitleError:null},children:e.title}),jsx("p",{style:n.turnNoticeBody,children:e.body}),jsx("button",{type:"button",onClick:e.action==="startNew"?r:t,style:n.turnNoticeAction,children:e.actionLabel})]})}i(fE,"TurnNoticeCard");function Cn(e){try{URL.revokeObjectURL(e);}catch{}}i(Cn,"revokeObjectUrl");function mE(e,t,r,n,o,a,s,l,u,c){switch(e){case "loading":return n?jsx(gt,{render:n,fallback:jsx(dc,{})}):jsx(dc,{});case "empty":return jsx(gE,{prompts:t.suggestedPrompts,onSelectPrompt:r,pet:o,onVetPrep:a});case "error":return jsx(bE,{error:t.error,onRetry:t.retryLast,onAddPet:u});case "populated":return jsx(vE,{chat:t,onSelectPrompt:r,onAnswerCheckin:t.petRef?t.answerCheckin:null,imagesFor:s,onPreview:l,onCheckinFindVet:c});default:return Xe(e)}}i(mE,"renderView");function dc(){let{styles:e}=Te(),[t,r]=useState(false);return useEffect(()=>{let n=setTimeout(()=>r(true),jv);return ()=>clearTimeout(n)},[]),jsx("div",{role:"status","aria-busy":"true","aria-label":b.loading,style:e.centered,children:t?jsx(yE,{}):null})}i(dc,"LoadingState");function yE(){let{theme:e,styles:t}=Te(),r=useRef(null),n=!e.motion.reducedMotion;return useEffect(()=>{let o=r.current;if(!n||o===null||typeof o.animate!="function")return;let a=o.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:oE,iterations:1/0,easing:"linear"});return ()=>a.cancel()},[n]),jsx("div",{ref:r,"aria-hidden":"true",style:t.spinner})}i(yE,"Spinner");function gE({prompts:e,onSelectPrompt:t,pet:r,onVetPrep:n}){let{styles:o}=Te();return jsx("div",{role:"region","aria-label":b.empty,style:o.emptyScroller,children:jsxs("div",{style:o.emptyContent,children:[jsx(Xd,{pet:r,onSend:t,onVetPrep:n}),jsx(mc,{prompts:e,onSelectPrompt:t})]})})}i(gE,"EmptyState");function mc({prompts:e,onSelectPrompt:t}){let{styles:r}=Te(),n=useId();return e.length===0?null:jsxs("div",{style:r.followUps,children:[jsx("p",{id:n,style:r.followUpsLabel,children:b.followUps}),jsx("ul",{"aria-labelledby":n,style:r.followUpList,children:e.map((o,a)=>jsx(hE,{prompt:o,index:a,onSelectPrompt:t},o))})]})}i(mc,"FollowUps");function hE({prompt:e,index:t,onSelectPrompt:r}){let{styles:n}=Te(),o=X(),a=useRef(null);return useEffect(()=>{let s=xe(a.current,{durationMs:o.followUpInMs,delayMs:t*o.followUpStaggerMs,fromOpacity:0});return ()=>s?.cancel()},[o,t]),jsx("li",{ref:a,style:t>0?n.followUpDivider:void 0,children:jsx("button",{type:"button",onClick:()=>r(e),style:n.followUpRow,children:e})})}i(hE,"FollowUpRow");function bE({error:e,onRetry:t,onAddPet:r}){let{styles:n}=Te(),o=r!==null&&Hl(e)?r:null;return jsxs("div",{role:"alert",style:n.centered,children:[jsx("p",{style:n.errorText,children:e.displayMessage}),o!==null?jsx("button",{type:"button",onClick:o,style:n.retryButton,children:b.addPet}):null,e.retryable?jsx("button",{type:"button",onClick:t,style:n.retryButton,children:b.retry}):null]})}i(bE,"ErrorState");function vE({chat:e,onSelectPrompt:t,onAnswerCheckin:r,imagesFor:n,onPreview:o,onCheckinFindVet:a}){let{styles:s}=Te(),{messages:l,suggestedPrompts:u,isStreaming:c}=e,d=Uo(l,c),p=lu(e),f=useRef(null),y=useRef(true),m=useCallback(()=>{let C=f.current;C!==null&&(y.current=C.scrollHeight-C.scrollTop-C.clientHeight<=aE);},[]);useLayoutEffect(()=>{let C=f.current;C!==null&&y.current&&(C.scrollTop=C.scrollHeight);},[l,d,c]);let R=l[l.length-1],g=c&&R!==void 0&&R.role==="assistant"?R.id:null;return jsxs("div",{ref:f,onScroll:m,role:"region","aria-label":b.transcript,tabIndex:0,style:s.list,children:[e.historyCursor?jsx("button",{type:"button",disabled:e.isLoadingHistory,onClick:()=>{e.loadOlderMessages();},style:s.earlierButton,children:e.isLoadingHistory?W.loadingEarlier:W.earlier}):null,jsx("ol",{style:s.messageList,children:l.map(C=>C.checkin?jsx(fd,{message:C,checkin:C.checkin,onAnswer:r,onFindVet:a},C.id):jsx(EE,{message:C,streaming:C.id===g,chat:e,images:n(C),onPreview:o},C.id))}),e.reconnecting===true?jsx("p",{style:s.reconnectingCaption,children:b.reconnecting}):null,d?jsx(rc,{}):null,p!==null?jsx(fE,{notice:p,onRetry:e.retryLast,onStartNew:e.newConversation}):null,c?null:jsx(mc,{prompts:u,onSelectPrompt:t})]})}i(vE,"PopulatedState");function EE({message:e,streaming:t,chat:r,images:n,onPreview:o}){let{styles:a}=Te(),s=X(),l=useRef(null),u=e.role==="user";useEffect(()=>{let f=xe(l.current,{durationMs:s.messageInMs,fromOpacity:0});return ()=>f?.cancel()},[]);let c=Lu(e.text,t&&!u,s),d=u?b.senderUser:b.senderAssistant,p=e.pending!==true&&!t;return jsxs("li",{ref:l,style:{...a.row,...u?a.rowUser:a.rowAssistant},"aria-busy":e.pending===true?true:void 0,children:[jsxs("div",{style:{...a.bubble,...u?a.bubbleUser:a.bubbleAssistant,...e.pending?a.bubblePending:null},children:[jsx("span",{style:xt,children:`${d}: `}),n.length>0?jsx(Gu,{images:n,onPreview:o}):null,jsx("p",{style:u?a.bubbleTextUser:a.bubbleTextAssistant,children:u?c:Jd(c,{bold:a.bubbleBold,italic:a.bubbleItalic,code:a.bubbleCode})})]}),!u&&!t?jsx(xd,{citations:e.citations}):null,p?jsx($d,{role:e.role,text:e.text,createdAt:e.createdAt,...e.responseId!==void 0?{responseId:e.responseId}:{},sentiment:r.sentimentByMessage[e.id]??null,feedback:r.feedback}):null]})}i(EE,"MessageRow");function dr(e,t){return Math.round(e*t*10)/10}i(dr,"scaledPx");function Te(){let e=N(),t=useMemo(()=>CE(e),[e]);return {theme:e,styles:t}}i(Te,"useChatTheme");function CE(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=e.slots,s=To(o.family),l=`${Math.round(o.size.body*o.lineHeight.snug)}px`,u=o.tierSizes.control,c=o.tierSizes.compact,d={boxSizing:"border-box",minHeight:vn,minWidth:vn,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,border:0,cursor:"pointer",...k(e,"medium"),fontSize:u.body,lineHeight:`${Math.round(u.body*o.lineHeight.normal)}px`};return {container:{boxSizing:"border-box",position:"relative",display:"flex",flexDirection:"column",minHeight:ic,height:"100%",backgroundColor:t.chatGround,color:t.text.primary,fontFamily:s},split:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"row"},main:{flex:"1 1 auto",minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},body:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"column"},centered:{boxSizing:"border-box",flex:"1 1 auto",minHeight:ic,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:r.xl},spinner:{boxSizing:"border-box",width:uc,height:uc,borderRadius:n.pill,border:`${nE}px solid ${t.brandSofter}`,borderTopColor:t.brandInk},emptyScroller:{boxSizing:"border-box",flex:"1 1 auto",minHeight:0,overflowY:"auto"},emptyContent:{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start",minHeight:$v,paddingTop:Vv,paddingLeft:r.lg,paddingRight:r.lg,paddingBottom:r.lg,gap:Wv},errorText:{margin:`0 0 ${r.md}px`,...k(e,"regular"),fontSize:o.size.subtitle,lineHeight:`${Math.round(o.size.subtitle*o.lineHeight.snug)}px`,color:t.danger,textAlign:"center"},retryButton:{...d,padding:`${r.sm}px ${r.xl}px`,borderRadius:n.pill,backgroundColor:t.brand,color:t.onPrimary,...Se(a.primaryButton),...Re(a.primaryButton)},setupNotice:{boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"space-between",gap:r.sm,padding:`${r.sm}px ${r.lg}px`,backgroundColor:t.surfaceCream},setupNoticeText:{...k(e,"regular"),fontSize:o.size.caption,color:t.danger},setupNoticeAction:{...d,padding:0,background:"none",border:"none",color:t.brandInk,fontSize:o.size.caption,minHeight:vn},turnNotice:{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:r.xs,padding:r.md,borderRadius:n.lg,backgroundColor:t.surfaceCream,border:`1px solid ${t.brandBorder}`},turnNoticeError:{border:`1px solid ${t.danger}`},turnNoticeTitle:{...k(e,"bold"),margin:0,fontSize:o.size.body,color:t.text.primary},turnNoticeTitleError:{color:t.danger},reconnectingCaption:{...k(e,"medium"),margin:0,fontSize:o.size.caption,color:t.text.secondary,textTransform:"uppercase",letterSpacing:"0.5px"},turnNoticeBody:{...k(e,"regular"),margin:0,fontSize:o.size.caption,color:t.text.secondary},turnNoticeAction:{...d,padding:0,background:"none",border:"none",color:t.brandInk,fontSize:o.size.body,minHeight:vn},earlierButton:{...d,alignSelf:"center",padding:`0 ${r.md+r.xs/2}px`,backgroundColor:"transparent",color:t.linkInk,...k(e,"monoBold"),fontSize:c.tiny,lineHeight:`${Math.round(c.tiny*o.lineHeight.snug)}px`,letterSpacing:rE,textTransform:"uppercase"},list:{boxSizing:"border-box",flex:"1 1 auto",minHeight:0,overflowY:"auto",display:"flex",flexDirection:"column",gap:r.md,padding:r.lg},messageList:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:r.md},row:{display:"flex",flexDirection:"column"},rowUser:{alignItems:"flex-end"},rowAssistant:{alignItems:"flex-start"},bubble:{boxSizing:"border-box",maxWidth:Kv,paddingTop:En,paddingBottom:En,paddingLeft:En,paddingRight:En,borderRadius:n.xl,position:"relative"},bubbleUser:{backgroundColor:t.bubbleUser,borderBottomRightRadius:n.sm,border:`${vi}px solid ${t.accentEdge}`,boxShadow:`0 ${Ei.y}px ${Ei.blur}px ${Yt(t.brand,Ei.alpha)??t.brandSoft}`,...Se(a.userBubble,vi)},bubbleAssistant:{...a.assistantBubble?.backgroundColor===void 0?{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0}:{},...Se(a.assistantBubble,vi)},bubblePending:{opacity:qv},bubbleTextUser:{margin:0,...k(e,"medium"),color:t.onPrimary,fontSize:o.size.body,lineHeight:`${dr(ac,o.scale)}px`,whiteSpace:"pre-wrap",overflowWrap:"anywhere",...Re(a.userBubble)},bubbleTextAssistant:{margin:0,...k(e,"medium"),color:t.text.primary,fontSize:o.size.body,lineHeight:`${dr(ac,o.scale)}px`,whiteSpace:"pre-wrap",overflowWrap:"anywhere",...Re(a.assistantBubble)},bubbleBold:k(e,"bold"),bubbleItalic:{fontStyle:"italic"},bubbleCode:k(e,"mono"),followUps:{boxSizing:"border-box",marginTop:r.sm,borderRadius:n.md,backgroundColor:t.brandSoft,border:`1px solid ${t.brandBorder}`,overflow:"hidden"},followUpsLabel:{margin:0,padding:`${r.md}px ${r.md}px ${r.sm}px`,...k(e,"medium"),color:t.text.secondary,fontSize:c.caption,letterSpacing:o.letterSpacing.eyebrow,textTransform:"uppercase"},followUpList:{listStyle:"none",margin:0,padding:0},followUpRow:{...d,width:"100%",justifyContent:"flex-start",textAlign:"left",padding:`${r.sm}px ${r.md}px`,background:"transparent",color:t.text.primary,...k(e,"regular"),fontSize:o.size.body,lineHeight:l,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},followUpDivider:{borderTop:`1px solid ${t.brandBorder}`},composerBlock:{display:"flex",flexDirection:"column"},composerError:{margin:`${r.xs}px ${r.md}px 0`,...k(e,"regular"),fontSize:o.size.caption,lineHeight:`${Math.round(o.size.caption*o.lineHeight.normal)}px`,color:t.danger},composer:{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center",gap:Qv,minHeight:Yv,margin:`${r.xs}px ${r.md}px ${r.sm}px`,padding:Xv,backgroundColor:t.composerFill,border:`${Ci}px solid ${t.composerBorder}`,borderRadius:Gv,boxShadow:`0 ${Ri.y}px ${Ri.blur}px ${Yt(t.shadow,Ri.alpha)??t.brandSoft}`,...Se(a.composerInput,Ci)},composerFocused:{border:`${Ci}px solid ${a.composerInput?.borderColor??t.brandInk}`,outline:`${lc}px solid ${t.brandInk}`,outlineOffset:lc},inputWrap:{position:"relative",flex:"1 1 auto",minWidth:0,minHeight:dr(Zv,o.scale),display:"flex",alignItems:"center"},placeholder:{position:"absolute",top:"50%",left:0,right:0,transform:"translateY(-50%)",pointerEvents:"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",...k(e,"regular"),fontSize:o.size.body,lineHeight:`${dr(sc,o.scale)}px`,color:t.text.placeholder,...Re(a.composerInput)},input:{boxSizing:"border-box",flex:"1 1 auto",width:"100%",maxHeight:pc,margin:0,padding:0,border:0,outline:"none",resize:"none",background:"transparent",...k(e,"regular"),fontSize:o.size.body,lineHeight:`${dr(sc,o.scale)}px`,color:t.text.primary,...Re(a.composerInput)},iconControl:{...d,flexShrink:0,padding:0,borderRadius:n.pill,background:"transparent",color:t.brandInk},actionButton:{...d,flexShrink:0,padding:0,backgroundColor:"transparent"},sendDisc:{boxSizing:"border-box",width:Si,height:Si,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:Si/2,...Se(a.sendButton)},actionButtonDisabled:{opacity:tE,cursor:"not-allowed"},poweredBy:{margin:0,padding:`0 0 ${r.xs}px`,...k(e,"regular"),color:t.text.muted,fontSize:c.micro,lineHeight:`${Math.round(c.micro*o.lineHeight.normal)}px`,textAlign:"center"}}}i(CE,"makeStyles");function PE(e){let{runtime:t,userRef:r,scopeEpoch:n}=Y(),o=useMemo(()=>Qe(t.registry.services.authFor(r)),[t,r,n]),a=useMemo(()=>({repository:o,petRef:e}),[o,e]),[s,l]=useState({key:a,profile:null,loading:e!==null,error:null}),u=s.key===a?s:{profile:null,loading:e!==null,error:null},c=useRef(0),d=useCallback(async()=>{let p=++c.current;if(a.petRef===null){l({key:a,profile:null,loading:false,error:null});return}l(y=>({key:a,profile:y.key===a?y.profile:null,loading:true,error:null}));let f=await a.repository.getPetProfile(a.petRef);p===c.current&&l(f.ok?{key:a,profile:f.value,loading:false,error:null}:{key:a,profile:null,loading:false,error:f.error});},[a]);return useEffect(()=>(d(),()=>{c.current+=1;}),[d]),useMemo(()=>({profile:u.profile,loading:u.loading,error:u.error,refresh:d}),[u.profile,u.loading,u.error,d])}i(PE,"useEverfurPetProfile");function wE(e){return createElement(Br,{clientTheme:e.clientTheme??null,seams:Kr,children:e.children})}i(wE,"EverfurThemeProvider");export{Po as CapabilityGate,fc as EverfurChat,Z as EverfurConfigError,rg as EverfurProvider,wE as EverfurThemeProvider,pr as EverfurThrownError,lm as THEME_SLOT_KEYS,Rt as THEME_SLOT_NAMES,$t as canonicalPetSpecies,wn as categoryFor,$p as conversationId,Eo as createLocalStorageKv,on as createWebAttachmentTransport,Iy as face,k as faceCss,an as fileToAttachmentHandle,Rc as isErr,Cc as isOk,In as isRetryableCode,jp as petRef,jm as previewTheme,Sc as unwrap,St as useCapability,qr as useChatAttachments,dl as useEverfur,tr as useEverfurChat,PE as useEverfurPetProfile,Zr as useEverfurPets,N as useEverfurTheme,vt as userFacingError,Vp as userRef};