services/config/helpers
Shared configuration helpers.
Used by the config service for TOML loading and by
per-module cfg.gleam files for getter functions.
All functions delegate to envoy for env-var storage.
Loading priority: env var > TOML value > hardcoded default.
Values
pub fn get_or(key: String, default: String) -> String
Get an env var value, or return a default if not set.
pub fn get_or_bool(key: String, default: Bool) -> Bool
Get an env var as a bool. Truthy: “true”, “1”, “yes”. Falsy: “false”, “0”, “no”.
Returns default if not set or unrecognized.
pub fn get_or_float(key: String, default: Float) -> Float
Get an env var as a float, or return a default if not set or invalid.
pub fn get_or_int(key: String, default: Int) -> Int
Get an env var as an int, or return a default if not set or invalid.
pub fn get_or_list(
key: String,
default: List(String),
) -> List(String)
Get an env var as a list of strings (comma-separated).
pub fn get_working_dir() -> String
Get the agent working directory (resolves AGENT_HOME env var).
pub fn resolve_home(path: String) -> String
Resolve ~ in a path to the user’s home directory.
pub fn set_default(
key: String,
toml_val: dict.Dict(String, tom.Toml),
path: List(String),
) -> Nil
Set an env var from a TOML string value, but only if the env var is not already set.
pub fn set_default_bool(
key: String,
toml_val: dict.Dict(String, tom.Toml),
path: List(String),
) -> Nil
Set an env var from a TOML bool value, but only if the env var is not already set.
pub fn set_default_float(
key: String,
toml_val: dict.Dict(String, tom.Toml),
path: List(String),
) -> Nil
Set an env var from a TOML float value, but only if the env var is not already set.
pub fn set_default_int(
key: String,
toml_val: dict.Dict(String, tom.Toml),
path: List(String),
) -> Nil
Set an env var from a TOML int value, but only if the env var is not already set.