import uuid from memory import MemoryManager from telemetry import Telemetry from context_manager import ContextManager from summarizer import MemorySummarizer class AgentCore: def __init__(self, model="gpt-4o-mini"): self.agent_id = str(uuid.uuid4()) self.model = model print(f"[Identity] Created digital DNA for agent {self.agent_id}") self.memory = MemoryManager("semantic_memory.json") self.telemetry = Telemetry(self.agent_id) self.context = ContextManager() self.summarizer = MemorySummarizer("semantic_memory.json") print(f"[INIT] Agent {self.agent_id} initialized with model {self.model}") def run(self, prompt): self.telemetry.log("run_start", "in_progress", {"prompt": prompt}) # 🔹 Reflection / Summarization Trigger summary_triggers = [ "summarize", "what do you know", "who am i", "remember about me", "list everything", "recall memory", "summarize my data" ] if any(trigger in prompt.lower() for trigger in summary_triggers): summary = self.summarizer.summarize() self.telemetry.log("run_complete", "success", {"response": summary}) print(f"[RUN] {summary}") return summary # 🔹 Normal conversation & memory flow response = f"Agent {self.agent_id} processed: {prompt}" self.memory.save({"prompt": prompt, "response": response}) self.context.link_context(self.agent_id, prompt, response) self.telemetry.log("run_complete", "success", {"response": response}) print(f"[RUN] {response}") return response