pub fn build_agent_options(cfg: &Config) -> AgentOptionsResponseExpand description
Build the AgentOptionsResponse from a config snapshot. Pure function
so tests can drive the same code path the handler runs without spinning
up an AppState.
get_map_keys expects kebab-case paths (the macro at
crates/zeroclaw-macros/src/lib.rs:366 builds lookup arms with
snake_to_kebab(field_name)). Passing snake_case for any
underscore-bearing field silently returns None → empty Vec →
dashboard renders “No X configured yet” even though X is configured.