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 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