openrtc 1.0.10 → 1.0.12

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 (35) hide show
  1. package/dist/{DelegatingRuntimeAdapter-lFDUNBy9.d.ts → DelegatingRuntimeAdapter-CemTo26O.d.ts} +4 -1
  2. package/dist/{assembly-C2G0P2L5.d.ts → assembly-BT4wKsfZ.d.ts} +2 -2
  3. package/dist/auth/index.js +1 -1
  4. package/dist/auth/internal.js +1 -1
  5. package/dist/{chunk-N6UBUNGC.js → chunk-75KFQDH4.js} +1 -1
  6. package/dist/chunk-DYMZAX7Q.js +2 -0
  7. package/dist/chunk-HVN5T6U4.js +3 -0
  8. package/dist/chunk-MU5FL5WW.js +1 -0
  9. package/dist/{chunk-GFIH6LQG.js → chunk-NXQJYXUK.js} +1 -1
  10. package/dist/chunk-YFNRKQEA.js +2 -0
  11. package/dist/chunk-YJ4XMLDL.js +2 -0
  12. package/dist/{chunk-SJ5BFL6W.js → chunk-ZZIIBIEC.js} +1 -1
  13. package/dist/index.d.ts +7 -7
  14. package/dist/index.js +1 -1
  15. package/dist/native.d.ts +5 -5
  16. package/dist/native.js +1 -1
  17. package/dist/openrtc_bg.wasm +0 -0
  18. package/dist/runtime/WasmRuntimeAdapter.d.ts +2 -2
  19. package/dist/runtime/WasmRuntimeAdapter.js +1 -1
  20. package/dist/runtime/device-status.d.ts +2 -2
  21. package/dist/runtime/index.d.ts +20 -8
  22. package/dist/runtime/index.js +1 -1
  23. package/dist/runtime/tauri.d.ts +3 -3
  24. package/dist/runtime/tauri.js +1 -1
  25. package/dist/{spaceTokens-3sbs1mUF.d.ts → spaceTokens-BdM1QhjV.d.ts} +3 -3
  26. package/dist/{tauri-WEvOC_Z6.d.ts → tauri-AzvFjyR0.d.ts} +2 -2
  27. package/dist/transport/index.d.ts +2 -2
  28. package/dist/{types-N9s66nF8.d.ts → types-CX2negKR.d.ts} +1 -1
  29. package/dist/{types-ZDsZknDI.d.ts → types-CYgBbeVF.d.ts} +28 -1
  30. package/package.json +3 -2
  31. package/dist/chunk-56WJZUHE.js +0 -3
  32. package/dist/chunk-DI5IPRPM.js +0 -2
  33. package/dist/chunk-HVTYSEU7.js +0 -2
  34. package/dist/chunk-MNI6JGR2.js +0 -1
  35. package/dist/chunk-YTUWXCRO.js +0 -1
@@ -1,21 +1,21 @@
1
- import { e as RuntimeFactoryOptions, b as PlutoRuntimeAssembly, P as PeerReconciliationStats } from '../assembly-C2G0P2L5.js';
2
- export { O as OPENRTC_RUNTIME_POLICY, R as RuntimeClient, a as RuntimePolicySnapshot, D as ScopedConnectionActorError, f as ScopedConnectionActorErrorKind, h as ScopedConnectionActorHandle, i as ScopedConnectionActorHandleOptions, j as ScopedConnectionActorRegistry, k as ScopedConnectionActorState, l as ScopedConnectionClose, m as ScopedConnectionDial, n as ScopedConnectionKey, o as ScopedLogicalChannelHandle, p as ScopedPreferredTransport, g as getRuntimePolicy, q as scopedConnectionKey, r as scopedConnectionKeyToString } from '../assembly-C2G0P2L5.js';
1
+ import { e as RuntimeFactoryOptions, b as PlutoRuntimeAssembly, P as PeerReconciliationStats } from '../assembly-BT4wKsfZ.js';
2
+ export { O as OPENRTC_RUNTIME_POLICY, R as RuntimeClient, a as RuntimePolicySnapshot, D as ScopedConnectionActorError, f as ScopedConnectionActorErrorKind, h as ScopedConnectionActorHandle, i as ScopedConnectionActorHandleOptions, j as ScopedConnectionActorRegistry, k as ScopedConnectionActorState, l as ScopedConnectionClose, m as ScopedConnectionDial, n as ScopedConnectionKey, o as ScopedLogicalChannelHandle, p as ScopedPreferredTransport, g as getRuntimePolicy, q as scopedConnectionKey, r as scopedConnectionKeyToString } from '../assembly-BT4wKsfZ.js';
3
3
  import * as Draft14 from '@moq/net';
