# `Codex.Approvals.Registry`
[🔗](https://github.com/nshkrdotcom/codex_sdk/blob/v0.16.1/lib/codex/approvals/registry.ex#L1)

ETS-based registry for tracking async approval requests.

This module maintains state for pending approval requests that are awaiting
decisions from external systems (e.g., Slack, Jira, custom webhooks).

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `cleanup_expired`

```elixir
@spec cleanup_expired(pos_integer()) :: non_neg_integer()
```

Cleans up expired approval requests.

# `delete`

```elixir
@spec delete(reference()) :: :ok
```

Deletes an approval request from the registry.

# `lookup`

```elixir
@spec lookup(reference()) :: {:ok, map()} | {:error, :not_found}
```

Looks up an approval request by reference.

# `register`

```elixir
@spec register(reference(), map()) :: :ok
```

Registers a new async approval request.

# `start_link`

Starts the approval registry.

---

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