"""会话及对话轮次,用于多轮上下文和后续持久化""" from datetime import datetime from typing import Literal from pydantic import BaseModel class Turn(BaseModel): """一次任务对应一轮对话,同一个 thread_id 多次写入时覆盖同一轮""" conversation_id: str thread_id: str message_id: str prompt: str # 用户原始输入 outcome: Literal["completed", "waiting_for_input", "failed", "cancelled"] summary: str # 助手侧摘要,只描述后端生成了什么,不代表前端已执行 created_at: datetime class ConversationCreated(BaseModel): conversation_id: str class ConversationDetail(BaseModel): conversation_id: str turns: list[Turn]