@oddessentials/odd-ai-reviewers 1.11.0 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -9
- package/dist/benchmark/adapter.d.ts.map +1 -1
- package/dist/benchmark/adapter.js +4 -2
- package/dist/benchmark/adapter.js.map +1 -1
- package/dist/cache/store.d.ts.map +1 -1
- package/dist/cache/store.js +26 -2
- package/dist/cache/store.js.map +1 -1
- package/dist/cli/commands/benchmark.d.ts +14 -0
- package/dist/cli/commands/benchmark.d.ts.map +1 -0
- package/dist/cli/commands/benchmark.js +86 -0
- package/dist/cli/commands/benchmark.js.map +1 -0
- package/dist/cli/commands/local-review.d.ts +13 -2
- package/dist/cli/commands/local-review.d.ts.map +1 -1
- package/dist/cli/commands/local-review.js +164 -33
- package/dist/cli/commands/local-review.js.map +1 -1
- package/dist/cli/execution-plan.d.ts +118 -0
- package/dist/cli/execution-plan.d.ts.map +1 -0
- package/dist/cli/execution-plan.js +260 -0
- package/dist/cli/execution-plan.js.map +1 -0
- package/dist/config/schemas.d.ts +103 -21
- package/dist/config/schemas.d.ts.map +1 -1
- package/dist/config/schemas.js +177 -10
- package/dist/config/schemas.js.map +1 -1
- package/dist/config.d.ts +8 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -6
- package/dist/config.js.map +1 -1
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +3 -0
- package/dist/diff.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +86 -90
- package/dist/main.js.map +1 -1
- package/dist/phases/execute.d.ts +3 -0
- package/dist/phases/execute.d.ts.map +1 -1
- package/dist/phases/execute.js +17 -5
- package/dist/phases/execute.js.map +1 -1
- package/dist/phases/index.d.ts +1 -1
- package/dist/phases/index.d.ts.map +1 -1
- package/dist/phases/index.js +1 -1
- package/dist/phases/index.js.map +1 -1
- package/dist/phases/report.d.ts +28 -4
- package/dist/phases/report.d.ts.map +1 -1
- package/dist/phases/report.js +86 -36
- package/dist/phases/report.js.map +1 -1
- package/dist/report/ado.d.ts +2 -1
- package/dist/report/ado.d.ts.map +1 -1
- package/dist/report/ado.js +9 -5
- package/dist/report/ado.js.map +1 -1
- package/dist/report/finding-validator.d.ts +1 -4
- package/dist/report/finding-validator.d.ts.map +1 -1
- package/dist/report/finding-validator.js +23 -54
- package/dist/report/finding-validator.js.map +1 -1
- package/dist/report/framework-pattern-filter.d.ts +1 -1
- package/dist/report/framework-pattern-filter.d.ts.map +1 -1
- package/dist/report/framework-pattern-filter.js +114 -99
- package/dist/report/framework-pattern-filter.js.map +1 -1
- package/dist/report/github.d.ts +2 -1
- package/dist/report/github.d.ts.map +1 -1
- package/dist/report/github.js +9 -5
- package/dist/report/github.js.map +1 -1
- package/dist/report/terminal.d.ts +42 -4
- package/dist/report/terminal.d.ts.map +1 -1
- package/dist/report/terminal.js +36 -8
- package/dist/report/terminal.js.map +1 -1
- package/dist/report/user-suppressions.d.ts +74 -0
- package/dist/report/user-suppressions.d.ts.map +1 -0
- package/dist/report/user-suppressions.js +264 -0
- package/dist/report/user-suppressions.js.map +1 -0
- package/package.json +2 -1
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* @module cli/commands/local-review
|
|
14
14
|
*/
|
|
15
15
|
import { isOk } from '../../types/result.js';
|
|
16
|
-
import { wrapNonError } from '../../types/errors.js';
|
|
16
|
+
import { wrapNonError, ConfigError } from '../../types/errors.js';
|
|
17
|
+
import { buildExecutionPlan, serializeExecutionPlan, exitCodeFromStatus, } from '../execution-plan.js';
|
|
17
18
|
import { inferGitContext, GitContextErrorCode } from '../git-context.js';
|
|
18
19
|
import { parseLocalReviewOptions, applyOptionDefaults, resolveDiffRange, } from '../options/index.js';
|
|
19
20
|
import { loadConfig, loadConfigFromPath, generateZeroConfigDefaults, isZeroConfigSuccess, } from '../../config.js';
|
|
@@ -22,11 +23,11 @@ import { loadReviewIgnore } from '../../reviewignore.js';
|
|
|
22
23
|
import { checkBudget, estimateTokens } from '../../budget.js';
|
|
23
24
|
import { buildRouterEnv } from '../../agents/security.js';
|
|
24
25
|
import { hashConfig } from '../../cache/key.js';
|
|
25
|
-
import { executeAllPasses } from '../../phases/execute.js';
|
|
26
|
+
import { executeAllPasses, FatalExecutionError } from '../../phases/execute.js';
|
|
26
27
|
import { supportsColor, supportsUnicode, createColorizer } from '../output/colors.js';
|
|
27
28
|
import { formatCLIError, NotAGitRepoError, NoCredentialsError, InvalidConfigError, GitNotFoundError, InvalidPathError, } from '../output/errors.js';
|
|
28
29
|
import { reportToTerminal } from '../../report/terminal.js';
|
|
29
|
-
import {
|
|
30
|
+
import { processLocalReportFindings } from '../../phases/report.js';
|
|
30
31
|
import { setupSignalHandlers, setPartialResultsContext, clearPartialResultsContext, getPartialResultsContext, formatPartialResultsMessage, } from '../signals.js';
|
|
31
32
|
import { countBySeverity } from '../../report/formats.js';
|
|
32
33
|
import { existsSync } from 'fs';
|
|
@@ -69,7 +70,13 @@ export function createDefaultDependencies() {
|
|
|
69
70
|
// Exit Codes
|
|
70
71
|
// =============================================================================
|
|
71
72
|
/**
|
|
72
|
-
* Exit codes per contracts/cli-
|
|
73
|
+
* Exit codes per contracts/cli-contract.md
|
|
74
|
+
*
|
|
75
|
+
* Canonical mapping (all exit codes MUST go through exitCodeFromStatus):
|
|
76
|
+
* 0 = complete — all agents succeeded, gating passed or disabled
|
|
77
|
+
* 1 = gating_failed — all agents succeeded, findings exceeded threshold
|
|
78
|
+
* 2 = config_error — config invalid, no passes runnable, suppression error
|
|
79
|
+
* 3 = incomplete — partial results, some agents failed
|
|
73
80
|
*/
|
|
74
81
|
export const ExitCode = {
|
|
75
82
|
/** Success (no findings, or findings below gating threshold) */
|
|
@@ -78,32 +85,33 @@ export const ExitCode = {
|
|
|
78
85
|
FAILURE: 1,
|
|
79
86
|
/** Invalid arguments or configuration */
|
|
80
87
|
INVALID_ARGS: 2,
|
|
88
|
+
/** Incomplete review (partial results available) */
|
|
89
|
+
INCOMPLETE: 3,
|
|
81
90
|
};
|
|
82
91
|
// =============================================================================
|
|
83
92
|
// Helper Functions
|
|
84
93
|
// =============================================================================
|
|
85
94
|
/**
|
|
86
|
-
* Determine
|
|
95
|
+
* Determine run status based on findings and gating configuration.
|
|
96
|
+
* The RunStatus is then mapped to an exit code via exitCodeFromStatus().
|
|
87
97
|
*/
|
|
88
|
-
function
|
|
98
|
+
function determineRunStatus(findings, config) {
|
|
89
99
|
if (!config.gating?.enabled) {
|
|
90
|
-
return
|
|
100
|
+
return 'complete';
|
|
91
101
|
}
|
|
92
102
|
const counts = countBySeverity(findings);
|
|
93
103
|
const threshold = config.gating.fail_on_severity ?? 'error';
|
|
94
104
|
if (threshold === 'warning') {
|
|
95
|
-
// Fail on warnings or errors
|
|
96
105
|
if (counts.error > 0 || counts.warning > 0) {
|
|
97
|
-
return
|
|
106
|
+
return 'gating_failed';
|
|
98
107
|
}
|
|
99
108
|
}
|
|
100
109
|
else {
|
|
101
|
-
// Default: fail on errors only
|
|
102
110
|
if (counts.error > 0) {
|
|
103
|
-
return
|
|
111
|
+
return 'gating_failed';
|
|
104
112
|
}
|
|
105
113
|
}
|
|
106
|
-
return
|
|
114
|
+
return 'complete';
|
|
107
115
|
}
|
|
108
116
|
/**
|
|
109
117
|
* Get package version from package.json
|
|
@@ -598,40 +606,115 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
|
|
|
598
606
|
}
|
|
599
607
|
stdout.write(c.gray('Tip: Create .ai-review.yml to customize settings\n\n'));
|
|
600
608
|
}
|
|
601
|
-
// 4.
|
|
609
|
+
// 4. Build execution plan (FR-001 through FR-007)
|
|
610
|
+
// The plan is the single source of truth for all downstream code paths.
|
|
611
|
+
// No downstream consumer may read raw CLI flags — they operate on the plan.
|
|
612
|
+
let executionPlan;
|
|
613
|
+
try {
|
|
614
|
+
const planMode = resolvedOptions.dryRun
|
|
615
|
+
? 'dry-run'
|
|
616
|
+
: resolvedOptions.costOnly
|
|
617
|
+
? 'cost-only'
|
|
618
|
+
: 'execute';
|
|
619
|
+
executionPlan = buildExecutionPlan({
|
|
620
|
+
config,
|
|
621
|
+
mode: planMode,
|
|
622
|
+
passFilter: resolvedOptions.pass,
|
|
623
|
+
agentFilter: resolvedOptions.agent,
|
|
624
|
+
provider: zeroConfigResult?.provider ?? config.provider ?? null,
|
|
625
|
+
model: config.models?.default ?? null,
|
|
626
|
+
configSource: configSource === 'zero-config' ? 'zero-config' : (configPath ?? '.ai-review.yml'),
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
catch (error) {
|
|
630
|
+
if (error instanceof ConfigError) {
|
|
631
|
+
stderr.write(formatCLIError(new InvalidConfigError(resolvedOptions.config ?? '.ai-review.yml', [error.message]), colored) + '\n');
|
|
632
|
+
return {
|
|
633
|
+
exitCode: exitCodeFromStatus('config_error'),
|
|
634
|
+
status: 'config_error',
|
|
635
|
+
findingsCount: 0,
|
|
636
|
+
partialFindingsCount: 0,
|
|
637
|
+
error: error.message,
|
|
638
|
+
};
|
|
639
|
+
}
|
|
640
|
+
throw error;
|
|
641
|
+
}
|
|
642
|
+
// Emit plan in verbose mode for debugging
|
|
643
|
+
if (resolvedOptions.verbose && !resolvedOptions.quiet) {
|
|
644
|
+
stderr.write(c.gray('Execution plan:\n'));
|
|
645
|
+
stderr.write(c.gray(serializeExecutionPlan(executionPlan)));
|
|
646
|
+
stderr.write('\n');
|
|
647
|
+
}
|
|
648
|
+
// Build a config-like passes array from the execution plan for downstream compatibility
|
|
649
|
+
const planPasses = executionPlan.passes.map((p) => ({
|
|
650
|
+
name: p.name,
|
|
651
|
+
agents: [...p.agents],
|
|
652
|
+
enabled: true,
|
|
653
|
+
required: p.required,
|
|
654
|
+
}));
|
|
655
|
+
// 5. Handle special modes (dry-run and cost-only) - before dependency check
|
|
602
656
|
// These modes don't execute agents, so dependencies are not required
|
|
603
657
|
if (resolvedOptions.dryRun) {
|
|
604
658
|
const dryRunResult = await executeDryRun(resolvedOptions, gitContext, config, configSource, configPath, deps);
|
|
659
|
+
// Override agents to match the execution plan (FR-002: dry-run shows only plan agents)
|
|
660
|
+
dryRunResult.agents = [...new Set(executionPlan.passes.flatMap((p) => [...p.agents]))];
|
|
605
661
|
const output = formatDryRunOutput(dryRunResult, colored, resolvedOptions.format);
|
|
606
662
|
stdout.write(output);
|
|
607
|
-
return {
|
|
663
|
+
return {
|
|
664
|
+
exitCode: ExitCode.SUCCESS,
|
|
665
|
+
status: 'complete',
|
|
666
|
+
findingsCount: 0,
|
|
667
|
+
partialFindingsCount: 0,
|
|
668
|
+
};
|
|
608
669
|
}
|
|
609
670
|
if (resolvedOptions.costOnly) {
|
|
610
|
-
|
|
671
|
+
// FR-003: Cost estimation MUST be scoped to the execution plan's passes only
|
|
672
|
+
const planFilteredConfig = {
|
|
673
|
+
...config,
|
|
674
|
+
passes: planPasses.map((p) => ({
|
|
675
|
+
name: p.name,
|
|
676
|
+
agents: [...p.agents],
|
|
677
|
+
enabled: true,
|
|
678
|
+
required: p.required,
|
|
679
|
+
})),
|
|
680
|
+
};
|
|
681
|
+
const costResult = await executeCostOnly(resolvedOptions, gitContext, planFilteredConfig, deps);
|
|
611
682
|
const output = formatCostOutput(costResult, colored);
|
|
612
683
|
stdout.write(output);
|
|
613
|
-
return {
|
|
684
|
+
return {
|
|
685
|
+
exitCode: ExitCode.SUCCESS,
|
|
686
|
+
status: 'complete',
|
|
687
|
+
findingsCount: 0,
|
|
688
|
+
partialFindingsCount: 0,
|
|
689
|
+
};
|
|
614
690
|
}
|
|
615
|
-
//
|
|
691
|
+
// 6. Dependency preflight check — scoped to execution plan's passes only (FR-001)
|
|
616
692
|
const checkDepsFn = deps.checkDependenciesForPasses ?? checkDependenciesForPasses;
|
|
617
|
-
const depSummary = checkDepsFn(
|
|
693
|
+
const depSummary = checkDepsFn(planPasses);
|
|
618
694
|
if (depSummary.hasBlockingIssues) {
|
|
619
695
|
displayDependencyErrors(depSummary, stderr);
|
|
620
696
|
return {
|
|
621
|
-
exitCode:
|
|
697
|
+
exitCode: exitCodeFromStatus('config_error'),
|
|
698
|
+
status: 'config_error',
|
|
622
699
|
findingsCount: 0,
|
|
623
700
|
partialFindingsCount: 0,
|
|
624
701
|
error: 'Missing required dependencies',
|
|
625
702
|
};
|
|
626
703
|
}
|
|
627
|
-
// Build skipped pass info for warnings
|
|
628
|
-
const skippedPassInfo = buildSkippedPassInfo(
|
|
704
|
+
// Build skipped pass info for warnings (using plan passes, not raw config)
|
|
705
|
+
const skippedPassInfo = buildSkippedPassInfo(planPasses, depSummary);
|
|
629
706
|
// Show warnings for skipped passes (graceful degradation)
|
|
630
707
|
if (skippedPassInfo.length > 0 && !resolvedOptions.quiet) {
|
|
631
708
|
displaySkippedPassWarnings(skippedPassInfo, stderr);
|
|
632
709
|
}
|
|
633
|
-
//
|
|
634
|
-
|
|
710
|
+
// Show execution plan's skipped passes
|
|
711
|
+
if (executionPlan.skippedPasses.length > 0 && !resolvedOptions.quiet) {
|
|
712
|
+
for (const sp of executionPlan.skippedPasses) {
|
|
713
|
+
stderr.write(c.yellow(`Note: ${sp.reason}\n`));
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
// Filter config to only include runnable passes from the execution plan
|
|
717
|
+
const runnableConfig = filterToRunnablePasses({ ...config, passes: planPasses }, depSummary.runnablePasses);
|
|
635
718
|
// Check if all passes were filtered out (all optional, all missing dependencies)
|
|
636
719
|
const enabledRunnablePasses = runnableConfig.passes.filter((p) => p.enabled);
|
|
637
720
|
if (enabledRunnablePasses.length === 0) {
|
|
@@ -643,13 +726,18 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
|
|
|
643
726
|
` Run 'ai-review check' to see what's missing.\n` +
|
|
644
727
|
` No review will be performed.\n`;
|
|
645
728
|
stderr.write(warnMsg);
|
|
646
|
-
return {
|
|
729
|
+
return {
|
|
730
|
+
exitCode: ExitCode.SUCCESS,
|
|
731
|
+
status: 'complete',
|
|
732
|
+
findingsCount: 0,
|
|
733
|
+
partialFindingsCount: 0,
|
|
734
|
+
};
|
|
647
735
|
}
|
|
648
736
|
// Show warnings for other optional missing dependencies
|
|
649
737
|
if (depSummary.hasWarnings && !resolvedOptions.quiet && skippedPassInfo.length === 0) {
|
|
650
738
|
displayDependencyErrors(depSummary, stderr);
|
|
651
739
|
}
|
|
652
|
-
//
|
|
740
|
+
// 7. Load .reviewignore patterns (before diff to filter early)
|
|
653
741
|
const reviewIgnoreResult = await loadReviewIgnore(gitContext.repoRoot);
|
|
654
742
|
// 7. Generate diff once with reviewignore filtering applied
|
|
655
743
|
const getDiffFn = deps.getLocalDiff ?? getLocalDiff;
|
|
@@ -675,7 +763,12 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
|
|
|
675
763
|
? `${c.green('✓')} No changes to review\n\n Base: ${baseRef}\n Head: ${headLabel}\n\n No uncommitted or staged changes found.\n`
|
|
676
764
|
: `No changes to review\n\n Base: ${baseRef}\n Head: ${headLabel}\n\n No uncommitted or staged changes found.\n`;
|
|
677
765
|
stdout.write(output);
|
|
678
|
-
return {
|
|
766
|
+
return {
|
|
767
|
+
exitCode: ExitCode.SUCCESS,
|
|
768
|
+
findingsCount: 0,
|
|
769
|
+
partialFindingsCount: 0,
|
|
770
|
+
status: 'complete',
|
|
771
|
+
};
|
|
679
772
|
}
|
|
680
773
|
// 9. Build agent context (using runnableConfig with filtered passes)
|
|
681
774
|
const routerEnv = buildRouterEnv(env);
|
|
@@ -740,9 +833,44 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
|
|
|
740
833
|
catch (error) {
|
|
741
834
|
clearPartialResultsContext();
|
|
742
835
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
836
|
+
// FR-021: Extract partial results from FatalExecutionError when available.
|
|
837
|
+
// If agents completed before the failure, report their findings in degraded mode.
|
|
838
|
+
if (error instanceof FatalExecutionError && error.partialResults) {
|
|
839
|
+
stderr.write(c.yellow(`\n⚠ Incomplete review: ${errorMsg}\n`));
|
|
840
|
+
stderr.write(c.yellow(` ${error.partialResults.completeFindings.length} findings from completed agents preserved\n`));
|
|
841
|
+
// Process partial results through the standard pipeline
|
|
842
|
+
const executionTimeMs = Date.now() - startTime;
|
|
843
|
+
const estimatedCostUsd = error.partialResults.allResults.reduce((sum, r) => {
|
|
844
|
+
if ('metrics' in r && r.metrics?.estimatedCostUsd) {
|
|
845
|
+
return sum + r.metrics.estimatedCostUsd;
|
|
846
|
+
}
|
|
847
|
+
return sum;
|
|
848
|
+
}, 0);
|
|
849
|
+
const terminalContext = buildTerminalContext(resolvedOptions, gitContext, configSource, configPath, getPackageVersion());
|
|
850
|
+
terminalContext.executionTimeMs = executionTimeMs;
|
|
851
|
+
terminalContext.estimatedCostUsd = Math.max(0, estimatedCostUsd);
|
|
852
|
+
const processed = processLocalReportFindings(error.partialResults.completeFindings, error.partialResults.partialFindings, diff.files, config, 'local');
|
|
853
|
+
const incompleteStatus = 'incomplete';
|
|
854
|
+
const reportFn = deps.reportToTerminal ?? reportToTerminal;
|
|
855
|
+
await reportFn(processed.complete, processed.partial, terminalContext, config, diff.files, {
|
|
856
|
+
status: incompleteStatus,
|
|
857
|
+
suppressionSummary: processed.suppressionSummary,
|
|
858
|
+
});
|
|
859
|
+
// FR-021: Exit code 3 for incomplete review — partial results are NOT used for gating
|
|
860
|
+
return {
|
|
861
|
+
exitCode: exitCodeFromStatus(incompleteStatus),
|
|
862
|
+
status: incompleteStatus,
|
|
863
|
+
findingsCount: processed.complete.length,
|
|
864
|
+
partialFindingsCount: processed.partial.length,
|
|
865
|
+
error: errorMsg,
|
|
866
|
+
};
|
|
867
|
+
}
|
|
868
|
+
// Fatal failure with no preserved findings — hard crash, not a degraded run.
|
|
869
|
+
// Use config_error (exit 2) to distinguish from incomplete (exit 3, which has findings).
|
|
743
870
|
stderr.write(c.red(`\nExecution error: ${errorMsg}\n`));
|
|
744
871
|
return {
|
|
745
|
-
exitCode:
|
|
872
|
+
exitCode: exitCodeFromStatus('config_error'),
|
|
873
|
+
status: 'config_error',
|
|
746
874
|
findingsCount: 0,
|
|
747
875
|
partialFindingsCount: 0,
|
|
748
876
|
error: errorMsg,
|
|
@@ -762,16 +890,19 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
|
|
|
762
890
|
terminalContext.executionTimeMs = executionTimeMs;
|
|
763
891
|
terminalContext.estimatedCostUsd = Math.max(0, estimatedCostUsd); // Clamp to non-negative (FR-REL-002)
|
|
764
892
|
// 15. Post-process findings (FR-018: CLI parity — sanitize → semantic → framework → diff-bound)
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
);
|
|
893
|
+
// FR-022: Local mode uses working tree config for suppressions (developer trusted)
|
|
894
|
+
const processed = processLocalReportFindings(executeResult.completeFindings, executeResult.partialFindings, diff.files, config, 'local');
|
|
895
|
+
const runStatus = determineRunStatus(processed.complete, config);
|
|
896
|
+
const exitCode = exitCodeFromStatus(runStatus);
|
|
768
897
|
// 16. Report findings to terminal
|
|
769
898
|
const reportFn = deps.reportToTerminal ?? reportToTerminal;
|
|
770
|
-
const reportResult = await reportFn(
|
|
771
|
-
|
|
772
|
-
|
|
899
|
+
const reportResult = await reportFn(processed.complete, processed.partial, terminalContext, config, diff.files, {
|
|
900
|
+
status: runStatus,
|
|
901
|
+
suppressionSummary: processed.suppressionSummary,
|
|
902
|
+
});
|
|
773
903
|
return {
|
|
774
904
|
exitCode,
|
|
905
|
+
status: runStatus,
|
|
775
906
|
findingsCount: reportResult.findingsCount,
|
|
776
907
|
partialFindingsCount: reportResult.partialFindingsCount,
|
|
777
908
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-review.js","sourceRoot":"","sources":["../../../src/cli/commands/local-review.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-review.js","sourceRoot":"","sources":["../../../src/cli/commands/local-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Execution Plan Module (FR-001 through FR-007)
|
|
3
|
+
*
|
|
4
|
+
* Produces a single, immutable ExecutionPlan object that is the sole source of truth
|
|
5
|
+
* for all downstream code paths (dry-run, cost-only, dependency check, execution).
|
|
6
|
+
*
|
|
7
|
+
* Pipeline: Parse -> Validate -> BuildExecutionPlan -> DependencyCheck -> Execute
|
|
8
|
+
*
|
|
9
|
+
* No downstream consumer may read raw CLI flags — they operate on the plan.
|
|
10
|
+
*/
|
|
11
|
+
import type { Config, AgentId } from '../config/schemas.js';
|
|
12
|
+
/**
|
|
13
|
+
* Recursively makes all properties readonly.
|
|
14
|
+
* Arrays become ReadonlyArrays, objects get readonly properties.
|
|
15
|
+
*/
|
|
16
|
+
export type DeepReadonly<T> = T extends (infer U)[] ? readonly DeepReadonly<U>[] : T extends object ? {
|
|
17
|
+
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
|
18
|
+
} : T;
|
|
19
|
+
/**
|
|
20
|
+
* Machine-readable status for all JSON/SARIF output.
|
|
21
|
+
* Strict 1:1 mapping with exit codes.
|
|
22
|
+
*/
|
|
23
|
+
export type RunStatus = 'complete' | 'gating_failed' | 'config_error' | 'incomplete';
|
|
24
|
+
/**
|
|
25
|
+
* The ONLY path to produce an exit code.
|
|
26
|
+
* No call site may hardcode an exit code number directly.
|
|
27
|
+
*/
|
|
28
|
+
export declare function exitCodeFromStatus(status: RunStatus): number;
|
|
29
|
+
/**
|
|
30
|
+
* Execution mode for the review.
|
|
31
|
+
*/
|
|
32
|
+
export type ExecutionMode = 'execute' | 'dry-run' | 'cost-only';
|
|
33
|
+
/**
|
|
34
|
+
* A pass with zero agents has been removed and recorded here.
|
|
35
|
+
*/
|
|
36
|
+
export interface SkippedPass {
|
|
37
|
+
readonly name: string;
|
|
38
|
+
readonly reason: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A single pass within the execution plan with its resolved agents.
|
|
42
|
+
*/
|
|
43
|
+
export interface PlannedPass {
|
|
44
|
+
readonly name: string;
|
|
45
|
+
readonly agents: readonly AgentId[];
|
|
46
|
+
readonly required: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Gating configuration snapshot for the plan.
|
|
50
|
+
*/
|
|
51
|
+
export interface PlanGating {
|
|
52
|
+
readonly enabled: boolean;
|
|
53
|
+
readonly failOnSeverity: string;
|
|
54
|
+
readonly driftGate: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Limits configuration snapshot for the plan.
|
|
58
|
+
*/
|
|
59
|
+
export interface PlanLimits {
|
|
60
|
+
readonly maxDiffLines: number;
|
|
61
|
+
readonly maxFiles: number;
|
|
62
|
+
readonly maxTokensPerPr: number;
|
|
63
|
+
readonly maxUsdPerPr: number;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Immutable execution plan — single source of truth for all downstream consumers.
|
|
67
|
+
*
|
|
68
|
+
* Structural invariant: No pass may have an empty agents list.
|
|
69
|
+
*/
|
|
70
|
+
export interface ExecutionPlan {
|
|
71
|
+
readonly mode: ExecutionMode;
|
|
72
|
+
readonly passes: readonly PlannedPass[];
|
|
73
|
+
readonly skippedPasses: readonly SkippedPass[];
|
|
74
|
+
readonly provider: string | null;
|
|
75
|
+
readonly model: string | null;
|
|
76
|
+
readonly limits: PlanLimits;
|
|
77
|
+
readonly gating: PlanGating;
|
|
78
|
+
readonly configSource: string;
|
|
79
|
+
readonly schemaVersion: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Options for building an execution plan from CLI args and config.
|
|
83
|
+
*/
|
|
84
|
+
export interface BuildPlanOptions {
|
|
85
|
+
/** The loaded configuration */
|
|
86
|
+
config: Config;
|
|
87
|
+
/** Execution mode */
|
|
88
|
+
mode: ExecutionMode;
|
|
89
|
+
/** --pass filter (undefined = all passes) */
|
|
90
|
+
passFilter?: string;
|
|
91
|
+
/** --agent filter (undefined = all agents) */
|
|
92
|
+
agentFilter?: string;
|
|
93
|
+
/** Resolved provider name */
|
|
94
|
+
provider?: string | null;
|
|
95
|
+
/** Resolved model name */
|
|
96
|
+
model?: string | null;
|
|
97
|
+
/** Config source description (file path or 'zero-config') */
|
|
98
|
+
configSource: string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Build an immutable execution plan from config and CLI options.
|
|
102
|
+
*
|
|
103
|
+
* Enforces all invariants:
|
|
104
|
+
* - Pass/agent validation against registry
|
|
105
|
+
* - Provider compatibility filtering
|
|
106
|
+
* - Empty-pass rule (required+empty -> ConfigError; optional+empty -> skipped)
|
|
107
|
+
* - Combined --pass + --agent narrowing (FR-007)
|
|
108
|
+
*
|
|
109
|
+
* @throws ConfigError on validation failures (exit code 2)
|
|
110
|
+
*/
|
|
111
|
+
export declare function buildExecutionPlan(options: BuildPlanOptions): DeepReadonly<ExecutionPlan>;
|
|
112
|
+
/**
|
|
113
|
+
* Safe-field allowlist for plan serialization.
|
|
114
|
+
* Only these fields appear in serialized output — everything else is excluded.
|
|
115
|
+
* Keys are emitted in alphabetical order at every level.
|
|
116
|
+
*/
|
|
117
|
+
export declare function serializeExecutionPlan(plan: DeepReadonly<ExecutionPlan>): string;
|
|
118
|
+
//# sourceMappingURL=execution-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-plan.d.ts","sourceRoot":"","sources":["../../src/cli/execution-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAQ,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAclE;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC/C,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,GAC1B,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC/C,CAAC,CAAC;AAMR;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,eAAe,GAAG,cAAc,GAAG,YAAY,CAAC;AAErF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAa5D;AAMD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;CACtB;AAoFD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,CAqKzF;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,MAAM,CAkChF"}
|