ugcinc 3.28.0 → 3.30.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,14 +385,42 @@ function getAllNodes() {
385
385
  },
386
386
  // === Terminal nodes ===
387
387
  {
388
- type: "auto-post",
389
- label: "Auto Post",
390
- description: "Publish a video or slideshow",
388
+ type: "post-video",
389
+ label: "Post Video",
390
+ description: "Publish a video post",
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
+ inputs: [
394
+ {
395
+ id: "video",
396
+ type: "video",
397
+ required: true,
398
+ },
399
+ {
400
+ id: "account",
401
+ type: "account",
402
+ required: true,
403
+ },
404
+ {
405
+ id: "caption",
406
+ type: "text",
407
+ required: false,
408
+ },
409
+ {
410
+ id: "social-audio",
411
+ type: "social_audio",
412
+ required: false,
413
+ },
414
+ ],
415
+ outputs: [],
416
+ },
417
+ {
418
+ type: "post-slideshow",
419
+ label: "Post Slideshow",
420
+ description: "Publish a slideshow post",
421
+ category: "Output",
422
+ nodeCategory: "terminal",
423
+ // Dynamic inputs based on postSlideshowConfig.inputs
396
424
  inputs: [
397
425
  {
398
426
  id: "account",
@@ -424,8 +452,8 @@ function getAllNodes() {
424
452
  },
425
453
  {
426
454
  type: "output",
427
- label: "Pass-Through",
428
- description: "Pass data to parent workflow",
455
+ label: "Output",
456
+ description: "Pass through outputs",
429
457
  category: "Output",
430
458
  nodeCategory: "terminal",
431
459
  inputs: [
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, PostSchedulingConfig, AutoPostMode, AutoPostInputType, 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';
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, 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';
package/dist/types.d.ts CHANGED
@@ -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, auto-post, save-to-media)
810
+ * - terminal: Nodes that end an automation (output, post-video, post-slideshow, 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' | 'auto-post' | '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' | 'post-video' | 'post-slideshow' | '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,7 +939,8 @@ export interface WorkflowNodeDefinition {
939
939
  outputConfig?: OutputNodeConfig;
940
940
  accountConfig?: AccountNodeConfig;
941
941
  mediaConfig?: MediaNodeConfig;
942
- autoPostConfig?: AutoPostNodeConfig;
942
+ postVideoConfig?: PostVideoNodeConfig;
943
+ postSlideshowConfig?: PostSlideshowNodeConfig;
943
944
  saveToMediaConfig?: SaveToMediaNodeConfig;
944
945
  deduplicateConfig?: DeduplicateNodeConfig;
945
946
  videoImportConfig?: VideoImportNodeConfig;
@@ -963,6 +964,10 @@ export interface OutputNodeConfig {
963
964
  export interface ManualTriggerOutput {
964
965
  id: string;
965
966
  type: 'image' | 'video' | 'audio' | 'text' | 'social_audio' | 'account';
967
+ /** Whether this variable is optional (default: false = required) */
968
+ optional?: boolean;
969
+ /** Default value when optional and not provided at runtime */
970
+ defaultValue?: string;
966
971
  }
967
972
  /**
968
973
  * Iteration mode for trigger nodes with account iteration
@@ -1001,6 +1006,8 @@ export interface TriggerCollectionConfig {
1001
1006
  */
1002
1007
  export interface ManualTriggerNodeConfig {
1003
1008
  outputs: ManualTriggerOutput[];
1009
+ /** Optional collection input for iterating over multiple elements */
1010
+ collectionInput?: TriggerCollectionConfig;
1004
1011
  }
1005
1012
  /**
1006
1013
  * Days of the week for recurrence scheduling
@@ -1045,6 +1052,10 @@ export interface RecurrenceNodeConfig {
1045
1052
  randomWindowStart: string;
1046
1053
  randomWindowEnd: string;
1047
1054
  timezone: string;
1055
+ /** Maximum number of runs before stopping (null = unlimited) */
1056
+ maxRuns?: number | null;
1057
+ /** End date for the recurrence in ISO format (YYYY-MM-DD) - if set, runs until this date */
1058
+ endDate?: string;
1048
1059
  /** Optional collection input for iterating over multiple accounts */
1049
1060
  collectionInput?: TriggerCollectionConfig;
1050
1061
  /** Optional media input for providing media to downstream nodes */
@@ -1118,40 +1129,27 @@ export interface PostSchedulingConfig {
1118
1129
  requireApproval?: boolean;
1119
1130
  }
1120
1131
  /**
1121
- * Auto Post mode - video or slideshow
1132
+ * Post Video node configuration - posts a video to social media
1122
1133
  */
1123
- export type AutoPostMode = 'video' | 'slideshow';
1124
- /**
1125
- * Auto Post input type for slideshow mode
1126
- * - 'static': Individual image input ports (image1, image2, etc.)
1127
- * - 'variable': Single 'images' port accepting an array
1128
- */
1129
- export type AutoPostInputType = 'static' | 'variable';
1134
+ export interface PostVideoNodeConfig {
1135
+ /** Scheduling configuration */
1136
+ scheduling?: PostSchedulingConfig;
1137
+ }
1130
1138
  /**
1131
- * Auto Post input definition (for slideshow static mode)
1139
+ * Post Slideshow input definition
1132
1140
  */
1133
- export interface AutoPostInput {
1141
+ export interface PostSlideshowInput {
1134
1142
  id: string;
1143
+ title: string;
1135
1144
  }
1136
1145
  /**
1137
- * Auto Post node configuration - posts a video or slideshow to social media
1146
+ * Post Slideshow node configuration - posts a slideshow to social media
1138
1147
  */
1139
- export interface AutoPostNodeConfig {
1140
- /** Post mode - video or slideshow */
1141
- mode: AutoPostMode;
1142
- /** Input type for slideshow mode (defaults to 'static') */
1143
- inputType?: AutoPostInputType;
1144
- /** Dynamic image inputs (only used in slideshow mode with inputType='static') */
1145
- inputs?: AutoPostInput[];
1148
+ export interface PostSlideshowNodeConfig {
1149
+ /** Dynamic image inputs */
1150
+ inputs: PostSlideshowInput[];
1146
1151
  /** Scheduling configuration */
1147
1152
  scheduling?: PostSchedulingConfig;
1148
- /** Social audio configuration */
1149
- socialAudio?: {
1150
- /** If true, read from input port; if false, use selectedIds */
1151
- isVariable: boolean;
1152
- /** Selected social audio IDs (when isVariable is false) - one is randomly chosen when posting */
1153
- selectedIds?: string[];
1154
- };
1155
1153
  }
1156
1154
  /**
1157
1155
  * Save To Media node input definition
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugcinc",
3
- "version": "3.28.0",
3
+ "version": "3.30.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",