@everfur/sdk 0.5.9 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +66 -0
- package/dist/{Chat-WmdRwC3b.d.cts → Chat-BoAvCWhI.d.cts} +3 -3
- package/dist/{Chat-C9dVhnyt.d.ts → Chat-CHqcgMyw.d.ts} +3 -3
- package/dist/{DepthViews-CBoI9EYy.d.ts → DepthViews-7Y8Ur058.d.ts} +1 -1
- package/dist/{DepthViews-NPFtO5Kz.d.cts → DepthViews-B0g83e_N.d.cts} +1 -1
- package/dist/{DepthViews-DoODlUnQ.d.cts → DepthViews-CT5mQld9.d.cts} +1 -1
- package/dist/{DepthViews-CmxhM8iP.d.ts → DepthViews-Dg2bIon_.d.ts} +1 -1
- package/dist/animations/index.cjs +1 -1
- package/dist/animations/index.d.cts +3 -3
- package/dist/animations/index.d.ts +3 -3
- package/dist/animations/index.js +1 -1
- package/dist/{attachments-OaW36D0H.d.cts → attachments-C3HJNYQ7.d.cts} +2 -2
- package/dist/{attachments-CuFT1o5q.d.ts → attachments-CThFsH4b.d.ts} +5 -5
- package/dist/{attachments-R2oajKPT.d.ts → attachments-CfxsVg7W.d.ts} +2 -2
- package/dist/{attachments-c4mJcIWU.d.cts → attachments-rkox0ewd.d.cts} +5 -5
- package/dist/{bookingCopy-DGQPrisa.d.cts → bookingCopy-Do3zMeXb.d.cts} +2 -2
- package/dist/{bookingCopy-EtPJ4nME.d.ts → bookingCopy-Y3OGdoMT.d.ts} +2 -2
- package/dist/{branding-Ry0em51L.d.ts → branding-ChXm8gxI.d.cts} +135 -3
- package/dist/{branding-DiaCIJZL.d.cts → branding-DYWma2il.d.ts} +135 -3
- package/dist/{casesRepository-Cu8h8gQK.d.ts → casesRepository-BbgXYPxa.d.ts} +1 -1
- package/dist/{casesRepository-DB5c8AAo.d.cts → casesRepository-Jj6t60AY.d.cts} +1 -1
- package/dist/chat/index.cjs +1 -1
- package/dist/chat/index.d.cts +9 -9
- package/dist/chat/index.d.ts +9 -9
- package/dist/chat/index.js +1 -1
- package/dist/client/index.cjs +6 -6
- package/dist/client/index.d.cts +10 -10
- package/dist/client/index.d.ts +10 -10
- package/dist/client/index.js +6 -6
- package/dist/{config-DQFMkaTU.d.cts → config-BZX97FmW.d.cts} +1 -1
- package/dist/{config-DlR_I-0S.d.ts → config-Dfbj5mlx.d.ts} +1 -1
- package/dist/consent/index.cjs +1 -1
- package/dist/consent/index.d.cts +5 -5
- package/dist/consent/index.d.ts +5 -5
- package/dist/consent/index.js +1 -1
- package/dist/{context-CLuquPRB.d.ts → context-Cbe0zYym.d.ts} +7 -7
- package/dist/{context-DZEieVJ5.d.cts → context-DJXnZ1Mx.d.cts} +7 -7
- package/dist/{copy-ptTCT5-J.d.ts → copy-DHekqSKE.d.ts} +2 -2
- package/dist/{copy-B2DOzSSy.d.cts → copy-dKK5KoAQ.d.cts} +2 -2
- package/dist/core/index.cjs +9 -9
- package/dist/core/index.d.cts +15 -15
- package/dist/core/index.d.ts +15 -15
- package/dist/core/index.js +9 -9
- package/dist/{depth-CtyC7HOF.d.ts → depth-CrpRjWGB.d.ts} +2 -2
- package/dist/{depth-DuOyvthD.d.cts → depth-NmWSbvfi.d.cts} +2 -2
- package/dist/{entitlementRepository-DlGwxZ1k.d.cts → entitlementRepository-iL-9vS1i.d.cts} +3 -3
- package/dist/{entitlementRepository-CAtyh8Xt.d.ts → entitlementRepository-tVNazi8R.d.ts} +3 -3
- package/dist/{identity-D_NR9ucT.d.ts → identity-B8rp0L9G.d.ts} +1 -1
- package/dist/{identity-BC9AF3y4.d.cts → identity-D7PO5s9m.d.cts} +1 -1
- package/dist/index.cjs +6 -6
- package/dist/index.d.cts +16 -16
- package/dist/index.d.ts +16 -16
- package/dist/index.js +6 -6
- package/dist/notifications/index.d.cts +2 -2
- package/dist/notifications/index.d.ts +2 -2
- package/dist/{pets-DuuNvKTK.d.ts → pets-BQbXmICf.d.ts} +1 -1
- package/dist/{pets-D7UjvR1A.d.cts → pets-BWx9BKea.d.cts} +1 -1
- package/dist/{petsRepository-C28NKFwy.d.ts → petsRepository-0oBVydl6.d.ts} +1 -1
- package/dist/{petsRepository-llMvpMkp.d.cts → petsRepository-SqIvEMiT.d.cts} +1 -1
- package/dist/photo/index.cjs +1 -1
- package/dist/photo/index.js +1 -1
- package/dist/{ports-Dbw2h_M1.d.cts → ports-ChnzSy4E.d.cts} +4 -4
- package/dist/{ports-s45HNNyc.d.ts → ports-iXPWd7Vt.d.ts} +4 -4
- package/dist/records/depth/index.cjs +1 -1
- package/dist/records/depth/index.d.cts +7 -7
- package/dist/records/depth/index.d.ts +7 -7
- package/dist/records/depth/index.js +1 -1
- package/dist/records/index.cjs +2 -2
- package/dist/records/index.d.cts +9 -9
- package/dist/records/index.d.ts +9 -9
- package/dist/records/index.js +2 -2
- package/dist/{requestFunnel-CqwOiZNJ.d.ts → requestFunnel-CQzz2DIW.d.ts} +2 -2
- package/dist/{requestFunnel-D_o7se38.d.cts → requestFunnel-DAwb7haa.d.cts} +2 -2
- package/dist/{runtimeTypes-DS0RLoKN.d.ts → runtimeTypes-BNOxfmfg.d.ts} +5 -5
- package/dist/{runtimeTypes-BNBENMkz.d.cts → runtimeTypes-DB9-kigO.d.cts} +5 -5
- package/dist/server/events/index.cjs +1 -1
- package/dist/server/events/index.d.cts +2 -2
- package/dist/server/events/index.d.ts +2 -2
- package/dist/server/events/index.js +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.d.cts +3 -3
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +1 -1
- package/dist/televet/booking/index.cjs +1 -1
- package/dist/televet/booking/index.d.cts +6 -6
- package/dist/televet/booking/index.d.ts +6 -6
- package/dist/televet/booking/index.js +1 -1
- package/dist/televet/call/index.cjs +1 -1
- package/dist/televet/call/index.js +1 -1
- package/dist/televet/index.cjs +1 -1
- package/dist/televet/index.js +1 -1
- package/dist/testing/index.d.cts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/rn/index.cjs +1 -1
- package/dist/testing/rn/index.d.cts +9 -9
- package/dist/testing/rn/index.d.ts +9 -9
- package/dist/testing/rn/index.js +1 -1
- package/dist/testing/web/index.d.cts +9 -9
- package/dist/testing/web/index.d.ts +9 -9
- package/dist/{timelineRows-B6nCq30k.d.cts → timelineRows-BuNhzDbH.d.cts} +1 -1
- package/dist/{timelineRows-DacfDpDU.d.ts → timelineRows-Dll2IGFg.d.ts} +1 -1
- package/dist/{tokens-DOTIxrws.d.cts → tokens-ARWZtMOU.d.cts} +6 -1
- package/dist/{tokens-DOTIxrws.d.ts → tokens-ARWZtMOU.d.ts} +6 -1
- package/dist/{typeStyle-DROhJNkh.d.ts → typeStyle-8iEqQmP_.d.ts} +2 -2
- package/dist/{typeStyle-achxqQ-h.d.cts → typeStyle-YCS8dt19.d.cts} +2 -2
- package/dist/{useRecordsDepth-BLK8W646.d.cts → useRecordsDepth-CNEHZJtj.d.cts} +1 -1
- package/dist/{useRecordsDepth-C7guUoLc.d.ts → useRecordsDepth-CuNdne6E.d.ts} +1 -1
- package/dist/video/index.cjs +1 -1
- package/dist/video/index.js +1 -1
- package/dist/{view-BF9oW2GJ.d.cts → view-BhqWlYrZ.d.cts} +2 -2
- package/dist/{view-B6JsD22K.d.ts → view-DFy8EDwf.d.ts} +2 -2
- package/dist/web/consent/index.cjs +1 -1
- package/dist/web/consent/index.d.cts +5 -5
- package/dist/web/consent/index.d.ts +5 -5
- package/dist/web/consent/index.js +1 -1
- package/dist/web/index.cjs +7 -7
- package/dist/web/index.d.cts +19 -19
- package/dist/web/index.d.ts +19 -19
- package/dist/web/index.js +7 -7
- package/dist/web/notifications/index.d.cts +3 -3
- package/dist/web/notifications/index.d.ts +3 -3
- package/dist/web/records/depth/index.cjs +1 -1
- package/dist/web/records/depth/index.d.cts +7 -7
- package/dist/web/records/depth/index.d.ts +7 -7
- package/dist/web/records/depth/index.js +1 -1
- package/dist/web/records/index.cjs +3 -3
- package/dist/web/records/index.d.cts +9 -9
- package/dist/web/records/index.d.ts +9 -9
- package/dist/web/records/index.js +3 -3
- package/dist/web/televet/booking/index.cjs +2 -2
- package/dist/web/televet/booking/index.d.cts +7 -7
- package/dist/web/televet/booking/index.d.ts +7 -7
- package/dist/web/televet/booking/index.js +2 -2
- package/dist/web/televet/call/index.cjs +1 -1
- package/dist/web/televet/call/index.js +1 -1
- package/dist/web/televet/index.cjs +3 -3
- package/dist/web/televet/index.js +3 -3
- package/package.json +1 -1
package/dist/web/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {createContext,useContext,createElement,useSyncExternalStore,useMemo,useState,useRef,useEffect,useCallback,useReducer,useLayoutEffect,Component,useId}from'react';import {z as z$1}from'zod';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var sf=Object.defineProperty;var i=(e,t)=>sf(e,"name",{value:t,configurable:true});function M(e,t){return Object.freeze(t===void 0?{ok:true,value:e}:{ok:true,value:e,warning:t})}i(M,"ok");function E(e){return Object.freeze({ok:false,error:e})}i(E,"err");function lf(e){return e.ok}i(lf,"isOk");function uf(e){return !e.ok}i(uf,"isErr");var wr=class wr 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,wr.prototype);}};i(wr,"EverfurThrownError");var _r=wr;function df(e){if(e.ok)return e.value;throw new _r(e.error)}i(df,"unwrap");var Ir=class Ir extends Error{constructor(t,r){super(r),this.name="EverfurConfigError",this.kind=t,Object.setPrototypeOf(this,Ir.prototype);}};i(Ir,"EverfurConfigError");var J=Ir;var Ar=Object.freeze({track(){},trackExpectedFailure(){}});var Kn=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(Kn.map(e=>e.wireCode));var cf=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"}),ba=Object.freeze(Kn.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:cf[e.wireCode]}))),pf=new Map(ba.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),ff=Object.freeze(["http_envelope",...[...new Set(ba.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function Or(e,t){if(typeof e!="string")return;let r=e.trim().toUpperCase();if(r.length!==0)for(let n of [t??"http_envelope",...ff]){let o=pf.get(n+r);if(o)return o}}i(Or,"contractErrorFor");function mf(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}i(mf,"contractDocUrl");function va(e){return null}i(va,"publishedDocUrl");var yf=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 Gn(e){return yf[e]}i(Gn,"categoryFor");function Ae(e){let t=Or(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":case "TELEVETRATELIMITED":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(Ae,"fromWire");function Ea(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(Ea,"fromHttpStatus");var gf=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function je(e){return gf.has(e)}i(je,"isAutoRetryable");var hf=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function qn(e){return je(e)||hf.has(e)}i(qn,"isRetryableCode");function Fr(e,t=false){return t||je(e)}i(Fr,"shouldRetry");var bf=500,Yn=8e3,Wt=4;function Mr(e,t=Math.random){let r=Math.max(0,e),n=Math.min(bf*2**r,Yn);return Math.floor(t()*n)}i(Mr,"backoffDelayMs");function Ca(e){return e==="conversationNotFound"}i(Ca,"canRecreateOnNotFound");var Sa=Object.freeze({shouldRetry(e,t){return je(e)&&t<Wt},maxAttempts(){return Wt}});var Ra=Object.freeze({isAvailable:false,async capture(){return Promise.reject(new Error("CameraPort is unavailable; check isAvailable before calling capture"))}});function Je(e){throw new Error(`assertNever: unhandled discriminated-union member ${JSON.stringify(e)}`)}i(Je,"assertNever");function xa(e,t,r=null){return Object.freeze({kind:"accepted",streamId:e,lastEventId:t,serverRequestId:r,terminal:false})}i(xa,"acceptedFrame");function Ta(e,t=null){return Object.freeze({kind:"heartbeat",lastEventId:e,serverRequestId:t,terminal:false})}i(Ta,"heartbeatFrame");function ka(e,t,r=null){return Object.freeze({kind:"delta",delta:e,lastEventId:t,serverRequestId:r,terminal:false})}i(ka,"deltaFrame");function Pa(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(Pa,"doneFrame");function pe(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(pe,"errorFrame");function _a(e,t,r=null){return Object.freeze({kind:"analysisStarted",requestId:e,lastEventId:t,serverRequestId:r,terminal:false})}i(_a,"analysisStartedFrame");function wa(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(wa,"analysisCompleteFrame");function Ia(e,t,r=null){return Object.freeze({kind:"unknown",raw:{...e},lastEventId:t,serverRequestId:r,terminal:false})}i(Ia,"unknownFrame");var Cf=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 It(e){return Cf[e]}i(It,"userFacingError");function Aa(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:false,writable:false,configurable:false});}i(Aa,"defineHidden");var Sf=/^[a-z][a-z0-9_]{0,63}$/;function D(e,t){let r=Or(t?.wireCode,t?.wireEnvelope),n={code:e,category:Gn(e),retryable:t?.retryable??qn(e),displayMessage:It(e)};if(t?.httpStatus!==void 0&&(n.httpStatus=t.httpStatus),t?.requestId&&(n.requestId=t.requestId),typeof t?.reasonCode=="string"&&Sf.test(t.reasonCode)&&(n.reasonCode=t.reasonCode),r);return t?.wireMessage&&Aa(n,"wireMessage",t.wireMessage),t?.raw!==void 0&&t.raw!==null&&Aa(n,"raw",t.raw),Object.freeze(n)}i(D,"makeEverfurError");function Oa(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 J("invalid-argument","TokenProvider returned an empty token");return n=u,r?.(typeof l=="string"?null:Rf(l.expiresAt)),u}finally{o=null;}})(),o),"load");return {userRef:e,async currentToken(l){if(a)throw new J("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(Oa,"createIdentityProvider");function Rf(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(Rf,"expiryMs");function Qn(){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(Qn,"newSessionId");function xf(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(xf,"authHeaders");function Kt(e,t){return {...e,headers:{...Tf(e.headers),...xf(t)}}}i(Kt,"withAuthHeaders");function Tf(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(Tf,"stripAuthHeaders");async function Fa(e,t){if(t.mode==="anonymous")return t.transport.request(Kt(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(Xn())}let n=await t.transport.request(Kt(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(Xn())}let a=await t.transport.request(Kt(e,{mode:"personalized",token:o,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));return !a.ok&&a.error.httpStatus===401?E(Xn(a.error.httpStatus)):a}i(Fa,"authedSend");function Xn(e){return D("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}i(Xn,"authRejectedError");var Ma=`
|
|
1
|
+
import {createContext,useContext,createElement,useSyncExternalStore,useMemo,useState,useRef,useEffect,useCallback,useReducer,useLayoutEffect,Component,useId}from'react';import {z}from'zod';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var Of=Object.defineProperty;var i=(e,t)=>Of(e,"name",{value:t,configurable:true});function M(e,t){return Object.freeze(t===void 0?{ok:true,value:e}:{ok:true,value:e,warning:t})}i(M,"ok");function R(e){return Object.freeze({ok:false,error:e})}i(R,"err");function Ff(e){return e.ok}i(Ff,"isOk");function Mf(e){return !e.ok}i(Mf,"isErr");var Dr=class Dr 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,Dr.prototype);}};i(Dr,"EverfurThrownError");var Mr=Dr;function Df(e){if(e.ok)return e.value;throw new Mr(e.error)}i(Df,"unwrap");var Lr=class Lr extends Error{constructor(t,r){super(r),this.name="EverfurConfigError",this.kind=t,Object.setPrototypeOf(this,Lr.prototype);}};i(Lr,"EverfurConfigError");var re=Lr;var Nr=Object.freeze({track(){},trackExpectedFailure(){}});var eo=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(eo.map(e=>e.wireCode));var Lf=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"}),Aa=Object.freeze(eo.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:Lf[e.wireCode]}))),Nf=new Map(Aa.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),zf=Object.freeze(["http_envelope",...[...new Set(Aa.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function zr(e,t){if(typeof e!="string")return;let r=e.trim().toUpperCase();if(r.length!==0)for(let n of [t??"http_envelope",...zf]){let o=Nf.get(n+r);if(o)return o}}i(zr,"contractErrorFor");function Uf(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}i(Uf,"contractDocUrl");function Oa(e){return null}i(Oa,"publishedDocUrl");var Hf=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 to(e){return Hf[e]}i(to,"categoryFor");function Fe(e){let t=zr(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":case "TELEVETRATELIMITED":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 Fa(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(Fa,"fromHttpStatus");var Bf=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function We(e){return Bf.has(e)}i(We,"isAutoRetryable");var jf=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function ro(e){return We(e)||jf.has(e)}i(ro,"isRetryableCode");function Ur(e,t=false){return t||We(e)}i(Ur,"shouldRetry");var Vf=500,no=8e3,qt=4;function Hr(e,t=Math.random){let r=Math.max(0,e),n=Math.min(Vf*2**r,no);return Math.floor(t()*n)}i(Hr,"backoffDelayMs");function Ma(e){return e==="conversationNotFound"}i(Ma,"canRecreateOnNotFound");var Da=Object.freeze({shouldRetry(e,t){return We(e)&&t<qt},maxAttempts(){return qt}});var La=Object.freeze({isAvailable:false,async capture(){return Promise.reject(new Error("CameraPort is unavailable; check isAvailable before calling capture"))}});function ot(e){throw new Error(`assertNever: unhandled discriminated-union member ${JSON.stringify(e)}`)}i(ot,"assertNever");function Na(e,t,r=null){return Object.freeze({kind:"accepted",streamId:e,lastEventId:t,serverRequestId:r,terminal:false})}i(Na,"acceptedFrame");function za(e,t=null){return Object.freeze({kind:"heartbeat",lastEventId:e,serverRequestId:t,terminal:false})}i(za,"heartbeatFrame");function Ua(e,t,r=null){return Object.freeze({kind:"delta",delta:e,lastEventId:t,serverRequestId:r,terminal:false})}i(Ua,"deltaFrame");function Ha(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(Ha,"doneFrame");function me(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(me,"errorFrame");function Ba(e,t,r=null){return Object.freeze({kind:"analysisStarted",requestId:e,lastEventId:t,serverRequestId:r,terminal:false})}i(Ba,"analysisStartedFrame");function ja(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(ja,"analysisCompleteFrame");function Va(e,t,r=null){return Object.freeze({kind:"unknown",raw:{...e},lastEventId:t,serverRequestId:r,terminal:false})}i(Va,"unknownFrame");var Kf=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 Ft(e){return Kf[e]}i(Ft,"userFacingError");function $a(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:false,writable:false,configurable:false});}i($a,"defineHidden");var Gf=/^[a-z][a-z0-9_]{0,63}$/;function D(e,t){let r=zr(t?.wireCode,t?.wireEnvelope),n={code:e,category:to(e),retryable:t?.retryable??ro(e),displayMessage:Ft(e)};if(t?.httpStatus!==void 0&&(n.httpStatus=t.httpStatus),t?.requestId&&(n.requestId=t.requestId),typeof t?.reasonCode=="string"&&Gf.test(t.reasonCode)&&(n.reasonCode=t.reasonCode),r);return t?.wireMessage&&$a(n,"wireMessage",t.wireMessage),t?.raw!==void 0&&t.raw!==null&&$a(n,"raw",t.raw),Object.freeze(n)}i(D,"makeEverfurError");function Wa(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 re("invalid-argument","TokenProvider returned an empty token");return n=u,r?.(typeof l=="string"?null:qf(l.expiresAt)),u}finally{o=null;}})(),o),"load");return {userRef:e,async currentToken(l){if(a)throw new re("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(Wa,"createIdentityProvider");function qf(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(qf,"expiryMs");function io(){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(io,"newSessionId");function Yf(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(Yf,"authHeaders");function Yt(e,t){return {...e,headers:{...Xf(e.headers),...Yf(t)}}}i(Yt,"withAuthHeaders");function Xf(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(Xf,"stripAuthHeaders");async function Ka(e,t){if(t.mode==="anonymous")return t.transport.request(Yt(e,{mode:"anonymous",publishableKey:t.publishableKey,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));let r;try{r=await t.identity.currentToken();}catch{return R(oo())}let n=await t.transport.request(Yt(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 R(oo())}let a=await t.transport.request(Yt(e,{mode:"personalized",token:o,userRef:t.userRef,...t.sessionId?{sessionId:t.sessionId}:{}}));return !a.ok&&a.error.httpStatus===401?R(oo(a.error.httpStatus)):a}i(Ka,"authedSend");function oo(e){return D("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}i(oo,"authRejectedError");var Ga=`
|
|
2
2
|
|
|
3
|
-
`,
|
|
3
|
+
`,Qf=1048576,Zf=z.record(z.string(),z.unknown()),Jf=["emergency","schedule_soon","home_care"];async function*Br(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 d=a.indexOf(Ga,s);if(d===-1)break;let c=a.slice(0,d);a=a.slice(d+Ga.length),s=0;let p=qa(c,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>Qf){yield me({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=qa(a,n());if(u!==null&&(u.kind==="delta"&&(l=true),yield u,u.terminal))return}yield me({code:l?"CHAT_STREAM_INCOMPLETE":"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:n()});}i(Br,"parseSse");function qa(e,t){let r=null,n=[];for(let s of e.split(`
|
|
4
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=
|
|
5
|
+
`));}catch{return null}if(typeof o!="object"||o===null||Array.isArray(o))return null;let a=Zf.safeParse(o);return a.success?em(a.data,r,t):null}i(qa,"parseBlock");function em(e,t,r){let n=e.type,o=e.event;if(n==="error"||"error"in e)return me({code:ce(e.code)??"unknown",retryable:e.retryable===true,wireMessage:ce(e.error),synthesized:false,lastEventId:t,serverRequestId:r});if(n==="done"||e.done===true)return Ha({conversationId:ce(e.conversation_id)??"",messageId:ce(e.message_id),title:ce(e.title),followUpQuestions:nm(e.follow_up_questions),citations:Ya(e.citations),citationStatus:ce(e.citation_status),urgencyLevel:Xa(e.urgency_level),urgencyReason:ce(e.urgency_reason),urgencyProvided:rm(e),resultId:ce(e.result_id),lastEventId:t},r);if(n==="accepted"||e.status==="reasoning")return Na(ce(e.stream_id),t,r);if(n==="heartbeat"||e.heartbeat===true)return za(t,r);if(n==="text.delta"||"delta"in e||"token"in e){let a=ce(e.delta)??ce(e.token)??"";return Ua(a,t,r)}return o==="analysis_started"?Ba(ce(e.request_id),t,r):o==="analysis_complete"?ja({resultId:ce(e.result_id),analysisType:ce(e.analysis_type),modelVersion:ce(e.model_version),confidence:tm(e.confidence),detections:Ya(e.detections),interpretation:ce(e.interpretation),lastEventId:t},r):Va(e,t,r)}i(em,"frameFromWire");function ce(e){return typeof e=="string"?e:null}i(ce,"asString");function tm(e){return typeof e=="number"&&Number.isFinite(e)?e:null}i(tm,"asNumber");function Xa(e){return typeof e=="string"&&Jf.includes(e)?e:null}i(Xa,"asUrgency");function rm(e){if(!Object.prototype.hasOwnProperty.call(e,"urgency_level"))return false;let t=e.urgency_level;return t===null||Xa(t)!==null}i(rm,"urgencySlotProvided");function nm(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?t:String(t)):[]}i(nm,"asStringList");function om(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(om,"isPlainObject");function Ya(e){return Array.isArray(e)?e.filter(om):[]}i(Ya,"asMapList");var im="0.6.0",so="react-native",am="2026-09-19",jr="EVERFUR_API_BASE_URL";function Xt(e,t){return Object.freeze({ok:false,failure:Object.freeze({reason:e,message:t})})}i(Xt,"configFailure");function lo(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(lo,"checkPublishableKey");function Qa(e,t){let r=lo(e?.publishableKey);if(r!==null)return Object.freeze({ok:false,failure:r});let n=e.publishableKey.trim(),o=sm(e.apiBaseUrl);if(!o.ok)return o;let a=e.contractVersion?.trim()||am;return Object.freeze({ok:true,config:Object.freeze({publishableKey:n,apiBaseUrl:o.value,contractVersion:a,sdkVersion:im,platform:t?.platform??so,debug:e.debug===true})})}i(Qa,"tryResolveClientConfig");function sm(e){let t=e?.trim(),r=t&&t.length>0?t:ym(jr);return r?fm(r):Xt("missing-api-base-url",`apiBaseUrl is required: pass config.apiBaseUrl or set ${jr}. The SDK never ships a hardcoded host.`)}i(sm,"tryResolveApiBaseUrl");function Za(e){return {"X-Everfur-SDK-Version":e.sdkVersion,"X-Everfur-SDK-Platform":e.platform,"X-Everfur-Contract":e.contractVersion}}i(Za,"buildBaseHeaders");var lm=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/;function um(e){return e.slice(e.lastIndexOf("@")+1).replace(/:\d+$/,"").toLowerCase()}i(um,"hostOf");function dm(e){return e.length===0||e.includes("@")?false:e.startsWith("[")&&e.endsWith("]")?true:!e.includes(":")}i(dm,"isPrintableHost");function cm(e,t){let r=e.indexOf("://");return r<0||e.slice(r+3).includes("@")?false:dm(t)}i(cm,"canEchoOrigin");function pm(e,t){return `${e}://${t}`}i(pm,"safeOrigin");function fm(e){let t=e.trim(),r=lm.exec(t);if(r===null||r[2]===void 0||r[2].length===0)return Xt("malformed-api-base-url","apiBaseUrl is not a valid absolute URL");let n=(r[1]??"").toLowerCase(),o=um(r[2]);if(o.length===0)return Xt("malformed-api-base-url","apiBaseUrl is not a valid absolute URL");let a=cm(t,o)?`: ${pm(n,o)}`:"";if(n!=="https"){if(!(n==="http"&&mm(o)))return n==="http"?Xt("insecure-api-base-url",`apiBaseUrl must use https (cleartext http is only allowed for localhost)${a}`):Xt("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(fm,"normalizeBaseUrl");function mm(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"||t==="::1"}i(mm,"isLoopbackHost");function ym(e){let r=globalThis.process?.env?.[e];return typeof r=="string"&&r.trim().length>0?r.trim():void 0}i(ym,"readEnv");var gm=3e4,rs="x-request-id";async function*Ja(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(Ja,"fetchByteSource");function hm(e){let t=new TextEncoder,r=vm(),n=false,o=i(u=>{let d="";u.lastEventId&&(d+=`id: ${u.lastEventId}
|
|
6
6
|
`);let c=u.data??"";for(let p of c.split(`
|
|
7
7
|
`))d+=`data: ${p}
|
|
8
8
|
`;d+=`
|
|
9
|
-
`,r.push(t.encode(d));},"onMessage"),a=i(()=>{l(),r.end();},"onDone"),s=i(u=>{let d=typeof u.xhrStatus=="number"?u.xhrStatus:0;if(d>=400){let c=
|
|
9
|
+
`,r.push(t.encode(d));},"onMessage"),a=i(()=>{l(),r.end();},"onDone"),s=i(u=>{let d=typeof u.xhrStatus=="number"?u.xhrStatus:0;if(d>=400){let c=is(d),p=We(Fe(c));r.push(t.encode(`data: ${JSON.stringify({type:"error",code:c,retryable:p})}
|
|
10
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"),Gf(r.source,l)}i(Kf,"eventSourceByteSource");async function*Gf(e,t){try{yield*e;}finally{t();}}i(Gf,"sourceWithCleanup");function qf(){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(qf,"createByteQueue");async function Yf(e,t){let r=t.fetchImpl??Ga(),n=qa(t.config.apiBaseUrl,e.path,e.query),o=Ya(t.config,e.headers,"application/json",e.body!==void 0&&e.multipart===void 0),a=tm(Wf),s=rm(a.signal,e.signal),l;try{l=await r(n,Xa({...e,signal:s},o));}catch(d){return E(to(d))}finally{a.cancel();}let u=await Qa(l);return l.ok?M(u):E(Zf(l.status,u,Wa(l)))}i(Yf,"requestJson");function $a(e){return {request:i(t=>Yf(t,e),"request"),stream:i((t,r)=>Xf(em(t,r),e),"stream")}}i($a,"createHttpTransport");async function*Xf(e,t){let r=qa(t.config.apiBaseUrl,e.path,e.query),n=Ya(t.config,e.headers,"text/event-stream",e.body!==void 0&&e.multipart===void 0);if(t.eventSourceFactory){let l=t.eventSourceFactory(r,Qf(e,n));yield*Dr(Kf(l),()=>Jf(l));return}let o=t.fetchImpl??Ga(),a;try{a=await o(r,Xa(e,n));}catch(l){yield Ba("",true,ts(l));return}let s=Wa(a);if(!a.ok){let l=await Qa(a),u=Za(l)??Ka(a.status),d=es(l)||je(Ae(u));yield Ba(u,d,Ja(l),s);return}if(a.body){yield*Dr(za(a.body),s);return}yield*Dr(za(null),s);}i(Xf,"streamFrames");function Qf(e,t){return {method:e.method,headers:t,pollingInterval:0,...e.body!==void 0?{body:JSON.stringify(e.body)}:{}}}i(Qf,"buildEventSourceInit");function Zf(e,t,r){let n=Za(t),o=n?Ae(n):Ea(e),a=Ja(t);return D(o,{httpStatus:e,...es(t)?{retryable:true}:{},...r?{requestId:r}:{},...n?{wireCode:n}:{},...ja(t)?{reasonCode:ja(t)}:{},...a?{wireMessage:a}:{},...t!=null?{raw:t}:{}})}i(Zf,"errorFromResponse");function to(e){return D("internalError",{retryable:true,wireMessage:ts(e)})}i(to,"networkError");function Wa(e){let t=e.headers.get(Va);return typeof t=="string"&&t.length>0?t:null}i(Wa,"requestIdOf");function Jf(e){if(typeof e.getResponseHeader!="function")return null;let t;try{t=e.getResponseHeader(Va);}catch{return null}return typeof t=="string"&&t.length>0?t:null}i(Jf,"eventSourceRequestId");function Ka(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(Ka,"statusToWireCode");function Ba(e,t,r,n=null){return pe({code:e,retryable:t,wireMessage:r,synthesized:true,lastEventId:null,serverRequestId:n})}i(Ba,"syntheticErrorFrame");function Ga(){let e=globalThis.fetch;if(typeof e!="function")throw new J("missing-peer-dependency","global fetch is unavailable; provide config.transport or an injected fetch implementation");return e}i(Ga,"getGlobalFetch");function qa(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(qa,"buildUrl");function Ya(e,t,r,n){let o={...Ua(e),accept:r};return n&&(o["content-type"]="application/json"),t&&Object.assign(o,t),o}i(Ya,"mergeHeaders");function Xa(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(Xa,"buildInit");function em(e,t){return e.signal?e:{...e,signal:t}}i(em,"withSignal");function tm(e){let t=new AbortController,r=setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:i(()=>clearTimeout(r),"cancel")}}i(tm,"timeoutSignal");function rm(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(rm,"mergeAbortSignals");async function Qa(e){try{return await e.json()}catch{return null}}i(Qa,"safeJson");function ja(e){let t=e,r=t?.error?.reason_code??t?.reason_code;return typeof r=="string"&&r.length>0?r:null}i(ja,"extractReasonCode");function Za(e){let t=e,r=t?.error?.code??t?.code;return typeof r=="string"&&r.length>0?r:null}i(Za,"extractWireCode");function Ja(e){let t=e,r=t?.error?.message??t?.message;return typeof r=="string"&&r.length>0?r:null}i(Ja,"extractWireMessage");function es(e){let t=e;return t?.error?.retryable===true||t?.retryable===true}i(es,"extractRetryable");function ts(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}i(ts,"describeCause");var nm=3e4,om=Yn*2,im="idempotency-key",am=new Set(["POST","PUT","PATCH","DELETE"]),sm=Object.freeze({onEvent(){}}),lm=Object.freeze({setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")});function um(e){let t=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return t.length===0?null:`efs_${t}`.slice(0,128)}i(um,"seededIdempotencyKey");function ke(e){let t=e.observer??sm,r=e.timers??lm,n=e.rng??Math.random,o=e.sleep??((f,m)=>Rm(f,r,m)),a=e.maxAttempts??Wt,s=e.unaryTimeoutMs??nm,l=e.newIdempotencyKey??cm(),u=i(f=>{try{t.onEvent(f);}catch{}},"emit");async function d(f,m,y){let R=y?.maxAttempts,b=Math.max(1,R??a),C=y?.idempotent??am.has(m.method),T=y?.idempotencyKey===void 0?null:um(y.idempotencyKey),_=C?T??l():null,w=dm(m,_),g=0;for(;;){let x=i(F=>Object.freeze({call:f,method:m.method,path:m.path,attempt:g,..._?{idempotencyKey:_}:{},...F}),"stamp");u(x({phase:"attempt"}));let I=Cm(s,r),O=Sm(I.signal,m.signal),k;try{k=await Fa({...w,signal:O.signal},e.auth);}catch(F){k=E(to(F));}finally{O.dispose(),I.cancel();}if(k.ok)return u(x({phase:"settled",ok:true,reason:"ok"})),k;let v=k.error,S=fm(v,g,{maxAttempts:b,rng:n,now:r.now(),aborted:m.signal?.aborted===true,...R!==void 0?{perCallMaxAttempts:R}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),A={ok:false,code:v.code,reason:S.reason,...v.httpStatus!==void 0?{httpStatus:v.httpStatus}:{},...v.requestId!==void 0?{requestId:v.requestId}:{}};if(!S.retry)return u(x({phase:"settled",...A})),E(v);if(u(x({phase:"retry",...A,delayMs:S.delayMs})),await o(S.delayMs,m.signal),m.signal?.aborted===true)return u(x({phase:"settled",...A,reason:"aborted"})),E(v);g+=1;}}i(d,"send");async function c(f){return Kt(f,await Em(e.auth))}i(c,"authorize");async function*p(f,m,y){u(Object.freeze({call:f,phase:"stream.open",method:m.method,path:m.path,attempt:0}));try{yield*e.auth.transport.stream(m,y);}catch{yield pe({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return i(p,"stream"),Object.freeze({send:d,authorize:c,stream:p})}i(ke,"createRequestFunnel");function dm(e,t){let r={};for(let[n,o]of Object.entries(e.headers??{}))n.toLowerCase()!==im&&(r[n]=o);return t!==null&&(r["Idempotency-Key"]=t),{...e,headers:r}}i(dm,"assembleHeaders");function cm(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}i(cm,"defaultIdempotencyKeyFactory");var pm=10;function fm(e,t,r){if(r.aborted)return {retry:false,reason:"aborted"};let n=mm(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 d;try{d=r.policy.maxAttempts(e.code);}catch{return null}return typeof d!="number"||!Number.isFinite(d)?null:Math.max(1,Math.min(pm,Math.floor(d)))},"policyCeiling"),l=r.perCallMaxAttempts??s()??r.maxAttempts;if(t+1>=l)return {retry:false,reason:"attempts-exhausted"};let u=ym(e,r.now);return u!==null?u>om?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:o,delayMs:u}:{retry:true,reason:o,delayMs:Mr(t,r.rng)}}i(fm,"decideRetry");function mm(e){let t=e.code==="unknown"?Ae(vm(e.raw)):e.code;return t==="quotaExceeded"?"quota":t==="rateLimited"||e.httpStatus===429?"burst":null}i(mm,"throttleKind");function ym(e,t){let r=hm(e.raw);if(r!==null){let o=r-t;return o>0?o:0}let n=gm(e.raw);return n===null?null:Math.round(n*1e3)}i(ym,"retryOverrideMs");function gm(e){for(let t of ro(e)){let r=t.retry_after_seconds;if(typeof r=="number"&&Number.isFinite(r)&&r>=0)return r}return null}i(gm,"findRetryAfterSeconds");function hm(e){for(let t of ro(e)){let r=t.resets_at,n=bm(r);if(n!==null)return n}return null}i(hm,"findResetsAt");function ro(e){if(!rs(e))return [];let t=[e];for(let r of ["error","detail"]){let n=e[r];rs(n)&&t.push(n);}return t}i(ro,"candidateScopes");function bm(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(bm,"parseInstantMs");function vm(e){for(let t of ro(e)){let r=t.code;if(typeof r=="string"&&r.length>0)return r}return null}i(vm,"rawWireCode");function rs(e){return typeof e=="object"&&e!==null}i(rs,"isRecord");async function Em(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(Em,"resolveDeviceAuth");function Cm(e,t){let r=new AbortController,n=t.setTimeout(()=>r.abort(),e);return {signal:r.signal,cancel:i(()=>t.clearTimeout(n),"cancel")}}i(Cm,"boundedSignal");function Sm(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(Sm,"mergeSignals");function Rm(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(Rm,"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 ct(e){return [...e].length}i(ct,"serverLength");var Nr=Object.freeze(["better","same","worse"]),oo=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ns(e){return E(D("validationFailed",{retryable:false,wireMessage:e}))}i(ns,"invalid");function no(){return E(D("internalError",{retryable:false}))}i(no,"malformed");function os(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(os,"petPath");var Ve=i(e=>typeof e=="string"?e:null,"str"),is=i(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"count");function as(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&&Nr.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),checkinAskCount:is(t.checkin_ask_count),checkinAnswerCount:is(t.checkin_answer_count)})}i(as,"caseFromWire");function ss(e){return {async list(t,r){let n=os(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 no();let s=a.map(as);return s.every(l=>l!==null)?M(Object.freeze(s)):no()},async checkin(t,r,n,o){let a=os(t);if(typeof a!="string")return E(a);if(typeof r!="string"||!oo.test(r))return ns("case_id must be a UUID");if(!Nr.includes(n))return ns("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=as(l.case);return u===null?no():M(Object.freeze({case:u,ctaDeepLink:Ve(l.cta_deep_link)}))}}}i(ss,"createCasesRepositoryOver");var ls=Object.freeze({async presignedPut(){return Promise.reject(new Error("UploadPort is unavailable; no presigned-upload adapter was injected"))}});var us=Object.freeze({setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")});function Ur(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(Ur,"delayAbortable");function zr(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(zr,"mergeSignals");var io=class io{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?zr(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(io,"MediaStore");var Hr=io;function so(e,t,r){return Object.freeze({id:e,role:"user",text:t,createdAt:r,pending:true})}i(so,"makeUser");function lo(e,t,r){return Object.freeze({id:e,role:"assistant",text:t,createdAt:r})}i(lo,"makeAssistant");function Yt(e){return Object.freeze({id:e.id,role:e.role,text:e.text,createdAt:e.createdAt})}i(Yt,"stripPending");function ds(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(ds,"appendText");function uo(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(uo,"finalizeAssistant");function cs(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(cs,"freezeSnapshot");function L(e,t,r){return D(e,{retryable:t,...r?{wireMessage:r}:{}})}i(L,"makeError");function co(e){let t=Ae(e.code);return D(t,{retryable:e.retryable||Fr(t),wireCode:e.code,wireEnvelope:"sse_frame",...e.serverRequestId?{requestId:e.serverRequestId}:{},...e.wireMessage?{wireMessage:e.wireMessage}:{},raw:e})}i(co,"errorFromFrame");function Oe(e){return pe({code:xm(e.code),retryable:e.retryable,wireMessage:e.wireMessage??null,synthesized:true,lastEventId:null,serverRequestId:e.requestId??null})}i(Oe,"synthErrorFrame");function xm(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 Je(e)}}i(xm,"canonicalWireCode");function ps(e){let t=Array.isArray(e)?e:ao(e)&&Array.isArray(e.categories)?e.categories:[],r=[];for(let n of t){if(!ao(n))continue;let o=qt(n.category)??qt(n.title)??"",a=Tm(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(ps,"parsePromptCategories");function po(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(po,"flattenPrompts");function ao(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(ao,"isPlainObject");function qt(e){return typeof e=="string"?e:null}i(qt,"asStr");function Tm(e){if(!Array.isArray(e))return [];let t=[];for(let r of e)if(typeof r=="string")t.push(r);else if(ao(r)){let n=qt(r.text)??qt(r.prompt)??qt(r.title);n!==null&&t.push(n);}return t}i(Tm,"asPromptTextList");function fs(){let e=0;return ()=>`m-${Date.now().toString(36)}-${(e++).toString(36)}-${Math.random().toString(36).slice(2,8)}`}i(fs,"defaultIdFactory");function ms(){let e=0;return ()=>`chat-send-${Date.now().toString(36)}-${(e++).toString(36)}-${Math.random().toString(36).slice(2,10)}`}i(ms,"defaultIdempotencyFactory");var gs={setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")};async function*hs(e,t,r,n){let o=e[Symbol.asyncIterator](),a=ys(t.overallMs,n),s=ys(t.idleMs,n),l=_m(r);try{for(;;){if(r.aborted)return;let u=o.next().then(p=>({tag:"next",value:p}),()=>({tag:"streamError"})),d=await Promise.race([u,s.promise.then(()=>({tag:"idle"})),a.promise.then(()=>({tag:"overall"})),l.then(()=>({tag:"abort"}))]);if(d.tag==="abort")return;if(d.tag==="streamError"){if(r.aborted)return;yield Pm();return}if(d.tag==="idle"||d.tag==="overall"){yield km();return}let c=d.value;if(c.done||(s.reset(t.idleMs),yield c.value,c.value.terminal))return}}finally{s.cancel(),a.cancel(),Promise.resolve(o.return?.(void 0)).catch(()=>{});}}i(hs,"withWatchdog");function km(){return pe({code:"STREAM_TIMEOUT",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}i(km,"synthTimeoutFrame");function Pm(){return pe({code:"STREAM_INCOMPLETE",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}i(Pm,"synthStreamErrorFrame");function ys(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(ys,"deadline");function _m(e){return new Promise(t=>{if(e.aborted){t();return}e.addEventListener("abort",()=>t(),{once:true});})}i(_m,"abortPromise");var bs=128,vs=128,Es=/[\u0000-\u001F\u007F]/,wm=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Im(e){let t=e,r=ct(t);if(r===0||r>vs)throw new J("invalid-argument",`petRef must be 1..${vs} characters`);if(Es.test(t))throw new J("invalid-argument","petRef must be printable (no control characters)");return t}i(Im,"petRef");function Am(e){let t=e,r=ct(t);if(r===0||r>bs)throw new J("invalid-argument",`userRef must be 1..${bs} characters`);if(t.includes("@"))throw new J("invalid-argument","userRef must not contain '@'");if(Es.test(t))throw new J("invalid-argument","userRef must be printable (no control characters)");return t}i(Am,"userRef");function Om(e){if(!wm.test(e))throw new J("invalid-argument","conversationId must be a UUID");return e}i(Om,"conversationId");var Fm="checkin",Mm=/^\d{4}-\d{2}-\d{2}$/,Br="watching";function Cs(e){return e.status!=null&&e.status!==Br}i(Cs,"isCheckinSettled");function Ss(e){let{askCount:t,answerCount:r}=e;return typeof t!="number"||!Number.isFinite(t)||typeof r!="number"||!Number.isFinite(r)||t<=0?true:r>=t}i(Ss,"isLiveAskAnswered");function fo(e){if(typeof e!="string")return null;let t=e.split(":");if(t.length!==3)return null;let[r,n,o]=t;return r!==Fm||n===void 0||o===void 0||!oo.test(n)||!Mm.test(o)?null:{caseId:n,dueDay:o}}i(fo,"parseCheckinOrigin");function Rs(e){return fo(e)?.caseId??null}i(Rs,"parseCheckinOriginRef");function yo(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}`),M(r.length?`?${r.join("&")}`:"")}i(yo,"historyQuery");function Qt(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(Qt,"validConversationId");function At(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}i(At,"object");function xs(e){return e==null||typeof e=="string"&&e.length>0&&!Ce(e)}i(xs,"cursor");function Xt(){return E(D("internalError",{retryable:false}))}i(Xt,"malformed");function Ts(e){let t=At(e);if(!t||!Array.isArray(t.conversations)||!xs(t.next_cursor))return Xt();let r=[];for(let n of t.conversations){let o=At(n);if(!o||typeof o.conversation_id!="string"||!Qt(o.conversation_id)||!(o.title==null||typeof o.title=="string")||typeof o.created_at!="string"||typeof o.updated_at!="string")return Xt();let a=o.unread_message_count;if(!(a==null||Number.isInteger(a)&&a>=0))return Xt();r.push(Object.freeze({id:o.conversation_id,title:o.title??null,createdAt:o.created_at,updatedAt:o.updated_at,unreadCount:a??null}));}return M(Object.freeze({conversations:Object.freeze(r),nextCursor:t.next_cursor??null}))}i(Ts,"mapConversationPage");function ks(e){let t=At(e);if(!t||!Array.isArray(t.messages)||!xs(t.next_cursor))return Xt();let r=[],n=new Set;for(let o of t.messages){let a=At(o);if(!a||typeof a.message_id!="string"||!Qt(a.message_id)||typeof a.role!="string"||typeof a.content!="string"||typeof a.created_at!="string")return Xt();if(a.role!=="user"&&a.role!=="assistant"&&a.role!=="vet"||n.has(a.message_id))continue;if(n.add(a.message_id),a.role==="vet"){r.push(Dm(a,a.message_id,a.content,a.created_at));continue}let s=typeof a.proactive_origin_ref=="string"?a.proactive_origin_ref:null,l=a.role==="assistant"?Rs(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:Lm(a.urgency_level)}:{},...Array.isArray(a.citations)?{citations:Nm(a.citations)}:{},...s!==null?{proactiveOriginRef:s}:{},...l!==null?{checkin:Object.freeze({caseId:l,answer:null,resolutionText:null,status:null})}:{}}));}return M(Object.freeze({messages:Object.freeze(r),nextCursor:t.next_cursor??null}))}i(ks,"mapMessagePage");function Dm(e,t,r,n){let o=At(e.sender),a=mo(o?.display_name)??mo(e.sender_display_name),s=mo(o?.specialty);return Object.freeze({id:t,role:"vet",text:r,createdAt:n,sender:Object.freeze({displayName:a,specialty:s})})}i(Dm,"vetMessage");function mo(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0&&!Ce(t)?t:null}i(mo,"trimmedText");function Lm(e){return e==="emergency"||e==="schedule_soon"||e==="home_care"?e:null}i(Lm,"normalizeUrgency");function Nm(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=At(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(Nm,"historyCitations");var go=Object.freeze(["helpful","neutral","not_helpful","wrong","outdated","dangerous","unclear"]),Zt=4e3;var pt=4e3;function Ps(e){return e===void 0?null:!Array.isArray(e)||e.length>5?{reason:"too_many_images",error:L("validationFailed",false,`image_s3_keys accepts at most ${5} 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(Ps,"validateImageKeys");function bo(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>pt?{reason:"too_long",error:L("validationFailed",false,`message is ${r} characters; the server accepts at most ${pt}`)}:null}i(bo,"validateMessageText");function _s(e){return e==="emergency"||e==="schedule_soon"||e==="home_care"?e:null}i(_s,"urgencyTier");async function*Jt(e){yield e;}i(Jt,"singleFrameStream");async function*ws(){}i(ws,"emptyStream");var Hm=6e4,Um=18e4,zm=24,Bm=512,jm=false;function Is(e){return new vo(e)}i(Is,"createChatController");var Eo=class Eo extends Hr{constructor(r){super(cs({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.scopePrompts=[];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=ss(this.funnel),this.telemetry=r.telemetry??Ar,this.errorPolicy=r.errorPolicy??Sa,this.timers=r.timers??gs,this.rng=r.rng??Math.random,this.newId=r.newId??fs(),this.makeIdempotencyKey=r.makeIdempotencyKey??ms(),this.budget={idleMs:r.budget?.idleMs??Hm,overallMs:r.budget?.overallMs??Um};}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),()=>{}):Jt(Oe(u))}let s=bo(r)??Ps(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),()=>{}):Jt(Oe(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 Jt(Oe(L("accessDenied",false)));let o=bo(r);return o!==null?(this.telemetry.track("chat.send.rejected",{reason:o.reason}),Jt(Oe(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):ws()}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,so(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?Yt(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.scopePrompts=[],this.unreadByConversation.clear(),this.classifiedMessageIds.clear(),this.reflectUnreadDot();}resetThread(r=[]){super.rescope(),this.historyGeneration+=1,this.unadoptedCreate=null,this.lastTurn=null,this.lastResponseIdValue=null,this.bootstrapPrompts=r,this.replyPrompts=null,this.discardPendingDelta(),this.patch({status:"idle",isStreaming:false,messages:[],conversationId:null,error:null,suggestedPrompts:r,historyCursor:null,isLoadingHistory:false,isBootstrapping:false,unreadCount:null,stopped:false,reconnecting:false});}newConversation(){this.disposed||this.resetThread(this.scopePrompts);}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(po(r));this.bootstrapPrompts=n,this.scopePrompts=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=yo(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=Ts(s.value);if(l.ok){for(let c of l.value.conversations)c.unreadCount!==null&&this.unreadByConversation.set(c.id,c.unreadCount);let u=this.snapshot.conversationId,d=u===null?void 0:this.unreadByConversation.get(u);d!==void 0&&d!==this.snapshot.unreadCount&&this.patch({unreadCount:d}),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?M(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 M(null);let l=await this.resumeConversation(s.id);return l.ok?M(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 M(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(),M(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(!go.includes(n))return E(L("validationFailed",false,`feedback_type must be one of ${go.join(", ")}`));let s=typeof o=="string"?o.trim():"";if([...s].length>Zt)return E(L("validationFailed",false,`notes is over ${Zt} characters`));let l={feedback_type:n};s.length>0&&(l.notes=s);let u=this.epoch,d=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(!d.ok)return E(d.error);let c=d.value?.feedback_id;return M(Object.freeze({feedbackId:typeof c=="string"?c:""}))}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=l.value.case.openedAt,d=Object.freeze({caseId:r,answer:n,resolutionText:l.value.case.resolutionText,status:l.value.case.status??null,...u!==null?{openedAt:u}:{}}),c=i(p=>p.checkin?.caseId===r,"carries");return this.snapshot.messages.some(c)&&this.patch({messages:this.snapshot.messages.map(p=>c(p)?Object.freeze({...p,checkin:d}):p)}),l}async getMessages(r,n){if(!Qt(r))return E(L("validationFailed",false));let o=yo(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?ks(s.value):s}async resumeConversation(r){if(this.disposed)return E(L("accessDenied",false));if(!Qt(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(),M(void 0)}async stampCheckinStatuses(r){let n=this.petRef;if(n===null||!this.snapshot.messages.some(d=>d.checkin!==void 0&&d.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(d=>d.status===Br).map(d=>d.caseId)),s=new Map(o.value.map(d=>[d.caseId,d])),l=false,u=this.snapshot.messages.map(d=>{let c=d.checkin;if(c===void 0||c.status!==null)return d;l=true;let p=s.get(c.caseId),f=c.openedAt??p?.openedAt??null,m=a.has(c.caseId),y=p!==void 0&&(!m||Ss({askCount:p.checkinAskCount,answerCount:p.checkinAnswerCount}))?p.lastResponse:null;return Object.freeze({...d,checkin:Object.freeze({...c,status:m?Br:p?.status??"resolved",answer:c.answer??y,resolutionText:c.resolutionText??p?.resolutionText??null,...f!==null?{openedAt:f}:{}})})});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 M(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}),M(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 M(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}),M(void 0)}async*retryHistory(r){let n=await this.resumeConversation(r);n.ok||(yield Oe(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 M(n);let o=this.snapshot.conversationId;return o!==null?M(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)):M(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?M(ps(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=zr(a.signal,n.signal),l=this.beginTurn(r,n),u=this.runTurn(l,s),d=false,c=i(()=>{d||(d=true,a.abort(),this.handlerTeardowns.delete(c));},"teardown");return this.handlerTeardowns.add(c),(async()=>{for await(let p of u){if(d)break;o.onFrame(p),p.kind==="done"&&o.onDone(this.lastResponseIdValue);}!d&&this.snapshot.status==="error"&&this.snapshot.error!==null&&o.onError(this.snapshot.error),this.handlerTeardowns.delete(c);})(),c}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,so(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,d=u?this.unadoptedCreate:null;if(d!==null&&(r.petRef===null||r.petRef===d.petRef)){let b=await d.settled;if(o.signal.aborted||!this.alive(o.epoch))return;b.ok&&this.snapshot.conversationId===null&&this.adoptConversation(b.value);}if(u&&this.snapshot.conversationId===null){let b=await this.createConversationBounded(r.petRef,o.signal);if(o.signal.aborted||!this.alive(o.epoch))return;if(!b.ok){yield*this.emitTerminal(r,b.error,Oe(b.error));return}this.adoptConversation(b.value);}let c=r.conversationIdOverride??this.snapshot.conversationId;if(c===null){let b=L("internalError",!0);yield*this.emitTerminal(r,b,Oe(b));return}this.clearAssistantInProgress(r);let p=new AbortController,f=zr(o.signal,p.signal),m=null;try{let b;try{b=await this.funnel.authorize(this.buildSendRequest(r,c));}catch{let T=this.authRejected();yield*this.emitTerminal(r,T,Oe(T));return}if(o.signal.aborted||!this.alive(o.epoch))return;let C=this.funnel.stream("chat.send",b,f);for await(let T of hs(C,this.budget,f,this.timers)){if(!this.alive(o.epoch))return;if(T.kind==="error"&&T.terminal){m=T;break}if(this.applyFrame(T,r),yield T,T.terminal){o.settle();return}}}finally{p.abort();}if(o.signal.aborted||!this.alive(o.epoch))return;if(m===null){if(this.snapshot.status==="complete")return;let b=L("streamIncomplete",!0);yield*this.emitTerminal(r,b,Oe(b));return}let y=Ae(m.code);if(y==="authExpired"&&this.auth.mode==="personalized"&&!l){l=!0,this.telemetry.track("chat.auth.refresh",{});let b=await this.tryForceRefresh();if(o.signal.aborted||!this.alive(o.epoch))return;if(!b){let C=this.authRejected();yield*this.emitTerminal(r,C,m);return}this.patch({reconnecting:!0});continue}if(y==="authExpired"){this.telemetry.track("chat.auth.rejected",{});let b=this.authRejected();yield*this.emitTerminal(r,b,m);return}if(y==="accessDenied"){this.telemetry.track("chat.access_denied",{}),yield*this.emitTerminal(r,co(m),m);return}if(Ca(y)&&!s){s=!0,this.telemetry.track("chat.conv.recreate",{}),this.adoptConversation(null),r.conversationIdOverride=null,this.patch({reconnecting:!0});continue}let R=m.retryable&&Fr(y,!0);if(jm&&R&&a+1<this.errorPolicy.maxAttempts(y));yield*this.emitTerminal(r,co(m),m);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 Je(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?Yt(s):s);this.patch({status:"streaming",isStreaming:true,messages:[...a,lo(o,r,this.stamp())]});return}if(this.pendingDelta+=r,this.pendingDelta.length>=Bm){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);},zm);}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?ds(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?uo(l,r):l);else {let l=this.newId();n.assistantMessageId=l,n.sawDelta=true,a=[...this.snapshot.messages.map(d=>d.id===n.userMessageId&&d.pending===true?Yt(d):d),uo(lo(l,"",this.stamp()),r)];}let s=po([{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=_s(l.value?.urgency),d=typeof l.value?.reason=="string"?l.value.reason:null,c=i(p=>p.responseId===n,"carries");this.snapshot.messages.some(c)&&this.patch({messages:this.snapshot.messages.map(p=>c(p)?Object.freeze({...p,urgencyLevel:u,urgencyReason:d,urgencyProvided:true}):p)});}applyError(r,n){this.flushPendingDelta(r);let o=this.snapshot.messages.map(a=>a.id===r.userMessageId&&a.pending===true?Yt(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(Eo,"ChatControllerImpl");var vo=Eo;async function Fs(e,t){let{controller:r}=t,n=e.petRef??null,o=e.resumeConversationId??null,a=[],s=false,l=false,u=false,d=null,c=null,p=o?r.resumeConversation(o).then(w=>w.ok?M(o):w):r.primeConversation(n?{petRef:n}:void 0),f=r.getPrompts(n!==null?{petRef:n}:void 0),[m,y]=await Promise.all([p,f]),R=null;if(m.ok)R=m.value,a.push(m.value),r.getSnapshot().conversationId===null&&r.adoptConversation(m.value);else {let w=m.error;c=w,As(w)?(l=true,d=w):(Os(w)&&(s=true),u=true);}let b=[];y.ok?b=y.value:C(y.error);function C(w){As(w)?(l=true,d===null&&(d=w)):Os(w)&&(s=true);}i(C,"recordAuthSignals");let T=d!==null?d.displayMessage:null;return Object.freeze({conversationId:R,petRef:n,suggestedPrompts:b,error:T,warning:T===null&&R===null&&u?Vm:null,cause:d??c,diagnostics:Object.freeze({candidateConversationIds:Object.freeze([...a]),sawForbidden:s,sawUnauthorized:l,sawConversationInitFailure:u})})}i(Fs,"bootstrapChat");var Vm="Chat is ready. Your first message will start the conversation.";function As(e){return e.httpStatus===401||e.code==="authExpired"||e.code==="authRejected"}i(As,"isUnauthorized");function Os(e){return e.httpStatus===403||e.code==="accessDenied"}i(Os,"isForbidden");var Co=Object.freeze({postMultipart(){return Promise.reject(new Error("UploadTransport is unavailable; no records upload adapter was injected"))}});function Ms(e){return e!==Co}i(Ms,"isUploadTransportAvailable");var $m=Object.freeze(["image/jpeg","image/jpg","image/png","image/heic","image/heif","image/webp"]),Ls="image/jpeg,image/png,image/webp,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.heic,.heif",jr=10*1024*1024,Vr=5,er=120,Wm="/widget/v1/uploads/initiate";function Km(e){return typeof e=="string"&&$m.includes(e.trim().toLowerCase())}i(Km,"isAttachmentMime");function Gm(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<=er)return t;let r=t.lastIndexOf(".");if(r===-1||r===t.length-1)return t.slice(0,er);let n=t.slice(r);return n.length>=er?t.slice(0,er):`${t.slice(0,r).slice(0,er-n.length)}${n}`}i(Gm,"sanitizeFilename");function So(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}i(So,"formatBytes");var tr=i(e=>Object.freeze({ok:true,value:e}),"ok"),Pe=i(e=>Object.freeze({ok:false,error:e}),"err");function ie(e,t,r,n){return Object.freeze({code:e,retryable:t,filename:r,...n??{}})}i(ie,"failure");function qm(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(qm,"attachmentSize");function Ym(e){let t=Gm(e.name),r=typeof e.mimeType=="string"?e.mimeType.trim().toLowerCase():"";if(!Km(r))return Pe(ie("unsupported_type",false,t));let n=qm(e);return n===null?Pe(ie("unknown",false,t)):n>jr?Pe(ie("too_large",false,t,{sizeBytes:n})):tr(Object.freeze({file:e,filename:t,contentType:r,sizeBytes:n}))}i(Ym,"validateAttachment");function Xm(e){if(typeof e!="object"||e===null)return null;let t=e,r=i(d=>typeof d=="string"&&d.length>0?d:null,"str"),n=i(d=>typeof d=="number"&&Number.isFinite(d)?d: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[d,c]of Object.entries(u))typeof c=="string"&&(l[d]=c);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)??jr,s3_key:s,purpose:r(t.purpose)})}i(Xm,"parsePolicy");function Qm(e,t){let r=e.httpStatus;switch(e.code){case "quotaExceeded":return ie("quota_exceeded",false,t,{cause:e});case "rateLimited":return ie("rate_limited",true,t,{cause:e});case "idempotencyConflict":case "idempotencyInFlight":return ie("idempotency_conflict",true,t,{cause:e});case "validationFailed":return ie("unsupported_type",false,t,{cause:e});case "serviceUnavailable":case "streamTimeout":return ie("network",true,t,{cause:e});default:return r===429?ie("rate_limited",true,t,{cause:e}):r===503?ie("network",true,t,{cause:e}):r===void 0?ie("network",true,t,{cause:e}):ie("server",e.retryable,t,{httpStatus:r,cause:e})}}i(Qm,"initiateFailure");async function Zm(e,t,r){let n=await e.send("chat.attachments.initiate",{method:"POST",path:Wm,body:{filename:t.filename,content_type:t.contentType,file_size:t.sizeBytes},...r?.signal?{signal:r.signal}:{}});if(!n.ok)return Pe(Qm(n.error,t.filename));let o=Xm(n.value);return o===null?Pe(ie("server",false,t.filename)):tr(o)}i(Zm,"initiateAttachmentUpload");async function Jm(e,t,r,n){let o=i(()=>n?.signal?.aborted===true,"cancelled");if(o())return Pe(ie("cancelled",true,r.filename));try{return await e.postMultipart(t,r.file,{...n?.signal?{signal:n.signal}:{},...n?.onProgress?{onProgress:n.onProgress}:{}}),tr(void 0)}catch{return o()?Pe(ie("cancelled",true,r.filename)):Pe(ie("server",true,r.filename))}}i(Jm,"uploadAttachmentBytes");var ey=2,ty=3,ry=Object.freeze([1e3,2e3,4e3]),Ds=0;function ny(){return Ds+=1,`attachment-${Ds}`}i(ny,"defaultNewId");function Ns(e){let t=Math.max(1,e.concurrency??ey),r=Math.max(1,e.maxAttempts??ty),n=e.backoffMs??ry,o=Math.max(1,e.maxPerMessage??Vr),a=e.timers??us,s=e.newId??ny,l=Ms(e.transport),u=new Map,d=[],c=[],p=new Set,f=new Set,m=Object.freeze({attachments:Object.freeze([])}),y=false,R=i(()=>{m=Object.freeze({attachments:Object.freeze(d.flatMap(g=>{let x=u.get(g);return x===void 0?[]:[x.state]}))});for(let g of f)g();},"publish"),b=i((g,x)=>{g.state=Object.freeze({...g.state,...x}),R();},"patch"),C=i(()=>{for(;!y&&p.size<t&&c.length>0;){let g=c.shift(),x=u.get(g);x!==void 0&&(p.add(g),T(x).finally(()=>{p.delete(g),C();}));}},"pump"),T=i(async g=>{let{attachment:x}=g;for(;g.attempts<r;){if(y||g.controller.signal.aborted)return;g.attempts+=1;let I=g.controller.signal;b(g,{status:"uploading",error:null,progress:0});let O=await Zm(e.funnel,x,{signal:I});if(y||I.aborted)return;let k;if(!O.ok)k=Pe(O.error);else {let F=await Jm(e.transport,O.value,x,{signal:I,onProgress:i(B=>{!I.aborted&&g.state.status==="uploading"&&b(g,{progress:oy(B)});},"onProgress")});if(y||I.aborted)return;k=F.ok?tr(O.value.s3_key):Pe(F.error);}if(k.ok){b(g,{status:"uploaded",s3Key:k.value,error:null,progress:1});return}let v=k.error,S=v.retryable&&g.attempts<r;if(b(g,{status:S?"uploading":"failed",error:v,progress:0}),!S)return;let A=n[Math.min(g.attempts-1,n.length-1)]??0;await Ur(A,I,a);}},"run"),_=i(g=>{c.push(g.state.id),C();},"enqueue"),w={available:l,subscribe(g){return f.add(g),()=>{f.delete(g);}},getSnapshot:i(()=>m,"getSnapshot"),get uploading(){return m.attachments.some(g=>g.status==="uploading")},get s3Keys(){return m.attachments.flatMap(g=>g.status==="uploaded"&&g.s3Key!==null?[g.s3Key]:[])},add(g){let x=Ym(g);if(!x.ok)return x;if(y||d.length>=o)return Pe(ie("too_many",false,x.value.filename));let I=s(),O={attachment:x.value,controller:new AbortController,attempts:0,state:Object.freeze({id:I,filename:x.value.filename,previewUri:g.uri,contentType:x.value.contentType,sizeBytes:x.value.sizeBytes,status:"uploading",s3Key:null,error:null,progress:0})};return u.set(I,O),d.push(I),R(),_(O),tr(O.state)},retry(g){let x=u.get(g);x===void 0||y||x.state.status!=="failed"||(x.controller=new AbortController,x.attempts=0,b(x,{status:"uploading",error:null,progress:0,s3Key:null}),_(x));},remove(g){let x=u.get(g);if(x===void 0)return;x.controller.abort(),u.delete(g);let I=d.indexOf(g);I>=0&&d.splice(I,1);let O=c.indexOf(g);O>=0&&c.splice(O,1),R();},clear(){for(let g of [...d])w.remove(g);},dispose(){y=true;for(let g of u.values())g.controller.abort();u.clear(),d.length=0,c.length=0,f.clear(),m=Object.freeze({attachments:Object.freeze([])});}};return w}i(Ns,"createAttachmentQueue");function oy(e){return Number.isNaN(e)||e<0?0:e>1?1:e}i(oy,"clamp");var Hs=Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function rr(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(Hs,t)?Hs[t]:null}i(rr,"canonicalPetSpecies");var Us=50,iy=128,Ro=120,zs=120,ay=2e3,Bs=120,sy=80,$s=new Set(["male","female","unknown"]),Ws=new Set(["day","month","year"]),Ks=new Set(["low","medium","high","athletic"]),Gs=new Set(["indoor","outdoor","both"]),qs=new Set(["mild","moderate","severe"]),ly=/^(\d{4})-(\d{2})-(\d{2})$/,Ys=[["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"]],Xs=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];Object.freeze([...Ys,...Xs].map(([e])=>e));function uy(e){let t=ly.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(uy,"isRealDate");var or=i(e=>(t,r)=>typeof r=="string"&&e.has(r)?null:`${t} must be one of ${[...e].join(", ")}`,"oneOf"),dy=i((e,t)=>typeof t=="boolean"?null:`${e} must be true or false`,"boolean"),Wr=i((e,t)=>typeof t=="string"&&uy(t)?null:`${e} must be a real date written YYYY-MM-DD`,"date"),Fe=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=ct(o);return a<=e?null:`${r} is ${a} characters; the server accepts at most ${e}`},"text"),cy={sex:or($s),spayedNeutered:dy,birthDate:Wr,birthDatePrecision:or(Ws),activityLevel:or(Ks),indoorOutdoor:or(Gs),foodBrand:Fe(Bs),foodType:Fe(Bs),microchipId:Fe(sy)},xo=["ref","ref",false,Fe(iy,{required:true,trimmed:true})],To=["notes","notes",false,Fe(ay,{trimmed:true})],js=[xo,["name","name",true,Fe(Ro,{required:true,trimmed:true})],["dose","dose",false,Fe(zs,{trimmed:true})],["frequency","frequency",false,Fe(zs,{trimmed:true})],["startDate","start_date",false,Wr],["endDate","end_date",false,Wr],To],py={allergies:[xo,["allergen","allergen",true,Fe(Ro,{required:true,trimmed:true})],["severity","severity",false,or(qs)],To],medications:js,supplements:js,conditions:[xo,["conditionName","condition_name",true,Fe(Ro,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,Wr],To]};function fy(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,d,c,p]of py[e]){let f=o[u];if(f==null){if(c)return {error:`${n}.${u} is required`};f===null&&(a[d]=null);continue}let m=p(`${n}.${u}`,f);if(m!==null)return {error:m};a[d]=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(fy,"itemToWire");function my(e,t){if(!Array.isArray(t))return {error:`${e} must be an array (send [] to clear it)`};if(t.length>Us)return {error:`${e} has ${t.length} items; the server accepts at most ${Us}`};let r=[],n=new Set;for(let o=0;o<t.length;o+=1){let a=fy(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(my,"listToWire");function Qs(e,t){let r=e,n={};for(let[s,l]of Ys){let u=r[s];if(u!==void 0){if(u!==null){let d=cy[s](s,u);if(d!==null)return {error:d}}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 Xs){let u=r[s];if(u===void 0)continue;let d=my(s,u);if("error"in d)return d;n[l]=d.items;}return Object.keys(n).length>0&&t!==void 0&&rr(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(Qs,"petHealthToWire");var te=i(e=>typeof e=="string"?e:null,"str"),nr=i((e,t)=>typeof t=="string"&&e.has(t)?t:null,"pick"),yy=i(e=>typeof e=="boolean"?e:null,"bool");function $r(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($r,"itemsFromWire");function Vs(e){let t=te(e.name);return t===null||t.length===0?null:Object.freeze({ref:te(e.ref),name:t,dose:te(e.dose),frequency:te(e.frequency),startDate:te(e.start_date),endDate:te(e.end_date),notes:te(e.notes)})}i(Vs,"medicationFromWire");function Zs(e){let t=e.profile_version;return Object.freeze({profileVersion:typeof t=="number"&&Number.isInteger(t)&&t>=0?t:0,sex:nr($s,e.sex),spayedNeutered:yy(e.spayed_neutered),birthDate:te(e.birth_date),birthDatePrecision:nr(Ws,e.birth_date_precision),activityLevel:nr(Ks,e.activity_level),indoorOutdoor:nr(Gs,e.indoor_outdoor),foodBrand:te(e.food_brand),foodType:te(e.food_type),microchipId:te(e.microchip_id),allergies:$r(e.allergies,r=>{let n=te(r.allergen);return n===null||n.length===0?null:Object.freeze({ref:te(r.ref),allergen:n,severity:nr(qs,r.severity),notes:te(r.notes)})}),medications:$r(e.medications,Vs),supplements:$r(e.supplements,Vs),conditions:$r(e.conditions,r=>{let n=te(r.condition_name);return n===null||n.length===0?null:Object.freeze({ref:te(r.ref),conditionName:n,diagnosedDate:te(r.diagnosed_date),notes:te(r.notes)})})})}i(Zs,"petHealthFromWire");var tl=100,rl=50,nl=100,ol=50,il=500,gy=128,hy=6e4;function De(e){return D("validationFailed",{retryable:false,wireMessage:e})}i(De,"invalid");function ft(e,t,r){if(typeof t!="string")return De(`${e} must be a string`);let n=ct(t);return n<=r?null:De(`${e} is ${n} characters; the server accepts at most ${r}`)}i(ft,"checkString");function Kr(e,t,r){return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=r?null:De(`${e} must be a finite number between 0 and ${r}`)}i(Kr,"outOfRange");function Js(e,t){if(typeof e!="string")return De("pet_ref must be a string");if(e.trim().length===0)return De("pet_ref must not be blank");if(Ce(e))return De("pet_ref contains an unpaired surrogate and cannot be encoded");if(t!=null&&typeof t!="object")return De("profile must be an object");let r=[ft("pet_ref",e,gy)];return t?.name!==void 0&&r.push(ft("name",t.name,tl)),t?.species!==void 0&&r.push(ft("species",t.species,rl)),t?.breed!==void 0&&r.push(ft("breed",t.breed,nl)),t?.ageYears!==void 0&&r.push(Kr("age_years",t.ageYears,ol)),t?.weightKg!==void 0&&r.push(Kr("weight_kg",t.weightKg,il)),r.find(n=>n!==null)??null}i(Js,"validate");function al(e,t){let r=Qs(e,t);return "error"in r?{error:De(r.error)}:r}i(al,"healthToWire");function by(e){if(typeof e!="object"||e===null)return {error:De("patch must be an object")};let t=e,r=[["name","name",a=>ft("name",a,tl)],["species","species",a=>ft("species",a,rl)],["breed","breed",a=>ft("breed",a,nl)],["ageYears","age_years",a=>Kr("age_years",a,ol)],["weightKg","weight_kg",a=>Kr("weight_kg",a,il)]],n={};for(let[a,s,l]of r){let u=t[a];if(u!==void 0){if(u!==null){let d=l(u);if(d!==null)return {error:d}}n[s]=u;}}let o=al(t,t.species);return "error"in o?o:(Object.assign(n,o.body),Object.keys(n).length===0?{error:De("patch must change at least one field")}:{body:n})}i(by,"patchToWire");function vy(e){if(e==null)return {body:{}};let t=al(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(vy,"toWire");var Me=i(e=>typeof e=="string"?e:null,"str"),Gr=i(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"num");function el(e,t){let r=typeof e=="object"&&e!==null?e:{};return Object.freeze({petRef:Me(r.pet_ref)??t,name:Me(r.name),species:Me(r.species),breed:Me(r.breed),ageYears:Gr(r.age_years),weightKg:Gr(r.weight_kg)})}i(el,"fromWire");function sl(e){if(typeof e!="object"||e===null)return null;let t=e,r=Me(t.pet_ref);return r===null||r.length===0?null:Object.freeze({petId:Me(t.pet_id),petRef:r,name:Me(t.name),species:Me(t.species),breed:Me(t.breed),ageYears:Gr(t.age_years),weightKg:Gr(t.weight_kg),updatedAt:Me(t.updated_at)})}i(sl,"widgetPetFromWire");function Ey(e){let t=sl(e);return t===null?null:Object.freeze({...t,...Zs(e)})}i(Ey,"widgetPetProfileFromWire");function Cy(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=sl(r);return n===null?[]:[n]}))}i(Cy,"petListFromWire");function et(e){return Sy(ke({auth:e}),ke({auth:e,unaryTimeoutMs:hy}))}i(et,"createPetsRepository");function Sy(e,t=e){let r=i((o,a)=>a?{...o,signal:a}:o,"withSignal"),n=i(o=>Js(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?M(Cy(a.value)):E(a.error)},async registerPet(o,a,s){let l=Js(o,a);if(l!==null)return E(l);let u=vy(a);if("error"in u)return E(u.error);let c={method:"POST",path:`/widget/v1/pets/${encodeURIComponent(o)}`,body:u.body},p=await e.send("pets.registerPet",s?.signal?{...c,signal:s.signal}:c);return p.ok?M(el(p.value,o)):E(p.error)},async updatePet(o,a,s){let l=n(o);if(typeof l!="string")return E(l);let u=by(a);if("error"in u)return E(u.error);let d=await e.send("pets.updatePet",r({method:"PATCH",path:l,body:u.body},s?.signal));return d.ok?M(el(d.value,o)):E(d.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=Ey(l.value);return u===null?E(D("internalError",{retryable:false,httpStatus:502,wireMessage:"the pet profile response carried no pet_ref"})):M(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?M(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?M(void 0):E(a.error)}}}i(Sy,"createPetsRepositoryOver");var Po=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 Ry(e){return Po[e]}i(Ry,"requires");function ll(e,t){let r=Object.freeze({reason:t,level:e,recoverable:false}),n=[],o=new Set;for(let a of Object.keys(Po))for(let s of Po[a])o.has(s)||(o.add(s),n.push(Object.freeze({resource:s,granted:false,disabled:r})));return Object.freeze(n)}i(ll,"deniedDecisionsFor");function ul(e,t,r){let n=Ry(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 ko({name:e,enabled:false,isPending:true,limits:{}});let a=xy(n,o);return n.filter(l=>o.get(l)?.granted!==true).length===0?ko({name:e,enabled:true,isPending:false,limits:a}):ko({name:e,enabled:false,isPending:false,limits:a,disabled:Ty(n,o)})}i(ul,"decideCapability");function xy(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(xy,"mergeLimits");function Ty(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:It("accessDenied"),level:"user_entitlement",recoverable:false})}i(Ty,"disabledFor");function ko(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(ko,"freezeDecision");function ye(e){let t=ae(e);return t===null?null:Py(t)}i(ye,"parseColor");function ae(e){if(typeof e=="number")return dl(e);if(typeof e!="string")return null;let t=e.trim();if(t.length===0)return null;if(t.startsWith("#"))return _o(t.slice(1));if(t.toLowerCase().startsWith("0x"))return _o(t.slice(2));if(t.toLowerCase().startsWith("rgb"))return ky(t);if(/^[0-9a-fA-F]+$/.test(t)){let r=_o(t);if(r!==null)return r}return /^\d+$/.test(t)?dl(Number.parseInt(t,10)):null}i(ae,"toRgba");function _o(e){let t=e.trim();if(!/^[0-9a-fA-F]+$/.test(t))return null;if(t.length===3)return {r:wo(t[0]),g:wo(t[1]),b:wo(t[2]),a:1};if(t.length===6)return {r:mt(t,0),g:mt(t,2),b:mt(t,4),a:1};if(t.length===8){let r=mt(t,0);return {r:mt(t,2),g:mt(t,4),b:mt(t,6),a:r/255}}return null}i(_o,"fromHex");function ky(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=Io(Number(n[0])),a=Io(Number(n[1])),s=Io(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(ky,"fromRgbFunc");function dl(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(dl,"argbIntToRgba");function mt(e,t){return Number.parseInt(e.slice(t,t+2),16)}i(mt,"byte");function wo(e){return Number.parseInt(`${e??"0"}${e??"0"}`,16)}i(wo,"dup");function Io(e){return Number.isFinite(e)?Math.min(255,Math.max(0,Math.round(e))):null}i(Io,"clampByte");function Py(e){if(e.a>=1)return gt(e.r,e.g,e.b);let t=Math.round(e.a*1e3)/1e3;return `rgba(${e.r},${e.g},${e.b},${t})`}i(Py,"normalizeRgba");function gt(e,t,r){return `#${Ao(e)}${Ao(t)}${Ao(r)}`.toUpperCase()}i(gt,"rgbToHex");function Ao(e){return e.toString(16).padStart(2,"0")}i(Ao,"hex2");var _y="#111111",Ot="#FFFFFF",qr="#000000";function pl(e){let t=ae(e);if(t===null)return Ot;let r=yt(t),n=yt({r:17,g:17,b:17}),o=yt({r:255,g:255,b:255});return Mo(r,o)>=Mo(r,n)?Ot:_y}i(pl,"readableOn");function ir(e,t){let r=pl(e);return ue(r,e)>=t?r:ue(Ot,e)>=ue(qr,e)?Ot:qr}i(ir,"legibleOn");function ar(e){let t=i(r=>e.reduce((n,o)=>Math.min(n,ue(r,o)),Number.POSITIVE_INFINITY),"worst");return t(Ot)>=t(qr)?Ot:qr}i(ar,"poleForGrounds");function yt(e){let t=Oo(e.r/255),r=Oo(e.g/255),n=Oo(e.b/255);return .2126*t+.7152*r+.0722*n}i(yt,"relativeLuminance");function Oo(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}i(Oo,"linearize");function Mo(e,t){let r=Math.max(e,t),n=Math.min(e,t);return (r+.05)/(n+.05)}i(Mo,"luminanceContrast");function ue(e,t){let r=ae(e),n=ae(t);if(r===null||n===null)return 1;let o=n.a>=1?n:{...n},a=r.a>=1?r:fl(r,o);return Mo(yt(a),yt(o))}i(ue,"contrastRatio");function fl(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(fl,"composite");function ht(e,t){let r=ae(e),n=ae(t);if(r===null||n===null)return null;let o=r.a>=1?r:fl(r,{...n});return gt(o.r,o.g,o.b)}i(ht,"flattenOnto");function $e(e,t){let r=ae(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($e,"withAlpha");var cl=.05;function tt(e,t,r,n){let o=t[0];if(o===void 0)return r;let a=i(d=>t.every(c=>ue(d,c)>=n),"reads");if(ae(e)===null)return r;if(a(e))return e;let s=ht(e,o),l=s===null?null:ae(s),u=ae(r);if(l===null||u===null)return r;for(let d=1;d<1/cl;d+=1){let c=d*cl,p=i((m,y)=>Math.round(m+(y-m)*c),"mix"),f=gt(p(l.r,u.r),p(l.g,u.g),p(l.b,u.b));if(a(f))return f}return r}i(tt,"pushToContrast");function ml(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 d=s-l,c=d/(1-Math.abs(2*u-1)),p;return s===n?(p=(o-a)/d*60,p<0&&(p=p+360)):s===o?p=((a-n)/d+2)*60:p=((n-o)/d+4)*60,{h:p,s:c,l:u}}i(ml,"rgbToHsl");function Do(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,d=[[o,s,0],[s,o,0],[0,o,s],[0,s,o],[s,0,o],[o,0,s]],[c,p,f]=d[u];return {r:Fo(c+l),g:Fo(p+l),b:Fo(f+l)}}i(Do,"hslToRgb");function Fo(e){return Math.min(255,Math.max(0,Math.floor(e*255+.5)))}i(Fo,"channel");function We(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let t of Object.keys(e))We(e[t]);}return e}i(We,"deepFreeze");var Yr=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),gl={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},hl={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},yl={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},wy={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},Iy={regular:"400",medium:"500",bold:"700"},Ay={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},Lo=0,bt="System",rt="monospace",Oy=["content","heading","control","compact","badge"];function Fy(e){let t={};for(let r of Oy)t[r]=e;return t}i(Fy,"authoredTierSizes");function bl(){return {family:bt,mono:rt,fontUrl:null,families:{regular:bt,medium:bt,bold:bt,mono:rt,monoMedium:rt,monoBold:rt},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:yl,tierSizes:Fy(yl),lineHeight:wy,weight:Iy,letterSpacing:Ay,scale:1,maxScale:Lo,scaleCaps:Yr}}i(bl,"baseType");var vl={},vt=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function sr(e){return `cubic-bezier(${e.join(", ")})`}i(sr,"cssCubicBezier");var El={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:sr(vt.standard),emphasized:sr(vt.emphasized),exit:sr(vt.exit)},reducedMotion:false},My={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",bubbleVet:"#FFC3BC",onBubbleVet:"#111111",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},Et=We({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:My,space:gl,radius:hl,type:bl(),motion:El,slots:vl}),Dy={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",bubbleVet:"#FFC3BC",onBubbleVet:"#111111",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"},Xr=We({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:Dy,space:gl,radius:hl,type:bl(),motion:El,slots:vl});var Ly="#23272C",Cl=4.5,Ny=.6,No=.9,Hy=.02,Uy="#FFFFFF",zy="#111111";function By(e){return ue(e,Ly)>=Cl&&Math.max(ue(e,Uy),ue(e,zy))>=Cl}i(By,"readsOnDark");function xl(e){let t=ae(e);if(t===null)return null;let{h:r,s:n,l:o}=ml(t.r,t.g,t.b),a=Math.min(Math.max(o,Ny),No);for(let l=0;;l+=1){let u=a+l*Hy;if(u>No)break;let d=Do({h:r,s:n,l:u}),c=gt(d.r,d.g,d.b);if(By(c))return c}let s=Do({h:r,s:n,l:No});return gt(s.r,s.g,s.b)}i(xl,"deriveDarkVariant");var jy=7,Sl=.05,Vy="#000000",$y="#FFFFFF";function Wy(e,t,r,n){let o=ht(e,t);if(o===null)return r;if(ue(o,t)>=n)return o;let a=ae(o),s=ae(r);if(a===null||s===null)return r;for(let l=1;l<1/Sl;l+=1){let u=l*Sl,d=i((p,f)=>Math.round(p+(f-p)*u),"mix"),c=gt(d(a.r,s.r),d(a.g,s.g),d(a.b,s.b));if(ue(c,t)>=n)return c}return r}i(Wy,"pushContrast");function Ky(e,t){let r=[e.surface,e.surfaceCream,e.surfaceSubtle,e.background,e.chatGround,e.composerFill],n=r[0],o=Rl(n);for(let a of r){let s=Rl(a);(t?s>o:s<o)&&(n=a,o=s);}return n}i(Ky,"hardestGround");function Rl(e){let t=ae(e);return t===null?0:yt(t)}i(Rl,"luminanceOf");function nt(e,t){return ht(e,t)??ye(e)??t}i(nt,"solid");function Tl(e){let t=e.color,r=e.brightness==="dark",n=r?$y:Vy,o=Ky(t,r),a=i(l=>Wy(l,o,n,jy),"text"),s={...t,brandSoft:nt(t.brandSoft,t.surface),brandSofter:nt(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:nt(t.badgeBgPositive,t.surface),badgeBgCaution:nt(t.badgeBgCaution,t.surface),badgeBgCritical:nt(t.badgeBgCritical,t.surface),badgeBgNeutral:nt(t.badgeBgNeutral,t.surface),checkupCardLowRiskBg:nt(t.checkupCardLowRiskBg,t.surface),checkupCardConcernBg:nt(t.checkupCardConcernBg,t.surface)};return We({...e,highContrast:true,color:s})}i(Tl,"deriveHighContrast");var Ct=Object.freeze(["composerInput","sendButton","userBubble","assistantBubble","vetBubble","recordCard","vetVisitButton","primaryButton","link"]),Gy=Object.freeze(["backgroundColor","borderColor","borderRadius","textColor"]),_e=4.5,qy=Object.freeze({});function Yy(e){return Ct.includes(e)}i(Yy,"isSlotName");function Xy(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(Xy,"parseRadius");function kl(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(!Yy(n)||o===null||typeof o!="object")continue;let a=Qy(o);a!==null&&(t[n]=a,r=true);}return r?Object.freeze(t):null}i(kl,"parseThemeSlots");function Qr(e,t,r){return e[t]!==void 0?e[t]:e[r]}i(Qr,"pick");function Qy(e){let t={},r=ye(Qr(e,"background_color","backgroundColor"));r!==null&&(t.backgroundColor=r);let n=ye(Qr(e,"border_color","borderColor"));n!==null&&(t.borderColor=n);let o=Xy(Qr(e,"border_radius","borderRadius"));o!==null&&(t.borderRadius=o);let a=ye(Qr(e,"text_color","textColor"));return a!==null&&(t.textColor=a),Object.keys(t).length===0?null:Object.freeze(t)}i(Qy,"parseSlot");function Pl(e,t){return t===null||Object.keys(t).length===0?e??qy:e===null||Object.keys(e).length===0?t:Object.freeze({...e,...t})}i(Pl,"mergeThemeSlots");var Ho=3;function Zy(e,t){return e===void 0?t:t.length===0?[e]:t.map(r=>ht(e,r)??r)}i(Zy,"seatsOf");function Jy(e,t){let r=ar(e);return e.every(n=>ue(r,n)>=t)}i(Jy,"someInkReads");function eg(e,t){let r=t[0];return r===void 0?null:ht(e,r)}i(eg,"collapseUnsatisfiableFill");function tg(e){let t=ir(e[0],_e);return e.every(r=>ue(t,r)>=_e)?t:ar(e)}i(tg,"inkFor");function _l(e,t){let r=false,n={};for(let o of Ct){let a=e[o];if(a===void 0)continue;let s=a.backgroundColor,l=t?.[o]??[],u=Zy(s,l),d={...a},c=false;if(s!==void 0&&u.length>1&&!Jy(u,_e)){let p=eg(s,l);p!==null&&(d.backgroundColor=p,u=[p],c=true);}if(u.length>0){let p=a.textColor;if(s!==void 0)(p===void 0||u.some(f=>ue(p,f)<_e))&&(d.textColor=tg(u),c=true);else if(p!==void 0){let f=tt(p,u,ar(u),_e);f!==p&&(d.textColor=f,c=true);}if(a.borderColor!==void 0){let f=tt(a.borderColor,u,ar(u),Ho);f!==a.borderColor&&(d.borderColor=f,c=true);}}n[o]=c?Object.freeze(d):a,r=r||c;}return r?Object.freeze(n):e}i(_l,"guardSlotContrast");var Al=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"]),lr="slots.",Ol=Object.freeze([1,2]);function Zr(e){return Object.keys(e).every(t=>t==="schemaVersion"||(e[t]??null)===null)}i(Zr,"isEmptyBranding");function Fl(e){let t=e?.schemaVersion??null;return t===null||Ol.includes(t)}i(Fl,"isKnownBrandingSchema");function Ml(e){return new Set(["hide_powered_by",...e?.lockedFields??[]])}i(Ml,"lockedFieldsOf");function rg(e){return e==="hide_powered_by"||Al.includes(e)?true:e.startsWith(lr)&&Ct.includes(e.slice(lr.length))}i(rg,"isThemeLockName");function Ke(e){if(e===null||typeof e!="object")return null;let t=e,r={displayName:St(Y(t,"display_name","displayName")),logoUrl:St(Y(t,"logo_url","logoUrl")),primaryColor:ye(Y(t,"primary_color","primaryColor")),accentColor:ye(Y(t,"accent_color","accentColor")),brightness:ag(Y(t,"brightness","color_scheme","colorScheme")),fontFamily:St(Y(t,"font_family","fontFamily")),fontUrl:St(Y(t,"font_url","fontUrl")),fonts:wl(Y(t,"fonts")),fontUrls:wl(Y(t,"font_urls","fontUrls")),placeholder:St(Y(t,"chat_placeholder","placeholder","chatPlaceholder")),hidePoweredBy:ng(Y(t,"hide_powered_by","hidePoweredBy")),primaryColorDark:ye(Y(t,"primary_color_dark","primaryColorDark")),accentColorDark:ye(Y(t,"accent_color_dark","accentColorDark")),surfaceStyle:Il(Y(t,"surface_style","surfaceStyle"),og),radiusScale:Il(Y(t,"radius_scale","radiusScale"),ig),logoUrlDark:St(Y(t,"logo_url_dark","logoUrlDark")),slots:kl(Y(t,"slots")),accessibilityMaxFontScale:lg(Y(t,"accessibility_max_font_scale","accessibilityMaxFontScale")),lockedFields:dg(Y(t,"locked_fields","lockedFields")),schemaVersion:ug(Y(t,"schema_version","schemaVersion"))};return Zr(r)?null:Object.freeze(r)}i(Ke,"parseClientBranding");function ng(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(ng,"parseBool");function Y(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(Y,"pick");function St(e){if(typeof e!="string")return null;let t=e.trim();return t.length===0?null:t}i(St,"parseNonEmptyString");var ur=["regular","medium","bold","mono","monoMedium","monoBold"];function wl(e){if(e===null||typeof e!="object"||Array.isArray(e))return null;let t=e,r={};for(let n of ur){let o=St(Y(t,n));o!==null&&(r[n]=o);}return Object.keys(r).length===0?null:Object.freeze(r)}i(wl,"parseFaceMap");var og=["white","cream","subtle"],ig=["sharp","default","round"];function Il(e,t){if(typeof e!="string")return null;let r=e.trim().toLowerCase();return t.includes(r)?r:null}i(Il,"parseEnum");function ag(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t==="light"||t==="dark"||t==="auto"?t:null}i(ag,"parseBrightness");function Dl(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(Dl,"parseNumber");var sg=1,Ll=3.1;function lg(e){let t=Dl(e);return t===null?null:t<=0?0:Math.min(Ll,Math.max(sg,t))}i(lg,"parseMaxFontScale");function ug(e){if(e==null)return null;let t=Dl(e);return t!==null&&Number.isInteger(t)&&t>=1?t:0}i(ug,"parseSchemaVersion");function Uo(e){let t=e.trim();return t.startsWith(lr)?t:t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}i(Uo,"toWireName");function dg(e){if(!Array.isArray(e))return null;let t=[];for(let r of e){if(typeof r!="string")continue;let n=Uo(r);rg(n)&&!t.includes(n)&&t.push(n);}return t.length===0?null:Object.freeze(t)}i(dg,"parseLockedFields");function zo(e){if(e===null)return null;let t=e.trim();return t.length===0?null:/^https:\/\/\S+$/i.test(t)?t:null}i(zo,"hardenHttpsUrl");function Nl(e,t){if(t===null||Zr(t))return e;let r=(t.brightness==="light"||t.brightness==="dark")&&t.brightness!==e.brightness?t.brightness==="dark"?Xr:Et:e,n=r.brightness==="dark"?Xr:Et,o=r.brightness==="dark",a=o?t.primaryColorDark??Hl(t.primaryColor):t.primaryColor,s=o?t.accentColorDark??Hl(t.accentColor):t.accentColor,l=a??r.color.primary,u=s??r.color.accent,d=a!==null&&yg(t,l,n,o),c=d?n.color.primary:l,p=a!==null&&!d?ae(c):null,f=i(R=>Math.round(R+(255-R)*.4),"lift"),m=p!==null?{brand:c,bubbleUser:c,brandInk:c,text:{...r.color.text,secondary:c},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)})`}:d?gg(n,r.color.text):{},y={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,...m,...mg(t.surfaceStyle??null,n),primary:c,accent:u,onPrimary:r.color.onPrimary,onAccent:r.color.onAccent},space:r.space,radius:bg(t.radiusScale??null,r.radius,n),type:{...r.type,...fg(r.type,t),maxScale:t.accessibilityMaxFontScale??r.type.maxScale},motion:r.motion,slots:Pl(r.slots,t.slots??null)};return We(y)}i(Nl,"withServerBranding");var cg={regular:["regular"],medium:["medium","regular"],bold:["bold","medium","regular"],mono:["mono"],monoMedium:["monoMedium","mono"],monoBold:["monoBold","monoMedium","mono"]},pg=[["regular","medium","bold"],["mono","monoMedium","monoBold"]];function Bo(e){return e==="mono"||e==="monoMedium"||e==="monoBold"}i(Bo,"isMonoFace");function fg(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=cg[l].map(p=>r[p]).find(p=>p!==void 0),d=Bo(l)?null:t.fontFamily;u!==void 0?(o[l]=u,a[l]=true):d!==null&&(o[l]=d,a[l]=false);let c=n[l]??(l==="regular"?t.fontUrl:null)??null;c!==null?s[l]=c:u!==void 0&&delete s[l];}for(let l of pg)for(let u of l)a[u]&&l.some(d=>d!==u&&o[d]===o[u])&&(a[u]=false);return {family:o.regular,mono:o.mono,fontUrl:s.regular??null,families:o,namedFaces:a,fontUrls:s}}i(fg,"mergeFaces");function Hl(e){return e===null?null:xl(e)}i(Hl,"darkVariantOf");function mg(e,t){if(e===null)return {};let r=t.color;return {chatGround:e==="white"?r.surface:e==="subtle"?r.surfaceSubtle:r.surfaceCream}}i(mg,"surfaceOf");function Ul(e,t){return e==null?false:ye(e)===ye(t)}i(Ul,"sameColor");function yg(e,t,r,n){return Ul(t,r.color.primary)?true:n&&(e.primaryColorDark??null)===null&&Ul(e.primaryColor,Et.color.primary)}i(yg,"isCompiledPrimary");function gg(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(gg,"compiledBrandFamily");var hg={sharp:.5,default:1,round:1.5};function bg(e,t,r){if(e===null)return t;let n=hg[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(bg,"radiusOf");var vg="Everfur",Eg=.5;function jo(e){let t=e?.branding??null,r=Fl(t)?t:null,n=Tg(e?.clientOverride??null,Ml(r)),o=e?.colorScheme==="dark"?"dark":"light",a=n?.brightness??r?.brightness??"light",u=Nl((a==="auto"?o:a)==="dark"?Xr:Et,zl(r)),d=Nl(u,zl(n));return Ng(d,e)}i(jo,"resolveTheme");function Cg(e,t,r){return jo({...r,branding:Ke(t),clientOverride:Ke(e)})}i(Cg,"previewTheme");function Sg(e){return e==="placeholder"?"chat_placeholder":Uo(e)}i(Sg,"wireNameOf");var Rg={brightness:["color_scheme"],fontUrl:["font_family"],fonts:["font_family"],fontUrls:["font_url","font_family"],primaryColorDark:["primary_color"],accentColorDark:["accent_color"],logoUrlDark:["logo_url"]};function xg(e,t){return t.has(Sg(e))?true:(Rg[e]??[]).some(r=>t.has(r))}i(xg,"isLocked");function Tg(e,t){if(e===null)return null;let r=false,n={...e};for(let s of Object.keys(e))(e[s]??null)!==null&&(xg(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 Ct){let d=o[u];d!==void 0&&(t.has(`${lr}${u}`)?l=true:s[u]=d);}l&&(n.slots=Object.keys(s).length===0?null:Object.freeze(s),r=true);}if(!r)return e;let a=Object.freeze(n);return Zr(a)?null:a}i(Tg,"withoutFields");function zl(e){return e===null||e.brightness===null?e:Object.freeze({...e,brightness:null})}i(zl,"withoutBrightness");function kg(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(kg,"scaledSizes");function Pg(e){return e===void 0||!Number.isFinite(e)?1:Math.max(Eg,e)}i(Pg,"effectiveScale");var Bl=["content","heading","control","compact","badge"];function _g(e){if(!(e>0))return Yr;let t={};for(let r of Bl){let n=Yr[r];t[r]=n===0?0:Math.min(n,e);}return t}i(_g,"tierCaps");function wg(e,t){return t>0?Math.min(e,t):e}i(wg,"capped");function Ig(e,t,r,n){let o={};for(let a of Bl)o[a]=n?kg(e,wg(t,r[a])):e;return o}i(Ig,"sizesByTier");function Ag(e){return e==="dark"?"#FFFFFF":"#000000"}i(Ag,"inkPole");function Og(e){return [e.surface,e.surfaceCream,e.surfaceSubtle,e.background,e.chatGround,e.composerFill]}i(Og,"textGrounds");function Fg(e){return [e.surface,e.surfaceCream,e.background,e.chatGround,e.composerFill]}i(Fg,"controlGrounds");function jl(e){return [e.chatGround,e.surface,e.surfaceCream]}i(jl,"linkGrounds");function Mg(e){return {composerInput:[e.composerFill],sendButton:[e.composerFill],userBubble:[e.bubbleUser],assistantBubble:[e.chatGround,e.surfaceCream],vetBubble:[e.bubbleVet],recordCard:[e.surface],vetVisitButton:[e.primary],primaryButton:[e.brand],link:jl(e)}}i(Mg,"slotGrounds");function Dg(e,t){try{let r=e(t);return r===!0||r===!1?r:null}catch{return null}}i(Dg,"registration");function Lg(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]===bt||o[s]===rt)&&r!==void 0&&Dg(r,o[s])===false&&(o[s]=Bo(s)?rt:bt,a[s]=false),n!==null&&Bo(s)&&o[s]===rt&&(o[s]=n);return {family:o.regular,mono:o.mono,families:o,namedFaces:a}}i(Lg,"platformFaces");function Ng(e,t){let r=e.color.primary,n=e.color.accent,o=e.meta.displayName.trim().length===0?vg:e.meta.displayName,a=zo(e.meta.logoUrl),s={};for(let _ of ur){let w=e.type.fontUrls[_];w!==void 0&&(s[_]=zo(w));}let l=s.regular??null,d=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,c=Number.isFinite(e.type.maxScale)?e.type.maxScale:Lo,p=Pg(t?.textScale),f=_g(c),m=Ig(e.type.size,p,f,t?.scaleTypeSizes===true),y=e.color,R=Ag(e.brightness),b=Og(y),C={...y,primary:r,accent:n,onPrimary:ir(r,_e),onAccent:ir(n,_e),brandInk:tt(y.brandInk,b,R,_e),linkInk:tt(e.slots.link?.textColor??n,jl(y),R,_e),text:{...y.text,secondary:tt(y.text.secondary,b,R,_e)},brandBorderStrong:tt(y.brandBorderStrong,Fg(y),R,Ho)},T={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,...Lg(e.type,t),fontUrl:l,fontUrls:s,size:m.content,tierSizes:m,scale:p,maxScale:c,scaleCaps:f},motion:d,slots:_l(e.slots,Mg(C))};return t?.highContrast===true?Tl(We(T)):We(T)}i(Ng,"finalize");var Vl="/widget/v1/entitlements",Hg=304,Ug=Object.freeze({kind:"notModified"});async function Wl(e,t={},r=ke({auth:e})){let n=await r.send("entitlements.fetch",Bg(t));return n.ok?jg(n.value):n.error.httpStatus===Hg?Ug:{kind:"failed",error:n.error}}i(Wl,"fetchEntitlements");var zg=64;function Bg(e){let t={};return Vo(e.cachedRevision)&&(t["if-none-match"]=`"${e.cachedRevision}"`),e.region&&e.region.length<=zg?{method:"GET",path:Vl,headers:t,query:{region:e.region}}:{method:"GET",path:Vl,headers:t}}i(Bg,"buildRequest");function jg(e){if(e===null||typeof e!="object"||!Vo(e.revision))return $l();let t=typeof e.region=="string"?e.region:"",r=Vo(e.ttl_seconds)?e.ttl_seconds:0;return Object.freeze({kind:"updated",revision:e.revision,region:t,ttlSeconds:r,decisions:$g(e.capabilities),branding:Vg(e),livemode:e.livemode!==false})}i(jg,"parseUpdated");function Vg(e){let t=Ke(e.branding);if(t!==null)return t;let r=e.render_hints;if(r!==null&&typeof r=="object"){let n=Ke(r.branding);return n!==null?n:Ke(r)}return null}i(Vg,"parseBranding");function $g(e){if(e===null||typeof e!="object")return Object.freeze([]);let t=[];for(let[r,n]of Object.entries(e))Wg(n)&&t.push(Object.freeze({resource:r,granted:true}));return Object.freeze(t)}i($g,"mapCapabilities");function Wg(e){return typeof e=="object"&&e!==null&&e.enabled===true}i(Wg,"isEnabled");function $l(){return {kind:"failed",error:D("internalError",{retryable:true,wireMessage:"malformed entitlements response"})}}i($l,"malformed");function Vo(e){return typeof e=="number"&&Number.isFinite(e)}i(Vo,"isFiniteNumber");var Kg=30;function Kl(e){let t=e.scheduler??Gg,r=e.resolve??Wl,n=Math.max(1,e.floorSeconds??Kg),o=e.rng??Math.random,a=i(()=>n+o()*n,"jitteredFloorSeconds"),s=false,l=false,u=null,d=null,c=n,p=0,f=i(()=>{u!==null&&(t.clear(u),u=null);},"clearTimer"),m=i(C=>{l||!s||(c=Math.max(n,C),u=t.set(()=>{u=null,b();},c*1e3));},"schedule"),y=null,R=i(async()=>{if(l)return null;let C=p;e.onFetch?.();let T=e.region?{cachedRevision:d,region:e.region}:{cachedRevision:d},_;try{_=await r(e.authFor(),T);}catch(w){return e.telemetry?.track("sdk.entitlements.poll_error",{reason:qg(w)}),!l&&C===p&&(e.onSettled?.(),m(a())),null}if(l||C!==p)return null;switch(_.kind){case "updated":d=_.revision,e.update(_.decisions,_.branding??null,_.livemode!==false),m(_.ttlSeconds);break;case "notModified":m(c);break;case "failed":e.telemetry?.track("sdk.entitlements.poll_failed",{code:_.error.code}),m(a());break;default:m(a());}return e.onSettled?.(),_},"tick"),b=i(()=>{let C=R().finally(()=>{y===C&&(y=null);});return y=C,C},"run");return {start(){s||l||(s=true,b());},prime(){return l?Promise.resolve(null):y??b()},stop(){l||(l=true,p++,f());},refresh(){l||!s||(p++,d=null,f(),b());}}}i(Kl,"createEntitlementPoller");var Gg={set(e,t){let r=setTimeout(e,t);return r.unref?.(),r},clear(e){clearTimeout(e);}};function qg(e){return e instanceof Error?e.message:"poll failed"}i(qg,"describe");var Gl="everfur.notifications.device";var Yg=3e3,ql=Object.freeze([Gl]);function Yl(e){let{leaving:t,identity:r,hooks:n,telemetry:o}=e;if(t===null||r===null||n.size===0)return null;let a=Object.freeze({userRef:t.userRef,auth:e.graceAuth()}),s=[...n].map(d=>{try{return Promise.resolve(d(a))}catch(c){return Promise.reject(c)}}),l=i((d,c)=>{try{o.track("sdk.logout.hookFailed",{reason:d,count:c,totalCount:s.length});}catch{}},"report"),u=Promise.allSettled(s).then(d=>{let c=d.filter(p=>p.status==="rejected").length;c>0&&l("failed",c);});return new Promise(d=>{let c=false,p=i(()=>{c||(c=true,clearTimeout(f),d());},"finish"),f=setTimeout(()=>{c||l("timeout",s.length),p();},Yg);u.then(p,p);})}i(Yl,"startBeforeLogoutHooks");function Xl(e){let{leaving:t,identity:r,transport:n,sessionId:o}=e,a=r.currentToken();a.catch(()=>{});let s={userRef:t.userRef,currentToken:i(()=>a,"currentToken"),hasToken:i(()=>true,"hasToken"),clear:i(()=>{},"clear")};return {mode:"personalized",transport:n,identity:s,userRef:t.userRef,sessionId:o}}i(Xl,"graceAuth");async function Ql(e,t){if(ql.length===0)return;let r=await Promise.allSettled(ql.map(o=>e.removeItem(o))),n=r.filter(o=>o.status==="rejected").length;n>0&&t.track("sdk.logout.sweepPartialFailure",{failedCount:n,totalCount:r.length});}i(Ql,"sweepPerUserKv");function Xg(){return Object.freeze([Object.freeze({resource:"chat.message.create",granted:true})])}i(Xg,"compiledDefaultDecisions");function $o(e=Xg){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,...o.livemode===false?{livemode:false}:{}}),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($o,"createEntitlementStore");function Wo(e){return D("validationFailed",{retryable:false,wireMessage:`Everfur SDK is not configured: ${e.message}`})}i(Wo,"notConfiguredError");function Zl(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 Ha(r,t===void 0?void 0:{platform:t})}i(Zl,"tryResolveClient");function Jl(e){return Object.freeze({track(t,r){try{e.track(t,r);}catch{}},trackExpectedFailure(t,r){try{e.trackExpectedFailure(t,r);}catch{}}})}i(Jl,"guardTelemetry");var Qg=Object.freeze({"react-native":"If the value is set in your environment, note that babel-preset-expo inlines only EXPO_PUBLIC_* variables into a release bundle.",web:`If the value is set in your environment, note that a browser bundle does not expose ${Lr} to the SDK at run time (bundlers inline only the variables your own code names), so pass apiBaseUrl in config.`});function eu(e,t,r=Jn){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. `+Qg[r]);}i(eu,"reportConfigFailure");function Ko(e){return Object.freeze({request(){return Promise.resolve(E(Wo(e)))},stream(t,r){let n=pe({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(Ko,"refusingTransport");function tu(){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(tu,"createInMemoryKv");var ru=Object.freeze({clearMemoryCache(){},clearDiskCache(){}});function iu(e,t){return new qo(e,t)}i(iu,"createEverfurRuntime");var Zg=6e4,Yo=class Yo{constructor(t,r){this.sessionId=Qn();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 J("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?Jl(n.telemetry):Ar;let o=typeof n?.publishableKey=="string"?n.publishableKey.trim():"",a=eo(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=Ko(a);else if(n.transport!==void 0)l=n.transport;else {let c=Zl(n,r?.platform);c.ok?(u=c.config.apiBaseUrl,l=$a({config:c.config,...r?.eventSourceFactory?{eventSourceFactory:r.eventSourceFactory}:{}})):(a=c.failure,l=Ko(c.failure));}this.configFailure=a,this.publishableKey=a===null?o:"",this.transport=l,a!==null&&eu(a,this.telemetry,r?.platform),this.errorPolicy=n.errorPolicy,this.camera=n.camera??Ra,this.upload=n.upload??ls,this.uploadTransport=n.uploadTransport??Co,this.imageCache=n.imageCache??ru,this.kv=n.storage??tu(),this.currentUser=t.user??null,this.identity=this.buildIdentity(t.user??null),this.activePet=t.activePet,this.store=a===null?$o():$o(()=>ll("sdk_config",It("accessDenied"))),this.services={authFor:i(c=>this.buildAuth(c),"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(c=>this.acquireInternal("chat",Go(c),()=>this.buildChatController(c),nu),"acquireChat"),releaseChat:i(c=>this.releaseInternal(c),"releaseChat"),peekChat:i(c=>this.entries.get(`${this.epoch}|chat|${Go(c)}`)?.controller??null,"peekChat"),acquire:i((c,p,f,m)=>this.acquireInternal(c,p,f,m),"acquire"),release:i(c=>this.releaseInternal(c),"release")},this.entitlements=this.store;let d=a===null&&(r?.startEntitlementPolling??!s);this.poller=a===null?this.buildPoller(r?.pollScheduler):null,d&&this.poller?.start();}get isDisposed(){return this.disposed}get scopeEpoch(){return this.epoch}buildIdentity(t){if(t===null)return null;let r=Oa(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-Zg,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 Kl({authFor:i(()=>this.buildAuth(this.currentUser?.userRef??null),"authFor"),update:i((r,n,o)=>this.updateEntitlements({decisions:r,isPending:false,branding:n,...o===false?{livemode:o}:{}}),"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=Is({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=Fs(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.beforeLogoutSettlement(),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=Qn(),this.setUser(null),this.leavingSessionId=null,t&&this.rescopeAll();let r=this.pendingBeforeLogout;this.pendingBeforeLogout=null,r!==null&&await r,await Ql(this.kv,this.telemetry);}onBeforeLogout(t){return this.disposed?()=>{}:(this.beforeLogoutHooks.add(t),()=>{this.beforeLogoutHooks.delete(t);})}beforeLogoutSettlement(){let t=this.currentUser,r=this.identity;return Yl({leaving:t,identity:r,hooks:this.beforeLogoutHooks,telemetry:this.telemetry,graceAuth:i(()=>Xl({leaving:t,identity:r,transport:this.transport,sessionId:this.leavingSessionId??this.sessionId}),"graceAuth")})}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(ou(t)):r(et(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?ou("prepare"):n===null?null:Wo(n),a=this.identity,[s,l,u]=await Promise.all([o?E(o):a===null?M(void 0):a.currentToken().then(()=>M(void 0),()=>E(D("authRejected",{retryable:false}))),o?E(o):this.primeEntitlements(),t===null?void 0:o?E(o):this.primeChat(t)]),d=s.ok?l.ok&&(u?.ok??true)?"ready":"partial":"failed",c=Date.now()-r;try{this.telemetry.track("sdk.prepare.timing",{durationMs:c,status:d});}catch{}return Object.freeze({status:d,durationMs:c,session:s,entitlements:l,...u?{chat:u}:{}})}async primeEntitlements(){let t=await this.poller?.prime();return t?t.kind==="failed"?E(t.error):M(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",Go(r),()=>this.buildChatController(r),nu,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):M(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(Yo,"EverfurRuntimeImpl");var qo=Yo;function Go(e){return `${e.userRef??""}|${e.petRef??""}|${e.conversationId??""}`}i(Go,"chatScopeKey");function nu(e){e.dispose();}i(nu,"disposeChat");function ou(e){return D("validationFailed",{retryable:false,wireMessage:`the Everfur runtime is disposed; ${e} was called after unmount`})}i(ou,"disposedError");var au=Symbol.for("@everfur/sdk#EverfurContext@v1"),su=globalThis,Jr=su[au]??(su[au]=createContext(null));Jr.displayName??="EverfurContext";function X(){let e=useContext(Jr);if(e===null)throw new J("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}i(X,"useEverfurContext");function lu(){return X().handle}i(lu,"useEverfur");var uu=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),du=globalThis,dr=du[uu]??(du[uu]=createContext(Et));dr.displayName??="EverfurThemeContext";function N(){return useContext(dr)}i(N,"useEverfurTheme");function en(e){let{runtime:t}=X(),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,d=e.seams.platformMonoFamily?.(),c=e.seams.isFontRegistered,p=e.clientTheme?ih(e.clientTheme):"",f=useMemo(()=>e.clientTheme?Ke(e.clientTheme):null,[p]),m=n.branding??null,y=useMemo(()=>jo({branding:m,clientOverride:f,colorScheme:o,reducedMotion:a,textScale:s,scaleTypeSizes:u,highContrast:l,...d===void 0?{}:{platformMonoFamily:d},...c===void 0?{}:{isFontRegistered:c}}),[m,f,o,a,s,u,l,d,c]);return e.seams.useResolvedTheme?.(y),createElement(dr.Provider,{value:y},e.children)}i(en,"EverfurThemeProviderCore");function ih(e){try{return JSON.stringify(e)}catch{return Object.keys(e).join("&")}}i(ih,"stableKey");function yu(e){let{config:t,user:r,activePet:n,theme:o,warmUp:a,children:s,seams:l}=e,u=`${t?.publishableKey??""}|${t?.apiBaseUrl??""}|${t?.contractVersion??""}`,d=useRef(null),c=useRef(null),[p,f]=useReducer(S=>S+1,0),m=useRef(null),y=useRef(void 0),R=r?.userRef??null;y.current!==R&&(y.current!==void 0&&(m.current=null),y.current=R);let b=m.current!==null?m.current.user:r??null,C=useRef(null),T=useRef(void 0),_=n??null;T.current!==_&&(T.current!==void 0&&(C.current=null),T.current=_);let w=C.current!==null?C.current.pet:n??null;(d.current===null||d.current.key!==u||d.current.runtime.isDisposed)&&(d.current!==null&&!d.current.runtime.isDisposed&&(c.current=d.current.runtime),d.current={key:u,runtime:iu({config:l.withDefaults?l.withDefaults(t):t,user:b,activePet:w,theme:o??null},{platform:l.platform,...l.eventSourceFactory?{eventSourceFactory:l.eventSourceFactory}:{}})});let g=d.current.runtime,x=useRef(null);useEffect(()=>{let S=d.current?.runtime;S===void 0||!S.isDisposed||x.current!==S&&(x.current=S,f());}),useEffect(()=>{let S=c.current;S!==null&&(c.current=null,S.dispose());});let I=b?.userRef??null;useLayoutEffect(()=>{g.setUser(b);},[g,I]),useLayoutEffect(()=>{g.setActivePet(w);},[g,w]),useEffect(()=>()=>g.dispose(),[g]),useEffect(()=>{a==="onMount"&&g.prepare(w===null?{}:{petRef:w});},[g,a,I,w]);let O=useMemo(()=>({setUser:i(S=>{m.current={user:S},g.setUser(S),f();},"setUser"),setActivePet:i(S=>{C.current={pet:S},g.setActivePet(S),f();},"setActivePet"),open:i(S=>g.open(S),"open"),prepare:i(S=>g.prepare(S),"prepare"),registerPet:i((S,A)=>g.registerPet(S,A),"registerPet"),updatePet:i((S,A)=>g.updatePet(S,A),"updatePet"),deletePet:i(S=>g.deletePet(S),"deletePet"),eraseUserData:i(()=>g.eraseUserData(),"eraseUserData"),logout:i(()=>{m.current={user:null};let S=g.logout();return f(),S},"logout")}),[g,f]),k=useMemo(()=>({runtime:g,handle:O,userRef:I,activePet:w,scopeEpoch:g.scopeEpoch}),[g,O,I,w,p]),v=createElement(en,{clientTheme:o??null,seams:l.theme,children:s});return createElement(Jr.Provider,{value:k},l.wrap?l.wrap(v):v)}i(yu,"EverfurProviderCore");var cr="everfur:";function rn(){try{if(typeof window>"u")return null;let e=window.localStorage;return e&&typeof e.getItem=="function"?e:null}catch{return null}}i(rn,"storage");function Xo(){return {async getItem(e){try{return rn()?.getItem(cr+e)??null}catch{return null}},async setItem(e,t){try{rn()?.setItem(cr+e,t);}catch{}},async removeItem(e){try{rn()?.removeItem(cr+e);}catch{}},async keys(e){try{let t=rn();if(t===null)return [];let r=[],n=cr+e;for(let o=0;o<t.length;o+=1){let a=t.key(o);a!==null&&a.startsWith(n)&&r.push(a.slice(cr.length));}return Object.freeze(r)}catch{return []}}}}i(Xo,"createLocalStorageKv");var pr=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function sh(e,t){let r=e.type,n=r.families[t];return t==="mono"||r.namedFaces[t]?{fontFamily:n}:{fontFamily:n,fontWeight:r.weight[pr[t]]}}i(sh,"face");function gu(e,t){let{scale:r,scaleCaps:n}=e.type,o=n[t];return o>0?Math.min(r,o):r}i(gu,"tierScale");var uh=/^https:\/\/sdk(-staging)?\.everfur\.com\/fonts\/[\w./-]+\.woff2$/;function dh(e){return uh.test(e)&&!e.includes("..")}i(dh,"isBrandFontUrl");var hu=new Map;function ch(e,t,r="400"){let n=e.trim(),o=`${n}
|
|
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"),bm(r.source,l)}i(hm,"eventSourceByteSource");async function*bm(e,t){try{yield*e;}finally{t();}}i(bm,"sourceWithCleanup");function vm(){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(vm,"createByteQueue");async function Em(e,t){let r=t.fetchImpl??as(),n=ss(t.config.apiBaseUrl,e.path,e.query),o=ls(t.config,e.headers,"application/json",e.body!==void 0&&e.multipart===void 0),a=km(gm),s=Pm(a.signal,e.signal),l;try{l=await r(n,us({...e,signal:s},o));}catch(d){return R(uo(d))}finally{a.cancel();}let u=await ds(l);return l.ok?M(u):R(Sm(l.status,u,os(l)))}i(Em,"requestJson");function ns(e){return {request:i(t=>Em(t,e),"request"),stream:i((t,r)=>Cm(Tm(t,r),e),"stream")}}i(ns,"createHttpTransport");async function*Cm(e,t){let r=ss(t.config.apiBaseUrl,e.path,e.query),n=ls(t.config,e.headers,"text/event-stream",e.body!==void 0&&e.multipart===void 0);if(t.eventSourceFactory){let l=t.eventSourceFactory(r,Rm(e,n));yield*Br(hm(l),()=>xm(l));return}let o=t.fetchImpl??as(),a;try{a=await o(r,us(e,n));}catch(l){yield es("",true,ms(l));return}let s=os(a);if(!a.ok){let l=await ds(a),u=cs(l)??is(a.status),d=fs(l)||We(Fe(u));yield es(u,d,ps(l),s);return}if(a.body){yield*Br(Ja(a.body),s);return}yield*Br(Ja(null),s);}i(Cm,"streamFrames");function Rm(e,t){return {method:e.method,headers:t,pollingInterval:0,...e.body!==void 0?{body:JSON.stringify(e.body)}:{}}}i(Rm,"buildEventSourceInit");function Sm(e,t,r){let n=cs(t),o=n?Fe(n):Fa(e),a=ps(t);return D(o,{httpStatus:e,...fs(t)?{retryable:true}:{},...r?{requestId:r}:{},...n?{wireCode:n}:{},...ts(t)?{reasonCode:ts(t)}:{},...a?{wireMessage:a}:{},...t!=null?{raw:t}:{}})}i(Sm,"errorFromResponse");function uo(e){return D("internalError",{retryable:true,wireMessage:ms(e)})}i(uo,"networkError");function os(e){let t=e.headers.get(rs);return typeof t=="string"&&t.length>0?t:null}i(os,"requestIdOf");function xm(e){if(typeof e.getResponseHeader!="function")return null;let t;try{t=e.getResponseHeader(rs);}catch{return null}return typeof t=="string"&&t.length>0?t:null}i(xm,"eventSourceRequestId");function is(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(is,"statusToWireCode");function es(e,t,r,n=null){return me({code:e,retryable:t,wireMessage:r,synthesized:true,lastEventId:null,serverRequestId:n})}i(es,"syntheticErrorFrame");function as(){let e=globalThis.fetch;if(typeof e!="function")throw new re("missing-peer-dependency","global fetch is unavailable; provide config.transport or an injected fetch implementation");return e}i(as,"getGlobalFetch");function ss(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(ss,"buildUrl");function ls(e,t,r,n){let o={...Za(e),accept:r};return n&&(o["content-type"]="application/json"),t&&Object.assign(o,t),o}i(ls,"mergeHeaders");function us(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(us,"buildInit");function Tm(e,t){return e.signal?e:{...e,signal:t}}i(Tm,"withSignal");function km(e){let t=new AbortController,r=setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:i(()=>clearTimeout(r),"cancel")}}i(km,"timeoutSignal");function Pm(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(Pm,"mergeAbortSignals");async function ds(e){try{return await e.json()}catch{return null}}i(ds,"safeJson");function ts(e){let t=e,r=t?.error?.reason_code??t?.reason_code;return typeof r=="string"&&r.length>0?r:null}i(ts,"extractReasonCode");function cs(e){let t=e,r=t?.error?.code??t?.code;return typeof r=="string"&&r.length>0?r:null}i(cs,"extractWireCode");function ps(e){let t=e,r=t?.error?.message??t?.message;return typeof r=="string"&&r.length>0?r:null}i(ps,"extractWireMessage");function fs(e){let t=e;return t?.error?.retryable===true||t?.retryable===true}i(fs,"extractRetryable");function ms(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}i(ms,"describeCause");var _m=3e4,wm=no*2,Im="idempotency-key",Am=new Set(["POST","PUT","PATCH","DELETE"]),Om=Object.freeze({onEvent(){}}),Fm=Object.freeze({setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")});function Mm(e){let t=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return t.length===0?null:`efs_${t}`.slice(0,128)}i(Mm,"seededIdempotencyKey");function we(e){let t=e.observer??Om,r=e.timers??Fm,n=e.rng??Math.random,o=e.sleep??((f,m)=>qm(f,r,m)),a=e.maxAttempts??qt,s=e.unaryTimeoutMs??_m,l=e.newIdempotencyKey??Lm(),u=i(f=>{try{t.onEvent(f);}catch{}},"emit");async function d(f,m,y){let v=y?.maxAttempts,h=Math.max(1,v??a),E=y?.idempotent??Am.has(m.method),x=y?.idempotencyKey===void 0?null:Mm(y.idempotencyKey),_=E?x??l():null,w=Dm(m,_),g=0;for(;;){let T=i(F=>Object.freeze({call:f,method:m.method,path:m.path,attempt:g,..._?{idempotencyKey:_}:{},...F}),"stamp");u(T({phase:"attempt"}));let I=Km(s,r),O=Gm(I.signal,m.signal),k;try{k=await Ka({...w,signal:O.signal},e.auth);}catch(F){k=R(uo(F));}finally{O.dispose(),I.cancel();}if(k.ok)return u(T({phase:"settled",ok:true,reason:"ok"})),k;let C=k.error,S=zm(C,g,{maxAttempts:h,rng:n,now:r.now(),aborted:m.signal?.aborted===true,...v!==void 0?{perCallMaxAttempts:v}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),A={ok:false,code:C.code,reason:S.reason,...C.httpStatus!==void 0?{httpStatus:C.httpStatus}:{},...C.requestId!==void 0?{requestId:C.requestId}:{}};if(!S.retry)return u(T({phase:"settled",...A})),R(C);if(u(T({phase:"retry",...A,delayMs:S.delayMs})),await o(S.delayMs,m.signal),m.signal?.aborted===true)return u(T({phase:"settled",...A,reason:"aborted"})),R(C);g+=1;}}i(d,"send");async function c(f){return Yt(f,await Wm(e.auth))}i(c,"authorize");async function*p(f,m,y){u(Object.freeze({call:f,phase:"stream.open",method:m.method,path:m.path,attempt:0}));try{yield*e.auth.transport.stream(m,y);}catch{yield me({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return i(p,"stream"),Object.freeze({send:d,authorize:c,stream:p})}i(we,"createRequestFunnel");function Dm(e,t){let r={};for(let[n,o]of Object.entries(e.headers??{}))n.toLowerCase()!==Im&&(r[n]=o);return t!==null&&(r["Idempotency-Key"]=t),{...e,headers:r}}i(Dm,"assembleHeaders");function Lm(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}i(Lm,"defaultIdempotencyKeyFactory");var Nm=10;function zm(e,t,r){if(r.aborted)return {retry:false,reason:"aborted"};let n=Um(e);if(n==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(n!=="burst"&&!We(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 d;try{d=r.policy.maxAttempts(e.code);}catch{return null}return typeof d!="number"||!Number.isFinite(d)?null:Math.max(1,Math.min(Nm,Math.floor(d)))},"policyCeiling"),l=r.perCallMaxAttempts??s()??r.maxAttempts;if(t+1>=l)return {retry:false,reason:"attempts-exhausted"};let u=Hm(e,r.now);return u!==null?u>wm?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:o,delayMs:u}:{retry:true,reason:o,delayMs:Hr(t,r.rng)}}i(zm,"decideRetry");function Um(e){let t=e.code==="unknown"?Fe($m(e.raw)):e.code;return t==="quotaExceeded"?"quota":t==="rateLimited"||e.httpStatus===429?"burst":null}i(Um,"throttleKind");function Hm(e,t){let r=jm(e.raw);if(r!==null){let o=r-t;return o>0?o:0}let n=Bm(e.raw);return n===null?null:Math.round(n*1e3)}i(Hm,"retryOverrideMs");function Bm(e){for(let t of co(e)){let r=t.retry_after_seconds;if(typeof r=="number"&&Number.isFinite(r)&&r>=0)return r}return null}i(Bm,"findRetryAfterSeconds");function jm(e){for(let t of co(e)){let r=t.resets_at,n=Vm(r);if(n!==null)return n}return null}i(jm,"findResetsAt");function co(e){if(!ys(e))return [];let t=[e];for(let r of ["error","detail"]){let n=e[r];ys(n)&&t.push(n);}return t}i(co,"candidateScopes");function Vm(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(Vm,"parseInstantMs");function $m(e){for(let t of co(e)){let r=t.code;if(typeof r=="string"&&r.length>0)return r}return null}i($m,"rawWireCode");function ys(e){return typeof e=="object"&&e!==null}i(ys,"isRecord");async function Wm(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(Wm,"resolveDeviceAuth");function Km(e,t){let r=new AbortController,n=t.setTimeout(()=>r.abort(),e);return {signal:r.signal,cancel:i(()=>t.clearTimeout(n),"cancel")}}i(Km,"boundedSignal");function Gm(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(Gm,"mergeSignals");function qm(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(qm,"delayAbortable");function Re(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(Re,"hasLoneSurrogate");function gt(e){return [...e].length}i(gt,"serverLength");var Vr=Object.freeze(["better","same","worse"]),fo=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function gs(e){return R(D("validationFailed",{retryable:false,wireMessage:e}))}i(gs,"invalid");function po(){return R(D("internalError",{retryable:false}))}i(po,"malformed");function hs(e){return typeof e!="string"||e.trim().length===0?D("validationFailed",{retryable:false,wireMessage:"pet_ref must not be blank"}):Re(e)?D("validationFailed",{retryable:false,wireMessage:"pet_ref contains an unpaired surrogate and cannot be encoded"}):`/widget/v1/pets/${encodeURIComponent(e)}/cases`}i(hs,"petPath");var Ke=i(e=>typeof e=="string"?e:null,"str"),bs=i(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"count");function vs(e){if(typeof e!="object"||e===null)return null;let t=e,r=Ke(t.case_id),n=Ke(t.status);if(r===null||n===null)return null;let o=Ke(t.last_response);return Object.freeze({caseId:r,status:n,bodyLocation:Ke(t.body_location),lastResponse:o!==null&&Vr.includes(o)?o:null,checkInDueAt:Ke(t.check_in_due_at),openedAt:Ke(t.opened_at),resolvedAt:Ke(t.resolved_at),resolutionText:Ke(t.resolution_text),checkinAskCount:bs(t.checkin_ask_count),checkinAnswerCount:bs(t.checkin_answer_count)})}i(vs,"caseFromWire");function Es(e){return {async list(t,r){let n=hs(t);if(typeof n!="string")return R(n);let o=await e.send("cases.list",{method:"GET",path:n,...r?.signal?{signal:r.signal}:{}});if(!o.ok)return R(o.error);let a=typeof o.value=="object"&&o.value!==null?o.value.cases:null;if(!Array.isArray(a))return po();let s=a.map(vs);return s.every(l=>l!==null)?M(Object.freeze(s)):po()},async checkin(t,r,n,o){let a=hs(t);if(typeof a!="string")return R(a);if(typeof r!="string"||!fo.test(r))return gs("case_id must be a UUID");if(!Vr.includes(n))return gs("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 R(s.error);let l=typeof s.value=="object"&&s.value!==null?s.value:{},u=vs(l.case);return u===null?po():M(Object.freeze({case:u,ctaDeepLink:Ke(l.cta_deep_link)}))}}}i(Es,"createCasesRepositoryOver");var Cs=Object.freeze({async presignedPut(){return Promise.reject(new Error("UploadPort is unavailable; no presigned-upload adapter was injected"))}});var Rs=Object.freeze({setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")});function Wr(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(Wr,"delayAbortable");function Kr(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(Kr,"mergeSignals");var mo=class mo{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?Kr(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(mo,"MediaStore");var $r=mo;function go(e,t,r){return Object.freeze({id:e,role:"user",text:t,createdAt:r,pending:true})}i(go,"makeUser");function ho(e,t,r){return Object.freeze({id:e,role:"assistant",text:t,createdAt:r})}i(ho,"makeAssistant");function Zt(e){return Object.freeze({id:e.id,role:e.role,text:e.text,createdAt:e.createdAt})}i(Zt,"stripPending");function Ss(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(Ss,"appendText");function bo(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(bo,"finalizeAssistant");function xs(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(xs,"freezeSnapshot");function L(e,t,r){return D(e,{retryable:t,...r?{wireMessage:r}:{}})}i(L,"makeError");function vo(e){let t=Fe(e.code);return D(t,{retryable:e.retryable||Ur(t),wireCode:e.code,wireEnvelope:"sse_frame",...e.serverRequestId?{requestId:e.serverRequestId}:{},...e.wireMessage?{wireMessage:e.wireMessage}:{},raw:e})}i(vo,"errorFromFrame");function Me(e){return me({code:Ym(e.code),retryable:e.retryable,wireMessage:e.wireMessage??null,synthesized:true,lastEventId:null,serverRequestId:e.requestId??null})}i(Me,"synthErrorFrame");function Ym(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 ot(e)}}i(Ym,"canonicalWireCode");function Ts(e){let t=Array.isArray(e)?e:yo(e)&&Array.isArray(e.categories)?e.categories:[],r=[];for(let n of t){if(!yo(n))continue;let o=Qt(n.category)??Qt(n.title)??"",a=Xm(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(Ts,"parsePromptCategories");function Eo(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(Eo,"flattenPrompts");function yo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(yo,"isPlainObject");function Qt(e){return typeof e=="string"?e:null}i(Qt,"asStr");function Xm(e){if(!Array.isArray(e))return [];let t=[];for(let r of e)if(typeof r=="string")t.push(r);else if(yo(r)){let n=Qt(r.text)??Qt(r.prompt)??Qt(r.title);n!==null&&t.push(n);}return t}i(Xm,"asPromptTextList");function ks(){let e=0;return ()=>`m-${Date.now().toString(36)}-${(e++).toString(36)}-${Math.random().toString(36).slice(2,8)}`}i(ks,"defaultIdFactory");function Ps(){let e=0;return ()=>`chat-send-${Date.now().toString(36)}-${(e++).toString(36)}-${Math.random().toString(36).slice(2,10)}`}i(Ps,"defaultIdempotencyFactory");var ws={setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")};async function*Is(e,t,r,n){let o=e[Symbol.asyncIterator](),a=_s(t.overallMs,n),s=_s(t.idleMs,n),l=Jm(r);try{for(;;){if(r.aborted)return;let u=o.next().then(p=>({tag:"next",value:p}),()=>({tag:"streamError"})),d=await Promise.race([u,s.promise.then(()=>({tag:"idle"})),a.promise.then(()=>({tag:"overall"})),l.then(()=>({tag:"abort"}))]);if(d.tag==="abort")return;if(d.tag==="streamError"){if(r.aborted)return;yield Zm();return}if(d.tag==="idle"||d.tag==="overall"){yield Qm();return}let c=d.value;if(c.done||(s.reset(t.idleMs),yield c.value,c.value.terminal))return}}finally{s.cancel(),a.cancel(),Promise.resolve(o.return?.(void 0)).catch(()=>{});}}i(Is,"withWatchdog");function Qm(){return me({code:"STREAM_TIMEOUT",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}i(Qm,"synthTimeoutFrame");function Zm(){return me({code:"STREAM_INCOMPLETE",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}i(Zm,"synthStreamErrorFrame");function _s(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(_s,"deadline");function Jm(e){return new Promise(t=>{if(e.aborted){t();return}e.addEventListener("abort",()=>t(),{once:true});})}i(Jm,"abortPromise");var As=128,Os=128,Fs=/[\u0000-\u001F\u007F]/,ey=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ty(e){let t=e,r=gt(t);if(r===0||r>Os)throw new re("invalid-argument",`petRef must be 1..${Os} characters`);if(Fs.test(t))throw new re("invalid-argument","petRef must be printable (no control characters)");return t}i(ty,"petRef");function ry(e){let t=e,r=gt(t);if(r===0||r>As)throw new re("invalid-argument",`userRef must be 1..${As} characters`);if(t.includes("@"))throw new re("invalid-argument","userRef must not contain '@'");if(Fs.test(t))throw new re("invalid-argument","userRef must be printable (no control characters)");return t}i(ry,"userRef");function ny(e){if(!ey.test(e))throw new re("invalid-argument","conversationId must be a UUID");return e}i(ny,"conversationId");var oy="checkin",iy=/^\d{4}-\d{2}-\d{2}$/,Gr="watching";function Ms(e){return e.status!=null&&e.status!==Gr}i(Ms,"isCheckinSettled");function Ds(e){let{askCount:t,answerCount:r}=e;return typeof t!="number"||!Number.isFinite(t)||typeof r!="number"||!Number.isFinite(r)||t<=0?true:r>=t}i(Ds,"isLiveAskAnswered");function Co(e){if(typeof e!="string")return null;let t=e.split(":");if(t.length!==3)return null;let[r,n,o]=t;return r!==oy||n===void 0||o===void 0||!fo.test(n)||!iy.test(o)?null:{caseId:n,dueDay:o}}i(Co,"parseCheckinOrigin");function Ls(e){return Co(e)?.caseId??null}i(Ls,"parseCheckinOriginRef");function So(e,t){if(e?.limit!==void 0&&(!Number.isInteger(e.limit)||e.limit<1||e.limit>t))return R(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||Re(o))return R(D("validationFailed"));r.push(`${n}=${encodeURIComponent(o)}`);}return e?.limit!==void 0&&r.push(`limit=${e.limit}`),M(r.length?`?${r.join("&")}`:"")}i(So,"historyQuery");function er(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(er,"validConversationId");function Mt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}i(Mt,"object");function Ns(e){return e==null||typeof e=="string"&&e.length>0&&!Re(e)}i(Ns,"cursor");function Jt(){return R(D("internalError",{retryable:false}))}i(Jt,"malformed");function zs(e){let t=Mt(e);if(!t||!Array.isArray(t.conversations)||!Ns(t.next_cursor))return Jt();let r=[];for(let n of t.conversations){let o=Mt(n);if(!o||typeof o.conversation_id!="string"||!er(o.conversation_id)||!(o.title==null||typeof o.title=="string")||typeof o.created_at!="string"||typeof o.updated_at!="string")return Jt();let a=o.unread_message_count;if(!(a==null||Number.isInteger(a)&&a>=0))return Jt();r.push(Object.freeze({id:o.conversation_id,title:o.title??null,createdAt:o.created_at,updatedAt:o.updated_at,unreadCount:a??null}));}return M(Object.freeze({conversations:Object.freeze(r),nextCursor:t.next_cursor??null}))}i(zs,"mapConversationPage");function Us(e){let t=Mt(e);if(!t||!Array.isArray(t.messages)||!Ns(t.next_cursor))return Jt();let r=[],n=new Set;for(let o of t.messages){let a=Mt(o);if(!a||typeof a.message_id!="string"||!er(a.message_id)||typeof a.role!="string"||typeof a.content!="string"||typeof a.created_at!="string")return Jt();if(a.role!=="user"&&a.role!=="assistant"&&a.role!=="vet"||n.has(a.message_id))continue;if(n.add(a.message_id),a.role==="vet"){r.push(ay(a,a.message_id,a.content,a.created_at));continue}let s=typeof a.proactive_origin_ref=="string"?a.proactive_origin_ref:null,l=a.role==="assistant"?Ls(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:sy(a.urgency_level)}:{},...Array.isArray(a.citations)?{citations:ly(a.citations)}:{},...s!==null?{proactiveOriginRef:s}:{},...l!==null?{checkin:Object.freeze({caseId:l,answer:null,resolutionText:null,status:null})}:{}}));}return M(Object.freeze({messages:Object.freeze(r),nextCursor:t.next_cursor??null}))}i(Us,"mapMessagePage");function ay(e,t,r,n){let o=Mt(e.sender),a=Ro(o?.display_name)??Ro(e.sender_display_name),s=Ro(o?.specialty);return Object.freeze({id:t,role:"vet",text:r,createdAt:n,sender:Object.freeze({displayName:a,specialty:s})})}i(ay,"vetMessage");function Ro(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0&&!Re(t)?t:null}i(Ro,"trimmedText");function sy(e){return e==="emergency"||e==="schedule_soon"||e==="home_care"?e:null}i(sy,"normalizeUrgency");function ly(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=Mt(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(ly,"historyCitations");var xo=Object.freeze(["helpful","neutral","not_helpful","wrong","outdated","dangerous","unclear"]),tr=4e3;var ht=4e3;function Hs(e){return e===void 0?null:!Array.isArray(e)||e.length>5?{reason:"too_many_images",error:L("validationFailed",false,`image_s3_keys accepts at most ${5} 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(Hs,"validateImageKeys");function ko(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>ht?{reason:"too_long",error:L("validationFailed",false,`message is ${r} characters; the server accepts at most ${ht}`)}:null}i(ko,"validateMessageText");function Bs(e){return e==="emergency"||e==="schedule_soon"||e==="home_care"?e:null}i(Bs,"urgencyTier");async function*rr(e){yield e;}i(rr,"singleFrameStream");async function*js(){}i(js,"emptyStream");var uy=6e4,dy=18e4,cy=24,py=512,fy=false;function Vs(e){return new Po(e)}i(Vs,"createChatController");var _o=class _o extends $r{constructor(r){super(xs({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.scopePrompts=[];this.replyPrompts=null;this.unreadByConversation=new Map;this.classifiedMessageIds=new Set;this.pendingDelta="";this.flushHandle=null;this.auth=r.auth,this.funnel=r.funnel??we({auth:r.auth,...r.errorPolicy?{errorPolicy:r.errorPolicy}:{}}),this.petRef=r.petRef??null,this.cases=Es(this.funnel),this.telemetry=r.telemetry??Nr,this.errorPolicy=r.errorPolicy??Da,this.timers=r.timers??ws,this.rng=r.rng??Math.random,this.newId=r.newId??ks(),this.makeIdempotencyKey=r.makeIdempotencyKey??Ps(),this.budget={idleMs:r.budget?.idleMs??uy,overallMs:r.budget?.overallMs??dy};}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),()=>{}):rr(Me(u))}let s=ko(r)??Hs(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),()=>{}):rr(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 rr(Me(L("accessDenied",false)));let o=ko(r);return o!==null?(this.telemetry.track("chat.send.rejected",{reason:o.reason}),rr(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):js()}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,go(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.scopePrompts=[],this.unreadByConversation.clear(),this.classifiedMessageIds.clear(),this.reflectUnreadDot();}resetThread(r=[]){super.rescope(),this.historyGeneration+=1,this.unadoptedCreate=null,this.lastTurn=null,this.lastResponseIdValue=null,this.bootstrapPrompts=r,this.replyPrompts=null,this.discardPendingDelta(),this.patch({status:"idle",isStreaming:false,messages:[],conversationId:null,error:null,suggestedPrompts:r,historyCursor:null,isLoadingHistory:false,isBootstrapping:false,unreadCount:null,stopped:false,reconnecting:false});}newConversation(){this.disposed||this.resetThread(this.scopePrompts);}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(Eo(r));this.bootstrapPrompts=n,this.scopePrompts=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=So(r,100);if(!o.ok)return o;let a=this.epoch;if(this.disposed)return R(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 R(L("accessDenied",false));if(!s.ok)return s;let l=zs(s.value);if(l.ok){for(let c of l.value.conversations)c.unreadCount!==null&&this.unreadByConversation.set(c.id,c.unreadCount);let u=this.snapshot.conversationId,d=u===null?void 0:this.unreadByConversation.get(u);d!==void 0&&d!==this.snapshot.unreadCount&&this.patch({unreadCount:d}),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 R(L("accessDenied",false));let n=r?.conversationId??null;if(n!==null){let u=await this.resumeConversation(n);return u.ok?M(n):R(u.error)}let o=r?.petRef??this.petRef,a=await this.listConversations({...o===null?{}:{petRef:o},limit:1});if(!a.ok)return R(a.error);let s=a.value.conversations[0];if(s===void 0)return M(null);let l=await this.resumeConversation(s.id);return l.ok?M(s.id):R(l.error)}async markRead(r){if(this.disposed)return R(L("accessDenied",false));let n=this.snapshot.conversationId;if(n===null)return M(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?R(L("accessDenied",false)):a.ok?(this.unreadByConversation.set(n,0),this.snapshot.conversationId===n&&this.snapshot.unreadCount!==0&&this.patch({unreadCount:0}),this.reflectUnreadDot(),M(void 0)):R(a.error)}async submitFeedback(r,n,o,a){if(this.disposed)return R(L("accessDenied",false));if(typeof r!="string"||r.trim().length===0||Re(r))return R(L("validationFailed",false,"feedback needs the server message id of an assistant reply"));if(!xo.includes(n))return R(L("validationFailed",false,`feedback_type must be one of ${xo.join(", ")}`));let s=typeof o=="string"?o.trim():"";if([...s].length>tr)return R(L("validationFailed",false,`notes is over ${tr} characters`));let l={feedback_type:n};s.length>0&&(l.notes=s);let u=this.epoch,d=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 R(L("accessDenied",false));if(!d.ok)return R(d.error);let c=d.value?.feedback_id;return M(Object.freeze({feedbackId:typeof c=="string"?c:""}))}async answerCheckin(r,n,o){if(this.disposed)return R(L("accessDenied",false));let a=o?.petRef??this.petRef;if(a===null)return R(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 R(L("accessDenied",false));if(!l.ok)return l;let u=l.value.case.openedAt,d=Object.freeze({caseId:r,answer:n,resolutionText:l.value.case.resolutionText,status:l.value.case.status??null,...u!==null?{openedAt:u}:{}}),c=i(p=>p.checkin?.caseId===r,"carries");return this.snapshot.messages.some(c)&&this.patch({messages:this.snapshot.messages.map(p=>c(p)?Object.freeze({...p,checkin:d}):p)}),l}async getMessages(r,n){if(!er(r))return R(L("validationFailed",false));let o=So(n,200);if(!o.ok)return o;let a=this.epoch;if(this.disposed)return R(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?R(L("accessDenied",false)):s.ok?Us(s.value):s}async resumeConversation(r){if(this.disposed)return R(L("accessDenied",false));if(!er(r))return R(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 R(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(),M(void 0)}async stampCheckinStatuses(r){let n=this.petRef;if(n===null||!this.snapshot.messages.some(d=>d.checkin!==void 0&&d.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(d=>d.status===Gr).map(d=>d.caseId)),s=new Map(o.value.map(d=>[d.caseId,d])),l=false,u=this.snapshot.messages.map(d=>{let c=d.checkin;if(c===void 0||c.status!==null)return d;l=true;let p=s.get(c.caseId),f=c.openedAt??p?.openedAt??null,m=a.has(c.caseId),y=p!==void 0&&(!m||Ds({askCount:p.checkinAskCount,answerCount:p.checkinAnswerCount}))?p.lastResponse:null;return Object.freeze({...d,checkin:Object.freeze({...c,status:m?Gr:p?.status??"resolved",answer:c.answer??y,resolutionText:c.resolutionText??p?.resolutionText??null,...f!==null?{openedAt:f}:{}})})});l&&this.patch({messages:u});}async refreshActiveThread(){if(this.disposed)return R(L("accessDenied",false));let r=this.snapshot.conversationId;if(r===null||this.snapshot.isStreaming)return M(void 0);let n=this.historyGeneration,o=await this.getMessages(r);if(n!==this.historyGeneration||this.disposed)return R(L("accessDenied",false));if(!o.ok)return R(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}),M(void 0)}async loadOlderMessages(){if(this.disposed)return R(L("accessDenied",false));let r=this.snapshot.conversationId,n=this.snapshot.historyCursor;if(!r||!n||this.snapshot.isLoadingHistory)return M(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 R(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}),M(void 0)}async*retryHistory(r){let n=await this.resumeConversation(r);n.ok||(yield Me(n.error));}async primeConversation(r){if(this.disposed)return R(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?R(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 M(n);let o=this.snapshot.conversationId;return o!==null?M(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 R(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?R(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 R(a.error);let s=a.value?.conversation_id??a.value?.id;return typeof s!="string"||s.length===0?R(L("internalError",true)):M(s)}async getPrompts(r){let n=this.epoch;if(this.disposed)return R(L("accessDenied",false));let o=r?.petRef??null;if(o!==null&&Re(o))return R(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?R(L("accessDenied",false)):s.ok?M(Ts(s.value)):R(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=Kr(a.signal,n.signal),l=this.beginTurn(r,n),u=this.runTurn(l,s),d=false,c=i(()=>{d||(d=true,a.abort(),this.handlerTeardowns.delete(c));},"teardown");return this.handlerTeardowns.add(c),(async()=>{for await(let p of u){if(d)break;o.onFrame(p),p.kind==="done"&&o.onDone(this.lastResponseIdValue);}!d&&this.snapshot.status==="error"&&this.snapshot.error!==null&&o.onError(this.snapshot.error),this.handlerTeardowns.delete(c);})(),c}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,go(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,d=u?this.unadoptedCreate:null;if(d!==null&&(r.petRef===null||r.petRef===d.petRef)){let h=await d.settled;if(o.signal.aborted||!this.alive(o.epoch))return;h.ok&&this.snapshot.conversationId===null&&this.adoptConversation(h.value);}if(u&&this.snapshot.conversationId===null){let h=await this.createConversationBounded(r.petRef,o.signal);if(o.signal.aborted||!this.alive(o.epoch))return;if(!h.ok){yield*this.emitTerminal(r,h.error,Me(h.error));return}this.adoptConversation(h.value);}let c=r.conversationIdOverride??this.snapshot.conversationId;if(c===null){let h=L("internalError",!0);yield*this.emitTerminal(r,h,Me(h));return}this.clearAssistantInProgress(r);let p=new AbortController,f=Kr(o.signal,p.signal),m=null;try{let h;try{h=await this.funnel.authorize(this.buildSendRequest(r,c));}catch{let x=this.authRejected();yield*this.emitTerminal(r,x,Me(x));return}if(o.signal.aborted||!this.alive(o.epoch))return;let E=this.funnel.stream("chat.send",h,f);for await(let x of Is(E,this.budget,f,this.timers)){if(!this.alive(o.epoch))return;if(x.kind==="error"&&x.terminal){m=x;break}if(this.applyFrame(x,r),yield x,x.terminal){o.settle();return}}}finally{p.abort();}if(o.signal.aborted||!this.alive(o.epoch))return;if(m===null){if(this.snapshot.status==="complete")return;let h=L("streamIncomplete",!0);yield*this.emitTerminal(r,h,Me(h));return}let y=Fe(m.code);if(y==="authExpired"&&this.auth.mode==="personalized"&&!l){l=!0,this.telemetry.track("chat.auth.refresh",{});let h=await this.tryForceRefresh();if(o.signal.aborted||!this.alive(o.epoch))return;if(!h){let E=this.authRejected();yield*this.emitTerminal(r,E,m);return}this.patch({reconnecting:!0});continue}if(y==="authExpired"){this.telemetry.track("chat.auth.rejected",{});let h=this.authRejected();yield*this.emitTerminal(r,h,m);return}if(y==="accessDenied"){this.telemetry.track("chat.access_denied",{}),yield*this.emitTerminal(r,vo(m),m);return}if(Ma(y)&&!s){s=!0,this.telemetry.track("chat.conv.recreate",{}),this.adoptConversation(null),r.conversationIdOverride=null,this.patch({reconnecting:!0});continue}let v=m.retryable&&Ur(y,!0);if(fy&&v&&a+1<this.errorPolicy.maxAttempts(y));yield*this.emitTerminal(r,vo(m),m);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 ot(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,ho(o,r,this.stamp())]});return}if(this.pendingDelta+=r,this.pendingDelta.length>=py){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);},cy);}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?Ss(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?bo(l,r):l);else {let l=this.newId();n.assistantMessageId=l,n.sawDelta=true,a=[...this.snapshot.messages.map(d=>d.id===n.userMessageId&&d.pending===true?Zt(d):d),bo(ho(l,"",this.stamp()),r)];}let s=Eo([{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=Bs(l.value?.urgency),d=typeof l.value?.reason=="string"?l.value.reason:null,c=i(p=>p.responseId===n,"carries");this.snapshot.messages.some(c)&&this.patch({messages:this.snapshot.messages.map(p=>c(p)?Object.freeze({...p,urgencyLevel:u,urgencyReason:d,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(_o,"ChatControllerImpl");var Po=_o;async function Ks(e,t){let{controller:r}=t,n=e.petRef??null,o=e.resumeConversationId??null,a=[],s=false,l=false,u=false,d=null,c=null,p=o?r.resumeConversation(o).then(w=>w.ok?M(o):w):r.primeConversation(n?{petRef:n}:void 0),f=r.getPrompts(n!==null?{petRef:n}:void 0),[m,y]=await Promise.all([p,f]),v=null;if(m.ok)v=m.value,a.push(m.value),r.getSnapshot().conversationId===null&&r.adoptConversation(m.value);else {let w=m.error;c=w,$s(w)?(l=true,d=w):(Ws(w)&&(s=true),u=true);}let h=[];y.ok?h=y.value:E(y.error);function E(w){$s(w)?(l=true,d===null&&(d=w)):Ws(w)&&(s=true);}i(E,"recordAuthSignals");let x=d!==null?d.displayMessage:null;return Object.freeze({conversationId:v,petRef:n,suggestedPrompts:h,error:x,warning:x===null&&v===null&&u?my:null,cause:d??c,diagnostics:Object.freeze({candidateConversationIds:Object.freeze([...a]),sawForbidden:s,sawUnauthorized:l,sawConversationInitFailure:u})})}i(Ks,"bootstrapChat");var my="Chat is ready. Your first message will start the conversation.";function $s(e){return e.httpStatus===401||e.code==="authExpired"||e.code==="authRejected"}i($s,"isUnauthorized");function Ws(e){return e.httpStatus===403||e.code==="accessDenied"}i(Ws,"isForbidden");var wo=Object.freeze({postMultipart(){return Promise.reject(new Error("UploadTransport is unavailable; no records upload adapter was injected"))}});function Gs(e){return e!==wo}i(Gs,"isUploadTransportAvailable");var yy=Object.freeze(["image/jpeg","image/jpg","image/png","image/heic","image/heif","image/webp"]),Ys="image/jpeg,image/png,image/webp,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.heic,.heif",qr=10*1024*1024,Yr=5,nr=120,gy="/widget/v1/uploads/initiate";function hy(e){return typeof e=="string"&&yy.includes(e.trim().toLowerCase())}i(hy,"isAttachmentMime");function by(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<=nr)return t;let r=t.lastIndexOf(".");if(r===-1||r===t.length-1)return t.slice(0,nr);let n=t.slice(r);return n.length>=nr?t.slice(0,nr):`${t.slice(0,r).slice(0,nr-n.length)}${n}`}i(by,"sanitizeFilename");function Io(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}i(Io,"formatBytes");var or=i(e=>Object.freeze({ok:true,value:e}),"ok"),Ie=i(e=>Object.freeze({ok:false,error:e}),"err");function ue(e,t,r,n){return Object.freeze({code:e,retryable:t,filename:r,...n??{}})}i(ue,"failure");function vy(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(vy,"attachmentSize");function Ey(e){let t=by(e.name),r=typeof e.mimeType=="string"?e.mimeType.trim().toLowerCase():"";if(!hy(r))return Ie(ue("unsupported_type",false,t));let n=vy(e);return n===null?Ie(ue("unknown",false,t)):n>qr?Ie(ue("too_large",false,t,{sizeBytes:n})):or(Object.freeze({file:e,filename:t,contentType:r,sizeBytes:n}))}i(Ey,"validateAttachment");function Cy(e){if(typeof e!="object"||e===null)return null;let t=e,r=i(d=>typeof d=="string"&&d.length>0?d:null,"str"),n=i(d=>typeof d=="number"&&Number.isFinite(d)?d: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[d,c]of Object.entries(u))typeof c=="string"&&(l[d]=c);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)??qr,s3_key:s,purpose:r(t.purpose)})}i(Cy,"parsePolicy");function Ry(e,t){let r=e.httpStatus;switch(e.code){case "quotaExceeded":return ue("quota_exceeded",false,t,{cause:e});case "rateLimited":return ue("rate_limited",true,t,{cause:e});case "idempotencyConflict":case "idempotencyInFlight":return ue("idempotency_conflict",true,t,{cause:e});case "validationFailed":return ue("unsupported_type",false,t,{cause:e});case "serviceUnavailable":case "streamTimeout":return ue("network",true,t,{cause:e});default:return r===429?ue("rate_limited",true,t,{cause:e}):r===503?ue("network",true,t,{cause:e}):r===void 0?ue("network",true,t,{cause:e}):ue("server",e.retryable,t,{httpStatus:r,cause:e})}}i(Ry,"initiateFailure");async function Sy(e,t,r){let n=await e.send("chat.attachments.initiate",{method:"POST",path:gy,body:{filename:t.filename,content_type:t.contentType,file_size:t.sizeBytes},...r?.signal?{signal:r.signal}:{}});if(!n.ok)return Ie(Ry(n.error,t.filename));let o=Cy(n.value);return o===null?Ie(ue("server",false,t.filename)):or(o)}i(Sy,"initiateAttachmentUpload");async function xy(e,t,r,n){let o=i(()=>n?.signal?.aborted===true,"cancelled");if(o())return Ie(ue("cancelled",true,r.filename));try{return await e.postMultipart(t,r.file,{...n?.signal?{signal:n.signal}:{},...n?.onProgress?{onProgress:n.onProgress}:{}}),or(void 0)}catch{return o()?Ie(ue("cancelled",true,r.filename)):Ie(ue("server",true,r.filename))}}i(xy,"uploadAttachmentBytes");var Ty=2,ky=3,Py=Object.freeze([1e3,2e3,4e3]),qs=0;function _y(){return qs+=1,`attachment-${qs}`}i(_y,"defaultNewId");function Xs(e){let t=Math.max(1,e.concurrency??Ty),r=Math.max(1,e.maxAttempts??ky),n=e.backoffMs??Py,o=Math.max(1,e.maxPerMessage??Yr),a=e.timers??Rs,s=e.newId??_y,l=Gs(e.transport),u=new Map,d=[],c=[],p=new Set,f=new Set,m=Object.freeze({attachments:Object.freeze([])}),y=false,v=i(()=>{m=Object.freeze({attachments:Object.freeze(d.flatMap(g=>{let T=u.get(g);return T===void 0?[]:[T.state]}))});for(let g of f)g();},"publish"),h=i((g,T)=>{g.state=Object.freeze({...g.state,...T}),v();},"patch"),E=i(()=>{for(;!y&&p.size<t&&c.length>0;){let g=c.shift(),T=u.get(g);T!==void 0&&(p.add(g),x(T).finally(()=>{p.delete(g),E();}));}},"pump"),x=i(async g=>{let{attachment:T}=g;for(;g.attempts<r;){if(y||g.controller.signal.aborted)return;g.attempts+=1;let I=g.controller.signal;h(g,{status:"uploading",error:null,progress:0});let O=await Sy(e.funnel,T,{signal:I});if(y||I.aborted)return;let k;if(!O.ok)k=Ie(O.error);else {let F=await xy(e.transport,O.value,T,{signal:I,onProgress:i(B=>{!I.aborted&&g.state.status==="uploading"&&h(g,{progress:wy(B)});},"onProgress")});if(y||I.aborted)return;k=F.ok?or(O.value.s3_key):Ie(F.error);}if(k.ok){h(g,{status:"uploaded",s3Key:k.value,error:null,progress:1});return}let C=k.error,S=C.retryable&&g.attempts<r;if(h(g,{status:S?"uploading":"failed",error:C,progress:0}),!S)return;let A=n[Math.min(g.attempts-1,n.length-1)]??0;await Wr(A,I,a);}},"run"),_=i(g=>{c.push(g.state.id),E();},"enqueue"),w={available:l,subscribe(g){return f.add(g),()=>{f.delete(g);}},getSnapshot:i(()=>m,"getSnapshot"),get uploading(){return m.attachments.some(g=>g.status==="uploading")},get s3Keys(){return m.attachments.flatMap(g=>g.status==="uploaded"&&g.s3Key!==null?[g.s3Key]:[])},add(g){let T=Ey(g);if(!T.ok)return T;if(y||d.length>=o)return Ie(ue("too_many",false,T.value.filename));let I=s(),O={attachment:T.value,controller:new AbortController,attempts:0,state:Object.freeze({id:I,filename:T.value.filename,previewUri:g.uri,contentType:T.value.contentType,sizeBytes:T.value.sizeBytes,status:"uploading",s3Key:null,error:null,progress:0})};return u.set(I,O),d.push(I),v(),_(O),or(O.state)},retry(g){let T=u.get(g);T===void 0||y||T.state.status!=="failed"||(T.controller=new AbortController,T.attempts=0,h(T,{status:"uploading",error:null,progress:0,s3Key:null}),_(T));},remove(g){let T=u.get(g);if(T===void 0)return;T.controller.abort(),u.delete(g);let I=d.indexOf(g);I>=0&&d.splice(I,1);let O=c.indexOf(g);O>=0&&c.splice(O,1),v();},clear(){for(let g of [...d])w.remove(g);},dispose(){y=true;for(let g of u.values())g.controller.abort();u.clear(),d.length=0,c.length=0,f.clear(),m=Object.freeze({attachments:Object.freeze([])});}};return w}i(Xs,"createAttachmentQueue");function wy(e){return Number.isNaN(e)||e<0?0:e>1?1:e}i(wy,"clamp");var Qs=Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function ir(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(Qs,t)?Qs[t]:null}i(ir,"canonicalPetSpecies");var Zs=50,Iy=128,Ao=120,Js=120,Ay=2e3,el=120,Oy=80,nl=new Set(["male","female","unknown"]),ol=new Set(["day","month","year"]),il=new Set(["low","medium","high","athletic"]),al=new Set(["indoor","outdoor","both"]),sl=new Set(["mild","moderate","severe"]),Fy=/^(\d{4})-(\d{2})-(\d{2})$/,ll=[["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"]],ul=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];Object.freeze([...ll,...ul].map(([e])=>e));function My(e){let t=Fy.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(My,"isRealDate");var sr=i(e=>(t,r)=>typeof r=="string"&&e.has(r)?null:`${t} must be one of ${[...e].join(", ")}`,"oneOf"),Dy=i((e,t)=>typeof t=="boolean"?null:`${e} must be true or false`,"boolean"),Qr=i((e,t)=>typeof t=="string"&&My(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(Re(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=gt(o);return a<=e?null:`${r} is ${a} characters; the server accepts at most ${e}`},"text"),Ly={sex:sr(nl),spayedNeutered:Dy,birthDate:Qr,birthDatePrecision:sr(ol),activityLevel:sr(il),indoorOutdoor:sr(al),foodBrand:De(el),foodType:De(el),microchipId:De(Oy)},Oo=["ref","ref",false,De(Iy,{required:true,trimmed:true})],Fo=["notes","notes",false,De(Ay,{trimmed:true})],tl=[Oo,["name","name",true,De(Ao,{required:true,trimmed:true})],["dose","dose",false,De(Js,{trimmed:true})],["frequency","frequency",false,De(Js,{trimmed:true})],["startDate","start_date",false,Qr],["endDate","end_date",false,Qr],Fo],Ny={allergies:[Oo,["allergen","allergen",true,De(Ao,{required:true,trimmed:true})],["severity","severity",false,sr(sl)],Fo],medications:tl,supplements:tl,conditions:[Oo,["conditionName","condition_name",true,De(Ao,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,Qr],Fo]};function zy(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,d,c,p]of Ny[e]){let f=o[u];if(f==null){if(c)return {error:`${n}.${u} is required`};f===null&&(a[d]=null);continue}let m=p(`${n}.${u}`,f);if(m!==null)return {error:m};a[d]=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(zy,"itemToWire");function Uy(e,t){if(!Array.isArray(t))return {error:`${e} must be an array (send [] to clear it)`};if(t.length>Zs)return {error:`${e} has ${t.length} items; the server accepts at most ${Zs}`};let r=[],n=new Set;for(let o=0;o<t.length;o+=1){let a=zy(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(Uy,"listToWire");function dl(e,t){let r=e,n={};for(let[s,l]of ll){let u=r[s];if(u!==void 0){if(u!==null){let d=Ly[s](s,u);if(d!==null)return {error:d}}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 ul){let u=r[s];if(u===void 0)continue;let d=Uy(s,u);if("error"in d)return d;n[l]=d.items;}return Object.keys(n).length>0&&t!==void 0&&ir(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(dl,"petHealthToWire");var oe=i(e=>typeof e=="string"?e:null,"str"),ar=i((e,t)=>typeof t=="string"&&e.has(t)?t:null,"pick"),Hy=i(e=>typeof e=="boolean"?e:null,"bool");function Xr(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(Xr,"itemsFromWire");function rl(e){let t=oe(e.name);return t===null||t.length===0?null:Object.freeze({ref:oe(e.ref),name:t,dose:oe(e.dose),frequency:oe(e.frequency),startDate:oe(e.start_date),endDate:oe(e.end_date),notes:oe(e.notes)})}i(rl,"medicationFromWire");function cl(e){let t=e.profile_version;return Object.freeze({profileVersion:typeof t=="number"&&Number.isInteger(t)&&t>=0?t:0,sex:ar(nl,e.sex),spayedNeutered:Hy(e.spayed_neutered),birthDate:oe(e.birth_date),birthDatePrecision:ar(ol,e.birth_date_precision),activityLevel:ar(il,e.activity_level),indoorOutdoor:ar(al,e.indoor_outdoor),foodBrand:oe(e.food_brand),foodType:oe(e.food_type),microchipId:oe(e.microchip_id),allergies:Xr(e.allergies,r=>{let n=oe(r.allergen);return n===null||n.length===0?null:Object.freeze({ref:oe(r.ref),allergen:n,severity:ar(sl,r.severity),notes:oe(r.notes)})}),medications:Xr(e.medications,rl),supplements:Xr(e.supplements,rl),conditions:Xr(e.conditions,r=>{let n=oe(r.condition_name);return n===null||n.length===0?null:Object.freeze({ref:oe(r.ref),conditionName:n,diagnosedDate:oe(r.diagnosed_date),notes:oe(r.notes)})})})}i(cl,"petHealthFromWire");var ml=100,yl=50,gl=100,hl=50,bl=500,By=128,jy=6e4;function Ne(e){return D("validationFailed",{retryable:false,wireMessage:e})}i(Ne,"invalid");function bt(e,t,r){if(typeof t!="string")return Ne(`${e} must be a string`);let n=gt(t);return n<=r?null:Ne(`${e} is ${n} characters; the server accepts at most ${r}`)}i(bt,"checkString");function Zr(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(Zr,"outOfRange");function pl(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(Re(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=[bt("pet_ref",e,By)];return t?.name!==void 0&&r.push(bt("name",t.name,ml)),t?.species!==void 0&&r.push(bt("species",t.species,yl)),t?.breed!==void 0&&r.push(bt("breed",t.breed,gl)),t?.ageYears!==void 0&&r.push(Zr("age_years",t.ageYears,hl)),t?.weightKg!==void 0&&r.push(Zr("weight_kg",t.weightKg,bl)),r.find(n=>n!==null)??null}i(pl,"validate");function vl(e,t){let r=dl(e,t);return "error"in r?{error:Ne(r.error)}:r}i(vl,"healthToWire");function Vy(e){if(typeof e!="object"||e===null)return {error:Ne("patch must be an object")};let t=e,r=[["name","name",a=>bt("name",a,ml)],["species","species",a=>bt("species",a,yl)],["breed","breed",a=>bt("breed",a,gl)],["ageYears","age_years",a=>Zr("age_years",a,hl)],["weightKg","weight_kg",a=>Zr("weight_kg",a,bl)]],n={};for(let[a,s,l]of r){let u=t[a];if(u!==void 0){if(u!==null){let d=l(u);if(d!==null)return {error:d}}n[s]=u;}}let o=vl(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(Vy,"patchToWire");function $y(e){if(e==null)return {body:{}};let t=vl(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($y,"toWire");var Le=i(e=>typeof e=="string"?e:null,"str"),Jr=i(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"num");function fl(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:Jr(r.age_years),weightKg:Jr(r.weight_kg)})}i(fl,"fromWire");function El(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:Jr(t.age_years),weightKg:Jr(t.weight_kg),updatedAt:Le(t.updated_at)})}i(El,"widgetPetFromWire");function Wy(e){let t=El(e);return t===null?null:Object.freeze({...t,...cl(e)})}i(Wy,"widgetPetProfileFromWire");function Ky(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=El(r);return n===null?[]:[n]}))}i(Ky,"petListFromWire");function it(e){return Gy(we({auth:e}),we({auth:e,unaryTimeoutMs:jy}))}i(it,"createPetsRepository");function Gy(e,t=e){let r=i((o,a)=>a?{...o,signal:a}:o,"withSignal"),n=i(o=>pl(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?M(Ky(a.value)):R(a.error)},async registerPet(o,a,s){let l=pl(o,a);if(l!==null)return R(l);let u=$y(a);if("error"in u)return R(u.error);let c={method:"POST",path:`/widget/v1/pets/${encodeURIComponent(o)}`,body:u.body},p=await e.send("pets.registerPet",s?.signal?{...c,signal:s.signal}:c);return p.ok?M(fl(p.value,o)):R(p.error)},async updatePet(o,a,s){let l=n(o);if(typeof l!="string")return R(l);let u=Vy(a);if("error"in u)return R(u.error);let d=await e.send("pets.updatePet",r({method:"PATCH",path:l,body:u.body},s?.signal));return d.ok?M(fl(d.value,o)):R(d.error)},async getPetProfile(o,a){let s=n(o);if(typeof s!="string")return R(s);let l=await e.send("pets.getPetProfile",r({method:"GET",path:`${s}/profile`},a?.signal));if(!l.ok)return R(l.error);let u=Wy(l.value);return u===null?R(D("internalError",{retryable:false,httpStatus:502,wireMessage:"the pet profile response carried no pet_ref"})):M(u)},async deletePet(o,a){let s=n(o);if(typeof s!="string")return R(s);let l=await e.send("pets.deletePet",r({method:"DELETE",path:s},a?.signal));return l.ok?M(void 0):R(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?M(void 0):R(a.error)}}}i(Gy,"createPetsRepositoryOver");var Do=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 qy(e){return Do[e]}i(qy,"requires");function Cl(e,t){let r=Object.freeze({reason:t,level:e,recoverable:false}),n=[],o=new Set;for(let a of Object.keys(Do))for(let s of Do[a])o.has(s)||(o.add(s),n.push(Object.freeze({resource:s,granted:false,disabled:r})));return Object.freeze(n)}i(Cl,"deniedDecisionsFor");function Rl(e,t,r){let n=qy(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 Mo({name:e,enabled:false,isPending:true,limits:{}});let a=Yy(n,o);return n.filter(l=>o.get(l)?.granted!==true).length===0?Mo({name:e,enabled:true,isPending:false,limits:a}):Mo({name:e,enabled:false,isPending:false,limits:a,disabled:Xy(n,o)})}i(Rl,"decideCapability");function Yy(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(Yy,"mergeLimits");function Xy(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:Ft("accessDenied"),level:"user_entitlement",recoverable:false})}i(Xy,"disabledFor");function Mo(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(Mo,"freezeDecision");function Q(e){let t=X(e);return t===null?null:Zy(t)}i(Q,"parseColor");function X(e){if(typeof e=="number")return Sl(e);if(typeof e!="string")return null;let t=e.trim();if(t.length===0)return null;if(t.startsWith("#"))return Lo(t.slice(1));if(t.toLowerCase().startsWith("0x"))return Lo(t.slice(2));if(t.toLowerCase().startsWith("rgb"))return Qy(t);if(/^[0-9a-fA-F]+$/.test(t)){let r=Lo(t);if(r!==null)return r}return /^\d+$/.test(t)?Sl(Number.parseInt(t,10)):null}i(X,"toRgba");function Lo(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:vt(t,0),g:vt(t,2),b:vt(t,4),a:1};if(t.length===8){let r=vt(t,0);return {r:vt(t,2),g:vt(t,4),b:vt(t,6),a:r/255}}return null}i(Lo,"fromHex");function Qy(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=zo(Number(n[0])),a=zo(Number(n[1])),s=zo(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(Qy,"fromRgbFunc");function Sl(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(Sl,"argbIntToRgba");function vt(e,t){return Number.parseInt(e.slice(t,t+2),16)}i(vt,"byte");function No(e){return Number.parseInt(`${e??"0"}${e??"0"}`,16)}i(No,"dup");function zo(e){return Number.isFinite(e)?Math.min(255,Math.max(0,Math.round(e))):null}i(zo,"clampByte");function Zy(e){if(e.a>=1)return Ge(e.r,e.g,e.b);let t=Math.round(e.a*1e3)/1e3;return `rgba(${e.r},${e.g},${e.b},${t})`}i(Zy,"normalizeRgba");function Ge(e,t,r){return `#${Uo(e)}${Uo(t)}${Uo(r)}`.toUpperCase()}i(Ge,"rgbToHex");function Uo(e){return e.toString(16).padStart(2,"0")}i(Uo,"hex2");var Jy="#111111",Dt="#FFFFFF",en="#000000";function Tl(e){let t=X(e);if(t===null)return Dt;let r=Et(t),n=Et({r:17,g:17,b:17}),o=Et({r:255,g:255,b:255});return jo(r,o)>=jo(r,n)?Dt:Jy}i(Tl,"readableOn");function Lt(e,t){let r=Tl(e);return ie(r,e)>=t?r:ie(Dt,e)>=ie(en,e)?Dt:en}i(Lt,"legibleOn");function Se(e){let t=i(r=>e.reduce((n,o)=>Math.min(n,ie(r,o)),Number.POSITIVE_INFINITY),"worst");return t(Dt)>=t(en)?Dt:en}i(Se,"poleForGrounds");function Et(e){let t=Ho(e.r/255),r=Ho(e.g/255),n=Ho(e.b/255);return .2126*t+.7152*r+.0722*n}i(Et,"relativeLuminance");function Ho(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}i(Ho,"linearize");function jo(e,t){let r=Math.max(e,t),n=Math.min(e,t);return (r+.05)/(n+.05)}i(jo,"luminanceContrast");function ie(e,t){let r=X(e),n=X(t);if(r===null||n===null)return 1;let o=n.a>=1?n:{...n},a=r.a>=1?r:kl(r,o);return jo(Et(a),Et(o))}i(ie,"contrastRatio");function kl(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(kl,"composite");function ze(e,t){let r=X(e),n=X(t);if(r===null||n===null)return null;let o=r.a>=1?r:kl(r,{...n});return Ge(o.r,o.g,o.b)}i(ze,"flattenOnto");function qe(e,t){let r=X(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(qe,"withAlpha");var xl=.05;function lr(e,t,r,n){let o=t[0];if(o===void 0)return r;let a=i(d=>t.every(c=>ie(d,c)>=n),"reads");if(X(e)===null)return r;if(a(e))return e;let s=ze(e,o),l=s===null?null:X(s),u=X(r);if(l===null||u===null)return r;for(let d=1;d<1/xl;d+=1){let c=d*xl,p=i((m,y)=>Math.round(m+(y-m)*c),"mix"),f=Ge(p(l.r,u.r),p(l.g,u.g),p(l.b,u.b));if(a(f))return f}return r}i(lr,"pushToContrast");function Pl(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 d=s-l,c=d/(1-Math.abs(2*u-1)),p;return s===n?(p=(o-a)/d*60,p<0&&(p=p+360)):s===o?p=((a-n)/d+2)*60:p=((n-o)/d+4)*60,{h:p,s:c,l:u}}i(Pl,"rgbToHsl");function Vo(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,d=[[o,s,0],[s,o,0],[0,o,s],[0,s,o],[s,0,o],[o,0,s]],[c,p,f]=d[u];return {r:Bo(c+l),g:Bo(p+l),b:Bo(f+l)}}i(Vo,"hslToRgb");function Bo(e){return Math.min(255,Math.max(0,Math.floor(e*255+.5)))}i(Bo,"channel");var Ye=Object.freeze(["composerInput","sendButton","userBubble","assistantBubble","vetBubble","recordCard","vetVisitButton","primaryButton","link"]),eg=Object.freeze(["backgroundColor","borderColor","borderRadius","textColor"]),Z=4.5,tg=Object.freeze({});function rg(e){return Ye.includes(e)}i(rg,"isSlotName");function ng(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(ng,"parseRadius");function _l(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(!rg(n)||o===null||typeof o!="object")continue;let a=og(o);a!==null&&(t[n]=a,r=true);}return r?Object.freeze(t):null}i(_l,"parseThemeSlots");function tn(e,t,r){return e[t]!==void 0?e[t]:e[r]}i(tn,"pick");function og(e){let t={},r=Q(tn(e,"background_color","backgroundColor"));r!==null&&(t.backgroundColor=r);let n=Q(tn(e,"border_color","borderColor"));n!==null&&(t.borderColor=n);let o=ng(tn(e,"border_radius","borderRadius"));o!==null&&(t.borderRadius=o);let a=Q(tn(e,"text_color","textColor"));return a!==null&&(t.textColor=a),Object.keys(t).length===0?null:Object.freeze(t)}i(og,"parseSlot");function rn(e,t){return t===null||Object.keys(t).length===0?e??tg:e===null||Object.keys(e).length===0?t:Object.freeze({...e,...t})}i(rn,"mergeThemeSlots");var ur=3;function ig(e,t){return e===void 0?t:t.length===0?[e]:t.map(r=>ze(e,r)??r)}i(ig,"seatsOf");function ag(e,t){let r=Se(e);return e.every(n=>ie(r,n)>=t)}i(ag,"someInkReads");function sg(e,t){let r=t[0];return r===void 0?null:ze(e,r)}i(sg,"collapseUnsatisfiableFill");function lg(e){let t=Lt(e[0],Z);return e.every(r=>ie(t,r)>=Z)?t:Se(e)}i(lg,"inkFor");function wl(e,t){let r=false,n={};for(let o of Ye){let a=e[o];if(a===void 0)continue;let s=a.backgroundColor,l=t?.[o]??[],u=ig(s,l),d={...a},c=false;if(s!==void 0&&u.length>1&&!ag(u,Z)){let p=sg(s,l);p!==null&&(d.backgroundColor=p,u=[p],c=true);}if(u.length>0){let p=a.textColor;if(s!==void 0)(p===void 0||u.some(f=>ie(p,f)<Z))&&(d.textColor=lg(u),c=true);else if(p!==void 0){let f=lr(p,u,Se(u),Z);f!==p&&(d.textColor=f,c=true);}if(a.borderColor!==void 0){let f=lr(a.borderColor,u,Se(u),ur);f!==a.borderColor&&(d.borderColor=f,c=true);}}n[o]=c?Object.freeze(d):a,r=r||c;}return r?Object.freeze(n):e}i(wl,"guardSlotContrast");function Xe(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let t of Object.keys(e))Xe(e[t]);}return e}i(Xe,"deepFreeze");var nn=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Al={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Ol={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},Il={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},ug={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},dg={regular:"400",medium:"500",bold:"700"},cg={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},$o=0,Ct="System",at="monospace",pg=["content","heading","control","compact","badge"];function fg(e){let t={};for(let r of pg)t[r]=e;return t}i(fg,"authoredTierSizes");function Fl(){return {family:Ct,mono:at,fontUrl:null,families:{regular:Ct,medium:Ct,bold:Ct,mono:at,monoMedium:at,monoBold:at},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:Il,tierSizes:fg(Il),lineHeight:ug,weight:dg,letterSpacing:cg,scale:1,maxScale:$o,scaleCaps:nn}}i(Fl,"baseType");var Ml={},Rt=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function dr(e){return `cubic-bezier(${e.join(", ")})`}i(dr,"cssCubicBezier");var Dl={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:dr(Rt.standard),emphasized:dr(Rt.emphasized),exit:dr(Rt.exit)},reducedMotion:false},mg={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",onDanger:"#FFFFFF",errorRed:"#CC1600",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",bubbleVet:"#FFC3BC",onBubbleVet:"#111111",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},xe=Xe({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:mg,space:Al,radius:Ol,type:Fl(),motion:Dl,slots:Ml}),yg={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",onDanger:"#0E1F17",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",bubbleVet:"#FFC3BC",onBubbleVet:"#111111",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"},st=Xe({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:yg,space:Al,radius:Ol,type:Fl(),motion:Dl,slots:Ml});function St(e){return [e.surface,e.surfaceCream,e.surfaceSubtle,e.background,e.chatGround,e.composerFill]}i(St,"textGrounds");function Ll(e){return [e.surface,e.surfaceCream,e.background,e.chatGround,e.composerFill]}i(Ll,"controlGrounds");function Wo(e){return [e.chatGround,e.surface,e.surfaceCream]}i(Wo,"linkGrounds");function Nl(e,t){return [e.surface,e.surfaceCream,e.background,e.chatGround,e.composerFill,...zl(e,t)]}i(Nl,"statusGrounds");function zl(e,t){return [ze(t,e.surface)??e.surface,ze(t,e.surfaceCream)??e.surfaceCream]}i(zl,"washGrounds");function gg(e){return [e.composerFill,e.chatGround]}i(gg,"composerGrounds");var hg=new Set(["text.timestamp","text.placeholder","errorRed","warningStrong","composerBorder"]);function Ul(e,t){let r=new Set(St(t));return St(e).every(n=>r.has(n))}i(Ul,"onCompiledGrounds");function Hl(e){let t=e.color,r=(e.brightness==="dark"?st:xe).color,n=(e.brightness==="dark"?xe:st).color,o=St(t),a=Se(o)!==Se(St(r)),s=Ul(t,r),l=t.danger===r.danger&&t.badgeBgCritical===r.badgeBgCritical,u=i((v,h,E,x,_,w)=>{let g=h===E&&(v!=="errorRed"||l);return g&&s&&hg.has(v)?h:lr(g&&a?x:h,_,Se(_),w)},"ink"),d=i((v,h,E)=>u(`text.${v}`,t.text[v],r.text[v],n.text[v],h,E),"text"),c=i((v,h,E,x)=>u(v,h,r[v],n[v],E,x),"token"),p=i(v=>a&&t[v]===r[v]?n[v]:t[v],"tint"),f=t.primary,m=Lt(f,Z),y=c("danger",t.danger,[...o,...zl(t,t.badgeBgCritical)],Z);return {...t,onPrimary:m,onAccent:Lt(t.accent,Z),onDanger:ie(m,y)>=Z?m:Lt(y,Z),brandSoft:p("brandSoft"),brandSofter:p("brandSofter"),brandBorder:p("brandBorder"),borderHairlineGreen:p("borderHairlineGreen"),brandInk:c("brandInk",t.brandInk,o,Z),linkInk:c("linkInk",e.slots.link?.textColor??t.accent,Wo(t),Z),text:{...t.text,primary:d("primary",o,Z),secondary:d("secondary",o,Z),muted:d("muted",o,Z),metaCool:d("metaCool",o,Z),timestamp:d("timestamp",o,Z),placeholder:d("placeholder",Ll(t),ur)},danger:y,errorRed:c("errorRed",t.errorRed,Nl(t,t.badgeBgCritical),Z),warningStrong:c("warningStrong",t.warningStrong,Nl(t,t.badgeBgCaution),Z),composerBorder:c("composerBorder",t.composerBorder,gg(t),ur),brandBorderStrong:c("brandBorderStrong",t.brandBorderStrong,Ll(t),ur)}}i(Hl,"guardInks");function Bl(e){let t=(e.brightness==="dark"?st:xe).color;return e.color.brand===t.brand&&!Ul(e.color,t)}i(Bl,"everfurBrandOnPartnerGround");var bg="#23272C",jl=4.5,vg=.6,Ko=.9,Eg=.02,Cg="#FFFFFF",Rg="#111111";function Sg(e){return ie(e,bg)>=jl&&Math.max(ie(e,Cg),ie(e,Rg))>=jl}i(Sg,"readsOnDark");function Kl(e){let t=X(e);if(t===null)return null;let{h:r,s:n,l:o}=Pl(t.r,t.g,t.b),a=Math.min(Math.max(o,vg),Ko);for(let l=0;;l+=1){let u=a+l*Eg;if(u>Ko)break;let d=Vo({h:r,s:n,l:u}),c=Ge(d.r,d.g,d.b);if(Sg(c))return c}let s=Vo({h:r,s:n,l:Ko});return Ge(s.r,s.g,s.b)}i(Kl,"deriveDarkVariant");var xg=7,Vl=.05,Tg="#000000",$l="#FFFFFF";function kg(e,t,r,n){let o=ze(e,t);if(o===null)return r;if(ie(o,t)>=n)return o;let a=X(o),s=X(r);if(a===null||s===null)return r;for(let l=1;l<1/Vl;l+=1){let u=l*Vl,d=i((p,f)=>Math.round(p+(f-p)*u),"mix"),c=Ge(d(a.r,s.r),d(a.g,s.g),d(a.b,s.b));if(ie(c,t)>=n)return c}return r}i(kg,"pushContrast");function Pg(e,t){let r=St(e),n=r[0],o=Wl(n);for(let a of r){let s=Wl(a);(t?s>o:s<o)&&(n=a,o=s);}return n}i(Pg,"hardestGround");function Wl(e){let t=X(e);return t===null?0:Et(t)}i(Wl,"luminanceOf");function lt(e,t){return ze(e,t)??Q(e)??t}i(lt,"solid");function Gl(e){let t=e.color,r=Se(St(t))===$l,n=r?$l:Tg,o=Pg(t,r),a=i(l=>kg(l,o,n,xg),"text"),s={...t,brandSoft:lt(t.brandSoft,t.surface),brandSofter:lt(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:lt(t.badgeBgPositive,t.surface),badgeBgCaution:lt(t.badgeBgCaution,t.surface),badgeBgCritical:lt(t.badgeBgCritical,t.surface),badgeBgNeutral:lt(t.badgeBgNeutral,t.surface),checkupCardLowRiskBg:lt(t.checkupCardLowRiskBg,t.surface),checkupCardConcernBg:lt(t.checkupCardConcernBg,t.surface)};return Xe({...e,highContrast:true,color:s})}i(Gl,"deriveHighContrast");var qo=Object.freeze({cream:.03,subtle:.07,ring:.16}),_g=qo.cream,wg=qo.subtle,Ig=qo.ring,Ag=10;function Go(e,t,r){let n=X(e),o=X(t);if(n===null||o===null)return null;let a=i((s,l)=>Math.round(s+(l-s)*r),"at");return Ge(a(n.r,o.r),a(n.g,o.g),a(n.b,o.b))}i(Go,"mix");function ql(e){if(e===null)return {};let t=Se([e]),r=Go(e,t,_g),n=Go(e,t,wg),o=Go(e,t,Ig);return r===null||n===null||o===null?{}:{surface:e,background:e,chatGround:e,bubbleAssistant:e,surfaceCream:r,composerFill:r,surfaceSubtle:n,skeleton:n,borderRingCream:o}}i(ql,"surfaceFamily");function Yl(e){if(e===null)return {};let t=X(e);return t===null?{}:{danger:e,errorRed:e,badgeBgCritical:`rgba(${t.r},${t.g},${t.b},0.12)`}}i(Yl,"dangerFamily");function Xl(e,t,r){if(e===null)return t;let n=e/r.type.size.body;if(n===1)return r.type.size;let o={};for(let[a,s]of Object.entries(r.type.size))o[a]=Math.max(Ag,Math.round(s*n*10)/10);return o}i(Xl,"typeSizesFor");function Ql(e,t,r){if(e===null)return t;let n=e/r.space.xs,o=i(s=>Math.round(s*n),"s"),a=r.space;return {xs:o(a.xs),sm:o(a.sm),md:o(a.md),lg:o(a.lg),xl:o(a.xl),xxl:o(a.xxl)}}i(Ql,"spaceFor");function Zl(e,t){let r=e/t.radius.md,n=i(a=>Math.round(a*r),"s"),o=t.radius;return {tile:n(o.tile),xs:n(o.xs),sm:n(o.sm),md:n(o.md),lg:n(o.lg),xl:n(o.xl),pill:o.pill}}i(Zl,"radiiFor");var Jl=Object.freeze(["everfur","minimal","night"]),eu=Object.freeze({everfur:Object.freeze({}),minimal:Object.freeze({colorPrimary:"#111111",colorAccent:"#111111",borderRadius:6}),night:Object.freeze({colorScheme:"dark"})}),pr=Object.freeze({fontSizeBase:Object.freeze({min:12,max:20,default:14}),borderRadius:Object.freeze({min:0,max:32,default:14}),spacingUnit:Object.freeze({min:3,max:6,default:4})});function on(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}i(on,"isRecord");function Og(e){return typeof e=="string"&&Jl.includes(e.trim().toLowerCase())}i(Og,"isPreset");function cr(e,t){let r=e[t];return r??void 0}i(cr,"present");var Fg=16;function Mg(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(typeof e!="string"||e.length>Fg)return;let t=/^(-?\d+(?:\.\d+)?)(?: ?px)?$/i.exec(e.trim());return t===null?void 0:Number(t[1])}i(Mg,"parsePx");var Dg=[["colorPrimary","primary_color"],["colorAccent","accent_color"],["colorBackground","background_color"],["colorText","text_color"]],Lg=[["fontSizeBase","font_size_base"],["borderRadius","border_radius"],["spacingUnit","spacing_unit"]];function Yo(e){if(!on(e))return null;let t=Og(e.theme)?eu[e.theme.trim().toLowerCase()]:{},r=on(e.variables)?e.variables:{},n={...t};for(let[p,f]of Object.entries(r))f!=null&&(n[p]=f);let o={},a=cr(n,"colorScheme"),s=typeof a=="string"?a.trim().toLowerCase():null;(s==="light"||s==="dark"||s==="auto")&&(o.color_scheme=s);let l=s==="dark"?"_dark":"";for(let[p,f]of Dg){let m=cr(n,p);m!==void 0&&(o[`${f}${l}`]=m);}let u=cr(n,"colorDanger");u!==void 0&&(o[`danger_color${l}`]=u);let d=cr(n,"fontFamily");typeof d=="string"&&d.trim().length>0&&(o.font_family=d.trim());for(let[p,f]of Lg){let m=Mg(cr(n,p));m!==void 0&&(o[f]=m);}let c=e.rules;if(on(c)){let p={};for(let f of Ye){let m=c[f];on(m)&&(p[f]=m);}Object.keys(p).length>0&&(o.slots=p);}return Object.keys(o).length===0?null:Object.freeze(o)}i(Yo,"expandAppearance");var ou=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","background_color","background_color_dark","text_color","text_color_dark","danger_color","danger_color_dark","font_size_base","border_radius","spacing_unit"]),fr="slots.",iu=Object.freeze([1,2]);function sn(e){return Object.keys(e).every(t=>t==="schemaVersion"||(e[t]??null)===null)}i(sn,"isEmptyBranding");function au(e){let t=e?.schemaVersion??null;return t===null||iu.includes(t)}i(au,"isKnownBrandingSchema");function su(e){return new Set(["hide_powered_by",...e?.lockedFields??[]])}i(su,"lockedFieldsOf");function Ng(e){return e==="hide_powered_by"||ou.includes(e)?true:e.startsWith(fr)&&Ye.includes(e.slice(fr.length))}i(Ng,"isThemeLockName");function Qe(e){if(e===null||typeof e!="object")return null;let t=e,r=tu(t),n=Yo(V(t,"appearance")),o=n===null?r:zg(tu(n),r);return sn(o)?null:Object.freeze(o)}i(Qe,"parseClientBranding");function zg(e,t){let r={...e};for(let[o,a]of Object.entries(t))a!=null&&(r[o]=a);let n=rn(e.slots??null,t.slots??null);return r.slots=Object.keys(n).length===0?null:n,r}i(zg,"overlayFlat");function tu(e){return {displayName:xt(V(e,"display_name","displayName")),logoUrl:xt(V(e,"logo_url","logoUrl")),primaryColor:Q(V(e,"primary_color","primaryColor")),accentColor:Q(V(e,"accent_color","accentColor")),brightness:jg(V(e,"brightness","color_scheme","colorScheme")),fontFamily:xt(V(e,"font_family","fontFamily")),fontUrl:xt(V(e,"font_url","fontUrl")),fonts:ru(V(e,"fonts")),fontUrls:ru(V(e,"font_urls","fontUrls")),placeholder:xt(V(e,"chat_placeholder","placeholder","chatPlaceholder")),hidePoweredBy:Ug(V(e,"hide_powered_by","hidePoweredBy")),primaryColorDark:Q(V(e,"primary_color_dark","primaryColorDark")),accentColorDark:Q(V(e,"accent_color_dark","accentColorDark")),surfaceStyle:nu(V(e,"surface_style","surfaceStyle"),Hg),radiusScale:nu(V(e,"radius_scale","radiusScale"),Bg),logoUrlDark:xt(V(e,"logo_url_dark","logoUrlDark")),slots:_l(V(e,"slots")),accessibilityMaxFontScale:$g(V(e,"accessibility_max_font_scale","accessibilityMaxFontScale")),lockedFields:Kg(V(e,"locked_fields","lockedFields")),schemaVersion:Wg(V(e,"schema_version","schemaVersion")),backgroundColor:Q(V(e,"background_color","backgroundColor")),backgroundColorDark:Q(V(e,"background_color_dark","backgroundColorDark")),textColor:Q(V(e,"text_color","textColor")),textColorDark:Q(V(e,"text_color_dark","textColorDark")),dangerColor:Q(V(e,"danger_color","dangerColor")),dangerColorDark:Q(V(e,"danger_color_dark","dangerColorDark")),fontSizeBase:Xo(V(e,"font_size_base","fontSizeBase"),pr.fontSizeBase),borderRadius:Xo(V(e,"border_radius","borderRadius"),pr.borderRadius),spacingUnit:Xo(V(e,"spacing_unit","spacingUnit"),pr.spacingUnit)}}i(tu,"parseFlat");function Xo(e,t){let r=an(typeof e=="string"?e.trim().replace(/px$/i,""):e);return r===null?null:Math.min(t.max,Math.max(t.min,r))}i(Xo,"parseClamped");function Ug(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(Ug,"parseBool");function V(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(V,"pick");function xt(e){if(typeof e!="string")return null;let t=e.trim();return t.length===0?null:t}i(xt,"parseNonEmptyString");var mr=["regular","medium","bold","mono","monoMedium","monoBold"];function ru(e){if(e===null||typeof e!="object"||Array.isArray(e))return null;let t=e,r={};for(let n of mr){let o=xt(V(t,n));o!==null&&(r[n]=o);}return Object.keys(r).length===0?null:Object.freeze(r)}i(ru,"parseFaceMap");var Hg=["white","cream","subtle"],Bg=["sharp","default","round"];function nu(e,t){if(typeof e!="string")return null;let r=e.trim().toLowerCase();return t.includes(r)?r:null}i(nu,"parseEnum");function jg(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t==="light"||t==="dark"||t==="auto"?t:null}i(jg,"parseBrightness");function an(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(an,"parseNumber");var Vg=1,lu=3.1;function $g(e){let t=an(e);return t===null?null:t<=0?0:Math.min(lu,Math.max(Vg,t))}i($g,"parseMaxFontScale");function Wg(e){if(e==null)return null;let t=an(e);return t!==null&&Number.isInteger(t)&&t>=1?t:0}i(Wg,"parseSchemaVersion");function Qo(e){let t=e.trim();return t.startsWith(fr)?t:t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}i(Qo,"toWireName");function Kg(e){if(!Array.isArray(e))return null;let t=[];for(let r of e){if(typeof r!="string")continue;let n=Qo(r);Ng(n)&&!t.includes(n)&&t.push(n);}return t.length===0?null:Object.freeze(t)}i(Kg,"parseLockedFields");function Zo(e){if(e===null)return null;let t=e.trim();return t.length===0?null:/^https:\/\/\S+$/i.test(t)?t:null}i(Zo,"hardenHttpsUrl");function uu(e,t){if(t===null||sn(t))return e;let r=(t.brightness==="light"||t.brightness==="dark")&&t.brightness!==e.brightness?t.brightness==="dark"?st:xe:e,n=r.brightness==="dark"?st:xe,o=r.brightness==="dark",a=o?t.primaryColorDark??Jo(t.primaryColor):t.primaryColor,s=o?t.accentColorDark??Jo(t.accentColor):t.accentColor,l=a??r.color.primary,u=s??r.color.accent,d=a!==null&&Qg(t,l,n,o),c=d?n.color.primary:l,p=a!==null&&!d?X(c):null,f=i(_=>Math.round(_+(255-_)*.4),"lift"),m=p!==null?{brand:c,bubbleUser:c,brandInk:c,text:{...r.color.text,secondary:c},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)})`}:d?Zg(n,r.color.text):{},y=(o?t.backgroundColorDark:t.backgroundColor)??null,v=ql(y),h={...r.color,...v},E=(o?t.textColorDark:t.textColor)??null,x={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,...m,...v,...Yl((o?t.dangerColorDark??Jo(t.dangerColor??null):t.dangerColor)??null),...E!==null?{text:{...m.text??r.color.text,primary:E}}:{},...Xg(t.surfaceStyle??null,h),primary:c,accent:u,onPrimary:r.color.onPrimary,onAccent:r.color.onAccent},space:Ql(t.spacingUnit??null,r.space,n),radius:t.borderRadius!=null?Zl(t.borderRadius,n):eh(t.radiusScale??null,r.radius,n),type:{...r.type,...Yg(r.type,t),size:Xl(t.fontSizeBase??null,r.type.size,n),maxScale:t.accessibilityMaxFontScale??r.type.maxScale},motion:r.motion,slots:rn(r.slots,t.slots??null)};return Xe(x)}i(uu,"withServerBranding");var Gg={regular:["regular"],medium:["medium","regular"],bold:["bold","medium","regular"],mono:["mono"],monoMedium:["monoMedium","mono"],monoBold:["monoBold","monoMedium","mono"]},qg=[["regular","medium","bold"],["mono","monoMedium","monoBold"]];function ei(e){return e==="mono"||e==="monoMedium"||e==="monoBold"}i(ei,"isMonoFace");function Yg(e,t){let r=t.fonts??{},n=t.fontUrls??{},o={...e.families},a={...e.namedFaces},s={...e.fontUrls};for(let l of mr){let u=Gg[l].map(p=>r[p]).find(p=>p!==void 0),d=ei(l)?null:t.fontFamily;u!==void 0?(o[l]=u,a[l]=true):d!==null&&(o[l]=d,a[l]=false);let c=n[l]??(l==="regular"?t.fontUrl:null)??null;c!==null?s[l]=c:u!==void 0&&delete s[l];}for(let l of qg)for(let u of l)a[u]&&l.some(d=>d!==u&&o[d]===o[u])&&(a[u]=false);return {family:o.regular,mono:o.mono,fontUrl:s.regular??null,families:o,namedFaces:a,fontUrls:s}}i(Yg,"mergeFaces");function Jo(e){return e===null?null:Kl(e)}i(Jo,"darkVariantOf");function Xg(e,t){if(e===null)return {};let r=t;return {chatGround:e==="white"?r.surface:e==="subtle"?r.surfaceSubtle:r.surfaceCream}}i(Xg,"surfaceOf");function du(e,t){return e==null?false:Q(e)===Q(t)}i(du,"sameColor");function Qg(e,t,r,n){return du(t,r.color.primary)?true:n&&(e.primaryColorDark??null)===null&&du(e.primaryColor,xe.color.primary)}i(Qg,"isCompiledPrimary");function Zg(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(Zg,"compiledBrandFamily");var Jg={sharp:.5,default:1,round:1.5};function eh(e,t,r){if(e===null)return t;let n=Jg[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(eh,"radiusOf");var th="Everfur",rh=.5;function ti(e){let t=e?.branding??null,r=au(t)?t:null,n=sh(e?.clientOverride??null,su(r)),o=e?.colorScheme==="dark"?"dark":"light",a=n?.brightness??r?.brightness??"light",u=uu((a==="auto"?o:a)==="dark"?st:xe,cu(r)),d=uu(u,cu(n));return gh(d,e)}i(ti,"resolveTheme");function nh(e,t,r){return ti({...r,branding:Qe(t),clientOverride:Qe(e)})}i(nh,"previewTheme");function oh(e){return e==="placeholder"?"chat_placeholder":Qo(e)}i(oh,"wireNameOf");var ih={brightness:["color_scheme"],fontUrl:["font_family"],fonts:["font_family"],fontUrls:["font_url","font_family","fonts"],primaryColorDark:["primary_color"],accentColorDark:["accent_color"],logoUrlDark:["logo_url"],backgroundColorDark:["background_color"],textColorDark:["text_color"],dangerColorDark:["danger_color"],borderRadius:["radius_scale"],radiusScale:["border_radius"]};function ah(e,t){return t.has(oh(e))?true:(ih[e]??[]).some(r=>t.has(r))}i(ah,"isLocked");function sh(e,t){if(e===null)return null;let r=false,n={...e};for(let s of Object.keys(e))(e[s]??null)!==null&&(ah(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 Ye){let d=o[u];d!==void 0&&(t.has(`${fr}${u}`)?l=true:s[u]=d);}l&&(n.slots=Object.keys(s).length===0?null:Object.freeze(s),r=true);}if(!r)return e;let a=Object.freeze(n);return sn(a)?null:a}i(sh,"withoutFields");function cu(e){return e===null||e.brightness===null?e:Object.freeze({...e,brightness:null})}i(cu,"withoutBrightness");function lh(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(lh,"scaledSizes");function uh(e){return e===void 0||!Number.isFinite(e)?1:Math.max(rh,e)}i(uh,"effectiveScale");var pu=["content","heading","control","compact","badge"];function dh(e){if(!(e>0))return nn;let t={};for(let r of pu){let n=nn[r];t[r]=n===0?0:Math.min(n,e);}return t}i(dh,"tierCaps");function ch(e,t){return t>0?Math.min(e,t):e}i(ch,"capped");function ph(e,t,r,n){let o={};for(let a of pu)o[a]=n?lh(e,ch(t,r[a])):e;return o}i(ph,"sizesByTier");function fh(e){return {composerInput:[e.composerFill],sendButton:[e.composerFill],userBubble:[e.bubbleUser],assistantBubble:[e.chatGround,e.surfaceCream],vetBubble:[e.bubbleVet],recordCard:[e.surface],vetVisitButton:[e.primary],primaryButton:[e.brand],link:Wo(e)}}i(fh,"slotGrounds");function mh(e,t){try{let r=e(t);return r===!0||r===!1?r:null}catch{return null}}i(mh,"registration");function yh(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 mr)!(o[s]===Ct||o[s]===at)&&r!==void 0&&mh(r,o[s])===false&&(o[s]=ei(s)?at:Ct,a[s]=false),n!==null&&ei(s)&&o[s]===at&&(o[s]=n);return {family:o.regular,mono:o.mono,families:o,namedFaces:a}}i(yh,"platformFaces");function gh(e,t){let r=e.meta.displayName.trim().length===0?th:e.meta.displayName,n=Zo(e.meta.logoUrl),o={};for(let y of mr){let v=e.type.fontUrls[y];v!==void 0&&(o[y]=Zo(v));}let a=o.regular??null,l=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,u=Number.isFinite(e.type.maxScale)?e.type.maxScale:$o,d=uh(t?.textScale),c=dh(u),p=ph(e.type.size,d,c,t?.scaleTypeSizes===true),f=Hl(e),m={brightness:e.brightness,highContrast:false,meta:{displayName:r,logoUrl:n,placeholder:e.meta.placeholder,hidePoweredBy:e.meta.hidePoweredBy},color:f,space:e.space,radius:e.radius,type:{...e.type,...yh(e.type,t),fontUrl:a,fontUrls:o,size:p.content,tierSizes:p,scale:d,maxScale:u,scaleCaps:c},motion:l,slots:wl(e.slots,fh(f))};return t?.highContrast===true?Gl(Xe(m)):Xe(m)}i(gh,"finalize");var fu="/widget/v1/entitlements",hh=304,bh=Object.freeze({kind:"notModified"});async function yu(e,t={},r=we({auth:e})){let n=await r.send("entitlements.fetch",Eh(t));return n.ok?Ch(n.value):n.error.httpStatus===hh?bh:{kind:"failed",error:n.error}}i(yu,"fetchEntitlements");var vh=64;function Eh(e){let t={};return ri(e.cachedRevision)&&(t["if-none-match"]=`"${e.cachedRevision}"`),e.region&&e.region.length<=vh?{method:"GET",path:fu,headers:t,query:{region:e.region}}:{method:"GET",path:fu,headers:t}}i(Eh,"buildRequest");function Ch(e){if(e===null||typeof e!="object"||!ri(e.revision))return mu();let t=typeof e.region=="string"?e.region:"",r=ri(e.ttl_seconds)?e.ttl_seconds:0;return Object.freeze({kind:"updated",revision:e.revision,region:t,ttlSeconds:r,decisions:Sh(e.capabilities),branding:Rh(e),livemode:e.livemode!==false})}i(Ch,"parseUpdated");function Rh(e){let t=Qe(e.branding);if(t!==null)return t;let r=e.render_hints;if(r!==null&&typeof r=="object"){let n=Qe(r.branding);return n!==null?n:Qe(r)}return null}i(Rh,"parseBranding");function Sh(e){if(e===null||typeof e!="object")return Object.freeze([]);let t=[];for(let[r,n]of Object.entries(e))xh(n)&&t.push(Object.freeze({resource:r,granted:true}));return Object.freeze(t)}i(Sh,"mapCapabilities");function xh(e){return typeof e=="object"&&e!==null&&e.enabled===true}i(xh,"isEnabled");function mu(){return {kind:"failed",error:D("internalError",{retryable:true,wireMessage:"malformed entitlements response"})}}i(mu,"malformed");function ri(e){return typeof e=="number"&&Number.isFinite(e)}i(ri,"isFiniteNumber");var Th=30;function gu(e){let t=e.scheduler??kh,r=e.resolve??yu,n=Math.max(1,e.floorSeconds??Th),o=e.rng??Math.random,a=i(()=>n+o()*n,"jitteredFloorSeconds"),s=false,l=false,u=null,d=null,c=n,p=0,f=i(()=>{u!==null&&(t.clear(u),u=null);},"clearTimer"),m=i(E=>{l||!s||(c=Math.max(n,E),u=t.set(()=>{u=null,h();},c*1e3));},"schedule"),y=null,v=i(async()=>{if(l)return null;let E=p;e.onFetch?.();let x=e.region?{cachedRevision:d,region:e.region}:{cachedRevision:d},_;try{_=await r(e.authFor(),x);}catch(w){return e.telemetry?.track("sdk.entitlements.poll_error",{reason:Ph(w)}),!l&&E===p&&(e.onSettled?.(),m(a())),null}if(l||E!==p)return null;switch(_.kind){case "updated":d=_.revision,e.update(_.decisions,_.branding??null,_.livemode!==false),m(_.ttlSeconds);break;case "notModified":m(c);break;case "failed":e.telemetry?.track("sdk.entitlements.poll_failed",{code:_.error.code}),m(a());break;default:m(a());}return e.onSettled?.(),_},"tick"),h=i(()=>{let E=v().finally(()=>{y===E&&(y=null);});return y=E,E},"run");return {start(){s||l||(s=true,h());},prime(){return l?Promise.resolve(null):y??h()},stop(){l||(l=true,p++,f());},refresh(){l||!s||(p++,d=null,f(),h());}}}i(gu,"createEntitlementPoller");var kh={set(e,t){let r=setTimeout(e,t);return r.unref?.(),r},clear(e){clearTimeout(e);}};function Ph(e){return e instanceof Error?e.message:"poll failed"}i(Ph,"describe");var hu="everfur.notifications.device";var _h=3e3,bu=Object.freeze([hu]);function vu(e){let{leaving:t,identity:r,hooks:n,telemetry:o}=e;if(t===null||r===null||n.size===0)return null;let a=Object.freeze({userRef:t.userRef,auth:e.graceAuth()}),s=[...n].map(d=>{try{return Promise.resolve(d(a))}catch(c){return Promise.reject(c)}}),l=i((d,c)=>{try{o.track("sdk.logout.hookFailed",{reason:d,count:c,totalCount:s.length});}catch{}},"report"),u=Promise.allSettled(s).then(d=>{let c=d.filter(p=>p.status==="rejected").length;c>0&&l("failed",c);});return new Promise(d=>{let c=false,p=i(()=>{c||(c=true,clearTimeout(f),d());},"finish"),f=setTimeout(()=>{c||l("timeout",s.length),p();},_h);u.then(p,p);})}i(vu,"startBeforeLogoutHooks");function Eu(e){let{leaving:t,identity:r,transport:n,sessionId:o}=e,a=r.currentToken();a.catch(()=>{});let s={userRef:t.userRef,currentToken:i(()=>a,"currentToken"),hasToken:i(()=>true,"hasToken"),clear:i(()=>{},"clear")};return {mode:"personalized",transport:n,identity:s,userRef:t.userRef,sessionId:o}}i(Eu,"graceAuth");async function Cu(e,t){if(bu.length===0)return;let r=await Promise.allSettled(bu.map(o=>e.removeItem(o))),n=r.filter(o=>o.status==="rejected").length;n>0&&t.track("sdk.logout.sweepPartialFailure",{failedCount:n,totalCount:r.length});}i(Cu,"sweepPerUserKv");function wh(){return Object.freeze([Object.freeze({resource:"chat.message.create",granted:true})])}i(wh,"compiledDefaultDecisions");function ni(e=wh){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,...o.livemode===false?{livemode:false}:{}}),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(ni,"createEntitlementStore");function oi(e){return D("validationFailed",{retryable:false,wireMessage:`Everfur SDK is not configured: ${e.message}`})}i(oi,"notConfiguredError");function Ru(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 Qa(r,t===void 0?void 0:{platform:t})}i(Ru,"tryResolveClient");function Su(e){return Object.freeze({track(t,r){try{e.track(t,r);}catch{}},trackExpectedFailure(t,r){try{e.trackExpectedFailure(t,r);}catch{}}})}i(Su,"guardTelemetry");var Ih=Object.freeze({"react-native":"If the value is set in your environment, note that babel-preset-expo inlines only EXPO_PUBLIC_* variables into a release bundle.",web:`If the value is set in your environment, note that a browser bundle does not expose ${jr} to the SDK at run time (bundlers inline only the variables your own code names), so pass apiBaseUrl in config.`});function xu(e,t,r=so){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. `+Ih[r]);}i(xu,"reportConfigFailure");function ii(e){return Object.freeze({request(){return Promise.resolve(R(oi(e)))},stream(t,r){let n=me({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(ii,"refusingTransport");function Tu(){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(Tu,"createInMemoryKv");var ku=Object.freeze({clearMemoryCache(){},clearDiskCache(){}});function wu(e,t){return new si(e,t)}i(wu,"createEverfurRuntime");var Ah=6e4,li=class li{constructor(t,r){this.sessionId=io();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 re("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?Su(n.telemetry):Nr;let o=typeof n?.publishableKey=="string"?n.publishableKey.trim():"",a=lo(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=ii(a);else if(n.transport!==void 0)l=n.transport;else {let c=Ru(n,r?.platform);c.ok?(u=c.config.apiBaseUrl,l=ns({config:c.config,...r?.eventSourceFactory?{eventSourceFactory:r.eventSourceFactory}:{}})):(a=c.failure,l=ii(c.failure));}this.configFailure=a,this.publishableKey=a===null?o:"",this.transport=l,a!==null&&xu(a,this.telemetry,r?.platform),this.errorPolicy=n.errorPolicy,this.camera=n.camera??La,this.upload=n.upload??Cs,this.uploadTransport=n.uploadTransport??wo,this.imageCache=n.imageCache??ku,this.kv=n.storage??Tu(),this.currentUser=t.user??null,this.identity=this.buildIdentity(t.user??null),this.activePet=t.activePet,this.store=a===null?ni():ni(()=>Cl("sdk_config",Ft("accessDenied"))),this.services={authFor:i(c=>this.buildAuth(c),"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(c=>this.acquireInternal("chat",ai(c),()=>this.buildChatController(c),Pu),"acquireChat"),releaseChat:i(c=>this.releaseInternal(c),"releaseChat"),peekChat:i(c=>this.entries.get(`${this.epoch}|chat|${ai(c)}`)?.controller??null,"peekChat"),acquire:i((c,p,f,m)=>this.acquireInternal(c,p,f,m),"acquire"),release:i(c=>this.releaseInternal(c),"release")},this.entitlements=this.store;let d=a===null&&(r?.startEntitlementPolling??!s);this.poller=a===null?this.buildPoller(r?.pollScheduler):null,d&&this.poller?.start();}get isDisposed(){return this.disposed}get scopeEpoch(){return this.epoch}buildIdentity(t){if(t===null)return null;let r=Wa(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-Ah,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 gu({authFor:i(()=>this.buildAuth(this.currentUser?.userRef??null),"authFor"),update:i((r,n,o)=>this.updateEntitlements({decisions:r,isPending:false,branding:n,...o===false?{livemode:o}:{}}),"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=Vs({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=Ks(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.beforeLogoutSettlement(),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=io(),this.setUser(null),this.leavingSessionId=null,t&&this.rescopeAll();let r=this.pendingBeforeLogout;this.pendingBeforeLogout=null,r!==null&&await r,await Cu(this.kv,this.telemetry);}onBeforeLogout(t){return this.disposed?()=>{}:(this.beforeLogoutHooks.add(t),()=>{this.beforeLogoutHooks.delete(t);})}beforeLogoutSettlement(){let t=this.currentUser,r=this.identity;return vu({leaving:t,identity:r,hooks:this.beforeLogoutHooks,telemetry:this.telemetry,graceAuth:i(()=>Eu({leaving:t,identity:r,transport:this.transport,sessionId:this.leavingSessionId??this.sessionId}),"graceAuth")})}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?R(_u(t)):r(it(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?_u("prepare"):n===null?null:oi(n),a=this.identity,[s,l,u]=await Promise.all([o?R(o):a===null?M(void 0):a.currentToken().then(()=>M(void 0),()=>R(D("authRejected",{retryable:false}))),o?R(o):this.primeEntitlements(),t===null?void 0:o?R(o):this.primeChat(t)]),d=s.ok?l.ok&&(u?.ok??true)?"ready":"partial":"failed",c=Date.now()-r;try{this.telemetry.track("sdk.prepare.timing",{durationMs:c,status:d});}catch{}return Object.freeze({status:d,durationMs:c,session:s,entitlements:l,...u?{chat:u}:{}})}async primeEntitlements(){let t=await this.poller?.prime();return t?t.kind==="failed"?R(t.error):M(void 0):R(D("internalError",{retryable:true}))}async primeChat(t){let r={userRef:this.currentUser?.userRef??null,petRef:t,conversationId:null},n=this.acquireInternal("chat",ai(r),()=>this.buildChatController(r),Pu,true),o=await this.bootstraps.get(n);return o?.cause&&n.getSnapshot().conversationId===null&&(o=await this.runBootstrap(n,r)),o?.cause?R(o.cause):M(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(li,"EverfurRuntimeImpl");var si=li;function ai(e){return `${e.userRef??""}|${e.petRef??""}|${e.conversationId??""}`}i(ai,"chatScopeKey");function Pu(e){e.dispose();}i(Pu,"disposeChat");function _u(e){return D("validationFailed",{retryable:false,wireMessage:`the Everfur runtime is disposed; ${e} was called after unmount`})}i(_u,"disposedError");var Iu=Symbol.for("@everfur/sdk#EverfurContext@v1"),Au=globalThis,ln=Au[Iu]??(Au[Iu]=createContext(null));ln.displayName??="EverfurContext";function J(){let e=useContext(ln);if(e===null)throw new re("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}i(J,"useEverfurContext");function Ou(){return J().handle}i(Ou,"useEverfur");var Fu=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),Mu=globalThis,yr=Mu[Fu]??(Mu[Fu]=createContext(xe));yr.displayName??="EverfurThemeContext";function N(){return useContext(yr)}i(N,"useEverfurTheme");function un(e){let{runtime:t}=J(),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,d=e.seams.platformMonoFamily?.(),c=e.seams.isFontRegistered,p=e.clientTheme?zh(e.clientTheme):"",f=useMemo(()=>e.clientTheme?Qe(e.clientTheme):null,[p]),m=n.branding??null,y=useMemo(()=>ti({branding:m,clientOverride:f,colorScheme:o,reducedMotion:a,textScale:s,scaleTypeSizes:u,highContrast:l,...d===void 0?{}:{platformMonoFamily:d},...c===void 0?{}:{isFontRegistered:c}}),[m,f,o,a,s,u,l,d,c]);return e.seams.useResolvedTheme?.(y),createElement(yr.Provider,{value:y},e.children)}i(un,"EverfurThemeProviderCore");function zh(e){try{return JSON.stringify(e)}catch{return Object.keys(e).join("&")}}i(zh,"stableKey");function Uu(e){let{config:t,user:r,activePet:n,theme:o,warmUp:a,children:s,seams:l}=e,u=`${t?.publishableKey??""}|${t?.apiBaseUrl??""}|${t?.contractVersion??""}`,d=useRef(null),c=useRef(null),[p,f]=useReducer(S=>S+1,0),m=useRef(null),y=useRef(void 0),v=r?.userRef??null;y.current!==v&&(y.current!==void 0&&(m.current=null),y.current=v);let h=m.current!==null?m.current.user:r??null,E=useRef(null),x=useRef(void 0),_=n??null;x.current!==_&&(x.current!==void 0&&(E.current=null),x.current=_);let w=E.current!==null?E.current.pet:n??null;(d.current===null||d.current.key!==u||d.current.runtime.isDisposed)&&(d.current!==null&&!d.current.runtime.isDisposed&&(c.current=d.current.runtime),d.current={key:u,runtime:wu({config:l.withDefaults?l.withDefaults(t):t,user:h,activePet:w,theme:o??null},{platform:l.platform,...l.eventSourceFactory?{eventSourceFactory:l.eventSourceFactory}:{}})});let g=d.current.runtime,T=useRef(null);useEffect(()=>{let S=d.current?.runtime;S===void 0||!S.isDisposed||T.current!==S&&(T.current=S,f());}),useEffect(()=>{let S=c.current;S!==null&&(c.current=null,S.dispose());});let I=h?.userRef??null;useLayoutEffect(()=>{g.setUser(h);},[g,I]),useLayoutEffect(()=>{g.setActivePet(w);},[g,w]),useEffect(()=>()=>g.dispose(),[g]),useEffect(()=>{a==="onMount"&&g.prepare(w===null?{}:{petRef:w});},[g,a,I,w]);let O=useMemo(()=>({setUser:i(S=>{m.current={user:S},g.setUser(S),f();},"setUser"),setActivePet:i(S=>{E.current={pet:S},g.setActivePet(S),f();},"setActivePet"),open:i(S=>g.open(S),"open"),prepare:i(S=>g.prepare(S),"prepare"),registerPet:i((S,A)=>g.registerPet(S,A),"registerPet"),updatePet:i((S,A)=>g.updatePet(S,A),"updatePet"),deletePet:i(S=>g.deletePet(S),"deletePet"),eraseUserData:i(()=>g.eraseUserData(),"eraseUserData"),logout:i(()=>{m.current={user:null};let S=g.logout();return f(),S},"logout")}),[g,f]),k=useMemo(()=>({runtime:g,handle:O,userRef:I,activePet:w,scopeEpoch:g.scopeEpoch}),[g,O,I,w,p]),C=createElement(un,{clientTheme:o??null,seams:l.theme,children:s});return createElement(ln.Provider,{value:k},l.wrap?l.wrap(C):C)}i(Uu,"EverfurProviderCore");var gr="everfur:";function cn(){try{if(typeof window>"u")return null;let e=window.localStorage;return e&&typeof e.getItem=="function"?e:null}catch{return null}}i(cn,"storage");function ui(){return {async getItem(e){try{return cn()?.getItem(gr+e)??null}catch{return null}},async setItem(e,t){try{cn()?.setItem(gr+e,t);}catch{}},async removeItem(e){try{cn()?.removeItem(gr+e);}catch{}},async keys(e){try{let t=cn();if(t===null)return [];let r=[],n=gr+e;for(let o=0;o<t.length;o+=1){let a=t.key(o);a!==null&&a.startsWith(n)&&r.push(a.slice(gr.length));}return Object.freeze(r)}catch{return []}}}}i(ui,"createLocalStorageKv");var hr=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function Hh(e,t){let r=e.type,n=r.families[t];return t==="mono"||r.namedFaces[t]?{fontFamily:n}:{fontFamily:n,fontWeight:r.weight[hr[t]]}}i(Hh,"face");function Hu(e,t){let{scale:r,scaleCaps:n}=e.type,o=n[t];return o>0?Math.min(r,o):r}i(Hu,"tierScale");var jh=/^https:\/\/sdk(-staging)?\.everfur\.com\/fonts\/[\w./-]+\.woff2$/;function Vh(e){return jh.test(e)&&!e.includes("..")}i(Vh,"isBrandFontUrl");var Bu=new Map;function $h(e,t,r="400"){let n=e.trim(),o=`${n}
|
|
13
13
|
${t}
|
|
14
|
-
${r}`,a=hu.get(o);if(a===void 0){if(a=Promise.resolve(false),t!==null&&n!==""&&n!=="System"&&dh(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{}hu.set(o,a);}return a}i(ch,"loadBrandFont");var ph=["regular","medium","bold","mono","monoMedium","monoBold"];function bu(e){let{families:t,fontUrls:r,weight:n,namedFaces:o}=e.type;useEffect(()=>{for(let a of ph){let s=r[a];s!=null&&ch(t[a],s,o[a]?n.regular:n[pr[a]]);}},[t,r,n,o]);}i(bu,"useBrandFont");function fr(e){if(typeof window>"u"||typeof window.matchMedia!="function")return null;try{return window.matchMedia(e)??null}catch{return null}}i(fr,"queryFor");function Qo(e){return t=>{let r=fr(e);return r===null||typeof r.addEventListener!="function"?()=>{}:(r.addEventListener("change",t),()=>r.removeEventListener?.("change",t))}}i(Qo,"subscribeTo");var vu="(prefers-color-scheme: dark)",fh="(prefers-color-scheme: light)",Eu="(prefers-reduced-motion: reduce)",Cu="(prefers-contrast: more)",mh=Qo(vu),yh=Qo(Eu),gh=Qo(Cu);function hh(){let e=fr(vu);return e===null?null:e.matches?"dark":fr(fh)?.matches?"light":null}i(hh,"readColorScheme");function bh(){return fr(Eu)?.matches===true}i(bh,"readReducedMotion");function vh(){return fr(Cu)?.matches===true}i(vh,"readMoreContrast");var Eh=16,Ch=false;var nn=null;function Su(e){return Number.parseFloat(window.getComputedStyle(e).fontSize)}i(Su,"fontPx");function Sh(){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 Su(t)}finally{t.remove();}}i(Sh,"probeDefaultPx");function Rh(){if(typeof document>"u"||typeof window>"u"||typeof window.getComputedStyle!="function")return 1;try{let e=Ch?Su(document.documentElement):Sh();return Number.isFinite(e)&&e>0?e/Eh:1}catch{return 1}}i(Rh,"measureTextScale");function xh(){return nn===null&&(nn=Rh()),nn}i(xh,"readTextScale");function Th(e){if(typeof window>"u"||typeof window.addEventListener!="function")return ()=>{};let t=i(()=>{nn=null,e();},"onResize");return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}i(Th,"subscribeTextScale");function kh(){return useSyncExternalStore(mh,hh,()=>null)}i(kh,"useWebColorScheme");function Ph(){return useSyncExternalStore(yh,bh,()=>false)}i(Ph,"useWebReducedMotion");function _h(){return useSyncExternalStore(gh,vh,()=>false)}i(_h,"useWebHighContrast");function wh(){return useSyncExternalStore(Th,xh,()=>1)}i(wh,"useWebTextScale");var an=Object.freeze({useColorScheme:kh,useReducedMotion:Ph,useTextScale:wh,useHighContrast:_h,scaleTypeSizes:true,useResolvedTheme:bu});function Ah(e){return e.storage===void 0?{...e,storage:Xo()}:e}i(Ah,"withWebDefaults");var Oh=Object.freeze({platform:"web",withDefaults:Ah,theme:an});function Fh(e){return createElement(yu,{...e,seams:Oh})}i(Fh,"EverfurProvider");function Ft(e){let{runtime:t}=X(),r=t.entitlements,n=useSyncExternalStore(r.subscribe,r.getSnapshot,r.getSnapshot);return useMemo(()=>ul(e,n.decisions,{isPending:n.isPending}),[e,n])}i(Ft,"useCapability");var Jo=class Jo 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(Jo,"HostRenderBoundary");var Zo=Jo;function Nh({render:e}){return e()}i(Nh,"RenderHost");function xt({render:e,fallback:t,resetKey:r}){return createElement(Zo,{fallback:t,resetKey:r,children:createElement(Nh,{render:e})})}i(xt,"HostRender");function ei(e,t,r){return Math.round(r*gu(e,t)*10)/10}i(ei,"tierPx");var xu='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',Hh="System";function ti(e){let t=e.trim();return t.length===0||t===Hh?xu:`${Tu(t)}, ${xu}`}i(ti,"cssFontFamily");function Uh(e){let t=e.trim();return t.length===0||t==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${Tu(t)}, ui-monospace, Menlo, Consolas, monospace`}i(Uh,"cssMonoFamily");function Tu(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}i(Tu,"quote");function P(e,t){let r=e.type,n=r.families[t];return {fontFamily:t==="mono"||t==="monoMedium"||t==="monoBold"?Uh(n):ti(n),fontWeight:r.namedFaces[t]?r.weight.regular:r.weight[pr[t]]}}i(P,"faceCss");var Mt=Object.freeze({textAlign:"start"});var zh=48;function Bh(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}i(Bh,"selectView");function ni(e){let{capability:t,children:r,renderDisabled:n,renderPending:o,style:a,className:s}=e,l=Ft(t),u=useMemo(()=>Bh(l),[l]);switch(u){case "enabled":return r;case "pending":return o?jsx(xt,{render:o,fallback:jsx(ku,{capability:t,style:a,className:s})}):jsx(ku,{capability:t,style:a,className:s});case "disabled":return n?jsx(xt,{render:()=>n(l),fallback:jsx(Pu,{decision:l,style:a,className:s}),resetKey:l}):jsx(Pu,{decision:l,style:a,className:s});default:return Je(u)}}i(ni,"CapabilityGate");function ku({capability:e,style:t,className:r}){let n=N(),o=useMemo(()=>_u(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(ku,"PendingSkeleton");function Pu({decision:e,style:t,className:r}){let n=N(),o=useMemo(()=>_u(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(Pu,"OffState");function _u(e){let{color:t,space:r,radius:n,type:o}=e;return {offstate:{...Mt,boxSizing:"border-box",minHeight:zh,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,...P(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(_u,"makeStyles");var h=Object.freeze({placeholder:"Ask me anything!",send:"Send",stop:"Stop",retry:"Try again",followUps:"Helpful follow-ups",poweredBy:"powered by everfur",senderUser:"You",senderAssistant:"Assistant",senderVet:"Your vet",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 K(e,t){return e.replace(/\{(\w+)\}/g,(r,n)=>{let o=t[n];return o===void 0?r:String(o)})}i(K,"fillCopy");var oi=Object.freeze([Object.freeze({key:"inaccurate",label:h.feedbackReasonInaccurate,feedbackType:"wrong"}),Object.freeze({key:"outdated",label:h.feedbackReasonOutdated,feedbackType:"outdated"}),Object.freeze({key:"unsafe",label:h.feedbackReasonUnsafe,feedbackType:"dangerous"}),Object.freeze({key:"unclear",label:h.feedbackReasonUnclear,feedbackType:"unclear"}),Object.freeze({key:"other",label:h.feedbackReasonOther,feedbackType:"not_helpful"})]),wu=Object.freeze([Object.freeze({sentiment:"up",label:h.feedbackHelpful}),Object.freeze({sentiment:"neutral",label:h.feedbackNeutral}),Object.freeze({sentiment:"down",label:h.feedbackNotHelpful})]);function jh(e){switch(e){case "up":return "helpful";case "neutral":return "neutral";case "down":return "not_helpful"}}i(jh,"sentimentToFeedbackType");function Iu(e,t){if(e==="down"&&t!==null){let r=oi.find(n=>n.key===t);if(r!==void 0)return r.feedbackType}return jh(e)}i(Iu,"feedbackTypeFor");var Kh=Object.freeze({status:"idle",messages:Object.freeze([]),conversationId:null,error:null,isStreaming:false,isBootstrapping:true,suggestedPrompts:Object.freeze([]),unreadCount:null});function mr(e){let{runtime:t,userRef:r,activePet:n,scopeEpoch:o}=X(),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,d]=useState(null),c=u?.scope===l?u.controller:t.registry.peekChat({userRef:r,petRef:a,conversationId:s}),p=useRef(null);useEffect(()=>{let k=t.registry.acquireChat({userRef:r,petRef:a,conversationId:s});return p.current=k,d({scope:l,controller:k}),()=>{p.current=null,d(v=>v?.controller===k?null:v),t.registry.releaseChat(k);}},[t,r,a,s,o,l]);let f=useCallback(k=>c?c.subscribe(k):Gh,[c]),m=useCallback(()=>c?c.getSnapshot():Kh,[c]),y=useSyncExternalStore(f,m,m),R=useCallback((k,v)=>c&&p.current===c&&!c.getSnapshot().isBootstrapping?ai(c,c.send(k,v?.imageS3Keys===void 0?{}:{imageS3Keys:v.imageS3Keys}),()=>p.current===c):Promise.resolve(si()),[c]),b=useCallback(k=>c&&p.current===c&&!c.getSnapshot().isBootstrapping?ai(c,c.askEverfur(k),()=>p.current===c):Promise.resolve(si()),[c]),C=useCallback(()=>c&&p.current===c?ai(c,c.retryLast(),()=>p.current===c):Promise.resolve(si()),[c]),T=useCallback(()=>{c&&p.current===c&&c.stop();},[c]),_=useCallback(()=>{c&&p.current===c&&c.newConversation();},[c]),[w,g]=useState({controller:null,byMessage:{}}),x=w.controller===c?w.byMessage:qh,I=useCallback(async(k,v,S,A)=>{if(!c||p.current!==c)return E(D("accessDenied"));let F=String(k),B=w.controller===c?w.byMessage[F]:void 0;if(B===v&&S==null)return g(Z=>{let q={...Z.controller===c?Z.byMessage:{}};return delete q[F],{controller:c,byMessage:q}}),M(Object.freeze({feedbackId:""}));g(Z=>({controller:c,byMessage:{...Z.controller===c?Z.byMessage:{},[F]:v}}));let V=await c.submitFeedback(k,Iu(v,S??null),A??null);return p.current!==c?E(D("accessDenied")):(V.ok||g(Z=>{let q={...Z.controller===c?Z.byMessage:{}};return B===void 0?delete q[F]:q[F]=B,{controller:c,byMessage:q}}),V)},[c,w]),O=useMemo(()=>{let k=i(async v=>{if(!c||p.current!==c)return E(D("accessDenied"));let S=await v(c);return p.current===c?S:E(D("accessDenied"))},"run");return {listConversations:i(v=>k(S=>S.listConversations({...a?{petRef:a}:{},...v})),"listConversations"),getMessages:i((v,S)=>k(A=>A.getMessages(v,S)),"getMessages"),resumeConversation:i(v=>k(S=>S.resumeConversation(v)),"resumeConversation"),loadOlderMessages:i(()=>k(v=>v.loadOlderMessages()),"loadOlderMessages"),markRead:i(()=>k(v=>v.markRead()),"markRead"),refreshActiveThread:i(()=>k(v=>v.refreshActiveThread()),"refreshActiveThread"),answerCheckin:i((v,S)=>k(A=>A.answerCheckin(v,S)),"answerCheckin"),openCheckin:i(v=>k(S=>S.openCheckin(v)),"openCheckin")}},[c,a]);return useMemo(()=>({status:y.status,messages:y.messages,conversationId:y.conversationId,petRef:a,error:y.error,isStreaming:y.isStreaming,isBootstrapping:y.isBootstrapping,historyCursor:y.historyCursor??null,isLoadingHistory:y.isLoadingHistory??false,stopped:y.stopped??false,reconnecting:y.reconnecting??false,...O,suggestedPrompts:y.suggestedPrompts,unreadCount:y.unreadCount,hasUnreadThreads:y.hasUnreadThreads??false,newConversation:_,sentimentByMessage:x,feedback:I,send:R,askEverfur:b,retryLast:C,stop:T}),[y,a,R,b,C,T,O,_,x,I])}i(mr,"useEverfurChat");var Gh=i(()=>{},"NOOP_UNSUBSCRIBE"),qh=Object.freeze({});async function ai(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):M(Yh(n.messages))}i(ai,"driveToResult");function Yh(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(Yh,"lastAssistantResponseId");function si(){return E(D("internalError",{retryable:true}))}i(si,"notReadyError");function Mu(e){switch(e.code){case "too_large":return K(h.attachmentTooLarge,{max:So(jr),filename:e.filename,size:So(e.sizeBytes??0)});case "too_many":return K(h.attachmentTooMany,{max:Vr});case "unsupported_type":return K(h.attachmentUnsupported,{filename:e.filename});case "network":return h.attachmentNetwork;case "server":return K(h.attachmentServer,{status:e.httpStatus?` (${e.httpStatus})`:""});case "cancelled":return h.attachmentCancelled;case "rate_limited":return h.attachmentRateLimited;case "quota_exceeded":return h.attachmentQuota;case "idempotency_conflict":return h.attachmentConflict;case "unknown":return h.attachmentUnknown}}i(Mu,"attachmentErrorMessage");function Du(e,t){return K(e>=t?h.attachmentsFull:h.addAttachment,{used:e,total:t})}i(Du,"attachControlLabel");var Jh=Object.freeze({attachments:Object.freeze([])});function sn(e={}){let{runtime:t,userRef:r,scopeEpoch:n}=X(),o=e.maxPerMessage??Vr,a=useCallback(()=>{let{services:g}=t.registry;return Ns({funnel:ke({auth:g.authFor(r),...g.errorPolicy?{errorPolicy:g.errorPolicy}:{}}),transport:e.transport??g.uploadTransport,maxPerMessage:o})},[t,r,n,o,e.transport]),s=useMemo(()=>e.queue??a(),[e.queue,a]),l=useRef(new WeakSet),[u,d]=useState(null),c=u!==null&&u.of===s?u.queue:s;useEffect(()=>{if(c!==e.queue){if(l.current.has(c)){d({of:s,queue:a()});return}return ()=>{c.dispose(),l.current.add(c);}}},[c,s,a,e.queue]);let p=useSyncExternalStore(c.subscribe,c.getSnapshot,()=>Jh),[f,m]=useState(null),y=useCallback(g=>{let I=(Array.isArray(g)?g:[g]).map(k=>c.add(k)),O=I.find(k=>!k.ok);return O!==void 0&&!O.ok&&m(O.error),I},[c,m]),R=useCallback(g=>c.retry(g),[c]),b=useCallback(g=>c.remove(g),[c]),C=useCallback(()=>c.clear(),[c]),T=useCallback(()=>m(null),[m]),_=p.attachments.some(g=>g.status==="uploading"),w=p.attachments.some(g=>g.status==="failed");return useMemo(()=>({available:c.available,attachments:p.attachments,maxPerMessage:o,uploading:_,failed:w,blocked:_||w,s3Keys:p.attachments.flatMap(g=>g.status==="uploaded"&&g.s3Key!==null?[g.s3Key]:[]),rejected:f,add:y,retry:R,remove:b,clear:C,dismissRejected:T}),[c.available,p,o,_,w,f,y,R,b,C,T])}i(sn,"useChatAttachments");var rb="pet_not_registered";function Hu(e){return e!=null&&e.reasonCode===rb}i(Hu,"isPetNotRegistered");var nb=Object.freeze({status:"idle",error:null,registered:null,retry:i(()=>{},"retry")});function Uu(e,t,r){let{runtime:n,userRef:o,scopeEpoch:a}=X(),s=useCallback(()=>et(n.registry.services.authFor(o)),[n,o,a]),l=useMemo(()=>t===void 0?null:ui(t),[t]),[u,d]=useState({key:null,status:"idle",error:null,registered:null}),c=useRef(0),p=useRef(r);p.current=r;let f=e===null||l===null?null:`${String(o)}|${a}|${e}|${l}`,m=useCallback(()=>{if(e===null||t===void 0||f===null)return;let R=++c.current;d({key:f,status:"registering",error:null,registered:null}),s().registerPet(e,t).then(b=>{R===c.current&&(b.ok?(d({key:f,status:"registered",error:null,registered:b.value}),p.current?.()):d({key:f,status:"failed",error:b.error,registered:null}));});},[s,e,f]);useEffect(()=>{if(f===null){c.current+=1;return}return m(),()=>{c.current+=1;}},[f,m]);let y=useCallback(()=>{u.status==="failed"&&m();},[u.status,m]);return useMemo(()=>f===null?nb:u.key!==f?{status:"registering",error:null,registered:null,retry:y}:{status:u.status,error:u.error,registered:u.registered,retry:y},[f,u,y])}i(Uu,"useChatPetRegistration");function ui(e){return e===null||typeof e!="object"?JSON.stringify(e)??"undefined":Array.isArray(e)?`[${e.map(ui).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)}:${ui(n)}`).join(",")}}`}i(ui,"stableKey");var ib=500;function di(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,ib):null}i(di,"sanitizeSeedPrompt");function Bu(e,t,r){let n=di(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(Bu,"useInitialAsk");function ab(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(ab,"isCoalesced");function ju(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"}:ab(e,r,t)?{action:"skip",reason:"coalesced"}:{action:"refresh",conversationId:r}}i(ju,"decideChatRefresh");function ci(e){let t=globalThis.console;try{t?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}i(ci,"reportHostFailure");function sb(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}i(sb,"isThenable");function se(e,...t){if(typeof e=="function")try{let r=e(...t);return sb(r)&&Promise.resolve(r).then(void 0,ci),r}catch(r){ci(r);return}}i(se,"callHost");function Vu(e,...t){let r;try{r=e(...t);}catch(n){return ci(n),Promise.resolve({ok:false,error:n})}return Promise.resolve(r).then(n=>({ok:true,value:n}),n=>({ok:false,error:n}))}i(Vu,"callHostAsync");function Wu(e,t){let r=useRef(t);r.current=t;let n=useRef(null),o=useRef(null),a=e?.isOffline===void 0?false:se(()=>e.isOffline?.()===!0)===true,s=useRef(()=>{});s.current=l=>{let{conversationId:u,isTurnInFlight:d,refresh:c}=r.current,p=ju(l,{activeConversationId:u,isTurnInFlight:d,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()},c!==void 0&&Promise.resolve(c()).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((d,c)=>{if(d===void 0)return;let p=se(()=>d(()=>{s.current(c);}));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 d of l)se(d);}},[e]);}i(Wu,"useChatLifecycle");function ub(e){if(e===void 0)return null;let t=e.conversationId??"",r=e.petRef??"";return t===""&&r===""?null:`${String(t)}|${String(r)}`}i(ub,"targetKey");function Gu(e,t){let r=ub(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(Gu,"useCheckinTarget");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",newChat:"New chat",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 un(e){let t=e?.replace(/\s+/g," ").trim();return t||W.untitled}i(un,"conversationTitle");function Yu(e){return `${e.unreadCount!==null&&e.unreadCount>0?W.unreadPrefix:""}${W.openConversation} ${un(e.title)}`}i(Yu,"openConversationLabel");function qu(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\u2018\u2019]/g,"'").replace(/[\u201c\u201d]/g,'"').toLowerCase().trim().replace(/\s+/g," ")}i(qu,"normalizeForSearch");function mb(e,t){let r=qu(t);if(r.length===0)return e;let n=[[],[],[]];for(let o of e){let a=qu(un(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(mb,"filterConversations");function fi(e){return {scope:e,rows:[],cursor:null,loading:false,loadingMore:false,error:null}}i(fi,"fresh");function Xu(e){let[t,r]=useState(false),[n,o]=useState(""),a=e.listConversations,s=useRef(0),[l,u]=useState(()=>fi(a)),d=l.scope===a?l:fi(a);useEffect(()=>(s.current+=1,r(false),o(""),u(fi(a)),()=>{s.current+=1;}),[a]);let c=useCallback(async _=>{let w=++s.current,g=_!==void 0;u(I=>({...I,scope:a,loading:!g,loadingMore:g,error:null}));let x=await e.listConversations(_?{cursor:_}:void 0);if(w===s.current){if(!x.ok){u(I=>({...I,loading:false,loadingMore:false,error:x.error.displayMessage}));return}u(I=>{let O=_&&I.scope===a?I.rows:[],k=new Set(O.map(v=>v.id));return {scope:a,loading:false,loadingMore:false,error:null,rows:[...O,...x.value.conversations.filter(v=>!k.has(v.id))],cursor:x.value.nextCursor===_?null:x.value.nextCursor}});}},[e.listConversations,a]),p=i(()=>{r(true),o(""),c();},"show"),f=i(()=>{s.current+=1,r(false);},"close"),m=i(async _=>{let w=++s.current;u(x=>({...x,loading:true,error:null}));let g=await e.resumeConversation(_);w===s.current&&(u(x=>({...x,loading:false,error:g.ok?null:g.error.displayMessage})),g.ok&&r(false));},"resume"),y=i(async()=>{let _=s.current,w=await e.loadOlderMessages();_===s.current&&!w.ok&&u(g=>({...g,error:w.error.displayMessage}));},"earlier"),R=i(()=>{e.newConversation(),s.current+=1,r(false);},"newConversation"),b=i(()=>{d.cursor===null||d.loading||d.loadingMore||n.trim().length>0||c(d.cursor);},"loadMore"),C=useMemo(()=>mb(d.rows,n),[d.rows,n]),T=n.trim().length>0;return {...d,open:t,show:p,close:f,load:c,resume:m,earlier:y,newConversation:R,loadMore:b,query:n,setQuery:o,searching:T,filtered:C,emptyKind:d.rows.length===0?"empty":"noMatch"}}i(Xu,"useHistoryPanel");var dn="#111111",cn="#FFFFFF",hb=Object.freeze({emergency:Object.freeze({level:"emergency",label:"Vet care now",borderColor:"#FCA5A5",backgroundColor:"#FEF2F2",textColor:"#991B1B",reasonColor:dn,pillColor:cn,showsVetAction:true}),schedule_soon:Object.freeze({level:"schedule_soon",label:"Vet care suggested soon",borderColor:"#FCD34D",backgroundColor:"#FFFBEB",textColor:"#92400E",reasonColor:dn,pillColor:cn,showsVetAction:true}),home_care:Object.freeze({level:"home_care",label:"Monitor at home",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:dn,pillColor:cn,showsVetAction:false}),general:Object.freeze({level:"general",label:"Good to know",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:dn,pillColor:cn,showsVetAction:false})});function bb(e){return `${e.messageId}:${e.level}:${e.reason??""}`}i(bb,"urgencySignature");function vb(e){return K(h.urgencyGeneralReason,{petName:e?.trim()||h.emptyTitlePetFallback})}i(vb,"generalUrgencyReason");function Ju(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:Eb(n.urgencyReason)}:n.urgencyProvided===true?{messageId:n.id,level:"general",reason:vb(t)}:null}return null}i(Ju,"latestUrgencySource");function Eb(e){return typeof e=="string"&&e.trim().length>0?e:null}i(Eb,"shownReason");function ed(e){let t=e===null?null:bb(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:hb[e.level],d=e!==null&&!l&&e.level!=="general",c=useCallback(()=>{t!==null&&n(t),a(false);},[t]),p=useCallback(()=>a(true),[]);return useMemo(()=>({source:e,tier:u,signature:t,showBanner:l,showCompactIcon:d,showVetAction:l&&u!==null&&u.showsVetAction,dismissLabel:u===null?null:K(h.dismissBanner,{label:u.label}),dismiss:c,expand:p}),[e,u,t,l,d,c,p])}i(ed,"useUrgencySurface");function td(e){return e.isBootstrapping?"loading":e.status==="error"&&e.error&&e.messages.length===0?"error":e.messages.length===0?"empty":"populated"}i(td,"selectView");function Cb(e){return e.code==="accessDenied"||e.code==="conversationNotFound"}i(Cb,"needsNewConversation");function rd(e){if(e.messages.length===0)return null;let t=e.status==="error"?e.error:null;if(t!==null){let r=Cb(t);return {tone:"error",title:r?h.turnUnreachableTitle:h.turnFailedTitle,body:t.displayMessage,actionLabel:r?h.turnStartNewChat:h.turnRetry,action:r?"startNew":"retry"}}return e.stopped===true?{tone:"neutral",title:h.turnStoppedTitle,body:h.turnStoppedBody,actionLabel:h.turnRetry,action:"retry"}:null}i(rd,"turnNotice");function pn(e,t){let r=e[e.length-1];return t&&(r===void 0||r.role==="user")}i(pn,"awaitingAssistant");var Sb=3,Rb=Object.freeze([]);function nd(e){let t=e.messages[e.messages.length-1];if(e.isStreaming||e.status==="error"||t===void 0||t.role!=="assistant")return Rb;let r=new Set,n=[];for(let o of e.suggestedPrompts){let a=o.trim(),s=a.replace(/\s+/g," ").toLowerCase();if(!(s.length===0||r.has(s))&&(r.add(s),n.push(a),n.length===Sb))break}return Object.freeze(n)}i(nd,"visibleFollowUps");function od(e){return e.sender?.displayName??h.senderVet}i(od,"vetSenderLabel");function id(e,t){let r={};return e!==void 0&&(r.petRef=e),t!==void 0&&(r.conversationId=t),r}i(id,"buildChatOpts");function fn(){let{runtime:e,userRef:t,activePet:r,scopeEpoch:n}=X(),o=useMemo(()=>et(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),d=useCallback(async()=>{let p=++u.current;s(m=>({...m,repository:o,loading:true,error:null,pets:m.repository===o?m.pets:[]}));let f=await o.list();p===u.current&&s(f.ok?{repository:o,pets:f.value,loading:false,error:null}:m=>({repository:o,pets:m.repository===o?m.pets:[],loading:false,error:f.error}));},[o]);useEffect(()=>(d(),()=>{u.current+=1;}),[d]);let c=useMemo(()=>r===null?null:l.pets.find(p=>p.petRef===r)??null,[r,l.pets]);return useMemo(()=>({pets:l.pets,activePet:c,loading:l.loading,error:l.error,refresh:d}),[l.pets,l.loading,l.error,c,d])}i(fn,"useEverfurPets");function ad(e,t){if(t!==null){let r=e.find(n=>n.petRef===t);if(r!==void 0)return r}return e[0]??null}i(ad,"headerPetOf");var it=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 yr=2,wb="data-ef-focus-ring",sd="data-ef-focus-ring-color";function yi(e){return {outline:`${yr}px solid ${e}`,outlineOffset:yr}}i(yi,"focusRingStyle");var yn=false,mn=0;function ld(e){e.metaKey||e.ctrlKey||e.altKey||(yn=true);}i(ld,"onKeyDown");function Lt(){yn=false;}i(Lt,"onPointerDown");function Ib(){return typeof document>"u"?()=>{}:(mn===0&&(document.addEventListener("keydown",ld,true),document.addEventListener("pointerdown",Lt,true),document.addEventListener("mousedown",Lt,true),document.addEventListener("touchstart",Lt,true)),mn+=1,()=>{mn-=1,!(mn>0)&&(document.removeEventListener("keydown",ld,true),document.removeEventListener("pointerdown",Lt,true),document.removeEventListener("mousedown",Lt,true),document.removeEventListener("touchstart",Lt,true),yn=false);})}i(Ib,"bindModality");var Ab=new Set(["","text","search","email","tel","url","password","number"]);function Ob(e){return e.tagName==="TEXTAREA"||e.isContentEditable?true:e.tagName!=="INPUT"?false:Ab.has((e.getAttribute("type")??"").toLowerCase())}i(Ob,"isTextField");function ud(e,t){useEffect(()=>{let r=e.current;if(r===null)return;let n=Ib(),o=new Map,a=i(l=>{let u=l.target;if(!(u instanceof HTMLElement)||o.has(u)||u.closest(`[${wb}="self"]`)!==null||!yn&&!Ob(u))return;o.set(u,{outline:u.style.outline,outlineOffset:u.style.outlineOffset});let d=u.closest(`[${sd}]`),c=yi(d?.getAttribute(sd)||t);u.style.outline=c.outline,u.style.outlineOffset=`${c.outlineOffset}px`;},"onFocusIn"),s=i(l=>{let u=l.target;if(!(u instanceof HTMLElement))return;let d=o.get(u);d!==void 0&&(o.delete(u),u.style.outline=d.outline,u.style.outlineOffset=d.outlineOffset);},"onFocusOut");return r.addEventListener("focusin",a),r.addEventListener("focusout",s),()=>{r.removeEventListener("focusin",a),r.removeEventListener("focusout",s);for(let[l,u]of o)l.style.outline=u.outline,l.style.outlineOffset=u.outlineOffset;o.clear(),n();}},[e,t]);}i(ud,"useKeyboardFocusRing");var gi=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 cd(e){let t=N(),r=useMemo(()=>Mb(t),[t]);return jsxs("div",{role:"note",className:e.className,style:{...r.container,...e.style},children:[jsx("p",{style:r.title,children:gi.title}),jsx("p",{style:r.body,children:gi.body})]})}i(cd,"ClinicalDisclaimer");function Mb(e){let{color:t,space:r,type:n}=e,o=`${Math.round(n.size.caption*n.lineHeight.snug)}px`;return {container:{...Mt,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,...P(e,"bold"),fontSize:n.size.caption,lineHeight:o,color:t.text.secondary,letterSpacing:n.letterSpacing.eyebrow},body:{margin:0,...P(e,"regular"),fontSize:n.size.caption,lineHeight:o,color:t.text.muted}}}i(Mb,"makeStyles");function pd(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),t?.prefer!==void 0&&(r.prefer=t.prefer),r}i(pd,"chatVetVisitOptions");var fd=Symbol.for("@everfur/sdk/televet");function Ge(){let e=globalThis,t=e[fd];if(t!==void 0)return t;let r={presenter:null,snapshot:Object.freeze({request:null,serial:0,activeHost:null}),hosts:[],nextHost:1,listeners:new Set,dailyRegistered:false};return e[fd]=r,r}i(Ge,"televetGlobal");function gn(e){let t=Ge();t.snapshot=Object.freeze({...t.snapshot,...e});for(let r of [...t.listeners])try{r();}catch{}}i(gn,"publish");function md(e){let t=Ge().presenter;if(t===null)return "absent";try{return t(e)===!1?"declined":"presented"}catch(r){return console.warn("[everfur] Your registerEverfurTelevetFlow presenter threw; the in-app visit opened instead.",r),"threw"}}i(md,"callTelevetPresenter");function yd(e){let t=Ge();return t.listeners.add(e),()=>{t.listeners.delete(e);}}i(yd,"subscribeTelevetExperience");function hi(){return Ge().snapshot}i(hi,"televetExperienceSnapshot");function Lb(){return Ge().hosts.length>0}i(Lb,"hasTelevetHost");function gd(e){if(!Lb())return false;let t=Object.freeze({...e});return gn({request:t,serial:Ge().snapshot.serial+1}),true}i(gd,"presentTelevetExperience");function bi(){Ge().snapshot.request!==null&&gn({request:null});}i(bi,"dismissTelevetExperience");function hd(){let e=Ge(),t=e.nextHost;return e.nextHost+=1,e.hosts=[...e.hosts,t],gn({activeHost:e.hosts[0]??null}),t}i(hd,"claimTelevetHost");function bd(e){let t=Ge();t.hosts=t.hosts.filter(n=>n!==e);let r=t.hosts[0]??null;gn(r===null?{activeHost:r,request:null}:{activeHost:r});}i(bd,"releaseTelevetHost");function Cd(e){let t=null;return ()=>{if(t!==null)return t;let r=e();return t=r,r.then(void 0,()=>{t===r&&(t=null);}),r}}i(Cd,"memoizeTelevetLoader");function Sd(e){let[t,r]=useState(null);useEffect(()=>{let d=hd();return r(d),()=>{bd(d);}},[]);let n=useSyncExternalStore(yd,hi,hi),a=t!==null&&n.activeHost===t?n.request:null,[s,l]=useState(null),u=a!==null&&s===null;return useEffect(()=>{if(!u)return;let d=true;return e().then(c=>{d&&l(()=>c);},c=>{d&&(console.warn("[everfur] The in-app vet visit could not load its screens.",c),bi());}),()=>{d=false;}},[u,e]),a===null||s===null?null:{module:s,request:a,serial:n.serial,dismiss:bi}}i(Sd,"useTelevetExperienceHost");var Hb=Cd(()=>import('@everfur/sdk/web/televet/booking'));function Rd({onAddToCalendar:e}){let t=Sd(Hb);if(t===null)return null;let{EverfurTelevetDialog:r}=t.module;return jsx(r,{request:t.request,onClose:t.dismiss,...e?{onAddToCalendar:e}:{}},t.serial)}i(Rd,"EverfurTelevetHost");var vi=Object.freeze(["visit","join","summary","messages"]);function Ei(e){return typeof e=="string"&&vi.includes(e)}i(Ei,"isVetVisitIntent");var zb="/widget/v1/televet/handoffs",Bb="/widget/v1/televet/availability",jb="/widget/v1/televet/chat-entry",Vb=/^[a-z0-9][a-z0-9_-]{0,39}$/,$b=/^[A-Za-z0-9_-]{22}$/;var xd=32,Td=128,kd=64;function Si(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(Si,"vetVisitErrorReasonOf");function Pd(e){return E(D("validationFailed",{retryable:false,wireMessage:e}))}i(Pd,"invalid");function Ci(e){return E(D("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}i(Ci,"unusable");function Wb(e,t){let r={};e!==void 0&&(r.pet_ref=e);let n=t?.returnTo;if(n!=null){if(typeof n!="string"||!Vb.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>kd)return {ok:false,message:`visitRef must be 1..${kd} characters`};r.visit_ref=u;}if(s!=null){if(!l)return {ok:false,message:"intent needs the visitRef it opens"};if(!Ei(s))return {ok:false,message:`intent must be one of ${vi.join(", ")}`};r.intent=s;}return {ok:true,body:r}}i(Wb,"handoffBody");function Kb(e){if(typeof e!="object"||e===null)return null;let{visit_ref:t,intent:r}=e;return typeof t!="string"||t.length===0||!Ei(r)?null:Object.freeze({visitRef:t,intent:r})}i(Kb,"parseVisitEcho");function wd(e){let t=e.funnel??ke({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),r=e.telemetry,n=i(o=>(_d(r,"televet.visit.handoff_failed",{reason:Si(o)}),E(o)),"failed");return {async createHandoff(o,a){let s;if(o!=null){let b=typeof o=="string"?[...o].length:0;if(b<1||b>Td)return n(D("validationFailed",{retryable:false,wireMessage:`pet_ref must be 1..${Td} characters`}));s=o;}let l=Wb(s,a);if(!l.ok){let b=Pd(l.message);return b.ok?b:n(b.error)}let u=l.body,d=await t.send("televet.visit.handoff",{method:"POST",path:zb,body:u},{idempotent:false,maxAttempts:1});if(!d.ok)return n(d.error);let c=Gb(d.value),p=u.return_to!==void 0,f=p?d.value?.flow_id:void 0;if(p&&(typeof f!="string"||!$b.test(f))){let b=Ci("the handoff response carried no usable return flow id");return b.ok?b:n(b.error)}let m=u.visit_ref!==void 0,y=m?Kb(d.value?.visit):null;if(m&&y===null){let b=Ci("the handoff response did not confirm the visit it opens");return b.ok?b:n(b.error)}let R=c===null?null:Object.freeze({...c,...p?{flowId:f}:{},...y!==null?{visit:y}:{}});return R===null?n(D("internalError",{retryable:false,httpStatus:502,wireMessage:"the handoff response carried no usable visit url"})):(_d(r,"televet.visit.handoff_created",{pet_scoped:u.pet_ref!==void 0}),M(R))},async checkAvailability(o){if(typeof o!="string"||o.length>xd)return Pd(`state must be at most ${xd} characters`);let a=await t.send("televet.visit.availability",{method:"POST",path:Bb,body:{state:o}},{idempotent:false,maxAttempts:1});if(!a.ok)return E(a.error);let s=a.value?.available;return typeof s!="boolean"?Ci("the availability response carried no usable answer"):M(Object.freeze({available:s}))},async chatEntryOpen(){try{let o=await t.send("televet.visit.chat_entry",{method:"GET",path:jb},{maxAttempts:1});return o.ok&&o.value?.open===!0}catch{return false}}}}i(wd,"createVetVisitController");function Gb(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||!Qb(t)?null:Object.freeze({url:t,expiresAt:r})}i(Gb,"parseHandoff");var qb=new Set(["localhost","127.0.0.1","[::1]"]),Yb=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/,Xb=/[\s\u0000-\u001f\u007f]/;function Qb(e){if(Xb.test(e))return false;let t=Yb.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"&&qb.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(Qb,"isOpenableVisitUrl");function _d(e,t,r){if(e)try{e.track(t,r);}catch{}}i(_d,"safeTrack");var Id=false;function Ad(e,t){return t!==void 0?(se(t,e),"onStartInApp"):md(e)==="presented"?"presenter":gd(e)?"experience":(Id||(Id=true,console.warn("[everfur] A vet visit had nowhere to open: mount <EverfurTelevetHost /> in your EverfurProvider, or pass prefer: 'redirect'.")),null)}i(Ad,"openVetVisitInApp");var Ri=Object.freeze({status:"idle",error:null,errorReason:null});function Jb(e,t,r){let{usState:n,chat:o,scope:a}=r,s=t&&(n!==null||o),l=`${n??""}|${o?"chat":""}`,[u,d]=useState(null);if(useEffect(()=>{if(!s)return;let p=true,f=e.current;return d(null),i(async()=>{try{if(o&&!(f.chatEntryOpen&&await f.chatEntryOpen()))return !1;if(n===null)return !0;if(!f.checkAvailability)return !1;let y=await f.checkAvailability(n);return y.ok&&y.value.available}catch{return false}},"ask")().then(y=>{p&&d({key:l,open:y});}),()=>{p=false;}},[s,l,n,o,a,e]),!s)return null;let c=u!==null&&u.key===l;return {open:c&&u.open,pending:!c}}i(Jb,"usePreflight");var ev=Object.freeze({status:"opening",error:null,errorReason:null});function Md(e,t={}){let{runtime:r,userRef:n,scopeEpoch:o}=X(),a=Ft("televet"),s=a.enabled&&n!==null,l=t.usState??null,u=t.entry==="chat",d=t.petRef??null,c=t.prefer==="redirect",p=useMemo(()=>{if(t.controller)return t.controller;let{services:S}=r.registry;return wd({auth:S.authFor(n),telemetry:S.telemetry,...S.errorPolicy?{errorPolicy:S.errorPolicy}:{}})},[r,n,o,t.controller]),f=useRef(p);f.current=p;let m=useMemo(()=>({runtime:r,userRef:n,scopeEpoch:o}),[r,n,o]),y=Jb(f,s,{usState:l,chat:u,scope:m}),R=s&&(y===null||y.open)&&(!u||d!==null),b=t.returnTo??null,[C,T]=useState(Ri),_=useRef(null),w=useRef({runtime:r,userRef:n,scopeEpoch:o});w.current={runtime:r,userRef:n,scopeEpoch:o};let g=useRef(p);g.current=p;let x=useRef(R);x.current=R;let I=useCallback((S,A)=>{if(_.current)return _.current;let F=i(($,ve)=>(T({status:$==="cancelled"?"idle":"error",error:ve,errorReason:$==="cancelled"?null:$}),Object.freeze({opened:false,reason:$,error:ve})),"fail");if(!x.current)return Promise.resolve(F("unavailable",null));let B=e.prepare();if(!B.ok)return Promise.resolve(F(B.reason,null));let V=w.current,Z=g.current;T(ev);let Be=(async()=>{let $,ve={...b!==null?{returnTo:b}:{},...u?{entry:"chat"}:{},...A!==null?{visitRef:A.visitRef}:{},...A!==null&&A.intent!==null&&A.intent!==void 0?{intent:A.intent}:{}},Ie=Object.keys(ve).length===0?void 0:ve,lt=S===void 0?d:S;try{$=await(Ie===void 0?Z.createHandoff(lt):Z.createHandoff(lt,Ie));}catch{return e.abandon(B.value),F("unknown",null)}let ut=w.current;if(ut.runtime!==V.runtime||ut.userRef!==V.userRef||ut.scopeEpoch!==V.scopeEpoch)return e.abandon(B.value),F("cancelled",null);if(!$.ok)return e.abandon(B.value),F(Si($.error),$.error);let Ze=await e.finish(B.value,$.value);return Ze!==null?F(Ze,null):(T(Ri),Object.freeze($.value.flowId===void 0?{opened:true}:{opened:true,flowId:$.value.flowId}))})().finally(()=>{_.current===Be&&(_.current=null);});return _.current=Be,Be},[e,d,b,u]),O=useCallback((S,A)=>{if(!x.current)return T({status:"error",error:null,errorReason:"unavailable"}),Promise.resolve(Object.freeze({opened:false,reason:"unavailable",error:null}));let F=S===void 0?d:S,B={...F!==null?{petRef:F}:{},...l!==null?{usState:l}:{},...A!==null?{visitRef:A.visitRef,intent:A.intent}:{}};return Ad(B)===null?(T({status:"error",error:null,errorReason:"unavailable"}),Promise.resolve(Object.freeze({opened:false,reason:"unavailable",error:null}))):(T(Ri),Promise.resolve(Object.freeze({opened:true})))},[d,l]),k=useCallback(S=>c?I(S,null):O(S,null),[c,I,O]),v=useCallback((S,A)=>c?I(void 0,{visitRef:S,intent:A??null}):O(void 0,{visitRef:S,intent:A??null}),[c,I,O]);return {available:R,isPending:a.isPending||(y?.pending??false),status:C.status,error:C.error,errorReason:C.errorReason,open:k,openVisit:v}}i(Md,"useVetVisitWith");function Dd(e){try{e.closed||e.close();}catch{}}i(Dd,"closeQuietly");var tv=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 Dd(e),"popupBlocked"}},abandon({tab:e}){Dd(e);}});function Ld(e){return Md(tv,e)}i(Ld,"useVetVisit");var Nd='button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])';function ki(e){return e.tagName==="DIALOG"}i(ki,"isDialogElement");function rv(e,t){if(t.isDefaultPrevented()||t.nativeEvent.isComposing)return false;let r=t.target;return !(r instanceof Element)||r.closest("dialog")===e}i(rv,"ownsEscape");function qe(e,t,r,n){let o=n?.escapeAtKeyDown===true,a=useRef(null),s=useRef(false),l=useRef(null),u=useRef(r);u.current=r;let d=useCallback(()=>{if(!s.current)return;s.current=false;let f=u.current===void 0?l.current:u.current.current;f&&f.isConnected&&f.focus(),(!f||!f.isConnected||document.activeElement===f)&&(l.current=null);},[]);useEffect(()=>{if(!e){d();return}let f=a.current;if(!s.current){let y=typeof document>"u"?null:document.activeElement;y!==null&&f!==null&&f.contains(y)||(l.current=y instanceof HTMLElement?y:null);}if(s.current=true,f===null)return;if(!ki(f)){f.contains(document.activeElement)||(f.querySelector(Nd)??f).focus();return}let m=f;typeof m.showModal=="function"?m.open||m.showModal():m.setAttribute("open","");},[e,d]),useEffect(()=>d,[d]),useEffect(()=>{let f=a.current;if(!e||f===null||!ki(f))return;let m=f;if(typeof m.showModal!="function")return;let y=null,R=i(C=>{C.target instanceof HTMLElement&&(y=C.target);},"onFocusIn"),b=i(()=>{if(!m.isConnected||m.open)return;let C=y;m.showModal(),C!==null&&C.isConnected&&m.contains(C)&&document.activeElement!==C&&C.focus();},"onNativeClose");return m.addEventListener("focusin",R),m.addEventListener("close",b),()=>{m.removeEventListener("focusin",R),m.removeEventListener("close",b);}},[e]);let c=useCallback(f=>{let m=a.current;if(m===null)return;if(f.key==="Escape"&&!ki(m)){f.preventDefault(),f.stopPropagation(),t();return}if(f.key==="Escape"&&o&&rv(m,f)){f.preventDefault(),t();return}if(f.key!=="Tab")return;let y=Array.from(m.querySelectorAll(Nd)),R=y[0],b=y[y.length-1];if(!R||!b){f.preventDefault();return}let C=document.activeElement;f.shiftKey&&(C===R||!m.contains(C))?(f.preventDefault(),b.focus()):!f.shiftKey&&(C===b||!m.contains(C))&&(f.preventDefault(),R.focus());},[t,o]),p=useCallback(f=>{f.target===f.currentTarget&&(f.preventDefault(),t());},[t]);return {dialogRef:a,onKeyDown:c,onCancel:p}}i(qe,"useModalDialog");var nv=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"})]}),history:jsxs(Fragment,{children:[jsx("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),jsx("path",{d:"M3 3v5h5"}),jsx("path",{d:"M12 7v5l4 2"})]}),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"})}),ov=Object.freeze({send:Object.freeze({viewBox:"0 0 17.3973 19.8995"})});function z({name:e,size:t,color:r,fill:n,strokeWidth:o,style:a}){let s=ov[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:nv[e]})}i(z,"Glyph");var Nt=44,vn=36,av=12,sv=16,Hd="#FFFFFF";function Ud({image:e,onClose:t,returnFocusTo:r}){let n=N(),o=useMemo(()=>lv(n),[n]),a=qe(e!==null,t,r);return e===null?null:jsxs("dialog",{ref:a.dialogRef,"aria-label":K(h.previewAttachment,{filename:e.filename}),onCancel:a.onCancel,onKeyDown:a.onKeyDown,style:o.lightbox,"data-ef-focus-ring-color":Hd,children:[jsx("img",{src:e.uri,alt:e.filename,style:o.image}),jsx("button",{type:"button",onClick:t,"aria-label":h.closePreview,style:o.closeHit,children:jsx("span",{"aria-hidden":"true",style:o.closeDisc,children:jsx(z,{name:"x",size:18,color:Hd})})})]})}i(Ud,"AttachmentImageLightbox");function lv(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:av-(Nt-vn)/2,right:sv-(Nt-vn)/2,boxSizing:"border-box",width:Nt,height:Nt,minWidth:Nt,minHeight:Nt,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},closeDisc:{boxSizing:"border-box",width:vn,height:vn,borderRadius:t.pill,backgroundColor:"rgba(0,0,0,0.45)",display:"inline-flex",alignItems:"center",justifyContent:"center"}}}i(lv,"makeStyles");var dv="file",cv="chat attachment upload: the file handle carries no bytes",Pi="chat attachment upload failed";function Cn(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(cv));if(o.signal?.aborted===true)return Promise.reject(new Error(Pi));let s=new FormData;for(let[l,u]of Object.entries(r.upload_fields))s.append(l,u);return s.append(dv,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(Pi));o.onProgress?.(1);},()=>Promise.reject(new Error(Pi)))}})}i(Cn,"createWebAttachmentTransport");function Sn(e){return Object.freeze({uri:URL.createObjectURL(e),mimeType:e.type,sizeBytes:e.size,name:e.name,blob:e})}i(Sn,"fileToAttachmentHandle");function hr(e){try{URL.revokeObjectURL(e);}catch{}}i(hr,"revokeObjectUrl");function _i(e){return rr(e)==="cat"?"cat":"dog"}i(_i,"speciesOf");function wi(e){return typeof e!="number"||!Number.isFinite(e)||e<0?null:Math.floor(e)}i(wi,"petAgeYears");function Bd(e){let t=wi(e.ageYears),r=_i(e.species)==="cat"?"Cat":"Dog";if(t==null)return r;let n=t===1?"1 yr":`${t} yrs`;return `${r} \xB7 ${n}`}i(Bd,"formatPetMeta");var zd=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 pv(e){let t=0;for(let r=0;r<e.length;r+=1)t=t*31+e.charCodeAt(r)>>>0;return zd[t%zd.length]}i(pv,"pickInitialsPalette");function Ii(e){let t=(e??"").trim();return (Array.from(t)[0]??"?").toUpperCase()}i(Ii,"getInitial");function Rn(e){return {...pv(e.petRef),initial:Ii(e.name)}}i(Rn,"petInitials");var jd=Object.freeze({visitButton:"Talk to a vet"});var xn=44,Ai=44,Tn=48,mv=18,Vd=22,yv="80vh";function $d(e){let{open:t,pets:r,activePetRef:n,onClose:o,onSelect:a,onAddPet:s=null,returnFocusTo:l}=e,u=N(),d=useMemo(()=>gv(u),[u]),c=qe(t,o,l);return t?jsxs("dialog",{ref:c.dialogRef,"aria-label":h.yourPets,onCancel:c.onCancel,onKeyDown:c.onKeyDown,style:d.sheet,children:[jsx("h2",{style:d.title,children:h.yourPets}),jsx("ul",{style:d.list,children:r.map(p=>{let f=p.petRef===n,m=p.name?.trim()||h.yourPet,y=Rn(p);return jsx("li",{children:jsxs("button",{type:"button","aria-current":f?"true":void 0,"aria-label":K(f?h.petCurrentlyActive:h.switchToPet,{name:m}),onClick:()=>a(p.petRef),style:{...d.row,...f?d.rowActive:null},children:[jsx("span",{style:d.ring,children:jsx("span",{style:{...d.disc,backgroundColor:y.background,color:y.foreground},children:y.initial})}),jsxs("span",{style:d.text,children:[jsx("span",{style:d.name,children:m}),jsx("span",{style:d.meta,children:`${f?h.activePrefix:""}${Bd(p)}`})]}),f?jsx(z,{name:"check",size:mv,color:u.color.brandInk,strokeWidth:2.5}):null]})},p.petRef)})}),s!==null?jsxs("button",{type:"button","aria-label":h.addAnotherPet,onClick:s,style:d.addRow,children:[jsx("span",{style:d.addDisc,children:"+"}),jsx("span",{style:d.addLabel,children:h.addAnotherPet})]}):null,jsx("button",{type:"button",onClick:o,style:d.close,children:h.close})]}):null}i($d,"PetSwitcherDialog");function gv(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:yv,overflowY:"auto",padding:`${r.lg+4}px ${r.lg+4}px ${r.xxl}px`,border:0,borderRadius:`${Vd}px ${Vd}px 0 0`,backgroundColor:t.surface,color:t.text.primary,display:"flex",flexDirection:"column",gap:r.md+2},title:{margin:0,...P(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:xn,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:Tn,height:Tn,borderRadius:n.pill,border:`2px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:Ai,height:Ai,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...P(e,"bold"),fontSize:Math.round(Ai*.42),lineHeight:1,textTransform:"uppercase"},text:{flex:"1 1 auto",minWidth:0,display:"flex",flexDirection:"column",gap:2},name:{...P(e,"bold"),fontSize:o.size.body+1,lineHeight:`${o.size.body+4}px`,color:t.text.primary,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},meta:{...P(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:xn,padding:`${r.xs}px ${r.sm}px`,background:"none",border:"none",borderRadius:n.lg,cursor:"pointer",textAlign:"left"},addDisc:{boxSizing:"border-box",width:Tn,height:Tn,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:{...P(e,"bold"),fontSize:o.size.body,color:t.text.primary},close:{boxSizing:"border-box",alignSelf:"center",minHeight:xn,minWidth:xn,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",...P(e,"medium"),fontSize:o.tierSizes.control.body}}}i(gv,"makeStyles");var br=35,Qd=1.75,Oi=br-Qd*2,Wd=12.4,Kd=36,Gd=20,qd=9,vv=1.5,at=44,Zd=28,Ev=160;function Jd(e){let{pets:t,activePet:r,unread:n,onOpenHistory:o,historyTriggerRef:a,onSelectPet:s,onAddPet:l=null,vetEntry:u=null}=e,{rail:d=false,historyOpen:c=false,onNewChat:p}=e,f=N(),m=useMemo(()=>Rv(f),[f]),y=jsxs("div",{style:m.historyControls,children:[p!==void 0?jsx("button",{type:"button",onClick:p,"aria-label":W.newChat,style:m.menuButton,children:jsx(z,{name:"squarePen",size:Gd,color:f.color.text.primary})}):null,jsx("button",{ref:a,type:"button",onClick:o,"aria-label":n?h.openMenuUnread:h.openMenu,"aria-expanded":c,style:m.menuButton,children:jsxs("span",{"aria-hidden":"true",style:m.menuDisc,children:[jsx(z,{name:"history",size:Gd,color:f.color.text.primary}),n?jsx("span",{style:m.unreadDot}):null]})})]});return jsxs("header",{style:m.bar,children:[d?null:y,jsx("div",{style:m.centre,children:jsx(Cv,{logoUrl:f.meta.logoUrl,name:f.meta.displayName,styles:m})}),u!==null?jsx("button",{type:"button",onClick:u,style:m.vetEntry,children:jd.visitButton}):null,jsx(Sv,{pets:t,activePet:r,styles:m,onSelectPet:s,onAddPet:l}),d?y:null]})}i(Jd,"ChatHeader");function Cv({logoUrl:e,name:t,styles:r}){let[n,o]=useState(null);return e===null||n===e?null:jsx("img",{src:e,alt:t,height:Zd,style:r.logo,decoding:"async",referrerPolicy:"no-referrer",onError:()=>o(e)})}i(Cv,"BrandLogo");function Sv({pets:e,activePet:t,styles:r,onSelectPet:n,onAddPet:o}){let[a,s]=useState(false),l=useRef(null),u=t?.name?.trim()||h.yourPet;return e.length<2&&o===null||t===null?jsx("div",{role:"img","aria-label":u,style:r.avatarSlot,children:jsx(Yd,{pet:t,styles:r})}):jsxs("div",{style:r.avatarSlot,children:[jsxs("button",{ref:l,type:"button","aria-haspopup":"dialog","aria-expanded":a,"aria-label":K(h.switchActivePet,{name:u}),onClick:()=>s(true),style:r.avatarButton,children:[jsx(Yd,{pet:t,styles:r}),jsx("span",{"aria-hidden":"true",style:r.addBadge,children:jsx("span",{style:r.addBadgeGlyph,children:"+"})})]}),jsx($d,{open:a,pets:e,activePetRef:t.petRef,returnFocusTo:l,onClose:()=>s(false),onSelect:d=>{s(false),n(d);},onAddPet:o===null?null:()=>{s(false),o();}})]})}i(Sv,"PetAvatarSlot");function Yd({pet:e,styles:t}){let r=e===null?null:Rn(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?Ii(null):r.initial})})}i(Yd,"AvatarRing");function Rv(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",...P(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:at,minHeight:at,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:Kd,height:Kd,borderRadius:n.pill,display:"inline-flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4},historyControls:{display:"flex",flexDirection:"row",alignItems:"center",flexShrink:0},unreadDot:{position:"absolute",top:6,right:6,boxSizing:"border-box",width:qd,height:qd,borderRadius:n.pill,backgroundColor:t.danger,border:`${vv}px solid ${t.surfaceCream}`},centre:{flex:"1 1 auto",minWidth:0,display:"flex",alignItems:"center",justifyContent:"center"},logo:{display:"block",height:Zd,width:"auto",maxWidth:Ev,objectFit:"contain"},avatarSlot:{position:"relative",minWidth:at,minHeight:at,display:"inline-flex",alignItems:"center",justifyContent:"center"},avatarButton:{position:"relative",boxSizing:"border-box",minWidth:at,minHeight:at,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:0,border:0,background:"transparent",cursor:"pointer"},ring:{boxSizing:"border-box",width:br,height:br,borderRadius:n.pill,border:`${Qd}px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:Oi,height:Oi,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...P(e,"bold"),fontSize:Math.round(Oi*.42),lineHeight:1,textTransform:"uppercase"},discEmpty:{backgroundColor:t.surfaceSubtle,color:t.text.muted},addBadge:{position:"absolute",bottom:(at-br)/2,right:(at-br)/2,boxSizing:"border-box",width:Wd,height:Wd,borderRadius:n.pill,border:`0.5px solid ${t.success}`,backgroundColor:t.surface,display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},addBadgeGlyph:{...P(e,"bold"),fontSize:o.tierSizes.badge.small,lineHeight:1,color:t.brandInk}}}i(Rv,"makeStyles");var ec=Object.freeze({kind:"static"}),tc=createContext(ec);function rc(){return useContext(tc)}i(rc,"useCitationLinks");function _v(e){return useMemo(()=>e===void 0?ec:Object.freeze({kind:"host",open:i(t=>{se(e,t,"citation");},"open")}),[e])}i(_v,"useCitationLinkMode");function nc({onOpenUrl:e,children:t}){let r=_v(e);return createElement(tc.Provider,{value:r},t)}i(nc,"CitationLinksScope");function wv(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(wv,"slotBox");function oc(e){return e===void 0||e.backgroundColor!==void 0?e:e.borderRadius===void 0?void 0:{borderRadius:e.borderRadius}}i(oc,"ownGroundSlot");function be(e){return e?.textColor===void 0?{}:{color:e.textColor}}i(be,"slotText");function Se(e,t){let r=wv(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");var ic=2;function Fi(e){return typeof e!="number"||!Number.isInteger(e)?ic:e<1?1:e>6?6:e}i(Fi,"headingLevel");function Av(e){return e>=6?6:e+1}i(Av,"nextHeadingLevel");function ac(e){return `h${String(e)}`}i(ac,"headingTag");var Ov=Av(ic);createContext(Ov);var Er=320,Hv=480,Uv=Er+Hv,zv=1024,Di=768,sc="72ch",Li=Object.freeze({rail:false,desktop:false}),Bv=Object.freeze({rail:true,desktop:false}),jv=Object.freeze({rail:true,desktop:true});function Vv(e){return e===null||e<Uv?Li:e>=zv?jv:Bv}i(Vv,"layoutFor");var Pn=createContext({layout:Li,report:i(()=>{},"report"),headingLevel:Fi(void 0)});function _n(){return useContext(Pn).layout}i(_n,"useChatLayout");function lc(){return useContext(Pn).headingLevel}i(lc,"useChatHeadingLevel");function uc({children:e,headingLevel:t}){let[r,n]=useState(Li),o=Fi(t),a=useMemo(()=>({layout:r,report:n,headingLevel:o}),[r,o]);return createElement(Pn.Provider,{value:a},e)}i(uc,"ChatLayoutScope");function dc(e){let{report:t}=useContext(Pn);useEffect(()=>{let r=e.current;if(r===null||typeof ResizeObserver>"u")return;let n=i(()=>{let a=r.getBoundingClientRect().width;t(Vv(a>0?Math.round(a):null));},"read");n();let o=new ResizeObserver(n);return o.observe(r),()=>o.disconnect()},[e,t]);}i(dc,"useMeasuredLayout");var Ni=Object.freeze({standard:vt.standard,emphasized:vt.emphasized,exit:vt.exit,outQuad:Object.freeze([.25,.46,.45,.94])}),Hi=sr,cc=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}),$v=Object.freeze({...cc,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 pc(e){return e.motion.reducedMotion?$v:cc}i(pc,"chatMotion");function fc(e,t){return Math.max(0,t)*e.followUpStaggerMs}i(fc,"followUpDelayMs");function mc(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(mc,"nextRevealLength");function Q(){let e=N();return useMemo(()=>pc(e),[e])}i(Q,"useChatMotion");function Ht(e){return e!==null&&typeof e.animate=="function"}i(Ht,"canAnimate");function Re(e,t){if(!Ht(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:Hi(Ni.standard),fill:"backwards"})}catch{return null}}i(Re,"animateEnter");function Ui(e,t,r){if(!Ht(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:Hi(Ni.exit),fill:"forwards"});return new Promise(o=>{n.onfinish=()=>o(),n.oncancel=()=>o();})}catch{return Promise.resolve()}}i(Ui,"animateExit");function zi(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(zi,"usePresence");function hc(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=>mc(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(hc,"useRevealedText");var Ne=44,Xv="85%",Bi={y:16,blur:48,alpha:.18},Qv=.32,Zv=36,bc=8,ji=1.5,Jv=.08,eE="50%";function Ec({chat:e,history:t,mode:r,returnFocusTo:n}){let o=N(),a=r==="rail"?"brand":"surface",s=useMemo(()=>nE(o,a),[o,a]),l=Q(),u=qe(r==="dialog"&&t.open,t.close,n),d=useRef(null),c=t.open,p=l.drawerMs;if(useEffect(()=>{if(!c||r!=="dialog")return;let m=Re(d.current,{durationMs:p,fromOpacity:0,fromTranslateX:"-100%"});return ()=>m?.cancel()},[c,r,p]),!c)return null;let f=jsx(tE,{chat:e,history:t,styles:s,theme:o,ink:a==="brand"?o.color.onPrimary:o.color.brandInk});return r==="rail"?jsx("aside",{ref:m=>{d.current=m;},"aria-label":W.heading,"data-ef-focus-ring-color":o.color.onPrimary,style:s.rail,children:f}):jsx("div",{style:s.scrim,onClick:t.close,children:jsx("div",{ref:m=>{u.dialogRef.current=m,d.current=m;},role:"dialog","aria-modal":"true","aria-label":W.heading,tabIndex:-1,onKeyDown:u.onKeyDown,onClick:m=>m.stopPropagation(),style:s.overlay,children:f})})}i(Ec,"HistoryDrawer");function tE({chat:e,history:t,styles:r,theme:n,ink:o}){let{filtered:a,loading:s,loadingMore:l,error:u,cursor:d,emptyKind:c,searching:p,query:f,setQuery:m}=t,y=!s&&u===null,[R,b]=useState(false);return jsxs(Fragment,{children:[jsxs("div",{style:r.toolbar,children:[jsxs("label",{style:{...r.searchPill,...R?yi(o):null},children:[jsx(z,{name:"search",size:16,color:n.color.text.muted}),jsx("input",{type:"search",value:f,onChange:C=>m(C.target.value),onFocus:()=>b(true),onBlur:()=>b(false),"data-ef-focus-ring":"self","aria-label":W.search,placeholder:W.search,autoComplete:"off",style:r.searchInput})]}),jsx("button",{type:"button",onClick:t.newConversation,"aria-label":W.newChat,style:r.roundControl,children:jsx(z,{name:"squarePen",size:16,color:n.color.brandInk})}),jsx("button",{type:"button",onClick:t.close,"aria-label":W.closeA11y,style:r.roundControl,children:jsx(z,{name:"x",size:16,color:n.color.brandInk})})]}),jsx("p",{style:r.heading,children:W.heading}),s?jsx("p",{role:"status",style:r.state,children:W.loading}):null,u!==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&&a.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&&a.length>0?jsx(rE,{rows:a,activeId:e.conversationId,onSelect:C=>{t.resume(C);},styles:r,canLoadMore:d!==null&&!p&&!l,onLoadMore:t.loadMore}):null,l?jsx("p",{role:"status",style:r.state,children:W.loadingMore}):null]})}i(tE,"PanelBody");function rE({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 d=useCallback(c=>{s.current=c;},[]);return useEffect(()=>{let c=s.current;if(!l||!o||c===null)return;let p=new IntersectionObserver(f=>{f.some(m=>m.isIntersecting)&&u.current();},{rootMargin:eE});return p.observe(c),()=>p.disconnect()},[l,o,e.length]),jsxs("ul",{style:n.list,children:[e.map(c=>{let p=c.unreadCount!==null&&c.unreadCount>0,f=c.id===t;return jsx("li",{children:jsxs("button",{type:"button","aria-label":Yu(c),"aria-current":f?"true":void 0,onClick:()=>r(c.id),style:{...n.row,...f?n.rowActive:null},children:[jsx("span",{style:{...n.rowTitle,...p?n.rowTitleUnread:null},children:un(c.title)}),p?jsx("span",{"aria-hidden":"true",style:n.unreadDot}):null]})},c.id)}),o?jsx("li",{ref:d,style:n.sentinel,children:l?null:jsx("button",{type:"button",onClick:a,style:n.textControl,children:W.more})}):null]})}i(rE,"RowList");function nE(e,t){let r=e.color,n=e.space,o=e.radius,a=e.type,s=t==="brand",l=s?r.onPrimary:r.text.primary,u={boxSizing:"border-box",display:"flex",flexDirection:"column",gap:n.md,padding:`${n.lg}px ${n.lg}px ${n.lg}px`,backgroundColor:s?r.brand:r.surface,color:l,overflowY:"auto"},d={boxSizing:"border-box",minHeight:Ne,minWidth:Ne,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:`0 ${n.md}px`,borderRadius:o.pill,border:`1px solid ${l}`,background:"transparent",color:l,cursor:"pointer",...P(e,"medium"),fontSize:a.tierSizes.control.body};return {rail:{...u,flex:`0 0 ${Er}px`,width:Er,minHeight:0,borderRadius:`${o.lg}px 0 0 ${o.lg}px`},scrim:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden",zIndex:1,backgroundColor:$e(r.shadow,Qv)??"transparent"},overlay:{...u,position:"absolute",top:0,bottom:0,left:0,margin:0,width:Er,maxWidth:Xv,border:0,borderRadius:0,boxShadow:`0 ${Bi.y}px ${Bi.blur}px ${$e(r.brand,Bi.alpha)??"transparent"}`,outline:"none"},toolbar:{display:"flex",flexDirection:"row",alignItems:"center",gap:n.sm},searchPill:{flex:"1 1 auto",minWidth:0,minHeight:Ne,display:"flex",flexDirection:"row",alignItems:"center",gap:n.sm,padding:`0 ${n.md+2}px`,borderRadius:o.pill,boxSizing:"border-box",...s?{backgroundColor:r.surface,border:`1px solid ${r.onPrimary}`}:{backgroundColor:r.surfaceCream,border:`1px solid ${r.brandBorderStrong}`},color:r.text.primary},searchInput:{boxSizing:"border-box",flex:"1 1 auto",minWidth:0,minHeight:Ne,margin:0,padding:0,border:0,outline:"none",background:"transparent",...P(e,"regular"),fontSize:a.size.bodyTight,lineHeight:`${a.size.bodyTight+3}px`,color:r.text.primary},roundControl:{boxSizing:"border-box",flexShrink:0,width:Ne,height:Ne,minWidth:Ne,minHeight:Ne,margin:0,padding:(Ne-Zv)/2,border:0,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer",backgroundClip:"content-box",backgroundColor:s?r.surface:r.brandSoft,borderRadius:o.pill},heading:{margin:0,...P(e,"bold"),fontSize:a.tierSizes.heading.body,lineHeight:`${a.tierSizes.heading.body+3}px`,color:l},state:{margin:0,...P(e,"regular"),fontSize:a.size.body,lineHeight:`${a.size.body+4}px`,color:l},stateBody:{margin:0,...P(e,"regular"),fontSize:a.size.caption,lineHeight:`${a.size.caption+4}px`,color:l,opacity:.8},stateBlock:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:n.sm},textControl:d,retryControl:{...d,...Se(e.slots.primaryButton),...be(e.slots.primaryButton)},list:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column"},row:{boxSizing:"border-box",width:"100%",minHeight:Ne,display:"flex",flexDirection:"row",alignItems:"center",gap:n.sm,margin:0,padding:`${n.md}px ${n.xs}px`,border:0,borderRadius:o.sm,background:"transparent",color:l,textAlign:"left",cursor:"pointer",font:"inherit"},rowActive:{backgroundColor:$e(l,Jv)??"transparent"},rowTitle:{flex:"1 1 auto",minWidth:0,...P(e,"regular"),fontSize:a.size.body,lineHeight:`${a.size.body+4}px`,color:l,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},rowTitleUnread:P(e,"bold"),unreadDot:{boxSizing:"border-box",flexShrink:0,width:bc+ji*2,height:bc+ji*2,borderRadius:o.pill,backgroundColor:r.danger,border:`${ji}px solid ${s?r.brand:r.surface}`},sentinel:{minHeight:1,display:"flex",justifyContent:"center",padding:`${n.xs}px 0`}}}i(nE,"makeStyles");var Ye=44,Ut=22,aE=12,sE=20,lE=13,uE=16,dE=.75;function Sc({surface:e,vetEntry:t,renderVetAction:r,onFindVet:n}){let o=N(),a=useMemo(()=>mE(o),[o]),s=Q(),l=zi(e.showBanner,s.bannerOutMs),u=zi(e.showCompactIcon,s.iconOutMs);return jsxs(Fragment,{children:[l.present&&e.tier!==null&&e.source!==null?jsx(cE,{surface:e,exiting:l.exiting,styles:a,action:e.showVetAction?jsx(pE,{tier:e.tier,styles:a,vetEntry:t,renderVetAction:r,onFindVet:n}):null},e.signature??"banner"):null,u.present?jsx(fE,{exiting:u.exiting,onExpand:e.expand,styles:a}):null]})}i(Sc,"UrgencyBanner");function cE({surface:e,exiting:t,styles:r,action:n}){let o=useRef(null),a=Q();useEffect(()=>{let d=Re(o.current,{durationMs:a.bannerInMs,fromOpacity:0});return ()=>d?.cancel()},[a.bannerInMs]),useEffect(()=>{t&&Ui(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??h.close,style:r.dismissHit,children:jsx("span",{"aria-hidden":"true",style:r.dismissDisc,children:jsx(z,{name:"x",size:aE,color:s.textColor,strokeWidth:2.25})})})]})}i(cE,"Banner");function pE({tier:e,styles:t,vetEntry:r,renderVetAction:n,onFindVet:o}){let a=N(),s=e.level,l=r.available?r.open:o!==void 0?()=>{se(o,s);}:null,u=oc(a.slots.vetVisitButton),d=u?.textColor??e.textColor,c=l===null?null:jsxs("button",{type:"button",onClick:l,"aria-label":h.findVetA11y,style:{...t.pill,borderColor:e.borderColor,backgroundColor:e.pillColor,color:e.textColor,...Se(u),...be(u)},children:[jsx(z,{name:"mapPin",size:lE,color:d}),jsx("span",{children:h.findVet})]});return n!==void 0?jsx("div",{style:t.actionRow,children:jsx(xt,{render:()=>n(s),fallback:c,resetKey:s})}):c===null?null:jsx("div",{style:t.actionRow,children:c})}i(pE,"VetAction");function fE({exiting:e,onExpand:t,styles:r}){let n=useRef(null),o=Q(),a=N();return useEffect(()=>{let s=Re(n.current,{durationMs:o.iconInMs,fromOpacity:0});return ()=>s?.cancel()},[o.iconInMs]),useEffect(()=>{e&&Ui(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":h.showLatestVetAlert,style:r.iconButton,children:jsx(z,{name:"info",size:sE,color:a.color.text.muted})})})}i(fE,"CompactIcon");function mE(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:uE,borderStyle:"solid",borderWidth:dE,display:"flex",flexDirection:"column",gap:2},label:{margin:0,paddingRight:Ut,...P(e,"monoBold"),fontSize:o.caption,lineHeight:`${o.caption+3}px`},reason:{margin:0,paddingRight:Ut,...P(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:Ye,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",...P(e,"monoBold"),fontSize:a.caption,lineHeight:`${a.caption+3}px`},dismissHit:{position:"absolute",top:6-(Ye-Ut)/2,right:6-(Ye-Ut)/2,boxSizing:"border-box",width:Ye,height:Ye,minWidth:Ye,minHeight:Ye,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},dismissDisc:{boxSizing:"border-box",width:Ut,height:Ut,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:Ye,minHeight:Ye,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"}}}i(mE,"makeStyles");var Ac=300,Rc=120,In=44,Qi=120,hE="12%",bE=480,vE=18,EE="min(75%, 34rem)",CE="lg",SE=15,RE=22,xE=17,TE=28,Wi="-0.005em";var Ki=1,Gi={y:2,blur:8,alpha:.04},kE=.6,PE="md",xc="xs",Tc="lg",_E="xl",wE=60,qi=1,IE="xs",AE=14,Yi={y:1,blur:2,alpha:.08},OE=52,kc=16,Pc=26,_c="-0.01em",Xi=36,Oc=24,Fc=22,FE=.4,ME=.5;var wc=24,DE=3,Mc=900,Dc=20,LE=14,NE="0.09em",HE=22;function xe(e,t){return Math.round(e*t*10)/10}i(xe,"scaledPx");function fe(){let e=N(),{desktop:t}=_n(),r=useMemo(()=>UE(e,t),[e,t]);return {theme:e,styles:r}}i(fe,"useChatTheme");function Ic(e){return `max(${e}px, calc((100% - ${Di}px) / 2))`}i(Ic,"columnInset");function UE(e,t){let r=e.color,n=e.space,o=e.radius,a=e.type,s=e.slots,l=ti(a.family),u=n[CE],d=t?xE:SE,c=t?TE:RE,p=a.tierSizes.control,f=a.tierSizes.compact,m={boxSizing:"border-box",minHeight:In,minWidth:In,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,border:0,cursor:"pointer",...P(e,"medium"),fontSize:p.body,lineHeight:`${Math.round(p.body*a.lineHeight.normal)}px`};return {container:{...Mt,boxSizing:"border-box",position:"relative",display:"flex",flexDirection:"column",minHeight:Rc,height:"100%",backgroundColor:r.chatGround,color:r.text.primary,fontFamily:l},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:Rc,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:n.xl},spinner:{boxSizing:"border-box",width:wc,height:wc,borderRadius:o.pill,border:`${DE}px solid ${r.brandSofter}`,borderTopColor:r.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:bE,paddingTop:hE,paddingLeft:n.lg,paddingRight:n.lg,paddingBottom:n.lg,gap:vE},errorText:{margin:`0 0 ${n.md}px`,...P(e,"regular"),fontSize:a.size.subtitle,lineHeight:`${Math.round(a.size.subtitle*a.lineHeight.snug)}px`,color:r.danger,textAlign:"center"},retryButton:{...m,padding:`${n.sm}px ${n.xl}px`,borderRadius:o.pill,backgroundColor:r.brand,color:r.onPrimary,...Se(s.primaryButton),...be(s.primaryButton)},setupNotice:{boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"space-between",gap:n.sm,padding:`${n.sm}px ${n.lg}px`,backgroundColor:r.surfaceCream},setupNoticeText:{...P(e,"regular"),fontSize:a.size.caption,color:r.danger},setupNoticeAction:{...m,padding:0,background:"none",border:"none",color:r.brandInk,fontSize:a.size.caption,minHeight:In},turnNotice:{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:n.xs,padding:n.md,borderRadius:o.lg,backgroundColor:r.surfaceCream,border:`1px solid ${r.brandBorder}`},turnNoticeError:{border:`1px solid ${r.danger}`},turnNoticeTitle:{...P(e,"bold"),margin:0,fontSize:a.size.body,color:r.text.primary},turnNoticeTitleError:{color:r.danger},reconnectingCaption:{...P(e,"medium"),margin:0,fontSize:a.size.caption,color:r.text.secondary,textTransform:"uppercase",letterSpacing:"0.5px"},turnNoticeBody:{...P(e,"regular"),margin:0,fontSize:a.size.caption,color:r.text.secondary},turnNoticeAction:{...m,padding:0,background:"none",border:"none",color:r.brandInk,fontSize:a.size.body,minHeight:In},earlierButton:{...m,alignSelf:"center",padding:`0 ${n.md+n.xs/2}px`,backgroundColor:"transparent",color:r.linkInk,...P(e,"monoBold"),fontSize:f.tiny,lineHeight:`${Math.round(f.tiny*a.lineHeight.snug)}px`,letterSpacing:ME,textTransform:"uppercase"},list:{boxSizing:"border-box",flex:"1 1 auto",minHeight:0,overflowY:"auto",display:"flex",flexDirection:"column",gap:n[Tc],paddingTop:n.lg,paddingBottom:n.lg,paddingLeft:Ic(n.lg),paddingRight:Ic(n.lg)},messageList:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:n[Tc]},row:{display:"flex",flexDirection:"column"},rowUser:{alignItems:"flex-end"},rowAssistant:{alignItems:"flex-start"},bubble:{boxSizing:"border-box",maxWidth:EE,paddingTop:u,paddingBottom:u,paddingLeft:u,paddingRight:u,borderRadius:o[PE],position:"relative"},bubbleUser:{backgroundColor:r.bubbleUser,borderBottomRightRadius:o[xc],boxShadow:`0 ${Gi.y}px ${Gi.blur}px ${$e(r.brand,Gi.alpha)??r.brandSoft}`,...Se(s.userBubble,Ki)},bubbleAssistant:{...s.assistantBubble?.backgroundColor===void 0?{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:n[_E],maxWidth:`min(100%, ${sc})`}:{},...Se(s.assistantBubble,Ki)},bubbleVet:{backgroundColor:r.bubbleVet,borderBottomLeftRadius:o[xc],...Se(s.vetBubble,Ki)},bubblePending:{opacity:kE},bubbleTextUser:{margin:0,...P(e,"medium"),color:r.onPrimary,fontSize:xe(d,a.scale),lineHeight:`${xe(c,a.scale)}px`,letterSpacing:Wi,whiteSpace:"pre-wrap",overflowWrap:"anywhere",...be(s.userBubble)},bubbleTextAssistant:{margin:0,...P(e,"medium"),color:r.text.primary,fontSize:xe(d,a.scale),lineHeight:`${xe(c,a.scale)}px`,letterSpacing:Wi,whiteSpace:"pre-wrap",overflowWrap:"anywhere",...be(s.assistantBubble)},bubbleTextVet:{margin:0,...P(e,"medium"),color:r.onBubbleVet,fontSize:xe(d,a.scale),lineHeight:`${xe(c,a.scale)}px`,letterSpacing:Wi,whiteSpace:"pre-wrap",overflowWrap:"anywhere",...be(s.vetBubble)},vetSender:{margin:`0 0 ${n.xs}px`,...P(e,"bold"),color:r.onBubbleVet,fontSize:a.size.caption,lineHeight:`${Math.round(a.size.caption*a.lineHeight.normal)}px`,overflowWrap:"anywhere",...be(s.vetBubble)},bubbleBold:P(e,"bold"),bubbleItalic:{fontStyle:"italic"},bubbleCode:P(e,"mono"),followUps:{boxSizing:"border-box",marginTop:n.sm},followUpsLabel:{margin:`0 0 ${n.xs}px`,...P(e,"monoBold"),color:r.text.secondary,fontSize:f.tiny,lineHeight:`${LE}px`,letterSpacing:NE,textTransform:"uppercase"},followUpList:{listStyle:"none",margin:0,padding:0},followUpRow:{...m,width:"100%",justifyContent:"flex-start",textAlign:"left",padding:`${n.sm}px ${n.md}px ${n.sm}px 0`,background:"transparent",color:r.text.primary,...P(e,"regular"),fontSize:a.size.body,lineHeight:`${xe(HE,a.scale)}px`,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},followUpDivider:{borderTop:`1px solid ${r.brandBorder}`},composerBlock:{display:"flex",flexDirection:"column"},composerError:{margin:`${n.xs}px ${n.md}px 0`,...P(e,"regular"),fontSize:a.size.caption,lineHeight:`${Math.round(a.size.caption*a.lineHeight.normal)}px`,color:r.danger},composer:{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center",gap:AE,minHeight:wE,width:`calc(100% - ${n.md*2}px)`,maxWidth:Di,margin:`${n.xs}px auto ${n.sm}px`,padding:n[IE],backgroundColor:r.chatGround,border:`${qi}px solid ${r.composerBorder}`,borderRadius:o.pill,boxShadow:`0 ${Yi.y}px ${Yi.blur}px ${$e(r.brand,Yi.alpha)??r.brandSoft}`,...Se(s.composerInput,qi)},composerFocused:{border:`${qi}px solid ${s.composerInput?.borderColor??r.brandInk}`,outline:`${yr}px solid ${r.brandInk}`,outlineOffset:yr},inputWrap:{position:"relative",flex:"1 1 auto",minWidth:0,minHeight:xe(OE,a.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",...P(e,"regular"),fontSize:xe(kc,a.scale),lineHeight:`${xe(Pc,a.scale)}px`,letterSpacing:_c,color:r.text.placeholder,...be(s.composerInput)},input:{boxSizing:"border-box",flex:"1 1 auto",width:"100%",maxHeight:Qi,margin:0,padding:0,border:0,outline:"none",resize:"none",background:"transparent",...P(e,"regular"),fontSize:xe(kc,a.scale),lineHeight:`${xe(Pc,a.scale)}px`,letterSpacing:_c,color:r.text.primary,...be(s.composerInput)},iconControl:{...m,flexShrink:0,padding:0,borderRadius:o.pill,background:"transparent",color:r.brandInk},actionButton:{...m,flexShrink:0,padding:0,backgroundColor:"transparent"},sendDisc:{boxSizing:"border-box",width:Xi,height:Xi,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:Xi/2,...Se(s.sendButton)},actionButtonDisabled:{opacity:FE,cursor:"not-allowed"},poweredBy:{margin:0,padding:`0 0 ${n.xs}px`,...P(e,"regular"),color:r.text.muted,fontSize:f.micro,lineHeight:`${Math.round(f.micro*a.lineHeight.normal)}px`,textAlign:"center"}}}i(UE,"makeStyles");var zE=Object.freeze({kind:"live"}),BE=Object.freeze({kind:"folded"});function Lc(e){if(e.role!=="assistant"||e.checkin===void 0)return null;let t=e.checkin.caseId,r=fo(e.proactiveOriginRef);return {caseId:t,dueDay:r!==null&&r.caseId===t?r.dueDay:""}}i(Lc,"askOf");function Nc(e){let t=new Map,r=new Map;for(let o of e){let a=Lc(o);if(a===null)continue;let s=r.get(a.caseId);(s===void 0||a.dueDay>=s.dueDay)&&r.set(a.caseId,{messageId:o.id,dueDay:a.dueDay});}if(r.size===0)return t;let n=null;for(let o of e){let a=Lc(o);if(a===null){n=null;continue}if(r.get(a.caseId)?.messageId===o.id){t.set(o.id,zE),n=null;continue}if(n!==null&&n.caseId===a.caseId){n.days.push(a.dueDay),t.set(o.id,BE);continue}let s=[a.dueDay];n={id:o.id,caseId:a.caseId,days:s},t.set(o.id,{kind:"past",runDueDays:s});}return t}i(Nc,"placeCheckins");function Hc(e){let t=new Set;for(let[r,n]of e)n.kind==="live"&&t.add(r);return t}i(Hc,"liveCheckinIds");var zt=44,Bt=56,Uc=12,An=22,zc=18,VE=2,$E=900,Bc=220,WE=14,jc=100,KE=10,GE=6,qE=.45,YE="rgba(7,193,104,0.55)",XE="rgba(185,28,28,0.55)",Wc=Object.freeze([]);function Kc({attachments:e,onRetry:t,onRemove:r,onPreview:n}){let o=N(),a=useMemo(()=>qc(o),[o]);return e.length===0?null:jsx("ul",{style:a.tray,children:e.map(s=>jsx("li",{style:a.cardSlot,children:jsx(QE,{row:s,styles:a,theme:o,onRetry:t,onRemove:r,onPreview:n})},s.id))})}i(Kc,"AttachmentTray");function QE({row:e,styles:t,theme:r,onRetry:n,onRemove:o,onPreview:a}){let s=Q(),l=useRef(null),[u,d]=useState(false),c=useRef(e.status==="uploading");useEffect(()=>{if(e.status==="uploaded"&&c.current){d(true);let f=setTimeout(()=>d(false),s.uploadFlashMs);return c.current=false,()=>clearTimeout(f)}c.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":K(h.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":K(h.previewAttachment,{filename:e.filename}),style:{...t.wash,backgroundColor:$e(r.color.brandInk,qE)??r.color.brandSofter},children:jsx(ZE,{styles:t})}):null,e.status==="uploaded"&&u?jsx("div",{"aria-hidden":"true",style:{...t.wash,backgroundColor:YE}}):null,e.status==="failed"?jsx("button",{type:"button","aria-label":K(h.retryUpload,{filename:e.filename}),onClick:()=>n(e.id),style:{...t.wash,...t.retry,backgroundColor:XE},children:jsx(z,{name:"upload",size:18,color:"#FFFFFF"})}):null,jsx("button",{type:"button","aria-label":K(h.removeAttachment,{filename:e.filename}),onClick:()=>o(e.id),style:t.removeHit,children:jsx("span",{"aria-hidden":"true",style:t.removeDisc,children:jsx(z,{name:"x",size:12,color:r.color.surface,strokeWidth:2.5})})})]})}i(QE,"TrayCard");function ZE({styles:e}){let t=Q(),r=useRef(null);return useEffect(()=>{let n=r.current;if(t.reduced||!Ht(n))return;let o=n.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:$E,iterations:1/0,easing:"linear"});return ()=>o.cancel()},[t.reduced]),jsx("span",{ref:r,"aria-hidden":"true",style:e.spinner})}i(ZE,"Spinner");function Gc({images:e,onPreview:t}){let r=N(),n=useMemo(()=>qc(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(JE,{image:a,style:o?n.singleImage:n.gridImage,onPreview:t})},`${a.uri}-${s}`))})}i(Gc,"MessageAttachments");function JE({image:e,style:t,onPreview:r}){let n=useRef(null);return jsx("button",{ref:n,type:"button","aria-label":K(h.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(JE,"ImageButton");function qc(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:Bt,height:Bt},previewButton:{...o,width:Bt,height:Bt,borderRadius:Uc,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:Uc,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},retry:{pointerEvents:"auto",margin:0,padding:0,border:0,cursor:"pointer",minWidth:Bt,minHeight:Bt},spinner:{boxSizing:"border-box",display:"block",width:zc,height:zc,borderRadius:n.pill,border:`${VE}px solid rgba(255,255,255,0.45)`,borderTopColor:"#FFFFFF"},removeHit:{position:"absolute",top:4-(zt-An)/2,right:4-(zt-An)/2,boxSizing:"border-box",width:zt,height:zt,minWidth:zt,minHeight:zt,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},removeDisc:{boxSizing:"border-box",width:An,height:An,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:GE},singleImage:{...o,width:Bc,height:Bc,maxWidth:"100%",borderRadius:WE},gridImage:{...o,width:jc,height:jc,borderRadius:KE}}}i(qc,"makeStyles");var jt=Object.freeze({eyebrow:"Checking in",logged:"Logged",findVet:"Find a vet now",day:"Day {day}",daySeparator:" \xB7 ",answers:Object.freeze({better:"Better",same:"Same",worse:"Worse"})}),Yc=Object.freeze(Nr.map(e=>Object.freeze({answer:e,label:jt.answers[e]})));function Xc(e,t){let[r,n]=useState(null),[o,a]=useState(null),[s,l]=useState(null),u=useCallback(c=>{t!==null&&(n(c),a(null),t(e.caseId,c).then(p=>{n(null),p.ok?l(c):a(p.error);}));},[t,e.caseId]),d=s??e.answer;return {answer:d,answerable:!Cs(e),escalated:d==="worse",pending:r,error:o,choose:u}}i(Xc,"useCheckinCard");var Qc=44,nC=.6;function Zc({message:e,checkin:t,onAnswer:r,onFindVet:n}){let o=N(),a=useMemo(()=>oC(o),[o]),s=Xc(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":jt.eyebrow,"aria-busy":s.pending!==null?true:void 0,style:a.card,children:[jsx("p",{style:a.eyebrow,children:jt.eyebrow}),jsx("p",{style:a.question,children:e.text}),u?jsx("div",{style:{...a.answers,...s.pending?a.answersPending:null},children:Yc.map(({answer:d,label:c})=>{let p=(s.pending??s.answer)===d;return jsx("button",{type:"button",onClick:()=>s.choose(d),disabled:l,"aria-pressed":p,style:{...a.pill,...p?a.pillSelected:null},children:c},d)})}):null,s.answer!==null?jsx("p",{style:a.logged,children:jt.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:jt.findVet}):null,s.error?jsx("p",{role:"alert",style:a.error,children:s.error.displayMessage}):null]})})}i(Zc,"CheckinCard");function oC(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=P(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:nC},pill:{...s,fontSize:u.body,lineHeight:`${Math.round(u.body*o.lineHeight.normal)}px`,boxSizing:"border-box",flex:1,minHeight:Qc,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:Qc,borderRadius:n.pill,border:`1.5px solid ${t.brandBorder}`,backgroundColor:t.surface,color:t.brandInk,cursor:"pointer",...P(e,"bold"),fontSize:o.size.body}}}i(oC,"makeStyles");var aC=Object.freeze({TIER_1:"#07C168",TIER_2:"#27A9FF",TIER_3:"#FBC558"}),Jc="#C8BEB4";function sC(e){return e?aC[e.toUpperCase()]??Jc:Jc}i(sC,"tierColor");function lC(e){if(!e)return null;let t=/^tier[_\s-]?(\d+)$/i.exec(e.trim());return t?`Tier ${t[1]}`:e}i(lC,"tierLabel");function He(e){if(typeof e!="string")return null;let t=e.trim();return t.length===0?null:t}i(He,"text");function uC(e){let t=He(e);return t!==null&&/^https:\/\/\S+$/i.test(t)?t:null}i(uC,"httpsUrl");function dC(e,t){let r=He(e.source_name)??He(e.sourceName),n=He(e.section),o=He(e.authority_tier)??He(e.authorityTier),a=lC(o),s=r??He(e.title)??`Source ${t+1}`,l=He(e.monograph_chunk_id)??He(e.chunkId),u=[n,a].filter(d=>d!==null).join(" \xB7 ");return Object.freeze({title:s,sourceName:r,section:n,authorityTier:o,tierLabel:a,meta:u.length===0?null:u,url:uC(e.url),excerpt:He(e.excerpt),tierColor:sC(o),key:`${s}-${l??"none"}-${t}`})}i(dC,"toCitationCard");function ep(e){return e===void 0||e.length===0?cC:Object.freeze(e.map((t,r)=>dC(t,r)))}i(ep,"toCitationCards");var cC=Object.freeze([]);function Ji(e){return e===1?`1 ${h.sourceSingular}`:`${e} ${h.sourcePlural}`}i(Ji,"sourcesLabel");function tp(e,t){return `${t?h.hideSources:h.showSources} ${Ji(e)}`}i(tp,"sourcesToggleLabel");function rp(e){return [e.url!==null?`${h.openSource}: ${e.title}`:e.title,e.meta,e.excerpt].filter(t=>t!==null&&t.length>0).join(". ")}i(rp,"citationA11yLabel");var op=44,yC=244,ip=8,ap=13,gC=14,hC=2,bC=3,vC=.3;function up({citations:e}){let t=useMemo(()=>ep(e),[e]),r=N(),n=useMemo(()=>SC(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":tp(t.length,o),onClick:()=>a(s=>!s),style:n.pill,children:[jsx(z,{name:"bookOpen",size:ap,color:r.color.brandInk}),jsx("span",{style:n.pillLabel,children:Ji(t.length)}),jsx(z,{name:"chevronDown",size:ap,color:r.color.brandInk,style:o?{transform:"rotate(180deg)"}:void 0})]}),o?jsx(EC,{cards:t,styles:n,theme:r}):null]})}i(up,"CitationCards");function EC({cards:e,styles:t,theme:r}){let n=useRef(null),o=Q(),a=rc();return useEffect(()=>{let s=Re(n.current,{durationMs:o.citationsInMs,fromOpacity:0,fromTranslateY:o.citationsRisePx});return ()=>s?.cancel()},[o]),jsx("ul",{ref:n,style:t.deck,children:e.map(s=>{let l=a.kind==="static"?null:s.url;return jsx("li",{style:t.cardSlot,children:l!==null?jsx("a",{href:l,...CC(a,l),"aria-label":rp(s),style:{...t.card,...t.cardLink},children:jsx(sp,{card:s,linked:true,styles:t,theme:r})}):jsx("div",{style:t.card,children:jsx(sp,{card:s,linked:false,styles:t,theme:r})})},s.key)})})}i(EC,"Deck");function CC(e,t){return e.kind==="static"?{}:{rel:"noopener noreferrer",onClick:i(r=>{r.defaultPrevented||r.button!==0||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||(r.preventDefault(),e.open(t));},"onClick")}}i(CC,"linkBehaviour");function sp({card:e,linked:t,styles:r,theme:n}){return jsxs(Fragment,{children:[jsxs("div",{style:r.cardHeader,children:[jsx("span",{"aria-hidden":"true",style:{...r.tierDot,backgroundColor:e.tierColor}}),jsx("span",{style:t?{...r.cardTitle,color:n.color.linkInk}:r.cardTitle,children:e.title}),t?jsx(z,{name:"arrowUpRight",size:gC,color:n.color.linkInk}):null]}),e.meta!==null?jsx("span",{style:r.cardMeta,children:e.meta}):null,e.excerpt!==null?jsx("span",{style:r.cardExcerpt,children:e.excerpt}):null]})}i(sp,"CardBody");function lp(e){return {display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:e,overflow:"hidden"}}i(lp,"clamp");function SC(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:op,minWidth:op,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:{...P(e,"monoBold"),fontSize:o.tierSizes.compact.micro,lineHeight:`${o.tierSizes.compact.micro}px`,letterSpacing:vC,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:yC,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:ip,height:ip,borderRadius:n.pill,marginTop:7},cardTitle:{flex:"1 1 auto",minWidth:0,...P(e,"bold"),fontSize:o.size.bodyTight,lineHeight:`${Math.round(o.size.bodyTight*1.7)}px`,letterSpacing:-0.24,color:t.text.primary,...lp(hC)},cardMeta:{...P(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:{...P(e,"regular"),fontSize:o.size.tiny,lineHeight:`${o.size.tiny+4}px`,color:t.text.muted,...lp(bC)}}}i(SC,"makeStyles");function dp(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}i(dp,"formatMessageTime");var ea=44,cp=20,TC=3,kC=.6;function pp(e){let{open:t,onSubmit:r,onClose:n,returnFocusTo:o}=e,a=N(),s=useMemo(()=>PC(a),[a]),l=qe(t,n,o),[u,d]=useState(null),[c,p]=useState(""),[f,m]=useState(false),[y,R]=useState(false);if(!t)return null;let b=i(()=>{if(f)return;m(true),R(false);let C=c.trim();r(u,C.length>0?C:null).then(T=>{m(false),T?n():R(true);});},"submit");return jsxs("dialog",{ref:l.dialogRef,"aria-label":h.feedbackTitle,"aria-busy":f?true:void 0,onCancel:l.onCancel,onKeyDown:l.onKeyDown,style:s.sheet,children:[jsx("h2",{style:s.title,children:h.feedbackTitle}),jsx("p",{style:s.subtitle,children:h.feedbackSubtitle}),jsx("div",{role:"group","aria-label":h.feedbackTitle,style:s.options,children:oi.map(C=>{let T=C.key===u;return jsxs("button",{type:"button","aria-pressed":T,disabled:f,onClick:()=>d(T?null:C.key),style:{...s.option,...T?s.optionSelected:null},children:[jsx("span",{style:s.optionLabel,children:C.label}),jsx("span",{"aria-hidden":"true",style:{...s.radio,...T?s.radioSelected:null},children:T?jsx(z,{name:"check",size:12,color:a.color.surface,strokeWidth:3}):null})]},C.key)})}),jsx("textarea",{rows:TC,value:c,disabled:f,"aria-label":h.feedbackNotesPlaceholder,placeholder:h.feedbackNotesPlaceholder,onChange:C=>{let T=C.target.value;[...T].length<=Zt&&p(T);},style:s.notes}),y?jsx("p",{role:"alert",style:s.failed,children:h.feedbackFailed}):null,jsxs("div",{style:s.actions,children:[jsx("button",{type:"button",onClick:b,"aria-disabled":f,style:{...s.submit,...f?s.pending:null},children:h.feedbackSubmit}),jsx("button",{type:"button",onClick:n,"aria-label":h.feedbackSkipA11y,disabled:f,style:s.skip,children:h.feedbackSkip})]})]})}i(pp,"FeedbackReasons");function PC(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:ea,minWidth:ea,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,cursor:"pointer",...P(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,...P(e,"bold"),fontSize:s,lineHeight:`${Math.round(s*1.22)}px`,color:t.text.primary},subtitle:{margin:0,...P(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:cp,height:cp,borderRadius:n.pill,border:`1.5px solid ${t.brandBorderStrong}`,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:ea,margin:0,padding:`${r.sm}px ${r.md}px`,borderRadius:n.md,border:`1px solid ${t.brandBorderStrong}`,backgroundColor:t.surfaceCream,color:t.text.primary,resize:"vertical",...P(e,"regular"),fontSize:o.size.body,lineHeight:a},failed:{margin:0,...P(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),...be(e.slots.primaryButton)},pending:{opacity:kC,cursor:"progress"},skip:{...u,fontSize:l,padding:`0 ${r.xl}px`,border:0,borderRadius:n.pill,background:"transparent",color:t.text.secondary}}}i(PC,"makeStyles");var Cr=44,na=15,yp=16;function wC(){return typeof navigator<"u"&&typeof navigator.clipboard?.writeText=="function"}i(wC,"canCopyToClipboard");function hp(e){let{role:t,text:r,createdAt:n,responseId:o,sentiment:a,feedback:s}=e,l=N(),u=useMemo(()=>IC(l),[l]),d=Q(),c=useMemo(()=>dp(n),[n]),p=t!=="vet"&&wC()&&r.length>0,[f,m]=useState(false),y=useRef(null);useEffect(()=>()=>{y.current!==null&&clearTimeout(y.current);},[]);let R=useCallback(()=>{navigator.clipboard.writeText(r).catch(()=>{}),m(true),y.current!==null&&clearTimeout(y.current),y.current=setTimeout(()=>{m(false),y.current=null;},d.copiedMs);},[r,d.copiedMs]),[b,C]=useState(false),[T,_]=useState(false),[w,g]=useState(false),x=useRef(null),I=useCallback(k=>{if(o===void 0)return;_(false),g(false);let v=a===k;s(o,k).then(S=>{S.ok||g(true);}),k==="down"&&!v&&C(true);},[o,a,s]),O=useCallback(async(k,v)=>{if(o===void 0)return false;if(k===null&&v===null)return _(true),true;let S=await s(o,"down",k??"other",v);return S.ok&&_(true),S.ok},[o,s]);return jsxs("div",{style:{...u.footer,...t==="user"?u.footerUser:u.footerAssistant},children:[jsxs("div",{style:u.row,children:[c!==null?jsx("span",{style:u.timestamp,children:c}):null,p?jsx("button",{type:"button",onClick:R,"aria-label":f?h.copied:t==="user"?h.copyUserMessage:h.copyAssistantMessage,style:u.iconButton,children:f?jsx(z,{name:"check",size:na,color:l.color.success}):jsx(z,{name:"copy",size:na,color:l.color.text.timestamp})}):null,t==="assistant"&&o!==void 0?wu.map(k=>{let v=a===k.sentiment,S=l.color.sentiment[k.sentiment];return jsx("button",{ref:k.sentiment==="down"?x:void 0,type:"button","aria-pressed":v,"aria-label":k.label,onClick:()=>I(k.sentiment),style:u.iconButton,children:jsx(z,{name:k.sentiment==="up"?"thumbsUp":"thumbsDown",size:na,color:S,fill:v?S:"transparent",style:k.sentiment==="neutral"?{transform:"rotate(-90deg)"}:void 0})},k.sentiment)}):null]}),T?jsx("p",{role:"status",style:u.thanks,children:h.feedbackThanks}):null,w?jsx("p",{role:"alert",style:u.failed,children:h.feedbackFailed}):null,b?jsx(pp,{open:true,onSubmit:O,onClose:()=>C(false),returnFocusTo:x}):null]})}i(hp,"MessageFooter");function IC(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:yp},timestamp:{...P(e,"monoMedium"),fontSize:n.tierSizes.compact.nano,lineHeight:`${n.tierSizes.compact.nano+2}px`,color:e.color.text.timestamp},iconButton:{boxSizing:"border-box",width:Cr,height:Cr,minWidth:Cr,minHeight:Cr,margin:`${ -28/2}px 0`,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},thanks:{margin:0,...P(e,"regular"),fontSize:n.size.caption,color:t.text.secondary},failed:{margin:0,...P(e,"regular"),fontSize:n.size.caption,color:t.danger}}}i(IC,"makeStyles");var bp="#10462E",vp="#000000",AC="#83E0B4",OC=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:AC,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:bp,brandEdge:true,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})]),FC=/\s*-\s*(?:small|medium|large|giant|toy)\s*$/i;function MC(e){return e==null?e:e.replace(FC,"").trim()}i(MC,"formatBreedForPrompt");var DC=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 LC(e){let t=String(e??"").replace(/\s+/gu," ").trim().toLowerCase().replace(/\u2019/g,"'");return DC.has(t)}i(LC,"isUninformativeBreed");function NC(e){return e==="cat"?"Domestic Short Hair Mix":"Mixed Breed"}i(NC,"unspecifiedBreedLabel");function HC(e,t){return LC(e)?NC(t):String(e).replace(/\s+/gu," ").trim()}i(HC,"resolveBreedLabel");function Ep(e){let t=e?.name?.trim()||h.emptyTitlePetFallback;return K(h.emptyTitle,{petName:t})}i(Ep,"emptyStateTitle");function Cp(e,t=bp){let r=_i(e?.species),n=r==="cat"?"my cat":"my dog",o=e?.name?.trim()||null,a=o||n,s=HC(MC(e?.breed),r)||null,l=wi(e?.ageYears),u=l===null?null:String(l);return Object.freeze(OC.map(d=>{let c=d.label.includes("{breed}"),p=d.label.includes("{ageYears}"),m=d.fallbackLabel!==void 0&&(c&&!s||p&&!u)&&d.fallbackLabel?d.fallbackLabel:d.label,y=K(m,{petName:a,breed:s??n,species:r,ageYears:u??""}),R=!o&&m.startsWith("{petName}")?y.charAt(0).toUpperCase()+y.slice(1):y;return Object.freeze({id:d.id,intent:d.intent,label:R,background:d.background,borderColor:d.brandEdge===true?t:d.borderColor,borderWidth:d.borderWidth})}))}i(Cp,"resolveQuickPrompts");var Rp=44,jC=28,VC=34,$C=-0.8,WC=340;function xp({pet:e,onSend:t,onVetPrep:r}){let n=N(),o=useMemo(()=>GC(n),[n]),a=Q(),s=Ep(e),l=ac(lc()),u=useId(),d=useMemo(()=>Cp(e,n.color.brandInk).filter(c=>c.intent!=="vet_report"||r!==null),[e,r,n.color.brandInk]);return jsxs("div",{style:o.wrap,children:[jsx(l,{id:u,style:o.title,children:s}),jsx("ul",{"aria-labelledby":u,style:o.list,children:d.map((c,p)=>jsx("li",{children:jsx(KC,{chip:c,delayMs:fc(a,p),durationMs:a.followUpInMs,style:o.chip,onPress:()=>c.intent==="vet_report"?r?.():t(c.label)})},c.id))})]})}i(xp,"QuickPrompts");function KC({chip:e,delayMs:t,durationMs:r,style:n,onPress:o}){let a=useRef(null);return useEffect(()=>{let s=Re(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(KC,"Chip");function GC(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:WC,...P(e,"bold"),fontSize:ei(e,"heading",jC),lineHeight:`${ei(e,"heading",VC)}px`,letterSpacing:$C,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:Rp,minWidth:Rp,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:`${t.sm+1}px ${t.md+2}px`,borderRadius:r.pill,cursor:"pointer",...P(e,"bold"),fontSize:n.tierSizes.compact.caption,lineHeight:`${n.tierSizes.compact.caption+2}px`,color:vp,textAlign:"center",whiteSpace:"normal"}}}i(GC,"makeStyles");var oa=/\*\*([^*]+?)\*\*|\*([^*]+?)\*|`([^`]+?)`/g;function Tp(e){return e.includes("*")||e.includes("`")}i(Tp,"hasInlineMarkup");function kp(e){let t=[],r=0;oa.lastIndex=0;for(let n=oa.exec(e);n!==null;n=oa.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(kp,"tokenizeInlineMarkdown");function Pp(e,t){return Tp(e)?kp(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(Pp,"renderInlineMarkdown");var _p=6,ZC=3.5,wp=520,JC=Math.round(wp*.18),aa=.44,eS=.5,tS=[0,1,2];function Ip(){let e=N(),t=useMemo(()=>nS(e),[e]),r=!e.motion.reducedMotion;return jsx("div",{role:"img","aria-label":h.typing,style:t.card,children:tS.map(n=>r?jsx(rS,{index:n,style:t.dot},n):jsx("div",{style:{...t.dot,...t.dotStatic}},n))})}i(Ip,"TypingIndicator");function rS({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:aa,transform:"translateY(0)"},{opacity:1,transform:`translateY(-${ZC}px)`},{opacity:aa,transform:"translateY(0)"}],{duration:wp,iterations:1/0,delay:e*JC,easing:"ease-in-out"});return ()=>o.cancel()},[e]),jsx("div",{ref:r,style:{...t,opacity:aa}})}i(rS,"AnimatedDot");function nS(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:_p,height:_p,borderRadius:n.pill,backgroundColor:t.brand},dotStatic:{opacity:eS}}}i(nS,"makeStyles");function Ap(e,t,r){let n=e-r,o=t!=null?Math.min(n,t):n;return Math.max(0,o)}i(Ap,"resolveTurnScrollTarget");function Op(e){let t=e.length-1,r=e[t];if(r===void 0||r.role!=="assistant")return null;let n=e[t-1];return {assistantIndex:t,userIndex:n!==void 0&&n.role==="user"?t-1:null}}i(Op,"latestTurn");function Fp(e,t,r){let n=Math.max(0,r),o=e===null?n:Math.min(Math.max(0,e),n);return o>t+1?o:null}i(Fp,"nextFollowOffset");function Mp(e,t){return e.scrollTop+t.getBoundingClientRect().top-e.getBoundingClientRect().top}i(Mp,"contentTop");function lS(e,t,r){let n=Op(r);if(n===null||t===null||t.children.length!==r.length)return null;let o=t.children[n.assistantIndex];if(o===void 0)return null;let a=n.userIndex===null?void 0:t.children[n.userIndex];return Ap(Mp(e,o),a===void 0?null:Mp(e,a),96)}i(lS,"turnAnchor");function Dp(e,t,r){let n=useRef(null),o=useRef(null),a=useRef(true),s=useRef(t),l=useRef(null),u=useCallback(()=>{let m=n.current;m!==null&&(l.current!==null&&Math.abs(m.scrollTop-l.current)<1||(l.current=null,a.current=m.scrollHeight-m.scrollTop-m.clientHeight<=24));},[]),{awaiting:d,prompts:c,notice:p,reconnecting:f}=r;return useLayoutEffect(()=>{t&&!s.current&&(a.current=true),s.current=t;let m=n.current;if(m===null||!a.current)return;let y=Fp(lS(m,o.current,e),m.scrollTop,m.scrollHeight-m.clientHeight);y!==null&&(m.scrollTop=y,l.current=m.scrollTop);},[e,t,d,c,p,f]),{scrollerRef:n,listRef:o,onScroll:u}}i(Dp,"useTranscriptFollow");function pS({notice:e,onRetry:t,onStartNew:r}){let{styles:n}=fe(),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(pS,"TurnNoticeCard");function Np(e,t,r,n,o,a,s,l,u,d){switch(e){case "loading":return n?jsx(xt,{render:n,fallback:jsx(Lp,{})}):jsx(Lp,{});case "empty":return jsx(mS,{onSelectPrompt:r,pet:o,onVetPrep:a});case "error":return jsx(hS,{error:t.error,onRetry:t.retryLast,onAddPet:u});case "populated":return jsx(bS,{chat:t,onSelectPrompt:r,onAnswerCheckin:t.petRef?t.answerCheckin:null,imagesFor:s,onPreview:l,onCheckinFindVet:d});default:return Je(e)}}i(Np,"renderView");function Lp(){let{styles:e}=fe(),[t,r]=useState(false);return useEffect(()=>{let n=setTimeout(()=>r(true),Ac);return ()=>clearTimeout(n)},[]),jsx("div",{role:"status","aria-busy":"true","aria-label":h.loading,style:e.centered,children:t?jsx(fS,{}):null})}i(Lp,"LoadingState");function fS(){let{theme:e,styles:t}=fe(),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:Mc,iterations:1/0,easing:"linear"});return ()=>a.cancel()},[n]),jsx("div",{ref:r,"aria-hidden":"true",style:t.spinner})}i(fS,"Spinner");function mS({onSelectPrompt:e,pet:t,onVetPrep:r}){let{styles:n}=fe();return jsx("div",{role:"region","aria-label":h.empty,style:n.emptyScroller,children:jsx("div",{style:n.emptyContent,children:jsx(xp,{pet:t,onSend:e,onVetPrep:r})})})}i(mS,"EmptyState");function yS({prompts:e,onSelectPrompt:t}){let{styles:r}=fe(),n=useId();return e.length===0?null:jsxs("div",{style:r.followUps,children:[jsx("p",{id:n,style:r.followUpsLabel,children:h.followUps}),jsx("ul",{"aria-labelledby":n,style:r.followUpList,children:e.map((o,a)=>jsx(gS,{prompt:o,index:a,onSelectPrompt:t},o))})]})}i(yS,"FollowUps");function gS({prompt:e,index:t,onSelectPrompt:r}){let{styles:n}=fe(),o=Q(),a=useRef(null);return useEffect(()=>{let s=Re(a.current,{durationMs:o.followUpInMs,delayMs:t*o.followUpStaggerMs,fromOpacity:0});return ()=>s?.cancel()},[o,t]),jsx("li",{ref:a,style:n.followUpDivider,children:jsx("button",{type:"button",onClick:()=>r(e),style:n.followUpRow,children:e})})}i(gS,"FollowUpRow");function hS({error:e,onRetry:t,onAddPet:r}){let{styles:n}=fe(),o=r!==null&&Hu(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:h.addPet}):null,e.retryable?jsx("button",{type:"button",onClick:t,style:n.retryButton,children:h.retry}):null]})}i(hS,"ErrorState");function bS({chat:e,onSelectPrompt:t,onAnswerCheckin:r,imagesFor:n,onPreview:o,onCheckinFindVet:a}){let{styles:s}=fe(),{messages:l,isStreaming:u}=e,d=nd(e),c=pn(l,u),p=rd(e),f=useMemo(()=>Hc(Nc(l)),[l]),{scrollerRef:m,listRef:y,onScroll:R}=Dp(l,u,{awaiting:c,prompts:d.length,notice:p!==null,reconnecting:e.reconnecting===true}),b=l[l.length-1],C=u&&b!==void 0&&b.role==="assistant"?b.id:null;return jsxs("div",{ref:m,onScroll:R,role:"region","aria-label":h.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",{ref:y,style:s.messageList,children:l.map(T=>T.checkin&&f.has(T.id)?jsx(Zc,{message:T,checkin:T.checkin,onAnswer:r,onFindVet:a},T.id):jsx(vS,{message:T,streaming:T.id===C,chat:e,images:n(T),onPreview:o},T.id))}),e.reconnecting===true?jsx("p",{style:s.reconnectingCaption,children:h.reconnecting}):null,c?jsx(Ip,{}):null,p!==null?jsx(pS,{notice:p,onRetry:e.retryLast,onStartNew:e.newConversation}):null,jsx(yS,{prompts:d,onSelectPrompt:t})]})}i(bS,"PopulatedState");function vS({message:e,streaming:t,chat:r,images:n,onPreview:o}){let{styles:a}=fe(),s=Q(),l=useRef(null),u=e.role==="user",d=e.role==="vet";useEffect(()=>{let m=Re(l.current,{durationMs:s.messageInMs,fromOpacity:0});return ()=>m?.cancel()},[]);let c=hc(e.text,t&&e.role==="assistant",s),p=u?h.senderUser:d?null:h.senderAssistant,f=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:d?a.bubbleVet:a.bubbleAssistant,...e.pending?a.bubblePending:null},children:[p!==null?jsx("span",{style:it,children:`${p}: `}):null,d?jsx("p",{style:a.vetSender,children:od(e)}):null,n.length>0?jsx(Gc,{images:n,onPreview:o}):null,jsx("p",{style:u?a.bubbleTextUser:d?a.bubbleTextVet:a.bubbleTextAssistant,children:e.role==="assistant"?Pp(c,{bold:a.bubbleBold,italic:a.bubbleItalic,code:a.bubbleCode}):c})]}),e.role==="assistant"&&!t?jsx(up,{citations:e.citations}):null,f?jsx(hp,{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(vS,"MessageRow");function zp(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),d=u?l.text:"",c=u?l.seeded:null,p=r!=null&&r!==c&&d.length===0;return {send:e,conversationId:t,text:p?r:d,seeded:p?r:c}});},[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(zp,"useChatDraft");function Bp(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 d=true;return (async()=>{let c=await Vu(()=>e.read(t));if(!d)return;let p=c.ok&&typeof c.value=="string"?c.value:"";p.length>0&&o.current.draft.length===0&&o.current.setDraft(p),l(u);})(),()=>{d=false;}},[e,t]),useEffect(()=>{e===void 0||s!==`${t??""}`||se(()=>e.write(t,r));},[e,t,r,s]);}i(Bp,"usePersistedDraft");var Hn=44,xS=18,TS=14,Un=6,kS=1200,PS=.4;function _S(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(_S,"formatDictationElapsed");function Vp(e){switch(e){case "permissionDenied":return h.micBlocked;case "noSpeech":return h.noSpeech;case "unavailable":return h.dictationUnavailable}}i(Vp,"dictationErrorMessage");function $p({active:e,listening:t,elapsedMs:r,disabled:n=false,onToggle:o}){let a=N(),s=useMemo(()=>IS(a),[a]);return jsxs("span",{style:s.wrap,children:[t?jsx("span",{"aria-hidden":"true",style:s.timer,children:_S(r)}):null,jsx("button",{type:"button",disabled:n,onClick:()=>o(),"aria-label":e?h.stopDictation:h.dictate,"aria-pressed":e,style:{...s.button,...n?s.buttonDisabled:null},children:e?jsxs(Fragment,{children:[jsx(wS,{style:s.pulse}),jsx(z,{name:"square",size:TS,color:a.color.brandInk,fill:a.color.brandInk,style:{position:"relative"}})]}):jsx(z,{name:"mic",size:xS,color:a.color.brandInk})}),jsx("span",{role:"status","aria-live":"polite",style:it,children:t?h.listening:""})]})}i($p,"DictationButton");function wS({style:e}){let t=useRef(null),r=Q();return useEffect(()=>{let n=t.current;if(r.reduced||!Ht(n))return;let o=n.animate([{opacity:1},{opacity:.4},{opacity:1}],{duration:kS,iterations:1/0,easing:"ease-in-out"});return ()=>o.cancel()},[r.reduced]),jsx("span",{ref:t,"aria-hidden":"true",style:e})}i(wS,"Pulse");function IS(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:{...P(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:Hn,height:Hn,minWidth:Hn,minHeight:Hn,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:PS,cursor:"not-allowed"},pulse:{position:"absolute",top:Un,right:Un,bottom:Un,left:Un,borderRadius:r.pill,backgroundColor:t.brandSofter}}}i(IS,"makeStyles");function Wp(e){if(!e)return null;let t=e.SpeechRecognition??e.webkitSpeechRecognition;return typeof t=="function"?t:null}i(Wp,"getRecognitionConstructor");function ua(e){return typeof e=="string"&&e.toLowerCase().startsWith("en")?e:"en-US"}i(ua,"resolveDictationLang");async function Kp(e,t){let r=Wp(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(Kp,"probeDictationCapability");function OS(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(OS,"joinRecognitionResults");function Gp(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(Gp,"composeDictatedText");function FS(e){return e==="not-allowed"||e==="service-not-allowed"?"permissionDenied":e==="no-speech"?"noSpeech":"unavailable"}i(FS,"mapDictationError");var MS=new Set(["language-not-supported","service-not-allowed"]),DS={setTimeout:i((e,t)=>globalThis.setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>globalThis.clearTimeout(e),"clearTimeout")};function qp(e){let{env:t,capability:r,lang:n,callbacks:o}=e,a=e.timers??DS,s=e.maxDurationMs??6e4,l=Wp(t),u=r==="on_device"?"on_device":"browser",d=u==="on_device"&&(e.phrases?.length??0)>0&&typeof t.SpeechRecognitionPhrase=="function",c=false,p=false,f=false,m=null,y=0,R=false,b=false,C=false,T=false,_=false,w="",g=null,x=null,I=i(()=>{if(b)return;b=true,y+=1,x!==null&&a.clearTimeout(x),x=null;let S=g;S===null&&!T&&w.trim()===""&&(S="noSpeech"),o.onEnd?.({mode:u,transcript:w,error:S});},"finish"),O=i(()=>{if(!l){g="unavailable",I();return}y+=1;let S=y,A=i(()=>S===y&&!b,"live"),F=new l;if(m=F,F.lang=n,F.continuous=true,F.interimResults=true,u==="on_device")try{F.processLocally=!0;}catch{u="browser";}if(u==="on_device"&&d)try{let B=t.SpeechRecognitionPhrase;F.phrases=(e.phrases??[]).map(V=>new B(V));}catch{d=false,p=true;}F.onstart=()=>{!A()||R||(R=true,o.onStart?.(u));},F.onresult=B=>{A()&&(_=true,w=OS(B.results),o.onTranscript?.(w));},F.onerror=B=>{if(!A())return;let V=B?.error??"";if(!(V==="aborted"&&C)){if(V==="phrases-not-supported"&&!p&&!_&&!C){d=false,p=true,f=true;return}if(u==="on_device"&&!c&&!_&&!C&&MS.has(V)){u="browser",d=false,c=true,f=true;return}V==="no-speech"&&w.trim()!==""||(g=FS(V));}},F.onend=()=>{if(A()){if(f&&!C){f=false,O();return}I();}};try{F.start();}catch{if(u==="on_device"&&!c){u="browser",d=false,c=true,O();return}g="unavailable",I();}},"launch");if(r==="downloadable"&&l&&typeof l.install=="function")try{Promise.resolve(l.install({langs:[n],processLocally:!0})).catch(()=>{});}catch{}let k=i(()=>{if(!(b||C)){C=true,f=false,x!==null&&a.clearTimeout(x),x=null;try{m?.stop();}catch{I();}}},"stopListening");x=a.setTimeout(()=>{x=null,k();},s);let v={get mode(){return u},stop(){b||C||(T=true,k());},cancel(){if(b)return;C=true,T=true,f=false;let S=m;I();try{S?.abort();}catch{}}};return O(),v}i(qp,"startDictation");var LS=6e3;function da(e,t,r){if(e)try{e.track(t,{...r});}catch{}}i(da,"trackDictationEvent");function NS(){return typeof window>"u"?null:window}i(NS,"browserEnv");function Yp({enabled:e,input:t,setInput:r,phrases:n,maxLength:o,telemetry:a,env:s}){let[l,u]=useState("none"),[d,c]=useState("idle"),[p,f]=useState(null),[m,y]=useState(0),R=useRef(null),b=useRef(null),C=useRef(t);C.current=t;let T=useRef(r);T.current=r;let _=useRef(a);_.current=a;let[w,g]=useState(0),x=useCallback(()=>s??NS(),[s]);useEffect(()=>{if(!e){u("none");return}let A=x();if(!A)return;let F=true;return Kp(A,ua(A.navigator?.language)).then(B=>{F&&u(B);}),()=>{F=false;}},[e,x,w]);let I=useCallback(()=>{let A=x();if(!A||l==="none")return;f(null),y(0),b.current=null,c("starting");let F=C.current,B=l,V=false,Z=qp({env:A,capability:l,lang:ua(A.navigator?.language),...n!==void 0?{phrases:n}:{},callbacks:{onStart:i(q=>{b.current=Date.now(),c("listening"),da(_.current,"chat_dictation_started",{mode:q});},"onStart"),onTranscript:i(q=>{T.current(Gp(F,q,o));},"onTranscript"),onEnd:i(({mode:q,transcript:Be,error:$})=>{V=true,R.current=null;let ve=b.current;b.current=null,$?(f($),c("error"),da(_.current,"chat_dictation_failed",{mode:q,error:$})):(c("idle"),da(_.current,"chat_dictation_completed",{mode:q,duration_ms:ve===null?0:Date.now()-ve,char_count:Be.trim().length})),B==="downloadable"&&g(Ie=>Ie+1);},"onEnd")}});V||(R.current=Z);},[l,o,n,x]),O=useCallback(()=>{R.current?.stop();},[]),k=useCallback(()=>{R.current?.cancel();},[]),v=d==="starting"||d==="listening",S=useCallback(()=>{if(R.current){R.current.stop();return}I();},[I]);return useEffect(()=>{if(d!=="listening")return;let A=i(()=>{let B=b.current;B!==null&&y(Date.now()-B);},"tick");A();let F=setInterval(A,1e3);return ()=>clearInterval(F)},[d]),useEffect(()=>{if(!v||typeof document>"u")return;let A=i(()=>{document.visibilityState==="hidden"&&R.current?.stop();},"onVisibility");return document.addEventListener("visibilitychange",A),()=>document.removeEventListener("visibilitychange",A)},[v]),useEffect(()=>{if(!v||typeof document>"u")return;let A=i(F=>{F.key==="Escape"&&R.current?.stop();},"onKey");return document.addEventListener("keydown",A),()=>document.removeEventListener("keydown",A)},[v]),useEffect(()=>{if(d!=="error")return;let A=setTimeout(()=>{f(null),c("idle");},LS);return ()=>clearTimeout(A)},[d]),useEffect(()=>()=>{R.current?.cancel();},[]),{supported:e&&l!=="none",status:d,active:v,error:p,elapsedMs:m,toggle:S,stop:O,cancel:k}}i(Yp,"useDictation");var HS=["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 Xp(e={}){let t=new Set,r=[];for(let n of [e.name,e.breed,...HS]){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(Xp,"buildDictationPhrases");function Zp({send:e,draftScope:t,stop:r,isStreaming:n,inputRef:o,conversationId:a,seed:s,draftStore:l,attachments:u,onPreview:d,dictation:c,pet:p,telemetry:f}){let{theme:m,styles:y}=fe(),[R,b]=zp(t,a,s);Bp(l,a===null?null:String(a),R,b);let[C,T]=useState(false),_=m.meta.placeholder??h.placeholder,w=useMemo(()=>Xp({name:p?.name??null,breed:p?.breed??null}),[p?.name,p?.breed]),g=Yp({enabled:c,input:R,setInput:b,phrases:w,maxLength:pt,telemetry:f}),x=g.cancel,I=g.active,O=useRef(null),k=useRef(new Set),v=useRef(new Set);useEffect(()=>()=>{for(let j of k.current)hr(j);for(let j of v.current)hr(j);},[]);let S=useCallback(j=>{if(u===null)return;let oe=Array.from(j.target.files??[]);if(j.target.value="",oe.length===0)return;u.dismissRejected();let dt=oe.map(Sn),Te=u.add(dt);dt.forEach((Pr,jn)=>{Te[jn]?.ok===true?k.current.add(Pr.uri):hr(Pr.uri);});},[u]),A=useCallback(j=>{if(u===null)return;let oe=u.attachments.find(dt=>dt.id===j);u.remove(j),oe!==void 0&&k.current.delete(oe.previewUri)&&hr(oe.previewUri);},[u]),F=u!==null&&u.uploading,B=u!==null&&u.failed,V=F||B,Z=useMemo(()=>[...R].length>pt,[R]),q=useCallback(()=>{if(R.trim().length===0||[...R].length>pt||V)return;I&&x();let j=u===null?Wc:u.attachments.flatMap(oe=>oe.status==="uploaded"?[{uri:oe.previewUri,filename:oe.filename}]:[]);for(let oe of j)k.current.delete(oe.uri),v.current.add(oe.uri);e(R,j),b("");},[R,e,V,I,x,u,b]),Be=useCallback(()=>{r();},[r]),$=useCallback(j=>{j.key!=="Enter"||j.shiftKey||j.altKey||j.ctrlKey||j.metaKey||j.nativeEvent.isComposing||(j.preventDefault(),q());},[q]),ve=useCallback(j=>{I&&x(),b(j.target.value);},[I,x,b]);useLayoutEffect(()=>{let j=o.current;j!==null&&(j.style.height="auto",j.style.height=`${Math.min(j.scrollHeight,Qi)}px`);},[R,o]);let Ie=Z||V,lt=u!==null&&u.attachments.length>=u.maxPerMessage,ut=useCallback(j=>{j.target===j.currentTarget&&(j.preventDefault(),o.current?.focus());},[o]),Ze=m.slots.sendButton?.textColor??m.color.brandInk;return jsxs("div",{style:y.composerBlock,children:[B?jsx("p",{role:"alert",style:y.composerError,children:h.attachmentsFailedBlocked}):null,u!==null&&u.rejected!==null?jsx("p",{role:"alert",style:y.composerError,children:Mu(u.rejected)}):null,g.supported&&g.error!==null?jsx("p",{role:"alert",style:y.composerError,children:Vp(g.error)}):null,u!==null?jsx(Kc,{attachments:u.attachments,onRetry:u.retry,onRemove:A,onPreview:d}):null,jsxs("div",{style:{...y.composer,...C?y.composerFocused:null},onMouseDown:ut,children:[u!==null?jsxs(Fragment,{children:[jsx("input",{ref:O,type:"file",accept:Ls,multiple:u.maxPerMessage>1,onChange:S,tabIndex:-1,"aria-hidden":"true",style:it}),jsx("button",{type:"button",onClick:()=>O.current?.click(),"aria-label":Du(u.attachments.length,u.maxPerMessage),"aria-disabled":lt,style:{...y.iconControl,...lt?y.actionButtonDisabled:null},children:jsx(z,{name:"upload",size:Dc,color:m.color.brandInk})})]}):null,jsxs("div",{style:y.inputWrap,children:[R.length===0?jsx("span",{"aria-hidden":"true",style:y.placeholder,children:_}):null,jsx("textarea",{ref:o,rows:1,value:R,onChange:ve,onKeyDown:$,onFocus:()=>T(true),onBlur:()=>T(false),"data-ef-focus-ring":"self","aria-label":_,style:y.input})]}),g.supported?jsx($p,{active:g.active,listening:g.status==="listening",elapsedMs:g.elapsedMs,onToggle:g.toggle}):null,n?jsx("button",{type:"button",onClick:Be,"aria-label":h.stop,style:y.actionButton,children:jsx("span",{"data-everfur-send-disc":"",style:y.sendDisc,children:jsx(z,{name:"square",size:Fc,color:Ze,fill:Ze})})}):jsx("button",{type:"button",onClick:q,"aria-label":h.send,"aria-disabled":Ie,style:{...y.actionButton,...Ie?y.actionButtonDisabled:null},children:jsx("span",{"data-everfur-send-disc":"",style:y.sendDisc,children:jsx(z,{name:"send",size:Oc,color:Ze})})})]})]})}i(Zp,"Composer");var $S=Cn(),pa=Object.freeze([]),WS=Object.freeze({display:"contents"});function ef(e){let{style:t,className:r,renderPending:n}=e;return jsx(ni,{capability:"chat",style:t,className:r,...n?{renderPending:n}:{},children:jsx(nc,{onOpenUrl:e.onOpenUrl,children:jsx(uc,{headingLevel:e.headingLevel,children:jsx(KS,{...e})})})})}i(ef,"EverfurChat");function KS(e){let{petRef:t,conversationId:r,style:n,className:o,renderPending:a,onPetChange:s,onVetPrep:l,onFindVet:u,renderVetAction:d,pet:c,onAddPet:p,checkinTarget:f,initialAsk:m,composerSeed:y,lifecycle:R,draftStore:b,vetReturnTo:C,vetUsState:T,vetPrefer:_}=e,w=e.attachments!==false,g=e.attachments===false?void 0:e.attachments?.maxPerMessage,x=e.dictation!==false,{theme:I,styles:O}=fe(),k=useMemo(()=>id(t,r),[t,r]),v=mr(k),S=td(v),A=useRef(null),F=qS(v),B=X(),V=fn(),Z=useMemo(()=>ad(V.pets,v.petRef),[V.pets,v.petRef]),q=useMemo(()=>p===void 0?null:()=>{se(p);},[p]),Be=useCallback(Ee=>{B.handle.setActivePet(Ee),se(s,Ee);},[B.handle,s]),$=Xu(v),ve=_n(),Ie=useRef(null),lt=(v.hasUnreadThreads??false)||(v.unreadCount??0)>0||$.rows.some(Ee=>Ee.unreadCount!==null&&Ee.unreadCount>0);Gu(v.openCheckin,f),Bu(v.askEverfur,v.isBootstrapping,m);let ut=useMemo(()=>di(y),[y]);Wu(R,{conversationId:v.conversationId===null?null:String(v.conversationId),isTurnInFlight:v.isStreaming,refresh:v.refreshActiveThread});let Ze=ed(useMemo(()=>Ju(v.messages),[v.messages])),j=useMemo(()=>pd(v.petRef,C===void 0&&T===void 0&&_===void 0?void 0:{returnTo:C,usState:T,prefer:_}),[v.petRef,C,T,_]),oe=Ld(j),dt=oe.open,Te=useMemo(()=>({available:oe.available,open:i(()=>{dt();},"open")}),[oe.available,dt]),Pr=useMemo(()=>Te.available?Te.open:u!==void 0?()=>{se(u,"emergency");}:null,[Te,u]),jn=useMemo(()=>l!==void 0?()=>{se(l,v.petRef);}:Te.available?Te.open:null,[l,v.petRef,Te]),wt=sn({transport:$S,...g!==void 0?{maxPerMessage:g}:{}}),Vn=GS(v.messages),[tf,ma]=useState(null),ya=useRef(null),ga=useCallback((Ee,Wn)=>{ya.current=Wn,ma(Ee);},[]),rf=useCallback(()=>ma(null),[]),nf=useCallback(Ee=>{v.send(Ee),A.current?.focus();},[v.send]),of=useCallback((Ee,Wn)=>{Vn.record(Ee,Wn),wt.s3Keys.length>0?v.send(Ee,{imageS3Keys:wt.s3Keys}):v.send(Ee),wt.clear();},[v.send,wt,Vn]),af=B.runtime.registry?.services?.telemetry??null,$n=useRef(null);return ud($n,I.color.brandInk),dc($n),jsxs("div",{ref:$n,className:o,style:{...O.container,...n},children:[jsx(Jd,{pets:V.pets,activePet:Z,unread:lt,onOpenHistory:$.open?$.close:$.show,historyTriggerRef:Ie,onSelectPet:Be,onAddPet:q,rail:ve.rail,historyOpen:$.open,onNewChat:$.newConversation,vetEntry:Te.available?Te.open:null}),c!==void 0?jsx(YS,{petRef:t??null,pet:c,onRegistered:V.refresh}):null,jsxs("div",{style:O.split,children:[jsxs("div",{style:O.main,children:[jsx(Sc,{surface:Ze,vetEntry:Te,renderVetAction:d,onFindVet:u}),jsx("div",{style:O.body,children:Np(S,v,nf,a,Z,jn,Vn.imagesFor,ga,q,Pr)}),jsx(Zp,{send:of,draftScope:v.send,stop:v.stop,isStreaming:v.isStreaming,inputRef:A,conversationId:v.conversationId,seed:ut,draftStore:b,attachments:w&&wt.available?wt:null,onPreview:ga,dictation:x,pet:Z,telemetry:af}),jsx(cd,{}),I.meta.hidePoweredBy?null:jsx("p",{style:O.poweredBy,children:h.poweredBy})]}),jsx(Ec,{chat:v,history:$,mode:ve.rail?"rail":"dialog",returnFocusTo:Ie})]}),jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",style:it,children:F}),jsx(Ud,{image:tf,onClose:rf,returnFocusTo:ya}),jsx("div",{"data-ef-focus-ring":"self",style:WS,children:jsx(Rd,{})})]})}i(KS,"ChatBody");function GS(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 pa;let u=s.pending.findIndex(c=>c.text===a.text&&!c.before.has(a.id));if(u<0)return pa;let[d]=s.pending.splice(u,1);return d===void 0?pa:(s.byMessage.set(a.id,d.images),d.images)},[]);return useMemo(()=>({record:n,imagesFor:o}),[n,o])}i(GS,"useSentImages");function qS(e){let t=pn(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?h.typing:r.send===e.send&&r.id===e.conversationId?r.text:""}i(qS,"useReplyAnnouncement");function YS({petRef:e,pet:t,onRegistered:r}){let{styles:n}=fe(),o=Uu(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:h.retry})]})}i(YS,"PetSetupNotice");function eR(e){let{runtime:t,userRef:r,scopeEpoch:n}=X(),o=useMemo(()=>et(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},d=useRef(0),c=useCallback(async()=>{let p=++d.current;if(a.petRef===null){l({key:a,profile:null,loading:false,error:null});return}l(m=>({key:a,profile:m.key===a?m.profile:null,loading:true,error:null}));let f=await a.repository.getPetProfile(a.petRef);p===d.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(()=>(c(),()=>{d.current+=1;}),[c]),useMemo(()=>({profile:u.profile,loading:u.loading,error:u.error,refresh:c}),[u.profile,u.loading,u.error,c])}i(eR,"useEverfurPetProfile");function rR(e){return createElement(en,{clientTheme:e.clientTheme??null,seams:an,children:e.children})}i(rR,"EverfurThemeProvider");export{ni as CapabilityGate,ef as EverfurChat,J as EverfurConfigError,Fh as EverfurProvider,rR as EverfurThemeProvider,_r as EverfurThrownError,Gy as THEME_SLOT_KEYS,Ct as THEME_SLOT_NAMES,rr as canonicalPetSpecies,Gn as categoryFor,Om as conversationId,Xo as createLocalStorageKv,Cn as createWebAttachmentTransport,sh as face,P as faceCss,Sn as fileToAttachmentHandle,uf as isErr,lf as isOk,qn as isRetryableCode,Im as petRef,Cg as previewTheme,df as unwrap,Ft as useCapability,sn as useChatAttachments,lu as useEverfur,mr as useEverfurChat,eR as useEverfurPetProfile,fn as useEverfurPets,N as useEverfurTheme,It as userFacingError,Am as userRef};
|
|
14
|
+
${r}`,a=Bu.get(o);if(a===void 0){if(a=Promise.resolve(false),t!==null&&n!==""&&n!=="System"&&Vh(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{}Bu.set(o,a);}return a}i($h,"loadBrandFont");var Wh=["regular","medium","bold","mono","monoMedium","monoBold"];function ju(e){let{families:t,fontUrls:r,weight:n,namedFaces:o}=e.type;useEffect(()=>{for(let a of Wh){let s=r[a];s!=null&&$h(t[a],s,o[a]?n.regular:n[hr[a]]);}},[t,r,n,o]);}i(ju,"useBrandFont");function br(e){if(typeof window>"u"||typeof window.matchMedia!="function")return null;try{return window.matchMedia(e)??null}catch{return null}}i(br,"queryFor");function di(e){return t=>{let r=br(e);return r===null||typeof r.addEventListener!="function"?()=>{}:(r.addEventListener("change",t),()=>r.removeEventListener?.("change",t))}}i(di,"subscribeTo");var Vu="(prefers-color-scheme: dark)",Kh="(prefers-color-scheme: light)",$u="(prefers-reduced-motion: reduce)",Wu="(prefers-contrast: more)",Gh=di(Vu),qh=di($u),Yh=di(Wu);function Xh(){let e=br(Vu);return e===null?null:e.matches?"dark":br(Kh)?.matches?"light":null}i(Xh,"readColorScheme");function Qh(){return br($u)?.matches===true}i(Qh,"readReducedMotion");function Zh(){return br(Wu)?.matches===true}i(Zh,"readMoreContrast");var Jh=16,eb=false;var pn=null;function Ku(e){return Number.parseFloat(window.getComputedStyle(e).fontSize)}i(Ku,"fontPx");function tb(){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 Ku(t)}finally{t.remove();}}i(tb,"probeDefaultPx");function rb(){if(typeof document>"u"||typeof window>"u"||typeof window.getComputedStyle!="function")return 1;try{let e=eb?Ku(document.documentElement):tb();return Number.isFinite(e)&&e>0?e/Jh:1}catch{return 1}}i(rb,"measureTextScale");function nb(){return pn===null&&(pn=rb()),pn}i(nb,"readTextScale");function ob(e){if(typeof window>"u"||typeof window.addEventListener!="function")return ()=>{};let t=i(()=>{pn=null,e();},"onResize");return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}i(ob,"subscribeTextScale");function ib(){return useSyncExternalStore(Gh,Xh,()=>null)}i(ib,"useWebColorScheme");function ab(){return useSyncExternalStore(qh,Qh,()=>false)}i(ab,"useWebReducedMotion");function sb(){return useSyncExternalStore(Yh,Zh,()=>false)}i(sb,"useWebHighContrast");function lb(){return useSyncExternalStore(ob,nb,()=>1)}i(lb,"useWebTextScale");var mn=Object.freeze({useColorScheme:ib,useReducedMotion:ab,useTextScale:lb,useHighContrast:sb,scaleTypeSizes:true,useResolvedTheme:ju});function db(e){return e.storage===void 0?{...e,storage:ui()}:e}i(db,"withWebDefaults");var cb=Object.freeze({platform:"web",withDefaults:db,theme:mn});function pb(e){return createElement(Uu,{...e,seams:cb})}i(pb,"EverfurProvider");function Nt(e){let{runtime:t}=J(),r=t.entitlements,n=useSyncExternalStore(r.subscribe,r.getSnapshot,r.getSnapshot);return useMemo(()=>Rl(e,n.decisions,{isPending:n.isPending}),[e,n])}i(Nt,"useCapability");var pi=class pi 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(pi,"HostRenderBoundary");var ci=pi;function gb({render:e}){return e()}i(gb,"RenderHost");function kt({render:e,fallback:t,resetKey:r}){return createElement(ci,{fallback:t,resetKey:r,children:createElement(gb,{render:e})})}i(kt,"HostRender");function fi(e,t,r){return Math.round(r*Hu(e,t)*10)/10}i(fi,"tierPx");var qu='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',hb="System";function mi(e){let t=e.trim();return t.length===0||t===hb?qu:`${Yu(t)}, ${qu}`}i(mi,"cssFontFamily");function bb(e){let t=e.trim();return t.length===0||t==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${Yu(t)}, ui-monospace, Menlo, Consolas, monospace`}i(bb,"cssMonoFamily");function Yu(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}i(Yu,"quote");function P(e,t){let r=e.type,n=r.families[t];return {fontFamily:t==="mono"||t==="monoMedium"||t==="monoBold"?bb(n):mi(n),fontWeight:r.namedFaces[t]?r.weight.regular:r.weight[hr[t]]}}i(P,"faceCss");var zt=Object.freeze({textAlign:"start"});var vb=48;function Eb(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}i(Eb,"selectView");function gi(e){let{capability:t,children:r,renderDisabled:n,renderPending:o,style:a,className:s}=e,l=Nt(t),u=useMemo(()=>Eb(l),[l]);switch(u){case "enabled":return r;case "pending":return o?jsx(kt,{render:o,fallback:jsx(Xu,{capability:t,style:a,className:s})}):jsx(Xu,{capability:t,style:a,className:s});case "disabled":return n?jsx(kt,{render:()=>n(l),fallback:jsx(Qu,{decision:l,style:a,className:s}),resetKey:l}):jsx(Qu,{decision:l,style:a,className:s});default:return ot(u)}}i(gi,"CapabilityGate");function Xu({capability:e,style:t,className:r}){let n=N(),o=useMemo(()=>Zu(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(Xu,"PendingSkeleton");function Qu({decision:e,style:t,className:r}){let n=N(),o=useMemo(()=>Zu(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(Qu,"OffState");function Zu(e){let{color:t,space:r,radius:n,type:o}=e;return {offstate:{...zt,boxSizing:"border-box",minHeight:vb,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,...P(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(Zu,"makeStyles");var b=Object.freeze({placeholder:"Ask me anything!",send:"Send",stop:"Stop",retry:"Try again",followUps:"Helpful follow-ups",poweredBy:"powered by everfur",senderUser:"You",senderAssistant:"Assistant",senderVet:"Your vet",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 G(e,t){return e.replace(/\{(\w+)\}/g,(r,n)=>{let o=t[n];return o===void 0?r:String(o)})}i(G,"fillCopy");var hi=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"})]),Ju=Object.freeze([Object.freeze({sentiment:"up",label:b.feedbackHelpful}),Object.freeze({sentiment:"neutral",label:b.feedbackNeutral}),Object.freeze({sentiment:"down",label:b.feedbackNotHelpful})]);function Cb(e){switch(e){case "up":return "helpful";case "neutral":return "neutral";case "down":return "not_helpful"}}i(Cb,"sentimentToFeedbackType");function ed(e,t){if(e==="down"&&t!==null){let r=hi.find(n=>n.key===t);if(r!==void 0)return r.feedbackType}return Cb(e)}i(ed,"feedbackTypeFor");var Tb=Object.freeze({status:"idle",messages:Object.freeze([]),conversationId:null,error:null,isStreaming:false,isBootstrapping:true,suggestedPrompts:Object.freeze([]),unreadCount:null});function vr(e){let{runtime:t,userRef:r,activePet:n,scopeEpoch:o}=J(),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,d]=useState(null),c=u?.scope===l?u.controller:t.registry.peekChat({userRef:r,petRef:a,conversationId:s}),p=useRef(null);useEffect(()=>{let k=t.registry.acquireChat({userRef:r,petRef:a,conversationId:s});return p.current=k,d({scope:l,controller:k}),()=>{p.current=null,d(C=>C?.controller===k?null:C),t.registry.releaseChat(k);}},[t,r,a,s,o,l]);let f=useCallback(k=>c?c.subscribe(k):kb,[c]),m=useCallback(()=>c?c.getSnapshot():Tb,[c]),y=useSyncExternalStore(f,m,m),v=useCallback((k,C)=>c&&p.current===c&&!c.getSnapshot().isBootstrapping?vi(c,c.send(k,C?.imageS3Keys===void 0?{}:{imageS3Keys:C.imageS3Keys}),()=>p.current===c):Promise.resolve(Ei()),[c]),h=useCallback(k=>c&&p.current===c&&!c.getSnapshot().isBootstrapping?vi(c,c.askEverfur(k),()=>p.current===c):Promise.resolve(Ei()),[c]),E=useCallback(()=>c&&p.current===c?vi(c,c.retryLast(),()=>p.current===c):Promise.resolve(Ei()),[c]),x=useCallback(()=>{c&&p.current===c&&c.stop();},[c]),_=useCallback(()=>{c&&p.current===c&&c.newConversation();},[c]),[w,g]=useState({controller:null,byMessage:{}}),T=w.controller===c?w.byMessage:Pb,I=useCallback(async(k,C,S,A)=>{if(!c||p.current!==c)return R(D("accessDenied"));let F=String(k),B=w.controller===c?w.byMessage[F]:void 0;if(B===C&&S==null)return g(te=>{let Y={...te.controller===c?te.byMessage:{}};return delete Y[F],{controller:c,byMessage:Y}}),M(Object.freeze({feedbackId:""}));g(te=>({controller:c,byMessage:{...te.controller===c?te.byMessage:{},[F]:C}}));let $=await c.submitFeedback(k,ed(C,S??null),A??null);return p.current!==c?R(D("accessDenied")):($.ok||g(te=>{let Y={...te.controller===c?te.byMessage:{}};return B===void 0?delete Y[F]:Y[F]=B,{controller:c,byMessage:Y}}),$)},[c,w]),O=useMemo(()=>{let k=i(async C=>{if(!c||p.current!==c)return R(D("accessDenied"));let S=await C(c);return p.current===c?S:R(D("accessDenied"))},"run");return {listConversations:i(C=>k(S=>S.listConversations({...a?{petRef:a}:{},...C})),"listConversations"),getMessages:i((C,S)=>k(A=>A.getMessages(C,S)),"getMessages"),resumeConversation:i(C=>k(S=>S.resumeConversation(C)),"resumeConversation"),loadOlderMessages:i(()=>k(C=>C.loadOlderMessages()),"loadOlderMessages"),markRead:i(()=>k(C=>C.markRead()),"markRead"),refreshActiveThread:i(()=>k(C=>C.refreshActiveThread()),"refreshActiveThread"),answerCheckin:i((C,S)=>k(A=>A.answerCheckin(C,S)),"answerCheckin"),openCheckin:i(C=>k(S=>S.openCheckin(C)),"openCheckin")}},[c,a]);return useMemo(()=>({status:y.status,messages:y.messages,conversationId:y.conversationId,petRef:a,error:y.error,isStreaming:y.isStreaming,isBootstrapping:y.isBootstrapping,historyCursor:y.historyCursor??null,isLoadingHistory:y.isLoadingHistory??false,stopped:y.stopped??false,reconnecting:y.reconnecting??false,...O,suggestedPrompts:y.suggestedPrompts,unreadCount:y.unreadCount,hasUnreadThreads:y.hasUnreadThreads??false,newConversation:_,sentimentByMessage:T,feedback:I,send:v,askEverfur:h,retryLast:E,stop:x}),[y,a,v,h,E,x,O,_,T,I])}i(vr,"useEverfurChat");var kb=i(()=>{},"NOOP_UNSUBSCRIBE"),Pb=Object.freeze({});async function vi(e,t,r){for await(let o of t);if(!r())return R(D("accessDenied"));let n=e.getSnapshot();return n.status==="error"&&n.error!==null?R(n.error):M(_b(n.messages))}i(vi,"driveToResult");function _b(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(_b,"lastAssistantResponseId");function Ei(){return R(D("internalError",{retryable:true}))}i(Ei,"notReadyError");function od(e){switch(e.code){case "too_large":return G(b.attachmentTooLarge,{max:Io(qr),filename:e.filename,size:Io(e.sizeBytes??0)});case "too_many":return G(b.attachmentTooMany,{max:Yr});case "unsupported_type":return G(b.attachmentUnsupported,{filename:e.filename});case "network":return b.attachmentNetwork;case "server":return G(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(od,"attachmentErrorMessage");function id(e,t){return G(e>=t?b.attachmentsFull:b.addAttachment,{used:e,total:t})}i(id,"attachControlLabel");var Ob=Object.freeze({attachments:Object.freeze([])});function yn(e={}){let{runtime:t,userRef:r,scopeEpoch:n}=J(),o=e.maxPerMessage??Yr,a=useCallback(()=>{let{services:g}=t.registry;return Xs({funnel:we({auth:g.authFor(r),...g.errorPolicy?{errorPolicy:g.errorPolicy}:{}}),transport:e.transport??g.uploadTransport,maxPerMessage:o})},[t,r,n,o,e.transport]),s=useMemo(()=>e.queue??a(),[e.queue,a]),l=useRef(new WeakSet),[u,d]=useState(null),c=u!==null&&u.of===s?u.queue:s;useEffect(()=>{if(c!==e.queue){if(l.current.has(c)){d({of:s,queue:a()});return}return ()=>{c.dispose(),l.current.add(c);}}},[c,s,a,e.queue]);let p=useSyncExternalStore(c.subscribe,c.getSnapshot,()=>Ob),[f,m]=useState(null),y=useCallback(g=>{let I=(Array.isArray(g)?g:[g]).map(k=>c.add(k)),O=I.find(k=>!k.ok);return O!==void 0&&!O.ok&&m(O.error),I},[c,m]),v=useCallback(g=>c.retry(g),[c]),h=useCallback(g=>c.remove(g),[c]),E=useCallback(()=>c.clear(),[c]),x=useCallback(()=>m(null),[m]),_=p.attachments.some(g=>g.status==="uploading"),w=p.attachments.some(g=>g.status==="failed");return useMemo(()=>({available:c.available,attachments:p.attachments,maxPerMessage:o,uploading:_,failed:w,blocked:_||w,s3Keys:p.attachments.flatMap(g=>g.status==="uploaded"&&g.s3Key!==null?[g.s3Key]:[]),rejected:f,add:y,retry:v,remove:h,clear:E,dismissRejected:x}),[c.available,p,o,_,w,f,y,v,h,E,x])}i(yn,"useChatAttachments");var Db="pet_not_registered";function ld(e){return e!=null&&e.reasonCode===Db}i(ld,"isPetNotRegistered");var Lb=Object.freeze({status:"idle",error:null,registered:null,retry:i(()=>{},"retry")});function ud(e,t,r){let{runtime:n,userRef:o,scopeEpoch:a}=J(),s=useCallback(()=>it(n.registry.services.authFor(o)),[n,o,a]),l=useMemo(()=>t===void 0?null:Ri(t),[t]),[u,d]=useState({key:null,status:"idle",error:null,registered:null}),c=useRef(0),p=useRef(r);p.current=r;let f=e===null||l===null?null:`${String(o)}|${a}|${e}|${l}`,m=useCallback(()=>{if(e===null||t===void 0||f===null)return;let v=++c.current;d({key:f,status:"registering",error:null,registered:null}),s().registerPet(e,t).then(h=>{v===c.current&&(h.ok?(d({key:f,status:"registered",error:null,registered:h.value}),p.current?.()):d({key:f,status:"failed",error:h.error,registered:null}));});},[s,e,f]);useEffect(()=>{if(f===null){c.current+=1;return}return m(),()=>{c.current+=1;}},[f,m]);let y=useCallback(()=>{u.status==="failed"&&m();},[u.status,m]);return useMemo(()=>f===null?Lb:u.key!==f?{status:"registering",error:null,registered:null,retry:y}:{status:u.status,error:u.error,registered:u.registered,retry:y},[f,u,y])}i(ud,"useChatPetRegistration");function Ri(e){return e===null||typeof e!="object"?JSON.stringify(e)??"undefined":Array.isArray(e)?`[${e.map(Ri).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)}:${Ri(n)}`).join(",")}}`}i(Ri,"stableKey");var zb=500;function Si(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,zb):null}i(Si,"sanitizeSeedPrompt");function cd(e,t,r){let n=Si(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(cd,"useInitialAsk");function Ub(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(Ub,"isCoalesced");function pd(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"}:Ub(e,r,t)?{action:"skip",reason:"coalesced"}:{action:"refresh",conversationId:r}}i(pd,"decideChatRefresh");function xi(e){let t=globalThis.console;try{t?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}i(xi,"reportHostFailure");function Hb(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}i(Hb,"isThenable");function de(e,...t){if(typeof e=="function")try{let r=e(...t);return Hb(r)&&Promise.resolve(r).then(void 0,xi),r}catch(r){xi(r);return}}i(de,"callHost");function fd(e,...t){let r;try{r=e(...t);}catch(n){return xi(n),Promise.resolve({ok:false,error:n})}return Promise.resolve(r).then(n=>({ok:true,value:n}),n=>({ok:false,error:n}))}i(fd,"callHostAsync");function yd(e,t){let r=useRef(t);r.current=t;let n=useRef(null),o=useRef(null),a=e?.isOffline===void 0?false:de(()=>e.isOffline?.()===!0)===true,s=useRef(()=>{});s.current=l=>{let{conversationId:u,isTurnInFlight:d,refresh:c}=r.current,p=pd(l,{activeConversationId:u,isTurnInFlight:d,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()},c!==void 0&&Promise.resolve(c()).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((d,c)=>{if(d===void 0)return;let p=de(()=>d(()=>{s.current(c);}));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 d of l)de(d);}},[e]);}i(yd,"useChatLifecycle");function jb(e){if(e===void 0)return null;let t=e.conversationId??"",r=e.petRef??"";return t===""&&r===""?null:`${String(t)}|${String(r)}`}i(jb,"targetKey");function hd(e,t){let r=jb(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(hd,"useCheckinTarget");var K=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",newChat:"New chat",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 hn(e){let t=e?.replace(/\s+/g," ").trim();return t||K.untitled}i(hn,"conversationTitle");function vd(e){return `${e.unreadCount!==null&&e.unreadCount>0?K.unreadPrefix:""}${K.openConversation} ${hn(e.title)}`}i(vd,"openConversationLabel");function bd(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\u2018\u2019]/g,"'").replace(/[\u201c\u201d]/g,'"').toLowerCase().trim().replace(/\s+/g," ")}i(bd,"normalizeForSearch");function Gb(e,t){let r=bd(t);if(r.length===0)return e;let n=[[],[],[]];for(let o of e){let a=bd(hn(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(Gb,"filterConversations");function ki(e){return {scope:e,rows:[],cursor:null,loading:false,loadingMore:false,error:null}}i(ki,"fresh");function Ed(e){let[t,r]=useState(false),[n,o]=useState(""),a=e.listConversations,s=useRef(0),[l,u]=useState(()=>ki(a)),d=l.scope===a?l:ki(a);useEffect(()=>(s.current+=1,r(false),o(""),u(ki(a)),()=>{s.current+=1;}),[a]);let c=useCallback(async _=>{let w=++s.current,g=_!==void 0;u(I=>({...I,scope:a,loading:!g,loadingMore:g,error:null}));let T=await e.listConversations(_?{cursor:_}:void 0);if(w===s.current){if(!T.ok){u(I=>({...I,loading:false,loadingMore:false,error:T.error.displayMessage}));return}u(I=>{let O=_&&I.scope===a?I.rows:[],k=new Set(O.map(C=>C.id));return {scope:a,loading:false,loadingMore:false,error:null,rows:[...O,...T.value.conversations.filter(C=>!k.has(C.id))],cursor:T.value.nextCursor===_?null:T.value.nextCursor}});}},[e.listConversations,a]),p=i(()=>{r(true),o(""),c();},"show"),f=i(()=>{s.current+=1,r(false);},"close"),m=i(async _=>{let w=++s.current;u(T=>({...T,loading:true,error:null}));let g=await e.resumeConversation(_);w===s.current&&(u(T=>({...T,loading:false,error:g.ok?null:g.error.displayMessage})),g.ok&&r(false));},"resume"),y=i(async()=>{let _=s.current,w=await e.loadOlderMessages();_===s.current&&!w.ok&&u(g=>({...g,error:w.error.displayMessage}));},"earlier"),v=i(()=>{e.newConversation(),s.current+=1,r(false);},"newConversation"),h=i(()=>{d.cursor===null||d.loading||d.loadingMore||n.trim().length>0||c(d.cursor);},"loadMore"),E=useMemo(()=>Gb(d.rows,n),[d.rows,n]),x=n.trim().length>0;return {...d,open:t,show:p,close:f,load:c,resume:m,earlier:y,newConversation:v,loadMore:h,query:n,setQuery:o,searching:x,filtered:E,emptyKind:d.rows.length===0?"empty":"noMatch"}}i(Ed,"useHistoryPanel");var bn="#111111",vn="#FFFFFF",Xb=Object.freeze({emergency:Object.freeze({level:"emergency",label:"Vet care now",borderColor:"#FCA5A5",backgroundColor:"#FEF2F2",textColor:"#991B1B",reasonColor:bn,pillColor:vn,showsVetAction:true}),schedule_soon:Object.freeze({level:"schedule_soon",label:"Vet care suggested soon",borderColor:"#FCD34D",backgroundColor:"#FFFBEB",textColor:"#92400E",reasonColor:bn,pillColor:vn,showsVetAction:true}),home_care:Object.freeze({level:"home_care",label:"Monitor at home",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:bn,pillColor:vn,showsVetAction:false}),general:Object.freeze({level:"general",label:"Good to know",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:bn,pillColor:vn,showsVetAction:false})});function Qb(e){return `${e.messageId}:${e.level}:${e.reason??""}`}i(Qb,"urgencySignature");function Zb(e){return G(b.urgencyGeneralReason,{petName:e?.trim()||b.emptyTitlePetFallback})}i(Zb,"generalUrgencyReason");function Sd(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:Jb(n.urgencyReason)}:n.urgencyProvided===true?{messageId:n.id,level:"general",reason:Zb(t)}:null}return null}i(Sd,"latestUrgencySource");function Jb(e){return typeof e=="string"&&e.trim().length>0?e:null}i(Jb,"shownReason");function xd(e){let t=e===null?null:Qb(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:Xb[e.level],d=e!==null&&!l&&e.level!=="general",c=useCallback(()=>{t!==null&&n(t),a(false);},[t]),p=useCallback(()=>a(true),[]);return useMemo(()=>({source:e,tier:u,signature:t,showBanner:l,showCompactIcon:d,showVetAction:l&&u!==null&&u.showsVetAction,dismissLabel:u===null?null:G(b.dismissBanner,{label:u.label}),dismiss:c,expand:p}),[e,u,t,l,d,c,p])}i(xd,"useUrgencySurface");function Td(e){return e.isBootstrapping?"loading":e.status==="error"&&e.error&&e.messages.length===0?"error":e.messages.length===0?"empty":"populated"}i(Td,"selectView");function ev(e){return e.code==="accessDenied"||e.code==="conversationNotFound"}i(ev,"needsNewConversation");function kd(e){if(e.messages.length===0)return null;let t=e.status==="error"?e.error:null;if(t!==null){let r=ev(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(kd,"turnNotice");function En(e,t){let r=e[e.length-1];return t&&(r===void 0||r.role==="user")}i(En,"awaitingAssistant");var tv=3,rv=Object.freeze([]);function Pd(e){let t=e.messages[e.messages.length-1];if(e.isStreaming||e.status==="error"||t===void 0||t.role!=="assistant")return rv;let r=new Set,n=[];for(let o of e.suggestedPrompts){let a=o.trim(),s=a.replace(/\s+/g," ").toLowerCase();if(!(s.length===0||r.has(s))&&(r.add(s),n.push(a),n.length===tv))break}return Object.freeze(n)}i(Pd,"visibleFollowUps");function _d(e){return e.sender?.displayName??b.senderVet}i(_d,"vetSenderLabel");function wd(e,t){let r={};return e!==void 0&&(r.petRef=e),t!==void 0&&(r.conversationId=t),r}i(wd,"buildChatOpts");function Cn(){let{runtime:e,userRef:t,activePet:r,scopeEpoch:n}=J(),o=useMemo(()=>it(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),d=useCallback(async()=>{let p=++u.current;s(m=>({...m,repository:o,loading:true,error:null,pets:m.repository===o?m.pets:[]}));let f=await o.list();p===u.current&&s(f.ok?{repository:o,pets:f.value,loading:false,error:null}:m=>({repository:o,pets:m.repository===o?m.pets:[],loading:false,error:f.error}));},[o]);useEffect(()=>(d(),()=>{u.current+=1;}),[d]);let c=useMemo(()=>r===null?null:l.pets.find(p=>p.petRef===r)??null,[r,l.pets]);return useMemo(()=>({pets:l.pets,activePet:c,loading:l.loading,error:l.error,refresh:d}),[l.pets,l.loading,l.error,c,d])}i(Cn,"useEverfurPets");function Id(e,t){if(t!==null){let r=e.find(n=>n.petRef===t);if(r!==void 0)return r}return e[0]??null}i(Id,"headerPetOf");var dt=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 Er=2,lv="data-ef-focus-ring",Ad="data-ef-focus-ring-color";function _i(e){return {outline:`${Er}px solid ${e}`,outlineOffset:Er}}i(_i,"focusRingStyle");var Sn=false,Rn=0;function Od(e){e.metaKey||e.ctrlKey||e.altKey||(Sn=true);}i(Od,"onKeyDown");function Ht(){Sn=false;}i(Ht,"onPointerDown");function uv(){return typeof document>"u"?()=>{}:(Rn===0&&(document.addEventListener("keydown",Od,true),document.addEventListener("pointerdown",Ht,true),document.addEventListener("mousedown",Ht,true),document.addEventListener("touchstart",Ht,true)),Rn+=1,()=>{Rn-=1,!(Rn>0)&&(document.removeEventListener("keydown",Od,true),document.removeEventListener("pointerdown",Ht,true),document.removeEventListener("mousedown",Ht,true),document.removeEventListener("touchstart",Ht,true),Sn=false);})}i(uv,"bindModality");var dv=new Set(["","text","search","email","tel","url","password","number"]);function cv(e){return e.tagName==="TEXTAREA"||e.isContentEditable?true:e.tagName!=="INPUT"?false:dv.has((e.getAttribute("type")??"").toLowerCase())}i(cv,"isTextField");function Fd(e,t){useEffect(()=>{let r=e.current;if(r===null)return;let n=uv(),o=new Map,a=i(l=>{let u=l.target;if(!(u instanceof HTMLElement)||o.has(u)||u.closest(`[${lv}="self"]`)!==null||!Sn&&!cv(u))return;o.set(u,{outline:u.style.outline,outlineOffset:u.style.outlineOffset});let d=u.closest(`[${Ad}]`),c=_i(d?.getAttribute(Ad)||t);u.style.outline=c.outline,u.style.outlineOffset=`${c.outlineOffset}px`;},"onFocusIn"),s=i(l=>{let u=l.target;if(!(u instanceof HTMLElement))return;let d=o.get(u);d!==void 0&&(o.delete(u),u.style.outline=d.outline,u.style.outlineOffset=d.outlineOffset);},"onFocusOut");return r.addEventListener("focusin",a),r.addEventListener("focusout",s),()=>{r.removeEventListener("focusin",a),r.removeEventListener("focusout",s);for(let[l,u]of o)l.style.outline=u.outline,l.style.outlineOffset=u.outlineOffset;o.clear(),n();}},[e,t]);}i(Fd,"useKeyboardFocusRing");var wi=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 Dd(e){let t=N(),r=useMemo(()=>fv(t),[t]);return jsxs("div",{role:"note",className:e.className,style:{...r.container,...e.style},children:[jsx("p",{style:r.title,children:wi.title}),jsx("p",{style:r.body,children:wi.body})]})}i(Dd,"ClinicalDisclaimer");function fv(e){let{color:t,space:r,type:n}=e,o=`${Math.round(n.size.caption*n.lineHeight.snug)}px`;return {container:{...zt,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,...P(e,"bold"),fontSize:n.size.caption,lineHeight:o,color:t.text.secondary,letterSpacing:n.letterSpacing.eyebrow},body:{margin:0,...P(e,"regular"),fontSize:n.size.caption,lineHeight:o,color:t.text.muted}}}i(fv,"makeStyles");function Ld(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),t?.prefer!==void 0&&(r.prefer=t.prefer),r}i(Ld,"chatVetVisitOptions");var Nd=Symbol.for("@everfur/sdk/televet");function Ze(){let e=globalThis,t=e[Nd];if(t!==void 0)return t;let r={presenter:null,snapshot:Object.freeze({request:null,serial:0,activeHost:null}),hosts:[],nextHost:1,listeners:new Set,dailyRegistered:false};return e[Nd]=r,r}i(Ze,"televetGlobal");function xn(e){let t=Ze();t.snapshot=Object.freeze({...t.snapshot,...e});for(let r of [...t.listeners])try{r();}catch{}}i(xn,"publish");function zd(e){let t=Ze().presenter;if(t===null)return "absent";try{return t(e)===!1?"declined":"presented"}catch(r){return console.warn("[everfur] Your registerEverfurTelevetFlow presenter threw; the in-app visit opened instead.",r),"threw"}}i(zd,"callTelevetPresenter");function Ud(e){let t=Ze();return t.listeners.add(e),()=>{t.listeners.delete(e);}}i(Ud,"subscribeTelevetExperience");function Ii(){return Ze().snapshot}i(Ii,"televetExperienceSnapshot");function yv(){return Ze().hosts.length>0}i(yv,"hasTelevetHost");function Hd(e){if(!yv())return false;let t=Object.freeze({...e});return xn({request:t,serial:Ze().snapshot.serial+1}),true}i(Hd,"presentTelevetExperience");function Ai(){Ze().snapshot.request!==null&&xn({request:null});}i(Ai,"dismissTelevetExperience");function Bd(){let e=Ze(),t=e.nextHost;return e.nextHost+=1,e.hosts=[...e.hosts,t],xn({activeHost:e.hosts[0]??null}),t}i(Bd,"claimTelevetHost");function jd(e){let t=Ze();t.hosts=t.hosts.filter(n=>n!==e);let r=t.hosts[0]??null;xn(r===null?{activeHost:r,request:null}:{activeHost:r});}i(jd,"releaseTelevetHost");function Wd(e){let t=null;return ()=>{if(t!==null)return t;let r=e();return t=r,r.then(void 0,()=>{t===r&&(t=null);}),r}}i(Wd,"memoizeTelevetLoader");function Kd(e){let[t,r]=useState(null);useEffect(()=>{let d=Bd();return r(d),()=>{jd(d);}},[]);let n=useSyncExternalStore(Ud,Ii,Ii),a=t!==null&&n.activeHost===t?n.request:null,[s,l]=useState(null),u=a!==null&&s===null;return useEffect(()=>{if(!u)return;let d=true;return e().then(c=>{d&&l(()=>c);},c=>{d&&(console.warn("[everfur] The in-app vet visit could not load its screens.",c),Ai());}),()=>{d=false;}},[u,e]),a===null||s===null?null:{module:s,request:a,serial:n.serial,dismiss:Ai}}i(Kd,"useTelevetExperienceHost");var hv=Wd(()=>import('@everfur/sdk/web/televet/booking'));function Gd({onAddToCalendar:e}){let t=Kd(hv);if(t===null)return null;let{EverfurTelevetDialog:r}=t.module;return jsx(r,{request:t.request,onClose:t.dismiss,...e?{onAddToCalendar:e}:{}},t.serial)}i(Gd,"EverfurTelevetHost");var Oi=Object.freeze(["visit","join","summary","messages"]);function Fi(e){return typeof e=="string"&&Oi.includes(e)}i(Fi,"isVetVisitIntent");var vv="/widget/v1/televet/handoffs",Ev="/widget/v1/televet/availability",Cv="/widget/v1/televet/chat-entry",Rv=/^[a-z0-9][a-z0-9_-]{0,39}$/,Sv=/^[A-Za-z0-9_-]{22}$/;var qd=32,Yd=128,Xd=64;function Di(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(Di,"vetVisitErrorReasonOf");function Qd(e){return R(D("validationFailed",{retryable:false,wireMessage:e}))}i(Qd,"invalid");function Mi(e){return R(D("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}i(Mi,"unusable");function xv(e,t){let r={};e!==void 0&&(r.pet_ref=e);let n=t?.returnTo;if(n!=null){if(typeof n!="string"||!Rv.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>Xd)return {ok:false,message:`visitRef must be 1..${Xd} characters`};r.visit_ref=u;}if(s!=null){if(!l)return {ok:false,message:"intent needs the visitRef it opens"};if(!Fi(s))return {ok:false,message:`intent must be one of ${Oi.join(", ")}`};r.intent=s;}return {ok:true,body:r}}i(xv,"handoffBody");function Tv(e){if(typeof e!="object"||e===null)return null;let{visit_ref:t,intent:r}=e;return typeof t!="string"||t.length===0||!Fi(r)?null:Object.freeze({visitRef:t,intent:r})}i(Tv,"parseVisitEcho");function Jd(e){let t=e.funnel??we({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),r=e.telemetry,n=i(o=>(Zd(r,"televet.visit.handoff_failed",{reason:Di(o)}),R(o)),"failed");return {async createHandoff(o,a){let s;if(o!=null){let h=typeof o=="string"?[...o].length:0;if(h<1||h>Yd)return n(D("validationFailed",{retryable:false,wireMessage:`pet_ref must be 1..${Yd} characters`}));s=o;}let l=xv(s,a);if(!l.ok){let h=Qd(l.message);return h.ok?h:n(h.error)}let u=l.body,d=await t.send("televet.visit.handoff",{method:"POST",path:vv,body:u},{idempotent:false,maxAttempts:1});if(!d.ok)return n(d.error);let c=kv(d.value),p=u.return_to!==void 0,f=p?d.value?.flow_id:void 0;if(p&&(typeof f!="string"||!Sv.test(f))){let h=Mi("the handoff response carried no usable return flow id");return h.ok?h:n(h.error)}let m=u.visit_ref!==void 0,y=m?Tv(d.value?.visit):null;if(m&&y===null){let h=Mi("the handoff response did not confirm the visit it opens");return h.ok?h:n(h.error)}let v=c===null?null:Object.freeze({...c,...p?{flowId:f}:{},...y!==null?{visit:y}:{}});return v===null?n(D("internalError",{retryable:false,httpStatus:502,wireMessage:"the handoff response carried no usable visit url"})):(Zd(r,"televet.visit.handoff_created",{pet_scoped:u.pet_ref!==void 0}),M(v))},async checkAvailability(o){if(typeof o!="string"||o.length>qd)return Qd(`state must be at most ${qd} characters`);let a=await t.send("televet.visit.availability",{method:"POST",path:Ev,body:{state:o}},{idempotent:false,maxAttempts:1});if(!a.ok)return R(a.error);let s=a.value?.available;return typeof s!="boolean"?Mi("the availability response carried no usable answer"):M(Object.freeze({available:s}))},async chatEntryOpen(){try{let o=await t.send("televet.visit.chat_entry",{method:"GET",path:Cv},{maxAttempts:1});return o.ok&&o.value?.open===!0}catch{return false}}}}i(Jd,"createVetVisitController");function kv(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||!Iv(t)?null:Object.freeze({url:t,expiresAt:r})}i(kv,"parseHandoff");var Pv=new Set(["localhost","127.0.0.1","[::1]"]),_v=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/,wv=/[\s\u0000-\u001f\u007f]/;function Iv(e){if(wv.test(e))return false;let t=_v.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"&&Pv.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(Iv,"isOpenableVisitUrl");function Zd(e,t,r){if(e)try{e.track(t,r);}catch{}}i(Zd,"safeTrack");var ec=false;function tc(e,t){return t!==void 0?(de(t,e),"onStartInApp"):zd(e)==="presented"?"presenter":Hd(e)?"experience":(ec||(ec=true,console.warn("[everfur] A vet visit had nowhere to open: mount <EverfurTelevetHost /> in your EverfurProvider, or pass prefer: 'redirect'.")),null)}i(tc,"openVetVisitInApp");var Li=Object.freeze({status:"idle",error:null,errorReason:null});function Ov(e,t,r){let{usState:n,chat:o,scope:a}=r,s=t&&(n!==null||o),l=`${n??""}|${o?"chat":""}`,[u,d]=useState(null);if(useEffect(()=>{if(!s)return;let p=true,f=e.current;return d(null),i(async()=>{try{if(o&&!(f.chatEntryOpen&&await f.chatEntryOpen()))return !1;if(n===null)return !0;if(!f.checkAvailability)return !1;let y=await f.checkAvailability(n);return y.ok&&y.value.available}catch{return false}},"ask")().then(y=>{p&&d({key:l,open:y});}),()=>{p=false;}},[s,l,n,o,a,e]),!s)return null;let c=u!==null&&u.key===l;return {open:c&&u.open,pending:!c}}i(Ov,"usePreflight");var Fv=Object.freeze({status:"opening",error:null,errorReason:null});function oc(e,t={}){let{runtime:r,userRef:n,scopeEpoch:o}=J(),a=Nt("televet"),s=a.enabled&&n!==null,l=t.usState??null,u=t.entry==="chat",d=t.petRef??null,c=t.prefer==="redirect",p=useMemo(()=>{if(t.controller)return t.controller;let{services:S}=r.registry;return Jd({auth:S.authFor(n),telemetry:S.telemetry,...S.errorPolicy?{errorPolicy:S.errorPolicy}:{}})},[r,n,o,t.controller]),f=useRef(p);f.current=p;let m=useMemo(()=>({runtime:r,userRef:n,scopeEpoch:o}),[r,n,o]),y=Ov(f,s,{usState:l,chat:u,scope:m}),v=s&&(y===null||y.open)&&(!u||d!==null),h=t.returnTo??null,[E,x]=useState(Li),_=useRef(null),w=useRef({runtime:r,userRef:n,scopeEpoch:o});w.current={runtime:r,userRef:n,scopeEpoch:o};let g=useRef(p);g.current=p;let T=useRef(v);T.current=v;let I=useCallback((S,A)=>{if(_.current)return _.current;let F=i((W,Ee)=>(x({status:W==="cancelled"?"idle":"error",error:Ee,errorReason:W==="cancelled"?null:W}),Object.freeze({opened:false,reason:W,error:Ee})),"fail");if(!T.current)return Promise.resolve(F("unavailable",null));let B=e.prepare();if(!B.ok)return Promise.resolve(F(B.reason,null));let $=w.current,te=g.current;x(Fv);let $e=(async()=>{let W,Ee={...h!==null?{returnTo:h}:{},...u?{entry:"chat"}:{},...A!==null?{visitRef:A.visitRef}:{},...A!==null&&A.intent!==null&&A.intent!==void 0?{intent:A.intent}:{}},Oe=Object.keys(Ee).length===0?void 0:Ee,ft=S===void 0?d:S;try{W=await(Oe===void 0?te.createHandoff(ft):te.createHandoff(ft,Oe));}catch{return e.abandon(B.value),F("unknown",null)}let mt=w.current;if(mt.runtime!==$.runtime||mt.userRef!==$.userRef||mt.scopeEpoch!==$.scopeEpoch)return e.abandon(B.value),F("cancelled",null);if(!W.ok)return e.abandon(B.value),F(Di(W.error),W.error);let nt=await e.finish(B.value,W.value);return nt!==null?F(nt,null):(x(Li),Object.freeze(W.value.flowId===void 0?{opened:true}:{opened:true,flowId:W.value.flowId}))})().finally(()=>{_.current===$e&&(_.current=null);});return _.current=$e,$e},[e,d,h,u]),O=useCallback((S,A)=>{if(!T.current)return x({status:"error",error:null,errorReason:"unavailable"}),Promise.resolve(Object.freeze({opened:false,reason:"unavailable",error:null}));let F=S===void 0?d:S,B={...F!==null?{petRef:F}:{},...l!==null?{usState:l}:{},...A!==null?{visitRef:A.visitRef,intent:A.intent}:{}};return tc(B)===null?(x({status:"error",error:null,errorReason:"unavailable"}),Promise.resolve(Object.freeze({opened:false,reason:"unavailable",error:null}))):(x(Li),Promise.resolve(Object.freeze({opened:true})))},[d,l]),k=useCallback(S=>c?I(S,null):O(S,null),[c,I,O]),C=useCallback((S,A)=>c?I(void 0,{visitRef:S,intent:A??null}):O(void 0,{visitRef:S,intent:A??null}),[c,I,O]);return {available:v,isPending:a.isPending||(y?.pending??false),status:E.status,error:E.error,errorReason:E.errorReason,open:k,openVisit:C}}i(oc,"useVetVisitWith");function ic(e){try{e.closed||e.close();}catch{}}i(ic,"closeQuietly");var Mv=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 ic(e),"popupBlocked"}},abandon({tab:e}){ic(e);}});function ac(e){return oc(Mv,e)}i(ac,"useVetVisit");var sc='button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])';function Ui(e){return e.tagName==="DIALOG"}i(Ui,"isDialogElement");function Dv(e,t){if(t.isDefaultPrevented()||t.nativeEvent.isComposing)return false;let r=t.target;return !(r instanceof Element)||r.closest("dialog")===e}i(Dv,"ownsEscape");function Je(e,t,r,n){let o=n?.escapeAtKeyDown===true,a=useRef(null),s=useRef(false),l=useRef(null),u=useRef(r);u.current=r;let d=useCallback(()=>{if(!s.current)return;s.current=false;let f=u.current===void 0?l.current:u.current.current;f&&f.isConnected&&f.focus(),(!f||!f.isConnected||document.activeElement===f)&&(l.current=null);},[]);useEffect(()=>{if(!e){d();return}let f=a.current;if(!s.current){let y=typeof document>"u"?null:document.activeElement;y!==null&&f!==null&&f.contains(y)||(l.current=y instanceof HTMLElement?y:null);}if(s.current=true,f===null)return;if(!Ui(f)){f.contains(document.activeElement)||(f.querySelector(sc)??f).focus();return}let m=f;typeof m.showModal=="function"?m.open||m.showModal():m.setAttribute("open","");},[e,d]),useEffect(()=>d,[d]),useEffect(()=>{let f=a.current;if(!e||f===null||!Ui(f))return;let m=f;if(typeof m.showModal!="function")return;let y=null,v=i(E=>{E.target instanceof HTMLElement&&(y=E.target);},"onFocusIn"),h=i(()=>{if(!m.isConnected||m.open)return;let E=y;m.showModal(),E!==null&&E.isConnected&&m.contains(E)&&document.activeElement!==E&&E.focus();},"onNativeClose");return m.addEventListener("focusin",v),m.addEventListener("close",h),()=>{m.removeEventListener("focusin",v),m.removeEventListener("close",h);}},[e]);let c=useCallback(f=>{let m=a.current;if(m===null)return;if(f.key==="Escape"&&!Ui(m)){f.preventDefault(),f.stopPropagation(),t();return}if(f.key==="Escape"&&o&&Dv(m,f)){f.preventDefault(),t();return}if(f.key!=="Tab")return;let y=Array.from(m.querySelectorAll(sc)),v=y[0],h=y[y.length-1];if(!v||!h){f.preventDefault();return}let E=document.activeElement;f.shiftKey&&(E===v||!m.contains(E))?(f.preventDefault(),h.focus()):!f.shiftKey&&(E===h||!m.contains(E))&&(f.preventDefault(),v.focus());},[t,o]),p=useCallback(f=>{f.target===f.currentTarget&&(f.preventDefault(),t());},[t]);return {dialogRef:a,onKeyDown:c,onCancel:p}}i(Je,"useModalDialog");var Lv=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"})]}),history:jsxs(Fragment,{children:[jsx("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),jsx("path",{d:"M3 3v5h5"}),jsx("path",{d:"M12 7v5l4 2"})]}),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"})}),Nv=Object.freeze({send:Object.freeze({viewBox:"0 0 17.3973 19.8995"})});function H({name:e,size:t,color:r,fill:n,strokeWidth:o,style:a}){let s=Nv[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:Lv[e]})}i(H,"Glyph");var Bt=44,Pn=36,Uv=12,Hv=16,lc="#FFFFFF";function uc({image:e,onClose:t,returnFocusTo:r}){let n=N(),o=useMemo(()=>Bv(n),[n]),a=Je(e!==null,t,r);return e===null?null:jsxs("dialog",{ref:a.dialogRef,"aria-label":G(b.previewAttachment,{filename:e.filename}),onCancel:a.onCancel,onKeyDown:a.onKeyDown,style:o.lightbox,"data-ef-focus-ring-color":lc,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(H,{name:"x",size:18,color:lc})})})]})}i(uc,"AttachmentImageLightbox");function Bv(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:Uv-(Bt-Pn)/2,right:Hv-(Bt-Pn)/2,boxSizing:"border-box",width:Bt,height:Bt,minWidth:Bt,minHeight:Bt,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},closeDisc:{boxSizing:"border-box",width:Pn,height:Pn,borderRadius:t.pill,backgroundColor:"rgba(0,0,0,0.45)",display:"inline-flex",alignItems:"center",justifyContent:"center"}}}i(Bv,"makeStyles");var Vv="file",$v="chat attachment upload: the file handle carries no bytes",Hi="chat attachment upload failed";function wn(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($v));if(o.signal?.aborted===true)return Promise.reject(new Error(Hi));let s=new FormData;for(let[l,u]of Object.entries(r.upload_fields))s.append(l,u);return s.append(Vv,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(Hi));o.onProgress?.(1);},()=>Promise.reject(new Error(Hi)))}})}i(wn,"createWebAttachmentTransport");function In(e){return Object.freeze({uri:URL.createObjectURL(e),mimeType:e.type,sizeBytes:e.size,name:e.name,blob:e})}i(In,"fileToAttachmentHandle");function Rr(e){try{URL.revokeObjectURL(e);}catch{}}i(Rr,"revokeObjectUrl");function Bi(e){return ir(e)==="cat"?"cat":"dog"}i(Bi,"speciesOf");function ji(e){return typeof e!="number"||!Number.isFinite(e)||e<0?null:Math.floor(e)}i(ji,"petAgeYears");function cc(e){let t=ji(e.ageYears),r=Bi(e.species)==="cat"?"Cat":"Dog";if(t==null)return r;let n=t===1?"1 yr":`${t} yrs`;return `${r} \xB7 ${n}`}i(cc,"formatPetMeta");var dc=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 Wv(e){let t=0;for(let r=0;r<e.length;r+=1)t=t*31+e.charCodeAt(r)>>>0;return dc[t%dc.length]}i(Wv,"pickInitialsPalette");function Vi(e){let t=(e??"").trim();return (Array.from(t)[0]??"?").toUpperCase()}i(Vi,"getInitial");function An(e){return {...Wv(e.petRef),initial:Vi(e.name)}}i(An,"petInitials");var pc=Object.freeze({visitButton:"Talk to a vet"});var On=44,$i=44,Fn=48,Gv=18,fc=22,qv="80vh";function mc(e){let{open:t,pets:r,activePetRef:n,onClose:o,onSelect:a,onAddPet:s=null,returnFocusTo:l}=e,u=N(),d=useMemo(()=>Yv(u),[u]),c=Je(t,o,l);return t?jsxs("dialog",{ref:c.dialogRef,"aria-label":b.yourPets,onCancel:c.onCancel,onKeyDown:c.onKeyDown,style:d.sheet,children:[jsx("h2",{style:d.title,children:b.yourPets}),jsx("ul",{style:d.list,children:r.map(p=>{let f=p.petRef===n,m=p.name?.trim()||b.yourPet,y=An(p);return jsx("li",{children:jsxs("button",{type:"button","aria-current":f?"true":void 0,"aria-label":G(f?b.petCurrentlyActive:b.switchToPet,{name:m}),onClick:()=>a(p.petRef),style:{...d.row,...f?d.rowActive:null},children:[jsx("span",{style:d.ring,children:jsx("span",{style:{...d.disc,backgroundColor:y.background,color:y.foreground},children:y.initial})}),jsxs("span",{style:d.text,children:[jsx("span",{style:d.name,children:m}),jsx("span",{style:d.meta,children:`${f?b.activePrefix:""}${cc(p)}`})]}),f?jsx(H,{name:"check",size:Gv,color:u.color.brandInk,strokeWidth:2.5}):null]})},p.petRef)})}),s!==null?jsxs("button",{type:"button","aria-label":b.addAnotherPet,onClick:s,style:d.addRow,children:[jsx("span",{style:d.addDisc,children:"+"}),jsx("span",{style:d.addLabel,children:b.addAnotherPet})]}):null,jsx("button",{type:"button",onClick:o,style:d.close,children:b.close})]}):null}i(mc,"PetSwitcherDialog");function Yv(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:qv,overflowY:"auto",padding:`${r.lg+4}px ${r.lg+4}px ${r.xxl}px`,border:0,borderRadius:`${fc}px ${fc}px 0 0`,backgroundColor:t.surface,color:t.text.primary,display:"flex",flexDirection:"column",gap:r.md+2},title:{margin:0,...P(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:On,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:Fn,height:Fn,borderRadius:n.pill,border:`2px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:$i,height:$i,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...P(e,"bold"),fontSize:Math.round($i*.42),lineHeight:1,textTransform:"uppercase"},text:{flex:"1 1 auto",minWidth:0,display:"flex",flexDirection:"column",gap:2},name:{...P(e,"bold"),fontSize:o.size.body+1,lineHeight:`${o.size.body+4}px`,color:t.text.primary,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},meta:{...P(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:On,padding:`${r.xs}px ${r.sm}px`,background:"none",border:"none",borderRadius:n.lg,cursor:"pointer",textAlign:"left"},addDisc:{boxSizing:"border-box",width:Fn,height:Fn,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:{...P(e,"bold"),fontSize:o.size.body,color:t.text.primary},close:{boxSizing:"border-box",alignSelf:"center",minHeight:On,minWidth:On,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",...P(e,"medium"),fontSize:o.tierSizes.control.body}}}i(Yv,"makeStyles");var Sr=35,Cc=1.75,Wi=Sr-Cc*2,yc=12.4,gc=36,hc=20,bc=9,Zv=1.5,ct=44,Rc=28,Jv=160;function Sc(e){let{pets:t,activePet:r,unread:n,onOpenHistory:o,historyTriggerRef:a,onSelectPet:s,onAddPet:l=null,vetEntry:u=null}=e,{rail:d=false,historyOpen:c=false,onNewChat:p}=e,f=N(),m=useMemo(()=>rE(f),[f]),y=jsxs("div",{style:m.historyControls,children:[p!==void 0?jsx("button",{type:"button",onClick:p,"aria-label":K.newChat,style:m.menuButton,children:jsx(H,{name:"squarePen",size:hc,color:f.color.text.primary})}):null,jsx("button",{ref:a,type:"button",onClick:o,"aria-label":n?b.openMenuUnread:b.openMenu,"aria-expanded":c,style:m.menuButton,children:jsxs("span",{"aria-hidden":"true",style:m.menuDisc,children:[jsx(H,{name:"history",size:hc,color:f.color.text.primary}),n?jsx("span",{style:m.unreadDot}):null]})})]});return jsxs("header",{style:m.bar,children:[d?null:y,jsx("div",{style:m.centre,children:jsx(eE,{logoUrl:f.meta.logoUrl,name:f.meta.displayName,styles:m})}),u!==null?jsx("button",{type:"button",onClick:u,style:m.vetEntry,children:pc.visitButton}):null,jsx(tE,{pets:t,activePet:r,styles:m,onSelectPet:s,onAddPet:l}),d?y:null]})}i(Sc,"ChatHeader");function eE({logoUrl:e,name:t,styles:r}){let[n,o]=useState(null);return e===null||n===e?null:jsx("img",{src:e,alt:t,height:Rc,style:r.logo,decoding:"async",referrerPolicy:"no-referrer",onError:()=>o(e)})}i(eE,"BrandLogo");function tE({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(vc,{pet:t,styles:r})}):jsxs("div",{style:r.avatarSlot,children:[jsxs("button",{ref:l,type:"button","aria-haspopup":"dialog","aria-expanded":a,"aria-label":G(b.switchActivePet,{name:u}),onClick:()=>s(true),style:r.avatarButton,children:[jsx(vc,{pet:t,styles:r}),jsx("span",{"aria-hidden":"true",style:r.addBadge,children:jsx("span",{style:r.addBadgeGlyph,children:"+"})})]}),jsx(mc,{open:a,pets:e,activePetRef:t.petRef,returnFocusTo:l,onClose:()=>s(false),onSelect:d=>{s(false),n(d);},onAddPet:o===null?null:()=>{s(false),o();}})]})}i(tE,"PetAvatarSlot");function vc({pet:e,styles:t}){let r=e===null?null:An(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?Vi(null):r.initial})})}i(vc,"AvatarRing");function rE(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",...P(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:ct,minHeight:ct,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:gc,height:gc,borderRadius:n.pill,display:"inline-flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4},historyControls:{display:"flex",flexDirection:"row",alignItems:"center",flexShrink:0},unreadDot:{position:"absolute",top:6,right:6,boxSizing:"border-box",width:bc,height:bc,borderRadius:n.pill,backgroundColor:t.danger,border:`${Zv}px solid ${t.surfaceCream}`},centre:{flex:"1 1 auto",minWidth:0,display:"flex",alignItems:"center",justifyContent:"center"},logo:{display:"block",height:Rc,width:"auto",maxWidth:Jv,objectFit:"contain"},avatarSlot:{position:"relative",minWidth:ct,minHeight:ct,display:"inline-flex",alignItems:"center",justifyContent:"center"},avatarButton:{position:"relative",boxSizing:"border-box",minWidth:ct,minHeight:ct,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:0,border:0,background:"transparent",cursor:"pointer"},ring:{boxSizing:"border-box",width:Sr,height:Sr,borderRadius:n.pill,border:`${Cc}px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:Wi,height:Wi,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...P(e,"bold"),fontSize:Math.round(Wi*.42),lineHeight:1,textTransform:"uppercase"},discEmpty:{backgroundColor:t.surfaceSubtle,color:t.text.muted},addBadge:{position:"absolute",bottom:(ct-Sr)/2,right:(ct-Sr)/2,boxSizing:"border-box",width:yc,height:yc,borderRadius:n.pill,border:`0.5px solid ${t.success}`,backgroundColor:t.surface,display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},addBadgeGlyph:{...P(e,"bold"),fontSize:o.tierSizes.badge.small,lineHeight:1,color:t.brandInk}}}i(rE,"makeStyles");var xc=Object.freeze({kind:"static"}),Tc=createContext(xc);function kc(){return useContext(Tc)}i(kc,"useCitationLinks");function sE(e){return useMemo(()=>e===void 0?xc:Object.freeze({kind:"host",open:i(t=>{de(e,t,"citation");},"open")}),[e])}i(sE,"useCitationLinkMode");function Pc({onOpenUrl:e,children:t}){let r=sE(e);return createElement(Tc.Provider,{value:r},t)}i(Pc,"CitationLinksScope");function lE(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(lE,"slotBox");function _c(e){return e===void 0||e.backgroundColor!==void 0?e:e.borderRadius===void 0?void 0:{borderRadius:e.borderRadius}}i(_c,"ownGroundSlot");function ve(e){return e?.textColor===void 0?{}:{color:e.textColor}}i(ve,"slotText");function Te(e,t){let r=lE(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(Te,"slotBoxCss");var wc=2;function Ki(e){return typeof e!="number"||!Number.isInteger(e)?wc:e<1?1:e>6?6:e}i(Ki,"headingLevel");function dE(e){return e>=6?6:e+1}i(dE,"nextHeadingLevel");function Ic(e){return `h${String(e)}`}i(Ic,"headingTag");var cE=dE(wc);createContext(cE);var Tr=320,hE=480,bE=Tr+hE,vE=1024,qi=768,Ac="72ch",Yi=Object.freeze({rail:false,desktop:false}),EE=Object.freeze({rail:true,desktop:false}),CE=Object.freeze({rail:true,desktop:true});function RE(e){return e===null||e<bE?Yi:e>=vE?CE:EE}i(RE,"layoutFor");var Dn=createContext({layout:Yi,report:i(()=>{},"report"),headingLevel:Ki(void 0)});function Ln(){return useContext(Dn).layout}i(Ln,"useChatLayout");function Oc(){return useContext(Dn).headingLevel}i(Oc,"useChatHeadingLevel");function Fc({children:e,headingLevel:t}){let[r,n]=useState(Yi),o=Ki(t),a=useMemo(()=>({layout:r,report:n,headingLevel:o}),[r,o]);return createElement(Dn.Provider,{value:a},e)}i(Fc,"ChatLayoutScope");function Mc(e){let{report:t}=useContext(Dn);useEffect(()=>{let r=e.current;if(r===null||typeof ResizeObserver>"u")return;let n=i(()=>{let a=r.getBoundingClientRect().width;t(RE(a>0?Math.round(a):null));},"read");n();let o=new ResizeObserver(n);return o.observe(r),()=>o.disconnect()},[e,t]);}i(Mc,"useMeasuredLayout");var Xi=Object.freeze({standard:Rt.standard,emphasized:Rt.emphasized,exit:Rt.exit,outQuad:Object.freeze([.25,.46,.45,.94])}),Qi=dr,Dc=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}),SE=Object.freeze({...Dc,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 Lc(e){return e.motion.reducedMotion?SE:Dc}i(Lc,"chatMotion");function Nc(e,t){return Math.max(0,t)*e.followUpStaggerMs}i(Nc,"followUpDelayMs");function zc(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(zc,"nextRevealLength");function ee(){let e=N();return useMemo(()=>Lc(e),[e])}i(ee,"useChatMotion");function jt(e){return e!==null&&typeof e.animate=="function"}i(jt,"canAnimate");function ke(e,t){if(!jt(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:Qi(Xi.standard),fill:"backwards"})}catch{return null}}i(ke,"animateEnter");function Zi(e,t,r){if(!jt(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:Qi(Xi.exit),fill:"forwards"});return new Promise(o=>{n.onfinish=()=>o(),n.oncancel=()=>o();})}catch{return Promise.resolve()}}i(Zi,"animateExit");function Ji(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(Ji,"usePresence");function Bc(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=>zc(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(Bc,"useRevealedText");var He=44,wE="85%",ea={y:16,blur:48,alpha:.18},IE=.32,AE=36,jc=8,ta=1.5,OE=.08,FE="50%";function $c({chat:e,history:t,mode:r,returnFocusTo:n}){let o=N(),a=r==="rail"&&!Bl(o)?"brand":"surface",s=useMemo(()=>LE(o,a),[o,a]),l=ee(),u=Je(r==="dialog"&&t.open,t.close,n),d=useRef(null),c=t.open,p=l.drawerMs;if(useEffect(()=>{if(!c||r!=="dialog")return;let m=ke(d.current,{durationMs:p,fromOpacity:0,fromTranslateX:"-100%"});return ()=>m?.cancel()},[c,r,p]),!c)return null;let f=jsx(ME,{chat:e,history:t,styles:s,theme:o,ink:a==="brand"?o.color.onPrimary:o.color.brandInk});return r==="rail"?jsx("aside",{ref:m=>{d.current=m;},"aria-label":K.heading,"data-ef-focus-ring-color":a==="brand"?o.color.onPrimary:o.color.brandInk,style:s.rail,children:f}):jsx("div",{style:s.scrim,onClick:t.close,children:jsx("div",{ref:m=>{u.dialogRef.current=m,d.current=m;},role:"dialog","aria-modal":"true","aria-label":K.heading,tabIndex:-1,onKeyDown:u.onKeyDown,onClick:m=>m.stopPropagation(),style:s.overlay,children:f})})}i($c,"HistoryDrawer");function ME({chat:e,history:t,styles:r,theme:n,ink:o}){let{filtered:a,loading:s,loadingMore:l,error:u,cursor:d,emptyKind:c,searching:p,query:f,setQuery:m}=t,y=!s&&u===null,[v,h]=useState(false);return jsxs(Fragment,{children:[jsxs("div",{style:r.toolbar,children:[jsxs("label",{style:{...r.searchPill,...v?_i(o):null},children:[jsx(H,{name:"search",size:16,color:n.color.text.muted}),jsx("input",{type:"search",value:f,onChange:E=>m(E.target.value),onFocus:()=>h(true),onBlur:()=>h(false),"data-ef-focus-ring":"self","aria-label":K.search,placeholder:K.search,autoComplete:"off",style:r.searchInput})]}),jsx("button",{type:"button",onClick:t.newConversation,"aria-label":K.newChat,style:r.roundControl,children:jsx(H,{name:"squarePen",size:16,color:n.color.brandInk})}),jsx("button",{type:"button",onClick:t.close,"aria-label":K.closeA11y,style:r.roundControl,children:jsx(H,{name:"x",size:16,color:n.color.brandInk})})]}),jsx("p",{style:r.heading,children:K.heading}),s?jsx("p",{role:"status",style:r.state,children:K.loading}):null,u!==null?jsxs("div",{style:r.stateBlock,children:[jsx("p",{role:"alert",style:r.state,children:K.loadFailed}),jsx("button",{type:"button",onClick:()=>{t.load();},"aria-label":K.retryA11y,style:r.retryControl,children:K.retry})]}):null,y&&a.length===0?jsxs("div",{style:r.stateBlock,children:[jsx("p",{style:r.state,children:c==="noMatch"?K.noMatch:K.empty}),jsx("p",{style:r.stateBody,children:c==="noMatch"?K.noMatchBody:K.emptyBody})]}):null,y&&a.length>0?jsx(DE,{rows:a,activeId:e.conversationId,onSelect:E=>{t.resume(E);},styles:r,canLoadMore:d!==null&&!p&&!l,onLoadMore:t.loadMore}):null,l?jsx("p",{role:"status",style:r.state,children:K.loadingMore}):null]})}i(ME,"PanelBody");function DE({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 d=useCallback(c=>{s.current=c;},[]);return useEffect(()=>{let c=s.current;if(!l||!o||c===null)return;let p=new IntersectionObserver(f=>{f.some(m=>m.isIntersecting)&&u.current();},{rootMargin:FE});return p.observe(c),()=>p.disconnect()},[l,o,e.length]),jsxs("ul",{style:n.list,children:[e.map(c=>{let p=c.unreadCount!==null&&c.unreadCount>0,f=c.id===t;return jsx("li",{children:jsxs("button",{type:"button","aria-label":vd(c),"aria-current":f?"true":void 0,onClick:()=>r(c.id),style:{...n.row,...f?n.rowActive:null},children:[jsx("span",{style:{...n.rowTitle,...p?n.rowTitleUnread:null},children:hn(c.title)}),p?jsx("span",{"aria-hidden":"true",style:n.unreadDot}):null]})},c.id)}),o?jsx("li",{ref:d,style:n.sentinel,children:l?null:jsx("button",{type:"button",onClick:a,style:n.textControl,children:K.more})}):null]})}i(DE,"RowList");function LE(e,t){let r=e.color,n=e.space,o=e.radius,a=e.type,s=t==="brand",l=s?r.onPrimary:r.text.primary,u={boxSizing:"border-box",display:"flex",flexDirection:"column",gap:n.md,padding:`${n.lg}px ${n.lg}px ${n.lg}px`,backgroundColor:s?r.brand:r.surface,color:l,overflowY:"auto"},d={boxSizing:"border-box",minHeight:He,minWidth:He,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:`0 ${n.md}px`,borderRadius:o.pill,border:`1px solid ${l}`,background:"transparent",color:l,cursor:"pointer",...P(e,"medium"),fontSize:a.tierSizes.control.body};return {rail:{...u,flex:`0 0 ${Tr}px`,width:Tr,minHeight:0,borderRadius:`${o.lg}px 0 0 ${o.lg}px`,...s?null:{backgroundColor:r.surfaceCream,borderLeft:`1px solid ${r.brandBorder}`}},scrim:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden",zIndex:1,backgroundColor:qe(r.shadow,IE)??"transparent"},overlay:{...u,position:"absolute",top:0,bottom:0,left:0,margin:0,width:Tr,maxWidth:wE,border:0,borderRadius:0,boxShadow:`0 ${ea.y}px ${ea.blur}px ${qe(r.brand,ea.alpha)??"transparent"}`,outline:"none"},toolbar:{display:"flex",flexDirection:"row",alignItems:"center",gap:n.sm},searchPill:{flex:"1 1 auto",minWidth:0,minHeight:He,display:"flex",flexDirection:"row",alignItems:"center",gap:n.sm,padding:`0 ${n.md+2}px`,borderRadius:o.pill,boxSizing:"border-box",...s?{backgroundColor:r.surface,border:`1px solid ${r.onPrimary}`}:{backgroundColor:r.surfaceCream,border:`1px solid ${r.brandBorderStrong}`},color:r.text.primary},searchInput:{boxSizing:"border-box",flex:"1 1 auto",minWidth:0,minHeight:He,margin:0,padding:0,border:0,outline:"none",background:"transparent",...P(e,"regular"),fontSize:a.size.bodyTight,lineHeight:`${a.size.bodyTight+3}px`,color:r.text.primary},roundControl:{boxSizing:"border-box",flexShrink:0,width:He,height:He,minWidth:He,minHeight:He,margin:0,padding:(He-AE)/2,border:0,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer",backgroundClip:"content-box",backgroundColor:s?r.surface:r.brandSoft,borderRadius:o.pill},heading:{margin:0,...P(e,"bold"),fontSize:a.tierSizes.heading.body,lineHeight:`${a.tierSizes.heading.body+3}px`,color:l},state:{margin:0,...P(e,"regular"),fontSize:a.size.body,lineHeight:`${a.size.body+4}px`,color:l},stateBody:{margin:0,...P(e,"regular"),fontSize:a.size.caption,lineHeight:`${a.size.caption+4}px`,color:l,opacity:.8},stateBlock:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:n.sm},textControl:d,retryControl:{...d,...Te(e.slots.primaryButton),...ve(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:n.sm,margin:0,padding:`${n.md}px ${n.xs}px`,border:0,borderRadius:o.sm,background:"transparent",color:l,textAlign:"left",cursor:"pointer",font:"inherit"},rowActive:{backgroundColor:qe(l,OE)??"transparent"},rowTitle:{flex:"1 1 auto",minWidth:0,...P(e,"regular"),fontSize:a.size.body,lineHeight:`${a.size.body+4}px`,color:l,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},rowTitleUnread:P(e,"bold"),unreadDot:{boxSizing:"border-box",flexShrink:0,width:jc+ta*2,height:jc+ta*2,borderRadius:o.pill,backgroundColor:r.danger,border:`${ta}px solid ${s?r.brand:r.surface}`},sentinel:{minHeight:1,display:"flex",justifyContent:"center",padding:`${n.xs}px 0`}}}i(LE,"makeStyles");var et=44,Vt=22,UE=12,HE=20,BE=13,jE=16,VE=.75;function Kc({surface:e,vetEntry:t,renderVetAction:r,onFindVet:n}){let o=N(),a=useMemo(()=>GE(o),[o]),s=ee(),l=Ji(e.showBanner,s.bannerOutMs),u=Ji(e.showCompactIcon,s.iconOutMs);return jsxs(Fragment,{children:[l.present&&e.tier!==null&&e.source!==null?jsx($E,{surface:e,exiting:l.exiting,styles:a,action:e.showVetAction?jsx(WE,{tier:e.tier,styles:a,vetEntry:t,renderVetAction:r,onFindVet:n}):null},e.signature??"banner"):null,u.present?jsx(KE,{exiting:u.exiting,onExpand:e.expand,styles:a}):null]})}i(Kc,"UrgencyBanner");function $E({surface:e,exiting:t,styles:r,action:n}){let o=useRef(null),a=ee();useEffect(()=>{let d=ke(o.current,{durationMs:a.bannerInMs,fromOpacity:0});return ()=>d?.cancel()},[a.bannerInMs]),useEffect(()=>{t&&Zi(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(H,{name:"x",size:UE,color:s.textColor,strokeWidth:2.25})})})]})}i($E,"Banner");function WE({tier:e,styles:t,vetEntry:r,renderVetAction:n,onFindVet:o}){let a=N(),s=e.level,l=r.available?r.open:o!==void 0?()=>{de(o,s);}:null,u=_c(a.slots.vetVisitButton),d=u?.textColor??e.textColor,c=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,...Te(u),...ve(u)},children:[jsx(H,{name:"mapPin",size:BE,color:d}),jsx("span",{children:b.findVet})]});return n!==void 0?jsx("div",{style:t.actionRow,children:jsx(kt,{render:()=>n(s),fallback:c,resetKey:s})}):c===null?null:jsx("div",{style:t.actionRow,children:c})}i(WE,"VetAction");function KE({exiting:e,onExpand:t,styles:r}){let n=useRef(null),o=ee(),a=N();return useEffect(()=>{let s=ke(n.current,{durationMs:o.iconInMs,fromOpacity:0});return ()=>s?.cancel()},[o.iconInMs]),useEffect(()=>{e&&Zi(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(H,{name:"info",size:HE,color:a.color.text.muted})})})}i(KE,"CompactIcon");function GE(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:jE,borderStyle:"solid",borderWidth:VE,display:"flex",flexDirection:"column",gap:2},label:{margin:0,paddingRight:Vt,...P(e,"monoBold"),fontSize:o.caption,lineHeight:`${o.caption+3}px`},reason:{margin:0,paddingRight:Vt,...P(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:et,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",...P(e,"monoBold"),fontSize:a.caption,lineHeight:`${a.caption+3}px`},dismissHit:{position:"absolute",top:6-(et-Vt)/2,right:6-(et-Vt)/2,boxSizing:"border-box",width:et,height:et,minWidth:et,minHeight:et,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},dismissDisc:{boxSizing:"border-box",width:Vt,height:Vt,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:et,minHeight:et,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"}}}i(GE,"makeStyles");var rp=300,Gc=120,zn=44,da=120;var XE="100 / 12",QE=480,qc=18,ZE="min(75%, 34rem)",JE="lg",eC=15,tC=22,rC=17,nC=28,oa="-0.005em";var ia=1,aa={y:2,blur:8,alpha:.04},oC=.6,iC="md",Yc="xs",Xc="lg",aC="xl",sC=60,sa=1,lC="xs",uC=14,la={y:1,blur:2,alpha:.08},dC=52,Qc=16,Zc=26,Jc="-0.01em",ua=36,np=24,op=22,cC=.4,pC=.5;var ep=24,fC=3,ip=900,ap=20,mC=14,yC="0.09em",gC=22;function Pe(e,t){return Math.round(e*t*10)/10}i(Pe,"scaledPx");function hC(e){let t=e.scale>0?e.scale:1;return Math.round(e.size.body/t*10)/10/xe.type.size.body}i(hC,"baseFactor");function kr(e,t){return t===1?e:Math.round(e*t*10)/10}i(kr,"basePx");function ye(){let e=N(),{desktop:t}=Ln(),r=useMemo(()=>bC(e,t),[e,t]);return {theme:e,styles:r}}i(ye,"useChatTheme");function tp(e){return `max(${e}px, calc((100% - ${qi}px) / 2))`}i(tp,"columnInset");function bC(e,t){let r=e.color,n=e.space,o=e.radius,a=e.type,s=e.slots,l=mi(a.family),u=n[JE],d=hC(a),c=kr(t?rC:eC,d),p=Math.round(kr(t?nC:tC,d)),f=Math.max(Qc,kr(Qc,d)),m=Math.max(Zc,Math.round(kr(Zc,d))),y=Math.round(kr(gC,d)),v=a.tierSizes.control,h=a.tierSizes.compact,E={boxSizing:"border-box",minHeight:zn,minWidth:zn,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,border:0,cursor:"pointer",...P(e,"medium"),fontSize:v.body,lineHeight:`${Math.round(v.body*a.lineHeight.normal)}px`};return {container:{...zt,boxSizing:"border-box",position:"relative",display:"flex",flexDirection:"column",minHeight:Gc,height:"100%",backgroundColor:r.chatGround,color:r.text.primary,fontFamily:l},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:Gc,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:n.xl},spinner:{boxSizing:"border-box",width:ep,height:ep,borderRadius:o.pill,border:`${fC}px solid ${r.brandSofter}`,borderTopColor:r.brandInk},emptyScroller:{boxSizing:"border-box",flex:`1 1 ${QE}px`,minHeight:0,overflowY:"auto"},emptyContent:{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start",height:"100%",paddingLeft:n.lg,paddingRight:n.lg,paddingBottom:n.lg,gap:qc},emptyLead:{flex:"0 1 auto",width:`calc(100% + ${n.lg*2}px)`,aspectRatio:XE,minHeight:0,marginBottom:-qc},errorText:{margin:`0 0 ${n.md}px`,...P(e,"regular"),fontSize:a.size.subtitle,lineHeight:`${Math.round(a.size.subtitle*a.lineHeight.snug)}px`,color:r.danger,textAlign:"center"},retryButton:{...E,padding:`${n.sm}px ${n.xl}px`,borderRadius:o.pill,backgroundColor:r.brand,color:r.onPrimary,...Te(s.primaryButton),...ve(s.primaryButton)},setupNotice:{boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"space-between",gap:n.sm,padding:`${n.sm}px ${n.lg}px`,backgroundColor:r.surfaceCream},setupNoticeText:{...P(e,"regular"),fontSize:a.size.caption,color:r.danger},setupNoticeAction:{...E,padding:0,background:"none",border:"none",color:r.brandInk,fontSize:a.size.caption,minHeight:zn},turnNotice:{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:n.xs,padding:n.md,borderRadius:o.lg,backgroundColor:r.surfaceCream,border:`1px solid ${r.brandBorder}`},turnNoticeError:{border:`1px solid ${r.danger}`},turnNoticeTitle:{...P(e,"bold"),margin:0,fontSize:a.size.body,color:r.text.primary},turnNoticeTitleError:{color:r.danger},reconnectingCaption:{...P(e,"medium"),margin:0,fontSize:a.size.caption,color:r.text.secondary,textTransform:"uppercase",letterSpacing:"0.5px"},turnNoticeBody:{...P(e,"regular"),margin:0,fontSize:a.size.caption,color:r.text.secondary},turnNoticeAction:{...E,padding:0,background:"none",border:"none",color:r.brandInk,fontSize:a.size.body,minHeight:zn},earlierButton:{...E,alignSelf:"center",padding:`0 ${n.md+n.xs/2}px`,backgroundColor:"transparent",color:r.linkInk,...P(e,"monoBold"),fontSize:h.tiny,lineHeight:`${Math.round(h.tiny*a.lineHeight.snug)}px`,letterSpacing:pC,textTransform:"uppercase"},list:{boxSizing:"border-box",flex:"1 1 auto",minHeight:0,overflowY:"auto",display:"flex",flexDirection:"column",gap:n[Xc],paddingTop:n.lg,paddingBottom:n.lg,paddingLeft:tp(n.lg),paddingRight:tp(n.lg)},messageList:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:n[Xc]},row:{display:"flex",flexDirection:"column"},rowUser:{alignItems:"flex-end"},rowAssistant:{alignItems:"flex-start"},bubble:{boxSizing:"border-box",maxWidth:ZE,paddingTop:u,paddingBottom:u,paddingLeft:u,paddingRight:u,borderRadius:o[iC],position:"relative"},bubbleUser:{backgroundColor:r.bubbleUser,borderBottomRightRadius:o[Yc],boxShadow:`0 ${aa.y}px ${aa.blur}px ${qe(r.brand,aa.alpha)??r.brandSoft}`,...Te(s.userBubble,ia)},bubbleAssistant:{...s.assistantBubble?.backgroundColor===void 0?{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:n[aC],maxWidth:`min(100%, ${Ac})`}:{},...Te(s.assistantBubble,ia)},bubbleVet:{backgroundColor:r.bubbleVet,borderBottomLeftRadius:o[Yc],...Te(s.vetBubble,ia)},bubblePending:{opacity:oC},bubbleTextUser:{margin:0,...P(e,"medium"),color:r.onPrimary,fontSize:Pe(c,a.scale),lineHeight:`${Pe(p,a.scale)}px`,letterSpacing:oa,whiteSpace:"pre-wrap",overflowWrap:"anywhere",...ve(s.userBubble)},bubbleTextAssistant:{margin:0,...P(e,"medium"),color:r.text.primary,fontSize:Pe(c,a.scale),lineHeight:`${Pe(p,a.scale)}px`,letterSpacing:oa,whiteSpace:"pre-wrap",overflowWrap:"anywhere",...ve(s.assistantBubble)},bubbleTextVet:{margin:0,...P(e,"medium"),color:r.onBubbleVet,fontSize:Pe(c,a.scale),lineHeight:`${Pe(p,a.scale)}px`,letterSpacing:oa,whiteSpace:"pre-wrap",overflowWrap:"anywhere",...ve(s.vetBubble)},vetSender:{margin:`0 0 ${n.xs}px`,...P(e,"bold"),color:r.onBubbleVet,fontSize:a.size.caption,lineHeight:`${Math.round(a.size.caption*a.lineHeight.normal)}px`,overflowWrap:"anywhere",...ve(s.vetBubble)},bubbleBold:P(e,"bold"),bubbleItalic:{fontStyle:"italic"},bubbleCode:P(e,"mono"),followUps:{boxSizing:"border-box",marginTop:n.sm},followUpsLabel:{margin:`0 0 ${n.xs}px`,...P(e,"monoBold"),color:r.text.secondary,fontSize:h.tiny,lineHeight:`${mC}px`,letterSpacing:yC,textTransform:"uppercase"},followUpList:{listStyle:"none",margin:0,padding:0},followUpRow:{...E,width:"100%",justifyContent:"flex-start",textAlign:"left",padding:`${n.sm}px ${n.md}px ${n.sm}px 0`,background:"transparent",color:r.text.primary,...P(e,"regular"),fontSize:a.size.body,lineHeight:`${Pe(y,a.scale)}px`,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},followUpDivider:{borderTop:`1px solid ${r.brandBorder}`},composerBlock:{display:"flex",flexDirection:"column"},composerError:{margin:`${n.xs}px ${n.md}px 0`,...P(e,"regular"),fontSize:a.size.caption,lineHeight:`${Math.round(a.size.caption*a.lineHeight.normal)}px`,color:r.danger},composer:{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center",gap:uC,minHeight:sC,width:`calc(100% - ${n.md*2}px)`,maxWidth:qi,margin:`${n.xs}px auto ${n.sm}px`,padding:n[lC],backgroundColor:r.chatGround,border:`${sa}px solid ${r.composerBorder}`,borderRadius:o.pill,boxShadow:`0 ${la.y}px ${la.blur}px ${qe(r.brand,la.alpha)??r.brandSoft}`,...Te(s.composerInput,sa)},composerFocused:{border:`${sa}px solid ${s.composerInput?.borderColor??r.brandInk}`,outline:`${Er}px solid ${r.brandInk}`,outlineOffset:Er},inputWrap:{position:"relative",flex:"1 1 auto",minWidth:0,minHeight:Pe(dC,a.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",...P(e,"regular"),fontSize:Pe(f,a.scale),lineHeight:`${Pe(m,a.scale)}px`,letterSpacing:Jc,color:r.text.placeholder,...ve(s.composerInput)},input:{boxSizing:"border-box",flex:"1 1 auto",width:"100%",maxHeight:da,margin:0,padding:0,border:0,outline:"none",resize:"none",background:"transparent",...P(e,"regular"),fontSize:Pe(f,a.scale),lineHeight:`${Pe(m,a.scale)}px`,letterSpacing:Jc,color:r.text.primary,...ve(s.composerInput)},iconControl:{...E,flexShrink:0,padding:0,borderRadius:o.pill,background:"transparent",color:r.brandInk},actionButton:{...E,flexShrink:0,padding:0,backgroundColor:"transparent"},sendDisc:{boxSizing:"border-box",width:ua,height:ua,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:ua/2,...Te(s.sendButton)},actionButtonDisabled:{opacity:cC,cursor:"not-allowed"},poweredBy:{margin:0,padding:`0 0 ${n.xs}px`,...P(e,"regular"),color:r.text.muted,fontSize:h.micro,lineHeight:`${Math.round(h.micro*a.lineHeight.normal)}px`,textAlign:"center"}}}i(bC,"makeStyles");var vC=Object.freeze({kind:"live"}),EC=Object.freeze({kind:"folded"});function sp(e){if(e.role!=="assistant"||e.checkin===void 0)return null;let t=e.checkin.caseId,r=Co(e.proactiveOriginRef);return {caseId:t,dueDay:r!==null&&r.caseId===t?r.dueDay:""}}i(sp,"askOf");function lp(e){let t=new Map,r=new Map;for(let o of e){let a=sp(o);if(a===null)continue;let s=r.get(a.caseId);(s===void 0||a.dueDay>=s.dueDay)&&r.set(a.caseId,{messageId:o.id,dueDay:a.dueDay});}if(r.size===0)return t;let n=null;for(let o of e){let a=sp(o);if(a===null){n=null;continue}if(r.get(a.caseId)?.messageId===o.id){t.set(o.id,vC),n=null;continue}if(n!==null&&n.caseId===a.caseId){n.days.push(a.dueDay),t.set(o.id,EC);continue}let s=[a.dueDay];n={id:o.id,caseId:a.caseId,days:s},t.set(o.id,{kind:"past",runDueDays:s});}return t}i(lp,"placeCheckins");function up(e){let t=new Set;for(let[r,n]of e)n.kind==="live"&&t.add(r);return t}i(up,"liveCheckinIds");var $t=44,Wt=56,dp=12,Un=22,cp=18,RC=2,SC=900,pp=220,xC=14,fp=100,TC=10,kC=6,PC=.45,_C="rgba(7,193,104,0.55)",wC="rgba(185,28,28,0.55)",gp=Object.freeze([]);function hp({attachments:e,onRetry:t,onRemove:r,onPreview:n}){let o=N(),a=useMemo(()=>vp(o),[o]);return e.length===0?null:jsx("ul",{style:a.tray,children:e.map(s=>jsx("li",{style:a.cardSlot,children:jsx(IC,{row:s,styles:a,theme:o,onRetry:t,onRemove:r,onPreview:n})},s.id))})}i(hp,"AttachmentTray");function IC({row:e,styles:t,theme:r,onRetry:n,onRemove:o,onPreview:a}){let s=ee(),l=useRef(null),[u,d]=useState(false),c=useRef(e.status==="uploading");useEffect(()=>{if(e.status==="uploaded"&&c.current){d(true);let f=setTimeout(()=>d(false),s.uploadFlashMs);return c.current=false,()=>clearTimeout(f)}c.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":G(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":G(b.previewAttachment,{filename:e.filename}),style:{...t.wash,backgroundColor:qe(r.color.brandInk,PC)??r.color.brandSofter},children:jsx(AC,{styles:t})}):null,e.status==="uploaded"&&u?jsx("div",{"aria-hidden":"true",style:{...t.wash,backgroundColor:_C}}):null,e.status==="failed"?jsx("button",{type:"button","aria-label":G(b.retryUpload,{filename:e.filename}),onClick:()=>n(e.id),style:{...t.wash,...t.retry,backgroundColor:wC},children:jsx(H,{name:"upload",size:18,color:"#FFFFFF"})}):null,jsx("button",{type:"button","aria-label":G(b.removeAttachment,{filename:e.filename}),onClick:()=>o(e.id),style:t.removeHit,children:jsx("span",{"aria-hidden":"true",style:t.removeDisc,children:jsx(H,{name:"x",size:12,color:r.color.surface,strokeWidth:2.5})})})]})}i(IC,"TrayCard");function AC({styles:e}){let t=ee(),r=useRef(null);return useEffect(()=>{let n=r.current;if(t.reduced||!jt(n))return;let o=n.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:SC,iterations:1/0,easing:"linear"});return ()=>o.cancel()},[t.reduced]),jsx("span",{ref:r,"aria-hidden":"true",style:e.spinner})}i(AC,"Spinner");function bp({images:e,onPreview:t}){let r=N(),n=useMemo(()=>vp(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(OC,{image:a,style:o?n.singleImage:n.gridImage,onPreview:t})},`${a.uri}-${s}`))})}i(bp,"MessageAttachments");function OC({image:e,style:t,onPreview:r}){let n=useRef(null);return jsx("button",{ref:n,type:"button","aria-label":G(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(OC,"ImageButton");function vp(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:Wt,height:Wt},previewButton:{...o,width:Wt,height:Wt,borderRadius:dp,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:dp,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"},retry:{pointerEvents:"auto",margin:0,padding:0,border:0,cursor:"pointer",minWidth:Wt,minHeight:Wt},spinner:{boxSizing:"border-box",display:"block",width:cp,height:cp,borderRadius:n.pill,border:`${RC}px solid rgba(255,255,255,0.45)`,borderTopColor:"#FFFFFF"},removeHit:{position:"absolute",top:4-($t-Un)/2,right:4-($t-Un)/2,boxSizing:"border-box",width:$t,height:$t,minWidth:$t,minHeight:$t,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},removeDisc:{boxSizing:"border-box",width:Un,height:Un,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:kC},singleImage:{...o,width:pp,height:pp,maxWidth:"100%",borderRadius:xC},gridImage:{...o,width:fp,height:fp,borderRadius:TC}}}i(vp,"makeStyles");var Kt=Object.freeze({eyebrow:"Checking in",logged:"Logged",findVet:"Find a vet now",day:"Day {day}",daySeparator:" \xB7 ",answers:Object.freeze({better:"Better",same:"Same",worse:"Worse"})}),Ep=Object.freeze(Vr.map(e=>Object.freeze({answer:e,label:Kt.answers[e]})));function Cp(e,t){let[r,n]=useState(null),[o,a]=useState(null),[s,l]=useState(null),u=useCallback(c=>{t!==null&&(n(c),a(null),t(e.caseId,c).then(p=>{n(null),p.ok?l(c):a(p.error);}));},[t,e.caseId]),d=s??e.answer;return {answer:d,answerable:!Ms(e),escalated:d==="worse",pending:r,error:o,choose:u}}i(Cp,"useCheckinCard");var Rp=44,LC=.6;function Sp({message:e,checkin:t,onAnswer:r,onFindVet:n}){let o=N(),a=useMemo(()=>NC(o),[o]),s=Cp(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":Kt.eyebrow,"aria-busy":s.pending!==null?true:void 0,style:a.card,children:[jsx("p",{style:a.eyebrow,children:Kt.eyebrow}),jsx("p",{style:a.question,children:e.text}),u?jsx("div",{style:{...a.answers,...s.pending?a.answersPending:null},children:Ep.map(({answer:d,label:c})=>{let p=(s.pending??s.answer)===d;return jsx("button",{type:"button",onClick:()=>s.choose(d),disabled:l,"aria-pressed":p,style:{...a.pill,...p?a.pillSelected:null},children:c},d)})}):null,s.answer!==null?jsx("p",{style:a.logged,children:Kt.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:Kt.findVet}):null,s.error?jsx("p",{role:"alert",style:a.error,children:s.error.displayMessage}):null]})})}i(Sp,"CheckinCard");function NC(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=P(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:LC},pill:{...s,fontSize:u.body,lineHeight:`${Math.round(u.body*o.lineHeight.normal)}px`,boxSizing:"border-box",flex:1,minHeight:Rp,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.brandInk,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:Rp,borderRadius:n.pill,border:`1.5px solid ${t.brandBorder}`,backgroundColor:t.surface,color:t.brandInk,cursor:"pointer",...P(e,"bold"),fontSize:o.size.body}}}i(NC,"makeStyles");var UC=Object.freeze({TIER_1:"#07C168",TIER_2:"#27A9FF",TIER_3:"#FBC558"}),xp="#C8BEB4";function HC(e){return e?UC[e.toUpperCase()]??xp:xp}i(HC,"tierColor");function BC(e){if(!e)return null;let t=/^tier[_\s-]?(\d+)$/i.exec(e.trim());return t?`Tier ${t[1]}`:e}i(BC,"tierLabel");function Be(e){if(typeof e!="string")return null;let t=e.trim();return t.length===0?null:t}i(Be,"text");function jC(e){let t=Be(e);return t!==null&&/^https:\/\/\S+$/i.test(t)?t:null}i(jC,"httpsUrl");function VC(e,t){let r=Be(e.source_name)??Be(e.sourceName),n=Be(e.section),o=Be(e.authority_tier)??Be(e.authorityTier),a=BC(o),s=r??Be(e.title)??`Source ${t+1}`,l=Be(e.monograph_chunk_id)??Be(e.chunkId),u=[n,a].filter(d=>d!==null).join(" \xB7 ");return Object.freeze({title:s,sourceName:r,section:n,authorityTier:o,tierLabel:a,meta:u.length===0?null:u,url:jC(e.url),excerpt:Be(e.excerpt),tierColor:HC(o),key:`${s}-${l??"none"}-${t}`})}i(VC,"toCitationCard");function Tp(e){return e===void 0||e.length===0?$C:Object.freeze(e.map((t,r)=>VC(t,r)))}i(Tp,"toCitationCards");var $C=Object.freeze([]);function pa(e){return e===1?`1 ${b.sourceSingular}`:`${e} ${b.sourcePlural}`}i(pa,"sourcesLabel");function kp(e,t){return `${t?b.hideSources:b.showSources} ${pa(e)}`}i(kp,"sourcesToggleLabel");function Pp(e){return [e.url!==null?`${b.openSource}: ${e.title}`:e.title,e.meta,e.excerpt].filter(t=>t!==null&&t.length>0).join(". ")}i(Pp,"citationA11yLabel");var wp=44,qC=244,Ip=8,Ap=13,YC=14,XC=2,QC=3,ZC=.3;function Mp({citations:e}){let t=useMemo(()=>Tp(e),[e]),r=N(),n=useMemo(()=>tR(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":kp(t.length,o),onClick:()=>a(s=>!s),style:n.pill,children:[jsx(H,{name:"bookOpen",size:Ap,color:r.color.brandInk}),jsx("span",{style:n.pillLabel,children:pa(t.length)}),jsx(H,{name:"chevronDown",size:Ap,color:r.color.brandInk,style:o?{transform:"rotate(180deg)"}:void 0})]}),o?jsx(JC,{cards:t,styles:n,theme:r}):null]})}i(Mp,"CitationCards");function JC({cards:e,styles:t,theme:r}){let n=useRef(null),o=ee(),a=kc();return useEffect(()=>{let s=ke(n.current,{durationMs:o.citationsInMs,fromOpacity:0,fromTranslateY:o.citationsRisePx});return ()=>s?.cancel()},[o]),jsx("ul",{ref:n,style:t.deck,children:e.map(s=>{let l=a.kind==="static"?null:s.url;return jsx("li",{style:t.cardSlot,children:l!==null?jsx("a",{href:l,...eR(a,l),"aria-label":Pp(s),style:{...t.card,...t.cardLink},children:jsx(Op,{card:s,linked:true,styles:t,theme:r})}):jsx("div",{style:t.card,children:jsx(Op,{card:s,linked:false,styles:t,theme:r})})},s.key)})})}i(JC,"Deck");function eR(e,t){return e.kind==="static"?{}:{rel:"noopener noreferrer",onClick:i(r=>{r.defaultPrevented||r.button!==0||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||(r.preventDefault(),e.open(t));},"onClick")}}i(eR,"linkBehaviour");function Op({card:e,linked:t,styles:r,theme:n}){return jsxs(Fragment,{children:[jsxs("div",{style:r.cardHeader,children:[jsx("span",{"aria-hidden":"true",style:{...r.tierDot,backgroundColor:e.tierColor}}),jsx("span",{style:t?{...r.cardTitle,color:n.color.linkInk}:r.cardTitle,children:e.title}),t?jsx(H,{name:"arrowUpRight",size:YC,color:n.color.linkInk}):null]}),e.meta!==null?jsx("span",{style:r.cardMeta,children:e.meta}):null,e.excerpt!==null?jsx("span",{style:r.cardExcerpt,children:e.excerpt}):null]})}i(Op,"CardBody");function Fp(e){return {display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:e,overflow:"hidden"}}i(Fp,"clamp");function tR(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:wp,minWidth:wp,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:{...P(e,"monoBold"),fontSize:o.tierSizes.compact.micro,lineHeight:`${o.tierSizes.compact.micro}px`,letterSpacing:ZC,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:qC,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:Ip,height:Ip,borderRadius:n.pill,marginTop:7},cardTitle:{flex:"1 1 auto",minWidth:0,...P(e,"bold"),fontSize:o.size.bodyTight,lineHeight:`${Math.round(o.size.bodyTight*1.7)}px`,letterSpacing:-0.24,color:t.text.primary,...Fp(XC)},cardMeta:{...P(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:{...P(e,"regular"),fontSize:o.size.tiny,lineHeight:`${o.size.tiny+4}px`,color:t.text.muted,...Fp(QC)}}}i(tR,"makeStyles");function Dp(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}i(Dp,"formatMessageTime");var fa=44,Lp=20,oR=3,iR=.6;function Np(e){let{open:t,onSubmit:r,onClose:n,returnFocusTo:o}=e,a=N(),s=useMemo(()=>aR(a),[a]),l=Je(t,n,o),[u,d]=useState(null),[c,p]=useState(""),[f,m]=useState(false),[y,v]=useState(false);if(!t)return null;let h=i(()=>{if(f)return;m(true),v(false);let E=c.trim();r(u,E.length>0?E:null).then(x=>{m(false),x?n():v(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:hi.map(E=>{let x=E.key===u;return jsxs("button",{type:"button","aria-pressed":x,disabled:f,onClick:()=>d(x?null:E.key),style:{...s.option,...x?s.optionSelected:null},children:[jsx("span",{style:s.optionLabel,children:E.label}),jsx("span",{"aria-hidden":"true",style:{...s.radio,...x?s.radioSelected:null},children:x?jsx(H,{name:"check",size:12,color:a.color.surface,strokeWidth:3}):null})]},E.key)})}),jsx("textarea",{rows:oR,value:c,disabled:f,"aria-label":b.feedbackNotesPlaceholder,placeholder:b.feedbackNotesPlaceholder,onChange:E=>{let x=E.target.value;[...x].length<=tr&&p(x);},style:s.notes}),y?jsx("p",{role:"alert",style:s.failed,children:b.feedbackFailed}):null,jsxs("div",{style:s.actions,children:[jsx("button",{type:"button",onClick:h,"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(Np,"FeedbackReasons");function aR(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:fa,minWidth:fa,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,cursor:"pointer",...P(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,...P(e,"bold"),fontSize:s,lineHeight:`${Math.round(s*1.22)}px`,color:t.text.primary},subtitle:{margin:0,...P(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:Lp,height:Lp,borderRadius:n.pill,border:`1.5px solid ${t.brandBorderStrong}`,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:fa,margin:0,padding:`${r.sm}px ${r.md}px`,borderRadius:n.md,border:`1px solid ${t.brandBorderStrong}`,backgroundColor:t.surfaceCream,color:t.text.primary,resize:"vertical",...P(e,"regular"),fontSize:o.size.body,lineHeight:a},failed:{margin:0,...P(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,...Te(e.slots.primaryButton),...ve(e.slots.primaryButton)},pending:{opacity:iR,cursor:"progress"},skip:{...u,fontSize:l,padding:`0 ${r.xl}px`,border:0,borderRadius:n.pill,background:"transparent",color:t.text.secondary}}}i(aR,"makeStyles");var Pr=44,ga=15,Hp=16;function lR(){return typeof navigator<"u"&&typeof navigator.clipboard?.writeText=="function"}i(lR,"canCopyToClipboard");function jp(e){let{role:t,text:r,createdAt:n,responseId:o,sentiment:a,feedback:s}=e,l=N(),u=useMemo(()=>uR(l),[l]),d=ee(),c=useMemo(()=>Dp(n),[n]),p=t!=="vet"&&lR()&&r.length>0,[f,m]=useState(false),y=useRef(null);useEffect(()=>()=>{y.current!==null&&clearTimeout(y.current);},[]);let v=useCallback(()=>{navigator.clipboard.writeText(r).catch(()=>{}),m(true),y.current!==null&&clearTimeout(y.current),y.current=setTimeout(()=>{m(false),y.current=null;},d.copiedMs);},[r,d.copiedMs]),[h,E]=useState(false),[x,_]=useState(false),[w,g]=useState(false),T=useRef(null),I=useCallback(k=>{if(o===void 0)return;_(false),g(false);let C=a===k;s(o,k).then(S=>{S.ok||g(true);}),k==="down"&&!C&&E(true);},[o,a,s]),O=useCallback(async(k,C)=>{if(o===void 0)return false;if(k===null&&C===null)return _(true),true;let S=await s(o,"down",k??"other",C);return S.ok&&_(true),S.ok},[o,s]);return jsxs("div",{style:{...u.footer,...t==="user"?u.footerUser:u.footerAssistant},children:[jsxs("div",{style:u.row,children:[c!==null?jsx("span",{style:u.timestamp,children:c}):null,p?jsx("button",{type:"button",onClick:v,"aria-label":f?b.copied:t==="user"?b.copyUserMessage:b.copyAssistantMessage,style:u.iconButton,children:f?jsx(H,{name:"check",size:ga,color:l.color.success}):jsx(H,{name:"copy",size:ga,color:l.color.text.timestamp})}):null,t==="assistant"&&o!==void 0?Ju.map(k=>{let C=a===k.sentiment,S=l.color.sentiment[k.sentiment];return jsx("button",{ref:k.sentiment==="down"?T:void 0,type:"button","aria-pressed":C,"aria-label":k.label,onClick:()=>I(k.sentiment),style:u.iconButton,children:jsx(H,{name:k.sentiment==="up"?"thumbsUp":"thumbsDown",size:ga,color:S,fill:C?S:"transparent",style:k.sentiment==="neutral"?{transform:"rotate(-90deg)"}:void 0})},k.sentiment)}):null]}),x?jsx("p",{role:"status",style:u.thanks,children:b.feedbackThanks}):null,w?jsx("p",{role:"alert",style:u.failed,children:b.feedbackFailed}):null,h?jsx(Np,{open:true,onSubmit:O,onClose:()=>E(false),returnFocusTo:T}):null]})}i(jp,"MessageFooter");function uR(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:Hp},timestamp:{...P(e,"monoMedium"),fontSize:n.tierSizes.compact.nano,lineHeight:`${n.tierSizes.compact.nano+2}px`,color:e.color.text.timestamp},iconButton:{boxSizing:"border-box",width:Pr,height:Pr,minWidth:Pr,minHeight:Pr,margin:`${ -28/2}px 0`,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},thanks:{margin:0,...P(e,"regular"),fontSize:n.size.caption,color:t.text.secondary},failed:{margin:0,...P(e,"regular"),fontSize:n.size.caption,color:t.danger}}}i(uR,"makeStyles");var Vp="#10462E",$p="#000000",dR="#83E0B4",cR=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:dR,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:Vp,brandEdge:true,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})]),pR=/\s*-\s*(?:small|medium|large|giant|toy)\s*$/i;function fR(e){return e==null?e:e.replace(pR,"").trim()}i(fR,"formatBreedForPrompt");var mR=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 yR(e){let t=String(e??"").replace(/\s+/gu," ").trim().toLowerCase().replace(/\u2019/g,"'");return mR.has(t)}i(yR,"isUninformativeBreed");function gR(e){return e==="cat"?"Domestic Short Hair Mix":"Mixed Breed"}i(gR,"unspecifiedBreedLabel");function hR(e,t){return yR(e)?gR(t):String(e).replace(/\s+/gu," ").trim()}i(hR,"resolveBreedLabel");function Wp(e){let t=e?.name?.trim()||b.emptyTitlePetFallback;return G(b.emptyTitle,{petName:t})}i(Wp,"emptyStateTitle");function Kp(e,t=Vp){let r=Bi(e?.species),n=r==="cat"?"my cat":"my dog",o=e?.name?.trim()||null,a=o||n,s=hR(fR(e?.breed),r)||null,l=ji(e?.ageYears),u=l===null?null:String(l);return Object.freeze(cR.map(d=>{let c=d.label.includes("{breed}"),p=d.label.includes("{ageYears}"),m=d.fallbackLabel!==void 0&&(c&&!s||p&&!u)&&d.fallbackLabel?d.fallbackLabel:d.label,y=G(m,{petName:a,breed:s??n,species:r,ageYears:u??""}),v=!o&&m.startsWith("{petName}")?y.charAt(0).toUpperCase()+y.slice(1):y;return Object.freeze({id:d.id,intent:d.intent,label:v,background:d.background,borderColor:d.brandEdge===true?t:d.borderColor,borderWidth:d.borderWidth})}))}i(Kp,"resolveQuickPrompts");var qp=44,CR=28,RR=34,SR=-0.8,xR=340;function Yp({pet:e,onSend:t,onVetPrep:r}){let n=N(),o=useMemo(()=>kR(n),[n]),a=ee(),s=Wp(e),l=Ic(Oc()),u=useId(),d=useMemo(()=>Kp(e,n.color.brandInk).filter(c=>c.intent!=="vet_report"||r!==null),[e,r,n.color.brandInk]);return jsxs("div",{style:o.wrap,children:[jsx(l,{id:u,style:o.title,children:s}),jsx("ul",{"aria-labelledby":u,style:o.list,children:d.map((c,p)=>jsx("li",{children:jsx(TR,{chip:c,delayMs:Nc(a,p),durationMs:a.followUpInMs,style:o.chip,onPress:()=>c.intent==="vet_report"?r?.():t(c.label)})},c.id))})]})}i(Yp,"QuickPrompts");function TR({chip:e,delayMs:t,durationMs:r,style:n,onPress:o}){let a=useRef(null);return useEffect(()=>{let s=ke(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(TR,"Chip");function kR(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:xR,...P(e,"bold"),fontSize:fi(e,"heading",CR),lineHeight:`${fi(e,"heading",RR)}px`,letterSpacing:SR,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:qp,minWidth:qp,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:`${t.sm+1}px ${t.md+2}px`,borderRadius:r.pill,cursor:"pointer",...P(e,"bold"),fontSize:n.tierSizes.compact.caption,lineHeight:`${n.tierSizes.compact.caption+2}px`,color:$p,textAlign:"center",whiteSpace:"normal"}}}i(kR,"makeStyles");var ha=/\*\*([^*]+?)\*\*|\*([^*]+?)\*|`([^`]+?)`/g;function Xp(e){return e.includes("*")||e.includes("`")}i(Xp,"hasInlineMarkup");function Qp(e){let t=[],r=0;ha.lastIndex=0;for(let n=ha.exec(e);n!==null;n=ha.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(Qp,"tokenizeInlineMarkdown");function Zp(e,t){return Xp(e)?Qp(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(Zp,"renderInlineMarkdown");var Jp=6,AR=3.5,ef=520,OR=Math.round(ef*.18),va=.44,FR=.5,MR=[0,1,2];function tf(){let e=N(),t=useMemo(()=>LR(e),[e]),r=!e.motion.reducedMotion;return jsx("div",{role:"img","aria-label":b.typing,style:t.card,children:MR.map(n=>r?jsx(DR,{index:n,style:t.dot},n):jsx("div",{style:{...t.dot,...t.dotStatic}},n))})}i(tf,"TypingIndicator");function DR({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:va,transform:"translateY(0)"},{opacity:1,transform:`translateY(-${AR}px)`},{opacity:va,transform:"translateY(0)"}],{duration:ef,iterations:1/0,delay:e*OR,easing:"ease-in-out"});return ()=>o.cancel()},[e]),jsx("div",{ref:r,style:{...t,opacity:va}})}i(DR,"AnimatedDot");function LR(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:Jp,height:Jp,borderRadius:n.pill,backgroundColor:t.brand},dotStatic:{opacity:FR}}}i(LR,"makeStyles");function rf(e,t,r){let n=e-r,o=t!=null?Math.min(n,t):n;return Math.max(0,o)}i(rf,"resolveTurnScrollTarget");function nf(e){let t=e.length-1,r=e[t];if(r===void 0||r.role!=="assistant")return null;let n=e[t-1];return {assistantIndex:t,userIndex:n!==void 0&&n.role==="user"?t-1:null}}i(nf,"latestTurn");function of(e,t,r){let n=Math.max(0,r),o=e===null?n:Math.min(Math.max(0,e),n);return o>t+1?o:null}i(of,"nextFollowOffset");function af(e,t){return e.scrollTop+t.getBoundingClientRect().top-e.getBoundingClientRect().top}i(af,"contentTop");function BR(e,t,r){let n=nf(r);if(n===null||t===null||t.children.length!==r.length)return null;let o=t.children[n.assistantIndex];if(o===void 0)return null;let a=n.userIndex===null?void 0:t.children[n.userIndex];return rf(af(e,o),a===void 0?null:af(e,a),96)}i(BR,"turnAnchor");function sf(e,t,r){let n=useRef(null),o=useRef(null),a=useRef(true),s=useRef(t),l=useRef(null),u=useCallback(()=>{let m=n.current;m!==null&&(l.current!==null&&Math.abs(m.scrollTop-l.current)<1||(l.current=null,a.current=m.scrollHeight-m.scrollTop-m.clientHeight<=24));},[]),{awaiting:d,prompts:c,notice:p,reconnecting:f}=r;return useLayoutEffect(()=>{t&&!s.current&&(a.current=true),s.current=t;let m=n.current;if(m===null||!a.current)return;let y=of(BR(m,o.current,e),m.scrollTop,m.scrollHeight-m.clientHeight);y!==null&&(m.scrollTop=y,l.current=m.scrollTop);},[e,t,d,c,p,f]),{scrollerRef:n,listRef:o,onScroll:u}}i(sf,"useTranscriptFollow");function WR({notice:e,onRetry:t,onStartNew:r}){let{styles:n}=ye(),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(WR,"TurnNoticeCard");function uf(e,t,r,n,o,a,s,l,u,d){switch(e){case "loading":return n?jsx(kt,{render:n,fallback:jsx(lf,{})}):jsx(lf,{});case "empty":return jsx(GR,{onSelectPrompt:r,pet:o,onVetPrep:a});case "error":return jsx(XR,{error:t.error,onRetry:t.retryLast,onAddPet:u});case "populated":return jsx(QR,{chat:t,onSelectPrompt:r,onAnswerCheckin:t.petRef?t.answerCheckin:null,imagesFor:s,onPreview:l,onCheckinFindVet:d});default:return ot(e)}}i(uf,"renderView");function lf(){let{styles:e}=ye(),[t,r]=useState(false);return useEffect(()=>{let n=setTimeout(()=>r(true),rp);return ()=>clearTimeout(n)},[]),jsx("div",{role:"status","aria-busy":"true","aria-label":b.loading,style:e.centered,children:t?jsx(KR,{}):null})}i(lf,"LoadingState");function KR(){let{theme:e,styles:t}=ye(),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:ip,iterations:1/0,easing:"linear"});return ()=>a.cancel()},[n]),jsx("div",{ref:r,"aria-hidden":"true",style:t.spinner})}i(KR,"Spinner");function GR({onSelectPrompt:e,pet:t,onVetPrep:r}){let{styles:n}=ye();return jsx("div",{role:"region","aria-label":b.empty,style:n.emptyScroller,children:jsxs("div",{style:n.emptyContent,children:[jsx("div",{"aria-hidden":"true",style:n.emptyLead}),jsx(Yp,{pet:t,onSend:e,onVetPrep:r})]})})}i(GR,"EmptyState");function qR({prompts:e,onSelectPrompt:t}){let{styles:r}=ye(),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(YR,{prompt:o,index:a,onSelectPrompt:t},o))})]})}i(qR,"FollowUps");function YR({prompt:e,index:t,onSelectPrompt:r}){let{styles:n}=ye(),o=ee(),a=useRef(null);return useEffect(()=>{let s=ke(a.current,{durationMs:o.followUpInMs,delayMs:t*o.followUpStaggerMs,fromOpacity:0});return ()=>s?.cancel()},[o,t]),jsx("li",{ref:a,style:n.followUpDivider,children:jsx("button",{type:"button",onClick:()=>r(e),style:n.followUpRow,children:e})})}i(YR,"FollowUpRow");function XR({error:e,onRetry:t,onAddPet:r}){let{styles:n}=ye(),o=r!==null&&ld(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(XR,"ErrorState");function QR({chat:e,onSelectPrompt:t,onAnswerCheckin:r,imagesFor:n,onPreview:o,onCheckinFindVet:a}){let{styles:s}=ye(),{messages:l,isStreaming:u}=e,d=Pd(e),c=En(l,u),p=kd(e),f=useMemo(()=>up(lp(l)),[l]),{scrollerRef:m,listRef:y,onScroll:v}=sf(l,u,{awaiting:c,prompts:d.length,notice:p!==null,reconnecting:e.reconnecting===true}),h=l[l.length-1],E=u&&h!==void 0&&h.role==="assistant"?h.id:null;return jsxs("div",{ref:m,onScroll:v,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?K.loadingEarlier:K.earlier}):null,jsx("ol",{ref:y,style:s.messageList,children:l.map(x=>x.checkin&&f.has(x.id)?jsx(Sp,{message:x,checkin:x.checkin,onAnswer:r,onFindVet:a},x.id):jsx(ZR,{message:x,streaming:x.id===E,chat:e,images:n(x),onPreview:o},x.id))}),e.reconnecting===true?jsx("p",{style:s.reconnectingCaption,children:b.reconnecting}):null,c?jsx(tf,{}):null,p!==null?jsx(WR,{notice:p,onRetry:e.retryLast,onStartNew:e.newConversation}):null,jsx(qR,{prompts:d,onSelectPrompt:t})]})}i(QR,"PopulatedState");function ZR({message:e,streaming:t,chat:r,images:n,onPreview:o}){let{styles:a}=ye(),s=ee(),l=useRef(null),u=e.role==="user",d=e.role==="vet";useEffect(()=>{let m=ke(l.current,{durationMs:s.messageInMs,fromOpacity:0});return ()=>m?.cancel()},[]);let c=Bc(e.text,t&&e.role==="assistant",s),p=u?b.senderUser:d?null:b.senderAssistant,f=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:d?a.bubbleVet:a.bubbleAssistant,...e.pending?a.bubblePending:null},children:[p!==null?jsx("span",{style:dt,children:`${p}: `}):null,d?jsx("p",{style:a.vetSender,children:_d(e)}):null,n.length>0?jsx(bp,{images:n,onPreview:o}):null,jsx("p",{style:u?a.bubbleTextUser:d?a.bubbleTextVet:a.bubbleTextAssistant,children:e.role==="assistant"?Zp(c,{bold:a.bubbleBold,italic:a.bubbleItalic,code:a.bubbleCode}):c})]}),e.role==="assistant"&&!t?jsx(Mp,{citations:e.citations}):null,f?jsx(jp,{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(ZR,"MessageRow");function pf(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),d=u?l.text:"",c=u?l.seeded:null,p=r!=null&&r!==c&&d.length===0;return {send:e,conversationId:t,text:p?r:d,seeded:p?r:c}});},[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(pf,"useChatDraft");function ff(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 d=true;return (async()=>{let c=await fd(()=>e.read(t));if(!d)return;let p=c.ok&&typeof c.value=="string"?c.value:"";p.length>0&&o.current.draft.length===0&&o.current.setDraft(p),l(u);})(),()=>{d=false;}},[e,t]),useEffect(()=>{e===void 0||s!==`${t??""}`||de(()=>e.write(t,r));},[e,t,r,s]);}i(ff,"usePersistedDraft");var Kn=44,nS=18,oS=14,Gn=6,iS=1200,aS=.4;function sS(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(sS,"formatDictationElapsed");function yf(e){switch(e){case "permissionDenied":return b.micBlocked;case "noSpeech":return b.noSpeech;case "unavailable":return b.dictationUnavailable}}i(yf,"dictationErrorMessage");function gf({active:e,listening:t,elapsedMs:r,disabled:n=false,onToggle:o}){let a=N(),s=useMemo(()=>uS(a),[a]);return jsxs("span",{style:s.wrap,children:[t?jsx("span",{"aria-hidden":"true",style:s.timer,children:sS(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(lS,{style:s.pulse}),jsx(H,{name:"square",size:oS,color:a.color.brandInk,fill:a.color.brandInk,style:{position:"relative"}})]}):jsx(H,{name:"mic",size:nS,color:a.color.brandInk})}),jsx("span",{role:"status","aria-live":"polite",style:dt,children:t?b.listening:""})]})}i(gf,"DictationButton");function lS({style:e}){let t=useRef(null),r=ee();return useEffect(()=>{let n=t.current;if(r.reduced||!jt(n))return;let o=n.animate([{opacity:1},{opacity:.4},{opacity:1}],{duration:iS,iterations:1/0,easing:"ease-in-out"});return ()=>o.cancel()},[r.reduced]),jsx("span",{ref:t,"aria-hidden":"true",style:e})}i(lS,"Pulse");function uS(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:{...P(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:Kn,height:Kn,minWidth:Kn,minHeight:Kn,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:aS,cursor:"not-allowed"},pulse:{position:"absolute",top:Gn,right:Gn,bottom:Gn,left:Gn,borderRadius:r.pill,backgroundColor:t.brandSofter}}}i(uS,"makeStyles");function hf(e){if(!e)return null;let t=e.SpeechRecognition??e.webkitSpeechRecognition;return typeof t=="function"?t:null}i(hf,"getRecognitionConstructor");function Ra(e){return typeof e=="string"&&e.toLowerCase().startsWith("en")?e:"en-US"}i(Ra,"resolveDictationLang");async function bf(e,t){let r=hf(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(bf,"probeDictationCapability");function cS(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(cS,"joinRecognitionResults");function vf(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(vf,"composeDictatedText");function pS(e){return e==="not-allowed"||e==="service-not-allowed"?"permissionDenied":e==="no-speech"?"noSpeech":"unavailable"}i(pS,"mapDictationError");var fS=new Set(["language-not-supported","service-not-allowed"]),mS={setTimeout:i((e,t)=>globalThis.setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>globalThis.clearTimeout(e),"clearTimeout")};function Ef(e){let{env:t,capability:r,lang:n,callbacks:o}=e,a=e.timers??mS,s=e.maxDurationMs??6e4,l=hf(t),u=r==="on_device"?"on_device":"browser",d=u==="on_device"&&(e.phrases?.length??0)>0&&typeof t.SpeechRecognitionPhrase=="function",c=false,p=false,f=false,m=null,y=0,v=false,h=false,E=false,x=false,_=false,w="",g=null,T=null,I=i(()=>{if(h)return;h=true,y+=1,T!==null&&a.clearTimeout(T),T=null;let S=g;S===null&&!x&&w.trim()===""&&(S="noSpeech"),o.onEnd?.({mode:u,transcript:w,error:S});},"finish"),O=i(()=>{if(!l){g="unavailable",I();return}y+=1;let S=y,A=i(()=>S===y&&!h,"live"),F=new l;if(m=F,F.lang=n,F.continuous=true,F.interimResults=true,u==="on_device")try{F.processLocally=!0;}catch{u="browser";}if(u==="on_device"&&d)try{let B=t.SpeechRecognitionPhrase;F.phrases=(e.phrases??[]).map($=>new B($));}catch{d=false,p=true;}F.onstart=()=>{!A()||v||(v=true,o.onStart?.(u));},F.onresult=B=>{A()&&(_=true,w=cS(B.results),o.onTranscript?.(w));},F.onerror=B=>{if(!A())return;let $=B?.error??"";if(!($==="aborted"&&E)){if($==="phrases-not-supported"&&!p&&!_&&!E){d=false,p=true,f=true;return}if(u==="on_device"&&!c&&!_&&!E&&fS.has($)){u="browser",d=false,c=true,f=true;return}$==="no-speech"&&w.trim()!==""||(g=pS($));}},F.onend=()=>{if(A()){if(f&&!E){f=false,O();return}I();}};try{F.start();}catch{if(u==="on_device"&&!c){u="browser",d=false,c=true,O();return}g="unavailable",I();}},"launch");if(r==="downloadable"&&l&&typeof l.install=="function")try{Promise.resolve(l.install({langs:[n],processLocally:!0})).catch(()=>{});}catch{}let k=i(()=>{if(!(h||E)){E=true,f=false,T!==null&&a.clearTimeout(T),T=null;try{m?.stop();}catch{I();}}},"stopListening");T=a.setTimeout(()=>{T=null,k();},s);let C={get mode(){return u},stop(){h||E||(x=true,k());},cancel(){if(h)return;E=true,x=true,f=false;let S=m;I();try{S?.abort();}catch{}}};return O(),C}i(Ef,"startDictation");var yS=6e3;function Sa(e,t,r){if(e)try{e.track(t,{...r});}catch{}}i(Sa,"trackDictationEvent");function gS(){return typeof window>"u"?null:window}i(gS,"browserEnv");function Cf({enabled:e,input:t,setInput:r,phrases:n,maxLength:o,telemetry:a,env:s}){let[l,u]=useState("none"),[d,c]=useState("idle"),[p,f]=useState(null),[m,y]=useState(0),v=useRef(null),h=useRef(null),E=useRef(t);E.current=t;let x=useRef(r);x.current=r;let _=useRef(a);_.current=a;let[w,g]=useState(0),T=useCallback(()=>s??gS(),[s]);useEffect(()=>{if(!e){u("none");return}let A=T();if(!A)return;let F=true;return bf(A,Ra(A.navigator?.language)).then(B=>{F&&u(B);}),()=>{F=false;}},[e,T,w]);let I=useCallback(()=>{let A=T();if(!A||l==="none")return;f(null),y(0),h.current=null,c("starting");let F=E.current,B=l,$=false,te=Ef({env:A,capability:l,lang:Ra(A.navigator?.language),...n!==void 0?{phrases:n}:{},callbacks:{onStart:i(Y=>{h.current=Date.now(),c("listening"),Sa(_.current,"chat_dictation_started",{mode:Y});},"onStart"),onTranscript:i(Y=>{x.current(vf(F,Y,o));},"onTranscript"),onEnd:i(({mode:Y,transcript:$e,error:W})=>{$=true,v.current=null;let Ee=h.current;h.current=null,W?(f(W),c("error"),Sa(_.current,"chat_dictation_failed",{mode:Y,error:W})):(c("idle"),Sa(_.current,"chat_dictation_completed",{mode:Y,duration_ms:Ee===null?0:Date.now()-Ee,char_count:$e.trim().length})),B==="downloadable"&&g(Oe=>Oe+1);},"onEnd")}});$||(v.current=te);},[l,o,n,T]),O=useCallback(()=>{v.current?.stop();},[]),k=useCallback(()=>{v.current?.cancel();},[]),C=d==="starting"||d==="listening",S=useCallback(()=>{if(v.current){v.current.stop();return}I();},[I]);return useEffect(()=>{if(d!=="listening")return;let A=i(()=>{let B=h.current;B!==null&&y(Date.now()-B);},"tick");A();let F=setInterval(A,1e3);return ()=>clearInterval(F)},[d]),useEffect(()=>{if(!C||typeof document>"u")return;let A=i(()=>{document.visibilityState==="hidden"&&v.current?.stop();},"onVisibility");return document.addEventListener("visibilitychange",A),()=>document.removeEventListener("visibilitychange",A)},[C]),useEffect(()=>{if(!C||typeof document>"u")return;let A=i(F=>{F.key==="Escape"&&v.current?.stop();},"onKey");return document.addEventListener("keydown",A),()=>document.removeEventListener("keydown",A)},[C]),useEffect(()=>{if(d!=="error")return;let A=setTimeout(()=>{f(null),c("idle");},yS);return ()=>clearTimeout(A)},[d]),useEffect(()=>()=>{v.current?.cancel();},[]),{supported:e&&l!=="none",status:d,active:C,error:p,elapsedMs:m,toggle:S,stop:O,cancel:k}}i(Cf,"useDictation");var hS=["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 Rf(e={}){let t=new Set,r=[];for(let n of [e.name,e.breed,...hS]){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(Rf,"buildDictationPhrases");function xf({send:e,draftScope:t,stop:r,isStreaming:n,inputRef:o,conversationId:a,seed:s,draftStore:l,attachments:u,onPreview:d,dictation:c,pet:p,telemetry:f}){let{theme:m,styles:y}=ye(),[v,h]=pf(t,a,s);ff(l,a===null?null:String(a),v,h);let[E,x]=useState(false),_=m.meta.placeholder??b.placeholder,w=useMemo(()=>Rf({name:p?.name??null,breed:p?.breed??null}),[p?.name,p?.breed]),g=Cf({enabled:c,input:v,setInput:h,phrases:w,maxLength:ht,telemetry:f}),T=g.cancel,I=g.active,O=useRef(null),k=useRef(new Set),C=useRef(new Set);useEffect(()=>()=>{for(let j of k.current)Rr(j);for(let j of C.current)Rr(j);},[]);let S=useCallback(j=>{if(u===null)return;let le=Array.from(j.target.files??[]);if(j.target.value="",le.length===0)return;u.dismissRejected();let yt=le.map(In),_e=u.add(yt);yt.forEach((Fr,Xn)=>{_e[Xn]?.ok===true?k.current.add(Fr.uri):Rr(Fr.uri);});},[u]),A=useCallback(j=>{if(u===null)return;let le=u.attachments.find(yt=>yt.id===j);u.remove(j),le!==void 0&&k.current.delete(le.previewUri)&&Rr(le.previewUri);},[u]),F=u!==null&&u.uploading,B=u!==null&&u.failed,$=F||B,te=useMemo(()=>[...v].length>ht,[v]),Y=useCallback(()=>{if(v.trim().length===0||[...v].length>ht||$)return;I&&T();let j=u===null?gp:u.attachments.flatMap(le=>le.status==="uploaded"?[{uri:le.previewUri,filename:le.filename}]:[]);for(let le of j)k.current.delete(le.uri),C.current.add(le.uri);e(v,j),h("");},[v,e,$,I,T,u,h]),$e=useCallback(()=>{r();},[r]),W=useCallback(j=>{j.key!=="Enter"||j.shiftKey||j.altKey||j.ctrlKey||j.metaKey||j.nativeEvent.isComposing||(j.preventDefault(),Y());},[Y]),Ee=useCallback(j=>{I&&T(),h(j.target.value);},[I,T,h]);useLayoutEffect(()=>{let j=o.current;j!==null&&(j.style.height="auto",j.style.height=`${Math.min(j.scrollHeight,da)}px`);},[v,o]);let Oe=te||$,ft=u!==null&&u.attachments.length>=u.maxPerMessage,mt=useCallback(j=>{j.target===j.currentTarget&&(j.preventDefault(),o.current?.focus());},[o]),nt=m.slots.sendButton?.textColor??m.color.brandInk;return jsxs("div",{style:y.composerBlock,children:[B?jsx("p",{role:"alert",style:y.composerError,children:b.attachmentsFailedBlocked}):null,u!==null&&u.rejected!==null?jsx("p",{role:"alert",style:y.composerError,children:od(u.rejected)}):null,g.supported&&g.error!==null?jsx("p",{role:"alert",style:y.composerError,children:yf(g.error)}):null,u!==null?jsx(hp,{attachments:u.attachments,onRetry:u.retry,onRemove:A,onPreview:d}):null,jsxs("div",{style:{...y.composer,...E?y.composerFocused:null},onMouseDown:mt,children:[u!==null?jsxs(Fragment,{children:[jsx("input",{ref:O,type:"file",accept:Ys,multiple:u.maxPerMessage>1,onChange:S,tabIndex:-1,"aria-hidden":"true",style:dt}),jsx("button",{type:"button",onClick:()=>O.current?.click(),"aria-label":id(u.attachments.length,u.maxPerMessage),"aria-disabled":ft,style:{...y.iconControl,...ft?y.actionButtonDisabled:null},children:jsx(H,{name:"upload",size:ap,color:m.color.brandInk})})]}):null,jsxs("div",{style:y.inputWrap,children:[v.length===0?jsx("span",{"aria-hidden":"true",style:y.placeholder,children:_}):null,jsx("textarea",{ref:o,rows:1,value:v,onChange:Ee,onKeyDown:W,onFocus:()=>x(true),onBlur:()=>x(false),"data-ef-focus-ring":"self","aria-label":_,style:y.input})]}),g.supported?jsx(gf,{active:g.active,listening:g.status==="listening",elapsedMs:g.elapsedMs,onToggle:g.toggle}):null,n?jsx("button",{type:"button",onClick:$e,"aria-label":b.stop,style:y.actionButton,children:jsx("span",{"data-everfur-send-disc":"",style:y.sendDisc,children:jsx(H,{name:"square",size:op,color:nt,fill:nt})})}):jsx("button",{type:"button",onClick:Y,"aria-label":b.send,"aria-disabled":Oe,style:{...y.actionButton,...Oe?y.actionButtonDisabled:null},children:jsx("span",{"data-everfur-send-disc":"",style:y.sendDisc,children:jsx(H,{name:"send",size:np,color:nt})})})]})]})}i(xf,"Composer");var SS=wn(),Ta=Object.freeze([]),xS=Object.freeze({display:"contents"});function kf(e){let{style:t,className:r,renderPending:n}=e;return jsx(gi,{capability:"chat",style:t,className:r,...n?{renderPending:n}:{},children:jsx(Pc,{onOpenUrl:e.onOpenUrl,children:jsx(Fc,{headingLevel:e.headingLevel,children:jsx(TS,{...e})})})})}i(kf,"EverfurChat");function TS(e){let{petRef:t,conversationId:r,style:n,className:o,renderPending:a,onPetChange:s,onVetPrep:l,onFindVet:u,renderVetAction:d,pet:c,onAddPet:p,checkinTarget:f,initialAsk:m,composerSeed:y,lifecycle:v,draftStore:h,vetReturnTo:E,vetUsState:x,vetPrefer:_}=e,w=e.attachments!==false,g=e.attachments===false?void 0:e.attachments?.maxPerMessage,T=e.dictation!==false,{theme:I,styles:O}=ye(),k=useMemo(()=>wd(t,r),[t,r]),C=vr(k),S=Td(C),A=useRef(null),F=PS(C),B=J(),$=Cn(),te=useMemo(()=>Id($.pets,C.petRef),[$.pets,C.petRef]),Y=useMemo(()=>p===void 0?null:()=>{de(p);},[p]),$e=useCallback(Ce=>{B.handle.setActivePet(Ce),de(s,Ce);},[B.handle,s]),W=Ed(C),Ee=Ln(),Oe=useRef(null),ft=(C.hasUnreadThreads??false)||(C.unreadCount??0)>0||W.rows.some(Ce=>Ce.unreadCount!==null&&Ce.unreadCount>0);hd(C.openCheckin,f),cd(C.askEverfur,C.isBootstrapping,m);let mt=useMemo(()=>Si(y),[y]);yd(v,{conversationId:C.conversationId===null?null:String(C.conversationId),isTurnInFlight:C.isStreaming,refresh:C.refreshActiveThread});let nt=xd(useMemo(()=>Sd(C.messages),[C.messages])),j=useMemo(()=>Ld(C.petRef,E===void 0&&x===void 0&&_===void 0?void 0:{returnTo:E,usState:x,prefer:_}),[C.petRef,E,x,_]),le=ac(j),yt=le.open,_e=useMemo(()=>({available:le.available,open:i(()=>{yt();},"open")}),[le.available,yt]),Fr=useMemo(()=>_e.available?_e.open:u!==void 0?()=>{de(u,"emergency");}:null,[_e,u]),Xn=useMemo(()=>l!==void 0?()=>{de(l,C.petRef);}:_e.available?_e.open:null,[l,C.petRef,_e]),Ot=yn({transport:SS,...g!==void 0?{maxPerMessage:g}:{}}),Qn=kS(C.messages),[Pf,Pa]=useState(null),_a=useRef(null),wa=useCallback((Ce,Jn)=>{_a.current=Jn,Pa(Ce);},[]),_f=useCallback(()=>Pa(null),[]),wf=useCallback(Ce=>{C.send(Ce),A.current?.focus();},[C.send]),If=useCallback((Ce,Jn)=>{Qn.record(Ce,Jn),Ot.s3Keys.length>0?C.send(Ce,{imageS3Keys:Ot.s3Keys}):C.send(Ce),Ot.clear();},[C.send,Ot,Qn]),Af=B.runtime.registry?.services?.telemetry??null,Zn=useRef(null);return Fd(Zn,I.color.brandInk),Mc(Zn),jsxs("div",{ref:Zn,className:o,style:{...O.container,...n},children:[jsx(Sc,{pets:$.pets,activePet:te,unread:ft,onOpenHistory:W.open?W.close:W.show,historyTriggerRef:Oe,onSelectPet:$e,onAddPet:Y,rail:Ee.rail,historyOpen:W.open,onNewChat:W.newConversation,vetEntry:_e.available?_e.open:null}),c!==void 0?jsx(_S,{petRef:t??null,pet:c,onRegistered:$.refresh}):null,jsxs("div",{style:O.split,children:[jsxs("div",{style:O.main,children:[jsx(Kc,{surface:nt,vetEntry:_e,renderVetAction:d,onFindVet:u}),jsx("div",{style:O.body,children:uf(S,C,wf,a,te,Xn,Qn.imagesFor,wa,Y,Fr)}),jsx(xf,{send:If,draftScope:C.send,stop:C.stop,isStreaming:C.isStreaming,inputRef:A,conversationId:C.conversationId,seed:mt,draftStore:h,attachments:w&&Ot.available?Ot:null,onPreview:wa,dictation:T,pet:te,telemetry:Af}),jsx(Dd,{}),I.meta.hidePoweredBy?null:jsx("p",{style:O.poweredBy,children:b.poweredBy})]}),jsx($c,{chat:C,history:W,mode:Ee.rail?"rail":"dialog",returnFocusTo:Oe})]}),jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",style:dt,children:F}),jsx(uc,{image:Pf,onClose:_f,returnFocusTo:_a}),jsx("div",{"data-ef-focus-ring":"self",style:xS,children:jsx(Gd,{})})]})}i(TS,"ChatBody");function kS(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 Ta;let u=s.pending.findIndex(c=>c.text===a.text&&!c.before.has(a.id));if(u<0)return Ta;let[d]=s.pending.splice(u,1);return d===void 0?Ta:(s.byMessage.set(a.id,d.images),d.images)},[]);return useMemo(()=>({record:n,imagesFor:o}),[n,o])}i(kS,"useSentImages");function PS(e){let t=En(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(PS,"useReplyAnnouncement");function _S({petRef:e,pet:t,onRegistered:r}){let{styles:n}=ye(),o=ud(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(_S,"PetSetupNotice");function FS(e){let{runtime:t,userRef:r,scopeEpoch:n}=J(),o=useMemo(()=>it(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},d=useRef(0),c=useCallback(async()=>{let p=++d.current;if(a.petRef===null){l({key:a,profile:null,loading:false,error:null});return}l(m=>({key:a,profile:m.key===a?m.profile:null,loading:true,error:null}));let f=await a.repository.getPetProfile(a.petRef);p===d.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(()=>(c(),()=>{d.current+=1;}),[c]),useMemo(()=>({profile:u.profile,loading:u.loading,error:u.error,refresh:c}),[u.profile,u.loading,u.error,c])}i(FS,"useEverfurPetProfile");function DS(e){return createElement(un,{clientTheme:e.clientTheme??null,seams:mn,children:e.children})}i(DS,"EverfurThemeProvider");export{eu as APPEARANCE_PRESETS,Jl as APPEARANCE_PRESET_NAMES,pr as APPEARANCE_SIZE_RANGES,gi as CapabilityGate,kf as EverfurChat,re as EverfurConfigError,pb as EverfurProvider,DS as EverfurThemeProvider,Mr as EverfurThrownError,eg as THEME_SLOT_KEYS,Ye as THEME_SLOT_NAMES,ir as canonicalPetSpecies,to as categoryFor,ny as conversationId,ui as createLocalStorageKv,wn as createWebAttachmentTransport,Yo as expandAppearance,Hh as face,P as faceCss,In as fileToAttachmentHandle,Mf as isErr,Ff as isOk,ro as isRetryableCode,ty as petRef,nh as previewTheme,Df as unwrap,Nt as useCapability,yn as useChatAttachments,Ou as useEverfur,vr as useEverfurChat,FS as useEverfurPetProfile,Cn as useEverfurPets,N as useEverfurTheme,Ft as userFacingError,ry as userRef};
|