@everfur/sdk 0.1.1 → 0.4.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 +703 -4
- package/README.md +63 -23
- package/consent/package.json +8 -0
- package/dist/Chat-BZZ-Py5l.d.ts +128 -0
- package/dist/Chat-Dq4fffIO.d.cts +128 -0
- package/dist/DepthViews-BG3E25MD.d.ts +16 -0
- package/dist/DepthViews-B_hIypI6.d.cts +19 -0
- package/dist/DepthViews-CL75jyRA.d.cts +16 -0
- package/dist/DepthViews-CkYri51q.d.ts +19 -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-BorG422I.d.cts +146 -0
- package/dist/attachments-BrUWQYNK.d.ts +257 -0
- package/dist/attachments-D_SECjr1.d.cts +257 -0
- package/dist/attachments-DpldrvIW.d.ts +146 -0
- package/dist/bookingCopy-CqtDYvCR.d.ts +732 -0
- package/dist/bookingCopy-SREvkG19.d.cts +732 -0
- package/dist/branding-CsRdeNwK.d.cts +566 -0
- package/dist/branding-CsRdeNwK.d.ts +566 -0
- package/dist/callCopy-DoQKG3-L.d.cts +40 -0
- package/dist/callCopy-DoQKG3-L.d.ts +40 -0
- package/dist/casesRepository-DwtZVsbj.d.cts +51 -0
- package/dist/casesRepository-v6QczS9N.d.ts +51 -0
- package/dist/chat/index.cjs +1 -1170
- package/dist/chat/index.d.cts +32 -53
- package/dist/chat/index.d.ts +32 -53
- package/dist/chat/index.js +1 -1167
- package/dist/client/index.cjs +9 -2315
- package/dist/client/index.d.cts +80 -16
- package/dist/client/index.d.ts +80 -16
- package/dist/client/index.js +9 -2215
- package/dist/{config-CiJ0PVBB.d.ts → config--Wu1Umhd.d.cts} +64 -26
- package/dist/{config-BSjBdxrZ.d.cts → config-C7eb_IMD.d.ts} +64 -26
- 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-CL3lyuy1.d.cts +159 -0
- package/dist/context-CahAEha8.d.ts +159 -0
- package/dist/copy-DdVFDL01.d.ts +198 -0
- package/dist/copy-UeUJVk8X.d.cts +198 -0
- package/dist/core/index.cjs +13 -3178
- package/dist/core/index.d.cts +164 -29
- package/dist/core/index.d.ts +164 -29
- package/dist/core/index.js +13 -3166
- package/dist/depth-D5HwcvKC.d.cts +533 -0
- package/dist/depth-DvPwPuT_.d.ts +533 -0
- package/dist/entitlementRepository-B7egEdW6.d.ts +43 -0
- package/dist/entitlementRepository-BpJ7tiwl.d.cts +43 -0
- package/dist/{identity-Brl-lDd6.d.cts → identity-C2-08BZW.d.cts} +20 -7
- package/dist/{identity-DK9zORrG.d.ts → identity-CEi9GRFZ.d.ts} +20 -7
- 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 -4494
- package/dist/index.d.cts +30 -121
- package/dist/index.d.ts +30 -121
- package/dist/index.js +12 -4470
- 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/optionalModule-DbJmsq5f.d.cts +21 -0
- package/dist/optionalModule-DbJmsq5f.d.ts +21 -0
- package/dist/pets-DJv2sj2H.d.ts +92 -0
- package/dist/pets-JVCXgRgR.d.cts +92 -0
- package/dist/petsRepository-B_gKbAzJ.d.cts +142 -0
- package/dist/petsRepository-Bk6GDwLs.d.ts +142 -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-BY2ph0_y.d.cts +376 -0
- package/dist/ports-D7YW8qz9.d.ts +376 -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-BjDpqqvm.d.cts +110 -0
- package/dist/requestFunnel-DFMGcluw.d.ts +110 -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-Bvr8yqXm.d.cts → runtimeTypes-gZEJu-da.d.cts} +104 -132
- package/dist/{runtime-BIYzf9cK.d.ts → runtimeTypes-w5KqBMcs.d.ts} +104 -132
- 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/booking/index.cjs +1 -0
- package/dist/televet/booking/index.d.cts +294 -0
- package/dist/televet/booking/index.d.ts +294 -0
- package/dist/televet/booking/index.js +1 -0
- package/dist/televet/call/index.cjs +1 -0
- package/dist/televet/call/index.d.cts +141 -0
- package/dist/televet/call/index.d.ts +141 -0
- package/dist/televet/call/index.js +1 -0
- package/dist/televet/index.cjs +1 -0
- package/dist/televet/index.d.cts +142 -0
- package/dist/televet/index.d.ts +142 -0
- package/dist/televet/index.js +1 -0
- package/dist/testing/index.cjs +5 -823
- package/dist/testing/index.d.cts +18 -4
- package/dist/testing/index.d.ts +18 -4
- package/dist/testing/index.js +5 -820
- package/dist/testing/rn/index.cjs +1 -449
- package/dist/testing/rn/index.d.cts +18 -29
- package/dist/testing/rn/index.d.ts +18 -29
- package/dist/testing/rn/index.js +1 -444
- package/dist/testing/web/index.cjs +1 -0
- package/dist/testing/web/index.d.cts +132 -0
- package/dist/testing/web/index.d.ts +132 -0
- package/dist/testing/web/index.js +1 -0
- package/dist/timelineRows-C15jxFFH.d.ts +19 -0
- package/dist/timelineRows-odO8g9r2.d.cts +19 -0
- package/dist/typeStyle-CKqVYD6L.d.cts +111 -0
- package/dist/typeStyle-DmoyacDG.d.ts +111 -0
- package/dist/uploadTransport-D0M0T4hN.d.ts +38 -0
- package/dist/uploadTransport-DKJHs3Yj.d.cts +38 -0
- package/dist/useRecordsDepth-C6rjEaLn.d.cts +237 -0
- package/dist/useRecordsDepth-crhBllQK.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-Bxwxp4xD.d.ts +310 -0
- package/dist/view-DyitEO0m.d.cts +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 +218 -0
- package/dist/web/index.d.ts +218 -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 +285 -0
- package/dist/web/records/index.d.ts +285 -0
- package/dist/web/records/index.js +4 -0
- package/dist/web/televet/booking/index.cjs +1 -0
- package/dist/web/televet/booking/index.d.cts +349 -0
- package/dist/web/televet/booking/index.d.ts +349 -0
- package/dist/web/televet/booking/index.js +1 -0
- package/dist/web/televet/call/index.cjs +1 -0
- package/dist/web/televet/call/index.d.cts +142 -0
- package/dist/web/televet/call/index.d.ts +142 -0
- package/dist/web/televet/call/index.js +1 -0
- package/dist/web/televet/index.cjs +1 -0
- package/dist/web/televet/index.d.cts +136 -0
- package/dist/web/televet/index.d.ts +136 -0
- package/dist/web/televet/index.js +1 -0
- package/notifications/package.json +8 -0
- package/package.json +266 -10
- package/records/depth/package.json +8 -0
- package/server/events/device-blocked.cjs +15 -0
- package/server/events/package.json +9 -0
- package/televet/booking/package.json +8 -0
- package/televet/call/package.json +8 -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/booking/native-blocked.cjs +12 -0
- package/web/televet/booking/package.json +8 -0
- package/web/televet/call/native-blocked.cjs +12 -0
- package/web/televet/call/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 ar=Object.defineProperty;var n=(e,r)=>ar(e,"name",{value:r,configurable:true});var F=Object.freeze({loading:"Loading",retry:"Try again",signedOut:"Sign in required",changeable:"You can change this at any time.",saving:"Saving"}),K=Object.freeze({transcript_exposure:Object.freeze({title:"Conversation sharing",body:n(e=>`Let ${e} read the conversations you have with Everfur.`,"body")}),partner_context:Object.freeze({title:"Pet details",body:n(e=>`Let Everfur use the pet details ${e} already holds as background in your conversations.`,"body")})});function W(e,r){if(e.status==="signed_out")return {kind:"signedOut"};let t=e.scopes.find(o=>o.scope===r);return t===void 0?e.error!==null?{kind:"failed",error:e.error}:{kind:"loading"}:t.loaded?{kind:"row",scope:t.scope,granted:t.granted,hasDecision:t.hasDecision,saving:t.saving,error:t.error}:t.error!==null?{kind:"failed",error:t.error}:{kind:"loading"}}n(W,"consentRowView");var $=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($.map(e=>e.wireCode));var ir=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($.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:ir[e.wireCode]}))),sr=new Map(me.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),lr=Object.freeze(["http_envelope",...[...new Set(me.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function U(e,r){if(typeof e!="string")return;let t=e.trim().toUpperCase();if(t.length!==0)for(let o of [r??"http_envelope",...lr]){let a=sr.get(o+t);if(a)return a}}n(U,"contractErrorFor");function ur(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}n(ur,"contractDocUrl");function ve(e){return null}n(ve,"publishedDocUrl");var dr=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 Ee(e){return dr[e]}n(Ee,"categoryFor");function ge(e){let r=U(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(ge,"fromWire");var cr=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function G(e){return cr.has(e)}n(G,"isAutoRetryable");var pr=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function be(e){return G(e)||pr.has(e)}n(be,"isRetryableCode");var fr=500,Q=8e3,he=4;function _e(e,r=Math.random){let t=Math.max(0,e),o=Math.min(fr*2**t,Q);return Math.floor(r()*o)}n(_e,"backoffDelayMs");var yr=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 mr(e){return yr[e]}n(mr,"userFacingError");function Ce(e,r,t){Object.defineProperty(e,r,{value:t,enumerable:false,writable:false,configurable:false});}n(Ce,"defineHidden");var vr=/^[a-z][a-z0-9_]{0,63}$/;function w(e,r){let t=U(r?.wireCode,r?.wireEnvelope),o={code:e,category:Ee(e),retryable:r?.retryable??be(e),displayMessage:mr(e)};if(r?.httpStatus!==void 0&&(o.httpStatus=r.httpStatus),r?.requestId&&(o.requestId=r.requestId),typeof r?.reasonCode=="string"&&vr.test(r.reasonCode)&&(o.reasonCode=r.reasonCode),t);return r?.wireMessage&&Ce(o,"wireMessage",r.wireMessage),r?.raw!==void 0&&r.raw!==null&&Ce(o,"raw",r.raw),Object.freeze(o)}n(w,"makeEverfurError");function X(e,r){return Object.freeze(r===void 0?{ok:true,value:e}:{ok:true,value:e,warning:r})}n(X,"ok");function y(e){return Object.freeze({ok:false,error:e})}n(y,"err");var L=class L extends Error{constructor(r,t){super(t),this.name="EverfurConfigError",this.kind=r,Object.setPrototypeOf(this,L.prototype);}};n(L,"EverfurConfigError");var z=L;function Re(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(Re,"errorFrame");function br(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(br,"authHeaders");function N(e,r){return {...e,headers:{...hr(e.headers),...br(r)}}}n(N,"withAuthHeaders");function hr(e){if(!e)return {};let r={};for(let[t,o]of Object.entries(e)){let a=t.toLowerCase();a==="authorization"||a==="x-everfur-partner-key"||(r[t]=o);}return r}n(hr,"stripAuthHeaders");async function Se(e,r){if(r.mode==="anonymous")return r.transport.request(N(e,{mode:"anonymous",publishableKey:r.publishableKey,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));let t;try{t=await r.identity.currentToken();}catch{return y(J())}let o=await r.transport.request(N(e,{mode:"personalized",token:t,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));if(o.ok||o.error.httpStatus!==401)return o;let a;try{a=await r.identity.currentToken({forceRefresh:!0});}catch{return y(J())}let s=await r.transport.request(N(e,{mode:"personalized",token:a,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));return !s.ok&&s.error.httpStatus===401?y(J(s.error.httpStatus)):s}n(Se,"authedSend");function J(e){return w("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}n(J,"authRejectedError");function Te(e){return w("internalError",{retryable:true,wireMessage:_r(e)})}n(Te,"networkError");function _r(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}n(_r,"describeCause");var Cr=3e4,Rr=Q*2,Sr="idempotency-key",Tr=new Set(["POST","PUT","PATCH","DELETE"]),wr=Object.freeze({onEvent(){}}),xr=Object.freeze({setTimeout:n((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:n(e=>clearTimeout(e),"clearTimeout"),now:n(()=>Date.now(),"now")});function Fr(e){let r=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return r.length===0?null:`efs_${r}`.slice(0,128)}n(Fr,"seededIdempotencyKey");function xe(e){let r=e.observer??wr,t=e.timers??xr,o=e.rng??Math.random,a=e.sleep??((m,c)=>Br(m,t,c)),s=e.maxAttempts??he,f=e.unaryTimeoutMs??Cr,i=e.newIdempotencyKey??Or(),l=n(m=>{try{r.onEvent(m);}catch{}},"emit");async function d(m,c,p){let h=p?.maxAttempts,v=Math.max(1,h??s),g=p?.idempotent??Tr.has(c.method),R=p?.idempotencyKey===void 0?null:Fr(p.idempotencyKey),u=g?R??i():null,_=kr(c,u),C=0;for(;;){let S=n(Y=>Object.freeze({call:m,method:c.method,path:c.path,attempt:C,...u?{idempotencyKey:u}:{},...Y}),"stamp");l(S({phase:"attempt"}));let I=Ur(f,t),j=Lr(I.signal,c.signal),P;try{P=await Se({..._,signal:j.signal},e.auth);}catch(Y){P=y(Te(Y));}finally{j.dispose(),I.cancel();}if(P.ok)return l(S({phase:"settled",ok:true,reason:"ok"})),P;let x=P.error,M=Ir(x,C,{maxAttempts:v,rng:o,now:t.now(),aborted:c.signal?.aborted===true,...h!==void 0?{perCallMaxAttempts:h}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),V={ok:false,code:x.code,reason:M.reason,...x.httpStatus!==void 0?{httpStatus:x.httpStatus}:{},...x.requestId!==void 0?{requestId:x.requestId}:{}};if(!M.retry)return l(S({phase:"settled",...V})),y(x);if(l(S({phase:"retry",...V,delayMs:M.delayMs})),await a(M.delayMs,c.signal),c.signal?.aborted===true)return l(S({phase:"settled",...V,reason:"aborted"})),y(x);C+=1;}}n(d,"send");async function E(m){return N(m,await Mr(e.auth))}n(E,"authorize");async function*T(m,c,p){l(Object.freeze({call:m,phase:"stream.open",method:c.method,path:c.path,attempt:0}));try{yield*e.auth.transport.stream(c,p);}catch{yield Re({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return n(T,"stream"),Object.freeze({send:d,authorize:E,stream:T})}n(xe,"createRequestFunnel");function kr(e,r){let t={};for(let[o,a]of Object.entries(e.headers??{}))o.toLowerCase()!==Sr&&(t[o]=a);return r!==null&&(t["Idempotency-Key"]=r),{...e,headers:t}}n(kr,"assembleHeaders");function Or(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}n(Or,"defaultIdempotencyKeyFactory");var Ar=10;function Ir(e,r,t){if(t.aborted)return {retry:false,reason:"aborted"};let o=Pr(e);if(o==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(o!=="burst"&&!G(e.code))return {retry:false,reason:"terminal-code"};let a=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 f=n(()=>{if(t.policy===void 0)return null;let d;try{d=t.policy.maxAttempts(e.code);}catch{return null}return typeof d!="number"||!Number.isFinite(d)?null:Math.max(1,Math.min(Ar,Math.floor(d)))},"policyCeiling"),i=t.perCallMaxAttempts??f()??t.maxAttempts;if(r+1>=i)return {retry:false,reason:"attempts-exhausted"};let l=zr(e,t.now);return l!==null?l>Rr?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:a,delayMs:l}:{retry:true,reason:a,delayMs:_e(r,t.rng)}}n(Ir,"decideRetry");function Pr(e){let r=e.code==="unknown"?ge(jr(e.raw)):e.code;return r==="quotaExceeded"?"quota":r==="rateLimited"||e.httpStatus===429?"burst":null}n(Pr,"throttleKind");function zr(e,r){let t=Nr(e.raw);if(t===null)return null;let o=t-r;return o>0?o:0}n(zr,"retryOverrideMs");function Nr(e){for(let r of Fe(e)){let t=r.resets_at,o=Dr(t);if(o!==null)return o}return null}n(Nr,"findResetsAt");function Fe(e){if(!we(e))return [];let r=[e];for(let t of ["error","detail"]){let o=e[t];we(o)&&r.push(o);}return r}n(Fe,"candidateScopes");function Dr(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(Dr,"parseInstantMs");function jr(e){for(let r of Fe(e)){let t=r.code;if(typeof t=="string"&&t.length>0)return t}return null}n(jr,"rawWireCode");function we(e){return typeof e=="object"&&e!==null}n(we,"isRecord");async function Mr(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(Mr,"resolveDeviceAuth");function Ur(e,r){let t=new AbortController,o=r.setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:n(()=>r.clearTimeout(o),"cancel")}}n(Ur,"boundedSignal");function Lr(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 a=n(()=>o.abort(),"onAbort");return e.addEventListener("abort",a,{once:true}),r.addEventListener("abort",a,{once:true}),{signal:o.signal,dispose:n(()=>{e.removeEventListener("abort",a),r.removeEventListener("abort",a);},"dispose")}}n(Lr,"mergeSignals");function Br(e,r,t){return e<=0||t?.aborted===true?Promise.resolve():new Promise(o=>{let a=r.setTimeout(()=>{t?.removeEventListener("abort",s),o();},e),s=n(()=>{r.clearTimeout(a),o();},"onAbort");t?.addEventListener("abort",s,{once:true});})}n(Br,"delayAbortable");var ke="/widget/v1/consent",D=Object.freeze(["transcript_exposure","partner_context"]),Oe="records_content",ee=64,qr=new Set(D);function B(e){return typeof e=="string"&&qr.has(e)}n(B,"isEverfurConsentScope");function k(e){return w("validationFailed",{retryable:false,wireMessage:e})}n(k,"invalid");function ze(e){return B(e)?null:k(e===Oe?`'${Oe}' is not recorded here: the records release a member grants and revokes is PUT and DELETE /widget/v1/records/pets/{pet_ref}/consent, which the records surface wires and which also kills the pet's live share links on a revoke. A row on the scoped ledger would not gate any read.`:`scope must be one of ${D.join(", ")}`)}n(ze,"validateScope");function Hr(e){if(typeof e!="object"||e===null)return k("write needs a decision object");let{scope:r,granted:t,consentVersion:o}=e,a=ze(r);return a!==null?a:typeof t!="boolean"?k("granted must be true to grant or false to withdraw"):o!==void 0&&(typeof o!="string"||o.length===0||o.length>ee)?k(`consentVersion must be 1..${ee} characters`):null}n(Hr,"validateDecision");var Z=n(e=>typeof e=="string"&&e.length>0?e:null,"str");function Ae(e,r){if(typeof e!="object"||e===null)return null;let t=e;return typeof t.granted!="boolean"||typeof t.has_decision!="boolean"?null:Object.freeze({scope:r,granted:t.granted,hasDecision:t.has_decision,consentVersion:Z(t.consent_version),actor:Z(t.actor),recordedAt:Z(t.recorded_at)})}n(Ae,"verdictFromWire");function Ie(e){return w("internalError",{retryable:false,httpStatus:502,wireMessage:`${e}: the response carried no granted/has_decision pair`})}n(Ie,"malformed");function Pe(e){return k(`the Everfur runtime is disposed; ${e} was called after unmount`)}n(Pe,"disposed");function re(e){let r=n(()=>{let{services:t}=e.registry;return Ne({auth:t.authFor(null),...t.errorPolicy?{errorPolicy:t.errorPolicy}:{}})},"over");return {read:n((t,o)=>e.isDisposed?Promise.resolve(y(Pe("read"))):r().read(t,o),"read"),write:n((t,o)=>e.isDisposed?Promise.resolve(y(Pe("write"))):r().write(t,o),"write")}}n(re,"createConsentRepository");function Ne(e){let r=e.funnel??xe({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=n((o,a)=>a?{...o,signal:a}:o,"withSignal");return {async read(o,a){let s=ze(o);if(s!==null)return y(s);let f=await r.send("consent.read",t({method:"GET",path:ke,query:{scope:o}},a?.signal));if(!f.ok)return y(f.error);let i=Ae(f.value,o);return i===null?y(Ie("consent.read")):X(i)},async write(o,a){let s=Hr(o);if(s!==null)return y(s);let f={scope:o.scope,granted:o.granted};o.consentVersion!==void 0&&(f.consent_version=o.consentVersion);let i=await r.send("consent.write",t({method:"PUT",path:ke,body:f},a?.signal));if(!i.ok)return y(i.error);let l=Ae(i.value,o.scope);return l===null?y(Ie("consent.write")):X(l)}}}n(Ne,"createConsentRepositoryOver");var De=Symbol.for("@everfur/sdk#EverfurContext@v1"),je=globalThis,Me=je[De]??(je[De]=react.createContext(null));Me.displayName??="EverfurContext";function te(){let e=react.useContext(Me);if(e===null)throw new z("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}n(te,"useEverfurContext");function oe(e,r){return Object.freeze({scope:e,granted:false,hasDecision:false,consentVersion:null,recordedAt:null,loaded:false,saving:false,error:r})}n(oe,"blank");function Le(e){return Object.freeze({scope:e.scope,granted:e.granted,hasDecision:e.hasDecision,consentVersion:e.consentVersion,recordedAt:e.recordedAt,loaded:true,saving:false,error:null})}n(Le,"settled");function $r(){return w("sessionRequired",{retryable:false,wireMessage:"a consent decision is authored by the member; sign a user in on the provider first"})}n($r,"noMember");function Be(){let{runtime:e}=te();return react.useMemo(()=>re(e),[e])}n(Be,"useEverfurConsentRepository");function ie(e){let{userRef:r}=te(),t=Be(),o=(e?.scopes??[]).filter(B).join(","),a=react.useMemo(()=>{let p=o.length===0?[]:o.split(",");return p.length===0?D:Object.freeze(p)},[o]),[s,f]=react.useState(r===null?"signed_out":"loading"),[i,l]=react.useState([]),[d,E]=react.useState(null),T=react.useRef(0),m=react.useCallback(async()=>{if(r===null){T.current+=1,f("signed_out"),l([]),E(null);return}let p=T.current+=1;f("loading"),E(null);let h=await Promise.all(a.map(u=>t.read(u)));if(p!==T.current)return;let v=h.map((u,_)=>{let C=a[_];return u.ok?Le(u.value):oe(C,u.error)}),g=h.find(u=>!u.ok),R=h.every(u=>!u.ok);l(Object.freeze(v)),f(R?"failed":"ready"),E(R&&g!==void 0&&!g.ok?g.error:null);},[t,a,r]);react.useEffect(()=>{m();},[m]);let c=react.useCallback(async(p,h)=>{if(r===null)return y($r());let v=T.current,g=null;l(u=>{let _=u.findIndex(j=>j.scope===p),C=_===-1?oe(p,null):u[_];g=C;let S=Object.freeze({...C,granted:h,hasDecision:true,saving:true,error:null});if(_===-1)return Object.freeze([...u,S]);let I=[...u];return I[_]=S,Object.freeze(I)});let R=await t.write({scope:p,granted:h});return v!==T.current||l(u=>{let _=u.findIndex(S=>S.scope===p);if(_===-1)return u;let C=[...u];return C[_]=R.ok?Le(R.value):Object.freeze({...g??oe(p,null),saving:false,error:R.error}),Object.freeze(C)}),R},[t,r]);return react.useMemo(()=>({status:s,scopes:i,error:d,setConsent:c,refresh:m}),[s,i,d,c,m])}n(ie,"useEverfurConsent");function qe(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}n(qe,"reportHostFailure");function Gr(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}n(Gr,"isThenable");function Qr(e,...r){if(typeof e=="function")try{let t=e(...r);return Gr(t)&&Promise.resolve(t).then(void 0,qe),t}catch(t){qe(t);return}}n(Qr,"callHost");var He=new WeakMap;function Xr(e){if(typeof e!="function")return;let r=He.get(e);if(r!==void 0)return r;let t=n((...o)=>{Qr(e,...o);},"guarded");return He.set(e,t),t}n(Xr,"guardHost");function Ve(e,r){let t=null;for(let o of r){let a=e[o];typeof a=="function"&&(t??={...e},t[o]=Xr(a));}return t??e}n(Ve,"guardHostProps");var le=class le extends react.Component{constructor(){super(...arguments);this.state={failed:false,key:this.props.resetKey};}static getDerivedStateFromError(){return {failed:true}}static getDerivedStateFromProps(t,o){return Object.is(t.resetKey,o.key)?null:{failed:false,key:t.resetKey}}render(){return this.state.failed?this.props.fallback:this.props.children}};n(le,"HostRenderBoundary");var se=le;function Zr({render:e}){return e()}n(Zr,"RenderHost");function Ke({render:e,fallback:r,resetKey:t}){return react.createElement(se,{fallback:r,resetKey:t,children:react.createElement(Zr,{render:e})})}n(Ke,"HostRender");function ce(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))ce(e[r]);}return e}n(ce,"deepFreeze");var et=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),$e={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Ge={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},We={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},rt={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},tt={regular:"400",medium:"500",bold:"700"},nt={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},ot=0,q="System",H="monospace",at=["content","heading","control","compact","badge"];function it(e){let r={};for(let t of at)r[t]=e;return r}n(it,"authoredTierSizes");function Qe(){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:We,tierSizes:it(We),lineHeight:rt,weight:tt,letterSpacing:nt,scale:1,maxScale:ot,scaleCaps:et}}n(Qe,"baseType");var Xe={},ue=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function de(e){return `cubic-bezier(${e.join(", ")})`}n(de,"cssCubicBezier");var Je={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:de(ue.standard),emphasized:de(ue.emphasized),exit:de(ue.exit)},reducedMotion:false},st={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)"},Ze=ce({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:st,space:$e,radius:Ge,type:Qe(),motion:Je,slots:Xe}),lt={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)"};ce({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:lt,space:$e,radius:Ge,type:Qe(),motion:Je,slots:Xe});var er=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),rr=globalThis,pe=rr[er]??(rr[er]=react.createContext(Ze));pe.displayName??="EverfurThemeContext";function fe(){return react.useContext(pe)}n(fe,"useEverfurTheme");var tr=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});var nr='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',ct="System";function pt(e){let r=e.trim();return r.length===0||r===ct?nr:`${or(r)}, ${nr}`}n(pt,"cssFontFamily");function ft(e){let r=e.trim();return r.length===0||r==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${or(r)}, ui-monospace, Menlo, Consolas, monospace`}n(ft,"cssMonoFamily");function or(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}n(or,"quote");function O(e,r){let t=e.type,o=t.families[r];return {fontFamily:r==="mono"||r==="monoMedium"||r==="monoBold"?ft(o):pt(o),fontWeight:t.namedFaces[r]?t.weight.regular:t.weight[tr[r]]}}n(O,"faceCss");function Et(e){let{scope:r,onChange:t,renderNotice:o,style:a,className:s}=Ve(e,["onChange"]),f=fe(),i=react.useMemo(()=>gt(f),[f]),l=ie({scopes:[r]}),d=W(l,r),E=K[r],[T,m]=react.useState(null),c=react.useCallback(async v=>{m(v);let g=await l.setConsent(r,v);g.ok&&(m(null),t?.(g.value.granted));},[l,t,r]),p=n((v,g)=>jsxRuntime.jsxs("div",{style:i.notice,children:[jsxRuntime.jsx(Ke,{resetKey:v,render:()=>o?o(v):jsxRuntime.jsx("p",{style:i.noticeText,children:v.displayMessage}),fallback:jsxRuntime.jsx("p",{style:i.noticeText,children:v.displayMessage})}),jsxRuntime.jsx("button",{type:"button",onClick:g,style:i.retry,children:F.retry})]}),"notice");if(d.kind==="signedOut")return jsxRuntime.jsxs("div",{className:s,style:{...i.container,...a},children:[jsxRuntime.jsx("p",{style:i.title,children:E.title}),jsxRuntime.jsx("p",{style:i.body,children:F.signedOut})]});if(d.kind==="loading")return jsxRuntime.jsx("div",{className:s,style:{...i.container,...a},role:"status","aria-busy":"true","aria-label":F.loading,children:jsxRuntime.jsx("p",{style:i.title,children:E.title})});if(d.kind==="failed")return jsxRuntime.jsxs("div",{className:s,style:{...i.container,...a},children:[jsxRuntime.jsx("p",{style:i.title,children:E.title}),p(d.error,()=>{l.refresh();})]});let h=`${E.title}. ${E.body(f.meta.displayName)}`;return jsxRuntime.jsxs("div",{className:s,style:{...i.container,...a},children:[jsxRuntime.jsxs("div",{style:{...i.row,...d.granted?i.rowChecked:null},children:[jsxRuntime.jsx("input",{type:"checkbox",checked:d.granted,disabled:d.saving,"aria-label":h,"aria-busy":d.saving?"true":void 0,onChange:v=>{c(v.currentTarget.checked);},style:i.box}),jsxRuntime.jsxs("div",{style:i.copy,children:[jsxRuntime.jsx("p",{style:i.title,children:E.title}),jsxRuntime.jsx("p",{style:i.body,children:E.body(f.meta.displayName)}),jsxRuntime.jsx("p",{style:i.footnote,children:F.changeable})]})]}),d.error===null?null:p(d.error,()=>{c(T??!d.granted);})]})}n(Et,"EverfurConsentToggle");function gt(e){let{color:r,radius:t,space:o,type:a}=e,s=`${Math.round(a.size.caption*a.lineHeight.snug)}px`;return {container:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:o.sm,padding:`${o.md}px ${o.lg}px`},row:{boxSizing:"border-box",display:"flex",alignItems:"flex-start",gap:o.md,borderRadius:t.md,border:`1px solid ${r.brandBorder}`,backgroundColor:r.surface,padding:o.lg},rowChecked:{border:`1px solid ${r.brand}`,backgroundColor:r.brandSoft},box:{width:24,height:24,minWidth:24,minHeight:24,margin:0,accentColor:r.brand,cursor:"pointer"},copy:{display:"flex",flexDirection:"column",gap:o.xs},title:{margin:0,...O(e,"bold"),fontSize:a.size.body,lineHeight:`${Math.round(a.size.body*a.lineHeight.snug)}px`,color:r.text.primary},body:{margin:0,...O(e,"regular"),fontSize:a.size.caption,lineHeight:s,color:r.text.secondary},footnote:{margin:0,...O(e,"regular"),fontSize:a.size.caption,lineHeight:s,color:r.text.muted},notice:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:o.xs,paddingTop:o.xs},noticeText:{margin:0,...O(e,"regular"),fontSize:a.size.caption,lineHeight:s,color:r.errorRed},retry:{minHeight:44,padding:`0 ${o.sm}px`,border:"none",background:"none",cursor:"pointer",...O(e,"bold"),fontSize:a.size.caption,color:r.linkInk}}}n(gt,"makeStyles");exports.CONSENT_COPY=F;exports.CONSENT_SCOPE_COPY=K;exports.CONSENT_VERSION_MAX=ee;exports.EVERFUR_CONSENT_SCOPES=D;exports.EverfurConsentToggle=Et;exports.consentRowView=W;exports.createConsentRepository=re;exports.createConsentRepositoryOver=Ne;exports.isEverfurConsentScope=B;exports.useEverfurConsent=ie;exports.useEverfurConsentRepository=Be;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ReactNode, CSSProperties } from 'react';
|
|
2
|
+
import { E as EverfurConsentScope } from '../../copy-UeUJVk8X.cjs';
|
|
3
|
+
export { C as CONSENT_COPY, a as CONSENT_SCOPE_COPY, b as CONSENT_VERSION_MAX, c as ConsentRepository, d as ConsentRepositoryDeps, e as ConsentRowView, f as ConsentRuntime, g as ConsentScopeCopy, h as EVERFUR_CONSENT_SCOPES, i as EverfurConsentDecision, j as EverfurConsentOptions, k as EverfurConsentScopeState, l as EverfurConsentState, m as EverfurConsentStatus, n as EverfurConsentVerdict, o as consentRowView, p as createConsentRepository, q as createConsentRepositoryOver, r as isEverfurConsentScope, u as useEverfurConsent, s as useEverfurConsentRepository } from '../../copy-UeUJVk8X.cjs';
|
|
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
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity-C2-08BZW.cjs';
|
|
7
|
+
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../../config--Wu1Umhd.cjs';
|
|
8
|
+
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../../ids-B2GAAifq.cjs';
|
|
9
|
+
export { E as ErrorPolicyPort } from '../../ErrorPolicyPort-CNf4uQZP.cjs';
|
|
10
|
+
import '../../requestFunnel-BjDpqqvm.cjs';
|
|
11
|
+
|
|
12
|
+
interface EverfurConsentToggleProps {
|
|
13
|
+
/** Which act this row is. One row is one act; two acts are two rows, never one switch. */
|
|
14
|
+
readonly scope: EverfurConsentScope;
|
|
15
|
+
/**
|
|
16
|
+
* Called with the settled answer after a decision lands, so a host can react (close a dialog, log its own
|
|
17
|
+
* analytics). A throw from it is swallowed by the SDK's host-callback guard and never reaches your tree.
|
|
18
|
+
*/
|
|
19
|
+
readonly onChange?: (granted: boolean) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Your own wording for a refusal, in place of the SDK's line. It runs inside the SDK's error boundary; a
|
|
22
|
+
* throw falls back to the SDK's own text. The RETRY control is always the SDK's, so replacing the wording
|
|
23
|
+
* can never remove the way out.
|
|
24
|
+
*/
|
|
25
|
+
readonly renderNotice?: (error: EverfurError) => ReactNode;
|
|
26
|
+
/** Layout only (spacing / surface). */
|
|
27
|
+
readonly style?: CSSProperties;
|
|
28
|
+
/** A class the host may hang layout rules on; the SDK sets no classes of its own. */
|
|
29
|
+
readonly className?: string;
|
|
30
|
+
}
|
|
31
|
+
/** One consent act the member can read and change, on the web band. */
|
|
32
|
+
declare function EverfurConsentToggle(props: EverfurConsentToggleProps): ReactNode;
|
|
33
|
+
|
|
34
|
+
export { EverfurConsentScope, EverfurConsentToggle, type EverfurConsentToggleProps, EverfurError };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ReactNode, CSSProperties } from 'react';
|
|
2
|
+
import { E as EverfurConsentScope } from '../../copy-DdVFDL01.js';
|
|
3
|
+
export { C as CONSENT_COPY, a as CONSENT_SCOPE_COPY, b as CONSENT_VERSION_MAX, c as ConsentRepository, d as ConsentRepositoryDeps, e as ConsentRowView, f as ConsentRuntime, g as ConsentScopeCopy, h as EVERFUR_CONSENT_SCOPES, i as EverfurConsentDecision, j as EverfurConsentOptions, k as EverfurConsentScopeState, l as EverfurConsentState, m as EverfurConsentStatus, n as EverfurConsentVerdict, o as consentRowView, p as createConsentRepository, q as createConsentRepositoryOver, r as isEverfurConsentScope, u as useEverfurConsent, s as useEverfurConsentRepository } from '../../copy-DdVFDL01.js';
|
|
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
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../../identity-CEi9GRFZ.js';
|
|
7
|
+
export { A as AcceptedFrame, a as AnalysisCompleteFrame, b as AnalysisStartedFrame, D as DeltaFrame, c as DoneFrame, E as ErrorFrame, d as EverfurRequest, e as EverfurRequestBase, F as Frame, f as FrameBase, g as FrameKind, H as HeartbeatFrame, h as HttpMethod, M as MultipartBody, T as TransportPort, U as UnknownFrame, i as UrgencyLevel } from '../../config-C7eb_IMD.js';
|
|
8
|
+
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../../ids-B2GAAifq.js';
|
|
9
|
+
export { E as ErrorPolicyPort } from '../../ErrorPolicyPort-CwbfmxzJ.js';
|
|
10
|
+
import '../../requestFunnel-DFMGcluw.js';
|
|
11
|
+
|
|
12
|
+
interface EverfurConsentToggleProps {
|
|
13
|
+
/** Which act this row is. One row is one act; two acts are two rows, never one switch. */
|
|
14
|
+
readonly scope: EverfurConsentScope;
|
|
15
|
+
/**
|
|
16
|
+
* Called with the settled answer after a decision lands, so a host can react (close a dialog, log its own
|
|
17
|
+
* analytics). A throw from it is swallowed by the SDK's host-callback guard and never reaches your tree.
|
|
18
|
+
*/
|
|
19
|
+
readonly onChange?: (granted: boolean) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Your own wording for a refusal, in place of the SDK's line. It runs inside the SDK's error boundary; a
|
|
22
|
+
* throw falls back to the SDK's own text. The RETRY control is always the SDK's, so replacing the wording
|
|
23
|
+
* can never remove the way out.
|
|
24
|
+
*/
|
|
25
|
+
readonly renderNotice?: (error: EverfurError) => ReactNode;
|
|
26
|
+
/** Layout only (spacing / surface). */
|
|
27
|
+
readonly style?: CSSProperties;
|
|
28
|
+
/** A class the host may hang layout rules on; the SDK sets no classes of its own. */
|
|
29
|
+
readonly className?: string;
|
|
30
|
+
}
|
|
31
|
+
/** One consent act the member can read and change, on the web band. */
|
|
32
|
+
declare function EverfurConsentToggle(props: EverfurConsentToggleProps): ReactNode;
|
|
33
|
+
|
|
34
|
+
export { EverfurConsentScope, EverfurConsentToggle, type EverfurConsentToggleProps, EverfurError };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {createContext,useMemo,useState,useRef,useCallback,useEffect,useContext,Component,createElement}from'react';import {jsxs,jsx}from'react/jsx-runtime';var ar=Object.defineProperty;var n=(e,r)=>ar(e,"name",{value:r,configurable:true});var F=Object.freeze({loading:"Loading",retry:"Try again",signedOut:"Sign in required",changeable:"You can change this at any time.",saving:"Saving"}),K=Object.freeze({transcript_exposure:Object.freeze({title:"Conversation sharing",body:n(e=>`Let ${e} read the conversations you have with Everfur.`,"body")}),partner_context:Object.freeze({title:"Pet details",body:n(e=>`Let Everfur use the pet details ${e} already holds as background in your conversations.`,"body")})});function W(e,r){if(e.status==="signed_out")return {kind:"signedOut"};let t=e.scopes.find(o=>o.scope===r);return t===void 0?e.error!==null?{kind:"failed",error:e.error}:{kind:"loading"}:t.loaded?{kind:"row",scope:t.scope,granted:t.granted,hasDecision:t.hasDecision,saving:t.saving,error:t.error}:t.error!==null?{kind:"failed",error:t.error}:{kind:"loading"}}n(W,"consentRowView");var $=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($.map(e=>e.wireCode));var ir=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($.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:ir[e.wireCode]}))),sr=new Map(me.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),lr=Object.freeze(["http_envelope",...[...new Set(me.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function U(e,r){if(typeof e!="string")return;let t=e.trim().toUpperCase();if(t.length!==0)for(let o of [r??"http_envelope",...lr]){let a=sr.get(o+t);if(a)return a}}n(U,"contractErrorFor");function ur(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}n(ur,"contractDocUrl");function ve(e){return null}n(ve,"publishedDocUrl");var dr=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 Ee(e){return dr[e]}n(Ee,"categoryFor");function ge(e){let r=U(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(ge,"fromWire");var cr=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function G(e){return cr.has(e)}n(G,"isAutoRetryable");var pr=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function be(e){return G(e)||pr.has(e)}n(be,"isRetryableCode");var fr=500,Q=8e3,he=4;function _e(e,r=Math.random){let t=Math.max(0,e),o=Math.min(fr*2**t,Q);return Math.floor(r()*o)}n(_e,"backoffDelayMs");var yr=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 mr(e){return yr[e]}n(mr,"userFacingError");function Ce(e,r,t){Object.defineProperty(e,r,{value:t,enumerable:false,writable:false,configurable:false});}n(Ce,"defineHidden");var vr=/^[a-z][a-z0-9_]{0,63}$/;function w(e,r){let t=U(r?.wireCode,r?.wireEnvelope),o={code:e,category:Ee(e),retryable:r?.retryable??be(e),displayMessage:mr(e)};if(r?.httpStatus!==void 0&&(o.httpStatus=r.httpStatus),r?.requestId&&(o.requestId=r.requestId),typeof r?.reasonCode=="string"&&vr.test(r.reasonCode)&&(o.reasonCode=r.reasonCode),t);return r?.wireMessage&&Ce(o,"wireMessage",r.wireMessage),r?.raw!==void 0&&r.raw!==null&&Ce(o,"raw",r.raw),Object.freeze(o)}n(w,"makeEverfurError");function X(e,r){return Object.freeze(r===void 0?{ok:true,value:e}:{ok:true,value:e,warning:r})}n(X,"ok");function y(e){return Object.freeze({ok:false,error:e})}n(y,"err");var L=class L extends Error{constructor(r,t){super(t),this.name="EverfurConfigError",this.kind=r,Object.setPrototypeOf(this,L.prototype);}};n(L,"EverfurConfigError");var z=L;function Re(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(Re,"errorFrame");function br(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(br,"authHeaders");function N(e,r){return {...e,headers:{...hr(e.headers),...br(r)}}}n(N,"withAuthHeaders");function hr(e){if(!e)return {};let r={};for(let[t,o]of Object.entries(e)){let a=t.toLowerCase();a==="authorization"||a==="x-everfur-partner-key"||(r[t]=o);}return r}n(hr,"stripAuthHeaders");async function Se(e,r){if(r.mode==="anonymous")return r.transport.request(N(e,{mode:"anonymous",publishableKey:r.publishableKey,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));let t;try{t=await r.identity.currentToken();}catch{return y(J())}let o=await r.transport.request(N(e,{mode:"personalized",token:t,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));if(o.ok||o.error.httpStatus!==401)return o;let a;try{a=await r.identity.currentToken({forceRefresh:!0});}catch{return y(J())}let s=await r.transport.request(N(e,{mode:"personalized",token:a,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));return !s.ok&&s.error.httpStatus===401?y(J(s.error.httpStatus)):s}n(Se,"authedSend");function J(e){return w("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}n(J,"authRejectedError");function Te(e){return w("internalError",{retryable:true,wireMessage:_r(e)})}n(Te,"networkError");function _r(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}n(_r,"describeCause");var Cr=3e4,Rr=Q*2,Sr="idempotency-key",Tr=new Set(["POST","PUT","PATCH","DELETE"]),wr=Object.freeze({onEvent(){}}),xr=Object.freeze({setTimeout:n((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:n(e=>clearTimeout(e),"clearTimeout"),now:n(()=>Date.now(),"now")});function Fr(e){let r=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return r.length===0?null:`efs_${r}`.slice(0,128)}n(Fr,"seededIdempotencyKey");function xe(e){let r=e.observer??wr,t=e.timers??xr,o=e.rng??Math.random,a=e.sleep??((m,c)=>Br(m,t,c)),s=e.maxAttempts??he,f=e.unaryTimeoutMs??Cr,i=e.newIdempotencyKey??Or(),l=n(m=>{try{r.onEvent(m);}catch{}},"emit");async function d(m,c,p){let h=p?.maxAttempts,v=Math.max(1,h??s),g=p?.idempotent??Tr.has(c.method),R=p?.idempotencyKey===void 0?null:Fr(p.idempotencyKey),u=g?R??i():null,_=kr(c,u),C=0;for(;;){let S=n(Y=>Object.freeze({call:m,method:c.method,path:c.path,attempt:C,...u?{idempotencyKey:u}:{},...Y}),"stamp");l(S({phase:"attempt"}));let I=Ur(f,t),j=Lr(I.signal,c.signal),P;try{P=await Se({..._,signal:j.signal},e.auth);}catch(Y){P=y(Te(Y));}finally{j.dispose(),I.cancel();}if(P.ok)return l(S({phase:"settled",ok:true,reason:"ok"})),P;let x=P.error,M=Ir(x,C,{maxAttempts:v,rng:o,now:t.now(),aborted:c.signal?.aborted===true,...h!==void 0?{perCallMaxAttempts:h}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),V={ok:false,code:x.code,reason:M.reason,...x.httpStatus!==void 0?{httpStatus:x.httpStatus}:{},...x.requestId!==void 0?{requestId:x.requestId}:{}};if(!M.retry)return l(S({phase:"settled",...V})),y(x);if(l(S({phase:"retry",...V,delayMs:M.delayMs})),await a(M.delayMs,c.signal),c.signal?.aborted===true)return l(S({phase:"settled",...V,reason:"aborted"})),y(x);C+=1;}}n(d,"send");async function E(m){return N(m,await Mr(e.auth))}n(E,"authorize");async function*T(m,c,p){l(Object.freeze({call:m,phase:"stream.open",method:c.method,path:c.path,attempt:0}));try{yield*e.auth.transport.stream(c,p);}catch{yield Re({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return n(T,"stream"),Object.freeze({send:d,authorize:E,stream:T})}n(xe,"createRequestFunnel");function kr(e,r){let t={};for(let[o,a]of Object.entries(e.headers??{}))o.toLowerCase()!==Sr&&(t[o]=a);return r!==null&&(t["Idempotency-Key"]=r),{...e,headers:t}}n(kr,"assembleHeaders");function Or(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}n(Or,"defaultIdempotencyKeyFactory");var Ar=10;function Ir(e,r,t){if(t.aborted)return {retry:false,reason:"aborted"};let o=Pr(e);if(o==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(o!=="burst"&&!G(e.code))return {retry:false,reason:"terminal-code"};let a=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 f=n(()=>{if(t.policy===void 0)return null;let d;try{d=t.policy.maxAttempts(e.code);}catch{return null}return typeof d!="number"||!Number.isFinite(d)?null:Math.max(1,Math.min(Ar,Math.floor(d)))},"policyCeiling"),i=t.perCallMaxAttempts??f()??t.maxAttempts;if(r+1>=i)return {retry:false,reason:"attempts-exhausted"};let l=zr(e,t.now);return l!==null?l>Rr?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:a,delayMs:l}:{retry:true,reason:a,delayMs:_e(r,t.rng)}}n(Ir,"decideRetry");function Pr(e){let r=e.code==="unknown"?ge(jr(e.raw)):e.code;return r==="quotaExceeded"?"quota":r==="rateLimited"||e.httpStatus===429?"burst":null}n(Pr,"throttleKind");function zr(e,r){let t=Nr(e.raw);if(t===null)return null;let o=t-r;return o>0?o:0}n(zr,"retryOverrideMs");function Nr(e){for(let r of Fe(e)){let t=r.resets_at,o=Dr(t);if(o!==null)return o}return null}n(Nr,"findResetsAt");function Fe(e){if(!we(e))return [];let r=[e];for(let t of ["error","detail"]){let o=e[t];we(o)&&r.push(o);}return r}n(Fe,"candidateScopes");function Dr(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(Dr,"parseInstantMs");function jr(e){for(let r of Fe(e)){let t=r.code;if(typeof t=="string"&&t.length>0)return t}return null}n(jr,"rawWireCode");function we(e){return typeof e=="object"&&e!==null}n(we,"isRecord");async function Mr(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(Mr,"resolveDeviceAuth");function Ur(e,r){let t=new AbortController,o=r.setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:n(()=>r.clearTimeout(o),"cancel")}}n(Ur,"boundedSignal");function Lr(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 a=n(()=>o.abort(),"onAbort");return e.addEventListener("abort",a,{once:true}),r.addEventListener("abort",a,{once:true}),{signal:o.signal,dispose:n(()=>{e.removeEventListener("abort",a),r.removeEventListener("abort",a);},"dispose")}}n(Lr,"mergeSignals");function Br(e,r,t){return e<=0||t?.aborted===true?Promise.resolve():new Promise(o=>{let a=r.setTimeout(()=>{t?.removeEventListener("abort",s),o();},e),s=n(()=>{r.clearTimeout(a),o();},"onAbort");t?.addEventListener("abort",s,{once:true});})}n(Br,"delayAbortable");var ke="/widget/v1/consent",D=Object.freeze(["transcript_exposure","partner_context"]),Oe="records_content",ee=64,qr=new Set(D);function B(e){return typeof e=="string"&&qr.has(e)}n(B,"isEverfurConsentScope");function k(e){return w("validationFailed",{retryable:false,wireMessage:e})}n(k,"invalid");function ze(e){return B(e)?null:k(e===Oe?`'${Oe}' is not recorded here: the records release a member grants and revokes is PUT and DELETE /widget/v1/records/pets/{pet_ref}/consent, which the records surface wires and which also kills the pet's live share links on a revoke. A row on the scoped ledger would not gate any read.`:`scope must be one of ${D.join(", ")}`)}n(ze,"validateScope");function Hr(e){if(typeof e!="object"||e===null)return k("write needs a decision object");let{scope:r,granted:t,consentVersion:o}=e,a=ze(r);return a!==null?a:typeof t!="boolean"?k("granted must be true to grant or false to withdraw"):o!==void 0&&(typeof o!="string"||o.length===0||o.length>ee)?k(`consentVersion must be 1..${ee} characters`):null}n(Hr,"validateDecision");var Z=n(e=>typeof e=="string"&&e.length>0?e:null,"str");function Ae(e,r){if(typeof e!="object"||e===null)return null;let t=e;return typeof t.granted!="boolean"||typeof t.has_decision!="boolean"?null:Object.freeze({scope:r,granted:t.granted,hasDecision:t.has_decision,consentVersion:Z(t.consent_version),actor:Z(t.actor),recordedAt:Z(t.recorded_at)})}n(Ae,"verdictFromWire");function Ie(e){return w("internalError",{retryable:false,httpStatus:502,wireMessage:`${e}: the response carried no granted/has_decision pair`})}n(Ie,"malformed");function Pe(e){return k(`the Everfur runtime is disposed; ${e} was called after unmount`)}n(Pe,"disposed");function re(e){let r=n(()=>{let{services:t}=e.registry;return Ne({auth:t.authFor(null),...t.errorPolicy?{errorPolicy:t.errorPolicy}:{}})},"over");return {read:n((t,o)=>e.isDisposed?Promise.resolve(y(Pe("read"))):r().read(t,o),"read"),write:n((t,o)=>e.isDisposed?Promise.resolve(y(Pe("write"))):r().write(t,o),"write")}}n(re,"createConsentRepository");function Ne(e){let r=e.funnel??xe({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=n((o,a)=>a?{...o,signal:a}:o,"withSignal");return {async read(o,a){let s=ze(o);if(s!==null)return y(s);let f=await r.send("consent.read",t({method:"GET",path:ke,query:{scope:o}},a?.signal));if(!f.ok)return y(f.error);let i=Ae(f.value,o);return i===null?y(Ie("consent.read")):X(i)},async write(o,a){let s=Hr(o);if(s!==null)return y(s);let f={scope:o.scope,granted:o.granted};o.consentVersion!==void 0&&(f.consent_version=o.consentVersion);let i=await r.send("consent.write",t({method:"PUT",path:ke,body:f},a?.signal));if(!i.ok)return y(i.error);let l=Ae(i.value,o.scope);return l===null?y(Ie("consent.write")):X(l)}}}n(Ne,"createConsentRepositoryOver");var De=Symbol.for("@everfur/sdk#EverfurContext@v1"),je=globalThis,Me=je[De]??(je[De]=createContext(null));Me.displayName??="EverfurContext";function te(){let e=useContext(Me);if(e===null)throw new z("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}n(te,"useEverfurContext");function oe(e,r){return Object.freeze({scope:e,granted:false,hasDecision:false,consentVersion:null,recordedAt:null,loaded:false,saving:false,error:r})}n(oe,"blank");function Le(e){return Object.freeze({scope:e.scope,granted:e.granted,hasDecision:e.hasDecision,consentVersion:e.consentVersion,recordedAt:e.recordedAt,loaded:true,saving:false,error:null})}n(Le,"settled");function $r(){return w("sessionRequired",{retryable:false,wireMessage:"a consent decision is authored by the member; sign a user in on the provider first"})}n($r,"noMember");function Be(){let{runtime:e}=te();return useMemo(()=>re(e),[e])}n(Be,"useEverfurConsentRepository");function ie(e){let{userRef:r}=te(),t=Be(),o=(e?.scopes??[]).filter(B).join(","),a=useMemo(()=>{let p=o.length===0?[]:o.split(",");return p.length===0?D:Object.freeze(p)},[o]),[s,f]=useState(r===null?"signed_out":"loading"),[i,l]=useState([]),[d,E]=useState(null),T=useRef(0),m=useCallback(async()=>{if(r===null){T.current+=1,f("signed_out"),l([]),E(null);return}let p=T.current+=1;f("loading"),E(null);let h=await Promise.all(a.map(u=>t.read(u)));if(p!==T.current)return;let v=h.map((u,_)=>{let C=a[_];return u.ok?Le(u.value):oe(C,u.error)}),g=h.find(u=>!u.ok),R=h.every(u=>!u.ok);l(Object.freeze(v)),f(R?"failed":"ready"),E(R&&g!==void 0&&!g.ok?g.error:null);},[t,a,r]);useEffect(()=>{m();},[m]);let c=useCallback(async(p,h)=>{if(r===null)return y($r());let v=T.current,g=null;l(u=>{let _=u.findIndex(j=>j.scope===p),C=_===-1?oe(p,null):u[_];g=C;let S=Object.freeze({...C,granted:h,hasDecision:true,saving:true,error:null});if(_===-1)return Object.freeze([...u,S]);let I=[...u];return I[_]=S,Object.freeze(I)});let R=await t.write({scope:p,granted:h});return v!==T.current||l(u=>{let _=u.findIndex(S=>S.scope===p);if(_===-1)return u;let C=[...u];return C[_]=R.ok?Le(R.value):Object.freeze({...g??oe(p,null),saving:false,error:R.error}),Object.freeze(C)}),R},[t,r]);return useMemo(()=>({status:s,scopes:i,error:d,setConsent:c,refresh:m}),[s,i,d,c,m])}n(ie,"useEverfurConsent");function qe(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}n(qe,"reportHostFailure");function Gr(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}n(Gr,"isThenable");function Qr(e,...r){if(typeof e=="function")try{let t=e(...r);return Gr(t)&&Promise.resolve(t).then(void 0,qe),t}catch(t){qe(t);return}}n(Qr,"callHost");var He=new WeakMap;function Xr(e){if(typeof e!="function")return;let r=He.get(e);if(r!==void 0)return r;let t=n((...o)=>{Qr(e,...o);},"guarded");return He.set(e,t),t}n(Xr,"guardHost");function Ve(e,r){let t=null;for(let o of r){let a=e[o];typeof a=="function"&&(t??={...e},t[o]=Xr(a));}return t??e}n(Ve,"guardHostProps");var le=class le extends Component{constructor(){super(...arguments);this.state={failed:false,key:this.props.resetKey};}static getDerivedStateFromError(){return {failed:true}}static getDerivedStateFromProps(t,o){return Object.is(t.resetKey,o.key)?null:{failed:false,key:t.resetKey}}render(){return this.state.failed?this.props.fallback:this.props.children}};n(le,"HostRenderBoundary");var se=le;function Zr({render:e}){return e()}n(Zr,"RenderHost");function Ke({render:e,fallback:r,resetKey:t}){return createElement(se,{fallback:r,resetKey:t,children:createElement(Zr,{render:e})})}n(Ke,"HostRender");function ce(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))ce(e[r]);}return e}n(ce,"deepFreeze");var et=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),$e={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Ge={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},We={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},rt={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},tt={regular:"400",medium:"500",bold:"700"},nt={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},ot=0,q="System",H="monospace",at=["content","heading","control","compact","badge"];function it(e){let r={};for(let t of at)r[t]=e;return r}n(it,"authoredTierSizes");function Qe(){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:We,tierSizes:it(We),lineHeight:rt,weight:tt,letterSpacing:nt,scale:1,maxScale:ot,scaleCaps:et}}n(Qe,"baseType");var Xe={},ue=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function de(e){return `cubic-bezier(${e.join(", ")})`}n(de,"cssCubicBezier");var Je={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:de(ue.standard),emphasized:de(ue.emphasized),exit:de(ue.exit)},reducedMotion:false},st={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)"},Ze=ce({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:st,space:$e,radius:Ge,type:Qe(),motion:Je,slots:Xe}),lt={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)"};ce({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:lt,space:$e,radius:Ge,type:Qe(),motion:Je,slots:Xe});var er=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),rr=globalThis,pe=rr[er]??(rr[er]=createContext(Ze));pe.displayName??="EverfurThemeContext";function fe(){return useContext(pe)}n(fe,"useEverfurTheme");var tr=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});var nr='system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',ct="System";function pt(e){let r=e.trim();return r.length===0||r===ct?nr:`${or(r)}, ${nr}`}n(pt,"cssFontFamily");function ft(e){let r=e.trim();return r.length===0||r==="monospace"?"ui-monospace, Menlo, Consolas, monospace":`${or(r)}, ui-monospace, Menlo, Consolas, monospace`}n(ft,"cssMonoFamily");function or(e){return `"${e.replace(/[\\"]/g,"\\$&")}"`}n(or,"quote");function O(e,r){let t=e.type,o=t.families[r];return {fontFamily:r==="mono"||r==="monoMedium"||r==="monoBold"?ft(o):pt(o),fontWeight:t.namedFaces[r]?t.weight.regular:t.weight[tr[r]]}}n(O,"faceCss");function Et(e){let{scope:r,onChange:t,renderNotice:o,style:a,className:s}=Ve(e,["onChange"]),f=fe(),i=useMemo(()=>gt(f),[f]),l=ie({scopes:[r]}),d=W(l,r),E=K[r],[T,m]=useState(null),c=useCallback(async v=>{m(v);let g=await l.setConsent(r,v);g.ok&&(m(null),t?.(g.value.granted));},[l,t,r]),p=n((v,g)=>jsxs("div",{style:i.notice,children:[jsx(Ke,{resetKey:v,render:()=>o?o(v):jsx("p",{style:i.noticeText,children:v.displayMessage}),fallback:jsx("p",{style:i.noticeText,children:v.displayMessage})}),jsx("button",{type:"button",onClick:g,style:i.retry,children:F.retry})]}),"notice");if(d.kind==="signedOut")return jsxs("div",{className:s,style:{...i.container,...a},children:[jsx("p",{style:i.title,children:E.title}),jsx("p",{style:i.body,children:F.signedOut})]});if(d.kind==="loading")return jsx("div",{className:s,style:{...i.container,...a},role:"status","aria-busy":"true","aria-label":F.loading,children:jsx("p",{style:i.title,children:E.title})});if(d.kind==="failed")return jsxs("div",{className:s,style:{...i.container,...a},children:[jsx("p",{style:i.title,children:E.title}),p(d.error,()=>{l.refresh();})]});let h=`${E.title}. ${E.body(f.meta.displayName)}`;return jsxs("div",{className:s,style:{...i.container,...a},children:[jsxs("div",{style:{...i.row,...d.granted?i.rowChecked:null},children:[jsx("input",{type:"checkbox",checked:d.granted,disabled:d.saving,"aria-label":h,"aria-busy":d.saving?"true":void 0,onChange:v=>{c(v.currentTarget.checked);},style:i.box}),jsxs("div",{style:i.copy,children:[jsx("p",{style:i.title,children:E.title}),jsx("p",{style:i.body,children:E.body(f.meta.displayName)}),jsx("p",{style:i.footnote,children:F.changeable})]})]}),d.error===null?null:p(d.error,()=>{c(T??!d.granted);})]})}n(Et,"EverfurConsentToggle");function gt(e){let{color:r,radius:t,space:o,type:a}=e,s=`${Math.round(a.size.caption*a.lineHeight.snug)}px`;return {container:{boxSizing:"border-box",display:"flex",flexDirection:"column",gap:o.sm,padding:`${o.md}px ${o.lg}px`},row:{boxSizing:"border-box",display:"flex",alignItems:"flex-start",gap:o.md,borderRadius:t.md,border:`1px solid ${r.brandBorder}`,backgroundColor:r.surface,padding:o.lg},rowChecked:{border:`1px solid ${r.brand}`,backgroundColor:r.brandSoft},box:{width:24,height:24,minWidth:24,minHeight:24,margin:0,accentColor:r.brand,cursor:"pointer"},copy:{display:"flex",flexDirection:"column",gap:o.xs},title:{margin:0,...O(e,"bold"),fontSize:a.size.body,lineHeight:`${Math.round(a.size.body*a.lineHeight.snug)}px`,color:r.text.primary},body:{margin:0,...O(e,"regular"),fontSize:a.size.caption,lineHeight:s,color:r.text.secondary},footnote:{margin:0,...O(e,"regular"),fontSize:a.size.caption,lineHeight:s,color:r.text.muted},notice:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:o.xs,paddingTop:o.xs},noticeText:{margin:0,...O(e,"regular"),fontSize:a.size.caption,lineHeight:s,color:r.errorRed},retry:{minHeight:44,padding:`0 ${o.sm}px`,border:"none",background:"none",cursor:"pointer",...O(e,"bold"),fontSize:a.size.caption,color:r.linkInk}}}n(gt,"makeStyles");export{F as CONSENT_COPY,K as CONSENT_SCOPE_COPY,ee as CONSENT_VERSION_MAX,D as EVERFUR_CONSENT_SCOPES,Et as EverfurConsentToggle,W as consentRowView,re as createConsentRepository,Ne as createConsentRepositoryOver,B as isEverfurConsentScope,ie as useEverfurConsent,Be as useEverfurConsentRepository};
|