@cloudflare/realtimekit 1.2.0-staging.2 → 1.2.0-staging.20
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/.config/build-types.sh +40 -0
- package/.config/vite.e2ee.es.ts +28 -0
- package/.config/vite.mock.es.ts +25 -3
- package/LICENSE.txt +201 -1
- package/README.md +3 -4
- package/dist/ClientMock.cjs.js +6 -0
- package/dist/ClientMock.d.ts +13 -0
- package/dist/{mock.es.js → ClientMock.es.js} +924 -2486
- package/dist/EncryptionManager.cjs.js +1 -0
- package/dist/EncryptionManager.d.ts +6050 -0
- package/dist/EncryptionManager.es.js +669 -0
- package/dist/dependencies.txt +772 -0
- package/dist/index.cjs.js +13 -21
- package/dist/index.d.ts +1305 -1151
- package/dist/index.es.js +10374 -12481
- package/dist/index.es5.js +29911 -0
- package/dist/index.iife.js +23 -0
- package/dist/index.rn.js +14 -21
- package/dist/ts3.4/dist/ClientMock.d.ts +11 -0
- package/dist/ts3.4/dist/EncryptionManager.d.ts +5994 -0
- package/dist/ts3.4/dist/index.d.ts +2293 -2140
- package/package.json +45 -9
- package/.config/rewrite-types.mjs +0 -30
- package/build-types.sh +0 -21
- package/dist/browser.js +0 -22
- package/dist/mock.cjs.js +0 -7
- package/dist/mock.d.ts +0 -1
- package/dist/ts3.4/dist/mock.d.ts +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as _dyteinternals_utils from '@dyteinternals/utils';
|
|
3
|
-
import { MediaVideoQualityType, ViewType, LivestreamViewerMediaQualityType,
|
|
3
|
+
import { PresetTypeV2, MediaVideoQualityType, ViewType, MediaScreenShareQualityType, LivestreamViewerMediaQualityType, PluginAccessControls, WaitingRoomTypes, MediaProductionPermissionType, RecorderType as RecorderType$1, BorderRadius, BorderWidth, Theme, createNewFlagsmithInstance } from '@dyteinternals/utils';
|
|
4
4
|
import { MessageType as MessageType$1 } from '@protobuf-ts/runtime';
|
|
5
5
|
import EventEmitter, { EventEmitter as EventEmitter$1 } from 'events';
|
|
6
6
|
import * as WorkerTimers from 'worker-timers';
|
|
@@ -2237,7 +2237,7 @@ interface InhouseCallStatsInitializeParams {
|
|
|
2237
2237
|
iceServers: any[];
|
|
2238
2238
|
apiBase?: string;
|
|
2239
2239
|
flags: Record<string, Record<'enabled' | 'value', any>>;
|
|
2240
|
-
logger?:
|
|
2240
|
+
logger?: DyteLogger;
|
|
2241
2241
|
apiHostnames: ApiHostnames;
|
|
2242
2242
|
skipConnectivityChecks: boolean;
|
|
2243
2243
|
}
|
|
@@ -2248,7 +2248,7 @@ interface InhouseCallStatsInitializeParams {
|
|
|
2248
2248
|
declare type LogData$3 = {
|
|
2249
2249
|
[key: string]: string | number | boolean | null | undefined | LogData$3;
|
|
2250
2250
|
};
|
|
2251
|
-
declare interface
|
|
2251
|
+
declare interface DyteLogger {
|
|
2252
2252
|
info(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
|
|
2253
2253
|
error(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
|
|
2254
2254
|
debug(humanReadableLogIdentifier: string, logData?: LogData$3, isCrucial?: boolean): void;
|
|
@@ -2551,11 +2551,16 @@ interface IVSPlayerLiveLatencyEntry extends EventEntryBase {
|
|
|
2551
2551
|
type EventEntry = CallJoinBeginEntry | NetworkQualityTestBeginEntry | NetworkQualityTestEndEntry | BrowserForegroundedEntry | PingStatsEntry | PreCallTestBeginEntry | PreCallTestCompletedEntry | WebSocketConnectedEntry | TransportConnectedEntry | AudioToggleEntry | VideoToggleEntry | ScreenShareToggleEntry | DisconnectEntry | ReconnectEntry | ParticipantRoleToggleEntry | DominantSpeakerEntry | DevicesEntry | SelectedDeviceEntry | MediaPermissionEntry | MediaPlaybackFailureEntry | MediaTrackFailureEntry | ScreenShareRequestedEntry | ExpectedVideoResolutionEntry | ExpectedScreenshareResolutionEntry | TabChangeEntry | BrowserBackgroundedEntry | LegacySwitchEntry | IVSPlayerRebufferingEntry | IVSPlayerAudioBlockedEntry | IVSPlayerPlaybackBlockedEntry | IVSPlayerNetworkUnavailableEntry | IVSPlayerInitializedEntry | IVSPlayerErrorEntry | IVSPlayerRecoverableErrorEntry | IVSPlayerAnalyticsEventEntry | IVSPlayerLiveLatencyEntry | IVSPlayerPlaybackRateChangedEntry | IVSPlayerQualityChangedEntry | IVSPlayerWorkerErrorEntry;
|
|
2552
2552
|
|
|
2553
2553
|
declare class EventHandler extends EventEmitter {
|
|
2554
|
+
private logger;
|
|
2555
|
+
private peerId;
|
|
2556
|
+
private eventStore;
|
|
2557
|
+
private apiEndpoint;
|
|
2554
2558
|
constructor({ logger, peerId, apiHostnames, }: {
|
|
2555
|
-
logger:
|
|
2559
|
+
logger: DyteLogger;
|
|
2556
2560
|
peerId: string;
|
|
2557
2561
|
apiHostnames: ApiHostnames;
|
|
2558
2562
|
});
|
|
2563
|
+
private sendEventsChunkToServer;
|
|
2559
2564
|
callEvent(entry: EventEntry): void;
|
|
2560
2565
|
flush(): Promise<boolean>;
|
|
2561
2566
|
}
|
|
@@ -2657,11 +2662,19 @@ declare abstract class Measurements extends EventEmitter {
|
|
|
2657
2662
|
generateConsumerStreamMap(consumer: any, parse?: boolean): Promise<ConsumerStatistics>;
|
|
2658
2663
|
deregisterProducer(producer: any): void;
|
|
2659
2664
|
deregisterConsumer(consumer: any): void;
|
|
2665
|
+
protected getIceCandidateStats(stats: any): IceCandidateStats;
|
|
2660
2666
|
getWorkingSimulcastVideoStats(videoStatsList: OutboundVideoStreamStats[]): OutboundVideoStreamStats;
|
|
2667
|
+
protected parseRTCReport(report: RTCStatsReport, filters?: string[], onceOnly?: boolean, ownerId?: string, transportInfo?: {
|
|
2668
|
+
id: string;
|
|
2669
|
+
producing: boolean;
|
|
2670
|
+
consuming: boolean;
|
|
2671
|
+
}): ParsedRTCStats;
|
|
2661
2672
|
getProducersReport(producers: any[]): Promise<ProducerStatistics[]>;
|
|
2662
2673
|
getConsumersReport(consumers: any[]): Promise<ConsumerStatistics[]>;
|
|
2663
2674
|
getTransportReport(transport: any): Promise<any>;
|
|
2664
2675
|
getProcessedStats(transport: any, consuming: boolean, producing: boolean): Promise<ProcessedStatsReport>;
|
|
2676
|
+
protected getProducerStatsFromReport(report: ParsedRTCStats): ProducerStatistics[];
|
|
2677
|
+
protected getConsumerStatsFromReport(report: ParsedRTCStats): ConsumerStatistics[];
|
|
2665
2678
|
getUserLocation(): Promise<GeoLocation>;
|
|
2666
2679
|
getConnectivity(iceServers: IceServerInfo[]): Promise<{
|
|
2667
2680
|
host: boolean;
|
|
@@ -2677,8 +2690,15 @@ declare abstract class Measurements extends EventEmitter {
|
|
|
2677
2690
|
declare class CallStats extends EventEmitter {
|
|
2678
2691
|
observer: EventEmitter;
|
|
2679
2692
|
eventHandler: EventHandler;
|
|
2693
|
+
protected measurements: Measurements;
|
|
2694
|
+
protected producingTransport: any;
|
|
2695
|
+
protected consumingTransport: any;
|
|
2680
2696
|
producers: Map<string, any>;
|
|
2681
|
-
|
|
2697
|
+
protected consumers: Map<string, any>;
|
|
2698
|
+
protected iceServers: IceServerInfo[];
|
|
2699
|
+
protected connectionInfoPromise: Promise<NetworkInformation | NetworkInformationWithoutConnectivityData>;
|
|
2700
|
+
protected pingStatsTimeout: NodeJS.Timeout;
|
|
2701
|
+
logger: DyteLogger;
|
|
2682
2702
|
env: ClientEnvTypeAll;
|
|
2683
2703
|
apiHostnames: ApiHostnames;
|
|
2684
2704
|
peerId: string;
|
|
@@ -2692,8 +2712,10 @@ declare class CallStats extends EventEmitter {
|
|
|
2692
2712
|
video?: boolean;
|
|
2693
2713
|
screen?: boolean;
|
|
2694
2714
|
};
|
|
2695
|
-
constructor(backendUrl: string, engineName: string, env: ClientEnvTypeAll, flags: InhouseCallStatsInitializeParams['flags'], logger:
|
|
2715
|
+
constructor(backendUrl: string, engineName: string, env: ClientEnvTypeAll, flags: InhouseCallStatsInitializeParams['flags'], logger: DyteLogger, peerId: string, apiHostnames: ApiHostnames);
|
|
2696
2716
|
registerIceServers(servers: IceServerInfo[]): void;
|
|
2717
|
+
protected registerConsumer(consumer: any): void;
|
|
2718
|
+
protected registerProducer(producer: any): void;
|
|
2697
2719
|
sendConsumerSharedMediaStateEvent(consumerId: string, statusObj: {
|
|
2698
2720
|
audio?: boolean;
|
|
2699
2721
|
video?: boolean;
|
|
@@ -2701,8 +2723,11 @@ declare class CallStats extends EventEmitter {
|
|
|
2701
2723
|
}): void;
|
|
2702
2724
|
registerProducingTransport(transport: any): void;
|
|
2703
2725
|
registerConsumingTransport(transport: any): void;
|
|
2726
|
+
protected deRegisterConsumer(consumer: any): void;
|
|
2727
|
+
protected deRegisterProducer(producer: any): void;
|
|
2704
2728
|
disconnectConsumingTransport(): void;
|
|
2705
2729
|
disconnectProducingTransport(): void;
|
|
2730
|
+
protected callEvent(entry: EventEntry): void;
|
|
2706
2731
|
sendPreCallTestBeginEvent(skipConnectivityChecks: boolean, timestamp: Date): void;
|
|
2707
2732
|
sendScreenShareToggleEvent(on: boolean, ssrc: number, timestamp: Date): void;
|
|
2708
2733
|
sendScreenShareRequestedEvent(timestamp: Date): void;
|
|
@@ -2753,7 +2778,7 @@ declare class InhouseCallStats extends EventEmitter {
|
|
|
2753
2778
|
initialized: boolean;
|
|
2754
2779
|
stalled: boolean;
|
|
2755
2780
|
ipInformation: Object;
|
|
2756
|
-
logger:
|
|
2781
|
+
logger: DyteLogger;
|
|
2757
2782
|
initialize({ peerId, engineName, env, iceServers, apiBase, flags, logger, apiHostnames, skipConnectivityChecks, }: InhouseCallStatsInitializeParams): Promise<void>;
|
|
2758
2783
|
configureSendTransport(sendTransport: any): void;
|
|
2759
2784
|
configureRecvTransport(recvTransport: any): void;
|
|
@@ -2792,6 +2817,7 @@ declare class InhouseCallStats extends EventEmitter {
|
|
|
2792
2817
|
onReceivingConsumingTransportStatus(fx: any): void;
|
|
2793
2818
|
onProducerScore(fx: any): void;
|
|
2794
2819
|
onConsumerScore(fx: any): void;
|
|
2820
|
+
private onSafeInitialization;
|
|
2795
2821
|
removeInitializationListener(fx: Function): void;
|
|
2796
2822
|
stallCallStats(): void;
|
|
2797
2823
|
ivsPlayerEvent(type: String, payload: any): void;
|
|
@@ -2800,6 +2826,64 @@ declare class InhouseCallStats extends EventEmitter {
|
|
|
2800
2826
|
expectedScreenshareResolution(frameWidth: number, frameHeight: number): void;
|
|
2801
2827
|
}
|
|
2802
2828
|
|
|
2829
|
+
type SocketServiceCapability = keyof typeof Capabilities;
|
|
2830
|
+
type SocketStateEvent = 'connected' | 'disconnected' | 'reconnected' | 'errored' | 'reconnecting' | 'reconnectAttempt' | 'reconnectFailure' | 'failed';
|
|
2831
|
+
type SocketServiceCapabilities = SocketServiceCapability[];
|
|
2832
|
+
interface SocketConnectionState {
|
|
2833
|
+
state: Extract<SocketStateEvent, 'connected' | 'disconnected' | 'reconnecting' | 'failed'>;
|
|
2834
|
+
reconnected: boolean;
|
|
2835
|
+
reconnectionAttempt: number;
|
|
2836
|
+
}
|
|
2837
|
+
declare class SocketService {
|
|
2838
|
+
readonly roomName: string;
|
|
2839
|
+
readonly authToken: string;
|
|
2840
|
+
readonly capabilities: SocketServiceCapabilities;
|
|
2841
|
+
get joinAttempted(): boolean;
|
|
2842
|
+
set joinAttempted(value: boolean);
|
|
2843
|
+
get telemetry(): Telemetry;
|
|
2844
|
+
get logger(): Logger;
|
|
2845
|
+
get peerId(): string;
|
|
2846
|
+
constructor(context: Context<ContextState>, { peerId, meetingId, authToken, capabilities, }: {
|
|
2847
|
+
peerId: string;
|
|
2848
|
+
meetingId: string;
|
|
2849
|
+
authToken: string;
|
|
2850
|
+
capabilities: SocketServiceCapabilities;
|
|
2851
|
+
});
|
|
2852
|
+
updateURL(peerID: string): void;
|
|
2853
|
+
private static getSocketEdgeDomain;
|
|
2854
|
+
get url(): string;
|
|
2855
|
+
connect(): Promise<void>;
|
|
2856
|
+
disconnect(): void;
|
|
2857
|
+
get isConnected(): boolean;
|
|
2858
|
+
sendMessage(event: number, protobuf?: Uint8Array, messageId?: string): boolean;
|
|
2859
|
+
sendMessagePromise(event: number, protobuf?: Uint8Array, messageId?: string, resp?: number): Promise<{
|
|
2860
|
+
id: string;
|
|
2861
|
+
payload: Uint8Array;
|
|
2862
|
+
}>;
|
|
2863
|
+
sendMessagePromiseWithTimeout({ event, timeout, protobuf, messageId, resp, }: {
|
|
2864
|
+
timeout: number;
|
|
2865
|
+
event: number;
|
|
2866
|
+
protobuf?: Uint8Array;
|
|
2867
|
+
messageId?: string;
|
|
2868
|
+
resp?: number;
|
|
2869
|
+
}): Promise<{
|
|
2870
|
+
id: string;
|
|
2871
|
+
payload: Uint8Array;
|
|
2872
|
+
}>;
|
|
2873
|
+
on(event: number, listener: (message: {
|
|
2874
|
+
id?: string;
|
|
2875
|
+
payload?: Uint8Array;
|
|
2876
|
+
}) => void): void;
|
|
2877
|
+
onStateEvent(event: SocketStateEvent, listener: (...args: any) => void): void;
|
|
2878
|
+
removeListener(event: number, listener: (message: {
|
|
2879
|
+
id?: string;
|
|
2880
|
+
payload?: Uint8Array;
|
|
2881
|
+
}) => void): void;
|
|
2882
|
+
removeListeners(event: number): void;
|
|
2883
|
+
flush(): any;
|
|
2884
|
+
handleSocketConnectionEvents(): void;
|
|
2885
|
+
}
|
|
2886
|
+
|
|
2803
2887
|
declare global {
|
|
2804
2888
|
interface SymbolConstructor {
|
|
2805
2889
|
readonly observable: symbol;
|
|
@@ -2832,9 +2916,9 @@ type StringKeysOfFoo = StringKeyOf<Foo>;
|
|
|
2832
2916
|
*/
|
|
2833
2917
|
type StringKeyOf<BaseType> = `${Extract<keyof BaseType, string | number>}`;
|
|
2834
2918
|
|
|
2835
|
-
declare class
|
|
2836
|
-
logger:
|
|
2837
|
-
constructor(logger:
|
|
2919
|
+
declare class CustomEventEmitter<T extends string | symbol> extends EventEmitter$1 {
|
|
2920
|
+
logger: Logger | undefined;
|
|
2921
|
+
constructor(logger: Logger);
|
|
2838
2922
|
emit(event: T, ...args: any[]): boolean;
|
|
2839
2923
|
on(event: T, callback: (...args: any[]) => void): this;
|
|
2840
2924
|
addListener(event: T, callback: (...args: any[]) => any): this;
|
|
@@ -2853,9 +2937,9 @@ type EventMap$1 = {
|
|
|
2853
2937
|
type WildCardEvent<T> = {
|
|
2854
2938
|
['*']: (event: StringKeyOf<T>, ...args: any) => void;
|
|
2855
2939
|
};
|
|
2856
|
-
declare class
|
|
2857
|
-
logger:
|
|
2858
|
-
constructor(logger:
|
|
2940
|
+
declare class TypedEventEmitter$1<Events extends EventMap$1 & WildCardEvent<Events>> extends EventEmitter$1 {
|
|
2941
|
+
logger: Logger | undefined;
|
|
2942
|
+
constructor(logger: Logger);
|
|
2859
2943
|
emit<E extends StringKeyOf<Events>>(event: E, ...args: Parameters<Events[E]>): boolean;
|
|
2860
2944
|
on<E extends StringKeyOf<Events>>(event: E, callback: Events[E]): this;
|
|
2861
2945
|
addListener<E extends StringKeyOf<Events>>(event: E, callback: Events[E]): this;
|
|
@@ -2869,79 +2953,151 @@ declare class RTKTypedEventEmitter<Events extends EventMap$1 & WildCardEvent<Eve
|
|
|
2869
2953
|
listenerCount<T extends StringKeyOf<Events>>(event: T): number;
|
|
2870
2954
|
}
|
|
2871
2955
|
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
leaveStage(userId: string): Promise<{
|
|
2885
|
-
id: string;
|
|
2886
|
-
payload: Uint8Array;
|
|
2887
|
-
}>;
|
|
2888
|
-
kick(userIds: string[]): Promise<{
|
|
2889
|
-
id: string;
|
|
2890
|
-
payload: Uint8Array;
|
|
2891
|
-
}>;
|
|
2892
|
-
on(event: number, handler: (socketMessage: StageSocketMessage, messageId?: string) => void): void;
|
|
2893
|
-
getPeerInfo(peerId: string): Promise<PeerInfoResponse>;
|
|
2956
|
+
interface BasicParticipant {
|
|
2957
|
+
userId: string;
|
|
2958
|
+
name?: string;
|
|
2959
|
+
picture?: string;
|
|
2960
|
+
customParticipantId: string;
|
|
2961
|
+
}
|
|
2962
|
+
declare class BasicParticipantsMap extends CustomEventEmitter<'participantsUpdate'> {
|
|
2963
|
+
constructor(logger: Logger);
|
|
2964
|
+
__set(objId: string, obj: BasicParticipant): Map<string, BasicParticipant>;
|
|
2965
|
+
__clear(): void;
|
|
2966
|
+
get(objId: string): BasicParticipant;
|
|
2967
|
+
toArray(): BasicParticipant[];
|
|
2894
2968
|
}
|
|
2895
2969
|
|
|
2896
|
-
type
|
|
2897
|
-
interface
|
|
2970
|
+
type ChatChannelSocketMessage = GetChatChannelResponse;
|
|
2971
|
+
interface ChatChannel {
|
|
2972
|
+
id: string;
|
|
2898
2973
|
displayName: string;
|
|
2899
|
-
|
|
2900
|
-
|
|
2974
|
+
memberIds: string[];
|
|
2975
|
+
displayPictureUrl?: string;
|
|
2976
|
+
visibility?: string;
|
|
2977
|
+
isDirectMessage?: boolean;
|
|
2978
|
+
latestMessage?: Message;
|
|
2979
|
+
unreadCount: number;
|
|
2901
2980
|
}
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2981
|
+
interface UpdateChannelRequestPayload {
|
|
2982
|
+
memberIds?: string[];
|
|
2983
|
+
displayName?: string;
|
|
2984
|
+
displayPictureUrl?: string;
|
|
2985
|
+
visibility?: string;
|
|
2986
|
+
}
|
|
2987
|
+
declare class ChatChannelSocketHandler {
|
|
2988
|
+
get telemetry(): Telemetry;
|
|
2989
|
+
get logger(): Logger;
|
|
2990
|
+
constructor(context: Context<ContextState>, socketService: SocketService);
|
|
2991
|
+
createChannel(displayName: string, memberIds: string[], displayPictureUrl?: string, visibility?: string, isDirectMessage?: boolean): Promise<ChatChannel>;
|
|
2992
|
+
updateChannel(channelId: string, payload: UpdateChannelRequestPayload): Promise<ChatChannel>;
|
|
2993
|
+
static formatChannel(socketChannel: ChatChannel$1): ChatChannel;
|
|
2994
|
+
getChannelMembers(channelId: string): Promise<BasicParticipant[]>;
|
|
2995
|
+
on(event: number, handler: (socketMessage: ChatChannelSocketMessage) => void): void;
|
|
2996
|
+
}
|
|
2997
|
+
|
|
2998
|
+
declare enum ChatMessageType {
|
|
2999
|
+
TEXT = 0,
|
|
3000
|
+
IMAGE = 1,
|
|
3001
|
+
FILE = 2,
|
|
3002
|
+
CUSTOM = 3
|
|
3003
|
+
}
|
|
3004
|
+
type ChatSocketMessage = SendChatMessageToRoomResponse | SendChatMessageToPeersResponse | EditChatMessageResponse | DeleteChatMessageResponse;
|
|
3005
|
+
interface SearchFilters {
|
|
3006
|
+
channelId?: string;
|
|
3007
|
+
timestamp?: number;
|
|
3008
|
+
size?: number;
|
|
3009
|
+
reversed?: boolean;
|
|
3010
|
+
}
|
|
3011
|
+
declare class ChatSocketHandler {
|
|
3012
|
+
get telemetry(): Telemetry;
|
|
3013
|
+
get logger(): Logger;
|
|
3014
|
+
constructor(context: Context<ContextState>, socketService: SocketService);
|
|
3015
|
+
getChatMessages(): Promise<{
|
|
2927
3016
|
id: string;
|
|
2928
3017
|
payload: Uint8Array;
|
|
2929
3018
|
}>;
|
|
3019
|
+
getChatMessagesPaginated(timeStamp: number, size: number, reversed: boolean, offset?: number, channelId?: string): Promise<GetPaginatedChatMessageRoomResponse>;
|
|
3020
|
+
sendMessageToRoom(message: string, messageType: ChatMessageType): void;
|
|
3021
|
+
sendMessageToPeers(message: string, messageType: ChatMessageType, peerIds: string[]): void;
|
|
3022
|
+
sendMessageToChannel(message: string, messageType: ChatMessageType, channelId: string): void;
|
|
3023
|
+
sendMessage(message: string, messageType: ChatMessageType, peerIds?: string[], channelId?: string): void;
|
|
3024
|
+
editMessage(chatId: string, message: string, payloadType: ChatMessageType, channelId?: string, pinned?: boolean): Promise<ChatMessage>;
|
|
3025
|
+
deleteMessage(chatId: string, channelId?: string): Promise<{
|
|
3026
|
+
channelId?: string;
|
|
3027
|
+
id: string;
|
|
3028
|
+
}>;
|
|
3029
|
+
searchMessages(query: string, filters: SearchFilters): Promise<ChatMessage[]>;
|
|
3030
|
+
getAllChannels(): Promise<ChatChannel[]>;
|
|
3031
|
+
markLastReadMessage(channelId: string, message: Message): Promise<string>;
|
|
3032
|
+
setPinState(message: Message, pin: boolean): Promise<PinChatMessageResponse>;
|
|
3033
|
+
on(event: number, handler: (socketMessage: ChatSocketMessage) => void): void;
|
|
2930
3034
|
}
|
|
2931
3035
|
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
3036
|
+
declare class SelectedPeers {
|
|
3037
|
+
private readonly _activeSpeakerPeers;
|
|
3038
|
+
private readonly _compulsoryPeers;
|
|
3039
|
+
constructor();
|
|
3040
|
+
add(peerId: string, priority: number, context: Context<ContextState>): number;
|
|
3041
|
+
delete(peerId: string, context: Context<ContextState>): void;
|
|
3042
|
+
index(peerId: string): number;
|
|
3043
|
+
get peers(): string[];
|
|
3044
|
+
get compulsoryPeers(): string[];
|
|
3045
|
+
get activeSpeakerPeers(): string[];
|
|
3046
|
+
private _removeFromCompulsoryPeer;
|
|
2935
3047
|
}
|
|
2936
3048
|
|
|
2937
|
-
type
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
3049
|
+
type PipEvents = {
|
|
3050
|
+
['cameraToggled']: () => void;
|
|
3051
|
+
['micToggled']: () => void;
|
|
3052
|
+
['hangup']: () => void;
|
|
3053
|
+
['pipStarted']: () => void;
|
|
3054
|
+
['pipEnded']: () => void;
|
|
3055
|
+
['*']: (eventName: string, ...args: any[]) => void;
|
|
3056
|
+
};
|
|
3057
|
+
declare class Pip extends TypedEventEmitter$1<PipEvents> {
|
|
3058
|
+
private constructor();
|
|
3059
|
+
static _init(context: Context<ContextState>, self: Self): Promise<Pip>;
|
|
3060
|
+
private setupIcon;
|
|
3061
|
+
overrideIcon(icon: 'handRaise' | 'pin', value: string): Promise<void>;
|
|
3062
|
+
private constructImage;
|
|
3063
|
+
private createVideoContainer;
|
|
3064
|
+
private setupEventListeners;
|
|
3065
|
+
private cleanupEventListeners;
|
|
3066
|
+
private enablePipMediaControls;
|
|
3067
|
+
private onSelfVideoUpdateListener;
|
|
3068
|
+
private onSelfAudioUpdateListener;
|
|
3069
|
+
private handlePipMediaControls;
|
|
3070
|
+
private createCanvas;
|
|
3071
|
+
private eventCallback;
|
|
3072
|
+
private setupMediaSessionEvents;
|
|
3073
|
+
private mountAudioEvents;
|
|
3074
|
+
private mountVideoEvents;
|
|
3075
|
+
private unmountEvents;
|
|
3076
|
+
private getSources;
|
|
3077
|
+
private drawEmptyTile;
|
|
3078
|
+
private drawIcons;
|
|
3079
|
+
private drawTile;
|
|
3080
|
+
private calcGridElemSize;
|
|
3081
|
+
private paintCanvas;
|
|
3082
|
+
private animate;
|
|
3083
|
+
isSupported(): boolean;
|
|
3084
|
+
get isActive(): boolean;
|
|
3085
|
+
private cleanup;
|
|
3086
|
+
init({ height, width }?: {
|
|
3087
|
+
height?: number;
|
|
3088
|
+
width?: number;
|
|
3089
|
+
}): void;
|
|
3090
|
+
private updateMediaSession;
|
|
3091
|
+
enableSource(source: string): void;
|
|
3092
|
+
disableSource(source: string): void;
|
|
3093
|
+
private generateAvatar;
|
|
3094
|
+
addSource(id: string, element: HTMLVideoElement, enabled: boolean, pinned?: boolean, displayText?: string, imageUrl?: string, handRaised?: boolean): void;
|
|
3095
|
+
updateSource(id: string, source: any): void;
|
|
3096
|
+
removeSource(id: string): void;
|
|
3097
|
+
removePinnedSource(): void;
|
|
3098
|
+
removeAllSources(): void;
|
|
3099
|
+
enable(): void;
|
|
3100
|
+
disable: (partial?: boolean) => void;
|
|
2945
3101
|
}
|
|
2946
3102
|
|
|
2947
3103
|
declare enum TransportState {
|
|
@@ -2953,11 +3109,6 @@ declare enum TransportState {
|
|
|
2953
3109
|
FAILED = "failed",
|
|
2954
3110
|
CLOSED = "closed"
|
|
2955
3111
|
}
|
|
2956
|
-
declare enum MediaNodeType {
|
|
2957
|
-
HIVE = 1,
|
|
2958
|
-
ROOM_NODE = 2,
|
|
2959
|
-
CF = 3
|
|
2960
|
-
}
|
|
2961
3112
|
type MediaConnectionState = {
|
|
2962
3113
|
recv: {
|
|
2963
3114
|
state: `${TransportState}`;
|
|
@@ -2967,20 +3118,193 @@ type MediaConnectionState = {
|
|
|
2967
3118
|
};
|
|
2968
3119
|
};
|
|
2969
3120
|
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
3121
|
+
type EventHandlerTypes = PeerInfoResponse | GetWaitingRoomRequests | RecordingEvent | UpdatePeersPresetResponse | PeerJoinBroadcastResponse | PeerJoinCompleteResponse | GlobalPeerPinningBroadcastResponse | PeerLeaveResponse | SelectedPeersResponse | SelectedPeersDiffResponse;
|
|
3122
|
+
declare class RoomSocketHandler {
|
|
3123
|
+
socket: SocketService;
|
|
3124
|
+
get telemetry(): Telemetry;
|
|
3125
|
+
get logger(): Logger;
|
|
3126
|
+
cleanup(): void;
|
|
3127
|
+
constructor(context: Context<ContextState>, socketService: SocketService);
|
|
3128
|
+
joinRoom(opts: {
|
|
3129
|
+
name: string;
|
|
3130
|
+
id: string;
|
|
3131
|
+
userId: string;
|
|
3132
|
+
customParticipantId: string;
|
|
3133
|
+
picture?: string;
|
|
3134
|
+
}): Promise<{
|
|
3135
|
+
peer: Peer;
|
|
3136
|
+
}>;
|
|
3137
|
+
getAllAddedParticipants(): Promise<BasicParticipant[]>;
|
|
3138
|
+
getRoomPeers(searchQuery: string, limit: number, offset: number): Promise<RoomPeersInfoResponse>;
|
|
3139
|
+
getRoomPeersNonPaginated(): Promise<RoomPeersInfoResponse>;
|
|
3140
|
+
getStagePeers(): Promise<RoomPeersInfoResponse>;
|
|
3141
|
+
getPeerInfo(peerId: string): Promise<PeerInfoResponse>;
|
|
3142
|
+
getRoomState(): Promise<RoomInfoResponse>;
|
|
3143
|
+
getRoomStageState(): Promise<GetRoomStageStateResponse>;
|
|
3144
|
+
broadcastMessage(type: string, payload: BroadcastMessagePayload): Promise<{
|
|
3145
|
+
id: string;
|
|
3146
|
+
payload: Uint8Array;
|
|
3147
|
+
}>;
|
|
3148
|
+
broadcastToMeetings(type: string, meetingIds: string[], payload: BroadcastMessagePayload): Promise<{
|
|
3149
|
+
id: string;
|
|
3150
|
+
payload: Uint8Array;
|
|
3151
|
+
}>;
|
|
3152
|
+
broadcastToPeers(type: string, peerIds: string[], payload: BroadcastMessagePayload): Promise<boolean>;
|
|
3153
|
+
leaveRoom(): Promise<void>;
|
|
3154
|
+
kick(peerId: string): Promise<void>;
|
|
3155
|
+
kickAll(propagateKickAll?: boolean): Promise<void>;
|
|
3156
|
+
getWaitingRoomRequests(): void;
|
|
3157
|
+
acceptWaitingRoomRequest(userIds: string[]): void;
|
|
3158
|
+
rejectWaitingRoomRequest(userIds: string[]): void;
|
|
3159
|
+
updatePermissions(userIds: string[], patch: PresetUpdates): Promise<{
|
|
3160
|
+
id: string;
|
|
3161
|
+
payload: Uint8Array;
|
|
3162
|
+
}>;
|
|
3163
|
+
private handleSocketEvents;
|
|
3164
|
+
on(event: number, handler: (message: EventHandlerTypes) => void): void;
|
|
3165
|
+
getUserPermissions(userId: string): Promise<Pick<PresetTypeV2['permissions'], 'chat' | 'polls' | 'plugins'>>;
|
|
2974
3166
|
}
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
3167
|
+
|
|
3168
|
+
type TranscriptionData = {
|
|
3169
|
+
id: string;
|
|
3170
|
+
name: string;
|
|
3171
|
+
peerId: string;
|
|
3172
|
+
userId: string;
|
|
3173
|
+
customParticipantId: string;
|
|
3174
|
+
transcript: string;
|
|
3175
|
+
isPartialTranscript: boolean;
|
|
3176
|
+
date: Date;
|
|
3177
|
+
};
|
|
3178
|
+
type AiEvents = {
|
|
3179
|
+
['transcript']: (t: TranscriptionData) => void;
|
|
3180
|
+
['*']: (event: string, ...args: any[]) => void;
|
|
3181
|
+
};
|
|
3182
|
+
declare class Ai extends TypedEventEmitter$1<AiEvents> {
|
|
3183
|
+
transcripts: TranscriptionData[];
|
|
3184
|
+
get telemetry(): Telemetry;
|
|
3185
|
+
constructor(context: Context<ContextState>);
|
|
3186
|
+
static init(context: Context<ContextState>, transcriptionEnabled: boolean): Promise<Ai>;
|
|
3187
|
+
static parseTranscript(transcriptData: string, isPartialTranscript?: boolean): TranscriptionData | undefined;
|
|
3188
|
+
static parseTranscripts(transcriptData: string): TranscriptionData[];
|
|
3189
|
+
getActiveTranscript(): Promise<void>;
|
|
3190
|
+
onTranscript(transcript: TranscriptionData): Promise<void>;
|
|
3191
|
+
}
|
|
3192
|
+
|
|
3193
|
+
type ActiveTabType = 'screenshare' | 'plugin';
|
|
3194
|
+
interface ActiveTab {
|
|
3195
|
+
type: ActiveTabType;
|
|
3196
|
+
id: string;
|
|
3197
|
+
}
|
|
3198
|
+
declare enum TabChangeSource {
|
|
3199
|
+
User = 0,
|
|
3200
|
+
Meeting = 1
|
|
3201
|
+
}
|
|
3202
|
+
interface MediaConnectionUpdate {
|
|
3203
|
+
transport: 'consuming' | 'producing';
|
|
3204
|
+
state: `${TransportState}`;
|
|
3205
|
+
reconnected: boolean;
|
|
3206
|
+
}
|
|
3207
|
+
type MetaEvents = {
|
|
3208
|
+
['mediaConnectionUpdate']: (payload: MediaConnectionUpdate) => void;
|
|
3209
|
+
['socketConnectionUpdate']: (state: SocketConnectionState) => void;
|
|
3210
|
+
['poorConnection']: (payload: {
|
|
3211
|
+
score: number;
|
|
3212
|
+
}) => void;
|
|
3213
|
+
['meetingStartTimeUpdate']: (payload: {
|
|
3214
|
+
meetingStartedTimestamp: Date;
|
|
3215
|
+
}) => void;
|
|
3216
|
+
['transcript']: (t: TranscriptionData) => void;
|
|
3217
|
+
['activeTabUpdate']: (tab: ActiveTab) => void;
|
|
3218
|
+
['selfTabUpdate']: (tab: ActiveTab) => void;
|
|
3219
|
+
['broadcastTabChangesUpdate']: (broadcastTabChanges: boolean) => void;
|
|
3220
|
+
['*']: (event: string, ...args: any[]) => void;
|
|
3221
|
+
};
|
|
3222
|
+
declare class Meta extends TypedEventEmitter$1<MetaEvents> {
|
|
3223
|
+
selfActiveTab: ActiveTab | undefined;
|
|
3224
|
+
get socketState(): SocketConnectionState;
|
|
3225
|
+
get mediaState(): MediaConnectionState;
|
|
3226
|
+
broadcastTabChanges: boolean;
|
|
3227
|
+
viewType: string;
|
|
3228
|
+
meetingStartedTimestamp: Date;
|
|
3229
|
+
meetingTitle: string;
|
|
3230
|
+
sessionId: string;
|
|
3231
|
+
constructor(context: Context<ContextState>, self: Self, viewType: string, roomSocketHandler: RoomSocketHandler, meetingTitle: string);
|
|
3232
|
+
get meetingId(): string;
|
|
3233
|
+
setBroadcastTabChanges(broadcastTabChanges: boolean): void;
|
|
3234
|
+
setSelfActiveTab(spotlightTab: ActiveTab, tabChangeSource: TabChangeSource): void;
|
|
3235
|
+
private assertActiveTabToRoom;
|
|
3236
|
+
}
|
|
3237
|
+
|
|
3238
|
+
interface MapEvents<T extends EventMap$1> {
|
|
3239
|
+
onAddEvent?: keyof T;
|
|
3240
|
+
onDeleteEvent?: keyof T;
|
|
3241
|
+
onClearEvent?: keyof T;
|
|
3242
|
+
}
|
|
3243
|
+
type ModifyPrependObject<T extends EventMap$1, U> = {
|
|
3244
|
+
[K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>;
|
|
3245
|
+
} & {
|
|
3246
|
+
['*']: (event: String, ...args: any[]) => void;
|
|
3247
|
+
};
|
|
3248
|
+
declare class ClientMap<T extends (EventMap$1 & WildCardEvent<T>), U extends {
|
|
3249
|
+
id: string;
|
|
3250
|
+
} & TypedEventEmitter$1<T>, V extends EventMap$1> extends Map<string, U> {
|
|
3251
|
+
readonly onAddEvent: keyof V;
|
|
3252
|
+
readonly onDeleteEvent: keyof V;
|
|
3253
|
+
readonly onClearEvent: keyof V;
|
|
3254
|
+
constructor(options: MapEvents<V>, logger?: Logger);
|
|
3255
|
+
emit<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, ...args: Parameters<(V | ModifyPrependObject<T, U>)[E]>): boolean;
|
|
3256
|
+
on<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter$1<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3257
|
+
"*": (event: String, ...args: any[]) => void;
|
|
3258
|
+
} & V>;
|
|
3259
|
+
addListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter$1<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3260
|
+
"*": (event: String, ...args: any[]) => void;
|
|
3261
|
+
} & V>;
|
|
3262
|
+
off<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter$1<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3263
|
+
"*": (event: String, ...args: any[]) => void;
|
|
3264
|
+
} & V>;
|
|
3265
|
+
once<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter$1<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3266
|
+
"*": (event: String, ...args: any[]) => void;
|
|
3267
|
+
} & V>;
|
|
3268
|
+
prependListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter$1<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3269
|
+
"*": (event: String, ...args: any[]) => void;
|
|
3270
|
+
} & V>;
|
|
3271
|
+
prependOnceListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter$1<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3272
|
+
"*": (event: String, ...args: any[]) => void;
|
|
3273
|
+
} & V>;
|
|
3274
|
+
removeListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): TypedEventEmitter$1<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3275
|
+
"*": (event: String, ...args: any[]) => void;
|
|
3276
|
+
} & V>;
|
|
3277
|
+
removeAllListeners<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event?: E): TypedEventEmitter$1<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3278
|
+
"*": (event: String, ...args: any[]) => void;
|
|
3279
|
+
} & V>;
|
|
3280
|
+
listeners<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E): Function[];
|
|
3281
|
+
listenerCount<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E): number;
|
|
3282
|
+
getMaxListeners(): number;
|
|
3283
|
+
setMaxListeners(n: number): TypedEventEmitter$1<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3284
|
+
"*": (event: String, ...args: any[]) => void;
|
|
3285
|
+
} & V>;
|
|
3286
|
+
eventNames(): (string | symbol)[];
|
|
3287
|
+
add(obj: U, emitEvent?: boolean): this;
|
|
3288
|
+
set(objId: string, obj: U, emitEvent?: boolean): this;
|
|
3289
|
+
delete(objId: string, emitEvent?: boolean, removeListeners?: boolean): boolean;
|
|
3290
|
+
clear(emitEvent?: boolean, removeListeners?: boolean): void;
|
|
3291
|
+
toArray(): U[];
|
|
3292
|
+
}
|
|
3293
|
+
|
|
3294
|
+
interface GenericHandlerResult {
|
|
3295
|
+
offerSdp: RTCSessionDescriptionInit;
|
|
3296
|
+
callback: (answer: RTCSessionDescriptionInit) => Promise<any>;
|
|
3297
|
+
sender?: RTCRtpSender;
|
|
3298
|
+
}
|
|
3299
|
+
type HandlerRunOptions = {
|
|
3300
|
+
direction: 'send' | 'recv';
|
|
3301
|
+
iceServers?: RTCIceServer[];
|
|
3302
|
+
iceTransportPolicy?: RTCIceTransportPolicy;
|
|
3303
|
+
additionalSettings?: any;
|
|
3304
|
+
proprietaryConstraints?: any;
|
|
3305
|
+
onTrackHandler?: (event: RTCTrackEvent) => void;
|
|
3306
|
+
};
|
|
3307
|
+
type CodecOption = {
|
|
2984
3308
|
name: string;
|
|
2985
3309
|
parameters?: string[];
|
|
2986
3310
|
};
|
|
@@ -2995,11 +3319,15 @@ interface HandlerSendResult extends GenericHandlerResult {
|
|
|
2995
3319
|
mid: string;
|
|
2996
3320
|
}
|
|
2997
3321
|
declare abstract class HandlerInterface<TransportPromiseEvents> extends EnhancedEventEmitter<TransportPromiseEvents> {
|
|
3322
|
+
protected _sendWebStream: MediaStream;
|
|
3323
|
+
protected _sendScreenShareStream: MediaStream;
|
|
3324
|
+
protected _direction?: 'send' | 'recv';
|
|
2998
3325
|
pc: RTCPeerConnection;
|
|
3326
|
+
protected _transportReady: boolean;
|
|
3327
|
+
private readonly _mapMidTransceiver;
|
|
2999
3328
|
enableHighBitrate: boolean;
|
|
3000
3329
|
enableStereo: boolean;
|
|
3001
3330
|
enableDtx: boolean;
|
|
3002
|
-
sfu: MediaNodeType;
|
|
3003
3331
|
get midTransceiverMap(): Map<string, RTCRtpTransceiver>;
|
|
3004
3332
|
abstract get name(): string;
|
|
3005
3333
|
close(): void;
|
|
@@ -3007,6 +3335,8 @@ declare abstract class HandlerInterface<TransportPromiseEvents> extends Enhanced
|
|
|
3007
3335
|
init({ direction, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, onTrackHandler, }: HandlerRunOptions): void;
|
|
3008
3336
|
connect(): Promise<GenericHandlerResult>;
|
|
3009
3337
|
getTransportStats(): Promise<RTCStatsReport>;
|
|
3338
|
+
protected _assertSendDirection(): void;
|
|
3339
|
+
protected _assertRecvDirection(): void;
|
|
3010
3340
|
getReceiverStats(localId: string): Promise<RTCStatsReport>;
|
|
3011
3341
|
stopSending(localId: string): Promise<GenericHandlerResult>;
|
|
3012
3342
|
abstract send(options: HandlerSendOptions): Promise<HandlerSendResult>;
|
|
@@ -3018,8 +3348,6 @@ declare abstract class HandlerInterface<TransportPromiseEvents> extends Enhanced
|
|
|
3018
3348
|
addCustomEventListeners(): void;
|
|
3019
3349
|
}
|
|
3020
3350
|
|
|
3021
|
-
type MediaKind$1 = 'audio' | 'video';
|
|
3022
|
-
|
|
3023
3351
|
type DCMessage = {
|
|
3024
3352
|
type: string;
|
|
3025
3353
|
payload: Record<string, unknown>;
|
|
@@ -3050,7 +3378,7 @@ type ConsumerOptions = {
|
|
|
3050
3378
|
transceiver: RTCRtpTransceiver;
|
|
3051
3379
|
closeTranscieverOnClose?: boolean;
|
|
3052
3380
|
};
|
|
3053
|
-
type MediaKind = 'audio' | 'video';
|
|
3381
|
+
type MediaKind$1 = 'audio' | 'video';
|
|
3054
3382
|
declare class Consumer extends EnhancedEventEmitter<TransportPromiseEvents> {
|
|
3055
3383
|
readonly rtpReceiver: RTCRtpReceiver;
|
|
3056
3384
|
readonly id: string;
|
|
@@ -3062,9 +3390,9 @@ declare class Consumer extends EnhancedEventEmitter<TransportPromiseEvents> {
|
|
|
3062
3390
|
readonly peerId: string;
|
|
3063
3391
|
readonly appData: Record<string, unknown>;
|
|
3064
3392
|
readonly transceiver: RTCRtpTransceiver;
|
|
3065
|
-
constructor(context: Context<
|
|
3393
|
+
constructor(context: Context<ContextState>, opts: ConsumerOptions);
|
|
3066
3394
|
get closed(): boolean;
|
|
3067
|
-
get kind(): MediaKind;
|
|
3395
|
+
get kind(): MediaKind$1;
|
|
3068
3396
|
get paused(): boolean;
|
|
3069
3397
|
close(reason?: string, closeTranscieverOnClose?: boolean): void;
|
|
3070
3398
|
getStats(): Promise<RTCStatsReport>;
|
|
@@ -3090,15 +3418,15 @@ type ParticipantEvents = {
|
|
|
3090
3418
|
video: MediaStreamTrack;
|
|
3091
3419
|
};
|
|
3092
3420
|
}) => void;
|
|
3093
|
-
['pinned']: (payload:
|
|
3094
|
-
['unpinned']: (payload:
|
|
3421
|
+
['pinned']: (payload: Participant) => void;
|
|
3422
|
+
['unpinned']: (payload: Participant) => void;
|
|
3095
3423
|
['poorConnection']: (payload: {
|
|
3096
3424
|
score: number;
|
|
3097
3425
|
kind: string;
|
|
3098
3426
|
}) => void;
|
|
3099
|
-
['stageStatusUpdate']: (payload:
|
|
3427
|
+
['stageStatusUpdate']: (payload: Participant) => void;
|
|
3100
3428
|
['mediaScoreUpdate']: (payload: {
|
|
3101
|
-
kind: MediaKind;
|
|
3429
|
+
kind: MediaKind$1;
|
|
3102
3430
|
isScreenshare: boolean;
|
|
3103
3431
|
score: number;
|
|
3104
3432
|
participantId: string;
|
|
@@ -3134,8 +3462,8 @@ type SelfEvents = {
|
|
|
3134
3462
|
removed: MediaDeviceInfo[];
|
|
3135
3463
|
devices: MediaDeviceInfo[];
|
|
3136
3464
|
}) => void;
|
|
3137
|
-
['pinned']: (payload:
|
|
3138
|
-
['unpinned']: (payload:
|
|
3465
|
+
['pinned']: (payload: Self) => void;
|
|
3466
|
+
['unpinned']: (payload: Self) => void;
|
|
3139
3467
|
['mediaPermissionUpdate']: (payload: {
|
|
3140
3468
|
message: keyof typeof MediaPermission;
|
|
3141
3469
|
kind: 'audio' | 'video' | 'screenshare';
|
|
@@ -3146,7 +3474,7 @@ type SelfEvents = {
|
|
|
3146
3474
|
kind: 'audio' | 'video' | 'screenshare';
|
|
3147
3475
|
}) => void;
|
|
3148
3476
|
['mediaScoreUpdate']: (payload: {
|
|
3149
|
-
kind: MediaKind;
|
|
3477
|
+
kind: MediaKind$1;
|
|
3150
3478
|
isScreenshare: boolean;
|
|
3151
3479
|
score: number;
|
|
3152
3480
|
participantId: string;
|
|
@@ -3163,223 +3491,500 @@ type SelfEvents = {
|
|
|
3163
3491
|
['*']: (event: string, ...args: any[]) => void;
|
|
3164
3492
|
};
|
|
3165
3493
|
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
speaker: MediaDeviceInfo;
|
|
3181
|
-
};
|
|
3182
|
-
get permissions(): {
|
|
3183
|
-
audio?: MediaPermission$1;
|
|
3184
|
-
video?: MediaPermission$1;
|
|
3185
|
-
screenshare?: MediaPermission$1;
|
|
3186
|
-
};
|
|
3187
|
-
getAllDevices(): Promise<InputDeviceInfo[]>;
|
|
3188
|
-
getDeviceById(deviceId: string, kind?: 'audioinput' | 'audiooutput' | 'videoinput'): Promise<MediaDeviceInfo>;
|
|
3189
|
-
get rawAudioTrack(): MediaStreamTrack;
|
|
3190
|
-
get audioTrack(): MediaStreamTrack;
|
|
3191
|
-
get audioEnabled(): boolean;
|
|
3192
|
-
enableAudio(customTrack?: MediaStreamTrack): Promise<void>;
|
|
3193
|
-
disableAudio(): void;
|
|
3194
|
-
getAudioDevices(devices?: MediaDeviceInfo[]): Promise<MediaDeviceInfo[]>;
|
|
3195
|
-
setAudioDevice(device: MediaDeviceInfo): Promise<void>;
|
|
3196
|
-
setupSpeaker(): Promise<void>;
|
|
3197
|
-
setSpeakerDevice(device: MediaDeviceInfo): Promise<void>;
|
|
3198
|
-
get rawVideoTrack(): MediaStreamTrack;
|
|
3199
|
-
get videoTrack(): MediaStreamTrack;
|
|
3200
|
-
get videoEnabled(): boolean;
|
|
3201
|
-
enableVideo(customTrack?: MediaStreamTrack): Promise<void>;
|
|
3202
|
-
disableVideo(): void;
|
|
3203
|
-
getVideoDevices(devices?: MediaDeviceInfo[]): Promise<MediaDeviceInfo[]>;
|
|
3204
|
-
setVideoDevice(device: MediaDeviceInfo): Promise<void>;
|
|
3205
|
-
updateVideoConstraints(resolution: VideoQualityConstraints): Promise<void>;
|
|
3206
|
-
get screenShareTracks(): {
|
|
3207
|
-
audio: MediaStreamTrack;
|
|
3208
|
-
video: MediaStreamTrack;
|
|
3209
|
-
};
|
|
3210
|
-
get screenShareEnabled(): boolean;
|
|
3211
|
-
enableScreenShare(): Promise<void>;
|
|
3212
|
-
disableScreenShare(): Promise<void>;
|
|
3213
|
-
updateScreenshareConstraints(resolution: VideoQualityConstraints): Promise<void>;
|
|
3214
|
-
getSpeakerDevices(devices?: MediaDeviceInfo[]): Promise<MediaDeviceInfo[]>;
|
|
3215
|
-
addAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<ResponseStatus>;
|
|
3216
|
-
removeAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<ResponseStatus>;
|
|
3217
|
-
removeAllAudioMiddlewares(): Promise<ResponseStatus>;
|
|
3218
|
-
addVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<ResponseStatus>;
|
|
3219
|
-
removeVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<ResponseStatus>;
|
|
3220
|
-
removeAllVideoMiddlewares(): Promise<ResponseStatus>;
|
|
3221
|
-
setVideoMiddlewareGlobalConfig(config: VideoMiddlewareGlobalConfig): Promise<void>;
|
|
3222
|
-
destruct(): void;
|
|
3223
|
-
onDeviceChange(changedDevices: {
|
|
3224
|
-
added: MediaDeviceInfo[];
|
|
3225
|
-
removed: MediaDeviceInfo[];
|
|
3226
|
-
devices: MediaDeviceInfo[];
|
|
3227
|
-
}, skipDeviceChange: boolean): Promise<void>;
|
|
3228
|
-
removeAllTracks(): void;
|
|
3229
|
-
removeAudioTrack(): void;
|
|
3230
|
-
removeVideoTrack(): void;
|
|
3231
|
-
removeDocumentEventListeners(): Promise<void>;
|
|
3494
|
+
type ParticipantMapEvents = {
|
|
3495
|
+
['participantJoined']: (payload: Participant) => void;
|
|
3496
|
+
['participantLeft']: (payload: Participant) => void;
|
|
3497
|
+
['participantsCleared']: () => void;
|
|
3498
|
+
['participantsUpdate']: () => void;
|
|
3499
|
+
['kicked']: (payload: {
|
|
3500
|
+
id: string;
|
|
3501
|
+
}) => void;
|
|
3502
|
+
};
|
|
3503
|
+
declare class ParticipantMap<T extends Pick<Participant, 'id' | keyof TypedEventEmitter$1<ParticipantEvents>> = Participant> extends ClientMap<ParticipantEvents, T, ParticipantMapEvents> {
|
|
3504
|
+
constructor(logger: Logger, options?: MapEvents<ParticipantMapEvents>);
|
|
3505
|
+
add(participant: T, emitEvent?: boolean): this;
|
|
3506
|
+
clear(emitEvent?: boolean, removeListeners?: boolean): void;
|
|
3507
|
+
delete(participantId: string, emitEvent?: boolean, removeListeners?: boolean): boolean;
|
|
3232
3508
|
}
|
|
3233
3509
|
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3510
|
+
type StageSocketMessage = GetStageRequestsResponse | GetStagePeersResponse | DenyStageAccessRequest | PeerStatusUpdate;
|
|
3511
|
+
declare class StageSocketHandler {
|
|
3512
|
+
constructor(socketService: SocketService);
|
|
3513
|
+
getStageRequests(): Promise<GetStageRequestsResponse>;
|
|
3514
|
+
requestAccess(): void;
|
|
3515
|
+
cancelRequestAccess(): void;
|
|
3516
|
+
grantAccess(userIds: string[]): Promise<void>;
|
|
3517
|
+
denyAccess(userIds: string[]): Promise<void>;
|
|
3518
|
+
joinStage(): Promise<{
|
|
3519
|
+
id: string;
|
|
3520
|
+
payload: Uint8Array;
|
|
3521
|
+
}>;
|
|
3522
|
+
leaveStage(userId: string): Promise<{
|
|
3523
|
+
id: string;
|
|
3524
|
+
payload: Uint8Array;
|
|
3525
|
+
}>;
|
|
3526
|
+
kick(userIds: string[]): Promise<{
|
|
3527
|
+
id: string;
|
|
3528
|
+
payload: Uint8Array;
|
|
3529
|
+
}>;
|
|
3530
|
+
on(event: number, handler: (socketMessage: StageSocketMessage, messageId?: string) => void): void;
|
|
3531
|
+
getPeerInfo(peerId: string): Promise<PeerInfoResponse>;
|
|
3242
3532
|
}
|
|
3243
3533
|
|
|
3244
|
-
type
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
}
|
|
3250
|
-
type
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
enableStereo?: boolean;
|
|
3260
|
-
enableHighBitrate?: boolean;
|
|
3261
|
-
};
|
|
3262
|
-
type VideoQualityConstraints = {
|
|
3263
|
-
width: {
|
|
3264
|
-
ideal: number;
|
|
3265
|
-
};
|
|
3266
|
-
height: {
|
|
3267
|
-
ideal: number;
|
|
3268
|
-
};
|
|
3269
|
-
frameRate?: {
|
|
3270
|
-
ideal: number;
|
|
3271
|
-
};
|
|
3534
|
+
type StageStatus = 'OFF_STAGE' | 'REQUESTED_TO_JOIN_STAGE' | 'ACCEPTED_TO_JOIN_STAGE' | 'ON_STAGE';
|
|
3535
|
+
interface StageRequestPayload {
|
|
3536
|
+
displayName: string;
|
|
3537
|
+
userId: string;
|
|
3538
|
+
peerId: string;
|
|
3539
|
+
}
|
|
3540
|
+
type StageEvents = {
|
|
3541
|
+
['stageAccessRequestUpdate']: (requests?: StageRequestPayload[]) => void;
|
|
3542
|
+
['stageStatusUpdate']: (status: StageStatus) => void;
|
|
3543
|
+
['newStageRequest']: (payload: {
|
|
3544
|
+
count: number;
|
|
3545
|
+
}) => void;
|
|
3546
|
+
['stageRequestApproved']: () => void;
|
|
3547
|
+
['stageRequestRejected']: () => void;
|
|
3548
|
+
['*']: (eventName: string, ...args: any[]) => void;
|
|
3272
3549
|
};
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3550
|
+
declare class Stage extends TypedEventEmitter$1<StageEvents> {
|
|
3551
|
+
get telemetry(): Telemetry;
|
|
3552
|
+
constructor(context: Context<ContextState>, self: Self, participants: Participants, stageSocketHandler: StageSocketHandler, roomSocketHandler: RoomSocketHandler);
|
|
3553
|
+
get status(): StageStatus;
|
|
3554
|
+
private setupEvents;
|
|
3555
|
+
getAccessRequests(): {
|
|
3556
|
+
stageRequests: StageRequestPayload[];
|
|
3276
3557
|
};
|
|
3277
|
-
|
|
3278
|
-
|
|
3558
|
+
requestAccess(): Promise<void>;
|
|
3559
|
+
cancelRequestAccess(): Promise<void>;
|
|
3560
|
+
grantAccess(userIds: string[]): Promise<void>;
|
|
3561
|
+
denyAccess(userIds: string[]): Promise<void>;
|
|
3562
|
+
get peerId(): string;
|
|
3563
|
+
join(): Promise<void>;
|
|
3564
|
+
leave(): Promise<void>;
|
|
3565
|
+
kick(userIds: string[]): Promise<{
|
|
3566
|
+
id: string;
|
|
3567
|
+
payload: Uint8Array;
|
|
3568
|
+
}>;
|
|
3569
|
+
}
|
|
3570
|
+
|
|
3571
|
+
declare const modes: readonly ["ACTIVE_GRID", "PAGINATED", "MANUAL"];
|
|
3572
|
+
type ViewMode = (typeof modes)[number];
|
|
3573
|
+
interface BroadcastMessagePayload {
|
|
3574
|
+
[key: string]: boolean | number | string | Date | ActiveTab;
|
|
3575
|
+
}
|
|
3576
|
+
interface PeerProducerConfig {
|
|
3577
|
+
audio: boolean;
|
|
3578
|
+
video: boolean;
|
|
3579
|
+
screenshareAudio: boolean;
|
|
3580
|
+
screenshareVideo: boolean;
|
|
3581
|
+
}
|
|
3582
|
+
type BroadcastMessageTarget = {
|
|
3583
|
+
participantIds: string[];
|
|
3584
|
+
} | {
|
|
3585
|
+
presetNames: string[];
|
|
3586
|
+
} | {
|
|
3587
|
+
meetingIds: string[];
|
|
3588
|
+
};
|
|
3589
|
+
type JoinedPeer = {
|
|
3590
|
+
id: string;
|
|
3591
|
+
userId: string;
|
|
3592
|
+
name: string;
|
|
3593
|
+
stageType?: StageStatus;
|
|
3594
|
+
customParticipantId?: string;
|
|
3595
|
+
presetId?: string;
|
|
3596
|
+
picture?: string;
|
|
3597
|
+
waitlisted: boolean;
|
|
3598
|
+
recorderType?: string;
|
|
3599
|
+
stageStatus?: StageStatus;
|
|
3600
|
+
metadata?: {
|
|
3601
|
+
preset_name?: string;
|
|
3279
3602
|
};
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3603
|
+
flags?: {
|
|
3604
|
+
hiddenParticipant?: boolean;
|
|
3605
|
+
recorder?: boolean;
|
|
3283
3606
|
};
|
|
3284
|
-
displaySurface?: 'window' | 'monitor' | 'browser';
|
|
3285
|
-
selfBrowserSurface?: 'include' | 'exclude';
|
|
3286
3607
|
};
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
}
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3608
|
+
type ParticipantsEvents = {
|
|
3609
|
+
['viewModeChanged']: (payload: {
|
|
3610
|
+
viewMode: string;
|
|
3611
|
+
currentPage: number;
|
|
3612
|
+
pageCount: number;
|
|
3613
|
+
}) => void;
|
|
3614
|
+
['activeSpeaker']: (payload: {
|
|
3615
|
+
peerId: string;
|
|
3616
|
+
volume: number;
|
|
3617
|
+
}) => void;
|
|
3618
|
+
['broadcastedMessage']: (payload: {
|
|
3619
|
+
type: string;
|
|
3620
|
+
payload: BroadcastMessagePayload;
|
|
3621
|
+
timestamp: number;
|
|
3622
|
+
}) => void;
|
|
3623
|
+
['poorConnection']: (payload: {
|
|
3624
|
+
participantId: string;
|
|
3625
|
+
score: number;
|
|
3626
|
+
kind: string;
|
|
3627
|
+
}) => void;
|
|
3628
|
+
['pageChanged']: (payload: {
|
|
3629
|
+
viewMode: string;
|
|
3630
|
+
currentPage: number;
|
|
3631
|
+
pageCount: number;
|
|
3632
|
+
}) => void;
|
|
3633
|
+
['mediaScoreUpdate']: (payload: {
|
|
3634
|
+
kind: string;
|
|
3635
|
+
isScreenshare: boolean;
|
|
3636
|
+
score: number;
|
|
3637
|
+
participantId: string;
|
|
3638
|
+
scoreStats: ConsumerScoreStats;
|
|
3639
|
+
}) => void;
|
|
3640
|
+
['media_decode_error']: (payload: {
|
|
3641
|
+
reason: string;
|
|
3642
|
+
code: '1702' | '1703';
|
|
3643
|
+
}) => void;
|
|
3644
|
+
['*']: (event: string, ...args: any[]) => void;
|
|
3297
3645
|
};
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
};
|
|
3311
|
-
screenshare: {
|
|
3312
|
-
quality: MediaScreenShareQualityType;
|
|
3313
|
-
frameRate: number;
|
|
3314
|
-
};
|
|
3315
|
-
};
|
|
3316
|
-
livestreamViewerQualities: LivestreamViewerMediaQualityType[];
|
|
3317
|
-
maxVideoStreams: {
|
|
3318
|
-
mobile: number;
|
|
3319
|
-
desktop: number;
|
|
3320
|
-
};
|
|
3321
|
-
maxScreenshareCount: number;
|
|
3646
|
+
declare class Participants extends TypedEventEmitter$1<ParticipantsEvents> {
|
|
3647
|
+
readonly waitlisted: Readonly<ParticipantMap<Omit<Participant, 'audioTrack' | 'videoTrack' | 'screenShareTracks'>>>;
|
|
3648
|
+
readonly joined: Readonly<ParticipantMap>;
|
|
3649
|
+
readonly active: Readonly<ParticipantMap>;
|
|
3650
|
+
readonly videoSubscribed: Readonly<ParticipantMap>;
|
|
3651
|
+
readonly audioSubscribed: Readonly<ParticipantMap>;
|
|
3652
|
+
readonly pinned: Readonly<ParticipantMap>;
|
|
3653
|
+
readonly all: Readonly<BasicParticipantsMap>;
|
|
3654
|
+
get pip(): Pip;
|
|
3655
|
+
rateLimitConfig: {
|
|
3656
|
+
maxInvocations: number;
|
|
3657
|
+
period: number;
|
|
3322
3658
|
};
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3659
|
+
get rateLimits(): {
|
|
3660
|
+
maxInvocations: number;
|
|
3661
|
+
period: number;
|
|
3662
|
+
};
|
|
3663
|
+
updateRateLimits(num: number, period: number): void;
|
|
3664
|
+
get telemetry(): Telemetry;
|
|
3665
|
+
viewMode: ViewMode;
|
|
3666
|
+
currentPage: number;
|
|
3667
|
+
lastActiveSpeaker: string;
|
|
3668
|
+
selectedPeers: SelectedPeers;
|
|
3669
|
+
constructor(context: Context<ContextState>, self: Self, roomSocketHandler: RoomSocketHandler);
|
|
3670
|
+
setupEvents(): void;
|
|
3671
|
+
get count(): number;
|
|
3672
|
+
get maxActiveParticipantsCount(): number;
|
|
3673
|
+
setMaxActiveParticipantsCount(limit: number): void;
|
|
3674
|
+
get pageCount(): number;
|
|
3675
|
+
acceptWaitingRoomRequest(id: string): void;
|
|
3676
|
+
acceptAllWaitingRoomRequest(userIds: string[]): Promise<void>;
|
|
3677
|
+
rejectWaitingRoomRequest(id: string): Promise<void>;
|
|
3678
|
+
setViewMode(viewMode: ViewMode): Promise<void>;
|
|
3679
|
+
subscribe(peerIds: string[], kinds?: ('audio' | 'video' | 'screenshareAudio' | 'screenshareVideo')[]): Promise<void>;
|
|
3680
|
+
unsubscribe(peerIds: string[], kinds?: ('audio' | 'video' | 'screenshareAudio' | 'screenshareVideo')[]): Promise<void>;
|
|
3681
|
+
getPeerIdsForCurrentPage(): string[];
|
|
3682
|
+
setPage(page: number): Promise<void>;
|
|
3683
|
+
disableAllAudio(allowUnmute: boolean): Promise<void>;
|
|
3684
|
+
disableAllVideo(): Promise<void>;
|
|
3685
|
+
disableAudio(participantId: string): Promise<void>;
|
|
3686
|
+
disableVideo(participantId: string): Promise<void>;
|
|
3687
|
+
kick(participantId: string): Promise<void>;
|
|
3688
|
+
kickAll(): Promise<void>;
|
|
3689
|
+
broadcastMessage(type: Exclude<string, 'spotlight'>, payload: BroadcastMessagePayload, target?: BroadcastMessageTarget): Promise<void>;
|
|
3690
|
+
getAllJoinedPeers(searchQuery: string, limit: number, offset: number): Promise<{
|
|
3691
|
+
id: string;
|
|
3692
|
+
userId: string;
|
|
3693
|
+
name: string;
|
|
3694
|
+
displayName: string;
|
|
3695
|
+
stageType: StageStatus;
|
|
3696
|
+
customParticipantId: string;
|
|
3697
|
+
presetId: string;
|
|
3698
|
+
picture: string;
|
|
3699
|
+
waitlisted: boolean;
|
|
3700
|
+
stageStatus: StageStatus;
|
|
3701
|
+
metadata: {
|
|
3702
|
+
preset_name: string;
|
|
3346
3703
|
};
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3704
|
+
recorderType: string;
|
|
3705
|
+
flags: {
|
|
3706
|
+
hiddenParticipant: boolean;
|
|
3707
|
+
hidden_participant: boolean;
|
|
3708
|
+
recorder: boolean;
|
|
3352
3709
|
};
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3710
|
+
}[]>;
|
|
3711
|
+
updatePermissions(participantIds: string[], permissions: PresetUpdates): Promise<void>;
|
|
3712
|
+
getParticipantsInMeetingPreJoin(): Promise<RoomPeersInfoResponse>;
|
|
3713
|
+
}
|
|
3714
|
+
|
|
3715
|
+
interface FetchRequestConfig {
|
|
3716
|
+
baseURL?: string;
|
|
3717
|
+
url?: string;
|
|
3718
|
+
method?: string;
|
|
3719
|
+
headers?: Record<string, string>;
|
|
3720
|
+
timeout?: number;
|
|
3721
|
+
retry?: number;
|
|
3722
|
+
retryDelay?: number;
|
|
3723
|
+
responseType?: string;
|
|
3724
|
+
data?: any;
|
|
3725
|
+
params?: Record<string, string>;
|
|
3726
|
+
}
|
|
3727
|
+
interface FetchResponse<T = any> {
|
|
3728
|
+
data: T;
|
|
3729
|
+
status: number;
|
|
3730
|
+
statusText: string;
|
|
3731
|
+
headers: Record<string, string>;
|
|
3732
|
+
config: FetchRequestConfig;
|
|
3733
|
+
}
|
|
3734
|
+
declare class FetchClient {
|
|
3735
|
+
defaults: {
|
|
3736
|
+
baseURL: string;
|
|
3737
|
+
headers: {
|
|
3738
|
+
common: Record<string, string>;
|
|
3363
3739
|
};
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3740
|
+
timeout: number;
|
|
3741
|
+
retry: number;
|
|
3742
|
+
retryDelay: number;
|
|
3743
|
+
};
|
|
3744
|
+
constructor(options: {
|
|
3745
|
+
baseURL: string;
|
|
3746
|
+
timeout: number;
|
|
3747
|
+
retry: number;
|
|
3748
|
+
retryDelay: number;
|
|
3749
|
+
responseType?: string;
|
|
3750
|
+
});
|
|
3751
|
+
private buildURL;
|
|
3752
|
+
request<T = any>(config: FetchRequestConfig): Promise<FetchResponse<T>>;
|
|
3753
|
+
get<T = any>(url: string, config?: FetchRequestConfig): Promise<FetchResponse<T>>;
|
|
3754
|
+
post<T = any>(url: string, data?: any, config?: FetchRequestConfig): Promise<FetchResponse<T>>;
|
|
3755
|
+
put<T = any>(url: string, data?: any, config?: FetchRequestConfig): Promise<FetchResponse<T>>;
|
|
3756
|
+
}
|
|
3757
|
+
|
|
3758
|
+
interface ResponseStatus {
|
|
3759
|
+
success: boolean;
|
|
3760
|
+
message: string;
|
|
3761
|
+
}
|
|
3762
|
+
|
|
3763
|
+
type MediaPermission$1 = 'NOT_REQUESTED' | 'ACCEPTED' | 'DENIED' | 'SYSTEM_DENIED' | 'COULD_NOT_START' | 'NO_DEVICES_AVAILABLE' | 'CANCELED';
|
|
3764
|
+
|
|
3765
|
+
declare class LocalMediaHandler extends CustomEventEmitter<LocalMediaEvents> {
|
|
3766
|
+
get telemetry(): Telemetry;
|
|
3767
|
+
audioUpdateInProgress: boolean;
|
|
3768
|
+
videoUpdateInProgress: boolean;
|
|
3769
|
+
constructor(context: Context<ContextState>, mediaConstraints: MediaConstraints, isNonPreferredDevice?: (media: MediaDeviceInfo) => boolean, autoSwitchDevice?: boolean);
|
|
3770
|
+
set context(context: Context<ContextState>);
|
|
3771
|
+
private onVisibilityChange;
|
|
3772
|
+
repopulateAvailableDevices(): Promise<boolean>;
|
|
3773
|
+
setupStreams({ audio, video, }: {
|
|
3774
|
+
audio: boolean;
|
|
3775
|
+
video: boolean;
|
|
3776
|
+
}): Promise<void>;
|
|
3777
|
+
getCurrentDevices(): {
|
|
3778
|
+
audio: MediaDeviceInfo;
|
|
3779
|
+
video: MediaDeviceInfo;
|
|
3780
|
+
speaker: MediaDeviceInfo;
|
|
3781
|
+
};
|
|
3782
|
+
get permissions(): {
|
|
3783
|
+
audio?: MediaPermission$1;
|
|
3784
|
+
video?: MediaPermission$1;
|
|
3785
|
+
screenshare?: MediaPermission$1;
|
|
3786
|
+
};
|
|
3787
|
+
getAllDevices(): Promise<InputDeviceInfo[]>;
|
|
3788
|
+
getDeviceById(deviceId: string, kind?: 'audioinput' | 'audiooutput' | 'videoinput'): Promise<MediaDeviceInfo>;
|
|
3789
|
+
private onAudioTrackMuted;
|
|
3790
|
+
private onAudioTrackChanged;
|
|
3791
|
+
get rawAudioTrack(): MediaStreamTrack;
|
|
3792
|
+
get audioTrack(): MediaStreamTrack;
|
|
3793
|
+
get audioEnabled(): boolean;
|
|
3794
|
+
enableAudio(customTrack?: MediaStreamTrack): Promise<void>;
|
|
3795
|
+
disableAudio(): void;
|
|
3796
|
+
getAudioDevices(devices?: MediaDeviceInfo[]): Promise<MediaDeviceInfo[]>;
|
|
3797
|
+
setAudioDevice(device: MediaDeviceInfo): Promise<void>;
|
|
3798
|
+
setupSpeaker(): Promise<void>;
|
|
3799
|
+
setSpeakerDevice(device: MediaDeviceInfo): Promise<void>;
|
|
3800
|
+
private onVideoTrackChanged;
|
|
3801
|
+
private onVideoTrackEnded;
|
|
3802
|
+
get rawVideoTrack(): MediaStreamTrack;
|
|
3803
|
+
get videoTrack(): MediaStreamTrack;
|
|
3804
|
+
get videoEnabled(): boolean;
|
|
3805
|
+
enableVideo(customTrack?: MediaStreamTrack): Promise<void>;
|
|
3806
|
+
disableVideo(): void;
|
|
3807
|
+
getVideoDevices(devices?: MediaDeviceInfo[]): Promise<MediaDeviceInfo[]>;
|
|
3808
|
+
setVideoDevice(device: MediaDeviceInfo): Promise<void>;
|
|
3809
|
+
updateVideoConstraints(resolution: VideoQualityConstraints): Promise<void>;
|
|
3810
|
+
private onScreenShareEnded;
|
|
3811
|
+
get screenShareTracks(): {
|
|
3812
|
+
audio: MediaStreamTrack;
|
|
3813
|
+
video: MediaStreamTrack;
|
|
3814
|
+
};
|
|
3815
|
+
get screenShareEnabled(): boolean;
|
|
3816
|
+
enableScreenShare(): Promise<void>;
|
|
3817
|
+
disableScreenShare(): Promise<void>;
|
|
3818
|
+
updateScreenshareConstraints(resolution: VideoQualityConstraints): Promise<void>;
|
|
3819
|
+
getSpeakerDevices(devices?: MediaDeviceInfo[]): Promise<MediaDeviceInfo[]>;
|
|
3820
|
+
addAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<ResponseStatus>;
|
|
3821
|
+
removeAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<ResponseStatus>;
|
|
3822
|
+
removeAllAudioMiddlewares(): Promise<ResponseStatus>;
|
|
3823
|
+
addVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<ResponseStatus>;
|
|
3824
|
+
removeVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<ResponseStatus>;
|
|
3825
|
+
removeAllVideoMiddlewares(): Promise<ResponseStatus>;
|
|
3826
|
+
setVideoMiddlewareGlobalConfig(config: VideoMiddlewareGlobalConfig): Promise<void>;
|
|
3827
|
+
destruct(): void;
|
|
3828
|
+
onDeviceChange(changedDevices: {
|
|
3829
|
+
added: MediaDeviceInfo[];
|
|
3830
|
+
removed: MediaDeviceInfo[];
|
|
3831
|
+
devices: MediaDeviceInfo[];
|
|
3832
|
+
}, skipDeviceChange: boolean): Promise<void>;
|
|
3833
|
+
removeAllTracks(): void;
|
|
3834
|
+
removeAudioTrack(): void;
|
|
3835
|
+
removeVideoTrack(): void;
|
|
3836
|
+
removeDocumentEventListeners(): Promise<void>;
|
|
3837
|
+
}
|
|
3838
|
+
|
|
3839
|
+
declare enum MediaPermission {
|
|
3840
|
+
NOT_REQUESTED = 0,
|
|
3841
|
+
ACCEPTED = 1,
|
|
3842
|
+
DENIED = 2,
|
|
3843
|
+
CANCELED = 3,
|
|
3844
|
+
SYSTEM_DENIED = 4,
|
|
3845
|
+
COULD_NOT_START = 5,
|
|
3846
|
+
NO_DEVICES_AVAILABLE = 6
|
|
3847
|
+
}
|
|
3848
|
+
|
|
3849
|
+
type AudioMiddleware = (audioContext: AudioContext) => Promise<ScriptProcessorNode | AudioWorkletNode>;
|
|
3850
|
+
|
|
3851
|
+
type VideoMiddleware = (() => Promise<(canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D) => Promise<void>>) | ((helpers: {
|
|
3852
|
+
canvas: HTMLCanvasElement;
|
|
3853
|
+
WorkerTimers: typeof WorkerTimers;
|
|
3854
|
+
}) => Promise<void>);
|
|
3855
|
+
type VideoMiddlewareGlobalConfig = {
|
|
3856
|
+
disablePerFrameCanvasRendering: boolean;
|
|
3857
|
+
};
|
|
3858
|
+
|
|
3859
|
+
type PresetMediaConstraints = PresetV2CamelCased['config']['media'];
|
|
3860
|
+
type AudioQualityConstraints = {
|
|
3861
|
+
echoCancellation?: boolean;
|
|
3862
|
+
noiseSupression?: boolean;
|
|
3863
|
+
autoGainControl?: boolean;
|
|
3864
|
+
enableStereo?: boolean;
|
|
3865
|
+
enableHighBitrate?: boolean;
|
|
3866
|
+
};
|
|
3867
|
+
type VideoQualityConstraints = {
|
|
3868
|
+
width: {
|
|
3869
|
+
ideal: number;
|
|
3870
|
+
};
|
|
3871
|
+
height: {
|
|
3872
|
+
ideal: number;
|
|
3873
|
+
};
|
|
3874
|
+
frameRate?: {
|
|
3875
|
+
ideal: number;
|
|
3876
|
+
};
|
|
3877
|
+
};
|
|
3878
|
+
type ScreenshareQualityConstraints = {
|
|
3879
|
+
width?: {
|
|
3880
|
+
max: number;
|
|
3881
|
+
};
|
|
3882
|
+
height?: {
|
|
3883
|
+
max: number;
|
|
3884
|
+
};
|
|
3885
|
+
frameRate?: {
|
|
3886
|
+
ideal: number;
|
|
3887
|
+
max: number;
|
|
3888
|
+
};
|
|
3889
|
+
displaySurface?: 'window' | 'monitor' | 'browser';
|
|
3890
|
+
selfBrowserSurface?: 'include' | 'exclude';
|
|
3891
|
+
};
|
|
3892
|
+
interface ClientMediaTrackConstraints extends MediaTrackConstraints {
|
|
3893
|
+
optional?: Array<object>;
|
|
3894
|
+
}
|
|
3895
|
+
interface ClientMediaStreamConstraints extends MediaStreamConstraints {
|
|
3896
|
+
audio?: boolean | ClientMediaTrackConstraints;
|
|
3897
|
+
}
|
|
3898
|
+
type MediaConstraints = {
|
|
3899
|
+
audio?: AudioQualityConstraints;
|
|
3900
|
+
video?: MediaVideoQualityType | VideoQualityConstraints;
|
|
3901
|
+
screenshare?: ScreenshareQualityConstraints;
|
|
3902
|
+
};
|
|
3903
|
+
|
|
3904
|
+
type PresetV2CamelCased = {
|
|
3905
|
+
config: {
|
|
3906
|
+
viewType: ViewType;
|
|
3907
|
+
media: {
|
|
3908
|
+
audio: {
|
|
3909
|
+
enableStereo: boolean;
|
|
3910
|
+
enableHighBitrate: boolean;
|
|
3911
|
+
};
|
|
3912
|
+
video: {
|
|
3913
|
+
quality: MediaVideoQualityType;
|
|
3914
|
+
frameRate: number;
|
|
3915
|
+
};
|
|
3916
|
+
screenshare: {
|
|
3917
|
+
quality: MediaScreenShareQualityType;
|
|
3918
|
+
frameRate: number;
|
|
3919
|
+
};
|
|
3920
|
+
};
|
|
3921
|
+
livestreamViewerQualities: LivestreamViewerMediaQualityType[];
|
|
3922
|
+
maxVideoStreams: {
|
|
3923
|
+
mobile: number;
|
|
3924
|
+
desktop: number;
|
|
3925
|
+
};
|
|
3926
|
+
maxScreenshareCount: number;
|
|
3927
|
+
};
|
|
3928
|
+
permissions: {
|
|
3929
|
+
acceptWaitingRequests: boolean;
|
|
3930
|
+
canAcceptProductionRequests: boolean;
|
|
3931
|
+
canEditDisplayName: boolean;
|
|
3932
|
+
canRecord: boolean;
|
|
3933
|
+
canLivestream: boolean;
|
|
3934
|
+
canSpotlight?: boolean;
|
|
3935
|
+
disableParticipantAudio: boolean;
|
|
3936
|
+
disableParticipantScreensharing: boolean;
|
|
3937
|
+
disableParticipantVideo: boolean;
|
|
3938
|
+
kickParticipant: boolean;
|
|
3939
|
+
pinParticipant: boolean;
|
|
3940
|
+
plugins: {
|
|
3941
|
+
canClose: boolean;
|
|
3942
|
+
canStart: boolean;
|
|
3943
|
+
canEditConfig?: boolean;
|
|
3944
|
+
config: {
|
|
3945
|
+
[pluginId: string]: Partial<{
|
|
3946
|
+
accessControl: PluginAccessControls.FULL_ACCESS | PluginAccessControls.VIEW_ONLY;
|
|
3947
|
+
disabled: boolean;
|
|
3948
|
+
handlesViewOnly: boolean;
|
|
3949
|
+
}>;
|
|
3950
|
+
};
|
|
3951
|
+
};
|
|
3952
|
+
waitingRoomType: WaitingRoomTypes;
|
|
3953
|
+
polls: {
|
|
3954
|
+
canCreate: boolean;
|
|
3955
|
+
canVote: boolean;
|
|
3956
|
+
canView: boolean;
|
|
3957
|
+
};
|
|
3958
|
+
media: {
|
|
3959
|
+
video: {
|
|
3960
|
+
canProduce: MediaProductionPermissionType;
|
|
3961
|
+
};
|
|
3962
|
+
audio: {
|
|
3963
|
+
canProduce: MediaProductionPermissionType;
|
|
3964
|
+
};
|
|
3965
|
+
screenshare: {
|
|
3966
|
+
canProduce: MediaProductionPermissionType;
|
|
3967
|
+
};
|
|
3968
|
+
};
|
|
3969
|
+
chat: {
|
|
3970
|
+
public: {
|
|
3971
|
+
canSend: boolean;
|
|
3972
|
+
text: boolean;
|
|
3973
|
+
files: boolean;
|
|
3974
|
+
};
|
|
3975
|
+
private?: {
|
|
3976
|
+
canSend: boolean;
|
|
3977
|
+
canReceive: boolean;
|
|
3978
|
+
text: boolean;
|
|
3979
|
+
files: boolean;
|
|
3980
|
+
};
|
|
3981
|
+
channel?: {
|
|
3982
|
+
canCreate: 'NONE' | 'PRIVATE' | 'PUBLIC' | 'ALL';
|
|
3983
|
+
canDelete: 'NONE' | 'PRIVATE' | 'PUBLIC' | 'ALL';
|
|
3984
|
+
canUpdate: 'NONE' | 'PRIVATE' | 'PUBLIC' | 'ALL';
|
|
3985
|
+
canReadAll: boolean;
|
|
3986
|
+
};
|
|
3987
|
+
message?: {
|
|
3383
3988
|
canDelete: 'NONE' | 'SELF' | 'ALL';
|
|
3384
3989
|
canEdit: 'NONE' | 'SELF' | 'ALL';
|
|
3385
3990
|
deleteCutoffTimeSeconds: number;
|
|
@@ -3440,11 +4045,11 @@ type PresetV2CamelCased = {
|
|
|
3440
4045
|
name?: string;
|
|
3441
4046
|
};
|
|
3442
4047
|
type MaxVideoStreams = PresetV2CamelCased['config']['maxVideoStreams'];
|
|
3443
|
-
declare class
|
|
4048
|
+
declare class ThemePreset {
|
|
3444
4049
|
private constructor();
|
|
3445
|
-
static fromResponse(preset: PresetV2CamelCased):
|
|
3446
|
-
static default():
|
|
3447
|
-
static init(preset?: PresetV2CamelCased, useDefault?: boolean):
|
|
4050
|
+
static fromResponse(preset: PresetV2CamelCased): ThemePreset;
|
|
4051
|
+
static default(): ThemePreset;
|
|
4052
|
+
static init(preset?: PresetV2CamelCased, useDefault?: boolean): ThemePreset;
|
|
3448
4053
|
get setupScreen(): Readonly<{
|
|
3449
4054
|
isEnabled: boolean;
|
|
3450
4055
|
}>;
|
|
@@ -3489,7 +4094,6 @@ declare class RTKThemePreset$1 {
|
|
|
3489
4094
|
}
|
|
3490
4095
|
|
|
3491
4096
|
type PresetPermissions = PresetV2CamelCased['permissions'];
|
|
3492
|
-
type MediaRoomType = 'HIVE' | 'CF';
|
|
3493
4097
|
type PermissionEvents = {
|
|
3494
4098
|
['chatUpdate']: () => void;
|
|
3495
4099
|
['pollsUpdate']: () => void;
|
|
@@ -3497,12 +4101,13 @@ type PermissionEvents = {
|
|
|
3497
4101
|
['permissionsUpdate']: (patch: PresetUpdates) => void;
|
|
3498
4102
|
['*']: () => void;
|
|
3499
4103
|
};
|
|
3500
|
-
declare class
|
|
4104
|
+
declare class PermissionPreset extends TypedEventEmitter$1<PermissionEvents> {
|
|
3501
4105
|
private constructor();
|
|
3502
|
-
|
|
3503
|
-
static
|
|
3504
|
-
static
|
|
3505
|
-
|
|
4106
|
+
private setupEvents;
|
|
4107
|
+
static fromResponse(response: PresetPermissions, viewType: ViewType, context: Context<ContextState>): PermissionPreset;
|
|
4108
|
+
static default(context: Context<ContextState>, viewType: ViewType): PermissionPreset;
|
|
4109
|
+
static init(context: Context<ContextState>, viewType: ViewType, response?: PresetPermissions): PermissionPreset;
|
|
4110
|
+
get mediaRoomType(): string;
|
|
3506
4111
|
get stageEnabled(): Readonly<boolean>;
|
|
3507
4112
|
get acceptStageRequests(): Readonly<boolean>;
|
|
3508
4113
|
get stageAccess(): Readonly<MediaProductionPermissionType>;
|
|
@@ -3548,603 +4153,34 @@ declare class RTKPermissionsPreset$1 extends RTKTypedEventEmitter<PermissionEven
|
|
|
3548
4153
|
get canLivestream(): Readonly<boolean>;
|
|
3549
4154
|
get transcriptionEnabled(): Readonly<boolean>;
|
|
3550
4155
|
}
|
|
3551
|
-
|
|
3552
|
-
interface UserDetailsResponseV2 {
|
|
3553
|
-
participant: UserDetailsResponse;
|
|
3554
|
-
preset: PresetV2CamelCased;
|
|
3555
|
-
}
|
|
3556
|
-
type LeaveRoomState = 'kicked' | 'ended' | 'left' | 'rejected' | 'connected-meeting' | 'disconnected' | 'failed' | 'stageLeft';
|
|
3557
|
-
declare class SelfController {
|
|
3558
|
-
readonly self:
|
|
3559
|
-
readonly authToken: string;
|
|
3560
|
-
get peerId(): string;
|
|
3561
|
-
viewType: ViewType;
|
|
3562
|
-
get telemetry():
|
|
3563
|
-
get logger():
|
|
3564
|
-
get mediaJoined(): boolean;
|
|
3565
|
-
private constructor();
|
|
3566
|
-
static init(context: Context<
|
|
3567
|
-
shareMediaTracks(): Promise<void>;
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
}, skipAwaits?: boolean, context?: Context<RTKContextState>): Promise<void>;
|
|
3580
|
-
set context(context: Context<RTKContextState>);
|
|
3581
|
-
get audioTrack(): MediaStreamTrack;
|
|
3582
|
-
get rawAudioTrack(): MediaStreamTrack;
|
|
3583
|
-
get mediaPermissions(): {
|
|
3584
|
-
audio?: MediaPermission$1;
|
|
3585
|
-
video?: MediaPermission$1;
|
|
3586
|
-
screenshare?: MediaPermission$1;
|
|
3587
|
-
};
|
|
3588
|
-
addAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<{
|
|
3589
|
-
success: boolean;
|
|
3590
|
-
message: string;
|
|
3591
|
-
}>;
|
|
3592
|
-
removeAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<{
|
|
3593
|
-
success: boolean;
|
|
3594
|
-
message: string;
|
|
3595
|
-
}>;
|
|
3596
|
-
removeAllAudioMiddlewares(): Promise<{
|
|
3597
|
-
success: boolean;
|
|
3598
|
-
message: string;
|
|
3599
|
-
}>;
|
|
3600
|
-
get videoTrack(): MediaStreamTrack;
|
|
3601
|
-
get rawVideoTrack(): MediaStreamTrack;
|
|
3602
|
-
addVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<{
|
|
3603
|
-
success: boolean;
|
|
3604
|
-
message: string;
|
|
3605
|
-
}>;
|
|
3606
|
-
setVideoMiddlewareGlobalConfig(config?: VideoMiddlewareGlobalConfig): Promise<void>;
|
|
3607
|
-
removeVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<{
|
|
3608
|
-
success: boolean;
|
|
3609
|
-
message: string;
|
|
3610
|
-
}>;
|
|
3611
|
-
removeAllVideoMiddlewares(): Promise<{
|
|
3612
|
-
success: boolean;
|
|
3613
|
-
message: string;
|
|
3614
|
-
}>;
|
|
3615
|
-
get screenShareTracks(): {
|
|
3616
|
-
audio: MediaStreamTrack;
|
|
3617
|
-
video: MediaStreamTrack;
|
|
3618
|
-
};
|
|
3619
|
-
get audioEnabled(): boolean;
|
|
3620
|
-
get videoEnabled(): boolean;
|
|
3621
|
-
get screenShareEnabled(): boolean;
|
|
3622
|
-
enableAudio(): Promise<void>;
|
|
3623
|
-
enableVideo(): Promise<void>;
|
|
3624
|
-
disableAudio(): Promise<void>;
|
|
3625
|
-
enableScreenShare(): Promise<void>;
|
|
3626
|
-
disableScreenShare(): Promise<void>;
|
|
3627
|
-
disableVideo(): Promise<void>;
|
|
3628
|
-
getCurrentDevices(): {
|
|
3629
|
-
audio: MediaDeviceInfo;
|
|
3630
|
-
video: MediaDeviceInfo;
|
|
3631
|
-
speaker: MediaDeviceInfo;
|
|
3632
|
-
};
|
|
3633
|
-
getAudioDevices(): Promise<MediaDeviceInfo[]>;
|
|
3634
|
-
getVideoDevices(): Promise<MediaDeviceInfo[]>;
|
|
3635
|
-
getSpeakerDevices(): Promise<MediaDeviceInfo[]>;
|
|
3636
|
-
getDeviceById(deviceId: string, kind: 'audio' | 'video' | 'speaker'): Promise<MediaDeviceInfo>;
|
|
3637
|
-
setDevice(device: MediaDeviceInfo): Promise<void>;
|
|
3638
|
-
}
|
|
3639
|
-
|
|
3640
|
-
interface UserDetailsResponse {
|
|
3641
|
-
id: string;
|
|
3642
|
-
name: string;
|
|
3643
|
-
email: string;
|
|
3644
|
-
picture?: string;
|
|
3645
|
-
loggedIn?: boolean;
|
|
3646
|
-
scope?: string[];
|
|
3647
|
-
clientSpecificId?: string;
|
|
3648
|
-
customParticipantId?: string;
|
|
3649
|
-
organizationId?: string;
|
|
3650
|
-
}
|
|
3651
|
-
declare class RTKSelf$1 extends RTKSelfMedia$1 {
|
|
3652
|
-
name: string;
|
|
3653
|
-
picture: string;
|
|
3654
|
-
customParticipantId: string;
|
|
3655
|
-
waitlistStatus: 'accepted' | 'waiting' | 'rejected' | 'none';
|
|
3656
|
-
role: any;
|
|
3657
|
-
userId: string;
|
|
3658
|
-
organizationId: string;
|
|
3659
|
-
supportsRemoteControl: boolean;
|
|
3660
|
-
device: DeviceConfig;
|
|
3661
|
-
get telemetry(): RTKTelemetry;
|
|
3662
|
-
hidden: boolean;
|
|
3663
|
-
get stageStatus(): StageStatus;
|
|
3664
|
-
get id(): string;
|
|
3665
|
-
get peerId(): string;
|
|
3666
|
-
presetName: string;
|
|
3667
|
-
roomState: 'init' | 'joined' | 'waitlisted' | LeaveRoomState;
|
|
3668
|
-
private constructor();
|
|
3669
|
-
static __init__(context: Context<RTKContextState>, details: UserDetailsResponse, permissions: RTKPermissionsPreset$1, theme: RTKThemePreset$1, presetName: string, skipAwaits?: boolean): Promise<RTKSelf$1>;
|
|
3670
|
-
cleanupEvents(): void;
|
|
3671
|
-
get permissions(): RTKPermissionsPreset$1;
|
|
3672
|
-
get config(): RTKThemePreset$1;
|
|
3673
|
-
get roomJoined(): boolean;
|
|
3674
|
-
setName(name: string): void;
|
|
3675
|
-
setupTracks(options?: {
|
|
3676
|
-
video?: boolean;
|
|
3677
|
-
audio?: boolean;
|
|
3678
|
-
forceReset?: boolean;
|
|
3679
|
-
}): Promise<void>;
|
|
3680
|
-
destructMediaHandler(): Promise<void>;
|
|
3681
|
-
removeDocumentEventListeners(): Promise<void>;
|
|
3682
|
-
enableAudio(customTrack?: MediaStreamTrack): Promise<void>;
|
|
3683
|
-
enableVideo(customTrack?: MediaStreamTrack): Promise<void>;
|
|
3684
|
-
updateVideoConstraints(resolution: VideoQualityConstraints): Promise<void>;
|
|
3685
|
-
enableScreenShare(): Promise<void>;
|
|
3686
|
-
updateScreenshareConstraints(resolution: VideoQualityConstraints): Promise<void>;
|
|
3687
|
-
disableAudio(): Promise<void>;
|
|
3688
|
-
disableVideo(): Promise<void>;
|
|
3689
|
-
disableScreenShare(): Promise<void>;
|
|
3690
|
-
getAllDevices(): Promise<InputDeviceInfo[]>;
|
|
3691
|
-
setIsPinned(isPinned: boolean, emitEvent?: boolean): void;
|
|
3692
|
-
get isPinned(): boolean;
|
|
3693
|
-
pin(): Promise<void>;
|
|
3694
|
-
unpin(): Promise<void>;
|
|
3695
|
-
hide(): Promise<void>;
|
|
3696
|
-
show(): void;
|
|
3697
|
-
setDevice(device: MediaDeviceInfo): Promise<void>;
|
|
3698
|
-
cleanUpTracks(): void;
|
|
3699
|
-
playAudio(): Promise<void>;
|
|
3700
|
-
registerVideoElement(videoElem: HTMLVideoElement, isPreview?: boolean): void;
|
|
3701
|
-
deregisterVideoElement(videoElem?: HTMLVideoElement, isPreview?: boolean): void;
|
|
3702
|
-
}
|
|
3703
|
-
|
|
3704
|
-
interface RTKBasicParticipant {
|
|
3705
|
-
userId: string;
|
|
3706
|
-
name?: string;
|
|
3707
|
-
picture?: string;
|
|
3708
|
-
customParticipantId: string;
|
|
3709
|
-
}
|
|
3710
|
-
declare class RTKBasicParticipantsMap extends RTKEventEmitter<'participantsUpdate'> {
|
|
3711
|
-
constructor(logger: RTKLogger$1);
|
|
3712
|
-
__set(objId: string, obj: RTKBasicParticipant): Map<string, RTKBasicParticipant>;
|
|
3713
|
-
__clear(): void;
|
|
3714
|
-
get(objId: string): RTKBasicParticipant;
|
|
3715
|
-
toArray(): RTKBasicParticipant[];
|
|
3716
|
-
}
|
|
3717
|
-
|
|
3718
|
-
type ChatChannelSocketMessage = GetChatChannelResponse;
|
|
3719
|
-
interface ChatChannel {
|
|
3720
|
-
id: string;
|
|
3721
|
-
displayName: string;
|
|
3722
|
-
memberIds: string[];
|
|
3723
|
-
displayPictureUrl?: string;
|
|
3724
|
-
visibility?: string;
|
|
3725
|
-
isDirectMessage?: boolean;
|
|
3726
|
-
latestMessage?: Message;
|
|
3727
|
-
unreadCount: number;
|
|
3728
|
-
}
|
|
3729
|
-
interface UpdateChannelRequestPayload {
|
|
3730
|
-
memberIds?: string[];
|
|
3731
|
-
displayName?: string;
|
|
3732
|
-
displayPictureUrl?: string;
|
|
3733
|
-
visibility?: string;
|
|
3734
|
-
}
|
|
3735
|
-
declare class ChatChannelSocketHandler {
|
|
3736
|
-
get telemetry(): RTKTelemetry;
|
|
3737
|
-
get logger(): RTKLogger$1;
|
|
3738
|
-
constructor(context: Context<RTKContextState>, socketService: SocketService);
|
|
3739
|
-
createChannel(displayName: string, memberIds: string[], displayPictureUrl?: string, visibility?: string, isDirectMessage?: boolean): Promise<ChatChannel>;
|
|
3740
|
-
updateChannel(channelId: string, payload: UpdateChannelRequestPayload): Promise<ChatChannel>;
|
|
3741
|
-
static formatChannel(socketChannel: ChatChannel$1): ChatChannel;
|
|
3742
|
-
getChannelMembers(channelId: string): Promise<RTKBasicParticipant[]>;
|
|
3743
|
-
on(event: number, handler: (socketMessage: ChatChannelSocketMessage) => void): void;
|
|
3744
|
-
}
|
|
3745
|
-
|
|
3746
|
-
declare enum ChatMessageType {
|
|
3747
|
-
TEXT = 0,
|
|
3748
|
-
IMAGE = 1,
|
|
3749
|
-
FILE = 2,
|
|
3750
|
-
CUSTOM = 3
|
|
3751
|
-
}
|
|
3752
|
-
type ChatSocketMessage = SendChatMessageToRoomResponse | SendChatMessageToPeersResponse | EditChatMessageResponse | DeleteChatMessageResponse;
|
|
3753
|
-
interface SearchFilters {
|
|
3754
|
-
channelId?: string;
|
|
3755
|
-
timestamp?: number;
|
|
3756
|
-
size?: number;
|
|
3757
|
-
reversed?: boolean;
|
|
3758
|
-
}
|
|
3759
|
-
declare class ChatSocketHandler {
|
|
3760
|
-
get telemetry(): RTKTelemetry;
|
|
3761
|
-
get logger(): RTKLogger$1;
|
|
3762
|
-
constructor(context: Context<RTKContextState>, socketService: SocketService);
|
|
3763
|
-
getChatMessages(): Promise<{
|
|
3764
|
-
id: string;
|
|
3765
|
-
payload: Uint8Array;
|
|
3766
|
-
}>;
|
|
3767
|
-
getChatMessagesPaginated(timeStamp: number, size: number, reversed: boolean, offset?: number, channelId?: string): Promise<GetPaginatedChatMessageRoomResponse>;
|
|
3768
|
-
sendMessageToRoom(message: string, messageType: ChatMessageType): void;
|
|
3769
|
-
sendMessageToPeers(message: string, messageType: ChatMessageType, peerIds: string[]): void;
|
|
3770
|
-
sendMessageToChannel(message: string, messageType: ChatMessageType, channelId: string): void;
|
|
3771
|
-
sendMessage(message: string, messageType: ChatMessageType, peerIds?: string[], channelId?: string): void;
|
|
3772
|
-
editMessage(chatId: string, message: string, payloadType: ChatMessageType, channelId?: string, pinned?: boolean): Promise<ChatMessage>;
|
|
3773
|
-
deleteMessage(chatId: string, channelId?: string): Promise<{
|
|
3774
|
-
channelId?: string;
|
|
3775
|
-
id: string;
|
|
3776
|
-
}>;
|
|
3777
|
-
searchMessages(query: string, filters: SearchFilters): Promise<ChatMessage[]>;
|
|
3778
|
-
getAllChannels(): Promise<ChatChannel[]>;
|
|
3779
|
-
markLastReadMessage(channelId: string, message: Message): Promise<string>;
|
|
3780
|
-
setPinState(message: Message, pin: boolean): Promise<PinChatMessageResponse>;
|
|
3781
|
-
on(event: number, handler: (socketMessage: ChatSocketMessage) => void): void;
|
|
3782
|
-
}
|
|
3783
|
-
|
|
3784
|
-
declare class RTKSelectedPeers {
|
|
3785
|
-
constructor();
|
|
3786
|
-
add(peerId: string, priority: number, context: Context<RTKContextState>): number;
|
|
3787
|
-
delete(peerId: string, context: Context<RTKContextState>): void;
|
|
3788
|
-
index(peerId: string): number;
|
|
3789
|
-
get peers(): string[];
|
|
3790
|
-
get compulsoryPeers(): string[];
|
|
3791
|
-
get activeSpeakerPeers(): string[];
|
|
3792
|
-
}
|
|
3793
|
-
|
|
3794
|
-
type PipEvents = {
|
|
3795
|
-
['cameraToggled']: () => void;
|
|
3796
|
-
['micToggled']: () => void;
|
|
3797
|
-
['hangup']: () => void;
|
|
3798
|
-
['pipStarted']: () => void;
|
|
3799
|
-
['pipEnded']: () => void;
|
|
3800
|
-
['*']: (eventName: string, ...args: any[]) => void;
|
|
3801
|
-
};
|
|
3802
|
-
declare class RTKPip extends RTKTypedEventEmitter<PipEvents> {
|
|
3803
|
-
private constructor();
|
|
3804
|
-
static _init(context: Context<RTKContextState>, self: RTKSelf$1): Promise<RTKPip>;
|
|
3805
|
-
overrideIcon(icon: 'handRaise' | 'pin', value: string): Promise<void>;
|
|
3806
|
-
isSupported(): boolean;
|
|
3807
|
-
get isActive(): boolean;
|
|
3808
|
-
init({ height, width }?: {
|
|
3809
|
-
height?: number;
|
|
3810
|
-
width?: number;
|
|
3811
|
-
}): void;
|
|
3812
|
-
enableSource(source: string): void;
|
|
3813
|
-
disableSource(source: string): void;
|
|
3814
|
-
addSource(id: string, element: HTMLVideoElement, enabled: boolean, pinned?: boolean, displayText?: string, imageUrl?: string, handRaised?: boolean): void;
|
|
3815
|
-
updateSource(id: string, source: any): void;
|
|
3816
|
-
removeSource(id: string): void;
|
|
3817
|
-
removePinnedSource(): void;
|
|
3818
|
-
removeAllSources(): void;
|
|
3819
|
-
enable(): void;
|
|
3820
|
-
disable: (partial?: boolean) => void;
|
|
3821
|
-
}
|
|
3822
|
-
|
|
3823
|
-
type TranscriptionData = {
|
|
3824
|
-
id: string;
|
|
3825
|
-
name: string;
|
|
3826
|
-
peerId: string;
|
|
3827
|
-
userId: string;
|
|
3828
|
-
customParticipantId: string;
|
|
3829
|
-
transcript: string;
|
|
3830
|
-
isPartialTranscript: boolean;
|
|
3831
|
-
date: Date;
|
|
3832
|
-
};
|
|
3833
|
-
type AiEvents = {
|
|
3834
|
-
['transcript']: (t: TranscriptionData) => void;
|
|
3835
|
-
['*']: (event: string, ...args: any[]) => void;
|
|
3836
|
-
};
|
|
3837
|
-
declare class RTKAi extends RTKTypedEventEmitter<AiEvents> {
|
|
3838
|
-
transcripts: TranscriptionData[];
|
|
3839
|
-
get telemetry(): RTKTelemetry;
|
|
3840
|
-
constructor(context: Context<RTKContextState>);
|
|
3841
|
-
static init(context: Context<RTKContextState>, transcriptionEnabled: boolean): Promise<RTKAi>;
|
|
3842
|
-
static parseTranscript(transcriptData: string, isPartialTranscript?: boolean): TranscriptionData | undefined;
|
|
3843
|
-
static parseTranscripts(transcriptData: string): TranscriptionData[];
|
|
3844
|
-
getActiveTranscript(): Promise<void>;
|
|
3845
|
-
onTranscript(transcript: TranscriptionData): Promise<void>;
|
|
3846
|
-
}
|
|
3847
|
-
|
|
3848
|
-
type ActiveTabType = 'screenshare' | 'plugin';
|
|
3849
|
-
interface ActiveTab {
|
|
3850
|
-
type: ActiveTabType;
|
|
3851
|
-
id: string;
|
|
3852
|
-
}
|
|
3853
|
-
declare enum TabChangeSource {
|
|
3854
|
-
User = 0,
|
|
3855
|
-
Meeting = 1
|
|
3856
|
-
}
|
|
3857
|
-
interface MediaConnectionUpdate {
|
|
3858
|
-
transport: 'consuming' | 'producing';
|
|
3859
|
-
state: `${TransportState}`;
|
|
3860
|
-
reconnected: boolean;
|
|
3861
|
-
}
|
|
3862
|
-
type MetaEvents = {
|
|
3863
|
-
['mediaConnectionUpdate']: (payload: MediaConnectionUpdate) => void;
|
|
3864
|
-
['socketConnectionUpdate']: (state: SocketConnectionState) => void;
|
|
3865
|
-
['poorConnection']: (payload: {
|
|
3866
|
-
score: number;
|
|
3867
|
-
}) => void;
|
|
3868
|
-
['meetingStartTimeUpdate']: (payload: {
|
|
3869
|
-
meetingStartedTimestamp: Date;
|
|
3870
|
-
}) => void;
|
|
3871
|
-
['transcript']: (t: TranscriptionData) => void;
|
|
3872
|
-
['activeTabUpdate']: (tab: ActiveTab) => void;
|
|
3873
|
-
['selfTabUpdate']: (tab: ActiveTab) => void;
|
|
3874
|
-
['broadcastTabChangesUpdate']: (broadcastTabChanges: boolean) => void;
|
|
3875
|
-
['*']: (event: string, ...args: any[]) => void;
|
|
3876
|
-
};
|
|
3877
|
-
declare class RTKMeta$1 extends RTKTypedEventEmitter<MetaEvents> {
|
|
3878
|
-
selfActiveTab: ActiveTab | undefined;
|
|
3879
|
-
get socketState(): SocketConnectionState;
|
|
3880
|
-
get mediaState(): MediaConnectionState;
|
|
3881
|
-
broadcastTabChanges: boolean;
|
|
3882
|
-
viewType: string;
|
|
3883
|
-
meetingStartedTimestamp: Date;
|
|
3884
|
-
meetingTitle: string;
|
|
3885
|
-
sessionId: string;
|
|
3886
|
-
constructor(context: Context<RTKContextState>, self: RTKSelf, viewType: string, roomSocketHandler: RoomSocketHandler, meetingTitle: string);
|
|
3887
|
-
get meetingId(): string;
|
|
3888
|
-
setBroadcastTabChanges(broadcastTabChanges: boolean): void;
|
|
3889
|
-
setSelfActiveTab(spotlightTab: ActiveTab, tabChangeSource: TabChangeSource): void;
|
|
3890
|
-
}
|
|
3891
|
-
|
|
3892
|
-
interface RTKMapEvents<T extends EventMap$1> {
|
|
3893
|
-
onAddEvent?: keyof T;
|
|
3894
|
-
onDeleteEvent?: keyof T;
|
|
3895
|
-
onClearEvent?: keyof T;
|
|
3896
|
-
}
|
|
3897
|
-
type ModifyPrependObject<T extends EventMap$1, U> = {
|
|
3898
|
-
[K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>;
|
|
3899
|
-
} & {
|
|
3900
|
-
['*']: (event: String, ...args: any[]) => void;
|
|
3901
|
-
};
|
|
3902
|
-
declare class RTKMap<T extends (EventMap$1 & WildCardEvent<T>), U extends {
|
|
3903
|
-
id: string;
|
|
3904
|
-
} & RTKTypedEventEmitter<T>, V extends EventMap$1> extends Map<string, U> {
|
|
3905
|
-
readonly onAddEvent: keyof V;
|
|
3906
|
-
readonly onDeleteEvent: keyof V;
|
|
3907
|
-
readonly onClearEvent: keyof V;
|
|
3908
|
-
constructor(options: RTKMapEvents<V>, logger?: RTKLogger$1);
|
|
3909
|
-
emit<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, ...args: Parameters<(V | ModifyPrependObject<T, U>)[E]>): boolean;
|
|
3910
|
-
on<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): RTKTypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3911
|
-
"*": (event: String, ...args: any[]) => void;
|
|
3912
|
-
} & V>;
|
|
3913
|
-
addListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): RTKTypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3914
|
-
"*": (event: String, ...args: any[]) => void;
|
|
3915
|
-
} & V>;
|
|
3916
|
-
off<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): RTKTypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3917
|
-
"*": (event: String, ...args: any[]) => void;
|
|
3918
|
-
} & V>;
|
|
3919
|
-
once<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): RTKTypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3920
|
-
"*": (event: String, ...args: any[]) => void;
|
|
3921
|
-
} & V>;
|
|
3922
|
-
prependListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): RTKTypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3923
|
-
"*": (event: String, ...args: any[]) => void;
|
|
3924
|
-
} & V>;
|
|
3925
|
-
prependOnceListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): RTKTypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3926
|
-
"*": (event: String, ...args: any[]) => void;
|
|
3927
|
-
} & V>;
|
|
3928
|
-
removeListener<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E, callback: (ModifyPrependObject<T, U> & V)[E]): RTKTypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3929
|
-
"*": (event: String, ...args: any[]) => void;
|
|
3930
|
-
} & V>;
|
|
3931
|
-
removeAllListeners<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event?: E): RTKTypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3932
|
-
"*": (event: String, ...args: any[]) => void;
|
|
3933
|
-
} & V>;
|
|
3934
|
-
listeners<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E): Function[];
|
|
3935
|
-
listenerCount<E extends StringKeyOf<ModifyPrependObject<T, U> & V>>(event: E): number;
|
|
3936
|
-
getMaxListeners(): number;
|
|
3937
|
-
setMaxListeners(n: number): RTKTypedEventEmitter<{ [K in keyof T]: (obj: U, ...args: Parameters<T[K]>) => ReturnType<T[K]>; } & {
|
|
3938
|
-
"*": (event: String, ...args: any[]) => void;
|
|
3939
|
-
} & V>;
|
|
3940
|
-
eventNames(): (string | symbol)[];
|
|
3941
|
-
add(obj: U, emitEvent?: boolean): this;
|
|
3942
|
-
set(objId: string, obj: U, emitEvent?: boolean): this;
|
|
3943
|
-
delete(objId: string, emitEvent?: boolean, removeListeners?: boolean): boolean;
|
|
3944
|
-
clear(emitEvent?: boolean, removeListeners?: boolean): void;
|
|
3945
|
-
toArray(): U[];
|
|
3946
|
-
}
|
|
3947
|
-
|
|
3948
|
-
type ParticipantMapEvents = {
|
|
3949
|
-
['participantJoined']: (payload: RTKParticipant$1) => void;
|
|
3950
|
-
['participantLeft']: (payload: RTKParticipant$1) => void;
|
|
3951
|
-
['participantsCleared']: () => void;
|
|
3952
|
-
['participantsUpdate']: () => void;
|
|
3953
|
-
['kicked']: (payload: {
|
|
3954
|
-
id: string;
|
|
3955
|
-
}) => void;
|
|
3956
|
-
};
|
|
3957
|
-
declare class RTKParticipantMap$1<T extends Pick<RTKParticipant$1, 'id' | keyof RTKTypedEventEmitter<ParticipantEvents>> = RTKParticipant$1> extends RTKMap<ParticipantEvents, T, ParticipantMapEvents> {
|
|
3958
|
-
constructor(logger: RTKLogger, options?: RTKMapEvents<ParticipantMapEvents>);
|
|
3959
|
-
add(participant: T, emitEvent?: boolean): this;
|
|
3960
|
-
clear(emitEvent?: boolean, removeListeners?: boolean): void;
|
|
3961
|
-
delete(participantId: string, emitEvent?: boolean, removeListeners?: boolean): boolean;
|
|
3962
|
-
}
|
|
3963
|
-
|
|
3964
|
-
declare const modes: readonly ["ACTIVE_GRID", "PAGINATED", "MANUAL"];
|
|
3965
|
-
type ViewMode = (typeof modes)[number];
|
|
3966
|
-
interface BroadcastMessagePayload {
|
|
3967
|
-
[key: string]: boolean | number | string | Date | ActiveTab;
|
|
3968
|
-
}
|
|
3969
|
-
interface PeerProducerConfig {
|
|
3970
|
-
audio: boolean;
|
|
3971
|
-
video: boolean;
|
|
3972
|
-
screenshareAudio: boolean;
|
|
3973
|
-
screenshareVideo: boolean;
|
|
3974
|
-
}
|
|
3975
|
-
type BroadcastMessageTarget = {
|
|
3976
|
-
participantIds: string[];
|
|
3977
|
-
} | {
|
|
3978
|
-
presetNames: string[];
|
|
3979
|
-
} | {
|
|
3980
|
-
meetingIds: string[];
|
|
3981
|
-
};
|
|
3982
|
-
type JoinedPeer = {
|
|
3983
|
-
id: string;
|
|
3984
|
-
userId: string;
|
|
3985
|
-
name: string;
|
|
3986
|
-
stageType?: StageStatus;
|
|
3987
|
-
customParticipantId?: string;
|
|
3988
|
-
presetId?: string;
|
|
3989
|
-
picture?: string;
|
|
3990
|
-
waitlisted: boolean;
|
|
3991
|
-
recorderType?: string;
|
|
3992
|
-
stageStatus?: StageStatus;
|
|
3993
|
-
metadata?: {
|
|
3994
|
-
preset_name?: string;
|
|
3995
|
-
};
|
|
3996
|
-
flags?: {
|
|
3997
|
-
hiddenParticipant?: boolean;
|
|
3998
|
-
recorder?: boolean;
|
|
3999
|
-
};
|
|
4000
|
-
};
|
|
4001
|
-
type ParticipantsEvents = {
|
|
4002
|
-
['viewModeChanged']: (payload: {
|
|
4003
|
-
viewMode: string;
|
|
4004
|
-
currentPage: number;
|
|
4005
|
-
pageCount: number;
|
|
4006
|
-
}) => void;
|
|
4007
|
-
['activeSpeaker']: (payload: {
|
|
4008
|
-
peerId: string;
|
|
4009
|
-
volume: number;
|
|
4010
|
-
}) => void;
|
|
4011
|
-
['broadcastedMessage']: (payload: {
|
|
4012
|
-
type: string;
|
|
4013
|
-
payload: BroadcastMessagePayload;
|
|
4014
|
-
timestamp: number;
|
|
4015
|
-
}) => void;
|
|
4016
|
-
['poorConnection']: (payload: {
|
|
4017
|
-
participantId: string;
|
|
4018
|
-
score: number;
|
|
4019
|
-
kind: string;
|
|
4020
|
-
}) => void;
|
|
4021
|
-
['pageChanged']: (payload: {
|
|
4022
|
-
viewMode: string;
|
|
4023
|
-
currentPage: number;
|
|
4024
|
-
pageCount: number;
|
|
4025
|
-
}) => void;
|
|
4026
|
-
['mediaScoreUpdate']: (payload: {
|
|
4027
|
-
kind: string;
|
|
4028
|
-
isScreenshare: boolean;
|
|
4029
|
-
score: number;
|
|
4030
|
-
participantId: string;
|
|
4031
|
-
scoreStats: ConsumerScoreStats;
|
|
4032
|
-
}) => void;
|
|
4033
|
-
['media_decode_error']: (payload: {
|
|
4034
|
-
reason: string;
|
|
4035
|
-
code: '1702' | '1703';
|
|
4036
|
-
}) => void;
|
|
4037
|
-
['*']: (event: string, ...args: any[]) => void;
|
|
4038
|
-
};
|
|
4039
|
-
declare class RTKParticipants$1 extends RTKTypedEventEmitter<ParticipantsEvents> {
|
|
4040
|
-
readonly waitlisted: Readonly<RTKParticipantMap$1<Omit<RTKParticipant$1, 'audioTrack' | 'videoTrack' | 'screenShareTracks'>>>;
|
|
4041
|
-
readonly joined: Readonly<RTKParticipantMap$1>;
|
|
4042
|
-
readonly active: Readonly<RTKParticipantMap$1>;
|
|
4043
|
-
readonly videoSubscribed: Readonly<RTKParticipantMap$1>;
|
|
4044
|
-
readonly audioSubscribed: Readonly<RTKParticipantMap$1>;
|
|
4045
|
-
readonly pinned: Readonly<RTKParticipantMap$1>;
|
|
4046
|
-
readonly all: Readonly<RTKBasicParticipantsMap>;
|
|
4047
|
-
get pip(): RTKPip;
|
|
4048
|
-
rateLimitConfig: {
|
|
4049
|
-
maxInvocations: number;
|
|
4050
|
-
period: number;
|
|
4051
|
-
};
|
|
4052
|
-
get rateLimits(): {
|
|
4053
|
-
maxInvocations: number;
|
|
4054
|
-
period: number;
|
|
4055
|
-
};
|
|
4056
|
-
updateRateLimits(num: number, period: number): void;
|
|
4057
|
-
get telemetry(): RTKTelemetry;
|
|
4058
|
-
viewMode: ViewMode;
|
|
4059
|
-
currentPage: number;
|
|
4060
|
-
lastActiveSpeaker: string;
|
|
4061
|
-
selectedPeers: RTKSelectedPeers;
|
|
4062
|
-
constructor(context: Context<RTKContextState>, self: RTKSelf$1, roomSocketHandler: RoomSocketHandler);
|
|
4063
|
-
setupEvents(): void;
|
|
4064
|
-
get count(): number;
|
|
4065
|
-
get maxActiveParticipantsCount(): number;
|
|
4066
|
-
setMaxActiveParticipantsCount(limit: number): void;
|
|
4067
|
-
get pageCount(): number;
|
|
4068
|
-
acceptWaitingRoomRequest(id: string): void;
|
|
4069
|
-
acceptAllWaitingRoomRequest(userIds: string[]): Promise<void>;
|
|
4070
|
-
rejectWaitingRoomRequest(id: string): Promise<void>;
|
|
4071
|
-
setViewMode(viewMode: ViewMode): Promise<void>;
|
|
4072
|
-
subscribe(peerIds: string[], kinds?: ('audio' | 'video' | 'screenshareAudio' | 'screenshareVideo')[]): Promise<void>;
|
|
4073
|
-
unsubscribe(peerIds: string[], kinds?: ('audio' | 'video' | 'screenshareAudio' | 'screenshareVideo')[]): Promise<void>;
|
|
4074
|
-
getPeerIdsForCurrentPage(): string[];
|
|
4075
|
-
setPage(page: number): Promise<void>;
|
|
4076
|
-
disableAllAudio(allowUnmute: boolean): Promise<void>;
|
|
4077
|
-
disableAllVideo(): Promise<void>;
|
|
4078
|
-
disableAudio(participantId: string): Promise<void>;
|
|
4079
|
-
disableVideo(participantId: string): Promise<void>;
|
|
4080
|
-
kick(participantId: string): Promise<void>;
|
|
4081
|
-
kickAll(): Promise<void>;
|
|
4082
|
-
broadcastMessage(type: Exclude<string, 'spotlight'>, payload: BroadcastMessagePayload, target?: BroadcastMessageTarget): Promise<void>;
|
|
4083
|
-
getAllJoinedPeers(searchQuery: string, limit: number, offset: number): Promise<{
|
|
4084
|
-
id: string;
|
|
4085
|
-
userId: string;
|
|
4086
|
-
name: string;
|
|
4087
|
-
displayName: string;
|
|
4088
|
-
stageType: StageStatus;
|
|
4089
|
-
customParticipantId: string;
|
|
4090
|
-
presetId: string;
|
|
4091
|
-
picture: string;
|
|
4092
|
-
waitlisted: boolean;
|
|
4093
|
-
stageStatus: StageStatus;
|
|
4094
|
-
metadata: {
|
|
4095
|
-
preset_name: string;
|
|
4096
|
-
};
|
|
4097
|
-
recorderType: string;
|
|
4098
|
-
flags: {
|
|
4099
|
-
hiddenParticipant: boolean;
|
|
4100
|
-
hidden_participant: boolean;
|
|
4101
|
-
recorder: boolean;
|
|
4102
|
-
};
|
|
4103
|
-
}[]>;
|
|
4104
|
-
updatePermissions(participantIds: string[], permissions: PresetUpdates): Promise<void>;
|
|
4105
|
-
getParticipantsInMeetingPreJoin(): Promise<RoomPeersInfoResponse>;
|
|
4106
|
-
}
|
|
4107
|
-
|
|
4108
|
-
interface FetchRequestConfig {
|
|
4109
|
-
baseURL?: string;
|
|
4110
|
-
url?: string;
|
|
4111
|
-
method?: string;
|
|
4112
|
-
headers?: Record<string, string>;
|
|
4113
|
-
timeout?: number;
|
|
4114
|
-
retry?: number;
|
|
4115
|
-
retryDelay?: number;
|
|
4116
|
-
responseType?: string;
|
|
4117
|
-
data?: any;
|
|
4118
|
-
params?: Record<string, string>;
|
|
4119
|
-
}
|
|
4120
|
-
interface FetchResponse<T = any> {
|
|
4121
|
-
data: T;
|
|
4122
|
-
status: number;
|
|
4123
|
-
statusText: string;
|
|
4124
|
-
headers: Record<string, string>;
|
|
4125
|
-
config: FetchRequestConfig;
|
|
4126
|
-
}
|
|
4127
|
-
declare class FetchClient {
|
|
4128
|
-
defaults: {
|
|
4129
|
-
baseURL: string;
|
|
4130
|
-
headers: {
|
|
4131
|
-
common: Record<string, string>;
|
|
4132
|
-
};
|
|
4133
|
-
timeout: number;
|
|
4134
|
-
retry: number;
|
|
4135
|
-
retryDelay: number;
|
|
4136
|
-
};
|
|
4137
|
-
constructor(options: {
|
|
4138
|
-
baseURL: string;
|
|
4139
|
-
timeout: number;
|
|
4140
|
-
retry: number;
|
|
4141
|
-
retryDelay: number;
|
|
4142
|
-
responseType?: string;
|
|
4143
|
-
});
|
|
4144
|
-
request<T = any>(config: FetchRequestConfig): Promise<FetchResponse<T>>;
|
|
4145
|
-
get<T = any>(url: string, config?: FetchRequestConfig): Promise<FetchResponse<T>>;
|
|
4146
|
-
post<T = any>(url: string, data?: any, config?: FetchRequestConfig): Promise<FetchResponse<T>>;
|
|
4147
|
-
put<T = any>(url: string, data?: any, config?: FetchRequestConfig): Promise<FetchResponse<T>>;
|
|
4156
|
+
|
|
4157
|
+
interface UserDetailsResponseV2 {
|
|
4158
|
+
participant: UserDetailsResponse;
|
|
4159
|
+
preset: PresetV2CamelCased;
|
|
4160
|
+
}
|
|
4161
|
+
type LeaveRoomState = 'kicked' | 'ended' | 'left' | 'rejected' | 'connected-meeting' | 'disconnected' | 'failed' | 'stageLeft';
|
|
4162
|
+
declare class SelfController {
|
|
4163
|
+
readonly self: Self;
|
|
4164
|
+
readonly authToken: string;
|
|
4165
|
+
get peerId(): string;
|
|
4166
|
+
viewType: ViewType;
|
|
4167
|
+
get telemetry(): Telemetry;
|
|
4168
|
+
get logger(): Logger;
|
|
4169
|
+
get mediaJoined(): boolean;
|
|
4170
|
+
private constructor();
|
|
4171
|
+
static init(context: Context<ContextState>, roomSocketHandler: RoomSocketHandler, participant: UserDetailsResponseV2['participant'], permissions: PermissionPreset, theme: ThemePreset): Promise<SelfController>;
|
|
4172
|
+
shareMediaTracks(): Promise<void>;
|
|
4173
|
+
private kickHandler;
|
|
4174
|
+
private waitlistedHandler;
|
|
4175
|
+
private waitlistAcceptHandler;
|
|
4176
|
+
private waitlistRejectedHandler;
|
|
4177
|
+
resetSelf(shouldAutoJoin: boolean): Promise<void>;
|
|
4178
|
+
private setupEvents;
|
|
4179
|
+
joinRoom(reconnected?: boolean): Promise<void>;
|
|
4180
|
+
leaveRoom(state?: LeaveRoomState): Promise<void>;
|
|
4181
|
+
private joinMediaRoom;
|
|
4182
|
+
private leaveMediaRoom;
|
|
4183
|
+
private cleanupSelf;
|
|
4148
4184
|
}
|
|
4149
4185
|
|
|
4150
4186
|
type LivestreamState = 'IDLE' | 'STARTING' | 'WAITING_ON_MANUAL_INGESTION' | 'LIVESTREAMING' | 'STOPPING';
|
|
@@ -4166,22 +4202,23 @@ type LivestreamResponse = {
|
|
|
4166
4202
|
manualIngest: boolean;
|
|
4167
4203
|
ingestionCredentials?: LivestreamIngestionCredentials;
|
|
4168
4204
|
};
|
|
4169
|
-
declare class
|
|
4205
|
+
declare class Livestream extends TypedEventEmitter$1<LivestreamEvents> {
|
|
4170
4206
|
state: LivestreamState;
|
|
4171
4207
|
playbackUrl: string | undefined;
|
|
4172
4208
|
ingestionCredentials: LivestreamIngestionCredentials;
|
|
4173
4209
|
viewerCount: number;
|
|
4174
|
-
get telemetry():
|
|
4175
|
-
constructor(context: Context<
|
|
4210
|
+
get telemetry(): Telemetry;
|
|
4211
|
+
constructor(context: Context<ContextState>, self: Self);
|
|
4176
4212
|
setLivestreamState(livestreamState: LivestreamState): void;
|
|
4213
|
+
private emitCurrentLivestreamState;
|
|
4177
4214
|
start(livestreamConfig?: StartLivestreamConfig): Promise<void>;
|
|
4178
4215
|
stop(): Promise<void>;
|
|
4179
4216
|
}
|
|
4180
4217
|
|
|
4181
4218
|
type PluginSocketMessage = DisablePluginResponse | EnablePluginResponse | PluginEventResponse | PluginStoreResponse | SendChatMessageToPeersResponse | SendChatMessageToRoomResponse;
|
|
4182
4219
|
declare class PluginSocketHandler {
|
|
4183
|
-
constructor(context: Context<
|
|
4184
|
-
get logger():
|
|
4220
|
+
constructor(context: Context<ContextState>, socketService: SocketService);
|
|
4221
|
+
get logger(): Logger;
|
|
4185
4222
|
addPlugin(pluginId: string, staggered: boolean): void;
|
|
4186
4223
|
removePlugin(pluginId: string): void;
|
|
4187
4224
|
getActivePlugins(): Promise<EnablePluginsResponse>;
|
|
@@ -4207,7 +4244,7 @@ declare class PluginSocketHandler {
|
|
|
4207
4244
|
on(event: number, handler: (socketMessage: PluginSocketMessage, messageId?: string) => void): void;
|
|
4208
4245
|
}
|
|
4209
4246
|
|
|
4210
|
-
interface
|
|
4247
|
+
interface PluginResponse {
|
|
4211
4248
|
baseURL: string;
|
|
4212
4249
|
createdAt: string;
|
|
4213
4250
|
description: string;
|
|
@@ -4289,7 +4326,7 @@ type _string = string & {
|
|
|
4289
4326
|
_?: any;
|
|
4290
4327
|
};
|
|
4291
4328
|
type PluginEvents$1 = keyof typeof PluginEventKeys | _string;
|
|
4292
|
-
declare class
|
|
4329
|
+
declare class Plugin extends CustomEventEmitter<PluginEvents$1> {
|
|
4293
4330
|
readonly baseURL: string;
|
|
4294
4331
|
readonly createdAt: Date;
|
|
4295
4332
|
readonly description: string;
|
|
@@ -4310,12 +4347,14 @@ declare class RTKPlugin$1 extends RTKEventEmitter<PluginEvents$1> {
|
|
|
4310
4347
|
listener?: (message: MessageEvent) => void;
|
|
4311
4348
|
}>;
|
|
4312
4349
|
enabledBy: string;
|
|
4313
|
-
get telemetry():
|
|
4314
|
-
constructor(context: Context<
|
|
4350
|
+
get telemetry(): Telemetry;
|
|
4351
|
+
constructor(context: Context<ContextState>, { baseURL, createdAt, description, id, name, organizationId, picture, private: isPrivate, published, staggered, tags, type, updatedAt, }: PluginResponse, pluginSocketHandler: PluginSocketHandler, self: Self, participants: Participants, chat: Readonly<Chat>, meetingTitle: string);
|
|
4315
4352
|
sendIframeEvent(message: PluginIframeMessage): void;
|
|
4353
|
+
private handleIframeMessage;
|
|
4316
4354
|
sendData(payload: SendDataOptions): void;
|
|
4317
4355
|
removePluginView(viewId?: string): void;
|
|
4318
4356
|
addPluginView(iframe: HTMLIFrameElement | ReactNativeWebView, viewId?: string): void;
|
|
4357
|
+
private setActive;
|
|
4319
4358
|
activateForSelf(): Promise<void>;
|
|
4320
4359
|
deactivateForSelf(): void;
|
|
4321
4360
|
enable(): Promise<void>;
|
|
@@ -4338,12 +4377,12 @@ interface ReactNativeFile {
|
|
|
4338
4377
|
type: string;
|
|
4339
4378
|
}
|
|
4340
4379
|
declare class APIClient extends API {
|
|
4341
|
-
telemetry:
|
|
4342
|
-
constructor(context: Context<
|
|
4380
|
+
telemetry: Telemetry;
|
|
4381
|
+
constructor(context: Context<ContextState>, options?: APIOptions);
|
|
4343
4382
|
getIPDetails(): Promise<any>;
|
|
4344
4383
|
getICEServers(): Promise<any>;
|
|
4345
4384
|
getPlugins(): Promise<any[]>;
|
|
4346
|
-
getPluginDetails(pluginId: string): Promise<
|
|
4385
|
+
getPluginDetails(pluginId: string): Promise<PluginResponse>;
|
|
4347
4386
|
getPluginConfig(pluginBaseUrl: string): Promise<PluginConfig>;
|
|
4348
4387
|
authorizePlugin(pluginId: string): Promise<string>;
|
|
4349
4388
|
getPresignedUrls(filename: string, viewType: string): Promise<{
|
|
@@ -4463,13 +4502,17 @@ type ChatEvents = {
|
|
|
4463
4502
|
['channelUpdate']: (channel?: ChatChannel) => void;
|
|
4464
4503
|
['*']: (event: string, ...args: any[]) => void;
|
|
4465
4504
|
};
|
|
4466
|
-
declare class
|
|
4505
|
+
declare class Chat extends TypedEventEmitter$1<ChatEvents> {
|
|
4467
4506
|
messages: Message[];
|
|
4468
4507
|
channels: ChatChannel[];
|
|
4469
4508
|
maxTextLimit: number;
|
|
4470
|
-
get telemetry():
|
|
4509
|
+
get telemetry(): Telemetry;
|
|
4471
4510
|
setMaxTextLimit(limit: number): void;
|
|
4472
|
-
constructor(context: Context<
|
|
4511
|
+
constructor(context: Context<ContextState>, chatSocketHandler: ChatSocketHandler, chatChannelSocketHandler: ChatChannelSocketHandler, self: Self, participants: Participants);
|
|
4512
|
+
private sendMessageInternal;
|
|
4513
|
+
private sendTextMessageInternal;
|
|
4514
|
+
private sendImageMessageInternal;
|
|
4515
|
+
private sendFileMessageInternal;
|
|
4473
4516
|
get rateLimits(): {
|
|
4474
4517
|
maxInvocations: number;
|
|
4475
4518
|
period: number;
|
|
@@ -4502,16 +4545,16 @@ declare class RTKChat$1 extends RTKTypedEventEmitter<ChatEvents> {
|
|
|
4502
4545
|
sendMessageToChannel(message: MessagePayload, channelId: string, options?: {
|
|
4503
4546
|
replyTo?: Message;
|
|
4504
4547
|
}): Promise<void>;
|
|
4505
|
-
getChannelMembers(channelId: string): Promise<
|
|
4548
|
+
getChannelMembers(channelId: string): Promise<BasicParticipant[]>;
|
|
4506
4549
|
searchMessages(query: string, filters?: SearchFilters): Promise<Message[]>;
|
|
4507
4550
|
markLastReadMessage(channelId: string, message: Message): Promise<void>;
|
|
4508
4551
|
get pinned(): Message[];
|
|
4509
4552
|
}
|
|
4510
4553
|
|
|
4511
4554
|
declare class PollSocketHandler {
|
|
4512
|
-
get logger():
|
|
4513
|
-
get telemetry():
|
|
4514
|
-
constructor(context: Context<
|
|
4555
|
+
get logger(): Logger;
|
|
4556
|
+
get telemetry(): Telemetry;
|
|
4557
|
+
constructor(context: Context<ContextState>, socketService: SocketService);
|
|
4515
4558
|
getPolls(): Promise<{
|
|
4516
4559
|
id: string;
|
|
4517
4560
|
payload: Uint8Array;
|
|
@@ -4547,16 +4590,16 @@ type PollsEvents = {
|
|
|
4547
4590
|
}) => void;
|
|
4548
4591
|
['*']: (eventName: string, ...args: any[]) => void;
|
|
4549
4592
|
};
|
|
4550
|
-
declare class
|
|
4593
|
+
declare class Polls extends TypedEventEmitter$1<PollsEvents> {
|
|
4551
4594
|
items: Poll[];
|
|
4552
|
-
constructor(context: Context<
|
|
4595
|
+
constructor(context: Context<ContextState>, self: Self, pollSocketHandler: PollSocketHandler);
|
|
4553
4596
|
create(question: string, options: string[], anonymous?: boolean, hideVotes?: boolean): Promise<void>;
|
|
4554
4597
|
vote(id: string, index: number): Promise<void>;
|
|
4555
4598
|
}
|
|
4556
4599
|
|
|
4557
4600
|
type PluginMapEvents = {
|
|
4558
|
-
['pluginAdded']: (plugin:
|
|
4559
|
-
['pluginDeleted']: (plugin:
|
|
4601
|
+
['pluginAdded']: (plugin: Plugin) => void;
|
|
4602
|
+
['pluginDeleted']: (plugin: Plugin) => void;
|
|
4560
4603
|
};
|
|
4561
4604
|
type PluginEvents = {
|
|
4562
4605
|
['stateUpdate']: (payload: {
|
|
@@ -4571,16 +4614,89 @@ type PluginEvents = {
|
|
|
4571
4614
|
['enabled']: () => void;
|
|
4572
4615
|
['*']: (eventName: string, ...args: any[]) => void;
|
|
4573
4616
|
};
|
|
4574
|
-
declare class
|
|
4575
|
-
constructor(logger:
|
|
4617
|
+
declare class PluginMap<T extends Plugin = Plugin> extends ClientMap<PluginEvents, T, PluginMapEvents> {
|
|
4618
|
+
constructor(logger: Logger);
|
|
4576
4619
|
add(plugin: T, emitEvent?: boolean): this;
|
|
4577
4620
|
delete(pluginId: string, emitEvent?: boolean, removeListeners?: boolean): boolean;
|
|
4578
4621
|
}
|
|
4579
4622
|
|
|
4580
|
-
declare class
|
|
4581
|
-
readonly all:
|
|
4582
|
-
readonly active:
|
|
4583
|
-
constructor(logger:
|
|
4623
|
+
declare class Plugins {
|
|
4624
|
+
readonly all: PluginMap;
|
|
4625
|
+
readonly active: PluginMap;
|
|
4626
|
+
constructor(logger: Logger);
|
|
4627
|
+
}
|
|
4628
|
+
|
|
4629
|
+
declare class SelfMedia extends TypedEventEmitter$1<SelfEvents> {
|
|
4630
|
+
protected localMediaHandler: LocalMediaHandler;
|
|
4631
|
+
protected updatePermission(): Promise<void>;
|
|
4632
|
+
protected populateMediaPermissionsInCallstats({ message, kind, }: {
|
|
4633
|
+
message: keyof typeof MediaPermission;
|
|
4634
|
+
kind: 'audio' | 'video' | 'screenshare';
|
|
4635
|
+
}): Promise<void>;
|
|
4636
|
+
get peerId(): string;
|
|
4637
|
+
init(options?: {
|
|
4638
|
+
video?: boolean;
|
|
4639
|
+
audio?: boolean;
|
|
4640
|
+
constraints?: MediaConstraints;
|
|
4641
|
+
}, skipAwaits?: boolean, context?: Context<ContextState>): Promise<void>;
|
|
4642
|
+
set context(context: Context<ContextState>);
|
|
4643
|
+
get audioTrack(): MediaStreamTrack;
|
|
4644
|
+
get rawAudioTrack(): MediaStreamTrack;
|
|
4645
|
+
get mediaPermissions(): {
|
|
4646
|
+
audio?: MediaPermission$1;
|
|
4647
|
+
video?: MediaPermission$1;
|
|
4648
|
+
screenshare?: MediaPermission$1;
|
|
4649
|
+
};
|
|
4650
|
+
addAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<{
|
|
4651
|
+
success: boolean;
|
|
4652
|
+
message: string;
|
|
4653
|
+
}>;
|
|
4654
|
+
removeAudioMiddleware(audioMiddleware: AudioMiddleware): Promise<{
|
|
4655
|
+
success: boolean;
|
|
4656
|
+
message: string;
|
|
4657
|
+
}>;
|
|
4658
|
+
removeAllAudioMiddlewares(): Promise<{
|
|
4659
|
+
success: boolean;
|
|
4660
|
+
message: string;
|
|
4661
|
+
}>;
|
|
4662
|
+
get videoTrack(): MediaStreamTrack;
|
|
4663
|
+
get rawVideoTrack(): MediaStreamTrack;
|
|
4664
|
+
addVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<{
|
|
4665
|
+
success: boolean;
|
|
4666
|
+
message: string;
|
|
4667
|
+
}>;
|
|
4668
|
+
setVideoMiddlewareGlobalConfig(config?: VideoMiddlewareGlobalConfig): Promise<void>;
|
|
4669
|
+
removeVideoMiddleware(videoMiddleware: VideoMiddleware): Promise<{
|
|
4670
|
+
success: boolean;
|
|
4671
|
+
message: string;
|
|
4672
|
+
}>;
|
|
4673
|
+
removeAllVideoMiddlewares(): Promise<{
|
|
4674
|
+
success: boolean;
|
|
4675
|
+
message: string;
|
|
4676
|
+
}>;
|
|
4677
|
+
get screenShareTracks(): {
|
|
4678
|
+
audio: MediaStreamTrack;
|
|
4679
|
+
video: MediaStreamTrack;
|
|
4680
|
+
};
|
|
4681
|
+
get audioEnabled(): boolean;
|
|
4682
|
+
get videoEnabled(): boolean;
|
|
4683
|
+
get screenShareEnabled(): boolean;
|
|
4684
|
+
enableAudio(): Promise<void>;
|
|
4685
|
+
enableVideo(): Promise<void>;
|
|
4686
|
+
disableAudio(): Promise<void>;
|
|
4687
|
+
enableScreenShare(): Promise<void>;
|
|
4688
|
+
disableScreenShare(): Promise<void>;
|
|
4689
|
+
disableVideo(): Promise<void>;
|
|
4690
|
+
getCurrentDevices(): {
|
|
4691
|
+
audio: MediaDeviceInfo;
|
|
4692
|
+
video: MediaDeviceInfo;
|
|
4693
|
+
speaker: MediaDeviceInfo;
|
|
4694
|
+
};
|
|
4695
|
+
getAudioDevices(): Promise<MediaDeviceInfo[]>;
|
|
4696
|
+
getVideoDevices(): Promise<MediaDeviceInfo[]>;
|
|
4697
|
+
getSpeakerDevices(): Promise<MediaDeviceInfo[]>;
|
|
4698
|
+
getDeviceById(deviceId: string, kind: 'audio' | 'video' | 'speaker'): Promise<MediaDeviceInfo>;
|
|
4699
|
+
setDevice(device: MediaDeviceInfo): Promise<void>;
|
|
4584
4700
|
}
|
|
4585
4701
|
|
|
4586
4702
|
type RecordingState = 'IDLE' | 'STARTING' | 'RECORDING' | 'PAUSED' | 'STOPPING';
|
|
@@ -4594,12 +4710,12 @@ type RecordingEvents = {
|
|
|
4594
4710
|
['recordingUpdate']: (state: RecordingState) => void;
|
|
4595
4711
|
['*']: (eventName: string, ...args: any[]) => void;
|
|
4596
4712
|
};
|
|
4597
|
-
declare class
|
|
4713
|
+
declare class Recording extends TypedEventEmitter$1<RecordingEvents> {
|
|
4598
4714
|
recordingPeerIds: string[];
|
|
4599
4715
|
get recordingState(): RecordingState;
|
|
4600
4716
|
recordings: RecordingInfo[];
|
|
4601
|
-
constructor(context: Context<
|
|
4602
|
-
get telemetry():
|
|
4717
|
+
constructor(context: Context<ContextState>, self: Self);
|
|
4718
|
+
get telemetry(): Telemetry;
|
|
4603
4719
|
updateRecordings(recordings: RecordingInfo[]): void;
|
|
4604
4720
|
start(opts?: {
|
|
4605
4721
|
allowMultiple: boolean;
|
|
@@ -4668,28 +4784,32 @@ declare class BrowserCapabilities extends BrowserDetection {
|
|
|
4668
4784
|
isIOSMobile(): boolean;
|
|
4669
4785
|
}
|
|
4670
4786
|
|
|
4671
|
-
declare class
|
|
4672
|
-
constructor(context: Context<
|
|
4787
|
+
declare class Features {
|
|
4788
|
+
constructor(context: Context<ContextState>);
|
|
4673
4789
|
hasFeature(featureName: string): boolean;
|
|
4674
|
-
getFeatureValue(featureName: string): _dyteinternals_utils.
|
|
4790
|
+
getFeatureValue(featureName: string): _dyteinternals_utils.DyteFlagValues;
|
|
4675
4791
|
getAllFeatures(): {
|
|
4676
|
-
|
|
4677
|
-
|
|
4792
|
+
[x: string]: _dyteinternals_utils.DyteFlagsEntry;
|
|
4793
|
+
};
|
|
4678
4794
|
}
|
|
4679
4795
|
|
|
4680
|
-
declare class
|
|
4681
|
-
logger:
|
|
4682
|
-
features:
|
|
4796
|
+
declare class Internals {
|
|
4797
|
+
logger: Logger;
|
|
4798
|
+
features: Features;
|
|
4683
4799
|
browserSpecs: BrowserCapabilities;
|
|
4684
4800
|
callStats: InhouseCallStats;
|
|
4685
|
-
constructor(logger:
|
|
4686
|
-
static init(context: Context<
|
|
4801
|
+
constructor(logger: Logger, features: Features, callStats: InhouseCallStats);
|
|
4802
|
+
static init(context: Context<ContextState>): Internals;
|
|
4687
4803
|
}
|
|
4688
4804
|
|
|
4689
4805
|
type StoreData = {
|
|
4690
4806
|
[type: string]: any;
|
|
4691
4807
|
};
|
|
4692
|
-
|
|
4808
|
+
type RateLimitConfig = {
|
|
4809
|
+
maxInvocations: number;
|
|
4810
|
+
period: number;
|
|
4811
|
+
};
|
|
4812
|
+
declare class Store {
|
|
4693
4813
|
name: string;
|
|
4694
4814
|
rateLimitConfig: {
|
|
4695
4815
|
maxInvocations: number;
|
|
@@ -4699,12 +4819,14 @@ declare class RTKStore$1 {
|
|
|
4699
4819
|
maxInvocations: number;
|
|
4700
4820
|
period: number;
|
|
4701
4821
|
};
|
|
4822
|
+
private listeners;
|
|
4702
4823
|
constructor({ name, socketHandler, meetingId }: {
|
|
4703
4824
|
name: string;
|
|
4704
4825
|
socketHandler: PluginSocketHandler;
|
|
4705
4826
|
meetingId: string;
|
|
4706
4827
|
});
|
|
4707
4828
|
set(key: string, value: any, sync?: boolean, emit?: boolean): Promise<void>;
|
|
4829
|
+
private remoteSet;
|
|
4708
4830
|
bulkSet(data: {
|
|
4709
4831
|
key: string;
|
|
4710
4832
|
payload: any;
|
|
@@ -4731,10 +4853,10 @@ declare class RTKStore$1 {
|
|
|
4731
4853
|
populate(data: StoreData): void;
|
|
4732
4854
|
}
|
|
4733
4855
|
|
|
4734
|
-
declare class
|
|
4735
|
-
stores: Map<String,
|
|
4736
|
-
constructor(context: Context<
|
|
4737
|
-
create(name: string): Promise<
|
|
4856
|
+
declare class StoreManager {
|
|
4857
|
+
stores: Map<String, Store>;
|
|
4858
|
+
constructor(context: Context<ContextState>, handler: PluginSocketHandler);
|
|
4859
|
+
create(name: string): Promise<Store>;
|
|
4738
4860
|
}
|
|
4739
4861
|
|
|
4740
4862
|
declare const enum PRODUCERS_TYPE {
|
|
@@ -4757,13 +4879,13 @@ interface MediaNodeClientOptions {
|
|
|
4757
4879
|
socket: SocketService;
|
|
4758
4880
|
}
|
|
4759
4881
|
declare class MediaNodeClient {
|
|
4760
|
-
readonly context: Context<
|
|
4882
|
+
readonly context: Context<ContextState>;
|
|
4761
4883
|
readonly authToken: string;
|
|
4762
4884
|
readonly e2ee: boolean;
|
|
4763
4885
|
get peerId(): string;
|
|
4764
|
-
get telemetry():
|
|
4765
|
-
get logger():
|
|
4766
|
-
constructor(context: Context<
|
|
4886
|
+
get telemetry(): Telemetry;
|
|
4887
|
+
get logger(): Logger;
|
|
4888
|
+
constructor(context: Context<ContextState>, options: MediaNodeClientOptions);
|
|
4767
4889
|
get mediaJoined(): boolean;
|
|
4768
4890
|
set mediaJoined(joined: boolean);
|
|
4769
4891
|
reset(): void;
|
|
@@ -4772,6 +4894,7 @@ declare class MediaNodeClient {
|
|
|
4772
4894
|
}>;
|
|
4773
4895
|
initializeConnection(displayName: string, roomUuid: string, rejoining?: boolean, permissions?: MediaPermissions): Promise<void>;
|
|
4774
4896
|
getConsumers(): Map<string, Consumer>;
|
|
4897
|
+
getProducers(): Map<string, Producer>;
|
|
4775
4898
|
leaveRoom(): Promise<void>;
|
|
4776
4899
|
activatePeers(producers: ProducerState[]): Promise<void>;
|
|
4777
4900
|
createConsumers(producers: ProducerState[]): Promise<void>;
|
|
@@ -4878,7 +5001,7 @@ declare class ConnectedMeetingsSocketHandler {
|
|
|
4878
5001
|
}
|
|
4879
5002
|
|
|
4880
5003
|
type ConnectedMeetingsEvents = {
|
|
4881
|
-
['meetingChanged']: (meeting:
|
|
5004
|
+
['meetingChanged']: (meeting: Client) => void;
|
|
4882
5005
|
['stateUpdate']: (payload: {
|
|
4883
5006
|
meetings: ConnectedMeeting[];
|
|
4884
5007
|
parentMeeting: ConnectedMeeting;
|
|
@@ -4886,12 +5009,13 @@ type ConnectedMeetingsEvents = {
|
|
|
4886
5009
|
['changingMeeting']: (meetingId: string) => void;
|
|
4887
5010
|
['*']: (eventName: string, ...args: any[]) => void;
|
|
4888
5011
|
};
|
|
4889
|
-
declare class
|
|
4890
|
-
constructor(context: Context<
|
|
5012
|
+
declare class ConnectedMeetings extends TypedEventEmitter$1<ConnectedMeetingsEvents> {
|
|
5013
|
+
constructor(context: Context<ContextState>);
|
|
4891
5014
|
meetings: ConnectedMeeting[];
|
|
4892
5015
|
parentMeeting: ConnectedMeeting;
|
|
4893
5016
|
get supportsConnectedMeetings(): boolean;
|
|
4894
5017
|
get isActive(): boolean;
|
|
5018
|
+
private validateConnectedMeetingsAction;
|
|
4895
5019
|
getConnectedMeetings(): Promise<{
|
|
4896
5020
|
parentMeeting: ConnectedMeeting;
|
|
4897
5021
|
meetings: ConnectedMeeting[];
|
|
@@ -4926,6 +5050,7 @@ declare class RTKConnectedMeetings$1 extends RTKTypedEventEmitter<ConnectedMeeti
|
|
|
4926
5050
|
success: boolean;
|
|
4927
5051
|
error: any;
|
|
4928
5052
|
}>;
|
|
5053
|
+
private moveSuccessHandler;
|
|
4929
5054
|
}
|
|
4930
5055
|
|
|
4931
5056
|
interface Modules {
|
|
@@ -4962,7 +5087,7 @@ interface DefaultOptions {
|
|
|
4962
5087
|
video?: boolean;
|
|
4963
5088
|
audio?: boolean;
|
|
4964
5089
|
recording?: RecordingConfig;
|
|
4965
|
-
mediaHandler?:
|
|
5090
|
+
mediaHandler?: SelfMedia;
|
|
4966
5091
|
autoSwitchAudioDevice?: boolean;
|
|
4967
5092
|
mediaConfiguration?: {
|
|
4968
5093
|
video?: VideoQualityConstraints;
|
|
@@ -4972,11 +5097,13 @@ interface DefaultOptions {
|
|
|
4972
5097
|
isNonPreferredDevice?: (device: MediaDeviceInfo) => boolean;
|
|
4973
5098
|
}
|
|
4974
5099
|
interface RoomDetails {
|
|
4975
|
-
sfu: MediaNodeType;
|
|
4976
5100
|
roomNodeUrl: string;
|
|
4977
5101
|
meetingTitle: string;
|
|
4978
5102
|
useHiveMedia: boolean;
|
|
4979
5103
|
}
|
|
5104
|
+
interface ControllerOptions {
|
|
5105
|
+
peerId?: string;
|
|
5106
|
+
}
|
|
4980
5107
|
|
|
4981
5108
|
declare class ConnectionHandler {
|
|
4982
5109
|
mediaJoined: boolean;
|
|
@@ -4987,7 +5114,7 @@ declare class ConnectionHandler {
|
|
|
4987
5114
|
mediaState: MediaConnectionState;
|
|
4988
5115
|
get joinAttempted(): boolean;
|
|
4989
5116
|
get roomJoined(): boolean;
|
|
4990
|
-
constructor(context: Context<
|
|
5117
|
+
constructor(context: Context<ContextState>);
|
|
4991
5118
|
updateSocketConnectionState(state: SocketStateEvent, attempt?: number): void;
|
|
4992
5119
|
}
|
|
4993
5120
|
|
|
@@ -5080,9 +5207,9 @@ declare const ERROR_CODES: {
|
|
|
5080
5207
|
'2006': string;
|
|
5081
5208
|
'9900': string;
|
|
5082
5209
|
};
|
|
5083
|
-
declare class
|
|
5210
|
+
declare class ClientError extends Error {
|
|
5084
5211
|
code: keyof typeof ERROR_CODES;
|
|
5085
|
-
constructor(message: string, code?: keyof typeof ERROR_CODES, logger?:
|
|
5212
|
+
constructor(message: string, code?: keyof typeof ERROR_CODES, logger?: Logger | undefined, log?: boolean);
|
|
5086
5213
|
}
|
|
5087
5214
|
|
|
5088
5215
|
type EventMap = {
|
|
@@ -5181,10 +5308,11 @@ type TypedEvents = {
|
|
|
5181
5308
|
maxSpatialLayer: number;
|
|
5182
5309
|
}) => void;
|
|
5183
5310
|
[SessionEvents.UPDATE_ACTIVE]: (p?: {
|
|
5311
|
+
viewMode?: ViewMode;
|
|
5184
5312
|
page?: number;
|
|
5185
5313
|
createAllConsumers?: boolean;
|
|
5186
5314
|
}) => void;
|
|
5187
|
-
[SessionEvents.PEER_JOINED_INTERNAL]: (p:
|
|
5315
|
+
[SessionEvents.PEER_JOINED_INTERNAL]: (p: Participant) => void;
|
|
5188
5316
|
[SessionEvents.UPDATE_PEER_STAGE_STATUS]: (p: {
|
|
5189
5317
|
id: string;
|
|
5190
5318
|
status: string;
|
|
@@ -5219,12 +5347,12 @@ declare class AudioPlaybackManager extends AudioPlayback {
|
|
|
5219
5347
|
removeParticipantTrack(participantId: string): void;
|
|
5220
5348
|
}
|
|
5221
5349
|
|
|
5222
|
-
type
|
|
5350
|
+
type ContextState = {
|
|
5223
5351
|
authToken?: string;
|
|
5224
5352
|
peerId?: string;
|
|
5225
5353
|
apiBase?: string;
|
|
5226
5354
|
baseURI?: string;
|
|
5227
|
-
onError?: (error:
|
|
5355
|
+
onError?: (error: ClientError) => void;
|
|
5228
5356
|
stageStatus?: StageStatus;
|
|
5229
5357
|
organizationId?: string;
|
|
5230
5358
|
presetName?: string;
|
|
@@ -5237,10 +5365,7 @@ type RTKContextState = {
|
|
|
5237
5365
|
meetingId?: string;
|
|
5238
5366
|
roomName?: string;
|
|
5239
5367
|
socketService?: SocketService;
|
|
5240
|
-
pip?:
|
|
5241
|
-
roomNodeOptions?: {
|
|
5242
|
-
sfu: MediaNodeType;
|
|
5243
|
-
};
|
|
5368
|
+
pip?: Pip;
|
|
5244
5369
|
roomNodeClient?: MediaNodeClient;
|
|
5245
5370
|
viewType?: ViewType;
|
|
5246
5371
|
env?: ClientEnvTypeAll;
|
|
@@ -5254,11 +5379,11 @@ type RTKContextState = {
|
|
|
5254
5379
|
roomSocketHandler?: RoomSocketHandler;
|
|
5255
5380
|
connectedMeetingsSocketHandler?: ConnectedMeetingsSocketHandler;
|
|
5256
5381
|
audioPlayback?: AudioPlaybackManager;
|
|
5257
|
-
options?:
|
|
5258
|
-
self?:
|
|
5259
|
-
telemetry?:
|
|
5260
|
-
logger?:
|
|
5261
|
-
meeting?:
|
|
5382
|
+
options?: ClientOptions;
|
|
5383
|
+
self?: Self;
|
|
5384
|
+
telemetry?: Telemetry;
|
|
5385
|
+
logger?: Logger;
|
|
5386
|
+
meeting?: Client;
|
|
5262
5387
|
selfController?: SelfController;
|
|
5263
5388
|
};
|
|
5264
5389
|
interface Context<T extends Record<string, any>> {
|
|
@@ -5270,107 +5395,116 @@ interface Context<T extends Record<string, any>> {
|
|
|
5270
5395
|
getAllValues: () => T;
|
|
5271
5396
|
}
|
|
5272
5397
|
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5277
|
-
|
|
5278
|
-
|
|
5279
|
-
reconnectionAttempt: number;
|
|
5398
|
+
declare class EnhancedEventEmitter<TransportPromiseEvents> extends EventEmitter$1 {
|
|
5399
|
+
get logger(): Logger;
|
|
5400
|
+
constructor(context: Context<ContextState>);
|
|
5401
|
+
safeEmit(event: string, ...args: any[]): boolean;
|
|
5402
|
+
safeEmitAsPromise<T extends keyof TransportPromiseEvents>(event: T, ...args: any[]): Promise<TransportPromiseEvents[T]>;
|
|
5403
|
+
safeEmitAsPromiseWithTimeout<T extends keyof TransportPromiseEvents>(event: T, timeout: number, ...args: any[]): Promise<TransportPromiseEvents[T]>;
|
|
5280
5404
|
}
|
|
5281
|
-
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5293
|
-
|
|
5294
|
-
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
id?: string;
|
|
5318
|
-
payload?: Uint8Array;
|
|
5319
|
-
}) => void): void;
|
|
5320
|
-
onStateEvent(event: SocketStateEvent, listener: (...args: any) => void): void;
|
|
5321
|
-
removeListener(event: number, listener: (message: {
|
|
5322
|
-
id?: string;
|
|
5323
|
-
payload?: Uint8Array;
|
|
5324
|
-
}) => void): void;
|
|
5325
|
-
removeListeners(event: number): void;
|
|
5326
|
-
flush(): any;
|
|
5327
|
-
handleSocketConnectionEvents(): void;
|
|
5405
|
+
|
|
5406
|
+
type MediaKind = 'audio' | 'video';
|
|
5407
|
+
type ProducerConstructorOptions = {
|
|
5408
|
+
id: string;
|
|
5409
|
+
localId: string;
|
|
5410
|
+
track?: MediaStreamTrack;
|
|
5411
|
+
stopTracks: boolean;
|
|
5412
|
+
disableTrackOnPause: boolean;
|
|
5413
|
+
zeroRtpOnPause: boolean;
|
|
5414
|
+
handler: HandlerInterface<TransportPromiseEvents>;
|
|
5415
|
+
appData?: Record<string, unknown>;
|
|
5416
|
+
rtpSender?: RTCRtpSender;
|
|
5417
|
+
};
|
|
5418
|
+
declare class Producer extends EnhancedEventEmitter<TransportPromiseEvents> {
|
|
5419
|
+
readonly id: string;
|
|
5420
|
+
readonly localId: string;
|
|
5421
|
+
readonly kind: MediaKind;
|
|
5422
|
+
readonly appData: Record<string, unknown>;
|
|
5423
|
+
readonly rtpSender: RTCRtpSender;
|
|
5424
|
+
constructor(context: Context<ContextState>, opt: ProducerConstructorOptions);
|
|
5425
|
+
get closed(): boolean;
|
|
5426
|
+
get track(): MediaStreamTrack | null;
|
|
5427
|
+
get paused(): boolean;
|
|
5428
|
+
get maxSpatialLayer(): number | undefined;
|
|
5429
|
+
close(reason?: string): Promise<void>;
|
|
5430
|
+
getStats(): Promise<RTCStatsReport>;
|
|
5431
|
+
pause(): void;
|
|
5432
|
+
resume(): void;
|
|
5433
|
+
replaceTrack({ track, }: {
|
|
5434
|
+
track: MediaStreamTrack | null;
|
|
5435
|
+
}): Promise<void>;
|
|
5436
|
+
setMaxSpatialLayer(spatialLayer: number): Promise<void>;
|
|
5437
|
+
setRtpEncodingParameters(params: RTCRtpEncodingParameters): Promise<void>;
|
|
5438
|
+
private _onTrackEnded;
|
|
5439
|
+
private _handleTrack;
|
|
5440
|
+
private _destroyTrack;
|
|
5328
5441
|
}
|
|
5329
5442
|
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
}>;
|
|
5372
|
-
|
|
5373
|
-
|
|
5443
|
+
interface UserDetailsResponse {
|
|
5444
|
+
id: string;
|
|
5445
|
+
name: string;
|
|
5446
|
+
email: string;
|
|
5447
|
+
picture?: string;
|
|
5448
|
+
loggedIn?: boolean;
|
|
5449
|
+
scope?: string[];
|
|
5450
|
+
clientSpecificId?: string;
|
|
5451
|
+
customParticipantId?: string;
|
|
5452
|
+
organizationId?: string;
|
|
5453
|
+
}
|
|
5454
|
+
declare class Self extends SelfMedia {
|
|
5455
|
+
name: string;
|
|
5456
|
+
picture: string;
|
|
5457
|
+
customParticipantId: string;
|
|
5458
|
+
waitlistStatus: 'accepted' | 'waiting' | 'rejected' | 'none';
|
|
5459
|
+
role: any;
|
|
5460
|
+
userId: string;
|
|
5461
|
+
organizationId: string;
|
|
5462
|
+
supportsRemoteControl: boolean;
|
|
5463
|
+
device: DeviceConfig;
|
|
5464
|
+
get telemetry(): Telemetry;
|
|
5465
|
+
hidden: boolean;
|
|
5466
|
+
get stageStatus(): StageStatus;
|
|
5467
|
+
get producers(): Producer[];
|
|
5468
|
+
get id(): string;
|
|
5469
|
+
get peerId(): string;
|
|
5470
|
+
presetName: string;
|
|
5471
|
+
roomState: 'init' | 'joined' | 'waitlisted' | LeaveRoomState;
|
|
5472
|
+
private constructor();
|
|
5473
|
+
static __init__(context: Context<ContextState>, details: UserDetailsResponse, permissions: PermissionPreset, theme: ThemePreset, presetName: string, skipAwaits?: boolean): Promise<Self>;
|
|
5474
|
+
cleanupEvents(): void;
|
|
5475
|
+
private setupEvents;
|
|
5476
|
+
get permissions(): PermissionPreset;
|
|
5477
|
+
get config(): ThemePreset;
|
|
5478
|
+
get roomJoined(): boolean;
|
|
5479
|
+
setName(name: string): void;
|
|
5480
|
+
setupTracks(options?: {
|
|
5481
|
+
video?: boolean;
|
|
5482
|
+
audio?: boolean;
|
|
5483
|
+
forceReset?: boolean;
|
|
5484
|
+
}): Promise<void>;
|
|
5485
|
+
destructMediaHandler(): Promise<void>;
|
|
5486
|
+
removeDocumentEventListeners(): Promise<void>;
|
|
5487
|
+
enableAudio(customTrack?: MediaStreamTrack): Promise<void>;
|
|
5488
|
+
enableVideo(customTrack?: MediaStreamTrack): Promise<void>;
|
|
5489
|
+
updateVideoConstraints(resolution: VideoQualityConstraints): Promise<void>;
|
|
5490
|
+
enableScreenShare(): Promise<void>;
|
|
5491
|
+
updateScreenshareConstraints(resolution: VideoQualityConstraints): Promise<void>;
|
|
5492
|
+
disableAudio(): Promise<void>;
|
|
5493
|
+
disableVideo(): Promise<void>;
|
|
5494
|
+
disableScreenShare(): Promise<void>;
|
|
5495
|
+
getAllDevices(): Promise<InputDeviceInfo[]>;
|
|
5496
|
+
setIsPinned(isPinned: boolean, emitEvent?: boolean): void;
|
|
5497
|
+
get isPinned(): boolean;
|
|
5498
|
+
pin(): Promise<void>;
|
|
5499
|
+
unpin(): Promise<void>;
|
|
5500
|
+
hide(): Promise<void>;
|
|
5501
|
+
show(): void;
|
|
5502
|
+
setDevice(device: MediaDeviceInfo): Promise<void>;
|
|
5503
|
+
cleanUpTracks(): void;
|
|
5504
|
+
playAudio(): Promise<void>;
|
|
5505
|
+
registerVideoElement(videoElem: HTMLVideoElement, isPreview?: boolean): void;
|
|
5506
|
+
deregisterVideoElement(videoElem?: HTMLVideoElement, isPreview?: boolean): void;
|
|
5507
|
+
private updateVideo;
|
|
5374
5508
|
}
|
|
5375
5509
|
|
|
5376
5510
|
interface DeviceConfig {
|
|
@@ -5390,7 +5524,7 @@ interface ProducerState {
|
|
|
5390
5524
|
mimeType?: string;
|
|
5391
5525
|
consumer?: Partial<Consumer>;
|
|
5392
5526
|
}
|
|
5393
|
-
interface
|
|
5527
|
+
interface IParticipant {
|
|
5394
5528
|
id: string;
|
|
5395
5529
|
userId: string;
|
|
5396
5530
|
displayName: string;
|
|
@@ -5413,7 +5547,7 @@ interface Participant {
|
|
|
5413
5547
|
};
|
|
5414
5548
|
recorderType?: string;
|
|
5415
5549
|
}
|
|
5416
|
-
declare class
|
|
5550
|
+
declare class Participant extends TypedEventEmitter$1<ParticipantEvents> {
|
|
5417
5551
|
id: string;
|
|
5418
5552
|
userId: string;
|
|
5419
5553
|
name: string;
|
|
@@ -5439,22 +5573,24 @@ declare class RTKParticipant$1 extends RTKTypedEventEmitter<ParticipantEvents> {
|
|
|
5439
5573
|
supportsRemoteControl: boolean;
|
|
5440
5574
|
presetName?: string;
|
|
5441
5575
|
get stageStatus(): StageStatus;
|
|
5442
|
-
get telemetry():
|
|
5443
|
-
constructor(context: Context<
|
|
5576
|
+
get telemetry(): Telemetry;
|
|
5577
|
+
constructor(context: Context<ContextState>, participant: IParticipant, self: Self, roomSocket: RoomSocketHandler);
|
|
5444
5578
|
setVideoEnabled(videoEnabled: boolean, emitEvent?: boolean): void;
|
|
5445
5579
|
setAudioEnabled(audioEnabled: boolean, emitEvent?: boolean): void;
|
|
5446
5580
|
setScreenShareEnabled(screenShareEnabled: boolean, emitEvent?: boolean): void;
|
|
5581
|
+
private setupEvents;
|
|
5447
5582
|
pin(): Promise<void>;
|
|
5448
5583
|
unpin(): Promise<void>;
|
|
5449
5584
|
setIsPinned(isPinned: boolean, emitEvent?: boolean): void;
|
|
5450
5585
|
disableAudio(): Promise<void>;
|
|
5451
5586
|
kick(): Promise<void>;
|
|
5452
5587
|
disableVideo(): Promise<void>;
|
|
5453
|
-
getPermissions(): Promise<Pick<_dyteinternals_utils.Permissions, "
|
|
5588
|
+
getPermissions(): Promise<Pick<_dyteinternals_utils.Permissions, "chat" | "polls" | "plugins">>;
|
|
5454
5589
|
setStageStatus(stageStatus: StageStatus): void;
|
|
5455
5590
|
get isPinned(): boolean;
|
|
5456
5591
|
registerVideoElement(videoElem: HTMLVideoElement): void;
|
|
5457
5592
|
deregisterVideoElement(videoElem?: HTMLVideoElement): void;
|
|
5593
|
+
private updateVideo;
|
|
5458
5594
|
}
|
|
5459
5595
|
|
|
5460
5596
|
declare function createSafeToLogError(ex: any): {
|
|
@@ -5477,7 +5613,7 @@ type LogData$2 = {
|
|
|
5477
5613
|
};
|
|
5478
5614
|
devices?: string | MediaDeviceInfo[];
|
|
5479
5615
|
debuggingHint?: string;
|
|
5480
|
-
constraints?: string |
|
|
5616
|
+
constraints?: string | ClientMediaStreamConstraints;
|
|
5481
5617
|
timeout?: number;
|
|
5482
5618
|
execTime?: number;
|
|
5483
5619
|
country?: string;
|
|
@@ -5541,7 +5677,7 @@ type LogData$2 = {
|
|
|
5541
5677
|
property: string;
|
|
5542
5678
|
};
|
|
5543
5679
|
};
|
|
5544
|
-
|
|
5680
|
+
clientInitOptions?: ClientOptions;
|
|
5545
5681
|
plugin?: {
|
|
5546
5682
|
id?: string;
|
|
5547
5683
|
name?: string;
|
|
@@ -5572,7 +5708,7 @@ type LogData$2 = {
|
|
|
5572
5708
|
id: string;
|
|
5573
5709
|
peerId?: string;
|
|
5574
5710
|
kind: 'audio' | 'video' | PRODUCERS_TYPE;
|
|
5575
|
-
status?: 'initializing' | 'producing' | 'paused' | 'failed' | 'closing' | 'closed' | 'UNKNOWN';
|
|
5711
|
+
status?: 'not_initialized' | 'initializing' | 'producing' | 'paused' | 'failed' | 'closing' | 'closed' | 'UNKNOWN';
|
|
5576
5712
|
appData: {
|
|
5577
5713
|
screenShare?: boolean;
|
|
5578
5714
|
supportsRemoteControl?: boolean;
|
|
@@ -5638,16 +5774,17 @@ type LogData$2 = {
|
|
|
5638
5774
|
ip: string;
|
|
5639
5775
|
postal: string;
|
|
5640
5776
|
};
|
|
5641
|
-
|
|
5777
|
+
polls?: {
|
|
5642
5778
|
hasQuestion?: boolean;
|
|
5643
5779
|
optionsLength?: number;
|
|
5644
5780
|
};
|
|
5645
|
-
|
|
5781
|
+
chat?: {
|
|
5646
5782
|
imageType?: string;
|
|
5647
5783
|
messageType?: string;
|
|
5648
5784
|
};
|
|
5649
|
-
|
|
5785
|
+
participant?: {
|
|
5650
5786
|
id: string;
|
|
5787
|
+
maskedName?: string;
|
|
5651
5788
|
};
|
|
5652
5789
|
actions?: {
|
|
5653
5790
|
disableAllAudio?: {
|
|
@@ -5694,7 +5831,7 @@ type LogData$2 = {
|
|
|
5694
5831
|
performanceObserver?: {
|
|
5695
5832
|
api: PerformanceEntry;
|
|
5696
5833
|
};
|
|
5697
|
-
|
|
5834
|
+
locker?: {
|
|
5698
5835
|
methodName: string;
|
|
5699
5836
|
lockName: string;
|
|
5700
5837
|
};
|
|
@@ -5739,7 +5876,7 @@ interface MeetingMetadata {
|
|
|
5739
5876
|
visitedUrl?: string;
|
|
5740
5877
|
userId?: string;
|
|
5741
5878
|
}
|
|
5742
|
-
declare class
|
|
5879
|
+
declare class Telemetry {
|
|
5743
5880
|
logsCache: {
|
|
5744
5881
|
[key: string]: any;
|
|
5745
5882
|
}[];
|
|
@@ -5754,7 +5891,7 @@ declare class RTKTelemetry {
|
|
|
5754
5891
|
logExclusionList: string[];
|
|
5755
5892
|
meetingMetadata: MeetingMetadata;
|
|
5756
5893
|
resetPeerId(peerId: string): void;
|
|
5757
|
-
init(context: Context<
|
|
5894
|
+
init(context: Context<ContextState>, options: MeetingMetadata, enableTracing: boolean): void;
|
|
5758
5895
|
static trace(spanName: string, metadata?: LogData$1 | undefined): (_target: Object, _propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
5759
5896
|
injectContext(injectionReceiver: any): void;
|
|
5760
5897
|
addLogInCurrentSpan(eventSeverity: EventSeverities, eventName: string, metadata?: LogData$1, noCache?: boolean): void;
|
|
@@ -5764,9 +5901,9 @@ declare class RTKTelemetry {
|
|
|
5764
5901
|
}
|
|
5765
5902
|
|
|
5766
5903
|
type LogData = LogData$1;
|
|
5767
|
-
declare class
|
|
5768
|
-
get telemetry():
|
|
5769
|
-
init(context: Context<
|
|
5904
|
+
declare class Logger {
|
|
5905
|
+
get telemetry(): Telemetry;
|
|
5906
|
+
init(context: Context<ContextState>): void;
|
|
5770
5907
|
info(humanReadableLogIdentifier: string, logData?: LogData, isCrucial?: boolean): void;
|
|
5771
5908
|
error(humanReadableLogIdentifier: string, logData?: LogData, isCrucial?: boolean): void;
|
|
5772
5909
|
debug(humanReadableLogIdentifier: string, logData?: LogData, isCrucial?: boolean): void;
|
|
@@ -5782,7 +5919,7 @@ interface IceServerInformation {
|
|
|
5782
5919
|
}
|
|
5783
5920
|
interface CachedUserDetails {
|
|
5784
5921
|
peerId?: string;
|
|
5785
|
-
pluginInformation:
|
|
5922
|
+
pluginInformation: PluginResponse[];
|
|
5786
5923
|
userDetails: UserDetailsResponseV2;
|
|
5787
5924
|
roomDetails: RoomDetails;
|
|
5788
5925
|
iceServers: IceServerInformation[];
|
|
@@ -5797,10 +5934,20 @@ interface APIOptions {
|
|
|
5797
5934
|
}
|
|
5798
5935
|
declare class API {
|
|
5799
5936
|
ipInfo: any;
|
|
5937
|
+
protected fetchClient: FetchClient;
|
|
5938
|
+
protected requests: FetchClient;
|
|
5939
|
+
protected roomName: string;
|
|
5940
|
+
protected roomUUID: string;
|
|
5941
|
+
protected authToken: string;
|
|
5942
|
+
protected organizationId: string;
|
|
5943
|
+
protected iceServers: IceServerInformation[];
|
|
5944
|
+
protected pluginInformation: PluginResponse[];
|
|
5945
|
+
protected userDetails: UserDetailsResponseV2;
|
|
5946
|
+
protected roomDetails: RoomDetails;
|
|
5800
5947
|
get peerId(): string;
|
|
5801
|
-
context: Context<
|
|
5802
|
-
get logger():
|
|
5803
|
-
constructor(context: Context<
|
|
5948
|
+
context: Context<ContextState>;
|
|
5949
|
+
get logger(): Logger;
|
|
5950
|
+
constructor(context: Context<ContextState>, options?: APIOptions);
|
|
5804
5951
|
setAuthToken(token: string, options?: {
|
|
5805
5952
|
bearer?: boolean;
|
|
5806
5953
|
}): void;
|
|
@@ -5812,43 +5959,48 @@ declare class API {
|
|
|
5812
5959
|
|
|
5813
5960
|
interface Overrides {
|
|
5814
5961
|
disableSimulcast?: boolean;
|
|
5962
|
+
simulcastConfig?: {
|
|
5963
|
+
disable?: boolean;
|
|
5964
|
+
encodings?: RTCRtpEncodingParameters[];
|
|
5965
|
+
};
|
|
5815
5966
|
forceRelay?: boolean;
|
|
5816
|
-
[key: string]: boolean | string | number
|
|
5967
|
+
[key: string]: boolean | string | number | Record<string, any>;
|
|
5817
5968
|
}
|
|
5818
|
-
interface
|
|
5969
|
+
interface ClientOptions {
|
|
5819
5970
|
authToken: string;
|
|
5820
5971
|
defaults?: DefaultOptions;
|
|
5821
5972
|
modules?: Modules;
|
|
5822
5973
|
overrides?: Overrides;
|
|
5823
5974
|
baseURI?: string;
|
|
5824
|
-
onError?: (error:
|
|
5975
|
+
onError?: (error: ClientError) => void;
|
|
5825
5976
|
cachedUserDetails?: CachedUserDetails;
|
|
5826
5977
|
}
|
|
5827
|
-
declare class
|
|
5978
|
+
declare class Client {
|
|
5828
5979
|
private constructor();
|
|
5829
5980
|
get peerId(): string;
|
|
5830
5981
|
static initMedia(options?: {
|
|
5831
|
-
|
|
5832
|
-
|
|
5833
|
-
|
|
5834
|
-
|
|
5835
|
-
static init(options:
|
|
5982
|
+
video?: boolean;
|
|
5983
|
+
audio?: boolean;
|
|
5984
|
+
constraints?: MediaConstraints;
|
|
5985
|
+
}, skipAwaits?: boolean, cachedUserDetails?: CachedUserDetails): SelfMedia;
|
|
5986
|
+
static init(options: ClientOptions): Promise<Client>;
|
|
5987
|
+
private static setupContext;
|
|
5836
5988
|
join(): Promise<void>;
|
|
5837
5989
|
leave(state?: LeaveRoomState): Promise<void>;
|
|
5838
|
-
get participants(): Readonly<
|
|
5839
|
-
get self(): Readonly<
|
|
5840
|
-
get meta(): Readonly<
|
|
5841
|
-
get ai(): Readonly<
|
|
5842
|
-
get plugins(): Readonly<
|
|
5843
|
-
get chat(): Readonly<
|
|
5844
|
-
get polls(): Readonly<
|
|
5845
|
-
get connectedMeetings(): Readonly<
|
|
5846
|
-
get recording(): Readonly<
|
|
5847
|
-
get livestream(): Readonly<
|
|
5848
|
-
get stage(): Readonly<
|
|
5849
|
-
get stores(): Readonly<
|
|
5990
|
+
get participants(): Readonly<Participants>;
|
|
5991
|
+
get self(): Readonly<Self>;
|
|
5992
|
+
get meta(): Readonly<Meta>;
|
|
5993
|
+
get ai(): Readonly<Ai>;
|
|
5994
|
+
get plugins(): Readonly<Plugins>;
|
|
5995
|
+
get chat(): Readonly<Chat>;
|
|
5996
|
+
get polls(): Readonly<Polls>;
|
|
5997
|
+
get connectedMeetings(): Readonly<ConnectedMeetings>;
|
|
5998
|
+
get recording(): Readonly<Recording>;
|
|
5999
|
+
get livestream(): Readonly<Livestream>;
|
|
6000
|
+
get stage(): Readonly<Stage>;
|
|
6001
|
+
get stores(): Readonly<StoreManager>;
|
|
5850
6002
|
get audio(): AudioPlaybackManager;
|
|
5851
|
-
get __internals__(): Readonly<
|
|
6003
|
+
get __internals__(): Readonly<Internals>;
|
|
5852
6004
|
joinRoom(): Promise<void>;
|
|
5853
6005
|
leaveRoom(state?: LeaveRoomState): Promise<void>;
|
|
5854
6006
|
}
|
|
@@ -5857,35 +6009,37 @@ declare enum RequestToJoinType {
|
|
|
5857
6009
|
PRESENT = "REQUEST_TO_PRESENT"
|
|
5858
6010
|
}
|
|
5859
6011
|
|
|
5860
|
-
type
|
|
6012
|
+
type RTKConfigOptions = Omit<ControllerOptions, 'peerId'>;
|
|
6013
|
+
|
|
6014
|
+
type RTKParticipant = Readonly<Participant>;
|
|
5861
6015
|
|
|
5862
|
-
type RTKParticipants = Readonly<
|
|
5863
|
-
type RTKParticipantMap = Readonly<
|
|
6016
|
+
type RTKParticipants = Readonly<Participants>;
|
|
6017
|
+
type RTKParticipantMap = Readonly<ParticipantMap>;
|
|
5864
6018
|
|
|
5865
|
-
type RTKPlugin = Readonly<
|
|
5866
|
-
type RTKPlugins = Readonly<
|
|
5867
|
-
type RTKPluginMap = Readonly<
|
|
5868
|
-
type RTKMeta = Readonly<
|
|
5869
|
-
type RTKSelf = Readonly<
|
|
5870
|
-
type RTKSelfMedia = Readonly<
|
|
5871
|
-
type RTKChat = Readonly<
|
|
5872
|
-
type RTKPolls = Readonly<
|
|
5873
|
-
type RTKRecording = Readonly<
|
|
6019
|
+
type RTKPlugin = Readonly<Plugin>;
|
|
6020
|
+
type RTKPlugins = Readonly<Plugins>;
|
|
6021
|
+
type RTKPluginMap = Readonly<PluginMap>;
|
|
6022
|
+
type RTKMeta = Readonly<Meta>;
|
|
6023
|
+
type RTKSelf = Readonly<Self>;
|
|
6024
|
+
type RTKSelfMedia = Readonly<SelfMedia>;
|
|
6025
|
+
type RTKChat = Readonly<Chat>;
|
|
6026
|
+
type RTKPolls = Readonly<Polls>;
|
|
6027
|
+
type RTKRecording = Readonly<Recording>;
|
|
5874
6028
|
|
|
5875
|
-
type RTKLivestream = Readonly<
|
|
6029
|
+
type RTKLivestream = Readonly<Livestream>;
|
|
5876
6030
|
|
|
5877
|
-
type RTKStore =
|
|
6031
|
+
type RTKStore = Store;
|
|
5878
6032
|
|
|
5879
|
-
type RTKConnectedMeetings = Readonly<
|
|
6033
|
+
type RTKConnectedMeetings = Readonly<ConnectedMeetings>;
|
|
5880
6034
|
|
|
5881
|
-
type RTKPermissionsPreset = Readonly<
|
|
5882
|
-
type RTKThemePreset = Readonly<
|
|
6035
|
+
type RTKPermissionsPreset = Readonly<PermissionPreset>;
|
|
6036
|
+
type RTKThemePreset = Readonly<ThemePreset>;
|
|
5883
6037
|
|
|
5884
|
-
type RTKLogger =
|
|
6038
|
+
type RTKLogger = Logger;
|
|
5885
6039
|
|
|
5886
|
-
type
|
|
6040
|
+
type ClientType = {
|
|
5887
6041
|
callStats?: unknown;
|
|
5888
|
-
|
|
6042
|
+
Telemetry?: typeof Telemetry;
|
|
5889
6043
|
};
|
|
5890
6044
|
declare global {
|
|
5891
6045
|
interface Navigator {
|
|
@@ -5896,12 +6050,12 @@ declare global {
|
|
|
5896
6050
|
isReactNative?: boolean;
|
|
5897
6051
|
}
|
|
5898
6052
|
interface Window {
|
|
5899
|
-
RTK?:
|
|
5900
|
-
|
|
6053
|
+
RTK?: ClientType;
|
|
6054
|
+
FAST_RTK?: boolean;
|
|
5901
6055
|
MediaStreamTrackProcessor?: any;
|
|
5902
6056
|
MediaStreamTrackGenerator?: any;
|
|
5903
6057
|
TransformStream?: any;
|
|
5904
6058
|
}
|
|
5905
6059
|
}
|
|
5906
6060
|
|
|
5907
|
-
export { ActiveTab, ActiveTabType, AudioConsumerScoreStats, AudioMiddleware, AudioProducerScoreStats, BroadcastMessagePayload, ChatChannel, ChatUpdateParams, CustomMessage, DeviceConfig,
|
|
6061
|
+
export { ActiveTab, ActiveTabType, AudioConsumerScoreStats, AudioMiddleware, AudioProducerScoreStats, BroadcastMessagePayload, CachedUserDetails, ChatChannel, ChatUpdateParams, ClientError, ConsumerScoreStats, CustomMessage, DeviceConfig, FileMessage, ImageMessage, JoinedPeer, LeaveRoomState, LivestreamIngestionCredentials, LivestreamState, LogData, MediaConnectionState, MediaConnectionUpdate, MediaConstraints, MediaKind, MediaPermission, Message, ProducerScoreStats, BasicParticipant as RTKBasicParticipant, BasicParticipantsMap as RTKBasicParticipantsMap, RTKChat, ClientOptions as RTKClientOptions, RTKConfigOptions, RTKConnectedMeetings, RTKLivestream, RTKLogger, RTKMeta, RTKParticipant, RTKParticipantMap, RTKParticipants, RTKPermissionsPreset, RTKPlugin, RTKPluginMap, RTKPlugins, RTKPolls, RTKRecording, RTKSelf, RTKSelfMedia, RTKStore, StoreData as RTKStoreData, RateLimitConfig as RTKStoreRateLimitConfig, RTKThemePreset, RecordingState, RequestToJoinType, SocketConnectionState, StageStatus, StartLivestreamConfig, TextMessage, UserDetailsResponseV2, VideoConsumerScoreStats, VideoMiddleware, VideoProducerScoreStats, VideoQualityConstraints, Client as default, LeaveRoomState as leaveRoomState };
|