summaryrefslogtreecommitdiff
path: root/personal_agent/identity.py
diff options
context:
space:
mode:
authorbatsumaru <>2026-09-15 15:13:34 +0900
committerbatsumaru <>2026-09-15 15:13:34 +0900
commit1a67c5edb6fa6165e99cc25ed380303ed817af09 (patch)
treed2eab77e7275a559bfd639fd80b15321b5e514f3 /personal_agent/identity.py
parent5629cabbb38c7d91e66a419ba7cb3a93a9a988a1 (diff)
Cleaned up project tree
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"],
+ )