@stream-io/node-sdk 0.4.13 → 0.4.15

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 { ApiConfig, RequestMetadata } from './types';
2
2
  export declare class BaseApi {
3
- private readonly apiConfig;
3
+ protected readonly apiConfig: ApiConfig;
4
4
  constructor(apiConfig: ApiConfig);
5
5
  protected sendRequest: <T>(method: string, url: string, pathParams?: Record<string, string>, queryParams?: Record<string, any>, body?: any) => Promise<{
6
6
  body: T;
@@ -1,5 +1,18 @@
1
1
  import { VideoApi } from './gen/video/VideoApi';
2
2
  import { StreamCall } from './StreamCall';
3
+ import type { StreamClient } from './StreamClient';
4
+ import type { ApiConfig } from './types';
5
+ import type { RealtimeClient } from '@stream-io/openai-realtime-api';
3
6
  export declare class StreamVideoClient extends VideoApi {
7
+ private readonly streamClient;
8
+ constructor({ streamClient, ...apiConfig }: ApiConfig & {
9
+ streamClient: StreamClient;
10
+ });
4
11
  call: (type: string, id: string) => StreamCall;
12
+ connectOpenAi: (options: {
13
+ call: StreamCall;
14
+ agentUserId: string;
15
+ openAiApiKey: string;
16
+ validityInSeconds: number;
17
+ }) => Promise<RealtimeClient>;
5
18
  }
@@ -1,6 +1,6 @@
1
1
  import { BaseApi } from '../../BaseApi';
2
2
  import { StreamResponse } from '../../types';
3
- import { CampaignResponse, CastPollVoteRequest, ChannelGetOrCreateRequest, ChannelStateResponse, CommitMessageRequest, CreateChannelTypeRequest, CreateChannelTypeResponse, CreateCommandRequest, CreateCommandResponse, CreatePollOptionRequest, CreatePollRequest, DeleteChannelResponse, DeleteChannelsRequest, DeleteChannelsResponse, DeleteCommandResponse, DeleteMessageResponse, DeleteReactionResponse, DeleteSegmentTargetsRequest, EventResponse, ExportChannelsRequest, ExportChannelsResponse, FileUploadRequest, FileUploadResponse, GetCampaignResponse, GetChannelTypeResponse, GetCommandResponse, GetExportChannelsStatusResponse, GetManyMessagesResponse, GetMessageResponse, GetReactionsResponse, GetRepliesResponse, GetSegmentResponse, GetThreadResponse, HideChannelRequest, HideChannelResponse, ImageUploadRequest, ImageUploadResponse, ListChannelTypesResponse, ListCommandsResponse, MarkChannelsReadRequest, MarkReadRequest, MarkReadResponse, MarkUnreadRequest, MembersResponse, MessageActionRequest, MessageResponse, MuteChannelRequest, MuteChannelResponse, PollOptionResponse, PollResponse, PollVoteResponse, PollVotesResponse, QueryBannedUsersPayload, QueryBannedUsersResponse, QueryCampaignsRequest, QueryCampaignsResponse, QueryChannelsRequest, QueryChannelsResponse, QueryMembersPayload, QueryMessageFlagsPayload, QueryMessageFlagsResponse, QueryMessageHistoryRequest, QueryMessageHistoryResponse, QueryPollVotesRequest, QueryPollsRequest, QueryPollsResponse, QueryReactionsRequest, QueryReactionsResponse, QuerySegmentTargetsRequest, QuerySegmentTargetsResponse, QuerySegmentsRequest, QuerySegmentsResponse, QueryThreadsRequest, QueryThreadsResponse, Response, SearchPayload, SearchResponse, SendEventRequest, SendMessageRequest, SendMessageResponse, SendReactionRequest, SendReactionResponse, SendUserCustomEventRequest, ShowChannelRequest, ShowChannelResponse, SortParamRequest, StartCampaignRequest, StartCampaignResponse, StopCampaignRequest, TranslateMessageRequest, TruncateChannelRequest, TruncateChannelResponse, UnmuteChannelRequest, UnmuteResponse, UnreadCountsBatchRequest, UnreadCountsBatchResponse, UpdateChannelPartialRequest, UpdateChannelPartialResponse, UpdateChannelRequest, UpdateChannelResponse, UpdateChannelTypeRequest, UpdateChannelTypeResponse, UpdateCommandRequest, UpdateCommandResponse, UpdateMemberPartialRequest, UpdateMemberPartialResponse, UpdateMessagePartialRequest, UpdateMessagePartialResponse, UpdateMessageRequest, UpdateMessageResponse, UpdatePollOptionRequest, UpdatePollPartialRequest, UpdatePollRequest, UpdateThreadPartialRequest, UpdateThreadPartialResponse, UpsertPushPreferencesRequest, UpsertPushPreferencesResponse, WrappedUnreadCountsResponse } from '../models';
3
+ import { CampaignResponse, CastPollVoteRequest, ChannelGetOrCreateRequest, ChannelStateResponse, CommitMessageRequest, CreateChannelTypeRequest, CreateChannelTypeResponse, CreateCommandRequest, CreateCommandResponse, CreatePollOptionRequest, CreatePollRequest, DeleteChannelResponse, DeleteChannelsRequest, DeleteChannelsResponse, DeleteCommandResponse, DeleteMessageResponse, DeleteReactionResponse, DeleteSegmentTargetsRequest, EventResponse, ExportChannelsRequest, ExportChannelsResponse, FileUploadRequest, FileUploadResponse, GetCampaignResponse, GetChannelTypeResponse, GetCommandResponse, GetManyMessagesResponse, GetMessageResponse, GetReactionsResponse, GetRepliesResponse, GetSegmentResponse, GetThreadResponse, HideChannelRequest, HideChannelResponse, ImageUploadRequest, ImageUploadResponse, ListChannelTypesResponse, ListCommandsResponse, MarkChannelsReadRequest, MarkReadRequest, MarkReadResponse, MarkUnreadRequest, MembersResponse, MessageActionRequest, MessageResponse, MuteChannelRequest, MuteChannelResponse, PollOptionResponse, PollResponse, PollVoteResponse, PollVotesResponse, QueryBannedUsersPayload, QueryBannedUsersResponse, QueryCampaignsRequest, QueryCampaignsResponse, QueryChannelsRequest, QueryChannelsResponse, QueryMembersPayload, QueryMessageFlagsPayload, QueryMessageFlagsResponse, QueryMessageHistoryRequest, QueryMessageHistoryResponse, QueryPollVotesRequest, QueryPollsRequest, QueryPollsResponse, QueryReactionsRequest, QueryReactionsResponse, QuerySegmentTargetsRequest, QuerySegmentTargetsResponse, QuerySegmentsRequest, QuerySegmentsResponse, QueryThreadsRequest, QueryThreadsResponse, Response, SearchPayload, SearchResponse, SendEventRequest, SendMessageRequest, SendMessageResponse, SendReactionRequest, SendReactionResponse, SendUserCustomEventRequest, ShowChannelRequest, ShowChannelResponse, SortParamRequest, StartCampaignRequest, StartCampaignResponse, StopCampaignRequest, TranslateMessageRequest, TruncateChannelRequest, TruncateChannelResponse, UnmuteChannelRequest, UnmuteResponse, UnreadCountsBatchRequest, UnreadCountsBatchResponse, UpdateChannelPartialRequest, UpdateChannelPartialResponse, UpdateChannelRequest, UpdateChannelResponse, UpdateChannelTypeRequest, UpdateChannelTypeResponse, UpdateCommandRequest, UpdateCommandResponse, UpdateMemberPartialRequest, UpdateMemberPartialResponse, UpdateMessagePartialRequest, UpdateMessagePartialResponse, UpdateMessageRequest, UpdateMessageResponse, UpdatePollOptionRequest, UpdatePollPartialRequest, UpdatePollRequest, UpdateThreadPartialRequest, UpdateThreadPartialResponse, UpsertPushPreferencesRequest, UpsertPushPreferencesResponse, WrappedUnreadCountsResponse } from '../models';
4
4
  export declare class ChatApi extends BaseApi {
5
5
  queryCampaigns: (request?: QueryCampaignsRequest) => Promise<StreamResponse<QueryCampaignsResponse>>;
6
6
  getCampaign: (request: {
@@ -114,9 +114,6 @@ export declare class ChatApi extends BaseApi {
114
114
  name: string;
115
115
  }) => Promise<StreamResponse<UpdateCommandResponse>>;
116
116
  exportChannels: (request: ExportChannelsRequest) => Promise<StreamResponse<ExportChannelsResponse>>;
117
- getExportChannelsStatus: (request: {
118
- id: string;
119
- }) => Promise<StreamResponse<GetExportChannelsStatusResponse>>;
120
117
  queryMembers: (request?: {
121
118
  payload?: QueryMembersPayload;
122
119
  }) => Promise<StreamResponse<MembersResponse>>;
@@ -142,6 +142,36 @@ export interface AppResponseFields {
142
142
  image_moderation_labels?: string[];
143
143
  datadog_info?: DataDogInfo;
144
144
  }
145
+ export interface AsyncExportChannelsEvent {
146
+ created_at: Date;
147
+ finished_at: Date;
148
+ started_at: Date;
149
+ task_id: string;
150
+ url: string;
151
+ custom: Record<string, any>;
152
+ type: string;
153
+ received_at?: Date;
154
+ }
155
+ export interface AsyncExportErrorEvent {
156
+ created_at: Date;
157
+ error: string;
158
+ finished_at: Date;
159
+ started_at: Date;
160
+ task_id: string;
161
+ custom: Record<string, any>;
162
+ type: string;
163
+ received_at?: Date;
164
+ }
165
+ export interface AsyncExportUsersEvent {
166
+ created_at: Date;
167
+ finished_at: Date;
168
+ started_at: Date;
169
+ task_id: string;
170
+ url: string;
171
+ custom: Record<string, any>;
172
+ type: string;
173
+ received_at?: Date;
174
+ }
145
175
  export interface AsyncModerationCallbackConfig {
146
176
  mode?: 'CALLBACK_MODE_NONE' | 'CALLBACK_MODE_REST' | 'CALLBACK_MODE_TWIRP';
147
177
  server_url?: string;
@@ -569,6 +599,7 @@ export interface CallReactionEvent {
569
599
  export interface CallRecording {
570
600
  end_time: Date;
571
601
  filename: string;
602
+ session_id: string;
572
603
  start_time: Date;
573
604
  url: string;
574
605
  }
@@ -1882,6 +1913,7 @@ export interface EntityCreatorResponse {
1882
1913
  banned: boolean;
1883
1914
  created_at: Date;
1884
1915
  deleted_content_count: number;
1916
+ flagged_count: number;
1885
1917
  id: string;
1886
1918
  invisible: boolean;
1887
1919
  language: string;
@@ -1935,11 +1967,6 @@ export interface ExportChannelsResponse {
1935
1967
  duration: string;
1936
1968
  task_id: string;
1937
1969
  }
1938
- export interface ExportChannelsResult {
1939
- url: string;
1940
- path?: string;
1941
- s3_bucket_name?: string;
1942
- }
1943
1970
  export interface ExportUserResponse {
1944
1971
  duration: string;
1945
1972
  messages?: MessageResponse[];
@@ -1959,6 +1986,11 @@ export interface ExternalStorageResponse {
1959
1986
  path: string;
1960
1987
  type: 's3' | 'gcs' | 'abs';
1961
1988
  }
1989
+ export interface FPSStats {
1990
+ average_fps: number;
1991
+ harmonic_fps: number;
1992
+ tracked: number;
1993
+ }
1962
1994
  export interface FeedsModerationTemplateConfig {
1963
1995
  config_key: string;
1964
1996
  data_types: Record<string, string>;
@@ -2272,15 +2304,6 @@ export interface GetEdgesResponse {
2272
2304
  duration: string;
2273
2305
  edges: EdgeResponse[];
2274
2306
  }
2275
- export interface GetExportChannelsStatusResponse {
2276
- created_at: Date;
2277
- duration: string;
2278
- status: 'waiting' | 'pending' | 'running' | 'completed' | 'failed' | 'canceled';
2279
- task_id: string;
2280
- updated_at: Date;
2281
- error?: ErrorResult;
2282
- result?: ExportChannelsResult;
2283
- }
2284
2307
  export interface GetImportResponse {
2285
2308
  duration: string;
2286
2309
  import_task?: ImportTask;
@@ -2392,7 +2415,6 @@ export interface GoLiveRequest {
2392
2415
  start_closed_caption?: boolean;
2393
2416
  start_hls?: boolean;
2394
2417
  start_recording?: boolean;
2395
- start_rtmp_broadcasts?: boolean;
2396
2418
  start_transcription?: boolean;
2397
2419
  transcription_storage_name?: string;
2398
2420
  }
@@ -2821,7 +2843,7 @@ export interface MessageRequest {
2821
2843
  show_in_channel?: boolean;
2822
2844
  silent?: boolean;
2823
2845
  text?: string;
2824
- type?: "''regular" | 'system';
2846
+ type?: "''" | 'regular' | 'system';
2825
2847
  user_id?: string;
2826
2848
  attachments?: Attachment[];
2827
2849
  mentioned_users?: string[];
@@ -2966,7 +2988,6 @@ export interface ModerationAnalytics {
2966
2988
  moderator_productivity: Array<Record<string, any>>;
2967
2989
  semantic_filter_top_matches: Array<Record<string, any>>;
2968
2990
  sla_metrics: Array<Record<string, any>>;
2969
- usage_metrics: Array<Record<string, any>>;
2970
2991
  action_distribution_over_time: Record<string, Record<string, any>>;
2971
2992
  detection_by_engine_over_time: Record<string, Record<string, any>>;
2972
2993
  }
@@ -4235,6 +4256,8 @@ export interface SessionSettingsRequest {
4235
4256
  export interface SessionSettingsResponse {
4236
4257
  inactivity_timeout_seconds: number;
4237
4258
  }
4259
+ export interface ShadowBlockActionRequest {
4260
+ }
4238
4261
  export interface ShowChannelRequest {
4239
4262
  user_id?: string;
4240
4263
  user?: UserRequest;
@@ -4345,7 +4368,7 @@ export interface StopTranscriptionResponse {
4345
4368
  duration: string;
4346
4369
  }
4347
4370
  export interface SubmitActionRequest {
4348
- action_type: 'mark_reviewed' | 'delete_message' | 'delete_activity' | 'delete_reaction' | 'ban' | 'custom' | 'unban' | 'restore' | 'delete_user' | 'unblock';
4371
+ action_type: 'mark_reviewed' | 'delete_message' | 'delete_activity' | 'delete_reaction' | 'ban' | 'custom' | 'unban' | 'restore' | 'delete_user' | 'unblock' | 'shadow_block';
4349
4372
  item_id: string;
4350
4373
  user_id?: string;
4351
4374
  ban?: BanActionRequest;
@@ -5168,6 +5191,7 @@ export interface UserSessionStats {
5168
5191
  webrtc_version?: string;
5169
5192
  published_tracks?: PublishedTrackInfo[];
5170
5193
  subsessions?: Subsession[];
5194
+ fps?: FPSStats;
5171
5195
  geolocation?: GeolocationResult;
5172
5196
  jitter?: TimeStats;
5173
5197
  latency?: TimeStats;
@@ -5219,6 +5243,7 @@ export interface UserUpdatedEvent {
5219
5243
  }
5220
5244
  export interface VelocityFilterConfig {
5221
5245
  cascading_actions: boolean;
5246
+ cids_per_user: number;
5222
5247
  enabled: boolean;
5223
5248
  first_message_only: boolean;
5224
5249
  rules: VelocityFilterConfigRule[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/node-sdk",
3
- "version": "0.4.13",
3
+ "version": "0.4.15",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {
@@ -49,6 +49,7 @@
49
49
  "@openapitools/openapi-generator-cli": "^2.7.0",
50
50
  "@rollup/plugin-replace": "^5.0.2",
51
51
  "@rollup/plugin-typescript": "^11.1.4",
52
+ "@stream-io/openai-realtime-api": "prerelease",
52
53
  "@types/uuid": "^9.0.4",
53
54
  "@typescript-eslint/eslint-plugin": "^6.4.0",
54
55
  "dotenv": "^16.3.1",
@@ -74,6 +75,14 @@
74
75
  "jsonwebtoken": "^9.0.2",
75
76
  "uuid": "^9.0.1"
76
77
  },
78
+ "peerDependencies": {
79
+ "@stream-io/openai-realtime-api": "prerelease"
80
+ },
81
+ "peerDependenciesMeta": {
82
+ "@stream-io/openai-realtime-api": {
83
+ "optional": true
84
+ }
85
+ },
77
86
  "engines": {
78
87
  "node": ">=18.0.0"
79
88
  },
package/src/BaseApi.ts CHANGED
@@ -4,7 +4,7 @@ import { APIError } from './gen/models';
4
4
  import { getRateLimitFromResponseHeader } from './utils/rate-limit';
5
5
 
6
6
  export class BaseApi {
7
- constructor(private readonly apiConfig: ApiConfig) {}
7
+ constructor(protected readonly apiConfig: ApiConfig) {}
8
8
 
9
9
  protected sendRequest = async <T>(
10
10
  method: string,
@@ -38,6 +38,7 @@ export class StreamClient extends CommonApi {
38
38
  super({ apiKey, token, timeout, baseUrl: chatBaseUrl });
39
39
 
40
40
  this.video = new StreamVideoClient({
41
+ streamClient: this,
41
42
  apiKey,
42
43
  token,
43
44
  timeout,
@@ -1,8 +1,63 @@
1
1
  import { VideoApi } from './gen/video/VideoApi';
2
2
  import { StreamCall } from './StreamCall';
3
+ import type { StreamClient } from './StreamClient';
4
+ import type { ApiConfig } from './types';
5
+ import type {
6
+ RealtimeClient,
7
+ createRealtimeClient,
8
+ } from '@stream-io/openai-realtime-api';
3
9
 
4
10
  export class StreamVideoClient extends VideoApi {
11
+ private readonly streamClient: StreamClient;
12
+
13
+ constructor({
14
+ streamClient,
15
+ ...apiConfig
16
+ }: ApiConfig & { streamClient: StreamClient }) {
17
+ super(apiConfig);
18
+ this.streamClient = streamClient;
19
+ }
20
+
5
21
  call = (type: string, id: string) => {
6
22
  return new StreamCall(this, type, id);
7
23
  };
24
+
25
+ connectOpenAi = async (options: {
26
+ call: StreamCall;
27
+ agentUserId: string;
28
+ openAiApiKey: string;
29
+ validityInSeconds: number;
30
+ }): Promise<RealtimeClient> => {
31
+ let doCreateRealtimeClient: typeof createRealtimeClient;
32
+
33
+ try {
34
+ doCreateRealtimeClient = (await import('@stream-io/openai-realtime-api'))
35
+ .createRealtimeClient;
36
+ } catch {
37
+ throw new Error(
38
+ 'Cannot create Realtime API client. Is @stream-io/openai-realtime-api installed?',
39
+ );
40
+ }
41
+
42
+ if (!options.agentUserId) {
43
+ throw new Error('"agentUserId" must by specified in options');
44
+ }
45
+
46
+ const token = this.streamClient.generateCallToken({
47
+ user_id: options.agentUserId,
48
+ call_cids: [options.call.cid],
49
+ validity_in_seconds: options.validityInSeconds,
50
+ });
51
+
52
+ const realtimeClient = doCreateRealtimeClient({
53
+ baseUrl: this.apiConfig.baseUrl,
54
+ call: options.call,
55
+ streamApiKey: this.apiConfig.apiKey,
56
+ streamUserToken: token,
57
+ openAiApiKey: options.openAiApiKey,
58
+ });
59
+
60
+ await realtimeClient.connect();
61
+ return realtimeClient;
62
+ };
8
63
  }
@@ -27,7 +27,6 @@ import {
27
27
  GetCampaignResponse,
28
28
  GetChannelTypeResponse,
29
29
  GetCommandResponse,
30
- GetExportChannelsStatusResponse,
31
30
  GetManyMessagesResponse,
32
31
  GetMessageResponse,
33
32
  GetReactionsResponse,
@@ -1013,22 +1012,6 @@ export class ChatApi extends BaseApi {
1013
1012
  return { ...response.body, metadata: response.metadata };
1014
1013
  };
1015
1014
 
1016
- getExportChannelsStatus = async (request: {
1017
- id: string;
1018
- }): Promise<StreamResponse<GetExportChannelsStatusResponse>> => {
1019
- const pathParams = {
1020
- id: request?.id,
1021
- };
1022
-
1023
- const response = await this.sendRequest<
1024
- StreamResponse<GetExportChannelsStatusResponse>
1025
- >('GET', '/api/v2/chat/export_channels/{id}', pathParams, undefined);
1026
-
1027
- decoders.GetExportChannelsStatusResponse?.(response.body);
1028
-
1029
- return { ...response.body, metadata: response.metadata };
1030
- };
1031
-
1032
1015
  queryMembers = async (request?: {
1033
1016
  payload?: QueryMembersPayload;
1034
1017
  }): Promise<StreamResponse<MembersResponse>> => {
@@ -820,15 +820,6 @@ decoders.GetConfigResponse = (input?: Record<string, any>) => {
820
820
  return decode(typeMappings, input);
821
821
  };
822
822
 
823
- decoders.GetExportChannelsStatusResponse = (input?: Record<string, any>) => {
824
- const typeMappings: TypeMapping = {
825
- created_at: { type: 'DatetimeType', isSingle: true },
826
-
827
- updated_at: { type: 'DatetimeType', isSingle: true },
828
- };
829
- return decode(typeMappings, input);
830
- };
831
-
832
823
  decoders.GetImportResponse = (input?: Record<string, any>) => {
833
824
  const typeMappings: TypeMapping = {
834
825
  import_task: { type: 'ImportTask', isSingle: true },
@@ -264,6 +264,60 @@ export interface AppResponseFields {
264
264
  datadog_info?: DataDogInfo;
265
265
  }
266
266
 
267
+ export interface AsyncExportChannelsEvent {
268
+ created_at: Date;
269
+
270
+ finished_at: Date;
271
+
272
+ started_at: Date;
273
+
274
+ task_id: string;
275
+
276
+ url: string;
277
+
278
+ custom: Record<string, any>;
279
+
280
+ type: string;
281
+
282
+ received_at?: Date;
283
+ }
284
+
285
+ export interface AsyncExportErrorEvent {
286
+ created_at: Date;
287
+
288
+ error: string;
289
+
290
+ finished_at: Date;
291
+
292
+ started_at: Date;
293
+
294
+ task_id: string;
295
+
296
+ custom: Record<string, any>;
297
+
298
+ type: string;
299
+
300
+ received_at?: Date;
301
+ }
302
+
303
+ export interface AsyncExportUsersEvent {
304
+ created_at: Date;
305
+
306
+ finished_at: Date;
307
+
308
+ started_at: Date;
309
+
310
+ task_id: string;
311
+
312
+ url: string;
313
+
314
+ custom: Record<string, any>;
315
+
316
+ type: string;
317
+
318
+ received_at?: Date;
319
+ }
320
+
267
321
  export interface AsyncModerationCallbackConfig {
268
322
  mode?: 'CALLBACK_MODE_NONE' | 'CALLBACK_MODE_REST' | 'CALLBACK_MODE_TWIRP';
269
323
 
@@ -1007,6 +1061,8 @@ export interface CallRecording {
1007
1061
 
1008
1062
  filename: string;
1009
1063
 
1064
+ session_id: string;
1065
+
1010
1066
  start_time: Date;
1011
1067
 
1012
1068
  url: string;
@@ -3283,6 +3339,8 @@ export interface EntityCreatorResponse {
3283
3339
 
3284
3340
  deleted_content_count: number;
3285
3341
 
3342
+ flagged_count: number;
3343
+
3286
3344
  id: string;
3287
3345
 
3288
3346
  invisible: boolean;
@@ -3376,14 +3434,6 @@ export interface ExportChannelsResponse {
3376
3434
  task_id: string;
3377
3435
  }
3378
3436
 
3379
- export interface ExportChannelsResult {
3380
- url: string;
3381
-
3382
- path?: string;
3383
-
3384
- s3_bucket_name?: string;
3385
- }
3386
-
3387
3437
  export interface ExportUserResponse {
3388
3438
  duration: string;
3389
3439
 
@@ -3414,6 +3464,14 @@ export interface ExternalStorageResponse {
3414
3464
  type: 's3' | 'gcs' | 'abs';
3415
3465
  }
3416
3466
 
3467
+ export interface FPSStats {
3468
+ average_fps: number;
3469
+
3470
+ harmonic_fps: number;
3471
+
3472
+ tracked: number;
3473
+ }
3474
+
3417
3475
  export interface FeedsModerationTemplateConfig {
3418
3476
  config_key: string;
3419
3477
 
@@ -3962,28 +4020,6 @@ export interface GetEdgesResponse {
3962
4020
  edges: EdgeResponse[];
3963
4021
  }
3964
4022
 
3965
- export interface GetExportChannelsStatusResponse {
3966
- created_at: Date;
3967
-
3968
- duration: string;
3969
-
3970
- status:
3971
- | 'waiting'
3972
- | 'pending'
3973
- | 'running'
3974
- | 'completed'
3975
- | 'failed'
3976
- | 'canceled';
3977
-
3978
- task_id: string;
3979
-
3980
- updated_at: Date;
3981
-
3982
- error?: ErrorResult;
3983
-
3984
- result?: ExportChannelsResult;
3985
- }
3986
-
3987
4023
  export interface GetImportResponse {
3988
4024
  duration: string;
3989
4025
 
@@ -4173,8 +4209,6 @@ export interface GoLiveRequest {
4173
4209
 
4174
4210
  start_recording?: boolean;
4175
4211
 
4176
- start_rtmp_broadcasts?: boolean;
4177
-
4178
4212
  start_transcription?: boolean;
4179
4213
 
4180
4214
  transcription_storage_name?: string;
@@ -4907,7 +4941,7 @@ export interface MessageRequest {
4907
4941
 
4908
4942
  text?: string;
4909
4943
 
4910
- type?: "''regular" | 'system';
4944
+ type?: "''" | 'regular' | 'system';
4911
4945
 
4912
4946
  user_id?: string;
4913
4947
 
@@ -5181,8 +5215,6 @@ export interface ModerationAnalytics {
5181
5215
 
5182
5216
  sla_metrics: Array<Record<string, any>>;
5183
5217
 
5184
- usage_metrics: Array<Record<string, any>>;
5185
-
5186
5218
  action_distribution_over_time: Record<string, Record<string, any>>;
5187
5219
 
5188
5220
  detection_by_engine_over_time: Record<string, Record<string, any>>;
@@ -7388,6 +7420,8 @@ export interface SessionSettingsResponse {
7388
7420
  inactivity_timeout_seconds: number;
7389
7421
  }
7390
7422
 
7423
+ export interface ShadowBlockActionRequest {}
7424
+
7391
7425
  export interface ShowChannelRequest {
7392
7426
  user_id?: string;
7393
7427
 
@@ -7549,7 +7583,8 @@ export interface SubmitActionRequest {
7549
7583
  | 'unban'
7550
7584
  | 'restore'
7551
7585
  | 'delete_user'
7552
- | 'unblock';
7586
+ | 'unblock'
7587
+ | 'shadow_block';
7553
7588
 
7554
7589
  item_id: string;
7555
7590
 
@@ -9135,6 +9170,8 @@ export interface UserSessionStats {
9135
9170
 
9136
9171
  subsessions?: Subsession[];
9137
9172
 
9173
+ fps?: FPSStats;
9174
+
9138
9175
  geolocation?: GeolocationResult;
9139
9176
 
9140
9177
  jitter?: TimeStats;
@@ -9225,6 +9262,8 @@ export interface UserUpdatedEvent {
9225
9262
  export interface VelocityFilterConfig {
9226
9263
  cascading_actions: boolean;
9227
9264
 
9265
+ cids_per_user: number;
9266
+
9228
9267
  enabled: boolean;
9229
9268
 
9230
9269
  first_message_only: boolean;
@@ -345,7 +345,6 @@ export class VideoApi extends BaseApi {
345
345
  start_closed_caption: request?.start_closed_caption,
346
346
  start_hls: request?.start_hls,
347
347
  start_recording: request?.start_recording,
348
- start_rtmp_broadcasts: request?.start_rtmp_broadcasts,
349
348
  start_transcription: request?.start_transcription,
350
349
  transcription_storage_name: request?.transcription_storage_name,
351
350
  };