# `Codex.Protocol.ConfigTypes`
[🔗](https://github.com/nshkrdotcom/codex_sdk/blob/v0.16.1/lib/codex/protocol/config_types.ex#L1)

Protocol configuration type enums and converters.

# `alt_screen_mode`

```elixir
@type alt_screen_mode() :: :auto | :always | :never
```

# `personality`

```elixir
@type personality() :: :friendly | :pragmatic | :none
```

# `trust_level`

```elixir
@type trust_level() :: :trusted | :untrusted
```

# `web_search_mode`

```elixir
@type web_search_mode() :: :disabled | :cached | :live
```

# `decode_personality`

```elixir
@spec decode_personality(String.t() | nil) :: personality() | nil
```

# `decode_trust_level`

```elixir
@spec decode_trust_level(String.t() | nil) :: trust_level() | nil
```

# `decode_web_search_mode`

```elixir
@spec decode_web_search_mode(String.t() | nil) :: web_search_mode()
```

# `encode_personality`

```elixir
@spec encode_personality(personality()) :: String.t()
```

# `encode_trust_level`

```elixir
@spec encode_trust_level(trust_level()) :: String.t()
```

# `encode_web_search_mode`

```elixir
@spec encode_web_search_mode(web_search_mode()) :: String.t()
```

---

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