Files
my-v0-server/app/schemas/conversation.py
T
2026-09-30 08:57:39 -07:00

29 lines
846 B
Python

"""会话及对话轮次,用于多轮上下文和后续持久化"""
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 # 助手侧摘要,只描述后端生成了什么,不代表前端已执行
offer: str | None = None # 助手提出、等待用户确认的修改指令,下一轮同意时直接执行
created_at: datetime
class ConversationCreated(BaseModel):
conversation_id: str
class ConversationDetail(BaseModel):
conversation_id: str
turns: list[Turn]