@everfur/sdk 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +228 -0
- package/dist/{Chat-CHqcgMyw.d.ts → Chat-CFi5cNUF.d.ts} +4 -4
- package/dist/{Chat-BoAvCWhI.d.cts → Chat-DQOsAumH.d.cts} +4 -4
- package/dist/{DepthViews-B0g83e_N.d.cts → DepthViews-C409ubw-.d.cts} +1 -1
- package/dist/{DepthViews-7Y8Ur058.d.ts → DepthViews-D81c95Ra.d.cts} +1 -1
- package/dist/{DepthViews-Dg2bIon_.d.ts → DepthViews-es8mIK0w.d.ts} +1 -1
- package/dist/{DepthViews-CT5mQld9.d.cts → DepthViews-uilL1NJZ.d.ts} +1 -1
- package/dist/IntakeMedia-BcjjUizr.d.ts +103 -0
- package/dist/IntakeMedia-CL_S2tZE.d.cts +103 -0
- package/dist/animations/index.cjs +1 -1
- package/dist/animations/index.d.cts +3 -3
- package/dist/animations/index.d.ts +3 -3
- package/dist/animations/index.js +1 -1
- package/dist/{attachments-C3HJNYQ7.d.cts → attachments-B2GjBgvF.d.cts} +2 -2
- package/dist/{attachments-rkox0ewd.d.cts → attachments-DI710no4.d.cts} +5 -5
- package/dist/{attachments-CfxsVg7W.d.ts → attachments-DNaSbmA3.d.ts} +2 -2
- package/dist/{attachments-CThFsH4b.d.ts → attachments-SF88N654.d.ts} +5 -5
- package/dist/{bookingCopy-Y3OGdoMT.d.ts → bookingCopy-D2N3RhsV.d.ts} +451 -50
- package/dist/{bookingCopy-Do3zMeXb.d.cts → bookingCopy-xlXxORCA.d.cts} +451 -50
- package/dist/{bookingTypes-DCs8mmBb.d.cts → bookingTypes-D4pD3tHs.d.cts} +13 -1
- package/dist/{bookingTypes-DCs8mmBb.d.ts → bookingTypes-D4pD3tHs.d.ts} +13 -1
- package/dist/{branding-DYWma2il.d.ts → branding-Bio5MM6g.d.cts} +3 -3
- package/dist/{branding-ChXm8gxI.d.cts → branding-ytH4jJq1.d.ts} +3 -3
- package/dist/{callCopy-CPe9mbwG.d.cts → callCopy-DHjem0R-.d.cts} +12 -1
- package/dist/{callCopy-CPe9mbwG.d.ts → callCopy-DHjem0R-.d.ts} +12 -1
- package/dist/{casesRepository-Jj6t60AY.d.cts → casesRepository-B-md8h1S.d.cts} +1 -1
- package/dist/{casesRepository-BbgXYPxa.d.ts → casesRepository-CC6951TK.d.ts} +1 -1
- package/dist/chat/index.cjs +1 -1
- package/dist/chat/index.d.cts +9 -9
- package/dist/chat/index.d.ts +9 -9
- package/dist/chat/index.js +1 -1
- package/dist/client/index.cjs +2 -2
- package/dist/client/index.d.cts +10 -10
- package/dist/client/index.d.ts +10 -10
- package/dist/client/index.js +2 -2
- package/dist/{config-Dfbj5mlx.d.ts → config-BM0sv5jx.d.ts} +1 -1
- package/dist/{config-BZX97FmW.d.cts → config-Daa1plhQ.d.cts} +1 -1
- package/dist/consent/index.cjs +1 -1
- package/dist/consent/index.d.cts +5 -5
- package/dist/consent/index.d.ts +5 -5
- package/dist/consent/index.js +1 -1
- package/dist/{context-Cbe0zYym.d.ts → context-CDV2pwGI.d.ts} +7 -7
- package/dist/{context-DJXnZ1Mx.d.cts → context-DQHtwcHN.d.cts} +7 -7
- package/dist/{copy-dKK5KoAQ.d.cts → copy-BEx5F71o.d.cts} +2 -2
- package/dist/{copy-DHekqSKE.d.ts → copy-Cl1l-qmY.d.ts} +2 -2
- package/dist/core/index.cjs +7 -7
- package/dist/core/index.d.cts +21 -21
- package/dist/core/index.d.ts +21 -21
- package/dist/core/index.js +7 -7
- package/dist/{depth-NmWSbvfi.d.cts → depth-CAAwiStc.d.cts} +132 -38
- package/dist/{depth-CrpRjWGB.d.ts → depth-DfNRVtrV.d.ts} +132 -38
- package/dist/{entitlementRepository-tVNazi8R.d.ts → entitlementRepository-CVWvND1P.d.ts} +3 -3
- package/dist/{entitlementRepository-iL-9vS1i.d.cts → entitlementRepository-DPvWjV-N.d.cts} +3 -3
- package/dist/{identity-B8rp0L9G.d.ts → identity-BhT7oJDS.d.ts} +1 -1
- package/dist/{identity-D7PO5s9m.d.cts → identity-DUlshgow.d.cts} +1 -1
- package/dist/index.cjs +6 -6
- package/dist/index.d.cts +17 -17
- package/dist/index.d.ts +17 -17
- package/dist/index.js +6 -6
- package/dist/notifications/index.d.cts +2 -2
- package/dist/notifications/index.d.ts +2 -2
- package/dist/{pets-BWx9BKea.d.cts → pets-Bneph9m1.d.cts} +1 -1
- package/dist/{pets-BQbXmICf.d.ts → pets-DjcLmRrW.d.ts} +1 -1
- package/dist/{petsRepository-SqIvEMiT.d.cts → petsRepository-BnVre3q7.d.cts} +1 -1
- package/dist/{petsRepository-0oBVydl6.d.ts → petsRepository-BwxmfX_s.d.ts} +1 -1
- package/dist/photo/index.cjs +1 -1
- package/dist/photo/index.js +1 -1
- package/dist/{ports-ChnzSy4E.d.cts → ports-BPKxFOSe.d.cts} +10 -9
- package/dist/{ports-iXPWd7Vt.d.ts → ports-Di9rdLO9.d.ts} +10 -9
- package/dist/records/depth/index.cjs +2 -2
- package/dist/records/depth/index.d.cts +7 -7
- package/dist/records/depth/index.d.ts +7 -7
- package/dist/records/depth/index.js +2 -2
- package/dist/records/index.cjs +3 -3
- package/dist/records/index.d.cts +19 -10
- package/dist/records/index.d.ts +19 -10
- package/dist/records/index.js +3 -3
- package/dist/{requestFunnel-CQzz2DIW.d.ts → requestFunnel-CiSX2pun.d.ts} +2 -2
- package/dist/{requestFunnel-DAwb7haa.d.cts → requestFunnel-DMR_1T3O.d.cts} +2 -2
- package/dist/{runtimeTypes-DB9-kigO.d.cts → runtimeTypes-2gJ5hYoE.d.cts} +5 -5
- package/dist/{runtimeTypes-BNOxfmfg.d.ts → runtimeTypes-CkMFCbHW.d.ts} +5 -5
- package/dist/server/events/index.cjs +1 -1
- package/dist/server/events/index.d.cts +2 -2
- package/dist/server/events/index.d.ts +2 -2
- package/dist/server/events/index.js +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.d.cts +3 -3
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +1 -1
- package/dist/televet/booking/index.cjs +4 -1
- package/dist/televet/booking/index.d.cts +116 -29
- package/dist/televet/booking/index.d.ts +116 -29
- package/dist/televet/booking/index.js +4 -1
- package/dist/televet/call/index.cjs +1 -1
- package/dist/televet/call/index.d.cts +1 -1
- package/dist/televet/call/index.d.ts +1 -1
- package/dist/televet/call/index.js +1 -1
- package/dist/televet/index.cjs +1 -1
- package/dist/televet/index.js +1 -1
- package/dist/testing/index.cjs +3 -3
- package/dist/testing/index.d.cts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +3 -3
- package/dist/testing/rn/index.cjs +1 -1
- package/dist/testing/rn/index.d.cts +14 -12
- package/dist/testing/rn/index.d.ts +14 -12
- package/dist/testing/rn/index.js +1 -1
- package/dist/testing/web/index.d.cts +9 -9
- package/dist/testing/web/index.d.ts +9 -9
- package/dist/{timelineRows-Dll2IGFg.d.ts → timelineRows-D3171ksh.d.ts} +1 -1
- package/dist/{timelineRows-BuNhzDbH.d.cts → timelineRows-DDnz4gx2.d.cts} +1 -1
- package/dist/{tokens-ARWZtMOU.d.cts → tokens-BYtbKwFh.d.cts} +6 -3
- package/dist/{tokens-ARWZtMOU.d.ts → tokens-BYtbKwFh.d.ts} +6 -3
- package/dist/{typeStyle-YCS8dt19.d.cts → typeStyle-BqfwxZH4.d.cts} +2 -2
- package/dist/{typeStyle-8iEqQmP_.d.ts → typeStyle-DKz02DGU.d.ts} +2 -2
- package/dist/{uploadTransport-C1p8FuG8.d.cts → uploadTransport-BM_pnEWj.d.cts} +5 -0
- package/dist/{uploadTransport-bZIKBTyK.d.ts → uploadTransport-C6kGP1Kd.d.ts} +5 -0
- package/dist/{useRecordsDepth-CNEHZJtj.d.cts → useRecordsDepth-COJ0wSYK.d.cts} +1 -1
- package/dist/{useRecordsDepth-CuNdne6E.d.ts → useRecordsDepth-Z9FF5X4E.d.ts} +1 -1
- package/dist/video/index.cjs +1 -1
- package/dist/video/index.js +1 -1
- package/dist/{view-DFy8EDwf.d.ts → view-DoQEHXJR.d.ts} +47 -5
- package/dist/{view-BhqWlYrZ.d.cts → view-nRy6SitU.d.cts} +47 -5
- package/dist/web/consent/index.cjs +1 -1
- package/dist/web/consent/index.d.cts +5 -5
- package/dist/web/consent/index.d.ts +5 -5
- package/dist/web/consent/index.js +1 -1
- package/dist/web/index.cjs +7 -7
- package/dist/web/index.d.cts +23 -22
- package/dist/web/index.d.ts +23 -22
- package/dist/web/index.js +7 -7
- package/dist/web/notifications/index.d.cts +3 -3
- package/dist/web/notifications/index.d.ts +3 -3
- package/dist/web/records/depth/index.cjs +2 -2
- package/dist/web/records/depth/index.d.cts +7 -7
- package/dist/web/records/depth/index.d.ts +7 -7
- package/dist/web/records/depth/index.js +2 -2
- package/dist/web/records/index.cjs +3 -3
- package/dist/web/records/index.d.cts +28 -17
- package/dist/web/records/index.d.ts +28 -17
- package/dist/web/records/index.js +3 -3
- package/dist/web/televet/booking/index.cjs +4 -2
- package/dist/web/televet/booking/index.d.cts +227 -123
- package/dist/web/televet/booking/index.d.ts +227 -123
- package/dist/web/televet/booking/index.js +4 -2
- package/dist/web/televet/call/index.cjs +1 -1
- package/dist/web/televet/call/index.d.cts +1 -1
- package/dist/web/televet/call/index.d.ts +1 -1
- package/dist/web/televet/call/index.js +1 -1
- package/dist/web/televet/index.cjs +3 -3
- package/dist/web/televet/index.d.cts +12 -4
- package/dist/web/televet/index.d.ts +12 -4
- package/dist/web/televet/index.js +3 -3
- package/package.json +1 -1
- package/dist/BookedScreen-BJPbXLCG.d.ts +0 -54
- package/dist/BookedScreen-Cnld-jB_.d.cts +0 -54
package/dist/consent/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var react=require('react'),reactNative=require('react-native'),jsxRuntime=require('react/jsx-runtime');var ir=Object.defineProperty;var n=(e,r)=>ir(e,"name",{value:r,configurable:true});var sr=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function O(e,r){let t=e.type,o=t.families[r];return r==="mono"||t.namedFaces[r]?{fontFamily:o}:{fontFamily:o,fontWeight:t.weight[sr[r]]}}n(O,"face");var S=Object.freeze({loading:"Loading",retry:"Try again",signedOut:"Sign in required",changeable:"You can change this at any time.",saving:"Saving"}),$=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 Q(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(Q,"consentRowView");var X=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(X.map(e=>e.wireCode));var lr=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"}),be=Object.freeze(X.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:lr[e.wireCode]}))),ur=new Map(be.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),dr=Object.freeze(["http_envelope",...[...new Set(be.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function q(e,r){if(typeof e!="string")return;let t=e.trim().toUpperCase();if(t.length!==0)for(let o of [r??"http_envelope",...dr]){let a=ur.get(o+t);if(a)return a}}n(q,"contractErrorFor");function cr(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}n(cr,"contractDocUrl");function ge(e){return null}n(ge,"publishedDocUrl");var pr=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 he(e){return pr[e]}n(he,"categoryFor");function _e(e){let r=q(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":case "TELEVETRATELIMITED":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";case "NOTFOUND":case "CONVERSATIONNOTFOUND":return "conversationNotFound";case "PETNOTFOUND":return "petNotFound";case "TIMEOUT":case "STREAMTIMEOUT":return "streamTimeout";case "MEDIAUPLOADFAILED":case "UNRECOGNIZEDVIDEOFORMAT":case "FILETOOSMALL":return "mediaUploadFailed";case "MODERATIONBLOCKED":return "moderationBlocked";case "UPSTREAMLLMTIMEOUT":return "upstreamLlmTimeout";case "INTERNALERROR":case "INTERNALSERVERERROR":return "internalError";case "STREAMINCOMPLETE":case "CHATSTREAMINCOMPLETE":return "streamIncomplete";case "INVALIDANALYSISTYPE":case "INVALIDUPLOADPURPOSE":return "unknown";default:return "unknown"}}n(_e,"fromWire");var fr=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function J(e){return fr.has(e)}n(J,"isAutoRetryable");var yr=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function Ce(e){return J(e)||yr.has(e)}n(Ce,"isRetryableCode");var mr=500,Z=8e3,Re=4;function Te(e,r=Math.random){let t=Math.max(0,e),o=Math.min(mr*2**t,Z);return Math.floor(r()*o)}n(Te,"backoffDelayMs");var vr=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 Er(e){return vr[e]}n(Er,"userFacingError");function Se(e,r,t){Object.defineProperty(e,r,{value:t,enumerable:false,writable:false,configurable:false});}n(Se,"defineHidden");var br=/^[a-z][a-z0-9_]{0,63}$/;function w(e,r){let t=q(r?.wireCode,r?.wireEnvelope),o={code:e,category:he(e),retryable:r?.retryable??Ce(e),displayMessage:Er(e)};if(r?.httpStatus!==void 0&&(o.httpStatus=r.httpStatus),r?.requestId&&(o.requestId=r.requestId),typeof r?.reasonCode=="string"&&br.test(r.reasonCode)&&(o.reasonCode=r.reasonCode),t);return r?.wireMessage&&Se(o,"wireMessage",r.wireMessage),r?.raw!==void 0&&r.raw!==null&&Se(o,"raw",r.raw),Object.freeze(o)}n(w,"makeEverfurError");function ee(e,r){return Object.freeze(r===void 0?{ok:true,value:e}:{ok:true,value:e,warning:r})}n(ee,"ok");function p(e){return Object.freeze({ok:false,error:e})}n(p,"err");var V=class V extends Error{constructor(r,t){super(t),this.name="EverfurConfigError",this.kind=r,Object.setPrototypeOf(this,V.prototype);}};n(V,"EverfurConfigError");var j=V;function we(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(we,"errorFrame");function _r(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(_r,"authHeaders");function N(e,r){return {...e,headers:{...Cr(e.headers),..._r(r)}}}n(N,"withAuthHeaders");function Cr(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(Cr,"stripAuthHeaders");async function xe(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 p(re())}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 p(re())}let l=await r.transport.request(N(e,{mode:"personalized",token:a,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));return !l.ok&&l.error.httpStatus===401?p(re(l.error.httpStatus)):l}n(xe,"authedSend");function re(e){return w("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}n(re,"authRejectedError");function Fe(e){return w("internalError",{retryable:true,wireMessage:Rr(e)})}n(Fe,"networkError");function Rr(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}n(Rr,"describeCause");var Tr=3e4,Sr=Z*2,wr="idempotency-key",xr=new Set(["POST","PUT","PATCH","DELETE"]),Fr=Object.freeze({onEvent(){}}),kr=Object.freeze({setTimeout:n((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:n(e=>clearTimeout(e),"clearTimeout"),now:n(()=>Date.now(),"now")});function Or(e){let r=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return r.length===0?null:`efs_${r}`.slice(0,128)}n(Or,"seededIdempotencyKey");function Oe(e){let r=e.observer??Fr,t=e.timers??kr,o=e.rng??Math.random,a=e.sleep??((v,d)=>Hr(v,t,d)),l=e.maxAttempts??Re,i=e.unaryTimeoutMs??Tr,f=e.newIdempotencyKey??Ar(),s=n(v=>{try{r.onEvent(v);}catch{}},"emit");async function m(v,d,c){let y=c?.maxAttempts,C=Math.max(1,y??l),x=c?.idempotent??xr.has(d.method),R=c?.idempotencyKey===void 0?null:Or(c.idempotencyKey),u=x?R??f():null,g=Ir(d,u),h=0;for(;;){let T=n(G=>Object.freeze({call:v,method:d.method,path:d.path,attempt:h,...u?{idempotencyKey:u}:{},...G}),"stamp");s(T({phase:"attempt"}));let z=qr(i,t),U=Vr(z.signal,d.signal),D;try{D=await xe({...g,signal:U.signal},e.auth);}catch(G){D=p(Fe(G));}finally{U.dispose(),z.cancel();}if(D.ok)return s(T({phase:"settled",ok:true,reason:"ok"})),D;let F=D.error,B=zr(F,h,{maxAttempts:C,rng:o,now:t.now(),aborted:d.signal?.aborted===true,...y!==void 0?{perCallMaxAttempts:y}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),W={ok:false,code:F.code,reason:B.reason,...F.httpStatus!==void 0?{httpStatus:F.httpStatus}:{},...F.requestId!==void 0?{requestId:F.requestId}:{}};if(!B.retry)return s(T({phase:"settled",...W})),p(F);if(s(T({phase:"retry",...W,delayMs:B.delayMs})),await a(B.delayMs,d.signal),d.signal?.aborted===true)return s(T({phase:"settled",...W,reason:"aborted"})),p(F);h+=1;}}n(m,"send");async function k(v){return N(v,await Br(e.auth))}n(k,"authorize");async function*_(v,d,c){s(Object.freeze({call:v,phase:"stream.open",method:d.method,path:d.path,attempt:0}));try{yield*e.auth.transport.stream(d,c);}catch{yield we({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return n(_,"stream"),Object.freeze({send:m,authorize:k,stream:_})}n(Oe,"createRequestFunnel");function Ir(e,r){let t={};for(let[o,a]of Object.entries(e.headers??{}))o.toLowerCase()!==wr&&(t[o]=a);return r!==null&&(t["Idempotency-Key"]=r),{...e,headers:t}}n(Ir,"assembleHeaders");function Ar(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}n(Ar,"defaultIdempotencyKeyFactory");var Pr=10;function zr(e,r,t){if(t.aborted)return {retry:false,reason:"aborted"};let o=Dr(e);if(o==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(o!=="burst"&&!J(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 i=n(()=>{if(t.policy===void 0)return null;let m;try{m=t.policy.maxAttempts(e.code);}catch{return null}return typeof m!="number"||!Number.isFinite(m)?null:Math.max(1,Math.min(Pr,Math.floor(m)))},"policyCeiling"),f=t.perCallMaxAttempts??i()??t.maxAttempts;if(r+1>=f)return {retry:false,reason:"attempts-exhausted"};let s=jr(e,t.now);return s!==null?s>Sr?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:a,delayMs:s}:{retry:true,reason:a,delayMs:Te(r,t.rng)}}n(zr,"decideRetry");function Dr(e){let r=e.code==="unknown"?_e(Ur(e.raw)):e.code;return r==="quotaExceeded"?"quota":r==="rateLimited"||e.httpStatus===429?"burst":null}n(Dr,"throttleKind");function jr(e,r){let t=Mr(e.raw);if(t!==null){let a=t-r;return a>0?a:0}let o=Nr(e.raw);return o===null?null:Math.round(o*1e3)}n(jr,"retryOverrideMs");function Nr(e){for(let r of te(e)){let t=r.retry_after_seconds;if(typeof t=="number"&&Number.isFinite(t)&&t>=0)return t}return null}n(Nr,"findRetryAfterSeconds");function Mr(e){for(let r of te(e)){let t=r.resets_at,o=Lr(t);if(o!==null)return o}return null}n(Mr,"findResetsAt");function te(e){if(!ke(e))return [];let r=[e];for(let t of ["error","detail"]){let o=e[t];ke(o)&&r.push(o);}return r}n(te,"candidateScopes");function Lr(e){if(typeof e=="number"&&Number.isFinite(e))return e<1e11?Math.round(e*1e3):Math.round(e);if(typeof e=="string"&&e.trim().length>0){let r=Date.parse(e);return Number.isFinite(r)?r:null}return null}n(Lr,"parseInstantMs");function Ur(e){for(let r of te(e)){let t=r.code;if(typeof t=="string"&&t.length>0)return t}return null}n(Ur,"rawWireCode");function ke(e){return typeof e=="object"&&e!==null}n(ke,"isRecord");async function Br(e){return e.mode==="anonymous"?{mode:"anonymous",publishableKey:e.publishableKey,userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}:{mode:"personalized",token:await e.identity.currentToken(),userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}}n(Br,"resolveDeviceAuth");function qr(e,r){let t=new AbortController,o=r.setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:n(()=>r.clearTimeout(o),"cancel")}}n(qr,"boundedSignal");function Vr(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(Vr,"mergeSignals");function Hr(e,r,t){return e<=0||t?.aborted===true?Promise.resolve():new Promise(o=>{let a=r.setTimeout(()=>{t?.removeEventListener("abort",l),o();},e),l=n(()=>{r.clearTimeout(a),o();},"onAbort");t?.addEventListener("abort",l,{once:true});})}n(Hr,"delayAbortable");var Ie="/widget/v1/consent",M=Object.freeze(["transcript_exposure","partner_context"]),Ae="records_content",oe=64,Yr=new Set(M);function H(e){return typeof e=="string"&&Yr.has(e)}n(H,"isEverfurConsentScope");function P(e){return w("validationFailed",{retryable:false,wireMessage:e})}n(P,"invalid");function je(e){return H(e)?null:P(e===Ae?`'${Ae}' 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 ${M.join(", ")}`)}n(je,"validateScope");function Kr(e){if(typeof e!="object"||e===null)return P("write needs a decision object");let{scope:r,granted:t,consentVersion:o}=e,a=je(r);return a!==null?a:typeof t!="boolean"?P("granted must be true to grant or false to withdraw"):o!==void 0&&(typeof o!="string"||o.length===0||o.length>oe)?P(`consentVersion must be 1..${oe} characters`):null}n(Kr,"validateDecision");var ne=n(e=>typeof e=="string"&&e.length>0?e:null,"str");function Pe(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:ne(t.consent_version),actor:ne(t.actor),recordedAt:ne(t.recorded_at)})}n(Pe,"verdictFromWire");function ze(e){return w("internalError",{retryable:false,httpStatus:502,wireMessage:`${e}: the response carried no granted/has_decision pair`})}n(ze,"malformed");function De(e){return P(`the Everfur runtime is disposed; ${e} was called after unmount`)}n(De,"disposed");function ae(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(p(De("read"))):r().read(t,o),"read"),write:n((t,o)=>e.isDisposed?Promise.resolve(p(De("write"))):r().write(t,o),"write")}}n(ae,"createConsentRepository");function Ne(e){let r=e.funnel??Oe({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=n((o,a)=>a?{...o,signal:a}:o,"withSignal");return {async read(o,a){let l=je(o);if(l!==null)return p(l);let i=await r.send("consent.read",t({method:"GET",path:Ie,query:{scope:o}},a?.signal));if(!i.ok)return p(i.error);let f=Pe(i.value,o);return f===null?p(ze("consent.read")):ee(f)},async write(o,a){let l=Kr(o);if(l!==null)return p(l);let i={scope:o.scope,granted:o.granted};o.consentVersion!==void 0&&(i.consent_version=o.consentVersion);let f=await r.send("consent.write",t({method:"PUT",path:Ie,body:i},a?.signal));if(!f.ok)return p(f.error);let s=Pe(f.value,o.scope);return s===null?p(ze("consent.write")):ee(s)}}}n(Ne,"createConsentRepositoryOver");var Me=Symbol.for("@everfur/sdk#EverfurContext@v1"),Le=globalThis,Ue=Le[Me]??(Le[Me]=react.createContext(null));Ue.displayName??="EverfurContext";function ie(){let e=react.useContext(Ue);if(e===null)throw new j("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}n(ie,"useEverfurContext");function le(e,r){return Object.freeze({scope:e,granted:false,hasDecision:false,consentVersion:null,recordedAt:null,loaded:false,saving:false,error:r})}n(le,"blank");function qe(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(qe,"settled");function Xr(){return w("sessionRequired",{retryable:false,wireMessage:"a consent decision is authored by the member; sign a user in on the provider first"})}n(Xr,"noMember");function Ve(){let{runtime:e}=ie();return react.useMemo(()=>ae(e),[e])}n(Ve,"useEverfurConsentRepository");function de(e){let{userRef:r}=ie(),t=Ve(),o=(e?.scopes??[]).filter(H).join(","),a=react.useMemo(()=>{let c=o.length===0?[]:o.split(",");return c.length===0?M:Object.freeze(c)},[o]),[l,i]=react.useState(r===null?"signed_out":"loading"),[f,s]=react.useState([]),[m,k]=react.useState(null),_=react.useRef(0),v=react.useCallback(async()=>{if(r===null){_.current+=1,i("signed_out"),s([]),k(null);return}let c=_.current+=1;i("loading"),k(null);let y=await Promise.all(a.map(u=>t.read(u)));if(c!==_.current)return;let C=y.map((u,g)=>{let h=a[g];return u.ok?qe(u.value):le(h,u.error)}),x=y.find(u=>!u.ok),R=y.every(u=>!u.ok);s(Object.freeze(C)),i(R?"failed":"ready"),k(R&&x!==void 0&&!x.ok?x.error:null);},[t,a,r]);react.useEffect(()=>{v();},[v]);let d=react.useCallback(async(c,y)=>{if(r===null)return p(Xr());let C=_.current,x=null;s(u=>{let g=u.findIndex(U=>U.scope===c),h=g===-1?le(c,null):u[g];x=h;let T=Object.freeze({...h,granted:y,hasDecision:true,saving:true,error:null});if(g===-1)return Object.freeze([...u,T]);let z=[...u];return z[g]=T,Object.freeze(z)});let R=await t.write({scope:c,granted:y});return C!==_.current||s(u=>{let g=u.findIndex(T=>T.scope===c);if(g===-1)return u;let h=[...u];return h[g]=R.ok?qe(R.value):Object.freeze({...x??le(c,null),saving:false,error:R.error}),Object.freeze(h)}),R},[t,r]);return react.useMemo(()=>({status:l,scopes:f,error:m,setConsent:d,refresh:v}),[l,f,m,d,v])}n(de,"useEverfurConsent");function He(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}n(He,"reportHostFailure");function Jr(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}n(Jr,"isThenable");function Zr(e,...r){if(typeof e=="function")try{let t=e(...r);return Jr(t)&&Promise.resolve(t).then(void 0,He),t}catch(t){He(t);return}}n(Zr,"callHost");var Ye=new WeakMap;function et(e){if(typeof e!="function")return;let r=Ye.get(e);if(r!==void 0)return r;let t=n((...o)=>{Zr(e,...o);},"guarded");return Ye.set(e,t),t}n(et,"guardHost");function Ke(e,r){let t=null;for(let o of r){let a=e[o];typeof a=="function"&&(t??={...e},t[o]=et(a));}return t??e}n(Ke,"guardHostProps");var pe=class pe 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(pe,"HostRenderBoundary");var ce=pe;function tt({render:e}){return e()}n(tt,"RenderHost");function Ge({render:e,fallback:r,resetKey:t}){return react.createElement(ce,{fallback:r,resetKey:t,children:react.createElement(tt,{render:e})})}n(Ge,"HostRender");function me(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))me(e[r]);}return e}n(me,"deepFreeze");var nt=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Qe={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Xe={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},$e={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},ot={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},at={regular:"400",medium:"500",bold:"700"},it={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},st=0,Y="System",K="monospace",lt=["content","heading","control","compact","badge"];function ut(e){let r={};for(let t of lt)r[t]=e;return r}n(ut,"authoredTierSizes");function Je(){return {family:Y,mono:K,fontUrl:null,families:{regular:Y,medium:Y,bold:Y,mono:K,monoMedium:K,monoBold:K},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:$e,tierSizes:ut($e),lineHeight:ot,weight:at,letterSpacing:it,scale:1,maxScale:st,scaleCaps:nt}}n(Je,"baseType");var Ze={},fe=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function ye(e){return `cubic-bezier(${e.join(", ")})`}n(ye,"cssCubicBezier");var er={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:ye(fe.standard),emphasized:ye(fe.emphasized),exit:ye(fe.exit)},reducedMotion:false},dt={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FDFBF8",surfaceSubtle:"#EFE9E3",background:"#FFFFFF",borderRingCream:"#D8D2C8",chatGround:"#FFFFFF",composerFill:"#FDFBF8",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#111111",secondary:"#0E462E",muted:"#6E6660",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#B91C1C",onDanger:"#FFFFFF",errorRed:"#CC1600",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(185,28,28,0.12)",badgeBgNeutral:"rgba(110,102,96,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#111111",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},rr=me({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:dt,space:Qe,radius:Xe,type:Je(),motion:er,slots:Ze}),ct={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A938C",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",onDanger:"#0E1F17",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",bubbleVet:"#FFC3BC",onBubbleVet:"#111111",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};me({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:ct,space:Qe,radius:Xe,type:Je(),motion:er,slots:Ze});var tr=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),nr=globalThis,ve=nr[tr]??(nr[tr]=react.createContext(rr));ve.displayName??="EverfurThemeContext";function L(){return react.useContext(ve)}n(L,"useEverfurTheme");function Et(e,r){let t=e.scaleCaps[r];return t>0?t:void 0}n(Et,"tierMultiplier");function b({tier:e="content",...r}){let{type:t}=L(),o=Et(t,e);return react.createElement(reactNative.Text,o===void 0?r:{maxFontSizeMultiplier:o,...r})}n(b,"Text");react.forwardRef(n(function(r,t){return react.createElement(reactNative.TextInput,{...r,...t===null?{}:{ref:t}})},"TextInput"));function Rt(e){let{scope:r,onChange:t,renderNotice:o,style:a}=Ke(e,["onChange"]),l=L(),i=react.useMemo(()=>Tt(l),[l]),f=de({scopes:[r]}),s=Q(f,r),m=$[r],[k,_]=react.useState(null),v=react.useCallback(async y=>{_(y);let C=await f.setConsent(r,y);C.ok&&(_(null),t?.(C.value.granted));},[f,t,r]),d=n((y,C)=>jsxRuntime.jsxs(reactNative.View,{style:i.notice,children:[jsxRuntime.jsx(Ge,{resetKey:y,render:()=>o?o(y):jsxRuntime.jsx(b,{style:i.noticeText,children:y.displayMessage}),fallback:jsxRuntime.jsx(b,{style:i.noticeText,children:y.displayMessage})}),jsxRuntime.jsx(reactNative.Pressable,{onPress:C,accessibilityRole:"button",accessibilityLabel:S.retry,style:i.retry,children:jsxRuntime.jsx(b,{tier:"control",style:i.retryLabel,children:S.retry})})]}),"notice");if(s.kind==="signedOut")return jsxRuntime.jsxs(reactNative.View,{style:[i.container,a],accessible:true,accessibilityRole:"text",accessibilityLabel:S.signedOut,children:[jsxRuntime.jsx(b,{style:i.title,children:m.title}),jsxRuntime.jsx(b,{style:i.body,children:S.signedOut})]});if(s.kind==="loading")return jsxRuntime.jsxs(reactNative.View,{style:[i.container,a],accessible:true,accessibilityRole:"progressbar",accessibilityLabel:S.loading,children:[jsxRuntime.jsx(b,{style:i.title,children:m.title}),jsxRuntime.jsx(reactNative.ActivityIndicator,{color:l.color.brandInk})]});if(s.kind==="failed")return jsxRuntime.jsxs(reactNative.View,{style:[i.container,a],children:[jsxRuntime.jsx(b,{style:i.title,children:m.title}),d(s.error,()=>{f.refresh();})]});let c=`${m.title}. ${m.body(l.meta.displayName)}`;return jsxRuntime.jsxs(reactNative.View,{style:[i.container,a],children:[jsxRuntime.jsxs(reactNative.Pressable,{onPress:()=>{s.saving||v(!s.granted);},disabled:s.saving,accessibilityRole:"checkbox",accessibilityState:{checked:s.granted,disabled:s.saving},accessibilityLabel:c,accessibilityHint:s.saving?S.saving:void 0,hitSlop:{top:6,bottom:6,left:6,right:6},style:[i.row,s.granted?i.rowChecked:null],children:[jsxRuntime.jsx(reactNative.View,{style:[i.box,s.granted?i.boxChecked:null],accessibilityElementsHidden:true,importantForAccessibility:"no",children:s.granted?jsxRuntime.jsx(b,{style:i.tick,children:"\u2713"}):null}),jsxRuntime.jsxs(reactNative.View,{style:i.copy,children:[jsxRuntime.jsx(b,{style:i.title,children:m.title}),jsxRuntime.jsx(b,{style:i.body,children:m.body(l.meta.displayName)}),jsxRuntime.jsx(b,{style:i.footnote,children:S.changeable})]})]}),s.error===null?null:d(s.error,()=>{v(k??!s.granted);})]})}n(Rt,"EverfurConsentToggle");function Tt(e){let{color:r,radius:t,space:o,type:a}=e;return reactNative.StyleSheet.create({container:{gap:o.sm,paddingHorizontal:o.lg,paddingVertical:o.md},row:{flexDirection:"row",alignItems:"flex-start",gap:o.md,borderRadius:t.md,borderWidth:1,borderColor:r.brandBorder,backgroundColor:r.surface,paddingHorizontal:o.lg,paddingVertical:o.lg},rowChecked:{borderColor:r.brandInk,backgroundColor:r.brandSoft},box:{width:24,height:24,borderRadius:t.xs,borderWidth:1,borderColor:r.brandBorder,backgroundColor:r.surface,alignItems:"center",justifyContent:"center"},boxChecked:{borderColor:r.brandInk,backgroundColor:r.brand},tick:{...O(e,"bold"),fontSize:a.size.caption,color:r.text.onBrand},copy:{flex:1,gap:o.xs},title:{...O(e,"bold"),fontSize:a.size.body,lineHeight:Math.round(a.size.body*a.lineHeight.snug),color:r.text.primary},body:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.text.secondary},footnote:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.text.muted},notice:{gap:o.xs,paddingTop:o.xs},noticeText:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.errorRed},retry:{alignSelf:"flex-start",minHeight:44,justifyContent:"center"},retryLabel:{...O(e,"bold"),fontSize:a.size.caption,color:r.linkInk}})}n(Tt,"makeStyles");exports.CONSENT_COPY=S;exports.CONSENT_SCOPE_COPY=$;exports.CONSENT_VERSION_MAX=oe;exports.EVERFUR_CONSENT_SCOPES=M;exports.EverfurConsentToggle=Rt;exports.consentRowView=Q;exports.createConsentRepository=ae;exports.createConsentRepositoryOver=Ne;exports.isEverfurConsentScope=H;exports.useEverfurConsent=de;exports.useEverfurConsentRepository=Ve;
|
|
1
|
+
'use strict';var react=require('react'),reactNative=require('react-native'),jsxRuntime=require('react/jsx-runtime');var ir=Object.defineProperty;var n=(e,r)=>ir(e,"name",{value:r,configurable:true});var sr=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function O(e,r){let t=e.type,o=t.families[r];return r==="mono"||t.namedFaces[r]?{fontFamily:o}:{fontFamily:o,fontWeight:t.weight[sr[r]]}}n(O,"face");var S=Object.freeze({loading:"Loading",retry:"Try again",signedOut:"Sign in required",changeable:"You can change this at any time.",saving:"Saving"}),$=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 Q(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(Q,"consentRowView");var X=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(X.map(e=>e.wireCode));var lr=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"}),be=Object.freeze(X.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:lr[e.wireCode]}))),ur=new Map(be.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),dr=Object.freeze(["http_envelope",...[...new Set(be.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function q(e,r){if(typeof e!="string")return;let t=e.trim().toUpperCase();if(t.length!==0)for(let o of [r??"http_envelope",...dr]){let a=ur.get(o+t);if(a)return a}}n(q,"contractErrorFor");function cr(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}n(cr,"contractDocUrl");function ge(e){return null}n(ge,"publishedDocUrl");var pr=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 he(e){return pr[e]}n(he,"categoryFor");function _e(e){let r=q(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":case "TELEVETRATELIMITED":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";case "NOTFOUND":case "CONVERSATIONNOTFOUND":return "conversationNotFound";case "PETNOTFOUND":return "petNotFound";case "TIMEOUT":case "STREAMTIMEOUT":return "streamTimeout";case "MEDIAUPLOADFAILED":case "UNRECOGNIZEDVIDEOFORMAT":case "FILETOOSMALL":return "mediaUploadFailed";case "MODERATIONBLOCKED":return "moderationBlocked";case "UPSTREAMLLMTIMEOUT":return "upstreamLlmTimeout";case "INTERNALERROR":case "INTERNALSERVERERROR":return "internalError";case "STREAMINCOMPLETE":case "CHATSTREAMINCOMPLETE":return "streamIncomplete";case "INVALIDANALYSISTYPE":case "INVALIDUPLOADPURPOSE":return "unknown";default:return "unknown"}}n(_e,"fromWire");var fr=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function J(e){return fr.has(e)}n(J,"isAutoRetryable");var yr=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function Ce(e){return J(e)||yr.has(e)}n(Ce,"isRetryableCode");var mr=500,Z=8e3,Re=4;function Te(e,r=Math.random){let t=Math.max(0,e),o=Math.min(mr*2**t,Z);return Math.floor(r()*o)}n(Te,"backoffDelayMs");var vr=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 Er(e){return vr[e]}n(Er,"userFacingError");function Se(e,r,t){Object.defineProperty(e,r,{value:t,enumerable:false,writable:false,configurable:false});}n(Se,"defineHidden");var br=/^[a-z][a-z0-9_]{0,63}$/;function w(e,r){let t=q(r?.wireCode,r?.wireEnvelope),o={code:e,category:he(e),retryable:r?.retryable??Ce(e),displayMessage:Er(e)};if(r?.httpStatus!==void 0&&(o.httpStatus=r.httpStatus),r?.requestId&&(o.requestId=r.requestId),typeof r?.reasonCode=="string"&&br.test(r.reasonCode)&&(o.reasonCode=r.reasonCode),t);return r?.wireMessage&&Se(o,"wireMessage",r.wireMessage),r?.raw!==void 0&&r.raw!==null&&Se(o,"raw",r.raw),Object.freeze(o)}n(w,"makeEverfurError");function ee(e,r){return Object.freeze(r===void 0?{ok:true,value:e}:{ok:true,value:e,warning:r})}n(ee,"ok");function p(e){return Object.freeze({ok:false,error:e})}n(p,"err");var V=class V extends Error{constructor(r,t){super(t),this.name="EverfurConfigError",this.kind=r,Object.setPrototypeOf(this,V.prototype);}};n(V,"EverfurConfigError");var N=V;function we(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(we,"errorFrame");function _r(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(_r,"authHeaders");function D(e,r){return {...e,headers:{...Cr(e.headers),..._r(r)}}}n(D,"withAuthHeaders");function Cr(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(Cr,"stripAuthHeaders");async function xe(e,r){if(r.mode==="anonymous")return r.transport.request(D(e,{mode:"anonymous",publishableKey:r.publishableKey,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));let t;try{t=await r.identity.currentToken();}catch{return p(re())}let o=await r.transport.request(D(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 p(re())}let l=await r.transport.request(D(e,{mode:"personalized",token:a,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));return !l.ok&&l.error.httpStatus===401?p(re(l.error.httpStatus)):l}n(xe,"authedSend");function re(e){return w("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}n(re,"authRejectedError");function Fe(e){return w("internalError",{retryable:true,wireMessage:Rr(e)})}n(Fe,"networkError");function Rr(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}n(Rr,"describeCause");var Tr=3e4,Sr=Z*2,wr="idempotency-key",xr=new Set(["POST","PUT","PATCH","DELETE"]),Fr=Object.freeze({onEvent(){}}),kr=Object.freeze({setTimeout:n((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:n(e=>clearTimeout(e),"clearTimeout"),now:n(()=>Date.now(),"now")});function Or(e){let r=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return r.length===0?null:`efs_${r}`.slice(0,128)}n(Or,"seededIdempotencyKey");function Oe(e){let r=e.observer??Fr,t=e.timers??kr,o=e.rng??Math.random,a=e.sleep??((v,d)=>Hr(v,t,d)),l=e.maxAttempts??Re,i=e.unaryTimeoutMs??Tr,f=e.newIdempotencyKey??Ir(),s=n(v=>{try{r.onEvent(v);}catch{}},"emit");async function m(v,d,c){let y=c?.maxAttempts,C=Math.max(1,y??l),x=c?.idempotent??xr.has(d.method),R=c?.idempotencyKey===void 0?null:Or(c.idempotencyKey),u=x?R??f():null,g=Ar(d,u),h=0;for(;;){let T=n(G=>Object.freeze({call:v,method:d.method,path:d.path,attempt:h,...u?{idempotencyKey:u}:{},...G}),"stamp");s(T({phase:"attempt"}));let z=qr(i,t),U=Vr(z.signal,d.signal),j;try{j=await xe({...g,signal:U.signal},e.auth);}catch(G){j=p(Fe(G));}finally{U.dispose(),z.cancel();}if(j.ok)return s(T({phase:"settled",ok:true,reason:"ok"})),j;let F=j.error,B=zr(F,h,{maxAttempts:C,rng:o,now:t.now(),aborted:d.signal?.aborted===true,...y!==void 0?{perCallMaxAttempts:y}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),W={ok:false,code:F.code,reason:B.reason,...F.httpStatus!==void 0?{httpStatus:F.httpStatus}:{},...F.requestId!==void 0?{requestId:F.requestId}:{}};if(!B.retry)return s(T({phase:"settled",...W})),p(F);if(s(T({phase:"retry",...W,delayMs:B.delayMs})),await a(B.delayMs,d.signal),d.signal?.aborted===true)return s(T({phase:"settled",...W,reason:"aborted"})),p(F);h+=1;}}n(m,"send");async function k(v){return D(v,await Br(e.auth))}n(k,"authorize");async function*_(v,d,c){s(Object.freeze({call:v,phase:"stream.open",method:d.method,path:d.path,attempt:0}));try{yield*e.auth.transport.stream(d,c);}catch{yield we({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return n(_,"stream"),Object.freeze({send:m,authorize:k,stream:_})}n(Oe,"createRequestFunnel");function Ar(e,r){let t={};for(let[o,a]of Object.entries(e.headers??{}))o.toLowerCase()!==wr&&(t[o]=a);return r!==null&&(t["Idempotency-Key"]=r),{...e,headers:t}}n(Ar,"assembleHeaders");function Ir(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}n(Ir,"defaultIdempotencyKeyFactory");var Pr=10;function zr(e,r,t){if(t.aborted)return {retry:false,reason:"aborted"};let o=jr(e);if(o==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(o!=="burst"&&!J(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 i=n(()=>{if(t.policy===void 0)return null;let m;try{m=t.policy.maxAttempts(e.code);}catch{return null}return typeof m!="number"||!Number.isFinite(m)?null:Math.max(1,Math.min(Pr,Math.floor(m)))},"policyCeiling"),f=t.perCallMaxAttempts??i()??t.maxAttempts;if(r+1>=f)return {retry:false,reason:"attempts-exhausted"};let s=Nr(e,t.now);return s!==null?s>Sr?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:a,delayMs:s}:{retry:true,reason:a,delayMs:Te(r,t.rng)}}n(zr,"decideRetry");function jr(e){let r=e.code==="unknown"?_e(Ur(e.raw)):e.code;return r==="quotaExceeded"?"quota":r==="rateLimited"||e.httpStatus===429?"burst":null}n(jr,"throttleKind");function Nr(e,r){let t=Mr(e.raw);if(t!==null){let a=t-r;return a>0?a:0}let o=Dr(e.raw);return o===null?null:Math.round(o*1e3)}n(Nr,"retryOverrideMs");function Dr(e){for(let r of te(e)){let t=r.retry_after_seconds;if(typeof t=="number"&&Number.isFinite(t)&&t>=0)return t}return null}n(Dr,"findRetryAfterSeconds");function Mr(e){for(let r of te(e)){let t=r.resets_at,o=Lr(t);if(o!==null)return o}return null}n(Mr,"findResetsAt");function te(e){if(!ke(e))return [];let r=[e];for(let t of ["error","detail"]){let o=e[t];ke(o)&&r.push(o);}return r}n(te,"candidateScopes");function Lr(e){if(typeof e=="number"&&Number.isFinite(e))return e<1e11?Math.round(e*1e3):Math.round(e);if(typeof e=="string"&&e.trim().length>0){let r=Date.parse(e);return Number.isFinite(r)?r:null}return null}n(Lr,"parseInstantMs");function Ur(e){for(let r of te(e)){let t=r.code;if(typeof t=="string"&&t.length>0)return t}return null}n(Ur,"rawWireCode");function ke(e){return typeof e=="object"&&e!==null}n(ke,"isRecord");async function Br(e){return e.mode==="anonymous"?{mode:"anonymous",publishableKey:e.publishableKey,userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}:{mode:"personalized",token:await e.identity.currentToken(),userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}}n(Br,"resolveDeviceAuth");function qr(e,r){let t=new AbortController,o=r.setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:n(()=>r.clearTimeout(o),"cancel")}}n(qr,"boundedSignal");function Vr(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(Vr,"mergeSignals");function Hr(e,r,t){return e<=0||t?.aborted===true?Promise.resolve():new Promise(o=>{let a=r.setTimeout(()=>{t?.removeEventListener("abort",l),o();},e),l=n(()=>{r.clearTimeout(a),o();},"onAbort");t?.addEventListener("abort",l,{once:true});})}n(Hr,"delayAbortable");var Ae="/widget/v1/consent",M=Object.freeze(["transcript_exposure","partner_context"]),Ie="records_content",oe=64,Yr=new Set(M);function H(e){return typeof e=="string"&&Yr.has(e)}n(H,"isEverfurConsentScope");function P(e){return w("validationFailed",{retryable:false,wireMessage:e})}n(P,"invalid");function Ne(e){return H(e)?null:P(e===Ie?`'${Ie}' 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 ${M.join(", ")}`)}n(Ne,"validateScope");function Kr(e){if(typeof e!="object"||e===null)return P("write needs a decision object");let{scope:r,granted:t,consentVersion:o}=e,a=Ne(r);return a!==null?a:typeof t!="boolean"?P("granted must be true to grant or false to withdraw"):o!==void 0&&(typeof o!="string"||o.length===0||o.length>oe)?P(`consentVersion must be 1..${oe} characters`):null}n(Kr,"validateDecision");var ne=n(e=>typeof e=="string"&&e.length>0?e:null,"str");function Pe(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:ne(t.consent_version),actor:ne(t.actor),recordedAt:ne(t.recorded_at)})}n(Pe,"verdictFromWire");function ze(e){return w("internalError",{retryable:false,httpStatus:502,wireMessage:`${e}: the response carried no granted/has_decision pair`})}n(ze,"malformed");function je(e){return P(`the Everfur runtime is disposed; ${e} was called after unmount`)}n(je,"disposed");function ae(e){let r=n(()=>{let{services:t}=e.registry;return De({auth:t.authFor(null),...t.errorPolicy?{errorPolicy:t.errorPolicy}:{}})},"over");return {read:n((t,o)=>e.isDisposed?Promise.resolve(p(je("read"))):r().read(t,o),"read"),write:n((t,o)=>e.isDisposed?Promise.resolve(p(je("write"))):r().write(t,o),"write")}}n(ae,"createConsentRepository");function De(e){let r=e.funnel??Oe({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=n((o,a)=>a?{...o,signal:a}:o,"withSignal");return {async read(o,a){let l=Ne(o);if(l!==null)return p(l);let i=await r.send("consent.read",t({method:"GET",path:Ae,query:{scope:o}},a?.signal));if(!i.ok)return p(i.error);let f=Pe(i.value,o);return f===null?p(ze("consent.read")):ee(f)},async write(o,a){let l=Kr(o);if(l!==null)return p(l);let i={scope:o.scope,granted:o.granted};o.consentVersion!==void 0&&(i.consent_version=o.consentVersion);let f=await r.send("consent.write",t({method:"PUT",path:Ae,body:i},a?.signal));if(!f.ok)return p(f.error);let s=Pe(f.value,o.scope);return s===null?p(ze("consent.write")):ee(s)}}}n(De,"createConsentRepositoryOver");var Me=Symbol.for("@everfur/sdk#EverfurContext@v1"),Le=globalThis,Ue=Le[Me]??(Le[Me]=react.createContext(null));Ue.displayName??="EverfurContext";function ie(){let e=react.useContext(Ue);if(e===null)throw new N("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}n(ie,"useEverfurContext");function le(e,r){return Object.freeze({scope:e,granted:false,hasDecision:false,consentVersion:null,recordedAt:null,loaded:false,saving:false,error:r})}n(le,"blank");function qe(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(qe,"settled");function Xr(){return w("sessionRequired",{retryable:false,wireMessage:"a consent decision is authored by the member; sign a user in on the provider first"})}n(Xr,"noMember");function Ve(){let{runtime:e}=ie();return react.useMemo(()=>ae(e),[e])}n(Ve,"useEverfurConsentRepository");function de(e){let{userRef:r}=ie(),t=Ve(),o=(e?.scopes??[]).filter(H).join(","),a=react.useMemo(()=>{let c=o.length===0?[]:o.split(",");return c.length===0?M:Object.freeze(c)},[o]),[l,i]=react.useState(r===null?"signed_out":"loading"),[f,s]=react.useState([]),[m,k]=react.useState(null),_=react.useRef(0),v=react.useCallback(async()=>{if(r===null){_.current+=1,i("signed_out"),s([]),k(null);return}let c=_.current+=1;i("loading"),k(null);let y=await Promise.all(a.map(u=>t.read(u)));if(c!==_.current)return;let C=y.map((u,g)=>{let h=a[g];return u.ok?qe(u.value):le(h,u.error)}),x=y.find(u=>!u.ok),R=y.every(u=>!u.ok);s(Object.freeze(C)),i(R?"failed":"ready"),k(R&&x!==void 0&&!x.ok?x.error:null);},[t,a,r]);react.useEffect(()=>{v();},[v]);let d=react.useCallback(async(c,y)=>{if(r===null)return p(Xr());let C=_.current,x=null;s(u=>{let g=u.findIndex(U=>U.scope===c),h=g===-1?le(c,null):u[g];x=h;let T=Object.freeze({...h,granted:y,hasDecision:true,saving:true,error:null});if(g===-1)return Object.freeze([...u,T]);let z=[...u];return z[g]=T,Object.freeze(z)});let R=await t.write({scope:c,granted:y});return C!==_.current||s(u=>{let g=u.findIndex(T=>T.scope===c);if(g===-1)return u;let h=[...u];return h[g]=R.ok?qe(R.value):Object.freeze({...x??le(c,null),saving:false,error:R.error}),Object.freeze(h)}),R},[t,r]);return react.useMemo(()=>({status:l,scopes:f,error:m,setConsent:d,refresh:v}),[l,f,m,d,v])}n(de,"useEverfurConsent");function He(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}n(He,"reportHostFailure");function Jr(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}n(Jr,"isThenable");function Zr(e,...r){if(typeof e=="function")try{let t=e(...r);return Jr(t)&&Promise.resolve(t).then(void 0,He),t}catch(t){He(t);return}}n(Zr,"callHost");var Ye=new WeakMap;function et(e){if(typeof e!="function")return;let r=Ye.get(e);if(r!==void 0)return r;let t=n((...o)=>{Zr(e,...o);},"guarded");return Ye.set(e,t),t}n(et,"guardHost");function Ke(e,r){let t=null;for(let o of r){let a=e[o];typeof a=="function"&&(t??={...e},t[o]=et(a));}return t??e}n(Ke,"guardHostProps");var pe=class pe 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(pe,"HostRenderBoundary");var ce=pe;function tt({render:e}){return e()}n(tt,"RenderHost");function Ge({render:e,fallback:r,resetKey:t}){return react.createElement(ce,{fallback:r,resetKey:t,children:react.createElement(tt,{render:e})})}n(Ge,"HostRender");function me(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))me(e[r]);}return e}n(me,"deepFreeze");var nt=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Qe={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Xe={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},$e={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},ot={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},at={regular:"400",medium:"500",bold:"700"},it={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},st=0,Y="System",K="monospace",lt=["content","heading","control","compact","badge"];function ut(e){let r={};for(let t of lt)r[t]=e;return r}n(ut,"authoredTierSizes");function Je(){return {family:Y,mono:K,fontUrl:null,families:{regular:Y,medium:Y,bold:Y,mono:K,monoMedium:K,monoBold:K},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:$e,tierSizes:ut($e),lineHeight:ot,weight:at,letterSpacing:it,scale:1,maxScale:st,scaleCaps:nt}}n(Je,"baseType");var Ze={},fe=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function ye(e){return `cubic-bezier(${e.join(", ")})`}n(ye,"cssCubicBezier");var er={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:ye(fe.standard),emphasized:ye(fe.emphasized),exit:ye(fe.exit)},reducedMotion:false},dt={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FFFFFF",surfaceSubtle:"#F1F5F2",background:"#FFFFFF",borderRingCream:"#E4E4E4",chatGround:"#FFFFFF",composerFill:"#FFFFFF",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#000000",secondary:"#0E462E",muted:"#6B6B6B",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#C03410",onDanger:"#FFFFFF",errorRed:"#C03410",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(192,52,16,0.06)",badgeBgNeutral:"rgba(107,107,107,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#E9F1E9",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},rr=me({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:dt,space:Qe,radius:Xe,type:Je(),motion:er,slots:Ze}),ct={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A9A9A",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",onDanger:"#0E1F17",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};me({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:ct,space:Qe,radius:Xe,type:Je(),motion:er,slots:Ze});var tr=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),nr=globalThis,ve=nr[tr]??(nr[tr]=react.createContext(rr));ve.displayName??="EverfurThemeContext";function L(){return react.useContext(ve)}n(L,"useEverfurTheme");function Et(e,r){let t=e.scaleCaps[r];return t>0?t:void 0}n(Et,"tierMultiplier");function b({tier:e="content",...r}){let{type:t}=L(),o=Et(t,e);return react.createElement(reactNative.Text,o===void 0?r:{maxFontSizeMultiplier:o,...r})}n(b,"Text");react.forwardRef(n(function(r,t){return react.createElement(reactNative.TextInput,{...r,...t===null?{}:{ref:t}})},"TextInput"));function Rt(e){let{scope:r,onChange:t,renderNotice:o,style:a}=Ke(e,["onChange"]),l=L(),i=react.useMemo(()=>Tt(l),[l]),f=de({scopes:[r]}),s=Q(f,r),m=$[r],[k,_]=react.useState(null),v=react.useCallback(async y=>{_(y);let C=await f.setConsent(r,y);C.ok&&(_(null),t?.(C.value.granted));},[f,t,r]),d=n((y,C)=>jsxRuntime.jsxs(reactNative.View,{style:i.notice,children:[jsxRuntime.jsx(Ge,{resetKey:y,render:()=>o?o(y):jsxRuntime.jsx(b,{style:i.noticeText,children:y.displayMessage}),fallback:jsxRuntime.jsx(b,{style:i.noticeText,children:y.displayMessage})}),jsxRuntime.jsx(reactNative.Pressable,{onPress:C,accessibilityRole:"button",accessibilityLabel:S.retry,style:i.retry,children:jsxRuntime.jsx(b,{tier:"control",style:i.retryLabel,children:S.retry})})]}),"notice");if(s.kind==="signedOut")return jsxRuntime.jsxs(reactNative.View,{style:[i.container,a],accessible:true,accessibilityRole:"text",accessibilityLabel:S.signedOut,children:[jsxRuntime.jsx(b,{style:i.title,children:m.title}),jsxRuntime.jsx(b,{style:i.body,children:S.signedOut})]});if(s.kind==="loading")return jsxRuntime.jsxs(reactNative.View,{style:[i.container,a],accessible:true,accessibilityRole:"progressbar",accessibilityLabel:S.loading,children:[jsxRuntime.jsx(b,{style:i.title,children:m.title}),jsxRuntime.jsx(reactNative.ActivityIndicator,{color:l.color.brandInk})]});if(s.kind==="failed")return jsxRuntime.jsxs(reactNative.View,{style:[i.container,a],children:[jsxRuntime.jsx(b,{style:i.title,children:m.title}),d(s.error,()=>{f.refresh();})]});let c=`${m.title}. ${m.body(l.meta.displayName)}`;return jsxRuntime.jsxs(reactNative.View,{style:[i.container,a],children:[jsxRuntime.jsxs(reactNative.Pressable,{onPress:()=>{s.saving||v(!s.granted);},disabled:s.saving,accessibilityRole:"checkbox",accessibilityState:{checked:s.granted,disabled:s.saving},accessibilityLabel:c,accessibilityHint:s.saving?S.saving:void 0,hitSlop:{top:6,bottom:6,left:6,right:6},style:[i.row,s.granted?i.rowChecked:null],children:[jsxRuntime.jsx(reactNative.View,{style:[i.box,s.granted?i.boxChecked:null],accessibilityElementsHidden:true,importantForAccessibility:"no",children:s.granted?jsxRuntime.jsx(b,{style:i.tick,children:"\u2713"}):null}),jsxRuntime.jsxs(reactNative.View,{style:i.copy,children:[jsxRuntime.jsx(b,{style:i.title,children:m.title}),jsxRuntime.jsx(b,{style:i.body,children:m.body(l.meta.displayName)}),jsxRuntime.jsx(b,{style:i.footnote,children:S.changeable})]})]}),s.error===null?null:d(s.error,()=>{v(k??!s.granted);})]})}n(Rt,"EverfurConsentToggle");function Tt(e){let{color:r,radius:t,space:o,type:a}=e;return reactNative.StyleSheet.create({container:{gap:o.sm,paddingHorizontal:o.lg,paddingVertical:o.md},row:{flexDirection:"row",alignItems:"flex-start",gap:o.md,borderRadius:t.md,borderWidth:1,borderColor:r.brandBorder,backgroundColor:r.surface,paddingHorizontal:o.lg,paddingVertical:o.lg},rowChecked:{borderColor:r.brandInk,backgroundColor:r.brandSoft},box:{width:24,height:24,borderRadius:t.xs,borderWidth:1,borderColor:r.brandBorder,backgroundColor:r.surface,alignItems:"center",justifyContent:"center"},boxChecked:{borderColor:r.brandInk,backgroundColor:r.brand},tick:{...O(e,"bold"),fontSize:a.size.caption,color:r.text.onBrand},copy:{flex:1,gap:o.xs},title:{...O(e,"bold"),fontSize:a.size.body,lineHeight:Math.round(a.size.body*a.lineHeight.snug),color:r.text.primary},body:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.text.secondary},footnote:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.text.muted},notice:{gap:o.xs,paddingTop:o.xs},noticeText:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.errorRed},retry:{alignSelf:"flex-start",minHeight:44,justifyContent:"center"},retryLabel:{...O(e,"bold"),fontSize:a.size.caption,color:r.linkInk}})}n(Tt,"makeStyles");exports.CONSENT_COPY=S;exports.CONSENT_SCOPE_COPY=$;exports.CONSENT_VERSION_MAX=oe;exports.EVERFUR_CONSENT_SCOPES=M;exports.EverfurConsentToggle=Rt;exports.consentRowView=Q;exports.createConsentRepository=ae;exports.createConsentRepositoryOver=De;exports.isEverfurConsentScope=H;exports.useEverfurConsent=de;exports.useEverfurConsentRepository=Ve;
|
package/dist/consent/index.d.cts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
-
import { E as EverfurConsentScope } from '../copy-
|
|
4
|
-
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-
|
|
3
|
+
import { E as EverfurConsentScope } from '../copy-BEx5F71o.cjs';
|
|
4
|
+
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-BEx5F71o.cjs';
|
|
5
5
|
import { E as EverfurError } from '../EverfurError-DmELDpXp.cjs';
|
|
6
6
|
export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError-DmELDpXp.cjs';
|
|
7
|
-
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity-
|
|
8
|
-
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-
|
|
7
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity-DUlshgow.cjs';
|
|
8
|
+
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-Daa1plhQ.cjs';
|
|
9
9
|
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids-B2GAAifq.cjs';
|
|
10
10
|
export { E as EverfurResult } from '../EverfurResult-ZtH-YV1h.cjs';
|
|
11
11
|
export { E as ErrorPolicyPort } from '../ErrorPolicyPort-D6CybiqJ.cjs';
|
|
12
|
-
import '../requestFunnel-
|
|
12
|
+
import '../requestFunnel-DMR_1T3O.cjs';
|
|
13
13
|
|
|
14
14
|
interface EverfurConsentToggleProps {
|
|
15
15
|
/** Which act this row is. One row is one act; two acts are two rows, never one switch. */
|
package/dist/consent/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
-
import { E as EverfurConsentScope } from '../copy-
|
|
4
|
-
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-
|
|
3
|
+
import { E as EverfurConsentScope } from '../copy-Cl1l-qmY.js';
|
|
4
|
+
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-Cl1l-qmY.js';
|
|
5
5
|
import { E as EverfurError } from '../EverfurError-DmELDpXp.js';
|
|
6
6
|
export { a as EverfurErrorCategory, b as EverfurErrorCode } from '../EverfurError-DmELDpXp.js';
|
|
7
|
-
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity-
|
|
8
|
-
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-
|
|
7
|
+
export { A as AuthContext, I as IdentityProvider, M as MintedToken, T as TokenProvider } from '../identity-BhT7oJDS.js';
|
|
8
|
+
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-BM0sv5jx.js';
|
|
9
9
|
export { B as Brand, C as ConversationId, P as PetRef, R as RecordsRequestId, U as UserRef, _ as __brand } from '../ids-B2GAAifq.js';
|
|
10
10
|
export { E as EverfurResult } from '../EverfurResult-SGvHKsCB.js';
|
|
11
11
|
export { E as ErrorPolicyPort } from '../ErrorPolicyPort-D22LUVrK.js';
|
|
12
|
-
import '../requestFunnel-
|
|
12
|
+
import '../requestFunnel-CiSX2pun.js';
|
|
13
13
|
|
|
14
14
|
interface EverfurConsentToggleProps {
|
|
15
15
|
/** Which act this row is. One row is one act; two acts are two rows, never one switch. */
|
package/dist/consent/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {createContext,forwardRef,useMemo,useState,useRef,useCallback,useEffect,createElement,useContext,Component}from'react';import {TextInput,View,Pressable,ActivityIndicator,StyleSheet,Text}from'react-native';import {jsxs,jsx}from'react/jsx-runtime';var ir=Object.defineProperty;var n=(e,r)=>ir(e,"name",{value:r,configurable:true});var sr=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function O(e,r){let t=e.type,o=t.families[r];return r==="mono"||t.namedFaces[r]?{fontFamily:o}:{fontFamily:o,fontWeight:t.weight[sr[r]]}}n(O,"face");var S=Object.freeze({loading:"Loading",retry:"Try again",signedOut:"Sign in required",changeable:"You can change this at any time.",saving:"Saving"}),$=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 Q(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(Q,"consentRowView");var X=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(X.map(e=>e.wireCode));var lr=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"}),be=Object.freeze(X.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:lr[e.wireCode]}))),ur=new Map(be.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),dr=Object.freeze(["http_envelope",...[...new Set(be.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function q(e,r){if(typeof e!="string")return;let t=e.trim().toUpperCase();if(t.length!==0)for(let o of [r??"http_envelope",...dr]){let a=ur.get(o+t);if(a)return a}}n(q,"contractErrorFor");function cr(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}n(cr,"contractDocUrl");function ge(e){return null}n(ge,"publishedDocUrl");var pr=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 he(e){return pr[e]}n(he,"categoryFor");function _e(e){let r=q(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":case "TELEVETRATELIMITED":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";case "NOTFOUND":case "CONVERSATIONNOTFOUND":return "conversationNotFound";case "PETNOTFOUND":return "petNotFound";case "TIMEOUT":case "STREAMTIMEOUT":return "streamTimeout";case "MEDIAUPLOADFAILED":case "UNRECOGNIZEDVIDEOFORMAT":case "FILETOOSMALL":return "mediaUploadFailed";case "MODERATIONBLOCKED":return "moderationBlocked";case "UPSTREAMLLMTIMEOUT":return "upstreamLlmTimeout";case "INTERNALERROR":case "INTERNALSERVERERROR":return "internalError";case "STREAMINCOMPLETE":case "CHATSTREAMINCOMPLETE":return "streamIncomplete";case "INVALIDANALYSISTYPE":case "INVALIDUPLOADPURPOSE":return "unknown";default:return "unknown"}}n(_e,"fromWire");var fr=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function J(e){return fr.has(e)}n(J,"isAutoRetryable");var yr=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function Ce(e){return J(e)||yr.has(e)}n(Ce,"isRetryableCode");var mr=500,Z=8e3,Re=4;function Te(e,r=Math.random){let t=Math.max(0,e),o=Math.min(mr*2**t,Z);return Math.floor(r()*o)}n(Te,"backoffDelayMs");var vr=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 Er(e){return vr[e]}n(Er,"userFacingError");function Se(e,r,t){Object.defineProperty(e,r,{value:t,enumerable:false,writable:false,configurable:false});}n(Se,"defineHidden");var br=/^[a-z][a-z0-9_]{0,63}$/;function w(e,r){let t=q(r?.wireCode,r?.wireEnvelope),o={code:e,category:he(e),retryable:r?.retryable??Ce(e),displayMessage:Er(e)};if(r?.httpStatus!==void 0&&(o.httpStatus=r.httpStatus),r?.requestId&&(o.requestId=r.requestId),typeof r?.reasonCode=="string"&&br.test(r.reasonCode)&&(o.reasonCode=r.reasonCode),t);return r?.wireMessage&&Se(o,"wireMessage",r.wireMessage),r?.raw!==void 0&&r.raw!==null&&Se(o,"raw",r.raw),Object.freeze(o)}n(w,"makeEverfurError");function ee(e,r){return Object.freeze(r===void 0?{ok:true,value:e}:{ok:true,value:e,warning:r})}n(ee,"ok");function p(e){return Object.freeze({ok:false,error:e})}n(p,"err");var V=class V extends Error{constructor(r,t){super(t),this.name="EverfurConfigError",this.kind=r,Object.setPrototypeOf(this,V.prototype);}};n(V,"EverfurConfigError");var j=V;function we(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(we,"errorFrame");function _r(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(_r,"authHeaders");function N(e,r){return {...e,headers:{...Cr(e.headers),..._r(r)}}}n(N,"withAuthHeaders");function Cr(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(Cr,"stripAuthHeaders");async function xe(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 p(re())}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 p(re())}let l=await r.transport.request(N(e,{mode:"personalized",token:a,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));return !l.ok&&l.error.httpStatus===401?p(re(l.error.httpStatus)):l}n(xe,"authedSend");function re(e){return w("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}n(re,"authRejectedError");function Fe(e){return w("internalError",{retryable:true,wireMessage:Rr(e)})}n(Fe,"networkError");function Rr(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}n(Rr,"describeCause");var Tr=3e4,Sr=Z*2,wr="idempotency-key",xr=new Set(["POST","PUT","PATCH","DELETE"]),Fr=Object.freeze({onEvent(){}}),kr=Object.freeze({setTimeout:n((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:n(e=>clearTimeout(e),"clearTimeout"),now:n(()=>Date.now(),"now")});function Or(e){let r=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return r.length===0?null:`efs_${r}`.slice(0,128)}n(Or,"seededIdempotencyKey");function Oe(e){let r=e.observer??Fr,t=e.timers??kr,o=e.rng??Math.random,a=e.sleep??((v,d)=>Hr(v,t,d)),l=e.maxAttempts??Re,i=e.unaryTimeoutMs??Tr,f=e.newIdempotencyKey??Ar(),s=n(v=>{try{r.onEvent(v);}catch{}},"emit");async function m(v,d,c){let y=c?.maxAttempts,C=Math.max(1,y??l),x=c?.idempotent??xr.has(d.method),R=c?.idempotencyKey===void 0?null:Or(c.idempotencyKey),u=x?R??f():null,g=Ir(d,u),h=0;for(;;){let T=n(G=>Object.freeze({call:v,method:d.method,path:d.path,attempt:h,...u?{idempotencyKey:u}:{},...G}),"stamp");s(T({phase:"attempt"}));let z=qr(i,t),U=Vr(z.signal,d.signal),D;try{D=await xe({...g,signal:U.signal},e.auth);}catch(G){D=p(Fe(G));}finally{U.dispose(),z.cancel();}if(D.ok)return s(T({phase:"settled",ok:true,reason:"ok"})),D;let F=D.error,B=zr(F,h,{maxAttempts:C,rng:o,now:t.now(),aborted:d.signal?.aborted===true,...y!==void 0?{perCallMaxAttempts:y}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),W={ok:false,code:F.code,reason:B.reason,...F.httpStatus!==void 0?{httpStatus:F.httpStatus}:{},...F.requestId!==void 0?{requestId:F.requestId}:{}};if(!B.retry)return s(T({phase:"settled",...W})),p(F);if(s(T({phase:"retry",...W,delayMs:B.delayMs})),await a(B.delayMs,d.signal),d.signal?.aborted===true)return s(T({phase:"settled",...W,reason:"aborted"})),p(F);h+=1;}}n(m,"send");async function k(v){return N(v,await Br(e.auth))}n(k,"authorize");async function*_(v,d,c){s(Object.freeze({call:v,phase:"stream.open",method:d.method,path:d.path,attempt:0}));try{yield*e.auth.transport.stream(d,c);}catch{yield we({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return n(_,"stream"),Object.freeze({send:m,authorize:k,stream:_})}n(Oe,"createRequestFunnel");function Ir(e,r){let t={};for(let[o,a]of Object.entries(e.headers??{}))o.toLowerCase()!==wr&&(t[o]=a);return r!==null&&(t["Idempotency-Key"]=r),{...e,headers:t}}n(Ir,"assembleHeaders");function Ar(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}n(Ar,"defaultIdempotencyKeyFactory");var Pr=10;function zr(e,r,t){if(t.aborted)return {retry:false,reason:"aborted"};let o=Dr(e);if(o==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(o!=="burst"&&!J(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 i=n(()=>{if(t.policy===void 0)return null;let m;try{m=t.policy.maxAttempts(e.code);}catch{return null}return typeof m!="number"||!Number.isFinite(m)?null:Math.max(1,Math.min(Pr,Math.floor(m)))},"policyCeiling"),f=t.perCallMaxAttempts??i()??t.maxAttempts;if(r+1>=f)return {retry:false,reason:"attempts-exhausted"};let s=jr(e,t.now);return s!==null?s>Sr?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:a,delayMs:s}:{retry:true,reason:a,delayMs:Te(r,t.rng)}}n(zr,"decideRetry");function Dr(e){let r=e.code==="unknown"?_e(Ur(e.raw)):e.code;return r==="quotaExceeded"?"quota":r==="rateLimited"||e.httpStatus===429?"burst":null}n(Dr,"throttleKind");function jr(e,r){let t=Mr(e.raw);if(t!==null){let a=t-r;return a>0?a:0}let o=Nr(e.raw);return o===null?null:Math.round(o*1e3)}n(jr,"retryOverrideMs");function Nr(e){for(let r of te(e)){let t=r.retry_after_seconds;if(typeof t=="number"&&Number.isFinite(t)&&t>=0)return t}return null}n(Nr,"findRetryAfterSeconds");function Mr(e){for(let r of te(e)){let t=r.resets_at,o=Lr(t);if(o!==null)return o}return null}n(Mr,"findResetsAt");function te(e){if(!ke(e))return [];let r=[e];for(let t of ["error","detail"]){let o=e[t];ke(o)&&r.push(o);}return r}n(te,"candidateScopes");function Lr(e){if(typeof e=="number"&&Number.isFinite(e))return e<1e11?Math.round(e*1e3):Math.round(e);if(typeof e=="string"&&e.trim().length>0){let r=Date.parse(e);return Number.isFinite(r)?r:null}return null}n(Lr,"parseInstantMs");function Ur(e){for(let r of te(e)){let t=r.code;if(typeof t=="string"&&t.length>0)return t}return null}n(Ur,"rawWireCode");function ke(e){return typeof e=="object"&&e!==null}n(ke,"isRecord");async function Br(e){return e.mode==="anonymous"?{mode:"anonymous",publishableKey:e.publishableKey,userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}:{mode:"personalized",token:await e.identity.currentToken(),userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}}n(Br,"resolveDeviceAuth");function qr(e,r){let t=new AbortController,o=r.setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:n(()=>r.clearTimeout(o),"cancel")}}n(qr,"boundedSignal");function Vr(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(Vr,"mergeSignals");function Hr(e,r,t){return e<=0||t?.aborted===true?Promise.resolve():new Promise(o=>{let a=r.setTimeout(()=>{t?.removeEventListener("abort",l),o();},e),l=n(()=>{r.clearTimeout(a),o();},"onAbort");t?.addEventListener("abort",l,{once:true});})}n(Hr,"delayAbortable");var Ie="/widget/v1/consent",M=Object.freeze(["transcript_exposure","partner_context"]),Ae="records_content",oe=64,Yr=new Set(M);function H(e){return typeof e=="string"&&Yr.has(e)}n(H,"isEverfurConsentScope");function P(e){return w("validationFailed",{retryable:false,wireMessage:e})}n(P,"invalid");function je(e){return H(e)?null:P(e===Ae?`'${Ae}' 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 ${M.join(", ")}`)}n(je,"validateScope");function Kr(e){if(typeof e!="object"||e===null)return P("write needs a decision object");let{scope:r,granted:t,consentVersion:o}=e,a=je(r);return a!==null?a:typeof t!="boolean"?P("granted must be true to grant or false to withdraw"):o!==void 0&&(typeof o!="string"||o.length===0||o.length>oe)?P(`consentVersion must be 1..${oe} characters`):null}n(Kr,"validateDecision");var ne=n(e=>typeof e=="string"&&e.length>0?e:null,"str");function Pe(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:ne(t.consent_version),actor:ne(t.actor),recordedAt:ne(t.recorded_at)})}n(Pe,"verdictFromWire");function ze(e){return w("internalError",{retryable:false,httpStatus:502,wireMessage:`${e}: the response carried no granted/has_decision pair`})}n(ze,"malformed");function De(e){return P(`the Everfur runtime is disposed; ${e} was called after unmount`)}n(De,"disposed");function ae(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(p(De("read"))):r().read(t,o),"read"),write:n((t,o)=>e.isDisposed?Promise.resolve(p(De("write"))):r().write(t,o),"write")}}n(ae,"createConsentRepository");function Ne(e){let r=e.funnel??Oe({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=n((o,a)=>a?{...o,signal:a}:o,"withSignal");return {async read(o,a){let l=je(o);if(l!==null)return p(l);let i=await r.send("consent.read",t({method:"GET",path:Ie,query:{scope:o}},a?.signal));if(!i.ok)return p(i.error);let f=Pe(i.value,o);return f===null?p(ze("consent.read")):ee(f)},async write(o,a){let l=Kr(o);if(l!==null)return p(l);let i={scope:o.scope,granted:o.granted};o.consentVersion!==void 0&&(i.consent_version=o.consentVersion);let f=await r.send("consent.write",t({method:"PUT",path:Ie,body:i},a?.signal));if(!f.ok)return p(f.error);let s=Pe(f.value,o.scope);return s===null?p(ze("consent.write")):ee(s)}}}n(Ne,"createConsentRepositoryOver");var Me=Symbol.for("@everfur/sdk#EverfurContext@v1"),Le=globalThis,Ue=Le[Me]??(Le[Me]=createContext(null));Ue.displayName??="EverfurContext";function ie(){let e=useContext(Ue);if(e===null)throw new j("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}n(ie,"useEverfurContext");function le(e,r){return Object.freeze({scope:e,granted:false,hasDecision:false,consentVersion:null,recordedAt:null,loaded:false,saving:false,error:r})}n(le,"blank");function qe(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(qe,"settled");function Xr(){return w("sessionRequired",{retryable:false,wireMessage:"a consent decision is authored by the member; sign a user in on the provider first"})}n(Xr,"noMember");function Ve(){let{runtime:e}=ie();return useMemo(()=>ae(e),[e])}n(Ve,"useEverfurConsentRepository");function de(e){let{userRef:r}=ie(),t=Ve(),o=(e?.scopes??[]).filter(H).join(","),a=useMemo(()=>{let c=o.length===0?[]:o.split(",");return c.length===0?M:Object.freeze(c)},[o]),[l,i]=useState(r===null?"signed_out":"loading"),[f,s]=useState([]),[m,k]=useState(null),_=useRef(0),v=useCallback(async()=>{if(r===null){_.current+=1,i("signed_out"),s([]),k(null);return}let c=_.current+=1;i("loading"),k(null);let y=await Promise.all(a.map(u=>t.read(u)));if(c!==_.current)return;let C=y.map((u,g)=>{let h=a[g];return u.ok?qe(u.value):le(h,u.error)}),x=y.find(u=>!u.ok),R=y.every(u=>!u.ok);s(Object.freeze(C)),i(R?"failed":"ready"),k(R&&x!==void 0&&!x.ok?x.error:null);},[t,a,r]);useEffect(()=>{v();},[v]);let d=useCallback(async(c,y)=>{if(r===null)return p(Xr());let C=_.current,x=null;s(u=>{let g=u.findIndex(U=>U.scope===c),h=g===-1?le(c,null):u[g];x=h;let T=Object.freeze({...h,granted:y,hasDecision:true,saving:true,error:null});if(g===-1)return Object.freeze([...u,T]);let z=[...u];return z[g]=T,Object.freeze(z)});let R=await t.write({scope:c,granted:y});return C!==_.current||s(u=>{let g=u.findIndex(T=>T.scope===c);if(g===-1)return u;let h=[...u];return h[g]=R.ok?qe(R.value):Object.freeze({...x??le(c,null),saving:false,error:R.error}),Object.freeze(h)}),R},[t,r]);return useMemo(()=>({status:l,scopes:f,error:m,setConsent:d,refresh:v}),[l,f,m,d,v])}n(de,"useEverfurConsent");function He(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}n(He,"reportHostFailure");function Jr(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}n(Jr,"isThenable");function Zr(e,...r){if(typeof e=="function")try{let t=e(...r);return Jr(t)&&Promise.resolve(t).then(void 0,He),t}catch(t){He(t);return}}n(Zr,"callHost");var Ye=new WeakMap;function et(e){if(typeof e!="function")return;let r=Ye.get(e);if(r!==void 0)return r;let t=n((...o)=>{Zr(e,...o);},"guarded");return Ye.set(e,t),t}n(et,"guardHost");function Ke(e,r){let t=null;for(let o of r){let a=e[o];typeof a=="function"&&(t??={...e},t[o]=et(a));}return t??e}n(Ke,"guardHostProps");var pe=class pe 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(pe,"HostRenderBoundary");var ce=pe;function tt({render:e}){return e()}n(tt,"RenderHost");function Ge({render:e,fallback:r,resetKey:t}){return createElement(ce,{fallback:r,resetKey:t,children:createElement(tt,{render:e})})}n(Ge,"HostRender");function me(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))me(e[r]);}return e}n(me,"deepFreeze");var nt=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Qe={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Xe={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},$e={nano:8,small:9,micro:10,tiny:11,caption:12,bodyTight:13,body:14,subtitle:16,heading:18,verdict:24},ot={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},at={regular:"400",medium:"500",bold:"700"},it={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},st=0,Y="System",K="monospace",lt=["content","heading","control","compact","badge"];function ut(e){let r={};for(let t of lt)r[t]=e;return r}n(ut,"authoredTierSizes");function Je(){return {family:Y,mono:K,fontUrl:null,families:{regular:Y,medium:Y,bold:Y,mono:K,monoMedium:K,monoBold:K},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:$e,tierSizes:ut($e),lineHeight:ot,weight:at,letterSpacing:it,scale:1,maxScale:st,scaleCaps:nt}}n(Je,"baseType");var Ze={},fe=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function ye(e){return `cubic-bezier(${e.join(", ")})`}n(ye,"cssCubicBezier");var er={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:ye(fe.standard),emphasized:ye(fe.emphasized),exit:ye(fe.exit)},reducedMotion:false},dt={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FDFBF8",surfaceSubtle:"#EFE9E3",background:"#FFFFFF",borderRingCream:"#D8D2C8",chatGround:"#FFFFFF",composerFill:"#FDFBF8",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#111111",secondary:"#0E462E",muted:"#6E6660",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#B91C1C",onDanger:"#FFFFFF",errorRed:"#CC1600",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(185,28,28,0.12)",badgeBgNeutral:"rgba(110,102,96,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#111111",skeleton:"#EFE9E3",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},rr=me({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:dt,space:Qe,radius:Xe,type:Je(),motion:er,slots:Ze}),ct={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A938C",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",onDanger:"#0E1F17",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",bubbleVet:"#FFC3BC",onBubbleVet:"#111111",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};me({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:ct,space:Qe,radius:Xe,type:Je(),motion:er,slots:Ze});var tr=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),nr=globalThis,ve=nr[tr]??(nr[tr]=createContext(rr));ve.displayName??="EverfurThemeContext";function L(){return useContext(ve)}n(L,"useEverfurTheme");function Et(e,r){let t=e.scaleCaps[r];return t>0?t:void 0}n(Et,"tierMultiplier");function b({tier:e="content",...r}){let{type:t}=L(),o=Et(t,e);return createElement(Text,o===void 0?r:{maxFontSizeMultiplier:o,...r})}n(b,"Text");forwardRef(n(function(r,t){return createElement(TextInput,{...r,...t===null?{}:{ref:t}})},"TextInput"));function Rt(e){let{scope:r,onChange:t,renderNotice:o,style:a}=Ke(e,["onChange"]),l=L(),i=useMemo(()=>Tt(l),[l]),f=de({scopes:[r]}),s=Q(f,r),m=$[r],[k,_]=useState(null),v=useCallback(async y=>{_(y);let C=await f.setConsent(r,y);C.ok&&(_(null),t?.(C.value.granted));},[f,t,r]),d=n((y,C)=>jsxs(View,{style:i.notice,children:[jsx(Ge,{resetKey:y,render:()=>o?o(y):jsx(b,{style:i.noticeText,children:y.displayMessage}),fallback:jsx(b,{style:i.noticeText,children:y.displayMessage})}),jsx(Pressable,{onPress:C,accessibilityRole:"button",accessibilityLabel:S.retry,style:i.retry,children:jsx(b,{tier:"control",style:i.retryLabel,children:S.retry})})]}),"notice");if(s.kind==="signedOut")return jsxs(View,{style:[i.container,a],accessible:true,accessibilityRole:"text",accessibilityLabel:S.signedOut,children:[jsx(b,{style:i.title,children:m.title}),jsx(b,{style:i.body,children:S.signedOut})]});if(s.kind==="loading")return jsxs(View,{style:[i.container,a],accessible:true,accessibilityRole:"progressbar",accessibilityLabel:S.loading,children:[jsx(b,{style:i.title,children:m.title}),jsx(ActivityIndicator,{color:l.color.brandInk})]});if(s.kind==="failed")return jsxs(View,{style:[i.container,a],children:[jsx(b,{style:i.title,children:m.title}),d(s.error,()=>{f.refresh();})]});let c=`${m.title}. ${m.body(l.meta.displayName)}`;return jsxs(View,{style:[i.container,a],children:[jsxs(Pressable,{onPress:()=>{s.saving||v(!s.granted);},disabled:s.saving,accessibilityRole:"checkbox",accessibilityState:{checked:s.granted,disabled:s.saving},accessibilityLabel:c,accessibilityHint:s.saving?S.saving:void 0,hitSlop:{top:6,bottom:6,left:6,right:6},style:[i.row,s.granted?i.rowChecked:null],children:[jsx(View,{style:[i.box,s.granted?i.boxChecked:null],accessibilityElementsHidden:true,importantForAccessibility:"no",children:s.granted?jsx(b,{style:i.tick,children:"\u2713"}):null}),jsxs(View,{style:i.copy,children:[jsx(b,{style:i.title,children:m.title}),jsx(b,{style:i.body,children:m.body(l.meta.displayName)}),jsx(b,{style:i.footnote,children:S.changeable})]})]}),s.error===null?null:d(s.error,()=>{v(k??!s.granted);})]})}n(Rt,"EverfurConsentToggle");function Tt(e){let{color:r,radius:t,space:o,type:a}=e;return StyleSheet.create({container:{gap:o.sm,paddingHorizontal:o.lg,paddingVertical:o.md},row:{flexDirection:"row",alignItems:"flex-start",gap:o.md,borderRadius:t.md,borderWidth:1,borderColor:r.brandBorder,backgroundColor:r.surface,paddingHorizontal:o.lg,paddingVertical:o.lg},rowChecked:{borderColor:r.brandInk,backgroundColor:r.brandSoft},box:{width:24,height:24,borderRadius:t.xs,borderWidth:1,borderColor:r.brandBorder,backgroundColor:r.surface,alignItems:"center",justifyContent:"center"},boxChecked:{borderColor:r.brandInk,backgroundColor:r.brand},tick:{...O(e,"bold"),fontSize:a.size.caption,color:r.text.onBrand},copy:{flex:1,gap:o.xs},title:{...O(e,"bold"),fontSize:a.size.body,lineHeight:Math.round(a.size.body*a.lineHeight.snug),color:r.text.primary},body:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.text.secondary},footnote:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.text.muted},notice:{gap:o.xs,paddingTop:o.xs},noticeText:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.errorRed},retry:{alignSelf:"flex-start",minHeight:44,justifyContent:"center"},retryLabel:{...O(e,"bold"),fontSize:a.size.caption,color:r.linkInk}})}n(Tt,"makeStyles");export{S as CONSENT_COPY,$ as CONSENT_SCOPE_COPY,oe as CONSENT_VERSION_MAX,M as EVERFUR_CONSENT_SCOPES,Rt as EverfurConsentToggle,Q as consentRowView,ae as createConsentRepository,Ne as createConsentRepositoryOver,H as isEverfurConsentScope,de as useEverfurConsent,Ve as useEverfurConsentRepository};
|
|
1
|
+
import {createContext,forwardRef,useMemo,useState,useRef,useCallback,useEffect,createElement,useContext,Component}from'react';import {TextInput,View,Pressable,ActivityIndicator,StyleSheet,Text}from'react-native';import {jsxs,jsx}from'react/jsx-runtime';var ir=Object.defineProperty;var n=(e,r)=>ir(e,"name",{value:r,configurable:true});var sr=Object.freeze({regular:"regular",medium:"medium",bold:"bold",mono:"regular",monoMedium:"medium",monoBold:"bold"});function O(e,r){let t=e.type,o=t.families[r];return r==="mono"||t.namedFaces[r]?{fontFamily:o}:{fontFamily:o,fontWeight:t.weight[sr[r]]}}n(O,"face");var S=Object.freeze({loading:"Loading",retry:"Try again",signedOut:"Sign in required",changeable:"You can change this at any time.",saving:"Saving"}),$=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 Q(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(Q,"consentRowView");var X=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(X.map(e=>e.wireCode));var lr=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"}),be=Object.freeze(X.map(e=>Object.freeze({wireCode:e.wireCode,envelope:e.envelope,retryable:e.retryable,normalized:lr[e.wireCode]}))),ur=new Map(be.map(e=>[e.envelope+e.wireCode.toUpperCase(),e])),dr=Object.freeze(["http_envelope",...[...new Set(be.map(e=>e.envelope))].filter(e=>e!=="http_envelope").sort()]);function q(e,r){if(typeof e!="string")return;let t=e.trim().toUpperCase();if(t.length!==0)for(let o of [r??"http_envelope",...dr]){let a=ur.get(o+t);if(a)return a}}n(q,"contractErrorFor");function cr(e){return e.envelope==="sse_frame"?`/errors#sse-${e.wireCode}`:e.envelope==="oauth_error"?`/errors#oauth-${e.wireCode}`:`/errors#${e.wireCode}`}n(cr,"contractDocUrl");function ge(e){return null}n(ge,"publishedDocUrl");var pr=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 he(e){return pr[e]}n(he,"categoryFor");function _e(e){let r=q(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":case "TELEVETRATELIMITED":return "rateLimited";case "IDEMPOTENCYKEYCONFLICT":case "IDEMPOTENCYCONFLICT":return "idempotencyConflict";case "ACCESSDENIED":case "FORBIDDEN":return "accessDenied";case "NOTFOUND":case "CONVERSATIONNOTFOUND":return "conversationNotFound";case "PETNOTFOUND":return "petNotFound";case "TIMEOUT":case "STREAMTIMEOUT":return "streamTimeout";case "MEDIAUPLOADFAILED":case "UNRECOGNIZEDVIDEOFORMAT":case "FILETOOSMALL":return "mediaUploadFailed";case "MODERATIONBLOCKED":return "moderationBlocked";case "UPSTREAMLLMTIMEOUT":return "upstreamLlmTimeout";case "INTERNALERROR":case "INTERNALSERVERERROR":return "internalError";case "STREAMINCOMPLETE":case "CHATSTREAMINCOMPLETE":return "streamIncomplete";case "INVALIDANALYSISTYPE":case "INVALIDUPLOADPURPOSE":return "unknown";default:return "unknown"}}n(_e,"fromWire");var fr=new Set(["streamTimeout","rateLimited","internalError","upstreamLlmTimeout","streamIncomplete"]);function J(e){return fr.has(e)}n(J,"isAutoRetryable");var yr=new Set(["serviceUnavailable","conflict","idempotencyInFlight"]);function Ce(e){return J(e)||yr.has(e)}n(Ce,"isRetryableCode");var mr=500,Z=8e3,Re=4;function Te(e,r=Math.random){let t=Math.max(0,e),o=Math.min(mr*2**t,Z);return Math.floor(r()*o)}n(Te,"backoffDelayMs");var vr=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 Er(e){return vr[e]}n(Er,"userFacingError");function Se(e,r,t){Object.defineProperty(e,r,{value:t,enumerable:false,writable:false,configurable:false});}n(Se,"defineHidden");var br=/^[a-z][a-z0-9_]{0,63}$/;function w(e,r){let t=q(r?.wireCode,r?.wireEnvelope),o={code:e,category:he(e),retryable:r?.retryable??Ce(e),displayMessage:Er(e)};if(r?.httpStatus!==void 0&&(o.httpStatus=r.httpStatus),r?.requestId&&(o.requestId=r.requestId),typeof r?.reasonCode=="string"&&br.test(r.reasonCode)&&(o.reasonCode=r.reasonCode),t);return r?.wireMessage&&Se(o,"wireMessage",r.wireMessage),r?.raw!==void 0&&r.raw!==null&&Se(o,"raw",r.raw),Object.freeze(o)}n(w,"makeEverfurError");function ee(e,r){return Object.freeze(r===void 0?{ok:true,value:e}:{ok:true,value:e,warning:r})}n(ee,"ok");function p(e){return Object.freeze({ok:false,error:e})}n(p,"err");var V=class V extends Error{constructor(r,t){super(t),this.name="EverfurConfigError",this.kind=r,Object.setPrototypeOf(this,V.prototype);}};n(V,"EverfurConfigError");var N=V;function we(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(we,"errorFrame");function _r(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(_r,"authHeaders");function D(e,r){return {...e,headers:{...Cr(e.headers),..._r(r)}}}n(D,"withAuthHeaders");function Cr(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(Cr,"stripAuthHeaders");async function xe(e,r){if(r.mode==="anonymous")return r.transport.request(D(e,{mode:"anonymous",publishableKey:r.publishableKey,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));let t;try{t=await r.identity.currentToken();}catch{return p(re())}let o=await r.transport.request(D(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 p(re())}let l=await r.transport.request(D(e,{mode:"personalized",token:a,userRef:r.userRef,...r.sessionId?{sessionId:r.sessionId}:{}}));return !l.ok&&l.error.httpStatus===401?p(re(l.error.httpStatus)):l}n(xe,"authedSend");function re(e){return w("authRejected",{retryable:false,...e!==void 0?{httpStatus:e}:{}})}n(re,"authRejectedError");function Fe(e){return w("internalError",{retryable:true,wireMessage:Rr(e)})}n(Fe,"networkError");function Rr(e){return e instanceof Error?e.message:typeof e=="string"?e:"network request failed"}n(Rr,"describeCause");var Tr=3e4,Sr=Z*2,wr="idempotency-key",xr=new Set(["POST","PUT","PATCH","DELETE"]),Fr=Object.freeze({onEvent(){}}),kr=Object.freeze({setTimeout:n((e,r)=>setTimeout(e,r),"setTimeout"),clearTimeout:n(e=>clearTimeout(e),"clearTimeout"),now:n(()=>Date.now(),"now")});function Or(e){let r=e.trim().replace(/[^A-Za-z0-9_.:-]/g,"-");return r.length===0?null:`efs_${r}`.slice(0,128)}n(Or,"seededIdempotencyKey");function Oe(e){let r=e.observer??Fr,t=e.timers??kr,o=e.rng??Math.random,a=e.sleep??((v,d)=>Hr(v,t,d)),l=e.maxAttempts??Re,i=e.unaryTimeoutMs??Tr,f=e.newIdempotencyKey??Ir(),s=n(v=>{try{r.onEvent(v);}catch{}},"emit");async function m(v,d,c){let y=c?.maxAttempts,C=Math.max(1,y??l),x=c?.idempotent??xr.has(d.method),R=c?.idempotencyKey===void 0?null:Or(c.idempotencyKey),u=x?R??f():null,g=Ar(d,u),h=0;for(;;){let T=n(G=>Object.freeze({call:v,method:d.method,path:d.path,attempt:h,...u?{idempotencyKey:u}:{},...G}),"stamp");s(T({phase:"attempt"}));let z=qr(i,t),U=Vr(z.signal,d.signal),j;try{j=await xe({...g,signal:U.signal},e.auth);}catch(G){j=p(Fe(G));}finally{U.dispose(),z.cancel();}if(j.ok)return s(T({phase:"settled",ok:true,reason:"ok"})),j;let F=j.error,B=zr(F,h,{maxAttempts:C,rng:o,now:t.now(),aborted:d.signal?.aborted===true,...y!==void 0?{perCallMaxAttempts:y}:{},...e.errorPolicy!==void 0?{policy:e.errorPolicy}:{}}),W={ok:false,code:F.code,reason:B.reason,...F.httpStatus!==void 0?{httpStatus:F.httpStatus}:{},...F.requestId!==void 0?{requestId:F.requestId}:{}};if(!B.retry)return s(T({phase:"settled",...W})),p(F);if(s(T({phase:"retry",...W,delayMs:B.delayMs})),await a(B.delayMs,d.signal),d.signal?.aborted===true)return s(T({phase:"settled",...W,reason:"aborted"})),p(F);h+=1;}}n(m,"send");async function k(v){return D(v,await Br(e.auth))}n(k,"authorize");async function*_(v,d,c){s(Object.freeze({call:v,phase:"stream.open",method:d.method,path:d.path,attempt:0}));try{yield*e.auth.transport.stream(d,c);}catch{yield we({code:"internal_error",retryable:true,wireMessage:null,synthesized:true,lastEventId:null,serverRequestId:null});}}return n(_,"stream"),Object.freeze({send:m,authorize:k,stream:_})}n(Oe,"createRequestFunnel");function Ar(e,r){let t={};for(let[o,a]of Object.entries(e.headers??{}))o.toLowerCase()!==wr&&(t[o]=a);return r!==null&&(t["Idempotency-Key"]=r),{...e,headers:t}}n(Ar,"assembleHeaders");function Ir(){let e=0;return ()=>`efk_${Date.now().toString(36)}_${(e++).toString(36)}_${Math.random().toString(36).slice(2,12)}`}n(Ir,"defaultIdempotencyKeyFactory");var Pr=10;function zr(e,r,t){if(t.aborted)return {retry:false,reason:"aborted"};let o=jr(e);if(o==="quota")return {retry:false,reason:"daily-quota-exhausted"};if(o!=="burst"&&!J(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 i=n(()=>{if(t.policy===void 0)return null;let m;try{m=t.policy.maxAttempts(e.code);}catch{return null}return typeof m!="number"||!Number.isFinite(m)?null:Math.max(1,Math.min(Pr,Math.floor(m)))},"policyCeiling"),f=t.perCallMaxAttempts??i()??t.maxAttempts;if(r+1>=f)return {retry:false,reason:"attempts-exhausted"};let s=Nr(e,t.now);return s!==null?s>Sr?{retry:false,reason:"server-reset-beyond-budget"}:{retry:true,reason:a,delayMs:s}:{retry:true,reason:a,delayMs:Te(r,t.rng)}}n(zr,"decideRetry");function jr(e){let r=e.code==="unknown"?_e(Ur(e.raw)):e.code;return r==="quotaExceeded"?"quota":r==="rateLimited"||e.httpStatus===429?"burst":null}n(jr,"throttleKind");function Nr(e,r){let t=Mr(e.raw);if(t!==null){let a=t-r;return a>0?a:0}let o=Dr(e.raw);return o===null?null:Math.round(o*1e3)}n(Nr,"retryOverrideMs");function Dr(e){for(let r of te(e)){let t=r.retry_after_seconds;if(typeof t=="number"&&Number.isFinite(t)&&t>=0)return t}return null}n(Dr,"findRetryAfterSeconds");function Mr(e){for(let r of te(e)){let t=r.resets_at,o=Lr(t);if(o!==null)return o}return null}n(Mr,"findResetsAt");function te(e){if(!ke(e))return [];let r=[e];for(let t of ["error","detail"]){let o=e[t];ke(o)&&r.push(o);}return r}n(te,"candidateScopes");function Lr(e){if(typeof e=="number"&&Number.isFinite(e))return e<1e11?Math.round(e*1e3):Math.round(e);if(typeof e=="string"&&e.trim().length>0){let r=Date.parse(e);return Number.isFinite(r)?r:null}return null}n(Lr,"parseInstantMs");function Ur(e){for(let r of te(e)){let t=r.code;if(typeof t=="string"&&t.length>0)return t}return null}n(Ur,"rawWireCode");function ke(e){return typeof e=="object"&&e!==null}n(ke,"isRecord");async function Br(e){return e.mode==="anonymous"?{mode:"anonymous",publishableKey:e.publishableKey,userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}:{mode:"personalized",token:await e.identity.currentToken(),userRef:e.userRef,...e.sessionId?{sessionId:e.sessionId}:{}}}n(Br,"resolveDeviceAuth");function qr(e,r){let t=new AbortController,o=r.setTimeout(()=>t.abort(),e);return {signal:t.signal,cancel:n(()=>r.clearTimeout(o),"cancel")}}n(qr,"boundedSignal");function Vr(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(Vr,"mergeSignals");function Hr(e,r,t){return e<=0||t?.aborted===true?Promise.resolve():new Promise(o=>{let a=r.setTimeout(()=>{t?.removeEventListener("abort",l),o();},e),l=n(()=>{r.clearTimeout(a),o();},"onAbort");t?.addEventListener("abort",l,{once:true});})}n(Hr,"delayAbortable");var Ae="/widget/v1/consent",M=Object.freeze(["transcript_exposure","partner_context"]),Ie="records_content",oe=64,Yr=new Set(M);function H(e){return typeof e=="string"&&Yr.has(e)}n(H,"isEverfurConsentScope");function P(e){return w("validationFailed",{retryable:false,wireMessage:e})}n(P,"invalid");function Ne(e){return H(e)?null:P(e===Ie?`'${Ie}' 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 ${M.join(", ")}`)}n(Ne,"validateScope");function Kr(e){if(typeof e!="object"||e===null)return P("write needs a decision object");let{scope:r,granted:t,consentVersion:o}=e,a=Ne(r);return a!==null?a:typeof t!="boolean"?P("granted must be true to grant or false to withdraw"):o!==void 0&&(typeof o!="string"||o.length===0||o.length>oe)?P(`consentVersion must be 1..${oe} characters`):null}n(Kr,"validateDecision");var ne=n(e=>typeof e=="string"&&e.length>0?e:null,"str");function Pe(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:ne(t.consent_version),actor:ne(t.actor),recordedAt:ne(t.recorded_at)})}n(Pe,"verdictFromWire");function ze(e){return w("internalError",{retryable:false,httpStatus:502,wireMessage:`${e}: the response carried no granted/has_decision pair`})}n(ze,"malformed");function je(e){return P(`the Everfur runtime is disposed; ${e} was called after unmount`)}n(je,"disposed");function ae(e){let r=n(()=>{let{services:t}=e.registry;return De({auth:t.authFor(null),...t.errorPolicy?{errorPolicy:t.errorPolicy}:{}})},"over");return {read:n((t,o)=>e.isDisposed?Promise.resolve(p(je("read"))):r().read(t,o),"read"),write:n((t,o)=>e.isDisposed?Promise.resolve(p(je("write"))):r().write(t,o),"write")}}n(ae,"createConsentRepository");function De(e){let r=e.funnel??Oe({auth:e.auth,...e.errorPolicy?{errorPolicy:e.errorPolicy}:{}}),t=n((o,a)=>a?{...o,signal:a}:o,"withSignal");return {async read(o,a){let l=Ne(o);if(l!==null)return p(l);let i=await r.send("consent.read",t({method:"GET",path:Ae,query:{scope:o}},a?.signal));if(!i.ok)return p(i.error);let f=Pe(i.value,o);return f===null?p(ze("consent.read")):ee(f)},async write(o,a){let l=Kr(o);if(l!==null)return p(l);let i={scope:o.scope,granted:o.granted};o.consentVersion!==void 0&&(i.consent_version=o.consentVersion);let f=await r.send("consent.write",t({method:"PUT",path:Ae,body:i},a?.signal));if(!f.ok)return p(f.error);let s=Pe(f.value,o.scope);return s===null?p(ze("consent.write")):ee(s)}}}n(De,"createConsentRepositoryOver");var Me=Symbol.for("@everfur/sdk#EverfurContext@v1"),Le=globalThis,Ue=Le[Me]??(Le[Me]=createContext(null));Ue.displayName??="EverfurContext";function ie(){let e=useContext(Ue);if(e===null)throw new N("not-initialized","Everfur hooks must be called inside <EverfurProvider>. Wrap your tree once, high.");return e}n(ie,"useEverfurContext");function le(e,r){return Object.freeze({scope:e,granted:false,hasDecision:false,consentVersion:null,recordedAt:null,loaded:false,saving:false,error:r})}n(le,"blank");function qe(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(qe,"settled");function Xr(){return w("sessionRequired",{retryable:false,wireMessage:"a consent decision is authored by the member; sign a user in on the provider first"})}n(Xr,"noMember");function Ve(){let{runtime:e}=ie();return useMemo(()=>ae(e),[e])}n(Ve,"useEverfurConsentRepository");function de(e){let{userRef:r}=ie(),t=Ve(),o=(e?.scopes??[]).filter(H).join(","),a=useMemo(()=>{let c=o.length===0?[]:o.split(",");return c.length===0?M:Object.freeze(c)},[o]),[l,i]=useState(r===null?"signed_out":"loading"),[f,s]=useState([]),[m,k]=useState(null),_=useRef(0),v=useCallback(async()=>{if(r===null){_.current+=1,i("signed_out"),s([]),k(null);return}let c=_.current+=1;i("loading"),k(null);let y=await Promise.all(a.map(u=>t.read(u)));if(c!==_.current)return;let C=y.map((u,g)=>{let h=a[g];return u.ok?qe(u.value):le(h,u.error)}),x=y.find(u=>!u.ok),R=y.every(u=>!u.ok);s(Object.freeze(C)),i(R?"failed":"ready"),k(R&&x!==void 0&&!x.ok?x.error:null);},[t,a,r]);useEffect(()=>{v();},[v]);let d=useCallback(async(c,y)=>{if(r===null)return p(Xr());let C=_.current,x=null;s(u=>{let g=u.findIndex(U=>U.scope===c),h=g===-1?le(c,null):u[g];x=h;let T=Object.freeze({...h,granted:y,hasDecision:true,saving:true,error:null});if(g===-1)return Object.freeze([...u,T]);let z=[...u];return z[g]=T,Object.freeze(z)});let R=await t.write({scope:c,granted:y});return C!==_.current||s(u=>{let g=u.findIndex(T=>T.scope===c);if(g===-1)return u;let h=[...u];return h[g]=R.ok?qe(R.value):Object.freeze({...x??le(c,null),saving:false,error:R.error}),Object.freeze(h)}),R},[t,r]);return useMemo(()=>({status:l,scopes:f,error:m,setConsent:d,refresh:v}),[l,f,m,d,v])}n(de,"useEverfurConsent");function He(e){let r=globalThis.console;try{r?.error?.("[everfur] A host callback threw; the SDK ignored it.",e);}catch{}}n(He,"reportHostFailure");function Jr(e){return (typeof e=="object"||typeof e=="function")&&e!==null&&typeof e.then=="function"}n(Jr,"isThenable");function Zr(e,...r){if(typeof e=="function")try{let t=e(...r);return Jr(t)&&Promise.resolve(t).then(void 0,He),t}catch(t){He(t);return}}n(Zr,"callHost");var Ye=new WeakMap;function et(e){if(typeof e!="function")return;let r=Ye.get(e);if(r!==void 0)return r;let t=n((...o)=>{Zr(e,...o);},"guarded");return Ye.set(e,t),t}n(et,"guardHost");function Ke(e,r){let t=null;for(let o of r){let a=e[o];typeof a=="function"&&(t??={...e},t[o]=et(a));}return t??e}n(Ke,"guardHostProps");var pe=class pe 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(pe,"HostRenderBoundary");var ce=pe;function tt({render:e}){return e()}n(tt,"RenderHost");function Ge({render:e,fallback:r,resetKey:t}){return createElement(ce,{fallback:r,resetKey:t,children:createElement(tt,{render:e})})}n(Ge,"HostRender");function me(e){if(e!==null&&typeof e=="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.keys(e))me(e[r]);}return e}n(me,"deepFreeze");var nt=Object.freeze({content:0,heading:2,control:1.8,compact:1.5,badge:1.3}),Qe={xs:4,sm:8,md:12,lg:16,xl:24,xxl:32},Xe={tile:5,xs:6,sm:10,md:14,lg:20,xl:28,pill:500},$e={nano:8,small:9,micro:10,tiny:11,caption:13,bodyTight:15,body:17,subtitle:20,heading:22,verdict:24},ot={tight:1.15,snug:1.3,normal:1.4,relaxed:1.55},at={regular:"400",medium:"500",bold:"700"},it={eyebrow:1,monoWide:.9,headerBrand:-0.42,tight:-0.35},st=0,Y="System",K="monospace",lt=["content","heading","control","compact","badge"];function ut(e){let r={};for(let t of lt)r[t]=e;return r}n(ut,"authoredTierSizes");function Je(){return {family:Y,mono:K,fontUrl:null,families:{regular:Y,medium:Y,bold:Y,mono:K,monoMedium:K,monoBold:K},namedFaces:{regular:false,medium:false,bold:false,mono:false,monoMedium:false,monoBold:false},fontUrls:{},size:$e,tierSizes:ut($e),lineHeight:ot,weight:at,letterSpacing:it,scale:1,maxScale:st,scaleCaps:nt}}n(Je,"baseType");var Ze={},fe=Object.freeze({standard:Object.freeze([.2,0,0,1]),emphasized:Object.freeze([.2,.8,.2,1]),exit:Object.freeze([.4,0,1,1])});function ye(e){return `cubic-bezier(${e.join(", ")})`}n(ye,"cssCubicBezier");var er={duration:{instant:80,fast:140,normal:220,slow:320},spring:{gentle:{damping:18,stiffness:200}},easing:{standard:ye(fe.standard),emphasized:ye(fe.emphasized),exit:ye(fe.exit)},reducedMotion:false},dt={brand:"#10462E",brandSoft:"rgba(16,70,46,0.10)",brandSofter:"rgba(16,70,46,0.15)",brandBorder:"rgba(16,70,46,0.18)",borderHairlineGreen:"rgba(16,70,46,0.25)",brandBorderStrong:"rgba(16,70,46,0.55)",brandInk:"#10462E",linkInk:"#10462E",surface:"#FFFFFF",surfaceCream:"#FFFFFF",surfaceSubtle:"#F1F5F2",background:"#FFFFFF",borderRingCream:"#E4E4E4",chatGround:"#FFFFFF",composerFill:"#FFFFFF",composerBorder:"rgba(16,70,46,0.75)",shadow:"#0B3421",text:{primary:"#000000",secondary:"#0E462E",muted:"#6B6B6B",placeholder:"rgba(61,61,61,0.75)",onBrand:"#FFFFFF",metaCool:"#3D3D3D",timestamp:"rgba(61,61,61,0.75)"},primary:"#10462E",onPrimary:"#FFFFFF",accent:"#10462E",onAccent:"#FFFFFF",accentEdge:"#07C168",success:"#07C168",danger:"#C03410",onDanger:"#FFFFFF",errorRed:"#C03410",warningStrong:"#A45610",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.12)",badgeBgCaution:"rgba(217,130,29,0.14)",badgeBgCritical:"rgba(192,52,16,0.06)",badgeBgNeutral:"rgba(107,107,107,0.12)",bubbleUser:"#10462E",bubbleAssistant:"#FFFFFF",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#E9F1E9",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.10)",checkupCardConcernBg:"rgba(239,167,0,0.10)"},rr=me({brightness:"light",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:dt,space:Qe,radius:Xe,type:Je(),motion:er,slots:Ze}),ct={brand:"#6BD39A",brandSoft:"rgba(107,211,154,0.12)",brandSofter:"rgba(107,211,154,0.18)",brandBorder:"rgba(107,211,154,0.22)",borderHairlineGreen:"rgba(107,211,154,0.28)",brandBorderStrong:"rgba(107,211,154,0.55)",brandInk:"#6BD39A",linkInk:"#6BD39A",surface:"#1C1F23",surfaceCream:"#23272C",surfaceSubtle:"#23272C",background:"#15171A",borderRingCream:"#3A3F45",chatGround:"#1C1F23",composerFill:"#23272C",composerBorder:"rgba(107,211,154,0.75)",shadow:"#000000",text:{primary:"#F5F3F0",secondary:"#A9E4C4",muted:"#9A9A9A",placeholder:"rgba(255,255,255,0.55)",onBrand:"#0E1F17",metaCool:"#C9C9C9",timestamp:"rgba(245,243,240,0.7)"},primary:"#6BD39A",onPrimary:"#0E1F17",accent:"#6BD39A",onAccent:"#0E1F17",accentEdge:"#34D888",success:"#07C168",danger:"#F87171",onDanger:"#0E1F17",errorRed:"#FF6B5B",warningStrong:"#F0A35E",cautionAccent:"#D9821D",riskConcern:"#EFA700",sentiment:{up:"#07C168",neutral:"#FBC558",down:"#FF1B00"},badgeBgPositive:"rgba(7,193,104,0.18)",badgeBgCaution:"rgba(217,130,29,0.20)",badgeBgCritical:"rgba(185,28,28,0.22)",badgeBgNeutral:"rgba(255,255,255,0.10)",bubbleUser:"#6BD39A",bubbleAssistant:"#1C1F23",bubbleVet:"#FFC3BC",onBubbleVet:"#000000",skeleton:"#23272C",scanButtonPink:"#FFC3BC",checkupCardLowRiskBg:"rgba(7,193,104,0.16)",checkupCardConcernBg:"rgba(239,167,0,0.16)"};me({brightness:"dark",highContrast:false,meta:{displayName:"Everfur",logoUrl:null,placeholder:null,hidePoweredBy:false},color:ct,space:Qe,radius:Xe,type:Je(),motion:er,slots:Ze});var tr=Symbol.for("@everfur/sdk#EverfurThemeContext@v1"),nr=globalThis,ve=nr[tr]??(nr[tr]=createContext(rr));ve.displayName??="EverfurThemeContext";function L(){return useContext(ve)}n(L,"useEverfurTheme");function Et(e,r){let t=e.scaleCaps[r];return t>0?t:void 0}n(Et,"tierMultiplier");function b({tier:e="content",...r}){let{type:t}=L(),o=Et(t,e);return createElement(Text,o===void 0?r:{maxFontSizeMultiplier:o,...r})}n(b,"Text");forwardRef(n(function(r,t){return createElement(TextInput,{...r,...t===null?{}:{ref:t}})},"TextInput"));function Rt(e){let{scope:r,onChange:t,renderNotice:o,style:a}=Ke(e,["onChange"]),l=L(),i=useMemo(()=>Tt(l),[l]),f=de({scopes:[r]}),s=Q(f,r),m=$[r],[k,_]=useState(null),v=useCallback(async y=>{_(y);let C=await f.setConsent(r,y);C.ok&&(_(null),t?.(C.value.granted));},[f,t,r]),d=n((y,C)=>jsxs(View,{style:i.notice,children:[jsx(Ge,{resetKey:y,render:()=>o?o(y):jsx(b,{style:i.noticeText,children:y.displayMessage}),fallback:jsx(b,{style:i.noticeText,children:y.displayMessage})}),jsx(Pressable,{onPress:C,accessibilityRole:"button",accessibilityLabel:S.retry,style:i.retry,children:jsx(b,{tier:"control",style:i.retryLabel,children:S.retry})})]}),"notice");if(s.kind==="signedOut")return jsxs(View,{style:[i.container,a],accessible:true,accessibilityRole:"text",accessibilityLabel:S.signedOut,children:[jsx(b,{style:i.title,children:m.title}),jsx(b,{style:i.body,children:S.signedOut})]});if(s.kind==="loading")return jsxs(View,{style:[i.container,a],accessible:true,accessibilityRole:"progressbar",accessibilityLabel:S.loading,children:[jsx(b,{style:i.title,children:m.title}),jsx(ActivityIndicator,{color:l.color.brandInk})]});if(s.kind==="failed")return jsxs(View,{style:[i.container,a],children:[jsx(b,{style:i.title,children:m.title}),d(s.error,()=>{f.refresh();})]});let c=`${m.title}. ${m.body(l.meta.displayName)}`;return jsxs(View,{style:[i.container,a],children:[jsxs(Pressable,{onPress:()=>{s.saving||v(!s.granted);},disabled:s.saving,accessibilityRole:"checkbox",accessibilityState:{checked:s.granted,disabled:s.saving},accessibilityLabel:c,accessibilityHint:s.saving?S.saving:void 0,hitSlop:{top:6,bottom:6,left:6,right:6},style:[i.row,s.granted?i.rowChecked:null],children:[jsx(View,{style:[i.box,s.granted?i.boxChecked:null],accessibilityElementsHidden:true,importantForAccessibility:"no",children:s.granted?jsx(b,{style:i.tick,children:"\u2713"}):null}),jsxs(View,{style:i.copy,children:[jsx(b,{style:i.title,children:m.title}),jsx(b,{style:i.body,children:m.body(l.meta.displayName)}),jsx(b,{style:i.footnote,children:S.changeable})]})]}),s.error===null?null:d(s.error,()=>{v(k??!s.granted);})]})}n(Rt,"EverfurConsentToggle");function Tt(e){let{color:r,radius:t,space:o,type:a}=e;return StyleSheet.create({container:{gap:o.sm,paddingHorizontal:o.lg,paddingVertical:o.md},row:{flexDirection:"row",alignItems:"flex-start",gap:o.md,borderRadius:t.md,borderWidth:1,borderColor:r.brandBorder,backgroundColor:r.surface,paddingHorizontal:o.lg,paddingVertical:o.lg},rowChecked:{borderColor:r.brandInk,backgroundColor:r.brandSoft},box:{width:24,height:24,borderRadius:t.xs,borderWidth:1,borderColor:r.brandBorder,backgroundColor:r.surface,alignItems:"center",justifyContent:"center"},boxChecked:{borderColor:r.brandInk,backgroundColor:r.brand},tick:{...O(e,"bold"),fontSize:a.size.caption,color:r.text.onBrand},copy:{flex:1,gap:o.xs},title:{...O(e,"bold"),fontSize:a.size.body,lineHeight:Math.round(a.size.body*a.lineHeight.snug),color:r.text.primary},body:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.text.secondary},footnote:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.text.muted},notice:{gap:o.xs,paddingTop:o.xs},noticeText:{...O(e,"regular"),fontSize:a.size.caption,lineHeight:Math.round(a.size.caption*a.lineHeight.snug),color:r.errorRed},retry:{alignSelf:"flex-start",minHeight:44,justifyContent:"center"},retryLabel:{...O(e,"bold"),fontSize:a.size.caption,color:r.linkInk}})}n(Tt,"makeStyles");export{S as CONSENT_COPY,$ as CONSENT_SCOPE_COPY,oe as CONSENT_VERSION_MAX,M as EVERFUR_CONSENT_SCOPES,Rt as EverfurConsentToggle,Q as consentRowView,ae as createConsentRepository,De as createConsentRepositoryOver,H as isEverfurConsentScope,de as useEverfurConsent,Ve as useEverfurConsentRepository};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { U as UserRef, P as PetRef } from './ids-B2GAAifq.js';
|
|
3
3
|
import { C as CapabilityName, a as CapabilityDecision } from './resolve-D4Ywz5OS.js';
|
|
4
|
-
import { T as TokenProvider } from './identity-
|
|
5
|
-
import { T as TransportPort } from './config-
|
|
4
|
+
import { T as TokenProvider } from './identity-BhT7oJDS.js';
|
|
5
|
+
import { T as TransportPort } from './config-BM0sv5jx.js';
|
|
6
6
|
import { K as KvPort, I as ImageCachePort } from './cacheEpoch-DknKn3S0.js';
|
|
7
|
-
import { S as SecureStorePort, b as LogSink, e as EverfurRuntime } from './runtimeTypes-
|
|
7
|
+
import { S as SecureStorePort, b as LogSink, e as EverfurRuntime } from './runtimeTypes-CkMFCbHW.js';
|
|
8
8
|
import { T as TelemetryPort } from './TelemetryPort-BDNr00hu.js';
|
|
9
9
|
import { E as ErrorPolicyPort } from './ErrorPolicyPort-D22LUVrK.js';
|
|
10
10
|
import { C as CameraPort } from './CameraPort-Cv31Pz7g.js';
|
|
11
11
|
import { U as UploadTransport } from './ports-BN6RHF9W.js';
|
|
12
|
-
import { U as UploadPort } from './ports-
|
|
13
|
-
import { E as EverfurThemeInput } from './branding-
|
|
12
|
+
import { U as UploadPort } from './ports-Di9rdLO9.js';
|
|
13
|
+
import { E as EverfurThemeInput } from './branding-ytH4jJq1.js';
|
|
14
14
|
import { E as EverfurError } from './EverfurError-DmELDpXp.js';
|
|
15
|
-
import { b as WidgetPetProfile } from './petsRepository-
|
|
16
|
-
import { E as EverfurTheme } from './tokens-
|
|
15
|
+
import { b as WidgetPetProfile } from './petsRepository-BwxmfX_s.js';
|
|
16
|
+
import { E as EverfurTheme } from './tokens-BYtbKwFh.js';
|
|
17
17
|
|
|
18
18
|
interface EverfurConfig {
|
|
19
19
|
/** pk_live_... ; tenant-resolved server-side (the keyless-fallback / anonymous-mode credential). */
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { U as UserRef, P as PetRef } from './ids-B2GAAifq.cjs';
|
|
3
3
|
import { C as CapabilityName, a as CapabilityDecision } from './resolve-D4Ywz5OS.cjs';
|
|
4
|
-
import { T as TokenProvider } from './identity-
|
|
5
|
-
import { T as TransportPort } from './config-
|
|
4
|
+
import { T as TokenProvider } from './identity-DUlshgow.cjs';
|
|
5
|
+
import { T as TransportPort } from './config-Daa1plhQ.cjs';
|
|
6
6
|
import { K as KvPort, I as ImageCachePort } from './cacheEpoch-DknKn3S0.cjs';
|
|
7
|
-
import { S as SecureStorePort, b as LogSink, e as EverfurRuntime } from './runtimeTypes-
|
|
7
|
+
import { S as SecureStorePort, b as LogSink, e as EverfurRuntime } from './runtimeTypes-2gJ5hYoE.cjs';
|
|
8
8
|
import { T as TelemetryPort } from './TelemetryPort-BDNr00hu.cjs';
|
|
9
9
|
import { E as ErrorPolicyPort } from './ErrorPolicyPort-D6CybiqJ.cjs';
|
|
10
10
|
import { C as CameraPort } from './CameraPort-Cv31Pz7g.cjs';
|
|
11
11
|
import { U as UploadTransport } from './ports-BN6RHF9W.cjs';
|
|
12
|
-
import { U as UploadPort } from './ports-
|
|
13
|
-
import { E as EverfurThemeInput } from './branding-
|
|
12
|
+
import { U as UploadPort } from './ports-BPKxFOSe.cjs';
|
|
13
|
+
import { E as EverfurThemeInput } from './branding-Bio5MM6g.cjs';
|
|
14
14
|
import { E as EverfurError } from './EverfurError-DmELDpXp.cjs';
|
|
15
|
-
import { b as WidgetPetProfile } from './petsRepository-
|
|
16
|
-
import { E as EverfurTheme } from './tokens-
|
|
15
|
+
import { b as WidgetPetProfile } from './petsRepository-BnVre3q7.cjs';
|
|
16
|
+
import { E as EverfurTheme } from './tokens-BYtbKwFh.cjs';
|
|
17
17
|
|
|
18
18
|
interface EverfurConfig {
|
|
19
19
|
/** pk_live_... ; tenant-resolved server-side (the keyless-fallback / anonymous-mode credential). */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { E as EverfurError } from './EverfurError-DmELDpXp.cjs';
|
|
2
2
|
import { E as EverfurResult } from './EverfurResult-ZtH-YV1h.cjs';
|
|
3
|
-
import { R as RequestFunnel } from './requestFunnel-
|
|
4
|
-
import { A as AuthContext } from './identity-
|
|
3
|
+
import { R as RequestFunnel } from './requestFunnel-DMR_1T3O.cjs';
|
|
4
|
+
import { A as AuthContext } from './identity-DUlshgow.cjs';
|
|
5
5
|
import { U as UserRef } from './ids-B2GAAifq.cjs';
|
|
6
6
|
import { E as ErrorPolicyPort } from './ErrorPolicyPort-D6CybiqJ.cjs';
|
|
7
7
|
|