summaryrefslogtreecommitdiff
path: root/personal_agent/identity.py
diff options
context:
space:
mode:
Diffstat (limited to 'personal_agent/identity.py')
-rw-r--r--personal_agent/identity.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/personal_agent/identity.py b/personal_agent/identity.py
new file mode 100644
index 0000000..ec1cc19
--- /dev/null
+++ b/personal_agent/identity.py
@@ -0,0 +1,40 @@
+import tomllib
+from dataclasses import dataclass
+
+
+@dataclass
+class AgentIdentity:
+ name: str
+ personality: dict[str, str]
+ values: dict[str, bool]
+ quirks: dict[str, str]
+ behavior: 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"],
+ behavior=data["behavior"],
+ )
+
+
+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"],
+ )