# `Agentic.Strategy.Registry`

Process registry for strategy modules.

Strategies are registered by their `id/0` callback. The Default
strategy is always pre-registered.

# `all`

```elixir
@spec all() :: %{required(atom()) =&gt; module()}
```

Return all registered strategies as a map of id -> module.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `fetch`

```elixir
@spec fetch(atom()) :: module() | nil
```

Fetch a strategy module by id, or nil if not registered.

# `fetch!`

```elixir
@spec fetch!(atom()) :: module()
```

Fetch a strategy module by id, raising if not found.

# `register`

```elixir
@spec register(module()) :: :ok
```

Register a strategy module.

# `start_link`

---

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