UNPKG

@difizen/ai-flow

Version:

Scalable, out-of-the-box, agent-oriented flow

58 lines (57 loc) 2.16 kB
import { ControlMode, type NodePanelType } from "../interfaces/flow"; import type { Connection, Edge, Node, OnEdgesChange, OnNodesChange, ReactFlowInstance, Viewport } from '@xyflow/react'; export interface FlowStoreType { nodes: Node[]; edges: Edge[]; initFlow: (graph: { nodes: Node[]; edges: Edge[]; }) => { nodes: Node[]; edges: Edge[]; }; onEdgesChange: OnEdgesChange; onNodesChange: OnNodesChange; reactFlowInstance: ReactFlowInstance | null; setReactFlowInstance: (newState: ReactFlowInstance) => void; setNodes: (update: Node[] | ((oldState: Node[]) => Node[]), skipSave?: boolean) => void; setEdges: (update: Edge[] | ((oldState: Edge[]) => Edge[]), skipSave?: boolean) => void; setNode: (id: string, update: Node | ((oldState: Node) => Node)) => void; getNode: (id: string) => Node | undefined; setEdge: (id: string, update: Edge | ((oldState: Edge) => Edge)) => void; deleteNode: (nodeId: string | Array<string>) => void; deleteEdge: (edgeId: string | Array<string>) => void; onConnect: (connection: Connection) => void; getFlow: () => { nodes: Node[]; edges: Edge[]; viewport: Viewport; }; paste: (selection: { nodes: Node[]; edges: Edge[]; }, position: { x: number; y: number; paneX?: number; paneY?: number; }) => void; findUpstreamNodes: (id: string) => Node[]; lastCopiedSelection: { nodes: any; edges: any; } | null; setLastCopiedSelection: (newSelection: { nodes: any; edges: any; } | null, isCrop?: boolean) => void; setNodeFolded: (id: string, folded: boolean) => void; nodeLinkMap: Record<string, Node[]>; calculateNodeLinkMap: () => void; nodePanel: NodePanelType; setNodePanel: (panel: NodePanelType) => void; controlMode: ControlMode; setControlMode: (mode: ControlMode) => void; handleNodeEdited: (nodeId: string, cancelEdited?: boolean) => void; } export declare const useFlowStore: import("zustand").UseBoundStore<import("zustand").StoreApi<FlowStoreType>>;