package com.agent.management.engine;

import com.fasterxml.jackson.databind.JsonNode;

/**
 * 节点执行器接口
 */
public interface NodeExecutor {

    /**
     * 返回此执行器处理的节点类型
     */
    String getType();

    /**
     * 执行节点逻辑
     *
     * @param nodeId    节点 ID
     * @param data      节点 data 字段（来自 graphData）
     * @param context   工作流执行上下文
     * @param workspace 当前节点工作区（仅包含可达前驱变量与解析后的输入）
     * @return 执行结果
     */
    NodeExecutionResult execute(String nodeId, JsonNode data, WorkflowContext context, NodeWorkspace workspace);
}
