"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createWorkCommand = createWorkCommand;
const registration_1 = require("../registration");
const work_candidates_1 = require("../work-candidates");
const work_create_1 = require("../work-create");
const work_promote_1 = require("../work-promote");
const work_task_create_1 = require("../work-task-create");
const work_review_1 = require("../work-review");
const work_selection_1 = require("../work-selection");
async function createWorkCommand() {
    const { Command } = await import('commander');
    const command = new Command('work');
    command.description('Inspect and explicitly manage local planning-work selection.');
    (0, registration_1.registerCommand)(command, await (0, work_candidates_1.createWorkCandidatesCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_create_1.createWorkCreateCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_promote_1.createWorkPromoteCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_task_create_1.createWorkTaskCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_review_1.createWorkStatusCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_review_1.createWorkReviewCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_review_1.createWorkProjectReviewCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_review_1.createWorkFollowUpCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_review_1.createWorkCloseCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_selection_1.createWorkSelectCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_selection_1.createWorkCurrentCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_selection_1.createWorkNextCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_selection_1.createWorkClearCommand)());
    (0, registration_1.registerCommand)(command, await (0, work_selection_1.createWorkCleanupCommand)());
    return command;
}
