diff --git a/src/gen/chat/ChatApi.ts b/src/gen/chat/ChatApi.ts index 36c33f9..a146814 100644 --- a/src/gen/chat/ChatApi.ts +++ b/src/gen/chat/ChatApi.ts @@ -113,6 +113,7 @@ import { StartCampaignResponse, StopCampaignRequest, TranslateMessageRequest, + TranslateMessageResponse, TruncateChannelRequest, TruncateChannelResponse, UndeleteMessageRequest, @@ -390,7 +391,9 @@ export class ChatApi { const body = { operation: request?.operation, filter: request?.filter, + custom_unset: request?.custom_unset, members: request?.members, + custom_set: request?.custom_set, data: request?.data, }; @@ -1865,7 +1868,7 @@ export class ChatApi { async translateMessage( request: TranslateMessageRequest & { id: string }, - ): Promise> { + ): Promise> { const pathParams = { id: request?.id, }; @@ -1874,7 +1877,7 @@ export class ChatApi { }; const response = await this.apiClient.sendRequest< - StreamResponse + StreamResponse >( 'POST', '/api/v2/chat/messages/{id}/translate', @@ -1884,7 +1887,7 @@ export class ChatApi { 'application/json', ); - decoders['MessageActionResponse']?.(response.body); + decoders['TranslateMessageResponse']?.(response.body); return { ...response.body, metadata: response.metadata }; } diff --git a/src/gen/common/CommonApi.ts b/src/gen/common/CommonApi.ts index 7ea4e9c..5103094 100644 --- a/src/gen/common/CommonApi.ts +++ b/src/gen/common/CommonApi.ts @@ -160,6 +160,8 @@ export class CommonApi { request?.member_custom_on_mentioned_users_enabled, member_custom_on_messages_enabled: request?.member_custom_on_messages_enabled, + member_custom_on_typing_events_enabled: + request?.member_custom_on_typing_events_enabled, migrate_permissions_to_v2: request?.migrate_permissions_to_v2, moderation_analytics_enabled: request?.moderation_analytics_enabled, moderation_enabled: request?.moderation_enabled, diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 5493755..92fc884 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -1720,6 +1720,7 @@ export class FeedsApi { activity_processors: request?.activity_processors, activity_selectors: request?.activity_selectors, activity_filter: request?.activity_filter, + activity_processing: request?.activity_processing, aggregation: request?.aggregation, custom: request?.custom, notification: request?.notification, @@ -2281,6 +2282,7 @@ export class FeedsApi { activity_processors: request?.activity_processors, activity_selectors: request?.activity_selectors, activity_filter: request?.activity_filter, + activity_processing: request?.activity_processing, aggregation: request?.aggregation, custom: request?.custom, notification: request?.notification, @@ -2317,6 +2319,7 @@ export class FeedsApi { activity_processors: request?.activity_processors, activity_selectors: request?.activity_selectors, activity_filter: request?.activity_filter, + activity_processing: request?.activity_processing, aggregation: request?.aggregation, custom: request?.custom, notification: request?.notification, diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index 2f75e3c..8f2c0a6 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -3837,6 +3837,8 @@ decoders['ModerationFlagResponse'] = (input?: { [key: string]: any }) => { updated_at: { type: 'DatetimeType', isSingle: true }, + content_published_at: { type: 'DatetimeType', isSingle: true }, + review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true }, user: { type: 'UserResponse', isSingle: true }, @@ -5425,6 +5427,13 @@ decoders['TranslateCommentResponse'] = (input?: { [key: string]: any }) => { return decode(typeMappings, input); }; +decoders['TranslateMessageResponse'] = (input?: { [key: string]: any }) => { + const typeMappings: TypeMapping = { + message: { type: 'MessageResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders['TruncateChannelResponse'] = (input?: { [key: string]: any }) => { const typeMappings: TypeMapping = { channel: { type: 'ChannelResponse', isSingle: true }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 05631c2..7cd940a 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -49,9 +49,27 @@ export interface AIVideoConfig { enabled?: boolean; + provider?: string; + rules?: Array; } +export interface AIVideoConfigRequest { + async?: boolean; + + enabled?: boolean; + + rules?: Array; +} + +export interface AIVideoConfigResponse { + enabled: boolean; + + rules: Array; + + async?: boolean; +} + export interface APIError { /** * API error code @@ -210,7 +228,7 @@ export interface AcceptFollowRequest { target: string; /** - * Optional role for the follower in the follow relationship. Server-side only, and one of 'feed_follower' (the default) or 'feed_member_viewer'. + * Optional role for the follower in the follow relationship. Server-side only. Either a built-in ('feed_follower' (the default) or 'feed_member_viewer') or any role your app has defined; grants are not inspected. */ follower_role?: string; } @@ -590,6 +608,23 @@ export interface ActivityPinnedEvent { user?: UserResponseCommonFields; } +export interface ActivityProcessingConfig { + /** + * When true, this feed group's allowed_tags is given to the model as a constrained vocabulary so it maps its own wording onto a configured tag instead of that output being discarded. Improves how often a tag is produced, at the cost of sending the list on every request. Scoped to this group's own list: leaving it false keeps this group's tags out of the request even when another feed group on the same activity sets it true. Requires allowed_tags. Off by default. + */ + send_allowed_tags_to_ai?: boolean; + + /** + * When set, the LLM activity processors may only write interest tags from this list. By default the model is not told about the list, so a tag is only written when the model happens to produce that exact word after lower-casing and trimming, which for any vocabulary is often not the case; set send_allowed_tags_to_ai to have the model choose from the list instead. Mutually exclusive with blocked_tags. + */ + allowed_tags?: Array; + + /** + * Interest tags the LLM activity processors are never allowed to write. Mutually exclusive with allowed_tags. + */ + blocked_tags?: Array; +} + export interface ActivityProcessorConfig { /** * Type of activity processor (required) @@ -1860,7 +1895,7 @@ export interface AnalyzeResponse { duration: string; /** - * Always `complete` — /analyze is sync-only and the full verdict is in the response. + * `complete` (all fields screened), `partial` (mix of verdicts and per-field errors), or `pending` (async). */ status: string; @@ -1940,10 +1975,14 @@ export interface AppResponseFields { member_custom_on_messages_enabled: boolean; + member_custom_on_typing_events_enabled: boolean; + moderation_audio_call_moderation_enabled: boolean; moderation_enabled: boolean; + moderation_keyframe_video_enabled: boolean; + moderation_llm_configurability_enabled: boolean; moderation_multitenant_blocklist_enabled: boolean; @@ -5398,8 +5437,18 @@ export interface ChannelBatchUpdateRequest { */ filter: Record; + /** + * `updateData` only. Deletes these keys from each channel's existing custom object, leaving every other custom key untouched. Keys are dot-paths; deleting a key that does not exist is a no-op. Cannot be combined with `data.custom` + */ + custom_unset?: Array; + members?: Array; + /** + * `updateData` only. Merges these keys into each channel's existing custom object, leaving every other custom key untouched. Keys are dot-paths, so `a.b` sets key `b` inside object `a` (the parent object must already exist). Cannot be combined with `data.custom` + */ + custom_set?: Record; + data?: ChannelDataUpdate; } @@ -8133,7 +8182,7 @@ export interface ConfigResponse { ai_text_config?: AITextConfig; - ai_video_config?: AIVideoConfig; + ai_video_config?: AIVideoConfigResponse; automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig; @@ -8764,6 +8813,9 @@ export interface CreateFeedGroupRequest { */ id: string; + /** + * Role new followers of feeds in this group are given. Either a built-in (feed_follower, feed_member_viewer) or any role your app has defined. Empty means feed_follower. Applied when the follow is accepted, so a follow that starts pending picks it up on approval + */ default_follower_role?: string; /** @@ -8785,6 +8837,8 @@ export interface CreateFeedGroupRequest { activity_filter?: ActivityFilterConfig; + activity_processing?: ActivityProcessingConfig; + aggregation?: AggregationConfig; /** @@ -11166,7 +11220,7 @@ export interface FeedGroupResponse { updated_at: Date; /** - * Role new followers of feeds in this group are given. One of: feed_follower, feed_member_viewer. Empty means feed_follower. Applied when the follow is accepted, so a follow that starts pending picks it up on approval + * Role new followers of feeds in this group are given. Either a built-in (feed_follower, feed_member_viewer) or any role your app has defined. Empty means feed_follower. Applied when the follow is accepted, so a follow that starts pending picks it up on approval */ default_follower_role?: string; @@ -11191,6 +11245,8 @@ export interface FeedGroupResponse { activity_filter?: ActivityFilterConfig; + activity_processing?: ActivityProcessingConfig; + aggregation?: AggregationConfig; /** @@ -12635,7 +12691,7 @@ export interface FollowResponse { created_at: Date; /** - * Role of the follower (source user) in the follow relationship, as stored. A value outside the allowed set is reported as stored but evaluated as 'feed_follower'. + * Role of the follower (source user) in the follow relationship, as stored. A reserved name, or a role your app no longer defines, is reported as stored but evaluated as 'feed_follower'. */ follower_role: string; @@ -13546,6 +13602,9 @@ export interface GetOrCreateCallResponse { } export interface GetOrCreateFeedGroupRequest { + /** + * Role new followers of feeds in this group are given. Either a built-in (feed_follower, feed_member_viewer) or any role your app has defined. Empty means feed_follower. Applied when the follow is accepted, so a follow that starts pending picks it up on approval + */ default_follower_role?: string; /** @@ -13567,6 +13626,8 @@ export interface GetOrCreateFeedGroupRequest { activity_filter?: ActivityFilterConfig; + activity_processing?: ActivityProcessingConfig; + aggregation?: AggregationConfig; /** @@ -17210,6 +17271,8 @@ export interface ModerationDashboardPreferences { disable_flagging_reviewed_entity?: boolean; + enforce_shadow_server_side?: boolean; + escalation_queue_enabled?: boolean; flag_user_on_flagged_content?: boolean; @@ -17244,6 +17307,8 @@ export interface ModerationFlagResponse { result: Array>; + content_published_at?: Date; + entity_creator_id?: string; reason?: string; @@ -25640,6 +25705,18 @@ export interface TranslateMessageRequest { | 'ht'; } +export interface TranslateMessageResponse { + /** + * Duration of the request in milliseconds + */ + duration: string; + + /** + * Represents any chat message + */ + message: MessageResponse; +} + export interface TranslationSettings { enabled?: boolean; @@ -26296,6 +26373,8 @@ export interface UpdateAppRequest { member_custom_on_messages_enabled?: boolean; + member_custom_on_typing_events_enabled?: boolean; + migrate_permissions_to_v2?: boolean; moderation_analytics_enabled?: boolean; @@ -27152,8 +27231,15 @@ export interface UpdateExternalStorageResponse { } export interface UpdateFeedGroupRequest { + /** + * Role new followers of feeds in this group are given. Either a built-in (feed_follower, feed_member_viewer) or any role your app has defined. Empty means feed_follower. Applied when the follow is accepted, so a follow that starts pending picks it up on approval + */ default_follower_role?: string; + /** + * Default visibility for the feed group. One of: public, visible, followers, members, private + */ + default_visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private'; @@ -27169,6 +27255,8 @@ export interface UpdateFeedGroupRequest { activity_filter?: ActivityFilterConfig; + activity_processing?: ActivityProcessingConfig; + aggregation?: AggregationConfig; /** @@ -27336,7 +27424,7 @@ export interface UpdateFollowRequest { enrich_own_fields?: boolean; /** - * Optional role for the follower in the follow relationship. Server-side only, and one of 'feed_follower' (the default) or 'feed_member_viewer'. + * Optional role for the follower in the follow relationship. Server-side only. Either a built-in ('feed_follower' (the default) or 'feed_member_viewer') or any role your app has defined; grants are not inspected. */ follower_role?: string; @@ -27888,6 +27976,10 @@ export interface UpdateUsersResponse { */ duration: string; + /** + * @deprecated + * Deprecated: always empty. Removing a user from a team no longer deletes their memberships in that team's channels, so there is no task to poll + */ membership_deletion_task_id: string; /** @@ -28132,7 +28224,7 @@ export interface UpsertConfigRequest { ai_text_config?: AITextConfig; - ai_video_config?: AIVideoConfig; + ai_video_config?: AIVideoConfigRequest; automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;