# `ExMCP.ACP.Adapters.ZCode.Config`
[🔗](https://github.com/azmaveth/ex_mcp/blob/v1.4.0/lib/ex_mcp/acp/adapters/zcode/config.ex#L1)

Pure config and mode helpers for the ZCode ACP adapter.

ZCode has five operational modes (plan, build, edit, auto, yolo) that
correspond to ACP `SessionMode` IDs. Config options expose model selection
and thought-level (reasoning effort) control.

# `config_options`

```elixir
@spec config_options(map()) :: [map()]
```

Builds the dynamic ACP config options from adapter state.

# `default_mode`

```elixir
@spec default_mode() :: String.t()
```

# `default_thought_level`

```elixir
@spec default_thought_level() :: String.t()
```

# `modes`

```elixir
@spec modes() :: [map()]
```

Returns the static mode list for ZCode in canonical order.

# `normalize_mode_id`

```elixir
@spec normalize_mode_id(any()) :: String.t()
```

Normalizes a mode ID to a string, defaulting to the built-in default.

# `normalize_requested_mode`

```elixir
@spec normalize_requested_mode(any()) :: {:ok, String.t()} | {:error, String.t()}
```

Normalizes a requested mode ID, returning an error for unknown modes.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
