@stream-io/node-sdk 0.6.1 → 0.6.2

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.
@@ -218,6 +218,12 @@ export interface ActionSequence {
218
218
  warning_text: string;
219
219
  }
220
220
 
221
+ export interface ActiveCallsBitrateStats {
222
+ p10: number;
223
+
224
+ p50: number;
225
+ }
226
+
221
227
  export interface ActiveCallsFPSStats {
222
228
  p05: number;
223
229
 
@@ -831,6 +837,8 @@ export interface AppResponseFields {
831
837
 
832
838
  moderation_enabled: boolean;
833
839
 
840
+ moderation_llm_configurability_enabled: boolean;
841
+
834
842
  moderation_multitenant_blocklist_enabled: boolean;
835
843
 
836
844
  moderation_webhook_url: string;
@@ -2746,6 +2754,8 @@ export interface Channel {
2746
2754
 
2747
2755
  member_count?: number;
2748
2756
 
2757
+ message_count_updated_at?: Date;
2758
+
2749
2759
  team?: string;
2750
2760
 
2751
2761
  active_live_locations?: SharedLocation[];
@@ -2770,6 +2780,8 @@ export interface ChannelConfig {
2770
2780
 
2771
2781
  connect_events: boolean;
2772
2782
 
2783
+ count_messages: boolean;
2784
+
2773
2785
  created_at: Date;
2774
2786
 
2775
2787
  custom_events: boolean;
@@ -2836,6 +2848,8 @@ export interface ChannelConfigWithInfo {
2836
2848
 
2837
2849
  connect_events: boolean;
2838
2850
 
2851
+ count_messages: boolean;
2852
+
2839
2853
  created_at: Date;
2840
2854
 
2841
2855
  custom_events: boolean;
@@ -3044,6 +3058,8 @@ export interface ChannelMember {
3044
3058
 
3045
3059
  user_id?: string;
3046
3060
 
3061
+ deleted_messages?: string[];
3062
+
3047
3063
  user?: UserResponse;
3048
3064
  }
3049
3065
 
@@ -3195,6 +3211,8 @@ export interface ChannelResponse {
3195
3211
 
3196
3212
  member_count?: number;
3197
3213
 
3214
+ message_count?: number;
3215
+
3198
3216
  mute_expires_at?: Date;
3199
3217
 
3200
3218
  muted?: boolean;
@@ -3233,6 +3251,8 @@ export interface ChannelStateResponse {
3233
3251
 
3234
3252
  active_live_locations?: SharedLocationResponseData[];
3235
3253
 
3254
+ deleted_messages?: string[];
3255
+
3236
3256
  pending_messages?: PendingMessageResponse[];
3237
3257
 
3238
3258
  read?: ReadStateResponse[];
@@ -3265,6 +3285,8 @@ export interface ChannelStateResponseFields {
3265
3285
 
3266
3286
  active_live_locations?: SharedLocationResponseData[];
3267
3287
 
3288
+ deleted_messages?: string[];
3289
+
3268
3290
  pending_messages?: PendingMessageResponse[];
3269
3291
 
3270
3292
  read?: ReadStateResponse[];
@@ -3303,6 +3325,8 @@ export interface ChannelTypeConfig {
3303
3325
 
3304
3326
  connect_events: boolean;
3305
3327
 
3328
+ count_messages: boolean;
3329
+
3306
3330
  created_at: Date;
3307
3331
 
3308
3332
  custom_events: boolean;
@@ -3774,6 +3798,8 @@ export interface ConfigOverrides {
3774
3798
 
3775
3799
  blocklist_behavior?: 'flag' | 'block';
3776
3800
 
3801
+ count_messages?: boolean;
3802
+
3777
3803
  max_message_length?: number;
3778
3804
 
3779
3805
  quotes?: boolean;
@@ -3818,6 +3844,8 @@ export interface ConfigResponse {
3818
3844
 
3819
3845
  block_list_config?: BlockListConfig;
3820
3846
 
3847
+ llm_config?: LLMConfig;
3848
+
3821
3849
  rule_builder_config?: RuleBuilderConfig;
3822
3850
 
3823
3851
  velocity_filter_config?: VelocityFilterConfig;
@@ -3950,6 +3978,8 @@ export interface CreateChannelTypeResponse {
3950
3978
 
3951
3979
  connect_events: boolean;
3952
3980
 
3981
+ count_messages: boolean;
3982
+
3953
3983
  created_at: Date;
3954
3984
 
3955
3985
  custom_events: boolean;
@@ -5510,33 +5540,29 @@ export interface FirebaseConfigFields {
5510
5540
  export interface Flag {
5511
5541
  created_at: Date;
5512
5542
 
5513
- entity_id: string;
5514
-
5515
- entity_type: string;
5543
+ created_by_automod: boolean;
5516
5544
 
5517
5545
  updated_at: Date;
5518
5546
 
5519
- result: Array<Record<string, any>>;
5520
-
5521
- entity_creator_id?: string;
5522
-
5523
- is_streamed_content?: boolean;
5524
-
5525
- moderation_payload_hash?: string;
5547
+ approved_at?: Date;
5526
5548
 
5527
5549
  reason?: string;
5528
5550
 
5529
- review_queue_item_id?: string;
5551
+ rejected_at?: Date;
5530
5552
 
5531
- type?: string;
5553
+ reviewed_at?: Date;
5532
5554
 
5533
- labels?: string[];
5555
+ reviewed_by?: string;
5556
+
5557
+ target_message_id?: string;
5534
5558
 
5535
5559
  custom?: Record<string, any>;
5536
5560
 
5537
- moderation_payload?: ModerationPayload;
5561
+ details?: FlagDetails;
5538
5562
 
5539
- review_queue_item?: ReviewQueueItem;
5563
+ target_message?: Message;
5564
+
5565
+ target_user?: User;
5540
5566
 
5541
5567
  user?: User;
5542
5568
  }
@@ -5926,6 +5952,8 @@ export interface GetChannelTypeResponse {
5926
5952
 
5927
5953
  connect_events: boolean;
5928
5954
 
5955
+ count_messages: boolean;
5956
+
5929
5957
  created_at: Date;
5930
5958
 
5931
5959
  custom_events: boolean;
@@ -6650,6 +6678,59 @@ export interface JoinCallAPIMetrics {
6650
6678
  latency?: ActiveCallsLatencyStats;
6651
6679
  }
6652
6680
 
6681
+ export interface KickUserRequest {
6682
+ user_id: string;
6683
+
6684
+ block?: boolean;
6685
+
6686
+ kicked_by_id?: string;
6687
+
6688
+ kicked_by?: UserRequest;
6689
+ }
6690
+
6691
+ export interface KickUserResponse {
6692
+ duration: string;
6693
+ }
6694
+
6695
+ export interface KickedUserEvent {
6696
+ call_cid: string;
6697
+
6698
+ created_at: Date;
6699
+
6700
+ user: UserResponse;
6701
+
6702
+ type: string;
6703
+
6704
+ kicked_by_user?: UserResponse;
6705
+ }
6706
+
6707
+ export interface LLMConfig {
6708
+ enabled: boolean;
6709
+
6710
+ rules: LLMRule[];
6711
+
6712
+ async?: boolean;
6713
+
6714
+ severity_descriptions?: Record<string, string>;
6715
+ }
6716
+
6717
+ export interface LLMRule {
6718
+ action:
6719
+ | 'flag'
6720
+ | 'shadow'
6721
+ | 'remove'
6722
+ | 'bounce'
6723
+ | 'bounce_flag'
6724
+ | 'bounce_remove'
6725
+ | 'keep';
6726
+
6727
+ description: string;
6728
+
6729
+ label: string;
6730
+
6731
+ severity_rules: BodyguardSeverityRule[];
6732
+ }
6733
+
6653
6734
  export interface Label {
6654
6735
  name: string;
6655
6736
 
@@ -7031,6 +7112,8 @@ export interface Message {
7031
7112
 
7032
7113
  deleted_at?: Date;
7033
7114
 
7115
+ deleted_for_me?: boolean;
7116
+
7034
7117
  message_text_updated_at?: Date;
7035
7118
 
7036
7119
  mml?: string;
@@ -7365,6 +7448,8 @@ export interface MessageResponse {
7365
7448
 
7366
7449
  deleted_at?: Date;
7367
7450
 
7451
+ deleted_for_me?: boolean;
7452
+
7368
7453
  message_text_updated_at?: Date;
7369
7454
 
7370
7455
  mml?: string;
@@ -7517,6 +7602,8 @@ export interface MessageWithChannelResponse {
7517
7602
 
7518
7603
  deleted_at?: Date;
7519
7604
 
7605
+ deleted_for_me?: boolean;
7606
+
7520
7607
  message_text_updated_at?: Date;
7521
7608
 
7522
7609
  mml?: string;
@@ -7619,6 +7706,8 @@ export interface ModerationFlagResponse {
7619
7706
 
7620
7707
  user_id: string;
7621
7708
 
7709
+ result: Array<Record<string, any>>;
7710
+
7622
7711
  entity_creator_id?: string;
7623
7712
 
7624
7713
  reason?: string;
@@ -7627,8 +7716,6 @@ export interface ModerationFlagResponse {
7627
7716
 
7628
7717
  labels?: string[];
7629
7718
 
7630
- result?: Array<Record<string, any>>;
7631
-
7632
7719
  custom?: Record<string, any>;
7633
7720
 
7634
7721
  moderation_payload?: ModerationPayload;
@@ -7894,6 +7981,7 @@ export const OwnCapability = {
7894
7981
  JOIN_BACKSTAGE: 'join-backstage',
7895
7982
  JOIN_CALL: 'join-call',
7896
7983
  JOIN_ENDED_CALL: 'join-ended-call',
7984
+ KICK_USER: 'kick-user',
7897
7985
  MUTE_USERS: 'mute-users',
7898
7986
  PIN_FOR_EVERYONE: 'pin-for-everyone',
7899
7987
  READ_CALL: 'read-call',
@@ -8455,6 +8543,8 @@ export interface PublisherStatsResponse {
8455
8543
  }
8456
8544
 
8457
8545
  export interface PublisherVideoMetrics {
8546
+ bitrate?: ActiveCallsBitrateStats;
8547
+
8458
8548
  fps_30?: ActiveCallsFPSStats;
8459
8549
 
8460
8550
  frame_encoding_time_ms?: ActiveCallsLatencyStats;
@@ -10407,6 +10497,8 @@ export interface SearchResultMessage {
10407
10497
 
10408
10498
  deleted_at?: Date;
10409
10499
 
10500
+ deleted_for_me?: boolean;
10501
+
10410
10502
  message_text_updated_at?: Date;
10411
10503
 
10412
10504
  mml?: string;
@@ -11683,6 +11775,8 @@ export interface UpdateAppRequest {
11683
11775
 
11684
11776
  image_moderation_enabled?: boolean;
11685
11777
 
11778
+ max_aggregated_activities_length?: number;
11779
+
11686
11780
  migrate_permissions_to_v2?: boolean;
11687
11781
 
11688
11782
  moderation_enabled?: boolean;
@@ -11929,6 +12023,8 @@ export interface UpdateChannelTypeRequest {
11929
12023
 
11930
12024
  connect_events?: boolean;
11931
12025
 
12026
+ count_messages?: boolean;
12027
+
11932
12028
  custom_events?: boolean;
11933
12029
 
11934
12030
  mark_messages_pending?: boolean;
@@ -11987,6 +12083,8 @@ export interface UpdateChannelTypeResponse {
11987
12083
 
11988
12084
  connect_events: boolean;
11989
12085
 
12086
+ count_messages: boolean;
12087
+
11990
12088
  created_at: Date;
11991
12089
 
11992
12090
  custom_events: boolean;
@@ -12437,6 +12535,8 @@ export interface UpsertConfigRequest {
12437
12535
 
12438
12536
  google_vision_config?: GoogleVisionConfig;
12439
12537
 
12538
+ llm_config?: LLMConfig;
12539
+
12440
12540
  rule_builder_config?: RuleBuilderConfig;
12441
12541
 
12442
12542
  user?: UserRequest;
@@ -12660,8 +12760,6 @@ export interface UserFlaggedEvent {
12660
12760
  export interface UserMessagesDeletedEvent {
12661
12761
  created_at: Date;
12662
12762
 
12663
- hard_delete: boolean;
12664
-
12665
12763
  soft_delete: boolean;
12666
12764
 
12667
12765
  custom: Record<string, any>;
@@ -12678,6 +12776,8 @@ export interface UserMessagesDeletedEvent {
12678
12776
 
12679
12777
  cid?: string;
12680
12778
 
12779
+ hard_delete?: boolean;
12780
+
12681
12781
  received_at?: Date;
12682
12782
 
12683
12783
  team?: string;
@@ -13144,6 +13244,7 @@ export type WebhookEvent =
13144
13244
  | ({
13145
13245
  type: 'call.hls_broadcasting_stopped';
13146
13246
  } & CallHLSBroadcastingStoppedEvent)
13247
+ | ({ type: 'call.kicked_user' } & KickedUserEvent)
13147
13248
  | ({ type: 'call.live_started' } & CallLiveStartedEvent)
13148
13249
  | ({ type: 'call.member_added' } & CallMemberAddedEvent)
13149
13250
  | ({ type: 'call.member_removed' } & CallMemberRemovedEvent)
@@ -142,6 +142,7 @@ export class ModerationApi {
142
142
  block_list_config: request?.block_list_config,
143
143
  bodyguard_config: request?.bodyguard_config,
144
144
  google_vision_config: request?.google_vision_config,
145
+ llm_config: request?.llm_config,
145
146
  rule_builder_config: request?.rule_builder_config,
146
147
  user: request?.user,
147
148
  velocity_filter_config: request?.velocity_filter_config,
@@ -15,6 +15,8 @@ import {
15
15
  GetOrCreateCallResponse,
16
16
  GoLiveRequest,
17
17
  GoLiveResponse,
18
+ KickUserRequest,
19
+ KickUserResponse,
18
20
  ListRecordingsResponse,
19
21
  ListTranscriptionsResponse,
20
22
  MuteUsersRequest,
@@ -30,10 +32,10 @@ import {
30
32
  StartFrameRecordingRequest,
31
33
  StartFrameRecordingResponse,
32
34
  StartHLSBroadcastingResponse,
33
- StartRTMPBroadcastsRequest,
34
- StartRTMPBroadcastsResponse,
35
35
  StartRecordingRequest,
36
36
  StartRecordingResponse,
37
+ StartRTMPBroadcastsRequest,
38
+ StartRTMPBroadcastsResponse,
37
39
  StartTranscriptionRequest,
38
40
  StartTranscriptionResponse,
39
41
  StopAllRTMPBroadcastsResponse,
@@ -43,9 +45,9 @@ import {
43
45
  StopHLSBroadcastingResponse,
44
46
  StopLiveRequest,
45
47
  StopLiveResponse,
48
+ StopRecordingResponse,
46
49
  StopRTMPBroadcastsRequest,
47
50
  StopRTMPBroadcastsResponse,
48
- StopRecordingResponse,
49
51
  StopTranscriptionRequest,
50
52
  StopTranscriptionResponse,
51
53
  UnblockUserRequest,
@@ -140,6 +142,12 @@ export class CallApi {
140
142
  return this.videoApi.goLive({ id: this.id, type: this.type, ...request });
141
143
  }
142
144
 
145
+ kickUser(
146
+ request: KickUserRequest,
147
+ ): Promise<StreamResponse<KickUserResponse>> {
148
+ return this.videoApi.kickUser({ id: this.id, type: this.type, ...request });
149
+ }
150
+
143
151
  end(): Promise<StreamResponse<EndCallResponse>> {
144
152
  return this.videoApi.endCall({ id: this.id, type: this.type });
145
153
  }
@@ -20,6 +20,8 @@ import {
20
20
  GetOrCreateCallResponse,
21
21
  GoLiveRequest,
22
22
  GoLiveResponse,
23
+ KickUserRequest,
24
+ KickUserResponse,
23
25
  ListCallTypeResponse,
24
26
  ListRecordingsResponse,
25
27
  ListTranscriptionsResponse,
@@ -33,10 +35,10 @@ import {
33
35
  QueryCallMembersResponse,
34
36
  QueryCallParticipantsRequest,
35
37
  QueryCallParticipantsResponse,
36
- QueryCallStatsRequest,
37
- QueryCallStatsResponse,
38
38
  QueryCallsRequest,
39
39
  QueryCallsResponse,
40
+ QueryCallStatsRequest,
41
+ QueryCallStatsResponse,
40
42
  QueryUserFeedbackRequest,
41
43
  QueryUserFeedbackResponse,
42
44
  Response,
@@ -47,10 +49,10 @@ import {
47
49
  StartFrameRecordingRequest,
48
50
  StartFrameRecordingResponse,
49
51
  StartHLSBroadcastingResponse,
50
- StartRTMPBroadcastsRequest,
51
- StartRTMPBroadcastsResponse,
52
52
  StartRecordingRequest,
53
53
  StartRecordingResponse,
54
+ StartRTMPBroadcastsRequest,
55
+ StartRTMPBroadcastsResponse,
54
56
  StartTranscriptionRequest,
55
57
  StartTranscriptionResponse,
56
58
  StopAllRTMPBroadcastsResponse,
@@ -60,9 +62,9 @@ import {
60
62
  StopHLSBroadcastingResponse,
61
63
  StopLiveRequest,
62
64
  StopLiveResponse,
65
+ StopRecordingResponse,
63
66
  StopRTMPBroadcastsRequest,
64
67
  StopRTMPBroadcastsResponse,
65
- StopRecordingResponse,
66
68
  StopTranscriptionRequest,
67
69
  StopTranscriptionResponse,
68
70
  UnblockUserRequest,
@@ -416,6 +418,36 @@ export class VideoApi {
416
418
  return { ...response.body, metadata: response.metadata };
417
419
  }
418
420
 
421
+ async kickUser(
422
+ request: KickUserRequest & { type: string; id: string },
423
+ ): Promise<StreamResponse<KickUserResponse>> {
424
+ const pathParams = {
425
+ type: request?.type,
426
+ id: request?.id,
427
+ };
428
+ const body = {
429
+ user_id: request?.user_id,
430
+ block: request?.block,
431
+ kicked_by_id: request?.kicked_by_id,
432
+ kicked_by: request?.kicked_by,
433
+ };
434
+
435
+ const response = await this.apiClient.sendRequest<
436
+ StreamResponse<KickUserResponse>
437
+ >(
438
+ 'POST',
439
+ '/api/v2/video/call/{type}/{id}/kick',
440
+ pathParams,
441
+ undefined,
442
+ body,
443
+ 'application/json',
444
+ );
445
+
446
+ decoders.KickUserResponse?.(response.body);
447
+
448
+ return { ...response.body, metadata: response.metadata };
449
+ }
450
+
419
451
  async endCall(request: {
420
452
  type: string;
421
453
  id: string;