objectiveai_sdk/filesystem/config/
config.rs1use serde::{Serialize, Deserialize};
2
3#[derive(Debug, Clone, Default, Serialize, Deserialize, schemars::JsonSchema)]
4#[schemars(rename = "filesystem.config.Config")]
5pub struct Config {
6 #[serde(skip_serializing_if = "super::ApiConfig::is_none")]
7 #[schemars(extend("omitempty" = true))]
8 pub api: Option<super::ApiConfig>,
9 #[serde(skip_serializing_if = "super::AgentsConfig::is_none")]
10 #[schemars(extend("omitempty" = true))]
11 pub agents: Option<super::AgentsConfig>,
12 #[serde(skip_serializing_if = "super::SwarmsConfig::is_none")]
13 #[schemars(extend("omitempty" = true))]
14 pub swarms: Option<super::SwarmsConfig>,
15 #[serde(skip_serializing_if = "super::FunctionsConfig::is_none")]
16 #[schemars(extend("omitempty" = true))]
17 pub functions: Option<super::FunctionsConfig>,
18 #[serde(skip_serializing_if = "super::ViewerConfig::is_none")]
19 #[schemars(extend("omitempty" = true))]
20 pub viewer: Option<super::ViewerConfig>,
21}
22
23impl Config {
24 pub fn api(&mut self) -> &mut super::ApiConfig {
25 self.api.get_or_insert_with(super::ApiConfig::default)
26 }
27
28 pub fn agents(&mut self) -> &mut super::AgentsConfig {
29 self.agents.get_or_insert_with(super::AgentsConfig::default)
30 }
31
32 pub fn swarms(&mut self) -> &mut super::SwarmsConfig {
33 self.swarms.get_or_insert_with(super::SwarmsConfig::default)
34 }
35
36 pub fn functions(&mut self) -> &mut super::FunctionsConfig {
37 self.functions.get_or_insert_with(super::FunctionsConfig::default)
38 }
39
40 pub fn viewer(&mut self) -> &mut super::ViewerConfig {
41 self.viewer.get_or_insert_with(super::ViewerConfig::default)
42 }
43
44 pub fn jq(&self, filter: &str) -> Result<Vec<serde_json::Value>, super::super::Error> {
45 super::super::run_jq(self, filter)
46 }
47}