# `LLMProxy.Catalog`
[🔗](https://github.com/elixir-vibe/llm_proxy/blob/v0.3.1/lib/llm_proxy/catalog.ex#L1)

Public model catalog for aliases and deployment metadata.

# `all_models`

```elixir
@spec all_models() :: [map()]
```

# `get_model`

```elixir
@spec get_model(String.t()) :: LLMProxy.Catalog.Model.t() | nil
```

# `init`

```elixir
@spec init() :: :ok
```

# `load`

```elixir
@spec load([LLMProxy.Catalog.Model.t()]) :: :ok
```

# `put_model`

```elixir
@spec put_model(LLMProxy.Catalog.Model.t()) :: :ok
```

# `resolve`

```elixir
@spec resolve(String.t()) :: {:ok, LLMProxy.Catalog.Deployment.t()} | :error
```

# `resolve_deployments`

```elixir
@spec resolve_deployments(String.t(), LLMProxy.Protocol.Request.t() | nil) ::
  {:ok, [LLMProxy.Catalog.Deployment.t()]} | :error
```

---

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