31 lines
760 B
Python
31 lines
760 B
Python
"""Agent OS memory service runtime."""
|
|
|
|
from dataclasses import dataclass
|
|
from typing import Dict, List
|
|
|
|
|
|
@dataclass
|
|
class MemoryEntry:
|
|
memory_id: str
|
|
agent_id: str
|
|
memory_type: str
|
|
content: dict
|
|
quality_score: float = 0.0
|
|
|
|
|
|
class MemoryService:
|
|
def __init__(self):
|
|
self.store: Dict[str, List[MemoryEntry]] = {}
|
|
|
|
def save(self, entry: MemoryEntry):
|
|
self.store.setdefault(entry.agent_id, []).append(entry)
|
|
|
|
def query(self, agent_id: str, memory_type: str = None):
|
|
items = self.store.get(agent_id, [])
|
|
if memory_type:
|
|
return [m for m in items if m.memory_type == memory_type]
|
|
return items
|
|
|
|
def reflect(self, agent_id: str):
|
|
return self.query(agent_id, "reflection")
|