4
- import { a3 as SignalingOptions, I as ISignalingBackend, e as RuntimeIdentity, h as SignalingEnvelope, j as SignalingSession, f as Device, o as BackendConnectionState, X as AppLimits, G as GrantScope, J as JoinRoomOptions, H as RoomMember, x as IncomingStreamChannelMetadata, W as ApplicationCryptoStreamTools, a4 as RoomCreationMode, p as ClientOptions, r as ApplicationPayloadCrypto, D as DiscoveryMode, V as ProtocolCapabilityMap, a5 as ScanningLoopOptions, a6 as ScanningLoopHandle, a7 as RuntimeBootstrapOptions, a8 as RuntimeBootstrapResult, s as ApplicationPayloadReadinessOptions, a9 as ManagedApplicationRouteOptions, z as PeerState, K as PeerScope, F as PeerHealth, w as ChannelDescriptor, aa as JoinRequest, m as NativeConnectParams, n as NativeConnectResult } from '../types-ZDsZknDI.js';
5
- import { C as Connection, K as RuntimeConnectionTarget, v as RuntimeRawConnection } from '../types-N9s66nF8.js';
6
- export { w as ChannelDescriptor, x as ConnectionEvent, y as ConnectionTarget, D as DeviceProfile, z as IncomingStream, P as PeerConnectOptions, A as PeerReadiness, B as PeerStreamOptions, E as PresenceLoopOptions, F as RawConnection, t as RuntimeApplicationPayloadReadinessOptions, G as RuntimeAuthContext, H as RuntimeAuthIdentity, J as RuntimeAutoConnectPolicy, l as RuntimeChannelDescriptor, R as RuntimeClientOptions, u as RuntimeConnectionEvent, s as RuntimeConnectionStateSnapshot, c as RuntimeDevice, e as RuntimeDeviceConnectOptions, L as RuntimeDevicePresenceStatus, M as RuntimeDeviceStatus, d as RuntimeDeviceStatusSnapshot, n as RuntimeIncomingStream, q as RuntimeJoinRoomOptions, f as RuntimeLocalDeviceInfo, g as RuntimeLocalDeviceProfile, N as RuntimeLogicalChannelFraming, b as RuntimeManagedSession, O as RuntimeManagedSessionKind, a as RuntimeManagedSessionOptions, Q as RuntimeManagedSessionPlatform, i as RuntimePeerConnectOptions, k as RuntimePeerHealth, S as RuntimePeerLifecycleStatus, j as RuntimePeerReadinessSnapshot, T as RuntimePeerScope, U as RuntimePeerSessionSnapshot, h as RuntimePeerState, m as RuntimePeerStreamOptions, V as RuntimePresenceLoopOptions, W as RuntimePresencePolicy, r as RuntimeRoomMember, o as RuntimeScopedChannelOptions, p as RuntimeScopedLogicalChannel, X as RuntimeSession, Y as RuntimeUiConnectionStatus, Z as ScopedChannelOptions, _ as ScopedLogicalChannel, $ as Session, a0 as SessionOptions } from '../types-N9s66nF8.js';
4
+ import { a3 as SignalingOptions, I as ISignalingBackend, f as RuntimeIdentity, H as RoomMember, i as SignalingEnvelope, k as SignalingSession, g as Device, p as BackendConnectionState, X as AppLimits, G as GrantScope, J as JoinRoomOptions, x as IncomingStreamChannelMetadata, W as ApplicationCryptoStreamTools, a4 as RoomCreationMode, e as ClientOptions, r as ApplicationPayloadCrypto, D as DiscoveryMode, V as ProtocolCapabilityMap, a5 as ScanningLoopOptions, a6 as ScanningLoopHandle, a7 as RuntimeBootstrapOptions, a8 as RuntimeBootstrapResult, s as ApplicationPayloadReadinessOptions, a9 as ManagedApplicationRouteOptions, z as PeerState, K as PeerScope, F as PeerHealth, w as ChannelDescriptor, aa as JoinRequest, n as NativeConnectParams, o as NativeConnectResult } from '../types-CYgBbeVF.js';
5
+ import { C as Connection, K as RuntimeConnectionTarget, v as RuntimeRawConnection } from '../types-CX2negKR.js';
6
+ export { w as ChannelDescriptor, x as ConnectionEvent, y as ConnectionTarget, D as DeviceProfile, z as IncomingStream, P as PeerConnectOptions, A as PeerReadiness, B as PeerStreamOptions, E as PresenceLoopOptions, F as RawConnection, t as RuntimeApplicationPayloadReadinessOptions, G as RuntimeAuthContext, H as RuntimeAuthIdentity, J as RuntimeAutoConnectPolicy, l as RuntimeChannelDescriptor, R as RuntimeClientOptions, u as RuntimeConnectionEvent, s as RuntimeConnectionStateSnapshot, c as RuntimeDevice, e as RuntimeDeviceConnectOptions, L as RuntimeDevicePresenceStatus, M as RuntimeDeviceStatus, d as RuntimeDeviceStatusSnapshot, n as RuntimeIncomingStream, q as RuntimeJoinRoomOptions, f as RuntimeLocalDeviceInfo, g as RuntimeLocalDeviceProfile, N as RuntimeLogicalChannelFraming, b as RuntimeManagedSession, O as RuntimeManagedSessionKind, a as RuntimeManagedSessionOptions, Q as RuntimeManagedSessionPlatform, i as RuntimePeerConnectOptions, k as RuntimePeerHealth, S as RuntimePeerLifecycleStatus, j as RuntimePeerReadinessSnapshot, T as RuntimePeerScope, U as RuntimePeerSessionSnapshot, h as RuntimePeerState, m as RuntimePeerStreamOptions, V as RuntimePresenceLoopOptions, W as RuntimePresencePolicy, r as RuntimeRoomMember, o as RuntimeScopedChannelOptions, p as RuntimeScopedLogicalChannel, X as RuntimeSession, Y as RuntimeUiConnectionStatus, Z as ScopedChannelOptions, _ as ScopedLogicalChannel, $ as Session, a0 as SessionOptions } from '../types-CX2negKR.js';
7
7
  import { FirebaseApp } from 'firebase/app';
