# `Jido.Chat.CapabilityMatrix`
[🔗](https://github.com/agentjido/jido_chat/blob/v1.0.0/lib/jido/chat/capability_matrix.ex#L1)

Adapter capability declaration matrix (`:native | :fallback | :unsupported`).

# `capability_status`

```elixir
@type capability_status() :: :native | :fallback | :unsupported
```

# `t`

```elixir
@type t() :: %Jido.Chat.CapabilityMatrix{
  adapter_name: nil | nil | atom(),
  capabilities: map()
}
```

# `as_map`

```elixir
@spec as_map(t()) :: %{optional(atom()) =&gt; capability_status()}
```

Returns capability matrix map.

# `from_map`

```elixir
@spec from_map(map()) :: t()
```

Builds capability matrix from serialized map.

# `new`

```elixir
@spec new(map()) :: t()
```

Creates normalized capability matrix payload.

# `schema`

Returns the Zoi schema for CapabilityMatrix.

# `status`

```elixir
@spec status(t(), atom()) :: capability_status()
```

Returns declared support status for capability.

# `to_map`

```elixir
@spec to_map(t()) :: map()
```

Serializes capability matrix into plain map with type marker.

---

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