ExMCP.ACP.PromptQueue (ex_mcp v1.0.0-rc.1)

View Source

Small functional queue core for ACP adapter prompt backlogs.

Summary

Types

t(item)

@opaque t(item)

Functions

drain(queue)

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

empty?(queue)

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

enqueue(queue, item)

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

from_list(items)

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

len(queue)

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

new()

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

pop(queue)

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

split(queue, predicate)

@spec split(t(item), (item -> as_boolean(term()))) :: {[item], t(item)}
when item: term()

to_list(queue)

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