8
8
  import { R as RuntimeCapabilities } from '../capabilities-C4Dqs_pB.js';
9
9
  export { B as BROWSER_WASM_RUNTIME_CAPABILITIES, c as BrowserRuntimeCapabilityHost, N as NATIVE_IPC_RUNTIME_CAPABILITIES, d as NativeRuntimeStatusSnapshot, e as NativeRuntimeTransportFeatureStatus, b as RuntimeAdapterKind, a as RuntimeCapabilityProfile, f as cloneRuntimeCapabilities, r as runtimeCapabilitiesForBrowserHost, g as runtimeCapabilitiesFromNativeStatus, h as runtimeCapabilityProfile } from '../capabilities-C4Dqs_pB.js';
10
10
  export { RuntimeDeviceActiveOptions, isRuntimeDeviceActive, isRuntimeDeviceConnectable, isRuntimeDeviceRoutable } from './device-status.js';
11
11
  export { h as RuntimeJsonFrameDecoderOptions, R as RuntimeJsonFrameHandler, a as RuntimeU32BEFrameHandler, i as concatRuntimeBytes, c as createRuntimeJsonFrameDecoder, b as createRuntimeU32BEFrameDecoder, d as decodeRuntimeJsonPayload, e as encodeRuntimeJsonFrame, f as encodeRuntimeJsonPayload, g as encodeRuntimeU32BEFrame, r as readRuntimeU32BE } from '../framing-zRvEKOld.js';
12
- import { I as IpcRuntimeAdapter } from '../tauri-WEvOC_Z6.js';
13
- export { a as IpcRuntimeAdapterOptions, T as TauriRuntimeAdapter, b as TauriRuntimeAdapterOptions, c as createTauriIpcBridge } from '../tauri-WEvOC_Z6.js';
12
+ import { I as IpcRuntimeAdapter } from '../tauri-AzvFjyR0.js';
13
+ export { a as IpcRuntimeAdapterOptions, T as TauriRuntimeAdapter, b as TauriRuntimeAdapterOptions, c as createTauriIpcBridge } from '../tauri-AzvFjyR0.js';
14
14
  import { WasmRuntimeAdapter } from './WasmRuntimeAdapter.js';
15
15
  import { P as PlutoIpcBridge } from '../ipc-CflAVodw.js';
16
16
  export { N as NativeIpcFailureKind, a as PlutoIpcUnlisten, c as classifyNativeIpcFailure, i as isNativeIpcCommandUnavailable } from '../ipc-CflAVodw.js';
17
17
  import '../IEngineBridge-C7OT2CRv.js';
18
- import '../DelegatingRuntimeAdapter-lFDUNBy9.js';
18
+ import '../DelegatingRuntimeAdapter-CemTo26O.js';
19
19
 
