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,
};