MingaEditor.Shell.Traditional.ToolPrompts (Minga v0.1.0)

Copy Markdown View Source

Pure owner of Traditional missing-tool prompt decisions and queue state.

Tool discovery and installation checks remain in handlers. This value only owns the user's session-local decisions and ordered prompt lifecycle.

Summary

Functions

Drops the current queued prompt.

Returns whether a tool was declined or is already queued.

Returns the set of tools declined during this editor session.

Queues a tool once.

Returns the ordered pending tool queue.

Replaces prompt decisions and queue atomically.

Controls whether missing-tool prompts are suppressed.

Returns whether prompts are suppressed.

Types

t()

@type t() :: %MingaEditor.Shell.Traditional.ToolPrompts{
  declined: MapSet.t(atom()),
  queue: [atom()],
  suppressed?: boolean()
}

Functions

advance(prompts)

@spec advance(t()) :: t()

Drops the current queued prompt.

decided?(prompts, tool_name)

@spec decided?(t(), atom()) :: boolean()

Returns whether a tool was declined or is already queued.

declined(tool_prompts)

@spec declined(t()) :: MapSet.t(atom())

Returns the set of tools declined during this editor session.

enqueue(prompts, tool_name)

@spec enqueue(t(), atom()) :: t()

Queues a tool once.

queue(tool_prompts)

@spec queue(t()) :: [atom()]

Returns the ordered pending tool queue.

replace(prompts, queue, declined)

@spec replace(t(), [atom()], MapSet.t(atom())) :: t()

Replaces prompt decisions and queue atomically.

suppress(prompts, suppressed?)

@spec suppress(t(), boolean()) :: t()

Controls whether missing-tool prompts are suppressed.

suppressed?(tool_prompts)

@spec suppressed?(t()) :: boolean()

Returns whether prompts are suppressed.