Unified slash-command registry.
Every slash command is declared once as a SlashCommand entry in COMMANDS.
Bypass-tier frozensets and autocomplete entries are derived automatically — no
other file should hard-code command metadata.
All slash commands.
Commands that execute regardless of any busy state.
Commands that bypass only during initial server connection.
Commands that open modal UI immediately, deferring real work.
Commands whose side effect fires immediately; chat output deferred until idle.
Commands that must wait in the queue when the app is busy.
Power-user commands kept out of autocomplete and help.
Includes both debug helpers (/debug-error) and recovery escape hatches
(/restart — hot-respawn the app-owned LangGraph server).
QUEUED-tier commands that must still run when startup has failed.
When the configured model can't be built (e.g. its provider package is
missing) the server never starts and the app holds a _server_startup_error
state that parks queued messages. These are the recovery escape hatches for
that state — install the missing package, reload config/env, or upgrade the
tool — so they must bypass the queue rather than sit behind the very failure
they repair. /model and /auth already escape via IMMEDIATE_UI (which
opens a modal and defers the real work); the commands here instead perform
their repair work directly, so they stay QUEUED and rely on this exemption.
The bypass itself is gated in _can_bypass_queue. Every entry is also
QUEUE_BOUND — the recovery exemption is orthogonal to the normal queue.
Union of all tiers plus hidden commands — used by drift tests.
Autocomplete entries derived from COMMANDS for SlashCommandController.
Extract skill name and args from a /skill:<name> command.
Build autocomplete entries for discovered skills.
Each skill becomes a /skill:<name> entry with its description
and the skill name as a hidden keyword for fuzzy matching.
Skills that already have a dedicated slash command in COMMANDS
(e.g., remember → /remember) are excluded to avoid duplicate
autocomplete entries.
Extended skill metadata for CLI display, adds source tracking.
Classification that controls whether a command can skip the message queue.
A single slash-command definition.
A single autocomplete entry for the slash-command controller.