20
20
  /**
21
21
  * RtdbPresence — Phase 1 RTDB-backed device presence.
@@ -79,12 +79,16 @@ interface RtdbMemberPresence {
79
79
  }
80
80
  type RtdbRoomPresenceMap = Record<string, RtdbMemberPresence>;
81
81
  declare class RtdbPresence {
82
+ private readonly app;
83
+ private readonly auth;
82
84
  private readonly db;
83
85
  private readonly runtimeInstanceId;
84
86
  private readonly desiredOnlineNodes;
85
87
  private connected;
86
88
  private connectedUnsubscribe;
87
89
  private leaseRefreshTimer;
90
+ private readonly activeSubscriptions;
91
+ private readonly economicPresenceLease;
88
92
  constructor(app: FirebaseApp, runtimeInstanceId?: string);
89
93
  private ensureReconnectWatch;
90
94
  private publishDesiredOnline;
@@ -155,6 +159,11 @@ declare class Signaling {
155
159
  waitForAuth(): Promise<void>;
156
160
  get currentUser(): RuntimeIdentity | null;
157
161
  getRtdbPresence(): RtdbPresence | null;
162
+ usesCoordinationGateway(): boolean;
163
+ joinCoordinationRoom(roomId: string, nodeId: string, ticket: string): Promise<void>;
164
+ leaveCoordinationRoom(roomId: string): Promise<void>;
165
+ getCoordinationRoomMembers(roomId: string): Promise<RoomMember[]>;
166
+ watchCoordinationRoomMembers(roomId: string, callback: (members: RoomMember[]) => void): () => void;
158
167
  onAuthChange(callback: (user: RuntimeIdentity | null) => void): () => void;
159
168
  signInAnonymously(): Promise<void>;
160
169
  signInWithPluto(): Promise<void>;
@@ -293,6 +302,7 @@ declare class MoQPublisher {
293
302
  private closed;
294
303
  constructor(session: MoQSession, options?: MoQPublisherOptions);
295
304
  announce(namespace: string): Promise<void>;
305
+ hasNamespace(namespace: string): boolean;
296
306
  hasTrackSubscriber(namespace: string, name: string): boolean;
297
307
  createTrack(namespace: string, name: string): Promise<TrackPublisher>;
298
308
  close(): void;
@@ -343,6 +353,8 @@ declare class RoomManager {
343
353
  setRtdbPresence(rtdbPresence: RtdbPresence): void;
344
354
  private syncRtdbPresenceFromSignaling;
345
355
  private usesDirectRoomBackend;
356
+ private usesCoordinationGateway;
357
+ private usesManagedRoomControlPlane;
346
358
  private get roomBackendTag();
347
359
  private resolveRoomUserId;
348
360
  private get appTag();
@@ -1 +1 @@
1
- export{b as createIpcClient,a as createWasmClient}from'../chunk-GFIH6LQG.js';export{z as RuntimeClient,i as RuntimeConnectionController,m as ScopedConnectionActorError,p as ScopedConnectionActorHandle,q as ScopedConnectionActorRegistry,l as clog,x as concatRuntimeBytes,k as correlationForDriveGrantScope,w as createRuntimeJsonFrameDecoder,s as createRuntimeU32BEFrameDecoder,u as decodeRuntimeJsonPayload,v as encodeRuntimeJsonFrame,t as encodeRuntimeJsonPayload,r as encodeRuntimeU32BEFrame,y as readRuntimeU32BE,j as renderCorrelationFields,n as scopedConnectionKey,o as scopedConnectionKeyToString}from'../chunk-56WJZUHE.js';export{a as isRuntimeDeviceActive,c as isRuntimeDeviceConnectable,b as isRuntimeDeviceRoutable}from'../chunk-CK6WQV7J.js';export{a as WasmRuntimeAdapter}from'../chunk-MNI6JGR2.js';export{b as TauriRuntimeAdapter,a as createTauriIpcBridge}from'../chunk-N6UBUNGC.js';export{h as IpcRuntimeAdapter,e as classifyNativeIpcFailure,f as isNativeIpcCommandUnavailable}from'../chunk-DI5IPRPM.js';export{y as BROWSER_WASM_RUNTIME_CAPABILITIES,z as NATIVE_IPC_RUNTIME_CAPABILITIES,w as OPENRTC_RUNTIME_POLICY,A as cloneRuntimeCapabilities,x as getRuntimePolicy,o as logOpenRtcTeardownTrace,b as openRtcDebug,a as openRtcDebugEnabled,c as openRtcDebugInfo,d as openRtcDebugLog,B as runtimeCapabilitiesForBrowserHost,C as runtimeCapabilitiesFromNativeStatus,D as runtimeCapabilityProfile}from'../chunk-YTUWXCRO.js';import'../chunk-QT2ASNI3.js';import'../chunk-HVTYSEU7.js';import'../chunk-C7YN5MSV.js';
1
+ export{b as createIpcClient,a as createWasmClient}from'../chunk-NXQJYXUK.js';export{z as RuntimeClient,i as RuntimeConnectionController,m as ScopedConnectionActorError,p as ScopedConnectionActorHandle,q as ScopedConnectionActorRegistry,l as clog,x as concatRuntimeBytes,k as correlationForDriveGrantScope,w as createRuntimeJsonFrameDecoder,s as createRuntimeU32BEFrameDecoder,u as decodeRuntimeJsonPayload,v as encodeRuntimeJsonFrame,t as encodeRuntimeJsonPayload,r as encodeRuntimeU32BEFrame,y as readRuntimeU32BE,j as renderCorrelationFields,n as scopedConnectionKey,o as scopedConnectionKeyToString}from'../chunk-HVN5T6U4.js';export{a as isRuntimeDeviceActive,c as isRuntimeDeviceConnectable,b as isRuntimeDeviceRoutable}from'../chunk-CK6WQV7J.js';export{a as WasmRuntimeAdapter}from'../chunk-MU5FL5WW.js';export{b as TauriRuntimeAdapter,a as createTauriIpcBridge}from'../chunk-75KFQDH4.js';export{h as IpcRuntimeAdapter,e as classifyNativeIpcFailure,f as isNativeIpcCommandUnavailable}from'../chunk-YJ4XMLDL.js';export{z as BROWSER_WASM_RUNTIME_CAPABILITIES,A as NATIVE_IPC_RUNTIME_CAPABILITIES,x as OPENRTC_RUNTIME_POLICY,B as cloneRuntimeCapabilities,y as getRuntimePolicy,p as logOpenRtcTeardownTrace,c as openRtcDebug,b as openRtcDebugEnabled,d as openRtcDebugInfo,e as openRtcDebugLog,C as runtimeCapabilitiesForBrowserHost,D as runtimeCapabilitiesFromNativeStatus,E as runtimeCapabilityProfile}from'../chunk-DYMZAX7Q.js';import'../chunk-QT2ASNI3.js';import'../chunk-YFNRKQEA.js';import'../chunk-C7YN5MSV.js';
@@ -1,6 +1,6 @@
1
- export { T as TauriRuntimeAdapter, b as TauriRuntimeAdapterOptions, c as createTauriIpcBridge } from '../tauri-WEvOC_Z6.js';
1
+ export { T as TauriRuntimeAdapter, b as TauriRuntimeAdapterOptions, c as createTauriIpcBridge } from '../tauri-AzvFjyR0.js';
2
2
  import '../ipc-CflAVodw.js';
3
- import '../types-ZDsZknDI.js';
4
- import '../DelegatingRuntimeAdapter-lFDUNBy9.js';
3
+ import '../types-CYgBbeVF.js';
4
+ import '../DelegatingRuntimeAdapter-CemTo26O.js';
5
5
  import '../IEngineBridge-C7OT2CRv.js';
6
6
  import '../capabilities-C4Dqs_pB.js';
@@ -1 +1 @@
1
- export{b as TauriRuntimeAdapter,a as createTauriIpcBridge}from'../chunk-N6UBUNGC.js';import'../chunk-DI5IPRPM.js';import'../chunk-YTUWXCRO.js';import'../chunk-QT2ASNI3.js';import'../chunk-HVTYSEU7.js';import'../chunk-C7YN5MSV.js';
1
+ export{b as TauriRuntimeAdapter,a as createTauriIpcBridge}from'../chunk-75KFQDH4.js';import'../chunk-YJ4XMLDL.js';import'../chunk-DYMZAX7Q.js';import'../chunk-QT2ASNI3.js';import'../chunk-YFNRKQEA.js';import'../chunk-C7YN5MSV.js';
@@ -1,7 +1,7 @@
1
- import { R as RuntimeClient, a as RuntimePolicySnapshot, P as PeerReconciliationStats, b as PlutoRuntimeAssembly } from './assembly-C2G0P2L5.js';
2
- import { C as ConnectDeviceResult, b as ConnectDeviceHooks, c as ConnectDeviceOptions, P as PeerSessionSnapshot, R as ResolvedPeerIdentity, G as GrantScope, a as SpaceTokenProvider } from './types-ZDsZknDI.js';
1
+ import { R as RuntimeClient, a as RuntimePolicySnapshot, P as PeerReconciliationStats, b as PlutoRuntimeAssembly } from './assembly-BT4wKsfZ.js';
2
+ import { C as ConnectDeviceResult, b as ConnectDeviceHooks, c as ConnectDeviceOptions, P as PeerSessionSnapshot, R as ResolvedPeerIdentity, G as GrantScope, a as SpaceTokenProvider } from './types-CYgBbeVF.js';
3
3
  import { A as AuthContext } from './IEngineBridge-C7OT2CRv.js';
4
- import { a as RuntimeManagedSessionOptions, b as RuntimeManagedSession, c as RuntimeDevice, d as RuntimeDeviceStatusSnapshot, e as RuntimeDeviceConnectOptions, f as RuntimeLocalDeviceInfo, g as RuntimeLocalDeviceProfile, h as RuntimePeerState, i as RuntimePeerConnectOptions, C as Connection, j as RuntimePeerReadinessSnapshot, k as RuntimePeerHealth, l as RuntimeChannelDescriptor, m as RuntimePeerStreamOptions, n as RuntimeIncomingStream, o as RuntimeScopedChannelOptions, p as RuntimeScopedLogicalChannel, q as RuntimeJoinRoomOptions, r as RuntimeRoomMember, s as RuntimeConnectionStateSnapshot, t as RuntimeApplicationPayloadReadinessOptions, u as RuntimeConnectionEvent, v as RuntimeRawConnection } from './types-N9s66nF8.js';
4
+ import { a as RuntimeManagedSessionOptions, b as RuntimeManagedSession, c as RuntimeDevice, d as RuntimeDeviceStatusSnapshot, e as RuntimeDeviceConnectOptions, f as RuntimeLocalDeviceInfo, g as RuntimeLocalDeviceProfile, h as RuntimePeerState, i as RuntimePeerConnectOptions, C as Connection, j as RuntimePeerReadinessSnapshot, k as RuntimePeerHealth, l as RuntimeChannelDescriptor, m as RuntimePeerStreamOptions, n as RuntimeIncomingStream, o as RuntimeScopedChannelOptions, p as RuntimeScopedLogicalChannel, q as RuntimeJoinRoomOptions, r as RuntimeRoomMember, s as RuntimeConnectionStateSnapshot, t as RuntimeApplicationPayloadReadinessOptions, u as RuntimeConnectionEvent, v as RuntimeRawConnection } from './types-CX2negKR.js';
5
5
  import { R as RuntimeCapabilities, a as RuntimeCapabilityProfile } from './capabilities-C4Dqs_pB.js';
6
6
 
7
7
  type OpenRTCChannelConnectOptions = Omit<RuntimeScopedChannelOptions, 'scope' | 'deviceId' | 'ticket'> & {
@@ -1,5 +1,5 @@
1
- import { p as ClientOptions } from './types-ZDsZknDI.js';
2
- import { W as WasmBridgeOptions, D as DelegatingRuntimeAdapter } from './DelegatingRuntimeAdapter-lFDUNBy9.js';
1
+ import { e as ClientOptions } from './types-CYgBbeVF.js';
2
+ import { W as WasmBridgeOptions, D as DelegatingRuntimeAdapter } from './DelegatingRuntimeAdapter-CemTo26O.js';
3
3
  import { P as PlutoIpcBridge } from './ipc-CflAVodw.js';
4
4
 
5
5
  interface NativeIpcBridgeOptions extends WasmBridgeOptions {
@@ -1,5 +1,5 @@
1
- import { a0 as RouteDescriptor, u as ProtocolName } from '../types-ZDsZknDI.js';
2
- export { a1 as RouteFamily, a2 as RouteImplementationKind } from '../types-ZDsZknDI.js';
1
+ import { a0 as RouteDescriptor, u as ProtocolName } from '../types-CYgBbeVF.js';
2
+ export { a1 as RouteFamily, a2 as RouteImplementationKind } from '../types-CYgBbeVF.js';
3
3
 
4
4
  declare const ROUTE_DESCRIPTORS: readonly RouteDescriptor[];
5
5
  declare function getRouteDescriptor(id: ProtocolName): RouteDescriptor;
@@ -1,5 +1,5 @@
1
1
  import { A as AuthContext } from './IEngineBridge-C7OT2CRv.js';
2
- import { q as ConnectionOptions, r as ApplicationPayloadCrypto, s as ApplicationPayloadReadinessOptions, t as ApplicationPayloadRouteOptions, u as ProtocolName, v as ApplicationPayloadSendOptions, T as TransportLatencySnapshot, w as ChannelDescriptor$1, L as LocalDeviceInfo, x as IncomingStreamChannelMetadata, p as ClientOptions, f as Device, j as SignalingSession, e as RuntimeIdentity, g as DeviceStatusSnapshot, y as ManagedDeviceConnectOptions, z as PeerState, F as PeerHealth, J as JoinRoomOptions, H as RoomMember, K as PeerScope, o as BackendConnectionState, O as DevicePresenceStatus, Q as PeerLifecycleStatus, P as PeerSessionSnapshot } from './types-ZDsZknDI.js';
2
+ import { q as ConnectionOptions, r as ApplicationPayloadCrypto, s as ApplicationPayloadReadinessOptions, t as ApplicationPayloadRouteOptions, u as ProtocolName, v as ApplicationPayloadSendOptions, T as TransportLatencySnapshot, w as ChannelDescriptor$1, L as LocalDeviceInfo, x as IncomingStreamChannelMetadata, e as ClientOptions, g as Device, k as SignalingSession, f as RuntimeIdentity, h as DeviceStatusSnapshot, y as ManagedDeviceConnectOptions, z as PeerState, F as PeerHealth, J as JoinRoomOptions, H as RoomMember, K as PeerScope, p as BackendConnectionState, O as DevicePresenceStatus, Q as PeerLifecycleStatus, P as PeerSessionSnapshot } from './types-CYgBbeVF.js';
3
3
 
4
4
  interface ITransport {
5
5
  readonly name: string;
@@ -1,3 +1,16 @@
1
+ interface CoordinationGatewayOptions {
2
+ /**
3
+ * Provider-neutral coordination gateway endpoint.
4
+ * Credentials are delivered in the first WebSocket frame, never this URL.
5
+ */
6
+ endpoint: string;
7
+ /**
8
+ * Fail-closed lane marker. The credential issuer and Worker independently
9
+ * verify the matching Firebase project and token audience.
10
+ */
11
+ environment: 'staging' | 'production';
12
+ }
13
+
1
14
  interface AppLimits {
2
15
  /** Max devices per authenticated user. -1 = unlimited. */
3
16
  devicesPerUser: number;
@@ -199,6 +212,14 @@ interface ClientOptions {
199
212
  allowAnonymousHostedDefaults?: boolean;
200
213
  signalingMode?: SignalingMode;
201
214
  projectId?: string;
215
+ /**
216
+ * Provider-neutral coordination gateway.
217
+ *
218
+ * When set, hot presence, roster, and signaling operations fail closed
219
+ * through the gateway; the SDK never falls back to direct Firestore/RTDB.
220
+ * Hosted production clients receive the managed production default.
221
+ */
222
+ coordinationGateway?: CoordinationGatewayOptions;
202
223
  storagePrefix?: string;
203
224
  deviceTTL?: number;
204
225
  deviceName?: string;
@@ -274,6 +295,7 @@ interface Device {
274
295
  deviceName: string;
275
296
  online: boolean;
276
297
  ticket: string;
298
+ friendTicket?: string;
277
299
  presenceStatus?: DevicePresenceStatus;
278
300
  presenceUpdatedAt?: number;
279
301
  presenceExpiresAt?: number;
@@ -685,6 +707,11 @@ interface ISignalingBackend {
685
707
  signInWithPluto?(): Promise<void>;
686
708
  signOut(): Promise<void>;
687
709
  stopAuthScopedActivity?(): Promise<void>;
710
+ usesCoordinationGateway?(): boolean;
711
+ joinCoordinationRoom?(roomId: string, nodeId: string, ticket: string): Promise<void>;
712
+ leaveCoordinationRoom?(roomId: string): Promise<void>;
713
+ getCoordinationRoomMembers?(roomId: string): Promise<RoomMember[]>;
714
+ watchCoordinationRoomMembers?(roomId: string, callback: (members: RoomMember[]) => void): () => void;
688
715
  getTurnCredentials(): Promise<any>;
689
716
  updatePresence(localNodeId: string, ticketStr: string, isOnline: boolean, ttlMs: number, metadata?: string): Promise<void>;
690
717
  refreshLivePresence?(localNodeId: string, ticketStr: string, metadata?: string): Promise<void>;
@@ -934,4 +961,4 @@ interface JoinRequest {
934
961
  state: 'pending' | 'accepted' | 'rejected';
935
962
  }
936
963
 
937
- export type { ProtocolLocality as $, AuthMode as A, BackendPeerBiStream as B, ConnectDeviceResult as C, DiscoveryMode as D, ExplicitFileDataSendParams as E, PeerHealth as F, GrantScope as G, RoomMember as H, ISignalingBackend as I, JoinRoomOptions as J, PeerScope as K, LocalDeviceInfo as L, ManagedConnectionRecord as M, NativeManagedSessionStartResult as N, DevicePresenceStatus as O, PeerSessionSnapshot as P, PeerLifecycleStatus as Q, ResolvedPeerIdentity as R, SpaceAuthMode as S, TransportLatencySnapshot as T, ProtocolCapability as U, ProtocolCapabilityMap as V, ApplicationCryptoStreamTools as W, AppLimits as X, ApplicationCryptoBiStream as Y, ProtocolBaseName as Z, ProtocolImplementationKind as _, SpaceTokenProvider as a, RouteDescriptor as a0, RouteFamily as a1, RouteImplementationKind as a2, SignalingOptions as a3, RoomCreationMode as a4, ScanningLoopOptions as a5, ScanningLoopHandle as a6, RuntimeBootstrapOptions as a7, RuntimeBootstrapResult as a8, ManagedApplicationRouteOptions as a9, JoinRequest as aa, ConnectDeviceHooks as b, ConnectDeviceOptions as c, SignalingMode as d, RuntimeIdentity as e, Device as f, DeviceStatusSnapshot as g, SignalingEnvelope as h, DeviceEvent as i, SignalingSession as j, SessionEvent as k, BackendPeerUniStream as l, NativeConnectParams as m, NativeConnectResult as n, BackendConnectionState as o, ClientOptions as p, ConnectionOptions as q, ApplicationPayloadCrypto as r, ApplicationPayloadReadinessOptions as s, ApplicationPayloadRouteOptions as t, ProtocolName as u, ApplicationPayloadSendOptions as v, ChannelDescriptor as w, IncomingStreamChannelMetadata as x, ManagedDeviceConnectOptions as y, PeerState as z };
964
+ export type { ProtocolLocality as $, AuthMode as A, BackendPeerBiStream as B, ConnectDeviceResult as C, DiscoveryMode as D, ExplicitFileDataSendParams as E, PeerHealth as F, GrantScope as G, RoomMember as H, ISignalingBackend as I, JoinRoomOptions as J, PeerScope as K, LocalDeviceInfo as L, ManagedConnectionRecord as M, NativeManagedSessionStartResult as N, DevicePresenceStatus as O, PeerSessionSnapshot as P, PeerLifecycleStatus as Q, ResolvedPeerIdentity as R, SpaceAuthMode as S, TransportLatencySnapshot as T, ProtocolCapability as U, ProtocolCapabilityMap as V, ApplicationCryptoStreamTools as W, AppLimits as X, ApplicationCryptoBiStream as Y, ProtocolBaseName as Z, ProtocolImplementationKind as _, SpaceTokenProvider as a, RouteDescriptor as a0, RouteFamily as a1, RouteImplementationKind as a2, SignalingOptions as a3, RoomCreationMode as a4, ScanningLoopOptions as a5, ScanningLoopHandle as a6, RuntimeBootstrapOptions as a7, RuntimeBootstrapResult as a8, ManagedApplicationRouteOptions as a9, JoinRequest as aa, ConnectDeviceHooks as b, ConnectDeviceOptions as c, SignalingMode as d, ClientOptions as e, RuntimeIdentity as f, Device as g, DeviceStatusSnapshot as h, SignalingEnvelope as i, DeviceEvent as j, SignalingSession as k, SessionEvent as l, BackendPeerUniStream as m, NativeConnectParams as n, NativeConnectResult as o, BackendConnectionState as p, ConnectionOptions as q, ApplicationPayloadCrypto as r, ApplicationPayloadReadinessOptions as s, ApplicationPayloadRouteOptions as t, ProtocolName as u, ApplicationPayloadSendOptions as v, ChannelDescriptor as w, IncomingStreamChannelMetadata as x, ManagedDeviceConnectOptions as y, PeerState as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openrtc",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -108,7 +108,8 @@
108
108
  "playwright": "^1.58.2",
109
109
  "tsup": "^8.5.1",
110
110
  "typescript": "^5.0.0",
111
- "vitest": "^4.0.18"
111
+ "vitest": "^4.0.18",
112
+ "zod": "^4.4.3"
112
113
  },
113
114
  "directories": {
114
115
  "example": "examples",