@everfur/sdk 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +648 -1
- package/README.md +58 -23
- package/consent/package.json +8 -0
- package/dist/Chat-DPUD6dnc.d.cts +128 -0
- package/dist/Chat-DwAC2vhB.d.ts +128 -0
- package/dist/DepthViews-DNEM96Se.d.ts +16 -0
- package/dist/DepthViews-DP0R-DhB.d.cts +19 -0
- package/dist/DepthViews-D_3hl4xk.d.ts +19 -0
- package/dist/DepthViews-DbFhR4Du.d.cts +16 -0
- package/dist/ErrorPolicyPort-CNf4uQZP.d.cts +22 -0
- package/dist/ErrorPolicyPort-CwbfmxzJ.d.ts +22 -0
- package/dist/{EverfurResult-D92-uL82.d.cts → EverfurResult-DN9pL2Ab.d.cts} +11 -10
- package/dist/{EverfurResult-D92-uL82.d.ts → EverfurResult-DN9pL2Ab.d.ts} +11 -10
- package/dist/{PhotoController-BItt5M7u.d.cts → PhotoController-3l7MT9jA.d.cts} +1 -1
- package/dist/{PhotoController-D8zMTdcW.d.ts → PhotoController-vzY5bfY_.d.ts} +1 -1
- package/dist/animations/index.cjs +1 -1997
- package/dist/animations/index.d.cts +35 -35
- package/dist/animations/index.d.ts +35 -35
- package/dist/animations/index.js +1 -1972
- package/dist/attachments-5NeobOCd.d.ts +256 -0
- package/dist/attachments-Bw3iMQgu.d.ts +146 -0
- package/dist/attachments-CQgFrEQ7.d.cts +146 -0
- package/dist/attachments-D8T5re7e.d.cts +256 -0
- package/dist/casesRepository-ClLv6qMl.d.ts +188 -0
- package/dist/casesRepository-DHwtGRYY.d.cts +188 -0
- package/dist/chat/index.cjs +1 -1170
- package/dist/chat/index.d.cts +31 -53
- package/dist/chat/index.d.ts +31 -53
- package/dist/chat/index.js +1 -1167
- package/dist/client/index.cjs +9 -2315
- package/dist/client/index.d.cts +77 -15
- package/dist/client/index.d.ts +77 -15
- package/dist/client/index.js +9 -2215
- package/dist/{config-CiJ0PVBB.d.ts → config-CzTZGlfF.d.cts} +63 -25
- package/dist/{config-BSjBdxrZ.d.cts → config-DW60uRb9.d.ts} +63 -25
- package/dist/consent/index.cjs +1 -0
- package/dist/consent/index.d.cts +33 -0
- package/dist/consent/index.d.ts +33 -0
- package/dist/consent/index.js +1 -0
- package/dist/context-DXhqHlPU.d.ts +159 -0
- package/dist/context-XvTzq1tE.d.cts +159 -0
- package/dist/copy-Mjoo91aS.d.ts +198 -0
- package/dist/copy-bKDNigLb.d.cts +198 -0
- package/dist/core/index.cjs +13 -3175
- package/dist/core/index.d.cts +58 -12
- package/dist/core/index.d.ts +58 -12
- package/dist/core/index.js +13 -3163
- package/dist/depth-CErXCU8J.d.cts +502 -0
- package/dist/depth-DjDcJ6kH.d.ts +502 -0
- package/dist/entitlementRepository-DKdXFgTo.d.cts +698 -0
- package/dist/entitlementRepository-DSbzuyAW.d.ts +698 -0
- package/dist/{identity-DK9zORrG.d.ts → identity-BMx2SUOM.d.ts} +19 -6
- package/dist/{identity-Brl-lDd6.d.cts → identity-DI4eVx9S.d.cts} +19 -6
- package/dist/{ids-CJ1S6adf.d.cts → ids-B2GAAifq.d.cts} +1 -1
- package/dist/{ids-CJ1S6adf.d.ts → ids-B2GAAifq.d.ts} +1 -1
- package/dist/index.cjs +12 -4488
- package/dist/index.d.cts +29 -121
- package/dist/index.d.ts +29 -121
- package/dist/index.js +12 -4464
- package/dist/models-B-Uh2LTf.d.ts +214 -0
- package/dist/models-D2EUxPZY.d.cts +214 -0
- package/dist/notifications/index.cjs +2 -0
- package/dist/notifications/index.d.cts +17 -0
- package/dist/notifications/index.d.ts +17 -0
- package/dist/notifications/index.js +2 -0
- package/dist/pets-CtQdRpWo.d.ts +92 -0
- package/dist/pets-aB8q0JyX.d.cts +92 -0
- package/dist/photo/index.cjs +1 -2189
- package/dist/photo/index.d.cts +6 -6
- package/dist/photo/index.d.ts +6 -6
- package/dist/photo/index.js +1 -2186
- package/dist/ports-BN6RHF9W.d.cts +48 -0
- package/dist/ports-BN6RHF9W.d.ts +48 -0
- package/dist/ports-DEBzEhbp.d.cts +386 -0
- package/dist/ports-DMolTRzU.d.ts +386 -0
- package/dist/profile-CSs1wlXT.d.cts +93 -0
- package/dist/profile-CSs1wlXT.d.ts +93 -0
- package/dist/records/depth/index.cjs +2 -0
- package/dist/records/depth/index.d.cts +13 -0
- package/dist/records/depth/index.d.ts +13 -0
- package/dist/records/depth/index.js +2 -0
- package/dist/records/index.cjs +3 -2839
- package/dist/records/index.d.cts +137 -203
- package/dist/records/index.d.ts +137 -203
- package/dist/records/index.js +3 -2833
- package/dist/requestFunnel-CjW7uDuA.d.ts +87 -0
- package/dist/requestFunnel-L-BQfi0z.d.cts +87 -0
- package/dist/{resolve-Dq_4_agU.d.ts → resolve-D4Ywz5OS.d.cts} +10 -4
- package/dist/{resolve-Dq_4_agU.d.cts → resolve-D4Ywz5OS.d.ts} +10 -4
- package/dist/{runtime-BgQnA594.d.cts → runtime-B8s-_hv8.d.cts} +134 -59
- package/dist/{runtime-CBA-LvdM.d.ts → runtime-BR9ysG0J.d.ts} +134 -59
- package/dist/server/events/index.cjs +2 -0
- package/dist/server/events/index.d.cts +550 -0
- package/dist/server/events/index.d.ts +550 -0
- package/dist/server/events/index.js +2 -0
- package/dist/server/index.cjs +2 -533
- package/dist/server/index.d.cts +73 -18
- package/dist/server/index.d.ts +73 -18
- package/dist/server/index.js +2 -530
- package/dist/species-BXAIMh7I.d.cts +9 -0
- package/dist/species-BXAIMh7I.d.ts +9 -0
- package/dist/televet/index.cjs +1 -0
- package/dist/televet/index.d.cts +60 -0
- package/dist/televet/index.d.ts +60 -0
- package/dist/televet/index.js +1 -0
- package/dist/testing/index.cjs +5 -823
- package/dist/testing/index.d.cts +17 -3
- package/dist/testing/index.d.ts +17 -3
- package/dist/testing/index.js +5 -820
- package/dist/testing/rn/index.cjs +1 -449
- package/dist/testing/rn/index.d.cts +17 -29
- package/dist/testing/rn/index.d.ts +17 -29
- package/dist/testing/rn/index.js +1 -444
- package/dist/testing/web/index.cjs +1 -0
- package/dist/testing/web/index.d.cts +131 -0
- package/dist/testing/web/index.d.ts +131 -0
- package/dist/testing/web/index.js +1 -0
- package/dist/timelineRows-CaohZzXS.d.cts +19 -0
- package/dist/timelineRows-DZed6dAM.d.ts +19 -0
- package/dist/typeStyle-0TydiZ1w.d.cts +19 -0
- package/dist/typeStyle-CWMsoe6b.d.ts +19 -0
- package/dist/uploadTransport-D0M0T4hN.d.ts +38 -0
- package/dist/uploadTransport-DKJHs3Yj.d.cts +38 -0
- package/dist/useRecordsDepth-BHBzJ76R.d.cts +237 -0
- package/dist/useRecordsDepth-BU-OhzH6.d.ts +237 -0
- package/dist/useVetVisit-Bc84hWUU.d.cts +187 -0
- package/dist/useVetVisit-CjmMa896.d.ts +187 -0
- package/dist/video/index.cjs +1 -1941
- package/dist/video/index.d.cts +4 -4
- package/dist/video/index.d.ts +4 -4
- package/dist/video/index.js +1 -1938
- package/dist/view-C3qPIXGX.d.cts +310 -0
- package/dist/view-DtSPYpKa.d.ts +310 -0
- package/dist/visitIntent-D7_yVp1I.d.cts +8 -0
- package/dist/visitIntent-D7_yVp1I.d.ts +8 -0
- package/dist/web/consent/index.cjs +1 -0
- package/dist/web/consent/index.d.cts +34 -0
- package/dist/web/consent/index.d.ts +34 -0
- package/dist/web/consent/index.js +1 -0
- package/dist/web/index.cjs +14 -0
- package/dist/web/index.d.cts +217 -0
- package/dist/web/index.d.ts +217 -0
- package/dist/web/index.js +14 -0
- package/dist/web/notifications/index.cjs +2 -0
- package/dist/web/notifications/index.d.cts +213 -0
- package/dist/web/notifications/index.d.ts +213 -0
- package/dist/web/notifications/index.js +2 -0
- package/dist/web/records/depth/index.cjs +2 -0
- package/dist/web/records/depth/index.d.cts +12 -0
- package/dist/web/records/depth/index.d.ts +12 -0
- package/dist/web/records/depth/index.js +2 -0
- package/dist/web/records/index.cjs +4 -0
- package/dist/web/records/index.d.cts +194 -0
- package/dist/web/records/index.d.ts +194 -0
- package/dist/web/records/index.js +4 -0
- package/dist/web/televet/index.cjs +1 -0
- package/dist/web/televet/index.d.cts +50 -0
- package/dist/web/televet/index.d.ts +50 -0
- package/dist/web/televet/index.js +1 -0
- package/notifications/package.json +8 -0
- package/package.json +197 -9
- package/records/depth/package.json +8 -0
- package/server/events/device-blocked.cjs +15 -0
- package/server/events/package.json +9 -0
- package/televet/package.json +8 -0
- package/testing/web/native-blocked.cjs +12 -0
- package/testing/web/package.json +8 -0
- package/web/consent/native-blocked.cjs +12 -0
- package/web/consent/package.json +8 -0
- package/web/native-blocked.cjs +12 -0
- package/web/notifications/native-blocked.cjs +12 -0
- package/web/notifications/package.json +8 -0
- package/web/package.json +8 -0
- package/web/records/depth/native-blocked.cjs +12 -0
- package/web/records/depth/package.json +8 -0
- package/web/records/native-blocked.cjs +12 -0
- package/web/records/package.json +8 -0
- package/web/televet/native-blocked.cjs +12 -0
- package/web/televet/package.json +8 -0
- package/dist/ChatController-CKdBvPj2.d.ts +0 -146
- package/dist/ChatController-CpUMvvZf.d.cts +0 -146
- package/dist/FilePort-BabWrv7I.d.cts +0 -22
- package/dist/FilePort-BabWrv7I.d.ts +0 -22
- package/dist/petsRepository-BEGb97M9.d.cts +0 -326
- package/dist/petsRepository-Bu18r2kK.d.ts +0 -326
- package/dist/requestFunnel-DuUH-kAe.d.cts +0 -28
- package/dist/requestFunnel-dio5OmR9.d.ts +0 -28
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var react=require('react'),jsxRuntime=require('react/jsx-runtime');var cr=Object.defineProperty;var n=(e,r)=>cr(e,"name",{value:r,configurable:true});var G=Object.freeze([Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"AuthorizationException",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"ConflictException",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"DAILY_QUOTA_EXCEEDED",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"FILE_TOO_LARGE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_IN_FLIGHT",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"INVALID_CONTENT_TYPE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"InternalFailureException",envelope:"http_envelope",httpStatus:500,retryable:true}),Object.freeze({wireCode:"MethodNotAllowedException",envelope:"http_envelope",httpStatus:405,retryable:false}),Object.freeze({wireCode:"NotImplementedException",envelope:"http_envelope",httpStatus:501,retryable:false}),Object.freeze({wireCode:"PaymentRequiredException",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ResourceNotFoundException",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"ServiceUnavailableException",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"TIER_UPGRADE_REQUIRED",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ThrottlingException",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"ValidationException",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"accessDenied",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"access_denied",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"attachment_unreadable",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"authExpired",envelope:"http_envelope",httpStatus:401,retryable:true}),Object.freeze({wireCode:"authRejected",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"consent_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_required",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_scope_wrong_route",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"device_cipher_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"email_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"event_cursor_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_payload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_not_available",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_unknown",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_required",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_reused",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"insufficientCapability",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"insufficient_scope",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"internal_error",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"invalidRequest",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_client",envelope:"oauth_error",httpStatus:401,retryable:false}),Object.freeze({wireCode:"invalid_client_metadata",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_grant",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_redirect_uri",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_request",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_scope",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_target",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"mcp_connection_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"mcp_request_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"mcp_request_gone",envelope:"http_envelope",httpStatus:410,retryable:false}),Object.freeze({wireCode:"mcp_request_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"not_found",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"partner_visit_link_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"partner_visit_owner_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"partner_visit_pet_already_mapped",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"payload_too_large",envelope:"http_envelope",httpStatus:413,retryable:false}),Object.freeze({wireCode:"petRefInUse",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"pet_health_list_removals_unconfirmed",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_health_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_not_registered",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"provider_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"rateLimited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"record_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"record_subject_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"record_upload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"records_consent_required",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"sandbox_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"session_required",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"share_limit_reached",envelope:"http_envelope",httpStatus:429,retryable:false}),Object.freeze({wireCode:"slow_down",envelope:"oauth_error",httpStatus:429,retryable:true}),Object.freeze({wireCode:"species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"tenant_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"tenant_has_no_capabilities",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"tenant_resource_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"tenant_surface_not_enabled",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"timeout",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"token_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"unavailable",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"unsupported_grant_type",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"unsupported_response_type",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"verify_mint_rate_limited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"verify_mint_refused",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"verify_mint_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"verify_user_ref_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_empty",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);Object.freeze(G.map(e=>e.wireCode));var fr=Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict"}),me=Object.freeze(G.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:fr[e.wireCode]}))),pr=new Map(me.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),yr=Object.freeze(["http_envelope",...[...new Set(me.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function D(e,r){if(typeof e!="string")return;let t=e.trim().toUpperCase();if(t.length!==0)for(let o of [r??"http_envelope",...yr]){let i=pr.get(o+t);if(i)return i}}n(D,"contractErrorFor");function mr(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}n(mr,"contractDocUrl");function ve(e){return null}n(ve,"publishedDocUrl");var vr=Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",conversationNotFound:"notFound",petNotFound:"notFound",resourceNotFound:"notFound",conflict:"conflict",idempotencyConflict:"conflict",idempotencyInFlight:"conflict",streamTimeout:"connection",streamIncomplete:"connection",upstreamLlmTimeout:"connection",serviceUnavailable:"connection",internalError:"server",notImplemented:"server",mediaUploadFailed:"media",moderationBlocked:"policy",unknown:"unknown"});function be(e){return vr[e]}n(be,"categoryFor");function Ee(e){let r=D(e);if(r)return r.normalized;let t=(e??"").trim().toUpperCase(),o=t.replace(/[^A-Z0-9]/g,"");if(o==="AUTHREJECTED")return "authRejected";if(t.startsWith("AUTH"))return "authExpired";switch(o){case "DAILYQUOTAEXCEEDED":case "QUOTAEXCEEDED":return "quotaExceeded";case "RATELIMITED":case "TOOMANYREQUESTS":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";case "NOTFOUND":case "CONVERSATIONNOTFOUND":return "conversationNotFound";case "PETNOTFOUND":return "petNotFound";case "TIMEOUT":case "STREAMTIMEOUT":return "streamTimeout";case "MEDIAUPLOADFAILED":case "UNRECOGNIZEDVIDEOFORMAT":case "FILETOOSMALL":return "mediaUploadFailed";case "MODERATIONBLOCKED":return "moderationBlocked";case "UPSTREAMLLMTIMEOUT":return "upstreamLlmTimeout";case "INTERNALERROR":case "INTERNALSERVERERROR":return "internalError";case "STREAMINCOMPLETE":case "CHATSTREAMINCOMPLETE":return "streamIncomplete";case "INVALIDANALYSISTYPE":case "INVALIDUPLOADPURPOSE":return "unknown";default:return "unknown"}}n(Ee,"fromWire");var br=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function $(e){return br.has(e)}n($,"isAutoRetryable");var Er=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function ge(e){return $(e)||Er.has(e)}n(ge,"isRetryableCode");var gr=500,Q=8e3,he=4;function _e(e,r=Math.random){let t=Math.max(0,e),o=Math.min(gr*2**t,Q);return Math.floor(r()*o)}n(_e,"backoffDelayMs");var hr=Object.freeze({authExpired:"Please sign in again to continue.",authRejected:"Please sign in again to continue.",sessionRequired:"This app needs to be updated to keep using Everfur.",accessDenied:"This feature isn't available on your account right now.",paymentRequired:"This is part of a paid plan.",quotaExceeded:"You have used today's messages. This resets tomorrow.",rateLimited:"You are sending messages quickly. Try again in a few seconds.",validationFailed:"Something in that request was not right. Check the details and try again.",sdkUpdateRequired:"This app needs to be updated to keep using Everfur.",conflict:"That is already running. Wait for it to finish, then try again.",idempotencyConflict:"That message was already delivered.",idempotencyInFlight:"That is still processing. Give it a moment.",conversationNotFound:"This conversation is no longer available.",petNotFound:"We could not find that pet. Please pick a pet and try again.",resourceNotFound:"We could not find that.",streamTimeout:"The response timed out. Tap retry to try again.",mediaUploadFailed:"We could not upload that photo. Please attach it again.",moderationBlocked:"This request cannot be answered here.",upstreamLlmTimeout:"The response timed out. Tap retry to try again.",internalError:"We hit a snag on our end. Please try again.",notImplemented:"That is not available yet.",serviceUnavailable:"That service is briefly unavailable. Try again shortly.",streamIncomplete:"The connection dropped mid-answer. Tap retry to continue.",unknown:"Something went wrong. Please try again."});function X(e){return hr[e]}n(X,"userFacingError");function Re(e,r,t){Object.defineProperty(e,r,{value:t,enumerable:false,writable:false,configurable:false});}n(Re,"defineHidden");var _r=/^[a-z][a-z0-9_]{0,63}$/;function x(e,r){let t=D(r?.wireCode,r?.wireEnvelope),o={code:e,category:be(e),retryable:r?.retryable??ge(e),displayMessage:X(e)};if(r?.httpStatus!==void 0&&(o.httpStatus=r.httpStatus),r?.requestId&&(o.requestId=r.requestId),typeof r?.reasonCode=="string"&&_r.test(r.reasonCode)&&(o.reasonCode=r.reasonCode),t);return r?.wireMessage&&Re(o,"wireMessage",r.wireMessage),r?.raw!==void 0&&r.raw!==null&&Re(o,"raw",r.raw),Object.freeze(o)}n(x,"makeEverfurError");function J(e,r){return Object.freeze(r===void 0?{ok:true,value:e}:{ok:true,value:e,warning:r})}n(J,"ok");function g(e){return Object.freeze({ok:false,error:e})}n(g,"err");var N=class N extends Error{constructor(r,t){super(t),this.name="EverfurConfigError",this.kind=r,Object.setPrototypeOf(this,N.prototype);}};n(N,"EverfurConfigError");var A=N;function Ce(e){return Object.freeze({kind:"error",terminal:true,code:e.code,retryable:e.retryable,wireMessage:e.wireMessage,synthesized:e.synthesized,lastEventId:e.lastEventId,serverRequestId:e.serverRequestId??null})}n(Ce,"errorFrame");function Tr(e){let r={};return e.mode==="personalized"?r.authorization=`Bearer ${e.token}`:r["x-everfur-partner-key"]=e.publishableKey,e.userRef&&(r["x-everfur-user-ref"]=e.userRef),e.sessionId&&(r["x-everfur-session-id"]=e.sessionId),r}n(Tr,"authHeaders");function P(e,r){return {...e,headers:{...wr(e.headers),...Tr(r)}}}n(P,"withAuthHeaders");function wr(e){if(!e)return {};let r={};for(let[t,o]of Object.entries(e)){let i=t.toLowerCase();i==="authorization"||i==="x-everfur-partner-key"||(r[t]=o);}return r}n(wr,"stripAuthHeaders");async function Te(e,r){if(r.mode==="anonymous")return r.transport.request(P(e,{mode:"anonymous",publishableKey:r.publishableKey,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));let t;try{t=await r.identity.currentToken();}catch{return g(Z())}let o=await r.transport.request(P(e,{mode:"personalized",token:t,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));if(o.ok||o.error.httpStatus!==401)return o;let i;try{i=await r.identity.currentToken({forceRefresh:!0});}catch{return g(Z())}let a=await r.transport.request(P(e,{mode:"personalized",token:i,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));return !a.ok&&a.error.httpStatus===401?g(Z(a.error.httpStatus)):a}n(Te,"authedSend");function Z(e){return x("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}n(Z,"authRejectedError");function we(e){return x("internalError",{retryable:true,wireMessage:Sr(e)})}n(we,"networkError");function Sr(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}n(Sr,"describeCause");var xr=3e4,kr=Q*2,Fr="idempotency-key",Or=new Set(["POST","PUT","PATCH","DELETE"]),Vr=Object.freeze({onEvent(){}}),Ir=Object.freeze({setTimeout:n((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:n(e=>clearTimeout(e),"clearTimeout"),now:n(()=>Date.now(),"now")});function xe(e){let r=e.observer??Vr,t=e.timers??Ir,o=e.rng??Math.random,i=e.sleep??((p,d)=>Wr(p,t,d)),a=e.maxAttempts??he,u=e.unaryTimeoutMs??xr,l=e.newIdempotencyKey??Pr(),s=n(p=>{try{r.onEvent(p);}catch{}},"emit");async function f(p,d,y){let h=y?.maxAttempts,c=Math.max(1,h??a),C=y?.idempotent??Or.has(d.method)?l():null,R=Ar(d,C),V=0;for(;;){let k=n(w=>Object.freeze({call:p,method:d.method,path:d.path,attempt:V,...C?{idempotencyKey:C}:{},...w}),"stamp");s(k({phase:"attempt"}));let F=qr(u,t),j=Hr(F.signal,d.signal),O;try{O=await Te({...R,signal:j.signal},e.auth);}catch(w){O=g(we(w));}finally{j.dispose(),F.cancel();}if(O.ok)return s(k({phase:"settled",ok:true,reason:"ok"})),O;let m=O.error,E=jr(m,V,{maxAttempts:c,rng:o,now:t.now(),aborted:d.signal?.aborted===true,...h!==void 0?{perCallMaxAttempts:h}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),T={ok:false,code:m.code,reason:E.reason,...m.httpStatus!==void 0?{httpStatus:m.httpStatus}:{},...m.requestId!==void 0?{requestId:m.requestId}:{}};if(!E.retry)return s(k({phase:"settled",...T})),g(m);if(s(k({phase:"retry",...T,delayMs:E.delayMs})),await i(E.delayMs,d.signal),d.signal?.aborted===true)return s(k({phase:"settled",...T,reason:"aborted"})),g(m);V+=1;}}n(f,"send");async function v(p){return P(p,await Br(e.auth))}n(v,"authorize");async function*b(p,d,y){s(Object.freeze({call:p,phase:"stream.open",method:d.method,path:d.path,attempt:0}));try{yield*e.auth.transport.stream(d,y);}catch{yield Ce({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return n(b,"stream"),Object.freeze({send:f,authorize:v,stream:b})}n(xe,"createRequestFunnel");function Ar(e,r){let t={};for(let[o,i]of Object.entries(e.headers??{}))o.toLowerCase()!==Fr&&(t[o]=i);return r!==null&&(t["Idempotency-Key"]=r),{...e,headers:t}}n(Ar,"assembleHeaders");function Pr(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}n(Pr,"defaultIdempotencyKeyFactory");var zr=10;function jr(e,r,t){if(t.aborted)return {retry:false,reason:"aborted"};let o=Dr(e);if(o==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(o!=="burst"&&!$(e.code))return {retry:false,reason:"terminal-code"};let i=o==="burst"?"burst-throttle":"retryable-code";if(n(()=>{if(t.policy===void 0)return false;try{return !t.policy.shouldRetry(e.code,r)}catch{return false}},"policyVetoedRetry")())return {retry:false,reason:"terminal-code"};let u=n(()=>{if(t.policy===void 0)return null;let f;try{f=t.policy.maxAttempts(e.code);}catch{return null}return typeof f!="number"||!Number.isFinite(f)?null:Math.max(1,Math.min(zr,Math.floor(f)))},"policyCeiling"),l=t.perCallMaxAttempts??u()??t.maxAttempts;if(r+1>=l)return {retry:false,reason:"attempts-exhausted"};let s=Nr(e,t.now);return s!==null?s>kr?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:i,delayMs:s}:{retry:true,reason:i,delayMs:_e(r,t.rng)}}n(jr,"decideRetry");function Dr(e){let r=e.code==="unknown"?Ee(Ur(e.raw)):e.code;return r==="quotaExceeded"?"quota":r==="rateLimited"||e.httpStatus===429?"burst":null}n(Dr,"throttleKind");function Nr(e,r){let t=Mr(e.raw);if(t===null)return null;let o=t-r;return o>0?o:0}n(Nr,"retryOverrideMs");function Mr(e){for(let r of ke(e)){let t=r.resets_at,o=Lr(t);if(o!==null)return o}return null}n(Mr,"findResetsAt");function ke(e){if(!Se(e))return [];let r=[e];for(let t of ["error","detail"]){let o=e[t];Se(o)&&r.push(o);}return r}n(ke,"candidateScopes");function Lr(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 r=Date.parse(e);return Number.isFinite(r)?r:null}return null}n(Lr,"parseInstantMs");function Ur(e){for(let r of ke(e)){let t=r.code;if(typeof t=="string"&&t.length>0)return t}return null}n(Ur,"rawWireCode");function Se(e){return typeof e=="object"&&e!==null}n(Se,"isRecord");async function Br(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}:{}}}n(Br,"resolveDeviceAuth");function qr(e,r){let t=new AbortController,o=r.setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:n(()=>r.clearTimeout(o),"cancel")}}n(qr,"boundedSignal");function Hr(e,r){let t=n(()=>{},"noop");if(!r)return {signal:e,dispose:t};let o=new AbortController;if(e.aborted||r.aborted)return o.abort(),{signal:o.signal,dispose:t};let i=n(()=>o.abort(),"onAbort");return e.addEventListener("abort",i,{once:true}),r.addEventListener("abort",i,{once:true}),{signal:o.signal,dispose:n(()=>{e.removeEventListener("abort",i),r.removeEventListener("abort",i);},"dispose")}}n(Hr,"mergeSignals");function Wr(e,r,t){return e<=0||t?.aborted===true?Promise.resolve():new Promise(o=>{let i=r.setTimeout(()=>{t?.removeEventListener("abort",a),o();},e),a=n(()=>{r.clearTimeout(i),o();},"onAbort");t?.addEventListener("abort",a,{once:true});})}n(Wr,"delayAbortable");var M=Object.freeze(["visit","join","summary","messages"]);function L(e){return typeof e=="string"&&M.includes(e)}n(L,"isVetVisitIntent");var Yr="/widget/v1/televet/handoffs",Kr="/widget/v1/televet/availability",Gr="/widget/v1/televet/chat-entry",$r=/^[a-z0-9][a-z0-9_-]{0,39}$/,ze=/^[A-Za-z0-9_-]{22}$/,Fe="everfur_flow",Oe=32,Ve=128,Ie=64;function U(e){let r=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 r===void 0?e.code==="internalError"?"network":"unknown":r===429?"rateLimited":r===404?"unavailable":r===403?"accessDenied":r===401?"authRejected":r===400||r===422?"invalidRequest":r>=500?"serverError":"unknown"}n(U,"vetVisitErrorReasonOf");function Ae(e){return g(x("validationFailed",{retryable:false,wireMessage:e}))}n(Ae,"invalid");function ee(e){return g(x("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}n(ee,"unusable");function Qr(e,r){let t={};e!==void 0&&(t.pet_ref=e);let o=r?.returnTo;if(o!=null){if(typeof o!="string"||!$r.test(o))return {ok:false,message:"returnTo must be a registered return destination key"};t.return_to=o;}let i=r?.entry;if(i!=null){if(i!=="chat"||e===void 0)return {ok:false,message:"entry 'chat' needs the pet the chat is about"};t.entry=i;}let a=r?.visitRef,u=r?.intent,l=a!=null;if(l){let s=typeof a=="string"?a.trim():"";if(s.length<1||[...s].length>Ie)return {ok:false,message:`visitRef must be 1..${Ie} characters`};t.visit_ref=s;}if(u!=null){if(!l)return {ok:false,message:"intent needs the visitRef it opens"};if(!L(u))return {ok:false,message:`intent must be one of ${M.join(", ")}`};t.intent=u;}return {ok:true,body:t}}n(Qr,"handoffBody");function Xr(e){if(typeof e!="object"||e===null)return null;let{visit_ref:r,intent:t}=e;return typeof r!="string"||r.length===0||!L(t)?null:Object.freeze({visitRef:r,intent:t})}n(Xr,"parseVisitEcho");function je(e){let r=e.funnel??xe({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=e.telemetry,o=n(i=>(Pe(t,"televet.visit.handoff_failed",{reason:U(i)}),g(i)),"failed");return {async createHandoff(i,a){let u;if(i!=null){let c=typeof i=="string"?[...i].length:0;if(c<1||c>Ve)return o(x("validationFailed",{retryable:false,wireMessage:`pet_ref must be 1..${Ve} characters`}));u=i;}let l=Qr(u,a);if(!l.ok){let c=Ae(l.message);return c.ok?c:o(c.error)}let s=l.body,f=await r.send("televet.visit.handoff",{method:"POST",path:Yr,body:s},{idempotent:false,maxAttempts:1});if(!f.ok)return o(f.error);let v=Zr(f.value),b=s.return_to!==void 0,p=b?f.value?.flow_id:void 0;if(b&&(typeof p!="string"||!ze.test(p))){let c=ee("the handoff response carried no usable return flow id");return c.ok?c:o(c.error)}let d=s.visit_ref!==void 0,y=d?Xr(f.value?.visit):null;if(d&&y===null){let c=ee("the handoff response did not confirm the visit it opens");return c.ok?c:o(c.error)}let h=v===null?null:Object.freeze({...v,...b?{flowId:p}:{},...y!==null?{visit:y}:{}});return h===null?o(x("internalError",{retryable:false,httpStatus:502,wireMessage:"the handoff response carried no usable visit url"})):(Pe(t,"televet.visit.handoff_created",{pet_scoped:s.pet_ref!==void 0}),J(h))},async checkAvailability(i){if(typeof i!="string"||i.length>Oe)return Ae(`state must be at most ${Oe} characters`);let a=await r.send("televet.visit.availability",{method:"POST",path:Kr,body:{state:i}},{idempotent:false,maxAttempts:1});if(!a.ok)return g(a.error);let u=a.value?.available;return typeof u!="boolean"?ee("the availability response carried no usable answer"):J(Object.freeze({available:u}))},async chatEntryOpen(){try{let i=await r.send("televet.visit.chat_entry",{method:"GET",path:Gr},{maxAttempts:1});return i.ok&&i.value?.open===!0}catch{return false}}}}n(je,"createVetVisitController");function Jr(e){if(typeof e!="string")return null;let r=e.indexOf("#"),t=r<0?e:e.slice(0,r),o=t.indexOf("?");if(o<0)return null;let i=t.slice(o+1).split("&").filter(a=>a.startsWith(`${Fe}=`)).map(a=>a.slice(Fe.length+1));return i.length!==1||!ze.test(i[0]??"")?null:Object.freeze({flowId:i[0]})}n(Jr,"parseVetVisitReturn");function Zr(e){if(typeof e!="object"||e===null)return null;let{url:r,expires_at:t}=e;return typeof r!="string"||typeof t!="string"||t.length===0||!nt(r)?null:Object.freeze({url:r,expiresAt:t})}n(Zr,"parseHandoff");var et=new Set(["localhost","127.0.0.1","[::1]"]),rt=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/,tt=/[\s\u0000-\u001f\u007f]/;function nt(e){if(tt.test(e))return false;let r=rt.exec(e);if(r===null)return false;let t=(r[1]??"").toLowerCase(),o=r[2]??"";if(o.length===0||o.includes("@"))return false;let i=o.replace(/:\d+$/,"").toLowerCase(),a=t==="https",u=t==="http"&&et.has(i);if(!a&&!u)return false;let l=e.indexOf("#");if(l<0)return false;let s=e.slice(l);return s.startsWith("#h=")&&s.length>3}n(nt,"isOpenableVisitUrl");function Pe(e,r,t){if(e)try{e.track(r,t);}catch{}}n(Pe,"safeTrack");var De=Symbol.for("@everfur/sdk#EverfurContext@v1"),Ne=globalThis,Me=Ne[De]??(Ne[De]=react.createContext(null));Me.displayName??="EverfurContext";function B(){let e=react.useContext(Me);if(e===null)throw new A("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}n(B,"useEverfurContext");var at=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 st(e){return at[e]}n(st,"requires");function Le(e,r,t){let o=st(e),i=new Map;for(let l of r)i.set(l.resource,l);if(t?.isPending===true&&o.some(l=>!i.has(l)))return re({name:e,enabled:false,isPending:true,limits:{}});let a=lt(o,i);return o.filter(l=>i.get(l)?.granted!==true).length===0?re({name:e,enabled:true,isPending:false,limits:a}):re({name:e,enabled:false,isPending:false,limits:a,disabled:ut(o,i)})}n(Le,"decideCapability");function lt(e,r){let t={};for(let o of e){let i=r.get(o)?.limits;if(i)for(let[a,u]of Object.entries(i)){let l=t[a];t[a]=l===void 0?u:Math.min(l,u);}}return t}n(lt,"mergeLimits");function ut(e,r){for(let t of e){let o=r.get(t)?.disabled;if(o)return Object.freeze({reason:o.reason,level:o.level,recoverable:o.recoverable})}return Object.freeze({reason:X("accessDenied"),level:"user_entitlement",recoverable:false})}n(ut,"disabledFor");function re(e){let r={name:e.name,enabled:e.enabled,isPending:e.isPending,limits:Object.freeze({...e.limits})};return e.disabled!==void 0&&(r.disabled=e.disabled),Object.freeze(r)}n(re,"freezeDecision");function Ue(e){let{runtime:r}=B(),t=r.entitlements,o=react.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot);return react.useMemo(()=>Le(e,o.decisions,{isPending:o.isPending}),[e,o])}n(Ue,"useCapability");var qe=Object.freeze({status:"idle",error:null,errorReason:null});function pt(e,r,t){let{usState:o,chat:i,scope:a}=t,u=r&&(o!==null||i),l=`${o??""}|${i?"chat":""}`,[s,f]=react.useState(null);if(react.useEffect(()=>{if(!u)return;let b=true,p=e.current;return f(null),n(async()=>{try{if(i&&!(p.chatEntryOpen&&await p.chatEntryOpen()))return !1;if(o===null)return !0;if(!p.checkAvailability)return !1;let y=await p.checkAvailability(o);return y.ok&&y.value.available}catch{return false}},"ask")().then(y=>{b&&f({key:l,open:y});}),()=>{b=false;}},[u,l,o,i,a,e]),!u)return null;let v=s!==null&&s.key===l;return {open:v&&s.open,pending:!v}}n(pt,"usePreflight");var yt=Object.freeze({status:"opening",error:null,errorReason:null});function We(e,r={}){let{runtime:t,userRef:o,scopeEpoch:i}=B(),a=Ue("televet"),u=a.enabled&&o!==null,l=r.usState??null,s=r.entry==="chat",f=r.petRef??null,v=react.useMemo(()=>{if(r.controller)return r.controller;let{services:m}=t.registry;return je({auth:m.authFor(o),telemetry:m.telemetry,...m.errorPolicy?{errorPolicy:m.errorPolicy}:{}})},[t,o,i,r.controller]),b=react.useRef(v);b.current=v;let p=react.useMemo(()=>({runtime:t,userRef:o,scopeEpoch:i}),[t,o,i]),d=pt(b,u,{usState:l,chat:s,scope:p}),y=u&&(d===null||d.open)&&(!s||f!==null),h=r.returnTo??null,[c,S]=react.useState(qe),C=react.useRef(null),R=react.useRef({runtime:t,userRef:o,scopeEpoch:i});R.current={runtime:t,userRef:o,scopeEpoch:i};let V=react.useRef(v);V.current=v;let k=react.useRef(y);k.current=y;let F=react.useCallback((m,E)=>{if(C.current)return C.current;let T=n((_,I)=>(S({status:_==="cancelled"?"idle":"error",error:I,errorReason:_==="cancelled"?null:_}),Object.freeze({opened:false,reason:_,error:I})),"fail");if(!k.current)return Promise.resolve(T("unavailable",null));let w=e.prepare();if(!w.ok)return Promise.resolve(T(w.reason,null));let W=R.current,de=V.current;S(yt);let Y=(async()=>{let _,I={...h!==null?{returnTo:h}:{},...s?{entry:"chat"}:{},...E!==null?{visitRef:E.visitRef}:{},...E!==null&&E.intent!==null&&E.intent!==void 0?{intent:E.intent}:{}},ce=Object.keys(I).length===0?void 0:I,fe=m===void 0?f:m;try{_=await(ce===void 0?de.createHandoff(fe):de.createHandoff(fe,ce));}catch{return e.abandon(w.value),T("unknown",null)}let K=R.current;if(K.runtime!==W.runtime||K.userRef!==W.userRef||K.scopeEpoch!==W.scopeEpoch)return e.abandon(w.value),T("cancelled",null);if(!_.ok)return e.abandon(w.value),T(U(_.error),_.error);let pe=await e.finish(w.value,_.value);return pe!==null?T(pe,null):(S(qe),Object.freeze(_.value.flowId===void 0?{opened:true}:{opened:true,flowId:_.value.flowId}))})().finally(()=>{C.current===Y&&(C.current=null);});return C.current=Y,Y},[e,f,h,s]),j=react.useCallback(m=>F(m,null),[F]),O=react.useCallback((m,E)=>F(void 0,{visitRef:m,intent:E??null}),[F]);return {available:y,isPending:a.isPending||(d?.pending??false),status:c.status,error:c.error,errorReason:c.errorReason,open:j,openVisit:O}}n(We,"useVetVisitWith");function Ye(e){try{e.closed||e.close();}catch{}}n(Ye,"closeQuietly");var mt=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},r){if(e.closed)return "cancelled";try{return e.location.replace(r.url),null}catch{return Ye(e),"popupBlocked"}},abandon({tab:e}){Ye(e);}});function ne(e){return We(mt,e)}n(ne,"useVetVisit");function vt(e,r){if(e===void 0)return {};let t={};return e.backgroundColor!==void 0&&(t.backgroundColor=e.backgroundColor),e.borderColor!==void 0&&(t.borderColor=e.borderColor,t.borderWidth=r??1),e.borderRadius!==void 0&&(t.borderRadius=e.borderRadius),t}n(vt,"slotBox");function Ke(e){return e?.textColor===void 0?{}:{color:e.textColor}}n(Ke,"slotText");function Ge(e,r){let t=vt(e,r),o={};return t.backgroundColor!==void 0&&(o.backgroundColor=t.backgroundColor),t.borderColor!==void 0&&(o.border=`${t.borderWidth??1}px solid ${t.borderColor}`),t.borderRadius!==void 0&&(o.borderRadius=t.borderRadius),o}n(Ge,"slotBoxCss");function $e(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}n($e,"reportHostFailure");function bt(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}n(bt,"isThenable");function oe(e,...r){if(typeof e=="function")try{let t=e(...r);return bt(t)&&Promise.resolve(t).then(void 0,$e),t}catch(t){$e(t);return}}n(oe,"callHost");var Qe=Object.freeze({visitButton:"Talk to a vet"});function se(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))se(e[r]);}return e}n(se,"deepFreeze");var Et=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Je={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Ze={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},Xe={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},gt={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},ht={regular:"400",medium:"500",bold:"700"},_t={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},Rt=0,q="System",H="monospace",Ct=["content","heading","control","compact","badge"];function Tt(e){let r={};for(let t of Ct)r[t]=e;return r}n(Tt,"authoredTierSizes");function er(){return {family:q,mono:H,fontUrl:null,families:{regular:q,medium:q,bold:q,mono:H,monoMedium:H,monoBold:H},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:Xe,tierSizes:Tt(Xe),lineHeight:gt,weight:ht,letterSpacing:_t,scale:1,maxScale:Rt,scaleCaps:Et}}n(er,"baseType");var rr={},ie=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function ae(e){return `cubic-bezier(${e.join(", ")})`}n(ae,"cssCubicBezier");var tr={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:ae(ie.standard),emphasized:ae(ie.emphasized),exit:ae(ie.exit)},reducedMotion:false},wt={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FDFBF8",surfaceSubtle:"#EFE9E3",background:"#FFFFFF",borderRingCream:"#D8D2C8",chatGround:"#FFFFFF",composerFill:"#FDFBF8",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#111111",secondary:"#0E462E",muted:"#6E6660",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#B91C1C",errorRed:"#FF1B00",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(185,28,28,0.12)",badgeBgNeutral:"rgba(110,102,96,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},nr=se({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:wt,space:Je,radius:Ze,type:er(),motion:tr,slots:rr}),St={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A938C",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};se({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:St,space:Je,radius:Ze,type:er(),motion:tr,slots:rr});var or=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),ir=globalThis,le=ir[or]??(ir[or]=react.createContext(nr));le.displayName??="EverfurThemeContext";function ue(){return react.useContext(le)}n(ue,"useEverfurTheme");var ar=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});var sr='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',Ft="System";function Ot(e){let r=e.trim();return r.length===0||r===Ft?sr:`${lr(r)}, ${sr}`}n(Ot,"cssFontFamily");function Vt(e){let r=e.trim();return r.length===0||r==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${lr(r)}, ui-monospace, Menlo, Consolas, monospace`}n(Vt,"cssMonoFamily");function lr(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}n(lr,"quote");function ur(e,r){let t=e.type,o=t.families[r];return {fontFamily:r==="mono"||r==="monoMedium"||r==="monoBold"?Vt(o):Ot(o),fontWeight:t.namedFaces[r]?t.weight.regular:t.weight[ar[r]]}}n(ur,"faceCss");var dr=44,Pt=.6;function zt(e){let{petRef:r,children:t,onOpened:o,onError:i,style:a,className:u,controller:l,returnTo:s,usState:f,entry:v,visitRef:b,intent:p}=e,d=ne({...s!==void 0?{returnTo:s}:{},...f!==void 0?{usState:f}:{},...v!==void 0?{entry:v}:{},...r!==void 0?{petRef:r}:{},...l!==void 0?{controller:l}:{}}),y=ue(),h=react.useMemo(()=>jt(y),[y]),c=react.useRef(false);if(!d.available)return null;let S=d.status==="opening";return jsxRuntime.jsx("button",{type:"button",onClick:n(()=>{S||c.current||(c.current=true,(b==null?d.open():d.openVisit(b,p??null)).then(R=>{R.opened?oe(o,R.flowId??null):R.reason!=="cancelled"&&oe(i,R.reason,R.error);}).finally(()=>{c.current=false;}));},"onClick"),"aria-busy":S,"aria-disabled":S,className:u,style:{...h,...S?{opacity:Pt,cursor:"progress"}:null,...a},children:t??Qe.visitButton})}n(zt,"VetVisitButton");function jt(e){let{color:r,space:t,radius:o,type:i,slots:a}=e;return {boxSizing:"border-box",minHeight:dr,minWidth:dr,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,border:0,cursor:"pointer",padding:`${t.sm}px ${t.xl}px`,borderRadius:o.pill,backgroundColor:r.primary,color:r.onPrimary,...ur(e,"medium"),fontSize:i.size.body,...Ge(a.vetVisitButton),...Ke(a.vetVisitButton)}}n(jt,"buttonStyle");exports.VET_VISIT_INTENTS=M;exports.VetVisitButton=zt;exports.isVetVisitIntent=L;exports.parseVetVisitReturn=Jr;exports.useVetVisit=ne;exports.vetVisitErrorReasonOf=U;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { U as UseVetVisitOptions, a as UseVetVisitState, V as VetVisitEntry, b as VetVisitErrorReason, c as VetVisitController } from '../../useVetVisit-Bc84hWUU.cjs';
|
|
2
|
+
export { d as VetVisitAvailability, e as VetVisitHandoff, f as VetVisitHandoffOptions, g as VetVisitHandoffVisit, h as VetVisitOpenResult, i as VetVisitReturn, j as VetVisitStatus, p as parseVetVisitReturn, v as vetVisitErrorReasonOf } from '../../useVetVisit-Bc84hWUU.cjs';
|
|
3
|
+
import { ReactNode, CSSProperties } from 'react';
|
|
4
|
+
import { E as EverfurError } from '../../EverfurResult-DN9pL2Ab.cjs';
|
|
5
|
+
export { a as EverfurErrorCategory, b as EverfurErrorCode, c as EverfurResult } from '../../EverfurResult-DN9pL2Ab.cjs';
|
|
6
|
+
import { P as PetRef } from '../../ids-B2GAAifq.cjs';
|
|
7
|
+
export { B as Brand, _ as __brand } from '../../ids-B2GAAifq.cjs';
|
|
8
|
+
import { V as VetVisitIntent } from '../../visitIntent-D7_yVp1I.cjs';
|
|
9
|
+
export { a as VET_VISIT_INTENTS, i as isVetVisitIntent } from '../../visitIntent-D7_yVp1I.cjs';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The vet visit hook for a web page. Render your own control and call `open()` directly from its click
|
|
13
|
+
* handler; `available` is false (render nothing) unless Everfur grants vet visits to this signed-in user.
|
|
14
|
+
* Requires a signed session: pass `user` with a `getToken` backed by your server's session mint.
|
|
15
|
+
*/
|
|
16
|
+
declare function useVetVisit(opts?: UseVetVisitOptions): UseVetVisitState;
|
|
17
|
+
|
|
18
|
+
interface VetVisitButtonProps {
|
|
19
|
+
/** The partner's pet reference to scope the visit to. Optional. */
|
|
20
|
+
readonly petRef?: PetRef | null | undefined;
|
|
21
|
+
/** The button label. Defaults to Everfur's label. */
|
|
22
|
+
readonly children?: ReactNode;
|
|
23
|
+
/** Called after the visit tab is navigated to Everfur, with the return flow id when `returnTo` was given. */
|
|
24
|
+
readonly onOpened?: ((flowId: string | null) => void) | undefined;
|
|
25
|
+
/** The KEY of a return destination your tenant registered with Everfur; `onOpened` then receives the flow id. */
|
|
26
|
+
readonly returnTo?: string | null | undefined;
|
|
27
|
+
/** The user's US state. When set, the button renders only once Everfur confirms a visit is available there. */
|
|
28
|
+
readonly usState?: string | null | undefined;
|
|
29
|
+
/** `'chat'` for the entry inside Chat: renders only while Everfur has it switched on, and needs `petRef`. */
|
|
30
|
+
readonly entry?: VetVisitEntry | null | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* TV-01. A visit this member already has. The button then OPENS that visit rather than starting a booking:
|
|
33
|
+
* put the `visitRef` a tapped push carries here. Without it the button books, exactly as before.
|
|
34
|
+
*/
|
|
35
|
+
readonly visitRef?: string | null | undefined;
|
|
36
|
+
/** What to open for `visitRef`: `visit` (the default), `join`, `summary` or `messages`. */
|
|
37
|
+
readonly intent?: VetVisitIntent | null | undefined;
|
|
38
|
+
/** Called when the visit could not be opened. `error` is null for a browser-side failure (a blocked tab). */
|
|
39
|
+
readonly onError?: ((reason: VetVisitErrorReason, error: EverfurError | null) => void) | undefined;
|
|
40
|
+
/** Merged over the button's own style. */
|
|
41
|
+
readonly style?: CSSProperties | undefined;
|
|
42
|
+
/** A class the host may hang its own layout rules on; the SDK sets no classes of its own. */
|
|
43
|
+
readonly className?: string | undefined;
|
|
44
|
+
/** Host/test seam: inject a controller instead of building one from the provider's session. */
|
|
45
|
+
readonly controller?: VetVisitController | undefined;
|
|
46
|
+
}
|
|
47
|
+
/** Opens the hosted Everfur vet visit in a new tab. Renders nothing unless vet visits are granted. */
|
|
48
|
+
declare function VetVisitButton(props: VetVisitButtonProps): ReactNode;
|
|
49
|
+
|
|
50
|
+
export { EverfurError, PetRef, UseVetVisitOptions, UseVetVisitState, VetVisitButton, type VetVisitButtonProps, VetVisitController, VetVisitEntry, VetVisitErrorReason, VetVisitIntent, useVetVisit };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { U as UseVetVisitOptions, a as UseVetVisitState, V as VetVisitEntry, b as VetVisitErrorReason, c as VetVisitController } from '../../useVetVisit-CjmMa896.js';
|
|
2
|
+
export { d as VetVisitAvailability, e as VetVisitHandoff, f as VetVisitHandoffOptions, g as VetVisitHandoffVisit, h as VetVisitOpenResult, i as VetVisitReturn, j as VetVisitStatus, p as parseVetVisitReturn, v as vetVisitErrorReasonOf } from '../../useVetVisit-CjmMa896.js';
|
|
3
|
+
import { ReactNode, CSSProperties } from 'react';
|
|
4
|
+
import { E as EverfurError } from '../../EverfurResult-DN9pL2Ab.js';
|
|
5
|
+
export { a as EverfurErrorCategory, b as EverfurErrorCode, c as EverfurResult } from '../../EverfurResult-DN9pL2Ab.js';
|
|
6
|
+
import { P as PetRef } from '../../ids-B2GAAifq.js';
|
|
7
|
+
export { B as Brand, _ as __brand } from '../../ids-B2GAAifq.js';
|
|
8
|
+
import { V as VetVisitIntent } from '../../visitIntent-D7_yVp1I.js';
|
|
9
|
+
export { a as VET_VISIT_INTENTS, i as isVetVisitIntent } from '../../visitIntent-D7_yVp1I.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The vet visit hook for a web page. Render your own control and call `open()` directly from its click
|
|
13
|
+
* handler; `available` is false (render nothing) unless Everfur grants vet visits to this signed-in user.
|
|
14
|
+
* Requires a signed session: pass `user` with a `getToken` backed by your server's session mint.
|
|
15
|
+
*/
|
|
16
|
+
declare function useVetVisit(opts?: UseVetVisitOptions): UseVetVisitState;
|
|
17
|
+
|
|
18
|
+
interface VetVisitButtonProps {
|
|
19
|
+
/** The partner's pet reference to scope the visit to. Optional. */
|
|
20
|
+
readonly petRef?: PetRef | null | undefined;
|
|
21
|
+
/** The button label. Defaults to Everfur's label. */
|
|
22
|
+
readonly children?: ReactNode;
|
|
23
|
+
/** Called after the visit tab is navigated to Everfur, with the return flow id when `returnTo` was given. */
|
|
24
|
+
readonly onOpened?: ((flowId: string | null) => void) | undefined;
|
|
25
|
+
/** The KEY of a return destination your tenant registered with Everfur; `onOpened` then receives the flow id. */
|
|
26
|
+
readonly returnTo?: string | null | undefined;
|
|
27
|
+
/** The user's US state. When set, the button renders only once Everfur confirms a visit is available there. */
|
|
28
|
+
readonly usState?: string | null | undefined;
|
|
29
|
+
/** `'chat'` for the entry inside Chat: renders only while Everfur has it switched on, and needs `petRef`. */
|
|
30
|
+
readonly entry?: VetVisitEntry | null | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* TV-01. A visit this member already has. The button then OPENS that visit rather than starting a booking:
|
|
33
|
+
* put the `visitRef` a tapped push carries here. Without it the button books, exactly as before.
|
|
34
|
+
*/
|
|
35
|
+
readonly visitRef?: string | null | undefined;
|
|
36
|
+
/** What to open for `visitRef`: `visit` (the default), `join`, `summary` or `messages`. */
|
|
37
|
+
readonly intent?: VetVisitIntent | null | undefined;
|
|
38
|
+
/** Called when the visit could not be opened. `error` is null for a browser-side failure (a blocked tab). */
|
|
39
|
+
readonly onError?: ((reason: VetVisitErrorReason, error: EverfurError | null) => void) | undefined;
|
|
40
|
+
/** Merged over the button's own style. */
|
|
41
|
+
readonly style?: CSSProperties | undefined;
|
|
42
|
+
/** A class the host may hang its own layout rules on; the SDK sets no classes of its own. */
|
|
43
|
+
readonly className?: string | undefined;
|
|
44
|
+
/** Host/test seam: inject a controller instead of building one from the provider's session. */
|
|
45
|
+
readonly controller?: VetVisitController | undefined;
|
|
46
|
+
}
|
|
47
|
+
/** Opens the hosted Everfur vet visit in a new tab. Renders nothing unless vet visits are granted. */
|
|
48
|
+
declare function VetVisitButton(props: VetVisitButtonProps): ReactNode;
|
|
49
|
+
|
|
50
|
+
export { EverfurError, PetRef, UseVetVisitOptions, UseVetVisitState, VetVisitButton, type VetVisitButtonProps, VetVisitController, VetVisitEntry, VetVisitErrorReason, VetVisitIntent, useVetVisit };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {createContext,useMemo,useRef,useContext,useSyncExternalStore,useState,useEffect,useCallback}from'react';import {jsx}from'react/jsx-runtime';var cr=Object.defineProperty;var n=(e,r)=>cr(e,"name",{value:r,configurable:true});var G=Object.freeze([Object.freeze({wireCode:"AccessDeniedException",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"AuthorizationException",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"ConflictException",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"DAILY_QUOTA_EXCEEDED",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"FILE_TOO_LARGE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_IN_FLIGHT",envelope:"http_envelope",httpStatus:409,retryable:true}),Object.freeze({wireCode:"IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"INVALID_CONTENT_TYPE",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"InternalFailureException",envelope:"http_envelope",httpStatus:500,retryable:true}),Object.freeze({wireCode:"MethodNotAllowedException",envelope:"http_envelope",httpStatus:405,retryable:false}),Object.freeze({wireCode:"NotImplementedException",envelope:"http_envelope",httpStatus:501,retryable:false}),Object.freeze({wireCode:"PaymentRequiredException",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ResourceNotFoundException",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"ServiceUnavailableException",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"TIER_UPGRADE_REQUIRED",envelope:"http_envelope",httpStatus:402,retryable:false}),Object.freeze({wireCode:"ThrottlingException",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"ValidationException",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"accessDenied",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"access_denied",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"attachment_unreadable",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"authExpired",envelope:"http_envelope",httpStatus:401,retryable:true}),Object.freeze({wireCode:"authRejected",envelope:"http_envelope",httpStatus:401,retryable:false}),Object.freeze({wireCode:"consent_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_required",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"consent_scope_wrong_route",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"device_cipher_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"email_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"event_cursor_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_payload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_not_available",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"event_type_unknown",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_required",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"idempotency_key_reused",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"insufficientCapability",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"insufficient_scope",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"internal_error",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"invalidRequest",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_client",envelope:"oauth_error",httpStatus:401,retryable:false}),Object.freeze({wireCode:"invalid_client_metadata",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_grant",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_redirect_uri",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_request",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_scope",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"invalid_target",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"mcp_connection_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"mcp_request_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"mcp_request_gone",envelope:"http_envelope",httpStatus:410,retryable:false}),Object.freeze({wireCode:"mcp_request_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"not_found",envelope:"sse_frame",httpStatus:200,retryable:false}),Object.freeze({wireCode:"partner_visit_link_conflict",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"partner_visit_owner_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"partner_visit_pet_already_mapped",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"payload_too_large",envelope:"http_envelope",httpStatus:413,retryable:false}),Object.freeze({wireCode:"petRefInUse",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"pet_health_list_removals_unconfirmed",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_health_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"pet_not_registered",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"provider_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"rateLimited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"record_species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"record_subject_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"record_upload_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"records_consent_required",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"sandbox_only",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"session_required",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"share_limit_reached",envelope:"http_envelope",httpStatus:429,retryable:false}),Object.freeze({wireCode:"slow_down",envelope:"oauth_error",httpStatus:429,retryable:true}),Object.freeze({wireCode:"species_unsupported",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"tenant_filter_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"tenant_has_no_capabilities",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"tenant_resource_not_found",envelope:"http_envelope",httpStatus:404,retryable:false}),Object.freeze({wireCode:"tenant_surface_not_enabled",envelope:"http_envelope",httpStatus:409,retryable:false}),Object.freeze({wireCode:"timeout",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"token_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"unavailable",envelope:"sse_frame",httpStatus:200,retryable:true}),Object.freeze({wireCode:"unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"unsupported_grant_type",envelope:"oauth_error",httpStatus:400,retryable:false}),Object.freeze({wireCode:"unsupported_response_type",envelope:"oauth_error",httpStatus:302,retryable:false}),Object.freeze({wireCode:"verify_mint_rate_limited",envelope:"http_envelope",httpStatus:429,retryable:true}),Object.freeze({wireCode:"verify_mint_refused",envelope:"http_envelope",httpStatus:403,retryable:false}),Object.freeze({wireCode:"verify_mint_unavailable",envelope:"http_envelope",httpStatus:503,retryable:true}),Object.freeze({wireCode:"verify_user_ref_invalid",envelope:"http_envelope",httpStatus:422,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_empty",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_endpoint_update_invalid",envelope:"http_envelope",httpStatus:400,retryable:false}),Object.freeze({wireCode:"webhook_url_rejected",envelope:"http_envelope",httpStatus:400,retryable:false})]);Object.freeze(G.map(e=>e.wireCode));var fr=Object.freeze({ValidationException:"validationFailed",AuthorizationException:"authRejected",PaymentRequiredException:"paymentRequired",AccessDeniedException:"accessDenied",ResourceNotFoundException:"resourceNotFound",ConflictException:"conflict",ThrottlingException:"rateLimited",InternalFailureException:"internalError",NotImplementedException:"notImplemented",ServiceUnavailableException:"serviceUnavailable",MethodNotAllowedException:"validationFailed",authExpired:"authExpired",unavailable:"serviceUnavailable",session_required:"sessionRequired",accessDenied:"accessDenied",invalidRequest:"sdkUpdateRequired",authRejected:"authRejected",rateLimited:"rateLimited",insufficientCapability:"accessDenied",event_cursor_invalid:"validationFailed",event_filter_invalid:"validationFailed",event_payload_invalid:"validationFailed",event_type_unknown:"validationFailed",idempotency_key_invalid:"validationFailed",idempotency_key_required:"validationFailed",idempotency_key_reused:"idempotencyConflict",payload_too_large:"validationFailed",webhook_url_rejected:"validationFailed",webhook_endpoint_update_empty:"validationFailed",webhook_endpoint_update_invalid:"validationFailed",event_type_not_available:"conflict",record_subject_not_found:"resourceNotFound",records_consent_required:"conflict",record_species_unsupported:"validationFailed",record_upload_invalid:"validationFailed",FILE_TOO_LARGE:"validationFailed",INVALID_CONTENT_TYPE:"validationFailed",attachment_unreadable:"validationFailed",provider_unsupported:"validationFailed",token_invalid:"validationFailed",device_cipher_unavailable:"serviceUnavailable",email_invalid:"validationFailed",consent_required:"validationFailed",consent_invalid:"validationFailed",consent_scope_wrong_route:"validationFailed",IDEMPOTENCY_KEY_IN_FLIGHT:"idempotencyInFlight",IDEMPOTENCY_KEY_REUSED_DIFFERENT_REQUEST:"idempotencyConflict",DAILY_QUOTA_EXCEEDED:"quotaExceeded",TIER_UPGRADE_REQUIRED:"paymentRequired",not_found:"conversationNotFound",timeout:"streamTimeout",internal_error:"internalError",invalid_request:"validationFailed",invalid_client:"authRejected",invalid_grant:"authRejected",unsupported_grant_type:"validationFailed",invalid_scope:"validationFailed",invalid_target:"validationFailed",invalid_redirect_uri:"validationFailed",invalid_client_metadata:"validationFailed",unsupported_response_type:"validationFailed",access_denied:"accessDenied",slow_down:"rateLimited",mcp_request_not_found:"resourceNotFound",mcp_request_gone:"resourceNotFound",mcp_connection_not_found:"resourceNotFound",mcp_request_conflict:"conflict",sandbox_only:"accessDenied",tenant_has_no_capabilities:"conflict",verify_mint_refused:"accessDenied",verify_mint_rate_limited:"rateLimited",verify_mint_unavailable:"serviceUnavailable",verify_user_ref_invalid:"validationFailed",insufficient_scope:"accessDenied",tenant_filter_invalid:"validationFailed",tenant_resource_not_found:"resourceNotFound",tenant_surface_not_enabled:"conflict",pet_health_species_unsupported:"validationFailed",pet_health_list_removals_unconfirmed:"validationFailed",petRefInUse:"conflict",share_limit_reached:"conflict",pet_not_registered:"resourceNotFound",species_unsupported:"validationFailed",partner_visit_owner_only:"accessDenied",partner_visit_link_conflict:"conflict",partner_visit_pet_already_mapped:"conflict"}),me=Object.freeze(G.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:fr[e.wireCode]}))),pr=new Map(me.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),yr=Object.freeze(["http_envelope",...[...new Set(me.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function D(e,r){if(typeof e!="string")return;let t=e.trim().toUpperCase();if(t.length!==0)for(let o of [r??"http_envelope",...yr]){let i=pr.get(o+t);if(i)return i}}n(D,"contractErrorFor");function mr(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}n(mr,"contractDocUrl");function ve(e){return null}n(ve,"publishedDocUrl");var vr=Object.freeze({authExpired:"authentication",authRejected:"authentication",sessionRequired:"authentication",accessDenied:"authorization",paymentRequired:"entitlement",quotaExceeded:"rateLimit",rateLimited:"rateLimit",validationFailed:"invalidRequest",sdkUpdateRequired:"invalidRequest",conversationNotFound:"notFound",petNotFound:"notFound",resourceNotFound:"notFound",conflict:"conflict",idempotencyConflict:"conflict",idempotencyInFlight:"conflict",streamTimeout:"connection",streamIncomplete:"connection",upstreamLlmTimeout:"connection",serviceUnavailable:"connection",internalError:"server",notImplemented:"server",mediaUploadFailed:"media",moderationBlocked:"policy",unknown:"unknown"});function be(e){return vr[e]}n(be,"categoryFor");function Ee(e){let r=D(e);if(r)return r.normalized;let t=(e??"").trim().toUpperCase(),o=t.replace(/[^A-Z0-9]/g,"");if(o==="AUTHREJECTED")return "authRejected";if(t.startsWith("AUTH"))return "authExpired";switch(o){case "DAILYQUOTAEXCEEDED":case "QUOTAEXCEEDED":return "quotaExceeded";case "RATELIMITED":case "TOOMANYREQUESTS":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";case "NOTFOUND":case "CONVERSATIONNOTFOUND":return "conversationNotFound";case "PETNOTFOUND":return "petNotFound";case "TIMEOUT":case "STREAMTIMEOUT":return "streamTimeout";case "MEDIAUPLOADFAILED":case "UNRECOGNIZEDVIDEOFORMAT":case "FILETOOSMALL":return "mediaUploadFailed";case "MODERATIONBLOCKED":return "moderationBlocked";case "UPSTREAMLLMTIMEOUT":return "upstreamLlmTimeout";case "INTERNALERROR":case "INTERNALSERVERERROR":return "internalError";case "STREAMINCOMPLETE":case "CHATSTREAMINCOMPLETE":return "streamIncomplete";case "INVALIDANALYSISTYPE":case "INVALIDUPLOADPURPOSE":return "unknown";default:return "unknown"}}n(Ee,"fromWire");var br=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function $(e){return br.has(e)}n($,"isAutoRetryable");var Er=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function ge(e){return $(e)||Er.has(e)}n(ge,"isRetryableCode");var gr=500,Q=8e3,he=4;function _e(e,r=Math.random){let t=Math.max(0,e),o=Math.min(gr*2**t,Q);return Math.floor(r()*o)}n(_e,"backoffDelayMs");var hr=Object.freeze({authExpired:"Please sign in again to continue.",authRejected:"Please sign in again to continue.",sessionRequired:"This app needs to be updated to keep using Everfur.",accessDenied:"This feature isn't available on your account right now.",paymentRequired:"This is part of a paid plan.",quotaExceeded:"You have used today's messages. This resets tomorrow.",rateLimited:"You are sending messages quickly. Try again in a few seconds.",validationFailed:"Something in that request was not right. Check the details and try again.",sdkUpdateRequired:"This app needs to be updated to keep using Everfur.",conflict:"That is already running. Wait for it to finish, then try again.",idempotencyConflict:"That message was already delivered.",idempotencyInFlight:"That is still processing. Give it a moment.",conversationNotFound:"This conversation is no longer available.",petNotFound:"We could not find that pet. Please pick a pet and try again.",resourceNotFound:"We could not find that.",streamTimeout:"The response timed out. Tap retry to try again.",mediaUploadFailed:"We could not upload that photo. Please attach it again.",moderationBlocked:"This request cannot be answered here.",upstreamLlmTimeout:"The response timed out. Tap retry to try again.",internalError:"We hit a snag on our end. Please try again.",notImplemented:"That is not available yet.",serviceUnavailable:"That service is briefly unavailable. Try again shortly.",streamIncomplete:"The connection dropped mid-answer. Tap retry to continue.",unknown:"Something went wrong. Please try again."});function X(e){return hr[e]}n(X,"userFacingError");function Re(e,r,t){Object.defineProperty(e,r,{value:t,enumerable:false,writable:false,configurable:false});}n(Re,"defineHidden");var _r=/^[a-z][a-z0-9_]{0,63}$/;function x(e,r){let t=D(r?.wireCode,r?.wireEnvelope),o={code:e,category:be(e),retryable:r?.retryable??ge(e),displayMessage:X(e)};if(r?.httpStatus!==void 0&&(o.httpStatus=r.httpStatus),r?.requestId&&(o.requestId=r.requestId),typeof r?.reasonCode=="string"&&_r.test(r.reasonCode)&&(o.reasonCode=r.reasonCode),t);return r?.wireMessage&&Re(o,"wireMessage",r.wireMessage),r?.raw!==void 0&&r.raw!==null&&Re(o,"raw",r.raw),Object.freeze(o)}n(x,"makeEverfurError");function J(e,r){return Object.freeze(r===void 0?{ok:true,value:e}:{ok:true,value:e,warning:r})}n(J,"ok");function g(e){return Object.freeze({ok:false,error:e})}n(g,"err");var N=class N extends Error{constructor(r,t){super(t),this.name="EverfurConfigError",this.kind=r,Object.setPrototypeOf(this,N.prototype);}};n(N,"EverfurConfigError");var A=N;function Ce(e){return Object.freeze({kind:"error",terminal:true,code:e.code,retryable:e.retryable,wireMessage:e.wireMessage,synthesized:e.synthesized,lastEventId:e.lastEventId,serverRequestId:e.serverRequestId??null})}n(Ce,"errorFrame");function Tr(e){let r={};return e.mode==="personalized"?r.authorization=`Bearer ${e.token}`:r["x-everfur-partner-key"]=e.publishableKey,e.userRef&&(r["x-everfur-user-ref"]=e.userRef),e.sessionId&&(r["x-everfur-session-id"]=e.sessionId),r}n(Tr,"authHeaders");function P(e,r){return {...e,headers:{...wr(e.headers),...Tr(r)}}}n(P,"withAuthHeaders");function wr(e){if(!e)return {};let r={};for(let[t,o]of Object.entries(e)){let i=t.toLowerCase();i==="authorization"||i==="x-everfur-partner-key"||(r[t]=o);}return r}n(wr,"stripAuthHeaders");async function Te(e,r){if(r.mode==="anonymous")return r.transport.request(P(e,{mode:"anonymous",publishableKey:r.publishableKey,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));let t;try{t=await r.identity.currentToken();}catch{return g(Z())}let o=await r.transport.request(P(e,{mode:"personalized",token:t,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));if(o.ok||o.error.httpStatus!==401)return o;let i;try{i=await r.identity.currentToken({forceRefresh:!0});}catch{return g(Z())}let a=await r.transport.request(P(e,{mode:"personalized",token:i,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));return !a.ok&&a.error.httpStatus===401?g(Z(a.error.httpStatus)):a}n(Te,"authedSend");function Z(e){return x("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}n(Z,"authRejectedError");function we(e){return x("internalError",{retryable:true,wireMessage:Sr(e)})}n(we,"networkError");function Sr(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}n(Sr,"describeCause");var xr=3e4,kr=Q*2,Fr="idempotency-key",Or=new Set(["POST","PUT","PATCH","DELETE"]),Vr=Object.freeze({onEvent(){}}),Ir=Object.freeze({setTimeout:n((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:n(e=>clearTimeout(e),"clearTimeout"),now:n(()=>Date.now(),"now")});function xe(e){let r=e.observer??Vr,t=e.timers??Ir,o=e.rng??Math.random,i=e.sleep??((p,d)=>Wr(p,t,d)),a=e.maxAttempts??he,u=e.unaryTimeoutMs??xr,l=e.newIdempotencyKey??Pr(),s=n(p=>{try{r.onEvent(p);}catch{}},"emit");async function f(p,d,y){let h=y?.maxAttempts,c=Math.max(1,h??a),C=y?.idempotent??Or.has(d.method)?l():null,R=Ar(d,C),V=0;for(;;){let k=n(w=>Object.freeze({call:p,method:d.method,path:d.path,attempt:V,...C?{idempotencyKey:C}:{},...w}),"stamp");s(k({phase:"attempt"}));let F=qr(u,t),j=Hr(F.signal,d.signal),O;try{O=await Te({...R,signal:j.signal},e.auth);}catch(w){O=g(we(w));}finally{j.dispose(),F.cancel();}if(O.ok)return s(k({phase:"settled",ok:true,reason:"ok"})),O;let m=O.error,E=jr(m,V,{maxAttempts:c,rng:o,now:t.now(),aborted:d.signal?.aborted===true,...h!==void 0?{perCallMaxAttempts:h}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),T={ok:false,code:m.code,reason:E.reason,...m.httpStatus!==void 0?{httpStatus:m.httpStatus}:{},...m.requestId!==void 0?{requestId:m.requestId}:{}};if(!E.retry)return s(k({phase:"settled",...T})),g(m);if(s(k({phase:"retry",...T,delayMs:E.delayMs})),await i(E.delayMs,d.signal),d.signal?.aborted===true)return s(k({phase:"settled",...T,reason:"aborted"})),g(m);V+=1;}}n(f,"send");async function v(p){return P(p,await Br(e.auth))}n(v,"authorize");async function*b(p,d,y){s(Object.freeze({call:p,phase:"stream.open",method:d.method,path:d.path,attempt:0}));try{yield*e.auth.transport.stream(d,y);}catch{yield Ce({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return n(b,"stream"),Object.freeze({send:f,authorize:v,stream:b})}n(xe,"createRequestFunnel");function Ar(e,r){let t={};for(let[o,i]of Object.entries(e.headers??{}))o.toLowerCase()!==Fr&&(t[o]=i);return r!==null&&(t["Idempotency-Key"]=r),{...e,headers:t}}n(Ar,"assembleHeaders");function Pr(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}n(Pr,"defaultIdempotencyKeyFactory");var zr=10;function jr(e,r,t){if(t.aborted)return {retry:false,reason:"aborted"};let o=Dr(e);if(o==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(o!=="burst"&&!$(e.code))return {retry:false,reason:"terminal-code"};let i=o==="burst"?"burst-throttle":"retryable-code";if(n(()=>{if(t.policy===void 0)return false;try{return !t.policy.shouldRetry(e.code,r)}catch{return false}},"policyVetoedRetry")())return {retry:false,reason:"terminal-code"};let u=n(()=>{if(t.policy===void 0)return null;let f;try{f=t.policy.maxAttempts(e.code);}catch{return null}return typeof f!="number"||!Number.isFinite(f)?null:Math.max(1,Math.min(zr,Math.floor(f)))},"policyCeiling"),l=t.perCallMaxAttempts??u()??t.maxAttempts;if(r+1>=l)return {retry:false,reason:"attempts-exhausted"};let s=Nr(e,t.now);return s!==null?s>kr?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:i,delayMs:s}:{retry:true,reason:i,delayMs:_e(r,t.rng)}}n(jr,"decideRetry");function Dr(e){let r=e.code==="unknown"?Ee(Ur(e.raw)):e.code;return r==="quotaExceeded"?"quota":r==="rateLimited"||e.httpStatus===429?"burst":null}n(Dr,"throttleKind");function Nr(e,r){let t=Mr(e.raw);if(t===null)return null;let o=t-r;return o>0?o:0}n(Nr,"retryOverrideMs");function Mr(e){for(let r of ke(e)){let t=r.resets_at,o=Lr(t);if(o!==null)return o}return null}n(Mr,"findResetsAt");function ke(e){if(!Se(e))return [];let r=[e];for(let t of ["error","detail"]){let o=e[t];Se(o)&&r.push(o);}return r}n(ke,"candidateScopes");function Lr(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 r=Date.parse(e);return Number.isFinite(r)?r:null}return null}n(Lr,"parseInstantMs");function Ur(e){for(let r of ke(e)){let t=r.code;if(typeof t=="string"&&t.length>0)return t}return null}n(Ur,"rawWireCode");function Se(e){return typeof e=="object"&&e!==null}n(Se,"isRecord");async function Br(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}:{}}}n(Br,"resolveDeviceAuth");function qr(e,r){let t=new AbortController,o=r.setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:n(()=>r.clearTimeout(o),"cancel")}}n(qr,"boundedSignal");function Hr(e,r){let t=n(()=>{},"noop");if(!r)return {signal:e,dispose:t};let o=new AbortController;if(e.aborted||r.aborted)return o.abort(),{signal:o.signal,dispose:t};let i=n(()=>o.abort(),"onAbort");return e.addEventListener("abort",i,{once:true}),r.addEventListener("abort",i,{once:true}),{signal:o.signal,dispose:n(()=>{e.removeEventListener("abort",i),r.removeEventListener("abort",i);},"dispose")}}n(Hr,"mergeSignals");function Wr(e,r,t){return e<=0||t?.aborted===true?Promise.resolve():new Promise(o=>{let i=r.setTimeout(()=>{t?.removeEventListener("abort",a),o();},e),a=n(()=>{r.clearTimeout(i),o();},"onAbort");t?.addEventListener("abort",a,{once:true});})}n(Wr,"delayAbortable");var M=Object.freeze(["visit","join","summary","messages"]);function L(e){return typeof e=="string"&&M.includes(e)}n(L,"isVetVisitIntent");var Yr="/widget/v1/televet/handoffs",Kr="/widget/v1/televet/availability",Gr="/widget/v1/televet/chat-entry",$r=/^[a-z0-9][a-z0-9_-]{0,39}$/,ze=/^[A-Za-z0-9_-]{22}$/,Fe="everfur_flow",Oe=32,Ve=128,Ie=64;function U(e){let r=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 r===void 0?e.code==="internalError"?"network":"unknown":r===429?"rateLimited":r===404?"unavailable":r===403?"accessDenied":r===401?"authRejected":r===400||r===422?"invalidRequest":r>=500?"serverError":"unknown"}n(U,"vetVisitErrorReasonOf");function Ae(e){return g(x("validationFailed",{retryable:false,wireMessage:e}))}n(Ae,"invalid");function ee(e){return g(x("internalError",{retryable:false,httpStatus:502,wireMessage:e}))}n(ee,"unusable");function Qr(e,r){let t={};e!==void 0&&(t.pet_ref=e);let o=r?.returnTo;if(o!=null){if(typeof o!="string"||!$r.test(o))return {ok:false,message:"returnTo must be a registered return destination key"};t.return_to=o;}let i=r?.entry;if(i!=null){if(i!=="chat"||e===void 0)return {ok:false,message:"entry 'chat' needs the pet the chat is about"};t.entry=i;}let a=r?.visitRef,u=r?.intent,l=a!=null;if(l){let s=typeof a=="string"?a.trim():"";if(s.length<1||[...s].length>Ie)return {ok:false,message:`visitRef must be 1..${Ie} characters`};t.visit_ref=s;}if(u!=null){if(!l)return {ok:false,message:"intent needs the visitRef it opens"};if(!L(u))return {ok:false,message:`intent must be one of ${M.join(", ")}`};t.intent=u;}return {ok:true,body:t}}n(Qr,"handoffBody");function Xr(e){if(typeof e!="object"||e===null)return null;let{visit_ref:r,intent:t}=e;return typeof r!="string"||r.length===0||!L(t)?null:Object.freeze({visitRef:r,intent:t})}n(Xr,"parseVisitEcho");function je(e){let r=e.funnel??xe({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=e.telemetry,o=n(i=>(Pe(t,"televet.visit.handoff_failed",{reason:U(i)}),g(i)),"failed");return {async createHandoff(i,a){let u;if(i!=null){let c=typeof i=="string"?[...i].length:0;if(c<1||c>Ve)return o(x("validationFailed",{retryable:false,wireMessage:`pet_ref must be 1..${Ve} characters`}));u=i;}let l=Qr(u,a);if(!l.ok){let c=Ae(l.message);return c.ok?c:o(c.error)}let s=l.body,f=await r.send("televet.visit.handoff",{method:"POST",path:Yr,body:s},{idempotent:false,maxAttempts:1});if(!f.ok)return o(f.error);let v=Zr(f.value),b=s.return_to!==void 0,p=b?f.value?.flow_id:void 0;if(b&&(typeof p!="string"||!ze.test(p))){let c=ee("the handoff response carried no usable return flow id");return c.ok?c:o(c.error)}let d=s.visit_ref!==void 0,y=d?Xr(f.value?.visit):null;if(d&&y===null){let c=ee("the handoff response did not confirm the visit it opens");return c.ok?c:o(c.error)}let h=v===null?null:Object.freeze({...v,...b?{flowId:p}:{},...y!==null?{visit:y}:{}});return h===null?o(x("internalError",{retryable:false,httpStatus:502,wireMessage:"the handoff response carried no usable visit url"})):(Pe(t,"televet.visit.handoff_created",{pet_scoped:s.pet_ref!==void 0}),J(h))},async checkAvailability(i){if(typeof i!="string"||i.length>Oe)return Ae(`state must be at most ${Oe} characters`);let a=await r.send("televet.visit.availability",{method:"POST",path:Kr,body:{state:i}},{idempotent:false,maxAttempts:1});if(!a.ok)return g(a.error);let u=a.value?.available;return typeof u!="boolean"?ee("the availability response carried no usable answer"):J(Object.freeze({available:u}))},async chatEntryOpen(){try{let i=await r.send("televet.visit.chat_entry",{method:"GET",path:Gr},{maxAttempts:1});return i.ok&&i.value?.open===!0}catch{return false}}}}n(je,"createVetVisitController");function Jr(e){if(typeof e!="string")return null;let r=e.indexOf("#"),t=r<0?e:e.slice(0,r),o=t.indexOf("?");if(o<0)return null;let i=t.slice(o+1).split("&").filter(a=>a.startsWith(`${Fe}=`)).map(a=>a.slice(Fe.length+1));return i.length!==1||!ze.test(i[0]??"")?null:Object.freeze({flowId:i[0]})}n(Jr,"parseVetVisitReturn");function Zr(e){if(typeof e!="object"||e===null)return null;let{url:r,expires_at:t}=e;return typeof r!="string"||typeof t!="string"||t.length===0||!nt(r)?null:Object.freeze({url:r,expiresAt:t})}n(Zr,"parseHandoff");var et=new Set(["localhost","127.0.0.1","[::1]"]),rt=/^([A-Za-z][A-Za-z0-9+.-]*):\/\/([^/?#]*)/,tt=/[\s\u0000-\u001f\u007f]/;function nt(e){if(tt.test(e))return false;let r=rt.exec(e);if(r===null)return false;let t=(r[1]??"").toLowerCase(),o=r[2]??"";if(o.length===0||o.includes("@"))return false;let i=o.replace(/:\d+$/,"").toLowerCase(),a=t==="https",u=t==="http"&&et.has(i);if(!a&&!u)return false;let l=e.indexOf("#");if(l<0)return false;let s=e.slice(l);return s.startsWith("#h=")&&s.length>3}n(nt,"isOpenableVisitUrl");function Pe(e,r,t){if(e)try{e.track(r,t);}catch{}}n(Pe,"safeTrack");var De=Symbol.for("@everfur/sdk#EverfurContext@v1"),Ne=globalThis,Me=Ne[De]??(Ne[De]=createContext(null));Me.displayName??="EverfurContext";function B(){let e=useContext(Me);if(e===null)throw new A("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}n(B,"useEverfurContext");var at=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 st(e){return at[e]}n(st,"requires");function Le(e,r,t){let o=st(e),i=new Map;for(let l of r)i.set(l.resource,l);if(t?.isPending===true&&o.some(l=>!i.has(l)))return re({name:e,enabled:false,isPending:true,limits:{}});let a=lt(o,i);return o.filter(l=>i.get(l)?.granted!==true).length===0?re({name:e,enabled:true,isPending:false,limits:a}):re({name:e,enabled:false,isPending:false,limits:a,disabled:ut(o,i)})}n(Le,"decideCapability");function lt(e,r){let t={};for(let o of e){let i=r.get(o)?.limits;if(i)for(let[a,u]of Object.entries(i)){let l=t[a];t[a]=l===void 0?u:Math.min(l,u);}}return t}n(lt,"mergeLimits");function ut(e,r){for(let t of e){let o=r.get(t)?.disabled;if(o)return Object.freeze({reason:o.reason,level:o.level,recoverable:o.recoverable})}return Object.freeze({reason:X("accessDenied"),level:"user_entitlement",recoverable:false})}n(ut,"disabledFor");function re(e){let r={name:e.name,enabled:e.enabled,isPending:e.isPending,limits:Object.freeze({...e.limits})};return e.disabled!==void 0&&(r.disabled=e.disabled),Object.freeze(r)}n(re,"freezeDecision");function Ue(e){let{runtime:r}=B(),t=r.entitlements,o=useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot);return useMemo(()=>Le(e,o.decisions,{isPending:o.isPending}),[e,o])}n(Ue,"useCapability");var qe=Object.freeze({status:"idle",error:null,errorReason:null});function pt(e,r,t){let{usState:o,chat:i,scope:a}=t,u=r&&(o!==null||i),l=`${o??""}|${i?"chat":""}`,[s,f]=useState(null);if(useEffect(()=>{if(!u)return;let b=true,p=e.current;return f(null),n(async()=>{try{if(i&&!(p.chatEntryOpen&&await p.chatEntryOpen()))return !1;if(o===null)return !0;if(!p.checkAvailability)return !1;let y=await p.checkAvailability(o);return y.ok&&y.value.available}catch{return false}},"ask")().then(y=>{b&&f({key:l,open:y});}),()=>{b=false;}},[u,l,o,i,a,e]),!u)return null;let v=s!==null&&s.key===l;return {open:v&&s.open,pending:!v}}n(pt,"usePreflight");var yt=Object.freeze({status:"opening",error:null,errorReason:null});function We(e,r={}){let{runtime:t,userRef:o,scopeEpoch:i}=B(),a=Ue("televet"),u=a.enabled&&o!==null,l=r.usState??null,s=r.entry==="chat",f=r.petRef??null,v=useMemo(()=>{if(r.controller)return r.controller;let{services:m}=t.registry;return je({auth:m.authFor(o),telemetry:m.telemetry,...m.errorPolicy?{errorPolicy:m.errorPolicy}:{}})},[t,o,i,r.controller]),b=useRef(v);b.current=v;let p=useMemo(()=>({runtime:t,userRef:o,scopeEpoch:i}),[t,o,i]),d=pt(b,u,{usState:l,chat:s,scope:p}),y=u&&(d===null||d.open)&&(!s||f!==null),h=r.returnTo??null,[c,S]=useState(qe),C=useRef(null),R=useRef({runtime:t,userRef:o,scopeEpoch:i});R.current={runtime:t,userRef:o,scopeEpoch:i};let V=useRef(v);V.current=v;let k=useRef(y);k.current=y;let F=useCallback((m,E)=>{if(C.current)return C.current;let T=n((_,I)=>(S({status:_==="cancelled"?"idle":"error",error:I,errorReason:_==="cancelled"?null:_}),Object.freeze({opened:false,reason:_,error:I})),"fail");if(!k.current)return Promise.resolve(T("unavailable",null));let w=e.prepare();if(!w.ok)return Promise.resolve(T(w.reason,null));let W=R.current,de=V.current;S(yt);let Y=(async()=>{let _,I={...h!==null?{returnTo:h}:{},...s?{entry:"chat"}:{},...E!==null?{visitRef:E.visitRef}:{},...E!==null&&E.intent!==null&&E.intent!==void 0?{intent:E.intent}:{}},ce=Object.keys(I).length===0?void 0:I,fe=m===void 0?f:m;try{_=await(ce===void 0?de.createHandoff(fe):de.createHandoff(fe,ce));}catch{return e.abandon(w.value),T("unknown",null)}let K=R.current;if(K.runtime!==W.runtime||K.userRef!==W.userRef||K.scopeEpoch!==W.scopeEpoch)return e.abandon(w.value),T("cancelled",null);if(!_.ok)return e.abandon(w.value),T(U(_.error),_.error);let pe=await e.finish(w.value,_.value);return pe!==null?T(pe,null):(S(qe),Object.freeze(_.value.flowId===void 0?{opened:true}:{opened:true,flowId:_.value.flowId}))})().finally(()=>{C.current===Y&&(C.current=null);});return C.current=Y,Y},[e,f,h,s]),j=useCallback(m=>F(m,null),[F]),O=useCallback((m,E)=>F(void 0,{visitRef:m,intent:E??null}),[F]);return {available:y,isPending:a.isPending||(d?.pending??false),status:c.status,error:c.error,errorReason:c.errorReason,open:j,openVisit:O}}n(We,"useVetVisitWith");function Ye(e){try{e.closed||e.close();}catch{}}n(Ye,"closeQuietly");var mt=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},r){if(e.closed)return "cancelled";try{return e.location.replace(r.url),null}catch{return Ye(e),"popupBlocked"}},abandon({tab:e}){Ye(e);}});function ne(e){return We(mt,e)}n(ne,"useVetVisit");function vt(e,r){if(e===void 0)return {};let t={};return e.backgroundColor!==void 0&&(t.backgroundColor=e.backgroundColor),e.borderColor!==void 0&&(t.borderColor=e.borderColor,t.borderWidth=r??1),e.borderRadius!==void 0&&(t.borderRadius=e.borderRadius),t}n(vt,"slotBox");function Ke(e){return e?.textColor===void 0?{}:{color:e.textColor}}n(Ke,"slotText");function Ge(e,r){let t=vt(e,r),o={};return t.backgroundColor!==void 0&&(o.backgroundColor=t.backgroundColor),t.borderColor!==void 0&&(o.border=`${t.borderWidth??1}px solid ${t.borderColor}`),t.borderRadius!==void 0&&(o.borderRadius=t.borderRadius),o}n(Ge,"slotBoxCss");function $e(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}n($e,"reportHostFailure");function bt(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}n(bt,"isThenable");function oe(e,...r){if(typeof e=="function")try{let t=e(...r);return bt(t)&&Promise.resolve(t).then(void 0,$e),t}catch(t){$e(t);return}}n(oe,"callHost");var Qe=Object.freeze({visitButton:"Talk to a vet"});function se(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))se(e[r]);}return e}n(se,"deepFreeze");var Et=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Je={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Ze={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},Xe={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},gt={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},ht={regular:"400",medium:"500",bold:"700"},_t={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},Rt=0,q="System",H="monospace",Ct=["content","heading","control","compact","badge"];function Tt(e){let r={};for(let t of Ct)r[t]=e;return r}n(Tt,"authoredTierSizes");function er(){return {family:q,mono:H,fontUrl:null,families:{regular:q,medium:q,bold:q,mono:H,monoMedium:H,monoBold:H},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:Xe,tierSizes:Tt(Xe),lineHeight:gt,weight:ht,letterSpacing:_t,scale:1,maxScale:Rt,scaleCaps:Et}}n(er,"baseType");var rr={},ie=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function ae(e){return `cubic-bezier(${e.join(", ")})`}n(ae,"cssCubicBezier");var tr={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:ae(ie.standard),emphasized:ae(ie.emphasized),exit:ae(ie.exit)},reducedMotion:false},wt={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FDFBF8",surfaceSubtle:"#EFE9E3",background:"#FFFFFF",borderRingCream:"#D8D2C8",chatGround:"#FFFFFF",composerFill:"#FDFBF8",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#111111",secondary:"#0E462E",muted:"#6E6660",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#B91C1C",errorRed:"#FF1B00",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(185,28,28,0.12)",badgeBgNeutral:"rgba(110,102,96,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},nr=se({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:wt,space:Je,radius:Ze,type:er(),motion:tr,slots:rr}),St={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A938C",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};se({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:St,space:Je,radius:Ze,type:er(),motion:tr,slots:rr});var or=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),ir=globalThis,le=ir[or]??(ir[or]=createContext(nr));le.displayName??="EverfurThemeContext";function ue(){return useContext(le)}n(ue,"useEverfurTheme");var ar=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});var sr='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',Ft="System";function Ot(e){let r=e.trim();return r.length===0||r===Ft?sr:`${lr(r)}, ${sr}`}n(Ot,"cssFontFamily");function Vt(e){let r=e.trim();return r.length===0||r==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${lr(r)}, ui-monospace, Menlo, Consolas, monospace`}n(Vt,"cssMonoFamily");function lr(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}n(lr,"quote");function ur(e,r){let t=e.type,o=t.families[r];return {fontFamily:r==="mono"||r==="monoMedium"||r==="monoBold"?Vt(o):Ot(o),fontWeight:t.namedFaces[r]?t.weight.regular:t.weight[ar[r]]}}n(ur,"faceCss");var dr=44,Pt=.6;function zt(e){let{petRef:r,children:t,onOpened:o,onError:i,style:a,className:u,controller:l,returnTo:s,usState:f,entry:v,visitRef:b,intent:p}=e,d=ne({...s!==void 0?{returnTo:s}:{},...f!==void 0?{usState:f}:{},...v!==void 0?{entry:v}:{},...r!==void 0?{petRef:r}:{},...l!==void 0?{controller:l}:{}}),y=ue(),h=useMemo(()=>jt(y),[y]),c=useRef(false);if(!d.available)return null;let S=d.status==="opening";return jsx("button",{type:"button",onClick:n(()=>{S||c.current||(c.current=true,(b==null?d.open():d.openVisit(b,p??null)).then(R=>{R.opened?oe(o,R.flowId??null):R.reason!=="cancelled"&&oe(i,R.reason,R.error);}).finally(()=>{c.current=false;}));},"onClick"),"aria-busy":S,"aria-disabled":S,className:u,style:{...h,...S?{opacity:Pt,cursor:"progress"}:null,...a},children:t??Qe.visitButton})}n(zt,"VetVisitButton");function jt(e){let{color:r,space:t,radius:o,type:i,slots:a}=e;return {boxSizing:"border-box",minHeight:dr,minWidth:dr,display:"inline-flex",alignItems:"center",justifyContent:"center",margin:0,border:0,cursor:"pointer",padding:`${t.sm}px ${t.xl}px`,borderRadius:o.pill,backgroundColor:r.primary,color:r.onPrimary,...ur(e,"medium"),fontSize:i.size.body,...Ge(a.vetVisitButton),...Ke(a.vetVisitButton)}}n(jt,"buttonStyle");export{M as VET_VISIT_INTENTS,zt as VetVisitButton,L as isVetVisitIntent,Jr as parseVetVisitReturn,ne as useVetVisit,U as vetVisitErrorReasonOf};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"//": "GENERATED by scripts/subpath-shims.mjs from the package.json \"exports\" map. Do not edit by hand; run `npm run build`.",
|
|
3
|
+
"react-native": "../dist/notifications/index.js",
|
|
4
|
+
"module": "../dist/notifications/index.js",
|
|
5
|
+
"main": "../dist/notifications/index.cjs",
|
|
6
|
+
"types": "../dist/notifications/index.d.ts",
|
|
7
|
+
"sideEffects": false
|
|
8
|
+
}
|