@vibecheckai/cli 2.5.7 → 2.7.0
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/LICENSE +1 -1
- package/dist/bundles/vibecheck-core.js +20 -20
- package/dist/commands/secrets-allowlist.js +4 -4
- package/dist/commands/secrets-allowlist.js.map +1 -1
- package/dist/commands/ship-consolidated.js +193 -193
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/init/ci-generator.d.ts +2 -2
- package/dist/init/hooks-installer.d.ts +2 -2
- package/dist/init/index.d.ts +1 -1
- package/dist/init/index.d.ts.map +1 -1
- package/dist/init/index.js +2 -2
- package/dist/init/index.js.map +1 -1
- package/dist/init/templates.d.ts +6 -285
- package/dist/init/templates.d.ts.map +1 -1
- package/dist/init/templates.js +2 -3
- package/dist/init/templates.js.map +1 -1
- package/dist/runtime/json-output.d.ts +2 -2
- package/package.json +11 -3
- package/dist/bundles/guardrail-core.js +0 -25799
- package/dist/bundles/guardrail-security.js +0 -208687
- package/dist/bundles/guardrail-ship.js +0 -2318
- package/dist/commands/autopilot-decision.d.ts +0 -24
- package/dist/commands/autopilot-decision.d.ts.map +0 -1
- package/dist/commands/autopilot-decision.js +0 -304
- package/dist/commands/autopilot-decision.js.map +0 -1
- package/dist/commands/autopilot.d.ts +0 -33
- package/dist/commands/autopilot.d.ts.map +0 -1
- package/dist/commands/autopilot.js +0 -1539
- package/dist/commands/autopilot.js.map +0 -1
- package/dist/commands/context.d.ts +0 -8
- package/dist/commands/context.d.ts.map +0 -1
- package/dist/commands/context.js +0 -340
- package/dist/commands/context.js.map +0 -1
- package/dist/commands/debug.d.ts +0 -78
- package/dist/commands/debug.d.ts.map +0 -1
- package/dist/commands/debug.js +0 -381
- package/dist/commands/debug.js.map +0 -1
- package/dist/commands/preview.d.ts +0 -54
- package/dist/commands/preview.d.ts.map +0 -1
- package/dist/commands/preview.js +0 -352
- package/dist/commands/preview.js.map +0 -1
- package/dist/commands/quality/check.d.ts +0 -31
- package/dist/commands/quality/check.d.ts.map +0 -1
- package/dist/commands/quality/check.js +0 -242
- package/dist/commands/quality/check.js.map +0 -1
- package/dist/commands/quality/index.d.ts +0 -8
- package/dist/commands/quality/index.d.ts.map +0 -1
- package/dist/commands/quality/index.js +0 -14
- package/dist/commands/quality/index.js.map +0 -1
- package/dist/commands/quality/setup-quality.d.ts +0 -23
- package/dist/commands/quality/setup-quality.d.ts.map +0 -1
- package/dist/commands/quality/setup-quality.js +0 -452
- package/dist/commands/quality/setup-quality.js.map +0 -1
- package/dist/commands/quality/tidy.d.ts +0 -41
- package/dist/commands/quality/tidy.d.ts.map +0 -1
- package/dist/commands/quality/tidy.js +0 -466
- package/dist/commands/quality/tidy.js.map +0 -1
- package/dist/commands/quality/utils.d.ts +0 -73
- package/dist/commands/quality/utils.d.ts.map +0 -1
- package/dist/commands/quality/utils.js +0 -158
- package/dist/commands/quality/utils.js.map +0 -1
- package/dist/fix/analytics.d.ts +0 -121
- package/dist/fix/analytics.d.ts.map +0 -1
- package/dist/fix/analytics.js +0 -289
- package/dist/fix/analytics.js.map +0 -1
- package/dist/fix/audit.d.ts +0 -61
- package/dist/fix/audit.d.ts.map +0 -1
- package/dist/fix/audit.js +0 -149
- package/dist/fix/audit.js.map +0 -1
- package/dist/fix/config.d.ts +0 -78
- package/dist/fix/config.d.ts.map +0 -1
- package/dist/fix/config.js +0 -200
- package/dist/fix/config.js.map +0 -1
- package/dist/fix/impact.d.ts +0 -74
- package/dist/fix/impact.d.ts.map +0 -1
- package/dist/fix/impact.js +0 -281
- package/dist/fix/impact.js.map +0 -1
- package/dist/fix/learning.d.ts +0 -109
- package/dist/fix/learning.d.ts.map +0 -1
- package/dist/fix/learning.js +0 -296
- package/dist/fix/learning.js.map +0 -1
- package/dist/fix/metrics.d.ts +0 -106
- package/dist/fix/metrics.d.ts.map +0 -1
- package/dist/fix/metrics.js +0 -138
- package/dist/fix/metrics.js.map +0 -1
- package/dist/fix/parallel.d.ts +0 -69
- package/dist/fix/parallel.d.ts.map +0 -1
- package/dist/fix/parallel.js +0 -203
- package/dist/fix/parallel.js.map +0 -1
- package/dist/fix/report.d.ts +0 -40
- package/dist/fix/report.d.ts.map +0 -1
- package/dist/fix/report.js +0 -212
- package/dist/fix/report.js.map +0 -1
- package/dist/fix/strategy.d.ts +0 -53
- package/dist/fix/strategy.d.ts.map +0 -1
- package/dist/fix/strategy.js +0 -143
- package/dist/fix/strategy.js.map +0 -1
- package/dist/fix/templates.d.ts +0 -58
- package/dist/fix/templates.d.ts.map +0 -1
- package/dist/fix/templates.js +0 -259
- package/dist/fix/templates.js.map +0 -1
- package/dist/fix/testing.d.ts +0 -68
- package/dist/fix/testing.d.ts.map +0 -1
- package/dist/fix/testing.js +0 -245
- package/dist/fix/testing.js.map +0 -1
- package/dist/fix/validation.d.ts +0 -71
- package/dist/fix/validation.d.ts.map +0 -1
- package/dist/fix/validation.js +0 -267
- package/dist/fix/validation.js.map +0 -1
- package/dist/fix/visualization.d.ts +0 -73
- package/dist/fix/visualization.d.ts.map +0 -1
- package/dist/fix/visualization.js +0 -243
- package/dist/fix/visualization.js.map +0 -1
- package/dist/runtime/cli-errors.d.ts +0 -38
- package/dist/runtime/cli-errors.d.ts.map +0 -1
- package/dist/runtime/cli-errors.js +0 -354
- package/dist/runtime/cli-errors.js.map +0 -1
- package/dist/runtime/owner-mode.d.ts +0 -48
- package/dist/runtime/owner-mode.d.ts.map +0 -1
- package/dist/runtime/owner-mode.js +0 -284
- package/dist/runtime/owner-mode.js.map +0 -1
- package/dist/scanner/index.d.ts +0 -8
- package/dist/scanner/index.d.ts.map +0 -1
- package/dist/scanner/index.js +0 -15
- package/dist/scanner/index.js.map +0 -1
- package/dist/scanner/placeholder-detector.d.ts +0 -56
- package/dist/scanner/placeholder-detector.d.ts.map +0 -1
- package/dist/scanner/placeholder-detector.js +0 -220
- package/dist/scanner/placeholder-detector.js.map +0 -1
- package/dist/scanner/route-detector.d.ts +0 -100
- package/dist/scanner/route-detector.d.ts.map +0 -1
- package/dist/scanner/route-detector.js +0 -455
- package/dist/scanner/route-detector.js.map +0 -1
- package/dist/scanner/scoring.d.ts +0 -67
- package/dist/scanner/scoring.d.ts.map +0 -1
- package/dist/scanner/scoring.js +0 -284
- package/dist/scanner/scoring.js.map +0 -1
- package/dist/ship-baseline.d.ts +0 -56
- package/dist/ship-baseline.d.ts.map +0 -1
- package/dist/ship-baseline.js +0 -194
- package/dist/ship-baseline.js.map +0 -1
- package/dist/ship-config.d.ts +0 -91
- package/dist/ship-config.d.ts.map +0 -1
- package/dist/ship-config.js +0 -133
- package/dist/ship-config.js.map +0 -1
- package/dist/ship-data-loader.d.ts +0 -70
- package/dist/ship-data-loader.d.ts.map +0 -1
- package/dist/ship-data-loader.js +0 -301
- package/dist/ship-data-loader.js.map +0 -1
- package/dist/utils/ai-helpers.d.ts +0 -72
- package/dist/utils/ai-helpers.d.ts.map +0 -1
- package/dist/utils/ai-helpers.js +0 -339
- package/dist/utils/ai-helpers.js.map +0 -1
- package/dist/utils/validation.d.ts +0 -34
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js +0 -160
- package/dist/utils/validation.js.map +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* autopilot-decision command
|
|
3
|
-
*
|
|
4
|
-
* Purpose:
|
|
5
|
-
* Check deployment decisions via the Autopilot Decision Engine.
|
|
6
|
-
* Makes PASS/WARN/FAIL decisions based on route integrity, security findings,
|
|
7
|
-
* compliance signals, and prompt firewall results.
|
|
8
|
-
*
|
|
9
|
-
* Usage:
|
|
10
|
-
* guardrail autopilot-decision [--repository-id=<id>] [--scan-id=<id>] [--commit-sha=<sha>] [--branch=<branch>] [--json]
|
|
11
|
-
*
|
|
12
|
-
* Failure modes:
|
|
13
|
-
* - Authentication failures: exits with AUTH_FAILURE
|
|
14
|
-
* - Invalid repository: exits with USER_ERROR
|
|
15
|
-
* - Decision engine errors: exits with SYSTEM_ERROR
|
|
16
|
-
*
|
|
17
|
-
* This is a PRO feature and requires autopilot entitlement.
|
|
18
|
-
*/
|
|
19
|
-
import { Command } from 'commander';
|
|
20
|
-
/**
|
|
21
|
-
* Register the autopilot-decision command
|
|
22
|
-
*/
|
|
23
|
-
export declare function registerAutopilotDecisionCommand(program: Command, requireAuth: () => any): void;
|
|
24
|
-
//# sourceMappingURL=autopilot-decision.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autopilot-decision.d.ts","sourceRoot":"","sources":["../../src/commands/autopilot-decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsSpC;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,GACrB,IAAI,CA4CN"}
|
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* autopilot-decision command
|
|
4
|
-
*
|
|
5
|
-
* Purpose:
|
|
6
|
-
* Check deployment decisions via the Autopilot Decision Engine.
|
|
7
|
-
* Makes PASS/WARN/FAIL decisions based on route integrity, security findings,
|
|
8
|
-
* compliance signals, and prompt firewall results.
|
|
9
|
-
*
|
|
10
|
-
* Usage:
|
|
11
|
-
* guardrail autopilot-decision [--repository-id=<id>] [--scan-id=<id>] [--commit-sha=<sha>] [--branch=<branch>] [--json]
|
|
12
|
-
*
|
|
13
|
-
* Failure modes:
|
|
14
|
-
* - Authentication failures: exits with AUTH_FAILURE
|
|
15
|
-
* - Invalid repository: exits with USER_ERROR
|
|
16
|
-
* - Decision engine errors: exits with SYSTEM_ERROR
|
|
17
|
-
*
|
|
18
|
-
* This is a PRO feature and requires autopilot entitlement.
|
|
19
|
-
*/
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.registerAutopilotDecisionCommand = registerAutopilotDecisionCommand;
|
|
22
|
-
const exit_codes_1 = require("../runtime/exit-codes");
|
|
23
|
-
const creds_1 = require("../runtime/creds");
|
|
24
|
-
const c = {
|
|
25
|
-
bold: (s) => `\x1b[1m${s}\x1b[0m`,
|
|
26
|
-
dim: (s) => `\x1b[2m${s}\x1b[0m`,
|
|
27
|
-
critical: (s) => `\x1b[35m${s}\x1b[0m`,
|
|
28
|
-
high: (s) => `\x1b[31m${s}\x1b[0m`,
|
|
29
|
-
medium: (s) => `\x1b[33m${s}\x1b[0m`,
|
|
30
|
-
low: (s) => `\x1b[36m${s}\x1b[0m`,
|
|
31
|
-
success: (s) => `\x1b[32m${s}\x1b[0m`,
|
|
32
|
-
info: (s) => `\x1b[34m${s}\x1b[0m`,
|
|
33
|
-
error: (s) => `\x1b[31m${s}\x1b[0m`,
|
|
34
|
-
cyan: (s) => `\x1b[36m${s}\x1b[0m`,
|
|
35
|
-
yellow: (s) => `\x1b[33m${s}\x1b[0m`,
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Format decision state with emoji
|
|
39
|
-
*/
|
|
40
|
-
function formatDecisionState(decision) {
|
|
41
|
-
switch (decision) {
|
|
42
|
-
case 'PASS':
|
|
43
|
-
return `${c.success('✓')} ${c.success('PASS')}`;
|
|
44
|
-
case 'WARN':
|
|
45
|
-
return `${c.yellow('⚠')} ${c.yellow('WARN')}`;
|
|
46
|
-
case 'FAIL':
|
|
47
|
-
return `${c.error('✗')} ${c.error('FAIL')}`;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Format score with color
|
|
52
|
-
*/
|
|
53
|
-
function formatScore(score) {
|
|
54
|
-
if (score >= 80)
|
|
55
|
-
return c.success(`${score}/100`);
|
|
56
|
-
if (score >= 50)
|
|
57
|
-
return c.yellow(`${score}/100`);
|
|
58
|
-
return c.error(`${score}/100`);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Display decision result
|
|
62
|
-
*/
|
|
63
|
-
function displayDecision(decision, options) {
|
|
64
|
-
if (options.json) {
|
|
65
|
-
console.log(JSON.stringify(decision, null, 2));
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
console.log(`\n${c.dim('─'.repeat(80))}`);
|
|
69
|
-
console.log(`${c.bold('🤖 AUTOPILOT DECISION')}`);
|
|
70
|
-
console.log(`${c.dim('─'.repeat(80))}\n`);
|
|
71
|
-
// Decision state
|
|
72
|
-
console.log(`${c.bold('Decision:')} ${formatDecisionState(decision.decision)}`);
|
|
73
|
-
console.log(`${c.bold('Score:')} ${formatScore(decision.score)}`);
|
|
74
|
-
console.log(`${c.bold('Deploy Allowed:')} ${decision.deployAllowed ? c.success('Yes') : c.error('No')}`);
|
|
75
|
-
console.log('');
|
|
76
|
-
// Component scores
|
|
77
|
-
console.log(`${c.bold('Component Scores:')}`);
|
|
78
|
-
if (decision.routeIntegrityScore !== null) {
|
|
79
|
-
console.log(` ${c.dim('├─')} Route Integrity: ${formatScore(decision.routeIntegrityScore)}`);
|
|
80
|
-
}
|
|
81
|
-
console.log(` ${c.dim('├─')} Security: ${formatScore(decision.securityScore)}`);
|
|
82
|
-
if (decision.complianceScore !== null) {
|
|
83
|
-
console.log(` ${c.dim('├─')} Compliance: ${formatScore(decision.complianceScore)}`);
|
|
84
|
-
}
|
|
85
|
-
if (decision.promptFirewallScore !== null) {
|
|
86
|
-
console.log(` ${c.dim('└─')} Prompt Firewall: ${formatScore(decision.promptFirewallScore)}`);
|
|
87
|
-
}
|
|
88
|
-
console.log('');
|
|
89
|
-
// Critical failures
|
|
90
|
-
if (decision.criticalFailures && decision.criticalFailures.length > 0) {
|
|
91
|
-
console.log(`${c.error('Critical Failures (Blocking):')}`);
|
|
92
|
-
decision.criticalFailures.forEach((f, i) => {
|
|
93
|
-
const isLast = i === decision.criticalFailures.length - 1;
|
|
94
|
-
const prefix = isLast ? '└─' : '├─';
|
|
95
|
-
console.log(` ${c.dim(prefix)} ${c.error('✗')} ${c.bold(f.ruleName)}: ${f.reason}`);
|
|
96
|
-
});
|
|
97
|
-
console.log('');
|
|
98
|
-
}
|
|
99
|
-
// Warnings
|
|
100
|
-
if (decision.warnings && decision.warnings.length > 0) {
|
|
101
|
-
console.log(`${c.yellow('Warnings:')}`);
|
|
102
|
-
decision.warnings.forEach((w, i) => {
|
|
103
|
-
const isLast = i === decision.warnings.length - 1;
|
|
104
|
-
const prefix = isLast ? '└─' : '├─';
|
|
105
|
-
console.log(` ${c.dim(prefix)} ${c.yellow('⚠')} ${c.bold(w.ruleName)}: ${w.reason}`);
|
|
106
|
-
});
|
|
107
|
-
console.log('');
|
|
108
|
-
}
|
|
109
|
-
// Explanation
|
|
110
|
-
if (decision.explanation) {
|
|
111
|
-
console.log(`${c.bold('Explanation:')}`);
|
|
112
|
-
console.log(c.dim(decision.explanation.split('\n').join('\n')));
|
|
113
|
-
console.log('');
|
|
114
|
-
}
|
|
115
|
-
// Metadata
|
|
116
|
-
if (decision.scanId || decision.commitSha || decision.branch) {
|
|
117
|
-
console.log(`${c.bold('Context:')}`);
|
|
118
|
-
if (decision.scanId) {
|
|
119
|
-
console.log(` ${c.dim('├─')} Scan ID: ${c.info(decision.scanId)}`);
|
|
120
|
-
}
|
|
121
|
-
if (decision.commitSha) {
|
|
122
|
-
console.log(` ${c.dim('├─')} Commit: ${c.dim(decision.commitSha)}`);
|
|
123
|
-
}
|
|
124
|
-
if (decision.branch) {
|
|
125
|
-
console.log(` ${c.dim('└─')} Branch: ${c.info(decision.branch)}`);
|
|
126
|
-
}
|
|
127
|
-
console.log('');
|
|
128
|
-
}
|
|
129
|
-
console.log(`${c.dim('─'.repeat(80))}\n`);
|
|
130
|
-
// Exit code hint
|
|
131
|
-
if (decision.decision === 'FAIL') {
|
|
132
|
-
console.log(`${c.error('✗')} ${c.bold('Deploy BLOCKED')} - Resolve critical issues before deploying\n`);
|
|
133
|
-
}
|
|
134
|
-
else if (decision.decision === 'WARN') {
|
|
135
|
-
console.log(`${c.yellow('⚠')} ${c.bold('Deploy ALLOWED with warnings')} - Review issues before deploying\n`);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
console.log(`${c.success('✓')} ${c.bold('Deploy ALLOWED')} - All checks passed\n`);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Make authenticated API request
|
|
143
|
-
*/
|
|
144
|
-
async function apiRequest(path, options = {}) {
|
|
145
|
-
const authState = (0, creds_1.loadAuthState)();
|
|
146
|
-
if (!authState?.apiKey) {
|
|
147
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.AUTH_FAILURE, 'Not authenticated. Run: guardrail auth login');
|
|
148
|
-
}
|
|
149
|
-
const baseUrl = process.env.GUARDRAIL_API_BASE_URL || 'https://api.guardrail.dev';
|
|
150
|
-
const url = `${baseUrl}${path}`;
|
|
151
|
-
const headers = {
|
|
152
|
-
'Content-Type': 'application/json',
|
|
153
|
-
Authorization: `Bearer ${authState.apiKey}`,
|
|
154
|
-
};
|
|
155
|
-
const response = await fetch(url, {
|
|
156
|
-
method: options.method || 'GET',
|
|
157
|
-
headers,
|
|
158
|
-
...(options.body && { body: JSON.stringify(options.body) }),
|
|
159
|
-
});
|
|
160
|
-
return response;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Get latest decision for repository
|
|
164
|
-
*/
|
|
165
|
-
async function getLatestDecision(repositoryId, options) {
|
|
166
|
-
try {
|
|
167
|
-
const response = await apiRequest(`/api/v1/autopilot/decision/${repositoryId}`);
|
|
168
|
-
if (!response.ok) {
|
|
169
|
-
const error = await response.json();
|
|
170
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.SYSTEM_ERROR, error.error || 'Failed to get decision');
|
|
171
|
-
}
|
|
172
|
-
const data = await response.json();
|
|
173
|
-
displayDecision(data.decision, options);
|
|
174
|
-
// Exit with appropriate code
|
|
175
|
-
if (data.decision.decision === 'FAIL') {
|
|
176
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.POLICY_FAIL, 'Deploy blocked by Autopilot');
|
|
177
|
-
}
|
|
178
|
-
else if (data.decision.decision === 'WARN') {
|
|
179
|
-
// WARN doesn't block deploy, but exit with non-zero for visibility
|
|
180
|
-
process.exit(1);
|
|
181
|
-
}
|
|
182
|
-
// PASS exits with 0 (success)
|
|
183
|
-
}
|
|
184
|
-
catch (error) {
|
|
185
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.SYSTEM_ERROR, error.message || 'Failed to get decision');
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Make decision from scan
|
|
190
|
-
*/
|
|
191
|
-
async function makeDecision(repositoryId, scanId, options) {
|
|
192
|
-
try {
|
|
193
|
-
const body = { scanId };
|
|
194
|
-
if (options.commitSha)
|
|
195
|
-
body.commitSha = options.commitSha;
|
|
196
|
-
if (options.branch)
|
|
197
|
-
body.branch = options.branch;
|
|
198
|
-
const response = await apiRequest(`/api/v1/autopilot/decision/${repositoryId}`, {
|
|
199
|
-
method: 'POST',
|
|
200
|
-
body,
|
|
201
|
-
});
|
|
202
|
-
if (!response.ok) {
|
|
203
|
-
const error = await response.json();
|
|
204
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.SYSTEM_ERROR, error.error || 'Failed to make decision');
|
|
205
|
-
}
|
|
206
|
-
const data = await response.json();
|
|
207
|
-
displayDecision(data.decision, options);
|
|
208
|
-
// Exit with appropriate code
|
|
209
|
-
if (data.decision.decision === 'FAIL') {
|
|
210
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.POLICY_FAIL, 'Deploy blocked by Autopilot');
|
|
211
|
-
}
|
|
212
|
-
else if (data.decision.decision === 'WARN') {
|
|
213
|
-
process.exit(1);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
catch (error) {
|
|
217
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.SYSTEM_ERROR, error.message || 'Failed to make decision');
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Get decision history
|
|
222
|
-
*/
|
|
223
|
-
async function getDecisionHistory(repositoryId, options) {
|
|
224
|
-
try {
|
|
225
|
-
const limit = options.limit ? parseInt(options.limit, 10) : 20;
|
|
226
|
-
const response = await apiRequest(`/api/v1/autopilot/decisions/${repositoryId}?limit=${limit}`);
|
|
227
|
-
if (!response.ok) {
|
|
228
|
-
const error = await response.json();
|
|
229
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.SYSTEM_ERROR, error.error || 'Failed to get decision history');
|
|
230
|
-
}
|
|
231
|
-
const data = await response.json();
|
|
232
|
-
if (options.json) {
|
|
233
|
-
console.log(JSON.stringify(data.decisions, null, 2));
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
console.log(`\n${c.dim('─'.repeat(80))}`);
|
|
237
|
-
console.log(`${c.bold('📋 DECISION HISTORY')}`);
|
|
238
|
-
console.log(`${c.dim('─'.repeat(80))}\n`);
|
|
239
|
-
if (data.decisions.length === 0) {
|
|
240
|
-
console.log(` ${c.dim('No decisions found')}\n`);
|
|
241
|
-
return;
|
|
242
|
-
}
|
|
243
|
-
console.log(`${c.bold('ID')} ${c.bold('Decision')} ${c.bold('Score')} ${c.bold('Deploy')} ${c.bold('Created')}`);
|
|
244
|
-
console.log(`${c.dim('─'.repeat(80))}`);
|
|
245
|
-
data.decisions.forEach((d) => {
|
|
246
|
-
const id = d.id.substring(0, 8) + '...';
|
|
247
|
-
const decision = formatDecisionState(d.decision);
|
|
248
|
-
const score = formatScore(d.score);
|
|
249
|
-
const deploy = d.deployAllowed ? c.success('Yes') : c.error('No');
|
|
250
|
-
const created = new Date(d.createdAt).toLocaleString();
|
|
251
|
-
console.log(`${id} ${decision} ${score} ${deploy} ${c.dim(created)}`);
|
|
252
|
-
});
|
|
253
|
-
console.log(`${c.dim('─'.repeat(80))}\n`);
|
|
254
|
-
}
|
|
255
|
-
catch (error) {
|
|
256
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.SYSTEM_ERROR, error.message || 'Failed to get decision history');
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
/**
|
|
260
|
-
* Register the autopilot-decision command
|
|
261
|
-
*/
|
|
262
|
-
function registerAutopilotDecisionCommand(program, requireAuth) {
|
|
263
|
-
program
|
|
264
|
-
.command('autopilot-decision')
|
|
265
|
-
.alias('decision')
|
|
266
|
-
.description('Check Autopilot deployment decisions (PRO feature)')
|
|
267
|
-
.addHelpText('after', `
|
|
268
|
-
Examples:
|
|
269
|
-
$ guardrail autopilot-decision --repository-id=<id> Get latest decision
|
|
270
|
-
$ guardrail autopilot-decision --repository-id=<id> --scan-id=<id> Make decision from scan
|
|
271
|
-
$ guardrail autopilot-decision --repository-id=<id> --history Get decision history
|
|
272
|
-
$ guardrail autopilot-decision --repository-id=<id> --json Output as JSON
|
|
273
|
-
|
|
274
|
-
Features:
|
|
275
|
-
• Check deployment decisions (PASS/WARN/FAIL)
|
|
276
|
-
• View decision scores and explanations
|
|
277
|
-
• Get decision history
|
|
278
|
-
• Exit codes: 0 (PASS), 1 (WARN), 2 (FAIL/POLICY_FAIL)
|
|
279
|
-
• JSON output for CI/CD integration
|
|
280
|
-
`)
|
|
281
|
-
.option('-r, --repository-id <id>', 'Repository ID')
|
|
282
|
-
.option('-s, --scan-id <id>', 'Scan ID to make decision from')
|
|
283
|
-
.option('--commit-sha <sha>', 'Commit SHA')
|
|
284
|
-
.option('--branch <branch>', 'Branch name', 'main')
|
|
285
|
-
.option('--history', 'Get decision history')
|
|
286
|
-
.option('--limit <number>', 'Limit results (for history)', '20')
|
|
287
|
-
.option('--json', 'Output as JSON', false)
|
|
288
|
-
.action(async (opts) => {
|
|
289
|
-
requireAuth();
|
|
290
|
-
if (!opts.repositoryId) {
|
|
291
|
-
(0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.USER_ERROR, 'Repository ID is required');
|
|
292
|
-
}
|
|
293
|
-
if (opts.history) {
|
|
294
|
-
await getDecisionHistory(opts.repositoryId, opts);
|
|
295
|
-
}
|
|
296
|
-
else if (opts.scanId) {
|
|
297
|
-
await makeDecision(opts.repositoryId, opts.scanId, opts);
|
|
298
|
-
}
|
|
299
|
-
else {
|
|
300
|
-
await getLatestDecision(opts.repositoryId, opts);
|
|
301
|
-
}
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
//# sourceMappingURL=autopilot-decision.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autopilot-decision.js","sourceRoot":"","sources":["../../src/commands/autopilot-decision.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* autopilot command
|
|
3
|
-
*
|
|
4
|
-
* Purpose:
|
|
5
|
-
* Orchestrates the Autopilot batch remediation system that:
|
|
6
|
-
* 1. Scans the project for issues
|
|
7
|
-
* 2. Groups findings into fix packs by strategy
|
|
8
|
-
* 3. Applies fixes in batches with verification
|
|
9
|
-
* 4. Rolls back on verification failure
|
|
10
|
-
*
|
|
11
|
-
* Usage:
|
|
12
|
-
* guardrail autopilot [--dry-run] [--interactive] [--max-fixes=N] [--evidence]
|
|
13
|
-
*
|
|
14
|
-
* Failure modes:
|
|
15
|
-
* - Authentication/entitlement failures: exits with AUTH_FAILURE
|
|
16
|
-
* - Invalid project path: exits with USER_ERROR
|
|
17
|
-
* - Scan failures: exits with SYSTEM_ERROR
|
|
18
|
-
* - Verification failures in dry-run: shows plan but exits with POLICY_FAIL
|
|
19
|
-
* - Verification failures in apply mode: rolls back automatically, exits with POLICY_FAIL
|
|
20
|
-
* - Git operations failures: continues with backup-based rollback
|
|
21
|
-
*
|
|
22
|
-
* This is a PRO feature and requires autopilot entitlement.
|
|
23
|
-
*/
|
|
24
|
-
import { Command } from 'commander';
|
|
25
|
-
/**
|
|
26
|
-
* Main autopilot command handler with enhanced features
|
|
27
|
-
*/
|
|
28
|
-
export declare function runAutopilotCommand(projectPath: string, options: any): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Register the autopilot command
|
|
31
|
-
*/
|
|
32
|
-
export declare function registerAutopilotCommand(program: Command, requireAuth: () => any, printLogo: () => void): void;
|
|
33
|
-
//# sourceMappingURL=autopilot.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autopilot.d.ts","sourceRoot":"","sources":["../../src/commands/autopilot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA82CpC;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,CAAC,CA4ef;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,EACtB,SAAS,EAAE,MAAM,IAAI,GACpB,IAAI,CAqJN"}
|