ugcinc 3.20.0 → 3.22.0

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.
@@ -385,17 +385,15 @@ function getAllNodes() {
385
385
  },
386
386
  // === Terminal nodes ===
387
387
  {
388
- type: "post-video",
389
- label: "Post Video",
390
- description: "Publish a video post",
388
+ type: "auto-post",
389
+ label: "Auto Post",
390
+ description: "Publish a video or slideshow",
391
391
  category: "Output",
392
392
  nodeCategory: "terminal",
393
+ // Dynamic inputs based on autoPostConfig.mode:
394
+ // - video mode: video (required), account, caption, social-audio
395
+ // - slideshow mode: dynamic image inputs from config, account, caption, social-audio
393
396
  inputs: [
394
- {
395
- id: "video",
396
- type: "video",
397
- required: true,
398
- },
399
397
  {
400
398
  id: "account",
401
399
  type: "account",
@@ -411,42 +409,6 @@ function getAllNodes() {
411
409
  type: "social_audio",
412
410
  required: false,
413
411
  },
414
- {
415
- id: "post-date",
416
- type: "date",
417
- required: false,
418
- },
419
- ],
420
- outputs: [],
421
- },
422
- {
423
- type: "post-slideshow",
424
- label: "Post Slideshow",
425
- description: "Publish a slideshow post",
426
- category: "Output",
427
- nodeCategory: "terminal",
428
- // Dynamic inputs based on postSlideshowConfig.inputs
429
- inputs: [
430
- {
431
- id: "account",
432
- type: "account",
433
- required: true,
434
- },
435
- {
436
- id: "caption",
437
- type: "text",
438
- required: false,
439
- },
440
- {
441
- id: "social-audio",
442
- type: "social_audio",
443
- required: false,
444
- },
445
- {
446
- id: "post-date",
447
- type: "date",
448
- required: false,
449
- },
450
412
  ],
451
413
  outputs: [],
452
414
  },
package/dist/index.d.ts CHANGED
@@ -18,4 +18,4 @@ export { MediaClient } from './media';
18
18
  export { CommentsClient } from './comments';
19
19
  export type { RenderJobResponse, RenderJobStatus, SubmitImageRenderJobParams, SubmitVideoRenderJobParams, RenderVideoEditorConfig, } from './render';
20
20
  export type { ClientConfig, } from './base';
21
- export type { SuccessResponse, ErrorResponse, ApiResponse, Account, AccountStat, AccountTask, EditProfileInfo, Task, TaskType, Post, PostType, PostStatus, PostStat, ApiKey, EditorConfig, VideoEditorNodeConfig, VideoEditorChannel, VideoEditorSegment, VideoEditorVideoSegment, VideoEditorAudioSegment, VideoEditorImageSegment, VideoEditorTextSegment, TimeMode, SegmentTimelinePosition, ImageEditorNodeConfig, ImageEditorElement, ImageEditorNodeInput, ImageEditorNodeOutput, DimensionPresetKey, EditorChannel, TimeValue, BaseSegmentProps, VisualSegmentProps, EditorSegment, VideoSegment, AudioSegment, ImageSegment, TextSegment, StaticSegment, PositionAnchor, RelativePositionConfig, GetAccountsParams, GetAccountStatsParams, GetAccountStatusParams, UpdateAccountInfoParams, UpdateAccountSocialParams, GetTasksParams, GetPostsParams, CreateSlideshowParams, GetPostStatsParams, GetPostStatusParams, CreateVideoParams, RefreshStatsParams, RefreshStatsResponse, RefreshStatsError, DailyAggregatedStat, GetDailyAggregatedStatsParams, DailyPostStat, GetDailyPostStatsParams, TopAccount, GetTopAccountsParams, TopPost, GetTopPostsParams, MediaType, NodePort, NodeControlConfig, NodeTypeEnum, WorkflowNodeDefinition, WorkflowDefinition, CanvasState, TemplateNode, AutomationTemplate, AutomationRun, NodeRun, ExecutorNode, ExecutionEdge, OutputSchemaProperty, SelectionMode, ExhaustionBehavior, SelectionConfig, SelectionState, OutputMode, NodeOutputValues, OutputInput, OutputNodeConfig, ManualTriggerOutput, ManualTriggerNodeConfig, TriggerIterationMode, IterationExhaustionBehavior, CollectionSelectionMode, TriggerCollectionConfig, DayOfWeek, RecurrenceMediaOutput, RecurrenceMediaConfig, RecurrenceNodeConfig, AccountNodeConfig, MediaNodeEnabledType, RecurrenceMediaEnabledType, MediaNodeConfig, PostSchedulingMode, PostScheduledSubMode, PostSchedulingConfig, PostVideoNodeConfig, PostSlideshowInput, PostSlideshowNodeConfig, SaveToMediaInput, SaveToMediaNodeConfig, DeduplicateNodeConfig, ForEachOutputProperty, ForEachInputPort, ForEachNodeConfig, VideoImportPlatform, VideoImportQuality, VideoImportNodeConfig, AutoCaptionPreset, AutoCaptionFontWeight, AutoCaptionPosition, AutoCaptionNodeConfig, VideoGenerationNodeConfig, PortType, LLMOutputField, LLMNodeConfig, UserMedia, SocialAudio, Media, GetMediaParams, UploadMediaParams, UploadMediaResponse, UpdateMediaTagParams, DeleteMediaParams, DeleteMediaResponse, CreateSocialAudioParams, CreateMediaFromUrlParams, ImportTextParams, ImportTextResponse, Comment, CommentStatus, CreateCommentParams, CreateCommentResponse, GetCommentsParams, ValidationErrorType, ValidationError, ExportedNode, ExportedConnection, ExportedTemplate, AutomationExport, ExportedExecutor, ExportedEdge, ExportedRun, AutomationRunExport, } from './types';
21
+ export type { SuccessResponse, ErrorResponse, ApiResponse, Account, AccountStat, AccountTask, EditProfileInfo, Task, TaskType, Post, PostType, PostStatus, PostStat, ApiKey, EditorConfig, VideoEditorNodeConfig, VideoEditorChannel, VideoEditorSegment, VideoEditorVideoSegment, VideoEditorAudioSegment, VideoEditorImageSegment, VideoEditorTextSegment, TimeMode, SegmentTimelinePosition, ImageEditorNodeConfig, ImageEditorElement, ImageEditorNodeInput, ImageEditorNodeOutput, DimensionPresetKey, EditorChannel, TimeValue, BaseSegmentProps, VisualSegmentProps, EditorSegment, VideoSegment, AudioSegment, ImageSegment, TextSegment, StaticSegment, PositionAnchor, RelativePositionConfig, GetAccountsParams, GetAccountStatsParams, GetAccountStatusParams, UpdateAccountInfoParams, UpdateAccountSocialParams, GetTasksParams, GetPostsParams, CreateSlideshowParams, GetPostStatsParams, GetPostStatusParams, CreateVideoParams, RefreshStatsParams, RefreshStatsResponse, RefreshStatsError, DailyAggregatedStat, GetDailyAggregatedStatsParams, DailyPostStat, GetDailyPostStatsParams, TopAccount, GetTopAccountsParams, TopPost, GetTopPostsParams, MediaType, NodePort, NodeControlConfig, NodeTypeEnum, WorkflowNodeDefinition, WorkflowDefinition, CanvasState, TemplateNode, AutomationTemplate, AutomationRun, NodeRun, ExecutorNode, ExecutionEdge, OutputSchemaProperty, SelectionMode, ExhaustionBehavior, SelectionConfig, SelectionState, OutputMode, NodeOutputValues, OutputInput, OutputNodeConfig, ManualTriggerOutput, ManualTriggerNodeConfig, TriggerIterationMode, IterationExhaustionBehavior, CollectionSelectionMode, TriggerCollectionConfig, DayOfWeek, RecurrenceMediaOutput, RecurrenceMediaConfig, RecurrenceNodeConfig, AccountNodeConfig, MediaNodeEnabledType, RecurrenceMediaEnabledType, MediaNodeConfig, PostSchedulingMode, PostSchedulingConfig, AutoPostMode, AutoPostInput, AutoPostNodeConfig, SaveToMediaInput, SaveToMediaNodeConfig, DeduplicateNodeConfig, ForEachOutputProperty, ForEachInputPort, ForEachNodeConfig, VideoImportPlatform, VideoImportQuality, VideoImportNodeConfig, AutoCaptionPreset, AutoCaptionFontWeight, AutoCaptionPosition, AutoCaptionNodeConfig, VideoGenerationNodeConfig, PortType, LLMOutputField, LLMNodeConfig, UserMedia, SocialAudio, Media, GetMediaParams, UploadMediaParams, UploadMediaResponse, UpdateMediaTagParams, DeleteMediaParams, DeleteMediaResponse, CreateSocialAudioParams, CreateMediaFromUrlParams, ImportTextParams, ImportTextResponse, Comment, CommentStatus, CreateCommentParams, CreateCommentResponse, GetCommentsParams, ValidationErrorType, ValidationError, ExportedNode, ExportedConnection, ExportedTemplate, AutomationExport, ExportedExecutor, ExportedEdge, ExportedRun, AutomationRunExport, } from './types';
package/dist/types.d.ts CHANGED
@@ -96,7 +96,7 @@ export interface Task {
96
96
  * Post types
97
97
  */
98
98
  export type PostType = 'video' | 'slideshow';
99
- export type PostStatus = 'scheduled' | 'pending' | 'complete' | 'failed' | 'retrying' | 'deleting' | 'deleted' | 'hidden';
99
+ export type PostStatus = 'scheduled' | 'pending' | 'complete' | 'failed' | 'retrying' | 'deleting' | 'deleted' | 'hidden' | 'require-approval';
100
100
  export interface Post {
101
101
  id: string;
102
102
  account_id: string;
@@ -807,7 +807,7 @@ export interface NodePort {
807
807
  * - trigger: Nodes that start an automation (manual-trigger, recurrence)
808
808
  * - source: Nodes that provide input data (image, video, audio, social-audio, text, account)
809
809
  * - generator: Nodes that transform or generate content (image-template, video-template, image-generation, text-generation, sub-agent)
810
- * - terminal: Nodes that end an automation (output, post-video, post-slideshow, save-to-media)
810
+ * - terminal: Nodes that end an automation (output, auto-post, save-to-media)
811
811
  */
812
812
  export type NodeCategory = 'trigger' | 'source' | 'generator' | 'terminal';
813
813
  export interface NodeControlConfig {
@@ -833,7 +833,7 @@ export interface NodeControlConfig {
833
833
  */
834
834
  isInitializer?: boolean;
835
835
  }
836
- export type NodeTypeEnum = 'social-audio' | 'text' | 'media' | 'video-import' | 'image-template' | 'video-template' | 'image-generation' | 'video-generation' | 'custom-model' | 'text-generation' | 'output' | 'manual-trigger' | 'recurrence' | 'sub-agent' | 'account' | 'post-video' | 'post-slideshow' | 'save-to-media' | 'deduplicate' | 'for-each' | 'transcript' | 'auto-caption';
836
+ export type NodeTypeEnum = 'social-audio' | 'text' | 'media' | 'video-import' | 'image-template' | 'video-template' | 'image-generation' | 'video-generation' | 'custom-model' | 'text-generation' | 'output' | 'manual-trigger' | 'recurrence' | 'sub-agent' | 'account' | 'auto-post' | 'save-to-media' | 'deduplicate' | 'for-each' | 'transcript' | 'auto-caption';
837
837
  export interface OutputSchemaProperty {
838
838
  type: 'string' | 'number' | 'boolean' | 'array' | 'object';
839
839
  items?: 'string' | 'number' | 'boolean';
@@ -939,8 +939,7 @@ export interface WorkflowNodeDefinition {
939
939
  outputConfig?: OutputNodeConfig;
940
940
  accountConfig?: AccountNodeConfig;
941
941
  mediaConfig?: MediaNodeConfig;
942
- postVideoConfig?: PostVideoNodeConfig;
943
- postSlideshowConfig?: PostSlideshowNodeConfig;
942
+ autoPostConfig?: AutoPostNodeConfig;
944
943
  saveToMediaConfig?: SaveToMediaNodeConfig;
945
944
  deduplicateConfig?: DeduplicateNodeConfig;
946
945
  videoImportConfig?: VideoImportNodeConfig;
@@ -1105,24 +1104,16 @@ export interface MediaNodeConfig {
1105
1104
  }
1106
1105
  /**
1107
1106
  * Scheduling mode for post nodes
1108
- * - 'scheduled': Post at a specific time (immediately or at a connected date)
1107
+ * - 'scheduled': Post immediately when automation runs
1109
1108
  * - 'queue': Automatically schedule based on queue constraints
1110
1109
  */
1111
1110
  export type PostSchedulingMode = 'scheduled' | 'queue';
1112
- /**
1113
- * Sub-mode for scheduled posting
1114
- * - 'immediately': Posts when automation runs (no date input needed)
1115
- * - 'specific-time': Requires a date input connection
1116
- */
1117
- export type PostScheduledSubMode = 'immediately' | 'specific-time';
1118
1111
  /**
1119
1112
  * Post scheduling configuration for post nodes
1120
1113
  */
1121
1114
  export interface PostSchedulingConfig {
1122
- /** Main scheduling mode */
1115
+ /** Main scheduling mode ('scheduled' = post now, 'queue' = auto-schedule) */
1123
1116
  mode: PostSchedulingMode;
1124
- /** Sub-mode when mode is 'scheduled' */
1125
- scheduledSubMode?: PostScheduledSubMode;
1126
1117
  /** Minimum hours between posts for this account (min 1) */
1127
1118
  minDistanceHours?: number;
1128
1119
  /** Maximum posts per day for this account (min 1) */
@@ -1133,27 +1124,28 @@ export interface PostSchedulingConfig {
1133
1124
  randomWindowEnd?: string;
1134
1125
  /** Timezone for time window (IANA timezone, e.g., 'America/New_York') */
1135
1126
  timezone?: string;
1127
+ /** If true, post will be created with 'require-approval' status instead of being posted */
1128
+ requireApproval?: boolean;
1136
1129
  }
1137
1130
  /**
1138
- * Post Video node configuration - posts a video to social media
1131
+ * Auto Post mode - video or slideshow
1139
1132
  */
1140
- export interface PostVideoNodeConfig {
1141
- /** Scheduling configuration */
1142
- scheduling?: PostSchedulingConfig;
1143
- }
1133
+ export type AutoPostMode = 'video' | 'slideshow';
1144
1134
  /**
1145
- * Post Slideshow input definition
1135
+ * Auto Post input definition (for slideshow mode)
1146
1136
  */
1147
- export interface PostSlideshowInput {
1137
+ export interface AutoPostInput {
1148
1138
  id: string;
1149
1139
  title: string;
1150
1140
  }
1151
1141
  /**
1152
- * Post Slideshow node configuration - posts a slideshow to social media
1142
+ * Auto Post node configuration - posts a video or slideshow to social media
1153
1143
  */
1154
- export interface PostSlideshowNodeConfig {
1155
- /** Dynamic image inputs */
1156
- inputs: PostSlideshowInput[];
1144
+ export interface AutoPostNodeConfig {
1145
+ /** Post mode - video or slideshow */
1146
+ mode: AutoPostMode;
1147
+ /** Dynamic image inputs (only used in slideshow mode) */
1148
+ inputs?: AutoPostInput[];
1157
1149
  /** Scheduling configuration */
1158
1150
  scheduling?: PostSchedulingConfig;
1159
1151
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugcinc",
3
- "version": "3.20.0",
3
+ "version": "3.22.0",
4
4
  "description": "TypeScript/JavaScript client for the UGC Inc API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",