Quick Reference Guide
Implementation reference for Æon Framework v0.3.0-ULTRA.
Installation
git clone https://github.com/richardsonlima/aeon-core.git
cd aeon-core
pip install -e .
Core Concepts
1. Agent Initialization
from aeon import Agent
from aeon.protocols import A2A, MCP
agent = Agent(
name="MyBot",
model="google/gemini-2.0-flash-001",
protocols=[A2A(port=8000), MCP(servers=["tools.py"])]
)
Layer 1: Integrations
Multi-platform support via custom providers.
class MyProvider(IntegrationProvider):
async def dispatch(self, packet: Packet):
print(f"Sending: {packet.payload} → {packet.destination}")
return True
# Register & Activate
agent.integrations.register("myplatform", provider)
await agent.integrations.activate_provider("myplatform")
Layer 2: Extensions
Pluggable capabilities and reusable tools.
class MyCapability(Capability):
metadata = CapabilityMetadata(name="my_feature", version="1.0.0")
async def invoke(self, **kwargs):
return f"Result: {kwargs.get('input')}"
agent.extensions.register(MyCapability())
await agent.extensions.activate("my_feature")
Layer 3: Dialogue
Managing conversation state and history.
context = DialogueContext(context_id="conv_001", participant_id="user_42")
context.add_turn(ActorRole.USER, "Hello")
agent.dialogue.store(context)
Layer 4: Dispatcher
High-performance event routing.
async def on_message(event: Event):
print(f"Event source: {event.source}")
agent.dispatcher.subscribe(EventType.COMMUNICATION_RECEIVED, on_message)
Layer 5: Automation
Temporal patterns and task scheduling.
pattern = TemporalPattern(hour="8", minute="0") # 8 AM Daily
task = ScheduledTask(task_id="report", temporal_pattern=pattern, handler_id="daily_report")
agent.automation.schedule(task)
Complete Example Workflow
async def main():
agent = Agent("ChatBot", "gpt-4")
# 1. Setup Provider & Capability
agent.integrations.register("tg", TelegramProvider())
agent.extensions.register(WeatherCap())
# 2. Process Dialogue
ctx = DialogueContext("c1", "tg", "u1")
weather = await agent.extensions.invoke("weather", city="SP")
agent.dialogue.store(ctx)
# 3. Dispatch Result
packet = Packet("agent", "u1", f"Temp: {weather['temp']}")
await agent.integrations.dispatch_packet("tg", packet)