# `ExMCP.ACP.PromptQueue`
[🔗](https://github.com/azmaveth/ex_mcp/blob/v1.4.0/lib/ex_mcp/acp/prompt_queue.ex#L1)

Small functional queue core for ACP adapter prompt backlogs.

# `t`

```elixir
@opaque t(item)
```

# `drain`

```elixir
@spec drain(t(item)) :: {[item], t(item)} when item: term()
```

# `empty?`

```elixir
@spec empty?(t(term())) :: boolean()
```

# `enqueue`

```elixir
@spec enqueue(t(item), item) :: t(item) when item: term()
```

# `from_list`

```elixir
@spec from_list([item]) :: t(item) when item: term()
```

# `len`

```elixir
@spec len(t(term())) :: non_neg_integer()
```

# `new`

```elixir
@spec new() :: t(term())
```

# `pop`

```elixir
@spec pop(t(item)) :: {:value, item, t(item)} | :empty when item: term()
```

# `split`

```elixir
@spec split(t(item), (item -&gt; as_boolean(term()))) :: {[item], t(item)}
when item: term()
```

# `to_list`

```elixir
@spec to_list(t(item)) :: [item] when item: term()
```

---

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