diff --git a/src/schemas/nodeDef/nodeDefSchemaV2.ts b/src/schemas/nodeDef/nodeDefSchemaV2.ts index 4743164a1..1537eb81e 100644 --- a/src/schemas/nodeDef/nodeDefSchemaV2.ts +++ b/src/schemas/nodeDef/nodeDefSchemaV2.ts @@ -132,7 +132,7 @@ const zCustomInputSpec = zBaseInputOptions.extend({ isOptional: z.boolean().optional() }) -const zInputSpec = z.union([ +export const zInputSpec = z.union([ zIntInputSpec, zFloatInputSpec, zBooleanInputSpec, diff --git a/src/services/litegraphService.ts b/src/services/litegraphService.ts index 18d281973..1526ef490 100644 --- a/src/services/litegraphService.ts +++ b/src/services/litegraphService.ts @@ -36,6 +36,7 @@ import type { NodeId } from '@/platform/workflow/validation/schemas/workflowSche import { useCanvasStore } from '@/renderer/core/canvas/canvasStore' import { useDialogService } from '@/services/dialogService' import { transformInputSpecV2ToV1 } from '@/schemas/nodeDef/migration' +import { zInputSpec } from '@/schemas/nodeDef/nodeDefSchemaV2' import type { ComfyNodeDef as ComfyNodeDefV2, InputSpec, @@ -465,6 +466,8 @@ export const useLitegraphService = () => { : output } ) + const maybeDef = zInputSpec.safeParse(data.properties?.dynamicSpec).data + if (maybeDef) addNodeInput(this, maybeDef) data.widgets_values = migrateWidgetsValues( ComfyNode.nodeData.inputs,