@liyown/flow-engine
Version:
一个基于JavaScript的无状态工作流引擎框架,支持可视化拖拽、DSL定义、断点继续、自动重试等高级功能
40 lines (39 loc) • 1.05 kB
TypeScript
import { ExecutionContextRuntime, SchemaDefinition } from "../types/index.js";
/**
* 节点处理器接口
*/
export type NodeHandler = (input: Record<string, any>, context: ExecutionContextRuntime) => Promise<any>;
/**
* 节点元数据接口
*/
export interface NodeMetadata {
name: string;
description?: string;
inputSchema: SchemaDefinition;
outputSchema: SchemaDefinition;
category?: string;
icon?: string;
displayName?: string;
examples?: Array<{
name: string;
input: Record<string, any>;
output?: Record<string, any>;
}>;
}
/**
* 基础节点类
* 所有具体的节点类都应该继承这个类
*/
export declare abstract class BaseNode {
abstract readonly name: string;
abstract readonly handler: NodeHandler;
abstract readonly metadata: NodeMetadata;
/**
* 执行节点处理器
*/
execute(input: Record<string, any>, context: ExecutionContextRuntime): Promise<any>;
/**
* 获取节点元数据
*/
getMetadata(): NodeMetadata;
}