package com.easyagents.agent.runtime.event;

/**
 * 智能体运行输出的运行时事件类型。
 */
public enum AgentRuntimeEventType {
    /**
     * 智能体运行已开始。
     */
    STARTED,

    /**
     * 流式推理内容，用于展示思考过程。
     */
    REASONING_DELTA,

    /**
     * 智能体开始一次模型推理。
     */
    REASONING_STARTED,

    /**
     * 智能体完成一次模型推理。
     */
    REASONING_COMPLETED,

    /**
     * 流式输出内容，用于流式展示聊天内容。
     */
    MESSAGE_DELTA,

    /**
     * 智能体发起工具调用。
     */
    TOOL_CALL,

    /**
     * 工具调用完成并返回结果。
     */
    TOOL_RESULT,

    /**
     * 异步工具已提交任务。
     */
    ASYNC_TOOL_SUBMITTED,

    /**
     * 异步工具已观察任务状态。
     */
    ASYNC_TOOL_OBSERVED,

    /**
     * 异步工具已读取任务结果。
     */
    ASYNC_TOOL_RESULT,

    /**
     * 异步工具已请求取消任务。
     */
    ASYNC_TOOL_CANCELLED,

    /**
     * 异步工具已查询任务列表。
     */
    ASYNC_TOOL_LISTED,

    /**
     * 异步工具执行失败。
     */
    ASYNC_TOOL_FAILED,

    /**
     * 知识库检索完成并返回文档摘要。
     */
    KNOWLEDGE_RETRIEVAL,

    /**
     * 自动上下文压缩已开始。
     */
    MEMORY_COMPRESSION_STARTED,

    /**
     * 自动上下文压缩已完成。
     */
    MEMORY_COMPRESSION_COMPLETED,

    /**
     * 工具执行前需要人工审批。
     */
    TOOL_APPROVAL_REQUIRED,

    /**
     * 智能体开始加载并调用 Skill。
     */
    SKILL_CALL,

    /**
     * Skill 内部执行步骤。
     */
    SKILL_STEP,

    /**
     * Skill 加载或调用完成。
     */
    SKILL_RESULT,

    /**
     * Skill 加载或调用失败。
     */
    SKILL_FAILED,

    /**
     * 智能体处理完成。
     */
    COMPLETED,

    /**
     * 智能体运行已暂停，等待外部输入后继续。
     */
    SUSPENDED,

    /**
     * 智能体运行失败。
     */
    FAILED,

    /**
     * 智能体运行被取消。
     */
    CANCELLED
}
