from __future__ import annotations from pydantic import BaseModel, Field class StudyRequestAnalyzeRequest(BaseModel): raw_text: str syllabus_text: str | None = None class StudyRequestAnalysis(BaseModel): raw_text: str exam: str | None = None board: str | None = None grade: str | None = None subject: str | None = None chapter: str | None = None topic: str | None = None goal: str | None = None time_left: str | None = None level: str | None = None language_preference: str | None = None primary_need: str | None = None confidence: float = 0.0 missing_fields: list[str] = Field(default_factory=list) warnings: list[str] = Field(default_factory=list) syllabus_status: str = "not_provided" pyq_status: str = "unavailable"