ugcinc 4.19.0 → 4.19.1
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.
- package/dist/accounts.d.ts +2 -0
- package/dist/automations/nodes/index.d.ts +1 -1
- package/dist/automations/nodes/remotion-composition.d.ts +2 -2
- package/dist/index.d.ts +3 -2
- package/dist/media.d.ts +79 -0
- package/dist/media.js +32 -0
- package/dist/post-failure.d.ts +10 -0
- package/dist/post-failure.js +2 -0
- package/dist/posts.d.ts +57 -1
- package/dist/posts.js +7 -0
- package/dist/render/compositions/IMessageDmComposition/types.d.ts +2 -2
- package/dist/render/types/remotion-composition.d.ts +8 -8
- package/dist/tools/accounts.js +1 -0
- package/dist/tools/posts.js +4 -0
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
package/dist/accounts.d.ts
CHANGED
|
@@ -96,6 +96,8 @@ export interface EditProfileInfo {
|
|
|
96
96
|
}
|
|
97
97
|
export interface GetAccountsParams {
|
|
98
98
|
tag?: string;
|
|
99
|
+
/** Platform filter: only accounts of this type are returned. */
|
|
100
|
+
type?: 'tiktok' | 'instagram';
|
|
99
101
|
org_group?: string;
|
|
100
102
|
user_group?: string;
|
|
101
103
|
status?: AccountStatus;
|
|
@@ -338,7 +338,7 @@ export declare const nodeDefinitions: {
|
|
|
338
338
|
selectionMode: null;
|
|
339
339
|
outputType: "video" | "image";
|
|
340
340
|
inputs: {
|
|
341
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
341
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
342
342
|
id: string;
|
|
343
343
|
isArray: boolean;
|
|
344
344
|
required: boolean;
|
|
@@ -9,7 +9,7 @@ declare const defaults: {
|
|
|
9
9
|
selectionMode: null;
|
|
10
10
|
outputType: "video" | "image";
|
|
11
11
|
inputs: {
|
|
12
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
12
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
13
13
|
id: string;
|
|
14
14
|
isArray: boolean;
|
|
15
15
|
required: boolean;
|
|
@@ -26,7 +26,7 @@ declare const _default: import("./types").NodeDefinition<"remotion-composition",
|
|
|
26
26
|
selectionMode: null;
|
|
27
27
|
outputType: "video" | "image";
|
|
28
28
|
inputs: {
|
|
29
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
29
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
30
30
|
id: string;
|
|
31
31
|
isArray: boolean;
|
|
32
32
|
required: boolean;
|
package/dist/index.d.ts
CHANGED
|
@@ -30,10 +30,10 @@ export type { InputType } from './automations/nodes/types';
|
|
|
30
30
|
export type { ClientConfig } from './base';
|
|
31
31
|
export type { Account, AccountStatus, AccountStat, AccountTask, QuarantineAccountParams, ReleaseAccountParams, QuarantineAccountResponse, EditProfileInfo, GetAccountsParams, GetAccountStatsParams, GetAccountStatusParams, AccountInfoUpdate, UpdateAccountInfoParams, AccountInfoUpdateResult, UpdateAccountInfoResponse, AccountSocialUpdate, UpdateAccountSocialParams, AccountSocialUpdateResult, UpdateAccountSocialResponse, DeleteAccountPostsParams, DeleteAccountPostsResponse, ResetWarmupParams, ResetWarmupResponse, NicheSwitchUpdate, NicheSwitchParams, NicheSwitchResult, NicheSwitchResponse, CreateAccountInput, CreateAccountsParams, CreateAccountResult, CreateAccountsResponse, TroubleshootFailReason, TroubleshootAccount, TroubleshootParams, } from './accounts';
|
|
32
32
|
export type { TaskType, Task, GetTasksParams } from './tasks';
|
|
33
|
-
export type { PostType, PostStatus, Post, PostStat, CaptionOverlay, GetPostsParams, CreateDraftParams, CreateSlideshowParams, GetPostStatsParams, GetPostStatusParams, CreateVideoParams, UpdatePostParams, DeletePostsParams, DeletePostsResponse, RetryPostsParams, SetPostStatusParams, SetPostStatusResponse, PreviewScheduleEntry, PreviewScheduleParams, PreviewScheduleResult, } from './posts';
|
|
33
|
+
export type { PostType, PostStatus, Post, PostStat, CaptionOverlay, GetPostsParams, GetPostsPageParams, PostsPage, PostSortField, PostSortDirection, CreateDraftParams, CreateSlideshowParams, GetPostStatsParams, GetPostStatusParams, CreateVideoParams, UpdatePostParams, DeletePostsParams, DeletePostsResponse, RetryPostsParams, SetPostStatusParams, SetPostStatusResponse, PreviewScheduleEntry, PreviewScheduleParams, PreviewScheduleResult, } from './posts';
|
|
34
34
|
export type { RefreshStatsParams, RefreshStatsError, RefreshStatsResponse, RefreshStatsProgressResponse, RefreshStartEvent, RefreshProgressEvent, RefreshDoneEvent, RefreshStreamEvent, DailyAggregatedStat, GetDailyAggregatedStatsParams, DailyAccountStat, GetDailyAccountStatsParams, DailyPostStat, GetDailyPostStatsParams, DashboardDailyStat, GetDashboardDailyStatsParams, TopAccount, GetTopAccountsParams, TopPost, GetTopPostsParams, } from './stats';
|
|
35
35
|
export type { Org, ApiKey, DeleteApiKeyParams, EditApiKeyParams, IntegrationKey, IntegrationProvider, UpsertIntegrationKeyParams, DeleteIntegrationKeyParams } from './org';
|
|
36
|
-
export type { UserMedia, MediaUse, SocialAudio, Media, GetMediaParams, GetSocialAudioParams, UploadMediaParams, UploadMediaResponse, MediaTagUpdate, UpdateMediaTagsParams, MediaTagUpdateResult, UpdateMediaTagsResponse, UpdateMediaTagParams, UpdateMediaNameParams, DeleteMediaParams, DeleteMediaResponse, CreateSocialAudioParams, ImportTextParams, ImportTextResponse, CreateMediaFromUrlParams, GetMediaUseParams, GetMediaUseResponse, FilterMediaParams, FilterMediaResponse, } from './media';
|
|
36
|
+
export type { UserMedia, MediaUse, SocialAudio, Media, GetMediaParams, GetSocialAudioParams, UploadMediaParams, UploadMediaResponse, MediaTagUpdate, UpdateMediaTagsParams, MediaTagUpdateResult, UpdateMediaTagsResponse, UpdateMediaTagParams, UpdateMediaNameParams, DeleteMediaParams, DeleteMediaResponse, CreateSocialAudioParams, ImportTextParams, ImportTextResponse, CreateMediaFromUrlParams, GetMediaUseParams, GetMediaUseResponse, FilterMediaParams, FilterMediaResponse, PfpSearchParams, PfpSearchResponse, PfpCandidate, ImageSearchParams, ImageSearchResult, ImageSearchResponse, ImageSearchVideoFormat, } from './media';
|
|
37
37
|
export type { CommentStatus, Comment, CreateCommentParams, CreateCommentResponse, GetCommentsParams, } from './comments';
|
|
38
38
|
export type { BillingInfo, PortalUrlResponse, CancelAccountParams, CancelAccountResponse, ReactivateAccountParams, ReactivateAccountResponse, CancelSubscriptionResponse, RequestReplacementParams, RequestReplacementResponse, RequestRefundParams, RequestRefundResponse, BillingRequestInfo, PortalParams, } from './billing';
|
|
39
39
|
export type { RenderJobResponse, RenderJobStatus, SubmitImageRenderJobParams, SubmitVideoRenderJobParams, SubmitScreenshotAnimationRenderJobParams, SubmitAutoCaptionRenderJobParams, SubmitSceneSplitJobParams, SceneSplitDetectorConfig, SubmitInstagramDmRenderJobParams, SubmitIMessageDmRenderJobParams, IgDmMessage, ImDmMessage, RenderVideoEditorConfig, } from './render';
|
|
@@ -84,3 +84,4 @@ export type { NodeDefinition, NodeType, UserCreatableNodeType, NodeConfig, Workf
|
|
|
84
84
|
export type { SelectionMode, ExhaustionBehavior, SelectionConfig, SelectionState, OutputMode, NodeCategory, TriggerIterationMode, IterationExhaustionBehavior, CollectionSelectionMode, TriggerCollectionConfig, MediaItemType, MediaNodeSelectionType, ResolvedPreview, PreviewSelectionState, PreviewContext, NullableOutputs, } from './automations/nodes/types';
|
|
85
85
|
export type { SuccessResponse, ErrorResponse, ApiResponse, } from './types';
|
|
86
86
|
export type { CropBoundary, CropAxisConfig, DynamicCropConfig, BorderRadiusConfig, VerticalAnchor, HorizontalAnchor, HorizontalSelfAnchor, VerticalSelfAnchor, RelativePositionConfigX, RelativePositionConfigY, } from './render/types';
|
|
87
|
+
export type { PublicPostFailureCode, PublicPostRecovery, PublicPostNextAction, PublicPostFailure } from './post-failure';
|
package/dist/media.d.ts
CHANGED
|
@@ -131,6 +131,57 @@ export interface FilterMediaResponse {
|
|
|
131
131
|
used_count: number;
|
|
132
132
|
available_count: number;
|
|
133
133
|
}
|
|
134
|
+
export interface PfpSearchParams {
|
|
135
|
+
/** What to search for, e.g. "black girl selfie" or "asian woman aesthetic". */
|
|
136
|
+
search_term: string;
|
|
137
|
+
/** How many pictures to return. Defaults to 12, capped at 40. */
|
|
138
|
+
count?: number;
|
|
139
|
+
}
|
|
140
|
+
export interface PfpCandidate {
|
|
141
|
+
/** Stable id for this picture at the source. */
|
|
142
|
+
source_id: string;
|
|
143
|
+
/** Full-resolution image — the one an account's avatar is set to. */
|
|
144
|
+
url: string;
|
|
145
|
+
/** Smaller variant, for rendering a grid of options. */
|
|
146
|
+
preview_url: string;
|
|
147
|
+
}
|
|
148
|
+
export interface PfpSearchResponse {
|
|
149
|
+
pictures: PfpCandidate[];
|
|
150
|
+
search_term: string;
|
|
151
|
+
count: number;
|
|
152
|
+
}
|
|
153
|
+
export interface ImageSearchParams {
|
|
154
|
+
/** What to search for. */
|
|
155
|
+
search_term: string;
|
|
156
|
+
/** How many results to return. Defaults to 24, min 1, capped at 50. */
|
|
157
|
+
count?: number;
|
|
158
|
+
/** `next_cursor` of a previous response for the same `search_term`. */
|
|
159
|
+
cursor?: string;
|
|
160
|
+
}
|
|
161
|
+
export type ImageSearchVideoFormat = 'mp4' | 'hls' | 'gif';
|
|
162
|
+
export interface ImageSearchResult {
|
|
163
|
+
/** Stable id for this result at the source. */
|
|
164
|
+
source_id: string;
|
|
165
|
+
title: string;
|
|
166
|
+
/** Full-resolution image; the cover image for a video result. */
|
|
167
|
+
url: string;
|
|
168
|
+
/** Smaller variant, for rendering a grid of results. */
|
|
169
|
+
preview_url: string;
|
|
170
|
+
/** Present only on video results. */
|
|
171
|
+
video_url?: string;
|
|
172
|
+
/**
|
|
173
|
+
* Present exactly when `video_url` is. `hls` is a playlist (`.m3u8`), not a
|
|
174
|
+
* file — convert it before storing it.
|
|
175
|
+
*/
|
|
176
|
+
video_format?: ImageSearchVideoFormat;
|
|
177
|
+
}
|
|
178
|
+
export interface ImageSearchResponse {
|
|
179
|
+
results: ImageSearchResult[];
|
|
180
|
+
/** Pass as `cursor` to get the next page; null when there are no more. */
|
|
181
|
+
next_cursor: string | null;
|
|
182
|
+
search_term: string;
|
|
183
|
+
count: number;
|
|
184
|
+
}
|
|
134
185
|
export interface OwnedUploadParams {
|
|
135
186
|
filename: string;
|
|
136
187
|
contentType: string;
|
|
@@ -213,4 +264,32 @@ export declare class MediaClient extends BaseClient {
|
|
|
213
264
|
* @param params.name - Use case identifier (e.g., "profile_picture")
|
|
214
265
|
*/
|
|
215
266
|
filter(params: FilterMediaParams): Promise<ApiResponse<FilterMediaResponse>>;
|
|
267
|
+
/**
|
|
268
|
+
* Search for profile-picture candidates for a search term.
|
|
269
|
+
*
|
|
270
|
+
* Pictures already in use as a profile picture are removed before the result
|
|
271
|
+
* comes back, so two accounts cannot end up wearing the same face. Sourcing
|
|
272
|
+
* and filtering are one call for that reason — a caller who forgot the second
|
|
273
|
+
* step would get duplicates across their accounts and find out much later.
|
|
274
|
+
*
|
|
275
|
+
* Requires the `media:search` scope on a restricted key.
|
|
276
|
+
*
|
|
277
|
+
* @param params.search_term - What to search for
|
|
278
|
+
* @param params.count - How many to return (default 12, max 40)
|
|
279
|
+
*/
|
|
280
|
+
pfpSearch(params: PfpSearchParams): Promise<ApiResponse<PfpSearchResponse>>;
|
|
281
|
+
/**
|
|
282
|
+
* Search for images and videos by keyword, a page at a time.
|
|
283
|
+
*
|
|
284
|
+
* Pass the previous response's `next_cursor` as `cursor`, with the same
|
|
285
|
+
* `search_term`, to continue. Unlike `pfpSearch`, results already in use are
|
|
286
|
+
* not removed.
|
|
287
|
+
*
|
|
288
|
+
* Requires the `media:search` scope on a restricted key.
|
|
289
|
+
*
|
|
290
|
+
* @param params.search_term - What to search for
|
|
291
|
+
* @param params.count - How many to return (default 24, max 50)
|
|
292
|
+
* @param params.cursor - `next_cursor` from the previous page
|
|
293
|
+
*/
|
|
294
|
+
imageSearch(params: ImageSearchParams): Promise<ApiResponse<ImageSearchResponse>>;
|
|
216
295
|
}
|
package/dist/media.js
CHANGED
|
@@ -96,5 +96,37 @@ class MediaClient extends base_1.BaseClient {
|
|
|
96
96
|
async filter(params) {
|
|
97
97
|
return this.post('/media/filter', params);
|
|
98
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Search for profile-picture candidates for a search term.
|
|
101
|
+
*
|
|
102
|
+
* Pictures already in use as a profile picture are removed before the result
|
|
103
|
+
* comes back, so two accounts cannot end up wearing the same face. Sourcing
|
|
104
|
+
* and filtering are one call for that reason — a caller who forgot the second
|
|
105
|
+
* step would get duplicates across their accounts and find out much later.
|
|
106
|
+
*
|
|
107
|
+
* Requires the `media:search` scope on a restricted key.
|
|
108
|
+
*
|
|
109
|
+
* @param params.search_term - What to search for
|
|
110
|
+
* @param params.count - How many to return (default 12, max 40)
|
|
111
|
+
*/
|
|
112
|
+
async pfpSearch(params) {
|
|
113
|
+
return this.post('/media/pfp-search', params);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Search for images and videos by keyword, a page at a time.
|
|
117
|
+
*
|
|
118
|
+
* Pass the previous response's `next_cursor` as `cursor`, with the same
|
|
119
|
+
* `search_term`, to continue. Unlike `pfpSearch`, results already in use are
|
|
120
|
+
* not removed.
|
|
121
|
+
*
|
|
122
|
+
* Requires the `media:search` scope on a restricted key.
|
|
123
|
+
*
|
|
124
|
+
* @param params.search_term - What to search for
|
|
125
|
+
* @param params.count - How many to return (default 24, max 50)
|
|
126
|
+
* @param params.cursor - `next_cursor` from the previous page
|
|
127
|
+
*/
|
|
128
|
+
async imageSearch(params) {
|
|
129
|
+
return this.post('/media/image-search', params);
|
|
130
|
+
}
|
|
99
131
|
}
|
|
100
132
|
exports.MediaClient = MediaClient;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Customer-facing posting explanations. No operational diagnostics are exposed. */
|
|
2
|
+
export type PublicPostFailureCode = 'AUDIO_UNAVAILABLE' | 'BACKUP_AUDIO_RETRY_PENDING' | 'AUDIO_RETRY_PENDING' | 'AUDIO_PREPARATION_FAILED' | 'PUBLISHING_RETRY_PENDING' | 'PUBLISHING_BLOCKED' | 'POST_PROCESSING_FAILED' | 'PUBLICATION_CHECK_IN_PROGRESS' | 'PUBLICATION_UNCONFIRMED' | 'POST_RETRY_PENDING' | 'POST_FAILED';
|
|
3
|
+
export type PublicPostRecovery = 'retry_pending' | 'waiting' | 'verifying_publication' | 'stopped';
|
|
4
|
+
export type PublicPostNextAction = 'wait' | 'change_audio' | 'change_audio_or_contact_support' | 'contact_support';
|
|
5
|
+
export interface PublicPostFailure {
|
|
6
|
+
code: PublicPostFailureCode;
|
|
7
|
+
message: string;
|
|
8
|
+
recovery: PublicPostRecovery;
|
|
9
|
+
next_action: PublicPostNextAction;
|
|
10
|
+
}
|
package/dist/posts.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseClient } from './base';
|
|
2
2
|
import type { ApiResponse } from './types';
|
|
3
|
+
import type { PublicPostFailure } from './post-failure';
|
|
3
4
|
/**
|
|
4
5
|
* Why a post failed, as a stable, client-safe category.
|
|
5
6
|
*
|
|
@@ -10,9 +11,13 @@ import type { ApiResponse } from './types';
|
|
|
10
11
|
* - `capacity_deferred` — no posting capacity was available; the post will be retried
|
|
11
12
|
* - `platform_change` — the social app's interface changed and the post could not complete
|
|
12
13
|
* - `unconfirmed` — posting finished but publication could not be confirmed
|
|
14
|
+
* - `audio_unavailable` — the chosen sound was not available on the platform and no backup audio was left
|
|
13
15
|
* - `unknown` — the post failed for an unrecognized reason
|
|
16
|
+
*
|
|
17
|
+
* A failed post also carries its category on its `tag`, as a trailing
|
|
18
|
+
* `fail reason: <category>` (removed again when the post is retried).
|
|
14
19
|
*/
|
|
15
|
-
export type PostFailCategory = 'device_error' | 'network_error' | 'upload_interrupted' | 'account_issue' | 'capacity_deferred' | 'platform_change' | 'unconfirmed' | 'unknown';
|
|
20
|
+
export type PostFailCategory = 'device_error' | 'network_error' | 'upload_interrupted' | 'account_issue' | 'capacity_deferred' | 'platform_change' | 'unconfirmed' | 'audio_unavailable' | 'unknown';
|
|
16
21
|
export type PostType = 'video' | 'slideshow';
|
|
17
22
|
export type PostStatus = 'draft' | 'scheduled' | 'pending' | 'complete' | 'failed' | 'retrying' | 'deleting' | 'deleted' | 'hidden' | 'require-approval';
|
|
18
23
|
/**
|
|
@@ -27,6 +32,8 @@ export interface CaptionOverlay {
|
|
|
27
32
|
fontSize: number;
|
|
28
33
|
}
|
|
29
34
|
export interface Post {
|
|
35
|
+
/** Present in list responses; null when there is no current posting issue. */
|
|
36
|
+
failure?: PublicPostFailure | null;
|
|
30
37
|
id: string;
|
|
31
38
|
account_id: string | null;
|
|
32
39
|
type: PostType;
|
|
@@ -42,6 +49,10 @@ export interface Post {
|
|
|
42
49
|
thumbnail_url: string | null;
|
|
43
50
|
music_post_id: string | null;
|
|
44
51
|
social_audio_id: string | null;
|
|
52
|
+
/** Fallback sound. Moved into `social_audio_id` (and cleared) if the platform refuses the primary sound. */
|
|
53
|
+
backup_social_audio_id: string | null;
|
|
54
|
+
/** When the backup sound was swapped in (ISO 8601), or null if it never was. */
|
|
55
|
+
backup_audio_used_at: string | null;
|
|
45
56
|
scheduled_at: string | null;
|
|
46
57
|
postUrl?: string;
|
|
47
58
|
}
|
|
@@ -64,12 +75,45 @@ export interface GetPostsParams {
|
|
|
64
75
|
limit?: number;
|
|
65
76
|
/** Opaque cursor from a previous response's `nextCursor`, to fetch the next page. */
|
|
66
77
|
cursor?: string;
|
|
78
|
+
/** Case-insensitive substring search across caption, title, and account username. */
|
|
79
|
+
search?: string;
|
|
80
|
+
platform?: 'tiktok' | 'instagram';
|
|
81
|
+
postType?: PostType;
|
|
82
|
+
statuses?: PostStatus[];
|
|
83
|
+
/** Match any comma-separated tag on the post's account. */
|
|
84
|
+
accountTags?: string[];
|
|
85
|
+
/** Match any comma-separated tag stored on the post. */
|
|
86
|
+
postTags?: string[];
|
|
87
|
+
socialAudioIds?: string[];
|
|
88
|
+
phoneTypes?: Array<'physical_iphone' | 'manual_iphone' | 'physical_android' | 'emulated_android' | 'social_api' | 'custom_provider' | 'tracking' | 'clipper'>;
|
|
89
|
+
sortBy?: PostSortField;
|
|
90
|
+
sortDirection?: PostSortDirection;
|
|
91
|
+
}
|
|
92
|
+
export type PostSortField = 'created' | 'account' | 'status' | 'title' | 'caption' | 'tag' | 'audio' | 'time' | 'views' | 'likes' | 'comments' | 'shares';
|
|
93
|
+
export type PostSortDirection = 'asc' | 'desc';
|
|
94
|
+
export interface GetPostsPageParams extends GetPostsParams {
|
|
95
|
+
/** Page size. Defaults to 200 and is capped at 500. */
|
|
96
|
+
limit?: number;
|
|
97
|
+
}
|
|
98
|
+
export interface PostsPage {
|
|
99
|
+
posts: Post[];
|
|
100
|
+
/** Latest stats only for posts in this page. */
|
|
101
|
+
stats: PostStat[];
|
|
102
|
+
totalCount: number;
|
|
103
|
+
/** Distinct comma-split post tags across the organization. */
|
|
104
|
+
postTags: string[];
|
|
105
|
+
anyHasTitle: boolean;
|
|
106
|
+
/** Accounts with a match when `accountIds` is ignored and all other filters remain active. */
|
|
107
|
+
matchingAccountIds: string[];
|
|
108
|
+
nextCursor: string | null;
|
|
67
109
|
}
|
|
68
110
|
export interface CreateSlideshowParams {
|
|
69
111
|
accountId: string | null;
|
|
70
112
|
caption?: string;
|
|
71
113
|
title?: string;
|
|
72
114
|
socialAudioId?: string;
|
|
115
|
+
/** Fallback sound, used once if the platform refuses the primary sound at posting time */
|
|
116
|
+
backupSocialAudioId?: string;
|
|
73
117
|
postTime?: string;
|
|
74
118
|
imageUrls: string[];
|
|
75
119
|
strict?: boolean;
|
|
@@ -95,6 +139,8 @@ export interface CreateVideoParams {
|
|
|
95
139
|
caption?: string;
|
|
96
140
|
captionOverlays?: CaptionOverlay[];
|
|
97
141
|
socialAudioId?: string;
|
|
142
|
+
/** Fallback sound, used once if the platform refuses the primary sound at posting time */
|
|
143
|
+
backupSocialAudioId?: string;
|
|
98
144
|
postTime?: string;
|
|
99
145
|
videoUrl: string;
|
|
100
146
|
strict?: boolean;
|
|
@@ -127,6 +173,8 @@ export interface UpdatePostParams {
|
|
|
127
173
|
caption?: string;
|
|
128
174
|
title?: string;
|
|
129
175
|
socialAudioId?: string;
|
|
176
|
+
/** Fallback sound, used once if the platform refuses the primary sound at posting time; `null` clears it */
|
|
177
|
+
backupSocialAudioId?: string | null;
|
|
130
178
|
postTime?: string;
|
|
131
179
|
accountId?: string;
|
|
132
180
|
mediaUrls?: string[];
|
|
@@ -153,6 +201,8 @@ export interface CreateDraftParams {
|
|
|
153
201
|
caption?: string;
|
|
154
202
|
title?: string;
|
|
155
203
|
socialAudioId?: string;
|
|
204
|
+
/** Fallback sound, used once if the platform refuses the primary sound at posting time */
|
|
205
|
+
backupSocialAudioId?: string;
|
|
156
206
|
/** Tag stored on the created POST itself (returned as `tag` on the Post object) */
|
|
157
207
|
post_tag?: string;
|
|
158
208
|
}
|
|
@@ -179,6 +229,11 @@ export declare class PostsClient extends BaseClient {
|
|
|
179
229
|
* passed back as `cursor` to fetch the next page, ordered newest-first.
|
|
180
230
|
*/
|
|
181
231
|
getPosts(params?: GetPostsParams): Promise<ApiResponse<Post[]>>;
|
|
232
|
+
/**
|
|
233
|
+
* Get one server-filtered/sorted page plus table metadata and page-scoped stats.
|
|
234
|
+
* Unlike getPosts(), this method never falls back to an unbounded response.
|
|
235
|
+
*/
|
|
236
|
+
getPostsPage(params?: GetPostsPageParams): Promise<ApiResponse<PostsPage>>;
|
|
182
237
|
/**
|
|
183
238
|
* Create a draft post without assigning it to an account
|
|
184
239
|
*
|
|
@@ -199,6 +254,7 @@ export declare class PostsClient extends BaseClient {
|
|
|
199
254
|
postUrl?: string;
|
|
200
255
|
/** Set when status is "failed"; null otherwise. */
|
|
201
256
|
fail_category: PostFailCategory | null;
|
|
257
|
+
failure: PublicPostFailure | null;
|
|
202
258
|
}>>;
|
|
203
259
|
/**
|
|
204
260
|
* Create a video post
|
package/dist/posts.js
CHANGED
|
@@ -15,6 +15,13 @@ class PostsClient extends base_1.BaseClient {
|
|
|
15
15
|
async getPosts(params) {
|
|
16
16
|
return this.post('/post', params ?? {});
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Get one server-filtered/sorted page plus table metadata and page-scoped stats.
|
|
20
|
+
* Unlike getPosts(), this method never falls back to an unbounded response.
|
|
21
|
+
*/
|
|
22
|
+
async getPostsPage(params = {}) {
|
|
23
|
+
return this.post('/post', { ...params, includePageMeta: true });
|
|
24
|
+
}
|
|
18
25
|
/**
|
|
19
26
|
* Create a draft post without assigning it to an account
|
|
20
27
|
*
|
|
@@ -399,10 +399,10 @@ export declare const iMessageDmPropsSchema: z.ZodObject<{
|
|
|
399
399
|
dynamicCrop: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
400
400
|
cropVerticalCenter: z.ZodOptional<z.ZodBoolean>;
|
|
401
401
|
}, "strip", z.ZodTypeAny, {
|
|
402
|
+
time?: string | undefined;
|
|
402
403
|
backgroundColor?: string | undefined;
|
|
403
404
|
lightMode?: boolean | undefined;
|
|
404
405
|
username?: string | undefined;
|
|
405
|
-
time?: string | undefined;
|
|
406
406
|
profilePicUrl?: string | undefined;
|
|
407
407
|
messages?: {
|
|
408
408
|
text: string;
|
|
@@ -582,10 +582,10 @@ export declare const iMessageDmPropsSchema: z.ZodObject<{
|
|
|
582
582
|
readReceiptLeft?: number | undefined;
|
|
583
583
|
readReceiptRight?: number | undefined;
|
|
584
584
|
}, {
|
|
585
|
+
time?: string | undefined;
|
|
585
586
|
backgroundColor?: string | undefined;
|
|
586
587
|
lightMode?: boolean | undefined;
|
|
587
588
|
username?: string | undefined;
|
|
588
|
-
time?: string | undefined;
|
|
589
589
|
profilePicUrl?: string | undefined;
|
|
590
590
|
messages?: {
|
|
591
591
|
text: string;
|
|
@@ -29,12 +29,12 @@ export declare const remotionCompositionPortSchema: z.ZodObject<{
|
|
|
29
29
|
isArray: z.ZodBoolean;
|
|
30
30
|
required: z.ZodBoolean;
|
|
31
31
|
}, "strict", z.ZodTypeAny, {
|
|
32
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
32
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
33
33
|
id: string;
|
|
34
34
|
isArray: boolean;
|
|
35
35
|
required: boolean;
|
|
36
36
|
}, {
|
|
37
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
37
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
38
38
|
id: string;
|
|
39
39
|
isArray: boolean;
|
|
40
40
|
required: boolean;
|
|
@@ -54,22 +54,22 @@ export declare const remotionCompositionNodeSchema: z.ZodObject<{
|
|
|
54
54
|
isArray: z.ZodBoolean;
|
|
55
55
|
required: z.ZodBoolean;
|
|
56
56
|
}, "strict", z.ZodTypeAny, {
|
|
57
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
57
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
58
58
|
id: string;
|
|
59
59
|
isArray: boolean;
|
|
60
60
|
required: boolean;
|
|
61
61
|
}, {
|
|
62
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
62
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
63
63
|
id: string;
|
|
64
64
|
isArray: boolean;
|
|
65
65
|
required: boolean;
|
|
66
66
|
}>, "many">, {
|
|
67
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
67
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
68
68
|
id: string;
|
|
69
69
|
isArray: boolean;
|
|
70
70
|
required: boolean;
|
|
71
71
|
}[], {
|
|
72
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
72
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
73
73
|
id: string;
|
|
74
74
|
isArray: boolean;
|
|
75
75
|
required: boolean;
|
|
@@ -82,7 +82,7 @@ export declare const remotionCompositionNodeSchema: z.ZodObject<{
|
|
|
82
82
|
selectionMode: null;
|
|
83
83
|
outputType: "video" | "image";
|
|
84
84
|
inputs: {
|
|
85
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
85
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
86
86
|
id: string;
|
|
87
87
|
isArray: boolean;
|
|
88
88
|
required: boolean;
|
|
@@ -97,7 +97,7 @@ export declare const remotionCompositionNodeSchema: z.ZodObject<{
|
|
|
97
97
|
outputMode: "per-input" | "single";
|
|
98
98
|
selectionMode: null;
|
|
99
99
|
inputs: {
|
|
100
|
-
type: "number" | "boolean" | "object" | "video" | "
|
|
100
|
+
type: "number" | "boolean" | "object" | "video" | "audio" | "image" | "text";
|
|
101
101
|
id: string;
|
|
102
102
|
isArray: boolean;
|
|
103
103
|
required: boolean;
|
package/dist/tools/accounts.js
CHANGED
|
@@ -8,6 +8,7 @@ exports.accountTools = [
|
|
|
8
8
|
description: 'List accounts with optional filters. Returns all accounts if no filters provided.',
|
|
9
9
|
schema: zod_1.z.object({
|
|
10
10
|
tag: zod_1.z.string().optional().describe('Filter by tag'),
|
|
11
|
+
type: zod_1.z.enum(['tiktok', 'instagram']).optional().describe('Filter by platform'),
|
|
11
12
|
org_group: zod_1.z.string().optional().describe('Filter by org group'),
|
|
12
13
|
user_group: zod_1.z.string().optional().describe('Filter by user group'),
|
|
13
14
|
status: zod_1.z.enum(['uninitialized', 'pending', 'initialized', 'setup', 'warming', 'warmed', 'needs_replacement', 'replacing', 'failed', 'deleted']).optional().describe('Filter by account status'),
|
package/dist/tools/posts.js
CHANGED
|
@@ -26,6 +26,7 @@ exports.postTools = [
|
|
|
26
26
|
videoUrl: zod_1.z.string().describe('URL of the video file'),
|
|
27
27
|
caption: zod_1.z.string().optional().describe('Post caption'),
|
|
28
28
|
socialAudioId: zod_1.z.string().optional().describe('Social audio ID to use'),
|
|
29
|
+
backupSocialAudioId: zod_1.z.string().optional().describe('Fallback social audio ID, used once if the platform refuses the primary sound'),
|
|
29
30
|
postTime: zod_1.z.string().optional().describe('Scheduled time (ISO 8601). Omit for next available slot.'),
|
|
30
31
|
strict: zod_1.z.boolean().optional().describe('If true with auto-selection, must post at exact time or error'),
|
|
31
32
|
mustPostBy: zod_1.z.string().optional().describe('Latest allowed scheduled time (ISO 8601). Errors if no slot is available before this deadline.'),
|
|
@@ -47,6 +48,7 @@ exports.postTools = [
|
|
|
47
48
|
caption: zod_1.z.string().optional().describe('Post caption'),
|
|
48
49
|
title: zod_1.z.string().optional().describe('Slideshow title'),
|
|
49
50
|
socialAudioId: zod_1.z.string().optional().describe('Social audio ID to use'),
|
|
51
|
+
backupSocialAudioId: zod_1.z.string().optional().describe('Fallback social audio ID, used once if the platform refuses the primary sound'),
|
|
50
52
|
postTime: zod_1.z.string().optional().describe('Scheduled time (ISO 8601)'),
|
|
51
53
|
strict: zod_1.z.boolean().optional().describe('If true with auto-selection, must post at exact time or error'),
|
|
52
54
|
mustPostBy: zod_1.z.string().optional().describe('Latest allowed scheduled time (ISO 8601). Errors if no slot is available before this deadline.'),
|
|
@@ -68,6 +70,7 @@ exports.postTools = [
|
|
|
68
70
|
caption: zod_1.z.string().optional().describe('Post caption'),
|
|
69
71
|
title: zod_1.z.string().optional().describe('Slideshow title'),
|
|
70
72
|
socialAudioId: zod_1.z.string().optional().describe('Social audio ID'),
|
|
73
|
+
backupSocialAudioId: zod_1.z.string().optional().describe('Fallback social audio ID, used once if the platform refuses the primary sound'),
|
|
71
74
|
post_tag: zod_1.z.string().optional().describe('Tag stored on the created post'),
|
|
72
75
|
}),
|
|
73
76
|
execute: async (client, params) => {
|
|
@@ -92,6 +95,7 @@ exports.postTools = [
|
|
|
92
95
|
caption: zod_1.z.string().optional().describe('New caption'),
|
|
93
96
|
title: zod_1.z.string().optional().describe('New title (slideshows only)'),
|
|
94
97
|
socialAudioId: zod_1.z.string().optional().describe('New social audio ID'),
|
|
98
|
+
backupSocialAudioId: zod_1.z.string().nullable().optional().describe('Fallback social audio ID, used once if the platform refuses the primary sound; null clears it'),
|
|
95
99
|
postTime: zod_1.z.string().optional().describe('New scheduled time (ISO 8601)'),
|
|
96
100
|
accountId: zod_1.z.string().optional().describe('Move post to different account'),
|
|
97
101
|
mediaUrls: zod_1.z.array(zod_1.z.string()).optional().describe('New media URLs'),
|
package/dist/types.d.ts
CHANGED