import { createCommand } from "../../types.js";
import { listSubcommand } from "./list.js";
import { getSubcommand } from "./get.js";
import { startSubcommand } from "./start.js";
import { createCoderSubcommand } from "./create.js";
import { deleteSubcommand } from "./delete.js";
import { archiveSubcommand } from "./archive.js";
import { updateSubcommand } from "./update.js";
import { usersSubcommand } from "./users.js";
import { loopSubcommand } from "./loop.js";
import { replaySubcommand } from "./replay.js";
import { participantsSubcommand } from "./participants.js";
import { eventsSubcommand } from "./events.js";
import { workspaceCommand } from "./workspace/index.js";
import { skillCommand } from "./skill/index.js";
import { getCommand } from "../../command-prefix.js";
export const command = createCommand({
    name: 'coder',
    description: 'Coder session management commands',
    tags: ['requires-auth'],
    examples: [
        {
            command: getCommand('coder start'),
            description: 'Start a coding session connected to Coder',
        },
        {
            command: getCommand('coder start --dir ~/path/to/my/project'),
            description: 'Start a coding session from a specific local project directory',
        },
        {
            command: getCommand('coder create "Build a REST API"'),
            description: 'Create a new Coder session with a task',
        },
        {
            command: getCommand('coder ls'),
            description: 'List all active Coder sessions',
        },
        {
            command: getCommand('coder get <session-id>'),
            description: 'Show detailed session information',
        },
        {
            command: getCommand('coder users'),
            description: 'List known Coder users',
        },
        {
            command: getCommand('coder loop <session-id>'),
            description: 'Get loop state for a session',
        },
        {
            command: getCommand('coder events <session-id> --limit 100'),
            description: 'Show recent event history for a session',
        },
        {
            command: getCommand('coder workspace list'),
            description: 'List Coder workspaces',
        },
        {
            command: getCommand('coder skill list'),
            description: 'List saved skills',
        },
    ],
    subcommands: [
        startSubcommand,
        createCoderSubcommand,
        listSubcommand,
        getSubcommand,
        updateSubcommand,
        deleteSubcommand,
        archiveSubcommand,
        usersSubcommand,
        loopSubcommand,
        replaySubcommand,
        participantsSubcommand,
        eventsSubcommand,
        workspaceCommand,
        skillCommand,
    ],
    requires: { auth: true, org: true },
});
//# sourceMappingURL=index.js.map