File size: 1,328 Bytes
eaade1c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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]