import type { Node, DefaultEdge } from '@vue-flow/core' export type CanvasConnectionPort = { node?: string type: string index: number required?: boolean maxConnections?: number label?: string [key: string]: any } export interface IWorkflowNode extends Node { data: { inputs: CanvasConnectionPort[] outputs: CanvasConnectionPort[] // 定义节点数据 [key: string]: any } } export type IWorkflowEdge = DefaultEdge<{ // 定义边数据 [key: string]: any }> export interface IWorkflow { id: string nodes: IWorkflowNode[] edges: IWorkflowEdge[] [key: string]: any } export interface XYPosition { x: number y: number }