# `Raxol.AgentClientProtocol.Schema.Unstable.SessionConfigSelectOptions`
[🔗](https://github.com/DROOdotFOO/raxol-agent/blob/raxol_agent_client_protocol-v0.1.0/packages/raxol_agent_client_protocol/lib/raxol/agent_client_protocol/schema/unstable.ex#L389)

Possible values for a `select`-kind session configuration option: an
untagged union of either a flat list of options (`{:ungrouped, [...]}`) or
a list of groups (`{:grouped, [...]}`), distinguished on decode by whether
the first list element has a `"group"` key. (Unstable)

Ported from the MIT `f1729/agent_client_protocol` (c) 2025 f1729; see NOTICE.md.

# `t`

```elixir
@type t() ::
  {:ungrouped,
   [Raxol.AgentClientProtocol.Schema.Unstable.SessionConfigSelectOption.t()]}
  | {:grouped,
     [Raxol.AgentClientProtocol.Schema.Unstable.SessionConfigSelectGroup.t()]}
```

# `from_json`

```elixir
@spec from_json(term()) :: {:ok, t()} | {:error, term()}
```

Total: never raises. Non-list input returns `{:error, _}`.

# `to_json`

```elixir
@spec to_json(t()) :: [map()]
```

---

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