Skip to main content

codetether_agent/tui/chat/sync/
env_helpers.rs

1//! Environment variable helpers for chat sync configuration.
2
3pub fn env_non_empty(name: &str) -> Option<String> {
4    std::env::var(name)
5        .ok()
6        .map(|value| value.trim().to_string())
7        .filter(|value| !value.is_empty())
8}
9
10pub fn env_bool(name: &str) -> Option<bool> {
11    let value = env_non_empty(name)?;
12    match value.to_ascii_lowercase().as_str() {
13        "1" | "true" | "yes" | "on" => Some(true),
14        "0" | "false" | "no" | "off" => Some(false),
15        _ => None,
16    }
17}
18
19pub fn is_placeholder_secret(value: &str) -> bool {
20    matches!(
21        value.trim().to_ascii_lowercase().as_str(),
22        "replace-me" | "changeme" | "change-me" | "your-token" | "your-key"
23    )
24}
25
26pub fn env_non_placeholder(name: &str) -> Option<String> {
27    env_non_empty(name).filter(|v| !is_placeholder_secret(v))
28}