package com.yaoai.agent.service;

import com.yaoai.agent.dto.AgentRunCommand;
import com.yaoai.domain.entity.GraphRun;
import com.yaoai.domain.entity.GraphStep;

import java.util.List;

public interface AgentRunService {

    /** 创建并异步启动一个 Agent 制作流程 */
    GraphRun startRun(Long projectId, Long tenantId, String goal);

    /** 创建并异步启动一个带运行意图的 Agent 制作流程 */
    GraphRun startRun(Long projectId, Long tenantId, AgentRunCommand command);

    GraphRun getRun(Long runId, Long tenantId);

    /** 获取项目最新的 run */
    GraphRun getLatestRun(Long projectId, Long tenantId);

    List<GraphStep> getSteps(Long runId, Long tenantId);

    /** 暂停（仅标记，下一个步骤开始前检查） */
    void pauseRun(Long runId, Long tenantId);

    /** 继续（恢复标记，下一步正常执行） */
    void resumeRun(Long runId, Long tenantId);
}
