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_home() -> String

Get the user’s home directory.

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.

pub fn set_default_list(
  key: String,
  toml_val: dict.Dict(String, tom.Toml),
  path: List(String),
) -> Nil

Set an env var from a TOML array value, but only if the env var is not already set.

Search Document