openrtc 2.4.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +77 -5
  2. package/dist/BrowserManagedBroadcastHost-ARCP5MGJ.js +1 -0
  3. package/dist/{Connection-DZ5eP5hL.d.ts → Connection-CTpuImO-.d.ts} +168 -4
  4. package/dist/{DelegatingRuntimeAdapter-4cgiIWMN.d.ts → DelegatingRuntimeAdapter-D67Ozqo3.d.ts} +7 -3
  5. package/dist/{IpcRuntimeAdapter-Dduaxscj.d.ts → IpcRuntimeAdapter-Ddx0MtSI.d.ts} +8 -2
  6. package/dist/WasmBridge-ZXBCXBBM.js +1 -0
  7. package/dist/{assembly-By3UBQsE.d.ts → assembly-DvfsYFCL.d.ts} +7 -2
  8. package/dist/{capabilities-B2mHv_H7.d.ts → capabilities-CmzzxSvW.d.ts} +13 -2
  9. package/dist/chunk-2K47N3QP.js +2 -0
  10. package/dist/chunk-AYHD4X2R.js +1 -0
  11. package/dist/chunk-BFN3AVHA.js +2 -0
  12. package/dist/chunk-BGWJHPBC.js +2 -0
  13. package/dist/chunk-CCCYE3XN.js +1 -0
  14. package/dist/chunk-DUY34MGT.js +1 -0
  15. package/dist/chunk-EIJNERKZ.js +1 -0
  16. package/dist/chunk-FEF3DPPB.js +1 -0
  17. package/dist/chunk-GHAJW6SZ.js +2 -0
  18. package/dist/chunk-GTHSRQ7Y.js +2 -0
  19. package/dist/chunk-LLZT3MR6.js +118 -0
  20. package/dist/chunk-N6LGTNUI.js +1 -0
  21. package/dist/{chunk-4MLJXEVV.js → chunk-NDR2ANQB.js} +1 -1
  22. package/dist/chunk-VFDCIEP6.js +2 -0
  23. package/dist/{chunk-P2SHJMS3.js → chunk-VTYVIKTM.js} +1 -1
  24. package/dist/chunk-XTYALGJN.js +2 -0
  25. package/dist/{chunk-5XOLKH66.js → chunk-Z4KJHIV5.js} +1 -1
  26. package/dist/chunk-Z54XUIKZ.js +1 -0
  27. package/dist/{controlPlane-7E6KGQPP.js → controlPlane-IIPEJ77Q.js} +1 -1
  28. package/dist/coreClient.d.ts +3 -3
  29. package/dist/coreClient.js +1 -1
  30. package/dist/{deviceEnrollment-CBJYXZ43.js → deviceEnrollment-ZQZ2WP5H.js} +1 -1
  31. package/dist/{deviceKey-Y35WSEQQ.js → deviceKey-EIMDBAQS.js} +1 -1
  32. package/dist/{dist-FIVA6EPA.js → dist-XO466BRG.js} +18 -0
  33. package/dist/index.d.ts +6 -5
  34. package/dist/index.js +1 -1
  35. package/dist/ipcFactory-PRAJ7JP7.js +1 -0
  36. package/dist/native.d.ts +5 -5
  37. package/dist/native.js +1 -1
  38. package/dist/node-browser.d.ts +8 -0
  39. package/dist/node-browser.js +1 -0
  40. package/dist/node.d.ts +87 -0
  41. package/dist/node.js +2 -0
  42. package/dist/openrtc-VCS6V3AN.js +2 -0
  43. package/dist/openrtc_bg.wasm +0 -0
  44. package/dist/room-ULZ2FGWV.js +1 -0
  45. package/dist/runtime/WasmRuntimeAdapter.d.ts +3 -3
  46. package/dist/runtime/WasmRuntimeAdapter.js +1 -1
  47. package/dist/runtime/device-status.d.ts +1 -1
  48. package/dist/runtime/factories.d.ts +75 -6
  49. package/dist/runtime/factories.js +1 -1
  50. package/dist/runtime/index.d.ts +11 -10
  51. package/dist/runtime/index.js +1 -1
  52. package/dist/server-browser.d.ts +14 -0
  53. package/dist/server-browser.js +1 -0
  54. package/dist/server.d.ts +44 -0
  55. package/dist/server.js +2 -0
  56. package/dist/service-node.d.ts +155 -0
  57. package/dist/service-node.js +1 -0
  58. package/dist/testing/native.d.ts +4 -4
  59. package/dist/testing/native.js +1 -1
  60. package/dist/testing.d.ts +38 -5
  61. package/dist/testing.js +1 -1
  62. package/dist/transport/index.d.ts +2 -2
  63. package/dist/{types-BArEthJr.d.ts → types-Cyc-mPjk.d.ts} +189 -2
  64. package/package.json +26 -3
  65. package/dist/WasmBridge-3W2HHADU.js +0 -1
  66. package/dist/chunk-2LATKLCC.js +0 -118
  67. package/dist/chunk-6OFAKLDB.js +0 -2
  68. package/dist/chunk-AJQVMVYW.js +0 -1
  69. package/dist/chunk-BCGCJGIV.js +0 -2
  70. package/dist/chunk-BOS554IK.js +0 -2
  71. package/dist/chunk-GNW63SM6.js +0 -2
  72. package/dist/chunk-MI3ZMVPK.js +0 -2
  73. package/dist/chunk-WB66633N.js +0 -1
  74. package/dist/chunk-XEHBTMJQ.js +0 -1
  75. package/dist/chunk-YYI6AY6W.js +0 -2
  76. package/dist/ipcFactory-4PCGKZIN.js +0 -1
  77. package/dist/openrtc-5HAYVDHT.js +0 -2
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-BArEthJr.js';
3
- export { a as AttestationProvider, b as AuthProvider, c as Avenue, d as Channel, f as Connection, g as DeviceOptions, h as DeviceProfile, i as Devices, E as EnrolledDevice, R as Room, y as RoomOptions, S as Space, z as SpaceOptions, F as State, T as Ticket, G as TicketOptions, H as Transports, J as UsageUpdate, K as UsageWarning } from './types-BArEthJr.js';
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-By3UBQsE.js';
6
- import './Connection-DZ5eP5hL.js';
7
- import './capabilities-B2mHv_H7.js';
5
+ import './assembly-DvfsYFCL.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$2}from'./chunk-BOS554IK.js';import'./chunk-4MLJXEVV.js';import {b}from'./chunk-2LATKLCC.js';import'./chunk-ZA44REGI.js';import {a as a$1}from'./chunk-P2SHJMS3.js';export{a as ERROR_CODES,b as RTCError,e as classifyError,d as createError,c as projectError}from'./chunk-AJQVMVYW.js';import {d}from'./chunk-72NEEJQG.js';import'./chunk-WB66633N.js';import'./chunk-JPBW67B3.js';import'./chunk-2GX6GB6L.js';function a(r){return b(r,{platform:"web",runtimeFactory:async e=>{let{createWasmClient:t}=await import('./runtime/factories.js');return t(e)}})}a.native=function(r,e=d()){let t=new a$1;return b(r,{platform:"native",close:()=>t.close(),deviceKeyProvider:a$2(e),deviceIdProvider:async()=>{let o=await e.invoke("get_rtc_local_device_info");return String(o?.deviceId??"")},runtimeFactory:async o=>{let{createIpcClient:y}=await import('./ipcFactory-4PCGKZIN.js');return y(o,e,t)}})};export{a as OpenRTC};
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 {f}from'./chunk-Z54XUIKZ.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(n){return f(n,{platform:"web",broadcastHostFactory:async e=>{let[{BrowserManagedBroadcastHost:r},{loadBrowserWasmRuntimeModule:t}]=await Promise.all([import('./BrowserManagedBroadcastHost-ARCP5MGJ.js'),import('./WasmBridge-ZXBCXBBM.js')]),o=t().then(async a=>(await a.initWasm(),a.start(),new a.WasmClient(e.apiKey)));return new r({resolve:e.resolve,manage:e.manage,deviceId:e.deviceId,defaultAuth:e.defaultAuth,loadWasm:()=>o})},runtimeFactory:async e=>{let{createWasmClient:r}=await import('./runtime/factories.js');return r(e)}})}y.native=function(n,e=d()){let r=new a;return f(n,{platform:"native",offlineSupport:()=>e.invoke("openrtc_offline_runtime_support"),createOfflineEnrollmentRequest:async t=>{let o=await e.invoke("start_iroh_node");return e.invoke("openrtc_create_offline_enrollment_request",{trustDomain:t.trustDomain,deviceId:t.deviceId,endpointId:o,enrollmentNonce:crypto.randomUUID(),requestedRoles:t.requestedRoles})},close:()=>r.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:o}=await import('./ipcFactory-PRAJ7JP7.js');return o(t,e,r)}})};export{y as OpenRTC};
@@ -0,0 +1 @@
1
+ import {a as a$2}from'./chunk-Z4KJHIV5.js';import {s}from'./chunk-2K47N3QP.js';import'./chunk-BGWJHPBC.js';import'./chunk-FEF3DPPB.js';import'./chunk-GTHSRQ7Y.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-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-BArEthJr.js';
2
- export { A as AccessMode, a as AttestationProvider, b as AuthProvider, c as Avenue, B as BotVerificationProvider, d as Channel, e as Channels, f as Connection, D as Delivery, g as DeviceOptions, h as DeviceProfile, i as Devices, E as EnrolledDevice, I as IncomingPeerBidirectionalStream, j as IncomingPeerUnidirectionalStream, M as MediaConnection, k as MediaIncomingDemuxStats, l as MediaKind, m as MediaLatencySummary, n as MediaReceiver, o as MediaReceiverStats, p as MediaSender, q as MediaSenderStats, r as MediaStats, s as MediaTrackEvent, t as MediaTrackOptions, P as PeerBidirectionalStream, u as PeerDatagramDuplexStream, v as PeerDatagramStats, w as PeerStreamOptions, x as PeerStreamTransport, R as Room, y as RoomOptions, S as Space, z as SpaceOptions, F as State, T as Ticket, G as TicketOptions, H as Transports, U as Usage, J as UsageUpdate, K as UsageWarning } from './types-BArEthJr.js';
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-By3UBQsE.js';
6
- import './Connection-DZ5eP5hL.js';
7
- import './capabilities-B2mHv_H7.js';
6
+ import './assembly-DvfsYFCL.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-BOS554IK.js';import'./chunk-4MLJXEVV.js';import {b}from'./chunk-2LATKLCC.js';import'./chunk-ZA44REGI.js';import {a}from'./chunk-P2SHJMS3.js';import {d}from'./chunk-72NEEJQG.js';import'./chunk-WB66633N.js';import'./chunk-JPBW67B3.js';import'./chunk-2GX6GB6L.js';function s(p,e=d()){let r=new a;return b(p,{platform:"native",close:()=>r.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:a}=await import('./ipcFactory-4PCGKZIN.js');return a(t,e,r)}})}export{s as OpenRTC};
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 {f}from'./chunk-Z54XUIKZ.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(a$2,t=d()){let r=new a;return f(a$2,{platform:"native",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-PRAJ7JP7.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,87 @@
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-DvfsYFCL.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
+ maxPeers?: number;
22
+ irohRelay?: boolean;
23
+ /** Explicit released host binary override. */
24
+ binaryPath?: string;
25
+ /** Extra arguments for a host wrapper; primarily useful to test the process contract. */
26
+ binaryArgs?: string[];
27
+ /** Build the Rust host from a reviewed local OpenRTC checkout before spawning it. */
28
+ buildFromSource?: boolean;
29
+ /** OpenRTC repository root containing crates/openrtc/Cargo.toml. */
30
+ sourceRoot?: string;
31
+ startupTimeoutMs?: number;
32
+ }
33
+ interface NodeServiceConnection {
34
+ /** Rust-owned stable logical connection identity. */
35
+ readonly id: string;
36
+ readonly peerId: string;
37
+ send(message: unknown): Promise<void>;
38
+ onMessage<T = unknown>(callback: (message: T) => void): () => void;
39
+ onClose(callback: () => void): () => void;
40
+ }
41
+ interface NodeServiceRoom {
42
+ readonly kind: 'room';
43
+ readonly id: string;
44
+ readonly closed: boolean;
45
+ publishAssignment(input: AuthorityAssignmentInput): Promise<AuthorityInterestAssignment>;
46
+ onConnection(callback: (connection: NodeServiceConnection) => void): () => void;
47
+ close(): Promise<void>;
48
+ }
49
+ interface NodeServiceConnectionEvent {
50
+ room: NodeServiceRoom;
51
+ connection: NodeServiceConnection;
52
+ }
53
+ interface NodeHostProtocolInfo {
54
+ protocolVersion: number;
55
+ maxConfigBytes: number;
56
+ maxCommandBytes: number;
57
+ maxApplicationPayloadBytes: number;
58
+ lifecycleOwner: 'rust-peer-session';
59
+ }
60
+ /** Developer-preview Node authority backed by the native Rust lifecycle owner. */
61
+ declare class ServiceNode {
62
+ private readonly options;
63
+ private readonly listeners;
64
+ private roomPromise;
65
+ private roomId;
66
+ private closed;
67
+ constructor(options: NodeServiceNodeOptions);
68
+ onConnection(callback: (event: NodeServiceConnectionEvent) => void): () => void;
69
+ listen(roomId: string): Promise<NodeServiceRoom>;
70
+ close(): Promise<void>;
71
+ private open;
72
+ }
73
+ /** Check the exact native protocol without starting a room or exposing credentials. */
74
+ declare function inspectNodeHost(options: Pick<NodeServiceNodeOptions, 'binaryPath' | 'binaryArgs' | 'buildFromSource' | 'sourceRoot'>): Promise<NodeHostProtocolInfo>;
75
+
76
+ /**
77
+ * Create a Node.js OpenRTC client with a caller-provided native mechanics bridge.
78
+ *
79
+ * The bridge is mechanics only. The shared Rust peer-session actor behind it
80
+ * remains the sole lifecycle owner; JavaScript never implements dialing,
81
+ * retries, route replacement, or carrier switching. No Tauri global is used.
82
+ * Service authorities normally use the bundled `ServiceNode` host exported by
83
+ * this entrypoint and do not provide this bridge themselves.
84
+ */
85
+ declare function OpenRTC(options: Options, host: PlutoIpcBridge): Client;
86
+
87
+ 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 {f as f$1}from'./chunk-Z54XUIKZ.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}from'fs/promises';import {isAbsolute,resolve,dirname}from'path';import {fileURLToPath}from'url';import {randomUUID}from'crypto';var y=1,x=24*1024,G=96*1024,w=128*1024,T=64*1024,z=256,V=256,A=3e4,X=/^[A-Za-z0-9_.:@-]+$/,Y=/(?:^|_)(?:SECRET|TOKEN|PASSWORD|PRIVATE(?:_KEY)?|CREDENTIALS?)(?:_|$)/i;function M(o){return Object.fromEntries(Object.entries(process.env).filter(([e,t])=>!Y.test(e)&&(!o||!t?.includes(o))))}function p(o,e){queueMicrotask(()=>{try{o(e);}catch{try{process.emitWarning("[OpenRTC] ServiceNode callback failed.",{code:"OPENRTC_SERVICE_CALLBACK"});}catch{}}});}function B(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 J(o,e){return o.transportStableId===e.transportStableId&&o.transportGeneration===e.transportGeneration&&o.routeGeneration===e.routeGeneration}function u(o,e,t=160){let r=o.trim();if(!r||r.length>t||!X.test(r))throw new TypeError(`[OpenRTC] ${e} is invalid.`);return r}function f(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 Q(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=>u(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&&f(o.maxPeers,"maxPeers",5e3),o.startupTimeoutMs!==void 0&&f(o.startupTimeoutMs,"startupTimeoutMs",12e4),{...o,serviceId:u(o.serviceId,"serviceId",80),generation:f(o.generation,"generation"),shardIds:e,deviceId:u(o.deviceId,"deviceId"),deviceName:o.deviceName?.trim()||"OpenRTC Node service"}}async function v(o){try{return await access(o,process.platform==="win32"?constants.F_OK:constants.X_OK),!0}catch{return false}}async function H(o,e,t,r,n){return new Promise((i,s)=>{let a=spawn(o,e,{cwd:t,env:M(n),stdio:["ignore","pipe","pipe"]}),c=Buffer.alloc(0),d=Buffer.alloc(0),h=(l,q)=>Buffer.concat([l,q]).subarray(-w);a.stdout.on("data",l=>{c=h(c,l);}),a.stderr.on("data",l=>{d=h(d,l);});let C=setTimeout(()=>{a.kill(),s(new Error(`[OpenRTC] Node host command timed out: ${o}.`));},r);a.once("error",l=>{clearTimeout(C),s(l);}),a.once("exit",l=>{clearTimeout(C),l===0?i(c.toString("utf8")):s(new Error(`[OpenRTC] Node host command failed (${l??"signal"}): ${d.toString("utf8").trim().slice(-4096)}`));});})}async function K(o){let e=o.binaryPath||process.env.OPENRTC_NODE_HOST_BINARY;if(e){if(!isAbsolute(e)||!await v(e))throw new Error("[OpenRTC] Node host binaryPath must name an executable absolute path.");return {command:e,args:[...o.binaryArgs??[]]}}if(o.buildFromSource){let n=o.sourceRoot||process.env.OPENRTC_SOURCE_ROOT;if(!n||!isAbsolute(n))throw new Error("[OpenRTC] buildFromSource requires an absolute sourceRoot or OPENRTC_SOURCE_ROOT.");let i=resolve(n,"crates/openrtc/Cargo.toml"),s=resolve(n,"target");await H("cargo",["build","--locked","--manifest-path",i,"--features","node-host","--bin","openrtc-node-host","--target-dir",s],n,12e4,o.secretKey);let a=resolve(s,"debug",`openrtc-node-host${process.platform==="win32"?".exe":""}`);if(!await v(a))throw new Error("[OpenRTC] local Node host build did not produce an executable.");return {command:a,args:[]}}let t=resolve(dirname(fileURLToPath(import.meta.url)),".."),r=resolve(t,"native",`${process.platform}-${process.arch}`,`openrtc-node-host${process.platform==="win32"?".exe":""}`);if(!await v(r))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 {command:r,args:[]}}async function $(o,e){let t=await H(o.command,[...o.args,"--protocol-info"],process.cwd(),12e4,e),r=JSON.parse(t);if(r.protocolVersion!==y||r.lifecycleOwner!=="rust-peer-session"||r.maxConfigBytes!==x||r.maxCommandBytes!==G||r.maxApplicationPayloadBytes!==T)throw new Error("[OpenRTC] Node host protocol is incompatible.");return r}var N=class{constructor(e,t,r){this.options=e;this.roomId=t;this.onEvent=r;this.child=null;this.output=Buffer.alloc(0);this.stderr=Buffer.alloc(0);this.pending=new Map;this.writeQueue=Promise.resolve();this.stopped=false;}async start(){let e=await K(this.options);await $(e,this.options.secretKey);let t=new Promise((r,n)=>{let i=spawn(e.command,[...e.args],{env:M(this.options.secretKey),stdio:["pipe","pipe","pipe"]});this.child=i;let s=setTimeout(()=>{n(this.failure("Node host startup timed out")),i.kill();},this.options.startupTimeoutMs??A),a=c=>{clearTimeout(s),n(this.failure(c.message)),this.failAll(this.failure(c.message));};i.once("error",a),i.stderr.on("data",c=>{this.stderr=Buffer.concat([this.stderr,c]).subarray(-4096);}),i.stdout.on("data",c=>{try{for(let d of this.parse(c)){if(d.type==="ready"){if(d.protocolVersion!==y||d.roomId!==this.roomId||d.deviceId!==this.options.deviceId)throw new Error("Node host returned inconsistent readiness metadata");clearTimeout(s),r();}this.dispatch(d);}}catch(d){a(d instanceof Error?d:new Error(String(d))),i.kill();}}),i.once("exit",(c,d)=>{clearTimeout(s),this.stopped=true;let h=this.failure(`Node host exited (${c??d??"unknown"})`);this.onEvent({type:"host-exit",error:h}),a(h);});});await this.writeLine({protocolVersion:y,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},x),await t;}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>=z)throw new Error("[OpenRTC] Node host has too many pending requests.");let r=randomUUID(),n=new Promise((i,s)=>{let a=setTimeout(()=>{this.pending.delete(r),s(new Error(`[OpenRTC] Node host ${e} response timed out.`));},A);this.pending.set(r,{resolve:i,reject:s,timer:a});});try{await this.writeLine({type:e,id:r,...t},G);}catch(i){let s=this.pending.get(r);throw s&&clearTimeout(s.timer),this.pending.delete(r),this.failure(i instanceof Error?i.message:String(i))}return n}async close(){if(!this.child||this.stopped)return;let e=this.child;try{await this.request("shutdown",{});}finally{e.stdin.end(),this.stopped||await new Promise(t=>{let r=setTimeout(()=>{e.kill(),t();},2e3);e.once("exit",()=>{clearTimeout(r),t();});});}}parse(e){if(this.output=Buffer.concat([this.output,e]),this.output.length>w&&!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>w)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((i,s)=>{if(!this.child||this.stopped||!this.child.stdin.writable){s(new Error("Node host is closed"));return}this.child.stdin.write(r,a=>{a?s(a):i();});}));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=i=>i.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();}},I=class{constructor(e,t,r,n){this.id=e;this.peerId=t;this.host=r;this.nativeGeneration=n;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=W(e);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))p(t,r);return ()=>this.messages.delete(t)}onClose(e){return this.isClosed?p(e,void 0):this.closeListeners.add(e),()=>this.closeListeners.delete(e)}receive(e){if(!this.isClosed){if(this.messages.size===0){this.queued.length===V&&this.queued.shift(),this.queued.push(e);return}for(let t of this.messages)p(t,e);}}close(){if(!this.isClosed){this.isClosed=true,this.queued.length=0;for(let e of this.closeListeners)p(e,void 0);this.messages.clear(),this.closeListeners.clear();}}accepts(e){return J(e,this.nativeGeneration)}replaceGeneration(e){this.nativeGeneration=e;}},E=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=>u(n,"priorityDeviceId")),r=(e.relevantEntityIds??[]).map(n=>u(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:f(e.revision,"revision"),subjectDeviceId:u(e.subjectDeviceId,"subjectDeviceId"),shardId:u(e.shardId,"shardId",80),priorityDeviceIds:t,relevantEntityIds:r,ttlMs:e.ttlMs===void 0?void 0:f(e.ttlMs,"ttlMs",12e4)})}onConnection(e){this.listeners.add(e);for(let t of this.connections.values())p(e,t);return ()=>this.listeners.delete(e)}project(e){if(this.closed)return;if(e.type==="host-exit"){this.closed=true;for(let c of this.connections.values())c.close();this.connections.clear(),this.listeners.clear();return}if(e.type==="peer-message"){let c=this.connections.get(e.connectionId),d=B(e);c&&d&&c.accepts(d)&&c.receive(Z(e.payloadBase64));return}if(e.type!=="connection-state")return;let t=e.snapshot,r=B(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 s=typeof t.deviceId=="string"?t.deviceId:null;if(t.routable!==true||!s)return;let a=new I(t.connectionId,s,this.host,r);this.connections.set(a.id,a);for(let c of this.listeners)p(c,a);}async close(){if(!this.closed){this.closed=true;for(let e of this.connections.values())e.close();this.connections.clear(),this.listeners.clear(),await this.host.close();}}};function W(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>T)throw new RangeError("[OpenRTC] Message exceeds the Node host payload limit.");return e}function Z(o){let e=Buffer.from(o,"base64");if(e.length>T)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 S=class{constructor(e){this.listeners=new Set;this.roomPromise=null;this.roomId=null;this.closed=false;this.options=Q(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=u(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))}async close(){if(this.closed)return;this.closed=true,await(await this.roomPromise?.catch(()=>null))?.close(),this.listeners.clear();}async open(e){let t,r=new N(this.options,e,n=>t?.project(n));t=new E(e,r);try{return await r.start(),t.onConnection(n=>{for(let i of this.listeners)p(i,{room:t,connection:n});}),t}catch(n){throw this.roomPromise=null,this.roomId=null,n}}};async function ee(o){let e=await K(o);return $(e)}function pe(o,e){let t=c(e,"openrtc/node"),r=new a;return f$1(o,{platform:"native",offlineSupport:()=>t.invoke("openrtc_offline_runtime_support"),createOfflineEnrollmentRequest:async n=>{let i=await t.invoke("start_iroh_node");return t.invoke("openrtc_create_offline_enrollment_request",{trustDomain:n.trustDomain,deviceId:n.deviceId,endpointId:i,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:i}=await import('./ipcFactory-PRAJ7JP7.js');return i(n,t,r)}})}export{pe as OpenRTC,S as ServiceNode,ee 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),F=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,F,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),F=i;e.wasmclient___beginOpenRtcMediaPublication(y,this.__wbg_ptr,w,l,v,R,A,F,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=P(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,F=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,_,F,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,F=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,F,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)}__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,F=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,_,F,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);}}__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,F=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(F)}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=P(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,F=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,F,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=P(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=P(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(P(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(P(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(P(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(P(n,_));},arguments)},__wbg_send_99d049cae69c53cc:function(){return I(function(t,n,_){g(t).send(P(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(P(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 _=Ft(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 _=P(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 _=P(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_28981(b,t);}function pt(b,t){e.__wasm_bindgen_func_elem_30109(b,t);}function gt(b,t){e.__wasm_bindgen_func_elem_30175(b,t);}function bt(b,t){e.__wasm_bindgen_func_elem_38151(b,t);}function dt(b,t,n){e.__wasm_bindgen_func_elem_29181(b,t,u(n));}function wt(b,t,n){e.__wasm_bindgen_func_elem_26549(b,t,u(n));}function ut(b,t,n){e.__wasm_bindgen_func_elem_5922(b,t,u(n));}function lt(b,t,n){e.__wasm_bindgen_func_elem_30837(b,t,u(n));}function ft(b,t,n){try{let o=e.__wbindgen_add_to_stack_pointer(-16);e.__wasm_bindgen_func_elem_39659(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_39661(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 P(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 Ft(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 Pt=2146435072,Y=0;function St(b,t){return Y+=t,Y>=Pt&&(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};
Binary file
@@ -0,0 +1 @@
1
+ import {e,b,d,c}from'./chunk-Z54XUIKZ.js';import {b as b$1}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 e{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,r){t.assertOpen();let i=b(e),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$1(s.token).principalId),h=await t.activate({kind:"room",id:e,source:s,principalId:u,deviceId:d(s),maxPeers:r.maxPeers,autoConnect:true,advancedFanout:r.advancedFanout,architecture:i,defaultDelivery:a,controlPlane:c}),d$1;return d$1=new y(e,h,()=>{t.channels.detach(h),t.onClosed(d$1);},"ephemeral",void 0,i),t.trackHandle(d$1)}function T(t,e){t.assertOpen();let r=b(e.roomId),i=b(e.serviceId),a=c(e.deviceId);if(!Number.isSafeInteger(e.generation)||e.generation<1)throw new Error("[OpenRTC] Authority service generation is invalid.");let o=[...e.shardIds].map(b).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.devicePublicKeyX))throw new Error("[OpenRTC] Authority service device public key is invalid.");if(!/^[A-Za-z0-9_-]{43}$/.test(e.assignmentPublicKeyX))throw new Error("[OpenRTC] Authority assignment public key is invalid.");if(e.maxPeers!==void 0&&(!Number.isSafeInteger(e.maxPeers)||e.maxPeers<1||e.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.generation,shardIds:o,deviceId:a,maxPeers:e.maxPeers??null,irohRelay:e.irohRelay,devicePublicKeyX:e.devicePublicKeyX,assignmentPublicKeyX:e.assignmentPublicKeyX,deviceSignerId:t.authorityCallableId(e.deviceSign),grantProviderId:t.authorityCallableId(e.grantProvider)}),void 0,async()=>{let n={type:"capability",token:"",avenue:{kind:"room",id:r},expiresAtMs:Number.MAX_SAFE_INTEGER,irohRelay:e.irohRelay,managedTurn:false},c=await t.activate({kind:"room",id:r,source:n,principalId:i,deviceId:a,maxPeers:e.maxPeers,autoConnect:true,architecture:"authority",defaultDelivery:"reliable",authority:{serviceId:i,generation:e.generation,shardIds:o,deviceId:a,irohRelay:e.irohRelay,devicePublicKeyX:e.devicePublicKeyX,assignmentPublicKeyX:e.assignmentPublicKeyX,deviceSign:e.deviceSign,grantProvider:e.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-4cgiIWMN.js';
2
- import '../Connection-DZ5eP5hL.js';
3
- import '../capabilities-B2mHv_H7.js';
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 {a as a$1}from'../chunk-YYI6AY6W.js';import {a}from'../chunk-XEHBTMJQ.js';import'../chunk-GNW63SM6.js';import'../chunk-OT7IPLZE.js';import'../chunk-AJQVMVYW.js';import'../chunk-JPBW67B3.js';import'../chunk-MI3ZMVPK.js';import'../chunk-OWKAJPOI.js';import'../chunk-2GX6GB6L.js';var n=class extends a{constructor(e){super(new a$1(e));}setWasmClient(e){this.unwrap().setWasmClient(e);}};export{n as WasmRuntimeAdapter};
1
+ import {b}from'../chunk-EIJNERKZ.js';import'../chunk-AYHD4X2R.js';import {a}from'../chunk-FEF3DPPB.js';import'../chunk-GTHSRQ7Y.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};
@@ -1,4 +1,4 @@
1
- import { l as RuntimeDevice, D as DeviceStatus } from '../Connection-DZ5eP5hL.js';
1
+ import { p as RuntimeDevice, D as DeviceStatus } from '../Connection-CTpuImO-.js';
2
2
 
3
3
  interface DeviceActiveOptions {
4
4
  now?: number;
@@ -1,8 +1,8 @@
1
- import { c as RuntimeFactoryOptions, b as PlutoRuntimeAssembly } from '../assembly-By3UBQsE.js';
2
- import { N as NativeProjectionBroker, I as IpcRuntimeAdapter } from '../IpcRuntimeAdapter-Dduaxscj.js';
3
- import { Q as Device, K as ISignalingBackend, z as DiscoveryMode, B as AuthMode, E as SignalingMode, F as ClientOptions, H as ExplicitFileDataSendParams, ad as BrowserWasmRuntimeModule, _ as LocalDeviceInfo, O as RoomMember, ae as BrowserProtocolStore, af as NamespaceDescriptor, ag as IrohMutationReceipt, ah as IrohDocEntry, N as RuntimeIdentity, V as SignalingEnvelope, T as DeviceStatusSnapshot, g as PeerSessionSnapshot, a0 as BackendPeerBiStream, a1 as BackendPeerUniStream, a2 as PortableMediaPublish, a3 as PortableMediaPublicationStart, a4 as PortableMediaSample, a5 as PortableMediaChunk, a6 as PortableMediaControl, U as ManagedConnectionRecord, j as ResolvedPeerIdentity, W as DeviceEvent, X as DesiredPeerProjection, ai as CoreClientBridgeHost, a7 as NativeConnectParams, a8 as NativeConnectResult, Y as SignalingSession, Z as SessionEvent, a9 as BackendConnectionState } from '../Connection-DZ5eP5hL.js';
4
- import { R as RuntimeCapabilities } from '../capabilities-B2mHv_H7.js';
5
- import { R as RuntimeBridgeOptions } from '../DelegatingRuntimeAdapter-4cgiIWMN.js';
1
+ import { c as RuntimeFactoryOptions, b as PlutoRuntimeAssembly } from '../assembly-DvfsYFCL.js';
2
+ import { N as NativeProjectionBroker, I as IpcRuntimeAdapter } from '../IpcRuntimeAdapter-Ddx0MtSI.js';
3
+ import { X as Device, U as ISignalingBackend, K as DiscoveryMode, N as AuthMode, O as SignalingMode, Q as ClientOptions, T as ExplicitFileDataSendParams, ai as BrowserWasmRuntimeModule, a3 as LocalDeviceInfo, W as RoomMember, aj as BrowserProtocolStore, ak as NamespaceDescriptor, al as IrohMutationReceipt, am as IrohDocEntry, V as RuntimeIdentity, _ as SignalingEnvelope, Y as DeviceStatusSnapshot, k as PeerSessionSnapshot, a5 as BackendPeerBiStream, a6 as BackendPeerUniStream, a7 as PortableMediaPublish, a8 as PortableMediaPublicationStart, a9 as PortableMediaSample, aa as PortableMediaChunk, ab as PortableMediaControl, Z as ManagedConnectionRecord, n as ResolvedPeerIdentity, b as RoomArchitectureSnapshot, c as RoomAuthorityAssignment, an as CoordinationSignalingStore, ao as ManagedRoomMessage, $ as DeviceEvent, a0 as DesiredPeerProjection, ap as CoreClientBridgeHost, ac as NativeConnectParams, ad as NativeConnectResult, a1 as SignalingSession, a2 as SessionEvent, ae as BackendConnectionState } from '../Connection-CTpuImO-.js';
4
+ import { R as RuntimeCapabilities } from '../capabilities-CmzzxSvW.js';
5
+ import { R as RuntimeBridgeOptions } from '../DelegatingRuntimeAdapter-D67Ozqo3.js';
6
6
  import { P as PlutoIpcBridge } from '../ipc-DgzKqHH3.js';
7
7
 
8
8
  interface NativeTrustToken {
@@ -16,6 +16,44 @@ type RawDeviceDoc = Device & {
16
16
  tag?: string;
17
17
  };
18
18
 
19
+ /** Public verification material plus an opaque Rust/WASM signer handle. */
20
+ interface WasmPublisherSignerDescriptor {
21
+ handle: string;
22
+ publicKey: Uint8Array;
23
+ }
24
+ interface ResolvedWasmBroadcastGrant {
25
+ token: string;
26
+ issuerPublicKey: Uint8Array;
27
+ signBindingChallenge(message: Uint8Array): Promise<Uint8Array>;
28
+ }
29
+ interface BrowserBroadcastWasmBindings {
30
+ __createOpenRtcBroadcastPublisherSigner(): WasmPublisherSignerDescriptor;
31
+ __prepareOpenRtcBroadcastGrant(token: string, issuerPublicKey: Uint8Array, nowMs: number): {
32
+ handle: string;
33
+ signingBytes: Uint8Array;
34
+ expiresAtMs: number;
35
+ };
36
+ __openOpenRtcBroadcast(token: string, issuerPublicKey: Uint8Array, bindingChallengeHandle: string, bindingSignature: Uint8Array, publisherSignerHandle: string | undefined, nowMs: number): unknown;
37
+ __releaseOpenRtcBroadcastPublisherSigner(handle: string): boolean;
38
+ }
39
+ /**
40
+ * Private browser publisher boundary used by the managed broadcast host.
41
+ *
42
+ * Rust/WASM owns the signing key. JavaScript receives only a public key and an
43
+ * opaque handle, has no sign operation, and cannot export private key bytes.
44
+ * The shared Rust core canonicalizes and verifies every signed media group.
45
+ */
46
+ declare class BrowserBroadcastWasmPublisher {
47
+ private readonly wasm;
48
+ readonly verificationKey: Uint8Array;
49
+ private handle;
50
+ private constructor();
51
+ static create(wasm: BrowserBroadcastWasmBindings): BrowserBroadcastWasmPublisher;
52
+ /** Open a publisher grant previously bound to `verificationKey`. */
53
+ open(grant: ResolvedWasmBroadcastGrant, nowMs?: number): Promise<unknown>;
54
+ close(): void;
55
+ }
56
+
19
57
  type WasmBridgeOptions = RuntimeBridgeOptions;
20
58
  /**
21
59
  * WasmBridge is the browser host wrapper over the Rust/WASM runtime.
@@ -58,6 +96,10 @@ declare class WasmBridge implements ISignalingBackend {
58
96
  coordinationGateway?: ClientOptions['coordinationGateway'];
59
97
  coordinationAvenueOverride?: ClientOptions['coordinationAvenueOverride'];
60
98
  coordinationRoomGossipFanout?: ClientOptions['coordinationRoomGossipFanout'];
99
+ coordinationRoomArchitecture?: ClientOptions['coordinationRoomArchitecture'];
100
+ coordinationDevicePublicKeyX?: ClientOptions['coordinationDevicePublicKeyX'];
101
+ coordinationDeviceSign?: ClientOptions['coordinationDeviceSign'];
102
+ initialAutoConnectExcludedDeviceIds?: ClientOptions['initialAutoConnectExcludedDeviceIds'];
61
103
  attestationTokenProvider?: ClientOptions['attestationTokenProvider'];
62
104
  coordinationPlatformType?: string;
63
105
  storagePrefix?: string;
@@ -85,6 +127,7 @@ declare class WasmBridge implements ISignalingBackend {
85
127
  private readonly coordinationHost;
86
128
  /** Test seam only; production gateway ownership remains in coordinationHost. */
87
129
  private browserCoordinationSignaling;
130
+ private effectiveRoomArchitecture;
88
131
  private lastObservedFirebaseUserId;
89
132
  private sessionReaders;
90
133
  protected authContext: {
@@ -171,6 +214,8 @@ declare class WasmBridge implements ISignalingBackend {
171
214
  userId?: string | null;
172
215
  }): Promise<void>;
173
216
  setWasmClient(client: any): void;
217
+ /** Private managed-broadcast edge. Rust/WASM retains the private signer. */
218
+ createBroadcastPublisher(): Promise<BrowserBroadcastWasmPublisher>;
174
219
  initializePersistentIrohProtocols(store: BrowserProtocolStore): Promise<void>;
175
220
  createPersistentIrohNamespace(generation: number, shareRevision: number): Promise<NamespaceDescriptor>;
176
221
  importPersistentIrohTicket(ticket: string, generation: number, shareRevision: number): Promise<string>;
@@ -193,6 +238,19 @@ declare class WasmBridge implements ISignalingBackend {
193
238
  protected normalizeDevice(raw: Record<string, any>, fallbackId?: string): Device;
194
239
  normalizeDeviceRecord(raw: Record<string, any>, fallbackId?: string): Device;
195
240
  getResolvedWebLogicalDeviceId(): string;
241
+ encodeSparseFanoutMessage(capability: string, payload: Uint8Array): Promise<Uint8Array>;
242
+ acceptSparseFanoutMessage(capability: string, sourcePeerId: string, payload: Uint8Array): Promise<{
243
+ payload: Uint8Array;
244
+ authorDeviceId: string;
245
+ authorPeerId: string;
246
+ topologyRevision: number;
247
+ hop: number;
248
+ forwardPeerIds: string[];
249
+ forwardPeerLimit: number;
250
+ forwardQueueCapacity: number;
251
+ forward?: Uint8Array;
252
+ }>;
253
+ recordSparseFanoutForwardQueueDrop(capability: string, count: number): Promise<void>;
196
254
  private normalizeDeviceStatusSnapshot;
197
255
  private normalizePeerSessionSnapshot;
198
256
  private toBackendConnectionStateFromPeerSession;
@@ -245,6 +303,17 @@ declare class WasmBridge implements ISignalingBackend {
245
303
  resolvePeerRecords(id: string): Promise<ManagedConnectionRecord[]>;
246
304
  resolvePeerIdentity(id: string): Promise<ResolvedPeerIdentity>;
247
305
  onDevicesChange(callback: (devices: Device[]) => void, excludeNodeId?: string): () => void;
306
+ onRoomArchitectureChange(callback: (snapshot: RoomArchitectureSnapshot) => void): () => void;
307
+ onRoomAuthorityAssignmentChange(callback: (assignment: RoomAuthorityAssignment | null) => void): () => void;
308
+ publishAuthorityAssignment(input: Parameters<NonNullable<CoordinationSignalingStore['publishAuthorityAssignment']>>[0]): Promise<void>;
309
+ publishManagedRoomMessage(input: {
310
+ messageId: string;
311
+ channel: string;
312
+ priority: 0 | 1 | 2 | 3;
313
+ zoneId?: string;
314
+ payload: Uint8Array;
315
+ }): Promise<void>;
316
+ onManagedRoomMessage(callback: (message: ManagedRoomMessage) => void): () => void;
248
317
  subscribeDevices(userId: string): Promise<ReadableStream<DeviceEvent[]>>;
249
318
  startAutoConnect(userId: string, localDeviceId: string): Promise<void>;
250
319
  startAutoConnectOnce(userId: string, localDeviceId: string): Promise<void>;
@@ -259,7 +328,7 @@ declare class WasmBridge implements ISignalingBackend {
259
328
  private escalateManagedApplicationRoute;
260
329
  connectToDevice(params: NativeConnectParams): Promise<NativeConnectResult>;
261
330
  forceReconnect(): void;
262
- startPresenceLoop(userId: string, localNodeId: string, deviceName: string, ticket: string, metadata?: string): void;
331
+ startPresenceLoop(userId: string, localNodeId: string, deviceName: string, ticket: string, metadata?: string): Promise<void>;
263
332
  private ensureSpaceNamespaceIdPromise;
264
333
  createSession(session: SignalingSession): Promise<void>;
265
334
  updateSession(sessionId: string, updateData: any): Promise<void>;
@@ -1 +1 @@
1
- import {a as a$2}from'../chunk-5XOLKH66.js';import {a}from'../chunk-P2SHJMS3.js';import {s}from'../chunk-6OFAKLDB.js';import'../chunk-XEHBTMJQ.js';import'../chunk-GNW63SM6.js';import'../chunk-TYZS5LXQ.js';import'../chunk-OT7IPLZE.js';import'../chunk-AJQVMVYW.js';import'../chunk-72NEEJQG.js';import'../chunk-WB66633N.js';import'../chunk-JPBW67B3.js';import {a as a$1}from'../chunk-MI3ZMVPK.js';import'../chunk-OWKAJPOI.js';import'../chunk-2GX6GB6L.js';async function l(e){let t=a$1(e),{WasmBridge:o}=await import('../WasmBridge-3W2HHADU.js');return a$2(t,new o(t))}function y(e,t,o=new a){let m=a$1(e);return a$2(m,new s({...m,bridge:t,projectionBroker:o}))}export{y as createIpcClient,l as createWasmClient};
1
+ import {a as a$2}from'../chunk-Z4KJHIV5.js';import {s}from'../chunk-2K47N3QP.js';import'../chunk-BGWJHPBC.js';import'../chunk-FEF3DPPB.js';import'../chunk-GTHSRQ7Y.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-DUY34MGT.js';import'../chunk-CCCYE3XN.js';import'../chunk-N6LGTNUI.js';import'../chunk-JPBW67B3.js';import'../chunk-2GX6GB6L.js';async function l(e){let t=a$1(e),{WasmBridge:o}=await import('../WasmBridge-ZXBCXBBM.js');return a$2(t,new o(t))}function y(e,t,o=new a){let m=a$1(e);return a$2(m,new s({...m,bridge:t,projectionBroker:o}))}export{y as createIpcClient,l as createWasmClient};