@stream-io/node-sdk 0.6.0 → 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;
@@ -5276,6 +5306,8 @@ export interface FeedMemberResponse {
5276
5306
  invite_rejected_at?: Date;
5277
5307
 
5278
5308
  custom?: Record<string, any>;
5309
+
5310
+ membership_level?: MembershipLevelResponse;
5279
5311
  }
5280
5312
 
5281
5313
  export interface FeedMemberUpdatedEvent {
@@ -5508,33 +5540,29 @@ export interface FirebaseConfigFields {
5508
5540
  export interface Flag {
5509
5541
  created_at: Date;
5510
5542
 
5511
- entity_id: string;
5512
-
5513
- entity_type: string;
5543
+ created_by_automod: boolean;
5514
5544
 
5515
5545
  updated_at: Date;
5516
5546
 
5517
- result: Array<Record<string, any>>;
5518
-
5519
- entity_creator_id?: string;
5520
-
5521
- is_streamed_content?: boolean;
5522
-
5523
- moderation_payload_hash?: string;
5547
+ approved_at?: Date;
5524
5548
 
5525
5549
  reason?: string;
5526
5550
 
5527
- review_queue_item_id?: string;
5551
+ rejected_at?: Date;
5528
5552
 
5529
- type?: string;
5553
+ reviewed_at?: Date;
5530
5554
 
5531
- labels?: string[];
5555
+ reviewed_by?: string;
5556
+
5557
+ target_message_id?: string;
5532
5558
 
5533
5559
  custom?: Record<string, any>;
5534
5560
 
5535
- moderation_payload?: ModerationPayload;
5561
+ details?: FlagDetails;
5536
5562
 
5537
- review_queue_item?: ReviewQueueItem;
5563
+ target_message?: Message;
5564
+
5565
+ target_user?: User;
5538
5566
 
5539
5567
  user?: User;
5540
5568
  }
@@ -5924,6 +5952,8 @@ export interface GetChannelTypeResponse {
5924
5952
 
5925
5953
  connect_events: boolean;
5926
5954
 
5955
+ count_messages: boolean;
5956
+
5927
5957
  created_at: Date;
5928
5958
 
5929
5959
  custom_events: boolean;
@@ -6648,6 +6678,59 @@ export interface JoinCallAPIMetrics {
6648
6678
  latency?: ActiveCallsLatencyStats;
6649
6679
  }
6650
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
+
6651
6734
  export interface Label {
6652
6735
  name: string;
6653
6736
 
@@ -7029,6 +7112,8 @@ export interface Message {
7029
7112
 
7030
7113
  deleted_at?: Date;
7031
7114
 
7115
+ deleted_for_me?: boolean;
7116
+
7032
7117
  message_text_updated_at?: Date;
7033
7118
 
7034
7119
  mml?: string;
@@ -7363,6 +7448,8 @@ export interface MessageResponse {
7363
7448
 
7364
7449
  deleted_at?: Date;
7365
7450
 
7451
+ deleted_for_me?: boolean;
7452
+
7366
7453
  message_text_updated_at?: Date;
7367
7454
 
7368
7455
  mml?: string;
@@ -7515,6 +7602,8 @@ export interface MessageWithChannelResponse {
7515
7602
 
7516
7603
  deleted_at?: Date;
7517
7604
 
7605
+ deleted_for_me?: boolean;
7606
+
7518
7607
  message_text_updated_at?: Date;
7519
7608
 
7520
7609
  mml?: string;
@@ -7617,6 +7706,8 @@ export interface ModerationFlagResponse {
7617
7706
 
7618
7707
  user_id: string;
7619
7708
 
7709
+ result: Array<Record<string, any>>;
7710
+
7620
7711
  entity_creator_id?: string;
7621
7712
 
7622
7713
  reason?: string;
@@ -7625,8 +7716,6 @@ export interface ModerationFlagResponse {
7625
7716
 
7626
7717
  labels?: string[];
7627
7718
 
7628
- result?: Array<Record<string, any>>;
7629
-
7630
7719
  custom?: Record<string, any>;
7631
7720
 
7632
7721
  moderation_payload?: ModerationPayload;
@@ -7892,6 +7981,7 @@ export const OwnCapability = {
7892
7981
  JOIN_BACKSTAGE: 'join-backstage',
7893
7982
  JOIN_CALL: 'join-call',
7894
7983
  JOIN_ENDED_CALL: 'join-ended-call',
7984
+ KICK_USER: 'kick-user',
7895
7985
  MUTE_USERS: 'mute-users',
7896
7986
  PIN_FOR_EVERYONE: 'pin-for-everyone',
7897
7987
  READ_CALL: 'read-call',
@@ -8453,6 +8543,8 @@ export interface PublisherStatsResponse {
8453
8543
  }
8454
8544
 
8455
8545
  export interface PublisherVideoMetrics {
8546
+ bitrate?: ActiveCallsBitrateStats;
8547
+
8456
8548
  fps_30?: ActiveCallsFPSStats;
8457
8549
 
8458
8550
  frame_encoding_time_ms?: ActiveCallsLatencyStats;
@@ -10405,6 +10497,8 @@ export interface SearchResultMessage {
10405
10497
 
10406
10498
  deleted_at?: Date;
10407
10499
 
10500
+ deleted_for_me?: boolean;
10501
+
10408
10502
  message_text_updated_at?: Date;
10409
10503
 
10410
10504
  mml?: string;
@@ -11681,6 +11775,8 @@ export interface UpdateAppRequest {
11681
11775
 
11682
11776
  image_moderation_enabled?: boolean;
11683
11777
 
11778
+ max_aggregated_activities_length?: number;
11779
+
11684
11780
  migrate_permissions_to_v2?: boolean;
11685
11781
 
11686
11782
  moderation_enabled?: boolean;
@@ -11927,6 +12023,8 @@ export interface UpdateChannelTypeRequest {
11927
12023
 
11928
12024
  connect_events?: boolean;
11929
12025
 
12026
+ count_messages?: boolean;
12027
+
11930
12028
  custom_events?: boolean;
11931
12029
 
11932
12030
  mark_messages_pending?: boolean;
@@ -11985,6 +12083,8 @@ export interface UpdateChannelTypeResponse {
11985
12083
 
11986
12084
  connect_events: boolean;
11987
12085
 
12086
+ count_messages: boolean;
12087
+
11988
12088
  created_at: Date;
11989
12089
 
11990
12090
  custom_events: boolean;
@@ -12435,6 +12535,8 @@ export interface UpsertConfigRequest {
12435
12535
 
12436
12536
  google_vision_config?: GoogleVisionConfig;
12437
12537
 
12538
+ llm_config?: LLMConfig;
12539
+
12438
12540
  rule_builder_config?: RuleBuilderConfig;
12439
12541
 
12440
12542
  user?: UserRequest;
@@ -12658,8 +12760,6 @@ export interface UserFlaggedEvent {
12658
12760
  export interface UserMessagesDeletedEvent {
12659
12761
  created_at: Date;
12660
12762
 
12661
- hard_delete: boolean;
12662
-
12663
12763
  soft_delete: boolean;
12664
12764
 
12665
12765
  custom: Record<string, any>;
@@ -12676,6 +12776,8 @@ export interface UserMessagesDeletedEvent {
12676
12776
 
12677
12777
  cid?: string;
12678
12778
 
12779
+ hard_delete?: boolean;
12780
+
12679
12781
  received_at?: Date;
12680
12782
 
12681
12783
  team?: string;
@@ -13142,6 +13244,7 @@ export type WebhookEvent =
13142
13244
  | ({
13143
13245
  type: 'call.hls_broadcasting_stopped';
13144
13246
  } & CallHLSBroadcastingStoppedEvent)
13247
+ | ({ type: 'call.kicked_user' } & KickedUserEvent)
13145
13248
  | ({ type: 'call.live_started' } & CallLiveStartedEvent)
13146
13249
  | ({ type: 'call.member_added' } & CallMemberAddedEvent)
13147
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;