ugcinc 3.41.0 → 3.43.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.
@@ -503,7 +503,7 @@ function getAllNodes() {
503
503
  },
504
504
  {
505
505
  type: "random",
506
- label: "Random",
506
+ label: "Random Select",
507
507
  description: "Randomly select from an array or weighted inputs",
508
508
  category: "Control Flow",
509
509
  nodeCategory: "generator",
@@ -516,6 +516,33 @@ function getAllNodes() {
516
516
  // - index (if randomConfig.exposeIndex is true, array mode only)
517
517
  outputs: [],
518
518
  },
519
+ {
520
+ type: "if",
521
+ label: "If",
522
+ description: "Conditional branching based on boolean logic",
523
+ category: "Control Flow",
524
+ nodeCategory: "generator",
525
+ // Dynamic inputs based on ifConfig:
526
+ // - Boolean inputs from ifConfig.booleanInputs (type: boolean)
527
+ // - Passthrough inputs from ifConfig.passthroughInputs (various types)
528
+ inputs: [],
529
+ // Dynamic outputs: for each passthrough input, creates:
530
+ // - true-{id} (same type as input, receives value when condition is true)
531
+ // - false-{id} (same type as input, receives value when condition is false)
532
+ outputs: [],
533
+ },
534
+ {
535
+ type: "random-route",
536
+ label: "Random Route",
537
+ description: "Route inputs to a random output branch",
538
+ category: "Control Flow",
539
+ nodeCategory: "generator",
540
+ // Dynamic inputs based on randomRouteConfig.passthroughInputs (various types)
541
+ inputs: [],
542
+ // Dynamic outputs: for each passthrough input and branch, creates:
543
+ // - {branch-id}-{passthrough-id} (same type as input)
544
+ outputs: [],
545
+ },
519
546
  // === Terminal nodes ===
520
547
  {
521
548
  type: "auto-post",
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, SubmitScreenshotAnimationRenderJobParams, 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, ResolvedPorts, 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, MediaNodeOutput, MediaNodeConfig, PostSchedulingMode, PostSchedulingConfig, AutoPostMode, AutoPostInputType, AutoPostInput, AutoPostNodeConfig, SaveToMediaInput, SaveToMediaNodeConfig, DeduplicateNodeConfig, ForEachOutputProperty, ForEachInputPort, ForEachNodeConfig, RandomValueType, RandomInputPort, RandomNodeMode, RandomNodeConfig, IfLogicOperator, IfBooleanInput, IfPassthroughInput, IfNodeConfig, VideoImportPlatform, VideoImportQuality, VideoImportNodeConfig, AutoCaptionPreset, AutoCaptionFontWeight, AutoCaptionPosition, AutoCaptionNodeConfig, ScreenshotAnimationNodeConfig, VideoGenerationNodeConfig, ArrayType, PortType, LLMOutputField, LLMNodeConfig, UserMedia, SocialAudio, Media, GetMediaParams, CreateSocialAudioParams, UploadMediaParams, UploadMediaResponse, UpdateMediaTagParams, DeleteMediaParams, DeleteMediaResponse, 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, ResolvedPorts, 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, MediaNodeOutput, MediaNodeConfig, PostSchedulingMode, PostSchedulingConfig, AutoPostMode, AutoPostInputType, AutoPostInput, AutoPostNodeConfig, SaveToMediaInput, SaveToMediaNodeConfig, DeduplicateNodeConfig, ForEachOutputProperty, ForEachInputPort, ForEachNodeConfig, RandomValueType, RandomInputPort, RandomNodeMode, RandomNodeConfig, IfLogicOperator, IfBooleanInput, IfPassthroughInput, IfNodeConfig, RandomRouteBranch, RandomRoutePassthroughInput, RandomRouteNodeConfig, VideoImportPlatform, VideoImportQuality, VideoImportNodeConfig, AutoCaptionPreset, AutoCaptionFontWeight, AutoCaptionPosition, AutoCaptionNodeConfig, ScreenshotAnimationNodeConfig, VideoGenerationNodeConfig, ArrayType, PortType, LLMOutputField, LLMNodeConfig, UserMedia, SocialAudio, Media, GetMediaParams, CreateSocialAudioParams, UploadMediaParams, UploadMediaResponse, UpdateMediaTagParams, DeleteMediaParams, DeleteMediaResponse, 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
@@ -846,7 +846,7 @@ export interface NodeControlConfig {
846
846
  */
847
847
  isInitializer?: boolean;
848
848
  }
849
- export type NodeTypeEnum = 'social-audio' | 'text' | 'media' | 'video-import' | 'image-composer' | 'video-composer' | 'generate-image' | 'generate-video' | 'custom-model' | 'llm' | 'output' | 'manual-trigger' | 'recurrence' | 'compose-workflow' | 'account' | 'auto-post' | 'save-to-media' | 'deduplicate' | 'for-each' | 'random' | 'transcript' | 'auto-caption' | 'screenshot-animation';
849
+ export type NodeTypeEnum = 'social-audio' | 'text' | 'media' | 'video-import' | 'image-composer' | 'video-composer' | 'generate-image' | 'generate-video' | 'custom-model' | 'llm' | 'output' | 'manual-trigger' | 'recurrence' | 'compose-workflow' | 'account' | 'auto-post' | 'save-to-media' | 'deduplicate' | 'for-each' | 'random' | 'random-route' | 'if' | 'transcript' | 'auto-caption' | 'screenshot-animation';
850
850
  export interface OutputSchemaProperty {
851
851
  type: 'string' | 'number' | 'boolean' | 'array' | 'object';
852
852
  items?: 'string' | 'number' | 'boolean';
@@ -963,6 +963,7 @@ export interface WorkflowNodeDefinition {
963
963
  forEachConfig?: ForEachNodeConfig;
964
964
  randomConfig?: RandomNodeConfig;
965
965
  ifConfig?: IfNodeConfig;
966
+ randomRouteConfig?: RandomRouteNodeConfig;
966
967
  autoCaptionConfig?: AutoCaptionNodeConfig;
967
968
  screenshotAnimationConfig?: ScreenshotAnimationNodeConfig;
968
969
  };
@@ -1310,6 +1311,35 @@ export interface IfNodeConfig {
1310
1311
  /** Passthrough inputs that get routed to true/false outputs (at least one required) */
1311
1312
  passthroughInputs: IfPassthroughInput[];
1312
1313
  }
1314
+ /**
1315
+ * Random Route branch definition
1316
+ */
1317
+ export interface RandomRouteBranch {
1318
+ /** Unique ID for this branch (e.g., "branch-1") */
1319
+ id: string;
1320
+ /** Probability weight (0-100, all branches must sum to 100) */
1321
+ probability: number;
1322
+ }
1323
+ /**
1324
+ * Random Route passthrough input definition
1325
+ */
1326
+ export interface RandomRoutePassthroughInput {
1327
+ /** The input port ID (lowercase, hyphens/underscores only) */
1328
+ id: string;
1329
+ /** The value type */
1330
+ type: 'image' | 'video' | 'audio' | 'text' | 'number' | 'boolean' | 'account' | 'object';
1331
+ /** Whether this is an array type */
1332
+ isArray?: boolean;
1333
+ }
1334
+ /**
1335
+ * Random Route node configuration - routes inputs to a random output branch based on probability
1336
+ */
1337
+ export interface RandomRouteNodeConfig {
1338
+ /** Output branches with probability weights (must sum to 100) */
1339
+ branches: RandomRouteBranch[];
1340
+ /** Passthrough inputs that get routed to one branch's outputs */
1341
+ passthroughInputs: RandomRoutePassthroughInput[];
1342
+ }
1313
1343
  /**
1314
1344
  * Supported platforms for video import
1315
1345
  * Note: YouTube is not yet implemented
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugcinc",
3
- "version": "3.41.0",
3
+ "version": "3.43.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",