"""Signal schemas.""" from typing import Optional from datetime import datetime from uuid import UUID from pydantic import BaseModel class SignalBase(BaseModel): """Base signal schema.""" stock_id: UUID signal_price: float confidence_score: float class SignalResponse(SignalBase): """Schema for signal response.""" id: UUID signal_time: datetime status: str current_drawdown_percent: Optional[float] = None current_sentiment_score: Optional[float] = None expected_recovery_percent: Optional[float] = None expected_recovery_days: Optional[int] = None created_at: datetime class Config: from_attributes = True class SignalWithDetails(SignalResponse): """Signal response with full details.""" panic_event_id: Optional[UUID] = None pattern_id: Optional[UUID] = None triggered_at: Optional[datetime] = None outcome_price: Optional[float] = None outcome_percent: Optional[float] = None outcome_days: Optional[int] = None updated_at: datetime