pub struct MeshConfig {
pub name: String,
pub memory: Option<MemoryConfig>,
pub agents: Vec<AgentConfig>,
}Expand description
Configuration for a multi-agent mesh.
This struct allows defining multiple agents in a single TOML file.
§Example
name = "research_mesh"
[memory]
backend = "sqlite"
path = "./data/knowledge.db"
[[agents]]
name = "researcher"
model = "ollama::gemma3:latest"
system_prompt = "You are a research assistant."
temperature = 0.7
[[agents]]
name = "summarizer"
model = "ollama::gemma3:latest"
system_prompt = "You are a summarization expert."
temperature = 0.5Fields§
§name: StringName of the mesh
memory: Option<MemoryConfig>Shared memory configuration for all agents (can be overridden per-agent)
agents: Vec<AgentConfig>List of agent configurations
Implementations§
Source§impl MeshConfig
impl MeshConfig
Sourcepub fn from_toml(toml_str: &str) -> Result<Self>
pub fn from_toml(toml_str: &str) -> Result<Self>
Parse a MeshConfig from a TOML string.
§Example
use ceylon_runtime::config::MeshConfig;
let toml = r#"
name = "my_mesh"
[[agents]]
name = "agent1"
model = "ollama::llama2"
"#;
let config = MeshConfig::from_toml(toml).unwrap();
assert_eq!(config.name, "my_mesh");
assert_eq!(config.agents.len(), 1);Sourcepub fn from_file(path: impl AsRef<Path>) -> Result<Self>
pub fn from_file(path: impl AsRef<Path>) -> Result<Self>
Load a MeshConfig from a TOML file.
§Example
use ceylon_runtime::config::MeshConfig;
let config = MeshConfig::from_file("agents.toml").unwrap();Sourcepub fn add_agent(self, agent: AgentConfig) -> Self
pub fn add_agent(self, agent: AgentConfig) -> Self
Add an agent configuration.
Sourcepub fn get_agent(&self, name: &str) -> Option<&AgentConfig>
pub fn get_agent(&self, name: &str) -> Option<&AgentConfig>
Get agent config by name.
Trait Implementations§
Source§impl Clone for MeshConfig
impl Clone for MeshConfig
Source§fn clone(&self) -> MeshConfig
fn clone(&self) -> MeshConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MeshConfig
impl Debug for MeshConfig
Source§impl Default for MeshConfig
impl Default for MeshConfig
Source§impl<'de> Deserialize<'de> for MeshConfig
impl<'de> Deserialize<'de> for MeshConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for MeshConfig
impl RefUnwindSafe for MeshConfig
impl Send for MeshConfig
impl Sync for MeshConfig
impl Unpin for MeshConfig
impl UnwindSafe for MeshConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more