# `AgentSessionManager.Core.CapabilityResolver.NegotiationResult`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.8.0/lib/agent_session_manager/core/capability_resolver.ex#L64)

Represents the result of a capability negotiation.

## Fields

- `status` - `:full` when all capabilities satisfied, `:degraded` when optional missing
- `supported` - MapSet of capability types that are supported
- `unsupported` - MapSet of capability types that are not supported (optional only)
- `warnings` - List of warning messages for missing optional capabilities

# `status`

```elixir
@type status() :: :full | :degraded | :unknown
```

# `t`

```elixir
@type t() :: %AgentSessionManager.Core.CapabilityResolver.NegotiationResult{
  status: status(),
  supported: MapSet.t(atom()),
  unsupported: MapSet.t(atom()),
  warnings: [String.t()]
}
```

---

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