ugcinc 4.5.90 → 4.5.92
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/README.md
CHANGED
|
@@ -846,10 +846,52 @@ function validateWorkflow({ nodes, }) {
|
|
|
846
846
|
}
|
|
847
847
|
}
|
|
848
848
|
}
|
|
849
|
-
// 7. Check for
|
|
849
|
+
// 7. Check for duplicate port names across input nodes
|
|
850
|
+
const inputPortSeen = new Map(); // portName -> first nodeId
|
|
851
|
+
for (const node of nodes) {
|
|
852
|
+
if (node.type !== 'input')
|
|
853
|
+
continue;
|
|
854
|
+
const outputs = node.config.outputs ?? [];
|
|
855
|
+
for (const output of outputs) {
|
|
856
|
+
const existing = inputPortSeen.get(output.id);
|
|
857
|
+
if (existing) {
|
|
858
|
+
errors.push({
|
|
859
|
+
type: 'duplicate_port_name',
|
|
860
|
+
nodeId: node.id,
|
|
861
|
+
portId: output.id,
|
|
862
|
+
message: `Duplicate input port name '${output.id}' — each input port must have a unique name across all input nodes`,
|
|
863
|
+
});
|
|
864
|
+
}
|
|
865
|
+
else {
|
|
866
|
+
inputPortSeen.set(output.id, node.id);
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
}
|
|
870
|
+
// 8. Check for duplicate port names across output (passthrough) nodes
|
|
871
|
+
const outputPortSeen = new Map(); // portName -> first nodeId
|
|
872
|
+
for (const node of nodes) {
|
|
873
|
+
if (node.type !== 'passthrough')
|
|
874
|
+
continue;
|
|
875
|
+
const inputs = node.config.inputs ?? [];
|
|
876
|
+
for (const input of inputs) {
|
|
877
|
+
const existing = outputPortSeen.get(input.id);
|
|
878
|
+
if (existing) {
|
|
879
|
+
errors.push({
|
|
880
|
+
type: 'duplicate_port_name',
|
|
881
|
+
nodeId: node.id,
|
|
882
|
+
portId: input.id,
|
|
883
|
+
message: `Duplicate output port name '${input.id}' — each output port must have a unique name across all output nodes`,
|
|
884
|
+
});
|
|
885
|
+
}
|
|
886
|
+
else {
|
|
887
|
+
outputPortSeen.set(input.id, node.id);
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
// 9. Check for circular dependencies
|
|
850
892
|
const circularErrors = detectCircularDependencies(nodes);
|
|
851
893
|
errors.push(...circularErrors);
|
|
852
|
-
//
|
|
894
|
+
// 10. Check for for-each context boundary violations
|
|
853
895
|
const boundaryErrors = validateForEachContextBoundaries(nodes);
|
|
854
896
|
errors.push(...boundaryErrors);
|
|
855
897
|
return errors;
|
|
@@ -538,7 +538,7 @@ export declare function isAsyncExecutor(executor: AnyNodeExecutor | AnyAsyncNode
|
|
|
538
538
|
/**
|
|
539
539
|
* Validation error types for automation workflows
|
|
540
540
|
*/
|
|
541
|
-
export type ValidationErrorType = 'missing_trigger' | 'missing_terminal' | 'missing_required_input' | 'type_mismatch' | 'empty_media_pool' | 'empty_account_pool' | 'circular_dependency' | 'for_each_boundary_violation' | 'invalid_node_config';
|
|
541
|
+
export type ValidationErrorType = 'missing_trigger' | 'missing_terminal' | 'missing_required_input' | 'type_mismatch' | 'empty_media_pool' | 'empty_account_pool' | 'circular_dependency' | 'for_each_boundary_violation' | 'invalid_node_config' | 'duplicate_port_name';
|
|
542
542
|
/**
|
|
543
543
|
* Structured validation error with location info for UI highlighting
|
|
544
544
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugcinc",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.92",
|
|
4
4
|
"description": "TypeScript/JavaScript client for the UGC Inc API",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -31,9 +31,14 @@
|
|
|
31
31
|
"ugcinc",
|
|
32
32
|
"api",
|
|
33
33
|
"client",
|
|
34
|
+
"ugc",
|
|
34
35
|
"tiktok",
|
|
36
|
+
"instagram",
|
|
37
|
+
"clawbot",
|
|
35
38
|
"automation",
|
|
39
|
+
"social-automation",
|
|
36
40
|
"social-media",
|
|
41
|
+
"social-publishing",
|
|
37
42
|
"content-management",
|
|
38
43
|
"video-rendering"
|
|
39
44
|
],
|