Spaces:
Runtime error
Runtime error
File size: 3,061 Bytes
a6b96c2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | 'use strict';
/**
* Audit command routers β CLI dispatchers for `gsd-tools audit-uat` and
* `gsd-tools audit-open`.
*
* ADR-959 (phase 4d-impl-3): audit command family cutover.
* Extracted from the hardcoded `case 'audit-uat':` and `case 'audit-open':`
* arms in gsd-tools.cjs. Behaviour is preserved byte-for-behaviour from the
* prior inline cases; the dispatch path now flows:
* default β dispatchCapabilityCommand β
* require(audit-command-router.cjs) β routeAuditUat | routeAuditOpen.
*
* Router signatures: { args, cwd, raw, error } β identical to the existing
* host routers. No new handler/arg convention; the capability registry
* discovers these routers by name.
*
* Test seam: pass `_uat` / `_audit` / `_core` in the options object to inject
* recording mocks instead of the real modules. The `_`-prefix follows the
* repo's established seam convention (see graphify-command-router.cts).
* Production callers omit them.
*
* Lazy requires: uat.cjs and audit.cjs are required INSIDE each route function
* so the unneeded module is never loaded (preserves equivalence with the old
* inline case arms which each required only their own module).
*/
// eslint-disable-next-line @typescript-eslint/no-require-imports
const io = require("./io.cjs");
// βββ routeAuditUat ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
function routeAuditUat({ args, cwd, raw, error, _uat }) {
// Suppress unused-variable warnings for args/error β this command has no
// subcommands and passes raw through directly to the uat module.
void args;
void error;
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-unsafe-assignment
const u = _uat ?? require('./uat.cjs');
u.cmdAuditUat(cwd, raw);
}
// βββ routeAuditOpen ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
function routeAuditOpen({ args, cwd, raw, error, _audit, _core }) {
// Suppress unused-variable warning for error β audit-open has no subcommand
// dispatch that would call error(); only flag parsing occurs here.
void error;
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-unsafe-assignment
const a = _audit ?? require('./audit.cjs');
const c = _core ?? io;
const wantJson = args.includes('--json');
const result = a.auditOpenArtifacts(cwd);
if (wantJson) {
// io.output JSON-stringifies its first arg; pass the object directly.
c.output(result, raw);
}
else {
// Human-readable report must bypass JSON encoding β use the rawValue
// form (third arg) which io.output emits verbatim.
c.output(null, true, a.formatAuditReport(result));
}
}
module.exports = {
routeAuditUat,
routeAuditOpen,
};
|