Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions src/gen/feeds/FeedsApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ export class FeedsApi {
create_notification_activity: request?.create_notification_activity,
enrich_own_fields: request?.enrich_own_fields,
expires_at: request?.expires_at,
force_moderation: request?.force_moderation,
id: request?.id,
parent_id: request?.parent_id,
poll_id: request?.poll_id,
Expand Down Expand Up @@ -214,6 +215,7 @@ export class FeedsApi {
const body = {
activities: request?.activities,
enrich_own_fields: request?.enrich_own_fields,
force_moderation: request?.force_moderation,
};

const response = await this.apiClient.sendRequest<
Expand All @@ -237,6 +239,7 @@ export class FeedsApi {
): Promise<StreamResponse<UpdateActivitiesPartialBatchResponse>> {
const body = {
changes: request?.changes,
force_moderation: request?.force_moderation,
};

const response = await this.apiClient.sendRequest<
Expand Down Expand Up @@ -632,14 +635,22 @@ export class FeedsApi {

async getActivity(request: {
id: string;
comment_sort?: string;
comment_limit?: number;
user_id?: string;
}): Promise<StreamResponse<GetActivityResponse>> {
const queryParams = {
comment_sort: request?.comment_sort,
comment_limit: request?.comment_limit,
user_id: request?.user_id,
};
const pathParams = {
id: request?.id,
};

const response = await this.apiClient.sendRequest<
StreamResponse<GetActivityResponse>
>('GET', '/api/v2/feeds/activities/{id}', pathParams, undefined);
>('GET', '/api/v2/feeds/activities/{id}', pathParams, queryParams);

decoders.GetActivityResponse?.(response.body);

Expand All @@ -655,6 +666,7 @@ export class FeedsApi {
const body = {
copy_custom_to_notification: request?.copy_custom_to_notification,
enrich_own_fields: request?.enrich_own_fields,
force_moderation: request?.force_moderation,
handle_mention_notifications: request?.handle_mention_notifications,
run_activity_processors: request?.run_activity_processors,
user_id: request?.user_id,
Expand Down Expand Up @@ -689,6 +701,7 @@ export class FeedsApi {
copy_custom_to_notification: request?.copy_custom_to_notification,
enrich_own_fields: request?.enrich_own_fields,
expires_at: request?.expires_at,
force_moderation: request?.force_moderation,
handle_mention_notifications: request?.handle_mention_notifications,
poll_id: request?.poll_id,
restrict_replies: request?.restrict_replies,
Expand Down Expand Up @@ -1041,6 +1054,7 @@ export class FeedsApi {
comment: request?.comment,
copy_custom_to_notification: request?.copy_custom_to_notification,
create_notification_activity: request?.create_notification_activity,
force_moderation: request?.force_moderation,
id: request?.id,
object_id: request?.object_id,
object_type: request?.object_type,
Expand Down Expand Up @@ -1235,14 +1249,18 @@ export class FeedsApi {

async getComment(request: {
id: string;
user_id?: string;
}): Promise<StreamResponse<GetCommentResponse>> {
const queryParams = {
user_id: request?.user_id,
};
const pathParams = {
id: request?.id,
};

const response = await this.apiClient.sendRequest<
StreamResponse<GetCommentResponse>
>('GET', '/api/v2/feeds/comments/{id}', pathParams, undefined);
>('GET', '/api/v2/feeds/comments/{id}', pathParams, queryParams);

decoders.GetCommentResponse?.(response.body);

Expand All @@ -1258,6 +1276,7 @@ export class FeedsApi {
const body = {
comment: request?.comment,
copy_custom_to_notification: request?.copy_custom_to_notification,
force_moderation: request?.force_moderation,
handle_mention_notifications: request?.handle_mention_notifications,
skip_enrich_url: request?.skip_enrich_url,
skip_push: request?.skip_push,
Expand Down Expand Up @@ -1292,6 +1311,7 @@ export class FeedsApi {
};
const body = {
copy_custom_to_notification: request?.copy_custom_to_notification,
force_moderation: request?.force_moderation,
handle_mention_notifications: request?.handle_mention_notifications,
skip_enrich_url: request?.skip_enrich_url,
skip_push: request?.skip_push,
Expand Down
18 changes: 18 additions & 0 deletions src/gen/model-decoders/decoders.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1115,6 +1115,17 @@ decoders.CallStatsReportSummaryResponse = (input?: Record<string, any>) => {
return decode(typeMappings, input);
};

decoders.CallStatsSessionResponse = (input?: Record<string, any>) => {
const typeMappings: TypeMapping = {
generated_at: { type: 'DatetimeType', isSingle: true },

call_ended_at: { type: 'DatetimeType', isSingle: true },

call_started_at: { type: 'DatetimeType', isSingle: true },
};
return decode(typeMappings, input);
};

decoders.CallTranscription = (input?: Record<string, any>) => {
const typeMappings: TypeMapping = {
end_time: { type: 'DatetimeType', isSingle: true },
Expand Down Expand Up @@ -3834,6 +3845,13 @@ decoders.QueryCallSessionParticipantStatsTimelineResponse = (
return decode(typeMappings, input);
};

decoders.QueryCallSessionStatsResponse = (input?: Record<string, any>) => {
const typeMappings: TypeMapping = {
call_stats: { type: 'CallStatsSessionResponse', isSingle: false },
};
return decode(typeMappings, input);
};

decoders.QueryCallStatsMapResponse = (input?: Record<string, any>) => {
const typeMappings: TypeMapping = {
call_ended_at: { type: 'DatetimeType', isSingle: true },
Expand Down
105 changes: 105 additions & 0 deletions src/gen/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1176,6 +1176,8 @@ export interface AddActivityRequest {
*/
expires_at?: string;

force_moderation?: boolean;

/**
* Optional ID for the activity
*/
Expand Down Expand Up @@ -1392,6 +1394,11 @@ export interface AddCommentRequest {
*/
create_notification_activity?: boolean;

/**
* If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
*/
force_moderation?: boolean;

/**
* Optional custom ID for the comment (max 255 characters). If not provided, a UUID will be generated.
*/
Expand Down Expand Up @@ -4009,6 +4016,8 @@ export interface CallStatsReportReadyEvent {
*/
session_id: string;

counts: CallStatsParticipantCounts;

/**
* The type of event, "call.report_ready" in this case
*/
Expand Down Expand Up @@ -4043,6 +4052,22 @@ export interface CallStatsReportSummaryResponse {
quality_score?: number;
}

export interface CallStatsSessionResponse {
call_id: string;

call_session_id: string;

call_type: string;

generated_at: Date;

counts: CallStatsParticipantCounts;

call_ended_at?: Date;

call_started_at?: Date;
}

export interface CallTranscription {
end_time: Date;

Expand Down Expand Up @@ -8255,6 +8280,23 @@ export interface DraftResponse {
quoted_message?: MessageResponse;
}

export interface EMAUStatsResponse {
/**
* Per-day unique engaged user counts
*/
daily: DailyMetricResponse[];

/**
* Rolling 30-day engaged user count snapshots
*/
last_30_days: DailyMetricResponse[];

/**
* Calendar month-to-date engaged user count snapshots
*/
month_to_date: DailyMetricResponse[];
}

export interface EdgeResponse {
continent_code: string;

Expand Down Expand Up @@ -16063,6 +16105,37 @@ export interface QueryCallSessionParticipantStatsTimelineResponse {
events: CallParticipantTimeline[];
}

export interface QueryCallSessionStatsRequest {
limit?: number;

next?: string;

prev?: string;

/**
* Array of sort parameters
*/
sort?: SortParamRequest[];

/**
* Filter conditions to apply to the query
*/
filter_conditions?: Record<string, any>;
}

export interface QueryCallSessionStatsResponse {
/**
* Duration of the request in milliseconds
*/
duration: string;

call_stats: CallStatsSessionResponse[];

next?: string;

prev?: string;
}

export interface QueryCallStatsMapResponse {
call_id: string;

Expand Down Expand Up @@ -16537,6 +16610,8 @@ export interface QueryFeedsUsageStatsResponse {
follows: DailyMetricStatsResponse;

openai_requests: DailyMetricStatsResponse;

emau?: EMAUStatsResponse;
}

export interface QueryFollowsRequest {
Expand Down Expand Up @@ -21253,6 +21328,11 @@ export interface UpdateActivitiesPartialBatchRequest {
* List of activity changes to apply. Each change specifies an activity ID and the fields to set/unset
*/
changes: UpdateActivityPartialChangeRequest[];

/**
* If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
*/
force_moderation?: boolean;
}

export interface UpdateActivitiesPartialBatchResponse {
Expand Down Expand Up @@ -21304,6 +21384,11 @@ export interface UpdateActivityPartialRequest {
*/
enrich_own_fields?: boolean;

/**
* If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
*/
force_moderation?: boolean;

/**
* If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
*/
Expand Down Expand Up @@ -21352,6 +21437,11 @@ export interface UpdateActivityRequest {
*/
expires_at?: Date;

/**
* If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
*/
force_moderation?: boolean;

/**
* If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
*/
Expand Down Expand Up @@ -22081,6 +22171,11 @@ export interface UpdateCommentPartialRequest {
*/
copy_custom_to_notification?: boolean;

/**
* If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
*/
force_moderation?: boolean;

/**
* Whether to handle mention notification changes
*/
Expand Down Expand Up @@ -22129,6 +22224,11 @@ export interface UpdateCommentRequest {
*/
copy_custom_to_notification?: boolean;

/**
* If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
*/
force_moderation?: boolean;

/**
* If true, creates notification activities for newly mentioned users and deletes notifications for users no longer mentioned
*/
Expand Down Expand Up @@ -22902,6 +23002,11 @@ export interface UpsertActivitiesRequest {
* If true, enriches the activities' current_feed with own_* fields (own_follows, own_followings, own_capabilities, own_membership). Defaults to false for performance.
*/
enrich_own_fields?: boolean;

/**
* If true, forces moderation to run for server-side requests. By default, server-side requests skip moderation. Client-side requests always run moderation regardless of this field.
*/
force_moderation?: boolean;
}

export interface UpsertActivitiesResponse {
Expand Down
29 changes: 29 additions & 0 deletions src/gen/video/VideoApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ import {
QueryCallParticipantsResponse,
QueryCallSessionParticipantStatsResponse,
QueryCallSessionParticipantStatsTimelineResponse,
QueryCallSessionStatsRequest,
QueryCallSessionStatsResponse,
QueryCallStatsMapResponse,
QueryCallStatsRequest,
QueryCallStatsResponse,
Expand Down Expand Up @@ -1350,6 +1352,33 @@ export class VideoApi {
return { ...response.body, metadata: response.metadata };
}

async queryCallSessionStats(
request?: QueryCallSessionStatsRequest,
): Promise<StreamResponse<QueryCallSessionStatsResponse>> {
const body = {
limit: request?.limit,
next: request?.next,
prev: request?.prev,
sort: request?.sort,
filter_conditions: request?.filter_conditions,
};

const response = await this.apiClient.sendRequest<
StreamResponse<QueryCallSessionStatsResponse>
>(
'POST',
'/api/v2/video/call_stats',
undefined,
undefined,
body,
'application/json',
);

decoders.QueryCallSessionStatsResponse?.(response.body);

return { ...response.body, metadata: response.metadata };
}

async getCallStatsMap(request: {
call_type: string;
call_id: string;
Expand Down