@vkontakte/calls-sdk 2.8.12-dev.773596bc.0 → 2.8.12-dev.7afbc576.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 +36 -4
- package/abstract/BaseApi.d.ts +7 -10
- package/abstract/BaseSignaling.d.ts +10 -5
- package/calls-sdk.cjs.js +7 -13
- package/calls-sdk.esm.js +3377 -2832
- package/classes/AudioFix.d.ts +2 -2
- package/classes/AudioOutput.d.ts +2 -2
- package/classes/CallRegistry.d.ts +1 -1
- package/classes/ExternalIdCache.d.ts +1 -0
- package/classes/MediaSource.d.ts +6 -2
- package/classes/SpecListener.d.ts +2 -2
- package/classes/codec/LibVPxDecoder.d.ts +2 -2
- package/classes/codec/LibVPxEncoder.d.ts +2 -2
- package/classes/codec/WebCodecsDecoder.d.ts +2 -2
- package/classes/codec/WebCodecsEncoder.d.ts +2 -2
- package/classes/codec/WorkerBase.d.ts +3 -3
- package/classes/{Conversation.d.ts → conversation/Conversation.d.ts} +50 -37
- package/classes/conversation/Conversation.testUtils.d.ts +148 -0
- package/classes/{ConversationResponseValidator.d.ts → conversation/ConversationResponseValidator.d.ts} +1 -1
- package/classes/{DisplayLayoutRequester.d.ts → conversation/DisplayLayoutRequester.d.ts} +5 -5
- package/classes/conversation/index.d.ts +1 -0
- package/classes/screenshare/ScreenCaptureReceiver.d.ts +2 -2
- package/classes/screenshare/ScreenCaptureSender.d.ts +2 -2
- package/classes/screenshare/StreamBuilder.d.ts +2 -2
- package/classes/stat/CallLifecycleStats.d.ts +2 -6
- package/classes/stat/CodecStatsAggregator.d.ts +2 -2
- package/classes/stat/ConversationStats.d.ts +11 -4
- package/classes/stat/StatAggregator.d.ts +6 -2
- package/classes/stat/StatDrainScheduler.d.ts +78 -0
- package/classes/stat/StatEventCollector.d.ts +37 -0
- package/classes/stat/StatPings.d.ts +2 -2
- package/classes/stat/StatQueue.d.ts +61 -0
- package/classes/stat/StatSignalingCommands.d.ts +2 -2
- package/classes/stat/StatUnloadJournal.d.ts +30 -0
- package/classes/transport/DirectTransport.d.ts +3 -2
- package/classes/transport/PerfStatReporter.d.ts +2 -0
- package/classes/transport/ServerTransport.d.ts +3 -6
- package/classes/transport/SimulcastSender.d.ts +31 -0
- package/classes/transport/Transport.d.ts +5 -2
- package/default/Api.d.ts +14 -3
- package/default/ApiExternal.d.ts +2 -1
- package/default/Signaling.d.ts +11 -15
- package/default/SignalingTransport.d.ts +6 -1
- package/enums/ClientHangupReason.d.ts +7 -0
- package/enums/SessionError.d.ts +10 -0
- package/enums/Stat.d.ts +0 -1
- package/package.json +3 -3
- package/static/ApiTransport.d.ts +3 -0
- package/static/External.d.ts +1 -1
- package/static/Params.d.ts +42 -2
- package/static/ParticipantConnectionStatusUtils.d.ts +1 -0
- package/static/Sdp.d.ts +3 -0
- package/static/SignalingCapabilities.d.ts +1 -1
- package/static/SimulcastInfo.d.ts +5 -3
- package/static/Utils.d.ts +1 -2
- package/static/WebRTCUtils.d.ts +9 -12
- package/types/Api.d.ts +9 -0
- package/types/Capabilities.d.ts +1 -0
- package/types/FastHangup.d.ts +66 -0
- package/types/Participant.d.ts +1 -0
- package/types/PerfStatReporter.d.ts +0 -4
- package/types/SignalingCommand.d.ts +2 -0
- package/types/SignalingMessage.d.ts +1 -0
- package/utils/IceServers.d.ts +2 -0
- package/utils/NavigatorPermissions.d.ts +2 -2
- package/utils/SerializeLatest.d.ts +5 -0
- package/classes/StatsLogger.d.ts +0 -41
package/CallsSDK.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* CallsSDK
|
|
3
3
|
*/
|
|
4
4
|
import type { IEffect, VideoEffects } from '@vkontakte/calls-video-effects';
|
|
5
|
-
import type { EffectVoiceChange } from '@vkontakte/calls-audio-effects';
|
|
5
|
+
import type { EffectVoiceChange, VadControllerOptions, VadLib } from '@vkontakte/calls-audio-effects';
|
|
6
6
|
import type * as Vmoji from '@vkontakte/calls-vmoji';
|
|
7
7
|
import BaseLogger from './abstract/BaseLogger';
|
|
8
8
|
import { AddParticipantParams } from './abstract/BaseSignaling';
|
|
@@ -14,6 +14,7 @@ import Api from './default/Api';
|
|
|
14
14
|
import Signaling from './default/Signaling';
|
|
15
15
|
import CallDirection from './enums/CallDirection';
|
|
16
16
|
import CallType from './enums/CallType';
|
|
17
|
+
import type ClientHangupReason from './enums/ClientHangupReason';
|
|
17
18
|
import ChatRoomEventType from './enums/ChatRoomEventType';
|
|
18
19
|
import ConversationFeature from './enums/ConversationFeature';
|
|
19
20
|
import ConversationOption from './enums/ConversationOption';
|
|
@@ -67,6 +68,7 @@ import { VmojiError } from './types/Vmoji';
|
|
|
67
68
|
import { VolumeDetector } from './classes/VolumeDetector';
|
|
68
69
|
import { FastStartHandler, FastStartParams } from './types/FastStart';
|
|
69
70
|
import { FastJoinHandler, FastJoinParams, FastJoinResponse } from './types/FastJoin';
|
|
71
|
+
import { FastHangupHandler, FastHangupParams, FastHangupResponse, HangupParams } from './types/FastHangup';
|
|
70
72
|
import PushData from './types/PushData';
|
|
71
73
|
export type { CurrentLogItem, DebugLogGetParams, DebugLogSessionInfo, DebugLogStorageStats } from './utils/DebugStorage';
|
|
72
74
|
/**
|
|
@@ -212,6 +214,13 @@ export declare function setVideoEffects(effects: VideoEffects): void;
|
|
|
212
214
|
* @param effects Экземпляр класса `EffectVoiceChange` из `@vkontakte/calls-audio-effects`
|
|
213
215
|
*/
|
|
214
216
|
export declare function setAudioEffects(effects: EffectVoiceChange): void;
|
|
217
|
+
/**
|
|
218
|
+
* Устанавливает поддержку VAD
|
|
219
|
+
*
|
|
220
|
+
* @param vad принимает VadController из `@vkontakte/calls-audio-effects`
|
|
221
|
+
* @param options принимает VadControllerOptions из `@vkontakte/calls-audio-effects`
|
|
222
|
+
*/
|
|
223
|
+
export declare function setVad(vad: VadLib, options?: VadControllerOptions): void;
|
|
215
224
|
/**
|
|
216
225
|
* Устанавливает библиотеку вимоджи
|
|
217
226
|
*
|
|
@@ -263,6 +272,15 @@ export declare function getInbounds(): Promise<PushData[]>;
|
|
|
263
272
|
* @param authToken Токен авторизации
|
|
264
273
|
* @param apiBaseUrl Базовый адрес для API. Если не передан, то не меняет установленный
|
|
265
274
|
*/
|
|
275
|
+
/**
|
|
276
|
+
* Запускает отправку клиентской статистики.
|
|
277
|
+
*
|
|
278
|
+
* Нужен только если `init()` был вызван с `autoStartStats: false`: до этого
|
|
279
|
+
* момента события копятся в IndexedDB и в сеть не уходят. Первый дрейн после
|
|
280
|
+
* старта забирает всё накопленное. Повторные вызовы и вызов после автостарта
|
|
281
|
+
* ничего не делают.
|
|
282
|
+
*/
|
|
283
|
+
export declare function startStats(): void;
|
|
266
284
|
export declare function authorize(authToken?: string, apiBaseUrl?: IAPIBaseUrl): Promise<void>;
|
|
267
285
|
/**
|
|
268
286
|
* Принять входящий звонок
|
|
@@ -272,8 +290,14 @@ export declare function authorize(authToken?: string, apiBaseUrl?: IAPIBaseUrl):
|
|
|
272
290
|
export declare function acceptCall(mediaOptions?: MediaOption[], conversationId?: string): Promise<ConversationData>;
|
|
273
291
|
/**
|
|
274
292
|
* Отклонить входящий звонок
|
|
293
|
+
*
|
|
294
|
+
* @param params Параметры завершения. `params.conversationId` — ID звонка
|
|
295
|
+
* (по умолчанию текущий активный), `params.reason` — причина завершения
|
|
296
|
+
* для проброса в сигналинг (по умолчанию `REJECTED`). См. {@link ClientHangupReason}.
|
|
297
|
+
* `params.onFastHangup` — опционально: вместо Calls API hangup при отклонении.
|
|
298
|
+
* На закрытии вкладки не используется. См. {@link HangupParams}.
|
|
275
299
|
*/
|
|
276
|
-
export declare function declineCall(
|
|
300
|
+
export declare function declineCall(params?: HangupParams): Promise<void>;
|
|
277
301
|
/**
|
|
278
302
|
* Присоединиться к активному звонку
|
|
279
303
|
*
|
|
@@ -295,8 +319,16 @@ export declare function joinCallInternal(conversationId: string, mediaOptions: M
|
|
|
295
319
|
export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[], payload?: string, onFastJoin?: FastJoinHandler): Promise<ConversationData>;
|
|
296
320
|
/**
|
|
297
321
|
* Завершить текущий разговор
|
|
322
|
+
*
|
|
323
|
+
* @param params Параметры завершения. `params.conversationId` — ID звонка
|
|
324
|
+
* (по умолчанию текущий активный), `params.reason` — причина завершения
|
|
325
|
+
* для проброса в сигналинг: по умолчанию `HUNGUP` (если звонок активен) или `CANCELED`.
|
|
326
|
+
* См. {@link ClientHangupReason}.
|
|
327
|
+
* `params.onFastHangup` — опционально: вместо Calls API hangup, если обработчик передан.
|
|
328
|
+
* Без него API hangup не вызывается (signaling hangup остаётся). На `pagehide` всегда beacon.
|
|
329
|
+
* См. {@link HangupParams}.
|
|
298
330
|
*/
|
|
299
|
-
export declare function hangup(
|
|
331
|
+
export declare function hangup(params?: HangupParams): Promise<void>;
|
|
300
332
|
/**
|
|
301
333
|
* Добавить собеседника в звонок
|
|
302
334
|
*
|
|
@@ -781,5 +813,5 @@ export declare function getSyncedTime(): number;
|
|
|
781
813
|
* Версия SDK
|
|
782
814
|
*/
|
|
783
815
|
export declare function version(): string;
|
|
784
|
-
export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, DisplayLayoutRequest, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAPIBaseUrl, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, ParticipantsStateList, ParticipantStateData, ParticipantStateDataKey, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, ParticipantListMarker, RequestKeyFrame, Rooms, IGetParticipantsParameters, ScreenCaptureSettings, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IMovieMetaData, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IRoomId, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, IMuteParticipantParams, IMuteParticipantInternalParams, IStartStreamData, IStopStreamData, IPublishStreamData, VmojiError, FastStartHandler, FastStartParams, FastJoinHandler, FastJoinParams, FastJoinResponse, };
|
|
816
|
+
export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, ClientHangupReason, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, DisplayLayoutRequest, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAPIBaseUrl, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, ParticipantsStateList, ParticipantStateData, ParticipantStateDataKey, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, ParticipantListMarker, RequestKeyFrame, Rooms, IGetParticipantsParameters, ScreenCaptureSettings, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IMovieMetaData, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IRoomId, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, IMuteParticipantParams, IMuteParticipantInternalParams, IStartStreamData, IStopStreamData, IPublishStreamData, VmojiError, FastStartHandler, FastStartParams, FastJoinHandler, FastJoinParams, FastJoinResponse, FastHangupHandler, FastHangupParams, FastHangupResponse, HangupParams, };
|
|
785
817
|
export { Api, AuthData, BaseLogger, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStateDataValue, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, TransportTopology, RoomsEventType, ConversationFeature, ArrayDequeue, ApiExternal, VolumeDetector, };
|
package/abstract/BaseApi.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import CallType from '../enums/CallType';
|
|
2
2
|
import HangupType from '../enums/HangupType';
|
|
3
|
+
import { IHangupParams } from '../types/Api';
|
|
3
4
|
import { ConversationData } from '../types/Conversation';
|
|
4
5
|
import ConversationParams from '../types/ConversationParams';
|
|
5
6
|
import ConversationResponse from '../types/ConversationResponse';
|
|
@@ -11,13 +12,6 @@ export type ClientStats = {
|
|
|
11
12
|
vcid: ConversationData['id'] | null;
|
|
12
13
|
[k: string]: string | number | boolean | null;
|
|
13
14
|
};
|
|
14
|
-
export type ClientEvent = {
|
|
15
|
-
timestamp: number;
|
|
16
|
-
call_topology: 'D' | 'S';
|
|
17
|
-
event_type: string;
|
|
18
|
-
vcid: ConversationData['id'] | null;
|
|
19
|
-
[k: string]: string | number | boolean | null;
|
|
20
|
-
};
|
|
21
15
|
export type LogItem = {
|
|
22
16
|
count?: number;
|
|
23
17
|
custom: ClientStats;
|
|
@@ -38,7 +32,7 @@ export default abstract class BaseApi {
|
|
|
38
32
|
*/
|
|
39
33
|
setAbortSignal(signal: AbortSignal | undefined): void;
|
|
40
34
|
abstract authorize(): Promise<void>;
|
|
41
|
-
abstract userId(participantId: ParticipantId):
|
|
35
|
+
abstract userId(participantId: ParticipantId): ExternalParticipantId;
|
|
42
36
|
abstract deviceId(): string;
|
|
43
37
|
abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean, createConversationParameters?: {
|
|
44
38
|
onlyAdminCanShareMovie?: boolean;
|
|
@@ -68,8 +62,11 @@ export default abstract class BaseApi {
|
|
|
68
62
|
log(items: LogItem[]): void;
|
|
69
63
|
/**
|
|
70
64
|
* method: vchat.clientStats
|
|
65
|
+
*
|
|
66
|
+
* Резолвится только после подтверждённой сервером отправки: вызывающий
|
|
67
|
+
* код удаляет события из очереди по факту резолва.
|
|
71
68
|
*/
|
|
72
|
-
logClientStats(items: ClientStats[]): void
|
|
69
|
+
logClientStats(items: ClientStats[]): Promise<void>;
|
|
73
70
|
abstract uploadDebugLogs(conversationId: string, startTime: number, endTime: number, log: string): Promise<void>;
|
|
74
71
|
getCachedOkIdByExternalId(externalId: ExternalId): ParticipantId | null;
|
|
75
72
|
getCachedRawOkIdByExternalId(externalId: ExternalId): OkUserId | null;
|
|
@@ -79,7 +76,7 @@ export default abstract class BaseApi {
|
|
|
79
76
|
unmapDecorativeId(decorativeId: OkUserId | CompositeUserId | ParticipantId): void;
|
|
80
77
|
getDecorativeIdByInitialId(okId: OkUserId | CompositeUserId | ParticipantId): OkUserId | undefined;
|
|
81
78
|
replaceByInitialIdIdIfExists(id: OkUserId | CompositeUserId | ParticipantId): OkUserId;
|
|
82
|
-
hangupConversation(conversationId: string, reason?: HangupType): void;
|
|
79
|
+
hangupConversation(conversationId: string, reason?: HangupType, hangupParams?: Partial<IHangupParams>): void;
|
|
83
80
|
removeHistoryRecords(recordIds: number[]): Promise<void>;
|
|
84
81
|
getServerTime(): Promise<number>;
|
|
85
82
|
cleanup(): void;
|
|
@@ -42,6 +42,12 @@ export interface AddParticipantParams {
|
|
|
42
42
|
*/
|
|
43
43
|
payload?: string;
|
|
44
44
|
}
|
|
45
|
+
export declare class SignalingDisposedError extends Error {
|
|
46
|
+
constructor(command?: string);
|
|
47
|
+
}
|
|
48
|
+
export declare class ProducerConnectionClosedError extends Error {
|
|
49
|
+
constructor(command?: string);
|
|
50
|
+
}
|
|
45
51
|
/**
|
|
46
52
|
* Should trigger SignalingEvent.NOTIFICATION on notification message and SignalingEvent.FAILED on error
|
|
47
53
|
* https://wiki.odkl.ru/display/projects/Signaling+API#SignalingAPI-Notifications
|
|
@@ -55,11 +61,11 @@ export default abstract class BaseSignaling extends EventEmitter {
|
|
|
55
61
|
*/
|
|
56
62
|
setAbortSignal(signal: AbortSignal | undefined): void;
|
|
57
63
|
abstract connect(connectionType: SignalingConnectionType, conversation?: ConversationResponse): Promise<SignalingMessage.Connection>;
|
|
58
|
-
abstract
|
|
64
|
+
abstract dispose(cause?: Error): void;
|
|
59
65
|
abstract hangup(reason: string): Promise<SignalingMessage | void>;
|
|
60
66
|
abstract acceptCall(mediaSettings: MediaSettings): Promise<SignalingMessage>;
|
|
61
67
|
abstract sendSdp(participantId: ParticipantId, sdp: RTCSessionDescriptionInit, extraPayload?: Record<string, any>): Promise<SignalingMessage>;
|
|
62
|
-
abstract sendCandidate(participantId: ParticipantId, candidate:
|
|
68
|
+
abstract sendCandidate(participantId: ParticipantId, candidate: RTCIceCandidateInit): Promise<SignalingMessage>;
|
|
63
69
|
abstract changeMediaSettings(mediaSettings: MediaSettings): Promise<SignalingMessage>;
|
|
64
70
|
abstract changeParticipantState(state: ParticipantStateData, compositeUserId?: CompositeUserId): Promise<SignalingMessage>;
|
|
65
71
|
abstract hold(hold: boolean, capabilities?: TCapabilities): Promise<SignalingMessage>;
|
|
@@ -119,6 +125,7 @@ export default abstract class BaseSignaling extends EventEmitter {
|
|
|
119
125
|
abstract setProducerNotificationDataChannel(dataChannel: RTCDataChannel): void;
|
|
120
126
|
abstract setProducerCommandDataChannel(dataChannel: RTCDataChannel): void;
|
|
121
127
|
abstract useCommandDataChannel(status: boolean): void;
|
|
128
|
+
abstract resetProducerConnection(cause?: Error): void;
|
|
122
129
|
abstract getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
|
|
123
130
|
abstract getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<GetParticipantsSignalingResponse>;
|
|
124
131
|
abstract getPeerId(): number | null;
|
|
@@ -130,9 +137,7 @@ export default abstract class BaseSignaling extends EventEmitter {
|
|
|
130
137
|
requestRealloc(): void;
|
|
131
138
|
setEndpoint(endpoint: string): void;
|
|
132
139
|
setWebTransportEndpoint(endpoint: string | null): void;
|
|
133
|
-
setConversationId(conversationId: string): void;
|
|
134
140
|
readyToSend(isReady?: boolean): void;
|
|
135
|
-
|
|
136
|
-
requestTestMode(consumerCommand: string, producerCommand: string | null): void;
|
|
141
|
+
requestTestMode(consumerCommand: string, producerCommand: string | null): Promise<SignalingMessage | void>;
|
|
137
142
|
getNextCommandSequenceNumber(): number;
|
|
138
143
|
}
|