openrtc 2.4.0 → 2.5.2
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/README.md +97 -5
- package/dist/BrowserManagedBroadcastHost-ARCP5MGJ.js +1 -0
- package/dist/{Connection-DZ5eP5hL.d.ts → Connection-CTpuImO-.d.ts} +168 -4
- package/dist/{DelegatingRuntimeAdapter-4cgiIWMN.d.ts → DelegatingRuntimeAdapter-D67Ozqo3.d.ts} +7 -3
- package/dist/{IpcRuntimeAdapter-Dduaxscj.d.ts → IpcRuntimeAdapter-Ddx0MtSI.d.ts} +8 -2
- package/dist/NativeManagedBroadcastHost-WCQ6TPUU.js +1 -0
- package/dist/WasmBridge-LWMCETW4.js +1 -0
- package/dist/{assembly-By3UBQsE.d.ts → assembly-LOFcpH3S.d.ts} +9 -3
- package/dist/{capabilities-B2mHv_H7.d.ts → capabilities-CmzzxSvW.d.ts} +13 -2
- package/dist/chunk-6Q2LAXM4.js +1 -0
- package/dist/chunk-AAZPQQXX.js +2 -0
- package/dist/chunk-AYHD4X2R.js +1 -0
- package/dist/chunk-BFN3AVHA.js +2 -0
- package/dist/chunk-BGWJHPBC.js +2 -0
- package/dist/chunk-CCCYE3XN.js +1 -0
- package/dist/chunk-CNAW5BZ3.js +2 -0
- package/dist/chunk-DUY34MGT.js +1 -0
- package/dist/{chunk-5XOLKH66.js → chunk-EFTDXE6M.js} +1 -1
- package/dist/chunk-FB5M6GIW.js +2 -0
- package/dist/chunk-J7NBMQQA.js +2 -0
- package/dist/chunk-LLZT3MR6.js +118 -0
- package/dist/chunk-N6LGTNUI.js +1 -0
- package/dist/{chunk-4MLJXEVV.js → chunk-NDR2ANQB.js} +1 -1
- package/dist/chunk-PLIWPC45.js +1 -0
- package/dist/chunk-TZLNKQNJ.js +1 -0
- package/dist/chunk-VFDCIEP6.js +2 -0
- package/dist/{chunk-P2SHJMS3.js → chunk-VTYVIKTM.js} +1 -1
- package/dist/chunk-XTYALGJN.js +2 -0
- package/dist/{controlPlane-7E6KGQPP.js → controlPlane-IIPEJ77Q.js} +1 -1
- package/dist/coreClient.d.ts +3 -3
- package/dist/coreClient.js +1 -1
- package/dist/{deviceEnrollment-CBJYXZ43.js → deviceEnrollment-ZQZ2WP5H.js} +1 -1
- package/dist/{deviceKey-Y35WSEQQ.js → deviceKey-EIMDBAQS.js} +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.js +1 -1
- package/dist/ipcFactory-PDVLUG2W.js +1 -0
- package/dist/native.d.ts +5 -5
- package/dist/native.js +1 -1
- package/dist/node-browser.d.ts +8 -0
- package/dist/node-browser.js +1 -0
- package/dist/node.d.ts +91 -0
- package/dist/node.js +2 -0
- package/dist/openrtc-SQF7H4ZE.js +2 -0
- package/dist/openrtc_bg.wasm +0 -0
- package/dist/room-A2FMQRNZ.js +1 -0
- package/dist/runtime/WasmRuntimeAdapter.d.ts +3 -3
- package/dist/runtime/WasmRuntimeAdapter.js +1 -1
- package/dist/runtime/device-status.d.ts +1 -1
- package/dist/runtime/factories.d.ts +75 -6
- package/dist/runtime/factories.js +1 -1
- package/dist/runtime/index.d.ts +11 -10
- package/dist/runtime/index.js +1 -1
- package/dist/server-browser.d.ts +14 -0
- package/dist/server-browser.js +1 -0
- package/dist/server.d.ts +44 -0
- package/dist/server.js +2 -0
- package/dist/service-node.d.ts +156 -0
- package/dist/service-node.js +1 -0
- package/dist/testing/native.d.ts +4 -4
- package/dist/testing/native.js +1 -1
- package/dist/testing.d.ts +40 -5
- package/dist/testing.js +1 -1
- package/dist/transport/index.d.ts +2 -2
- package/dist/{types-BArEthJr.d.ts → types-Cyc-mPjk.d.ts} +189 -2
- package/native/darwin-arm64/openrtc-node-host +0 -0
- package/native/darwin-arm64/openrtc-node-host.manifest.json +20 -0
- package/native/darwin-x64/openrtc-node-host +0 -0
- package/native/darwin-x64/openrtc-node-host.manifest.json +20 -0
- package/native/linux-x64/openrtc-node-host +0 -0
- package/native/linux-x64/openrtc-node-host.manifest.json +20 -0
- package/native/openrtc-node-host-signing-public.pem +3 -0
- package/package.json +28 -4
- package/dist/WasmBridge-3W2HHADU.js +0 -1
- package/dist/chunk-2LATKLCC.js +0 -118
- package/dist/chunk-6OFAKLDB.js +0 -2
- package/dist/chunk-AJQVMVYW.js +0 -1
- package/dist/chunk-BCGCJGIV.js +0 -2
- package/dist/chunk-BOS554IK.js +0 -2
- package/dist/chunk-GNW63SM6.js +0 -2
- package/dist/chunk-MI3ZMVPK.js +0 -2
- package/dist/chunk-WB66633N.js +0 -1
- package/dist/chunk-XEHBTMJQ.js +0 -1
- package/dist/chunk-YYI6AY6W.js +0 -2
- package/dist/ipcFactory-4PCGKZIN.js +0 -1
- package/dist/openrtc-5HAYVDHT.js +0 -2
package/dist/coreClient.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {l}from'./chunk-
|
|
1
|
+
import {l}from'./chunk-XTYALGJN.js';import'./chunk-OWKAJPOI.js';import'./chunk-2GX6GB6L.js';function I(o){let s=l({...o});if("auth"in o&&!o.authMode){let n=o.auth;s.authMode=n==="none"?"anonymous":n;}if("identity"in o){let n=o.identity,r=n==="temporary"?"ephemeral":n;!o.deviceIdPersistence&&!o.nodeIdPersistence&&(s.deviceIdPersistence=r),!o.endpointIdPersistence&&!o.nodeIdPersistence&&(s.endpointIdPersistence=r);}return "namespace"in o&&!o.storagePrefix&&(s.storagePrefix=o.namespace),"privacy"in o&&o.strictMode===void 0&&(s.strictMode=!!o.privacy),s}function D(o,s){let n=o.runtime,r=Object.create(n),d=async e=>{if(typeof e!="string")return e;let i=(await n.listDevices()).find(c=>c.deviceId===e);if(!i)throw new Error(`OpenRTC device '${e}' is not currently discoverable.`);return i},u=async e=>({...e,localDeviceId:e?.localDeviceId??await n.getLocalDeviceId()??""}),g=async e=>{let{device:t,scope:i,...c}=e,a=c.deviceId??(typeof t=="string"?t:t?.deviceId)??null,l=c.ticket??(typeof t=="string"?void 0:t?.ticket);a&&!l&&(l=(await d(a).catch(()=>null))?.ticket);let m={...c,scope:i??"session"};return a&&(m.deviceId=a),l&&(m.ticket=l),m},v={list:()=>n.listDevices(),startSession:(e={})=>n.startManagedSession({...e,platform:e.platform??s}),stopSession:e=>n.stopManagedSession(e),listWithStatus:()=>n.listDeviceStatus(),watch:e=>n.watchDevices(e),watchWithStatus:e=>n.watchDeviceStatus(e),connect:async(e,t)=>n.connectDevice(await d(e),await u(t)),connectWithRetry:async(e,t,i)=>n.connectWithRetry(await d(e),t,i),disconnect:e=>n.disconnectDevice(e),update:(e,t)=>n.updateDevice(e,t),delete:e=>n.deleteDevice(e),localId:()=>n.getLocalDeviceId(),localInfo:()=>n.getLocalDeviceInfo(),localProfile:e=>n.localDeviceProfile(e),updateLocalName:e=>n.updateDeviceName(e)},P={watch:e=>n.watchPeerStates(e),watchLifecycle:e=>typeof n.watchPeerLifecycle=="function"?n.watchPeerLifecycle(e):typeof n.watchPeerStates=="function"?n.watchPeerStates(e):()=>{},get:e=>n.getPeerState(e),listConnected:()=>n.listConnectedPeers(),connect:e=>n.connectPeer(e),disconnect:(e,t)=>n.disconnectPeer(e,t),forceDisconnect:e=>n.forceDisconnectPeer(e),session:e=>n.getPeerSession(e),sessions:()=>n.listPeerSessions(),waitConnected:(e,t)=>n.waitForConnectedPeer(e,t),readiness:(e,t)=>n.getPeerReadiness(e,t),health:e=>n.getPeerHealth(e),identity:e=>n.resolvePeerIdentity(e),addScope:(e,t)=>n.addPeerScope(e,t),releaseScope:(e,t)=>n.releasePeerScope(e,t),scopes:e=>n.getPeerScopes(e),refresh:()=>n.refreshPeerSnapshot()},C={register:e=>n.registerChannel(e),unregister:e=>n.unregisterChannel(e),list:()=>n.listChannels(),openBi:(e,t,i)=>n.openPeerBi(e,{...i,channelId:t}),openUni:(e,t,i)=>n.openPeerUni(e,{...i,channelId:t}),onIncoming:e=>n.onIncomingStream(e),onIncomingChannel:(e,t)=>n.onChannelStream(e,i=>{if(i.channel)return t(i)}),connect:async e=>n.connectScopedChannel(await g(e)),connectScoped:e=>n.connectScopedChannel(e)},h={create:e=>n.createRoom(e),join:(e,t)=>n.joinRoom(e,t),leave:e=>n.leaveRoom(e),watch:(e,t)=>n.watchRoom(e,t),members:e=>n.getRoomMembers(e)},S={raw:()=>n.getInvite(),share:e=>n.getTicketWithToken("share",e?.maxConnections??1),grant:(e,t)=>n.getTicketWithToken(e,t?.maxConnections??0),revoke:e=>n.revokeTokensByScope(e)},b={status:()=>n.getRuntimeStatus(),policy:()=>n.getRuntimePolicy(),capabilities:()=>n.capabilities(),capabilityProfile:()=>n.getCapabilityProfile(),connectionStates:()=>n.getConnectionStates(),onStateChange:e=>n.onStateChange(e),connections:()=>n.getConnections(),applicationReadyConnections:e=>n.readyConnections(e),onConnection:e=>n.onConnection(e),onDisconnection:e=>n.onDisconnection(e),onConnectionEvent:e=>n.onConnectionEvent(e),forceReconnect:()=>n.forceReconnect(),peerReconciliation:()=>n.reconciliationStats()},f={runtime:n,assembly:o,nodeId:()=>n.getNodeId(),nodeIdFromTicket:e=>n.getNodeIdFromTicket(e),endpointTicket:()=>n.getEndpointTicket(),connectRaw:e=>n.connectRaw(e),openBi:e=>n.openBi(e),openUni:e=>n.openUni(e),isConnected:e=>n.isConnected(e),disconnectNode:e=>n.disconnectNode(e),excludeAutoConnect:(e,t)=>n.excludeAutoConnect(e,t),notifyNetworkChange:e=>n.notifyNetworkChange(e)};return Object.defineProperties(r,{devices:{get:()=>v,enumerable:true},peers:{get:()=>P,enumerable:true},channels:{get:()=>C,enumerable:true},rooms:{get:()=>h,enumerable:true},tickets:{get:()=>S,enumerable:true},diagnostics:{get:()=>b,enumerable:true},advanced:{get:()=>f,enumerable:true},setAuth:{value:e=>o.setAuthContext(e),enumerable:true,writable:true,configurable:true},setAuthContext:{value:e=>o.setAuthContext(e),enumerable:true,writable:true,configurable:true},syncPlutoAuth:{value:e=>o.syncPlutoAuth(e),enumerable:true,writable:true,configurable:true},bindPlutoAuthHost:{value:()=>o.bindPlutoAuthHost(),enumerable:true,writable:true,configurable:true},signIn:{value:()=>o.signInWithPluto(),enumerable:true,writable:true,configurable:true},signOut:{value:()=>o.signOut(),enumerable:true,writable:true,configurable:true},runtime:{get:()=>n,enumerable:false},_assembly:{get:()=>o,enumerable:false}}),r}export{I as resolveOptions,D as wrapAssembly};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {d,a}from'./chunk-
|
|
1
|
+
import {d,a}from'./chunk-N6LGTNUI.js';function v(e){return e.status===403&&e.reason==="device-enrollment-revoked"}async function p(e){let r=e.identity,a$1=async(o=false,t=e.recoverRevokedEnrollment)=>{let n=await e.key.proof((d,l)=>["openrtc:v2:device-enroll",e.appTag,r.principalId,e.deviceId,d,l].join(":")),i=e.attestation?{kind:e.attestation.kind,...await e.attestation.getEvidence({challenge:`openrtc:v2:attestation:${e.appTag}:${r.principalId}:${e.deviceId}:${n.nonce}`,apiKey:e.apiKey})}:void 0;return e.post("/v2/devices/enroll",{identitySession:r.identitySession,deviceId:e.deviceId,deviceProof:n,...e.profile?.name||e.profile?.platform?{deviceProfile:{...e.profile.name?{name:e.profile.name}:{},...e.profile.platform?{platform:e.profile.platform}:{}}}:{},...t?{recoverRevokedEnrollment:true}:{},...o?{recoverDeviceKey:true}:{},...i?{attestation:i}:{}})};try{return {identity:r,enrollment:await a$1()}}catch(o){let t=o;if(!(t instanceof Error))throw o;if(v(t)){if(r.deviceRecoveryAuthorized===false)throw d(a.AUTH_DEVICE_REENROLLMENT_REQUIRED,"This device was removed. Sign in again to authorize re-enrollment.",{retryable:true,plane:"auth",cause:o});return {identity:r,enrollment:await a$1(false,true)}}if(t.status!==412||t.reason!=="device-key-recovery-required")throw o;let n=await e.auth.getAssertion({audience:"https://api.openrtc.app/v2/assertions/exchange",forceRefresh:true,deviceId:e.deviceId,recoveryReason:"device-key-rotation"});if(!n)throw new Error("The OpenRTC auth provider returned no assertion.");let i=await e.post("/v2/assertions/exchange",{assertion:n,...e.auth.providerId?{providerId:e.auth.providerId}:{}});if(e.recordAssertionExchange(),i.principalId!==r.principalId)throw new Error("The authenticated principal changed during device-key recovery.");return r=i,{identity:r,enrollment:await a$1(true)}}}
|
|
2
2
|
export{p as enrollDevice};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{c as browserDeviceKeyProvider,b as createDeviceKey,a as deviceKeyThumbprint}from'./chunk-
|
|
1
|
+
export{c as browserDeviceKeyProvider,b as createDeviceKey,a as deviceKeyThumbprint}from'./chunk-NDR2ANQB.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { P as PlutoIpcBridge } from './ipc-DgzKqHH3.js';
|
|
2
|
-
import { O as Options, C as Client } from './types-
|
|
3
|
-
export { a as AttestationProvider, b as AuthProvider, c as Avenue,
|
|
2
|
+
import { O as Options, C as Client } from './types-Cyc-mPjk.js';
|
|
3
|
+
export { a as AttestationProvider, b as AuthProvider, c as Avenue, e as BroadcastGrant, i as BroadcastPublisher, j as BroadcastRole, k as BroadcastSession, l as BroadcastSource, m as BroadcastState, n as BroadcastStats, o as BroadcastTrackEvent, p as Channel, r as Connection, s as DeviceOptions, t as DeviceProfile, u as Devices, E as EnrolledDevice, N as Offline, P as OfflineAssurance, Q as OfflineEnrollmentRequest, R as OfflineRuntimeSupport, X as Room, Y as RoomOptions, $ as Space, a0 as SpaceOptions, a1 as State, a2 as Ticket, a3 as TicketOptions, a4 as Transports, a6 as UsageUpdate, a7 as UsageWarning } from './types-Cyc-mPjk.js';
|
|
4
4
|
import './coreClient.js';
|
|
5
|
-
import './assembly-
|
|
6
|
-
import './Connection-
|
|
7
|
-
import './capabilities-
|
|
5
|
+
import './assembly-LOFcpH3S.js';
|
|
6
|
+
import './Connection-CTpuImO-.js';
|
|
7
|
+
import './capabilities-CmzzxSvW.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Create a lazy OpenRTC 2.0 browser client. Construction validates only local
|
|
@@ -36,6 +36,7 @@ declare const ERROR_CODES: {
|
|
|
36
36
|
readonly AUTH_DEVICE_REENROLLMENT_REQUIRED: "auth/device-reenrollment-required";
|
|
37
37
|
readonly ADMISSION_DENIED: "admission/denied";
|
|
38
38
|
readonly ADMISSION_SCOPE_MISMATCH: "admission/scope-mismatch";
|
|
39
|
+
readonly ROOM_ARCHITECTURE_UNAVAILABLE: "room-architecture-unavailable";
|
|
39
40
|
readonly BUDGET_EXCEEDED: "budget/exceeded";
|
|
40
41
|
readonly BUDGET_STALE: "budget/stale";
|
|
41
42
|
/** Gateway avenue escrow exhausted; re-auth renews budget and may replay once. */
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$
|
|
1
|
+
import {a as a$1}from'./chunk-VFDCIEP6.js';import {a}from'./chunk-VTYVIKTM.js';import {d}from'./chunk-72NEEJQG.js';import'./chunk-NDR2ANQB.js';import {i}from'./chunk-TZLNKQNJ.js';import'./chunk-ZA44REGI.js';import'./chunk-LLZT3MR6.js';import'./chunk-DUY34MGT.js';import'./chunk-CCCYE3XN.js';export{a as ERROR_CODES,b as RTCError,e as classifyError,d as createError,c as projectError}from'./chunk-N6LGTNUI.js';import'./chunk-JPBW67B3.js';import'./chunk-2GX6GB6L.js';function y(a){return i(a,{platform:"web",broadcastHostFactory:async e=>{let[{BrowserManagedBroadcastHost:o},{loadBrowserWasmRuntimeModule:t}]=await Promise.all([import('./BrowserManagedBroadcastHost-ARCP5MGJ.js'),import('./WasmBridge-LWMCETW4.js')]),r=t().then(async n=>(await n.initWasm(),n.start(),new n.WasmClient(e.apiKey)));return new o({resolve:e.resolve,manage:e.manage,deviceId:e.deviceId,defaultAuth:e.defaultAuth,loadWasm:()=>r})},runtimeFactory:async e=>{let{createWasmClient:o}=await import('./runtime/factories.js');return o(e)}})}y.native=function(a$2,e=d()){let o=new a;return i(a$2,{platform:"native",broadcastHostFactory:async t=>{let{NativeManagedBroadcastHost:r}=await import('./NativeManagedBroadcastHost-WCQ6TPUU.js');return new r(e,t)},offlineSupport:()=>e.invoke("openrtc_offline_runtime_support"),createOfflineEnrollmentRequest:async t=>{let r=await e.invoke("start_iroh_node");return e.invoke("openrtc_create_offline_enrollment_request",{trustDomain:t.trustDomain,deviceId:t.deviceId,endpointId:r,enrollmentNonce:crypto.randomUUID(),requestedRoles:t.requestedRoles})},close:()=>o.close(),deviceKeyProvider:a$1(e),deviceIdProvider:async()=>{let t=await e.invoke("get_rtc_local_device_info");return String(t?.deviceId??"")},runtimeFactory:async t=>{let{createIpcClient:r}=await import('./ipcFactory-PDVLUG2W.js');return r(t,e,o)}})};export{y as OpenRTC};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a as a$2}from'./chunk-EFTDXE6M.js';import {s}from'./chunk-FB5M6GIW.js';import'./chunk-BGWJHPBC.js';import'./chunk-6Q2LAXM4.js';import'./chunk-AAZPQQXX.js';import {a as a$1}from'./chunk-XTYALGJN.js';import'./chunk-TYZS5LXQ.js';import'./chunk-OT7IPLZE.js';import'./chunk-OWKAJPOI.js';import {a}from'./chunk-VTYVIKTM.js';import'./chunk-72NEEJQG.js';import'./chunk-CNAW5BZ3.js';import'./chunk-DUY34MGT.js';import'./chunk-CCCYE3XN.js';import'./chunk-N6LGTNUI.js';import'./chunk-JPBW67B3.js';import'./chunk-2GX6GB6L.js';function l(p,n,m=new a){let t=a$1(p);return a$2(t,new s({...t,bridge:n,projectionBroker:m}))}export{l as createIpcClient};
|
package/dist/native.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { O as Options, C as Client } from './types-
|
|
2
|
-
export { A as AccessMode, a as AttestationProvider, b as AuthProvider, c as Avenue, B as BotVerificationProvider, d as
|
|
1
|
+
import { O as Options, C as Client } from './types-Cyc-mPjk.js';
|
|
2
|
+
export { A as AccessMode, a as AttestationProvider, b as AuthProvider, c as Avenue, B as BotVerificationProvider, d as BroadcastCreateOptions, e as BroadcastGrant, f as BroadcastInvite, g as BroadcastInviteOptions, h as BroadcastMedia, i as BroadcastPublisher, j as BroadcastRole, k as BroadcastSession, l as BroadcastSource, m as BroadcastState, n as BroadcastStats, o as BroadcastTrackEvent, p as Channel, q as Channels, r as Connection, D as Delivery, s as DeviceOptions, t as DeviceProfile, u as Devices, E as EnrolledDevice, I as IncomingPeerBidirectionalStream, v as IncomingPeerUnidirectionalStream, M as MediaConnection, w as MediaIncomingDemuxStats, x as MediaKind, y as MediaLatencySummary, z as MediaReceiver, F as MediaReceiverStats, G as MediaSender, H as MediaSenderStats, J as MediaStats, K as MediaTrackEvent, L as MediaTrackOptions, N as Offline, P as OfflineAssurance, Q as OfflineEnrollmentRequest, R as OfflineRuntimeSupport, S as PeerBidirectionalStream, T as PeerDatagramDuplexStream, U as PeerDatagramStats, V as PeerStreamOptions, W as PeerStreamTransport, X as Room, Y as RoomOptions, Z as RoomUsageEstimate, _ as RoomUsageEstimateInput, $ as Space, a0 as SpaceOptions, a1 as State, a2 as Ticket, a3 as TicketOptions, a4 as Transports, a5 as Usage, a6 as UsageUpdate, a7 as UsageWarning } from './types-Cyc-mPjk.js';
|
|
3
3
|
import { P as PlutoIpcBridge } from './ipc-DgzKqHH3.js';
|
|
4
|
+
export { E as EffectiveRoomArchitecture, R as RoomArchitectureMode, a as RoomArchitectureReason, b as RoomArchitectureSnapshot, c as RoomAuthorityAssignment } from './Connection-CTpuImO-.js';
|
|
4
5
|
import './coreClient.js';
|
|
5
|
-
import './assembly-
|
|
6
|
-
import './
|
|
7
|
-
import './capabilities-B2mHv_H7.js';
|
|
6
|
+
import './assembly-LOFcpH3S.js';
|
|
7
|
+
import './capabilities-CmzzxSvW.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Native-only OpenRTC entrypoint for Tauri and other IPC-backed frontends.
|
package/dist/native.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-VFDCIEP6.js';import {a}from'./chunk-VTYVIKTM.js';import {d}from'./chunk-72NEEJQG.js';import'./chunk-NDR2ANQB.js';import {i}from'./chunk-TZLNKQNJ.js';import'./chunk-ZA44REGI.js';import'./chunk-LLZT3MR6.js';import'./chunk-DUY34MGT.js';import'./chunk-CCCYE3XN.js';import'./chunk-N6LGTNUI.js';import'./chunk-JPBW67B3.js';import'./chunk-2GX6GB6L.js';function u(p,t=d()){let r=new a;return i(p,{platform:"native",broadcastHostFactory:async e=>{let{NativeManagedBroadcastHost:o}=await import('./NativeManagedBroadcastHost-WCQ6TPUU.js');return new o(t,e)},offlineSupport:()=>t.invoke("openrtc_offline_runtime_support"),createOfflineEnrollmentRequest:async e=>{let o=await t.invoke("start_iroh_node");return t.invoke("openrtc_create_offline_enrollment_request",{trustDomain:e.trustDomain,deviceId:e.deviceId,endpointId:o,enrollmentNonce:crypto.randomUUID(),requestedRoles:e.requestedRoles})},close:()=>r.close(),deviceKeyProvider:a$1(t),deviceIdProvider:async()=>{let e=await t.invoke("get_rtc_local_device_info");return String(e?.deviceId??"")},runtimeFactory:async e=>{let{createIpcClient:o}=await import('./ipcFactory-PDVLUG2W.js');return o(e,t,r)}})}export{u as OpenRTC};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Browser export for `openrtc/node`; process and secret-bearing helpers are unavailable. */
|
|
2
|
+
declare class ServiceNode {
|
|
3
|
+
constructor();
|
|
4
|
+
}
|
|
5
|
+
declare function OpenRTC(): never;
|
|
6
|
+
declare function inspectNodeHost(): Promise<never>;
|
|
7
|
+
|
|
8
|
+
export { OpenRTC, ServiceNode, inspectNodeHost };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(){throw new Error("[OpenRTC] openrtc/node is unavailable in browsers; use openrtc/service-node with a delegated grant.")}var n=class{constructor(){e();}};function t(){return e()}async function o(){return e()}export{t as OpenRTC,n as ServiceNode,o as inspectNodeHost};
|
package/dist/node.d.ts
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { O as Options, C as Client } from './types-Cyc-mPjk.js';
|
|
2
|
+
export { A as AccessMode, a as AttestationProvider, b as AuthProvider, c as Avenue, B as BotVerificationProvider, d as BroadcastCreateOptions, e as BroadcastGrant, f as BroadcastInvite, g as BroadcastInviteOptions, h as BroadcastMedia, i as BroadcastPublisher, j as BroadcastRole, k as BroadcastSession, l as BroadcastSource, m as BroadcastState, n as BroadcastStats, o as BroadcastTrackEvent, p as Channel, q as Channels, r as Connection, D as Delivery, s as DeviceOptions, t as DeviceProfile, u as Devices, E as EnrolledDevice, I as IncomingPeerBidirectionalStream, v as IncomingPeerUnidirectionalStream, M as MediaConnection, w as MediaIncomingDemuxStats, x as MediaKind, y as MediaLatencySummary, z as MediaReceiver, F as MediaReceiverStats, G as MediaSender, H as MediaSenderStats, J as MediaStats, K as MediaTrackEvent, L as MediaTrackOptions, N as Offline, P as OfflineAssurance, Q as OfflineEnrollmentRequest, R as OfflineRuntimeSupport, S as PeerBidirectionalStream, T as PeerDatagramDuplexStream, U as PeerDatagramStats, V as PeerStreamOptions, W as PeerStreamTransport, X as Room, Y as RoomOptions, Z as RoomUsageEstimate, _ as RoomUsageEstimateInput, $ as Space, a0 as SpaceOptions, a1 as State, a2 as Ticket, a3 as TicketOptions, a4 as Transports, a5 as Usage, a6 as UsageUpdate, a7 as UsageWarning } from './types-Cyc-mPjk.js';
|
|
3
|
+
import { P as PlutoIpcBridge } from './ipc-DgzKqHH3.js';
|
|
4
|
+
import { AuthorityAssignmentInput, AuthorityInterestAssignment } from './service-node.js';
|
|
5
|
+
export { E as EffectiveRoomArchitecture, R as RoomArchitectureMode, a as RoomArchitectureReason, b as RoomArchitectureSnapshot, c as RoomAuthorityAssignment } from './Connection-CTpuImO-.js';
|
|
6
|
+
import './coreClient.js';
|
|
7
|
+
import './assembly-LOFcpH3S.js';
|
|
8
|
+
import './capabilities-CmzzxSvW.js';
|
|
9
|
+
|
|
10
|
+
interface NodeServiceNodeOptions {
|
|
11
|
+
apiKey: string;
|
|
12
|
+
/** Trusted server credential. It is sent on stdin, never argv or the environment. */
|
|
13
|
+
secretKey: string;
|
|
14
|
+
serviceId: string;
|
|
15
|
+
generation: number;
|
|
16
|
+
shardIds: string[];
|
|
17
|
+
deviceId: string;
|
|
18
|
+
/** Absolute private directory used for the durable device, authority, and Iroh keys. */
|
|
19
|
+
stateDirectory: string;
|
|
20
|
+
deviceName?: string;
|
|
21
|
+
/** Total room members, including this service. Defaults to 8; accepts 1..50 subject to app policy. */
|
|
22
|
+
maxPeers?: number;
|
|
23
|
+
irohRelay?: boolean;
|
|
24
|
+
/** Explicit released host binary override. */
|
|
25
|
+
binaryPath?: string;
|
|
26
|
+
/** Extra arguments for a host wrapper; primarily useful to test the process contract. */
|
|
27
|
+
binaryArgs?: string[];
|
|
28
|
+
/** Build the Rust host from a reviewed local OpenRTC checkout before spawning it. */
|
|
29
|
+
buildFromSource?: boolean;
|
|
30
|
+
/** OpenRTC repository root containing crates/openrtc/Cargo.toml. */
|
|
31
|
+
sourceRoot?: string;
|
|
32
|
+
startupTimeoutMs?: number;
|
|
33
|
+
}
|
|
34
|
+
interface NodeServiceConnection {
|
|
35
|
+
/** Rust-owned stable logical connection identity. */
|
|
36
|
+
readonly id: string;
|
|
37
|
+
/** Rust-reported remote endpoint identity, not an authenticated app device ID. */
|
|
38
|
+
readonly peerId: string;
|
|
39
|
+
send(message: unknown): Promise<void>;
|
|
40
|
+
onMessage<T = unknown>(callback: (message: T) => void): () => void;
|
|
41
|
+
onClose(callback: () => void): () => void;
|
|
42
|
+
}
|
|
43
|
+
interface NodeServiceRoom {
|
|
44
|
+
readonly kind: 'room';
|
|
45
|
+
readonly id: string;
|
|
46
|
+
readonly closed: boolean;
|
|
47
|
+
publishAssignment(input: AuthorityAssignmentInput): Promise<AuthorityInterestAssignment>;
|
|
48
|
+
onConnection(callback: (connection: NodeServiceConnection) => void): () => void;
|
|
49
|
+
close(): Promise<void>;
|
|
50
|
+
}
|
|
51
|
+
interface NodeServiceConnectionEvent {
|
|
52
|
+
room: NodeServiceRoom;
|
|
53
|
+
connection: NodeServiceConnection;
|
|
54
|
+
}
|
|
55
|
+
interface NodeHostProtocolInfo {
|
|
56
|
+
protocolVersion: number;
|
|
57
|
+
maxConfigBytes: number;
|
|
58
|
+
maxCommandBytes: number;
|
|
59
|
+
maxApplicationPayloadBytes: number;
|
|
60
|
+
lifecycleOwner: 'rust-peer-session';
|
|
61
|
+
}
|
|
62
|
+
/** Developer-preview Node authority backed by the native Rust lifecycle owner. */
|
|
63
|
+
declare class ServiceNode {
|
|
64
|
+
private readonly options;
|
|
65
|
+
private readonly listeners;
|
|
66
|
+
private roomPromise;
|
|
67
|
+
private roomId;
|
|
68
|
+
private closed;
|
|
69
|
+
private closing;
|
|
70
|
+
constructor(options: NodeServiceNodeOptions);
|
|
71
|
+
onConnection(callback: (event: NodeServiceConnectionEvent) => void): () => void;
|
|
72
|
+
listen(roomId: string): Promise<NodeServiceRoom>;
|
|
73
|
+
close(): Promise<void>;
|
|
74
|
+
private stop;
|
|
75
|
+
private open;
|
|
76
|
+
}
|
|
77
|
+
/** Check the exact native protocol without starting a room or exposing credentials. */
|
|
78
|
+
declare function inspectNodeHost(options: Pick<NodeServiceNodeOptions, 'binaryPath' | 'binaryArgs' | 'buildFromSource' | 'sourceRoot'>): Promise<NodeHostProtocolInfo>;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Create a Node.js OpenRTC client with a caller-provided native mechanics bridge.
|
|
82
|
+
*
|
|
83
|
+
* The bridge is mechanics only. The shared Rust peer-session actor behind it
|
|
84
|
+
* remains the sole lifecycle owner; JavaScript never implements dialing,
|
|
85
|
+
* retries, route replacement, or carrier switching. No Tauri global is used.
|
|
86
|
+
* Service authorities normally use the bundled `ServiceNode` host exported by
|
|
87
|
+
* this entrypoint and do not provide this bridge themselves.
|
|
88
|
+
*/
|
|
89
|
+
declare function OpenRTC(options: Options, host: PlutoIpcBridge): Client;
|
|
90
|
+
|
|
91
|
+
export { Client, PlutoIpcBridge as NodeHostBridge, type NodeHostProtocolInfo, type NodeServiceConnection, type NodeServiceConnectionEvent, type NodeServiceNodeOptions, type NodeServiceRoom, OpenRTC, Options, ServiceNode, inspectNodeHost };
|
package/dist/node.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-VFDCIEP6.js';import {a}from'./chunk-VTYVIKTM.js';import {c}from'./chunk-72NEEJQG.js';import'./chunk-NDR2ANQB.js';import {i,b as b$1,a as a$2}from'./chunk-TZLNKQNJ.js';import'./chunk-ZA44REGI.js';import'./chunk-LLZT3MR6.js';import'./chunk-DUY34MGT.js';import'./chunk-CCCYE3XN.js';import'./chunk-N6LGTNUI.js';import'./chunk-JPBW67B3.js';import'./chunk-2GX6GB6L.js';import {spawn}from'child_process';import {constants}from'fs';import {access,readFile}from'fs/promises';import {isAbsolute,resolve,dirname}from'path';import {fileURLToPath}from'url';import {isDeepStrictEqual}from'util';import {randomUUID,verify,createHash}from'crypto';var N=1,M=24*1024,H=96*1024,I=128*1024,C=64*1024,W=256,Z=256,x=3e4,ee=/^[A-Za-z0-9_.:@-]+$/,te=/(?:^|_)(?:SECRET|TOKEN|PASSWORD|PRIVATE(?:_KEY)?|CREDENTIALS?)(?:_|$)/i,oe=1;function re(o){return Buffer.from(JSON.stringify({schema:o.schema,kind:o.kind,platform:o.platform,arch:o.arch,rustTarget:o.rustTarget,sourceCommit:o.sourceCommit,sourceDigest:o.sourceDigest,binarySha256:o.binarySha256,protocol:o.protocol,signingKeySha256:o.signingKeySha256,signatureAlgorithm:o.signatureAlgorithm}),"utf8")}async function ne(o,e,t){let[r,n,s]=await Promise.all([readFile(t),readFile(resolve(e,"openrtc-node-host.manifest.json")),readFile(resolve(o,"native","openrtc-node-host-signing-public.pem"))]).catch(()=>{throw new Error("[OpenRTC] Packaged Node host provenance is incomplete.")}),i;try{i=JSON.parse(n.toString("utf8"));}catch{throw new Error("[OpenRTC] Packaged Node host manifest is invalid.")}let c=u=>createHash("sha256").update(u).digest("hex"),l={"darwin-arm64":"aarch64-apple-darwin","darwin-x64":"x86_64-apple-darwin","linux-x64":"x86_64-unknown-linux-gnu"}[`${process.platform}-${process.arch}`];if(!(i!=null&&l!==void 0&&i.schema===oe&&i.kind==="openrtc-node-host"&&i.platform===process.platform&&i.arch===process.arch&&i.rustTarget===l&&/^[0-9a-f]{40}$/.test(i.sourceCommit)&&/^[0-9a-f]{64}$/.test(i.sourceDigest)&&i.binarySha256===c(r)&&i.signingKeySha256===c(s)&&i.signatureAlgorithm==="ed25519"&&/^[A-Za-z0-9+/]{86}==$/.test(i.signature)&&verify(null,re(i),s,Buffer.from(i.signature,"base64"))))throw new Error("[OpenRTC] Packaged Node host provenance verification failed.")}function $(o){return Object.fromEntries(Object.entries(process.env).filter(([e,t])=>!te.test(e)&&(!o||!t?.includes(o))))}function m(o,e){queueMicrotask(()=>{try{o(e);}catch{try{process.emitWarning("[OpenRTC] ServiceNode callback failed.",{code:"OPENRTC_SERVICE_CALLBACK"});}catch{}}});}function G(o){let e=/^\d{1,20}$/;return typeof o.transportStableId!="string"||!e.test(o.transportStableId)||!e.test(o.transportGeneration)||!e.test(o.routeGeneration)?null:{transportStableId:o.transportStableId,transportGeneration:o.transportGeneration,routeGeneration:o.routeGeneration}}function ie(o,e){return o.transportStableId===e.transportStableId&&o.transportGeneration===e.transportGeneration&&o.routeGeneration===e.routeGeneration}function f(o,e,t=160){let r=o.trim();if(!r||r.length>t||!ee.test(r))throw new TypeError(`[OpenRTC] ${e} is invalid.`);return r}function v(o,e,t=Number.MAX_SAFE_INTEGER){if(!Number.isSafeInteger(o)||o<1||o>t)throw new RangeError(`[OpenRTC] ${e} must be a positive safe integer.`);return o}function se(o){if(!/^pk_(?:live|test)_[A-Za-z0-9]+$/.test(o.apiKey))throw new TypeError("[OpenRTC] apiKey is invalid.");if(!/^sk_(?:live|test)_[A-Za-z0-9_-]+$/.test(o.secretKey)||o.secretKey.length>128)throw new TypeError("[OpenRTC] secretKey is invalid.");let e=[...o.shardIds].map(t=>f(t,"shardId",80)).sort();if(e.length<1||e.length>64||new Set(e).size!==e.length)throw new RangeError("[OpenRTC] shardIds must contain 1..64 unique identifiers.");if(!isAbsolute(o.stateDirectory))throw new TypeError("[OpenRTC] stateDirectory must be absolute.");return o.maxPeers!==void 0&&v(o.maxPeers,"maxPeers",50),o.startupTimeoutMs!==void 0&&v(o.startupTimeoutMs,"startupTimeoutMs",12e4),{...o,serviceId:f(o.serviceId,"serviceId",80),generation:v(o.generation,"generation"),shardIds:e,deviceId:f(o.deviceId,"deviceId"),deviceName:o.deviceName?.trim()||"OpenRTC Node service"}}async function y(o){try{return await access(o,process.platform==="win32"?constants.F_OK:constants.X_OK),!0}catch{return false}}async function L(o,e,t,r,n){return new Promise((s,i)=>{let c=spawn(o,e,{cwd:t,env:$(n),stdio:["ignore","pipe","pipe"]}),d=Buffer.alloc(0),l=Buffer.alloc(0),a=(p,F)=>Buffer.concat([p,F]).subarray(-I);c.stdout.on("data",p=>{d=a(d,p);}),c.stderr.on("data",p=>{l=a(l,p);});let u=setTimeout(()=>{c.kill(),i(new Error(`[OpenRTC] Node host command timed out: ${o}.`));},r);c.once("error",p=>{clearTimeout(u),i(p);}),c.once("exit",p=>{clearTimeout(u),p===0?s(d.toString("utf8")):i(new Error(`[OpenRTC] Node host command failed (${p??"signal"}): ${l.toString("utf8").trim().slice(-4096)}`));});})}async function q(o){let e=o.binaryPath||process.env.OPENRTC_NODE_HOST_BINARY;if(e){if(!isAbsolute(e)||!await y(e))throw new Error("[OpenRTC] Node host binaryPath must name an executable absolute path.");return {command:e,args:[...o.binaryArgs??[]]}}if(o.buildFromSource){let s=o.sourceRoot||process.env.OPENRTC_SOURCE_ROOT;if(!s||!isAbsolute(s))throw new Error("[OpenRTC] buildFromSource requires an absolute sourceRoot or OPENRTC_SOURCE_ROOT.");let i=resolve(s,"crates/openrtc/Cargo.toml"),c=resolve(s,"target");await L("cargo",["build","--locked","--manifest-path",i,"--features","node-host","--bin","openrtc-node-host","--target-dir",c],s,12e4,o.secretKey);let d=resolve(c,"debug",`openrtc-node-host${process.platform==="win32"?".exe":""}`);if(!await y(d))throw new Error("[OpenRTC] local Node host build did not produce an executable.");return {command:d,args:[]}}let t=resolve(dirname(fileURLToPath(import.meta.url)),".."),r=resolve(t,"native",`${process.platform}-${process.arch}`),n=resolve(r,`openrtc-node-host${process.platform==="win32"?".exe":""}`);if(!await y(n))throw new Error(`[OpenRTC] This package has no Node host for ${process.platform}-${process.arch}. Install a supported OpenRTC package, set OPENRTC_NODE_HOST_BINARY, or use buildFromSource with sourceRoot.`);return await ne(t,r,n),{command:n,args:[]}}async function U(o,e){let t=await L(o.command,[...o.args,"--protocol-info"],process.cwd(),12e4,e),r=JSON.parse(t);if(r.protocolVersion!==N||r.lifecycleOwner!=="rust-peer-session"||r.maxConfigBytes!==M||r.maxCommandBytes!==H||r.maxApplicationPayloadBytes!==C)throw new Error("[OpenRTC] Node host protocol is incompatible.");return r}var S=class{constructor(e,t,r){this.options=e;this.roomId=t;this.onEvent=r;this.child=null;this.childClosed=Promise.resolve();this.output=Buffer.alloc(0);this.stderr=Buffer.alloc(0);this.pending=new Map;this.writeQueue=Promise.resolve();this.stopped=false;this.closing=null;}async start(){let e=await q(this.options),t=await U(e,this.options.secretKey),r=new Promise((n,s)=>{let i=spawn(e.command,[...e.args],{env:$(this.options.secretKey),stdio:["pipe","pipe","pipe"]});this.child=i,this.childClosed=new Promise(l=>i.once("close",()=>l()));let c=setTimeout(()=>{s(this.failure("Node host startup timed out")),i.kill();},this.options.startupTimeoutMs??x),d=l=>{clearTimeout(c),s(this.failure(l.message)),this.failAll(this.failure(l.message));};i.once("error",d),i.stderr.on("data",l=>{this.stderr=Buffer.concat([this.stderr,l]).subarray(-4096);}),i.stdout.on("data",l=>{try{for(let a of this.parse(l)){if(t.testLane&&process.env.OPENRTC_NODE_HOST_LOCAL_TRACE==="1"&&a.type==="connection-state"&&console.error("[openrtc-local-node]",this.options.deviceId,{connectionId:a.snapshot.connectionId,deviceId:a.snapshot.deviceId,state:a.snapshot.state,routable:a.snapshot.routable,transportStableId:a.transportStableId,transportGeneration:a.transportGeneration,routeGeneration:a.routeGeneration}),a.type==="ready"){if(a.protocolVersion!==N||a.roomId!==this.roomId||a.deviceId!==this.options.deviceId||!isDeepStrictEqual(a.testLane,t.testLane))throw new Error("Node host returned inconsistent readiness metadata");clearTimeout(c),n();}this.dispatch(a);}}catch(a){d(a instanceof Error?a:new Error(String(a))),i.kill();}}),i.once("exit",(l,a)=>{clearTimeout(c),this.stopped=true;let u=this.failure(`Node host exited (${l??a??"unknown"})`);this.onEvent({type:"host-exit",error:u}),d(u);});});await this.writeLine({protocolVersion:N,apiKey:this.options.apiKey,secretKey:this.options.secretKey,serviceId:this.options.serviceId,generation:this.options.generation,shardIds:this.options.shardIds,deviceId:this.options.deviceId,roomId:this.roomId,deviceName:this.options.deviceName,stateDirectory:this.options.stateDirectory,maxPeers:this.options.maxPeers,irohRelay:this.options.irohRelay!==false},M),await r;}async request(e,t){if(!this.child||this.stopped||!this.child.stdin.writable)throw new Error("[OpenRTC] Node host is closed.");if(this.pending.size>=W)throw new Error("[OpenRTC] Node host has too many pending requests.");let r=randomUUID(),n=new Promise((s,i)=>{let c=setTimeout(()=>{this.pending.delete(r),i(new Error(`[OpenRTC] Node host ${e} response timed out.`));},x);this.pending.set(r,{resolve:s,reject:i,timer:c});});try{await this.writeLine({type:e,id:r,...t},H);}catch(s){let i=this.pending.get(r);throw i&&clearTimeout(i.timer),this.pending.delete(r),this.failure(s instanceof Error?s.message:String(s))}return n}close(){return this.closing??(this.closing=this.stop())}async stop(){if(!this.child)return;let e=this.child;try{this.stopped||await this.request("shutdown",{});}finally{e.stdin.end();let t=setTimeout(()=>e.kill("SIGTERM"),2e3),r=setTimeout(()=>e.kill("SIGKILL"),4e3);try{await this.childClosed;}finally{clearTimeout(t),clearTimeout(r);}}}parse(e){if(this.output=Buffer.concat([this.output,e]),this.output.length>I&&!this.output.includes(10))throw new Error("Node host output line exceeded its byte limit");let t=[];for(;;){let r=this.output.indexOf(10);if(r<0)break;if(r>I)throw new Error("Node host output line exceeded its byte limit");let n=this.output.subarray(0,r).toString("utf8").trim();this.output=this.output.subarray(r+1),n&&t.push(JSON.parse(n));}return t}writeLine(e,t){let r=`${JSON.stringify(e)}
|
|
2
|
+
`;if(Buffer.byteLength(r,"utf8")-1>t)return Promise.reject(new Error("Node host input line exceeded its byte limit"));let n=this.writeQueue.then(()=>new Promise((s,i)=>{if(!this.child||this.stopped||!this.child.stdin.writable){i(new Error("Node host is closed"));return}this.child.stdin.write(r,c=>{c?i(c):s();});}));return this.writeQueue=n.catch(()=>{}),n}dispatch(e){if(e.type!=="response"){this.onEvent(e);return}let t=this.pending.get(e.id);t&&(clearTimeout(t.timer),this.pending.delete(e.id),e.ok?t.resolve(e.value):t.reject(this.failure(e.error||"Node host request failed")));}failure(e){let t=s=>s.split(this.options.secretKey).join("[REDACTED]"),r=t(e),n=t(this.stderr.toString("utf8")).trim();return new Error(`[OpenRTC] ${r}.${n?` Host stderr: ${n}`:""}`)}failAll(e){for(let t of this.pending.values())clearTimeout(t.timer),t.reject(e);this.pending.clear();}},E=class{constructor(e,t,r,n,s){this.id=e;this.peerId=t;this.host=r;this.nativeGeneration=n;this.capabilityKey=s;this.messages=new Set;this.closeListeners=new Set;this.queued=[];this.isClosed=false;}async send(e){if(this.isClosed)throw new Error("[OpenRTC] Connection is closed.");let t=ae(e instanceof Uint8Array||e instanceof ArrayBuffer?e:a$2("raw","message",e,this.capabilityKey));await this.host.request("send",{connectionId:this.id,payloadBase64:t.toString("base64")});}onMessage(e){let t=e;this.messages.add(t);for(let r of this.queued.splice(0))m(t,r);return ()=>this.messages.delete(t)}onClose(e){return this.isClosed?m(e,void 0):this.closeListeners.add(e),()=>this.closeListeners.delete(e)}receive(e){if(!this.isClosed){if(this.messages.size===0){this.queued.length===Z&&this.queued.shift(),this.queued.push(e);return}for(let t of this.messages)m(t,e);}}close(){if(!this.isClosed){this.isClosed=true,this.queued.length=0;for(let e of this.closeListeners)m(e,void 0);this.messages.clear(),this.closeListeners.clear();}}accepts(e){return ie(e,this.nativeGeneration)}replaceGeneration(e){this.nativeGeneration=e;}},T=class{constructor(e,t){this.id=e;this.host=t;this.kind="room";this.listeners=new Set;this.connections=new Map;this.closed=false;}publishAssignment(e){if(this.closed)return Promise.reject(new Error("[OpenRTC] Service room is closed."));let t=(e.priorityDeviceIds??[]).map(n=>f(n,"priorityDeviceId")),r=(e.relevantEntityIds??[]).map(n=>f(n,"relevantEntityId"));return t.length>8||r.length>32||new Set(t).size!==t.length||new Set(r).size!==r.length?Promise.reject(new Error("[OpenRTC] Authority assignment identifiers are invalid.")):this.host.request("publish-assignment",{revision:v(e.revision,"revision"),subjectDeviceId:f(e.subjectDeviceId,"subjectDeviceId"),shardId:f(e.shardId,"shardId",80),priorityDeviceIds:t,relevantEntityIds:r,ttlMs:e.ttlMs===void 0?void 0:v(e.ttlMs,"ttlMs",12e4)})}onConnection(e){this.listeners.add(e);for(let t of this.connections.values())m(e,t);return ()=>this.listeners.delete(e)}project(e){if(this.closed)return;if(e.type==="host-exit"){this.closed=true;for(let d of this.connections.values())d.close();this.connections.clear(),this.listeners.clear();return}if(e.type==="peer-message"){let d=this.connections.get(e.connectionId),l=G(e);if(d&&l&&d.accepts(l)){let a=ce(e.payloadBase64),u=b$1(a);u?u.capability===`room:${this.id}`&&u.kind==="raw"&&d.receive(u.value):d.receive(a);}return}if(e.type!=="connection-state")return;let t=e.snapshot,r=G(e);if(typeof t.connectionId!="string"||!r)return;let n=this.connections.get(t.connectionId);if(typeof t.state=="string"&&["closed","failed"].includes(t.state.toLowerCase())){n?.accepts(r)&&(n.close(),this.connections.delete(t.connectionId));return}if(n){t.routable===true&&n.replaceGeneration(r);return}let i=typeof t.remoteNodeId=="string"?t.remoteNodeId:null;if(t.routable!==true||!i)return;let c=new E(t.connectionId,i,this.host,r,`room:${this.id}`);this.connections.set(c.id,c);for(let d of this.listeners)m(d,c);}async close(){if(this.closed)return this.host.close();this.closed=true;for(let e of this.connections.values())e.close();this.connections.clear(),this.listeners.clear(),await this.host.close();}};function ae(o){let e;if(o instanceof Uint8Array)e=Buffer.from(o);else if(o instanceof ArrayBuffer)e=Buffer.from(o);else if(typeof o=="string")e=Buffer.from(o,"utf8");else {let t=JSON.stringify(o);if(t===void 0)throw new TypeError("[OpenRTC] Message must be a string, bytes, or JSON value.");e=Buffer.from(t,"utf8");}if(e.length>C)throw new RangeError("[OpenRTC] Message exceeds the Node host payload limit.");return e}function ce(o){let e=Buffer.from(o,"base64");if(e.length>C)throw new Error("[OpenRTC] Node host returned an oversized application payload.");try{let t=new TextDecoder("utf-8",{fatal:!0}).decode(e);try{return JSON.parse(t)}catch{return t}}catch{return new Uint8Array(e)}}var b=class{constructor(e){this.listeners=new Set;this.roomPromise=null;this.roomId=null;this.closed=false;this.closing=null;this.options=se(e);}onConnection(e){if(this.closed)throw new Error("[OpenRTC] ServiceNode is closed.");return this.listeners.add(e),()=>this.listeners.delete(e)}listen(e){return this.closed?Promise.reject(new Error("[OpenRTC] ServiceNode is closed.")):(e=f(e,"roomId"),this.roomId&&this.roomId!==e?Promise.reject(new Error("[OpenRTC] A Node ServiceNode owns exactly one room.")):this.roomPromise?this.roomPromise:(this.roomId=e,this.roomPromise=this.open(e),this.roomPromise))}close(){return this.closing??(this.closing=this.stop())}async stop(){this.closed=true,await(await this.roomPromise?.catch(()=>null))?.close(),this.listeners.clear();}async open(e){let t,r=new S(this.options,e,n=>t?.project(n));t=new T(e,r);try{return await r.start(),t.onConnection(n=>{for(let s of this.listeners)m(s,{room:t,connection:n});}),t}catch(n){throw await r.close().catch(()=>{}),this.roomPromise=null,this.roomId=null,n}}};async function de(o){let e=await q(o);return U(e)}function Ee(o,e){let t=c(e,"openrtc/node"),r=new a;return i(o,{platform:"native",broadcastHostFactory:async n=>{let{NativeManagedBroadcastHost:s}=await import('./NativeManagedBroadcastHost-WCQ6TPUU.js');return new s(t,n)},offlineSupport:()=>t.invoke("openrtc_offline_runtime_support"),createOfflineEnrollmentRequest:async n=>{let s=await t.invoke("start_iroh_node");return t.invoke("openrtc_create_offline_enrollment_request",{trustDomain:n.trustDomain,deviceId:n.deviceId,endpointId:s,enrollmentNonce:crypto.randomUUID(),requestedRoles:n.requestedRoles})},close:()=>r.close(),deviceKeyProvider:a$1(t),deviceIdProvider:async()=>{let n=await t.invoke("get_rtc_local_device_info");return String(n?.deviceId??"")},runtimeFactory:async n=>{let{createIpcClient:s}=await import('./ipcFactory-PDVLUG2W.js');return s(n,t,r)}})}export{Ee as OpenRTC,b as ServiceNode,de as inspectNodeHost};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var G=class b{static __wrap(t){let n=Object.create(b.prototype);return n.__wbg_ptr=t,tt.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,tt.unregister(this),t}free(){let t=this.__destroy_into_raw();e.__wbg_bistream_free(t,0);}get applicationCryptoWrapped(){return e.bistream_applicationCryptoWrapped(this.__wbg_ptr)!==0}cancelSend(){let t=e.bistream_cancelSend(this.__wbg_ptr);return p(t)}get endpoint_id(){let t,n;try{let o=e.__wbindgen_add_to_stack_pointer(-16);e.bistream_endpoint_id(o,this.__wbg_ptr);var _=d().getInt32(o+0,!0),r=d().getInt32(o+4,!0);return t=_,n=r,C(_,r)}finally{e.__wbindgen_add_to_stack_pointer(16),e.__wbindgen_export4(t,n,1);}}finishSend(){let t=e.bistream_finishSend(this.__wbg_ptr);return p(t)}get recv(){let t=e.bistream_recv(this.__wbg_ptr);return p(t)}get send(){let t=e.bistream_send(this.__wbg_ptr);return p(t)}get transport_stable_id(){try{let _=e.__wbindgen_add_to_stack_pointer(-16);e.bistream_transport_stable_id(_,this.__wbg_ptr);var t=d().getInt32(_+0,!0),n=d().getFloat64(_+8,!0);return t===0?void 0:n}finally{e.__wbindgen_add_to_stack_pointer(16);}}};Symbol.dispose&&(G.prototype[Symbol.dispose]=G.prototype.free);var $=class{__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,Rt.unregister(this),t}free(){let t=this.__destroy_into_raw();e.__wbg_intounderlyingbytesource_free(t,0);}get autoAllocateChunkSize(){return e.intounderlyingbytesource_autoAllocateChunkSize(this.__wbg_ptr)>>>0}cancel(){let t=this.__destroy_into_raw();e.intounderlyingbytesource_cancel(t);}pull(t){let n=e.intounderlyingbytesource_pull(this.__wbg_ptr,u(t));return p(n)}start(t){e.intounderlyingbytesource_start(this.__wbg_ptr,u(t));}get type(){let t=e.intounderlyingbytesource_type(this.__wbg_ptr);return ht[t]}};Symbol.dispose&&($.prototype[Symbol.dispose]=$.prototype.free);var L=class b{static __wrap(t){let n=Object.create(b.prototype);return n.__wbg_ptr=t,et.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,et.unregister(this),t}free(){let t=this.__destroy_into_raw();e.__wbg_intounderlyingsink_free(t,0);}abort(t){let n=this.__destroy_into_raw(),_=e.intounderlyingsink_abort(n,u(t));return p(_)}close(){let t=this.__destroy_into_raw(),n=e.intounderlyingsink_close(t);return p(n)}write(t){let n=e.intounderlyingsink_write(this.__wbg_ptr,u(t));return p(n)}};Symbol.dispose&&(L.prototype[Symbol.dispose]=L.prototype.free);var U=class b{static __wrap(t){let n=Object.create(b.prototype);return n.__wbg_ptr=t,nt.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,nt.unregister(this),t}free(){let t=this.__destroy_into_raw();e.__wbg_intounderlyingsource_free(t,0);}cancel(){let t=this.__destroy_into_raw();e.intounderlyingsource_cancel(t);}pull(t){let n=e.intounderlyingsource_pull(this.__wbg_ptr,u(t));return p(n)}};Symbol.dispose&&(U.prototype[Symbol.dispose]=U.prototype.free);var X=class b{static __wrap(t){let n=Object.create(b.prototype);return n.__wbg_ptr=t,_t.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,_t.unregister(this),t}free(){let t=this.__destroy_into_raw();e.__wbg_peerunistream_free(t,0);}get applicationCryptoWrapped(){return e.peerunistream_applicationCryptoWrapped(this.__wbg_ptr)!==0}cancelSend(){let t=e.peerunistream_cancelSend(this.__wbg_ptr);return p(t)}finishSend(){let t=e.peerunistream_finishSend(this.__wbg_ptr);return p(t)}get writable(){let t=e.peerunistream_writable(this.__wbg_ptr);return p(t)}};Symbol.dispose&&(X.prototype[Symbol.dispose]=X.prototype.free);var K=class{__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,rt.unregister(this),t}free(){let t=this.__destroy_into_raw();e.__wbg_wasmclient_free(t,0);}__acceptOpenRtcBroadcastObject(t,n,_){try{let a=e.__wbindgen_add_to_stack_pointer(-16),w=c(t,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=c(n,e.__wbindgen_export,e.__wbindgen_export2),m=i,h=k(_,e.__wbindgen_export),y=i;e.wasmclient___acceptOpenRtcBroadcastObject(a,this.__wbg_ptr,w,l,f,m,h,y);var r=d().getInt32(a+0,!0),o=d().getInt32(a+4,!0),s=d().getInt32(a+8,!0);if(s)throw p(o);return p(r)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__acknowledgePersistentIrohOutbox(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient___acknowledgePersistentIrohOutbox(this.__wbg_ptr,n,_);return p(r)}__advancePreferredIrohCarrier(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=c(n,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(_,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=e.wasmclient___advancePreferredIrohCarrier(this.__wbg_ptr,r,o,s,a,w,l);return p(f)}__applyIrohCarrierPolicy(){let t=e.wasmclient___applyIrohCarrierPolicy(this.__wbg_ptr);return p(t)}__attachMoqCarrier(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i,l=c(r,e.__wbindgen_export,e.__wbindgen_export2),f=i,m=e.wasmclient___attachMoqCarrier(this.__wbg_ptr,o,s,a,w,u(_),l,f);return p(m)}__attachWebRtcCarrier(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i,l=c(r,e.__wbindgen_export,e.__wbindgen_export2),f=i,m=e.wasmclient___attachWebRtcCarrier(this.__wbg_ptr,o,s,a,w,u(_),l,f);return p(m)}__beginMoqCarrier(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient___beginMoqCarrier(this.__wbg_ptr,_,r,o,s);return p(a)}__beginOpenRtcBroadcastPublication(t,n,_,r,o,s,a,w,l){try{let R=e.__wbindgen_add_to_stack_pointer(-16),A=c(t,e.__wbindgen_export,e.__wbindgen_export2),P=i,S=c(n,e.__wbindgen_export,e.__wbindgen_export2),O=i;var f=x(_)?0:c(_,e.__wbindgen_export,e.__wbindgen_export2),m=i;let M=c(r,e.__wbindgen_export,e.__wbindgen_export2),T=i,N=c(o,e.__wbindgen_export,e.__wbindgen_export2),Q=i;e.wasmclient___beginOpenRtcBroadcastPublication(R,this.__wbg_ptr,A,P,S,O,f,m,M,T,N,Q,s,x(a)?Number.MAX_SAFE_INTEGER:a>>>0,x(w)?Number.MAX_SAFE_INTEGER:w>>>0,x(l)?16777215:l);var h=d().getInt32(R+0,!0),y=d().getInt32(R+4,!0),v=d().getInt32(R+8,!0);if(v)throw p(y);return p(h)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__beginOpenRtcMediaPublication(t,n,_,r,o,s,a){try{let y=e.__wbindgen_add_to_stack_pointer(-16);var w=x(t)?0:c(t,e.__wbindgen_export,e.__wbindgen_export2),l=i;let v=c(n,e.__wbindgen_export,e.__wbindgen_export2),R=i,A=c(_,e.__wbindgen_export,e.__wbindgen_export2),P=i;e.wasmclient___beginOpenRtcMediaPublication(y,this.__wbg_ptr,w,l,v,R,A,P,r,x(o)?Number.MAX_SAFE_INTEGER:o>>>0,x(s)?Number.MAX_SAFE_INTEGER:s>>>0,x(a)?16777215:a);var f=d().getInt32(y+0,!0),m=d().getInt32(y+4,!0),h=d().getInt32(y+8,!0);if(h)throw p(m);return p(f)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__beginPreferredIrohCarrier(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i,l=e.wasmclient___beginPreferredIrohCarrier(this.__wbg_ptr,o,s,a,w,_,r);return p(l)}__beginWebRtcCarrier(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient___beginWebRtcCarrier(this.__wbg_ptr,_,r,o,s);return p(a)}__closeOpenRtcBroadcast(t){try{let r=e.__wbindgen_add_to_stack_pointer(-16),o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i;e.wasmclient___closeOpenRtcBroadcast(r,this.__wbg_ptr,o,s);var n=d().getInt32(r+0,!0),_=d().getInt32(r+4,!0);if(_)throw p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__configureIrohRoutePolicy(t,n,_){var r=x(n)?0:c(n,e.__wbindgen_export,e.__wbindgen_export2),o=i;let s=e.wasmclient___configureIrohRoutePolicy(this.__wbg_ptr,t,r,o,u(_));return p(s)}__configureMoqCarrier(t,n){var _=x(n)?0:c(n,e.__wbindgen_export,e.__wbindgen_export2),r=i;let o=e.wasmclient___configureMoqCarrier(this.__wbg_ptr,t,_,r);return p(o)}__configureWebRtcCarrier(t,n){let _=e.wasmclient___configureWebRtcCarrier(this.__wbg_ptr,t,n);return p(_)}__createOpenRtcBroadcastPublisherSigner(){try{let r=e.__wbindgen_add_to_stack_pointer(-16);e.wasmclient___createOpenRtcBroadcastPublisherSigner(r,this.__wbg_ptr);var t=d().getInt32(r+0,!0),n=d().getInt32(r+4,!0),_=d().getInt32(r+8,!0);if(_)throw p(n);return p(t)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__createPersistentIrohNamespace(t,n){let _=e.wasmclient___createPersistentIrohNamespace(this.__wbg_ptr,t,n);return p(_)}__decodeOpenRtcMediaChunk(t){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=k(t,e.__wbindgen_export),a=i;e.wasmclient___decodeOpenRtcMediaChunk(o,this.__wbg_ptr,s,a);var n=d().getInt32(o+0,!0),_=d().getInt32(o+4,!0),r=d().getInt32(o+8,!0);if(r)throw p(_);return p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__decodeOpenRtcMediaControl(t){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=k(t,e.__wbindgen_export),a=i;e.wasmclient___decodeOpenRtcMediaControl(o,this.__wbg_ptr,s,a);var n=d().getInt32(o+0,!0),_=d().getInt32(o+4,!0),r=d().getInt32(o+8,!0);if(r)throw p(_);return p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__deletePersistentIrohPrefix(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=k(n,e.__wbindgen_export),s=i,a=e.wasmclient___deletePersistentIrohPrefix(this.__wbg_ptr,_,r,o,s);return p(a)}__encodeOpenRtcMediaSample(t,n,_,r,o,s){try{let h=e.__wbindgen_add_to_stack_pointer(-16),y=c(t,e.__wbindgen_export,e.__wbindgen_export2),v=i,R=k(s,e.__wbindgen_export),A=i;e.wasmclient___encodeOpenRtcMediaSample(h,this.__wbg_ptr,y,v,n,_,r,o,R,A);var a=d().getInt32(h+0,!0),w=d().getInt32(h+4,!0),l=d().getInt32(h+8,!0),f=d().getInt32(h+12,!0);if(f)throw p(l);var m=F(a,w).slice();return e.__wbindgen_export4(a,w*1,1),m}finally{e.__wbindgen_add_to_stack_pointer(16);}}__flushPersistentIrohProtocols(){let t=e.wasmclient___flushPersistentIrohProtocols(this.__wbg_ptr);return p(t)}__forgetIrohCarrierPeer(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient___forgetIrohCarrierPeer(this.__wbg_ptr,n,_);return p(r)}__forgetManagedRoomGroup(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i;e.wasmclient___forgetManagedRoomGroup(this.__wbg_ptr,n,_);}__getIrohCarrierReadiness(){let t=e.wasmclient___getIrohCarrierReadiness(this.__wbg_ptr);return p(t)}__getOpenRtcBroadcastStats(t){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i;e.wasmclient___getOpenRtcBroadcastStats(o,this.__wbg_ptr,s,a);var n=d().getInt32(o+0,!0),_=d().getInt32(o+4,!0),r=d().getInt32(o+8,!0);if(r)throw p(_);return p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__handleIrohCarrierControl(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=c(n,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=e.wasmclient___handleIrohCarrierControl(this.__wbg_ptr,r,o,s,a,u(_));return p(w)}__handleManagedRoomArtifactChunk(t,n){try{let s=e.__wbindgen_add_to_stack_pointer(-16),a=c(t,e.__wbindgen_export,e.__wbindgen_export2),w=i;e.wasmclient___handleManagedRoomArtifactChunk(s,this.__wbg_ptr,a,w,u(n));var _=d().getInt32(s+0,!0),r=d().getInt32(s+4,!0),o=d().getInt32(s+8,!0);if(o)throw p(r);return p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__handleManagedRoomPreparePage(t,n){try{let s=e.__wbindgen_add_to_stack_pointer(-16),a=c(t,e.__wbindgen_export,e.__wbindgen_export2),w=i;e.wasmclient___handleManagedRoomPreparePage(s,this.__wbg_ptr,a,w,u(n));var _=d().getInt32(s+0,!0),r=d().getInt32(s+4,!0),o=d().getInt32(s+8,!0);if(o)throw p(r);return p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__hydratePersistentIrohBlob(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient___hydratePersistentIrohBlob(this.__wbg_ptr,n,_);return p(r)}__importPersistentIrohAuthor(t){let n=k(t,e.__wbindgen_export),_=i,r=e.wasmclient___importPersistentIrohAuthor(this.__wbg_ptr,n,_);return p(r)}__importPersistentIrohNamespace(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=k(n,e.__wbindgen_export),w=i,l=e.wasmclient___importPersistentIrohNamespace(this.__wbg_ptr,o,s,a,w,_,r);return p(l)}__importPersistentIrohTicket(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=e.wasmclient___importPersistentIrohTicket(this.__wbg_ptr,r,o,n,_);return p(s)}__initManagedRoomGroup(t,n,_,r){try{let f=e.__wbindgen_add_to_stack_pointer(-16),m=c(t,e.__wbindgen_export,e.__wbindgen_export2),h=i,y=c(n,e.__wbindgen_export,e.__wbindgen_export2),v=i,R=k(_,e.__wbindgen_export),A=i;var o=x(r)?0:k(r,e.__wbindgen_export),s=i;e.wasmclient___initManagedRoomGroup(f,this.__wbg_ptr,m,h,y,v,R,A,o,s);var a=d().getInt32(f+0,!0),w=d().getInt32(f+4,!0),l=d().getInt32(f+8,!0);if(l)throw p(w);return p(a)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__initPersistentIrohProtocols(t){let n=e.wasmclient___initPersistentIrohProtocols(this.__wbg_ptr,u(t));return p(n)}__moqCarrierFailed(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=c(n,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(_,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=e.wasmclient___moqCarrierFailed(this.__wbg_ptr,r,o,s,a,w,l);return p(f)}__moqCarrierPrepared(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient___moqCarrierPrepared(this.__wbg_ptr,_,r,o,s);return p(a)}__observeOpenRtcBroadcastAdapter(t,n){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i;e.wasmclient___observeOpenRtcBroadcastAdapter(o,this.__wbg_ptr,s,a,u(n));var _=d().getInt32(o+0,!0),r=d().getInt32(o+4,!0);if(r)throw p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__openManagedRoomPayload(t,n,_,r,o,s,a,w){try{let v=e.__wbindgen_add_to_stack_pointer(-16),R=c(t,e.__wbindgen_export,e.__wbindgen_export2),A=i,P=c(r,e.__wbindgen_export,e.__wbindgen_export2),S=i,O=c(o,e.__wbindgen_export,e.__wbindgen_export2),M=i;var l=x(a)?0:c(a,e.__wbindgen_export,e.__wbindgen_export2),f=i;let T=k(w,e.__wbindgen_export),N=i;e.wasmclient___openManagedRoomPayload(v,this.__wbg_ptr,R,A,n,_,P,S,O,M,s,l,f,T,N);var m=d().getInt32(v+0,!0),h=d().getInt32(v+4,!0),y=d().getInt32(v+8,!0);if(y)throw p(h);return p(m)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__openOpenRtcBroadcast(t,n,_,r,o,s){try{let h=e.__wbindgen_add_to_stack_pointer(-16),y=c(t,e.__wbindgen_export,e.__wbindgen_export2),v=i,R=k(n,e.__wbindgen_export),A=i,P=c(_,e.__wbindgen_export,e.__wbindgen_export2),S=i,O=k(r,e.__wbindgen_export),M=i;var a=x(o)?0:c(o,e.__wbindgen_export,e.__wbindgen_export2),w=i;e.wasmclient___openOpenRtcBroadcast(h,this.__wbg_ptr,y,v,R,A,P,S,O,M,a,w,s);var l=d().getInt32(h+0,!0),f=d().getInt32(h+4,!0),m=d().getInt32(h+8,!0);if(m)throw p(f);return p(l)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__pauseOpenRtcBroadcastPublication(t,n){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(n,e.__wbindgen_export,e.__wbindgen_export2),l=i;e.wasmclient___pauseOpenRtcBroadcastPublication(o,this.__wbg_ptr,s,a,w,l);var _=d().getInt32(o+0,!0),r=d().getInt32(o+4,!0);if(r)throw p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__pauseOpenRtcMediaPublication(t){try{let r=e.__wbindgen_add_to_stack_pointer(-16),o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i;e.wasmclient___pauseOpenRtcMediaPublication(r,this.__wbg_ptr,o,s);var n=d().getInt32(r+0,!0),_=d().getInt32(r+4,!0);if(_)throw p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__prepareOpenRtcBroadcastGrant(t,n,_){try{let a=e.__wbindgen_add_to_stack_pointer(-16),w=c(t,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=k(n,e.__wbindgen_export),m=i;e.wasmclient___prepareOpenRtcBroadcastGrant(a,this.__wbg_ptr,w,l,f,m,_);var r=d().getInt32(a+0,!0),o=d().getInt32(a+4,!0),s=d().getInt32(a+8,!0);if(s)throw p(o);return p(r)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__publishOpenRtcBroadcastSample(t,n,_,r,o,s,a){try{let f=e.__wbindgen_add_to_stack_pointer(-16),m=c(t,e.__wbindgen_export,e.__wbindgen_export2),h=i,y=c(n,e.__wbindgen_export,e.__wbindgen_export2),v=i,R=k(a,e.__wbindgen_export),A=i;e.wasmclient___publishOpenRtcBroadcastSample(f,this.__wbg_ptr,m,h,y,v,_,r,o,s,R,A);var w=d().getInt32(f+0,!0),l=d().getInt32(f+4,!0);if(l)throw p(w)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__putPersistentIrohBytes(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=k(n,e.__wbindgen_export),a=i,w=k(_,e.__wbindgen_export),l=i,f=e.wasmclient___putPersistentIrohBytes(this.__wbg_ptr,r,o,s,a,w,l);return p(f)}__queryPersistentIrohNamespace(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=k(n,e.__wbindgen_export),s=i,a=e.wasmclient___queryPersistentIrohNamespace(this.__wbg_ptr,_,r,o,s);return p(a)}__reconcileIrohCarriersAfterNetworkChange(){let t=e.wasmclient___reconcileIrohCarriersAfterNetworkChange(this.__wbg_ptr);return p(t)}__reconcilePersistentIrohProtocols(){let t=e.wasmclient___reconcilePersistentIrohProtocols(this.__wbg_ptr);return p(t)}__releaseOpenRtcBroadcastPublisherSigner(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i;return e.wasmclient___releaseOpenRtcBroadcastPublisherSigner(this.__wbg_ptr,n,_)!==0}__removePersistentIrohNamespace(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=e.wasmclient___removePersistentIrohNamespace(this.__wbg_ptr,r,o,n,_);return p(s)}__requireScopePeerAdmission(t){try{let r=e.__wbindgen_add_to_stack_pointer(-16),o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i;e.wasmclient___requireScopePeerAdmission(r,this.__wbg_ptr,o,s);var n=d().getInt32(r+0,!0),_=d().getInt32(r+4,!0);if(_)throw p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__retireIrohCarrierPeer(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i;var o=x(n)?0:c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i;let a=e.wasmclient___retireIrohCarrierPeer(this.__wbg_ptr,_,r,o,s);return p(a)}__retireMoqCarrier(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i;var o=x(n)?0:c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i;let a=e.wasmclient___retireMoqCarrier(this.__wbg_ptr,_,r,o,s);return p(a)}__retireOpenRtcBroadcastPublication(t,n){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(n,e.__wbindgen_export,e.__wbindgen_export2),l=i;e.wasmclient___retireOpenRtcBroadcastPublication(o,this.__wbg_ptr,s,a,w,l);var _=d().getInt32(o+0,!0),r=d().getInt32(o+4,!0);if(r)throw p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__retireOpenRtcMediaPublication(t){try{let r=e.__wbindgen_add_to_stack_pointer(-16),o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i;e.wasmclient___retireOpenRtcMediaPublication(r,this.__wbg_ptr,o,s);var n=d().getInt32(r+0,!0),_=d().getInt32(r+4,!0);if(_)throw p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__retireOpenRtcMediaReceiver(t,n){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i;e.wasmclient___retireOpenRtcMediaReceiver(o,this.__wbg_ptr,s,a,n);var _=d().getInt32(o+0,!0),r=d().getInt32(o+4,!0);if(r)throw p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__retireWebRtcCarrier(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i;var o=x(n)?0:c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i;let a=e.wasmclient___retireWebRtcCarrier(this.__wbg_ptr,_,r,o,s);return p(a)}__sealManagedRoomPayload(t,n,_,r,o,s,a,w){try{let v=e.__wbindgen_add_to_stack_pointer(-16),R=c(t,e.__wbindgen_export,e.__wbindgen_export2),A=i,P=c(r,e.__wbindgen_export,e.__wbindgen_export2),S=i,O=c(o,e.__wbindgen_export,e.__wbindgen_export2),M=i;var l=x(a)?0:c(a,e.__wbindgen_export,e.__wbindgen_export2),f=i;let T=k(w,e.__wbindgen_export),N=i;e.wasmclient___sealManagedRoomPayload(v,this.__wbg_ptr,R,A,n,_,P,S,O,M,s,l,f,T,N);var m=d().getInt32(v+0,!0),h=d().getInt32(v+4,!0),y=d().getInt32(v+8,!0);if(y)throw p(h);return p(m)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__setIrohCarrierActionHandler(t){e.wasmclient___setIrohCarrierActionHandler(this.__wbg_ptr,x(t)?0:u(t));}__setPersistentIrohHash(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=k(n,e.__wbindgen_export),w=i,l=c(_,e.__wbindgen_export,e.__wbindgen_export2),f=i,m=e.wasmclient___setPersistentIrohHash(this.__wbg_ptr,o,s,a,w,l,f,r);return p(m)}__sharePersistentIrohNamespace(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient___sharePersistentIrohNamespace(this.__wbg_ptr,_,r,n);return p(o)}__shutdownPersistentIrohProtocols(){let t=e.wasmclient___shutdownPersistentIrohProtocols(this.__wbg_ptr);return p(t)}__takeOpenRtcBroadcastActions(t,n){try{let s=e.__wbindgen_add_to_stack_pointer(-16),a=c(t,e.__wbindgen_export,e.__wbindgen_export2),w=i;e.wasmclient___takeOpenRtcBroadcastActions(s,this.__wbg_ptr,a,w,n);var _=d().getInt32(s+0,!0),r=d().getInt32(s+4,!0),o=d().getInt32(s+8,!0);if(o)throw p(r);return p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__updateScopePeerAdmission(t,n,_,r){try{let a=e.__wbindgen_add_to_stack_pointer(-16),w=c(t,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=c(r,e.__wbindgen_export,e.__wbindgen_export2),m=i;e.wasmclient___updateScopePeerAdmission(a,this.__wbg_ptr,w,l,n,_,f,m);var o=d().getInt32(a+0,!0),s=d().getInt32(a+4,!0);if(s)throw p(o)}finally{e.__wbindgen_add_to_stack_pointer(16);}}__webRtcCarrierFailed(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=c(n,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(_,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=e.wasmclient___webRtcCarrierFailed(this.__wbg_ptr,r,o,s,a,w,l);return p(f)}__webRtcCarrierPrepared(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient___webRtcCarrierPrepared(this.__wbg_ptr,_,r,o,s);return p(a)}acceptSparseFanoutMessage(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=c(n,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=k(_,e.__wbindgen_export),l=i,f=e.wasmclient_acceptSparseFanoutMessage(this.__wbg_ptr,r,o,s,a,w,l);return p(f)}acknowledge_session_token_response(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i;var l=x(r)?0:c(r,e.__wbindgen_export,e.__wbindgen_export2),f=i;let m=e.wasmclient_acknowledge_session_token_response(this.__wbg_ptr,o,s,a,w,_,l,f);return p(m)}add_peer_scope(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient_add_peer_scope(this.__wbg_ptr,_,r,o,s);return p(a)}bind_connection_device_id(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient_bind_connection_device_id(this.__wbg_ptr,_,r,o,s);return p(a)}bind_node_device_id(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient_bind_node_device_id(this.__wbg_ptr,_,r,o,s);return p(a)}clearConnectionApplicationCryptoKey(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i;e.wasmclient_clearConnectionApplicationCryptoKey(this.__wbg_ptr,n,_);}clearIdentityCredential(){e.wasmclient_clearIdentityCredential(this.__wbg_ptr);}clear_session_tokens(){e.wasmclient_clear_session_tokens(this.__wbg_ptr);}confirm_reciprocal_admission(t,n,_,r,o,s){let a=c(t,e.__wbindgen_export,e.__wbindgen_export2),w=i,l=c(_,e.__wbindgen_export,e.__wbindgen_export2),f=i,m=c(r,e.__wbindgen_export,e.__wbindgen_export2),h=i;var y=x(s)?0:c(s,e.__wbindgen_export,e.__wbindgen_export2),v=i;let R=e.wasmclient_confirm_reciprocal_admission(this.__wbg_ptr,a,w,n,l,f,m,h,o,y,v);return p(R)}connect_device(t,n){var _=x(t)?0:c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i;let o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient_connect_device(this.__wbg_ptr,_,r,o,s);return p(a)}connectionApplicationCryptoReady(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i;return e.wasmclient_connectionApplicationCryptoReady(this.__wbg_ptr,_,r,n)!==0}connection_state(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_connection_state(this.__wbg_ptr,n,_);return p(r)}connection_states(){let t=e.wasmclient_connection_states(this.__wbg_ptr);return p(t)}createPeerDatagramPolicy(){let t=e.wasmclient_createPeerDatagramPolicy(this.__wbg_ptr);return V.__wrap(t)}create_room(t,n,_,r,o,s){let a=c(t,e.__wbindgen_export,e.__wbindgen_export2),w=i,l=c(n,e.__wbindgen_export,e.__wbindgen_export2),f=i,m=c(_,e.__wbindgen_export,e.__wbindgen_export2),h=i,y=c(r,e.__wbindgen_export,e.__wbindgen_export2),v=i,R=c(o,e.__wbindgen_export,e.__wbindgen_export2),A=i,P=e.wasmclient_create_room(this.__wbg_ptr,a,w,l,f,m,h,y,v,R,A,x(s)?Number.MAX_SAFE_INTEGER:s>>>0);return p(P)}create_session(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_create_session(this.__wbg_ptr,n,_);return p(r)}decodeIncomingChannelEnvelope(t){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=k(t,e.__wbindgen_export),a=i;e.wasmclient_decodeIncomingChannelEnvelope(o,this.__wbg_ptr,s,a);var n=d().getInt32(o+0,!0),_=d().getInt32(o+4,!0),r=d().getInt32(o+8,!0);if(r)throw p(_);return p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}delete_device(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient_delete_device(this.__wbg_ptr,_,r,o,s);return p(a)}devices_with_status(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_devices_with_status(this.__wbg_ptr,n,_);return p(r)}disconnect(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_disconnect(this.__wbg_ptr,n,_);return p(r)}disconnect_device(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i;var o=x(n)?0:c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i;let a=e.wasmclient_disconnect_device(this.__wbg_ptr,_,r,o,s);return p(a)}disconnect_transient(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_disconnect_transient(this.__wbg_ptr,n,_);return p(r)}endpoint_id_from_ticket(t){let n,_;try{let f=e.__wbindgen_add_to_stack_pointer(-16),m=c(t,e.__wbindgen_export,e.__wbindgen_export2),h=i;e.wasmclient_endpoint_id_from_ticket(f,this.__wbg_ptr,m,h);var r=d().getInt32(f+0,!0),o=d().getInt32(f+4,!0),s=d().getInt32(f+8,!0),a=d().getInt32(f+12,!0),w=r,l=o;if(a)throw w=0,l=0,p(s);return n=w,_=l,C(w,l)}finally{e.__wbindgen_add_to_stack_pointer(16),e.__wbindgen_export4(n,_,1);}}endpoint_ticket(){let t=e.wasmclient_endpoint_ticket(this.__wbg_ptr);return p(t)}endpoint_ticket_with_token(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient_endpoint_ticket_with_token(this.__wbg_ptr,_,r,n);return p(o)}ensureConnectionApplicationCrypto(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i,l=e.wasmclient_ensureConnectionApplicationCrypto(this.__wbg_ptr,o,s,a,w,_,u(r));return p(l)}finalizeSparseFanoutMessage(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient_finalizeSparseFanoutMessage(this.__wbg_ptr,_,r,o,s);return p(a)}force_reconnect_snapshot(){e.wasmclient_force_reconnect_snapshot(this.__wbg_ptr);}get_members(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=c(n,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(_,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=e.wasmclient_get_members(this.__wbg_ptr,r,o,s,a,w,l);return p(f)}handleConnectionApplicationCryptoHandshake(t,n,_,r,o){let s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(n,e.__wbindgen_export,e.__wbindgen_export2),l=i;var f=x(r)?0:c(r,e.__wbindgen_export,e.__wbindgen_export2),m=i;let h=k(o,e.__wbindgen_export),y=i,v=e.wasmclient_handleConnectionApplicationCryptoHandshake(this.__wbg_ptr,s,a,w,l,!x(_),x(_)?BigInt(0):_,f,m,h,y);return p(v)}incoming_streams(){let t=e.wasmclient_incoming_streams(this.__wbg_ptr);return p(t)}initIrohWithTestRelay(t,n){var _=x(t)?0:k(t,e.__wbindgen_export),r=i,o=x(n)?0:c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i;let a=e.wasmclient_initIrohWithTestRelay(this.__wbg_ptr,_,r,o,s);return p(a)}init_iroh(t){var n=x(t)?0:k(t,e.__wbindgen_export),_=i;let r=e.wasmclient_init_iroh(this.__wbg_ptr,n,_);return p(r)}inspectIncomingStreamPrefix(t,n){try{let s=e.__wbindgen_add_to_stack_pointer(-16),a=k(t,e.__wbindgen_export),w=i;e.wasmclient_inspectIncomingStreamPrefix(s,this.__wbg_ptr,a,w,n);var _=d().getInt32(s+0,!0),r=d().getInt32(s+4,!0),o=d().getInt32(s+8,!0);if(o)throw p(r);return p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}iroh_path_kind(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_iroh_path_kind(this.__wbg_ptr,n,_);return p(r)}iroh_secret_key(){let t=e.wasmclient_iroh_secret_key(this.__wbg_ptr);return p(t)}iroh_transport_rtt_ms(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_iroh_transport_rtt_ms(this.__wbg_ptr,n,_);return p(r)}is_auto_connect_excluded(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i;return e.wasmclient_is_auto_connect_excluded(this.__wbg_ptr,n,_)!==0}is_connected(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_is_connected(this.__wbg_ptr,n,_);return p(r)}is_current_transport_stable_id(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient_is_current_transport_stable_id(this.__wbg_ptr,_,r,n);return p(o)}is_remote_admitted(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_is_remote_admitted(this.__wbg_ptr,n,_);return p(r)}join_room(t,n,_,r,o){let s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(n,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=c(_,e.__wbindgen_export,e.__wbindgen_export2),m=i,h=c(r,e.__wbindgen_export,e.__wbindgen_export2),y=i,v=c(o,e.__wbindgen_export,e.__wbindgen_export2),R=i,A=e.wasmclient_join_room(this.__wbg_ptr,s,a,w,l,f,m,h,y,v,R);return p(A)}leave_room(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=c(n,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(_,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=e.wasmclient_leave_room(this.__wbg_ptr,r,o,s,a,w,l);return p(f)}list_managed_connections(){let t=e.wasmclient_list_managed_connections(this.__wbg_ptr);return p(t)}constructor(t){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i;e.wasmclient_new(o,s,a);var n=d().getInt32(o+0,!0),_=d().getInt32(o+4,!0),r=d().getInt32(o+8,!0);if(r)throw p(_);return this.__wbg_ptr=n,rt.register(this,this.__wbg_ptr,this),this}finally{e.__wbindgen_add_to_stack_pointer(16);}}node_addr(){let t=e.wasmclient_node_addr(this.__wbg_ptr);return p(t)}openConnectionApplicationPayload(t,n,_){try{let l=e.__wbindgen_add_to_stack_pointer(-16),f=c(t,e.__wbindgen_export,e.__wbindgen_export2),m=i,h=k(_,e.__wbindgen_export),y=i;e.wasmclient_openConnectionApplicationPayload(l,this.__wbg_ptr,f,m,n,h,y);var r=d().getInt32(l+0,!0),o=d().getInt32(l+4,!0),s=d().getInt32(l+8,!0),a=d().getInt32(l+12,!0);if(a)throw p(s);var w=F(r,o).slice();return e.__wbindgen_export4(r,o*1,1),w}finally{e.__wbindgen_add_to_stack_pointer(16);}}open_bi(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_open_bi(this.__wbg_ptr,n,_);return p(r)}open_native_main_control_bi(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_open_native_main_control_bi(this.__wbg_ptr,n,_);return p(r)}open_peer_bi(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient_open_peer_bi(this.__wbg_ptr,_,r,x(n)?Number.MAX_SAFE_INTEGER:n>>>0);return p(o)}open_peer_bi_explicit_file_sender(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient_open_peer_bi_explicit_file_sender(this.__wbg_ptr,_,r,x(n)?Number.MAX_SAFE_INTEGER:n>>>0);return p(o)}open_peer_bi_transport_only(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient_open_peer_bi_transport_only(this.__wbg_ptr,_,r,x(n)?Number.MAX_SAFE_INTEGER:n>>>0);return p(o)}open_peer_uni(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient_open_peer_uni(this.__wbg_ptr,_,r,x(n)?Number.MAX_SAFE_INTEGER:n>>>0);return p(o)}open_uni(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_open_uni(this.__wbg_ptr,n,_);return p(r)}peerDatagramMaxSize(){return e.wasmclient_peerDatagramMaxSize(this.__wbg_ptr)>>>0}peer_scopes(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_peer_scopes(this.__wbg_ptr,n,_);return p(r)}peer_session(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_peer_session(this.__wbg_ptr,n,_);return p(r)}peer_sessions(){let t=e.wasmclient_peer_sessions(this.__wbg_ptr);return p(t)}peer_snapshot(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_peer_snapshot(this.__wbg_ptr,n,_);return p(r)}prepareSparseFanoutMessage(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=k(n,e.__wbindgen_export),s=i,a=e.wasmclient_prepareSparseFanoutMessage(this.__wbg_ptr,_,r,o,s);return p(a)}prepare_reciprocal_admission(t,n,_,r,o,s,a,w){let l=c(t,e.__wbindgen_export,e.__wbindgen_export2),f=i,m=c(_,e.__wbindgen_export,e.__wbindgen_export2),h=i,y=c(r,e.__wbindgen_export,e.__wbindgen_export2),v=i,R=c(o,e.__wbindgen_export,e.__wbindgen_export2),A=i,P=c(s,e.__wbindgen_export,e.__wbindgen_export2),S=i,O=c(a,e.__wbindgen_export,e.__wbindgen_export2),M=i,T=c(w,e.__wbindgen_export,e.__wbindgen_export2),N=i,Q=e.wasmclient_prepare_reciprocal_admission(this.__wbg_ptr,l,f,n,m,h,y,v,R,A,P,S,O,M,T,N);return p(Q)}present_session_token(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i;var l=x(_)?0:c(_,e.__wbindgen_export,e.__wbindgen_export2),f=i,m=x(r)?0:c(r,e.__wbindgen_export,e.__wbindgen_export2),h=i;let y=e.wasmclient_present_session_token(this.__wbg_ptr,o,s,a,w,l,f,m,h);return p(y)}protectConnectionApplicationPayload(t,n,_){try{let l=e.__wbindgen_add_to_stack_pointer(-16),f=c(t,e.__wbindgen_export,e.__wbindgen_export2),m=i,h=k(_,e.__wbindgen_export),y=i;e.wasmclient_protectConnectionApplicationPayload(l,this.__wbg_ptr,f,m,n,h,y);var r=d().getInt32(l+0,!0),o=d().getInt32(l+4,!0),s=d().getInt32(l+8,!0),a=d().getInt32(l+12,!0);if(a)throw p(s);var w=F(r,o).slice();return e.__wbindgen_export4(r,o*1,1),w}finally{e.__wbindgen_add_to_stack_pointer(16);}}rankRoutes(t,n){try{let s=e.__wbindgen_add_to_stack_pointer(-16),a=it(t,e.__wbindgen_export),w=i,l=it(n,e.__wbindgen_export),f=i;e.wasmclient_rankRoutes(s,this.__wbg_ptr,a,w,l,f);var _=d().getInt32(s+0,!0),r=d().getInt32(s+4,!0),o=Ct(_,r).slice();return e.__wbindgen_export4(_,r*4,4),o}finally{e.__wbindgen_add_to_stack_pointer(16);}}receivePeerDatagram(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_receivePeerDatagram(this.__wbg_ptr,n,_);return p(r)}recordSparseFanoutForwardQueueDrop(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient_recordSparseFanoutForwardQueueDrop(this.__wbg_ptr,_,r,n);return p(o)}register_session_token(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=c(n,e.__wbindgen_export,e.__wbindgen_export2),a=i;e.wasmclient_register_session_token(this.__wbg_ptr,r,o,s,a,_);}register_token_until(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i;e.wasmclient_register_token_until(this.__wbg_ptr,o,s,a,w,_,r);}reject_connection_admission(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient_reject_connection_admission(this.__wbg_ptr,_,r,o,s);return p(a)}release_peer_scope(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i;var o=x(n)?0:c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i;let a=e.wasmclient_release_peer_scope(this.__wbg_ptr,_,r,o,s);return p(a)}report_managed_connection_settled(t,n,_,r,o,s){let a=c(t,e.__wbindgen_export,e.__wbindgen_export2),w=i;var l=x(_)?0:c(_,e.__wbindgen_export,e.__wbindgen_export2),f=i;let m=e.wasmclient_report_managed_connection_settled(this.__wbg_ptr,a,w,n,l,f,!x(r),x(r)?BigInt(0):r,!x(o),x(o)?BigInt(0):o,!x(s),x(s)?BigInt(0):s);return p(m)}report_transport_status(t,n,_,r,o,s){let a=c(t,e.__wbindgen_export,e.__wbindgen_export2),w=i,l=c(n,e.__wbindgen_export,e.__wbindgen_export2),f=i;var m=x(_)?0:c(_,e.__wbindgen_export,e.__wbindgen_export2),h=i;let y=e.wasmclient_report_transport_status(this.__wbg_ptr,a,w,l,f,m,h,!x(r),x(r)?BigInt(0):r,!x(o),x(o)?BigInt(0):o,!x(s),x(s)?BigInt(0):s);return p(y)}resolve_peer_connection_records(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_resolve_peer_connection_records(this.__wbg_ptr,n,_);return p(r)}revoke_session_token(t){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i;e.wasmclient_revoke_session_token(o,this.__wbg_ptr,s,a);var n=d().getInt32(o+0,!0),_=d().getInt32(o+4,!0),r=d().getInt32(o+8,!0);if(r)throw p(_);return p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}revoke_tokens_by_scope(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_revoke_tokens_by_scope(this.__wbg_ptr,n,_);return p(r)}runtime_policy(){try{let r=e.__wbindgen_add_to_stack_pointer(-16);e.wasmclient_runtime_policy(r,this.__wbg_ptr);var t=d().getInt32(r+0,!0),n=d().getInt32(r+4,!0),_=d().getInt32(r+8,!0);if(_)throw p(n);return p(t)}finally{e.__wbindgen_add_to_stack_pointer(16);}}same_peer(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient_same_peer(this.__wbg_ptr,_,r,o,s);return p(a)}search_devices(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_search_devices(this.__wbg_ptr,n,_);return p(r)}sendPeerDatagram(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=k(n,e.__wbindgen_export),a=i,w=e.wasmclient_sendPeerDatagram(this.__wbg_ptr,r,o,s,a,x(_)?Number.MAX_SAFE_INTEGER:_>>>0);return p(w)}send_message(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i;var l=x(_)?0:c(_,e.__wbindgen_export,e.__wbindgen_export2),f=i,m=x(r)?0:c(r,e.__wbindgen_export,e.__wbindgen_export2),h=i;let y=e.wasmclient_send_message(this.__wbg_ptr,o,s,a,w,l,f,m,h);return p(y)}send_native_main_control_frame(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=k(n,e.__wbindgen_export),s=i,a=e.wasmclient_send_native_main_control_frame(this.__wbg_ptr,_,r,o,s);return p(a)}send_peer(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=k(n,e.__wbindgen_export),s=i,a=e.wasmclient_send_peer(this.__wbg_ptr,_,r,o,s);return p(a)}send_peer_application_frame(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=k(n,e.__wbindgen_export),a=i,w=e.wasmclient_send_peer_application_frame(this.__wbg_ptr,r,o,s,a,x(_)?Number.MAX_SAFE_INTEGER:_>>>0);return p(w)}setConnectionApplicationCryptoKey(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=k(n,e.__wbindgen_export),s=i,a=e.wasmclient_setConnectionApplicationCryptoKey(this.__wbg_ptr,_,r,o,s);return p(a)}setConnectionApplicationCryptoRequired(t){try{let r=e.__wbindgen_add_to_stack_pointer(-16),o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i;e.wasmclient_setConnectionApplicationCryptoRequired(r,this.__wbg_ptr,o,s);var n=d().getInt32(r+0,!0),_=d().getInt32(r+4,!0);if(_)throw p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}setIdentityCredential(t){var n=x(t)?0:c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i;e.wasmclient_setIdentityCredential(this.__wbg_ptr,n,_);}setRelay(t){let n=e.wasmclient_setRelay(this.__wbg_ptr,t);return p(n)}set_auto_connect_excluded(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient_set_auto_connect_excluded(this.__wbg_ptr,_,r,n);return p(o)}set_offline(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_set_offline(this.__wbg_ptr,n,_);return p(r)}sparseFanoutDiagnostics(t){let n=c(t,e.__wbindgen_export,e.__wbindgen_export2),_=i,r=e.wasmclient_sparseFanoutDiagnostics(this.__wbg_ptr,n,_);return p(r)}start_auto_connect(t,n){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(n,e.__wbindgen_export,e.__wbindgen_export2),l=i;e.wasmclient_start_auto_connect(o,this.__wbg_ptr,s,a,w,l);var _=d().getInt32(o+0,!0),r=d().getInt32(o+4,!0);if(r)throw p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}start_presence_loop(t,n,_,r){let o=c(t,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i,l=c(_,e.__wbindgen_export,e.__wbindgen_export2),f=i;var m=x(r)?0:c(r,e.__wbindgen_export,e.__wbindgen_export2),h=i;e.wasmclient_start_presence_loop(this.__wbg_ptr,o,s,a,w,l,f,m,h);}stop_auth_scoped_activity(){e.wasmclient_stop_auth_scoped_activity(this.__wbg_ptr);}stop_auto_connect(){e.wasmclient_stop_auto_connect(this.__wbg_ptr);}stop_presence_loop(){e.wasmclient_stop_presence_loop(this.__wbg_ptr);}submit_browser_desired_peers(t,n){try{let s=e.__wbindgen_add_to_stack_pointer(-16),a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i;e.wasmclient_submit_browser_desired_peers(s,this.__wbg_ptr,t,a,w);var _=d().getInt32(s+0,!0),r=d().getInt32(s+4,!0),o=d().getInt32(s+8,!0);if(o)throw p(r);return _!==0}finally{e.__wbindgen_add_to_stack_pointer(16);}}submit_browser_desired_peers_with_sparse_fanout(t,n,_,r,o,s){let a=c(n,e.__wbindgen_export,e.__wbindgen_export2),w=i;var l=x(_)?0:c(_,e.__wbindgen_export,e.__wbindgen_export2),f=i,m=x(r)?0:c(r,e.__wbindgen_export,e.__wbindgen_export2),h=i,y=x(o)?0:c(o,e.__wbindgen_export,e.__wbindgen_export2),v=i;let R=e.wasmclient_submit_browser_desired_peers_with_sparse_fanout(this.__wbg_ptr,t,a,w,l,f,m,h,y,v,x(s)?16777215:s?1:0);return p(R)}update_device(t,n,_,r,o){let s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(n,e.__wbindgen_export,e.__wbindgen_export2),l=i;var f=x(_)?0:c(_,e.__wbindgen_export,e.__wbindgen_export2),m=i,h=x(o)?0:c(o,e.__wbindgen_export,e.__wbindgen_export2),y=i;let v=e.wasmclient_update_device(this.__wbg_ptr,s,a,w,l,f,m,x(r)?0:u(r),h,y);return p(v)}update_presence(t,n,_,r,o){let s=c(t,e.__wbindgen_export,e.__wbindgen_export2),a=i,w=c(n,e.__wbindgen_export,e.__wbindgen_export2),l=i,f=c(_,e.__wbindgen_export,e.__wbindgen_export2),m=i;var h=x(r)?0:c(r,e.__wbindgen_export,e.__wbindgen_export2),y=i;let v=e.wasmclient_update_presence(this.__wbg_ptr,s,a,w,l,f,m,h,y,!x(o),x(o)?BigInt(0):o);return p(v)}update_session(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=c(n,e.__wbindgen_export,e.__wbindgen_export2),s=i,a=e.wasmclient_update_session(this.__wbg_ptr,_,r,o,s);return p(a)}validate_connection_token(t,n,_){let r=c(t,e.__wbindgen_export,e.__wbindgen_export2),o=i,s=c(n,e.__wbindgen_export,e.__wbindgen_export2),a=i;var w=x(_)?0:c(_,e.__wbindgen_export,e.__wbindgen_export2),l=i;let f=e.wasmclient_validate_connection_token(this.__wbg_ptr,r,o,s,a,w,l);return p(f)}validate_session_token(t){let n,_;try{let f=e.__wbindgen_add_to_stack_pointer(-16),m=c(t,e.__wbindgen_export,e.__wbindgen_export2),h=i;e.wasmclient_validate_session_token(f,this.__wbg_ptr,m,h);var r=d().getInt32(f+0,!0),o=d().getInt32(f+4,!0),s=d().getInt32(f+8,!0),a=d().getInt32(f+12,!0),w=r,l=o;if(a)throw w=0,l=0,p(s);return n=w,_=l,C(w,l)}finally{e.__wbindgen_add_to_stack_pointer(16),e.__wbindgen_export4(n,_,1);}}wait_for_peer(t,n){let _=c(t,e.__wbindgen_export,e.__wbindgen_export2),r=i,o=e.wasmclient_wait_for_peer(this.__wbg_ptr,_,r,x(n)?Number.MAX_SAFE_INTEGER:n>>>0);return p(o)}wake_browser_auto_connect(){return e.wasmclient_wake_browser_auto_connect(this.__wbg_ptr)!==0}};Symbol.dispose&&(K.prototype[Symbol.dispose]=K.prototype.free);var V=class b{static __wrap(t){let n=Object.create(b.prototype);return n.__wbg_ptr=t,ot.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,ot.unregister(this),t}free(){let t=this.__destroy_into_raw();e.__wbg_wasmpeerdatagrampolicy_free(t,0);}close(){e.wasmpeerdatagrampolicy_close(this.__wbg_ptr);}closeIncoming(){e.wasmpeerdatagrampolicy_closeIncoming(this.__wbg_ptr);}closeOutgoing(){e.wasmpeerdatagrampolicy_closeOutgoing(this.__wbg_ptr);}getStats(t){try{let o=e.__wbindgen_add_to_stack_pointer(-16);e.wasmpeerdatagrampolicy_getStats(o,this.__wbg_ptr,t);var n=d().getInt32(o+0,!0),_=d().getInt32(o+4,!0),r=d().getInt32(o+8,!0);if(r)throw p(_);return p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}popIncoming(t){try{let r=e.__wbindgen_add_to_stack_pointer(-16);e.wasmpeerdatagrampolicy_popIncoming(r,this.__wbg_ptr,t);var n=d().getInt32(r+0,!0),_=d().getInt32(r+4,!0);let o;return n!==0&&(o=F(n,_).slice(),e.__wbindgen_export4(n,_*1,1)),o}finally{e.__wbindgen_add_to_stack_pointer(16);}}popOutgoing(t){try{let o=e.__wbindgen_add_to_stack_pointer(-16);e.wasmpeerdatagrampolicy_popOutgoing(o,this.__wbg_ptr,t);var n=d().getInt32(o+0,!0),_=d().getInt32(o+4,!0),r=d().getInt32(o+8,!0);if(r)throw p(_);return p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}pushIncoming(t,n){try{let o=e.__wbindgen_add_to_stack_pointer(-16),s=k(t,e.__wbindgen_export),a=i;e.wasmpeerdatagrampolicy_pushIncoming(o,this.__wbg_ptr,s,a,n);var _=d().getInt32(o+0,!0),r=d().getInt32(o+4,!0);if(r)throw p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}pushOutgoing(t,n){try{let s=e.__wbindgen_add_to_stack_pointer(-16),a=k(t,e.__wbindgen_export),w=i;e.wasmpeerdatagrampolicy_pushOutgoing(s,this.__wbg_ptr,a,w,n);var _=d().getInt32(s+0,!0),r=d().getInt32(s+4,!0),o=d().getInt32(s+8,!0);if(o)throw p(r);return _!==0}finally{e.__wbindgen_add_to_stack_pointer(16);}}recordExpiredOutgoing(){e.wasmpeerdatagrampolicy_recordExpiredOutgoing(this.__wbg_ptr);}recordSendFailure(){e.wasmpeerdatagrampolicy_recordSendFailure(this.__wbg_ptr);}recordSent(t){e.wasmpeerdatagrampolicy_recordSent(this.__wbg_ptr,t);}setIncomingMaxAge(t,n){e.wasmpeerdatagrampolicy_setIncomingMaxAge(this.__wbg_ptr,x(t)?Number.MAX_SAFE_INTEGER:t>>>0,n);}setIncomingMaxBufferedDatagrams(t){try{let r=e.__wbindgen_add_to_stack_pointer(-16);e.wasmpeerdatagrampolicy_setIncomingMaxBufferedDatagrams(r,this.__wbg_ptr,t);var n=d().getInt32(r+0,!0),_=d().getInt32(r+4,!0);if(_)throw p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}setOutgoingMaxAge(t){e.wasmpeerdatagrampolicy_setOutgoingMaxAge(this.__wbg_ptr,x(t)?Number.MAX_SAFE_INTEGER:t>>>0);}setOutgoingMaxBufferedDatagrams(t){try{let r=e.__wbindgen_add_to_stack_pointer(-16);e.wasmpeerdatagrampolicy_setOutgoingMaxBufferedDatagrams(r,this.__wbg_ptr,t);var n=d().getInt32(r+0,!0),_=d().getInt32(r+4,!0);if(_)throw p(n)}finally{e.__wbindgen_add_to_stack_pointer(16);}}};Symbol.dispose&&(V.prototype[Symbol.dispose]=V.prototype.free);function Bt(){e.start();}function st(){return {__proto__:null,"./openrtc_bg.js":{__proto__:null,__wbg_Error_9dc85fe1bc224456:function(t,n){let _=Error(C(t,n));return u(_)},__wbg_Number_4779d427bae39753:function(t){return Number(g(t))},__wbg_String_8564e559799eccda:function(t,n){let _=String(g(n)),r=c(_,e.__wbindgen_export,e.__wbindgen_export2),o=i;d().setInt32(t+4,o,true),d().setInt32(t+0,r,true);},__wbg___wbindgen_bigint_get_as_i64_8ea6736501f396b6:function(t,n){let _=g(n),r=typeof _=="bigint"?_:void 0;d().setBigInt64(t+8,x(r)?BigInt(0):r,true),d().setInt32(t+0,!x(r),true);},__wbg___wbindgen_boolean_get_b131b2f36d6b2f55:function(t){let n=g(t),_=typeof n=="boolean"?n:void 0;return x(_)?16777215:_?1:0},__wbg___wbindgen_debug_string_56c147eb1a51f0c4:function(t,n){let _=Z(g(n)),r=c(_,e.__wbindgen_export,e.__wbindgen_export2),o=i;d().setInt32(t+4,o,true),d().setInt32(t+0,r,true);},__wbg___wbindgen_in_ce8569b2fc6f5088:function(t,n){return g(t)in g(n)},__wbg___wbindgen_is_bigint_df272c65456269c2:function(t){return typeof g(t)=="bigint"},__wbg___wbindgen_is_function_147961669f068cd4:function(t){return typeof g(t)=="function"},__wbg___wbindgen_is_null_ced4761460071341:function(t){return g(t)===null},__wbg___wbindgen_is_object_3a2c414391dbf751:function(t){let n=g(t);return typeof n=="object"&&n!==null},__wbg___wbindgen_is_string_6541b0f6ecd4e8e5:function(t){return typeof g(t)=="string"},__wbg___wbindgen_is_undefined_4410e3c20a99fa97:function(t){return g(t)===void 0},__wbg___wbindgen_jsval_eq_174c93ec61bab0c5:function(t,n){return g(t)===g(n)},__wbg___wbindgen_jsval_loose_eq_e07e3b1f5db6da6c:function(t,n){return g(t)==g(n)},__wbg___wbindgen_number_get_588ed6b97f0d7e14:function(t,n){let _=g(n),r=typeof _=="number"?_:void 0;d().setFloat64(t+8,x(r)?0:r,true),d().setInt32(t+0,!x(r),true);},__wbg___wbindgen_string_get_fa2687d531ed17a5:function(t,n){let _=g(n),r=typeof _=="string"?_:void 0;var o=x(r)?0:c(r,e.__wbindgen_export,e.__wbindgen_export2),s=i;d().setInt32(t+4,s,true),d().setInt32(t+0,o,true);},__wbg___wbindgen_throw_bbadd78c1bac3a77:function(t,n){throw new Error(C(t,n))},__wbg__wbg_cb_unref_c2301a3c9b78104b:function(t){g(t)._wbg_cb_unref();},__wbg_abort_56c00f462c9261d9:function(t,n){g(t).abort(g(n));},__wbg_abort_f2416f4a9852003e:function(t){g(t).abort();},__wbg_addEventListener_b635263c509aa7de:function(){return I(function(t,n,_,r){g(t).addEventListener(C(n,_),g(r));},arguments)},__wbg_append_c5a0c94a6a73b22e:function(){return I(function(t,n,_,r,o){g(t).append(C(n,_),C(r,o));},arguments)},__wbg_apply_5d99f956e2dda74d:function(){return I(function(t,n,_){let r=g(t).apply(g(n),g(_));return u(r)},arguments)},__wbg_arrayBuffer_cc7704fa158b907a:function(){return I(function(t){let n=g(t).arrayBuffer();return u(n)},arguments)},__wbg_bistream_new:function(t){let n=G.__wrap(t);return u(n)},__wbg_body_442a47f02322d7b0:function(t){let n=g(t).body;return x(n)?0:u(n)},__wbg_buffer_8524b3453cde4918:function(t){let n=g(t).buffer;return u(n)},__wbg_bufferedAmount_c1581bbb06f4f36c:function(t){return g(t).bufferedAmount},__wbg_byobRequest_cc72d210de793e64:function(t){let n=g(t).byobRequest;return x(n)?0:u(n)},__wbg_byteLength_96807b1d9ab24a4c:function(t){return g(t).byteLength},__wbg_byteOffset_a9c7002428843c41:function(t){return g(t).byteOffset},__wbg_call_91f00ddc43e01490:function(){return I(function(t,n){let _=g(t).call(g(n));return u(_)},arguments)},__wbg_call_ec09a4cf93377d3a:function(){return I(function(t,n,_){let r=g(t).call(g(n),g(_));return u(r)},arguments)},__wbg_cancel_f3a197b26dc88b39:function(t){let n=g(t).cancel();return u(n)},__wbg_catch_66060324c27be6f7:function(t,n){let _=g(t).catch(g(n));return u(_)},__wbg_clearTimeout_113b1cde814ec762:function(t){let n=clearTimeout(p(t));return u(n)},__wbg_clearTimeout_333bba87532ab9d3:function(t){let n=clearTimeout(p(t));return u(n)},__wbg_clearTimeout_47a40e3be01ed7a3:function(){return I(function(t,n){g(t).clearTimeout(p(n));},arguments)},__wbg_close_296263cfe1bb2999:function(){return I(function(t){g(t).close();},arguments)},__wbg_close_388d99468213b286:function(){return I(function(t){g(t).close();},arguments)},__wbg_close_4857e22d08b71356:function(){return I(function(t){g(t).close();},arguments)},__wbg_close_f3365df7ba1b74d3:function(t){g(t).close();},__wbg_code_1cda2855fcd9b009:function(t){return g(t).code},__wbg_code_70beb7b22374d55e:function(t){return g(t).code},__wbg_crypto_38df2bab126b63dc:function(t){let n=g(t).crypto;return u(n)},__wbg_data_8a04443c1e5a8cd3:function(t){let n=g(t).data;return u(n)},__wbg_debug_de823612d4d12f74:function(t){console.debug(g(t));},__wbg_dispatchEvent_cc62a6a43d28b01c:function(){return I(function(t,n){return g(t).dispatchEvent(g(n))},arguments)},__wbg_done_6a8439e544ec6206:function(t){return g(t).done},__wbg_enqueue_bbeb09ba0b140f76:function(){return I(function(t,n){g(t).enqueue(g(n));},arguments)},__wbg_entries_4e00eefd3fd54cf1:function(t){let n=g(t).entries();return u(n)},__wbg_entries_5a6a7e7e0df09fe5:function(t){let n=Object.entries(g(t));return u(n)},__wbg_error_6651fee1c71e5da9:function(t){console.error(g(t));},__wbg_error_9a99766f65a03031:function(t,n){console.error(g(t),g(n));},__wbg_error_a6fa202b58aa1cd3:function(t,n){let _,r;try{_=t,r=n,console.error(C(t,n));}finally{e.__wbindgen_export4(_,r,1);}},__wbg_fetch_074561c3e313c86f:function(t){let n=fetch(g(t));return u(n)},__wbg_fetch_22858a12fcf93152:function(t,n){let _=g(t).fetch(g(n));return u(_)},__wbg_from_8a57180716c586ee:function(t){let n=Array.from(g(t));return u(n)},__wbg_getRandomValues_c44a50d8cfdaebeb:function(){return I(function(t,n){g(t).getRandomValues(g(n));},arguments)},__wbg_getRandomValues_cc7f052a444bb2ce:function(){return I(function(t,n){globalThis.crypto.getRandomValues(F(t,n));},arguments)},__wbg_getReader_9facd4f899beac89:function(){return I(function(t){let n=g(t).getReader();return u(n)},arguments)},__wbg_get_44e98e27bda25b5b:function(){return I(function(t,n){let _=Reflect.get(g(t),g(n));return u(_)},arguments)},__wbg_get_4b90d6d8c5deb5d5:function(t,n){let _=g(t)[n>>>0];return u(_)},__wbg_get_52a8a619f7b88df6:function(){return I(function(t,n){let _=Reflect.get(g(t),g(n));return u(_)},arguments)},__wbg_get_done_c21b9933fc9a9e9c:function(t){let n=g(t).done;return x(n)?16777215:n?1:0},__wbg_get_unchecked_46e778e3cec74b5e:function(t,n){let _=g(t)[n>>>0];return u(_)},__wbg_get_value_ad568c7d3db9073f:function(t){let n=g(t).value;return u(n)},__wbg_get_with_ref_key_6412cf3094599694:function(t,n){let _=g(t)[g(n)];return u(_)},__wbg_has_14676d88c1340d2c:function(){return I(function(t,n){return Reflect.has(g(t),g(n))},arguments)},__wbg_headers_5b19cf40627ae54d:function(t){let n=g(t).headers;return u(n)},__wbg_info_a2b5f8a5dae8b26c:function(t){console.info(g(t));},__wbg_instanceof_ArrayBuffer_a581da923203f29f:function(t){let n;try{n=g(t)instanceof ArrayBuffer;}catch{n=false;}return n},__wbg_instanceof_Blob_5c4e145be35f9b1e:function(t){let n;try{n=g(t)instanceof Blob;}catch{n=false;}return n},__wbg_instanceof_Map_7f94c740225003e2:function(t){let n;try{n=g(t)instanceof Map;}catch{n=false;}return n},__wbg_instanceof_Promise_aa24ea31000d4ee6:function(t){let n;try{n=g(t)instanceof Promise;}catch{n=false;}return n},__wbg_instanceof_Response_36a65a969abaa7c6:function(t){let n;try{n=g(t)instanceof Response;}catch{n=false;}return n},__wbg_instanceof_Uint8Array_b6fe1ac89eba107e:function(t){let n;try{n=g(t)instanceof Uint8Array;}catch{n=false;}return n},__wbg_instanceof_Window_9e0fe7d3d1ff4342:function(t){let n;try{n=g(t)instanceof Window;}catch{n=false;}return n},__wbg_isArray_139f48e3c057ede8:function(t){return Array.isArray(g(t))},__wbg_isSafeInteger_c22ccb4af2201fe9:function(t){return Number.isSafeInteger(g(t))},__wbg_iterator_9b36cebf3be7b7cd:function(){return u(Symbol.iterator)},__wbg_length_68a9d5278d084f4f:function(t){return g(t).length},__wbg_length_fb04d16d7bdf6d4c:function(t){return g(t).length},__wbg_log_6614a4effdb4e983:function(t){console.log(g(t));},__wbg_maxRetransmits_dfa0382c31f8e2ca:function(t){let n=g(t).maxRetransmits;return x(n)?16777215:n},__wbg_message_12958526424a887b:function(t,n){let _=g(n).message,r=c(_,e.__wbindgen_export,e.__wbindgen_export2),o=i;d().setInt32(t+4,o,true),d().setInt32(t+0,r,true);},__wbg_msCrypto_bd5a034af96bcba6:function(t){let n=g(t).msCrypto;return u(n)},__wbg_new_0b303268aa395a38:function(){let t=new Array;return u(t)},__wbg_new_189262ff31890c23:function(){return I(function(){let t=new Headers;return u(t)},arguments)},__wbg_new_20b778a4c5c691c3:function(){let t=new Object;return u(t)},__wbg_new_227d7c05414eb861:function(){let t=new Error;return u(t)},__wbg_new_24739629d416f982:function(){return I(function(){let t=new AbortController;return u(t)},arguments)},__wbg_new_5fae30e6b23db8df:function(t,n){let _=new Error(C(t,n));return u(_)},__wbg_new_883c0db065f06efd:function(){return u(new Map)},__wbg_new_a3e5112401a82338:function(){return I(function(t,n){let _=new WebSocket(C(t,n));return u(_)},arguments)},__wbg_new_b06772b280cc6e52:function(t){let n=new Uint8Array(g(t));return u(n)},__wbg_new_from_slice_bb2d1778c0b87eb1:function(t,n){let _=new Uint8Array(F(t,n));return u(_)},__wbg_new_typed_90c3f6c29ba36d19:function(t,n){try{var _={a:t,b:n},r=(s,a)=>{let w=_.a;_.a=0;try{return xt(w,_.b,s,a)}finally{_.a=w;}};let o=new Promise(r);return u(o)}finally{_.a=0;}},__wbg_new_with_byte_offset_and_length_9e1e664fe1a5d385:function(t,n,_){let r=new Uint8Array(g(t),n>>>0,_>>>0);return u(r)},__wbg_new_with_event_init_dict_bd850674488710b1:function(){return I(function(t,n,_){let r=new CustomEvent(C(t,n),g(_));return u(r)},arguments)},__wbg_new_with_into_underlying_sink_2596343f9b6c8e58:function(t){let n=new WritableStream(L.__wrap(t));return u(n)},__wbg_new_with_into_underlying_source_fd904252f385f59c:function(t,n){let _=new ReadableStream(U.__wrap(t),p(n));return u(_)},__wbg_new_with_length_4b57a7a5dc67221c:function(t){let n=new Uint8Array(t>>>0);return u(n)},__wbg_new_with_str_and_init_df876572184fe639:function(){return I(function(t,n,_){let r=new Request(C(t,n),g(_));return u(r)},arguments)},__wbg_new_with_str_sequence_505a4829cc247e79:function(){return I(function(t,n,_){let r=new WebSocket(C(t,n),g(_));return u(r)},arguments)},__wbg_next_8cb028b6ba50743f:function(){return I(function(t){let n=g(t).next();return u(n)},arguments)},__wbg_next_cfd0b146c9538df8:function(t){let n=g(t).next;return u(n)},__wbg_node_84ea875411254db1:function(t){let n=g(t).node;return u(n)},__wbg_now_bce4dc999095ea77:function(){return Date.now()},__wbg_now_e7c6795a7f81e10f:function(t){return g(t).now()},__wbg_parse_a5c06e19bc1187fd:function(t,n){return Date.parse(C(t,n))},__wbg_peerunistream_new:function(t){let n=X.__wrap(t);return u(n)},__wbg_performance_3fcf6e32a7e1ed0a:function(t){let n=g(t).performance;return u(n)},__wbg_process_44c7a14e11e9f69e:function(t){let n=g(t).process;return u(n)},__wbg_protocol_28aaef5ea42981d6:function(t,n){let _=g(n).protocol,r=c(_,e.__wbindgen_export,e.__wbindgen_export2),o=i;d().setInt32(t+4,o,true),d().setInt32(t+0,r,true);},__wbg_prototypesetcall_956c7493c68e29b4:function(t,n,_){Uint8Array.prototype.set.call(F(t,n),g(_));},__wbg_push_ceb8ef046afb2041:function(t,n){return g(t).push(g(n))},__wbg_queueMicrotask_4698f900840e3286:function(t){queueMicrotask(g(t));},__wbg_queueMicrotask_477a5533c7100338:function(t){let n=g(t).queueMicrotask;return u(n)},__wbg_randomFillSync_6c25eac9869eb53c:function(){return I(function(t,n){g(t).randomFillSync(p(n));},arguments)},__wbg_read_8426c146431f2905:function(t){let n=g(t).read();return u(n)},__wbg_readyState_25243ad6ce649774:function(t){return g(t).readyState},__wbg_reason_4ec455bac79b33ce:function(t,n){let _=g(n).reason,r=c(_,e.__wbindgen_export,e.__wbindgen_export2),o=i;d().setInt32(t+4,o,true),d().setInt32(t+0,r,true);},__wbg_releaseLock_188846ef719acb10:function(t){g(t).releaseLock();},__wbg_removeEventListener_016c1d24523b4730:function(){return I(function(t,n,_,r){g(t).removeEventListener(C(n,_),g(r));},arguments)},__wbg_require_b4edbdcf3e2a1ef0:function(){return I(function(){let t=module.require;return u(t)},arguments)},__wbg_resolve_0183de2e8c6b1d54:function(t){let n=Promise.resolve(g(t));return u(n)},__wbg_respond_3cdb4cf32683fd79:function(){return I(function(t,n){g(t).respond(n>>>0);},arguments)},__wbg_send_77521d09456dd693:function(){return I(function(t,n,_){g(t).send(F(n,_));},arguments)},__wbg_send_99d049cae69c53cc:function(){return I(function(t,n,_){g(t).send(F(n,_));},arguments)},__wbg_send_bac9d3dc4f21ef28:function(){return I(function(t,n,_){g(t).send(C(n,_));},arguments)},__wbg_setTimeout_3a808dd861dd3c12:function(t,n){let _=setTimeout(g(t),n);return u(_)},__wbg_setTimeout_6613a51400c1bf9f:function(){return I(function(t,n,_){let r=g(t).setTimeout(p(n),_);return u(r)},arguments)},__wbg_setTimeout_ef24d2fc3ad97385:function(){return I(function(t,n){let _=setTimeout(g(t),n);return u(_)},arguments)},__wbg_set_5f806304fb633ab3:function(t,n,_){let r=g(t).set(g(n),g(_));return u(r)},__wbg_set_6be42768c690e380:function(t,n,_){g(t)[p(n)]=p(_);},__wbg_set_86698c227e5b9dad:function(t,n,_){g(t).set(F(n,_));},__wbg_set_a6ba3ac0e634b822:function(){return I(function(t,n,_){return Reflect.set(g(t),g(n),g(_))},arguments)},__wbg_set_binaryType_07905e4563fcd9b2:function(t,n){g(t).binaryType=kt[n];},__wbg_set_binaryType_8c2dd2cf1cfc2e28:function(t,n){g(t).binaryType=mt[n];},__wbg_set_body_d1153b16a2b95ca1:function(t,n){g(t).body=g(n);},__wbg_set_bufferedAmountLowThreshold_8969a2db2c745257:function(t,n){g(t).bufferedAmountLowThreshold=n>>>0;},__wbg_set_cache_5a01a8b5e6ca6cf2:function(t,n){g(t).cache=yt[n];},__wbg_set_credentials_e9120ed88b1fc0b8:function(t,n){g(t).credentials=vt[n];},__wbg_set_da33c120a6584674:function(t,n,_){g(t)[n>>>0]=p(_);},__wbg_set_detail_c7af5edea934390b:function(t,n){g(t).detail=g(n);},__wbg_set_handle_event_6147c38b782c7b42:function(t,n){g(t).handleEvent=g(n);},__wbg_set_headers_877ed41890d28af2:function(t,n){g(t).headers=g(n);},__wbg_set_high_water_mark_77da20c49668427d:function(t,n){g(t).highWaterMark=n;},__wbg_set_method_b4ede299b2064f37:function(t,n,_){g(t).method=C(n,_);},__wbg_set_mode_d6c2e1991aa963c6:function(t,n){g(t).mode=It[n];},__wbg_set_onbufferedamountlow_b695487bdd219f98:function(t,n){g(t).onbufferedamountlow=g(n);},__wbg_set_onclose_9cb5c3372e16c192:function(t,n){g(t).onclose=g(n);},__wbg_set_onclose_f8bec1cbeb64aa93:function(t,n){g(t).onclose=g(n);},__wbg_set_onerror_190fe67e911ebf28:function(t,n){g(t).onerror=g(n);},__wbg_set_onmessage_4d57c4ddab951294:function(t,n){g(t).onmessage=g(n);},__wbg_set_onmessage_96337495f0bfb796:function(t,n){g(t).onmessage=g(n);},__wbg_set_onopen_3e2bf6b11d434c2d:function(t,n){g(t).onopen=g(n);},__wbg_set_signal_9022b5aa06a6ce5b:function(t,n){g(t).signal=g(n);},__wbg_signal_41dd1a8913cd0b7d:function(t){let n=g(t).signal;return u(n)},__wbg_stack_3b0d974bbf31e44f:function(t,n){let _=g(n).stack,r=c(_,e.__wbindgen_export,e.__wbindgen_export2),o=i;d().setInt32(t+4,o,true),d().setInt32(t+0,r,true);},__wbg_static_accessor_GLOBAL_60a4124bab7dcc9a:function(){let t=typeof global>"u"?null:global;return x(t)?0:u(t)},__wbg_static_accessor_GLOBAL_THIS_95ca6460658b5d13:function(){let t=typeof globalThis>"u"?null:globalThis;return x(t)?0:u(t)},__wbg_static_accessor_SELF_4c95f759a91e9aae:function(){let t=typeof self>"u"?null:self;return x(t)?0:u(t)},__wbg_static_accessor_WINDOW_44b435597f9e9ee7:function(){let t=typeof window>"u"?null:window;return x(t)?0:u(t)},__wbg_status_9e6505cfa3e73a7c:function(t){return g(t).status},__wbg_subarray_42216645a367cd7a:function(t,n,_){let r=g(t).subarray(n>>>0,_>>>0);return u(r)},__wbg_then_254bab9b266a77a5:function(t,n,_){let r=g(t).then(g(n),g(_));return u(r)},__wbg_then_3ea18602c6a5123b:function(t,n){let _=g(t).then(g(n));return u(_)},__wbg_url_72c67c175685a054:function(t,n){let _=g(n).url,r=c(_,e.__wbindgen_export,e.__wbindgen_export2),o=i;d().setInt32(t+4,o,true),d().setInt32(t+0,r,true);},__wbg_url_d0b8042af0d1bbba:function(t,n){let _=g(n).url,r=c(_,e.__wbindgen_export,e.__wbindgen_export2),o=i;d().setInt32(t+4,o,true),d().setInt32(t+0,r,true);},__wbg_value_3d3defe09fb1ffca:function(t){let n=g(t).value;return u(n)},__wbg_versions_276b2795b1c6a219:function(t){let n=g(t).versions;return u(n)},__wbg_view_15fa5865c6b336e3:function(t){let n=g(t).view;return x(n)?0:u(n)},__wbg_warn_633bacc13ba7e6c3:function(t){console.warn(g(t));},__wbg_wasClean_f17429d064911939:function(t){return g(t).wasClean},__wbindgen_cast_0000000000000001:function(t,n){let _=B(t,n,dt);return u(_)},__wbindgen_cast_0000000000000002:function(t,n){let _=B(t,n,ft);return u(_)},__wbindgen_cast_0000000000000003:function(t,n){let _=B(t,n,wt);return u(_)},__wbindgen_cast_0000000000000004:function(t,n){let _=B(t,n,ut);return u(_)},__wbindgen_cast_0000000000000005:function(t,n){let _=B(t,n,lt);return u(_)},__wbindgen_cast_0000000000000006:function(t,n){let _=B(t,n,at);return u(_)},__wbindgen_cast_0000000000000007:function(t,n){let _=B(t,n,pt);return u(_)},__wbindgen_cast_0000000000000008:function(t,n){let _=Pt(t,n,gt);return u(_)},__wbindgen_cast_0000000000000009:function(t,n){let _=B(t,n,bt);return u(_)},__wbindgen_cast_000000000000000a:function(t){return u(t)},__wbindgen_cast_000000000000000b:function(t){return u(t)},__wbindgen_cast_000000000000000c:function(t,n){let _=F(t,n);return u(_)},__wbindgen_cast_000000000000000d:function(t,n){let _=C(t,n);return u(_)},__wbindgen_cast_000000000000000e:function(t){let n=BigInt.asUintN(64,t);return u(n)},__wbindgen_cast_000000000000000f:function(t,n){var _=F(t,n).slice();return e.__wbindgen_export4(t,n*1,1),u(_)},__wbindgen_object_clone_ref:function(t){let n=g(t);return u(n)},__wbindgen_object_drop_ref:function(t){p(t);}}}}function at(b,t){e.__wasm_bindgen_func_elem_29066(b,t);}function pt(b,t){e.__wasm_bindgen_func_elem_30194(b,t);}function gt(b,t){e.__wasm_bindgen_func_elem_30260(b,t);}function bt(b,t){e.__wasm_bindgen_func_elem_38236(b,t);}function dt(b,t,n){e.__wasm_bindgen_func_elem_29266(b,t,u(n));}function wt(b,t,n){e.__wasm_bindgen_func_elem_26634(b,t,u(n));}function ut(b,t,n){e.__wasm_bindgen_func_elem_5967(b,t,u(n));}function lt(b,t,n){e.__wasm_bindgen_func_elem_30922(b,t,u(n));}function ft(b,t,n){try{let o=e.__wbindgen_add_to_stack_pointer(-16);e.__wasm_bindgen_func_elem_39744(o,b,t,u(n));var _=d().getInt32(o+0,!0),r=d().getInt32(o+4,!0);if(r)throw p(_)}finally{e.__wbindgen_add_to_stack_pointer(16);}}function xt(b,t,n,_){e.__wasm_bindgen_func_elem_39746(b,t,u(n),u(_));}var mt=["blob","arraybuffer"],ht=["bytes"],yt=["default","no-store","reload","no-cache","force-cache","only-if-cached"],vt=["omit","same-origin","include"],It=["same-origin","no-cors","cors","navigate"],kt=["arraybuffer","blob"],tt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(b=>e.__wbg_bistream_free(b,1)),Rt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(b=>e.__wbg_intounderlyingbytesource_free(b,1)),et=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(b=>e.__wbg_intounderlyingsink_free(b,1)),nt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(b=>e.__wbg_intounderlyingsource_free(b,1)),_t=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(b=>e.__wbg_peerunistream_free(b,1)),rt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(b=>e.__wbg_wasmclient_free(b,1)),ot=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(b=>e.__wbg_wasmpeerdatagrampolicy_free(b,1));function u(b){D===E.length&&E.push(E.length+1);let t=D;return D=E[t],E[t]=b,t}var J=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(b=>e.__wbindgen_export5(b.a,b.b));function Z(b){let t=typeof b;if(t=="number"||t=="boolean"||b==null)return `${b}`;if(t=="string")return `"${b}"`;if(t=="symbol"){let r=b.description;return r==null?"Symbol":`Symbol(${r})`}if(t=="function"){let r=b.name;return typeof r=="string"&&r.length>0?`Function(${r})`:"Function"}if(Array.isArray(b)){let r=b.length,o="[";r>0&&(o+=Z(b[0]));for(let s=1;s<r;s++)o+=", "+Z(b[s]);return o+="]",o}let n=/\[object ([^\]]+)\]/.exec(toString.call(b)),_;if(n&&n.length>1)_=n[1];else return toString.call(b);if(_=="Object")try{return "Object("+JSON.stringify(b)+")"}catch{return "Object"}return b instanceof Error?`${b.name}: ${b.message}
|
|
2
|
+
${b.stack}`:_}function At(b){b<1028||(E[b]=D,D=b);}function Ct(b,t){b=b>>>0;let n=d(),_=[];for(let r=b;r<b+4*t;r+=4)_.push(p(n.getUint32(r,true)));return _}function F(b,t){return b=b>>>0,W().subarray(b/1,b/1+t)}var j=null;function d(){return (j===null||j.buffer.detached===true||j.buffer.detached===void 0&&j.buffer!==e.memory.buffer)&&(j=new DataView(e.memory.buffer)),j}function C(b,t){return St(b>>>0,t)}var q=null;function W(){return (q===null||q.byteLength===0)&&(q=new Uint8Array(e.memory.buffer)),q}function g(b){return E[b]}function I(b,t){try{return b.apply(this,t)}catch(n){e.__wbindgen_export3(u(n));}}var E=new Array(1024).fill(void 0);E.push(void 0,null,true,false);var D=E.length;function x(b){return b==null}function Pt(b,t,n){let _={a:b,b:t,cnt:1},r=(...o)=>{_.cnt++;try{return n(_.a,_.b,...o)}finally{r._wbg_cb_unref();}};return r._wbg_cb_unref=()=>{--_.cnt===0&&(e.__wbindgen_export5(_.a,_.b),_.a=0,J.unregister(_));},J.register(r,_,_),r}function B(b,t,n){let _={a:b,b:t,cnt:1},r=(...o)=>{_.cnt++;let s=_.a;_.a=0;try{return n(s,_.b,...o)}finally{_.a=s,r._wbg_cb_unref();}};return r._wbg_cb_unref=()=>{--_.cnt===0&&(e.__wbindgen_export5(_.a,_.b),_.a=0,J.unregister(_));},J.register(r,_,_),r}function k(b,t){let n=t(b.length*1,1)>>>0;return W().set(b,n/1),i=b.length,n}function it(b,t){let n=t(b.length*4,4)>>>0,_=d();for(let r=0;r<b.length;r++)_.setUint32(n+4*r,u(b[r]),true);return i=b.length,n}function c(b,t,n){if(n===void 0){let a=z.encode(b),w=t(a.length,1)>>>0;return W().subarray(w,w+a.length).set(a),i=a.length,w}let _=b.length,r=t(_,1)>>>0,o=W(),s=0;for(;s<_;s++){let a=b.charCodeAt(s);if(a>127)break;o[r+s]=a;}if(s!==_){s!==0&&(b=b.slice(s)),r=n(r,_,_=s+b.length*3,1)>>>0;let a=W().subarray(r+s,r+_),w=z.encodeInto(b,a);s+=w.written,r=n(r,_,s,1)>>>0;}return i=s,r}function p(b){let t=g(b);return At(b),t}var H=new TextDecoder("utf-8",{ignoreBOM:true,fatal:true});H.decode();var Ft=2146435072,Y=0;function St(b,t){return Y+=t,Y>=Ft&&(H=new TextDecoder("utf-8",{ignoreBOM:true,fatal:true}),H.decode(),Y=t),H.decode(W().subarray(b,b+t))}var z=new TextEncoder;"encodeInto"in z||(z.encodeInto=function(b,t){let n=z.encode(b);return t.set(n),{read:b.length,written:n.length}});var i=0,e;function ct(b,t){return e=b.exports,j=null,q=null,e.__wbindgen_start(),e}async function Et(b,t){if(typeof Response=="function"&&b instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(b,t)}catch(r){if(b.ok&&n(b.type)&&b.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r);else throw r}let _=await b.arrayBuffer();return await WebAssembly.instantiate(_,t)}else {let _=await WebAssembly.instantiate(b,t);return _ instanceof WebAssembly.Instance?{instance:_,module:b}:_}function n(_){switch(_){case "basic":case "cors":case "default":return true}return false}}function Tt(b){if(e!==void 0)return e;b!==void 0&&(Object.getPrototypeOf(b)===Object.prototype?{module:b}=b:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=st();b instanceof WebAssembly.Module||(b=new WebAssembly.Module(b));let n=new WebAssembly.Instance(b,t);return ct(n)}async function Nt(b){if(e!==void 0)return e;b!==void 0&&(Object.getPrototypeOf(b)===Object.prototype?{module_or_path:b}=b:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),b===void 0&&(b=new URL("openrtc_bg.wasm",import.meta.url));let t=st();(typeof b=="string"||typeof Request=="function"&&b instanceof Request||typeof URL=="function"&&b instanceof URL)&&(b=fetch(b));let{instance:n,module:_}=await Et(await b,t);return ct(n)}export{G as BiStream,$ as IntoUnderlyingByteSource,L as IntoUnderlyingSink,U as IntoUnderlyingSource,X as PeerUniStream,K as WasmClient,V as WasmPeerDatagramPolicy,Nt as default,Tt as initSync,Bt as start};
|
package/dist/openrtc_bg.wasm
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {h,e,g,f}from'./chunk-TZLNKQNJ.js';import {b}from'./chunk-ZA44REGI.js';import'./chunk-LLZT3MR6.js';import'./chunk-DUY34MGT.js';import'./chunk-CCCYE3XN.js';import'./chunk-N6LGTNUI.js';import'./chunk-JPBW67B3.js';import'./chunk-2GX6GB6L.js';function M(t){let e=t.architecture??(t.advancedFanout===true?"sparse":"auto");if(t.advancedFanout===true&&e!=="sparse")throw new Error("[OpenRTC] advancedFanout conflicts with architecture; use architecture: sparse only.");return {architecture:e,delivery:t.payload??(t.advancedFanout===true?"latest-state":"reliable")}}var R=class{constructor(e){this.mode=e==="sparse"?"sparse":"direct";}create(e){return new w(e,()=>this.mode)}setArchitecture(e){e.phase==="settled"&&(this.mode=e.effective==="sparse"?"sparse":e.effective==="managed"?"managed":"direct");}},w=class{constructor(e,r){this.host=e;this.mode=r;this.sparseForwardQueue=[];this.sparseForwardRunning=false;this.sparseForwardQueueDropsPending=0;this.sparseForwardDropReport=null;this.closed=false;let i=e.client.advanced.runtime.onManagedRoomMessage;this.stopManagedMessage=typeof i=="function"?i.call(e.client.advanced.runtime,a=>{e.deliver(a.senderId,a.payload,a.channel);}):()=>{};}isSparse(){return this.mode()==="sparse"}publishState(e,r){return this.mode()!=="managed"?false:(this.publishManaged(e,r).catch(()=>{}),true)}async sendChannel(e,r){let i=this.mode();if(i==="managed")return await this.publishManaged(e,r),true;if(i!=="sparse")return false;let a=this.host.connections();if(a.length===0)return true;let o=await this.host.client.advanced.runtime.encodeSparseFanoutMessage(this.host.capabilityKey,r);return await Promise.all(a.map(n=>n.send(o))),true}assertTargetedSendAllowed(){if(this.mode()==="managed")throw new Error("[OpenRTC] Targeted messages are not available in managed fanout rooms; use authority mode for targeted request semantics.")}receive(e,r,i){return this.mode()!=="sparse"?false:(i instanceof Uint8Array&&this.receiveSparseBroadcast(e,r,i),true)}close(){this.closed||(this.closed=true,this.stopManagedMessage(),this.sparseForwardQueue.length=0);}publishManaged(e,r){return this.host.client.advanced.runtime.publishManagedRoomMessage({messageId:crypto.randomUUID(),channel:e,priority:1,payload:r})}async receiveSparseBroadcast(e,r,i){let a;try{a=await this.host.client.advanced.runtime.acceptSparseFanoutMessage(this.host.capabilityKey,r,i);}catch{return}if(a.forward){let o=Number.isSafeInteger(a.forwardPeerLimit)&&a.forwardPeerLimit>0?a.forwardPeerLimit:0,n=Number.isSafeInteger(a.forwardQueueCapacity)&&a.forwardQueueCapacity>0?Math.min(a.forwardQueueCapacity,64):0,c=new Set(Array.isArray(a.forwardPeerIds)?a.forwardPeerIds.slice(0,o):[]),s=this.host.connections().filter(u=>u.id!==e.id).filter(u=>c.has(u.remoteNodeId)).slice(0,o);this.enqueueSparseForward(a.forward,s,n);}this.host.deliver(a.authorDeviceId,a.payload);}enqueueSparseForward(e,r,i){if(i===0||r.length===0||this.closed)return;if(this.sparseForwardQueue.length+(this.sparseForwardRunning?1:0)>=i){this.sparseForwardQueueDropsPending+=1,this.flushSparseForwardDropReport();return}this.sparseForwardQueue.push({payload:e,targets:r}),this.sparseForwardRunning||this.drainSparseForwardQueue();}async drainSparseForwardQueue(){if(!this.sparseForwardRunning){this.sparseForwardRunning=true;try{for(;!this.closed;){let e=this.sparseForwardQueue.shift();if(!e)break;await Promise.allSettled(e.targets.map(r=>r.send(e.payload)));}}finally{this.sparseForwardRunning=false,!this.closed&&this.sparseForwardQueue.length>0&&this.drainSparseForwardQueue();}}}flushSparseForwardDropReport(){if(this.sparseForwardDropReport||this.sparseForwardQueueDropsPending===0)return;let e=this.sparseForwardQueueDropsPending;this.sparseForwardQueueDropsPending=0,this.sparseForwardDropReport=this.host.client.advanced.runtime.recordSparseFanoutForwardQueueDrop(this.host.capabilityKey,e).catch(()=>{}).finally(()=>{this.sparseForwardDropReport=null,this.flushSparseForwardDropReport();});}},y=class extends h{constructor(r,i,a,o,n,c="auto"){let s=new R(c);super("room",r,i,a,s);this.membership=o;this.onLeave=n;this.kind="room";this.left=false;this.architectureListeners=new Set;this.authorityAssignmentSnapshot=null;this.authorityAssignmentListeners=new Set;this.architectureSnapshot=x(c);let u=i.advanced.runtime.onRoomArchitectureChange;this.stopArchitecture=typeof u=="function"?u.call(i.advanced.runtime,d=>{if(!(d.epoch<this.architectureSnapshot.epoch)){this.architectureSnapshot=Object.freeze({...d}),this.setArchitecture(d);for(let l of this.architectureListeners)l(this.architectureSnapshot);}}):()=>{};let h=i.advanced.runtime.onRoomAuthorityAssignmentChange;this.stopAuthorityAssignment=typeof h=="function"?h.call(i.advanced.runtime,d=>{this.authorityAssignmentSnapshot=d?O(d):null;for(let l of this.authorityAssignmentListeners)l(S(this.authorityAssignmentSnapshot));}):()=>{};}architecture(){return {...this.architectureSnapshot}}onArchitectureChanged(r){return this.architectureListeners.add(r),r(this.architecture()),()=>this.architectureListeners.delete(r)}authorityAssignment(){return S(this.authorityAssignmentSnapshot)}onAuthorityAssignmentChanged(r){return this.authorityAssignmentListeners.add(r),r(this.authorityAssignment()),()=>this.authorityAssignmentListeners.delete(r)}async leave(){this.left||(this.left=true,await this.onLeave?.()),await this.close();}async close(){this.stopArchitecture(),this.stopAuthorityAssignment(),this.architectureListeners.clear(),this.authorityAssignmentListeners.clear(),await super.close();}};async function L(t,e$1,r){t.assertOpen();let i=e(e$1),a=r.access??"capability",{architecture:o,delivery:n}=M(r);return t.activateOnce(`room:${i}`,JSON.stringify({access:a,membership:r.membership??"ephemeral",identity:r.identity??null,maxPeers:r.maxPeers??null,payload:n,architecture:o,advancedFanout:r.advancedFanout===true}),a==="authenticated"?r.auth??t.options.auth:void 0,()=>D(t,i,r,o,n))}async function D(t,e,r,i,a){let o=r.membership??"ephemeral",n=r.access??"capability";if(i==="sparse"&&a!=="latest-state")throw new Error("[OpenRTC] Sparse rooms require payload: latest-state.");if(o==="durable"&&n!=="authenticated")throw new Error("[OpenRTC] Durable room membership requires access: authenticated.");if(r.identity==="session"&&n!=="capability")throw new Error("[OpenRTC] Session room identity requires access: capability.");if(n==="authenticated"){let l=r.auth??t.options.auth;if(!l)throw new Error("[OpenRTC] Authenticated rooms require an auth provider.");let A=await t.deviceId(),v=await t.controlPlane(),m=await v.deviceCertificate(l,A,{kind:"room",id:e});o==="durable"&&await v.durableRoomMembership(m.source,e,"join");let f;try{f=await t.activate({kind:"room",id:e,source:m.source,principalId:m.principalId,deviceId:A,maxPeers:r.maxPeers,autoConnect:!0,durableMembership:o==="durable",advancedFanout:r.advancedFanout,architecture:i,defaultDelivery:a});}catch(I){throw o==="durable"&&await v.durableRoomMembership(m.source,e,"leave").catch(()=>{}),I}let g;return g=new y(e,f,()=>{t.channels.detach(f),t.onClosed(g);},o,o==="durable"?async()=>{await v.durableRoomMembership(m.source,e,"leave");}:void 0,i),t.trackHandle(g)}let c=await(r.identity==="session"?t.sessionPlane():t.controlPlane()),s=await c.capability("room",e,r.maxPeers,r.advancedFanout,i,a),u=String(b(s.token).principalId),h=await t.activate({kind:"room",id:e,source:s,principalId:u,deviceId:g(s),maxPeers:r.maxPeers,autoConnect:true,advancedFanout:r.advancedFanout,architecture:i,defaultDelivery:a,controlPlane:c}),d;return d=new y(e,h,()=>{t.channels.detach(h),t.onClosed(d);},"ephemeral",void 0,i),t.trackHandle(d)}function T(t,e$1){t.assertOpen();let r=e(e$1.roomId),i=e(e$1.serviceId),a=f(e$1.deviceId);if(!Number.isSafeInteger(e$1.generation)||e$1.generation<1)throw new Error("[OpenRTC] Authority service generation is invalid.");let o=[...e$1.shardIds].map(e).sort();if(o.length<1||o.length>64||new Set(o).size!==o.length)throw new Error("[OpenRTC] Authority service shards are invalid.");if(!/^[A-Za-z0-9_-]{43}$/.test(e$1.devicePublicKeyX))throw new Error("[OpenRTC] Authority service device public key is invalid.");if(!/^[A-Za-z0-9_-]{43}$/.test(e$1.assignmentPublicKeyX))throw new Error("[OpenRTC] Authority assignment public key is invalid.");if(e$1.maxPeers!==void 0&&(!Number.isSafeInteger(e$1.maxPeers)||e$1.maxPeers<1||e$1.maxPeers>50))throw new Error("[OpenRTC] Authority service maxPeers must be within 1..50.");return t.activateOnce(`room:${r}`,JSON.stringify({architecture:"authority",serviceId:i,generation:e$1.generation,shardIds:o,deviceId:a,maxPeers:e$1.maxPeers??null,irohRelay:e$1.irohRelay,devicePublicKeyX:e$1.devicePublicKeyX,assignmentPublicKeyX:e$1.assignmentPublicKeyX,deviceSignerId:t.authorityCallableId(e$1.deviceSign),grantProviderId:t.authorityCallableId(e$1.grantProvider)}),void 0,async()=>{let n={type:"capability",token:"",avenue:{kind:"room",id:r},expiresAtMs:Number.MAX_SAFE_INTEGER,irohRelay:e$1.irohRelay,managedTurn:false},c=await t.activate({kind:"room",id:r,source:n,principalId:i,deviceId:a,maxPeers:e$1.maxPeers,autoConnect:true,architecture:"authority",defaultDelivery:"reliable",authority:{serviceId:i,generation:e$1.generation,shardIds:o,deviceId:a,irohRelay:e$1.irohRelay,devicePublicKeyX:e$1.devicePublicKeyX,assignmentPublicKeyX:e$1.assignmentPublicKeyX,deviceSign:e$1.deviceSign,grantProvider:e$1.grantProvider}}),s;return s=new y(r,c,()=>{t.channels.detach(c),t.onClosed(s);},"ephemeral",void 0,"authority"),t.trackHandle(s)})}function O(t){return Object.freeze({...t,priorityDeviceIds:Object.freeze([...t.priorityDeviceIds]),relevantEntityIds:Object.freeze([...t.relevantEntityIds])})}function S(t){return t?{...t,priorityDeviceIds:[...t.priorityDeviceIds],relevantEntityIds:[...t.relevantEntityIds]}:null}function x(t){return {requested:t,effective:t==="sparse"?"sparse":"mesh",epoch:0,phase:t==="mesh"||t==="sparse"?"settled":"preparing",reason:t==="auto"?"size":"manual",heldCreditsUsd:0,quoteExpiresAtMs:Date.now()+5*6e4}}export{y as RoomHandle,L as joinRoom,T as openAuthorityRoom,M as resolveRoomJoinOptions};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { D as DelegatingRuntimeAdapter, R as RuntimeBridgeOptions } from '../DelegatingRuntimeAdapter-
|
|
2
|
-
import '../Connection-
|
|
3
|
-
import '../capabilities-
|
|
1
|
+
import { D as DelegatingRuntimeAdapter, R as RuntimeBridgeOptions } from '../DelegatingRuntimeAdapter-D67Ozqo3.js';
|
|
2
|
+
import '../Connection-CTpuImO-.js';
|
|
3
|
+
import '../capabilities-CmzzxSvW.js';
|
|
4
4
|
|
|
5
5
|
declare class WasmRuntimeAdapter extends DelegatingRuntimeAdapter {
|
|
6
6
|
constructor(options: RuntimeBridgeOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {b}from'../chunk-PLIWPC45.js';import'../chunk-AYHD4X2R.js';import {a}from'../chunk-6Q2LAXM4.js';import'../chunk-AAZPQQXX.js';import'../chunk-XTYALGJN.js';import'../chunk-OT7IPLZE.js';import'../chunk-OWKAJPOI.js';import'../chunk-CCCYE3XN.js';import'../chunk-N6LGTNUI.js';import'../chunk-JPBW67B3.js';import'../chunk-2GX6GB6L.js';var n=class extends a{constructor(e){super(new b(e));}setWasmClient(e){this.unwrap().setWasmClient(e);}};export{n as WasmRuntimeAdapter};
|