Purpose: a concise, high‑level view of how Genesis fits together. For deep, API‑level and file‑level details, see docs/architecture/architecture_detailed.md.
- Interfaces: Entry points that accept user/app inputs and communicate with agents via DDS RPC.
- Base:
genesis_lib/interface.py→GenesisInterface - Monitored:
genesis_lib/monitored_interface.py→MonitoredInterface
- Base:
- Agents: Orchestrators that call tools (functions, other agents, internal methods) and integrate LLMs.
- Base:
genesis_lib/agent.py→GenesisAgent - Monitored:
genesis_lib/monitored_agent.py→MonitoredAgent - OpenAI agent:
genesis_lib/openai_genesis_agent.py→OpenAIGenesisAgent
- Base:
- Services (Function Providers): RPC services exposing callable functions.
- Base RPC:
genesis_lib/rpc_service.py→GenesisRPCService - Enhanced:
genesis_lib/enhanced_service_base.py→EnhancedServiceBase
- Base RPC:
- Discovery & Registry: Advertise and discover callable functions across the network.
genesis_lib/function_discovery.py→FunctionRegistry
- Transport: RTI Connext DDS + RPC.
- XML types:
genesis_lib/config/datamodel.xml - Python IDL (Function RPC):
genesis_lib/datamodel.py
- XML types:
- Monitoring & Graph: Durable node/edge and activity events for live topology and tracing.
genesis_lib/graph_monitoring.py,genesis_lib/graph_state.py
- Interface → Agent (chat/task):
- Types:
InterfaceAgentRequest/InterfaceAgentReply(XML) - Mechanism:
rti.rpc.Requesteron interface,rti.rpc.Replieron agent.
- Types:
- Agent → Service (function RPC):
- Types:
FunctionRequest/FunctionReply(Python IDL) - Mechanism:
GenesisRPCClient↔GenesisRPCService - Target resolution: from discovered
FunctionCapability.service_name.
- Types:
- Agent ↔ Agent (specialization delegation):
- Types:
AgentAgentRequest/AgentAgentReply(XML) - Mechanism:
AgentCommunicationMixinhandles discovery + RPC endpoints.
- Types:
See the end‑to‑end sequence in docs/user-guides/function_call_flow.md (Agent‑as‑Tool pattern).
- Services advertise functions via
FunctionCapabilitywith name, description, JSON parameter schema, provider_id, andservice_name. - Agents and tools discover functions through
FunctionRegistryand cache metadata for targeting RPC endpoints. - Agents can also advertise capabilities via
AgentCapabilityfor agent‑as‑tool conversion and routing.
- Unified graph: nodes (
GenesisGraphNode) and edges (GenesisGraphEdge) represent components and relationships. - Chain overlays (
ChainEvent) correlate multi‑hop flows (classification, tool calls, results). - Monitored variants publish state transitions (DISCOVERING, READY, BUSY) for realtime UIs (see Graph Interface demo).
- Graph Interface UI:
examples/GraphInterface/server.py - Multi‑Agent demos:
examples/MultiAgent/ - Drone demo orchestrator:
examples/DroneGraphDemo/run_drone_graph_demo.sh
- Function flow (sequence):
docs/user-guides/function_call_flow.md - Function RPC deep dive:
docs/user-guides/genesis_function_rpc.md - Agent architecture:
docs/architecture/AGENT_ARCHITECTURE_QUICK_REFERENCE.md - DDS RPC reference (quick):
docs/reference/RTI_7.3_RPC.md
(c) 2025 Copyright, Real-Time Innovations, Inc. (RTI) All rights reserved.
RTI grants Licensee a license to use, modify, compile, and create derivative works of the Software. Licensee has the right to distribute object form only for use with RTI products. The Software is provided "as is", with no warranty of any type, including any warranty for fitness for any purpose. RTI is under no obligation to maintain or support the Software. RTI shall not be liable for any incidental or consequential damages arising out of the use or inability to use the software.