serinity / core /schemas.py
Amogh1221's picture
Upload 186 files
9d837ba verified
Raw
History Blame Contribute Delete
1.19 kB
from pydantic import BaseModel, Field
from typing import Optional
class ResetRequest(BaseModel):
"""Payload for resetting an active session."""
session_id: str
patient_id: Optional[str] = None
class ChatRequest(BaseModel):
"""Payload for processing a user's text message."""
message: str
session_id: str
emotion: Optional[str] = None
patient_id: Optional[str] = None
class StartRequest(BaseModel):
"""Payload for initializing a new session."""
patient_id: Optional[str] = None
class PatientCreateRequest(BaseModel):
"""Payload for creating a new patient record."""
name: str
age: Optional[int] = Field(None, ge=5, le=99)
gender: Optional[str] = None
occupation: Optional[str] = None
primary_concern: Optional[str] = None
class EndSessionRequest(BaseModel):
"""Payload for gracefully terminating a session and generating a summary."""
session_id: str
patient_id: Optional[str] = None
class ChatResult(BaseModel):
"""Internal model encapsulating the orchestrator's response to a user message."""
assistant_message: str
intent: str
risk_flagged: bool
clinical_summary: Optional[str] = None