# `ASM.Options`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/options.ex#L1)

Shared runtime options validation and normalization.

# `t`

```elixir
@type t() :: keyword()
```

# `attach_model_payload`

```elixir
@spec attach_model_payload(
  keyword(),
  map()
) :: keyword()
```

# `finalize_provider_opts`

```elixir
@spec finalize_provider_opts(atom(), keyword(), keyword()) ::
  {:ok, keyword()} | {:error, ASM.Error.t()}
```

# `merge_provider_schema`

```elixir
@spec merge_provider_schema(keyword()) :: {:ok, keyword()} | {:error, ASM.Error.t()}
```

# `resolve_model_payload`

```elixir
@spec resolve_model_payload(
  atom(),
  keyword()
) ::
  {:ok, CliSubprocessCore.ModelRegistry.selection()} | {:error, ASM.Error.t()}
```

# `schema`

```elixir
@spec schema() :: keyword()
```

# `validate`

```elixir
@spec validate(keyword(), keyword()) :: {:ok, t()} | {:error, ASM.Error.t()}
```

# `validate!`

```elixir
@spec validate!(keyword(), keyword()) :: t()
```

# `validate_model_payload`

---

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