@signalwire/js 4.0.0-dev-20260413184938 → 4.0.0-dev-20260416174405
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/browser.mjs +499 -415
- package/dist/browser.mjs.map +1 -1
- package/dist/browser.umd.js +501 -414
- package/dist/browser.umd.js.map +1 -1
- package/dist/index.cjs +160 -111
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +175 -71
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +175 -71
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +159 -113
- package/dist/index.mjs.map +1 -1
- package/dist/operators/index.cjs +1 -1
- package/dist/operators/index.mjs +1 -1
- package/dist/{operators-BwHr2-zw.mjs → operators-B1xH6k06.mjs} +50 -13
- package/dist/operators-B1xH6k06.mjs.map +1 -0
- package/dist/{operators-C3TtzZHH.cjs → operators-BT3jl--r.cjs} +67 -12
- package/dist/operators-BT3jl--r.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/operators-BwHr2-zw.mjs.map +0 -1
- package/dist/operators-C3TtzZHH.cjs.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -262,7 +262,6 @@ declare abstract class Destroyable {
|
|
|
262
262
|
protected subjects: Subject<unknown>[];
|
|
263
263
|
protected _destroyed$: Subject<void>;
|
|
264
264
|
private _observableCache?;
|
|
265
|
-
private _change$;
|
|
266
265
|
destroy(): void;
|
|
267
266
|
protected cachedObservable<T>(key: string, factory: () => Observable<T>): Observable<T>;
|
|
268
267
|
/**
|
|
@@ -292,7 +291,6 @@ declare abstract class Destroyable {
|
|
|
292
291
|
protected createSubject<T>(): Subject<T>;
|
|
293
292
|
protected createReplaySubject<T>(bufferSize?: number, windowTime?: number): ReplaySubject<T>;
|
|
294
293
|
protected createBehaviorSubject<T>(initialValue: T): BehaviorSubject<T>;
|
|
295
|
-
get $(): Observable<this>;
|
|
296
294
|
/**
|
|
297
295
|
* Observable that emits when the instance is destroyed
|
|
298
296
|
*/
|
|
@@ -667,6 +665,8 @@ interface GetSubscriberInfoResponse {
|
|
|
667
665
|
}
|
|
668
666
|
//#endregion
|
|
669
667
|
//#region src/core/entities/Subscriber.d.ts
|
|
668
|
+
/** Subscriber online presence state. */
|
|
669
|
+
type SubscriberPresence = 'online' | 'offline' | 'busy';
|
|
670
670
|
/**
|
|
671
671
|
* Authenticated subscriber profile.
|
|
672
672
|
*
|
|
@@ -757,6 +757,20 @@ interface CallDevicePhone {
|
|
|
757
757
|
}
|
|
758
758
|
/** Discriminated union of call device types (WebRTC, SIP, or phone). */
|
|
759
759
|
type CallDevice = CallDeviceWebRTCOrSIP | CallDevicePhone;
|
|
760
|
+
/**
|
|
761
|
+
* Feature capability string that controls what actions a participant can perform.
|
|
762
|
+
*
|
|
763
|
+
* Capabilities are organized into categories:
|
|
764
|
+
* - **self.\*** — Actions the local participant can perform on themselves (mute, deaf, volume, position, meta).
|
|
765
|
+
* - **member.\*** — Actions that can be performed on other participants.
|
|
766
|
+
* - **layout.\*** — Layout management for the video canvas.
|
|
767
|
+
* - **digit.\*** — DTMF digit sending.
|
|
768
|
+
* - **vmuted.\*** — Visibility control for muted video participants.
|
|
769
|
+
* - **lock.\*** — Room lock/unlock control.
|
|
770
|
+
* - **device** / **screenshare** — Device and screen share capabilities.
|
|
771
|
+
* - **end** — Permission to end the call or room.
|
|
772
|
+
*/
|
|
773
|
+
type Capability = 'self' | 'self.mute' | 'self.mute.audio' | 'self.mute.audio.on' | 'self.mute.audio.off' | 'self.mute.video' | 'self.mute.video.on' | 'self.mute.video.off' | 'self.deaf' | 'self.deaf.on' | 'self.deaf.off' | 'self.microphone' | 'self.microphone.volume.set' | 'self.microphone.sensitivity.set' | 'self.speaker' | 'self.speaker.volume.set' | 'self.position.set' | 'self.meta' | 'self.audioflags.set' | 'member' | 'member.mute' | 'member.mute.audio' | 'member.mute.audio.on' | 'member.mute.audio.off' | 'member.mute.video' | 'member.mute.video.on' | 'member.mute.video.off' | 'member.deaf' | 'member.deaf.on' | 'member.deaf.off' | 'member.microphone' | 'member.microphone.volume.set' | 'member.microphone.sensitivity.set' | 'member.speaker' | 'member.speaker.volume.set' | 'member.position.set' | 'member.meta' | 'member.audioflags.set' | 'layout' | 'layout.set' | 'digit' | 'digit.send' | 'vmuted' | 'vmuted.hide' | 'vmuted.hide.on' | 'vmuted.hide.off' | 'lock' | 'lock.on' | 'lock.off' | 'device' | 'screenshare' | 'end';
|
|
760
774
|
/**
|
|
761
775
|
* Position of a participant's video within the layout canvas.
|
|
762
776
|
*
|
|
@@ -996,17 +1010,17 @@ declare class EntityCollection<T extends Entity = Entity> extends Destroyable im
|
|
|
996
1010
|
private fetchController;
|
|
997
1011
|
private update$;
|
|
998
1012
|
private readonly onError?;
|
|
999
|
-
loading$: rxjs0.BehaviorSubject<boolean>;
|
|
1000
|
-
values$: ReplaySubject<T[]>;
|
|
1001
1013
|
hasMore$: Observable<boolean>;
|
|
1002
1014
|
private collectionData;
|
|
1003
1015
|
private observablesRegistry;
|
|
1004
|
-
private updateSubscription;
|
|
1005
1016
|
private upsertData;
|
|
1017
|
+
private _loading$;
|
|
1018
|
+
private _values$;
|
|
1006
1019
|
private _hasMore$;
|
|
1007
|
-
private _destroy$;
|
|
1008
1020
|
constructor(fetchController: FetchController<T>, update$: Observable<Partial<T>>, onError?: ((error: Error) => void) | undefined);
|
|
1021
|
+
get loading$(): Observable<boolean>;
|
|
1009
1022
|
get loading(): boolean;
|
|
1023
|
+
get values$(): Observable<T[]>;
|
|
1010
1024
|
get hasMore(): boolean;
|
|
1011
1025
|
get updated$(): Observable<void>;
|
|
1012
1026
|
get values(): T[];
|
|
@@ -1036,6 +1050,12 @@ declare class EntityCollectionTransformed<O extends Entity = Entity, T extends E
|
|
|
1036
1050
|
destroy(): void;
|
|
1037
1051
|
}
|
|
1038
1052
|
//#endregion
|
|
1053
|
+
//#region src/core/entities/types/participant.types.d.ts
|
|
1054
|
+
/** Options for selecting a media device. */
|
|
1055
|
+
interface SelectDeviceOptions {
|
|
1056
|
+
savePreference?: boolean;
|
|
1057
|
+
}
|
|
1058
|
+
//#endregion
|
|
1039
1059
|
//#region src/controllers/RTCStatsMonitor.d.ts
|
|
1040
1060
|
interface NetworkIssue {
|
|
1041
1061
|
type: 'no_inbound_audio' | 'no_inbound_video' | 'high_rtt' | 'high_packet_loss' | 'high_jitter' | 'ice_disconnected';
|
|
@@ -1557,12 +1577,6 @@ declare class SelfCapabilities extends Destroyable {
|
|
|
1557
1577
|
get state(): CallCapabilitiesState;
|
|
1558
1578
|
}
|
|
1559
1579
|
//#endregion
|
|
1560
|
-
//#region src/core/entities/types/participant.types.d.ts
|
|
1561
|
-
/** Options for selecting a media device. */
|
|
1562
|
-
interface SelectDeviceOptions {
|
|
1563
|
-
savePreference?: boolean;
|
|
1564
|
-
}
|
|
1565
|
-
//#endregion
|
|
1566
1580
|
//#region src/interfaces/DeviceController.d.ts
|
|
1567
1581
|
/**
|
|
1568
1582
|
* Interface for media device management.
|
|
@@ -1715,45 +1729,45 @@ declare class Participant extends Destroyable implements CallParticipant {
|
|
|
1715
1729
|
/** @internal */
|
|
1716
1730
|
upnext(data: Partial<ParticipantState>): void;
|
|
1717
1731
|
/** Observable of the participant's display name. */
|
|
1718
|
-
get name$(): Observable<string>;
|
|
1732
|
+
get name$(): Observable<string | undefined>;
|
|
1719
1733
|
/** Observable of the participant type (e.g. `'member'`, `'screen'`). */
|
|
1720
|
-
get type$(): Observable<string>;
|
|
1734
|
+
get type$(): Observable<string | undefined>;
|
|
1721
1735
|
/** Observable indicating whether the participant has raised their hand. */
|
|
1722
|
-
get handraised$(): Observable<boolean>;
|
|
1736
|
+
get handraised$(): Observable<boolean | undefined>;
|
|
1723
1737
|
/** Observable indicating whether the participant is visible in the layout. */
|
|
1724
|
-
get visible$(): Observable<boolean>;
|
|
1738
|
+
get visible$(): Observable<boolean | undefined>;
|
|
1725
1739
|
/** Observable indicating whether the participant's audio is muted. */
|
|
1726
|
-
get audioMuted$(): Observable<boolean>;
|
|
1740
|
+
get audioMuted$(): Observable<boolean | undefined>;
|
|
1727
1741
|
/** Observable indicating whether the participant's video is muted. */
|
|
1728
|
-
get videoMuted$(): Observable<boolean>;
|
|
1742
|
+
get videoMuted$(): Observable<boolean | undefined>;
|
|
1729
1743
|
/** Observable indicating whether the participant is deafened. */
|
|
1730
|
-
get deaf$(): Observable<boolean>;
|
|
1744
|
+
get deaf$(): Observable<boolean | undefined>;
|
|
1731
1745
|
/** Observable of the participant's microphone input volume. */
|
|
1732
|
-
get inputVolume$(): Observable<number>;
|
|
1746
|
+
get inputVolume$(): Observable<number | undefined>;
|
|
1733
1747
|
/** Observable of the participant's speaker output volume. */
|
|
1734
|
-
get outputVolume$(): Observable<number>;
|
|
1748
|
+
get outputVolume$(): Observable<number | undefined>;
|
|
1735
1749
|
/** Observable of the microphone input sensitivity level. */
|
|
1736
|
-
get inputSensitivity$(): Observable<number>;
|
|
1750
|
+
get inputSensitivity$(): Observable<number | undefined>;
|
|
1737
1751
|
/** Observable indicating whether echo cancellation is enabled. */
|
|
1738
|
-
get echoCancellation$(): Observable<boolean>;
|
|
1752
|
+
get echoCancellation$(): Observable<boolean | undefined>;
|
|
1739
1753
|
/** Observable indicating whether auto-gain control is enabled. */
|
|
1740
|
-
get autoGain$(): Observable<boolean>;
|
|
1754
|
+
get autoGain$(): Observable<boolean | undefined>;
|
|
1741
1755
|
/** Observable indicating whether noise suppression is enabled. */
|
|
1742
|
-
get noiseSuppression$(): Observable<boolean>;
|
|
1756
|
+
get noiseSuppression$(): Observable<boolean | undefined>;
|
|
1743
1757
|
/** Observable indicating whether low-bitrate mode is active. */
|
|
1744
|
-
get lowbitrate$(): Observable<boolean>;
|
|
1758
|
+
get lowbitrate$(): Observable<boolean | undefined>;
|
|
1745
1759
|
/** Observable indicating whether noise reduction is active. */
|
|
1746
|
-
get denoise$(): Observable<boolean>;
|
|
1760
|
+
get denoise$(): Observable<boolean | undefined>;
|
|
1747
1761
|
/** Observable of custom metadata for this participant. */
|
|
1748
|
-
get meta$(): Observable<Record<string, unknown
|
|
1762
|
+
get meta$(): Observable<Record<string, unknown> | undefined>;
|
|
1749
1763
|
/** Observable of the participant's subscriber ID. */
|
|
1750
|
-
get subscriberId$(): Observable<string>;
|
|
1764
|
+
get subscriberId$(): Observable<string | undefined>;
|
|
1751
1765
|
/** Observable of the participant's address ID. */
|
|
1752
|
-
get addressId$(): Observable<string>;
|
|
1766
|
+
get addressId$(): Observable<string | undefined>;
|
|
1753
1767
|
/** Observable of the server node ID for this participant. */
|
|
1754
|
-
get nodeId$(): Observable<string>;
|
|
1768
|
+
get nodeId$(): Observable<string | undefined>;
|
|
1755
1769
|
/** Observable indicating whether the participant is currently speaking. */
|
|
1756
|
-
get isTalking$(): Observable<boolean>;
|
|
1770
|
+
get isTalking$(): Observable<boolean | undefined>;
|
|
1757
1771
|
/** Whether the participant is currently speaking. */
|
|
1758
1772
|
get isTalking(): boolean;
|
|
1759
1773
|
/** Observable of the participant's layout position. */
|
|
@@ -1972,26 +1986,26 @@ declare const isSelfParticipant: (participant: Participant) => participant is Se
|
|
|
1972
1986
|
*/
|
|
1973
1987
|
interface CallParticipant {
|
|
1974
1988
|
readonly id: string;
|
|
1975
|
-
readonly name$: Observable<string>;
|
|
1976
|
-
readonly type$: Observable<string>;
|
|
1977
|
-
readonly handraised$: Observable<boolean>;
|
|
1978
|
-
readonly visible$: Observable<boolean>;
|
|
1979
|
-
readonly audioMuted$: Observable<boolean>;
|
|
1980
|
-
readonly videoMuted$: Observable<boolean>;
|
|
1981
|
-
readonly deaf$: Observable<boolean>;
|
|
1982
|
-
readonly inputVolume$: Observable<number>;
|
|
1983
|
-
readonly outputVolume$: Observable<number>;
|
|
1984
|
-
readonly inputSensitivity$: Observable<number>;
|
|
1985
|
-
readonly echoCancellation$: Observable<boolean>;
|
|
1986
|
-
readonly autoGain$: Observable<boolean>;
|
|
1987
|
-
readonly noiseSuppression$: Observable<boolean>;
|
|
1988
|
-
readonly lowbitrate$: Observable<boolean>;
|
|
1989
|
-
readonly denoise$: Observable<boolean>;
|
|
1990
|
-
readonly meta$: Observable<Record<string, unknown
|
|
1991
|
-
readonly subscriberId$: Observable<string>;
|
|
1992
|
-
readonly addressId$: Observable<string>;
|
|
1993
|
-
readonly nodeId$: Observable<string>;
|
|
1994
|
-
readonly isTalking$: Observable<boolean>;
|
|
1989
|
+
readonly name$: Observable<string | undefined>;
|
|
1990
|
+
readonly type$: Observable<string | undefined>;
|
|
1991
|
+
readonly handraised$: Observable<boolean | undefined>;
|
|
1992
|
+
readonly visible$: Observable<boolean | undefined>;
|
|
1993
|
+
readonly audioMuted$: Observable<boolean | undefined>;
|
|
1994
|
+
readonly videoMuted$: Observable<boolean | undefined>;
|
|
1995
|
+
readonly deaf$: Observable<boolean | undefined>;
|
|
1996
|
+
readonly inputVolume$: Observable<number | undefined>;
|
|
1997
|
+
readonly outputVolume$: Observable<number | undefined>;
|
|
1998
|
+
readonly inputSensitivity$: Observable<number | undefined>;
|
|
1999
|
+
readonly echoCancellation$: Observable<boolean | undefined>;
|
|
2000
|
+
readonly autoGain$: Observable<boolean | undefined>;
|
|
2001
|
+
readonly noiseSuppression$: Observable<boolean | undefined>;
|
|
2002
|
+
readonly lowbitrate$: Observable<boolean | undefined>;
|
|
2003
|
+
readonly denoise$: Observable<boolean | undefined>;
|
|
2004
|
+
readonly meta$: Observable<Record<string, unknown> | undefined>;
|
|
2005
|
+
readonly subscriberId$: Observable<string | undefined>;
|
|
2006
|
+
readonly addressId$: Observable<string | undefined>;
|
|
2007
|
+
readonly nodeId$: Observable<string | undefined>;
|
|
2008
|
+
readonly isTalking$: Observable<boolean | undefined>;
|
|
1995
2009
|
readonly position$: Observable<LayoutLayer | undefined>;
|
|
1996
2010
|
readonly name: string | undefined;
|
|
1997
2011
|
readonly type: string | undefined;
|
|
@@ -2041,17 +2055,34 @@ interface CallParticipant {
|
|
|
2041
2055
|
* Extends CallParticipant with methods for controlling the local participant
|
|
2042
2056
|
*/
|
|
2043
2057
|
interface CallSelfParticipant extends CallParticipant {
|
|
2044
|
-
readonly screenShareStatus$: Observable<
|
|
2045
|
-
readonly screenShareStatus:
|
|
2058
|
+
readonly screenShareStatus$: Observable<ScreenShareStatus>;
|
|
2059
|
+
readonly screenShareStatus: ScreenShareStatus;
|
|
2046
2060
|
readonly studioAudio$: Observable<boolean>;
|
|
2047
2061
|
readonly studioAudio: boolean;
|
|
2048
2062
|
enableStudioAudio(): Promise<void>;
|
|
2049
2063
|
disableStudioAudio(): Promise<void>;
|
|
2050
2064
|
startScreenShare(): Promise<void>;
|
|
2051
2065
|
stopScreenShare(): Promise<void>;
|
|
2052
|
-
selectAudioInputDevice(device: MediaDeviceInfo): void;
|
|
2053
|
-
selectVideoInputDevice(device: MediaDeviceInfo): void;
|
|
2054
|
-
selectAudioOutputDevice(device: MediaDeviceInfo): void;
|
|
2066
|
+
selectAudioInputDevice(device: MediaDeviceInfo, options?: SelectDeviceOptions): void;
|
|
2067
|
+
selectVideoInputDevice(device: MediaDeviceInfo, options?: SelectDeviceOptions): void;
|
|
2068
|
+
selectAudioOutputDevice(device: MediaDeviceInfo, options?: SelectDeviceOptions): void;
|
|
2069
|
+
addAdditionalDevice(options: MediaOptions): Promise<void>;
|
|
2070
|
+
removeAdditionalDevice(id: string): Promise<void>;
|
|
2071
|
+
addAudioInputDevice(options?: {
|
|
2072
|
+
constraints?: MediaTrackConstraints;
|
|
2073
|
+
stream?: MediaStream;
|
|
2074
|
+
}): Promise<void>;
|
|
2075
|
+
addVideoInputDevice(options?: {
|
|
2076
|
+
constraints?: MediaTrackConstraints;
|
|
2077
|
+
stream?: MediaStream;
|
|
2078
|
+
}): Promise<void>;
|
|
2079
|
+
addInputDevices(options?: MediaOptions): Promise<void>;
|
|
2080
|
+
setAudioInputDeviceConstraints(constraints: MediaTrackConstraints): Promise<void>;
|
|
2081
|
+
setVideoInputDeviceConstraints(constraints: MediaTrackConstraints): Promise<void>;
|
|
2082
|
+
setInputDevicesConstraints(constraints: {
|
|
2083
|
+
audio: MediaTrackConstraints;
|
|
2084
|
+
video: MediaTrackConstraints;
|
|
2085
|
+
}): Promise<void>;
|
|
2055
2086
|
}
|
|
2056
2087
|
/**
|
|
2057
2088
|
* Minimal interface for a collection with pagination
|
|
@@ -2130,23 +2161,26 @@ interface CallState {
|
|
|
2130
2161
|
* and control actions (hangup, mute, transfer, etc.).
|
|
2131
2162
|
*/
|
|
2132
2163
|
interface Call extends CallState {
|
|
2133
|
-
readonly capabilities$: Observable<
|
|
2134
|
-
readonly capabilities:
|
|
2164
|
+
readonly capabilities$: Observable<Capability[]>;
|
|
2165
|
+
readonly capabilities: Capability[];
|
|
2135
2166
|
readonly mediaDirections$: Observable<MediaDirections>;
|
|
2136
2167
|
readonly mediaDirections: MediaDirections;
|
|
2137
2168
|
readonly self$: Observable<CallSelfParticipant | null>;
|
|
2138
2169
|
readonly self: CallSelfParticipant | null;
|
|
2139
2170
|
readonly to?: string;
|
|
2140
|
-
readonly direction:
|
|
2171
|
+
readonly direction: CallDirection;
|
|
2141
2172
|
readonly layouts$: Observable<string[]>;
|
|
2142
2173
|
readonly layouts: string[];
|
|
2143
2174
|
readonly layout$: Observable<string>;
|
|
2144
2175
|
readonly layout?: string;
|
|
2145
2176
|
readonly layoutLayers$: Observable<LayoutLayer[]>;
|
|
2146
2177
|
readonly layoutLayers: LayoutLayer[];
|
|
2147
|
-
|
|
2178
|
+
/** Observable that emits only non-null MediaStreams (waits until the stream exists). */
|
|
2179
|
+
readonly localStream$: Observable<MediaStream>;
|
|
2180
|
+
/** Sync getter — returns null before the stream is created. */
|
|
2148
2181
|
readonly localStream: MediaStream | null;
|
|
2149
|
-
|
|
2182
|
+
/** Observable that emits only non-null MediaStreams (waits until the stream exists). */
|
|
2183
|
+
readonly remoteStream$: Observable<MediaStream>;
|
|
2150
2184
|
readonly remoteStream: MediaStream | null;
|
|
2151
2185
|
readonly rtcPeerConnection: RTCPeerConnection | undefined;
|
|
2152
2186
|
readonly errors$: Observable<CallError>;
|
|
@@ -2748,9 +2782,24 @@ interface SessionState extends ClientSession {
|
|
|
2748
2782
|
* and `false` after disconnect.
|
|
2749
2783
|
*/
|
|
2750
2784
|
readonly authenticated$: Observable<boolean>;
|
|
2785
|
+
/**
|
|
2786
|
+
* Current authentication state.
|
|
2787
|
+
* Returns `true` if the session is currently authenticated.
|
|
2788
|
+
*/
|
|
2789
|
+
readonly authenticated: boolean;
|
|
2751
2790
|
}
|
|
2752
2791
|
//#endregion
|
|
2753
2792
|
//#region src/managers/ClientSessionManager.d.ts
|
|
2793
|
+
/**
|
|
2794
|
+
* Discriminated union for session authentication state.
|
|
2795
|
+
* clientBound is tracked separately via _wasClientBound (sticky flag)
|
|
2796
|
+
* to avoid dual sources of truth.
|
|
2797
|
+
*/
|
|
2798
|
+
type SessionAuthState = {
|
|
2799
|
+
kind: 'unauthenticated';
|
|
2800
|
+
} | {
|
|
2801
|
+
kind: 'authenticated';
|
|
2802
|
+
};
|
|
2754
2803
|
declare class ClientSessionManager extends Destroyable implements SessionState {
|
|
2755
2804
|
private readonly getCredential;
|
|
2756
2805
|
private readonly transport;
|
|
@@ -2774,8 +2823,9 @@ declare class ClientSessionManager extends Destroyable implements SessionState {
|
|
|
2774
2823
|
private _authorization$;
|
|
2775
2824
|
private _errors$;
|
|
2776
2825
|
private _directory?;
|
|
2777
|
-
private
|
|
2778
|
-
|
|
2826
|
+
private _authState$;
|
|
2827
|
+
/** Sticky flag — once true, stays true for the session lifetime. */
|
|
2828
|
+
private _wasClientBound;
|
|
2779
2829
|
private _subscriberInfo$;
|
|
2780
2830
|
private _calls$;
|
|
2781
2831
|
private _iceServers$;
|
|
@@ -2799,6 +2849,8 @@ declare class ClientSessionManager extends Destroyable implements SessionState {
|
|
|
2799
2849
|
* @internal
|
|
2800
2850
|
*/
|
|
2801
2851
|
get clientBound(): boolean;
|
|
2852
|
+
/** @internal Current auth state for debugging/testing. */
|
|
2853
|
+
get authState(): SessionAuthState;
|
|
2802
2854
|
/**
|
|
2803
2855
|
* Set the directory instance
|
|
2804
2856
|
* Called by SignalWire after directory is created
|
|
@@ -3155,6 +3207,35 @@ declare class ClientSessionWrapper implements SessionState {
|
|
|
3155
3207
|
get calls(): Call[];
|
|
3156
3208
|
}
|
|
3157
3209
|
//#endregion
|
|
3210
|
+
//#region src/utils/logger.d.ts
|
|
3211
|
+
/** Log level names supported by the SDK. */
|
|
3212
|
+
type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent';
|
|
3213
|
+
/**
|
|
3214
|
+
* Logger interface that consumers can implement to replace the built-in logger.
|
|
3215
|
+
* All methods accept variadic arguments matching the browser console API.
|
|
3216
|
+
*/
|
|
3217
|
+
interface SDKLogger {
|
|
3218
|
+
error(...args: unknown[]): void;
|
|
3219
|
+
warn(...args: unknown[]): void;
|
|
3220
|
+
info(...args: unknown[]): void;
|
|
3221
|
+
debug(...args: unknown[]): void;
|
|
3222
|
+
trace(...args: unknown[]): void;
|
|
3223
|
+
}
|
|
3224
|
+
/** Debug options that control verbose SDK logging. */
|
|
3225
|
+
interface DebugOptions {
|
|
3226
|
+
/** Log all WebSocket send/recv traffic to the console. */
|
|
3227
|
+
logWsTraffic?: boolean;
|
|
3228
|
+
}
|
|
3229
|
+
/** Replace the built-in logger with a custom implementation. Pass `null` to restore defaults. */
|
|
3230
|
+
declare const setLogger: (logger: SDKLogger | null) => void;
|
|
3231
|
+
/** Configure debug options (e.g., `{ logWsTraffic: true }`). */
|
|
3232
|
+
declare const setDebugOptions: (options: DebugOptions | null) => void;
|
|
3233
|
+
/**
|
|
3234
|
+
* Set the log level for the built-in logger.
|
|
3235
|
+
* Has no effect when a custom logger is set via `setLogger()`.
|
|
3236
|
+
*/
|
|
3237
|
+
declare const setLogLevel: (level: LogLevel) => void;
|
|
3238
|
+
//#endregion
|
|
3158
3239
|
//#region src/clients/SignalWire.d.ts
|
|
3159
3240
|
/** Options for constructing a {@link SignalWire}. */
|
|
3160
3241
|
interface SignalWireOptions {
|
|
@@ -3189,6 +3270,23 @@ interface SignalWireOptions {
|
|
|
3189
3270
|
webSocketConstructor?: WebSocketAdapter | NodeSocketAdapter;
|
|
3190
3271
|
/** Custom WebRTC API provider */
|
|
3191
3272
|
webRTCApiProvider?: WebRTCApiProvider;
|
|
3273
|
+
/**
|
|
3274
|
+
* Custom logger implementation. Must implement the {@link SDKLogger} interface.
|
|
3275
|
+
* Pass `null` to restore the built-in logger.
|
|
3276
|
+
*
|
|
3277
|
+
* **Note:** Logger configuration is global — setting it on one instance affects all instances.
|
|
3278
|
+
*/
|
|
3279
|
+
logger?: SDKLogger | null;
|
|
3280
|
+
/**
|
|
3281
|
+
* Log level for the built-in logger.
|
|
3282
|
+
* Default: `'warn'`. Set to `'debug'` for verbose SDK output.
|
|
3283
|
+
* Has no effect when a custom `logger` is provided.
|
|
3284
|
+
*
|
|
3285
|
+
* **Note:** Logger configuration is global — setting it on one instance affects all instances.
|
|
3286
|
+
*/
|
|
3287
|
+
logLevel?: LogLevel;
|
|
3288
|
+
/** Debug options for verbose SDK diagnostics (e.g., `{ logWsTraffic: true }`). */
|
|
3289
|
+
debug?: DebugOptions;
|
|
3192
3290
|
}
|
|
3193
3291
|
/** Options for {@link SignalWire.dial}. Extends {@link MediaOptions} with dial-specific settings. */
|
|
3194
3292
|
interface DialOptions extends MediaOptions {
|
|
@@ -3257,6 +3355,12 @@ declare class SignalWire extends Destroyable implements DeviceController {
|
|
|
3257
3355
|
*/
|
|
3258
3356
|
private resolveCredentials;
|
|
3259
3357
|
private validateCredentials;
|
|
3358
|
+
/**
|
|
3359
|
+
* Schedules credential refresh with exponential backoff retry on failure.
|
|
3360
|
+
* On success, resets attempt counter and schedules the next refresh.
|
|
3361
|
+
* After exhausting retries, emits TokenRefreshError and disconnects.
|
|
3362
|
+
*/
|
|
3363
|
+
private scheduleCredentialRefresh;
|
|
3260
3364
|
/** Persist credential to localStorage when persistSession is enabled. */
|
|
3261
3365
|
private persistCredential;
|
|
3262
3366
|
private init;
|
|
@@ -3271,9 +3375,9 @@ declare class SignalWire extends Destroyable implements DeviceController {
|
|
|
3271
3375
|
* unexpectedly (e.g. network change, server restart). Reconnection uses an
|
|
3272
3376
|
* **exponential back-off** strategy:
|
|
3273
3377
|
*
|
|
3274
|
-
* - First retry after `reconnectDelayMin` (default **1 s**).
|
|
3378
|
+
* - First retry after `reconnectDelayMin` (default **0.1 s**).
|
|
3275
3379
|
* - Each subsequent retry doubles the delay up to `reconnectDelayMax`
|
|
3276
|
-
* (default **
|
|
3380
|
+
* (default **3 s**).
|
|
3277
3381
|
* - The delay resets to `reconnectDelayMin` once a connection succeeds.
|
|
3278
3382
|
* - A per-attempt `connectionTimeout` (default **10 s**) aborts the
|
|
3279
3383
|
* attempt and schedules the next retry if the server does not respond.
|
|
@@ -3837,7 +3941,7 @@ declare class CallEventsManager extends Destroyable {
|
|
|
3837
3941
|
get raiseHandPriority$(): Observable<boolean>;
|
|
3838
3942
|
get locked$(): Observable<boolean>;
|
|
3839
3943
|
get meta$(): Observable<Record<string, unknown>>;
|
|
3840
|
-
get capabilities$(): Observable<
|
|
3944
|
+
get capabilities$(): Observable<Capability[]>;
|
|
3841
3945
|
get layout$(): Observable<string>;
|
|
3842
3946
|
get layouts$(): Observable<string[]>;
|
|
3843
3947
|
get layoutLayers$(): Observable<LayoutLayer[]>;
|
|
@@ -3850,7 +3954,7 @@ declare class CallEventsManager extends Destroyable {
|
|
|
3850
3954
|
get meta(): Record<string, unknown>;
|
|
3851
3955
|
get layout(): string | undefined;
|
|
3852
3956
|
get layouts(): string[];
|
|
3853
|
-
get capabilities():
|
|
3957
|
+
get capabilities(): Capability[];
|
|
3854
3958
|
isSessionEvent(id: string): boolean;
|
|
3855
3959
|
protected initSubscriptions(): void;
|
|
3856
3960
|
private updateParticipantPositions;
|
|
@@ -3981,7 +4085,7 @@ declare class WebRTCCall extends Destroyable implements CallManager {
|
|
|
3981
4085
|
/** @internal Registers an additional call ID for event routing. */
|
|
3982
4086
|
addCallId(callId: string): void;
|
|
3983
4087
|
/** List of capabilities available in the current call. */
|
|
3984
|
-
get capabilities():
|
|
4088
|
+
get capabilities(): Capability[];
|
|
3985
4089
|
/** Current snapshot of all participants in the call. */
|
|
3986
4090
|
get participants(): CallParticipant[];
|
|
3987
4091
|
/** The local participant, or `null` if not yet joined. */
|
|
@@ -4044,7 +4148,7 @@ declare class WebRTCCall extends Destroyable implements CallManager {
|
|
|
4044
4148
|
/** Observable of custom metadata associated with the call. */
|
|
4045
4149
|
get meta$(): Observable<Record<string, unknown>>;
|
|
4046
4150
|
/** Observable of the call's capability flags. */
|
|
4047
|
-
get capabilities$(): Observable<
|
|
4151
|
+
get capabilities$(): Observable<Capability[]>;
|
|
4048
4152
|
/** Observable of the current layout name. */
|
|
4049
4153
|
get layout$(): Observable<string>;
|
|
4050
4154
|
/** Current call status. */
|
|
@@ -4293,5 +4397,5 @@ declare const version: string;
|
|
|
4293
4397
|
*/
|
|
4294
4398
|
declare const ready: boolean;
|
|
4295
4399
|
//#endregion
|
|
4296
|
-
export { Address, type AddressHistory, type AudioConstraintsEvent, type AuthenticateContext, type Call, type CallAddress, type CallCapabilitiesState, CallCreateError, type CallDiagnosticSummary, type CallError, type CallErrorKind, type NetworkIssue as CallNetworkIssue, type NetworkIssue, type NetworkMetrics as CallNetworkMetrics, type NetworkMetrics, type CallOptions, type CallParticipant, type CallSelfParticipant, type CallState, type CallStatus, ClientPreferences, CollectionFetchError, type ConstraintFallbackEvent, type CredentialProvider, DPoPInitError, type DeviceController, type DeviceRecoveryEvent, DeviceTokenError, type DiagnosticEvent, type DialOptions, type Directory, type ExecuteMethod, InvalidCredentialsError, type JSONRPCErrorResponse, type JSONRPCRequest, type JSONRPCResponse, type JSONRPCSuccessResponse, type LayoutLayer, type MediaDirection, type MediaDirections, type MediaOptions, type MediaParamsEvent, MediaTrackError, type MemberCapabilities, MessageParseError, type NodeSocketAdapter, type OnOffCapability, OverconstrainedFallbackError, Participant, type PendingRPCOptions, type PermissionResult, type PlatformCapabilities, PreflightError, type PreflightOptions, type PreflightResult, type QualityLevel, RecoveryError, type RecoveryEvent, type RecoveryState, type ResilienceCallStatus, type SATClaims, type SDKCredential, SelfCapabilities, SelfParticipant, type SessionDiagnostics, type SessionState, SignalWire, type SignalWireOptions, StaticCredentialProvider, type Storage, type StoredDevicePreference, Subscriber, type TextMessage, TokenRefreshError, type TransferOptions, UnexpectedError, VertoPongError, type VideoPosition, type WebRTCApiProvider, WebRTCCall, type WebRTCMediaDevices, type WebSocketAdapter, embeddableCall, isSelfParticipant, ready, version };
|
|
4400
|
+
export { Address, type AddressHistory, type AudioConstraintsEvent, type AuthenticateContext, type Call, type CallAddress, type CallCapabilitiesState, CallCreateError, type CallDiagnosticSummary, type CallDirection, type CallError, type CallErrorKind, type NetworkIssue as CallNetworkIssue, type NetworkIssue, type NetworkMetrics as CallNetworkMetrics, type NetworkMetrics, type CallOptions, type CallParticipant, type CallSelfParticipant, type CallState, type CallStatus, type Capability, ClientPreferences, CollectionFetchError, type ConstraintFallbackEvent, type CredentialProvider, DPoPInitError, type DebugOptions, type DeviceController, type DeviceRecoveryEvent, DeviceTokenError, type DiagnosticEvent, type DialOptions, type Directory, type ExecuteMethod, InvalidCredentialsError, type JSONRPCErrorResponse, type JSONRPCRequest, type JSONRPCResponse, type JSONRPCSuccessResponse, type LayoutLayer, type LogLevel, type MediaDirection, type MediaDirections, type MediaOptions, type MediaParamsEvent, MediaTrackError, type MemberCapabilities, MessageParseError, type NodeSocketAdapter, type OnOffCapability, OverconstrainedFallbackError, Participant, type PendingRPCOptions, type PermissionResult, type PlatformCapabilities, PreflightError, type PreflightOptions, type PreflightResult, type QualityLevel, RecoveryError, type RecoveryEvent, type RecoveryState, type ResilienceCallStatus, type SATClaims, type SDKCredential, type SDKLogger, type ScreenShareStatus, type SelectDeviceOptions, SelfCapabilities, SelfParticipant, type SessionDiagnostics, type SessionState, SignalWire, type SignalWireOptions, StaticCredentialProvider, type Storage, type StoredDevicePreference, Subscriber, type SubscriberPresence, type TextMessage, TokenRefreshError, type TransferOptions, UnexpectedError, VertoPongError, type VideoPosition, type WebRTCApiProvider, WebRTCCall, type WebRTCMediaDevices, type WebSocketAdapter, embeddableCall, isSelfParticipant, ready, setDebugOptions, setLogLevel, setLogger, version };
|
|
4297
4401
|
//# sourceMappingURL=index.d.cts.map
|