@everfur/sdk 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/{Chat-DZpYH8Uh.d.ts → Chat-CFi5cNUF.d.ts} +3 -3
- package/dist/{Chat-bATY4atj.d.cts → Chat-DQOsAumH.d.cts} +3 -3
- package/dist/{DepthViews-C4DC4Kom.d.cts → DepthViews-C409ubw-.d.cts} +1 -1
- package/dist/{DepthViews-BpHUbjSY.d.cts → DepthViews-D81c95Ra.d.cts} +1 -1
- package/dist/{DepthViews-dLTizxjr.d.ts → DepthViews-es8mIK0w.d.ts} +1 -1
- package/dist/{DepthViews-qBIoA48w.d.ts → DepthViews-uilL1NJZ.d.ts} +1 -1
- package/dist/{BookedScreen-DFJcgf1e.d.ts → IntakeMedia-BcjjUizr.d.ts} +40 -1
- package/dist/{BookedScreen-R5X_Zrlh.d.cts → IntakeMedia-CL_S2tZE.d.cts} +40 -1
- package/dist/animations/index.d.cts +3 -3
- package/dist/animations/index.d.ts +3 -3
- package/dist/{attachments-Ce06TWqe.d.cts → attachments-B2GjBgvF.d.cts} +2 -2
- package/dist/{attachments-CUOGILir.d.cts → attachments-DI710no4.d.cts} +5 -5
- package/dist/{attachments-CPRFfoHT.d.ts → attachments-DNaSbmA3.d.ts} +2 -2
- package/dist/{attachments-CXAnZcEg.d.ts → attachments-SF88N654.d.ts} +5 -5
- package/dist/{bookingCopy-DFTv9w6J.d.ts → bookingCopy-D2N3RhsV.d.ts} +2 -2
- package/dist/{bookingCopy-BwVopcoV.d.cts → bookingCopy-xlXxORCA.d.cts} +2 -2
- package/dist/{casesRepository-CJchNp3x.d.cts → casesRepository-B-md8h1S.d.cts} +1 -1
- package/dist/{casesRepository-DAVcY3jC.d.ts → casesRepository-CC6951TK.d.ts} +1 -1
- package/dist/chat/index.d.cts +9 -9
- package/dist/chat/index.d.ts +9 -9
- package/dist/client/index.cjs +1 -1
- package/dist/client/index.d.cts +6 -6
- package/dist/client/index.d.ts +6 -6
- package/dist/client/index.js +1 -1
- package/dist/{config-ZxwCylac.d.ts → config-BM0sv5jx.d.ts} +1 -1
- package/dist/{config-h5h6TsHL.d.cts → config-Daa1plhQ.d.cts} +1 -1
- package/dist/consent/index.d.cts +5 -5
- package/dist/consent/index.d.ts +5 -5
- package/dist/{context-DtPIshVA.d.ts → context-CDV2pwGI.d.ts} +5 -5
- package/dist/{context-CtsAgJnc.d.cts → context-DQHtwcHN.d.cts} +5 -5
- package/dist/{copy-CaWaplQc.d.cts → copy-BEx5F71o.d.cts} +2 -2
- package/dist/{copy-Cg89Qoal.d.ts → copy-Cl1l-qmY.d.ts} +2 -2
- package/dist/core/index.cjs +1 -1
- package/dist/core/index.d.cts +12 -12
- package/dist/core/index.d.ts +12 -12
- package/dist/core/index.js +1 -1
- package/dist/{depth-EXZYEO70.d.cts → depth-CAAwiStc.d.cts} +3 -3
- package/dist/{depth-Bo4bAwcn.d.ts → depth-DfNRVtrV.d.ts} +3 -3
- package/dist/{entitlementRepository-DcbIx8yV.d.ts → entitlementRepository-CVWvND1P.d.ts} +2 -2
- package/dist/{entitlementRepository-BYtVb1oU.d.cts → entitlementRepository-DPvWjV-N.d.cts} +2 -2
- package/dist/{identity-EC5-apbY.d.ts → identity-BhT7oJDS.d.ts} +1 -1
- package/dist/{identity-b5Vp32Vp.d.cts → identity-DUlshgow.d.cts} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +12 -12
- package/dist/index.d.ts +12 -12
- package/dist/index.js +1 -1
- package/dist/notifications/index.d.cts +2 -2
- package/dist/notifications/index.d.ts +2 -2
- package/dist/{pets-DM8QvKLo.d.cts → pets-Bneph9m1.d.cts} +1 -1
- package/dist/{pets-B_27_agU.d.ts → pets-DjcLmRrW.d.ts} +1 -1
- package/dist/{petsRepository-BJsJ4cju.d.cts → petsRepository-BnVre3q7.d.cts} +1 -1
- package/dist/{petsRepository-CuYZZaI5.d.ts → petsRepository-BwxmfX_s.d.ts} +1 -1
- package/dist/{ports-ZmJYgd5I.d.cts → ports-BPKxFOSe.d.cts} +4 -4
- package/dist/{ports-nXHf50_X.d.ts → ports-Di9rdLO9.d.ts} +4 -4
- package/dist/records/depth/index.d.cts +7 -7
- package/dist/records/depth/index.d.ts +7 -7
- package/dist/records/index.d.cts +9 -9
- package/dist/records/index.d.ts +9 -9
- package/dist/{requestFunnel-Ve9BshTB.d.ts → requestFunnel-CiSX2pun.d.ts} +2 -2
- package/dist/{requestFunnel-C_cZXhIA.d.cts → requestFunnel-DMR_1T3O.d.cts} +2 -2
- package/dist/{runtimeTypes-D155OlBW.d.cts → runtimeTypes-2gJ5hYoE.d.cts} +4 -4
- package/dist/{runtimeTypes-ByKsp8hm.d.ts → runtimeTypes-CkMFCbHW.d.ts} +4 -4
- 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.d.cts +6 -6
- package/dist/televet/booking/index.d.ts +6 -6
- package/dist/testing/index.d.cts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/rn/index.d.cts +7 -7
- package/dist/testing/rn/index.d.ts +7 -7
- package/dist/testing/web/index.d.cts +7 -7
- package/dist/testing/web/index.d.ts +7 -7
- package/dist/{timelineRows-DXpjECfA.d.ts → timelineRows-D3171ksh.d.ts} +1 -1
- package/dist/{timelineRows-BNF43SXK.d.cts → timelineRows-DDnz4gx2.d.cts} +1 -1
- package/dist/{useRecordsDepth-CARTuHKh.d.cts → useRecordsDepth-COJ0wSYK.d.cts} +1 -1
- package/dist/{useRecordsDepth-fPSv-GXU.d.ts → useRecordsDepth-Z9FF5X4E.d.ts} +1 -1
- package/dist/{view-Dc-JlFkf.d.ts → view-DoQEHXJR.d.ts} +2 -2
- package/dist/{view-DGPaVno8.d.cts → view-nRy6SitU.d.cts} +2 -2
- package/dist/web/consent/index.d.cts +5 -5
- package/dist/web/consent/index.d.ts +5 -5
- package/dist/web/index.cjs +2 -2
- package/dist/web/index.d.cts +14 -14
- package/dist/web/index.d.ts +14 -14
- package/dist/web/index.js +2 -2
- package/dist/web/notifications/index.d.cts +3 -3
- package/dist/web/notifications/index.d.ts +3 -3
- package/dist/web/records/depth/index.d.cts +7 -7
- package/dist/web/records/depth/index.d.ts +7 -7
- package/dist/web/records/index.d.cts +9 -9
- package/dist/web/records/index.d.ts +9 -9
- package/dist/web/televet/booking/index.cjs +1 -1
- package/dist/web/televet/booking/index.d.cts +15 -49
- package/dist/web/televet/booking/index.d.ts +15 -49
- package/dist/web/televet/booking/index.js +1 -1
- package/dist/web/televet/index.cjs +1 -1
- package/dist/web/televet/index.d.cts +11 -3
- package/dist/web/televet/index.d.ts +11 -3
- package/dist/web/televet/index.js +1 -1
- package/package.json +1 -1
package/dist/web/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`,Xf=1048576,Qf=zod.z.record(zod.z.string(),zod.z.unknown()),Zf=["emergency","schedule_soon","home_care"];async function*Vr(e,t=null){let r=null,n=i(()=>(r!==null||(r=typeof t=="function"?t():t),r),"requestIdNow"),o=new TextDecoder("utf-8"),a="",s=0,l=false;for await(let u of e){for(a+=o.decode(u,{stream:true});;){let d=a.indexOf(Va,s);if(d===-1)break;let c=a.slice(0,d);a=a.slice(d+Va.length),s=0;let p=$a(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>Xf){yield ye({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=$a(a,n());if(u!==null&&(u.kind==="delta"&&(l=true),yield u,u.terminal))return}yield ye({code:l?"CHAT_STREAM_INCOMPLETE":"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:n()});}i(Vr,"parseSse");function $a(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=Qf.safeParse(o);return a.success?Jf(a.data,r,t):null}i($a,"parseBlock");function Jf(e,t,r){let n=e.type,o=e.event;if(n==="error"||"error"in e)return ye({code:pe(e.code)??"unknown",retryable:e.retryable===true,wireMessage:pe(e.error),synthesized:false,lastEventId:t,serverRequestId:r});if(n==="done"||e.done===true)return La({conversationId:pe(e.conversation_id)??"",messageId:pe(e.message_id),title:pe(e.title),followUpQuestions:rm(e.follow_up_questions),citations:Wa(e.citations),citationStatus:pe(e.citation_status),urgencyLevel:Ka(e.urgency_level),urgencyReason:pe(e.urgency_reason),urgencyProvided:tm(e),resultId:pe(e.result_id),lastEventId:t},r);if(n==="accepted"||e.status==="reasoning")return Fa(pe(e.stream_id),t,r);if(n==="heartbeat"||e.heartbeat===true)return Ma(t,r);if(n==="text.delta"||"delta"in e||"token"in e){let a=pe(e.delta)??pe(e.token)??"";return Da(a,t,r)}return o==="analysis_started"?Na(pe(e.request_id),t,r):o==="analysis_complete"?za({resultId:pe(e.result_id),analysisType:pe(e.analysis_type),modelVersion:pe(e.model_version),confidence:em(e.confidence),detections:Wa(e.detections),interpretation:pe(e.interpretation),lastEventId:t},r):Ha(e,t,r)}i(Jf,"frameFromWire");function pe(e){return typeof e=="string"?e:null}i(pe,"asString");function em(e){return typeof e=="number"&&Number.isFinite(e)?e:null}i(em,"asNumber");function Ka(e){return typeof e=="string"&&Zf.includes(e)?e:null}i(Ka,"asUrgency");function tm(e){if(!Object.prototype.hasOwnProperty.call(e,"urgency_level"))return false;let t=e.urgency_level;return t===null||Ka(t)!==null}i(tm,"urgencySlotProvided");function rm(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?t:String(t)):[]}i(rm,"asStringList");function nm(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(nm,"isPlainObject");function Wa(e){return Array.isArray(e)?e.filter(nm):[]}i(Wa,"asMapList");var om="0.7.
|
|
5
|
+
`));}catch{return null}if(typeof o!="object"||o===null||Array.isArray(o))return null;let a=Qf.safeParse(o);return a.success?Jf(a.data,r,t):null}i($a,"parseBlock");function Jf(e,t,r){let n=e.type,o=e.event;if(n==="error"||"error"in e)return ye({code:pe(e.code)??"unknown",retryable:e.retryable===true,wireMessage:pe(e.error),synthesized:false,lastEventId:t,serverRequestId:r});if(n==="done"||e.done===true)return La({conversationId:pe(e.conversation_id)??"",messageId:pe(e.message_id),title:pe(e.title),followUpQuestions:rm(e.follow_up_questions),citations:Wa(e.citations),citationStatus:pe(e.citation_status),urgencyLevel:Ka(e.urgency_level),urgencyReason:pe(e.urgency_reason),urgencyProvided:tm(e),resultId:pe(e.result_id),lastEventId:t},r);if(n==="accepted"||e.status==="reasoning")return Fa(pe(e.stream_id),t,r);if(n==="heartbeat"||e.heartbeat===true)return Ma(t,r);if(n==="text.delta"||"delta"in e||"token"in e){let a=pe(e.delta)??pe(e.token)??"";return Da(a,t,r)}return o==="analysis_started"?Na(pe(e.request_id),t,r):o==="analysis_complete"?za({resultId:pe(e.result_id),analysisType:pe(e.analysis_type),modelVersion:pe(e.model_version),confidence:em(e.confidence),detections:Wa(e.detections),interpretation:pe(e.interpretation),lastEventId:t},r):Ha(e,t,r)}i(Jf,"frameFromWire");function pe(e){return typeof e=="string"?e:null}i(pe,"asString");function em(e){return typeof e=="number"&&Number.isFinite(e)?e:null}i(em,"asNumber");function Ka(e){return typeof e=="string"&&Zf.includes(e)?e:null}i(Ka,"asUrgency");function tm(e){if(!Object.prototype.hasOwnProperty.call(e,"urgency_level"))return false;let t=e.urgency_level;return t===null||Ka(t)!==null}i(tm,"urgencySlotProvided");function rm(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?t:String(t)):[]}i(rm,"asStringList");function nm(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(nm,"isPlainObject");function Wa(e){return Array.isArray(e)?e.filter(nm):[]}i(Wa,"asMapList");var om="0.7.1",mo="react-native",im="2026-09-19",$r="EVERFUR_API_BASE_URL";function Zt(e,t){return Object.freeze({ok:false,failure:Object.freeze({reason:e,message:t})})}i(Zt,"configFailure");function yo(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(yo,"checkPublishableKey");function Ga(e,t){let r=yo(e?.publishableKey);if(r!==null)return Object.freeze({ok:false,failure:r});let n=e.publishableKey.trim(),o=am(e.apiBaseUrl);if(!o.ok)return o;let a=e.contractVersion?.trim()||im;return Object.freeze({ok:true,config:Object.freeze({publishableKey:n,apiBaseUrl:o.value,contractVersion:a,sdkVersion:om,platform:t?.platform??mo,debug:e.debug===true})})}i(Ga,"tryResolveClientConfig");function am(e){let t=e?.trim(),r=t&&t.length>0?t:mm($r);return r?pm(r):Zt("missing-api-base-url",`apiBaseUrl is required: pass config.apiBaseUrl or set ${$r}. The SDK never ships a hardcoded host.`)}i(am,"tryResolveApiBaseUrl");function qa(e){return {"X-Everfur-SDK-Version":e.sdkVersion,"X-Everfur-SDK-Platform":e.platform,"X-Everfur-Contract":e.contractVersion}}i(qa,"buildBaseHeaders");var sm=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/;function lm(e){return e.slice(e.lastIndexOf("@")+1).replace(/:\d+$/,"").toLowerCase()}i(lm,"hostOf");function um(e){return e.length===0||e.includes("@")?false:e.startsWith("[")&&e.endsWith("]")?true:!e.includes(":")}i(um,"isPrintableHost");function dm(e,t){let r=e.indexOf("://");return r<0||e.slice(r+3).includes("@")?false:um(t)}i(dm,"canEchoOrigin");function cm(e,t){return `${e}://${t}`}i(cm,"safeOrigin");function pm(e){let t=e.trim(),r=sm.exec(t);if(r===null||r[2]===void 0||r[2].length===0)return Zt("malformed-api-base-url","apiBaseUrl is not a valid absolute URL");let n=(r[1]??"").toLowerCase(),o=lm(r[2]);if(o.length===0)return Zt("malformed-api-base-url","apiBaseUrl is not a valid absolute URL");let a=dm(t,o)?`: ${cm(n,o)}`:"";if(n!=="https"){if(!(n==="http"&&fm(o)))return n==="http"?Zt("insecure-api-base-url",`apiBaseUrl must use https (cleartext http is only allowed for localhost)${a}`):Zt("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(pm,"normalizeBaseUrl");function fm(e){let t=e.toLowerCase();return t==="localhost"||t==="127.0.0.1"||t==="[::1]"||t==="::1"}i(fm,"isLoopbackHost");function mm(e){let r=globalThis.process?.env?.[e];return typeof r=="string"&&r.trim().length>0?r.trim():void 0}i(mm,"readEnv");var ym=3e4,Za="x-request-id";async function*Ya(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(Ya,"fetchByteSource");function gm(e){let t=new TextEncoder,r=bm(),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+=`
|
|
@@ -11,4 +11,4 @@
|
|
|
11
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"),hm(r.source,l)}i(gm,"eventSourceByteSource");async function*hm(e,t){try{yield*e;}finally{t();}}i(hm,"sourceWithCleanup");function bm(){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(bm,"createByteQueue");async function vm(e,t){let r=t.fetchImpl??rs(),n=ns(t.config.apiBaseUrl,e.path,e.query),o=os(t.config,e.headers,"application/json",e.body!==void 0&&e.multipart===void 0),a=Tm(ym),s=km(a.signal,e.signal),l;try{l=await r(n,is({...e,signal:s},o));}catch(d){return C(go(d))}finally{a.cancel();}let u=await as(l);return l.ok?M(u):C(xm(l.status,u,es(l)))}i(vm,"requestJson");function Ja(e){return {request:i(t=>vm(t,e),"request"),stream:i((t,r)=>Em(Sm(t,r),e),"stream")}}i(Ja,"createHttpTransport");async function*Em(e,t){let r=ns(t.config.apiBaseUrl,e.path,e.query),n=os(t.config,e.headers,"text/event-stream",e.body!==void 0&&e.multipart===void 0);if(t.eventSourceFactory){let l=t.eventSourceFactory(r,Cm(e,n));yield*Vr(gm(l),()=>Rm(l));return}let o=t.fetchImpl??rs(),a;try{a=await o(r,is(e,n));}catch(l){yield Xa("",true,ds(l));return}let s=es(a);if(!a.ok){let l=await as(a),u=ss(l)??ts(a.status),d=us(l)||$e(we(u));yield Xa(u,d,ls(l),s);return}if(a.body){yield*Vr(Ya(a.body),s);return}yield*Vr(Ya(null),s);}i(Em,"streamFrames");function Cm(e,t){return {method:e.method,headers:t,pollingInterval:0,...e.body!==void 0?{body:JSON.stringify(e.body)}:{}}}i(Cm,"buildEventSourceInit");function xm(e,t,r){let n=ss(t),o=n?we(n):wa(e),a=ls(t);return D(o,{httpStatus:e,...us(t)?{retryable:true}:{},...r?{requestId:r}:{},...n?{wireCode:n}:{},...Qa(t)?{reasonCode:Qa(t)}:{},...a?{wireMessage:a}:{},...t!=null?{raw:t}:{}})}i(xm,"errorFromResponse");function go(e){return D("internalError",{retryable:true,wireMessage:ds(e)})}i(go,"networkError");function es(e){let t=e.headers.get(Za);return typeof t=="string"&&t.length>0?t:null}i(es,"requestIdOf");function Rm(e){if(typeof e.getResponseHeader!="function")return null;let t;try{t=e.getResponseHeader(Za);}catch{return null}return typeof t=="string"&&t.length>0?t:null}i(Rm,"eventSourceRequestId");function ts(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(ts,"statusToWireCode");function Xa(e,t,r,n=null){return ye({code:e,retryable:t,wireMessage:r,synthesized:true,lastEventId:null,serverRequestId:n})}i(Xa,"syntheticErrorFrame");function rs(){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(rs,"getGlobalFetch");function ns(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(ns,"buildUrl");function os(e,t,r,n){let o={...qa(e),accept:r};return n&&(o["content-type"]="application/json"),t&&Object.assign(o,t),o}i(os,"mergeHeaders");function is(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(is,"buildInit");function Sm(e,t){return e.signal?e:{...e,signal:t}}i(Sm,"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 km(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(km,"mergeAbortSignals");async function as(e){try{return await e.json()}catch{return null}}i(as,"safeJson");function Qa(e){let t=e,r=t?.error?.reason_code??t?.reason_code;return typeof r=="string"&&r.length>0?r:null}i(Qa,"extractReasonCode");function ss(e){let t=e,r=t?.error?.code??t?.code;return typeof r=="string"&&r.length>0?r:null}i(ss,"extractWireCode");function ls(e){let t=e,r=t?.error?.message??t?.message;return typeof r=="string"&&r.length>0?r:null}i(ls,"extractWireMessage");function us(e){let t=e;return t?.error?.retryable===true||t?.retryable===true}i(us,"extractRetryable");function ds(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}i(ds,"describeCause");var Pm=3e4,_m=uo*2,wm="idempotency-key",Im=new Set(["POST","PUT","PATCH","DELETE"]),Am=Object.freeze({onEvent(){}}),Om=Object.freeze({setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")});function Fm(e){let t=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return t.length===0?null:`efs_${t}`.slice(0,128)}i(Fm,"seededIdempotencyKey");function Te(e){let t=e.observer??Am,r=e.timers??Om,n=e.rng??Math.random,o=e.sleep??((f,m)=>Gm(f,r,m)),a=e.maxAttempts??Xt,s=e.unaryTimeoutMs??Pm,l=e.newIdempotencyKey??Dm(),u=i(f=>{try{t.onEvent(f);}catch{}},"emit");async function d(f,m,y){let E=y?.maxAttempts,g=Math.max(1,E??a),v=y?.idempotent??Im.has(m.method),S=y?.idempotencyKey===void 0?null:Fm(y.idempotencyKey),w=v?S??l():null,T=Mm(m,w),b=0;for(;;){let k=i(F=>Object.freeze({call:f,method:m.method,path:m.path,attempt:b,...w?{idempotencyKey:w}:{},...F}),"stamp");u(k({phase:"attempt"}));let I=Wm(s,r),O=Km(I.signal,m.signal),_;try{_=await ja({...T,signal:O.signal},e.auth);}catch(F){_=C(go(F));}finally{O.dispose(),I.cancel();}if(_.ok)return u(k({phase:"settled",ok:true,reason:"ok"})),_;let x=_.error,R=Nm(x,b,{maxAttempts:g,rng:n,now:r.now(),aborted:m.signal?.aborted===true,...E!==void 0?{perCallMaxAttempts:E}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),A={ok:false,code:x.code,reason:R.reason,...x.httpStatus!==void 0?{httpStatus:x.httpStatus}:{},...x.requestId!==void 0?{requestId:x.requestId}:{}};if(!R.retry)return u(k({phase:"settled",...A})),C(x);if(u(k({phase:"retry",...A,delayMs:R.delayMs})),await o(R.delayMs,m.signal),m.signal?.aborted===true)return u(k({phase:"settled",...A,reason:"aborted"})),C(x);b+=1;}}i(d,"send");async function c(f){return Qt(f,await $m(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 ye({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(Te,"createRequestFunnel");function Mm(e,t){let r={};for(let[n,o]of Object.entries(e.headers??{}))n.toLowerCase()!==wm&&(r[n]=o);return t!==null&&(r["Idempotency-Key"]=t),{...e,headers:r}}i(Mm,"assembleHeaders");function Dm(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}i(Dm,"defaultIdempotencyKeyFactory");var Lm=10;function Nm(e,t,r){if(r.aborted)return {retry:false,reason:"aborted"};let n=zm(e);if(n==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(n!=="burst"&&!$e(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(Lm,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>_m?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:o,delayMs:u}:{retry:true,reason:o,delayMs:jr(t,r.rng)}}i(Nm,"decideRetry");function zm(e){let t=e.code==="unknown"?we(Vm(e.raw)):e.code;return t==="quotaExceeded"?"quota":t==="rateLimited"||e.httpStatus===429?"burst":null}i(zm,"throttleKind");function Hm(e,t){let r=Bm(e.raw);if(r!==null){let o=r-t;return o>0?o:0}let n=Um(e.raw);return n===null?null:Math.round(n*1e3)}i(Hm,"retryOverrideMs");function Um(e){for(let t of ho(e)){let r=t.retry_after_seconds;if(typeof r=="number"&&Number.isFinite(r)&&r>=0)return r}return null}i(Um,"findRetryAfterSeconds");function Bm(e){for(let t of ho(e)){let r=t.resets_at,n=jm(r);if(n!==null)return n}return null}i(Bm,"findResetsAt");function ho(e){if(!cs(e))return [];let t=[e];for(let r of ["error","detail"]){let n=e[r];cs(n)&&t.push(n);}return t}i(ho,"candidateScopes");function jm(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(jm,"parseInstantMs");function Vm(e){for(let t of ho(e)){let r=t.code;if(typeof r=="string"&&r.length>0)return r}return null}i(Vm,"rawWireCode");function cs(e){return typeof e=="object"&&e!==null}i(cs,"isRecord");async function $m(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($m,"resolveDeviceAuth");function Wm(e,t){let r=new AbortController,n=t.setTimeout(()=>r.abort(),e);return {signal:r.signal,cancel:i(()=>t.clearTimeout(n),"cancel")}}i(Wm,"boundedSignal");function Km(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(Km,"mergeSignals");function Gm(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(Gm,"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 ft(e){return [...e].length}i(ft,"serverLength");var Wr=Object.freeze(["better","same","worse"]),vo=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ps(e){return C(D("validationFailed",{retryable:false,wireMessage:e}))}i(ps,"invalid");function bo(){return C(D("internalError",{retryable:false}))}i(bo,"malformed");function fs(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(fs,"petPath");var We=i(e=>typeof e=="string"?e:null,"str"),ms=i(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"count");function ys(e){if(typeof e!="object"||e===null)return null;let t=e,r=We(t.case_id),n=We(t.status);if(r===null||n===null)return null;let o=We(t.last_response);return Object.freeze({caseId:r,status:n,bodyLocation:We(t.body_location),lastResponse:o!==null&&Wr.includes(o)?o:null,checkInDueAt:We(t.check_in_due_at),openedAt:We(t.opened_at),resolvedAt:We(t.resolved_at),resolutionText:We(t.resolution_text),checkinAskCount:ms(t.checkin_ask_count),checkinAnswerCount:ms(t.checkin_answer_count)})}i(ys,"caseFromWire");function gs(e){return {async list(t,r){let n=fs(t);if(typeof n!="string")return C(n);let o=await e.send("cases.list",{method:"GET",path:n,...r?.signal?{signal:r.signal}:{}});if(!o.ok)return C(o.error);let a=typeof o.value=="object"&&o.value!==null?o.value.cases:null;if(!Array.isArray(a))return bo();let s=a.map(ys);return s.every(l=>l!==null)?M(Object.freeze(s)):bo()},async checkin(t,r,n,o){let a=fs(t);if(typeof a!="string")return C(a);if(typeof r!="string"||!vo.test(r))return ps("case_id must be a UUID");if(!Wr.includes(n))return ps("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 C(s.error);let l=typeof s.value=="object"&&s.value!==null?s.value:{},u=ys(l.case);return u===null?bo():M(Object.freeze({case:u,ctaDeepLink:We(l.cta_deep_link)}))}}}i(gs,"createCasesRepositoryOver");var hs=Object.freeze({async presignedPut(){return Promise.reject(new Error("UploadPort is unavailable; no presigned-upload adapter was injected"))}});var bs=Object.freeze({setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")});function Gr(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(Gr,"delayAbortable");function qr(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(qr,"mergeSignals");var Eo=class Eo{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?qr(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(Eo,"MediaStore");var Kr=Eo;function xo(e,t,r){return Object.freeze({id:e,role:"user",text:t,createdAt:r,pending:true})}i(xo,"makeUser");function Ro(e,t,r){return Object.freeze({id:e,role:"assistant",text:t,createdAt:r})}i(Ro,"makeAssistant");function er(e){return Object.freeze({id:e.id,role:e.role,text:e.text,createdAt:e.createdAt})}i(er,"stripPending");function vs(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(vs,"appendText");function So(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(So,"finalizeAssistant");function Es(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(Es,"freezeSnapshot");function L(e,t,r){return D(e,{retryable:t,...r?{wireMessage:r}:{}})}i(L,"makeError");function To(e){let t=we(e.code);return D(t,{retryable:e.retryable||Br(t),wireCode:e.code,wireEnvelope:"sse_frame",...e.serverRequestId?{requestId:e.serverRequestId}:{},...e.wireMessage?{wireMessage:e.wireMessage}:{},raw:e})}i(To,"errorFromFrame");function Ie(e){return ye({code:qm(e.code),retryable:e.retryable,wireMessage:e.wireMessage??null,synthesized:true,lastEventId:null,serverRequestId:e.requestId??null})}i(Ie,"synthErrorFrame");function qm(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(qm,"canonicalWireCode");function Cs(e){let t=Array.isArray(e)?e:Co(e)&&Array.isArray(e.categories)?e.categories:[],r=[];for(let n of t){if(!Co(n))continue;let o=Jt(n.category)??Jt(n.title)??"",a=Ym(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(Cs,"parsePromptCategories");function ko(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(ko,"flattenPrompts");function Co(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}i(Co,"isPlainObject");function Jt(e){return typeof e=="string"?e:null}i(Jt,"asStr");function Ym(e){if(!Array.isArray(e))return [];let t=[];for(let r of e)if(typeof r=="string")t.push(r);else if(Co(r)){let n=Jt(r.text)??Jt(r.prompt)??Jt(r.title);n!==null&&t.push(n);}return t}i(Ym,"asPromptTextList");function xs(){let e=0;return ()=>`m-${Date.now().toString(36)}-${(e++).toString(36)}-${Math.random().toString(36).slice(2,8)}`}i(xs,"defaultIdFactory");function Rs(){let e=0;return ()=>`chat-send-${Date.now().toString(36)}-${(e++).toString(36)}-${Math.random().toString(36).slice(2,10)}`}i(Rs,"defaultIdempotencyFactory");var Ts={setTimeout:i((e,t)=>setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>clearTimeout(e),"clearTimeout"),now:i(()=>Date.now(),"now")};async function*ks(e,t,r,n){let o=e[Symbol.asyncIterator](),a=Ss(t.overallMs,n),s=Ss(t.idleMs,n),l=Zm(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 Qm();return}if(d.tag==="idle"||d.tag==="overall"){yield Xm();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(ks,"withWatchdog");function Xm(){return ye({code:"STREAM_TIMEOUT",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}i(Xm,"synthTimeoutFrame");function Qm(){return ye({code:"STREAM_INCOMPLETE",retryable:true,wireMessage:null,synthesized:true,lastEventId:null})}i(Qm,"synthStreamErrorFrame");function Ss(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(Ss,"deadline");function Zm(e){return new Promise(t=>{if(e.aborted){t();return}e.addEventListener("abort",()=>t(),{once:true});})}i(Zm,"abortPromise");var Ps=128,_s=128,ws=/[\u0000-\u001F\u007F]/,Jm=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ey(e){let t=e,r=ft(t);if(r===0||r>_s)throw new re("invalid-argument",`petRef must be 1..${_s} characters`);if(ws.test(t))throw new re("invalid-argument","petRef must be printable (no control characters)");return t}i(ey,"petRef");function ty(e){let t=e,r=ft(t);if(r===0||r>Ps)throw new re("invalid-argument",`userRef must be 1..${Ps} characters`);if(t.includes("@"))throw new re("invalid-argument","userRef must not contain '@'");if(ws.test(t))throw new re("invalid-argument","userRef must be printable (no control characters)");return t}i(ty,"userRef");function ry(e){if(!Jm.test(e))throw new re("invalid-argument","conversationId must be a UUID");return e}i(ry,"conversationId");var ny="checkin",oy=/^\d{4}-\d{2}-\d{2}$/,Yr="watching";function Is(e){return e.status!=null&&e.status!==Yr}i(Is,"isCheckinSettled");function As(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(As,"isLiveAskAnswered");function Po(e){if(typeof e!="string")return null;let t=e.split(":");if(t.length!==3)return null;let[r,n,o]=t;return r!==ny||n===void 0||o===void 0||!vo.test(n)||!oy.test(o)?null:{caseId:n,dueDay:o}}i(Po,"parseCheckinOrigin");function Os(e){return Po(e)?.caseId??null}i(Os,"parseCheckinOriginRef");function wo(e,t){if(e?.limit!==void 0&&(!Number.isInteger(e.limit)||e.limit<1||e.limit>t))return C(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 C(D("validationFailed"));r.push(`${n}=${encodeURIComponent(o)}`);}return e?.limit!==void 0&&r.push(`limit=${e.limit}`),M(r.length?`?${r.join("&")}`:"")}i(wo,"historyQuery");function rr(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(rr,"validConversationId");function Mt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}i(Mt,"object");function Fs(e){return e==null||typeof e=="string"&&e.length>0&&!Re(e)}i(Fs,"cursor");function tr(){return C(D("internalError",{retryable:false}))}i(tr,"malformed");function Ms(e){let t=Mt(e);if(!t||!Array.isArray(t.conversations)||!Fs(t.next_cursor))return tr();let r=[];for(let n of t.conversations){let o=Mt(n);if(!o||typeof o.conversation_id!="string"||!rr(o.conversation_id)||!(o.title==null||typeof o.title=="string")||typeof o.created_at!="string"||typeof o.updated_at!="string")return tr();let a=o.unread_message_count;if(!(a==null||Number.isInteger(a)&&a>=0))return tr();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(Ms,"mapConversationPage");function Ds(e){let t=Mt(e);if(!t||!Array.isArray(t.messages)||!Fs(t.next_cursor))return tr();let r=[],n=new Set;for(let o of t.messages){let a=Mt(o);if(!a||typeof a.message_id!="string"||!rr(a.message_id)||typeof a.role!="string"||typeof a.content!="string"||typeof a.created_at!="string")return tr();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(iy(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"?Os(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:ay(a.urgency_level)}:{},...Array.isArray(a.citations)?{citations:sy(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(Ds,"mapMessagePage");function iy(e,t,r,n){let o=Mt(e.sender),a=_o(o?.display_name)??_o(e.sender_display_name),s=_o(o?.specialty);return Object.freeze({id:t,role:"vet",text:r,createdAt:n,sender:Object.freeze({displayName:a,specialty:s})})}i(iy,"vetMessage");function _o(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0&&!Re(t)?t:null}i(_o,"trimmedText");function ay(e){return e==="emergency"||e==="schedule_soon"||e==="home_care"?e:null}i(ay,"normalizeUrgency");function sy(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(sy,"historyCitations");var Io=Object.freeze(["helpful","neutral","not_helpful","wrong","outdated","dangerous","unclear"]),nr=4e3;var mt=4e3;function Ls(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(Ls,"validateImageKeys");function Oo(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>mt?{reason:"too_long",error:L("validationFailed",false,`message is ${r} characters; the server accepts at most ${mt}`)}:null}i(Oo,"validateMessageText");function Ns(e){return e==="emergency"||e==="schedule_soon"||e==="home_care"?e:null}i(Ns,"urgencyTier");async function*or(e){yield e;}i(or,"singleFrameStream");async function*zs(){}i(zs,"emptyStream");var ly=6e4,uy=18e4,dy=24,cy=512,py=false;function Hs(e){return new Fo(e)}i(Hs,"createChatController");var Mo=class Mo extends Kr{constructor(r){super(Es({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??Te({auth:r.auth,...r.errorPolicy?{errorPolicy:r.errorPolicy}:{}}),this.petRef=r.petRef??null,this.cases=gs(this.funnel),this.telemetry=r.telemetry??Hr,this.errorPolicy=r.errorPolicy??Aa,this.timers=r.timers??Ts,this.rng=r.rng??Math.random,this.newId=r.newId??xs(),this.makeIdempotencyKey=r.makeIdempotencyKey??Rs(),this.budget={idleMs:r.budget?.idleMs??ly,overallMs:r.budget?.overallMs??uy};}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),()=>{}):or(Ie(u))}let s=Oo(r)??Ls(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),()=>{}):or(Ie(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 or(Ie(L("accessDenied",false)));let o=Oo(r);return o!==null?(this.telemetry.track("chat.send.rejected",{reason:o.reason}),or(Ie(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):zs()}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,xo(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?er(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(ko(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=wo(r,100);if(!o.ok)return o;let a=this.epoch;if(this.disposed)return C(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 C(L("accessDenied",false));if(!s.ok)return s;let l=Ms(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 C(L("accessDenied",false));let n=r?.conversationId??null;if(n!==null){let u=await this.resumeConversation(n);return u.ok?M(n):C(u.error)}let o=r?.petRef??this.petRef,a=await this.listConversations({...o===null?{}:{petRef:o},limit:1});if(!a.ok)return C(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):C(l.error)}async markRead(r){if(this.disposed)return C(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?C(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)):C(a.error)}async submitFeedback(r,n,o,a){if(this.disposed)return C(L("accessDenied",false));if(typeof r!="string"||r.trim().length===0||Re(r))return C(L("validationFailed",false,"feedback needs the server message id of an assistant reply"));if(!Io.includes(n))return C(L("validationFailed",false,`feedback_type must be one of ${Io.join(", ")}`));let s=typeof o=="string"?o.trim():"";if([...s].length>nr)return C(L("validationFailed",false,`notes is over ${nr} 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 C(L("accessDenied",false));if(!d.ok)return C(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 C(L("accessDenied",false));let a=o?.petRef??this.petRef;if(a===null)return C(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 C(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(!rr(r))return C(L("validationFailed",false));let o=wo(n,200);if(!o.ok)return o;let a=this.epoch;if(this.disposed)return C(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?C(L("accessDenied",false)):s.ok?Ds(s.value):s}async resumeConversation(r){if(this.disposed)return C(L("accessDenied",false));if(!rr(r))return C(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 C(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===Yr).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||As({askCount:p.checkinAskCount,answerCount:p.checkinAnswerCount}))?p.lastResponse:null;return Object.freeze({...d,checkin:Object.freeze({...c,status:m?Yr: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 C(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 C(L("accessDenied",false));if(!o.ok)return C(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 C(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 C(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 Ie(n.error));}async primeConversation(r){if(this.disposed)return C(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?C(L("accessDenied",false)):(!a.ok&&this.unadoptedCreate===o&&(this.unadoptedCreate=null),a)}async primeBounded(r){let n=await this.headThreadWithUnread(r);return n.ok?n.value!==null&&!this.snapshot.isStreaming&&this.snapshot.conversationId===null&&(await this.resumeConversation(n.value)).ok?M(n.value):M(this.snapshot.conversationId):n.error.code==="accessDenied"||n.error.httpStatus===403?M(null):C(n.error)}async headThreadWithUnread(r){let n=await this.listConversationsWith({...r===null?{}:{petRef:r},limit:1},{maxAttempts:1});if(!n.ok)return C(n.error);let o=n.value.conversations[0];return o===void 0||o.unreadCount===null||o.unreadCount<=0?M(null):M(o.id)}async createConversation(r){let n=this.epoch;if(this.disposed)return C(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?C(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 C(a.error);let s=a.value?.conversation_id??a.value?.id;return typeof s!="string"||s.length===0?C(L("internalError",true)):M(s)}async getPrompts(r){let n=this.epoch;if(this.disposed)return C(L("accessDenied",false));let o=r?.petRef??null;if(o!==null&&Re(o))return C(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?C(L("accessDenied",false)):s.ok?M(Cs(s.value)):C(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=qr(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,xo(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 g=await d.settled;if(o.signal.aborted||!this.alive(o.epoch))return;g.ok&&g.value!==null&&this.snapshot.conversationId===null&&this.adoptConversation(g.value);}if(u&&this.snapshot.conversationId===null){let g=await this.createConversationBounded(r.petRef,o.signal);if(o.signal.aborted||!this.alive(o.epoch))return;if(!g.ok){yield*this.emitTerminal(r,g.error,Ie(g.error));return}this.adoptConversation(g.value);}let c=r.conversationIdOverride??this.snapshot.conversationId;if(c===null){let g=L("internalError",!0);yield*this.emitTerminal(r,g,Ie(g));return}this.clearAssistantInProgress(r);let p=new AbortController,f=qr(o.signal,p.signal),m=null;try{let g;try{g=await this.funnel.authorize(this.buildSendRequest(r,c));}catch{let S=this.authRejected();yield*this.emitTerminal(r,S,Ie(S));return}if(o.signal.aborted||!this.alive(o.epoch))return;let v=this.funnel.stream("chat.send",g,f);for await(let S of ks(v,this.budget,f,this.timers)){if(!this.alive(o.epoch))return;if(S.kind==="error"&&S.terminal){m=S;break}if(this.applyFrame(S,r),yield S,S.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 g=L("streamIncomplete",!0);yield*this.emitTerminal(r,g,Ie(g));return}let y=we(m.code);if(y==="authExpired"&&this.auth.mode==="personalized"&&!l){l=!0,this.telemetry.track("chat.auth.refresh",{});let g=await this.tryForceRefresh();if(o.signal.aborted||!this.alive(o.epoch))return;if(!g){let v=this.authRejected();yield*this.emitTerminal(r,v,m);return}this.patch({reconnecting:!0});continue}if(y==="authExpired"){this.telemetry.track("chat.auth.rejected",{});let g=this.authRejected();yield*this.emitTerminal(r,g,m);return}if(y==="accessDenied"){this.telemetry.track("chat.access_denied",{}),yield*this.emitTerminal(r,To(m),m);return}if(Ia(y)&&!s){s=!0,this.telemetry.track("chat.conv.recreate",{}),this.adoptConversation(null),r.conversationIdOverride=null,this.patch({reconnecting:!0});continue}let E=m.retryable&&Br(y,!0);if(py&&E&&a+1<this.errorPolicy.maxAttempts(y));yield*this.emitTerminal(r,To(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?er(s):s);this.patch({status:"streaming",isStreaming:true,messages:[...a,Ro(o,r,this.stamp())]});return}if(this.pendingDelta+=r,this.pendingDelta.length>=cy){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);},dy);}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?vs(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?So(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?er(d):d),So(Ro(l,"",this.stamp()),r)];}let s=ko([{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=Ns(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?er(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(Mo,"ChatControllerImpl");var Fo=Mo;async function js(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(T=>T.ok?M(o):C(T.error)):r.primeConversation(n?{petRef:n}:void 0),f=r.getPrompts(n!==null?{petRef:n}:void 0),[m,y]=await Promise.all([p,f]),E=null;if(m.ok)E=m.value,m.value!==null&&a.push(m.value),m.value!==null&&r.getSnapshot().conversationId===null&&r.adoptConversation(m.value);else {let T=m.error;c=T,Us(T)?(l=true,d=T):(Bs(T)&&(s=true),u=true);}let g=[];y.ok?g=y.value:v(y.error);function v(T){Us(T)?(l=true,d===null&&(d=T)):Bs(T)&&(s=true);}i(v,"recordAuthSignals");let S=d!==null?d.displayMessage:null;return Object.freeze({conversationId:E,petRef:n,suggestedPrompts:g,error:S,warning:S===null&&E===null&&u?fy:null,cause:d??c,diagnostics:Object.freeze({candidateConversationIds:Object.freeze([...a]),sawForbidden:s,sawUnauthorized:l,sawConversationInitFailure:u})})}i(js,"bootstrapChat");var fy="Chat is ready. Your first message will start the conversation.";function Us(e){return e.httpStatus===401||e.code==="authExpired"||e.code==="authRejected"}i(Us,"isUnauthorized");function Bs(e){return e.httpStatus===403||e.code==="accessDenied"}i(Bs,"isForbidden");var Do=Object.freeze({postMultipart(){return Promise.reject(new Error("UploadTransport is unavailable; no records upload adapter was injected"))}});function Vs(e){return e!==Do}i(Vs,"isUploadTransportAvailable");var my=Object.freeze(["image/jpeg","image/jpg","image/png","image/heic","image/heif","image/webp"]),Ws="image/jpeg,image/png,image/webp,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.heic,.heif",Xr=10*1024*1024,Qr=5,ir=120,yy="/widget/v1/uploads/initiate";function gy(e){return typeof e=="string"&&my.includes(e.trim().toLowerCase())}i(gy,"isAttachmentMime");function hy(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<=ir)return t;let r=t.lastIndexOf(".");if(r===-1||r===t.length-1)return t.slice(0,ir);let n=t.slice(r);return n.length>=ir?t.slice(0,ir):`${t.slice(0,r).slice(0,ir-n.length)}${n}`}i(hy,"sanitizeFilename");function Lo(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}i(Lo,"formatBytes");var ar=i(e=>Object.freeze({ok:true,value:e}),"ok"),ke=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 by(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(by,"attachmentSize");function vy(e){let t=hy(e.name),r=typeof e.mimeType=="string"?e.mimeType.trim().toLowerCase():"";if(!gy(r))return ke(ue("unsupported_type",false,t));let n=by(e);return n===null?ke(ue("unknown",false,t)):n>Xr?ke(ue("too_large",false,t,{sizeBytes:n})):ar(Object.freeze({file:e,filename:t,contentType:r,sizeBytes:n}))}i(vy,"validateAttachment");function Ey(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)??Xr,s3_key:s,purpose:r(t.purpose)})}i(Ey,"parsePolicy");function Cy(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(Cy,"initiateFailure");async function xy(e,t,r){let n=await e.send("chat.attachments.initiate",{method:"POST",path:yy,body:{filename:t.filename,content_type:t.contentType,file_size:t.sizeBytes},...r?.signal?{signal:r.signal}:{}});if(!n.ok)return ke(Cy(n.error,t.filename));let o=Ey(n.value);return o===null?ke(ue("server",false,t.filename)):ar(o)}i(xy,"initiateAttachmentUpload");async function Ry(e,t,r,n){let o=i(()=>n?.signal?.aborted===true,"cancelled");if(o())return ke(ue("cancelled",true,r.filename));try{return await e.postMultipart(t,r.file,{...n?.signal?{signal:n.signal}:{},...n?.onProgress?{onProgress:n.onProgress}:{}}),ar(void 0)}catch{return o()?ke(ue("cancelled",true,r.filename)):ke(ue("server",true,r.filename))}}i(Ry,"uploadAttachmentBytes");var Sy=2,Ty=3,ky=Object.freeze([1e3,2e3,4e3]),$s=0;function Py(){return $s+=1,`attachment-${$s}`}i(Py,"defaultNewId");function Ks(e){let t=Math.max(1,e.concurrency??Sy),r=Math.max(1,e.maxAttempts??Ty),n=e.backoffMs??ky,o=Math.max(1,e.maxPerMessage??Qr),a=e.timers??bs,s=e.newId??Py,l=Vs(e.transport),u=new Map,d=[],c=[],p=new Set,f=new Set,m=Object.freeze({attachments:Object.freeze([])}),y=false,E=i(()=>{m=Object.freeze({attachments:Object.freeze(d.flatMap(b=>{let k=u.get(b);return k===void 0?[]:[k.state]}))});for(let b of f)b();},"publish"),g=i((b,k)=>{b.state=Object.freeze({...b.state,...k}),E();},"patch"),v=i(()=>{for(;!y&&p.size<t&&c.length>0;){let b=c.shift(),k=u.get(b);k!==void 0&&(p.add(b),S(k).finally(()=>{p.delete(b),v();}));}},"pump"),S=i(async b=>{let{attachment:k}=b;for(;b.attempts<r;){if(y||b.controller.signal.aborted)return;b.attempts+=1;let I=b.controller.signal;g(b,{status:"uploading",error:null,progress:0});let O=await xy(e.funnel,k,{signal:I});if(y||I.aborted)return;let _;if(!O.ok)_=ke(O.error);else {let F=await Ry(e.transport,O.value,k,{signal:I,onProgress:i(B=>{!I.aborted&&b.state.status==="uploading"&&g(b,{progress:_y(B)});},"onProgress")});if(y||I.aborted)return;_=F.ok?ar(O.value.s3_key):ke(F.error);}if(_.ok){g(b,{status:"uploaded",s3Key:_.value,error:null,progress:1});return}let x=_.error,R=x.retryable&&b.attempts<r;if(g(b,{status:R?"uploading":"failed",error:x,progress:0}),!R)return;let A=n[Math.min(b.attempts-1,n.length-1)]??0;await Gr(A,I,a);}},"run"),w=i(b=>{c.push(b.state.id),v();},"enqueue"),T={available:l,subscribe(b){return f.add(b),()=>{f.delete(b);}},getSnapshot:i(()=>m,"getSnapshot"),get uploading(){return m.attachments.some(b=>b.status==="uploading")},get s3Keys(){return m.attachments.flatMap(b=>b.status==="uploaded"&&b.s3Key!==null?[b.s3Key]:[])},add(b){let k=vy(b);if(!k.ok)return k;if(y||d.length>=o)return ke(ue("too_many",false,k.value.filename));let I=s(),O={attachment:k.value,controller:new AbortController,attempts:0,state:Object.freeze({id:I,filename:k.value.filename,previewUri:b.uri,contentType:k.value.contentType,sizeBytes:k.value.sizeBytes,status:"uploading",s3Key:null,error:null,progress:0})};return u.set(I,O),d.push(I),E(),w(O),ar(O.state)},retry(b){let k=u.get(b);k===void 0||y||k.state.status!=="failed"||(k.controller=new AbortController,k.attempts=0,g(k,{status:"uploading",error:null,progress:0,s3Key:null}),w(k));},remove(b){let k=u.get(b);if(k===void 0)return;k.controller.abort(),u.delete(b);let I=d.indexOf(b);I>=0&&d.splice(I,1);let O=c.indexOf(b);O>=0&&c.splice(O,1),E();},clear(){for(let b of [...d])T.remove(b);},dispose(){y=true;for(let b of u.values())b.controller.abort();u.clear(),d.length=0,c.length=0,f.clear(),m=Object.freeze({attachments:Object.freeze([])});}};return T}i(Ks,"createAttachmentQueue");function _y(e){return Number.isNaN(e)||e<0?0:e>1?1:e}i(_y,"clamp");var Gs=Object.freeze({dog:"dog",canine:"dog",k9:"dog",puppy:"dog",cat:"cat",feline:"cat",kitten:"cat"});function sr(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(Gs,t)?Gs[t]:null}i(sr,"canonicalPetSpecies");var qs=50,wy=128,No=120,Ys=120,Iy=2e3,Xs=120,Ay=80,Js=new Set(["male","female","unknown"]),el=new Set(["day","month","year"]),tl=new Set(["low","medium","high","athletic"]),rl=new Set(["indoor","outdoor","both"]),nl=new Set(["mild","moderate","severe"]),Oy=/^(\d{4})-(\d{2})-(\d{2})$/,ol=[["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"]],il=[["allergies","allergies"],["medications","medications"],["supplements","supplements"],["conditions","conditions"]];Object.freeze([...ol,...il].map(([e])=>e));function Fy(e){let t=Oy.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(Fy,"isRealDate");var ur=i(e=>(t,r)=>typeof r=="string"&&e.has(r)?null:`${t} must be one of ${[...e].join(", ")}`,"oneOf"),My=i((e,t)=>typeof t=="boolean"?null:`${e} must be true or false`,"boolean"),Jr=i((e,t)=>typeof t=="string"&&Fy(t)?null:`${e} must be a real date written YYYY-MM-DD`,"date"),Ae=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=ft(o);return a<=e?null:`${r} is ${a} characters; the server accepts at most ${e}`},"text"),Dy={sex:ur(Js),spayedNeutered:My,birthDate:Jr,birthDatePrecision:ur(el),activityLevel:ur(tl),indoorOutdoor:ur(rl),foodBrand:Ae(Xs),foodType:Ae(Xs),microchipId:Ae(Ay)},zo=["ref","ref",false,Ae(wy,{required:true,trimmed:true})],Ho=["notes","notes",false,Ae(Iy,{trimmed:true})],Qs=[zo,["name","name",true,Ae(No,{required:true,trimmed:true})],["dose","dose",false,Ae(Ys,{trimmed:true})],["frequency","frequency",false,Ae(Ys,{trimmed:true})],["startDate","start_date",false,Jr],["endDate","end_date",false,Jr],Ho],Ly={allergies:[zo,["allergen","allergen",true,Ae(No,{required:true,trimmed:true})],["severity","severity",false,ur(nl)],Ho],medications:Qs,supplements:Qs,conditions:[zo,["conditionName","condition_name",true,Ae(No,{required:true,trimmed:true})],["diagnosedDate","diagnosed_date",false,Jr],Ho]};function Ny(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 Ly[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(Ny,"itemToWire");function zy(e,t){if(!Array.isArray(t))return {error:`${e} must be an array (send [] to clear it)`};if(t.length>qs)return {error:`${e} has ${t.length} items; the server accepts at most ${qs}`};let r=[],n=new Set;for(let o=0;o<t.length;o+=1){let a=Ny(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(zy,"listToWire");function al(e,t){let r=e,n={};for(let[s,l]of ol){let u=r[s];if(u!==void 0){if(u!==null){let d=Dy[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 il){let u=r[s];if(u===void 0)continue;let d=zy(s,u);if("error"in d)return d;n[l]=d.items;}return Object.keys(n).length>0&&t!==void 0&&sr(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(al,"petHealthToWire");var ie=i(e=>typeof e=="string"?e:null,"str"),lr=i((e,t)=>typeof t=="string"&&e.has(t)?t:null,"pick"),Hy=i(e=>typeof e=="boolean"?e:null,"bool");function Zr(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(Zr,"itemsFromWire");function Zs(e){let t=ie(e.name);return t===null||t.length===0?null:Object.freeze({ref:ie(e.ref),name:t,dose:ie(e.dose),frequency:ie(e.frequency),startDate:ie(e.start_date),endDate:ie(e.end_date),notes:ie(e.notes)})}i(Zs,"medicationFromWire");function sl(e){let t=e.profile_version;return Object.freeze({profileVersion:typeof t=="number"&&Number.isInteger(t)&&t>=0?t:0,sex:lr(Js,e.sex),spayedNeutered:Hy(e.spayed_neutered),birthDate:ie(e.birth_date),birthDatePrecision:lr(el,e.birth_date_precision),activityLevel:lr(tl,e.activity_level),indoorOutdoor:lr(rl,e.indoor_outdoor),foodBrand:ie(e.food_brand),foodType:ie(e.food_type),microchipId:ie(e.microchip_id),allergies:Zr(e.allergies,r=>{let n=ie(r.allergen);return n===null||n.length===0?null:Object.freeze({ref:ie(r.ref),allergen:n,severity:lr(nl,r.severity),notes:ie(r.notes)})}),medications:Zr(e.medications,Zs),supplements:Zr(e.supplements,Zs),conditions:Zr(e.conditions,r=>{let n=ie(r.condition_name);return n===null||n.length===0?null:Object.freeze({ref:ie(r.ref),conditionName:n,diagnosedDate:ie(r.diagnosed_date),notes:ie(r.notes)})})})}i(sl,"petHealthFromWire");var dl=100,cl=50,pl=100,fl=50,ml=500,Uy=128,By=6e4;function Fe(e){return D("validationFailed",{retryable:false,wireMessage:e})}i(Fe,"invalid");function yt(e,t,r){if(typeof t!="string")return Fe(`${e} must be a string`);let n=ft(t);return n<=r?null:Fe(`${e} is ${n} characters; the server accepts at most ${r}`)}i(yt,"checkString");function en(e,t,r){return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=r?null:Fe(`${e} must be a finite number between 0 and ${r}`)}i(en,"outOfRange");function ll(e,t){if(typeof e!="string")return Fe("pet_ref must be a string");if(e.trim().length===0)return Fe("pet_ref must not be blank");if(Re(e))return Fe("pet_ref contains an unpaired surrogate and cannot be encoded");if(t!=null&&typeof t!="object")return Fe("profile must be an object");let r=[yt("pet_ref",e,Uy)];return t?.name!==void 0&&r.push(yt("name",t.name,dl)),t?.species!==void 0&&r.push(yt("species",t.species,cl)),t?.breed!==void 0&&r.push(yt("breed",t.breed,pl)),t?.ageYears!==void 0&&r.push(en("age_years",t.ageYears,fl)),t?.weightKg!==void 0&&r.push(en("weight_kg",t.weightKg,ml)),r.find(n=>n!==null)??null}i(ll,"validate");function yl(e,t){let r=al(e,t);return "error"in r?{error:Fe(r.error)}:r}i(yl,"healthToWire");function jy(e){if(typeof e!="object"||e===null)return {error:Fe("patch must be an object")};let t=e,r=[["name","name",a=>yt("name",a,dl)],["species","species",a=>yt("species",a,cl)],["breed","breed",a=>yt("breed",a,pl)],["ageYears","age_years",a=>en("age_years",a,fl)],["weightKg","weight_kg",a=>en("weight_kg",a,ml)]],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=yl(t,t.species);return "error"in o?o:(Object.assign(n,o.body),Object.keys(n).length===0?{error:Fe("patch must change at least one field")}:{body:n})}i(jy,"patchToWire");function Vy(e){if(e==null)return {body:{}};let t=yl(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 Oe=i(e=>typeof e=="string"?e:null,"str"),tn=i(e=>typeof e=="number"&&Number.isFinite(e)?e:null,"num");function ul(e,t){let r=typeof e=="object"&&e!==null?e:{};return Object.freeze({petRef:Oe(r.pet_ref)??t,name:Oe(r.name),species:Oe(r.species),breed:Oe(r.breed),ageYears:tn(r.age_years),weightKg:tn(r.weight_kg)})}i(ul,"fromWire");function gl(e){if(typeof e!="object"||e===null)return null;let t=e,r=Oe(t.pet_ref);return r===null||r.length===0?null:Object.freeze({petId:Oe(t.pet_id),petRef:r,name:Oe(t.name),species:Oe(t.species),breed:Oe(t.breed),ageYears:tn(t.age_years),weightKg:tn(t.weight_kg),updatedAt:Oe(t.updated_at)})}i(gl,"widgetPetFromWire");function $y(e){let t=gl(e);return t===null?null:Object.freeze({...t,...sl(e)})}i($y,"widgetPetProfileFromWire");function Wy(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=gl(r);return n===null?[]:[n]}))}i(Wy,"petListFromWire");function it(e){return Ky(Te({auth:e}),Te({auth:e,unaryTimeoutMs:By}))}i(it,"createPetsRepository");function Ky(e,t=e){let r=i((o,a)=>a?{...o,signal:a}:o,"withSignal"),n=i(o=>ll(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(Wy(a.value)):C(a.error)},async registerPet(o,a,s){let l=ll(o,a);if(l!==null)return C(l);let u=Vy(a);if("error"in u)return C(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(ul(p.value,o)):C(p.error)},async updatePet(o,a,s){let l=n(o);if(typeof l!="string")return C(l);let u=jy(a);if("error"in u)return C(u.error);let d=await e.send("pets.updatePet",r({method:"PATCH",path:l,body:u.body},s?.signal));return d.ok?M(ul(d.value,o)):C(d.error)},async getPetProfile(o,a){let s=n(o);if(typeof s!="string")return C(s);let l=await e.send("pets.getPetProfile",r({method:"GET",path:`${s}/profile`},a?.signal));if(!l.ok)return C(l.error);let u=$y(l.value);return u===null?C(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 C(s);let l=await e.send("pets.deletePet",r({method:"DELETE",path:s},a?.signal));return l.ok?M(void 0):C(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):C(a.error)}}}i(Ky,"createPetsRepositoryOver");var Bo=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 Gy(e){return Bo[e]}i(Gy,"requires");function hl(e,t){let r=Object.freeze({reason:t,level:e,recoverable:false}),n=[],o=new Set;for(let a of Object.keys(Bo))for(let s of Bo[a])o.has(s)||(o.add(s),n.push(Object.freeze({resource:s,granted:false,disabled:r})));return Object.freeze(n)}i(hl,"deniedDecisionsFor");function bl(e,t,r){let n=Gy(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 Uo({name:e,enabled:false,isPending:true,limits:{}});let a=qy(n,o);return n.filter(l=>o.get(l)?.granted!==true).length===0?Uo({name:e,enabled:true,isPending:false,limits:a}):Uo({name:e,enabled:false,isPending:false,limits:a,disabled:Yy(n,o)})}i(bl,"decideCapability");function qy(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(qy,"mergeLimits");function Yy(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(Yy,"disabledFor");function Uo(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(Uo,"freezeDecision");function Z(e){let t=Q(e);return t===null?null:Qy(t)}i(Z,"parseColor");function Q(e){if(typeof e=="number")return vl(e);if(typeof e!="string")return null;let t=e.trim();if(t.length===0)return null;if(t.startsWith("#"))return jo(t.slice(1));if(t.toLowerCase().startsWith("0x"))return jo(t.slice(2));if(t.toLowerCase().startsWith("rgb"))return Xy(t);if(/^[0-9a-fA-F]+$/.test(t)){let r=jo(t);if(r!==null)return r}return /^\d+$/.test(t)?vl(Number.parseInt(t,10)):null}i(Q,"toRgba");function jo(e){let t=e.trim();if(!/^[0-9a-fA-F]+$/.test(t))return null;if(t.length===3)return {r:Vo(t[0]),g:Vo(t[1]),b:Vo(t[2]),a:1};if(t.length===6)return {r:gt(t,0),g:gt(t,2),b:gt(t,4),a:1};if(t.length===8){let r=gt(t,0);return {r:gt(t,2),g:gt(t,4),b:gt(t,6),a:r/255}}return null}i(jo,"fromHex");function Xy(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=$o(Number(n[0])),a=$o(Number(n[1])),s=$o(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(Xy,"fromRgbFunc");function vl(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(vl,"argbIntToRgba");function gt(e,t){return Number.parseInt(e.slice(t,t+2),16)}i(gt,"byte");function Vo(e){return Number.parseInt(`${e??"0"}${e??"0"}`,16)}i(Vo,"dup");function $o(e){return Number.isFinite(e)?Math.min(255,Math.max(0,Math.round(e))):null}i($o,"clampByte");function Qy(e){if(e.a>=1)return Ke(e.r,e.g,e.b);let t=Math.round(e.a*1e3)/1e3;return `rgba(${e.r},${e.g},${e.b},${t})`}i(Qy,"normalizeRgba");function Ke(e,t,r){return `#${Wo(e)}${Wo(t)}${Wo(r)}`.toUpperCase()}i(Ke,"rgbToHex");function Wo(e){return e.toString(16).padStart(2,"0")}i(Wo,"hex2");var Zy="#111111",Dt="#FFFFFF",rn="#000000";function Cl(e){let t=Q(e);if(t===null)return Dt;let r=ht(t),n=ht({r:17,g:17,b:17}),o=ht({r:255,g:255,b:255});return qo(r,o)>=qo(r,n)?Dt:Zy}i(Cl,"readableOn");function Lt(e,t){let r=Cl(e);return ae(r,e)>=t?r:ae(Dt,e)>=ae(rn,e)?Dt:rn}i(Lt,"legibleOn");function Se(e){let t=i(r=>e.reduce((n,o)=>Math.min(n,ae(r,o)),Number.POSITIVE_INFINITY),"worst");return t(Dt)>=t(rn)?Dt:rn}i(Se,"poleForGrounds");function ht(e){let t=Ko(e.r/255),r=Ko(e.g/255),n=Ko(e.b/255);return .2126*t+.7152*r+.0722*n}i(ht,"relativeLuminance");function Ko(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}i(Ko,"linearize");function qo(e,t){let r=Math.max(e,t),n=Math.min(e,t);return (r+.05)/(n+.05)}i(qo,"luminanceContrast");function ae(e,t){let r=Q(e),n=Q(t);if(r===null||n===null)return 1;let o=n.a>=1?n:{...n},a=r.a>=1?r:xl(r,o);return qo(ht(a),ht(o))}i(ae,"contrastRatio");function xl(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(xl,"composite");function Me(e,t){let r=Q(e),n=Q(t);if(r===null||n===null)return null;let o=r.a>=1?r:xl(r,{...n});return Ke(o.r,o.g,o.b)}i(Me,"flattenOnto");function Nt(e,t){let r=Q(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(Nt,"withAlpha");var El=.05;function dr(e,t,r,n){let o=t[0];if(o===void 0)return r;let a=i(d=>t.every(c=>ae(d,c)>=n),"reads");if(Q(e)===null)return r;if(a(e))return e;let s=Me(e,o),l=s===null?null:Q(s),u=Q(r);if(l===null||u===null)return r;for(let d=1;d<1/El;d+=1){let c=d*El,p=i((m,y)=>Math.round(m+(y-m)*c),"mix"),f=Ke(p(l.r,u.r),p(l.g,u.g),p(l.b,u.b));if(a(f))return f}return r}i(dr,"pushToContrast");function Rl(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(Rl,"rgbToHsl");function Yo(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:Go(c+l),g:Go(p+l),b:Go(f+l)}}i(Yo,"hslToRgb");function Go(e){return Math.min(255,Math.max(0,Math.floor(e*255+.5)))}i(Go,"channel");var Ge=Object.freeze(["composerInput","sendButton","userBubble","assistantBubble","vetBubble","recordCard","vetVisitButton","primaryButton","link"]),Jy=Object.freeze(["backgroundColor","borderColor","borderRadius","textColor"]),J=4.5,eg=Object.freeze({});function tg(e){return Ge.includes(e)}i(tg,"isSlotName");function rg(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(rg,"parseRadius");function Sl(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(!tg(n)||o===null||typeof o!="object")continue;let a=ng(o);a!==null&&(t[n]=a,r=true);}return r?Object.freeze(t):null}i(Sl,"parseThemeSlots");function nn(e,t,r){return e[t]!==void 0?e[t]:e[r]}i(nn,"pick");function ng(e){let t={},r=Z(nn(e,"background_color","backgroundColor"));r!==null&&(t.backgroundColor=r);let n=Z(nn(e,"border_color","borderColor"));n!==null&&(t.borderColor=n);let o=rg(nn(e,"border_radius","borderRadius"));o!==null&&(t.borderRadius=o);let a=Z(nn(e,"text_color","textColor"));return a!==null&&(t.textColor=a),Object.keys(t).length===0?null:Object.freeze(t)}i(ng,"parseSlot");function on(e,t){return t===null||Object.keys(t).length===0?e??eg:e===null||Object.keys(e).length===0?t:Object.freeze({...e,...t})}i(on,"mergeThemeSlots");var cr=3;function og(e,t){return e===void 0?t:t.length===0?[e]:t.map(r=>Me(e,r)??r)}i(og,"seatsOf");function ig(e,t){let r=Se(e);return e.every(n=>ae(r,n)>=t)}i(ig,"someInkReads");function ag(e,t){let r=t[0];return r===void 0?null:Me(e,r)}i(ag,"collapseUnsatisfiableFill");function sg(e){let t=Lt(e[0],J);return e.every(r=>ae(t,r)>=J)?t:Se(e)}i(sg,"inkFor");function Tl(e,t){let r=false,n={};for(let o of Ge){let a=e[o];if(a===void 0)continue;let s=a.backgroundColor,l=t?.[o]??[],u=og(s,l),d={...a},c=false;if(s!==void 0&&u.length>1&&!ig(u,J)){let p=ag(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=>ae(p,f)<J))&&(d.textColor=sg(u),c=true);else if(p!==void 0){let f=dr(p,u,Se(u),J);f!==p&&(d.textColor=f,c=true);}if(a.borderColor!==void 0){let f=dr(a.borderColor,u,Se(u),cr);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(Tl,"guardSlotContrast");function qe(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let t of Object.keys(e))qe(e[t]);}return e}i(qe,"deepFreeze");var an=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Pl={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},_l={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},kl={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},lg={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},ug={regular:"400",medium:"500",bold:"700"},dg={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},Xo=0,bt="System",at="monospace",cg=["content","heading","control","compact","badge"];function pg(e){let t={};for(let r of cg)t[r]=e;return t}i(pg,"authoredTierSizes");function wl(){return {family:bt,mono:at,fontUrl:null,families:{regular:bt,medium:bt,bold:bt,mono:at,monoMedium:at,monoBold:at},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:kl,tierSizes:pg(kl),lineHeight:lg,weight:ug,letterSpacing:dg,scale:1,maxScale:Xo,scaleCaps:an}}i(wl,"baseType");var Il={},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 pr(e){return `cubic-bezier(${e.join(", ")})`}i(pr,"cssCubicBezier");var Al={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:pr(vt.standard),emphasized:pr(vt.emphasized),exit:pr(vt.exit)},reducedMotion:false},fg={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FFFFFF",surfaceSubtle:"#F1F5F2",background:"#FFFFFF",borderRingCream:"#E4E4E4",chatGround:"#FFFFFF",composerFill:"#FFFFFF",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#000000",secondary:"#0E462E",muted:"#6B6B6B",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#C03410",onDanger:"#FFFFFF",errorRed:"#C03410",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(192,52,16,0.06)",badgeBgNeutral:"rgba(107,107,107,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#E9F1E9",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},De=qe({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:fg,space:Pl,radius:_l,type:wl(),motion:Al,slots:Il}),mg={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A9A9A",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",onDanger:"#0E1F17",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"},Et=qe({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:mg,space:Pl,radius:_l,type:wl(),motion:Al,slots:Il});function Ct(e){return [e.surface,e.surfaceCream,e.surfaceSubtle,e.background,e.chatGround,e.composerFill]}i(Ct,"textGrounds");function Ol(e){return [e.surface,e.surfaceCream,e.background,e.chatGround,e.composerFill]}i(Ol,"controlGrounds");function Qo(e){return [e.chatGround,e.surface,e.surfaceCream]}i(Qo,"linkGrounds");function Fl(e,t){return [e.surface,e.surfaceCream,e.background,e.chatGround,e.composerFill,...Ml(e,t)]}i(Fl,"statusGrounds");function Ml(e,t){return [Me(t,e.surface)??e.surface,Me(t,e.surfaceCream)??e.surfaceCream]}i(Ml,"washGrounds");function yg(e){return [e.composerFill,e.chatGround]}i(yg,"composerGrounds");var gg=new Set(["text.timestamp","text.placeholder","errorRed","warningStrong","composerBorder"]);function hg(e,t){let r=new Set(Ct(t));return Ct(e).every(n=>r.has(n))}i(hg,"onCompiledGrounds");function Dl(e){let t=e.color,r=(e.brightness==="dark"?Et:De).color,n=(e.brightness==="dark"?De:Et).color,o=Ct(t),a=Se(o)!==Se(Ct(r)),s=hg(t,r),l=t.danger===r.danger&&t.badgeBgCritical===r.badgeBgCritical,u=i((E,g,v,S,w,T)=>{let b=g===v&&(E!=="errorRed"||l);return b&&s&&gg.has(E)?g:dr(b&&a?S:g,w,Se(w),T)},"ink"),d=i((E,g,v)=>u(`text.${E}`,t.text[E],r.text[E],n.text[E],g,v),"text"),c=i((E,g,v,S)=>u(E,g,r[E],n[E],v,S),"token"),p=i(E=>a&&t[E]===r[E]?n[E]:t[E],"tint"),f=t.primary,m=Lt(f,J),y=c("danger",t.danger,[...o,...Ml(t,t.badgeBgCritical)],J);return {...t,onPrimary:m,onAccent:Lt(t.accent,J),onDanger:ae(m,y)>=J?m:Lt(y,J),brandSoft:p("brandSoft"),brandSofter:p("brandSofter"),brandBorder:p("brandBorder"),borderHairlineGreen:p("borderHairlineGreen"),brandInk:c("brandInk",t.brandInk,o,J),linkInk:c("linkInk",e.slots.link?.textColor??t.accent,Qo(t),J),text:{...t.text,primary:d("primary",o,J),secondary:d("secondary",o,J),muted:d("muted",o,J),metaCool:d("metaCool",o,J),timestamp:d("timestamp",o,J),placeholder:d("placeholder",Ol(t),cr)},danger:y,errorRed:c("errorRed",t.errorRed,Fl(t,t.badgeBgCritical),J),warningStrong:c("warningStrong",t.warningStrong,Fl(t,t.badgeBgCaution),J),composerBorder:c("composerBorder",t.composerBorder,yg(t),cr),brandBorderStrong:c("brandBorderStrong",t.brandBorderStrong,Ol(t),cr)}}i(Dl,"guardInks");var bg="#23272C",Ll=4.5,vg=.6,Zo=.9,Eg=.02,Cg="#FFFFFF",xg="#111111";function Rg(e){return ae(e,bg)>=Ll&&Math.max(ae(e,Cg),ae(e,xg))>=Ll}i(Rg,"readsOnDark");function Ul(e){let t=Q(e);if(t===null)return null;let{h:r,s:n,l:o}=Rl(t.r,t.g,t.b),a=Math.min(Math.max(o,vg),Zo);for(let l=0;;l+=1){let u=a+l*Eg;if(u>Zo)break;let d=Yo({h:r,s:n,l:u}),c=Ke(d.r,d.g,d.b);if(Rg(c))return c}let s=Yo({h:r,s:n,l:Zo});return Ke(s.r,s.g,s.b)}i(Ul,"deriveDarkVariant");var Sg=7,Nl=.05,Tg="#000000",zl="#FFFFFF";function kg(e,t,r,n){let o=Me(e,t);if(o===null)return r;if(ae(o,t)>=n)return o;let a=Q(o),s=Q(r);if(a===null||s===null)return r;for(let l=1;l<1/Nl;l+=1){let u=l*Nl,d=i((p,f)=>Math.round(p+(f-p)*u),"mix"),c=Ke(d(a.r,s.r),d(a.g,s.g),d(a.b,s.b));if(ae(c,t)>=n)return c}return r}i(kg,"pushContrast");function Pg(e,t){let r=Ct(e),n=r[0],o=Hl(n);for(let a of r){let s=Hl(a);(t?s>o:s<o)&&(n=a,o=s);}return n}i(Pg,"hardestGround");function Hl(e){let t=Q(e);return t===null?0:ht(t)}i(Hl,"luminanceOf");function st(e,t){return Me(e,t)??Z(e)??t}i(st,"solid");function Bl(e){let t=e.color,r=Se(Ct(t))===zl,n=r?zl:Tg,o=Pg(t,r),a=i(l=>kg(l,o,n,Sg),"text"),s={...t,brandSoft:st(t.brandSoft,t.surface),brandSofter:st(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:st(t.badgeBgPositive,t.surface),badgeBgCaution:st(t.badgeBgCaution,t.surface),badgeBgCritical:st(t.badgeBgCritical,t.surface),badgeBgNeutral:st(t.badgeBgNeutral,t.surface),checkupCardLowRiskBg:st(t.checkupCardLowRiskBg,t.surface),checkupCardConcernBg:st(t.checkupCardConcernBg,t.surface)};return qe({...e,highContrast:true,color:s})}i(Bl,"deriveHighContrast");var ei=Object.freeze({cream:.03,subtle:.07,ring:.16}),_g=ei.cream,wg=ei.subtle,Ig=ei.ring,Ag=10;function Jo(e,t,r){let n=Q(e),o=Q(t);if(n===null||o===null)return null;let a=i((s,l)=>Math.round(s+(l-s)*r),"at");return Ke(a(n.r,o.r),a(n.g,o.g),a(n.b,o.b))}i(Jo,"mix");function jl(e){if(e===null)return {};let t=Se([e]),r=Jo(e,t,_g),n=Jo(e,t,wg),o=Jo(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(jl,"surfaceFamily");function Vl(e){if(e===null)return {};let t=Q(e);return t===null?{}:{danger:e,errorRed:e,badgeBgCritical:`rgba(${t.r},${t.g},${t.b},0.12)`}}i(Vl,"dangerFamily");function $l(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($l,"typeSizesFor");function Wl(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(Wl,"spaceFor");function Kl(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(Kl,"radiiFor");var Gl=Object.freeze(["everfur","minimal","night"]),ql=Object.freeze({everfur:Object.freeze({}),minimal:Object.freeze({colorPrimary:"#111111",colorAccent:"#111111",borderRadius:6}),night:Object.freeze({colorScheme:"dark"})}),mr=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 sn(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}i(sn,"isRecord");function Og(e){return typeof e=="string"&&Gl.includes(e.trim().toLowerCase())}i(Og,"isPreset");function fr(e,t){let r=e[t];return r??void 0}i(fr,"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 ti(e){if(!sn(e))return null;let t=Og(e.theme)?ql[e.theme.trim().toLowerCase()]:{},r=sn(e.variables)?e.variables:{},n={...t};for(let[p,f]of Object.entries(r))f!=null&&(n[p]=f);let o={},a=fr(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=fr(n,p);m!==void 0&&(o[`${f}${l}`]=m);}let u=fr(n,"colorDanger");u!==void 0&&(o[`danger_color${l}`]=u);let d=fr(n,"fontFamily");typeof d=="string"&&d.trim().length>0&&(o.font_family=d.trim());for(let[p,f]of Lg){let m=Mg(fr(n,p));m!==void 0&&(o[f]=m);}let c=e.rules;if(sn(c)){let p={};for(let f of Ge){let m=c[f];sn(m)&&(p[f]=m);}Object.keys(p).length>0&&(o.slots=p);}return Object.keys(o).length===0?null:Object.freeze(o)}i(ti,"expandAppearance");var Zl=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"]),yr="slots.",Jl=Object.freeze([1,2]);function un(e){return Object.keys(e).every(t=>t==="schemaVersion"||(e[t]??null)===null)}i(un,"isEmptyBranding");function eu(e){let t=e?.schemaVersion??null;return t===null||Jl.includes(t)}i(eu,"isKnownBrandingSchema");function tu(e){return new Set(["hide_powered_by",...e?.lockedFields??[]])}i(tu,"lockedFieldsOf");function Ng(e){return e==="hide_powered_by"||Zl.includes(e)?true:e.startsWith(yr)&&Ge.includes(e.slice(yr.length))}i(Ng,"isThemeLockName");function Ye(e){if(e===null||typeof e!="object")return null;let t=e,r=Yl(t),n=ti(V(t,"appearance")),o=n===null?r:zg(Yl(n),r);return un(o)?null:Object.freeze(o)}i(Ye,"parseClientBranding");function zg(e,t){let r={...e};for(let[o,a]of Object.entries(t))a!=null&&(r[o]=a);let n=on(e.slots??null,t.slots??null);return r.slots=Object.keys(n).length===0?null:n,r}i(zg,"overlayFlat");function Yl(e){return {displayName:xt(V(e,"display_name","displayName")),logoUrl:xt(V(e,"logo_url","logoUrl")),primaryColor:Z(V(e,"primary_color","primaryColor")),accentColor:Z(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:Xl(V(e,"fonts")),fontUrls:Xl(V(e,"font_urls","fontUrls")),placeholder:xt(V(e,"chat_placeholder","placeholder","chatPlaceholder")),hidePoweredBy:Hg(V(e,"hide_powered_by","hidePoweredBy")),primaryColorDark:Z(V(e,"primary_color_dark","primaryColorDark")),accentColorDark:Z(V(e,"accent_color_dark","accentColorDark")),surfaceStyle:Ql(V(e,"surface_style","surfaceStyle"),Ug),radiusScale:Ql(V(e,"radius_scale","radiusScale"),Bg),logoUrlDark:xt(V(e,"logo_url_dark","logoUrlDark")),slots:Sl(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:Z(V(e,"background_color","backgroundColor")),backgroundColorDark:Z(V(e,"background_color_dark","backgroundColorDark")),textColor:Z(V(e,"text_color","textColor")),textColorDark:Z(V(e,"text_color_dark","textColorDark")),dangerColor:Z(V(e,"danger_color","dangerColor")),dangerColorDark:Z(V(e,"danger_color_dark","dangerColorDark")),fontSizeBase:ri(V(e,"font_size_base","fontSizeBase"),mr.fontSizeBase),borderRadius:ri(V(e,"border_radius","borderRadius"),mr.borderRadius),spacingUnit:ri(V(e,"spacing_unit","spacingUnit"),mr.spacingUnit)}}i(Yl,"parseFlat");function ri(e,t){let r=ln(typeof e=="string"?e.trim().replace(/px$/i,""):e);return r===null?null:Math.min(t.max,Math.max(t.min,r))}i(ri,"parseClamped");function Hg(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(Hg,"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 gr=["regular","medium","bold","mono","monoMedium","monoBold"];function Xl(e){if(e===null||typeof e!="object"||Array.isArray(e))return null;let t=e,r={};for(let n of gr){let o=xt(V(t,n));o!==null&&(r[n]=o);}return Object.keys(r).length===0?null:Object.freeze(r)}i(Xl,"parseFaceMap");var Ug=["white","cream","subtle"],Bg=["sharp","default","round"];function Ql(e,t){if(typeof e!="string")return null;let r=e.trim().toLowerCase();return t.includes(r)?r:null}i(Ql,"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 ln(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(ln,"parseNumber");var Vg=1,ru=3.1;function $g(e){let t=ln(e);return t===null?null:t<=0?0:Math.min(ru,Math.max(Vg,t))}i($g,"parseMaxFontScale");function Wg(e){if(e==null)return null;let t=ln(e);return t!==null&&Number.isInteger(t)&&t>=1?t:0}i(Wg,"parseSchemaVersion");function ni(e){let t=e.trim();return t.startsWith(yr)?t:t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}i(ni,"toWireName");function Kg(e){if(!Array.isArray(e))return null;let t=[];for(let r of e){if(typeof r!="string")continue;let n=ni(r);Ng(n)&&!t.includes(n)&&t.push(n);}return t.length===0?null:Object.freeze(t)}i(Kg,"parseLockedFields");function oi(e){if(e===null)return null;let t=e.trim();return t.length===0?null:/^https:\/\/\S+$/i.test(t)?t:null}i(oi,"hardenHttpsUrl");function nu(e,t){if(t===null||un(t))return e;let r=(t.brightness==="light"||t.brightness==="dark")&&t.brightness!==e.brightness?t.brightness==="dark"?Et:De:e,n=r.brightness==="dark"?Et:De,o=r.brightness==="dark",a=o?t.primaryColorDark??ii(t.primaryColor):t.primaryColor,s=o?t.accentColorDark??ii(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?Q(c):null,f=i(w=>Math.round(w+(255-w)*.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,E=jl(y),g={...r.color,...E},v=(o?t.textColorDark:t.textColor)??null,S={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,...E,...Vl((o?t.dangerColorDark??ii(t.dangerColor??null):t.dangerColor)??null),...v!==null?{text:{...m.text??r.color.text,primary:v}}:{},...Xg(t.surfaceStyle??null,g),primary:c,accent:u,onPrimary:r.color.onPrimary,onAccent:r.color.onAccent},space:Wl(t.spacingUnit??null,r.space,n),radius:t.borderRadius!=null?Kl(t.borderRadius,n):eh(t.radiusScale??null,r.radius,n),type:{...r.type,...Yg(r.type,t),size:$l(t.fontSizeBase??null,r.type.size,n),maxScale:t.accessibilityMaxFontScale??r.type.maxScale},motion:r.motion,slots:on(r.slots,t.slots??null)};return qe(S)}i(nu,"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 ai(e){return e==="mono"||e==="monoMedium"||e==="monoBold"}i(ai,"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 gr){let u=Gg[l].map(p=>r[p]).find(p=>p!==void 0),d=ai(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 ii(e){return e===null?null:Ul(e)}i(ii,"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 ou(e,t){return e==null?false:Z(e)===Z(t)}i(ou,"sameColor");function Qg(e,t,r,n){return ou(t,r.color.primary)?true:n&&(e.primaryColorDark??null)===null&&ou(e.primaryColor,De.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 si(e){let t=e?.branding??null,r=eu(t)?t:null,n=sh(e?.clientOverride??null,tu(r)),o=e?.colorScheme==="dark"?"dark":"light",a=n?.brightness??r?.brightness??"light",u=nu((a==="auto"?o:a)==="dark"?Et:De,iu(r)),d=nu(u,iu(n));return gh(d,e)}i(si,"resolveTheme");function nh(e,t,r){return si({...r,branding:Ye(t),clientOverride:Ye(e)})}i(nh,"previewTheme");function oh(e){return e==="placeholder"?"chat_placeholder":ni(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 Ge){let d=o[u];d!==void 0&&(t.has(`${yr}${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 un(a)?null:a}i(sh,"withoutFields");function iu(e){return e===null||e.brightness===null?e:Object.freeze({...e,brightness:null})}i(iu,"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 au=["content","heading","control","compact","badge"];function dh(e){if(!(e>0))return an;let t={};for(let r of au){let n=an[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 au)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:Qo(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 gr)!(o[s]===bt||o[s]===at)&&r!==void 0&&mh(r,o[s])===false&&(o[s]=ai(s)?at:bt,a[s]=false),n!==null&&ai(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=oi(e.meta.logoUrl),o={};for(let y of gr){let E=e.type.fontUrls[y];E!==void 0&&(o[y]=oi(E));}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:Xo,d=uh(t?.textScale),c=dh(u),p=ph(e.type.size,d,c,t?.scaleTypeSizes===true),f=Dl(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:Tl(e.slots,fh(f))};return t?.highContrast===true?Bl(qe(m)):qe(m)}i(gh,"finalize");var su="/widget/v1/entitlements",hh=304,bh=Object.freeze({kind:"notModified"});async function uu(e,t={},r=Te({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(uu,"fetchEntitlements");var vh=64;function Eh(e){let t={};return li(e.cachedRevision)&&(t["if-none-match"]=`"${e.cachedRevision}"`),e.region&&e.region.length<=vh?{method:"GET",path:su,headers:t,query:{region:e.region}}:{method:"GET",path:su,headers:t}}i(Eh,"buildRequest");function Ch(e){if(e===null||typeof e!="object"||!li(e.revision))return lu();let t=typeof e.region=="string"?e.region:"",r=li(e.ttl_seconds)?e.ttl_seconds:0;return Object.freeze({kind:"updated",revision:e.revision,region:t,ttlSeconds:r,decisions:Rh(e.capabilities),branding:xh(e),livemode:e.livemode!==false})}i(Ch,"parseUpdated");function xh(e){let t=Ye(e.branding);if(t!==null)return t;let r=e.render_hints;if(r!==null&&typeof r=="object"){let n=Ye(r.branding);return n!==null?n:Ye(r)}return null}i(xh,"parseBranding");function Rh(e){if(e===null||typeof e!="object")return Object.freeze([]);let t=[];for(let[r,n]of Object.entries(e))Sh(n)&&t.push(Object.freeze({resource:r,granted:true}));return Object.freeze(t)}i(Rh,"mapCapabilities");function Sh(e){return typeof e=="object"&&e!==null&&e.enabled===true}i(Sh,"isEnabled");function lu(){return {kind:"failed",error:D("internalError",{retryable:true,wireMessage:"malformed entitlements response"})}}i(lu,"malformed");function li(e){return typeof e=="number"&&Number.isFinite(e)}i(li,"isFiniteNumber");var Th=30;function du(e){let t=e.scheduler??kh,r=e.resolve??uu,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(v=>{l||!s||(c=Math.max(n,v),u=t.set(()=>{u=null,g();},c*1e3));},"schedule"),y=null,E=i(async()=>{if(l)return null;let v=p;e.onFetch?.();let S=e.region?{cachedRevision:d,region:e.region}:{cachedRevision:d},w;try{w=await r(e.authFor(),S);}catch(T){return e.telemetry?.track("sdk.entitlements.poll_error",{reason:Ph(T)}),!l&&v===p&&(e.onSettled?.(),m(a())),null}if(l||v!==p)return null;switch(w.kind){case "updated":d=w.revision,e.update(w.decisions,w.branding??null,w.livemode!==false),m(w.ttlSeconds);break;case "notModified":m(c);break;case "failed":e.telemetry?.track("sdk.entitlements.poll_failed",{code:w.error.code}),m(a());break;default:m(a());}return e.onSettled?.(),w},"tick"),g=i(()=>{let v=E().finally(()=>{y===v&&(y=null);});return y=v,v},"run");return {start(){s||l||(s=true,g());},prime(){return l?Promise.resolve(null):y??g()},stop(){l||(l=true,p++,f());},refresh(){l||!s||(p++,d=null,f(),g());}}}i(du,"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 cu="everfur.notifications.device";var _h=3e3,pu=Object.freeze([cu]);function fu(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(fu,"startBeforeLogoutHooks");function mu(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(mu,"graceAuth");async function yu(e,t){if(pu.length===0)return;let r=await Promise.allSettled(pu.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(yu,"sweepPerUserKv");function wh(){return Object.freeze([Object.freeze({resource:"chat.message.create",granted:true})])}i(wh,"compiledDefaultDecisions");function ui(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(ui,"createEntitlementStore");function di(e){return D("validationFailed",{retryable:false,wireMessage:`Everfur SDK is not configured: ${e.message}`})}i(di,"notConfiguredError");function gu(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 Ga(r,t===void 0?void 0:{platform:t})}i(gu,"tryResolveClient");function hu(e){return Object.freeze({track(t,r){try{e.track(t,r);}catch{}},trackExpectedFailure(t,r){try{e.trackExpectedFailure(t,r);}catch{}}})}i(hu,"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 ${$r} to the SDK at run time (bundlers inline only the variables your own code names), so pass apiBaseUrl in config.`});function bu(e,t,r=mo){try{t.trackExpectedFailure("sdk.config.invalid",{reason:e.reason});}catch{}globalThis.console?.error?.(`[everfur] SDK disabled: ${e.message}
|
|
12
12
|
[everfur] Every Everfur capability will render its off-state until this is fixed. `+Ih[r]);}i(bu,"reportConfigFailure");function ci(e){return Object.freeze({request(){return Promise.resolve(C(di(e)))},stream(t,r){let n=ye({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(ci,"refusingTransport");function vu(){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(vu,"createInMemoryKv");var Eu=Object.freeze({clearMemoryCache(){},clearDiskCache(){}});function Ru(e,t){return new fi(e,t)}i(Ru,"createEverfurRuntime");var Ah=6e4,mi=class mi{constructor(t,r){this.sessionId=po();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?hu(n.telemetry):Hr;let o=typeof n?.publishableKey=="string"?n.publishableKey.trim():"",a=yo(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=ci(a);else if(n.transport!==void 0)l=n.transport;else {let c=gu(n,r?.platform);c.ok?(u=c.config.apiBaseUrl,l=Ja({config:c.config,...r?.eventSourceFactory?{eventSourceFactory:r.eventSourceFactory}:{}})):(a=c.failure,l=ci(c.failure));}this.configFailure=a,this.publishableKey=a===null?o:"",this.transport=l,a!==null&&bu(a,this.telemetry,r?.platform),this.errorPolicy=n.errorPolicy,this.camera=n.camera??Oa,this.upload=n.upload??hs,this.uploadTransport=n.uploadTransport??Do,this.imageCache=n.imageCache??Eu,this.kv=n.storage??vu(),this.currentUser=t.user??null,this.identity=this.buildIdentity(t.user??null),this.activePet=t.activePet,this.store=a===null?ui():ui(()=>hl("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",pi(c),()=>this.buildChatController(c),Cu),"acquireChat"),releaseChat:i(c=>this.releaseInternal(c),"releaseChat"),peekChat:i(c=>this.entries.get(`${this.epoch}|chat|${pi(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=Ba(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 du({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=Hs({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=js(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=po(),this.setUser(null),this.leavingSessionId=null,t&&this.rescopeAll();let r=this.pendingBeforeLogout;this.pendingBeforeLogout=null,r!==null&&await r,await yu(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 fu({leaving:t,identity:r,hooks:this.beforeLogoutHooks,telemetry:this.telemetry,graceAuth:i(()=>mu({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?C(xu(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?xu("prepare"):n===null?null:di(n),a=this.identity,[s,l,u]=await Promise.all([o?C(o):a===null?M(void 0):a.currentToken().then(()=>M(void 0),()=>C(D("authRejected",{retryable:false}))),o?C(o):this.primeEntitlements(),t===null?void 0:o?C(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"?C(t.error):M(void 0):C(D("internalError",{retryable:true}))}async primeChat(t){let r={userRef:this.currentUser?.userRef??null,petRef:t,conversationId:null},n=this.acquireInternal("chat",pi(r),()=>this.buildChatController(r),Cu,true),o=await this.bootstraps.get(n);return o?.cause&&n.getSnapshot().conversationId===null&&(o=await this.runBootstrap(n,r)),o?.cause?C(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(mi,"EverfurRuntimeImpl");var fi=mi;function pi(e){return `${e.userRef??""}|${e.petRef??""}|${e.conversationId??""}`}i(pi,"chatScopeKey");function Cu(e){e.dispose();}i(Cu,"disposeChat");function xu(e){return D("validationFailed",{retryable:false,wireMessage:`the Everfur runtime is disposed; ${e} was called after unmount`})}i(xu,"disposedError");var Su=Symbol.for("@everfur/sdk#EverfurContext@v1"),Tu=globalThis,dn=Tu[Su]??(Tu[Su]=react.createContext(null));dn.displayName??="EverfurContext";function ee(){let e=react.useContext(dn);if(e===null)throw new re("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}i(ee,"useEverfurContext");function ku(){return ee().handle}i(ku,"useEverfur");var Pu=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),_u=globalThis,hr=_u[Pu]??(_u[Pu]=react.createContext(De));hr.displayName??="EverfurThemeContext";function z(){return react.useContext(hr)}i(z,"useEverfurTheme");function cn(e){let{runtime:t}=ee(),r=t.entitlements,n=react.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=react.useMemo(()=>e.clientTheme?Ye(e.clientTheme):null,[p]),m=n.branding??null,y=react.useMemo(()=>si({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),react.createElement(hr.Provider,{value:y},e.children)}i(cn,"EverfurThemeProviderCore");function zh(e){try{return JSON.stringify(e)}catch{return Object.keys(e).join("&")}}i(zh,"stableKey");function Fu(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=react.useRef(null),c=react.useRef(null),[p,f]=react.useReducer(R=>R+1,0),m=react.useRef(null),y=react.useRef(void 0),E=r?.userRef??null;y.current!==E&&(y.current!==void 0&&(m.current=null),y.current=E);let g=m.current!==null?m.current.user:r??null,v=react.useRef(null),S=react.useRef(void 0),w=n??null;S.current!==w&&(S.current!==void 0&&(v.current=null),S.current=w);let T=v.current!==null?v.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:Ru({config:l.withDefaults?l.withDefaults(t):t,user:g,activePet:T,theme:o??null},{platform:l.platform,...l.eventSourceFactory?{eventSourceFactory:l.eventSourceFactory}:{}})});let b=d.current.runtime,k=react.useRef(null);react.useEffect(()=>{let R=d.current?.runtime;R===void 0||!R.isDisposed||k.current!==R&&(k.current=R,f());}),react.useEffect(()=>{let R=c.current;R!==null&&(c.current=null,R.dispose());});let I=g?.userRef??null;react.useLayoutEffect(()=>{b.setUser(g);},[b,I]),react.useLayoutEffect(()=>{b.setActivePet(T);},[b,T]),react.useEffect(()=>()=>b.dispose(),[b]),react.useEffect(()=>{a==="onMount"&&b.prepare(T===null?{}:{petRef:T});},[b,a,I,T]);let O=react.useMemo(()=>({setUser:i(R=>{m.current={user:R},b.setUser(R),f();},"setUser"),setActivePet:i(R=>{v.current={pet:R},b.setActivePet(R),f();},"setActivePet"),open:i(R=>b.open(R),"open"),prepare:i(R=>b.prepare(R),"prepare"),registerPet:i((R,A)=>b.registerPet(R,A),"registerPet"),updatePet:i((R,A)=>b.updatePet(R,A),"updatePet"),deletePet:i(R=>b.deletePet(R),"deletePet"),eraseUserData:i(()=>b.eraseUserData(),"eraseUserData"),logout:i(()=>{m.current={user:null};let R=b.logout();return f(),R},"logout")}),[b,f]),_=react.useMemo(()=>({runtime:b,handle:O,userRef:I,activePet:T,scopeEpoch:b.scopeEpoch}),[b,O,I,T,p]),x=react.createElement(cn,{clientTheme:o??null,seams:l.theme,children:s});return react.createElement(dn.Provider,{value:_},l.wrap?l.wrap(x):x)}i(Fu,"EverfurProviderCore");var br="everfur:";function fn(){try{if(typeof window>"u")return null;let e=window.localStorage;return e&&typeof e.getItem=="function"?e:null}catch{return null}}i(fn,"storage");function yi(){return {async getItem(e){try{return fn()?.getItem(br+e)??null}catch{return null}},async setItem(e,t){try{fn()?.setItem(br+e,t);}catch{}},async removeItem(e){try{fn()?.removeItem(br+e);}catch{}},async keys(e){try{let t=fn();if(t===null)return [];let r=[],n=br+e;for(let o=0;o<t.length;o+=1){let a=t.key(o);a!==null&&a.startsWith(n)&&r.push(a.slice(br.length));}return Object.freeze(r)}catch{return []}}}}i(yi,"createLocalStorageKv");var vr=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function Uh(e,t){let r=e.type,n=r.families[t];return t==="mono"||r.namedFaces[t]?{fontFamily:n}:{fontFamily:n,fontWeight:r.weight[vr[t]]}}i(Uh,"face");function Mu(e,t){let{scale:r,scaleCaps:n}=e.type,o=n[t];return o>0?Math.min(r,o):r}i(Mu,"tierScale");var jh=/^https:\/\/sdk(-staging)?\.everfur\.com\/fonts\/[\w./-]+\.woff2$/;function Vh(e){return jh.test(e)&&!e.includes("..")}i(Vh,"isBrandFontUrl");var Du=new Map;function $h(e,t,r="400"){let n=e.trim(),o=`${n}
|
|
13
13
|
${t}
|
|
14
|
-
${r}`,a=Du.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{}Du.set(o,a);}return a}i($h,"loadBrandFont");var Wh=["regular","medium","bold","mono","monoMedium","monoBold"];function Lu(e){let{families:t,fontUrls:r,weight:n,namedFaces:o}=e.type;react.useEffect(()=>{for(let a of Wh){let s=r[a];s!=null&&$h(t[a],s,o[a]?n.regular:n[vr[a]]);}},[t,r,n,o]);}i(Lu,"useBrandFont");function Er(e){if(typeof window>"u"||typeof window.matchMedia!="function")return null;try{return window.matchMedia(e)??null}catch{return null}}i(Er,"queryFor");function gi(e){return t=>{let r=Er(e);return r===null||typeof r.addEventListener!="function"?()=>{}:(r.addEventListener("change",t),()=>r.removeEventListener?.("change",t))}}i(gi,"subscribeTo");var Nu="(prefers-color-scheme: dark)",Kh="(prefers-color-scheme: light)",zu="(prefers-reduced-motion: reduce)",Hu="(prefers-contrast: more)",Gh=gi(Nu),qh=gi(zu),Yh=gi(Hu);function Xh(){let e=Er(Nu);return e===null?null:e.matches?"dark":Er(Kh)?.matches?"light":null}i(Xh,"readColorScheme");function Qh(){return Er(zu)?.matches===true}i(Qh,"readReducedMotion");function Zh(){return Er(Hu)?.matches===true}i(Zh,"readMoreContrast");var Jh=16,eb=false;var mn=null;function Uu(e){return Number.parseFloat(window.getComputedStyle(e).fontSize)}i(Uu,"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 Uu(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?Uu(document.documentElement):tb();return Number.isFinite(e)&&e>0?e/Jh:1}catch{return 1}}i(rb,"measureTextScale");function nb(){return mn===null&&(mn=rb()),mn}i(nb,"readTextScale");function ob(e){if(typeof window>"u"||typeof window.addEventListener!="function")return ()=>{};let t=i(()=>{mn=null,e();},"onResize");return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}i(ob,"subscribeTextScale");function ib(){return react.useSyncExternalStore(Gh,Xh,()=>null)}i(ib,"useWebColorScheme");function ab(){return react.useSyncExternalStore(qh,Qh,()=>false)}i(ab,"useWebReducedMotion");function sb(){return react.useSyncExternalStore(Yh,Zh,()=>false)}i(sb,"useWebHighContrast");function lb(){return react.useSyncExternalStore(ob,nb,()=>1)}i(lb,"useWebTextScale");var gn=Object.freeze({useColorScheme:ib,useReducedMotion:ab,useTextScale:lb,useHighContrast:sb,scaleTypeSizes:true,useResolvedTheme:Lu});function db(e){return e.storage===void 0?{...e,storage:yi()}:e}i(db,"withWebDefaults");var cb=Object.freeze({platform:"web",withDefaults:db,theme:gn});function pb(e){return react.createElement(Fu,{...e,seams:cb})}i(pb,"EverfurProvider");function zt(e){let{runtime:t}=ee(),r=t.entitlements,n=react.useSyncExternalStore(r.subscribe,r.getSnapshot,r.getSnapshot);return react.useMemo(()=>bl(e,n.decisions,{isPending:n.isPending}),[e,n])}i(zt,"useCapability");var bi=class bi extends react.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(bi,"HostRenderBoundary");var hi=bi;function gb({render:e}){return e()}i(gb,"RenderHost");function St({render:e,fallback:t,resetKey:r}){return react.createElement(hi,{fallback:t,resetKey:r,children:react.createElement(gb,{render:e})})}i(St,"HostRender");function Vu(e,t,r){return Math.round(r*Mu(e,t)*10)/10}i(Vu,"tierPx");var ju='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',hb="System";function vi(e){let t=e.trim();return t.length===0||t===hb?ju:`${$u(t)}, ${ju}`}i(vi,"cssFontFamily");function bb(e){let t=e.trim();return t.length===0||t==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${$u(t)}, ui-monospace, Menlo, Consolas, monospace`}i(bb,"cssMonoFamily");function $u(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}i($u,"quote");function P(e,t){let r=e.type,n=r.families[t];return {fontFamily:t==="mono"||t==="monoMedium"||t==="monoBold"?bb(n):vi(n),fontWeight:r.namedFaces[t]?r.weight.regular:r.weight[vr[t]]}}i(P,"faceCss");var hn=Object.freeze({textAlign:"start"});var vb=48;function Eb(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}i(Eb,"selectView");function Ci(e){let{capability:t,children:r,renderDisabled:n,renderPending:o,style:a,className:s}=e,l=zt(t),u=react.useMemo(()=>Eb(l),[l]);switch(u){case "enabled":return r;case "pending":return o?jsxRuntime.jsx(St,{render:o,fallback:jsxRuntime.jsx(Wu,{capability:t,style:a,className:s})}):jsxRuntime.jsx(Wu,{capability:t,style:a,className:s});case "disabled":return n?jsxRuntime.jsx(St,{render:()=>n(l),fallback:jsxRuntime.jsx(Ku,{decision:l,style:a,className:s}),resetKey:l}):jsxRuntime.jsx(Ku,{decision:l,style:a,className:s});default:return ot(u)}}i(Ci,"CapabilityGate");function Wu({capability:e,style:t,className:r}){let n=z(),o=react.useMemo(()=>Gu(n),[n]);return jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":`Loading ${e}`,className:r,style:{...o.offstate,...t},children:jsxRuntime.jsx("div",{style:o.skeletonBar})})}i(Wu,"PendingSkeleton");function Ku({decision:e,style:t,className:r}){let n=z(),o=react.useMemo(()=>Gu(n),[n]),a=e.disabled?.reason??"";return jsxRuntime.jsx("div",{className:r,style:{...o.offstate,...t},children:a.length>0?jsxRuntime.jsx("p",{style:o.offstateText,children:a}):null})}i(Ku,"OffState");function Gu(e){let{color:t,space:r,radius:n,type:o}=e;return {offstate:{...hn,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(Gu,"makeStyles");var h=Object.freeze({placeholder:"Ask anything about {petName}\u2026",placeholderFollowUpWeb:"Ask a follow-up\u2026",placeholderUrgentWeb:"Tell us what\u2019s happening\u2026",composerLabel:"Message",attachPhotoOrFileNative:"Add a photo or file",footnoteNative:"Educational, not a diagnosis. Emergency? Call a vet.",footnoteWeb:"Everfur\u2019s assistant isn\u2019t a vet and doesn\u2019t diagnose. Your vet makes the calls. Not for emergencies: if {petName} is in distress, go to the nearest emergency animal hospital now.",suggestions:"Suggestions",reading:"Reading {petName}\u2019s records\u2026",answered:"Everfur answered.",assistantName:"Everfur",followUpsHeadingNative:"Follow-up questions",turnFailedTitleWeb:"Everfur couldn\u2019t answer that just now.",send:"Send",stop:"Stop",retry:"Try again",poweredBy:"powered by everfur",senderUser:"You",senderAssistant:"Assistant",senderVet:"Your vet",loading:"Loading",empty:"No messages yet",transcript:"Chat with Everfur",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",nearestEmergencyVet:"Nearest emergency vet",poisonControlWeb:"ASPCA Poison Control",poisonControlNative:"ASPCA Animal Poison Control, (888) 426-4435",showLatestVetAlert:"Show latest vet alert",dismissBanner:"Dismiss {label} banner",openHistoryNative:"Chats and vet messages",openHistoryWeb:"Chats",showChatsWeb:"Show chats",hideChatsWeb:"Hide chats",newReplySuffix:", a new reply",yourPets:"Your pets",yourPet:"Your pet",switchActivePet:"{name}. Switch pet",petCurrentlyActive:"{name}, currently active",switchToPet:"Switch to {name}",activePrefix:"Active \xB7 ",close:"Close",addAnotherPet:"Add a 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");function Cb(e){return e?.trim()||h.emptyTitlePetFallback}i(Cb,"petNameSlot");function Tt(e,t){return G(e,{petName:Cb(t)})}i(Tt,"forPet");var qu="tel:+18884264435";var xi=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"})]),Yu=Object.freeze([Object.freeze({sentiment:"up",label:h.feedbackHelpful}),Object.freeze({sentiment:"neutral",label:h.feedbackNeutral}),Object.freeze({sentiment:"down",label:h.feedbackNotHelpful})]);function xb(e){switch(e){case "up":return "helpful";case "neutral":return "neutral";case "down":return "not_helpful"}}i(xb,"sentimentToFeedbackType");function Xu(e,t){if(e==="down"&&t!==null){let r=xi.find(n=>n.key===t);if(r!==void 0)return r.feedbackType}return xb(e)}i(Xu,"feedbackTypeFor");var kb=Object.freeze({status:"idle",messages:Object.freeze([]),conversationId:null,error:null,isStreaming:false,isBootstrapping:true,suggestedPrompts:Object.freeze([]),unreadCount:null});function Cr(e){let{runtime:t,userRef:r,activePet:n,scopeEpoch:o}=ee(),a=e?.petRef??n??null,s=e?.conversationId??null,l=react.useMemo(()=>({runtime:t,userRef:r,petRef:a,conversationId:s,scopeEpoch:o}),[t,r,a,s,o]),[u,d]=react.useState(null),c=u?.scope===l?u.controller:t.registry.peekChat({userRef:r,petRef:a,conversationId:s}),p=react.useRef(null);react.useEffect(()=>{let _=t.registry.acquireChat({userRef:r,petRef:a,conversationId:s});return p.current=_,d({scope:l,controller:_}),()=>{p.current=null,d(x=>x?.controller===_?null:x),t.registry.releaseChat(_);}},[t,r,a,s,o,l]);let f=react.useCallback(_=>c?c.subscribe(_):Pb,[c]),m=react.useCallback(()=>c?c.getSnapshot():kb,[c]),y=react.useSyncExternalStore(f,m,m),E=react.useCallback((_,x)=>c&&p.current===c&&!c.getSnapshot().isBootstrapping?Si(c,c.send(_,x?.imageS3Keys===void 0?{}:{imageS3Keys:x.imageS3Keys}),()=>p.current===c):Promise.resolve(Ti()),[c]),g=react.useCallback(_=>c&&p.current===c&&!c.getSnapshot().isBootstrapping?Si(c,c.askEverfur(_),()=>p.current===c):Promise.resolve(Ti()),[c]),v=react.useCallback(()=>c&&p.current===c?Si(c,c.retryLast(),()=>p.current===c):Promise.resolve(Ti()),[c]),S=react.useCallback(()=>{c&&p.current===c&&c.stop();},[c]),w=react.useCallback(()=>{c&&p.current===c&&c.newConversation();},[c]),[T,b]=react.useState({controller:null,byMessage:{}}),k=T.controller===c?T.byMessage:_b,I=react.useCallback(async(_,x,R,A)=>{if(!c||p.current!==c)return C(D("accessDenied"));let F=String(_),B=T.controller===c?T.byMessage[F]:void 0;if(B===x&&R==null)return b(oe=>{let X={...oe.controller===c?oe.byMessage:{}};return delete X[F],{controller:c,byMessage:X}}),M(Object.freeze({feedbackId:""}));b(oe=>({controller:c,byMessage:{...oe.controller===c?oe.byMessage:{},[F]:x}}));let K=await c.submitFeedback(_,Xu(x,R??null),A??null);return p.current!==c?C(D("accessDenied")):(K.ok||b(oe=>{let X={...oe.controller===c?oe.byMessage:{}};return B===void 0?delete X[F]:X[F]=B,{controller:c,byMessage:X}}),K)},[c,T]),O=react.useMemo(()=>{let _=i(async x=>{if(!c||p.current!==c)return C(D("accessDenied"));let R=await x(c);return p.current===c?R:C(D("accessDenied"))},"run");return {listConversations:i(x=>_(R=>R.listConversations({...a?{petRef:a}:{},...x})),"listConversations"),getMessages:i((x,R)=>_(A=>A.getMessages(x,R)),"getMessages"),resumeConversation:i(x=>_(R=>R.resumeConversation(x)),"resumeConversation"),loadOlderMessages:i(()=>_(x=>x.loadOlderMessages()),"loadOlderMessages"),markRead:i(()=>_(x=>x.markRead()),"markRead"),refreshActiveThread:i(()=>_(x=>x.refreshActiveThread()),"refreshActiveThread"),answerCheckin:i((x,R)=>_(A=>A.answerCheckin(x,R)),"answerCheckin"),openCheckin:i(x=>_(R=>R.openCheckin(x)),"openCheckin")}},[c,a]);return react.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:w,sentimentByMessage:k,feedback:I,send:E,askEverfur:g,retryLast:v,stop:S}),[y,a,E,g,v,S,O,w,k,I])}i(Cr,"useEverfurChat");var Pb=i(()=>{},"NOOP_UNSUBSCRIBE"),_b=Object.freeze({});async function Si(e,t,r){for await(let o of t);if(!r())return C(D("accessDenied"));let n=e.getSnapshot();return n.status==="error"&&n.error!==null?C(n.error):M(wb(n.messages))}i(Si,"driveToResult");function wb(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(wb,"lastAssistantResponseId");function Ti(){return C(D("internalError",{retryable:true}))}i(Ti,"notReadyError");function ed(e){switch(e.code){case "too_large":return G(h.attachmentTooLarge,{max:Lo(Xr),filename:e.filename,size:Lo(e.sizeBytes??0)});case "too_many":return G(h.attachmentTooMany,{max:Qr});case "unsupported_type":return G(h.attachmentUnsupported,{filename:e.filename});case "network":return h.attachmentNetwork;case "server":return G(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(ed,"attachmentErrorMessage");function td(e,t){return G(e>=t?h.attachmentsFull:h.addAttachment,{used:e,total:t})}i(td,"attachControlLabel");var Fb=Object.freeze({attachments:Object.freeze([])});function bn(e={}){let{runtime:t,userRef:r,scopeEpoch:n}=ee(),o=e.maxPerMessage??Qr,a=react.useCallback(()=>{let{services:b}=t.registry;return Ks({funnel:Te({auth:b.authFor(r),...b.errorPolicy?{errorPolicy:b.errorPolicy}:{}}),transport:e.transport??b.uploadTransport,maxPerMessage:o})},[t,r,n,o,e.transport]),s=react.useMemo(()=>e.queue??a(),[e.queue,a]),l=react.useRef(new WeakSet),[u,d]=react.useState(null),c=u!==null&&u.of===s?u.queue:s;react.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=react.useSyncExternalStore(c.subscribe,c.getSnapshot,()=>Fb),[f,m]=react.useState(null),y=react.useCallback(b=>{let I=(Array.isArray(b)?b:[b]).map(_=>c.add(_)),O=I.find(_=>!_.ok);return O!==void 0&&!O.ok&&m(O.error),I},[c,m]),E=react.useCallback(b=>c.retry(b),[c]),g=react.useCallback(b=>c.remove(b),[c]),v=react.useCallback(()=>c.clear(),[c]),S=react.useCallback(()=>m(null),[m]),w=p.attachments.some(b=>b.status==="uploading"),T=p.attachments.some(b=>b.status==="failed");return react.useMemo(()=>({available:c.available,attachments:p.attachments,maxPerMessage:o,uploading:w,failed:T,blocked:w||T,s3Keys:p.attachments.flatMap(b=>b.status==="uploaded"&&b.s3Key!==null?[b.s3Key]:[]),rejected:f,add:y,retry:E,remove:g,clear:v,dismissRejected:S}),[c.available,p,o,w,T,f,y,E,g,v,S])}i(bn,"useChatAttachments");var Lb="pet_not_registered";function od(e){return e!=null&&e.reasonCode===Lb}i(od,"isPetNotRegistered");var Nb=Object.freeze({status:"idle",error:null,registered:null,retry:i(()=>{},"retry")});function id(e,t,r){let{runtime:n,userRef:o,scopeEpoch:a}=ee(),s=react.useCallback(()=>it(n.registry.services.authFor(o)),[n,o,a]),l=react.useMemo(()=>t===void 0?null:Pi(t),[t]),[u,d]=react.useState({key:null,status:"idle",error:null,registered:null}),c=react.useRef(0),p=react.useRef(r);p.current=r;let f=e===null||l===null?null:`${String(o)}|${a}|${e}|${l}`,m=react.useCallback(()=>{if(e===null||t===void 0||f===null)return;let E=++c.current;d({key:f,status:"registering",error:null,registered:null}),s().registerPet(e,t).then(g=>{E===c.current&&(g.ok?(d({key:f,status:"registered",error:null,registered:g.value}),p.current?.()):d({key:f,status:"failed",error:g.error,registered:null}));});},[s,e,f]);react.useEffect(()=>{if(f===null){c.current+=1;return}return m(),()=>{c.current+=1;}},[f,m]);let y=react.useCallback(()=>{u.status==="failed"&&m();},[u.status,m]);return react.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(id,"useChatPetRegistration");function Pi(e){return e===null||typeof e!="object"?JSON.stringify(e)??"undefined":Array.isArray(e)?`[${e.map(Pi).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)}:${Pi(n)}`).join(",")}}`}i(Pi,"stableKey");var Hb=500;function _i(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,Hb):null}i(_i,"sanitizeSeedPrompt");function sd(e,t,r){let n=_i(r),o=react.useRef(e);o.current=e;let a=react.useRef(null);react.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(sd,"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 ld(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(ld,"decideChatRefresh");function wi(e){let t=globalThis.console;try{t?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}i(wi,"reportHostFailure");function Bb(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}i(Bb,"isThenable");function de(e,...t){if(typeof e=="function")try{let r=e(...t);return Bb(r)&&Promise.resolve(r).then(void 0,wi),r}catch(r){wi(r);return}}i(de,"callHost");function ud(e,...t){let r;try{r=e(...t);}catch(n){return wi(n),Promise.resolve({ok:false,error:n})}return Promise.resolve(r).then(n=>({ok:true,value:n}),n=>({ok:false,error:n}))}i(ud,"callHostAsync");function cd(e,t){let r=react.useRef(t);r.current=t;let n=react.useRef(null),o=react.useRef(null),a=e?.isOffline===void 0?false:de(()=>e.isOffline?.()===!0)===true,s=react.useRef(()=>{});s.current=l=>{let{conversationId:u,isTurnInFlight:d,refresh:c}=r.current,p=ld(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(()=>{});}},react.useEffect(()=>{if(t.isTurnInFlight||a)return;let l=o.current;l!==null&&s.current(l);},[t.isTurnInFlight,a]),react.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(cd,"useChatLifecycle");function Vb(e){if(e===void 0)return null;let t=e.conversationId??"",r=e.petRef??"";return t===""&&r===""?null:`${String(t)}|${String(r)}`}i(Vb,"targetKey");function fd(e,t){let r=Vb(t),n=react.useRef({openCheckin:e,target:t});n.current={openCheckin:e,target:t};let o=react.useRef(null);react.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(fd,"useCheckinTarget");var $=Object.freeze({heading:"Chats",empty:"No chats yet",emptyBody:"Start a new conversation to see it here.",noMatch:"No chats match that.",loading:"Loading your chats\u2026",loadFailed:"Couldn\u2019t load your chats",loadingMore:"Loading more\u2026",untitled:"New conversation",newChat:"New chat",searchPlaceholder:"Search chats\u2026",search:"Search chats",countLabel:"Chats and vet messages",countSeparator:" \xB7 ",newReply:"New reply \xB7 {date}",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 En(e){let t=e?.replace(/\s+/g," ").trim();return t||$.untitled}i(En,"conversationTitle");function qb(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleDateString([],{month:"short",day:"numeric"})}i(qb,"conversationDate");function yd(e){let t=qb(e.updatedAt);return t===null?null:e.unreadCount!==null&&e.unreadCount>0?$.newReply.replace("{date}",t):t}i(yd,"conversationMeta");function gd(e,t){return t?`${$.countLabel}${$.countSeparator}${e}`:$.countLabel}i(gd,"historyCountLabel");function hd(e){return `${e.unreadCount!==null&&e.unreadCount>0?$.unreadPrefix:""}${$.openConversation} ${En(e.title)}`}i(hd,"openConversationLabel");function md(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\u2018\u2019]/g,"'").replace(/[\u201c\u201d]/g,'"').toLowerCase().trim().replace(/\s+/g," ")}i(md,"normalizeForSearch");function Yb(e,t){let r=md(t);if(r.length===0)return e;let n=[[],[],[]];for(let o of e){let a=md(En(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(Yb,"filterConversations");function Ai(e){return {scope:e,rows:[],cursor:null,loading:false,loadingMore:false,error:null}}i(Ai,"fresh");function bd(e){let[t,r]=react.useState(false),[n,o]=react.useState(""),a=e.listConversations,s=react.useRef(0),[l,u]=react.useState(()=>Ai(a)),d=l.scope===a?l:Ai(a);react.useEffect(()=>(s.current+=1,r(false),o(""),u(Ai(a)),()=>{s.current+=1;}),[a]);let c=react.useCallback(async w=>{let T=++s.current,b=w!==void 0;u(I=>({...I,scope:a,loading:!b,loadingMore:b,error:null}));let k=await e.listConversations(w?{cursor:w}:void 0);if(T===s.current){if(!k.ok){u(I=>({...I,loading:false,loadingMore:false,error:k.error.displayMessage}));return}u(I=>{let O=w&&I.scope===a?I.rows:[],_=new Set(O.map(x=>x.id));return {scope:a,loading:false,loadingMore:false,error:null,rows:[...O,...k.value.conversations.filter(x=>!_.has(x.id))],cursor:k.value.nextCursor===w?null:k.value.nextCursor}});}},[e.listConversations,a]),p=i(()=>{r(true),o(""),c();},"show"),f=i(()=>{s.current+=1,r(false);},"close"),m=i(async w=>{let T=++s.current;u(k=>({...k,loading:true,error:null}));let b=await e.resumeConversation(w);T===s.current&&(u(k=>({...k,loading:false,error:b.ok?null:b.error.displayMessage})),b.ok&&r(false));},"resume"),y=i(async()=>{let w=s.current,T=await e.loadOlderMessages();w===s.current&&!T.ok&&u(b=>({...b,error:T.error.displayMessage}));},"earlier"),E=i(()=>{e.newConversation(),s.current+=1,r(false);},"newConversation"),g=i(()=>{d.cursor===null||d.loading||d.loadingMore||n.trim().length>0||c(d.cursor);},"loadMore"),v=react.useMemo(()=>Yb(d.rows,n),[d.rows,n]),S=n.trim().length>0;return {...d,open:t,show:p,close:f,load:c,resume:m,earlier:y,newConversation:E,loadMore:g,query:n,setQuery:o,searching:S,filtered:v,emptyKind:d.rows.length===0?"empty":"noMatch"}}i(bd,"useHistoryPanel");var Cn="#111111",xn="#FFFFFF",Zb=Object.freeze({emergency:Object.freeze({level:"emergency",label:"Call a vet now",borderColor:"#FCA5A5",backgroundColor:"#FEF2F2",textColor:"#991B1B",reasonColor:Cn,pillColor:xn,showsVetAction:true}),schedule_soon:Object.freeze({level:"schedule_soon",label:"Vet care suggested soon",borderColor:"#FCD34D",backgroundColor:"#FFFBEB",textColor:"#92400E",reasonColor:Cn,pillColor:xn,showsVetAction:true}),home_care:Object.freeze({level:"home_care",label:"Monitor at home",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:Cn,pillColor:xn,showsVetAction:false}),general:Object.freeze({level:"general",label:"Good to know",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:Cn,pillColor:xn,showsVetAction:false})});function Jb(e){return `${e.messageId}:${e.level}:${e.reason??""}`}i(Jb,"urgencySignature");function ev(e){return G(h.urgencyGeneralReason,{petName:e?.trim()||h.emptyTitlePetFallback})}i(ev,"generalUrgencyReason");function Cd(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:tv(n.urgencyReason)}:n.urgencyProvided===true?{messageId:n.id,level:"general",reason:ev(t)}:null}return null}i(Cd,"latestUrgencySource");function tv(e){return typeof e=="string"&&e.trim().length>0?e:null}i(tv,"shownReason");function xd(e){let t=e===null?null:Jb(e),[r,n]=react.useState(null),[o,a]=react.useState(false);react.useEffect(()=>a(false),[t]);let l=e!==null&&(o||!(r!==null&&r===t)),u=e===null?null:Zb[e.level],d=e!==null&&!l&&e.level!=="general",c=react.useCallback(()=>{t!==null&&n(t),a(false);},[t]),p=react.useCallback(()=>a(true),[]);return react.useMemo(()=>({source:e,tier:u,signature:t,showBanner:l,showCompactIcon:d,showVetAction:l&&u!==null&&u.showsVetAction,dismissLabel:u===null?null:G(h.dismissBanner,{label:u.label}),dismiss:c,expand:p}),[e,u,t,l,d,c,p])}i(xd,"useUrgencySurface");function Rd(e){return e.isBootstrapping?"loading":e.status==="error"&&e.error&&e.messages.length===0?"error":e.messages.length===0?"empty":"populated"}i(Rd,"selectView");function rv(e){return e.code==="accessDenied"||e.code==="conversationNotFound"}i(rv,"needsNewConversation");function Sd(e,t="native"){if(e.messages.length===0)return null;let r=e.status==="error"?e.error:null;if(r!==null){let n=rv(r),o=t==="web";return {tone:"error",title:n?h.turnUnreachableTitle:o?h.turnFailedTitleWeb:h.turnFailedTitle,body:r.displayMessage,actionLabel:n?h.turnStartNewChat:o?h.retry:h.turnRetry,action:n?"startNew":"retry"}}return e.stopped===true?{tone:"neutral",title:h.turnStoppedTitle,body:h.turnStoppedBody,actionLabel:h.turnRetry,action:"retry"}:null}i(Sd,"turnNotice");function Rn(e,t){let r=e[e.length-1];return t&&(r===void 0||r.role==="user")}i(Rn,"awaitingAssistant");var nv=3,ov=Object.freeze([]);function Td(e){let t=e.messages[e.messages.length-1];if(e.isStreaming||e.status==="error"||t===void 0||t.role!=="assistant")return ov;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===nv))break}return Object.freeze(n)}i(Td,"visibleFollowUps");function kd(e){return e.sender?.displayName??h.senderVet}i(kd,"vetSenderLabel");function Pd(e,t){let r={};return e!==void 0&&(r.petRef=e),t!==void 0&&(r.conversationId=t),r}i(Pd,"buildChatOpts");function Sn(){let{runtime:e,userRef:t,activePet:r,scopeEpoch:n}=ee(),o=react.useMemo(()=>it(e.registry.services.authFor(t)),[e,t,n]),[a,s]=react.useState({repository:o,pets:[],loading:true,error:null}),l=a.repository===o?a:{pets:[],loading:true,error:null},u=react.useRef(0),d=react.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]);react.useEffect(()=>(d(),()=>{u.current+=1;}),[d]);let c=react.useMemo(()=>r===null?null:l.pets.find(p=>p.petRef===r)??null,[r,l.pets]);return react.useMemo(()=>({pets:l.pets,activePet:c,loading:l.loading,error:l.error,refresh:d}),[l.pets,l.loading,l.error,c,d])}i(Sn,"useEverfurPets");function _d(e,t){if(t!==null){let r=e.find(n=>n.petRef===t);if(r!==void 0)return r}return e[0]??null}i(_d,"headerPetOf");var ut=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 xr=2,dv="data-ef-focus-ring",wd="data-ef-focus-ring-color";function Fi(e){return {outline:`${xr}px solid ${e}`,outlineOffset:xr}}i(Fi,"focusRingStyle");var kn=false,Tn=0;function Id(e){e.metaKey||e.ctrlKey||e.altKey||(kn=true);}i(Id,"onKeyDown");function Ut(){kn=false;}i(Ut,"onPointerDown");function cv(){return typeof document>"u"?()=>{}:(Tn===0&&(document.addEventListener("keydown",Id,true),document.addEventListener("pointerdown",Ut,true),document.addEventListener("mousedown",Ut,true),document.addEventListener("touchstart",Ut,true)),Tn+=1,()=>{Tn-=1,!(Tn>0)&&(document.removeEventListener("keydown",Id,true),document.removeEventListener("pointerdown",Ut,true),document.removeEventListener("mousedown",Ut,true),document.removeEventListener("touchstart",Ut,true),kn=false);})}i(cv,"bindModality");var pv=new Set(["","text","search","email","tel","url","password","number"]);function fv(e){return e.tagName==="TEXTAREA"||e.isContentEditable?true:e.tagName!=="INPUT"?false:pv.has((e.getAttribute("type")??"").toLowerCase())}i(fv,"isTextField");function Ad(e,t){react.useEffect(()=>{let r=e.current;if(r===null)return;let n=cv(),o=new Map,a=i(l=>{let u=l.target;if(!(u instanceof HTMLElement)||o.has(u)||u.closest(`[${dv}="self"]`)!==null||!kn&&!fv(u))return;o.set(u,{outline:u.style.outline,outlineOffset:u.style.outlineOffset});let d=u.closest(`[${wd}]`),c=Fi(d?.getAttribute(wd)||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(Ad,"useKeyboardFocusRing");function Od(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(Od,"chatVetVisitOptions");var Fd=Symbol.for("@everfur/sdk/televet");function Xe(){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(Xe,"televetGlobal");function Pn(e){let t=Xe();t.snapshot=Object.freeze({...t.snapshot,...e});for(let r of [...t.listeners])try{r();}catch{}}i(Pn,"publish");function Md(e){let t=Xe().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 Dd(e){let t=Xe();return t.listeners.add(e),()=>{t.listeners.delete(e);}}i(Dd,"subscribeTelevetExperience");function Mi(){return Xe().snapshot}i(Mi,"televetExperienceSnapshot");function mv(){return Xe().hosts.length>0}i(mv,"hasTelevetHost");function Ld(e){if(!mv())return false;let t=Object.freeze({...e});return Pn({request:t,serial:Xe().snapshot.serial+1}),true}i(Ld,"presentTelevetExperience");function Di(){Xe().snapshot.request!==null&&Pn({request:null});}i(Di,"dismissTelevetExperience");function Nd(){let e=Xe(),t=e.nextHost;return e.nextHost+=1,e.hosts=[...e.hosts,t],Pn({activeHost:e.hosts[0]??null}),t}i(Nd,"claimTelevetHost");function zd(e){let t=Xe();t.hosts=t.hosts.filter(n=>n!==e);let r=t.hosts[0]??null;Pn(r===null?{activeHost:r,request:null}:{activeHost:r});}i(zd,"releaseTelevetHost");function Bd(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(Bd,"memoizeTelevetLoader");function jd(e){let[t,r]=react.useState(null);react.useEffect(()=>{let d=Nd();return r(d),()=>{zd(d);}},[]);let n=react.useSyncExternalStore(Dd,Mi,Mi),a=t!==null&&n.activeHost===t?n.request:null,[s,l]=react.useState(null),u=a!==null&&s===null;return react.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),Di());}),()=>{d=false;}},[u,e]),a===null||s===null?null:{module:s,request:a,serial:n.serial,dismiss:Di}}i(jd,"useTelevetExperienceHost");var gv=Bd(()=>import('@everfur/sdk/web/televet/booking'));function Vd({onAddToCalendar:e}){let t=jd(gv);if(t===null)return null;let{EverfurTelevetDialog:r}=t.module;return jsxRuntime.jsx(r,{request:t.request,onClose:t.dismiss,...e?{onAddToCalendar:e}:{}},t.serial)}i(Vd,"EverfurTelevetHost");var Li=Object.freeze(["visit","join","summary","messages"]);function Ni(e){return typeof e=="string"&&Li.includes(e)}i(Ni,"isVetVisitIntent");var bv="/widget/v1/televet/handoffs",vv="/widget/v1/televet/availability",Ev="/widget/v1/televet/chat-entry",Cv=/^[a-z0-9][a-z0-9_-]{0,39}$/,xv=/^[A-Za-z0-9_-]{22}$/;var $d=32,Wd=128,Kd=64;function Hi(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(Hi,"vetVisitErrorReasonOf");function Gd(e){return C(D("validationFailed",{retryable:false,wireMessage:e}))}i(Gd,"invalid");function zi(e){return C(D("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}i(zi,"unusable");function Rv(e,t){let r={};e!==void 0&&(r.pet_ref=e);let n=t?.returnTo;if(n!=null){if(typeof n!="string"||!Cv.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(!Ni(s))return {ok:false,message:`intent must be one of ${Li.join(", ")}`};r.intent=s;}return {ok:true,body:r}}i(Rv,"handoffBody");function Sv(e){if(typeof e!="object"||e===null)return null;let{visit_ref:t,intent:r}=e;return typeof t!="string"||t.length===0||!Ni(r)?null:Object.freeze({visitRef:t,intent:r})}i(Sv,"parseVisitEcho");function Yd(e){let t=e.funnel??Te({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),r=e.telemetry,n=i(o=>(qd(r,"televet.visit.handoff_failed",{reason:Hi(o)}),C(o)),"failed");return {async createHandoff(o,a){let s;if(o!=null){let g=typeof o=="string"?[...o].length:0;if(g<1||g>Wd)return n(D("validationFailed",{retryable:false,wireMessage:`pet_ref must be 1..${Wd} characters`}));s=o;}let l=Rv(s,a);if(!l.ok){let g=Gd(l.message);return g.ok?g:n(g.error)}let u=l.body,d=await t.send("televet.visit.handoff",{method:"POST",path:bv,body:u},{idempotent:false,maxAttempts:1});if(!d.ok)return n(d.error);let c=Tv(d.value),p=u.return_to!==void 0,f=p?d.value?.flow_id:void 0;if(p&&(typeof f!="string"||!xv.test(f))){let g=zi("the handoff response carried no usable return flow id");return g.ok?g:n(g.error)}let m=u.visit_ref!==void 0,y=m?Sv(d.value?.visit):null;if(m&&y===null){let g=zi("the handoff response did not confirm the visit it opens");return g.ok?g:n(g.error)}let E=c===null?null:Object.freeze({...c,...p?{flowId:f}:{},...y!==null?{visit:y}:{}});return E===null?n(D("internalError",{retryable:false,httpStatus:502,wireMessage:"the handoff response carried no usable visit url"})):(qd(r,"televet.visit.handoff_created",{pet_scoped:u.pet_ref!==void 0}),M(E))},async checkAvailability(o){if(typeof o!="string"||o.length>$d)return Gd(`state must be at most ${$d} characters`);let a=await t.send("televet.visit.availability",{method:"POST",path:vv,body:{state:o}},{idempotent:false,maxAttempts:1});if(!a.ok)return C(a.error);let s=a.value?.available;return typeof s!="boolean"?zi("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:Ev},{maxAttempts:1});return o.ok&&o.value?.open===!0}catch{return false}}}}i(Yd,"createVetVisitController");function Tv(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||!wv(t)?null:Object.freeze({url:t,expiresAt:r})}i(Tv,"parseHandoff");var kv=new Set(["localhost","127.0.0.1","[::1]"]),Pv=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/,_v=/[\s\u0000-\u001f\u007f]/;function wv(e){if(_v.test(e))return false;let t=Pv.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"&&kv.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(wv,"isOpenableVisitUrl");function qd(e,t,r){if(e)try{e.track(t,r);}catch{}}i(qd,"safeTrack");var Xd=false;function Qd(e,t){return t!==void 0?(de(t,e),"onStartInApp"):Md(e)==="presented"?"presenter":Ld(e)?"experience":(Xd||(Xd=true,console.warn("[everfur] A vet visit had nowhere to open: mount <EverfurTelevetHost /> in your EverfurProvider, or pass prefer: 'redirect'.")),null)}i(Qd,"openVetVisitInApp");var Ui=Object.freeze({status:"idle",error:null,errorReason:null});function Av(e,t,r){let{usState:n,chat:o,scope:a}=r,s=t&&(n!==null||o),l=`${n??""}|${o?"chat":""}`,[u,d]=react.useState(null);if(react.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(Av,"usePreflight");var Ov=Object.freeze({status:"opening",error:null,errorReason:null});function ec(e,t={}){let{runtime:r,userRef:n,scopeEpoch:o}=ee(),a=zt("televet"),s=a.enabled&&n!==null,l=t.usState??null,u=t.entry==="chat",d=t.petRef??null,c=t.prefer==="redirect",p=react.useMemo(()=>{if(t.controller)return t.controller;let{services:R}=r.registry;return Yd({auth:R.authFor(n),telemetry:R.telemetry,...R.errorPolicy?{errorPolicy:R.errorPolicy}:{}})},[r,n,o,t.controller]),f=react.useRef(p);f.current=p;let m=react.useMemo(()=>({runtime:r,userRef:n,scopeEpoch:o}),[r,n,o]),y=Av(f,s,{usState:l,chat:u,scope:m}),E=s&&(y===null||y.open)&&(!u||d!==null),g=t.returnTo??null,[v,S]=react.useState(Ui),w=react.useRef(null),T=react.useRef({runtime:r,userRef:n,scopeEpoch:o});T.current={runtime:r,userRef:n,scopeEpoch:o};let b=react.useRef(p);b.current=p;let k=react.useRef(E);k.current=E;let I=react.useCallback((R,A)=>{if(w.current)return w.current;let F=i((W,Ce)=>(S({status:W==="cancelled"?"idle":"error",error:Ce,errorReason:W==="cancelled"?null:W}),Object.freeze({opened:false,reason:W,error:Ce})),"fail");if(!k.current)return Promise.resolve(F("unavailable",null));let B=e.prepare();if(!B.ok)return Promise.resolve(F(B.reason,null));let K=T.current,oe=b.current;S(Ov);let Be=(async()=>{let W,Ce={...g!==null?{returnTo:g}:{},...u?{entry:"chat"}:{},...A!==null?{visitRef:A.visitRef}:{},...A!==null&&A.intent!==null&&A.intent!==void 0?{intent:A.intent}:{}},je=Object.keys(Ce).length===0?void 0:Ce,At=R===void 0?d:R;try{W=await(je===void 0?oe.createHandoff(At):oe.createHandoff(At,je));}catch{return e.abandon(B.value),F("unknown",null)}let rt=T.current;if(rt.runtime!==K.runtime||rt.userRef!==K.userRef||rt.scopeEpoch!==K.scopeEpoch)return e.abandon(B.value),F("cancelled",null);if(!W.ok)return e.abandon(B.value),F(Hi(W.error),W.error);let nt=await e.finish(B.value,W.value);return nt!==null?F(nt,null):(S(Ui),Object.freeze(W.value.flowId===void 0?{opened:true}:{opened:true,flowId:W.value.flowId}))})().finally(()=>{w.current===Be&&(w.current=null);});return w.current=Be,Be},[e,d,g,u]),O=react.useCallback((R,A)=>{if(!k.current)return S({status:"error",error:null,errorReason:"unavailable"}),Promise.resolve(Object.freeze({opened:false,reason:"unavailable",error:null}));let F=R===void 0?d:R,B={...F!==null?{petRef:F}:{},...l!==null?{usState:l}:{},...A!==null?{visitRef:A.visitRef,intent:A.intent}:{}};return Qd(B)===null?(S({status:"error",error:null,errorReason:"unavailable"}),Promise.resolve(Object.freeze({opened:false,reason:"unavailable",error:null}))):(S(Ui),Promise.resolve(Object.freeze({opened:true})))},[d,l]),_=react.useCallback(R=>c?I(R,null):O(R,null),[c,I,O]),x=react.useCallback((R,A)=>c?I(void 0,{visitRef:R,intent:A??null}):O(void 0,{visitRef:R,intent:A??null}),[c,I,O]);return {available:E,isPending:a.isPending||(y?.pending??false),status:v.status,error:v.error,errorReason:v.errorReason,open:_,openVisit:x}}i(ec,"useVetVisitWith");function tc(e){try{e.closed||e.close();}catch{}}i(tc,"closeQuietly");var Fv=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 tc(e),"popupBlocked"}},abandon({tab:e}){tc(e);}});function rc(e){return ec(Fv,e)}i(rc,"useVetVisit");var nc='button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])';function Vi(e){return e.tagName==="DIALOG"}i(Vi,"isDialogElement");function Mv(e,t){if(t.isDefaultPrevented()||t.nativeEvent.isComposing)return false;let r=t.target;return !(r instanceof Element)||r.closest("dialog")===e}i(Mv,"ownsEscape");function Qe(e,t,r,n){let o=n?.escapeAtKeyDown===true,a=react.useRef(null),s=react.useRef(false),l=react.useRef(null),u=react.useRef(r);u.current=r;let d=react.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);},[]);react.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(!Vi(f)){f.contains(document.activeElement)||(f.querySelector(nc)??f).focus();return}let m=f;typeof m.showModal=="function"?m.open||m.showModal():m.setAttribute("open","");},[e,d]),react.useEffect(()=>d,[d]),react.useEffect(()=>{let f=a.current;if(!e||f===null||!Vi(f))return;let m=f;if(typeof m.showModal!="function")return;let y=null,E=i(v=>{v.target instanceof HTMLElement&&(y=v.target);},"onFocusIn"),g=i(()=>{if(!m.isConnected||m.open)return;let v=y;m.showModal(),v!==null&&v.isConnected&&m.contains(v)&&document.activeElement!==v&&v.focus();},"onNativeClose");return m.addEventListener("focusin",E),m.addEventListener("close",g),()=>{m.removeEventListener("focusin",E),m.removeEventListener("close",g);}},[e]);let c=react.useCallback(f=>{let m=a.current;if(m===null)return;if(f.key==="Escape"&&!Vi(m)){f.preventDefault(),f.stopPropagation(),t();return}if(f.key==="Escape"&&o&&Mv(m,f)){f.preventDefault(),t();return}if(f.key!=="Tab")return;let y=Array.from(m.querySelectorAll(nc)),E=y[0],g=y[y.length-1];if(!E||!g){f.preventDefault();return}let v=document.activeElement;f.shiftKey&&(v===E||!m.contains(v))?(f.preventDefault(),g.focus()):!f.shiftKey&&(v===g||!m.contains(v))&&(f.preventDefault(),E.focus());},[t,o]),p=react.useCallback(f=>{f.target===f.currentTarget&&(f.preventDefault(),t());},[t]);return {dialogRef:a,onKeyDown:c,onCancel:p}}i(Qe,"useModalDialog");var Dv=Object.freeze({check:jsxRuntime.jsx("polyline",{points:"20 6 9 17 4 12"}),copy:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),jsxRuntime.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:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M7 10v12"}),jsxRuntime.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:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M17 14V2"}),jsxRuntime.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:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("circle",{cx:"12",cy:"12",r:"10"}),jsxRuntime.jsx("path",{d:"M12 16v-4"}),jsxRuntime.jsx("path",{d:"M12 8h.01"})]}),x:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M18 6 6 18"}),jsxRuntime.jsx("path",{d:"m6 6 12 12"})]}),mapPin:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.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"}),jsxRuntime.jsx("circle",{cx:"12",cy:"10",r:"3"})]}),bookOpen:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M12 7v14"}),jsxRuntime.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:jsxRuntime.jsx("path",{d:"m6 9 6 6 6-6"}),arrowUpRight:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M7 7h10v10"}),jsxRuntime.jsx("path",{d:"M7 17 17 7"})]}),upload:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),jsxRuntime.jsx("polyline",{points:"17 8 12 3 7 8"}),jsxRuntime.jsx("line",{x1:"12",x2:"12",y1:"3",y2:"15"})]}),mic:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"}),jsxRuntime.jsx("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),jsxRuntime.jsx("line",{x1:"12",x2:"12",y1:"19",y2:"22"})]}),square:jsxRuntime.jsx("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),search:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("circle",{cx:"11",cy:"11",r:"8"}),jsxRuntime.jsx("path",{d:"m21 21-4.3-4.3"})]}),squarePen:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),jsxRuntime.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:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),jsxRuntime.jsx("path",{d:"M3 3v5h5"}),jsxRuntime.jsx("path",{d:"M12 7v5l4 2"})]}),plus:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M5 12h14"}),jsxRuntime.jsx("path",{d:"M12 5v14"})]}),phone:jsxRuntime.jsx("path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"}),alert:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),jsxRuntime.jsx("path",{d:"M12 9v4"}),jsxRuntime.jsx("path",{d:"M12 17h.01"})]}),send:jsxRuntime.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"})}),Lv=Object.freeze({send:Object.freeze({viewBox:"0 0 17.3973 19.8995"})});function U({name:e,size:t,color:r,fill:n,strokeWidth:o,style:a}){let s=Lv[e];return jsxRuntime.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:Dv[e]})}i(U,"Glyph");var Bt=44,In=36,zv=12,Hv=16,oc="#FFFFFF";function ic({image:e,onClose:t,returnFocusTo:r}){let n=z(),o=react.useMemo(()=>Uv(n),[n]),a=Qe(e!==null,t,r);return e===null?null:jsxRuntime.jsxs("dialog",{ref:a.dialogRef,"aria-label":G(h.previewAttachment,{filename:e.filename}),onCancel:a.onCancel,onKeyDown:a.onKeyDown,style:o.lightbox,"data-ef-focus-ring-color":oc,children:[jsxRuntime.jsx("img",{src:e.uri,alt:e.filename,style:o.image}),jsxRuntime.jsx("button",{type:"button",onClick:t,"aria-label":h.closePreview,style:o.closeHit,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:o.closeDisc,children:jsxRuntime.jsx(U,{name:"x",size:18,color:oc})})})]})}i(ic,"AttachmentImageLightbox");function Uv(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:zv-(Bt-In)/2,right:Hv-(Bt-In)/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:In,height:In,borderRadius:t.pill,backgroundColor:"rgba(0,0,0,0.45)",display:"inline-flex",alignItems:"center",justifyContent:"center"}}}i(Uv,"makeStyles");var jv="file",Vv="chat attachment upload: the file handle carries no bytes",$i="chat attachment upload failed";function On(e={}){let t=e.fetch??((r,n)=>fetch(r,n));return Object.freeze({postMultipart(r,n,o){let a=n.blob;if(a===void 0)return Promise.reject(new Error(Vv));if(o.signal?.aborted===true)return Promise.reject(new Error($i));let s=new FormData;for(let[l,u]of Object.entries(r.upload_fields))s.append(l,u);return s.append(jv,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($i));o.onProgress?.(1);},()=>Promise.reject(new Error($i)))}})}i(On,"createWebAttachmentTransport");function Fn(e){return Object.freeze({uri:URL.createObjectURL(e),mimeType:e.type,sizeBytes:e.size,name:e.name,blob:e})}i(Fn,"fileToAttachmentHandle");function Sr(e){try{URL.revokeObjectURL(e);}catch{}}i(Sr,"revokeObjectUrl");function Wi(e){return sr(e)==="cat"?"cat":"dog"}i(Wi,"speciesOf");function Ki(e){return typeof e!="number"||!Number.isFinite(e)||e<0?null:Math.floor(e)}i(Ki,"petAgeYears");function sc(e){let t=Ki(e.ageYears),r=Wi(e.species)==="cat"?"Cat":"Dog";if(t==null)return r;let n=t===1?"1 yr":`${t} yrs`;return `${r} \xB7 ${n}`}i(sc,"formatPetMeta");var ac=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 $v(e){let t=0;for(let r=0;r<e.length;r+=1)t=t*31+e.charCodeAt(r)>>>0;return ac[t%ac.length]}i($v,"pickInitialsPalette");function Gi(e){let t=(e??"").trim();return (Array.from(t)[0]??"?").toUpperCase()}i(Gi,"getInitial");function Mn(e){return {...$v(e.petRef),initial:Gi(e.name)}}i(Mn,"petInitials");var lc=Object.freeze({visitButton:"Vet"});var Dn=44,qi=44,Ln=48,Kv=18,uc=22,Gv="80vh";function dc(e){let{open:t,pets:r,activePetRef:n,onClose:o,onSelect:a,onAddPet:s=null,returnFocusTo:l}=e,u=z(),d=react.useMemo(()=>qv(u),[u]),c=Qe(t,o,l);return t?jsxRuntime.jsxs("dialog",{ref:c.dialogRef,"aria-label":h.yourPets,onCancel:c.onCancel,onKeyDown:c.onKeyDown,style:d.sheet,children:[jsxRuntime.jsx("h2",{style:d.title,children:h.yourPets}),jsxRuntime.jsx("ul",{style:d.list,children:r.map(p=>{let f=p.petRef===n,m=p.name?.trim()||h.yourPet,y=Mn(p);return jsxRuntime.jsx("li",{children:jsxRuntime.jsxs("button",{type:"button","aria-current":f?"true":void 0,"aria-label":G(f?h.petCurrentlyActive:h.switchToPet,{name:m}),onClick:()=>a(p.petRef),style:{...d.row,...f?d.rowActive:null},children:[jsxRuntime.jsx("span",{style:d.ring,children:jsxRuntime.jsx("span",{style:{...d.disc,backgroundColor:y.background,color:y.foreground},children:y.initial})}),jsxRuntime.jsxs("span",{style:d.text,children:[jsxRuntime.jsx("span",{style:d.name,children:m}),jsxRuntime.jsx("span",{style:d.meta,children:`${f?h.activePrefix:""}${sc(p)}`})]}),f?jsxRuntime.jsx(U,{name:"check",size:Kv,color:u.color.brandInk,strokeWidth:2.5}):null]})},p.petRef)})}),s!==null?jsxRuntime.jsxs("button",{type:"button","aria-label":h.addAnotherPet,onClick:s,style:d.addRow,children:[jsxRuntime.jsx("span",{style:d.addDisc,children:"+"}),jsxRuntime.jsx("span",{style:d.addLabel,children:h.addAnotherPet})]}):null,jsxRuntime.jsx("button",{type:"button",onClick:o,style:d.close,children:h.close})]}):null}i(dc,"PetSwitcherDialog");function qv(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:Gv,overflowY:"auto",padding:`${r.lg+4}px ${r.lg+4}px ${r.xxl}px`,border:0,borderRadius:`${uc}px ${uc}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:Dn,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:Ln,height:Ln,borderRadius:n.pill,border:`2px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:qi,height:qi,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...P(e,"bold"),fontSize:Math.round(qi*.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:Dn,padding:`${r.xs}px ${r.sm}px`,background:"none",border:"none",borderRadius:n.lg,cursor:"pointer",textAlign:"left"},addDisc:{boxSizing:"border-box",width:Ln,height:Ln,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:Dn,minWidth:Dn,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(qv,"makeStyles");var Tr=35,hc=1.75,Yi=Tr-hc*2,cc=12.4,pc=36,fc=20,mc=9,Qv=1.5,dt=44,bc=28,Zv=160;function vc(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=z(),m=react.useMemo(()=>rE(f),[f]),y=jsxRuntime.jsxs("div",{style:m.historyControls,children:[p!==void 0?jsxRuntime.jsx("button",{type:"button",onClick:p,"aria-label":$.newChat,style:m.menuButton,children:jsxRuntime.jsx(U,{name:"squarePen",size:fc,color:f.color.text.primary})}):null,jsxRuntime.jsx("button",{ref:a,type:"button",onClick:o,"aria-label":Jv(d,c,n),"aria-expanded":c,style:m.menuButton,children:jsxRuntime.jsxs("span",{"aria-hidden":"true",style:m.menuDisc,children:[jsxRuntime.jsx(U,{name:"history",size:fc,color:f.color.text.primary}),n?jsxRuntime.jsx("span",{style:m.unreadDot}):null]})})]});return jsxRuntime.jsxs("header",{style:m.bar,children:[d?null:y,jsxRuntime.jsx("div",{style:m.centre,children:jsxRuntime.jsx(eE,{logoUrl:f.meta.logoUrl,name:f.meta.displayName,styles:m})}),u!==null?jsxRuntime.jsx("button",{type:"button",onClick:u,style:m.vetEntry,children:lc.visitButton}):null,jsxRuntime.jsx(tE,{pets:t,activePet:r,styles:m,onSelectPet:s,onAddPet:l}),d?y:null]})}i(vc,"ChatHeader");function Jv(e,t,r){let n=e?t?h.hideChatsWeb:h.showChatsWeb:h.openHistoryWeb;return r?`${n}${h.newReplySuffix}`:n}i(Jv,"historyControlLabel");function eE({logoUrl:e,name:t,styles:r}){let[n,o]=react.useState(null);return e===null||n===e?null:jsxRuntime.jsx("img",{src:e,alt:t,height:bc,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]=react.useState(false),l=react.useRef(null),u=t?.name?.trim()||h.yourPet;return e.length<2&&o===null||t===null?jsxRuntime.jsx("div",{role:"img","aria-label":u,style:r.avatarSlot,children:jsxRuntime.jsx(yc,{pet:t,styles:r})}):jsxRuntime.jsxs("div",{style:r.avatarSlot,children:[jsxRuntime.jsxs("button",{ref:l,type:"button","aria-haspopup":"dialog","aria-expanded":a,"aria-label":G(h.switchActivePet,{name:u}),onClick:()=>s(true),style:r.avatarButton,children:[jsxRuntime.jsx(yc,{pet:t,styles:r}),jsxRuntime.jsx("span",{"aria-hidden":"true",style:r.addBadge,children:jsxRuntime.jsx("span",{style:r.addBadgeGlyph,children:"+"})})]}),jsxRuntime.jsx(dc,{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 yc({pet:e,styles:t}){let r=e===null?null:Mn(e);return jsxRuntime.jsx("span",{style:t.ring,children:jsxRuntime.jsx("span",{style:{...t.disc,...r===null?t.discEmpty:{backgroundColor:r.background,color:r.foreground}},children:r===null?Gi(null):r.initial})})}i(yc,"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:dt,minHeight:dt,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:pc,height:pc,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:mc,height:mc,borderRadius:n.pill,backgroundColor:t.danger,border:`${Qv}px solid ${t.surfaceCream}`},centre:{flex:"1 1 auto",minWidth:0,display:"flex",alignItems:"center",justifyContent:"center"},logo:{display:"block",height:bc,width:"auto",maxWidth:Zv,objectFit:"contain"},avatarSlot:{position:"relative",minWidth:dt,minHeight:dt,display:"inline-flex",alignItems:"center",justifyContent:"center"},avatarButton:{position:"relative",boxSizing:"border-box",minWidth:dt,minHeight:dt,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:0,border:0,background:"transparent",cursor:"pointer"},ring:{boxSizing:"border-box",width:Tr,height:Tr,borderRadius:n.pill,border:`${hc}px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:Yi,height:Yi,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...P(e,"bold"),fontSize:Math.round(Yi*.42),lineHeight:1,textTransform:"uppercase"},discEmpty:{backgroundColor:t.surfaceSubtle,color:t.text.muted},addBadge:{position:"absolute",bottom:(dt-Tr)/2,right:(dt-Tr)/2,boxSizing:"border-box",width:cc,height:cc,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 Ec=Object.freeze({kind:"static"}),Cc=react.createContext(Ec);function xc(){return react.useContext(Cc)}i(xc,"useCitationLinks");function sE(e){return react.useMemo(()=>e===void 0?Ec:Object.freeze({kind:"host",open:i(t=>{de(e,t,"citation");},"open")}),[e])}i(sE,"useCitationLinkMode");function Rc({onOpenUrl:e,children:t}){let r=sE(e);return react.createElement(Cc.Provider,{value:r},t)}i(Rc,"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 Sc(e){return e===void 0||e.backgroundColor!==void 0?e:e.borderRadius===void 0?void 0:{borderRadius:e.borderRadius}}i(Sc,"ownGroundSlot");function ve(e){return e?.textColor===void 0?{}:{color:e.textColor}}i(ve,"slotText");function Ee(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(Ee,"slotBoxCss");var Tc=2;function Xi(e){return typeof e!="number"||!Number.isInteger(e)?Tc:e<1?1:e>6?6:e}i(Xi,"headingLevel");function dE(e){return e>=6?6:e+1}i(dE,"nextHeadingLevel");function kc(e){return `h${String(e)}`}i(kc,"headingTag");var cE=dE(Tc);react.createContext(cE);var Pr=320,hE=480,bE=Pr+hE,vE=1024,_r=768,Pc="72ch",Zi=Object.freeze({rail:false,desktop:false}),EE=Object.freeze({rail:true,desktop:false}),CE=Object.freeze({rail:true,desktop:true});function xE(e){return e===null||e<bE?Zi:e>=vE?CE:EE}i(xE,"layoutFor");var zn=react.createContext({layout:Zi,report:i(()=>{},"report"),headingLevel:Xi(void 0)});function Hn(){return react.useContext(zn).layout}i(Hn,"useChatLayout");function _c(){return react.useContext(zn).headingLevel}i(_c,"useChatHeadingLevel");function wc({children:e,headingLevel:t}){let[r,n]=react.useState(Zi),o=Xi(t),a=react.useMemo(()=>({layout:r,report:n,headingLevel:o}),[r,o]);return react.createElement(zn.Provider,{value:a},e)}i(wc,"ChatLayoutScope");function Ic(e){let{report:t}=react.useContext(zn);react.useEffect(()=>{let r=e.current;if(r===null||typeof ResizeObserver>"u")return;let n=i(()=>{let a=r.getBoundingClientRect().width;t(xE(a>0?Math.round(a):null));},"read");n();let o=new ResizeObserver(n);return o.observe(r),()=>o.disconnect()},[e,t]);}i(Ic,"useMeasuredLayout");var Un=Object.freeze({standard:vt.standard,emphasized:vt.emphasized,exit:vt.exit,outQuad:Object.freeze([.25,.46,.45,.94]),out:Object.freeze([.23,1,.32,1])}),Bn=pr,Ac=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,bubbleInMs:280,bubbleFromScale:.94,bubbleRisePx:6,promptRisePx:8,reduced:false}),RE=Object.freeze({...Ac,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,bubbleInMs:0,bubbleFromScale:1,bubbleRisePx:0,promptRisePx:0,reduced:true});function Oc(e){return e.motion.reducedMotion?RE:Ac}i(Oc,"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 te(){let e=z();return react.useMemo(()=>Oc(e),[e])}i(te,"useChatMotion");function kt(e){return e!==null&&typeof e.animate=="function"}i(kt,"canAnimate");function _e(e,t){if(!kt(e)||t.durationMs<=0)return null;let r=[t.fromTranslateX!==void 0?`translateX(${t.fromTranslateX})`:"",t.fromTranslateY!==void 0&&t.fromTranslateY!==0?`translateY(${t.fromTranslateY}px)`:""].filter(a=>a.length>0).join(" "),n={...t.fromOpacity!==void 0?{opacity:t.fromOpacity}:{},...r.length>0?{transform:r}:{}},o={...t.fromOpacity!==void 0?{opacity:1}:{},...r.length>0?{transform:"none"}:{}};try{return e.animate([n,o],{duration:t.durationMs,delay:t.delayMs??0,easing:Bn(Un.standard),fill:"backwards"})}catch{return null}}i(_e,"animateEnter");function Nc(e,t){if(!kt(e)||t.bubbleInMs<=0)return null;try{return e.animate([{opacity:0,transform:`translateY(${t.bubbleRisePx}px) scale(${t.bubbleFromScale})`},{opacity:1,transform:"none"}],{duration:t.bubbleInMs,easing:Bn(Un.out),fill:"backwards"})}catch{return null}}i(Nc,"popIn");function Ji(e,t,r){if(!kt(e)||t<=0)return Promise.resolve();try{let n=e.animate([{opacity:1,transform:"none"},{opacity:0,...r!==void 0?{transform:`translateX(${r})`}:{}}],{duration:t,easing:Bn(Un.exit),fill:"forwards"});return new Promise(o=>{n.onfinish=()=>o(),n.oncancel=()=>o();})}catch{return Promise.resolve()}}i(Ji,"animateExit");function ea(e,t){let[r,n]=react.useState(e),o=r&&!e;return react.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(ea,"usePresence");function zc(e,t,r){let[n,o]=react.useState(t&&!r.reduced?0:e.length),a=react.useRef({text:e,active:t});return a.current={text:e,active:t},react.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(zc,"useRevealedText");var Ne=44,wE="85%",ta={y:16,blur:48,alpha:.18},IE=.32,Hc=8,AE=.22,Uc=1.5,OE="50%";function jc({chat:e,history:t,mode:r,returnFocusTo:n}){let o=z(),a=react.useMemo(()=>DE(o),[o]),s=te(),l=Qe(r==="dialog"&&t.open,t.close,n),u=react.useRef(null),d=t.open,c=s.drawerMs;if(react.useEffect(()=>{if(!d||r!=="dialog")return;let f=_e(u.current,{durationMs:c,fromOpacity:0,fromTranslateX:"-100%"});return ()=>f?.cancel()},[d,r,c]),!d)return null;let p=jsxRuntime.jsx(FE,{chat:e,history:t,styles:a,theme:o,rail:r==="rail"});return r==="rail"?jsxRuntime.jsx("aside",{ref:f=>{u.current=f;},"aria-label":$.heading,style:a.rail,children:p}):jsxRuntime.jsx("div",{style:a.scrim,onClick:t.close,children:jsxRuntime.jsx("div",{ref:f=>{l.dialogRef.current=f,u.current=f;},role:"dialog","aria-modal":"true","aria-label":$.heading,tabIndex:-1,onKeyDown:l.onKeyDown,onClick:f=>f.stopPropagation(),style:a.overlay,children:p})})}i(jc,"HistoryDrawer");function FE({chat:e,history:t,styles:r,theme:n,rail:o}){let{rows:a,filtered:s,loading:l,loadingMore:u,error:d,cursor:c,emptyKind:p,searching:f,query:m,setQuery:y}=t,E=!l&&d===null,[g,v]=react.useState(false);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{style:r.head,children:[jsxRuntime.jsx("p",{style:r.heading,children:$.heading}),jsxRuntime.jsxs("button",{type:"button",onClick:t.newConversation,style:r.newChat,children:[jsxRuntime.jsx(U,{name:"squarePen",size:16,color:n.color.onPrimary}),jsxRuntime.jsx("span",{children:$.newChat})]}),jsxRuntime.jsx("button",{type:"button",onClick:t.close,"aria-label":o?h.hideChatsWeb:$.close,style:r.roundControl,children:jsxRuntime.jsx(U,{name:"x",size:18,color:n.color.brandInk})})]}),jsxRuntime.jsxs("label",{style:{...r.searchPill,...g?{borderColor:n.color.brandInk,...Fi(n.color.brandInk)}:null},children:[jsxRuntime.jsx(U,{name:"search",size:16,color:n.color.text.muted}),jsxRuntime.jsx("input",{type:"search",value:m,onChange:S=>y(S.target.value),onFocus:()=>v(true),onBlur:()=>v(false),"data-ef-focus-ring":"self","aria-label":$.search,placeholder:$.searchPlaceholder,autoComplete:"off",style:r.searchInput})]}),E&&a.length>0?jsxRuntime.jsx("p",{style:r.count,children:gd(a.length,c===null)}):null,l?jsxRuntime.jsx("p",{role:"status",style:r.state,children:$.loading}):null,d!==null?jsxRuntime.jsxs("div",{style:r.stateBlock,children:[jsxRuntime.jsx("p",{role:"alert",style:r.state,children:$.loadFailed}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{t.load();},"aria-label":$.retryA11y,style:r.retryControl,children:$.retry})]}):null,E&&s.length===0?jsxRuntime.jsxs("div",{style:r.stateBlock,children:[jsxRuntime.jsx("p",{style:r.state,children:p==="noMatch"?$.noMatch:$.empty}),p==="noMatch"?null:jsxRuntime.jsx("p",{style:r.stateBody,children:$.emptyBody})]}):null,E&&s.length>0?jsxRuntime.jsx(ME,{rows:s,activeId:e.conversationId,onSelect:S=>{t.resume(S);},styles:r,canLoadMore:c!==null&&!f&&!u,onLoadMore:t.loadMore}):null,u?jsxRuntime.jsx("p",{role:"status",style:r.state,children:$.loadingMore}):null]})}i(FE,"PanelBody");function ME({rows:e,activeId:t,onSelect:r,styles:n,canLoadMore:o,onLoadMore:a}){let s=react.useRef(null),l=typeof IntersectionObserver=="function",u=react.useRef(a);u.current=a;let d=react.useCallback(c=>{s.current=c;},[]);return react.useEffect(()=>{let c=s.current;if(!l||!o||c===null)return;let p=new IntersectionObserver(f=>{f.some(m=>m.isIntersecting)&&u.current();},{rootMargin:OE});return p.observe(c),()=>p.disconnect()},[l,o,e.length]),jsxRuntime.jsxs("ul",{style:n.list,children:[e.map(c=>{let p=c.unreadCount!==null&&c.unreadCount>0,f=c.id===t,m=yd(c);return jsxRuntime.jsx("li",{children:jsxRuntime.jsxs("button",{type:"button","aria-label":hd(c),"aria-current":f?"true":void 0,onClick:()=>r(c.id),style:{...n.row,...f?n.rowActive:null},children:[jsxRuntime.jsxs("span",{style:n.rowText,children:[jsxRuntime.jsx("span",{style:n.rowTitle,children:En(c.title)}),m!==null?jsxRuntime.jsx("span",{style:{...n.rowMeta,...p?n.rowMetaUnread:null},children:m}):null]}),p?jsxRuntime.jsx("span",{"aria-hidden":"true",style:n.unreadDot}):null]})},c.id)}),o?jsxRuntime.jsx("li",{ref:d,style:n.sentinel,children:l?null:jsxRuntime.jsx("button",{type:"button",onClick:a,style:n.textControl,children:$.more})}):null]})}i(ME,"RowList");function DE(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=o.tierSizes.control,s=t.text.primary,l={boxSizing:"border-box",display:"flex",flexDirection:"column",gap:r.md,padding:`${r.lg}px ${r.lg}px ${r.lg}px`,backgroundColor:t.surface,color:s,overflowY:"auto"},u={boxSizing:"border-box",minHeight:Ne,minWidth:Ne,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:`0 ${r.md}px`,borderRadius:n.pill,border:`1px solid ${t.brandInk}`,background:"transparent",color:t.brandInk,cursor:"pointer",...P(e,"medium"),fontSize:a.body};return {rail:{...l,flex:`0 0 ${Pr}px`,width:Pr,minHeight:0,borderLeft:`1px solid ${t.borderRingCream}`},scrim:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden",zIndex:1,backgroundColor:Nt(t.shadow,IE)??"transparent"},overlay:{...l,position:"absolute",top:0,bottom:0,left:0,margin:0,width:Pr,maxWidth:wE,border:0,borderRadius:0,boxShadow:`0 ${ta.y}px ${ta.blur}px ${Nt(t.brand,ta.alpha)??"transparent"}`,outline:"none"},head:{display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm},heading:{margin:0,marginRight:"auto",...P(e,"bold"),fontSize:o.tierSizes.heading.subtitle,lineHeight:`${Math.round(o.tierSizes.heading.subtitle*o.lineHeight.snug)}px`,color:s},newChat:{boxSizing:"border-box",minHeight:Ne,display:"inline-flex",alignItems:"center",gap:r.xs+2,margin:0,padding:`0 ${r.lg}px`,border:0,borderRadius:n.pill,backgroundColor:t.primary,color:t.onPrimary,cursor:"pointer",...P(e,"bold"),fontSize:a.bodyTight,...Ee(e.slots.primaryButton),...ve(e.slots.primaryButton)},searchPill:{boxSizing:"border-box",minWidth:0,minHeight:Ne,display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm,padding:`0 ${r.md+r.xs/2}px`,borderRadius:n.pill,backgroundColor:t.surface,border:`${Uc}px solid ${t.brandBorderStrong}`,color:t.text.primary},searchInput:{boxSizing:"border-box",flex:"1 1 auto",minWidth:0,minHeight:Ne-Uc*2,margin:0,padding:0,border:0,outline:"none",background:"transparent",...P(e,"regular"),fontSize:Math.max(16,o.size.bodyTight),lineHeight:`${o.size.bodyTight+5}px`,color:t.text.primary},roundControl:{boxSizing:"border-box",flexShrink:0,width:Ne,height:Ne,minWidth:Ne,minHeight:Ne,margin:0,padding:0,border:0,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer",background:"transparent",borderRadius:n.pill},count:{margin:`${r.xs}px 0 0`,...P(e,"regular"),fontSize:o.size.caption,lineHeight:`${o.size.caption+5}px`,color:t.text.muted},state:{margin:0,...P(e,"regular"),fontSize:o.size.bodyTight,lineHeight:`${o.size.bodyTight+5}px`,color:t.text.muted},stateBody:{margin:0,...P(e,"regular"),fontSize:o.size.caption,lineHeight:`${o.size.caption+4}px`,color:t.text.muted},stateBlock:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:r.sm},textControl:u,retryControl:{...u,...Ee(e.slots.primaryButton),...ve(e.slots.primaryButton)},list:{listStyle:"none",margin:`0 -${r.md}px`,padding:0,display:"flex",flexDirection:"column",gap:2},row:{boxSizing:"border-box",width:"100%",minHeight:Ne,display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm,margin:0,padding:`${r.sm+r.xs/2}px ${r.md}px`,border:0,borderRadius:n.md,background:"transparent",color:s,textAlign:"left",cursor:"pointer",font:"inherit"},rowActive:{backgroundColor:Nt(t.scanButtonPink,AE)??"transparent"},rowText:{flex:"1 1 auto",minWidth:0,display:"flex",flexDirection:"column",gap:1},rowTitle:{...P(e,"bold"),fontSize:o.size.bodyTight,lineHeight:`${Math.round(o.size.bodyTight*o.lineHeight.snug)}px`,color:t.brandInk,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},rowMeta:{...P(e,"regular"),fontSize:o.size.caption,lineHeight:`${o.size.caption+5}px`,color:t.text.muted},rowMetaUnread:{...P(e,"bold"),color:t.text.primary},unreadDot:{boxSizing:"border-box",flexShrink:0,width:Hc,height:Hc,borderRadius:n.pill,backgroundColor:t.danger},sentinel:{minHeight:1,display:"flex",justifyContent:"center",padding:`${r.xs}px 0`}}}i(DE,"makeStyles");var Je=44,jt=22,zE=14,HE=20,Vc=16,UE=20,BE=1.5,jE=1.5;function Wc({surface:e,vetEntry:t,renderVetAction:r,onFindVet:n}){let o=z(),a=react.useMemo(()=>KE(o),[o]),s=te(),l=ea(e.showBanner,s.bannerOutMs),u=ea(e.showCompactIcon,s.iconOutMs);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l.present&&e.tier!==null&&e.source!==null?jsxRuntime.jsx(VE,{surface:e,exiting:l.exiting,styles:a,action:e.showVetAction?jsxRuntime.jsx($E,{tier:e.tier,styles:a,vetEntry:t,renderVetAction:r,onFindVet:n}):null},e.signature??"banner"):null,u.present?jsxRuntime.jsx(WE,{exiting:u.exiting,onExpand:e.expand,styles:a}):null]})}i(Wc,"UrgencyBanner");function VE({surface:e,exiting:t,styles:r,action:n}){let o=react.useRef(null),a=te(),s=z();react.useEffect(()=>{let p=_e(o.current,{durationMs:a.bannerInMs,fromOpacity:0});return ()=>p?.cancel()},[a.bannerInMs]),react.useEffect(()=>{t&&Ji(o.current,a.bannerOutMs);},[t,a.bannerOutMs]);let l=e.tier,u=e.source;if(l===null||u===null)return null;let d=l.level==="emergency"||l.level==="schedule_soon",c=Kc(l,s);return jsxRuntime.jsxs("div",{ref:o,role:d?"alert":"status","aria-hidden":t?true:void 0,style:{...r.banner,borderColor:c.edge,backgroundColor:c.fill},children:[jsxRuntime.jsxs("p",{style:{...r.label,color:c.title},children:[l.level==="emergency"?jsxRuntime.jsx(U,{name:"alert",size:UE,color:c.title}):null,jsxRuntime.jsx("span",{children:l.label})]}),u.reason?jsxRuntime.jsx("p",{style:{...r.reason,color:c.reason},children:u.reason}):null,n,jsxRuntime.jsx("button",{type:"button",onClick:e.dismiss,"aria-label":e.dismissLabel??h.close,style:r.dismissHit,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:r.dismissDisc,children:jsxRuntime.jsx(U,{name:"x",size:zE,color:c.title,strokeWidth:2.25})})})]})}i(VE,"Banner");function Kc(e,t){if(e.level==="emergency"){let r=t.color;return {edge:r.danger,fill:r.badgeBgCritical,title:r.danger,reason:r.text.primary}}return {edge:e.borderColor,fill:e.backgroundColor,title:e.textColor,reason:e.reasonColor}}i(Kc,"tierPaint");function $E({tier:e,styles:t,vetEntry:r,renderVetAction:n,onFindVet:o}){let a=z(),s=e.level,l=s==="emergency",u=!r.available&&o!==void 0,d=r.available?r.open:o!==void 0?()=>{de(o,s);}:null,c=l&&u?h.nearestEmergencyVet:h.findVet,p=l&&u?h.nearestEmergencyVet:h.findVetA11y,f=Sc(a.slots.vetVisitButton),m=Kc(e,a),y=l?{...t.pill,borderColor:a.color.primary,backgroundColor:a.color.primary,color:a.color.onPrimary}:{...t.pill,borderColor:e.borderColor,backgroundColor:e.pillColor,color:e.textColor},E=f?.textColor??(l?a.color.onPrimary:m.title),g=d===null?null:jsxRuntime.jsxs("button",{type:"button",onClick:d,"aria-label":p,style:{...y,...Ee(f),...ve(f)},children:[jsxRuntime.jsx(U,{name:"mapPin",size:Vc,color:E}),jsxRuntime.jsx("span",{children:c})]}),v=l?jsxRuntime.jsxs("a",{href:qu,style:{...t.pill,...t.ghost,borderColor:m.title,color:m.title},children:[jsxRuntime.jsx(U,{name:"phone",size:Vc,color:m.title}),jsxRuntime.jsx("span",{children:h.poisonControlWeb})]}):null,S=n!==void 0?jsxRuntime.jsx(St,{render:()=>n(s),fallback:g,resetKey:s}):g;return S===null&&v===null?null:jsxRuntime.jsxs("div",{style:t.actionRow,children:[S,v]})}i($E,"VetAction");function WE({exiting:e,onExpand:t,styles:r}){let n=react.useRef(null),o=te(),a=z();return react.useEffect(()=>{let s=_e(n.current,{durationMs:o.iconInMs,fromOpacity:0});return ()=>s?.cancel()},[o.iconInMs]),react.useEffect(()=>{e&&Ji(n.current,o.iconOutMs);},[e,o.iconOutMs]),jsxRuntime.jsx("div",{ref:n,"aria-hidden":e?true:void 0,style:r.iconRow,children:jsxRuntime.jsx("button",{type:"button",onClick:t,"aria-label":h.showLatestVetAlert,style:r.iconButton,children:jsxRuntime.jsx(U,{name:"info",size:HE,color:a.color.text.muted})})})}i(WE,"CompactIcon");function KE(e){let t=e.space,r=e.radius,n=e.type,o=n.tierSizes.heading,a=n.tierSizes.control;return {banner:{position:"relative",boxSizing:"border-box",width:`calc(100% - ${t.lg*2}px)`,maxWidth:_r,margin:`${t.sm}px auto ${t.xs}px`,padding:`${t.lg}px ${t.lg+t.xs/2}px`,borderRadius:r.lg,borderStyle:"solid",borderWidth:BE,display:"flex",flexDirection:"column",gap:t.xs},label:{margin:0,paddingRight:jt,display:"flex",flexDirection:"row",alignItems:"center",gap:t.sm,...P(e,"bold"),fontSize:o.body,lineHeight:`${Math.round(o.body*n.lineHeight.snug)}px`},reason:{margin:0,paddingRight:jt,...P(e,"regular"),fontSize:n.size.bodyTight,lineHeight:`${Math.round(n.size.bodyTight*1.5)}px`,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},actionRow:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:t.sm,marginTop:t.sm},pill:{boxSizing:"border-box",minHeight:Je,display:"inline-flex",flexDirection:"row",alignItems:"center",gap:t.sm,margin:0,padding:`0 ${t.lg}px`,borderRadius:r.pill,borderStyle:"solid",borderWidth:jE,cursor:"pointer",textDecoration:"none",...P(e,"bold"),fontSize:a.bodyTight,lineHeight:`${Math.round(a.bodyTight*n.lineHeight.snug)}px`},ghost:{backgroundColor:"transparent"},dismissHit:{position:"absolute",top:6-(Je-jt)/2,right:6-(Je-jt)/2,boxSizing:"border-box",width:Je,height:Je,minWidth:Je,minHeight:Je,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},dismissDisc:{boxSizing:"border-box",width:jt,height:jt,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:Je,minHeight:Je,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"}}}i(KE,"makeStyles");var ep=300,Gc=120,Vn=44,sa=120;var YE="100 / 12",XE=480,qc=18,QE="min(88%, 520px)",ZE="md",JE="lg",eC="lg",Yc="xs",Xc=1.5,tC=1.6;var na=1,rC=.6,Qc="lg",nC="xl",oa=1.5,ia="sm",oC="xs",iC="xs",aC=60,Zc=44,sC=16,lC=1.4,aa=44,tp=22,rp=18,uC=.4,dC=.5;var Jc=24,cC=3,np=900,op=20,pC=1.5,fC=1.3,mC=1.5;function be(){let e=z(),t=react.useMemo(()=>yC(e),[e]);return {theme:e,styles:t}}i(be,"useChatTheme");function $n(e){return `max(${e}px, calc((100% - ${_r}px) / 2))`}i($n,"columnInset");function Pt(e,t){return `${Math.round(e*t)}px`}i(Pt,"linePx");function yC(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=e.slots,s=vi(o.family),l=o.size.body,u=Math.max(sC,l),d=Math.round(u*lC),c=o.tierSizes.control,p=o.tierSizes.compact,f=r[ZE]+r.xs/2,m=r[JE]+r.xs/2,y={boxSizing:"border-box",minHeight:Vn,minWidth:Vn,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,border:0,cursor:"pointer",...P(e,"medium"),fontSize:c.body,lineHeight:`${Math.round(c.body*o.lineHeight.normal)}px`},E=a.sendButton,g=E?.backgroundColor??(E?.textColor!==void 0?"transparent":t.primary);return {container:{...hn,boxSizing:"border-box",position:"relative",display:"flex",flexDirection:"column",minHeight:Gc,height:"100%",backgroundColor:t.chatGround,color:t.text.primary,fontFamily:s},split:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"row"},main:{flex:"1 1 auto",minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},body:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"column"},centered:{boxSizing:"border-box",flex:"1 1 auto",minHeight:Gc,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:r.xl},spinner:{boxSizing:"border-box",width:Jc,height:Jc,borderRadius:n.pill,border:`${cC}px solid ${t.brandSofter}`,borderTopColor:t.brandInk},emptyScroller:{boxSizing:"border-box",flex:`1 1 ${XE}px`,minHeight:0,overflowY:"auto"},emptyContent:{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"stretch",justifyContent:"flex-start",height:"100%",paddingLeft:$n(r.lg),paddingRight:$n(r.lg),paddingBottom:r.lg,gap:qc},emptyLead:{flex:"0 1 auto",width:"100%",maxHeight:r.xxl*2,aspectRatio:YE,minHeight:0,marginBottom:-qc},errorText:{margin:`0 0 ${r.md}px`,...P(e,"regular"),fontSize:o.size.subtitle,lineHeight:`${Math.round(o.size.subtitle*o.lineHeight.snug)}px`,color:t.danger,textAlign:"center"},retryButton:{...y,padding:`${r.sm}px ${r.xl}px`,borderRadius:n.pill,backgroundColor:t.brand,color:t.onPrimary,...Ee(a.primaryButton),...ve(a.primaryButton)},setupNotice:{boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"space-between",gap:r.sm,padding:`${r.sm}px ${r.lg}px`,backgroundColor:t.surfaceCream},setupNoticeText:{...P(e,"regular"),fontSize:o.size.caption,color:t.danger},setupNoticeAction:{...y,padding:0,background:"none",border:"none",color:t.brandInk,fontSize:o.size.caption,minHeight:Vn},turnNotice:{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:r.xs,padding:r.md,borderRadius:n.md,backgroundColor:t.surfaceCream,border:`1px solid ${t.borderRingCream}`},turnNoticeError:{border:`1px solid ${t.danger}`},turnNoticeTitle:{...P(e,"bold"),margin:0,fontSize:o.size.bodyTight,color:t.text.primary},turnNoticeTitleError:{color:t.danger},reconnectingCaption:{...P(e,"medium"),margin:0,fontSize:o.size.caption,color:t.text.muted,textTransform:"uppercase",letterSpacing:"0.5px"},turnNoticeBody:{...P(e,"regular"),margin:0,fontSize:o.size.caption,color:t.text.muted},turnNoticeAction:{...y,padding:0,background:"none",border:"none",color:t.brandInk,minHeight:Vn,...P(e,"bold"),fontSize:o.size.bodyTight},earlierButton:{...y,alignSelf:"center",padding:`0 ${r.md+r.xs/2}px`,backgroundColor:"transparent",color:t.linkInk,...P(e,"monoBold"),fontSize:p.tiny,lineHeight:`${Math.round(p.tiny*o.lineHeight.snug)}px`,letterSpacing:dC,textTransform:"uppercase"},list:{boxSizing:"border-box",flex:"1 1 auto",minHeight:0,overflowY:"auto",display:"flex",flexDirection:"column",gap:r[Qc]+r.xs/2,paddingTop:r.lg,paddingBottom:r.lg,paddingLeft:$n(r.lg),paddingRight:$n(r.lg)},messageList:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:r[Qc]+r.xs/2},row:{display:"flex",flexDirection:"column"},rowUser:{alignItems:"flex-end"},rowAssistant:{alignItems:"flex-start"},bubble:{boxSizing:"border-box",maxWidth:QE,paddingTop:f,paddingBottom:f,paddingLeft:m,paddingRight:m,borderRadius:n[eC],position:"relative"},bubbleUser:{backgroundColor:t.bubbleUser,borderBottomRightRadius:n[Yc],transformOrigin:"100% 100%",...Ee(a.userBubble,na)},bubbleAssistant:{...a.assistantBubble?.backgroundColor===void 0?{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:r[nC],maxWidth:`min(100%, ${Pc})`}:{},transformOrigin:"0 100%",...Ee(a.assistantBubble,na)},bubbleVet:{backgroundColor:t.bubbleVet,borderTopLeftRadius:n[Yc],transformOrigin:"0 100%",...Ee(a.vetBubble,na)},bubblePending:{opacity:rC},bubbleTextUser:{margin:0,...P(e,"regular"),color:t.onPrimary,fontSize:l,lineHeight:Pt(l,Xc),whiteSpace:"pre-wrap",overflowWrap:"anywhere",...ve(a.userBubble)},bubbleTextAssistant:{margin:0,...P(e,"regular"),color:t.text.primary,fontSize:l,lineHeight:Pt(l,tC),whiteSpace:"pre-wrap",overflowWrap:"anywhere",...ve(a.assistantBubble)},bubbleTextVet:{margin:0,...P(e,"regular"),color:t.onBubbleVet,fontSize:l,lineHeight:Pt(l,Xc),whiteSpace:"pre-wrap",overflowWrap:"anywhere",...ve(a.vetBubble)},senderRow:{display:"flex",flexDirection:"row",alignItems:"baseline",flexWrap:"wrap",gap:r.sm,margin:`0 0 ${r.sm}px`},assistantName:{margin:0,...P(e,"bold"),color:t.brandInk,fontSize:o.size.bodyTight,lineHeight:Pt(o.size.bodyTight,o.lineHeight.snug)},vetSender:{margin:0,...P(e,"bold"),color:t.text.primary,fontSize:o.size.bodyTight,lineHeight:Pt(o.size.bodyTight,o.lineHeight.snug),overflowWrap:"anywhere"},bubbleBold:P(e,"bold"),bubbleItalic:{fontStyle:"italic"},bubbleCode:P(e,"mono"),followUps:{listStyle:"none",margin:`${r.md}px 0 0`,padding:0,display:"flex",flexDirection:"row",flexWrap:"wrap",gap:r.sm},followUpRow:{...y,justifyContent:"flex-start",textAlign:"left",maxWidth:"100%",padding:`${r.sm}px ${r.lg}px`,borderRadius:n.pill,border:`${pC}px solid ${t.brandInk}`,background:t.chatGround,color:t.brandInk,...P(e,"bold"),fontSize:c.bodyTight,lineHeight:Pt(c.bodyTight,fC),whiteSpace:"normal",overflowWrap:"anywhere"},composerBlock:{boxSizing:"border-box",display:"flex",flexDirection:"column",width:`calc(100% - ${r.md*2}px)`,maxWidth:_r,margin:"0 auto"},composerError:{margin:`${r.xs}px ${r.md}px 0`,...P(e,"regular"),fontSize:o.size.caption,lineHeight:`${Math.round(o.size.caption*o.lineHeight.normal)}px`,color:t.danger},composer:{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"flex-end",gap:r[iC],minHeight:aC,width:"100%",margin:`${r.xs}px 0 0`,paddingTop:r[ia],paddingRight:r[ia],paddingBottom:r[ia],paddingLeft:r.lg+r[oC],backgroundColor:t.chatGround,border:`${oa}px solid ${t.composerBorder}`,borderRadius:n.xl,...Ee(a.composerInput,oa)},composerFocused:{border:`${oa}px solid ${a.composerInput?.borderColor??t.brandInk}`,outline:`${xr}px solid ${t.brandInk}`,outlineOffset:xr},inputWrap:{position:"relative",flex:"1 1 auto",minWidth:0,minHeight:Zc,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:u,lineHeight:`${d}px`,color:t.text.placeholder,...ve(a.composerInput)},input:{boxSizing:"border-box",flex:"1 1 auto",width:"100%",maxHeight:sa,margin:0,padding:`${Math.max(0,(Zc-d)/2)}px 0`,border:0,outline:"none",resize:"none",background:"transparent",...P(e,"regular"),fontSize:u,lineHeight:`${d}px`,color:t.text.primary,...ve(a.composerInput)},iconControl:{...y,flexShrink:0,padding:0,borderRadius:n.pill,background:"transparent",color:t.brandInk},actionButton:{...y,flexShrink:0,padding:0,backgroundColor:"transparent",borderRadius:n.pill},sendDisc:{boxSizing:"border-box",width:aa,height:aa,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:aa/2,backgroundColor:g,...Ee(E)},actionButtonDisabled:{opacity:uC,cursor:"not-allowed"},footnote:{margin:`${r.md}px 0 ${r.sm}px`,padding:`0 ${r.xs}px`,...P(e,"regular"),color:t.text.muted,fontSize:o.size.caption,lineHeight:Pt(o.size.caption,mC)},poweredBy:{margin:0,padding:`0 0 ${r.xs}px`,...P(e,"regular"),color:t.text.muted,fontSize:p.micro,lineHeight:`${Math.round(p.micro*o.lineHeight.normal)}px`,textAlign:"center"}}}i(yC,"makeStyles");function ip(e){return e.slots.sendButton?.textColor??e.color.onPrimary}i(ip,"sendGlyphInk");var gC=Object.freeze({kind:"live"}),hC=Object.freeze({kind:"folded"});function ap(e){if(e.role!=="assistant"||e.checkin===void 0)return null;let t=e.checkin.caseId,r=Po(e.proactiveOriginRef);return {caseId:t,dueDay:r!==null&&r.caseId===t?r.dueDay:""}}i(ap,"askOf");function sp(e){let t=new Map,r=new Map;for(let o of e){let a=ap(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=ap(o);if(a===null){n=null;continue}if(r.get(a.caseId)?.messageId===o.id){t.set(o.id,gC),n=null;continue}if(n!==null&&n.caseId===a.caseId){n.days.push(a.dueDay),t.set(o.id,hC);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(sp,"placeCheckins");function lp(e){let t=new Set;for(let[r,n]of e)n.kind==="live"&&t.add(r);return t}i(lp,"liveCheckinIds");var $t=44,Wt=56,up=12,Wn=22,dp=18,vC=2,EC=900,cp=220,CC=14,pp=100,xC=10,RC=6,SC=.45,TC="rgba(7,193,104,0.55)",kC="rgba(185,28,28,0.55)",yp=Object.freeze([]);function gp({attachments:e,onRetry:t,onRemove:r,onPreview:n}){let o=z(),a=react.useMemo(()=>bp(o),[o]);return e.length===0?null:jsxRuntime.jsx("ul",{style:a.tray,children:e.map(s=>jsxRuntime.jsx("li",{style:a.cardSlot,children:jsxRuntime.jsx(PC,{row:s,styles:a,theme:o,onRetry:t,onRemove:r,onPreview:n})},s.id))})}i(gp,"AttachmentTray");function PC({row:e,styles:t,theme:r,onRetry:n,onRemove:o,onPreview:a}){let s=te(),l=react.useRef(null),[u,d]=react.useState(false),c=react.useRef(e.status==="uploading");react.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 jsxRuntime.jsxs("div",{style:t.card,children:[jsxRuntime.jsx("button",{ref:l,type:"button","aria-label":G(h.previewAttachment,{filename:e.filename}),onClick:()=>a(p,l.current),style:t.previewButton,children:jsxRuntime.jsx("img",{src:e.previewUri,alt:"",style:t.thumb})}),e.status==="uploading"?jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":G(h.previewAttachment,{filename:e.filename}),style:{...t.wash,backgroundColor:Nt(r.color.brandInk,SC)??r.color.brandSofter},children:jsxRuntime.jsx(_C,{styles:t})}):null,e.status==="uploaded"&&u?jsxRuntime.jsx("div",{"aria-hidden":"true",style:{...t.wash,backgroundColor:TC}}):null,e.status==="failed"?jsxRuntime.jsx("button",{type:"button","aria-label":G(h.retryUpload,{filename:e.filename}),onClick:()=>n(e.id),style:{...t.wash,...t.retry,backgroundColor:kC},children:jsxRuntime.jsx(U,{name:"upload",size:18,color:"#FFFFFF"})}):null,jsxRuntime.jsx("button",{type:"button","aria-label":G(h.removeAttachment,{filename:e.filename}),onClick:()=>o(e.id),style:t.removeHit,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:t.removeDisc,children:jsxRuntime.jsx(U,{name:"x",size:12,color:r.color.surface,strokeWidth:2.5})})})]})}i(PC,"TrayCard");function _C({styles:e}){let t=te(),r=react.useRef(null);return react.useEffect(()=>{let n=r.current;if(t.reduced||!kt(n))return;let o=n.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:EC,iterations:1/0,easing:"linear"});return ()=>o.cancel()},[t.reduced]),jsxRuntime.jsx("span",{ref:r,"aria-hidden":"true",style:e.spinner})}i(_C,"Spinner");function hp({images:e,onPreview:t}){let r=z(),n=react.useMemo(()=>bp(r),[r]);if(e.length===0)return null;let o=e.length===1;return jsxRuntime.jsx("ul",{style:o?n.singleList:n.gridList,children:e.map((a,s)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx(wC,{image:a,style:o?n.singleImage:n.gridImage,onPreview:t})},`${a.uri}-${s}`))})}i(hp,"MessageAttachments");function wC({image:e,style:t,onPreview:r}){let n=react.useRef(null);return jsxRuntime.jsx("button",{ref:n,type:"button","aria-label":G(h.attachedImage,{filename:e.filename}),onClick:()=>r(e,n.current),style:t,children:jsxRuntime.jsx("img",{src:e.uri,alt:"",style:{display:"block",width:"100%",height:"100%",objectFit:"cover"}})})}i(wC,"ImageButton");function bp(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:up,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:up,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:dp,height:dp,borderRadius:n.pill,border:`${vC}px solid rgba(255,255,255,0.45)`,borderTopColor:"#FFFFFF"},removeHit:{position:"absolute",top:4-($t-Wn)/2,right:4-($t-Wn)/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:Wn,height:Wn,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:RC},singleImage:{...o,width:cp,height:cp,maxWidth:"100%",borderRadius:CC},gridImage:{...o,width:pp,height:pp,borderRadius:xC}}}i(bp,"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"})}),vp=Object.freeze(Wr.map(e=>Object.freeze({answer:e,label:Kt.answers[e]})));function Ep(e,t){let[r,n]=react.useState(null),[o,a]=react.useState(null),[s,l]=react.useState(null),u=react.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:!Is(e),escalated:d==="worse",pending:r,error:o,choose:u}}i(Ep,"useCheckinCard");var Cp=44,FC=.6;function xp({message:e,checkin:t,onAnswer:r,onFindVet:n}){let o=z(),a=react.useMemo(()=>MC(o),[o]),s=Ep(t,r),l=s.answer!==null||s.pending!==null,u=r!==null&&s.answerable;return jsxRuntime.jsx("li",{style:a.row,children:jsxRuntime.jsxs("div",{role:"group","aria-label":Kt.eyebrow,"aria-busy":s.pending!==null?true:void 0,style:a.card,children:[jsxRuntime.jsx("p",{style:a.eyebrow,children:Kt.eyebrow}),jsxRuntime.jsx("p",{style:a.question,children:e.text}),u?jsxRuntime.jsx("div",{style:{...a.answers,...s.pending?a.answersPending:null},children:vp.map(({answer:d,label:c})=>{let p=(s.pending??s.answer)===d;return jsxRuntime.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?jsxRuntime.jsx("p",{style:a.logged,children:Kt.logged}):null,t.resolutionText?jsxRuntime.jsx("p",{style:a.question,children:t.resolutionText}):null,s.escalated&&n?jsxRuntime.jsx("button",{type:"button",onClick:n,style:a.findVet,children:Kt.findVet}):null,s.error?jsxRuntime.jsx("p",{role:"alert",style:a.error,children:s.error.displayMessage}):null]})})}i(xp,"CheckinCard");function MC(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:FC},pill:{...s,fontSize:u.body,lineHeight:`${Math.round(u.body*o.lineHeight.normal)}px`,boxSizing:"border-box",flex:1,minHeight:Cp,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:Cp,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(MC,"makeStyles");var LC=Object.freeze({TIER_1:"#07C168",TIER_2:"#27A9FF",TIER_3:"#FBC558"}),Rp="#C8BEB4";function NC(e){return e?LC[e.toUpperCase()]??Rp:Rp}i(NC,"tierColor");function zC(e){if(!e)return null;let t=/^tier[_\s-]?(\d+)$/i.exec(e.trim());return t?`Tier ${t[1]}`:e}i(zC,"tierLabel");function ze(e){if(typeof e!="string")return null;let t=e.trim();return t.length===0?null:t}i(ze,"text");function HC(e){let t=ze(e);return t!==null&&/^https:\/\/\S+$/i.test(t)?t:null}i(HC,"httpsUrl");function UC(e,t){let r=ze(e.source_name)??ze(e.sourceName),n=ze(e.section),o=ze(e.authority_tier)??ze(e.authorityTier),a=zC(o),s=r??ze(e.title)??`Source ${t+1}`,l=ze(e.monograph_chunk_id)??ze(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:HC(e.url),excerpt:ze(e.excerpt),tierColor:NC(o),key:`${s}-${l??"none"}-${t}`})}i(UC,"toCitationCard");function Sp(e){return e===void 0||e.length===0?BC:Object.freeze(e.map((t,r)=>UC(t,r)))}i(Sp,"toCitationCards");var BC=Object.freeze([]);function ua(e){return e===1?`1 ${h.sourceSingular}`:`${e} ${h.sourcePlural}`}i(ua,"sourcesLabel");function Tp(e,t){return `${t?h.hideSources:h.showSources} ${ua(e)}`}i(Tp,"sourcesToggleLabel");function kp(e){return [e.url!==null?`${h.openSource}: ${e.title}`:e.title,e.meta,e.excerpt].filter(t=>t!==null&&t.length>0).join(". ")}i(kp,"citationA11yLabel");var _p=44,WC=244,wp=8,Ip=13,KC=14,GC=2,qC=3,YC=32;function Fp({citations:e}){let t=react.useMemo(()=>Sp(e),[e]),r=z(),n=react.useMemo(()=>ZC(r),[r]),[o,a]=react.useState(false);return t.length===0?null:jsxRuntime.jsxs("div",{style:n.wrap,children:[jsxRuntime.jsx("button",{type:"button","aria-expanded":o,"aria-label":Tp(t.length,o),onClick:()=>a(s=>!s),style:n.pill,children:jsxRuntime.jsxs("span",{style:n.pillFace,children:[jsxRuntime.jsx(U,{name:"bookOpen",size:Ip,color:r.color.text.muted}),jsxRuntime.jsx("span",{style:n.pillLabel,children:ua(t.length)}),jsxRuntime.jsx(U,{name:"chevronDown",size:Ip,color:r.color.text.muted,style:o?{transform:"rotate(180deg)"}:void 0})]})}),o?jsxRuntime.jsx(XC,{cards:t,styles:n,theme:r}):null]})}i(Fp,"CitationCards");function XC({cards:e,styles:t,theme:r}){let n=react.useRef(null),o=te(),a=xc();return react.useEffect(()=>{let s=_e(n.current,{durationMs:o.citationsInMs,fromOpacity:0,fromTranslateY:o.citationsRisePx});return ()=>s?.cancel()},[o]),jsxRuntime.jsx("ul",{ref:n,style:t.deck,children:e.map(s=>{let l=a.kind==="static"?null:s.url;return jsxRuntime.jsx("li",{style:t.cardSlot,children:l!==null?jsxRuntime.jsx("a",{href:l,...QC(a,l),"aria-label":kp(s),style:{...t.card,...t.cardLink},children:jsxRuntime.jsx(Ap,{card:s,linked:true,styles:t,theme:r})}):jsxRuntime.jsx("div",{style:t.card,children:jsxRuntime.jsx(Ap,{card:s,linked:false,styles:t,theme:r})})},s.key)})})}i(XC,"Deck");function QC(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(QC,"linkBehaviour");function Ap({card:e,linked:t,styles:r,theme:n}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{style:r.cardHeader,children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...r.tierDot,backgroundColor:e.tierColor}}),jsxRuntime.jsx("span",{style:t?{...r.cardTitle,color:n.color.linkInk}:r.cardTitle,children:e.title}),t?jsxRuntime.jsx(U,{name:"arrowUpRight",size:KC,color:n.color.linkInk}):null]}),e.meta!==null?jsxRuntime.jsx("span",{style:r.cardMeta,children:e.meta}):null,e.excerpt!==null?jsxRuntime.jsx("span",{style:r.cardExcerpt,children:e.excerpt}):null]})}i(Ap,"CardBody");function Op(e){return {display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:e,overflow:"hidden"}}i(Op,"clamp");function ZC(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:_p,minWidth:_p,display:"inline-flex",alignItems:"center",margin:0,padding:0,border:0,background:"transparent",cursor:"pointer",font:"inherit"},pillFace:{boxSizing:"border-box",minHeight:YC,display:"inline-flex",flexDirection:"row",alignItems:"center",gap:r.xs+2,padding:`0 ${r.md}px`,borderRadius:n.pill,border:`1px solid ${t.borderRingCream}`,backgroundColor:t.chatGround},pillLabel:{...P(e,"regular"),fontSize:o.tierSizes.compact.caption,lineHeight:`${o.tierSizes.compact.caption+3}px`,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:WC,display:"flex",flexDirection:"column",gap:r.xs+2,padding:r.md,borderRadius:n.md,border:`1px solid ${t.borderRingCream}`,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:wp,height:wp,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,...Op(GC)},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,...Op(qC)}}}i(ZC,"makeStyles");function Mp(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}i(Mp,"formatMessageTime");var da=44,Dp=20,tx=3,rx=.6;function Lp(e){let{open:t,onSubmit:r,onClose:n,returnFocusTo:o}=e,a=z(),s=react.useMemo(()=>nx(a),[a]),l=Qe(t,n,o),[u,d]=react.useState(null),[c,p]=react.useState(""),[f,m]=react.useState(false),[y,E]=react.useState(false);if(!t)return null;let g=i(()=>{if(f)return;m(true),E(false);let v=c.trim();r(u,v.length>0?v:null).then(S=>{m(false),S?n():E(true);});},"submit");return jsxRuntime.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:[jsxRuntime.jsx("h2",{style:s.title,children:h.feedbackTitle}),jsxRuntime.jsx("p",{style:s.subtitle,children:h.feedbackSubtitle}),jsxRuntime.jsx("div",{role:"group","aria-label":h.feedbackTitle,style:s.options,children:xi.map(v=>{let S=v.key===u;return jsxRuntime.jsxs("button",{type:"button","aria-pressed":S,disabled:f,onClick:()=>d(S?null:v.key),style:{...s.option,...S?s.optionSelected:null},children:[jsxRuntime.jsx("span",{style:s.optionLabel,children:v.label}),jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...s.radio,...S?s.radioSelected:null},children:S?jsxRuntime.jsx(U,{name:"check",size:12,color:a.color.surface,strokeWidth:3}):null})]},v.key)})}),jsxRuntime.jsx("textarea",{rows:tx,value:c,disabled:f,"aria-label":h.feedbackNotesPlaceholder,placeholder:h.feedbackNotesPlaceholder,onChange:v=>{let S=v.target.value;[...S].length<=nr&&p(S);},style:s.notes}),y?jsxRuntime.jsx("p",{role:"alert",style:s.failed,children:h.feedbackFailed}):null,jsxRuntime.jsxs("div",{style:s.actions,children:[jsxRuntime.jsx("button",{type:"button",onClick:g,"aria-disabled":f,style:{...s.submit,...f?s.pending:null},children:h.feedbackSubmit}),jsxRuntime.jsx("button",{type:"button",onClick:n,"aria-label":h.feedbackSkipA11y,disabled:f,style:s.skip,children:h.feedbackSkip})]})]})}i(Lp,"FeedbackReasons");function nx(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:da,minWidth:da,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:Dp,height:Dp,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:da,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,...Ee(e.slots.primaryButton),...ve(e.slots.primaryButton)},pending:{opacity:rx,cursor:"progress"},skip:{...u,fontSize:l,padding:`0 ${r.xl}px`,border:0,borderRadius:n.pill,background:"transparent",color:t.text.secondary}}}i(nx,"makeStyles");var wr=44,fa=15,Hp=16;function ix(){return typeof navigator<"u"&&typeof navigator.clipboard?.writeText=="function"}i(ix,"canCopyToClipboard");function Bp(e){let{role:t,text:r,createdAt:n,responseId:o,sentiment:a,feedback:s}=e,l=z(),u=react.useMemo(()=>ax(l),[l]),d=te(),c=react.useMemo(()=>Mp(n),[n]),p=t!=="vet"&&ix()&&r.length>0,[f,m]=react.useState(false),y=react.useRef(null);react.useEffect(()=>()=>{y.current!==null&&clearTimeout(y.current);},[]);let E=react.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]),[g,v]=react.useState(false),[S,w]=react.useState(false),[T,b]=react.useState(false),k=react.useRef(null),I=react.useCallback(_=>{if(o===void 0)return;w(false),b(false);let x=a===_;s(o,_).then(R=>{R.ok||b(true);}),_==="down"&&!x&&v(true);},[o,a,s]),O=react.useCallback(async(_,x)=>{if(o===void 0)return false;if(_===null&&x===null)return w(true),true;let R=await s(o,"down",_??"other",x);return R.ok&&w(true),R.ok},[o,s]);return jsxRuntime.jsxs("div",{style:{...u.footer,...t==="user"?u.footerUser:u.footerAssistant},children:[jsxRuntime.jsxs("div",{style:u.row,children:[c!==null?jsxRuntime.jsx("span",{style:u.timestamp,children:c}):null,p?jsxRuntime.jsx("button",{type:"button",onClick:E,"aria-label":f?h.copied:t==="user"?h.copyUserMessage:h.copyAssistantMessage,style:u.iconButton,children:f?jsxRuntime.jsx(U,{name:"check",size:fa,color:l.color.success}):jsxRuntime.jsx(U,{name:"copy",size:fa,color:l.color.text.timestamp})}):null,t==="assistant"&&o!==void 0?Yu.map(_=>{let x=a===_.sentiment,R=l.color.sentiment[_.sentiment];return jsxRuntime.jsx("button",{ref:_.sentiment==="down"?k:void 0,type:"button","aria-pressed":x,"aria-label":_.label,onClick:()=>I(_.sentiment),style:u.iconButton,children:jsxRuntime.jsx(U,{name:_.sentiment==="up"?"thumbsUp":"thumbsDown",size:fa,color:R,fill:x?R:"transparent",style:_.sentiment==="neutral"?{transform:"rotate(-90deg)"}:void 0})},_.sentiment)}):null]}),S?jsxRuntime.jsx("p",{role:"status",style:u.thanks,children:h.feedbackThanks}):null,T?jsxRuntime.jsx("p",{role:"alert",style:u.failed,children:h.feedbackFailed}):null,g?jsxRuntime.jsx(Lp,{open:true,onSubmit:O,onClose:()=>v(false),returnFocusTo:k}):null]})}i(Bp,"MessageFooter");function ax(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:wr,height:wr,minWidth:wr,minHeight:wr,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(ax,"makeStyles");var jp="#10462E",Vp="Book a video visit",$p="#000000",sx="#83E0B4",lx=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:sx,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:jp,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})]),ux=/\s*-\s*(?:small|medium|large|giant|toy)\s*$/i;function dx(e){return e==null?e:e.replace(ux,"").trim()}i(dx,"formatBreedForPrompt");var cx=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 px(e){let t=String(e??"").replace(/\s+/gu," ").trim().toLowerCase().replace(/\u2019/g,"'");return cx.has(t)}i(px,"isUninformativeBreed");function fx(e){return e==="cat"?"Domestic Short Hair Mix":"Mixed Breed"}i(fx,"unspecifiedBreedLabel");function mx(e,t){return px(e)?fx(t):String(e).replace(/\s+/gu," ").trim()}i(mx,"resolveBreedLabel");function Wp(e){let t=e?.name?.trim()||h.emptyTitlePetFallback;return G(h.emptyTitle,{petName:t})}i(Wp,"emptyStateTitle");function Kp(e,t=jp){let r=Wi(e?.species),n=r==="cat"?"my cat":"my dog",o=e?.name?.trim()||null,a=o||n,s=mx(dx(e?.breed),r)||null,l=Ki(e?.ageYears),u=l===null?null:String(l);return Object.freeze(lx.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??""}),E=!o&&m.startsWith("{petName}")?y.charAt(0).toUpperCase()+y.slice(1):y;return Object.freeze({id:d.id,intent:d.intent,label:E,background:d.background,borderColor:d.brandEdge===true?t:d.borderColor,borderWidth:d.borderWidth})}))}i(Kp,"resolveQuickPrompts");var qp=44,hx=30,bx=38,vx=1.1,Ex="-0.03em",Cx=4;function Yp({pet:e,onSend:t,onVetPrep:r}){let n=z(),{desktop:o}=Hn(),a=react.useMemo(()=>Rx(n,o),[n,o]),s=te(),l=Wp(e),u=kc(_c()),d=react.useMemo(()=>Kp(e,n.color.brandInk).filter(c=>c.intent!=="vet_report"||r!==null).map(c=>c.intent==="vet_report"?{...c,label:Vp}:c),[e,r,n.color.brandInk]);return jsxRuntime.jsxs("div",{style:a.wrap,children:[jsxRuntime.jsx(u,{style:a.title,children:l}),jsxRuntime.jsx("ul",{"aria-label":h.suggestions,style:a.list,children:d.map((c,p)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx(xx,{chip:c,delayMs:Fc(s,p),durationMs:s.followUpInMs,risePx:s.promptRisePx,style:a.chip,onPress:()=>c.intent==="vet_report"?r?.():t(c.label)})},c.id))})]})}i(Yp,"QuickPrompts");function xx({chip:e,delayMs:t,durationMs:r,risePx:n,style:o,onPress:a}){let s=react.useRef(null);return react.useEffect(()=>{let l=_e(s.current,{durationMs:r,delayMs:t,fromOpacity:0,fromTranslateY:n});return ()=>l?.cancel()},[r,t,n]),jsxRuntime.jsx("button",{ref:s,type:"button",onClick:a,style:{...o,backgroundColor:e.background},children:e.label})}i(xx,"Chip");function Rx(e,t){let r=e.space,n=e.radius,o=e.type,a=Vu(e,"heading",t?bx:hx),s=o.tierSizes.compact.bodyTight;return {wrap:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:r.lg+Cx,width:"100%"},title:{margin:0,...P(e,"medium"),fontSize:a,lineHeight:`${Math.round(a*vx)}px`,letterSpacing:Ex,color:e.color.brandInk,textAlign:"left",textWrap:"balance"},list:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"flex-start",gap:r.sm},chip:{boxSizing:"border-box",minHeight:qp,minWidth:qp,maxWidth:"100%",display:"inline-flex",alignItems:"center",justifyContent:"flex-start",margin:0,padding:`${r.sm}px ${r.lg}px`,border:0,borderRadius:n.pill,cursor:"pointer",...P(e,"bold"),fontSize:s,lineHeight:`${Math.round(s*1.3)}px`,color:$p,textAlign:"left",whiteSpace:"normal"}}}i(Rx,"makeStyles");var ma=/\*\*([^*]+?)\*\*|\*([^*]+?)\*|`([^`]+?)`/g;function Xp(e){return e.includes("*")||e.includes("`")}i(Xp,"hasInlineMarkup");function Qp(e){let t=[],r=0;ma.lastIndex=0;for(let n=ma.exec(e);n!==null;n=ma.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 jsxRuntime.jsx("strong",{style:t.bold,children:r.text},n);case "italic":return t.italic?jsxRuntime.jsx("em",{style:t.italic,children:r.text},n):r.text;case "code":return t.code?jsxRuntime.jsx("code",{style:t.code,children:r.text},n):r.text;default:return r.text}}):e}i(Zp,"renderInlineMarkdown");var Jp=6,_x=3,wx=1e3,Ix=150,ga=.25,Ax=.5,Ox=[0,1,2];function ef({petName:e}){let t=z(),r=react.useMemo(()=>Mx(t),[t]),n=!t.motion.reducedMotion;return jsxRuntime.jsxs("div",{style:r.card,children:[jsxRuntime.jsx("p",{style:r.line,children:Tt(h.reading,e)}),jsxRuntime.jsx("span",{"aria-hidden":"true","data-everfur-reading-dots":"",style:r.dots,children:Ox.map(o=>n?jsxRuntime.jsx(Fx,{index:o,style:r.dot},o):jsxRuntime.jsx("span",{style:{...r.dot,...r.dotStatic}},o))})]})}i(ef,"TypingIndicator");function Fx({index:e,style:t}){let r=react.useRef(null);return react.useEffect(()=>{let n=r.current;if(n===null||typeof n.animate!="function")return;let o=n.animate([{opacity:ga,transform:"translateY(0)"},{opacity:1,transform:`translateY(-${_x}px)`,offset:.4},{opacity:ga,transform:"translateY(0)"}],{duration:wx,iterations:1/0,delay:e*Ix,easing:"ease-in-out"});return ()=>o.cancel()},[e]),jsxRuntime.jsx("span",{ref:r,style:{...t,opacity:ga}})}i(Fx,"AnimatedDot");function Mx(e){let t=e.color,r=e.space,n=e.radius,o=e.type;return {card:{boxSizing:"border-box",alignSelf:"flex-start",display:"flex",flexDirection:"row",alignItems:"center",flexWrap:"wrap",gap:r.sm,maxWidth:"100%",padding:`${r.md}px ${r.md+r.xs/2}px`,backgroundColor:t.surfaceSubtle,borderRadius:n.md},line:{margin:0,...P(e,"bold"),color:t.brandInk,fontSize:o.size.bodyTight,lineHeight:`${Math.round(o.size.bodyTight*o.lineHeight.snug)}px`},dots:{display:"inline-flex",flexDirection:"row",alignItems:"center",gap:r.xs},dot:{display:"inline-block",width:Jp,height:Jp,borderRadius:n.pill,backgroundColor:t.brandInk},dotStatic:{opacity:Ax}}}i(Mx,"makeStyles");function tf(e,t,r){let n=e-r,o=t!=null?Math.min(n,t):n;return Math.max(0,o)}i(tf,"resolveTurnScrollTarget");function rf(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(rf,"latestTurn");function nf(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(nf,"nextFollowOffset");function of(e,t){return e.scrollTop+t.getBoundingClientRect().top-e.getBoundingClientRect().top}i(of,"contentTop");function Ux(e,t,r){let n=rf(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 tf(of(e,o),a===void 0?null:of(e,a),96)}i(Ux,"turnAnchor");function af(e,t,r){let n=react.useRef(null),o=react.useRef(null),a=react.useRef(true),s=react.useRef(t),l=react.useRef(null),u=react.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 react.useLayoutEffect(()=>{t&&!s.current&&(a.current=true),s.current=t;let m=n.current;if(m===null||!a.current)return;let y=nf(Ux(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(af,"useTranscriptFollow");function Vx({notice:e,onRetry:t,onStartNew:r}){let{styles:n}=be(),o=e.tone==="error";return jsxRuntime.jsxs("div",{role:"alert",style:{...n.turnNotice,...o?n.turnNoticeError:null},children:[jsxRuntime.jsx("p",{style:{...n.turnNoticeTitle,...o?n.turnNoticeTitleError:null},children:e.title}),jsxRuntime.jsx("p",{style:n.turnNoticeBody,children:e.body}),jsxRuntime.jsx("button",{type:"button",onClick:e.action==="startNew"?r:t,style:n.turnNoticeAction,children:e.actionLabel})]})}i(Vx,"TurnNoticeCard");function lf(e,t,r,n,o,a,s,l,u,d){switch(e){case "loading":return n?jsxRuntime.jsx(St,{render:n,fallback:jsxRuntime.jsx(sf,{})}):jsxRuntime.jsx(sf,{});case "empty":return jsxRuntime.jsx(Wx,{onSelectPrompt:r,pet:o,onVetPrep:a});case "error":return jsxRuntime.jsx(qx,{error:t.error,onRetry:t.retryLast,onAddPet:u});case "populated":return jsxRuntime.jsx(Yx,{chat:t,onSelectPrompt:r,onAnswerCheckin:t.petRef?t.answerCheckin:null,imagesFor:s,onPreview:l,onCheckinFindVet:d,petName:o?.name??null});default:return ot(e)}}i(lf,"renderView");function sf(){let{styles:e}=be(),[t,r]=react.useState(false);return react.useEffect(()=>{let n=setTimeout(()=>r(true),ep);return ()=>clearTimeout(n)},[]),jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":h.loading,style:e.centered,children:t?jsxRuntime.jsx($x,{}):null})}i(sf,"LoadingState");function $x(){let{theme:e,styles:t}=be(),r=react.useRef(null),n=!e.motion.reducedMotion;return react.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:np,iterations:1/0,easing:"linear"});return ()=>a.cancel()},[n]),jsxRuntime.jsx("div",{ref:r,"aria-hidden":"true",style:t.spinner})}i($x,"Spinner");function Wx({onSelectPrompt:e,pet:t,onVetPrep:r}){let{styles:n}=be();return jsxRuntime.jsx("div",{role:"region","aria-label":h.empty,style:n.emptyScroller,children:jsxRuntime.jsxs("div",{style:n.emptyContent,children:[jsxRuntime.jsx("div",{"aria-hidden":"true",style:n.emptyLead}),jsxRuntime.jsx(Yp,{pet:t,onSend:e,onVetPrep:r})]})})}i(Wx,"EmptyState");function Kx({prompts:e,onSelectPrompt:t}){let{styles:r}=be();return e.length===0?null:jsxRuntime.jsx("ul",{"aria-label":h.followUpsHeadingNative,style:r.followUps,children:e.map((n,o)=>jsxRuntime.jsx(Gx,{prompt:n,index:o,onSelectPrompt:t},n))})}i(Kx,"FollowUps");function Gx({prompt:e,index:t,onSelectPrompt:r}){let{styles:n}=be(),o=te(),a=react.useRef(null);return react.useEffect(()=>{let s=_e(a.current,{durationMs:o.followUpInMs,delayMs:t*o.followUpStaggerMs,fromOpacity:0});return ()=>s?.cancel()},[o,t]),jsxRuntime.jsx("li",{ref:a,style:{display:"flex",maxWidth:"100%"},children:jsxRuntime.jsx("button",{type:"button",onClick:()=>r(e),style:n.followUpRow,children:e})})}i(Gx,"FollowUpRow");function qx({error:e,onRetry:t,onAddPet:r}){let{styles:n}=be(),o=r!==null&&od(e)?r:null;return jsxRuntime.jsxs("div",{role:"alert",style:n.centered,children:[jsxRuntime.jsx("p",{style:n.errorText,children:e.displayMessage}),o!==null?jsxRuntime.jsx("button",{type:"button",onClick:o,style:n.retryButton,children:h.addPet}):null,e.retryable?jsxRuntime.jsx("button",{type:"button",onClick:t,style:n.retryButton,children:h.retry}):null]})}i(qx,"ErrorState");function Yx({chat:e,onSelectPrompt:t,onAnswerCheckin:r,imagesFor:n,onPreview:o,onCheckinFindVet:a,petName:s}){let{styles:l}=be(),{messages:u,isStreaming:d}=e,c=Qx(u,e.conversationId),p=Td(e),f=Rn(u,d),m=Sd(e,"web"),y=react.useMemo(()=>lp(sp(u)),[u]),{scrollerRef:E,listRef:g,onScroll:v}=af(u,d,{awaiting:f,prompts:p.length,notice:m!==null,reconnecting:e.reconnecting===true}),S=u[u.length-1],w=d&&S!==void 0&&S.role==="assistant"?S.id:null;return jsxRuntime.jsxs("div",{ref:E,onScroll:v,role:"region","aria-label":h.transcript,tabIndex:0,style:l.list,children:[e.historyCursor?jsxRuntime.jsx("button",{type:"button",disabled:e.isLoadingHistory,onClick:()=>{e.loadOlderMessages();},style:l.earlierButton,children:e.isLoadingHistory?$.loadingEarlier:$.earlier}):null,jsxRuntime.jsx("ol",{ref:g,style:l.messageList,children:u.map(T=>T.checkin&&y.has(T.id)?jsxRuntime.jsx(xp,{message:T,checkin:T.checkin,onAnswer:r,onFindVet:a},T.id):jsxRuntime.jsx(Zx,{message:T,streaming:T.id===w,chat:e,images:n(T),onPreview:o,enters:!c.has(T.id)},T.id))}),e.reconnecting===true?jsxRuntime.jsx("p",{style:l.reconnectingCaption,children:h.reconnecting}):null,f?jsxRuntime.jsx(ef,{petName:s}):null,m!==null?jsxRuntime.jsx(Vx,{notice:m,onRetry:e.retryLast,onStartNew:e.newConversation}):null,jsxRuntime.jsx(Kx,{prompts:p,onSelectPrompt:t})]})}i(Yx,"PopulatedState");var Xx=new Set;function Qx(e,t){let r=react.useRef(null);if(r.current===null||r.current.scope!==t){let n=r.current!==null&&r.current.scope===null?r.current.ids:null,o=t===null?Xx:new Set(e.map(a=>a.id));r.current={scope:t,ids:n??o};}return r.current.ids}i(Qx,"useSettledIds");function Zx({message:e,streaming:t,chat:r,images:n,onPreview:o,enters:a}){let{theme:s,styles:l}=be(),u=te(),d=react.useRef(null),c=e.role==="user",p=e.role==="vet";react.useEffect(()=>{if(!a)return;let g=Nc(d.current,u);return ()=>g?.cancel()},[]);let f=zc(e.text,t&&e.role==="assistant",u),m=e.role==="assistant"&&!s.meta.hidePoweredBy,y=c?h.senderUser:e.role==="assistant"&&!m?h.senderAssistant:null,E=e.pending!==true&&!t;return jsxRuntime.jsxs("li",{style:{...l.row,...c?l.rowUser:l.rowAssistant},"aria-busy":e.pending===true?true:void 0,children:[m?jsxRuntime.jsx("p",{style:l.senderRow,children:jsxRuntime.jsx("span",{style:l.assistantName,children:h.assistantName})}):null,p?jsxRuntime.jsx("p",{style:l.senderRow,children:jsxRuntime.jsx("span",{style:l.vetSender,children:kd(e)})}):null,jsxRuntime.jsxs("div",{ref:d,style:{...l.bubble,...c?l.bubbleUser:p?l.bubbleVet:l.bubbleAssistant,...e.pending?l.bubblePending:null},children:[y!==null?jsxRuntime.jsx("span",{style:ut,children:`${y}: `}):null,n.length>0?jsxRuntime.jsx(hp,{images:n,onPreview:o}):null,jsxRuntime.jsx("p",{style:c?l.bubbleTextUser:p?l.bubbleTextVet:l.bubbleTextAssistant,children:e.role==="assistant"?Zp(f,{bold:l.bubbleBold,italic:l.bubbleItalic,code:l.bubbleCode}):f})]}),e.role==="assistant"&&!t?jsxRuntime.jsx(Fp,{citations:e.citations}):null,E?jsxRuntime.jsx(Bp,{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(Zx,"MessageRow");function cf(e,t,r){let[n,o]=react.useState({send:e,conversationId:t,text:r??"",seeded:r??null}),a=n.send===e&&(n.conversationId===null||n.conversationId===t);react.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=react.useCallback(l=>o(u=>({send:e,conversationId:t,text:l,seeded:u.seeded})),[e,t]);return [a?n.text:"",s]}i(cf,"useChatDraft");function pf(e,t,r,n){let o=react.useRef({draft:r,setDraft:n});o.current={draft:r,setDraft:n};let a=react.useRef(null),[s,l]=react.useState(null);react.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 ud(()=>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]),react.useEffect(()=>{e===void 0||s!==`${t??""}`||de(()=>e.write(t,r));},[e,t,r,s]);}i(pf,"usePersistedDraft");var Zn=44,nR=18,oR=14,Jn=6,iR=1200,aR=.4;function sR(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(sR,"formatDictationElapsed");function mf(e){switch(e){case "permissionDenied":return h.micBlocked;case "noSpeech":return h.noSpeech;case "unavailable":return h.dictationUnavailable}}i(mf,"dictationErrorMessage");function yf({active:e,listening:t,elapsedMs:r,disabled:n=false,onToggle:o}){let a=z(),s=react.useMemo(()=>uR(a),[a]);return jsxRuntime.jsxs("span",{style:s.wrap,children:[t?jsxRuntime.jsx("span",{"aria-hidden":"true",style:s.timer,children:sR(r)}):null,jsxRuntime.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?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lR,{style:s.pulse}),jsxRuntime.jsx(U,{name:"square",size:oR,color:a.color.brandInk,fill:a.color.brandInk,style:{position:"relative"}})]}):jsxRuntime.jsx(U,{name:"mic",size:nR,color:a.color.brandInk})}),jsxRuntime.jsx("span",{role:"status","aria-live":"polite",style:ut,children:t?h.listening:""})]})}i(yf,"DictationButton");function lR({style:e}){let t=react.useRef(null),r=te();return react.useEffect(()=>{let n=t.current;if(r.reduced||!kt(n))return;let o=n.animate([{opacity:1},{opacity:.4},{opacity:1}],{duration:iR,iterations:1/0,easing:"ease-in-out"});return ()=>o.cancel()},[r.reduced]),jsxRuntime.jsx("span",{ref:t,"aria-hidden":"true",style:e})}i(lR,"Pulse");function uR(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:Zn,height:Zn,minWidth:Zn,minHeight:Zn,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:aR,cursor:"not-allowed"},pulse:{position:"absolute",top:Jn,right:Jn,bottom:Jn,left:Jn,borderRadius:r.pill,backgroundColor:t.brandSofter}}}i(uR,"makeStyles");function gf(e){if(!e)return null;let t=e.SpeechRecognition??e.webkitSpeechRecognition;return typeof t=="function"?t:null}i(gf,"getRecognitionConstructor");function ba(e){return typeof e=="string"&&e.toLowerCase().startsWith("en")?e:"en-US"}i(ba,"resolveDictationLang");async function hf(e,t){let r=gf(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(hf,"probeDictationCapability");function cR(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(cR,"joinRecognitionResults");function bf(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(bf,"composeDictatedText");function pR(e){return e==="not-allowed"||e==="service-not-allowed"?"permissionDenied":e==="no-speech"?"noSpeech":"unavailable"}i(pR,"mapDictationError");var fR=new Set(["language-not-supported","service-not-allowed"]),mR={setTimeout:i((e,t)=>globalThis.setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>globalThis.clearTimeout(e),"clearTimeout")};function vf(e){let{env:t,capability:r,lang:n,callbacks:o}=e,a=e.timers??mR,s=e.maxDurationMs??6e4,l=gf(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,E=false,g=false,v=false,S=false,w=false,T="",b=null,k=null,I=i(()=>{if(g)return;g=true,y+=1,k!==null&&a.clearTimeout(k),k=null;let R=b;R===null&&!S&&T.trim()===""&&(R="noSpeech"),o.onEnd?.({mode:u,transcript:T,error:R});},"finish"),O=i(()=>{if(!l){b="unavailable",I();return}y+=1;let R=y,A=i(()=>R===y&&!g,"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(K=>new B(K));}catch{d=false,p=true;}F.onstart=()=>{!A()||E||(E=true,o.onStart?.(u));},F.onresult=B=>{A()&&(w=true,T=cR(B.results),o.onTranscript?.(T));},F.onerror=B=>{if(!A())return;let K=B?.error??"";if(!(K==="aborted"&&v)){if(K==="phrases-not-supported"&&!p&&!w&&!v){d=false,p=true,f=true;return}if(u==="on_device"&&!c&&!w&&!v&&fR.has(K)){u="browser",d=false,c=true,f=true;return}K==="no-speech"&&T.trim()!==""||(b=pR(K));}},F.onend=()=>{if(A()){if(f&&!v){f=false,O();return}I();}};try{F.start();}catch{if(u==="on_device"&&!c){u="browser",d=false,c=true,O();return}b="unavailable",I();}},"launch");if(r==="downloadable"&&l&&typeof l.install=="function")try{Promise.resolve(l.install({langs:[n],processLocally:!0})).catch(()=>{});}catch{}let _=i(()=>{if(!(g||v)){v=true,f=false,k!==null&&a.clearTimeout(k),k=null;try{m?.stop();}catch{I();}}},"stopListening");k=a.setTimeout(()=>{k=null,_();},s);let x={get mode(){return u},stop(){g||v||(S=true,_());},cancel(){if(g)return;v=true,S=true,f=false;let R=m;I();try{R?.abort();}catch{}}};return O(),x}i(vf,"startDictation");var yR=6e3;function va(e,t,r){if(e)try{e.track(t,{...r});}catch{}}i(va,"trackDictationEvent");function gR(){return typeof window>"u"?null:window}i(gR,"browserEnv");function Ef({enabled:e,input:t,setInput:r,phrases:n,maxLength:o,telemetry:a,env:s}){let[l,u]=react.useState("none"),[d,c]=react.useState("idle"),[p,f]=react.useState(null),[m,y]=react.useState(0),E=react.useRef(null),g=react.useRef(null),v=react.useRef(t);v.current=t;let S=react.useRef(r);S.current=r;let w=react.useRef(a);w.current=a;let[T,b]=react.useState(0),k=react.useCallback(()=>s??gR(),[s]);react.useEffect(()=>{if(!e){u("none");return}let A=k();if(!A)return;let F=true;return hf(A,ba(A.navigator?.language)).then(B=>{F&&u(B);}),()=>{F=false;}},[e,k,T]);let I=react.useCallback(()=>{let A=k();if(!A||l==="none")return;f(null),y(0),g.current=null,c("starting");let F=v.current,B=l,K=false,oe=vf({env:A,capability:l,lang:ba(A.navigator?.language),...n!==void 0?{phrases:n}:{},callbacks:{onStart:i(X=>{g.current=Date.now(),c("listening"),va(w.current,"chat_dictation_started",{mode:X});},"onStart"),onTranscript:i(X=>{S.current(bf(F,X,o));},"onTranscript"),onEnd:i(({mode:X,transcript:Be,error:W})=>{K=true,E.current=null;let Ce=g.current;g.current=null,W?(f(W),c("error"),va(w.current,"chat_dictation_failed",{mode:X,error:W})):(c("idle"),va(w.current,"chat_dictation_completed",{mode:X,duration_ms:Ce===null?0:Date.now()-Ce,char_count:Be.trim().length})),B==="downloadable"&&b(je=>je+1);},"onEnd")}});K||(E.current=oe);},[l,o,n,k]),O=react.useCallback(()=>{E.current?.stop();},[]),_=react.useCallback(()=>{E.current?.cancel();},[]),x=d==="starting"||d==="listening",R=react.useCallback(()=>{if(E.current){E.current.stop();return}I();},[I]);return react.useEffect(()=>{if(d!=="listening")return;let A=i(()=>{let B=g.current;B!==null&&y(Date.now()-B);},"tick");A();let F=setInterval(A,1e3);return ()=>clearInterval(F)},[d]),react.useEffect(()=>{if(!x||typeof document>"u")return;let A=i(()=>{document.visibilityState==="hidden"&&E.current?.stop();},"onVisibility");return document.addEventListener("visibilitychange",A),()=>document.removeEventListener("visibilitychange",A)},[x]),react.useEffect(()=>{if(!x||typeof document>"u")return;let A=i(F=>{F.key==="Escape"&&E.current?.stop();},"onKey");return document.addEventListener("keydown",A),()=>document.removeEventListener("keydown",A)},[x]),react.useEffect(()=>{if(d!=="error")return;let A=setTimeout(()=>{f(null),c("idle");},yR);return ()=>clearTimeout(A)},[d]),react.useEffect(()=>()=>{E.current?.cancel();},[]),{supported:e&&l!=="none",status:d,active:x,error:p,elapsedMs:m,toggle:R,stop:O,cancel:_}}i(Ef,"useDictation");var hR=["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 Cf(e={}){let t=new Set,r=[];for(let n of [e.name,e.breed,...hR]){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(Cf,"buildDictationPhrases");function CR(e,t,r){return e!==null?e:t==="urgent"?h.placeholderUrgentWeb:t==="followUp"?h.placeholderFollowUpWeb:Tt(h.placeholder,r)}i(CR,"composerPlaceholder");function Rf({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,mood:m="ask",children:y}){let{theme:E,styles:g}=be(),[v,S]=cf(t,a,s);pf(l,a===null?null:String(a),v,S);let[w,T]=react.useState(false),b=CR(E.meta.placeholder,m,p?.name),k=react.useMemo(()=>Cf({name:p?.name??null,breed:p?.breed??null}),[p?.name,p?.breed]),I=Ef({enabled:c,input:v,setInput:S,phrases:k,maxLength:mt,telemetry:f}),O=I.cancel,_=I.active,x=react.useRef(null),R=react.useRef(new Set),A=react.useRef(new Set);react.useEffect(()=>()=>{for(let j of R.current)Sr(j);for(let j of A.current)Sr(j);},[]);let F=react.useCallback(j=>{if(u===null)return;let Y=Array.from(j.target.files??[]);if(j.target.value="",Y.length===0)return;u.dismissRejected();let Ot=Y.map(Fn),no=u.add(Ot);Ot.forEach((Ve,Yt)=>{no[Yt]?.ok===true?R.current.add(Ve.uri):Sr(Ve.uri);});},[u]),B=react.useCallback(j=>{if(u===null)return;let Y=u.attachments.find(Ot=>Ot.id===j);u.remove(j),Y!==void 0&&R.current.delete(Y.previewUri)&&Sr(Y.previewUri);},[u]),K=u!==null&&u.uploading,oe=u!==null&&u.failed,X=K||oe,Be=react.useMemo(()=>[...v].length>mt,[v]),W=react.useCallback(()=>{if(v.trim().length===0||[...v].length>mt||X)return;_&&O();let j=u===null?yp:u.attachments.flatMap(Y=>Y.status==="uploaded"?[{uri:Y.previewUri,filename:Y.filename}]:[]);for(let Y of j)R.current.delete(Y.uri),A.current.add(Y.uri);e(v,j),S("");},[v,e,X,_,O,u,S]),Ce=react.useCallback(()=>{r();},[r]),je=react.useCallback(j=>{j.key!=="Enter"||j.shiftKey||j.altKey||j.ctrlKey||j.metaKey||j.nativeEvent.isComposing||(j.preventDefault(),W());},[W]),At=react.useCallback(j=>{_&&O(),S(j.target.value);},[_,O,S]);react.useLayoutEffect(()=>{let j=o.current;j!==null&&(j.style.height="auto",j.style.height=`${Math.min(j.scrollHeight,sa)}px`);},[v,o]);let rt=Be||X,nt=u!==null&&u.attachments.length>=u.maxPerMessage,ro=react.useCallback(j=>{j.target===j.currentTarget&&(j.preventDefault(),o.current?.focus());},[o]),pt=ip(E);return jsxRuntime.jsxs("div",{style:g.composerBlock,children:[oe?jsxRuntime.jsx("p",{role:"alert",style:g.composerError,children:h.attachmentsFailedBlocked}):null,u!==null&&u.rejected!==null?jsxRuntime.jsx("p",{role:"alert",style:g.composerError,children:ed(u.rejected)}):null,I.supported&&I.error!==null?jsxRuntime.jsx("p",{role:"alert",style:g.composerError,children:mf(I.error)}):null,u!==null?jsxRuntime.jsx(gp,{attachments:u.attachments,onRetry:u.retry,onRemove:B,onPreview:d}):null,jsxRuntime.jsxs("div",{style:{...g.composer,...u!==null?{paddingLeft:E.space.sm}:null,...w?g.composerFocused:null},onMouseDown:ro,children:[u!==null?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("input",{ref:x,type:"file",accept:Ws,multiple:u.maxPerMessage>1,onChange:F,tabIndex:-1,"aria-hidden":"true",style:ut}),jsxRuntime.jsx("button",{type:"button",onClick:()=>x.current?.click(),"aria-label":td(u.attachments.length,u.maxPerMessage),"aria-disabled":nt,style:{...g.iconControl,...nt?g.actionButtonDisabled:null},children:jsxRuntime.jsx(U,{name:"upload",size:op,color:E.color.brandInk})})]}):null,jsxRuntime.jsxs("div",{style:g.inputWrap,children:[v.length===0?jsxRuntime.jsx("span",{"aria-hidden":"true",style:g.placeholder,children:b}):null,jsxRuntime.jsx("textarea",{ref:o,rows:1,value:v,onChange:At,onKeyDown:je,onFocus:()=>T(true),onBlur:()=>T(false),"data-ef-focus-ring":"self","aria-label":h.composerLabel,"aria-description":b,style:g.input})]}),I.supported?jsxRuntime.jsx(yf,{active:I.active,listening:I.status==="listening",elapsedMs:I.elapsedMs,onToggle:I.toggle}):null,n?jsxRuntime.jsx("button",{type:"button",onClick:Ce,"aria-label":h.stop,style:g.actionButton,children:jsxRuntime.jsx("span",{"data-everfur-send-disc":"",style:g.sendDisc,children:jsxRuntime.jsx(U,{name:"square",size:rp,color:pt,fill:pt})})}):jsxRuntime.jsx("button",{type:"button",onClick:W,"aria-label":h.send,"aria-disabled":rt,style:{...g.actionButton,...rt?g.actionButtonDisabled:null},children:jsxRuntime.jsx("span",{"data-everfur-send-disc":"",style:g.sendDisc,children:jsxRuntime.jsx(U,{name:"send",size:tp,color:pt})})})]}),y]})}i(Rf,"Composer");var SR=On(),Ca=Object.freeze([]),TR=Object.freeze({display:"contents"});function Tf(e){let{style:t,className:r,renderPending:n}=e;return jsxRuntime.jsx(Ci,{capability:"chat",style:t,className:r,...n?{renderPending:n}:{},children:jsxRuntime.jsx(Rc,{onOpenUrl:e.onOpenUrl,children:jsxRuntime.jsx(wc,{headingLevel:e.headingLevel,children:jsxRuntime.jsx(kR,{...e})})})})}i(Tf,"EverfurChat");function kR(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:E,draftStore:g,vetReturnTo:v,vetUsState:S,vetPrefer:w}=e,T=e.attachments!==false,b=e.attachments===false?void 0:e.attachments?.maxPerMessage,k=e.dictation!==false,{theme:I,styles:O}=be(),_=react.useMemo(()=>Pd(t,r),[t,r]),x=Cr(_),R=Rd(x),A=react.useRef(null),F=ee(),B=Sn(),K=react.useMemo(()=>_d(B.pets,x.petRef),[B.pets,x.petRef]),oe=_R(x,K?.name??null),X=react.useMemo(()=>p===void 0?null:()=>{de(p);},[p]),Be=react.useCallback(xe=>{F.handle.setActivePet(xe),de(s,xe);},[F.handle,s]),W=bd(x),Ce=Hn(),je=react.useRef(null),At=(x.hasUnreadThreads??false)||(x.unreadCount??0)>0||W.rows.some(xe=>xe.unreadCount!==null&&xe.unreadCount>0);fd(x.openCheckin,f),sd(x.askEverfur,x.isBootstrapping,m);let rt=react.useMemo(()=>_i(y),[y]);cd(E,{conversationId:x.conversationId===null?null:String(x.conversationId),isTurnInFlight:x.isStreaming,refresh:x.refreshActiveThread});let nt=xd(react.useMemo(()=>Cd(x.messages),[x.messages])),ro=react.useMemo(()=>Od(x.petRef,v===void 0&&S===void 0&&w===void 0?void 0:{returnTo:v,usState:S,prefer:w}),[x.petRef,v,S,w]),pt=rc(ro),j=pt.open,Y=react.useMemo(()=>({available:pt.available,open:i(()=>{j();},"open")}),[pt.available,j]),Ot=react.useMemo(()=>Y.available?Y.open:u!==void 0?()=>{de(u,"emergency");}:null,[Y,u]),no=react.useMemo(()=>l!==void 0?()=>{de(l,x.petRef);}:Y.available?Y.open:null,[l,x.petRef,Y]),Ve=bn({transport:SR,...b!==void 0?{maxPerMessage:b}:{}}),Yt=PR(x.messages),[kf,Ra]=react.useState(null),Sa=react.useRef(null),Ta=react.useCallback((xe,io)=>{Sa.current=io,Ra(xe);},[]),Pf=react.useCallback(()=>Ra(null),[]),_f=react.useCallback(xe=>{x.send(xe),A.current?.focus();},[x.send]),wf=react.useCallback((xe,io)=>{Yt.record(xe,io),Ve.s3Keys.length>0?x.send(xe,{imageS3Keys:Ve.s3Keys}):x.send(xe),Ve.clear();},[x.send,Ve,Yt]),If=F.runtime.registry?.services?.telemetry??null,oo=react.useRef(null);return Ad(oo,I.color.brandInk),Ic(oo),jsxRuntime.jsxs("div",{ref:oo,className:o,style:{...O.container,...n},children:[jsxRuntime.jsx(vc,{pets:B.pets,activePet:K,unread:At,onOpenHistory:W.open?W.close:W.show,historyTriggerRef:je,onSelectPet:Be,onAddPet:X,rail:Ce.rail,historyOpen:W.open,onNewChat:W.newConversation,vetEntry:Y.available?Y.open:null}),c!==void 0?jsxRuntime.jsx(IR,{petRef:t??null,pet:c,onRegistered:B.refresh}):null,jsxRuntime.jsxs("div",{style:O.split,children:[jsxRuntime.jsxs("div",{style:O.main,children:[jsxRuntime.jsx(Wc,{surface:nt,vetEntry:Y,renderVetAction:d,onFindVet:u}),jsxRuntime.jsx("div",{style:O.body,children:lf(R,x,_f,a,K,no,Yt.imagesFor,Ta,X,Ot)}),jsxRuntime.jsx(Rf,{send:wf,draftScope:x.send,stop:x.stop,isStreaming:x.isStreaming,inputRef:A,conversationId:x.conversationId,seed:rt,draftStore:g,attachments:T&&Ve.available?Ve:null,onPreview:Ta,dictation:k,pet:K,telemetry:If,mood:wR(R,nt.source?.level??null),children:jsxRuntime.jsx("p",{role:"note","data-everfur-footnote":"",style:O.footnote,children:Tt(h.footnoteWeb,K?.name)})}),I.meta.hidePoweredBy?null:jsxRuntime.jsx("p",{style:O.poweredBy,children:h.poweredBy})]}),jsxRuntime.jsx(jc,{chat:x,history:W,mode:Ce.rail?"rail":"dialog",returnFocusTo:je})]}),jsxRuntime.jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",style:ut,children:oe}),jsxRuntime.jsx(ic,{image:kf,onClose:Pf,returnFocusTo:Sa}),jsxRuntime.jsx("div",{"data-ef-focus-ring":"self",style:TR,children:jsxRuntime.jsx(Vd,{})})]})}i(kR,"ChatBody");function PR(e){let t=react.useRef({pending:[],byMessage:new Map}),r=react.useRef(e);r.current=e;let n=react.useCallback((a,s)=>{s.length!==0&&t.current.pending.push({text:a,images:s,before:new Set(r.current.map(l=>l.id))});},[]),o=react.useCallback(a=>{let s=t.current,l=s.byMessage.get(a.id);if(l!==void 0)return l;if(a.role!=="user")return Ca;let u=s.pending.findIndex(c=>c.text===a.text&&!c.before.has(a.id));if(u<0)return Ca;let[d]=s.pending.splice(u,1);return d===void 0?Ca:(s.byMessage.set(a.id,d.images),d.images)},[]);return react.useMemo(()=>({record:n,imagesFor:o}),[n,o])}i(PR,"useSentImages");function _R(e,t){let r=Rn(e.messages,e.isStreaming),[n,o]=react.useState({send:e.send,id:e.conversationId,text:""}),a=react.useRef(false),s=react.useRef({send:e.send,id:e.conversationId});return react.useEffect(()=>{let l=s.current;if((l.send!==e.send||l.id!==null&&l.id!==e.conversationId)&&(a.current=false),s.current={send:e.send,id:e.conversationId},a.current&&!e.isStreaming){let u=e.messages[e.messages.length-1];o({send:e.send,id:e.conversationId,text:u!==void 0&&u.role==="assistant"?h.answered:""});}a.current=e.isStreaming;},[e.isStreaming,e.messages,e.send,e.conversationId]),r?Tt(h.reading,t):n.send===e.send&&n.id===e.conversationId?n.text:""}i(_R,"useReplyAnnouncement");function wR(e,t){return t==="emergency"?"urgent":e==="populated"?"followUp":"ask"}i(wR,"composerMood");function IR({petRef:e,pet:t,onRegistered:r}){let{styles:n}=be(),o=id(e,t,r);return o.status!=="failed"||o.error===null?null:jsxRuntime.jsxs("div",{role:"alert",style:n.setupNotice,children:[jsxRuntime.jsx("span",{style:n.setupNoticeText,children:o.error.displayMessage}),jsxRuntime.jsx("button",{type:"button",onClick:o.retry,style:n.setupNoticeAction,children:h.retry})]})}i(IR,"PetSetupNotice");function DR(e){let{runtime:t,userRef:r,scopeEpoch:n}=ee(),o=react.useMemo(()=>it(t.registry.services.authFor(r)),[t,r,n]),a=react.useMemo(()=>({repository:o,petRef:e}),[o,e]),[s,l]=react.useState({key:a,profile:null,loading:e!==null,error:null}),u=s.key===a?s:{profile:null,loading:e!==null,error:null},d=react.useRef(0),c=react.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 react.useEffect(()=>(c(),()=>{d.current+=1;}),[c]),react.useMemo(()=>({profile:u.profile,loading:u.loading,error:u.error,refresh:c}),[u.profile,u.loading,u.error,c])}i(DR,"useEverfurPetProfile");function NR(e){return react.createElement(cn,{clientTheme:e.clientTheme??null,seams:gn,children:e.children})}i(NR,"EverfurThemeProvider");exports.APPEARANCE_PRESETS=ql;exports.APPEARANCE_PRESET_NAMES=Gl;exports.APPEARANCE_SIZE_RANGES=mr;exports.CapabilityGate=Ci;exports.EverfurChat=Tf;exports.EverfurConfigError=re;exports.EverfurProvider=pb;exports.EverfurThemeProvider=NR;exports.EverfurThrownError=Lr;exports.THEME_SLOT_KEYS=Jy;exports.THEME_SLOT_NAMES=Ge;exports.canonicalPetSpecies=sr;exports.categoryFor=so;exports.conversationId=ry;exports.createLocalStorageKv=yi;exports.createWebAttachmentTransport=On;exports.expandAppearance=ti;exports.face=Uh;exports.faceCss=P;exports.fileToAttachmentHandle=Fn;exports.isErr=Ff;exports.isOk=Of;exports.isRetryableCode=lo;exports.petRef=ey;exports.previewTheme=nh;exports.unwrap=Mf;exports.useCapability=zt;exports.useChatAttachments=bn;exports.useEverfur=ku;exports.useEverfurChat=Cr;exports.useEverfurPetProfile=DR;exports.useEverfurPets=Sn;exports.useEverfurTheme=z;exports.userFacingError=Ft;exports.userRef=ty;
|
|
14
|
+
${r}`,a=Du.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{}Du.set(o,a);}return a}i($h,"loadBrandFont");var Wh=["regular","medium","bold","mono","monoMedium","monoBold"];function Lu(e){let{families:t,fontUrls:r,weight:n,namedFaces:o}=e.type;react.useEffect(()=>{for(let a of Wh){let s=r[a];s!=null&&$h(t[a],s,o[a]?n.regular:n[vr[a]]);}},[t,r,n,o]);}i(Lu,"useBrandFont");function Er(e){if(typeof window>"u"||typeof window.matchMedia!="function")return null;try{return window.matchMedia(e)??null}catch{return null}}i(Er,"queryFor");function gi(e){return t=>{let r=Er(e);return r===null||typeof r.addEventListener!="function"?()=>{}:(r.addEventListener("change",t),()=>r.removeEventListener?.("change",t))}}i(gi,"subscribeTo");var Nu="(prefers-color-scheme: dark)",Kh="(prefers-color-scheme: light)",zu="(prefers-reduced-motion: reduce)",Hu="(prefers-contrast: more)",Gh=gi(Nu),qh=gi(zu),Yh=gi(Hu);function Xh(){let e=Er(Nu);return e===null?null:e.matches?"dark":Er(Kh)?.matches?"light":null}i(Xh,"readColorScheme");function Qh(){return Er(zu)?.matches===true}i(Qh,"readReducedMotion");function Zh(){return Er(Hu)?.matches===true}i(Zh,"readMoreContrast");var Jh=16,eb=false;var mn=null;function Uu(e){return Number.parseFloat(window.getComputedStyle(e).fontSize)}i(Uu,"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 Uu(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?Uu(document.documentElement):tb();return Number.isFinite(e)&&e>0?e/Jh:1}catch{return 1}}i(rb,"measureTextScale");function nb(){return mn===null&&(mn=rb()),mn}i(nb,"readTextScale");function ob(e){if(typeof window>"u"||typeof window.addEventListener!="function")return ()=>{};let t=i(()=>{mn=null,e();},"onResize");return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}i(ob,"subscribeTextScale");function ib(){return react.useSyncExternalStore(Gh,Xh,()=>null)}i(ib,"useWebColorScheme");function ab(){return react.useSyncExternalStore(qh,Qh,()=>false)}i(ab,"useWebReducedMotion");function sb(){return react.useSyncExternalStore(Yh,Zh,()=>false)}i(sb,"useWebHighContrast");function lb(){return react.useSyncExternalStore(ob,nb,()=>1)}i(lb,"useWebTextScale");var gn=Object.freeze({useColorScheme:ib,useReducedMotion:ab,useTextScale:lb,useHighContrast:sb,scaleTypeSizes:true,useResolvedTheme:Lu});function db(e){return e.storage===void 0?{...e,storage:yi()}:e}i(db,"withWebDefaults");var cb=Object.freeze({platform:"web",withDefaults:db,theme:gn});function pb(e){return react.createElement(Fu,{...e,seams:cb})}i(pb,"EverfurProvider");function zt(e){let{runtime:t}=ee(),r=t.entitlements,n=react.useSyncExternalStore(r.subscribe,r.getSnapshot,r.getSnapshot);return react.useMemo(()=>bl(e,n.decisions,{isPending:n.isPending}),[e,n])}i(zt,"useCapability");var bi=class bi extends react.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(bi,"HostRenderBoundary");var hi=bi;function gb({render:e}){return e()}i(gb,"RenderHost");function St({render:e,fallback:t,resetKey:r}){return react.createElement(hi,{fallback:t,resetKey:r,children:react.createElement(gb,{render:e})})}i(St,"HostRender");function Vu(e,t,r){return Math.round(r*Mu(e,t)*10)/10}i(Vu,"tierPx");var ju='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',hb="System";function vi(e){let t=e.trim();return t.length===0||t===hb?ju:`${$u(t)}, ${ju}`}i(vi,"cssFontFamily");function bb(e){let t=e.trim();return t.length===0||t==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${$u(t)}, ui-monospace, Menlo, Consolas, monospace`}i(bb,"cssMonoFamily");function $u(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}i($u,"quote");function P(e,t){let r=e.type,n=r.families[t];return {fontFamily:t==="mono"||t==="monoMedium"||t==="monoBold"?bb(n):vi(n),fontWeight:r.namedFaces[t]?r.weight.regular:r.weight[vr[t]]}}i(P,"faceCss");var hn=Object.freeze({textAlign:"start"});var vb=48;function Eb(e){return e.isPending?"pending":e.enabled?"enabled":"disabled"}i(Eb,"selectView");function Ci(e){let{capability:t,children:r,renderDisabled:n,renderPending:o,style:a,className:s}=e,l=zt(t),u=react.useMemo(()=>Eb(l),[l]);switch(u){case "enabled":return r;case "pending":return o?jsxRuntime.jsx(St,{render:o,fallback:jsxRuntime.jsx(Wu,{capability:t,style:a,className:s})}):jsxRuntime.jsx(Wu,{capability:t,style:a,className:s});case "disabled":return n?jsxRuntime.jsx(St,{render:()=>n(l),fallback:jsxRuntime.jsx(Ku,{decision:l,style:a,className:s}),resetKey:l}):jsxRuntime.jsx(Ku,{decision:l,style:a,className:s});default:return ot(u)}}i(Ci,"CapabilityGate");function Wu({capability:e,style:t,className:r}){let n=z(),o=react.useMemo(()=>Gu(n),[n]);return jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":`Loading ${e}`,className:r,style:{...o.offstate,...t},children:jsxRuntime.jsx("div",{style:o.skeletonBar})})}i(Wu,"PendingSkeleton");function Ku({decision:e,style:t,className:r}){let n=z(),o=react.useMemo(()=>Gu(n),[n]),a=e.disabled?.reason??"";return jsxRuntime.jsx("div",{className:r,style:{...o.offstate,...t},children:a.length>0?jsxRuntime.jsx("p",{style:o.offstateText,children:a}):null})}i(Ku,"OffState");function Gu(e){let{color:t,space:r,radius:n,type:o}=e;return {offstate:{...hn,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(Gu,"makeStyles");var h=Object.freeze({placeholder:"Ask anything about {petName}\u2026",placeholderFollowUpWeb:"Ask a follow-up\u2026",placeholderUrgentWeb:"Tell us what\u2019s happening\u2026",composerLabel:"Message",attachPhotoOrFileNative:"Add a photo or file",footnoteNative:"Educational, not a diagnosis. Emergency? Call a vet.",footnoteWeb:"Everfur\u2019s assistant isn\u2019t a vet and doesn\u2019t diagnose. Your vet makes the calls. Not for emergencies: if {petName} is in distress, go to the nearest emergency animal hospital now.",suggestions:"Suggestions",reading:"Reading {petName}\u2019s records\u2026",answered:"Everfur answered.",assistantName:"Everfur",followUpsHeadingNative:"Follow-up questions",turnFailedTitleWeb:"Everfur couldn\u2019t answer that just now.",send:"Send",stop:"Stop",retry:"Try again",poweredBy:"powered by everfur",senderUser:"You",senderAssistant:"Assistant",senderVet:"Your vet",loading:"Loading",empty:"No messages yet",transcript:"Chat with Everfur",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",nearestEmergencyVet:"Nearest emergency vet",poisonControlWeb:"ASPCA Poison Control",poisonControlNative:"ASPCA Animal Poison Control, (888) 426-4435",showLatestVetAlert:"Show latest vet alert",dismissBanner:"Dismiss {label} banner",openHistoryNative:"Chats and vet messages",openHistoryWeb:"Chats",showChatsWeb:"Show chats",hideChatsWeb:"Hide chats",newReplySuffix:", a new reply",yourPets:"Your pets",yourPet:"Your pet",switchActivePet:"{name}. Switch pet",petCurrentlyActive:"{name}, currently active",switchToPet:"Switch to {name}",activePrefix:"Active \xB7 ",close:"Close",addAnotherPet:"Add a 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");function Cb(e){return e?.trim()||h.emptyTitlePetFallback}i(Cb,"petNameSlot");function Tt(e,t){return G(e,{petName:Cb(t)})}i(Tt,"forPet");var qu="tel:+18884264435";var xi=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"})]),Yu=Object.freeze([Object.freeze({sentiment:"up",label:h.feedbackHelpful}),Object.freeze({sentiment:"neutral",label:h.feedbackNeutral}),Object.freeze({sentiment:"down",label:h.feedbackNotHelpful})]);function xb(e){switch(e){case "up":return "helpful";case "neutral":return "neutral";case "down":return "not_helpful"}}i(xb,"sentimentToFeedbackType");function Xu(e,t){if(e==="down"&&t!==null){let r=xi.find(n=>n.key===t);if(r!==void 0)return r.feedbackType}return xb(e)}i(Xu,"feedbackTypeFor");var kb=Object.freeze({status:"idle",messages:Object.freeze([]),conversationId:null,error:null,isStreaming:false,isBootstrapping:true,suggestedPrompts:Object.freeze([]),unreadCount:null});function Cr(e){let{runtime:t,userRef:r,activePet:n,scopeEpoch:o}=ee(),a=e?.petRef??n??null,s=e?.conversationId??null,l=react.useMemo(()=>({runtime:t,userRef:r,petRef:a,conversationId:s,scopeEpoch:o}),[t,r,a,s,o]),[u,d]=react.useState(null),c=u?.scope===l?u.controller:t.registry.peekChat({userRef:r,petRef:a,conversationId:s}),p=react.useRef(null);react.useEffect(()=>{let _=t.registry.acquireChat({userRef:r,petRef:a,conversationId:s});return p.current=_,d({scope:l,controller:_}),()=>{p.current=null,d(x=>x?.controller===_?null:x),t.registry.releaseChat(_);}},[t,r,a,s,o,l]);let f=react.useCallback(_=>c?c.subscribe(_):Pb,[c]),m=react.useCallback(()=>c?c.getSnapshot():kb,[c]),y=react.useSyncExternalStore(f,m,m),E=react.useCallback((_,x)=>c&&p.current===c&&!c.getSnapshot().isBootstrapping?Si(c,c.send(_,x?.imageS3Keys===void 0?{}:{imageS3Keys:x.imageS3Keys}),()=>p.current===c):Promise.resolve(Ti()),[c]),g=react.useCallback(_=>c&&p.current===c&&!c.getSnapshot().isBootstrapping?Si(c,c.askEverfur(_),()=>p.current===c):Promise.resolve(Ti()),[c]),v=react.useCallback(()=>c&&p.current===c?Si(c,c.retryLast(),()=>p.current===c):Promise.resolve(Ti()),[c]),S=react.useCallback(()=>{c&&p.current===c&&c.stop();},[c]),w=react.useCallback(()=>{c&&p.current===c&&c.newConversation();},[c]),[T,b]=react.useState({controller:null,byMessage:{}}),k=T.controller===c?T.byMessage:_b,I=react.useCallback(async(_,x,R,A)=>{if(!c||p.current!==c)return C(D("accessDenied"));let F=String(_),B=T.controller===c?T.byMessage[F]:void 0;if(B===x&&R==null)return b(oe=>{let X={...oe.controller===c?oe.byMessage:{}};return delete X[F],{controller:c,byMessage:X}}),M(Object.freeze({feedbackId:""}));b(oe=>({controller:c,byMessage:{...oe.controller===c?oe.byMessage:{},[F]:x}}));let K=await c.submitFeedback(_,Xu(x,R??null),A??null);return p.current!==c?C(D("accessDenied")):(K.ok||b(oe=>{let X={...oe.controller===c?oe.byMessage:{}};return B===void 0?delete X[F]:X[F]=B,{controller:c,byMessage:X}}),K)},[c,T]),O=react.useMemo(()=>{let _=i(async x=>{if(!c||p.current!==c)return C(D("accessDenied"));let R=await x(c);return p.current===c?R:C(D("accessDenied"))},"run");return {listConversations:i(x=>_(R=>R.listConversations({...a?{petRef:a}:{},...x})),"listConversations"),getMessages:i((x,R)=>_(A=>A.getMessages(x,R)),"getMessages"),resumeConversation:i(x=>_(R=>R.resumeConversation(x)),"resumeConversation"),loadOlderMessages:i(()=>_(x=>x.loadOlderMessages()),"loadOlderMessages"),markRead:i(()=>_(x=>x.markRead()),"markRead"),refreshActiveThread:i(()=>_(x=>x.refreshActiveThread()),"refreshActiveThread"),answerCheckin:i((x,R)=>_(A=>A.answerCheckin(x,R)),"answerCheckin"),openCheckin:i(x=>_(R=>R.openCheckin(x)),"openCheckin")}},[c,a]);return react.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:w,sentimentByMessage:k,feedback:I,send:E,askEverfur:g,retryLast:v,stop:S}),[y,a,E,g,v,S,O,w,k,I])}i(Cr,"useEverfurChat");var Pb=i(()=>{},"NOOP_UNSUBSCRIBE"),_b=Object.freeze({});async function Si(e,t,r){for await(let o of t);if(!r())return C(D("accessDenied"));let n=e.getSnapshot();return n.status==="error"&&n.error!==null?C(n.error):M(wb(n.messages))}i(Si,"driveToResult");function wb(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(wb,"lastAssistantResponseId");function Ti(){return C(D("internalError",{retryable:true}))}i(Ti,"notReadyError");function ed(e){switch(e.code){case "too_large":return G(h.attachmentTooLarge,{max:Lo(Xr),filename:e.filename,size:Lo(e.sizeBytes??0)});case "too_many":return G(h.attachmentTooMany,{max:Qr});case "unsupported_type":return G(h.attachmentUnsupported,{filename:e.filename});case "network":return h.attachmentNetwork;case "server":return G(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(ed,"attachmentErrorMessage");function td(e,t){return G(e>=t?h.attachmentsFull:h.addAttachment,{used:e,total:t})}i(td,"attachControlLabel");var Fb=Object.freeze({attachments:Object.freeze([])});function bn(e={}){let{runtime:t,userRef:r,scopeEpoch:n}=ee(),o=e.maxPerMessage??Qr,a=react.useCallback(()=>{let{services:b}=t.registry;return Ks({funnel:Te({auth:b.authFor(r),...b.errorPolicy?{errorPolicy:b.errorPolicy}:{}}),transport:e.transport??b.uploadTransport,maxPerMessage:o})},[t,r,n,o,e.transport]),s=react.useMemo(()=>e.queue??a(),[e.queue,a]),l=react.useRef(new WeakSet),[u,d]=react.useState(null),c=u!==null&&u.of===s?u.queue:s;react.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=react.useSyncExternalStore(c.subscribe,c.getSnapshot,()=>Fb),[f,m]=react.useState(null),y=react.useCallback(b=>{let I=(Array.isArray(b)?b:[b]).map(_=>c.add(_)),O=I.find(_=>!_.ok);return O!==void 0&&!O.ok&&m(O.error),I},[c,m]),E=react.useCallback(b=>c.retry(b),[c]),g=react.useCallback(b=>c.remove(b),[c]),v=react.useCallback(()=>c.clear(),[c]),S=react.useCallback(()=>m(null),[m]),w=p.attachments.some(b=>b.status==="uploading"),T=p.attachments.some(b=>b.status==="failed");return react.useMemo(()=>({available:c.available,attachments:p.attachments,maxPerMessage:o,uploading:w,failed:T,blocked:w||T,s3Keys:p.attachments.flatMap(b=>b.status==="uploaded"&&b.s3Key!==null?[b.s3Key]:[]),rejected:f,add:y,retry:E,remove:g,clear:v,dismissRejected:S}),[c.available,p,o,w,T,f,y,E,g,v,S])}i(bn,"useChatAttachments");var Lb="pet_not_registered";function od(e){return e!=null&&e.reasonCode===Lb}i(od,"isPetNotRegistered");var Nb=Object.freeze({status:"idle",error:null,registered:null,retry:i(()=>{},"retry")});function id(e,t,r){let{runtime:n,userRef:o,scopeEpoch:a}=ee(),s=react.useCallback(()=>it(n.registry.services.authFor(o)),[n,o,a]),l=react.useMemo(()=>t===void 0?null:Pi(t),[t]),[u,d]=react.useState({key:null,status:"idle",error:null,registered:null}),c=react.useRef(0),p=react.useRef(r);p.current=r;let f=e===null||l===null?null:`${String(o)}|${a}|${e}|${l}`,m=react.useCallback(()=>{if(e===null||t===void 0||f===null)return;let E=++c.current;d({key:f,status:"registering",error:null,registered:null}),s().registerPet(e,t).then(g=>{E===c.current&&(g.ok?(d({key:f,status:"registered",error:null,registered:g.value}),p.current?.()):d({key:f,status:"failed",error:g.error,registered:null}));});},[s,e,f]);react.useEffect(()=>{if(f===null){c.current+=1;return}return m(),()=>{c.current+=1;}},[f,m]);let y=react.useCallback(()=>{u.status==="failed"&&m();},[u.status,m]);return react.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(id,"useChatPetRegistration");function Pi(e){return e===null||typeof e!="object"?JSON.stringify(e)??"undefined":Array.isArray(e)?`[${e.map(Pi).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)}:${Pi(n)}`).join(",")}}`}i(Pi,"stableKey");var Hb=500;function _i(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,Hb):null}i(_i,"sanitizeSeedPrompt");function sd(e,t,r){let n=_i(r),o=react.useRef(e);o.current=e;let a=react.useRef(null);react.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(sd,"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 ld(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(ld,"decideChatRefresh");function wi(e){let t=globalThis.console;try{t?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}i(wi,"reportHostFailure");function Bb(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}i(Bb,"isThenable");function de(e,...t){if(typeof e=="function")try{let r=e(...t);return Bb(r)&&Promise.resolve(r).then(void 0,wi),r}catch(r){wi(r);return}}i(de,"callHost");function ud(e,...t){let r;try{r=e(...t);}catch(n){return wi(n),Promise.resolve({ok:false,error:n})}return Promise.resolve(r).then(n=>({ok:true,value:n}),n=>({ok:false,error:n}))}i(ud,"callHostAsync");function cd(e,t){let r=react.useRef(t);r.current=t;let n=react.useRef(null),o=react.useRef(null),a=e?.isOffline===void 0?false:de(()=>e.isOffline?.()===!0)===true,s=react.useRef(()=>{});s.current=l=>{let{conversationId:u,isTurnInFlight:d,refresh:c}=r.current,p=ld(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(()=>{});}},react.useEffect(()=>{if(t.isTurnInFlight||a)return;let l=o.current;l!==null&&s.current(l);},[t.isTurnInFlight,a]),react.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(cd,"useChatLifecycle");function Vb(e){if(e===void 0)return null;let t=e.conversationId??"",r=e.petRef??"";return t===""&&r===""?null:`${String(t)}|${String(r)}`}i(Vb,"targetKey");function fd(e,t){let r=Vb(t),n=react.useRef({openCheckin:e,target:t});n.current={openCheckin:e,target:t};let o=react.useRef(null);react.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(fd,"useCheckinTarget");var $=Object.freeze({heading:"Chats",empty:"No chats yet",emptyBody:"Start a new conversation to see it here.",noMatch:"No chats match that.",loading:"Loading your chats\u2026",loadFailed:"Couldn\u2019t load your chats",loadingMore:"Loading more\u2026",untitled:"New conversation",newChat:"New chat",searchPlaceholder:"Search chats\u2026",search:"Search chats",countLabel:"Chats and vet messages",countSeparator:" \xB7 ",newReply:"New reply \xB7 {date}",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 En(e){let t=e?.replace(/\s+/g," ").trim();return t||$.untitled}i(En,"conversationTitle");function qb(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleDateString([],{month:"short",day:"numeric"})}i(qb,"conversationDate");function yd(e){let t=qb(e.updatedAt);return t===null?null:e.unreadCount!==null&&e.unreadCount>0?$.newReply.replace("{date}",t):t}i(yd,"conversationMeta");function gd(e,t){return t?`${$.countLabel}${$.countSeparator}${e}`:$.countLabel}i(gd,"historyCountLabel");function hd(e){return `${e.unreadCount!==null&&e.unreadCount>0?$.unreadPrefix:""}${$.openConversation} ${En(e.title)}`}i(hd,"openConversationLabel");function md(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\u2018\u2019]/g,"'").replace(/[\u201c\u201d]/g,'"').toLowerCase().trim().replace(/\s+/g," ")}i(md,"normalizeForSearch");function Yb(e,t){let r=md(t);if(r.length===0)return e;let n=[[],[],[]];for(let o of e){let a=md(En(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(Yb,"filterConversations");function Ai(e){return {scope:e,rows:[],cursor:null,loading:false,loadingMore:false,error:null}}i(Ai,"fresh");function bd(e){let[t,r]=react.useState(false),[n,o]=react.useState(""),a=e.listConversations,s=react.useRef(0),[l,u]=react.useState(()=>Ai(a)),d=l.scope===a?l:Ai(a);react.useEffect(()=>(s.current+=1,r(false),o(""),u(Ai(a)),()=>{s.current+=1;}),[a]);let c=react.useCallback(async w=>{let T=++s.current,b=w!==void 0;u(I=>({...I,scope:a,loading:!b,loadingMore:b,error:null}));let k=await e.listConversations(w?{cursor:w}:void 0);if(T===s.current){if(!k.ok){u(I=>({...I,loading:false,loadingMore:false,error:k.error.displayMessage}));return}u(I=>{let O=w&&I.scope===a?I.rows:[],_=new Set(O.map(x=>x.id));return {scope:a,loading:false,loadingMore:false,error:null,rows:[...O,...k.value.conversations.filter(x=>!_.has(x.id))],cursor:k.value.nextCursor===w?null:k.value.nextCursor}});}},[e.listConversations,a]),p=i(()=>{r(true),o(""),c();},"show"),f=i(()=>{s.current+=1,r(false);},"close"),m=i(async w=>{let T=++s.current;u(k=>({...k,loading:true,error:null}));let b=await e.resumeConversation(w);T===s.current&&(u(k=>({...k,loading:false,error:b.ok?null:b.error.displayMessage})),b.ok&&r(false));},"resume"),y=i(async()=>{let w=s.current,T=await e.loadOlderMessages();w===s.current&&!T.ok&&u(b=>({...b,error:T.error.displayMessage}));},"earlier"),E=i(()=>{e.newConversation(),s.current+=1,r(false);},"newConversation"),g=i(()=>{d.cursor===null||d.loading||d.loadingMore||n.trim().length>0||c(d.cursor);},"loadMore"),v=react.useMemo(()=>Yb(d.rows,n),[d.rows,n]),S=n.trim().length>0;return {...d,open:t,show:p,close:f,load:c,resume:m,earlier:y,newConversation:E,loadMore:g,query:n,setQuery:o,searching:S,filtered:v,emptyKind:d.rows.length===0?"empty":"noMatch"}}i(bd,"useHistoryPanel");var Cn="#111111",xn="#FFFFFF",Zb=Object.freeze({emergency:Object.freeze({level:"emergency",label:"Call a vet now",borderColor:"#FCA5A5",backgroundColor:"#FEF2F2",textColor:"#991B1B",reasonColor:Cn,pillColor:xn,showsVetAction:true}),schedule_soon:Object.freeze({level:"schedule_soon",label:"Vet care suggested soon",borderColor:"#FCD34D",backgroundColor:"#FFFBEB",textColor:"#92400E",reasonColor:Cn,pillColor:xn,showsVetAction:true}),home_care:Object.freeze({level:"home_care",label:"Monitor at home",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:Cn,pillColor:xn,showsVetAction:false}),general:Object.freeze({level:"general",label:"Good to know",borderColor:"#86EFAC",backgroundColor:"#F0FDF4",textColor:"#166534",reasonColor:Cn,pillColor:xn,showsVetAction:false})});function Jb(e){return `${e.messageId}:${e.level}:${e.reason??""}`}i(Jb,"urgencySignature");function ev(e){return G(h.urgencyGeneralReason,{petName:e?.trim()||h.emptyTitlePetFallback})}i(ev,"generalUrgencyReason");function Cd(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:tv(n.urgencyReason)}:n.urgencyProvided===true?{messageId:n.id,level:"general",reason:ev(t)}:null}return null}i(Cd,"latestUrgencySource");function tv(e){return typeof e=="string"&&e.trim().length>0?e:null}i(tv,"shownReason");function xd(e){let t=e===null?null:Jb(e),[r,n]=react.useState(null),[o,a]=react.useState(false);react.useEffect(()=>a(false),[t]);let l=e!==null&&(o||!(r!==null&&r===t)),u=e===null?null:Zb[e.level],d=e!==null&&!l&&e.level!=="general",c=react.useCallback(()=>{t!==null&&n(t),a(false);},[t]),p=react.useCallback(()=>a(true),[]);return react.useMemo(()=>({source:e,tier:u,signature:t,showBanner:l,showCompactIcon:d,showVetAction:l&&u!==null&&u.showsVetAction,dismissLabel:u===null?null:G(h.dismissBanner,{label:u.label}),dismiss:c,expand:p}),[e,u,t,l,d,c,p])}i(xd,"useUrgencySurface");function Rd(e){return e.isBootstrapping?"loading":e.status==="error"&&e.error&&e.messages.length===0?"error":e.messages.length===0?"empty":"populated"}i(Rd,"selectView");function rv(e){return e.code==="accessDenied"||e.code==="conversationNotFound"}i(rv,"needsNewConversation");function Sd(e,t="native"){if(e.messages.length===0)return null;let r=e.status==="error"?e.error:null;if(r!==null){let n=rv(r),o=t==="web";return {tone:"error",title:n?h.turnUnreachableTitle:o?h.turnFailedTitleWeb:h.turnFailedTitle,body:r.displayMessage,actionLabel:n?h.turnStartNewChat:o?h.retry:h.turnRetry,action:n?"startNew":"retry"}}return e.stopped===true?{tone:"neutral",title:h.turnStoppedTitle,body:h.turnStoppedBody,actionLabel:h.turnRetry,action:"retry"}:null}i(Sd,"turnNotice");function Rn(e,t){let r=e[e.length-1];return t&&(r===void 0||r.role==="user")}i(Rn,"awaitingAssistant");var nv=3,ov=Object.freeze([]);function Td(e){let t=e.messages[e.messages.length-1];if(e.isStreaming||e.status==="error"||t===void 0||t.role!=="assistant")return ov;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===nv))break}return Object.freeze(n)}i(Td,"visibleFollowUps");function kd(e){return e.sender?.displayName??h.senderVet}i(kd,"vetSenderLabel");function Pd(e,t){let r={};return e!==void 0&&(r.petRef=e),t!==void 0&&(r.conversationId=t),r}i(Pd,"buildChatOpts");function Sn(){let{runtime:e,userRef:t,activePet:r,scopeEpoch:n}=ee(),o=react.useMemo(()=>it(e.registry.services.authFor(t)),[e,t,n]),[a,s]=react.useState({repository:o,pets:[],loading:true,error:null}),l=a.repository===o?a:{pets:[],loading:true,error:null},u=react.useRef(0),d=react.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]);react.useEffect(()=>(d(),()=>{u.current+=1;}),[d]);let c=react.useMemo(()=>r===null?null:l.pets.find(p=>p.petRef===r)??null,[r,l.pets]);return react.useMemo(()=>({pets:l.pets,activePet:c,loading:l.loading,error:l.error,refresh:d}),[l.pets,l.loading,l.error,c,d])}i(Sn,"useEverfurPets");function _d(e,t){if(t!==null){let r=e.find(n=>n.petRef===t);if(r!==void 0)return r}return e[0]??null}i(_d,"headerPetOf");var ut=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 xr=2,dv="data-ef-focus-ring",wd="data-ef-focus-ring-color";function Fi(e){return {outline:`${xr}px solid ${e}`,outlineOffset:xr}}i(Fi,"focusRingStyle");var kn=false,Tn=0;function Id(e){e.metaKey||e.ctrlKey||e.altKey||(kn=true);}i(Id,"onKeyDown");function Ut(){kn=false;}i(Ut,"onPointerDown");function cv(){return typeof document>"u"?()=>{}:(Tn===0&&(document.addEventListener("keydown",Id,true),document.addEventListener("pointerdown",Ut,true),document.addEventListener("mousedown",Ut,true),document.addEventListener("touchstart",Ut,true)),Tn+=1,()=>{Tn-=1,!(Tn>0)&&(document.removeEventListener("keydown",Id,true),document.removeEventListener("pointerdown",Ut,true),document.removeEventListener("mousedown",Ut,true),document.removeEventListener("touchstart",Ut,true),kn=false);})}i(cv,"bindModality");var pv=new Set(["","text","search","email","tel","url","password","number"]);function fv(e){return e.tagName==="TEXTAREA"||e.isContentEditable?true:e.tagName!=="INPUT"?false:pv.has((e.getAttribute("type")??"").toLowerCase())}i(fv,"isTextField");function Ad(e,t){react.useEffect(()=>{let r=e.current;if(r===null)return;let n=cv(),o=new Map,a=i(l=>{let u=l.target;if(!(u instanceof HTMLElement)||o.has(u)||u.closest(`[${dv}="self"]`)!==null||!kn&&!fv(u))return;o.set(u,{outline:u.style.outline,outlineOffset:u.style.outlineOffset});let d=u.closest(`[${wd}]`),c=Fi(d?.getAttribute(wd)||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(Ad,"useKeyboardFocusRing");function Od(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(Od,"chatVetVisitOptions");var Fd=Symbol.for("@everfur/sdk/televet");function Xe(){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(Xe,"televetGlobal");function Pn(e){let t=Xe();t.snapshot=Object.freeze({...t.snapshot,...e});for(let r of [...t.listeners])try{r();}catch{}}i(Pn,"publish");function Md(e){let t=Xe().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 Dd(e){let t=Xe();return t.listeners.add(e),()=>{t.listeners.delete(e);}}i(Dd,"subscribeTelevetExperience");function Mi(){return Xe().snapshot}i(Mi,"televetExperienceSnapshot");function mv(){return Xe().hosts.length>0}i(mv,"hasTelevetHost");function Ld(e){if(!mv())return false;let t=Object.freeze({...e});return Pn({request:t,serial:Xe().snapshot.serial+1}),true}i(Ld,"presentTelevetExperience");function Di(){Xe().snapshot.request!==null&&Pn({request:null});}i(Di,"dismissTelevetExperience");function Nd(){let e=Xe(),t=e.nextHost;return e.nextHost+=1,e.hosts=[...e.hosts,t],Pn({activeHost:e.hosts[0]??null}),t}i(Nd,"claimTelevetHost");function zd(e){let t=Xe();t.hosts=t.hosts.filter(n=>n!==e);let r=t.hosts[0]??null;Pn(r===null?{activeHost:r,request:null}:{activeHost:r});}i(zd,"releaseTelevetHost");function Bd(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(Bd,"memoizeTelevetLoader");function jd(e){let[t,r]=react.useState(null);react.useEffect(()=>{let d=Nd();return r(d),()=>{zd(d);}},[]);let n=react.useSyncExternalStore(Dd,Mi,Mi),a=t!==null&&n.activeHost===t?n.request:null,[s,l]=react.useState(null),u=a!==null&&s===null;return react.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),Di());}),()=>{d=false;}},[u,e]),a===null||s===null?null:{module:s,request:a,serial:n.serial,dismiss:Di}}i(jd,"useTelevetExperienceHost");var gv=Bd(()=>import('@everfur/sdk/web/televet/booking'));function Vd({onAddToCalendar:e,onPickMedia:t}){let r=jd(gv);if(r===null)return null;let{EverfurTelevetDialog:n}=r.module;return jsxRuntime.jsx(n,{request:r.request,onClose:r.dismiss,...e?{onAddToCalendar:e}:{},...t?{onPickMedia:t}:{}},r.serial)}i(Vd,"EverfurTelevetHost");var Li=Object.freeze(["visit","join","summary","messages"]);function Ni(e){return typeof e=="string"&&Li.includes(e)}i(Ni,"isVetVisitIntent");var bv="/widget/v1/televet/handoffs",vv="/widget/v1/televet/availability",Ev="/widget/v1/televet/chat-entry",Cv=/^[a-z0-9][a-z0-9_-]{0,39}$/,xv=/^[A-Za-z0-9_-]{22}$/;var $d=32,Wd=128,Kd=64;function Hi(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(Hi,"vetVisitErrorReasonOf");function Gd(e){return C(D("validationFailed",{retryable:false,wireMessage:e}))}i(Gd,"invalid");function zi(e){return C(D("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}i(zi,"unusable");function Rv(e,t){let r={};e!==void 0&&(r.pet_ref=e);let n=t?.returnTo;if(n!=null){if(typeof n!="string"||!Cv.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(!Ni(s))return {ok:false,message:`intent must be one of ${Li.join(", ")}`};r.intent=s;}return {ok:true,body:r}}i(Rv,"handoffBody");function Sv(e){if(typeof e!="object"||e===null)return null;let{visit_ref:t,intent:r}=e;return typeof t!="string"||t.length===0||!Ni(r)?null:Object.freeze({visitRef:t,intent:r})}i(Sv,"parseVisitEcho");function Yd(e){let t=e.funnel??Te({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),r=e.telemetry,n=i(o=>(qd(r,"televet.visit.handoff_failed",{reason:Hi(o)}),C(o)),"failed");return {async createHandoff(o,a){let s;if(o!=null){let g=typeof o=="string"?[...o].length:0;if(g<1||g>Wd)return n(D("validationFailed",{retryable:false,wireMessage:`pet_ref must be 1..${Wd} characters`}));s=o;}let l=Rv(s,a);if(!l.ok){let g=Gd(l.message);return g.ok?g:n(g.error)}let u=l.body,d=await t.send("televet.visit.handoff",{method:"POST",path:bv,body:u},{idempotent:false,maxAttempts:1});if(!d.ok)return n(d.error);let c=Tv(d.value),p=u.return_to!==void 0,f=p?d.value?.flow_id:void 0;if(p&&(typeof f!="string"||!xv.test(f))){let g=zi("the handoff response carried no usable return flow id");return g.ok?g:n(g.error)}let m=u.visit_ref!==void 0,y=m?Sv(d.value?.visit):null;if(m&&y===null){let g=zi("the handoff response did not confirm the visit it opens");return g.ok?g:n(g.error)}let E=c===null?null:Object.freeze({...c,...p?{flowId:f}:{},...y!==null?{visit:y}:{}});return E===null?n(D("internalError",{retryable:false,httpStatus:502,wireMessage:"the handoff response carried no usable visit url"})):(qd(r,"televet.visit.handoff_created",{pet_scoped:u.pet_ref!==void 0}),M(E))},async checkAvailability(o){if(typeof o!="string"||o.length>$d)return Gd(`state must be at most ${$d} characters`);let a=await t.send("televet.visit.availability",{method:"POST",path:vv,body:{state:o}},{idempotent:false,maxAttempts:1});if(!a.ok)return C(a.error);let s=a.value?.available;return typeof s!="boolean"?zi("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:Ev},{maxAttempts:1});return o.ok&&o.value?.open===!0}catch{return false}}}}i(Yd,"createVetVisitController");function Tv(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||!wv(t)?null:Object.freeze({url:t,expiresAt:r})}i(Tv,"parseHandoff");var kv=new Set(["localhost","127.0.0.1","[::1]"]),Pv=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/,_v=/[\s\u0000-\u001f\u007f]/;function wv(e){if(_v.test(e))return false;let t=Pv.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"&&kv.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(wv,"isOpenableVisitUrl");function qd(e,t,r){if(e)try{e.track(t,r);}catch{}}i(qd,"safeTrack");var Xd=false;function Qd(e,t){return t!==void 0?(de(t,e),"onStartInApp"):Md(e)==="presented"?"presenter":Ld(e)?"experience":(Xd||(Xd=true,console.warn("[everfur] A vet visit had nowhere to open: mount <EverfurTelevetHost /> in your EverfurProvider, or pass prefer: 'redirect'.")),null)}i(Qd,"openVetVisitInApp");var Ui=Object.freeze({status:"idle",error:null,errorReason:null});function Av(e,t,r){let{usState:n,chat:o,scope:a}=r,s=t&&(n!==null||o),l=`${n??""}|${o?"chat":""}`,[u,d]=react.useState(null);if(react.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(Av,"usePreflight");var Ov=Object.freeze({status:"opening",error:null,errorReason:null});function ec(e,t={}){let{runtime:r,userRef:n,scopeEpoch:o}=ee(),a=zt("televet"),s=a.enabled&&n!==null,l=t.usState??null,u=t.entry==="chat",d=t.petRef??null,c=t.prefer==="redirect",p=react.useMemo(()=>{if(t.controller)return t.controller;let{services:R}=r.registry;return Yd({auth:R.authFor(n),telemetry:R.telemetry,...R.errorPolicy?{errorPolicy:R.errorPolicy}:{}})},[r,n,o,t.controller]),f=react.useRef(p);f.current=p;let m=react.useMemo(()=>({runtime:r,userRef:n,scopeEpoch:o}),[r,n,o]),y=Av(f,s,{usState:l,chat:u,scope:m}),E=s&&(y===null||y.open)&&(!u||d!==null),g=t.returnTo??null,[v,S]=react.useState(Ui),w=react.useRef(null),T=react.useRef({runtime:r,userRef:n,scopeEpoch:o});T.current={runtime:r,userRef:n,scopeEpoch:o};let b=react.useRef(p);b.current=p;let k=react.useRef(E);k.current=E;let I=react.useCallback((R,A)=>{if(w.current)return w.current;let F=i((W,Ce)=>(S({status:W==="cancelled"?"idle":"error",error:Ce,errorReason:W==="cancelled"?null:W}),Object.freeze({opened:false,reason:W,error:Ce})),"fail");if(!k.current)return Promise.resolve(F("unavailable",null));let B=e.prepare();if(!B.ok)return Promise.resolve(F(B.reason,null));let K=T.current,oe=b.current;S(Ov);let Be=(async()=>{let W,Ce={...g!==null?{returnTo:g}:{},...u?{entry:"chat"}:{},...A!==null?{visitRef:A.visitRef}:{},...A!==null&&A.intent!==null&&A.intent!==void 0?{intent:A.intent}:{}},je=Object.keys(Ce).length===0?void 0:Ce,At=R===void 0?d:R;try{W=await(je===void 0?oe.createHandoff(At):oe.createHandoff(At,je));}catch{return e.abandon(B.value),F("unknown",null)}let rt=T.current;if(rt.runtime!==K.runtime||rt.userRef!==K.userRef||rt.scopeEpoch!==K.scopeEpoch)return e.abandon(B.value),F("cancelled",null);if(!W.ok)return e.abandon(B.value),F(Hi(W.error),W.error);let nt=await e.finish(B.value,W.value);return nt!==null?F(nt,null):(S(Ui),Object.freeze(W.value.flowId===void 0?{opened:true}:{opened:true,flowId:W.value.flowId}))})().finally(()=>{w.current===Be&&(w.current=null);});return w.current=Be,Be},[e,d,g,u]),O=react.useCallback((R,A)=>{if(!k.current)return S({status:"error",error:null,errorReason:"unavailable"}),Promise.resolve(Object.freeze({opened:false,reason:"unavailable",error:null}));let F=R===void 0?d:R,B={...F!==null?{petRef:F}:{},...l!==null?{usState:l}:{},...A!==null?{visitRef:A.visitRef,intent:A.intent}:{}};return Qd(B)===null?(S({status:"error",error:null,errorReason:"unavailable"}),Promise.resolve(Object.freeze({opened:false,reason:"unavailable",error:null}))):(S(Ui),Promise.resolve(Object.freeze({opened:true})))},[d,l]),_=react.useCallback(R=>c?I(R,null):O(R,null),[c,I,O]),x=react.useCallback((R,A)=>c?I(void 0,{visitRef:R,intent:A??null}):O(void 0,{visitRef:R,intent:A??null}),[c,I,O]);return {available:E,isPending:a.isPending||(y?.pending??false),status:v.status,error:v.error,errorReason:v.errorReason,open:_,openVisit:x}}i(ec,"useVetVisitWith");function tc(e){try{e.closed||e.close();}catch{}}i(tc,"closeQuietly");var Fv=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 tc(e),"popupBlocked"}},abandon({tab:e}){tc(e);}});function rc(e){return ec(Fv,e)}i(rc,"useVetVisit");var nc='button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])';function Vi(e){return e.tagName==="DIALOG"}i(Vi,"isDialogElement");function Mv(e,t){if(t.isDefaultPrevented()||t.nativeEvent.isComposing)return false;let r=t.target;return !(r instanceof Element)||r.closest("dialog")===e}i(Mv,"ownsEscape");function Qe(e,t,r,n){let o=n?.escapeAtKeyDown===true,a=react.useRef(null),s=react.useRef(false),l=react.useRef(null),u=react.useRef(r);u.current=r;let d=react.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);},[]);react.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(!Vi(f)){f.contains(document.activeElement)||(f.querySelector(nc)??f).focus();return}let m=f;typeof m.showModal=="function"?m.open||m.showModal():m.setAttribute("open","");},[e,d]),react.useEffect(()=>d,[d]),react.useEffect(()=>{let f=a.current;if(!e||f===null||!Vi(f))return;let m=f;if(typeof m.showModal!="function")return;let y=null,E=i(v=>{v.target instanceof HTMLElement&&(y=v.target);},"onFocusIn"),g=i(()=>{if(!m.isConnected||m.open)return;let v=y;m.showModal(),v!==null&&v.isConnected&&m.contains(v)&&document.activeElement!==v&&v.focus();},"onNativeClose");return m.addEventListener("focusin",E),m.addEventListener("close",g),()=>{m.removeEventListener("focusin",E),m.removeEventListener("close",g);}},[e]);let c=react.useCallback(f=>{let m=a.current;if(m===null)return;if(f.key==="Escape"&&!Vi(m)){f.preventDefault(),f.stopPropagation(),t();return}if(f.key==="Escape"&&o&&Mv(m,f)){f.preventDefault(),t();return}if(f.key!=="Tab")return;let y=Array.from(m.querySelectorAll(nc)),E=y[0],g=y[y.length-1];if(!E||!g){f.preventDefault();return}let v=document.activeElement;f.shiftKey&&(v===E||!m.contains(v))?(f.preventDefault(),g.focus()):!f.shiftKey&&(v===g||!m.contains(v))&&(f.preventDefault(),E.focus());},[t,o]),p=react.useCallback(f=>{f.target===f.currentTarget&&(f.preventDefault(),t());},[t]);return {dialogRef:a,onKeyDown:c,onCancel:p}}i(Qe,"useModalDialog");var Dv=Object.freeze({check:jsxRuntime.jsx("polyline",{points:"20 6 9 17 4 12"}),copy:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),jsxRuntime.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:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M7 10v12"}),jsxRuntime.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:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M17 14V2"}),jsxRuntime.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:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("circle",{cx:"12",cy:"12",r:"10"}),jsxRuntime.jsx("path",{d:"M12 16v-4"}),jsxRuntime.jsx("path",{d:"M12 8h.01"})]}),x:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M18 6 6 18"}),jsxRuntime.jsx("path",{d:"m6 6 12 12"})]}),mapPin:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.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"}),jsxRuntime.jsx("circle",{cx:"12",cy:"10",r:"3"})]}),bookOpen:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M12 7v14"}),jsxRuntime.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:jsxRuntime.jsx("path",{d:"m6 9 6 6 6-6"}),arrowUpRight:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M7 7h10v10"}),jsxRuntime.jsx("path",{d:"M7 17 17 7"})]}),upload:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),jsxRuntime.jsx("polyline",{points:"17 8 12 3 7 8"}),jsxRuntime.jsx("line",{x1:"12",x2:"12",y1:"3",y2:"15"})]}),mic:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"}),jsxRuntime.jsx("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),jsxRuntime.jsx("line",{x1:"12",x2:"12",y1:"19",y2:"22"})]}),square:jsxRuntime.jsx("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),search:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("circle",{cx:"11",cy:"11",r:"8"}),jsxRuntime.jsx("path",{d:"m21 21-4.3-4.3"})]}),squarePen:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),jsxRuntime.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:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),jsxRuntime.jsx("path",{d:"M3 3v5h5"}),jsxRuntime.jsx("path",{d:"M12 7v5l4 2"})]}),plus:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M5 12h14"}),jsxRuntime.jsx("path",{d:"M12 5v14"})]}),phone:jsxRuntime.jsx("path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"}),alert:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),jsxRuntime.jsx("path",{d:"M12 9v4"}),jsxRuntime.jsx("path",{d:"M12 17h.01"})]}),send:jsxRuntime.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"})}),Lv=Object.freeze({send:Object.freeze({viewBox:"0 0 17.3973 19.8995"})});function U({name:e,size:t,color:r,fill:n,strokeWidth:o,style:a}){let s=Lv[e];return jsxRuntime.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:Dv[e]})}i(U,"Glyph");var Bt=44,In=36,zv=12,Hv=16,oc="#FFFFFF";function ic({image:e,onClose:t,returnFocusTo:r}){let n=z(),o=react.useMemo(()=>Uv(n),[n]),a=Qe(e!==null,t,r);return e===null?null:jsxRuntime.jsxs("dialog",{ref:a.dialogRef,"aria-label":G(h.previewAttachment,{filename:e.filename}),onCancel:a.onCancel,onKeyDown:a.onKeyDown,style:o.lightbox,"data-ef-focus-ring-color":oc,children:[jsxRuntime.jsx("img",{src:e.uri,alt:e.filename,style:o.image}),jsxRuntime.jsx("button",{type:"button",onClick:t,"aria-label":h.closePreview,style:o.closeHit,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:o.closeDisc,children:jsxRuntime.jsx(U,{name:"x",size:18,color:oc})})})]})}i(ic,"AttachmentImageLightbox");function Uv(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:zv-(Bt-In)/2,right:Hv-(Bt-In)/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:In,height:In,borderRadius:t.pill,backgroundColor:"rgba(0,0,0,0.45)",display:"inline-flex",alignItems:"center",justifyContent:"center"}}}i(Uv,"makeStyles");var jv="file",Vv="chat attachment upload: the file handle carries no bytes",$i="chat attachment upload failed";function On(e={}){let t=e.fetch??((r,n)=>fetch(r,n));return Object.freeze({postMultipart(r,n,o){let a=n.blob;if(a===void 0)return Promise.reject(new Error(Vv));if(o.signal?.aborted===true)return Promise.reject(new Error($i));let s=new FormData;for(let[l,u]of Object.entries(r.upload_fields))s.append(l,u);return s.append(jv,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($i));o.onProgress?.(1);},()=>Promise.reject(new Error($i)))}})}i(On,"createWebAttachmentTransport");function Fn(e){return Object.freeze({uri:URL.createObjectURL(e),mimeType:e.type,sizeBytes:e.size,name:e.name,blob:e})}i(Fn,"fileToAttachmentHandle");function Sr(e){try{URL.revokeObjectURL(e);}catch{}}i(Sr,"revokeObjectUrl");function Wi(e){return sr(e)==="cat"?"cat":"dog"}i(Wi,"speciesOf");function Ki(e){return typeof e!="number"||!Number.isFinite(e)||e<0?null:Math.floor(e)}i(Ki,"petAgeYears");function sc(e){let t=Ki(e.ageYears),r=Wi(e.species)==="cat"?"Cat":"Dog";if(t==null)return r;let n=t===1?"1 yr":`${t} yrs`;return `${r} \xB7 ${n}`}i(sc,"formatPetMeta");var ac=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 $v(e){let t=0;for(let r=0;r<e.length;r+=1)t=t*31+e.charCodeAt(r)>>>0;return ac[t%ac.length]}i($v,"pickInitialsPalette");function Gi(e){let t=(e??"").trim();return (Array.from(t)[0]??"?").toUpperCase()}i(Gi,"getInitial");function Mn(e){return {...$v(e.petRef),initial:Gi(e.name)}}i(Mn,"petInitials");var lc=Object.freeze({visitButton:"Vet"});var Dn=44,qi=44,Ln=48,Kv=18,uc=22,Gv="80vh";function dc(e){let{open:t,pets:r,activePetRef:n,onClose:o,onSelect:a,onAddPet:s=null,returnFocusTo:l}=e,u=z(),d=react.useMemo(()=>qv(u),[u]),c=Qe(t,o,l);return t?jsxRuntime.jsxs("dialog",{ref:c.dialogRef,"aria-label":h.yourPets,onCancel:c.onCancel,onKeyDown:c.onKeyDown,style:d.sheet,children:[jsxRuntime.jsx("h2",{style:d.title,children:h.yourPets}),jsxRuntime.jsx("ul",{style:d.list,children:r.map(p=>{let f=p.petRef===n,m=p.name?.trim()||h.yourPet,y=Mn(p);return jsxRuntime.jsx("li",{children:jsxRuntime.jsxs("button",{type:"button","aria-current":f?"true":void 0,"aria-label":G(f?h.petCurrentlyActive:h.switchToPet,{name:m}),onClick:()=>a(p.petRef),style:{...d.row,...f?d.rowActive:null},children:[jsxRuntime.jsx("span",{style:d.ring,children:jsxRuntime.jsx("span",{style:{...d.disc,backgroundColor:y.background,color:y.foreground},children:y.initial})}),jsxRuntime.jsxs("span",{style:d.text,children:[jsxRuntime.jsx("span",{style:d.name,children:m}),jsxRuntime.jsx("span",{style:d.meta,children:`${f?h.activePrefix:""}${sc(p)}`})]}),f?jsxRuntime.jsx(U,{name:"check",size:Kv,color:u.color.brandInk,strokeWidth:2.5}):null]})},p.petRef)})}),s!==null?jsxRuntime.jsxs("button",{type:"button","aria-label":h.addAnotherPet,onClick:s,style:d.addRow,children:[jsxRuntime.jsx("span",{style:d.addDisc,children:"+"}),jsxRuntime.jsx("span",{style:d.addLabel,children:h.addAnotherPet})]}):null,jsxRuntime.jsx("button",{type:"button",onClick:o,style:d.close,children:h.close})]}):null}i(dc,"PetSwitcherDialog");function qv(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:Gv,overflowY:"auto",padding:`${r.lg+4}px ${r.lg+4}px ${r.xxl}px`,border:0,borderRadius:`${uc}px ${uc}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:Dn,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:Ln,height:Ln,borderRadius:n.pill,border:`2px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:qi,height:qi,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...P(e,"bold"),fontSize:Math.round(qi*.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:Dn,padding:`${r.xs}px ${r.sm}px`,background:"none",border:"none",borderRadius:n.lg,cursor:"pointer",textAlign:"left"},addDisc:{boxSizing:"border-box",width:Ln,height:Ln,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:Dn,minWidth:Dn,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(qv,"makeStyles");var Tr=35,hc=1.75,Yi=Tr-hc*2,cc=12.4,pc=36,fc=20,mc=9,Qv=1.5,dt=44,bc=28,Zv=160;function vc(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=z(),m=react.useMemo(()=>rE(f),[f]),y=jsxRuntime.jsxs("div",{style:m.historyControls,children:[p!==void 0?jsxRuntime.jsx("button",{type:"button",onClick:p,"aria-label":$.newChat,style:m.menuButton,children:jsxRuntime.jsx(U,{name:"squarePen",size:fc,color:f.color.text.primary})}):null,jsxRuntime.jsx("button",{ref:a,type:"button",onClick:o,"aria-label":Jv(d,c,n),"aria-expanded":c,style:m.menuButton,children:jsxRuntime.jsxs("span",{"aria-hidden":"true",style:m.menuDisc,children:[jsxRuntime.jsx(U,{name:"history",size:fc,color:f.color.text.primary}),n?jsxRuntime.jsx("span",{style:m.unreadDot}):null]})})]});return jsxRuntime.jsxs("header",{style:m.bar,children:[d?null:y,jsxRuntime.jsx("div",{style:m.centre,children:jsxRuntime.jsx(eE,{logoUrl:f.meta.logoUrl,name:f.meta.displayName,styles:m})}),u!==null?jsxRuntime.jsx("button",{type:"button",onClick:u,style:m.vetEntry,children:lc.visitButton}):null,jsxRuntime.jsx(tE,{pets:t,activePet:r,styles:m,onSelectPet:s,onAddPet:l}),d?y:null]})}i(vc,"ChatHeader");function Jv(e,t,r){let n=e?t?h.hideChatsWeb:h.showChatsWeb:h.openHistoryWeb;return r?`${n}${h.newReplySuffix}`:n}i(Jv,"historyControlLabel");function eE({logoUrl:e,name:t,styles:r}){let[n,o]=react.useState(null);return e===null||n===e?null:jsxRuntime.jsx("img",{src:e,alt:t,height:bc,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]=react.useState(false),l=react.useRef(null),u=t?.name?.trim()||h.yourPet;return e.length<2&&o===null||t===null?jsxRuntime.jsx("div",{role:"img","aria-label":u,style:r.avatarSlot,children:jsxRuntime.jsx(yc,{pet:t,styles:r})}):jsxRuntime.jsxs("div",{style:r.avatarSlot,children:[jsxRuntime.jsxs("button",{ref:l,type:"button","aria-haspopup":"dialog","aria-expanded":a,"aria-label":G(h.switchActivePet,{name:u}),onClick:()=>s(true),style:r.avatarButton,children:[jsxRuntime.jsx(yc,{pet:t,styles:r}),jsxRuntime.jsx("span",{"aria-hidden":"true",style:r.addBadge,children:jsxRuntime.jsx("span",{style:r.addBadgeGlyph,children:"+"})})]}),jsxRuntime.jsx(dc,{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 yc({pet:e,styles:t}){let r=e===null?null:Mn(e);return jsxRuntime.jsx("span",{style:t.ring,children:jsxRuntime.jsx("span",{style:{...t.disc,...r===null?t.discEmpty:{backgroundColor:r.background,color:r.foreground}},children:r===null?Gi(null):r.initial})})}i(yc,"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:dt,minHeight:dt,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:pc,height:pc,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:mc,height:mc,borderRadius:n.pill,backgroundColor:t.danger,border:`${Qv}px solid ${t.surfaceCream}`},centre:{flex:"1 1 auto",minWidth:0,display:"flex",alignItems:"center",justifyContent:"center"},logo:{display:"block",height:bc,width:"auto",maxWidth:Zv,objectFit:"contain"},avatarSlot:{position:"relative",minWidth:dt,minHeight:dt,display:"inline-flex",alignItems:"center",justifyContent:"center"},avatarButton:{position:"relative",boxSizing:"border-box",minWidth:dt,minHeight:dt,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:0,border:0,background:"transparent",cursor:"pointer"},ring:{boxSizing:"border-box",width:Tr,height:Tr,borderRadius:n.pill,border:`${hc}px solid ${t.success}`,display:"inline-flex",alignItems:"center",justifyContent:"center"},disc:{boxSizing:"border-box",width:Yi,height:Yi,borderRadius:n.pill,display:"inline-flex",alignItems:"center",justifyContent:"center",...P(e,"bold"),fontSize:Math.round(Yi*.42),lineHeight:1,textTransform:"uppercase"},discEmpty:{backgroundColor:t.surfaceSubtle,color:t.text.muted},addBadge:{position:"absolute",bottom:(dt-Tr)/2,right:(dt-Tr)/2,boxSizing:"border-box",width:cc,height:cc,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 Ec=Object.freeze({kind:"static"}),Cc=react.createContext(Ec);function xc(){return react.useContext(Cc)}i(xc,"useCitationLinks");function sE(e){return react.useMemo(()=>e===void 0?Ec:Object.freeze({kind:"host",open:i(t=>{de(e,t,"citation");},"open")}),[e])}i(sE,"useCitationLinkMode");function Rc({onOpenUrl:e,children:t}){let r=sE(e);return react.createElement(Cc.Provider,{value:r},t)}i(Rc,"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 Sc(e){return e===void 0||e.backgroundColor!==void 0?e:e.borderRadius===void 0?void 0:{borderRadius:e.borderRadius}}i(Sc,"ownGroundSlot");function ve(e){return e?.textColor===void 0?{}:{color:e.textColor}}i(ve,"slotText");function Ee(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(Ee,"slotBoxCss");var Tc=2;function Xi(e){return typeof e!="number"||!Number.isInteger(e)?Tc:e<1?1:e>6?6:e}i(Xi,"headingLevel");function dE(e){return e>=6?6:e+1}i(dE,"nextHeadingLevel");function kc(e){return `h${String(e)}`}i(kc,"headingTag");var cE=dE(Tc);react.createContext(cE);var Pr=320,hE=480,bE=Pr+hE,vE=1024,_r=768,Pc="72ch",Zi=Object.freeze({rail:false,desktop:false}),EE=Object.freeze({rail:true,desktop:false}),CE=Object.freeze({rail:true,desktop:true});function xE(e){return e===null||e<bE?Zi:e>=vE?CE:EE}i(xE,"layoutFor");var zn=react.createContext({layout:Zi,report:i(()=>{},"report"),headingLevel:Xi(void 0)});function Hn(){return react.useContext(zn).layout}i(Hn,"useChatLayout");function _c(){return react.useContext(zn).headingLevel}i(_c,"useChatHeadingLevel");function wc({children:e,headingLevel:t}){let[r,n]=react.useState(Zi),o=Xi(t),a=react.useMemo(()=>({layout:r,report:n,headingLevel:o}),[r,o]);return react.createElement(zn.Provider,{value:a},e)}i(wc,"ChatLayoutScope");function Ic(e){let{report:t}=react.useContext(zn);react.useEffect(()=>{let r=e.current;if(r===null||typeof ResizeObserver>"u")return;let n=i(()=>{let a=r.getBoundingClientRect().width;t(xE(a>0?Math.round(a):null));},"read");n();let o=new ResizeObserver(n);return o.observe(r),()=>o.disconnect()},[e,t]);}i(Ic,"useMeasuredLayout");var Un=Object.freeze({standard:vt.standard,emphasized:vt.emphasized,exit:vt.exit,outQuad:Object.freeze([.25,.46,.45,.94]),out:Object.freeze([.23,1,.32,1])}),Bn=pr,Ac=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,bubbleInMs:280,bubbleFromScale:.94,bubbleRisePx:6,promptRisePx:8,reduced:false}),RE=Object.freeze({...Ac,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,bubbleInMs:0,bubbleFromScale:1,bubbleRisePx:0,promptRisePx:0,reduced:true});function Oc(e){return e.motion.reducedMotion?RE:Ac}i(Oc,"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 te(){let e=z();return react.useMemo(()=>Oc(e),[e])}i(te,"useChatMotion");function kt(e){return e!==null&&typeof e.animate=="function"}i(kt,"canAnimate");function _e(e,t){if(!kt(e)||t.durationMs<=0)return null;let r=[t.fromTranslateX!==void 0?`translateX(${t.fromTranslateX})`:"",t.fromTranslateY!==void 0&&t.fromTranslateY!==0?`translateY(${t.fromTranslateY}px)`:""].filter(a=>a.length>0).join(" "),n={...t.fromOpacity!==void 0?{opacity:t.fromOpacity}:{},...r.length>0?{transform:r}:{}},o={...t.fromOpacity!==void 0?{opacity:1}:{},...r.length>0?{transform:"none"}:{}};try{return e.animate([n,o],{duration:t.durationMs,delay:t.delayMs??0,easing:Bn(Un.standard),fill:"backwards"})}catch{return null}}i(_e,"animateEnter");function Nc(e,t){if(!kt(e)||t.bubbleInMs<=0)return null;try{return e.animate([{opacity:0,transform:`translateY(${t.bubbleRisePx}px) scale(${t.bubbleFromScale})`},{opacity:1,transform:"none"}],{duration:t.bubbleInMs,easing:Bn(Un.out),fill:"backwards"})}catch{return null}}i(Nc,"popIn");function Ji(e,t,r){if(!kt(e)||t<=0)return Promise.resolve();try{let n=e.animate([{opacity:1,transform:"none"},{opacity:0,...r!==void 0?{transform:`translateX(${r})`}:{}}],{duration:t,easing:Bn(Un.exit),fill:"forwards"});return new Promise(o=>{n.onfinish=()=>o(),n.oncancel=()=>o();})}catch{return Promise.resolve()}}i(Ji,"animateExit");function ea(e,t){let[r,n]=react.useState(e),o=r&&!e;return react.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(ea,"usePresence");function zc(e,t,r){let[n,o]=react.useState(t&&!r.reduced?0:e.length),a=react.useRef({text:e,active:t});return a.current={text:e,active:t},react.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(zc,"useRevealedText");var Ne=44,wE="85%",ta={y:16,blur:48,alpha:.18},IE=.32,Hc=8,AE=.22,Uc=1.5,OE="50%";function jc({chat:e,history:t,mode:r,returnFocusTo:n}){let o=z(),a=react.useMemo(()=>DE(o),[o]),s=te(),l=Qe(r==="dialog"&&t.open,t.close,n),u=react.useRef(null),d=t.open,c=s.drawerMs;if(react.useEffect(()=>{if(!d||r!=="dialog")return;let f=_e(u.current,{durationMs:c,fromOpacity:0,fromTranslateX:"-100%"});return ()=>f?.cancel()},[d,r,c]),!d)return null;let p=jsxRuntime.jsx(FE,{chat:e,history:t,styles:a,theme:o,rail:r==="rail"});return r==="rail"?jsxRuntime.jsx("aside",{ref:f=>{u.current=f;},"aria-label":$.heading,style:a.rail,children:p}):jsxRuntime.jsx("div",{style:a.scrim,onClick:t.close,children:jsxRuntime.jsx("div",{ref:f=>{l.dialogRef.current=f,u.current=f;},role:"dialog","aria-modal":"true","aria-label":$.heading,tabIndex:-1,onKeyDown:l.onKeyDown,onClick:f=>f.stopPropagation(),style:a.overlay,children:p})})}i(jc,"HistoryDrawer");function FE({chat:e,history:t,styles:r,theme:n,rail:o}){let{rows:a,filtered:s,loading:l,loadingMore:u,error:d,cursor:c,emptyKind:p,searching:f,query:m,setQuery:y}=t,E=!l&&d===null,[g,v]=react.useState(false);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{style:r.head,children:[jsxRuntime.jsx("p",{style:r.heading,children:$.heading}),jsxRuntime.jsxs("button",{type:"button",onClick:t.newConversation,style:r.newChat,children:[jsxRuntime.jsx(U,{name:"squarePen",size:16,color:n.color.onPrimary}),jsxRuntime.jsx("span",{children:$.newChat})]}),jsxRuntime.jsx("button",{type:"button",onClick:t.close,"aria-label":o?h.hideChatsWeb:$.close,style:r.roundControl,children:jsxRuntime.jsx(U,{name:"x",size:18,color:n.color.brandInk})})]}),jsxRuntime.jsxs("label",{style:{...r.searchPill,...g?{borderColor:n.color.brandInk,...Fi(n.color.brandInk)}:null},children:[jsxRuntime.jsx(U,{name:"search",size:16,color:n.color.text.muted}),jsxRuntime.jsx("input",{type:"search",value:m,onChange:S=>y(S.target.value),onFocus:()=>v(true),onBlur:()=>v(false),"data-ef-focus-ring":"self","aria-label":$.search,placeholder:$.searchPlaceholder,autoComplete:"off",style:r.searchInput})]}),E&&a.length>0?jsxRuntime.jsx("p",{style:r.count,children:gd(a.length,c===null)}):null,l?jsxRuntime.jsx("p",{role:"status",style:r.state,children:$.loading}):null,d!==null?jsxRuntime.jsxs("div",{style:r.stateBlock,children:[jsxRuntime.jsx("p",{role:"alert",style:r.state,children:$.loadFailed}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{t.load();},"aria-label":$.retryA11y,style:r.retryControl,children:$.retry})]}):null,E&&s.length===0?jsxRuntime.jsxs("div",{style:r.stateBlock,children:[jsxRuntime.jsx("p",{style:r.state,children:p==="noMatch"?$.noMatch:$.empty}),p==="noMatch"?null:jsxRuntime.jsx("p",{style:r.stateBody,children:$.emptyBody})]}):null,E&&s.length>0?jsxRuntime.jsx(ME,{rows:s,activeId:e.conversationId,onSelect:S=>{t.resume(S);},styles:r,canLoadMore:c!==null&&!f&&!u,onLoadMore:t.loadMore}):null,u?jsxRuntime.jsx("p",{role:"status",style:r.state,children:$.loadingMore}):null]})}i(FE,"PanelBody");function ME({rows:e,activeId:t,onSelect:r,styles:n,canLoadMore:o,onLoadMore:a}){let s=react.useRef(null),l=typeof IntersectionObserver=="function",u=react.useRef(a);u.current=a;let d=react.useCallback(c=>{s.current=c;},[]);return react.useEffect(()=>{let c=s.current;if(!l||!o||c===null)return;let p=new IntersectionObserver(f=>{f.some(m=>m.isIntersecting)&&u.current();},{rootMargin:OE});return p.observe(c),()=>p.disconnect()},[l,o,e.length]),jsxRuntime.jsxs("ul",{style:n.list,children:[e.map(c=>{let p=c.unreadCount!==null&&c.unreadCount>0,f=c.id===t,m=yd(c);return jsxRuntime.jsx("li",{children:jsxRuntime.jsxs("button",{type:"button","aria-label":hd(c),"aria-current":f?"true":void 0,onClick:()=>r(c.id),style:{...n.row,...f?n.rowActive:null},children:[jsxRuntime.jsxs("span",{style:n.rowText,children:[jsxRuntime.jsx("span",{style:n.rowTitle,children:En(c.title)}),m!==null?jsxRuntime.jsx("span",{style:{...n.rowMeta,...p?n.rowMetaUnread:null},children:m}):null]}),p?jsxRuntime.jsx("span",{"aria-hidden":"true",style:n.unreadDot}):null]})},c.id)}),o?jsxRuntime.jsx("li",{ref:d,style:n.sentinel,children:l?null:jsxRuntime.jsx("button",{type:"button",onClick:a,style:n.textControl,children:$.more})}):null]})}i(ME,"RowList");function DE(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=o.tierSizes.control,s=t.text.primary,l={boxSizing:"border-box",display:"flex",flexDirection:"column",gap:r.md,padding:`${r.lg}px ${r.lg}px ${r.lg}px`,backgroundColor:t.surface,color:s,overflowY:"auto"},u={boxSizing:"border-box",minHeight:Ne,minWidth:Ne,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,padding:`0 ${r.md}px`,borderRadius:n.pill,border:`1px solid ${t.brandInk}`,background:"transparent",color:t.brandInk,cursor:"pointer",...P(e,"medium"),fontSize:a.body};return {rail:{...l,flex:`0 0 ${Pr}px`,width:Pr,minHeight:0,borderLeft:`1px solid ${t.borderRingCream}`},scrim:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden",zIndex:1,backgroundColor:Nt(t.shadow,IE)??"transparent"},overlay:{...l,position:"absolute",top:0,bottom:0,left:0,margin:0,width:Pr,maxWidth:wE,border:0,borderRadius:0,boxShadow:`0 ${ta.y}px ${ta.blur}px ${Nt(t.brand,ta.alpha)??"transparent"}`,outline:"none"},head:{display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm},heading:{margin:0,marginRight:"auto",...P(e,"bold"),fontSize:o.tierSizes.heading.subtitle,lineHeight:`${Math.round(o.tierSizes.heading.subtitle*o.lineHeight.snug)}px`,color:s},newChat:{boxSizing:"border-box",minHeight:Ne,display:"inline-flex",alignItems:"center",gap:r.xs+2,margin:0,padding:`0 ${r.lg}px`,border:0,borderRadius:n.pill,backgroundColor:t.primary,color:t.onPrimary,cursor:"pointer",...P(e,"bold"),fontSize:a.bodyTight,...Ee(e.slots.primaryButton),...ve(e.slots.primaryButton)},searchPill:{boxSizing:"border-box",minWidth:0,minHeight:Ne,display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm,padding:`0 ${r.md+r.xs/2}px`,borderRadius:n.pill,backgroundColor:t.surface,border:`${Uc}px solid ${t.brandBorderStrong}`,color:t.text.primary},searchInput:{boxSizing:"border-box",flex:"1 1 auto",minWidth:0,minHeight:Ne-Uc*2,margin:0,padding:0,border:0,outline:"none",background:"transparent",...P(e,"regular"),fontSize:Math.max(16,o.size.bodyTight),lineHeight:`${o.size.bodyTight+5}px`,color:t.text.primary},roundControl:{boxSizing:"border-box",flexShrink:0,width:Ne,height:Ne,minWidth:Ne,minHeight:Ne,margin:0,padding:0,border:0,display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer",background:"transparent",borderRadius:n.pill},count:{margin:`${r.xs}px 0 0`,...P(e,"regular"),fontSize:o.size.caption,lineHeight:`${o.size.caption+5}px`,color:t.text.muted},state:{margin:0,...P(e,"regular"),fontSize:o.size.bodyTight,lineHeight:`${o.size.bodyTight+5}px`,color:t.text.muted},stateBody:{margin:0,...P(e,"regular"),fontSize:o.size.caption,lineHeight:`${o.size.caption+4}px`,color:t.text.muted},stateBlock:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:r.sm},textControl:u,retryControl:{...u,...Ee(e.slots.primaryButton),...ve(e.slots.primaryButton)},list:{listStyle:"none",margin:`0 -${r.md}px`,padding:0,display:"flex",flexDirection:"column",gap:2},row:{boxSizing:"border-box",width:"100%",minHeight:Ne,display:"flex",flexDirection:"row",alignItems:"center",gap:r.sm,margin:0,padding:`${r.sm+r.xs/2}px ${r.md}px`,border:0,borderRadius:n.md,background:"transparent",color:s,textAlign:"left",cursor:"pointer",font:"inherit"},rowActive:{backgroundColor:Nt(t.scanButtonPink,AE)??"transparent"},rowText:{flex:"1 1 auto",minWidth:0,display:"flex",flexDirection:"column",gap:1},rowTitle:{...P(e,"bold"),fontSize:o.size.bodyTight,lineHeight:`${Math.round(o.size.bodyTight*o.lineHeight.snug)}px`,color:t.brandInk,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},rowMeta:{...P(e,"regular"),fontSize:o.size.caption,lineHeight:`${o.size.caption+5}px`,color:t.text.muted},rowMetaUnread:{...P(e,"bold"),color:t.text.primary},unreadDot:{boxSizing:"border-box",flexShrink:0,width:Hc,height:Hc,borderRadius:n.pill,backgroundColor:t.danger},sentinel:{minHeight:1,display:"flex",justifyContent:"center",padding:`${r.xs}px 0`}}}i(DE,"makeStyles");var Je=44,jt=22,zE=14,HE=20,Vc=16,UE=20,BE=1.5,jE=1.5;function Wc({surface:e,vetEntry:t,renderVetAction:r,onFindVet:n}){let o=z(),a=react.useMemo(()=>KE(o),[o]),s=te(),l=ea(e.showBanner,s.bannerOutMs),u=ea(e.showCompactIcon,s.iconOutMs);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[l.present&&e.tier!==null&&e.source!==null?jsxRuntime.jsx(VE,{surface:e,exiting:l.exiting,styles:a,action:e.showVetAction?jsxRuntime.jsx($E,{tier:e.tier,styles:a,vetEntry:t,renderVetAction:r,onFindVet:n}):null},e.signature??"banner"):null,u.present?jsxRuntime.jsx(WE,{exiting:u.exiting,onExpand:e.expand,styles:a}):null]})}i(Wc,"UrgencyBanner");function VE({surface:e,exiting:t,styles:r,action:n}){let o=react.useRef(null),a=te(),s=z();react.useEffect(()=>{let p=_e(o.current,{durationMs:a.bannerInMs,fromOpacity:0});return ()=>p?.cancel()},[a.bannerInMs]),react.useEffect(()=>{t&&Ji(o.current,a.bannerOutMs);},[t,a.bannerOutMs]);let l=e.tier,u=e.source;if(l===null||u===null)return null;let d=l.level==="emergency"||l.level==="schedule_soon",c=Kc(l,s);return jsxRuntime.jsxs("div",{ref:o,role:d?"alert":"status","aria-hidden":t?true:void 0,style:{...r.banner,borderColor:c.edge,backgroundColor:c.fill},children:[jsxRuntime.jsxs("p",{style:{...r.label,color:c.title},children:[l.level==="emergency"?jsxRuntime.jsx(U,{name:"alert",size:UE,color:c.title}):null,jsxRuntime.jsx("span",{children:l.label})]}),u.reason?jsxRuntime.jsx("p",{style:{...r.reason,color:c.reason},children:u.reason}):null,n,jsxRuntime.jsx("button",{type:"button",onClick:e.dismiss,"aria-label":e.dismissLabel??h.close,style:r.dismissHit,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:r.dismissDisc,children:jsxRuntime.jsx(U,{name:"x",size:zE,color:c.title,strokeWidth:2.25})})})]})}i(VE,"Banner");function Kc(e,t){if(e.level==="emergency"){let r=t.color;return {edge:r.danger,fill:r.badgeBgCritical,title:r.danger,reason:r.text.primary}}return {edge:e.borderColor,fill:e.backgroundColor,title:e.textColor,reason:e.reasonColor}}i(Kc,"tierPaint");function $E({tier:e,styles:t,vetEntry:r,renderVetAction:n,onFindVet:o}){let a=z(),s=e.level,l=s==="emergency",u=!r.available&&o!==void 0,d=r.available?r.open:o!==void 0?()=>{de(o,s);}:null,c=l&&u?h.nearestEmergencyVet:h.findVet,p=l&&u?h.nearestEmergencyVet:h.findVetA11y,f=Sc(a.slots.vetVisitButton),m=Kc(e,a),y=l?{...t.pill,borderColor:a.color.primary,backgroundColor:a.color.primary,color:a.color.onPrimary}:{...t.pill,borderColor:e.borderColor,backgroundColor:e.pillColor,color:e.textColor},E=f?.textColor??(l?a.color.onPrimary:m.title),g=d===null?null:jsxRuntime.jsxs("button",{type:"button",onClick:d,"aria-label":p,style:{...y,...Ee(f),...ve(f)},children:[jsxRuntime.jsx(U,{name:"mapPin",size:Vc,color:E}),jsxRuntime.jsx("span",{children:c})]}),v=l?jsxRuntime.jsxs("a",{href:qu,style:{...t.pill,...t.ghost,borderColor:m.title,color:m.title},children:[jsxRuntime.jsx(U,{name:"phone",size:Vc,color:m.title}),jsxRuntime.jsx("span",{children:h.poisonControlWeb})]}):null,S=n!==void 0?jsxRuntime.jsx(St,{render:()=>n(s),fallback:g,resetKey:s}):g;return S===null&&v===null?null:jsxRuntime.jsxs("div",{style:t.actionRow,children:[S,v]})}i($E,"VetAction");function WE({exiting:e,onExpand:t,styles:r}){let n=react.useRef(null),o=te(),a=z();return react.useEffect(()=>{let s=_e(n.current,{durationMs:o.iconInMs,fromOpacity:0});return ()=>s?.cancel()},[o.iconInMs]),react.useEffect(()=>{e&&Ji(n.current,o.iconOutMs);},[e,o.iconOutMs]),jsxRuntime.jsx("div",{ref:n,"aria-hidden":e?true:void 0,style:r.iconRow,children:jsxRuntime.jsx("button",{type:"button",onClick:t,"aria-label":h.showLatestVetAlert,style:r.iconButton,children:jsxRuntime.jsx(U,{name:"info",size:HE,color:a.color.text.muted})})})}i(WE,"CompactIcon");function KE(e){let t=e.space,r=e.radius,n=e.type,o=n.tierSizes.heading,a=n.tierSizes.control;return {banner:{position:"relative",boxSizing:"border-box",width:`calc(100% - ${t.lg*2}px)`,maxWidth:_r,margin:`${t.sm}px auto ${t.xs}px`,padding:`${t.lg}px ${t.lg+t.xs/2}px`,borderRadius:r.lg,borderStyle:"solid",borderWidth:BE,display:"flex",flexDirection:"column",gap:t.xs},label:{margin:0,paddingRight:jt,display:"flex",flexDirection:"row",alignItems:"center",gap:t.sm,...P(e,"bold"),fontSize:o.body,lineHeight:`${Math.round(o.body*n.lineHeight.snug)}px`},reason:{margin:0,paddingRight:jt,...P(e,"regular"),fontSize:n.size.bodyTight,lineHeight:`${Math.round(n.size.bodyTight*1.5)}px`,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},actionRow:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:t.sm,marginTop:t.sm},pill:{boxSizing:"border-box",minHeight:Je,display:"inline-flex",flexDirection:"row",alignItems:"center",gap:t.sm,margin:0,padding:`0 ${t.lg}px`,borderRadius:r.pill,borderStyle:"solid",borderWidth:jE,cursor:"pointer",textDecoration:"none",...P(e,"bold"),fontSize:a.bodyTight,lineHeight:`${Math.round(a.bodyTight*n.lineHeight.snug)}px`},ghost:{backgroundColor:"transparent"},dismissHit:{position:"absolute",top:6-(Je-jt)/2,right:6-(Je-jt)/2,boxSizing:"border-box",width:Je,height:Je,minWidth:Je,minHeight:Je,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},dismissDisc:{boxSizing:"border-box",width:jt,height:jt,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:Je,minHeight:Je,margin:0,padding:0,border:0,background:"transparent",display:"inline-flex",alignItems:"center",justifyContent:"center",cursor:"pointer"}}}i(KE,"makeStyles");var ep=300,Gc=120,Vn=44,sa=120;var YE="100 / 12",XE=480,qc=18,QE="min(88%, 520px)",ZE="md",JE="lg",eC="lg",Yc="xs",Xc=1.5,tC=1.6;var na=1,rC=.6,Qc="lg",nC="xl",oa=1.5,ia="sm",oC="xs",iC="xs",aC=60,Zc=44,sC=16,lC=1.4,aa=44,tp=22,rp=18,uC=.4,dC=.5;var Jc=24,cC=3,np=900,op=20,pC=1.5,fC=1.3,mC=1.5;function be(){let e=z(),t=react.useMemo(()=>yC(e),[e]);return {theme:e,styles:t}}i(be,"useChatTheme");function $n(e){return `max(${e}px, calc((100% - ${_r}px) / 2))`}i($n,"columnInset");function Pt(e,t){return `${Math.round(e*t)}px`}i(Pt,"linePx");function yC(e){let t=e.color,r=e.space,n=e.radius,o=e.type,a=e.slots,s=vi(o.family),l=o.size.body,u=Math.max(sC,l),d=Math.round(u*lC),c=o.tierSizes.control,p=o.tierSizes.compact,f=r[ZE]+r.xs/2,m=r[JE]+r.xs/2,y={boxSizing:"border-box",minHeight:Vn,minWidth:Vn,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,border:0,cursor:"pointer",...P(e,"medium"),fontSize:c.body,lineHeight:`${Math.round(c.body*o.lineHeight.normal)}px`},E=a.sendButton,g=E?.backgroundColor??(E?.textColor!==void 0?"transparent":t.primary);return {container:{...hn,boxSizing:"border-box",position:"relative",display:"flex",flexDirection:"column",minHeight:Gc,height:"100%",backgroundColor:t.chatGround,color:t.text.primary,fontFamily:s},split:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"row"},main:{flex:"1 1 auto",minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},body:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"column"},centered:{boxSizing:"border-box",flex:"1 1 auto",minHeight:Gc,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:r.xl},spinner:{boxSizing:"border-box",width:Jc,height:Jc,borderRadius:n.pill,border:`${cC}px solid ${t.brandSofter}`,borderTopColor:t.brandInk},emptyScroller:{boxSizing:"border-box",flex:`1 1 ${XE}px`,minHeight:0,overflowY:"auto"},emptyContent:{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"stretch",justifyContent:"flex-start",height:"100%",paddingLeft:$n(r.lg),paddingRight:$n(r.lg),paddingBottom:r.lg,gap:qc},emptyLead:{flex:"0 1 auto",width:"100%",maxHeight:r.xxl*2,aspectRatio:YE,minHeight:0,marginBottom:-qc},errorText:{margin:`0 0 ${r.md}px`,...P(e,"regular"),fontSize:o.size.subtitle,lineHeight:`${Math.round(o.size.subtitle*o.lineHeight.snug)}px`,color:t.danger,textAlign:"center"},retryButton:{...y,padding:`${r.sm}px ${r.xl}px`,borderRadius:n.pill,backgroundColor:t.brand,color:t.onPrimary,...Ee(a.primaryButton),...ve(a.primaryButton)},setupNotice:{boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"space-between",gap:r.sm,padding:`${r.sm}px ${r.lg}px`,backgroundColor:t.surfaceCream},setupNoticeText:{...P(e,"regular"),fontSize:o.size.caption,color:t.danger},setupNoticeAction:{...y,padding:0,background:"none",border:"none",color:t.brandInk,fontSize:o.size.caption,minHeight:Vn},turnNotice:{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:r.xs,padding:r.md,borderRadius:n.md,backgroundColor:t.surfaceCream,border:`1px solid ${t.borderRingCream}`},turnNoticeError:{border:`1px solid ${t.danger}`},turnNoticeTitle:{...P(e,"bold"),margin:0,fontSize:o.size.bodyTight,color:t.text.primary},turnNoticeTitleError:{color:t.danger},reconnectingCaption:{...P(e,"medium"),margin:0,fontSize:o.size.caption,color:t.text.muted,textTransform:"uppercase",letterSpacing:"0.5px"},turnNoticeBody:{...P(e,"regular"),margin:0,fontSize:o.size.caption,color:t.text.muted},turnNoticeAction:{...y,padding:0,background:"none",border:"none",color:t.brandInk,minHeight:Vn,...P(e,"bold"),fontSize:o.size.bodyTight},earlierButton:{...y,alignSelf:"center",padding:`0 ${r.md+r.xs/2}px`,backgroundColor:"transparent",color:t.linkInk,...P(e,"monoBold"),fontSize:p.tiny,lineHeight:`${Math.round(p.tiny*o.lineHeight.snug)}px`,letterSpacing:dC,textTransform:"uppercase"},list:{boxSizing:"border-box",flex:"1 1 auto",minHeight:0,overflowY:"auto",display:"flex",flexDirection:"column",gap:r[Qc]+r.xs/2,paddingTop:r.lg,paddingBottom:r.lg,paddingLeft:$n(r.lg),paddingRight:$n(r.lg)},messageList:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:r[Qc]+r.xs/2},row:{display:"flex",flexDirection:"column"},rowUser:{alignItems:"flex-end"},rowAssistant:{alignItems:"flex-start"},bubble:{boxSizing:"border-box",maxWidth:QE,paddingTop:f,paddingBottom:f,paddingLeft:m,paddingRight:m,borderRadius:n[eC],position:"relative"},bubbleUser:{backgroundColor:t.bubbleUser,borderBottomRightRadius:n[Yc],transformOrigin:"100% 100%",...Ee(a.userBubble,na)},bubbleAssistant:{...a.assistantBubble?.backgroundColor===void 0?{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:r[nC],maxWidth:`min(100%, ${Pc})`}:{},transformOrigin:"0 100%",...Ee(a.assistantBubble,na)},bubbleVet:{backgroundColor:t.bubbleVet,borderTopLeftRadius:n[Yc],transformOrigin:"0 100%",...Ee(a.vetBubble,na)},bubblePending:{opacity:rC},bubbleTextUser:{margin:0,...P(e,"regular"),color:t.onPrimary,fontSize:l,lineHeight:Pt(l,Xc),whiteSpace:"pre-wrap",overflowWrap:"anywhere",...ve(a.userBubble)},bubbleTextAssistant:{margin:0,...P(e,"regular"),color:t.text.primary,fontSize:l,lineHeight:Pt(l,tC),whiteSpace:"pre-wrap",overflowWrap:"anywhere",...ve(a.assistantBubble)},bubbleTextVet:{margin:0,...P(e,"regular"),color:t.onBubbleVet,fontSize:l,lineHeight:Pt(l,Xc),whiteSpace:"pre-wrap",overflowWrap:"anywhere",...ve(a.vetBubble)},senderRow:{display:"flex",flexDirection:"row",alignItems:"baseline",flexWrap:"wrap",gap:r.sm,margin:`0 0 ${r.sm}px`},assistantName:{margin:0,...P(e,"bold"),color:t.brandInk,fontSize:o.size.bodyTight,lineHeight:Pt(o.size.bodyTight,o.lineHeight.snug)},vetSender:{margin:0,...P(e,"bold"),color:t.text.primary,fontSize:o.size.bodyTight,lineHeight:Pt(o.size.bodyTight,o.lineHeight.snug),overflowWrap:"anywhere"},bubbleBold:P(e,"bold"),bubbleItalic:{fontStyle:"italic"},bubbleCode:P(e,"mono"),followUps:{listStyle:"none",margin:`${r.md}px 0 0`,padding:0,display:"flex",flexDirection:"row",flexWrap:"wrap",gap:r.sm},followUpRow:{...y,justifyContent:"flex-start",textAlign:"left",maxWidth:"100%",padding:`${r.sm}px ${r.lg}px`,borderRadius:n.pill,border:`${pC}px solid ${t.brandInk}`,background:t.chatGround,color:t.brandInk,...P(e,"bold"),fontSize:c.bodyTight,lineHeight:Pt(c.bodyTight,fC),whiteSpace:"normal",overflowWrap:"anywhere"},composerBlock:{boxSizing:"border-box",display:"flex",flexDirection:"column",width:`calc(100% - ${r.md*2}px)`,maxWidth:_r,margin:"0 auto"},composerError:{margin:`${r.xs}px ${r.md}px 0`,...P(e,"regular"),fontSize:o.size.caption,lineHeight:`${Math.round(o.size.caption*o.lineHeight.normal)}px`,color:t.danger},composer:{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"flex-end",gap:r[iC],minHeight:aC,width:"100%",margin:`${r.xs}px 0 0`,paddingTop:r[ia],paddingRight:r[ia],paddingBottom:r[ia],paddingLeft:r.lg+r[oC],backgroundColor:t.chatGround,border:`${oa}px solid ${t.composerBorder}`,borderRadius:n.xl,...Ee(a.composerInput,oa)},composerFocused:{border:`${oa}px solid ${a.composerInput?.borderColor??t.brandInk}`,outline:`${xr}px solid ${t.brandInk}`,outlineOffset:xr},inputWrap:{position:"relative",flex:"1 1 auto",minWidth:0,minHeight:Zc,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:u,lineHeight:`${d}px`,color:t.text.placeholder,...ve(a.composerInput)},input:{boxSizing:"border-box",flex:"1 1 auto",width:"100%",maxHeight:sa,margin:0,padding:`${Math.max(0,(Zc-d)/2)}px 0`,border:0,outline:"none",resize:"none",background:"transparent",...P(e,"regular"),fontSize:u,lineHeight:`${d}px`,color:t.text.primary,...ve(a.composerInput)},iconControl:{...y,flexShrink:0,padding:0,borderRadius:n.pill,background:"transparent",color:t.brandInk},actionButton:{...y,flexShrink:0,padding:0,backgroundColor:"transparent",borderRadius:n.pill},sendDisc:{boxSizing:"border-box",width:aa,height:aa,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:aa/2,backgroundColor:g,...Ee(E)},actionButtonDisabled:{opacity:uC,cursor:"not-allowed"},footnote:{margin:`${r.md}px 0 ${r.sm}px`,padding:`0 ${r.xs}px`,...P(e,"regular"),color:t.text.muted,fontSize:o.size.caption,lineHeight:Pt(o.size.caption,mC)},poweredBy:{margin:0,padding:`0 0 ${r.xs}px`,...P(e,"regular"),color:t.text.muted,fontSize:p.micro,lineHeight:`${Math.round(p.micro*o.lineHeight.normal)}px`,textAlign:"center"}}}i(yC,"makeStyles");function ip(e){return e.slots.sendButton?.textColor??e.color.onPrimary}i(ip,"sendGlyphInk");var gC=Object.freeze({kind:"live"}),hC=Object.freeze({kind:"folded"});function ap(e){if(e.role!=="assistant"||e.checkin===void 0)return null;let t=e.checkin.caseId,r=Po(e.proactiveOriginRef);return {caseId:t,dueDay:r!==null&&r.caseId===t?r.dueDay:""}}i(ap,"askOf");function sp(e){let t=new Map,r=new Map;for(let o of e){let a=ap(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=ap(o);if(a===null){n=null;continue}if(r.get(a.caseId)?.messageId===o.id){t.set(o.id,gC),n=null;continue}if(n!==null&&n.caseId===a.caseId){n.days.push(a.dueDay),t.set(o.id,hC);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(sp,"placeCheckins");function lp(e){let t=new Set;for(let[r,n]of e)n.kind==="live"&&t.add(r);return t}i(lp,"liveCheckinIds");var $t=44,Wt=56,up=12,Wn=22,dp=18,vC=2,EC=900,cp=220,CC=14,pp=100,xC=10,RC=6,SC=.45,TC="rgba(7,193,104,0.55)",kC="rgba(185,28,28,0.55)",yp=Object.freeze([]);function gp({attachments:e,onRetry:t,onRemove:r,onPreview:n}){let o=z(),a=react.useMemo(()=>bp(o),[o]);return e.length===0?null:jsxRuntime.jsx("ul",{style:a.tray,children:e.map(s=>jsxRuntime.jsx("li",{style:a.cardSlot,children:jsxRuntime.jsx(PC,{row:s,styles:a,theme:o,onRetry:t,onRemove:r,onPreview:n})},s.id))})}i(gp,"AttachmentTray");function PC({row:e,styles:t,theme:r,onRetry:n,onRemove:o,onPreview:a}){let s=te(),l=react.useRef(null),[u,d]=react.useState(false),c=react.useRef(e.status==="uploading");react.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 jsxRuntime.jsxs("div",{style:t.card,children:[jsxRuntime.jsx("button",{ref:l,type:"button","aria-label":G(h.previewAttachment,{filename:e.filename}),onClick:()=>a(p,l.current),style:t.previewButton,children:jsxRuntime.jsx("img",{src:e.previewUri,alt:"",style:t.thumb})}),e.status==="uploading"?jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":G(h.previewAttachment,{filename:e.filename}),style:{...t.wash,backgroundColor:Nt(r.color.brandInk,SC)??r.color.brandSofter},children:jsxRuntime.jsx(_C,{styles:t})}):null,e.status==="uploaded"&&u?jsxRuntime.jsx("div",{"aria-hidden":"true",style:{...t.wash,backgroundColor:TC}}):null,e.status==="failed"?jsxRuntime.jsx("button",{type:"button","aria-label":G(h.retryUpload,{filename:e.filename}),onClick:()=>n(e.id),style:{...t.wash,...t.retry,backgroundColor:kC},children:jsxRuntime.jsx(U,{name:"upload",size:18,color:"#FFFFFF"})}):null,jsxRuntime.jsx("button",{type:"button","aria-label":G(h.removeAttachment,{filename:e.filename}),onClick:()=>o(e.id),style:t.removeHit,children:jsxRuntime.jsx("span",{"aria-hidden":"true",style:t.removeDisc,children:jsxRuntime.jsx(U,{name:"x",size:12,color:r.color.surface,strokeWidth:2.5})})})]})}i(PC,"TrayCard");function _C({styles:e}){let t=te(),r=react.useRef(null);return react.useEffect(()=>{let n=r.current;if(t.reduced||!kt(n))return;let o=n.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:EC,iterations:1/0,easing:"linear"});return ()=>o.cancel()},[t.reduced]),jsxRuntime.jsx("span",{ref:r,"aria-hidden":"true",style:e.spinner})}i(_C,"Spinner");function hp({images:e,onPreview:t}){let r=z(),n=react.useMemo(()=>bp(r),[r]);if(e.length===0)return null;let o=e.length===1;return jsxRuntime.jsx("ul",{style:o?n.singleList:n.gridList,children:e.map((a,s)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx(wC,{image:a,style:o?n.singleImage:n.gridImage,onPreview:t})},`${a.uri}-${s}`))})}i(hp,"MessageAttachments");function wC({image:e,style:t,onPreview:r}){let n=react.useRef(null);return jsxRuntime.jsx("button",{ref:n,type:"button","aria-label":G(h.attachedImage,{filename:e.filename}),onClick:()=>r(e,n.current),style:t,children:jsxRuntime.jsx("img",{src:e.uri,alt:"",style:{display:"block",width:"100%",height:"100%",objectFit:"cover"}})})}i(wC,"ImageButton");function bp(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:up,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:up,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:dp,height:dp,borderRadius:n.pill,border:`${vC}px solid rgba(255,255,255,0.45)`,borderTopColor:"#FFFFFF"},removeHit:{position:"absolute",top:4-($t-Wn)/2,right:4-($t-Wn)/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:Wn,height:Wn,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:RC},singleImage:{...o,width:cp,height:cp,maxWidth:"100%",borderRadius:CC},gridImage:{...o,width:pp,height:pp,borderRadius:xC}}}i(bp,"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"})}),vp=Object.freeze(Wr.map(e=>Object.freeze({answer:e,label:Kt.answers[e]})));function Ep(e,t){let[r,n]=react.useState(null),[o,a]=react.useState(null),[s,l]=react.useState(null),u=react.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:!Is(e),escalated:d==="worse",pending:r,error:o,choose:u}}i(Ep,"useCheckinCard");var Cp=44,FC=.6;function xp({message:e,checkin:t,onAnswer:r,onFindVet:n}){let o=z(),a=react.useMemo(()=>MC(o),[o]),s=Ep(t,r),l=s.answer!==null||s.pending!==null,u=r!==null&&s.answerable;return jsxRuntime.jsx("li",{style:a.row,children:jsxRuntime.jsxs("div",{role:"group","aria-label":Kt.eyebrow,"aria-busy":s.pending!==null?true:void 0,style:a.card,children:[jsxRuntime.jsx("p",{style:a.eyebrow,children:Kt.eyebrow}),jsxRuntime.jsx("p",{style:a.question,children:e.text}),u?jsxRuntime.jsx("div",{style:{...a.answers,...s.pending?a.answersPending:null},children:vp.map(({answer:d,label:c})=>{let p=(s.pending??s.answer)===d;return jsxRuntime.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?jsxRuntime.jsx("p",{style:a.logged,children:Kt.logged}):null,t.resolutionText?jsxRuntime.jsx("p",{style:a.question,children:t.resolutionText}):null,s.escalated&&n?jsxRuntime.jsx("button",{type:"button",onClick:n,style:a.findVet,children:Kt.findVet}):null,s.error?jsxRuntime.jsx("p",{role:"alert",style:a.error,children:s.error.displayMessage}):null]})})}i(xp,"CheckinCard");function MC(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:FC},pill:{...s,fontSize:u.body,lineHeight:`${Math.round(u.body*o.lineHeight.normal)}px`,boxSizing:"border-box",flex:1,minHeight:Cp,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:Cp,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(MC,"makeStyles");var LC=Object.freeze({TIER_1:"#07C168",TIER_2:"#27A9FF",TIER_3:"#FBC558"}),Rp="#C8BEB4";function NC(e){return e?LC[e.toUpperCase()]??Rp:Rp}i(NC,"tierColor");function zC(e){if(!e)return null;let t=/^tier[_\s-]?(\d+)$/i.exec(e.trim());return t?`Tier ${t[1]}`:e}i(zC,"tierLabel");function ze(e){if(typeof e!="string")return null;let t=e.trim();return t.length===0?null:t}i(ze,"text");function HC(e){let t=ze(e);return t!==null&&/^https:\/\/\S+$/i.test(t)?t:null}i(HC,"httpsUrl");function UC(e,t){let r=ze(e.source_name)??ze(e.sourceName),n=ze(e.section),o=ze(e.authority_tier)??ze(e.authorityTier),a=zC(o),s=r??ze(e.title)??`Source ${t+1}`,l=ze(e.monograph_chunk_id)??ze(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:HC(e.url),excerpt:ze(e.excerpt),tierColor:NC(o),key:`${s}-${l??"none"}-${t}`})}i(UC,"toCitationCard");function Sp(e){return e===void 0||e.length===0?BC:Object.freeze(e.map((t,r)=>UC(t,r)))}i(Sp,"toCitationCards");var BC=Object.freeze([]);function ua(e){return e===1?`1 ${h.sourceSingular}`:`${e} ${h.sourcePlural}`}i(ua,"sourcesLabel");function Tp(e,t){return `${t?h.hideSources:h.showSources} ${ua(e)}`}i(Tp,"sourcesToggleLabel");function kp(e){return [e.url!==null?`${h.openSource}: ${e.title}`:e.title,e.meta,e.excerpt].filter(t=>t!==null&&t.length>0).join(". ")}i(kp,"citationA11yLabel");var _p=44,WC=244,wp=8,Ip=13,KC=14,GC=2,qC=3,YC=32;function Fp({citations:e}){let t=react.useMemo(()=>Sp(e),[e]),r=z(),n=react.useMemo(()=>ZC(r),[r]),[o,a]=react.useState(false);return t.length===0?null:jsxRuntime.jsxs("div",{style:n.wrap,children:[jsxRuntime.jsx("button",{type:"button","aria-expanded":o,"aria-label":Tp(t.length,o),onClick:()=>a(s=>!s),style:n.pill,children:jsxRuntime.jsxs("span",{style:n.pillFace,children:[jsxRuntime.jsx(U,{name:"bookOpen",size:Ip,color:r.color.text.muted}),jsxRuntime.jsx("span",{style:n.pillLabel,children:ua(t.length)}),jsxRuntime.jsx(U,{name:"chevronDown",size:Ip,color:r.color.text.muted,style:o?{transform:"rotate(180deg)"}:void 0})]})}),o?jsxRuntime.jsx(XC,{cards:t,styles:n,theme:r}):null]})}i(Fp,"CitationCards");function XC({cards:e,styles:t,theme:r}){let n=react.useRef(null),o=te(),a=xc();return react.useEffect(()=>{let s=_e(n.current,{durationMs:o.citationsInMs,fromOpacity:0,fromTranslateY:o.citationsRisePx});return ()=>s?.cancel()},[o]),jsxRuntime.jsx("ul",{ref:n,style:t.deck,children:e.map(s=>{let l=a.kind==="static"?null:s.url;return jsxRuntime.jsx("li",{style:t.cardSlot,children:l!==null?jsxRuntime.jsx("a",{href:l,...QC(a,l),"aria-label":kp(s),style:{...t.card,...t.cardLink},children:jsxRuntime.jsx(Ap,{card:s,linked:true,styles:t,theme:r})}):jsxRuntime.jsx("div",{style:t.card,children:jsxRuntime.jsx(Ap,{card:s,linked:false,styles:t,theme:r})})},s.key)})})}i(XC,"Deck");function QC(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(QC,"linkBehaviour");function Ap({card:e,linked:t,styles:r,theme:n}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{style:r.cardHeader,children:[jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...r.tierDot,backgroundColor:e.tierColor}}),jsxRuntime.jsx("span",{style:t?{...r.cardTitle,color:n.color.linkInk}:r.cardTitle,children:e.title}),t?jsxRuntime.jsx(U,{name:"arrowUpRight",size:KC,color:n.color.linkInk}):null]}),e.meta!==null?jsxRuntime.jsx("span",{style:r.cardMeta,children:e.meta}):null,e.excerpt!==null?jsxRuntime.jsx("span",{style:r.cardExcerpt,children:e.excerpt}):null]})}i(Ap,"CardBody");function Op(e){return {display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:e,overflow:"hidden"}}i(Op,"clamp");function ZC(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:_p,minWidth:_p,display:"inline-flex",alignItems:"center",margin:0,padding:0,border:0,background:"transparent",cursor:"pointer",font:"inherit"},pillFace:{boxSizing:"border-box",minHeight:YC,display:"inline-flex",flexDirection:"row",alignItems:"center",gap:r.xs+2,padding:`0 ${r.md}px`,borderRadius:n.pill,border:`1px solid ${t.borderRingCream}`,backgroundColor:t.chatGround},pillLabel:{...P(e,"regular"),fontSize:o.tierSizes.compact.caption,lineHeight:`${o.tierSizes.compact.caption+3}px`,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:WC,display:"flex",flexDirection:"column",gap:r.xs+2,padding:r.md,borderRadius:n.md,border:`1px solid ${t.borderRingCream}`,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:wp,height:wp,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,...Op(GC)},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,...Op(qC)}}}i(ZC,"makeStyles");function Mp(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}i(Mp,"formatMessageTime");var da=44,Dp=20,tx=3,rx=.6;function Lp(e){let{open:t,onSubmit:r,onClose:n,returnFocusTo:o}=e,a=z(),s=react.useMemo(()=>nx(a),[a]),l=Qe(t,n,o),[u,d]=react.useState(null),[c,p]=react.useState(""),[f,m]=react.useState(false),[y,E]=react.useState(false);if(!t)return null;let g=i(()=>{if(f)return;m(true),E(false);let v=c.trim();r(u,v.length>0?v:null).then(S=>{m(false),S?n():E(true);});},"submit");return jsxRuntime.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:[jsxRuntime.jsx("h2",{style:s.title,children:h.feedbackTitle}),jsxRuntime.jsx("p",{style:s.subtitle,children:h.feedbackSubtitle}),jsxRuntime.jsx("div",{role:"group","aria-label":h.feedbackTitle,style:s.options,children:xi.map(v=>{let S=v.key===u;return jsxRuntime.jsxs("button",{type:"button","aria-pressed":S,disabled:f,onClick:()=>d(S?null:v.key),style:{...s.option,...S?s.optionSelected:null},children:[jsxRuntime.jsx("span",{style:s.optionLabel,children:v.label}),jsxRuntime.jsx("span",{"aria-hidden":"true",style:{...s.radio,...S?s.radioSelected:null},children:S?jsxRuntime.jsx(U,{name:"check",size:12,color:a.color.surface,strokeWidth:3}):null})]},v.key)})}),jsxRuntime.jsx("textarea",{rows:tx,value:c,disabled:f,"aria-label":h.feedbackNotesPlaceholder,placeholder:h.feedbackNotesPlaceholder,onChange:v=>{let S=v.target.value;[...S].length<=nr&&p(S);},style:s.notes}),y?jsxRuntime.jsx("p",{role:"alert",style:s.failed,children:h.feedbackFailed}):null,jsxRuntime.jsxs("div",{style:s.actions,children:[jsxRuntime.jsx("button",{type:"button",onClick:g,"aria-disabled":f,style:{...s.submit,...f?s.pending:null},children:h.feedbackSubmit}),jsxRuntime.jsx("button",{type:"button",onClick:n,"aria-label":h.feedbackSkipA11y,disabled:f,style:s.skip,children:h.feedbackSkip})]})]})}i(Lp,"FeedbackReasons");function nx(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:da,minWidth:da,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:Dp,height:Dp,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:da,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,...Ee(e.slots.primaryButton),...ve(e.slots.primaryButton)},pending:{opacity:rx,cursor:"progress"},skip:{...u,fontSize:l,padding:`0 ${r.xl}px`,border:0,borderRadius:n.pill,background:"transparent",color:t.text.secondary}}}i(nx,"makeStyles");var wr=44,fa=15,Hp=16;function ix(){return typeof navigator<"u"&&typeof navigator.clipboard?.writeText=="function"}i(ix,"canCopyToClipboard");function Bp(e){let{role:t,text:r,createdAt:n,responseId:o,sentiment:a,feedback:s}=e,l=z(),u=react.useMemo(()=>ax(l),[l]),d=te(),c=react.useMemo(()=>Mp(n),[n]),p=t!=="vet"&&ix()&&r.length>0,[f,m]=react.useState(false),y=react.useRef(null);react.useEffect(()=>()=>{y.current!==null&&clearTimeout(y.current);},[]);let E=react.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]),[g,v]=react.useState(false),[S,w]=react.useState(false),[T,b]=react.useState(false),k=react.useRef(null),I=react.useCallback(_=>{if(o===void 0)return;w(false),b(false);let x=a===_;s(o,_).then(R=>{R.ok||b(true);}),_==="down"&&!x&&v(true);},[o,a,s]),O=react.useCallback(async(_,x)=>{if(o===void 0)return false;if(_===null&&x===null)return w(true),true;let R=await s(o,"down",_??"other",x);return R.ok&&w(true),R.ok},[o,s]);return jsxRuntime.jsxs("div",{style:{...u.footer,...t==="user"?u.footerUser:u.footerAssistant},children:[jsxRuntime.jsxs("div",{style:u.row,children:[c!==null?jsxRuntime.jsx("span",{style:u.timestamp,children:c}):null,p?jsxRuntime.jsx("button",{type:"button",onClick:E,"aria-label":f?h.copied:t==="user"?h.copyUserMessage:h.copyAssistantMessage,style:u.iconButton,children:f?jsxRuntime.jsx(U,{name:"check",size:fa,color:l.color.success}):jsxRuntime.jsx(U,{name:"copy",size:fa,color:l.color.text.timestamp})}):null,t==="assistant"&&o!==void 0?Yu.map(_=>{let x=a===_.sentiment,R=l.color.sentiment[_.sentiment];return jsxRuntime.jsx("button",{ref:_.sentiment==="down"?k:void 0,type:"button","aria-pressed":x,"aria-label":_.label,onClick:()=>I(_.sentiment),style:u.iconButton,children:jsxRuntime.jsx(U,{name:_.sentiment==="up"?"thumbsUp":"thumbsDown",size:fa,color:R,fill:x?R:"transparent",style:_.sentiment==="neutral"?{transform:"rotate(-90deg)"}:void 0})},_.sentiment)}):null]}),S?jsxRuntime.jsx("p",{role:"status",style:u.thanks,children:h.feedbackThanks}):null,T?jsxRuntime.jsx("p",{role:"alert",style:u.failed,children:h.feedbackFailed}):null,g?jsxRuntime.jsx(Lp,{open:true,onSubmit:O,onClose:()=>v(false),returnFocusTo:k}):null]})}i(Bp,"MessageFooter");function ax(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:wr,height:wr,minWidth:wr,minHeight:wr,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(ax,"makeStyles");var jp="#10462E",Vp="Book a video visit",$p="#000000",sx="#83E0B4",lx=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:sx,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:jp,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})]),ux=/\s*-\s*(?:small|medium|large|giant|toy)\s*$/i;function dx(e){return e==null?e:e.replace(ux,"").trim()}i(dx,"formatBreedForPrompt");var cx=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 px(e){let t=String(e??"").replace(/\s+/gu," ").trim().toLowerCase().replace(/\u2019/g,"'");return cx.has(t)}i(px,"isUninformativeBreed");function fx(e){return e==="cat"?"Domestic Short Hair Mix":"Mixed Breed"}i(fx,"unspecifiedBreedLabel");function mx(e,t){return px(e)?fx(t):String(e).replace(/\s+/gu," ").trim()}i(mx,"resolveBreedLabel");function Wp(e){let t=e?.name?.trim()||h.emptyTitlePetFallback;return G(h.emptyTitle,{petName:t})}i(Wp,"emptyStateTitle");function Kp(e,t=jp){let r=Wi(e?.species),n=r==="cat"?"my cat":"my dog",o=e?.name?.trim()||null,a=o||n,s=mx(dx(e?.breed),r)||null,l=Ki(e?.ageYears),u=l===null?null:String(l);return Object.freeze(lx.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??""}),E=!o&&m.startsWith("{petName}")?y.charAt(0).toUpperCase()+y.slice(1):y;return Object.freeze({id:d.id,intent:d.intent,label:E,background:d.background,borderColor:d.brandEdge===true?t:d.borderColor,borderWidth:d.borderWidth})}))}i(Kp,"resolveQuickPrompts");var qp=44,hx=30,bx=38,vx=1.1,Ex="-0.03em",Cx=4;function Yp({pet:e,onSend:t,onVetPrep:r}){let n=z(),{desktop:o}=Hn(),a=react.useMemo(()=>Rx(n,o),[n,o]),s=te(),l=Wp(e),u=kc(_c()),d=react.useMemo(()=>Kp(e,n.color.brandInk).filter(c=>c.intent!=="vet_report"||r!==null).map(c=>c.intent==="vet_report"?{...c,label:Vp}:c),[e,r,n.color.brandInk]);return jsxRuntime.jsxs("div",{style:a.wrap,children:[jsxRuntime.jsx(u,{style:a.title,children:l}),jsxRuntime.jsx("ul",{"aria-label":h.suggestions,style:a.list,children:d.map((c,p)=>jsxRuntime.jsx("li",{children:jsxRuntime.jsx(xx,{chip:c,delayMs:Fc(s,p),durationMs:s.followUpInMs,risePx:s.promptRisePx,style:a.chip,onPress:()=>c.intent==="vet_report"?r?.():t(c.label)})},c.id))})]})}i(Yp,"QuickPrompts");function xx({chip:e,delayMs:t,durationMs:r,risePx:n,style:o,onPress:a}){let s=react.useRef(null);return react.useEffect(()=>{let l=_e(s.current,{durationMs:r,delayMs:t,fromOpacity:0,fromTranslateY:n});return ()=>l?.cancel()},[r,t,n]),jsxRuntime.jsx("button",{ref:s,type:"button",onClick:a,style:{...o,backgroundColor:e.background},children:e.label})}i(xx,"Chip");function Rx(e,t){let r=e.space,n=e.radius,o=e.type,a=Vu(e,"heading",t?bx:hx),s=o.tierSizes.compact.bodyTight;return {wrap:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:r.lg+Cx,width:"100%"},title:{margin:0,...P(e,"medium"),fontSize:a,lineHeight:`${Math.round(a*vx)}px`,letterSpacing:Ex,color:e.color.brandInk,textAlign:"left",textWrap:"balance"},list:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"flex-start",gap:r.sm},chip:{boxSizing:"border-box",minHeight:qp,minWidth:qp,maxWidth:"100%",display:"inline-flex",alignItems:"center",justifyContent:"flex-start",margin:0,padding:`${r.sm}px ${r.lg}px`,border:0,borderRadius:n.pill,cursor:"pointer",...P(e,"bold"),fontSize:s,lineHeight:`${Math.round(s*1.3)}px`,color:$p,textAlign:"left",whiteSpace:"normal"}}}i(Rx,"makeStyles");var ma=/\*\*([^*]+?)\*\*|\*([^*]+?)\*|`([^`]+?)`/g;function Xp(e){return e.includes("*")||e.includes("`")}i(Xp,"hasInlineMarkup");function Qp(e){let t=[],r=0;ma.lastIndex=0;for(let n=ma.exec(e);n!==null;n=ma.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 jsxRuntime.jsx("strong",{style:t.bold,children:r.text},n);case "italic":return t.italic?jsxRuntime.jsx("em",{style:t.italic,children:r.text},n):r.text;case "code":return t.code?jsxRuntime.jsx("code",{style:t.code,children:r.text},n):r.text;default:return r.text}}):e}i(Zp,"renderInlineMarkdown");var Jp=6,_x=3,wx=1e3,Ix=150,ga=.25,Ax=.5,Ox=[0,1,2];function ef({petName:e}){let t=z(),r=react.useMemo(()=>Mx(t),[t]),n=!t.motion.reducedMotion;return jsxRuntime.jsxs("div",{style:r.card,children:[jsxRuntime.jsx("p",{style:r.line,children:Tt(h.reading,e)}),jsxRuntime.jsx("span",{"aria-hidden":"true","data-everfur-reading-dots":"",style:r.dots,children:Ox.map(o=>n?jsxRuntime.jsx(Fx,{index:o,style:r.dot},o):jsxRuntime.jsx("span",{style:{...r.dot,...r.dotStatic}},o))})]})}i(ef,"TypingIndicator");function Fx({index:e,style:t}){let r=react.useRef(null);return react.useEffect(()=>{let n=r.current;if(n===null||typeof n.animate!="function")return;let o=n.animate([{opacity:ga,transform:"translateY(0)"},{opacity:1,transform:`translateY(-${_x}px)`,offset:.4},{opacity:ga,transform:"translateY(0)"}],{duration:wx,iterations:1/0,delay:e*Ix,easing:"ease-in-out"});return ()=>o.cancel()},[e]),jsxRuntime.jsx("span",{ref:r,style:{...t,opacity:ga}})}i(Fx,"AnimatedDot");function Mx(e){let t=e.color,r=e.space,n=e.radius,o=e.type;return {card:{boxSizing:"border-box",alignSelf:"flex-start",display:"flex",flexDirection:"row",alignItems:"center",flexWrap:"wrap",gap:r.sm,maxWidth:"100%",padding:`${r.md}px ${r.md+r.xs/2}px`,backgroundColor:t.surfaceSubtle,borderRadius:n.md},line:{margin:0,...P(e,"bold"),color:t.brandInk,fontSize:o.size.bodyTight,lineHeight:`${Math.round(o.size.bodyTight*o.lineHeight.snug)}px`},dots:{display:"inline-flex",flexDirection:"row",alignItems:"center",gap:r.xs},dot:{display:"inline-block",width:Jp,height:Jp,borderRadius:n.pill,backgroundColor:t.brandInk},dotStatic:{opacity:Ax}}}i(Mx,"makeStyles");function tf(e,t,r){let n=e-r,o=t!=null?Math.min(n,t):n;return Math.max(0,o)}i(tf,"resolveTurnScrollTarget");function rf(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(rf,"latestTurn");function nf(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(nf,"nextFollowOffset");function of(e,t){return e.scrollTop+t.getBoundingClientRect().top-e.getBoundingClientRect().top}i(of,"contentTop");function Ux(e,t,r){let n=rf(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 tf(of(e,o),a===void 0?null:of(e,a),96)}i(Ux,"turnAnchor");function af(e,t,r){let n=react.useRef(null),o=react.useRef(null),a=react.useRef(true),s=react.useRef(t),l=react.useRef(null),u=react.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 react.useLayoutEffect(()=>{t&&!s.current&&(a.current=true),s.current=t;let m=n.current;if(m===null||!a.current)return;let y=nf(Ux(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(af,"useTranscriptFollow");function Vx({notice:e,onRetry:t,onStartNew:r}){let{styles:n}=be(),o=e.tone==="error";return jsxRuntime.jsxs("div",{role:"alert",style:{...n.turnNotice,...o?n.turnNoticeError:null},children:[jsxRuntime.jsx("p",{style:{...n.turnNoticeTitle,...o?n.turnNoticeTitleError:null},children:e.title}),jsxRuntime.jsx("p",{style:n.turnNoticeBody,children:e.body}),jsxRuntime.jsx("button",{type:"button",onClick:e.action==="startNew"?r:t,style:n.turnNoticeAction,children:e.actionLabel})]})}i(Vx,"TurnNoticeCard");function lf(e,t,r,n,o,a,s,l,u,d){switch(e){case "loading":return n?jsxRuntime.jsx(St,{render:n,fallback:jsxRuntime.jsx(sf,{})}):jsxRuntime.jsx(sf,{});case "empty":return jsxRuntime.jsx(Wx,{onSelectPrompt:r,pet:o,onVetPrep:a});case "error":return jsxRuntime.jsx(qx,{error:t.error,onRetry:t.retryLast,onAddPet:u});case "populated":return jsxRuntime.jsx(Yx,{chat:t,onSelectPrompt:r,onAnswerCheckin:t.petRef?t.answerCheckin:null,imagesFor:s,onPreview:l,onCheckinFindVet:d,petName:o?.name??null});default:return ot(e)}}i(lf,"renderView");function sf(){let{styles:e}=be(),[t,r]=react.useState(false);return react.useEffect(()=>{let n=setTimeout(()=>r(true),ep);return ()=>clearTimeout(n)},[]),jsxRuntime.jsx("div",{role:"status","aria-busy":"true","aria-label":h.loading,style:e.centered,children:t?jsxRuntime.jsx($x,{}):null})}i(sf,"LoadingState");function $x(){let{theme:e,styles:t}=be(),r=react.useRef(null),n=!e.motion.reducedMotion;return react.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:np,iterations:1/0,easing:"linear"});return ()=>a.cancel()},[n]),jsxRuntime.jsx("div",{ref:r,"aria-hidden":"true",style:t.spinner})}i($x,"Spinner");function Wx({onSelectPrompt:e,pet:t,onVetPrep:r}){let{styles:n}=be();return jsxRuntime.jsx("div",{role:"region","aria-label":h.empty,style:n.emptyScroller,children:jsxRuntime.jsxs("div",{style:n.emptyContent,children:[jsxRuntime.jsx("div",{"aria-hidden":"true",style:n.emptyLead}),jsxRuntime.jsx(Yp,{pet:t,onSend:e,onVetPrep:r})]})})}i(Wx,"EmptyState");function Kx({prompts:e,onSelectPrompt:t}){let{styles:r}=be();return e.length===0?null:jsxRuntime.jsx("ul",{"aria-label":h.followUpsHeadingNative,style:r.followUps,children:e.map((n,o)=>jsxRuntime.jsx(Gx,{prompt:n,index:o,onSelectPrompt:t},n))})}i(Kx,"FollowUps");function Gx({prompt:e,index:t,onSelectPrompt:r}){let{styles:n}=be(),o=te(),a=react.useRef(null);return react.useEffect(()=>{let s=_e(a.current,{durationMs:o.followUpInMs,delayMs:t*o.followUpStaggerMs,fromOpacity:0});return ()=>s?.cancel()},[o,t]),jsxRuntime.jsx("li",{ref:a,style:{display:"flex",maxWidth:"100%"},children:jsxRuntime.jsx("button",{type:"button",onClick:()=>r(e),style:n.followUpRow,children:e})})}i(Gx,"FollowUpRow");function qx({error:e,onRetry:t,onAddPet:r}){let{styles:n}=be(),o=r!==null&&od(e)?r:null;return jsxRuntime.jsxs("div",{role:"alert",style:n.centered,children:[jsxRuntime.jsx("p",{style:n.errorText,children:e.displayMessage}),o!==null?jsxRuntime.jsx("button",{type:"button",onClick:o,style:n.retryButton,children:h.addPet}):null,e.retryable?jsxRuntime.jsx("button",{type:"button",onClick:t,style:n.retryButton,children:h.retry}):null]})}i(qx,"ErrorState");function Yx({chat:e,onSelectPrompt:t,onAnswerCheckin:r,imagesFor:n,onPreview:o,onCheckinFindVet:a,petName:s}){let{styles:l}=be(),{messages:u,isStreaming:d}=e,c=Qx(u,e.conversationId),p=Td(e),f=Rn(u,d),m=Sd(e,"web"),y=react.useMemo(()=>lp(sp(u)),[u]),{scrollerRef:E,listRef:g,onScroll:v}=af(u,d,{awaiting:f,prompts:p.length,notice:m!==null,reconnecting:e.reconnecting===true}),S=u[u.length-1],w=d&&S!==void 0&&S.role==="assistant"?S.id:null;return jsxRuntime.jsxs("div",{ref:E,onScroll:v,role:"region","aria-label":h.transcript,tabIndex:0,style:l.list,children:[e.historyCursor?jsxRuntime.jsx("button",{type:"button",disabled:e.isLoadingHistory,onClick:()=>{e.loadOlderMessages();},style:l.earlierButton,children:e.isLoadingHistory?$.loadingEarlier:$.earlier}):null,jsxRuntime.jsx("ol",{ref:g,style:l.messageList,children:u.map(T=>T.checkin&&y.has(T.id)?jsxRuntime.jsx(xp,{message:T,checkin:T.checkin,onAnswer:r,onFindVet:a},T.id):jsxRuntime.jsx(Zx,{message:T,streaming:T.id===w,chat:e,images:n(T),onPreview:o,enters:!c.has(T.id)},T.id))}),e.reconnecting===true?jsxRuntime.jsx("p",{style:l.reconnectingCaption,children:h.reconnecting}):null,f?jsxRuntime.jsx(ef,{petName:s}):null,m!==null?jsxRuntime.jsx(Vx,{notice:m,onRetry:e.retryLast,onStartNew:e.newConversation}):null,jsxRuntime.jsx(Kx,{prompts:p,onSelectPrompt:t})]})}i(Yx,"PopulatedState");var Xx=new Set;function Qx(e,t){let r=react.useRef(null);if(r.current===null||r.current.scope!==t){let n=r.current!==null&&r.current.scope===null?r.current.ids:null,o=t===null?Xx:new Set(e.map(a=>a.id));r.current={scope:t,ids:n??o};}return r.current.ids}i(Qx,"useSettledIds");function Zx({message:e,streaming:t,chat:r,images:n,onPreview:o,enters:a}){let{theme:s,styles:l}=be(),u=te(),d=react.useRef(null),c=e.role==="user",p=e.role==="vet";react.useEffect(()=>{if(!a)return;let g=Nc(d.current,u);return ()=>g?.cancel()},[]);let f=zc(e.text,t&&e.role==="assistant",u),m=e.role==="assistant"&&!s.meta.hidePoweredBy,y=c?h.senderUser:e.role==="assistant"&&!m?h.senderAssistant:null,E=e.pending!==true&&!t;return jsxRuntime.jsxs("li",{style:{...l.row,...c?l.rowUser:l.rowAssistant},"aria-busy":e.pending===true?true:void 0,children:[m?jsxRuntime.jsx("p",{style:l.senderRow,children:jsxRuntime.jsx("span",{style:l.assistantName,children:h.assistantName})}):null,p?jsxRuntime.jsx("p",{style:l.senderRow,children:jsxRuntime.jsx("span",{style:l.vetSender,children:kd(e)})}):null,jsxRuntime.jsxs("div",{ref:d,style:{...l.bubble,...c?l.bubbleUser:p?l.bubbleVet:l.bubbleAssistant,...e.pending?l.bubblePending:null},children:[y!==null?jsxRuntime.jsx("span",{style:ut,children:`${y}: `}):null,n.length>0?jsxRuntime.jsx(hp,{images:n,onPreview:o}):null,jsxRuntime.jsx("p",{style:c?l.bubbleTextUser:p?l.bubbleTextVet:l.bubbleTextAssistant,children:e.role==="assistant"?Zp(f,{bold:l.bubbleBold,italic:l.bubbleItalic,code:l.bubbleCode}):f})]}),e.role==="assistant"&&!t?jsxRuntime.jsx(Fp,{citations:e.citations}):null,E?jsxRuntime.jsx(Bp,{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(Zx,"MessageRow");function cf(e,t,r){let[n,o]=react.useState({send:e,conversationId:t,text:r??"",seeded:r??null}),a=n.send===e&&(n.conversationId===null||n.conversationId===t);react.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=react.useCallback(l=>o(u=>({send:e,conversationId:t,text:l,seeded:u.seeded})),[e,t]);return [a?n.text:"",s]}i(cf,"useChatDraft");function pf(e,t,r,n){let o=react.useRef({draft:r,setDraft:n});o.current={draft:r,setDraft:n};let a=react.useRef(null),[s,l]=react.useState(null);react.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 ud(()=>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]),react.useEffect(()=>{e===void 0||s!==`${t??""}`||de(()=>e.write(t,r));},[e,t,r,s]);}i(pf,"usePersistedDraft");var Zn=44,nR=18,oR=14,Jn=6,iR=1200,aR=.4;function sR(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(sR,"formatDictationElapsed");function mf(e){switch(e){case "permissionDenied":return h.micBlocked;case "noSpeech":return h.noSpeech;case "unavailable":return h.dictationUnavailable}}i(mf,"dictationErrorMessage");function yf({active:e,listening:t,elapsedMs:r,disabled:n=false,onToggle:o}){let a=z(),s=react.useMemo(()=>uR(a),[a]);return jsxRuntime.jsxs("span",{style:s.wrap,children:[t?jsxRuntime.jsx("span",{"aria-hidden":"true",style:s.timer,children:sR(r)}):null,jsxRuntime.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?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lR,{style:s.pulse}),jsxRuntime.jsx(U,{name:"square",size:oR,color:a.color.brandInk,fill:a.color.brandInk,style:{position:"relative"}})]}):jsxRuntime.jsx(U,{name:"mic",size:nR,color:a.color.brandInk})}),jsxRuntime.jsx("span",{role:"status","aria-live":"polite",style:ut,children:t?h.listening:""})]})}i(yf,"DictationButton");function lR({style:e}){let t=react.useRef(null),r=te();return react.useEffect(()=>{let n=t.current;if(r.reduced||!kt(n))return;let o=n.animate([{opacity:1},{opacity:.4},{opacity:1}],{duration:iR,iterations:1/0,easing:"ease-in-out"});return ()=>o.cancel()},[r.reduced]),jsxRuntime.jsx("span",{ref:t,"aria-hidden":"true",style:e})}i(lR,"Pulse");function uR(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:Zn,height:Zn,minWidth:Zn,minHeight:Zn,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:aR,cursor:"not-allowed"},pulse:{position:"absolute",top:Jn,right:Jn,bottom:Jn,left:Jn,borderRadius:r.pill,backgroundColor:t.brandSofter}}}i(uR,"makeStyles");function gf(e){if(!e)return null;let t=e.SpeechRecognition??e.webkitSpeechRecognition;return typeof t=="function"?t:null}i(gf,"getRecognitionConstructor");function ba(e){return typeof e=="string"&&e.toLowerCase().startsWith("en")?e:"en-US"}i(ba,"resolveDictationLang");async function hf(e,t){let r=gf(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(hf,"probeDictationCapability");function cR(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(cR,"joinRecognitionResults");function bf(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(bf,"composeDictatedText");function pR(e){return e==="not-allowed"||e==="service-not-allowed"?"permissionDenied":e==="no-speech"?"noSpeech":"unavailable"}i(pR,"mapDictationError");var fR=new Set(["language-not-supported","service-not-allowed"]),mR={setTimeout:i((e,t)=>globalThis.setTimeout(e,t),"setTimeout"),clearTimeout:i(e=>globalThis.clearTimeout(e),"clearTimeout")};function vf(e){let{env:t,capability:r,lang:n,callbacks:o}=e,a=e.timers??mR,s=e.maxDurationMs??6e4,l=gf(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,E=false,g=false,v=false,S=false,w=false,T="",b=null,k=null,I=i(()=>{if(g)return;g=true,y+=1,k!==null&&a.clearTimeout(k),k=null;let R=b;R===null&&!S&&T.trim()===""&&(R="noSpeech"),o.onEnd?.({mode:u,transcript:T,error:R});},"finish"),O=i(()=>{if(!l){b="unavailable",I();return}y+=1;let R=y,A=i(()=>R===y&&!g,"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(K=>new B(K));}catch{d=false,p=true;}F.onstart=()=>{!A()||E||(E=true,o.onStart?.(u));},F.onresult=B=>{A()&&(w=true,T=cR(B.results),o.onTranscript?.(T));},F.onerror=B=>{if(!A())return;let K=B?.error??"";if(!(K==="aborted"&&v)){if(K==="phrases-not-supported"&&!p&&!w&&!v){d=false,p=true,f=true;return}if(u==="on_device"&&!c&&!w&&!v&&fR.has(K)){u="browser",d=false,c=true,f=true;return}K==="no-speech"&&T.trim()!==""||(b=pR(K));}},F.onend=()=>{if(A()){if(f&&!v){f=false,O();return}I();}};try{F.start();}catch{if(u==="on_device"&&!c){u="browser",d=false,c=true,O();return}b="unavailable",I();}},"launch");if(r==="downloadable"&&l&&typeof l.install=="function")try{Promise.resolve(l.install({langs:[n],processLocally:!0})).catch(()=>{});}catch{}let _=i(()=>{if(!(g||v)){v=true,f=false,k!==null&&a.clearTimeout(k),k=null;try{m?.stop();}catch{I();}}},"stopListening");k=a.setTimeout(()=>{k=null,_();},s);let x={get mode(){return u},stop(){g||v||(S=true,_());},cancel(){if(g)return;v=true,S=true,f=false;let R=m;I();try{R?.abort();}catch{}}};return O(),x}i(vf,"startDictation");var yR=6e3;function va(e,t,r){if(e)try{e.track(t,{...r});}catch{}}i(va,"trackDictationEvent");function gR(){return typeof window>"u"?null:window}i(gR,"browserEnv");function Ef({enabled:e,input:t,setInput:r,phrases:n,maxLength:o,telemetry:a,env:s}){let[l,u]=react.useState("none"),[d,c]=react.useState("idle"),[p,f]=react.useState(null),[m,y]=react.useState(0),E=react.useRef(null),g=react.useRef(null),v=react.useRef(t);v.current=t;let S=react.useRef(r);S.current=r;let w=react.useRef(a);w.current=a;let[T,b]=react.useState(0),k=react.useCallback(()=>s??gR(),[s]);react.useEffect(()=>{if(!e){u("none");return}let A=k();if(!A)return;let F=true;return hf(A,ba(A.navigator?.language)).then(B=>{F&&u(B);}),()=>{F=false;}},[e,k,T]);let I=react.useCallback(()=>{let A=k();if(!A||l==="none")return;f(null),y(0),g.current=null,c("starting");let F=v.current,B=l,K=false,oe=vf({env:A,capability:l,lang:ba(A.navigator?.language),...n!==void 0?{phrases:n}:{},callbacks:{onStart:i(X=>{g.current=Date.now(),c("listening"),va(w.current,"chat_dictation_started",{mode:X});},"onStart"),onTranscript:i(X=>{S.current(bf(F,X,o));},"onTranscript"),onEnd:i(({mode:X,transcript:Be,error:W})=>{K=true,E.current=null;let Ce=g.current;g.current=null,W?(f(W),c("error"),va(w.current,"chat_dictation_failed",{mode:X,error:W})):(c("idle"),va(w.current,"chat_dictation_completed",{mode:X,duration_ms:Ce===null?0:Date.now()-Ce,char_count:Be.trim().length})),B==="downloadable"&&b(je=>je+1);},"onEnd")}});K||(E.current=oe);},[l,o,n,k]),O=react.useCallback(()=>{E.current?.stop();},[]),_=react.useCallback(()=>{E.current?.cancel();},[]),x=d==="starting"||d==="listening",R=react.useCallback(()=>{if(E.current){E.current.stop();return}I();},[I]);return react.useEffect(()=>{if(d!=="listening")return;let A=i(()=>{let B=g.current;B!==null&&y(Date.now()-B);},"tick");A();let F=setInterval(A,1e3);return ()=>clearInterval(F)},[d]),react.useEffect(()=>{if(!x||typeof document>"u")return;let A=i(()=>{document.visibilityState==="hidden"&&E.current?.stop();},"onVisibility");return document.addEventListener("visibilitychange",A),()=>document.removeEventListener("visibilitychange",A)},[x]),react.useEffect(()=>{if(!x||typeof document>"u")return;let A=i(F=>{F.key==="Escape"&&E.current?.stop();},"onKey");return document.addEventListener("keydown",A),()=>document.removeEventListener("keydown",A)},[x]),react.useEffect(()=>{if(d!=="error")return;let A=setTimeout(()=>{f(null),c("idle");},yR);return ()=>clearTimeout(A)},[d]),react.useEffect(()=>()=>{E.current?.cancel();},[]),{supported:e&&l!=="none",status:d,active:x,error:p,elapsedMs:m,toggle:R,stop:O,cancel:_}}i(Ef,"useDictation");var hR=["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 Cf(e={}){let t=new Set,r=[];for(let n of [e.name,e.breed,...hR]){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(Cf,"buildDictationPhrases");function CR(e,t,r){return e!==null?e:t==="urgent"?h.placeholderUrgentWeb:t==="followUp"?h.placeholderFollowUpWeb:Tt(h.placeholder,r)}i(CR,"composerPlaceholder");function Rf({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,mood:m="ask",children:y}){let{theme:E,styles:g}=be(),[v,S]=cf(t,a,s);pf(l,a===null?null:String(a),v,S);let[w,T]=react.useState(false),b=CR(E.meta.placeholder,m,p?.name),k=react.useMemo(()=>Cf({name:p?.name??null,breed:p?.breed??null}),[p?.name,p?.breed]),I=Ef({enabled:c,input:v,setInput:S,phrases:k,maxLength:mt,telemetry:f}),O=I.cancel,_=I.active,x=react.useRef(null),R=react.useRef(new Set),A=react.useRef(new Set);react.useEffect(()=>()=>{for(let j of R.current)Sr(j);for(let j of A.current)Sr(j);},[]);let F=react.useCallback(j=>{if(u===null)return;let Y=Array.from(j.target.files??[]);if(j.target.value="",Y.length===0)return;u.dismissRejected();let Ot=Y.map(Fn),no=u.add(Ot);Ot.forEach((Ve,Yt)=>{no[Yt]?.ok===true?R.current.add(Ve.uri):Sr(Ve.uri);});},[u]),B=react.useCallback(j=>{if(u===null)return;let Y=u.attachments.find(Ot=>Ot.id===j);u.remove(j),Y!==void 0&&R.current.delete(Y.previewUri)&&Sr(Y.previewUri);},[u]),K=u!==null&&u.uploading,oe=u!==null&&u.failed,X=K||oe,Be=react.useMemo(()=>[...v].length>mt,[v]),W=react.useCallback(()=>{if(v.trim().length===0||[...v].length>mt||X)return;_&&O();let j=u===null?yp:u.attachments.flatMap(Y=>Y.status==="uploaded"?[{uri:Y.previewUri,filename:Y.filename}]:[]);for(let Y of j)R.current.delete(Y.uri),A.current.add(Y.uri);e(v,j),S("");},[v,e,X,_,O,u,S]),Ce=react.useCallback(()=>{r();},[r]),je=react.useCallback(j=>{j.key!=="Enter"||j.shiftKey||j.altKey||j.ctrlKey||j.metaKey||j.nativeEvent.isComposing||(j.preventDefault(),W());},[W]),At=react.useCallback(j=>{_&&O(),S(j.target.value);},[_,O,S]);react.useLayoutEffect(()=>{let j=o.current;j!==null&&(j.style.height="auto",j.style.height=`${Math.min(j.scrollHeight,sa)}px`);},[v,o]);let rt=Be||X,nt=u!==null&&u.attachments.length>=u.maxPerMessage,ro=react.useCallback(j=>{j.target===j.currentTarget&&(j.preventDefault(),o.current?.focus());},[o]),pt=ip(E);return jsxRuntime.jsxs("div",{style:g.composerBlock,children:[oe?jsxRuntime.jsx("p",{role:"alert",style:g.composerError,children:h.attachmentsFailedBlocked}):null,u!==null&&u.rejected!==null?jsxRuntime.jsx("p",{role:"alert",style:g.composerError,children:ed(u.rejected)}):null,I.supported&&I.error!==null?jsxRuntime.jsx("p",{role:"alert",style:g.composerError,children:mf(I.error)}):null,u!==null?jsxRuntime.jsx(gp,{attachments:u.attachments,onRetry:u.retry,onRemove:B,onPreview:d}):null,jsxRuntime.jsxs("div",{style:{...g.composer,...u!==null?{paddingLeft:E.space.sm}:null,...w?g.composerFocused:null},onMouseDown:ro,children:[u!==null?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("input",{ref:x,type:"file",accept:Ws,multiple:u.maxPerMessage>1,onChange:F,tabIndex:-1,"aria-hidden":"true",style:ut}),jsxRuntime.jsx("button",{type:"button",onClick:()=>x.current?.click(),"aria-label":td(u.attachments.length,u.maxPerMessage),"aria-disabled":nt,style:{...g.iconControl,...nt?g.actionButtonDisabled:null},children:jsxRuntime.jsx(U,{name:"upload",size:op,color:E.color.brandInk})})]}):null,jsxRuntime.jsxs("div",{style:g.inputWrap,children:[v.length===0?jsxRuntime.jsx("span",{"aria-hidden":"true",style:g.placeholder,children:b}):null,jsxRuntime.jsx("textarea",{ref:o,rows:1,value:v,onChange:At,onKeyDown:je,onFocus:()=>T(true),onBlur:()=>T(false),"data-ef-focus-ring":"self","aria-label":h.composerLabel,"aria-description":b,style:g.input})]}),I.supported?jsxRuntime.jsx(yf,{active:I.active,listening:I.status==="listening",elapsedMs:I.elapsedMs,onToggle:I.toggle}):null,n?jsxRuntime.jsx("button",{type:"button",onClick:Ce,"aria-label":h.stop,style:g.actionButton,children:jsxRuntime.jsx("span",{"data-everfur-send-disc":"",style:g.sendDisc,children:jsxRuntime.jsx(U,{name:"square",size:rp,color:pt,fill:pt})})}):jsxRuntime.jsx("button",{type:"button",onClick:W,"aria-label":h.send,"aria-disabled":rt,style:{...g.actionButton,...rt?g.actionButtonDisabled:null},children:jsxRuntime.jsx("span",{"data-everfur-send-disc":"",style:g.sendDisc,children:jsxRuntime.jsx(U,{name:"send",size:tp,color:pt})})})]}),y]})}i(Rf,"Composer");var SR=On(),Ca=Object.freeze([]),TR=Object.freeze({display:"contents"});function Tf(e){let{style:t,className:r,renderPending:n}=e;return jsxRuntime.jsx(Ci,{capability:"chat",style:t,className:r,...n?{renderPending:n}:{},children:jsxRuntime.jsx(Rc,{onOpenUrl:e.onOpenUrl,children:jsxRuntime.jsx(wc,{headingLevel:e.headingLevel,children:jsxRuntime.jsx(kR,{...e})})})})}i(Tf,"EverfurChat");function kR(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:E,draftStore:g,vetReturnTo:v,vetUsState:S,vetPrefer:w}=e,T=e.attachments!==false,b=e.attachments===false?void 0:e.attachments?.maxPerMessage,k=e.dictation!==false,{theme:I,styles:O}=be(),_=react.useMemo(()=>Pd(t,r),[t,r]),x=Cr(_),R=Rd(x),A=react.useRef(null),F=ee(),B=Sn(),K=react.useMemo(()=>_d(B.pets,x.petRef),[B.pets,x.petRef]),oe=_R(x,K?.name??null),X=react.useMemo(()=>p===void 0?null:()=>{de(p);},[p]),Be=react.useCallback(xe=>{F.handle.setActivePet(xe),de(s,xe);},[F.handle,s]),W=bd(x),Ce=Hn(),je=react.useRef(null),At=(x.hasUnreadThreads??false)||(x.unreadCount??0)>0||W.rows.some(xe=>xe.unreadCount!==null&&xe.unreadCount>0);fd(x.openCheckin,f),sd(x.askEverfur,x.isBootstrapping,m);let rt=react.useMemo(()=>_i(y),[y]);cd(E,{conversationId:x.conversationId===null?null:String(x.conversationId),isTurnInFlight:x.isStreaming,refresh:x.refreshActiveThread});let nt=xd(react.useMemo(()=>Cd(x.messages),[x.messages])),ro=react.useMemo(()=>Od(x.petRef,v===void 0&&S===void 0&&w===void 0?void 0:{returnTo:v,usState:S,prefer:w}),[x.petRef,v,S,w]),pt=rc(ro),j=pt.open,Y=react.useMemo(()=>({available:pt.available,open:i(()=>{j();},"open")}),[pt.available,j]),Ot=react.useMemo(()=>Y.available?Y.open:u!==void 0?()=>{de(u,"emergency");}:null,[Y,u]),no=react.useMemo(()=>l!==void 0?()=>{de(l,x.petRef);}:Y.available?Y.open:null,[l,x.petRef,Y]),Ve=bn({transport:SR,...b!==void 0?{maxPerMessage:b}:{}}),Yt=PR(x.messages),[kf,Ra]=react.useState(null),Sa=react.useRef(null),Ta=react.useCallback((xe,io)=>{Sa.current=io,Ra(xe);},[]),Pf=react.useCallback(()=>Ra(null),[]),_f=react.useCallback(xe=>{x.send(xe),A.current?.focus();},[x.send]),wf=react.useCallback((xe,io)=>{Yt.record(xe,io),Ve.s3Keys.length>0?x.send(xe,{imageS3Keys:Ve.s3Keys}):x.send(xe),Ve.clear();},[x.send,Ve,Yt]),If=F.runtime.registry?.services?.telemetry??null,oo=react.useRef(null);return Ad(oo,I.color.brandInk),Ic(oo),jsxRuntime.jsxs("div",{ref:oo,className:o,style:{...O.container,...n},children:[jsxRuntime.jsx(vc,{pets:B.pets,activePet:K,unread:At,onOpenHistory:W.open?W.close:W.show,historyTriggerRef:je,onSelectPet:Be,onAddPet:X,rail:Ce.rail,historyOpen:W.open,onNewChat:W.newConversation,vetEntry:Y.available?Y.open:null}),c!==void 0?jsxRuntime.jsx(IR,{petRef:t??null,pet:c,onRegistered:B.refresh}):null,jsxRuntime.jsxs("div",{style:O.split,children:[jsxRuntime.jsxs("div",{style:O.main,children:[jsxRuntime.jsx(Wc,{surface:nt,vetEntry:Y,renderVetAction:d,onFindVet:u}),jsxRuntime.jsx("div",{style:O.body,children:lf(R,x,_f,a,K,no,Yt.imagesFor,Ta,X,Ot)}),jsxRuntime.jsx(Rf,{send:wf,draftScope:x.send,stop:x.stop,isStreaming:x.isStreaming,inputRef:A,conversationId:x.conversationId,seed:rt,draftStore:g,attachments:T&&Ve.available?Ve:null,onPreview:Ta,dictation:k,pet:K,telemetry:If,mood:wR(R,nt.source?.level??null),children:jsxRuntime.jsx("p",{role:"note","data-everfur-footnote":"",style:O.footnote,children:Tt(h.footnoteWeb,K?.name)})}),I.meta.hidePoweredBy?null:jsxRuntime.jsx("p",{style:O.poweredBy,children:h.poweredBy})]}),jsxRuntime.jsx(jc,{chat:x,history:W,mode:Ce.rail?"rail":"dialog",returnFocusTo:je})]}),jsxRuntime.jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",style:ut,children:oe}),jsxRuntime.jsx(ic,{image:kf,onClose:Pf,returnFocusTo:Sa}),jsxRuntime.jsx("div",{"data-ef-focus-ring":"self",style:TR,children:jsxRuntime.jsx(Vd,{})})]})}i(kR,"ChatBody");function PR(e){let t=react.useRef({pending:[],byMessage:new Map}),r=react.useRef(e);r.current=e;let n=react.useCallback((a,s)=>{s.length!==0&&t.current.pending.push({text:a,images:s,before:new Set(r.current.map(l=>l.id))});},[]),o=react.useCallback(a=>{let s=t.current,l=s.byMessage.get(a.id);if(l!==void 0)return l;if(a.role!=="user")return Ca;let u=s.pending.findIndex(c=>c.text===a.text&&!c.before.has(a.id));if(u<0)return Ca;let[d]=s.pending.splice(u,1);return d===void 0?Ca:(s.byMessage.set(a.id,d.images),d.images)},[]);return react.useMemo(()=>({record:n,imagesFor:o}),[n,o])}i(PR,"useSentImages");function _R(e,t){let r=Rn(e.messages,e.isStreaming),[n,o]=react.useState({send:e.send,id:e.conversationId,text:""}),a=react.useRef(false),s=react.useRef({send:e.send,id:e.conversationId});return react.useEffect(()=>{let l=s.current;if((l.send!==e.send||l.id!==null&&l.id!==e.conversationId)&&(a.current=false),s.current={send:e.send,id:e.conversationId},a.current&&!e.isStreaming){let u=e.messages[e.messages.length-1];o({send:e.send,id:e.conversationId,text:u!==void 0&&u.role==="assistant"?h.answered:""});}a.current=e.isStreaming;},[e.isStreaming,e.messages,e.send,e.conversationId]),r?Tt(h.reading,t):n.send===e.send&&n.id===e.conversationId?n.text:""}i(_R,"useReplyAnnouncement");function wR(e,t){return t==="emergency"?"urgent":e==="populated"?"followUp":"ask"}i(wR,"composerMood");function IR({petRef:e,pet:t,onRegistered:r}){let{styles:n}=be(),o=id(e,t,r);return o.status!=="failed"||o.error===null?null:jsxRuntime.jsxs("div",{role:"alert",style:n.setupNotice,children:[jsxRuntime.jsx("span",{style:n.setupNoticeText,children:o.error.displayMessage}),jsxRuntime.jsx("button",{type:"button",onClick:o.retry,style:n.setupNoticeAction,children:h.retry})]})}i(IR,"PetSetupNotice");function DR(e){let{runtime:t,userRef:r,scopeEpoch:n}=ee(),o=react.useMemo(()=>it(t.registry.services.authFor(r)),[t,r,n]),a=react.useMemo(()=>({repository:o,petRef:e}),[o,e]),[s,l]=react.useState({key:a,profile:null,loading:e!==null,error:null}),u=s.key===a?s:{profile:null,loading:e!==null,error:null},d=react.useRef(0),c=react.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 react.useEffect(()=>(c(),()=>{d.current+=1;}),[c]),react.useMemo(()=>({profile:u.profile,loading:u.loading,error:u.error,refresh:c}),[u.profile,u.loading,u.error,c])}i(DR,"useEverfurPetProfile");function NR(e){return react.createElement(cn,{clientTheme:e.clientTheme??null,seams:gn,children:e.children})}i(NR,"EverfurThemeProvider");exports.APPEARANCE_PRESETS=ql;exports.APPEARANCE_PRESET_NAMES=Gl;exports.APPEARANCE_SIZE_RANGES=mr;exports.CapabilityGate=Ci;exports.EverfurChat=Tf;exports.EverfurConfigError=re;exports.EverfurProvider=pb;exports.EverfurThemeProvider=NR;exports.EverfurThrownError=Lr;exports.THEME_SLOT_KEYS=Jy;exports.THEME_SLOT_NAMES=Ge;exports.canonicalPetSpecies=sr;exports.categoryFor=so;exports.conversationId=ry;exports.createLocalStorageKv=yi;exports.createWebAttachmentTransport=On;exports.expandAppearance=ti;exports.face=Uh;exports.faceCss=P;exports.fileToAttachmentHandle=Fn;exports.isErr=Ff;exports.isOk=Of;exports.isRetryableCode=lo;exports.petRef=ey;exports.previewTheme=nh;exports.unwrap=Mf;exports.useCapability=zt;exports.useChatAttachments=bn;exports.useEverfur=ku;exports.useEverfurChat=Cr;exports.useEverfurPetProfile=DR;exports.useEverfurPets=Sn;exports.useEverfurTheme=z;exports.userFacingError=Ft;exports.userRef=ty;
|