pub struct AgentsConfigFile {
pub agents: HashMap<String, AgentConfigToml>,
pub fallback: FallbackConfig,
}Expand description
Root TOML configuration structure.
Fields§
§agents: HashMap<String, AgentConfigToml>Map of agent name to configuration.
fallback: FallbackConfigAgent chain configuration (preferred agents + fallbacks).
Implementations§
Source§impl AgentsConfigFile
impl AgentsConfigFile
Sourcepub fn load_from_file<P: AsRef<Path>>(
path: P,
) -> Result<Option<Self>, AgentConfigError>
pub fn load_from_file<P: AsRef<Path>>( path: P, ) -> Result<Option<Self>, AgentConfigError>
Load agents config from a file, returning None if file doesn’t exist.
Sourcepub fn load_from_file_with_workspace(
path: &Path,
workspace: &dyn Workspace,
) -> Result<Option<Self>, AgentConfigError>
pub fn load_from_file_with_workspace( path: &Path, workspace: &dyn Workspace, ) -> Result<Option<Self>, AgentConfigError>
Load agents config from a file using workspace abstraction.
This is the architecture-conformant version that uses the Workspace trait instead of direct filesystem access, allowing for proper testing with MemoryWorkspace.
§Arguments
path- Path to the config file (relative to workspace root)workspace- The workspace to use for filesystem operations
§Returns
Returns Ok(Some(config)) if file exists and parses successfully,
Ok(None) if file doesn’t exist, or an error if parsing fails.
Sourcepub fn ensure_config_exists<P: AsRef<Path>>(path: P) -> Result<ConfigInitResult>
pub fn ensure_config_exists<P: AsRef<Path>>(path: P) -> Result<ConfigInitResult>
Ensure agents config file exists, creating it from template if needed.
Sourcepub fn ensure_config_exists_with_workspace(
path: &Path,
workspace: &dyn Workspace,
) -> Result<ConfigInitResult>
pub fn ensure_config_exists_with_workspace( path: &Path, workspace: &dyn Workspace, ) -> Result<ConfigInitResult>
Ensure agents config file exists using workspace abstraction.
This is the architecture-conformant version that uses the Workspace trait instead of direct filesystem access, allowing for proper testing with MemoryWorkspace.
§Arguments
path- Path to the config file (relative to workspace root)workspace- The workspace to use for filesystem operations
§Returns
Returns Ok(ConfigInitResult::AlreadyExists) if file exists,
Ok(ConfigInitResult::Created) if file was created from template,
or an error if creation fails.
Trait Implementations§
Source§impl Clone for AgentsConfigFile
impl Clone for AgentsConfigFile
Source§fn clone(&self) -> AgentsConfigFile
fn clone(&self) -> AgentsConfigFile
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AgentsConfigFile
impl Debug for AgentsConfigFile
Source§impl<'de> Deserialize<'de> for AgentsConfigFile
impl<'de> Deserialize<'de> for AgentsConfigFile
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>,
Auto Trait Implementations§
impl Freeze for AgentsConfigFile
impl RefUnwindSafe for AgentsConfigFile
impl Send for AgentsConfigFile
impl Sync for AgentsConfigFile
impl Unpin for AgentsConfigFile
impl UnsafeUnpin for AgentsConfigFile
impl UnwindSafe for AgentsConfigFile
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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