@agatx/serenada-core 0.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ConsoleLogger.d.ts +6 -0
- package/dist/ConsoleLogger.d.ts.map +1 -0
- package/dist/ConsoleLogger.js +21 -0
- package/dist/ConsoleLogger.js.map +1 -0
- package/dist/RoomWatcher.d.ts +34 -0
- package/dist/RoomWatcher.d.ts.map +1 -0
- package/dist/RoomWatcher.js +103 -0
- package/dist/RoomWatcher.js.map +1 -0
- package/dist/SerenadaCore.d.ts +47 -0
- package/dist/SerenadaCore.d.ts.map +1 -0
- package/dist/SerenadaCore.js +141 -0
- package/dist/SerenadaCore.js.map +1 -0
- package/dist/SerenadaDiagnostics.d.ts +49 -0
- package/dist/SerenadaDiagnostics.d.ts.map +1 -0
- package/dist/SerenadaDiagnostics.js +421 -0
- package/dist/SerenadaDiagnostics.js.map +1 -0
- package/dist/SerenadaServerProvider.d.ts +48 -0
- package/dist/SerenadaServerProvider.d.ts.map +1 -0
- package/dist/SerenadaServerProvider.js +296 -0
- package/dist/SerenadaServerProvider.js.map +1 -0
- package/dist/SerenadaSession.d.ts +180 -0
- package/dist/SerenadaSession.d.ts.map +1 -0
- package/dist/SerenadaSession.js +1082 -0
- package/dist/SerenadaSession.js.map +1 -0
- package/dist/SignalingProvider.d.ts +132 -0
- package/dist/SignalingProvider.d.ts.map +1 -0
- package/dist/SignalingProvider.js +50 -0
- package/dist/SignalingProvider.js.map +1 -0
- package/dist/api/roomApi.d.ts +2 -0
- package/dist/api/roomApi.d.ts.map +1 -0
- package/dist/api/roomApi.js +14 -0
- package/dist/api/roomApi.js.map +1 -0
- package/dist/cameraModes.d.ts +13 -0
- package/dist/cameraModes.d.ts.map +1 -0
- package/dist/cameraModes.js +35 -0
- package/dist/cameraModes.js.map +1 -0
- package/dist/configValidation.d.ts +10 -0
- package/dist/configValidation.d.ts.map +1 -0
- package/dist/configValidation.js +24 -0
- package/dist/configValidation.js.map +1 -0
- package/dist/constants.d.ts +33 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +65 -0
- package/dist/constants.js.map +1 -0
- package/dist/formatError.d.ts +3 -0
- package/dist/formatError.d.ts.map +1 -0
- package/dist/formatError.js +7 -0
- package/dist/formatError.js.map +1 -0
- package/dist/iceServers.d.ts +2 -0
- package/dist/iceServers.d.ts.map +1 -0
- package/dist/iceServers.js +21 -0
- package/dist/iceServers.js.map +1 -0
- package/dist/index.d.ts +55 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/computeLayout.d.ts +81 -0
- package/dist/layout/computeLayout.d.ts.map +1 -0
- package/dist/layout/computeLayout.js +380 -0
- package/dist/layout/computeLayout.js.map +1 -0
- package/dist/media/AudioLevelMonitor.d.ts +51 -0
- package/dist/media/AudioLevelMonitor.d.ts.map +1 -0
- package/dist/media/AudioLevelMonitor.js +179 -0
- package/dist/media/AudioLevelMonitor.js.map +1 -0
- package/dist/media/MediaEngine.d.ts +137 -0
- package/dist/media/MediaEngine.d.ts.map +1 -0
- package/dist/media/MediaEngine.js +1224 -0
- package/dist/media/MediaEngine.js.map +1 -0
- package/dist/media/callStats.d.ts +16 -0
- package/dist/media/callStats.d.ts.map +1 -0
- package/dist/media/callStats.js +214 -0
- package/dist/media/callStats.js.map +1 -0
- package/dist/media/localVideoRecovery.d.ts +16 -0
- package/dist/media/localVideoRecovery.d.ts.map +1 -0
- package/dist/media/localVideoRecovery.js +14 -0
- package/dist/media/localVideoRecovery.js.map +1 -0
- package/dist/recoveryStorage.d.ts +33 -0
- package/dist/recoveryStorage.d.ts.map +1 -0
- package/dist/recoveryStorage.js +88 -0
- package/dist/recoveryStorage.js.map +1 -0
- package/dist/serverUrls.d.ts +8 -0
- package/dist/serverUrls.d.ts.map +1 -0
- package/dist/serverUrls.js +65 -0
- package/dist/serverUrls.js.map +1 -0
- package/dist/signaling/SignalingEngine.d.ts +126 -0
- package/dist/signaling/SignalingEngine.d.ts.map +1 -0
- package/dist/signaling/SignalingEngine.js +720 -0
- package/dist/signaling/SignalingEngine.js.map +1 -0
- package/dist/signaling/payloads.d.ts +76 -0
- package/dist/signaling/payloads.d.ts.map +1 -0
- package/dist/signaling/payloads.js +160 -0
- package/dist/signaling/payloads.js.map +1 -0
- package/dist/signaling/roomStatuses.d.ts +9 -0
- package/dist/signaling/roomStatuses.d.ts.map +1 -0
- package/dist/signaling/roomStatuses.js +71 -0
- package/dist/signaling/roomStatuses.js.map +1 -0
- package/dist/signaling/transportConfig.d.ts +3 -0
- package/dist/signaling/transportConfig.d.ts.map +1 -0
- package/dist/signaling/transportConfig.js +27 -0
- package/dist/signaling/transportConfig.js.map +1 -0
- package/dist/signaling/transports/index.d.ts +13 -0
- package/dist/signaling/transports/index.d.ts.map +1 -0
- package/dist/signaling/transports/index.js +11 -0
- package/dist/signaling/transports/index.js.map +1 -0
- package/dist/signaling/transports/sse.d.ts +26 -0
- package/dist/signaling/transports/sse.d.ts.map +1 -0
- package/dist/signaling/transports/sse.js +131 -0
- package/dist/signaling/transports/sse.js.map +1 -0
- package/dist/signaling/transports/types.d.ts +17 -0
- package/dist/signaling/transports/types.d.ts.map +1 -0
- package/dist/signaling/transports/types.js +2 -0
- package/dist/signaling/transports/types.js.map +1 -0
- package/dist/signaling/transports/ws.d.ts +21 -0
- package/dist/signaling/transports/ws.d.ts.map +1 -0
- package/dist/signaling/transports/ws.js +93 -0
- package/dist/signaling/transports/ws.js.map +1 -0
- package/dist/signaling/types.d.ts +53 -0
- package/dist/signaling/types.d.ts.map +1 -0
- package/dist/signaling/types.js +2 -0
- package/dist/signaling/types.js.map +1 -0
- package/dist/types.d.ts +279 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +43 -0
- package/src/ConsoleLogger.ts +14 -0
- package/src/RoomWatcher.ts +127 -0
- package/src/SerenadaCore.ts +163 -0
- package/src/SerenadaDiagnostics.ts +485 -0
- package/src/SerenadaServerProvider.ts +362 -0
- package/src/SerenadaSession.ts +1258 -0
- package/src/SignalingProvider.ts +207 -0
- package/src/api/roomApi.ts +16 -0
- package/src/cameraModes.ts +34 -0
- package/src/configValidation.ts +35 -0
- package/src/constants.ts +77 -0
- package/src/formatError.ts +5 -0
- package/src/iceServers.ts +20 -0
- package/src/index.ts +155 -0
- package/src/layout/computeLayout.ts +639 -0
- package/src/media/AudioLevelMonitor.ts +190 -0
- package/src/media/MediaEngine.ts +1183 -0
- package/src/media/callStats.ts +260 -0
- package/src/media/localVideoRecovery.ts +39 -0
- package/src/recoveryStorage.ts +101 -0
- package/src/serverUrls.ts +69 -0
- package/src/signaling/SignalingEngine.ts +762 -0
- package/src/signaling/payloads.ts +215 -0
- package/src/signaling/roomStatuses.ts +89 -0
- package/src/signaling/transportConfig.ts +30 -0
- package/src/signaling/transports/index.ts +26 -0
- package/src/signaling/transports/sse.ts +146 -0
- package/src/signaling/transports/types.ts +19 -0
- package/src/signaling/transports/ws.ts +108 -0
- package/src/signaling/types.ts +68 -0
- package/src/types.ts +299 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SerenadaSession.js","sourceRoot":"","sources":["../src/SerenadaSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import type { ParticipantConnectionStatus } from './signaling/types.js';
|
|
2
|
+
export interface ProviderCapabilities {
|
|
3
|
+
handlesReconnection?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface ConnectionInfo {
|
|
6
|
+
transport?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface JoinOptions {
|
|
9
|
+
reconnectPeerId?: string;
|
|
10
|
+
maxParticipants?: number;
|
|
11
|
+
displayName?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Host-supplied stable identity. Distinct from `peerId`/cid (which is per-call
|
|
14
|
+
* and server-issued) — lets host applications correlate a participant to
|
|
15
|
+
* their own user identity (avatar lookup, telemetry).
|
|
16
|
+
*/
|
|
17
|
+
appPeerId?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface SignalingProviderParticipant {
|
|
20
|
+
peerId: string;
|
|
21
|
+
joinedAt?: number;
|
|
22
|
+
displayName?: string;
|
|
23
|
+
/** Host-supplied stable identity — see {@link JoinOptions.appPeerId}. */
|
|
24
|
+
appPeerId?: string;
|
|
25
|
+
audioEnabled?: boolean;
|
|
26
|
+
videoEnabled?: boolean;
|
|
27
|
+
connectionStatus?: ParticipantConnectionStatus;
|
|
28
|
+
}
|
|
29
|
+
export interface JoinedEvent {
|
|
30
|
+
peerId: string;
|
|
31
|
+
participants: SignalingProviderParticipant[];
|
|
32
|
+
hostPeerId?: string;
|
|
33
|
+
maxParticipants?: number;
|
|
34
|
+
}
|
|
35
|
+
export interface RoomStateEvent {
|
|
36
|
+
participants: SignalingProviderParticipant[];
|
|
37
|
+
hostPeerId?: string;
|
|
38
|
+
maxParticipants?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface PeerEvent {
|
|
41
|
+
peerId: string;
|
|
42
|
+
joinedAt?: number;
|
|
43
|
+
displayName?: string;
|
|
44
|
+
/** Host-supplied stable identity — see {@link JoinOptions.appPeerId}. */
|
|
45
|
+
appPeerId?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface PeerMessage {
|
|
48
|
+
from: string;
|
|
49
|
+
type: string;
|
|
50
|
+
payload: unknown;
|
|
51
|
+
}
|
|
52
|
+
export interface RoomEndedEvent {
|
|
53
|
+
by?: string;
|
|
54
|
+
reason: string;
|
|
55
|
+
}
|
|
56
|
+
export interface SignalingErrorEvent {
|
|
57
|
+
code: string;
|
|
58
|
+
message: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Server tells an active peer that a previously-suspended peer has reattached
|
|
62
|
+
* AND there was pending negotiation traffic to it during the suspension. The
|
|
63
|
+
* SDK should perform glare-safe fresh negotiation / ICE restart for the named
|
|
64
|
+
* CID. The wire payload field `with` is mapped to the explicit `withCid` here
|
|
65
|
+
* to avoid the JavaScript reserved-word association and to match the Android
|
|
66
|
+
* / iOS event shapes.
|
|
67
|
+
*/
|
|
68
|
+
export interface NegotiationDirtyEvent {
|
|
69
|
+
/** The CID that needs fresh renegotiation. */
|
|
70
|
+
withCid: string;
|
|
71
|
+
}
|
|
72
|
+
/** Server tells the sender it could not deliver a relay because the target had no transport. */
|
|
73
|
+
export interface RelayFailedEvent {
|
|
74
|
+
/** Server-assigned reason code, e.g. `"target_suspended"`. */
|
|
75
|
+
reason: string;
|
|
76
|
+
/** Target CIDs the relay could not reach. */
|
|
77
|
+
targets: string[];
|
|
78
|
+
/** Original signaling type that failed, e.g. `"offer" | "answer" | "ice"`. */
|
|
79
|
+
of?: string;
|
|
80
|
+
}
|
|
81
|
+
export interface SignalingProviderEventMap {
|
|
82
|
+
connected: ConnectionInfo | undefined;
|
|
83
|
+
disconnected: string | undefined;
|
|
84
|
+
joined: JoinedEvent;
|
|
85
|
+
roomStateUpdated: RoomStateEvent;
|
|
86
|
+
peerJoined: PeerEvent;
|
|
87
|
+
peerLeft: PeerEvent;
|
|
88
|
+
message: PeerMessage;
|
|
89
|
+
roomEnded: RoomEndedEvent;
|
|
90
|
+
error: SignalingErrorEvent;
|
|
91
|
+
iceServersChanged: RTCIceServer[];
|
|
92
|
+
negotiationDirty: NegotiationDirtyEvent;
|
|
93
|
+
relayFailed: RelayFailedEvent;
|
|
94
|
+
}
|
|
95
|
+
export type SignalingProviderEventName = keyof SignalingProviderEventMap;
|
|
96
|
+
export interface SignalingProvider {
|
|
97
|
+
readonly version: number;
|
|
98
|
+
readonly capabilities?: ProviderCapabilities;
|
|
99
|
+
connect(): void;
|
|
100
|
+
disconnect(): void;
|
|
101
|
+
joinRoom(roomId: string, options?: JoinOptions): void;
|
|
102
|
+
leaveRoom(): void;
|
|
103
|
+
endRoom(): void;
|
|
104
|
+
sendToPeer(peerId: string, type: string, payload: unknown): void;
|
|
105
|
+
broadcast(type: string, payload: unknown): void;
|
|
106
|
+
getIceServers(): Promise<RTCIceServer[]>;
|
|
107
|
+
/**
|
|
108
|
+
* Optional hook: install a gate that returns `false` to skip a scheduled
|
|
109
|
+
* TURN-credential refresh. Providers without periodic refresh (e.g.,
|
|
110
|
+
* loopback/test) may omit this.
|
|
111
|
+
*/
|
|
112
|
+
setTurnRefreshGate?(gate: (() => Promise<boolean>) | null): void;
|
|
113
|
+
on<K extends SignalingProviderEventName>(event: K, cb: (data: SignalingProviderEventMap[K]) => void): void;
|
|
114
|
+
off<K extends SignalingProviderEventName>(event: K, cb: (data: SignalingProviderEventMap[K]) => void): void;
|
|
115
|
+
}
|
|
116
|
+
export declare class SignalingProviderEmitter implements SignalingProvider {
|
|
117
|
+
readonly version = 1;
|
|
118
|
+
readonly capabilities?: ProviderCapabilities;
|
|
119
|
+
private readonly listeners;
|
|
120
|
+
connect(): void;
|
|
121
|
+
disconnect(): void;
|
|
122
|
+
joinRoom(_roomId: string, _options?: JoinOptions): void;
|
|
123
|
+
leaveRoom(): void;
|
|
124
|
+
endRoom(): void;
|
|
125
|
+
sendToPeer(_peerId: string, _type: string, _payload: unknown): void;
|
|
126
|
+
broadcast(_type: string, _payload: unknown): void;
|
|
127
|
+
getIceServers(): Promise<RTCIceServer[]>;
|
|
128
|
+
on<K extends SignalingProviderEventName>(event: K, cb: (data: SignalingProviderEventMap[K]) => void): void;
|
|
129
|
+
off<K extends SignalingProviderEventName>(event: K, cb: (data: SignalingProviderEventMap[K]) => void): void;
|
|
130
|
+
protected emit<K extends SignalingProviderEventName>(event: K, data: SignalingProviderEventMap[K]): void;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=SignalingProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignalingProvider.d.ts","sourceRoot":"","sources":["../src/SignalingProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export class SignalingProviderEmitter {
|
|
2
|
+
version = 1;
|
|
3
|
+
capabilities;
|
|
4
|
+
listeners = new Map();
|
|
5
|
+
connect() {
|
|
6
|
+
throw new Error('Not implemented');
|
|
7
|
+
}
|
|
8
|
+
disconnect() {
|
|
9
|
+
throw new Error('Not implemented');
|
|
10
|
+
}
|
|
11
|
+
joinRoom(_roomId, _options) {
|
|
12
|
+
throw new Error('Not implemented');
|
|
13
|
+
}
|
|
14
|
+
leaveRoom() {
|
|
15
|
+
throw new Error('Not implemented');
|
|
16
|
+
}
|
|
17
|
+
endRoom() {
|
|
18
|
+
throw new Error('Not implemented');
|
|
19
|
+
}
|
|
20
|
+
sendToPeer(_peerId, _type, _payload) {
|
|
21
|
+
throw new Error('Not implemented');
|
|
22
|
+
}
|
|
23
|
+
broadcast(_type, _payload) {
|
|
24
|
+
throw new Error('Not implemented');
|
|
25
|
+
}
|
|
26
|
+
async getIceServers() {
|
|
27
|
+
throw new Error('Not implemented');
|
|
28
|
+
}
|
|
29
|
+
on(event, cb) {
|
|
30
|
+
let listeners = this.listeners.get(event);
|
|
31
|
+
if (!listeners) {
|
|
32
|
+
listeners = new Set();
|
|
33
|
+
this.listeners.set(event, listeners);
|
|
34
|
+
}
|
|
35
|
+
listeners.add(cb);
|
|
36
|
+
}
|
|
37
|
+
off(event, cb) {
|
|
38
|
+
this.listeners.get(event)?.delete(cb);
|
|
39
|
+
}
|
|
40
|
+
emit(event, data) {
|
|
41
|
+
const listeners = this.listeners.get(event);
|
|
42
|
+
if (!listeners) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
for (const listener of listeners) {
|
|
46
|
+
listener(data);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=SignalingProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignalingProvider.js","sourceRoot":"","sources":["../src/SignalingProvider.ts"],"names":[],"mappings":"AA0IA,MAAM,OAAO,wBAAwB;IACxB,OAAO,GAAG,CAAC,CAAC;IACZ,YAAY,CAAwB;IAC5B,SAAS,GAAG,IAAI,GAAG,EAA4D,CAAC;IAEjG,OAAO;QACH,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,UAAU;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,QAAsB;QAC5C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,SAAS;QACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACH,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,OAAe,EAAE,KAAa,EAAE,QAAiB;QACxD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,QAAiB;QACtC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,EAAE,CACE,KAAQ,EACR,EAAgD;QAEhD,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,EAA6B,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CACC,KAAQ,EACR,EAAgD;QAEhD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAA6B,CAAC,CAAC;IACrE,CAAC;IAES,IAAI,CACV,KAAQ,EACR,IAAkC;QAElC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO;QACX,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roomApi.d.ts","sourceRoot":"","sources":["../../src/api/roomApi.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,MAAM,CAarE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { buildApiUrl } from '../serverUrls.js';
|
|
2
|
+
export const createRoomId = async (serverHost) => {
|
|
3
|
+
const apiUrl = buildApiUrl(serverHost, '/api/room-id');
|
|
4
|
+
const res = await fetch(apiUrl, { method: 'POST' });
|
|
5
|
+
if (!res.ok) {
|
|
6
|
+
throw new Error(`Room ID request failed: ${res.status}`);
|
|
7
|
+
}
|
|
8
|
+
const data = await res.json();
|
|
9
|
+
if (!data?.roomId) {
|
|
10
|
+
throw new Error('Room ID missing from response');
|
|
11
|
+
}
|
|
12
|
+
return data.roomId;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=roomApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roomApi.js","sourceRoot":"","sources":["../../src/api/roomApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,UAAkB,EAAmB,EAAE;IACtE,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEvD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ConfigurableCameraMode } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the configured {@link SerenadaConfig.cameraModes} list into the set
|
|
4
|
+
* of modes actually available on this platform, in the configured order.
|
|
5
|
+
* Web never supports `composite`, so it is silently dropped. `screenShare`
|
|
6
|
+
* is likewise rejected (screen sharing is controlled separately). Duplicates
|
|
7
|
+
* are dropped, preserving the first occurrence. Returning an empty array is
|
|
8
|
+
* valid and signals that video is disabled entirely.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveCameraModes(configured: readonly ConfigurableCameraMode[] | undefined): ConfigurableCameraMode[];
|
|
11
|
+
/** Next mode in the cycle, or `null` if cycling is not possible. */
|
|
12
|
+
export declare function nextCameraMode(modes: readonly ConfigurableCameraMode[], current: ConfigurableCameraMode): ConfigurableCameraMode | null;
|
|
13
|
+
//# sourceMappingURL=cameraModes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cameraModes.d.ts","sourceRoot":"","sources":["../src/cameraModes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,sBAAsB,EAAuB,MAAM,YAAY,CAAC;AAEpG;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,sBAAsB,EAAE,GAAG,SAAS,GAAG,sBAAsB,EAAE,CAYtH;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAC1B,KAAK,EAAE,SAAS,sBAAsB,EAAE,EACxC,OAAO,EAAE,sBAAsB,GAChC,sBAAsB,GAAG,IAAI,CAK/B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DEFAULT_CAMERA_MODES } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the configured {@link SerenadaConfig.cameraModes} list into the set
|
|
4
|
+
* of modes actually available on this platform, in the configured order.
|
|
5
|
+
* Web never supports `composite`, so it is silently dropped. `screenShare`
|
|
6
|
+
* is likewise rejected (screen sharing is controlled separately). Duplicates
|
|
7
|
+
* are dropped, preserving the first occurrence. Returning an empty array is
|
|
8
|
+
* valid and signals that video is disabled entirely.
|
|
9
|
+
*/
|
|
10
|
+
export function resolveCameraModes(configured) {
|
|
11
|
+
const source = configured ?? DEFAULT_CAMERA_MODES;
|
|
12
|
+
const seen = new Set();
|
|
13
|
+
const result = [];
|
|
14
|
+
for (const mode of source) {
|
|
15
|
+
if (mode === 'composite')
|
|
16
|
+
continue;
|
|
17
|
+
if (mode !== 'selfie' && mode !== 'world')
|
|
18
|
+
continue;
|
|
19
|
+
if (seen.has(mode))
|
|
20
|
+
continue;
|
|
21
|
+
seen.add(mode);
|
|
22
|
+
result.push(mode);
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
/** Next mode in the cycle, or `null` if cycling is not possible. */
|
|
27
|
+
export function nextCameraMode(modes, current) {
|
|
28
|
+
if (modes.length <= 1)
|
|
29
|
+
return null;
|
|
30
|
+
const index = modes.indexOf(current);
|
|
31
|
+
if (index === -1)
|
|
32
|
+
return modes[0];
|
|
33
|
+
return modes[(index + 1) % modes.length];
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=cameraModes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cameraModes.js","sourceRoot":"","sources":["../src/cameraModes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAoD,MAAM,YAAY,CAAC;AAEpG;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAyD;IACxF,MAAM,MAAM,GAAG,UAAU,IAAI,oBAAoB,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC/C,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,IAAI,KAAK,WAAW;YAAE,SAAS;QACnC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO;YAAE,SAAS;QACpD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAC1B,KAAwC,EACxC,OAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SignalingProvider } from './SignalingProvider.js';
|
|
2
|
+
import type { SerenadaConfig } from './types.js';
|
|
3
|
+
export declare const SUPPORTED_SIGNALING_PROVIDER_VERSION = 1;
|
|
4
|
+
export interface ResolvedSerenadaConfig {
|
|
5
|
+
serverHost: string | null;
|
|
6
|
+
signalingProvider: SignalingProvider | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function resolveSerenadaConfig(config: SerenadaConfig): ResolvedSerenadaConfig;
|
|
9
|
+
export declare function requireServerHost(config: SerenadaConfig): string;
|
|
10
|
+
//# sourceMappingURL=configValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configValidation.d.ts","sourceRoot":"","sources":["../src/configValidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/C;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,sBAAsB,CAgBpF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAMhE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const SUPPORTED_SIGNALING_PROVIDER_VERSION = 1;
|
|
2
|
+
export function resolveSerenadaConfig(config) {
|
|
3
|
+
const trimmedHost = typeof config.serverHost === 'string' ? config.serverHost.trim() : '';
|
|
4
|
+
const serverHost = trimmedHost.length > 0 ? trimmedHost : null;
|
|
5
|
+
const signalingProvider = config.signalingProvider ?? null;
|
|
6
|
+
if (serverHost && signalingProvider) {
|
|
7
|
+
throw new Error('Provide exactly one of serverHost or signalingProvider');
|
|
8
|
+
}
|
|
9
|
+
if (!serverHost && !signalingProvider) {
|
|
10
|
+
throw new Error('Provide exactly one of serverHost or signalingProvider');
|
|
11
|
+
}
|
|
12
|
+
if (signalingProvider && signalingProvider.version !== SUPPORTED_SIGNALING_PROVIDER_VERSION) {
|
|
13
|
+
throw new Error(`Unsupported signalingProvider version: ${signalingProvider.version}`);
|
|
14
|
+
}
|
|
15
|
+
return { serverHost, signalingProvider };
|
|
16
|
+
}
|
|
17
|
+
export function requireServerHost(config) {
|
|
18
|
+
const { serverHost } = resolveSerenadaConfig(config);
|
|
19
|
+
if (!serverHost) {
|
|
20
|
+
throw new Error('requires serverHost');
|
|
21
|
+
}
|
|
22
|
+
return serverHost;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=configValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configValidation.js","sourceRoot":"","sources":["../src/configValidation.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAOtD,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC;IAE3D,IAAI,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,OAAO,KAAK,oCAAoC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,0CAA0C,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACpD,MAAM,EAAE,UAAU,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical WebRTC resilience constants shared across all Serenada clients.
|
|
3
|
+
* @internal
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
export declare const RECONNECT_BACKOFF_BASE_MS = 500;
|
|
7
|
+
export declare const RECONNECT_BACKOFF_CAP_MS = 5000;
|
|
8
|
+
export declare const CONNECT_TIMEOUT_MS = 2000;
|
|
9
|
+
export declare const PING_INTERVAL_MS = 12000;
|
|
10
|
+
export declare const PONG_MISS_THRESHOLD = 2;
|
|
11
|
+
export declare const WS_FALLBACK_CONSECUTIVE_FAILURES = 3;
|
|
12
|
+
export declare const JOIN_CONNECT_KICKSTART_MS = 1200;
|
|
13
|
+
export declare const JOIN_RECOVERY_MS = 4000;
|
|
14
|
+
export declare const JOIN_HARD_TIMEOUT_MS = 15000;
|
|
15
|
+
export declare const OFFER_TIMEOUT_MS = 8000;
|
|
16
|
+
export declare const ICE_RESTART_COOLDOWN_MS = 10000;
|
|
17
|
+
export declare const NON_HOST_FALLBACK_DELAY_MS = 4000;
|
|
18
|
+
export declare const NON_HOST_FALLBACK_MAX_ATTEMPTS = 2;
|
|
19
|
+
export declare const ICE_CANDIDATE_BUFFER_MAX = 50;
|
|
20
|
+
export declare const TURN_FETCH_TIMEOUT_MS = 2000;
|
|
21
|
+
export declare const TURN_REFRESH_TRIGGER_RATIO = 0.8;
|
|
22
|
+
export declare const ICE_FETCH_RETRY_DELAYS_MS: number[];
|
|
23
|
+
export declare const ENDING_SCREEN_MS = 3000;
|
|
24
|
+
export declare const SNAPSHOT_PREPARE_TIMEOUT_MS = 2000;
|
|
25
|
+
export declare const FOREGROUND_FORCE_PING_TIMEOUT_MS = 2000;
|
|
26
|
+
export declare const EPOCH_RESYNC_TIMEOUT_MS = 5000;
|
|
27
|
+
export declare const PEER_SUSPENDED_UI_TIMEOUT_MS = 30000;
|
|
28
|
+
export declare const SUSPEND_HARD_EVICTION_TIMEOUT_MS = 600000;
|
|
29
|
+
export declare const MEDIA_LIVENESS_INTERVAL_MS = 10000;
|
|
30
|
+
export declare const CONNECTION_RETRYING_DELAY_MS = 10000;
|
|
31
|
+
export declare const LOCAL_VIDEO_RESUME_GAP_MS = 15000;
|
|
32
|
+
export declare const LOCAL_VIDEO_HEARTBEAT_INTERVAL_MS = 5000;
|
|
33
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAGlD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAG1C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAC7C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAG3C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,yBAAyB,UAAwB,CAAC;AAG/D,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAGrC,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAMhD,eAAO,MAAM,gCAAgC,OAAO,CAAC;AAMrD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAQ5C,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAMlD,eAAO,MAAM,gCAAgC,SAAS,CAAC;AAQvD,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAGhD,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAGnD,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,eAAO,MAAM,iCAAiC,OAAQ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical WebRTC resilience constants shared across all Serenada clients.
|
|
3
|
+
* @internal
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
// Signaling
|
|
7
|
+
export const RECONNECT_BACKOFF_BASE_MS = 500;
|
|
8
|
+
export const RECONNECT_BACKOFF_CAP_MS = 5000;
|
|
9
|
+
export const CONNECT_TIMEOUT_MS = 2000;
|
|
10
|
+
export const PING_INTERVAL_MS = 12000;
|
|
11
|
+
export const PONG_MISS_THRESHOLD = 2;
|
|
12
|
+
export const WS_FALLBACK_CONSECUTIVE_FAILURES = 3;
|
|
13
|
+
// Join
|
|
14
|
+
export const JOIN_CONNECT_KICKSTART_MS = 1200;
|
|
15
|
+
export const JOIN_RECOVERY_MS = 4000;
|
|
16
|
+
export const JOIN_HARD_TIMEOUT_MS = 15000;
|
|
17
|
+
// Peer Connection
|
|
18
|
+
export const OFFER_TIMEOUT_MS = 8000;
|
|
19
|
+
export const ICE_RESTART_COOLDOWN_MS = 10000;
|
|
20
|
+
export const NON_HOST_FALLBACK_DELAY_MS = 4000;
|
|
21
|
+
export const NON_HOST_FALLBACK_MAX_ATTEMPTS = 2;
|
|
22
|
+
export const ICE_CANDIDATE_BUFFER_MAX = 50;
|
|
23
|
+
// TURN
|
|
24
|
+
export const TURN_FETCH_TIMEOUT_MS = 2000;
|
|
25
|
+
export const TURN_REFRESH_TRIGGER_RATIO = 0.8;
|
|
26
|
+
export const ICE_FETCH_RETRY_DELAYS_MS = [0, 1000, 2000, 4000];
|
|
27
|
+
// Session
|
|
28
|
+
export const ENDING_SCREEN_MS = 3000;
|
|
29
|
+
// Snapshot
|
|
30
|
+
export const SNAPSHOT_PREPARE_TIMEOUT_MS = 2000;
|
|
31
|
+
// Foreground / Doze recovery
|
|
32
|
+
// After the app returns to foreground from background, the SDK issues a
|
|
33
|
+
// synthetic ping and waits this long for a pong before force-closing the
|
|
34
|
+
// transport and triggering the normal reconnect path.
|
|
35
|
+
export const FOREGROUND_FORCE_PING_TIMEOUT_MS = 2000;
|
|
36
|
+
// Post-reconnect snapshot resync
|
|
37
|
+
// After signaling reconnects, the SDK waits this long for an authoritative
|
|
38
|
+
// `room_state` snapshot before falling back to firing ICE restart against the
|
|
39
|
+
// last-known peer map.
|
|
40
|
+
export const EPOCH_RESYNC_TIMEOUT_MS = 5000;
|
|
41
|
+
// Suspended-peer presentation
|
|
42
|
+
// After a remote peer transitions to `signalingStatus="suspended"`, the SDK
|
|
43
|
+
// starts a per-CID UI presentation timer. When this timer expires the
|
|
44
|
+
// participant is flagged `presumedLost=true` so call UIs can move them out
|
|
45
|
+
// of the active grid. The peer connection itself stays open so media can
|
|
46
|
+
// resume immediately if the peer reattaches.
|
|
47
|
+
export const PEER_SUSPENDED_UI_TIMEOUT_MS = 30000;
|
|
48
|
+
// Server hard-eviction window
|
|
49
|
+
// Mirrors `suspendHardEvictionTimeout` on the Go server. Used SDK-side to
|
|
50
|
+
// compute `estimatedHardEvictionAtMs` for the `signalingState.suspended`
|
|
51
|
+
// surface so apps can render a countdown.
|
|
52
|
+
export const SUSPEND_HARD_EVICTION_TIMEOUT_MS = 600000;
|
|
53
|
+
// Media-liveness emission cadence
|
|
54
|
+
// Active SDKs broadcast `media_liveness{cids:[..]}` every interval for
|
|
55
|
+
// remote CIDs whose inbound media is currently flowing. The server uses
|
|
56
|
+
// this hint to defer hard-eviction of suspended peers whose media is still
|
|
57
|
+
// being received. 10s leaves headroom under the server's 30s freshness
|
|
58
|
+
// window (`mediaLivenessFreshnessWindow`) for missed emissions.
|
|
59
|
+
export const MEDIA_LIVENESS_INTERVAL_MS = 10000;
|
|
60
|
+
// Connection Status
|
|
61
|
+
export const CONNECTION_RETRYING_DELAY_MS = 10_000;
|
|
62
|
+
// Local Video Recovery
|
|
63
|
+
export const LOCAL_VIDEO_RESUME_GAP_MS = 15_000;
|
|
64
|
+
export const LOCAL_VIDEO_HEARTBEAT_INTERVAL_MS = 5_000;
|
|
65
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY;AACZ,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AACtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAElD,OAAO;AACP,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C,kBAAkB;AAClB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAC/C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,OAAO;AACP,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAC9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE/D,UAAU;AACV,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,WAAW;AACX,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEhD,6BAA6B;AAC7B,wEAAwE;AACxE,yEAAyE;AACzE,sDAAsD;AACtD,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AAErD,iCAAiC;AACjC,2EAA2E;AAC3E,8EAA8E;AAC9E,uBAAuB;AACvB,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C,8BAA8B;AAC9B,4EAA4E;AAC5E,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD,8BAA8B;AAC9B,0EAA0E;AAC1E,yEAAyE;AACzE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAEvD,kCAAkC;AAClC,uEAAuE;AACvE,wEAAwE;AACxE,2EAA2E;AAC3E,uEAAuE;AACvE,gEAAgE;AAChE,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD,oBAAoB;AACpB,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD,uBAAuB;AACvB,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAChD,MAAM,CAAC,MAAM,iCAAiC,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatError.d.ts","sourceRoot":"","sources":["../src/formatError.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatError.js","sourceRoot":"","sources":["../src/formatError.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,GAAY;IACpC,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iceServers.d.ts","sourceRoot":"","sources":["../src/iceServers.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,YAAY,EAAE,CAmBlG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function normalizeIceServers(iceServers, turnsOnly) {
|
|
2
|
+
const normalized = [];
|
|
3
|
+
for (const iceServer of iceServers) {
|
|
4
|
+
const urls = Array.isArray(iceServer.urls) ? iceServer.urls : [iceServer.urls];
|
|
5
|
+
const filteredUrls = urls.filter((url) => {
|
|
6
|
+
if (typeof url !== 'string' || url.length === 0) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
return !turnsOnly || url.toLowerCase().startsWith('turns:');
|
|
10
|
+
});
|
|
11
|
+
if (filteredUrls.length === 0) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
normalized.push({
|
|
15
|
+
...iceServer,
|
|
16
|
+
urls: filteredUrls,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return normalized;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=iceServers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iceServers.js","sourceRoot":"","sources":["../src/iceServers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,UAA0B,EAAE,SAAkB;IAC9E,MAAM,UAAU,GAAmB,EAAE,CAAC;IACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE;YACpD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9C,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,SAAS;QACb,CAAC;QACD,UAAU,CAAC,IAAI,CAAC;YACZ,GAAG,SAAS;YACZ,IAAI,EAAE,YAAY;SACrB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC"}
|