diff --git a/app/schemas/__init__.py b/app/schemas/__init__.py index 8d8e771..67c835d 100644 --- a/app/schemas/__init__.py +++ b/app/schemas/__init__.py @@ -98,6 +98,9 @@ class WsFrameType(str, Enum): contextual_request = "contextual_request" contextual_scope_update = "contextual_scope_update" contextual_scope_ack = "contextual_scope_ack" + # ── v9 scout proposal frame types ──────────────────────────────── + SCOUT_PROPOSAL = "scout_proposal" + SCOUT_PROPOSAL_ACK = "scout_proposal_ack" class WsToolCall(BaseModel): @@ -275,3 +278,25 @@ class ScoutRunLogResponse(BaseModel): # ── Chatbot Journey ─────────────────────────────────────────────────── + +# ── Scout Proposal Frame Models ─────────────────────────────────────── + +class ScoutProposalPayload(BaseModel): + id: str + scout_id: str + source_type: str + source_msg_ref: str + raw_subject: str | None = None + raw_snippet: str | None = None + category: Literal["unprocessed"] = "unprocessed" + payload: dict | None = None + + +class ScoutProposalFrame(BaseModel): + type: Literal[WsFrameType.SCOUT_PROPOSAL] + proposal: ScoutProposalPayload + + +class ScoutProposalAckFrame(BaseModel): + type: Literal[WsFrameType.SCOUT_PROPOSAL_ACK] + proposal_id: str