from __future__ import annotations from datetime import datetime from typing import Any from pydantic import BaseModel, Field class StartSessionResponse(BaseModel): session_id: str status: str assistant_message: str decision: dict[str, Any] risk_profile: dict[str, Any] llm_summary: str | None = None created_at: datetime class SubmitTurnRequest(BaseModel): clinician_message: str = Field(min_length=1) class SubmitTurnResponse(BaseModel): session_id: str status: str assistant_message: str decision: dict[str, Any] risk_profile: dict[str, Any] llm_summary: str | None = None state_updates: dict[str, str] class ClassificationResponse(BaseModel): session_id: str status: str decision: dict[str, Any] risk_profile: dict[str, Any] llm_summary: str | None = None updated_at: datetime class FinalizeSessionResponse(BaseModel): session_id: str status: str finalized: bool final_decision: dict[str, Any] transcript: list[dict[str, Any]] finalized_at: datetime class HealthResponse(BaseModel): status: str service: str