ugcinc 4.1.21 → 4.1.22
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.
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ObjectSchemaField } from './types';
|
|
2
2
|
export interface BranchDefinition {
|
|
3
3
|
key: string;
|
|
4
4
|
}
|
|
5
5
|
export interface BranchValueConfig {
|
|
6
|
-
|
|
6
|
+
isVariable?: boolean;
|
|
7
7
|
value?: unknown;
|
|
8
8
|
selectedMediaIds?: string[];
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
10
|
+
export interface BranchPassthroughInput {
|
|
11
11
|
id: string;
|
|
12
12
|
type: string;
|
|
13
13
|
isArray?: boolean;
|
|
14
14
|
branchValues?: Record<string, BranchValueConfig>;
|
|
15
|
+
objectSchema?: ObjectSchemaField[];
|
|
15
16
|
}
|
|
17
|
+
/** @deprecated Use BranchPassthroughInput instead */
|
|
18
|
+
export type PassthroughInput = BranchPassthroughInput;
|
|
16
19
|
declare const definition: import("./types").NodeDefinition<"generator", {
|
|
17
20
|
branches: BranchDefinition[];
|
|
18
|
-
passthroughInputs:
|
|
21
|
+
passthroughInputs: BranchPassthroughInput[];
|
|
19
22
|
defaultBranchKey: string;
|
|
20
23
|
outputMode: "per-input";
|
|
21
24
|
selectionMode: null;
|
|
@@ -19,7 +19,7 @@ const definition = (0, types_1.defineNode)({
|
|
|
19
19
|
outputMode: 'per-input',
|
|
20
20
|
selectionMode: null,
|
|
21
21
|
},
|
|
22
|
-
computePorts: ({ config }) => {
|
|
22
|
+
computePorts: ({ config, getConnectedOutput }) => {
|
|
23
23
|
const branches = config?.branches ?? [];
|
|
24
24
|
const passthroughInputs = config?.passthroughInputs ?? [];
|
|
25
25
|
const inputs = [];
|
|
@@ -28,18 +28,39 @@ const definition = (0, types_1.defineNode)({
|
|
|
28
28
|
for (const passthrough of passthroughInputs) {
|
|
29
29
|
const pType = passthrough.type;
|
|
30
30
|
const pIsArray = passthrough.isArray ?? false;
|
|
31
|
+
// Track input port IDs for this passthrough to check for connected schemas
|
|
32
|
+
const variableInputPortIds = [];
|
|
31
33
|
for (const branch of branches) {
|
|
32
34
|
const branchValue = passthrough.branchValues?.[branch.key];
|
|
33
|
-
if (branchValue?.
|
|
35
|
+
if (branchValue?.isVariable) {
|
|
36
|
+
const inputPortId = `${branch.key}-${passthrough.id}`;
|
|
37
|
+
variableInputPortIds.push(inputPortId);
|
|
34
38
|
inputs.push({
|
|
35
|
-
id:
|
|
39
|
+
id: inputPortId,
|
|
36
40
|
type: pType,
|
|
37
41
|
isArray: pIsArray,
|
|
38
42
|
required: true,
|
|
39
43
|
});
|
|
40
44
|
}
|
|
41
45
|
}
|
|
42
|
-
|
|
46
|
+
// Get objectSchema from connected input (if any) to propagate to output
|
|
47
|
+
let objectSchema = passthrough.objectSchema;
|
|
48
|
+
if (getConnectedOutput && !objectSchema) {
|
|
49
|
+
for (const inputPortId of variableInputPortIds) {
|
|
50
|
+
const connectedOutput = getConnectedOutput(inputPortId);
|
|
51
|
+
if (connectedOutput?.objectSchema) {
|
|
52
|
+
objectSchema = connectedOutput.objectSchema;
|
|
53
|
+
break; // Use the first connected schema found
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
outputs.push({
|
|
58
|
+
id: passthrough.id,
|
|
59
|
+
type: pType,
|
|
60
|
+
isArray: pIsArray,
|
|
61
|
+
required: true,
|
|
62
|
+
objectSchema,
|
|
63
|
+
});
|
|
43
64
|
}
|
|
44
65
|
return { inputs, outputs };
|
|
45
66
|
},
|
|
@@ -49,7 +49,7 @@ export declare const nodeDefinitions: {
|
|
|
49
49
|
}, false>;
|
|
50
50
|
readonly branch: NodeDefinition<"generator", {
|
|
51
51
|
branches: import("./branch").BranchDefinition[];
|
|
52
|
-
passthroughInputs: import("./branch").
|
|
52
|
+
passthroughInputs: import("./branch").BranchPassthroughInput[];
|
|
53
53
|
defaultBranchKey: string;
|
|
54
54
|
outputMode: "per-input";
|
|
55
55
|
selectionMode: null;
|
package/dist/index.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export { prepareImageComposerInput } from './automations/nodes/image-composer';
|
|
|
36
36
|
export type { AccountNodeConfig } from './automations/nodes/account';
|
|
37
37
|
export type { AutoCaptionNodeConfig, AutoCaptionPreset, AutoCaptionFontWeight, AutoCaptionPosition, } from './automations/nodes/auto-caption';
|
|
38
38
|
export type { AutoPostNodeConfig, AutoPostMode, PostSchedulingMode, } from './automations/nodes/auto-post';
|
|
39
|
-
export type { BranchNodeConfig, BranchDefinition, PassthroughInput, } from './automations/nodes/branch';
|
|
39
|
+
export type { BranchNodeConfig, BranchDefinition, BranchPassthroughInput, BranchValueConfig, PassthroughInput, } from './automations/nodes/branch';
|
|
40
40
|
export type { CollectNodeConfig } from './automations/nodes/collect';
|
|
41
41
|
export type { ComposeWorkflowNodeConfig } from './automations/nodes/compose-workflow';
|
|
42
42
|
export type { CreateDmNodeConfig, CreateDmMessage, DmPlatform, } from './automations/nodes/create-dm';
|