| 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" | |