"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.INSTALLED_COMMAND_NAME_PATTERN = exports.DEFAULT_INSTALLED_COMMAND_NAME = exports.RELEASE_SUBCOMMANDS = void 0;
const cli_constants_1 = require("../../../lib/config/cli-constants");
Object.defineProperty(exports, "DEFAULT_INSTALLED_COMMAND_NAME", { enumerable: true, get: function () { return cli_constants_1.DEFAULT_INSTALLED_COMMAND_NAME; } });
Object.defineProperty(exports, "INSTALLED_COMMAND_NAME_PATTERN", { enumerable: true, get: function () { return cli_constants_1.INSTALLED_COMMAND_NAME_PATTERN; } });
exports.RELEASE_SUBCOMMANDS = [
    {
        name: 'build',
        description: 'Declare the local release build surface for future versioned artifact creation.',
        mode: 'write',
        boundary: 'future generated release directory creation under release/<version>/',
        options: ['version', 'commandName', 'outputDir', 'dryRun', 'dirty'],
    },
    {
        name: 'check',
        description: 'Declare the read-only local release validation surface.',
        mode: 'read-only check',
        boundary: 'read-only validation of local release inputs and staged outputs',
        options: ['version', 'commandName', 'outputDir'],
    },
    {
        name: 'manifest',
        description: 'Declare the release manifest generation surface.',
        mode: 'generated asset creation',
        boundary: 'future release manifest generation inside release/<version>/',
        options: ['version', 'commandName', 'outputDir', 'dryRun'],
    },
    {
        name: 'archive',
        description: 'Declare the platform archive generation surface.',
        mode: 'generated asset creation',
        boundary: 'future macOS/Linux and Windows archive generation',
        options: ['version', 'outputDir', 'dryRun'],
    },
    {
        name: 'checksum',
        description: 'Declare the checksum generation surface.',
        mode: 'generated asset creation',
        boundary: 'future SHA-256 checksum generation for release artifacts',
        options: ['version', 'outputDir', 'dryRun'],
    },
    {
        name: 'installer',
        description: 'Declare the installer asset generation surface.',
        mode: 'generated asset creation',
        boundary: 'future POSIX and Windows installer asset generation',
        options: ['version', 'commandName', 'outputDir', 'dryRun'],
    },
    {
        name: 'notes',
        description: 'Declare the draft release notes generation surface.',
        mode: 'generated asset creation',
        boundary: 'future draft release notes generation from planning evidence',
        options: ['version', 'commandName', 'outputDir', 'dryRun'],
    },
    {
        name: 'retention',
        description: 'Declare the local release-output retention surface.',
        mode: 'retention pruning',
        boundary: 'future local release-output pruning that preserves the current release plus recent successful releases',
        options: ['version', 'outputDir', 'keep', 'dryRun'],
    },
    {
        name: 'cleanup',
        description: 'Declare the explicit local release-output cleanup surface.',
        mode: 'explicit cleanup',
        boundary: 'future explicit cleanup of generated local release outputs only',
        options: ['outputDir', 'confirm', 'dryRun'],
    },
];
