from sqlalchemy import Column, Integer, Text, BigInteger, String, SmallInteger, Boolean, TIMESTAMP from sqlalchemy.dialects.mysql import VARCHAR from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class AgentTaskDetail(Base): __tablename__ = "agent_task_detail" id = Column(BigInteger, primary_key=True, autoincrement=True, comment="主键id") agent_task_id = Column(BigInteger, nullable=False, comment="agent执行任务id") parent_execution_id = Column(BigInteger, nullable=False, comment="父级执行ID(用于构建调用树)") executor_type = Column(VARCHAR(32), nullable=True, comment="执行体类型(LLM/agent/tool)") status = Column(Integer, nullable=False, default=0, comment="执行状态(0-执行中 1-成功 2-失败)") input_data = Column(Text, nullable=True, comment="执行输入参数(结构化存储)") executor_name = Column(Text, nullable=True, comment="执行模型名/工具名/子Agent名") reasoning = Column(Text, nullable=True, comment="思考过程(仅适用于LLM步骤)") output_data = Column(Text, nullable=True, comment="当前执行体的原始输出") error_message = Column(Text, nullable=True, comment="错误详情(失败时记录)") create_time = Column(TIMESTAMP, nullable=False, server_default="CURRENT_TIMESTAMP", comment="创建时间") update_time = Column(TIMESTAMP, nullable=False, server_default="CURRENT_TIMESTAMP", onupdate="CURRENT_TIMESTAMP", comment="更新时间")