summaryrefslogtreecommitdiff
path: root/server/continuedev/core/observation.py
blob: 8a5e454eba1cff278179cf1cd3a247845b688f8b (plain)
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
from pydantic import BaseModel, validator

from ..models.main import Traceback


class Observation(BaseModel):
    pass


class TracebackObservation(Observation):
    traceback: Traceback


class ValidatorObservation(Observation):
    passed: bool


class UserInputObservation(Observation):
    user_input: str


class DictObservation(Observation):
    values: dict

    def __getitem__(self, key):
        return self.values[key]


class TextObservation(Observation):
    text: str

    @validator("text", pre=True, always=True)
    def text_not_none(cls, v):
        if v is None:
            return ""
        return v


class InternalErrorObservation(Observation):
    title: str
    error: str