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