summaryrefslogtreecommitdiff
path: root/identity.py
diff options
context:
space:
mode:
Diffstat (limited to 'identity.py')
-rw-r--r--identity.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/identity.py b/identity.py
new file mode 100644
index 0000000..9b4faa0
--- /dev/null
+++ b/identity.py
@@ -0,0 +1,34 @@
+from dataclasses import dataclass
+import tomllib
+
+@dataclass
+class AgentIdentity:
+ name: str
+ personality: dict[str, str]
+ values: dict[str, bool]
+ quirks: dict[str, str]
+
+@dataclass
+class UserProfile:
+ name: str
+ preferences: dict[str, str]
+
+def load_agent_identity(path: str) -> AgentIdentity:
+ with open(path, "rb") as file:
+ data = tomllib.load(file)
+
+ return AgentIdentity(
+ name=data["name"],
+ personality=data["personality"],
+ values=data["values"],
+ quirks=data["quirks"],
+ )
+
+def load_user_profile(path: str) -> UserProfile:
+ with open(path, "rb") as file:
+ data = tomllib.load(file)
+
+ return UserProfile(
+ name=data["name"],
+ preferences=data["preferences"],
+ )