diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 1a1b007..40ac27b 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -485,6 +485,7 @@ export class FeedsApi { }; const body = { type: request?.type, + create_notification_activity: request?.create_notification_activity, user_id: request?.user_id, custom: request?.custom, user: request?.user, @@ -704,6 +705,7 @@ export class FeedsApi { comment: request?.comment, object_id: request?.object_id, object_type: request?.object_type, + create_notification_activity: request?.create_notification_activity, parent_id: request?.parent_id, user_id: request?.user_id, attachments: request?.attachments, @@ -845,6 +847,7 @@ export class FeedsApi { }; const body = { type: request?.type, + create_notification_activity: request?.create_notification_activity, user_id: request?.user_id, custom: request?.custom, user: request?.user, @@ -1570,6 +1573,7 @@ export class FeedsApi { const body = { source: request?.source, target: request?.target, + create_notification_activity: request?.create_notification_activity, follower_role: request?.follower_role, push_preference: request?.push_preference, custom: request?.custom, @@ -1597,6 +1601,7 @@ export class FeedsApi { const body = { source: request?.source, target: request?.target, + create_notification_activity: request?.create_notification_activity, push_preference: request?.push_preference, custom: request?.custom, }; diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index 046709e..15487d2 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -2092,6 +2092,15 @@ decoders.FullUserResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.GetActiveCallsStatusResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + end_time: { type: 'DatetimeType', isSingle: true }, + + start_time: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.GetActivityResponse = (input?: Record) => { const typeMappings: TypeMapping = { activity: { type: 'ActivityResponse', isSingle: true }, @@ -2935,6 +2944,21 @@ decoders.ParticipantCountOverTimeResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.PendingMessageEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + + channel: { type: 'Channel', isSingle: true }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.PendingMessageResponse = (input?: Record) => { const typeMappings: TypeMapping = { channel: { type: 'ChannelResponse', isSingle: true }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 20ab0df..1c329df 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -218,6 +218,40 @@ export interface ActionSequence { warning_text: string; } +export interface ActiveCallsFPSStats { + p05: number; + + p10: number; + + p50: number; + + p90: number; +} + +export interface ActiveCallsLatencyStats { + p50: number; + + p90: number; +} + +export interface ActiveCallsMetrics { + join_call_api?: JoinCallAPIMetrics; + + publishers?: PublishersMetrics; + + subscribers?: SubscribersMetrics; +} + +export interface ActiveCallsSummary { + active_calls: number; + + active_publishers: number; + + active_subscribers: number; + + participants: number; +} + export interface ActivityAddedEvent { created_at: Date; @@ -500,6 +534,8 @@ export interface ActivityResponse { parent?: ActivityResponse; poll?: PollResponseData; + + target?: Record; } export interface ActivitySelectorConfig { @@ -609,6 +645,8 @@ export interface AddBookmarkResponse { export interface AddCommentReactionRequest { type: string; + create_notification_activity?: boolean; + user_id?: string; custom?: Record; @@ -631,6 +669,8 @@ export interface AddCommentRequest { object_type: string; + create_notification_activity?: boolean; + parent_id?: string; user_id?: string; @@ -669,6 +709,8 @@ export interface AddFolderRequest { export interface AddReactionRequest { type: string; + create_notification_activity?: boolean; + user_id?: string; custom?: Record; @@ -1114,6 +1156,16 @@ export interface BanActionRequest { timeout?: number; } +export interface BanOptions { + duration: number; + + ip_ban: boolean; + + reason: string; + + shadow_ban: boolean; +} + export interface BanRequest { target_user_id: string; @@ -1150,6 +1202,10 @@ export interface BanResponse { user?: UserResponse; } +export interface BlockContentOptions { + reason: string; +} + export interface BlockListConfig { enabled: boolean; @@ -3670,11 +3726,19 @@ export interface ConfigResponse { block_list_config?: BlockListConfig; + rule_builder_config?: RuleBuilderConfig; + velocity_filter_config?: VelocityFilterConfig; video_call_rule_config?: VideoCallRuleConfig; } +export interface ContentCountRuleParameters { + threshold: number; + + time_window: string; +} + export interface CountByMinuteResponse { count: number; @@ -5286,33 +5350,41 @@ export interface FirebaseConfigFields { export interface Flag { created_at: Date; - created_by_automod: boolean; + entity_id: string; + + entity_type: string; updated_at: Date; - approved_at?: Date; + result: Array>; - reason?: string; + entity_creator_id?: string; - rejected_at?: Date; + is_streamed_content?: boolean; - reviewed_at?: Date; + moderation_payload_hash?: string; - reviewed_by?: string; + reason?: string; - target_message_id?: string; + review_queue_item_id?: string; - custom?: Record; + type?: string; - details?: FlagDetails; + labels?: string[]; - target_message?: Message; + custom?: Record; - target_user?: User; + moderation_payload?: ModerationPayload; + + review_queue_item?: ReviewQueueItem; user?: User; } +export interface FlagContentOptions { + reason: string; +} + export interface FlagDetails { original_text: string; @@ -5379,6 +5451,10 @@ export interface FlagUpdatedEvent { user?: UserResponse; } +export interface FlagUserOptions { + reason: string; +} + export interface FollowBatchRequest { follows: FollowRequest[]; } @@ -5428,6 +5504,8 @@ export interface FollowRequest { target: string; + create_notification_activity?: boolean; + push_preference?: 'all' | 'none'; custom?: Record; @@ -5589,6 +5667,18 @@ export interface GeofenceSettingsResponse { names: string[]; } +export interface GetActiveCallsStatusResponse { + duration: string; + + end_time: Date; + + start_time: Date; + + metrics?: ActiveCallsMetrics; + + summary?: ActiveCallsSummary; +} + export interface GetActivityResponse { duration: string; @@ -6147,6 +6237,10 @@ export interface HuaweiConfigFields { secret?: string; } +export interface ImageContentParameters { + harm_labels?: string[]; +} + export interface ImageData { frames: string; @@ -6159,6 +6253,14 @@ export interface ImageData { width: string; } +export interface ImageRuleParameters { + threshold: number; + + time_window: string; + + harm_labels?: string[]; +} + export interface ImageSize { crop?: 'top' | 'bottom' | 'left' | 'right' | 'center'; @@ -6229,6 +6331,14 @@ export interface ImportTaskHistory { prev_state: string; } +export interface JoinCallAPIMetrics { + failures: number; + + total: number; + + latency?: ActiveCallsLatencyStats; +} + export interface Label { name: string; @@ -7160,6 +7270,8 @@ export interface ModerationCustomActionEvent { } export interface ModerationDashboardPreferences { + flag_user_on_flagged_content?: boolean; + media_queue_blur_enabled?: boolean; } @@ -7627,6 +7739,26 @@ export interface ParticipantReportResponse { subscribers?: SubscriberStatsResponse; } +export interface PendingMessageEvent { + created_at: Date; + + method: string; + + custom: Record; + + type: string; + + received_at?: Date; + + channel?: Channel; + + message?: Message; + + metadata?: Record; + + user?: User; +} + export interface PendingMessageResponse { channel?: ChannelResponse; @@ -7943,6 +8075,18 @@ export interface PrivacySettingsResponse { typing_indicators?: TypingIndicatorsResponse; } +export interface PublisherAllMetrics { + audio?: PublisherAudioMetrics; + + rtt_ms?: ActiveCallsLatencyStats; + + video?: PublisherVideoMetrics; +} + +export interface PublisherAudioMetrics { + jitter_ms?: ActiveCallsLatencyStats; +} + export interface PublisherStatsResponse { total: number; @@ -7951,6 +8095,18 @@ export interface PublisherStatsResponse { by_track?: TrackStatsResponse[]; } +export interface PublisherVideoMetrics { + fps_30?: ActiveCallsFPSStats; + + frame_encoding_time_ms?: ActiveCallsLatencyStats; + + jitter_ms?: ActiveCallsLatencyStats; +} + +export interface PublishersMetrics { + all?: PublisherAllMetrics; +} + export interface PushConfig { version: 'v1' | 'v2' | 'v3'; @@ -7980,6 +8136,8 @@ export interface PushNotificationSettingsResponse { } export interface PushPreferenceInput { + call_level?: 'all' | 'none' | 'default'; + channel_cid?: string; chat_level?: 'all' | 'mentions' | 'none' | 'default'; @@ -9562,45 +9720,71 @@ export interface Role { } export interface RuleBuilderAction { - duration?: number; + type: string; - ip_ban?: boolean; + ban_options?: BanOptions; - reason?: string; + flag_content_options?: FlagContentOptions; - shadow_ban?: boolean; + flag_user_options?: FlagUserOptions; - type?: string; + remove_content_options?: BlockContentOptions; } export interface RuleBuilderCondition { - provider?: string; + type: string; - threshold?: number; + confidence?: number; - time_window?: string; + content_count_rule_params?: ContentCountRuleParameters; - labels?: string[]; + image_content_params?: ImageContentParameters; + + image_rule_params?: ImageRuleParameters; + + text_content_params?: TextContentParameters; + + text_rule_params?: TextRuleParameters; + + user_created_within_params?: UserCreatedWithinParameters; + + user_rule_params?: UserRuleParameters; + + video_content_params?: VideoContentParameters; + + video_rule_params?: VideoRuleParameters; } -export interface RuleBuilderConfig { - async?: boolean; +export interface RuleBuilderConditionGroup { + logic: string; - enabled?: boolean; + conditions: RuleBuilderCondition[]; +} - rules?: RuleBuilderRule[]; +export interface RuleBuilderConfig { + rules: RuleBuilderRule[]; + + async?: boolean; } export interface RuleBuilderRule { - enabled?: boolean; + enabled: boolean; - id?: string; + id: string; - name?: string; + name: string; + + rule_type: string; + + action: RuleBuilderAction; + + cooldown_period?: string; + + logic?: string; conditions?: RuleBuilderCondition[]; - action?: RuleBuilderAction; + groups?: RuleBuilderConditionGroup[]; } export interface S3Request { @@ -10032,6 +10216,8 @@ export interface SingleFollowRequest { target: string; + create_notification_activity?: boolean; + push_preference?: 'all' | 'none'; custom?: Record; @@ -10316,6 +10502,22 @@ export interface SubmitActionResponse { item?: ReviewQueueItemResponse; } +export interface SubscriberAllMetrics { + audio?: SubscriberAudioMetrics; + + rtt_ms?: ActiveCallsLatencyStats; + + video?: SubscriberVideoMetrics; +} + +export interface SubscriberAudioMetrics { + concealment_pct?: ActiveCallsLatencyStats; + + jitter_ms?: ActiveCallsLatencyStats; + + packets_lost_pct?: ActiveCallsLatencyStats; +} + export interface SubscriberStatsResponse { total: number; @@ -10324,6 +10526,18 @@ export interface SubscriberStatsResponse { unique: number; } +export interface SubscriberVideoMetrics { + fps_30?: ActiveCallsFPSStats; + + jitter_ms?: ActiveCallsLatencyStats; + + packets_lost_pct?: ActiveCallsLatencyStats; +} + +export interface SubscribersMetrics { + all?: SubscriberAllMetrics; +} + export interface TargetResolution { bitrate: number; @@ -10332,6 +10546,30 @@ export interface TargetResolution { width: number; } +export interface TextContentParameters { + contains_url?: boolean; + + severity?: string; + + blocklist_match?: string[]; + + harm_labels?: string[]; +} + +export interface TextRuleParameters { + threshold: number; + + time_window: string; + + contains_url?: boolean; + + severity?: string; + + blocklist_match?: string[]; + + harm_labels?: string[]; +} + export interface ThreadParticipant { app_pk: number; @@ -11469,6 +11707,8 @@ export interface UpdateFollowRequest { target: string; + create_notification_activity?: boolean; + follower_role?: string; push_preference?: 'all' | 'none'; @@ -11851,6 +12091,10 @@ export interface UserBannedEvent { user?: User; } +export interface UserCreatedWithinParameters { + max_age?: string; +} + export interface UserCustomEventRequest { type: string; @@ -12119,6 +12363,10 @@ export interface UserResponsePrivacyFields { teams_role?: Record; } +export interface UserRuleParameters { + max_age?: string; +} + export interface UserUnbannedEvent { channel_id: string; @@ -12221,6 +12469,10 @@ export interface VideoCallRuleConfig { rules: Record; } +export interface VideoContentParameters { + harm_labels?: string[]; +} + export interface VideoEndCallRequest {} export interface VideoKickUserRequest {} @@ -12239,6 +12491,14 @@ export interface VideoReactionsResponse { count_over_time?: VideoReactionOverTimeResponse; } +export interface VideoRuleParameters { + threshold: number; + + time_window: string; + + harm_labels?: string[]; +} + export interface VideoSettings { access_request_enabled: boolean; @@ -12466,6 +12726,7 @@ export type WebhookEvent = | ({ type: 'message.deleted' } & MessageDeletedEvent) | ({ type: 'message.flagged' } & MessageFlaggedEvent) | ({ type: 'message.new' } & MessageNewEvent) + | ({ type: 'message.pending' } & PendingMessageEvent) | ({ type: 'message.read' } & MessageReadEvent) | ({ type: 'message.unblocked' } & MessageUnblockedEvent) | ({ type: 'message.undeleted' } & MessageUndeletedEvent) diff --git a/src/gen/video/VideoApi.ts b/src/gen/video/VideoApi.ts index 645fbcd..835064e 100644 --- a/src/gen/video/VideoApi.ts +++ b/src/gen/video/VideoApi.ts @@ -11,6 +11,7 @@ import { DeleteRecordingResponse, DeleteTranscriptionResponse, EndCallResponse, + GetActiveCallsStatusResponse, GetCallReportResponse, GetCallResponse, GetCallTypeResponse, @@ -82,6 +83,18 @@ import { decoders } from '../model-decoders/decoders'; export class VideoApi { constructor(public readonly apiClient: ApiClient) {} + async getActiveCallsStatus(): Promise< + StreamResponse + > { + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/video/active_calls_status', undefined, undefined); + + decoders.GetActiveCallsStatusResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async queryUserFeedback( request?: QueryUserFeedbackRequest & { full?: boolean }, ): Promise> {