# `ASM.InferenceEndpoint.ConsumerManifest`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/inference_endpoint/contracts.ex#L1)

Shared consumer manifest contract for the ASM inference endpoint facade.

# `t`

```elixir
@type t() :: %ASM.InferenceEndpoint.ConsumerManifest{
  accepted_management_modes: [atom()],
  accepted_protocols: [atom()],
  accepted_runtime_kinds: [atom()],
  constraints: map(),
  consumer: atom() | String.t() | nil,
  contract_version: String.t(),
  metadata: map(),
  optional_capabilities: map(),
  required_capabilities: map()
}
```

# `new`

```elixir
@spec new(keyword() | map()) :: {:ok, t()} | {:error, term()}
```

# `new!`

```elixir
@spec new!(keyword() | map()) :: t()
```

---

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