pub struct Config {
pub project: ProjectConfig,
pub runtime: RuntimeConfig,
pub tool_dirs: Vec<PathBuf>,
pub agent_dirs: Vec<PathBuf>,
pub env: HashMap<String, String>,
}Expand description
Main configuration structure for the OpenFunctions project.
This struct holds all configuration settings, loaded from a openfunctions.toml
file. It is organized into sections for better management of settings.
Fields§
§project: ProjectConfigProject-specific settings, like name, version, and important directories.
runtime: RuntimeConfigSettings related to the execution runtime for tools and agents.
tool_dirs: Vec<PathBuf>A list of directories where tool definitions are stored.
agent_dirs: Vec<PathBuf>A list of directories where agent definitions are stored.
env: HashMap<String, String>Environment variables to be made available to tools and agents during execution.
Implementations§
Source§impl Config
impl Config
Sourcepub async fn load(path: Option<PathBuf>) -> Result<Self>
pub async fn load(path: Option<PathBuf>) -> Result<Self>
Loads the configuration for the project.
The configuration is loaded from a file. The following paths are checked in order:
- A path explicitly provided as an argument.
openfunctions.tomlin the current directory..openfunctions/config.tomlin the current directory.
If no configuration file is found in these locations, a default configuration is created and returned.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
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 Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
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> 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>
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