use std::collections::HashMap;
pub fn get_protocol() -> &'static str {
let is_local = std::env::var("IS_LOCAL")
.unwrap_or_default()
.to_lowercase();
if matches!(is_local.as_str(), "1" | "true" | "yes") {
"http"
} else {
"https"
}
}
pub fn expand_env_vars(env: Option<&HashMap<String, String>>) -> HashMap<String, String> {
let Some(map) = env else { return HashMap::new() };
map.iter()
.filter_map(|(k, var_name)| {
std::env::var(var_name).ok().map(|v| (k.clone(), v))
})
.collect()
}
pub fn load_config(path: &str) -> crate::error::Result<serde_yaml::Value> {
let content = std::fs::read_to_string(path)
.map_err(|e| crate::error::AgentKitError::ConfigIo {
path: path.to_string(),
source: e,
})?;
let value = serde_yaml::from_str(&content)?;
Ok(value)
}