diff --git a/src/gen/chat/ChatApi.ts b/src/gen/chat/ChatApi.ts index ae09857..7fcfe60 100644 --- a/src/gen/chat/ChatApi.ts +++ b/src/gen/chat/ChatApi.ts @@ -67,10 +67,10 @@ import { QueryReactionsResponse, QueryRemindersRequest, QueryRemindersResponse, - QuerySegmentTargetsRequest, - QuerySegmentTargetsResponse, QuerySegmentsRequest, QuerySegmentsResponse, + QuerySegmentTargetsRequest, + QuerySegmentTargetsResponse, QueryThreadsRequest, QueryThreadsResponse, ReminderResponseData, @@ -1009,6 +1009,7 @@ export class ChatApi { blocklist: request?.blocklist, blocklist_behavior: request?.blocklist_behavior, connect_events: request?.connect_events, + count_messages: request?.count_messages, custom_events: request?.custom_events, mark_messages_pending: request?.mark_messages_pending, mutes: request?.mutes, @@ -1253,10 +1254,12 @@ export class ChatApi { id: string; hard?: boolean; deleted_by?: string; + delete_for_me?: boolean; }): Promise> { const queryParams = { hard: request?.hard, deleted_by: request?.deleted_by, + delete_for_me: request?.delete_for_me, }; const pathParams = { id: request?.id, diff --git a/src/gen/common/CommonApi.ts b/src/gen/common/CommonApi.ts index 96eed6b..e0d532c 100644 --- a/src/gen/common/CommonApi.ts +++ b/src/gen/common/CommonApi.ts @@ -37,8 +37,8 @@ import { FileUploadRequest, FileUploadResponse, GetApplicationResponse, - GetBlockListResponse, GetBlockedUsersResponse, + GetBlockListResponse, GetCustomPermissionResponse, GetImportResponse, GetOGResponse, @@ -56,9 +56,9 @@ import { PollOptionResponse, PollResponse, PollVotesResponse, - QueryPollVotesRequest, QueryPollsRequest, QueryPollsResponse, + QueryPollVotesRequest, QueryUsersPayload, QueryUsersResponse, ReactivateUserRequest, @@ -118,6 +118,8 @@ export class CommonApi { feeds_v2_region: request?.feeds_v2_region, guest_user_creation_disabled: request?.guest_user_creation_disabled, image_moderation_enabled: request?.image_moderation_enabled, + max_aggregated_activities_length: + request?.max_aggregated_activities_length, migrate_permissions_to_v2: request?.migrate_permissions_to_v2, moderation_enabled: request?.moderation_enabled, moderation_webhook_url: request?.moderation_webhook_url, diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index 3fd1e42..26d95ec 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -1145,6 +1145,8 @@ decoders.Channel = (input?: Record) => { last_message_at: { type: 'DatetimeType', isSingle: true }, + message_count_updated_at: { type: 'DatetimeType', isSingle: true }, + active_live_locations: { type: 'SharedLocation', isSingle: false }, invites: { type: 'ChannelMember', isSingle: false }, @@ -2402,6 +2404,17 @@ decoders.ImportTaskHistory = (input?: Record) => { return decode(typeMappings, input); }; +decoders.KickedUserEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + + kicked_by_user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ListBlockListResponse = (input?: Record) => { const typeMappings: TypeMapping = { blocklists: { type: 'BlockListResponse', isSingle: false }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 4a21e2a..4f0243c 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -218,6 +218,12 @@ export interface ActionSequence { warning_text: string; } +export interface ActiveCallsBitrateStats { + p10: number; + + p50: number; +} + export interface ActiveCallsFPSStats { p05: number; @@ -831,6 +837,8 @@ export interface AppResponseFields { moderation_enabled: boolean; + moderation_llm_configurability_enabled: boolean; + moderation_multitenant_blocklist_enabled: boolean; moderation_webhook_url: string; @@ -2746,6 +2754,8 @@ export interface Channel { member_count?: number; + message_count_updated_at?: Date; + team?: string; active_live_locations?: SharedLocation[]; @@ -2770,6 +2780,8 @@ export interface ChannelConfig { connect_events: boolean; + count_messages: boolean; + created_at: Date; custom_events: boolean; @@ -2836,6 +2848,8 @@ export interface ChannelConfigWithInfo { connect_events: boolean; + count_messages: boolean; + created_at: Date; custom_events: boolean; @@ -3044,6 +3058,8 @@ export interface ChannelMember { user_id?: string; + deleted_messages?: string[]; + user?: UserResponse; } @@ -3195,6 +3211,8 @@ export interface ChannelResponse { member_count?: number; + message_count?: number; + mute_expires_at?: Date; muted?: boolean; @@ -3233,6 +3251,8 @@ export interface ChannelStateResponse { active_live_locations?: SharedLocationResponseData[]; + deleted_messages?: string[]; + pending_messages?: PendingMessageResponse[]; read?: ReadStateResponse[]; @@ -3265,6 +3285,8 @@ export interface ChannelStateResponseFields { active_live_locations?: SharedLocationResponseData[]; + deleted_messages?: string[]; + pending_messages?: PendingMessageResponse[]; read?: ReadStateResponse[]; @@ -3303,6 +3325,8 @@ export interface ChannelTypeConfig { connect_events: boolean; + count_messages: boolean; + created_at: Date; custom_events: boolean; @@ -3774,6 +3798,8 @@ export interface ConfigOverrides { blocklist_behavior?: 'flag' | 'block'; + count_messages?: boolean; + max_message_length?: number; quotes?: boolean; @@ -3818,6 +3844,8 @@ export interface ConfigResponse { block_list_config?: BlockListConfig; + llm_config?: LLMConfig; + rule_builder_config?: RuleBuilderConfig; velocity_filter_config?: VelocityFilterConfig; @@ -3950,6 +3978,8 @@ export interface CreateChannelTypeResponse { connect_events: boolean; + count_messages: boolean; + created_at: Date; custom_events: boolean; @@ -5510,33 +5540,29 @@ export interface FirebaseConfigFields { export interface Flag { created_at: Date; - entity_id: string; - - entity_type: string; + created_by_automod: boolean; updated_at: Date; - result: Array>; - - entity_creator_id?: string; - - is_streamed_content?: boolean; - - moderation_payload_hash?: string; + approved_at?: Date; reason?: string; - review_queue_item_id?: string; + rejected_at?: Date; - type?: string; + reviewed_at?: Date; - labels?: string[]; + reviewed_by?: string; + + target_message_id?: string; custom?: Record; - moderation_payload?: ModerationPayload; + details?: FlagDetails; - review_queue_item?: ReviewQueueItem; + target_message?: Message; + + target_user?: User; user?: User; } @@ -5926,6 +5952,8 @@ export interface GetChannelTypeResponse { connect_events: boolean; + count_messages: boolean; + created_at: Date; custom_events: boolean; @@ -6650,6 +6678,59 @@ export interface JoinCallAPIMetrics { latency?: ActiveCallsLatencyStats; } +export interface KickUserRequest { + user_id: string; + + block?: boolean; + + kicked_by_id?: string; + + kicked_by?: UserRequest; +} + +export interface KickUserResponse { + duration: string; +} + +export interface KickedUserEvent { + call_cid: string; + + created_at: Date; + + user: UserResponse; + + type: string; + + kicked_by_user?: UserResponse; +} + +export interface LLMConfig { + enabled: boolean; + + rules: LLMRule[]; + + async?: boolean; + + severity_descriptions?: Record; +} + +export interface LLMRule { + action: + | 'flag' + | 'shadow' + | 'remove' + | 'bounce' + | 'bounce_flag' + | 'bounce_remove' + | 'keep'; + + description: string; + + label: string; + + severity_rules: BodyguardSeverityRule[]; +} + export interface Label { name: string; @@ -7031,6 +7112,8 @@ export interface Message { deleted_at?: Date; + deleted_for_me?: boolean; + message_text_updated_at?: Date; mml?: string; @@ -7365,6 +7448,8 @@ export interface MessageResponse { deleted_at?: Date; + deleted_for_me?: boolean; + message_text_updated_at?: Date; mml?: string; @@ -7517,6 +7602,8 @@ export interface MessageWithChannelResponse { deleted_at?: Date; + deleted_for_me?: boolean; + message_text_updated_at?: Date; mml?: string; @@ -7619,6 +7706,8 @@ export interface ModerationFlagResponse { user_id: string; + result: Array>; + entity_creator_id?: string; reason?: string; @@ -7627,8 +7716,6 @@ export interface ModerationFlagResponse { labels?: string[]; - result?: Array>; - custom?: Record; moderation_payload?: ModerationPayload; @@ -7894,6 +7981,7 @@ export const OwnCapability = { JOIN_BACKSTAGE: 'join-backstage', JOIN_CALL: 'join-call', JOIN_ENDED_CALL: 'join-ended-call', + KICK_USER: 'kick-user', MUTE_USERS: 'mute-users', PIN_FOR_EVERYONE: 'pin-for-everyone', READ_CALL: 'read-call', @@ -8455,6 +8543,8 @@ export interface PublisherStatsResponse { } export interface PublisherVideoMetrics { + bitrate?: ActiveCallsBitrateStats; + fps_30?: ActiveCallsFPSStats; frame_encoding_time_ms?: ActiveCallsLatencyStats; @@ -10407,6 +10497,8 @@ export interface SearchResultMessage { deleted_at?: Date; + deleted_for_me?: boolean; + message_text_updated_at?: Date; mml?: string; @@ -11683,6 +11775,8 @@ export interface UpdateAppRequest { image_moderation_enabled?: boolean; + max_aggregated_activities_length?: number; + migrate_permissions_to_v2?: boolean; moderation_enabled?: boolean; @@ -11929,6 +12023,8 @@ export interface UpdateChannelTypeRequest { connect_events?: boolean; + count_messages?: boolean; + custom_events?: boolean; mark_messages_pending?: boolean; @@ -11987,6 +12083,8 @@ export interface UpdateChannelTypeResponse { connect_events: boolean; + count_messages: boolean; + created_at: Date; custom_events: boolean; @@ -12437,6 +12535,8 @@ export interface UpsertConfigRequest { google_vision_config?: GoogleVisionConfig; + llm_config?: LLMConfig; + rule_builder_config?: RuleBuilderConfig; user?: UserRequest; @@ -12660,8 +12760,6 @@ export interface UserFlaggedEvent { export interface UserMessagesDeletedEvent { created_at: Date; - hard_delete: boolean; - soft_delete: boolean; custom: Record; @@ -12678,6 +12776,8 @@ export interface UserMessagesDeletedEvent { cid?: string; + hard_delete?: boolean; + received_at?: Date; team?: string; @@ -13144,6 +13244,7 @@ export type WebhookEvent = | ({ type: 'call.hls_broadcasting_stopped'; } & CallHLSBroadcastingStoppedEvent) + | ({ type: 'call.kicked_user' } & KickedUserEvent) | ({ type: 'call.live_started' } & CallLiveStartedEvent) | ({ type: 'call.member_added' } & CallMemberAddedEvent) | ({ type: 'call.member_removed' } & CallMemberRemovedEvent) diff --git a/src/gen/moderation/ModerationApi.ts b/src/gen/moderation/ModerationApi.ts index 96957c2..2738881 100644 --- a/src/gen/moderation/ModerationApi.ts +++ b/src/gen/moderation/ModerationApi.ts @@ -142,6 +142,7 @@ export class ModerationApi { block_list_config: request?.block_list_config, bodyguard_config: request?.bodyguard_config, google_vision_config: request?.google_vision_config, + llm_config: request?.llm_config, rule_builder_config: request?.rule_builder_config, user: request?.user, velocity_filter_config: request?.velocity_filter_config, diff --git a/src/gen/video/CallApi.ts b/src/gen/video/CallApi.ts index d1f3943..45a4a8f 100644 --- a/src/gen/video/CallApi.ts +++ b/src/gen/video/CallApi.ts @@ -15,6 +15,8 @@ import { GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, + KickUserRequest, + KickUserResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersRequest, @@ -30,10 +32,10 @@ import { StartFrameRecordingRequest, StartFrameRecordingResponse, StartHLSBroadcastingResponse, - StartRTMPBroadcastsRequest, - StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, + StartRTMPBroadcastsRequest, + StartRTMPBroadcastsResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, @@ -43,9 +45,9 @@ import { StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, + StopRecordingResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, - StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, @@ -140,6 +142,12 @@ export class CallApi { return this.videoApi.goLive({ id: this.id, type: this.type, ...request }); } + kickUser( + request: KickUserRequest, + ): Promise> { + return this.videoApi.kickUser({ id: this.id, type: this.type, ...request }); + } + end(): Promise> { return this.videoApi.endCall({ id: this.id, type: this.type }); } diff --git a/src/gen/video/VideoApi.ts b/src/gen/video/VideoApi.ts index 835064e..898b46a 100644 --- a/src/gen/video/VideoApi.ts +++ b/src/gen/video/VideoApi.ts @@ -20,6 +20,8 @@ import { GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, + KickUserRequest, + KickUserResponse, ListCallTypeResponse, ListRecordingsResponse, ListTranscriptionsResponse, @@ -33,10 +35,10 @@ import { QueryCallMembersResponse, QueryCallParticipantsRequest, QueryCallParticipantsResponse, - QueryCallStatsRequest, - QueryCallStatsResponse, QueryCallsRequest, QueryCallsResponse, + QueryCallStatsRequest, + QueryCallStatsResponse, QueryUserFeedbackRequest, QueryUserFeedbackResponse, Response, @@ -47,10 +49,10 @@ import { StartFrameRecordingRequest, StartFrameRecordingResponse, StartHLSBroadcastingResponse, - StartRTMPBroadcastsRequest, - StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, + StartRTMPBroadcastsRequest, + StartRTMPBroadcastsResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, @@ -60,9 +62,9 @@ import { StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, + StopRecordingResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, - StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, @@ -416,6 +418,36 @@ export class VideoApi { return { ...response.body, metadata: response.metadata }; } + async kickUser( + request: KickUserRequest & { type: string; id: string }, + ): Promise> { + const pathParams = { + type: request?.type, + id: request?.id, + }; + const body = { + user_id: request?.user_id, + block: request?.block, + kicked_by_id: request?.kicked_by_id, + kicked_by: request?.kicked_by, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/video/call/{type}/{id}/kick', + pathParams, + undefined, + body, + 'application/json', + ); + + decoders.KickUserResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async endCall(request: { type: string; id: string;