ceylon_core/
lib.rs

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