phi_agent/config/mod.rs
1//! Configuration resolution helpers.
2//!
3//! Handles LLM configuration (API key, model, base URL) with multi-source
4//! resolution: CLI argument → environment variable (`.env`) → default.
5
6pub mod llm;
7
8pub use llm::{LlmConfig, resolve_llm_config};
9
10use std::env;
11
12/// Read an optional environment variable. Empty strings are treated as unset.
13pub(crate) fn optional_env(key: &str) -> Option<String> {
14 env::var(key).ok().filter(|v| !v.is_empty())
15}