File size: 741 Bytes
cd7277c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from __future__ import annotations

from typing import Dict, Literal, Optional
from pydantic import Field
from openenv.core.env_server.types import Action, Observation


class PersonaAction(Action):
    # = one of three actions
    kind: Literal["show_content", "ask_question", "advance_time"] = Field(
        ..., description="Which action to apply"
    )

    # = show_content
    topic: Optional[str] = None
    source: Optional[str] = None
    valence: Optional[Literal["positive", "neutral", "negative"]] = None

    # = ask_question
    question: Optional[str] = None

    # = advance_time
    hours: Optional[int] = None


class PersonaObservation(Observation):
    reaction_text: str
    mood: float
    interests: Dict[str, float]