@stream-io/video-client 1.27.4 → 1.28.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.
@@ -1,6 +1,6 @@
1
1
  import { Publisher, Subscriber } from './rtc';
2
2
  import { CallState } from './store';
3
- import type { AcceptCallResponse, BlockUserResponse, CallRingEvent, CallSettingsResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, DeleteCallRequest, DeleteCallResponse, EndCallResponse, GetCallReportResponse, GetCallResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, JoinCallResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersResponse, PinRequest, PinResponse, QueryCallMembersRequest, QueryCallMembersResponse, RejectCallResponse, RequestPermissionRequest, RequestPermissionResponse, SendCallEventResponse, SendReactionRequest, SendReactionResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartFrameRecordingRequest, StartFrameRecordingResponse, StartHLSBroadcastingResponse, StartRecordingRequest, StartRecordingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopFrameRecordingResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRecordingResponse, StopRTMPBroadcastsResponse, StopTranscriptionResponse, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from './gen/coordinator';
3
+ import type { AcceptCallResponse, BlockUserResponse, CallRingEvent, CallSettingsResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, DeleteCallRequest, DeleteCallResponse, EndCallResponse, GetCallReportResponse, GetCallResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, JoinCallResponse, KickUserRequest, KickUserResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersResponse, PinRequest, PinResponse, QueryCallMembersRequest, QueryCallMembersResponse, RejectCallResponse, RequestPermissionRequest, RequestPermissionResponse, SendCallEventResponse, SendReactionRequest, SendReactionResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartFrameRecordingRequest, StartFrameRecordingResponse, StartHLSBroadcastingResponse, StartRecordingRequest, StartRecordingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopFrameRecordingResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRecordingResponse, StopRTMPBroadcastsResponse, StopTranscriptionResponse, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from './gen/coordinator';
4
4
  import { AudioTrackType, CallConstructor, CallLeaveOptions, ClientPublishOptions, ClosedCaptionsSettings, JoinCallData, TrackMuteType, VideoTrackType } from './types';
5
5
  import { ClientCapability, TrackType, VideoDimension } from './gen/video/sfu/models/models';
6
6
  import { Tracer } from './stats';
@@ -433,6 +433,11 @@ export declare class Call {
433
433
  * @param userId the id of the user to unblock.
434
434
  */
435
435
  unblockUser: (userId: string) => Promise<UnblockUserResponse>;
436
+ /**
437
+ * Kicks the user with the given `userId`.
438
+ * @param data the kick request.
439
+ */
440
+ kickUser: (data: KickUserRequest) => Promise<KickUserResponse>;
436
441
  /**
437
442
  * Mutes the current user.
438
443
  *
@@ -47,6 +47,11 @@ export declare class StreamVideoClient {
47
47
  */
48
48
  get state(): StreamVideoReadOnlyStateStore;
49
49
  private registerEffects;
50
+ /**
51
+ * Initializes a call from a call created or ringing event.
52
+ * @param e the event.
53
+ */
54
+ private initCallFromEvent;
50
55
  /**
51
56
  * Connects the given user to the client.
52
57
  * Only one user can connect at a time, if you want to change users, call `disconnectUser` before connecting a new user.
@@ -87,6 +92,7 @@ export declare class StreamVideoClient {
87
92
  *
88
93
  * @param type the type of the call.
89
94
  * @param id the id of the call.
95
+ * @param options additional options for call creation.
90
96
  */
91
97
  call: (type: string, id: string, options?: {
92
98
  reuseInstance?: boolean;
@@ -1618,6 +1618,12 @@ export interface CallReportResponse {
1618
1618
  * @interface CallRequest
1619
1619
  */
1620
1620
  export interface CallRequest {
1621
+ /**
1622
+ *
1623
+ * @type {string}
1624
+ * @memberof CallRequest
1625
+ */
1626
+ channel_cid?: string;
1621
1627
  /**
1622
1628
  *
1623
1629
  * @type {{ [key: string]: any; }}
@@ -1681,6 +1687,12 @@ export interface CallResponse {
1681
1687
  * @memberof CallResponse
1682
1688
  */
1683
1689
  captioning: boolean;
1690
+ /**
1691
+ *
1692
+ * @type {string}
1693
+ * @memberof CallResponse
1694
+ */
1695
+ channel_cid?: string;
1684
1696
  /**
1685
1697
  * The unique identifier for a call (<type>:<id>)
1686
1698
  * @type {string}
@@ -2268,6 +2280,12 @@ export interface CallSettingsRequest {
2268
2280
  * @memberof CallSettingsRequest
2269
2281
  */
2270
2282
  geofencing?: GeofenceSettingsRequest;
2283
+ /**
2284
+ *
2285
+ * @type {IngressSettingsRequest}
2286
+ * @memberof CallSettingsRequest
2287
+ */
2288
+ ingress?: IngressSettingsRequest;
2271
2289
  /**
2272
2290
  *
2273
2291
  * @type {LimitsSettingsRequest}
@@ -2353,6 +2371,12 @@ export interface CallSettingsResponse {
2353
2371
  * @memberof CallSettingsResponse
2354
2372
  */
2355
2373
  geofencing: GeofenceSettingsResponse;
2374
+ /**
2375
+ *
2376
+ * @type {IngressSettingsResponse}
2377
+ * @memberof CallSettingsResponse
2378
+ */
2379
+ ingress?: IngressSettingsResponse;
2356
2380
  /**
2357
2381
  *
2358
2382
  * @type {LimitsSettingsResponse}
@@ -2732,6 +2756,75 @@ export interface CallUpdatedEvent {
2732
2756
  */
2733
2757
  type: string;
2734
2758
  }
2759
+ /**
2760
+ * This event is sent when a user submits feedback for a call.
2761
+ * @export
2762
+ * @interface CallUserFeedbackSubmittedEvent
2763
+ */
2764
+ export interface CallUserFeedbackSubmittedEvent {
2765
+ /**
2766
+ *
2767
+ * @type {string}
2768
+ * @memberof CallUserFeedbackSubmittedEvent
2769
+ */
2770
+ call_cid: string;
2771
+ /**
2772
+ *
2773
+ * @type {string}
2774
+ * @memberof CallUserFeedbackSubmittedEvent
2775
+ */
2776
+ created_at: string;
2777
+ /**
2778
+ * Custom data provided by the user
2779
+ * @type {{ [key: string]: any; }}
2780
+ * @memberof CallUserFeedbackSubmittedEvent
2781
+ */
2782
+ custom?: {
2783
+ [key: string]: any;
2784
+ };
2785
+ /**
2786
+ * The rating given by the user (1-5)
2787
+ * @type {number}
2788
+ * @memberof CallUserFeedbackSubmittedEvent
2789
+ */
2790
+ rating: number;
2791
+ /**
2792
+ * The reason provided by the user for the rating
2793
+ * @type {string}
2794
+ * @memberof CallUserFeedbackSubmittedEvent
2795
+ */
2796
+ reason?: string;
2797
+ /**
2798
+ *
2799
+ * @type {string}
2800
+ * @memberof CallUserFeedbackSubmittedEvent
2801
+ */
2802
+ sdk?: string;
2803
+ /**
2804
+ *
2805
+ * @type {string}
2806
+ * @memberof CallUserFeedbackSubmittedEvent
2807
+ */
2808
+ sdk_version?: string;
2809
+ /**
2810
+ * Call session ID
2811
+ * @type {string}
2812
+ * @memberof CallUserFeedbackSubmittedEvent
2813
+ */
2814
+ session_id: string;
2815
+ /**
2816
+ * The type of event, "call.user_feedback" in this case
2817
+ * @type {string}
2818
+ * @memberof CallUserFeedbackSubmittedEvent
2819
+ */
2820
+ type: string;
2821
+ /**
2822
+ *
2823
+ * @type {UserResponse}
2824
+ * @memberof CallUserFeedbackSubmittedEvent
2825
+ */
2826
+ user: UserResponse;
2827
+ }
2735
2828
  /**
2736
2829
  * This event is sent when a call member is muted
2737
2830
  * @export
@@ -4059,6 +4152,226 @@ export interface ICEServer {
4059
4152
  */
4060
4153
  username: string;
4061
4154
  }
4155
+ /**
4156
+ *
4157
+ * @export
4158
+ * @interface IngressAudioEncodingOptionsRequest
4159
+ */
4160
+ export interface IngressAudioEncodingOptionsRequest {
4161
+ /**
4162
+ *
4163
+ * @type {number}
4164
+ * @memberof IngressAudioEncodingOptionsRequest
4165
+ */
4166
+ bitrate: number;
4167
+ /**
4168
+ *
4169
+ * @type {number}
4170
+ * @memberof IngressAudioEncodingOptionsRequest
4171
+ */
4172
+ channels: IngressAudioEncodingOptionsRequestChannelsEnum;
4173
+ /**
4174
+ *
4175
+ * @type {boolean}
4176
+ * @memberof IngressAudioEncodingOptionsRequest
4177
+ */
4178
+ enable_dtx?: boolean;
4179
+ }
4180
+ /**
4181
+ * @export
4182
+ */
4183
+ export declare const IngressAudioEncodingOptionsRequestChannelsEnum: {
4184
+ readonly NUMBER_1: 1;
4185
+ readonly NUMBER_2: 2;
4186
+ };
4187
+ export type IngressAudioEncodingOptionsRequestChannelsEnum = (typeof IngressAudioEncodingOptionsRequestChannelsEnum)[keyof typeof IngressAudioEncodingOptionsRequestChannelsEnum];
4188
+ /**
4189
+ *
4190
+ * @export
4191
+ * @interface IngressAudioEncodingResponse
4192
+ */
4193
+ export interface IngressAudioEncodingResponse {
4194
+ /**
4195
+ *
4196
+ * @type {number}
4197
+ * @memberof IngressAudioEncodingResponse
4198
+ */
4199
+ bitrate: number;
4200
+ /**
4201
+ *
4202
+ * @type {number}
4203
+ * @memberof IngressAudioEncodingResponse
4204
+ */
4205
+ channels: number;
4206
+ /**
4207
+ *
4208
+ * @type {boolean}
4209
+ * @memberof IngressAudioEncodingResponse
4210
+ */
4211
+ enable_dtx: boolean;
4212
+ }
4213
+ /**
4214
+ *
4215
+ * @export
4216
+ * @interface IngressSettingsRequest
4217
+ */
4218
+ export interface IngressSettingsRequest {
4219
+ /**
4220
+ *
4221
+ * @type {IngressAudioEncodingOptionsRequest}
4222
+ * @memberof IngressSettingsRequest
4223
+ */
4224
+ audio_encoding_options?: IngressAudioEncodingOptionsRequest;
4225
+ /**
4226
+ *
4227
+ * @type {boolean}
4228
+ * @memberof IngressSettingsRequest
4229
+ */
4230
+ enabled?: boolean;
4231
+ /**
4232
+ *
4233
+ * @type {{ [key: string]: IngressVideoEncodingOptionsRequest; }}
4234
+ * @memberof IngressSettingsRequest
4235
+ */
4236
+ video_encoding_options?: {
4237
+ [key: string]: IngressVideoEncodingOptionsRequest;
4238
+ };
4239
+ }
4240
+ /**
4241
+ *
4242
+ * @export
4243
+ * @interface IngressSettingsResponse
4244
+ */
4245
+ export interface IngressSettingsResponse {
4246
+ /**
4247
+ *
4248
+ * @type {IngressAudioEncodingResponse}
4249
+ * @memberof IngressSettingsResponse
4250
+ */
4251
+ audio_encoding_options?: IngressAudioEncodingResponse;
4252
+ /**
4253
+ *
4254
+ * @type {boolean}
4255
+ * @memberof IngressSettingsResponse
4256
+ */
4257
+ enabled: boolean;
4258
+ /**
4259
+ *
4260
+ * @type {{ [key: string]: IngressVideoEncodingResponse; }}
4261
+ * @memberof IngressSettingsResponse
4262
+ */
4263
+ video_encoding_options?: {
4264
+ [key: string]: IngressVideoEncodingResponse;
4265
+ };
4266
+ }
4267
+ /**
4268
+ *
4269
+ * @export
4270
+ * @interface IngressVideoEncodingOptionsRequest
4271
+ */
4272
+ export interface IngressVideoEncodingOptionsRequest {
4273
+ /**
4274
+ *
4275
+ * @type {Array<IngressVideoLayerRequest>}
4276
+ * @memberof IngressVideoEncodingOptionsRequest
4277
+ */
4278
+ layers: Array<IngressVideoLayerRequest>;
4279
+ }
4280
+ /**
4281
+ *
4282
+ * @export
4283
+ * @interface IngressVideoEncodingResponse
4284
+ */
4285
+ export interface IngressVideoEncodingResponse {
4286
+ /**
4287
+ *
4288
+ * @type {Array<IngressVideoLayerResponse>}
4289
+ * @memberof IngressVideoEncodingResponse
4290
+ */
4291
+ layers: Array<IngressVideoLayerResponse>;
4292
+ }
4293
+ /**
4294
+ *
4295
+ * @export
4296
+ * @interface IngressVideoLayerRequest
4297
+ */
4298
+ export interface IngressVideoLayerRequest {
4299
+ /**
4300
+ *
4301
+ * @type {number}
4302
+ * @memberof IngressVideoLayerRequest
4303
+ */
4304
+ bitrate: number;
4305
+ /**
4306
+ *
4307
+ * @type {string}
4308
+ * @memberof IngressVideoLayerRequest
4309
+ */
4310
+ codec: IngressVideoLayerRequestCodecEnum;
4311
+ /**
4312
+ *
4313
+ * @type {number}
4314
+ * @memberof IngressVideoLayerRequest
4315
+ */
4316
+ frame_rate_limit: number;
4317
+ /**
4318
+ *
4319
+ * @type {number}
4320
+ * @memberof IngressVideoLayerRequest
4321
+ */
4322
+ max_dimension: number;
4323
+ /**
4324
+ *
4325
+ * @type {number}
4326
+ * @memberof IngressVideoLayerRequest
4327
+ */
4328
+ min_dimension: number;
4329
+ }
4330
+ /**
4331
+ * @export
4332
+ */
4333
+ export declare const IngressVideoLayerRequestCodecEnum: {
4334
+ readonly H264: "h264";
4335
+ readonly VP8: "vp8";
4336
+ };
4337
+ export type IngressVideoLayerRequestCodecEnum = (typeof IngressVideoLayerRequestCodecEnum)[keyof typeof IngressVideoLayerRequestCodecEnum];
4338
+ /**
4339
+ *
4340
+ * @export
4341
+ * @interface IngressVideoLayerResponse
4342
+ */
4343
+ export interface IngressVideoLayerResponse {
4344
+ /**
4345
+ *
4346
+ * @type {number}
4347
+ * @memberof IngressVideoLayerResponse
4348
+ */
4349
+ bitrate: number;
4350
+ /**
4351
+ *
4352
+ * @type {string}
4353
+ * @memberof IngressVideoLayerResponse
4354
+ */
4355
+ codec: string;
4356
+ /**
4357
+ *
4358
+ * @type {number}
4359
+ * @memberof IngressVideoLayerResponse
4360
+ */
4361
+ frame_rate_limit: number;
4362
+ /**
4363
+ *
4364
+ * @type {number}
4365
+ * @memberof IngressVideoLayerResponse
4366
+ */
4367
+ max_dimension: number;
4368
+ /**
4369
+ *
4370
+ * @type {number}
4371
+ * @memberof IngressVideoLayerResponse
4372
+ */
4373
+ min_dimension: number;
4374
+ }
4062
4375
  /**
4063
4376
  *
4064
4377
  * @export
@@ -4169,6 +4482,75 @@ export interface JoinCallResponse {
4169
4482
  */
4170
4483
  stats_options: StatsOptions;
4171
4484
  }
4485
+ /**
4486
+ * KickUserRequest is the payload for kicking a user from a call. Optionally block the user as well.
4487
+ * @export
4488
+ * @interface KickUserRequest
4489
+ */
4490
+ export interface KickUserRequest {
4491
+ /**
4492
+ * If true, also block the user from rejoining the call
4493
+ * @type {boolean}
4494
+ * @memberof KickUserRequest
4495
+ */
4496
+ block?: boolean;
4497
+ /**
4498
+ * The user to kick
4499
+ * @type {string}
4500
+ * @memberof KickUserRequest
4501
+ */
4502
+ user_id: string;
4503
+ }
4504
+ /**
4505
+ * KickUserResponse is the payload for kicking a user from a call.
4506
+ * @export
4507
+ * @interface KickUserResponse
4508
+ */
4509
+ export interface KickUserResponse {
4510
+ /**
4511
+ * Duration of the request in milliseconds
4512
+ * @type {string}
4513
+ * @memberof KickUserResponse
4514
+ */
4515
+ duration: string;
4516
+ }
4517
+ /**
4518
+ * This event is sent to call participants to notify when a user is kicked from a call. Clients should make the kicked user leave the call UI.
4519
+ * @export
4520
+ * @interface KickedUserEvent
4521
+ */
4522
+ export interface KickedUserEvent {
4523
+ /**
4524
+ *
4525
+ * @type {string}
4526
+ * @memberof KickedUserEvent
4527
+ */
4528
+ call_cid: string;
4529
+ /**
4530
+ *
4531
+ * @type {string}
4532
+ * @memberof KickedUserEvent
4533
+ */
4534
+ created_at: string;
4535
+ /**
4536
+ *
4537
+ * @type {UserResponse}
4538
+ * @memberof KickedUserEvent
4539
+ */
4540
+ kicked_by_user?: UserResponse;
4541
+ /**
4542
+ * The type of event: "call.kicked_user" in this case
4543
+ * @type {string}
4544
+ * @memberof KickedUserEvent
4545
+ */
4546
+ type: string;
4547
+ /**
4548
+ *
4549
+ * @type {UserResponse}
4550
+ * @memberof KickedUserEvent
4551
+ */
4552
+ user: UserResponse;
4553
+ }
4172
4554
  /**
4173
4555
  *
4174
4556
  * @export
@@ -4237,6 +4619,18 @@ export interface LimitsSettingsRequest {
4237
4619
  * @memberof LimitsSettingsRequest
4238
4620
  */
4239
4621
  max_participants?: number;
4622
+ /**
4623
+ *
4624
+ * @type {boolean}
4625
+ * @memberof LimitsSettingsRequest
4626
+ */
4627
+ max_participants_exclude_owner?: boolean;
4628
+ /**
4629
+ *
4630
+ * @type {Array<string>}
4631
+ * @memberof LimitsSettingsRequest
4632
+ */
4633
+ max_participants_exclude_roles?: Array<string>;
4240
4634
  }
4241
4635
  /**
4242
4636
  *
@@ -4256,6 +4650,18 @@ export interface LimitsSettingsResponse {
4256
4650
  * @memberof LimitsSettingsResponse
4257
4651
  */
4258
4652
  max_participants?: number;
4653
+ /**
4654
+ *
4655
+ * @type {boolean}
4656
+ * @memberof LimitsSettingsResponse
4657
+ */
4658
+ max_participants_exclude_owner?: boolean;
4659
+ /**
4660
+ *
4661
+ * @type {Array<string>}
4662
+ * @memberof LimitsSettingsResponse
4663
+ */
4664
+ max_participants_exclude_roles: Array<string>;
4259
4665
  }
4260
4666
  /**
4261
4667
  * List devices response
@@ -4528,6 +4934,7 @@ export declare const OwnCapability: {
4528
4934
  readonly JOIN_BACKSTAGE: "join-backstage";
4529
4935
  readonly JOIN_CALL: "join-call";
4530
4936
  readonly JOIN_ENDED_CALL: "join-ended-call";
4937
+ readonly KICK_USER: "kick-user";
4531
4938
  readonly MUTE_USERS: "mute-users";
4532
4939
  readonly PIN_FOR_EVERYONE: "pin-for-everyone";
4533
4940
  readonly READ_CALL: "read-call";
@@ -4557,6 +4964,12 @@ export type OwnCapability = (typeof OwnCapability)[keyof typeof OwnCapability];
4557
4964
  * @interface OwnUserResponse
4558
4965
  */
4559
4966
  export interface OwnUserResponse {
4967
+ /**
4968
+ *
4969
+ * @type {number}
4970
+ * @memberof OwnUserResponse
4971
+ */
4972
+ avg_response_time?: number;
4560
4973
  /**
4561
4974
  *
4562
4975
  * @type {Array<string>}
@@ -7067,6 +7480,12 @@ export interface UserRequest {
7067
7480
  * @interface UserResponse
7068
7481
  */
7069
7482
  export interface UserResponse {
7483
+ /**
7484
+ *
7485
+ * @type {number}
7486
+ * @memberof UserResponse
7487
+ */
7488
+ avg_response_time?: number;
7070
7489
  /**
7071
7490
  *
7072
7491
  * @type {Array<string>}
@@ -7168,6 +7587,12 @@ export interface UserResponse {
7168
7587
  * @interface UserResponsePrivacyFields
7169
7588
  */
7170
7589
  export interface UserResponsePrivacyFields {
7590
+ /**
7591
+ *
7592
+ * @type {number}
7593
+ * @memberof UserResponsePrivacyFields
7594
+ */
7595
+ avg_response_time?: number;
7171
7596
  /**
7172
7597
  *
7173
7598
  * @type {Array<string>}
@@ -7352,6 +7777,8 @@ export type VideoEvent = ({
7352
7777
  } & CallHLSBroadcastingStartedEvent) | ({
7353
7778
  type: 'call.hls_broadcasting_stopped';
7354
7779
  } & CallHLSBroadcastingStoppedEvent) | ({
7780
+ type: 'call.kicked_user';
7781
+ } & KickedUserEvent) | ({
7355
7782
  type: 'call.live_started';
7356
7783
  } & CallLiveStartedEvent) | ({
7357
7784
  type: 'call.member_added';
@@ -7418,6 +7845,8 @@ export type VideoEvent = ({
7418
7845
  } & UnblockedUserEvent) | ({
7419
7846
  type: 'call.updated';
7420
7847
  } & CallUpdatedEvent) | ({
7848
+ type: 'call.user_feedback_submitted';
7849
+ } & CallUserFeedbackSubmittedEvent) | ({
7421
7850
  type: 'call.user_muted';
7422
7851
  } & CallUserMutedEvent) | ({
7423
7852
  type: 'connection.error';
@@ -5,6 +5,13 @@ import type { StreamVideoClientOptions } from '../StreamVideoClient';
5
5
  * Utility function to get the instance key.
6
6
  */
7
7
  export declare const getInstanceKey: (apiKey: string, user: User) => string;
8
+ /**
9
+ * Returns a concurrency tag for call initialization.
10
+ * @internal
11
+ *
12
+ * @param cid the call cid.
13
+ */
14
+ export declare const getCallInitConcurrencyTag: (cid: string) => string;
8
15
  /**
9
16
  * Creates a coordinator client.
10
17
  */
@@ -66,13 +66,6 @@ export declare class StreamVideoReadOnlyStateStore {
66
66
  * A list of {@link Call} objects created/tracked by this client.
67
67
  */
68
68
  calls$: Observable<Call[]>;
69
- /**
70
- * This method allows you the get the current value of a state variable.
71
- *
72
- * @param observable the observable to get the current value of.
73
- * @returns the current value of the observable.
74
- */
75
- getCurrentValue: <T>(observable$: Observable<T>) => T;
76
69
  constructor(store: StreamVideoWriteableStateStore);
77
70
  /**
78
71
  * The current user connected over WS to the backend.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-client",
3
- "version": "1.27.4",
3
+ "version": "1.28.0",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.es.js",
6
6
  "browser": "dist/index.browser.es.js",
package/src/Call.ts CHANGED
@@ -44,6 +44,8 @@ import type {
44
44
  GoLiveResponse,
45
45
  JoinCallRequest,
46
46
  JoinCallResponse,
47
+ KickUserRequest,
48
+ KickUserResponse,
47
49
  ListRecordingsResponse,
48
50
  ListTranscriptionsResponse,
49
51
  MuteUsersRequest,
@@ -1990,6 +1992,17 @@ export class Call {
1990
1992
  );
1991
1993
  };
1992
1994
 
1995
+ /**
1996
+ * Kicks the user with the given `userId`.
1997
+ * @param data the kick request.
1998
+ */
1999
+ kickUser = async (data: KickUserRequest): Promise<KickUserResponse> => {
2000
+ return this.streamClient.post<KickUserResponse, KickUserRequest>(
2001
+ `${this.streamClientBasePath}/kick`,
2002
+ data,
2003
+ );
2004
+ };
2005
+
1993
2006
  /**
1994
2007
  * Mutes the current user.
1995
2008
  *