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: ProjectConfig
Project-specific settings, like name, version, and important directories.
runtime: RuntimeConfig
Settings 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.toml
in the current directory..openfunctions/config.toml
in 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 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