Files
my-v0-server/app/processor/state.py
T
2026-10-01 23:08:06 -07:00

28 lines
1.5 KiB
Python

from typing import Literal, NotRequired, TypedDict
from app.schemas.actions import Action
from app.schemas.base import JsonObject
from app.schemas.clarification import Clarification
from app.schemas.clarification_reply import ClarificationReply
from app.schemas.decision import DecisionResponse, Route
from app.schemas.input_context import InputContext
class QueryState(TypedDict):
conversation_id: NotRequired[str] # 当前聊天会话 ID
thread_id: NotRequired[str] # 当前任务 ID
message_id: NotRequired[str] # 本次触发执行的用户消息 ID,澄清恢复时更新
request: JsonObject # 原始请求,保留提交时的内容
input_context: NotRequired[InputContext] # 校验后的上下文,包含最新大屏和澄清历史
intent_decision: NotRequired[DecisionResponse | None] # Jev 原始意图判断及分数
intent: NotRequired[Route | None] # 门控后的去向
actions: NotRequired[list[Action] | None] # screen agent 最后一次成功提交的动作
clarification: NotRequired[Clarification | None] # 当前澄清问题及选项
clarification_reply: NotRequired[
ClarificationReply | None
] # 待合并的用户回答或取消指令
answer: NotRequired[str | None] # 问答回答,或 agent 给用户的说明
status: NotRequired[
Literal["running", "waiting_for_input", "completed", "cancelled", "failed"]
] # 后端处理、等待补充、处理完成、用户取消或失败,完成不代表前端已执行