openrtc 3.0.3 → 3.1.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/dist/BrowserCoordinationGatewaySignaling-GOLSTJMA.js +1 -0
- package/dist/WasmBridge-3HYLCY5Y.js +1 -0
- package/dist/{chunk-TYZS5LXQ.js → chunk-2AAZFBRZ.js} +1 -1
- package/dist/{chunk-AYQSDKSK.js → chunk-AZ74VBU2.js} +1 -1
- package/dist/{chunk-TFOFTLTV.js → chunk-CQHLD52E.js} +1 -1
- package/dist/chunk-FNCEVW7G.js +1 -0
- package/dist/chunk-FPJAUAEU.js +2 -0
- package/dist/{chunk-PW2WEI6L.js → chunk-IVNXIG7J.js} +1 -1
- package/dist/chunk-KN7DF3NH.js +1 -0
- package/dist/chunk-LB27VQRL.js +1 -0
- package/dist/chunk-LCJQ7RSR.js +1 -0
- package/dist/chunk-M4KL5XZU.js +2 -0
- package/dist/{chunk-HL3TV2QA.js → chunk-PA4WT4QM.js} +1 -1
- package/dist/{chunk-XTMFYAIJ.js → chunk-TSMMRR5V.js} +1 -1
- package/dist/chunk-WTOA6B2A.js +2 -0
- package/dist/coreClient.js +1 -1
- package/dist/{deviceHandle-YV5LJ5A5.js → deviceHandle-URNIFFXC.js} +1 -1
- package/dist/external-broadcast.d.ts +1 -1
- package/dist/external-broadcast.js +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/ipcFactory-6XD3J2UU.js +1 -0
- package/dist/native.d.ts +2 -2
- package/dist/native.js +1 -1
- package/dist/node.d.ts +2 -2
- package/dist/node.js +2 -2
- package/dist/openrtc_bg.wasm +0 -0
- package/dist/{room-ELXNZIYX.js → room-7ZEAAY7Z.js} +1 -1
- package/dist/runtime/WasmRuntimeAdapter.js +1 -1
- package/dist/runtime/factories.js +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/server-browser.d.ts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/service-node.d.ts +1 -1
- package/dist/service-node.js +1 -1
- package/dist/testing/native.d.ts +1 -1
- package/dist/testing/native.js +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +1 -1
- package/dist/transport/index.js +1 -1
- package/dist/{types-YGlXXpQA.d.ts → types-Cruu-MsF.d.ts} +43 -1
- package/native/darwin-arm64/openrtc-node-host +0 -0
- package/native/darwin-arm64/openrtc-node-host.manifest.json +4 -4
- package/native/darwin-x64/openrtc-node-host +0 -0
- package/native/darwin-x64/openrtc-node-host.manifest.json +4 -4
- package/native/linux-x64/openrtc-node-host +0 -0
- package/native/linux-x64/openrtc-node-host.manifest.json +4 -4
- package/package.json +1 -1
- package/dist/WasmBridge-L76OAD5U.js +0 -1
- package/dist/chunk-K32BROMJ.js +0 -2
- package/dist/chunk-L4HWDDXL.js +0 -2
- package/dist/chunk-OT7IPLZE.js +0 -1
- package/dist/chunk-QL4CJCV4.js +0 -1
- package/dist/chunk-UCNK7KB6.js +0 -2
- package/dist/ipcFactory-4LCCR23Q.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-FPJAUAEU.js';import {b as b$2}from'./chunk-FNCEVW7G.js';import {b as b$1}from'./chunk-LB27VQRL.js';import {c}from'./chunk-L7N4T2PX.js';import*as I from'tweetnacl';function U(t){if(typeof t!="string"||!t||t.trim()!==t||new TextEncoder().encode(t).byteLength>256||/[\u0000-\u001f\u007f-\u009f]/.test(t))throw new Error("Invalid transfer peer demand identity.")}function ie(t){if(!Number.isSafeInteger(t)||t<=0)throw new Error("Invalid transfer peer demand generation.")}function ae(t){if(!t||typeof t!="object")throw new Error("Invalid transfer peer demand request.");if(U(t.id),U(t.deviceId),!["fileTransfer","driveAccess","contentSync"].includes(t.purpose)||Object.keys(t).some(e=>!["id","deviceId","purpose"].includes(e)))throw new Error("Invalid transfer peer demand request.")}function Ue(t,e,n=false){if(typeof t!="string"||new TextEncoder().encode(t).byteLength>2048)throw new Error("Invalid transfer peer demand response.");let r=JSON.parse(t);if(r===null&&n)return null;if(!r||typeof r!="object")throw new Error("Invalid transfer peer demand response.");let o=r;if(ae({id:o.id,deviceId:o.deviceId,purpose:o.purpose}),ie(o.generation),o.id!==e.id||e.generation!==void 0&&o.generation!==e.generation||e.deviceId!==void 0&&o.deviceId!==e.deviceId||e.purpose!==void 0&&o.purpose!==e.purpose||!["waitingForPeer","queued","admitted"].includes(o.state))throw new Error("Invalid transfer peer demand response.");return o}function qe(){throw new Error("[OpenRTC] The rollback-only Firebase auth host is not installed. OpenRTC 2.0 applications must supply an AuthProvider; legacy runtimes must import openrtc/auth explicitly.");}var C=class{constructor(e){this.provider=e;this.cached=null;this.inFlight=null;this.refreshTimer=null;this.refreshRetryUsed=false;this.listeners=new Set;}async get(e=false){if(!this.provider)throw new Error("[OpenRTC] Native coordination requires coordinationGateway.nativeTrustTokenProvider; obtain tokens through a trusted backend without shipping the developer secret.");let n=Date.now();if(!e&&this.cached&&this.cached.expiresAtMs>n+3e4)return this.cached;if(this.inFlight)return this.inFlight;let r=(async()=>{let o=await this.provider(e),a=o?.token?.trim()??"",c=Number(o?.expiresAtMs),p=Date.now();if(!a||!Number.isFinite(c)||c<=p+3e4)throw new Error("[OpenRTC] Native trust token provider returned no usable short-lived token.");let d={token:a,expiresAtMs:c};return this.cached=d,this.refreshRetryUsed=false,this.notify(d),this.scheduleRefresh(d),d})();this.inFlight=r;try{return await r}finally{this.inFlight===r&&(this.inFlight=null);}}invalidate(){this.cached=null,this.clearRefreshTimer(),this.notify(null);}clear(){this.invalidate(),this.listeners.clear();}subscribe(e,n){return this.listeners.add(e),this.cached&&this.cached.expiresAtMs>Date.now()&&(n?.emitCurrent!==false&&e(this.cached),this.scheduleRefresh(this.cached)),()=>{this.listeners.delete(e),this.listeners.size===0&&this.clearRefreshTimer();}}notify(e){for(let n of this.listeners)n(e);}scheduleRefresh(e){if(this.clearRefreshTimer(),this.listeners.size===0)return;let n=Math.max(0,e.expiresAtMs-Date.now()-3e4);this.refreshTimer=setTimeout(()=>{this.refreshTimer=null,this.get(true).catch(()=>{if(this.listeners.size===0||this.refreshRetryUsed){this.invalidate();return}this.refreshRetryUsed=true,this.refreshTimer=setTimeout(()=>{this.refreshTimer=null,this.get(true).catch(()=>this.invalidate());},15e3);});},n);}clearRefreshTimer(){this.refreshTimer&&(clearTimeout(this.refreshTimer),this.refreshTimer=null);}};var q=class{constructor(e){this.options=e;this.signaling=null;this.wasmClient=null;this.managedStateProvider=null;this.hostAvailability={available:true,reason:"initial"};this.nativeTrustTokens=e.gateway?new C(e.gateway.nativeTrustTokenProvider):null;}usesGateway(){return !!this.options.gateway}getSignaling(){if(this.options.signalingMode==="ticket-only")throw new Error('[openrtc] Managed signaling is disabled when signalingMode="ticket-only".');if(!this.options.gateway)throw new Error("[OpenRTC] Managed coordination requires coordinationGateway; the legacy direct Firebase data plane has been removed.");if(!this.signaling){this.signaling=new a({projectId:this.options.projectId,gateway:this.options.gateway,appTag:this.options.appTag,discoveryMode:this.options.discoveryMode,resolveSpaceNamespaceId:this.options.resolveSpaceNamespaceId,getCurrentUserId:this.options.getCurrentUserId,getAuthToken:this.options.getAuthToken,getAppCheckToken:this.options.getAppCheckToken,getLocalDeviceId:this.options.getLocalDeviceId,getDefaultDeviceName:this.options.getDefaultDeviceName,getPlatformType:this.options.getPlatformType,normalizeDevice:this.options.normalizeDevice,avenueOverride:this.options.avenueOverride,roomArchitecture:this.options.roomArchitecture,initialExcludedPeers:this.options.initialExcludedPeers,nativeTrustTokens:this.nativeTrustTokens});let e=this.signaling;this.managedStateProvider?e.setManagedRoomRuntime(this.wasmClient,this.managedStateProvider):e.setWasmClient(this.wasmClient),this.signaling.setHostAvailability?.(this.hostAvailability);}return this.signaling}setWasmClient(e){this.wasmClient=e,this.managedStateProvider=null,this.signaling?.setWasmClient(e);}setManagedRoomRuntime(e,n){this.wasmClient=e,this.managedStateProvider=n,this.signaling?.setManagedRoomRuntime(e,n);}setHostAvailability(e){this.hostAvailability=e,this.signaling?.setHostAvailability?.(e);}async reconnectAfterHostResume(){await this.signaling?.reconnectAfterHostResume?.();}async handleScopeChange(){await this.signaling?.handleScopeChange();}stopAuthActivity(){this.signaling?.stopAuthActivity();}async getNativeTrustToken(e=false){if(!this.nativeTrustTokens)throw new Error("[OpenRTC] Native trust tokens require a coordination gateway.");return this.nativeTrustTokens.get(e)}invalidateNativeTrustToken(){this.nativeTrustTokens?.invalidate();}subscribeNativeTrustToken(e,n){return this.nativeTrustTokens?.subscribe(e,n)??(()=>{})}};function se(){if(typeof globalThis<"u"&&globalThis.__OPENRTC_DEBUG__===true)return true;if(typeof localStorage<"u")try{return localStorage.getItem("openrtc:debug")==="1"}catch{return false}return false}function x(t,e,n){if(se()){if(typeof n>"u"){console[t](e);return}console[t](e,n);}}function Ve(t,e){x("debug",t,e);}function $e(t,e){x("info",t,e);}function Xe(t,e){x("log",t,e);}function z(){return typeof window>"u"?false:!!(window.__TAURI_IPC__||window.__TAURI_INTERNALS__||window.__TAURI__||window.location.protocol==="tauri:"||window.location.hostname==="tauri.localhost")}var ce="[OpenRTC][teardown-trace]";function le(){try{let t=globalThis;if(t.OPENRTC_TEARDOWN_TRACE===!0||t.localStorage?.getItem("OPENRTC_TEARDOWN_TRACE")==="1")return !0}catch{}return false}function tt(t,e={}){console.info(ce,{kind:t,ts:new Date().toISOString(),...e}),le()&&console.info("[OpenRTC][teardown-trace:stack]",{kind:t,stack:new Error(`teardown: ${t}`).stack});}var M="trustedDevice",de="plutonium:e2ee:identity:v1",ue="plutonium:e2ee:identity:session:v1",pe="openrtc-trust",b="identity",Q="transport-trust:v1",fe=2,W="managed-room-keys",J="managed-room-state",ye=1,l=null,T=null;function f(t){let e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)n[r]=e.charCodeAt(r);return n}function h(t){let e="";for(let n=0;n<t.length;n+=1)e+=String.fromCharCode(t[n]);return btoa(e)}async function N(t){let e=await crypto.subtle.digest("SHA-256",t),n=new Uint8Array(e);return Array.from(n).map(r=>r.toString(16).padStart(2,"0")).join("")}function ge(){return typeof sessionStorage>"u"?null:sessionStorage}function me(){if(!(typeof localStorage>"u"))try{localStorage.removeItem(de);}catch{}}var P=null;async function Y(){return P||(P=(async()=>{let t=globalThis.crypto?.subtle;if(!t||typeof t.generateKey!="function")return false;try{let e=await t.generateKey({name:"Ed25519"},!1,["sign","verify"]);return !!(e&&e.privateKey&&e.publicKey)}catch{return false}})(),P)}async function be(t){let e=await crypto.subtle.exportKey("raw",t);return new Uint8Array(e)}function Se(){try{return typeof indexedDB<"u"?indexedDB:null}catch{return null}}function V(){let t=Se();return t?new Promise(e=>{let n;try{n=t.open(pe,fe);}catch{e(null);return}n.onupgradeneeded=()=>{let r=n.result;r.objectStoreNames.contains(b)||r.createObjectStore(b),r.objectStoreNames.contains(W)||r.createObjectStore(W),r.objectStoreNames.contains(J)||r.createObjectStore(J);},n.onsuccess=()=>e(n.result),n.onerror=()=>e(null),n.onblocked=()=>e(null);}):Promise.resolve(null)}async function ve(){let t=await V();if(!t)return null;try{return await new Promise(e=>{let o=t.transaction(b,"readonly").objectStore(b).get(Q);o.onsuccess=()=>{let a=o.result;e(a&&a.privateKey&&a.publicKey?a:null);},o.onerror=()=>e(null);})}catch{return null}finally{t.close();}}async function Te(t){let e=await V();if(!e)return false;try{return await new Promise(n=>{let r=e.transaction(b,"readwrite");r.objectStore(b).put(t,Q),r.oncomplete=()=>n(!0),r.onerror=()=>n(!1),r.onabort=()=>n(!1);})}catch{return false}finally{e.close();}}async function $(t,e){let n=await be(t.publicKey),r=await N(n),o=t.privateKey;return {publicKey:n,fingerprint:r,backend:"webcrypto-nonextractable",durable:e,privateKey:o,async signChallenge(a){let c=await crypto.subtle.sign({name:"Ed25519"},o,f(a));return h(new Uint8Array(c))}}}function Ie(t,e,n){let r=t.secretKey;return {publicKey:t.publicKey,secretKey:r,fingerprint:e,backend:"tweetnacl",durable:n,async signChallenge(o){return he(o,r)}}}function it(t=32){let e=crypto.getRandomValues(new Uint8Array(t));return h(e)}function he(t,e){let n=I.sign.detached(f(t),e);return h(n)}function Re(t,e,n){try{return I.sign.detached.verify(f(t),f(e),f(n))}catch{return false}}async function at(t,e,n){let r=globalThis.crypto?.subtle;if(r&&typeof r.importKey=="function"&&typeof r.verify=="function")try{let o=await r.importKey("raw",f(n),{name:"Ed25519"},!1,["verify"]);return await r.verify({name:"Ed25519"},o,f(e),f(t))}catch{}return Re(t,e,n)}function st(t){return h(t)}function ct(t){if(!t||!t.trim())return null;try{let e=JSON.parse(t),n=e&&typeof e=="object"&&!Array.isArray(e)?e[M]:null;if(!n||typeof n!="object"||Array.isArray(n))return null;let r=n,o=typeof r.version=="number"?r.version:null,a=typeof r.identityPublicKey=="string"?r.identityPublicKey:null,c=typeof r.identityFingerprint=="string"?r.identityFingerprint:null;return !o||!a||!c?null:{version:o,identityPublicKey:a,identityFingerprint:c}}catch{return null}}async function _e(){let t=await Me().catch(()=>null);return t?{version:ye,identityPublicKey:h(t.publicKey),identityFingerprint:t.fingerprint}:null}async function lt(t){let e=await _e();if(!e)return t??void 0;let n=typeof t=="string"?t.trim():"";if(!n)return JSON.stringify({[M]:e});try{let r=JSON.parse(n);if(r&&typeof r=="object"&&!Array.isArray(r))return JSON.stringify({...r,[M]:e})}catch{}return JSON.stringify({metadata:t,[M]:e})}function we(){if(typeof window>"u")return null;let t=window.__TAURI_INTERNALS__;return !t||typeof t.invoke!="function"?null:t.invoke.bind(t)}async function Ae(){if(typeof window>"u")return null;let t=we();if(!z()&&!t)return null;if(!t)throw new Error("[OpenRTC] Tauri transport trust requires the native signing provider, but Tauri invoke is unavailable.");try{let e=await t("openrtc_get_transport_trust_identity"),n=f(e.publicKeyBase64);if(n.byteLength!==I.sign.publicKeyLength)throw new Error("native transport trust public key has an invalid length");let r=await N(n);if(e.fingerprint!==r)throw new Error("native transport trust fingerprint does not match its public key");return {publicKey:n,fingerprint:r,backend:"native-provider",durable:!0,async signChallenge(o){return t("openrtc_sign_transport_trust_challenge",{challenge:o})}}}catch(e){let n=new Error("[OpenRTC] native transport trust provider failed; refusing WebCrypto fallback in Tauri.");throw n.cause=e,n}}function Ce(){let t=ge();t&&t.removeItem(ue);}async function Pe(){if(me(),Ce(),l)return l;let t=await Ae();if(t)return l=t,l;if(await Y()){let e=await ve();if(e)return l=await $(e,true),l}return null}async function Me(t={}){let e=r=>{if(t.ephemeral===true&&r?.durable)throw new Error("Cannot replace an active durable transport identity with an ephemeral identity.");if(t.ephemeral===false&&r&&!r.durable)throw new Error("Persistent transport identity requires durable storage before session startup.");return r};if(l)return e(l);if(T)return e(await T);let n=(async()=>{if(t.ephemeral!==true){let r=await Pe();if(r)return r}return ke(t)})();T=n;try{return e(await n)}finally{T===n&&(T=null);}}async function ke(t){if(l)return l;let e=t.ephemeral===true;if(await Y())try{let n=await crypto.subtle.generateKey({name:"Ed25519"},!1,["sign","verify"]),r=!1;return e||(r=await Te(n)),l=await $(n,r),l}catch{}if(!e)return console.warn("[OpenRTC][TRUST] Managed transport trust requires WebCrypto Ed25519 or native keychain; refusing extractable fallback storage"),null;try{let n=I.sign.keyPair(),r=await N(b$1(n.publicKey));return l=Ie(n,r,!1),l}catch{return null}}var Ee={managedSession:{nativeStartRetryWindowMs:12e4,nativeStartRetryMinDelayMs:400,nativeStartRetryMaxDelayMs:5e3,deviceStatusRefreshDebounceMs:50},browserAutoConnect:{scanDebounceMs:150,retryCooldownMs:2e3,settleGuardMs:1e4,retryMaxMs:8e3,nonInitiatorBaseGraceMs:2e3,nonInitiatorMaxGraceMs:16e3},nativeIpc:{authRequiredWaitMs:15e3,defaultBoundedCommandTimeoutMs:15e3,connectionEventSubscribeWindowMs:15e3,connectionEventRetryMinDelayMs:250,connectionEventRetryMaxDelayMs:1e3,tauriIpcNegativeCacheMs:2e3},browserIdentity:{ephemeralDeviceIdTtlMs:6e4}};function ut(){return Ee}var De={adapter:"browser-wasm",productMaturity:{boundedRooms:"stable",serviceNodes:"preview",offlineEdge:"support-only",broadcast:"preview"},signaling:{coordinationGateway:true,nativeIpc:false,managedPresence:true},transport:{irohQuic:false,irohLan:false,webRtc:true,moq:true,ble:false,wasm:true},nativeProtocols:{productAlpn:false,irohDocs:false,irohBlobs:false,irohGossip:false},lifecycle:{managedSession:true,autoConnect:true,manualDisconnect:true,connectionStateEvents:true,peerSessions:true},transfers:{explicitFilePath:false,explicitFileData:true,history:false},fallback:{wasm:false}},xe={adapter:"native-ipc",productMaturity:{boundedRooms:"stable",serviceNodes:"unavailable",offlineEdge:"unavailable",broadcast:"unavailable"},signaling:{coordinationGateway:true,nativeIpc:true,managedPresence:true},transport:{irohQuic:true,irohLan:false,webRtc:false,moq:false,ble:false,wasm:false},nativeProtocols:{productAlpn:true,irohDocs:true,irohBlobs:true,irohGossip:true},lifecycle:{managedSession:true,autoConnect:true,manualDisconnect:true,connectionStateEvents:true,peerSessions:true},transfers:{explicitFilePath:true,explicitFileData:true,history:true},fallback:{wasm:false}};function X(t){return {adapter:t.adapter,productMaturity:t.productMaturity?{...t.productMaturity}:void 0,signaling:{...t.signaling},transport:{...t.transport},nativeProtocols:{...t.nativeProtocols},lifecycle:{...t.lifecycle},transfers:{...t.transfers},fallback:{...t.fallback}}}function ft(t=globalThis){let e=X(De),n=typeof t?.RTCPeerConnection=="function";return e.transport.webRtc=n,e}function R(t){return t?.compiled===true&&t.enabled===true}function yt(t,e=false){let n=X(xe),r=t?.transport;return n.productMaturity={...n.productMaturity,...t?.productMaturity},r&&(n.transport.irohQuic=R(r.irohQuic),n.transport.irohLan=R(r.irohLan),n.transport.webRtc=R(r.webRtc),n.transport.moq=R(r.moq),n.transport.ble=R(r.ble)),n.transport.wasm=false,n.fallback.wasm=e,n}function gt(t){return {environment:t.adapter==="native-ipc"||t.adapter==="tauri-ipc"?"native":t.adapter==="browser-wasm"?"web":"unknown",productMaturity:t.productMaturity?{...t.productMaturity}:void 0,transports:{quic:t.transport.irohQuic,irohRelay:t.transport.irohQuic||t.adapter==="browser-wasm",irohLan:t.transport.irohLan,webRtc:t.transport.webRtc,moq:t.transport.moq,ble:t.transport.ble},lifecycle:{...t.lifecycle},storage:{localFileSystem:t.transfers.explicitFilePath,transferHistory:t.transfers.history},nativeProtocols:{...t.nativeProtocols}}}function Z(t){if(t.errorCode)return t;let e=t.error||t.readinessReason;if(!e)return t;let n=c(e);return {...t,errorCode:n.errorCode,retryable:n.retryable,errorPlane:n.errorPlane}}function S(t){return !t||typeof t!="object"?{}:t instanceof Map?Object.fromEntries(t):t}function G(t){let e=S(t),n=S(e.device);if(!Object.keys(n).length)return e;let r={...n,...e};return delete r.device,r}function i(t,...e){for(let n of e){let r=t[n];if(typeof r=="string"&&r.trim().length>0)return r}}function u(t,...e){for(let n of e){let r=t[n];if(typeof r=="boolean")return r}}function s(t,...e){for(let n of e){let r=t[n];if(typeof r=="number"&&Number.isFinite(r))return r}}function y(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(t instanceof Date){let e=t.getTime();return Number.isFinite(e)?e:void 0}if(typeof t=="string"){let e=Date.parse(t);return Number.isFinite(e)?e:void 0}if(t&&typeof t=="object"){let e=t;if(typeof e.toMillis=="function"){let r=e.toMillis();return Number.isFinite(r)?r:void 0}let n=typeof e.seconds=="number"?e.seconds:typeof e._seconds=="number"?e._seconds:void 0;if(n!==void 0&&Number.isFinite(n)){let r=typeof e.nanoseconds=="number"?e.nanoseconds:typeof e._nanoseconds=="number"?e._nanoseconds:0;return n*1e3+Math.floor((Number.isFinite(r)?r:0)/1e6)}}}function H(...t){let e=t.map(y).filter(n=>typeof n=="number"&&Number.isFinite(n));return e.length?Math.max(...e):void 0}function O(t){if(typeof t!="string")return;let e=t.trim().toLowerCase();return e==="online"||e==="idle"||e==="offline"?e:void 0}function ee(t){let e=O("presenceStatus"in t?t.presenceStatus:void 0),n="presenceUpdatedAt"in t?y(t.presenceUpdatedAt):void 0,r="presenceExpiresAt"in t?y(t.presenceExpiresAt):void 0,o=n??H(t.lastSeenAt,t.updatedAt,t.createdAt),a=r??y(t.expiresAt),c=e;c||(t.online?o!==void 0&&o+3e5<=Date.now()?c="idle":c="online":c="offline");let p=typeof t.ticket=="string"?t.ticket.trim():"",d="connectable"in t&&typeof t.connectable=="boolean"?t.connectable:c==="online"&&p.length>0;return {presenceStatus:c,presenceUpdatedAt:o,presenceExpiresAt:a,connectable:d}}function te(t){return b$2(t)}function g(t,...e){return te(i(t,...e))}function w(t){if(!Array.isArray(t))return;let e=Array.from(new Set(t.map(te).filter(n=>!!n)));return e.length?e:void 0}function ne(t){let e=S(t),n={webrtc:s(e,"webrtc"),iroh:s(e,"iroh"),irohLan:s(e,"irohLan","iroh_lan"),irohRelay:s(e,"irohRelay","iroh_relay"),ble:s(e,"ble"),moq:s(e,"moq")};return Object.values(n).some(r=>r!==void 0)?n:void 0}function Tt(t){return (t.discoveryMode??"space")==="space"&&typeof t.apiKey=="string"&&t.apiKey.trim().length>0&&typeof t.spaceKey=="string"&&t.spaceKey.trim().length>0}function It(t,e,n){return n?true:(typeof t.appTag=="string"?t.appTag:typeof t.tag=="string"?t.tag:void 0)===e}function Ne(t,e){let n=G(t),r=i(n,"deviceId","device_id")||e||"",o=i(n,"nodeId","node_id")||"",a=i(n,"ticket")||"";return {deviceId:r,deviceName:i(n,"deviceName","device_name")||"Unknown Device",online:!!n.online,ticket:a,friendTicket:i(n,"friendTicket","friend_ticket"),presenceStatus:O(i(n,"presenceStatus","presence_status","livenessStatus","liveness_status")),presenceUpdatedAt:s(n,"presenceUpdatedAt","presence_updated_at")??H(n.presenceUpdatedAt,n.presence_updated_at,n.lastSeenAt,n.last_seen_at,n.updatedAt,n.updated_at,n.createdAt,n.created_at),presenceExpiresAt:s(n,"presenceExpiresAt","presence_expires_at")??y(n.presenceExpiresAt??n.presence_expires_at)??y(n.expiresAt??n.expires_at),connectable:u(n,"connectable"),kind:i(n,"kind"),nodeId:o||void 0,devicePublicKeyJwk:n.devicePublicKeyJwk??n.device_public_key_jwk,platformType:i(n,"platformType","platform_type"),capabilities:n.capabilities||void 0,sessionId:i(n,"sessionId","session_id"),userId:i(n,"userId","user_id"),lastSeenAt:n.lastSeenAt??n.last_seen_at,expiresAt:n.expiresAt??n.expires_at,createdAt:n.createdAt??n.created_at,updatedAt:n.updatedAt??n.updated_at,metadata:i(n,"metadata"),excludedPeers:k(n.excludedPeers??n.excluded_peers),availableTransports:w(n.availableTransports??n.available_transports),transports:w(n.transports),topologyRole:n.topologyRole==="active"||n.topologyRole==="backup"?n.topologyRole:void 0,topologyRevision:Number.isSafeInteger(n.topologyRevision)&&Number(n.topologyRevision)>0?Number(n.topologyRevision):void 0}}function k(t){return Array.isArray(t)?[...new Set(t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean))]:[]}function Ge(t){let e=ee(t);return {...t,...e,connectionStatus:"connectionStatus"in t&&typeof t.connectionStatus=="string"?t.connectionStatus:t.online?"online":"disconnected",settledReady:"settledReady"in t&&typeof t.settledReady=="boolean"?t.settledReady:false,readinessState:"readinessState"in t&&typeof t.readinessState=="string"?t.readinessState:void 0,readinessReason:"readinessReason"in t&&typeof t.readinessReason=="string"?t.readinessReason:void 0,peerHealth:"peerHealth"in t&&typeof t.peerHealth=="string"?t.peerHealth:"unknown",peerId:"peerId"in t&&typeof t.peerId=="string"?t.peerId:void 0,promotionEligible:"promotionEligible"in t&&typeof t.promotionEligible=="boolean"?t.promotionEligible:true,scopes:"scopes"in t?k(t.scopes):[],connectionId:"connectionId"in t&&typeof t.connectionId=="string"?t.connectionId:void 0,deviceIdHint:"deviceIdHint"in t&&typeof t.deviceIdHint=="string"?t.deviceIdHint:void 0,transportStableId:"transportStableId"in t&&typeof t.transportStableId=="number"?t.transportStableId:"transportStableId"in t?t.transportStableId??null:void 0,transportGeneration:"transportGeneration"in t&&typeof t.transportGeneration=="number"?t.transportGeneration:void 0,routeGeneration:"routeGeneration"in t&&typeof t.routeGeneration=="number"?t.routeGeneration:void 0,activeTransport:"activeTransport"in t?t.activeTransport:void 0,parallelTransport:"parallelTransport"in t?t.parallelTransport:void 0,availableTransports:"availableTransports"in t?w(t.availableTransports):"transports"in t?w(t.transports):void 0,latencyMs:"latencyMs"in t&&typeof t.latencyMs=="number"?t.latencyMs:void 0,latencyByTransport:"latencyByTransport"in t?ne(t.latencyByTransport):void 0}}function _(t,e){return e===void 0?true:e===null?t==null:t==null||t===e}function re(t,e){let n=_(t.connectionId,e.connectionId)&&_(t.nodeId,e.nodeId)&&_(t.transportStableId,e.transportStableId)&&_(t.transportGeneration,e.transportGeneration)&&_(t.routeGeneration,e.routeGeneration),r=(o,a)=>o!==void 0?o:n?a:void 0;return {inheritsSnapshot:n,fields:{connectionId:r(e.connectionId??void 0,t.connectionId),transportStableId:r(e.transportStableId,t.transportStableId),transportGeneration:r(e.transportGeneration,t.transportGeneration),routeGeneration:r(e.routeGeneration,t.routeGeneration),activeTransport:r(e.activeTransport,t.activeTransport),parallelTransport:r(e.parallelTransport,t.parallelTransport),latencyMs:n?t.latencyMs:void 0,latencyByTransport:n?t.latencyByTransport:void 0}}}var He={connectionId:void 0,transportStableId:null,transportGeneration:void 0,routeGeneration:void 0,activeTransport:void 0,parallelTransport:void 0,latencyMs:void 0,latencyByTransport:void 0};function Oe(t,e,n){let r=re(t,{connectionId:e.activeConnectionId,nodeId:e.nodeId,transportStableId:e.transportStableId,transportGeneration:e.transportGeneration,routeGeneration:e.routeGeneration,activeTransport:e.activeTransport,parallelTransport:e.parallelTransport}),o=n?n({connectionId:e.activeConnectionId??void 0,deviceId:e.deviceId??void 0,deviceIdHint:e.deviceIdHint??void 0,nodeId:e.nodeId??void 0}):t.promotionEligible??true;if(!o)return {...t,peerHealth:e.health??t.peerHealth,peerId:e.peerId??t.peerId,promotionEligible:o,scopes:e.scopes?.length?[...e.scopes]:t.scopes,nodeId:e.nodeId===void 0?t.nodeId:e.nodeId??void 0,deviceIdHint:e.deviceIdHint??t.deviceIdHint,...r.fields,readinessReason:e.readinessReason??t.readinessReason};let a=e.status??t.connectionStatus,c=typeof a=="string"?a.trim().toLowerCase():"",p=c==="failed"||c==="closed"||c==="disconnected",m=typeof e.readinessState=="string"&&e.readinessState.trim().length>0?e.readinessState==="routable":e.settledReady===true,v=t.settledReady===true||t.readinessState==="routable";if(r.inheritsSnapshot&&v&&!p&&!m)return {...t,peerHealth:e.health??t.peerHealth,peerId:e.peerId??t.peerId,promotionEligible:o,scopes:e.scopes?.length?[...e.scopes]:t.scopes,nodeId:e.nodeId===void 0?t.nodeId:e.nodeId??void 0,deviceIdHint:e.deviceIdHint??t.deviceIdHint,...r.fields,readinessReason:e.readinessReason??t.readinessReason};let A=p?false:m,E=m&&!p&&(c==="connecting"||c==="connected")?"connected":a,D=m?"routable":e.readinessState??(r.inheritsSnapshot?t.readinessState:void 0),oe=A?e.readinessReason??"peer-session-settled":e.readinessReason??(r.inheritsSnapshot?t.readinessReason:void 0);return {...t,connectionStatus:E,settledReady:A,readinessState:D,readinessReason:oe,peerHealth:e.health??t.peerHealth,peerId:e.peerId??t.peerId,promotionEligible:o,scopes:e.scopes?.length?[...e.scopes]:t.scopes,nodeId:e.nodeId===void 0?t.nodeId:e.nodeId??void 0,deviceIdHint:e.deviceIdHint??t.deviceIdHint,...r.fields}}function Be(t,e){let n=re(t,{connectionId:e.connectionId,nodeId:e.nodeId,transportStableId:e.transportStableId,transportGeneration:e.transportGeneration,routeGeneration:e.routeGeneration,activeTransport:e.activeTransport,parallelTransport:e.parallelTransport});if(e.promotionEligible===false)return {...t,peerHealth:e.health??t.peerHealth,peerId:e.peerId??t.peerId,promotionEligible:false,nodeId:e.nodeId??t.nodeId,deviceIdHint:e.deviceIdHint??t.deviceIdHint,...n.fields,scopes:e.scopes?.length?[...e.scopes]:t.scopes};let r=e.status??t.connectionStatus,o=typeof r=="string"?r.trim().toLowerCase():"",a=o==="failed"||o==="closed"||o==="disconnected",c=t.settledReady===true||t.readinessState==="routable",p=e.routable===false;if(n.inheritsSnapshot&&c&&a&&!p)return {...t,peerHealth:t.peerHealth??e.health,peerId:t.peerId??e.peerId,promotionEligible:e.promotionEligible??t.promotionEligible??true,connectionId:t.connectionId??e.connectionId,deviceIdHint:t.deviceIdHint??e.deviceIdHint,scopes:t.scopes?.length?t.scopes:e.scopes??t.scopes};if(c&&a)return {...t,connectionStatus:r,settledReady:false,readinessState:void 0,readinessReason:e.error??t.readinessReason,peerHealth:e.health??t.peerHealth,peerId:e.peerId??t.peerId,promotionEligible:e.promotionEligible??t.promotionEligible??true,deviceIdHint:e.deviceIdHint??t.deviceIdHint,...He,scopes:e.scopes?.length?[...e.scopes]:t.scopes};let d=e.routable===true||e.protocolState==="routable";if(n.inheritsSnapshot&&c&&!a&&!d)return {...t,peerHealth:t.peerHealth??e.health,peerId:t.peerId??e.peerId,promotionEligible:e.promotionEligible??t.promotionEligible??true,connectionId:t.connectionId??e.connectionId,deviceIdHint:t.deviceIdHint??e.deviceIdHint,transportStableId:t.transportStableId??e.transportStableId,transportGeneration:t.transportGeneration??e.transportGeneration,routeGeneration:t.routeGeneration??e.routeGeneration,activeTransport:t.activeTransport??e.activeTransport,parallelTransport:t.parallelTransport===void 0?e.parallelTransport:t.parallelTransport,scopes:t.scopes?.length?t.scopes:e.scopes??t.scopes};let m=e.transportState==="connected"&&e.health==="healthy",v=a?false:d,A=!a&&(d||m)&&(o==="connecting"||o==="connected"||e.transportState==="connected")?"connected":r,E=v?"routable":(e.routable===false&&e.protocolState?e.protocolState:void 0)??(n.inheritsSnapshot?t.readinessState:void 0)??(e.status==="connecting"?e.transportState==="connected"?"transport-only":"connecting":void 0),D=v?(n.inheritsSnapshot?t.readinessReason:void 0)??(e.routable===true?"peer-projection-routable":void 0):(e.routable===false&&e.error?e.error:void 0)??(n.inheritsSnapshot?t.readinessReason:void 0)??(e.status==="connecting"?e.transportState==="connected"?"peer-projection-transport-ready":"peer-projection-connecting":void 0);return {...t,connectionStatus:A,settledReady:v,readinessState:E,readinessReason:D,peerHealth:e.health??t.peerHealth,peerId:e.peerId??t.peerId,promotionEligible:e.promotionEligible??t.promotionEligible??true,nodeId:e.nodeId??t.nodeId,deviceIdHint:e.deviceIdHint??t.deviceIdHint,...n.fields,scopes:e.scopes?.length?[...e.scopes]:t.scopes}}function Ke(t){let{device:e,session:n=null,peer:r=null,isPromotionEligible:o}=t,a=Ge(e);return n&&(a=Oe(a,n,o)),r&&(a=Be(a,r)),Z(a)}function ht(t){let e=G(t),n=Ne(e),r=O(i(e,"presenceStatus","presence_status","livenessStatus","liveness_status")),o=ee({...n,...r?{presenceStatus:r}:{},presenceUpdatedAt:s(e,"presenceUpdatedAt","presence_updated_at")??H(e.presenceUpdatedAt,e.presence_updated_at,e.lastSeenAt,e.last_seen_at,e.updatedAt,e.updated_at,e.createdAt,e.created_at),presenceExpiresAt:s(e,"presenceExpiresAt","presence_expires_at")??y(e.presenceExpiresAt??e.presence_expires_at)??y(e.expiresAt??e.expires_at),connectable:u(e,"connectable")}),a={...n,...o,connectionStatus:i(e,"connectionStatus","connection_status")||"disconnected",settledReady:u(e,"settledReady","settled_ready")??false,readinessState:i(e,"readinessState","readiness_state")??void 0,readinessReason:i(e,"readinessReason","readiness_reason")??void 0,peerHealth:i(e,"peerHealth","peer_health")||"unknown",peerId:i(e,"peerId","peer_id"),scopes:k(e.scopes),connectionId:i(e,"connectionId","connection_id"),deviceIdHint:i(e,"deviceIdHint","device_id_hint"),transportStableId:s(e,"transportStableId","activeTransportStableId","active_transport_stable_id")??void 0,transportGeneration:s(e,"transportGeneration","transport_generation")??void 0,routeGeneration:s(e,"routeGeneration","route_generation")??void 0,activeTransport:g(e,"activeTransport","active_transport"),parallelTransport:g(e,"parallelTransport","parallel_transport")??null,availableTransports:w(e.availableTransports??e.available_transports),latencyMs:s(e,"latencyMs","latency_ms"),latencyByTransport:ne(e.latencyByTransport??e.latency_by_transport)};return Ke({device:a})}function Rt(t){let e=G(t);return Z({peerId:i(e,"peerId","peer_id")||"",deviceId:i(e,"deviceId","device_id"),deviceIdHint:i(e,"deviceIdHint","device_id_hint"),nodeId:i(e,"nodeId","node_id"),activeConnectionId:i(e,"activeConnectionId","active_connection_id"),candidates:Array.isArray(e.candidates)?e.candidates.filter(n=>typeof n=="string"):Array.isArray(e.candidateConnectionIds)?e.candidateConnectionIds.filter(n=>typeof n=="string"):Array.isArray(e.candidate_connection_ids)?e.candidate_connection_ids.filter(n=>typeof n=="string"):[],status:i(e,"status")||"disconnected",health:i(e,"health")||"unknown",settledReady:u(e,"settledReady","settled_ready")??false,readinessState:i(e,"readinessState","readiness_state")??void 0,transportStableId:s(e,"transportStableId","activeTransportStableId","active_transport_stable_id")??void 0,transportGeneration:s(e,"transportGeneration","transport_generation")??void 0,routeGeneration:s(e,"routeGeneration","route_generation")??void 0,activeTransport:g(e,"activeTransport","active_transport"),parallelTransport:g(e,"parallelTransport","parallel_transport")??null,replacementPending:u(e,"replacementPending","replacement_pending")??void 0,logicalSessionTerminal:u(e,"logicalSessionTerminal","logical_session_terminal")??false,lastTransitionAtMs:s(e,"lastTransitionAtMs","lastLifecycleTransitionAtMs","last_lifecycle_transition_at_ms")??void 0,readinessReason:i(e,"readinessReason","readiness_reason")??void 0,transitionCount:s(e,"transitionCount","transition_count")??void 0,connectTransitions:s(e,"connectTransitions","connectingTransitionCount","connecting_transition_count")??void 0,replacementCount:s(e,"replacementCount","replacement_count")??void 0,retireCount:s(e,"retireCount","retire_count")??void 0,lastDisconnectReason:i(e,"lastDisconnectReason","last_disconnect_reason")??void 0,lastReconnectReason:i(e,"lastReconnectReason","last_reconnect_reason")??void 0,scopes:Array.isArray(e.scopes)?e.scopes.filter(n=>typeof n=="string"):[],lastSeenAtMs:typeof e.lastSeenAtMs=="number"?e.lastSeenAtMs:typeof e.last_seen_at_ms=="number"?e.last_seen_at_ms:0,error:i(e,"error"),errorCode:i(e,"errorCode","error_code")??void 0,retryable:u(e,"retryable")??void 0,errorPlane:i(e,"errorPlane","error_plane")??void 0})}function _t(t){let e=S(t);return {connectionId:typeof e.connectionId=="string"?e.connectionId:"",nodeId:typeof e.nodeId=="string"?e.nodeId:null,deviceId:typeof e.deviceId=="string"?e.deviceId:null,deviceIdHint:typeof e.deviceIdHint=="string"?e.deviceIdHint:null,endpointId:typeof e.endpointId=="string"?e.endpointId:null,transportGeneration:typeof e.transportGeneration=="number"?e.transportGeneration:0,routeGeneration:typeof e.routeGeneration=="number"?e.routeGeneration:void 0,transportStableId:typeof e.transportStableId=="number"?e.transportStableId:null,transportSource:typeof e.transportSource=="string"?e.transportSource:null,lastTransportChangeAtMs:typeof e.lastTransportChangeAtMs=="number"?e.lastTransportChangeAtMs:0,lastRouteChangeAtMs:typeof e.lastRouteChangeAtMs=="number"?e.lastRouteChangeAtMs:void 0,state:typeof e.state=="string"?e.state:"pending",statusReason:typeof e.statusReason=="string"?e.statusReason:null,transitionCount:typeof e.transitionCount=="number"?e.transitionCount:void 0,connectTransitions:typeof e.connectTransitions=="number"?e.connectTransitions:void 0,replacementCount:typeof e.replacementCount=="number"?e.replacementCount:void 0,retireCount:typeof e.retireCount=="number"?e.retireCount:void 0,lastDisconnectReason:typeof e.lastDisconnectReason=="string"?e.lastDisconnectReason:void 0,lastReconnectReason:typeof e.lastReconnectReason=="string"?e.lastReconnectReason:void 0,createdAtMs:typeof e.createdAtMs=="number"?e.createdAtMs:0,updatedAtMs:typeof e.updatedAtMs=="number"?e.updatedAtMs:0}}function wt(t){let e=S(t);return {peerId:typeof e.peerId=="string"?e.peerId:null,deviceId:typeof e.deviceId=="string"?e.deviceId:null,deviceIdHint:typeof e.deviceIdHint=="string"?e.deviceIdHint:null,nodeId:typeof e.nodeId=="string"?e.nodeId:null}}function Le(t){switch(t){case "connected":return "connected";case "connecting":return "connecting";case "failed":return "failed";default:return "closed"}}function At(t){let e=t.activeConnectionId||t.candidates[0]||null;if(!e)return null;let n=Le(t.status),r=n==="connected"?"connected":n==="connecting"?"connecting":"closed",o=n==="connected"?t.settledReady?"routable":"transport-only":n==="connecting"?"connecting":"closed";return {connectionId:e,deviceId:t.deviceId??null,deviceIdHint:t.deviceIdHint??null,remoteNodeId:t.nodeId??null,state:n,transportState:r,protocolState:o,routable:!!t.settledReady,readinessState:t.readinessState,readinessReason:t.readinessReason,transportGeneration:t.transportGeneration,routeGeneration:t.routeGeneration,transportStableId:t.transportStableId,activeTransport:t.activeTransport,parallelTransport:t.parallelTransport??null,replacementInProgress:t.replacementPending,logicalSessionTerminal:t.logicalSessionTerminal===true,lastTransitionAtMs:t.lastTransitionAtMs,transitionCount:t.transitionCount,connectTransitions:t.connectTransitions,replacementCount:t.replacementCount,retireCount:t.retireCount,lastDisconnectReason:t.lastDisconnectReason??void 0,lastReconnectReason:t.lastReconnectReason??void 0,updatedAt:t.lastSeenAtMs,error:t.error??void 0}}function Fe(t){if(!t||typeof t!="object")return null;let e=t;return ["acceptedWriteObjects","acceptedWriteBytes","completedReceivedObjects","completedReceivedBytes"].every(r=>typeof e[r]=="number"&&Number.isSafeInteger(e[r])&&e[r]>=0)?Object.freeze({acceptedWriteObjects:e.acceptedWriteObjects,acceptedWriteBytes:e.acceptedWriteBytes,completedReceivedObjects:e.completedReceivedObjects,completedReceivedBytes:e.completedReceivedBytes}):null}function Ct(t){let e=S(t),n=i(e,"connectionId","connection_id");if(!n)return null;let r=i(e,"state")||"connecting",o=s(e,"createdAt","created_at")??s(e,"updatedAt","updated_at")??Date.now(),a=s(e,"updatedAt","updated_at")??o;return {connectionId:n,deviceId:i(e,"deviceId","device_id"),deviceIdHint:i(e,"deviceIdHint","device_id_hint"),remoteNodeId:i(e,"remoteNodeId","remote_node_id"),state:r,transportState:i(e,"transportState","transport_state")??(r==="connected"?"connected":r==="connecting"?"connecting":"closed"),protocolState:i(e,"protocolState","protocol_state")??(r==="connected"?"routable":r==="connecting"?"connecting":"closed"),routable:u(e,"routable")??false,scopes:k(e.scopes),logicalSessionTerminal:u(e,"logicalSessionTerminal","logical_session_terminal")??false,readinessState:i(e,"readinessState","readiness_state")??void 0,readinessReason:i(e,"readinessReason","readiness_reason")??void 0,transportGeneration:s(e,"transportGeneration","transport_generation")??void 0,routeGeneration:s(e,"routeGeneration","route_generation")??void 0,transportStableId:s(e,"transportStableId","activeTransportStableId","active_transport_stable_id")??void 0,activeTransport:g(e,"activeTransport","active_transport"),parallelTransport:g(e,"parallelTransport","parallel_transport")??null,latencyMs:s(e,"latencyMs","latency_ms")??null,carrier:g(e,"carrier")??null,metricsSampledAtMs:s(e,"metricsSampledAtMs","metrics_sampled_at_ms")??null,moqObjectQuantities:Fe(e.moqObjectQuantities??e.moq_object_quantities),replacementInProgress:u(e,"replacementInProgress","replacement_in_progress")??void 0,lastTransitionAtMs:s(e,"lastTransitionAtMs","lastLifecycleTransitionAtMs","last_lifecycle_transition_at_ms")??void 0,transitionCount:s(e,"transitionCount","transition_count")??void 0,connectTransitions:s(e,"connectTransitions","connectingTransitionCount","connecting_transition_count")??void 0,replacementCount:s(e,"replacementCount","replacement_count")??void 0,retireCount:s(e,"retireCount","retire_count")??void 0,lastDisconnectReason:i(e,"lastDisconnectReason","last_disconnect_reason")??void 0,lastReconnectReason:i(e,"lastReconnectReason","last_reconnect_reason")??void 0,error:i(e,"error")??void 0,createdAt:o,updatedAt:a}}function Pt(t,e){return t?t.connectionId===e.connectionId&&(t.deviceId??null)===(e.deviceId??null)&&(t.deviceIdHint??null)===(e.deviceIdHint??null)&&(t.remoteNodeId??null)===(e.remoteNodeId??null)&&t.state===e.state&&(t.transportState??null)===(e.transportState??null)&&(t.protocolState??null)===(e.protocolState??null)&&!!t.routable==!!e.routable&&JSON.stringify(t.scopes??[])===JSON.stringify(e.scopes??[])&&(t.activeTransport??null)===(e.activeTransport??null)&&(t.parallelTransport??null)===(e.parallelTransport??null)&&(t.transportStableId??null)===(e.transportStableId??null)&&(t.transportGeneration??null)===(e.transportGeneration??null)&&(t.routeGeneration??null)===(e.routeGeneration??null)&&!!t.replacementInProgress==!!e.replacementInProgress&&!!t.logicalSessionTerminal==!!e.logicalSessionTerminal&&(t.transitionCount??null)===(e.transitionCount??null)&&(t.connectTransitions??null)===(e.connectTransitions??null)&&(t.replacementCount??null)===(e.replacementCount??null)&&(t.retireCount??null)===(e.retireCount??null)&&(t.lastDisconnectReason??null)===(e.lastDisconnectReason??null)&&(t.lastReconnectReason??null)===(e.lastReconnectReason??null)&&(t.error??null)===(e.error??null):false}export{G as A,Tt as B,It as C,Ne as D,Ke as E,ht as F,Rt as G,_t as H,wt as I,At as J,Ct as K,Pt as L,U as a,ie as b,ae as c,Ue as d,qe as e,q as f,se as g,Ve as h,$e as i,Xe as j,z as k,tt as l,it as m,at as n,st as o,ct as p,lt as q,Me as r,Ee as s,ut as t,De as u,xe as v,X as w,ft as x,yt as y,gt as z};
|