ceylon_runtime/core/mod.rs
1//! Core abstractions for the Ceylon agent framework.
2//!
3//! This module provides the fundamental building blocks:
4//!
5//! - [`Agent`] - Trait for implementing autonomous agents
6//! - [`AgentContext`] - Runtime context passed to agent methods
7//! - [`Memory`] - Trait for memory/storage backends
8//! - [`Mesh`] - Trait for agent coordination
9//! - [`Message`] - Inter-agent communication
10//!
11//! # Example
12//!
13//! ```rust,no_run
14//! use ceylon_runtime::core::agent::{Agent, AgentContext};
15//! use ceylon_runtime::core::message::Message;
16//! use ceylon_runtime::core::error::Result;
17//! use async_trait::async_trait;
18//!
19//! struct EchoAgent;
20//!
21//! #[async_trait]
22//! impl Agent for EchoAgent {
23//! fn name(&self) -> String { "echo".into() }
24//!
25//! async fn on_message(&mut self, msg: Message, _ctx: &mut AgentContext) -> Result<()> {
26//! println!("Echo: {:?}", msg.topic);
27//! Ok(())
28//! }
29//! }
30//! ```
31
32pub mod action;
33pub mod agent;
34pub mod error;
35pub mod memory;
36pub mod mesh;
37pub mod message;
38pub mod request_queue;
39
40pub use action::{ActionInvoker, ActionMetadata, ToolInvoker};
41pub use agent::{Agent, AgentContext};
42pub use error::Result;
43pub use memory::{Memory, MemoryEntry, MemoryQuery, VectorMemory};
44pub use mesh::Mesh;
45pub use message::{Envelope, Message};
46pub use request_queue::{MeshRequest, MeshResult, RequestQueue, RequestStatus};