/**
 * Slash command registry — built-in commands and metadata types.
 *
 * Defines the canonical list of built-in slash commands and the types used
 * to describe both built-in and extension-registered commands in the UI.
 */
/** Canonical list of all built-in slash commands, used for autocomplete and collision detection. */
const ALL_BUILTIN_SLASH_COMMANDS = [
    // Auth
    { name: 'login', description: 'Login with OAuth provider' },
    { name: 'logout', description: 'Logout from OAuth provider' },
    // Session
    { name: 'clear', description: 'Start a new session' },
    { name: 'quit', description: 'Quit' },
    // Model
    { name: 'model', description: 'Select model' },
    { name: 'thinking', description: 'Select thinking level' },
    { name: 'fast', description: 'Toggle fast mode for subsequent turns' },
    { name: 'hide-thinking', description: 'Toggle visibility of thinking blocks' },
    // Checkpointing
    { name: 'resume', description: 'Resume a different session' },
    { name: 'tree', description: 'Navigate session tree (go back to previous messages)' },
    { name: 'session', description: 'Show session info and stats' },
    { name: 'budget', description: 'Start a budgeted run, e.g. /budget 500k <task>' },
    { name: 'autonomous', description: 'Start an autonomous run, e.g. /autonomous <task>' },
    { name: 'agents', description: 'Inspect running and backgrounded agents' },
    // Everything else
    { name: 'settings', description: 'Open settings menu' },
    { name: 'sandbox', description: 'Configure sandbox filesystem and network permissions' },
    { name: 'permissions', description: 'Manage runtime permission settings and open settings JSON' },
    {
        name: 'trace',
        description: 'Open local traces, package them, or share them: /trace download | /trace share team|public'
    },
    { name: 'hotkeys', description: 'Show all keyboard shortcuts' },
    { name: 'skills', description: 'Show loaded skills' },
    {
        name: 'proposal',
        description: 'Review and accept pending skill proposals or run /proposal scan [request]'
    },
    { name: 'memory', description: 'Run durable memory manually: /memory scan [request]' },
    { name: 'port-skills', description: 'Discover and register external skill roots' },
    { name: 'download-skills', description: 'Download skills from cloud' },
    { name: 'upload-skills', description: 'Upload local skills to cloud' },
    { name: 'reload', description: 'Reload extensions, skills, prompts, and themes' },
    // Collaboration
    { name: 'collab', description: 'Create or join a collaboration room' }
];
/** All builtin command names, used to prevent extension collisions. */
export const ALL_BUILTIN_SLASH_COMMAND_NAMES = new Set(ALL_BUILTIN_SLASH_COMMANDS.map((cmd) => cmd.name));
/** Returns all builtin slash commands. */
export function getBuiltinSlashCommands() {
    return ALL_BUILTIN_SLASH_COMMANDS;
}
//# sourceMappingURL=slash-commands.js.map