summaryrefslogtreecommitdiff
path: root/server/continuedev/core/observation.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/continuedev/core/observation.py')
-rw-r--r--server/continuedev/core/observation.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/server/continuedev/core/observation.py b/server/continuedev/core/observation.py
new file mode 100644
index 00000000..8a5e454e
--- /dev/null
+++ b/server/continuedev/core/observation.py
@@ -0,0 +1,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