openrtc 2.3.1 → 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.
- package/README.md +77 -5
- package/dist/BrowserManagedBroadcastHost-ARCP5MGJ.js +1 -0
- package/dist/{ITransport-CjxCQ6q7.d.ts → Connection-CTpuImO-.d.ts} +610 -95
- package/dist/DelegatingRuntimeAdapter-D67Ozqo3.d.ts +154 -0
- package/dist/IpcRuntimeAdapter-Ddx0MtSI.d.ts +86 -0
- package/dist/WasmBridge-ZXBCXBBM.js +1 -0
- package/dist/{assembly-Bmi65-tK.d.ts → assembly-DvfsYFCL.d.ts} +41 -19
- package/dist/{capabilities-BPuynml5.d.ts → capabilities-CmzzxSvW.d.ts} +14 -7
- package/dist/chunk-2GX6GB6L.js +1 -0
- package/dist/chunk-2K47N3QP.js +2 -0
- package/dist/chunk-72NEEJQG.js +1 -0
- package/dist/chunk-AYHD4X2R.js +1 -0
- package/dist/chunk-BFN3AVHA.js +2 -0
- package/dist/chunk-BGWJHPBC.js +2 -0
- package/dist/chunk-CCCYE3XN.js +1 -0
- package/dist/chunk-EIJNERKZ.js +1 -0
- package/dist/chunk-FEF3DPPB.js +1 -0
- package/dist/chunk-GHAJW6SZ.js +2 -0
- package/dist/chunk-GTHSRQ7Y.js +2 -0
- package/dist/chunk-JPBW67B3.js +1 -0
- package/dist/chunk-LLZT3MR6.js +118 -0
- package/dist/chunk-N6LGTNUI.js +1 -0
- package/dist/{chunk-4MLJXEVV.js → chunk-NDR2ANQB.js} +1 -1
- package/dist/chunk-OT7IPLZE.js +1 -0
- package/dist/chunk-OWKAJPOI.js +1 -0
- package/dist/chunk-TYZS5LXQ.js +2 -0
- package/dist/chunk-VFDCIEP6.js +2 -0
- package/dist/chunk-VTYVIKTM.js +1 -0
- package/dist/chunk-XTYALGJN.js +2 -0
- package/dist/{chunk-KRJECX7X.js → chunk-Z4KJHIV5.js} +1 -1
- package/dist/chunk-Z54XUIKZ.js +1 -0
- package/dist/{controlPlane-KVFZ7BR5.js → controlPlane-IIPEJ77Q.js} +1 -1
- package/dist/coreClient.d.ts +3 -4
- package/dist/coreClient.js +1 -1
- package/dist/{deviceEnrollment-VACC64CQ.js → deviceEnrollment-ZQZ2WP5H.js} +2 -2
- package/dist/{deviceKey-Y35WSEQQ.js → deviceKey-EIMDBAQS.js} +1 -1
- package/dist/{dist-FIVA6EPA.js → dist-XO466BRG.js} +18 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +1 -1
- package/dist/{ipc-CPnNwv6f.d.ts → ipc-DgzKqHH3.d.ts} +3 -0
- package/dist/ipcFactory-PRAJ7JP7.js +1 -0
- package/dist/native.d.ts +21 -0
- package/dist/native.js +1 -0
- package/dist/node-browser.d.ts +8 -0
- package/dist/node-browser.js +1 -0
- package/dist/node.d.ts +87 -0
- package/dist/node.js +2 -0
- package/dist/openrtc-VCS6V3AN.js +2 -0
- package/dist/openrtc_bg.wasm +0 -0
- package/dist/protocol-BSBjMb7p.d.ts +6 -0
- package/dist/room-ULZ2FGWV.js +1 -0
- package/dist/runtime/WasmRuntimeAdapter.d.ts +4 -5
- package/dist/runtime/WasmRuntimeAdapter.js +1 -1
- package/dist/runtime/device-status.d.ts +1 -2
- package/dist/runtime/factories.d.ts +352 -8
- package/dist/runtime/factories.js +1 -1
- package/dist/runtime/index.d.ts +15 -161
- package/dist/runtime/index.js +1 -1
- package/dist/server-browser.d.ts +14 -0
- package/dist/server-browser.js +1 -0
- package/dist/server.d.ts +44 -0
- package/dist/server.js +2 -0
- package/dist/service-node.d.ts +155 -0
- package/dist/service-node.js +1 -0
- package/dist/testing/native.d.ts +11 -0
- package/dist/testing/native.js +1 -0
- package/dist/testing.d.ts +47 -20
- package/dist/testing.js +1 -1
- package/dist/transport/index.d.ts +7 -18
- package/dist/transport/index.js +1 -1
- package/dist/types-Cyc-mPjk.d.ts +650 -0
- package/package.json +35 -3
- package/dist/DelegatingRuntimeAdapter-DE4LTGAJ.d.ts +0 -399
- package/dist/IpcRuntimeAdapter-CE0va9Tr.d.ts +0 -19
- package/dist/WasmBridge-75F6GKHG.js +0 -1
- package/dist/chunk-2L6ULC32.js +0 -1
- package/dist/chunk-2SUSPEC4.js +0 -1
- package/dist/chunk-7BJKDBLP.js +0 -2
- package/dist/chunk-AJQVMVYW.js +0 -1
- package/dist/chunk-BOS554IK.js +0 -2
- package/dist/chunk-HEAJ7ZUR.js +0 -1
- package/dist/chunk-HUG5AX7R.js +0 -1
- package/dist/chunk-Q6KXVTSH.js +0 -2
- package/dist/chunk-R35AWMNY.js +0 -1
- package/dist/chunk-UILOGUOU.js +0 -1
- package/dist/chunk-WA434EWD.js +0 -2
- package/dist/chunk-XAL4T6TB.js +0 -3
- package/dist/chunk-Z2IS6NH2.js +0 -2
- package/dist/ipcFactory-32R47AVK.js +0 -1
- package/dist/openrtc-MWLNTJI7.js +0 -2
- package/dist/types--jQzenZR.d.ts +0 -295
- package/dist/types-DDhMQkK8.d.ts +0 -621
|
@@ -1,10 +1,354 @@
|
|
|
1
|
-
import { c as RuntimeFactoryOptions, b as PlutoRuntimeAssembly } from '../assembly-
|
|
2
|
-
import { I as IpcRuntimeAdapter } from '../IpcRuntimeAdapter-
|
|
3
|
-
import { W as
|
|
4
|
-
import {
|
|
5
|
-
import '../
|
|
6
|
-
import '../
|
|
7
|
-
|
|
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
|
+
import { P as PlutoIpcBridge } from '../ipc-DgzKqHH3.js';
|
|
7
|
+
|
|
8
|
+
interface NativeTrustToken {
|
|
9
|
+
token: string;
|
|
10
|
+
expiresAtMs: number;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** Internal-only gateway record before normalization; includes namespace fields omitted from the public Device type. */
|
|
14
|
+
type RawDeviceDoc = Device & {
|
|
15
|
+
appTag?: string;
|
|
16
|
+
tag?: string;
|
|
17
|
+
};
|
|
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
|
+
|
|
57
|
+
type WasmBridgeOptions = RuntimeBridgeOptions;
|
|
58
|
+
/**
|
|
59
|
+
* WasmBridge is the browser host wrapper over the Rust/WASM runtime.
|
|
60
|
+
*
|
|
61
|
+
* Allowed:
|
|
62
|
+
* - normalize JS/WASM binding shapes
|
|
63
|
+
* - forward auth, discovery, signaling, and lifecycle calls into Rust
|
|
64
|
+
* - expose typed browser-facing results
|
|
65
|
+
*
|
|
66
|
+
* Not allowed:
|
|
67
|
+
* - become a second lifecycle engine
|
|
68
|
+
* - invent peer identity or connect policy that is not backed by Rust
|
|
69
|
+
* - normalize app-specific payload protocols into runtime behavior
|
|
70
|
+
*
|
|
71
|
+
* Source of truth:
|
|
72
|
+
* - Rust/WASM owns transport/runtime connection state and lifecycle primitives
|
|
73
|
+
* - The selected coordination provider owns browser delivery projections
|
|
74
|
+
* - RuntimeClient owns app-facing orchestration across those surfaces
|
|
75
|
+
*/
|
|
76
|
+
declare class WasmBridge implements ISignalingBackend {
|
|
77
|
+
private static readonly EXPLICIT_FILE_PROTOCOL_TYPE;
|
|
78
|
+
private static readonly EXPLICIT_FILE_CHUNK_SIZE_BYTES;
|
|
79
|
+
private static readonly MAX_EXPLICIT_TRANSFER_HEADER_BYTES;
|
|
80
|
+
private static readonly FALLBACK_EXPLICIT_FILE_NAME;
|
|
81
|
+
private static readonly MAX_EXPLICIT_FILE_NAME_CHARS;
|
|
82
|
+
private static readonly FALLBACK_EXPLICIT_MIME_TYPE;
|
|
83
|
+
private static readonly MAX_EXPLICIT_MIME_TYPE_CHARS;
|
|
84
|
+
app: any | null;
|
|
85
|
+
auth: any | null;
|
|
86
|
+
private readonly appTag;
|
|
87
|
+
protected options: {
|
|
88
|
+
appTag: string;
|
|
89
|
+
apiKey?: string;
|
|
90
|
+
discoveryMode?: DiscoveryMode;
|
|
91
|
+
space?: string;
|
|
92
|
+
spaceKey?: string;
|
|
93
|
+
authMode: AuthMode;
|
|
94
|
+
signalingMode?: SignalingMode;
|
|
95
|
+
projectId: string;
|
|
96
|
+
coordinationGateway?: ClientOptions['coordinationGateway'];
|
|
97
|
+
coordinationAvenueOverride?: ClientOptions['coordinationAvenueOverride'];
|
|
98
|
+
coordinationRoomGossipFanout?: ClientOptions['coordinationRoomGossipFanout'];
|
|
99
|
+
coordinationRoomArchitecture?: ClientOptions['coordinationRoomArchitecture'];
|
|
100
|
+
coordinationDevicePublicKeyX?: ClientOptions['coordinationDevicePublicKeyX'];
|
|
101
|
+
coordinationDeviceSign?: ClientOptions['coordinationDeviceSign'];
|
|
102
|
+
initialAutoConnectExcludedDeviceIds?: ClientOptions['initialAutoConnectExcludedDeviceIds'];
|
|
103
|
+
attestationTokenProvider?: ClientOptions['attestationTokenProvider'];
|
|
104
|
+
coordinationPlatformType?: string;
|
|
105
|
+
storagePrefix?: string;
|
|
106
|
+
deviceIdPersistence?: 'persistent' | 'ephemeral';
|
|
107
|
+
endpointIdPersistence?: 'persistent' | 'ephemeral';
|
|
108
|
+
nodeIdPersistence?: 'persistent' | 'ephemeral';
|
|
109
|
+
localDeviceId?: string;
|
|
110
|
+
deviceName?: string;
|
|
111
|
+
strictMode?: boolean;
|
|
112
|
+
turnCredentialsProvider?: () => Promise<{
|
|
113
|
+
iceServers?: RTCIceServer[];
|
|
114
|
+
} | null | undefined>;
|
|
115
|
+
applicationCrypto?: ExplicitFileDataSendParams['applicationCrypto'];
|
|
116
|
+
spaceTokenProvider?: ClientOptions['spaceTokenProvider'];
|
|
117
|
+
spaceAuth?: 'scoped-token';
|
|
118
|
+
};
|
|
119
|
+
private spaceNamespaceIdPromise;
|
|
120
|
+
private cachedSpaceNamespaceId;
|
|
121
|
+
private authListeners;
|
|
122
|
+
private persistenceReady;
|
|
123
|
+
wasmClient: any;
|
|
124
|
+
private readonly createdAtMs;
|
|
125
|
+
private missingWasmWarnings;
|
|
126
|
+
private readonly wasmReadyWarningDelayMs;
|
|
127
|
+
private readonly coordinationHost;
|
|
128
|
+
/** Test seam only; production gateway ownership remains in coordinationHost. */
|
|
129
|
+
private browserCoordinationSignaling;
|
|
130
|
+
private effectiveRoomArchitecture;
|
|
131
|
+
private lastObservedFirebaseUserId;
|
|
132
|
+
private sessionReaders;
|
|
133
|
+
protected authContext: {
|
|
134
|
+
userId: string;
|
|
135
|
+
token?: string | null;
|
|
136
|
+
refreshToken?: string | null;
|
|
137
|
+
customToken?: string | null;
|
|
138
|
+
tokenProvider?: (forceRefresh?: boolean) => Promise<string | null>;
|
|
139
|
+
appCheckTokenProvider?: (forceRefresh?: boolean) => Promise<string | null>;
|
|
140
|
+
expiresAtMs?: number | null;
|
|
141
|
+
} | null;
|
|
142
|
+
private injectedBrowserAuthSessionActive;
|
|
143
|
+
private readonly presenceManager;
|
|
144
|
+
private hasSyncedAuthToWasmClient;
|
|
145
|
+
private lastWasmAuthUserId;
|
|
146
|
+
private lastWasmAuthToken;
|
|
147
|
+
private lastDeliveredConnectionStates;
|
|
148
|
+
private authScopedRuntimeGeneration;
|
|
149
|
+
private coreClient;
|
|
150
|
+
private readonly applicationRouteEscalations;
|
|
151
|
+
private applicationRouteEscalationAttemptKeys;
|
|
152
|
+
private applicationRouteEscalationUnsubscribe;
|
|
153
|
+
private routeSubscriptionGeneration;
|
|
154
|
+
private applicationRouteEscalationSubscriptionEpoch;
|
|
155
|
+
constructor(options: WasmBridgeOptions);
|
|
156
|
+
loadBrowserWasmRuntime(): Promise<BrowserWasmRuntimeModule>;
|
|
157
|
+
get tag(): string;
|
|
158
|
+
capabilities(): RuntimeCapabilities;
|
|
159
|
+
private static readonly WEB_DEVICE_ID_STORAGE_PREFIX;
|
|
160
|
+
private static readonly EPHEMERAL_DEVICE_ID_TTL_MS;
|
|
161
|
+
private getDeviceIdentityStorageKey;
|
|
162
|
+
private getDeviceIdPersistenceMode;
|
|
163
|
+
private isTicketOnlyMode;
|
|
164
|
+
private usesProviderNeutralGrant;
|
|
165
|
+
private createRandomDeviceId;
|
|
166
|
+
protected resolveWebLogicalDeviceId(): string;
|
|
167
|
+
private getDefaultBrowserDeviceName;
|
|
168
|
+
getLocalDeviceInfo(): Promise<LocalDeviceInfo>;
|
|
169
|
+
private getCoordinationSignaling;
|
|
170
|
+
usesCoordinationGateway(): boolean;
|
|
171
|
+
setCoordinationHostAvailability(input: {
|
|
172
|
+
available: boolean;
|
|
173
|
+
reason: string;
|
|
174
|
+
}): void;
|
|
175
|
+
/** Restore the existing gateway delivery subscription after a native host resumes. */
|
|
176
|
+
reconnectCoordinationAfterHostResume(): Promise<void>;
|
|
177
|
+
getCoordinationNativeTrustToken(forceRefresh?: boolean): Promise<NativeTrustToken>;
|
|
178
|
+
invalidateCoordinationNativeTrustToken(): void;
|
|
179
|
+
subscribeCoordinationNativeTrustToken(listener: (token: NativeTrustToken | null) => void, options?: {
|
|
180
|
+
emitCurrent?: boolean;
|
|
181
|
+
}): () => void;
|
|
182
|
+
setCoordinationLocalDeviceId(deviceId: string): void;
|
|
183
|
+
/** Internal native-host hint for provider-neutral roster presentation. */
|
|
184
|
+
setCoordinationPlatformType(platformType: string): void;
|
|
185
|
+
setCoordinationExcludedPeers(excludedPeers: string[]): Promise<void>;
|
|
186
|
+
joinCoordinationRoom(roomId: string, nodeId: string, ticket: string): Promise<void>;
|
|
187
|
+
leaveCoordinationRoom(roomId: string): Promise<void>;
|
|
188
|
+
getCoordinationRoomMembers(roomId: string): Promise<RoomMember[]>;
|
|
189
|
+
watchCoordinationRoomMembers(roomId: string, callback: (members: RoomMember[]) => void): () => void;
|
|
190
|
+
private withWebPresenceMetadata;
|
|
191
|
+
setAuthContext(context: {
|
|
192
|
+
userId: string;
|
|
193
|
+
token?: string | null;
|
|
194
|
+
refreshToken?: string | null;
|
|
195
|
+
customToken?: string | null;
|
|
196
|
+
tokenProvider?: (forceRefresh?: boolean) => Promise<string | null>;
|
|
197
|
+
appCheckTokenProvider?: (forceRefresh?: boolean) => Promise<string | null>;
|
|
198
|
+
expiresAtMs?: number | null;
|
|
199
|
+
} | null): Promise<void>;
|
|
200
|
+
private ensureBrowserPlatformAuth;
|
|
201
|
+
private syncWasmAuthToken;
|
|
202
|
+
private toRuntimeIdentity;
|
|
203
|
+
protected getCurrentUserId(): string | null;
|
|
204
|
+
getCurrentUserIdForScope(): string | null;
|
|
205
|
+
getAuthContext(): Readonly<typeof this.authContext> | null;
|
|
206
|
+
protected isSpaceMode(): boolean;
|
|
207
|
+
getResolvedOptions(): Readonly<typeof this.options>;
|
|
208
|
+
protected getDiscoveryScopeId(): string | null;
|
|
209
|
+
protected matchesTag(device: Pick<RawDeviceDoc, 'tag' | 'appTag'>): boolean;
|
|
210
|
+
matchesLegacyOrCurrentTag(device: Pick<RawDeviceDoc, 'tag' | 'appTag'>): boolean;
|
|
211
|
+
private stopSessionSubscriptions;
|
|
212
|
+
private stopRuntimeAuthScopedLoops;
|
|
213
|
+
stopAuthActivity(options?: {
|
|
214
|
+
userId?: string | null;
|
|
215
|
+
}): Promise<void>;
|
|
216
|
+
setWasmClient(client: any): void;
|
|
217
|
+
/** Private managed-broadcast edge. Rust/WASM retains the private signer. */
|
|
218
|
+
createBroadcastPublisher(): Promise<BrowserBroadcastWasmPublisher>;
|
|
219
|
+
initializePersistentIrohProtocols(store: BrowserProtocolStore): Promise<void>;
|
|
220
|
+
createPersistentIrohNamespace(generation: number, shareRevision: number): Promise<NamespaceDescriptor>;
|
|
221
|
+
importPersistentIrohTicket(ticket: string, generation: number, shareRevision: number): Promise<string>;
|
|
222
|
+
sharePersistentIrohNamespace(namespaceId: string, writable: boolean): Promise<string>;
|
|
223
|
+
removePersistentIrohNamespace(namespaceId: string, generation: number, shareRevision: number): Promise<void>;
|
|
224
|
+
putPersistentIrohBytes(namespaceId: string, key: Uint8Array, value: Uint8Array): Promise<IrohMutationReceipt>;
|
|
225
|
+
setPersistentIrohHash(namespaceId: string, key: Uint8Array, contentHash: string, contentLength: number): Promise<string>;
|
|
226
|
+
deletePersistentIrohPrefix(namespaceId: string, prefix: Uint8Array): Promise<{
|
|
227
|
+
removed: number;
|
|
228
|
+
operationId: string;
|
|
229
|
+
}>;
|
|
230
|
+
queryPersistentIrohNamespace(namespaceId: string, keyPrefix: Uint8Array): Promise<IrohDocEntry[]>;
|
|
231
|
+
hydratePersistentIrohBlob(contentHash: string): Promise<void>;
|
|
232
|
+
acknowledgePersistentIrohOutbox(operationId: string): Promise<void>;
|
|
233
|
+
flushPersistentIrohProtocols(): Promise<void>;
|
|
234
|
+
shutdownPersistentIrohProtocols(): Promise<void>;
|
|
235
|
+
private requirePersistentProtocolHost;
|
|
236
|
+
private warnMissingWasmOnce;
|
|
237
|
+
private waitForWasmClient;
|
|
238
|
+
protected normalizeDevice(raw: Record<string, any>, fallbackId?: string): Device;
|
|
239
|
+
normalizeDeviceRecord(raw: Record<string, any>, fallbackId?: string): Device;
|
|
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>;
|
|
254
|
+
private normalizeDeviceStatusSnapshot;
|
|
255
|
+
private normalizePeerSessionSnapshot;
|
|
256
|
+
private toBackendConnectionStateFromPeerSession;
|
|
257
|
+
private normalizeStateSnapshot;
|
|
258
|
+
private stabilizeConnectionState;
|
|
259
|
+
private sameConnectionState;
|
|
260
|
+
private deliverConnectionState;
|
|
261
|
+
private get browserPresenceLoopState();
|
|
262
|
+
private set browserPresenceLoopState(value);
|
|
263
|
+
get currentUser(): RuntimeIdentity | null;
|
|
264
|
+
onAuthChange(callback: (user: RuntimeIdentity | null) => void): () => void;
|
|
265
|
+
checkForSSOToken(): Promise<void>;
|
|
266
|
+
waitForAuth(): Promise<void>;
|
|
267
|
+
signInAnonymously(): Promise<void>;
|
|
268
|
+
signInWithPluto(): Promise<void>;
|
|
269
|
+
signOut(): Promise<void>;
|
|
270
|
+
getTurnCredentials(): Promise<any>;
|
|
271
|
+
updatePresence(localNodeId: string, ticketStr: string, isOnline?: boolean, ttlMs?: number, metadata?: string, deviceNameOverride?: string): Promise<void>;
|
|
272
|
+
refreshLivePresence(localNodeId: string, ticketStr: string, metadata?: string, deviceNameOverride?: string): Promise<void>;
|
|
273
|
+
setOffline(localNodeId: string): Promise<void>;
|
|
274
|
+
updateDevice(deviceId: string, updates: {
|
|
275
|
+
deviceName?: string;
|
|
276
|
+
capabilities?: Device['capabilities'];
|
|
277
|
+
metadata?: string;
|
|
278
|
+
excludedPeers?: string[];
|
|
279
|
+
}): Promise<void>;
|
|
280
|
+
deleteDevice(deviceId: string): Promise<void>;
|
|
281
|
+
cleanupStaleDevices(): Promise<void>;
|
|
282
|
+
sendMessage(targetId: string, payload: string, state?: string, replyPayload?: string): Promise<string>;
|
|
283
|
+
pollMessages(targetId: string): Promise<SignalingEnvelope[]>;
|
|
284
|
+
searchDevices(excludeNodeId?: string): Promise<Device[]>;
|
|
285
|
+
listDeviceStatus(): Promise<DeviceStatusSnapshot[]>;
|
|
286
|
+
getPeerSession(id: string): Promise<PeerSessionSnapshot | null>;
|
|
287
|
+
listPeerSessions(): Promise<PeerSessionSnapshot[]>;
|
|
288
|
+
waitForSettledPeer(id: string, timeoutMs?: number): Promise<PeerSessionSnapshot | null>;
|
|
289
|
+
openPeerBi(id: string, timeoutMs?: number): Promise<BackendPeerBiStream>;
|
|
290
|
+
openPeerBiRaw(id: string, timeoutMs?: number): Promise<BackendPeerBiStream>;
|
|
291
|
+
openPeerUni(id: string, timeoutMs?: number): Promise<BackendPeerUniStream>;
|
|
292
|
+
beginOpenRtcMediaPublication(input: Omit<PortableMediaPublish, 'mediaGeneration'>): PortableMediaPublicationStart;
|
|
293
|
+
encodeOpenRtcMediaSample(input: PortableMediaSample): Uint8Array;
|
|
294
|
+
pauseOpenRtcMediaPublication(publicationId: string): void;
|
|
295
|
+
retireOpenRtcMediaPublication(publicationId: string): void;
|
|
296
|
+
retireOpenRtcMediaReceiver(publicationId: string, mediaGeneration: number): void;
|
|
297
|
+
decodeOpenRtcMediaChunk(encoded: Uint8Array): PortableMediaChunk;
|
|
298
|
+
decodeOpenRtcMediaControl(encoded: Uint8Array): PortableMediaControl;
|
|
299
|
+
sendPeerDatagram(id: string, payload: Uint8Array, maxAgeMs?: number): Promise<boolean>;
|
|
300
|
+
receivePeerDatagram(id: string): Promise<Uint8Array>;
|
|
301
|
+
peerDatagramMaxSize(): number;
|
|
302
|
+
createPeerDatagramPolicy(): unknown;
|
|
303
|
+
resolvePeerRecords(id: string): Promise<ManagedConnectionRecord[]>;
|
|
304
|
+
resolvePeerIdentity(id: string): Promise<ResolvedPeerIdentity>;
|
|
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;
|
|
317
|
+
subscribeDevices(userId: string): Promise<ReadableStream<DeviceEvent[]>>;
|
|
318
|
+
startAutoConnect(userId: string, localDeviceId: string): Promise<void>;
|
|
319
|
+
startAutoConnectOnce(userId: string, localDeviceId: string): Promise<void>;
|
|
320
|
+
notifyDisconnectRequested(remoteNodeId: string): void;
|
|
321
|
+
excludeAutoConnect(deviceId: string, excluded: boolean): Promise<void>;
|
|
322
|
+
disconnectDevice(deviceId: string): Promise<void>;
|
|
323
|
+
submitDesiredPeerProjection(revision: number, peers: DesiredPeerProjection[]): Promise<void>;
|
|
324
|
+
setCoreClient(client: CoreClientBridgeHost | null): void;
|
|
325
|
+
private startApplicationRouteEscalationSubscription;
|
|
326
|
+
private stopApplicationRouteEscalationSubscription;
|
|
327
|
+
private retryManagedApplicationRouteEscalations;
|
|
328
|
+
private escalateManagedApplicationRoute;
|
|
329
|
+
connectToDevice(params: NativeConnectParams): Promise<NativeConnectResult>;
|
|
330
|
+
forceReconnect(): void;
|
|
331
|
+
startPresenceLoop(userId: string, localNodeId: string, deviceName: string, ticket: string, metadata?: string): Promise<void>;
|
|
332
|
+
private ensureSpaceNamespaceIdPromise;
|
|
333
|
+
createSession(session: SignalingSession): Promise<void>;
|
|
334
|
+
updateSession(sessionId: string, updateData: any): Promise<void>;
|
|
335
|
+
subscribeSessions(localDeviceId: string): Promise<ReadableStream<SessionEvent[]>>;
|
|
336
|
+
getLocalDeviceId(): Promise<string | null>;
|
|
337
|
+
isConnected(node_id: string): Promise<boolean>;
|
|
338
|
+
getConnectionStates(): Promise<BackendConnectionState[]>;
|
|
339
|
+
onStateChange(callback: (state: BackendConnectionState) => void): Promise<() => void> | (() => void);
|
|
340
|
+
sendExplicitFilePath(connectionId: string, filePath: string, transferId?: string): Promise<string>;
|
|
341
|
+
private sanitizeExplicitFileName;
|
|
342
|
+
private sanitizeExplicitMimeType;
|
|
343
|
+
private assertExplicitTransferHeaderSize;
|
|
344
|
+
private createWebRTCExplicitTransferId;
|
|
345
|
+
private createWebRTCExplicitTransferFrame;
|
|
346
|
+
sendExplicitFileData(params: ExplicitFileDataSendParams): Promise<void>;
|
|
347
|
+
getTransferHistory(limit?: number): Promise<Array<[string, unknown]>>;
|
|
348
|
+
deleteTransferJob(jobId: string): Promise<void>;
|
|
349
|
+
watchFriendDevices(friendUserIds: string[], callback: (friendDevices: Map<string, any[]>) => void): () => void;
|
|
350
|
+
updateFriendTicket(friendTicket: string | null): Promise<void>;
|
|
351
|
+
}
|
|
8
352
|
|
|
9
353
|
/**
|
|
10
354
|
* @deprecated Legacy assembly helper. Use `OpenRTC()` for app code.
|
|
@@ -16,6 +360,6 @@ declare function createWasmClient(options: RuntimeFactoryOptions): Promise<Pluto
|
|
|
16
360
|
* `OpenRTC.native` from `openrtc`.
|
|
17
361
|
* Removal target: OpenRTC 0.2.0.
|
|
18
362
|
*/
|
|
19
|
-
declare function createIpcClient(options: RuntimeFactoryOptions, bridge: PlutoIpcBridge): PlutoRuntimeAssembly<IpcRuntimeAdapter>;
|
|
363
|
+
declare function createIpcClient(options: RuntimeFactoryOptions, bridge: PlutoIpcBridge, projectionBroker?: NativeProjectionBroker): PlutoRuntimeAssembly<IpcRuntimeAdapter>;
|
|
20
364
|
|
|
21
365
|
export { PlutoRuntimeAssembly, RuntimeFactoryOptions, createIpcClient, createWasmClient };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$2}from'../chunk-
|
|
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};
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import { a as PeerReconciliationStats } from '../assembly-
|
|
2
|
-
export { D as ConnectionActor, d as ConnectionActorError, e as ConnectionActorErrorKind, f as ConnectionActorKey, g as ConnectionActorOptions, h as ConnectionActorState, i as ConnectionActors, j as ConnectionClose, k as ConnectionDial, l as LogicalChannel, P as PolicySnapshot, m as PreferredTransport, n as RUNTIME_POLICY, R as RuntimeClient, o as connectionActorKey, p as connectionActorKeyString, q as getRuntimePolicy } from '../assembly-
|
|
1
|
+
import { a as PeerReconciliationStats } from '../assembly-DvfsYFCL.js';
|
|
2
|
+
export { D as ConnectionActor, d as ConnectionActorError, e as ConnectionActorErrorKind, f as ConnectionActorKey, g as ConnectionActorOptions, h as ConnectionActorState, i as ConnectionActors, j as ConnectionClose, k as ConnectionDial, l as LogicalChannel, P as PolicySnapshot, m as PreferredTransport, n as RUNTIME_POLICY, R as RuntimeClient, o as connectionActorKey, p as connectionActorKeyString, q as getRuntimePolicy } from '../assembly-DvfsYFCL.js';
|
|
3
3
|
import { Client as Client$1 } from '../coreClient.js';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
export {
|
|
9
|
-
import { R as RuntimeCapabilities } from '../capabilities-BPuynml5.js';
|
|
10
|
-
export { B as BROWSER_CAPABILITIES, a as CapabilityHost, C as CapabilityProfile, N as NATIVE_CAPABILITIES, b as NativeRuntimeStatus, c as RuntimeAdapterKind, T as TransportStatus, d as browserCapabilities, e as capabilityProfile, f as cloneCapabilities, s as statusCapabilities } from '../capabilities-BPuynml5.js';
|
|
4
|
+
import { c as Avenue } from '../types-Cyc-mPjk.js';
|
|
5
|
+
import { aB as SignalingOptions, U as ISignalingBackend, V as RuntimeIdentity, W as RoomMember, _ as SignalingEnvelope, a1 as SignalingSession, X as Device, a0 as DesiredPeerProjection, ae as BackendConnectionState, ay as AppLimits, G as GrantScope, j as Connection, aC as JoinRoomOptions, aD as ChannelMetadata, as as CryptoStreams, aE as RoomCreationMode, Q as ClientOptions, ar as PayloadCrypto, K as DiscoveryMode, aF as ProtocolCapabilityMap, aG as ScanningLoopOptions, aH as ScanningLoopHandle, aI as RuntimeBootstrapOptions, aJ as RuntimeBootstrapResult, aK as ApplicationPayloadReadinessOptions, aL as ManagedApplicationRouteOptions, aM as PeerState, aN as PeerScope, aO as PeerHealth, aP as ChannelDescriptor, aQ as JoinRequest, ac as NativeConnectParams, ad as NativeConnectResult, az as ConnectionTarget, A as RawConnection } from '../Connection-CTpuImO-.js';
|
|
6
|
+
export { aR as AutoConnectPolicy, aj as BrowserProtocolStore, C as ChannelDescriptor, aS as ChannelFraming, t as ConnectionEvent, r as ConnectionState, aT as ConnectionStatus, v as DeviceConnectOptions, aU as DevicePresence, z as DeviceProfile, D as DeviceStatus, I as IncomingStream, am as IrohDocEntry, al as IrohMutationReceipt, J as JoinRoomOptions, L as LocalDeviceInfo, M as ManagedOptions, u as ManagedSession, ak as NamespaceDescriptor, aV as PayloadRouteOptions, i as PeerConnectOptions, aW as PeerLifecycleStatus, l as PeerReadiness, aX as PeerSessionSnapshot, o as PeerStreamOptions, aa as PortableMediaChunk, ab as PortableMediaControl, a8 as PortableMediaPublicationStart, a7 as PortableMediaPublish, a9 as PortableMediaSample, aA as PresenceLoopOptions, aY as PresencePolicy, s as ReadinessOptions, aZ as RuntimeAuthContext, aw as RuntimeAuthIdentity, H as RuntimeClientOptions, p as RuntimeDevice, m as RuntimePeerHealth, a_ as RuntimePeerScope, h as RuntimePeerState, B as RuntimeRoomMember, ax as RuntimeSession, S as ScopedChannelOptions, q as ScopedLogicalChannel, a$ as SessionKind, b0 as SessionPlatform } from '../Connection-CTpuImO-.js';
|
|
7
|
+
import { R as RuntimeCapabilities } from '../capabilities-CmzzxSvW.js';
|
|
8
|
+
export { B as BROWSER_CAPABILITIES, a as CapabilityHost, b as CapabilityMaturity, C as CapabilityProfile, N as NATIVE_CAPABILITIES, c as NativeRuntimeStatus, P as ProductCapabilityMaturity, d as RuntimeAdapterKind, T as TransportStatus, e as browserCapabilities, f as capabilityProfile, g as cloneCapabilities, s as statusCapabilities } from '../capabilities-CmzzxSvW.js';
|
|
11
9
|
export { DeviceActiveOptions, isDeviceActive, isDeviceConnectable, isDeviceRoutable } from './device-status.js';
|
|
12
|
-
export { a as IpcAdapterOptions, I as IpcRuntimeAdapter } from '../IpcRuntimeAdapter-
|
|
13
|
-
export { P as NativeBridge, N as NativeIpcFailureKind, P as PlutoIpcBridge, a as PlutoIpcUnlisten, c as classifyIpcFailure, i as isIpcUnavailable } from '../ipc-
|
|
14
|
-
import '../DelegatingRuntimeAdapter-
|
|
10
|
+
export { a as IpcAdapterOptions, I as IpcRuntimeAdapter } from '../IpcRuntimeAdapter-Ddx0MtSI.js';
|
|
11
|
+
export { P as NativeBridge, N as NativeIpcFailureKind, P as PlutoIpcBridge, a as PlutoIpcUnlisten, c as classifyIpcFailure, i as isIpcUnavailable } from '../ipc-DgzKqHH3.js';
|
|
12
|
+
import '../DelegatingRuntimeAdapter-D67Ozqo3.js';
|
|
15
13
|
|
|
16
14
|
declare class Signaling {
|
|
17
15
|
private readonly appTag;
|
|
@@ -54,7 +52,7 @@ declare class Signaling {
|
|
|
54
52
|
startAutoConnect(userId: string, localDeviceId: string): void;
|
|
55
53
|
submitDesiredPeerProjection(revision: number, peers: DesiredPeerProjection[]): Promise<void>;
|
|
56
54
|
notifyDisconnectRequested(remoteNodeId: string): void;
|
|
57
|
-
startPresenceLoop(userId: string, localNodeId: string, deviceName: string, ticket: string, metadata?: string): void
|
|
55
|
+
startPresenceLoop(userId: string, localNodeId: string, deviceName: string, ticket: string, metadata?: string): Promise<void>;
|
|
58
56
|
forceReconnect(): void;
|
|
59
57
|
isConnected(nodeId: string): Promise<boolean>;
|
|
60
58
|
getConnectionStates(): Promise<BackendConnectionState[]>;
|
|
@@ -71,142 +69,6 @@ type CapabilityRuntime = Client$1;
|
|
|
71
69
|
*/
|
|
72
70
|
declare function runtimeForCapability(handle: Avenue): CapabilityRuntime;
|
|
73
71
|
|
|
74
|
-
interface MoQSubscriberOptions {
|
|
75
|
-
maxPendingSubscriptions?: number;
|
|
76
|
-
maxSubscribeRetries?: number;
|
|
77
|
-
subscribeRetryDelayMs?: number;
|
|
78
|
-
maxBufferedGroupsPerTrack?: number;
|
|
79
|
-
maxBufferedFramesPerGroup?: number;
|
|
80
|
-
maxBufferedBytesPerTrack?: number;
|
|
81
|
-
maxObjectPayloadBytes?: number;
|
|
82
|
-
onSubscriptionTerminated?: (namespace: string, name: string, error: unknown) => void;
|
|
83
|
-
}
|
|
84
|
-
/** Draft-14 subscriber facade; session reconnect remains owned by MoQController. */
|
|
85
|
-
declare class MoQSubscriber {
|
|
86
|
-
private readonly session;
|
|
87
|
-
private readonly onObject;
|
|
88
|
-
private readonly subscriptions;
|
|
89
|
-
private readonly maxSubscriptions;
|
|
90
|
-
private readonly maxSubscribeRetries;
|
|
91
|
-
private readonly subscribeRetryDelayMs;
|
|
92
|
-
private readonly maxObjectPayloadBytes;
|
|
93
|
-
private readonly onSubscriptionTerminated?;
|
|
94
|
-
private closed;
|
|
95
|
-
constructor(session: MoQSession, onObject: (trackNamespace: string, trackName: string, object: Uint8Array, metadata: unknown) => void, options?: MoQSubscriberOptions);
|
|
96
|
-
subscribe(namespace: string, name: string): Promise<void>;
|
|
97
|
-
close(): void;
|
|
98
|
-
private consume;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
interface TransportInterface {
|
|
102
|
-
createBidirectionalStream(): Promise<{
|
|
103
|
-
readable: ReadableStream<Uint8Array>;
|
|
104
|
-
writable: WritableStream<Uint8Array>;
|
|
105
|
-
}>;
|
|
106
|
-
createUnidirectionalStream(): Promise<WritableStream<Uint8Array>>;
|
|
107
|
-
incomingBidirectionalStreams: ReadableStream<unknown>;
|
|
108
|
-
incomingUnidirectionalStreams: ReadableStream<ReadableStream<Uint8Array>>;
|
|
109
|
-
close(): void;
|
|
110
|
-
ready: Promise<void>;
|
|
111
|
-
}
|
|
112
|
-
interface MoQSessionOptions {
|
|
113
|
-
onSubscriptionTerminated?: (namespace: string, name: string, error: unknown) => void;
|
|
114
|
-
}
|
|
115
|
-
interface MoQDatagramDuplex {
|
|
116
|
-
readonly maxDatagramSize?: number;
|
|
117
|
-
readonly readable: ReadableStream<Uint8Array>;
|
|
118
|
-
readonly writable: WritableStream<Uint8Array>;
|
|
119
|
-
close(): void;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Draft-14 MoQT adapter. The OpenRTC controller owns reconnect and lifecycle;
|
|
123
|
-
* this class owns only one negotiated relay session and its protocol handles.
|
|
124
|
-
*/
|
|
125
|
-
declare class MoQSession {
|
|
126
|
-
readonly transport: TransportInterface;
|
|
127
|
-
private readonly relayUrl;
|
|
128
|
-
readonly publisher: MoQPublisher;
|
|
129
|
-
readonly subscriber: MoQSubscriber;
|
|
130
|
-
setupComplete: boolean;
|
|
131
|
-
private connection;
|
|
132
|
-
private closeListeners;
|
|
133
|
-
private closed;
|
|
134
|
-
private closeEmitted;
|
|
135
|
-
private setupResolve;
|
|
136
|
-
private readonly setupPromise;
|
|
137
|
-
constructor(transport: TransportInterface, onObject?: (ns: string, name: string, obj: Uint8Array, meta: unknown) => void, role?: number, relayUrl?: URL, options?: MoQSessionOptions);
|
|
138
|
-
requireConnection(): Draft14.Connection.Established;
|
|
139
|
-
/**
|
|
140
|
-
* Open the patched Draft 14 object-datagram surface used only by the Iroh
|
|
141
|
-
* packet carrier. Existing application-data publishing remains on subgroup
|
|
142
|
-
* streams and never shares readiness with this duplex.
|
|
143
|
-
*/
|
|
144
|
-
openDatagramDuplex(publishNamespace: string, subscribeNamespace: string, trackName: string): Promise<MoQDatagramDuplex>;
|
|
145
|
-
init(): Promise<void>;
|
|
146
|
-
waitForSetup(): Promise<void>;
|
|
147
|
-
onClose(callback: (reason?: unknown) => void): () => void;
|
|
148
|
-
close(): void;
|
|
149
|
-
private emitClose;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
interface MoQPublisherOptions {
|
|
153
|
-
maxPendingAnnounces?: number;
|
|
154
|
-
announceTimeoutMs?: number;
|
|
155
|
-
maxSubscribedTracks?: number;
|
|
156
|
-
maxActivePublishers?: number;
|
|
157
|
-
maxTrackIdChars?: number;
|
|
158
|
-
/**
|
|
159
|
-
* Reject an application object before it reaches a relay track. This must
|
|
160
|
-
* match the receiver-side default so browser and native clients apply the
|
|
161
|
-
* same hard egress boundary.
|
|
162
|
-
*/
|
|
163
|
-
maxObjectPayloadBytes?: number;
|
|
164
|
-
}
|
|
165
|
-
interface TrackPublisher {
|
|
166
|
-
close(): void;
|
|
167
|
-
push(data: Uint8Array, init: {
|
|
168
|
-
isKey: boolean;
|
|
169
|
-
timestamp: number;
|
|
170
|
-
closeAfterPush?: boolean;
|
|
171
|
-
}): Promise<void>;
|
|
172
|
-
}
|
|
173
|
-
/** Draft-14 publisher facade preserving OpenRTC's existing data-track API. */
|
|
174
|
-
declare class MoQPublisher {
|
|
175
|
-
private readonly session;
|
|
176
|
-
private readonly namespaces;
|
|
177
|
-
private readonly activePublishers;
|
|
178
|
-
private readonly maxNamespaces;
|
|
179
|
-
private readonly maxSubscribedTracks;
|
|
180
|
-
private readonly maxActivePublishers;
|
|
181
|
-
private readonly maxTrackIdChars;
|
|
182
|
-
private readonly maxObjectPayloadBytes;
|
|
183
|
-
private closed;
|
|
184
|
-
constructor(session: MoQSession, options?: MoQPublisherOptions);
|
|
185
|
-
announce(namespace: string): Promise<void>;
|
|
186
|
-
hasNamespace(namespace: string): boolean;
|
|
187
|
-
hasTrackSubscriber(namespace: string, name: string): boolean;
|
|
188
|
-
createTrack(namespace: string, name: string): Promise<TrackPublisher>;
|
|
189
|
-
close(): void;
|
|
190
|
-
private acceptTrackRequests;
|
|
191
|
-
private totalSubscriberCount;
|
|
192
|
-
private resolveTrackId;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Browser MoQ session controller.
|
|
197
|
-
*
|
|
198
|
-
* Owns the WebTransport-backed MoQ relay session, reconnect state, peer
|
|
199
|
-
* subscriptions, and direct MoQ data helpers. `Client` remains the facade so
|
|
200
|
-
* existing SDK calls and test spies keep working while MoQ stops contributing
|
|
201
|
-
* more lifecycle state to the god object.
|
|
202
|
-
*/
|
|
203
|
-
|
|
204
|
-
type MoQBundle = {
|
|
205
|
-
session: MoQSession;
|
|
206
|
-
publisher: MoQPublisher;
|
|
207
|
-
subscriber: MoQSubscriber;
|
|
208
|
-
};
|
|
209
|
-
|
|
210
72
|
interface RoomClientHost {
|
|
211
73
|
wasmClient: any;
|
|
212
74
|
roomCreationMode: 'client-open' | 'client-auth' | 'server-only';
|
|
@@ -251,11 +113,14 @@ type ProtocolHint = 'control' | 'explicit' | 'native-main' | 'unknown';
|
|
|
251
113
|
type IncomingStreamEvent = {
|
|
252
114
|
type: 'bi' | 'uni';
|
|
253
115
|
stream: any;
|
|
116
|
+
connectionId?: string;
|
|
254
117
|
remoteNodeId: string;
|
|
255
118
|
transportStableId?: number;
|
|
256
119
|
traceId?: string;
|
|
257
120
|
protocolHint?: ProtocolHint;
|
|
258
121
|
channel?: ChannelMetadata | null;
|
|
122
|
+
applicationAuthorized?: boolean;
|
|
123
|
+
admissionCandidate?: boolean;
|
|
259
124
|
applicationCrypto?: CryptoStreams;
|
|
260
125
|
invalid?: boolean;
|
|
261
126
|
};
|
|
@@ -318,18 +183,11 @@ declare class Client {
|
|
|
318
183
|
subscribeSessions(localDeviceId: string, callback: (session: SignalingSession) => void | Promise<void>): Promise<() => void>;
|
|
319
184
|
startScanningLoop(options: ScanningLoopOptions): Promise<ScanningLoopHandle>;
|
|
320
185
|
bootstrapRuntime(options: RuntimeBootstrapOptions): Promise<RuntimeBootstrapResult>;
|
|
321
|
-
updateTransportConfig(transports: ClientOptions['transports']): void
|
|
186
|
+
updateTransportConfig(transports: ClientOptions['transports']): Promise<void>;
|
|
322
187
|
init(): Promise<void>;
|
|
323
188
|
ensureAuthenticated(reason: 'init' | 'room-op' | 'discovery'): Promise<void>;
|
|
324
189
|
refreshRuntimeAuthToken(reason?: 'runtime-start' | 'managed-session'): Promise<void>;
|
|
325
|
-
get moqState(): string;
|
|
326
|
-
get moq(): MoQBundle | null;
|
|
327
|
-
onMoQReady(cb: () => void): () => void;
|
|
328
|
-
onMoQFailed(cb: () => void): () => void;
|
|
329
190
|
refreshTransportCapabilities(reason?: string): Promise<void>;
|
|
330
|
-
onMoQObject(callback: (ns: string, name: string, obj: Uint8Array, meta: any) => void): () => void;
|
|
331
|
-
subscribeMoQPeer(connection: Connection): void;
|
|
332
|
-
subscribeMoQPeerNode(peerId: string, subscriptionKey?: string): void;
|
|
333
191
|
connect(ticket: string, timeoutMs?: number, expectedDeviceId?: string | null, channelId?: string, options?: {
|
|
334
192
|
admissionAlreadyPresented?: boolean;
|
|
335
193
|
approvedScope?: string | null;
|
|
@@ -413,10 +271,6 @@ declare class Client {
|
|
|
413
271
|
listChannels(): ChannelDescriptor[];
|
|
414
272
|
onChannelStream(channelId: string, callback: (stream: IncomingStreamEvent) => boolean | void): () => void;
|
|
415
273
|
onRoomJoinRequest(callback: (request: JoinRequest) => void): () => void;
|
|
416
|
-
isMoQDataReady(peerId: string | null): boolean;
|
|
417
|
-
sendMoQData(peerId: string | null, data: Uint8Array, options?: {
|
|
418
|
-
alreadyProtected?: boolean;
|
|
419
|
-
}): Promise<void>;
|
|
420
274
|
}
|
|
421
275
|
|
|
422
276
|
/**
|
package/dist/runtime/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as
|
|
1
|
+
export{a as isDeviceActive,c as isDeviceConnectable,b as isDeviceRoutable}from'../chunk-CK6WQV7J.js';export{h as ConnectionActor,e as ConnectionActorError,i as ConnectionActors,a as ConnectionController,s as IpcRuntimeAdapter,r as RuntimeClient,d as clog,p as concatRuntimeBytes,f as connectionActorKey,g as connectionActorKeyString,o as createJsonDecoder,k as createU32Decoder,m as decodeJsonPayload,n as encodeJsonFrame,l as encodeJsonPayload,j as encodeU32Frame,c as grantCorrelation,q as readRuntimeU32BE,b as renderCorrelation}from'../chunk-2K47N3QP.js';import'../chunk-BGWJHPBC.js';import'../chunk-FEF3DPPB.js';export{q as BROWSER_CAPABILITIES,r as NATIVE_CAPABILITIES,o as RUNTIME_POLICY,t as browserCapabilities,v as capabilityProfile,s as cloneCapabilities,p as getRuntimePolicy,h as logTeardownTrace,d as openRtcDebug,c as openRtcDebugEnabled,e as openRtcDebugInfo,f as openRtcDebugLog,u as statusCapabilities}from'../chunk-GTHSRQ7Y.js';import'../chunk-XTYALGJN.js';import'../chunk-TYZS5LXQ.js';import'../chunk-OT7IPLZE.js';import'../chunk-OWKAJPOI.js';export{a as classifyIpcFailure,b as isIpcUnavailable}from'../chunk-72NEEJQG.js';export{a as runtimeFromCapability}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';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { AuthorityAssignmentInput, AuthorityInterestAssignment, AuthorityServiceGrant, AuthorityServiceGrantRequest, Ed25519Signer } from './service-node.js';
|
|
2
|
+
import './types-Cyc-mPjk.js';
|
|
3
|
+
import './coreClient.js';
|
|
4
|
+
import './assembly-DvfsYFCL.js';
|
|
5
|
+
import './Connection-CTpuImO-.js';
|
|
6
|
+
import './capabilities-CmzzxSvW.js';
|
|
7
|
+
|
|
8
|
+
/** Browser export for `openrtc/server`; secret-bearing helpers are unavailable. */
|
|
9
|
+
|
|
10
|
+
declare class AuthorityServiceControlPlane {
|
|
11
|
+
constructor();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { AuthorityServiceControlPlane };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=class{constructor(){throw new Error("[OpenRTC] openrtc/server is unavailable in browsers; request a delegated grant from your backend.")}};export{e as AuthorityServiceControlPlane};
|