AgentOS-Core-V2 / context_graph.py
Tpayne101's picture
Update context_graph.py
b87b898 verified
import json, os
class ContextGraph:
def __init__(self, file_path="context_graph.json"):
self.file_path = file_path
self._init_graph()
def _init_graph(self):
if not os.path.exists(self.file_path):
with open(self.file_path, "w") as f:
json.dump({"context_links": {}}, f)
def link_context(self, agent_id, category, key, value):
with open(self.file_path, "r") as f:
graph = json.load(f)
if agent_id not in graph["context_links"]:
graph["context_links"][agent_id] = {}
if category not in graph["context_links"][agent_id]:
graph["context_links"][agent_id][category] = {}
graph["context_links"][agent_id][category][key] = value
with open(self.file_path, "w") as f:
json.dump(graph, f, indent=2)
def query_context(self, agent_id, category=None, keyword=None):
with open(self.file_path, "r") as f:
graph = json.load(f)
agent_data = graph["context_links"].get(agent_id, {})
if category:
data = agent_data.get(category, {})
else:
# Merge all categories
data = {k: v for c in agent_data.values() for k, v in c.items()}
results = [
f"{k}: {v}" for k, v in data.items()
if not keyword or keyword.lower() in k.lower() or keyword.lower() in v.lower()
]
return results or ["No context found."]