@vkontakte/calls-sdk 2.8.12-dev.f99cabea.0 → 2.8.12

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.
Files changed (51) hide show
  1. package/CallsSDK.d.ts +31 -7
  2. package/abstract/BaseApi.d.ts +3 -2
  3. package/abstract/BaseSignaling.d.ts +10 -5
  4. package/calls-sdk.cjs.js +7 -13
  5. package/calls-sdk.esm.js +3150 -2345
  6. package/classes/AudioOutput.d.ts +4 -1
  7. package/classes/CallRegistry.d.ts +5 -1
  8. package/classes/ExternalIdCache.d.ts +1 -0
  9. package/classes/MediaSource.d.ts +4 -0
  10. package/classes/{Conversation.d.ts → conversation/Conversation.d.ts} +56 -37
  11. package/classes/conversation/Conversation.testUtils.d.ts +148 -0
  12. package/classes/{ConversationResponseValidator.d.ts → conversation/ConversationResponseValidator.d.ts} +1 -1
  13. package/classes/{DisplayLayoutRequester.d.ts → conversation/DisplayLayoutRequester.d.ts} +5 -5
  14. package/classes/conversation/index.d.ts +1 -0
  15. package/classes/stat/CallFinishClassifier.d.ts +11 -0
  16. package/classes/stat/CallLifecycleStats.d.ts +1 -6
  17. package/classes/stat/StatAggregator.d.ts +4 -0
  18. package/classes/transport/DirectTransport.d.ts +1 -0
  19. package/classes/transport/PerfStatReporter.d.ts +2 -0
  20. package/classes/transport/ServerTransport.d.ts +1 -4
  21. package/classes/transport/SimulcastSender.d.ts +31 -0
  22. package/classes/transport/Transport.d.ts +3 -0
  23. package/default/Api.d.ts +6 -4
  24. package/default/ApiExternal.d.ts +2 -1
  25. package/default/Signaling.d.ts +11 -13
  26. package/default/SignalingTransport.d.ts +7 -1
  27. package/enums/ClientHangupReason.d.ts +7 -0
  28. package/enums/HangupType.d.ts +0 -1
  29. package/enums/Stat.d.ts +0 -1
  30. package/package.json +3 -3
  31. package/static/ApiTransport.d.ts +3 -0
  32. package/static/AuthData.d.ts +10 -0
  33. package/static/Debug.d.ts +1 -0
  34. package/static/External.d.ts +1 -1
  35. package/static/Params.d.ts +28 -2
  36. package/static/ParticipantConnectionStatusUtils.d.ts +1 -0
  37. package/static/Sdp.d.ts +3 -0
  38. package/static/SignalingCapabilities.d.ts +1 -1
  39. package/static/SimulcastInfo.d.ts +5 -3
  40. package/static/Utils.d.ts +1 -2
  41. package/static/WebRTCUtils.d.ts +8 -7
  42. package/types/Api.d.ts +9 -0
  43. package/types/Capabilities.d.ts +1 -0
  44. package/types/FastHangup.d.ts +66 -0
  45. package/types/Participant.d.ts +1 -0
  46. package/types/PerfStatReporter.d.ts +0 -4
  47. package/types/SignalingCommand.d.ts +2 -0
  48. package/types/SignalingMessage.d.ts +5 -1
  49. package/utils/IceServers.d.ts +2 -0
  50. package/utils/NavigatorPermissions.d.ts +2 -2
  51. package/utils/SerializeLatest.d.ts +5 -0
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
  *
@@ -272,8 +281,14 @@ export declare function authorize(authToken?: string, apiBaseUrl?: IAPIBaseUrl):
272
281
  export declare function acceptCall(mediaOptions?: MediaOption[], conversationId?: string): Promise<ConversationData>;
273
282
  /**
274
283
  * Отклонить входящий звонок
284
+ *
285
+ * @param params Параметры завершения. `params.conversationId` — ID звонка
286
+ * (по умолчанию текущий активный), `params.reason` — причина завершения
287
+ * для проброса в сигналинг (по умолчанию `REJECTED`). См. {@link ClientHangupReason}.
288
+ * `params.onFastHangup` — опционально: вместо Calls API hangup при отклонении.
289
+ * На закрытии вкладки не используется. См. {@link HangupParams}.
275
290
  */
