Files
msd-core/get-shit-done/bin/lib/phases-command-router.cjs
Tom Boucher 444db1714b refactor(query): manifest-backed routing seam + family adapters (#2908)
Merging validated command-seam foundation.
2026-04-30 14:04:50 -04:00

37 lines
1.2 KiB
JavaScript

'use strict';
const { PHASES_SUBCOMMANDS } = require('./command-aliases.generated.cjs');
/**
* Manifest-backed phases subcommand router.
* Keeps gsd-tools.cjs thin while preserving current CJS semantics:
* - list
* - clear
*
* Note: `archive` is currently SDK-only (`phases.archive` handler in SDK query
* registry). CJS `gsd-tools phases` intentionally supports list/clear only.
*/
function routePhasesCommand({ phase, milestone, args, cwd, raw, error }) {
const subcommand = args[1];
if (subcommand === 'list') {
const typeIndex = args.indexOf('--type');
const phaseIndex = args.indexOf('--phase');
const options = {
type: typeIndex !== -1 ? args[typeIndex + 1] : null,
phase: phaseIndex !== -1 ? args[phaseIndex + 1] : null,
includeArchived: args.includes('--include-archived'),
};
phase.cmdPhasesList(cwd, options, raw);
} else if (subcommand === 'clear') {
milestone.cmdPhasesClear(cwd, raw, args.slice(2));
} else {
const cjsSupported = PHASES_SUBCOMMANDS.filter((s) => s !== 'archive');
error(`Unknown phases subcommand. Available: ${cjsSupported.join(', ')}`);
}
}
module.exports = {
routePhasesCommand,
};