@vkontakte/calls-sdk 2.8.11-dev.d94b3aa4.0 → 2.8.11-dev.f204132b.0
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/CallsSDK.d.ts +57 -25
- package/abstract/BaseApi.d.ts +2 -3
- package/abstract/BaseSignaling.d.ts +5 -7
- package/calls-sdk.cjs.js +11 -11
- package/calls-sdk.esm.js +5691 -5190
- package/classes/AudioFix.d.ts +5 -1
- package/classes/AudioOutput.d.ts +5 -1
- package/classes/CallRegistry.d.ts +22 -0
- package/classes/Conversation.d.ts +20 -7
- package/classes/DebugInfo.d.ts +3 -0
- package/classes/DisplayLayoutRequester.d.ts +39 -0
- package/classes/ExternalIdCache.d.ts +19 -0
- package/classes/MediaSource.d.ts +12 -1
- package/classes/ParticipantIdRegistry.d.ts +3 -0
- package/classes/ProducerCommandSerializationService.d.ts +3 -0
- package/classes/SignalingActor.d.ts +3 -1
- package/classes/SpeakerDetector.d.ts +2 -1
- package/classes/SpecListener.d.ts +7 -1
- package/classes/{Logger.d.ts → StatsLogger.d.ts} +3 -10
- package/classes/VideoEffectsFpsLimiter.d.ts +3 -0
- package/classes/asr/AsrReceiver.d.ts +3 -1
- package/classes/codec/LibVPxDecoder.d.ts +3 -0
- package/classes/codec/LibVPxEncoder.d.ts +3 -1
- package/classes/codec/WebCodecsDecoder.d.ts +3 -0
- package/classes/codec/WebCodecsEncoder.d.ts +3 -1
- package/classes/codec/WorkerBase.d.ts +5 -0
- package/classes/screenshare/BaseStreamBuilder.d.ts +4 -1
- package/classes/screenshare/CanvasRenderer.d.ts +3 -1
- package/classes/screenshare/ScreenCaptureReceiver.d.ts +7 -1
- package/classes/screenshare/ScreenCaptureSender.d.ts +5 -1
- package/classes/screenshare/ScreenCongestionControl.d.ts +3 -1
- package/classes/screenshare/StreamBuilder.d.ts +5 -1
- package/classes/screenshare/TrackGeneratorRenderer.d.ts +3 -1
- package/classes/screenshare/WebmBuilder.d.ts +3 -1
- package/classes/stat/CodecStatsAggregator.d.ts +7 -7
- package/classes/stat/ConversationStats.d.ts +21 -0
- package/classes/stat/StatAggregator.d.ts +6 -6
- package/classes/stat/StatFirstMediaReceived.d.ts +5 -3
- package/classes/stat/StatPings.d.ts +9 -9
- package/classes/stat/StatScreenShareFirstFrame.d.ts +3 -1
- package/classes/stat/StatSignalingCommands.d.ts +8 -8
- package/classes/transport/BaseTransport.d.ts +1 -1
- package/classes/transport/DirectStatReporter.d.ts +3 -1
- package/classes/transport/DirectTransport.d.ts +9 -1
- package/classes/transport/PerfStatReporter.d.ts +5 -1
- package/classes/transport/ServerTransport.d.ts +10 -2
- package/classes/transport/Transport.d.ts +11 -14
- package/default/Api.d.ts +3 -11
- package/default/Signaling.d.ts +13 -3
- package/enums/SignalingNotification.d.ts +2 -1
- package/enums/TransportState.d.ts +10 -0
- package/enums/TransportTopology.d.ts +5 -0
- package/package.json +1 -1
- package/static/Capabilities.d.ts +5 -0
- package/static/Debug.d.ts +27 -8
- package/static/External.d.ts +146 -71
- package/static/Params.d.ts +98 -70
- package/static/Utils.d.ts +3 -2
- package/static/WebRTCUtils.d.ts +6 -4
- package/types/Capabilities.d.ts +24 -0
- package/types/Conversation.d.ts +1 -1
- package/types/FastStart.d.ts +1 -0
- package/types/ParticipantLayout.d.ts +33 -0
- package/types/SignalingMessage.d.ts +8 -1
- package/types/Statistics.d.ts +1 -1
- package/utils/DebugStorage.d.ts +100 -1
- package/classes/stat/EventMetricsService.d.ts +0 -9
- package/static/ConversationDebugLogger.d.ts +0 -13
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StatItem } from '../../types/Statistics';
|
|
2
|
-
import
|
|
2
|
+
import StatsLogger from '../StatsLogger';
|
|
3
|
+
import TransportTopology from '../../enums/TransportTopology';
|
|
3
4
|
export type CodecKind = 'audio' | 'video';
|
|
4
5
|
/**
|
|
5
6
|
* Собирает стату по использованию кодеков в webrtc
|
|
@@ -7,13 +8,12 @@ export type CodecKind = 'audio' | 'video';
|
|
|
7
8
|
* отправляется репорт об использовании кодеков
|
|
8
9
|
*/
|
|
9
10
|
export declare class CodecStatsAggregator {
|
|
10
|
-
private
|
|
11
|
+
private readonly _logger;
|
|
11
12
|
private readonly _codecUsages;
|
|
12
|
-
private getCurrentTransportTopology;
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
private readonly getCurrentTransportTopology;
|
|
14
|
+
constructor(logger: StatsLogger, getCurrentTransportTopology: () => TransportTopology | undefined);
|
|
15
|
+
reportUsage(stat: StatItem): void;
|
|
15
16
|
private saveUsage;
|
|
16
17
|
private report;
|
|
17
|
-
|
|
18
|
-
private _destroy;
|
|
18
|
+
destroy(): void;
|
|
19
19
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import BaseApi from '../../abstract/BaseApi';
|
|
2
|
+
import BaseLogger from '../../abstract/BaseLogger';
|
|
3
|
+
import HangupReason from '../HangupReason';
|
|
4
|
+
import StatsLogger from '../StatsLogger';
|
|
5
|
+
import TransportTopology from '../../enums/TransportTopology';
|
|
6
|
+
import { CodecStatsAggregator } from './CodecStatsAggregator';
|
|
7
|
+
import { StatAggregator } from './StatAggregator';
|
|
8
|
+
import { StatPings } from './StatPings';
|
|
9
|
+
import { StatSignalingCommands } from './StatSignalingCommands';
|
|
10
|
+
export declare class ConversationStats {
|
|
11
|
+
readonly logger: StatsLogger;
|
|
12
|
+
readonly statAggregator: StatAggregator;
|
|
13
|
+
readonly codecStatsAggregator: CodecStatsAggregator;
|
|
14
|
+
readonly pings: StatPings;
|
|
15
|
+
readonly signalingCommands: StatSignalingCommands;
|
|
16
|
+
constructor(api: BaseApi, externalLogger: BaseLogger | null, getConversationId: () => string | null, getTopology: () => TransportTopology | undefined);
|
|
17
|
+
logHangup(reason: HangupReason, topology?: TransportTopology): void;
|
|
18
|
+
flushCallMetrics(topology?: TransportTopology): void;
|
|
19
|
+
destroy(): void;
|
|
20
|
+
private static correctHangupReason;
|
|
21
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ICallStatLog } from '../../types/PerfStatReporter';
|
|
2
2
|
import { IEventualStatLog } from '../../types/IEventualStatLog';
|
|
3
|
+
import StatsLogger from '../StatsLogger';
|
|
3
4
|
export declare class StatAggregator {
|
|
4
|
-
private
|
|
5
|
+
private readonly _logger;
|
|
5
6
|
private readonly _eventualLogs;
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
constructor(logger: StatsLogger);
|
|
8
|
+
logCallStat(params: ICallStatLog): void;
|
|
8
9
|
/** @link https://wiki.odkl.ru/pages/viewpage.action?pageId=100892588 */
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
private _destroy;
|
|
10
|
+
logEventualStat(params: IEventualStatLog): void;
|
|
11
|
+
destroy(): void;
|
|
12
12
|
}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import
|
|
1
|
+
import TransportTopology from '../../enums/TransportTopology';
|
|
2
|
+
import { StatAggregator } from './StatAggregator';
|
|
2
3
|
/** связанный с операцией `first_media_received` тип логируемого звонка */
|
|
3
4
|
declare enum ECallType {
|
|
4
5
|
DirectOutgoing = "direct_outgoing",
|
|
5
6
|
DirectIncoming = "direct_incoming",
|
|
6
|
-
DirectJoin = "direct_join",
|
|
7
7
|
ServerIncoming = "server_incoming",
|
|
8
8
|
ServerJoinServer = "server_join_server",
|
|
9
9
|
ServerChangeTopology = "server_change_topology"
|
|
10
10
|
}
|
|
11
11
|
export declare class StatFirstMediaReceived {
|
|
12
|
+
private readonly _statAggregator;
|
|
12
13
|
/** уже поставили засечку на приём звонка */
|
|
13
14
|
protected _isCallMarked: boolean;
|
|
14
15
|
protected _isFinished: boolean;
|
|
15
16
|
protected _callType: ECallType | null;
|
|
17
|
+
constructor(statAggregator: StatAggregator);
|
|
16
18
|
markAcceptCall(topology: TransportTopology): void;
|
|
17
19
|
markAcceptedCall(topology?: TransportTopology): void;
|
|
20
|
+
markParticipantJoined(topology: TransportTopology): void;
|
|
18
21
|
markOnJoin(topology: TransportTopology): void;
|
|
19
|
-
markTopologyChanged(topology: TransportTopology): void;
|
|
20
22
|
private mark;
|
|
21
23
|
measure(): void;
|
|
22
24
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { SignalingTransportType } from '../../enums/SignalingTransportStat';
|
|
2
|
-
import
|
|
2
|
+
import StatsLogger from '../StatsLogger';
|
|
3
|
+
import TransportTopology from '../../enums/TransportTopology';
|
|
3
4
|
export declare class StatPings {
|
|
4
|
-
private
|
|
5
|
-
|
|
5
|
+
private readonly _logger;
|
|
6
|
+
private trackerByTransport;
|
|
7
|
+
private lastSeen;
|
|
8
|
+
constructor(logger: StatsLogger);
|
|
6
9
|
/**
|
|
7
10
|
* Вызывать при входящем ping в сигналингу.
|
|
8
11
|
* Будет произведен расчет времени между пингами.
|
|
9
12
|
*/
|
|
10
|
-
|
|
13
|
+
mark(transport: SignalingTransportType): void;
|
|
11
14
|
/** Отправляем данные в стату */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
private trackerByTransport;
|
|
15
|
-
private lastSeen;
|
|
16
|
-
private _destroy;
|
|
15
|
+
logMetrics(topology?: TransportTopology): void;
|
|
16
|
+
destroy(): void;
|
|
17
17
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ParticipantId } from '../../types/Participant';
|
|
2
|
+
import { StatAggregator } from './StatAggregator';
|
|
2
3
|
export declare class StatScreenShareFirstFrame {
|
|
3
4
|
protected readonly _participantId: ParticipantId;
|
|
5
|
+
private readonly _statAggregator;
|
|
4
6
|
protected _firstFrameReceived: boolean;
|
|
5
|
-
constructor(participantId: ParticipantId);
|
|
7
|
+
constructor(participantId: ParticipantId, statAggregator: StatAggregator | null);
|
|
6
8
|
measure(width: number, height: number): void;
|
|
7
9
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { SignalingTransportType } from '../../enums/SignalingTransportStat';
|
|
2
|
-
import
|
|
2
|
+
import StatsLogger from '../StatsLogger';
|
|
3
|
+
import TransportTopology from '../../enums/TransportTopology';
|
|
3
4
|
export declare class StatSignalingCommands {
|
|
4
|
-
private
|
|
5
|
-
static create(): void;
|
|
6
|
-
static mark(command: string, time: number, transport: SignalingTransportType): void;
|
|
7
|
-
/** Отправляем данные в стату */
|
|
8
|
-
static logMetrics(topology?: TransportTopology): void;
|
|
9
|
-
static destroy(): void;
|
|
5
|
+
private readonly _logger;
|
|
10
6
|
private trackerByCommand;
|
|
11
|
-
|
|
7
|
+
constructor(logger: StatsLogger);
|
|
8
|
+
mark(command: string, time: number, transport: SignalingTransportType): void;
|
|
9
|
+
/** Отправляем данные в стату */
|
|
10
|
+
logMetrics(topology?: TransportTopology): void;
|
|
11
|
+
destroy(): void;
|
|
12
12
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import BaseSignaling from '../../abstract/BaseSignaling';
|
|
2
|
+
import TransportState from '../../enums/TransportState';
|
|
2
3
|
import EventEmitter from '../EventEmitter';
|
|
3
4
|
import { MediaSource } from '../MediaSource';
|
|
4
|
-
import { TransportState } from './Transport';
|
|
5
5
|
export default abstract class BaseTransport extends EventEmitter {
|
|
6
6
|
protected readonly _signaling: BaseSignaling;
|
|
7
7
|
protected readonly _mediaSource: MediaSource;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import BaseSignaling from '../../abstract/BaseSignaling';
|
|
2
|
+
import { type DebugLogger } from '../../static/Debug';
|
|
2
3
|
import { StatResult } from '../../types/Statistics';
|
|
3
4
|
import EventEmitter from '../EventEmitter';
|
|
4
5
|
import { WeightedAverage } from '../stat/WeightedAverage';
|
|
@@ -30,7 +31,8 @@ export default class DirectStatReporter extends EventEmitter {
|
|
|
30
31
|
private readonly _networkLimits;
|
|
31
32
|
private _lastStatSentTimestamp;
|
|
32
33
|
private _currentState;
|
|
33
|
-
|
|
34
|
+
private readonly _debug;
|
|
35
|
+
constructor(signaling: BaseSignaling, debug?: DebugLogger);
|
|
34
36
|
private _calcRttRating;
|
|
35
37
|
private _calcLossRating;
|
|
36
38
|
private _calcBitrateRating;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { AnimojiReceiver, AnimojiSender } from '@vkontakte/calls-vmoji';
|
|
2
2
|
import BaseSignaling from '../../abstract/BaseSignaling';
|
|
3
|
+
import { type DebugLogger } from '../../static/Debug';
|
|
3
4
|
import { ParticipantId } from '../../types/Participant';
|
|
4
5
|
import ServerSettings from '../../types/ServerSettings';
|
|
6
|
+
import StatsLogger from '../StatsLogger';
|
|
5
7
|
import { MediaSource } from '../MediaSource';
|
|
8
|
+
import { CodecStatsAggregator } from '../stat/CodecStatsAggregator';
|
|
9
|
+
import { StatAggregator } from '../stat/StatAggregator';
|
|
6
10
|
import BaseTransport from './BaseTransport';
|
|
7
11
|
export default class DirectTransport extends BaseTransport {
|
|
8
12
|
private readonly _participantId;
|
|
@@ -34,7 +38,11 @@ export default class DirectTransport extends BaseTransport {
|
|
|
34
38
|
private _lastBadConnection;
|
|
35
39
|
private _perfStatReporter;
|
|
36
40
|
private _directStatReporter;
|
|
37
|
-
|
|
41
|
+
private readonly _debug;
|
|
42
|
+
private readonly _logger;
|
|
43
|
+
private readonly _statAggregator;
|
|
44
|
+
private readonly _codecStatsAggregator;
|
|
45
|
+
constructor(participantId: ParticipantId, isMaster: boolean, signaling: BaseSignaling, mediaSource: MediaSource, serverSettings: ServerSettings, debug?: DebugLogger, logger?: StatsLogger | null, statAggregator?: StatAggregator | null, codecStatsAggregator?: CodecStatsAggregator | null);
|
|
38
46
|
get participantId(): ParticipantId;
|
|
39
47
|
updateStatisticsInterval(): void;
|
|
40
48
|
private _isDeadConnection;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import BaseSignaling from '../../abstract/BaseSignaling';
|
|
2
|
+
import { type DebugLogger } from '../../static/Debug';
|
|
2
3
|
import EventEmitter from '../EventEmitter';
|
|
4
|
+
import { StatAggregator } from '../stat/StatAggregator';
|
|
3
5
|
import DirectTransport from './DirectTransport';
|
|
4
6
|
import ServerTransport from './ServerTransport';
|
|
5
7
|
export default class PerfStatReporter extends EventEmitter {
|
|
@@ -10,7 +12,9 @@ export default class PerfStatReporter extends EventEmitter {
|
|
|
10
12
|
private _screenShareStats;
|
|
11
13
|
private _signaling;
|
|
12
14
|
private readonly _directTopology;
|
|
13
|
-
|
|
15
|
+
private readonly _debug;
|
|
16
|
+
private readonly _statAggregator;
|
|
17
|
+
constructor(transport: ServerTransport | DirectTransport, signaling: BaseSignaling, statAggregator?: StatAggregator | null, directTopology?: boolean, debug?: DebugLogger);
|
|
14
18
|
destroy(): void;
|
|
15
19
|
static getEstimatedPerformanceIndex(): number;
|
|
16
20
|
private _handleStats;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { AnimojiReceiver, AnimojiSender } from '@vkontakte/calls-vmoji';
|
|
2
2
|
import BaseSignaling from '../../abstract/BaseSignaling';
|
|
3
|
+
import { type DebugLogger } from '../../static/Debug';
|
|
3
4
|
import { ParticipantId } from '../../types/Participant';
|
|
4
5
|
import ServerSettings from '../../types/ServerSettings';
|
|
6
|
+
import StatsLogger from '../StatsLogger';
|
|
5
7
|
import { MediaSource } from '../MediaSource';
|
|
8
|
+
import { CodecStatsAggregator } from '../stat/CodecStatsAggregator';
|
|
9
|
+
import { StatAggregator } from '../stat/StatAggregator';
|
|
6
10
|
import BaseTransport from './BaseTransport';
|
|
7
11
|
export default class ServerTransport extends BaseTransport {
|
|
8
12
|
private _producerNotification;
|
|
@@ -39,7 +43,11 @@ export default class ServerTransport extends BaseTransport {
|
|
|
39
43
|
private _producerSessionId;
|
|
40
44
|
private _newAudioShareTrack;
|
|
41
45
|
private _simulcastInfo;
|
|
42
|
-
|
|
46
|
+
private readonly _debug;
|
|
47
|
+
private readonly _logger;
|
|
48
|
+
private readonly _statAggregator;
|
|
49
|
+
private readonly _codecStatsAggregator;
|
|
50
|
+
constructor(signaling: BaseSignaling, mediaSource: MediaSource, serverSettings: ServerSettings, debug?: DebugLogger, logger?: StatsLogger | null, statAggregator?: StatAggregator | null, codecStatsAggregator?: CodecStatsAggregator | null);
|
|
43
51
|
updateStatisticsInterval(): void;
|
|
44
52
|
open(observer?: boolean): void;
|
|
45
53
|
close(error?: Error): void;
|
|
@@ -88,7 +96,7 @@ export default class ServerTransport extends BaseTransport {
|
|
|
88
96
|
private _onAsrTranscription;
|
|
89
97
|
private _onProducerUpdated;
|
|
90
98
|
private _onAddTrack;
|
|
91
|
-
|
|
99
|
+
private _onSignalingStateChange;
|
|
92
100
|
private _onConnectionStateChange;
|
|
93
101
|
private _onReplacedTrack;
|
|
94
102
|
private _onSourcesChanged;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import type { AnimojiSvgData, RGBTuple } from '@vkontakte/calls-vmoji';
|
|
2
2
|
import BaseSignaling from '../../abstract/BaseSignaling';
|
|
3
|
+
import TransportState from '../../enums/TransportState';
|
|
4
|
+
import TransportTopology from '../../enums/TransportTopology';
|
|
5
|
+
import { type DebugLogger } from '../../static/Debug';
|
|
3
6
|
import { ParticipantId } from '../../types/Participant';
|
|
4
7
|
import ServerSettings from '../../types/ServerSettings';
|
|
5
8
|
import EventEmitter from '../EventEmitter';
|
|
9
|
+
import StatsLogger from '../StatsLogger';
|
|
6
10
|
import { MediaSource } from '../MediaSource';
|
|
11
|
+
import { CodecStatsAggregator } from '../stat/CodecStatsAggregator';
|
|
12
|
+
import { StatAggregator } from '../stat/StatAggregator';
|
|
7
13
|
export declare const enum TransportEvent {
|
|
8
14
|
REMOTE_TRACK_ADDED = "REMOTE_TRACK_ADDED",
|
|
9
15
|
REMOTE_TRACK_REMOVED = "REMOTE_TRACK_REMOVED",
|
|
@@ -23,19 +29,6 @@ export declare const enum TransportEvent {
|
|
|
23
29
|
ANIMOJI_ERROR = "ANIMOJI_ERROR",
|
|
24
30
|
SCREEN_SHARING_STAT = "SCREEN_SHARING_STAT"
|
|
25
31
|
}
|
|
26
|
-
export declare const enum TransportState {
|
|
27
|
-
IDLE = "IDLE",
|
|
28
|
-
OPENED = "OPENED",
|
|
29
|
-
CONNECTING = "CONNECTING",
|
|
30
|
-
RECONNECTING = "RECONNECTING",
|
|
31
|
-
CONNECTED = "CONNECTED",
|
|
32
|
-
CLOSED = "CLOSED",
|
|
33
|
-
FAILED = "FAILED"
|
|
34
|
-
}
|
|
35
|
-
export declare const enum TransportTopology {
|
|
36
|
-
DIRECT = "DIRECT",
|
|
37
|
-
SERVER = "SERVER"
|
|
38
|
-
}
|
|
39
32
|
export declare class Transport extends EventEmitter {
|
|
40
33
|
private readonly _signaling;
|
|
41
34
|
private readonly _mediaSource;
|
|
@@ -51,7 +44,11 @@ export declare class Transport extends EventEmitter {
|
|
|
51
44
|
private _localState;
|
|
52
45
|
private _animojiReceiver;
|
|
53
46
|
private _animojiSender;
|
|
54
|
-
|
|
47
|
+
private readonly _debug;
|
|
48
|
+
private readonly _logger;
|
|
49
|
+
private readonly _statAggregator;
|
|
50
|
+
private readonly _codecStatsAggregator;
|
|
51
|
+
constructor(topology: TransportTopology, signaling: BaseSignaling, mediaSource: MediaSource, serverSettings: ServerSettings, debug?: DebugLogger, logger?: StatsLogger | null, statAggregator?: StatAggregator | null, codecStatsAggregator?: CodecStatsAggregator | null);
|
|
55
52
|
updateSettings(settings: ServerSettings): void;
|
|
56
53
|
updateStatisticsInterval(): void;
|
|
57
54
|
allocate(participantId: ParticipantId, isMaster?: boolean): void;
|
package/default/Api.d.ts
CHANGED
|
@@ -8,9 +8,7 @@ import { CompositeUserId, OkUserId, ParticipantId } from '../types/Participant';
|
|
|
8
8
|
export default class Api extends BaseApi {
|
|
9
9
|
private _userId;
|
|
10
10
|
private _uuid;
|
|
11
|
-
private
|
|
12
|
-
private _decorativeIdToInitialId;
|
|
13
|
-
private _initialIdToDecorativeId;
|
|
11
|
+
private _idCache;
|
|
14
12
|
private _callUnsafe;
|
|
15
13
|
protected _call(method: string, data?: any, noSession?: boolean): Promise<any>;
|
|
16
14
|
userId(participantId: ParticipantId): Promise<ExternalParticipantId>;
|
|
@@ -25,7 +23,7 @@ export default class Api extends BaseApi {
|
|
|
25
23
|
audioOnly?: boolean;
|
|
26
24
|
waitForAdmin?: boolean;
|
|
27
25
|
closedConversation?: boolean;
|
|
28
|
-
},
|
|
26
|
+
}, externalIds?: ExternalId[]): Promise<ConversationResponse>;
|
|
29
27
|
startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie, waitForAdmin }?: {
|
|
30
28
|
onlyAdminCanShareMovie?: boolean;
|
|
31
29
|
waitForAdmin?: boolean;
|
|
@@ -42,19 +40,13 @@ export default class Api extends BaseApi {
|
|
|
42
40
|
}>;
|
|
43
41
|
getAnonymTokenByLink(joinLink: string, username?: string): Promise<string>;
|
|
44
42
|
joinConversationByLink(joinLink: string, isVideo?: boolean, observedIds?: ExternalUserId[], payload?: string): Promise<ConversationResponse>;
|
|
45
|
-
/**
|
|
46
|
-
* NB: Не сохраняет порядок возвращаемых ID
|
|
47
|
-
* Этот метод принимает именно ExternalId, т.к. для OkUserId не принципиально наличие deviceIdx
|
|
48
|
-
* @hidden
|
|
49
|
-
*/
|
|
50
|
-
getOkIdsByExternalIds(externalIds: ExternalId[]): Promise<OkUserId[]>;
|
|
51
|
-
getParticipantIdsByExternalIds(externalIds: ExternalId[]): Promise<Map<ExternalId, ParticipantId>>;
|
|
52
43
|
/**
|
|
53
44
|
* NB: Не сохраняет порядок возвращаемых ID
|
|
54
45
|
* @hidden
|
|
55
46
|
*/
|
|
56
47
|
getExternalIdsByOkIds(uids: OkUserId[]): Promise<ExternalParticipantId[]>;
|
|
57
48
|
getCachedOkIdByExternalId(externalId: ExternalId): ParticipantId | null;
|
|
49
|
+
getCachedRawOkIdByExternalId(externalId: ExternalId): OkUserId | null;
|
|
58
50
|
cacheExternalId(participantId: OkUserId | CompositeUserId | ParticipantId, externalId: ExternalParticipantId): void;
|
|
59
51
|
mapDecorativeId(decorativeId: OkUserId | CompositeUserId | ParticipantId, initialId: OkUserId | CompositeUserId | ParticipantId): void;
|
|
60
52
|
unmapDecorativeId(initialId: OkUserId | CompositeUserId | ParticipantId): void;
|
package/default/Signaling.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import BaseSignaling, { AddParticipantParams } from '../abstract/BaseSignaling';
|
|
2
|
+
import StatsLogger from '../classes/StatsLogger';
|
|
2
3
|
import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
|
|
3
4
|
import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
|
|
4
|
-
import {
|
|
5
|
+
import { StatAggregator } from '../classes/stat/StatAggregator';
|
|
6
|
+
import { StatPings } from '../classes/stat/StatPings';
|
|
7
|
+
import { StatSignalingCommands } from '../classes/stat/StatSignalingCommands';
|
|
8
|
+
import TransportTopology from '../enums/TransportTopology';
|
|
5
9
|
import ConversationFeature from '../enums/ConversationFeature';
|
|
6
10
|
import ConversationOption from '../enums/ConversationOption';
|
|
7
11
|
import MediaOption from '../enums/MediaOption';
|
|
8
12
|
import SignalingCommandType from '../enums/SignalingCommandType';
|
|
9
13
|
import SignalingConnectionType from '../enums/SignalingConnectionType';
|
|
10
14
|
import UserRole from '../enums/UserRole';
|
|
15
|
+
import { type DebugLogger } from '../static/Debug';
|
|
11
16
|
import { JSONObject } from '../static/Json';
|
|
12
17
|
import { IAsrStartParams, IAsrStopParams } from '../types/Asr';
|
|
13
18
|
import { ChangeSimulcast } from '../types/ChangeSimulcast';
|
|
@@ -22,7 +27,7 @@ import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
|
|
|
22
27
|
import { StreamDescriptionString } from '../types/ParticipantStreamDescription';
|
|
23
28
|
import { PerfStatReport } from '../types/PerfStatReporter';
|
|
24
29
|
import SignalingMessage, { GetParticipantsSignalingResponse, GetRoomsSignalingResponse, SignalingSuccessResponse } from '../types/SignalingMessage';
|
|
25
|
-
import { IPublishStreamData,
|
|
30
|
+
import { IPublishStreamData, IStartStreamData, IStopStreamData } from '../types/Streams';
|
|
26
31
|
export default class Signaling extends BaseSignaling {
|
|
27
32
|
private socket;
|
|
28
33
|
protected sequence: number;
|
|
@@ -49,12 +54,18 @@ export default class Signaling extends BaseSignaling {
|
|
|
49
54
|
private producerCommandDataChannel;
|
|
50
55
|
private producerCommandDataChannelEnabled;
|
|
51
56
|
private producerCommandSerializationService;
|
|
57
|
+
private readonly _debug;
|
|
58
|
+
private readonly _logger;
|
|
59
|
+
private readonly _statAggregator;
|
|
60
|
+
private readonly _pings;
|
|
61
|
+
private readonly _signalingCommands;
|
|
52
62
|
private static get RECONNECT_DELAY();
|
|
53
63
|
private static get RECONNECT_MAX_DELAY();
|
|
54
64
|
private static get RECONNECT_MAX_COUNT();
|
|
55
65
|
private static get WAIT_CONNECTION_DELAY();
|
|
56
66
|
private static get WAIT_RESPONSE_DELAY();
|
|
57
67
|
private static get WAIT_MESSAGE_DELAY();
|
|
68
|
+
constructor(debug?: DebugLogger, logger?: StatsLogger | null, statAggregator?: StatAggregator | null, pings?: StatPings | null, signalingCommands?: StatSignalingCommands | null);
|
|
58
69
|
get ready(): boolean;
|
|
59
70
|
setEndpoint(endpoint: string): void;
|
|
60
71
|
setWebTransportEndpoint(endpoint: string | null): void;
|
|
@@ -119,7 +130,6 @@ export default class Signaling extends BaseSignaling {
|
|
|
119
130
|
startStream(data: IStartStreamData): Promise<SignalingMessage>;
|
|
120
131
|
stopStream(data?: IStopStreamData): Promise<SignalingMessage>;
|
|
121
132
|
publishStream(data?: IPublishStreamData): Promise<SignalingMessage>;
|
|
122
|
-
recordSetConf(conf?: IRecordConfData): Promise<SignalingMessage>;
|
|
123
133
|
getRecordStatus(): Promise<SignalingMessage>;
|
|
124
134
|
switchTopology(topology: TransportTopology, force?: boolean): Promise<SignalingMessage>;
|
|
125
135
|
requestRealloc(): Promise<SignalingMessage>;
|
|
@@ -50,6 +50,7 @@ declare enum SignalingNotification {
|
|
|
50
50
|
ASR_STARTED = "asr-started",
|
|
51
51
|
ASR_STOPPED = "asr-stopped",
|
|
52
52
|
DECORATIVE_PARTICIPANT_ID_CHANGED = "decorative-participant-id-changed",
|
|
53
|
-
VIDEO_SUSPEND_SUGGEST = "video-suspend-suggest"
|
|
53
|
+
VIDEO_SUSPEND_SUGGEST = "video-suspend-suggest",
|
|
54
|
+
HOLD = "hold"
|
|
54
55
|
}
|
|
55
56
|
export default SignalingNotification;
|
package/package.json
CHANGED
package/static/Debug.d.ts
CHANGED
|
@@ -7,14 +7,33 @@ export declare enum DebugMessageType {
|
|
|
7
7
|
WARN = "WARN",
|
|
8
8
|
ERROR = "ERROR"
|
|
9
9
|
}
|
|
10
|
+
export type DebugMessageContext = {
|
|
11
|
+
readonly sessionId: string | null;
|
|
12
|
+
readonly conversationId: string | null;
|
|
13
|
+
};
|
|
14
|
+
export type DebugLogger = {
|
|
15
|
+
debug(...args: any[]): void;
|
|
16
|
+
log(...args: any[]): void;
|
|
17
|
+
warn(...args: any[]): void;
|
|
18
|
+
error(...args: any[]): void;
|
|
19
|
+
};
|
|
20
|
+
export type DebugSessionLogger = DebugLogger & {
|
|
21
|
+
readonly sessionId: string | null;
|
|
22
|
+
readonly conversationId: string | null;
|
|
23
|
+
setConversationId(conversationId: string | null): void;
|
|
24
|
+
};
|
|
10
25
|
declare namespace Debug {
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
function
|
|
14
|
-
function
|
|
15
|
-
function
|
|
16
|
-
function
|
|
17
|
-
function
|
|
18
|
-
function
|
|
26
|
+
type ContextProvider = () => DebugMessageContext;
|
|
27
|
+
export function debug(...args: any[]): void;
|
|
28
|
+
export function log(...args: any[]): void;
|
|
29
|
+
export function warn(...args: any[]): void;
|
|
30
|
+
export function error(...args: any[]): void;
|
|
31
|
+
export function enabled(): boolean;
|
|
32
|
+
export function toggle(enable: boolean): void;
|
|
33
|
+
export function send(type: DebugMessageType, ...args: any[]): void;
|
|
34
|
+
export function createLogger(getContext: ContextProvider): DebugLogger;
|
|
35
|
+
export function createSessionLogger(initialConversationId?: string | null): DebugSessionLogger;
|
|
36
|
+
export function test(tag: string, ...args: any[]): void;
|
|
37
|
+
export {};
|
|
19
38
|
}
|
|
20
39
|
export default Debug;
|