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

Publishes CLI-backed ASM providers as endpoint-shaped inference targets.

# `ensure_result`

```elixir
@type ensure_result() ::
  {:ok, ASM.InferenceEndpoint.EndpointDescriptor.t(),
   ASM.InferenceEndpoint.CompatibilityResult.t()}
  | {:error, {:incompatible, ASM.InferenceEndpoint.CompatibilityResult.t()}}
  | {:error, term()}
```

# `consumer_manifest`

```elixir
@spec consumer_manifest() :: ASM.InferenceEndpoint.ConsumerManifest.t()
```

# `ensure_endpoint`

```elixir
@spec ensure_endpoint(
  map() | keyword(),
  map() | keyword() | struct(),
  map() | keyword()
) ::
  ensure_result()
```

# `release_endpoint`

```elixir
@spec release_endpoint(String.t() | map()) :: :ok
```

---

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