276
- export declare function declineCall(conversationId?: string): Promise<void>;
291
+ export declare function declineCall(params?: HangupParams): Promise<void>;
277
292
  /**
278
293
  * Присоединиться к активному звонку
279
294
  *
@@ -295,8 +310,16 @@ export declare function joinCallInternal(conversationId: string, mediaOptions: M
295
310
  export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[], payload?: string, onFastJoin?: FastJoinHandler): Promise<ConversationData>;
296
311
  /**
297
312
  * Завершить текущий разговор
313
+ *
314
+ * @param params Параметры завершения. `params.conversationId` — ID звонка
315
+ * (по умолчанию текущий активный), `params.reason` — причина завершения
316
+ * для проброса в сигналинг: по умолчанию `HUNGUP` (если звонок активен) или `CANCELED`.
317
+ * См. {@link ClientHangupReason}.
318
+ * `params.onFastHangup` — опционально: вместо Calls API hangup, если обработчик передан.
319
+ * Без него API hangup не вызывается (signaling hangup остаётся). На `pagehide` всегда beacon.
320
+ * См. {@link HangupParams}.
298
321
  */
299
- export declare function hangup(conversationId?: string): Promise<void>;
322
+ export declare function hangup(params?: HangupParams): Promise<void>;
300
323
  /**
301
324
  * Добавить собеседника в звонок
302
325
  *
@@ -635,6 +658,10 @@ export declare function debug(enabled: boolean): void;
635
658
  * @param args
636
659
  */
637
660
  export declare function debugMessage(type: DebugMessageType, ...args: any[]): void;
661
+ /**
662
+ * Добавить сообщение в отладочный лог конкретного звонка.
663
+ */
664
+ export declare function debugMessageWithContext(type: DebugMessageType, conversationId: string, ...args: any[]): void;
638
665
  /**
639
666
  * Локальные отладочные логи, сохраненные в браузере.
640
667
  *
@@ -765,9 +792,6 @@ export declare function stopAsr(params?: IAsrStopParams): Promise<void>;
765
792
  export declare function requestAsr(request: boolean): Promise<void>;
766
793
  export declare function startUrlSharing(sharedUrl: string): Promise<void>;
767
794
  export declare function stopUrlSharing(): Promise<void>;
768
- export declare function sendTestCommand(name: string, params?: any): void;
769
- export declare function startAnalyzingAudio(expectAudio: boolean, expectedActiveTracks?: number | null, expectedTrackFrequencies?: number[] | null): void;
770
- export declare function stopAnalyzingAudio(): void;
771
795
  export declare function switchCall(conversationId: string): Promise<void>;
772
796
  export declare function getActiveCallId(): string | null;
773
797
  /**
@@ -780,5 +804,5 @@ export declare function getSyncedTime(): number;
780
804
  * Версия SDK
781
805
  */
782
806
  export declare function version(): string;
783
- 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, };
807
+ 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, };
784
808
  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, };
@@ -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';
@@ -38,7 +39,7 @@ export default abstract class BaseApi {
38
39
  */
39
40
  setAbortSignal(signal: AbortSignal | undefined): void;
40
41
  abstract authorize(): Promise<void>;
41
- abstract userId(participantId: ParticipantId): Promise<ExternalParticipantId>;
42
+ abstract userId(participantId: ParticipantId): ExternalParticipantId;
42
43
  abstract deviceId(): string;
43
44
  abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean, createConversationParameters?: {
44
45
  onlyAdminCanShareMovie?: boolean;
@@ -79,7 +80,7 @@ export default abstract class BaseApi {
79
80
  unmapDecorativeId(decorativeId: OkUserId | CompositeUserId | ParticipantId): void;
80
81
  getDecorativeIdByInitialId(okId: OkUserId | CompositeUserId | ParticipantId): OkUserId | undefined;
81
82
  replaceByInitialIdIdIfExists(id: OkUserId | CompositeUserId | ParticipantId): OkUserId;
82
- hangupConversation(conversationId: string, reason?: HangupType): void;
83
+ hangupConversation(conversationId: string, reason?: HangupType, hangupParams?: Partial<IHangupParams>): void;
83
84
  removeHistoryRecords(recordIds: number[]): Promise<void>;
84
85
  getServerTime(): Promise<number>;
85
86
  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 close(): void;
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: RTCIceCandidate): Promise<SignalingMessage>;
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
- cleanup(): void;
136
- requestTestMode(consumerCommand: string, producerCommand: string | null): void;
141
+ requestTestMode(consumerCommand: string, producerCommand: string | null): Promise<SignalingMessage | void>;
137
142
  getNextCommandSequenceNumber(): number;
138
143
  }