20 lines
784 B
Python
20 lines
784 B
Python
from typing import Literal, NotRequired, TypedDict
|
|
|
|
from app.schemas.base import JsonObject
|
|
from app.schemas.input_context import InputContext
|
|
from app.schemas.decision import DecisionResponse
|
|
from app.schemas.requirement import Intent, Requirement
|
|
from app.schemas.clarification import Clarification
|
|
from app.schemas.clarification_reply import ClarificationReply
|
|
|
|
|
|
class QueryState(TypedDict):
|
|
request: JsonObject
|
|
input_context: NotRequired[InputContext]
|
|
intent_decision: NotRequired[DecisionResponse | None]
|
|
intent: NotRequired[Intent | None]
|
|
requirement: NotRequired[Requirement | None]
|
|
clarification: NotRequired[Clarification | None]
|
|
clarification_reply: NotRequired[ClarificationReply | None]
|
|
status: NotRequired[Literal["running", "cancelled"]]
|