from pydantic import BaseModel from typing import Optional from enum import Enum from pydantic import BaseModel class StageClass(str, Enum): introduction = 'introduction' pending = 'pending' guided_coaching = 'guided_coaching' daily_reflection = 'daily_reflection' general_coaching = 'general_coaching' class AssistantNames(str, Enum): general = 'general' pf_assistant = 'pf_assistant' class Role(str, Enum): user = 'user' assistant = 'assistant' class AssistantDetails(BaseModel): name: AssistantNames id: str class ConversationStages(BaseModel): stage: StageClass selected_assistant: AssistantDetails new_user_info: Optional[str] follow_up_questions: Optional[str] goes_next: Role context: Optional[str] import json from pydantic import BaseModel class DailyGoal(BaseModel): objective: str title: str completion_criteria: str completed: bool day: str class WeeklyGoal(BaseModel): objective: str title: str completion_criteria: str current_day: int daily_objectives: list[DailyGoal] class MonthlyGoal(BaseModel): objective: str title: str completion_criteria: str current_week: int brief_summary: str weekly_goals: list[WeeklyGoal]