@vkontakte/calls-sdk 2.8.12-dev.bcb53bc3.0 → 2.8.12-dev.c58bce06.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 +28 -3
- package/abstract/BaseApi.d.ts +15 -10
- package/abstract/BaseSignaling.d.ts +10 -5
- package/calls-sdk.cjs.js +7 -13
- package/calls-sdk.esm.js +2773 -2006
- package/classes/AudioFix.d.ts +2 -2
- package/classes/AudioOutput.d.ts +6 -3
- 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} +51 -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 +19 -4
- package/classes/stat/StatAggregator.d.ts +6 -2
- package/classes/stat/StatClock.d.ts +35 -0
- package/classes/stat/StatDrainScheduler.d.ts +121 -0
- package/classes/stat/StatEventCollector.d.ts +54 -0
- package/classes/stat/StatPings.d.ts +2 -2
- package/classes/stat/StatQueue.d.ts +92 -0
- package/classes/stat/StatSignalingCommands.d.ts +2 -2
- package/classes/stat/StatUnloadJournal.d.ts +39 -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 +2 -2
- package/default/Api.d.ts +28 -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 +15 -0
- package/enums/Stat.d.ts +0 -1
- package/package.json +3 -3
- package/static/ApiTransport.d.ts +7 -0
- package/static/Params.d.ts +28 -0
- package/static/ParticipantConnectionStatusUtils.d.ts +1 -0
- package/static/Sdp.d.ts +3 -0
- package/static/SessionStore.d.ts +38 -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
|
@@ -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
|
/**
|
|
@@ -264,6 +266,15 @@ export declare function callInternal(ids: OkUserId[], type: CallType | undefined
|
|
|
264
266
|
export declare function processPush(conversationId: string, conversationParams?: string): Promise<void>;
|
|
265
267
|
export declare function processPushInternal(conversationId: string, type?: UserType, peerId?: number, conversationParams?: string, wsEndpoint?: string, userId?: number): Promise<void>;
|
|
266
268
|
export declare function getInbounds(): Promise<PushData[]>;
|
|
269
|
+
/**
|
|
270
|
+
* Запускает отправку клиентской статистики.
|
|
271
|
+
*
|
|
272
|
+
* Нужен только если `init()` был вызван с `autoStartStats: false`: до этого
|
|
273
|
+
* момента события копятся в IndexedDB и в сеть не уходят. Первый дрейн после
|
|
274
|
+
* старта забирает всё накопленное. Повторные вызовы и вызов после автостарта
|
|
275
|
+
* ничего не делают.
|
|
276
|
+
*/
|
|
277
|
+
export declare function startStats(): void;
|
|
267
278
|
/**
|
|
268
279
|
* Авторизоваться для совершения звонков
|
|
269
280
|
*
|
|
@@ -279,8 +290,14 @@ export declare function authorize(authToken?: string, apiBaseUrl?: IAPIBaseUrl):
|
|
|
279
290
|
export declare function acceptCall(mediaOptions?: MediaOption[], conversationId?: string): Promise<ConversationData>;
|
|
280
291
|
/**
|
|
281
292
|
* Отклонить входящий звонок
|
|
293
|
+
*
|
|
294
|
+
* @param params Параметры завершения. `params.conversationId` — ID звонка
|
|
295
|
+
* (по умолчанию текущий активный), `params.reason` — причина завершения
|
|
296
|
+
* для проброса в сигналинг (по умолчанию `REJECTED`). См. {@link ClientHangupReason}.
|
|
297
|
+
* `params.onFastHangup` — опционально: вместо Calls API hangup при отклонении.
|
|
298
|
+
* На закрытии вкладки не используется. См. {@link HangupParams}.
|
|
282
299
|
*/
|
|
283
|
-
export declare function declineCall(
|
|
300
|
+
export declare function declineCall(params?: HangupParams): Promise<void>;
|
|
284
301
|
/**
|
|
285
302
|
* Присоединиться к активному звонку
|
|
286
303
|
*
|
|
@@ -302,8 +319,16 @@ export declare function joinCallInternal(conversationId: string, mediaOptions: M
|
|
|
302
319
|
export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[], payload?: string, onFastJoin?: FastJoinHandler): Promise<ConversationData>;
|
|
303
320
|
/**
|
|
304
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}.
|
|
305
330
|
*/
|
|
306
|
-
export declare function hangup(
|
|
331
|
+
export declare function hangup(params?: HangupParams): Promise<void>;
|
|
307
332
|
/**
|
|
308
333
|
* Добавить собеседника в звонок
|
|
309
334
|
*
|
|
@@ -788,5 +813,5 @@ export declare function getSyncedTime(): number;
|
|
|
788
813
|
* Версия SDK
|
|
789
814
|
*/
|
|
790
815
|
export declare function version(): string;
|
|
791
|
-
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, };
|
|
792
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,19 @@ export default abstract class BaseApi {
|
|
|
68
62
|
log(items: LogItem[]): void;
|
|
69
63
|
/**
|
|
70
64
|
* method: vchat.clientStats
|
|
65
|
+
*
|
|
66
|
+
* Резолвится только после подтверждённой сервером отправки: вызывающий
|
|
67
|
+
* код удаляет события из очереди по факту резолва.
|
|
68
|
+
*/
|
|
69
|
+
logClientStats(items: ClientStats[]): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* method: vchat.clientStats под сохранённым session_key другого пользователя.
|
|
72
|
+
*
|
|
73
|
+
* Одна попытка, без перелогина: не приняли — вызывающий код выбрасывает
|
|
74
|
+
* батч. Бросает сырую ошибку API или транспорта; классифицирует её
|
|
75
|
+
* вызывающий код. Состояние текущего пользователя (AuthData) не трогает.
|
|
71
76
|
*/
|
|
72
|
-
|
|
77
|
+
logClientStatsWith(sessionKey: string, items: ClientStats[]): Promise<void>;
|
|
73
78
|
abstract uploadDebugLogs(conversationId: string, startTime: number, endTime: number, log: string): Promise<void>;
|
|
74
79
|
getCachedOkIdByExternalId(externalId: ExternalId): ParticipantId | null;
|
|
75
80
|
getCachedRawOkIdByExternalId(externalId: ExternalId): OkUserId | null;
|
|
@@ -79,7 +84,7 @@ export default abstract class BaseApi {
|
|
|
79
84
|
unmapDecorativeId(decorativeId: OkUserId | CompositeUserId | ParticipantId): void;
|
|
80
85
|
getDecorativeIdByInitialId(okId: OkUserId | CompositeUserId | ParticipantId): OkUserId | undefined;
|
|
81
86
|
replaceByInitialIdIdIfExists(id: OkUserId | CompositeUserId | ParticipantId): OkUserId;
|
|
82
|
-
hangupConversation(conversationId: string, reason?: HangupType): void;
|
|
87
|
+
hangupConversation(conversationId: string, reason?: HangupType, hangupParams?: Partial<IHangupParams>): void;
|
|
83
88
|
removeHistoryRecords(recordIds: number[]): Promise<void>;
|
|
84
89
|
getServerTime(): Promise<number>;
|
|
85
90
|
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
|
}
|